diff options
author | Marcus Huderle <huderlem@gmail.com> | 2018-10-13 16:02:10 -0500 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2018-10-13 16:02:10 -0500 |
commit | c2173930f0dadb6f24c7b76c2ab32dcca0c42941 (patch) | |
tree | 372ef61cfe863df6fc186ca014069d6f8456e127 | |
parent | ecf4a06e944460dcf16c157cec7d73e7fd87cc3d (diff) |
Spaces -> tabs
-rwxr-xr-x | asm/macros.inc | 4 | ||||
-rwxr-xr-x | asm/main.s | 284780 | ||||
-rwxr-xr-x | asm/start.s | 198 | ||||
-rwxr-xr-x | asm/unknown_lib.s | 364 | ||||
-rwxr-xr-x | asm/unknown_lib_2.s | 68 |
5 files changed, 142707 insertions, 142707 deletions
diff --git a/asm/macros.inc b/asm/macros.inc index 40605d2..17e3405 100755 --- a/asm/macros.inc +++ b/asm/macros.inc @@ -1,2 +1,2 @@ - .include "asm/macros/function.inc" - .include "asm/macros/label.inc" + .include "asm/macros/function.inc" + .include "asm/macros/label.inc" @@ -1,535 +1,535 @@ - .include "asm/macros.inc" + .include "asm/macros.inc" - .syntax unified + .syntax unified - .text + .text - thumb_func_start sub_24C + thumb_func_start sub_24C sub_24C: @ 0x0800024C - push {r4, r5, r6, lr} - ldr r3, _080002A4 @ =0x04000050 - movs r0, #0 - strh r0, [r3] - ldr r4, _080002A8 @ =0x04000054 - movs r0, #0x10 - strh r0, [r4] - movs r2, #0x80 - lsls r2, r2, #0x13 - ldrh r1, [r2] - movs r0, #0xf8 - lsls r0, r0, #5 - ands r0, r1 - lsrs r0, r0, #8 - movs r1, #0xa0 - orrs r0, r1 - strh r0, [r3] - ldrh r1, [r2] - ldr r0, _080002AC @ =0x0000FF7F - ands r0, r1 - strh r0, [r2] - ldr r1, _080002B0 @ =0x0200B0C0 - ldrh r0, [r2] - strh r0, [r1, #0x16] - movs r5, #0 - adds r6, r4, #0 - movs r4, #0xf + push {r4, r5, r6, lr} + ldr r3, _080002A4 @ =0x04000050 + movs r0, #0 + strh r0, [r3] + ldr r4, _080002A8 @ =0x04000054 + movs r0, #0x10 + strh r0, [r4] + movs r2, #0x80 + lsls r2, r2, #0x13 + ldrh r1, [r2] + movs r0, #0xf8 + lsls r0, r0, #5 + ands r0, r1 + lsrs r0, r0, #8 + movs r1, #0xa0 + orrs r0, r1 + strh r0, [r3] + ldrh r1, [r2] + ldr r0, _080002AC @ =0x0000FF7F + ands r0, r1 + strh r0, [r2] + ldr r1, _080002B0 @ =0x0200B0C0 + ldrh r0, [r2] + strh r0, [r1, #0x16] + movs r5, #0 + adds r6, r4, #0 + movs r4, #0xf _08000282: - lsrs r0, r5, #1 - subs r0, r4, r0 - strh r0, [r6] - bl sub_D74 - adds r0, r5, #1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - cmp r5, #0x1f - bls _08000282 - ldr r1, _080002A4 @ =0x04000050 - movs r0, #0 - strh r0, [r1] - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + lsrs r0, r5, #1 + subs r0, r4, r0 + strh r0, [r6] + bl sub_D74 + adds r0, r5, #1 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + cmp r5, #0x1f + bls _08000282 + ldr r1, _080002A4 @ =0x04000050 + movs r0, #0 + strh r0, [r1] + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _080002A4: .4byte 0x04000050 _080002A8: .4byte 0x04000054 _080002AC: .4byte 0x0000FF7F _080002B0: .4byte 0x0200B0C0 - thumb_func_start sub_2B4 + thumb_func_start sub_2B4 sub_2B4: @ 0x080002B4 - push {r4, r5, lr} - sub sp, #4 - ldr r3, _08000344 @ =0x04000050 - movs r0, #0 - strh r0, [r3] - ldr r2, _08000348 @ =0x04000054 - strh r0, [r2] - movs r0, #0x80 - lsls r0, r0, #0x13 - ldrh r1, [r0] - movs r0, #0xf8 - lsls r0, r0, #5 - ands r0, r1 - lsrs r0, r0, #8 - movs r1, #0xa0 - orrs r0, r1 - strh r0, [r3] - movs r4, #0 - adds r5, r2, #0 + push {r4, r5, lr} + sub sp, #4 + ldr r3, _08000344 @ =0x04000050 + movs r0, #0 + strh r0, [r3] + ldr r2, _08000348 @ =0x04000054 + strh r0, [r2] + movs r0, #0x80 + lsls r0, r0, #0x13 + ldrh r1, [r0] + movs r0, #0xf8 + lsls r0, r0, #5 + ands r0, r1 + lsrs r0, r0, #8 + movs r1, #0xa0 + orrs r0, r1 + strh r0, [r3] + movs r4, #0 + adds r5, r2, #0 _080002DA: - adds r4, #1 - strh r4, [r5] - bl sub_D74 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - cmp r4, #0xf - bls _080002DA - ldr r1, _0800034C @ =0x0200B0C0 - ldrh r0, [r1, #0x16] - movs r3, #0x80 - movs r2, #0 - orrs r0, r3 - strh r0, [r1, #0x16] - movs r1, #0x80 - lsls r1, r1, #0x13 - ldrh r0, [r1] - orrs r0, r3 - strh r0, [r1] - mov r0, sp - strh r2, [r0] - adds r1, #0xd4 - str r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _08000350 @ =0x8100C000 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08000354 @ =0x04000010 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #0x32 - strh r2, [r0] - adds r0, #4 - strh r2, [r0] - add sp, #4 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + adds r4, #1 + strh r4, [r5] + bl sub_D74 + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + cmp r4, #0xf + bls _080002DA + ldr r1, _0800034C @ =0x0200B0C0 + ldrh r0, [r1, #0x16] + movs r3, #0x80 + movs r2, #0 + orrs r0, r3 + strh r0, [r1, #0x16] + movs r1, #0x80 + lsls r1, r1, #0x13 + ldrh r0, [r1] + orrs r0, r3 + strh r0, [r1] + mov r0, sp + strh r2, [r0] + adds r1, #0xd4 + str r0, [r1] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _08000350 @ =0x8100C000 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08000354 @ =0x04000010 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #0x32 + strh r2, [r0] + adds r0, #4 + strh r2, [r0] + add sp, #4 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08000344: .4byte 0x04000050 _08000348: .4byte 0x04000054 _0800034C: .4byte 0x0200B0C0 _08000350: .4byte 0x8100C000 _08000354: .4byte 0x04000010 - thumb_func_start sub_358 + thumb_func_start sub_358 sub_358: @ 0x08000358 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x10 - str r0, [sp] - str r2, [sp, #8] - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - str r1, [sp, #4] - ldr r4, _08000424 @ =0x03005000 - movs r7, #0 - ldr r2, _08000428 @ =0x040000D4 - ldr r0, _0800042C @ =0x08057C46 - str r0, [r2] - str r4, [r2, #4] - ldr r0, _08000430 @ =0x80000200 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r1, #0 - ldr r0, [sp, #4] - cmp r7, r0 - bhs _0800040E - mov ip, r2 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x10 + str r0, [sp] + str r2, [sp, #8] + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + str r1, [sp, #4] + ldr r4, _08000424 @ =0x03005000 + movs r7, #0 + ldr r2, _08000428 @ =0x040000D4 + ldr r0, _0800042C @ =0x08057C46 + str r0, [r2] + str r4, [r2, #4] + ldr r0, _08000430 @ =0x80000200 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r1, #0 + ldr r0, [sp, #4] + cmp r7, r0 + bhs _0800040E + mov ip, r2 _0800038A: - movs r0, #0xb8 - muls r0, r1, r0 - ldr r2, [sp, #8] - adds r6, r2, r0 - ldrh r0, [r6] - adds r2, r1, #1 - str r2, [sp, #0xc] - cmp r0, #0 - beq _08000402 - lsls r0, r1, #2 - ldr r1, [sp] - adds r0, r0, r1 - ldr r0, [r0] - ldrh r5, [r0] - adds r0, #2 - mov r2, ip - str r0, [r2] - lsls r0, r7, #3 - ldr r1, _08000424 @ =0x03005000 - adds r0, r0, r1 - str r0, [r2, #4] - lsls r0, r5, #2 - movs r1, #0x80 - lsls r1, r1, #0x18 - orrs r0, r1 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r3, #0 - cmp r3, r5 - bhs _08000402 - ldr r2, _08000424 @ =0x03005000 - mov sb, r2 - ldr r0, _08000434 @ =0x000001FF - mov sl, r0 - movs r1, #0xff - mov r8, r1 + movs r0, #0xb8 + muls r0, r1, r0 + ldr r2, [sp, #8] + adds r6, r2, r0 + ldrh r0, [r6] + adds r2, r1, #1 + str r2, [sp, #0xc] + cmp r0, #0 + beq _08000402 + lsls r0, r1, #2 + ldr r1, [sp] + adds r0, r0, r1 + ldr r0, [r0] + ldrh r5, [r0] + adds r0, #2 + mov r2, ip + str r0, [r2] + lsls r0, r7, #3 + ldr r1, _08000424 @ =0x03005000 + adds r0, r0, r1 + str r0, [r2, #4] + lsls r0, r5, #2 + movs r1, #0x80 + lsls r1, r1, #0x18 + orrs r0, r1 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r3, #0 + cmp r3, r5 + bhs _08000402 + ldr r2, _08000424 @ =0x03005000 + mov sb, r2 + ldr r0, _08000434 @ =0x000001FF + mov sl, r0 + movs r1, #0xff + mov r8, r1 _080003D2: - adds r2, r7, #0 - lsls r0, r2, #3 - mov r1, sb - adds r4, r0, r1 - lsls r1, r3, #3 - adds r1, #8 - adds r1, r6, r1 - adds r0, r2, #1 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - strh r2, [r1] - ldrh r2, [r4, #2] - mov r0, sl - ands r0, r2 - strh r0, [r1, #2] - ldrh r2, [r4] - mov r0, r8 - ands r0, r2 - strh r0, [r1, #4] - adds r0, r3, #1 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - cmp r3, r5 - blo _080003D2 + adds r2, r7, #0 + lsls r0, r2, #3 + mov r1, sb + adds r4, r0, r1 + lsls r1, r3, #3 + adds r1, #8 + adds r1, r6, r1 + adds r0, r2, #1 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + strh r2, [r1] + ldrh r2, [r4, #2] + mov r0, sl + ands r0, r2 + strh r0, [r1, #2] + ldrh r2, [r4] + mov r0, r8 + ands r0, r2 + strh r0, [r1, #4] + adds r0, r3, #1 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + cmp r3, r5 + blo _080003D2 _08000402: - ldr r2, [sp, #0xc] - lsls r0, r2, #0x10 - lsrs r1, r0, #0x10 - ldr r0, [sp, #4] - cmp r1, r0 - blo _0800038A + ldr r2, [sp, #0xc] + lsls r0, r2, #0x10 + lsrs r1, r0, #0x10 + ldr r0, [sp, #4] + cmp r1, r0 + blo _0800038A _0800040E: - lsls r0, r7, #0x10 - asrs r0, r0, #0x10 - add sp, #0x10 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - .align 2, 0 + lsls r0, r7, #0x10 + asrs r0, r0, #0x10 + add sp, #0x10 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + .align 2, 0 _08000424: .4byte 0x03005000 _08000428: .4byte 0x040000D4 _0800042C: .4byte 0x08057C46 _08000430: .4byte 0x80000200 _08000434: .4byte 0x000001FF - thumb_func_start sub_438 + thumb_func_start sub_438 sub_438: @ 0x08000438 - push {r4, r5, r6, lr} - ldr r4, _0800048C @ =0x0200B0C0 - ldrh r0, [r4, #0x16] - movs r2, #0x80 - movs r6, #0 - movs r5, #0 - orrs r0, r2 - strh r0, [r4, #0x16] - movs r1, #0x80 - lsls r1, r1, #0x13 - ldrh r0, [r1] - orrs r0, r2 - strh r0, [r1] - bl sub_490 - bl sub_518 - bl sub_578 - strb r6, [r4, #0xf] - strb r6, [r4, #0x10] - str r5, [r4, #0x50] - strb r6, [r4, #0x11] - strh r5, [r4, #0x12] - strh r5, [r4, #0x14] - movs r0, #0x90 - strh r0, [r4, #0x26] - strh r5, [r4, #0x28] - strh r5, [r4, #0x2a] - adds r0, r4, #0 - adds r0, #0x36 - strb r6, [r0] - ldrh r0, [r4, #0x38] - strh r5, [r4, #0x38] - ldrh r0, [r4, #0x3a] - strh r5, [r4, #0x3a] - ldrh r0, [r4, #0x3c] - strh r5, [r4, #0x3c] - strh r5, [r4, #0x2c] - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + ldr r4, _0800048C @ =0x0200B0C0 + ldrh r0, [r4, #0x16] + movs r2, #0x80 + movs r6, #0 + movs r5, #0 + orrs r0, r2 + strh r0, [r4, #0x16] + movs r1, #0x80 + lsls r1, r1, #0x13 + ldrh r0, [r1] + orrs r0, r2 + strh r0, [r1] + bl sub_490 + bl sub_518 + bl sub_578 + strb r6, [r4, #0xf] + strb r6, [r4, #0x10] + str r5, [r4, #0x50] + strb r6, [r4, #0x11] + strh r5, [r4, #0x12] + strh r5, [r4, #0x14] + movs r0, #0x90 + strh r0, [r4, #0x26] + strh r5, [r4, #0x28] + strh r5, [r4, #0x2a] + adds r0, r4, #0 + adds r0, #0x36 + strb r6, [r0] + ldrh r0, [r4, #0x38] + strh r5, [r4, #0x38] + ldrh r0, [r4, #0x3a] + strh r5, [r4, #0x3a] + ldrh r0, [r4, #0x3c] + strh r5, [r4, #0x3c] + strh r5, [r4, #0x2c] + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0800048C: .4byte 0x0200B0C0 - thumb_func_start sub_490 + thumb_func_start sub_490 sub_490: @ 0x08000490 - sub sp, #8 - mov r1, sp - movs r0, #0 - strh r0, [r1] - ldr r1, _08000504 @ =0x040000D4 - mov r0, sp - str r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _08000508 @ =0x8100C000 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r2, #0 - str r2, [sp, #4] - add r0, sp, #4 - str r0, [r1] - movs r0, #0xe0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _0800050C @ =0x85000100 - str r0, [r1, #8] - ldr r0, [r1, #8] - mov r0, sp - strh r2, [r0] - str r0, [r1] - movs r0, #0xa0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _08000510 @ =0x81000200 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08000514 @ =0x04000010 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #0x32 - strh r2, [r0] - adds r0, #4 - strh r2, [r0] - subs r0, #0x50 - strh r2, [r0] - adds r0, #0x4e - strh r2, [r0] - add sp, #8 - bx lr - .align 2, 0 + sub sp, #8 + mov r1, sp + movs r0, #0 + strh r0, [r1] + ldr r1, _08000504 @ =0x040000D4 + mov r0, sp + str r0, [r1] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _08000508 @ =0x8100C000 + str r0, [r1, #8] + ldr r0, [r1, #8] + movs r2, #0 + str r2, [sp, #4] + add r0, sp, #4 + str r0, [r1] + movs r0, #0xe0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _0800050C @ =0x85000100 + str r0, [r1, #8] + ldr r0, [r1, #8] + mov r0, sp + strh r2, [r0] + str r0, [r1] + movs r0, #0xa0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _08000510 @ =0x81000200 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08000514 @ =0x04000010 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #0x32 + strh r2, [r0] + adds r0, #4 + strh r2, [r0] + subs r0, #0x50 + strh r2, [r0] + adds r0, #0x4e + strh r2, [r0] + add sp, #8 + bx lr + .align 2, 0 _08000504: .4byte 0x040000D4 _08000508: .4byte 0x8100C000 _0800050C: .4byte 0x85000100 _08000510: .4byte 0x81000200 _08000514: .4byte 0x04000010 - thumb_func_start sub_518 + thumb_func_start sub_518 sub_518: @ 0x08000518 - push {r4, r5, r6, lr} - sub sp, #4 - mov r1, sp - movs r0, #0 - strh r0, [r1] - ldr r1, _08000564 @ =0x040000D4 - mov r0, sp - str r0, [r1] - ldr r0, _08000568 @ =0x03005C00 - str r0, [r1, #4] - ldr r0, _0800056C @ =0x81000600 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r1, #0 - ldr r6, _08000570 @ =0x0200B0C0 - movs r5, #0xba - lsls r5, r5, #2 - movs r3, #0 - ldr r4, _08000574 @ =0x000002EA + push {r4, r5, r6, lr} + sub sp, #4 + mov r1, sp + movs r0, #0 + strh r0, [r1] + ldr r1, _08000564 @ =0x040000D4 + mov r0, sp + str r0, [r1] + ldr r0, _08000568 @ =0x03005C00 + str r0, [r1, #4] + ldr r0, _0800056C @ =0x81000600 + str r0, [r1, #8] + ldr r0, [r1, #8] + movs r1, #0 + ldr r6, _08000570 @ =0x0200B0C0 + movs r5, #0xba + lsls r5, r5, #2 + movs r3, #0 + ldr r4, _08000574 @ =0x000002EA _0800053E: - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #2 - adds r1, r1, r6 - adds r2, r1, r5 - strh r3, [r2] - adds r1, r1, r4 - strh r3, [r1] - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #3 - ble _0800053E - add sp, #4 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + lsls r0, r1, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #2 + adds r1, r1, r6 + adds r2, r1, r5 + strh r3, [r2] + adds r1, r1, r4 + strh r3, [r1] + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #3 + ble _0800053E + add sp, #4 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08000564: .4byte 0x040000D4 _08000568: .4byte 0x03005C00 _0800056C: .4byte 0x81000600 _08000570: .4byte 0x0200B0C0 _08000574: .4byte 0x000002EA - thumb_func_start sub_578 + thumb_func_start sub_578 sub_578: @ 0x08000578 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - movs r5, #0 - ldr r6, _08000660 @ =0x0200B0C0 - movs r0, #0xb8 - mov sb, r0 - movs r4, #0 - movs r1, #0xc0 - lsls r1, r1, #2 - mov r8, r1 - ldr r3, _08000664 @ =0x00000302 - mov ip, r3 - movs r7, #0xc1 - lsls r7, r7, #2 - mov sl, r7 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + movs r5, #0 + ldr r6, _08000660 @ =0x0200B0C0 + movs r0, #0xb8 + mov sb, r0 + movs r4, #0 + movs r1, #0xc0 + lsls r1, r1, #2 + mov r8, r1 + ldr r3, _08000664 @ =0x00000302 + mov ip, r3 + movs r7, #0xc1 + lsls r7, r7, #2 + mov sl, r7 _0800059C: - mov r2, sb - muls r2, r5, r2 - adds r1, r2, r6 - movs r3, #0xbe - lsls r3, r3, #2 - adds r0, r1, r3 - strh r4, [r0] - ldr r7, _08000668 @ =0x000002FA - adds r0, r1, r7 - strh r4, [r0] - movs r0, #0xbf - lsls r0, r0, #2 - adds r1, r1, r0 - strh r4, [r1] - movs r3, #0 + mov r2, sb + muls r2, r5, r2 + adds r1, r2, r6 + movs r3, #0xbe + lsls r3, r3, #2 + adds r0, r1, r3 + strh r4, [r0] + ldr r7, _08000668 @ =0x000002FA + adds r0, r1, r7 + strh r4, [r0] + movs r0, #0xbf + lsls r0, r0, #2 + adds r1, r1, r0 + strh r4, [r1] + movs r3, #0 _080005BA: - lsls r0, r3, #3 - adds r0, r0, r2 - adds r0, r0, r6 - mov r7, r8 - adds r1, r0, r7 - strh r4, [r1] - mov r7, ip - adds r1, r0, r7 - strh r4, [r1] - add r0, sl - strh r4, [r0] - adds r0, r3, #1 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - cmp r3, #0x15 - bls _080005BA - adds r0, r5, #1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - cmp r5, #0x63 - bls _0800059C - movs r5, #0 - mov sl, r5 - movs r0, #0xd - rsbs r0, r0, #0 - mov ip, r0 - movs r1, #0x11 - rsbs r1, r1, #0 - mov sb, r1 - movs r3, #0x21 - rsbs r3, r3, #0 - mov r8, r3 - movs r4, #0x3f - ldr r6, _0800066C @ =0xFFFFFE00 - adds r3, #0x12 + lsls r0, r3, #3 + adds r0, r0, r2 + adds r0, r0, r6 + mov r7, r8 + adds r1, r0, r7 + strh r4, [r1] + mov r7, ip + adds r1, r0, r7 + strh r4, [r1] + add r0, sl + strh r4, [r0] + adds r0, r3, #1 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + cmp r3, #0x15 + bls _080005BA + adds r0, r5, #1 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + cmp r5, #0x63 + bls _0800059C + movs r5, #0 + mov sl, r5 + movs r0, #0xd + rsbs r0, r0, #0 + mov ip, r0 + movs r1, #0x11 + rsbs r1, r1, #0 + mov sb, r1 + movs r3, #0x21 + rsbs r3, r3, #0 + mov r8, r3 + movs r4, #0x3f + ldr r6, _0800066C @ =0xFFFFFE00 + adds r3, #0x12 _08000600: - lsls r2, r5, #3 - ldr r7, _08000670 @ =0x03005000 - adds r2, r2, r7 - movs r0, #0xf4 - strb r0, [r2] - movs r0, #0 - strb r0, [r2, #1] - ldrh r1, [r2, #2] - adds r0, r6, #0 - ands r0, r1 - movs r7, #0xfa - lsls r7, r7, #1 - adds r1, r7, #0 - orrs r0, r1 - strh r0, [r2, #2] - ldrb r1, [r2, #3] - adds r0, r3, #0 - ands r0, r1 - mov r1, sb - ands r0, r1 - mov r7, r8 - ands r0, r7 - ands r0, r4 - strb r0, [r2, #3] - ldrh r1, [r2, #4] - ldr r0, _08000674 @ =0xFFFFFC00 - ands r0, r1 - strh r0, [r2, #4] - ldrb r1, [r2, #5] - mov r0, ip - ands r0, r1 - movs r1, #0xf - ands r0, r1 - strb r0, [r2, #5] - mov r0, sl - strh r0, [r2, #6] - adds r0, r5, #1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - cmp r5, #0x7f - bls _08000600 - 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 + lsls r2, r5, #3 + ldr r7, _08000670 @ =0x03005000 + adds r2, r2, r7 + movs r0, #0xf4 + strb r0, [r2] + movs r0, #0 + strb r0, [r2, #1] + ldrh r1, [r2, #2] + adds r0, r6, #0 + ands r0, r1 + movs r7, #0xfa + lsls r7, r7, #1 + adds r1, r7, #0 + orrs r0, r1 + strh r0, [r2, #2] + ldrb r1, [r2, #3] + adds r0, r3, #0 + ands r0, r1 + mov r1, sb + ands r0, r1 + mov r7, r8 + ands r0, r7 + ands r0, r4 + strb r0, [r2, #3] + ldrh r1, [r2, #4] + ldr r0, _08000674 @ =0xFFFFFC00 + ands r0, r1 + strh r0, [r2, #4] + ldrb r1, [r2, #5] + mov r0, ip + ands r0, r1 + movs r1, #0xf + ands r0, r1 + strb r0, [r2, #5] + mov r0, sl + strh r0, [r2, #6] + adds r0, r5, #1 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + cmp r5, #0x7f + bls _08000600 + 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 _08000660: .4byte 0x0200B0C0 _08000664: .4byte 0x00000302 _08000668: .4byte 0x000002FA @@ -537,430 +537,430 @@ _0800066C: .4byte 0xFFFFFE00 _08000670: .4byte 0x03005000 _08000674: .4byte 0xFFFFFC00 - thumb_func_start sub_678 + thumb_func_start sub_678 sub_678: @ 0x08000678 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r4, r1, #0 - adds r5, r2, #0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - lsls r5, r5, #0x10 - lsrs r5, r5, #0x10 - bl sub_55A24 - subs r0, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - lsls r4, r4, #0x10 - asrs r4, r4, #0xb - lsls r5, r5, #0x10 - asrs r5, r5, #0x10 - adds r4, r4, r5 - lsls r4, r4, #1 - ldr r0, _080006C4 @ =0x03005C00 - adds r4, r4, r0 + push {r4, r5, r6, lr} + adds r6, r0, #0 + adds r4, r1, #0 + adds r5, r2, #0 + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + lsls r5, r5, #0x10 + lsrs r5, r5, #0x10 + bl sub_55A24 + subs r0, #1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + lsls r4, r4, #0x10 + asrs r4, r4, #0xb + lsls r5, r5, #0x10 + asrs r5, r5, #0x10 + adds r4, r4, r5 + lsls r4, r4, #1 + ldr r0, _080006C4 @ =0x03005C00 + adds r4, r4, r0 _080006A2: - ldrb r0, [r6] - subs r0, #0x20 - strh r0, [r4] - adds r6, #1 - adds r4, #2 - adds r1, r2, #0 - lsls r0, r1, #0x10 - ldr r2, _080006C8 @ =0xFFFF0000 - adds r0, r0, r2 - lsrs r2, r0, #0x10 - lsls r1, r1, #0x10 - cmp r1, #0 - bgt _080006A2 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + ldrb r0, [r6] + subs r0, #0x20 + strh r0, [r4] + adds r6, #1 + adds r4, #2 + adds r1, r2, #0 + lsls r0, r1, #0x10 + ldr r2, _080006C8 @ =0xFFFF0000 + adds r0, r0, r2 + lsrs r2, r0, #0x10 + lsls r1, r1, #0x10 + cmp r1, #0 + bgt _080006A2 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _080006C4: .4byte 0x03005C00 _080006C8: .4byte 0xFFFF0000 - thumb_func_start sub_6CC + thumb_func_start sub_6CC sub_6CC: @ 0x080006CC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - adds r5, r1, #0 - adds r4, r2, #0 - lsls r3, r3, #0x10 - lsrs r3, r3, #0x10 - cmp r6, #0 - bge _080006E8 - movs r0, #0x2d - strb r0, [r5] - adds r5, #1 - rsbs r6, r6, #0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + adds r6, r0, #0 + adds r5, r1, #0 + adds r4, r2, #0 + lsls r3, r3, #0x10 + lsrs r3, r3, #0x10 + cmp r6, #0 + bge _080006E8 + movs r0, #0x2d + strb r0, [r5] + adds r5, #1 + rsbs r6, r6, #0 _080006E8: - lsls r7, r3, #0x10 - movs r0, #0x30 - mov r8, r0 + lsls r7, r3, #0x10 + movs r0, #0x30 + mov r8, r0 _080006EE: - cmp r4, #1 - ble _08000708 - subs r4, #1 - movs r0, #0xa - adds r1, r4, #0 - bl sub_780 - cmp r6, r0 - bge _08000708 - mov r0, r8 - strb r0, [r5] - adds r5, #1 - b _080006EE + cmp r4, #1 + ble _08000708 + subs r4, #1 + movs r0, #0xa + adds r1, r4, #0 + bl sub_780 + cmp r6, r0 + bge _08000708 + mov r0, r8 + strb r0, [r5] + adds r5, #1 + b _080006EE _08000708: - asrs r4, r7, #0x10 - cmp r4, #0 - beq _0800071A - adds r0, r6, #0 - adds r1, r5, #0 - movs r2, #0xa - bl sub_734 - b _08000726 + asrs r4, r7, #0x10 + cmp r4, #0 + beq _0800071A + adds r0, r6, #0 + adds r1, r5, #0 + movs r2, #0xa + bl sub_734 + b _08000726 _0800071A: - adds r0, r6, #0 - adds r1, r5, #0 - movs r2, #0xa - bl sub_734 - strb r4, [r0] + adds r0, r6, #0 + adds r1, r5, #0 + movs r2, #0xa + bl sub_734 + strb r4, [r0] _08000726: - adds r0, r5, #0 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_start sub_734 + adds r0, r5, #0 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_start sub_734 sub_734: @ 0x08000734 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - adds r7, r1, #0 - adds r6, r2, #0 - adds r1, r6, #0 - bl __umodsi3 - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - mov r8, r5 - adds r0, r4, #0 - adds r1, r6, #0 - bl __udivsi3 - cmp r0, #0 - beq _08000762 - adds r1, r7, #0 - adds r2, r6, #0 - bl sub_734 - adds r7, r0, #0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + adds r4, r0, #0 + adds r7, r1, #0 + adds r6, r2, #0 + adds r1, r6, #0 + bl __umodsi3 + lsls r0, r0, #0x18 + lsrs r5, r0, #0x18 + mov r8, r5 + adds r0, r4, #0 + adds r1, r6, #0 + bl __udivsi3 + cmp r0, #0 + beq _08000762 + adds r1, r7, #0 + adds r2, r6, #0 + bl sub_734 + adds r7, r0, #0 _08000762: - cmp r5, #9 - bhi _0800076C - adds r0, r5, #0 - adds r0, #0x30 - b _08000770 + cmp r5, #9 + bhi _0800076C + adds r0, r5, #0 + adds r0, #0x30 + b _08000770 _0800076C: - mov r0, r8 - adds r0, #0x57 + mov r0, r8 + adds r0, #0x57 _08000770: - strb r0, [r7] - adds r0, r7, #1 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_start sub_780 + strb r0, [r7] + adds r0, r7, #1 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_start sub_780 sub_780: @ 0x08000780 - push {r4, r5, lr} - adds r3, r0, #0 - adds r2, r1, #0 - cmp r1, #0 - bge _0800078C - rsbs r2, r1, #0 + push {r4, r5, lr} + adds r3, r0, #0 + adds r2, r1, #0 + cmp r1, #0 + bge _0800078C + rsbs r2, r1, #0 _0800078C: - movs r4, #1 - cmp r2, #0 - beq _080007AA - movs r5, #1 + movs r4, #1 + cmp r2, #0 + beq _080007AA + movs r5, #1 _08000794: - adds r0, r2, #0 - ands r0, r5 - cmp r0, #0 - beq _0800079E - muls r4, r3, r4 + adds r0, r2, #0 + ands r0, r5 + cmp r0, #0 + beq _0800079E + muls r4, r3, r4 _0800079E: - adds r0, r3, #0 - muls r0, r3, r0 - adds r3, r0, #0 - asrs r2, r2, #1 - cmp r2, #0 - bne _08000794 + adds r0, r3, #0 + muls r0, r3, r0 + adds r3, r0, #0 + asrs r2, r2, #1 + cmp r2, #0 + bne _08000794 _080007AA: - cmp r1, #0 - bge _080007B8 - movs r0, #1 - adds r1, r4, #0 - bl __divsi3 - b _080007BA + cmp r1, #0 + bge _080007B8 + movs r0, #1 + adds r1, r4, #0 + bl __divsi3 + b _080007BA _080007B8: - adds r0, r4, #0 + adds r0, r4, #0 _080007BA: - pop {r4, r5} - pop {r1} - bx r1 + pop {r4, r5} + pop {r1} + bx r1 - thumb_func_start sub_7C0 + thumb_func_start sub_7C0 sub_7C0: @ 0x080007C0 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - sub sp, #8 - adds r3, r0, #0 - adds r4, r1, #0 - adds r5, r2, #0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - lsls r5, r5, #0x10 - lsrs r5, r5, #0x10 - lsls r3, r3, #0x10 - asrs r3, r3, #0x10 - movs r0, #0x80 - lsls r0, r0, #9 - mov r8, r0 - adds r1, r3, #0 - bl __divsi3 - adds r6, r0, #0 - lsls r6, r6, #0x10 - lsrs r6, r6, #0x10 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - mov r0, r8 - adds r1, r4, #0 - bl __divsi3 - mov r1, sp - strh r6, [r1] - mov r4, sp - adds r4, #2 - movs r1, #0 - strh r1, [r4] - add r6, sp, #4 - strh r1, [r6] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r1, sp - adds r1, #6 - strh r0, [r1] - ldr r3, _0800084C @ =0x03005000 - lsls r5, r5, #0x10 - asrs r5, r5, #0x10 - lsls r1, r5, #5 - adds r1, r1, r3 - mov r2, sp - ldrh r2, [r2] - strh r2, [r1, #6] - lsls r5, r5, #2 - adds r1, r5, #1 - lsls r1, r1, #3 - adds r1, r1, r3 - ldrh r2, [r4] - strh r2, [r1, #6] - adds r1, r5, #2 - lsls r1, r1, #3 - adds r1, r1, r3 - ldrh r2, [r6] - strh r2, [r1, #6] - adds r5, #3 - lsls r5, r5, #3 - adds r5, r5, r3 - strh r0, [r5, #6] - add sp, #8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + sub sp, #8 + adds r3, r0, #0 + adds r4, r1, #0 + adds r5, r2, #0 + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + lsls r5, r5, #0x10 + lsrs r5, r5, #0x10 + lsls r3, r3, #0x10 + asrs r3, r3, #0x10 + movs r0, #0x80 + lsls r0, r0, #9 + mov r8, r0 + adds r1, r3, #0 + bl __divsi3 + adds r6, r0, #0 + lsls r6, r6, #0x10 + lsrs r6, r6, #0x10 + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + mov r0, r8 + adds r1, r4, #0 + bl __divsi3 + mov r1, sp + strh r6, [r1] + mov r4, sp + adds r4, #2 + movs r1, #0 + strh r1, [r4] + add r6, sp, #4 + strh r1, [r6] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov r1, sp + adds r1, #6 + strh r0, [r1] + ldr r3, _0800084C @ =0x03005000 + lsls r5, r5, #0x10 + asrs r5, r5, #0x10 + lsls r1, r5, #5 + adds r1, r1, r3 + mov r2, sp + ldrh r2, [r2] + strh r2, [r1, #6] + lsls r5, r5, #2 + adds r1, r5, #1 + lsls r1, r1, #3 + adds r1, r1, r3 + ldrh r2, [r4] + strh r2, [r1, #6] + adds r1, r5, #2 + lsls r1, r1, #3 + adds r1, r1, r3 + ldrh r2, [r6] + strh r2, [r1, #6] + adds r5, #3 + lsls r5, r5, #3 + adds r5, r5, r3 + strh r0, [r5, #6] + add sp, #8 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0800084C: .4byte 0x03005000 - thumb_func_start sub_850 + thumb_func_start sub_850 sub_850: @ 0x08000850 - ldr r0, _08000888 @ =0x04000208 - ldrh r1, [r0] - movs r2, #1 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _08000894 - ldr r0, _0800088C @ =0x04000004 - ldrh r1, [r0] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08000894 - ldr r0, _08000890 @ =0x04000200 - ldrh r1, [r0] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _08000894 - movs r0, #0x80 - lsls r0, r0, #0x13 - ldrh r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08000894 - movs r0, #1 - b _08000896 - .align 2, 0 + ldr r0, _08000888 @ =0x04000208 + ldrh r1, [r0] + movs r2, #1 + adds r0, r2, #0 + ands r0, r1 + cmp r0, #0 + beq _08000894 + ldr r0, _0800088C @ =0x04000004 + ldrh r1, [r0] + movs r0, #8 + ands r0, r1 + cmp r0, #0 + beq _08000894 + ldr r0, _08000890 @ =0x04000200 + ldrh r1, [r0] + adds r0, r2, #0 + ands r0, r1 + cmp r0, #0 + beq _08000894 + movs r0, #0x80 + lsls r0, r0, #0x13 + ldrh r1, [r0] + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + bne _08000894 + movs r0, #1 + b _08000896 + .align 2, 0 _08000888: .4byte 0x04000208 _0800088C: .4byte 0x04000004 _08000890: .4byte 0x04000200 _08000894: - movs r0, #0 + movs r0, #0 _08000896: - bx lr + bx lr - thumb_func_start sub_898 + thumb_func_start sub_898 sub_898: @ 0x08000898 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080008B4 @ =0x02017BD4 - str r4, [r0] - bl sub_850 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080008AE - ldr r0, _080008B8 @ =0x0200FB9C - str r4, [r0] + push {r4, lr} + adds r4, r0, #0 + ldr r0, _080008B4 @ =0x02017BD4 + str r4, [r0] + bl sub_850 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _080008AE + ldr r0, _080008B8 @ =0x0200FB9C + str r4, [r0] _080008AE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _080008B4: .4byte 0x02017BD4 _080008B8: .4byte 0x0200FB9C - thumb_func_start sub_8BC + thumb_func_start sub_8BC sub_8BC: @ 0x080008BC - ldr r0, _080008C8 @ =0x0200FB9C - ldr r1, _080008CC @ =sub_DC4 + 1 - str r1, [r0] - ldr r0, _080008D0 @ =0x02017BD4 - str r1, [r0] - bx lr - .align 2, 0 + ldr r0, _080008C8 @ =0x0200FB9C + ldr r1, _080008CC @ =sub_DC4 + 1 + str r1, [r0] + ldr r0, _080008D0 @ =0x02017BD4 + str r1, [r0] + bx lr + .align 2, 0 _080008C8: .4byte 0x0200FB9C _080008CC: .4byte sub_DC4 + 1 _080008D0: .4byte 0x02017BD4 - thumb_func_start sub_8D4 + thumb_func_start sub_8D4 sub_8D4: @ 0x080008D4 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080008F4 @ =0x02017BD0 - str r4, [r0] - bl sub_850 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080008EC - ldr r0, _080008F8 @ =0x0200FB98 - ldr r0, [r0] - str r4, [r0] + push {r4, lr} + adds r4, r0, #0 + ldr r0, _080008F4 @ =0x02017BD0 + str r4, [r0] + bl sub_850 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _080008EC + ldr r0, _080008F8 @ =0x0200FB98 + ldr r0, [r0] + str r4, [r0] _080008EC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _080008F4: .4byte 0x02017BD0 _080008F8: .4byte 0x0200FB98 - thumb_func_start sub_8FC + thumb_func_start sub_8FC sub_8FC: @ 0x080008FC - ldr r0, _0800090C @ =0x0200FB98 - ldr r0, [r0] - ldr r1, _08000910 @ =sub_A08 + 1 - str r1, [r0] - ldr r0, _08000914 @ =0x02017BD0 - str r1, [r0] - bx lr - .align 2, 0 + ldr r0, _0800090C @ =0x0200FB98 + ldr r0, [r0] + ldr r1, _08000910 @ =sub_A08 + 1 + str r1, [r0] + ldr r0, _08000914 @ =0x02017BD0 + str r1, [r0] + bx lr + .align 2, 0 _0800090C: .4byte 0x0200FB98 _08000910: .4byte sub_A08 + 1 _08000914: .4byte 0x02017BD0 - thumb_func_start sub_918 + thumb_func_start sub_918 sub_918: @ 0x08000918 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08000938 @ =0x0200FBA0 - str r4, [r0] - bl sub_850 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08000930 - ldr r0, _0800093C @ =0x02019BE0 - ldr r0, [r0] - str r4, [r0] + push {r4, lr} + adds r4, r0, #0 + ldr r0, _08000938 @ =0x0200FBA0 + str r4, [r0] + bl sub_850 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08000930 + ldr r0, _0800093C @ =0x02019BE0 + ldr r0, [r0] + str r4, [r0] _08000930: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08000938: .4byte 0x0200FBA0 _0800093C: .4byte 0x02019BE0 - thumb_func_start sub_940 + thumb_func_start sub_940 sub_940: @ 0x08000940 - ldr r0, _08000950 @ =0x02019BE0 - ldr r0, [r0] - ldr r1, _08000954 @ =sub_A20 + 1 - str r1, [r0] - ldr r0, _08000958 @ =0x0200FBA0 - str r1, [r0] - bx lr - .align 2, 0 + ldr r0, _08000950 @ =0x02019BE0 + ldr r0, [r0] + ldr r1, _08000954 @ =sub_A20 + 1 + str r1, [r0] + ldr r0, _08000958 @ =0x0200FBA0 + str r1, [r0] + bx lr + .align 2, 0 _08000950: .4byte 0x02019BE0 _08000954: .4byte sub_A20 + 1 _08000958: .4byte 0x0200FBA0 - thumb_func_start AgbMain + thumb_func_start AgbMain AgbMain: @ 0x0800095C - push {r4, r5, lr} - movs r0, #0xff - bl RegisterRamReset - bl sub_BBC - ldr r1, _080009A0 @ =0x040000D4 - ldr r0, _080009A4 @ =IntrMain - str r0, [r1] - ldr r2, _080009A8 @ =0x03005400 - str r2, [r1, #4] - ldr r0, _080009AC @ =0x84000200 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _080009B0 @ =0x03007FFC - str r2, [r0] - bl sub_B54 - bl sub_FE8 - ldr r5, _080009B4 @ =0x086A4AD8 - ldr r4, _080009B8 @ =0x0200B0C0 + push {r4, r5, lr} + movs r0, #0xff + bl RegisterRamReset + bl sub_BBC + ldr r1, _080009A0 @ =0x040000D4 + ldr r0, _080009A4 @ =IntrMain + str r0, [r1] + ldr r2, _080009A8 @ =0x03005400 + str r2, [r1, #4] + ldr r0, _080009AC @ =0x84000200 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _080009B0 @ =0x03007FFC + str r2, [r0] + bl sub_B54 + bl sub_FE8 + ldr r5, _080009B4 @ =0x086A4AD8 + ldr r4, _080009B8 @ =0x0200B0C0 _08000988: - bl sub_C8C - ldrb r0, [r4, #2] - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r0, [r0] - bl _call_via_r0 - bl sub_D74 - b _08000988 - .align 2, 0 + bl sub_C8C + ldrb r0, [r4, #2] + lsls r0, r0, #2 + adds r0, r0, r5 + ldr r0, [r0] + bl _call_via_r0 + bl sub_D74 + b _08000988 + .align 2, 0 _080009A0: .4byte 0x040000D4 _080009A4: .4byte IntrMain _080009A8: .4byte 0x03005400 @@ -969,473 +969,473 @@ _080009B0: .4byte 0x03007FFC _080009B4: .4byte 0x086A4AD8 _080009B8: .4byte 0x0200B0C0 - thumb_func_start sub_9BC + thumb_func_start sub_9BC sub_9BC: @ 0x080009BC - push {r4, lr} - ldr r4, _080009DC @ =0x0200B0C0 - ldrb r0, [r4, #3] - cmp r0, #0 - beq _080009E0 - cmp r0, #1 - beq _080009EE - bl sub_2B4 - bl sub_D10 - movs r0, #1 - bl sub_23C - b _080009FC - .align 2, 0 + push {r4, lr} + ldr r4, _080009DC @ =0x0200B0C0 + ldrb r0, [r4, #3] + cmp r0, #0 + beq _080009E0 + cmp r0, #1 + beq _080009EE + bl sub_2B4 + bl sub_D10 + movs r0, #1 + bl sub_23C + b _080009FC + .align 2, 0 _080009DC: .4byte 0x0200B0C0 _080009E0: - bl sub_CBC - bl sub_24C - ldrb r0, [r4, #3] - adds r0, #1 - b _080009FA + bl sub_CBC + bl sub_24C + ldrb r0, [r4, #3] + adds r0, #1 + b _080009FA _080009EE: - ldrh r1, [r4, #0x18] - ldr r0, _08000A04 @ =0x000003FF - ands r0, r1 - cmp r0, #0 - beq _080009FC - movs r0, #2 + ldrh r1, [r4, #0x18] + ldr r0, _08000A04 @ =0x000003FF + ands r0, r1 + cmp r0, #0 + beq _080009FC + movs r0, #2 _080009FA: - strb r0, [r4, #3] + strb r0, [r4, #3] _080009FC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08000A04: .4byte 0x000003FF - thumb_func_start sub_A08 + thumb_func_start sub_A08 sub_A08: @ 0x08000A08 - push {lr} - bl m4aSoundVSync - ldr r0, _08000A1C @ =0x03007FF8 - ldrh r1, [r0] - movs r2, #1 - orrs r1, r2 - strh r1, [r0] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl m4aSoundVSync + ldr r0, _08000A1C @ =0x03007FF8 + ldrh r1, [r0] + movs r2, #1 + orrs r1, r2 + strh r1, [r0] + pop {r0} + bx r0 + .align 2, 0 _08000A1C: .4byte 0x03007FF8 - thumb_func_start sub_A20 + thumb_func_start sub_A20 sub_A20: @ 0x08000A20 - push {r4, r5, lr} - ldr r2, _08000A78 @ =0x03007FF8 - ldrh r0, [r2] - movs r1, #4 - orrs r0, r1 - strh r0, [r2] - ldr r2, _08000A7C @ =0x04000004 - ldrh r1, [r2] - movs r0, #2 - ands r0, r1 - ldr r3, _08000A80 @ =0x0200B0C0 - cmp r0, #0 - bne _08000A46 - movs r4, #2 + push {r4, r5, lr} + ldr r2, _08000A78 @ =0x03007FF8 + ldrh r0, [r2] + movs r1, #4 + orrs r0, r1 + strh r0, [r2] + ldr r2, _08000A7C @ =0x04000004 + ldrh r1, [r2] + movs r0, #2 + ands r0, r1 + ldr r3, _08000A80 @ =0x0200B0C0 + cmp r0, #0 + bne _08000A46 + movs r4, #2 _08000A3C: - ldrh r1, [r2] - adds r0, r4, #0 - ands r0, r1 - cmp r0, #0 - beq _08000A3C + ldrh r1, [r2] + adds r0, r4, #0 + ands r0, r1 + cmp r0, #0 + beq _08000A3C _08000A46: - adds r2, r3, #0 - ldrb r0, [r2, #2] - cmp r0, #2 - bne _08000B2E - ldr r0, _08000A84 @ =0x04000010 - movs r4, #0 - strh r4, [r0] - movs r0, #0x28 - ldrsh r1, [r2, r0] - cmp r1, #0 - beq _08000AA0 - movs r1, #0x26 - ldrsh r0, [r2, r1] - cmp r0, #0x48 - bne _08000A8C - ldr r1, _08000A88 @ =0x04000012 - movs r3, #0x2a - ldrsh r0, [r2, r3] - lsls r0, r0, #2 - adds r0, #0x58 - strh r0, [r1] - movs r1, #0x90 - strh r1, [r2, #0x26] - b _08000B00 - .align 2, 0 + adds r2, r3, #0 + ldrb r0, [r2, #2] + cmp r0, #2 + bne _08000B2E + ldr r0, _08000A84 @ =0x04000010 + movs r4, #0 + strh r4, [r0] + movs r0, #0x28 + ldrsh r1, [r2, r0] + cmp r1, #0 + beq _08000AA0 + movs r1, #0x26 + ldrsh r0, [r2, r1] + cmp r0, #0x48 + bne _08000A8C + ldr r1, _08000A88 @ =0x04000012 + movs r3, #0x2a + ldrsh r0, [r2, r3] + lsls r0, r0, #2 + adds r0, #0x58 + strh r0, [r1] + movs r1, #0x90 + strh r1, [r2, #0x26] + b _08000B00 + .align 2, 0 _08000A78: .4byte 0x03007FF8 _08000A7C: .4byte 0x04000004 _08000A80: .4byte 0x0200B0C0 _08000A84: .4byte 0x04000010 _08000A88: .4byte 0x04000012 _08000A8C: - ldr r1, _08000A9C @ =0x04000012 - movs r5, #0xb0 - lsls r5, r5, #1 - adds r0, r5, #0 - strh r0, [r1] - movs r1, #0x48 - strh r1, [r2, #0x26] - b _08000B00 - .align 2, 0 + ldr r1, _08000A9C @ =0x04000012 + movs r5, #0xb0 + lsls r5, r5, #1 + adds r0, r5, #0 + strh r0, [r1] + movs r1, #0x48 + strh r1, [r2, #0x26] + b _08000B00 + .align 2, 0 _08000A9C: .4byte 0x04000012 _08000AA0: - movs r5, #0x2c - ldrsh r0, [r2, r5] - cmp r0, #0 - beq _08000B24 - movs r5, #0x26 - ldrsh r0, [r2, r5] - cmp r0, #0x28 - bne _08000ADC - ldrh r0, [r2, #0x38] - ldr r0, _08000AD0 @ =0x00001E41 - strh r0, [r2, #0x38] - ldrh r0, [r2, #0x3a] - ldr r0, _08000AD4 @ =0x00000A06 - strh r0, [r2, #0x3a] - ldr r1, _08000AD8 @ =0x04000050 - ldrh r0, [r2, #0x38] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r2, #0x3a] - strh r0, [r1] - movs r1, #0x90 - strh r1, [r2, #0x26] - b _08000B00 - .align 2, 0 + movs r5, #0x2c + ldrsh r0, [r2, r5] + cmp r0, #0 + beq _08000B24 + movs r5, #0x26 + ldrsh r0, [r2, r5] + cmp r0, #0x28 + bne _08000ADC + ldrh r0, [r2, #0x38] + ldr r0, _08000AD0 @ =0x00001E41 + strh r0, [r2, #0x38] + ldrh r0, [r2, #0x3a] + ldr r0, _08000AD4 @ =0x00000A06 + strh r0, [r2, #0x3a] + ldr r1, _08000AD8 @ =0x04000050 + ldrh r0, [r2, #0x38] + strh r0, [r1] + adds r1, #2 + ldrh r0, [r2, #0x3a] + strh r0, [r1] + movs r1, #0x90 + strh r1, [r2, #0x26] + b _08000B00 + .align 2, 0 _08000AD0: .4byte 0x00001E41 _08000AD4: .4byte 0x00000A06 _08000AD8: .4byte 0x04000050 _08000ADC: - ldrh r0, [r3, #0x38] - ldr r0, _08000B18 @ =0x00001E01 - strh r0, [r3, #0x38] - ldrh r0, [r3, #0x3a] - strh r1, [r3, #0x3a] - ldr r1, _08000B1C @ =0x04000050 - ldrh r0, [r3, #0x38] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r3, #0x3a] - strh r0, [r1] - subs r1, #0x40 - movs r2, #0xb0 - lsls r2, r2, #1 - adds r0, r2, #0 - strh r0, [r1] - movs r1, #0x28 - strh r1, [r3, #0x26] + ldrh r0, [r3, #0x38] + ldr r0, _08000B18 @ =0x00001E01 + strh r0, [r3, #0x38] + ldrh r0, [r3, #0x3a] + strh r1, [r3, #0x3a] + ldr r1, _08000B1C @ =0x04000050 + ldrh r0, [r3, #0x38] + strh r0, [r1] + adds r1, #2 + ldrh r0, [r3, #0x3a] + strh r0, [r1] + subs r1, #0x40 + movs r2, #0xb0 + lsls r2, r2, #1 + adds r0, r2, #0 + strh r0, [r1] + movs r1, #0x28 + strh r1, [r3, #0x26] _08000B00: - ldr r2, _08000B20 @ =0x04000004 - ldrh r3, [r2] - movs r0, #0xff - ands r0, r3 - strh r0, [r2] - lsls r1, r1, #8 - adds r1, #0x20 - ldrh r0, [r2] - orrs r1, r0 - strh r1, [r2] - b _08000B2E - .align 2, 0 + ldr r2, _08000B20 @ =0x04000004 + ldrh r3, [r2] + movs r0, #0xff + ands r0, r3 + strh r0, [r2] + lsls r1, r1, #8 + adds r1, #0x20 + ldrh r0, [r2] + orrs r1, r0 + strh r1, [r2] + b _08000B2E + .align 2, 0 _08000B18: .4byte 0x00001E01 _08000B1C: .4byte 0x04000050 _08000B20: .4byte 0x04000004 _08000B24: - ldr r1, _08000B34 @ =0x04000012 - movs r3, #0xb0 - lsls r3, r3, #1 - adds r0, r3, #0 - strh r0, [r1] + ldr r1, _08000B34 @ =0x04000012 + movs r3, #0xb0 + lsls r3, r3, #1 + adds r0, r3, #0 + strh r0, [r1] _08000B2E: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08000B34: .4byte 0x04000012 - thumb_func_start sub_B38 + thumb_func_start sub_B38 sub_B38: @ 0x08000B38 - push {lr} - bl sub_1F5C - pop {r0} - bx r0 + push {lr} + bl sub_1F5C + pop {r0} + bx r0 - thumb_func_start sub_B44 + thumb_func_start sub_B44 sub_B44: @ 0x08000B44 - push {lr} - bl sub_1F4C - pop {r0} - bx r0 + push {lr} + bl sub_1F4C + pop {r0} + bx r0 - thumb_func_start sub_B50 + thumb_func_start sub_B50 sub_B50: @ 0x08000B50 - bx lr + bx lr - thumb_func_start sub_B54 + thumb_func_start sub_B54 sub_B54: @ 0x08000B54 - push {lr} - ldr r1, _08000B84 @ =0x04000204 - ldr r2, _08000B88 @ =0x000045B6 - adds r0, r2, #0 - strh r0, [r1] - subs r1, #4 - movs r2, #0x80 - lsls r2, r2, #6 - adds r0, r2, #0 - strh r0, [r1] - adds r1, #8 - movs r0, #1 - strh r0, [r1] - bl sub_B8C - bl m4aSoundInit - bl m4aSoundVSyncOff - bl sub_52A18 - pop {r0} - bx r0 - .align 2, 0 + push {lr} + ldr r1, _08000B84 @ =0x04000204 + ldr r2, _08000B88 @ =0x000045B6 + adds r0, r2, #0 + strh r0, [r1] + subs r1, #4 + movs r2, #0x80 + lsls r2, r2, #6 + adds r0, r2, #0 + strh r0, [r1] + adds r1, #8 + movs r0, #1 + strh r0, [r1] + bl sub_B8C + bl m4aSoundInit + bl m4aSoundVSyncOff + bl sub_52A18 + pop {r0} + bx r0 + .align 2, 0 _08000B84: .4byte 0x04000204 _08000B88: .4byte 0x000045B6 - thumb_func_start sub_B8C + thumb_func_start sub_B8C sub_B8C: @ 0x08000B8C - push {lr} - ldr r0, _08000BB8 @ =0x0200B0C0 - movs r1, #0 - strb r1, [r0, #2] - strb r1, [r0, #3] - strh r1, [r0, #0x16] - strh r1, [r0, #0x1c] - strh r1, [r0, #0x18] - strh r1, [r0, #0x20] - str r1, [r0, #0x48] - str r1, [r0, #0x4c] - strh r1, [r0, #0x30] - movs r2, #0x90 - strh r2, [r0, #0x26] - strh r1, [r0, #0x2c] - bl sub_1090C - bl sub_438 - pop {r0} - bx r0 - .align 2, 0 + push {lr} + ldr r0, _08000BB8 @ =0x0200B0C0 + movs r1, #0 + strb r1, [r0, #2] + strb r1, [r0, #3] + strh r1, [r0, #0x16] + strh r1, [r0, #0x1c] + strh r1, [r0, #0x18] + strh r1, [r0, #0x20] + str r1, [r0, #0x48] + str r1, [r0, #0x4c] + strh r1, [r0, #0x30] + movs r2, #0x90 + strh r2, [r0, #0x26] + strh r1, [r0, #0x2c] + bl sub_1090C + bl sub_438 + pop {r0} + bx r0 + .align 2, 0 _08000BB8: .4byte 0x0200B0C0 - thumb_func_start sub_BBC + thumb_func_start sub_BBC sub_BBC: @ 0x08000BBC - push {r4, r5, r6, lr} - ldr r5, _08000BF0 @ =0x0200FB98 - ldr r2, _08000BF4 @ =0x02003068 - ldr r6, _08000BF8 @ =0x02019BE0 - ldr r4, _08000BFC @ =0x086A4AA0 - adds r3, r2, #0 - subs r3, #8 - movs r1, #0xd + push {r4, r5, r6, lr} + ldr r5, _08000BF0 @ =0x0200FB98 + ldr r2, _08000BF4 @ =0x02003068 + ldr r6, _08000BF8 @ =0x02019BE0 + ldr r4, _08000BFC @ =0x086A4AA0 + adds r3, r2, #0 + subs r3, #8 + movs r1, #0xd _08000BCC: - ldm r4!, {r0} - stm r3!, {r0} - subs r1, #1 - cmp r1, #0 - bge _08000BCC - str r2, [r5] - adds r0, r2, #0 - adds r0, #8 - str r0, [r6] - bl sub_8BC - bl sub_8FC - bl sub_940 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + ldm r4!, {r0} + stm r3!, {r0} + subs r1, #1 + cmp r1, #0 + bge _08000BCC + str r2, [r5] + adds r0, r2, #0 + adds r0, #8 + str r0, [r6] + bl sub_8BC + bl sub_8FC + bl sub_940 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08000BF0: .4byte 0x0200FB98 _08000BF4: .4byte 0x02003068 _08000BF8: .4byte 0x02019BE0 _08000BFC: .4byte 0x086A4AA0 - thumb_func_start sub_C00 + thumb_func_start sub_C00 sub_C00: @ 0x08000C00 - ldr r2, _08000C14 @ =0x0200B0C0 - ldr r1, [r2, #0x48] - ldr r0, _08000C18 @ =0x41C64E6D - muls r0, r1, r0 - ldr r1, _08000C1C @ =0x00003039 - adds r0, r0, r1 - str r0, [r2, #0x48] - ldr r1, _08000C20 @ =0x0000FFFF - ands r0, r1 - bx lr - .align 2, 0 + ldr r2, _08000C14 @ =0x0200B0C0 + ldr r1, [r2, #0x48] + ldr r0, _08000C18 @ =0x41C64E6D + muls r0, r1, r0 + ldr r1, _08000C1C @ =0x00003039 + adds r0, r0, r1 + str r0, [r2, #0x48] + ldr r1, _08000C20 @ =0x0000FFFF + ands r0, r1 + bx lr + .align 2, 0 _08000C14: .4byte 0x0200B0C0 _08000C18: .4byte 0x41C64E6D _08000C1C: .4byte 0x00003039 _08000C20: .4byte 0x0000FFFF - thumb_func_start sub_C24 + thumb_func_start sub_C24 sub_C24: @ 0x08000C24 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x12 - movs r3, #1 - ldr r0, _08000C60 @ =0x00001FFF - cmp r2, r0 - bls _08000C3A - ldr r1, _08000C64 @ =0xFFFFE000 - adds r0, r2, r1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - ldr r3, _08000C68 @ =0x0000FFFF + lsls r0, r0, #0x10 + lsrs r2, r0, #0x12 + movs r3, #1 + ldr r0, _08000C60 @ =0x00001FFF + cmp r2, r0 + bls _08000C3A + ldr r1, _08000C64 @ =0xFFFFE000 + adds r0, r2, r1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + ldr r3, _08000C68 @ =0x0000FFFF _08000C3A: - ldr r0, _08000C6C @ =0x00000FFF - cmp r2, r0 - bls _08000C4C - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r1, #0 - subs r0, r0, r2 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 + ldr r0, _08000C6C @ =0x00000FFF + cmp r2, r0 + bls _08000C4C + movs r1, #0x80 + lsls r1, r1, #6 + adds r0, r1, #0 + subs r0, r0, r2 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 _08000C4C: - ldr r1, _08000C70 @ =0x08055C44 - lsls r0, r2, #1 - adds r0, r0, r1 - ldrh r1, [r0] - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - bx lr - .align 2, 0 + ldr r1, _08000C70 @ =0x08055C44 + lsls r0, r2, #1 + adds r0, r0, r1 + ldrh r1, [r0] + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + bx lr + .align 2, 0 _08000C60: .4byte 0x00001FFF _08000C64: .4byte 0xFFFFE000 _08000C68: .4byte 0x0000FFFF _08000C6C: .4byte 0x00000FFF _08000C70: .4byte 0x08055C44 - thumb_func_start sub_C74 + thumb_func_start sub_C74 sub_C74: @ 0x08000C74 - push {lr} - lsls r0, r0, #0x10 - movs r1, #0x80 - lsls r1, r1, #0x17 - adds r0, r0, r1 - lsrs r0, r0, #0x10 - bl sub_C24 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - pop {r1} - bx r1 - - thumb_func_start sub_C8C + push {lr} + lsls r0, r0, #0x10 + movs r1, #0x80 + lsls r1, r1, #0x17 + adds r0, r0, r1 + lsrs r0, r0, #0x10 + bl sub_C24 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + pop {r1} + bx r1 + + thumb_func_start sub_C8C sub_C8C: @ 0x08000C8C - push {r4, lr} - ldr r0, _08000CB4 @ =0x04000130 - ldrh r2, [r0] - mvns r2, r2 - lsls r2, r2, #0x10 - lsrs r2, r2, #0x10 - ldr r3, _08000CB8 @ =0x0200B0C0 - ldrh r4, [r3, #0x1c] - adds r1, r2, #0 - eors r1, r4 - adds r0, r2, #0 - ands r0, r1 - strh r0, [r3, #0x18] - ands r1, r4 - strh r1, [r3, #0x1a] - strh r2, [r3, #0x1c] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + ldr r0, _08000CB4 @ =0x04000130 + ldrh r2, [r0] + mvns r2, r2 + lsls r2, r2, #0x10 + lsrs r2, r2, #0x10 + ldr r3, _08000CB8 @ =0x0200B0C0 + ldrh r4, [r3, #0x1c] + adds r1, r2, #0 + eors r1, r4 + adds r0, r2, #0 + ands r0, r1 + strh r0, [r3, #0x18] + ands r1, r4 + strh r1, [r3, #0x1a] + strh r2, [r3, #0x1c] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08000CB4: .4byte 0x04000130 _08000CB8: .4byte 0x0200B0C0 - thumb_func_start sub_CBC + thumb_func_start sub_CBC sub_CBC: @ 0x08000CBC - push {r4, lr} - ldr r3, _08000CFC @ =0x04000200 - ldrh r1, [r3] - movs r4, #1 - adds r0, r4, #0 - ands r0, r1 - cmp r0, #0 - bne _08000CF6 - ldr r1, _08000D00 @ =0x04000202 - ldrh r0, [r1] - movs r2, #5 - orrs r0, r2 - strh r0, [r1] - ldrh r1, [r3] - ldr r0, _08000D04 @ =0x00003FFF - ands r0, r1 - strh r0, [r3] - ldr r0, _08000D08 @ =0x04000208 - strh r4, [r0] - ldrh r0, [r3] - orrs r0, r2 - strh r0, [r3] - ldr r2, _08000D0C @ =0x04000004 - ldrh r0, [r2] - movs r1, #8 - orrs r0, r1 - strh r0, [r2] - bl m4aSoundVSyncOn + push {r4, lr} + ldr r3, _08000CFC @ =0x04000200 + ldrh r1, [r3] + movs r4, #1 + adds r0, r4, #0 + ands r0, r1 + cmp r0, #0 + bne _08000CF6 + ldr r1, _08000D00 @ =0x04000202 + ldrh r0, [r1] + movs r2, #5 + orrs r0, r2 + strh r0, [r1] + ldrh r1, [r3] + ldr r0, _08000D04 @ =0x00003FFF + ands r0, r1 + strh r0, [r3] + ldr r0, _08000D08 @ =0x04000208 + strh r4, [r0] + ldrh r0, [r3] + orrs r0, r2 + strh r0, [r3] + ldr r2, _08000D0C @ =0x04000004 + ldrh r0, [r2] + movs r1, #8 + orrs r0, r1 + strh r0, [r2] + bl m4aSoundVSyncOn _08000CF6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08000CFC: .4byte 0x04000200 _08000D00: .4byte 0x04000202 _08000D04: .4byte 0x00003FFF _08000D08: .4byte 0x04000208 _08000D0C: .4byte 0x04000004 - thumb_func_start sub_D10 + thumb_func_start sub_D10 sub_D10: @ 0x08000D10 - push {lr} - ldr r1, _08000D54 @ =0x04000004 - ldrh r2, [r1] - ldr r0, _08000D58 @ =0x0000FFF7 - ands r0, r2 - strh r0, [r1] - ldrh r2, [r1] - ldr r0, _08000D5C @ =0x0000FFDF - ands r0, r2 - strh r0, [r1] - ldr r1, _08000D60 @ =0x04000200 - ldrh r2, [r1] - ldr r0, _08000D64 @ =0x00003FFF - ands r0, r2 - strh r0, [r1] - ldrh r2, [r1] - ldr r0, _08000D68 @ =0x00003FFE - ands r0, r2 - strh r0, [r1] - ldrh r0, [r1] - adds r1, r0, #0 - cmp r1, #0 - bne _08000D42 - ldr r0, _08000D6C @ =0x04000208 - strh r1, [r0] + push {lr} + ldr r1, _08000D54 @ =0x04000004 + ldrh r2, [r1] + ldr r0, _08000D58 @ =0x0000FFF7 + ands r0, r2 + strh r0, [r1] + ldrh r2, [r1] + ldr r0, _08000D5C @ =0x0000FFDF + ands r0, r2 + strh r0, [r1] + ldr r1, _08000D60 @ =0x04000200 + ldrh r2, [r1] + ldr r0, _08000D64 @ =0x00003FFF + ands r0, r2 + strh r0, [r1] + ldrh r2, [r1] + ldr r0, _08000D68 @ =0x00003FFE + ands r0, r2 + strh r0, [r1] + ldrh r0, [r1] + adds r1, r0, #0 + cmp r1, #0 + bne _08000D42 + ldr r0, _08000D6C @ =0x04000208 + strh r1, [r0] _08000D42: - ldr r0, _08000D70 @ =0x04000202 - ldrh r1, [r0] - movs r2, #1 - orrs r1, r2 - strh r1, [r0] - bl m4aSoundVSyncOff - pop {r0} - bx r0 - .align 2, 0 + ldr r0, _08000D70 @ =0x04000202 + ldrh r1, [r0] + movs r2, #1 + orrs r1, r2 + strh r1, [r0] + bl m4aSoundVSyncOff + pop {r0} + bx r0 + .align 2, 0 _08000D54: .4byte 0x04000004 _08000D58: .4byte 0x0000FFF7 _08000D5C: .4byte 0x0000FFDF @@ -1445,35 +1445,35 @@ _08000D68: .4byte 0x00003FFE _08000D6C: .4byte 0x04000208 _08000D70: .4byte 0x04000202 - thumb_func_start sub_D74 + thumb_func_start sub_D74 sub_D74: @ 0x08000D74 - push {lr} - ldr r2, _08000DA8 @ =0x0200FB9C - ldr r0, _08000DAC @ =0x02017BD4 - ldr r0, [r0] - str r0, [r2] - ldr r0, _08000DB0 @ =0x0200FB98 - ldr r1, [r0] - ldr r0, _08000DB4 @ =0x02017BD0 - ldr r0, [r0] - str r0, [r1] - ldr r0, _08000DB8 @ =0x02019BE0 - ldr r1, [r0] - ldr r0, _08000DBC @ =0x0200FBA0 - ldr r0, [r0] - str r0, [r1] - ldr r2, [r2] - cmp r2, #0 - beq _08000D9C - bl _call_via_r2 + push {lr} + ldr r2, _08000DA8 @ =0x0200FB9C + ldr r0, _08000DAC @ =0x02017BD4 + ldr r0, [r0] + str r0, [r2] + ldr r0, _08000DB0 @ =0x0200FB98 + ldr r1, [r0] + ldr r0, _08000DB4 @ =0x02017BD0 + ldr r0, [r0] + str r0, [r1] + ldr r0, _08000DB8 @ =0x02019BE0 + ldr r1, [r0] + ldr r0, _08000DBC @ =0x0200FBA0 + ldr r0, [r0] + str r0, [r1] + ldr r2, [r2] + cmp r2, #0 + beq _08000D9C + bl _call_via_r2 _08000D9C: - ldr r1, _08000DC0 @ =0x0200B0C0 - ldr r0, [r1, #0x4c] - adds r0, #1 - str r0, [r1, #0x4c] - pop {r0} - bx r0 - .align 2, 0 + ldr r1, _08000DC0 @ =0x0200B0C0 + ldr r0, [r1, #0x4c] + adds r0, #1 + str r0, [r1, #0x4c] + pop {r0} + bx r0 + .align 2, 0 _08000DA8: .4byte 0x0200FB9C _08000DAC: .4byte 0x02017BD4 _08000DB0: .4byte 0x0200FB98 @@ -1482,187 +1482,187 @@ _08000DB8: .4byte 0x02019BE0 _08000DBC: .4byte 0x0200FBA0 _08000DC0: .4byte 0x0200B0C0 - thumb_func_start sub_DC4 + thumb_func_start sub_DC4 sub_DC4: @ 0x08000DC4 - push {r4, lr} - ldr r4, _08000E7C @ =0x04000004 - ldrh r1, [r4] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08000E76 - bl VBlankIntrWait - ldr r1, _08000E80 @ =0x040000D4 - ldr r0, _08000E84 @ =0x03005000 - str r0, [r1] - movs r0, #0xe0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _08000E88 @ =0x84000100 - str r0, [r1, #8] - ldr r0, [r1, #8] - subs r1, #0xd4 - ldr r2, _08000E8C @ =0x0200B0C0 - ldrh r0, [r2, #0x16] - strh r0, [r1] - adds r1, #0x10 - movs r3, #0xba - lsls r3, r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0x36 - ldrb r0, [r0] - cmp r0, #0 - beq _08000E5E - adds r1, #0x32 - ldrh r0, [r2, #0x38] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r2, #0x3a] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r2, #0x3c] - strh r0, [r1] + push {r4, lr} + ldr r4, _08000E7C @ =0x04000004 + ldrh r1, [r4] + movs r0, #8 + ands r0, r1 + cmp r0, #0 + beq _08000E76 + bl VBlankIntrWait + ldr r1, _08000E80 @ =0x040000D4 + ldr r0, _08000E84 @ =0x03005000 + str r0, [r1] + movs r0, #0xe0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _08000E88 @ =0x84000100 + str r0, [r1, #8] + ldr r0, [r1, #8] + subs r1, #0xd4 + ldr r2, _08000E8C @ =0x0200B0C0 + ldrh r0, [r2, #0x16] + strh r0, [r1] + adds r1, #0x10 + movs r3, #0xba + lsls r3, r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r0, r2, #0 + adds r0, #0x36 + ldrb r0, [r0] + cmp r0, #0 + beq _08000E5E + adds r1, #0x32 + ldrh r0, [r2, #0x38] + strh r0, [r1] + adds r1, #2 + ldrh r0, [r2, #0x3a] + strh r0, [r1] + adds r1, #2 + ldrh r0, [r2, #0x3c] + strh r0, [r1] _08000E5E: - ldrh r1, [r4] - movs r0, #0xff - ands r0, r1 - strh r0, [r4] - ldrh r0, [r2, #0x26] - lsls r0, r0, #8 - adds r0, #0x20 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - bl m4aSoundMain + ldrh r1, [r4] + movs r0, #0xff + ands r0, r1 + strh r0, [r4] + ldrh r0, [r2, #0x26] + lsls r0, r0, #8 + adds r0, #0x20 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + bl m4aSoundMain _08000E76: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08000E7C: .4byte 0x04000004 _08000E80: .4byte 0x040000D4 _08000E84: .4byte 0x03005000 _08000E88: .4byte 0x84000100 _08000E8C: .4byte 0x0200B0C0 - thumb_func_start sub_E90 + thumb_func_start sub_E90 sub_E90: @ 0x08000E90 - ldr r0, _08000EA8 @ =0x04000130 - ldrh r0, [r0] - ldr r2, _08000EAC @ =0x000003FF - adds r1, r2, #0 - eors r1, r0 - ldr r3, _08000EB0 @ =0x02002002 - ldr r2, _08000EB4 @ =0x02002000 - ldrh r0, [r2] - strh r0, [r3] - strh r1, [r2] - bx lr - .align 2, 0 + ldr r0, _08000EA8 @ =0x04000130 + ldrh r0, [r0] + ldr r2, _08000EAC @ =0x000003FF + adds r1, r2, #0 + eors r1, r0 + ldr r3, _08000EB0 @ =0x02002002 + ldr r2, _08000EB4 @ =0x02002000 + ldrh r0, [r2] + strh r0, [r3] + strh r1, [r2] + bx lr + .align 2, 0 _08000EA8: .4byte 0x04000130 _08000EAC: .4byte 0x000003FF _08000EB0: .4byte 0x02002002 _08000EB4: .4byte 0x02002000 - thumb_func_start sub_EB8 + thumb_func_start sub_EB8 sub_EB8: @ 0x08000EB8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - movs r7, #0 - movs r0, #0 - mov sl, r0 - mov sb, r0 - mov r8, r0 - bl VBlankIntrWait - ldr r0, _08000F30 @ =0x040000D4 - ldr r1, _08000F34 @ =0x08058248 - str r1, [r0] - ldr r1, _08000F38 @ =0x06008000 - str r1, [r0, #4] - ldr r1, _08000F3C @ =0x80002000 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _08000F40 @ =0x08058048 - str r1, [r0] - movs r1, #0xa0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r1, _08000F44 @ =0x80000100 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _08000F48 @ =0x0805C248 - str r1, [r0] - ldr r2, _08000F4C @ =0x02002008 - str r2, [r0, #4] - ldr r1, _08000F50 @ =0x80000280 - str r1, [r0, #8] - ldr r1, [r0, #8] - str r2, [r0] - movs r1, #0xc0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r1, _08000F54 @ =0x80000400 - str r1, [r0, #8] - ldr r0, [r0, #8] - ldr r1, _08000F58 @ =0x04000008 - movs r0, #0x88 - strh r0, [r1] - movs r4, #0 - ldr r6, _08000F5C @ =0x04000054 - movs r5, #0x10 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + movs r7, #0 + movs r0, #0 + mov sl, r0 + mov sb, r0 + mov r8, r0 + bl VBlankIntrWait + ldr r0, _08000F30 @ =0x040000D4 + ldr r1, _08000F34 @ =0x08058248 + str r1, [r0] + ldr r1, _08000F38 @ =0x06008000 + str r1, [r0, #4] + ldr r1, _08000F3C @ =0x80002000 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _08000F40 @ =0x08058048 + str r1, [r0] + movs r1, #0xa0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r1, _08000F44 @ =0x80000100 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _08000F48 @ =0x0805C248 + str r1, [r0] + ldr r2, _08000F4C @ =0x02002008 + str r2, [r0, #4] + ldr r1, _08000F50 @ =0x80000280 + str r1, [r0, #8] + ldr r1, [r0, #8] + str r2, [r0] + movs r1, #0xc0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r1, _08000F54 @ =0x80000400 + str r1, [r0, #8] + ldr r0, [r0, #8] + ldr r1, _08000F58 @ =0x04000008 + movs r0, #0x88 + strh r0, [r1] + movs r4, #0 + ldr r6, _08000F5C @ =0x04000054 + movs r5, #0x10 _08000F18: - bl VBlankIntrWait - subs r0, r5, r4 - strh r0, [r6] - adds r4, #1 - cmp r4, #0x10 - bls _08000F18 - ldr r6, _08000F60 @ =0x02002002 - ldr r5, _08000F64 @ =0x02002000 - ldr r4, _08000F30 @ =0x040000D4 - b _08000FA4 - .align 2, 0 + bl VBlankIntrWait + subs r0, r5, r4 + strh r0, [r6] + adds r4, #1 + cmp r4, #0x10 + bls _08000F18 + ldr r6, _08000F60 @ =0x02002002 + ldr r5, _08000F64 @ =0x02002000 + ldr r4, _08000F30 @ =0x040000D4 + b _08000FA4 + .align 2, 0 _08000F30: .4byte 0x040000D4 _08000F34: .4byte 0x08058248 _08000F38: .4byte 0x06008000 @@ -1678,149 +1678,149 @@ _08000F5C: .4byte 0x04000054 _08000F60: .4byte 0x02002002 _08000F64: .4byte 0x02002000 _08000F68: - ldrh r0, [r6] - ldrh r1, [r5] - eors r0, r1 - ands r0, r1 - movs r1, #0xf0 - ands r0, r1 - cmp r0, #0xf0 - bne _08000F7C - mov r8, sb - mov sb, r7 + ldrh r0, [r6] + ldrh r1, [r5] + eors r0, r1 + ands r0, r1 + movs r1, #0xf0 + ands r0, r1 + cmp r0, #0xf0 + bne _08000F7C + mov r8, sb + mov sb, r7 _08000F7C: - mov r1, r8 - cmp r1, #0 - beq _08000F8E - mov r2, sb - subs r0, r2, r1 - cmp r0, #3 - bgt _08000F8E - movs r0, #1 - mov sl, r0 + mov r1, r8 + cmp r1, #0 + beq _08000F8E + mov r2, sb + subs r0, r2, r1 + cmp r0, #3 + bgt _08000F8E + movs r0, #1 + mov sl, r0 _08000F8E: - adds r7, #1 - bl VBlankIntrWait - ldr r0, _08000FB0 @ =0x02002008 - str r0, [r4] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - ldr r0, _08000FB4 @ =0x84000200 - str r0, [r4, #8] - ldr r0, [r4, #8] + adds r7, #1 + bl VBlankIntrWait + ldr r0, _08000FB0 @ =0x02002008 + str r0, [r4] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + ldr r0, _08000FB4 @ =0x84000200 + str r0, [r4, #8] + ldr r0, [r4, #8] _08000FA4: - cmp r7, #0x1d - bgt _08000FB8 - bl sub_E90 - b _08000F68 - .align 2, 0 + cmp r7, #0x1d + bgt _08000FB8 + bl sub_E90 + b _08000F68 + .align 2, 0 _08000FB0: .4byte 0x02002008 _08000FB4: .4byte 0x84000200 _08000FB8: - movs r4, #0 - ldr r5, _08000FD4 @ =0x04000054 + movs r4, #0 + ldr r5, _08000FD4 @ =0x04000054 _08000FBC: - bl VBlankIntrWait - strh r4, [r5] - adds r4, #1 - cmp r4, #0x10 - bls _08000FBC - mov r1, sl - cmp r1, #0 - bne _08000FD8 - movs r0, #0 - b _08000FDA - .align 2, 0 + bl VBlankIntrWait + strh r4, [r5] + adds r4, #1 + cmp r4, #0x10 + bls _08000FBC + mov r1, sl + cmp r1, #0 + bne _08000FD8 + movs r0, #0 + b _08000FDA + .align 2, 0 _08000FD4: .4byte 0x04000054 _08000FD8: - movs r0, #1 + movs r0, #1 _08000FDA: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_start sub_FE8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_start sub_FE8 sub_FE8: @ 0x08000FE8 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - sub sp, #4 - ldr r2, _08001080 @ =0x04000200 - ldrh r0, [r2] - movs r1, #1 - orrs r0, r1 - strh r0, [r2] - ldr r6, _08001084 @ =0x04000004 - ldrh r0, [r6] - movs r1, #8 - orrs r0, r1 - strh r0, [r6] - ldr r1, _08001088 @ =0x04000050 - ldr r3, _0800108C @ =0x00003FBF - adds r0, r3, #0 - strh r0, [r1] - adds r1, #4 - movs r0, #0x10 - strh r0, [r1] - movs r0, #0x80 - lsls r0, r0, #0x13 - mov r8, r0 - movs r1, #0x88 - lsls r1, r1, #5 - adds r0, r1, #0 - mov r3, r8 - strh r0, [r3] - ldr r0, _08001090 @ =0x02019C00 - movs r4, #0 - str r4, [r0] - ldr r0, _08001094 @ =0x02019BEC - str r4, [r0] - ldr r0, _08001098 @ =0x02019BF4 - str r4, [r0] - ldr r0, _0800109C @ =0x02019BF0 - str r4, [r0] - ldr r5, _080010A0 @ =0x02019C0C - str r2, [sp] - bl sub_EB8 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - str r0, [r5] - ldr r2, [sp] - ldrh r1, [r2] - ldr r0, _080010A4 @ =0x0000FFFE - ands r0, r1 - strh r0, [r2] - ldrh r1, [r6] - ldr r0, _080010A8 @ =0x0000FFF7 - ands r0, r1 - strh r0, [r6] - mov r0, r8 - strh r4, [r0] - ldr r1, _080010AC @ =0x02019BFC - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1] - ldr r0, _080010B0 @ =0x02019BE4 - str r4, [r0] - ldr r0, _080010B4 @ =0x02019BE8 - str r4, [r0] - ldr r0, _080010B8 @ =0x02019BF8 - str r4, [r0] - ldr r1, _080010BC @ =0x02019C08 - movs r0, #2 - str r0, [r1] - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + sub sp, #4 + ldr r2, _08001080 @ =0x04000200 + ldrh r0, [r2] + movs r1, #1 + orrs r0, r1 + strh r0, [r2] + ldr r6, _08001084 @ =0x04000004 + ldrh r0, [r6] + movs r1, #8 + orrs r0, r1 + strh r0, [r6] + ldr r1, _08001088 @ =0x04000050 + ldr r3, _0800108C @ =0x00003FBF + adds r0, r3, #0 + strh r0, [r1] + adds r1, #4 + movs r0, #0x10 + strh r0, [r1] + movs r0, #0x80 + lsls r0, r0, #0x13 + mov r8, r0 + movs r1, #0x88 + lsls r1, r1, #5 + adds r0, r1, #0 + mov r3, r8 + strh r0, [r3] + ldr r0, _08001090 @ =0x02019C00 + movs r4, #0 + str r4, [r0] + ldr r0, _08001094 @ =0x02019BEC + str r4, [r0] + ldr r0, _08001098 @ =0x02019BF4 + str r4, [r0] + ldr r0, _0800109C @ =0x02019BF0 + str r4, [r0] + ldr r5, _080010A0 @ =0x02019C0C + str r2, [sp] + bl sub_EB8 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + str r0, [r5] + ldr r2, [sp] + ldrh r1, [r2] + ldr r0, _080010A4 @ =0x0000FFFE + ands r0, r1 + strh r0, [r2] + ldrh r1, [r6] + ldr r0, _080010A8 @ =0x0000FFF7 + ands r0, r1 + strh r0, [r6] + mov r0, r8 + strh r4, [r0] + ldr r1, _080010AC @ =0x02019BFC + movs r0, #1 + rsbs r0, r0, #0 + str r0, [r1] + ldr r0, _080010B0 @ =0x02019BE4 + str r4, [r0] + ldr r0, _080010B4 @ =0x02019BE8 + str r4, [r0] + ldr r0, _080010B8 @ =0x02019BF8 + str r4, [r0] + ldr r1, _080010BC @ =0x02019C08 + movs r0, #2 + str r0, [r1] + add sp, #4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08001080: .4byte 0x04000200 _08001084: .4byte 0x04000004 _08001088: .4byte 0x04000050 @@ -1838,37 +1838,37 @@ _080010B4: .4byte 0x02019BE8 _080010B8: .4byte 0x02019BF8 _080010BC: .4byte 0x02019C08 - thumb_func_start sub_10C0 + thumb_func_start sub_10C0 sub_10C0: @ 0x080010C0 - push {lr} - ldr r0, _080010F8 @ =0x02019C0C - ldr r2, [r0] - cmp r2, #1 - bne _080010DC - ldr r1, _080010FC @ =0x02003060 - ldr r0, _08001100 @ =sub_13FC + 1 - str r0, [r1] - ldr r0, _08001104 @ =sub_1828 + 1 - str r0, [r1, #4] - ldr r0, _08001108 @ =0x02019BF4 - str r2, [r0] - bl sub_1340 + push {lr} + ldr r0, _080010F8 @ =0x02019C0C + ldr r2, [r0] + cmp r2, #1 + bne _080010DC + ldr r1, _080010FC @ =0x02003060 + ldr r0, _08001100 @ =sub_13FC + 1 + str r0, [r1] + ldr r0, _08001104 @ =sub_1828 + 1 + str r0, [r1, #4] + ldr r0, _08001108 @ =0x02019BF4 + str r2, [r0] + bl sub_1340 _080010DC: - ldr r1, _0800110C @ =0x02019BFC - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1] - ldr r0, _08001110 @ =0x02019BE4 - movs r2, #0 - str r2, [r0] - ldr r1, _08001114 @ =0x02019C08 - movs r0, #2 - str r0, [r1] - ldr r0, _08001118 @ =0x02019C04 - str r2, [r0] - pop {r0} - bx r0 - .align 2, 0 + ldr r1, _0800110C @ =0x02019BFC + movs r0, #1 + rsbs r0, r0, #0 + str r0, [r1] + ldr r0, _08001110 @ =0x02019BE4 + movs r2, #0 + str r2, [r0] + ldr r1, _08001114 @ =0x02019C08 + movs r0, #2 + str r0, [r1] + ldr r0, _08001118 @ =0x02019C04 + str r2, [r0] + pop {r0} + bx r0 + .align 2, 0 _080010F8: .4byte 0x02019C0C _080010FC: .4byte 0x02003060 _08001100: .4byte sub_13FC + 1 @@ -1879,32 +1879,32 @@ _08001110: .4byte 0x02019BE4 _08001114: .4byte 0x02019C08 _08001118: .4byte 0x02019C04 - thumb_func_start sub_111C + thumb_func_start sub_111C sub_111C: @ 0x0800111C - ldr r2, _0800114C @ =0x02019BF4 - movs r1, #0 - ldr r0, _08001150 @ =0x02019C00 - str r1, [r0] - ldr r0, _08001154 @ =0x02019BEC - str r1, [r0] - str r1, [r2] - ldr r0, _08001158 @ =0x02019BF0 - str r1, [r0] - ldr r2, _0800115C @ =0x02019BFC - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r2] - ldr r0, _08001160 @ =0x02019BE4 - str r1, [r0] - ldr r0, _08001164 @ =0x02019BE8 - str r1, [r0] - ldr r0, _08001168 @ =0x02019BF8 - str r1, [r0] - ldr r1, _0800116C @ =0x02019C08 - movs r0, #2 - str r0, [r1] - bx lr - .align 2, 0 + ldr r2, _0800114C @ =0x02019BF4 + movs r1, #0 + ldr r0, _08001150 @ =0x02019C00 + str r1, [r0] + ldr r0, _08001154 @ =0x02019BEC + str r1, [r0] + str r1, [r2] + ldr r0, _08001158 @ =0x02019BF0 + str r1, [r0] + ldr r2, _0800115C @ =0x02019BFC + movs r0, #1 + rsbs r0, r0, #0 + str r0, [r2] + ldr r0, _08001160 @ =0x02019BE4 + str r1, [r0] + ldr r0, _08001164 @ =0x02019BE8 + str r1, [r0] + ldr r0, _08001168 @ =0x02019BF8 + str r1, [r0] + ldr r1, _0800116C @ =0x02019C08 + movs r0, #2 + str r0, [r1] + bx lr + .align 2, 0 _0800114C: .4byte 0x02019BF4 _08001150: .4byte 0x02019C00 _08001154: .4byte 0x02019BEC @@ -1915,170 +1915,170 @@ _08001164: .4byte 0x02019BE8 _08001168: .4byte 0x02019BF8 _0800116C: .4byte 0x02019C08 - thumb_func_start sub_1170 + thumb_func_start sub_1170 sub_1170: @ 0x08001170 - ldr r0, _0800118C @ =0x02019C0C - ldr r0, [r0] - cmp r0, #1 - bne _08001194 - ldr r0, _08001190 @ =0x02019C10 - ldrb r0, [r0] - subs r0, #4 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bls _08001194 - movs r0, #0 - b _08001196 - .align 2, 0 + ldr r0, _0800118C @ =0x02019C0C + ldr r0, [r0] + cmp r0, #1 + bne _08001194 + ldr r0, _08001190 @ =0x02019C10 + ldrb r0, [r0] + subs r0, #4 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #1 + bls _08001194 + movs r0, #0 + b _08001196 + .align 2, 0 _0800118C: .4byte 0x02019C0C _08001190: .4byte 0x02019C10 _08001194: - movs r0, #1 + movs r0, #1 _08001196: - bx lr + bx lr - thumb_func_start sub_1198 + thumb_func_start sub_1198 sub_1198: @ 0x08001198 - ldr r0, _080011A4 @ =0x02003060 - ldr r1, _080011A8 @ =sub_B38 + 1 - str r1, [r0] - ldr r1, _080011AC @ =sub_B44 + 1 - str r1, [r0, #4] - bx lr - .align 2, 0 + ldr r0, _080011A4 @ =0x02003060 + ldr r1, _080011A8 @ =sub_B38 + 1 + str r1, [r0] + ldr r1, _080011AC @ =sub_B44 + 1 + str r1, [r0, #4] + bx lr + .align 2, 0 _080011A4: .4byte 0x02003060 _080011A8: .4byte sub_B38 + 1 _080011AC: .4byte sub_B44 + 1 - thumb_func_start sub_11B0 + thumb_func_start sub_11B0 sub_11B0: @ 0x080011B0 - adds r1, r0, #0 - ldr r0, _080011D0 @ =0x0200B134 - adds r0, #0xcd - ldrb r0, [r0] - cmp r0, #0 - beq _080011CE - ldr r0, _080011D4 @ =0x02019BF8 - str r1, [r0] - ldr r0, _080011D8 @ =0x02019BFC - movs r1, #0 - str r1, [r0] - ldr r0, _080011DC @ =0x02019BE4 - str r1, [r0] - ldr r0, _080011E0 @ =0x02019BE8 - str r1, [r0] + adds r1, r0, #0 + ldr r0, _080011D0 @ =0x0200B134 + adds r0, #0xcd + ldrb r0, [r0] + cmp r0, #0 + beq _080011CE + ldr r0, _080011D4 @ =0x02019BF8 + str r1, [r0] + ldr r0, _080011D8 @ =0x02019BFC + movs r1, #0 + str r1, [r0] + ldr r0, _080011DC @ =0x02019BE4 + str r1, [r0] + ldr r0, _080011E0 @ =0x02019BE8 + str r1, [r0] _080011CE: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _080011D0: .4byte 0x0200B134 _080011D4: .4byte 0x02019BF8 _080011D8: .4byte 0x02019BFC _080011DC: .4byte 0x02019BE4 _080011E0: .4byte 0x02019BE8 - thumb_func_start sub_11E4 + thumb_func_start sub_11E4 sub_11E4: @ 0x080011E4 - ldr r1, _080011EC @ =0x02019C08 - str r0, [r1] - bx lr - .align 2, 0 + ldr r1, _080011EC @ =0x02019C08 + str r0, [r1] + bx lr + .align 2, 0 _080011EC: .4byte 0x02019C08 - thumb_func_start sub_11F0 + thumb_func_start sub_11F0 sub_11F0: @ 0x080011F0 - ldr r1, _080011F8 @ =0x02019C04 - str r0, [r1] - bx lr - .align 2, 0 + ldr r1, _080011F8 @ =0x02019C04 + str r0, [r1] + bx lr + .align 2, 0 _080011F8: .4byte 0x02019C04 - thumb_func_start sub_11FC + thumb_func_start sub_11FC sub_11FC: @ 0x080011FC - push {r4, r5, r6, r7, lr} - ldr r0, _0800121C @ =0x02019C0C - ldr r0, [r0] - cmp r0, #1 - beq _08001208 - b _08001324 + push {r4, r5, r6, r7, lr} + ldr r0, _0800121C @ =0x02019C0C + ldr r0, [r0] + cmp r0, #1 + beq _08001208 + b _08001324 _08001208: - ldr r0, _08001220 @ =0x02019C10 - ldrb r0, [r0] - cmp r0, #5 - bls _08001212 - b _08001324 + ldr r0, _08001220 @ =0x02019C10 + ldrb r0, [r0] + cmp r0, #5 + bls _08001212 + b _08001324 _08001212: - lsls r0, r0, #2 - ldr r1, _08001224 @ =_08001228 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08001224 @ =_08001228 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0800121C: .4byte 0x02019C0C _08001220: .4byte 0x02019C10 _08001224: .4byte _08001228 _08001228: @ jump table - .4byte _08001324 @ case 0 - .4byte _08001324 @ case 1 - .4byte _08001324 @ case 2 - .4byte _08001240 @ case 3 - .4byte _08001240 @ case 4 - .4byte _08001308 @ case 5 + .4byte _08001324 @ case 0 + .4byte _08001324 @ case 1 + .4byte _08001324 @ case 2 + .4byte _08001240 @ case 3 + .4byte _08001240 @ case 4 + .4byte _08001308 @ case 5 _08001240: - ldr r0, _080012A8 @ =0x02019BFC - ldr r1, [r0] - mov ip, r0 - cmp r1, #0 - blt _080012FC - ldr r0, _080012AC @ =0x02019C08 - ldr r3, [r0] - cmp r3, #0 - beq _080012FC - ldr r0, _080012B0 @ =0x02019C04 - ldr r2, [r0] - cmp r2, #0 - bne _080012FC - ldr r0, _080012B4 @ =0x02019BE8 - ldr r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080012DC - ldr r1, _080012B8 @ =0x086A4C44 - ldr r0, _080012BC @ =0x02019BF8 - ldr r0, [r0] - lsls r0, r0, #2 - adds r7, r0, r1 - mov r5, ip - movs r6, #1 - rsbs r6, r6, #0 + ldr r0, _080012A8 @ =0x02019BFC + ldr r1, [r0] + mov ip, r0 + cmp r1, #0 + blt _080012FC + ldr r0, _080012AC @ =0x02019C08 + ldr r3, [r0] + cmp r3, #0 + beq _080012FC + ldr r0, _080012B0 @ =0x02019C04 + ldr r2, [r0] + cmp r2, #0 + bne _080012FC + ldr r0, _080012B4 @ =0x02019BE8 + ldr r1, [r0] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + bne _080012DC + ldr r1, _080012B8 @ =0x086A4C44 + ldr r0, _080012BC @ =0x02019BF8 + ldr r0, [r0] + lsls r0, r0, #2 + adds r7, r0, r1 + mov r5, ip + movs r6, #1 + rsbs r6, r6, #0 _08001276: - ldr r2, [r5] - ldr r0, [r7] - lsls r1, r2, #2 - adds r1, r1, r0 - ldr r3, [r1] - adds r2, #1 - str r2, [r5] - lsls r1, r2, #2 - adds r1, r1, r0 - ldr r4, [r1] - cmp r3, r6 - beq _080012F8 - cmp r3, r6 - bge _080012D0 - ldr r1, _080012C0 @ =0x02019BE4 - ldr r0, [r1] - cmp r0, #0 - beq _080012C4 - subs r0, #1 - str r0, [r1] - cmp r0, #0 - bne _080012C8 - adds r0, r2, #1 - str r0, [r5] - b _08001276 - .align 2, 0 + ldr r2, [r5] + ldr r0, [r7] + lsls r1, r2, #2 + adds r1, r1, r0 + ldr r3, [r1] + adds r2, #1 + str r2, [r5] + lsls r1, r2, #2 + adds r1, r1, r0 + ldr r4, [r1] + cmp r3, r6 + beq _080012F8 + cmp r3, r6 + bge _080012D0 + ldr r1, _080012C0 @ =0x02019BE4 + ldr r0, [r1] + cmp r0, #0 + beq _080012C4 + subs r0, #1 + str r0, [r1] + cmp r0, #0 + bne _080012C8 + adds r0, r2, #1 + str r0, [r5] + b _08001276 + .align 2, 0 _080012A8: .4byte 0x02019BFC _080012AC: .4byte 0x02019C08 _080012B0: .4byte 0x02019C04 @@ -2087,145 +2087,145 @@ _080012B8: .4byte 0x086A4C44 _080012BC: .4byte 0x02019BF8 _080012C0: .4byte 0x02019BE4 _080012C4: - mvns r0, r3 - str r0, [r1] + mvns r0, r3 + str r0, [r1] _080012C8: - subs r0, r2, #1 - subs r0, r0, r4 - str r0, [r5] - b _08001276 + subs r0, r2, #1 + subs r0, r0, r4 + str r0, [r5] + b _08001276 _080012D0: - ldr r0, _080012D8 @ =0x02019C00 - str r3, [r0] - b _08001324 - .align 2, 0 + ldr r0, _080012D8 @ =0x02019C00 + str r3, [r0] + b _08001324 + .align 2, 0 _080012D8: .4byte 0x02019C00 _080012DC: - lsrs r0, r1, #0x1f - adds r0, r1, r0 - asrs r0, r0, #1 - lsls r0, r0, #1 - subs r0, r1, r0 - cmp r0, #1 - bne _08001324 - cmp r3, #1 - bne _08001324 - ldr r0, _080012F4 @ =0x02019C00 - str r2, [r0] - b _08001324 - .align 2, 0 + lsrs r0, r1, #0x1f + adds r0, r1, r0 + asrs r0, r0, #1 + lsls r0, r0, #1 + subs r0, r1, r0 + cmp r0, #1 + bne _08001324 + cmp r3, #1 + bne _08001324 + ldr r0, _080012F4 @ =0x02019C00 + str r2, [r0] + b _08001324 + .align 2, 0 _080012F4: .4byte 0x02019C00 _080012F8: - mov r0, ip - str r3, [r0] + mov r0, ip + str r3, [r0] _080012FC: - ldr r1, _08001304 @ =0x02019C00 - movs r0, #0 - str r0, [r1] - b _08001324 - .align 2, 0 + ldr r1, _08001304 @ =0x02019C00 + movs r0, #0 + str r0, [r1] + b _08001324 + .align 2, 0 _08001304: .4byte 0x02019C00 _08001308: - ldr r4, _08001334 @ =0x02019BF0 - ldr r0, [r4] - adds r0, #1 - str r0, [r4] - cmp r0, #0x3c - bls _08001324 - ldr r0, _08001338 @ =0x02019BF4 - ldr r0, [r0] - cmp r0, #0 - beq _08001320 - bl sub_1340 + ldr r4, _08001334 @ =0x02019BF0 + ldr r0, [r4] + adds r0, #1 + str r0, [r4] + cmp r0, #0x3c + bls _08001324 + ldr r0, _08001338 @ =0x02019BF4 + ldr r0, [r0] + cmp r0, #0 + beq _08001320 + bl sub_1340 _08001320: - movs r0, #0 - str r0, [r4] + movs r0, #0 + str r0, [r4] _08001324: - ldr r1, _0800133C @ =0x02019BE8 - ldr r0, [r1] - adds r0, #1 - str r0, [r1] - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + ldr r1, _0800133C @ =0x02019BE8 + ldr r0, [r1] + adds r0, #1 + str r0, [r1] + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08001334: .4byte 0x02019BF0 _08001338: .4byte 0x02019BF4 _0800133C: .4byte 0x02019BE8 - thumb_func_start sub_1340 + thumb_func_start sub_1340 sub_1340: @ 0x08001340 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - sub sp, #4 - ldr r6, _080013D0 @ =0x04000208 - movs r3, #0 - strh r3, [r6] - ldr r2, _080013D4 @ =0x04000200 - ldrh r1, [r2] - ldr r0, _080013D8 @ =0x0000FF3F - ands r0, r1 - strh r0, [r2] - movs r0, #1 - mov r8, r0 - strh r0, [r6] - ldr r0, _080013DC @ =0x04000134 - strh r3, [r0] - ldr r4, _080013E0 @ =0x04000128 - ldr r1, _080013E4 @ =0x00001008 - adds r0, r1, #0 - strh r0, [r4] - ldrh r0, [r4] - movs r5, #0x80 - lsls r5, r5, #7 - adds r1, r5, #0 - orrs r0, r1 - strh r0, [r4] - ldr r0, _080013E8 @ =0x04000202 - movs r1, #0xc0 - strh r1, [r0] - strh r3, [r6] - ldrh r0, [r2] - orrs r0, r1 - strh r0, [r2] - mov r0, r8 - strh r0, [r6] - ldrb r1, [r4] - movs r0, #2 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4] - ldr r0, _080013EC @ =0x02019C10 - strb r3, [r0] - movs r5, #0 - str r5, [sp] - ldr r1, _080013F0 @ =0x02002808 - ldr r2, _080013F4 @ =0x05000003 - mov r0, sp - bl CpuSet - strh r5, [r6] - ldrh r0, [r4] - movs r1, #0x80 - orrs r0, r1 - strh r0, [r4] - mov r1, r8 - strh r1, [r6] - ldr r1, _080013F8 @ =0x0400010C - movs r2, #0x80 - lsls r2, r2, #8 - adds r0, r2, #0 - strh r0, [r1] - adds r1, #2 - movs r0, #0xc1 - strh r0, [r1] - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + sub sp, #4 + ldr r6, _080013D0 @ =0x04000208 + movs r3, #0 + strh r3, [r6] + ldr r2, _080013D4 @ =0x04000200 + ldrh r1, [r2] + ldr r0, _080013D8 @ =0x0000FF3F + ands r0, r1 + strh r0, [r2] + movs r0, #1 + mov r8, r0 + strh r0, [r6] + ldr r0, _080013DC @ =0x04000134 + strh r3, [r0] + ldr r4, _080013E0 @ =0x04000128 + ldr r1, _080013E4 @ =0x00001008 + adds r0, r1, #0 + strh r0, [r4] + ldrh r0, [r4] + movs r5, #0x80 + lsls r5, r5, #7 + adds r1, r5, #0 + orrs r0, r1 + strh r0, [r4] + ldr r0, _080013E8 @ =0x04000202 + movs r1, #0xc0 + strh r1, [r0] + strh r3, [r6] + ldrh r0, [r2] + orrs r0, r1 + strh r0, [r2] + mov r0, r8 + strh r0, [r6] + ldrb r1, [r4] + movs r0, #2 + rsbs r0, r0, #0 + ands r0, r1 + strb r0, [r4] + ldr r0, _080013EC @ =0x02019C10 + strb r3, [r0] + movs r5, #0 + str r5, [sp] + ldr r1, _080013F0 @ =0x02002808 + ldr r2, _080013F4 @ =0x05000003 + mov r0, sp + bl CpuSet + strh r5, [r6] + ldrh r0, [r4] + movs r1, #0x80 + orrs r0, r1 + strh r0, [r4] + mov r1, r8 + strh r1, [r6] + ldr r1, _080013F8 @ =0x0400010C + movs r2, #0x80 + lsls r2, r2, #8 + adds r0, r2, #0 + strh r0, [r1] + adds r1, #2 + movs r0, #0xc1 + strh r0, [r1] + add sp, #4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _080013D0: .4byte 0x04000208 _080013D4: .4byte 0x04000200 _080013D8: .4byte 0x0000FF3F @@ -2238,578 +2238,578 @@ _080013F0: .4byte 0x02002808 _080013F4: .4byte 0x05000003 _080013F8: .4byte 0x0400010C - thumb_func_start sub_13FC + thumb_func_start sub_13FC sub_13FC: @ 0x080013FC - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #0xc - ldr r1, _08001434 @ =0x02002818 - ldr r0, _08001438 @ =0x04000120 - ldr r0, [r0] - str r0, [r1] - ldr r1, _0800143C @ =0x0400010E - movs r0, #0 - strh r0, [r1] - subs r1, #2 - movs r2, #0x80 - lsls r2, r2, #8 - adds r0, r2, #0 - strh r0, [r1] - ldr r0, _08001440 @ =0x02019C10 - ldrb r1, [r0] - mov sb, r0 - cmp r1, #5 - bls _0800142A - b _0800161C + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + sub sp, #0xc + ldr r1, _08001434 @ =0x02002818 + ldr r0, _08001438 @ =0x04000120 + ldr r0, [r0] + str r0, [r1] + ldr r1, _0800143C @ =0x0400010E + movs r0, #0 + strh r0, [r1] + subs r1, #2 + movs r2, #0x80 + lsls r2, r2, #8 + adds r0, r2, #0 + strh r0, [r1] + ldr r0, _08001440 @ =0x02019C10 + ldrb r1, [r0] + mov sb, r0 + cmp r1, #5 + bls _0800142A + b _0800161C _0800142A: - lsls r0, r1, #2 - ldr r1, _08001444 @ =_08001448 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r1, #2 + ldr r1, _08001444 @ =_08001448 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08001434: .4byte 0x02002818 _08001438: .4byte 0x04000120 _0800143C: .4byte 0x0400010E _08001440: .4byte 0x02019C10 _08001444: .4byte _08001448 _08001448: @ jump table - .4byte _08001460 @ case 0 - .4byte _08001520 @ case 1 - .4byte _08001574 @ case 2 - .4byte _080015C8 @ case 3 - .4byte _0800161C @ case 4 - .4byte _0800161C @ case 5 + .4byte _08001460 @ case 0 + .4byte _08001520 @ case 1 + .4byte _08001574 @ case 2 + .4byte _080015C8 @ case 3 + .4byte _0800161C @ case 4 + .4byte _0800161C @ case 5 _08001460: - ldr r0, _080014B0 @ =0x04000120 - mov r8, r0 - ldr r6, [r0] - ldr r3, _080014B4 @ =0x02002808 - ldrb r1, [r3] - lsls r2, r1, #4 - adds r0, r6, #0 - lsls r0, r2 - lsrs r0, r0, #0x10 - movs r7, #1 - subs r1, r7, r1 - lsls r1, r1, #4 - lsls r6, r1 - adds r1, r6, #0 - lsrs r6, r1, #0x10 - ldrh r5, [r3, #0xa] - adds r4, r3, #0 - cmp r5, #0 - bne _080014E4 - ldrh r2, [r4, #6] - adds r1, r0, #0 - cmp r1, r2 - bne _080014E2 - ldrh r3, [r4, #2] - cmp r3, #3 - bhi _080014B8 - ldrh r0, [r4, #4] - mvns r0, r0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r1, r0 - bne _080014E4 - mvns r0, r2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r6, r0 - bne _080014E4 - adds r0, r3, #1 - strh r0, [r4, #2] - b _080014E4 - .align 2, 0 + ldr r0, _080014B0 @ =0x04000120 + mov r8, r0 + ldr r6, [r0] + ldr r3, _080014B4 @ =0x02002808 + ldrb r1, [r3] + lsls r2, r1, #4 + adds r0, r6, #0 + lsls r0, r2 + lsrs r0, r0, #0x10 + movs r7, #1 + subs r1, r7, r1 + lsls r1, r1, #4 + lsls r6, r1 + adds r1, r6, #0 + lsrs r6, r1, #0x10 + ldrh r5, [r3, #0xa] + adds r4, r3, #0 + cmp r5, #0 + bne _080014E4 + ldrh r2, [r4, #6] + adds r1, r0, #0 + cmp r1, r2 + bne _080014E2 + ldrh r3, [r4, #2] + cmp r3, #3 + bhi _080014B8 + ldrh r0, [r4, #4] + mvns r0, r0 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r1, r0 + bne _080014E4 + mvns r0, r2 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r6, r0 + bne _080014E4 + adds r0, r3, #1 + strh r0, [r4, #2] + b _080014E4 + .align 2, 0 _080014B0: .4byte 0x04000120 _080014B4: .4byte 0x02002808 _080014B8: - strh r6, [r4, #0xa] - ldr r0, _080014D8 @ =0x00008002 - cmp r6, r0 - bne _080014E0 - mov r1, sb - strb r7, [r1] - movs r0, #1 - bl sub_1748 - ldr r1, _080014DC @ =0x02002814 - str r0, [r1] - mov r2, r8 - str r0, [r2] - strh r5, [r4, #2] - b _08001640 - .align 2, 0 + strh r6, [r4, #0xa] + ldr r0, _080014D8 @ =0x00008002 + cmp r6, r0 + bne _080014E0 + mov r1, sb + strb r7, [r1] + movs r0, #1 + bl sub_1748 + ldr r1, _080014DC @ =0x02002814 + str r0, [r1] + mov r2, r8 + str r0, [r2] + strh r5, [r4, #2] + b _08001640 + .align 2, 0 _080014D8: .4byte 0x00008002 _080014DC: .4byte 0x02002814 _080014E0: - strh r5, [r4, #0xa] + strh r5, [r4, #0xa] _080014E2: - strh r5, [r4, #2] + strh r5, [r4, #2] _080014E4: - ldrh r0, [r4, #2] - cmp r0, #3 - bhi _080014F8 - lsls r0, r0, #1 - ldr r1, _080014F4 @ =0x0805C748 - adds r0, r0, r1 - ldrh r0, [r0] - b _080014FC - .align 2, 0 + ldrh r0, [r4, #2] + cmp r0, #3 + bhi _080014F8 + lsls r0, r0, #1 + ldr r1, _080014F4 @ =0x0805C748 + adds r0, r0, r1 + ldrh r0, [r0] + b _080014FC + .align 2, 0 _080014F4: .4byte 0x0805C748 _080014F8: - movs r0, #0x80 - lsls r0, r0, #8 + movs r0, #0x80 + lsls r0, r0, #8 _080014FC: - strh r0, [r4, #4] - mvns r0, r6 - strh r0, [r4, #6] - ldr r3, _0800151C @ =0x04000120 - ldrh r2, [r4, #4] - ldrb r1, [r4] - movs r0, #1 - subs r0, r0, r1 - lsls r0, r0, #4 - lsls r2, r0 - ldrh r0, [r4, #6] - lsls r1, r1, #4 - lsls r0, r1 - adds r2, r2, r0 - str r2, [r3] - b _08001640 - .align 2, 0 + strh r0, [r4, #4] + mvns r0, r6 + strh r0, [r4, #6] + ldr r3, _0800151C @ =0x04000120 + ldrh r2, [r4, #4] + ldrb r1, [r4] + movs r0, #1 + subs r0, r0, r1 + lsls r0, r0, #4 + lsls r2, r0 + ldrh r0, [r4, #6] + lsls r1, r1, #4 + lsls r0, r1 + adds r2, r2, r0 + str r2, [r3] + b _08001640 + .align 2, 0 _0800151C: .4byte 0x04000120 _08001520: - ldr r5, _08001544 @ =0x02019C10 - ldrb r0, [r5] - bl sub_16A0 - cmp r0, #0 - beq _08001550 - ldr r1, _08001548 @ =0x02002808 - movs r4, #0 - movs r0, #0 - strh r0, [r1, #2] - str r0, [sp] - ldr r2, _0800154C @ =0x05000003 - mov r0, sp - bl CpuSet - strb r4, [r5] - b _08001554 - .align 2, 0 + ldr r5, _08001544 @ =0x02019C10 + ldrb r0, [r5] + bl sub_16A0 + cmp r0, #0 + beq _08001550 + ldr r1, _08001548 @ =0x02002808 + movs r4, #0 + movs r0, #0 + strh r0, [r1, #2] + str r0, [sp] + ldr r2, _0800154C @ =0x05000003 + mov r0, sp + bl CpuSet + strb r4, [r5] + b _08001554 + .align 2, 0 _08001544: .4byte 0x02019C10 _08001548: .4byte 0x02002808 _0800154C: .4byte 0x05000003 _08001550: - movs r0, #2 - strb r0, [r5] + movs r0, #2 + strb r0, [r5] _08001554: - ldr r0, _0800156C @ =0x02019BF4 - ldr r0, [r0] - ldr r1, _08001570 @ =0x02019C10 - mov sb, r1 - cmp r0, #0 - bne _08001564 - movs r0, #4 - strb r0, [r1] + ldr r0, _0800156C @ =0x02019BF4 + ldr r0, [r0] + ldr r1, _08001570 @ =0x02019C10 + mov sb, r1 + cmp r0, #0 + bne _08001564 + movs r0, #4 + strb r0, [r1] _08001564: - mov r2, sb - ldrb r0, [r2] - b _080015F8 - .align 2, 0 + mov r2, sb + ldrb r0, [r2] + b _080015F8 + .align 2, 0 _0800156C: .4byte 0x02019BF4 _08001570: .4byte 0x02019C10 _08001574: - ldr r5, _08001598 @ =0x02019C10 - ldrb r0, [r5] - bl sub_16A0 - cmp r0, #0 - beq _080015A4 - ldr r1, _0800159C @ =0x02002808 - movs r4, #0 - movs r0, #0 - strh r0, [r1, #2] - str r0, [sp, #4] - add r0, sp, #4 - ldr r2, _080015A0 @ =0x05000003 - bl CpuSet - strb r4, [r5] - b _080015A8 - .align 2, 0 + ldr r5, _08001598 @ =0x02019C10 + ldrb r0, [r5] + bl sub_16A0 + cmp r0, #0 + beq _080015A4 + ldr r1, _0800159C @ =0x02002808 + movs r4, #0 + movs r0, #0 + strh r0, [r1, #2] + str r0, [sp, #4] + add r0, sp, #4 + ldr r2, _080015A0 @ =0x05000003 + bl CpuSet + strb r4, [r5] + b _080015A8 + .align 2, 0 _08001598: .4byte 0x02019C10 _0800159C: .4byte 0x02002808 _080015A0: .4byte 0x05000003 _080015A4: - movs r0, #3 - strb r0, [r5] + movs r0, #3 + strb r0, [r5] _080015A8: - ldr r0, _080015C0 @ =0x02019BF4 - ldr r0, [r0] - ldr r1, _080015C4 @ =0x02019C10 - mov sb, r1 - cmp r0, #0 - bne _080015B8 - movs r0, #4 - strb r0, [r1] + ldr r0, _080015C0 @ =0x02019BF4 + ldr r0, [r0] + ldr r1, _080015C4 @ =0x02019C10 + mov sb, r1 + cmp r0, #0 + bne _080015B8 + movs r0, #4 + strb r0, [r1] _080015B8: - mov r2, sb - ldrb r0, [r2] - b _080015F8 - .align 2, 0 + mov r2, sb + ldrb r0, [r2] + b _080015F8 + .align 2, 0 _080015C0: .4byte 0x02019BF4 _080015C4: .4byte 0x02019C10 _080015C8: - mov r5, sb - ldrb r0, [r5] - bl sub_16A0 - cmp r0, #0 - beq _080015E8 - ldr r1, _08001608 @ =0x02002808 - movs r4, #0 - movs r0, #0 - strh r0, [r1, #2] - str r0, [sp, #8] - add r0, sp, #8 - ldr r2, _0800160C @ =0x05000003 - bl CpuSet - strb r4, [r5] + mov r5, sb + ldrb r0, [r5] + bl sub_16A0 + cmp r0, #0 + beq _080015E8 + ldr r1, _08001608 @ =0x02002808 + movs r4, #0 + movs r0, #0 + strh r0, [r1, #2] + str r0, [sp, #8] + add r0, sp, #8 + ldr r2, _0800160C @ =0x05000003 + bl CpuSet + strb r4, [r5] _080015E8: - ldr r0, _08001610 @ =0x02019BF4 - ldr r0, [r0] - cmp r0, #0 - bne _080015F4 - movs r0, #4 - strb r0, [r5] + ldr r0, _08001610 @ =0x02019BF4 + ldr r0, [r0] + cmp r0, #0 + bne _080015F4 + movs r0, #4 + strb r0, [r5] _080015F4: - mov r1, sb - ldrb r0, [r1] + mov r1, sb + ldrb r0, [r1] _080015F8: - bl sub_1748 - ldr r1, _08001614 @ =0x02002814 - str r0, [r1] - ldr r1, _08001618 @ =0x04000120 - str r0, [r1] - b _08001640 - .align 2, 0 + bl sub_1748 + ldr r1, _08001614 @ =0x02002814 + str r0, [r1] + ldr r1, _08001618 @ =0x04000120 + str r0, [r1] + b _08001640 + .align 2, 0 _08001608: .4byte 0x02002808 _0800160C: .4byte 0x05000003 _08001610: .4byte 0x02019BF4 _08001614: .4byte 0x02002814 _08001618: .4byte 0x04000120 _0800161C: - ldr r3, _08001634 @ =0x04000208 - movs r0, #0 - strh r0, [r3] - ldr r2, _08001638 @ =0x04000200 - ldrh r1, [r2] - ldr r0, _0800163C @ =0x0000FF7F - ands r0, r1 - strh r0, [r2] - movs r0, #1 - strh r0, [r3] - b _08001650 - .align 2, 0 + ldr r3, _08001634 @ =0x04000208 + movs r0, #0 + strh r0, [r3] + ldr r2, _08001638 @ =0x04000200 + ldrh r1, [r2] + ldr r0, _0800163C @ =0x0000FF7F + ands r0, r1 + strh r0, [r2] + movs r0, #1 + strh r0, [r3] + b _08001650 + .align 2, 0 _08001634: .4byte 0x04000208 _08001638: .4byte 0x04000200 _0800163C: .4byte 0x0000FF7F _08001640: - ldr r2, _08001660 @ =0x04000128 - ldrh r0, [r2] - movs r1, #0x80 - orrs r0, r1 - strh r0, [r2] - ldr r1, _08001664 @ =0x0400010E - movs r0, #0xc1 - strh r0, [r1] + ldr r2, _08001660 @ =0x04000128 + ldrh r0, [r2] + movs r1, #0x80 + orrs r0, r1 + strh r0, [r2] + ldr r1, _08001664 @ =0x0400010E + movs r0, #0xc1 + strh r0, [r1] _08001650: - add sp, #0xc - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + add sp, #0xc + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08001660: .4byte 0x04000128 _08001664: .4byte 0x0400010E - thumb_func_start sub_1668 + thumb_func_start sub_1668 sub_1668: @ 0x08001668 - push {r4, r5, lr} - ldr r2, _0800169C @ =0x00FFFFFF - ands r2, r0 - lsls r4, r2, #4 - lsls r1, r1, #0x1c - orrs r4, r1 - lsrs r3, r4, #0x1c - movs r2, #6 - movs r5, #0xf + push {r4, r5, lr} + ldr r2, _0800169C @ =0x00FFFFFF + ands r2, r0 + lsls r4, r2, #4 + lsls r1, r1, #0x1c + orrs r4, r1 + lsrs r3, r4, #0x1c + movs r2, #6 + movs r5, #0xf _0800167A: - lsls r0, r2, #2 - adds r1, r4, #0 - lsrs r1, r0 - ands r1, r5 - eors r3, r1 - subs r0, r2, #1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - bne _0800167A - movs r0, #0xf - ands r3, r0 - orrs r4, r3 - adds r0, r4, #0 - pop {r4, r5} - pop {r1} - bx r1 - .align 2, 0 + lsls r0, r2, #2 + adds r1, r4, #0 + lsrs r1, r0 + ands r1, r5 + eors r3, r1 + subs r0, r2, #1 + lsls r0, r0, #0x18 + lsrs r2, r0, #0x18 + cmp r2, #0 + bne _0800167A + movs r0, #0xf + ands r3, r0 + orrs r4, r3 + adds r0, r4, #0 + pop {r4, r5} + pop {r1} + bx r1 + .align 2, 0 _0800169C: .4byte 0x00FFFFFF - thumb_func_start sub_16A0 + thumb_func_start sub_16A0 sub_16A0: @ 0x080016A0 - push {r4, r5, r6, lr} - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - ldr r6, _080016C4 @ =0x02002818 - ldr r0, [r6] - lsrs r5, r0, #0x1c - bl sub_170C - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080016DE - cmp r4, #2 - beq _080016E8 - cmp r4, #2 - bgt _080016C8 - cmp r4, #1 - beq _080016CE - b _080016DE - .align 2, 0 + push {r4, r5, r6, lr} + lsls r0, r0, #0x18 + lsrs r4, r0, #0x18 + ldr r6, _080016C4 @ =0x02002818 + ldr r0, [r6] + lsrs r5, r0, #0x1c + bl sub_170C + lsls r0, r0, #0x18 + cmp r0, #0 + bne _080016DE + cmp r4, #2 + beq _080016E8 + cmp r4, #2 + bgt _080016C8 + cmp r4, #1 + beq _080016CE + b _080016DE + .align 2, 0 _080016C4: .4byte 0x02002818 _080016C8: - cmp r4, #3 - beq _08001700 - b _080016DE + cmp r4, #3 + beq _08001700 + b _080016DE _080016CE: - ldr r1, _080016E4 @ =0x0200281C - ldr r0, [r6] - lsls r0, r0, #4 - lsrs r0, r0, #8 - ands r0, r4 - str r0, [r1] - cmp r5, #1 - beq _08001704 + ldr r1, _080016E4 @ =0x0200281C + ldr r0, [r6] + lsls r0, r0, #4 + lsrs r0, r0, #8 + ands r0, r4 + str r0, [r1] + cmp r5, #1 + beq _08001704 _080016DE: - movs r0, #1 - b _08001706 - .align 2, 0 + movs r0, #1 + b _08001706 + .align 2, 0 _080016E4: .4byte 0x0200281C _080016E8: - cmp r5, #2 - bne _080016DE - ldr r0, _080016FC @ =0x0200281C - ldr r1, [r6] - lsls r1, r1, #4 - lsrs r1, r1, #8 - ldr r0, [r0] - cmp r0, r1 - beq _08001704 - b _080016DE - .align 2, 0 + cmp r5, #2 + bne _080016DE + ldr r0, _080016FC @ =0x0200281C + ldr r1, [r6] + lsls r1, r1, #4 + lsrs r1, r1, #8 + ldr r0, [r0] + cmp r0, r1 + beq _08001704 + b _080016DE + .align 2, 0 _080016FC: .4byte 0x0200281C _08001700: - cmp r5, #3 - bne _080016DE + cmp r5, #3 + bne _080016DE _08001704: - movs r0, #0 + movs r0, #0 _08001706: - pop {r4, r5, r6} - pop {r1} - bx r1 + pop {r4, r5, r6} + pop {r1} + bx r1 - thumb_func_start sub_170C + thumb_func_start sub_170C sub_170C: @ 0x0800170C - push {r4, r5, r6, lr} - ldr r0, _0800173C @ =0x02002818 - ldr r0, [r0] - lsrs r4, r0, #4 - movs r5, #0xf - ands r5, r0 - lsrs r3, r4, #0x18 - movs r0, #6 - movs r6, #0xf + push {r4, r5, r6, lr} + ldr r0, _0800173C @ =0x02002818 + ldr r0, [r0] + lsrs r4, r0, #4 + movs r5, #0xf + ands r5, r0 + lsrs r3, r4, #0x18 + movs r0, #6 + movs r6, #0xf _0800171E: - subs r0, #1 - lsls r2, r0, #2 - adds r1, r4, #0 - lsrs r1, r2 - ands r1, r6 - eors r3, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _0800171E - cmp r3, r5 - beq _08001740 - movs r0, #1 - b _08001742 - .align 2, 0 + subs r0, #1 + lsls r2, r0, #2 + adds r1, r4, #0 + lsrs r1, r2 + ands r1, r6 + eors r3, r1 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #0 + bne _0800171E + cmp r3, r5 + beq _08001740 + movs r0, #1 + b _08001742 + .align 2, 0 _0800173C: .4byte 0x02002818 _08001740: - movs r0, #0 + movs r0, #0 _08001742: - pop {r4, r5, r6} - pop {r1} - bx r1 + pop {r4, r5, r6} + pop {r1} + bx r1 - thumb_func_start sub_1748 + thumb_func_start sub_1748 sub_1748: @ 0x08001748 - push {r4, lr} - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - subs r0, #1 - cmp r0, #4 - bhi _080017CE - lsls r0, r0, #2 - ldr r1, _08001760 @ =_08001764 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + push {r4, lr} + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + subs r0, #1 + cmp r0, #4 + bhi _080017CE + lsls r0, r0, #2 + ldr r1, _08001760 @ =_08001764 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08001760: .4byte _08001764 _08001764: @ jump table - .4byte _080017C4 @ case 0 - .4byte _08001778 @ case 1 - .4byte _08001784 @ case 2 - .4byte _080017C4 @ case 3 - .4byte _080017C4 @ case 4 + .4byte _080017C4 @ case 0 + .4byte _08001778 @ case 1 + .4byte _08001784 @ case 2 + .4byte _080017C4 @ case 3 + .4byte _080017C4 @ case 4 _08001778: - ldr r0, _08001780 @ =0x0200281C - ldr r0, [r0] - movs r1, #2 - b _080017C8 - .align 2, 0 + ldr r0, _08001780 @ =0x0200281C + ldr r0, [r0] + movs r1, #2 + b _080017C8 + .align 2, 0 _08001780: .4byte 0x0200281C _08001784: - ldr r4, _080017C0 @ =0x02019C00 - ldr r0, [r4] - cmp r0, #0 - bne _0800179A - movs r0, #0 - bl sub_17D8 - movs r1, #4 - bl sub_1668 - adds r2, r0, #0 + ldr r4, _080017C0 @ =0x02019C00 + ldr r0, [r4] + cmp r0, #0 + bne _0800179A + movs r0, #0 + bl sub_17D8 + movs r1, #4 + bl sub_1668 + adds r2, r0, #0 _0800179A: - ldr r0, [r4] - cmp r0, #1 - bne _080017AE - movs r0, #1 - bl sub_17D8 - movs r1, #4 - bl sub_1668 - adds r2, r0, #0 + ldr r0, [r4] + cmp r0, #1 + bne _080017AE + movs r0, #1 + bl sub_17D8 + movs r1, #4 + bl sub_1668 + adds r2, r0, #0 _080017AE: - ldr r0, [r4] - cmp r0, #2 - bne _080017CE - movs r0, #2 - bl sub_17D8 - movs r1, #4 - b _080017C8 - .align 2, 0 + ldr r0, [r4] + cmp r0, #2 + bne _080017CE + movs r0, #2 + bl sub_17D8 + movs r1, #4 + b _080017C8 + .align 2, 0 _080017C0: .4byte 0x02019C00 _080017C4: - movs r0, #1 - movs r1, #1 + movs r0, #1 + movs r1, #1 _080017C8: - bl sub_1668 - adds r2, r0, #0 + bl sub_1668 + adds r2, r0, #0 _080017CE: - adds r0, r2, #0 - pop {r4} - pop {r1} - bx r1 + adds r0, r2, #0 + pop {r4} + pop {r1} + bx r1 - thumb_func_start sub_17D8 + thumb_func_start sub_17D8 sub_17D8: @ 0x080017D8 - adds r2, r0, #0 - ldr r0, _080017EC @ =0x02019BEC - ldr r0, [r0] - cmp r0, #4 - bhi _08001824 - lsls r0, r0, #2 - ldr r1, _080017F0 @ =_080017F4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + adds r2, r0, #0 + ldr r0, _080017EC @ =0x02019BEC + ldr r0, [r0] + cmp r0, #4 + bhi _08001824 + lsls r0, r0, #2 + ldr r1, _080017F0 @ =_080017F4 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080017EC: .4byte 0x02019BEC _080017F0: .4byte _080017F4 _080017F4: @ jump table - .4byte _08001808 @ case 0 - .4byte _0800180C @ case 1 - .4byte _08001810 @ case 2 - .4byte _08001814 @ case 3 - .4byte _08001818 @ case 4 + .4byte _08001808 @ case 0 + .4byte _0800180C @ case 1 + .4byte _08001810 @ case 2 + .4byte _08001814 @ case 3 + .4byte _08001818 @ case 4 _08001808: - adds r1, r2, #0 - b _08001824 + adds r1, r2, #0 + b _08001824 _0800180C: - lsls r1, r2, #2 - b _08001824 + lsls r1, r2, #2 + b _08001824 _08001810: - lsls r1, r2, #4 - b _08001824 + lsls r1, r2, #4 + b _08001824 _08001814: - lsls r1, r2, #6 - b _08001824 + lsls r1, r2, #6 + b _08001824 _08001818: - lsls r1, r2, #2 - orrs r1, r2 - lsls r0, r2, #4 - orrs r1, r0 - lsls r0, r2, #6 - orrs r1, r0 + lsls r1, r2, #2 + orrs r1, r2 + lsls r0, r2, #4 + orrs r1, r0 + lsls r0, r2, #6 + orrs r1, r0 _08001824: - adds r0, r1, #0 - bx lr + adds r0, r1, #0 + bx lr - thumb_func_start sub_1828 + thumb_func_start sub_1828 sub_1828: @ 0x08001828 - push {r4, r5, lr} - ldr r3, _08001868 @ =0x04000208 - movs r4, #0 - strh r4, [r3] - ldr r2, _0800186C @ =0x04000200 - ldrh r1, [r2] - ldr r0, _08001870 @ =0x0000FFBF - ands r0, r1 - strh r0, [r2] - movs r5, #1 - strh r5, [r3] - strh r4, [r3] - subs r2, #0xd8 - ldrh r1, [r2] - ldr r0, _08001874 @ =0x0000FF7F - ands r0, r1 - strh r0, [r2] - strh r5, [r3] - ldr r0, _08001878 @ =0x0400010E - strh r4, [r0] - ldr r1, _0800187C @ =0x0400010C - movs r2, #0x80 - lsls r2, r2, #8 - adds r0, r2, #0 - strh r0, [r1] - ldr r1, _08001880 @ =0x02019C10 - movs r0, #5 - strb r0, [r1] - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, lr} + ldr r3, _08001868 @ =0x04000208 + movs r4, #0 + strh r4, [r3] + ldr r2, _0800186C @ =0x04000200 + ldrh r1, [r2] + ldr r0, _08001870 @ =0x0000FFBF + ands r0, r1 + strh r0, [r2] + movs r5, #1 + strh r5, [r3] + strh r4, [r3] + subs r2, #0xd8 + ldrh r1, [r2] + ldr r0, _08001874 @ =0x0000FF7F + ands r0, r1 + strh r0, [r2] + strh r5, [r3] + ldr r0, _08001878 @ =0x0400010E + strh r4, [r0] + ldr r1, _0800187C @ =0x0400010C + movs r2, #0x80 + lsls r2, r2, #8 + adds r0, r2, #0 + strh r0, [r1] + ldr r1, _08001880 @ =0x02019C10 + movs r0, #5 + strb r0, [r1] + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08001868: .4byte 0x04000208 _0800186C: .4byte 0x04000200 _08001870: .4byte 0x0000FFBF @@ -2818,101 +2818,101 @@ _08001878: .4byte 0x0400010E _0800187C: .4byte 0x0400010C _08001880: .4byte 0x02019C10 - thumb_func_start sub_1884 + thumb_func_start sub_1884 sub_1884: @ 0x08001884 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - sub sp, #4 - ldr r0, _08001944 @ =0x02002822 - mov r8, r0 - ldr r5, _08001948 @ =0x04000208 - ldrh r2, [r5] - movs r4, #0 - strh r4, [r5] - ldr r6, _0800194C @ =0x04000200 - ldrh r1, [r6] - ldr r0, _08001950 @ =0x0000FF3F - ands r0, r1 - strh r0, [r6] - strh r2, [r5] - ldr r0, _08001954 @ =0x04000134 - strh r4, [r0] - ldr r2, _08001958 @ =0x04000128 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r1, #0 - strh r0, [r2] - ldrh r0, [r2] - ldr r3, _0800195C @ =0x00004003 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r5] - mov r1, r8 - strh r0, [r1] - ldr r0, _08001960 @ =sub_19CC + 1 - bl sub_898 - ldr r0, _08001964 @ =sub_1A78 + 1 - bl sub_8D4 - strh r4, [r5] - ldrh r0, [r6] - movs r1, #0x80 - orrs r0, r1 - strh r0, [r6] - mov r3, r8 - ldrh r0, [r3] - strh r0, [r5] - ldr r0, _08001968 @ =0x0400012A - strh r4, [r0] - ldr r2, _0800196C @ =0x04000120 - movs r0, #0 - movs r1, #0 - str r0, [r2] - str r1, [r2, #4] - movs r5, #0 - str r5, [sp] - ldr r1, _08001970 @ =0x0202BF20 - ldr r2, _08001974 @ =0x05000189 - mov r0, sp - bl CpuSet - ldr r0, _08001978 @ =0x02002824 - strb r4, [r0] - ldr r0, _0800197C @ =0x02002825 - strb r4, [r0] - ldr r0, _08001980 @ =0x02002827 - strb r4, [r0] - ldr r0, _08001984 @ =0x02019C2C - strb r4, [r0] - ldr r0, _08001988 @ =0x0202A554 - strb r4, [r0] - ldr r0, _0800198C @ =0x0202C5E0 - strb r4, [r0] - ldr r0, _08001990 @ =0x0202ADD0 - str r5, [r0] - ldr r0, _08001994 @ =0x0201A444 - strh r5, [r0] - ldr r0, _08001998 @ =0x0202BDF0 - str r5, [r0] - ldr r0, _0800199C @ =0x0201C1AC - strb r4, [r0] - ldr r0, _080019A0 @ =0x0202ADDC - strb r4, [r0] - ldr r0, _080019A4 @ =0x0202BEC8 - strb r4, [r0] - ldr r0, _080019A8 @ =0x02002820 - strb r4, [r0] - ldr r0, _080019AC @ =0x02002828 - strh r5, [r0] - ldr r0, _080019B0 @ =0x0200282A - strh r5, [r0] - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + sub sp, #4 + ldr r0, _08001944 @ =0x02002822 + mov r8, r0 + ldr r5, _08001948 @ =0x04000208 + ldrh r2, [r5] + movs r4, #0 + strh r4, [r5] + ldr r6, _0800194C @ =0x04000200 + ldrh r1, [r6] + ldr r0, _08001950 @ =0x0000FF3F + ands r0, r1 + strh r0, [r6] + strh r2, [r5] + ldr r0, _08001954 @ =0x04000134 + strh r4, [r0] + ldr r2, _08001958 @ =0x04000128 + movs r1, #0x80 + lsls r1, r1, #6 + adds r0, r1, #0 + strh r0, [r2] + ldrh r0, [r2] + ldr r3, _0800195C @ =0x00004003 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldrh r0, [r5] + mov r1, r8 + strh r0, [r1] + ldr r0, _08001960 @ =sub_19CC + 1 + bl sub_898 + ldr r0, _08001964 @ =sub_1A78 + 1 + bl sub_8D4 + strh r4, [r5] + ldrh r0, [r6] + movs r1, #0x80 + orrs r0, r1 + strh r0, [r6] + mov r3, r8 + ldrh r0, [r3] + strh r0, [r5] + ldr r0, _08001968 @ =0x0400012A + strh r4, [r0] + ldr r2, _0800196C @ =0x04000120 + movs r0, #0 + movs r1, #0 + str r0, [r2] + str r1, [r2, #4] + movs r5, #0 + str r5, [sp] + ldr r1, _08001970 @ =0x0202BF20 + ldr r2, _08001974 @ =0x05000189 + mov r0, sp + bl CpuSet + ldr r0, _08001978 @ =0x02002824 + strb r4, [r0] + ldr r0, _0800197C @ =0x02002825 + strb r4, [r0] + ldr r0, _08001980 @ =0x02002827 + strb r4, [r0] + ldr r0, _08001984 @ =0x02019C2C + strb r4, [r0] + ldr r0, _08001988 @ =0x0202A554 + strb r4, [r0] + ldr r0, _0800198C @ =0x0202C5E0 + strb r4, [r0] + ldr r0, _08001990 @ =0x0202ADD0 + str r5, [r0] + ldr r0, _08001994 @ =0x0201A444 + strh r5, [r0] + ldr r0, _08001998 @ =0x0202BDF0 + str r5, [r0] + ldr r0, _0800199C @ =0x0201C1AC + strb r4, [r0] + ldr r0, _080019A0 @ =0x0202ADDC + strb r4, [r0] + ldr r0, _080019A4 @ =0x0202BEC8 + strb r4, [r0] + ldr r0, _080019A8 @ =0x02002820 + strb r4, [r0] + ldr r0, _080019AC @ =0x02002828 + strh r5, [r0] + ldr r0, _080019B0 @ =0x0200282A + strh r5, [r0] + add sp, #4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08001944: .4byte 0x02002822 _08001948: .4byte 0x04000208 _0800194C: .4byte 0x04000200 @@ -2942,160 +2942,160 @@ _080019A8: .4byte 0x02002820 _080019AC: .4byte 0x02002828 _080019B0: .4byte 0x0200282A - thumb_func_start sub_19B4 + thumb_func_start sub_19B4 sub_19B4: @ 0x080019B4 - push {lr} - bl sub_24DC - bl sub_250C - bl sub_1884 - bl sub_1AA4 - pop {r0} - bx r0 - - thumb_func_start sub_19CC + push {lr} + bl sub_24DC + bl sub_250C + bl sub_1884 + bl sub_1AA4 + pop {r0} + bx r0 + + thumb_func_start sub_19CC sub_19CC: @ 0x080019CC - push {lr} - ldr r0, _08001A6C @ =0x04000004 - ldrh r1, [r0] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08001A64 - ldr r0, _08001A70 @ =0x03005000 - movs r1, #0xe0 - lsls r1, r1, #0x13 - movs r2, #0x80 - lsls r2, r2, #2 - bl CpuSet - movs r1, #0x80 - lsls r1, r1, #0x13 - ldr r2, _08001A74 @ =0x0200B0C0 - ldrh r0, [r2, #0x16] - strh r0, [r1] - adds r1, #0x10 - movs r3, #0xba - lsls r3, r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0x36 - ldrb r0, [r0] - cmp r0, #0 - beq _08001A60 - adds r1, #0x32 - ldrh r0, [r2, #0x38] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r2, #0x3a] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r2, #0x3c] - strh r0, [r1] + push {lr} + ldr r0, _08001A6C @ =0x04000004 + ldrh r1, [r0] + movs r0, #8 + ands r0, r1 + cmp r0, #0 + beq _08001A64 + ldr r0, _08001A70 @ =0x03005000 + movs r1, #0xe0 + lsls r1, r1, #0x13 + movs r2, #0x80 + lsls r2, r2, #2 + bl CpuSet + movs r1, #0x80 + lsls r1, r1, #0x13 + ldr r2, _08001A74 @ =0x0200B0C0 + ldrh r0, [r2, #0x16] + strh r0, [r1] + adds r1, #0x10 + movs r3, #0xba + lsls r3, r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + adds r0, r2, #0 + adds r0, #0x36 + ldrb r0, [r0] + cmp r0, #0 + beq _08001A60 + adds r1, #0x32 + ldrh r0, [r2, #0x38] + strh r0, [r1] + adds r1, #2 + ldrh r0, [r2, #0x3a] + strh r0, [r1] + adds r1, #2 + ldrh r0, [r2, #0x3c] + strh r0, [r1] _08001A60: - bl VBlankIntrWait + bl VBlankIntrWait _08001A64: - bl m4aSoundMain - pop {r0} - bx r0 - .align 2, 0 + bl m4aSoundMain + pop {r0} + bx r0 + .align 2, 0 _08001A6C: .4byte 0x04000004 _08001A70: .4byte 0x03005000 _08001A74: .4byte 0x0200B0C0 - thumb_func_start sub_1A78 + thumb_func_start sub_1A78 sub_1A78: @ 0x08001A78 - push {lr} - bl sub_1EC0 - bl m4aSoundVSync - ldr r3, _08001A98 @ =0x04000208 - movs r0, #0 - strh r0, [r3] - ldr r2, _08001A9C @ =0x03007FF8 - ldrh r0, [r2] - movs r1, #1 - orrs r0, r1 - strh r0, [r2] - strh r1, [r3] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_1EC0 + bl m4aSoundVSync + ldr r3, _08001A98 @ =0x04000208 + movs r0, #0 + strh r0, [r3] + ldr r2, _08001A9C @ =0x03007FF8 + ldrh r0, [r2] + movs r1, #1 + orrs r0, r1 + strh r0, [r2] + strh r1, [r3] + pop {r0} + bx r0 + .align 2, 0 _08001A98: .4byte 0x04000208 _08001A9C: .4byte 0x03007FF8 - thumb_func_start nullsub_15 + thumb_func_start nullsub_15 nullsub_15: @ 0x08001AA0 - bx lr + bx lr - thumb_func_start sub_1AA4 + thumb_func_start sub_1AA4 sub_1AA4: @ 0x08001AA4 - push {r4, r5, lr} - sub sp, #4 - ldr r0, _08001AE4 @ =0x02002822 - ldr r2, _08001AE8 @ =0x04000208 - ldrh r5, [r2] - strh r5, [r0] - movs r4, #0 - strh r4, [r2] - ldr r3, _08001AEC @ =0x04000200 - ldrh r1, [r3] - ldr r0, _08001AF0 @ =0x0000FF3F - ands r0, r1 - strh r0, [r3] - strh r5, [r2] - ldr r0, _08001AF4 @ =0x04000128 - strh r4, [r0] - subs r0, #0x1a - strh r4, [r0] - ldr r1, _08001AF8 @ =0x04000202 - movs r0, #0xc0 - strh r0, [r1] - movs r0, #0 - str r0, [sp] - ldr r1, _08001AFC @ =0x0202BF20 - ldr r2, _08001B00 @ =0x05000189 - mov r0, sp - bl CpuSet - add sp, #4 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, lr} + sub sp, #4 + ldr r0, _08001AE4 @ =0x02002822 + ldr r2, _08001AE8 @ =0x04000208 + ldrh r5, [r2] + strh r5, [r0] + movs r4, #0 + strh r4, [r2] + ldr r3, _08001AEC @ =0x04000200 + ldrh r1, [r3] + ldr r0, _08001AF0 @ =0x0000FF3F + ands r0, r1 + strh r0, [r3] + strh r5, [r2] + ldr r0, _08001AF4 @ =0x04000128 + strh r4, [r0] + subs r0, #0x1a + strh r4, [r0] + ldr r1, _08001AF8 @ =0x04000202 + movs r0, #0xc0 + strh r0, [r1] + movs r0, #0 + str r0, [sp] + ldr r1, _08001AFC @ =0x0202BF20 + ldr r2, _08001B00 @ =0x05000189 + mov r0, sp + bl CpuSet + add sp, #4 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08001AE4: .4byte 0x02002822 _08001AE8: .4byte 0x04000208 _08001AEC: .4byte 0x04000200 @@ -3105,232 +3105,232 @@ _08001AF8: .4byte 0x04000202 _08001AFC: .4byte 0x0202BF20 _08001B00: .4byte 0x05000189 - thumb_func_start sub_1B04 + thumb_func_start sub_1B04 sub_1B04: @ 0x08001B04 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r4, r1, #0 - adds r5, r2, #0 - ldr r0, _08001B20 @ =0x0202BF20 - ldrb r0, [r0, #1] - cmp r0, #4 - bhi _08001BEE - lsls r0, r0, #2 - ldr r1, _08001B24 @ =_08001B28 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + push {r4, r5, r6, r7, lr} + adds r6, r0, #0 + adds r4, r1, #0 + adds r5, r2, #0 + ldr r0, _08001B20 @ =0x0202BF20 + ldrb r0, [r0, #1] + cmp r0, #4 + bhi _08001BEE + lsls r0, r0, #2 + ldr r1, _08001B24 @ =_08001B28 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08001B20: .4byte 0x0202BF20 _08001B24: .4byte _08001B28 _08001B28: @ jump table - .4byte _08001B3C @ case 0 - .4byte _08001B4C @ case 1 - .4byte _08001B5C @ case 2 - .4byte _08001BD0 @ case 3 - .4byte _08001BDA @ case 4 + .4byte _08001B3C @ case 0 + .4byte _08001B4C @ case 1 + .4byte _08001B5C @ case 2 + .4byte _08001BD0 @ case 3 + .4byte _08001BDA @ case 4 _08001B3C: - bl sub_1AA4 - ldr r1, _08001B48 @ =0x0202BF20 - movs r0, #1 - strb r0, [r1, #1] - b _08001BEE - .align 2, 0 + bl sub_1AA4 + ldr r1, _08001B48 @ =0x0202BF20 + movs r0, #1 + strb r0, [r1, #1] + b _08001BEE + .align 2, 0 _08001B48: .4byte 0x0202BF20 _08001B4C: - bl sub_1884 - ldr r1, _08001B58 @ =0x0202BF20 - movs r0, #2 - strb r0, [r1, #1] - b _08001BEE - .align 2, 0 + bl sub_1884 + ldr r1, _08001B58 @ =0x0202BF20 + movs r0, #2 + strb r0, [r1, #1] + b _08001BEE + .align 2, 0 _08001B58: .4byte 0x0202BF20 _08001B5C: - ldrb r1, [r6] - cmp r1, #1 - beq _08001B98 - cmp r1, #2 - beq _08001BBC - bl sub_1C5C - ldr r2, _08001B90 @ =0x0202C5E0 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - bne _08001BEE - ldr r1, _08001B94 @ =0x0202BF20 - ldrb r0, [r1] - cmp r0, #0 - beq _08001BEE - ldrb r0, [r1, #3] - cmp r0, #2 - bne _08001BEE - movs r0, #1 - strb r0, [r1, #0x10] - movs r1, #1 - rsbs r1, r1, #0 - adds r0, r1, #0 - strb r0, [r2] - b _08001BEE - .align 2, 0 + ldrb r1, [r6] + cmp r1, #1 + beq _08001B98 + cmp r1, #2 + beq _08001BBC + bl sub_1C5C + ldr r2, _08001B90 @ =0x0202C5E0 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + bne _08001BEE + ldr r1, _08001B94 @ =0x0202BF20 + ldrb r0, [r1] + cmp r0, #0 + beq _08001BEE + ldrb r0, [r1, #3] + cmp r0, #2 + bne _08001BEE + movs r0, #1 + strb r0, [r1, #0x10] + movs r1, #1 + rsbs r1, r1, #0 + adds r0, r1, #0 + strb r0, [r2] + b _08001BEE + .align 2, 0 _08001B90: .4byte 0x0202C5E0 _08001B94: .4byte 0x0202BF20 _08001B98: - ldr r2, _08001BB4 @ =0x0202BF20 - ldrb r0, [r2] - cmp r0, #0 - beq _08001BA8 - ldrb r0, [r2, #3] - cmp r0, #2 - bne _08001BA8 - strb r1, [r2, #0x10] + ldr r2, _08001BB4 @ =0x0202BF20 + ldrb r0, [r2] + cmp r0, #0 + beq _08001BA8 + ldrb r0, [r2, #3] + cmp r0, #2 + bne _08001BA8 + strb r1, [r2, #0x10] _08001BA8: - ldr r1, _08001BB8 @ =0x0202C5E0 - movs r2, #1 - rsbs r2, r2, #0 - adds r0, r2, #0 - strb r0, [r1] - b _08001BEE - .align 2, 0 + ldr r1, _08001BB8 @ =0x0202C5E0 + movs r2, #1 + rsbs r2, r2, #0 + adds r0, r2, #0 + strb r0, [r1] + b _08001BEE + .align 2, 0 _08001BB4: .4byte 0x0202BF20 _08001BB8: .4byte 0x0202C5E0 _08001BBC: - ldr r0, _08001BC8 @ =0x0202BF20 - movs r1, #0 - strb r1, [r0, #1] - ldr r0, _08001BCC @ =0x0400012A - strh r1, [r0] - b _08001BEE - .align 2, 0 + ldr r0, _08001BC8 @ =0x0202BF20 + movs r1, #0 + strb r1, [r0, #1] + ldr r0, _08001BCC @ =0x0400012A + strh r1, [r0] + b _08001BEE + .align 2, 0 _08001BC8: .4byte 0x0202BF20 _08001BCC: .4byte 0x0400012A _08001BD0: - bl sub_1C84 - ldr r1, _08001C30 @ =0x0202BF20 - movs r0, #4 - strb r0, [r1, #1] + bl sub_1C84 + ldr r1, _08001C30 @ =0x0202BF20 + movs r0, #4 + strb r0, [r1, #1] _08001BDA: - ldr r0, _08001C30 @ =0x0202BF20 - ldrb r0, [r0, #0xe] - cmp r0, #0 - bne _08001BE8 - adds r0, r4, #0 - bl sub_1CD4 + ldr r0, _08001C30 @ =0x0202BF20 + ldrb r0, [r0, #0xe] + cmp r0, #0 + bne _08001BE8 + adds r0, r4, #0 + bl sub_1CD4 _08001BE8: - adds r0, r5, #0 - bl sub_1DB8 + adds r0, r5, #0 + bl sub_1DB8 _08001BEE: - movs r0, #0 - strb r0, [r6] - ldr r1, _08001C30 @ =0x0202BF20 - ldrb r2, [r1, #2] - ldrb r0, [r1, #3] - lsls r0, r0, #2 - orrs r2, r0 - ldrb r0, [r1] - cmp r0, #8 - bne _08001C06 - movs r0, #0x20 - orrs r2, r0 + movs r0, #0 + strb r0, [r6] + ldr r1, _08001C30 @ =0x0202BF20 + ldrb r2, [r1, #2] + ldrb r0, [r1, #3] + lsls r0, r0, #2 + orrs r2, r0 + ldrb r0, [r1] + cmp r0, #8 + bne _08001C06 + movs r0, #0x20 + orrs r2, r0 _08001C06: - ldrb r0, [r1, #0xc] - lsls r3, r0, #8 - ldrb r0, [r1, #0x11] - lsls r4, r0, #9 - ldrb r0, [r1, #0x12] - lsls r5, r0, #0x10 - ldrb r0, [r1, #0x13] - lsls r6, r0, #0x11 - ldrb r0, [r1, #0x14] - lsls r7, r0, #0x12 - ldrb r0, [r1, #0x15] - lsls r0, r0, #0x14 - mov ip, r0 - ldrb r0, [r1, #1] - cmp r0, #4 - bne _08001C34 - movs r0, #0x40 - orrs r0, r3 - orrs r0, r2 - b _08001C38 - .align 2, 0 + ldrb r0, [r1, #0xc] + lsls r3, r0, #8 + ldrb r0, [r1, #0x11] + lsls r4, r0, #9 + ldrb r0, [r1, #0x12] + lsls r5, r0, #0x10 + ldrb r0, [r1, #0x13] + lsls r6, r0, #0x11 + ldrb r0, [r1, #0x14] + lsls r7, r0, #0x12 + ldrb r0, [r1, #0x15] + lsls r0, r0, #0x14 + mov ip, r0 + ldrb r0, [r1, #1] + cmp r0, #4 + bne _08001C34 + movs r0, #0x40 + orrs r0, r3 + orrs r0, r2 + b _08001C38 + .align 2, 0 _08001C30: .4byte 0x0202BF20 _08001C34: - adds r0, r2, #0 - orrs r0, r3 + adds r0, r2, #0 + orrs r0, r3 _08001C38: - orrs r0, r4 - orrs r0, r5 - orrs r0, r6 - orrs r0, r7 - mov r2, ip - orrs r0, r2 - adds r2, r0, #0 - ldrb r0, [r1, #2] - cmp r0, #1 - bls _08001C52 - movs r0, #0x80 - lsls r0, r0, #0xf - orrs r2, r0 + orrs r0, r4 + orrs r0, r5 + orrs r0, r6 + orrs r0, r7 + mov r2, ip + orrs r0, r2 + adds r2, r0, #0 + ldrb r0, [r1, #2] + cmp r0, #1 + bls _08001C52 + movs r0, #0x80 + lsls r0, r0, #0xf + orrs r2, r0 _08001C52: - adds r0, r2, #0 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 + adds r0, r2, #0 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 - thumb_func_start sub_1C5C + thumb_func_start sub_1C5C sub_1C5C: @ 0x08001C5C - ldr r0, _08001C74 @ =0x04000128 - ldr r1, [r0] - movs r0, #0xc - ands r1, r0 - ldr r2, _08001C78 @ =0x0202BF20 - cmp r1, #8 - bne _08001C7C - ldrb r0, [r2, #2] - cmp r0, #0 - bne _08001C7C - strb r1, [r2] - b _08001C80 - .align 2, 0 + ldr r0, _08001C74 @ =0x04000128 + ldr r1, [r0] + movs r0, #0xc + ands r1, r0 + ldr r2, _08001C78 @ =0x0202BF20 + cmp r1, #8 + bne _08001C7C + ldrb r0, [r2, #2] + cmp r0, #0 + bne _08001C7C + strb r1, [r2] + b _08001C80 + .align 2, 0 _08001C74: .4byte 0x04000128 _08001C78: .4byte 0x0202BF20 _08001C7C: - movs r0, #0 - strb r0, [r2] + movs r0, #0 + strb r0, [r2] _08001C80: - bx lr + bx lr - thumb_func_start sub_1C84 + thumb_func_start sub_1C84 sub_1C84: @ 0x08001C84 - push {r4, lr} - ldr r0, _08001CBC @ =0x0202BF20 - ldrb r0, [r0] - cmp r0, #0 - beq _08001CB4 - ldr r1, _08001CC0 @ =0x0400010C - ldr r2, _08001CC4 @ =0x0000FF3B - adds r0, r2, #0 - strh r0, [r1] - adds r1, #2 - movs r0, #0x41 - strh r0, [r1] - ldr r0, _08001CC8 @ =0x02002822 - ldr r2, _08001CCC @ =0x04000208 - ldrh r4, [r2] - strh r4, [r0] - movs r0, #0 - strh r0, [r2] - ldr r3, _08001CD0 @ =0x04000200 - ldrh r0, [r3] - movs r1, #0x40 - orrs r0, r1 - strh r0, [r3] - strh r4, [r2] + push {r4, lr} + ldr r0, _08001CBC @ =0x0202BF20 + ldrb r0, [r0] + cmp r0, #0 + beq _08001CB4 + ldr r1, _08001CC0 @ =0x0400010C + ldr r2, _08001CC4 @ =0x0000FF3B + adds r0, r2, #0 + strh r0, [r1] + adds r1, #2 + movs r0, #0x41 + strh r0, [r1] + ldr r0, _08001CC8 @ =0x02002822 + ldr r2, _08001CCC @ =0x04000208 + ldrh r4, [r2] + strh r4, [r0] + movs r0, #0 + strh r0, [r2] + ldr r3, _08001CD0 @ =0x04000200 + ldrh r0, [r3] + movs r1, #0x40 + orrs r0, r1 + strh r0, [r3] + strh r4, [r2] _08001CB4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08001CBC: .4byte 0x0202BF20 _08001CC0: .4byte 0x0400010C _08001CC4: .4byte 0x0000FF3B @@ -3338,69 +3338,69 @@ _08001CC8: .4byte 0x02002822 _08001CCC: .4byte 0x04000208 _08001CD0: .4byte 0x04000200 - thumb_func_start sub_1CD4 + thumb_func_start sub_1CD4 sub_1CD4: @ 0x08001CD4 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r3, r0, #0 - ldr r2, _08001D48 @ =0x02002822 - ldr r1, _08001D4C @ =0x04000208 - ldrh r0, [r1] - strh r0, [r2] - movs r0, #0 - strh r0, [r1] - ldr r1, _08001D50 @ =0x0202BF20 - ldr r4, _08001D54 @ =0x0000021D - adds r0, r1, r4 - ldrb r4, [r0] - mov sl, r2 - adds r6, r1, #0 - cmp r4, #0x1f - bhi _08001D60 - movs r1, #0x87 - lsls r1, r1, #2 - adds r0, r6, r1 - ldrb r0, [r0] - adds r0, r4, r0 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1f - bls _08001D14 - subs r0, #0x20 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + adds r3, r0, #0 + ldr r2, _08001D48 @ =0x02002822 + ldr r1, _08001D4C @ =0x04000208 + ldrh r0, [r1] + strh r0, [r2] + movs r0, #0 + strh r0, [r1] + ldr r1, _08001D50 @ =0x0202BF20 + ldr r4, _08001D54 @ =0x0000021D + adds r0, r1, r4 + ldrb r4, [r0] + mov sl, r2 + adds r6, r1, #0 + cmp r4, #0x1f + bhi _08001D60 + movs r1, #0x87 + lsls r1, r1, #2 + adds r0, r6, r1 + ldrb r0, [r0] + adds r0, r4, r0 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #0x1f + bls _08001D14 + subs r0, #0x20 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 _08001D14: - movs r2, #0 - ldr r4, _08001D58 @ =0x02002828 - mov r8, r4 - ldr r1, _08001D5C @ =0x02019C2C - mov sb, r1 - lsls r5, r0, #1 - movs r0, #0x1c - adds r0, r0, r6 - mov ip, r0 - movs r7, #0 + movs r2, #0 + ldr r4, _08001D58 @ =0x02002828 + mov r8, r4 + ldr r1, _08001D5C @ =0x02019C2C + mov sb, r1 + lsls r5, r0, #1 + movs r0, #0x1c + adds r0, r0, r6 + mov ip, r0 + movs r7, #0 _08001D28: - ldrh r0, [r4] - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r4] - lsls r0, r2, #6 - adds r0, r5, r0 - add r0, ip - strh r1, [r0] - strh r7, [r3] - adds r3, #2 - adds r0, r2, #1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #7 - bls _08001D28 - b _08001D70 - .align 2, 0 + ldrh r0, [r4] + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r4] + lsls r0, r2, #6 + adds r0, r5, r0 + add r0, ip + strh r1, [r0] + strh r7, [r3] + adds r3, #2 + adds r0, r2, #1 + lsls r0, r0, #0x18 + lsrs r2, r0, #0x18 + cmp r2, #7 + bls _08001D28 + b _08001D70 + .align 2, 0 _08001D48: .4byte 0x02002822 _08001D4C: .4byte 0x04000208 _08001D50: .4byte 0x0202BF20 @@ -3408,424 +3408,424 @@ _08001D54: .4byte 0x0000021D _08001D58: .4byte 0x02002828 _08001D5C: .4byte 0x02019C2C _08001D60: - ldrb r1, [r6, #0x14] - movs r0, #1 - orrs r0, r1 - strb r0, [r6, #0x14] - ldr r1, _08001DA8 @ =0x02002828 - mov r8, r1 - ldr r2, _08001DAC @ =0x02019C2C - mov sb, r2 + ldrb r1, [r6, #0x14] + movs r0, #1 + orrs r0, r1 + strb r0, [r6, #0x14] + ldr r1, _08001DA8 @ =0x02002828 + mov r8, r1 + ldr r2, _08001DAC @ =0x02019C2C + mov sb, r2 _08001D70: - mov r4, r8 - ldrh r0, [r4] - cmp r0, #0 - beq _08001D86 - ldr r1, _08001DB0 @ =0x0000021D - adds r0, r6, r1 - ldrb r1, [r0] - adds r1, #1 - movs r2, #0 - strb r1, [r0] - strh r2, [r4] + mov r4, r8 + ldrh r0, [r4] + cmp r0, #0 + beq _08001D86 + ldr r1, _08001DB0 @ =0x0000021D + adds r0, r6, r1 + ldrb r1, [r0] + adds r1, #1 + movs r2, #0 + strb r1, [r0] + strh r2, [r4] _08001D86: - ldr r1, _08001DB4 @ =0x04000208 - mov r2, sl - ldrh r0, [r2] - strh r0, [r1] - ldr r4, _08001DB0 @ =0x0000021D - adds r0, r6, r4 - ldrb r0, [r0] - mov r1, sb - strb 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 + ldr r1, _08001DB4 @ =0x04000208 + mov r2, sl + ldrh r0, [r2] + strh r0, [r1] + ldr r4, _08001DB0 @ =0x0000021D + adds r0, r6, r4 + ldrb r0, [r0] + mov r1, sb + strb 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 _08001DA8: .4byte 0x02002828 _08001DAC: .4byte 0x02019C2C _08001DB0: .4byte 0x0000021D _08001DB4: .4byte 0x04000208 - thumb_func_start sub_1DB8 + thumb_func_start sub_1DB8 sub_1DB8: @ 0x08001DB8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov ip, r0 - ldr r2, _08001E18 @ =0x02002822 - ldr r1, _08001E1C @ =0x04000208 - ldrh r0, [r1] - strh r0, [r2] - movs r0, #0 - strh r0, [r1] - ldr r1, _08001E20 @ =0x0202BF20 - ldr r3, _08001E24 @ =0x00000621 - adds r0, r1, r3 - ldrb r0, [r0] - adds r7, r1, #0 - cmp r0, #0 - bne _08001E28 - movs r1, #0 - mov r8, r7 - ldrb r6, [r7, #3] + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + mov ip, r0 + ldr r2, _08001E18 @ =0x02002822 + ldr r1, _08001E1C @ =0x04000208 + ldrh r0, [r1] + strh r0, [r2] + movs r0, #0 + strh r0, [r1] + ldr r1, _08001E20 @ =0x0202BF20 + ldr r3, _08001E24 @ =0x00000621 + adds r0, r1, r3 + ldrb r0, [r0] + adds r7, r1, #0 + cmp r0, #0 + bne _08001E28 + movs r1, #0 + mov r8, r7 + ldrb r6, [r7, #3] _08001DE4: - movs r2, #0 - adds r5, r1, #1 - cmp r2, r6 - bhs _08001E08 - lsls r0, r1, #2 - mov r3, ip - adds r1, r0, r3 - movs r4, #0 - mov r0, r8 - ldrb r3, [r0, #3] + movs r2, #0 + adds r5, r1, #1 + cmp r2, r6 + bhs _08001E08 + lsls r0, r1, #2 + mov r3, ip + adds r1, r0, r3 + movs r4, #0 + mov r0, r8 + ldrb r3, [r0, #3] _08001DF8: - lsls r0, r2, #1 - adds r0, r0, r1 - strh r4, [r0] - adds r0, r2, #1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, r3 - blo _08001DF8 + lsls r0, r2, #1 + adds r0, r0, r1 + strh r4, [r0] + adds r0, r2, #1 + lsls r0, r0, #0x18 + lsrs r2, r0, #0x18 + cmp r2, r3 + blo _08001DF8 _08001E08: - lsls r0, r5, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #7 - bls _08001DE4 - movs r0, #1 - strb r0, [r7, #0xc] - b _08001E9A - .align 2, 0 + lsls r0, r5, #0x18 + lsrs r1, r0, #0x18 + cmp r1, #7 + bls _08001DE4 + movs r0, #1 + strb r0, [r7, #0xc] + b _08001E9A + .align 2, 0 _08001E18: .4byte 0x02002822 _08001E1C: .4byte 0x04000208 _08001E20: .4byte 0x0202BF20 _08001E24: .4byte 0x00000621 _08001E28: - movs r1, #0 - ldrb r2, [r7, #3] - mov sb, r2 - movs r3, #0x88 - lsls r3, r3, #2 - adds r3, r3, r7 - mov r8, r3 - mov sl, r7 + movs r1, #0 + ldrb r2, [r7, #3] + mov sb, r2 + movs r3, #0x88 + lsls r3, r3, #2 + adds r3, r3, r7 + mov r8, r3 + mov sl, r7 _08001E38: - movs r2, #0 - adds r5, r1, #1 - cmp r2, sb - bhs _08001E6C - lsls r0, r1, #2 - mov r3, ip - adds r6, r0, r3 - ldr r0, _08001EB0 @ =0x0202C540 - ldrb r0, [r0] - lsls r0, r0, #1 - lsls r1, r1, #6 - adds r4, r0, r1 - mov r0, sl - ldrb r3, [r0, #3] + movs r2, #0 + adds r5, r1, #1 + cmp r2, sb + bhs _08001E6C + lsls r0, r1, #2 + mov r3, ip + adds r6, r0, r3 + ldr r0, _08001EB0 @ =0x0202C540 + ldrb r0, [r0] + lsls r0, r0, #1 + lsls r1, r1, #6 + adds r4, r0, r1 + mov r0, sl + ldrb r3, [r0, #3] _08001E54: - lsls r1, r2, #1 - adds r1, r1, r6 - lsls r0, r2, #9 - adds r0, r4, r0 - add r0, r8 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, #1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, r3 - blo _08001E54 + lsls r1, r2, #1 + adds r1, r1, r6 + lsls r0, r2, #9 + adds r0, r4, r0 + add r0, r8 + ldrh r0, [r0] + strh r0, [r1] + adds r0, r2, #1 + lsls r0, r0, #0x18 + lsrs r2, r0, #0x18 + cmp r2, r3 + blo _08001E54 _08001E6C: - lsls r0, r5, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #7 - bls _08001E38 - adds r2, r7, #0 - ldr r3, _08001EB4 @ =0x00000621 - adds r1, r2, r3 - ldrb r0, [r1] - subs r0, #1 - movs r3, #0 - strb r0, [r1] - movs r0, #0xc4 - lsls r0, r0, #3 - adds r2, r2, r0 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1f - bls _08001E98 - strb r3, [r2] + lsls r0, r5, #0x18 + lsrs r1, r0, #0x18 + cmp r1, #7 + bls _08001E38 + adds r2, r7, #0 + ldr r3, _08001EB4 @ =0x00000621 + adds r1, r2, r3 + ldrb r0, [r1] + subs r0, #1 + movs r3, #0 + strb r0, [r1] + movs r0, #0xc4 + lsls r0, r0, #3 + adds r2, r2, r0 + ldrb r0, [r2] + adds r0, #1 + strb r0, [r2] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #0x1f + bls _08001E98 + strb r3, [r2] _08001E98: - strb r3, [r7, #0xc] + strb r3, [r7, #0xc] _08001E9A: - ldr r1, _08001EB8 @ =0x04000208 - ldr r2, _08001EBC @ =0x02002822 - ldrh r0, [r2] - 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 + ldr r1, _08001EB8 @ =0x04000208 + ldr r2, _08001EBC @ =0x02002822 + ldrh r0, [r2] + 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 _08001EB0: .4byte 0x0202C540 _08001EB4: .4byte 0x00000621 _08001EB8: .4byte 0x04000208 _08001EBC: .4byte 0x02002822 - thumb_func_start sub_1EC0 + thumb_func_start sub_1EC0 sub_1EC0: @ 0x08001EC0 - push {r4, lr} - ldr r4, _08001F00 @ =0x0202BF20 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08001EDC - ldr r1, _08001F04 @ =0x02002826 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _08001F42 - strb r0, [r4, #0xe] + push {r4, lr} + ldr r4, _08001F00 @ =0x0202BF20 + ldrb r0, [r4, #0xe] + cmp r0, #0 + beq _08001EDC + ldr r1, _08001F04 @ =0x02002826 + ldrb r0, [r1] + subs r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #0 + bne _08001F42 + strb r0, [r4, #0xe] _08001EDC: - ldrb r3, [r4] - cmp r3, #0 - beq _08001F16 - ldrb r0, [r4, #1] - cmp r0, #2 - beq _08001F10 - cmp r0, #4 - bne _08001F42 - ldrb r0, [r4, #0xd] - cmp r0, #8 - bhi _08001F08 - ldrb r0, [r4, #0x12] - cmp r0, #0 - bne _08001F10 - movs r0, #1 - strb r0, [r4, #0x15] - b _08001F42 - .align 2, 0 + ldrb r3, [r4] + cmp r3, #0 + beq _08001F16 + ldrb r0, [r4, #1] + cmp r0, #2 + beq _08001F10 + cmp r0, #4 + bne _08001F42 + ldrb r0, [r4, #0xd] + cmp r0, #8 + bhi _08001F08 + ldrb r0, [r4, #0x12] + cmp r0, #0 + bne _08001F10 + movs r0, #1 + strb r0, [r4, #0x15] + b _08001F42 + .align 2, 0 _08001F00: .4byte 0x0202BF20 _08001F04: .4byte 0x02002826 _08001F08: - ldrb r0, [r4, #0x15] - cmp r0, #0 - bne _08001F42 - strb r0, [r4, #0xd] + ldrb r0, [r4, #0x15] + cmp r0, #0 + bne _08001F42 + strb r0, [r4, #0xd] _08001F10: - bl sub_1FEC - b _08001F42 + bl sub_1FEC + b _08001F42 _08001F16: - ldrb r2, [r4, #1] - cmp r2, #4 - beq _08001F20 - cmp r2, #2 - bne _08001F42 + ldrb r2, [r4, #1] + cmp r2, #4 + beq _08001F20 + cmp r2, #2 + bne _08001F42 _08001F20: - ldr r1, _08001F48 @ =0x02002824 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #6 - bls _08001F42 - cmp r2, #4 - bne _08001F38 - movs r0, #2 - strb r0, [r4, #0x15] + ldr r1, _08001F48 @ =0x02002824 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #6 + bls _08001F42 + cmp r2, #4 + bne _08001F38 + movs r0, #2 + strb r0, [r4, #0x15] _08001F38: - cmp r2, #2 - bne _08001F42 - strb r3, [r4, #2] - strb r3, [r4, #3] - strb r3, [r4, #0x11] + cmp r2, #2 + bne _08001F42 + strb r3, [r4, #2] + strb r3, [r4, #3] + strb r3, [r4, #0x11] _08001F42: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08001F48: .4byte 0x02002824 - thumb_func_start sub_1F4C + thumb_func_start sub_1F4C sub_1F4C: @ 0x08001F4C - push {lr} - bl sub_2308 - bl sub_1FEC - pop {r0} - bx r0 + push {lr} + bl sub_2308 + bl sub_1FEC + pop {r0} + bx r0 - thumb_func_start sub_1F5C + thumb_func_start sub_1F5C sub_1F5C: @ 0x08001F5C - push {r4, lr} - ldr r0, _08001F90 @ =0x04000128 - ldr r1, [r0] - ldr r4, _08001F94 @ =0x0202BF20 - lsls r0, r1, #0x1a - lsrs r0, r0, #0x1e - strb r0, [r4, #2] - ldrb r0, [r4, #1] - cmp r0, #2 - beq _08001F98 - cmp r0, #4 - bne _08001FB6 - movs r0, #0x40 - ands r1, r0 - cmp r1, #0 - beq _08001F80 - movs r0, #1 - strb r0, [r4, #0x12] + push {r4, lr} + ldr r0, _08001F90 @ =0x04000128 + ldr r1, [r0] + ldr r4, _08001F94 @ =0x0202BF20 + lsls r0, r1, #0x1a + lsrs r0, r0, #0x1e + strb r0, [r4, #2] + ldrb r0, [r4, #1] + cmp r0, #2 + beq _08001F98 + cmp r0, #4 + bne _08001FB6 + movs r0, #0x40 + ands r1, r0 + cmp r1, #0 + beq _08001F80 + movs r0, #1 + strb r0, [r4, #0x12] _08001F80: - bl sub_20FC - bl sub_223C - bl sub_2338 - b _08001FB6 - .align 2, 0 + bl sub_20FC + bl sub_223C + bl sub_2338 + b _08001FB6 + .align 2, 0 _08001F90: .4byte 0x04000128 _08001F94: .4byte 0x0202BF20 _08001F98: - bl sub_1FFC - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08001FB6 - ldrb r0, [r4] - cmp r0, #0 - beq _08001FB2 - movs r0, #3 - strb r0, [r4, #1] - movs r0, #8 - strb r0, [r4, #0xd] - b _08001FB6 + bl sub_1FFC + lsls r0, r0, #0x18 + cmp r0, #0 + beq _08001FB6 + ldrb r0, [r4] + cmp r0, #0 + beq _08001FB2 + movs r0, #3 + strb r0, [r4, #1] + movs r0, #8 + strb r0, [r4, #0xd] + b _08001FB6 _08001FB2: - movs r0, #4 - strb r0, [r4, #1] + movs r0, #4 + strb r0, [r4, #1] _08001FB6: - ldr r3, _08001FDC @ =0x0202BF20 - ldrb r0, [r3, #0xd] - adds r0, #1 - movs r2, #0 - strb r0, [r3, #0xd] - ldr r1, _08001FE0 @ =0x02002824 - strb r2, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #8 - bne _08001FD6 - ldr r0, _08001FE4 @ =0x0202A554 - ldr r2, _08001FE8 @ =0x00000621 - adds r1, r3, r2 - ldrb r1, [r1] - strb r1, [r0] + ldr r3, _08001FDC @ =0x0202BF20 + ldrb r0, [r3, #0xd] + adds r0, #1 + movs r2, #0 + strb r0, [r3, #0xd] + ldr r1, _08001FE0 @ =0x02002824 + strb r2, [r1] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #8 + bne _08001FD6 + ldr r0, _08001FE4 @ =0x0202A554 + ldr r2, _08001FE8 @ =0x00000621 + adds r1, r3, r2 + ldrb r1, [r1] + strb r1, [r0] _08001FD6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08001FDC: .4byte 0x0202BF20 _08001FE0: .4byte 0x02002824 _08001FE4: .4byte 0x0202A554 _08001FE8: .4byte 0x00000621 - thumb_func_start sub_1FEC + thumb_func_start sub_1FEC sub_1FEC: @ 0x08001FEC - ldr r0, _08001FF8 @ =0x04000128 - ldrh r1, [r0] - movs r2, #0x80 - orrs r1, r2 - strh r1, [r0] - bx lr - .align 2, 0 + ldr r0, _08001FF8 @ =0x04000128 + ldrh r1, [r0] + movs r2, #0x80 + orrs r1, r2 + strh r1, [r0] + bx lr + .align 2, 0 _08001FF8: .4byte 0x04000128 - thumb_func_start sub_1FFC + thumb_func_start sub_1FFC sub_1FFC: @ 0x08001FFC - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - movs r7, #0 - ldr r5, _08002018 @ =0x0000FFFF - ldr r0, _0800201C @ =0x0202BF20 - ldrb r1, [r0, #0x10] - adds r4, r0, #0 - cmp r1, #1 - bne _0800202C - ldr r1, _08002020 @ =0x0400012A - ldr r2, _08002024 @ =0x00008FFF - b _08002030 - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + movs r7, #0 + ldr r5, _08002018 @ =0x0000FFFF + ldr r0, _0800201C @ =0x0202BF20 + ldrb r1, [r0, #0x10] + adds r4, r0, #0 + cmp r1, #1 + bne _0800202C + ldr r1, _08002020 @ =0x0400012A + ldr r2, _08002024 @ =0x00008FFF + b _08002030 + .align 2, 0 _08002018: .4byte 0x0000FFFF _0800201C: .4byte 0x0202BF20 _08002020: .4byte 0x0400012A _08002024: .4byte 0x00008FFF _08002028: - movs r7, #0 - b _080020B2 + movs r7, #0 + b _080020B2 _0800202C: - ldr r1, _08002080 @ =0x0400012A - ldr r2, _08002084 @ =0x0000D13B + ldr r1, _08002080 @ =0x0400012A + ldr r2, _08002084 @ =0x0000D13B _08002030: - adds r0, r2, #0 - strh r0, [r1] - movs r0, #0 - strb r0, [r4, #0x10] - ldr r0, _08002088 @ =0x04000120 - ldr r1, [r0, #4] - ldr r0, [r0] - str r0, [r4, #4] - str r1, [r4, #8] - movs r3, #0 - ldr r0, _0800208C @ =0x02002827 - mov sb, r0 - adds r6, r4, #0 - ldr r1, _08002090 @ =0x00008FFF - mov r8, r1 - ldr r2, _08002094 @ =0x0000FFFF - mov ip, r2 + adds r0, r2, #0 + strh r0, [r1] + movs r0, #0 + strb r0, [r4, #0x10] + ldr r0, _08002088 @ =0x04000120 + ldr r1, [r0, #4] + ldr r0, [r0] + str r0, [r4, #4] + str r1, [r4, #8] + movs r3, #0 + ldr r0, _0800208C @ =0x02002827 + mov sb, r0 + adds r6, r4, #0 + ldr r1, _08002090 @ =0x00008FFF + mov r8, r1 + ldr r2, _08002094 @ =0x0000FFFF + mov ip, r2 _08002052: - lsls r0, r3, #1 - adds r1, r6, #4 - adds r0, r0, r1 - ldrh r2, [r0] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - ldr r1, _08002098 @ =0x0000D138 - cmp r0, r1 - beq _0800206C - adds r0, r2, #0 - cmp r0, r8 - bne _0800209C + lsls r0, r3, #1 + adds r1, r6, #4 + adds r0, r0, r1 + ldrh r2, [r0] + movs r0, #4 + rsbs r0, r0, #0 + ands r0, r2 + ldr r1, _08002098 @ =0x0000D138 + cmp r0, r1 + beq _0800206C + adds r0, r2, #0 + cmp r0, r8 + bne _0800209C _0800206C: - adds r0, r7, #1 - lsls r0, r0, #0x18 - lsrs r7, r0, #0x18 - adds r0, r2, #0 - cmp r5, r0 - bls _080020A8 - cmp r0, #0 - beq _080020A8 - adds r5, r2, #0 - b _080020A8 - .align 2, 0 + adds r0, r7, #1 + lsls r0, r0, #0x18 + lsrs r7, r0, #0x18 + adds r0, r2, #0 + cmp r5, r0 + bls _080020A8 + cmp r0, #0 + beq _080020A8 + adds r5, r2, #0 + b _080020A8 + .align 2, 0 _08002080: .4byte 0x0400012A _08002084: .4byte 0x0000D13B _08002088: .4byte 0x04000120 @@ -3834,801 +3834,801 @@ _08002090: .4byte 0x00008FFF _08002094: .4byte 0x0000FFFF _08002098: .4byte 0x0000D138 _0800209C: - cmp r0, ip - bne _08002028 - ldrb r0, [r6, #2] - cmp r3, r0 - bne _080020A8 - movs r7, #0 + cmp r0, ip + bne _08002028 + ldrb r0, [r6, #2] + cmp r3, r0 + bne _080020A8 + movs r7, #0 _080020A8: - adds r0, r3, #1 - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #1 - bls _08002052 + adds r0, r3, #1 + lsls r0, r0, #0x18 + lsrs r3, r0, #0x18 + cmp r3, #1 + bls _08002052 _080020B2: - strb r7, [r4, #3] - adds r0, r7, #0 - cmp r0, #2 - bne _080020E2 - mov r1, sb - ldrb r1, [r1] - cmp r0, r1 - bne _080020D4 - ldrh r1, [r4, #4] - ldr r0, _080020D0 @ =0x00008FFF - cmp r1, r0 - bne _080020D4 - movs r0, #1 - b _080020EE - .align 2, 0 + strb r7, [r4, #3] + adds r0, r7, #0 + cmp r0, #2 + bne _080020E2 + mov r1, sb + ldrb r1, [r1] + cmp r0, r1 + bne _080020D4 + ldrh r1, [r4, #4] + ldr r0, _080020D0 @ =0x00008FFF + cmp r1, r0 + bne _080020D4 + movs r0, #1 + b _080020EE + .align 2, 0 _080020D0: .4byte 0x00008FFF _080020D4: - ldrb r0, [r4, #3] - cmp r0, #2 - bne _080020E2 - movs r0, #3 - ands r5, r0 - adds r0, r5, #1 - b _080020E4 + ldrb r0, [r4, #3] + cmp r0, #2 + bne _080020E2 + movs r0, #3 + ands r5, r0 + adds r0, r5, #1 + b _080020E4 _080020E2: - movs r0, #0 + movs r0, #0 _080020E4: - strb r0, [r4, #0x11] - ldrb r0, [r4, #3] - mov r2, sb - strb r0, [r2] - movs r0, #0 + strb r0, [r4, #0x11] + ldrb r0, [r4, #3] + mov r2, sb + strb r0, [r2] + movs r0, #0 _080020EE: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_start sub_20FC + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_start sub_20FC sub_20FC: @ 0x080020FC - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #8 - ldr r0, _08002158 @ =0x04000120 - ldr r1, [r0, #4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, #4] - ldr r0, _0800215C @ =0x0202BF20 - ldrb r1, [r0, #0x18] - adds r6, r0, #0 - cmp r1, #0 - bne _08002164 - movs r3, #0 - ldr r7, _08002160 @ =0x02002820 - ldrb r0, [r6, #3] - cmp r3, r0 - bhs _0800214C - adds r5, r6, #0 - ldrh r1, [r6, #0x16] - adds r4, r7, #0 - adds r2, r6, #0 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + sub sp, #8 + ldr r0, _08002158 @ =0x04000120 + ldr r1, [r0, #4] + ldr r0, [r0] + str r0, [sp] + str r1, [sp, #4] + ldr r0, _0800215C @ =0x0202BF20 + ldrb r1, [r0, #0x18] + adds r6, r0, #0 + cmp r1, #0 + bne _08002164 + movs r3, #0 + ldr r7, _08002160 @ =0x02002820 + ldrb r0, [r6, #3] + cmp r3, r0 + bhs _0800214C + adds r5, r6, #0 + ldrh r1, [r6, #0x16] + adds r4, r7, #0 + adds r2, r6, #0 _0800212C: - lsls r0, r3, #1 - add r0, sp - ldrh r0, [r0] - cmp r1, r0 - beq _08002140 - ldrb r0, [r4] - cmp r0, #0 - beq _08002140 - movs r0, #1 - strb r0, [r5, #0x13] + lsls r0, r3, #1 + add r0, sp + ldrh r0, [r0] + cmp r1, r0 + beq _08002140 + ldrb r0, [r4] + cmp r0, #0 + beq _08002140 + movs r0, #1 + strb r0, [r5, #0x13] _08002140: - adds r0, r3, #1 - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - ldrb r0, [r2, #3] - cmp r3, r0 - blo _0800212C + adds r0, r3, #1 + lsls r0, r0, #0x18 + lsrs r3, r0, #0x18 + ldrb r0, [r2, #3] + cmp r3, r0 + blo _0800212C _0800214C: - movs r0, #0 - strh r0, [r6, #0x16] - movs r0, #1 - strb r0, [r7] - b _08002224 - .align 2, 0 + movs r0, #0 + strh r0, [r6, #0x16] + movs r0, #1 + strb r0, [r7] + b _08002224 + .align 2, 0 _08002158: .4byte 0x04000120 _0800215C: .4byte 0x0202BF20 _08002160: .4byte 0x02002820 _08002164: - movs r2, #0xc4 - lsls r2, r2, #3 - adds r1, r6, r2 - adds r2, #1 - adds r0, r6, r2 - ldrb r2, [r0] - ldrb r1, [r1] - adds r0, r2, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1f - bls _08002182 - subs r0, #0x20 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 + movs r2, #0xc4 + lsls r2, r2, #3 + adds r1, r6, r2 + adds r2, #1 + adds r0, r6, r2 + ldrb r2, [r0] + ldrb r1, [r1] + adds r0, r2, r1 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #0x1f + bls _08002182 + subs r0, #0x20 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 _08002182: - cmp r2, #0x1f - bhi _080021F8 - movs r3, #0 - ldrb r1, [r6, #3] - cmp r3, r1 - bhs _08002200 - adds r5, r6, #0 - ldr r7, _080021F0 @ =0x0200282A - lsls r0, r0, #1 - mov ip, r0 - movs r2, #0x88 - lsls r2, r2, #2 - adds r2, r2, r6 - mov sb, r2 - ldr r0, _080021F4 @ =0x02002826 - mov r8, r0 + cmp r2, #0x1f + bhi _080021F8 + movs r3, #0 + ldrb r1, [r6, #3] + cmp r3, r1 + bhs _08002200 + adds r5, r6, #0 + ldr r7, _080021F0 @ =0x0200282A + lsls r0, r0, #1 + mov ip, r0 + movs r2, #0x88 + lsls r2, r2, #2 + adds r2, r2, r6 + mov sb, r2 + ldr r0, _080021F4 @ =0x02002826 + mov r8, r0 _080021A2: - lsls r0, r3, #1 - mov r1, sp - adds r4, r1, r0 - ldrh r2, [r4] - ldrh r1, [r5, #0x16] - adds r0, r2, r1 - strh r0, [r5, #0x16] - ldrh r0, [r7] - orrs r0, r2 - strh r0, [r7] - ldrb r0, [r5, #0x19] - lsls r0, r0, #6 - add r0, ip - lsls r1, r3, #9 - adds r0, r0, r1 - add r0, sb - strh r2, [r0] - ldrb r0, [r5, #0x18] - cmp r0, #1 - bne _080021E2 - ldrb r0, [r6, #0xe] - cmp r0, #0 - bne _080021E2 - ldrh r0, [r4] - movs r1, #0xf - ands r1, r0 - cmp r1, #1 - bne _080021E2 - strb r1, [r5, #0xe] - movs r0, #5 - mov r2, r8 - strb r0, [r2] + lsls r0, r3, #1 + mov r1, sp + adds r4, r1, r0 + ldrh r2, [r4] + ldrh r1, [r5, #0x16] + adds r0, r2, r1 + strh r0, [r5, #0x16] + ldrh r0, [r7] + orrs r0, r2 + strh r0, [r7] + ldrb r0, [r5, #0x19] + lsls r0, r0, #6 + add r0, ip + lsls r1, r3, #9 + adds r0, r0, r1 + add r0, sb + strh r2, [r0] + ldrb r0, [r5, #0x18] + cmp r0, #1 + bne _080021E2 + ldrb r0, [r6, #0xe] + cmp r0, #0 + bne _080021E2 + ldrh r0, [r4] + movs r1, #0xf + ands r1, r0 + cmp r1, #1 + bne _080021E2 + strb r1, [r5, #0xe] + movs r0, #5 + mov r2, r8 + strb r0, [r2] _080021E2: - adds r0, r3, #1 - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - ldrb r0, [r5, #3] - cmp r3, r0 - blo _080021A2 - b _08002200 - .align 2, 0 + adds r0, r3, #1 + lsls r0, r0, #0x18 + lsrs r3, r0, #0x18 + ldrb r0, [r5, #3] + cmp r3, r0 + blo _080021A2 + b _08002200 + .align 2, 0 _080021F0: .4byte 0x0200282A _080021F4: .4byte 0x02002826 _080021F8: - ldrb r1, [r6, #0x14] - movs r0, #2 - orrs r0, r1 - strb r0, [r6, #0x14] + ldrb r1, [r6, #0x14] + movs r0, #2 + orrs r0, r1 + strb r0, [r6, #0x14] _08002200: - ldrb r0, [r6, #0x19] - adds r0, #1 - strb r0, [r6, #0x19] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #8 - bne _08002224 - ldr r2, _08002234 @ =0x0200282A - ldrh r0, [r2] - cmp r0, #0 - beq _08002224 - ldr r1, _08002238 @ =0x00000621 - adds r0, r6, r1 - ldrb r1, [r0] - adds r1, #1 - strb r1, [r0] - movs r0, #0 - strh r0, [r2] + ldrb r0, [r6, #0x19] + adds r0, #1 + strb r0, [r6, #0x19] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #8 + bne _08002224 + ldr r2, _08002234 @ =0x0200282A + ldrh r0, [r2] + cmp r0, #0 + beq _08002224 + ldr r1, _08002238 @ =0x00000621 + adds r0, r6, r1 + ldrb r1, [r0] + adds r1, #1 + strb r1, [r0] + movs r0, #0 + strh r0, [r2] _08002224: - add sp, #8 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + add sp, #8 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08002234: .4byte 0x0200282A _08002238: .4byte 0x00000621 - thumb_func_start sub_223C + thumb_func_start sub_223C sub_223C: @ 0x0800223C - ldr r0, _08002278 @ =0x0202BF20 - ldrb r2, [r0, #0x18] - adds r3, r0, #0 - cmp r2, #8 - bne _0800228E - ldr r1, _0800227C @ =0x0400012A - ldrh r0, [r3, #0x16] - strh r0, [r1] - ldr r1, _08002280 @ =0x02002825 - ldrb r2, [r1] - cmp r2, #0 - bne _08002288 - ldr r0, _08002284 @ =0x0000021D - adds r1, r3, r0 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - movs r0, #0x87 - lsls r0, r0, #2 - adds r1, r3, r0 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1f - bls _080022FE - strb r2, [r1] - b _080022FE - .align 2, 0 + ldr r0, _08002278 @ =0x0202BF20 + ldrb r2, [r0, #0x18] + adds r3, r0, #0 + cmp r2, #8 + bne _0800228E + ldr r1, _0800227C @ =0x0400012A + ldrh r0, [r3, #0x16] + strh r0, [r1] + ldr r1, _08002280 @ =0x02002825 + ldrb r2, [r1] + cmp r2, #0 + bne _08002288 + ldr r0, _08002284 @ =0x0000021D + adds r1, r3, r0 + ldrb r0, [r1] + subs r0, #1 + strb r0, [r1] + movs r0, #0x87 + lsls r0, r0, #2 + adds r1, r3, r0 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #0x1f + bls _080022FE + strb r2, [r1] + b _080022FE + .align 2, 0 _08002278: .4byte 0x0202BF20 _0800227C: .4byte 0x0400012A _08002280: .4byte 0x02002825 _08002284: .4byte 0x0000021D _08002288: - movs r0, #0 - strb r0, [r1] - b _080022FE + movs r0, #0 + strb r0, [r1] + b _080022FE _0800228E: - ldr r1, _080022B0 @ =0x02002825 - cmp r2, #0 - bne _080022A2 - ldr r2, _080022B4 @ =0x0000021D - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, #0 - bne _080022A2 - movs r0, #1 - strb r0, [r1] + ldr r1, _080022B0 @ =0x02002825 + cmp r2, #0 + bne _080022A2 + ldr r2, _080022B4 @ =0x0000021D + adds r0, r3, r2 + ldrb r0, [r0] + cmp r0, #0 + bne _080022A2 + movs r0, #1 + strb r0, [r1] _080022A2: - ldrb r0, [r1] - cmp r0, #0 - beq _080022BC - ldr r1, _080022B8 @ =0x0400012A - movs r0, #0 - strh r0, [r1] - b _080022D8 - .align 2, 0 + ldrb r0, [r1] + cmp r0, #0 + beq _080022BC + ldr r1, _080022B8 @ =0x0400012A + movs r0, #0 + strh r0, [r1] + b _080022D8 + .align 2, 0 _080022B0: .4byte 0x02002825 _080022B4: .4byte 0x0000021D _080022B8: .4byte 0x0400012A _080022BC: - ldr r2, _08002300 @ =0x0400012A - movs r1, #0x87 - lsls r1, r1, #2 - adds r0, r3, r1 - ldrb r1, [r0] - lsls r1, r1, #1 - ldrb r0, [r3, #0x18] - lsls r0, r0, #6 - adds r1, r1, r0 - adds r0, r3, #0 - adds r0, #0x1c - adds r1, r1, r0 - ldrh r0, [r1] - strh r0, [r2] + ldr r2, _08002300 @ =0x0400012A + movs r1, #0x87 + lsls r1, r1, #2 + adds r0, r3, r1 + ldrb r1, [r0] + lsls r1, r1, #1 + ldrb r0, [r3, #0x18] + lsls r0, r0, #6 + adds r1, r1, r0 + adds r0, r3, #0 + adds r0, #0x1c + adds r1, r1, r0 + ldrh r0, [r1] + strh r0, [r2] _080022D8: - ldrb r0, [r3, #0xe] - cmp r0, #0 - bne _080022F8 - ldrb r0, [r3, #0x18] - cmp r0, #0 - bne _080022F8 - ldr r2, _08002304 @ =0x00000621 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, #3 - bls _080022F8 - ldr r0, _08002300 @ =0x0400012A - ldrh r1, [r0] - movs r2, #1 - orrs r1, r2 - strh r1, [r0] + ldrb r0, [r3, #0xe] + cmp r0, #0 + bne _080022F8 + ldrb r0, [r3, #0x18] + cmp r0, #0 + bne _080022F8 + ldr r2, _08002304 @ =0x00000621 + adds r0, r3, r2 + ldrb r0, [r0] + cmp r0, #3 + bls _080022F8 + ldr r0, _08002300 @ =0x0400012A + ldrh r1, [r0] + movs r2, #1 + orrs r1, r2 + strh r1, [r0] _080022F8: - ldrb r0, [r3, #0x18] - adds r0, #1 - strb r0, [r3, #0x18] + ldrb r0, [r3, #0x18] + adds r0, #1 + strb r0, [r3, #0x18] _080022FE: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _08002300: .4byte 0x0400012A _08002304: .4byte 0x00000621 - thumb_func_start sub_2308 + thumb_func_start sub_2308 sub_2308: @ 0x08002308 - ldr r0, _08002324 @ =0x0202BF20 - ldrb r0, [r0] - cmp r0, #0 - beq _08002322 - ldr r2, _08002328 @ =0x0400010E - ldrh r1, [r2] - ldr r0, _0800232C @ =0x0000FF7F - ands r0, r1 - strh r0, [r2] - ldr r1, _08002330 @ =0x0400010C - ldr r2, _08002334 @ =0x0000FF3B - adds r0, r2, #0 - strh r0, [r1] + ldr r0, _08002324 @ =0x0202BF20 + ldrb r0, [r0] + cmp r0, #0 + beq _08002322 + ldr r2, _08002328 @ =0x0400010E + ldrh r1, [r2] + ldr r0, _0800232C @ =0x0000FF7F + ands r0, r1 + strh r0, [r2] + ldr r1, _08002330 @ =0x0400010C + ldr r2, _08002334 @ =0x0000FF3B + adds r0, r2, #0 + strh r0, [r1] _08002322: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _08002324: .4byte 0x0202BF20 _08002328: .4byte 0x0400010E _0800232C: .4byte 0x0000FF7F _08002330: .4byte 0x0400010C _08002334: .4byte 0x0000FF3B - thumb_func_start sub_2338 + thumb_func_start sub_2338 sub_2338: @ 0x08002338 - ldr r1, _08002348 @ =0x0202BF20 - ldrb r0, [r1, #0x19] - cmp r0, #8 - bne _0800234C - movs r0, #0 - strb r0, [r1, #0x18] - strb r0, [r1, #0x19] - b _0800235C - .align 2, 0 + ldr r1, _08002348 @ =0x0202BF20 + ldrb r0, [r1, #0x19] + cmp r0, #8 + bne _0800234C + movs r0, #0 + strb r0, [r1, #0x18] + strb r0, [r1, #0x19] + b _0800235C + .align 2, 0 _08002348: .4byte 0x0202BF20 _0800234C: - ldrb r0, [r1] - cmp r0, #0 - beq _0800235C - ldr r0, _08002360 @ =0x0400010E - ldrh r1, [r0] - movs r2, #0x80 - orrs r1, r2 - strh r1, [r0] + ldrb r0, [r1] + cmp r0, #0 + beq _0800235C + ldr r0, _08002360 @ =0x0400010E + ldrh r1, [r0] + movs r2, #0x80 + orrs r1, r2 + strh r1, [r0] _0800235C: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _08002360: .4byte 0x0400010E - thumb_func_start sub_2364 + thumb_func_start sub_2364 sub_2364: @ 0x08002364 - push {r4, r5, lr} - ldr r1, _080023A8 @ =0x0202BF20 - ldr r2, _080023AC @ =0x0000021D - adds r0, r1, r2 - movs r2, #0 - strb r2, [r0] - movs r3, #0x87 - lsls r3, r3, #2 - adds r0, r1, r3 - strb r2, [r0] - movs r0, #0 - adds r5, r1, #0 - adds r5, #0x1c - ldr r4, _080023B0 @ =0x0000EFFF + push {r4, r5, lr} + ldr r1, _080023A8 @ =0x0202BF20 + ldr r2, _080023AC @ =0x0000021D + adds r0, r1, r2 + movs r2, #0 + strb r2, [r0] + movs r3, #0x87 + lsls r3, r3, #2 + adds r0, r1, r3 + strb r2, [r0] + movs r0, #0 + adds r5, r1, #0 + adds r5, #0x1c + ldr r4, _080023B0 @ =0x0000EFFF _08002380: - movs r2, #0 - adds r1, r0, #1 - lsls r3, r0, #6 + movs r2, #0 + adds r1, r0, #1 + lsls r3, r0, #6 _08002386: - lsls r0, r2, #1 - adds r0, r0, r3 - adds r0, r0, r5 - strh r4, [r0] - adds r0, r2, #1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0x1f - bls _08002386 - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #7 - bls _08002380 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + lsls r0, r2, #1 + adds r0, r0, r3 + adds r0, r0, r5 + strh r4, [r0] + adds r0, r2, #1 + lsls r0, r0, #0x18 + lsrs r2, r0, #0x18 + cmp r2, #0x1f + bls _08002386 + lsls r0, r1, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #7 + bls _08002380 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _080023A8: .4byte 0x0202BF20 _080023AC: .4byte 0x0000021D _080023B0: .4byte 0x0000EFFF - thumb_func_start sub_23B4 + thumb_func_start sub_23B4 sub_23B4: @ 0x080023B4 - push {r4, r5, r6, r7, lr} - ldr r1, _08002408 @ =0x0202BF20 - ldr r2, _0800240C @ =0x00000621 - adds r0, r1, r2 - movs r2, #0 - strb r2, [r0] - movs r3, #0xc4 - lsls r3, r3, #3 - adds r0, r1, r3 - strb r2, [r0] - movs r0, #0x88 - lsls r0, r0, #2 - adds r7, r1, r0 - ldr r6, _08002410 @ =0x0000EFFF + push {r4, r5, r6, r7, lr} + ldr r1, _08002408 @ =0x0202BF20 + ldr r2, _0800240C @ =0x00000621 + adds r0, r1, r2 + movs r2, #0 + strb r2, [r0] + movs r3, #0xc4 + lsls r3, r3, #3 + adds r0, r1, r3 + strb r2, [r0] + movs r0, #0x88 + lsls r0, r0, #2 + adds r7, r1, r0 + ldr r6, _08002410 @ =0x0000EFFF _080023D0: - movs r0, #0 - adds r5, r2, #1 - lsls r4, r2, #9 + movs r0, #0 + adds r5, r2, #1 + lsls r4, r2, #9 _080023D6: - movs r2, #0 - adds r1, r0, #1 - lsls r3, r0, #6 + movs r2, #0 + adds r1, r0, #1 + lsls r3, r0, #6 _080023DC: - lsls r0, r2, #1 - adds r0, r0, r3 - adds r0, r0, r4 - adds r0, r0, r7 - strh r6, [r0] - adds r0, r2, #1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0x1f - bls _080023DC - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #7 - bls _080023D6 - lsls r0, r5, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #1 - bls _080023D0 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + lsls r0, r2, #1 + adds r0, r0, r3 + adds r0, r0, r4 + adds r0, r0, r7 + strh r6, [r0] + adds r0, r2, #1 + lsls r0, r0, #0x18 + lsrs r2, r0, #0x18 + cmp r2, #0x1f + bls _080023DC + lsls r0, r1, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #7 + bls _080023D6 + lsls r0, r5, #0x18 + lsrs r2, r0, #0x18 + cmp r2, #1 + bls _080023D0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08002408: .4byte 0x0202BF20 _0800240C: .4byte 0x00000621 _08002410: .4byte 0x0000EFFF - thumb_func_start sub_2414 + thumb_func_start sub_2414 sub_2414: @ 0x08002414 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0xc - str r0, [sp] - str r2, [sp, #8] - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - str r1, [sp, #4] - ldr r4, _080024CC @ =0x03005000 - movs r7, #0 - ldr r0, _080024D0 @ =0x08057C46 - movs r2, #0x80 - lsls r2, r2, #2 - adds r1, r4, #0 - bl CpuSet - movs r1, #0 - ldr r0, [sp, #4] - cmp r7, r0 - bhs _080024B8 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0xc + str r0, [sp] + str r2, [sp, #8] + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + str r1, [sp, #4] + ldr r4, _080024CC @ =0x03005000 + movs r7, #0 + ldr r0, _080024D0 @ =0x08057C46 + movs r2, #0x80 + lsls r2, r2, #2 + adds r1, r4, #0 + bl CpuSet + movs r1, #0 + ldr r0, [sp, #4] + cmp r7, r0 + bhs _080024B8 _08002442: - movs r0, #0xb8 - muls r0, r1, r0 - ldr r2, [sp, #8] - adds r6, r2, r0 - ldrh r0, [r6] - adds r2, r1, #1 - mov sl, r2 - cmp r0, #0 - beq _080024AC - lsls r0, r1, #2 - ldr r1, [sp] - adds r0, r0, r1 - ldr r0, [r0] - ldrh r5, [r0] - adds r0, #2 - lsls r1, r7, #3 - ldr r4, _080024CC @ =0x03005000 - adds r1, r1, r4 - lsls r2, r5, #2 - bl CpuSet - movs r3, #0 - cmp r3, r5 - bhs _080024AC - mov r8, r4 - ldr r2, _080024D4 @ =0x000001FF - mov sb, r2 - movs r0, #0xff - mov ip, r0 + movs r0, #0xb8 + muls r0, r1, r0 + ldr r2, [sp, #8] + adds r6, r2, r0 + ldrh r0, [r6] + adds r2, r1, #1 + mov sl, r2 + cmp r0, #0 + beq _080024AC + lsls r0, r1, #2 + ldr r1, [sp] + adds r0, r0, r1 + ldr r0, [r0] + ldrh r5, [r0] + adds r0, #2 + lsls r1, r7, #3 + ldr r4, _080024CC @ =0x03005000 + adds r1, r1, r4 + lsls r2, r5, #2 + bl CpuSet + movs r3, #0 + cmp r3, r5 + bhs _080024AC + mov r8, r4 + ldr r2, _080024D4 @ =0x000001FF + mov sb, r2 + movs r0, #0xff + mov ip, r0 _0800247C: - adds r2, r7, #0 - lsls r0, r2, #3 - mov r1, r8 - adds r4, r0, r1 - lsls r1, r3, #3 - adds r1, #8 - adds r1, r6, r1 - adds r0, r2, #1 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - strh r2, [r1] - ldrh r2, [r4, #2] - mov r0, sb - ands r0, r2 - strh r0, [r1, #2] - ldrh r2, [r4] - mov r0, ip - ands r0, r2 - strh r0, [r1, #4] - adds r0, r3, #1 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - cmp r3, r5 - blo _0800247C + adds r2, r7, #0 + lsls r0, r2, #3 + mov r1, r8 + adds r4, r0, r1 + lsls r1, r3, #3 + adds r1, #8 + adds r1, r6, r1 + adds r0, r2, #1 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + strh r2, [r1] + ldrh r2, [r4, #2] + mov r0, sb + ands r0, r2 + strh r0, [r1, #2] + ldrh r2, [r4] + mov r0, ip + ands r0, r2 + strh r0, [r1, #4] + adds r0, r3, #1 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + cmp r3, r5 + blo _0800247C _080024AC: - mov r2, sl - lsls r0, r2, #0x10 - lsrs r1, r0, #0x10 - ldr r0, [sp, #4] - cmp r1, r0 - blo _08002442 + mov r2, sl + lsls r0, r2, #0x10 + lsrs r1, r0, #0x10 + ldr r0, [sp, #4] + cmp r1, r0 + blo _08002442 _080024B8: - lsls r0, r7, #0x10 - asrs r0, r0, #0x10 - add sp, #0xc - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - .align 2, 0 + lsls r0, r7, #0x10 + asrs r0, r0, #0x10 + add sp, #0xc + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + .align 2, 0 _080024CC: .4byte 0x03005000 _080024D0: .4byte 0x08057C46 _080024D4: .4byte 0x000001FF - thumb_func_start nullsub_16 + thumb_func_start nullsub_16 nullsub_16: @ 0x080024D8 - bx lr + bx lr - thumb_func_start sub_24DC + thumb_func_start sub_24DC sub_24DC: @ 0x080024DC - ldr r1, _08002504 @ =0x04000134 - movs r0, #0 - strh r0, [r1] - subs r1, #0xc - strh r0, [r1] - ldr r2, _08002508 @ =0x0400012A - strh r0, [r2] - subs r1, #8 - strh r0, [r1] - strh r0, [r2] - strh r0, [r1] - strh r0, [r1] - adds r1, #2 - strh r0, [r1] - adds r1, #2 - strh r0, [r1] - adds r1, #2 - strh r0, [r1] - bx lr - .align 2, 0 + ldr r1, _08002504 @ =0x04000134 + movs r0, #0 + strh r0, [r1] + subs r1, #0xc + strh r0, [r1] + ldr r2, _08002508 @ =0x0400012A + strh r0, [r2] + subs r1, #8 + strh r0, [r1] + strh r0, [r2] + strh r0, [r1] + strh r0, [r1] + adds r1, #2 + strh r0, [r1] + adds r1, #2 + strh r0, [r1] + adds r1, #2 + strh r0, [r1] + bx lr + .align 2, 0 _08002504: .4byte 0x04000134 _08002508: .4byte 0x0400012A - thumb_func_start sub_250C + thumb_func_start sub_250C sub_250C: @ 0x0800250C - ldr r2, _08002528 @ =0x04000208 - movs r0, #0 - strh r0, [r2] - ldr r1, _0800252C @ =0x04000200 - ldr r3, _08002530 @ =0x00002001 - adds r0, r3, #0 - strh r0, [r1] - ldr r1, _08002534 @ =0x04000004 - movs r0, #8 - strh r0, [r1] - movs r0, #1 - strh r0, [r2] - bx lr - .align 2, 0 + ldr r2, _08002528 @ =0x04000208 + movs r0, #0 + strh r0, [r2] + ldr r1, _0800252C @ =0x04000200 + ldr r3, _08002530 @ =0x00002001 + adds r0, r3, #0 + strh r0, [r1] + ldr r1, _08002534 @ =0x04000004 + movs r0, #8 + strh r0, [r1] + movs r0, #1 + strh r0, [r2] + bx lr + .align 2, 0 _08002528: .4byte 0x04000208 _0800252C: .4byte 0x04000200 _08002530: .4byte 0x00002001 _08002534: .4byte 0x04000004 - thumb_func_start sub_2538 + thumb_func_start sub_2538 sub_2538: @ 0x08002538 - ldr r0, _08002554 @ =0x0202ADD0 - movs r1, #0 - str r1, [r0] - ldr r0, _08002558 @ =0x0201A444 - movs r2, #0 - strh r1, [r0] - ldr r0, _0800255C @ =0x0202BDF0 - str r1, [r0] - ldr r0, _08002560 @ =0x0201C1AC - strb r2, [r0] - ldr r0, _08002564 @ =0x0202ADDC - strb r2, [r0] - bx lr - .align 2, 0 + ldr r0, _08002554 @ =0x0202ADD0 + movs r1, #0 + str r1, [r0] + ldr r0, _08002558 @ =0x0201A444 + movs r2, #0 + strh r1, [r0] + ldr r0, _0800255C @ =0x0202BDF0 + str r1, [r0] + ldr r0, _08002560 @ =0x0201C1AC + strb r2, [r0] + ldr r0, _08002564 @ =0x0202ADDC + strb r2, [r0] + bx lr + .align 2, 0 _08002554: .4byte 0x0202ADD0 _08002558: .4byte 0x0201A444 _0800255C: .4byte 0x0202BDF0 _08002560: .4byte 0x0201C1AC _08002564: .4byte 0x0202ADDC - thumb_func_start sub_2568 + thumb_func_start sub_2568 sub_2568: @ 0x08002568 - push {r4, lr} - bl sub_24DC - ldr r4, _08002594 @ =0x04000208 - movs r0, #0 - strh r0, [r4] - bl sub_8BC - bl sub_8FC - ldr r1, _08002598 @ =0x04000200 - ldr r2, _0800259C @ =0x00002005 - adds r0, r2, #0 - strh r0, [r1] - ldr r1, _080025A0 @ =0x04000004 - movs r0, #0x28 - strh r0, [r1] - movs r0, #1 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + bl sub_24DC + ldr r4, _08002594 @ =0x04000208 + movs r0, #0 + strh r0, [r4] + bl sub_8BC + bl sub_8FC + ldr r1, _08002598 @ =0x04000200 + ldr r2, _0800259C @ =0x00002005 + adds r0, r2, #0 + strh r0, [r1] + ldr r1, _080025A0 @ =0x04000004 + movs r0, #0x28 + strh r0, [r1] + movs r0, #1 + strh r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08002594: .4byte 0x04000208 _08002598: .4byte 0x04000200 _0800259C: .4byte 0x00002005 _080025A0: .4byte 0x04000004 - thumb_func_start sub_25A4 + thumb_func_start sub_25A4 sub_25A4: @ 0x080025A4 - push {lr} - ldr r1, _080025BC @ =0x0805C750 - ldr r0, _080025C0 @ =0x0200B0C0 - 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 + push {lr} + ldr r1, _080025BC @ =0x0805C750 + ldr r0, _080025C0 @ =0x0200B0C0 + 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 _080025BC: .4byte 0x0805C750 _080025C0: .4byte 0x0200B0C0 - thumb_func_start sub_25C4 + thumb_func_start sub_25C4 sub_25C4: @ 0x080025C4 - push {r4, lr} - bl sub_438 - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x84 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _080026A8 @ =0x04000008 - movs r0, #5 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _080026AC @ =0x0400000A - adds r3, #6 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - adds r3, #0xfa - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _080026B0 @ =0x0400000C - adds r3, #0xb - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #3 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r4, _080026B4 @ =0x0200B0C0 - ldrh r0, [r2] - strh r0, [r4, #0x16] - ldr r0, _080026B8 @ =0x040000D4 - ldr r1, _080026BC @ =0x0807C2E0 - str r1, [r0] - movs r1, #0xa0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r1, _080026C0 @ =0x80000100 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _080026C4 @ =0x080A2C00 - str r1, [r0] - ldr r1, _080026C8 @ =0x06004000 - str r1, [r0, #4] - ldr r1, _080026CC @ =0x80002000 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _080026D0 @ =0x0807C4E0 - str r1, [r0] - ldr r1, _080026D4 @ =0x06008000 - str r1, [r0, #4] - ldr r1, _080026D8 @ =0x80000C00 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _080026DC @ =0x0807AAE0 - str r1, [r0] - movs r1, #0xc0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r2, _080026E0 @ =0x80000400 - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _080026E4 @ =0x0807B2E0 - str r1, [r0] - ldr r1, _080026E8 @ =0x06000800 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _080026EC @ =0x0807BAE0 - str r1, [r0] - ldr r1, _080026F0 @ =0x06001000 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _080026F4 @ =0x080A8A40 - str r1, [r0] - ldr r1, _080026F8 @ =0x05000200 - str r1, [r0, #4] - ldr r1, _080026FC @ =0x80000030 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _08002700 @ =0x080A8C40 - str r1, [r0] - ldr r1, _08002704 @ =0x06010000 - str r1, [r0, #4] - ldr r1, _08002708 @ =0x80002010 - str r1, [r0, #8] - ldr r0, [r0, #8] - bl sub_CBC - bl sub_2710 - ldr r0, _0800270C @ =sub_29C8 + 1 - bl sub_FD5C - movs r0, #3 - bl m4aSongNumStart - ldrb r0, [r4, #3] - adds r0, #1 - strb r0, [r4, #3] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + bl sub_438 + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x84 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _080026A8 @ =0x04000008 + movs r0, #5 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #1 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _080026AC @ =0x0400000A + adds r3, #6 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + adds r3, #0xfa + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _080026B0 @ =0x0400000C + adds r3, #0xb + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #3 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r4, _080026B4 @ =0x0200B0C0 + ldrh r0, [r2] + strh r0, [r4, #0x16] + ldr r0, _080026B8 @ =0x040000D4 + ldr r1, _080026BC @ =0x0807C2E0 + str r1, [r0] + movs r1, #0xa0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r1, _080026C0 @ =0x80000100 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _080026C4 @ =0x080A2C00 + str r1, [r0] + ldr r1, _080026C8 @ =0x06004000 + str r1, [r0, #4] + ldr r1, _080026CC @ =0x80002000 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _080026D0 @ =0x0807C4E0 + str r1, [r0] + ldr r1, _080026D4 @ =0x06008000 + str r1, [r0, #4] + ldr r1, _080026D8 @ =0x80000C00 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _080026DC @ =0x0807AAE0 + str r1, [r0] + movs r1, #0xc0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r2, _080026E0 @ =0x80000400 + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _080026E4 @ =0x0807B2E0 + str r1, [r0] + ldr r1, _080026E8 @ =0x06000800 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _080026EC @ =0x0807BAE0 + str r1, [r0] + ldr r1, _080026F0 @ =0x06001000 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _080026F4 @ =0x080A8A40 + str r1, [r0] + ldr r1, _080026F8 @ =0x05000200 + str r1, [r0, #4] + ldr r1, _080026FC @ =0x80000030 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _08002700 @ =0x080A8C40 + str r1, [r0] + ldr r1, _08002704 @ =0x06010000 + str r1, [r0, #4] + ldr r1, _08002708 @ =0x80002010 + str r1, [r0, #8] + ldr r0, [r0, #8] + bl sub_CBC + bl sub_2710 + ldr r0, _0800270C @ =sub_29C8 + 1 + bl sub_FD5C + movs r0, #3 + bl m4aSongNumStart + ldrb r0, [r4, #3] + adds r0, #1 + strb r0, [r4, #3] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _080026A8: .4byte 0x04000008 _080026AC: .4byte 0x0400000A _080026B0: .4byte 0x0400000C @@ -4656,33 +4656,33 @@ _08002704: .4byte 0x06010000 _08002708: .4byte 0x80002010 _0800270C: .4byte sub_29C8 + 1 - thumb_func_start sub_2710 + thumb_func_start sub_2710 sub_2710: @ 0x08002710 - ldr r0, _08002740 @ =0x0201A4F8 - movs r1, #0 - strb r1, [r0] - ldr r0, _08002744 @ =0x0202BED0 - strb r1, [r0] - ldr r0, _08002748 @ =0x0202A560 - movs r1, #0 - strh r1, [r0] - ldr r0, _0800274C @ =0x0202BE1C - strh r1, [r0] - ldr r0, _08002750 @ =0x0202BEE8 - strb r1, [r0] - ldr r0, _08002754 @ =0x0201A4F4 - strh r1, [r0] - ldr r0, _08002758 @ =0x0201A4B0 - strb r1, [r0] - ldr r0, _0800275C @ =0x0202BEE4 - strb r1, [r0] - ldr r1, _08002760 @ =0x0201A4C0 - ldr r0, _08002764 @ =0x0200B134 - adds r0, #0xce - ldrb r0, [r0] - strb r0, [r1] - bx lr - .align 2, 0 + ldr r0, _08002740 @ =0x0201A4F8 + movs r1, #0 + strb r1, [r0] + ldr r0, _08002744 @ =0x0202BED0 + strb r1, [r0] + ldr r0, _08002748 @ =0x0202A560 + movs r1, #0 + strh r1, [r0] + ldr r0, _0800274C @ =0x0202BE1C + strh r1, [r0] + ldr r0, _08002750 @ =0x0202BEE8 + strb r1, [r0] + ldr r0, _08002754 @ =0x0201A4F4 + strh r1, [r0] + ldr r0, _08002758 @ =0x0201A4B0 + strb r1, [r0] + ldr r0, _0800275C @ =0x0202BEE4 + strb r1, [r0] + ldr r1, _08002760 @ =0x0201A4C0 + ldr r0, _08002764 @ =0x0200B134 + adds r0, #0xce + ldrb r0, [r0] + strb r0, [r1] + bx lr + .align 2, 0 _08002740: .4byte 0x0201A4F8 _08002744: .4byte 0x0202BED0 _08002748: .4byte 0x0202A560 @@ -4694,140 +4694,140 @@ _0800275C: .4byte 0x0202BEE4 _08002760: .4byte 0x0201A4C0 _08002764: .4byte 0x0200B134 - thumb_func_start sub_2768 + thumb_func_start sub_2768 sub_2768: @ 0x08002768 - push {r4, r5, r6, lr} - bl sub_29C8 - ldr r6, _08002784 @ =0x0202BED0 - movs r4, #0 - ldrsb r4, [r6, r4] - cmp r4, #1 - bne _0800277A - b _08002884 + push {r4, r5, r6, lr} + bl sub_29C8 + ldr r6, _08002784 @ =0x0202BED0 + movs r4, #0 + ldrsb r4, [r6, r4] + cmp r4, #1 + bne _0800277A + b _08002884 _0800277A: - cmp r4, #1 - bgt _08002788 - cmp r4, #0 - beq _08002790 - b _0800296E - .align 2, 0 + cmp r4, #1 + bgt _08002788 + cmp r4, #0 + beq _08002790 + b _0800296E + .align 2, 0 _08002784: .4byte 0x0202BED0 _08002788: - cmp r4, #2 - bne _0800278E - b _0800291C + cmp r4, #2 + bne _0800278E + b _0800291C _0800278E: - b _0800296E + b _0800296E _08002790: - ldr r0, _080027B8 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080027C0 - ldr r4, _080027BC @ =0x0201A4F8 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - beq _080027E2 - cmp r0, #3 - beq _080027E2 - movs r0, #0x6d - bl m4aSongNumStart - ldrb r0, [r4] - subs r0, #1 - b _080027E0 - .align 2, 0 + ldr r0, _080027B8 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x20 + ands r0, r1 + cmp r0, #0 + beq _080027C0 + ldr r4, _080027BC @ =0x0201A4F8 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + beq _080027E2 + cmp r0, #3 + beq _080027E2 + movs r0, #0x6d + bl m4aSongNumStart + ldrb r0, [r4] + subs r0, #1 + b _080027E0 + .align 2, 0 _080027B8: .4byte 0x0200B0C0 _080027BC: .4byte 0x0201A4F8 _080027C0: - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _080027E2 - ldr r4, _08002804 @ =0x0201A4F8 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #2 - beq _080027E2 - cmp r0, #5 - beq _080027E2 - movs r0, #0x6d - bl m4aSongNumStart - ldrb r0, [r4] - adds r0, #1 + movs r0, #0x10 + ands r0, r1 + cmp r0, #0 + beq _080027E2 + ldr r4, _08002804 @ =0x0201A4F8 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #2 + beq _080027E2 + cmp r0, #5 + beq _080027E2 + movs r0, #0x6d + bl m4aSongNumStart + ldrb r0, [r4] + adds r0, #1 _080027E0: - strb r0, [r4] + strb r0, [r4] _080027E2: - ldr r0, _08002808 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0800280C - ldr r4, _08002804 @ =0x0201A4F8 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #2 - ble _0800282A - movs r0, #0x6d - bl m4aSongNumStart - ldrb r0, [r4] - subs r0, #3 - b _08002828 - .align 2, 0 + ldr r0, _08002808 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _0800280C + ldr r4, _08002804 @ =0x0201A4F8 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #2 + ble _0800282A + movs r0, #0x6d + bl m4aSongNumStart + ldrb r0, [r4] + subs r0, #3 + b _08002828 + .align 2, 0 _08002804: .4byte 0x0201A4F8 _08002808: .4byte 0x0200B0C0 _0800280C: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0800282A - ldr r4, _0800286C @ =0x0201A4F8 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #2 - bgt _0800282A - movs r0, #0x6d - bl m4aSongNumStart - ldrb r0, [r4] - adds r0, #3 + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _0800282A + ldr r4, _0800286C @ =0x0201A4F8 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #2 + bgt _0800282A + movs r0, #0x6d + bl m4aSongNumStart + ldrb r0, [r4] + adds r0, #3 _08002828: - strb r0, [r4] + strb r0, [r4] _0800282A: - ldr r4, _08002870 @ =0x0200B0C0 - ldrh r1, [r4, #0x18] - movs r5, #1 - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0800284C - movs r0, #0x65 - bl m4aSongNumStart - ldr r0, _08002874 @ =0x0202BED0 - strb r5, [r0] - ldr r0, _08002878 @ =0x0201A4B0 - strb r5, [r0] - ldr r1, _0800287C @ =0x0202A560 - movs r0, #0 - strh r0, [r1] + ldr r4, _08002870 @ =0x0200B0C0 + ldrh r1, [r4, #0x18] + movs r5, #1 + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0800284C + movs r0, #0x65 + bl m4aSongNumStart + ldr r0, _08002874 @ =0x0202BED0 + strb r5, [r0] + ldr r0, _08002878 @ =0x0201A4B0 + strb r5, [r0] + ldr r1, _0800287C @ =0x0202A560 + movs r0, #0 + strh r0, [r1] _0800284C: - ldrh r1, [r4, #0x18] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08002858 - b _0800296E + ldrh r1, [r4, #0x18] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + bne _08002858 + b _0800296E _08002858: - movs r0, #0x66 - bl m4aSongNumStart - ldr r0, _08002880 @ =0x0202BEE4 - strb r5, [r0] - ldrb r0, [r4, #3] - adds r0, #1 - strb r0, [r4, #3] - b _0800296E - .align 2, 0 + movs r0, #0x66 + bl m4aSongNumStart + ldr r0, _08002880 @ =0x0202BEE4 + strb r5, [r0] + ldrb r0, [r4, #3] + adds r0, #1 + strb r0, [r4, #3] + b _0800296E + .align 2, 0 _0800286C: .4byte 0x0201A4F8 _08002870: .4byte 0x0200B0C0 _08002874: .4byte 0x0202BED0 @@ -4835,70 +4835,70 @@ _08002878: .4byte 0x0201A4B0 _0800287C: .4byte 0x0202A560 _08002880: .4byte 0x0202BEE4 _08002884: - ldr r5, _08002904 @ =0x0200B0C0 - ldrh r1, [r5, #0x18] - movs r0, #0x30 - ands r0, r1 - cmp r0, #0 - beq _080028A0 - movs r0, #0x67 - bl m4aSongNumStart - ldr r2, _08002908 @ =0x0201A4C0 - ldrb r1, [r2] - movs r0, #1 - subs r0, r0, r1 - strb r0, [r2] + ldr r5, _08002904 @ =0x0200B0C0 + ldrh r1, [r5, #0x18] + movs r0, #0x30 + ands r0, r1 + cmp r0, #0 + beq _080028A0 + movs r0, #0x67 + bl m4aSongNumStart + ldr r2, _08002908 @ =0x0201A4C0 + ldrb r1, [r2] + movs r0, #1 + subs r0, r0, r1 + strb r0, [r2] _080028A0: - ldrh r0, [r5, #0x18] - ands r4, r0 - cmp r4, #0 - beq _080028CC - movs r0, #0x65 - bl m4aSongNumStart - ldr r0, _0800290C @ =0x0202A560 - movs r1, #0 - strh r1, [r0] - ldr r0, _08002910 @ =0x0202BE1C - strh r1, [r0] - ldr r0, _08002908 @ =0x0201A4C0 - ldrb r0, [r0] - movs r2, #0xa1 - lsls r2, r2, #1 - adds r1, r5, r2 - strb r0, [r1] - bl sub_52B30 - movs r0, #2 - strb r0, [r6] + ldrh r0, [r5, #0x18] + ands r4, r0 + cmp r4, #0 + beq _080028CC + movs r0, #0x65 + bl m4aSongNumStart + ldr r0, _0800290C @ =0x0202A560 + movs r1, #0 + strh r1, [r0] + ldr r0, _08002910 @ =0x0202BE1C + strh r1, [r0] + ldr r0, _08002908 @ =0x0201A4C0 + ldrb r0, [r0] + movs r2, #0xa1 + lsls r2, r2, #1 + adds r1, r5, r2 + strb r0, [r1] + bl sub_52B30 + movs r0, #2 + strb r0, [r6] _080028CC: - ldrh r1, [r5, #0x18] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080028E4 - movs r0, #0x66 - bl m4aSongNumStart - ldr r1, _08002914 @ =0x0201A4B0 - movs r0, #0 - strb r0, [r1] - strb r0, [r6] + ldrh r1, [r5, #0x18] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _080028E4 + movs r0, #0x66 + bl m4aSongNumStart + ldr r1, _08002914 @ =0x0201A4B0 + movs r0, #0 + strb r0, [r1] + strb r0, [r6] _080028E4: - ldr r1, _0800290C @ =0x0202A560 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #4 - ble _0800296E - movs r0, #0 - strh r0, [r1] - ldr r2, _08002918 @ =0x0201A4F4 - ldrh r1, [r2] - movs r0, #1 - subs r0, r0, r1 - strh r0, [r2] - b _0800296E - .align 2, 0 + ldr r1, _0800290C @ =0x0202A560 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #4 + ble _0800296E + movs r0, #0 + strh r0, [r1] + ldr r2, _08002918 @ =0x0201A4F4 + ldrh r1, [r2] + movs r0, #1 + subs r0, r0, r1 + strh r0, [r2] + b _0800296E + .align 2, 0 _08002904: .4byte 0x0200B0C0 _08002908: .4byte 0x0201A4C0 _0800290C: .4byte 0x0202A560 @@ -4906,52 +4906,52 @@ _08002910: .4byte 0x0202BE1C _08002914: .4byte 0x0201A4B0 _08002918: .4byte 0x0201A4F4 _0800291C: - ldr r1, _08002974 @ =0x0202A560 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #5 - ble _0800296E - movs r3, #0 - strh r3, [r1] - ldr r2, _08002978 @ =0x0202BEE8 - ldrb r1, [r2] - movs r0, #2 - subs r0, r0, r1 - strb r0, [r2] - ldr r1, _0800297C @ =0x0202BE1C - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #5 - ble _0800296E - ldr r1, _08002980 @ =0x0200B0C0 - strb r3, [r1, #0xd] - ldr r2, _08002984 @ =0x086A4CF0 - ldr r0, _08002988 @ =0x0201A4F8 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r1, #4] - strb r0, [r1, #5] - movs r0, #1 - strb r0, [r1, #6] - ldr r0, _0800298C @ =0x0202BEE4 - strb r4, [r0] - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] + ldr r1, _08002974 @ =0x0202A560 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #5 + ble _0800296E + movs r3, #0 + strh r3, [r1] + ldr r2, _08002978 @ =0x0202BEE8 + ldrb r1, [r2] + movs r0, #2 + subs r0, r0, r1 + strb r0, [r2] + ldr r1, _0800297C @ =0x0202BE1C + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #5 + ble _0800296E + ldr r1, _08002980 @ =0x0200B0C0 + strb r3, [r1, #0xd] + ldr r2, _08002984 @ =0x086A4CF0 + ldr r0, _08002988 @ =0x0201A4F8 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, r0, r2 + ldrb r0, [r0] + strb r0, [r1, #4] + strb r0, [r1, #5] + movs r0, #1 + strb r0, [r1, #6] + ldr r0, _0800298C @ =0x0202BEE4 + strb r4, [r0] + ldrb r0, [r1, #3] + adds r0, #1 + strb r0, [r1, #3] _0800296E: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08002974: .4byte 0x0202A560 _08002978: .4byte 0x0202BEE8 _0800297C: .4byte 0x0202BE1C @@ -4960,335 +4960,335 @@ _08002984: .4byte 0x086A4CF0 _08002988: .4byte 0x0201A4F8 _0800298C: .4byte 0x0202BEE4 - thumb_func_start sub_2990 + thumb_func_start sub_2990 sub_2990: @ 0x08002990 - push {lr} - ldr r0, _080029BC @ =sub_29C8 + 1 - bl sub_FE04 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _080029C0 @ =0x0201A4B4 - movs r0, #1 - strb r0, [r1] - ldr r0, _080029C4 @ =0x0202BEE4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - bl sub_23C - pop {r0} - bx r0 - .align 2, 0 + push {lr} + ldr r0, _080029BC @ =sub_29C8 + 1 + bl sub_FE04 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _080029C0 @ =0x0201A4B4 + movs r0, #1 + strb r0, [r1] + ldr r0, _080029C4 @ =0x0202BEE4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + bl sub_23C + pop {r0} + bx r0 + .align 2, 0 _080029BC: .4byte sub_29C8 + 1 _080029C0: .4byte 0x0201A4B4 _080029C4: .4byte 0x0202BEE4 - thumb_func_start sub_29C8 + thumb_func_start sub_29C8 sub_29C8: @ 0x080029C8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x18 - ldr r1, _08002C14 @ =0x0200B0C0 - ldrh r0, [r1, #0x38] - ldr r0, _08002C18 @ =0x00000C14 - strh r0, [r1, #0x38] - ldrh r0, [r1, #0x3a] - ldr r0, _08002C1C @ =0x00000808 - strh r0, [r1, #0x3a] - ldr r2, _08002C20 @ =0x04000050 - ldrh r0, [r1, #0x38] - strh r0, [r2] - adds r2, #2 - ldrh r0, [r1, #0x3a] - strh r0, [r2] - ldr r7, _08002C24 @ =0x0201A4F8 - movs r0, #0xe9 - lsls r0, r0, #3 - adds r3, r1, r0 - ldr r4, _08002C28 @ =0x0201A4C0 - ldr r5, _08002C2C @ =0x0201A4F4 - ldr r2, _08002C30 @ =0x0201A4B0 - mov sb, r2 - ldr r0, _08002C34 @ =0x086A4C80 - mov ip, r0 - movs r2, #0xd2 - lsls r2, r2, #3 - adds r1, r1, r2 - add r0, sp, #0x14 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x18 + ldr r1, _08002C14 @ =0x0200B0C0 + ldrh r0, [r1, #0x38] + ldr r0, _08002C18 @ =0x00000C14 + strh r0, [r1, #0x38] + ldrh r0, [r1, #0x3a] + ldr r0, _08002C1C @ =0x00000808 + strh r0, [r1, #0x3a] + ldr r2, _08002C20 @ =0x04000050 + ldrh r0, [r1, #0x38] + strh r0, [r2] + adds r2, #2 + ldrh r0, [r1, #0x3a] + strh r0, [r2] + ldr r7, _08002C24 @ =0x0201A4F8 + movs r0, #0xe9 + lsls r0, r0, #3 + adds r3, r1, r0 + ldr r4, _08002C28 @ =0x0201A4C0 + ldr r5, _08002C2C @ =0x0201A4F4 + ldr r2, _08002C30 @ =0x0201A4B0 + mov sb, r2 + ldr r0, _08002C34 @ =0x086A4C80 + mov ip, r0 + movs r2, #0xd2 + lsls r2, r2, #3 + adds r1, r1, r2 + add r0, sp, #0x14 _08002A0A: - str r1, [r0] - subs r1, #0xb8 - subs r0, #4 - cmp r0, sp @ warning: use of r13 is deprecated - bge _08002A0A - movs r0, #0 - ldrsb r0, [r7, r0] - movs r2, #0xb8 - muls r0, r2, r0 - adds r0, r0, r3 - mov sl, r0 - ldrb r1, [r4] - lsls r1, r1, #1 - movs r4, #0 - ldrsh r0, [r5, r4] - adds r0, #0xc - adds r1, r1, r0 - muls r1, r2, r1 - ldr r2, _08002C38 @ =0xFFFFFBB0 - adds r0, r3, r2 - adds r1, r1, r0 - mov r8, r1 - movs r2, #1 - mov r1, sp - movs r6, #5 + str r1, [r0] + subs r1, #0xb8 + subs r0, #4 + cmp r0, sp @ warning: use of r13 is deprecated + bge _08002A0A + movs r0, #0 + ldrsb r0, [r7, r0] + movs r2, #0xb8 + muls r0, r2, r0 + adds r0, r0, r3 + mov sl, r0 + ldrb r1, [r4] + lsls r1, r1, #1 + movs r4, #0 + ldrsh r0, [r5, r4] + adds r0, #0xc + adds r1, r1, r0 + muls r1, r2, r1 + ldr r2, _08002C38 @ =0xFFFFFBB0 + adds r0, r3, r2 + adds r1, r1, r0 + mov r8, r1 + movs r2, #1 + mov r1, sp + movs r6, #5 _08002A3C: - ldm r1!, {r0} - strh r2, [r0] - subs r6, #1 - cmp r6, #0 - bge _08002A3C - movs r0, #0 - ldrsb r0, [r7, r0] - lsls r0, r0, #2 - add r0, sp - ldr r1, [r0] - movs r0, #0 - strh r0, [r1] - movs r0, #1 - mov r3, sl - strh r0, [r3] - mov r4, sb - movs r0, #0 - ldrsb r0, [r4, r0] - mov r7, r8 - strh r0, [r7] - mov r0, ip - movs r1, #0x10 - ldr r2, _08002C3C @ =0x0200B3B8 - bl sub_358 - movs r1, #0 + ldm r1!, {r0} + strh r2, [r0] + subs r6, #1 + cmp r6, #0 + bge _08002A3C + movs r0, #0 + ldrsb r0, [r7, r0] + lsls r0, r0, #2 + add r0, sp + ldr r1, [r0] + movs r0, #0 + strh r0, [r1] + movs r0, #1 + mov r3, sl + strh r0, [r3] + mov r4, sb + movs r0, #0 + ldrsb r0, [r4, r0] + mov r7, r8 + strh r0, [r7] + mov r0, ip + movs r1, #0x10 + ldr r2, _08002C3C @ =0x0200B3B8 + bl sub_358 + movs r1, #0 _08002A70: - lsls r2, r1, #2 - mov r0, sp - adds r4, r0, r2 - ldr r3, [r4] - ldrh r0, [r3] - adds r1, #1 - mov sb, r1 - cmp r0, #1 - bne _08002AEC - ldr r1, _08002C40 @ =0x086A4CC0 - adds r1, r2, r1 - ldrh r0, [r1] - strh r0, [r3, #2] - ldr r2, [r4] - ldrh r0, [r1, #2] - strh r0, [r2, #4] - adds r5, r4, #0 - ldr r1, _08002C44 @ =0x03005000 - mov ip, r1 - movs r7, #8 - movs r6, #3 + lsls r2, r1, #2 + mov r0, sp + adds r4, r0, r2 + ldr r3, [r4] + ldrh r0, [r3] + adds r1, #1 + mov sb, r1 + cmp r0, #1 + bne _08002AEC + ldr r1, _08002C40 @ =0x086A4CC0 + adds r1, r2, r1 + ldrh r0, [r1] + strh r0, [r3, #2] + ldr r2, [r4] + ldrh r0, [r1, #2] + strh r0, [r2, #4] + adds r5, r4, #0 + ldr r1, _08002C44 @ =0x03005000 + mov ip, r1 + movs r7, #8 + movs r6, #3 _08002A9A: - ldr r4, [r5] - adds r4, r4, r7 - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, ip - ldrb r1, [r2, #1] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #1] - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, ip - movs r3, #2 - ldrsh r1, [r4, r3] - ldr r0, [r5] - movs r3, #2 - ldrsh r0, [r0, r3] - adds r1, r1, r0 - ldr r3, _08002C48 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _08002C4C @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, ip - ldr r0, [r5] - ldrb r0, [r0, #4] - ldrb r4, [r4, #4] - adds r0, r0, r4 - strb r0, [r1] - adds r7, #8 - subs r6, #1 - cmp r6, #0 - bge _08002A9A + ldr r4, [r5] + adds r4, r4, r7 + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, ip + ldrb r1, [r2, #1] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #1] + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, ip + movs r3, #2 + ldrsh r1, [r4, r3] + ldr r0, [r5] + movs r3, #2 + ldrsh r0, [r0, r3] + adds r1, r1, r0 + ldr r3, _08002C48 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _08002C4C @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, ip + ldr r0, [r5] + ldrb r0, [r0, #4] + ldrb r4, [r4, #4] + adds r0, r0, r4 + strb r0, [r1] + adds r7, #8 + subs r6, #1 + cmp r6, #0 + bge _08002A9A _08002AEC: - mov r1, sb - cmp r1, #5 - ble _08002A70 - movs r0, #0x58 - mov r4, sl - strh r0, [r4, #2] - movs r0, #0x85 - strh r0, [r4, #4] - ldr r5, _08002C44 @ =0x03005000 - movs r7, #0xd - rsbs r7, r7, #0 - mov sb, r7 - ldr r0, _08002C4C @ =0xFFFFFE00 - mov ip, r0 - adds r4, #8 - movs r6, #1 + mov r1, sb + cmp r1, #5 + ble _08002A70 + movs r0, #0x58 + mov r4, sl + strh r0, [r4, #2] + movs r0, #0x85 + strh r0, [r4, #4] + ldr r5, _08002C44 @ =0x03005000 + movs r7, #0xd + rsbs r7, r7, #0 + mov sb, r7 + ldr r0, _08002C4C @ =0xFFFFFE00 + mov ip, r0 + adds r4, #8 + movs r6, #1 _08002B0C: - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r2, [r1, #1] - mov r0, sb - ands r0, r2 - strb r0, [r1, #1] - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r5 - ldr r3, _08002C50 @ =0x0202BEE8 - ldrb r1, [r3] - lsls r1, r1, #4 - ldrb r3, [r2, #5] - movs r0, #0xf - ands r0, r3 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r5 - movs r7, #2 - ldrsh r1, [r4, r7] - mov r2, sl - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _08002C48 @ =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, [r4] - lsls r1, r1, #3 - adds r1, r1, r5 - mov r3, sl - ldrb r0, [r3, #4] - ldrb r7, [r4, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r4, #8 - subs r6, #1 - cmp r6, #0 - bge _08002B0C - mov r1, r8 - ldrh r0, [r1] - cmp r0, #1 - bne _08002BEA - ldr r2, _08002C54 @ =0x086A4CD8 - ldr r1, _08002C24 @ =0x0201A4F8 - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0] - mov r3, r8 - strh r0, [r3, #2] - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0, #2] - strh r0, [r3, #4] - ldr r5, _08002C44 @ =0x03005000 - movs r4, #0xd - rsbs r4, r4, #0 - mov sb, r4 - ldr r7, _08002C4C @ =0xFFFFFE00 - mov ip, r7 - mov r4, r8 - adds r4, #8 - movs r6, #4 + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r2, [r1, #1] + mov r0, sb + ands r0, r2 + strb r0, [r1, #1] + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r5 + ldr r3, _08002C50 @ =0x0202BEE8 + ldrb r1, [r3] + lsls r1, r1, #4 + ldrb r3, [r2, #5] + movs r0, #0xf + ands r0, r3 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r5 + movs r7, #2 + ldrsh r1, [r4, r7] + mov r2, sl + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _08002C48 @ =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, [r4] + lsls r1, r1, #3 + adds r1, r1, r5 + mov r3, sl + ldrb r0, [r3, #4] + ldrb r7, [r4, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r4, #8 + subs r6, #1 + cmp r6, #0 + bge _08002B0C + mov r1, r8 + ldrh r0, [r1] + cmp r0, #1 + bne _08002BEA + ldr r2, _08002C54 @ =0x086A4CD8 + ldr r1, _08002C24 @ =0x0201A4F8 + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0] + mov r3, r8 + strh r0, [r3, #2] + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0, #2] + strh r0, [r3, #4] + ldr r5, _08002C44 @ =0x03005000 + movs r4, #0xd + rsbs r4, r4, #0 + mov sb, r4 + ldr r7, _08002C4C @ =0xFFFFFE00 + mov ip, r7 + mov r4, r8 + adds r4, #8 + movs r6, #4 _08002BA2: - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r2, [r1, #1] - mov r0, sb - ands r0, r2 - strb r0, [r1, #1] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r5 - movs r0, #2 - ldrsh r1, [r4, r0] - mov r2, r8 - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _08002C48 @ =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, [r4] - lsls r1, r1, #3 - adds r1, r1, r5 - mov r3, r8 - ldrb r0, [r3, #4] - ldrb r7, [r4, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r4, #8 - subs r6, #1 - cmp r6, #0 - bge _08002BA2 + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r2, [r1, #1] + mov r0, sb + ands r0, r2 + strb r0, [r1, #1] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r5 + movs r0, #2 + ldrsh r1, [r4, r0] + mov r2, r8 + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _08002C48 @ =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, [r4] + lsls r1, r1, #3 + adds r1, r1, r5 + mov r3, r8 + ldrb r0, [r3, #4] + ldrb r7, [r4, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r4, #8 + subs r6, #1 + cmp r6, #0 + bge _08002BA2 _08002BEA: - movs r2, #0 - mov r1, sp - movs r6, #5 + movs r2, #0 + mov r1, sp + movs r6, #5 _08002BF0: - ldm r1!, {r0} - strh r2, [r0] - subs r6, #1 - cmp r6, #0 - bge _08002BF0 - movs r0, #0 - mov r1, sl - strh r0, [r1] - mov r2, r8 - strh r0, [r2] - 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 + ldm r1!, {r0} + strh r2, [r0] + subs r6, #1 + cmp r6, #0 + bge _08002BF0 + movs r0, #0 + mov r1, sl + strh r0, [r1] + mov r2, r8 + strh r0, [r2] + 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 _08002C14: .4byte 0x0200B0C0 _08002C18: .4byte 0x00000C14 _08002C1C: .4byte 0x00000808 @@ -5307,150 +5307,150 @@ _08002C4C: .4byte 0xFFFFFE00 _08002C50: .4byte 0x0202BEE8 _08002C54: .4byte 0x086A4CD8 - thumb_func_start sub_2C58 + thumb_func_start sub_2C58 sub_2C58: @ 0x08002C58 - push {lr} - ldr r1, _08002C70 @ =0x0805C75C - ldr r0, _08002C74 @ =0x0200B0C0 - 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 + push {lr} + ldr r1, _08002C70 @ =0x0805C75C + ldr r0, _08002C74 @ =0x0200B0C0 + 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 _08002C70: .4byte 0x0805C75C _08002C74: .4byte 0x0200B0C0 - thumb_func_start sub_2C78 + thumb_func_start sub_2C78 sub_2C78: @ 0x08002C78 - push {r4, r5, r6, lr} - mov r6, sb - mov r5, r8 - push {r5, r6} - bl sub_438 - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x86 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _08002D80 @ =0x04000008 - movs r0, #4 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _08002D84 @ =0x0400000A - adds r3, #5 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - adds r3, #0xfb - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r6, _08002D88 @ =0x0200B0C0 - movs r0, #0xba - lsls r0, r0, #2 - adds r1, r6, r0 - movs r5, #0 - ldr r0, _08002D8C @ =0x0000FFE8 - strh r0, [r1] - adds r3, #0xea - adds r1, r6, r3 - subs r0, #0x48 - strh r0, [r1] - ldrh r0, [r2] - strh r0, [r6, #0x16] - ldr r4, _08002D90 @ =0x040000D4 - ldr r0, _08002D94 @ =0x08081D20 - str r0, [r4] - movs r0, #0xa0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - ldr r0, _08002D98 @ =0x80000020 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08002D9C @ =0x080897E0 - str r0, [r4] - ldr r0, _08002DA0 @ =0x05000040 - str r0, [r4, #4] - ldr r0, _08002DA4 @ =0x80000010 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08002DA8 @ =0x08080500 - str r0, [r4] - ldr r0, _08002DAC @ =0x03000000 - mov r8, r0 - str r0, [r4, #4] - ldr r1, _08002DB0 @ =0x80001800 - mov sb, r1 - str r1, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08002DB4 @ =0x0807DD00 - str r0, [r4] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - ldr r1, _08002DB8 @ =0x80000400 - str r1, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08002DBC @ =0x0807FD00 - str r0, [r4] - ldr r0, _08002DC0 @ =0x06000800 - str r0, [r4, #4] - str r1, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08002DC4 @ =0x08089960 - str r0, [r4] - ldr r0, _08002DC8 @ =0x05000200 - str r0, [r4, #4] - ldr r0, _08002DCC @ =0x80000060 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08002DD0 @ =0x08089B60 - str r0, [r4] - ldr r0, _08002DD4 @ =0x06010000 - str r0, [r4, #4] - ldr r0, _08002DD8 @ =0x80003610 - str r0, [r4, #8] - ldr r0, [r4, #8] - bl sub_2DF0 - ldr r0, _08002DDC @ =0x0202C604 - strb r5, [r0] - ldr r0, _08002DE0 @ =0x0202A580 - strb r5, [r0] - ldr r0, _08002DE4 @ =0x0202C5A4 - strb r5, [r0] - ldr r0, _08002DE8 @ =0x0202AD90 - strb r5, [r0] - bl sub_377C - mov r3, r8 - str r3, [r4] - ldr r0, _08002DEC @ =0x06004000 - str r0, [r4, #4] - mov r0, sb - str r0, [r4, #8] - ldr r0, [r4, #8] - bl sub_394C - movs r0, #5 - bl m4aSongNumStart - bl sub_CBC - bl sub_24C - movs r0, #1 - strb r0, [r6, #3] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + mov r6, sb + mov r5, r8 + push {r5, r6} + bl sub_438 + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x86 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _08002D80 @ =0x04000008 + movs r0, #4 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #1 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _08002D84 @ =0x0400000A + adds r3, #5 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + adds r3, #0xfb + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r6, _08002D88 @ =0x0200B0C0 + movs r0, #0xba + lsls r0, r0, #2 + adds r1, r6, r0 + movs r5, #0 + ldr r0, _08002D8C @ =0x0000FFE8 + strh r0, [r1] + adds r3, #0xea + adds r1, r6, r3 + subs r0, #0x48 + strh r0, [r1] + ldrh r0, [r2] + strh r0, [r6, #0x16] + ldr r4, _08002D90 @ =0x040000D4 + ldr r0, _08002D94 @ =0x08081D20 + str r0, [r4] + movs r0, #0xa0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + ldr r0, _08002D98 @ =0x80000020 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08002D9C @ =0x080897E0 + str r0, [r4] + ldr r0, _08002DA0 @ =0x05000040 + str r0, [r4, #4] + ldr r0, _08002DA4 @ =0x80000010 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08002DA8 @ =0x08080500 + str r0, [r4] + ldr r0, _08002DAC @ =0x03000000 + mov r8, r0 + str r0, [r4, #4] + ldr r1, _08002DB0 @ =0x80001800 + mov sb, r1 + str r1, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08002DB4 @ =0x0807DD00 + str r0, [r4] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + ldr r1, _08002DB8 @ =0x80000400 + str r1, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08002DBC @ =0x0807FD00 + str r0, [r4] + ldr r0, _08002DC0 @ =0x06000800 + str r0, [r4, #4] + str r1, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08002DC4 @ =0x08089960 + str r0, [r4] + ldr r0, _08002DC8 @ =0x05000200 + str r0, [r4, #4] + ldr r0, _08002DCC @ =0x80000060 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08002DD0 @ =0x08089B60 + str r0, [r4] + ldr r0, _08002DD4 @ =0x06010000 + str r0, [r4, #4] + ldr r0, _08002DD8 @ =0x80003610 + str r0, [r4, #8] + ldr r0, [r4, #8] + bl sub_2DF0 + ldr r0, _08002DDC @ =0x0202C604 + strb r5, [r0] + ldr r0, _08002DE0 @ =0x0202A580 + strb r5, [r0] + ldr r0, _08002DE4 @ =0x0202C5A4 + strb r5, [r0] + ldr r0, _08002DE8 @ =0x0202AD90 + strb r5, [r0] + bl sub_377C + mov r3, r8 + str r3, [r4] + ldr r0, _08002DEC @ =0x06004000 + str r0, [r4, #4] + mov r0, sb + str r0, [r4, #8] + ldr r0, [r4, #8] + bl sub_394C + movs r0, #5 + bl m4aSongNumStart + bl sub_CBC + bl sub_24C + movs r0, #1 + strb r0, [r6, #3] + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08002D80: .4byte 0x04000008 _08002D84: .4byte 0x0400000A _08002D88: .4byte 0x0200B0C0 @@ -5480,31 +5480,31 @@ _08002DE4: .4byte 0x0202C5A4 _08002DE8: .4byte 0x0202AD90 _08002DEC: .4byte 0x06004000 - thumb_func_start sub_2DF0 + thumb_func_start sub_2DF0 sub_2DF0: @ 0x08002DF0 - ldr r0, _08002E1C @ =0x0202A58C - movs r1, #0 - strb r1, [r0] - ldr r0, _08002E20 @ =0x0202C584 - strb r1, [r0] - ldr r2, _08002E24 @ =0x0202BEC0 - movs r0, #4 - strb r0, [r2] - ldr r0, _08002E28 @ =0x0201B174 - strb r1, [r0] - ldr r0, _08002E2C @ =0x0202C5A0 - movs r1, #0 - strh r1, [r0] - ldr r0, _08002E30 @ =0x0201A44C - strh r1, [r0] - ldr r0, _08002E34 @ =0x0202BEF8 - strb r1, [r0] - ldr r0, _08002E38 @ =0x0200282C - strb r1, [r0] - ldr r0, _08002E3C @ =0x0200282D - strb r1, [r0] - bx lr - .align 2, 0 + ldr r0, _08002E1C @ =0x0202A58C + movs r1, #0 + strb r1, [r0] + ldr r0, _08002E20 @ =0x0202C584 + strb r1, [r0] + ldr r2, _08002E24 @ =0x0202BEC0 + movs r0, #4 + strb r0, [r2] + ldr r0, _08002E28 @ =0x0201B174 + strb r1, [r0] + ldr r0, _08002E2C @ =0x0202C5A0 + movs r1, #0 + strh r1, [r0] + ldr r0, _08002E30 @ =0x0201A44C + strh r1, [r0] + ldr r0, _08002E34 @ =0x0202BEF8 + strb r1, [r0] + ldr r0, _08002E38 @ =0x0200282C + strb r1, [r0] + ldr r0, _08002E3C @ =0x0200282D + strb r1, [r0] + bx lr + .align 2, 0 _08002E1C: .4byte 0x0202A58C _08002E20: .4byte 0x0202C584 _08002E24: .4byte 0x0202BEC0 @@ -5515,240 +5515,240 @@ _08002E34: .4byte 0x0202BEF8 _08002E38: .4byte 0x0200282C _08002E3C: .4byte 0x0200282D - thumb_func_start sub_2E40 + thumb_func_start sub_2E40 sub_2E40: @ 0x08002E40 - push {r4, r5, r6, r7, lr} - ldr r4, _08002E84 @ =0x0202C604 - ldr r2, _08002E88 @ =0x086A551A - ldr r3, _08002E8C @ =0x0202AD90 - movs r0, #0 - ldrsb r0, [r3, r0] - 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 - bgt _08002E94 - ldr r1, _08002E90 @ =0x0202A580 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - ble _08002EF0 - movs r0, #0 - strb r0, [r1] - movs r0, #0 - ldrsb r0, [r3, r0] - movs r1, #0 - ldrsb r1, [r4, r1] - bl sub_3828 - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - b _08002EF0 - .align 2, 0 + push {r4, r5, r6, r7, lr} + ldr r4, _08002E84 @ =0x0202C604 + ldr r2, _08002E88 @ =0x086A551A + ldr r3, _08002E8C @ =0x0202AD90 + movs r0, #0 + ldrsb r0, [r3, r0] + 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 + bgt _08002E94 + ldr r1, _08002E90 @ =0x0202A580 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + ble _08002EF0 + movs r0, #0 + strb r0, [r1] + movs r0, #0 + ldrsb r0, [r3, r0] + movs r1, #0 + ldrsb r1, [r4, r1] + bl sub_3828 + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] + b _08002EF0 + .align 2, 0 _08002E84: .4byte 0x0202C604 _08002E88: .4byte 0x086A551A _08002E8C: .4byte 0x0202AD90 _08002E90: .4byte 0x0202A580 _08002E94: - ldr r1, _08002ECC @ =0x0202A580 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #6 - ble _08002EF0 - movs r0, #0 - strb r0, [r1] - ldr r0, _08002ED0 @ =0x0202C5A4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08002ED4 - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r1, #0xea - lsls r1, r1, #6 - bl sub_38A0 - b _08002EE6 - .align 2, 0 + ldr r1, _08002ECC @ =0x0202A580 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #6 + ble _08002EF0 + movs r0, #0 + strb r0, [r1] + ldr r0, _08002ED0 @ =0x0202C5A4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08002ED4 + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + movs r1, #0xea + lsls r1, r1, #6 + bl sub_38A0 + b _08002EE6 + .align 2, 0 _08002ECC: .4byte 0x0202A580 _08002ED0: .4byte 0x0202C5A4 _08002ED4: - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r1, #0 - bl sub_38A0 + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + movs r1, #0 + bl sub_38A0 _08002EE6: - ldr r2, _08002F2C @ =0x0202C5A4 - ldrb r1, [r2] - movs r0, #1 - subs r0, r0, r1 - strb r0, [r2] + ldr r2, _08002F2C @ =0x0202C5A4 + ldrb r1, [r2] + movs r0, #1 + subs r0, r0, r1 + strb r0, [r2] _08002EF0: - ldr r7, _08002F30 @ =0x0200B0C0 - ldrh r1, [r7, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08002F78 - ldr r5, _08002F34 @ =0x0202C604 - ldr r6, _08002F38 @ =0x086A551A - ldr r4, _08002F3C @ =0x0202AD90 - movs r2, #0 - ldrsb r2, [r4, r2] - adds r0, r2, r6 - movs r1, #0 - ldrsb r1, [r5, r1] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - bgt _08002F40 - adds r0, r2, #0 - bl sub_37B4 - movs r0, #0 - ldrsb r0, [r4, r0] - adds r0, r0, r6 - ldrb r0, [r0] - adds r0, #1 - strb r0, [r5] - b _08002F90 - .align 2, 0 + ldr r7, _08002F30 @ =0x0200B0C0 + ldrh r1, [r7, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _08002F78 + ldr r5, _08002F34 @ =0x0202C604 + ldr r6, _08002F38 @ =0x086A551A + ldr r4, _08002F3C @ =0x0202AD90 + movs r2, #0 + ldrsb r2, [r4, r2] + adds r0, r2, r6 + movs r1, #0 + ldrsb r1, [r5, r1] + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + bgt _08002F40 + adds r0, r2, #0 + bl sub_37B4 + movs r0, #0 + ldrsb r0, [r4, r0] + adds r0, r0, r6 + ldrb r0, [r0] + adds r0, #1 + strb r0, [r5] + b _08002F90 + .align 2, 0 _08002F2C: .4byte 0x0202C5A4 _08002F30: .4byte 0x0200B0C0 _08002F34: .4byte 0x0202C604 _08002F38: .4byte 0x086A551A _08002F3C: .4byte 0x0202AD90 _08002F40: - ldr r0, _08002F54 @ =0x086A5528 - adds r0, r2, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08002F58 - movs r0, #2 - b _08002F8E - .align 2, 0 + ldr r0, _08002F54 @ =0x086A5528 + adds r0, r2, r0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08002F58 + movs r0, #2 + b _08002F8E + .align 2, 0 _08002F54: .4byte 0x086A5528 _08002F58: - bl sub_377C - movs r1, #0 - strb r1, [r5] - ldr r0, _08002F70 @ =0x0202A580 - strb r1, [r0] - ldr r0, _08002F74 @ =0x0202C5A4 - strb r1, [r0] - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - b _08002F90 - .align 2, 0 + bl sub_377C + movs r1, #0 + strb r1, [r5] + ldr r0, _08002F70 @ =0x0202A580 + strb r1, [r0] + ldr r0, _08002F74 @ =0x0202C5A4 + strb r1, [r0] + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] + b _08002F90 + .align 2, 0 _08002F70: .4byte 0x0202A580 _08002F74: .4byte 0x0202C5A4 _08002F78: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08002F90 - movs r0, #0x66 - bl m4aSongNumStart - ldr r0, _08002FAC @ =0x0202BEF8 - movs r1, #1 - strb r1, [r0] - movs r0, #8 + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _08002F90 + movs r0, #0x66 + bl m4aSongNumStart + ldr r0, _08002FAC @ =0x0202BEF8 + movs r1, #1 + strb r1, [r0] + movs r0, #8 _08002F8E: - strb r0, [r7, #3] + strb r0, [r7, #3] _08002F90: - bl sub_394C - ldr r1, _08002FB0 @ =0x040000D4 - ldr r0, _08002FB4 @ =0x03000000 - str r0, [r1] - ldr r0, _08002FB8 @ =0x06004000 - str r0, [r1, #4] - ldr r0, _08002FBC @ =0x80001800 - str r0, [r1, #8] - ldr r0, [r1, #8] - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + bl sub_394C + ldr r1, _08002FB0 @ =0x040000D4 + ldr r0, _08002FB4 @ =0x03000000 + str r0, [r1] + ldr r0, _08002FB8 @ =0x06004000 + str r0, [r1, #4] + ldr r0, _08002FBC @ =0x80001800 + str r0, [r1, #8] + ldr r0, [r1, #8] + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08002FAC: .4byte 0x0202BEF8 _08002FB0: .4byte 0x040000D4 _08002FB4: .4byte 0x03000000 _08002FB8: .4byte 0x06004000 _08002FBC: .4byte 0x80001800 - thumb_func_start sub_2FC0 + thumb_func_start sub_2FC0 sub_2FC0: @ 0x08002FC0 - push {r4, r5, lr} - ldr r4, _0800302C @ =0x0202C5A0 - ldrh r0, [r4] - adds r0, #1 - strh r0, [r4] - ldr r2, _08003030 @ =0x086A550C - ldr r3, _08003034 @ =0x0201B174 - movs r1, #0 - ldrsb r1, [r3, r1] - lsls r1, r1, #1 - adds r1, r1, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r2, #0 - ldrsh r1, [r1, r2] - cmp r0, r1 - ble _08003012 - movs r5, #0 - strh r5, [r4] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #6 - bne _08003012 - bl sub_19B4 - bl sub_3C1C - ldr r0, _08003038 @ =0x0201B124 - strb r5, [r0] - ldr r1, _0800303C @ =0x0202C584 - movs r0, #1 - strb r0, [r1] - movs r0, #0x76 - bl m4aSongNumStart - ldr r1, _08003040 @ =0x0200B0C0 - movs r0, #3 - strb r0, [r1, #3] + push {r4, r5, lr} + ldr r4, _0800302C @ =0x0202C5A0 + ldrh r0, [r4] + adds r0, #1 + strh r0, [r4] + ldr r2, _08003030 @ =0x086A550C + ldr r3, _08003034 @ =0x0201B174 + movs r1, #0 + ldrsb r1, [r3, r1] + lsls r1, r1, #1 + adds r1, r1, r2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r2, #0 + ldrsh r1, [r1, r2] + cmp r0, r1 + ble _08003012 + movs r5, #0 + strh r5, [r4] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #6 + bne _08003012 + bl sub_19B4 + bl sub_3C1C + ldr r0, _08003038 @ =0x0201B124 + strb r5, [r0] + ldr r1, _0800303C @ =0x0202C584 + movs r0, #1 + strb r0, [r1] + movs r0, #0x76 + bl m4aSongNumStart + ldr r1, _08003040 @ =0x0200B0C0 + movs r0, #3 + strb r0, [r1, #3] _08003012: - ldr r1, _08003044 @ =0x0202A58C - movs r0, #0 - strb r0, [r1] - ldr r1, _08003048 @ =0x0202BEC0 - ldr r0, _08003034 @ =0x0201B174 - ldrb r0, [r0] - adds r0, #4 - strb r0, [r1] - bl sub_3AB4 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + ldr r1, _08003044 @ =0x0202A58C + movs r0, #0 + strb r0, [r1] + ldr r1, _08003048 @ =0x0202BEC0 + ldr r0, _08003034 @ =0x0201B174 + ldrb r0, [r0] + adds r0, #4 + strb r0, [r1] + bl sub_3AB4 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0800302C: .4byte 0x0202C5A0 _08003030: .4byte 0x086A550C _08003034: .4byte 0x0201B174 @@ -5758,103 +5758,103 @@ _08003040: .4byte 0x0200B0C0 _08003044: .4byte 0x0202A58C _08003048: .4byte 0x0202BEC0 - thumb_func_start sub_304C + thumb_func_start sub_304C sub_304C: @ 0x0800304C - push {r4, r5, lr} - bl sub_3AB4 - ldr r5, _08003114 @ =0x0200B0C0 - ldrh r1, [r5, #0x18] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08003076 - bl sub_2568 - bl sub_1AA4 - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - movs r0, #0 - strb r0, [r5, #3] + push {r4, r5, lr} + bl sub_3AB4 + ldr r5, _08003114 @ =0x0200B0C0 + ldrh r1, [r5, #0x18] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _08003076 + bl sub_2568 + bl sub_1AA4 + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + movs r0, #0 + strb r0, [r5, #3] _08003076: - ldr r4, _08003118 @ =0x0202ADD0 - ldr r0, _0800311C @ =0x0202BEC8 - ldr r1, _08003120 @ =0x0202C5F0 - ldr r2, _08003124 @ =0x0201A4D0 - bl sub_1B04 - str r0, [r4] - ldr r1, _08003128 @ =0x0202BDF0 - movs r3, #3 - ands r3, r0 - str r3, [r1] - ldr r2, _0800312C @ =0x0201C1AC - movs r1, #0x1c - ands r1, r0 - lsrs r1, r1, #2 - strb r1, [r2] - ldr r2, _08003130 @ =0x0202ADDC - movs r1, #0xe0 - lsls r1, r1, #4 - ands r1, r0 - lsrs r1, r1, #9 - strb r1, [r2] - movs r1, #0x40 - ands r1, r0 - cmp r1, #0 - bne _080030AC - b _080031DC + ldr r4, _08003118 @ =0x0202ADD0 + ldr r0, _0800311C @ =0x0202BEC8 + ldr r1, _08003120 @ =0x0202C5F0 + ldr r2, _08003124 @ =0x0201A4D0 + bl sub_1B04 + str r0, [r4] + ldr r1, _08003128 @ =0x0202BDF0 + movs r3, #3 + ands r3, r0 + str r3, [r1] + ldr r2, _0800312C @ =0x0201C1AC + movs r1, #0x1c + ands r1, r0 + lsrs r1, r1, #2 + strb r1, [r2] + ldr r2, _08003130 @ =0x0202ADDC + movs r1, #0xe0 + lsls r1, r1, #4 + ands r1, r0 + lsrs r1, r1, #9 + strb r1, [r2] + movs r1, #0x40 + ands r1, r0 + cmp r1, #0 + bne _080030AC + b _080031DC _080030AC: - cmp r3, #1 - bls _080030B2 - b _080031DC + cmp r3, #1 + bls _080030B2 + b _080031DC _080030B2: - bl sub_3C78 - ldr r0, [r4] - movs r1, #0x80 - lsls r1, r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0800316C - bl sub_3CD8 - lsls r0, r0, #0x10 - asrs r4, r0, #0x10 - movs r0, #1 - rsbs r0, r0, #0 - cmp r4, r0 - bne _0800316C - bl sub_38F0 - ldr r1, _08003134 @ =0x0201C184 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, r4 - beq _0800313C - cmp r0, #4 - bgt _0800313C - adds r3, r5, #0 - adds r4, r1, #0 - ldr r5, _08003138 @ =0x0201A44C - movs r2, #0 - movs r1, #4 - adds r0, r3, #0 - adds r0, #0xb + bl sub_3C78 + ldr r0, [r4] + movs r1, #0x80 + lsls r1, r1, #1 + ands r0, r1 + cmp r0, #0 + bne _0800316C + bl sub_3CD8 + lsls r0, r0, #0x10 + asrs r4, r0, #0x10 + movs r0, #1 + rsbs r0, r0, #0 + cmp r4, r0 + bne _0800316C + bl sub_38F0 + ldr r1, _08003134 @ =0x0201C184 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, r4 + beq _0800313C + cmp r0, #4 + bgt _0800313C + adds r3, r5, #0 + adds r4, r1, #0 + ldr r5, _08003138 @ =0x0201A44C + movs r2, #0 + movs r1, #4 + adds r0, r3, #0 + adds r0, #0xb _080030F4: - strb r2, [r0] - subs r0, #1 - subs r1, #1 - cmp r1, #0 - bge _080030F4 - movs r0, #0 - ldrsh r1, [r4, r0] - adds r0, r3, #7 - adds r1, r1, r0 - movs r2, #0 - movs r0, #1 - strb r0, [r1] - strh r2, [r5] - movs r0, #5 - strb r0, [r3, #3] - b _0800316C - .align 2, 0 + strb r2, [r0] + subs r0, #1 + subs r1, #1 + cmp r1, #0 + bge _080030F4 + movs r0, #0 + ldrsh r1, [r4, r0] + adds r0, r3, #7 + adds r1, r1, r0 + movs r2, #0 + movs r0, #1 + strb r0, [r1] + strh r2, [r5] + movs r0, #5 + strb r0, [r3, #3] + b _0800316C + .align 2, 0 _08003114: .4byte 0x0200B0C0 _08003118: .4byte 0x0202ADD0 _0800311C: .4byte 0x0202BEC8 @@ -5866,89 +5866,89 @@ _08003130: .4byte 0x0202ADDC _08003134: .4byte 0x0201C184 _08003138: .4byte 0x0201A44C _0800313C: - ldr r0, _080031E4 @ =0x0201A44C - movs r2, #0 - strh r2, [r0] - ldr r1, _080031E8 @ =0x0202A58C - movs r0, #2 - strb r0, [r1] - ldr r1, _080031EC @ =0x0202BEC0 - movs r0, #0xa - strb r0, [r1] - ldr r0, _080031F0 @ =0x0202C604 - strb r2, [r0] - ldr r0, _080031F4 @ =0x0202C5A4 - strb r2, [r0] - ldr r1, _080031F8 @ =0x0202AD90 - movs r0, #0xd - strb r0, [r1] - bl sub_377C - ldr r1, _080031FC @ =0x0200B0C0 - movs r0, #4 - strb r0, [r1, #3] - movs r0, #0x8a - bl m4aSongNumStart + ldr r0, _080031E4 @ =0x0201A44C + movs r2, #0 + strh r2, [r0] + ldr r1, _080031E8 @ =0x0202A58C + movs r0, #2 + strb r0, [r1] + ldr r1, _080031EC @ =0x0202BEC0 + movs r0, #0xa + strb r0, [r1] + ldr r0, _080031F0 @ =0x0202C604 + strb r2, [r0] + ldr r0, _080031F4 @ =0x0202C5A4 + strb r2, [r0] + ldr r1, _080031F8 @ =0x0202AD90 + movs r0, #0xd + strb r0, [r1] + bl sub_377C + ldr r1, _080031FC @ =0x0200B0C0 + movs r0, #4 + strb r0, [r1, #3] + movs r0, #0x8a + bl m4aSongNumStart _0800316C: - ldr r4, _080031E8 @ =0x0202A58C - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #1 - bne _080031DC - ldr r3, _080031E4 @ =0x0201A44C - ldrh r0, [r3] - adds r0, #1 - strh r0, [r3] - ldrh r0, [r3] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _08003192 - ldr r2, _080031EC @ =0x0202BEC0 - ldrb r1, [r2] - movs r0, #0x15 - subs r0, r0, r1 - strb r0, [r2] + ldr r4, _080031E8 @ =0x0202A58C + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #1 + bne _080031DC + ldr r3, _080031E4 @ =0x0201A44C + ldrh r0, [r3] + adds r0, #1 + strh r0, [r3] + ldrh r0, [r3] + movs r1, #7 + ands r0, r1 + cmp r0, #0 + bne _08003192 + ldr r2, _080031EC @ =0x0202BEC0 + ldrb r1, [r2] + movs r0, #0x15 + subs r0, r0, r1 + strb r0, [r2] _08003192: - ldr r0, _08003200 @ =0x0202ADD0 - ldr r0, [r0] - movs r1, #0xfe - lsls r1, r1, #0xf - ands r0, r1 - cmp r0, #0 - beq _080031DC - ldr r1, _08003204 @ =0x0201A444 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb4 - ble _080031DC - movs r2, #0 - strh r2, [r3] - movs r0, #2 - strb r0, [r4] - ldr r1, _080031EC @ =0x0202BEC0 - movs r0, #0xa - strb r0, [r1] - ldr r0, _080031F0 @ =0x0202C604 - strb r2, [r0] - ldr r0, _080031F4 @ =0x0202C5A4 - strb r2, [r0] - ldr r1, _080031F8 @ =0x0202AD90 - movs r0, #0xd - strb r0, [r1] - bl sub_377C - ldr r1, _080031FC @ =0x0200B0C0 - movs r0, #4 - strb r0, [r1, #3] - movs r0, #0x8a - bl m4aSongNumStart + ldr r0, _08003200 @ =0x0202ADD0 + ldr r0, [r0] + movs r1, #0xfe + lsls r1, r1, #0xf + ands r0, r1 + cmp r0, #0 + beq _080031DC + ldr r1, _08003204 @ =0x0201A444 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb4 + ble _080031DC + movs r2, #0 + strh r2, [r3] + movs r0, #2 + strb r0, [r4] + ldr r1, _080031EC @ =0x0202BEC0 + movs r0, #0xa + strb r0, [r1] + ldr r0, _080031F0 @ =0x0202C604 + strb r2, [r0] + ldr r0, _080031F4 @ =0x0202C5A4 + strb r2, [r0] + ldr r1, _080031F8 @ =0x0202AD90 + movs r0, #0xd + strb r0, [r1] + bl sub_377C + ldr r1, _080031FC @ =0x0200B0C0 + movs r0, #4 + strb r0, [r1, #3] + movs r0, #0x8a + bl m4aSongNumStart _080031DC: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _080031E4: .4byte 0x0201A44C _080031E8: .4byte 0x0202A58C _080031EC: .4byte 0x0202BEC0 @@ -5959,58 +5959,58 @@ _080031FC: .4byte 0x0200B0C0 _08003200: .4byte 0x0202ADD0 _08003204: .4byte 0x0201A444 - thumb_func_start sub_3208 + thumb_func_start sub_3208 sub_3208: @ 0x08003208 - push {r4, r5, r6, r7, lr} - ldr r1, _0800326C @ =0x0201A44C - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #8 - ble _08003228 - movs r0, #0 - strh r0, [r1] - ldr r2, _08003270 @ =0x0202BEC0 - ldrb r1, [r2] - movs r0, #0x16 - subs r0, r0, r1 - strb r0, [r2] + push {r4, r5, r6, r7, lr} + ldr r1, _0800326C @ =0x0201A44C + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #8 + ble _08003228 + movs r0, #0 + strh r0, [r1] + ldr r2, _08003270 @ =0x0202BEC0 + ldrb r1, [r2] + movs r0, #0x16 + subs r0, r0, r1 + strb r0, [r2] _08003228: - ldr r4, _08003274 @ =0x0202C604 - ldr r2, _08003278 @ =0x086A551A - ldr r3, _0800327C @ =0x0202AD90 - movs r0, #0 - ldrsb r0, [r3, r0] - 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 - bgt _08003284 - ldr r1, _08003280 @ =0x0202A580 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - ble _080032E0 - movs r0, #0 - strb r0, [r1] - movs r0, #0 - ldrsb r0, [r3, r0] - movs r1, #0 - ldrsb r1, [r4, r1] - bl sub_3828 - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - b _080032E0 - .align 2, 0 + ldr r4, _08003274 @ =0x0202C604 + ldr r2, _08003278 @ =0x086A551A + ldr r3, _0800327C @ =0x0202AD90 + movs r0, #0 + ldrsb r0, [r3, r0] + 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 + bgt _08003284 + ldr r1, _08003280 @ =0x0202A580 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + ble _080032E0 + movs r0, #0 + strb r0, [r1] + movs r0, #0 + ldrsb r0, [r3, r0] + movs r1, #0 + ldrsb r1, [r4, r1] + bl sub_3828 + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] + b _080032E0 + .align 2, 0 _0800326C: .4byte 0x0201A44C _08003270: .4byte 0x0202BEC0 _08003274: .4byte 0x0202C604 @@ -6018,126 +6018,126 @@ _08003278: .4byte 0x086A551A _0800327C: .4byte 0x0202AD90 _08003280: .4byte 0x0202A580 _08003284: - ldr r1, _080032BC @ =0x0202A580 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #6 - ble _080032E0 - movs r0, #0 - strb r0, [r1] - ldr r0, _080032C0 @ =0x0202C5A4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _080032C4 - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r1, #0xea - lsls r1, r1, #6 - bl sub_38A0 - b _080032D6 - .align 2, 0 + ldr r1, _080032BC @ =0x0202A580 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #6 + ble _080032E0 + movs r0, #0 + strb r0, [r1] + ldr r0, _080032C0 @ =0x0202C5A4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _080032C4 + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + movs r1, #0xea + lsls r1, r1, #6 + bl sub_38A0 + b _080032D6 + .align 2, 0 _080032BC: .4byte 0x0202A580 _080032C0: .4byte 0x0202C5A4 _080032C4: - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r1, #0 - bl sub_38A0 + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + movs r1, #0 + bl sub_38A0 _080032D6: - ldr r2, _0800331C @ =0x0202C5A4 - ldrb r1, [r2] - movs r0, #1 - subs r0, r0, r1 - strb r0, [r2] + ldr r2, _0800331C @ =0x0202C5A4 + ldrb r1, [r2] + movs r0, #1 + subs r0, r0, r1 + strb r0, [r2] _080032E0: - ldr r7, _08003320 @ =0x0200B0C0 - ldrh r1, [r7, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0800336E - ldr r6, _08003324 @ =0x0202C604 - ldr r4, _08003328 @ =0x086A551A - ldr r5, _0800332C @ =0x0202AD90 - movs r2, #0 - ldrsb r2, [r5, r2] - adds r0, r2, r4 - movs r1, #0 - ldrsb r1, [r6, r1] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - bgt _08003330 - adds r0, r2, #0 - bl sub_37B4 - movs r0, #0 - ldrsb r0, [r5, r0] - adds r0, r0, r4 - ldrb r0, [r0] - adds r0, #1 - strb r0, [r6] - b _0800336E - .align 2, 0 + ldr r7, _08003320 @ =0x0200B0C0 + ldrh r1, [r7, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0800336E + ldr r6, _08003324 @ =0x0202C604 + ldr r4, _08003328 @ =0x086A551A + ldr r5, _0800332C @ =0x0202AD90 + movs r2, #0 + ldrsb r2, [r5, r2] + adds r0, r2, r4 + movs r1, #0 + ldrsb r1, [r6, r1] + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + bgt _08003330 + adds r0, r2, #0 + bl sub_37B4 + movs r0, #0 + ldrsb r0, [r5, r0] + adds r0, r0, r4 + ldrb r0, [r0] + adds r0, #1 + strb r0, [r6] + b _0800336E + .align 2, 0 _0800331C: .4byte 0x0202C5A4 _08003320: .4byte 0x0200B0C0 _08003324: .4byte 0x0202C604 _08003328: .4byte 0x086A551A _0800332C: .4byte 0x0202AD90 _08003330: - ldr r0, _08003354 @ =0x086A5528 - adds r0, r2, r0 - movs r4, #0 - ldrsb r4, [r0, r4] - cmp r4, #0 - bne _08003358 - bl sub_2568 - bl sub_1AA4 - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - strb r4, [r7, #3] - b _0800336E - .align 2, 0 + ldr r0, _08003354 @ =0x086A5528 + adds r0, r2, r0 + movs r4, #0 + ldrsb r4, [r0, r4] + cmp r4, #0 + bne _08003358 + bl sub_2568 + bl sub_1AA4 + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + strb r4, [r7, #3] + b _0800336E + .align 2, 0 _08003354: .4byte 0x086A5528 _08003358: - bl sub_377C - movs r1, #0 - strb r1, [r6] - ldr r0, _08003388 @ =0x0202A580 - strb r1, [r0] - ldr r0, _0800338C @ =0x0202C5A4 - strb r1, [r0] - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] + bl sub_377C + movs r1, #0 + strb r1, [r6] + ldr r0, _08003388 @ =0x0202A580 + strb r1, [r0] + ldr r0, _0800338C @ =0x0202C5A4 + strb r1, [r0] + ldrb r0, [r5] + adds r0, #1 + strb r0, [r5] _0800336E: - bl sub_394C - ldr r1, _08003390 @ =0x040000D4 - ldr r0, _08003394 @ =0x03000000 - str r0, [r1] - ldr r0, _08003398 @ =0x06004000 - str r0, [r1, #4] - ldr r0, _0800339C @ =0x80001800 - str r0, [r1, #8] - ldr r0, [r1, #8] - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + bl sub_394C + ldr r1, _08003390 @ =0x040000D4 + ldr r0, _08003394 @ =0x03000000 + str r0, [r1] + ldr r0, _08003398 @ =0x06004000 + str r0, [r1, #4] + ldr r0, _0800339C @ =0x80001800 + str r0, [r1, #8] + ldr r0, [r1, #8] + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08003388: .4byte 0x0202A580 _0800338C: .4byte 0x0202C5A4 _08003390: .4byte 0x040000D4 @@ -6145,214 +6145,214 @@ _08003394: .4byte 0x03000000 _08003398: .4byte 0x06004000 _0800339C: .4byte 0x80001800 - thumb_func_start sub_33A0 + thumb_func_start sub_33A0 sub_33A0: @ 0x080033A0 - push {lr} - bl sub_3AB4 - ldr r2, _080033BC @ =0x0201A44C - movs r0, #0 - ldrsh r1, [r2, r0] - cmp r1, #0x96 - beq _080033D4 - cmp r1, #0x96 - bgt _080033C0 - cmp r1, #4 - beq _080033CA - b _080033FE - .align 2, 0 + push {lr} + bl sub_3AB4 + ldr r2, _080033BC @ =0x0201A44C + movs r0, #0 + ldrsh r1, [r2, r0] + cmp r1, #0x96 + beq _080033D4 + cmp r1, #0x96 + bgt _080033C0 + cmp r1, #4 + beq _080033CA + b _080033FE + .align 2, 0 _080033BC: .4byte 0x0201A44C _080033C0: - movs r0, #0x87 - lsls r0, r0, #1 - cmp r1, r0 - beq _080033E8 - b _080033FE + movs r0, #0x87 + lsls r0, r0, #1 + cmp r1, r0 + beq _080033E8 + b _080033FE _080033CA: - bl sub_2568 - bl sub_1AA4 - b _080033FE + bl sub_2568 + bl sub_1AA4 + b _080033FE _080033D4: - ldr r1, _080033E4 @ =0x0202A58C - movs r0, #3 - strb r0, [r1] - movs r0, #0x65 - bl m4aSongNumStart - b _080033FE - .align 2, 0 + ldr r1, _080033E4 @ =0x0202A58C + movs r0, #3 + strb r0, [r1] + movs r0, #0x65 + bl m4aSongNumStart + b _080033FE + .align 2, 0 _080033E4: .4byte 0x0202A58C _080033E8: - movs r0, #0 - strh r0, [r2] - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _0800342C @ =0x0200B0C0 - movs r0, #6 - strb r0, [r1, #3] + movs r0, #0 + strh r0, [r2] + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _0800342C @ =0x0200B0C0 + movs r0, #6 + strb r0, [r1, #3] _080033FE: - ldr r0, _08003430 @ =0x0202A58C - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r3, _08003434 @ =0x0201A44C - cmp r0, #1 - bne _08003420 - ldrh r0, [r3] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _08003420 - ldr r2, _08003438 @ =0x0202BEC0 - ldrb r1, [r2] - movs r0, #0x15 - subs r0, r0, r1 - strb r0, [r2] + ldr r0, _08003430 @ =0x0202A58C + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldr r3, _08003434 @ =0x0201A44C + cmp r0, #1 + bne _08003420 + ldrh r0, [r3] + movs r1, #7 + ands r0, r1 + cmp r0, #0 + bne _08003420 + ldr r2, _08003438 @ =0x0202BEC0 + ldrb r1, [r2] + movs r0, #0x15 + subs r0, r0, r1 + strb r0, [r2] _08003420: - ldrh r0, [r3] - adds r0, #1 - strh r0, [r3] - pop {r0} - bx r0 - .align 2, 0 + ldrh r0, [r3] + adds r0, #1 + strh r0, [r3] + pop {r0} + bx r0 + .align 2, 0 _0800342C: .4byte 0x0200B0C0 _08003430: .4byte 0x0202A58C _08003434: .4byte 0x0201A44C _08003438: .4byte 0x0202BEC0 - thumb_func_start sub_343C + thumb_func_start sub_343C sub_343C: @ 0x0800343C - push {r4, r5, r6, lr} - mov r6, sb - mov r5, r8 - push {r5, r6} - bl sub_438 - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x86 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _08003550 @ =0x04000008 - movs r0, #4 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _08003554 @ =0x0400000A - adds r3, #5 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - adds r3, #0xfb - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r6, _08003558 @ =0x0200B0C0 - movs r0, #0xba - lsls r0, r0, #2 - adds r1, r6, r0 - movs r5, #0 - ldr r0, _0800355C @ =0x0000FFE8 - strh r0, [r1] - adds r3, #0xea - adds r1, r6, r3 - subs r0, #0x48 - strh r0, [r1] - ldrh r0, [r2] - strh r0, [r6, #0x16] - ldr r4, _08003560 @ =0x040000D4 - ldr r0, _08003564 @ =0x08081D20 - str r0, [r4] - movs r0, #0xa0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - ldr r0, _08003568 @ =0x80000020 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800356C @ =0x080897E0 - str r0, [r4] - ldr r0, _08003570 @ =0x05000040 - str r0, [r4, #4] - ldr r0, _08003574 @ =0x80000010 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08003578 @ =0x08080500 - str r0, [r4] - ldr r0, _0800357C @ =0x03000000 - mov r8, r0 - str r0, [r4, #4] - ldr r1, _08003580 @ =0x80001800 - mov sb, r1 - str r1, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08003584 @ =0x0807DD00 - str r0, [r4] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - ldr r1, _08003588 @ =0x80000400 - str r1, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800358C @ =0x0807FD00 - str r0, [r4] - ldr r0, _08003590 @ =0x06000800 - str r0, [r4, #4] - str r1, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08003594 @ =0x08089960 - str r0, [r4] - ldr r0, _08003598 @ =0x05000200 - str r0, [r4, #4] - ldr r0, _0800359C @ =0x80000060 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _080035A0 @ =0x08089B60 - str r0, [r4] - ldr r0, _080035A4 @ =0x06010000 - str r0, [r4, #4] - ldr r0, _080035A8 @ =0x80003610 - str r0, [r4, #8] - ldr r0, [r4, #8] - bl sub_2DF0 - ldr r0, _080035AC @ =0x0202C604 - strb r5, [r0] - ldr r0, _080035B0 @ =0x0202A580 - strb r5, [r0] - ldr r0, _080035B4 @ =0x0202C5A4 - strb r5, [r0] - ldr r2, _080035B8 @ =0x0202AD90 - ldr r1, _080035BC @ =0x086A5536 - ldr r0, _080035C0 @ =0x0201C184 - movs r3, #0 - ldrsh r0, [r0, r3] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r2] - bl sub_377C - mov r0, r8 - str r0, [r4] - ldr r0, _080035C4 @ =0x06004000 - str r0, [r4, #4] - mov r1, sb - str r1, [r4, #8] - ldr r0, [r4, #8] - bl sub_394C - movs r0, #5 - bl m4aSongNumStart - bl sub_CBC - bl sub_24C - movs r0, #7 - strb r0, [r6, #3] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + mov r6, sb + mov r5, r8 + push {r5, r6} + bl sub_438 + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x86 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _08003550 @ =0x04000008 + movs r0, #4 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #1 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _08003554 @ =0x0400000A + adds r3, #5 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + adds r3, #0xfb + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r6, _08003558 @ =0x0200B0C0 + movs r0, #0xba + lsls r0, r0, #2 + adds r1, r6, r0 + movs r5, #0 + ldr r0, _0800355C @ =0x0000FFE8 + strh r0, [r1] + adds r3, #0xea + adds r1, r6, r3 + subs r0, #0x48 + strh r0, [r1] + ldrh r0, [r2] + strh r0, [r6, #0x16] + ldr r4, _08003560 @ =0x040000D4 + ldr r0, _08003564 @ =0x08081D20 + str r0, [r4] + movs r0, #0xa0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + ldr r0, _08003568 @ =0x80000020 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800356C @ =0x080897E0 + str r0, [r4] + ldr r0, _08003570 @ =0x05000040 + str r0, [r4, #4] + ldr r0, _08003574 @ =0x80000010 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08003578 @ =0x08080500 + str r0, [r4] + ldr r0, _0800357C @ =0x03000000 + mov r8, r0 + str r0, [r4, #4] + ldr r1, _08003580 @ =0x80001800 + mov sb, r1 + str r1, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08003584 @ =0x0807DD00 + str r0, [r4] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + ldr r1, _08003588 @ =0x80000400 + str r1, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800358C @ =0x0807FD00 + str r0, [r4] + ldr r0, _08003590 @ =0x06000800 + str r0, [r4, #4] + str r1, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08003594 @ =0x08089960 + str r0, [r4] + ldr r0, _08003598 @ =0x05000200 + str r0, [r4, #4] + ldr r0, _0800359C @ =0x80000060 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _080035A0 @ =0x08089B60 + str r0, [r4] + ldr r0, _080035A4 @ =0x06010000 + str r0, [r4, #4] + ldr r0, _080035A8 @ =0x80003610 + str r0, [r4, #8] + ldr r0, [r4, #8] + bl sub_2DF0 + ldr r0, _080035AC @ =0x0202C604 + strb r5, [r0] + ldr r0, _080035B0 @ =0x0202A580 + strb r5, [r0] + ldr r0, _080035B4 @ =0x0202C5A4 + strb r5, [r0] + ldr r2, _080035B8 @ =0x0202AD90 + ldr r1, _080035BC @ =0x086A5536 + ldr r0, _080035C0 @ =0x0201C184 + movs r3, #0 + ldrsh r0, [r0, r3] + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r2] + bl sub_377C + mov r0, r8 + str r0, [r4] + ldr r0, _080035C4 @ =0x06004000 + str r0, [r4, #4] + mov r1, sb + str r1, [r4, #8] + ldr r0, [r4, #8] + bl sub_394C + movs r0, #5 + bl m4aSongNumStart + bl sub_CBC + bl sub_24C + movs r0, #7 + strb r0, [r6, #3] + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08003550: .4byte 0x04000008 _08003554: .4byte 0x0400000A _08003558: .4byte 0x0200B0C0 @@ -6384,181 +6384,181 @@ _080035BC: .4byte 0x086A5536 _080035C0: .4byte 0x0201C184 _080035C4: .4byte 0x06004000 - thumb_func_start sub_35C8 + thumb_func_start sub_35C8 sub_35C8: @ 0x080035C8 - push {r4, r5, r6, lr} - ldr r4, _0800360C @ =0x0202C604 - ldr r2, _08003610 @ =0x086A551A - ldr r3, _08003614 @ =0x0202AD90 - movs r0, #0 - ldrsb r0, [r3, r0] - 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 - bgt _0800361C - ldr r1, _08003618 @ =0x0202A580 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - ble _08003678 - movs r0, #0 - strb r0, [r1] - movs r0, #0 - ldrsb r0, [r3, r0] - movs r1, #0 - ldrsb r1, [r4, r1] - bl sub_3828 - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - b _08003678 - .align 2, 0 + push {r4, r5, r6, lr} + ldr r4, _0800360C @ =0x0202C604 + ldr r2, _08003610 @ =0x086A551A + ldr r3, _08003614 @ =0x0202AD90 + movs r0, #0 + ldrsb r0, [r3, r0] + 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 + bgt _0800361C + ldr r1, _08003618 @ =0x0202A580 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + ble _08003678 + movs r0, #0 + strb r0, [r1] + movs r0, #0 + ldrsb r0, [r3, r0] + movs r1, #0 + ldrsb r1, [r4, r1] + bl sub_3828 + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] + b _08003678 + .align 2, 0 _0800360C: .4byte 0x0202C604 _08003610: .4byte 0x086A551A _08003614: .4byte 0x0202AD90 _08003618: .4byte 0x0202A580 _0800361C: - ldr r1, _08003654 @ =0x0202A580 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #6 - ble _08003678 - movs r0, #0 - strb r0, [r1] - ldr r0, _08003658 @ =0x0202C5A4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0800365C - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r1, #0xea - lsls r1, r1, #6 - bl sub_38A0 - b _0800366E - .align 2, 0 + ldr r1, _08003654 @ =0x0202A580 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #6 + ble _08003678 + movs r0, #0 + strb r0, [r1] + ldr r0, _08003658 @ =0x0202C5A4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0800365C + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + movs r1, #0xea + lsls r1, r1, #6 + bl sub_38A0 + b _0800366E + .align 2, 0 _08003654: .4byte 0x0202A580 _08003658: .4byte 0x0202C5A4 _0800365C: - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r1, #0 - bl sub_38A0 + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + movs r1, #0 + bl sub_38A0 _0800366E: - ldr r2, _080036B4 @ =0x0202C5A4 - ldrb r1, [r2] - movs r0, #1 - subs r0, r0, r1 - strb r0, [r2] + ldr r2, _080036B4 @ =0x0202C5A4 + ldrb r1, [r2] + movs r0, #1 + subs r0, r0, r1 + strb r0, [r2] _08003678: - ldr r2, _080036B8 @ =0x0200B0C0 - ldrh r1, [r2, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0800371A - ldr r5, _080036BC @ =0x0202C604 - ldr r6, _080036C0 @ =0x086A551A - ldr r4, _080036C4 @ =0x0202AD90 - movs r3, #0 - ldrsb r3, [r4, r3] - adds r0, r3, r6 - movs r1, #0 - ldrsb r1, [r5, r1] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - bgt _080036C8 - adds r0, r3, #0 - bl sub_37B4 - movs r0, #0 - ldrsb r0, [r4, r0] - adds r0, r0, r6 - ldrb r0, [r0] - adds r0, #1 - strb r0, [r5] - b _0800371A - .align 2, 0 + ldr r2, _080036B8 @ =0x0200B0C0 + ldrh r1, [r2, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0800371A + ldr r5, _080036BC @ =0x0202C604 + ldr r6, _080036C0 @ =0x086A551A + ldr r4, _080036C4 @ =0x0202AD90 + movs r3, #0 + ldrsb r3, [r4, r3] + adds r0, r3, r6 + movs r1, #0 + ldrsb r1, [r5, r1] + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + bgt _080036C8 + adds r0, r3, #0 + bl sub_37B4 + movs r0, #0 + ldrsb r0, [r4, r0] + adds r0, r0, r6 + ldrb r0, [r0] + adds r0, #1 + strb r0, [r5] + b _0800371A + .align 2, 0 _080036B4: .4byte 0x0202C5A4 _080036B8: .4byte 0x0200B0C0 _080036BC: .4byte 0x0202C604 _080036C0: .4byte 0x086A551A _080036C4: .4byte 0x0202AD90 _080036C8: - ldr r0, _080036E8 @ =0x086A5528 - adds r0, r3, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08003704 - ldr r0, _080036EC @ =0x0201C184 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #4 - bne _080036F4 - ldr r1, _080036F0 @ =0x0202BEF8 - movs r0, #0xb - b _080036F8 - .align 2, 0 + ldr r0, _080036E8 @ =0x086A5528 + adds r0, r3, r0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08003704 + ldr r0, _080036EC @ =0x0201C184 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #4 + bne _080036F4 + ldr r1, _080036F0 @ =0x0202BEF8 + movs r0, #0xb + b _080036F8 + .align 2, 0 _080036E8: .4byte 0x086A5528 _080036EC: .4byte 0x0201C184 _080036F0: .4byte 0x0202BEF8 _080036F4: - ldr r1, _08003700 @ =0x0202BEF8 - movs r0, #1 + ldr r1, _08003700 @ =0x0202BEF8 + movs r0, #1 _080036F8: - strb r0, [r1] - movs r0, #8 - strb r0, [r2, #3] - b _0800371A - .align 2, 0 + strb r0, [r1] + movs r0, #8 + strb r0, [r2, #3] + b _0800371A + .align 2, 0 _08003700: .4byte 0x0202BEF8 _08003704: - bl sub_377C - movs r1, #0 - strb r1, [r5] - ldr r0, _08003734 @ =0x0202A580 - strb r1, [r0] - ldr r0, _08003738 @ =0x0202C5A4 - strb r1, [r0] - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] + bl sub_377C + movs r1, #0 + strb r1, [r5] + ldr r0, _08003734 @ =0x0202A580 + strb r1, [r0] + ldr r0, _08003738 @ =0x0202C5A4 + strb r1, [r0] + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] _0800371A: - bl sub_394C - ldr r1, _0800373C @ =0x040000D4 - ldr r0, _08003740 @ =0x03000000 - str r0, [r1] - ldr r0, _08003744 @ =0x06004000 - str r0, [r1, #4] - ldr r0, _08003748 @ =0x80001800 - str r0, [r1, #8] - ldr r0, [r1, #8] - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + bl sub_394C + ldr r1, _0800373C @ =0x040000D4 + ldr r0, _08003740 @ =0x03000000 + str r0, [r1] + ldr r0, _08003744 @ =0x06004000 + str r0, [r1, #4] + ldr r0, _08003748 @ =0x80001800 + str r0, [r1, #8] + ldr r0, [r1, #8] + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08003734: .4byte 0x0202A580 _08003738: .4byte 0x0202C5A4 _0800373C: .4byte 0x040000D4 @@ -6566,434 +6566,434 @@ _08003740: .4byte 0x03000000 _08003744: .4byte 0x06004000 _08003748: .4byte 0x80001800 - thumb_func_start sub_374C + thumb_func_start sub_374C sub_374C: @ 0x0800374C - push {lr} - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _08003774 @ =0x0201A4B4 - movs r0, #1 - strb r0, [r1] - ldr r0, _08003778 @ =0x0202BEF8 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - bl sub_23C - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _08003774 @ =0x0201A4B4 + movs r0, #1 + strb r0, [r1] + ldr r0, _08003778 @ =0x0202BEF8 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + bl sub_23C + pop {r0} + bx r0 + .align 2, 0 _08003774: .4byte 0x0201A4B4 _08003778: .4byte 0x0202BEF8 - thumb_func_start sub_377C + thumb_func_start sub_377C sub_377C: @ 0x0800377C - push {r4, r5, r6, r7, lr} - movs r1, #0 - ldr r7, _080037AC @ =0x03001800 + push {r4, r5, r6, r7, lr} + movs r1, #0 + ldr r7, _080037AC @ =0x03001800 _08003782: - movs r5, #0 - lsls r0, r1, #0xb - adds r6, r1, #1 - adds r4, r7, r0 + movs r5, #0 + lsls r0, r1, #0xb + adds r6, r1, #1 + adds r4, r7, r0 _0800378A: - ldr r0, _080037B0 @ =0x080ACC60 - adds r1, r4, #0 - movs r2, #1 - movs r3, #2 - bl sub_10708 - adds r4, #0x20 - adds r5, #1 - cmp r5, #0x17 - ble _0800378A - adds r1, r6, #0 - cmp r1, #2 - ble _08003782 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + ldr r0, _080037B0 @ =0x080ACC60 + adds r1, r4, #0 + movs r2, #1 + movs r3, #2 + bl sub_10708 + adds r4, #0x20 + adds r5, #1 + cmp r5, #0x17 + ble _0800378A + adds r1, r6, #0 + cmp r1, #2 + ble _08003782 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _080037AC: .4byte 0x03001800 _080037B0: .4byte 0x080ACC60 - thumb_func_start sub_37B4 + thumb_func_start sub_37B4 sub_37B4: @ 0x080037B4 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - movs r2, #0 - lsls r0, r0, #0x18 - ldr r1, _08003818 @ =0x086A4CF8 - mov sb, r1 - asrs r0, r0, #0x18 - lsls r1, r0, #3 - adds r1, r1, r0 - lsls r1, r1, #4 - mov r8, r1 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + movs r2, #0 + lsls r0, r0, #0x18 + ldr r1, _08003818 @ =0x086A4CF8 + mov sb, r1 + asrs r0, r0, #0x18 + lsls r1, r0, #3 + adds r1, r1, r0 + lsls r1, r1, #4 + mov r8, r1 _080037CE: - movs r5, #0 - lsls r1, r2, #1 - lsls r6, r2, #0xb - adds r7, r2, #1 - adds r1, r1, r2 - lsls r1, r1, #4 - mov r0, r8 - add r0, sb - adds r4, r1, r0 + movs r5, #0 + lsls r1, r2, #1 + lsls r6, r2, #0xb + adds r7, r2, #1 + adds r1, r1, r2 + lsls r1, r1, #4 + mov r0, r8 + add r0, sb + adds r4, r1, r0 _080037E0: - ldrh r1, [r4] - ldr r2, _0800381C @ =0x0000FFF0 - adds r0, r2, #0 - ands r0, r1 - ldr r1, _08003820 @ =0x080ACC60 - adds r0, r0, r1 - lsls r1, r5, #5 - ldr r2, _08003824 @ =0x03001800 - adds r1, r1, r2 - adds r1, r6, r1 - movs r2, #1 - movs r3, #2 - bl sub_10708 - adds r4, #2 - adds r5, #1 - cmp r5, #0x17 - ble _080037E0 - adds r2, r7, #0 - cmp r2, #2 - ble _080037CE - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + ldrh r1, [r4] + ldr r2, _0800381C @ =0x0000FFF0 + adds r0, r2, #0 + ands r0, r1 + ldr r1, _08003820 @ =0x080ACC60 + adds r0, r0, r1 + lsls r1, r5, #5 + ldr r2, _08003824 @ =0x03001800 + adds r1, r1, r2 + adds r1, r6, r1 + movs r2, #1 + movs r3, #2 + bl sub_10708 + adds r4, #2 + adds r5, #1 + cmp r5, #0x17 + ble _080037E0 + adds r2, r7, #0 + cmp r2, #2 + ble _080037CE + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08003818: .4byte 0x086A4CF8 _0800381C: .4byte 0x0000FFF0 _08003820: .4byte 0x080ACC60 _08003824: .4byte 0x03001800 - thumb_func_start sub_3828 + thumb_func_start sub_3828 sub_3828: @ 0x08003828 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r1, #0 - lsls r5, r5, #0x18 - lsrs r5, r5, #0x18 - lsls r4, r4, #0x18 - asrs r4, r4, #0x18 - adds r0, r4, #0 - movs r1, #0x18 - bl __divsi3 - adds r6, r0, #0 - lsls r6, r6, #0x18 - asrs r6, r6, #0x18 - adds r0, r4, #0 - movs r1, #0x18 - bl __modsi3 - adds r2, r0, #0 - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - ldr r3, _08003890 @ =0x086A4CF8 - lsls r1, r6, #1 - adds r1, r1, r6 - lsls r1, r1, #3 - adds r1, r1, r2 - lsls r1, r1, #1 - lsls r5, r5, #0x18 - asrs r5, r5, #0x18 - lsls r0, r5, #3 - adds r0, r0, r5 - lsls r0, r0, #4 - adds r1, r1, r0 - adds r1, r1, r3 - ldrh r1, [r1] - ldr r0, _08003894 @ =0x0000FFF0 - ands r0, r1 - ldr r1, _08003898 @ =0x080ACC60 - adds r0, r0, r1 - lsls r6, r6, #0xb - lsls r2, r2, #5 - ldr r1, _0800389C @ =0x03001800 - adds r2, r2, r1 - adds r6, r6, r2 - adds r1, r6, #0 - movs r2, #1 - movs r3, #2 - bl sub_10708 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + adds r5, r0, #0 + adds r4, r1, #0 + lsls r5, r5, #0x18 + lsrs r5, r5, #0x18 + lsls r4, r4, #0x18 + asrs r4, r4, #0x18 + adds r0, r4, #0 + movs r1, #0x18 + bl __divsi3 + adds r6, r0, #0 + lsls r6, r6, #0x18 + asrs r6, r6, #0x18 + adds r0, r4, #0 + movs r1, #0x18 + bl __modsi3 + adds r2, r0, #0 + lsls r2, r2, #0x18 + asrs r2, r2, #0x18 + ldr r3, _08003890 @ =0x086A4CF8 + lsls r1, r6, #1 + adds r1, r1, r6 + lsls r1, r1, #3 + adds r1, r1, r2 + lsls r1, r1, #1 + lsls r5, r5, #0x18 + asrs r5, r5, #0x18 + lsls r0, r5, #3 + adds r0, r0, r5 + lsls r0, r0, #4 + adds r1, r1, r0 + adds r1, r1, r3 + ldrh r1, [r1] + ldr r0, _08003894 @ =0x0000FFF0 + ands r0, r1 + ldr r1, _08003898 @ =0x080ACC60 + adds r0, r0, r1 + lsls r6, r6, #0xb + lsls r2, r2, #5 + ldr r1, _0800389C @ =0x03001800 + adds r2, r2, r1 + adds r6, r6, r2 + adds r1, r6, #0 + movs r2, #1 + movs r3, #2 + bl sub_10708 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08003890: .4byte 0x086A4CF8 _08003894: .4byte 0x0000FFF0 _08003898: .4byte 0x080ACC60 _0800389C: .4byte 0x03001800 - thumb_func_start sub_38A0 + thumb_func_start sub_38A0 sub_38A0: @ 0x080038A0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - lsls r6, r6, #0x10 - lsrs r6, r6, #0x10 - lsls r5, r5, #0x18 - asrs r5, r5, #0x18 - adds r0, r5, #0 - movs r1, #0x18 - bl __divsi3 - adds r4, r0, #0 - lsls r4, r4, #0x18 - asrs r4, r4, #0x18 - adds r0, r5, #0 - movs r1, #0x18 - bl __modsi3 - lsls r0, r0, #0x18 - ldr r1, _080038E8 @ =0x080ACC60 - adds r6, r6, r1 - lsls r4, r4, #0xb - asrs r0, r0, #0x13 - ldr r1, _080038EC @ =0x03001800 - adds r0, r0, r1 - adds r4, r4, r0 - adds r0, r6, #0 - adds r1, r4, #0 - movs r2, #1 - movs r3, #2 - bl sub_10708 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + adds r5, r0, #0 + adds r6, r1, #0 + lsls r6, r6, #0x10 + lsrs r6, r6, #0x10 + lsls r5, r5, #0x18 + asrs r5, r5, #0x18 + adds r0, r5, #0 + movs r1, #0x18 + bl __divsi3 + adds r4, r0, #0 + lsls r4, r4, #0x18 + asrs r4, r4, #0x18 + adds r0, r5, #0 + movs r1, #0x18 + bl __modsi3 + lsls r0, r0, #0x18 + ldr r1, _080038E8 @ =0x080ACC60 + adds r6, r6, r1 + lsls r4, r4, #0xb + asrs r0, r0, #0x13 + ldr r1, _080038EC @ =0x03001800 + adds r0, r0, r1 + adds r4, r4, r0 + adds r0, r6, #0 + adds r1, r4, #0 + movs r2, #1 + movs r3, #2 + bl sub_10708 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _080038E8: .4byte 0x080ACC60 _080038EC: .4byte 0x03001800 - thumb_func_start sub_38F0 + thumb_func_start sub_38F0 sub_38F0: @ 0x080038F0 - ldr r0, _08003900 @ =0x0202BEEC - movs r2, #0 - ldrsh r1, [r0, r2] - ldr r0, _08003904 @ =0x00001F52 - cmp r1, r0 - bne _08003908 - movs r0, #0 - b _0800394A - .align 2, 0 + ldr r0, _08003900 @ =0x0202BEEC + movs r2, #0 + ldrsh r1, [r0, r2] + ldr r0, _08003904 @ =0x00001F52 + cmp r1, r0 + bne _08003908 + movs r0, #0 + b _0800394A + .align 2, 0 _08003900: .4byte 0x0202BEEC _08003904: .4byte 0x00001F52 _08003908: - ldr r0, _08003914 @ =0x00003E1A - cmp r1, r0 - bne _08003918 - movs r0, #1 - b _0800394A - .align 2, 0 + ldr r0, _08003914 @ =0x00003E1A + cmp r1, r0 + bne _08003918 + movs r0, #1 + b _0800394A + .align 2, 0 _08003914: .4byte 0x00003E1A _08003918: - ldr r0, _08003924 @ =0x000025AF - cmp r1, r0 - bne _08003928 - movs r0, #2 - b _0800394A - .align 2, 0 + ldr r0, _08003924 @ =0x000025AF + cmp r1, r0 + bne _08003928 + movs r0, #2 + b _0800394A + .align 2, 0 _08003924: .4byte 0x000025AF _08003928: - ldr r0, _08003934 @ =0x00004A09 - cmp r1, r0 - bne _08003938 - movs r0, #3 - b _0800394A - .align 2, 0 + ldr r0, _08003934 @ =0x00004A09 + cmp r1, r0 + bne _08003938 + movs r0, #3 + b _0800394A + .align 2, 0 _08003934: .4byte 0x00004A09 _08003938: - ldr r0, _08003944 @ =0x00006B12 - cmp r1, r0 - beq _08003948 - movs r0, #1 - rsbs r0, r0, #0 - b _0800394A - .align 2, 0 + ldr r0, _08003944 @ =0x00006B12 + cmp r1, r0 + beq _08003948 + movs r0, #1 + rsbs r0, r0, #0 + b _0800394A + .align 2, 0 _08003944: .4byte 0x00006B12 _08003948: - movs r0, #4 + movs r0, #4 _0800394A: - bx lr + bx lr - thumb_func_start sub_394C + thumb_func_start sub_394C sub_394C: @ 0x0800394C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r4, _080039A0 @ =0x0202A58C - movs r0, #0 - ldrsb r0, [r4, r0] - movs r1, #0xb8 - muls r0, r1, r0 - ldr r2, _080039A4 @ =0x0200B3B8 - adds r7, r0, r2 - ldr r0, _080039A8 @ =0x0202BEC0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - muls r0, r1, r0 - adds r0, r0, r2 - mov r8, r0 - ldr r0, _080039AC @ =0x0202C584 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r7] - movs r0, #1 - mov r1, r8 - strh r0, [r1] - ldr r0, _080039B0 @ =0x086A54D8 - movs r1, #0xd - bl sub_358 - ldrh r0, [r7] - cmp r0, #1 - bne _08003A18 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _080039B4 - movs r0, #0x78 - strh r0, [r7, #2] - movs r0, #0x64 - b _080039BA - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r4, _080039A0 @ =0x0202A58C + movs r0, #0 + ldrsb r0, [r4, r0] + movs r1, #0xb8 + muls r0, r1, r0 + ldr r2, _080039A4 @ =0x0200B3B8 + adds r7, r0, r2 + ldr r0, _080039A8 @ =0x0202BEC0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + muls r0, r1, r0 + adds r0, r0, r2 + mov r8, r0 + ldr r0, _080039AC @ =0x0202C584 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r7] + movs r0, #1 + mov r1, r8 + strh r0, [r1] + ldr r0, _080039B0 @ =0x086A54D8 + movs r1, #0xd + bl sub_358 + ldrh r0, [r7] + cmp r0, #1 + bne _08003A18 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + bne _080039B4 + movs r0, #0x78 + strh r0, [r7, #2] + movs r0, #0x64 + b _080039BA + .align 2, 0 _080039A0: .4byte 0x0202A58C _080039A4: .4byte 0x0200B3B8 _080039A8: .4byte 0x0202BEC0 _080039AC: .4byte 0x0202C584 _080039B0: .4byte 0x086A54D8 _080039B4: - movs r0, #0x78 - strh r0, [r7, #2] - movs r0, #0x50 + movs r0, #0x78 + strh r0, [r7, #2] + movs r0, #0x50 _080039BA: - strh r0, [r7, #4] - ldr r1, _08003A9C @ =0x086A54D8 - ldr r0, _08003AA0 @ =0x0202A58C - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r6, [r0] - movs r5, #0 - ldrh r2, [r6] - cmp r5, r2 - bge _08003A18 - ldr r0, _08003AA4 @ =0x03005000 - mov ip, r0 - ldr r1, _08003AA8 @ =0xFFFFFE00 - mov sb, r1 - adds r4, r7, #0 - adds r4, #8 + strh r0, [r7, #4] + ldr r1, _08003A9C @ =0x086A54D8 + ldr r0, _08003AA0 @ =0x0202A58C + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r6, [r0] + movs r5, #0 + ldrh r2, [r6] + cmp r5, r2 + bge _08003A18 + ldr r0, _08003AA4 @ =0x03005000 + mov ip, r0 + ldr r1, _08003AA8 @ =0xFFFFFE00 + mov sb, r1 + adds r4, r7, #0 + adds r4, #8 _080039E0: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, ip - movs r2, #2 - ldrsh r1, [r4, r2] - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - ldr r2, _08003AAC @ =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 r1, [r4] - lsls r1, r1, #3 - add r1, ip - ldrb r0, [r7, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - adds r5, #1 - ldrh r0, [r6] - cmp r5, r0 - blt _080039E0 + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, ip + movs r2, #2 + ldrsh r1, [r4, r2] + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + ldr r2, _08003AAC @ =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 r1, [r4] + lsls r1, r1, #3 + add r1, ip + ldrb r0, [r7, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + adds r5, #1 + ldrh r0, [r6] + cmp r5, r0 + blt _080039E0 _08003A18: - movs r0, #0x78 - mov r1, r8 - strh r0, [r1, #2] - movs r0, #0x18 - strh r0, [r1, #4] - ldr r1, _08003A9C @ =0x086A54D8 - ldr r0, _08003AB0 @ =0x0202BEC0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r6, [r0] - movs r5, #0 - ldrh r2, [r6] - cmp r5, r2 - bge _08003A86 - ldr r0, _08003AA4 @ =0x03005000 - mov ip, r0 - ldr r1, _08003AA8 @ =0xFFFFFE00 - mov sb, r1 - mov r4, r8 - adds r4, #8 + movs r0, #0x78 + mov r1, r8 + strh r0, [r1, #2] + movs r0, #0x18 + strh r0, [r1, #4] + ldr r1, _08003A9C @ =0x086A54D8 + ldr r0, _08003AB0 @ =0x0202BEC0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r6, [r0] + movs r5, #0 + ldrh r2, [r6] + cmp r5, r2 + bge _08003A86 + ldr r0, _08003AA4 @ =0x03005000 + mov ip, r0 + ldr r1, _08003AA8 @ =0xFFFFFE00 + mov sb, r1 + mov r4, r8 + adds r4, #8 _08003A46: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, ip - movs r0, #2 - ldrsh r2, [r4, r0] - mov sl, r2 - mov r1, r8 - movs r2, #2 - ldrsh r0, [r1, r2] - mov r2, sl - adds r1, r2, r0 - ldr r2, _08003AAC @ =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 r1, [r4] - lsls r1, r1, #3 - add r1, ip - mov r2, r8 - ldrb r0, [r2, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - adds r5, #1 - ldrh r0, [r6] - cmp r5, r0 - blt _08003A46 + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, ip + movs r0, #2 + ldrsh r2, [r4, r0] + mov sl, r2 + mov r1, r8 + movs r2, #2 + ldrsh r0, [r1, r2] + mov r2, sl + adds r1, r2, r0 + ldr r2, _08003AAC @ =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 r1, [r4] + lsls r1, r1, #3 + add r1, ip + mov r2, r8 + ldrb r0, [r2, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + adds r5, #1 + ldrh r0, [r6] + cmp r5, r0 + blt _08003A46 _08003A86: - movs r0, #0 - strh r0, [r7] - mov r1, r8 - 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 + movs r0, #0 + strh r0, [r7] + mov r1, r8 + 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 _08003A9C: .4byte 0x086A54D8 _08003AA0: .4byte 0x0202A58C _08003AA4: .4byte 0x03005000 @@ -7001,178 +7001,178 @@ _08003AA8: .4byte 0xFFFFFE00 _08003AAC: .4byte 0x000001FF _08003AB0: .4byte 0x0202BEC0 - thumb_func_start sub_3AB4 + thumb_func_start sub_3AB4 sub_3AB4: @ 0x08003AB4 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r4, _08003B08 @ =0x0202A58C - movs r0, #0 - ldrsb r0, [r4, r0] - movs r1, #0xb8 - muls r0, r1, r0 - ldr r2, _08003B0C @ =0x0200B3B8 - adds r7, r0, r2 - ldr r0, _08003B10 @ =0x0202BEC0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - muls r0, r1, r0 - adds r0, r0, r2 - mov r8, r0 - ldr r0, _08003B14 @ =0x0202C584 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r7] - movs r0, #1 - mov r1, r8 - strh r0, [r1] - ldr r0, _08003B18 @ =0x086A54D8 - movs r1, #0xd - bl sub_2414 - ldrh r0, [r7] - cmp r0, #1 - bne _08003B80 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _08003B1C - movs r0, #0x78 - strh r0, [r7, #2] - movs r0, #0x64 - b _08003B22 - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r4, _08003B08 @ =0x0202A58C + movs r0, #0 + ldrsb r0, [r4, r0] + movs r1, #0xb8 + muls r0, r1, r0 + ldr r2, _08003B0C @ =0x0200B3B8 + adds r7, r0, r2 + ldr r0, _08003B10 @ =0x0202BEC0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + muls r0, r1, r0 + adds r0, r0, r2 + mov r8, r0 + ldr r0, _08003B14 @ =0x0202C584 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r7] + movs r0, #1 + mov r1, r8 + strh r0, [r1] + ldr r0, _08003B18 @ =0x086A54D8 + movs r1, #0xd + bl sub_2414 + ldrh r0, [r7] + cmp r0, #1 + bne _08003B80 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + bne _08003B1C + movs r0, #0x78 + strh r0, [r7, #2] + movs r0, #0x64 + b _08003B22 + .align 2, 0 _08003B08: .4byte 0x0202A58C _08003B0C: .4byte 0x0200B3B8 _08003B10: .4byte 0x0202BEC0 _08003B14: .4byte 0x0202C584 _08003B18: .4byte 0x086A54D8 _08003B1C: - movs r0, #0x78 - strh r0, [r7, #2] - movs r0, #0x50 + movs r0, #0x78 + strh r0, [r7, #2] + movs r0, #0x50 _08003B22: - strh r0, [r7, #4] - ldr r1, _08003C04 @ =0x086A54D8 - ldr r0, _08003C08 @ =0x0202A58C - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r6, [r0] - movs r5, #0 - ldrh r2, [r6] - cmp r5, r2 - bge _08003B80 - ldr r0, _08003C0C @ =0x03005000 - mov ip, r0 - ldr r1, _08003C10 @ =0xFFFFFE00 - mov sb, r1 - adds r4, r7, #0 - adds r4, #8 + strh r0, [r7, #4] + ldr r1, _08003C04 @ =0x086A54D8 + ldr r0, _08003C08 @ =0x0202A58C + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r6, [r0] + movs r5, #0 + ldrh r2, [r6] + cmp r5, r2 + bge _08003B80 + ldr r0, _08003C0C @ =0x03005000 + mov ip, r0 + ldr r1, _08003C10 @ =0xFFFFFE00 + mov sb, r1 + adds r4, r7, #0 + adds r4, #8 _08003B48: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, ip - movs r2, #2 - ldrsh r1, [r4, r2] - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - ldr r2, _08003C14 @ =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 r1, [r4] - lsls r1, r1, #3 - add r1, ip - ldrb r0, [r7, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - adds r5, #1 - ldrh r0, [r6] - cmp r5, r0 - blt _08003B48 + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, ip + movs r2, #2 + ldrsh r1, [r4, r2] + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + ldr r2, _08003C14 @ =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 r1, [r4] + lsls r1, r1, #3 + add r1, ip + ldrb r0, [r7, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + adds r5, #1 + ldrh r0, [r6] + cmp r5, r0 + blt _08003B48 _08003B80: - movs r0, #0x78 - mov r1, r8 - strh r0, [r1, #2] - movs r0, #0x18 - strh r0, [r1, #4] - ldr r1, _08003C04 @ =0x086A54D8 - ldr r0, _08003C18 @ =0x0202BEC0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r6, [r0] - movs r5, #0 - ldrh r2, [r6] - cmp r5, r2 - bge _08003BEE - ldr r0, _08003C0C @ =0x03005000 - mov ip, r0 - ldr r1, _08003C10 @ =0xFFFFFE00 - mov sb, r1 - mov r4, r8 - adds r4, #8 + movs r0, #0x78 + mov r1, r8 + strh r0, [r1, #2] + movs r0, #0x18 + strh r0, [r1, #4] + ldr r1, _08003C04 @ =0x086A54D8 + ldr r0, _08003C18 @ =0x0202BEC0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r6, [r0] + movs r5, #0 + ldrh r2, [r6] + cmp r5, r2 + bge _08003BEE + ldr r0, _08003C0C @ =0x03005000 + mov ip, r0 + ldr r1, _08003C10 @ =0xFFFFFE00 + mov sb, r1 + mov r4, r8 + adds r4, #8 _08003BAE: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, ip - movs r0, #2 - ldrsh r2, [r4, r0] - mov sl, r2 - mov r1, r8 - movs r2, #2 - ldrsh r0, [r1, r2] - mov r2, sl - adds r1, r2, r0 - ldr r2, _08003C14 @ =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 r1, [r4] - lsls r1, r1, #3 - add r1, ip - mov r2, r8 - ldrb r0, [r2, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - adds r5, #1 - ldrh r0, [r6] - cmp r5, r0 - blt _08003BAE + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, ip + movs r0, #2 + ldrsh r2, [r4, r0] + mov sl, r2 + mov r1, r8 + movs r2, #2 + ldrsh r0, [r1, r2] + mov r2, sl + adds r1, r2, r0 + ldr r2, _08003C14 @ =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 r1, [r4] + lsls r1, r1, #3 + add r1, ip + mov r2, r8 + ldrb r0, [r2, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + adds r5, #1 + ldrh r0, [r6] + cmp r5, r0 + blt _08003BAE _08003BEE: - movs r0, #0 - strh r0, [r7] - mov r1, r8 - 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 + movs r0, #0 + strh r0, [r7] + mov r1, r8 + 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 _08003C04: .4byte 0x086A54D8 _08003C08: .4byte 0x0202A58C _08003C0C: .4byte 0x03005000 @@ -7180,146 +7180,146 @@ _08003C10: .4byte 0xFFFFFE00 _08003C14: .4byte 0x000001FF _08003C18: .4byte 0x0202BEC0 - thumb_func_start sub_3C1C + thumb_func_start sub_3C1C sub_3C1C: @ 0x08003C1C - push {r4, lr} - ldr r0, _08003C64 @ =0x0202A564 - movs r1, #0 - strb r1, [r0] - ldr r0, _08003C68 @ =0x02019C20 - strb r1, [r0] - ldr r0, _08003C6C @ =0x0202ADE8 - strb r1, [r0] - ldr r1, _08003C70 @ =0x0202C5F0 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xe + push {r4, lr} + ldr r0, _08003C64 @ =0x0202A564 + movs r1, #0 + strb r1, [r0] + ldr r0, _08003C68 @ =0x02019C20 + strb r1, [r0] + ldr r0, _08003C6C @ =0x0202ADE8 + strb r1, [r0] + ldr r1, _08003C70 @ =0x0202C5F0 + movs r2, #0 + adds r0, r1, #0 + adds r0, #0xe _08003C34: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _08003C34 - movs r1, #0 - ldr r4, _08003C74 @ =0x0201A4D0 - movs r3, #0 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _08003C34 + movs r1, #0 + ldr r4, _08003C74 @ =0x0201A4D0 + movs r3, #0 _08003C42: - lsls r0, r1, #1 - adds r2, r1, #1 - movs r1, #7 - adds r0, r0, r4 - adds r0, #0x1c + lsls r0, r1, #1 + adds r2, r1, #1 + movs r1, #7 + adds r0, r0, r4 + adds r0, #0x1c _08003C4C: - strh r3, [r0] - subs r0, #4 - subs r1, #1 - cmp r1, #0 - bge _08003C4C - adds r1, r2, #0 - cmp r1, #1 - ble _08003C42 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + strh r3, [r0] + subs r0, #4 + subs r1, #1 + cmp r1, #0 + bge _08003C4C + adds r1, r2, #0 + cmp r1, #1 + ble _08003C42 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08003C64: .4byte 0x0202A564 _08003C68: .4byte 0x02019C20 _08003C6C: .4byte 0x0202ADE8 _08003C70: .4byte 0x0202C5F0 _08003C74: .4byte 0x0201A4D0 - thumb_func_start sub_3C78 + thumb_func_start sub_3C78 sub_3C78: @ 0x08003C78 - ldr r0, _08003C8C @ =0x02019C20 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08003C98 - ldr r1, _08003C90 @ =0x0202C5F0 - ldr r0, _08003C94 @ =0x0000DFDF - strh r0, [r1] - b _08003CD0 - .align 2, 0 + ldr r0, _08003C8C @ =0x02019C20 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08003C98 + ldr r1, _08003C90 @ =0x0202C5F0 + ldr r0, _08003C94 @ =0x0000DFDF + strh r0, [r1] + b _08003CD0 + .align 2, 0 _08003C8C: .4byte 0x02019C20 _08003C90: .4byte 0x0202C5F0 _08003C94: .4byte 0x0000DFDF _08003C98: - ldr r3, _08003CB4 @ =0x0202ADE8 - movs r1, #0 - ldrsb r1, [r3, r1] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _08003CC0 - ldr r0, _08003CB8 @ =0x0202C5F0 - movs r2, #0 - ldr r1, _08003CBC @ =0x0000CDFE - strh r1, [r0] - strb r2, [r3] - b _08003CD0 - .align 2, 0 + ldr r3, _08003CB4 @ =0x0202ADE8 + movs r1, #0 + ldrsb r1, [r3, r1] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + bne _08003CC0 + ldr r0, _08003CB8 @ =0x0202C5F0 + movs r2, #0 + ldr r1, _08003CBC @ =0x0000CDFE + strh r1, [r0] + strb r2, [r3] + b _08003CD0 + .align 2, 0 _08003CB4: .4byte 0x0202ADE8 _08003CB8: .4byte 0x0202C5F0 _08003CBC: .4byte 0x0000CDFE _08003CC0: - ldr r1, _08003CD4 @ =0x0202C5F0 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xe + ldr r1, _08003CD4 @ =0x0202C5F0 + movs r2, #0 + adds r0, r1, #0 + adds r0, #0xe _08003CC8: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _08003CC8 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _08003CC8 _08003CD0: - movs r0, #0 - bx lr - .align 2, 0 + movs r0, #0 + bx lr + .align 2, 0 _08003CD4: .4byte 0x0202C5F0 - thumb_func_start sub_3CD8 + thumb_func_start sub_3CD8 sub_3CD8: @ 0x08003CD8 - push {r4, lr} - ldr r0, _08003D24 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #1 - ands r0, r1 - ldr r2, _08003D28 @ =0x0202A564 - cmp r0, #0 - beq _08003D02 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - bne _08003D0A - movs r0, #1 - rsbs r0, r0, #0 - adds r1, r0, #0 - strb r1, [r2] - ldr r0, _08003D2C @ =0x0202ADE8 - strb r1, [r0] - ldr r1, _08003D30 @ =0x0202A58C - movs r0, #1 - strb r0, [r1] + push {r4, lr} + ldr r0, _08003D24 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #1 + ands r0, r1 + ldr r2, _08003D28 @ =0x0202A564 + cmp r0, #0 + beq _08003D02 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + bne _08003D0A + movs r0, #1 + rsbs r0, r0, #0 + adds r1, r0, #0 + strb r1, [r2] + ldr r0, _08003D2C @ =0x0202ADE8 + strb r1, [r0] + ldr r1, _08003D30 @ =0x0202A58C + movs r0, #1 + strb r0, [r1] _08003D02: - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08003D7A + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + beq _08003D7A _08003D0A: - ldr r3, _08003D34 @ =0x02019C20 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - bne _08003D66 - ldr r1, _08003D38 @ =0x0201A4D0 - ldrh r0, [r1] - ldr r2, _08003D3C @ =0x0000FEDC - cmp r0, r2 - bne _08003D44 - ldr r0, _08003D40 @ =0x0202BEEC - ldrh r1, [r1, #4] - b _08003D4E - .align 2, 0 + ldr r3, _08003D34 @ =0x02019C20 + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #0 + bne _08003D66 + ldr r1, _08003D38 @ =0x0201A4D0 + ldrh r0, [r1] + ldr r2, _08003D3C @ =0x0000FEDC + cmp r0, r2 + bne _08003D44 + ldr r0, _08003D40 @ =0x0202BEEC + ldrh r1, [r1, #4] + b _08003D4E + .align 2, 0 _08003D24: .4byte 0x0200B0C0 _08003D28: .4byte 0x0202A564 _08003D2C: .4byte 0x0202ADE8 @@ -7329,247 +7329,247 @@ _08003D38: .4byte 0x0201A4D0 _08003D3C: .4byte 0x0000FEDC _08003D40: .4byte 0x0202BEEC _08003D44: - ldrh r0, [r1, #2] - cmp r0, r2 - bne _08003D7A - ldr r0, _08003D5C @ =0x0202BEEC - ldrh r1, [r1, #6] + ldrh r0, [r1, #2] + cmp r0, r2 + bne _08003D7A + ldr r0, _08003D5C @ =0x0202BEEC + ldrh r1, [r1, #6] _08003D4E: - strh r1, [r0] - movs r1, #1 - rsbs r1, r1, #0 - adds r0, r1, #0 - strb r0, [r3] - b _08003D7A - .align 2, 0 + strh r1, [r0] + movs r1, #1 + rsbs r1, r1, #0 + adds r0, r1, #0 + strb r0, [r3] + b _08003D7A + .align 2, 0 _08003D5C: .4byte 0x0202BEEC _08003D60: - movs r0, #1 - rsbs r0, r0, #0 - b _08003D9C + movs r0, #1 + rsbs r0, r0, #0 + b _08003D9C _08003D66: - movs r1, #0 - ldr r3, _08003DA4 @ =0x0000DFDF - ldr r2, _08003DA8 @ =0x0201A4D0 + movs r1, #0 + ldr r3, _08003DA4 @ =0x0000DFDF + ldr r2, _08003DA8 @ =0x0201A4D0 _08003D6C: - ldrh r0, [r2] - cmp r0, r3 - beq _08003D60 - adds r2, #2 - adds r1, #1 - cmp r1, #1 - ble _08003D6C + ldrh r0, [r2] + cmp r0, r3 + beq _08003D60 + adds r2, #2 + adds r1, #1 + cmp r1, #1 + ble _08003D6C _08003D7A: - movs r1, #0 - ldr r4, _08003DA8 @ =0x0201A4D0 - movs r3, #0 + movs r1, #0 + ldr r4, _08003DA8 @ =0x0201A4D0 + movs r3, #0 _08003D80: - lsls r0, r1, #1 - adds r2, r1, #1 - movs r1, #7 - adds r0, r0, r4 - adds r0, #0x1c + lsls r0, r1, #1 + adds r2, r1, #1 + movs r1, #7 + adds r0, r0, r4 + adds r0, #0x1c _08003D8A: - strh r3, [r0] - subs r0, #4 - subs r1, #1 - cmp r1, #0 - bge _08003D8A - adds r1, r2, #0 - cmp r1, #1 - ble _08003D80 - movs r0, #0 + strh r3, [r0] + subs r0, #4 + subs r1, #1 + cmp r1, #0 + bge _08003D8A + adds r1, r2, #0 + cmp r1, #1 + ble _08003D80 + movs r0, #0 _08003D9C: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 _08003DA4: .4byte 0x0000DFDF _08003DA8: .4byte 0x0201A4D0 - thumb_func_start sub_3DAC + thumb_func_start sub_3DAC sub_3DAC: @ 0x08003DAC - push {lr} - ldr r1, _08003DC4 @ =0x0805C880 - ldr r0, _08003DC8 @ =0x0200B0C0 - 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 + push {lr} + ldr r1, _08003DC4 @ =0x0805C880 + ldr r0, _08003DC8 @ =0x0200B0C0 + 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 _08003DC4: .4byte 0x0805C880 _08003DC8: .4byte 0x0200B0C0 - thumb_func_start sub_3DCC + thumb_func_start sub_3DCC sub_3DCC: @ 0x08003DCC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - bl sub_438 - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x86 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _08003F30 @ =0x0400000A - movs r0, #5 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #2 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _08003F34 @ =0x0400000C - subs r3, #0xf2 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #3 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _08003F38 @ =0x0400000E - ldr r3, _08003F3C @ =0x0000020F - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r7, _08003F40 @ =0x0200B0C0 - ldrh r0, [r2] - strh r0, [r7, #0x16] - ldr r4, _08003F44 @ =0x040000D4 - ldr r0, _08003F48 @ =0x08082720 - str r0, [r4] - ldr r0, _08003F4C @ =0x06004000 - str r0, [r4, #4] - ldr r0, _08003F50 @ =0x80002200 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08003F54 @ =0x08087B40 - str r0, [r4] - ldr r0, _08003F58 @ =0x0600C000 - str r0, [r4, #4] - ldr r0, _08003F5C @ =0x80000A00 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08003F60 @ =0x08089760 - str r0, [r4] - movs r0, #0xa0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - ldr r1, _08003F64 @ =0x80000100 - str r1, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08003F68 @ =0x08081F20 - str r0, [r4] - ldr r0, _08003F6C @ =0x03005C00 - mov sl, r0 - str r0, [r4, #4] - ldr r2, _08003F70 @ =0x80000400 - mov r8, r2 - str r2, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08003F74 @ =0x08087340 - str r0, [r4] - ldr r3, _08003F78 @ =0x02019C40 - mov sb, r3 - str r3, [r4, #4] - str r2, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08003F7C @ =0x08088F60 - str r0, [r4] - ldr r0, _08003F80 @ =0x06001000 - str r0, [r4, #4] - str r2, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08003F84 @ =0x08089960 - str r0, [r4] - ldr r0, _08003F88 @ =0x05000200 - str r0, [r4, #4] - str r1, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08003F8C @ =0x08089B60 - str r0, [r4] - ldr r0, _08003F90 @ =0x06010000 - str r0, [r4, #4] - ldr r0, _08003F94 @ =0x80003610 - str r0, [r4, #8] - ldr r0, [r4, #8] - bl sub_3FAC - ldr r0, _08003F98 @ =0x0202BEB8 - movs r1, #0 - ldrsh r0, [r0, r1] - ldr r1, _08003F9C @ =0x0201A514 - movs r2, #0 - ldrsh r1, [r1, r2] - bl sub_6BEC - ldr r6, _08003FA0 @ =0x0202ADE0 - movs r3, #0 - ldrsh r0, [r6, r3] - bl sub_681C - ldr r5, _08003FA4 @ =0x0202C5B0 - movs r1, #0 - ldrsh r0, [r5, r1] - bl sub_6CA0 - movs r2, #0 - ldrsh r0, [r5, r2] - bl sub_6F30 - movs r3, #0 - ldrsh r0, [r6, r3] - bl sub_6F78 - movs r1, #0 - ldrsh r0, [r6, r1] - bl sub_8974 - movs r2, #0 - ldrsh r0, [r6, r2] - bl sub_8A78 - movs r1, #0x9a - lsls r1, r1, #2 - add r1, sb - movs r0, #0x59 - strh r0, [r1] - mov r3, sl - str r3, [r4] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - mov r0, r8 - str r0, [r4, #8] - ldr r0, [r4, #8] - mov r1, sb - str r1, [r4] - ldr r0, _08003FA8 @ =0x06000800 - str r0, [r4, #4] - mov r2, r8 - str r2, [r4, #8] - ldr r0, [r4, #8] - bl sub_51FC - bl sub_CBC - bl sub_24C - movs r0, #1 - strb r0, [r7, #3] - movs r0, #0x2e - bl m4aSongNumStart - 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 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + bl sub_438 + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x86 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _08003F30 @ =0x0400000A + movs r0, #5 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #2 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _08003F34 @ =0x0400000C + subs r3, #0xf2 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #3 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _08003F38 @ =0x0400000E + ldr r3, _08003F3C @ =0x0000020F + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r7, _08003F40 @ =0x0200B0C0 + ldrh r0, [r2] + strh r0, [r7, #0x16] + ldr r4, _08003F44 @ =0x040000D4 + ldr r0, _08003F48 @ =0x08082720 + str r0, [r4] + ldr r0, _08003F4C @ =0x06004000 + str r0, [r4, #4] + ldr r0, _08003F50 @ =0x80002200 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08003F54 @ =0x08087B40 + str r0, [r4] + ldr r0, _08003F58 @ =0x0600C000 + str r0, [r4, #4] + ldr r0, _08003F5C @ =0x80000A00 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08003F60 @ =0x08089760 + str r0, [r4] + movs r0, #0xa0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + ldr r1, _08003F64 @ =0x80000100 + str r1, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08003F68 @ =0x08081F20 + str r0, [r4] + ldr r0, _08003F6C @ =0x03005C00 + mov sl, r0 + str r0, [r4, #4] + ldr r2, _08003F70 @ =0x80000400 + mov r8, r2 + str r2, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08003F74 @ =0x08087340 + str r0, [r4] + ldr r3, _08003F78 @ =0x02019C40 + mov sb, r3 + str r3, [r4, #4] + str r2, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08003F7C @ =0x08088F60 + str r0, [r4] + ldr r0, _08003F80 @ =0x06001000 + str r0, [r4, #4] + str r2, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08003F84 @ =0x08089960 + str r0, [r4] + ldr r0, _08003F88 @ =0x05000200 + str r0, [r4, #4] + str r1, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08003F8C @ =0x08089B60 + str r0, [r4] + ldr r0, _08003F90 @ =0x06010000 + str r0, [r4, #4] + ldr r0, _08003F94 @ =0x80003610 + str r0, [r4, #8] + ldr r0, [r4, #8] + bl sub_3FAC + ldr r0, _08003F98 @ =0x0202BEB8 + movs r1, #0 + ldrsh r0, [r0, r1] + ldr r1, _08003F9C @ =0x0201A514 + movs r2, #0 + ldrsh r1, [r1, r2] + bl sub_6BEC + ldr r6, _08003FA0 @ =0x0202ADE0 + movs r3, #0 + ldrsh r0, [r6, r3] + bl sub_681C + ldr r5, _08003FA4 @ =0x0202C5B0 + movs r1, #0 + ldrsh r0, [r5, r1] + bl sub_6CA0 + movs r2, #0 + ldrsh r0, [r5, r2] + bl sub_6F30 + movs r3, #0 + ldrsh r0, [r6, r3] + bl sub_6F78 + movs r1, #0 + ldrsh r0, [r6, r1] + bl sub_8974 + movs r2, #0 + ldrsh r0, [r6, r2] + bl sub_8A78 + movs r1, #0x9a + lsls r1, r1, #2 + add r1, sb + movs r0, #0x59 + strh r0, [r1] + mov r3, sl + str r3, [r4] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + mov r0, r8 + str r0, [r4, #8] + ldr r0, [r4, #8] + mov r1, sb + str r1, [r4] + ldr r0, _08003FA8 @ =0x06000800 + str r0, [r4, #4] + mov r2, r8 + str r2, [r4, #8] + ldr r0, [r4, #8] + bl sub_51FC + bl sub_CBC + bl sub_24C + movs r0, #1 + strb r0, [r7, #3] + movs r0, #0x2e + bl m4aSongNumStart + 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 _08003F30: .4byte 0x0400000A _08003F34: .4byte 0x0400000C _08003F38: .4byte 0x0400000E @@ -7602,63 +7602,63 @@ _08003FA0: .4byte 0x0202ADE0 _08003FA4: .4byte 0x0202C5B0 _08003FA8: .4byte 0x06000800 - thumb_func_start sub_3FAC + thumb_func_start sub_3FAC sub_3FAC: @ 0x08003FAC - push {r4, r5, lr} - ldr r0, _0800401C @ =0x0202ADE0 - movs r4, #0 - strh r4, [r0] - ldr r0, _08004020 @ =0x0202C5B0 - strh r4, [r0] - ldr r0, _08004024 @ =0x0201A448 - strh r4, [r0] - ldr r0, _08004028 @ =0x0202BF00 - strh r4, [r0] - ldr r0, _0800402C @ =0x0202A57C - strh r4, [r0] - ldr r0, _08004030 @ =0x0201A4F0 - strh r4, [r0] - ldr r0, _08004034 @ =0x0202BE20 - strh r4, [r0] - ldr r0, _08004038 @ =0x0202C58C - strh r4, [r0] - ldr r0, _0800403C @ =0x02019C24 - strb r4, [r0] - ldr r0, _08004040 @ =0x0202BF0C - strh r4, [r0] - ldr r0, _08004044 @ =0x0201A440 - strh r4, [r0] - ldr r0, _08004048 @ =0x0202C5E8 - strh r4, [r0] - ldr r0, _0800404C @ =0x0202BEF4 - strh r4, [r0] - ldr r0, _08004050 @ =0x0202A588 - movs r5, #1 - strh r5, [r0] - ldr r0, _08004054 @ =0x0202A55C - strh r5, [r0] - ldr r0, _08004058 @ =0x0202A568 - movs r1, #0 - strh r1, [r0] - strh r1, [r0, #2] - ldr r0, _0800405C @ =0x0202BF14 - strh r1, [r0] - ldr r0, _08004060 @ =0x0202A558 - strh r1, [r0] - ldr r0, _08004064 @ =0x0202BEE0 - strb r4, [r0] - ldr r0, _08004068 @ =0x0202BF04 - strb r5, [r0] - bl sub_88E4 - bl sub_FD20 - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08004070 - ldr r0, _0800406C @ =0x0202C590 - strb r5, [r0] - b _08004074 - .align 2, 0 + push {r4, r5, lr} + ldr r0, _0800401C @ =0x0202ADE0 + movs r4, #0 + strh r4, [r0] + ldr r0, _08004020 @ =0x0202C5B0 + strh r4, [r0] + ldr r0, _08004024 @ =0x0201A448 + strh r4, [r0] + ldr r0, _08004028 @ =0x0202BF00 + strh r4, [r0] + ldr r0, _0800402C @ =0x0202A57C + strh r4, [r0] + ldr r0, _08004030 @ =0x0201A4F0 + strh r4, [r0] + ldr r0, _08004034 @ =0x0202BE20 + strh r4, [r0] + ldr r0, _08004038 @ =0x0202C58C + strh r4, [r0] + ldr r0, _0800403C @ =0x02019C24 + strb r4, [r0] + ldr r0, _08004040 @ =0x0202BF0C + strh r4, [r0] + ldr r0, _08004044 @ =0x0201A440 + strh r4, [r0] + ldr r0, _08004048 @ =0x0202C5E8 + strh r4, [r0] + ldr r0, _0800404C @ =0x0202BEF4 + strh r4, [r0] + ldr r0, _08004050 @ =0x0202A588 + movs r5, #1 + strh r5, [r0] + ldr r0, _08004054 @ =0x0202A55C + strh r5, [r0] + ldr r0, _08004058 @ =0x0202A568 + movs r1, #0 + strh r1, [r0] + strh r1, [r0, #2] + ldr r0, _0800405C @ =0x0202BF14 + strh r1, [r0] + ldr r0, _08004060 @ =0x0202A558 + strh r1, [r0] + ldr r0, _08004064 @ =0x0202BEE0 + strb r4, [r0] + ldr r0, _08004068 @ =0x0202BF04 + strb r5, [r0] + bl sub_88E4 + bl sub_FD20 + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08004070 + ldr r0, _0800406C @ =0x0202C590 + strb r5, [r0] + b _08004074 + .align 2, 0 _0800401C: .4byte 0x0202ADE0 _08004020: .4byte 0x0202C5B0 _08004024: .4byte 0x0201A448 @@ -7681,53 +7681,53 @@ _08004064: .4byte 0x0202BEE0 _08004068: .4byte 0x0202BF04 _0800406C: .4byte 0x0202C590 _08004070: - ldr r0, _080040C8 @ =0x0202C590 - strb r4, [r0] + ldr r0, _080040C8 @ =0x0202C590 + strb r4, [r0] _08004074: - ldr r0, _080040CC @ =0x0202BEC4 - movs r1, #0 - strb r1, [r0] - ldr r0, _080040D0 @ =0x0202BEFC - strb r1, [r0] - ldr r0, _080040D4 @ =0x0201B120 - movs r1, #0 - strh r1, [r0] - ldr r0, _080040D8 @ =0x02002830 - strb r1, [r0] - ldr r0, _080040DC @ =0x02002831 - strb r1, [r0] - ldr r0, _080040E0 @ =0x0202C794 - strb r1, [r0] - ldr r0, _080040E4 @ =0x0201C1B4 - strb r1, [r0] - ldr r0, _080040E8 @ =0x0202C5AC - strb r1, [r0] - ldr r0, _080040EC @ =0x02019C28 - strb r1, [r0] - ldr r5, _080040F0 @ =0x0202A1C0 - ldr r4, _080040F4 @ =0x0202A574 - adds r3, r5, #0 - ldr r2, _080040F8 @ =0x0202A390 - movs r1, #0xe0 + ldr r0, _080040CC @ =0x0202BEC4 + movs r1, #0 + strb r1, [r0] + ldr r0, _080040D0 @ =0x0202BEFC + strb r1, [r0] + ldr r0, _080040D4 @ =0x0201B120 + movs r1, #0 + strh r1, [r0] + ldr r0, _080040D8 @ =0x02002830 + strb r1, [r0] + ldr r0, _080040DC @ =0x02002831 + strb r1, [r0] + ldr r0, _080040E0 @ =0x0202C794 + strb r1, [r0] + ldr r0, _080040E4 @ =0x0201C1B4 + strb r1, [r0] + ldr r0, _080040E8 @ =0x0202C5AC + strb r1, [r0] + ldr r0, _080040EC @ =0x02019C28 + strb r1, [r0] + ldr r5, _080040F0 @ =0x0202A1C0 + ldr r4, _080040F4 @ =0x0202A574 + adds r3, r5, #0 + ldr r2, _080040F8 @ =0x0202A390 + movs r1, #0xe0 _080040A6: - ldrh r0, [r3] - strh r0, [r2] - adds r3, #2 - adds r2, #2 - subs r1, #1 - cmp r1, #0 - bge _080040A6 - adds r1, r5, #0 - movs r2, #0xcc - lsls r2, r2, #1 - adds r0, r1, r2 - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #0 - beq _080040FC - movs r0, #0xcd - b _08004146 - .align 2, 0 + ldrh r0, [r3] + strh r0, [r2] + adds r3, #2 + adds r2, #2 + subs r1, #1 + cmp r1, #0 + bge _080040A6 + adds r1, r5, #0 + movs r2, #0xcc + lsls r2, r2, #1 + adds r0, r1, r2 + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r0, #0 + beq _080040FC + movs r0, #0xcd + b _08004146 + .align 2, 0 _080040C8: .4byte 0x0202C590 _080040CC: .4byte 0x0202BEC4 _080040D0: .4byte 0x0202BEFC @@ -7742,142 +7742,142 @@ _080040F0: .4byte 0x0202A1C0 _080040F4: .4byte 0x0202A574 _080040F8: .4byte 0x0202A390 _080040FC: - movs r2, #0xcb - lsls r2, r2, #1 - adds r0, r1, r2 - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #0 - beq _0800410E - movs r0, #0xcc - b _08004146 + movs r2, #0xcb + lsls r2, r2, #1 + adds r0, r1, r2 + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r0, #0 + beq _0800410E + movs r0, #0xcc + b _08004146 _0800410E: - movs r2, #0xca - lsls r2, r2, #1 - adds r0, r1, r2 - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #0 - beq _08004120 - movs r0, #0xcb - b _08004146 + movs r2, #0xca + lsls r2, r2, #1 + adds r0, r1, r2 + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r0, #0 + beq _08004120 + movs r0, #0xcb + b _08004146 _08004120: - movs r2, #0xc9 - lsls r2, r2, #1 - adds r0, r1, r2 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0 - beq _08004132 - movs r0, #0xca - b _08004146 + movs r2, #0xc9 + lsls r2, r2, #1 + adds r0, r1, r2 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #0 + beq _08004132 + movs r0, #0xca + b _08004146 _08004132: - movs r2, #0xc8 - lsls r2, r2, #1 - adds r0, r5, r2 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0 - beq _08004144 - movs r0, #0xc9 - b _08004146 + movs r2, #0xc8 + lsls r2, r2, #1 + adds r0, r5, r2 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #0 + beq _08004144 + movs r0, #0xc9 + b _08004146 _08004144: - movs r0, #0xc8 + movs r0, #0xc8 _08004146: - strh r0, [r4] - pop {r4, r5} - pop {r0} - bx r0 + strh r0, [r4] + pop {r4, r5} + pop {r0} + bx r0 - thumb_func_start sub_4150 + thumb_func_start sub_4150 sub_4150: @ 0x08004150 - push {r4, r5, r6, r7, lr} - ldr r4, _08004174 @ =0x0200B0C0 - ldrh r2, [r4, #0x1c] - movs r0, #4 - ands r0, r2 - cmp r0, #0 - beq _08004230 - ldr r1, _08004178 @ =0x0202BF04 - movs r0, #0 - strb r0, [r1] - movs r0, #0x40 - ands r0, r2 - cmp r0, #0 - beq _0800417C - bl sub_4D74 - b _080041A8 - .align 2, 0 + push {r4, r5, r6, r7, lr} + ldr r4, _08004174 @ =0x0200B0C0 + ldrh r2, [r4, #0x1c] + movs r0, #4 + ands r0, r2 + cmp r0, #0 + beq _08004230 + ldr r1, _08004178 @ =0x0202BF04 + movs r0, #0 + strb r0, [r1] + movs r0, #0x40 + ands r0, r2 + cmp r0, #0 + beq _0800417C + bl sub_4D74 + b _080041A8 + .align 2, 0 _08004174: .4byte 0x0200B0C0 _08004178: .4byte 0x0202BF04 _0800417C: - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - beq _0800418A - bl sub_4E34 - b _080041A8 + movs r0, #0x80 + ands r0, r2 + cmp r0, #0 + beq _0800418A + bl sub_4E34 + b _080041A8 _0800418A: - movs r0, #0x20 - ands r0, r2 - cmp r0, #0 - beq _08004198 - bl sub_4EF0 - b _080041A8 + movs r0, #0x20 + ands r0, r2 + cmp r0, #0 + beq _08004198 + bl sub_4EF0 + b _080041A8 _08004198: - movs r0, #0x10 - ands r0, r2 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - cmp r1, #0 - beq _080041B6 - bl sub_4F50 + movs r0, #0x10 + ands r0, r2 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + cmp r1, #0 + beq _080041B6 + bl sub_4F50 _080041A8: - bl sub_5064 - bl sub_51CC - movs r0, #2 - strb r0, [r4, #3] - b _080041BE + bl sub_5064 + bl sub_51CC + movs r0, #2 + strb r0, [r4, #3] + b _080041BE _080041B6: - ldr r0, _08004200 @ =0x02019C24 - strb r1, [r0] - bl sub_5064 + ldr r0, _08004200 @ =0x02019C24 + strb r1, [r0] + bl sub_5064 _080041BE: - ldr r3, _08004204 @ =0x0200B0C0 - ldrh r1, [r3, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080041CC - b _08004388 + ldr r3, _08004204 @ =0x0200B0C0 + ldrh r1, [r3, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + bne _080041CC + b _08004388 _080041CC: - ldr r0, _08004208 @ =0x0202C5E8 - movs r2, #0 - strh r2, [r0] - ldr r1, _0800420C @ =0x0202A1C0 - ldr r0, _08004210 @ =0x0202ADE0 - movs r4, #0 - ldrsh r0, [r0, r4] - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #1 - ble _08004228 - ldr r0, _08004214 @ =0x0202BF04 - strb r2, [r0] - ldr r1, _08004218 @ =0x040000D4 - ldr r0, _0800421C @ =0x06000280 - str r0, [r1] - ldr r0, _08004220 @ =0x0202A590 - str r0, [r1, #4] - ldr r0, _08004224 @ =0x80000100 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r0, #3 - strb r0, [r3, #3] - b _08004388 - .align 2, 0 + ldr r0, _08004208 @ =0x0202C5E8 + movs r2, #0 + strh r2, [r0] + ldr r1, _0800420C @ =0x0202A1C0 + ldr r0, _08004210 @ =0x0202ADE0 + movs r4, #0 + ldrsh r0, [r0, r4] + lsls r0, r0, #1 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #1 + ble _08004228 + ldr r0, _08004214 @ =0x0202BF04 + strb r2, [r0] + ldr r1, _08004218 @ =0x040000D4 + ldr r0, _0800421C @ =0x06000280 + str r0, [r1] + ldr r0, _08004220 @ =0x0202A590 + str r0, [r1, #4] + ldr r0, _08004224 @ =0x80000100 + str r0, [r1, #8] + ldr r0, [r1, #8] + movs r0, #3 + strb r0, [r3, #3] + b _08004388 + .align 2, 0 _08004200: .4byte 0x02019C24 _08004204: .4byte 0x0200B0C0 _08004208: .4byte 0x0202C5E8 @@ -7889,115 +7889,115 @@ _0800421C: .4byte 0x06000280 _08004220: .4byte 0x0202A590 _08004224: .4byte 0x80000100 _08004228: - movs r0, #0x8a - bl m4aSongNumStart - b _08004388 + movs r0, #0x8a + bl m4aSongNumStart + b _08004388 _08004230: - ldr r1, _08004248 @ =0x0202BF04 - movs r0, #1 - strb r0, [r1] - movs r0, #0x40 - ands r0, r2 - cmp r0, #0 - beq _0800424C - bl sub_4D74 - bl sub_5174 - b _0800428A - .align 2, 0 + ldr r1, _08004248 @ =0x0202BF04 + movs r0, #1 + strb r0, [r1] + movs r0, #0x40 + ands r0, r2 + cmp r0, #0 + beq _0800424C + bl sub_4D74 + bl sub_5174 + b _0800428A + .align 2, 0 _08004248: .4byte 0x0202BF04 _0800424C: - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - beq _0800425E - bl sub_4E34 - bl sub_5174 - b _0800428A + movs r0, #0x80 + ands r0, r2 + cmp r0, #0 + beq _0800425E + bl sub_4E34 + bl sub_5174 + b _0800428A _0800425E: - movs r0, #0x20 - ands r0, r2 - cmp r0, #0 - beq _08004270 - bl sub_4EF0 - bl sub_5174 - b _0800428A + movs r0, #0x20 + ands r0, r2 + cmp r0, #0 + beq _08004270 + bl sub_4EF0 + bl sub_5174 + b _0800428A _08004270: - movs r0, #0x10 - ands r0, r2 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - cmp r1, #0 - beq _08004286 - bl sub_4F50 - bl sub_5174 - b _0800428A + movs r0, #0x10 + ands r0, r2 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + cmp r1, #0 + beq _08004286 + bl sub_4F50 + bl sub_5174 + b _0800428A _08004286: - ldr r0, _080042A4 @ =0x02019C24 - strb r1, [r0] + ldr r0, _080042A4 @ =0x02019C24 + strb r1, [r0] _0800428A: - ldr r0, _080042A8 @ =0x0202ADE0 - movs r2, #0 - ldrsh r0, [r0, r2] - bl sub_8A78 - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - cmp r1, #1 - bne _080042B0 - ldr r0, _080042AC @ =0x0202A588 - strh r1, [r0] - b _080042B6 - .align 2, 0 + ldr r0, _080042A8 @ =0x0202ADE0 + movs r2, #0 + ldrsh r0, [r0, r2] + bl sub_8A78 + lsls r0, r0, #0x10 + asrs r1, r0, #0x10 + cmp r1, #1 + bne _080042B0 + ldr r0, _080042AC @ =0x0202A588 + strh r1, [r0] + b _080042B6 + .align 2, 0 _080042A4: .4byte 0x02019C24 _080042A8: .4byte 0x0202ADE0 _080042AC: .4byte 0x0202A588 _080042B0: - ldr r1, _0800430C @ =0x0202A588 - movs r0, #0 - strh r0, [r1] + ldr r1, _0800430C @ =0x0202A588 + movs r0, #0 + strh r0, [r1] _080042B6: - ldr r0, _08004310 @ =0x0202A55C - movs r7, #1 - strh r7, [r0] - ldr r0, _08004314 @ =0x0202A568 - movs r6, #0 - movs r2, #0 - strh r2, [r0] - strh r2, [r0, #2] - ldr r0, _08004318 @ =0x0201A440 - strh r2, [r0] - ldr r0, _0800431C @ =0x0202BF0C - strh r2, [r0] - ldr r5, _08004320 @ =0x0200B0C0 - ldrh r1, [r5, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0800434C - ldr r0, _08004324 @ =0x0202C5E8 - strh r2, [r0] - ldr r1, _08004328 @ =0x0202A1C0 - ldr r0, _0800432C @ =0x0202ADE0 - movs r3, #0 - ldrsh r0, [r0, r3] - lsls r0, r0, #1 - adds r0, r0, r1 - movs r4, #0 - ldrsh r0, [r0, r4] - cmp r0, #1 - ble _08004344 - ldr r0, _08004330 @ =0x0202BF04 - strb r6, [r0] - ldr r1, _08004334 @ =0x040000D4 - ldr r0, _08004338 @ =0x06000280 - str r0, [r1] - ldr r0, _0800433C @ =0x0202A590 - str r0, [r1, #4] - ldr r0, _08004340 @ =0x80000100 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r0, #3 - b _08004382 - .align 2, 0 + ldr r0, _08004310 @ =0x0202A55C + movs r7, #1 + strh r7, [r0] + ldr r0, _08004314 @ =0x0202A568 + movs r6, #0 + movs r2, #0 + strh r2, [r0] + strh r2, [r0, #2] + ldr r0, _08004318 @ =0x0201A440 + strh r2, [r0] + ldr r0, _0800431C @ =0x0202BF0C + strh r2, [r0] + ldr r5, _08004320 @ =0x0200B0C0 + ldrh r1, [r5, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0800434C + ldr r0, _08004324 @ =0x0202C5E8 + strh r2, [r0] + ldr r1, _08004328 @ =0x0202A1C0 + ldr r0, _0800432C @ =0x0202ADE0 + movs r3, #0 + ldrsh r0, [r0, r3] + lsls r0, r0, #1 + adds r0, r0, r1 + movs r4, #0 + ldrsh r0, [r0, r4] + cmp r0, #1 + ble _08004344 + ldr r0, _08004330 @ =0x0202BF04 + strb r6, [r0] + ldr r1, _08004334 @ =0x040000D4 + ldr r0, _08004338 @ =0x06000280 + str r0, [r1] + ldr r0, _0800433C @ =0x0202A590 + str r0, [r1, #4] + ldr r0, _08004340 @ =0x80000100 + str r0, [r1, #8] + ldr r0, [r1, #8] + movs r0, #3 + b _08004382 + .align 2, 0 _0800430C: .4byte 0x0202A588 _08004310: .4byte 0x0202A55C _08004314: .4byte 0x0202A568 @@ -8013,64 +8013,64 @@ _08004338: .4byte 0x06000280 _0800433C: .4byte 0x0202A590 _08004340: .4byte 0x80000100 _08004344: - movs r0, #0x8a - bl m4aSongNumStart - b _08004384 + movs r0, #0x8a + bl m4aSongNumStart + b _08004384 _0800434C: - movs r0, #2 - ands r0, r1 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - cmp r4, #0 - beq _08004362 - movs r0, #0x66 - bl m4aSongNumStart - movs r0, #0xc - b _08004382 + movs r0, #2 + ands r0, r1 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + cmp r4, #0 + beq _08004362 + movs r0, #0x66 + bl m4aSongNumStart + movs r0, #0xc + b _08004382 _08004362: - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08004384 - movs r0, #0x68 - bl m4aSongNumStart - ldr r0, _080043B4 @ =0x0202BEC4 - strb r7, [r0] - ldr r0, _080043B8 @ =0x0202BEFC - strb r6, [r0] - ldr r0, _080043BC @ =0x0202BF04 - strb r6, [r0] - ldr r0, _080043C0 @ =0x0202A588 - strh r4, [r0] - movs r0, #6 + movs r0, #8 + ands r0, r1 + cmp r0, #0 + beq _08004384 + movs r0, #0x68 + bl m4aSongNumStart + ldr r0, _080043B4 @ =0x0202BEC4 + strb r7, [r0] + ldr r0, _080043B8 @ =0x0202BEFC + strb r6, [r0] + ldr r0, _080043BC @ =0x0202BF04 + strb r6, [r0] + ldr r0, _080043C0 @ =0x0202A588 + strh r4, [r0] + movs r0, #6 _08004382: - strb r0, [r5, #3] + strb r0, [r5, #3] _08004384: - bl sub_4FC8 + bl sub_4FC8 _08004388: - ldr r1, _080043C4 @ =0x0202C58C - ldrh r2, [r1] - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #0 - ble _08004398 - subs r0, r2, #1 - strh r0, [r1] + ldr r1, _080043C4 @ =0x0202C58C + ldrh r2, [r1] + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #0 + ble _08004398 + subs r0, r2, #1 + strh r0, [r1] _08004398: - bl sub_51FC - ldr r1, _080043C8 @ =0x040000D4 - ldr r0, _080043CC @ =0x03005C00 - str r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _080043D0 @ =0x80000400 - str r0, [r1, #8] - ldr r0, [r1, #8] - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + bl sub_51FC + ldr r1, _080043C8 @ =0x040000D4 + ldr r0, _080043CC @ =0x03005C00 + str r0, [r1] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _080043D0 @ =0x80000400 + str r0, [r1, #8] + ldr r0, [r1, #8] + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _080043B4: .4byte 0x0202BEC4 _080043B8: .4byte 0x0202BEFC _080043BC: .4byte 0x0202BF04 @@ -8080,38 +8080,38 @@ _080043C8: .4byte 0x040000D4 _080043CC: .4byte 0x03005C00 _080043D0: .4byte 0x80000400 - thumb_func_start sub_43D4 + thumb_func_start sub_43D4 sub_43D4: @ 0x080043D4 - push {lr} - bl sub_5174 - ldr r0, _08004410 @ =0x0202A588 - movs r1, #0 - strh r1, [r0] - ldr r1, _08004414 @ =0x0202C58C - ldrh r2, [r1] - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #0 - ble _080043F0 - subs r0, r2, #1 - strh r0, [r1] + push {lr} + bl sub_5174 + ldr r0, _08004410 @ =0x0202A588 + movs r1, #0 + strh r1, [r0] + ldr r1, _08004414 @ =0x0202C58C + ldrh r2, [r1] + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #0 + ble _080043F0 + subs r0, r2, #1 + strh r0, [r1] _080043F0: - bl sub_51FC - ldr r1, _08004418 @ =0x040000D4 - ldr r0, _0800441C @ =0x03005C00 - str r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _08004420 @ =0x80000400 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r1, _08004424 @ =0x0200B0C0 - movs r0, #1 - strb r0, [r1, #3] - pop {r0} - bx r0 - .align 2, 0 + bl sub_51FC + ldr r1, _08004418 @ =0x040000D4 + ldr r0, _0800441C @ =0x03005C00 + str r0, [r1] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _08004420 @ =0x80000400 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r1, _08004424 @ =0x0200B0C0 + movs r0, #1 + strb r0, [r1, #3] + pop {r0} + bx r0 + .align 2, 0 _08004410: .4byte 0x0202A588 _08004414: .4byte 0x0202C58C _08004418: .4byte 0x040000D4 @@ -8119,152 +8119,152 @@ _0800441C: .4byte 0x03005C00 _08004420: .4byte 0x80000400 _08004424: .4byte 0x0200B0C0 - thumb_func_start sub_4428 + thumb_func_start sub_4428 sub_4428: @ 0x08004428 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - movs r3, #0 - ldr r7, _08004548 @ =0x0202A558 - ldr r0, _0800454C @ =0x02019C40 - mov ip, r0 - ldr r1, _08004550 @ =0x0805C780 - mov sl, r1 - ldr r6, _08004554 @ =0x0805C7C0 - mov sb, r6 - ldr r0, _08004558 @ =0x03005C00 - mov r8, r0 - adds r5, r7, #0 - ldr r4, _0800455C @ =0x0805C840 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + movs r3, #0 + ldr r7, _08004548 @ =0x0202A558 + ldr r0, _0800454C @ =0x02019C40 + mov ip, r0 + ldr r1, _08004550 @ =0x0805C780 + mov sl, r1 + ldr r6, _08004554 @ =0x0805C7C0 + mov sb, r6 + ldr r0, _08004558 @ =0x03005C00 + mov r8, r0 + adds r5, r7, #0 + ldr r4, _0800455C @ =0x0805C840 _0800444A: - movs r1, #0 - ldrsh r0, [r5, r1] - adds r0, #0xa - lsls r0, r0, #5 - adds r0, r0, r3 - lsls r0, r0, #1 - add r0, r8 - lsls r2, r3, #1 - ldrh r1, [r4] - strh r1, [r0] - movs r6, #0 - ldrsh r0, [r5, r6] - adds r0, #9 - lsls r0, r0, #5 - adds r0, r0, r3 - lsls r0, r0, #1 - ldr r1, _0800454C @ =0x02019C40 - adds r0, r0, r1 - mov r6, sl - adds r1, r2, r6 - ldrh r1, [r1] - strh r1, [r0] - movs r1, #0 - ldrsh r0, [r5, r1] - adds r0, #0xa - lsls r0, r0, #5 - adds r0, r0, r3 - lsls r0, r0, #1 - ldr r6, _0800454C @ =0x02019C40 - adds r0, r0, r6 - add r2, sb - ldrh r1, [r2] - strh r1, [r0] - adds r4, #2 - adds r3, #1 - cmp r3, #0x1f - ble _0800444A - ldrh r0, [r7] - adds r0, #1 - strh r0, [r7] - movs r1, #0x9a - lsls r1, r1, #2 - add r1, ip - movs r4, #0 - movs r3, #0 - movs r0, #0x59 - strh r0, [r1] - ldr r2, _08004560 @ =0x040000D4 - ldr r0, _08004558 @ =0x03005C00 - str r0, [r2] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r2, #4] - ldr r1, _08004564 @ =0x80000400 - str r1, [r2, #8] - ldr r0, [r2, #8] - mov r6, ip - str r6, [r2] - ldr r0, _08004568 @ =0x06000800 - str r0, [r2, #4] - str r1, [r2, #8] - ldr r0, [r2, #8] - movs r1, #0 - ldrsh r0, [r7, r1] - cmp r0, #7 - ble _08004538 - strh r3, [r7] - ldr r0, _0800456C @ =0x0202C5E8 - strh r3, [r0] - ldr r0, _08004570 @ =0x0202BEF4 - strh r3, [r0] - ldr r0, _08004574 @ =0x02019C28 - strb r4, [r0] - ldr r0, _08004578 @ =0x0202C5AC - strb r4, [r0] - ldr r4, _0800457C @ =0x0202ADE0 - movs r6, #0 - ldrsh r0, [r4, r6] - cmp r0, #0xc8 - bgt _080044F0 - ldr r1, _08004580 @ =0x0201C1B4 - movs r0, #1 - strb r0, [r1] + movs r1, #0 + ldrsh r0, [r5, r1] + adds r0, #0xa + lsls r0, r0, #5 + adds r0, r0, r3 + lsls r0, r0, #1 + add r0, r8 + lsls r2, r3, #1 + ldrh r1, [r4] + strh r1, [r0] + movs r6, #0 + ldrsh r0, [r5, r6] + adds r0, #9 + lsls r0, r0, #5 + adds r0, r0, r3 + lsls r0, r0, #1 + ldr r1, _0800454C @ =0x02019C40 + adds r0, r0, r1 + mov r6, sl + adds r1, r2, r6 + ldrh r1, [r1] + strh r1, [r0] + movs r1, #0 + ldrsh r0, [r5, r1] + adds r0, #0xa + lsls r0, r0, #5 + adds r0, r0, r3 + lsls r0, r0, #1 + ldr r6, _0800454C @ =0x02019C40 + adds r0, r0, r6 + add r2, sb + ldrh r1, [r2] + strh r1, [r0] + adds r4, #2 + adds r3, #1 + cmp r3, #0x1f + ble _0800444A + ldrh r0, [r7] + adds r0, #1 + strh r0, [r7] + movs r1, #0x9a + lsls r1, r1, #2 + add r1, ip + movs r4, #0 + movs r3, #0 + movs r0, #0x59 + strh r0, [r1] + ldr r2, _08004560 @ =0x040000D4 + ldr r0, _08004558 @ =0x03005C00 + str r0, [r2] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r2, #4] + ldr r1, _08004564 @ =0x80000400 + str r1, [r2, #8] + ldr r0, [r2, #8] + mov r6, ip + str r6, [r2] + ldr r0, _08004568 @ =0x06000800 + str r0, [r2, #4] + str r1, [r2, #8] + ldr r0, [r2, #8] + movs r1, #0 + ldrsh r0, [r7, r1] + cmp r0, #7 + ble _08004538 + strh r3, [r7] + ldr r0, _0800456C @ =0x0202C5E8 + strh r3, [r0] + ldr r0, _08004570 @ =0x0202BEF4 + strh r3, [r0] + ldr r0, _08004574 @ =0x02019C28 + strb r4, [r0] + ldr r0, _08004578 @ =0x0202C5AC + strb r4, [r0] + ldr r4, _0800457C @ =0x0202ADE0 + movs r6, #0 + ldrsh r0, [r4, r6] + cmp r0, #0xc8 + bgt _080044F0 + ldr r1, _08004580 @ =0x0201C1B4 + movs r0, #1 + strb r0, [r1] _080044F0: - ldr r0, _08004584 @ =0x08086B40 - str r0, [r2] - ldr r0, _08004588 @ =0x06000280 - str r0, [r2, #4] - ldr r0, _0800458C @ =0x800000E0 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r1, #0 - ldrsh r0, [r4, r1] - ldr r1, _08004590 @ =0x0202C794 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - bl sub_70E0 - ldr r0, _08004594 @ =0x02032EE0 - ldr r1, _08004598 @ =0x0000FFFF - movs r2, #0x40 - bl m4aMPlayVolumeControl - ldr r2, _0800459C @ =0x086A3700 - movs r6, #0 - ldrsh r1, [r4, r6] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r2 - ldrh r0, [r0] - movs r1, #0 - movs r2, #0x7f - movs r3, #0xa - bl sub_5291C - ldr r1, _080045A0 @ =0x0200B0C0 - movs r0, #5 - strb r0, [r1, #3] + ldr r0, _08004584 @ =0x08086B40 + str r0, [r2] + ldr r0, _08004588 @ =0x06000280 + str r0, [r2, #4] + ldr r0, _0800458C @ =0x800000E0 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r1, #0 + ldrsh r0, [r4, r1] + ldr r1, _08004590 @ =0x0202C794 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + bl sub_70E0 + ldr r0, _08004594 @ =0x02032EE0 + ldr r1, _08004598 @ =0x0000FFFF + movs r2, #0x40 + bl m4aMPlayVolumeControl + ldr r2, _0800459C @ =0x086A3700 + movs r6, #0 + ldrsh r1, [r4, r6] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r2 + ldrh r0, [r0] + movs r1, #0 + movs r2, #0x7f + movs r3, #0xa + bl sub_5291C + ldr r1, _080045A0 @ =0x0200B0C0 + movs r0, #5 + strb r0, [r1, #3] _08004538: - 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 + 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 _08004548: .4byte 0x0202A558 _0800454C: .4byte 0x02019C40 _08004550: .4byte 0x0805C780 @@ -8289,70 +8289,70 @@ _08004598: .4byte 0x0000FFFF _0800459C: .4byte 0x086A3700 _080045A0: .4byte 0x0200B0C0 - thumb_func_start sub_45A4 + thumb_func_start sub_45A4 sub_45A4: @ 0x080045A4 - push {r4, r5, r6, lr} - ldr r1, _08004620 @ =0x0202C5E8 - ldrh r2, [r1] - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #0x50 - bgt _080045CA - adds r0, r2, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x50 - bne _080045CA - ldr r0, _08004624 @ =0x02032EE0 - ldr r1, _08004628 @ =0x0000FFFF - movs r2, #0x80 - lsls r2, r2, #1 - bl m4aMPlayVolumeControl + push {r4, r5, r6, lr} + ldr r1, _08004620 @ =0x0202C5E8 + ldrh r2, [r1] + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #0x50 + bgt _080045CA + adds r0, r2, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x50 + bne _080045CA + ldr r0, _08004624 @ =0x02032EE0 + ldr r1, _08004628 @ =0x0000FFFF + movs r2, #0x80 + lsls r2, r2, #1 + bl m4aMPlayVolumeControl _080045CA: - ldr r1, _0800462C @ =0x0202BEF4 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x1e - ble _080045E8 - movs r0, #0 - strh r0, [r1] - ldr r2, _08004630 @ =0x0202C5AC - ldrb r1, [r2] - movs r0, #1 - subs r0, r0, r1 - strb r0, [r2] + ldr r1, _0800462C @ =0x0202BEF4 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x1e + ble _080045E8 + movs r0, #0 + strh r0, [r1] + ldr r2, _08004630 @ =0x0202C5AC + ldrb r1, [r2] + movs r0, #1 + subs r0, r0, r1 + strb r0, [r2] _080045E8: - ldr r0, _08004634 @ =0x0202BE20 - movs r6, #0 - strh r6, [r0] - ldr r0, _08004638 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08004644 - ldr r5, _0800463C @ =0x0202ADE0 - movs r1, #0 - ldrsh r0, [r5, r1] - cmp r0, #0xc8 - bgt _0800467A - ldr r4, _08004640 @ =0x0202C794 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #1 - bne _0800467A - movs r0, #0x6d - bl m4aSongNumStart - strb r6, [r4] - movs r2, #0 - ldrsh r0, [r5, r2] - movs r1, #0 - b _08004670 - .align 2, 0 + ldr r0, _08004634 @ =0x0202BE20 + movs r6, #0 + strh r6, [r0] + ldr r0, _08004638 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _08004644 + ldr r5, _0800463C @ =0x0202ADE0 + movs r1, #0 + ldrsh r0, [r5, r1] + cmp r0, #0xc8 + bgt _0800467A + ldr r4, _08004640 @ =0x0202C794 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #1 + bne _0800467A + movs r0, #0x6d + bl m4aSongNumStart + strb r6, [r4] + movs r2, #0 + ldrsh r0, [r5, r2] + movs r1, #0 + b _08004670 + .align 2, 0 _08004620: .4byte 0x0202C5E8 _08004624: .4byte 0x02032EE0 _08004628: .4byte 0x0000FFFF @@ -8363,146 +8363,146 @@ _08004638: .4byte 0x0200B0C0 _0800463C: .4byte 0x0202ADE0 _08004640: .4byte 0x0202C794 _08004644: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0800467A - ldr r5, _080046BC @ =0x0202ADE0 - movs r3, #0 - ldrsh r0, [r5, r3] - cmp r0, #0xc8 - bgt _0800467A - ldr r4, _080046C0 @ =0x0202C794 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _0800467A - movs r0, #0x6d - bl m4aSongNumStart - movs r0, #1 - strb r0, [r4] - movs r1, #0 - ldrsh r0, [r5, r1] - movs r1, #1 + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _0800467A + ldr r5, _080046BC @ =0x0202ADE0 + movs r3, #0 + ldrsh r0, [r5, r3] + cmp r0, #0xc8 + bgt _0800467A + ldr r4, _080046C0 @ =0x0202C794 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + bne _0800467A + movs r0, #0x6d + bl m4aSongNumStart + movs r0, #1 + strb r0, [r4] + movs r1, #0 + ldrsh r0, [r5, r1] + movs r1, #1 _08004670: - bl sub_70E0 - ldr r1, _080046C4 @ =0x02019C28 - ldrb r0, [r4] - strb r0, [r1] + bl sub_70E0 + ldr r1, _080046C4 @ =0x02019C28 + ldrb r0, [r4] + strb r0, [r1] _0800467A: - ldr r6, _080046C8 @ =0x0200B0C0 - ldrh r1, [r6, #0x18] - movs r4, #1 - ands r4, r1 - cmp r4, #0 - beq _08004700 - ldr r5, _080046BC @ =0x0202ADE0 - movs r2, #0 - ldrsh r0, [r5, r2] - cmp r0, #0xc8 - bgt _08004730 - ldr r4, _080046C0 @ =0x0202C794 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _080046CC - movs r0, #0x6d - bl m4aSongNumStart - ldrb r1, [r4] - movs r0, #1 - subs r0, r0, r1 - strb r0, [r4] - movs r3, #0 - ldrsh r0, [r5, r3] - movs r1, #0 - ldrsb r1, [r4, r1] - bl sub_70E0 - ldr r1, _080046C4 @ =0x02019C28 - ldrb r0, [r4] - strb r0, [r1] - b _08004730 - .align 2, 0 + ldr r6, _080046C8 @ =0x0200B0C0 + ldrh r1, [r6, #0x18] + movs r4, #1 + ands r4, r1 + cmp r4, #0 + beq _08004700 + ldr r5, _080046BC @ =0x0202ADE0 + movs r2, #0 + ldrsh r0, [r5, r2] + cmp r0, #0xc8 + bgt _08004730 + ldr r4, _080046C0 @ =0x0202C794 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + bne _080046CC + movs r0, #0x6d + bl m4aSongNumStart + ldrb r1, [r4] + movs r0, #1 + subs r0, r0, r1 + strb r0, [r4] + movs r3, #0 + ldrsh r0, [r5, r3] + movs r1, #0 + ldrsb r1, [r4, r1] + bl sub_70E0 + ldr r1, _080046C4 @ =0x02019C28 + ldrb r0, [r4] + strb r0, [r1] + b _08004730 + .align 2, 0 _080046BC: .4byte 0x0202ADE0 _080046C0: .4byte 0x0202C794 _080046C4: .4byte 0x02019C28 _080046C8: .4byte 0x0200B0C0 _080046CC: - movs r0, #0x69 - bl m4aSongNumStart - ldr r0, _080046F0 @ =0x02032EE0 - ldr r1, _080046F4 @ =0x0000FFFF - movs r2, #0x80 - lsls r2, r2, #1 - bl m4aMPlayVolumeControl - movs r0, #0 - strb r0, [r4] - ldr r0, _080046F8 @ =0x0202C5E8 - movs r1, #0 - strh r1, [r0] - ldr r0, _080046FC @ =0x0202BEF4 - strh r1, [r0] - b _08004728 - .align 2, 0 + movs r0, #0x69 + bl m4aSongNumStart + ldr r0, _080046F0 @ =0x02032EE0 + ldr r1, _080046F4 @ =0x0000FFFF + movs r2, #0x80 + lsls r2, r2, #1 + bl m4aMPlayVolumeControl + movs r0, #0 + strb r0, [r4] + ldr r0, _080046F8 @ =0x0202C5E8 + movs r1, #0 + strh r1, [r0] + ldr r0, _080046FC @ =0x0202BEF4 + strh r1, [r0] + b _08004728 + .align 2, 0 _080046F0: .4byte 0x02032EE0 _080046F4: .4byte 0x0000FFFF _080046F8: .4byte 0x0202C5E8 _080046FC: .4byte 0x0202BEF4 _08004700: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08004730 - movs r0, #0x69 - bl m4aSongNumStart - ldr r0, _0800476C @ =0x02032EE0 - ldr r1, _08004770 @ =0x0000FFFF - movs r2, #0x80 - lsls r2, r2, #1 - bl m4aMPlayVolumeControl - ldr r0, _08004774 @ =0x0202C794 - strb r4, [r0] - ldr r0, _08004778 @ =0x0202C5E8 - movs r1, #0 - strh r4, [r0] - ldr r0, _0800477C @ =0x0202BEF4 - strh r4, [r0] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _08004730 + movs r0, #0x69 + bl m4aSongNumStart + ldr r0, _0800476C @ =0x02032EE0 + ldr r1, _08004770 @ =0x0000FFFF + movs r2, #0x80 + lsls r2, r2, #1 + bl m4aMPlayVolumeControl + ldr r0, _08004774 @ =0x0202C794 + strb r4, [r0] + ldr r0, _08004778 @ =0x0202C5E8 + movs r1, #0 + strh r4, [r0] + ldr r0, _0800477C @ =0x0202BEF4 + strh r4, [r0] _08004728: - ldr r0, _08004780 @ =0x0201C1B4 - strb r1, [r0] - movs r0, #4 - strb r0, [r6, #3] + ldr r0, _08004780 @ =0x0201C1B4 + strb r1, [r0] + movs r0, #4 + strb r0, [r6, #3] _08004730: - ldr r0, _08004784 @ =0x0200B0C0 - ldrh r1, [r0, #0x1c] - movs r0, #4 - ands r0, r1 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - cmp r4, #0 - beq _08004808 - ldr r1, _08004788 @ =0x0202A1C0 - ldr r0, _0800478C @ =0x0202ADE0 - movs r2, #0 - ldrsh r0, [r0, r2] - lsls r2, r0, #1 - adds r1, r2, r1 - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #4 - bne _080047E4 - ldr r0, _08004790 @ =0x086A61BC - adds r0, r2, r0 - movs r2, #0 - ldrsh r1, [r0, r2] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _08004798 - ldr r1, _08004794 @ =0x0202A588 - movs r0, #0 - strh r0, [r1] - b _0800482C - .align 2, 0 + ldr r0, _08004784 @ =0x0200B0C0 + ldrh r1, [r0, #0x1c] + movs r0, #4 + ands r0, r1 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + cmp r4, #0 + beq _08004808 + ldr r1, _08004788 @ =0x0202A1C0 + ldr r0, _0800478C @ =0x0202ADE0 + movs r2, #0 + ldrsh r0, [r0, r2] + lsls r2, r0, #1 + adds r1, r2, r1 + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #4 + bne _080047E4 + ldr r0, _08004790 @ =0x086A61BC + adds r0, r2, r0 + movs r2, #0 + ldrsh r1, [r0, r2] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + bne _08004798 + ldr r1, _08004794 @ =0x0202A588 + movs r0, #0 + strh r0, [r1] + b _0800482C + .align 2, 0 _0800476C: .4byte 0x02032EE0 _08004770: .4byte 0x0000FFFF _08004774: .4byte 0x0202C794 @@ -8515,237 +8515,237 @@ _0800478C: .4byte 0x0202ADE0 _08004790: .4byte 0x086A61BC _08004794: .4byte 0x0202A588 _08004798: - cmp r1, #0x63 - bgt _080047C0 - ldr r0, _080047B4 @ =0x0202A588 - movs r1, #0 - strh r1, [r0] - ldr r0, _080047B8 @ =0x0202A55C - strh r1, [r0] - ldr r1, _080047BC @ =0x0202A568 - movs r2, #0 - movs r0, #1 - strh r0, [r1] - strh r2, [r1, #2] - b _08004842 - .align 2, 0 + cmp r1, #0x63 + bgt _080047C0 + ldr r0, _080047B4 @ =0x0202A588 + movs r1, #0 + strh r1, [r0] + ldr r0, _080047B8 @ =0x0202A55C + strh r1, [r0] + ldr r1, _080047BC @ =0x0202A568 + movs r2, #0 + movs r0, #1 + strh r0, [r1] + strh r2, [r1, #2] + b _08004842 + .align 2, 0 _080047B4: .4byte 0x0202A588 _080047B8: .4byte 0x0202A55C _080047BC: .4byte 0x0202A568 _080047C0: - ldr r0, _080047D8 @ =0x0202A588 - movs r1, #0 - strh r1, [r0] - ldr r0, _080047DC @ =0x0202A55C - strh r1, [r0] - ldr r1, _080047E0 @ =0x0202A568 - movs r0, #0 - strh r0, [r1] - movs r0, #1 - strh r0, [r1, #2] - b _08004842 - .align 2, 0 + ldr r0, _080047D8 @ =0x0202A588 + movs r1, #0 + strh r1, [r0] + ldr r0, _080047DC @ =0x0202A55C + strh r1, [r0] + ldr r1, _080047E0 @ =0x0202A568 + movs r0, #0 + strh r0, [r1] + movs r0, #1 + strh r0, [r1, #2] + b _08004842 + .align 2, 0 _080047D8: .4byte 0x0202A588 _080047DC: .4byte 0x0202A55C _080047E0: .4byte 0x0202A568 _080047E4: - ldr r1, _080047FC @ =0x0202A588 - movs r0, #0 - strh r0, [r1] - ldr r1, _08004800 @ =0x0202A55C - movs r0, #1 - strh r0, [r1] - ldr r1, _08004804 @ =0x0202A568 - movs r0, #0 - strh r0, [r1] - strh r0, [r1, #2] - b _08004842 - .align 2, 0 + ldr r1, _080047FC @ =0x0202A588 + movs r0, #0 + strh r0, [r1] + ldr r1, _08004800 @ =0x0202A55C + movs r0, #1 + strh r0, [r1] + ldr r1, _08004804 @ =0x0202A568 + movs r0, #0 + strh r0, [r1] + strh r0, [r1, #2] + b _08004842 + .align 2, 0 _080047FC: .4byte 0x0202A588 _08004800: .4byte 0x0202A55C _08004804: .4byte 0x0202A568 _08004808: - ldr r0, _08004820 @ =0x0202ADE0 - movs r3, #0 - ldrsh r0, [r0, r3] - bl sub_8A78 - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - cmp r1, #1 - bne _08004828 - ldr r0, _08004824 @ =0x0202A588 - strh r1, [r0] - b _0800482C - .align 2, 0 + ldr r0, _08004820 @ =0x0202ADE0 + movs r3, #0 + ldrsh r0, [r0, r3] + bl sub_8A78 + lsls r0, r0, #0x10 + asrs r1, r0, #0x10 + cmp r1, #1 + bne _08004828 + ldr r0, _08004824 @ =0x0202A588 + strh r1, [r0] + b _0800482C + .align 2, 0 _08004820: .4byte 0x0202ADE0 _08004824: .4byte 0x0202A588 _08004828: - ldr r0, _0800484C @ =0x0202A588 - strh r4, [r0] + ldr r0, _0800484C @ =0x0202A588 + strh r4, [r0] _0800482C: - ldr r1, _08004850 @ =0x0202A55C - movs r0, #1 - strh r0, [r1] - ldr r0, _08004854 @ =0x0202A568 - movs r1, #0 - strh r1, [r0] - strh r1, [r0, #2] - ldr r0, _08004858 @ =0x0201A440 - strh r1, [r0] - ldr r0, _0800485C @ =0x0202BF0C - strh r1, [r0] + ldr r1, _08004850 @ =0x0202A55C + movs r0, #1 + strh r0, [r1] + ldr r0, _08004854 @ =0x0202A568 + movs r1, #0 + strh r1, [r0] + strh r1, [r0, #2] + ldr r0, _08004858 @ =0x0201A440 + strh r1, [r0] + ldr r0, _0800485C @ =0x0202BF0C + strh r1, [r0] _08004842: - bl sub_51FC - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + bl sub_51FC + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0800484C: .4byte 0x0202A588 _08004850: .4byte 0x0202A55C _08004854: .4byte 0x0202A568 _08004858: .4byte 0x0201A440 _0800485C: .4byte 0x0202BF0C - thumb_func_start sub_4860 + thumb_func_start sub_4860 sub_4860: @ 0x08004860 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - movs r3, #0 - ldr r0, _0800496C @ =0x02019C40 - mov r8, r0 - ldr r7, _08004970 @ =0x0202A558 - ldr r1, _08004974 @ =0x0805C800 - mov sb, r1 - ldr r0, _08004978 @ =0x03005C00 - mov sl, r0 - mov r6, r8 - adds r5, r7, #0 - ldr r4, _0800497C @ =0x0805C7C0 - movs r1, #0x11 - mov ip, r1 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + movs r3, #0 + ldr r0, _0800496C @ =0x02019C40 + mov r8, r0 + ldr r7, _08004970 @ =0x0202A558 + ldr r1, _08004974 @ =0x0805C800 + mov sb, r1 + ldr r0, _08004978 @ =0x03005C00 + mov sl, r0 + mov r6, r8 + adds r5, r7, #0 + ldr r4, _0800497C @ =0x0805C7C0 + movs r1, #0x11 + mov ip, r1 _08004886: - movs r1, #0 - ldrsh r0, [r5, r1] - mov r1, ip - subs r0, r1, r0 - lsls r0, r0, #5 - adds r0, r0, r3 - lsls r0, r0, #1 - adds r0, r0, r6 - lsls r2, r3, #1 - ldrh r1, [r4] - strh r1, [r0] - movs r0, #0 - ldrsh r1, [r5, r0] - movs r0, #0x12 - subs r0, r0, r1 - lsls r0, r0, #5 - adds r0, r0, r3 - lsls r0, r0, #1 - adds r0, r0, r6 - add r2, sb - ldrh r1, [r2] - strh r1, [r0] - adds r4, #2 - adds r3, #1 - cmp r3, #0x1f - ble _08004886 - movs r1, #0 - ldrsh r0, [r7, r1] - cmp r0, #7 - bgt _080048F2 - movs r3, #0 - ldr r0, _08004978 @ =0x03005C00 - mov ip, r0 - adds r6, r7, #0 - ldr r5, _08004980 @ =0x0202A590 - movs r4, #0x11 - movs r2, #7 + movs r1, #0 + ldrsh r0, [r5, r1] + mov r1, ip + subs r0, r1, r0 + lsls r0, r0, #5 + adds r0, r0, r3 + lsls r0, r0, #1 + adds r0, r0, r6 + lsls r2, r3, #1 + ldrh r1, [r4] + strh r1, [r0] + movs r0, #0 + ldrsh r1, [r5, r0] + movs r0, #0x12 + subs r0, r0, r1 + lsls r0, r0, #5 + adds r0, r0, r3 + lsls r0, r0, #1 + adds r0, r0, r6 + add r2, sb + ldrh r1, [r2] + strh r1, [r0] + adds r4, #2 + adds r3, #1 + cmp r3, #0x1f + ble _08004886 + movs r1, #0 + ldrsh r0, [r7, r1] + cmp r0, #7 + bgt _080048F2 + movs r3, #0 + ldr r0, _08004978 @ =0x03005C00 + mov ip, r0 + adds r6, r7, #0 + ldr r5, _08004980 @ =0x0202A590 + movs r4, #0x11 + movs r2, #7 _080048D0: - movs r1, #0 - ldrsh r0, [r6, r1] - subs r1, r4, r0 - lsls r1, r1, #5 - adds r1, r1, r3 - lsls r1, r1, #1 - add r1, ip - subs r0, r2, r0 - lsls r0, r0, #5 - adds r0, r0, r3 - lsls r0, r0, #1 - adds r0, r0, r5 - ldrh r0, [r0] - strh r0, [r1] - adds r3, #1 - cmp r3, #0x1f - ble _080048D0 + movs r1, #0 + ldrsh r0, [r6, r1] + subs r1, r4, r0 + lsls r1, r1, #5 + adds r1, r1, r3 + lsls r1, r1, #1 + add r1, ip + subs r0, r2, r0 + lsls r0, r0, #5 + adds r0, r0, r3 + lsls r0, r0, #1 + adds r0, r0, r5 + ldrh r0, [r0] + strh r0, [r1] + adds r3, #1 + cmp r3, #0x1f + ble _080048D0 _080048F2: - ldrh r0, [r7] - adds r0, #1 - strh r0, [r7] - movs r1, #0x9a - lsls r1, r1, #2 - add r1, r8 - movs r3, #0 - movs r0, #0x59 - strh r0, [r1] - ldr r2, _08004984 @ =0x040000D4 - mov r0, r8 - str r0, [r2] - ldr r0, _08004988 @ =0x06000800 - str r0, [r2, #4] - ldr r1, _0800498C @ =0x80000400 - str r1, [r2, #8] - ldr r0, [r2, #8] - mov r0, sl - str r0, [r2] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r2, #4] - str r1, [r2, #8] - ldr r0, [r2, #8] - movs r1, #0 - ldrsh r0, [r7, r1] - cmp r0, #8 - ble _0800495A - strh r3, [r7] - ldr r0, _08004990 @ =0x0202A588 - strh r3, [r0] - ldr r1, _08004994 @ =0x0202BF04 - movs r0, #1 - strb r0, [r1] - mov r0, sp - strh r3, [r0] - str r0, [r2] - ldr r0, _08004998 @ =0x03000000 - str r0, [r2, #4] - ldr r1, _0800499C @ =0x81000C00 - str r1, [r2, #8] - ldr r0, [r2, #8] - mov r0, sp - strh r3, [r0] - str r0, [r2] - ldr r0, _080049A0 @ =0x06005C00 - str r0, [r2, #4] - str r1, [r2, #8] - ldr r0, [r2, #8] - ldr r1, _080049A4 @ =0x0200B0C0 - movs r0, #1 - strb r0, [r1, #3] + ldrh r0, [r7] + adds r0, #1 + strh r0, [r7] + movs r1, #0x9a + lsls r1, r1, #2 + add r1, r8 + movs r3, #0 + movs r0, #0x59 + strh r0, [r1] + ldr r2, _08004984 @ =0x040000D4 + mov r0, r8 + str r0, [r2] + ldr r0, _08004988 @ =0x06000800 + str r0, [r2, #4] + ldr r1, _0800498C @ =0x80000400 + str r1, [r2, #8] + ldr r0, [r2, #8] + mov r0, sl + str r0, [r2] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r2, #4] + str r1, [r2, #8] + ldr r0, [r2, #8] + movs r1, #0 + ldrsh r0, [r7, r1] + cmp r0, #8 + ble _0800495A + strh r3, [r7] + ldr r0, _08004990 @ =0x0202A588 + strh r3, [r0] + ldr r1, _08004994 @ =0x0202BF04 + movs r0, #1 + strb r0, [r1] + mov r0, sp + strh r3, [r0] + str r0, [r2] + ldr r0, _08004998 @ =0x03000000 + str r0, [r2, #4] + ldr r1, _0800499C @ =0x81000C00 + str r1, [r2, #8] + ldr r0, [r2, #8] + mov r0, sp + strh r3, [r0] + str r0, [r2] + ldr r0, _080049A0 @ =0x06005C00 + str r0, [r2, #4] + str r1, [r2, #8] + ldr r0, [r2, #8] + ldr r1, _080049A4 @ =0x0200B0C0 + movs r0, #1 + strb r0, [r1, #3] _0800495A: - 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 + 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 _0800496C: .4byte 0x02019C40 _08004970: .4byte 0x0202A558 _08004974: .4byte 0x0805C800 @@ -8762,102 +8762,102 @@ _0800499C: .4byte 0x81000C00 _080049A0: .4byte 0x06005C00 _080049A4: .4byte 0x0200B0C0 - thumb_func_start sub_49A8 + thumb_func_start sub_49A8 sub_49A8: @ 0x080049A8 - push {lr} - bl sub_19B4 - bl sub_5E60 - ldr r1, _080049C8 @ =0x0201B124 - movs r0, #0 - strb r0, [r1] - bl sub_599C - ldr r1, _080049CC @ =0x0200B0C0 - movs r0, #7 - strb r0, [r1, #3] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_19B4 + bl sub_5E60 + ldr r1, _080049C8 @ =0x0201B124 + movs r0, #0 + strb r0, [r1] + bl sub_599C + ldr r1, _080049CC @ =0x0200B0C0 + movs r0, #7 + strb r0, [r1, #3] + pop {r0} + bx r0 + .align 2, 0 _080049C8: .4byte 0x0201B124 _080049CC: .4byte 0x0200B0C0 - thumb_func_start sub_49D0 + thumb_func_start sub_49D0 sub_49D0: @ 0x080049D0 - push {r4, r5, lr} - bl sub_599C - ldr r5, _08004A08 @ =0x0200B0C0 - ldrh r1, [r5, #0x18] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08004A1C - movs r0, #0x66 - bl m4aSongNumStart - ldr r0, _08004A0C @ =0x0202BEC4 - movs r1, #0 - strb r1, [r0] - ldr r0, _08004A10 @ =0x0202BEFC - strb r1, [r0] - ldr r1, _08004A14 @ =0x0202BF04 - movs r0, #1 - strb r0, [r1] - ldr r0, _08004A18 @ =0x0202A588 - movs r4, #1 - strh r4, [r0] - bl sub_2568 - strb r4, [r5, #3] - b _08004AF2 - .align 2, 0 + push {r4, r5, lr} + bl sub_599C + ldr r5, _08004A08 @ =0x0200B0C0 + ldrh r1, [r5, #0x18] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _08004A1C + movs r0, #0x66 + bl m4aSongNumStart + ldr r0, _08004A0C @ =0x0202BEC4 + movs r1, #0 + strb r1, [r0] + ldr r0, _08004A10 @ =0x0202BEFC + strb r1, [r0] + ldr r1, _08004A14 @ =0x0202BF04 + movs r0, #1 + strb r0, [r1] + ldr r0, _08004A18 @ =0x0202A588 + movs r4, #1 + strh r4, [r0] + bl sub_2568 + strb r4, [r5, #3] + b _08004AF2 + .align 2, 0 _08004A08: .4byte 0x0200B0C0 _08004A0C: .4byte 0x0202BEC4 _08004A10: .4byte 0x0202BEFC _08004A14: .4byte 0x0202BF04 _08004A18: .4byte 0x0202A588 _08004A1C: - ldr r4, _08004A7C @ =0x0202ADD0 - ldr r0, _08004A80 @ =0x0202BEC8 - ldr r1, _08004A84 @ =0x0202C5F0 - ldr r2, _08004A88 @ =0x0201A4D0 - bl sub_1B04 - str r0, [r4] - ldr r1, _08004A8C @ =0x0202BDF0 - movs r3, #3 - ands r3, r0 - str r3, [r1] - ldr r2, _08004A90 @ =0x0201C1AC - movs r1, #0x1c - ands r1, r0 - lsrs r1, r1, #2 - strb r1, [r2] - ldr r2, _08004A94 @ =0x0202ADDC - movs r1, #0xe0 - lsls r1, r1, #4 - ands r1, r0 - lsrs r1, r1, #9 - strb r1, [r2] - movs r1, #0x40 - ands r1, r0 - cmp r1, #0 - beq _08004AF2 - cmp r3, #1 - bhi _08004AF2 - bl sub_5EC8 - ldr r0, [r4] - movs r1, #0x80 - lsls r1, r1, #1 - ands r0, r1 - cmp r0, #0 - bne _08004AAC - bl sub_5EA4 - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _08004A98 - movs r0, #9 - strb r0, [r5, #3] - b _08004AAC - .align 2, 0 + ldr r4, _08004A7C @ =0x0202ADD0 + ldr r0, _08004A80 @ =0x0202BEC8 + ldr r1, _08004A84 @ =0x0202C5F0 + ldr r2, _08004A88 @ =0x0201A4D0 + bl sub_1B04 + str r0, [r4] + ldr r1, _08004A8C @ =0x0202BDF0 + movs r3, #3 + ands r3, r0 + str r3, [r1] + ldr r2, _08004A90 @ =0x0201C1AC + movs r1, #0x1c + ands r1, r0 + lsrs r1, r1, #2 + strb r1, [r2] + ldr r2, _08004A94 @ =0x0202ADDC + movs r1, #0xe0 + lsls r1, r1, #4 + ands r1, r0 + lsrs r1, r1, #9 + strb r1, [r2] + movs r1, #0x40 + ands r1, r0 + cmp r1, #0 + beq _08004AF2 + cmp r3, #1 + bhi _08004AF2 + bl sub_5EC8 + ldr r0, [r4] + movs r1, #0x80 + lsls r1, r1, #1 + ands r0, r1 + cmp r0, #0 + bne _08004AAC + bl sub_5EA4 + lsls r0, r0, #0x10 + asrs r1, r0, #0x10 + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + bne _08004A98 + movs r0, #9 + strb r0, [r5, #3] + b _08004AAC + .align 2, 0 _08004A7C: .4byte 0x0202ADD0 _08004A80: .4byte 0x0202BEC8 _08004A84: .4byte 0x0202C5F0 @@ -8866,55 +8866,55 @@ _08004A8C: .4byte 0x0202BDF0 _08004A90: .4byte 0x0201C1AC _08004A94: .4byte 0x0202ADDC _08004A98: - cmp r1, #1 - bne _08004AAC - ldr r0, _08004AF8 @ =0x0202BEFC - movs r1, #2 - strb r1, [r0] - movs r0, #8 - strb r0, [r5, #3] - movs r0, #0x8a - bl m4aSongNumStart + cmp r1, #1 + bne _08004AAC + ldr r0, _08004AF8 @ =0x0202BEFC + movs r1, #2 + strb r1, [r0] + movs r0, #8 + strb r0, [r5, #3] + movs r0, #0x8a + bl m4aSongNumStart _08004AAC: - ldr r1, _08004AFC @ =0x0201A510 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - ldr r0, _08004B00 @ =0x0202ADD0 - ldr r0, [r0] - movs r1, #0xfe - lsls r1, r1, #0xf - ands r0, r1 - cmp r0, #0 - beq _08004AF2 - ldr r0, _08004B04 @ =0x0201B128 - movs r1, #0 - ldrsb r1, [r0, r1] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _08004AF2 - ldr r1, _08004B08 @ =0x0201A444 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb4 - ble _08004AF2 - ldr r1, _08004AF8 @ =0x0202BEFC - movs r0, #2 - strb r0, [r1] - ldr r1, _08004B0C @ =0x0200B0C0 - movs r0, #8 - strb r0, [r1, #3] - movs r0, #0x8a - bl m4aSongNumStart + ldr r1, _08004AFC @ =0x0201A510 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + ldr r0, _08004B00 @ =0x0202ADD0 + ldr r0, [r0] + movs r1, #0xfe + lsls r1, r1, #0xf + ands r0, r1 + cmp r0, #0 + beq _08004AF2 + ldr r0, _08004B04 @ =0x0201B128 + movs r1, #0 + ldrsb r1, [r0, r1] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + bne _08004AF2 + ldr r1, _08004B08 @ =0x0201A444 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb4 + ble _08004AF2 + ldr r1, _08004AF8 @ =0x0202BEFC + movs r0, #2 + strb r0, [r1] + ldr r1, _08004B0C @ =0x0200B0C0 + movs r0, #8 + strb r0, [r1, #3] + movs r0, #0x8a + bl m4aSongNumStart _08004AF2: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08004AF8: .4byte 0x0202BEFC _08004AFC: .4byte 0x0201A510 _08004B00: .4byte 0x0202ADD0 @@ -8922,74 +8922,74 @@ _08004B04: .4byte 0x0201B128 _08004B08: .4byte 0x0201A444 _08004B0C: .4byte 0x0200B0C0 - thumb_func_start sub_4B10 + thumb_func_start sub_4B10 sub_4B10: @ 0x08004B10 - ldr r1, _08004B2C @ =0x0201A444 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _08004B2A - movs r0, #0 - strh r0, [r1] - ldr r1, _08004B30 @ =0x0200B0C0 - movs r0, #6 - strb r0, [r1, #3] + ldr r1, _08004B2C @ =0x0201A444 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _08004B2A + movs r0, #0 + strh r0, [r1] + ldr r1, _08004B30 @ =0x0200B0C0 + movs r0, #6 + strb r0, [r1, #3] _08004B2A: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _08004B2C: .4byte 0x0201A444 _08004B30: .4byte 0x0200B0C0 - thumb_func_start sub_4B34 + thumb_func_start sub_4B34 sub_4B34: @ 0x08004B34 - push {lr} - bl sub_599C - ldr r2, _08004B94 @ =0x0201B120 - ldrh r0, [r2] - adds r0, #1 - strh r0, [r2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x5a - ble _08004B90 - movs r1, #0 - strh r1, [r2] - ldr r0, _08004B98 @ =0x0202BEC4 - strb r1, [r0] - ldr r0, _08004B9C @ =0x0202BEFC - strb r1, [r0] - ldr r1, _08004BA0 @ =0x0202BF04 - movs r0, #1 - strb r0, [r1] - ldr r1, _08004BA4 @ =0x0202A588 - movs r0, #1 - strh r0, [r1] - bl sub_2568 - bl sub_1AA4 - ldr r3, _08004BA8 @ =0x0202A1C0 - ldr r2, _08004BAC @ =0x0202A390 - movs r1, #0xe0 + push {lr} + bl sub_599C + ldr r2, _08004B94 @ =0x0201B120 + ldrh r0, [r2] + adds r0, #1 + strh r0, [r2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x5a + ble _08004B90 + movs r1, #0 + strh r1, [r2] + ldr r0, _08004B98 @ =0x0202BEC4 + strb r1, [r0] + ldr r0, _08004B9C @ =0x0202BEFC + strb r1, [r0] + ldr r1, _08004BA0 @ =0x0202BF04 + movs r0, #1 + strb r0, [r1] + ldr r1, _08004BA4 @ =0x0202A588 + movs r0, #1 + strh r0, [r1] + bl sub_2568 + bl sub_1AA4 + ldr r3, _08004BA8 @ =0x0202A1C0 + ldr r2, _08004BAC @ =0x0202A390 + movs r1, #0xe0 _08004B70: - ldrh r0, [r3] - strh r0, [r2] - adds r3, #2 - adds r2, #2 - subs r1, #1 - cmp r1, #0 - bge _08004B70 - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _08004BB0 @ =0x0200B0C0 - movs r0, #0 - strb r0, [r1, #3] + ldrh r0, [r3] + strh r0, [r2] + adds r3, #2 + adds r2, #2 + subs r1, #1 + cmp r1, #0 + bge _08004B70 + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _08004BB0 @ =0x0200B0C0 + movs r0, #0 + strb r0, [r1, #3] _08004B90: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _08004B94: .4byte 0x0201B120 _08004B98: .4byte 0x0202BEC4 _08004B9C: .4byte 0x0202BEFC @@ -8999,90 +8999,90 @@ _08004BA8: .4byte 0x0202A1C0 _08004BAC: .4byte 0x0202A390 _08004BB0: .4byte 0x0200B0C0 - thumb_func_start sub_4BB4 + thumb_func_start sub_4BB4 sub_4BB4: @ 0x08004BB4 - push {r4, lr} - bl sub_599C - ldr r2, _08004BD0 @ =0x0201B120 - movs r1, #0 - ldrsh r0, [r2, r1] - cmp r0, #0x82 - beq _08004BE4 - cmp r0, #0x82 - bgt _08004BD4 - cmp r0, #4 - beq _08004BDA - b _08004C4E - .align 2, 0 + push {r4, lr} + bl sub_599C + ldr r2, _08004BD0 @ =0x0201B120 + movs r1, #0 + ldrsh r0, [r2, r1] + cmp r0, #0x82 + beq _08004BE4 + cmp r0, #0x82 + bgt _08004BD4 + cmp r0, #4 + beq _08004BDA + b _08004C4E + .align 2, 0 _08004BD0: .4byte 0x0201B120 _08004BD4: - cmp r0, #0xfa - beq _08004BF8 - b _08004C4E + cmp r0, #0xfa + beq _08004BF8 + b _08004C4E _08004BDA: - bl sub_2568 - bl sub_1AA4 - b _08004C4E + bl sub_2568 + bl sub_1AA4 + b _08004C4E _08004BE4: - ldr r1, _08004BF4 @ =0x0202BEFC - movs r0, #3 - strb r0, [r1] - movs r0, #0x65 - bl m4aSongNumStart - b _08004C4E - .align 2, 0 + ldr r1, _08004BF4 @ =0x0202BEFC + movs r0, #3 + strb r0, [r1] + movs r0, #0x65 + bl m4aSongNumStart + b _08004C4E + .align 2, 0 _08004BF4: .4byte 0x0202BEFC _08004BF8: - movs r1, #0 - strh r1, [r2] - ldr r0, _08004C5C @ =0x0202BEC4 - strb r1, [r0] - ldr r0, _08004C60 @ =0x0202BEFC - strb r1, [r0] - ldr r1, _08004C64 @ =0x0202BF04 - movs r0, #1 - strb r0, [r1] - ldr r1, _08004C68 @ =0x0202A588 - movs r0, #1 - strh r0, [r1] - ldr r3, _08004C6C @ =0x0202A390 - ldr r1, _08004C70 @ =0x0202A1C0 - movs r2, #0xe0 + movs r1, #0 + strh r1, [r2] + ldr r0, _08004C5C @ =0x0202BEC4 + strb r1, [r0] + ldr r0, _08004C60 @ =0x0202BEFC + strb r1, [r0] + ldr r1, _08004C64 @ =0x0202BF04 + movs r0, #1 + strb r0, [r1] + ldr r1, _08004C68 @ =0x0202A588 + movs r0, #1 + strh r0, [r1] + ldr r3, _08004C6C @ =0x0202A390 + ldr r1, _08004C70 @ =0x0202A1C0 + movs r2, #0xe0 _08004C16: - ldrh r0, [r3] - strh r0, [r1] - adds r3, #2 - adds r1, #2 - subs r2, #1 - cmp r2, #0 - bge _08004C16 - movs r2, #0 - ldr r4, _08004C74 @ =0x0200B134 - ldr r3, _08004C70 @ =0x0202A1C0 + ldrh r0, [r3] + strh r0, [r1] + adds r3, #2 + adds r1, #2 + subs r2, #1 + cmp r2, #0 + bge _08004C16 + movs r2, #0 + ldr r4, _08004C74 @ =0x0200B134 + ldr r3, _08004C70 @ =0x0202A1C0 _08004C2A: - adds r1, r2, r4 - ldrh r0, [r3] - strb r0, [r1] - adds r3, #2 - adds r2, #1 - cmp r2, #0xcc - ble _08004C2A - bl sub_52B30 - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _08004C78 @ =0x0200B0C0 - movs r0, #0 - strb r0, [r1, #3] + adds r1, r2, r4 + ldrh r0, [r3] + strb r0, [r1] + adds r3, #2 + adds r2, #1 + cmp r2, #0xcc + ble _08004C2A + bl sub_52B30 + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _08004C78 @ =0x0200B0C0 + movs r0, #0 + strb r0, [r1, #3] _08004C4E: - ldr r1, _08004C7C @ =0x0201B120 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + ldr r1, _08004C7C @ =0x0201B120 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08004C5C: .4byte 0x0202BEC4 _08004C60: .4byte 0x0202BEFC _08004C64: .4byte 0x0202BF04 @@ -9093,65 +9093,65 @@ _08004C74: .4byte 0x0200B134 _08004C78: .4byte 0x0200B0C0 _08004C7C: .4byte 0x0201B120 - thumb_func_start sub_4C80 + thumb_func_start sub_4C80 sub_4C80: @ 0x08004C80 - push {r4, r5, r6, r7, lr} - bl sub_51FC - ldr r7, _08004CF8 @ =0x0200B0C0 - ldrh r1, [r7, #0x18] - movs r6, #1 - movs r5, #1 - adds r4, r5, #0 - ands r4, r1 - cmp r4, #0 - beq _08004D18 - movs r0, #0x65 - bl m4aSongNumStart - movs r3, #0 - ldr r1, _08004CFC @ =0x0202A1C0 - ldr r0, _08004D00 @ =0x0202A390 - movs r2, #0xe0 + push {r4, r5, r6, r7, lr} + bl sub_51FC + ldr r7, _08004CF8 @ =0x0200B0C0 + ldrh r1, [r7, #0x18] + movs r6, #1 + movs r5, #1 + adds r4, r5, #0 + ands r4, r1 + cmp r4, #0 + beq _08004D18 + movs r0, #0x65 + bl m4aSongNumStart + movs r3, #0 + ldr r1, _08004CFC @ =0x0202A1C0 + ldr r0, _08004D00 @ =0x0202A390 + movs r2, #0xe0 _08004CA4: - strh r3, [r0] - strh r3, [r1] - adds r1, #2 - adds r0, #2 - subs r2, #1 - cmp r2, #0 - bge _08004CA4 - movs r2, #0 - ldr r5, _08004D04 @ =0x0202BEC4 - ldr r6, _08004D08 @ =0x0202BEFC - ldr r7, _08004D0C @ =0x0202BF04 - ldr r0, _08004D10 @ =0x0202A588 - mov ip, r0 - ldr r4, _08004D14 @ =0x0200B134 - ldr r3, _08004CFC @ =0x0202A1C0 + strh r3, [r0] + strh r3, [r1] + adds r1, #2 + adds r0, #2 + subs r2, #1 + cmp r2, #0 + bge _08004CA4 + movs r2, #0 + ldr r5, _08004D04 @ =0x0202BEC4 + ldr r6, _08004D08 @ =0x0202BEFC + ldr r7, _08004D0C @ =0x0202BF04 + ldr r0, _08004D10 @ =0x0202A588 + mov ip, r0 + ldr r4, _08004D14 @ =0x0200B134 + ldr r3, _08004CFC @ =0x0202A1C0 _08004CC2: - adds r1, r2, r4 - ldrh r0, [r3] - strb r0, [r1] - adds r3, #2 - adds r2, #1 - cmp r2, #0xcc - ble _08004CC2 - movs r0, #0 - strb r0, [r5] - strb r0, [r6] - movs r0, #1 - strb r0, [r7] - movs r0, #1 - mov r1, ip - strh r0, [r1] - bl sub_52B30 - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _08004CF8 @ =0x0200B0C0 - movs r0, #0 - strb r0, [r1, #3] - b _08004D38 - .align 2, 0 + adds r1, r2, r4 + ldrh r0, [r3] + strb r0, [r1] + adds r3, #2 + adds r2, #1 + cmp r2, #0xcc + ble _08004CC2 + movs r0, #0 + strb r0, [r5] + strb r0, [r6] + movs r0, #1 + strb r0, [r7] + movs r0, #1 + mov r1, ip + strh r0, [r1] + bl sub_52B30 + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _08004CF8 @ =0x0200B0C0 + movs r0, #0 + strb r0, [r1, #3] + b _08004D38 + .align 2, 0 _08004CF8: .4byte 0x0200B0C0 _08004CFC: .4byte 0x0202A1C0 _08004D00: .4byte 0x0202A390 @@ -9161,89 +9161,89 @@ _08004D0C: .4byte 0x0202BF04 _08004D10: .4byte 0x0202A588 _08004D14: .4byte 0x0200B134 _08004D18: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08004D38 - movs r0, #0x66 - bl m4aSongNumStart - ldr r0, _08004D40 @ =0x0202BEC4 - strb r4, [r0] - ldr r0, _08004D44 @ =0x0202BEFC - strb r4, [r0] - ldr r0, _08004D48 @ =0x0202BF04 - strb r6, [r0] - ldr r0, _08004D4C @ =0x0202A588 - strh r5, [r0] - strb r6, [r7, #3] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _08004D38 + movs r0, #0x66 + bl m4aSongNumStart + ldr r0, _08004D40 @ =0x0202BEC4 + strb r4, [r0] + ldr r0, _08004D44 @ =0x0202BEFC + strb r4, [r0] + ldr r0, _08004D48 @ =0x0202BF04 + strb r6, [r0] + ldr r0, _08004D4C @ =0x0202A588 + strh r5, [r0] + strb r6, [r7, #3] _08004D38: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08004D40: .4byte 0x0202BEC4 _08004D44: .4byte 0x0202BEFC _08004D48: .4byte 0x0202BF04 _08004D4C: .4byte 0x0202A588 - thumb_func_start sub_4D50 + thumb_func_start sub_4D50 sub_4D50: @ 0x08004D50 - push {lr} - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _08004D70 @ =0x0201A4B4 - movs r0, #1 - strb r0, [r1] - movs r0, #1 - bl sub_23C - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _08004D70 @ =0x0201A4B4 + movs r0, #1 + strb r0, [r1] + movs r0, #1 + bl sub_23C + pop {r0} + bx r0 + .align 2, 0 _08004D70: .4byte 0x0201A4B4 - thumb_func_start sub_4D74 + thumb_func_start sub_4D74 sub_4D74: @ 0x08004D74 - push {r4, r5, lr} - ldr r5, _08004DC4 @ =0x0202C58C - movs r0, #0 - ldrsh r1, [r5, r0] - cmp r1, #0 - bne _08004E26 - ldr r0, _08004DC8 @ =0x0201A440 - strh r1, [r0] - ldr r0, _08004DCC @ =0x0202BF0C - strh r1, [r0] - ldr r4, _08004DD0 @ =0x0202A57C - movs r1, #0 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08004E08 - ldr r2, _08004DD4 @ =0x0202C5B0 - ldrh r1, [r2] - movs r3, #0 - ldrsh r0, [r2, r3] - cmp r0, #0 - bne _08004DE4 - ldr r0, _08004DD8 @ =0x02019C24 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08004DF6 - ldr r0, _08004DDC @ =0x0202A574 - ldrh r0, [r0] - subs r1, r0, #5 - strh r1, [r2] - ldr r1, _08004DE0 @ =0x0202ADE0 - subs r0, #1 - strh r0, [r1] - movs r0, #4 - strh r0, [r4] - movs r0, #0x67 - bl m4aSongNumStart - b _08004DF6 - .align 2, 0 + push {r4, r5, lr} + ldr r5, _08004DC4 @ =0x0202C58C + movs r0, #0 + ldrsh r1, [r5, r0] + cmp r1, #0 + bne _08004E26 + ldr r0, _08004DC8 @ =0x0201A440 + strh r1, [r0] + ldr r0, _08004DCC @ =0x0202BF0C + strh r1, [r0] + ldr r4, _08004DD0 @ =0x0202A57C + movs r1, #0 + ldrsh r0, [r4, r1] + cmp r0, #0 + bne _08004E08 + ldr r2, _08004DD4 @ =0x0202C5B0 + ldrh r1, [r2] + movs r3, #0 + ldrsh r0, [r2, r3] + cmp r0, #0 + bne _08004DE4 + ldr r0, _08004DD8 @ =0x02019C24 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08004DF6 + ldr r0, _08004DDC @ =0x0202A574 + ldrh r0, [r0] + subs r1, r0, #5 + strh r1, [r2] + ldr r1, _08004DE0 @ =0x0202ADE0 + subs r0, #1 + strh r0, [r1] + movs r0, #4 + strh r0, [r4] + movs r0, #0x67 + bl m4aSongNumStart + b _08004DF6 + .align 2, 0 _08004DC4: .4byte 0x0202C58C _08004DC8: .4byte 0x0201A440 _08004DCC: .4byte 0x0202BF0C @@ -9253,85 +9253,85 @@ _08004DD8: .4byte 0x02019C24 _08004DDC: .4byte 0x0202A574 _08004DE0: .4byte 0x0202ADE0 _08004DE4: - subs r0, r1, #1 - strh r0, [r2] - ldr r1, _08004E00 @ =0x0202ADE0 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - movs r0, #0x67 - bl m4aSongNumStart + subs r0, r1, #1 + strh r0, [r2] + ldr r1, _08004E00 @ =0x0202ADE0 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] + movs r0, #0x67 + bl m4aSongNumStart _08004DF6: - ldr r1, _08004E04 @ =0x0202C58C - movs r0, #9 - strh r0, [r1] - b _08004E20 - .align 2, 0 + ldr r1, _08004E04 @ =0x0202C58C + movs r0, #9 + strh r0, [r1] + b _08004E20 + .align 2, 0 _08004E00: .4byte 0x0202ADE0 _08004E04: .4byte 0x0202C58C _08004E08: - movs r0, #0x67 - bl m4aSongNumStart - ldrh r0, [r4] - subs r0, #1 - strh r0, [r4] - ldr r1, _08004E2C @ =0x0202ADE0 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - movs r0, #9 - strh r0, [r5] + movs r0, #0x67 + bl m4aSongNumStart + ldrh r0, [r4] + subs r0, #1 + strh r0, [r4] + ldr r1, _08004E2C @ =0x0202ADE0 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] + movs r0, #9 + strh r0, [r5] _08004E20: - ldr r1, _08004E30 @ =0x02019C24 - movs r0, #1 - strb r0, [r1] + ldr r1, _08004E30 @ =0x02019C24 + movs r0, #1 + strb r0, [r1] _08004E26: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08004E2C: .4byte 0x0202ADE0 _08004E30: .4byte 0x02019C24 - thumb_func_start sub_4E34 + thumb_func_start sub_4E34 sub_4E34: @ 0x08004E34 - push {r4, r5, lr} - ldr r5, _08004E80 @ =0x0202C58C - movs r0, #0 - ldrsh r1, [r5, r0] - cmp r1, #0 - bne _08004EE2 - ldr r0, _08004E84 @ =0x0201A440 - strh r1, [r0] - ldr r0, _08004E88 @ =0x0202BF0C - strh r1, [r0] - ldr r4, _08004E8C @ =0x0202A57C - movs r1, #0 - ldrsh r0, [r4, r1] - cmp r0, #4 - bne _08004EC4 - ldr r2, _08004E90 @ =0x0202C5B0 - movs r3, #0 - ldrsh r1, [r2, r3] - ldr r0, _08004E94 @ =0x0202A574 - movs r3, #0 - ldrsh r0, [r0, r3] - subs r0, #5 - cmp r1, r0 - bne _08004EA0 - ldr r0, _08004E98 @ =0x02019C24 - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #0 - bne _08004EB4 - strh r1, [r2] - ldr r0, _08004E9C @ =0x0202ADE0 - strh r1, [r0] - strh r1, [r4] - movs r0, #0x67 - bl m4aSongNumStart - b _08004EB4 - .align 2, 0 + push {r4, r5, lr} + ldr r5, _08004E80 @ =0x0202C58C + movs r0, #0 + ldrsh r1, [r5, r0] + cmp r1, #0 + bne _08004EE2 + ldr r0, _08004E84 @ =0x0201A440 + strh r1, [r0] + ldr r0, _08004E88 @ =0x0202BF0C + strh r1, [r0] + ldr r4, _08004E8C @ =0x0202A57C + movs r1, #0 + ldrsh r0, [r4, r1] + cmp r0, #4 + bne _08004EC4 + ldr r2, _08004E90 @ =0x0202C5B0 + movs r3, #0 + ldrsh r1, [r2, r3] + ldr r0, _08004E94 @ =0x0202A574 + movs r3, #0 + ldrsh r0, [r0, r3] + subs r0, #5 + cmp r1, r0 + bne _08004EA0 + ldr r0, _08004E98 @ =0x02019C24 + movs r1, #0 + ldrsb r1, [r0, r1] + cmp r1, #0 + bne _08004EB4 + strh r1, [r2] + ldr r0, _08004E9C @ =0x0202ADE0 + strh r1, [r0] + strh r1, [r4] + movs r0, #0x67 + bl m4aSongNumStart + b _08004EB4 + .align 2, 0 _08004E80: .4byte 0x0202C58C _08004E84: .4byte 0x0201A440 _08004E88: .4byte 0x0202BF0C @@ -9341,87 +9341,87 @@ _08004E94: .4byte 0x0202A574 _08004E98: .4byte 0x02019C24 _08004E9C: .4byte 0x0202ADE0 _08004EA0: - ldrh r0, [r2] - adds r0, #1 - strh r0, [r2] - ldr r1, _08004EBC @ =0x0202ADE0 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - movs r0, #0x67 - bl m4aSongNumStart + ldrh r0, [r2] + adds r0, #1 + strh r0, [r2] + ldr r1, _08004EBC @ =0x0202ADE0 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + movs r0, #0x67 + bl m4aSongNumStart _08004EB4: - ldr r1, _08004EC0 @ =0x0202C58C - movs r0, #9 - strh r0, [r1] - b _08004EDC - .align 2, 0 + ldr r1, _08004EC0 @ =0x0202C58C + movs r0, #9 + strh r0, [r1] + b _08004EDC + .align 2, 0 _08004EBC: .4byte 0x0202ADE0 _08004EC0: .4byte 0x0202C58C _08004EC4: - movs r0, #0x67 - bl m4aSongNumStart - ldrh r0, [r4] - adds r0, #1 - strh r0, [r4] - ldr r1, _08004EE8 @ =0x0202ADE0 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - movs r0, #9 - strh r0, [r5] + movs r0, #0x67 + bl m4aSongNumStart + ldrh r0, [r4] + adds r0, #1 + strh r0, [r4] + ldr r1, _08004EE8 @ =0x0202ADE0 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + movs r0, #9 + strh r0, [r5] _08004EDC: - ldr r1, _08004EEC @ =0x02019C24 - movs r0, #1 - strb r0, [r1] + ldr r1, _08004EEC @ =0x02019C24 + movs r0, #1 + strb r0, [r1] _08004EE2: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08004EE8: .4byte 0x0202ADE0 _08004EEC: .4byte 0x02019C24 - thumb_func_start sub_4EF0 + thumb_func_start sub_4EF0 sub_4EF0: @ 0x08004EF0 - push {r4, r5, r6, lr} - ldr r6, _08004F38 @ =0x0202C58C - movs r0, #0 - ldrsh r4, [r6, r0] - cmp r4, #0 - bne _08004F32 - ldr r0, _08004F3C @ =0x0201A440 - strh r4, [r0] - ldr r0, _08004F40 @ =0x0202BF0C - strh r4, [r0] - ldr r5, _08004F44 @ =0x0202C5B0 - movs r1, #0 - ldrsh r0, [r5, r1] - cmp r0, #0 - beq _08004F32 - movs r0, #0x67 - bl m4aSongNumStart - ldrh r0, [r5] - subs r0, #5 - strh r0, [r5] - lsls r0, r0, #0x10 - cmp r0, #0 - bge _08004F22 - strh r4, [r5] + push {r4, r5, r6, lr} + ldr r6, _08004F38 @ =0x0202C58C + movs r0, #0 + ldrsh r4, [r6, r0] + cmp r4, #0 + bne _08004F32 + ldr r0, _08004F3C @ =0x0201A440 + strh r4, [r0] + ldr r0, _08004F40 @ =0x0202BF0C + strh r4, [r0] + ldr r5, _08004F44 @ =0x0202C5B0 + movs r1, #0 + ldrsh r0, [r5, r1] + cmp r0, #0 + beq _08004F32 + movs r0, #0x67 + bl m4aSongNumStart + ldrh r0, [r5] + subs r0, #5 + strh r0, [r5] + lsls r0, r0, #0x10 + cmp r0, #0 + bge _08004F22 + strh r4, [r5] _08004F22: - ldr r1, _08004F48 @ =0x0202ADE0 - ldr r0, _08004F4C @ =0x0202A57C - ldrh r0, [r0] - ldrh r5, [r5] - adds r0, r0, r5 - strh r0, [r1] - movs r0, #9 - strh r0, [r6] + ldr r1, _08004F48 @ =0x0202ADE0 + ldr r0, _08004F4C @ =0x0202A57C + ldrh r0, [r0] + ldrh r5, [r5] + adds r0, r0, r5 + strh r0, [r1] + movs r0, #9 + strh r0, [r6] _08004F32: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08004F38: .4byte 0x0202C58C _08004F3C: .4byte 0x0201A440 _08004F40: .4byte 0x0202BF0C @@ -9429,56 +9429,56 @@ _08004F44: .4byte 0x0202C5B0 _08004F48: .4byte 0x0202ADE0 _08004F4C: .4byte 0x0202A57C - thumb_func_start sub_4F50 + thumb_func_start sub_4F50 sub_4F50: @ 0x08004F50 - push {r4, r5, r6, lr} - ldr r6, _08004FAC @ =0x0202C58C - movs r0, #0 - ldrsh r1, [r6, r0] - cmp r1, #0 - bne _08004FA6 - ldr r0, _08004FB0 @ =0x0201A440 - strh r1, [r0] - ldr r0, _08004FB4 @ =0x0202BF0C - strh r1, [r0] - ldr r4, _08004FB8 @ =0x0202C5B0 - movs r2, #0 - ldrsh r1, [r4, r2] - ldr r5, _08004FBC @ =0x0202A574 - movs r2, #0 - ldrsh r0, [r5, r2] - subs r0, #5 - cmp r1, r0 - beq _08004FA6 - movs r0, #0x67 - bl m4aSongNumStart - ldrh r0, [r4] - adds r0, #5 - strh r0, [r4] - movs r0, #0 - ldrsh r1, [r4, r0] - movs r2, #0 - ldrsh r0, [r5, r2] - subs r0, #5 - cmp r1, r0 - ble _08004F96 - ldrh r0, [r5] - subs r0, #5 - strh r0, [r4] + push {r4, r5, r6, lr} + ldr r6, _08004FAC @ =0x0202C58C + movs r0, #0 + ldrsh r1, [r6, r0] + cmp r1, #0 + bne _08004FA6 + ldr r0, _08004FB0 @ =0x0201A440 + strh r1, [r0] + ldr r0, _08004FB4 @ =0x0202BF0C + strh r1, [r0] + ldr r4, _08004FB8 @ =0x0202C5B0 + movs r2, #0 + ldrsh r1, [r4, r2] + ldr r5, _08004FBC @ =0x0202A574 + movs r2, #0 + ldrsh r0, [r5, r2] + subs r0, #5 + cmp r1, r0 + beq _08004FA6 + movs r0, #0x67 + bl m4aSongNumStart + ldrh r0, [r4] + adds r0, #5 + strh r0, [r4] + movs r0, #0 + ldrsh r1, [r4, r0] + movs r2, #0 + ldrsh r0, [r5, r2] + subs r0, #5 + cmp r1, r0 + ble _08004F96 + ldrh r0, [r5] + subs r0, #5 + strh r0, [r4] _08004F96: - ldr r1, _08004FC0 @ =0x0202ADE0 - ldr r0, _08004FC4 @ =0x0202A57C - ldrh r0, [r0] - ldrh r4, [r4] - adds r0, r0, r4 - strh r0, [r1] - movs r0, #9 - strh r0, [r6] + ldr r1, _08004FC0 @ =0x0202ADE0 + ldr r0, _08004FC4 @ =0x0202A57C + ldrh r0, [r0] + ldrh r4, [r4] + adds r0, r0, r4 + strh r0, [r1] + movs r0, #9 + strh r0, [r6] _08004FA6: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08004FAC: .4byte 0x0202C58C _08004FB0: .4byte 0x0201A440 _08004FB4: .4byte 0x0202BF0C @@ -9487,73 +9487,73 @@ _08004FBC: .4byte 0x0202A574 _08004FC0: .4byte 0x0202ADE0 _08004FC4: .4byte 0x0202A57C - thumb_func_start sub_4FC8 + thumb_func_start sub_4FC8 sub_4FC8: @ 0x08004FC8 - push {r4, r5, lr} - ldr r5, _08005048 @ =0x0200B0C0 - ldrh r2, [r5, #0x1c] - movs r1, #0x88 - lsls r1, r1, #2 - adds r0, r1, #0 - ands r0, r2 - cmp r0, r1 - bne _08005022 - ldrh r1, [r5, #0x18] - movs r0, #0x80 - lsls r0, r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08005022 - ldr r2, _0800504C @ =0x02002830 - movs r0, #0x28 - strb r0, [r2] - ldr r1, _08005050 @ =0x02002831 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - bne _08005022 - movs r4, #0 - strb r4, [r1] - strb r4, [r2] - movs r0, #0x68 - bl m4aSongNumStart - ldr r1, _08005054 @ =0x0202BEC4 - movs r0, #1 - strb r0, [r1] - ldr r1, _08005058 @ =0x0202BEFC - movs r0, #4 - strb r0, [r1] - ldr r0, _0800505C @ =0x0202BF04 - strb r4, [r0] - ldr r1, _08005060 @ =0x0202A588 - movs r0, #0 - strh r0, [r1] - movs r0, #0xb - strb r0, [r5, #3] + push {r4, r5, lr} + ldr r5, _08005048 @ =0x0200B0C0 + ldrh r2, [r5, #0x1c] + movs r1, #0x88 + lsls r1, r1, #2 + adds r0, r1, #0 + ands r0, r2 + cmp r0, r1 + bne _08005022 + ldrh r1, [r5, #0x18] + movs r0, #0x80 + lsls r0, r0, #1 + ands r0, r1 + cmp r0, #0 + beq _08005022 + ldr r2, _0800504C @ =0x02002830 + movs r0, #0x28 + strb r0, [r2] + ldr r1, _08005050 @ =0x02002831 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + bne _08005022 + movs r4, #0 + strb r4, [r1] + strb r4, [r2] + movs r0, #0x68 + bl m4aSongNumStart + ldr r1, _08005054 @ =0x0202BEC4 + movs r0, #1 + strb r0, [r1] + ldr r1, _08005058 @ =0x0202BEFC + movs r0, #4 + strb r0, [r1] + ldr r0, _0800505C @ =0x0202BF04 + strb r4, [r0] + ldr r1, _08005060 @ =0x0202A588 + movs r0, #0 + strh r0, [r1] + movs r0, #0xb + strb r0, [r5, #3] _08005022: - ldr r2, _0800504C @ =0x02002830 - ldrb r1, [r2] - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - ble _08005040 - subs r0, r1, #1 - strb r0, [r2] - lsls r0, r0, #0x18 - cmp r0, #0 - bgt _08005040 - movs r1, #0 - strb r1, [r2] - ldr r0, _08005050 @ =0x02002831 - strb r1, [r0] + ldr r2, _0800504C @ =0x02002830 + ldrb r1, [r2] + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + ble _08005040 + subs r0, r1, #1 + strb r0, [r2] + lsls r0, r0, #0x18 + cmp r0, #0 + bgt _08005040 + movs r1, #0 + strb r1, [r2] + ldr r0, _08005050 @ =0x02002831 + strb r1, [r0] _08005040: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08005048: .4byte 0x0200B0C0 _0800504C: .4byte 0x02002830 _08005050: .4byte 0x02002831 @@ -9562,42 +9562,42 @@ _08005058: .4byte 0x0202BEFC _0800505C: .4byte 0x0202BF04 _08005060: .4byte 0x0202A588 - thumb_func_start sub_5064 + thumb_func_start sub_5064 sub_5064: @ 0x08005064 - ldr r1, _080050A8 @ =0x0202A1C0 - ldr r0, _080050AC @ =0x0202ADE0 - movs r2, #0 - ldrsh r0, [r0, r2] - lsls r2, r0, #1 - adds r1, r2, r1 - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #4 - bne _08005110 - ldr r0, _080050B0 @ =0x086A61BC - adds r0, r2, r0 - movs r2, #0 - ldrsh r1, [r0, r2] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _080050C8 - ldr r1, _080050B4 @ =0x0202A588 - movs r0, #0 - strh r0, [r1] - ldr r1, _080050B8 @ =0x0202A55C - movs r0, #1 - strh r0, [r1] - ldr r0, _080050BC @ =0x0202A568 - movs r1, #0 - strh r1, [r0] - strh r1, [r0, #2] - ldr r0, _080050C0 @ =0x0201A440 - strh r1, [r0] - ldr r0, _080050C4 @ =0x0202BF0C - strh r1, [r0] - b _08005124 - .align 2, 0 + ldr r1, _080050A8 @ =0x0202A1C0 + ldr r0, _080050AC @ =0x0202ADE0 + movs r2, #0 + ldrsh r0, [r0, r2] + lsls r2, r0, #1 + adds r1, r2, r1 + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #4 + bne _08005110 + ldr r0, _080050B0 @ =0x086A61BC + adds r0, r2, r0 + movs r2, #0 + ldrsh r1, [r0, r2] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + bne _080050C8 + ldr r1, _080050B4 @ =0x0202A588 + movs r0, #0 + strh r0, [r1] + ldr r1, _080050B8 @ =0x0202A55C + movs r0, #1 + strh r0, [r1] + ldr r0, _080050BC @ =0x0202A568 + movs r1, #0 + strh r1, [r0] + strh r1, [r0, #2] + ldr r0, _080050C0 @ =0x0201A440 + strh r1, [r0] + ldr r0, _080050C4 @ =0x0202BF0C + strh r1, [r0] + b _08005124 + .align 2, 0 _080050A8: .4byte 0x0202A1C0 _080050AC: .4byte 0x0202ADE0 _080050B0: .4byte 0x086A61BC @@ -9607,322 +9607,322 @@ _080050BC: .4byte 0x0202A568 _080050C0: .4byte 0x0201A440 _080050C4: .4byte 0x0202BF0C _080050C8: - cmp r1, #0x63 - bgt _080050F0 - ldr r0, _080050E4 @ =0x0202A588 - movs r1, #0 - strh r1, [r0] - ldr r0, _080050E8 @ =0x0202A55C - strh r1, [r0] - ldr r1, _080050EC @ =0x0202A568 - movs r2, #0 - movs r0, #1 - strh r0, [r1] - strh r2, [r1, #2] - b _08005124 - .align 2, 0 + cmp r1, #0x63 + bgt _080050F0 + ldr r0, _080050E4 @ =0x0202A588 + movs r1, #0 + strh r1, [r0] + ldr r0, _080050E8 @ =0x0202A55C + strh r1, [r0] + ldr r1, _080050EC @ =0x0202A568 + movs r2, #0 + movs r0, #1 + strh r0, [r1] + strh r2, [r1, #2] + b _08005124 + .align 2, 0 _080050E4: .4byte 0x0202A588 _080050E8: .4byte 0x0202A55C _080050EC: .4byte 0x0202A568 _080050F0: - ldr r0, _08005104 @ =0x0202A588 - movs r1, #0 - strh r1, [r0] - ldr r0, _08005108 @ =0x0202A55C - strh r1, [r0] - ldr r1, _0800510C @ =0x0202A568 - movs r0, #0 - strh r0, [r1] - movs r0, #1 - b _08005122 - .align 2, 0 + ldr r0, _08005104 @ =0x0202A588 + movs r1, #0 + strh r1, [r0] + ldr r0, _08005108 @ =0x0202A55C + strh r1, [r0] + ldr r1, _0800510C @ =0x0202A568 + movs r0, #0 + strh r0, [r1] + movs r0, #1 + b _08005122 + .align 2, 0 _08005104: .4byte 0x0202A588 _08005108: .4byte 0x0202A55C _0800510C: .4byte 0x0202A568 _08005110: - ldr r1, _08005128 @ =0x0202A588 - movs r0, #0 - strh r0, [r1] - ldr r1, _0800512C @ =0x0202A55C - movs r0, #1 - strh r0, [r1] - ldr r1, _08005130 @ =0x0202A568 - movs r0, #0 - strh r0, [r1] + ldr r1, _08005128 @ =0x0202A588 + movs r0, #0 + strh r0, [r1] + ldr r1, _0800512C @ =0x0202A55C + movs r0, #1 + strh r0, [r1] + ldr r1, _08005130 @ =0x0202A568 + movs r0, #0 + strh r0, [r1] _08005122: - strh r0, [r1, #2] + strh r0, [r1, #2] _08005124: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _08005128: .4byte 0x0202A588 _0800512C: .4byte 0x0202A55C _08005130: .4byte 0x0202A568 - thumb_func_start sub_5134 + thumb_func_start sub_5134 sub_5134: @ 0x08005134 - ldr r1, _08005160 @ =0x0202A1C0 - ldr r0, _08005164 @ =0x0202ADE0 - movs r2, #0 - ldrsh r0, [r0, r2] - lsls r2, r0, #1 - adds r1, r2, r1 - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #4 - bne _08005170 - ldr r0, _08005168 @ =0x086A61BC - adds r0, r2, r0 - movs r2, #0 - ldrsh r1, [r0, r2] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _08005170 - cmp r1, #0x63 - bgt _0800516C - movs r0, #1 - b _08005172 - .align 2, 0 + ldr r1, _08005160 @ =0x0202A1C0 + ldr r0, _08005164 @ =0x0202ADE0 + movs r2, #0 + ldrsh r0, [r0, r2] + lsls r2, r0, #1 + adds r1, r2, r1 + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #4 + bne _08005170 + ldr r0, _08005168 @ =0x086A61BC + adds r0, r2, r0 + movs r2, #0 + ldrsh r1, [r0, r2] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + beq _08005170 + cmp r1, #0x63 + bgt _0800516C + movs r0, #1 + b _08005172 + .align 2, 0 _08005160: .4byte 0x0202A1C0 _08005164: .4byte 0x0202ADE0 _08005168: .4byte 0x086A61BC _0800516C: - movs r0, #2 - b _08005172 + movs r0, #2 + b _08005172 _08005170: - movs r0, #0 + movs r0, #0 _08005172: - bx lr + bx lr - thumb_func_start sub_5174 + thumb_func_start sub_5174 sub_5174: @ 0x08005174 - push {r4, lr} - ldr r4, _080051BC @ =0x0202C5B0 - movs r1, #0 - ldrsh r0, [r4, r1] - bl sub_6CA0 - movs r1, #0 - ldrsh r0, [r4, r1] - bl sub_6F30 - ldr r4, _080051C0 @ =0x0202ADE0 - movs r1, #0 - ldrsh r0, [r4, r1] - bl sub_681C - movs r1, #0 - ldrsh r0, [r4, r1] - bl sub_6F78 - movs r1, #0 - ldrsh r0, [r4, r1] - bl sub_8974 - movs r1, #0 - ldrsh r0, [r4, r1] - bl sub_8A78 - ldr r0, _080051C4 @ =0x0202BF00 - movs r1, #0 - strh r1, [r0] - ldr r0, _080051C8 @ =0x0201A448 - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + ldr r4, _080051BC @ =0x0202C5B0 + movs r1, #0 + ldrsh r0, [r4, r1] + bl sub_6CA0 + movs r1, #0 + ldrsh r0, [r4, r1] + bl sub_6F30 + ldr r4, _080051C0 @ =0x0202ADE0 + movs r1, #0 + ldrsh r0, [r4, r1] + bl sub_681C + movs r1, #0 + ldrsh r0, [r4, r1] + bl sub_6F78 + movs r1, #0 + ldrsh r0, [r4, r1] + bl sub_8974 + movs r1, #0 + ldrsh r0, [r4, r1] + bl sub_8A78 + ldr r0, _080051C4 @ =0x0202BF00 + movs r1, #0 + strh r1, [r0] + ldr r0, _080051C8 @ =0x0201A448 + strh r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _080051BC: .4byte 0x0202C5B0 _080051C0: .4byte 0x0202ADE0 _080051C4: .4byte 0x0202BF00 _080051C8: .4byte 0x0201A448 - thumb_func_start sub_51CC + thumb_func_start sub_51CC sub_51CC: @ 0x080051CC - push {lr} - bl sub_5134 - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080051E8 - ldr r0, _080051E4 @ =0x0202ADE0 - movs r1, #0 - ldrsh r0, [r0, r1] - bl sub_6F78 - b _080051F2 - .align 2, 0 + push {lr} + bl sub_5134 + lsls r0, r0, #0x18 + cmp r0, #0 + bne _080051E8 + ldr r0, _080051E4 @ =0x0202ADE0 + movs r1, #0 + ldrsh r0, [r0, r1] + bl sub_6F78 + b _080051F2 + .align 2, 0 _080051E4: .4byte 0x0202ADE0 _080051E8: - ldr r0, _080051F8 @ =0x0202ADE0 - movs r1, #0 - ldrsh r0, [r0, r1] - bl sub_8974 + ldr r0, _080051F8 @ =0x0202ADE0 + movs r1, #0 + ldrsh r0, [r0, r1] + bl sub_8974 _080051F2: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _080051F8: .4byte 0x0202ADE0 - thumb_func_start sub_51FC + thumb_func_start sub_51FC sub_51FC: @ 0x080051FC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x18 - ldr r4, _08005348 @ =0x0200B3B8 - adds r7, r4, #0 - adds r7, #0xb8 - movs r0, #0xb8 - lsls r0, r0, #1 - adds r0, r0, r4 - mov r8, r0 - movs r1, #0x8a - lsls r1, r1, #2 - adds r1, r1, r4 - mov sl, r1 - ldr r0, _0800534C @ =0x0201A448 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r2, #0xb8 - adds r1, r0, #0 - muls r1, r2, r1 - movs r3, #0xe6 - lsls r3, r3, #2 - adds r0, r4, r3 - adds r1, r1, r0 - str r1, [sp] - ldr r0, _08005350 @ =0x0202BEFC - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r1, r0, #0 - muls r1, r2, r1 - ldr r3, _08005354 @ =0x00000C38 - adds r0, r4, r3 - adds r1, r1, r0 - mov sb, r1 - ldr r0, _08005358 @ =0x0202BEE0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r1, r0, #0 - muls r1, r2, r1 - movs r3, #0xfd - lsls r3, r3, #4 - adds r0, r4, r3 - adds r1, r1, r0 - str r1, [sp, #4] - ldr r0, _0800535C @ =0x02019C28 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r1, r1, #1 - ldr r0, _08005360 @ =0x0202C5AC - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #0x19 - adds r1, r1, r0 - adds r0, r1, #0 - muls r0, r2, r0 - adds r0, r0, r4 - str r0, [sp, #8] - movs r0, #1 - strh r0, [r4] - strh r0, [r7] - ldr r0, _08005364 @ =0x0202A55C - ldrh r0, [r0] - mov r1, r8 - strh r0, [r1] - ldr r1, _08005368 @ =0x0202A568 - ldrh r0, [r1] - mov r2, sl - strh r0, [r2] - ldrh r0, [r1, #2] - ldr r3, _0800536C @ =0x0200B698 - strh r0, [r3] - ldr r0, _08005370 @ =0x0202A588 - ldrh r0, [r0] - ldr r1, [sp] - strh r0, [r1] - ldr r0, _08005374 @ =0x0202BEC4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov r2, sb - strh r0, [r2] - ldr r0, _08005378 @ =0x0202BF04 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r3, [sp, #4] - strh r0, [r3] - ldr r0, _0800537C @ =0x0202C590 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r1, _08005380 @ =0x0200C4F8 - strh r0, [r1] - ldr r0, _08005384 @ =0x0201C1B4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r2, [sp, #8] - strh r0, [r2] - ldr r0, _08005388 @ =0x086A6148 - movs r1, #0x1d - adds r2, r4, #0 - bl sub_358 - ldr r0, _0800538C @ =0x0201A4F0 - ldrh r0, [r0] - adds r0, #0x14 - strh r0, [r4, #2] - ldr r0, _08005390 @ =0x0202A57C - movs r3, #0 - ldrsh r0, [r0, r3] - lsls r0, r0, #4 - adds r0, #0x54 - strh r0, [r4, #4] - adds r6, r4, #0 - adds r6, #8 - ldr r5, _08005394 @ =0x03005000 - ldrh r1, [r4, #8] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r0, [r1, #5] - movs r2, #0xc - orrs r0, r2 - strb r0, [r1, #5] - ldrh r2, [r4, #8] - lsls r2, r2, #3 - adds r2, r2, r5 - movs r0, #2 - ldrsh r1, [r6, r0] - movs r3, #2 - ldrsh r0, [r4, r3] - adds r1, r1, r0 - ldr r3, _08005398 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _0800539C @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4, #8] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r0, [r4, #4] - ldrb r6, [r6, #4] - adds r0, r0, r6 - strb r0, [r1] - ldr r1, _080053A0 @ =0x0202ADE0 - movs r4, #0 - ldrsh r0, [r1, r4] - cmp r0, #0xc7 - bgt _080053A8 - ldr r4, _080053A4 @ =0x0202BF08 - movs r1, #3 - bl __divsi3 - adds r0, #0x56 - strh r0, [r4] - adds r1, r4, #0 - b _080053AE - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x18 + ldr r4, _08005348 @ =0x0200B3B8 + adds r7, r4, #0 + adds r7, #0xb8 + movs r0, #0xb8 + lsls r0, r0, #1 + adds r0, r0, r4 + mov r8, r0 + movs r1, #0x8a + lsls r1, r1, #2 + adds r1, r1, r4 + mov sl, r1 + ldr r0, _0800534C @ =0x0201A448 + movs r2, #0 + ldrsh r0, [r0, r2] + movs r2, #0xb8 + adds r1, r0, #0 + muls r1, r2, r1 + movs r3, #0xe6 + lsls r3, r3, #2 + adds r0, r4, r3 + adds r1, r1, r0 + str r1, [sp] + ldr r0, _08005350 @ =0x0202BEFC + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r1, r0, #0 + muls r1, r2, r1 + ldr r3, _08005354 @ =0x00000C38 + adds r0, r4, r3 + adds r1, r1, r0 + mov sb, r1 + ldr r0, _08005358 @ =0x0202BEE0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r1, r0, #0 + muls r1, r2, r1 + movs r3, #0xfd + lsls r3, r3, #4 + adds r0, r4, r3 + adds r1, r1, r0 + str r1, [sp, #4] + ldr r0, _0800535C @ =0x02019C28 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r1, r1, #1 + ldr r0, _08005360 @ =0x0202C5AC + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #0x19 + adds r1, r1, r0 + adds r0, r1, #0 + muls r0, r2, r0 + adds r0, r0, r4 + str r0, [sp, #8] + movs r0, #1 + strh r0, [r4] + strh r0, [r7] + ldr r0, _08005364 @ =0x0202A55C + ldrh r0, [r0] + mov r1, r8 + strh r0, [r1] + ldr r1, _08005368 @ =0x0202A568 + ldrh r0, [r1] + mov r2, sl + strh r0, [r2] + ldrh r0, [r1, #2] + ldr r3, _0800536C @ =0x0200B698 + strh r0, [r3] + ldr r0, _08005370 @ =0x0202A588 + ldrh r0, [r0] + ldr r1, [sp] + strh r0, [r1] + ldr r0, _08005374 @ =0x0202BEC4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov r2, sb + strh r0, [r2] + ldr r0, _08005378 @ =0x0202BF04 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldr r3, [sp, #4] + strh r0, [r3] + ldr r0, _0800537C @ =0x0202C590 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldr r1, _08005380 @ =0x0200C4F8 + strh r0, [r1] + ldr r0, _08005384 @ =0x0201C1B4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldr r2, [sp, #8] + strh r0, [r2] + ldr r0, _08005388 @ =0x086A6148 + movs r1, #0x1d + adds r2, r4, #0 + bl sub_358 + ldr r0, _0800538C @ =0x0201A4F0 + ldrh r0, [r0] + adds r0, #0x14 + strh r0, [r4, #2] + ldr r0, _08005390 @ =0x0202A57C + movs r3, #0 + ldrsh r0, [r0, r3] + lsls r0, r0, #4 + adds r0, #0x54 + strh r0, [r4, #4] + adds r6, r4, #0 + adds r6, #8 + ldr r5, _08005394 @ =0x03005000 + ldrh r1, [r4, #8] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r0, [r1, #5] + movs r2, #0xc + orrs r0, r2 + strb r0, [r1, #5] + ldrh r2, [r4, #8] + lsls r2, r2, #3 + adds r2, r2, r5 + movs r0, #2 + ldrsh r1, [r6, r0] + movs r3, #2 + ldrsh r0, [r4, r3] + adds r1, r1, r0 + ldr r3, _08005398 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _0800539C @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4, #8] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r0, [r4, #4] + ldrb r6, [r6, #4] + adds r0, r0, r6 + strb r0, [r1] + ldr r1, _080053A0 @ =0x0202ADE0 + movs r4, #0 + ldrsh r0, [r1, r4] + cmp r0, #0xc7 + bgt _080053A8 + ldr r4, _080053A4 @ =0x0202BF08 + movs r1, #3 + bl __divsi3 + adds r0, #0x56 + strh r0, [r4] + adds r1, r4, #0 + b _080053AE + .align 2, 0 _08005348: .4byte 0x0200B3B8 _0800534C: .4byte 0x0201A448 _08005350: .4byte 0x0202BEFC @@ -9948,234 +9948,234 @@ _0800539C: .4byte 0xFFFFFE00 _080053A0: .4byte 0x0202ADE0 _080053A4: .4byte 0x0202BF08 _080053A8: - ldr r1, _08005564 @ =0x0202BF08 - movs r0, #0x98 - strh r0, [r1] + ldr r1, _08005564 @ =0x0202BF08 + movs r0, #0x98 + strh r0, [r1] _080053AE: - movs r0, #0xd - strh r0, [r7, #2] - ldrh r0, [r1] - strh r0, [r7, #4] - adds r6, r7, #0 - adds r6, #8 - ldr r4, _08005568 @ =0x03005000 - ldrh r1, [r7, #8] - lsls r1, r1, #3 - adds r1, r1, r4 - ldrb r0, [r1, #5] - movs r2, #0xc - orrs r0, r2 - strb r0, [r1, #5] - ldrh r2, [r7, #8] - lsls r2, r2, #3 - adds r2, r2, r4 - movs r3, #2 - ldrsh r1, [r6, r3] - movs r3, #2 - ldrsh r0, [r7, r3] - adds r1, r1, r0 - ldr r3, _0800556C @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _08005570 @ =0xFFFFFE00 - mov ip, r0 - 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] - mov r1, r8 - ldrh r0, [r1] - cmp r0, #1 - bne _0800545E - movs r0, #0x24 - strh r0, [r1, #2] - strh r0, [r1, #4] - adds r5, r4, #0 - mov r4, r8 - adds r4, #8 - movs r6, #5 + movs r0, #0xd + strh r0, [r7, #2] + ldrh r0, [r1] + strh r0, [r7, #4] + adds r6, r7, #0 + adds r6, #8 + ldr r4, _08005568 @ =0x03005000 + ldrh r1, [r7, #8] + lsls r1, r1, #3 + adds r1, r1, r4 + ldrb r0, [r1, #5] + movs r2, #0xc + orrs r0, r2 + strb r0, [r1, #5] + ldrh r2, [r7, #8] + lsls r2, r2, #3 + adds r2, r2, r4 + movs r3, #2 + ldrsh r1, [r6, r3] + movs r3, #2 + ldrsh r0, [r7, r3] + adds r1, r1, r0 + ldr r3, _0800556C @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _08005570 @ =0xFFFFFE00 + mov ip, r0 + 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] + mov r1, r8 + ldrh r0, [r1] + cmp r0, #1 + bne _0800545E + movs r0, #0x24 + strh r0, [r1, #2] + strh r0, [r1, #4] + adds r5, r4, #0 + mov r4, r8 + adds r4, #8 + movs r6, #5 _08005410: - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r5 - ldrb r1, [r2, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r5 - movs r2, #2 - ldrsh r1, [r4, r2] - mov r7, r8 - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - ldr r7, _0800556C @ =0x000001FF - adds r0, r7, #0 - 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, r5 - mov r2, r8 - ldrb r0, [r2, #4] - ldrb r3, [r4, #4] - adds r0, r0, r3 - strb r0, [r1] - adds r4, #8 - subs r6, #1 - cmp r6, #0 - bge _08005410 + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r5 + ldrb r1, [r2, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r5 + movs r2, #2 + ldrsh r1, [r4, r2] + mov r7, r8 + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + ldr r7, _0800556C @ =0x000001FF + adds r0, r7, #0 + 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, r5 + mov r2, r8 + ldrb r0, [r2, #4] + ldrb r3, [r4, #4] + adds r0, r0, r3 + strb r0, [r1] + adds r4, #8 + subs r6, #1 + cmp r6, #0 + bge _08005410 _0800545E: - mov r4, sl - ldrh r0, [r4] - cmp r0, #1 - bne _08005536 - movs r0, #0x24 - strh r0, [r4, #2] - movs r0, #0x1c - strh r0, [r4, #4] - movs r6, #0 - ldr r7, _08005574 @ =0x0202BF0C - mov r8, r7 - ldr r7, _08005568 @ =0x03005000 - mov r5, sl - adds r5, #8 - ldr r0, _08005570 @ =0xFFFFFE00 - mov ip, r0 + mov r4, sl + ldrh r0, [r4] + cmp r0, #1 + bne _08005536 + movs r0, #0x24 + strh r0, [r4, #2] + movs r0, #0x1c + strh r0, [r4, #4] + movs r6, #0 + ldr r7, _08005574 @ =0x0202BF0C + mov r8, r7 + ldr r7, _08005568 @ =0x03005000 + mov r5, sl + adds r5, #8 + ldr r0, _08005570 @ =0xFFFFFE00 + mov ip, r0 _0800547E: - ldrh r2, [r5] - lsls r2, r2, #3 - adds r2, r2, r7 - ldrb r1, [r2, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r4, [r5] - lsls r4, r4, #3 - adds r4, r4, r7 - lsls r3, r6, #1 - ldr r1, _08005578 @ =0x0202BF14 - movs r0, #0 - ldrsh r2, [r1, r0] - lsls r0, r2, #3 - adds r3, r3, r0 - ldr r1, _0800557C @ =0x086A5DDA - adds r3, r3, r1 - str r3, [sp, #0x14] - mov r3, r8 - movs r0, #0 - ldrsh r1, [r3, r0] - lsls r1, r1, #1 - lsls r0, r2, #2 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldr r2, _08005580 @ =0x086A5DF2 - adds r1, r1, r2 - ldrh r1, [r1] - ldr r3, [sp, #0x14] - ldrh r3, [r3] - adds r1, r1, r3 - ldr r2, _08005584 @ =0x000003FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r4, #4] - ldr r0, _08005588 @ =0xFFFFFC00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, #4] - ldrh r3, [r5] - lsls r3, r3, #3 - adds r3, r3, r7 - movs r4, #2 - ldrsh r1, [r5, r4] - mov r2, sl - movs r4, #2 - ldrsh r0, [r2, r4] - adds r1, r1, r0 - ldr r2, _0800556C @ =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 - mov r3, sl - ldrb r0, [r3, #4] - ldrb r4, [r5, #4] - adds r0, r0, r4 - strb r0, [r1] - adds r5, #8 - adds r6, #1 - cmp r6, #3 - ble _0800547E - ldr r7, _0800558C @ =0x0201A440 - ldrh r0, [r7] - adds r0, #1 - strh r0, [r7] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xe - ble _08005536 - movs r1, #0 - strh r1, [r7] - mov r2, r8 - ldrh r0, [r2] - adds r0, #1 - strh r0, [r2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #8 - ble _08005536 - strh r1, [r2] + ldrh r2, [r5] + lsls r2, r2, #3 + adds r2, r2, r7 + ldrb r1, [r2, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r4, [r5] + lsls r4, r4, #3 + adds r4, r4, r7 + lsls r3, r6, #1 + ldr r1, _08005578 @ =0x0202BF14 + movs r0, #0 + ldrsh r2, [r1, r0] + lsls r0, r2, #3 + adds r3, r3, r0 + ldr r1, _0800557C @ =0x086A5DDA + adds r3, r3, r1 + str r3, [sp, #0x14] + mov r3, r8 + movs r0, #0 + ldrsh r1, [r3, r0] + lsls r1, r1, #1 + lsls r0, r2, #2 + adds r0, r0, r2 + lsls r0, r0, #3 + adds r1, r1, r0 + ldr r2, _08005580 @ =0x086A5DF2 + adds r1, r1, r2 + ldrh r1, [r1] + ldr r3, [sp, #0x14] + ldrh r3, [r3] + adds r1, r1, r3 + ldr r2, _08005584 @ =0x000003FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r4, #4] + ldr r0, _08005588 @ =0xFFFFFC00 + ands r0, r2 + orrs r0, r1 + strh r0, [r4, #4] + ldrh r3, [r5] + lsls r3, r3, #3 + adds r3, r3, r7 + movs r4, #2 + ldrsh r1, [r5, r4] + mov r2, sl + movs r4, #2 + ldrsh r0, [r2, r4] + adds r1, r1, r0 + ldr r2, _0800556C @ =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 + mov r3, sl + ldrb r0, [r3, #4] + ldrb r4, [r5, #4] + adds r0, r0, r4 + strb r0, [r1] + adds r5, #8 + adds r6, #1 + cmp r6, #3 + ble _0800547E + ldr r7, _0800558C @ =0x0201A440 + ldrh r0, [r7] + adds r0, #1 + strh r0, [r7] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xe + ble _08005536 + movs r1, #0 + strh r1, [r7] + mov r2, r8 + ldrh r0, [r2] + adds r0, #1 + strh r0, [r2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #8 + ble _08005536 + strh r1, [r2] _08005536: - ldr r3, _08005590 @ =0x0200B698 - ldrh r0, [r3] - cmp r0, #1 - beq _08005540 - b _0800568A + ldr r3, _08005590 @ =0x0200B698 + ldrh r0, [r3] + cmp r0, #1 + beq _08005540 + b _0800568A _08005540: - ldr r1, _08005594 @ =0x086A6356 - ldr r0, _08005598 @ =0x0202ADE0 - movs r4, #0 - ldrsh r0, [r0, r4] - lsls r0, r0, #1 - adds r0, r0, r1 - movs r7, #0 - ldrsh r1, [r0, r7] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _0800559C - movs r0, #1 - str r0, [sp, #0x10] - movs r1, #0x24 - str r1, [sp, #0xc] - b _080055A4 - .align 2, 0 + ldr r1, _08005594 @ =0x086A6356 + ldr r0, _08005598 @ =0x0202ADE0 + movs r4, #0 + ldrsh r0, [r0, r4] + lsls r0, r0, #1 + adds r0, r0, r1 + movs r7, #0 + ldrsh r1, [r0, r7] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + bne _0800559C + movs r0, #1 + str r0, [sp, #0x10] + movs r1, #0x24 + str r1, [sp, #0xc] + b _080055A4 + .align 2, 0 _08005564: .4byte 0x0202BF08 _08005568: .4byte 0x03005000 _0800556C: .4byte 0x000001FF @@ -10191,240 +10191,240 @@ _08005590: .4byte 0x0200B698 _08005594: .4byte 0x086A6356 _08005598: .4byte 0x0202ADE0 _0800559C: - movs r2, #2 - str r2, [sp, #0x10] - movs r3, #0x30 - str r3, [sp, #0xc] + movs r2, #2 + str r2, [sp, #0x10] + movs r3, #0x30 + str r3, [sp, #0xc] _080055A4: - movs r0, #0x30 - ldr r4, _08005760 @ =0x0200B698 - strh r0, [r4, #2] - movs r0, #0x28 - strh r0, [r4, #4] - movs r6, #0 - ldr r7, _08005764 @ =0x0202BF0C - mov r8, r7 - ldr r0, [sp, #0x10] - lsls r0, r0, #3 - mov sl, r0 - ldr r5, _08005768 @ =0x03005000 - adds r4, #8 - movs r0, #0x66 - ldr r2, [sp, #0x10] - adds r1, r2, #0 - muls r1, r0, r1 - mov ip, r1 + movs r0, #0x30 + ldr r4, _08005760 @ =0x0200B698 + strh r0, [r4, #2] + movs r0, #0x28 + strh r0, [r4, #4] + movs r6, #0 + ldr r7, _08005764 @ =0x0202BF0C + mov r8, r7 + ldr r0, [sp, #0x10] + lsls r0, r0, #3 + mov sl, r0 + ldr r5, _08005768 @ =0x03005000 + adds r4, #8 + movs r0, #0x66 + ldr r2, [sp, #0x10] + adds r1, r2, #0 + muls r1, r0, r1 + mov ip, r1 _080055C8: - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r5 - ldrb r1, [r2, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r5 - lsls r2, r6, #1 - add r2, sl - ldr r7, _0800576C @ =0x086A5DDA - adds r2, r2, r7 - mov r1, r8 - movs r7, #0 - ldrsh r0, [r1, r7] - lsls r0, r0, #1 - add r0, ip - ldr r1, _08005770 @ =0x086A5EE2 - adds r0, r0, r1 - ldrh r1, [r0] - ldrh r2, [r2] - adds r1, r1, r2 - ldr r2, _08005774 @ =0x000003FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #4] - ldr r0, _08005778 @ =0xFFFFFC00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #4] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r5 - movs r7, #2 - ldrsh r1, [r4, r7] - ldr r2, _08005760 @ =0x0200B698 - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _0800577C @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _08005780 @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r5 - ldr r3, _08005760 @ =0x0200B698 - ldrb r0, [r3, #4] - ldrb r7, [r4, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r4, #8 - adds r6, #1 - cmp r6, #3 - ble _080055C8 - ldr r0, _08005784 @ =0x0201A440 - ldrh r1, [r0] - adds r1, #1 - strh r1, [r0] - mov r2, r8 - movs r3, #0 - ldrsh r0, [r2, r3] - lsls r0, r0, #1 - movs r2, #0x66 - ldr r4, [sp, #0x10] - muls r2, r4, r2 - adds r0, r0, r2 - ldr r7, _08005788 @ =0x086A6014 - adds r0, r0, r7 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r1, r0 - ble _0800568A - movs r1, #0 - ldr r3, _08005784 @ =0x0201A440 - strh r1, [r3] - mov r4, r8 - ldrh r0, [r4] - adds r0, #1 - strh r0, [r4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldr r7, [sp, #0xc] - cmp r0, r7 - ble _0800568A - strh r1, [r4] + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r5 + ldrb r1, [r2, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r5 + lsls r2, r6, #1 + add r2, sl + ldr r7, _0800576C @ =0x086A5DDA + adds r2, r2, r7 + mov r1, r8 + movs r7, #0 + ldrsh r0, [r1, r7] + lsls r0, r0, #1 + add r0, ip + ldr r1, _08005770 @ =0x086A5EE2 + adds r0, r0, r1 + ldrh r1, [r0] + ldrh r2, [r2] + adds r1, r1, r2 + ldr r2, _08005774 @ =0x000003FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #4] + ldr r0, _08005778 @ =0xFFFFFC00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #4] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r5 + movs r7, #2 + ldrsh r1, [r4, r7] + ldr r2, _08005760 @ =0x0200B698 + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _0800577C @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _08005780 @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r5 + ldr r3, _08005760 @ =0x0200B698 + ldrb r0, [r3, #4] + ldrb r7, [r4, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r4, #8 + adds r6, #1 + cmp r6, #3 + ble _080055C8 + ldr r0, _08005784 @ =0x0201A440 + ldrh r1, [r0] + adds r1, #1 + strh r1, [r0] + mov r2, r8 + movs r3, #0 + ldrsh r0, [r2, r3] + lsls r0, r0, #1 + movs r2, #0x66 + ldr r4, [sp, #0x10] + muls r2, r4, r2 + adds r0, r0, r2 + ldr r7, _08005788 @ =0x086A6014 + adds r0, r0, r7 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r1, r0 + ble _0800568A + movs r1, #0 + ldr r3, _08005784 @ =0x0201A440 + strh r1, [r3] + mov r4, r8 + ldrh r0, [r4] + adds r0, #1 + strh r0, [r4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldr r7, [sp, #0xc] + cmp r0, r7 + ble _0800568A + strh r1, [r4] _0800568A: - ldr r1, [sp] - ldrh r0, [r1] - cmp r0, #1 - bne _0800573C - movs r0, #0x24 - strh r0, [r1, #2] - movs r0, #0x40 - strh r0, [r1, #4] - ldr r2, _0800578C @ =0x086A6148 - ldr r1, _08005790 @ =0x0201A448 - movs r3, #0 - ldrsh r0, [r1, r3] - adds r0, #5 - lsls r0, r0, #2 - adds r0, r0, r2 - ldr r5, [r0] - movs r6, #0 - mov r8, r1 - ldr r4, _08005794 @ =0x0202BF00 - mov ip, r4 - ldrh r7, [r5] - cmp r6, r7 - bge _08005716 - ldr r0, _08005780 @ =0xFFFFFE00 - mov sl, r0 - ldr r4, [sp] - adds r4, #8 + ldr r1, [sp] + ldrh r0, [r1] + cmp r0, #1 + bne _0800573C + movs r0, #0x24 + strh r0, [r1, #2] + movs r0, #0x40 + strh r0, [r1, #4] + ldr r2, _0800578C @ =0x086A6148 + ldr r1, _08005790 @ =0x0201A448 + movs r3, #0 + ldrsh r0, [r1, r3] + adds r0, #5 + lsls r0, r0, #2 + adds r0, r0, r2 + ldr r5, [r0] + movs r6, #0 + mov r8, r1 + ldr r4, _08005794 @ =0x0202BF00 + mov ip, r4 + ldrh r7, [r5] + cmp r6, r7 + bge _08005716 + ldr r0, _08005780 @ =0xFFFFFE00 + mov sl, r0 + ldr r4, [sp] + adds r4, #8 _080056C0: - ldrh r2, [r4] - lsls r2, r2, #3 - ldr r1, _08005768 @ =0x03005000 - adds r2, r2, r1 - ldrb r1, [r2, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - ldr r2, _08005768 @ =0x03005000 - adds r3, r3, r2 - movs r7, #2 - ldrsh r1, [r4, r7] - ldr r2, [sp] - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _0800577C @ =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, [r4] - lsls r1, r1, #3 - ldr r3, _08005768 @ =0x03005000 - adds r1, r1, r3 - ldr r7, [sp] - ldrb r0, [r7, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - adds r6, #1 - ldrh r3, [r5] - cmp r6, r3 - blt _080056C0 + ldrh r2, [r4] + lsls r2, r2, #3 + ldr r1, _08005768 @ =0x03005000 + adds r2, r2, r1 + ldrb r1, [r2, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + ldr r2, _08005768 @ =0x03005000 + adds r3, r3, r2 + movs r7, #2 + ldrsh r1, [r4, r7] + ldr r2, [sp] + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _0800577C @ =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, [r4] + lsls r1, r1, #3 + ldr r3, _08005768 @ =0x03005000 + adds r1, r1, r3 + ldr r7, [sp] + ldrb r0, [r7, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + adds r6, #1 + ldrh r3, [r5] + cmp r6, r3 + blt _080056C0 _08005716: - mov r4, ip - ldrh r0, [r4] - adds r0, #1 - strh r0, [r4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #8 - ble _0800573C - movs r1, #0 - strh r1, [r4] - mov r7, r8 - ldrh r0, [r7] - adds r0, #1 - strh r0, [r7] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb - ble _0800573C - strh r1, [r7] + mov r4, ip + ldrh r0, [r4] + adds r0, #1 + strh r0, [r4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #8 + ble _0800573C + movs r1, #0 + strh r1, [r4] + mov r7, r8 + ldrh r0, [r7] + adds r0, #1 + strh r0, [r7] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb + ble _0800573C + strh r1, [r7] _0800573C: - mov r1, sb - ldrh r0, [r1] - cmp r0, #1 - bne _08005818 - ldr r0, _08005798 @ =0x0202BEFC - movs r1, #0 - ldrsb r1, [r0, r1] - adds r2, r0, #0 - cmp r1, #0 - beq _08005754 - cmp r1, #4 - bne _0800579C + mov r1, sb + ldrh r0, [r1] + cmp r0, #1 + bne _08005818 + ldr r0, _08005798 @ =0x0202BEFC + movs r1, #0 + ldrsb r1, [r0, r1] + adds r2, r0, #0 + cmp r1, #0 + beq _08005754 + cmp r1, #4 + bne _0800579C _08005754: - movs r0, #0x78 - mov r3, sb - strh r0, [r3, #2] - movs r0, #0x64 - strh r0, [r3, #4] - b _080057A6 - .align 2, 0 + movs r0, #0x78 + mov r3, sb + strh r0, [r3, #2] + movs r0, #0x64 + strh r0, [r3, #4] + b _080057A6 + .align 2, 0 _08005760: .4byte 0x0200B698 _08005764: .4byte 0x0202BF0C _08005768: .4byte 0x03005000 @@ -10441,256 +10441,256 @@ _08005790: .4byte 0x0201A448 _08005794: .4byte 0x0202BF00 _08005798: .4byte 0x0202BEFC _0800579C: - movs r0, #0x78 - mov r4, sb - strh r0, [r4, #2] - movs r0, #0x50 - strh r0, [r4, #4] + movs r0, #0x78 + mov r4, sb + strh r0, [r4, #2] + movs r0, #0x50 + strh r0, [r4, #4] _080057A6: - ldr r1, _0800597C @ =0x086A6148 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, #0x11 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r5, [r0] - movs r6, #0 - ldrh r7, [r5] - cmp r6, r7 - bge _08005818 - ldr r0, _08005980 @ =0x03005000 - mov ip, r0 - movs r1, #0xd - rsbs r1, r1, #0 - mov sl, r1 - ldr r2, _08005984 @ =0xFFFFFE00 - mov r8, r2 - mov r4, sb - adds r4, #8 + ldr r1, _0800597C @ =0x086A6148 + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, #0x11 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r5, [r0] + movs r6, #0 + ldrh r7, [r5] + cmp r6, r7 + bge _08005818 + ldr r0, _08005980 @ =0x03005000 + mov ip, r0 + movs r1, #0xd + rsbs r1, r1, #0 + mov sl, r1 + ldr r2, _08005984 @ =0xFFFFFE00 + mov r8, r2 + mov r4, sb + adds r4, #8 _080057CE: - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, ip - ldrb r2, [r1, #5] - mov r0, sl - ands r0, r2 - strb r0, [r1, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, ip - movs r7, #2 - ldrsh r1, [r4, r7] - mov r2, sb - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _08005988 @ =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, [r4] - lsls r1, r1, #3 - add r1, ip - mov r3, sb - ldrb r0, [r3, #4] - ldrb r7, [r4, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r4, #8 - adds r6, #1 - ldrh r0, [r5] - cmp r6, r0 - blt _080057CE + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, ip + ldrb r2, [r1, #5] + mov r0, sl + ands r0, r2 + strb r0, [r1, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, ip + movs r7, #2 + ldrsh r1, [r4, r7] + mov r2, sb + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _08005988 @ =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, [r4] + lsls r1, r1, #3 + add r1, ip + mov r3, sb + ldrb r0, [r3, #4] + ldrb r7, [r4, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r4, #8 + adds r6, #1 + ldrh r0, [r5] + cmp r6, r0 + blt _080057CE _08005818: - ldr r1, [sp, #4] - ldrh r0, [r1] - cmp r0, #1 - bne _0800588A - movs r0, #0x9e - strh r0, [r1, #2] - movs r0, #0x94 - strh r0, [r1, #4] - ldr r1, _0800597C @ =0x086A6148 - ldr r0, _0800598C @ =0x0202BEE0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #0x16 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r5, [r0] - movs r6, #0 - ldrh r2, [r5] - cmp r6, r2 - bge _0800588A - ldr r3, _08005980 @ =0x03005000 - mov sl, r3 - ldr r4, _08005984 @ =0xFFFFFE00 - mov r8, r4 - ldr r4, [sp, #4] - adds r4, #8 + ldr r1, [sp, #4] + ldrh r0, [r1] + cmp r0, #1 + bne _0800588A + movs r0, #0x9e + strh r0, [r1, #2] + movs r0, #0x94 + strh r0, [r1, #4] + ldr r1, _0800597C @ =0x086A6148 + ldr r0, _0800598C @ =0x0202BEE0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #0x16 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r5, [r0] + movs r6, #0 + ldrh r2, [r5] + cmp r6, r2 + bge _0800588A + ldr r3, _08005980 @ =0x03005000 + mov sl, r3 + ldr r4, _08005984 @ =0xFFFFFE00 + mov r8, r4 + ldr r4, [sp, #4] + adds r4, #8 _0800584E: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, sl - movs r7, #2 - ldrsh r1, [r4, r7] - ldr r2, [sp, #4] - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _08005988 @ =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, [r4] - lsls r1, r1, #3 - add r1, sl - ldr r3, [sp, #4] - ldrb r0, [r3, #4] - ldrb r7, [r4, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r4, #8 - adds r6, #1 - ldrh r0, [r5] - cmp r6, r0 - blt _0800584E + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, sl + movs r7, #2 + ldrsh r1, [r4, r7] + ldr r2, [sp, #4] + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _08005988 @ =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, [r4] + lsls r1, r1, #3 + add r1, sl + ldr r3, [sp, #4] + ldrb r0, [r3, #4] + ldrb r7, [r4, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r4, #8 + adds r6, #1 + ldrh r0, [r5] + cmp r6, r0 + blt _0800584E _0800588A: - ldr r1, _08005990 @ =0x0200C4F8 - ldrh r0, [r1] - cmp r0, #1 - bne _080058EE - movs r0, #0xa8 - strh r0, [r1, #2] - movs r0, #0x54 - strh r0, [r1, #4] - ldr r5, _08005980 @ =0x03005000 - ldr r2, _08005984 @ =0xFFFFFE00 - mov r8, r2 - adds r4, r1, #0 - adds r4, #8 - movs r6, #2 + ldr r1, _08005990 @ =0x0200C4F8 + ldrh r0, [r1] + cmp r0, #1 + bne _080058EE + movs r0, #0xa8 + strh r0, [r1, #2] + movs r0, #0x54 + strh r0, [r1, #4] + ldr r5, _08005980 @ =0x03005000 + ldr r2, _08005984 @ =0xFFFFFE00 + mov r8, r2 + adds r4, r1, #0 + adds r4, #8 + movs r6, #2 _080058A6: - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r5 - ldrb r0, [r2, #5] - movs r1, #0xc - orrs r0, r1 - strb r0, [r2, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r5 - movs r7, #2 - ldrsh r1, [r4, r7] - ldr r2, _08005990 @ =0x0200C4F8 - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _08005988 @ =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, [r4] - lsls r1, r1, #3 - adds r1, r1, r5 - ldr r3, _08005990 @ =0x0200C4F8 - ldrb r0, [r3, #4] - ldrb r7, [r4, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r4, #8 - subs r6, #1 - cmp r6, #0 - bge _080058A6 + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r5 + ldrb r0, [r2, #5] + movs r1, #0xc + orrs r0, r1 + strb r0, [r2, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r5 + movs r7, #2 + ldrsh r1, [r4, r7] + ldr r2, _08005990 @ =0x0200C4F8 + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _08005988 @ =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, [r4] + lsls r1, r1, #3 + adds r1, r1, r5 + ldr r3, _08005990 @ =0x0200C4F8 + ldrb r0, [r3, #4] + ldrb r7, [r4, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r4, #8 + subs r6, #1 + cmp r6, #0 + bge _080058A6 _080058EE: - ldr r1, [sp, #8] - ldrh r0, [r1] - cmp r0, #1 - bne _08005932 - movs r0, #0x78 - strh r0, [r1, #2] - movs r0, #0x84 - strh r0, [r1, #4] - adds r6, r1, #0 - adds r6, #8 - ldrh r2, [r1, #8] - lsls r2, r2, #3 - ldr r3, _08005980 @ =0x03005000 - adds r2, r2, r3 - movs r4, #2 - ldrsh r1, [r6, r4] - adds r1, #0x78 - ldr r7, _08005988 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _08005984 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldr r0, [sp, #8] - ldrh r1, [r0, #8] - lsls r1, r1, #3 - ldr r2, _08005980 @ =0x03005000 - adds r1, r1, r2 - ldrb r0, [r0, #4] - ldrb r6, [r6, #4] - adds r0, r0, r6 - strb r0, [r1] + ldr r1, [sp, #8] + ldrh r0, [r1] + cmp r0, #1 + bne _08005932 + movs r0, #0x78 + strh r0, [r1, #2] + movs r0, #0x84 + strh r0, [r1, #4] + adds r6, r1, #0 + adds r6, #8 + ldrh r2, [r1, #8] + lsls r2, r2, #3 + ldr r3, _08005980 @ =0x03005000 + adds r2, r2, r3 + movs r4, #2 + ldrsh r1, [r6, r4] + adds r1, #0x78 + ldr r7, _08005988 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _08005984 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldr r0, [sp, #8] + ldrh r1, [r0, #8] + lsls r1, r1, #3 + ldr r2, _08005980 @ =0x03005000 + adds r1, r1, r2 + ldrb r0, [r0, #4] + ldrb r6, [r6, #4] + adds r0, r0, r6 + strb r0, [r1] _08005932: - ldr r3, _08005994 @ =0x0202BE20 - ldrh r0, [r3] - adds r0, #1 - strh r0, [r3] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc - ble _0800595A - movs r0, #0 - strh r0, [r3] - ldr r2, _08005998 @ =0x0201A4F0 - ldrh r1, [r2] - movs r0, #1 - subs r0, r0, r1 - strh r0, [r2] - ldr r2, _0800598C @ =0x0202BEE0 - ldrb r1, [r2] - movs r0, #1 - subs r0, r0, r1 - strb r0, [r2] + ldr r3, _08005994 @ =0x0202BE20 + ldrh r0, [r3] + adds r0, #1 + strh r0, [r3] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xc + ble _0800595A + movs r0, #0 + strh r0, [r3] + ldr r2, _08005998 @ =0x0201A4F0 + ldrh r1, [r2] + movs r0, #1 + subs r0, r0, r1 + strh r0, [r2] + ldr r2, _0800598C @ =0x0202BEE0 + ldrb r1, [r2] + movs r0, #1 + subs r0, r0, r1 + strb r0, [r2] _0800595A: - movs r0, #0 - ldr r4, [sp] - strh r0, [r4] - mov r7, sb - strh r0, [r7] - ldr r1, [sp, #4] - strh r0, [r1] - ldr r2, [sp, #8] - strh r0, [r2] - 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 + movs r0, #0 + ldr r4, [sp] + strh r0, [r4] + mov r7, sb + strh r0, [r7] + ldr r1, [sp, #4] + strh r0, [r1] + ldr r2, [sp, #8] + strh r0, [r2] + 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 _0800597C: .4byte 0x086A6148 _08005980: .4byte 0x03005000 _08005984: .4byte 0xFFFFFE00 @@ -10700,448 +10700,448 @@ _08005990: .4byte 0x0200C4F8 _08005994: .4byte 0x0202BE20 _08005998: .4byte 0x0201A4F0 - thumb_func_start sub_599C + thumb_func_start sub_599C sub_599C: @ 0x0800599C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0xc - ldr r7, _08005CFC @ =0x0200B3B8 - adds r6, r7, #0 - adds r6, #0xb8 - ldr r0, _08005D00 @ =0x0201A448 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r2, #0xb8 - adds r1, r0, #0 - muls r1, r2, r1 - movs r3, #0xe6 - lsls r3, r3, #2 - adds r0, r7, r3 - adds r1, r1, r0 - str r1, [sp] - ldr r0, _08005D04 @ =0x0202BEFC - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r1, r0, #0 - muls r1, r2, r1 - ldr r4, _08005D08 @ =0x00000C38 - adds r0, r7, r4 - adds r1, r1, r0 - str r1, [sp, #4] - movs r2, #0 - movs r0, #1 - strh r0, [r7] - strh r0, [r6] - ldr r0, _08005D0C @ =0x0202A55C - ldrh r0, [r0] - ldr r5, _08005D10 @ =0x0200B528 - strh r0, [r5] - ldr r1, _08005D14 @ =0x0202A568 - ldrh r0, [r1] - ldr r3, _08005D18 @ =0x0200B5E0 - strh r0, [r3] - ldrh r0, [r1, #2] - ldr r4, _08005D1C @ =0x0200B698 - strh r0, [r4] - ldr r5, [sp] - strh r2, [r5] - ldr r0, _08005D20 @ =0x0202BEC4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r1, [sp, #4] - strh r0, [r1] - ldr r0, _08005D24 @ =0x0202C590 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r2, _08005D28 @ =0x0200C4F8 - strh r0, [r2] - ldr r0, _08005D2C @ =0x086A6148 - movs r1, #0x1d - adds r2, r7, #0 - bl sub_2414 - ldr r0, _08005D30 @ =0x0201A4F0 - ldrh r0, [r0] - adds r0, #0x14 - strh r0, [r7, #2] - ldr r0, _08005D34 @ =0x0202A57C - movs r3, #0 - ldrsh r0, [r0, r3] - lsls r0, r0, #4 - adds r0, #0x54 - strh r0, [r7, #4] - adds r5, r7, #0 - adds r5, #8 - ldr r4, _08005D38 @ =0x03005000 - mov sl, r4 - ldrh r1, [r7, #8] - lsls r1, r1, #3 - add r1, sl - ldrb r2, [r1, #5] - movs r4, #0xd - rsbs r4, r4, #0 - adds r0, r4, #0 - ands r0, r2 - movs r2, #8 - mov sb, r2 - mov r3, sb - orrs r0, r3 - strb r0, [r1, #5] - ldrh r2, [r7, #8] - lsls r2, r2, #3 - add r2, sl - movs r0, #2 - ldrsh r1, [r5, r0] - movs r3, #2 - ldrsh r0, [r7, r3] - adds r1, r1, r0 - ldr r0, _08005D3C @ =0x000001FF - mov r8, r0 - mov r3, r8 - ands r1, r3 - ldrh r3, [r2, #2] - ldr r0, _08005D40 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r7, #8] - lsls r1, r1, #3 - add r1, sl - ldrb r0, [r7, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] - ldr r5, _08005D44 @ =0x0202BF08 - ldr r0, _08005D48 @ =0x0202ADE0 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #3 - bl __divsi3 - adds r0, #0x56 - strh r0, [r5] - movs r1, #0xd - strh r1, [r6, #2] - strh r0, [r6, #4] - adds r5, r7, #0 - adds r5, #0xc0 - ldrh r0, [r5] - lsls r0, r0, #3 - add r0, sl - ldrb r1, [r0, #5] - ands r4, r1 - mov r2, sb - orrs r4, r2 - strb r4, [r0, #5] - ldrh r2, [r5] - lsls r2, r2, #3 - add r2, sl - movs r3, #2 - ldrsh r1, [r5, r3] - movs r4, #2 - ldrsh r0, [r6, r4] - adds r1, r1, r0 - mov r0, r8 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _08005D40 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, sl - ldrb r0, [r6, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] - ldr r1, _08005D10 @ =0x0200B528 - ldrh r0, [r1] - cmp r0, #1 - bne _08005B30 - movs r0, #0x24 - strh r0, [r1, #2] - strh r0, [r1, #4] - mov r4, sl - ldr r2, _08005D40 @ =0xFFFFFE00 - mov r8, r2 - movs r3, #0xbc - lsls r3, r3, #1 - adds r6, r7, r3 - movs r7, #5 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0xc + ldr r7, _08005CFC @ =0x0200B3B8 + adds r6, r7, #0 + adds r6, #0xb8 + ldr r0, _08005D00 @ =0x0201A448 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r2, #0xb8 + adds r1, r0, #0 + muls r1, r2, r1 + movs r3, #0xe6 + lsls r3, r3, #2 + adds r0, r7, r3 + adds r1, r1, r0 + str r1, [sp] + ldr r0, _08005D04 @ =0x0202BEFC + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r1, r0, #0 + muls r1, r2, r1 + ldr r4, _08005D08 @ =0x00000C38 + adds r0, r7, r4 + adds r1, r1, r0 + str r1, [sp, #4] + movs r2, #0 + movs r0, #1 + strh r0, [r7] + strh r0, [r6] + ldr r0, _08005D0C @ =0x0202A55C + ldrh r0, [r0] + ldr r5, _08005D10 @ =0x0200B528 + strh r0, [r5] + ldr r1, _08005D14 @ =0x0202A568 + ldrh r0, [r1] + ldr r3, _08005D18 @ =0x0200B5E0 + strh r0, [r3] + ldrh r0, [r1, #2] + ldr r4, _08005D1C @ =0x0200B698 + strh r0, [r4] + ldr r5, [sp] + strh r2, [r5] + ldr r0, _08005D20 @ =0x0202BEC4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldr r1, [sp, #4] + strh r0, [r1] + ldr r0, _08005D24 @ =0x0202C590 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldr r2, _08005D28 @ =0x0200C4F8 + strh r0, [r2] + ldr r0, _08005D2C @ =0x086A6148 + movs r1, #0x1d + adds r2, r7, #0 + bl sub_2414 + ldr r0, _08005D30 @ =0x0201A4F0 + ldrh r0, [r0] + adds r0, #0x14 + strh r0, [r7, #2] + ldr r0, _08005D34 @ =0x0202A57C + movs r3, #0 + ldrsh r0, [r0, r3] + lsls r0, r0, #4 + adds r0, #0x54 + strh r0, [r7, #4] + adds r5, r7, #0 + adds r5, #8 + ldr r4, _08005D38 @ =0x03005000 + mov sl, r4 + ldrh r1, [r7, #8] + lsls r1, r1, #3 + add r1, sl + ldrb r2, [r1, #5] + movs r4, #0xd + rsbs r4, r4, #0 + adds r0, r4, #0 + ands r0, r2 + movs r2, #8 + mov sb, r2 + mov r3, sb + orrs r0, r3 + strb r0, [r1, #5] + ldrh r2, [r7, #8] + lsls r2, r2, #3 + add r2, sl + movs r0, #2 + ldrsh r1, [r5, r0] + movs r3, #2 + ldrsh r0, [r7, r3] + adds r1, r1, r0 + ldr r0, _08005D3C @ =0x000001FF + mov r8, r0 + mov r3, r8 + ands r1, r3 + ldrh r3, [r2, #2] + ldr r0, _08005D40 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r7, #8] + lsls r1, r1, #3 + add r1, sl + ldrb r0, [r7, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] + ldr r5, _08005D44 @ =0x0202BF08 + ldr r0, _08005D48 @ =0x0202ADE0 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r1, #3 + bl __divsi3 + adds r0, #0x56 + strh r0, [r5] + movs r1, #0xd + strh r1, [r6, #2] + strh r0, [r6, #4] + adds r5, r7, #0 + adds r5, #0xc0 + ldrh r0, [r5] + lsls r0, r0, #3 + add r0, sl + ldrb r1, [r0, #5] + ands r4, r1 + mov r2, sb + orrs r4, r2 + strb r4, [r0, #5] + ldrh r2, [r5] + lsls r2, r2, #3 + add r2, sl + movs r3, #2 + ldrsh r1, [r5, r3] + movs r4, #2 + ldrsh r0, [r6, r4] + adds r1, r1, r0 + mov r0, r8 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _08005D40 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, sl + ldrb r0, [r6, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] + ldr r1, _08005D10 @ =0x0200B528 + ldrh r0, [r1] + cmp r0, #1 + bne _08005B30 + movs r0, #0x24 + strh r0, [r1, #2] + strh r0, [r1, #4] + mov r4, sl + ldr r2, _08005D40 @ =0xFFFFFE00 + mov r8, r2 + movs r3, #0xbc + lsls r3, r3, #1 + adds r6, r7, r3 + movs r7, #5 _08005AF6: - ldrh r3, [r6] - lsls r3, r3, #3 - adds r3, r3, r4 - movs r5, #2 - ldrsh r1, [r6, r5] - ldr r2, _08005D10 @ =0x0200B528 - movs r5, #2 - ldrsh r0, [r2, r5] - adds r1, r1, r0 - ldr r2, _08005D3C @ =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 - ldr r3, _08005D10 @ =0x0200B528 - ldrb r0, [r3, #4] - ldrb r5, [r6, #4] - adds r0, r0, r5 - strb r0, [r1] - adds r6, #8 - subs r7, #1 - cmp r7, #0 - bge _08005AF6 + ldrh r3, [r6] + lsls r3, r3, #3 + adds r3, r3, r4 + movs r5, #2 + ldrsh r1, [r6, r5] + ldr r2, _08005D10 @ =0x0200B528 + movs r5, #2 + ldrsh r0, [r2, r5] + adds r1, r1, r0 + ldr r2, _08005D3C @ =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 + ldr r3, _08005D10 @ =0x0200B528 + ldrb r0, [r3, #4] + ldrb r5, [r6, #4] + adds r0, r0, r5 + strb r0, [r1] + adds r6, #8 + subs r7, #1 + cmp r7, #0 + bge _08005AF6 _08005B30: - ldr r6, _08005D18 @ =0x0200B5E0 - ldrh r0, [r6] - cmp r0, #1 - bne _08005BD4 - movs r0, #0x24 - strh r0, [r6, #2] - movs r0, #0x1c - strh r0, [r6, #4] - movs r7, #0 - ldr r0, _08005D4C @ =0x0202BF0C - mov ip, r0 - ldr r6, _08005D38 @ =0x03005000 - ldr r1, _08005D50 @ =0x086A5DF2 - mov sb, r1 - ldr r2, _08005D54 @ =0xFFFFFC00 - mov sl, r2 - ldr r5, _08005D18 @ =0x0200B5E0 - adds r5, #8 - ldr r3, _08005D40 @ =0xFFFFFE00 - mov r8, r3 + ldr r6, _08005D18 @ =0x0200B5E0 + ldrh r0, [r6] + cmp r0, #1 + bne _08005BD4 + movs r0, #0x24 + strh r0, [r6, #2] + movs r0, #0x1c + strh r0, [r6, #4] + movs r7, #0 + ldr r0, _08005D4C @ =0x0202BF0C + mov ip, r0 + ldr r6, _08005D38 @ =0x03005000 + ldr r1, _08005D50 @ =0x086A5DF2 + mov sb, r1 + ldr r2, _08005D54 @ =0xFFFFFC00 + mov sl, r2 + ldr r5, _08005D18 @ =0x0200B5E0 + adds r5, #8 + ldr r3, _08005D40 @ =0xFFFFFE00 + mov r8, r3 _08005B58: - ldrh r4, [r5] - lsls r4, r4, #3 - adds r4, r4, r6 - lsls r3, r7, #1 - ldr r0, _08005D58 @ =0x0202BF14 - movs r1, #0 - ldrsh r2, [r0, r1] - lsls r0, r2, #3 - adds r3, r3, r0 - ldr r0, _08005D5C @ =0x086A5DDA - adds r3, r3, r0 - str r3, [sp, #8] - mov r3, ip - movs r0, #0 - ldrsh r1, [r3, r0] - lsls r1, r1, #1 - lsls r0, r2, #2 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - add r1, sb - ldrh r1, [r1] - ldr r2, [sp, #8] - ldrh r2, [r2] - adds r1, r1, r2 - ldr r3, _08005D60 @ =0x000003FF - adds r0, r3, #0 - ands r1, r0 - ldrh r2, [r4, #4] - mov r0, sl - ands r0, r2 - orrs r0, r1 - strh r0, [r4, #4] - ldrh r3, [r5] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r4, #2 - ldrsh r1, [r5, r4] - ldr r2, _08005D18 @ =0x0200B5E0 - movs r4, #2 - ldrsh r0, [r2, r4] - adds r1, r1, r0 - ldr r2, _08005D3C @ =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 - ldr r3, _08005D18 @ =0x0200B5E0 - ldrb r0, [r3, #4] - ldrb r4, [r5, #4] - adds r0, r0, r4 - strb r0, [r1] - adds r5, #8 - adds r7, #1 - cmp r7, #3 - ble _08005B58 + ldrh r4, [r5] + lsls r4, r4, #3 + adds r4, r4, r6 + lsls r3, r7, #1 + ldr r0, _08005D58 @ =0x0202BF14 + movs r1, #0 + ldrsh r2, [r0, r1] + lsls r0, r2, #3 + adds r3, r3, r0 + ldr r0, _08005D5C @ =0x086A5DDA + adds r3, r3, r0 + str r3, [sp, #8] + mov r3, ip + movs r0, #0 + ldrsh r1, [r3, r0] + lsls r1, r1, #1 + lsls r0, r2, #2 + adds r0, r0, r2 + lsls r0, r0, #3 + adds r1, r1, r0 + add r1, sb + ldrh r1, [r1] + ldr r2, [sp, #8] + ldrh r2, [r2] + adds r1, r1, r2 + ldr r3, _08005D60 @ =0x000003FF + adds r0, r3, #0 + ands r1, r0 + ldrh r2, [r4, #4] + mov r0, sl + ands r0, r2 + orrs r0, r1 + strh r0, [r4, #4] + ldrh r3, [r5] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r4, #2 + ldrsh r1, [r5, r4] + ldr r2, _08005D18 @ =0x0200B5E0 + movs r4, #2 + ldrsh r0, [r2, r4] + adds r1, r1, r0 + ldr r2, _08005D3C @ =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 + ldr r3, _08005D18 @ =0x0200B5E0 + ldrb r0, [r3, #4] + ldrb r4, [r5, #4] + adds r0, r0, r4 + strb r0, [r1] + adds r5, #8 + adds r7, #1 + cmp r7, #3 + ble _08005B58 _08005BD4: - ldr r5, _08005D1C @ =0x0200B698 - ldrh r0, [r5] - cmp r0, #1 - bne _08005C68 - movs r0, #0x30 - strh r0, [r5, #2] - movs r0, #0x28 - strh r0, [r5, #4] - ldr r6, _08005D4C @ =0x0202BF0C - mov ip, r6 - ldr r0, _08005D5C @ =0x086A5DDA - ldr r1, _08005D64 @ =0x086A5E1A - mov sl, r1 - adds r4, r5, #0 - adds r4, #8 - adds r5, r0, #0 - adds r5, #8 - ldr r2, _08005D54 @ =0xFFFFFC00 - mov sb, r2 - ldr r3, _08005D40 @ =0xFFFFFE00 - mov r8, r3 - movs r7, #3 + ldr r5, _08005D1C @ =0x0200B698 + ldrh r0, [r5] + cmp r0, #1 + bne _08005C68 + movs r0, #0x30 + strh r0, [r5, #2] + movs r0, #0x28 + strh r0, [r5, #4] + ldr r6, _08005D4C @ =0x0202BF0C + mov ip, r6 + ldr r0, _08005D5C @ =0x086A5DDA + ldr r1, _08005D64 @ =0x086A5E1A + mov sl, r1 + adds r4, r5, #0 + adds r4, #8 + adds r5, r0, #0 + adds r5, #8 + ldr r2, _08005D54 @ =0xFFFFFC00 + mov sb, r2 + ldr r3, _08005D40 @ =0xFFFFFE00 + mov r8, r3 + movs r7, #3 _08005C00: - ldrh r3, [r4] - lsls r3, r3, #3 - ldr r6, _08005D38 @ =0x03005000 - adds r3, r3, r6 - mov r1, ip - movs r2, #0 - ldrsh r0, [r1, r2] - lsls r0, r0, #1 - add r0, sl - ldrh r1, [r0] - ldrh r6, [r5] - adds r1, r1, r6 - ldr r2, _08005D60 @ =0x000003FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #4] - mov r0, sb - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #4] - ldrh r3, [r4] - lsls r3, r3, #3 - ldr r6, _08005D38 @ =0x03005000 - adds r3, r3, r6 - movs r0, #2 - ldrsh r1, [r4, r0] - ldr r2, _08005D1C @ =0x0200B698 - movs r6, #2 - ldrsh r0, [r2, r6] - adds r1, r1, r0 - ldr r2, _08005D3C @ =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, [r4] - lsls r1, r1, #3 - ldr r3, _08005D38 @ =0x03005000 - adds r1, r1, r3 - ldr r6, _08005D1C @ =0x0200B698 - ldrb r0, [r6, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - adds r5, #2 - subs r7, #1 - cmp r7, #0 - bge _08005C00 + ldrh r3, [r4] + lsls r3, r3, #3 + ldr r6, _08005D38 @ =0x03005000 + adds r3, r3, r6 + mov r1, ip + movs r2, #0 + ldrsh r0, [r1, r2] + lsls r0, r0, #1 + add r0, sl + ldrh r1, [r0] + ldrh r6, [r5] + adds r1, r1, r6 + ldr r2, _08005D60 @ =0x000003FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #4] + mov r0, sb + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #4] + ldrh r3, [r4] + lsls r3, r3, #3 + ldr r6, _08005D38 @ =0x03005000 + adds r3, r3, r6 + movs r0, #2 + ldrsh r1, [r4, r0] + ldr r2, _08005D1C @ =0x0200B698 + movs r6, #2 + ldrsh r0, [r2, r6] + adds r1, r1, r0 + ldr r2, _08005D3C @ =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, [r4] + lsls r1, r1, #3 + ldr r3, _08005D38 @ =0x03005000 + adds r1, r1, r3 + ldr r6, _08005D1C @ =0x0200B698 + ldrb r0, [r6, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + adds r5, #2 + subs r7, #1 + cmp r7, #0 + bge _08005C00 _08005C68: - ldr r3, [sp] - ldrh r0, [r3] - cmp r0, #1 - bne _08005CD8 - movs r0, #0x24 - strh r0, [r3, #2] - movs r0, #0x40 - strh r0, [r3, #4] - ldr r1, _08005D2C @ =0x086A6148 - ldr r0, _08005D00 @ =0x0201A448 - movs r4, #0 - ldrsh r0, [r0, r4] - adds r0, #5 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r5, [r0] - movs r7, #0 - ldrh r6, [r5] - cmp r7, r6 - bge _08005CD8 - ldr r0, _08005D38 @ =0x03005000 - mov sb, r0 - ldr r1, _08005D40 @ =0xFFFFFE00 - mov r8, r1 - adds r4, r3, #0 - adds r4, #8 + ldr r3, [sp] + ldrh r0, [r3] + cmp r0, #1 + bne _08005CD8 + movs r0, #0x24 + strh r0, [r3, #2] + movs r0, #0x40 + strh r0, [r3, #4] + ldr r1, _08005D2C @ =0x086A6148 + ldr r0, _08005D00 @ =0x0201A448 + movs r4, #0 + ldrsh r0, [r0, r4] + adds r0, #5 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r5, [r0] + movs r7, #0 + ldrh r6, [r5] + cmp r7, r6 + bge _08005CD8 + ldr r0, _08005D38 @ =0x03005000 + mov sb, r0 + ldr r1, _08005D40 @ =0xFFFFFE00 + mov r8, r1 + adds r4, r3, #0 + adds r4, #8 _08005C9C: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, sb - movs r2, #2 - ldrsh r1, [r4, r2] - ldr r6, [sp] - movs r2, #2 - ldrsh r0, [r6, r2] - adds r1, r1, r0 - ldr r6, _08005D3C @ =0x000001FF - adds r0, r6, #0 - ands r1, r0 - ldrh r2, [r3, #2] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, sb - ldr r2, [sp] - ldrb r0, [r2, #4] - ldrb r3, [r4, #4] - adds r0, r0, r3 - strb r0, [r1] - adds r4, #8 - adds r7, #1 - ldrh r6, [r5] - cmp r7, r6 - blt _08005C9C + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, sb + movs r2, #2 + ldrsh r1, [r4, r2] + ldr r6, [sp] + movs r2, #2 + ldrsh r0, [r6, r2] + adds r1, r1, r0 + ldr r6, _08005D3C @ =0x000001FF + adds r0, r6, #0 + ands r1, r0 + ldrh r2, [r3, #2] + mov r0, r8 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, sb + ldr r2, [sp] + ldrb r0, [r2, #4] + ldrb r3, [r4, #4] + adds r0, r0, r3 + strb r0, [r1] + adds r4, #8 + adds r7, #1 + ldrh r6, [r5] + cmp r7, r6 + blt _08005C9C _08005CD8: - ldr r1, [sp, #4] - ldrh r0, [r1] - cmp r0, #1 - bne _08005DD0 - ldr r0, _08005D04 @ =0x0202BEFC - movs r1, #0 - ldrsb r1, [r0, r1] - adds r2, r0, #0 - cmp r1, #0 - beq _08005CF0 - cmp r1, #4 - bne _08005D68 + ldr r1, [sp, #4] + ldrh r0, [r1] + cmp r0, #1 + bne _08005DD0 + ldr r0, _08005D04 @ =0x0202BEFC + movs r1, #0 + ldrsb r1, [r0, r1] + adds r2, r0, #0 + cmp r1, #0 + beq _08005CF0 + cmp r1, #4 + bne _08005D68 _08005CF0: - movs r0, #0x78 - ldr r3, [sp, #4] - strh r0, [r3, #2] - movs r0, #0x64 - strh r0, [r3, #4] - b _08005D72 - .align 2, 0 + movs r0, #0x78 + ldr r3, [sp, #4] + strh r0, [r3, #2] + movs r0, #0x64 + strh r0, [r3, #4] + b _08005D72 + .align 2, 0 _08005CFC: .4byte 0x0200B3B8 _08005D00: .4byte 0x0201A448 _08005D04: .4byte 0x0202BEFC @@ -11170,152 +11170,152 @@ _08005D5C: .4byte 0x086A5DDA _08005D60: .4byte 0x000003FF _08005D64: .4byte 0x086A5E1A _08005D68: - movs r0, #0x78 - ldr r4, [sp, #4] - strh r0, [r4, #2] - movs r0, #0x50 - strh r0, [r4, #4] + movs r0, #0x78 + ldr r4, [sp, #4] + strh r0, [r4, #2] + movs r0, #0x50 + strh r0, [r4, #4] _08005D72: - ldr r1, _08005E4C @ =0x086A6148 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, #0x11 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r5, [r0] - movs r7, #0 - ldrh r6, [r5] - cmp r7, r6 - bge _08005DD0 - ldr r0, _08005E50 @ =0x03005000 - mov sb, r0 - ldr r1, _08005E54 @ =0xFFFFFE00 - mov r8, r1 - ldr r4, [sp, #4] - adds r4, #8 + ldr r1, _08005E4C @ =0x086A6148 + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, #0x11 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r5, [r0] + movs r7, #0 + ldrh r6, [r5] + cmp r7, r6 + bge _08005DD0 + ldr r0, _08005E50 @ =0x03005000 + mov sb, r0 + ldr r1, _08005E54 @ =0xFFFFFE00 + mov r8, r1 + ldr r4, [sp, #4] + adds r4, #8 _08005D94: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, sb - movs r2, #2 - ldrsh r1, [r4, r2] - ldr r6, [sp, #4] - movs r2, #2 - ldrsh r0, [r6, r2] - adds r1, r1, r0 - ldr r6, _08005E58 @ =0x000001FF - adds r0, r6, #0 - ands r1, r0 - ldrh r2, [r3, #2] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, sb - ldr r2, [sp, #4] - ldrb r0, [r2, #4] - ldrb r3, [r4, #4] - adds r0, r0, r3 - strb r0, [r1] - adds r4, #8 - adds r7, #1 - ldrh r6, [r5] - cmp r7, r6 - blt _08005D94 + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, sb + movs r2, #2 + ldrsh r1, [r4, r2] + ldr r6, [sp, #4] + movs r2, #2 + ldrsh r0, [r6, r2] + adds r1, r1, r0 + ldr r6, _08005E58 @ =0x000001FF + adds r0, r6, #0 + ands r1, r0 + ldrh r2, [r3, #2] + mov r0, r8 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, sb + ldr r2, [sp, #4] + ldrb r0, [r2, #4] + ldrb r3, [r4, #4] + adds r0, r0, r3 + strb r0, [r1] + adds r4, #8 + adds r7, #1 + ldrh r6, [r5] + cmp r7, r6 + blt _08005D94 _08005DD0: - ldr r1, _08005E5C @ =0x0200C4F8 - ldrh r0, [r1] - cmp r0, #1 - bne _08005E34 - movs r0, #0xa8 - strh r0, [r1, #2] - movs r0, #0x54 - strh r0, [r1, #4] - ldr r5, _08005E50 @ =0x03005000 - ldr r2, _08005E54 @ =0xFFFFFE00 - mov r8, r2 - adds r4, r1, #0 - adds r4, #8 - movs r7, #2 + ldr r1, _08005E5C @ =0x0200C4F8 + ldrh r0, [r1] + cmp r0, #1 + bne _08005E34 + movs r0, #0xa8 + strh r0, [r1, #2] + movs r0, #0x54 + strh r0, [r1, #4] + ldr r5, _08005E50 @ =0x03005000 + ldr r2, _08005E54 @ =0xFFFFFE00 + mov r8, r2 + adds r4, r1, #0 + adds r4, #8 + movs r7, #2 _08005DEC: - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r5 - ldrb r0, [r2, #5] - movs r1, #0xc - orrs r0, r1 - strb r0, [r2, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r5 - movs r6, #2 - ldrsh r1, [r4, r6] - ldr r2, _08005E5C @ =0x0200C4F8 - movs r6, #2 - ldrsh r0, [r2, r6] - adds r1, r1, r0 - ldr r2, _08005E58 @ =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, [r4] - lsls r1, r1, #3 - adds r1, r1, r5 - ldr r3, _08005E5C @ =0x0200C4F8 - ldrb r0, [r3, #4] - ldrb r6, [r4, #4] - adds r0, r0, r6 - strb r0, [r1] - adds r4, #8 - subs r7, #1 - cmp r7, #0 - bge _08005DEC + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r5 + ldrb r0, [r2, #5] + movs r1, #0xc + orrs r0, r1 + strb r0, [r2, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r5 + movs r6, #2 + ldrsh r1, [r4, r6] + ldr r2, _08005E5C @ =0x0200C4F8 + movs r6, #2 + ldrsh r0, [r2, r6] + adds r1, r1, r0 + ldr r2, _08005E58 @ =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, [r4] + lsls r1, r1, #3 + adds r1, r1, r5 + ldr r3, _08005E5C @ =0x0200C4F8 + ldrb r0, [r3, #4] + ldrb r6, [r4, #4] + adds r0, r0, r6 + strb r0, [r1] + adds r4, #8 + subs r7, #1 + cmp r7, #0 + bge _08005DEC _08005E34: - movs r0, #0 - ldr r1, [sp, #4] - strh r0, [r1] - add sp, #0xc - 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 + movs r0, #0 + ldr r1, [sp, #4] + strh r0, [r1] + add sp, #0xc + 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 _08005E4C: .4byte 0x086A6148 _08005E50: .4byte 0x03005000 _08005E54: .4byte 0xFFFFFE00 _08005E58: .4byte 0x000001FF _08005E5C: .4byte 0x0200C4F8 - thumb_func_start sub_5E60 + thumb_func_start sub_5E60 sub_5E60: @ 0x08005E60 - ldr r1, _08005E84 @ =0x0202C5F0 - movs r2, #0 - ldr r0, _08005E88 @ =0x0000DDDD - strh r0, [r1] - ldr r0, _08005E8C @ =0x0202C5B4 - movs r1, #1 - strh r1, [r0] - ldr r0, _08005E90 @ =0x0201C180 - strh r1, [r0] - ldr r0, _08005E94 @ =0x0201B128 - strb r2, [r0] - ldr r0, _08005E98 @ =0x0201C1BC - strb r2, [r0] - ldr r0, _08005E9C @ =0x0202C544 - strb r2, [r0] - ldr r0, _08005EA0 @ =0x0202BECC - strb r2, [r0] - bx lr - .align 2, 0 + ldr r1, _08005E84 @ =0x0202C5F0 + movs r2, #0 + ldr r0, _08005E88 @ =0x0000DDDD + strh r0, [r1] + ldr r0, _08005E8C @ =0x0202C5B4 + movs r1, #1 + strh r1, [r0] + ldr r0, _08005E90 @ =0x0201C180 + strh r1, [r0] + ldr r0, _08005E94 @ =0x0201B128 + strb r2, [r0] + ldr r0, _08005E98 @ =0x0201C1BC + strb r2, [r0] + ldr r0, _08005E9C @ =0x0202C544 + strb r2, [r0] + ldr r0, _08005EA0 @ =0x0202BECC + strb r2, [r0] + bx lr + .align 2, 0 _08005E84: .4byte 0x0202C5F0 _08005E88: .4byte 0x0000DDDD _08005E8C: .4byte 0x0202C5B4 @@ -11325,1436 +11325,1436 @@ _08005E98: .4byte 0x0201C1BC _08005E9C: .4byte 0x0202C544 _08005EA0: .4byte 0x0202BECC - thumb_func_start sub_5EA4 + thumb_func_start sub_5EA4 sub_5EA4: @ 0x08005EA4 - push {lr} - ldr r0, _08005EB4 @ =0x0202BF20 - ldrb r0, [r0] - cmp r0, #0 - beq _08005EB8 - bl sub_639C - b _08005EBC - .align 2, 0 + push {lr} + ldr r0, _08005EB4 @ =0x0202BF20 + ldrb r0, [r0] + cmp r0, #0 + beq _08005EB8 + bl sub_639C + b _08005EBC + .align 2, 0 _08005EB4: .4byte 0x0202BF20 _08005EB8: - bl sub_65DC + bl sub_65DC _08005EBC: - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - pop {r1} - bx r1 - - thumb_func_start sub_5EC8 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + pop {r1} + bx r1 + + thumb_func_start sub_5EC8 sub_5EC8: @ 0x08005EC8 - push {lr} - ldr r0, _08005ED8 @ =0x0202BF20 - ldrb r0, [r0] - cmp r0, #0 - beq _08005EDC - bl sub_5EEC - b _08005EE0 - .align 2, 0 + push {lr} + ldr r0, _08005ED8 @ =0x0202BF20 + ldrb r0, [r0] + cmp r0, #0 + beq _08005EDC + bl sub_5EEC + b _08005EE0 + .align 2, 0 _08005ED8: .4byte 0x0202BF20 _08005EDC: - bl sub_6144 + bl sub_6144 _08005EE0: - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - pop {r1} - bx r1 - - thumb_func_start sub_5EEC + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + pop {r1} + bx r1 + + thumb_func_start sub_5EEC sub_5EEC: @ 0x08005EEC - push {r4, r5, lr} - ldr r0, _08005F0C @ =0x0201B128 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08005F5C - ldr r0, _08005F10 @ =0x0201C1BC - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08005F14 - cmp r0, #1 - beq _08005F4C - b _08006136 - .align 2, 0 + push {r4, r5, lr} + ldr r0, _08005F0C @ =0x0201B128 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08005F5C + ldr r0, _08005F10 @ =0x0201C1BC + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08005F14 + cmp r0, #1 + beq _08005F4C + b _08006136 + .align 2, 0 _08005F0C: .4byte 0x0201B128 _08005F10: .4byte 0x0201C1BC _08005F14: - ldr r0, _08005F28 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08005F34 - ldr r1, _08005F2C @ =0x0202C5F0 - ldr r0, _08005F30 @ =0x0000FEFE - strh r0, [r1] - b _08006136 - .align 2, 0 + ldr r0, _08005F28 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _08005F34 + ldr r1, _08005F2C @ =0x0202C5F0 + ldr r0, _08005F30 @ =0x0000FEFE + strh r0, [r1] + b _08006136 + .align 2, 0 _08005F28: .4byte 0x0200B0C0 _08005F2C: .4byte 0x0202C5F0 _08005F30: .4byte 0x0000FEFE _08005F34: - ldr r1, _08005F48 @ =0x0202C5F0 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xe + ldr r1, _08005F48 @ =0x0202C5F0 + movs r2, #0 + adds r0, r1, #0 + adds r0, #0xe _08005F3C: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _08005F3C - b _08006136 - .align 2, 0 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _08005F3C + b _08006136 + .align 2, 0 _08005F48: .4byte 0x0202C5F0 _08005F4C: - ldr r1, _08005F54 @ =0x0202C5F0 - ldr r0, _08005F58 @ =0x0000ECEC - strh r0, [r1] - b _08006136 - .align 2, 0 + ldr r1, _08005F54 @ =0x0202C5F0 + ldr r0, _08005F58 @ =0x0000ECEC + strh r0, [r1] + b _08006136 + .align 2, 0 _08005F54: .4byte 0x0202C5F0 _08005F58: .4byte 0x0000ECEC _08005F5C: - ldr r0, _08005F78 @ =0x0201C180 - ldrh r1, [r0] - adds r5, r0, #0 - cmp r1, #7 - bhi _08005F84 - ldr r1, _08005F7C @ =0x0202C5F0 - ldr r2, _08005F80 @ =0x0000DDDD - adds r0, r1, #0 - adds r0, #0xe + ldr r0, _08005F78 @ =0x0201C180 + ldrh r1, [r0] + adds r5, r0, #0 + cmp r1, #7 + bhi _08005F84 + ldr r1, _08005F7C @ =0x0202C5F0 + ldr r2, _08005F80 @ =0x0000DDDD + adds r0, r1, #0 + adds r0, #0xe _08005F6E: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _08005F6E - b _08006130 - .align 2, 0 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _08005F6E + b _08006130 + .align 2, 0 _08005F78: .4byte 0x0201C180 _08005F7C: .4byte 0x0202C5F0 _08005F80: .4byte 0x0000DDDD _08005F84: - cmp r1, #0xf - bls _08005F8A - b _08006120 + cmp r1, #0xf + bls _08005F8A + b _08006120 _08005F8A: - ldrh r2, [r5] - adds r1, r2, #0 - subs r1, #8 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #0x12 - lsrs r0, r0, #0x10 - mov ip, r0 - ldr r4, _08006118 @ =0x0202C5F0 - strh r2, [r4] - ldr r3, _0800611C @ =0x0202A1C0 - lsls r2, r0, #1 - adds r2, r2, r3 - adds r0, #1 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #2 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #2] - mov r2, ip - adds r2, #4 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #5 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #6 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #7 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #4] - mov r2, ip - adds r2, #8 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #9 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0xa - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0xb - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #6] - mov r2, ip - adds r2, #0xc - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #0xd - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0xe - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0xf - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #8] - mov r2, ip - adds r2, #0x10 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #0x11 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0x12 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0x13 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #0xa] - mov r2, ip - adds r2, #0x14 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #0x15 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0x16 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0x17 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #0xc] - mov r2, ip - adds r2, #0x18 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #0x19 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0x1a - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0x1b - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #0xe] - b _08006130 - .align 2, 0 + ldrh r2, [r5] + adds r1, r2, #0 + subs r1, #8 + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #0x12 + lsrs r0, r0, #0x10 + mov ip, r0 + ldr r4, _08006118 @ =0x0202C5F0 + strh r2, [r4] + ldr r3, _0800611C @ =0x0202A1C0 + lsls r2, r0, #1 + adds r2, r2, r3 + adds r0, #1 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #2 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #3 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #2] + mov r2, ip + adds r2, #4 + lsls r2, r2, #1 + adds r2, r2, r3 + mov r0, ip + adds r0, #5 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #6 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #7 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #4] + mov r2, ip + adds r2, #8 + lsls r2, r2, #1 + adds r2, r2, r3 + mov r0, ip + adds r0, #9 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #0xa + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #0xb + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #6] + mov r2, ip + adds r2, #0xc + lsls r2, r2, #1 + adds r2, r2, r3 + mov r0, ip + adds r0, #0xd + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #0xe + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #0xf + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #8] + mov r2, ip + adds r2, #0x10 + lsls r2, r2, #1 + adds r2, r2, r3 + mov r0, ip + adds r0, #0x11 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #0x12 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #0x13 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #0xa] + mov r2, ip + adds r2, #0x14 + lsls r2, r2, #1 + adds r2, r2, r3 + mov r0, ip + adds r0, #0x15 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #0x16 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #0x17 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #0xc] + mov r2, ip + adds r2, #0x18 + lsls r2, r2, #1 + adds r2, r2, r3 + mov r0, ip + adds r0, #0x19 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #0x1a + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #0x1b + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #0xe] + b _08006130 + .align 2, 0 _08006118: .4byte 0x0202C5F0 _0800611C: .4byte 0x0202A1C0 _08006120: - ldr r1, _08006140 @ =0x0202C5F0 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xe + ldr r1, _08006140 @ =0x0202C5F0 + movs r2, #0 + adds r0, r1, #0 + adds r0, #0xe _08006128: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _08006128 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _08006128 _08006130: - ldrh r0, [r5] - adds r0, #1 - strh r0, [r5] + ldrh r0, [r5] + adds r0, #1 + strh r0, [r5] _08006136: - movs r0, #0 - pop {r4, r5} - pop {r1} - bx r1 - .align 2, 0 + movs r0, #0 + pop {r4, r5} + pop {r1} + bx r1 + .align 2, 0 _08006140: .4byte 0x0202C5F0 - thumb_func_start sub_6144 + thumb_func_start sub_6144 sub_6144: @ 0x08006144 - push {r4, r5, lr} - ldr r0, _08006164 @ =0x0201B128 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _080061B4 - ldr r0, _08006168 @ =0x0202C544 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0800616C - cmp r0, #1 - beq _080061A4 - b _0800638E - .align 2, 0 + push {r4, r5, lr} + ldr r0, _08006164 @ =0x0201B128 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _080061B4 + ldr r0, _08006168 @ =0x0202C544 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0800616C + cmp r0, #1 + beq _080061A4 + b _0800638E + .align 2, 0 _08006164: .4byte 0x0201B128 _08006168: .4byte 0x0202C544 _0800616C: - ldr r0, _08006180 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0800618C - ldr r1, _08006184 @ =0x0202C5F0 - ldr r0, _08006188 @ =0x0000FEFE - strh r0, [r1] - b _0800638E - .align 2, 0 + ldr r0, _08006180 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0800618C + ldr r1, _08006184 @ =0x0202C5F0 + ldr r0, _08006188 @ =0x0000FEFE + strh r0, [r1] + b _0800638E + .align 2, 0 _08006180: .4byte 0x0200B0C0 _08006184: .4byte 0x0202C5F0 _08006188: .4byte 0x0000FEFE _0800618C: - ldr r1, _080061A0 @ =0x0202C5F0 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xe + ldr r1, _080061A0 @ =0x0202C5F0 + movs r2, #0 + adds r0, r1, #0 + adds r0, #0xe _08006194: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _08006194 - b _0800638E - .align 2, 0 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _08006194 + b _0800638E + .align 2, 0 _080061A0: .4byte 0x0202C5F0 _080061A4: - ldr r1, _080061AC @ =0x0202C5F0 - ldr r0, _080061B0 @ =0x0000ECEC - strh r0, [r1] - b _0800638E - .align 2, 0 + ldr r1, _080061AC @ =0x0202C5F0 + ldr r0, _080061B0 @ =0x0000ECEC + strh r0, [r1] + b _0800638E + .align 2, 0 _080061AC: .4byte 0x0202C5F0 _080061B0: .4byte 0x0000ECEC _080061B4: - ldr r0, _080061D0 @ =0x0201C180 - ldrh r1, [r0] - adds r5, r0, #0 - cmp r1, #7 - bhi _080061DC - ldr r1, _080061D4 @ =0x0202C5F0 - ldr r2, _080061D8 @ =0x0000DDDD - adds r0, r1, #0 - adds r0, #0xe + ldr r0, _080061D0 @ =0x0201C180 + ldrh r1, [r0] + adds r5, r0, #0 + cmp r1, #7 + bhi _080061DC + ldr r1, _080061D4 @ =0x0202C5F0 + ldr r2, _080061D8 @ =0x0000DDDD + adds r0, r1, #0 + adds r0, #0xe _080061C6: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _080061C6 - b _08006388 - .align 2, 0 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _080061C6 + b _08006388 + .align 2, 0 _080061D0: .4byte 0x0201C180 _080061D4: .4byte 0x0202C5F0 _080061D8: .4byte 0x0000DDDD _080061DC: - cmp r1, #0xf - bls _080061E2 - b _08006378 + cmp r1, #0xf + bls _080061E2 + b _08006378 _080061E2: - ldrh r2, [r5] - adds r1, r2, #0 - subs r1, #8 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #0x12 - lsrs r0, r0, #0x10 - mov ip, r0 - ldr r4, _08006370 @ =0x0202C5F0 - strh r2, [r4] - ldr r3, _08006374 @ =0x0202A1C0 - lsls r2, r0, #1 - adds r2, r2, r3 - adds r0, #1 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #2 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #2] - mov r2, ip - adds r2, #4 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #5 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #6 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #7 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #4] - mov r2, ip - adds r2, #8 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #9 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0xa - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0xb - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #6] - mov r2, ip - adds r2, #0xc - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #0xd - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0xe - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0xf - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #8] - mov r2, ip - adds r2, #0x10 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #0x11 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0x12 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0x13 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #0xa] - mov r2, ip - adds r2, #0x14 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #0x15 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0x16 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0x17 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #0xc] - mov r2, ip - adds r2, #0x18 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #0x19 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0x1a - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0x1b - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #0xe] - b _08006388 - .align 2, 0 + ldrh r2, [r5] + adds r1, r2, #0 + subs r1, #8 + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #0x12 + lsrs r0, r0, #0x10 + mov ip, r0 + ldr r4, _08006370 @ =0x0202C5F0 + strh r2, [r4] + ldr r3, _08006374 @ =0x0202A1C0 + lsls r2, r0, #1 + adds r2, r2, r3 + adds r0, #1 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #2 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #3 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #2] + mov r2, ip + adds r2, #4 + lsls r2, r2, #1 + adds r2, r2, r3 + mov r0, ip + adds r0, #5 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #6 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #7 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #4] + mov r2, ip + adds r2, #8 + lsls r2, r2, #1 + adds r2, r2, r3 + mov r0, ip + adds r0, #9 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #0xa + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #0xb + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #6] + mov r2, ip + adds r2, #0xc + lsls r2, r2, #1 + adds r2, r2, r3 + mov r0, ip + adds r0, #0xd + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #0xe + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #0xf + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #8] + mov r2, ip + adds r2, #0x10 + lsls r2, r2, #1 + adds r2, r2, r3 + mov r0, ip + adds r0, #0x11 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #0x12 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #0x13 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #0xa] + mov r2, ip + adds r2, #0x14 + lsls r2, r2, #1 + adds r2, r2, r3 + mov r0, ip + adds r0, #0x15 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #0x16 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #0x17 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #0xc] + mov r2, ip + adds r2, #0x18 + lsls r2, r2, #1 + adds r2, r2, r3 + mov r0, ip + adds r0, #0x19 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + lsls r1, r1, #4 + ldrh r0, [r2] + orrs r1, r0 + mov r0, ip + adds r0, #0x1a + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + mov r0, ip + adds r0, #0x1b + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + lsls r0, r0, #0xc + orrs r1, r0 + strh r1, [r4, #0xe] + b _08006388 + .align 2, 0 _08006370: .4byte 0x0202C5F0 _08006374: .4byte 0x0202A1C0 _08006378: - ldr r1, _08006398 @ =0x0202C5F0 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xe + ldr r1, _08006398 @ =0x0202C5F0 + movs r2, #0 + adds r0, r1, #0 + adds r0, #0xe _08006380: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _08006380 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _08006380 _08006388: - ldrh r0, [r5] - adds r0, #1 - strh r0, [r5] + ldrh r0, [r5] + adds r0, #1 + strh r0, [r5] _0800638E: - movs r0, #0 - pop {r4, r5} - pop {r1} - bx r1 - .align 2, 0 + movs r0, #0 + pop {r4, r5} + pop {r1} + bx r1 + .align 2, 0 _08006398: .4byte 0x0202C5F0 - thumb_func_start sub_639C + thumb_func_start sub_639C sub_639C: @ 0x0800639C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #0x38 - ldr r4, _080063C0 @ =0x0201B128 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _08006438 - ldr r3, _080063C4 @ =0x0201C1BC - movs r1, #0 - ldrsb r1, [r3, r1] - cmp r1, #0 - beq _080063C8 - cmp r1, #1 - beq _080063E8 - b _080065AA - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #0x38 + ldr r4, _080063C0 @ =0x0201B128 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + bne _08006438 + ldr r3, _080063C4 @ =0x0201C1BC + movs r1, #0 + ldrsb r1, [r3, r1] + cmp r1, #0 + beq _080063C8 + cmp r1, #1 + beq _080063E8 + b _080065AA + .align 2, 0 _080063C0: .4byte 0x0201B128 _080063C4: .4byte 0x0201C1BC _080063C8: - ldr r2, _080063E0 @ =0x0201A4D0 - ldrh r0, [r2] - ldr r1, _080063E4 @ =0x0000FEFE - cmp r0, r1 - beq _080063DA - ldrh r0, [r2, #2] - cmp r0, r1 - beq _080063DA - b _080065AA + ldr r2, _080063E0 @ =0x0201A4D0 + ldrh r0, [r2] + ldr r1, _080063E4 @ =0x0000FEFE + cmp r0, r1 + beq _080063DA + ldrh r0, [r2, #2] + cmp r0, r1 + beq _080063DA + b _080065AA _080063DA: - movs r0, #1 - strb r0, [r3] - b _080065AA - .align 2, 0 + movs r0, #1 + strb r0, [r3] + b _080065AA + .align 2, 0 _080063E0: .4byte 0x0201A4D0 _080063E4: .4byte 0x0000FEFE _080063E8: - ldr r3, _0800640C @ =0x0201A4D0 - ldrh r2, [r3] - ldr r0, _08006410 @ =0x0000ECEC - cmp r2, r0 - bne _0800641C - ldrh r0, [r3, #2] - cmp r0, r2 - bne _0800641C - movs r2, #1 - rsbs r2, r2, #0 - adds r0, r2, #0 - strb r0, [r4] - ldr r0, _08006414 @ =0x0202BEFC - strb r1, [r0] - ldr r0, _08006418 @ =0x0201C180 - strh r1, [r0] - b _080065AA - .align 2, 0 + ldr r3, _0800640C @ =0x0201A4D0 + ldrh r2, [r3] + ldr r0, _08006410 @ =0x0000ECEC + cmp r2, r0 + bne _0800641C + ldrh r0, [r3, #2] + cmp r0, r2 + bne _0800641C + movs r2, #1 + rsbs r2, r2, #0 + adds r0, r2, #0 + strb r0, [r4] + ldr r0, _08006414 @ =0x0202BEFC + strb r1, [r0] + ldr r0, _08006418 @ =0x0201C180 + strh r1, [r0] + b _080065AA + .align 2, 0 _0800640C: .4byte 0x0201A4D0 _08006410: .4byte 0x0000ECEC _08006414: .4byte 0x0202BEFC _08006418: .4byte 0x0201C180 _0800641C: - ldr r1, _08006434 @ =0x0202BECC - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xa - bgt _0800642E - b _080065AA + ldr r1, _08006434 @ =0x0202BECC + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xa + bgt _0800642E + b _080065AA _0800642E: - movs r0, #1 - b _080065CC - .align 2, 0 + movs r0, #1 + b _080065CC + .align 2, 0 _08006434: .4byte 0x0202BECC _08006438: - ldr r7, _0800656C @ =0x0201A4D0 - ldrh r1, [r7, #2] - adds r0, r1, #0 - subs r0, #8 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #7 - bls _0800644A - b _080065CA + ldr r7, _0800656C @ =0x0201A4D0 + ldrh r1, [r7, #2] + adds r0, r1, #0 + subs r0, #8 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #7 + bls _0800644A + b _080065CA _0800644A: - ldr r0, _08006570 @ =0x0202C5B4 - mov r8, r0 - strh r1, [r0] - mov r2, sp - ldrh r1, [r7, #6] - movs r6, #0xf - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2] - movs r5, #0xf0 - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #2] - movs r4, #0xf0 - lsls r4, r4, #4 - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #4] - movs r3, #0xf0 - lsls r3, r3, #8 - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #6] - ldrh r1, [r7, #0xa] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #8] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0xa] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0xc] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0xe] - ldrh r1, [r7, #0xe] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #0x10] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0x12] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0x14] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0x16] - ldrh r1, [r7, #0x12] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #0x18] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0x1a] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0x1c] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0x1e] - ldrh r1, [r7, #0x16] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #0x20] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0x22] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0x24] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0x26] - ldrh r1, [r7, #0x1a] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #0x28] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0x2a] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0x2c] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0x2e] - mov r1, sp - ldrh r0, [r7, #0x1e] - ands r6, r0 - strh r6, [r1, #0x30] - ands r5, r0 - lsrs r5, r5, #4 - strh r5, [r1, #0x32] - ands r4, r0 - lsrs r4, r4, #8 - strh r4, [r1, #0x34] - ands r3, r0 - lsrs r3, r3, #0xc - strh r3, [r1, #0x36] - movs r3, #0 - ldr r6, _08006574 @ =0x0202A1C0 - ldr r5, _08006578 @ =0x0202A390 - mov r4, sp + ldr r0, _08006570 @ =0x0202C5B4 + mov r8, r0 + strh r1, [r0] + mov r2, sp + ldrh r1, [r7, #6] + movs r6, #0xf + adds r0, r6, #0 + ands r0, r1 + strh r0, [r2] + movs r5, #0xf0 + adds r0, r5, #0 + ands r0, r1 + lsrs r0, r0, #4 + strh r0, [r2, #2] + movs r4, #0xf0 + lsls r4, r4, #4 + adds r0, r4, #0 + ands r0, r1 + lsrs r0, r0, #8 + strh r0, [r2, #4] + movs r3, #0xf0 + lsls r3, r3, #8 + adds r0, r3, #0 + ands r0, r1 + lsrs r0, r0, #0xc + strh r0, [r2, #6] + ldrh r1, [r7, #0xa] + adds r0, r6, #0 + ands r0, r1 + strh r0, [r2, #8] + adds r0, r5, #0 + ands r0, r1 + lsrs r0, r0, #4 + strh r0, [r2, #0xa] + adds r0, r4, #0 + ands r0, r1 + lsrs r0, r0, #8 + strh r0, [r2, #0xc] + adds r0, r3, #0 + ands r0, r1 + lsrs r0, r0, #0xc + strh r0, [r2, #0xe] + ldrh r1, [r7, #0xe] + adds r0, r6, #0 + ands r0, r1 + strh r0, [r2, #0x10] + adds r0, r5, #0 + ands r0, r1 + lsrs r0, r0, #4 + strh r0, [r2, #0x12] + adds r0, r4, #0 + ands r0, r1 + lsrs r0, r0, #8 + strh r0, [r2, #0x14] + adds r0, r3, #0 + ands r0, r1 + lsrs r0, r0, #0xc + strh r0, [r2, #0x16] + ldrh r1, [r7, #0x12] + adds r0, r6, #0 + ands r0, r1 + strh r0, [r2, #0x18] + adds r0, r5, #0 + ands r0, r1 + lsrs r0, r0, #4 + strh r0, [r2, #0x1a] + adds r0, r4, #0 + ands r0, r1 + lsrs r0, r0, #8 + strh r0, [r2, #0x1c] + adds r0, r3, #0 + ands r0, r1 + lsrs r0, r0, #0xc + strh r0, [r2, #0x1e] + ldrh r1, [r7, #0x16] + adds r0, r6, #0 + ands r0, r1 + strh r0, [r2, #0x20] + adds r0, r5, #0 + ands r0, r1 + lsrs r0, r0, #4 + strh r0, [r2, #0x22] + adds r0, r4, #0 + ands r0, r1 + lsrs r0, r0, #8 + strh r0, [r2, #0x24] + adds r0, r3, #0 + ands r0, r1 + lsrs r0, r0, #0xc + strh r0, [r2, #0x26] + ldrh r1, [r7, #0x1a] + adds r0, r6, #0 + ands r0, r1 + strh r0, [r2, #0x28] + adds r0, r5, #0 + ands r0, r1 + lsrs r0, r0, #4 + strh r0, [r2, #0x2a] + adds r0, r4, #0 + ands r0, r1 + lsrs r0, r0, #8 + strh r0, [r2, #0x2c] + adds r0, r3, #0 + ands r0, r1 + lsrs r0, r0, #0xc + strh r0, [r2, #0x2e] + mov r1, sp + ldrh r0, [r7, #0x1e] + ands r6, r0 + strh r6, [r1, #0x30] + ands r5, r0 + lsrs r5, r5, #4 + strh r5, [r1, #0x32] + ands r4, r0 + lsrs r4, r4, #8 + strh r4, [r1, #0x34] + ands r3, r0 + lsrs r3, r3, #0xc + strh r3, [r1, #0x36] + movs r3, #0 + ldr r6, _08006574 @ =0x0202A1C0 + ldr r5, _08006578 @ =0x0202A390 + mov r4, sp _08006540: - mov r2, r8 - ldrh r1, [r2] - subs r1, #8 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r3 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - lsls r1, r2, #1 - adds r0, r1, r6 - movs r7, #0 - ldrsh r0, [r0, r7] - cmp r0, #0 - bne _0800657C - ldrh r0, [r4] - cmp r0, #4 - bne _0800657C - adds r1, r1, r5 - movs r0, #2 - b _08006592 - .align 2, 0 + mov r2, r8 + ldrh r1, [r2] + subs r1, #8 + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #2 + adds r0, r0, r3 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + lsls r1, r2, #1 + adds r0, r1, r6 + movs r7, #0 + ldrsh r0, [r0, r7] + cmp r0, #0 + bne _0800657C + ldrh r0, [r4] + cmp r0, #4 + bne _0800657C + adds r1, r1, r5 + movs r0, #2 + b _08006592 + .align 2, 0 _0800656C: .4byte 0x0201A4D0 _08006570: .4byte 0x0202C5B4 _08006574: .4byte 0x0202A1C0 _08006578: .4byte 0x0202A390 _0800657C: - lsls r1, r2, #1 - adds r0, r1, r6 - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #1 - bne _08006594 - ldrh r0, [r4] - cmp r0, #4 - bne _08006594 - adds r1, r1, r5 - movs r0, #3 + lsls r1, r2, #1 + adds r0, r1, r6 + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r0, #1 + bne _08006594 + ldrh r0, [r4] + cmp r0, #4 + bne _08006594 + adds r1, r1, r5 + movs r0, #3 _08006592: - strh r0, [r1] + strh r0, [r1] _08006594: - adds r4, #2 - adds r3, #1 - cmp r3, #0x1b - ble _08006540 - mov r7, r8 - ldrh r0, [r7] - cmp r0, #0xf - bne _080065AA - movs r0, #1 - rsbs r0, r0, #0 - b _080065CC + adds r4, #2 + adds r3, #1 + cmp r3, #0x1b + ble _08006540 + mov r7, r8 + ldrh r0, [r7] + cmp r0, #0xf + bne _080065AA + movs r0, #1 + rsbs r0, r0, #0 + b _080065CC _080065AA: - movs r3, #0 - ldr r5, _080065D8 @ =0x0201A4D0 - movs r4, #0 + movs r3, #0 + ldr r5, _080065D8 @ =0x0201A4D0 + movs r4, #0 _080065B0: - adds r2, r3, #1 - lsls r0, r3, #2 - movs r1, #1 - adds r0, r0, r5 - adds r0, #2 + adds r2, r3, #1 + lsls r0, r3, #2 + movs r1, #1 + adds r0, r0, r5 + adds r0, #2 _080065BA: - strh r4, [r0] - subs r0, #2 - subs r1, #1 - cmp r1, #0 - bge _080065BA - adds r3, r2, #0 - cmp r3, #7 - ble _080065B0 + strh r4, [r0] + subs r0, #2 + subs r1, #1 + cmp r1, #0 + bge _080065BA + adds r3, r2, #0 + cmp r3, #7 + ble _080065B0 _080065CA: - movs r0, #0 + movs r0, #0 _080065CC: - add sp, #0x38 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - .align 2, 0 + add sp, #0x38 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + .align 2, 0 _080065D8: .4byte 0x0201A4D0 - thumb_func_start sub_65DC + thumb_func_start sub_65DC sub_65DC: @ 0x080065DC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #0x38 - ldr r4, _08006600 @ =0x0201B128 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _08006678 - ldr r3, _08006604 @ =0x0202C544 - movs r1, #0 - ldrsb r1, [r3, r1] - cmp r1, #0 - beq _08006608 - cmp r1, #1 - beq _08006628 - b _080067EA - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #0x38 + ldr r4, _08006600 @ =0x0201B128 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + bne _08006678 + ldr r3, _08006604 @ =0x0202C544 + movs r1, #0 + ldrsb r1, [r3, r1] + cmp r1, #0 + beq _08006608 + cmp r1, #1 + beq _08006628 + b _080067EA + .align 2, 0 _08006600: .4byte 0x0201B128 _08006604: .4byte 0x0202C544 _08006608: - ldr r2, _08006620 @ =0x0201A4D0 - ldrh r0, [r2] - ldr r1, _08006624 @ =0x0000FEFE - cmp r0, r1 - beq _0800661A - ldrh r0, [r2, #2] - cmp r0, r1 - beq _0800661A - b _080067EA + ldr r2, _08006620 @ =0x0201A4D0 + ldrh r0, [r2] + ldr r1, _08006624 @ =0x0000FEFE + cmp r0, r1 + beq _0800661A + ldrh r0, [r2, #2] + cmp r0, r1 + beq _0800661A + b _080067EA _0800661A: - movs r0, #1 - strb r0, [r3] - b _080067EA - .align 2, 0 + movs r0, #1 + strb r0, [r3] + b _080067EA + .align 2, 0 _08006620: .4byte 0x0201A4D0 _08006624: .4byte 0x0000FEFE _08006628: - ldr r3, _0800664C @ =0x0201A4D0 - ldrh r2, [r3] - ldr r0, _08006650 @ =0x0000ECEC - cmp r2, r0 - bne _0800665C - ldrh r0, [r3, #2] - cmp r0, r2 - bne _0800665C - movs r2, #1 - rsbs r2, r2, #0 - adds r0, r2, #0 - strb r0, [r4] - ldr r0, _08006654 @ =0x0202BEFC - strb r1, [r0] - ldr r0, _08006658 @ =0x0201C180 - strh r1, [r0] - b _080067EA - .align 2, 0 + ldr r3, _0800664C @ =0x0201A4D0 + ldrh r2, [r3] + ldr r0, _08006650 @ =0x0000ECEC + cmp r2, r0 + bne _0800665C + ldrh r0, [r3, #2] + cmp r0, r2 + bne _0800665C + movs r2, #1 + rsbs r2, r2, #0 + adds r0, r2, #0 + strb r0, [r4] + ldr r0, _08006654 @ =0x0202BEFC + strb r1, [r0] + ldr r0, _08006658 @ =0x0201C180 + strh r1, [r0] + b _080067EA + .align 2, 0 _0800664C: .4byte 0x0201A4D0 _08006650: .4byte 0x0000ECEC _08006654: .4byte 0x0202BEFC _08006658: .4byte 0x0201C180 _0800665C: - ldr r1, _08006674 @ =0x0202BECC - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xa - bgt _0800666E - b _080067EA + ldr r1, _08006674 @ =0x0202BECC + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xa + bgt _0800666E + b _080067EA _0800666E: - movs r0, #1 - b _0800680C - .align 2, 0 + movs r0, #1 + b _0800680C + .align 2, 0 _08006674: .4byte 0x0202BECC _08006678: - ldr r7, _080067AC @ =0x0201A4D0 - ldrh r1, [r7] - adds r0, r1, #0 - subs r0, #8 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #7 - bls _0800668A - b _0800680A + ldr r7, _080067AC @ =0x0201A4D0 + ldrh r1, [r7] + adds r0, r1, #0 + subs r0, #8 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #7 + bls _0800668A + b _0800680A _0800668A: - ldr r0, _080067B0 @ =0x0202C5B4 - mov r8, r0 - strh r1, [r0] - mov r2, sp - ldrh r1, [r7, #4] - movs r6, #0xf - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2] - movs r5, #0xf0 - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #2] - movs r4, #0xf0 - lsls r4, r4, #4 - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #4] - movs r3, #0xf0 - lsls r3, r3, #8 - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #6] - ldrh r1, [r7, #8] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #8] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0xa] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0xc] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0xe] - ldrh r1, [r7, #0xc] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #0x10] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0x12] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0x14] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0x16] - ldrh r1, [r7, #0x10] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #0x18] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0x1a] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0x1c] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0x1e] - ldrh r1, [r7, #0x14] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #0x20] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0x22] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0x24] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0x26] - ldrh r1, [r7, #0x18] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #0x28] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0x2a] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0x2c] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0x2e] - mov r1, sp - ldrh r0, [r7, #0x1c] - ands r6, r0 - strh r6, [r1, #0x30] - ands r5, r0 - lsrs r5, r5, #4 - strh r5, [r1, #0x32] - ands r4, r0 - lsrs r4, r4, #8 - strh r4, [r1, #0x34] - ands r3, r0 - lsrs r3, r3, #0xc - strh r3, [r1, #0x36] - movs r3, #0 - ldr r6, _080067B4 @ =0x0202A1C0 - ldr r5, _080067B8 @ =0x0202A390 - mov r4, sp + ldr r0, _080067B0 @ =0x0202C5B4 + mov r8, r0 + strh r1, [r0] + mov r2, sp + ldrh r1, [r7, #4] + movs r6, #0xf + adds r0, r6, #0 + ands r0, r1 + strh r0, [r2] + movs r5, #0xf0 + adds r0, r5, #0 + ands r0, r1 + lsrs r0, r0, #4 + strh r0, [r2, #2] + movs r4, #0xf0 + lsls r4, r4, #4 + adds r0, r4, #0 + ands r0, r1 + lsrs r0, r0, #8 + strh r0, [r2, #4] + movs r3, #0xf0 + lsls r3, r3, #8 + adds r0, r3, #0 + ands r0, r1 + lsrs r0, r0, #0xc + strh r0, [r2, #6] + ldrh r1, [r7, #8] + adds r0, r6, #0 + ands r0, r1 + strh r0, [r2, #8] + adds r0, r5, #0 + ands r0, r1 + lsrs r0, r0, #4 + strh r0, [r2, #0xa] + adds r0, r4, #0 + ands r0, r1 + lsrs r0, r0, #8 + strh r0, [r2, #0xc] + adds r0, r3, #0 + ands r0, r1 + lsrs r0, r0, #0xc + strh r0, [r2, #0xe] + ldrh r1, [r7, #0xc] + adds r0, r6, #0 + ands r0, r1 + strh r0, [r2, #0x10] + adds r0, r5, #0 + ands r0, r1 + lsrs r0, r0, #4 + strh r0, [r2, #0x12] + adds r0, r4, #0 + ands r0, r1 + lsrs r0, r0, #8 + strh r0, [r2, #0x14] + adds r0, r3, #0 + ands r0, r1 + lsrs r0, r0, #0xc + strh r0, [r2, #0x16] + ldrh r1, [r7, #0x10] + adds r0, r6, #0 + ands r0, r1 + strh r0, [r2, #0x18] + adds r0, r5, #0 + ands r0, r1 + lsrs r0, r0, #4 + strh r0, [r2, #0x1a] + adds r0, r4, #0 + ands r0, r1 + lsrs r0, r0, #8 + strh r0, [r2, #0x1c] + adds r0, r3, #0 + ands r0, r1 + lsrs r0, r0, #0xc + strh r0, [r2, #0x1e] + ldrh r1, [r7, #0x14] + adds r0, r6, #0 + ands r0, r1 + strh r0, [r2, #0x20] + adds r0, r5, #0 + ands r0, r1 + lsrs r0, r0, #4 + strh r0, [r2, #0x22] + adds r0, r4, #0 + ands r0, r1 + lsrs r0, r0, #8 + strh r0, [r2, #0x24] + adds r0, r3, #0 + ands r0, r1 + lsrs r0, r0, #0xc + strh r0, [r2, #0x26] + ldrh r1, [r7, #0x18] + adds r0, r6, #0 + ands r0, r1 + strh r0, [r2, #0x28] + adds r0, r5, #0 + ands r0, r1 + lsrs r0, r0, #4 + strh r0, [r2, #0x2a] + adds r0, r4, #0 + ands r0, r1 + lsrs r0, r0, #8 + strh r0, [r2, #0x2c] + adds r0, r3, #0 + ands r0, r1 + lsrs r0, r0, #0xc + strh r0, [r2, #0x2e] + mov r1, sp + ldrh r0, [r7, #0x1c] + ands r6, r0 + strh r6, [r1, #0x30] + ands r5, r0 + lsrs r5, r5, #4 + strh r5, [r1, #0x32] + ands r4, r0 + lsrs r4, r4, #8 + strh r4, [r1, #0x34] + ands r3, r0 + lsrs r3, r3, #0xc + strh r3, [r1, #0x36] + movs r3, #0 + ldr r6, _080067B4 @ =0x0202A1C0 + ldr r5, _080067B8 @ =0x0202A390 + mov r4, sp _08006780: - mov r2, r8 - ldrh r1, [r2] - subs r1, #8 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r3 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - lsls r1, r2, #1 - adds r0, r1, r6 - movs r7, #0 - ldrsh r0, [r0, r7] - cmp r0, #0 - bne _080067BC - ldrh r0, [r4] - cmp r0, #4 - bne _080067BC - adds r1, r1, r5 - movs r0, #2 - b _080067D2 - .align 2, 0 + mov r2, r8 + ldrh r1, [r2] + subs r1, #8 + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #2 + adds r0, r0, r3 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + lsls r1, r2, #1 + adds r0, r1, r6 + movs r7, #0 + ldrsh r0, [r0, r7] + cmp r0, #0 + bne _080067BC + ldrh r0, [r4] + cmp r0, #4 + bne _080067BC + adds r1, r1, r5 + movs r0, #2 + b _080067D2 + .align 2, 0 _080067AC: .4byte 0x0201A4D0 _080067B0: .4byte 0x0202C5B4 _080067B4: .4byte 0x0202A1C0 _080067B8: .4byte 0x0202A390 _080067BC: - lsls r1, r2, #1 - adds r0, r1, r6 - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #1 - bne _080067D4 - ldrh r0, [r4] - cmp r0, #4 - bne _080067D4 - adds r1, r1, r5 - movs r0, #3 + lsls r1, r2, #1 + adds r0, r1, r6 + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r0, #1 + bne _080067D4 + ldrh r0, [r4] + cmp r0, #4 + bne _080067D4 + adds r1, r1, r5 + movs r0, #3 _080067D2: - strh r0, [r1] + strh r0, [r1] _080067D4: - adds r4, #2 - adds r3, #1 - cmp r3, #0x1b - ble _08006780 - mov r7, r8 - ldrh r0, [r7] - cmp r0, #0xf - bne _080067EA - movs r0, #1 - rsbs r0, r0, #0 - b _0800680C + adds r4, #2 + adds r3, #1 + cmp r3, #0x1b + ble _08006780 + mov r7, r8 + ldrh r0, [r7] + cmp r0, #0xf + bne _080067EA + movs r0, #1 + rsbs r0, r0, #0 + b _0800680C _080067EA: - movs r3, #0 - ldr r5, _08006818 @ =0x0201A4D0 - movs r4, #0 + movs r3, #0 + ldr r5, _08006818 @ =0x0201A4D0 + movs r4, #0 _080067F0: - adds r2, r3, #1 - lsls r0, r3, #2 - movs r1, #1 - adds r0, r0, r5 - adds r0, #2 + adds r2, r3, #1 + lsls r0, r3, #2 + movs r1, #1 + adds r0, r0, r5 + adds r0, #2 _080067FA: - strh r4, [r0] - subs r0, #2 - subs r1, #1 - cmp r1, #0 - bge _080067FA - adds r3, r2, #0 - cmp r3, #7 - ble _080067F0 + strh r4, [r0] + subs r0, #2 + subs r1, #1 + cmp r1, #0 + bge _080067FA + adds r3, r2, #0 + cmp r3, #7 + ble _080067F0 _0800680A: - movs r0, #0 + movs r0, #0 _0800680C: - add sp, #0x38 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - .align 2, 0 + add sp, #0x38 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + .align 2, 0 _08006818: .4byte 0x0201A4D0 - thumb_func_start sub_681C + thumb_func_start sub_681C sub_681C: @ 0x0800681C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #0xc - add r2, sp, #8 - movs r1, #0 - strh r1, [r2] - ldr r2, _08006884 @ =0x040000D4 - add r1, sp, #8 - str r1, [r2] - ldr r1, _08006888 @ =0x03000000 - str r1, [r2, #4] - ldr r1, _0800688C @ =0x81000400 - str r1, [r2, #8] - ldr r1, [r2, #8] - movs r2, #0 - mov r8, r2 - lsls r7, r0, #0x10 - asrs r2, r7, #0x10 - cmp r2, #0xc8 - bne _080068CC - ldr r0, _08006890 @ =0x0202A1C0 - movs r3, #0xc8 - lsls r3, r3, #1 - adds r0, r0, r3 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0 - beq _08006894 - movs r5, #1 - str r5, [sp] - movs r4, #2 - str r4, [sp, #4] - movs r0, #0x22 - movs r1, #1 - movs r2, #5 - movs r3, #2 - bl sub_105A0 - str r5, [sp] - str r4, [sp, #4] - movs r0, #0x20 - movs r1, #1 - movs r2, #6 - movs r3, #2 - bl sub_105A0 - str r5, [sp] - str r4, [sp, #4] - movs r0, #0x21 - b _080068BE - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + sub sp, #0xc + add r2, sp, #8 + movs r1, #0 + strh r1, [r2] + ldr r2, _08006884 @ =0x040000D4 + add r1, sp, #8 + str r1, [r2] + ldr r1, _08006888 @ =0x03000000 + str r1, [r2, #4] + ldr r1, _0800688C @ =0x81000400 + str r1, [r2, #8] + ldr r1, [r2, #8] + movs r2, #0 + mov r8, r2 + lsls r7, r0, #0x10 + asrs r2, r7, #0x10 + cmp r2, #0xc8 + bne _080068CC + ldr r0, _08006890 @ =0x0202A1C0 + movs r3, #0xc8 + lsls r3, r3, #1 + adds r0, r0, r3 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #0 + beq _08006894 + movs r5, #1 + str r5, [sp] + movs r4, #2 + str r4, [sp, #4] + movs r0, #0x22 + movs r1, #1 + movs r2, #5 + movs r3, #2 + bl sub_105A0 + str r5, [sp] + str r4, [sp, #4] + movs r0, #0x20 + movs r1, #1 + movs r2, #6 + movs r3, #2 + bl sub_105A0 + str r5, [sp] + str r4, [sp, #4] + movs r0, #0x21 + b _080068BE + .align 2, 0 _08006884: .4byte 0x040000D4 _08006888: .4byte 0x03000000 _0800688C: .4byte 0x81000400 _08006890: .4byte 0x0202A1C0 _08006894: - movs r5, #1 - str r5, [sp] - movs r4, #2 - str r4, [sp, #4] - movs r0, #0x2a - movs r1, #1 - movs r2, #5 - movs r3, #2 - bl sub_105A0 - str r5, [sp] - str r4, [sp, #4] - movs r0, #0x2a - movs r1, #1 - movs r2, #6 - movs r3, #2 - bl sub_105A0 - str r5, [sp] - str r4, [sp, #4] - movs r0, #0x2a + movs r5, #1 + str r5, [sp] + movs r4, #2 + str r4, [sp, #4] + movs r0, #0x2a + movs r1, #1 + movs r2, #5 + movs r3, #2 + bl sub_105A0 + str r5, [sp] + str r4, [sp, #4] + movs r0, #0x2a + movs r1, #1 + movs r2, #6 + movs r3, #2 + bl sub_105A0 + str r5, [sp] + str r4, [sp, #4] + movs r0, #0x2a _080068BE: - movs r1, #1 - movs r2, #7 - movs r3, #2 - bl sub_105A0 - mov sb, r7 - b _08006900 + movs r1, #1 + movs r2, #7 + movs r3, #2 + bl sub_105A0 + mov sb, r7 + b _08006900 _080068CC: - movs r6, #0 - mov sb, r7 - ldr r1, _08006998 @ =0x0805C8B4 - lsls r0, r2, #3 - adds r0, r0, r2 - lsls r0, r0, #4 - subs r0, r0, r2 - lsls r0, r0, #2 - adds r4, r0, r1 + movs r6, #0 + mov sb, r7 + ldr r1, _08006998 @ =0x0805C8B4 + lsls r0, r2, #3 + adds r0, r0, r2 + lsls r0, r0, #4 + subs r0, r0, r2 + lsls r0, r0, #2 + adds r4, r0, r1 _080068DE: - ldrh r0, [r4] - adds r0, #0x20 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r2, r6, #5 - movs r1, #1 - str r1, [sp] - movs r1, #2 - str r1, [sp, #4] - movs r1, #1 - movs r3, #2 - bl sub_105A0 - adds r4, #2 - adds r6, #1 - cmp r6, #2 - ble _080068DE + ldrh r0, [r4] + adds r0, #0x20 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r2, r6, #5 + movs r1, #1 + str r1, [sp] + movs r1, #2 + str r1, [sp, #4] + movs r1, #1 + movs r3, #2 + bl sub_105A0 + adds r4, #2 + adds r6, #1 + cmp r6, #2 + ble _080068DE _08006900: - ldr r0, _0800699C @ =0x0202A1C0 - mov r3, sb - asrs r2, r3, #0x10 - lsls r1, r2, #1 - adds r1, r1, r0 - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #0 - ble _080069C4 - movs r6, #0 - ldr r1, _080069A0 @ =0x0805C8CC - ldr r5, _080069A4 @ =0x040000D4 - lsls r0, r2, #3 - adds r0, r0, r2 - lsls r0, r0, #4 - subs r0, r0, r2 - lsls r0, r0, #2 - adds r7, r0, r1 + ldr r0, _0800699C @ =0x0202A1C0 + mov r3, sb + asrs r2, r3, #0x10 + lsls r1, r2, #1 + adds r1, r1, r0 + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #0 + ble _080069C4 + movs r6, #0 + ldr r1, _080069A0 @ =0x0805C8CC + ldr r5, _080069A4 @ =0x040000D4 + lsls r0, r2, #3 + adds r0, r0, r2 + lsls r0, r0, #4 + subs r0, r0, r2 + lsls r0, r0, #2 + adds r7, r0, r1 _08006924: - ldrh r1, [r7] - movs r2, #0x10 - rsbs r2, r2, #0 - adds r0, r2, #0 - adds r3, r0, #0 - ands r3, r1 - movs r4, #0xf - ands r4, r1 - cmp r4, #0 - bne _0800693A - movs r4, #4 + ldrh r1, [r7] + movs r2, #0x10 + rsbs r2, r2, #0 + adds r0, r2, #0 + adds r3, r0, #0 + ands r3, r1 + movs r4, #0xf + ands r4, r1 + cmp r4, #0 + bne _0800693A + movs r4, #4 _0800693A: - ldr r1, _080069A8 @ =0x08090780 - adds r0, r3, r1 - str r0, [r5] - ldr r0, _080069AC @ =0x0202BE30 - str r0, [r5, #4] - ldr r2, _080069B0 @ =0x80000010 - str r2, [r5, #8] - ldr r0, [r5, #8] - movs r0, #0x80 - lsls r0, r0, #3 - adds r1, r1, r0 - adds r1, r3, r1 - str r1, [r5] - ldr r0, _080069B4 @ =0x0201B130 - str r0, [r5, #4] - str r2, [r5, #8] - ldr r0, [r5, #8] - adds r0, r4, #0 - mov r1, r8 - movs r2, #0 - bl sub_71DC - add r8, r4 - adds r7, #2 - adds r6, #1 - cmp r6, #9 - ble _08006924 - ldr r4, _080069B8 @ =0x03000000 - ldr r1, _080069BC @ =0x06004C00 - adds r0, r4, #0 - movs r2, #8 - movs r3, #2 - bl sub_10708 - add r1, sp, #8 - movs r0, #0 - strh r0, [r1] - ldr r0, _080069A4 @ =0x040000D4 - str r1, [r0] - str r4, [r0, #4] - ldr r1, _080069C0 @ =0x81000400 - str r1, [r0, #8] - ldr r0, [r0, #8] - movs r1, #0 - mov r8, r1 - b _080069DC - .align 2, 0 + ldr r1, _080069A8 @ =0x08090780 + adds r0, r3, r1 + str r0, [r5] + ldr r0, _080069AC @ =0x0202BE30 + str r0, [r5, #4] + ldr r2, _080069B0 @ =0x80000010 + str r2, [r5, #8] + ldr r0, [r5, #8] + movs r0, #0x80 + lsls r0, r0, #3 + adds r1, r1, r0 + adds r1, r3, r1 + str r1, [r5] + ldr r0, _080069B4 @ =0x0201B130 + str r0, [r5, #4] + str r2, [r5, #8] + ldr r0, [r5, #8] + adds r0, r4, #0 + mov r1, r8 + movs r2, #0 + bl sub_71DC + add r8, r4 + adds r7, #2 + adds r6, #1 + cmp r6, #9 + ble _08006924 + ldr r4, _080069B8 @ =0x03000000 + ldr r1, _080069BC @ =0x06004C00 + adds r0, r4, #0 + movs r2, #8 + movs r3, #2 + bl sub_10708 + add r1, sp, #8 + movs r0, #0 + strh r0, [r1] + ldr r0, _080069A4 @ =0x040000D4 + str r1, [r0] + str r4, [r0, #4] + ldr r1, _080069C0 @ =0x81000400 + str r1, [r0, #8] + ldr r0, [r0, #8] + movs r1, #0 + mov r8, r1 + b _080069DC + .align 2, 0 _08006998: .4byte 0x0805C8B4 _0800699C: .4byte 0x0202A1C0 _080069A0: .4byte 0x0805C8CC @@ -12767,96 +12767,96 @@ _080069B8: .4byte 0x03000000 _080069BC: .4byte 0x06004C00 _080069C0: .4byte 0x81000400 _080069C4: - ldr r4, _08006A74 @ =0x06004C00 - movs r6, #9 + ldr r4, _08006A74 @ =0x06004C00 + movs r6, #9 _080069C8: - ldr r0, _08006A78 @ =0x08092FA0 - adds r1, r4, #0 - movs r2, #1 - movs r3, #2 - bl sub_10708 - adds r4, #0x20 - subs r6, #1 - cmp r6, #0 - bge _080069C8 + ldr r0, _08006A78 @ =0x08092FA0 + adds r1, r4, #0 + movs r2, #1 + movs r3, #2 + bl sub_10708 + adds r4, #0x20 + subs r6, #1 + cmp r6, #0 + bge _080069C8 _080069DC: - ldr r1, _08006A7C @ =0x0202A1C0 - mov r3, sb - asrs r2, r3, #0x10 - lsls r0, r2, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #1 - beq _080069F2 - cmp r0, #2 - ble _08006AA4 + ldr r1, _08006A7C @ =0x0202A1C0 + mov r3, sb + asrs r2, r3, #0x10 + lsls r0, r2, #1 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #1 + beq _080069F2 + cmp r0, #2 + ble _08006AA4 _080069F2: - movs r6, #0 - ldr r1, _08006A80 @ =0x0805C8E0 - ldr r5, _08006A84 @ =0x040000D4 - lsls r0, r2, #3 - adds r0, r0, r2 - lsls r0, r0, #4 - subs r0, r0, r2 - lsls r0, r0, #2 - adds r7, r0, r1 + movs r6, #0 + ldr r1, _08006A80 @ =0x0805C8E0 + ldr r5, _08006A84 @ =0x040000D4 + lsls r0, r2, #3 + adds r0, r0, r2 + lsls r0, r0, #4 + subs r0, r0, r2 + lsls r0, r0, #2 + adds r7, r0, r1 _08006A04: - ldrh r1, [r7] - movs r2, #0x10 - rsbs r2, r2, #0 - adds r0, r2, #0 - adds r3, r0, #0 - ands r3, r1 - movs r4, #0xf - ands r4, r1 - cmp r4, #0 - bne _08006A1A - movs r4, #6 + ldrh r1, [r7] + movs r2, #0x10 + rsbs r2, r2, #0 + adds r0, r2, #0 + adds r3, r0, #0 + ands r3, r1 + movs r4, #0xf + ands r4, r1 + cmp r4, #0 + bne _08006A1A + movs r4, #6 _08006A1A: - ldr r1, _08006A88 @ =0x08090780 - adds r0, r3, r1 - str r0, [r5] - ldr r0, _08006A8C @ =0x0202BE30 - str r0, [r5, #4] - ldr r2, _08006A90 @ =0x80000010 - str r2, [r5, #8] - ldr r0, [r5, #8] - movs r0, #0x80 - lsls r0, r0, #3 - adds r1, r1, r0 - adds r1, r3, r1 - str r1, [r5] - ldr r0, _08006A94 @ =0x0201B130 - str r0, [r5, #4] - str r2, [r5, #8] - ldr r0, [r5, #8] - adds r0, r4, #0 - mov r1, r8 - movs r2, #0 - bl sub_71DC - add r8, r4 - adds r7, #2 - adds r6, #1 - cmp r6, #0xa - ble _08006A04 - ldr r4, _08006A98 @ =0x03000000 - ldr r1, _08006A9C @ =0x06004D00 - adds r0, r4, #0 - movs r2, #9 - movs r3, #2 - bl sub_10708 - add r1, sp, #8 - movs r0, #0 - strh r0, [r1] - ldr r0, _08006A84 @ =0x040000D4 - str r1, [r0] - str r4, [r0, #4] - ldr r1, _08006AA0 @ =0x81000400 - str r1, [r0, #8] - ldr r0, [r0, #8] - b _08006ABC - .align 2, 0 + ldr r1, _08006A88 @ =0x08090780 + adds r0, r3, r1 + str r0, [r5] + ldr r0, _08006A8C @ =0x0202BE30 + str r0, [r5, #4] + ldr r2, _08006A90 @ =0x80000010 + str r2, [r5, #8] + ldr r0, [r5, #8] + movs r0, #0x80 + lsls r0, r0, #3 + adds r1, r1, r0 + adds r1, r3, r1 + str r1, [r5] + ldr r0, _08006A94 @ =0x0201B130 + str r0, [r5, #4] + str r2, [r5, #8] + ldr r0, [r5, #8] + adds r0, r4, #0 + mov r1, r8 + movs r2, #0 + bl sub_71DC + add r8, r4 + adds r7, #2 + adds r6, #1 + cmp r6, #0xa + ble _08006A04 + ldr r4, _08006A98 @ =0x03000000 + ldr r1, _08006A9C @ =0x06004D00 + adds r0, r4, #0 + movs r2, #9 + movs r3, #2 + bl sub_10708 + add r1, sp, #8 + movs r0, #0 + strh r0, [r1] + ldr r0, _08006A84 @ =0x040000D4 + str r1, [r0] + str r4, [r0, #4] + ldr r1, _08006AA0 @ =0x81000400 + str r1, [r0, #8] + ldr r0, [r0, #8] + b _08006ABC + .align 2, 0 _08006A74: .4byte 0x06004C00 _08006A78: .4byte 0x08092FA0 _08006A7C: .4byte 0x0202A1C0 @@ -12870,495 +12870,495 @@ _08006A98: .4byte 0x03000000 _08006A9C: .4byte 0x06004D00 _08006AA0: .4byte 0x81000400 _08006AA4: - ldr r4, _08006B6C @ =0x06004D00 - movs r6, #8 + ldr r4, _08006B6C @ =0x06004D00 + movs r6, #8 _08006AA8: - ldr r0, _08006B70 @ =0x08092FA0 - adds r1, r4, #0 - movs r2, #1 - movs r3, #2 - bl sub_10708 - adds r4, #0x20 - subs r6, #1 - cmp r6, #0 - bge _08006AA8 + ldr r0, _08006B70 @ =0x08092FA0 + adds r1, r4, #0 + movs r2, #1 + movs r3, #2 + bl sub_10708 + adds r4, #0x20 + subs r6, #1 + cmp r6, #0 + bge _08006AA8 _08006ABC: - ldr r0, _08006B74 @ =0x0202A1C0 - mov r1, sb - asrs r2, r1, #0x10 - lsls r1, r2, #1 - adds r1, r1, r0 - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #4 - bne _08006B7C - ldr r0, _08006B78 @ =0x0805C8B4 - mov sb, r0 - lsls r4, r2, #3 - adds r4, r4, r2 - lsls r4, r4, #4 - subs r4, r4, r2 - lsls r4, r4, #2 - adds r1, r4, #0 - add r1, sb - mov r8, r1 - ldrh r0, [r1, #6] - adds r0, #0x20 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r6, #1 - str r6, [sp] - movs r5, #2 - str r5, [sp, #4] - movs r1, #1 - movs r2, #0x10 - movs r3, #6 - bl sub_105A0 - mov r2, r8 - ldrh r0, [r2, #8] - adds r0, #0x20 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r6, [sp] - str r5, [sp, #4] - movs r1, #1 - movs r2, #0x11 - movs r3, #6 - bl sub_105A0 - mov r3, r8 - ldrh r0, [r3, #0xa] - adds r0, #0x20 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r6, [sp] - str r5, [sp, #4] - movs r1, #1 - movs r2, #0x13 - movs r3, #6 - bl sub_105A0 - mov r1, r8 - ldrh r0, [r1, #0xc] - adds r0, #0x20 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r6, [sp] - str r5, [sp, #4] - movs r1, #1 - movs r2, #0x14 - movs r3, #6 - bl sub_105A0 - movs r6, #0 - movs r2, #0xe - add sb, r2 - add r4, sb - movs r5, #1 + ldr r0, _08006B74 @ =0x0202A1C0 + mov r1, sb + asrs r2, r1, #0x10 + lsls r1, r2, #1 + adds r1, r1, r0 + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #4 + bne _08006B7C + ldr r0, _08006B78 @ =0x0805C8B4 + mov sb, r0 + lsls r4, r2, #3 + adds r4, r4, r2 + lsls r4, r4, #4 + subs r4, r4, r2 + lsls r4, r4, #2 + adds r1, r4, #0 + add r1, sb + mov r8, r1 + ldrh r0, [r1, #6] + adds r0, #0x20 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r6, #1 + str r6, [sp] + movs r5, #2 + str r5, [sp, #4] + movs r1, #1 + movs r2, #0x10 + movs r3, #6 + bl sub_105A0 + mov r2, r8 + ldrh r0, [r2, #8] + adds r0, #0x20 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r6, [sp] + str r5, [sp, #4] + movs r1, #1 + movs r2, #0x11 + movs r3, #6 + bl sub_105A0 + mov r3, r8 + ldrh r0, [r3, #0xa] + adds r0, #0x20 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r6, [sp] + str r5, [sp, #4] + movs r1, #1 + movs r2, #0x13 + movs r3, #6 + bl sub_105A0 + mov r1, r8 + ldrh r0, [r1, #0xc] + adds r0, #0x20 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r6, [sp] + str r5, [sp, #4] + movs r1, #1 + movs r2, #0x14 + movs r3, #6 + bl sub_105A0 + movs r6, #0 + movs r2, #0xe + add sb, r2 + add r4, sb + movs r5, #1 _08006B4E: - ldrh r0, [r4] - adds r2, r6, #0 - adds r2, #0x10 - str r5, [sp] - str r5, [sp, #4] - movs r1, #1 - movs r3, #8 - bl sub_105A0 - adds r4, #2 - adds r6, #1 - cmp r6, #4 - ble _08006B4E - b _08006BDC - .align 2, 0 + ldrh r0, [r4] + adds r2, r6, #0 + adds r2, #0x10 + str r5, [sp] + str r5, [sp, #4] + movs r1, #1 + movs r3, #8 + bl sub_105A0 + adds r4, #2 + adds r6, #1 + cmp r6, #4 + ble _08006B4E + b _08006BDC + .align 2, 0 _08006B6C: .4byte 0x06004D00 _08006B70: .4byte 0x08092FA0 _08006B74: .4byte 0x0202A1C0 _08006B78: .4byte 0x0805C8B4 _08006B7C: - movs r5, #1 - str r5, [sp] - movs r4, #2 - str r4, [sp, #4] - movs r0, #0x2b - movs r1, #1 - movs r2, #0x10 - movs r3, #6 - bl sub_105A0 - str r5, [sp] - str r4, [sp, #4] - movs r0, #0x2b - movs r1, #1 - movs r2, #0x11 - movs r3, #6 - bl sub_105A0 - str r5, [sp] - str r4, [sp, #4] - movs r0, #0x2b - movs r1, #1 - movs r2, #0x13 - movs r3, #6 - bl sub_105A0 - str r5, [sp] - str r4, [sp, #4] - movs r0, #0x2b - movs r1, #1 - movs r2, #0x14 - movs r3, #6 - bl sub_105A0 - movs r6, #0 - movs r4, #1 + movs r5, #1 + str r5, [sp] + movs r4, #2 + str r4, [sp, #4] + movs r0, #0x2b + movs r1, #1 + movs r2, #0x10 + movs r3, #6 + bl sub_105A0 + str r5, [sp] + str r4, [sp, #4] + movs r0, #0x2b + movs r1, #1 + movs r2, #0x11 + movs r3, #6 + bl sub_105A0 + str r5, [sp] + str r4, [sp, #4] + movs r0, #0x2b + movs r1, #1 + movs r2, #0x13 + movs r3, #6 + bl sub_105A0 + str r5, [sp] + str r4, [sp, #4] + movs r0, #0x2b + movs r1, #1 + movs r2, #0x14 + movs r3, #6 + bl sub_105A0 + movs r6, #0 + movs r4, #1 _08006BC4: - adds r2, r6, #0 - adds r2, #0x10 - str r4, [sp] - str r4, [sp, #4] - movs r0, #0xb - movs r1, #1 - movs r3, #8 - bl sub_105A0 - adds r6, #1 - cmp r6, #4 - ble _08006BC4 + adds r2, r6, #0 + adds r2, #0x10 + str r4, [sp] + str r4, [sp, #4] + movs r0, #0xb + movs r1, #1 + movs r3, #8 + bl sub_105A0 + adds r6, #1 + cmp r6, #4 + ble _08006BC4 _08006BDC: - add sp, #0xc - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_start sub_6BEC + add sp, #0xc + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_start sub_6BEC sub_6BEC: @ 0x08006BEC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #0x20 - adds r4, r1, #0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - lsls r0, r0, #0x10 - asrs r6, r0, #0x10 - adds r0, r6, #0 - movs r1, #0x64 - bl __divsi3 - str r0, [sp, #8] - adds r0, r6, #0 - movs r1, #0x64 - bl __modsi3 - adds r5, r0, #0 - movs r1, #0xa - bl __divsi3 - str r0, [sp, #0xc] - adds r0, r5, #0 - movs r1, #0xa - bl __modsi3 - str r0, [sp, #0x10] - lsls r4, r4, #0x10 - asrs r6, r4, #0x10 - add r5, sp, #0x14 - adds r0, r6, #0 - movs r1, #0x64 - bl __divsi3 - str r0, [sp, #0x14] - adds r0, r6, #0 - movs r1, #0x64 - bl __modsi3 - adds r4, r0, #0 - movs r1, #0xa - bl __divsi3 - str r0, [r5, #4] - adds r0, r4, #0 - movs r1, #0xa - bl __modsi3 - str r0, [r5, #8] - movs r6, #0 - movs r7, #1 - mov r8, r5 - add r5, sp, #8 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #0x20 + adds r4, r1, #0 + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + lsls r0, r0, #0x10 + asrs r6, r0, #0x10 + adds r0, r6, #0 + movs r1, #0x64 + bl __divsi3 + str r0, [sp, #8] + adds r0, r6, #0 + movs r1, #0x64 + bl __modsi3 + adds r5, r0, #0 + movs r1, #0xa + bl __divsi3 + str r0, [sp, #0xc] + adds r0, r5, #0 + movs r1, #0xa + bl __modsi3 + str r0, [sp, #0x10] + lsls r4, r4, #0x10 + asrs r6, r4, #0x10 + add r5, sp, #0x14 + adds r0, r6, #0 + movs r1, #0x64 + bl __divsi3 + str r0, [sp, #0x14] + adds r0, r6, #0 + movs r1, #0x64 + bl __modsi3 + adds r4, r0, #0 + movs r1, #0xa + bl __divsi3 + str r0, [r5, #4] + adds r0, r4, #0 + movs r1, #0xa + bl __modsi3 + str r0, [r5, #8] + movs r6, #0 + movs r7, #1 + mov r8, r5 + add r5, sp, #8 _08006C58: - ldm r5!, {r0} - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r4, r6, #0 - adds r4, #0x19 - str r7, [sp] - str r7, [sp, #4] - movs r1, #2 - adds r2, r4, #0 - movs r3, #0xf - bl sub_105A0 - mov r1, r8 - adds r1, #4 - mov r8, r1 - subs r1, #4 - ldm r1!, {r0} - adds r0, #0x20 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r7, [sp] - movs r1, #2 - str r1, [sp, #4] - adds r2, r4, #0 - movs r3, #0x10 - bl sub_105A0 - adds r6, #1 - cmp r6, #2 - ble _08006C58 - add sp, #0x20 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_start sub_6CA0 + ldm r5!, {r0} + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r4, r6, #0 + adds r4, #0x19 + str r7, [sp] + str r7, [sp, #4] + movs r1, #2 + adds r2, r4, #0 + movs r3, #0xf + bl sub_105A0 + mov r1, r8 + adds r1, #4 + mov r8, r1 + subs r1, #4 + ldm r1!, {r0} + adds r0, #0x20 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r7, [sp] + movs r1, #2 + str r1, [sp, #4] + adds r2, r4, #0 + movs r3, #0x10 + bl sub_105A0 + adds r6, #1 + cmp r6, #2 + ble _08006C58 + add sp, #0x20 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_start sub_6CA0 sub_6CA0: @ 0x08006CA0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x20 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r0, [sp, #0xc] - add r1, sp, #8 - movs r0, #0 - strh r0, [r1] - ldr r1, _08006D2C @ =0x040000D4 - add r0, sp, #8 - str r0, [r1] - ldr r0, _08006D30 @ =0x03000000 - str r0, [r1, #4] - ldr r0, _08006D34 @ =0x81000400 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r1, #0 - str r1, [sp, #0x10] - mov r8, r1 - ldr r2, [sp, #0xc] - lsls r2, r2, #0x10 - str r2, [sp, #0x14] - movs r3, #1 - mov sb, r3 - movs r5, #2 - movs r4, #0 - str r4, [sp, #0x18] - movs r4, #0xa + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x20 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r0, [sp, #0xc] + add r1, sp, #8 + movs r0, #0 + strh r0, [r1] + ldr r1, _08006D2C @ =0x040000D4 + add r0, sp, #8 + str r0, [r1] + ldr r0, _08006D30 @ =0x03000000 + str r0, [r1, #4] + ldr r0, _08006D34 @ =0x81000400 + str r0, [r1, #8] + ldr r0, [r1, #8] + movs r1, #0 + str r1, [sp, #0x10] + mov r8, r1 + ldr r2, [sp, #0xc] + lsls r2, r2, #0x10 + str r2, [sp, #0x14] + movs r3, #1 + mov sb, r3 + movs r5, #2 + movs r4, #0 + str r4, [sp, #0x18] + movs r4, #0xa _08006CE0: - ldr r1, [sp, #0xc] - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - add r0, r8 - cmp r0, #0xc8 - bne _08006D74 - ldr r0, _08006D38 @ =0x0202A1C0 - movs r2, #0xc8 - lsls r2, r2, #1 - adds r0, r0, r2 - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r0, #0 - beq _08006D3C - mov r0, sb - str r0, [sp] - str r5, [sp, #4] - movs r0, #0x22 - movs r1, #2 - movs r2, #8 - adds r3, r4, #0 - bl sub_105A0 - mov r1, sb - str r1, [sp] - str r5, [sp, #4] - movs r0, #0x20 - movs r1, #2 - movs r2, #9 - adds r3, r4, #0 - bl sub_105A0 - mov r2, sb - str r2, [sp] - str r5, [sp, #4] - movs r0, #0x21 - b _08006D68 - .align 2, 0 + ldr r1, [sp, #0xc] + lsls r0, r1, #0x10 + asrs r0, r0, #0x10 + add r0, r8 + cmp r0, #0xc8 + bne _08006D74 + ldr r0, _08006D38 @ =0x0202A1C0 + movs r2, #0xc8 + lsls r2, r2, #1 + adds r0, r0, r2 + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r0, #0 + beq _08006D3C + mov r0, sb + str r0, [sp] + str r5, [sp, #4] + movs r0, #0x22 + movs r1, #2 + movs r2, #8 + adds r3, r4, #0 + bl sub_105A0 + mov r1, sb + str r1, [sp] + str r5, [sp, #4] + movs r0, #0x20 + movs r1, #2 + movs r2, #9 + adds r3, r4, #0 + bl sub_105A0 + mov r2, sb + str r2, [sp] + str r5, [sp, #4] + movs r0, #0x21 + b _08006D68 + .align 2, 0 _08006D2C: .4byte 0x040000D4 _08006D30: .4byte 0x03000000 _08006D34: .4byte 0x81000400 _08006D38: .4byte 0x0202A1C0 _08006D3C: - mov r3, sb - str r3, [sp] - str r5, [sp, #4] - movs r0, #0x2a - movs r1, #2 - movs r2, #8 - adds r3, r4, #0 - bl sub_105A0 - mov r0, sb - str r0, [sp] - str r5, [sp, #4] - movs r0, #0x2a - movs r1, #2 - movs r2, #9 - adds r3, r4, #0 - bl sub_105A0 - mov r1, sb - str r1, [sp] - str r5, [sp, #4] - movs r0, #0x2a + mov r3, sb + str r3, [sp] + str r5, [sp, #4] + movs r0, #0x2a + movs r1, #2 + movs r2, #8 + adds r3, r4, #0 + bl sub_105A0 + mov r0, sb + str r0, [sp] + str r5, [sp, #4] + movs r0, #0x2a + movs r1, #2 + movs r2, #9 + adds r3, r4, #0 + bl sub_105A0 + mov r1, sb + str r1, [sp] + str r5, [sp, #4] + movs r0, #0x2a _08006D68: - movs r1, #2 - movs r2, #0xa - adds r3, r4, #0 - bl sub_105A0 - b _08006DB6 + movs r1, #2 + movs r2, #0xa + adds r3, r4, #0 + bl sub_105A0 + b _08006DB6 _08006D74: - movs r6, #0 - ldr r7, [sp, #0x18] - ldr r2, _08006E94 @ =0x0805C8B4 - mov sl, r2 + movs r6, #0 + ldr r7, [sp, #0x18] + ldr r2, _08006E94 @ =0x0805C8B4 + mov sl, r2 _08006D7C: - lsls r2, r6, #1 - ldr r0, _08006E98 @ =0x0202C5B0 - movs r3, #0 - ldrsh r1, [r0, r3] - add r1, r8 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #4 - subs r0, r0, r1 - lsls r0, r0, #2 - adds r2, r2, r0 - add r2, sl - ldrh r0, [r2] - adds r0, #0x20 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r2, r6, #0 - adds r2, #8 - mov r1, sb - str r1, [sp] - str r5, [sp, #4] - movs r1, #2 - adds r3, r7, #0 - adds r3, #0xa - bl sub_105A0 - adds r6, #1 - cmp r6, #2 - ble _08006D7C + lsls r2, r6, #1 + ldr r0, _08006E98 @ =0x0202C5B0 + movs r3, #0 + ldrsh r1, [r0, r3] + add r1, r8 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #4 + subs r0, r0, r1 + lsls r0, r0, #2 + adds r2, r2, r0 + add r2, sl + ldrh r0, [r2] + adds r0, #0x20 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r2, r6, #0 + adds r2, #8 + mov r1, sb + str r1, [sp] + str r5, [sp, #4] + movs r1, #2 + adds r3, r7, #0 + adds r3, #0xa + bl sub_105A0 + adds r6, #1 + cmp r6, #2 + ble _08006D7C _08006DB6: - ldr r2, [sp, #0x18] - adds r2, #2 - str r2, [sp, #0x18] - adds r4, #2 - movs r3, #1 - add r8, r3 - mov r0, r8 - cmp r0, #4 - ble _08006CE0 - movs r1, #0 - mov r8, r1 + ldr r2, [sp, #0x18] + adds r2, #2 + str r2, [sp, #0x18] + adds r4, #2 + movs r3, #1 + add r8, r3 + mov r0, r8 + cmp r0, #4 + ble _08006CE0 + movs r1, #0 + mov r8, r1 _08006DCC: - ldr r0, _08006E9C @ =0x0202A1C0 - ldr r2, [sp, #0x14] - asrs r1, r2, #0x10 - add r1, r8 - lsls r1, r1, #1 - adds r1, r1, r0 - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #0 - ble _08006EC4 - movs r6, #0 - mov r4, r8 - lsls r7, r4, #1 - movs r0, #1 - add r0, r8 - mov sb, r0 - ldr r5, _08006EA0 @ =0x040000D4 - ldr r3, _08006EA4 @ =0x08090780 - movs r1, #0x80 - lsls r1, r1, #3 - adds r1, r1, r3 - mov sl, r1 + ldr r0, _08006E9C @ =0x0202A1C0 + ldr r2, [sp, #0x14] + asrs r1, r2, #0x10 + add r1, r8 + lsls r1, r1, #1 + adds r1, r1, r0 + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #0 + ble _08006EC4 + movs r6, #0 + mov r4, r8 + lsls r7, r4, #1 + movs r0, #1 + add r0, r8 + mov sb, r0 + ldr r5, _08006EA0 @ =0x040000D4 + ldr r3, _08006EA4 @ =0x08090780 + movs r1, #0x80 + lsls r1, r1, #3 + adds r1, r1, r3 + mov sl, r1 _08006DF8: - lsls r2, r6, #1 - ldr r0, _08006E98 @ =0x0202C5B0 - movs r4, #0 - ldrsh r1, [r0, r4] - add r1, r8 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #4 - subs r0, r0, r1 - lsls r0, r0, #2 - adds r2, r2, r0 - ldr r0, _08006EA8 @ =0x0805C8CC - adds r2, r2, r0 - ldrh r1, [r2] - movs r2, #0x10 - rsbs r2, r2, #0 - adds r0, r2, #0 - adds r2, r1, #0 - ands r2, r0 - movs r4, #0xf - ands r4, r1 - cmp r4, #0 - bne _08006E28 - movs r4, #4 + lsls r2, r6, #1 + ldr r0, _08006E98 @ =0x0202C5B0 + movs r4, #0 + ldrsh r1, [r0, r4] + add r1, r8 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #4 + subs r0, r0, r1 + lsls r0, r0, #2 + adds r2, r2, r0 + ldr r0, _08006EA8 @ =0x0805C8CC + adds r2, r2, r0 + ldrh r1, [r2] + movs r2, #0x10 + rsbs r2, r2, #0 + adds r0, r2, #0 + adds r2, r1, #0 + ands r2, r0 + movs r4, #0xf + ands r4, r1 + cmp r4, #0 + bne _08006E28 + movs r4, #4 _08006E28: - adds r0, r2, r3 - str r0, [r5] - ldr r0, _08006EAC @ =0x0202BE30 - str r0, [r5, #4] - ldr r0, _08006EB0 @ =0x80000010 - str r0, [r5, #8] - ldr r0, [r5, #8] - mov r1, sl - adds r0, r2, r1 - str r0, [r5] - ldr r0, _08006EB4 @ =0x0201B130 - str r0, [r5, #4] - ldr r2, _08006EB0 @ =0x80000010 - str r2, [r5, #8] - ldr r0, [r5, #8] - adds r0, r4, #0 - ldr r1, [sp, #0x10] - movs r2, #0 - str r3, [sp, #0x1c] - bl sub_71DC - ldr r0, [sp, #0x10] - adds r0, r0, r4 - str r0, [sp, #0x10] - adds r6, #1 - ldr r3, [sp, #0x1c] - cmp r6, #9 - ble _08006DF8 - ldr r1, _08006EB8 @ =0x086A64F0 - adds r0, r7, r1 - movs r2, #0 - ldrsh r1, [r0, r2] - movs r3, #0xc0 - lsls r3, r3, #0x13 - adds r1, r1, r3 - ldr r0, _08006EBC @ =0x03000000 - movs r2, #8 - movs r3, #2 - bl sub_10708 - add r1, sp, #8 - movs r0, #0 - strh r0, [r1] - ldr r1, _08006EA0 @ =0x040000D4 - add r4, sp, #8 - str r4, [r1] - ldr r0, _08006EBC @ =0x03000000 - str r0, [r1, #4] - ldr r0, _08006EC0 @ =0x81000400 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r1, #0 - str r1, [sp, #0x10] - b _08006F06 - .align 2, 0 + adds r0, r2, r3 + str r0, [r5] + ldr r0, _08006EAC @ =0x0202BE30 + str r0, [r5, #4] + ldr r0, _08006EB0 @ =0x80000010 + str r0, [r5, #8] + ldr r0, [r5, #8] + mov r1, sl + adds r0, r2, r1 + str r0, [r5] + ldr r0, _08006EB4 @ =0x0201B130 + str r0, [r5, #4] + ldr r2, _08006EB0 @ =0x80000010 + str r2, [r5, #8] + ldr r0, [r5, #8] + adds r0, r4, #0 + ldr r1, [sp, #0x10] + movs r2, #0 + str r3, [sp, #0x1c] + bl sub_71DC + ldr r0, [sp, #0x10] + adds r0, r0, r4 + str r0, [sp, #0x10] + adds r6, #1 + ldr r3, [sp, #0x1c] + cmp r6, #9 + ble _08006DF8 + ldr r1, _08006EB8 @ =0x086A64F0 + adds r0, r7, r1 + movs r2, #0 + ldrsh r1, [r0, r2] + movs r3, #0xc0 + lsls r3, r3, #0x13 + adds r1, r1, r3 + ldr r0, _08006EBC @ =0x03000000 + movs r2, #8 + movs r3, #2 + bl sub_10708 + add r1, sp, #8 + movs r0, #0 + strh r0, [r1] + ldr r1, _08006EA0 @ =0x040000D4 + add r4, sp, #8 + str r4, [r1] + ldr r0, _08006EBC @ =0x03000000 + str r0, [r1, #4] + ldr r0, _08006EC0 @ =0x81000400 + str r0, [r1, #8] + ldr r0, [r1, #8] + movs r1, #0 + str r1, [sp, #0x10] + b _08006F06 + .align 2, 0 _08006E94: .4byte 0x0805C8B4 _08006E98: .4byte 0x0202C5B0 _08006E9C: .4byte 0x0202A1C0 @@ -13372,249 +13372,249 @@ _08006EB8: .4byte 0x086A64F0 _08006EBC: .4byte 0x03000000 _08006EC0: .4byte 0x81000400 _08006EC4: - mov r2, r8 - lsls r7, r2, #1 - movs r3, #1 - add r3, r8 - mov sb, r3 - ldr r4, _08006F20 @ =0x086A64F0 - adds r5, r7, r4 - movs r4, #0xc0 - lsls r4, r4, #0x13 - movs r6, #6 + mov r2, r8 + lsls r7, r2, #1 + movs r3, #1 + add r3, r8 + mov sb, r3 + ldr r4, _08006F20 @ =0x086A64F0 + adds r5, r7, r4 + movs r4, #0xc0 + lsls r4, r4, #0x13 + movs r6, #6 _08006ED8: - movs r0, #0 - ldrsh r1, [r5, r0] - adds r1, r1, r4 - ldr r0, _08006F24 @ =0x08092FA0 - movs r2, #1 - movs r3, #2 - bl sub_10708 - adds r4, #0x20 - subs r6, #1 - cmp r6, #0 - bge _08006ED8 - ldr r1, _08006F20 @ =0x086A64F0 - adds r0, r7, r1 - movs r2, #0 - ldrsh r1, [r0, r2] - ldr r3, _08006F28 @ =0x060000E0 - adds r1, r1, r3 - ldr r0, _08006F2C @ =0x08090780 - movs r2, #1 - movs r3, #2 - bl sub_10708 + movs r0, #0 + ldrsh r1, [r5, r0] + adds r1, r1, r4 + ldr r0, _08006F24 @ =0x08092FA0 + movs r2, #1 + movs r3, #2 + bl sub_10708 + adds r4, #0x20 + subs r6, #1 + cmp r6, #0 + bge _08006ED8 + ldr r1, _08006F20 @ =0x086A64F0 + adds r0, r7, r1 + movs r2, #0 + ldrsh r1, [r0, r2] + ldr r3, _08006F28 @ =0x060000E0 + adds r1, r1, r3 + ldr r0, _08006F2C @ =0x08090780 + movs r2, #1 + movs r3, #2 + bl sub_10708 _08006F06: - mov r8, sb - mov r4, r8 - cmp r4, #4 - bgt _08006F10 - b _08006DCC + mov r8, sb + mov r4, r8 + cmp r4, #4 + bgt _08006F10 + b _08006DCC _08006F10: - add sp, #0x20 - 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 + add sp, #0x20 + 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 _08006F20: .4byte 0x086A64F0 _08006F24: .4byte 0x08092FA0 _08006F28: .4byte 0x060000E0 _08006F2C: .4byte 0x08090780 - thumb_func_start sub_6F30 + thumb_func_start sub_6F30 sub_6F30: @ 0x08006F30 - push {r4, r5, r6, r7, lr} - sub sp, #8 - ldr r1, _08006F74 @ =0x0202A1C0 - lsls r0, r0, #0x10 - movs r6, #0xa - asrs r0, r0, #0xf - adds r4, r0, r1 - movs r7, #2 - movs r5, #4 + push {r4, r5, r6, r7, lr} + sub sp, #8 + ldr r1, _08006F74 @ =0x0202A1C0 + lsls r0, r0, #0x10 + movs r6, #0xa + asrs r0, r0, #0xf + adds r4, r0, r1 + movs r7, #2 + movs r5, #4 _08006F42: - movs r1, #0 - ldrsh r0, [r4, r1] - movs r1, #0xdc - lsls r1, r1, #1 - cmp r0, #4 - bne _08006F50 - adds r1, #2 + movs r1, #0 + ldrsh r0, [r4, r1] + movs r1, #0xdc + lsls r1, r1, #1 + cmp r0, #4 + bne _08006F50 + adds r1, #2 _08006F50: - adds r0, r1, #0 - str r7, [sp] - str r7, [sp, #4] - movs r1, #1 - movs r2, #4 - adds r3, r6, #0 - bl sub_105A0 - adds r6, #2 - adds r4, #2 - subs r5, #1 - cmp r5, #0 - bge _08006F42 - add sp, #8 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + adds r0, r1, #0 + str r7, [sp] + str r7, [sp, #4] + movs r1, #1 + movs r2, #4 + adds r3, r6, #0 + bl sub_105A0 + adds r6, #2 + adds r4, #2 + subs r5, #1 + cmp r5, #0 + bge _08006F42 + add sp, #8 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08006F74: .4byte 0x0202A1C0 - thumb_func_start sub_6F78 + thumb_func_start sub_6F78 sub_6F78: @ 0x08006F78 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r1, _08006FBC @ =0x0202A1C0 - ldr r0, _08006FC0 @ =0x0202ADE0 - movs r2, #0 - ldrsh r0, [r0, r2] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r5, [r0] - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - adds r0, r4, #0 - movs r1, #0xf - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - adds r0, r4, #0 - movs r1, #0xf - bl __modsi3 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - lsls r5, r5, #0x10 - asrs r0, r5, #0x10 - cmp r0, #4 - bls _08006FB0 - b _080070C0 + push {r4, r5, r6, lr} + adds r4, r0, #0 + ldr r1, _08006FBC @ =0x0202A1C0 + ldr r0, _08006FC0 @ =0x0202ADE0 + movs r2, #0 + ldrsh r0, [r0, r2] + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r5, [r0] + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + adds r0, r4, #0 + movs r1, #0xf + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r6, r0, #0x10 + adds r0, r4, #0 + movs r1, #0xf + bl __modsi3 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + lsls r5, r5, #0x10 + asrs r0, r5, #0x10 + cmp r0, #4 + bls _08006FB0 + b _080070C0 _08006FB0: - lsls r0, r0, #2 - ldr r1, _08006FC4 @ =_08006FC8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08006FC4 @ =_08006FC8 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08006FBC: .4byte 0x0202A1C0 _08006FC0: .4byte 0x0202ADE0 _08006FC4: .4byte _08006FC8 _08006FC8: @ jump table - .4byte _08006FDC @ case 0 - .4byte _08007000 @ case 1 - .4byte _08007040 @ case 2 - .4byte _08007040 @ case 3 - .4byte _08007088 @ case 4 + .4byte _08006FDC @ case 0 + .4byte _08007000 @ case 1 + .4byte _08007040 @ case 2 + .4byte _08007040 @ case 3 + .4byte _08007088 @ case 4 _08006FDC: - ldr r0, _08006FF0 @ =0x0808F760 - ldr r1, _08006FF4 @ =0x06013400 - movs r2, #0x18 - movs r3, #1 - bl sub_10708 - ldr r1, _08006FF8 @ =0x040000D4 - ldr r0, _08006FFC @ =0x08089960 - b _080070B4 - .align 2, 0 + ldr r0, _08006FF0 @ =0x0808F760 + ldr r1, _08006FF4 @ =0x06013400 + movs r2, #0x18 + movs r3, #1 + bl sub_10708 + ldr r1, _08006FF8 @ =0x040000D4 + ldr r0, _08006FFC @ =0x08089960 + b _080070B4 + .align 2, 0 _08006FF0: .4byte 0x0808F760 _08006FF4: .4byte 0x06013400 _08006FF8: .4byte 0x040000D4 _08006FFC: .4byte 0x08089960 _08007000: - ldr r0, _08007030 @ =0x086BB738 - lsls r2, r6, #0x10 - asrs r2, r2, #0xe - adds r2, r2, r0 - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #8 - ldr r0, [r2] - adds r0, r0, r1 - ldr r1, _08007034 @ =0x06013400 - movs r2, #0x18 - movs r3, #1 - bl sub_10708 - ldr r1, _08007038 @ =0x040000D4 - ldr r0, _0800703C @ =0x086BB6A4 - ldr r0, [r0] - movs r2, #0xf0 - lsls r2, r2, #1 - adds r0, r0, r2 - b _080070B4 - .align 2, 0 + ldr r0, _08007030 @ =0x086BB738 + lsls r2, r6, #0x10 + asrs r2, r2, #0xe + adds r2, r2, r0 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #1 + adds r1, r1, r0 + lsls r1, r1, #8 + ldr r0, [r2] + adds r0, r0, r1 + ldr r1, _08007034 @ =0x06013400 + movs r2, #0x18 + movs r3, #1 + bl sub_10708 + ldr r1, _08007038 @ =0x040000D4 + ldr r0, _0800703C @ =0x086BB6A4 + ldr r0, [r0] + movs r2, #0xf0 + lsls r2, r2, #1 + adds r0, r0, r2 + b _080070B4 + .align 2, 0 _08007030: .4byte 0x086BB738 _08007034: .4byte 0x06013400 _08007038: .4byte 0x040000D4 _0800703C: .4byte 0x086BB6A4 _08007040: - ldr r0, _08007078 @ =0x086BB738 - lsls r5, r6, #0x10 - asrs r5, r5, #0xe - adds r0, r5, r0 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - lsls r1, r4, #1 - adds r1, r1, r4 - lsls r1, r1, #8 - ldr r0, [r0] - adds r0, r0, r1 - ldr r1, _0800707C @ =0x06013400 - movs r2, #0x18 - movs r3, #1 - bl sub_10708 - ldr r0, _08007080 @ =0x086BB6A4 - adds r5, r5, r0 - lsls r4, r4, #5 - ldr r0, [r5] - adds r0, r0, r4 - ldr r1, _08007084 @ =0x05000220 - movs r2, #0x20 - movs r3, #0xe - bl sub_10170 - b _080070C0 - .align 2, 0 + ldr r0, _08007078 @ =0x086BB738 + lsls r5, r6, #0x10 + asrs r5, r5, #0xe + adds r0, r5, r0 + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + lsls r1, r4, #1 + adds r1, r1, r4 + lsls r1, r1, #8 + ldr r0, [r0] + adds r0, r0, r1 + ldr r1, _0800707C @ =0x06013400 + movs r2, #0x18 + movs r3, #1 + bl sub_10708 + ldr r0, _08007080 @ =0x086BB6A4 + adds r5, r5, r0 + lsls r4, r4, #5 + ldr r0, [r5] + adds r0, r0, r4 + ldr r1, _08007084 @ =0x05000220 + movs r2, #0x20 + movs r3, #0xe + bl sub_10170 + b _080070C0 + .align 2, 0 _08007078: .4byte 0x086BB738 _0800707C: .4byte 0x06013400 _08007080: .4byte 0x086BB6A4 _08007084: .4byte 0x05000220 _08007088: - ldr r0, _080070C8 @ =0x086BB738 - lsls r5, r6, #0x10 - asrs r5, r5, #0xe - adds r0, r5, r0 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - lsls r1, r4, #1 - adds r1, r1, r4 - lsls r1, r1, #8 - ldr r0, [r0] - adds r0, r0, r1 - ldr r1, _080070CC @ =0x06013400 - movs r2, #0x18 - movs r3, #1 - bl sub_10708 - ldr r1, _080070D0 @ =0x040000D4 - ldr r0, _080070D4 @ =0x086BB6A4 - adds r5, r5, r0 - lsls r4, r4, #5 - ldr r0, [r5] - adds r0, r0, r4 + ldr r0, _080070C8 @ =0x086BB738 + lsls r5, r6, #0x10 + asrs r5, r5, #0xe + adds r0, r5, r0 + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + lsls r1, r4, #1 + adds r1, r1, r4 + lsls r1, r1, #8 + ldr r0, [r0] + adds r0, r0, r1 + ldr r1, _080070CC @ =0x06013400 + movs r2, #0x18 + movs r3, #1 + bl sub_10708 + ldr r1, _080070D0 @ =0x040000D4 + ldr r0, _080070D4 @ =0x086BB6A4 + adds r5, r5, r0 + lsls r4, r4, #5 + ldr r0, [r5] + adds r0, r0, r4 _080070B4: - str r0, [r1] - ldr r0, _080070D8 @ =0x05000220 - str r0, [r1, #4] - ldr r0, _080070DC @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] + str r0, [r1] + ldr r0, _080070D8 @ =0x05000220 + str r0, [r1, #4] + ldr r0, _080070DC @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] _080070C0: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _080070C8: .4byte 0x086BB738 _080070CC: .4byte 0x06013400 _080070D0: .4byte 0x040000D4 @@ -13622,117 +13622,117 @@ _080070D4: .4byte 0x086BB6A4 _080070D8: .4byte 0x05000220 _080070DC: .4byte 0x80000010 - thumb_func_start sub_70E0 + thumb_func_start sub_70E0 sub_70E0: @ 0x080070E0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0xc - movs r2, #0 - mov r8, r2 - mov r2, sp - mov r3, r8 - strh r3, [r2] - ldr r3, _080071B4 @ =0x040000D4 - str r2, [r3] - ldr r2, _080071B8 @ =0x03000000 - str r2, [r3, #4] - ldr r2, _080071BC @ =0x81000C00 - str r2, [r3, #8] - ldr r2, [r3, #8] - movs r7, #0 - lsls r2, r1, #6 - lsls r0, r0, #0x10 - str r0, [sp, #8] - subs r2, r2, r1 - lsls r2, r2, #1 - str r2, [sp, #4] - adds r5, r3, #0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0xc + movs r2, #0 + mov r8, r2 + mov r2, sp + mov r3, r8 + strh r3, [r2] + ldr r3, _080071B4 @ =0x040000D4 + str r2, [r3] + ldr r2, _080071B8 @ =0x03000000 + str r2, [r3, #4] + ldr r2, _080071BC @ =0x81000C00 + str r2, [r3, #8] + ldr r2, [r3, #8] + movs r7, #0 + lsls r2, r1, #6 + lsls r0, r0, #0x10 + str r0, [sp, #8] + subs r2, r2, r1 + lsls r2, r2, #1 + str r2, [sp, #4] + adds r5, r3, #0 _08007114: - movs r6, #0 - adds r0, r7, #1 - mov sl, r0 - movs r1, #0x2a - adds r0, r7, #0 - muls r0, r1, r0 - ldr r2, [sp, #4] - adds r2, r2, r0 - mov sb, r2 + movs r6, #0 + adds r0, r7, #1 + mov sl, r0 + movs r1, #0x2a + adds r0, r7, #0 + muls r0, r1, r0 + ldr r2, [sp, #4] + adds r2, r2, r0 + mov sb, r2 _08007126: - mov r3, sb - adds r1, r3, r6 - lsls r1, r1, #1 - ldr r0, [sp, #8] - asrs r2, r0, #0x10 - lsls r0, r2, #3 - adds r0, r0, r2 - lsls r0, r0, #4 - subs r0, r0, r2 - lsls r0, r0, #2 - adds r1, r1, r0 - ldr r2, _080071C0 @ =0x0805C8F6 - adds r1, r1, r2 - ldrh r1, [r1] - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r3, #0 - adds r3, r1, #0 - ands r3, r0 - movs r4, #0xf - ands r4, r1 - cmp r4, #0 - bne _08007156 - movs r4, #4 + mov r3, sb + adds r1, r3, r6 + lsls r1, r1, #1 + ldr r0, [sp, #8] + asrs r2, r0, #0x10 + lsls r0, r2, #3 + adds r0, r0, r2 + lsls r0, r0, #4 + subs r0, r0, r2 + lsls r0, r0, #2 + adds r1, r1, r0 + ldr r2, _080071C0 @ =0x0805C8F6 + adds r1, r1, r2 + ldrh r1, [r1] + movs r3, #0x10 + rsbs r3, r3, #0 + adds r0, r3, #0 + adds r3, r1, #0 + ands r3, r0 + movs r4, #0xf + ands r4, r1 + cmp r4, #0 + bne _08007156 + movs r4, #4 _08007156: - ldr r1, _080071C4 @ =0x08090780 - adds r0, r3, r1 - str r0, [r5] - ldr r0, _080071C8 @ =0x0202BE30 - str r0, [r5, #4] - ldr r2, _080071CC @ =0x80000010 - str r2, [r5, #8] - ldr r0, [r5, #8] - movs r0, #0x80 - lsls r0, r0, #3 - adds r1, r1, r0 - adds r1, r3, r1 - str r1, [r5] - ldr r0, _080071D0 @ =0x0201B130 - str r0, [r5, #4] - str r2, [r5, #8] - ldr r0, [r5, #8] - adds r0, r4, #0 - mov r1, r8 - adds r2, r7, #0 - bl sub_71DC - add r8, r4 - adds r6, #1 - cmp r6, #0x29 - ble _08007126 - movs r1, #0 - mov r8, r1 - mov r7, sl - cmp r7, #2 - ble _08007114 - ldr r1, _080071B4 @ =0x040000D4 - ldr r0, _080071B8 @ =0x03000000 - str r0, [r1] - ldr r0, _080071D4 @ =0x06005C00 - str r0, [r1, #4] - ldr r0, _080071D8 @ =0x80000C00 - str r0, [r1, #8] - ldr r0, [r1, #8] - add sp, #0xc - 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 + ldr r1, _080071C4 @ =0x08090780 + adds r0, r3, r1 + str r0, [r5] + ldr r0, _080071C8 @ =0x0202BE30 + str r0, [r5, #4] + ldr r2, _080071CC @ =0x80000010 + str r2, [r5, #8] + ldr r0, [r5, #8] + movs r0, #0x80 + lsls r0, r0, #3 + adds r1, r1, r0 + adds r1, r3, r1 + str r1, [r5] + ldr r0, _080071D0 @ =0x0201B130 + str r0, [r5, #4] + str r2, [r5, #8] + ldr r0, [r5, #8] + adds r0, r4, #0 + mov r1, r8 + adds r2, r7, #0 + bl sub_71DC + add r8, r4 + adds r6, #1 + cmp r6, #0x29 + ble _08007126 + movs r1, #0 + mov r8, r1 + mov r7, sl + cmp r7, #2 + ble _08007114 + ldr r1, _080071B4 @ =0x040000D4 + ldr r0, _080071B8 @ =0x03000000 + str r0, [r1] + ldr r0, _080071D4 @ =0x06005C00 + str r0, [r1, #4] + ldr r0, _080071D8 @ =0x80000C00 + str r0, [r1, #8] + ldr r0, [r1, #8] + add sp, #0xc + 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 _080071B4: .4byte 0x040000D4 _080071B8: .4byte 0x03000000 _080071BC: .4byte 0x81000C00 @@ -13744,3001 +13744,3001 @@ _080071D0: .4byte 0x0201B130 _080071D4: .4byte 0x06005C00 _080071D8: .4byte 0x80000C00 - thumb_func_start sub_71DC + thumb_func_start sub_71DC sub_71DC: @ 0x080071DC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x14 - adds r4, r0, #0 - adds r3, r1, #0 - adds r0, r3, #0 - cmp r3, #0 - bge _080071F4 - adds r0, r3, #7 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x14 + adds r4, r0, #0 + adds r3, r1, #0 + adds r0, r3, #0 + cmp r3, #0 + bge _080071F4 + adds r0, r3, #7 _080071F4: - asrs r0, r0, #3 - lsls r0, r0, #4 - lsls r1, r2, #0xa - adds r2, r0, r1 - subs r0, r4, #2 - cmp r0, #4 - bls _08007206 - bl _080088C8 + asrs r0, r0, #3 + lsls r0, r0, #4 + lsls r1, r2, #0xa + adds r2, r0, r1 + subs r0, r4, #2 + cmp r0, #4 + bls _08007206 + bl _080088C8 _08007206: - lsls r0, r0, #2 - ldr r1, _08007210 @ =_08007214 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08007210 @ =_08007214 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08007210: .4byte _08007214 _08007214: @ jump table - .4byte _08008580 @ case 0 - .4byte _0800819C @ case 1 - .4byte _08007D50 @ case 2 - .4byte _0800780C @ case 3 - .4byte _08007228 @ case 4 + .4byte _08008580 @ case 0 + .4byte _0800819C @ case 1 + .4byte _08007D50 @ case 2 + .4byte _0800780C @ case 3 + .4byte _08007228 @ case 4 _08007228: - adds r0, r3, #0 - cmp r3, #0 - bge _08007230 - adds r0, r3, #7 + adds r0, r3, #0 + cmp r3, #0 + bge _08007230 + adds r0, r3, #7 _08007230: - asrs r0, r0, #3 - lsls r0, r0, #3 - subs r0, r3, r0 - cmp r0, #7 - bls _0800723E - bl _080088C8 + asrs r0, r0, #3 + lsls r0, r0, #3 + subs r0, r3, r0 + cmp r0, #7 + bls _0800723E + bl _080088C8 _0800723E: - lsls r0, r0, #2 - ldr r1, _08007248 @ =_0800724C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08007248 @ =_0800724C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08007248: .4byte _0800724C _0800724C: @ jump table - .4byte _0800726C @ case 0 - .4byte _080072EC @ case 1 - .4byte _08007398 @ case 2 - .4byte _0800744C @ case 3 - .4byte _08007548 @ case 4 - .4byte _080075C0 @ case 5 - .4byte _0800766C @ case 6 - .4byte _08007714 @ case 7 + .4byte _0800726C @ case 0 + .4byte _080072EC @ case 1 + .4byte _08007398 @ case 2 + .4byte _0800744C @ case 3 + .4byte _08007548 @ case 4 + .4byte _080075C0 @ case 5 + .4byte _0800766C @ case 6 + .4byte _08007714 @ case 7 _0800726C: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - ldr r1, _080072E0 @ =0x03000000 - mov sb, r1 - movs r0, #0xff - mov sl, r0 - ldr r1, _080072E4 @ =0x0201B130 - mov r8, r1 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - lsls r0, r2, #1 - mov r2, sb - adds r5, r0, r2 - ldr r6, _080072E8 @ =0x0202BE30 - lsls r1, r1, #1 - adds r4, r1, r2 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + ldr r1, _080072E0 @ =0x03000000 + mov sb, r1 + movs r0, #0xff + mov sl, r0 + ldr r1, _080072E4 @ =0x0201B130 + mov r8, r1 + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + lsls r0, r2, #1 + mov r2, sb + adds r5, r0, r2 + ldr r6, _080072E8 @ =0x0202BE30 + lsls r1, r1, #1 + adds r4, r1, r2 _08007290: - lsls r3, r7, #1 - ldrh r0, [r5] - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r5] - add r3, ip - lsls r2, r3, #1 - add r2, sb - ldrh r1, [r6, #2] - mov r0, sl - ands r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r4] - mov r2, r8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r4] - movs r0, #0x80 - lsls r0, r0, #2 - adds r3, r3, r0 - lsls r3, r3, #1 - add r3, sb - ldrh r1, [r2, #2] - mov r0, sl - ands r0, r1 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - movs r1, #4 - add r8, r1 - adds r4, #4 - adds r5, #4 - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _08007290 - bl _080088C8 - .align 2, 0 + lsls r3, r7, #1 + ldrh r0, [r5] + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r5] + add r3, ip + lsls r2, r3, #1 + add r2, sb + ldrh r1, [r6, #2] + mov r0, sl + ands r0, r1 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + ldrh r0, [r4] + mov r2, r8 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r4] + movs r0, #0x80 + lsls r0, r0, #2 + adds r3, r3, r0 + lsls r3, r3, #1 + add r3, sb + ldrh r1, [r2, #2] + mov r0, sl + ands r0, r1 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + movs r1, #4 + add r8, r1 + adds r4, #4 + adds r5, #4 + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _08007290 + bl _080088C8 + .align 2, 0 _080072E0: .4byte 0x03000000 _080072E4: .4byte 0x0201B130 _080072E8: .4byte 0x0202BE30 _080072EC: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - ldr r1, _08007388 @ =0x03000000 - mov sl, r1 - ldr r0, _0800738C @ =0x0201B130 - mov sb, r0 - ldr r1, _08007390 @ =0x0202BE30 - mov r8, r1 - lsls r0, r2, #1 - mov r2, sl - adds r6, r0, r2 - movs r1, #0x80 - lsls r1, r1, #3 - adds r0, r0, r1 - adds r5, r0, r2 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + ldr r1, _08007388 @ =0x03000000 + mov sl, r1 + ldr r0, _0800738C @ =0x0201B130 + mov sb, r0 + ldr r1, _08007390 @ =0x0202BE30 + mov r8, r1 + lsls r0, r2, #1 + mov r2, sl + adds r6, r0, r2 + movs r1, #0x80 + lsls r1, r1, #3 + adds r0, r0, r1 + adds r5, r0, r2 _0800730C: - lsls r4, r7, #1 - mov r2, r8 - ldrh r1, [r2] - ldr r0, _08007394 @ =0x00000FFF - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r6] - add r4, ip - lsls r3, r4, #1 - add r3, sl - ldrh r0, [r2] - movs r1, #0xf0 - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #0xc - ldrh r2, [r2, #2] - movs r0, #0xff - ands r0, r2 - lsls r0, r0, #4 - orrs r1, r0 - ldrh r0, [r3] - orrs r1, r0 - strh r1, [r3] - mov r0, sb - ldrh r1, [r0] - ldr r0, _08007394 @ =0x00000FFF - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] - movs r1, #0x80 - lsls r1, r1, #2 - adds r4, r4, r1 - lsls r4, r4, #1 - add r4, sl - mov r2, sb - ldrh r0, [r2] - movs r1, #0xf0 - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #0xc - ldrh r2, [r2, #2] - movs r0, #0xff - ands r0, r2 - lsls r0, r0, #4 - orrs r1, r0 - ldrh r0, [r4] - orrs r1, r0 - strh r1, [r4] - movs r0, #4 - add sb, r0 - add r8, r0 - adds r6, #4 - adds r5, #4 - adds r7, #1 - cmp r7, #7 - ble _0800730C - bl _080088C8 - .align 2, 0 + lsls r4, r7, #1 + mov r2, r8 + ldrh r1, [r2] + ldr r0, _08007394 @ =0x00000FFF + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r6] + add r4, ip + lsls r3, r4, #1 + add r3, sl + ldrh r0, [r2] + movs r1, #0xf0 + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #0xc + ldrh r2, [r2, #2] + movs r0, #0xff + ands r0, r2 + lsls r0, r0, #4 + orrs r1, r0 + ldrh r0, [r3] + orrs r1, r0 + strh r1, [r3] + mov r0, sb + ldrh r1, [r0] + ldr r0, _08007394 @ =0x00000FFF + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r5] + movs r1, #0x80 + lsls r1, r1, #2 + adds r4, r4, r1 + lsls r4, r4, #1 + add r4, sl + mov r2, sb + ldrh r0, [r2] + movs r1, #0xf0 + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #0xc + ldrh r2, [r2, #2] + movs r0, #0xff + ands r0, r2 + lsls r0, r0, #4 + orrs r1, r0 + ldrh r0, [r4] + orrs r1, r0 + strh r1, [r4] + movs r0, #4 + add sb, r0 + add r8, r0 + adds r6, #4 + adds r5, #4 + adds r7, #1 + cmp r7, #7 + ble _0800730C + bl _080088C8 + .align 2, 0 _08007388: .4byte 0x03000000 _0800738C: .4byte 0x0201B130 _08007390: .4byte 0x0202BE30 _08007394: .4byte 0x00000FFF _08007398: - movs r7, #0 - adds r1, r2, #1 - mov ip, r1 - movs r0, #0xff - mov sl, r0 - ldr r1, _08007440 @ =0x0201B130 - mov sb, r1 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - ldr r0, _08007444 @ =0x0202BE30 - mov r8, r0 - lsls r0, r2, #1 - ldr r2, _08007448 @ =0x03000000 - adds r6, r0, r2 - lsls r1, r1, #1 - adds r5, r1, r2 + movs r7, #0 + adds r1, r2, #1 + mov ip, r1 + movs r0, #0xff + mov sl, r0 + ldr r1, _08007440 @ =0x0201B130 + mov sb, r1 + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + ldr r0, _08007444 @ =0x0202BE30 + mov r8, r0 + lsls r0, r2, #1 + ldr r2, _08007448 @ =0x03000000 + adds r6, r0, r2 + lsls r1, r1, #1 + adds r5, r1, r2 _080073BA: - lsls r4, r7, #1 - mov r0, r8 - ldrh r1, [r0] - mov r0, sl - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r6] - add r4, ip - lsls r3, r4, #1 - ldr r1, _08007448 @ =0x03000000 - adds r3, r3, r1 - mov r2, r8 - ldrh r0, [r2] - movs r1, #0xff - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #8 - ldrh r2, [r2, #2] - mov r0, sl - ands r0, r2 - lsls r0, r0, #8 - orrs r1, r0 - ldrh r0, [r3] - orrs r1, r0 - strh r1, [r3] - mov r0, sb - ldrh r1, [r0] - mov r0, sl - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] - movs r1, #0x80 - lsls r1, r1, #2 - adds r4, r4, r1 - lsls r4, r4, #1 - ldr r2, _08007448 @ =0x03000000 - adds r4, r4, r2 - mov r1, sb - ldrh r0, [r1] - movs r1, #0xff - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #8 - mov r0, sb - ldrh r2, [r0, #2] - mov r0, sl - ands r0, r2 - lsls r0, r0, #8 - orrs r1, r0 - ldrh r0, [r4] - orrs r1, r0 - strh r1, [r4] - movs r1, #4 - add sb, r1 - adds r5, #4 - add r8, r1 - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _080073BA - bl _080088C8 - .align 2, 0 + lsls r4, r7, #1 + mov r0, r8 + ldrh r1, [r0] + mov r0, sl + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r6] + add r4, ip + lsls r3, r4, #1 + ldr r1, _08007448 @ =0x03000000 + adds r3, r3, r1 + mov r2, r8 + ldrh r0, [r2] + movs r1, #0xff + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #8 + ldrh r2, [r2, #2] + mov r0, sl + ands r0, r2 + lsls r0, r0, #8 + orrs r1, r0 + ldrh r0, [r3] + orrs r1, r0 + strh r1, [r3] + mov r0, sb + ldrh r1, [r0] + mov r0, sl + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r5] + movs r1, #0x80 + lsls r1, r1, #2 + adds r4, r4, r1 + lsls r4, r4, #1 + ldr r2, _08007448 @ =0x03000000 + adds r4, r4, r2 + mov r1, sb + ldrh r0, [r1] + movs r1, #0xff + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #8 + mov r0, sb + ldrh r2, [r0, #2] + mov r0, sl + ands r0, r2 + lsls r0, r0, #8 + orrs r1, r0 + ldrh r0, [r4] + orrs r1, r0 + strh r1, [r4] + movs r1, #4 + add sb, r1 + adds r5, #4 + add r8, r1 + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _080073BA + bl _080088C8 + .align 2, 0 _08007440: .4byte 0x0201B130 _08007444: .4byte 0x0202BE30 _08007448: .4byte 0x03000000 _0800744C: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - movs r1, #0x10 - adds r1, r1, r2 - mov sb, r1 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - movs r0, #2 - str r0, [sp, #8] - ldr r0, _08007538 @ =0x0202BE30 - mov sl, r0 - lsls r0, r2, #1 - ldr r2, _0800753C @ =0x03000000 - adds r0, r0, r2 - mov r8, r0 - ldr r0, _08007540 @ =0x0201B130 - str r0, [sp, #0x10] - lsls r1, r1, #1 - adds r6, r1, r2 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + movs r1, #0x10 + adds r1, r1, r2 + mov sb, r1 + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + movs r0, #2 + str r0, [sp, #8] + ldr r0, _08007538 @ =0x0202BE30 + mov sl, r0 + lsls r0, r2, #1 + ldr r2, _0800753C @ =0x03000000 + adds r0, r0, r2 + mov r8, r0 + ldr r0, _08007540 @ =0x0201B130 + str r0, [sp, #0x10] + lsls r1, r1, #1 + adds r6, r1, r2 _08007476: - lsls r5, r7, #1 - mov r2, sl - ldrh r1, [r2] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - mov r2, r8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - mov r0, ip - adds r4, r5, r0 - lsls r3, r4, #1 - ldr r1, _0800753C @ =0x03000000 - adds r3, r3, r1 - mov r2, sl - ldrh r0, [r2] - ldr r1, _08007544 @ =0x0000FFF0 - ands r1, r0 - lsrs r1, r1, #4 - ldrh r2, [r2, #2] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #0xc - orrs r1, r0 - ldrh r0, [r3] - orrs r1, r0 - strh r1, [r3] - add r5, sb - lsls r2, r5, #1 - ldr r0, _0800753C @ =0x03000000 - adds r2, r2, r0 - mov r0, sl - ldrh r1, [r0, #2] - movs r0, #0xf0 - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - ldr r2, [sp, #0x10] - ldrh r1, [r2] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r6] - movs r0, #0x80 - lsls r0, r0, #2 - adds r4, r4, r0 - lsls r4, r4, #1 - ldr r1, _0800753C @ =0x03000000 - adds r4, r4, r1 - ldrh r0, [r2] - ldr r1, _08007544 @ =0x0000FFF0 - ands r1, r0 - lsrs r1, r1, #4 - ldr r2, [sp, #8] - ldr r0, _08007540 @ =0x0201B130 - adds r3, r2, r0 - ldrh r2, [r3] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #0xc - orrs r1, r0 - ldrh r0, [r4] - orrs r1, r0 - strh r1, [r4] - movs r1, #0x80 - lsls r1, r1, #2 - adds r5, r5, r1 - lsls r5, r5, #1 - ldr r2, _0800753C @ =0x03000000 - adds r5, r5, r2 - ldrh r1, [r3] - movs r0, #0xf0 - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] - adds r6, #4 - ldr r0, [sp, #8] - adds r0, #4 - str r0, [sp, #8] - movs r1, #4 - add sl, r1 - add r8, r1 - ldr r2, [sp, #0x10] - adds r2, #4 - str r2, [sp, #0x10] - adds r7, #1 - cmp r7, #7 - ble _08007476 - bl _080088C8 - .align 2, 0 + lsls r5, r7, #1 + mov r2, sl + ldrh r1, [r2] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + mov r2, r8 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + mov r0, ip + adds r4, r5, r0 + lsls r3, r4, #1 + ldr r1, _0800753C @ =0x03000000 + adds r3, r3, r1 + mov r2, sl + ldrh r0, [r2] + ldr r1, _08007544 @ =0x0000FFF0 + ands r1, r0 + lsrs r1, r1, #4 + ldrh r2, [r2, #2] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #0xc + orrs r1, r0 + ldrh r0, [r3] + orrs r1, r0 + strh r1, [r3] + add r5, sb + lsls r2, r5, #1 + ldr r0, _0800753C @ =0x03000000 + adds r2, r2, r0 + mov r0, sl + ldrh r1, [r0, #2] + movs r0, #0xf0 + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + ldr r2, [sp, #0x10] + ldrh r1, [r2] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r6] + movs r0, #0x80 + lsls r0, r0, #2 + adds r4, r4, r0 + lsls r4, r4, #1 + ldr r1, _0800753C @ =0x03000000 + adds r4, r4, r1 + ldrh r0, [r2] + ldr r1, _08007544 @ =0x0000FFF0 + ands r1, r0 + lsrs r1, r1, #4 + ldr r2, [sp, #8] + ldr r0, _08007540 @ =0x0201B130 + adds r3, r2, r0 + ldrh r2, [r3] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #0xc + orrs r1, r0 + ldrh r0, [r4] + orrs r1, r0 + strh r1, [r4] + movs r1, #0x80 + lsls r1, r1, #2 + adds r5, r5, r1 + lsls r5, r5, #1 + ldr r2, _0800753C @ =0x03000000 + adds r5, r5, r2 + ldrh r1, [r3] + movs r0, #0xf0 + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r5] + adds r6, #4 + ldr r0, [sp, #8] + adds r0, #4 + str r0, [sp, #8] + movs r1, #4 + add sl, r1 + add r8, r1 + ldr r2, [sp, #0x10] + adds r2, #4 + str r2, [sp, #0x10] + adds r7, #1 + cmp r7, #7 + ble _08007476 + bl _080088C8 + .align 2, 0 _08007538: .4byte 0x0202BE30 _0800753C: .4byte 0x03000000 _08007540: .4byte 0x0201B130 _08007544: .4byte 0x0000FFF0 _08007548: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - adds r2, #0x10 - mov sb, r2 - ldr r1, _080075B4 @ =0x03000000 - mov r8, r1 - movs r2, #0x80 - lsls r2, r2, #2 - mov sl, r2 - ldr r6, _080075B8 @ =0x0201B130 - ldr r5, _080075BC @ =0x0202BE30 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + adds r2, #0x10 + mov sb, r2 + ldr r1, _080075B4 @ =0x03000000 + mov r8, r1 + movs r2, #0x80 + lsls r2, r2, #2 + mov sl, r2 + ldr r6, _080075B8 @ =0x0201B130 + ldr r5, _080075BC @ =0x0202BE30 _08007560: - lsls r4, r7, #1 - mov r0, ip - adds r3, r4, r0 - lsls r2, r3, #1 - add r2, r8 - ldrh r0, [r2] - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r2] - add r4, sb - lsls r2, r4, #1 - add r2, r8 - ldrh r1, [r5, #2] - movs r0, #0xff - ands r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r3, sl - lsls r3, r3, #1 - add r3, r8 - ldrh r0, [r3] - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r3] - add r4, sl - lsls r4, r4, #1 - add r4, r8 - ldrh r1, [r6, #2] - movs r0, #0xff - ands r0, r1 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - adds r6, #4 - adds r5, #4 - adds r7, #1 - cmp r7, #7 - ble _08007560 - bl _080088C8 - .align 2, 0 + lsls r4, r7, #1 + mov r0, ip + adds r3, r4, r0 + lsls r2, r3, #1 + add r2, r8 + ldrh r0, [r2] + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r2] + add r4, sb + lsls r2, r4, #1 + add r2, r8 + ldrh r1, [r5, #2] + movs r0, #0xff + ands r0, r1 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r3, sl + lsls r3, r3, #1 + add r3, r8 + ldrh r0, [r3] + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r3] + add r4, sl + lsls r4, r4, #1 + add r4, r8 + ldrh r1, [r6, #2] + movs r0, #0xff + ands r0, r1 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + adds r6, #4 + adds r5, #4 + adds r7, #1 + cmp r7, #7 + ble _08007560 + bl _080088C8 + .align 2, 0 _080075B4: .4byte 0x03000000 _080075B8: .4byte 0x0201B130 _080075BC: .4byte 0x0202BE30 _080075C0: - movs r7, #0 - adds r1, r2, #1 - mov ip, r1 - adds r2, #0x10 - mov sb, r2 - ldr r2, _0800765C @ =0x03000000 - mov sl, r2 - ldr r0, _08007660 @ =0x0201B130 - mov r8, r0 - ldr r6, _08007664 @ =0x0202BE30 + movs r7, #0 + adds r1, r2, #1 + mov ip, r1 + adds r2, #0x10 + mov sb, r2 + ldr r2, _0800765C @ =0x03000000 + mov sl, r2 + ldr r0, _08007660 @ =0x0201B130 + mov r8, r0 + ldr r6, _08007664 @ =0x0202BE30 _080075D4: - lsls r5, r7, #1 - mov r1, ip - adds r3, r5, r1 - lsls r2, r3, #1 - add r2, sl - ldrh r1, [r6] - ldr r0, _08007668 @ =0x00000FFF - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r5, sb - lsls r4, r5, #1 - add r4, sl - ldrh r0, [r6] - movs r1, #0xf0 - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #0xc - ldrh r2, [r6, #2] - movs r0, #0xff - ands r0, r2 - lsls r0, r0, #4 - orrs r1, r0 - ldrh r0, [r4] - orrs r1, r0 - strh r1, [r4] - movs r2, #0x80 - lsls r2, r2, #2 - adds r3, r3, r2 - lsls r3, r3, #1 - add r3, sl - mov r0, r8 - ldrh r1, [r0] - ldr r0, _08007668 @ =0x00000FFF - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - adds r5, r5, r2 - lsls r5, r5, #1 - add r5, sl - mov r1, r8 - ldrh r0, [r1] - movs r1, #0xf0 - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #0xc - mov r0, r8 - ldrh r2, [r0, #2] - movs r0, #0xff - ands r0, r2 - lsls r0, r0, #4 - orrs r1, r0 - ldrh r0, [r5] - orrs r1, r0 - strh r1, [r5] - movs r1, #4 - add r8, r1 - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _080075D4 - bl _080088C8 - .align 2, 0 + lsls r5, r7, #1 + mov r1, ip + adds r3, r5, r1 + lsls r2, r3, #1 + add r2, sl + ldrh r1, [r6] + ldr r0, _08007668 @ =0x00000FFF + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r5, sb + lsls r4, r5, #1 + add r4, sl + ldrh r0, [r6] + movs r1, #0xf0 + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #0xc + ldrh r2, [r6, #2] + movs r0, #0xff + ands r0, r2 + lsls r0, r0, #4 + orrs r1, r0 + ldrh r0, [r4] + orrs r1, r0 + strh r1, [r4] + movs r2, #0x80 + lsls r2, r2, #2 + adds r3, r3, r2 + lsls r3, r3, #1 + add r3, sl + mov r0, r8 + ldrh r1, [r0] + ldr r0, _08007668 @ =0x00000FFF + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + adds r5, r5, r2 + lsls r5, r5, #1 + add r5, sl + mov r1, r8 + ldrh r0, [r1] + movs r1, #0xf0 + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #0xc + mov r0, r8 + ldrh r2, [r0, #2] + movs r0, #0xff + ands r0, r2 + lsls r0, r0, #4 + orrs r1, r0 + ldrh r0, [r5] + orrs r1, r0 + strh r1, [r5] + movs r1, #4 + add r8, r1 + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _080075D4 + bl _080088C8 + .align 2, 0 _0800765C: .4byte 0x03000000 _08007660: .4byte 0x0201B130 _08007664: .4byte 0x0202BE30 _08007668: .4byte 0x00000FFF _0800766C: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - adds r2, #0x10 - mov sb, r2 - ldr r1, _08007708 @ =0x03000000 - mov sl, r1 - ldr r2, _0800770C @ =0x0201B130 - mov r8, r2 - ldr r6, _08007710 @ =0x0202BE30 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + adds r2, #0x10 + mov sb, r2 + ldr r1, _08007708 @ =0x03000000 + mov sl, r1 + ldr r2, _0800770C @ =0x0201B130 + mov r8, r2 + ldr r6, _08007710 @ =0x0202BE30 _08007680: - lsls r5, r7, #1 - mov r0, ip - adds r3, r5, r0 - lsls r2, r3, #1 - add r2, sl - ldrh r1, [r6] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r5, sb - lsls r4, r5, #1 - add r4, sl - ldrh r0, [r6] - movs r1, #0xff - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #8 - ldrh r2, [r6, #2] - movs r0, #0xff - ands r0, r2 - lsls r0, r0, #8 - orrs r1, r0 - ldrh r0, [r4] - orrs r1, r0 - strh r1, [r4] - movs r1, #0x80 - lsls r1, r1, #2 - adds r3, r3, r1 - lsls r3, r3, #1 - add r3, sl - mov r2, r8 - ldrh r1, [r2] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - movs r0, #0x80 - lsls r0, r0, #2 - adds r5, r5, r0 - lsls r5, r5, #1 - add r5, sl - ldrh r0, [r2] - movs r1, #0xff - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #8 - ldrh r2, [r2, #2] - movs r0, #0xff - ands r0, r2 - lsls r0, r0, #8 - orrs r1, r0 - ldrh r0, [r5] - orrs r1, r0 - strh r1, [r5] - movs r1, #4 - add r8, r1 - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _08007680 - bl _080088C8 - .align 2, 0 + lsls r5, r7, #1 + mov r0, ip + adds r3, r5, r0 + lsls r2, r3, #1 + add r2, sl + ldrh r1, [r6] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r5, sb + lsls r4, r5, #1 + add r4, sl + ldrh r0, [r6] + movs r1, #0xff + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #8 + ldrh r2, [r6, #2] + movs r0, #0xff + ands r0, r2 + lsls r0, r0, #8 + orrs r1, r0 + ldrh r0, [r4] + orrs r1, r0 + strh r1, [r4] + movs r1, #0x80 + lsls r1, r1, #2 + adds r3, r3, r1 + lsls r3, r3, #1 + add r3, sl + mov r2, r8 + ldrh r1, [r2] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + movs r0, #0x80 + lsls r0, r0, #2 + adds r5, r5, r0 + lsls r5, r5, #1 + add r5, sl + ldrh r0, [r2] + movs r1, #0xff + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #8 + ldrh r2, [r2, #2] + movs r0, #0xff + ands r0, r2 + lsls r0, r0, #8 + orrs r1, r0 + ldrh r0, [r5] + orrs r1, r0 + strh r1, [r5] + movs r1, #4 + add r8, r1 + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _08007680 + bl _080088C8 + .align 2, 0 _08007708: .4byte 0x03000000 _0800770C: .4byte 0x0201B130 _08007710: .4byte 0x0202BE30 _08007714: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - movs r1, #0x10 - adds r1, r1, r2 - mov sb, r1 - adds r2, #0x11 - str r2, [sp] - ldr r2, _080077FC @ =0x03000000 - mov sl, r2 - movs r0, #2 - str r0, [sp, #4] - ldr r1, _08007800 @ =0x0202BE30 - mov r8, r1 - ldr r2, _08007804 @ =0x0201B130 - str r2, [sp, #0xc] + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + movs r1, #0x10 + adds r1, r1, r2 + mov sb, r1 + adds r2, #0x11 + str r2, [sp] + ldr r2, _080077FC @ =0x03000000 + mov sl, r2 + movs r0, #2 + str r0, [sp, #4] + ldr r1, _08007800 @ =0x0202BE30 + mov r8, r1 + ldr r2, _08007804 @ =0x0201B130 + str r2, [sp, #0xc] _08007734: - lsls r6, r7, #1 - mov r0, ip - adds r4, r6, r0 - lsls r2, r4, #1 - add r2, sl - mov r0, r8 - ldrh r1, [r0] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - mov r1, sb - adds r5, r6, r1 - lsls r3, r5, #1 - add r3, sl - mov r2, r8 - ldrh r0, [r2] - ldr r1, _08007808 @ =0x0000FFF0 - ands r1, r0 - lsrs r1, r1, #4 - ldrh r2, [r2, #2] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #0xc - orrs r1, r0 - ldrh r0, [r3] - orrs r1, r0 - strh r1, [r3] - ldr r0, [sp] - adds r6, r6, r0 - lsls r2, r6, #1 - add r2, sl - mov r0, r8 - ldrh r1, [r0, #2] - movs r0, #0xf0 - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - movs r1, #0x80 - lsls r1, r1, #2 - adds r4, r4, r1 - lsls r4, r4, #1 - add r4, sl - ldr r2, [sp, #0xc] - ldrh r1, [r2] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - movs r0, #0x80 - lsls r0, r0, #2 - adds r5, r5, r0 - lsls r5, r5, #1 - add r5, sl - ldrh r0, [r2] - ldr r1, _08007808 @ =0x0000FFF0 - ands r1, r0 - lsrs r1, r1, #4 - ldr r2, [sp, #4] - ldr r0, _08007804 @ =0x0201B130 - adds r3, r2, r0 - ldrh r2, [r3] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #0xc - orrs r1, r0 - ldrh r0, [r5] - orrs r1, r0 - strh r1, [r5] - movs r1, #0x80 - lsls r1, r1, #2 - adds r6, r6, r1 - lsls r6, r6, #1 - add r6, sl - ldrh r1, [r3] - movs r0, #0xf0 - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r6] - ldr r2, [sp, #4] - adds r2, #4 - str r2, [sp, #4] - movs r0, #4 - add r8, r0 - ldr r1, [sp, #0xc] - adds r1, #4 - str r1, [sp, #0xc] - adds r7, #1 - cmp r7, #7 - ble _08007734 - bl _080088C8 - .align 2, 0 + lsls r6, r7, #1 + mov r0, ip + adds r4, r6, r0 + lsls r2, r4, #1 + add r2, sl + mov r0, r8 + ldrh r1, [r0] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + mov r1, sb + adds r5, r6, r1 + lsls r3, r5, #1 + add r3, sl + mov r2, r8 + ldrh r0, [r2] + ldr r1, _08007808 @ =0x0000FFF0 + ands r1, r0 + lsrs r1, r1, #4 + ldrh r2, [r2, #2] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #0xc + orrs r1, r0 + ldrh r0, [r3] + orrs r1, r0 + strh r1, [r3] + ldr r0, [sp] + adds r6, r6, r0 + lsls r2, r6, #1 + add r2, sl + mov r0, r8 + ldrh r1, [r0, #2] + movs r0, #0xf0 + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + movs r1, #0x80 + lsls r1, r1, #2 + adds r4, r4, r1 + lsls r4, r4, #1 + add r4, sl + ldr r2, [sp, #0xc] + ldrh r1, [r2] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + movs r0, #0x80 + lsls r0, r0, #2 + adds r5, r5, r0 + lsls r5, r5, #1 + add r5, sl + ldrh r0, [r2] + ldr r1, _08007808 @ =0x0000FFF0 + ands r1, r0 + lsrs r1, r1, #4 + ldr r2, [sp, #4] + ldr r0, _08007804 @ =0x0201B130 + adds r3, r2, r0 + ldrh r2, [r3] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #0xc + orrs r1, r0 + ldrh r0, [r5] + orrs r1, r0 + strh r1, [r5] + movs r1, #0x80 + lsls r1, r1, #2 + adds r6, r6, r1 + lsls r6, r6, #1 + add r6, sl + ldrh r1, [r3] + movs r0, #0xf0 + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r6] + ldr r2, [sp, #4] + adds r2, #4 + str r2, [sp, #4] + movs r0, #4 + add r8, r0 + ldr r1, [sp, #0xc] + adds r1, #4 + str r1, [sp, #0xc] + adds r7, #1 + cmp r7, #7 + ble _08007734 + bl _080088C8 + .align 2, 0 _080077FC: .4byte 0x03000000 _08007800: .4byte 0x0202BE30 _08007804: .4byte 0x0201B130 _08007808: .4byte 0x0000FFF0 _0800780C: - adds r0, r3, #0 - cmp r3, #0 - bge _08007814 - adds r0, r3, #7 + adds r0, r3, #0 + cmp r3, #0 + bge _08007814 + adds r0, r3, #7 _08007814: - asrs r0, r0, #3 - lsls r0, r0, #3 - subs r0, r3, r0 - cmp r0, #7 - bls _08007822 - bl _080088C8 + asrs r0, r0, #3 + lsls r0, r0, #3 + subs r0, r3, r0 + cmp r0, #7 + bls _08007822 + bl _080088C8 _08007822: - lsls r0, r0, #2 - ldr r1, _0800782C @ =_08007830 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0800782C @ =_08007830 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0800782C: .4byte _08007830 _08007830: @ jump table - .4byte _08007850 @ case 0 - .4byte _080078D0 @ case 1 - .4byte _0800797C @ case 2 - .4byte _08007A28 @ case 3 - .4byte _08007ADC @ case 4 - .4byte _08007B54 @ case 5 - .4byte _08007C00 @ case 6 - .4byte _08007CA8 @ case 7 + .4byte _08007850 @ case 0 + .4byte _080078D0 @ case 1 + .4byte _0800797C @ case 2 + .4byte _08007A28 @ case 3 + .4byte _08007ADC @ case 4 + .4byte _08007B54 @ case 5 + .4byte _08007C00 @ case 6 + .4byte _08007CA8 @ case 7 _08007850: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - ldr r1, _080078C4 @ =0x03000000 - mov sb, r1 - movs r0, #0xf - mov sl, r0 - ldr r1, _080078C8 @ =0x0201B130 - mov r8, r1 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - lsls r0, r2, #1 - mov r2, sb - adds r5, r0, r2 - ldr r6, _080078CC @ =0x0202BE30 - lsls r1, r1, #1 - adds r4, r1, r2 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + ldr r1, _080078C4 @ =0x03000000 + mov sb, r1 + movs r0, #0xf + mov sl, r0 + ldr r1, _080078C8 @ =0x0201B130 + mov r8, r1 + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + lsls r0, r2, #1 + mov r2, sb + adds r5, r0, r2 + ldr r6, _080078CC @ =0x0202BE30 + lsls r1, r1, #1 + adds r4, r1, r2 _08007874: - lsls r3, r7, #1 - ldrh r0, [r5] - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r5] - add r3, ip - lsls r2, r3, #1 - add r2, sb - ldrh r1, [r6, #2] - mov r0, sl - ands r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r4] - mov r2, r8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r4] - movs r0, #0x80 - lsls r0, r0, #2 - adds r3, r3, r0 - lsls r3, r3, #1 - add r3, sb - ldrh r1, [r2, #2] - mov r0, sl - ands r0, r1 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - movs r1, #4 - add r8, r1 - adds r4, #4 - adds r5, #4 - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _08007874 - bl _080088C8 - .align 2, 0 + lsls r3, r7, #1 + ldrh r0, [r5] + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r5] + add r3, ip + lsls r2, r3, #1 + add r2, sb + ldrh r1, [r6, #2] + mov r0, sl + ands r0, r1 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + ldrh r0, [r4] + mov r2, r8 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r4] + movs r0, #0x80 + lsls r0, r0, #2 + adds r3, r3, r0 + lsls r3, r3, #1 + add r3, sb + ldrh r1, [r2, #2] + mov r0, sl + ands r0, r1 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + movs r1, #4 + add r8, r1 + adds r4, #4 + adds r5, #4 + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _08007874 + bl _080088C8 + .align 2, 0 _080078C4: .4byte 0x03000000 _080078C8: .4byte 0x0201B130 _080078CC: .4byte 0x0202BE30 _080078D0: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - ldr r1, _0800796C @ =0x03000000 - mov sl, r1 - ldr r0, _08007970 @ =0x0201B130 - mov sb, r0 - ldr r1, _08007974 @ =0x0202BE30 - mov r8, r1 - lsls r0, r2, #1 - mov r2, sl - adds r6, r0, r2 - movs r1, #0x80 - lsls r1, r1, #3 - adds r0, r0, r1 - adds r5, r0, r2 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + ldr r1, _0800796C @ =0x03000000 + mov sl, r1 + ldr r0, _08007970 @ =0x0201B130 + mov sb, r0 + ldr r1, _08007974 @ =0x0202BE30 + mov r8, r1 + lsls r0, r2, #1 + mov r2, sl + adds r6, r0, r2 + movs r1, #0x80 + lsls r1, r1, #3 + adds r0, r0, r1 + adds r5, r0, r2 _080078F0: - lsls r4, r7, #1 - mov r2, r8 - ldrh r1, [r2] - ldr r0, _08007978 @ =0x00000FFF - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r6] - add r4, ip - lsls r3, r4, #1 - add r3, sl - ldrh r0, [r2] - movs r1, #0xf0 - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #0xc - ldrh r2, [r2, #2] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #4 - orrs r1, r0 - ldrh r0, [r3] - orrs r1, r0 - strh r1, [r3] - mov r0, sb - ldrh r1, [r0] - ldr r0, _08007978 @ =0x00000FFF - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] - movs r1, #0x80 - lsls r1, r1, #2 - adds r4, r4, r1 - lsls r4, r4, #1 - add r4, sl - mov r2, sb - ldrh r0, [r2] - movs r1, #0xf0 - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #0xc - ldrh r2, [r2, #2] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #4 - orrs r1, r0 - ldrh r0, [r4] - orrs r1, r0 - strh r1, [r4] - movs r0, #4 - add sb, r0 - add r8, r0 - adds r6, #4 - adds r5, #4 - adds r7, #1 - cmp r7, #7 - ble _080078F0 - bl _080088C8 - .align 2, 0 + lsls r4, r7, #1 + mov r2, r8 + ldrh r1, [r2] + ldr r0, _08007978 @ =0x00000FFF + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r6] + add r4, ip + lsls r3, r4, #1 + add r3, sl + ldrh r0, [r2] + movs r1, #0xf0 + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #0xc + ldrh r2, [r2, #2] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #4 + orrs r1, r0 + ldrh r0, [r3] + orrs r1, r0 + strh r1, [r3] + mov r0, sb + ldrh r1, [r0] + ldr r0, _08007978 @ =0x00000FFF + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r5] + movs r1, #0x80 + lsls r1, r1, #2 + adds r4, r4, r1 + lsls r4, r4, #1 + add r4, sl + mov r2, sb + ldrh r0, [r2] + movs r1, #0xf0 + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #0xc + ldrh r2, [r2, #2] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #4 + orrs r1, r0 + ldrh r0, [r4] + orrs r1, r0 + strh r1, [r4] + movs r0, #4 + add sb, r0 + add r8, r0 + adds r6, #4 + adds r5, #4 + adds r7, #1 + cmp r7, #7 + ble _080078F0 + bl _080088C8 + .align 2, 0 _0800796C: .4byte 0x03000000 _08007970: .4byte 0x0201B130 _08007974: .4byte 0x0202BE30 _08007978: .4byte 0x00000FFF _0800797C: - movs r7, #0 - adds r1, r2, #1 - mov ip, r1 - ldr r0, _08007A1C @ =0x03000000 - mov sl, r0 - ldr r1, _08007A20 @ =0x0201B130 - mov sb, r1 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - ldr r0, _08007A24 @ =0x0202BE30 - mov r8, r0 - lsls r0, r2, #1 - mov r2, sl - adds r6, r0, r2 - lsls r1, r1, #1 - adds r5, r1, r2 + movs r7, #0 + adds r1, r2, #1 + mov ip, r1 + ldr r0, _08007A1C @ =0x03000000 + mov sl, r0 + ldr r1, _08007A20 @ =0x0201B130 + mov sb, r1 + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + ldr r0, _08007A24 @ =0x0202BE30 + mov r8, r0 + lsls r0, r2, #1 + mov r2, sl + adds r6, r0, r2 + lsls r1, r1, #1 + adds r5, r1, r2 _0800799E: - lsls r4, r7, #1 - mov r0, r8 - ldrh r1, [r0] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r6] - add r4, ip - lsls r3, r4, #1 - add r3, sl - mov r1, r8 - ldrh r0, [r1] - movs r1, #0xff - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #8 - mov r0, r8 - ldrh r2, [r0, #2] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #8 - orrs r1, r0 - ldrh r0, [r3] - orrs r1, r0 - strh r1, [r3] - mov r2, sb - ldrh r1, [r2] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] - movs r0, #0x80 - lsls r0, r0, #2 - adds r4, r4, r0 - lsls r4, r4, #1 - add r4, sl - ldrh r0, [r2] - movs r1, #0xff - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #8 - ldrh r2, [r2, #2] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #8 - orrs r1, r0 - ldrh r0, [r4] - orrs r1, r0 - strh r1, [r4] - movs r1, #4 - add sb, r1 - adds r5, #4 - add r8, r1 - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _0800799E - bl _080088C8 - .align 2, 0 + lsls r4, r7, #1 + mov r0, r8 + ldrh r1, [r0] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r6] + add r4, ip + lsls r3, r4, #1 + add r3, sl + mov r1, r8 + ldrh r0, [r1] + movs r1, #0xff + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #8 + mov r0, r8 + ldrh r2, [r0, #2] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #8 + orrs r1, r0 + ldrh r0, [r3] + orrs r1, r0 + strh r1, [r3] + mov r2, sb + ldrh r1, [r2] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r5] + movs r0, #0x80 + lsls r0, r0, #2 + adds r4, r4, r0 + lsls r4, r4, #1 + add r4, sl + ldrh r0, [r2] + movs r1, #0xff + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #8 + ldrh r2, [r2, #2] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #8 + orrs r1, r0 + ldrh r0, [r4] + orrs r1, r0 + strh r1, [r4] + movs r1, #4 + add sb, r1 + adds r5, #4 + add r8, r1 + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _0800799E + bl _080088C8 + .align 2, 0 _08007A1C: .4byte 0x03000000 _08007A20: .4byte 0x0201B130 _08007A24: .4byte 0x0202BE30 _08007A28: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - movs r1, #0xf - mov sl, r1 - ldr r0, _08007ACC @ =0x0201B130 - mov sb, r0 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - ldr r0, _08007AD0 @ =0x0202BE30 - mov r8, r0 - lsls r0, r2, #1 - ldr r2, _08007AD4 @ =0x03000000 - adds r6, r0, r2 - lsls r1, r1, #1 - adds r5, r1, r2 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + movs r1, #0xf + mov sl, r1 + ldr r0, _08007ACC @ =0x0201B130 + mov sb, r0 + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + ldr r0, _08007AD0 @ =0x0202BE30 + mov r8, r0 + lsls r0, r2, #1 + ldr r2, _08007AD4 @ =0x03000000 + adds r6, r0, r2 + lsls r1, r1, #1 + adds r5, r1, r2 _08007A4A: - lsls r4, r7, #1 - mov r0, r8 - ldrh r1, [r0] - mov r0, sl - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r6] - add r4, ip - lsls r3, r4, #1 - ldr r1, _08007AD4 @ =0x03000000 - adds r3, r3, r1 - mov r2, r8 - ldrh r0, [r2] - ldr r1, _08007AD8 @ =0x0000FFF0 - ands r1, r0 - lsrs r1, r1, #4 - ldrh r2, [r2, #2] - mov r0, sl - ands r0, r2 - lsls r0, r0, #0xc - orrs r1, r0 - ldrh r0, [r3] - orrs r1, r0 - strh r1, [r3] - mov r0, sb - ldrh r1, [r0] - mov r0, sl - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] - movs r1, #0x80 - lsls r1, r1, #2 - adds r4, r4, r1 - lsls r4, r4, #1 - ldr r2, _08007AD4 @ =0x03000000 - adds r4, r4, r2 - mov r1, sb - ldrh r0, [r1] - ldr r1, _08007AD8 @ =0x0000FFF0 - ands r1, r0 - lsrs r1, r1, #4 - mov r0, sb - ldrh r2, [r0, #2] - mov r0, sl - ands r0, r2 - lsls r0, r0, #0xc - orrs r1, r0 - ldrh r0, [r4] - orrs r1, r0 - strh r1, [r4] - movs r1, #4 - add sb, r1 - adds r5, #4 - add r8, r1 - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _08007A4A - bl _080088C8 - .align 2, 0 + lsls r4, r7, #1 + mov r0, r8 + ldrh r1, [r0] + mov r0, sl + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r6] + add r4, ip + lsls r3, r4, #1 + ldr r1, _08007AD4 @ =0x03000000 + adds r3, r3, r1 + mov r2, r8 + ldrh r0, [r2] + ldr r1, _08007AD8 @ =0x0000FFF0 + ands r1, r0 + lsrs r1, r1, #4 + ldrh r2, [r2, #2] + mov r0, sl + ands r0, r2 + lsls r0, r0, #0xc + orrs r1, r0 + ldrh r0, [r3] + orrs r1, r0 + strh r1, [r3] + mov r0, sb + ldrh r1, [r0] + mov r0, sl + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r5] + movs r1, #0x80 + lsls r1, r1, #2 + adds r4, r4, r1 + lsls r4, r4, #1 + ldr r2, _08007AD4 @ =0x03000000 + adds r4, r4, r2 + mov r1, sb + ldrh r0, [r1] + ldr r1, _08007AD8 @ =0x0000FFF0 + ands r1, r0 + lsrs r1, r1, #4 + mov r0, sb + ldrh r2, [r0, #2] + mov r0, sl + ands r0, r2 + lsls r0, r0, #0xc + orrs r1, r0 + ldrh r0, [r4] + orrs r1, r0 + strh r1, [r4] + movs r1, #4 + add sb, r1 + adds r5, #4 + add r8, r1 + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _08007A4A + bl _080088C8 + .align 2, 0 _08007ACC: .4byte 0x0201B130 _08007AD0: .4byte 0x0202BE30 _08007AD4: .4byte 0x03000000 _08007AD8: .4byte 0x0000FFF0 _08007ADC: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - adds r2, #0x10 - mov sb, r2 - ldr r1, _08007B48 @ =0x03000000 - mov r8, r1 - movs r2, #0x80 - lsls r2, r2, #2 - mov sl, r2 - ldr r6, _08007B4C @ =0x0201B130 - ldr r5, _08007B50 @ =0x0202BE30 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + adds r2, #0x10 + mov sb, r2 + ldr r1, _08007B48 @ =0x03000000 + mov r8, r1 + movs r2, #0x80 + lsls r2, r2, #2 + mov sl, r2 + ldr r6, _08007B4C @ =0x0201B130 + ldr r5, _08007B50 @ =0x0202BE30 _08007AF4: - lsls r4, r7, #1 - mov r0, ip - adds r3, r4, r0 - lsls r2, r3, #1 - add r2, r8 - ldrh r0, [r2] - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r2] - add r4, sb - lsls r2, r4, #1 - add r2, r8 - ldrh r1, [r5, #2] - movs r0, #0xf - ands r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r3, sl - lsls r3, r3, #1 - add r3, r8 - ldrh r0, [r3] - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r3] - add r4, sl - lsls r4, r4, #1 - add r4, r8 - ldrh r1, [r6, #2] - movs r0, #0xf - ands r0, r1 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - adds r6, #4 - adds r5, #4 - adds r7, #1 - cmp r7, #7 - ble _08007AF4 - bl _080088C8 - .align 2, 0 + lsls r4, r7, #1 + mov r0, ip + adds r3, r4, r0 + lsls r2, r3, #1 + add r2, r8 + ldrh r0, [r2] + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r2] + add r4, sb + lsls r2, r4, #1 + add r2, r8 + ldrh r1, [r5, #2] + movs r0, #0xf + ands r0, r1 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r3, sl + lsls r3, r3, #1 + add r3, r8 + ldrh r0, [r3] + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r3] + add r4, sl + lsls r4, r4, #1 + add r4, r8 + ldrh r1, [r6, #2] + movs r0, #0xf + ands r0, r1 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + adds r6, #4 + adds r5, #4 + adds r7, #1 + cmp r7, #7 + ble _08007AF4 + bl _080088C8 + .align 2, 0 _08007B48: .4byte 0x03000000 _08007B4C: .4byte 0x0201B130 _08007B50: .4byte 0x0202BE30 _08007B54: - movs r7, #0 - adds r1, r2, #1 - mov ip, r1 - adds r2, #0x10 - mov sb, r2 - ldr r2, _08007BF0 @ =0x03000000 - mov sl, r2 - ldr r0, _08007BF4 @ =0x0201B130 - mov r8, r0 - ldr r6, _08007BF8 @ =0x0202BE30 + movs r7, #0 + adds r1, r2, #1 + mov ip, r1 + adds r2, #0x10 + mov sb, r2 + ldr r2, _08007BF0 @ =0x03000000 + mov sl, r2 + ldr r0, _08007BF4 @ =0x0201B130 + mov r8, r0 + ldr r6, _08007BF8 @ =0x0202BE30 _08007B68: - lsls r5, r7, #1 - mov r1, ip - adds r3, r5, r1 - lsls r2, r3, #1 - add r2, sl - ldrh r1, [r6] - ldr r0, _08007BFC @ =0x00000FFF - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r5, sb - lsls r4, r5, #1 - add r4, sl - ldrh r0, [r6] - movs r1, #0xf0 - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #0xc - ldrh r2, [r6, #2] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #4 - orrs r1, r0 - ldrh r0, [r4] - orrs r1, r0 - strh r1, [r4] - movs r2, #0x80 - lsls r2, r2, #2 - adds r3, r3, r2 - lsls r3, r3, #1 - add r3, sl - mov r0, r8 - ldrh r1, [r0] - ldr r0, _08007BFC @ =0x00000FFF - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - adds r5, r5, r2 - lsls r5, r5, #1 - add r5, sl - mov r1, r8 - ldrh r0, [r1] - movs r1, #0xf0 - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #0xc - mov r0, r8 - ldrh r2, [r0, #2] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #4 - orrs r1, r0 - ldrh r0, [r5] - orrs r1, r0 - strh r1, [r5] - movs r1, #4 - add r8, r1 - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _08007B68 - bl _080088C8 - .align 2, 0 + lsls r5, r7, #1 + mov r1, ip + adds r3, r5, r1 + lsls r2, r3, #1 + add r2, sl + ldrh r1, [r6] + ldr r0, _08007BFC @ =0x00000FFF + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r5, sb + lsls r4, r5, #1 + add r4, sl + ldrh r0, [r6] + movs r1, #0xf0 + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #0xc + ldrh r2, [r6, #2] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #4 + orrs r1, r0 + ldrh r0, [r4] + orrs r1, r0 + strh r1, [r4] + movs r2, #0x80 + lsls r2, r2, #2 + adds r3, r3, r2 + lsls r3, r3, #1 + add r3, sl + mov r0, r8 + ldrh r1, [r0] + ldr r0, _08007BFC @ =0x00000FFF + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + adds r5, r5, r2 + lsls r5, r5, #1 + add r5, sl + mov r1, r8 + ldrh r0, [r1] + movs r1, #0xf0 + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #0xc + mov r0, r8 + ldrh r2, [r0, #2] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #4 + orrs r1, r0 + ldrh r0, [r5] + orrs r1, r0 + strh r1, [r5] + movs r1, #4 + add r8, r1 + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _08007B68 + bl _080088C8 + .align 2, 0 _08007BF0: .4byte 0x03000000 _08007BF4: .4byte 0x0201B130 _08007BF8: .4byte 0x0202BE30 _08007BFC: .4byte 0x00000FFF _08007C00: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - adds r2, #0x10 - mov sb, r2 - ldr r1, _08007C9C @ =0x03000000 - mov sl, r1 - ldr r2, _08007CA0 @ =0x0201B130 - mov r8, r2 - ldr r6, _08007CA4 @ =0x0202BE30 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + adds r2, #0x10 + mov sb, r2 + ldr r1, _08007C9C @ =0x03000000 + mov sl, r1 + ldr r2, _08007CA0 @ =0x0201B130 + mov r8, r2 + ldr r6, _08007CA4 @ =0x0202BE30 _08007C14: - lsls r5, r7, #1 - mov r0, ip - adds r3, r5, r0 - lsls r2, r3, #1 - add r2, sl - ldrh r1, [r6] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r5, sb - lsls r4, r5, #1 - add r4, sl - ldrh r0, [r6] - movs r1, #0xff - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #8 - ldrh r2, [r6, #2] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #8 - orrs r1, r0 - ldrh r0, [r4] - orrs r1, r0 - strh r1, [r4] - movs r1, #0x80 - lsls r1, r1, #2 - adds r3, r3, r1 - lsls r3, r3, #1 - add r3, sl - mov r2, r8 - ldrh r1, [r2] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - movs r0, #0x80 - lsls r0, r0, #2 - adds r5, r5, r0 - lsls r5, r5, #1 - add r5, sl - ldrh r0, [r2] - movs r1, #0xff - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #8 - ldrh r2, [r2, #2] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #8 - orrs r1, r0 - ldrh r0, [r5] - orrs r1, r0 - strh r1, [r5] - movs r1, #4 - add r8, r1 - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _08007C14 - bl _080088C8 - .align 2, 0 + lsls r5, r7, #1 + mov r0, ip + adds r3, r5, r0 + lsls r2, r3, #1 + add r2, sl + ldrh r1, [r6] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r5, sb + lsls r4, r5, #1 + add r4, sl + ldrh r0, [r6] + movs r1, #0xff + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #8 + ldrh r2, [r6, #2] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #8 + orrs r1, r0 + ldrh r0, [r4] + orrs r1, r0 + strh r1, [r4] + movs r1, #0x80 + lsls r1, r1, #2 + adds r3, r3, r1 + lsls r3, r3, #1 + add r3, sl + mov r2, r8 + ldrh r1, [r2] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + movs r0, #0x80 + lsls r0, r0, #2 + adds r5, r5, r0 + lsls r5, r5, #1 + add r5, sl + ldrh r0, [r2] + movs r1, #0xff + lsls r1, r1, #8 + ands r1, r0 + lsrs r1, r1, #8 + ldrh r2, [r2, #2] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #8 + orrs r1, r0 + ldrh r0, [r5] + orrs r1, r0 + strh r1, [r5] + movs r1, #4 + add r8, r1 + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _08007C14 + bl _080088C8 + .align 2, 0 _08007C9C: .4byte 0x03000000 _08007CA0: .4byte 0x0201B130 _08007CA4: .4byte 0x0202BE30 _08007CA8: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - adds r2, #0x10 - mov sb, r2 - ldr r1, _08007D40 @ =0x03000000 - mov sl, r1 - ldr r2, _08007D44 @ =0x0201B130 - mov r8, r2 - ldr r6, _08007D48 @ =0x0202BE30 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + adds r2, #0x10 + mov sb, r2 + ldr r1, _08007D40 @ =0x03000000 + mov sl, r1 + ldr r2, _08007D44 @ =0x0201B130 + mov r8, r2 + ldr r6, _08007D48 @ =0x0202BE30 _08007CBC: - lsls r5, r7, #1 - mov r0, ip - adds r3, r5, r0 - lsls r2, r3, #1 - add r2, sl - ldrh r1, [r6] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r5, sb - lsls r4, r5, #1 - add r4, sl - ldrh r0, [r6] - ldr r1, _08007D4C @ =0x0000FFF0 - ands r1, r0 - lsrs r1, r1, #4 - ldrh r2, [r6, #2] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #0xc - orrs r1, r0 - ldrh r0, [r4] - orrs r1, r0 - strh r1, [r4] - movs r1, #0x80 - lsls r1, r1, #2 - adds r3, r3, r1 - lsls r3, r3, #1 - add r3, sl - mov r2, r8 - ldrh r1, [r2] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - movs r0, #0x80 - lsls r0, r0, #2 - adds r5, r5, r0 - lsls r5, r5, #1 - add r5, sl - ldrh r0, [r2] - ldr r1, _08007D4C @ =0x0000FFF0 - ands r1, r0 - lsrs r1, r1, #4 - ldrh r2, [r2, #2] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #0xc - orrs r1, r0 - ldrh r0, [r5] - orrs r1, r0 - strh r1, [r5] - movs r1, #4 - add r8, r1 - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _08007CBC - bl _080088C8 - .align 2, 0 + lsls r5, r7, #1 + mov r0, ip + adds r3, r5, r0 + lsls r2, r3, #1 + add r2, sl + ldrh r1, [r6] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r5, sb + lsls r4, r5, #1 + add r4, sl + ldrh r0, [r6] + ldr r1, _08007D4C @ =0x0000FFF0 + ands r1, r0 + lsrs r1, r1, #4 + ldrh r2, [r6, #2] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #0xc + orrs r1, r0 + ldrh r0, [r4] + orrs r1, r0 + strh r1, [r4] + movs r1, #0x80 + lsls r1, r1, #2 + adds r3, r3, r1 + lsls r3, r3, #1 + add r3, sl + mov r2, r8 + ldrh r1, [r2] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + movs r0, #0x80 + lsls r0, r0, #2 + adds r5, r5, r0 + lsls r5, r5, #1 + add r5, sl + ldrh r0, [r2] + ldr r1, _08007D4C @ =0x0000FFF0 + ands r1, r0 + lsrs r1, r1, #4 + ldrh r2, [r2, #2] + movs r0, #0xf + ands r0, r2 + lsls r0, r0, #0xc + orrs r1, r0 + ldrh r0, [r5] + orrs r1, r0 + strh r1, [r5] + movs r1, #4 + add r8, r1 + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _08007CBC + bl _080088C8 + .align 2, 0 _08007D40: .4byte 0x03000000 _08007D44: .4byte 0x0201B130 _08007D48: .4byte 0x0202BE30 _08007D4C: .4byte 0x0000FFF0 _08007D50: - adds r0, r3, #0 - cmp r3, #0 - bge _08007D58 - adds r0, r3, #7 + adds r0, r3, #0 + cmp r3, #0 + bge _08007D58 + adds r0, r3, #7 _08007D58: - asrs r0, r0, #3 - lsls r0, r0, #3 - subs r0, r3, r0 - cmp r0, #7 - bls _08007D66 - bl _080088C8 + asrs r0, r0, #3 + lsls r0, r0, #3 + subs r0, r3, r0 + cmp r0, #7 + bls _08007D66 + bl _080088C8 _08007D66: - lsls r0, r0, #2 - ldr r1, _08007D70 @ =_08007D74 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08007D70 @ =_08007D74 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08007D70: .4byte _08007D74 _08007D74: @ jump table - .4byte _08007D94 @ case 0 - .4byte _08007DD8 @ case 1 - .4byte _08007E74 @ case 2 - .4byte _08007F0C @ case 3 - .4byte _08007FA4 @ case 4 - .4byte _08007FF4 @ case 5 - .4byte _08008084 @ case 6 - .4byte _08008110 @ case 7 + .4byte _08007D94 @ case 0 + .4byte _08007DD8 @ case 1 + .4byte _08007E74 @ case 2 + .4byte _08007F0C @ case 3 + .4byte _08007FA4 @ case 4 + .4byte _08007FF4 @ case 5 + .4byte _08008084 @ case 6 + .4byte _08008110 @ case 7 _08007D94: - movs r7, #0 - ldr r1, _08007DCC @ =0x03000000 - lsls r0, r2, #1 - adds r3, r0, r1 - ldr r5, _08007DD0 @ =0x0202BE30 - ldr r4, _08007DD4 @ =0x0201B130 - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r0, r2 - adds r2, r0, r1 + movs r7, #0 + ldr r1, _08007DCC @ =0x03000000 + lsls r0, r2, #1 + adds r3, r0, r1 + ldr r5, _08007DD0 @ =0x0202BE30 + ldr r4, _08007DD4 @ =0x0201B130 + movs r2, #0x80 + lsls r2, r2, #3 + adds r0, r0, r2 + adds r2, r0, r1 _08007DA8: - ldrh r0, [r3] - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r3] - ldrh r0, [r2] - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r2] - adds r3, #4 - adds r5, #4 - adds r2, #4 - adds r4, #4 - adds r7, #1 - cmp r7, #7 - ble _08007DA8 - bl _080088C8 - .align 2, 0 + ldrh r0, [r3] + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r3] + ldrh r0, [r2] + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r2] + adds r3, #4 + adds r5, #4 + adds r2, #4 + adds r4, #4 + adds r7, #1 + cmp r7, #7 + ble _08007DA8 + bl _080088C8 + .align 2, 0 _08007DCC: .4byte 0x03000000 _08007DD0: .4byte 0x0202BE30 _08007DD4: .4byte 0x0201B130 _08007DD8: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - ldr r1, _08007E64 @ =0x03000000 - mov sb, r1 - movs r0, #0xf0 - lsls r0, r0, #8 - mov sl, r0 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - lsls r0, r2, #1 - mov r2, sb - adds r6, r0, r2 - ldr r0, _08007E68 @ =0x0202BE30 - mov r8, r0 - lsls r1, r1, #1 - adds r5, r1, r2 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + ldr r1, _08007E64 @ =0x03000000 + mov sb, r1 + movs r0, #0xf0 + lsls r0, r0, #8 + mov sl, r0 + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + lsls r0, r2, #1 + mov r2, sb + adds r6, r0, r2 + ldr r0, _08007E68 @ =0x0202BE30 + mov r8, r0 + lsls r1, r1, #1 + adds r5, r1, r2 _08007DFC: - lsls r3, r7, #1 - lsls r4, r7, #2 - mov r2, r8 - ldrh r1, [r2] - ldr r0, _08007E6C @ =0x00000FFF - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r6] - add r3, ip - lsls r2, r3, #1 - add r2, sb - mov r0, r8 - ldrh r1, [r0] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #0xc - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - ldr r1, _08007E70 @ =0x0201B130 - adds r4, r4, r1 - ldrh r1, [r4] - ldr r0, _08007E6C @ =0x00000FFF - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] - movs r2, #0x80 - lsls r2, r2, #2 - adds r3, r3, r2 - lsls r3, r3, #1 - add r3, sb - ldrh r1, [r4] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #0xc - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - adds r5, #4 - adds r6, #4 - movs r0, #4 - add r8, r0 - adds r7, #1 - cmp r7, #7 - ble _08007DFC - bl _080088C8 - .align 2, 0 + lsls r3, r7, #1 + lsls r4, r7, #2 + mov r2, r8 + ldrh r1, [r2] + ldr r0, _08007E6C @ =0x00000FFF + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r6] + add r3, ip + lsls r2, r3, #1 + add r2, sb + mov r0, r8 + ldrh r1, [r0] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #0xc + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + ldr r1, _08007E70 @ =0x0201B130 + adds r4, r4, r1 + ldrh r1, [r4] + ldr r0, _08007E6C @ =0x00000FFF + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r5] + movs r2, #0x80 + lsls r2, r2, #2 + adds r3, r3, r2 + lsls r3, r3, #1 + add r3, sb + ldrh r1, [r4] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #0xc + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + adds r5, #4 + adds r6, #4 + movs r0, #4 + add r8, r0 + adds r7, #1 + cmp r7, #7 + ble _08007DFC + bl _080088C8 + .align 2, 0 _08007E64: .4byte 0x03000000 _08007E68: .4byte 0x0202BE30 _08007E6C: .4byte 0x00000FFF _08007E70: .4byte 0x0201B130 _08007E74: - movs r7, #0 - adds r1, r2, #1 - mov ip, r1 - ldr r0, _08007F00 @ =0x03000000 - mov sb, r0 - movs r1, #0xff - lsls r1, r1, #8 - mov sl, r1 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - lsls r0, r2, #1 - mov r2, sb - adds r6, r0, r2 - ldr r0, _08007F04 @ =0x0202BE30 - mov r8, r0 - lsls r1, r1, #1 - adds r5, r1, r2 + movs r7, #0 + adds r1, r2, #1 + mov ip, r1 + ldr r0, _08007F00 @ =0x03000000 + mov sb, r0 + movs r1, #0xff + lsls r1, r1, #8 + mov sl, r1 + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + lsls r0, r2, #1 + mov r2, sb + adds r6, r0, r2 + ldr r0, _08007F04 @ =0x0202BE30 + mov r8, r0 + lsls r1, r1, #1 + adds r5, r1, r2 _08007E98: - lsls r3, r7, #1 - lsls r4, r7, #2 - mov r2, r8 - ldrh r1, [r2] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r6] - add r3, ip - lsls r2, r3, #1 - add r2, sb - mov r0, r8 - ldrh r1, [r0] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - ldr r1, _08007F08 @ =0x0201B130 - adds r4, r4, r1 - ldrh r1, [r4] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] - movs r2, #0x80 - lsls r2, r2, #2 - adds r3, r3, r2 - lsls r3, r3, #1 - add r3, sb - ldrh r1, [r4] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #8 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - adds r5, #4 - adds r6, #4 - movs r0, #4 - add r8, r0 - adds r7, #1 - cmp r7, #7 - ble _08007E98 - bl _080088C8 - .align 2, 0 + lsls r3, r7, #1 + lsls r4, r7, #2 + mov r2, r8 + ldrh r1, [r2] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r6] + add r3, ip + lsls r2, r3, #1 + add r2, sb + mov r0, r8 + ldrh r1, [r0] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #8 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + ldr r1, _08007F08 @ =0x0201B130 + adds r4, r4, r1 + ldrh r1, [r4] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r5] + movs r2, #0x80 + lsls r2, r2, #2 + adds r3, r3, r2 + lsls r3, r3, #1 + add r3, sb + ldrh r1, [r4] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #8 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + adds r5, #4 + adds r6, #4 + movs r0, #4 + add r8, r0 + adds r7, #1 + cmp r7, #7 + ble _08007E98 + bl _080088C8 + .align 2, 0 _08007F00: .4byte 0x03000000 _08007F04: .4byte 0x0202BE30 _08007F08: .4byte 0x0201B130 _08007F0C: - movs r7, #0 - adds r1, r2, #1 - mov ip, r1 - ldr r0, _08007F94 @ =0x03000000 - mov sb, r0 - ldr r1, _08007F98 @ =0x0000FFF0 - mov sl, r1 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - lsls r0, r2, #1 - mov r2, sb - adds r6, r0, r2 - ldr r0, _08007F9C @ =0x0202BE30 - mov r8, r0 - lsls r1, r1, #1 - adds r5, r1, r2 + movs r7, #0 + adds r1, r2, #1 + mov ip, r1 + ldr r0, _08007F94 @ =0x03000000 + mov sb, r0 + ldr r1, _08007F98 @ =0x0000FFF0 + mov sl, r1 + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + lsls r0, r2, #1 + mov r2, sb + adds r6, r0, r2 + ldr r0, _08007F9C @ =0x0202BE30 + mov r8, r0 + lsls r1, r1, #1 + adds r5, r1, r2 _08007F2E: - lsls r3, r7, #1 - lsls r4, r7, #2 - mov r2, r8 - ldrh r1, [r2] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r6] - add r3, ip - lsls r2, r3, #1 - add r2, sb - mov r0, r8 - ldrh r1, [r0] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - ldr r1, _08007FA0 @ =0x0201B130 - adds r4, r4, r1 - ldrh r1, [r4] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] - movs r2, #0x80 - lsls r2, r2, #2 - adds r3, r3, r2 - lsls r3, r3, #1 - add r3, sb - ldrh r1, [r4] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - adds r5, #4 - adds r6, #4 - movs r0, #4 - add r8, r0 - adds r7, #1 - cmp r7, #7 - ble _08007F2E - bl _080088C8 - .align 2, 0 + lsls r3, r7, #1 + lsls r4, r7, #2 + mov r2, r8 + ldrh r1, [r2] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r6] + add r3, ip + lsls r2, r3, #1 + add r2, sb + mov r0, r8 + ldrh r1, [r0] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + ldr r1, _08007FA0 @ =0x0201B130 + adds r4, r4, r1 + ldrh r1, [r4] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r5] + movs r2, #0x80 + lsls r2, r2, #2 + adds r3, r3, r2 + lsls r3, r3, #1 + add r3, sb + ldrh r1, [r4] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + adds r5, #4 + adds r6, #4 + movs r0, #4 + add r8, r0 + adds r7, #1 + cmp r7, #7 + ble _08007F2E + bl _080088C8 + .align 2, 0 _08007F94: .4byte 0x03000000 _08007F98: .4byte 0x0000FFF0 _08007F9C: .4byte 0x0202BE30 _08007FA0: .4byte 0x0201B130 _08007FA4: - movs r7, #0 - adds r2, #1 - mov ip, r2 - ldr r1, _08007FE8 @ =0x03000000 - mov r8, r1 - ldr r6, _08007FEC @ =0x0202BE30 - lsls r0, r2, #1 - adds r4, r0, r1 - mov r5, ip + movs r7, #0 + adds r2, #1 + mov ip, r2 + ldr r1, _08007FE8 @ =0x03000000 + mov r8, r1 + ldr r6, _08007FEC @ =0x0202BE30 + lsls r0, r2, #1 + adds r4, r0, r1 + mov r5, ip _08007FB6: - lsls r3, r7, #2 - ldrh r0, [r4] - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r4] - movs r0, #0x80 - lsls r0, r0, #2 - adds r2, r5, r0 - lsls r2, r2, #1 - add r2, r8 - ldr r1, _08007FF0 @ =0x0201B130 - adds r3, r3, r1 - ldrh r0, [r2] - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r2] - adds r6, #4 - adds r4, #4 - adds r5, #2 - adds r7, #1 - cmp r7, #7 - ble _08007FB6 - bl _080088C8 - .align 2, 0 + lsls r3, r7, #2 + ldrh r0, [r4] + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r4] + movs r0, #0x80 + lsls r0, r0, #2 + adds r2, r5, r0 + lsls r2, r2, #1 + add r2, r8 + ldr r1, _08007FF0 @ =0x0201B130 + adds r3, r3, r1 + ldrh r0, [r2] + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r2] + adds r6, #4 + adds r4, #4 + adds r5, #2 + adds r7, #1 + cmp r7, #7 + ble _08007FB6 + bl _080088C8 + .align 2, 0 _08007FE8: .4byte 0x03000000 _08007FEC: .4byte 0x0202BE30 _08007FF0: .4byte 0x0201B130 _08007FF4: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - adds r2, #0x10 - mov sb, r2 - ldr r1, _08008074 @ =0x03000000 - mov r8, r1 - movs r2, #0x80 - lsls r2, r2, #2 - mov sl, r2 - ldr r6, _08008078 @ =0x0202BE30 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + adds r2, #0x10 + mov sb, r2 + ldr r1, _08008074 @ =0x03000000 + mov r8, r1 + movs r2, #0x80 + lsls r2, r2, #2 + mov sl, r2 + ldr r6, _08008078 @ =0x0202BE30 _0800800A: - lsls r4, r7, #1 - mov r0, ip - adds r3, r4, r0 - lsls r2, r3, #1 - add r2, r8 - lsls r5, r7, #2 - ldrh r1, [r6] - ldr r0, _0800807C @ =0x00000FFF - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r4, sb - lsls r2, r4, #1 - add r2, r8 - ldrh r1, [r6] - movs r0, #0xf0 - lsls r0, r0, #8 - ands r0, r1 - lsrs r0, r0, #0xc - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r3, sl - lsls r3, r3, #1 - add r3, r8 - ldr r1, _08008080 @ =0x0201B130 - adds r5, r5, r1 - ldrh r1, [r5] - ldr r0, _0800807C @ =0x00000FFF - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - add r4, sl - lsls r4, r4, #1 - add r4, r8 - ldrh r1, [r5] - movs r0, #0xf0 - lsls r0, r0, #8 - ands r0, r1 - lsrs r0, r0, #0xc - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _0800800A - bl _080088C8 - .align 2, 0 + lsls r4, r7, #1 + mov r0, ip + adds r3, r4, r0 + lsls r2, r3, #1 + add r2, r8 + lsls r5, r7, #2 + ldrh r1, [r6] + ldr r0, _0800807C @ =0x00000FFF + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r4, sb + lsls r2, r4, #1 + add r2, r8 + ldrh r1, [r6] + movs r0, #0xf0 + lsls r0, r0, #8 + ands r0, r1 + lsrs r0, r0, #0xc + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r3, sl + lsls r3, r3, #1 + add r3, r8 + ldr r1, _08008080 @ =0x0201B130 + adds r5, r5, r1 + ldrh r1, [r5] + ldr r0, _0800807C @ =0x00000FFF + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + add r4, sl + lsls r4, r4, #1 + add r4, r8 + ldrh r1, [r5] + movs r0, #0xf0 + lsls r0, r0, #8 + ands r0, r1 + lsrs r0, r0, #0xc + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _0800800A + bl _080088C8 + .align 2, 0 _08008074: .4byte 0x03000000 _08008078: .4byte 0x0202BE30 _0800807C: .4byte 0x00000FFF _08008080: .4byte 0x0201B130 _08008084: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - adds r2, #0x10 - mov sb, r2 - ldr r1, _08008104 @ =0x03000000 - mov r8, r1 - movs r2, #0x80 - lsls r2, r2, #2 - mov sl, r2 - ldr r6, _08008108 @ =0x0202BE30 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + adds r2, #0x10 + mov sb, r2 + ldr r1, _08008104 @ =0x03000000 + mov r8, r1 + movs r2, #0x80 + lsls r2, r2, #2 + mov sl, r2 + ldr r6, _08008108 @ =0x0202BE30 _0800809A: - lsls r4, r7, #1 - mov r0, ip - adds r3, r4, r0 - lsls r2, r3, #1 - add r2, r8 - lsls r5, r7, #2 - ldrh r1, [r6] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r4, sb - lsls r2, r4, #1 - add r2, r8 - ldrh r1, [r6] - movs r0, #0xff - lsls r0, r0, #8 - ands r0, r1 - lsrs r0, r0, #8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r3, sl - lsls r3, r3, #1 - add r3, r8 - ldr r1, _0800810C @ =0x0201B130 - adds r5, r5, r1 - ldrh r1, [r5] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - add r4, sl - lsls r4, r4, #1 - add r4, r8 - ldrh r1, [r5] - movs r0, #0xff - lsls r0, r0, #8 - ands r0, r1 - lsrs r0, r0, #8 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _0800809A - bl _080088C8 - .align 2, 0 + lsls r4, r7, #1 + mov r0, ip + adds r3, r4, r0 + lsls r2, r3, #1 + add r2, r8 + lsls r5, r7, #2 + ldrh r1, [r6] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r4, sb + lsls r2, r4, #1 + add r2, r8 + ldrh r1, [r6] + movs r0, #0xff + lsls r0, r0, #8 + ands r0, r1 + lsrs r0, r0, #8 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r3, sl + lsls r3, r3, #1 + add r3, r8 + ldr r1, _0800810C @ =0x0201B130 + adds r5, r5, r1 + ldrh r1, [r5] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + add r4, sl + lsls r4, r4, #1 + add r4, r8 + ldrh r1, [r5] + movs r0, #0xff + lsls r0, r0, #8 + ands r0, r1 + lsrs r0, r0, #8 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _0800809A + bl _080088C8 + .align 2, 0 _08008104: .4byte 0x03000000 _08008108: .4byte 0x0202BE30 _0800810C: .4byte 0x0201B130 _08008110: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - adds r2, #0x10 - mov sb, r2 - ldr r1, _0800818C @ =0x03000000 - mov r8, r1 - movs r2, #0x80 - lsls r2, r2, #2 - mov sl, r2 - ldr r6, _08008190 @ =0x0202BE30 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + adds r2, #0x10 + mov sb, r2 + ldr r1, _0800818C @ =0x03000000 + mov r8, r1 + movs r2, #0x80 + lsls r2, r2, #2 + mov sl, r2 + ldr r6, _08008190 @ =0x0202BE30 _08008126: - lsls r4, r7, #1 - mov r0, ip - adds r3, r4, r0 - lsls r2, r3, #1 - add r2, r8 - lsls r5, r7, #2 - ldrh r1, [r6] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r4, sb - lsls r2, r4, #1 - add r2, r8 - ldrh r1, [r6] - ldr r0, _08008194 @ =0x0000FFF0 - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r3, sl - lsls r3, r3, #1 - add r3, r8 - ldr r1, _08008198 @ =0x0201B130 - adds r5, r5, r1 - ldrh r1, [r5] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - add r4, sl - lsls r4, r4, #1 - add r4, r8 - ldrh r1, [r5] - ldr r0, _08008194 @ =0x0000FFF0 - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _08008126 - b _080088C8 - .align 2, 0 + lsls r4, r7, #1 + mov r0, ip + adds r3, r4, r0 + lsls r2, r3, #1 + add r2, r8 + lsls r5, r7, #2 + ldrh r1, [r6] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r4, sb + lsls r2, r4, #1 + add r2, r8 + ldrh r1, [r6] + ldr r0, _08008194 @ =0x0000FFF0 + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r3, sl + lsls r3, r3, #1 + add r3, r8 + ldr r1, _08008198 @ =0x0201B130 + adds r5, r5, r1 + ldrh r1, [r5] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + add r4, sl + lsls r4, r4, #1 + add r4, r8 + ldrh r1, [r5] + ldr r0, _08008194 @ =0x0000FFF0 + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _08008126 + b _080088C8 + .align 2, 0 _0800818C: .4byte 0x03000000 _08008190: .4byte 0x0202BE30 _08008194: .4byte 0x0000FFF0 _08008198: .4byte 0x0201B130 _0800819C: - adds r0, r3, #0 - cmp r3, #0 - bge _080081A4 - adds r0, r3, #7 + adds r0, r3, #0 + cmp r3, #0 + bge _080081A4 + adds r0, r3, #7 _080081A4: - asrs r0, r0, #3 - lsls r0, r0, #3 - subs r0, r3, r0 - cmp r0, #7 - bls _080081B0 - b _080088C8 + asrs r0, r0, #3 + lsls r0, r0, #3 + subs r0, r3, r0 + cmp r0, #7 + bls _080081B0 + b _080088C8 _080081B0: - lsls r0, r0, #2 - ldr r1, _080081BC @ =_080081C0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _080081BC @ =_080081C0 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080081BC: .4byte _080081C0 _080081C0: @ jump table - .4byte _080081E0 @ case 0 - .4byte _08008230 @ case 1 - .4byte _08008284 @ case 2 - .4byte _08008318 @ case 3 - .4byte _080083AC @ case 4 - .4byte _0800840C @ case 5 - .4byte _08008468 @ case 6 - .4byte _080084F4 @ case 7 + .4byte _080081E0 @ case 0 + .4byte _08008230 @ case 1 + .4byte _08008284 @ case 2 + .4byte _08008318 @ case 3 + .4byte _080083AC @ case 4 + .4byte _0800840C @ case 5 + .4byte _08008468 @ case 6 + .4byte _080084F4 @ case 7 _080081E0: - movs r7, #0 - ldr r1, _08008220 @ =0x03000000 - ldr r6, _08008224 @ =0x00000FFF - lsls r0, r2, #1 - adds r4, r0, r1 - ldr r5, _08008228 @ =0x0202BE30 - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r0, r2 - adds r3, r0, r1 + movs r7, #0 + ldr r1, _08008220 @ =0x03000000 + ldr r6, _08008224 @ =0x00000FFF + lsls r0, r2, #1 + adds r4, r0, r1 + ldr r5, _08008228 @ =0x0202BE30 + movs r2, #0x80 + lsls r2, r2, #3 + adds r0, r0, r2 + adds r3, r0, r1 _080081F4: - lsls r2, r7, #2 - ldrh r1, [r5] - adds r0, r6, #0 - ands r0, r1 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - ldr r0, _0800822C @ =0x0201B130 - adds r2, r2, r0 - ldrh r1, [r2] - adds r0, r6, #0 - ands r0, r1 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - adds r4, #4 - adds r5, #4 - adds r3, #4 - adds r7, #1 - cmp r7, #7 - ble _080081F4 - b _080088C8 - .align 2, 0 + lsls r2, r7, #2 + ldrh r1, [r5] + adds r0, r6, #0 + ands r0, r1 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + ldr r0, _0800822C @ =0x0201B130 + adds r2, r2, r0 + ldrh r1, [r2] + adds r0, r6, #0 + ands r0, r1 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + adds r4, #4 + adds r5, #4 + adds r3, #4 + adds r7, #1 + cmp r7, #7 + ble _080081F4 + b _080088C8 + .align 2, 0 _08008220: .4byte 0x03000000 _08008224: .4byte 0x00000FFF _08008228: .4byte 0x0202BE30 _0800822C: .4byte 0x0201B130 _08008230: - movs r7, #0 - ldr r1, _08008274 @ =0x03000000 - ldr r6, _08008278 @ =0x00000FFF - lsls r0, r2, #1 - adds r4, r0, r1 - ldr r5, _0800827C @ =0x0202BE30 - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r0, r2 - adds r3, r0, r1 + movs r7, #0 + ldr r1, _08008274 @ =0x03000000 + ldr r6, _08008278 @ =0x00000FFF + lsls r0, r2, #1 + adds r4, r0, r1 + ldr r5, _0800827C @ =0x0202BE30 + movs r2, #0x80 + lsls r2, r2, #3 + adds r0, r0, r2 + adds r3, r0, r1 _08008244: - lsls r2, r7, #2 - ldrh r1, [r5] - adds r0, r6, #0 - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - ldr r0, _08008280 @ =0x0201B130 - adds r2, r2, r0 - ldrh r1, [r2] - adds r0, r6, #0 - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - adds r4, #4 - adds r5, #4 - adds r3, #4 - adds r7, #1 - cmp r7, #7 - ble _08008244 - b _080088C8 - .align 2, 0 + lsls r2, r7, #2 + ldrh r1, [r5] + adds r0, r6, #0 + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + ldr r0, _08008280 @ =0x0201B130 + adds r2, r2, r0 + ldrh r1, [r2] + adds r0, r6, #0 + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + adds r4, #4 + adds r5, #4 + adds r3, #4 + adds r7, #1 + cmp r7, #7 + ble _08008244 + b _080088C8 + .align 2, 0 _08008274: .4byte 0x03000000 _08008278: .4byte 0x00000FFF _0800827C: .4byte 0x0202BE30 _08008280: .4byte 0x0201B130 _08008284: - movs r7, #0 - adds r1, r2, #1 - mov ip, r1 - ldr r0, _0800830C @ =0x03000000 - mov sb, r0 - movs r1, #0xf0 - lsls r1, r1, #4 - mov sl, r1 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - lsls r0, r2, #1 - mov r2, sb - adds r6, r0, r2 - ldr r0, _08008310 @ =0x0202BE30 - mov r8, r0 - lsls r1, r1, #1 - adds r5, r1, r2 + movs r7, #0 + adds r1, r2, #1 + mov ip, r1 + ldr r0, _0800830C @ =0x03000000 + mov sb, r0 + movs r1, #0xf0 + lsls r1, r1, #4 + mov sl, r1 + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + lsls r0, r2, #1 + mov r2, sb + adds r6, r0, r2 + ldr r0, _08008310 @ =0x0202BE30 + mov r8, r0 + lsls r1, r1, #1 + adds r5, r1, r2 _080082A8: - lsls r3, r7, #1 - lsls r4, r7, #2 - mov r2, r8 - ldrh r1, [r2] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r6] - add r3, ip - lsls r2, r3, #1 - add r2, sb - mov r0, r8 - ldrh r1, [r0] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - ldr r1, _08008314 @ =0x0201B130 - adds r4, r4, r1 - ldrh r1, [r4] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] - movs r2, #0x80 - lsls r2, r2, #2 - adds r3, r3, r2 - lsls r3, r3, #1 - add r3, sb - ldrh r1, [r4] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #8 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - adds r5, #4 - adds r6, #4 - movs r0, #4 - add r8, r0 - adds r7, #1 - cmp r7, #7 - ble _080082A8 - b _080088C8 - .align 2, 0 + lsls r3, r7, #1 + lsls r4, r7, #2 + mov r2, r8 + ldrh r1, [r2] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r6] + add r3, ip + lsls r2, r3, #1 + add r2, sb + mov r0, r8 + ldrh r1, [r0] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #8 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + ldr r1, _08008314 @ =0x0201B130 + adds r4, r4, r1 + ldrh r1, [r4] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r5] + movs r2, #0x80 + lsls r2, r2, #2 + adds r3, r3, r2 + lsls r3, r3, #1 + add r3, sb + ldrh r1, [r4] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #8 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + adds r5, #4 + adds r6, #4 + movs r0, #4 + add r8, r0 + adds r7, #1 + cmp r7, #7 + ble _080082A8 + b _080088C8 + .align 2, 0 _0800830C: .4byte 0x03000000 _08008310: .4byte 0x0202BE30 _08008314: .4byte 0x0201B130 _08008318: - movs r7, #0 - adds r1, r2, #1 - mov ip, r1 - ldr r0, _080083A0 @ =0x03000000 - mov sb, r0 - movs r1, #0xff - lsls r1, r1, #4 - mov sl, r1 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - lsls r0, r2, #1 - mov r2, sb - adds r6, r0, r2 - ldr r0, _080083A4 @ =0x0202BE30 - mov r8, r0 - lsls r1, r1, #1 - adds r5, r1, r2 + movs r7, #0 + adds r1, r2, #1 + mov ip, r1 + ldr r0, _080083A0 @ =0x03000000 + mov sb, r0 + movs r1, #0xff + lsls r1, r1, #4 + mov sl, r1 + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + lsls r0, r2, #1 + mov r2, sb + adds r6, r0, r2 + ldr r0, _080083A4 @ =0x0202BE30 + mov r8, r0 + lsls r1, r1, #1 + adds r5, r1, r2 _0800833C: - lsls r3, r7, #1 - lsls r4, r7, #2 - mov r2, r8 - ldrh r1, [r2] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r6] - add r3, ip - lsls r2, r3, #1 - add r2, sb - mov r0, r8 - ldrh r1, [r0] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - ldr r1, _080083A8 @ =0x0201B130 - adds r4, r4, r1 - ldrh r1, [r4] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] - movs r2, #0x80 - lsls r2, r2, #2 - adds r3, r3, r2 - lsls r3, r3, #1 - add r3, sb - ldrh r1, [r4] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - adds r5, #4 - adds r6, #4 - movs r0, #4 - add r8, r0 - adds r7, #1 - cmp r7, #7 - ble _0800833C - b _080088C8 - .align 2, 0 + lsls r3, r7, #1 + lsls r4, r7, #2 + mov r2, r8 + ldrh r1, [r2] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r6] + add r3, ip + lsls r2, r3, #1 + add r2, sb + mov r0, r8 + ldrh r1, [r0] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + ldr r1, _080083A8 @ =0x0201B130 + adds r4, r4, r1 + ldrh r1, [r4] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r5] + movs r2, #0x80 + lsls r2, r2, #2 + adds r3, r3, r2 + lsls r3, r3, #1 + add r3, sb + ldrh r1, [r4] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + adds r5, #4 + adds r6, #4 + movs r0, #4 + add r8, r0 + adds r7, #1 + cmp r7, #7 + ble _0800833C + b _080088C8 + .align 2, 0 _080083A0: .4byte 0x03000000 _080083A4: .4byte 0x0202BE30 _080083A8: .4byte 0x0201B130 _080083AC: - movs r7, #0 - adds r2, #1 - mov ip, r2 - ldr r1, _080083FC @ =0x03000000 - mov sb, r1 - ldr r2, _08008400 @ =0x00000FFF - mov r8, r2 - ldr r6, _08008404 @ =0x0202BE30 - mov r1, ip - lsls r0, r1, #1 - mov r2, sb - adds r4, r0, r2 - mov r5, ip + movs r7, #0 + adds r2, #1 + mov ip, r2 + ldr r1, _080083FC @ =0x03000000 + mov sb, r1 + ldr r2, _08008400 @ =0x00000FFF + mov r8, r2 + ldr r6, _08008404 @ =0x0202BE30 + mov r1, ip + lsls r0, r1, #1 + mov r2, sb + adds r4, r0, r2 + mov r5, ip _080083C6: - lsls r3, r7, #2 - ldrh r1, [r6] - mov r0, r8 - ands r0, r1 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - movs r0, #0x80 - lsls r0, r0, #2 - adds r2, r5, r0 - lsls r2, r2, #1 - add r2, sb - ldr r1, _08008408 @ =0x0201B130 - adds r3, r3, r1 - ldrh r1, [r3] - mov r0, r8 - ands r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - adds r6, #4 - adds r4, #4 - adds r5, #2 - adds r7, #1 - cmp r7, #7 - ble _080083C6 - b _080088C8 - .align 2, 0 + lsls r3, r7, #2 + ldrh r1, [r6] + mov r0, r8 + ands r0, r1 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + movs r0, #0x80 + lsls r0, r0, #2 + adds r2, r5, r0 + lsls r2, r2, #1 + add r2, sb + ldr r1, _08008408 @ =0x0201B130 + adds r3, r3, r1 + ldrh r1, [r3] + mov r0, r8 + ands r0, r1 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + adds r6, #4 + adds r4, #4 + adds r5, #2 + adds r7, #1 + cmp r7, #7 + ble _080083C6 + b _080088C8 + .align 2, 0 _080083FC: .4byte 0x03000000 _08008400: .4byte 0x00000FFF _08008404: .4byte 0x0202BE30 _08008408: .4byte 0x0201B130 _0800840C: - movs r7, #0 - adds r2, #1 - mov ip, r2 - ldr r6, _08008458 @ =0x03000000 - ldr r2, _0800845C @ =0x00000FFF - mov r8, r2 - ldr r5, _08008460 @ =0x0202BE30 + movs r7, #0 + adds r2, #1 + mov ip, r2 + ldr r6, _08008458 @ =0x03000000 + ldr r2, _0800845C @ =0x00000FFF + mov r8, r2 + ldr r5, _08008460 @ =0x0202BE30 _0800841A: - lsls r2, r7, #1 - add r2, ip - lsls r3, r2, #1 - adds r3, r3, r6 - lsls r4, r7, #2 - ldrh r1, [r5] - mov r0, r8 - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - movs r0, #0x80 - lsls r0, r0, #2 - adds r2, r2, r0 - lsls r2, r2, #1 - adds r2, r2, r6 - ldr r1, _08008464 @ =0x0201B130 - adds r4, r4, r1 - ldrh r1, [r4] - mov r0, r8 - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - adds r5, #4 - adds r7, #1 - cmp r7, #7 - ble _0800841A - b _080088C8 - .align 2, 0 + lsls r2, r7, #1 + add r2, ip + lsls r3, r2, #1 + adds r3, r3, r6 + lsls r4, r7, #2 + ldrh r1, [r5] + mov r0, r8 + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + movs r0, #0x80 + lsls r0, r0, #2 + adds r2, r2, r0 + lsls r2, r2, #1 + adds r2, r2, r6 + ldr r1, _08008464 @ =0x0201B130 + adds r4, r4, r1 + ldrh r1, [r4] + mov r0, r8 + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + adds r5, #4 + adds r7, #1 + cmp r7, #7 + ble _0800841A + b _080088C8 + .align 2, 0 _08008458: .4byte 0x03000000 _0800845C: .4byte 0x00000FFF _08008460: .4byte 0x0202BE30 _08008464: .4byte 0x0201B130 _08008468: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - adds r2, #0x10 - mov sb, r2 - ldr r1, _080084E8 @ =0x03000000 - mov r8, r1 - movs r2, #0x80 - lsls r2, r2, #2 - mov sl, r2 - ldr r6, _080084EC @ =0x0202BE30 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + adds r2, #0x10 + mov sb, r2 + ldr r1, _080084E8 @ =0x03000000 + mov r8, r1 + movs r2, #0x80 + lsls r2, r2, #2 + mov sl, r2 + ldr r6, _080084EC @ =0x0202BE30 _0800847E: - lsls r4, r7, #1 - mov r0, ip - adds r3, r4, r0 - lsls r2, r3, #1 - add r2, r8 - lsls r5, r7, #2 - ldrh r1, [r6] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r4, sb - lsls r2, r4, #1 - add r2, r8 - ldrh r1, [r6] - movs r0, #0xf0 - lsls r0, r0, #4 - ands r0, r1 - lsrs r0, r0, #8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r3, sl - lsls r3, r3, #1 - add r3, r8 - ldr r1, _080084F0 @ =0x0201B130 - adds r5, r5, r1 - ldrh r1, [r5] - movs r0, #0xff - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - add r4, sl - lsls r4, r4, #1 - add r4, r8 - ldrh r1, [r5] - movs r0, #0xf0 - lsls r0, r0, #4 - ands r0, r1 - lsrs r0, r0, #8 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _0800847E - b _080088C8 - .align 2, 0 + lsls r4, r7, #1 + mov r0, ip + adds r3, r4, r0 + lsls r2, r3, #1 + add r2, r8 + lsls r5, r7, #2 + ldrh r1, [r6] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r4, sb + lsls r2, r4, #1 + add r2, r8 + ldrh r1, [r6] + movs r0, #0xf0 + lsls r0, r0, #4 + ands r0, r1 + lsrs r0, r0, #8 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r3, sl + lsls r3, r3, #1 + add r3, r8 + ldr r1, _080084F0 @ =0x0201B130 + adds r5, r5, r1 + ldrh r1, [r5] + movs r0, #0xff + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + add r4, sl + lsls r4, r4, #1 + add r4, r8 + ldrh r1, [r5] + movs r0, #0xf0 + lsls r0, r0, #4 + ands r0, r1 + lsrs r0, r0, #8 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _0800847E + b _080088C8 + .align 2, 0 _080084E8: .4byte 0x03000000 _080084EC: .4byte 0x0202BE30 _080084F0: .4byte 0x0201B130 _080084F4: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - adds r2, #0x10 - mov sb, r2 - ldr r1, _08008574 @ =0x03000000 - mov r8, r1 - movs r2, #0x80 - lsls r2, r2, #2 - mov sl, r2 - ldr r6, _08008578 @ =0x0202BE30 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + adds r2, #0x10 + mov sb, r2 + ldr r1, _08008574 @ =0x03000000 + mov r8, r1 + movs r2, #0x80 + lsls r2, r2, #2 + mov sl, r2 + ldr r6, _08008578 @ =0x0202BE30 _0800850A: - lsls r4, r7, #1 - mov r0, ip - adds r3, r4, r0 - lsls r2, r3, #1 - add r2, r8 - lsls r5, r7, #2 - ldrh r1, [r6] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r4, sb - lsls r2, r4, #1 - add r2, r8 - ldrh r1, [r6] - movs r0, #0xff - lsls r0, r0, #4 - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r3, sl - lsls r3, r3, #1 - add r3, r8 - ldr r1, _0800857C @ =0x0201B130 - adds r5, r5, r1 - ldrh r1, [r5] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - add r4, sl - lsls r4, r4, #1 - add r4, r8 - ldrh r1, [r5] - movs r0, #0xff - lsls r0, r0, #4 - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _0800850A - b _080088C8 - .align 2, 0 + lsls r4, r7, #1 + mov r0, ip + adds r3, r4, r0 + lsls r2, r3, #1 + add r2, r8 + lsls r5, r7, #2 + ldrh r1, [r6] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r4, sb + lsls r2, r4, #1 + add r2, r8 + ldrh r1, [r6] + movs r0, #0xff + lsls r0, r0, #4 + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r3, sl + lsls r3, r3, #1 + add r3, r8 + ldr r1, _0800857C @ =0x0201B130 + adds r5, r5, r1 + ldrh r1, [r5] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + add r4, sl + lsls r4, r4, #1 + add r4, r8 + ldrh r1, [r5] + movs r0, #0xff + lsls r0, r0, #4 + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _0800850A + b _080088C8 + .align 2, 0 _08008574: .4byte 0x03000000 _08008578: .4byte 0x0202BE30 _0800857C: .4byte 0x0201B130 _08008580: - adds r0, r3, #0 - cmp r3, #0 - bge _08008588 - adds r0, r3, #7 + adds r0, r3, #0 + cmp r3, #0 + bge _08008588 + adds r0, r3, #7 _08008588: - asrs r0, r0, #3 - lsls r0, r0, #3 - subs r0, r3, r0 - cmp r0, #7 - bls _08008594 - b _080088C8 + asrs r0, r0, #3 + lsls r0, r0, #3 + subs r0, r3, r0 + cmp r0, #7 + bls _08008594 + b _080088C8 _08008594: - lsls r0, r0, #2 - ldr r1, _080085A0 @ =_080085A4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _080085A0 @ =_080085A4 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080085A0: .4byte _080085A4 _080085A4: @ jump table - .4byte _080085C4 @ case 0 - .4byte _08008610 @ case 1 - .4byte _08008660 @ case 2 - .4byte _080086B0 @ case 3 - .4byte _08008744 @ case 4 - .4byte _080087A0 @ case 5 - .4byte _080087F8 @ case 6 - .4byte _08008850 @ case 7 + .4byte _080085C4 @ case 0 + .4byte _08008610 @ case 1 + .4byte _08008660 @ case 2 + .4byte _080086B0 @ case 3 + .4byte _08008744 @ case 4 + .4byte _080087A0 @ case 5 + .4byte _080087F8 @ case 6 + .4byte _08008850 @ case 7 _080085C4: - movs r7, #0 - ldr r1, _08008604 @ =0x03000000 - movs r6, #0xff - lsls r0, r2, #1 - adds r4, r0, r1 - ldr r5, _08008608 @ =0x0202BE30 - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r0, r2 - adds r3, r0, r1 + movs r7, #0 + ldr r1, _08008604 @ =0x03000000 + movs r6, #0xff + lsls r0, r2, #1 + adds r4, r0, r1 + ldr r5, _08008608 @ =0x0202BE30 + movs r2, #0x80 + lsls r2, r2, #3 + adds r0, r0, r2 + adds r3, r0, r1 _080085D8: - lsls r2, r7, #2 - ldrh r1, [r5] - adds r0, r6, #0 - ands r0, r1 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - ldr r0, _0800860C @ =0x0201B130 - adds r2, r2, r0 - ldrh r1, [r2] - adds r0, r6, #0 - ands r0, r1 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - adds r4, #4 - adds r5, #4 - adds r3, #4 - adds r7, #1 - cmp r7, #7 - ble _080085D8 - b _080088C8 - .align 2, 0 + lsls r2, r7, #2 + ldrh r1, [r5] + adds r0, r6, #0 + ands r0, r1 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + ldr r0, _0800860C @ =0x0201B130 + adds r2, r2, r0 + ldrh r1, [r2] + adds r0, r6, #0 + ands r0, r1 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + adds r4, #4 + adds r5, #4 + adds r3, #4 + adds r7, #1 + cmp r7, #7 + ble _080085D8 + b _080088C8 + .align 2, 0 _08008604: .4byte 0x03000000 _08008608: .4byte 0x0202BE30 _0800860C: .4byte 0x0201B130 _08008610: - movs r7, #0 - ldr r1, _08008654 @ =0x03000000 - movs r6, #0xff - lsls r0, r2, #1 - adds r4, r0, r1 - ldr r5, _08008658 @ =0x0202BE30 - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r0, r2 - adds r3, r0, r1 + movs r7, #0 + ldr r1, _08008654 @ =0x03000000 + movs r6, #0xff + lsls r0, r2, #1 + adds r4, r0, r1 + ldr r5, _08008658 @ =0x0202BE30 + movs r2, #0x80 + lsls r2, r2, #3 + adds r0, r0, r2 + adds r3, r0, r1 _08008624: - lsls r2, r7, #2 - ldrh r1, [r5] - adds r0, r6, #0 - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - ldr r0, _0800865C @ =0x0201B130 - adds r2, r2, r0 - ldrh r1, [r2] - adds r0, r6, #0 - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - adds r4, #4 - adds r5, #4 - adds r3, #4 - adds r7, #1 - cmp r7, #7 - ble _08008624 - b _080088C8 - .align 2, 0 + lsls r2, r7, #2 + ldrh r1, [r5] + adds r0, r6, #0 + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + ldr r0, _0800865C @ =0x0201B130 + adds r2, r2, r0 + ldrh r1, [r2] + adds r0, r6, #0 + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + adds r4, #4 + adds r5, #4 + adds r3, #4 + adds r7, #1 + cmp r7, #7 + ble _08008624 + b _080088C8 + .align 2, 0 _08008654: .4byte 0x03000000 _08008658: .4byte 0x0202BE30 _0800865C: .4byte 0x0201B130 _08008660: - movs r7, #0 - ldr r1, _080086A4 @ =0x03000000 - movs r6, #0xff - lsls r0, r2, #1 - adds r4, r0, r1 - ldr r5, _080086A8 @ =0x0202BE30 - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r0, r2 - adds r3, r0, r1 + movs r7, #0 + ldr r1, _080086A4 @ =0x03000000 + movs r6, #0xff + lsls r0, r2, #1 + adds r4, r0, r1 + ldr r5, _080086A8 @ =0x0202BE30 + movs r2, #0x80 + lsls r2, r2, #3 + adds r0, r0, r2 + adds r3, r0, r1 _08008674: - lsls r2, r7, #2 - ldrh r1, [r5] - adds r0, r6, #0 - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - ldr r0, _080086AC @ =0x0201B130 - adds r2, r2, r0 - ldrh r1, [r2] - adds r0, r6, #0 - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - adds r4, #4 - adds r5, #4 - adds r3, #4 - adds r7, #1 - cmp r7, #7 - ble _08008674 - b _080088C8 - .align 2, 0 + lsls r2, r7, #2 + ldrh r1, [r5] + adds r0, r6, #0 + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + ldr r0, _080086AC @ =0x0201B130 + adds r2, r2, r0 + ldrh r1, [r2] + adds r0, r6, #0 + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + adds r4, #4 + adds r5, #4 + adds r3, #4 + adds r7, #1 + cmp r7, #7 + ble _08008674 + b _080088C8 + .align 2, 0 _080086A4: .4byte 0x03000000 _080086A8: .4byte 0x0202BE30 _080086AC: .4byte 0x0201B130 _080086B0: - movs r7, #0 - adds r1, r2, #1 - mov ip, r1 - ldr r0, _08008738 @ =0x03000000 - mov sb, r0 - movs r1, #0xf0 - mov sl, r1 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - lsls r0, r2, #1 - mov r2, sb - adds r6, r0, r2 - ldr r0, _0800873C @ =0x0202BE30 - mov r8, r0 - lsls r1, r1, #1 - adds r5, r1, r2 + movs r7, #0 + adds r1, r2, #1 + mov ip, r1 + ldr r0, _08008738 @ =0x03000000 + mov sb, r0 + movs r1, #0xf0 + mov sl, r1 + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + lsls r0, r2, #1 + mov r2, sb + adds r6, r0, r2 + ldr r0, _0800873C @ =0x0202BE30 + mov r8, r0 + lsls r1, r1, #1 + adds r5, r1, r2 _080086D2: - lsls r3, r7, #1 - lsls r4, r7, #2 - mov r2, r8 - ldrh r1, [r2] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r6] - orrs r0, r1 - strh r0, [r6] - add r3, ip - lsls r2, r3, #1 - add r2, sb - mov r0, r8 - ldrh r1, [r0] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - ldr r1, _08008740 @ =0x0201B130 - adds r4, r4, r1 - ldrh r1, [r4] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] - movs r2, #0x80 - lsls r2, r2, #2 - adds r3, r3, r2 - lsls r3, r3, #1 - add r3, sb - ldrh r1, [r4] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - adds r5, #4 - adds r6, #4 - movs r0, #4 - add r8, r0 - adds r7, #1 - cmp r7, #7 - ble _080086D2 - b _080088C8 - .align 2, 0 + lsls r3, r7, #1 + lsls r4, r7, #2 + mov r2, r8 + ldrh r1, [r2] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r6] + orrs r0, r1 + strh r0, [r6] + add r3, ip + lsls r2, r3, #1 + add r2, sb + mov r0, r8 + ldrh r1, [r0] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + ldr r1, _08008740 @ =0x0201B130 + adds r4, r4, r1 + ldrh r1, [r4] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r5] + orrs r0, r1 + strh r0, [r5] + movs r2, #0x80 + lsls r2, r2, #2 + adds r3, r3, r2 + lsls r3, r3, #1 + add r3, sb + ldrh r1, [r4] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + adds r5, #4 + adds r6, #4 + movs r0, #4 + add r8, r0 + adds r7, #1 + cmp r7, #7 + ble _080086D2 + b _080088C8 + .align 2, 0 _08008738: .4byte 0x03000000 _0800873C: .4byte 0x0202BE30 _08008740: .4byte 0x0201B130 _08008744: - movs r7, #0 - adds r2, #1 - mov ip, r2 - ldr r1, _08008794 @ =0x03000000 - mov sb, r1 - movs r2, #0xff - mov r8, r2 - ldr r6, _08008798 @ =0x0202BE30 - mov r1, ip - lsls r0, r1, #1 - mov r2, sb - adds r4, r0, r2 - mov r5, ip + movs r7, #0 + adds r2, #1 + mov ip, r2 + ldr r1, _08008794 @ =0x03000000 + mov sb, r1 + movs r2, #0xff + mov r8, r2 + ldr r6, _08008798 @ =0x0202BE30 + mov r1, ip + lsls r0, r1, #1 + mov r2, sb + adds r4, r0, r2 + mov r5, ip _0800875E: - lsls r3, r7, #2 - ldrh r1, [r6] - mov r0, r8 - ands r0, r1 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - movs r0, #0x80 - lsls r0, r0, #2 - adds r2, r5, r0 - lsls r2, r2, #1 - add r2, sb - ldr r1, _0800879C @ =0x0201B130 - adds r3, r3, r1 - ldrh r1, [r3] - mov r0, r8 - ands r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - adds r6, #4 - adds r4, #4 - adds r5, #2 - adds r7, #1 - cmp r7, #7 - ble _0800875E - b _080088C8 - .align 2, 0 + lsls r3, r7, #2 + ldrh r1, [r6] + mov r0, r8 + ands r0, r1 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + movs r0, #0x80 + lsls r0, r0, #2 + adds r2, r5, r0 + lsls r2, r2, #1 + add r2, sb + ldr r1, _0800879C @ =0x0201B130 + adds r3, r3, r1 + ldrh r1, [r3] + mov r0, r8 + ands r0, r1 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + adds r6, #4 + adds r4, #4 + adds r5, #2 + adds r7, #1 + cmp r7, #7 + ble _0800875E + b _080088C8 + .align 2, 0 _08008794: .4byte 0x03000000 _08008798: .4byte 0x0202BE30 _0800879C: .4byte 0x0201B130 _080087A0: - movs r7, #0 - adds r2, #1 - mov ip, r2 - ldr r6, _080087EC @ =0x03000000 - movs r2, #0xff - mov r8, r2 - ldr r5, _080087F0 @ =0x0202BE30 + movs r7, #0 + adds r2, #1 + mov ip, r2 + ldr r6, _080087EC @ =0x03000000 + movs r2, #0xff + mov r8, r2 + ldr r5, _080087F0 @ =0x0202BE30 _080087AE: - lsls r2, r7, #1 - add r2, ip - lsls r3, r2, #1 - adds r3, r3, r6 - lsls r4, r7, #2 - ldrh r1, [r5] - mov r0, r8 - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - movs r0, #0x80 - lsls r0, r0, #2 - adds r2, r2, r0 - lsls r2, r2, #1 - adds r2, r2, r6 - ldr r1, _080087F4 @ =0x0201B130 - adds r4, r4, r1 - ldrh r1, [r4] - mov r0, r8 - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - adds r5, #4 - adds r7, #1 - cmp r7, #7 - ble _080087AE - b _080088C8 - .align 2, 0 + lsls r2, r7, #1 + add r2, ip + lsls r3, r2, #1 + adds r3, r3, r6 + lsls r4, r7, #2 + ldrh r1, [r5] + mov r0, r8 + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + movs r0, #0x80 + lsls r0, r0, #2 + adds r2, r2, r0 + lsls r2, r2, #1 + adds r2, r2, r6 + ldr r1, _080087F4 @ =0x0201B130 + adds r4, r4, r1 + ldrh r1, [r4] + mov r0, r8 + ands r0, r1 + lsls r0, r0, #4 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + adds r5, #4 + adds r7, #1 + cmp r7, #7 + ble _080087AE + b _080088C8 + .align 2, 0 _080087EC: .4byte 0x03000000 _080087F0: .4byte 0x0202BE30 _080087F4: .4byte 0x0201B130 _080087F8: - movs r7, #0 - adds r2, #1 - mov ip, r2 - ldr r6, _08008844 @ =0x03000000 - movs r2, #0xff - mov r8, r2 - ldr r5, _08008848 @ =0x0202BE30 + movs r7, #0 + adds r2, #1 + mov ip, r2 + ldr r6, _08008844 @ =0x03000000 + movs r2, #0xff + mov r8, r2 + ldr r5, _08008848 @ =0x0202BE30 _08008806: - lsls r2, r7, #1 - add r2, ip - lsls r3, r2, #1 - adds r3, r3, r6 - lsls r4, r7, #2 - ldrh r1, [r5] - mov r0, r8 - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - movs r0, #0x80 - lsls r0, r0, #2 - adds r2, r2, r0 - lsls r2, r2, #1 - adds r2, r2, r6 - ldr r1, _0800884C @ =0x0201B130 - adds r4, r4, r1 - ldrh r1, [r4] - mov r0, r8 - ands r0, r1 - lsls r0, r0, #8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - adds r5, #4 - adds r7, #1 - cmp r7, #7 - ble _08008806 - b _080088C8 - .align 2, 0 + lsls r2, r7, #1 + add r2, ip + lsls r3, r2, #1 + adds r3, r3, r6 + lsls r4, r7, #2 + ldrh r1, [r5] + mov r0, r8 + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + movs r0, #0x80 + lsls r0, r0, #2 + adds r2, r2, r0 + lsls r2, r2, #1 + adds r2, r2, r6 + ldr r1, _0800884C @ =0x0201B130 + adds r4, r4, r1 + ldrh r1, [r4] + mov r0, r8 + ands r0, r1 + lsls r0, r0, #8 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + adds r5, #4 + adds r7, #1 + cmp r7, #7 + ble _08008806 + b _080088C8 + .align 2, 0 _08008844: .4byte 0x03000000 _08008848: .4byte 0x0202BE30 _0800884C: .4byte 0x0201B130 _08008850: - movs r7, #0 - adds r0, r2, #1 - mov ip, r0 - adds r2, #0x10 - mov sb, r2 - ldr r1, _080088D8 @ =0x03000000 - mov r8, r1 - movs r2, #0x80 - lsls r2, r2, #2 - mov sl, r2 - ldr r6, _080088DC @ =0x0202BE30 + movs r7, #0 + adds r0, r2, #1 + mov ip, r0 + adds r2, #0x10 + mov sb, r2 + ldr r1, _080088D8 @ =0x03000000 + mov r8, r1 + movs r2, #0x80 + lsls r2, r2, #2 + mov sl, r2 + ldr r6, _080088DC @ =0x0202BE30 _08008866: - lsls r4, r7, #1 - mov r0, ip - adds r3, r4, r0 - lsls r2, r3, #1 - add r2, r8 - lsls r5, r7, #2 - ldrh r1, [r6] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r4, sb - lsls r2, r4, #1 - add r2, r8 - ldrh r1, [r6] - movs r0, #0xf0 - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - add r3, sl - lsls r3, r3, #1 - add r3, r8 - ldr r1, _080088E0 @ =0x0201B130 - adds r5, r5, r1 - ldrh r1, [r5] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #0xc - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r3] - add r4, sl - lsls r4, r4, #1 - add r4, r8 - ldrh r1, [r5] - movs r0, #0xf0 - ands r0, r1 - lsrs r0, r0, #4 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - adds r6, #4 - adds r7, #1 - cmp r7, #7 - ble _08008866 + lsls r4, r7, #1 + mov r0, ip + adds r3, r4, r0 + lsls r2, r3, #1 + add r2, r8 + lsls r5, r7, #2 + ldrh r1, [r6] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r4, sb + lsls r2, r4, #1 + add r2, r8 + ldrh r1, [r6] + movs r0, #0xf0 + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] + add r3, sl + lsls r3, r3, #1 + add r3, r8 + ldr r1, _080088E0 @ =0x0201B130 + adds r5, r5, r1 + ldrh r1, [r5] + movs r0, #0xf + ands r0, r1 + lsls r0, r0, #0xc + ldrh r1, [r3] + orrs r0, r1 + strh r0, [r3] + add r4, sl + lsls r4, r4, #1 + add r4, r8 + ldrh r1, [r5] + movs r0, #0xf0 + ands r0, r1 + lsrs r0, r0, #4 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r4] + adds r6, #4 + adds r7, #1 + cmp r7, #7 + ble _08008866 _080088C8: - 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 + 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 _080088D8: .4byte 0x03000000 _080088DC: .4byte 0x0202BE30 _080088E0: .4byte 0x0201B130 - thumb_func_start sub_88E4 + thumb_func_start sub_88E4 sub_88E4: @ 0x080088E4 - push {r4, r5, r6, lr} - movs r2, #0 - ldr r6, _08008934 @ =0x0202A1C0 - ldr r5, _08008938 @ =0x0201A514 - ldr r4, _0800893C @ =0x0202BEB8 - ldr r3, _08008940 @ =0x0200B134 - adds r1, r6, #0 + push {r4, r5, r6, lr} + movs r2, #0 + ldr r6, _08008934 @ =0x0202A1C0 + ldr r5, _08008938 @ =0x0201A514 + ldr r4, _0800893C @ =0x0202BEB8 + ldr r3, _08008940 @ =0x0200B134 + adds r1, r6, #0 _080088F2: - adds r0, r2, r3 - ldrb r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r2, #1 - cmp r2, #0xcc - ble _080088F2 - ldr r0, _08008934 @ =0x0202A1C0 - movs r1, #0 - movs r2, #0xcd - lsls r2, r2, #1 - adds r0, r0, r2 - movs r2, #0x13 + adds r0, r2, r3 + ldrb r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r2, #1 + cmp r2, #0xcc + ble _080088F2 + ldr r0, _08008934 @ =0x0202A1C0 + movs r1, #0 + movs r2, #0xcd + lsls r2, r2, #1 + adds r0, r0, r2 + movs r2, #0x13 _0800890C: - strh r1, [r0] - adds r0, #2 - subs r2, #1 - cmp r2, #0 - bge _0800890C - movs r0, #0 - strh r0, [r5] - strh r0, [r4] - movs r2, #0 + strh r1, [r0] + adds r0, #2 + subs r2, #1 + cmp r2, #0 + bge _0800890C + movs r0, #0 + strh r0, [r5] + strh r0, [r4] + movs r2, #0 _0800891E: - lsls r0, r2, #1 - adds r0, r0, r6 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #4 - bhi _08008968 - lsls r0, r0, #2 - ldr r1, _08008944 @ =_08008948 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r2, #1 + adds r0, r0, r6 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #4 + bhi _08008968 + lsls r0, r0, #2 + ldr r1, _08008944 @ =_08008948 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08008934: .4byte 0x0202A1C0 _08008938: .4byte 0x0201A514 _0800893C: .4byte 0x0202BEB8 _08008940: .4byte 0x0200B134 _08008944: .4byte _08008948 _08008948: @ jump table - .4byte _08008968 @ case 0 - .4byte _08008962 @ case 1 - .4byte _08008968 @ case 2 - .4byte _08008962 @ case 3 - .4byte _0800895C @ case 4 + .4byte _08008968 @ case 0 + .4byte _08008962 @ case 1 + .4byte _08008968 @ case 2 + .4byte _08008962 @ case 3 + .4byte _0800895C @ case 4 _0800895C: - ldrh r0, [r5] - adds r0, #1 - strh r0, [r5] + ldrh r0, [r5] + adds r0, #1 + strh r0, [r5] _08008962: - ldrh r0, [r4] - adds r0, #1 - strh r0, [r4] + ldrh r0, [r4] + adds r0, #1 + strh r0, [r4] _08008968: - adds r2, #1 - cmp r2, #0xcc - ble _0800891E - pop {r4, r5, r6} - pop {r0} - bx r0 - - thumb_func_start sub_8974 + adds r2, #1 + cmp r2, #0xcc + ble _0800891E + pop {r4, r5, r6} + pop {r0} + bx r0 + + thumb_func_start sub_8974 sub_8974: @ 0x08008974 - push {r4, r5, lr} - ldr r1, _080089E0 @ =0x086A61BC - lsls r0, r0, #0x10 - asrs r0, r0, #0xf - adds r0, r0, r1 - movs r1, #0 - ldrsh r4, [r0, r1] - movs r0, #1 - rsbs r0, r0, #0 - cmp r4, r0 - beq _08008A56 - cmp r4, #0x63 - bgt _080089FC - ldr r1, _080089E4 @ =0x0202BF14 - movs r0, #0 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #5 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - adds r0, r4, #0 - movs r1, #5 - bl __modsi3 - adds r4, r0, #0 - ldr r0, _080089E8 @ =0x086BB6F4 - lsls r5, r5, #0x10 - asrs r5, r5, #0xe - adds r0, r5, r0 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - lsls r1, r4, #3 - subs r1, r1, r4 - lsls r1, r1, #2 - subs r1, r1, r4 - lsls r1, r1, #7 - ldr r0, [r0] - adds r0, r0, r1 - ldr r1, _080089EC @ =0x06013800 - movs r2, #0x6c - movs r3, #1 - bl sub_10708 - ldr r1, _080089F0 @ =0x040000D4 - ldr r0, _080089F4 @ =0x086B15B4 - adds r5, r5, r0 - lsls r4, r4, #5 - ldr r0, [r5] - adds r0, r0, r4 - str r0, [r1] - ldr r0, _080089F8 @ =0x05000240 - b _08008A4E - .align 2, 0 + push {r4, r5, lr} + ldr r1, _080089E0 @ =0x086A61BC + lsls r0, r0, #0x10 + asrs r0, r0, #0xf + adds r0, r0, r1 + movs r1, #0 + ldrsh r4, [r0, r1] + movs r0, #1 + rsbs r0, r0, #0 + cmp r4, r0 + beq _08008A56 + cmp r4, #0x63 + bgt _080089FC + ldr r1, _080089E4 @ =0x0202BF14 + movs r0, #0 + strh r0, [r1] + adds r0, r4, #0 + movs r1, #5 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + adds r0, r4, #0 + movs r1, #5 + bl __modsi3 + adds r4, r0, #0 + ldr r0, _080089E8 @ =0x086BB6F4 + lsls r5, r5, #0x10 + asrs r5, r5, #0xe + adds r0, r5, r0 + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + lsls r1, r4, #3 + subs r1, r1, r4 + lsls r1, r1, #2 + subs r1, r1, r4 + lsls r1, r1, #7 + ldr r0, [r0] + adds r0, r0, r1 + ldr r1, _080089EC @ =0x06013800 + movs r2, #0x6c + movs r3, #1 + bl sub_10708 + ldr r1, _080089F0 @ =0x040000D4 + ldr r0, _080089F4 @ =0x086B15B4 + adds r5, r5, r0 + lsls r4, r4, #5 + ldr r0, [r5] + adds r0, r0, r4 + str r0, [r1] + ldr r0, _080089F8 @ =0x05000240 + b _08008A4E + .align 2, 0 _080089E0: .4byte 0x086A61BC _080089E4: .4byte 0x0202BF14 _080089E8: .4byte 0x086BB6F4 @@ -16747,54 +16747,54 @@ _080089F0: .4byte 0x040000D4 _080089F4: .4byte 0x086B15B4 _080089F8: .4byte 0x05000240 _080089FC: - ldr r1, _08008A5C @ =0x0202BF14 - movs r0, #1 - strh r0, [r1] - subs r4, #0x64 - adds r0, r4, #0 - movs r1, #6 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - adds r0, r4, #0 - movs r1, #6 - bl __modsi3 - adds r4, r0, #0 - ldr r0, _08008A60 @ =0x086BB6DC - lsls r5, r5, #0x10 - asrs r5, r5, #0xe - adds r0, r5, r0 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - lsls r1, r4, #4 - adds r1, r1, r4 - lsls r1, r1, #3 - subs r1, r1, r4 - lsls r1, r1, #5 - ldr r0, [r0] - adds r0, r0, r1 - ldr r1, _08008A64 @ =0x06014800 - movs r2, #0x87 - movs r3, #1 - bl sub_10708 - ldr r1, _08008A68 @ =0x040000D4 - ldr r0, _08008A6C @ =0x086B159C - adds r5, r5, r0 - lsls r4, r4, #5 - ldr r0, [r5] - adds r0, r0, r4 - str r0, [r1] - ldr r0, _08008A70 @ =0x05000260 + ldr r1, _08008A5C @ =0x0202BF14 + movs r0, #1 + strh r0, [r1] + subs r4, #0x64 + adds r0, r4, #0 + movs r1, #6 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + adds r0, r4, #0 + movs r1, #6 + bl __modsi3 + adds r4, r0, #0 + ldr r0, _08008A60 @ =0x086BB6DC + lsls r5, r5, #0x10 + asrs r5, r5, #0xe + adds r0, r5, r0 + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + lsls r1, r4, #4 + adds r1, r1, r4 + lsls r1, r1, #3 + subs r1, r1, r4 + lsls r1, r1, #5 + ldr r0, [r0] + adds r0, r0, r1 + ldr r1, _08008A64 @ =0x06014800 + movs r2, #0x87 + movs r3, #1 + bl sub_10708 + ldr r1, _08008A68 @ =0x040000D4 + ldr r0, _08008A6C @ =0x086B159C + adds r5, r5, r0 + lsls r4, r4, #5 + ldr r0, [r5] + adds r0, r0, r4 + str r0, [r1] + ldr r0, _08008A70 @ =0x05000260 _08008A4E: - str r0, [r1, #4] - ldr r0, _08008A74 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] + str r0, [r1, #4] + ldr r0, _08008A74 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] _08008A56: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08008A5C: .4byte 0x0202BF14 _08008A60: .4byte 0x086BB6DC _08008A64: .4byte 0x06014800 @@ -16803,183 +16803,183 @@ _08008A6C: .4byte 0x086B159C _08008A70: .4byte 0x05000260 _08008A74: .4byte 0x80000010 - thumb_func_start sub_8A78 + thumb_func_start sub_8A78 sub_8A78: @ 0x08008A78 - ldr r1, _08008AA0 @ =0x0202A1C0 - lsls r0, r0, #0x10 - asrs r2, r0, #0xf - adds r1, r2, r1 - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #4 - bne _08008AAC - ldr r0, _08008AA4 @ =0x086A61BC - adds r0, r2, r0 - movs r2, #0 - ldrsh r1, [r0, r2] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _08008AAC - ldr r1, _08008AA8 @ =0x0202A588 - movs r0, #1 - b _08008AB0 - .align 2, 0 + ldr r1, _08008AA0 @ =0x0202A1C0 + lsls r0, r0, #0x10 + asrs r2, r0, #0xf + adds r1, r2, r1 + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #4 + bne _08008AAC + ldr r0, _08008AA4 @ =0x086A61BC + adds r0, r2, r0 + movs r2, #0 + ldrsh r1, [r0, r2] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + beq _08008AAC + ldr r1, _08008AA8 @ =0x0202A588 + movs r0, #1 + b _08008AB0 + .align 2, 0 _08008AA0: .4byte 0x0202A1C0 _08008AA4: .4byte 0x086A61BC _08008AA8: .4byte 0x0202A588 _08008AAC: - ldr r1, _08008AB8 @ =0x0202A588 - movs r0, #0 + ldr r1, _08008AB8 @ =0x0202A588 + movs r0, #0 _08008AB0: - strh r0, [r1] - movs r3, #0 - ldrsh r0, [r1, r3] - bx lr - .align 2, 0 + strh r0, [r1] + movs r3, #0 + ldrsh r0, [r1, r3] + bx lr + .align 2, 0 _08008AB8: .4byte 0x0202A588 - thumb_func_start sub_8ABC + thumb_func_start sub_8ABC sub_8ABC: @ 0x08008ABC - ldr r1, _08008AD0 @ =0x0200B134 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xcc + ldr r1, _08008AD0 @ =0x0200B134 + movs r2, #0 + adds r0, r1, #0 + adds r0, #0xcc _08008AC4: - strb r2, [r0] - subs r0, #1 - cmp r0, r1 - bge _08008AC4 - bx lr - .align 2, 0 + strb r2, [r0] + subs r0, #1 + cmp r0, r1 + bge _08008AC4 + bx lr + .align 2, 0 _08008AD0: .4byte 0x0200B134 - thumb_func_start sub_8AD4 + thumb_func_start sub_8AD4 sub_8AD4: @ 0x08008AD4 - push {lr} - ldr r1, _08008AEC @ =0x080792C0 - ldr r0, _08008AF0 @ =0x0200B0C0 - 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 + push {lr} + ldr r1, _08008AEC @ =0x080792C0 + ldr r0, _08008AF0 @ =0x0200B0C0 + 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 _08008AEC: .4byte 0x080792C0 _08008AF0: .4byte 0x0200B0C0 - thumb_func_start sub_8AF4 + thumb_func_start sub_8AF4 sub_8AF4: @ 0x08008AF4 - push {r4, lr} - bl sub_438 - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x84 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _08008BD4 @ =0x04000008 - movs r0, #4 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _08008BD8 @ =0x0400000A - adds r3, #5 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - adds r3, #0xfb - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _08008BDC @ =0x0400000C - adds r3, #0xa - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #3 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r4, _08008BE0 @ =0x0200B0C0 - ldrh r0, [r2] - strh r0, [r4, #0x16] - ldr r0, _08008BE4 @ =0x040000D4 - ldr r1, _08008BE8 @ =0x080A8840 - str r1, [r0] - movs r1, #0xa0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r3, _08008BEC @ =0x80000100 - str r3, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _08008BF0 @ =0x080A2C00 - str r1, [r0] - ldr r1, _08008BF4 @ =0x06004000 - str r1, [r0, #4] - ldr r1, _08008BF8 @ =0x80000A00 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _08008BFC @ =0x080A4820 - str r1, [r0] - ldr r1, _08008C00 @ =0x06008000 - str r1, [r0, #4] - ldr r1, _08008C04 @ =0x80001C00 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _08008C08 @ =0x080A2400 - str r1, [r0] - movs r1, #0xc0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r2, _08008C0C @ =0x80000400 - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _08008C10 @ =0x080A4020 - str r1, [r0] - ldr r1, _08008C14 @ =0x06000800 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _08008C18 @ =0x080A8040 - str r1, [r0] - ldr r1, _08008C1C @ =0x06001000 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _08008C20 @ =0x080A8A40 - str r1, [r0] - ldr r1, _08008C24 @ =0x05000200 - str r1, [r0, #4] - str r3, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _08008C28 @ =0x080A8C40 - str r1, [r0] - ldr r1, _08008C2C @ =0x06010000 - str r1, [r0, #4] - ldr r1, _08008C30 @ =0x80002010 - str r1, [r0, #8] - ldr r0, [r0, #8] - bl sub_CBC - bl sub_8C38 - ldr r0, _08008C34 @ =sub_8F94 + 1 - bl sub_FD5C - ldrb r0, [r4, #3] - adds r0, #1 - strb r0, [r4, #3] - movs r0, #3 - bl m4aSongNumStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + bl sub_438 + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x84 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _08008BD4 @ =0x04000008 + movs r0, #4 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #1 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _08008BD8 @ =0x0400000A + adds r3, #5 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + adds r3, #0xfb + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _08008BDC @ =0x0400000C + adds r3, #0xa + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #3 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r4, _08008BE0 @ =0x0200B0C0 + ldrh r0, [r2] + strh r0, [r4, #0x16] + ldr r0, _08008BE4 @ =0x040000D4 + ldr r1, _08008BE8 @ =0x080A8840 + str r1, [r0] + movs r1, #0xa0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r3, _08008BEC @ =0x80000100 + str r3, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _08008BF0 @ =0x080A2C00 + str r1, [r0] + ldr r1, _08008BF4 @ =0x06004000 + str r1, [r0, #4] + ldr r1, _08008BF8 @ =0x80000A00 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _08008BFC @ =0x080A4820 + str r1, [r0] + ldr r1, _08008C00 @ =0x06008000 + str r1, [r0, #4] + ldr r1, _08008C04 @ =0x80001C00 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _08008C08 @ =0x080A2400 + str r1, [r0] + movs r1, #0xc0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r2, _08008C0C @ =0x80000400 + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _08008C10 @ =0x080A4020 + str r1, [r0] + ldr r1, _08008C14 @ =0x06000800 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _08008C18 @ =0x080A8040 + str r1, [r0] + ldr r1, _08008C1C @ =0x06001000 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _08008C20 @ =0x080A8A40 + str r1, [r0] + ldr r1, _08008C24 @ =0x05000200 + str r1, [r0, #4] + str r3, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _08008C28 @ =0x080A8C40 + str r1, [r0] + ldr r1, _08008C2C @ =0x06010000 + str r1, [r0, #4] + ldr r1, _08008C30 @ =0x80002010 + str r1, [r0, #8] + ldr r0, [r0, #8] + bl sub_CBC + bl sub_8C38 + ldr r0, _08008C34 @ =sub_8F94 + 1 + bl sub_FD5C + ldrb r0, [r4, #3] + adds r0, #1 + strb r0, [r4, #3] + movs r0, #3 + bl m4aSongNumStart + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08008BD4: .4byte 0x04000008 _08008BD8: .4byte 0x0400000A _08008BDC: .4byte 0x0400000C @@ -17006,808 +17006,808 @@ _08008C2C: .4byte 0x06010000 _08008C30: .4byte 0x80002010 _08008C34: .4byte sub_8F94 + 1 - thumb_func_start sub_8C38 + thumb_func_start sub_8C38 sub_8C38: @ 0x08008C38 - ldr r2, _08008C70 @ =0x02002838 - movs r3, #0 - movs r1, #0 - movs r0, #2 - strh r0, [r2] - movs r0, #3 - strh r0, [r2, #2] - strh r1, [r2, #4] - movs r0, #1 - strh r0, [r2, #6] - strh r1, [r2, #8] - strh r1, [r2, #0xa] - strh r1, [r2, #0xc] - strh r1, [r2, #0xe] - strh r1, [r2, #0x16] - strh r1, [r2, #0x12] - strb r3, [r2, #0x14] - ldr r0, _08008C74 @ =0x0200B134 - adds r1, r0, #0 - adds r1, #0xce - ldrb r1, [r1] - strb r1, [r2, #0x10] - subs r0, #0x74 - strb r3, [r0, #4] - ldr r0, _08008C78 @ =0x02002850 - strb r3, [r0] - bx lr - .align 2, 0 + ldr r2, _08008C70 @ =0x02002838 + movs r3, #0 + movs r1, #0 + movs r0, #2 + strh r0, [r2] + movs r0, #3 + strh r0, [r2, #2] + strh r1, [r2, #4] + movs r0, #1 + strh r0, [r2, #6] + strh r1, [r2, #8] + strh r1, [r2, #0xa] + strh r1, [r2, #0xc] + strh r1, [r2, #0xe] + strh r1, [r2, #0x16] + strh r1, [r2, #0x12] + strb r3, [r2, #0x14] + ldr r0, _08008C74 @ =0x0200B134 + adds r1, r0, #0 + adds r1, #0xce + ldrb r1, [r1] + strb r1, [r2, #0x10] + subs r0, #0x74 + strb r3, [r0, #4] + ldr r0, _08008C78 @ =0x02002850 + strb r3, [r0] + bx lr + .align 2, 0 _08008C70: .4byte 0x02002838 _08008C74: .4byte 0x0200B134 _08008C78: .4byte 0x02002850 - thumb_func_start sub_8C7C + thumb_func_start sub_8C7C sub_8C7C: @ 0x08008C7C - push {r4, r5, r6, r7, lr} - bl sub_8F94 - ldr r7, _08008CC4 @ =0x0200B0C0 - ldrh r1, [r7, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #0xf - bne _08008CA0 - ldr r1, _08008CC8 @ =0x02002850 - movs r0, #1 - strb r0, [r1] - ldr r1, _08008CCC @ =0x02002838 - movs r0, #0 - strh r0, [r1, #0x16] - ldrb r0, [r7, #3] - adds r0, #1 - strb r0, [r7, #3] + push {r4, r5, r6, r7, lr} + bl sub_8F94 + ldr r7, _08008CC4 @ =0x0200B0C0 + ldrh r1, [r7, #0x1c] + movs r0, #0xf + ands r0, r1 + cmp r0, #0xf + bne _08008CA0 + ldr r1, _08008CC8 @ =0x02002850 + movs r0, #1 + strb r0, [r1] + ldr r1, _08008CCC @ =0x02002838 + movs r0, #0 + strh r0, [r1, #0x16] + ldrb r0, [r7, #3] + adds r0, #1 + strb r0, [r7, #3] _08008CA0: - ldr r0, _08008CC8 @ =0x02002850 - movs r6, #0 - ldrsb r6, [r0, r6] - cmp r6, #0 - beq _08008CAC - b _08008F56 + ldr r0, _08008CC8 @ =0x02002850 + movs r6, #0 + ldrsb r6, [r0, r6] + cmp r6, #0 + beq _08008CAC + b _08008F56 _08008CAC: - ldr r5, _08008CCC @ =0x02002838 - ldrh r4, [r5, #0xa] - adds r3, r5, #0 - cmp r4, #1 - bne _08008CB8 - b _08008E2E + ldr r5, _08008CCC @ =0x02002838 + ldrh r4, [r5, #0xa] + adds r3, r5, #0 + cmp r4, #1 + bne _08008CB8 + b _08008E2E _08008CB8: - cmp r4, #1 - bgt _08008CD0 - cmp r4, #0 - beq _08008CDC - b _08008F4C - .align 2, 0 + cmp r4, #1 + bgt _08008CD0 + cmp r4, #0 + beq _08008CDC + b _08008F4C + .align 2, 0 _08008CC4: .4byte 0x0200B0C0 _08008CC8: .4byte 0x02002850 _08008CCC: .4byte 0x02002838 _08008CD0: - cmp r4, #2 - beq _08008DC2 - cmp r4, #3 - bne _08008CDA - b _08008F08 + cmp r4, #2 + beq _08008DC2 + cmp r4, #3 + bne _08008CDA + b _08008F08 _08008CDA: - b _08008F4C + b _08008F4C _08008CDC: - ldrh r1, [r7, #0x18] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _08008CFC - ldrh r4, [r5, #8] - cmp r4, #1 - bne _08008D1A - movs r0, #0x6d - bl m4aSongNumStart - strh r6, [r5, #8] - strh r6, [r5, #4] - strh r4, [r5, #6] - strh r4, [r5, #0xa] - b _08008D1A + ldrh r1, [r7, #0x18] + movs r0, #0x20 + ands r0, r1 + cmp r0, #0 + beq _08008CFC + ldrh r4, [r5, #8] + cmp r4, #1 + bne _08008D1A + movs r0, #0x6d + bl m4aSongNumStart + strh r6, [r5, #8] + strh r6, [r5, #4] + strh r4, [r5, #6] + strh r4, [r5, #0xa] + b _08008D1A _08008CFC: - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08008D1A - ldrh r0, [r5, #8] - cmp r0, #0 - bne _08008D1A - movs r0, #0x6d - bl m4aSongNumStart - movs r0, #1 - strh r0, [r5, #8] - strh r0, [r5, #4] - strh r6, [r5, #6] - strh r0, [r5, #0xa] + movs r0, #0x10 + ands r0, r1 + cmp r0, #0 + beq _08008D1A + ldrh r0, [r5, #8] + cmp r0, #0 + bne _08008D1A + movs r0, #0x6d + bl m4aSongNumStart + movs r0, #1 + strh r0, [r5, #8] + strh r0, [r5, #4] + strh r6, [r5, #6] + strh r0, [r5, #0xa] _08008D1A: - ldr r2, _08008D50 @ =0x0200B0C0 - ldrh r1, [r2, #0x18] - movs r4, #1 - adds r0, r4, #0 - ands r0, r1 - adds r5, r2, #0 - cmp r0, #0 - beq _08008D66 - movs r0, #0x65 - bl m4aSongNumStart - ldr r1, _08008D54 @ =0x02002838 - movs r2, #0 - movs r3, #2 - strh r3, [r1, #0xa] - movs r0, #1 - strb r0, [r1, #0x14] - strh r2, [r1, #0xe] - ldrh r0, [r1, #8] - cmp r0, #0 - bne _08008D58 - strh r2, [r1, #4] - strh r4, [r1, #6] - strh r3, [r1] - movs r0, #3 - b _08008D62 - .align 2, 0 + ldr r2, _08008D50 @ =0x0200B0C0 + ldrh r1, [r2, #0x18] + movs r4, #1 + adds r0, r4, #0 + ands r0, r1 + adds r5, r2, #0 + cmp r0, #0 + beq _08008D66 + movs r0, #0x65 + bl m4aSongNumStart + ldr r1, _08008D54 @ =0x02002838 + movs r2, #0 + movs r3, #2 + strh r3, [r1, #0xa] + movs r0, #1 + strb r0, [r1, #0x14] + strh r2, [r1, #0xe] + ldrh r0, [r1, #8] + cmp r0, #0 + bne _08008D58 + strh r2, [r1, #4] + strh r4, [r1, #6] + strh r3, [r1] + movs r0, #3 + b _08008D62 + .align 2, 0 _08008D50: .4byte 0x0200B0C0 _08008D54: .4byte 0x02002838 _08008D58: - strh r4, [r1, #4] - strh r2, [r1, #6] - movs r0, #7 - strh r0, [r1] - movs r0, #0xb + strh r4, [r1, #4] + strh r2, [r1, #6] + movs r0, #7 + strh r0, [r1] + movs r0, #0xb _08008D62: - strh r0, [r1, #2] - strh r2, [r1, #0xc] + strh r0, [r1, #2] + strh r2, [r1, #0xc] _08008D66: - ldrh r1, [r5, #0x18] - movs r4, #2 - adds r0, r4, #0 - ands r0, r1 - cmp r0, #0 - beq _08008DAA - movs r0, #0x66 - bl m4aSongNumStart - ldrb r0, [r5, #3] - adds r0, #1 - movs r3, #0 - strb r0, [r5, #3] - ldr r1, _08008D98 @ =0x02002838 - movs r2, #1 - strh r2, [r1, #0x16] - ldrh r0, [r1, #8] - cmp r0, #0 - bne _08008D9C - strh r3, [r1, #4] - strh r2, [r1, #6] - strh r4, [r1] - movs r0, #3 - b _08008DA6 - .align 2, 0 + ldrh r1, [r5, #0x18] + movs r4, #2 + adds r0, r4, #0 + ands r0, r1 + cmp r0, #0 + beq _08008DAA + movs r0, #0x66 + bl m4aSongNumStart + ldrb r0, [r5, #3] + adds r0, #1 + movs r3, #0 + strb r0, [r5, #3] + ldr r1, _08008D98 @ =0x02002838 + movs r2, #1 + strh r2, [r1, #0x16] + ldrh r0, [r1, #8] + cmp r0, #0 + bne _08008D9C + strh r3, [r1, #4] + strh r2, [r1, #6] + strh r4, [r1] + movs r0, #3 + b _08008DA6 + .align 2, 0 _08008D98: .4byte 0x02002838 _08008D9C: - strh r2, [r1, #4] - strh r3, [r1, #6] - movs r0, #7 - strh r0, [r1] - movs r0, #0xb + strh r2, [r1, #4] + strh r3, [r1, #6] + movs r0, #7 + strh r0, [r1] + movs r0, #0xb _08008DA6: - strh r0, [r1, #2] - strh r3, [r1, #0xc] + strh r0, [r1, #2] + strh r3, [r1, #0xc] _08008DAA: - ldr r1, _08008DB8 @ =0x0200B0C0 - ldrb r0, [r1, #4] - cmp r0, #1 - bhi _08008DBC - movs r0, #0 - strb r0, [r1, #6] - b _08008F4C - .align 2, 0 + ldr r1, _08008DB8 @ =0x0200B0C0 + ldrb r0, [r1, #4] + cmp r0, #1 + bhi _08008DBC + movs r0, #0 + strb r0, [r1, #6] + b _08008F4C + .align 2, 0 _08008DB8: .4byte 0x0200B0C0 _08008DBC: - movs r0, #1 - strb r0, [r1, #6] - b _08008F4C + movs r0, #1 + strb r0, [r1, #6] + b _08008F4C _08008DC2: - ldrh r1, [r7, #0x18] - movs r0, #0x30 - ands r0, r1 - cmp r0, #0 - beq _08008DDA - movs r0, #0x67 - bl m4aSongNumStart - ldrb r1, [r5, #0x10] - movs r0, #1 - subs r0, r0, r1 - strb r0, [r5, #0x10] + ldrh r1, [r7, #0x18] + movs r0, #0x30 + ands r0, r1 + cmp r0, #0 + beq _08008DDA + movs r0, #0x67 + bl m4aSongNumStart + ldrb r1, [r5, #0x10] + movs r0, #1 + subs r0, r0, r1 + strb r0, [r5, #0x10] _08008DDA: - ldrh r1, [r7, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08008E00 - movs r0, #0x65 - bl m4aSongNumStart - strh r6, [r5, #0xe] - strh r6, [r5, #0xc] - ldrb r0, [r5, #0x10] - movs r2, #0xa1 - lsls r2, r2, #1 - adds r1, r7, r2 - strb r0, [r1] - bl sub_52B30 - movs r0, #3 - strh r0, [r5, #0xa] + ldrh r1, [r7, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _08008E00 + movs r0, #0x65 + bl m4aSongNumStart + strh r6, [r5, #0xe] + strh r6, [r5, #0xc] + ldrb r0, [r5, #0x10] + movs r2, #0xa1 + lsls r2, r2, #1 + adds r1, r7, r2 + strb r0, [r1] + bl sub_52B30 + movs r0, #3 + strh r0, [r5, #0xa] _08008E00: - ldrh r0, [r7, #0x18] - ands r4, r0 - cmp r4, #0 - beq _08008E12 - movs r0, #0x66 - bl m4aSongNumStart - strb r6, [r5, #0x14] - strh r6, [r5, #0xa] + ldrh r0, [r7, #0x18] + ands r4, r0 + cmp r4, #0 + beq _08008E12 + movs r0, #0x66 + bl m4aSongNumStart + strb r6, [r5, #0x14] + strh r6, [r5, #0xa] _08008E12: - ldrh r0, [r5, #0xe] - adds r0, #1 - strh r0, [r5, #0xe] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #4 - bgt _08008E22 - b _08008F4C + ldrh r0, [r5, #0xe] + adds r0, #1 + strh r0, [r5, #0xe] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #4 + bgt _08008E22 + b _08008F4C _08008E22: - strh r6, [r5, #0xe] - ldrh r1, [r5, #0x12] - movs r0, #1 - subs r0, r0, r1 - strh r0, [r5, #0x12] - b _08008F4C + strh r6, [r5, #0xe] + ldrh r1, [r5, #0x12] + movs r0, #1 + subs r0, r0, r1 + strh r0, [r5, #0x12] + b _08008F4C _08008E2E: - ldrh r0, [r5, #8] - cmp r0, #0 - bne _08008E5C - ldr r2, _08008E58 @ =0x086A6B14 - movs r4, #0xc - ldrsh r0, [r5, r4] - movs r1, #4 - subs r0, r1, r0 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - strh r0, [r5] - movs r4, #0xc - ldrsh r0, [r5, r4] - subs r1, r1, r0 - lsls r1, r1, #1 - adds r2, #0xa - adds r1, r1, r2 - ldrh r0, [r1] - b _08008E76 - .align 2, 0 + ldrh r0, [r5, #8] + cmp r0, #0 + bne _08008E5C + ldr r2, _08008E58 @ =0x086A6B14 + movs r4, #0xc + ldrsh r0, [r5, r4] + movs r1, #4 + subs r0, r1, r0 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + strh r0, [r5] + movs r4, #0xc + ldrsh r0, [r5, r4] + subs r1, r1, r0 + lsls r1, r1, #1 + adds r2, #0xa + adds r1, r1, r2 + ldrh r0, [r1] + b _08008E76 + .align 2, 0 _08008E58: .4byte 0x086A6B14 _08008E5C: - ldr r1, _08008E94 @ =0x086A6B14 - movs r2, #0xc - ldrsh r0, [r5, r2] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r5] - movs r4, #0xc - ldrsh r0, [r5, r4] - lsls r0, r0, #1 - adds r1, #0xa - adds r0, r0, r1 - ldrh r0, [r0] + ldr r1, _08008E94 @ =0x086A6B14 + movs r2, #0xc + ldrsh r0, [r5, r2] + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r0, [r0] + strh r0, [r5] + movs r4, #0xc + ldrsh r0, [r5, r4] + lsls r0, r0, #1 + adds r1, #0xa + adds r0, r0, r1 + ldrh r0, [r0] _08008E76: - strh r0, [r5, #2] - ldr r0, _08008E98 @ =0x0200B0C0 - ldr r1, [r0, #0x4c] - movs r0, #1 - ands r1, r0 - cmp r1, #0 - bne _08008EA0 - ldrh r2, [r3, #0xc] - movs r4, #0xc - ldrsh r0, [r3, r4] - cmp r0, #3 - bgt _08008E9C - adds r0, r2, #1 - strh r0, [r3, #0xc] - b _08008EA0 - .align 2, 0 + strh r0, [r5, #2] + ldr r0, _08008E98 @ =0x0200B0C0 + ldr r1, [r0, #0x4c] + movs r0, #1 + ands r1, r0 + cmp r1, #0 + bne _08008EA0 + ldrh r2, [r3, #0xc] + movs r4, #0xc + ldrsh r0, [r3, r4] + cmp r0, #3 + bgt _08008E9C + adds r0, r2, #1 + strh r0, [r3, #0xc] + b _08008EA0 + .align 2, 0 _08008E94: .4byte 0x086A6B14 _08008E98: .4byte 0x0200B0C0 _08008E9C: - strh r1, [r3, #0xc] - strh r1, [r3, #0xa] + strh r1, [r3, #0xc] + strh r1, [r3, #0xa] _08008EA0: - ldr r0, _08008ED0 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _08008ED8 - ldr r4, _08008ED4 @ =0x02002838 - ldrh r5, [r4, #8] - cmp r5, #1 - bne _08008F4C - movs r0, #0x6d - bl m4aSongNumStart - movs r0, #0 - strh r0, [r4, #8] - strh r0, [r4, #4] - strh r5, [r4, #6] - movs r1, #2 - strh r1, [r4] - movs r1, #3 - strh r1, [r4, #2] - strh r0, [r4, #0xc] - strh r0, [r4, #0xa] - b _08008F4C - .align 2, 0 + ldr r0, _08008ED0 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x20 + ands r0, r1 + cmp r0, #0 + beq _08008ED8 + ldr r4, _08008ED4 @ =0x02002838 + ldrh r5, [r4, #8] + cmp r5, #1 + bne _08008F4C + movs r0, #0x6d + bl m4aSongNumStart + movs r0, #0 + strh r0, [r4, #8] + strh r0, [r4, #4] + strh r5, [r4, #6] + movs r1, #2 + strh r1, [r4] + movs r1, #3 + strh r1, [r4, #2] + strh r0, [r4, #0xc] + strh r0, [r4, #0xa] + b _08008F4C + .align 2, 0 _08008ED0: .4byte 0x0200B0C0 _08008ED4: .4byte 0x02002838 _08008ED8: - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08008F4C - ldr r4, _08008F04 @ =0x02002838 - ldrh r5, [r4, #8] - cmp r5, #0 - bne _08008F4C - movs r0, #0x6d - bl m4aSongNumStart - movs r0, #1 - strh r0, [r4, #8] - strh r0, [r4, #4] - strh r5, [r4, #6] - movs r0, #7 - strh r0, [r4] - movs r0, #0xb - strh r0, [r4, #2] - strh r5, [r4, #0xc] - strh r5, [r4, #0xa] - b _08008F4C - .align 2, 0 + movs r0, #0x10 + ands r0, r1 + cmp r0, #0 + beq _08008F4C + ldr r4, _08008F04 @ =0x02002838 + ldrh r5, [r4, #8] + cmp r5, #0 + bne _08008F4C + movs r0, #0x6d + bl m4aSongNumStart + movs r0, #1 + strh r0, [r4, #8] + strh r0, [r4, #4] + strh r5, [r4, #6] + movs r0, #7 + strh r0, [r4] + movs r0, #0xb + strh r0, [r4, #2] + strh r5, [r4, #0xc] + strh r5, [r4, #0xa] + b _08008F4C + .align 2, 0 _08008F04: .4byte 0x02002838 _08008F08: - ldrh r0, [r5, #0xe] - adds r0, #1 - strh r0, [r5, #0xe] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #3 - ble _08008F4C - strh r6, [r5, #0xe] - ldrh r0, [r5, #8] - cmp r0, #0 - bne _08008F28 - ldrh r1, [r5, #4] - movs r0, #1 - subs r0, r0, r1 - strh r0, [r5, #4] - b _08008F30 + ldrh r0, [r5, #0xe] + adds r0, #1 + strh r0, [r5, #0xe] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #3 + ble _08008F4C + strh r6, [r5, #0xe] + ldrh r0, [r5, #8] + cmp r0, #0 + bne _08008F28 + ldrh r1, [r5, #4] + movs r0, #1 + subs r0, r0, r1 + strh r0, [r5, #4] + b _08008F30 _08008F28: - ldrh r1, [r5, #6] - movs r0, #1 - subs r0, r0, r1 - strh r0, [r5, #6] + ldrh r1, [r5, #6] + movs r0, #1 + subs r0, r0, r1 + strh r0, [r5, #6] _08008F30: - ldr r1, _08008F5C @ =0x02002838 - ldrh r0, [r1, #0xc] - adds r0, #1 - strh r0, [r1, #0xc] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #5 - ble _08008F4C - movs r0, #2 - strh r0, [r1, #0x16] - ldr r1, _08008F60 @ =0x0200B0C0 - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] + ldr r1, _08008F5C @ =0x02002838 + ldrh r0, [r1, #0xc] + adds r0, #1 + strh r0, [r1, #0xc] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #5 + ble _08008F4C + movs r0, #2 + strh r0, [r1, #0x16] + ldr r1, _08008F60 @ =0x0200B0C0 + ldrb r0, [r1, #3] + adds r0, #1 + strb r0, [r1, #3] _08008F4C: - ldr r0, _08008F60 @ =0x0200B0C0 - ldr r1, _08008F5C @ =0x02002838 - ldrh r1, [r1, #8] - strb r1, [r0, #4] - strb r1, [r0, #5] + ldr r0, _08008F60 @ =0x0200B0C0 + ldr r1, _08008F5C @ =0x02002838 + ldrh r1, [r1, #8] + strb r1, [r0, #4] + strb r1, [r0, #5] _08008F56: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08008F5C: .4byte 0x02002838 _08008F60: .4byte 0x0200B0C0 - thumb_func_start sub_8F64 + thumb_func_start sub_8F64 sub_8F64: @ 0x08008F64 - push {lr} - ldr r0, _08008F88 @ =sub_8F94 + 1 - bl sub_FE04 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _08008F8C @ =0x0201A4B4 - movs r0, #1 - strb r0, [r1] - ldr r0, _08008F90 @ =0x02002838 - ldrh r0, [r0, #0x16] - bl sub_23C - pop {r0} - bx r0 - .align 2, 0 + push {lr} + ldr r0, _08008F88 @ =sub_8F94 + 1 + bl sub_FE04 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _08008F8C @ =0x0201A4B4 + movs r0, #1 + strb r0, [r1] + ldr r0, _08008F90 @ =0x02002838 + ldrh r0, [r0, #0x16] + bl sub_23C + pop {r0} + bx r0 + .align 2, 0 _08008F88: .4byte sub_8F94 + 1 _08008F8C: .4byte 0x0201A4B4 _08008F90: .4byte 0x02002838 - thumb_func_start sub_8F94 + thumb_func_start sub_8F94 sub_8F94: @ 0x08008F94 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r5, _08009254 @ =0x0200B0C0 - ldrh r0, [r5, #0x38] - ldr r0, _08009258 @ =0x00000642 - strh r0, [r5, #0x38] - ldrh r0, [r5, #0x3a] - ldr r0, _0800925C @ =0x00000808 - strh r0, [r5, #0x3a] - ldr r1, _08009260 @ =0x04000050 - ldrh r0, [r5, #0x38] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r5, #0x3a] - strh r0, [r1] - movs r0, #0xbe - lsls r0, r0, #2 - adds r6, r5, r0 - movs r1, #0xec - lsls r1, r1, #2 - adds r1, r1, r5 - mov sb, r1 - ldr r4, _08009264 @ =0x02002838 - ldrh r0, [r4] - movs r2, #0xb8 - muls r0, r2, r0 - adds r0, r0, r6 - str r0, [sp] - ldrh r0, [r4, #2] - muls r0, r2, r0 - adds r0, r0, r6 - mov sl, r0 - ldrb r1, [r4, #0x10] - lsls r1, r1, #1 - movs r3, #0x12 - ldrsh r0, [r4, r3] - adds r0, #0xc - adds r1, r1, r0 - adds r0, r1, #0 - muls r0, r2, r0 - adds r0, r0, r6 - mov r8, r0 - ldrh r0, [r4, #4] - strh r0, [r6] - ldrh r0, [r4, #6] - mov r7, sb - strh r0, [r7] - movs r0, #1 - ldr r1, [sp] - strh r0, [r1] - mov r2, sl - strh r0, [r2] - movs r0, #0x14 - ldrsb r0, [r4, r0] - mov r3, r8 - strh r0, [r3] - ldr r0, _08009268 @ =0x086A6AD4 - movs r1, #0x10 - adds r2, r6, #0 - bl sub_358 - ldrh r0, [r4, #4] - cmp r0, #1 - bne _08009066 - movs r0, #0x25 - strh r0, [r6, #2] - movs r0, #0x18 - strh r0, [r6, #4] - ldr r7, _0800926C @ =0x03005000 - movs r0, #0xc0 - lsls r0, r0, #2 - adds r4, r5, r0 - ldr r1, _08009270 @ =0x000001FF - mov ip, r1 - movs r5, #1 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r5, _08009254 @ =0x0200B0C0 + ldrh r0, [r5, #0x38] + ldr r0, _08009258 @ =0x00000642 + strh r0, [r5, #0x38] + ldrh r0, [r5, #0x3a] + ldr r0, _0800925C @ =0x00000808 + strh r0, [r5, #0x3a] + ldr r1, _08009260 @ =0x04000050 + ldrh r0, [r5, #0x38] + strh r0, [r1] + adds r1, #2 + ldrh r0, [r5, #0x3a] + strh r0, [r1] + movs r0, #0xbe + lsls r0, r0, #2 + adds r6, r5, r0 + movs r1, #0xec + lsls r1, r1, #2 + adds r1, r1, r5 + mov sb, r1 + ldr r4, _08009264 @ =0x02002838 + ldrh r0, [r4] + movs r2, #0xb8 + muls r0, r2, r0 + adds r0, r0, r6 + str r0, [sp] + ldrh r0, [r4, #2] + muls r0, r2, r0 + adds r0, r0, r6 + mov sl, r0 + ldrb r1, [r4, #0x10] + lsls r1, r1, #1 + movs r3, #0x12 + ldrsh r0, [r4, r3] + adds r0, #0xc + adds r1, r1, r0 + adds r0, r1, #0 + muls r0, r2, r0 + adds r0, r0, r6 + mov r8, r0 + ldrh r0, [r4, #4] + strh r0, [r6] + ldrh r0, [r4, #6] + mov r7, sb + strh r0, [r7] + movs r0, #1 + ldr r1, [sp] + strh r0, [r1] + mov r2, sl + strh r0, [r2] + movs r0, #0x14 + ldrsb r0, [r4, r0] + mov r3, r8 + strh r0, [r3] + ldr r0, _08009268 @ =0x086A6AD4 + movs r1, #0x10 + adds r2, r6, #0 + bl sub_358 + ldrh r0, [r4, #4] + cmp r0, #1 + bne _08009066 + movs r0, #0x25 + strh r0, [r6, #2] + movs r0, #0x18 + strh r0, [r6, #4] + ldr r7, _0800926C @ =0x03005000 + movs r0, #0xc0 + lsls r0, r0, #2 + adds r4, r5, r0 + ldr r1, _08009270 @ =0x000001FF + mov ip, r1 + movs r5, #1 _08009032: - 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, ip - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _08009274 @ =0xFFFFFE00 - 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 _08009032 + 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, ip + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _08009274 @ =0xFFFFFE00 + 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 _08009032 _08009066: - ldr r0, _08009264 @ =0x02002838 - ldrh r1, [r0, #6] - cmp r1, #1 - bne _080090BC - movs r0, #0x8d - mov r3, sb - strh r0, [r3, #2] - movs r0, #0x18 - strh r0, [r3, #4] - ldr r6, _0800926C @ =0x03005000 - ldr r7, _08009274 @ =0xFFFFFE00 - mov ip, r7 - mov r4, sb - adds r4, #8 - movs r5, #1 + ldr r0, _08009264 @ =0x02002838 + ldrh r1, [r0, #6] + cmp r1, #1 + bne _080090BC + movs r0, #0x8d + mov r3, sb + strh r0, [r3, #2] + movs r0, #0x18 + strh r0, [r3, #4] + ldr r6, _0800926C @ =0x03005000 + ldr r7, _08009274 @ =0xFFFFFE00 + mov ip, r7 + mov r4, sb + adds r4, #8 + movs r5, #1 _08009084: - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r0, #2 - ldrsh r1, [r4, r0] - mov r2, sb - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r0, _08009270 @ =0x000001FF - 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, r6 - mov r2, sb - ldrb r0, [r2, #4] - ldrb r3, [r4, #4] - adds r0, r0, r3 - strb r0, [r1] - adds r4, #8 - subs r5, #1 - cmp r5, #0 - bge _08009084 + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r0, #2 + ldrsh r1, [r4, r0] + mov r2, sb + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r0, _08009270 @ =0x000001FF + 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, r6 + mov r2, sb + ldrb r0, [r2, #4] + ldrb r3, [r4, #4] + adds r0, r0, r3 + strb r0, [r1] + adds r4, #8 + subs r5, #1 + cmp r5, #0 + bge _08009084 _080090BC: - movs r0, #0x20 - ldr r7, [sp] - strh r0, [r7, #2] - strh r0, [r7, #4] - ldr r1, _08009264 @ =0x02002838 - ldrh r0, [r1] - lsls r0, r0, #2 - ldr r2, _08009268 @ =0x086A6AD4 - adds r0, r0, r2 - ldr r6, [r0] - movs r5, #0 - ldrh r3, [r6] - cmp r5, r3 - bge _0800913A - movs r7, #0xd - rsbs r7, r7, #0 - mov ip, r7 - ldr r0, _08009274 @ =0xFFFFFE00 - mov sb, r0 - ldr r4, [sp] - adds r4, #8 + movs r0, #0x20 + ldr r7, [sp] + strh r0, [r7, #2] + strh r0, [r7, #4] + ldr r1, _08009264 @ =0x02002838 + ldrh r0, [r1] + lsls r0, r0, #2 + ldr r2, _08009268 @ =0x086A6AD4 + adds r0, r0, r2 + ldr r6, [r0] + movs r5, #0 + ldrh r3, [r6] + cmp r5, r3 + bge _0800913A + movs r7, #0xd + rsbs r7, r7, #0 + mov ip, r7 + ldr r0, _08009274 @ =0xFFFFFE00 + mov sb, r0 + ldr r4, [sp] + adds r4, #8 _080090E6: - ldrh r2, [r4] - lsls r2, r2, #3 - ldr r1, _0800926C @ =0x03005000 - adds r2, r2, r1 - ldrb r1, [r2, #1] - mov r0, ip - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #1] - ldrh r3, [r4] - lsls r3, r3, #3 - ldr r2, _0800926C @ =0x03005000 - adds r3, r3, r2 - movs r7, #2 - ldrsh r1, [r4, r7] - ldr r2, [sp] - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _08009270 @ =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 r1, [r4] - lsls r1, r1, #3 - ldr r3, _0800926C @ =0x03005000 - adds r1, r1, r3 - ldr r7, [sp] - ldrb r0, [r7, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - adds r5, #1 - ldrh r3, [r6] - cmp r5, r3 - blt _080090E6 + ldrh r2, [r4] + lsls r2, r2, #3 + ldr r1, _0800926C @ =0x03005000 + adds r2, r2, r1 + ldrb r1, [r2, #1] + mov r0, ip + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #1] + ldrh r3, [r4] + lsls r3, r3, #3 + ldr r2, _0800926C @ =0x03005000 + adds r3, r3, r2 + movs r7, #2 + ldrsh r1, [r4, r7] + ldr r2, [sp] + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _08009270 @ =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 r1, [r4] + lsls r1, r1, #3 + ldr r3, _0800926C @ =0x03005000 + adds r1, r1, r3 + ldr r7, [sp] + ldrb r0, [r7, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + adds r5, #1 + ldrh r3, [r6] + cmp r5, r3 + blt _080090E6 _0800913A: - movs r0, #0x88 - mov r7, sl - strh r0, [r7, #2] - movs r0, #0x20 - strh r0, [r7, #4] - ldr r1, _08009264 @ =0x02002838 - ldrh r0, [r1, #2] - lsls r0, r0, #2 - ldr r2, _08009268 @ =0x086A6AD4 - adds r0, r0, r2 - ldr r6, [r0] - movs r5, #0 - ldrh r3, [r6] - cmp r5, r3 - bge _080091BA - movs r7, #0xd - rsbs r7, r7, #0 - mov ip, r7 - ldr r0, _08009274 @ =0xFFFFFE00 - mov sb, r0 - mov r4, sl - adds r4, #8 + movs r0, #0x88 + mov r7, sl + strh r0, [r7, #2] + movs r0, #0x20 + strh r0, [r7, #4] + ldr r1, _08009264 @ =0x02002838 + ldrh r0, [r1, #2] + lsls r0, r0, #2 + ldr r2, _08009268 @ =0x086A6AD4 + adds r0, r0, r2 + ldr r6, [r0] + movs r5, #0 + ldrh r3, [r6] + cmp r5, r3 + bge _080091BA + movs r7, #0xd + rsbs r7, r7, #0 + mov ip, r7 + ldr r0, _08009274 @ =0xFFFFFE00 + mov sb, r0 + mov r4, sl + adds r4, #8 _08009166: - ldrh r2, [r4] - lsls r2, r2, #3 - ldr r1, _0800926C @ =0x03005000 - adds r2, r2, r1 - ldrb r1, [r2, #1] - mov r0, ip - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #1] - ldrh r3, [r4] - lsls r3, r3, #3 - ldr r2, _0800926C @ =0x03005000 - adds r3, r3, r2 - movs r7, #2 - ldrsh r1, [r4, r7] - mov r2, sl - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _08009270 @ =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 r1, [r4] - lsls r1, r1, #3 - ldr r3, _0800926C @ =0x03005000 - adds r1, r1, r3 - mov r7, sl - ldrb r0, [r7, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - adds r5, #1 - ldrh r3, [r6] - cmp r5, r3 - blt _08009166 + ldrh r2, [r4] + lsls r2, r2, #3 + ldr r1, _0800926C @ =0x03005000 + adds r2, r2, r1 + ldrb r1, [r2, #1] + mov r0, ip + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #1] + ldrh r3, [r4] + lsls r3, r3, #3 + ldr r2, _0800926C @ =0x03005000 + adds r3, r3, r2 + movs r7, #2 + ldrsh r1, [r4, r7] + mov r2, sl + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _08009270 @ =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 r1, [r4] + lsls r1, r1, #3 + ldr r3, _0800926C @ =0x03005000 + adds r1, r1, r3 + mov r7, sl + ldrb r0, [r7, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + adds r5, #1 + ldrh r3, [r6] + cmp r5, r3 + blt _08009166 _080091BA: - mov r7, r8 - ldrh r0, [r7] - cmp r0, #1 - bne _08009234 - ldr r1, _08009278 @ =0x086A6B28 - ldr r2, _08009264 @ =0x02002838 - ldrh r0, [r2, #8] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r7, #2] - ldrh r0, [r2, #8] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrh r0, [r0, #2] - strh r0, [r7, #4] - ldr r6, _0800926C @ =0x03005000 - movs r3, #0xd - rsbs r3, r3, #0 - mov sb, r3 - ldr r7, _08009274 @ =0xFFFFFE00 - mov ip, r7 - mov r4, r8 - adds r4, #8 - movs r5, #4 + mov r7, r8 + ldrh r0, [r7] + cmp r0, #1 + bne _08009234 + ldr r1, _08009278 @ =0x086A6B28 + ldr r2, _08009264 @ =0x02002838 + ldrh r0, [r2, #8] + lsls r0, r0, #2 + adds r0, r0, r1 + ldrh r0, [r0] + strh r0, [r7, #2] + ldrh r0, [r2, #8] + lsls r0, r0, #2 + adds r0, r0, r1 + ldrh r0, [r0, #2] + strh r0, [r7, #4] + ldr r6, _0800926C @ =0x03005000 + movs r3, #0xd + rsbs r3, r3, #0 + mov sb, r3 + ldr r7, _08009274 @ =0xFFFFFE00 + mov ip, r7 + mov r4, r8 + adds r4, #8 + movs r5, #4 _080091EC: - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #1] - mov r0, sb - ands r0, r2 - strb r0, [r1, #1] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r0, #2 - ldrsh r1, [r4, r0] - mov r2, r8 - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _08009270 @ =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, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - mov r3, r8 - ldrb r0, [r3, #4] - ldrb r7, [r4, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r4, #8 - subs r5, #1 - cmp r5, #0 - bge _080091EC + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #1] + mov r0, sb + ands r0, r2 + strb r0, [r1, #1] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r0, #2 + ldrsh r1, [r4, r0] + mov r2, r8 + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _08009270 @ =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, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + mov r3, r8 + ldrb r0, [r3, #4] + ldrb r7, [r4, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r4, #8 + subs r5, #1 + cmp r5, #0 + bge _080091EC _08009234: - movs r0, #0 - ldr r1, [sp] - strh r0, [r1] - mov r2, sl - strh r0, [r2] - mov r3, r8 - strh r0, [r3] - 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 + movs r0, #0 + ldr r1, [sp] + strh r0, [r1] + mov r2, sl + strh r0, [r2] + mov r3, r8 + strh r0, [r3] + 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 _08009254: .4byte 0x0200B0C0 _08009258: .4byte 0x00000642 _0800925C: .4byte 0x00000808 @@ -17819,82 +17819,82 @@ _08009270: .4byte 0x000001FF _08009274: .4byte 0xFFFFFE00 _08009278: .4byte 0x086A6B28 - thumb_func_start sub_927C + thumb_func_start sub_927C sub_927C: @ 0x0800927C - push {lr} - ldr r1, _08009294 @ =0x080792CC - ldr r0, _08009298 @ =0x0200B0C0 - 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 + push {lr} + ldr r1, _08009294 @ =0x080792CC + ldr r0, _08009298 @ =0x0200B0C0 + 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 _08009294: .4byte 0x080792CC _08009298: .4byte 0x0200B0C0 - thumb_func_start sub_929C + thumb_func_start sub_929C sub_929C: @ 0x0800929C - push {r4, lr} - bl sub_438 - movs r3, #0x80 - lsls r3, r3, #0x13 - movs r0, #0x80 - strh r0, [r3] - ldr r1, _08009318 @ =0x0400000A - movs r0, #5 - strh r0, [r1] - ldrh r0, [r3] - movs r2, #0x80 - lsls r2, r2, #2 - adds r1, r2, #0 - orrs r0, r1 - strh r0, [r3] - ldr r1, _0800931C @ =0x040000D4 - ldr r0, _08009320 @ =0x080798C0 - str r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r2, _08009324 @ =0x80000400 - str r2, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08009328 @ =0x0807A0C0 - str r0, [r1] - ldr r0, _0800932C @ =0x06004000 - str r0, [r1, #4] - str r2, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08009330 @ =gIntroCopyright_Pal - str r0, [r1] - movs r0, #0xa0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _08009334 @ =0x80000100 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r4, _08009338 @ =0x0200B0C0 - ldrh r0, [r3] - movs r2, #0 - movs r1, #0 - strh r0, [r4, #0x16] - ldr r0, _0800933C @ =0x0202BF10 - strh r1, [r0] - ldr r0, _08009340 @ =0x0202C790 - strb r2, [r0] - ldr r0, _08009344 @ =sub_93F8 + 1 - bl sub_898 - bl sub_CBC - bl sub_24C - ldrb r0, [r4, #3] - adds r0, #1 - strb r0, [r4, #3] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + bl sub_438 + movs r3, #0x80 + lsls r3, r3, #0x13 + movs r0, #0x80 + strh r0, [r3] + ldr r1, _08009318 @ =0x0400000A + movs r0, #5 + strh r0, [r1] + ldrh r0, [r3] + movs r2, #0x80 + lsls r2, r2, #2 + adds r1, r2, #0 + orrs r0, r1 + strh r0, [r3] + ldr r1, _0800931C @ =0x040000D4 + ldr r0, _08009320 @ =0x080798C0 + str r0, [r1] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r2, _08009324 @ =0x80000400 + str r2, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08009328 @ =0x0807A0C0 + str r0, [r1] + ldr r0, _0800932C @ =0x06004000 + str r0, [r1, #4] + str r2, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08009330 @ =gIntroCopyright_Pal + str r0, [r1] + movs r0, #0xa0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _08009334 @ =0x80000100 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r4, _08009338 @ =0x0200B0C0 + ldrh r0, [r3] + movs r2, #0 + movs r1, #0 + strh r0, [r4, #0x16] + ldr r0, _0800933C @ =0x0202BF10 + strh r1, [r0] + ldr r0, _08009340 @ =0x0202C790 + strb r2, [r0] + ldr r0, _08009344 @ =sub_93F8 + 1 + bl sub_898 + bl sub_CBC + bl sub_24C + ldrb r0, [r4, #3] + adds r0, #1 + strb r0, [r4, #3] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08009318: .4byte 0x0400000A _0800931C: .4byte 0x040000D4 _08009320: .4byte 0x080798C0 @@ -17908,163 +17908,163 @@ _0800933C: .4byte 0x0202BF10 _08009340: .4byte 0x0202C790 _08009344: .4byte sub_93F8 + 1 - thumb_func_start sub_9348 + thumb_func_start sub_9348 sub_9348: @ 0x08009348 - ldr r1, _08009368 @ =0x0202BF10 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x78 - ble _08009364 - movs r0, #0 - strh r0, [r1] - ldr r1, _0800936C @ =0x0200B0C0 - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] + ldr r1, _08009368 @ =0x0202BF10 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x78 + ble _08009364 + movs r0, #0 + strh r0, [r1] + ldr r1, _0800936C @ =0x0200B0C0 + ldrb r0, [r1, #3] + adds r0, #1 + strb r0, [r1, #3] _08009364: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _08009368: .4byte 0x0202BF10 _0800936C: .4byte 0x0200B0C0 - thumb_func_start sub_9370 + thumb_func_start sub_9370 sub_9370: @ 0x08009370 - push {lr} - movs r0, #0 - bl sub_FF74 - bl sub_D10 - ldr r1, _08009388 @ =0x0200B0C0 - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + movs r0, #0 + bl sub_FF74 + bl sub_D10 + ldr r1, _08009388 @ =0x0200B0C0 + ldrb r0, [r1, #3] + adds r0, #1 + strb r0, [r1, #3] + pop {r0} + bx r0 + .align 2, 0 _08009388: .4byte 0x0200B0C0 - thumb_func_start sub_938C + thumb_func_start sub_938C sub_938C: @ 0x0800938C - push {lr} - ldr r1, _080093C0 @ =0x080792E0 - ldr r0, _080093C4 @ =0x0202C790 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r1, _080093C8 @ =0x0202BF10 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - ldr r2, _080093CC @ =0x0200B0C0 - ldrh r1, [r2, #0x18] - movs r0, #9 - ands r0, r1 - cmp r0, #0 - beq _080093BA - movs r0, #4 - strb r0, [r2, #3] + push {lr} + ldr r1, _080093C0 @ =0x080792E0 + ldr r0, _080093C4 @ =0x0202C790 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + ldr r1, _080093C8 @ =0x0202BF10 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + ldr r2, _080093CC @ =0x0200B0C0 + ldrh r1, [r2, #0x18] + movs r0, #9 + ands r0, r1 + cmp r0, #0 + beq _080093BA + movs r0, #4 + strb r0, [r2, #3] _080093BA: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _080093C0: .4byte 0x080792E0 _080093C4: .4byte 0x0202C790 _080093C8: .4byte 0x0202BF10 _080093CC: .4byte 0x0200B0C0 - thumb_func_start sub_93D0 + thumb_func_start sub_93D0 sub_93D0: @ 0x080093D0 - push {lr} - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - bl sub_8BC - ldr r1, _080093F4 @ =0x0201A4B4 - movs r0, #0 - strb r0, [r1] - movs r0, #1 - bl sub_23C - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + bl sub_8BC + ldr r1, _080093F4 @ =0x0201A4B4 + movs r0, #0 + strb r0, [r1] + movs r0, #1 + bl sub_23C + pop {r0} + bx r0 + .align 2, 0 _080093F4: .4byte 0x0201A4B4 - thumb_func_start sub_93F8 + thumb_func_start sub_93F8 sub_93F8: @ 0x080093F8 - push {lr} - ldr r0, _08009480 @ =0x04000004 - ldrh r1, [r0] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _0800947C - bl m4aSoundMain - bl VBlankIntrWait - ldr r1, _08009484 @ =0x040000D4 - ldr r0, _08009488 @ =0x03005000 - str r0, [r1] - movs r0, #0xe0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _0800948C @ =0x84000100 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r2, #0x80 - lsls r2, r2, #0x13 - ldr r1, _08009490 @ =0x0200B0C0 - ldrh r0, [r1, #0x16] - strh r0, [r2] - adds r2, #0x10 - movs r3, #0xba - lsls r3, r3, #2 - adds r0, r1, r3 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r3, #2 - adds r0, r1, r3 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r3, #2 - adds r0, r1, r3 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r3, #2 - adds r0, r1, r3 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r3, #2 - adds r0, r1, r3 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r3, #2 - adds r0, r1, r3 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r3, #2 - adds r0, r1, r3 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - ldr r0, _08009494 @ =0x000002F6 - adds r1, r1, r0 - ldrh r0, [r1] - strh r0, [r2] + push {lr} + ldr r0, _08009480 @ =0x04000004 + ldrh r1, [r0] + movs r0, #8 + ands r0, r1 + cmp r0, #0 + beq _0800947C + bl m4aSoundMain + bl VBlankIntrWait + ldr r1, _08009484 @ =0x040000D4 + ldr r0, _08009488 @ =0x03005000 + str r0, [r1] + movs r0, #0xe0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _0800948C @ =0x84000100 + str r0, [r1, #8] + ldr r0, [r1, #8] + movs r2, #0x80 + lsls r2, r2, #0x13 + ldr r1, _08009490 @ =0x0200B0C0 + ldrh r0, [r1, #0x16] + strh r0, [r2] + adds r2, #0x10 + movs r3, #0xba + lsls r3, r3, #2 + adds r0, r1, r3 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r3, #2 + adds r0, r1, r3 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r3, #2 + adds r0, r1, r3 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r3, #2 + adds r0, r1, r3 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r3, #2 + adds r0, r1, r3 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r3, #2 + adds r0, r1, r3 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r3, #2 + adds r0, r1, r3 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + ldr r0, _08009494 @ =0x000002F6 + adds r1, r1, r0 + ldrh r0, [r1] + strh r0, [r2] _0800947C: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _08009480: .4byte 0x04000004 _08009484: .4byte 0x040000D4 _08009488: .4byte 0x03005000 @@ -18072,195 +18072,195 @@ _0800948C: .4byte 0x84000100 _08009490: .4byte 0x0200B0C0 _08009494: .4byte 0x000002F6 - thumb_func_start sub_9498 + thumb_func_start sub_9498 sub_9498: @ 0x08009498 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - bl sub_490 - bl sub_518 - bl sub_578 - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x80 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _0800961C @ =0x04000008 - movs r3, #0xd0 - lsls r3, r3, #5 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r7, #0x80 - lsls r7, r7, #1 - adds r1, r7, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _08009620 @ =0x0400000A - ldr r3, _08009624 @ =0x00005B01 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r7, #0x80 - lsls r7, r7, #2 - adds r1, r7, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _08009628 @ =0x0400000C - ldr r3, _0800962C @ =0x00005D02 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r7, #0x80 - lsls r7, r7, #3 - adds r1, r7, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _08009630 @ =0x0400000E - ldr r3, _08009634 @ =0x00001F03 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r7, #0x80 - lsls r7, r7, #4 - adds r1, r7, #0 - orrs r0, r1 - strh r0, [r2] - ldr r4, _08009638 @ =0x040000D4 - ldr r0, _0800963C @ =0x080B9CC0 - str r0, [r4] - ldr r0, _08009640 @ =0x0600D000 - str r0, [r4, #4] - ldr r2, _08009644 @ =0x80000400 - str r2, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08009648 @ =0x080BC4C0 - str r0, [r4] - ldr r0, _0800964C @ =0x0600D800 - str r0, [r4, #4] - ldr r1, _08009650 @ =0x80000800 - str r1, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08009654 @ =0x080BB4C0 - str r0, [r4] - ldr r0, _08009658 @ =0x0600E800 - str r0, [r4, #4] - str r1, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800965C @ =0x080B3CA0 - str r0, [r4] - ldr r0, _08009660 @ =0x0600F800 - str r0, [r4, #4] - str r2, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08009664 @ =0x080B44A0 - str r0, [r4] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - ldr r0, _08009668 @ =0x80002C00 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800966C @ =0x080BD4C0 - str r0, [r4] - ldr r0, _08009670 @ =0x0201C1C0 - str r0, [r4, #4] - ldr r0, _08009674 @ =0x80003400 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r6, _08009678 @ =0x080B3AA0 - movs r0, #0xa0 - lsls r0, r0, #0x13 - mov sl, r0 - movs r2, #0x80 - lsls r2, r2, #2 - adds r0, r6, #0 - mov r1, sl - movs r3, #0x20 - bl sub_10170 - ldr r0, _0800967C @ =0x080C3CE0 - str r0, [r4] - ldr r0, _08009680 @ =0x06010000 - str r0, [r4, #4] - ldr r0, _08009684 @ =0x80004000 - str r0, [r4, #8] - ldr r0, [r4, #8] - str r6, [r4] - ldr r5, _08009688 @ =0x05000200 - str r5, [r4, #4] - ldr r1, _0800968C @ =0x80000100 - mov r8, r1 - str r1, [r4, #8] - ldr r0, [r4, #8] - bl sub_96A8 - ldr r1, _08009690 @ =0x0200B0C0 - ldr r2, _08009694 @ =0x0202ADA0 - ldrh r3, [r2] - movs r7, #0xba - lsls r7, r7, #2 - adds r0, r1, r7 - movs r7, #0 - mov sb, r7 - strh r3, [r0] - ldrh r3, [r2, #2] - ldr r7, _08009698 @ =0x000002EA - adds r0, r1, r7 - strh r3, [r0] - ldrh r3, [r2, #0x24] - adds r7, #2 - adds r0, r1, r7 - strh r3, [r0] - ldrh r3, [r2, #0x26] - adds r7, #2 - adds r0, r1, r7 - strh r3, [r0] - ldrh r3, [r2, #0xc] - adds r7, #2 - adds r0, r1, r7 - strh r3, [r0] - ldrh r3, [r2, #0xe] - adds r7, #2 - adds r0, r1, r7 - strh r3, [r0] - ldrh r3, [r2, #0x18] - adds r7, #2 - adds r0, r1, r7 - strh r3, [r0] - ldrh r0, [r2, #0x1a] - ldr r2, _0800969C @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - bl sub_CBC - mov r0, sl - adds r1, r6, #0 - movs r2, #0 - bl sub_FEB8 - str r6, [r4] - str r5, [r4, #4] - mov r3, r8 - str r3, [r4, #8] - ldr r0, [r4, #8] - mov r7, sb - str r7, [r4] - str r5, [r4, #4] - ldr r0, _080096A0 @ =0x80000010 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r1, _080096A4 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb 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 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + bl sub_490 + bl sub_518 + bl sub_578 + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x80 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _0800961C @ =0x04000008 + movs r3, #0xd0 + lsls r3, r3, #5 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r7, #0x80 + lsls r7, r7, #1 + adds r1, r7, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _08009620 @ =0x0400000A + ldr r3, _08009624 @ =0x00005B01 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r7, #0x80 + lsls r7, r7, #2 + adds r1, r7, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _08009628 @ =0x0400000C + ldr r3, _0800962C @ =0x00005D02 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r7, #0x80 + lsls r7, r7, #3 + adds r1, r7, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _08009630 @ =0x0400000E + ldr r3, _08009634 @ =0x00001F03 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r7, #0x80 + lsls r7, r7, #4 + adds r1, r7, #0 + orrs r0, r1 + strh r0, [r2] + ldr r4, _08009638 @ =0x040000D4 + ldr r0, _0800963C @ =0x080B9CC0 + str r0, [r4] + ldr r0, _08009640 @ =0x0600D000 + str r0, [r4, #4] + ldr r2, _08009644 @ =0x80000400 + str r2, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08009648 @ =0x080BC4C0 + str r0, [r4] + ldr r0, _0800964C @ =0x0600D800 + str r0, [r4, #4] + ldr r1, _08009650 @ =0x80000800 + str r1, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08009654 @ =0x080BB4C0 + str r0, [r4] + ldr r0, _08009658 @ =0x0600E800 + str r0, [r4, #4] + str r1, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800965C @ =0x080B3CA0 + str r0, [r4] + ldr r0, _08009660 @ =0x0600F800 + str r0, [r4, #4] + str r2, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08009664 @ =0x080B44A0 + str r0, [r4] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + ldr r0, _08009668 @ =0x80002C00 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800966C @ =0x080BD4C0 + str r0, [r4] + ldr r0, _08009670 @ =0x0201C1C0 + str r0, [r4, #4] + ldr r0, _08009674 @ =0x80003400 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r6, _08009678 @ =0x080B3AA0 + movs r0, #0xa0 + lsls r0, r0, #0x13 + mov sl, r0 + movs r2, #0x80 + lsls r2, r2, #2 + adds r0, r6, #0 + mov r1, sl + movs r3, #0x20 + bl sub_10170 + ldr r0, _0800967C @ =0x080C3CE0 + str r0, [r4] + ldr r0, _08009680 @ =0x06010000 + str r0, [r4, #4] + ldr r0, _08009684 @ =0x80004000 + str r0, [r4, #8] + ldr r0, [r4, #8] + str r6, [r4] + ldr r5, _08009688 @ =0x05000200 + str r5, [r4, #4] + ldr r1, _0800968C @ =0x80000100 + mov r8, r1 + str r1, [r4, #8] + ldr r0, [r4, #8] + bl sub_96A8 + ldr r1, _08009690 @ =0x0200B0C0 + ldr r2, _08009694 @ =0x0202ADA0 + ldrh r3, [r2] + movs r7, #0xba + lsls r7, r7, #2 + adds r0, r1, r7 + movs r7, #0 + mov sb, r7 + strh r3, [r0] + ldrh r3, [r2, #2] + ldr r7, _08009698 @ =0x000002EA + adds r0, r1, r7 + strh r3, [r0] + ldrh r3, [r2, #0x24] + adds r7, #2 + adds r0, r1, r7 + strh r3, [r0] + ldrh r3, [r2, #0x26] + adds r7, #2 + adds r0, r1, r7 + strh r3, [r0] + ldrh r3, [r2, #0xc] + adds r7, #2 + adds r0, r1, r7 + strh r3, [r0] + ldrh r3, [r2, #0xe] + adds r7, #2 + adds r0, r1, r7 + strh r3, [r0] + ldrh r3, [r2, #0x18] + adds r7, #2 + adds r0, r1, r7 + strh r3, [r0] + ldrh r0, [r2, #0x1a] + ldr r2, _0800969C @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + bl sub_CBC + mov r0, sl + adds r1, r6, #0 + movs r2, #0 + bl sub_FEB8 + str r6, [r4] + str r5, [r4, #4] + mov r3, r8 + str r3, [r4, #8] + ldr r0, [r4, #8] + mov r7, sb + str r7, [r4] + str r5, [r4, #4] + ldr r0, _080096A0 @ =0x80000010 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r1, _080096A4 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb 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 _0800961C: .4byte 0x04000008 _08009620: .4byte 0x0400000A _08009624: .4byte 0x00005B01 @@ -18297,99 +18297,99 @@ _0800969C: .4byte 0x000002F6 _080096A0: .4byte 0x80000010 _080096A4: .4byte 0x0202C790 - thumb_func_start sub_96A8 + thumb_func_start sub_96A8 sub_96A8: @ 0x080096A8 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - ldr r0, _0800975C @ =0x0201A450 - mov ip, r0 - movs r5, #0 - movs r2, #0 - movs r1, #0x78 - mov r8, r1 - mov r1, r8 - strh r1, [r0, #0x10] - movs r6, #0x50 - strh r6, [r0, #0x12] - strh r2, [r0, #0x18] - movs r4, #1 - strb r4, [r0, #0x1c] - movs r0, #0x9c - mov r1, ip - strh r0, [r1, #0x30] - movs r0, #0x92 - strh r0, [r1, #0x32] - mov r0, ip - adds r0, #0x3c - strb r5, [r0] - strh r2, [r1, #0x3a] - movs r0, #0x9d - strh r0, [r1, #0x20] - movs r0, #0x93 - strh r0, [r1, #0x22] - mov r0, ip - adds r0, #0x2c - strb r5, [r0] - adds r0, #0x14 - movs r1, #0x80 - strh r1, [r0] - adds r0, #2 - strh r1, [r0] - adds r0, #0xa - strb r4, [r0] - ldr r0, _08009760 @ =0x0202ADA0 - ldr r1, _08009764 @ =0x0000FFA8 - strh r1, [r0] - adds r1, #0x22 - strh r1, [r0, #2] - strh r2, [r0, #8] - strh r2, [r0, #0xa] - movs r3, #0x80 - lsls r3, r3, #1 - strh r3, [r0, #0xc] - strh r2, [r0, #0xe] - strh r2, [r0, #0x14] - movs r1, #0xfb - strh r1, [r0, #0x24] - strh r2, [r0, #0x26] - strh r2, [r0, #0x2c] - strh r2, [r0, #0x18] - strh r2, [r0, #0x1a] - mov r1, r8 - mov r0, ip - strh r1, [r0] - strh r6, [r0, #2] - strh r2, [r0, #8] - strh r2, [r0, #0xa] - strb r4, [r0, #0xc] - ldr r0, _08009768 @ =0x0201C1B8 - strb r5, [r0] - ldr r1, _0800976C @ =0x0202ADD4 - movs r0, #0x10 - strb r0, [r1] - ldr r0, _08009770 @ =0x0202C594 - strh r2, [r0] - ldr r0, _08009774 @ =0x02019C30 - str r3, [r0] - ldr r0, _08009778 @ =0x0201C188 - str r3, [r0] - ldr r0, _0800977C @ =0x0202BF10 - strh r2, [r0] - ldr r0, _08009780 @ =0x0202A578 - strh r2, [r0] - ldr r1, _08009784 @ =0x0202BEF0 - movs r0, #0x20 - str r0, [r1] - ldr r1, _08009788 @ =0x0202C5A8 - movs r0, #8 - strb r0, [r1] - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + ldr r0, _0800975C @ =0x0201A450 + mov ip, r0 + movs r5, #0 + movs r2, #0 + movs r1, #0x78 + mov r8, r1 + mov r1, r8 + strh r1, [r0, #0x10] + movs r6, #0x50 + strh r6, [r0, #0x12] + strh r2, [r0, #0x18] + movs r4, #1 + strb r4, [r0, #0x1c] + movs r0, #0x9c + mov r1, ip + strh r0, [r1, #0x30] + movs r0, #0x92 + strh r0, [r1, #0x32] + mov r0, ip + adds r0, #0x3c + strb r5, [r0] + strh r2, [r1, #0x3a] + movs r0, #0x9d + strh r0, [r1, #0x20] + movs r0, #0x93 + strh r0, [r1, #0x22] + mov r0, ip + adds r0, #0x2c + strb r5, [r0] + adds r0, #0x14 + movs r1, #0x80 + strh r1, [r0] + adds r0, #2 + strh r1, [r0] + adds r0, #0xa + strb r4, [r0] + ldr r0, _08009760 @ =0x0202ADA0 + ldr r1, _08009764 @ =0x0000FFA8 + strh r1, [r0] + adds r1, #0x22 + strh r1, [r0, #2] + strh r2, [r0, #8] + strh r2, [r0, #0xa] + movs r3, #0x80 + lsls r3, r3, #1 + strh r3, [r0, #0xc] + strh r2, [r0, #0xe] + strh r2, [r0, #0x14] + movs r1, #0xfb + strh r1, [r0, #0x24] + strh r2, [r0, #0x26] + strh r2, [r0, #0x2c] + strh r2, [r0, #0x18] + strh r2, [r0, #0x1a] + mov r1, r8 + mov r0, ip + strh r1, [r0] + strh r6, [r0, #2] + strh r2, [r0, #8] + strh r2, [r0, #0xa] + strb r4, [r0, #0xc] + ldr r0, _08009768 @ =0x0201C1B8 + strb r5, [r0] + ldr r1, _0800976C @ =0x0202ADD4 + movs r0, #0x10 + strb r0, [r1] + ldr r0, _08009770 @ =0x0202C594 + strh r2, [r0] + ldr r0, _08009774 @ =0x02019C30 + str r3, [r0] + ldr r0, _08009778 @ =0x0201C188 + str r3, [r0] + ldr r0, _0800977C @ =0x0202BF10 + strh r2, [r0] + ldr r0, _08009780 @ =0x0202A578 + strh r2, [r0] + ldr r1, _08009784 @ =0x0202BEF0 + movs r0, #0x20 + str r0, [r1] + ldr r1, _08009788 @ =0x0202C5A8 + movs r0, #8 + strb r0, [r1] + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0800975C: .4byte 0x0201A450 _08009760: .4byte 0x0202ADA0 _08009764: .4byte 0x0000FFA8 @@ -18403,381 +18403,381 @@ _08009780: .4byte 0x0202A578 _08009784: .4byte 0x0202BEF0 _08009788: .4byte 0x0202C5A8 - thumb_func_start sub_978C + thumb_func_start sub_978C sub_978C: @ 0x0800978C - push {r4, r5, r6, lr} - bl sub_9CB8 - ldr r1, _080097C0 @ =0x0201A450 - ldrh r2, [r1, #8] - movs r3, #8 - ldrsh r0, [r1, r3] - cmp r0, #0x24 - bne _080097CC - ldrh r0, [r1, #0xa] - adds r0, #1 - movs r2, #0 - strh r0, [r1, #0xa] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x1b - ble _0800981A - strh r2, [r1, #0xa] - ldr r0, _080097C4 @ =0x0202A578 - strh r2, [r0] - ldr r1, _080097C8 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - b _0800981A - .align 2, 0 + push {r4, r5, r6, lr} + bl sub_9CB8 + ldr r1, _080097C0 @ =0x0201A450 + ldrh r2, [r1, #8] + movs r3, #8 + ldrsh r0, [r1, r3] + cmp r0, #0x24 + bne _080097CC + ldrh r0, [r1, #0xa] + adds r0, #1 + movs r2, #0 + strh r0, [r1, #0xa] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x1b + ble _0800981A + strh r2, [r1, #0xa] + ldr r0, _080097C4 @ =0x0202A578 + strh r2, [r0] + ldr r1, _080097C8 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + b _0800981A + .align 2, 0 _080097C0: .4byte 0x0201A450 _080097C4: .4byte 0x0202A578 _080097C8: .4byte 0x0202C790 _080097CC: - ldrh r0, [r1, #0xa] - adds r0, #1 - strh r0, [r1, #0xa] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - ble _080097E2 - movs r0, #0 - strh r0, [r1, #0xa] - adds r0, r2, #1 - strh r0, [r1, #8] + ldrh r0, [r1, #0xa] + adds r0, #1 + strh r0, [r1, #0xa] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + ble _080097E2 + movs r0, #0 + strh r0, [r1, #0xa] + adds r0, r2, #1 + strh r0, [r1, #8] _080097E2: - ldr r3, _08009820 @ =0x0202BF10 - ldr r5, _08009824 @ =0x086A77A8 - ldr r4, _08009828 @ =0x0202A578 - movs r6, #0 - ldrsh r2, [r4, r6] - lsls r2, r2, #2 - ldr r0, _0800982C @ =0x0202C5A8 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r2, r2, r0 - adds r0, r5, #2 - adds r0, r2, r0 - movs r6, #0 - ldrsh r1, [r3, r6] - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r1, r0 - blt _0800981A - adds r0, r2, r5 - ldrh r0, [r0] - bl m4aSongNumStart - ldrh r0, [r4] - adds r0, #1 - strh r0, [r4] + ldr r3, _08009820 @ =0x0202BF10 + ldr r5, _08009824 @ =0x086A77A8 + ldr r4, _08009828 @ =0x0202A578 + movs r6, #0 + ldrsh r2, [r4, r6] + lsls r2, r2, #2 + ldr r0, _0800982C @ =0x0202C5A8 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r2, r2, r0 + adds r0, r5, #2 + adds r0, r2, r0 + movs r6, #0 + ldrsh r1, [r3, r6] + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r1, r0 + blt _0800981A + adds r0, r2, r5 + ldrh r0, [r0] + bl m4aSongNumStart + ldrh r0, [r4] + adds r0, #1 + strh r0, [r4] _0800981A: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08009820: .4byte 0x0202BF10 _08009824: .4byte 0x086A77A8 _08009828: .4byte 0x0202A578 _0800982C: .4byte 0x0202C5A8 - thumb_func_start sub_9830 + thumb_func_start sub_9830 sub_9830: @ 0x08009830 - push {lr} - ldr r0, _08009868 @ =0x02019C30 - ldr r2, [r0] - subs r2, #0x10 - str r2, [r0] - ldr r1, _0800986C @ =0x0201C188 - ldr r0, [r1] - subs r0, #0x10 - str r0, [r1] - ldr r1, _08009870 @ =0x0201A450 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - cmp r2, #0x1f - bgt _0800985E - movs r0, #0 - strh r0, [r1, #0xa] - movs r0, #0x25 - strh r0, [r1, #8] - ldr r1, _08009874 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + push {lr} + ldr r0, _08009868 @ =0x02019C30 + ldr r2, [r0] + subs r2, #0x10 + str r2, [r0] + ldr r1, _0800986C @ =0x0201C188 + ldr r0, [r1] + subs r0, #0x10 + str r0, [r1] + ldr r1, _08009870 @ =0x0201A450 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] + cmp r2, #0x1f + bgt _0800985E + movs r0, #0 + strh r0, [r1, #0xa] + movs r0, #0x25 + strh r0, [r1, #8] + ldr r1, _08009874 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800985E: - bl sub_9D70 - pop {r0} - bx r0 - .align 2, 0 + bl sub_9D70 + pop {r0} + bx r0 + .align 2, 0 _08009868: .4byte 0x02019C30 _0800986C: .4byte 0x0201C188 _08009870: .4byte 0x0201A450 _08009874: .4byte 0x0202C790 - thumb_func_start sub_9878 + thumb_func_start sub_9878 sub_9878: @ 0x08009878 - push {lr} - ldr r1, _080098AC @ =0x0201A450 - ldrh r0, [r1, #0xa] - adds r0, #1 - strh r0, [r1, #0xa] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #3 - ble _080098A8 - movs r0, #0 - strh r0, [r1, #0xa] - movs r0, #0x78 - strh r0, [r1] - movs r0, #0x58 - strh r0, [r1, #2] - movs r0, #1 - strb r0, [r1, #0xc] - movs r0, #0xd8 - bl m4aSongNumStart - ldr r1, _080098B0 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + push {lr} + ldr r1, _080098AC @ =0x0201A450 + ldrh r0, [r1, #0xa] + adds r0, #1 + strh r0, [r1, #0xa] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #3 + ble _080098A8 + movs r0, #0 + strh r0, [r1, #0xa] + movs r0, #0x78 + strh r0, [r1] + movs r0, #0x58 + strh r0, [r1, #2] + movs r0, #1 + strb r0, [r1, #0xc] + movs r0, #0xd8 + bl m4aSongNumStart + ldr r1, _080098B0 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _080098A8: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _080098AC: .4byte 0x0201A450 _080098B0: .4byte 0x0202C790 - thumb_func_start sub_98B4 + thumb_func_start sub_98B4 sub_98B4: @ 0x080098B4 - push {lr} - ldr r1, _080098F0 @ =0x0201A450 - ldrh r2, [r1, #8] - movs r3, #8 - ldrsh r0, [r1, r3] - cmp r0, #0x2b - bne _08009900 - ldrh r0, [r1, #0xa] - adds r0, #1 - strh r0, [r1, #0xa] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - ble _08009916 - movs r0, #0 - strb r0, [r1, #0xc] - ldr r0, _080098F4 @ =0x080B3C60 - ldr r1, _080098F8 @ =0x050000E0 - movs r2, #0x20 - movs r3, #0 - bl sub_10170 - movs r0, #8 - bl m4aSongNumStart - ldr r1, _080098FC @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - b _08009916 - .align 2, 0 + push {lr} + ldr r1, _080098F0 @ =0x0201A450 + ldrh r2, [r1, #8] + movs r3, #8 + ldrsh r0, [r1, r3] + cmp r0, #0x2b + bne _08009900 + ldrh r0, [r1, #0xa] + adds r0, #1 + strh r0, [r1, #0xa] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + ble _08009916 + movs r0, #0 + strb r0, [r1, #0xc] + ldr r0, _080098F4 @ =0x080B3C60 + ldr r1, _080098F8 @ =0x050000E0 + movs r2, #0x20 + movs r3, #0 + bl sub_10170 + movs r0, #8 + bl m4aSongNumStart + ldr r1, _080098FC @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + b _08009916 + .align 2, 0 _080098F0: .4byte 0x0201A450 _080098F4: .4byte 0x080B3C60 _080098F8: .4byte 0x050000E0 _080098FC: .4byte 0x0202C790 _08009900: - ldrh r0, [r1, #0xa] - adds r0, #1 - strh r0, [r1, #0xa] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - ble _08009916 - movs r0, #0 - strh r0, [r1, #0xa] - adds r0, r2, #1 - strh r0, [r1, #8] + ldrh r0, [r1, #0xa] + adds r0, #1 + strh r0, [r1, #0xa] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + ble _08009916 + movs r0, #0 + strh r0, [r1, #0xa] + adds r0, r2, #1 + strh r0, [r1, #8] _08009916: - bl sub_9CB8 - pop {r0} - bx r0 + bl sub_9CB8 + pop {r0} + bx r0 - thumb_func_start sub_9920 + thumb_func_start sub_9920 sub_9920: @ 0x08009920 - push {lr} - ldr r0, _08009954 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #3 - bl __modsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08009982 - ldr r1, _08009958 @ =0x0202C594 - ldrh r2, [r1] - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #7 - bgt _08009964 - adds r0, r2, #1 - strh r0, [r1] - ldr r1, _0800995C @ =0x0201C1B8 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r1, _08009960 @ =0x0202ADD4 - ldrb r0, [r1] - subs r0, #1 - b _08009976 - .align 2, 0 + push {lr} + ldr r0, _08009954 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r1, #3 + bl __modsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08009982 + ldr r1, _08009958 @ =0x0202C594 + ldrh r2, [r1] + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #7 + bgt _08009964 + adds r0, r2, #1 + strh r0, [r1] + ldr r1, _0800995C @ =0x0201C1B8 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r1, _08009960 @ =0x0202ADD4 + ldrb r0, [r1] + subs r0, #1 + b _08009976 + .align 2, 0 _08009954: .4byte 0x0202BF10 _08009958: .4byte 0x0202C594 _0800995C: .4byte 0x0201C1B8 _08009960: .4byte 0x0202ADD4 _08009964: - ldr r0, _0800998C @ =0x0201C1C0 - ldr r1, _08009990 @ =0x060036E0 - movs r2, #8 - movs r3, #8 - bl sub_10708 - ldr r1, _08009994 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 + ldr r0, _0800998C @ =0x0201C1C0 + ldr r1, _08009990 @ =0x060036E0 + movs r2, #8 + movs r3, #8 + bl sub_10708 + ldr r1, _08009994 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 _08009976: - strb r0, [r1] - ldr r2, _08009998 @ =0x0201A450 - ldrh r1, [r2, #0x18] - movs r0, #1 - subs r0, r0, r1 - strh r0, [r2, #0x18] + strb r0, [r1] + ldr r2, _08009998 @ =0x0201A450 + ldrh r1, [r2, #0x18] + movs r0, #1 + subs r0, r0, r1 + strh r0, [r2, #0x18] _08009982: - bl sub_9E90 - pop {r0} - bx r0 - .align 2, 0 + bl sub_9E90 + pop {r0} + bx r0 + .align 2, 0 _0800998C: .4byte 0x0201C1C0 _08009990: .4byte 0x060036E0 _08009994: .4byte 0x0202C790 _08009998: .4byte 0x0201A450 - thumb_func_start sub_999C + thumb_func_start sub_999C sub_999C: @ 0x0800999C - push {r4, r5, lr} - ldr r5, _08009A84 @ =0x0202BEF0 - ldr r0, [r5] - cmp r0, #0 - ble _080099D0 - subs r0, #2 - str r0, [r5] - cmp r0, #0 - bgt _080099B2 - movs r0, #0 - str r0, [r5] + push {r4, r5, lr} + ldr r5, _08009A84 @ =0x0202BEF0 + ldr r0, [r5] + cmp r0, #0 + ble _080099D0 + subs r0, #2 + str r0, [r5] + cmp r0, #0 + bgt _080099B2 + movs r0, #0 + str r0, [r5] _080099B2: - ldr r4, _08009A88 @ =0x080B3AA0 - movs r1, #0xa0 - lsls r1, r1, #0x13 - movs r2, #0x80 - lsls r2, r2, #2 - ldrh r3, [r5] - adds r0, r4, #0 - bl sub_10170 - ldr r1, _08009A8C @ =0x05000200 - ldrh r3, [r5] - adds r0, r4, #0 - movs r2, #0x20 - bl sub_10170 + ldr r4, _08009A88 @ =0x080B3AA0 + movs r1, #0xa0 + lsls r1, r1, #0x13 + movs r2, #0x80 + lsls r2, r2, #2 + ldrh r3, [r5] + adds r0, r4, #0 + bl sub_10170 + ldr r1, _08009A8C @ =0x05000200 + ldrh r3, [r5] + adds r0, r4, #0 + movs r2, #0x20 + bl sub_10170 _080099D0: - ldr r5, _08009A90 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r5, r1] - movs r1, #3 - bl __modsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080099EC - ldr r2, _08009A94 @ =0x0201A450 - ldrh r1, [r2, #0x18] - movs r0, #1 - subs r0, r0, r1 - strh r0, [r2, #0x18] + ldr r5, _08009A90 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r5, r1] + movs r1, #3 + bl __modsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _080099EC + ldr r2, _08009A94 @ =0x0201A450 + ldrh r1, [r2, #0x18] + movs r0, #1 + subs r0, r0, r1 + strh r0, [r2, #0x18] _080099EC: - ldr r4, _08009A98 @ =0x0202ADA0 - ldrh r0, [r4] - subs r0, #1 - strh r0, [r4] - ldrh r0, [r5] - movs r5, #1 - ands r0, r5 - cmp r0, #0 - bne _08009A04 - ldrh r0, [r4, #2] - subs r0, #1 - strh r0, [r4, #2] + ldr r4, _08009A98 @ =0x0202ADA0 + ldrh r0, [r4] + subs r0, #1 + strh r0, [r4] + ldrh r0, [r5] + movs r5, #1 + ands r0, r5 + cmp r0, #0 + bne _08009A04 + ldrh r0, [r4, #2] + subs r0, #1 + strh r0, [r4, #2] _08009A04: - ldr r1, _08009A9C @ =0x0200B0C0 - ldrh r2, [r4] - movs r3, #0xba - lsls r3, r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r4, #2] - ldr r2, _08009AA0 @ =0x000002EA - adds r1, r1, r2 - strh r0, [r1] - ldrh r0, [r4, #0xa] - adds r0, #1 - strh r0, [r4, #0xa] - ldr r2, _08009AA4 @ =0x086A7768 - movs r1, #8 - ldrsh r3, [r4, r1] - lsls r1, r3, #2 - adds r1, r1, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r2, #2 - ldrsh r1, [r1, r2] - cmp r0, r1 - ble _08009A78 - ldr r1, _08009AA8 @ =0x086A7788 - lsls r0, r3, #1 - adds r0, r0, r1 - movs r3, #0 - ldrsh r0, [r0, r3] - lsls r0, r0, #1 - ldr r1, _08009AAC @ =0x0201C1C0 - adds r0, r0, r1 - ldr r1, _08009AB0 @ =0x060036E0 - movs r2, #8 - movs r3, #8 - bl sub_10708 - ldrh r0, [r4, #8] - adds r0, #1 - strh r0, [r4, #8] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #3 - ble _08009A78 - ldr r1, _08009A94 @ =0x0201A450 - adds r0, r1, #0 - adds r0, #0x3c - strb r5, [r0] - subs r0, #0x10 - strb r5, [r0] - movs r0, #0 - strb r0, [r1, #0x1c] - movs r0, #0 - strh r0, [r4, #0x14] - ldr r1, _08009AB4 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldr r1, _08009A9C @ =0x0200B0C0 + ldrh r2, [r4] + movs r3, #0xba + lsls r3, r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r0, [r4, #2] + ldr r2, _08009AA0 @ =0x000002EA + adds r1, r1, r2 + strh r0, [r1] + ldrh r0, [r4, #0xa] + adds r0, #1 + strh r0, [r4, #0xa] + ldr r2, _08009AA4 @ =0x086A7768 + movs r1, #8 + ldrsh r3, [r4, r1] + lsls r1, r3, #2 + adds r1, r1, r2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r2, #2 + ldrsh r1, [r1, r2] + cmp r0, r1 + ble _08009A78 + ldr r1, _08009AA8 @ =0x086A7788 + lsls r0, r3, #1 + adds r0, r0, r1 + movs r3, #0 + ldrsh r0, [r0, r3] + lsls r0, r0, #1 + ldr r1, _08009AAC @ =0x0201C1C0 + adds r0, r0, r1 + ldr r1, _08009AB0 @ =0x060036E0 + movs r2, #8 + movs r3, #8 + bl sub_10708 + ldrh r0, [r4, #8] + adds r0, #1 + strh r0, [r4, #8] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #3 + ble _08009A78 + ldr r1, _08009A94 @ =0x0201A450 + adds r0, r1, #0 + adds r0, #0x3c + strb r5, [r0] + subs r0, #0x10 + strb r5, [r0] + movs r0, #0 + strb r0, [r1, #0x1c] + movs r0, #0 + strh r0, [r4, #0x14] + ldr r1, _08009AB4 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _08009A78: - bl sub_9E90 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + bl sub_9E90 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08009A84: .4byte 0x0202BEF0 _08009A88: .4byte 0x080B3AA0 _08009A8C: .4byte 0x05000200 @@ -18792,86 +18792,86 @@ _08009AAC: .4byte 0x0201C1C0 _08009AB0: .4byte 0x060036E0 _08009AB4: .4byte 0x0202C790 - thumb_func_start sub_9AB8 + thumb_func_start sub_9AB8 sub_9AB8: @ 0x08009AB8 - push {r4, lr} - ldr r1, _08009B54 @ =0x0201A450 - ldrh r0, [r1, #0x30] - subs r0, #0xe - strh r0, [r1, #0x30] - ldrh r0, [r1, #0x32] - subs r0, #0xd - strh r0, [r1, #0x32] - ldr r3, _08009B58 @ =0x0202ADA0 - ldrh r0, [r3, #0x24] - subs r0, #0x10 - strh r0, [r3, #0x24] - ldrh r0, [r3, #0x26] - adds r0, #1 - strh r0, [r3, #0x26] - ldrh r0, [r3, #0xc] - subs r0, #0x10 - strh r0, [r3, #0xc] - ldrh r0, [r1, #0x20] - subs r0, #0xe - strh r0, [r1, #0x20] - ldrh r0, [r1, #0x22] - subs r0, #0xd - strh r0, [r1, #0x22] - adds r2, r1, #0 - adds r2, #0x40 - ldrh r0, [r2] - adds r0, #0xb - strh r0, [r2] - adds r1, #0x42 - ldrh r0, [r1] - subs r0, #2 - strh r0, [r1] - ldr r0, _08009B5C @ =0x0202BF10 - ldrh r0, [r0] - movs r1, #1 - ands r0, r1 - adds r4, r3, #0 - cmp r0, #0 - bne _08009B14 - ldrh r0, [r4] - subs r0, #1 - strh r0, [r4] - ldrh r0, [r4, #2] - subs r0, #1 - strh r0, [r4, #2] + push {r4, lr} + ldr r1, _08009B54 @ =0x0201A450 + ldrh r0, [r1, #0x30] + subs r0, #0xe + strh r0, [r1, #0x30] + ldrh r0, [r1, #0x32] + subs r0, #0xd + strh r0, [r1, #0x32] + ldr r3, _08009B58 @ =0x0202ADA0 + ldrh r0, [r3, #0x24] + subs r0, #0x10 + strh r0, [r3, #0x24] + ldrh r0, [r3, #0x26] + adds r0, #1 + strh r0, [r3, #0x26] + ldrh r0, [r3, #0xc] + subs r0, #0x10 + strh r0, [r3, #0xc] + ldrh r0, [r1, #0x20] + subs r0, #0xe + strh r0, [r1, #0x20] + ldrh r0, [r1, #0x22] + subs r0, #0xd + strh r0, [r1, #0x22] + adds r2, r1, #0 + adds r2, #0x40 + ldrh r0, [r2] + adds r0, #0xb + strh r0, [r2] + adds r1, #0x42 + ldrh r0, [r1] + subs r0, #2 + strh r0, [r1] + ldr r0, _08009B5C @ =0x0202BF10 + ldrh r0, [r0] + movs r1, #1 + ands r0, r1 + adds r4, r3, #0 + cmp r0, #0 + bne _08009B14 + ldrh r0, [r4] + subs r0, #1 + strh r0, [r4] + ldrh r0, [r4, #2] + subs r0, #1 + strh r0, [r4, #2] _08009B14: - ldrh r0, [r4, #0xa] - adds r0, #1 - strh r0, [r4, #0xa] - ldr r2, _08009B60 @ =0x086A7768 - movs r1, #8 - ldrsh r3, [r4, r1] - lsls r1, r3, #2 - adds r1, r1, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r2, #2 - ldrsh r1, [r1, r2] - cmp r0, r1 - ble _08009B94 - adds r0, r3, #0 - cmp r0, #6 - bgt _08009B70 - ldr r1, _08009B64 @ =0x086A7788 - lsls r0, r3, #1 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - lsls r0, r0, #1 - ldr r1, _08009B68 @ =0x0201C1C0 - adds r0, r0, r1 - ldr r1, _08009B6C @ =0x060036E0 - movs r2, #8 - movs r3, #8 - bl sub_10708 - b _08009B8A - .align 2, 0 + ldrh r0, [r4, #0xa] + adds r0, #1 + strh r0, [r4, #0xa] + ldr r2, _08009B60 @ =0x086A7768 + movs r1, #8 + ldrsh r3, [r4, r1] + lsls r1, r3, #2 + adds r1, r1, r2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r2, #2 + ldrsh r1, [r1, r2] + cmp r0, r1 + ble _08009B94 + adds r0, r3, #0 + cmp r0, #6 + bgt _08009B70 + ldr r1, _08009B64 @ =0x086A7788 + lsls r0, r3, #1 + adds r0, r0, r1 + movs r2, #0 + ldrsh r0, [r0, r2] + lsls r0, r0, #1 + ldr r1, _08009B68 @ =0x0201C1C0 + adds r0, r0, r1 + ldr r1, _08009B6C @ =0x060036E0 + movs r2, #8 + movs r3, #8 + bl sub_10708 + b _08009B8A + .align 2, 0 _08009B54: .4byte 0x0201A450 _08009B58: .4byte 0x0202ADA0 _08009B5C: .4byte 0x0202BF10 @@ -18880,71 +18880,71 @@ _08009B64: .4byte 0x086A7788 _08009B68: .4byte 0x0201C1C0 _08009B6C: .4byte 0x060036E0 _08009B70: - ldr r1, _08009BF0 @ =0x086A7788 - lsls r0, r3, #1 - adds r0, r0, r1 - movs r3, #0 - ldrsh r0, [r0, r3] - lsls r0, r0, #1 - ldr r1, _08009BF4 @ =0x0201C1C0 - adds r0, r0, r1 - ldr r1, _08009BF8 @ =0x060032C0 - movs r2, #0xa - movs r3, #0xa - bl sub_10708 + ldr r1, _08009BF0 @ =0x086A7788 + lsls r0, r3, #1 + adds r0, r0, r1 + movs r3, #0 + ldrsh r0, [r0, r3] + lsls r0, r0, #1 + ldr r1, _08009BF4 @ =0x0201C1C0 + adds r0, r0, r1 + ldr r1, _08009BF8 @ =0x060032C0 + movs r2, #0xa + movs r3, #0xa + bl sub_10708 _08009B8A: - ldr r1, _08009BFC @ =0x0202ADA0 - ldrh r0, [r1, #8] - adds r0, #1 - strh r0, [r1, #8] - adds r4, r1, #0 + ldr r1, _08009BFC @ =0x0202ADA0 + ldrh r0, [r1, #8] + adds r0, #1 + strh r0, [r1, #8] + adds r4, r1, #0 _08009B94: - adds r1, r4, #0 - ldrh r0, [r1, #0x14] - adds r0, #1 - strh r0, [r1, #0x14] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #9 - ble _08009BB0 - movs r0, #0 - strh r0, [r1, #0x14] - ldr r1, _08009C00 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] + adds r1, r4, #0 + ldrh r0, [r1, #0x14] + adds r0, #1 + strh r0, [r1, #0x14] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #9 + ble _08009BB0 + movs r0, #0 + strh r0, [r1, #0x14] + ldr r1, _08009C00 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #2 + strb r0, [r1] _08009BB0: - bl sub_9E90 - ldr r1, _08009C04 @ =0x0200B0C0 - ldrh r2, [r4] - movs r3, #0xba - lsls r3, r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #2] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0x24] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0x26] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0xc] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r4, #0xe] - ldr r2, _08009C08 @ =0x000002F2 - adds r1, r1, r2 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + bl sub_9E90 + ldr r1, _08009C04 @ =0x0200B0C0 + ldrh r2, [r4] + movs r3, #0xba + lsls r3, r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #2] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0x24] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0x26] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0xc] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r0, [r4, #0xe] + ldr r2, _08009C08 @ =0x000002F2 + adds r1, r1, r2 + strh r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08009BF0: .4byte 0x086A7788 _08009BF4: .4byte 0x0201C1C0 _08009BF8: .4byte 0x060032C0 @@ -18953,67 +18953,67 @@ _08009C00: .4byte 0x0202C790 _08009C04: .4byte 0x0200B0C0 _08009C08: .4byte 0x000002F2 - thumb_func_start nullsub_4 + thumb_func_start nullsub_4 nullsub_4: @ 0x08009C0C - bx lr + bx lr - thumb_func_start sub_9C10 + thumb_func_start sub_9C10 sub_9C10: @ 0x08009C10 - push {r4, lr} - ldr r4, _08009C7C @ =0x0202ADA0 - ldrh r0, [r4, #0x18] - adds r0, #1 - strh r0, [r4, #0x18] - ldr r0, _08009C80 @ =0x0202BF10 - ldrh r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _08009C40 - ldr r1, _08009C84 @ =0x0201A450 - ldrh r0, [r1, #0x30] - subs r0, #1 - strh r0, [r1, #0x30] - ldrh r0, [r1, #0x32] - subs r0, #1 - strh r0, [r1, #0x32] - ldrh r0, [r1, #0x20] - subs r0, #2 - strh r0, [r1, #0x20] - ldrh r0, [r1, #0x22] - subs r0, #2 - strh r0, [r1, #0x22] + push {r4, lr} + ldr r4, _08009C7C @ =0x0202ADA0 + ldrh r0, [r4, #0x18] + adds r0, #1 + strh r0, [r4, #0x18] + ldr r0, _08009C80 @ =0x0202BF10 + ldrh r0, [r0] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + bne _08009C40 + ldr r1, _08009C84 @ =0x0201A450 + ldrh r0, [r1, #0x30] + subs r0, #1 + strh r0, [r1, #0x30] + ldrh r0, [r1, #0x32] + subs r0, #1 + strh r0, [r1, #0x32] + ldrh r0, [r1, #0x20] + subs r0, #2 + strh r0, [r1, #0x20] + ldrh r0, [r1, #0x22] + subs r0, #2 + strh r0, [r1, #0x22] _08009C40: - bl sub_9E90 - ldr r1, _08009C88 @ =0x0200B0C0 - ldrh r2, [r4, #0x18] - movs r3, #0xbd - lsls r3, r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r4, #0x1a] - ldr r2, _08009C8C @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - ldr r1, _08009C84 @ =0x0201A450 - ldrh r0, [r1, #0x3a] - adds r0, #1 - strh r0, [r1, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x14 - ble _08009C74 - movs r0, #0 - strh r0, [r1, #0x3a] - ldr r1, _08009C90 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #3 - strb r0, [r1] + bl sub_9E90 + ldr r1, _08009C88 @ =0x0200B0C0 + ldrh r2, [r4, #0x18] + movs r3, #0xbd + lsls r3, r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r0, [r4, #0x1a] + ldr r2, _08009C8C @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + ldr r1, _08009C84 @ =0x0201A450 + ldrh r0, [r1, #0x3a] + adds r0, #1 + strh r0, [r1, #0x3a] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x14 + ble _08009C74 + movs r0, #0 + strh r0, [r1, #0x3a] + ldr r1, _08009C90 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #3 + strb r0, [r1] _08009C74: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08009C7C: .4byte 0x0202ADA0 _08009C80: .4byte 0x0202BF10 _08009C84: .4byte 0x0201A450 @@ -19021,110 +19021,110 @@ _08009C88: .4byte 0x0200B0C0 _08009C8C: .4byte 0x000002F6 _08009C90: .4byte 0x0202C790 - thumb_func_start nullsub_5 + thumb_func_start nullsub_5 nullsub_5: @ 0x08009C94 - bx lr + bx lr - thumb_func_start nullsub_17 + thumb_func_start nullsub_17 nullsub_17: @ 0x08009C98 - bx lr + bx lr - thumb_func_start sub_9C9C + thumb_func_start sub_9C9C sub_9C9C: @ 0x08009C9C - push {lr} - bl sub_10480 - bl sub_10544 - ldr r1, _08009CB4 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_10480 + bl sub_10544 + ldr r1, _08009CB4 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 _08009CB4: .4byte 0x0202C790 - thumb_func_start sub_9CB8 + thumb_func_start sub_9CB8 sub_9CB8: @ 0x08009CB8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r4, _08009D54 @ =0x0201A450 - movs r0, #8 - ldrsh r1, [r4, r0] - movs r0, #0xb8 - muls r0, r1, r0 - ldr r2, _08009D58 @ =0x0200B698 - adds r5, r0, r2 - movs r0, #0xc - ldrsb r0, [r4, r0] - strh r0, [r5] - ldr r6, _08009D5C @ =0x086A769C - ldr r1, _08009D60 @ =0xFFFFFD20 - adds r2, r2, r1 - adds r0, r6, #0 - movs r1, #0x31 - bl sub_358 - ldrh r0, [r5] - cmp r0, #1 - bne _08009D46 - ldrh r0, [r4] - strh r0, [r5, #2] - ldrh r0, [r4, #2] - strh r0, [r5, #4] - movs r2, #8 - ldrsh r0, [r4, r2] - adds r0, #4 - lsls r0, r0, #2 - adds r0, r0, r6 - ldr r7, [r0] - movs r6, #0 - ldrh r0, [r7] - cmp r6, r0 - bge _08009D46 - ldr r1, _08009D64 @ =0x03005000 - mov ip, r1 - ldr r2, _08009D68 @ =0xFFFFFE00 - mov r8, r2 - adds r4, r5, #0 - adds r4, #8 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r4, _08009D54 @ =0x0201A450 + movs r0, #8 + ldrsh r1, [r4, r0] + movs r0, #0xb8 + muls r0, r1, r0 + ldr r2, _08009D58 @ =0x0200B698 + adds r5, r0, r2 + movs r0, #0xc + ldrsb r0, [r4, r0] + strh r0, [r5] + ldr r6, _08009D5C @ =0x086A769C + ldr r1, _08009D60 @ =0xFFFFFD20 + adds r2, r2, r1 + adds r0, r6, #0 + movs r1, #0x31 + bl sub_358 + ldrh r0, [r5] + cmp r0, #1 + bne _08009D46 + ldrh r0, [r4] + strh r0, [r5, #2] + ldrh r0, [r4, #2] + strh r0, [r5, #4] + movs r2, #8 + ldrsh r0, [r4, r2] + adds r0, #4 + lsls r0, r0, #2 + adds r0, r0, r6 + ldr r7, [r0] + movs r6, #0 + ldrh r0, [r7] + cmp r6, r0 + bge _08009D46 + ldr r1, _08009D64 @ =0x03005000 + mov ip, r1 + ldr r2, _08009D68 @ =0xFFFFFE00 + mov r8, r2 + adds r4, r5, #0 + adds r4, #8 _08009D0E: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, ip - movs r0, #2 - ldrsh r1, [r4, r0] - movs r2, #2 - ldrsh r0, [r5, r2] - adds r1, r1, r0 - ldr r2, _08009D6C @ =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, [r4] - lsls r1, r1, #3 - add r1, ip - ldrb r0, [r5, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - adds r6, #1 - ldrh r0, [r7] - cmp r6, r0 - blt _08009D0E + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, ip + movs r0, #2 + ldrsh r1, [r4, r0] + movs r2, #2 + ldrsh r0, [r5, r2] + adds r1, r1, r0 + ldr r2, _08009D6C @ =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, [r4] + lsls r1, r1, #3 + add r1, ip + ldrb r0, [r5, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + adds r6, #1 + ldrh r0, [r7] + cmp r6, r0 + blt _08009D0E _08009D46: - movs r0, #0 - strh r0, [r5] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + movs r0, #0 + strh r0, [r5] + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08009D54: .4byte 0x0201A450 _08009D58: .4byte 0x0200B698 _08009D5C: .4byte 0x086A769C @@ -19133,134 +19133,134 @@ _08009D64: .4byte 0x03005000 _08009D68: .4byte 0xFFFFFE00 _08009D6C: .4byte 0x000001FF - thumb_func_start sub_9D70 + thumb_func_start sub_9D70 sub_9D70: @ 0x08009D70 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r0, _08009E68 @ =0x0200D078 - mov r8, r0 - ldr r6, _08009E6C @ =0x0201A450 - movs r0, #0xc - ldrsb r0, [r6, r0] - mov r1, r8 - strh r0, [r1] - ldr r0, _08009E70 @ =0x086A769C - ldr r2, _08009E74 @ =0xFFFFE340 - add r2, r8 - movs r1, #0x31 - bl sub_358 - mov r2, r8 - ldrh r0, [r2] - cmp r0, #1 - bne _08009E50 - ldr r5, _08009E78 @ =0x02019C30 - movs r3, #0 - ldrsh r0, [r5, r3] - ldr r4, _08009E7C @ =0x0201C188 - movs r2, #0 - ldrsh r1, [r4, r2] - movs r2, #0 - bl sub_7C0 - ldrh r0, [r6] - mov r3, r8 - strh r0, [r3, #2] - ldrh r0, [r6, #2] - strh r0, [r3, #4] - movs r7, #0 - ldr r6, _08009E80 @ =0x03005000 - mov sl, r5 - mov sb, r4 - mov r5, r8 - adds r5, #8 - movs r0, #0xf - rsbs r0, r0, #0 - mov ip, r0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r0, _08009E68 @ =0x0200D078 + mov r8, r0 + ldr r6, _08009E6C @ =0x0201A450 + movs r0, #0xc + ldrsb r0, [r6, r0] + mov r1, r8 + strh r0, [r1] + ldr r0, _08009E70 @ =0x086A769C + ldr r2, _08009E74 @ =0xFFFFE340 + add r2, r8 + movs r1, #0x31 + bl sub_358 + mov r2, r8 + ldrh r0, [r2] + cmp r0, #1 + bne _08009E50 + ldr r5, _08009E78 @ =0x02019C30 + movs r3, #0 + ldrsh r0, [r5, r3] + ldr r4, _08009E7C @ =0x0201C188 + movs r2, #0 + ldrsh r1, [r4, r2] + movs r2, #0 + bl sub_7C0 + ldrh r0, [r6] + mov r3, r8 + strh r0, [r3, #2] + ldrh r0, [r6, #2] + strh r0, [r3, #4] + movs r7, #0 + ldr r6, _08009E80 @ =0x03005000 + mov sl, r5 + mov sb, r4 + mov r5, r8 + adds r5, #8 + movs r0, #0xf + rsbs r0, r0, #0 + mov ip, r0 _08009DCC: - ldrh r0, [r5] - lsls r0, r0, #3 - adds r3, r0, r6 - lsls r0, r7, #2 - ldr r1, _08009E84 @ =0x086A7798 - adds r4, r0, r1 - movs r2, #0 - ldrsh r1, [r4, r2] - mov r2, sl - ldr r0, [r2] - muls r1, r0, r1 - cmp r1, #0 - bge _08009DE8 - adds r1, #0xff + ldrh r0, [r5] + lsls r0, r0, #3 + adds r3, r0, r6 + lsls r0, r7, #2 + ldr r1, _08009E84 @ =0x086A7798 + adds r4, r0, r1 + movs r2, #0 + ldrsh r1, [r4, r2] + mov r2, sl + ldr r0, [r2] + muls r1, r0, r1 + cmp r1, #0 + bge _08009DE8 + adds r1, #0xff _08009DE8: - asrs r1, r1, #8 - str r1, [sp] - mov r1, r8 - movs r2, #2 - ldrsh r0, [r1, r2] - ldr r2, [sp] - adds r1, r2, r0 - ldr r2, _08009E88 @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _08009E8C @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r0, [r5] - lsls r0, r0, #3 - adds r2, r0, r6 - movs r3, #2 - ldrsh r1, [r4, r3] - mov r3, sb - ldr r0, [r3] - muls r0, r1, r0 - cmp r0, #0 - bge _08009E1C - adds r0, #0xff + asrs r1, r1, #8 + str r1, [sp] + mov r1, r8 + movs r2, #2 + ldrsh r0, [r1, r2] + ldr r2, [sp] + adds r1, r2, r0 + ldr r2, _08009E88 @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _08009E8C @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r0, [r5] + lsls r0, r0, #3 + adds r2, r0, r6 + movs r3, #2 + ldrsh r1, [r4, r3] + mov r3, sb + ldr r0, [r3] + muls r0, r1, r0 + cmp r0, #0 + bge _08009E1C + adds r0, #0xff _08009E1C: - asrs r0, r0, #8 - mov r1, r8 - ldrb r1, [r1, #4] - adds r0, r0, r1 - strb r0, [r2] - ldrh r2, [r5] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #1] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #1] - ldrh r1, [r5] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #3] - mov r0, ip - ands r0, r2 - strb r0, [r1, #3] - adds r5, #8 - adds r7, #1 - cmp r7, #3 - ble _08009DCC + asrs r0, r0, #8 + mov r1, r8 + ldrb r1, [r1, #4] + adds r0, r0, r1 + strb r0, [r2] + ldrh r2, [r5] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #1] + movs r0, #4 + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #1 + orrs r0, r1 + strb r0, [r2, #1] + ldrh r1, [r5] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #3] + mov r0, ip + ands r0, r2 + strb r0, [r1, #3] + adds r5, #8 + adds r7, #1 + cmp r7, #3 + ble _08009DCC _08009E50: - movs r0, #0 - mov r2, r8 - strh r0, [r2] - 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 + movs r0, #0 + mov r2, r8 + strh r0, [r2] + 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 _08009E68: .4byte 0x0200D078 _08009E6C: .4byte 0x0201A450 _08009E70: .4byte 0x086A769C @@ -19272,350 +19272,350 @@ _08009E84: .4byte 0x086A7798 _08009E88: .4byte 0x000001FF _08009E8C: .4byte 0xFFFFFE00 - thumb_func_start sub_9E90 + thumb_func_start sub_9E90 sub_9E90: @ 0x08009E90 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r3, _0800A12C @ =0x0200B0C0 - ldrh r0, [r3, #0x38] - movs r0, #0xf1 - lsls r0, r0, #4 - strh r0, [r3, #0x38] - ldr r0, _0800A130 @ =0x0201C1B8 - ldrb r1, [r0] - ldr r0, _0800A134 @ =0x0202ADD4 - ldrb r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - ldrh r0, [r3, #0x3a] - strh r1, [r3, #0x3a] - ldr r1, _0800A138 @ =0x04000050 - ldrh r0, [r3, #0x38] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r3, #0x3a] - strh r0, [r1] - ldr r4, _0800A13C @ =0x0201A450 - movs r0, #0x18 - ldrsh r1, [r4, r0] - movs r0, #0xb8 - muls r0, r1, r0 - movs r1, #0xbe - lsls r1, r1, #2 - adds r2, r3, r1 - adds r0, r0, r2 - mov r8, r0 - movs r6, #0xa4 - lsls r6, r6, #3 - adds r6, r6, r3 - mov sb, r6 - movs r7, #0x8d - lsls r7, r7, #3 - adds r7, r7, r3 - mov sl, r7 - movs r0, #0x1c - ldrsb r0, [r4, r0] - mov r1, r8 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x2c - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r6] - adds r0, r4, #0 - adds r0, #0x3c - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r7] - adds r0, r4, #0 - adds r0, #0x4c - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r6, _0800A140 @ =0x0200D638 - strh r0, [r6] - ldr r5, _0800A144 @ =0x086A769C - adds r0, r5, #0 - movs r1, #0x31 - bl sub_358 - mov r7, r8 - ldrh r0, [r7] - cmp r0, #1 - bne _08009F9E - ldrh r0, [r4, #0x10] - strh r0, [r7, #2] - ldrh r0, [r4, #0x12] - strh r0, [r7, #4] - movs r1, #0x18 - ldrsh r0, [r4, r1] - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r0, [r0] - str r0, [sp] - movs r5, #0 - ldrh r2, [r0] - cmp r5, r2 - bge _08009F9E - ldr r7, _0800A148 @ =0x03005000 - ldr r6, _0800A14C @ =0xFFFFFE00 - mov ip, r6 - mov r4, r8 - adds r4, #8 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r3, _0800A12C @ =0x0200B0C0 + ldrh r0, [r3, #0x38] + movs r0, #0xf1 + lsls r0, r0, #4 + strh r0, [r3, #0x38] + ldr r0, _0800A130 @ =0x0201C1B8 + ldrb r1, [r0] + ldr r0, _0800A134 @ =0x0202ADD4 + ldrb r0, [r0] + lsls r0, r0, #8 + orrs r1, r0 + ldrh r0, [r3, #0x3a] + strh r1, [r3, #0x3a] + ldr r1, _0800A138 @ =0x04000050 + ldrh r0, [r3, #0x38] + strh r0, [r1] + adds r1, #2 + ldrh r0, [r3, #0x3a] + strh r0, [r1] + ldr r4, _0800A13C @ =0x0201A450 + movs r0, #0x18 + ldrsh r1, [r4, r0] + movs r0, #0xb8 + muls r0, r1, r0 + movs r1, #0xbe + lsls r1, r1, #2 + adds r2, r3, r1 + adds r0, r0, r2 + mov r8, r0 + movs r6, #0xa4 + lsls r6, r6, #3 + adds r6, r6, r3 + mov sb, r6 + movs r7, #0x8d + lsls r7, r7, #3 + adds r7, r7, r3 + mov sl, r7 + movs r0, #0x1c + ldrsb r0, [r4, r0] + mov r1, r8 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0x2c + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r6] + adds r0, r4, #0 + adds r0, #0x3c + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r7] + adds r0, r4, #0 + adds r0, #0x4c + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldr r6, _0800A140 @ =0x0200D638 + strh r0, [r6] + ldr r5, _0800A144 @ =0x086A769C + adds r0, r5, #0 + movs r1, #0x31 + bl sub_358 + mov r7, r8 + ldrh r0, [r7] + cmp r0, #1 + bne _08009F9E + ldrh r0, [r4, #0x10] + strh r0, [r7, #2] + ldrh r0, [r4, #0x12] + strh r0, [r7, #4] + movs r1, #0x18 + ldrsh r0, [r4, r1] + lsls r0, r0, #2 + adds r0, r0, r5 + ldr r0, [r0] + str r0, [sp] + movs r5, #0 + ldrh r2, [r0] + cmp r5, r2 + bge _08009F9E + ldr r7, _0800A148 @ =0x03005000 + ldr r6, _0800A14C @ =0xFFFFFE00 + mov ip, r6 + mov r4, r8 + adds r4, #8 _08009F4C: - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r7 - ldrb r1, [r2, #1] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #1] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r7 - movs r0, #2 - ldrsh r1, [r4, r0] - mov r2, r8 - movs r6, #2 - ldrsh r0, [r2, r6] - adds r1, r1, r0 - ldr r2, _0800A150 @ =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, [r4] - lsls r1, r1, #3 - adds r1, r1, r7 - mov r6, r8 - ldrb r0, [r6, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - adds r5, #1 - ldr r6, [sp] - ldrh r6, [r6] - cmp r5, r6 - blt _08009F4C + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r7 + ldrb r1, [r2, #1] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #1] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r7 + movs r0, #2 + ldrsh r1, [r4, r0] + mov r2, r8 + movs r6, #2 + ldrsh r0, [r2, r6] + adds r1, r1, r0 + ldr r2, _0800A150 @ =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, [r4] + lsls r1, r1, #3 + adds r1, r1, r7 + mov r6, r8 + ldrb r0, [r6, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + adds r5, #1 + ldr r6, [sp] + ldrh r6, [r6] + cmp r5, r6 + blt _08009F4C _08009F9E: - mov r7, sb - ldrh r0, [r7] - cmp r0, #1 - bne _0800A01C - ldr r0, _0800A13C @ =0x0201A450 - ldrh r1, [r0, #0x20] - strh r1, [r7, #2] - ldrh r0, [r0, #0x22] - strh r0, [r7, #4] - ldr r6, _0800A148 @ =0x03005000 - movs r0, #0xd - rsbs r0, r0, #0 - mov ip, r0 - mov r4, sb - adds r4, #8 - movs r5, #3 + mov r7, sb + ldrh r0, [r7] + cmp r0, #1 + bne _0800A01C + ldr r0, _0800A13C @ =0x0201A450 + ldrh r1, [r0, #0x20] + strh r1, [r7, #2] + ldrh r0, [r0, #0x22] + strh r0, [r7, #4] + ldr r6, _0800A148 @ =0x03005000 + movs r0, #0xd + rsbs r0, r0, #0 + mov ip, r0 + mov r4, sb + adds r4, #8 + movs r5, #3 _08009FBE: - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #1] - mov r0, ip - ands r0, r2 - movs r2, #4 - orrs r0, r2 - strb r0, [r1, #1] - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #5] - mov r0, ip - ands r0, r2 - movs r7, #4 - orrs r0, r7 - strb r0, [r1, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r0, #2 - ldrsh r1, [r4, r0] - mov r2, sb - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _0800A150 @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _0800A14C @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - mov r7, sb - ldrb r0, [r7, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - subs r5, #1 - cmp r5, #0 - bge _08009FBE + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #1] + mov r0, ip + ands r0, r2 + movs r2, #4 + orrs r0, r2 + strb r0, [r1, #1] + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #5] + mov r0, ip + ands r0, r2 + movs r7, #4 + orrs r0, r7 + strb r0, [r1, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r0, #2 + ldrsh r1, [r4, r0] + mov r2, sb + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _0800A150 @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _0800A14C @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + mov r7, sb + ldrb r0, [r7, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + subs r5, #1 + cmp r5, #0 + bge _08009FBE _0800A01C: - mov r6, sl - ldrh r0, [r6] - cmp r0, #1 - bne _0800A098 - ldr r0, _0800A13C @ =0x0201A450 - ldrh r1, [r0, #0x30] - strh r1, [r6, #2] - ldrh r0, [r0, #0x32] - strh r0, [r6, #4] - ldr r6, _0800A148 @ =0x03005000 - ldr r7, _0800A14C @ =0xFFFFFE00 - mov ip, r7 - mov r4, sl - adds r4, #8 - movs r5, #3 + mov r6, sl + ldrh r0, [r6] + cmp r0, #1 + bne _0800A098 + ldr r0, _0800A13C @ =0x0201A450 + ldrh r1, [r0, #0x30] + strh r1, [r6, #2] + ldrh r0, [r0, #0x32] + strh r0, [r6, #4] + ldr r6, _0800A148 @ =0x03005000 + ldr r7, _0800A14C @ =0xFFFFFE00 + mov ip, r7 + mov r4, sl + adds r4, #8 + movs r5, #3 _0800A03A: - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #1] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r1, #1] - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r0, #2 - ldrsh r1, [r4, r0] - mov r2, sl - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _0800A150 @ =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, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - mov r7, sl - ldrb r0, [r7, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - subs r5, #1 - cmp r5, #0 - bge _0800A03A + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #1] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r2 + strb r0, [r1, #1] + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r0, #2 + ldrsh r1, [r4, r0] + mov r2, sl + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _0800A150 @ =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, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + mov r7, sl + ldrb r0, [r7, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + subs r5, #1 + cmp r5, #0 + bge _0800A03A _0800A098: - ldr r6, _0800A140 @ =0x0200D638 - ldrh r0, [r6] - cmp r0, #1 - bne _0800A10A - ldr r0, _0800A13C @ =0x0201A450 - adds r1, r0, #0 - adds r1, #0x40 - ldrh r1, [r1] - strh r1, [r6, #2] - adds r0, #0x42 - ldrh r0, [r0] - strh r0, [r6, #4] - ldr r6, _0800A148 @ =0x03005000 - movs r7, #0xd - rsbs r7, r7, #0 - mov ip, r7 - ldr r4, _0800A140 @ =0x0200D638 - adds r4, #8 - movs r5, #7 + ldr r6, _0800A140 @ =0x0200D638 + ldrh r0, [r6] + cmp r0, #1 + bne _0800A10A + ldr r0, _0800A13C @ =0x0201A450 + adds r1, r0, #0 + adds r1, #0x40 + ldrh r1, [r1] + strh r1, [r6, #2] + adds r0, #0x42 + ldrh r0, [r0] + strh r0, [r6, #4] + ldr r6, _0800A148 @ =0x03005000 + movs r7, #0xd + rsbs r7, r7, #0 + mov ip, r7 + ldr r4, _0800A140 @ =0x0200D638 + adds r4, #8 + movs r5, #7 _0800A0BE: - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #5] - mov r0, ip - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r0, #2 - ldrsh r1, [r4, r0] - ldr r2, _0800A140 @ =0x0200D638 - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _0800A150 @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _0800A14C @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldr r7, _0800A140 @ =0x0200D638 - ldrb r0, [r7, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - subs r5, #1 - cmp r5, #0 - bge _0800A0BE + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #5] + mov r0, ip + ands r0, r1 + movs r1, #8 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r0, #2 + ldrsh r1, [r4, r0] + ldr r2, _0800A140 @ =0x0200D638 + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _0800A150 @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _0800A14C @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldr r7, _0800A140 @ =0x0200D638 + ldrb r0, [r7, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + subs r5, #1 + cmp r5, #0 + bge _0800A0BE _0800A10A: - movs r0, #0 - mov r6, r8 - strh r0, [r6] - mov r7, sb - strh r0, [r7] - mov r1, sl - strh r0, [r1] - ldr r2, _0800A140 @ =0x0200D638 - strh r0, [r2] - 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 + movs r0, #0 + mov r6, r8 + strh r0, [r6] + mov r7, sb + strh r0, [r7] + mov r1, sl + strh r0, [r1] + ldr r2, _0800A140 @ =0x0200D638 + strh r0, [r2] + 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 _0800A12C: .4byte 0x0200B0C0 _0800A130: .4byte 0x0201C1B8 _0800A134: .4byte 0x0202ADD4 @@ -19627,132 +19627,132 @@ _0800A148: .4byte 0x03005000 _0800A14C: .4byte 0xFFFFFE00 _0800A150: .4byte 0x000001FF - thumb_func_start sub_A154 + thumb_func_start sub_A154 sub_A154: @ 0x0800A154 - push {lr} - bl sub_518 - ldr r1, _0800A168 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_518 + ldr r1, _0800A168 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 _0800A168: .4byte 0x0202C790 - thumb_func_start sub_A16C + thumb_func_start sub_A16C sub_A16C: @ 0x0800A16C - push {r4, lr} - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r0, #0 - strh r0, [r2] - ldr r1, _0800A250 @ =0x04000008 - movs r3, #0xcc - lsls r3, r3, #8 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #1 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800A254 @ =0x0400000A - ldr r3, _0800A258 @ =0x0000DA01 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #2 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800A25C @ =0x0400000E - ldr r3, _0800A260 @ =0x00001E03 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #4 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _0800A264 @ =0x040000D4 - ldr r1, _0800A268 @ =0x080D0700 - str r1, [r0] - ldr r1, _0800A26C @ =0x06006000 - str r1, [r0, #4] - ldr r2, _0800A270 @ =0x80001000 - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800A274 @ =0x080D2700 - str r1, [r0] - ldr r1, _0800A278 @ =0x0600D000 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800A27C @ =0x080CBEE0 - str r1, [r0] - ldr r1, _0800A280 @ =0x0600F000 - str r1, [r0, #4] - ldr r1, _0800A284 @ =0x80000400 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800A288 @ =0x080CC6E0 - str r1, [r0] - movs r1, #0xc0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r1, _0800A28C @ =0x80001E00 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800A290 @ =0x080CBCE0 - str r1, [r0] - movs r1, #0xa0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r1, _0800A294 @ =0x80000040 - str r1, [r0, #8] - ldr r0, [r0, #8] - bl sub_A2A8 - ldr r1, _0800A298 @ =0x0200B0C0 - ldr r3, _0800A29C @ =0x0202ADA0 - ldrh r2, [r3] - movs r4, #0xba - lsls r4, r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #2] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0xc] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0xe] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0x18] - adds r4, #6 - adds r0, r1, r4 - strh r2, [r0] - ldrh r0, [r3, #0x1a] - ldr r2, _0800A2A0 @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - bl sub_CBC - bl sub_10424 - ldr r1, _0800A2A4 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r0, #0 + strh r0, [r2] + ldr r1, _0800A250 @ =0x04000008 + movs r3, #0xcc + lsls r3, r3, #8 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r4, #0x80 + lsls r4, r4, #1 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800A254 @ =0x0400000A + ldr r3, _0800A258 @ =0x0000DA01 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r4, #0x80 + lsls r4, r4, #2 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800A25C @ =0x0400000E + ldr r3, _0800A260 @ =0x00001E03 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r4, #0x80 + lsls r4, r4, #4 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + ldr r0, _0800A264 @ =0x040000D4 + ldr r1, _0800A268 @ =0x080D0700 + str r1, [r0] + ldr r1, _0800A26C @ =0x06006000 + str r1, [r0, #4] + ldr r2, _0800A270 @ =0x80001000 + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800A274 @ =0x080D2700 + str r1, [r0] + ldr r1, _0800A278 @ =0x0600D000 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800A27C @ =0x080CBEE0 + str r1, [r0] + ldr r1, _0800A280 @ =0x0600F000 + str r1, [r0, #4] + ldr r1, _0800A284 @ =0x80000400 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800A288 @ =0x080CC6E0 + str r1, [r0] + movs r1, #0xc0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r1, _0800A28C @ =0x80001E00 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800A290 @ =0x080CBCE0 + str r1, [r0] + movs r1, #0xa0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r1, _0800A294 @ =0x80000040 + str r1, [r0, #8] + ldr r0, [r0, #8] + bl sub_A2A8 + ldr r1, _0800A298 @ =0x0200B0C0 + ldr r3, _0800A29C @ =0x0202ADA0 + ldrh r2, [r3] + movs r4, #0xba + lsls r4, r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #2] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0xc] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0xe] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0x18] + adds r4, #6 + adds r0, r1, r4 + strh r2, [r0] + ldrh r0, [r3, #0x1a] + ldr r2, _0800A2A0 @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + bl sub_CBC + bl sub_10424 + ldr r1, _0800A2A4 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #2 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800A250: .4byte 0x04000008 _0800A254: .4byte 0x0400000A _0800A258: .4byte 0x0000DA01 @@ -19776,386 +19776,386 @@ _0800A29C: .4byte 0x0202ADA0 _0800A2A0: .4byte 0x000002F6 _0800A2A4: .4byte 0x0202C790 - thumb_func_start sub_A2A8 + thumb_func_start sub_A2A8 sub_A2A8: @ 0x0800A2A8 - ldr r0, _0800A2D8 @ =0x0202ADA0 - movs r2, #0 - movs r1, #0x1c - strh r1, [r0] - ldr r1, _0800A2DC @ =0x0000FF2C - strh r1, [r0, #2] - strh r2, [r0, #4] - movs r1, #0xe - strh r1, [r0, #6] - ldr r1, _0800A2E0 @ =0x0000FF5C - strh r1, [r0, #0xc] - subs r1, #0x54 - strh r1, [r0, #0xe] - strh r2, [r0, #0x10] - movs r1, #0x10 - strh r1, [r0, #0x12] - strh r2, [r0, #0x18] - strh r2, [r0, #0x1a] - strh r2, [r0, #0x20] - ldr r0, _0800A2E4 @ =0x0202BF10 - strh r2, [r0] - ldr r0, _0800A2E8 @ =0x0202A578 - strh r2, [r0] - bx lr - .align 2, 0 + ldr r0, _0800A2D8 @ =0x0202ADA0 + movs r2, #0 + movs r1, #0x1c + strh r1, [r0] + ldr r1, _0800A2DC @ =0x0000FF2C + strh r1, [r0, #2] + strh r2, [r0, #4] + movs r1, #0xe + strh r1, [r0, #6] + ldr r1, _0800A2E0 @ =0x0000FF5C + strh r1, [r0, #0xc] + subs r1, #0x54 + strh r1, [r0, #0xe] + strh r2, [r0, #0x10] + movs r1, #0x10 + strh r1, [r0, #0x12] + strh r2, [r0, #0x18] + strh r2, [r0, #0x1a] + strh r2, [r0, #0x20] + ldr r0, _0800A2E4 @ =0x0202BF10 + strh r2, [r0] + ldr r0, _0800A2E8 @ =0x0202A578 + strh r2, [r0] + bx lr + .align 2, 0 _0800A2D8: .4byte 0x0202ADA0 _0800A2DC: .4byte 0x0000FF2C _0800A2E0: .4byte 0x0000FF5C _0800A2E4: .4byte 0x0202BF10 _0800A2E8: .4byte 0x0202A578 - thumb_func_start nullsub_6 + thumb_func_start nullsub_6 nullsub_6: @ 0x0800A2EC - bx lr + bx lr - thumb_func_start sub_A2F0 + thumb_func_start sub_A2F0 sub_A2F0: @ 0x0800A2F0 - push {r4, lr} - ldr r3, _0800A384 @ =0x0202ADA0 - ldrh r4, [r3, #6] - ldrh r1, [r3, #2] - adds r0, r4, r1 - strh r0, [r3, #2] - ldrh r2, [r3, #0x12] - ldrh r1, [r3, #0xe] - adds r0, r2, r1 - strh r0, [r3, #0xe] - ldrh r0, [r3, #0x18] - subs r0, #1 - strh r0, [r3, #0x18] - ldrh r0, [r3, #0x1a] - subs r0, #1 - strh r0, [r3, #0x1a] - ldrh r0, [r3] - subs r0, #1 - strh r0, [r3] - ldrh r0, [r3, #0xc] - adds r0, #1 - strh r0, [r3, #0xc] - ldr r0, _0800A388 @ =0x0202BF10 - ldrh r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0800A330 - subs r0, r4, #1 - strh r0, [r3, #6] - subs r0, r2, #1 - strh r0, [r3, #0x12] + push {r4, lr} + ldr r3, _0800A384 @ =0x0202ADA0 + ldrh r4, [r3, #6] + ldrh r1, [r3, #2] + adds r0, r4, r1 + strh r0, [r3, #2] + ldrh r2, [r3, #0x12] + ldrh r1, [r3, #0xe] + adds r0, r2, r1 + strh r0, [r3, #0xe] + ldrh r0, [r3, #0x18] + subs r0, #1 + strh r0, [r3, #0x18] + ldrh r0, [r3, #0x1a] + subs r0, #1 + strh r0, [r3, #0x1a] + ldrh r0, [r3] + subs r0, #1 + strh r0, [r3] + ldrh r0, [r3, #0xc] + adds r0, #1 + strh r0, [r3, #0xc] + ldr r0, _0800A388 @ =0x0202BF10 + ldrh r0, [r0] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + bne _0800A330 + subs r0, r4, #1 + strh r0, [r3, #6] + subs r0, r2, #1 + strh r0, [r3, #0x12] _0800A330: - ldr r1, _0800A38C @ =0x0200B0C0 - ldrh r2, [r3] - movs r4, #0xba - lsls r4, r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #2] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0xc] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0xe] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0x18] - adds r4, #6 - adds r0, r1, r4 - strh r2, [r0] - ldrh r0, [r3, #0x1a] - ldr r2, _0800A390 @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - ldrh r0, [r3, #0x20] - adds r0, #1 - strh r0, [r3, #0x20] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x27 - ble _0800A37E - movs r0, #0 - strh r0, [r3, #0x20] - ldr r1, _0800A394 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] + ldr r1, _0800A38C @ =0x0200B0C0 + ldrh r2, [r3] + movs r4, #0xba + lsls r4, r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #2] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0xc] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0xe] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0x18] + adds r4, #6 + adds r0, r1, r4 + strh r2, [r0] + ldrh r0, [r3, #0x1a] + ldr r2, _0800A390 @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + ldrh r0, [r3, #0x20] + adds r0, #1 + strh r0, [r3, #0x20] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x27 + ble _0800A37E + movs r0, #0 + strh r0, [r3, #0x20] + ldr r1, _0800A394 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #2 + strb r0, [r1] _0800A37E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800A384: .4byte 0x0202ADA0 _0800A388: .4byte 0x0202BF10 _0800A38C: .4byte 0x0200B0C0 _0800A390: .4byte 0x000002F6 _0800A394: .4byte 0x0202C790 - thumb_func_start nullsub_7 + thumb_func_start nullsub_7 nullsub_7: @ 0x0800A398 - bx lr + bx lr - thumb_func_start sub_A39C + thumb_func_start sub_A39C sub_A39C: @ 0x0800A39C - push {r4, lr} - ldr r3, _0800A428 @ =0x0202ADA0 - ldrh r0, [r3, #2] - adds r0, #1 - strh r0, [r3, #2] - ldrh r0, [r3, #0xe] - adds r0, #1 - strh r0, [r3, #0xe] - ldrh r0, [r3, #0x18] - subs r0, #1 - strh r0, [r3, #0x18] - ldrh r0, [r3, #0x1a] - subs r0, #1 - strh r0, [r3, #0x1a] - ldrh r0, [r3] - subs r0, #1 - strh r0, [r3] - ldrh r0, [r3, #0xc] - adds r0, #1 - strh r0, [r3, #0xc] - ldr r0, _0800A42C @ =0x0202BF10 - ldrh r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0800A3DC - ldrh r0, [r3, #6] - subs r0, #1 - strh r0, [r3, #6] - ldrh r0, [r3, #0x12] - subs r0, #1 - strh r0, [r3, #0x12] + push {r4, lr} + ldr r3, _0800A428 @ =0x0202ADA0 + ldrh r0, [r3, #2] + adds r0, #1 + strh r0, [r3, #2] + ldrh r0, [r3, #0xe] + adds r0, #1 + strh r0, [r3, #0xe] + ldrh r0, [r3, #0x18] + subs r0, #1 + strh r0, [r3, #0x18] + ldrh r0, [r3, #0x1a] + subs r0, #1 + strh r0, [r3, #0x1a] + ldrh r0, [r3] + subs r0, #1 + strh r0, [r3] + ldrh r0, [r3, #0xc] + adds r0, #1 + strh r0, [r3, #0xc] + ldr r0, _0800A42C @ =0x0202BF10 + ldrh r0, [r0] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + bne _0800A3DC + ldrh r0, [r3, #6] + subs r0, #1 + strh r0, [r3, #6] + ldrh r0, [r3, #0x12] + subs r0, #1 + strh r0, [r3, #0x12] _0800A3DC: - ldr r1, _0800A430 @ =0x0200B0C0 - ldrh r2, [r3] - movs r4, #0xba - lsls r4, r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #2] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0xc] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0xe] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0x18] - adds r4, #6 - adds r0, r1, r4 - strh r2, [r0] - ldrh r0, [r3, #0x1a] - ldr r2, _0800A434 @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - bl sub_10480 - bl sub_10544 - ldr r1, _0800A438 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + ldr r1, _0800A430 @ =0x0200B0C0 + ldrh r2, [r3] + movs r4, #0xba + lsls r4, r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #2] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0xc] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0xe] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0x18] + adds r4, #6 + adds r0, r1, r4 + strh r2, [r0] + ldrh r0, [r3, #0x1a] + ldr r2, _0800A434 @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + bl sub_10480 + bl sub_10544 + ldr r1, _0800A438 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800A428: .4byte 0x0202ADA0 _0800A42C: .4byte 0x0202BF10 _0800A430: .4byte 0x0200B0C0 _0800A434: .4byte 0x000002F6 _0800A438: .4byte 0x0202C790 - thumb_func_start sub_A43C + thumb_func_start sub_A43C sub_A43C: @ 0x0800A43C - push {lr} - bl sub_518 - ldr r1, _0800A450 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_518 + ldr r1, _0800A450 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 _0800A450: .4byte 0x0202C790 - thumb_func_start sub_A454 + thumb_func_start sub_A454 sub_A454: @ 0x0800A454 - push {r4, lr} - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x80 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _0800A5A0 @ =0x04000008 - movs r3, #0xb4 - lsls r3, r3, #7 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #1 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800A5A4 @ =0x0400000A - ldr r3, _0800A5A8 @ =0x00001C01 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #2 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800A5AC @ =0x0400000C - ldr r3, _0800A5B0 @ =0x00005D02 - adds r0, r3, #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, _0800A5B4 @ =0x0400000E - ldr r3, _0800A5B8 @ =0x00001F03 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #4 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _0800A5BC @ =0x040000D4 - ldr r1, _0800A5C0 @ =0x080DE520 - str r1, [r0] - ldr r1, _0800A5C4 @ =0x0600D000 - str r1, [r0, #4] - ldr r3, _0800A5C8 @ =0x80000800 - str r3, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800A5CC @ =0x080DCD20 - str r1, [r0] - ldr r1, _0800A5D0 @ =0x0600E000 - str r1, [r0, #4] - ldr r2, _0800A5D4 @ =0x80000400 - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800A5D8 @ =0x080D4900 - str r1, [r0] - ldr r1, _0800A5DC @ =0x0600E800 - str r1, [r0, #4] - str r3, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800A5E0 @ =0x080D5900 - str r1, [r0] - ldr r1, _0800A5E4 @ =0x0600F800 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800A5E8 @ =0x080DD520 - str r1, [r0] - ldr r1, _0800A5EC @ =0x03005C00 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800A5F0 @ =0x080DDD20 - str r1, [r0] - ldr r1, _0800A5F4 @ =0x0201B180 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800A5F8 @ =0x080D6100 - str r1, [r0] - movs r1, #0xc0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r1, _0800A5FC @ =0x80003600 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r3, _0800A600 @ =0x080D4700 - str r3, [r0] - movs r1, #0xa0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r2, _0800A604 @ =0x80000070 - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800A608 @ =0x080DF520 - str r1, [r0] - ldr r1, _0800A60C @ =0x06010000 - str r1, [r0, #4] - ldr r1, _0800A610 @ =0x80001000 - str r1, [r0, #8] - ldr r1, [r0, #8] - str r3, [r0] - ldr r1, _0800A614 @ =0x05000200 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r0, [r0, #8] - bl sub_A628 - bl sub_A87C - ldr r1, _0800A618 @ =0x0200B0C0 - ldr r2, _0800A61C @ =0x0202ADA0 - ldrh r3, [r2] - movs r4, #0xba - lsls r4, r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #2] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0xc] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0xe] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0x18] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0x1a] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0x24] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r0, [r2, #0x26] - ldr r2, _0800A620 @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - bl sub_CBC - bl sub_10424 - ldr r1, _0800A624 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x80 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _0800A5A0 @ =0x04000008 + movs r3, #0xb4 + lsls r3, r3, #7 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r4, #0x80 + lsls r4, r4, #1 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800A5A4 @ =0x0400000A + ldr r3, _0800A5A8 @ =0x00001C01 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r4, #0x80 + lsls r4, r4, #2 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800A5AC @ =0x0400000C + ldr r3, _0800A5B0 @ =0x00005D02 + adds r0, r3, #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, _0800A5B4 @ =0x0400000E + ldr r3, _0800A5B8 @ =0x00001F03 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r4, #0x80 + lsls r4, r4, #4 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + ldr r0, _0800A5BC @ =0x040000D4 + ldr r1, _0800A5C0 @ =0x080DE520 + str r1, [r0] + ldr r1, _0800A5C4 @ =0x0600D000 + str r1, [r0, #4] + ldr r3, _0800A5C8 @ =0x80000800 + str r3, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800A5CC @ =0x080DCD20 + str r1, [r0] + ldr r1, _0800A5D0 @ =0x0600E000 + str r1, [r0, #4] + ldr r2, _0800A5D4 @ =0x80000400 + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800A5D8 @ =0x080D4900 + str r1, [r0] + ldr r1, _0800A5DC @ =0x0600E800 + str r1, [r0, #4] + str r3, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800A5E0 @ =0x080D5900 + str r1, [r0] + ldr r1, _0800A5E4 @ =0x0600F800 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800A5E8 @ =0x080DD520 + str r1, [r0] + ldr r1, _0800A5EC @ =0x03005C00 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800A5F0 @ =0x080DDD20 + str r1, [r0] + ldr r1, _0800A5F4 @ =0x0201B180 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800A5F8 @ =0x080D6100 + str r1, [r0] + movs r1, #0xc0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r1, _0800A5FC @ =0x80003600 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r3, _0800A600 @ =0x080D4700 + str r3, [r0] + movs r1, #0xa0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r2, _0800A604 @ =0x80000070 + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800A608 @ =0x080DF520 + str r1, [r0] + ldr r1, _0800A60C @ =0x06010000 + str r1, [r0, #4] + ldr r1, _0800A610 @ =0x80001000 + str r1, [r0, #8] + ldr r1, [r0, #8] + str r3, [r0] + ldr r1, _0800A614 @ =0x05000200 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r0, [r0, #8] + bl sub_A628 + bl sub_A87C + ldr r1, _0800A618 @ =0x0200B0C0 + ldr r2, _0800A61C @ =0x0202ADA0 + ldrh r3, [r2] + movs r4, #0xba + lsls r4, r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #2] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0xc] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0xe] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0x18] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0x1a] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0x24] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r0, [r2, #0x26] + ldr r2, _0800A620 @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + bl sub_CBC + bl sub_10424 + ldr r1, _0800A624 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800A5A0: .4byte 0x04000008 _0800A5A4: .4byte 0x0400000A _0800A5A8: .4byte 0x00001C01 @@ -20191,34 +20191,34 @@ _0800A61C: .4byte 0x0202ADA0 _0800A620: .4byte 0x000002F6 _0800A624: .4byte 0x0202C790 - thumb_func_start sub_A628 + thumb_func_start sub_A628 sub_A628: @ 0x0800A628 - ldr r1, _0800A65C @ =0x0202ADA0 - movs r2, #0 - movs r0, #0x2c - strh r0, [r1] - ldr r0, _0800A660 @ =0x0000FF8E - strh r0, [r1, #2] - ldr r3, _0800A664 @ =0x0201A450 - adds r0, #0x46 - strh r0, [r3] - movs r0, #0x72 - strh r0, [r3, #2] - ldr r0, _0800A668 @ =0x0000FFCE - strh r0, [r1, #0xc] - movs r0, #0x1e - strh r0, [r1, #0xe] - strh r2, [r1, #0x18] - strh r2, [r1, #0x1a] - strh r2, [r1, #0x20] - strh r2, [r1, #0x24] - strh r2, [r1, #0x26] - ldr r0, _0800A66C @ =0x0202BF10 - strh r2, [r0] - ldr r0, _0800A670 @ =0x0202A578 - strh r2, [r0] - bx lr - .align 2, 0 + ldr r1, _0800A65C @ =0x0202ADA0 + movs r2, #0 + movs r0, #0x2c + strh r0, [r1] + ldr r0, _0800A660 @ =0x0000FF8E + strh r0, [r1, #2] + ldr r3, _0800A664 @ =0x0201A450 + adds r0, #0x46 + strh r0, [r3] + movs r0, #0x72 + strh r0, [r3, #2] + ldr r0, _0800A668 @ =0x0000FFCE + strh r0, [r1, #0xc] + movs r0, #0x1e + strh r0, [r1, #0xe] + strh r2, [r1, #0x18] + strh r2, [r1, #0x1a] + strh r2, [r1, #0x20] + strh r2, [r1, #0x24] + strh r2, [r1, #0x26] + ldr r0, _0800A66C @ =0x0202BF10 + strh r2, [r0] + ldr r0, _0800A670 @ =0x0202A578 + strh r2, [r0] + bx lr + .align 2, 0 _0800A65C: .4byte 0x0202ADA0 _0800A660: .4byte 0x0000FF8E _0800A664: .4byte 0x0201A450 @@ -20226,178 +20226,178 @@ _0800A668: .4byte 0x0000FFCE _0800A66C: .4byte 0x0202BF10 _0800A670: .4byte 0x0202A578 - thumb_func_start sub_A674 + thumb_func_start sub_A674 sub_A674: @ 0x0800A674 - push {r4, lr} - ldr r4, _0800A6FC @ =0x0202ADA0 - ldrh r0, [r4] - subs r0, #0x11 - strh r0, [r4] - ldrh r0, [r4, #2] - adds r0, #0xa - strh r0, [r4, #2] - ldr r1, _0800A700 @ =0x0201A450 - ldrh r0, [r1] - adds r0, #0x11 - strh r0, [r1] - ldrh r0, [r1, #2] - subs r0, #0xa - strh r0, [r1, #2] - ldrh r0, [r4, #0x18] - adds r0, #0x10 - strh r0, [r4, #0x18] - ldrh r0, [r4, #0xc] - adds r0, #4 - strh r0, [r4, #0xc] - ldrh r0, [r4, #0xe] - subs r0, #8 - strh r0, [r4, #0xe] - ldrh r0, [r4, #0x20] - adds r0, #1 - strh r0, [r4, #0x20] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #9 - ble _0800A6BE - movs r0, #0 - strh r0, [r4, #0x20] - ldr r1, _0800A704 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + push {r4, lr} + ldr r4, _0800A6FC @ =0x0202ADA0 + ldrh r0, [r4] + subs r0, #0x11 + strh r0, [r4] + ldrh r0, [r4, #2] + adds r0, #0xa + strh r0, [r4, #2] + ldr r1, _0800A700 @ =0x0201A450 + ldrh r0, [r1] + adds r0, #0x11 + strh r0, [r1] + ldrh r0, [r1, #2] + subs r0, #0xa + strh r0, [r1, #2] + ldrh r0, [r4, #0x18] + adds r0, #0x10 + strh r0, [r4, #0x18] + ldrh r0, [r4, #0xc] + adds r0, #4 + strh r0, [r4, #0xc] + ldrh r0, [r4, #0xe] + subs r0, #8 + strh r0, [r4, #0xe] + ldrh r0, [r4, #0x20] + adds r0, #1 + strh r0, [r4, #0x20] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #9 + ble _0800A6BE + movs r0, #0 + strh r0, [r4, #0x20] + ldr r1, _0800A704 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800A6BE: - bl sub_A87C - ldr r1, _0800A708 @ =0x0200B0C0 - ldrh r2, [r4] - movs r3, #0xba - lsls r3, r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #2] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0xc] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0xe] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0x18] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r4, #0x1a] - ldr r2, _0800A70C @ =0x000002F2 - adds r1, r1, r2 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + bl sub_A87C + ldr r1, _0800A708 @ =0x0200B0C0 + ldrh r2, [r4] + movs r3, #0xba + lsls r3, r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #2] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0xc] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0xe] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0x18] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r0, [r4, #0x1a] + ldr r2, _0800A70C @ =0x000002F2 + adds r1, r1, r2 + strh r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800A6FC: .4byte 0x0202ADA0 _0800A700: .4byte 0x0201A450 _0800A704: .4byte 0x0202C790 _0800A708: .4byte 0x0200B0C0 _0800A70C: .4byte 0x000002F2 - thumb_func_start sub_A710 + thumb_func_start sub_A710 sub_A710: @ 0x0800A710 - push {r4, r5, r6, lr} - ldr r5, _0800A7C8 @ =0x0202ADA0 - ldrh r0, [r5, #0x24] - subs r0, #1 - movs r6, #0 - strh r0, [r5, #0x24] - ldr r2, _0800A7CC @ =0x0202BF10 - ldrh r0, [r2] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0800A742 - ldrh r0, [r5] - subs r0, #1 - strh r0, [r5] - ldrh r0, [r5, #2] - adds r0, #1 - strh r0, [r5, #2] - ldr r1, _0800A7D0 @ =0x0201A450 - ldrh r0, [r1] - adds r0, #2 - strh r0, [r1] - ldrh r0, [r1, #2] - subs r0, #2 - strh r0, [r1, #2] + push {r4, r5, r6, lr} + ldr r5, _0800A7C8 @ =0x0202ADA0 + ldrh r0, [r5, #0x24] + subs r0, #1 + movs r6, #0 + strh r0, [r5, #0x24] + ldr r2, _0800A7CC @ =0x0202BF10 + ldrh r0, [r2] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + bne _0800A742 + ldrh r0, [r5] + subs r0, #1 + strh r0, [r5] + ldrh r0, [r5, #2] + adds r0, #1 + strh r0, [r5, #2] + ldr r1, _0800A7D0 @ =0x0201A450 + ldrh r0, [r1] + adds r0, #2 + strh r0, [r1] + ldrh r0, [r1, #2] + subs r0, #2 + strh r0, [r1, #2] _0800A742: - movs r1, #0 - ldrsh r0, [r2, r1] - movs r1, #3 - bl __modsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0800A776 - ldr r0, _0800A7D4 @ =0x040000D4 - movs r3, #0xa0 - lsls r3, r3, #0x13 - str r3, [r0] - ldr r4, _0800A7D8 @ =0x0202BE70 - str r4, [r0, #4] - ldr r1, _0800A7DC @ =0x80000010 - str r1, [r0, #8] - ldr r2, [r0, #8] - ldr r2, _0800A7E0 @ =0x05000040 - str r2, [r0] - str r3, [r0, #4] - str r1, [r0, #8] - ldr r3, [r0, #8] - str r4, [r0] - str r2, [r0, #4] - str r1, [r0, #8] - ldr r0, [r0, #8] + movs r1, #0 + ldrsh r0, [r2, r1] + movs r1, #3 + bl __modsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0800A776 + ldr r0, _0800A7D4 @ =0x040000D4 + movs r3, #0xa0 + lsls r3, r3, #0x13 + str r3, [r0] + ldr r4, _0800A7D8 @ =0x0202BE70 + str r4, [r0, #4] + ldr r1, _0800A7DC @ =0x80000010 + str r1, [r0, #8] + ldr r2, [r0, #8] + ldr r2, _0800A7E0 @ =0x05000040 + str r2, [r0] + str r3, [r0, #4] + str r1, [r0, #8] + ldr r3, [r0, #8] + str r4, [r0] + str r2, [r0, #4] + str r1, [r0, #8] + ldr r0, [r0, #8] _0800A776: - ldr r4, _0800A7E4 @ =0x0200B0C0 - ldrh r1, [r5] - movs r2, #0xba - lsls r2, r2, #2 - adds r0, r4, r2 - strh r1, [r0] - ldrh r1, [r5, #2] - adds r2, #2 - adds r0, r4, r2 - strh r1, [r0] - ldrh r1, [r5, #0x24] - adds r2, #0xa - adds r0, r4, r2 - strh r1, [r0] - ldrh r1, [r5, #0x26] - adds r2, #2 - adds r0, r4, r2 - strh r1, [r0] - bl sub_A87C - movs r1, #0x20 - ldrsh r0, [r5, r1] - cmp r0, #2 - bne _0800A7F4 - ldr r1, _0800A7D4 @ =0x040000D4 - ldr r0, _0800A7E8 @ =0x03005C00 - str r0, [r1] - ldr r0, _0800A7EC @ =0x0600E000 - str r0, [r1, #4] - ldr r0, _0800A7F0 @ =0x80000400 - str r0, [r1, #8] - ldr r0, [r1, #8] - strh r6, [r5, #0xc] - strh r6, [r5, #0xe] - movs r2, #0xbb - lsls r2, r2, #2 - adds r0, r4, r2 - strh r6, [r0] - movs r1, #0 - adds r2, #2 - b _0800A818 - .align 2, 0 + ldr r4, _0800A7E4 @ =0x0200B0C0 + ldrh r1, [r5] + movs r2, #0xba + lsls r2, r2, #2 + adds r0, r4, r2 + strh r1, [r0] + ldrh r1, [r5, #2] + adds r2, #2 + adds r0, r4, r2 + strh r1, [r0] + ldrh r1, [r5, #0x24] + adds r2, #0xa + adds r0, r4, r2 + strh r1, [r0] + ldrh r1, [r5, #0x26] + adds r2, #2 + adds r0, r4, r2 + strh r1, [r0] + bl sub_A87C + movs r1, #0x20 + ldrsh r0, [r5, r1] + cmp r0, #2 + bne _0800A7F4 + ldr r1, _0800A7D4 @ =0x040000D4 + ldr r0, _0800A7E8 @ =0x03005C00 + str r0, [r1] + ldr r0, _0800A7EC @ =0x0600E000 + str r0, [r1, #4] + ldr r0, _0800A7F0 @ =0x80000400 + str r0, [r1, #8] + ldr r0, [r1, #8] + strh r6, [r5, #0xc] + strh r6, [r5, #0xe] + movs r2, #0xbb + lsls r2, r2, #2 + adds r0, r4, r2 + strh r6, [r0] + movs r1, #0 + adds r2, #2 + b _0800A818 + .align 2, 0 _0800A7C8: .4byte 0x0202ADA0 _0800A7CC: .4byte 0x0202BF10 _0800A7D0: .4byte 0x0201A450 @@ -20410,47 +20410,47 @@ _0800A7E8: .4byte 0x03005C00 _0800A7EC: .4byte 0x0600E000 _0800A7F0: .4byte 0x80000400 _0800A7F4: - cmp r0, #4 - bne _0800A81C - ldr r1, _0800A840 @ =0x040000D4 - ldr r0, _0800A844 @ =0x0201B180 - str r0, [r1] - ldr r0, _0800A848 @ =0x0600E000 - str r0, [r1, #4] - ldr r0, _0800A84C @ =0x80000400 - str r0, [r1, #8] - ldr r0, [r1, #8] - strh r6, [r5, #0xc] - strh r6, [r5, #0xe] - movs r1, #0xbb - lsls r1, r1, #2 - adds r0, r4, r1 - strh r6, [r0] - movs r1, #0 - ldr r2, _0800A850 @ =0x000002EE + cmp r0, #4 + bne _0800A81C + ldr r1, _0800A840 @ =0x040000D4 + ldr r0, _0800A844 @ =0x0201B180 + str r0, [r1] + ldr r0, _0800A848 @ =0x0600E000 + str r0, [r1, #4] + ldr r0, _0800A84C @ =0x80000400 + str r0, [r1, #8] + ldr r0, [r1, #8] + strh r6, [r5, #0xc] + strh r6, [r5, #0xe] + movs r1, #0xbb + lsls r1, r1, #2 + adds r0, r4, r1 + strh r6, [r0] + movs r1, #0 + ldr r2, _0800A850 @ =0x000002EE _0800A818: - adds r0, r4, r2 - strh r1, [r0] + adds r0, r4, r2 + strh r1, [r0] _0800A81C: - ldr r1, _0800A854 @ =0x0202ADA0 - ldrh r0, [r1, #0x20] - adds r0, #1 - strh r0, [r1, #0x20] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x1d - ble _0800A838 - movs r0, #0 - strh r0, [r1, #0x20] - ldr r1, _0800A858 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] + ldr r1, _0800A854 @ =0x0202ADA0 + ldrh r0, [r1, #0x20] + adds r0, #1 + strh r0, [r1, #0x20] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x1d + ble _0800A838 + movs r0, #0 + strh r0, [r1, #0x20] + ldr r1, _0800A858 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #2 + strb r0, [r1] _0800A838: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0800A840: .4byte 0x040000D4 _0800A844: .4byte 0x0201B180 _0800A848: .4byte 0x0600E000 @@ -20459,115 +20459,115 @@ _0800A850: .4byte 0x000002EE _0800A854: .4byte 0x0202ADA0 _0800A858: .4byte 0x0202C790 - thumb_func_start nullsub_8 + thumb_func_start nullsub_8 nullsub_8: @ 0x0800A85C - bx lr + bx lr - thumb_func_start sub_A860 + thumb_func_start sub_A860 sub_A860: @ 0x0800A860 - push {lr} - bl sub_10480 - bl sub_10544 - ldr r1, _0800A878 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_10480 + bl sub_10544 + ldr r1, _0800A878 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 _0800A878: .4byte 0x0202C790 - thumb_func_start sub_A87C + thumb_func_start sub_A87C sub_A87C: @ 0x0800A87C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r4, _0800A92C @ =0x0200B0C0 - ldrh r0, [r4, #0x38] - ldr r0, _0800A930 @ =0x00001F50 - strh r0, [r4, #0x38] - ldrh r0, [r4, #0x3a] - ldr r0, _0800A934 @ =0x00000808 - strh r0, [r4, #0x3a] - ldr r1, _0800A938 @ =0x04000050 - ldrh r0, [r4, #0x38] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r4, #0x3a] - strh r0, [r1] - movs r0, #0xbe - lsls r0, r0, #2 - adds r5, r4, r0 - movs r0, #1 - strh r0, [r5] - ldr r0, _0800A93C @ =0x086A795C - movs r1, #1 - adds r2, r5, #0 - bl sub_358 - ldrh r0, [r5] - cmp r0, #1 - bne _0800A91C - ldr r0, _0800A940 @ =0x0201A450 - ldrh r1, [r0] - strh r1, [r5, #2] - ldrh r0, [r0, #2] - strh r0, [r5, #4] - ldr r7, _0800A944 @ =0x03005000 - movs r2, #0xd - rsbs r2, r2, #0 - mov r8, r2 - ldr r0, _0800A948 @ =0xFFFFFE00 - mov ip, r0 - movs r2, #0xc0 - lsls r2, r2, #2 - adds r4, r4, r2 - movs r6, #3 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r4, _0800A92C @ =0x0200B0C0 + ldrh r0, [r4, #0x38] + ldr r0, _0800A930 @ =0x00001F50 + strh r0, [r4, #0x38] + ldrh r0, [r4, #0x3a] + ldr r0, _0800A934 @ =0x00000808 + strh r0, [r4, #0x3a] + ldr r1, _0800A938 @ =0x04000050 + ldrh r0, [r4, #0x38] + strh r0, [r1] + adds r1, #2 + ldrh r0, [r4, #0x3a] + strh r0, [r1] + movs r0, #0xbe + lsls r0, r0, #2 + adds r5, r4, r0 + movs r0, #1 + strh r0, [r5] + ldr r0, _0800A93C @ =0x086A795C + movs r1, #1 + adds r2, r5, #0 + bl sub_358 + ldrh r0, [r5] + cmp r0, #1 + bne _0800A91C + ldr r0, _0800A940 @ =0x0201A450 + ldrh r1, [r0] + strh r1, [r5, #2] + ldrh r0, [r0, #2] + strh r0, [r5, #4] + ldr r7, _0800A944 @ =0x03005000 + movs r2, #0xd + rsbs r2, r2, #0 + mov r8, r2 + ldr r0, _0800A948 @ =0xFFFFFE00 + mov ip, r0 + movs r2, #0xc0 + lsls r2, r2, #2 + adds r4, r4, r2 + movs r6, #3 _0800A8D4: - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r7 - ldrb r1, [r2, #5] - mov r0, r8 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r7 - movs r0, #2 - ldrsh r1, [r4, r0] - movs r2, #2 - ldrsh r0, [r5, r2] - adds r1, r1, r0 - ldr r2, _0800A94C @ =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, [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 _0800A8D4 + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r7 + ldrb r1, [r2, #5] + mov r0, r8 + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r7 + movs r0, #2 + ldrsh r1, [r4, r0] + movs r2, #2 + ldrsh r0, [r5, r2] + adds r1, r1, r0 + ldr r2, _0800A94C @ =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, [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 _0800A8D4 _0800A91C: - movs r0, #0 - strh r0, [r5] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + movs r0, #0 + strh r0, [r5] + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800A92C: .4byte 0x0200B0C0 _0800A930: .4byte 0x00001F50 _0800A934: .4byte 0x00000808 @@ -20578,134 +20578,134 @@ _0800A944: .4byte 0x03005000 _0800A948: .4byte 0xFFFFFE00 _0800A94C: .4byte 0x000001FF - thumb_func_start sub_A950 + thumb_func_start sub_A950 sub_A950: @ 0x0800A950 - push {lr} - bl sub_518 - ldr r1, _0800A964 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_518 + ldr r1, _0800A964 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 _0800A964: .4byte 0x0202C790 - thumb_func_start sub_A968 + thumb_func_start sub_A968 sub_A968: @ 0x0800A968 - push {r4, lr} - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r0, #0 - strh r0, [r2] - ldr r1, _0800AA50 @ =0x04000008 - movs r3, #0xcc - lsls r3, r3, #8 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800AA54 @ =0x0400000A - ldr r3, _0800AA58 @ =0x0000DA01 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #2 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800AA5C @ =0x0400000E - ldr r3, _0800AA60 @ =0x00001E03 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _0800AA64 @ =0x040000D4 - ldr r1, _0800AA68 @ =0x080E5F60 - str r1, [r0] - ldr r1, _0800AA6C @ =0x06006000 - str r1, [r0, #4] - ldr r3, _0800AA70 @ =0x80001000 - str r3, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800AA74 @ =0x080E7F60 - str r1, [r0] - ldr r1, _0800AA78 @ =0x0600D000 - str r1, [r0, #4] - str r3, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800AA7C @ =0x080E1740 - str r1, [r0] - ldr r1, _0800AA80 @ =0x0600F000 - str r1, [r0, #4] - ldr r1, _0800AA84 @ =0x80000400 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800AA88 @ =0x080E1F40 - str r1, [r0] - movs r1, #0xc0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r1, _0800AA8C @ =0x80002000 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800AA90 @ =0x080E1540 - str r1, [r0] - movs r1, #0xa0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r1, _0800AA94 @ =0x80000030 - str r1, [r0, #8] - ldr r0, [r0, #8] - ldr r4, _0800AA98 @ =0x0200B0C0 - ldrh r0, [r2] - strh r0, [r4, #0x16] - bl sub_AAA8 - ldr r2, _0800AA9C @ =0x0202ADA0 - ldrh r1, [r2] - movs r3, #0xba - lsls r3, r3, #2 - adds r0, r4, r3 - strh r1, [r0] - ldrh r1, [r2, #2] - adds r3, #2 - adds r0, r4, r3 - strh r1, [r0] - ldrh r1, [r2, #0xc] - adds r3, #2 - adds r0, r4, r3 - strh r1, [r0] - ldrh r1, [r2, #0xe] - adds r3, #2 - adds r0, r4, r3 - strh r1, [r0] - ldrh r1, [r2, #0x18] - adds r3, #6 - adds r0, r4, r3 - strh r1, [r0] - ldrh r0, [r2, #0x1a] - ldr r1, _0800AAA0 @ =0x000002F6 - adds r4, r4, r1 - strh r0, [r4] - bl sub_CBC - bl sub_10424 - ldr r1, _0800AAA4 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r0, #0 + strh r0, [r2] + ldr r1, _0800AA50 @ =0x04000008 + movs r3, #0xcc + lsls r3, r3, #8 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #1 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800AA54 @ =0x0400000A + ldr r3, _0800AA58 @ =0x0000DA01 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #2 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800AA5C @ =0x0400000E + ldr r3, _0800AA60 @ =0x00001E03 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r0, _0800AA64 @ =0x040000D4 + ldr r1, _0800AA68 @ =0x080E5F60 + str r1, [r0] + ldr r1, _0800AA6C @ =0x06006000 + str r1, [r0, #4] + ldr r3, _0800AA70 @ =0x80001000 + str r3, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800AA74 @ =0x080E7F60 + str r1, [r0] + ldr r1, _0800AA78 @ =0x0600D000 + str r1, [r0, #4] + str r3, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800AA7C @ =0x080E1740 + str r1, [r0] + ldr r1, _0800AA80 @ =0x0600F000 + str r1, [r0, #4] + ldr r1, _0800AA84 @ =0x80000400 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800AA88 @ =0x080E1F40 + str r1, [r0] + movs r1, #0xc0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r1, _0800AA8C @ =0x80002000 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800AA90 @ =0x080E1540 + str r1, [r0] + movs r1, #0xa0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r1, _0800AA94 @ =0x80000030 + str r1, [r0, #8] + ldr r0, [r0, #8] + ldr r4, _0800AA98 @ =0x0200B0C0 + ldrh r0, [r2] + strh r0, [r4, #0x16] + bl sub_AAA8 + ldr r2, _0800AA9C @ =0x0202ADA0 + ldrh r1, [r2] + movs r3, #0xba + lsls r3, r3, #2 + adds r0, r4, r3 + strh r1, [r0] + ldrh r1, [r2, #2] + adds r3, #2 + adds r0, r4, r3 + strh r1, [r0] + ldrh r1, [r2, #0xc] + adds r3, #2 + adds r0, r4, r3 + strh r1, [r0] + ldrh r1, [r2, #0xe] + adds r3, #2 + adds r0, r4, r3 + strh r1, [r0] + ldrh r1, [r2, #0x18] + adds r3, #6 + adds r0, r4, r3 + strh r1, [r0] + ldrh r0, [r2, #0x1a] + ldr r1, _0800AAA0 @ =0x000002F6 + adds r4, r4, r1 + strh r0, [r4] + bl sub_CBC + bl sub_10424 + ldr r1, _0800AAA4 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #2 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800AA50: .4byte 0x04000008 _0800AA54: .4byte 0x0400000A _0800AA58: .4byte 0x0000DA01 @@ -20729,33 +20729,33 @@ _0800AA9C: .4byte 0x0202ADA0 _0800AAA0: .4byte 0x000002F6 _0800AAA4: .4byte 0x0202C790 - thumb_func_start sub_AAA8 + thumb_func_start sub_AAA8 sub_AAA8: @ 0x0800AAA8 - ldr r0, _0800AAD8 @ =0x0202ADA0 - movs r2, #0 - movs r1, #0x1c - strh r1, [r0] - ldr r1, _0800AADC @ =0x0000FF20 - strh r1, [r0, #2] - strh r2, [r0, #4] - movs r1, #0xf - strh r1, [r0, #6] - ldr r1, _0800AAE0 @ =0x0000FF64 - strh r1, [r0, #0xc] - movs r1, #0xe0 - strh r1, [r0, #0xe] - strh r2, [r0, #0x10] - ldr r1, _0800AAE4 @ =0x0000FFF1 - strh r1, [r0, #0x12] - strh r2, [r0, #0x18] - strh r2, [r0, #0x1a] - strh r2, [r0, #0x20] - ldr r0, _0800AAE8 @ =0x0202BF10 - strh r2, [r0] - ldr r0, _0800AAEC @ =0x0202A578 - strh r2, [r0] - bx lr - .align 2, 0 + ldr r0, _0800AAD8 @ =0x0202ADA0 + movs r2, #0 + movs r1, #0x1c + strh r1, [r0] + ldr r1, _0800AADC @ =0x0000FF20 + strh r1, [r0, #2] + strh r2, [r0, #4] + movs r1, #0xf + strh r1, [r0, #6] + ldr r1, _0800AAE0 @ =0x0000FF64 + strh r1, [r0, #0xc] + movs r1, #0xe0 + strh r1, [r0, #0xe] + strh r2, [r0, #0x10] + ldr r1, _0800AAE4 @ =0x0000FFF1 + strh r1, [r0, #0x12] + strh r2, [r0, #0x18] + strh r2, [r0, #0x1a] + strh r2, [r0, #0x20] + ldr r0, _0800AAE8 @ =0x0202BF10 + strh r2, [r0] + ldr r0, _0800AAEC @ =0x0202A578 + strh r2, [r0] + bx lr + .align 2, 0 _0800AAD8: .4byte 0x0202ADA0 _0800AADC: .4byte 0x0000FF20 _0800AAE0: .4byte 0x0000FF64 @@ -20763,334 +20763,334 @@ _0800AAE4: .4byte 0x0000FFF1 _0800AAE8: .4byte 0x0202BF10 _0800AAEC: .4byte 0x0202A578 - thumb_func_start nullsub_9 + thumb_func_start nullsub_9 nullsub_9: @ 0x0800AAF0 - bx lr + bx lr - thumb_func_start sub_AAF4 + thumb_func_start sub_AAF4 sub_AAF4: @ 0x0800AAF4 - push {r4, lr} - ldr r3, _0800AB7C @ =0x0202ADA0 - ldrh r4, [r3, #6] - ldrh r1, [r3, #2] - adds r0, r4, r1 - strh r0, [r3, #2] - ldrh r2, [r3, #0x12] - ldrh r1, [r3, #0xe] - adds r0, r2, r1 - strh r0, [r3, #0xe] - ldrh r0, [r3, #0x18] - subs r0, #1 - strh r0, [r3, #0x18] - ldrh r0, [r3] - subs r0, #1 - strh r0, [r3] - ldrh r0, [r3, #0xc] - adds r0, #1 - strh r0, [r3, #0xc] - ldr r0, _0800AB80 @ =0x0202BF10 - ldrh r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0800AB2E - subs r0, r4, #1 - strh r0, [r3, #6] - adds r0, r2, #1 - strh r0, [r3, #0x12] + push {r4, lr} + ldr r3, _0800AB7C @ =0x0202ADA0 + ldrh r4, [r3, #6] + ldrh r1, [r3, #2] + adds r0, r4, r1 + strh r0, [r3, #2] + ldrh r2, [r3, #0x12] + ldrh r1, [r3, #0xe] + adds r0, r2, r1 + strh r0, [r3, #0xe] + ldrh r0, [r3, #0x18] + subs r0, #1 + strh r0, [r3, #0x18] + ldrh r0, [r3] + subs r0, #1 + strh r0, [r3] + ldrh r0, [r3, #0xc] + adds r0, #1 + strh r0, [r3, #0xc] + ldr r0, _0800AB80 @ =0x0202BF10 + ldrh r0, [r0] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + bne _0800AB2E + subs r0, r4, #1 + strh r0, [r3, #6] + adds r0, r2, #1 + strh r0, [r3, #0x12] _0800AB2E: - ldr r1, _0800AB84 @ =0x0200B0C0 - ldrh r2, [r3] - movs r4, #0xba - lsls r4, r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #2] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0xc] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0xe] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r0, [r3, #0x18] - movs r2, #0xbd - lsls r2, r2, #2 - adds r1, r1, r2 - strh r0, [r1] - ldrh r0, [r3, #0x20] - adds r0, #1 - strh r0, [r3, #0x20] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x27 - ble _0800AB76 - movs r0, #0 - strh r0, [r3, #0x20] - ldr r1, _0800AB88 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] + ldr r1, _0800AB84 @ =0x0200B0C0 + ldrh r2, [r3] + movs r4, #0xba + lsls r4, r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #2] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0xc] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0xe] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r0, [r3, #0x18] + movs r2, #0xbd + lsls r2, r2, #2 + adds r1, r1, r2 + strh r0, [r1] + ldrh r0, [r3, #0x20] + adds r0, #1 + strh r0, [r3, #0x20] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x27 + ble _0800AB76 + movs r0, #0 + strh r0, [r3, #0x20] + ldr r1, _0800AB88 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #2 + strb r0, [r1] _0800AB76: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800AB7C: .4byte 0x0202ADA0 _0800AB80: .4byte 0x0202BF10 _0800AB84: .4byte 0x0200B0C0 _0800AB88: .4byte 0x0202C790 - thumb_func_start nullsub_10 + thumb_func_start nullsub_10 nullsub_10: @ 0x0800AB8C - bx lr + bx lr - thumb_func_start sub_AB90 + thumb_func_start sub_AB90 sub_AB90: @ 0x0800AB8E - push {r4, lr} - ldr r3, _0800AC10 @ =0x0202ADA0 - ldrh r4, [r3, #6] - ldrh r1, [r3, #2] - adds r0, r4, r1 - strh r0, [r3, #2] - ldrh r2, [r3, #0x12] - ldrh r1, [r3, #0xe] - adds r0, r2, r1 - strh r0, [r3, #0xe] - ldrh r0, [r3, #0x18] - subs r0, #1 - strh r0, [r3, #0x18] - ldrh r0, [r3] - subs r0, #1 - strh r0, [r3] - ldrh r0, [r3, #0xc] - adds r0, #1 - strh r0, [r3, #0xc] - ldr r0, _0800AC14 @ =0x0202BF10 - ldrh r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0800ABCA - subs r0, r4, #1 - strh r0, [r3, #6] - adds r0, r2, #1 - strh r0, [r3, #0x12] + push {r4, lr} + ldr r3, _0800AC10 @ =0x0202ADA0 + ldrh r4, [r3, #6] + ldrh r1, [r3, #2] + adds r0, r4, r1 + strh r0, [r3, #2] + ldrh r2, [r3, #0x12] + ldrh r1, [r3, #0xe] + adds r0, r2, r1 + strh r0, [r3, #0xe] + ldrh r0, [r3, #0x18] + subs r0, #1 + strh r0, [r3, #0x18] + ldrh r0, [r3] + subs r0, #1 + strh r0, [r3] + ldrh r0, [r3, #0xc] + adds r0, #1 + strh r0, [r3, #0xc] + ldr r0, _0800AC14 @ =0x0202BF10 + ldrh r0, [r0] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + bne _0800ABCA + subs r0, r4, #1 + strh r0, [r3, #6] + adds r0, r2, #1 + strh r0, [r3, #0x12] _0800ABCA: - ldr r1, _0800AC18 @ =0x0200B0C0 - ldrh r2, [r3] - movs r4, #0xba - lsls r4, r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #2] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0xc] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0xe] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r0, [r3, #0x18] - movs r2, #0xbd - lsls r2, r2, #2 - adds r1, r1, r2 - strh r0, [r1] - bl sub_10480 - bl sub_10544 - ldr r1, _0800AC1C @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + ldr r1, _0800AC18 @ =0x0200B0C0 + ldrh r2, [r3] + movs r4, #0xba + lsls r4, r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #2] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0xc] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0xe] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r0, [r3, #0x18] + movs r2, #0xbd + lsls r2, r2, #2 + adds r1, r1, r2 + strh r0, [r1] + bl sub_10480 + bl sub_10544 + ldr r1, _0800AC1C @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800AC10: .4byte 0x0202ADA0 _0800AC14: .4byte 0x0202BF10 _0800AC18: .4byte 0x0200B0C0 _0800AC1C: .4byte 0x0202C790 - thumb_func_start sub_AC20 + thumb_func_start sub_AC20 sub_AC20: @ 0x0800AC20 - push {lr} - bl sub_518 - ldr r1, _0800AC34 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_518 + ldr r1, _0800AC34 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 _0800AC34: .4byte 0x0202C790 - thumb_func_start sub_AC38 + thumb_func_start sub_AC38 sub_AC38: @ 0x0800AC38 - push {r4, lr} - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x80 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _0800AD78 @ =0x04000008 - movs r3, #0xc0 - lsls r3, r3, #4 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #1 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800AD7C @ =0x0400000A - ldr r3, _0800AD80 @ =0x00004E01 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #2 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800AD84 @ =0x0400000C - ldr r3, _0800AD88 @ =0x00005C02 - adds r0, r3, #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, _0800AD8C @ =0x0400000E - ldr r3, _0800AD90 @ =0x00001E03 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #4 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _0800AD94 @ =0x040000D4 - ldr r1, _0800AD98 @ =0x080F1980 - str r1, [r0] - ldr r1, _0800AD9C @ =0x06006000 - str r1, [r0, #4] - ldr r3, _0800ADA0 @ =0x80000400 - str r3, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800ADA4 @ =0x080EB160 - str r1, [r0] - ldr r1, _0800ADA8 @ =0x06007000 - str r1, [r0, #4] - ldr r2, _0800ADAC @ =0x80000800 - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800ADB0 @ =0x080EA160 - str r1, [r0] - ldr r1, _0800ADB4 @ =0x0600E000 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800ADB8 @ =0x080EC160 - str r1, [r0] - ldr r1, _0800ADBC @ =0x0600F000 - str r1, [r0, #4] - str r3, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800ADC0 @ =0x080EC960 - str r1, [r0] - movs r1, #0xc0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r1, _0800ADC4 @ =0x80001400 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800ADC8 @ =0x080BD4C0 - str r1, [r0] - ldr r1, _0800ADCC @ =0x03000000 - str r1, [r0, #4] - ldr r1, _0800ADD0 @ =0x80002000 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r3, _0800ADD4 @ =0x080E9F60 - str r3, [r0] - movs r1, #0xa0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r2, _0800ADD8 @ =0x800000C0 - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800ADDC @ =0x080F2180 - str r1, [r0] - ldr r1, _0800ADE0 @ =0x06010000 - str r1, [r0, #4] - ldr r1, _0800ADE4 @ =0x80001800 - str r1, [r0, #8] - ldr r1, [r0, #8] - str r3, [r0] - ldr r1, _0800ADE8 @ =0x05000200 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r0, [r0, #8] - bl sub_ADFC - bl sub_B0E8 - ldr r1, _0800ADEC @ =0x0200B0C0 - ldr r2, _0800ADF0 @ =0x0202ADA0 - ldrh r3, [r2] - movs r4, #0xba - lsls r4, r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #2] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0xc] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0xe] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0x18] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0x1a] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0x24] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r0, [r2, #0x26] - ldr r2, _0800ADF4 @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - bl sub_CBC - bl sub_10424 - ldr r1, _0800ADF8 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x80 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _0800AD78 @ =0x04000008 + movs r3, #0xc0 + lsls r3, r3, #4 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r4, #0x80 + lsls r4, r4, #1 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800AD7C @ =0x0400000A + ldr r3, _0800AD80 @ =0x00004E01 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r4, #0x80 + lsls r4, r4, #2 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800AD84 @ =0x0400000C + ldr r3, _0800AD88 @ =0x00005C02 + adds r0, r3, #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, _0800AD8C @ =0x0400000E + ldr r3, _0800AD90 @ =0x00001E03 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r4, #0x80 + lsls r4, r4, #4 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + ldr r0, _0800AD94 @ =0x040000D4 + ldr r1, _0800AD98 @ =0x080F1980 + str r1, [r0] + ldr r1, _0800AD9C @ =0x06006000 + str r1, [r0, #4] + ldr r3, _0800ADA0 @ =0x80000400 + str r3, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800ADA4 @ =0x080EB160 + str r1, [r0] + ldr r1, _0800ADA8 @ =0x06007000 + str r1, [r0, #4] + ldr r2, _0800ADAC @ =0x80000800 + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800ADB0 @ =0x080EA160 + str r1, [r0] + ldr r1, _0800ADB4 @ =0x0600E000 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800ADB8 @ =0x080EC160 + str r1, [r0] + ldr r1, _0800ADBC @ =0x0600F000 + str r1, [r0, #4] + str r3, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800ADC0 @ =0x080EC960 + str r1, [r0] + movs r1, #0xc0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r1, _0800ADC4 @ =0x80001400 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800ADC8 @ =0x080BD4C0 + str r1, [r0] + ldr r1, _0800ADCC @ =0x03000000 + str r1, [r0, #4] + ldr r1, _0800ADD0 @ =0x80002000 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r3, _0800ADD4 @ =0x080E9F60 + str r3, [r0] + movs r1, #0xa0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r2, _0800ADD8 @ =0x800000C0 + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800ADDC @ =0x080F2180 + str r1, [r0] + ldr r1, _0800ADE0 @ =0x06010000 + str r1, [r0, #4] + ldr r1, _0800ADE4 @ =0x80001800 + str r1, [r0, #8] + ldr r1, [r0, #8] + str r3, [r0] + ldr r1, _0800ADE8 @ =0x05000200 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r0, [r0, #8] + bl sub_ADFC + bl sub_B0E8 + ldr r1, _0800ADEC @ =0x0200B0C0 + ldr r2, _0800ADF0 @ =0x0202ADA0 + ldrh r3, [r2] + movs r4, #0xba + lsls r4, r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #2] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0xc] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0xe] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0x18] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0x1a] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0x24] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r0, [r2, #0x26] + ldr r2, _0800ADF4 @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + bl sub_CBC + bl sub_10424 + ldr r1, _0800ADF8 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800AD78: .4byte 0x04000008 _0800AD7C: .4byte 0x0400000A _0800AD80: .4byte 0x00004E01 @@ -21125,52 +21125,52 @@ _0800ADF0: .4byte 0x0202ADA0 _0800ADF4: .4byte 0x000002F6 _0800ADF8: .4byte 0x0202C790 - thumb_func_start sub_ADFC + thumb_func_start sub_ADFC sub_ADFC: @ 0x0800ADFC - push {r4, r5, lr} - ldr r1, _0800AE54 @ =0x0201A450 - movs r5, #0 - movs r2, #0xb4 - strh r2, [r1, #0x10] - ldr r0, _0800AE58 @ =0x0000FFBC - strh r0, [r1, #0x12] - strh r2, [r1] - strh r0, [r1, #2] - movs r0, #0x80 - strh r0, [r1, #0x20] - movs r0, #0x88 - strh r0, [r1, #0x22] - ldr r4, _0800AE5C @ =0x0202ADA0 - ldr r0, _0800AE60 @ =0x0000FF58 - strh r0, [r4] - adds r0, #0x40 - strh r0, [r4, #2] - strh r5, [r4, #8] - strh r5, [r4, #0xa] - strh r5, [r4, #4] - ldr r0, _0800AE64 @ =0x03002300 - ldr r1, _0800AE68 @ =0x06002EE0 - movs r2, #8 - movs r3, #8 - bl sub_10708 - movs r0, #0xa5 - strh r0, [r4, #0xc] - strh r5, [r4, #0xe] - strh r5, [r4, #0x14] - movs r0, #0xa0 - strh r0, [r4, #0x18] - strh r5, [r4, #0x1a] - strh r5, [r4, #0x20] - strh r5, [r4, #0x24] - strh r5, [r4, #0x26] - ldr r0, _0800AE6C @ =0x0202BF10 - strh r5, [r0] - ldr r0, _0800AE70 @ =0x0202A578 - strh r5, [r0] - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, lr} + ldr r1, _0800AE54 @ =0x0201A450 + movs r5, #0 + movs r2, #0xb4 + strh r2, [r1, #0x10] + ldr r0, _0800AE58 @ =0x0000FFBC + strh r0, [r1, #0x12] + strh r2, [r1] + strh r0, [r1, #2] + movs r0, #0x80 + strh r0, [r1, #0x20] + movs r0, #0x88 + strh r0, [r1, #0x22] + ldr r4, _0800AE5C @ =0x0202ADA0 + ldr r0, _0800AE60 @ =0x0000FF58 + strh r0, [r4] + adds r0, #0x40 + strh r0, [r4, #2] + strh r5, [r4, #8] + strh r5, [r4, #0xa] + strh r5, [r4, #4] + ldr r0, _0800AE64 @ =0x03002300 + ldr r1, _0800AE68 @ =0x06002EE0 + movs r2, #8 + movs r3, #8 + bl sub_10708 + movs r0, #0xa5 + strh r0, [r4, #0xc] + strh r5, [r4, #0xe] + strh r5, [r4, #0x14] + movs r0, #0xa0 + strh r0, [r4, #0x18] + strh r5, [r4, #0x1a] + strh r5, [r4, #0x20] + strh r5, [r4, #0x24] + strh r5, [r4, #0x26] + ldr r0, _0800AE6C @ =0x0202BF10 + strh r5, [r0] + ldr r0, _0800AE70 @ =0x0202A578 + strh r5, [r0] + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0800AE54: .4byte 0x0201A450 _0800AE58: .4byte 0x0000FFBC _0800AE5C: .4byte 0x0202ADA0 @@ -21180,124 +21180,124 @@ _0800AE68: .4byte 0x06002EE0 _0800AE6C: .4byte 0x0202BF10 _0800AE70: .4byte 0x0202A578 - thumb_func_start sub_AE74 + thumb_func_start sub_AE74 sub_AE74: @ 0x0800AE74 - push {r4, lr} - ldr r1, _0800AF5C @ =0x0201A450 - ldrh r0, [r1, #0x10] - subs r0, #0x10 - strh r0, [r1, #0x10] - ldrh r0, [r1, #0x12] - adds r0, #0xa - strh r0, [r1, #0x12] - ldrh r0, [r1] - subs r0, #0x10 - strh r0, [r1] - ldrh r0, [r1, #2] - adds r0, #0xa - strh r0, [r1, #2] - ldrh r0, [r1, #0x20] - adds r0, #5 - strh r0, [r1, #0x20] - ldrh r0, [r1, #0x22] - subs r0, #3 - strh r0, [r1, #0x22] - ldr r4, _0800AF60 @ =0x0202ADA0 - ldrh r0, [r4, #0xc] - subs r0, #0x10 - strh r0, [r4, #0xc] - ldrh r0, [r4, #0xe] - adds r0, #1 - strh r0, [r4, #0xe] - ldrh r0, [r4, #0x18] - subs r0, #0x10 - strh r0, [r4, #0x18] - ldrh r1, [r4, #4] - ldrh r2, [r4] - adds r0, r1, r2 - strh r0, [r4] - ldrh r0, [r4, #2] - adds r0, #9 - strh r0, [r4, #2] - adds r1, #1 - strh r1, [r4, #4] - ldrh r0, [r4, #0xa] - adds r0, #1 - strh r0, [r4, #0xa] - ldr r2, _0800AF64 @ =0x086A79FC - movs r3, #8 - ldrsh r1, [r4, r3] - lsls r1, r1, #2 - adds r1, r1, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r2, #2 - ldrsh r1, [r1, r2] - cmp r0, r1 - ble _0800AF02 - ldrh r0, [r4, #8] - adds r0, #1 - strh r0, [r4, #8] - ldr r1, _0800AF68 @ =0x086A7A1C - movs r3, #8 - ldrsh r0, [r4, r3] - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - lsls r0, r0, #1 - ldr r1, _0800AF6C @ =0x03000000 - adds r0, r0, r1 - ldr r1, _0800AF70 @ =0x06002EE0 - movs r2, #8 - movs r3, #8 - bl sub_10708 + push {r4, lr} + ldr r1, _0800AF5C @ =0x0201A450 + ldrh r0, [r1, #0x10] + subs r0, #0x10 + strh r0, [r1, #0x10] + ldrh r0, [r1, #0x12] + adds r0, #0xa + strh r0, [r1, #0x12] + ldrh r0, [r1] + subs r0, #0x10 + strh r0, [r1] + ldrh r0, [r1, #2] + adds r0, #0xa + strh r0, [r1, #2] + ldrh r0, [r1, #0x20] + adds r0, #5 + strh r0, [r1, #0x20] + ldrh r0, [r1, #0x22] + subs r0, #3 + strh r0, [r1, #0x22] + ldr r4, _0800AF60 @ =0x0202ADA0 + ldrh r0, [r4, #0xc] + subs r0, #0x10 + strh r0, [r4, #0xc] + ldrh r0, [r4, #0xe] + adds r0, #1 + strh r0, [r4, #0xe] + ldrh r0, [r4, #0x18] + subs r0, #0x10 + strh r0, [r4, #0x18] + ldrh r1, [r4, #4] + ldrh r2, [r4] + adds r0, r1, r2 + strh r0, [r4] + ldrh r0, [r4, #2] + adds r0, #9 + strh r0, [r4, #2] + adds r1, #1 + strh r1, [r4, #4] + ldrh r0, [r4, #0xa] + adds r0, #1 + strh r0, [r4, #0xa] + ldr r2, _0800AF64 @ =0x086A79FC + movs r3, #8 + ldrsh r1, [r4, r3] + lsls r1, r1, #2 + adds r1, r1, r2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r2, #2 + ldrsh r1, [r1, r2] + cmp r0, r1 + ble _0800AF02 + ldrh r0, [r4, #8] + adds r0, #1 + strh r0, [r4, #8] + ldr r1, _0800AF68 @ =0x086A7A1C + movs r3, #8 + ldrsh r0, [r4, r3] + lsls r0, r0, #1 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + lsls r0, r0, #1 + ldr r1, _0800AF6C @ =0x03000000 + adds r0, r0, r1 + ldr r1, _0800AF70 @ =0x06002EE0 + movs r2, #8 + movs r3, #8 + bl sub_10708 _0800AF02: - bl sub_B0E8 - ldr r1, _0800AF74 @ =0x0200B0C0 - ldrh r2, [r4] - movs r3, #0xba - lsls r3, r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #2] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0xc] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0xe] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0x18] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r4, #0x1a] - ldr r2, _0800AF78 @ =0x000002F2 - adds r1, r1, r2 - strh r0, [r1] - ldrh r0, [r4, #0x20] - adds r0, #1 - strh r0, [r4, #0x20] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #9 - ble _0800AF54 - movs r0, #0 - strh r0, [r4, #0x20] - ldr r1, _0800AF7C @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + bl sub_B0E8 + ldr r1, _0800AF74 @ =0x0200B0C0 + ldrh r2, [r4] + movs r3, #0xba + lsls r3, r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #2] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0xc] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0xe] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0x18] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r0, [r4, #0x1a] + ldr r2, _0800AF78 @ =0x000002F2 + adds r1, r1, r2 + strh r0, [r1] + ldrh r0, [r4, #0x20] + adds r0, #1 + strh r0, [r4, #0x20] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #9 + ble _0800AF54 + movs r0, #0 + strh r0, [r4, #0x20] + ldr r1, _0800AF7C @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800AF54: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800AF5C: .4byte 0x0201A450 _0800AF60: .4byte 0x0202ADA0 _0800AF64: .4byte 0x086A79FC @@ -21308,123 +21308,123 @@ _0800AF74: .4byte 0x0200B0C0 _0800AF78: .4byte 0x000002F2 _0800AF7C: .4byte 0x0202C790 - thumb_func_start sub_AF80 + thumb_func_start sub_AF80 sub_AF80: @ 0x0800AF80 - push {r4, lr} - ldr r3, _0800B064 @ =0x0202ADA0 - ldrh r0, [r3, #0xa] - adds r0, #1 - strh r0, [r3, #0xa] - ldr r2, _0800B068 @ =0x086A79FC - movs r4, #8 - ldrsh r1, [r3, r4] - lsls r1, r1, #2 - adds r1, r1, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r2, #2 - ldrsh r1, [r1, r2] - cmp r0, r1 - ble _0800AFCC - ldrh r1, [r3, #8] - movs r4, #8 - ldrsh r0, [r3, r4] - cmp r0, #6 - bgt _0800AFCC - adds r0, r1, #1 - strh r0, [r3, #8] - ldr r1, _0800B06C @ =0x086A7A1C - movs r2, #8 - ldrsh r0, [r3, r2] - lsls r0, r0, #1 - adds r0, r0, r1 - movs r4, #0 - ldrsh r0, [r0, r4] - lsls r0, r0, #1 - ldr r1, _0800B070 @ =0x03000000 - adds r0, r0, r1 - ldr r1, _0800B074 @ =0x06002EE0 - movs r2, #8 - movs r3, #8 - bl sub_10708 + push {r4, lr} + ldr r3, _0800B064 @ =0x0202ADA0 + ldrh r0, [r3, #0xa] + adds r0, #1 + strh r0, [r3, #0xa] + ldr r2, _0800B068 @ =0x086A79FC + movs r4, #8 + ldrsh r1, [r3, r4] + lsls r1, r1, #2 + adds r1, r1, r2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r2, #2 + ldrsh r1, [r1, r2] + cmp r0, r1 + ble _0800AFCC + ldrh r1, [r3, #8] + movs r4, #8 + ldrsh r0, [r3, r4] + cmp r0, #6 + bgt _0800AFCC + adds r0, r1, #1 + strh r0, [r3, #8] + ldr r1, _0800B06C @ =0x086A7A1C + movs r2, #8 + ldrsh r0, [r3, r2] + lsls r0, r0, #1 + adds r0, r0, r1 + movs r4, #0 + ldrsh r0, [r0, r4] + lsls r0, r0, #1 + ldr r1, _0800B070 @ =0x03000000 + adds r0, r0, r1 + ldr r1, _0800B074 @ =0x06002EE0 + movs r2, #8 + movs r3, #8 + bl sub_10708 _0800AFCC: - bl sub_B0E8 - ldr r3, _0800B064 @ =0x0202ADA0 - ldrh r0, [r3, #0x24] - adds r0, #1 - strh r0, [r3, #0x24] - ldr r0, _0800B078 @ =0x0202BF10 - ldrh r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0800AFFE - ldr r1, _0800B07C @ =0x0201A450 - ldrh r0, [r1, #0x10] - subs r0, #1 - strh r0, [r1, #0x10] - ldrh r0, [r1, #0x12] - adds r0, #1 - strh r0, [r1, #0x12] - ldrh r0, [r1] - subs r0, #2 - strh r0, [r1] - ldrh r0, [r1, #2] - adds r0, #2 - strh r0, [r1, #2] + bl sub_B0E8 + ldr r3, _0800B064 @ =0x0202ADA0 + ldrh r0, [r3, #0x24] + adds r0, #1 + strh r0, [r3, #0x24] + ldr r0, _0800B078 @ =0x0202BF10 + ldrh r0, [r0] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + bne _0800AFFE + ldr r1, _0800B07C @ =0x0201A450 + ldrh r0, [r1, #0x10] + subs r0, #1 + strh r0, [r1, #0x10] + ldrh r0, [r1, #0x12] + adds r0, #1 + strh r0, [r1, #0x12] + ldrh r0, [r1] + subs r0, #2 + strh r0, [r1] + ldrh r0, [r1, #2] + adds r0, #2 + strh r0, [r1, #2] _0800AFFE: - ldr r1, _0800B080 @ =0x0200B0C0 - ldrh r2, [r3] - movs r4, #0xba - lsls r4, r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #2] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0xc] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0xe] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0x18] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0x1a] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0x24] - adds r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r0, [r3, #0x26] - ldr r2, _0800B084 @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - ldrh r0, [r3, #0x2c] - adds r0, #1 - strh r0, [r3, #0x2c] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x1d - ble _0800B05C - movs r0, #0 - strh r0, [r3, #0x2c] - ldr r1, _0800B088 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] + ldr r1, _0800B080 @ =0x0200B0C0 + ldrh r2, [r3] + movs r4, #0xba + lsls r4, r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #2] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0xc] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0xe] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0x18] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0x1a] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0x24] + adds r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r0, [r3, #0x26] + ldr r2, _0800B084 @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + ldrh r0, [r3, #0x2c] + adds r0, #1 + strh r0, [r3, #0x2c] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x1d + ble _0800B05C + movs r0, #0 + strh r0, [r3, #0x2c] + ldr r1, _0800B088 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #2 + strb r0, [r1] _0800B05C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800B064: .4byte 0x0202ADA0 _0800B068: .4byte 0x086A79FC _0800B06C: .4byte 0x086A7A1C @@ -21436,293 +21436,293 @@ _0800B080: .4byte 0x0200B0C0 _0800B084: .4byte 0x000002F6 _0800B088: .4byte 0x0202C790 - thumb_func_start nullsub_11 + thumb_func_start nullsub_11 nullsub_11: @ 0x0800B08C - bx lr + bx lr - thumb_func_start sub_B090 + thumb_func_start sub_B090 sub_B090: @ 0x0800B090 - push {lr} - sub sp, #8 - bl sub_10480 - bl sub_578 - movs r2, #0 - str r2, [sp] - ldr r1, _0800B0D4 @ =0x040000D4 - mov r0, sp - str r0, [r1] - movs r0, #0xe0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _0800B0D8 @ =0x85000100 - str r0, [r1, #8] - ldr r0, [r1, #8] - add r0, sp, #4 - strh r2, [r0] - str r0, [r1] - ldr r0, _0800B0DC @ =0x06010000 - str r0, [r1, #4] - ldr r0, _0800B0E0 @ =0x81002800 - str r0, [r1, #8] - ldr r0, [r1, #8] - bl sub_10544 - ldr r1, _0800B0E4 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - add sp, #8 - pop {r0} - bx r0 - .align 2, 0 + push {lr} + sub sp, #8 + bl sub_10480 + bl sub_578 + movs r2, #0 + str r2, [sp] + ldr r1, _0800B0D4 @ =0x040000D4 + mov r0, sp + str r0, [r1] + movs r0, #0xe0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _0800B0D8 @ =0x85000100 + str r0, [r1, #8] + ldr r0, [r1, #8] + add r0, sp, #4 + strh r2, [r0] + str r0, [r1] + ldr r0, _0800B0DC @ =0x06010000 + str r0, [r1, #4] + ldr r0, _0800B0E0 @ =0x81002800 + str r0, [r1, #8] + ldr r0, [r1, #8] + bl sub_10544 + ldr r1, _0800B0E4 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + add sp, #8 + pop {r0} + bx r0 + .align 2, 0 _0800B0D4: .4byte 0x040000D4 _0800B0D8: .4byte 0x85000100 _0800B0DC: .4byte 0x06010000 _0800B0E0: .4byte 0x81002800 _0800B0E4: .4byte 0x0202C790 - thumb_func_start sub_B0E8 + thumb_func_start sub_B0E8 sub_B0E8: @ 0x0800B0E8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r4, _0800B2C0 @ =0x0200B0C0 - ldrh r0, [r4, #0x38] - movs r0, #0xf1 - lsls r0, r0, #4 - strh r0, [r4, #0x38] - ldrh r0, [r4, #0x3a] - ldr r0, _0800B2C4 @ =0x00000808 - strh r0, [r4, #0x3a] - ldr r1, _0800B2C8 @ =0x04000050 - ldrh r0, [r4, #0x38] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r4, #0x3a] - strh r0, [r1] - movs r0, #0xec - lsls r0, r0, #2 - adds r0, r0, r4 - mov sl, r0 - movs r1, #0xbe - lsls r1, r1, #2 - adds r1, r1, r4 - mov r8, r1 - movs r2, #0x8d - lsls r2, r2, #3 - adds r2, r2, r4 - mov sb, r2 - movs r0, #1 - mov r7, sl - strh r0, [r7] - strh r0, [r1] - strh r0, [r2] - ldr r0, _0800B2CC @ =0x086A79EC - movs r1, #3 - mov r2, r8 - bl sub_358 - ldrh r0, [r7] - cmp r0, #1 - bne _0800B1B8 - ldr r0, _0800B2D0 @ =0x0201A450 - ldrh r1, [r0] - strh r1, [r7, #2] - ldrh r0, [r0, #2] - strh r0, [r7, #4] - ldr r6, _0800B2D4 @ =0x03005000 - movs r0, #0xd - rsbs r0, r0, #0 - mov ip, r0 - movs r1, #0xee - lsls r1, r1, #2 - adds r4, r4, r1 - movs r5, #3 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r4, _0800B2C0 @ =0x0200B0C0 + ldrh r0, [r4, #0x38] + movs r0, #0xf1 + lsls r0, r0, #4 + strh r0, [r4, #0x38] + ldrh r0, [r4, #0x3a] + ldr r0, _0800B2C4 @ =0x00000808 + strh r0, [r4, #0x3a] + ldr r1, _0800B2C8 @ =0x04000050 + ldrh r0, [r4, #0x38] + strh r0, [r1] + adds r1, #2 + ldrh r0, [r4, #0x3a] + strh r0, [r1] + movs r0, #0xec + lsls r0, r0, #2 + adds r0, r0, r4 + mov sl, r0 + movs r1, #0xbe + lsls r1, r1, #2 + adds r1, r1, r4 + mov r8, r1 + movs r2, #0x8d + lsls r2, r2, #3 + adds r2, r2, r4 + mov sb, r2 + movs r0, #1 + mov r7, sl + strh r0, [r7] + strh r0, [r1] + strh r0, [r2] + ldr r0, _0800B2CC @ =0x086A79EC + movs r1, #3 + mov r2, r8 + bl sub_358 + ldrh r0, [r7] + cmp r0, #1 + bne _0800B1B8 + ldr r0, _0800B2D0 @ =0x0201A450 + ldrh r1, [r0] + strh r1, [r7, #2] + ldrh r0, [r0, #2] + strh r0, [r7, #4] + ldr r6, _0800B2D4 @ =0x03005000 + movs r0, #0xd + rsbs r0, r0, #0 + mov ip, r0 + movs r1, #0xee + lsls r1, r1, #2 + adds r4, r4, r1 + movs r5, #3 _0800B15A: - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #1] - mov r0, ip - ands r0, r2 - movs r2, #4 - orrs r0, r2 - strb r0, [r1, #1] - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #5] - mov r0, ip - ands r0, r2 - movs r7, #4 - orrs r0, r7 - strb r0, [r1, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r0, #2 - ldrsh r1, [r4, r0] - mov r2, sl - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _0800B2D8 @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _0800B2DC @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - mov r7, sl - ldrb r0, [r7, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - subs r5, #1 - cmp r5, #0 - bge _0800B15A + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #1] + mov r0, ip + ands r0, r2 + movs r2, #4 + orrs r0, r2 + strb r0, [r1, #1] + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #5] + mov r0, ip + ands r0, r2 + movs r7, #4 + orrs r0, r7 + strb r0, [r1, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r0, #2 + ldrsh r1, [r4, r0] + mov r2, sl + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _0800B2D8 @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _0800B2DC @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + mov r7, sl + ldrb r0, [r7, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + subs r5, #1 + cmp r5, #0 + bge _0800B15A _0800B1B8: - mov r7, r8 - ldrh r0, [r7] - cmp r0, #1 - bne _0800B234 - ldr r0, _0800B2D0 @ =0x0201A450 - ldrh r1, [r0, #0x10] - strh r1, [r7, #2] - ldrh r0, [r0, #0x12] - strh r0, [r7, #4] - ldr r6, _0800B2D4 @ =0x03005000 - ldr r0, _0800B2DC @ =0xFFFFFE00 - mov ip, r0 - mov r4, r8 - adds r4, #8 - movs r5, #3 + mov r7, r8 + ldrh r0, [r7] + cmp r0, #1 + bne _0800B234 + ldr r0, _0800B2D0 @ =0x0201A450 + ldrh r1, [r0, #0x10] + strh r1, [r7, #2] + ldrh r0, [r0, #0x12] + strh r0, [r7, #4] + ldr r6, _0800B2D4 @ =0x03005000 + ldr r0, _0800B2DC @ =0xFFFFFE00 + mov ip, r0 + mov r4, r8 + adds r4, #8 + movs r5, #3 _0800B1D6: - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #1] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r1, #1] - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r2, #2 - ldrsh r1, [r4, r2] - mov r7, r8 - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - ldr r7, _0800B2D8 @ =0x000001FF - adds r0, r7, #0 - 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, r6 - mov r2, r8 - ldrb r0, [r2, #4] - ldrb r7, [r4, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r4, #8 - subs r5, #1 - cmp r5, #0 - bge _0800B1D6 + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #1] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r2 + strb r0, [r1, #1] + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r2, #2 + ldrsh r1, [r4, r2] + mov r7, r8 + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + ldr r7, _0800B2D8 @ =0x000001FF + adds r0, r7, #0 + 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, r6 + mov r2, r8 + ldrb r0, [r2, #4] + ldrb r7, [r4, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r4, #8 + subs r5, #1 + cmp r5, #0 + bge _0800B1D6 _0800B234: - mov r1, sb - ldrh r0, [r1] - cmp r0, #1 - bne _0800B2A2 - ldr r0, _0800B2D0 @ =0x0201A450 - ldrh r1, [r0, #0x20] - mov r2, sb - strh r1, [r2, #2] - ldrh r0, [r0, #0x22] - strh r0, [r2, #4] - ldr r6, _0800B2D4 @ =0x03005000 - movs r7, #0xd - rsbs r7, r7, #0 - mov ip, r7 - mov r4, sb - adds r4, #8 - movs r5, #7 + mov r1, sb + ldrh r0, [r1] + cmp r0, #1 + bne _0800B2A2 + ldr r0, _0800B2D0 @ =0x0201A450 + ldrh r1, [r0, #0x20] + mov r2, sb + strh r1, [r2, #2] + ldrh r0, [r0, #0x22] + strh r0, [r2, #4] + ldr r6, _0800B2D4 @ =0x03005000 + movs r7, #0xd + rsbs r7, r7, #0 + mov ip, r7 + mov r4, sb + adds r4, #8 + movs r5, #7 _0800B256: - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #5] - mov r0, ip - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r0, #2 - ldrsh r1, [r4, r0] - mov r2, sb - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _0800B2D8 @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _0800B2DC @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - mov r7, sb - ldrb r0, [r7, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - subs r5, #1 - cmp r5, #0 - bge _0800B256 + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #5] + mov r0, ip + ands r0, r1 + movs r1, #8 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r0, #2 + ldrsh r1, [r4, r0] + mov r2, sb + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _0800B2D8 @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _0800B2DC @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + mov r7, sb + ldrb r0, [r7, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + subs r5, #1 + cmp r5, #0 + bge _0800B256 _0800B2A2: - movs r0, #0 - mov r7, sl - strh r0, [r7] - mov r1, r8 - strh r0, [r1] - mov r2, sb - 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 + movs r0, #0 + mov r7, sl + strh r0, [r7] + mov r1, r8 + strh r0, [r1] + mov r2, sb + 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 _0800B2C0: .4byte 0x0200B0C0 _0800B2C4: .4byte 0x00000808 _0800B2C8: .4byte 0x04000050 @@ -21732,170 +21732,170 @@ _0800B2D4: .4byte 0x03005000 _0800B2D8: .4byte 0x000001FF _0800B2DC: .4byte 0xFFFFFE00 - thumb_func_start sub_B2E0 + thumb_func_start sub_B2E0 sub_B2E0: @ 0x0800B2E0 - push {lr} - bl sub_518 - ldr r1, _0800B2F4 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_518 + ldr r1, _0800B2F4 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 _0800B2F4: .4byte 0x0202C790 - thumb_func_start sub_B2F8 + thumb_func_start sub_B2F8 sub_B2F8: @ 0x0800B2F8 - push {r4, lr} - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x80 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _0800B428 @ =0x04000008 - movs r3, #0xf0 - lsls r3, r3, #4 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #1 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800B42C @ =0x0400000A - ldr r3, _0800B430 @ =0x0000DA01 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #2 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800B434 @ =0x0400000C - ldr r3, _0800B438 @ =0x00001E02 - adds r0, r3, #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, _0800B43C @ =0x0400000E - ldr r3, _0800B440 @ =0x00001F03 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #4 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _0800B444 @ =0x040000D4 - ldr r1, _0800B448 @ =0x080FD7C0 - str r1, [r0] - ldr r1, _0800B44C @ =0x06007800 - str r1, [r0, #4] - ldr r2, _0800B450 @ =0x80000400 - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800B454 @ =0x080FDFC0 - str r1, [r0] - ldr r1, _0800B458 @ =0x0600D000 - str r1, [r0, #4] - ldr r1, _0800B45C @ =0x80001000 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800B460 @ =0x080FCFC0 - str r1, [r0] - ldr r1, _0800B464 @ =0x0600F000 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800B468 @ =0x080F63A0 - str r1, [r0] - ldr r1, _0800B46C @ =0x0600F800 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800B470 @ =0x080F6BA0 - str r1, [r0] - movs r1, #0xc0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r1, _0800B474 @ =0x80003200 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r3, _0800B478 @ =0x080F61A0 - str r3, [r0] - movs r1, #0xa0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r2, _0800B47C @ =0x80000040 - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800B480 @ =0x080FFFC0 - str r1, [r0] - ldr r1, _0800B484 @ =0x06010000 - str r1, [r0, #4] - ldr r1, _0800B488 @ =0x80000800 - str r1, [r0, #8] - ldr r1, [r0, #8] - str r3, [r0] - ldr r1, _0800B48C @ =0x05000200 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r0, [r0, #8] - bl sub_B4A0 - ldr r1, _0800B490 @ =0x0200B0C0 - ldr r2, _0800B494 @ =0x0202ADA0 - ldrh r3, [r2] - movs r4, #0xba - lsls r4, r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #2] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0xc] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0xe] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0x18] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0x1a] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r3, [r2, #0x24] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldrh r0, [r2, #0x26] - ldr r2, _0800B498 @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - bl sub_CBC - bl sub_10424 - ldr r1, _0800B49C @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x80 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _0800B428 @ =0x04000008 + movs r3, #0xf0 + lsls r3, r3, #4 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r4, #0x80 + lsls r4, r4, #1 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800B42C @ =0x0400000A + ldr r3, _0800B430 @ =0x0000DA01 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r4, #0x80 + lsls r4, r4, #2 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800B434 @ =0x0400000C + ldr r3, _0800B438 @ =0x00001E02 + adds r0, r3, #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, _0800B43C @ =0x0400000E + ldr r3, _0800B440 @ =0x00001F03 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r4, #0x80 + lsls r4, r4, #4 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + ldr r0, _0800B444 @ =0x040000D4 + ldr r1, _0800B448 @ =0x080FD7C0 + str r1, [r0] + ldr r1, _0800B44C @ =0x06007800 + str r1, [r0, #4] + ldr r2, _0800B450 @ =0x80000400 + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800B454 @ =0x080FDFC0 + str r1, [r0] + ldr r1, _0800B458 @ =0x0600D000 + str r1, [r0, #4] + ldr r1, _0800B45C @ =0x80001000 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800B460 @ =0x080FCFC0 + str r1, [r0] + ldr r1, _0800B464 @ =0x0600F000 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800B468 @ =0x080F63A0 + str r1, [r0] + ldr r1, _0800B46C @ =0x0600F800 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800B470 @ =0x080F6BA0 + str r1, [r0] + movs r1, #0xc0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r1, _0800B474 @ =0x80003200 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r3, _0800B478 @ =0x080F61A0 + str r3, [r0] + movs r1, #0xa0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r2, _0800B47C @ =0x80000040 + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800B480 @ =0x080FFFC0 + str r1, [r0] + ldr r1, _0800B484 @ =0x06010000 + str r1, [r0, #4] + ldr r1, _0800B488 @ =0x80000800 + str r1, [r0, #8] + ldr r1, [r0, #8] + str r3, [r0] + ldr r1, _0800B48C @ =0x05000200 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r0, [r0, #8] + bl sub_B4A0 + ldr r1, _0800B490 @ =0x0200B0C0 + ldr r2, _0800B494 @ =0x0202ADA0 + ldrh r3, [r2] + movs r4, #0xba + lsls r4, r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #2] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0xc] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0xe] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0x18] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0x1a] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r3, [r2, #0x24] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldrh r0, [r2, #0x26] + ldr r2, _0800B498 @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + bl sub_CBC + bl sub_10424 + ldr r1, _0800B49C @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800B428: .4byte 0x04000008 _0800B42C: .4byte 0x0400000A _0800B430: .4byte 0x0000DA01 @@ -21927,89 +21927,89 @@ _0800B494: .4byte 0x0202ADA0 _0800B498: .4byte 0x000002F6 _0800B49C: .4byte 0x0202C790 - thumb_func_start sub_B4A0 + thumb_func_start sub_B4A0 sub_B4A0: @ 0x0800B4A0 - push {r4, r5, r6, r7, lr} - ldr r1, _0800B540 @ =0x0202ADA0 - movs r3, #0 - movs r4, #0x1e - strh r4, [r1, #0xc] - ldr r0, _0800B544 @ =0x0000FF6A - strh r0, [r1, #0xe] - movs r0, #1 - strh r0, [r1, #0x14] - ldr r0, _0800B548 @ =0x0000FFFE - strh r0, [r1] - subs r0, #3 - strh r0, [r1, #2] - strh r3, [r1, #4] - movs r2, #8 - strh r2, [r1, #6] - subs r0, #0x6b - strh r0, [r1, #0x18] - adds r0, #0x44 - strh r0, [r1, #0x1a] - strh r2, [r1, #0x1c] - strh r3, [r1, #0x1e] - strh r3, [r1, #0x24] - strh r3, [r1, #0x26] - ldr r3, _0800B54C @ =0x0201A450 - movs r0, #0x32 - strh r0, [r3] - movs r1, #0x3c - strh r1, [r3, #2] - movs r0, #0x50 - strh r0, [r3, #0x10] - strh r1, [r3, #0x12] - movs r0, #0x8c - strh r0, [r3, #0x20] - movs r2, #0x64 - strh r2, [r3, #0x22] - movs r0, #0xc8 - strh r0, [r3, #0x30] - movs r0, #0x5a - strh r0, [r3, #0x32] - adds r0, r3, #0 - adds r0, #0x40 - strh r1, [r0] - adds r0, #2 - strh r4, [r0] - adds r1, r3, #0 - adds r1, #0x50 - movs r0, #0x96 - strh r0, [r1] - adds r0, r3, #0 - adds r0, #0x52 - strh r2, [r0] - ldr r5, _0800B550 @ =0x0202C548 - ldr r6, _0800B554 @ =0x0202BF10 - ldr r7, _0800B558 @ =0x0202A578 - ldr r0, _0800B55C @ =0x0202BEB4 - mov ip, r0 - movs r4, #0 - movs r2, #0 - adds r0, r3, #0 - adds r0, #8 - movs r1, #5 + push {r4, r5, r6, r7, lr} + ldr r1, _0800B540 @ =0x0202ADA0 + movs r3, #0 + movs r4, #0x1e + strh r4, [r1, #0xc] + ldr r0, _0800B544 @ =0x0000FF6A + strh r0, [r1, #0xe] + movs r0, #1 + strh r0, [r1, #0x14] + ldr r0, _0800B548 @ =0x0000FFFE + strh r0, [r1] + subs r0, #3 + strh r0, [r1, #2] + strh r3, [r1, #4] + movs r2, #8 + strh r2, [r1, #6] + subs r0, #0x6b + strh r0, [r1, #0x18] + adds r0, #0x44 + strh r0, [r1, #0x1a] + strh r2, [r1, #0x1c] + strh r3, [r1, #0x1e] + strh r3, [r1, #0x24] + strh r3, [r1, #0x26] + ldr r3, _0800B54C @ =0x0201A450 + movs r0, #0x32 + strh r0, [r3] + movs r1, #0x3c + strh r1, [r3, #2] + movs r0, #0x50 + strh r0, [r3, #0x10] + strh r1, [r3, #0x12] + movs r0, #0x8c + strh r0, [r3, #0x20] + movs r2, #0x64 + strh r2, [r3, #0x22] + movs r0, #0xc8 + strh r0, [r3, #0x30] + movs r0, #0x5a + strh r0, [r3, #0x32] + adds r0, r3, #0 + adds r0, #0x40 + strh r1, [r0] + adds r0, #2 + strh r4, [r0] + adds r1, r3, #0 + adds r1, #0x50 + movs r0, #0x96 + strh r0, [r1] + adds r0, r3, #0 + adds r0, #0x52 + strh r2, [r0] + ldr r5, _0800B550 @ =0x0202C548 + ldr r6, _0800B554 @ =0x0202BF10 + ldr r7, _0800B558 @ =0x0202A578 + ldr r0, _0800B55C @ =0x0202BEB4 + mov ip, r0 + movs r4, #0 + movs r2, #0 + adds r0, r3, #0 + adds r0, #8 + movs r1, #5 _0800B51C: - strh r2, [r0] - strh r2, [r0, #2] - strb r4, [r0, #4] - adds r0, #0x10 - subs r1, #1 - cmp r1, #0 - bge _0800B51C - movs r0, #0 - strb r0, [r5] - movs r0, #0 - strh r0, [r6] - strh r0, [r7] - mov r1, ip - strb r0, [r1] - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + strh r2, [r0] + strh r2, [r0, #2] + strb r4, [r0, #4] + adds r0, #0x10 + subs r1, #1 + cmp r1, #0 + bge _0800B51C + movs r0, #0 + strb r0, [r5] + movs r0, #0 + strh r0, [r6] + strh r0, [r7] + mov r1, ip + strb r0, [r1] + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800B540: .4byte 0x0202ADA0 _0800B544: .4byte 0x0000FF6A _0800B548: .4byte 0x0000FFFE @@ -22019,165 +22019,165 @@ _0800B554: .4byte 0x0202BF10 _0800B558: .4byte 0x0202A578 _0800B55C: .4byte 0x0202BEB4 - thumb_func_start sub_B560 + thumb_func_start sub_B560 sub_B560: @ 0x0800B560 - push {r4, r5, lr} - ldr r2, _0800B694 @ =0x0202ADA0 - ldr r3, _0800B698 @ =0x086A7AC0 - ldr r1, _0800B69C @ =0x0202C548 - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r4, [r2, #0xc] - adds r0, r0, r4 - strh r0, [r2, #0xc] - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r0, [r0, #1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r5, [r2, #0xe] - adds r0, r0, r5 - strh r0, [r2, #0xe] - ldr r3, _0800B6A0 @ =0x086A7AE4 - ldr r4, _0800B6A4 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r4, r1] - adds r0, r0, r3 - ldrb r1, [r0] - movs r0, #0x10 - ands r0, r1 - adds r5, r2, #0 - cmp r0, #0 - beq _0800B5C2 - ldrh r0, [r5, #6] - ldrh r2, [r5, #2] - adds r1, r0, r2 - strh r1, [r5, #2] - subs r0, #2 - strh r0, [r5, #6] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0xa - rsbs r1, r1, #0 - cmp r0, r1 - bgt _0800B5C2 - movs r0, #8 - strh r0, [r5, #6] + push {r4, r5, lr} + ldr r2, _0800B694 @ =0x0202ADA0 + ldr r3, _0800B698 @ =0x086A7AC0 + ldr r1, _0800B69C @ =0x0202C548 + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldrh r4, [r2, #0xc] + adds r0, r0, r4 + strh r0, [r2, #0xc] + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r3 + ldrb r0, [r0, #1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldrh r5, [r2, #0xe] + adds r0, r0, r5 + strh r0, [r2, #0xe] + ldr r3, _0800B6A0 @ =0x086A7AE4 + ldr r4, _0800B6A4 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r4, r1] + adds r0, r0, r3 + ldrb r1, [r0] + movs r0, #0x10 + ands r0, r1 + adds r5, r2, #0 + cmp r0, #0 + beq _0800B5C2 + ldrh r0, [r5, #6] + ldrh r2, [r5, #2] + adds r1, r0, r2 + strh r1, [r5, #2] + subs r0, #2 + strh r0, [r5, #6] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0xa + rsbs r1, r1, #0 + cmp r0, r1 + bgt _0800B5C2 + movs r0, #8 + strh r0, [r5, #6] _0800B5C2: - movs r1, #0 - ldrsh r0, [r4, r1] - adds r0, r0, r3 - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0800B5EE - ldrh r0, [r5, #0x1c] - ldrh r2, [r5, #0x18] - adds r1, r0, r2 - strh r1, [r5, #0x18] - subs r0, #2 - strh r0, [r5, #0x1c] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0xa - rsbs r1, r1, #0 - cmp r0, r1 - bgt _0800B5EE - movs r0, #8 - strh r0, [r5, #0x1c] + movs r1, #0 + ldrsh r0, [r4, r1] + adds r0, r0, r3 + ldrb r1, [r0] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0800B5EE + ldrh r0, [r5, #0x1c] + ldrh r2, [r5, #0x18] + adds r1, r0, r2 + strh r1, [r5, #0x18] + subs r0, #2 + strh r0, [r5, #0x1c] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0xa + rsbs r1, r1, #0 + cmp r0, r1 + bgt _0800B5EE + movs r0, #8 + strh r0, [r5, #0x1c] _0800B5EE: - ldr r1, _0800B6A8 @ =0x0200B0C0 - ldrh r2, [r5] - movs r3, #0xba - lsls r3, r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r5, #2] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r5, #0xc] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r5, #0xe] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r5, #0x18] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r5, #0x1a] - ldr r5, _0800B6AC @ =0x000002F2 - adds r1, r1, r5 - strh r0, [r1] - ldr r1, _0800B6B0 @ =0x086A7B34 - ldr r3, _0800B6B4 @ =0x0202BEB4 - movs r2, #0 - ldrsb r2, [r3, r2] - lsls r0, r2, #2 - adds r0, r0, r1 - movs r5, #0 - ldrsh r1, [r4, r5] - ldrb r0, [r0, #2] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - bne _0800B64C - ldr r1, _0800B6B8 @ =0x0201A450 - lsls r0, r2, #4 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] + ldr r1, _0800B6A8 @ =0x0200B0C0 + ldrh r2, [r5] + movs r3, #0xba + lsls r3, r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r5, #2] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r5, #0xc] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r5, #0xe] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r5, #0x18] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r0, [r5, #0x1a] + ldr r5, _0800B6AC @ =0x000002F2 + adds r1, r1, r5 + strh r0, [r1] + ldr r1, _0800B6B0 @ =0x086A7B34 + ldr r3, _0800B6B4 @ =0x0202BEB4 + movs r2, #0 + ldrsb r2, [r3, r2] + lsls r0, r2, #2 + adds r0, r0, r1 + movs r5, #0 + ldrsh r1, [r4, r5] + ldrb r0, [r0, #2] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + bne _0800B64C + ldr r1, _0800B6B8 @ =0x0201A450 + lsls r0, r2, #4 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0, #0xc] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] _0800B64C: - bl sub_B7F8 - ldr r4, _0800B6BC @ =0x0202A578 - ldrh r0, [r4] - adds r0, #1 - strh r0, [r4] - ldr r2, _0800B698 @ =0x086A7AC0 - ldr r3, _0800B69C @ =0x0202C548 - movs r1, #0 - ldrsb r1, [r3, r1] - lsls r1, r1, #2 - adds r1, r1, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldrb r1, [r1, #2] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - cmp r0, r1 - ble _0800B68C - movs r0, #0 - strh r0, [r4] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #8 - ble _0800B68C - ldr r1, _0800B6C0 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + bl sub_B7F8 + ldr r4, _0800B6BC @ =0x0202A578 + ldrh r0, [r4] + adds r0, #1 + strh r0, [r4] + ldr r2, _0800B698 @ =0x086A7AC0 + ldr r3, _0800B69C @ =0x0202C548 + movs r1, #0 + ldrsb r1, [r3, r1] + lsls r1, r1, #2 + adds r1, r1, r2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldrb r1, [r1, #2] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + cmp r0, r1 + ble _0800B68C + movs r0, #0 + strh r0, [r4] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #8 + ble _0800B68C + ldr r1, _0800B6C0 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800B68C: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0800B694: .4byte 0x0202ADA0 _0800B698: .4byte 0x086A7AC0 _0800B69C: .4byte 0x0202C548 @@ -22191,106 +22191,106 @@ _0800B6B8: .4byte 0x0201A450 _0800B6BC: .4byte 0x0202A578 _0800B6C0: .4byte 0x0202C790 - thumb_func_start sub_B6C4 + thumb_func_start sub_B6C4 sub_B6C4: @ 0x0800B6C4 - push {r4, r5, lr} - ldr r2, _0800B784 @ =0x086A7AE4 - ldr r3, _0800B788 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r3, r1] - adds r0, r0, r2 - ldrb r1, [r0] - movs r0, #0x10 - ands r0, r1 - adds r4, r2, #0 - adds r2, r3, #0 - ldr r3, _0800B78C @ =0x0202ADA0 - cmp r0, #0 - beq _0800B6FC - ldrh r0, [r3, #6] - ldrh r5, [r3, #2] - adds r1, r0, r5 - strh r1, [r3, #2] - subs r0, #2 - strh r0, [r3, #6] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0xa - rsbs r1, r1, #0 - cmp r0, r1 - bgt _0800B6FC - movs r0, #8 - strh r0, [r3, #6] + push {r4, r5, lr} + ldr r2, _0800B784 @ =0x086A7AE4 + ldr r3, _0800B788 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r3, r1] + adds r0, r0, r2 + ldrb r1, [r0] + movs r0, #0x10 + ands r0, r1 + adds r4, r2, #0 + adds r2, r3, #0 + ldr r3, _0800B78C @ =0x0202ADA0 + cmp r0, #0 + beq _0800B6FC + ldrh r0, [r3, #6] + ldrh r5, [r3, #2] + adds r1, r0, r5 + strh r1, [r3, #2] + subs r0, #2 + strh r0, [r3, #6] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0xa + rsbs r1, r1, #0 + cmp r0, r1 + bgt _0800B6FC + movs r0, #8 + strh r0, [r3, #6] _0800B6FC: - movs r1, #0 - ldrsh r0, [r2, r1] - adds r0, r0, r4 - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0800B728 - ldrh r0, [r3, #0x1c] - ldrh r2, [r3, #0x18] - adds r1, r0, r2 - strh r1, [r3, #0x18] - subs r0, #2 - strh r0, [r3, #0x1c] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0xa - rsbs r1, r1, #0 - cmp r0, r1 - bgt _0800B728 - movs r0, #8 - strh r0, [r3, #0x1c] + movs r1, #0 + ldrsh r0, [r2, r1] + adds r0, r0, r4 + ldrb r1, [r0] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0800B728 + ldrh r0, [r3, #0x1c] + ldrh r2, [r3, #0x18] + adds r1, r0, r2 + strh r1, [r3, #0x18] + subs r0, #2 + strh r0, [r3, #0x1c] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0xa + rsbs r1, r1, #0 + cmp r0, r1 + bgt _0800B728 + movs r0, #8 + strh r0, [r3, #0x1c] _0800B728: - ldr r1, _0800B790 @ =0x0200B0C0 - ldrh r2, [r3] - movs r4, #0xba - lsls r4, r4, #2 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #2] - ldr r5, _0800B794 @ =0x000002EA - adds r0, r1, r5 - strh r2, [r0] - ldrh r2, [r3, #0xc] - adds r4, #4 - adds r0, r1, r4 - strh r2, [r0] - ldrh r2, [r3, #0xe] - adds r5, #4 - adds r0, r1, r5 - strh r2, [r0] - ldrh r2, [r3, #0x18] - adds r4, #4 - adds r0, r1, r4 - strh r2, [r0] - ldrh r0, [r3, #0x1a] - adds r5, #4 - adds r1, r1, r5 - strh r0, [r1] - bl sub_B7F8 - ldr r1, _0800B798 @ =0x0202A578 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x10 - ble _0800B77C - movs r0, #0 - strh r0, [r1] - ldr r1, _0800B79C @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldr r1, _0800B790 @ =0x0200B0C0 + ldrh r2, [r3] + movs r4, #0xba + lsls r4, r4, #2 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #2] + ldr r5, _0800B794 @ =0x000002EA + adds r0, r1, r5 + strh r2, [r0] + ldrh r2, [r3, #0xc] + adds r4, #4 + adds r0, r1, r4 + strh r2, [r0] + ldrh r2, [r3, #0xe] + adds r5, #4 + adds r0, r1, r5 + strh r2, [r0] + ldrh r2, [r3, #0x18] + adds r4, #4 + adds r0, r1, r4 + strh r2, [r0] + ldrh r0, [r3, #0x1a] + adds r5, #4 + adds r1, r1, r5 + strh r0, [r1] + bl sub_B7F8 + ldr r1, _0800B798 @ =0x0202A578 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x10 + ble _0800B77C + movs r0, #0 + strh r0, [r1] + ldr r1, _0800B79C @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800B77C: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0800B784: .4byte 0x086A7AE4 _0800B788: .4byte 0x0202BF10 _0800B78C: .4byte 0x0202ADA0 @@ -22299,318 +22299,318 @@ _0800B794: .4byte 0x000002EA _0800B798: .4byte 0x0202A578 _0800B79C: .4byte 0x0202C790 - thumb_func_start sub_B7A0 + thumb_func_start sub_B7A0 sub_B7A0: @ 0x0800B7A0 - push {lr} - sub sp, #8 - bl sub_578 - movs r2, #0 - str r2, [sp] - ldr r1, _0800B7E4 @ =0x040000D4 - mov r0, sp - str r0, [r1] - movs r0, #0xe0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _0800B7E8 @ =0x85000100 - str r0, [r1, #8] - ldr r0, [r1, #8] - add r0, sp, #4 - strh r2, [r0] - str r0, [r1] - ldr r0, _0800B7EC @ =0x06010000 - str r0, [r1, #4] - ldr r0, _0800B7F0 @ =0x81002800 - str r0, [r1, #8] - ldr r0, [r1, #8] - bl sub_10480 - bl sub_10544 - ldr r1, _0800B7F4 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - add sp, #8 - pop {r0} - bx r0 - .align 2, 0 + push {lr} + sub sp, #8 + bl sub_578 + movs r2, #0 + str r2, [sp] + ldr r1, _0800B7E4 @ =0x040000D4 + mov r0, sp + str r0, [r1] + movs r0, #0xe0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _0800B7E8 @ =0x85000100 + str r0, [r1, #8] + ldr r0, [r1, #8] + add r0, sp, #4 + strh r2, [r0] + str r0, [r1] + ldr r0, _0800B7EC @ =0x06010000 + str r0, [r1, #4] + ldr r0, _0800B7F0 @ =0x81002800 + str r0, [r1, #8] + ldr r0, [r1, #8] + bl sub_10480 + bl sub_10544 + ldr r1, _0800B7F4 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + add sp, #8 + pop {r0} + bx r0 + .align 2, 0 _0800B7E4: .4byte 0x040000D4 _0800B7E8: .4byte 0x85000100 _0800B7EC: .4byte 0x06010000 _0800B7F0: .4byte 0x81002800 _0800B7F4: .4byte 0x0202C790 - thumb_func_start sub_B7F8 + thumb_func_start sub_B7F8 sub_B7F8: @ 0x0800B7F8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x24 - ldr r6, _0800BA0C @ =0x0201A450 - movs r1, #8 - ldrsh r0, [r6, r1] - lsls r2, r0, #4 - adds r2, r2, r0 - lsls r2, r2, #2 - adds r2, r2, r0 - lsls r2, r2, #4 - ldr r3, _0800BA10 @ =0x0200B3B8 - adds r2, r2, r3 - str r2, [sp] - movs r4, #0x18 - ldrsh r1, [r6, r4] - lsls r0, r1, #4 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r1 - lsls r0, r0, #4 - adds r1, r3, #0 - adds r1, #0xb8 - adds r0, r0, r1 - str r0, [sp, #4] - movs r0, #0x28 - ldrsh r1, [r6, r0] - lsls r0, r1, #4 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r1 - lsls r0, r0, #4 - movs r4, #0xb8 - lsls r4, r4, #1 - adds r1, r3, r4 - adds r0, r0, r1 - str r0, [sp, #8] - movs r0, #0x38 - ldrsh r1, [r6, r0] - lsls r0, r1, #4 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r1 - lsls r0, r0, #4 - adds r4, #0xb8 - adds r1, r3, r4 - adds r0, r0, r1 - str r0, [sp, #0xc] - adds r0, r6, #0 - adds r0, #0x48 - movs r4, #0 - ldrsh r1, [r0, r4] - lsls r0, r1, #4 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r1 - lsls r0, r0, #4 - movs r4, #0xb8 - lsls r4, r4, #2 - adds r1, r3, r4 - adds r0, r0, r1 - str r0, [sp, #0x10] - adds r0, r6, #0 - adds r0, #0x58 - movs r4, #0 - ldrsh r1, [r0, r4] - lsls r0, r1, #4 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r1 - lsls r0, r0, #4 - movs r4, #0xe6 - lsls r4, r4, #2 - adds r1, r3, r4 - adds r0, r0, r1 - str r0, [sp, #0x14] - movs r0, #0xc - ldrsb r0, [r6, r0] - strh r0, [r2] - ldr r1, [sp, #4] - movs r0, #0x1c - ldrsb r0, [r6, r0] - strh r0, [r1] - ldr r1, [sp, #8] - adds r0, r6, #0 - adds r0, #0x2c - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r1] - ldr r1, [sp, #0xc] - adds r0, r6, #0 - adds r0, #0x3c - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r1] - ldr r1, [sp, #0x10] - adds r0, r6, #0 - adds r0, #0x4c - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r1] - ldr r1, [sp, #0x14] - adds r0, r6, #0 - adds r0, #0x5c - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r1] - ldr r4, _0800BA14 @ =0x086A7A78 - adds r0, r4, #0 - movs r1, #0x12 - adds r2, r3, #0 - bl sub_358 - movs r5, #0 - str r6, [sp, #0x18] + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x24 + ldr r6, _0800BA0C @ =0x0201A450 + movs r1, #8 + ldrsh r0, [r6, r1] + lsls r2, r0, #4 + adds r2, r2, r0 + lsls r2, r2, #2 + adds r2, r2, r0 + lsls r2, r2, #4 + ldr r3, _0800BA10 @ =0x0200B3B8 + adds r2, r2, r3 + str r2, [sp] + movs r4, #0x18 + ldrsh r1, [r6, r4] + lsls r0, r1, #4 + adds r0, r0, r1 + lsls r0, r0, #2 + adds r0, r0, r1 + lsls r0, r0, #4 + adds r1, r3, #0 + adds r1, #0xb8 + adds r0, r0, r1 + str r0, [sp, #4] + movs r0, #0x28 + ldrsh r1, [r6, r0] + lsls r0, r1, #4 + adds r0, r0, r1 + lsls r0, r0, #2 + adds r0, r0, r1 + lsls r0, r0, #4 + movs r4, #0xb8 + lsls r4, r4, #1 + adds r1, r3, r4 + adds r0, r0, r1 + str r0, [sp, #8] + movs r0, #0x38 + ldrsh r1, [r6, r0] + lsls r0, r1, #4 + adds r0, r0, r1 + lsls r0, r0, #2 + adds r0, r0, r1 + lsls r0, r0, #4 + adds r4, #0xb8 + adds r1, r3, r4 + adds r0, r0, r1 + str r0, [sp, #0xc] + adds r0, r6, #0 + adds r0, #0x48 + movs r4, #0 + ldrsh r1, [r0, r4] + lsls r0, r1, #4 + adds r0, r0, r1 + lsls r0, r0, #2 + adds r0, r0, r1 + lsls r0, r0, #4 + movs r4, #0xb8 + lsls r4, r4, #2 + adds r1, r3, r4 + adds r0, r0, r1 + str r0, [sp, #0x10] + adds r0, r6, #0 + adds r0, #0x58 + movs r4, #0 + ldrsh r1, [r0, r4] + lsls r0, r1, #4 + adds r0, r0, r1 + lsls r0, r0, #2 + adds r0, r0, r1 + lsls r0, r0, #4 + movs r4, #0xe6 + lsls r4, r4, #2 + adds r1, r3, r4 + adds r0, r0, r1 + str r0, [sp, #0x14] + movs r0, #0xc + ldrsb r0, [r6, r0] + strh r0, [r2] + ldr r1, [sp, #4] + movs r0, #0x1c + ldrsb r0, [r6, r0] + strh r0, [r1] + ldr r1, [sp, #8] + adds r0, r6, #0 + adds r0, #0x2c + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r1] + ldr r1, [sp, #0xc] + adds r0, r6, #0 + adds r0, #0x3c + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r1] + ldr r1, [sp, #0x10] + adds r0, r6, #0 + adds r0, #0x4c + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r1] + ldr r1, [sp, #0x14] + adds r0, r6, #0 + adds r0, #0x5c + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r1] + ldr r4, _0800BA14 @ =0x086A7A78 + adds r0, r4, #0 + movs r1, #0x12 + adds r2, r3, #0 + bl sub_358 + movs r5, #0 + str r6, [sp, #0x18] _0800B8EC: - lsls r0, r5, #2 - mov r6, sp - adds r4, r6, r0 - ldr r1, [r4] - ldrh r1, [r1] - str r0, [sp, #0x20] - adds r0, r5, #1 - str r0, [sp, #0x1c] - cmp r1, #1 - bne _0800B9DA - lsls r3, r5, #4 - ldr r1, [sp, #0x18] - adds r2, r3, r1 - ldr r6, [sp, #0x20] - ldr r1, _0800BA18 @ =0x086A7B34 - adds r0, r6, r1 - movs r1, #0 - ldrsb r1, [r0, r1] - ldrh r6, [r2] - adds r1, r1, r6 - strh r1, [r2] - ldrb r0, [r0, #1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r6, [r2, #2] - adds r0, r0, r6 - strh r0, [r2, #2] - ldr r0, [r4] - strh r1, [r0, #2] - ldr r1, [r4] - ldrh r0, [r2, #2] - strh r0, [r1, #4] - movs r0, #8 - ldrsh r1, [r2, r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r5, r0 - lsls r0, r0, #2 - ldr r1, _0800BA14 @ =0x086A7A78 - adds r0, r0, r1 - ldr r0, [r0] - mov r8, r0 - movs r7, #0 - mov sb, r3 - ldrh r2, [r0] - cmp r7, r2 - bge _0800B998 - adds r5, r4, #0 - ldr r3, _0800BA1C @ =0x03005000 - mov ip, r3 - ldr r4, _0800BA20 @ =0xFFFFFE00 - mov sl, r4 - movs r6, #8 + lsls r0, r5, #2 + mov r6, sp + adds r4, r6, r0 + ldr r1, [r4] + ldrh r1, [r1] + str r0, [sp, #0x20] + adds r0, r5, #1 + str r0, [sp, #0x1c] + cmp r1, #1 + bne _0800B9DA + lsls r3, r5, #4 + ldr r1, [sp, #0x18] + adds r2, r3, r1 + ldr r6, [sp, #0x20] + ldr r1, _0800BA18 @ =0x086A7B34 + adds r0, r6, r1 + movs r1, #0 + ldrsb r1, [r0, r1] + ldrh r6, [r2] + adds r1, r1, r6 + strh r1, [r2] + ldrb r0, [r0, #1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldrh r6, [r2, #2] + adds r0, r0, r6 + strh r0, [r2, #2] + ldr r0, [r4] + strh r1, [r0, #2] + ldr r1, [r4] + ldrh r0, [r2, #2] + strh r0, [r1, #4] + movs r0, #8 + ldrsh r1, [r2, r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r5, r0 + lsls r0, r0, #2 + ldr r1, _0800BA14 @ =0x086A7A78 + adds r0, r0, r1 + ldr r0, [r0] + mov r8, r0 + movs r7, #0 + mov sb, r3 + ldrh r2, [r0] + cmp r7, r2 + bge _0800B998 + adds r5, r4, #0 + ldr r3, _0800BA1C @ =0x03005000 + mov ip, r3 + ldr r4, _0800BA20 @ =0xFFFFFE00 + mov sl, r4 + movs r6, #8 _0800B958: - ldr r0, [r5] - adds r4, r0, r6 - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, ip - movs r3, #2 - ldrsh r1, [r4, r3] - movs r3, #2 - ldrsh r0, [r0, r3] - adds r1, r1, r0 - ldr r3, _0800BA24 @ =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, [r4] - lsls r1, r1, #3 - add r1, ip - ldr r0, [r5] - ldrb r0, [r0, #4] - ldrb r4, [r4, #4] - adds r0, r0, r4 - strb r0, [r1] - adds r6, #8 - adds r7, #1 - mov r4, r8 - ldrh r4, [r4] - cmp r7, r4 - blt _0800B958 + ldr r0, [r5] + adds r4, r0, r6 + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, ip + movs r3, #2 + ldrsh r1, [r4, r3] + movs r3, #2 + ldrsh r0, [r0, r3] + adds r1, r1, r0 + ldr r3, _0800BA24 @ =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, [r4] + lsls r1, r1, #3 + add r1, ip + ldr r0, [r5] + ldrb r0, [r0, #4] + ldrb r4, [r4, #4] + adds r0, r0, r4 + strb r0, [r1] + adds r6, #8 + adds r7, #1 + mov r4, r8 + ldrh r4, [r4] + cmp r7, r4 + blt _0800B958 _0800B998: - ldr r1, [sp, #0x18] - add r1, sb - ldrh r0, [r1, #0xa] - adds r0, #1 - movs r2, #0 - strh r0, [r1, #0xa] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #4 - ble _0800B9BC - strh r2, [r1, #0xa] - ldrh r2, [r1, #8] - movs r6, #8 - ldrsh r0, [r1, r6] - cmp r0, #1 - bgt _0800B9BC - adds r0, r2, #1 - strh r0, [r1, #8] + ldr r1, [sp, #0x18] + add r1, sb + ldrh r0, [r1, #0xa] + adds r0, #1 + movs r2, #0 + strh r0, [r1, #0xa] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #4 + ble _0800B9BC + strh r2, [r1, #0xa] + ldrh r2, [r1, #8] + movs r6, #8 + ldrsh r0, [r1, r6] + cmp r0, #1 + bgt _0800B9BC + adds r0, r2, #1 + strh r0, [r1, #8] _0800B9BC: - ldr r1, [sp, #0x20] - ldr r2, _0800BA18 @ =0x086A7B34 - adds r0, r1, r2 - ldr r3, _0800BA28 @ =0x0202BF10 - movs r4, #0 - ldrsh r1, [r3, r4] - ldrb r0, [r0, #3] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - bne _0800B9DA - ldr r1, [sp, #0x18] - add r1, sb - movs r0, #0 - strb r0, [r1, #0xc] + ldr r1, [sp, #0x20] + ldr r2, _0800BA18 @ =0x086A7B34 + adds r0, r1, r2 + ldr r3, _0800BA28 @ =0x0202BF10 + movs r4, #0 + ldrsh r1, [r3, r4] + ldrb r0, [r0, #3] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + bne _0800B9DA + ldr r1, [sp, #0x18] + add r1, sb + movs r0, #0 + strb r0, [r1, #0xc] _0800B9DA: - ldr r5, [sp, #0x1c] - cmp r5, #5 - ble _0800B8EC - ldr r0, [sp] - movs r1, #0 - strh r1, [r0] - ldr r0, [sp, #4] - strh r1, [r0] - ldr r0, [sp, #8] - strh r1, [r0] - ldr r0, [sp, #0xc] - strh r1, [r0] - ldr r0, [sp, #0x10] - strh r1, [r0] - ldr r0, [sp, #0x14] - strh r1, [r0] - add sp, #0x24 - 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 + ldr r5, [sp, #0x1c] + cmp r5, #5 + ble _0800B8EC + ldr r0, [sp] + movs r1, #0 + strh r1, [r0] + ldr r0, [sp, #4] + strh r1, [r0] + ldr r0, [sp, #8] + strh r1, [r0] + ldr r0, [sp, #0xc] + strh r1, [r0] + ldr r0, [sp, #0x10] + strh r1, [r0] + ldr r0, [sp, #0x14] + strh r1, [r0] + add sp, #0x24 + 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 _0800BA0C: .4byte 0x0201A450 _0800BA10: .4byte 0x0200B3B8 _0800BA14: .4byte 0x086A7A78 @@ -22620,168 +22620,168 @@ _0800BA20: .4byte 0xFFFFFE00 _0800BA24: .4byte 0x000001FF _0800BA28: .4byte 0x0202BF10 - thumb_func_start sub_BA2C + thumb_func_start sub_BA2C sub_BA2C: @ 0x0800BA2C - ldr r1, _0800BA38 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - bx lr - .align 2, 0 + ldr r1, _0800BA38 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + bx lr + .align 2, 0 _0800BA38: .4byte 0x0202C790 - thumb_func_start sub_BA3C + thumb_func_start sub_BA3C sub_BA3C: @ 0x0800BA3C - push {r4, r5, lr} - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x80 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _0800BB6C @ =0x04000008 - movs r3, #0xd4 - lsls r3, r3, #8 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800BB70 @ =0x0400000A - ldr r3, _0800BB74 @ =0x0000D801 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #2 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800BB78 @ =0x0400000C - ldr r3, _0800BB7C @ =0x0000DC02 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #3 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800BB80 @ =0x0400000E - ldr r3, _0800BB84 @ =0x00000F03 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _0800BB88 @ =0x040000D4 - ldr r1, _0800BB8C @ =0x08108A00 - str r1, [r0] - ldr r1, _0800BB90 @ =0x0600A000 - str r1, [r0, #4] - ldr r3, _0800BB94 @ =0x80001000 - str r3, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800BB98 @ =0x0810AA00 - str r1, [r0] - ldr r1, _0800BB9C @ =0x0600C000 - str r1, [r0, #4] - str r3, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800BBA0 @ =0x08106A00 - str r1, [r0] - ldr r1, _0800BBA4 @ =0x0600E000 - str r1, [r0, #4] - str r3, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800BBA8 @ =0x081011E0 - str r1, [r0] - ldr r1, _0800BBAC @ =0x06007800 - str r1, [r0, #4] - ldr r1, _0800BBB0 @ =0x80000400 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800BBB4 @ =0x081019E0 - str r1, [r0] - movs r1, #0xc0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r1, _0800BBB8 @ =0x80002800 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r5, _0800BBBC @ =0x08100FE0 - str r5, [r0] - movs r1, #0xa0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r4, _0800BBC0 @ =0x800000B0 - str r4, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800BBC4 @ =0x0810CA00 - str r1, [r0] - ldr r1, _0800BBC8 @ =0x06010000 - str r1, [r0, #4] - str r3, [r0, #8] - ldr r1, [r0, #8] - str r5, [r0] - ldr r1, _0800BBCC @ =0x05000200 - str r1, [r0, #4] - str r4, [r0, #8] - ldr r0, [r0, #8] - ldr r4, _0800BBD0 @ =0x0200B0C0 - ldrh r0, [r2] - strh r0, [r4, #0x16] - bl sub_BBE0 - ldr r1, _0800BBD4 @ =0x0202ADA0 - ldrh r2, [r1] - movs r3, #0xba - lsls r3, r3, #2 - adds r0, r4, r3 - strh r2, [r0] - ldrh r2, [r1, #2] - adds r3, #2 - adds r0, r4, r3 - strh r2, [r0] - ldrh r2, [r1, #0xc] - adds r3, #2 - adds r0, r4, r3 - strh r2, [r0] - ldrh r2, [r1, #0xe] - adds r3, #2 - adds r0, r4, r3 - strh r2, [r0] - ldrh r2, [r1, #0x18] - adds r3, #2 - adds r0, r4, r3 - strh r2, [r0] - ldrh r2, [r1, #0x1a] - adds r3, #2 - adds r0, r4, r3 - strh r2, [r0] - ldrh r2, [r1, #0x24] - adds r3, #2 - adds r0, r4, r3 - strh r2, [r0] - ldrh r0, [r1, #0x26] - ldr r1, _0800BBD8 @ =0x000002F6 - adds r4, r4, r1 - strh r0, [r4] - bl sub_CBC - bl sub_10424 - ldr r1, _0800BBDC @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, lr} + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x80 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _0800BB6C @ =0x04000008 + movs r3, #0xd4 + lsls r3, r3, #8 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #1 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800BB70 @ =0x0400000A + ldr r3, _0800BB74 @ =0x0000D801 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #2 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800BB78 @ =0x0400000C + ldr r3, _0800BB7C @ =0x0000DC02 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #3 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800BB80 @ =0x0400000E + ldr r3, _0800BB84 @ =0x00000F03 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r0, _0800BB88 @ =0x040000D4 + ldr r1, _0800BB8C @ =0x08108A00 + str r1, [r0] + ldr r1, _0800BB90 @ =0x0600A000 + str r1, [r0, #4] + ldr r3, _0800BB94 @ =0x80001000 + str r3, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800BB98 @ =0x0810AA00 + str r1, [r0] + ldr r1, _0800BB9C @ =0x0600C000 + str r1, [r0, #4] + str r3, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800BBA0 @ =0x08106A00 + str r1, [r0] + ldr r1, _0800BBA4 @ =0x0600E000 + str r1, [r0, #4] + str r3, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800BBA8 @ =0x081011E0 + str r1, [r0] + ldr r1, _0800BBAC @ =0x06007800 + str r1, [r0, #4] + ldr r1, _0800BBB0 @ =0x80000400 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800BBB4 @ =0x081019E0 + str r1, [r0] + movs r1, #0xc0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r1, _0800BBB8 @ =0x80002800 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r5, _0800BBBC @ =0x08100FE0 + str r5, [r0] + movs r1, #0xa0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r4, _0800BBC0 @ =0x800000B0 + str r4, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800BBC4 @ =0x0810CA00 + str r1, [r0] + ldr r1, _0800BBC8 @ =0x06010000 + str r1, [r0, #4] + str r3, [r0, #8] + ldr r1, [r0, #8] + str r5, [r0] + ldr r1, _0800BBCC @ =0x05000200 + str r1, [r0, #4] + str r4, [r0, #8] + ldr r0, [r0, #8] + ldr r4, _0800BBD0 @ =0x0200B0C0 + ldrh r0, [r2] + strh r0, [r4, #0x16] + bl sub_BBE0 + ldr r1, _0800BBD4 @ =0x0202ADA0 + ldrh r2, [r1] + movs r3, #0xba + lsls r3, r3, #2 + adds r0, r4, r3 + strh r2, [r0] + ldrh r2, [r1, #2] + adds r3, #2 + adds r0, r4, r3 + strh r2, [r0] + ldrh r2, [r1, #0xc] + adds r3, #2 + adds r0, r4, r3 + strh r2, [r0] + ldrh r2, [r1, #0xe] + adds r3, #2 + adds r0, r4, r3 + strh r2, [r0] + ldrh r2, [r1, #0x18] + adds r3, #2 + adds r0, r4, r3 + strh r2, [r0] + ldrh r2, [r1, #0x1a] + adds r3, #2 + adds r0, r4, r3 + strh r2, [r0] + ldrh r2, [r1, #0x24] + adds r3, #2 + adds r0, r4, r3 + strh r2, [r0] + ldrh r0, [r1, #0x26] + ldr r1, _0800BBD8 @ =0x000002F6 + adds r4, r4, r1 + strh r0, [r4] + bl sub_CBC + bl sub_10424 + ldr r1, _0800BBDC @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0800BB6C: .4byte 0x04000008 _0800BB70: .4byte 0x0400000A _0800BB74: .4byte 0x0000D801 @@ -22812,49 +22812,49 @@ _0800BBD4: .4byte 0x0202ADA0 _0800BBD8: .4byte 0x000002F6 _0800BBDC: .4byte 0x0202C790 - thumb_func_start sub_BBE0 + thumb_func_start sub_BBE0 sub_BBE0: @ 0x0800BBE0 - ldr r1, _0800BC30 @ =0x0202ADA0 - movs r2, #0 - ldr r0, _0800BC34 @ =0x0000FEFC - strh r0, [r1] - movs r0, #0x46 - strh r0, [r1, #2] - strh r2, [r1, #6] - ldr r0, _0800BC38 @ =0x0000FEE8 - strh r0, [r1, #0xc] - movs r0, #0x5a - strh r0, [r1, #0xe] - strh r2, [r1, #0x12] - ldr r0, _0800BC3C @ =0x0000FF10 - strh r0, [r1, #0x18] - adds r0, #0xbe - strh r0, [r1, #0x1a] - adds r0, #0x2f - strh r0, [r1, #0x1e] - strh r2, [r1, #0x24] - strh r2, [r1, #0x26] - ldr r1, _0800BC40 @ =0x0201A450 - movs r0, #0x94 - lsls r0, r0, #1 - strh r0, [r1] - movs r0, #0x2c - strh r0, [r1, #2] - strh r2, [r1, #4] - strh r2, [r1, #6] - ldr r0, _0800BC44 @ =0x0202BF10 - strh r2, [r0] - ldr r0, _0800BC48 @ =0x0202A578 - strh r2, [r0] - ldr r0, _0800BC4C @ =0x0202C5E4 - movs r2, #0x80 - lsls r2, r2, #1 - adds r1, r2, #0 - strh r1, [r0] - ldr r0, _0800BC50 @ =0x0202ADD8 - strh r1, [r0] - bx lr - .align 2, 0 + ldr r1, _0800BC30 @ =0x0202ADA0 + movs r2, #0 + ldr r0, _0800BC34 @ =0x0000FEFC + strh r0, [r1] + movs r0, #0x46 + strh r0, [r1, #2] + strh r2, [r1, #6] + ldr r0, _0800BC38 @ =0x0000FEE8 + strh r0, [r1, #0xc] + movs r0, #0x5a + strh r0, [r1, #0xe] + strh r2, [r1, #0x12] + ldr r0, _0800BC3C @ =0x0000FF10 + strh r0, [r1, #0x18] + adds r0, #0xbe + strh r0, [r1, #0x1a] + adds r0, #0x2f + strh r0, [r1, #0x1e] + strh r2, [r1, #0x24] + strh r2, [r1, #0x26] + ldr r1, _0800BC40 @ =0x0201A450 + movs r0, #0x94 + lsls r0, r0, #1 + strh r0, [r1] + movs r0, #0x2c + strh r0, [r1, #2] + strh r2, [r1, #4] + strh r2, [r1, #6] + ldr r0, _0800BC44 @ =0x0202BF10 + strh r2, [r0] + ldr r0, _0800BC48 @ =0x0202A578 + strh r2, [r0] + ldr r0, _0800BC4C @ =0x0202C5E4 + movs r2, #0x80 + lsls r2, r2, #1 + adds r1, r2, #0 + strh r1, [r0] + ldr r0, _0800BC50 @ =0x0202ADD8 + strh r1, [r0] + bx lr + .align 2, 0 _0800BC30: .4byte 0x0202ADA0 _0800BC34: .4byte 0x0000FEFC _0800BC38: .4byte 0x0000FEE8 @@ -22865,71 +22865,71 @@ _0800BC48: .4byte 0x0202A578 _0800BC4C: .4byte 0x0202C5E4 _0800BC50: .4byte 0x0202ADD8 - thumb_func_start sub_BC54 + thumb_func_start sub_BC54 sub_BC54: @ 0x0800BC54 - push {r4, r5, r6, lr} - ldr r4, _0800BCD0 @ =0x0202ADA0 - ldrh r0, [r4, #0x18] - adds r0, #2 - strh r0, [r4, #0x18] - ldrh r0, [r4, #0x1a] - ldrh r6, [r4, #0x1e] - subs r0, r0, r6 - strh r0, [r4, #0x1a] - ldr r5, _0800BCD4 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r5, r1] - movs r1, #3 - bl __modsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0800BC88 - adds r0, r6, #1 - strh r0, [r4, #0x1e] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #4 - ble _0800BC88 - ldr r0, _0800BCD8 @ =0x0000FFFD - strh r0, [r4, #0x1e] + push {r4, r5, r6, lr} + ldr r4, _0800BCD0 @ =0x0202ADA0 + ldrh r0, [r4, #0x18] + adds r0, #2 + strh r0, [r4, #0x18] + ldrh r0, [r4, #0x1a] + ldrh r6, [r4, #0x1e] + subs r0, r0, r6 + strh r0, [r4, #0x1a] + ldr r5, _0800BCD4 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r5, r1] + movs r1, #3 + bl __modsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0800BC88 + adds r0, r6, #1 + strh r0, [r4, #0x1e] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #4 + ble _0800BC88 + ldr r0, _0800BCD8 @ =0x0000FFFD + strh r0, [r4, #0x1e] _0800BC88: - ldrh r0, [r4, #0x24] - subs r0, #1 - strh r0, [r4, #0x24] - ldrh r0, [r4, #0x26] - subs r0, #1 - strh r0, [r4, #0x26] - ldr r1, _0800BCDC @ =0x0200B0C0 - ldrh r2, [r4, #0x18] - movs r3, #0xbc - lsls r3, r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0x1a] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0x24] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r4, #0x26] - ldr r2, _0800BCE0 @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - movs r3, #0 - ldrsh r0, [r5, r3] - cmp r0, #0x20 - ble _0800BCC8 - ldr r1, _0800BCE4 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldrh r0, [r4, #0x24] + subs r0, #1 + strh r0, [r4, #0x24] + ldrh r0, [r4, #0x26] + subs r0, #1 + strh r0, [r4, #0x26] + ldr r1, _0800BCDC @ =0x0200B0C0 + ldrh r2, [r4, #0x18] + movs r3, #0xbc + lsls r3, r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0x1a] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0x24] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r0, [r4, #0x26] + ldr r2, _0800BCE0 @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + movs r3, #0 + ldrsh r0, [r5, r3] + cmp r0, #0x20 + ble _0800BCC8 + ldr r1, _0800BCE4 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800BCC8: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0800BCD0: .4byte 0x0202ADA0 _0800BCD4: .4byte 0x0202BF10 _0800BCD8: .4byte 0x0000FFFD @@ -22937,103 +22937,103 @@ _0800BCDC: .4byte 0x0200B0C0 _0800BCE0: .4byte 0x000002F6 _0800BCE4: .4byte 0x0202C790 - thumb_func_start sub_BCE8 + thumb_func_start sub_BCE8 sub_BCE8: @ 0x0800BCE8 - push {r4, r5, r6, r7, lr} - ldr r4, _0800BDA4 @ =0x0202ADA0 - ldrh r0, [r4, #0x18] - adds r0, #2 - strh r0, [r4, #0x18] - ldrh r0, [r4, #0x1a] - ldrh r6, [r4, #0x1e] - subs r0, r0, r6 - strh r0, [r4, #0x1a] - ldr r5, _0800BDA8 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r5, r1] - movs r1, #3 - bl __modsi3 - lsls r0, r0, #0x10 - adds r7, r5, #0 - cmp r0, #0 - bne _0800BD1E - adds r0, r6, #1 - strh r0, [r4, #0x1e] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #4 - ble _0800BD1E - ldr r0, _0800BDAC @ =0x0000FFFD - strh r0, [r4, #0x1e] + push {r4, r5, r6, r7, lr} + ldr r4, _0800BDA4 @ =0x0202ADA0 + ldrh r0, [r4, #0x18] + adds r0, #2 + strh r0, [r4, #0x18] + ldrh r0, [r4, #0x1a] + ldrh r6, [r4, #0x1e] + subs r0, r0, r6 + strh r0, [r4, #0x1a] + ldr r5, _0800BDA8 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r5, r1] + movs r1, #3 + bl __modsi3 + lsls r0, r0, #0x10 + adds r7, r5, #0 + cmp r0, #0 + bne _0800BD1E + adds r0, r6, #1 + strh r0, [r4, #0x1e] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #4 + ble _0800BD1E + ldr r0, _0800BDAC @ =0x0000FFFD + strh r0, [r4, #0x1e] _0800BD1E: - ldrh r0, [r4, #0xc] - adds r0, #3 - strh r0, [r4, #0xc] - ldrh r0, [r4, #0xe] - ldrh r5, [r4, #0x12] - subs r0, r0, r5 - strh r0, [r4, #0xe] - movs r2, #0 - ldrsh r0, [r7, r2] - movs r1, #5 - bl __modsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0800BD4C - adds r0, r5, #1 - strh r0, [r4, #0x12] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #7 - ble _0800BD4C - ldr r0, _0800BDB0 @ =0x0000FFFA - strh r0, [r4, #0x12] + ldrh r0, [r4, #0xc] + adds r0, #3 + strh r0, [r4, #0xc] + ldrh r0, [r4, #0xe] + ldrh r5, [r4, #0x12] + subs r0, r0, r5 + strh r0, [r4, #0xe] + movs r2, #0 + ldrsh r0, [r7, r2] + movs r1, #5 + bl __modsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0800BD4C + adds r0, r5, #1 + strh r0, [r4, #0x12] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #7 + ble _0800BD4C + ldr r0, _0800BDB0 @ =0x0000FFFA + strh r0, [r4, #0x12] _0800BD4C: - ldrh r0, [r4, #0x24] - subs r0, #1 - strh r0, [r4, #0x24] - ldrh r0, [r4, #0x26] - subs r0, #1 - strh r0, [r4, #0x26] - ldr r1, _0800BDB4 @ =0x0200B0C0 - ldrh r2, [r4, #0x18] - movs r3, #0xbc - lsls r3, r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0x1a] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0xc] - subs r3, #6 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0xe] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0x24] - adds r3, #6 - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r4, #0x26] - ldr r2, _0800BDB8 @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - movs r3, #0 - ldrsh r0, [r7, r3] - cmp r0, #0x50 - ble _0800BD9C - ldr r1, _0800BDBC @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldrh r0, [r4, #0x24] + subs r0, #1 + strh r0, [r4, #0x24] + ldrh r0, [r4, #0x26] + subs r0, #1 + strh r0, [r4, #0x26] + ldr r1, _0800BDB4 @ =0x0200B0C0 + ldrh r2, [r4, #0x18] + movs r3, #0xbc + lsls r3, r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0x1a] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0xc] + subs r3, #6 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0xe] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0x24] + adds r3, #6 + adds r0, r1, r3 + strh r2, [r0] + ldrh r0, [r4, #0x26] + ldr r2, _0800BDB8 @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + movs r3, #0 + ldrsh r0, [r7, r3] + cmp r0, #0x50 + ble _0800BD9C + ldr r1, _0800BDBC @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800BD9C: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800BDA4: .4byte 0x0202ADA0 _0800BDA8: .4byte 0x0202BF10 _0800BDAC: .4byte 0x0000FFFD @@ -23042,132 +23042,132 @@ _0800BDB4: .4byte 0x0200B0C0 _0800BDB8: .4byte 0x000002F6 _0800BDBC: .4byte 0x0202C790 - thumb_func_start sub_BDC0 + thumb_func_start sub_BDC0 sub_BDC0: @ 0x0800BDC0 - push {r4, r5, r6, r7, lr} - ldr r4, _0800BEB4 @ =0x0202ADA0 - ldrh r0, [r4, #0x18] - adds r0, #2 - strh r0, [r4, #0x18] - ldrh r0, [r4, #0x1a] - ldrh r6, [r4, #0x1e] - subs r0, r0, r6 - strh r0, [r4, #0x1a] - ldr r5, _0800BEB8 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r5, r1] - movs r1, #3 - bl __modsi3 - lsls r0, r0, #0x10 - adds r7, r5, #0 - cmp r0, #0 - bne _0800BDF6 - adds r0, r6, #1 - strh r0, [r4, #0x1e] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #4 - ble _0800BDF6 - ldr r0, _0800BEBC @ =0x0000FFFD - strh r0, [r4, #0x1e] + push {r4, r5, r6, r7, lr} + ldr r4, _0800BEB4 @ =0x0202ADA0 + ldrh r0, [r4, #0x18] + adds r0, #2 + strh r0, [r4, #0x18] + ldrh r0, [r4, #0x1a] + ldrh r6, [r4, #0x1e] + subs r0, r0, r6 + strh r0, [r4, #0x1a] + ldr r5, _0800BEB8 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r5, r1] + movs r1, #3 + bl __modsi3 + lsls r0, r0, #0x10 + adds r7, r5, #0 + cmp r0, #0 + bne _0800BDF6 + adds r0, r6, #1 + strh r0, [r4, #0x1e] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #4 + ble _0800BDF6 + ldr r0, _0800BEBC @ =0x0000FFFD + strh r0, [r4, #0x1e] _0800BDF6: - ldrh r0, [r4, #0xc] - adds r0, #3 - strh r0, [r4, #0xc] - ldrh r0, [r4, #0xe] - ldrh r5, [r4, #0x12] - subs r0, r0, r5 - strh r0, [r4, #0xe] - movs r2, #0 - ldrsh r0, [r7, r2] - movs r1, #5 - bl __modsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0800BE24 - adds r0, r5, #1 - strh r0, [r4, #0x12] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #7 - ble _0800BE24 - ldr r0, _0800BEC0 @ =0x0000FFFA - strh r0, [r4, #0x12] + ldrh r0, [r4, #0xc] + adds r0, #3 + strh r0, [r4, #0xc] + ldrh r0, [r4, #0xe] + ldrh r5, [r4, #0x12] + subs r0, r0, r5 + strh r0, [r4, #0xe] + movs r2, #0 + ldrsh r0, [r7, r2] + movs r1, #5 + bl __modsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0800BE24 + adds r0, r5, #1 + strh r0, [r4, #0x12] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #7 + ble _0800BE24 + ldr r0, _0800BEC0 @ =0x0000FFFA + strh r0, [r4, #0x12] _0800BE24: - ldrh r0, [r4] - adds r0, #4 - strh r0, [r4] - ldrh r0, [r4, #2] - ldrh r2, [r4, #6] - subs r0, r0, r2 - strh r0, [r4, #2] - ldrh r0, [r7] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0800BE4C - adds r0, r2, #1 - strh r0, [r4, #6] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #7 - ble _0800BE4C - ldr r0, _0800BEBC @ =0x0000FFFD - strh r0, [r4, #6] + ldrh r0, [r4] + adds r0, #4 + strh r0, [r4] + ldrh r0, [r4, #2] + ldrh r2, [r4, #6] + subs r0, r0, r2 + strh r0, [r4, #2] + ldrh r0, [r7] + movs r1, #3 + ands r0, r1 + cmp r0, #0 + bne _0800BE4C + adds r0, r2, #1 + strh r0, [r4, #6] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #7 + ble _0800BE4C + ldr r0, _0800BEBC @ =0x0000FFFD + strh r0, [r4, #6] _0800BE4C: - ldrh r0, [r4, #0x24] - subs r0, #1 - strh r0, [r4, #0x24] - ldrh r0, [r4, #0x26] - subs r0, #1 - strh r0, [r4, #0x26] - ldr r1, _0800BEC4 @ =0x0200B0C0 - ldrh r2, [r4, #0x18] - movs r3, #0xbc - lsls r3, r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0x1a] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0xc] - subs r3, #6 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0xe] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4] - subs r3, #6 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #2] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0x24] - adds r3, #0xa - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r4, #0x26] - ldr r2, _0800BEC8 @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - movs r3, #0 - ldrsh r0, [r7, r3] - cmp r0, #0x64 - ble _0800BEAC - ldr r1, _0800BECC @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldrh r0, [r4, #0x24] + subs r0, #1 + strh r0, [r4, #0x24] + ldrh r0, [r4, #0x26] + subs r0, #1 + strh r0, [r4, #0x26] + ldr r1, _0800BEC4 @ =0x0200B0C0 + ldrh r2, [r4, #0x18] + movs r3, #0xbc + lsls r3, r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0x1a] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0xc] + subs r3, #6 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0xe] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4] + subs r3, #6 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #2] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0x24] + adds r3, #0xa + adds r0, r1, r3 + strh r2, [r0] + ldrh r0, [r4, #0x26] + ldr r2, _0800BEC8 @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + movs r3, #0 + ldrsh r0, [r7, r3] + cmp r0, #0x64 + ble _0800BEAC + ldr r1, _0800BECC @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800BEAC: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800BEB4: .4byte 0x0202ADA0 _0800BEB8: .4byte 0x0202BF10 _0800BEBC: .4byte 0x0000FFFD @@ -23176,156 +23176,156 @@ _0800BEC4: .4byte 0x0200B0C0 _0800BEC8: .4byte 0x000002F6 _0800BECC: .4byte 0x0202C790 - thumb_func_start sub_BED0 + thumb_func_start sub_BED0 sub_BED0: @ 0x0800BED0 - push {r4, r5, r6, r7, lr} - ldr r4, _0800BFF4 @ =0x0202ADA0 - ldrh r0, [r4, #0x18] - adds r0, #2 - strh r0, [r4, #0x18] - ldrh r0, [r4, #0x1a] - ldrh r6, [r4, #0x1e] - subs r0, r0, r6 - strh r0, [r4, #0x1a] - ldr r5, _0800BFF8 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r5, r1] - movs r1, #3 - bl __modsi3 - lsls r0, r0, #0x10 - adds r7, r5, #0 - cmp r0, #0 - bne _0800BF06 - adds r0, r6, #1 - strh r0, [r4, #0x1e] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #4 - ble _0800BF06 - ldr r0, _0800BFFC @ =0x0000FFFD - strh r0, [r4, #0x1e] + push {r4, r5, r6, r7, lr} + ldr r4, _0800BFF4 @ =0x0202ADA0 + ldrh r0, [r4, #0x18] + adds r0, #2 + strh r0, [r4, #0x18] + ldrh r0, [r4, #0x1a] + ldrh r6, [r4, #0x1e] + subs r0, r0, r6 + strh r0, [r4, #0x1a] + ldr r5, _0800BFF8 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r5, r1] + movs r1, #3 + bl __modsi3 + lsls r0, r0, #0x10 + adds r7, r5, #0 + cmp r0, #0 + bne _0800BF06 + adds r0, r6, #1 + strh r0, [r4, #0x1e] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #4 + ble _0800BF06 + ldr r0, _0800BFFC @ =0x0000FFFD + strh r0, [r4, #0x1e] _0800BF06: - ldrh r0, [r4, #0xc] - adds r0, #3 - strh r0, [r4, #0xc] - ldrh r0, [r4, #0xe] - ldrh r5, [r4, #0x12] - subs r0, r0, r5 - strh r0, [r4, #0xe] - movs r2, #0 - ldrsh r0, [r7, r2] - movs r1, #5 - bl __modsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0800BF34 - adds r0, r5, #1 - strh r0, [r4, #0x12] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #7 - ble _0800BF34 - ldr r0, _0800C000 @ =0x0000FFFA - strh r0, [r4, #0x12] + ldrh r0, [r4, #0xc] + adds r0, #3 + strh r0, [r4, #0xc] + ldrh r0, [r4, #0xe] + ldrh r5, [r4, #0x12] + subs r0, r0, r5 + strh r0, [r4, #0xe] + movs r2, #0 + ldrsh r0, [r7, r2] + movs r1, #5 + bl __modsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0800BF34 + adds r0, r5, #1 + strh r0, [r4, #0x12] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #7 + ble _0800BF34 + ldr r0, _0800C000 @ =0x0000FFFA + strh r0, [r4, #0x12] _0800BF34: - ldrh r0, [r4] - adds r0, #4 - strh r0, [r4] - ldrh r0, [r4, #2] - ldrh r2, [r4, #6] - subs r0, r0, r2 - strh r0, [r4, #2] - ldrh r0, [r7] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0800BF5C - adds r0, r2, #1 - strh r0, [r4, #6] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #7 - ble _0800BF5C - ldr r0, _0800BFFC @ =0x0000FFFD - strh r0, [r4, #6] + ldrh r0, [r4] + adds r0, #4 + strh r0, [r4] + ldrh r0, [r4, #2] + ldrh r2, [r4, #6] + subs r0, r0, r2 + strh r0, [r4, #2] + ldrh r0, [r7] + movs r1, #3 + ands r0, r1 + cmp r0, #0 + bne _0800BF5C + adds r0, r2, #1 + strh r0, [r4, #6] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #7 + ble _0800BF5C + ldr r0, _0800BFFC @ =0x0000FFFD + strh r0, [r4, #6] _0800BF5C: - ldr r2, _0800C004 @ =0x0201A450 - ldrh r0, [r2] - subs r0, #2 - strh r0, [r2] - ldrh r3, [r2, #6] - ldrh r1, [r2, #2] - adds r0, r3, r1 - strh r0, [r2, #2] - ldrh r0, [r7] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0800BF86 - adds r0, r3, #1 - strh r0, [r2, #6] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #4 - ble _0800BF86 - ldr r0, _0800C008 @ =0x0000FFFC - strh r0, [r2, #6] + ldr r2, _0800C004 @ =0x0201A450 + ldrh r0, [r2] + subs r0, #2 + strh r0, [r2] + ldrh r3, [r2, #6] + ldrh r1, [r2, #2] + adds r0, r3, r1 + strh r0, [r2, #2] + ldrh r0, [r7] + movs r1, #3 + ands r0, r1 + cmp r0, #0 + bne _0800BF86 + adds r0, r3, #1 + strh r0, [r2, #6] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #4 + ble _0800BF86 + ldr r0, _0800C008 @ =0x0000FFFC + strh r0, [r2, #6] _0800BF86: - ldrh r0, [r4, #0x24] - subs r0, #1 - strh r0, [r4, #0x24] - ldrh r0, [r4, #0x26] - subs r0, #1 - strh r0, [r4, #0x26] - ldr r1, _0800C00C @ =0x0200B0C0 - ldrh r2, [r4, #0x18] - movs r3, #0xbc - lsls r3, r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0x1a] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0xc] - subs r3, #6 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0xe] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4] - subs r3, #6 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #2] - adds r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r2, [r4, #0x24] - adds r3, #0xa - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r4, #0x26] - ldr r2, _0800C010 @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - bl sub_C0D8 - ldr r0, _0800BFF8 @ =0x0202BF10 - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r0, #0xc0 - ble _0800BFEC - ldr r1, _0800C014 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldrh r0, [r4, #0x24] + subs r0, #1 + strh r0, [r4, #0x24] + ldrh r0, [r4, #0x26] + subs r0, #1 + strh r0, [r4, #0x26] + ldr r1, _0800C00C @ =0x0200B0C0 + ldrh r2, [r4, #0x18] + movs r3, #0xbc + lsls r3, r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0x1a] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0xc] + subs r3, #6 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0xe] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4] + subs r3, #6 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #2] + adds r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r2, [r4, #0x24] + adds r3, #0xa + adds r0, r1, r3 + strh r2, [r0] + ldrh r0, [r4, #0x26] + ldr r2, _0800C010 @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + bl sub_C0D8 + ldr r0, _0800BFF8 @ =0x0202BF10 + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r0, #0xc0 + ble _0800BFEC + ldr r1, _0800C014 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800BFEC: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800BFF4: .4byte 0x0202ADA0 _0800BFF8: .4byte 0x0202BF10 _0800BFFC: .4byte 0x0000FFFD @@ -23336,79 +23336,79 @@ _0800C00C: .4byte 0x0200B0C0 _0800C010: .4byte 0x000002F6 _0800C014: .4byte 0x0202C790 - thumb_func_start sub_C018 + thumb_func_start sub_C018 sub_C018: @ 0x0800C018 - push {r4, r5, lr} - ldr r4, _0800C044 @ =0x0202ADA0 - ldrh r0, [r4, #0x24] - subs r0, #1 - strh r0, [r4, #0x24] - ldrh r0, [r4, #0x26] - subs r0, #1 - strh r0, [r4, #0x26] - ldr r5, _0800C048 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r5, r1] - movs r1, #6 - bl __modsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - bne _0800C050 - ldr r1, _0800C04C @ =0x0201A450 - ldrh r0, [r1] - subs r0, #3 - b _0800C05A - .align 2, 0 + push {r4, r5, lr} + ldr r4, _0800C044 @ =0x0202ADA0 + ldrh r0, [r4, #0x24] + subs r0, #1 + strh r0, [r4, #0x24] + ldrh r0, [r4, #0x26] + subs r0, #1 + strh r0, [r4, #0x26] + ldr r5, _0800C048 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r5, r1] + movs r1, #6 + bl __modsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + bne _0800C050 + ldr r1, _0800C04C @ =0x0201A450 + ldrh r0, [r1] + subs r0, #3 + b _0800C05A + .align 2, 0 _0800C044: .4byte 0x0202ADA0 _0800C048: .4byte 0x0202BF10 _0800C04C: .4byte 0x0201A450 _0800C050: - cmp r0, #3 - bne _0800C05C - ldr r1, _0800C0A4 @ =0x0201A450 - ldrh r0, [r1] - adds r0, #3 + cmp r0, #3 + bne _0800C05C + ldr r1, _0800C0A4 @ =0x0201A450 + ldrh r0, [r1] + adds r0, #3 _0800C05A: - strh r0, [r1] + strh r0, [r1] _0800C05C: - movs r2, #0 - ldrsh r0, [r5, r2] - cmp r0, #0xca - ble _0800C074 - ldr r1, _0800C0A8 @ =0x0202C5E4 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - ldr r1, _0800C0AC @ =0x0202ADD8 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] + movs r2, #0 + ldrsh r0, [r5, r2] + cmp r0, #0xca + ble _0800C074 + ldr r1, _0800C0A8 @ =0x0202C5E4 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] + ldr r1, _0800C0AC @ =0x0202ADD8 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] _0800C074: - ldr r1, _0800C0B0 @ =0x0200B0C0 - ldrh r2, [r4, #0x24] - movs r3, #0xbd - lsls r3, r3, #2 - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r4, #0x26] - ldr r2, _0800C0B4 @ =0x000002F6 - adds r1, r1, r2 - strh r0, [r1] - bl sub_C0D8 - movs r3, #0 - ldrsh r0, [r5, r3] - cmp r0, #0xde - ble _0800C09C - ldr r1, _0800C0B8 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldr r1, _0800C0B0 @ =0x0200B0C0 + ldrh r2, [r4, #0x24] + movs r3, #0xbd + lsls r3, r3, #2 + adds r0, r1, r3 + strh r2, [r0] + ldrh r0, [r4, #0x26] + ldr r2, _0800C0B4 @ =0x000002F6 + adds r1, r1, r2 + strh r0, [r1] + bl sub_C0D8 + movs r3, #0 + ldrsh r0, [r5, r3] + cmp r0, #0xde + ble _0800C09C + ldr r1, _0800C0B8 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800C09C: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0800C0A4: .4byte 0x0201A450 _0800C0A8: .4byte 0x0202C5E4 _0800C0AC: .4byte 0x0202ADD8 @@ -23416,162 +23416,162 @@ _0800C0B0: .4byte 0x0200B0C0 _0800C0B4: .4byte 0x000002F6 _0800C0B8: .4byte 0x0202C790 - thumb_func_start sub_C0BC + thumb_func_start sub_C0BC sub_C0BC: @ 0x0800C0BC - push {lr} - bl sub_10480 - bl sub_10544 - ldr r1, _0800C0D4 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_10480 + bl sub_10544 + ldr r1, _0800C0D4 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 _0800C0D4: .4byte 0x0202C790 - thumb_func_start sub_C0D8 + thumb_func_start sub_C0D8 sub_C0D8: @ 0x0800C0D8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r0, _0800C1EC @ =0x0200B3B8 - mov r8, r0 - movs r0, #1 - mov r1, r8 - strh r0, [r1] - ldr r0, _0800C1F0 @ =0x086A7B74 - movs r1, #1 - mov r2, r8 - bl sub_358 - mov r2, r8 - ldrh r0, [r2] - cmp r0, #1 - bne _0800C1D4 - ldr r5, _0800C1F4 @ =0x0202C5E4 - movs r3, #0 - ldrsh r0, [r5, r3] - ldr r4, _0800C1F8 @ =0x0202ADD8 - movs r2, #0 - ldrsh r1, [r4, r2] - movs r2, #0 - bl sub_7C0 - ldr r1, _0800C1FC @ =0x0201A450 - ldrh r0, [r1] - mov r3, r8 - strh r0, [r3, #2] - ldrh r0, [r1, #2] - strh r0, [r3, #4] - movs r7, #0 - ldr r6, _0800C200 @ =0x03005000 - mov sl, r4 - mov r5, r8 - adds r5, #8 - ldr r4, _0800C204 @ =0xFFFFFE00 - mov sb, r4 - movs r0, #4 - rsbs r0, r0, #0 - mov ip, r0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r0, _0800C1EC @ =0x0200B3B8 + mov r8, r0 + movs r0, #1 + mov r1, r8 + strh r0, [r1] + ldr r0, _0800C1F0 @ =0x086A7B74 + movs r1, #1 + mov r2, r8 + bl sub_358 + mov r2, r8 + ldrh r0, [r2] + cmp r0, #1 + bne _0800C1D4 + ldr r5, _0800C1F4 @ =0x0202C5E4 + movs r3, #0 + ldrsh r0, [r5, r3] + ldr r4, _0800C1F8 @ =0x0202ADD8 + movs r2, #0 + ldrsh r1, [r4, r2] + movs r2, #0 + bl sub_7C0 + ldr r1, _0800C1FC @ =0x0201A450 + ldrh r0, [r1] + mov r3, r8 + strh r0, [r3, #2] + ldrh r0, [r1, #2] + strh r0, [r3, #4] + movs r7, #0 + ldr r6, _0800C200 @ =0x03005000 + mov sl, r4 + mov r5, r8 + adds r5, #8 + ldr r4, _0800C204 @ =0xFFFFFE00 + mov sb, r4 + movs r0, #4 + rsbs r0, r0, #0 + mov ip, r0 _0800C132: - ldrh r2, [r5] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r0, [r5] - lsls r0, r0, #3 - adds r3, r0, r6 - lsls r0, r7, #2 - ldr r1, _0800C208 @ =0x086A7B7C - adds r4, r0, r1 - movs r0, #0 - ldrsh r2, [r4, r0] - str r2, [sp] - ldr r1, _0800C1F4 @ =0x0202C5E4 - movs r2, #0 - ldrsh r0, [r1, r2] - ldr r2, [sp] - adds r1, r2, #0 - muls r1, r0, r1 - cmp r1, #0 - bge _0800C16A - adds r1, #0xff + ldrh r2, [r5] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r0, [r5] + lsls r0, r0, #3 + adds r3, r0, r6 + lsls r0, r7, #2 + ldr r1, _0800C208 @ =0x086A7B7C + adds r4, r0, r1 + movs r0, #0 + ldrsh r2, [r4, r0] + str r2, [sp] + ldr r1, _0800C1F4 @ =0x0202C5E4 + movs r2, #0 + ldrsh r0, [r1, r2] + ldr r2, [sp] + adds r1, r2, #0 + muls r1, r0, r1 + cmp r1, #0 + bge _0800C16A + adds r1, #0xff _0800C16A: - asrs r1, r1, #8 - str r1, [sp] - mov r1, r8 - movs r2, #2 - ldrsh r0, [r1, r2] - ldr r2, [sp] - adds r1, r2, r0 - ldr r2, _0800C20C @ =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 r0, [r5] - lsls r0, r0, #3 - adds r2, r0, r6 - movs r3, #2 - ldrsh r1, [r4, r3] - mov r4, sl - movs r3, #0 - ldrsh r0, [r4, r3] - muls r0, r1, r0 - cmp r0, #0 - bge _0800C1A0 - adds r0, #0xff + asrs r1, r1, #8 + str r1, [sp] + mov r1, r8 + movs r2, #2 + ldrsh r0, [r1, r2] + ldr r2, [sp] + adds r1, r2, r0 + ldr r2, _0800C20C @ =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 r0, [r5] + lsls r0, r0, #3 + adds r2, r0, r6 + movs r3, #2 + ldrsh r1, [r4, r3] + mov r4, sl + movs r3, #0 + ldrsh r0, [r4, r3] + muls r0, r1, r0 + cmp r0, #0 + bge _0800C1A0 + adds r0, #0xff _0800C1A0: - asrs r0, r0, #8 - mov r4, r8 - ldrb r4, [r4, #4] - adds r0, r0, r4 - strb r0, [r2] - ldrh r2, [r5] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #1] - mov r0, ip - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #1] - ldrh r1, [r5] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #3] - movs r0, #0xf - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r1, #3] - adds r5, #8 - adds r7, #1 - cmp r7, #3 - ble _0800C132 + asrs r0, r0, #8 + mov r4, r8 + ldrb r4, [r4, #4] + adds r0, r0, r4 + strb r0, [r2] + ldrh r2, [r5] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #1] + mov r0, ip + ands r0, r1 + movs r1, #1 + orrs r0, r1 + strb r0, [r2, #1] + ldrh r1, [r5] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #3] + movs r0, #0xf + rsbs r0, r0, #0 + ands r0, r2 + strb r0, [r1, #3] + adds r5, #8 + adds r7, #1 + cmp r7, #3 + ble _0800C132 _0800C1D4: - movs r0, #0 - mov r1, r8 - strh r0, [r1] - 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 + movs r0, #0 + mov r1, r8 + strh r0, [r1] + 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 _0800C1EC: .4byte 0x0200B3B8 _0800C1F0: .4byte 0x086A7B74 _0800C1F4: .4byte 0x0202C5E4 @@ -23582,88 +23582,88 @@ _0800C204: .4byte 0xFFFFFE00 _0800C208: .4byte 0x086A7B7C _0800C20C: .4byte 0x000001FF - thumb_func_start sub_C210 + thumb_func_start sub_C210 sub_C210: @ 0x0800C210 - push {lr} - bl sub_518 - ldr r1, _0800C224 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_518 + ldr r1, _0800C224 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 _0800C224: .4byte 0x0202C790 - thumb_func_start sub_C228 + thumb_func_start sub_C228 sub_C228: @ 0x0800C228 - push {r4, lr} - movs r3, #0x80 - lsls r3, r3, #0x13 - movs r1, #0x80 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r3] - ldr r1, _0800C2B4 @ =0x0400000C - movs r0, #7 - strh r0, [r1] - ldrh r0, [r3] - movs r2, #0x80 - lsls r2, r2, #3 - adds r1, r2, #0 - orrs r0, r1 - strh r0, [r3] - ldr r0, _0800C2B8 @ =0x040000D4 - ldr r1, _0800C2BC @ =0x0810EC20 - str r1, [r0] - movs r1, #0xc0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r1, _0800C2C0 @ =0x80000400 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800C2C4 @ =0x0810F420 - str r1, [r0] - ldr r1, _0800C2C8 @ =0x06004000 - str r1, [r0, #4] - ldr r1, _0800C2CC @ =0x80001A00 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r4, _0800C2D0 @ =0x0810EA20 - str r4, [r0] - movs r1, #0xa0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r2, _0800C2D4 @ =0x800000A0 - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800C2D8 @ =0x08112840 - str r1, [r0] - ldr r1, _0800C2DC @ =0x06010000 - str r1, [r0, #4] - ldr r1, _0800C2E0 @ =0x80001600 - str r1, [r0, #8] - ldr r1, [r0, #8] - str r4, [r0] - ldr r1, _0800C2E4 @ =0x05000200 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r0, [r0, #8] - ldr r1, _0800C2E8 @ =0x0200B0C0 - ldrh r0, [r3] - strh r0, [r1, #0x16] - bl sub_C2F0 - bl sub_C4F0 - bl sub_CBC - bl sub_10424 - ldr r1, _0800C2EC @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + movs r3, #0x80 + lsls r3, r3, #0x13 + movs r1, #0x80 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r3] + ldr r1, _0800C2B4 @ =0x0400000C + movs r0, #7 + strh r0, [r1] + ldrh r0, [r3] + movs r2, #0x80 + lsls r2, r2, #3 + adds r1, r2, #0 + orrs r0, r1 + strh r0, [r3] + ldr r0, _0800C2B8 @ =0x040000D4 + ldr r1, _0800C2BC @ =0x0810EC20 + str r1, [r0] + movs r1, #0xc0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r1, _0800C2C0 @ =0x80000400 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800C2C4 @ =0x0810F420 + str r1, [r0] + ldr r1, _0800C2C8 @ =0x06004000 + str r1, [r0, #4] + ldr r1, _0800C2CC @ =0x80001A00 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r4, _0800C2D0 @ =0x0810EA20 + str r4, [r0] + movs r1, #0xa0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r2, _0800C2D4 @ =0x800000A0 + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800C2D8 @ =0x08112840 + str r1, [r0] + ldr r1, _0800C2DC @ =0x06010000 + str r1, [r0, #4] + ldr r1, _0800C2E0 @ =0x80001600 + str r1, [r0, #8] + ldr r1, [r0, #8] + str r4, [r0] + ldr r1, _0800C2E4 @ =0x05000200 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r0, [r0, #8] + ldr r1, _0800C2E8 @ =0x0200B0C0 + ldrh r0, [r3] + strh r0, [r1, #0x16] + bl sub_C2F0 + bl sub_C4F0 + bl sub_CBC + bl sub_10424 + ldr r1, _0800C2EC @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800C2B4: .4byte 0x0400000C _0800C2B8: .4byte 0x040000D4 _0800C2BC: .4byte 0x0810EC20 @@ -23680,447 +23680,447 @@ _0800C2E4: .4byte 0x05000200 _0800C2E8: .4byte 0x0200B0C0 _0800C2EC: .4byte 0x0202C790 - thumb_func_start sub_C2F0 + thumb_func_start sub_C2F0 sub_C2F0: @ 0x0800C2F0 - push {r4, r5, r6, lr} - ldr r0, _0800C380 @ =0x0201A450 - mov ip, r0 - movs r4, #0 - movs r1, #0 - movs r5, #0x78 - strh r5, [r0, #0x10] - movs r2, #0x50 - strh r2, [r0, #0x12] - movs r0, #4 - mov r3, ip - strh r0, [r3, #0x14] - strh r0, [r3, #0x16] - strh r1, [r3, #0x18] - strh r5, [r3] - strh r2, [r3, #2] - strb r4, [r3, #0xc] - movs r2, #0x80 - strh r2, [r3, #0x20] - movs r3, #0x58 - mov r0, ip - strh r3, [r0, #0x22] - strh r1, [r0, #0x28] - strh r1, [r0, #0x2a] - adds r0, #0x2c - strb r4, [r0] - mov r0, ip - strh r2, [r0, #0x30] - movs r6, #0x48 - strh r6, [r0, #0x32] - strh r1, [r0, #0x38] - strh r1, [r0, #0x3a] - adds r0, #0x3c - strb r4, [r0] - adds r0, #4 - movs r2, #0x70 - strh r2, [r0] - adds r0, #2 - strh r3, [r0] - adds r0, #6 - strh r1, [r0] - adds r0, #2 - strh r1, [r0] - adds r0, #2 - strb r4, [r0] - adds r0, #4 - strh r5, [r0] - adds r0, #2 - strh r3, [r0] - adds r0, #6 - strh r1, [r0] - adds r0, #2 - strh r1, [r0] - adds r0, #2 - strb r4, [r0] - adds r0, #4 - strh r2, [r0] - adds r0, #2 - strh r6, [r0] - adds r0, #6 - strh r1, [r0] - adds r0, #2 - strh r1, [r0] - adds r0, #2 - strb r4, [r0] - ldr r0, _0800C384 @ =0x0202BF10 - strh r1, [r0] - ldr r0, _0800C388 @ =0x0202A578 - strh r1, [r0] - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + ldr r0, _0800C380 @ =0x0201A450 + mov ip, r0 + movs r4, #0 + movs r1, #0 + movs r5, #0x78 + strh r5, [r0, #0x10] + movs r2, #0x50 + strh r2, [r0, #0x12] + movs r0, #4 + mov r3, ip + strh r0, [r3, #0x14] + strh r0, [r3, #0x16] + strh r1, [r3, #0x18] + strh r5, [r3] + strh r2, [r3, #2] + strb r4, [r3, #0xc] + movs r2, #0x80 + strh r2, [r3, #0x20] + movs r3, #0x58 + mov r0, ip + strh r3, [r0, #0x22] + strh r1, [r0, #0x28] + strh r1, [r0, #0x2a] + adds r0, #0x2c + strb r4, [r0] + mov r0, ip + strh r2, [r0, #0x30] + movs r6, #0x48 + strh r6, [r0, #0x32] + strh r1, [r0, #0x38] + strh r1, [r0, #0x3a] + adds r0, #0x3c + strb r4, [r0] + adds r0, #4 + movs r2, #0x70 + strh r2, [r0] + adds r0, #2 + strh r3, [r0] + adds r0, #6 + strh r1, [r0] + adds r0, #2 + strh r1, [r0] + adds r0, #2 + strb r4, [r0] + adds r0, #4 + strh r5, [r0] + adds r0, #2 + strh r3, [r0] + adds r0, #6 + strh r1, [r0] + adds r0, #2 + strh r1, [r0] + adds r0, #2 + strb r4, [r0] + adds r0, #4 + strh r2, [r0] + adds r0, #2 + strh r6, [r0] + adds r0, #6 + strh r1, [r0] + adds r0, #2 + strh r1, [r0] + adds r0, #2 + strb r4, [r0] + ldr r0, _0800C384 @ =0x0202BF10 + strh r1, [r0] + ldr r0, _0800C388 @ =0x0202A578 + strh r1, [r0] + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0800C380: .4byte 0x0201A450 _0800C384: .4byte 0x0202BF10 _0800C388: .4byte 0x0202A578 - thumb_func_start sub_C38C + thumb_func_start sub_C38C sub_C38C: @ 0x0800C38C - push {lr} - bl sub_C4F0 - ldr r0, _0800C3C4 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #1 - ble _0800C3C0 - ldr r2, _0800C3C8 @ =0x0201A450 - movs r1, #1 - strb r1, [r2, #0xc] - adds r0, r2, #0 - adds r0, #0x2c - strb r1, [r0] - adds r0, #0x10 - strb r1, [r0] - adds r0, #0x10 - strb r1, [r0] - adds r0, #0x10 - strb r1, [r0] - adds r0, #0x10 - strb r1, [r0] - ldr r1, _0800C3CC @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + push {lr} + bl sub_C4F0 + ldr r0, _0800C3C4 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #1 + ble _0800C3C0 + ldr r2, _0800C3C8 @ =0x0201A450 + movs r1, #1 + strb r1, [r2, #0xc] + adds r0, r2, #0 + adds r0, #0x2c + strb r1, [r0] + adds r0, #0x10 + strb r1, [r0] + adds r0, #0x10 + strb r1, [r0] + adds r0, #0x10 + strb r1, [r0] + adds r0, #0x10 + strb r1, [r0] + ldr r1, _0800C3CC @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800C3C0: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _0800C3C4: .4byte 0x0202BF10 _0800C3C8: .4byte 0x0201A450 _0800C3CC: .4byte 0x0202C790 - thumb_func_start sub_C3D0 + thumb_func_start sub_C3D0 sub_C3D0: @ 0x0800C3D0 - push {r4, lr} - ldr r3, _0800C408 @ =0x0201A450 - ldrh r0, [r3] - subs r0, #9 - strh r0, [r3] - ldrh r0, [r3, #2] - subs r0, #6 - strh r0, [r3, #2] - ldrh r0, [r3, #0x18] - adds r0, #1 - strh r0, [r3, #0x18] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #3 - bgt _0800C40C - ldrh r2, [r3, #0x14] - ldrh r1, [r3, #0x10] - adds r0, r2, r1 - strh r0, [r3, #0x10] - ldrh r1, [r3, #0x16] - ldrh r4, [r3, #0x12] - adds r0, r1, r4 - strh r0, [r3, #0x12] - subs r2, #1 - strh r2, [r3, #0x14] - subs r1, #1 - strh r1, [r3, #0x16] - b _0800C424 - .align 2, 0 + push {r4, lr} + ldr r3, _0800C408 @ =0x0201A450 + ldrh r0, [r3] + subs r0, #9 + strh r0, [r3] + ldrh r0, [r3, #2] + subs r0, #6 + strh r0, [r3, #2] + ldrh r0, [r3, #0x18] + adds r0, #1 + strh r0, [r3, #0x18] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #3 + bgt _0800C40C + ldrh r2, [r3, #0x14] + ldrh r1, [r3, #0x10] + adds r0, r2, r1 + strh r0, [r3, #0x10] + ldrh r1, [r3, #0x16] + ldrh r4, [r3, #0x12] + adds r0, r1, r4 + strh r0, [r3, #0x12] + subs r2, #1 + strh r2, [r3, #0x14] + subs r1, #1 + strh r1, [r3, #0x16] + b _0800C424 + .align 2, 0 _0800C408: .4byte 0x0201A450 _0800C40C: - ldr r0, _0800C444 @ =0x0202BF10 - ldrh r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0800C424 - ldrh r0, [r3, #0x10] - adds r0, #1 - strh r0, [r3, #0x10] - ldrh r0, [r3, #0x12] - adds r0, #1 - strh r0, [r3, #0x12] + ldr r0, _0800C444 @ =0x0202BF10 + ldrh r0, [r0] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + bne _0800C424 + ldrh r0, [r3, #0x10] + adds r0, #1 + strh r0, [r3, #0x10] + ldrh r0, [r3, #0x12] + adds r0, #1 + strh r0, [r3, #0x12] _0800C424: - bl sub_C4F0 - ldr r0, _0800C448 @ =0x0201A450 - movs r2, #2 - ldrsh r1, [r0, r2] - movs r0, #0x20 - rsbs r0, r0, #0 - cmp r1, r0 - bge _0800C43E - ldr r1, _0800C44C @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + bl sub_C4F0 + ldr r0, _0800C448 @ =0x0201A450 + movs r2, #2 + ldrsh r1, [r0, r2] + movs r0, #0x20 + rsbs r0, r0, #0 + cmp r1, r0 + bge _0800C43E + ldr r1, _0800C44C @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800C43E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800C444: .4byte 0x0202BF10 _0800C448: .4byte 0x0201A450 _0800C44C: .4byte 0x0202C790 - thumb_func_start sub_C450 + thumb_func_start sub_C450 sub_C450: @ 0x0800C450 - push {lr} - bl sub_C4F0 - ldr r2, _0800C484 @ =0x0202BF10 - ldrh r0, [r2] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0800C470 - ldr r0, _0800C488 @ =0x0201A450 - ldrh r1, [r0, #0x10] - adds r1, #1 - strh r1, [r0, #0x10] - ldrh r1, [r0, #0x12] - adds r1, #1 - strh r1, [r0, #0x12] + push {lr} + bl sub_C4F0 + ldr r2, _0800C484 @ =0x0202BF10 + ldrh r0, [r2] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + bne _0800C470 + ldr r0, _0800C488 @ =0x0201A450 + ldrh r1, [r0, #0x10] + adds r1, #1 + strh r1, [r0, #0x10] + ldrh r1, [r0, #0x12] + adds r1, #1 + strh r1, [r0, #0x12] _0800C470: - movs r1, #0 - ldrsh r0, [r2, r1] - cmp r0, #0x14 - ble _0800C480 - ldr r1, _0800C48C @ =0x0202C790 - ldrb r0, [r1] - adds r0, #3 - strb r0, [r1] + movs r1, #0 + ldrsh r0, [r2, r1] + cmp r0, #0x14 + ble _0800C480 + ldr r1, _0800C48C @ =0x0202C790 + ldrb r0, [r1] + adds r0, #3 + strb r0, [r1] _0800C480: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _0800C484: .4byte 0x0202BF10 _0800C488: .4byte 0x0201A450 _0800C48C: .4byte 0x0202C790 - thumb_func_start nullsub_12 + thumb_func_start nullsub_12 nullsub_12: @ 0x0800C490 - bx lr + bx lr - thumb_func_start nullsub_13 + thumb_func_start nullsub_13 nullsub_13: @ 0x0800C494 - bx lr + bx lr - thumb_func_start sub_C498 + thumb_func_start sub_C498 sub_C498: @ 0x0800C498 - push {lr} - sub sp, #8 - bl sub_10480 - bl sub_578 - movs r2, #0 - str r2, [sp] - ldr r1, _0800C4DC @ =0x040000D4 - mov r0, sp - str r0, [r1] - movs r0, #0xe0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _0800C4E0 @ =0x85000100 - str r0, [r1, #8] - ldr r0, [r1, #8] - add r0, sp, #4 - strh r2, [r0] - str r0, [r1] - ldr r0, _0800C4E4 @ =0x06010000 - str r0, [r1, #4] - ldr r0, _0800C4E8 @ =0x81002800 - str r0, [r1, #8] - ldr r0, [r1, #8] - bl sub_10544 - ldr r1, _0800C4EC @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - add sp, #8 - pop {r0} - bx r0 - .align 2, 0 + push {lr} + sub sp, #8 + bl sub_10480 + bl sub_578 + movs r2, #0 + str r2, [sp] + ldr r1, _0800C4DC @ =0x040000D4 + mov r0, sp + str r0, [r1] + movs r0, #0xe0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _0800C4E0 @ =0x85000100 + str r0, [r1, #8] + ldr r0, [r1, #8] + add r0, sp, #4 + strh r2, [r0] + str r0, [r1] + ldr r0, _0800C4E4 @ =0x06010000 + str r0, [r1, #4] + ldr r0, _0800C4E8 @ =0x81002800 + str r0, [r1, #8] + ldr r0, [r1, #8] + bl sub_10544 + ldr r1, _0800C4EC @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + add sp, #8 + pop {r0} + bx r0 + .align 2, 0 _0800C4DC: .4byte 0x040000D4 _0800C4E0: .4byte 0x85000100 _0800C4E4: .4byte 0x06010000 _0800C4E8: .4byte 0x81002800 _0800C4EC: .4byte 0x0202C790 - thumb_func_start sub_C4F0 + thumb_func_start sub_C4F0 sub_C4F0: @ 0x0800C4F0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x20 - ldr r0, _0800C64C @ =0x0200B3B8 - mov r8, r0 - ldr r6, _0800C650 @ =0x0201A450 - movs r1, #0x28 - ldrsh r0, [r6, r1] - movs r2, #0xe6 - lsls r2, r2, #2 - adds r3, r0, #0 - muls r3, r2, r3 - movs r0, #0xb8 - lsls r0, r0, #1 - add r0, r8 - adds r3, r3, r0 - str r3, [sp] - movs r7, #0x38 - ldrsh r0, [r6, r7] - muls r0, r2, r0 - movs r1, #0x8a - lsls r1, r1, #2 - add r1, r8 - adds r0, r0, r1 - str r0, [sp, #4] - adds r0, r6, #0 - adds r0, #0x48 - movs r1, #0 - ldrsh r0, [r0, r1] - muls r0, r2, r0 - movs r1, #0xb8 - lsls r1, r1, #2 - add r1, r8 - adds r0, r0, r1 - str r0, [sp, #8] - adds r0, r6, #0 - adds r0, #0x58 - movs r7, #0 - ldrsh r0, [r0, r7] - muls r0, r2, r0 - adds r1, r2, #0 - add r1, r8 - adds r0, r0, r1 - str r0, [sp, #0xc] - adds r0, r6, #0 - adds r0, #0x68 - movs r1, #0 - ldrsh r0, [r0, r1] - muls r0, r2, r0 - movs r1, #0x8a - lsls r1, r1, #3 - add r1, r8 - adds r0, r0, r1 - str r0, [sp, #0x10] - movs r0, #0xc - ldrsb r0, [r6, r0] - mov r2, r8 - strh r0, [r2] - movs r0, #1 - ldr r7, _0800C654 @ =0x0200B470 - strh r0, [r7] - adds r0, r6, #0 - adds r0, #0x2c - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r3] - ldr r1, [sp, #4] - adds r0, r6, #0 - adds r0, #0x3c - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r1] - ldr r1, [sp, #8] - adds r0, r6, #0 - adds r0, #0x4c - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r1] - ldr r1, [sp, #0xc] - adds r0, r6, #0 - adds r0, #0x5c - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r1] - ldr r1, [sp, #0x10] - adds r0, r6, #0 - adds r0, #0x6c - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r1] - ldr r0, _0800C658 @ =0x086A7C24 - movs r1, #0x11 - bl sub_358 - mov r1, r8 - ldrh r0, [r1] - cmp r0, #1 - bne _0800C614 - ldrh r0, [r6] - strh r0, [r1, #2] - ldrh r0, [r6, #2] - strh r0, [r1, #4] - mov r5, r8 - adds r5, #8 - ldr r4, _0800C65C @ =0x03005000 - ldrh r1, [r1, #8] - lsls r1, r1, #3 - adds r1, r1, r4 - ldrb r2, [r1, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r1, #5] - mov r3, r8 - ldrh r2, [r3, #8] - lsls r2, r2, #3 - adds r2, r2, r4 - movs r7, #2 - ldrsh r1, [r5, r7] - movs r7, #2 - ldrsh r0, [r3, r7] - adds r1, r1, r0 - ldr r3, _0800C660 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _0800C664 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - mov r7, r8 - ldrh r1, [r7, #8] - lsls r1, r1, #3 - adds r1, r1, r4 - ldrb r0, [r7, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x20 + ldr r0, _0800C64C @ =0x0200B3B8 + mov r8, r0 + ldr r6, _0800C650 @ =0x0201A450 + movs r1, #0x28 + ldrsh r0, [r6, r1] + movs r2, #0xe6 + lsls r2, r2, #2 + adds r3, r0, #0 + muls r3, r2, r3 + movs r0, #0xb8 + lsls r0, r0, #1 + add r0, r8 + adds r3, r3, r0 + str r3, [sp] + movs r7, #0x38 + ldrsh r0, [r6, r7] + muls r0, r2, r0 + movs r1, #0x8a + lsls r1, r1, #2 + add r1, r8 + adds r0, r0, r1 + str r0, [sp, #4] + adds r0, r6, #0 + adds r0, #0x48 + movs r1, #0 + ldrsh r0, [r0, r1] + muls r0, r2, r0 + movs r1, #0xb8 + lsls r1, r1, #2 + add r1, r8 + adds r0, r0, r1 + str r0, [sp, #8] + adds r0, r6, #0 + adds r0, #0x58 + movs r7, #0 + ldrsh r0, [r0, r7] + muls r0, r2, r0 + adds r1, r2, #0 + add r1, r8 + adds r0, r0, r1 + str r0, [sp, #0xc] + adds r0, r6, #0 + adds r0, #0x68 + movs r1, #0 + ldrsh r0, [r0, r1] + muls r0, r2, r0 + movs r1, #0x8a + lsls r1, r1, #3 + add r1, r8 + adds r0, r0, r1 + str r0, [sp, #0x10] + movs r0, #0xc + ldrsb r0, [r6, r0] + mov r2, r8 + strh r0, [r2] + movs r0, #1 + ldr r7, _0800C654 @ =0x0200B470 + strh r0, [r7] + adds r0, r6, #0 + adds r0, #0x2c + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r3] + ldr r1, [sp, #4] + adds r0, r6, #0 + adds r0, #0x3c + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r1] + ldr r1, [sp, #8] + adds r0, r6, #0 + adds r0, #0x4c + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r1] + ldr r1, [sp, #0xc] + adds r0, r6, #0 + adds r0, #0x5c + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r1] + ldr r1, [sp, #0x10] + adds r0, r6, #0 + adds r0, #0x6c + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r1] + ldr r0, _0800C658 @ =0x086A7C24 + movs r1, #0x11 + bl sub_358 + mov r1, r8 + ldrh r0, [r1] + cmp r0, #1 + bne _0800C614 + ldrh r0, [r6] + strh r0, [r1, #2] + ldrh r0, [r6, #2] + strh r0, [r1, #4] + mov r5, r8 + adds r5, #8 + ldr r4, _0800C65C @ =0x03005000 + ldrh r1, [r1, #8] + lsls r1, r1, #3 + adds r1, r1, r4 + ldrb r2, [r1, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r2 + strb r0, [r1, #5] + mov r3, r8 + ldrh r2, [r3, #8] + lsls r2, r2, #3 + adds r2, r2, r4 + movs r7, #2 + ldrsh r1, [r5, r7] + movs r7, #2 + ldrsh r0, [r3, r7] + adds r1, r1, r0 + ldr r3, _0800C660 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _0800C664 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + mov r7, r8 + ldrh r1, [r7, #8] + lsls r1, r1, #3 + adds r1, r1, r4 + ldrb r0, [r7, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] _0800C614: - movs r5, #0 - str r6, [sp, #0x14] + movs r5, #0 + str r6, [sp, #0x14] _0800C618: - lsls r1, r5, #2 - mov r2, sp - adds r0, r2, r1 - ldr r0, [r0] - ldrh r0, [r0] - adds r4, r1, #0 - adds r3, r5, #1 - str r3, [sp, #0x18] - cmp r0, #1 - beq _0800C62E - b _0800C75A + lsls r1, r5, #2 + mov r2, sp + adds r0, r2, r1 + ldr r0, [r0] + ldrh r0, [r0] + adds r4, r1, #0 + adds r3, r5, #1 + str r3, [sp, #0x18] + cmp r0, #1 + beq _0800C62E + b _0800C75A _0800C62E: - ldr r1, _0800C668 @ =0x0202A578 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #5 - ble _0800C670 - lsls r1, r5, #3 - ldr r6, _0800C66C @ =0x086A7C68 - adds r0, r1, r6 - ldrb r2, [r0, #2] - ldrb r0, [r0, #3] - b _0800C67A - .align 2, 0 + ldr r1, _0800C668 @ =0x0202A578 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #5 + ble _0800C670 + lsls r1, r5, #3 + ldr r6, _0800C66C @ =0x086A7C68 + adds r0, r1, r6 + ldrb r2, [r0, #2] + ldrb r0, [r0, #3] + b _0800C67A + .align 2, 0 _0800C64C: .4byte 0x0200B3B8 _0800C650: .4byte 0x0201A450 _0800C654: .4byte 0x0200B470 @@ -24131,209 +24131,209 @@ _0800C664: .4byte 0xFFFFFE00 _0800C668: .4byte 0x0202A578 _0800C66C: .4byte 0x086A7C68 _0800C670: - lsls r1, r5, #3 - ldr r7, _0800C7F8 @ =0x086A7C68 - adds r0, r1, r7 - ldrb r2, [r0] - ldrb r0, [r0, #1] + lsls r1, r5, #3 + ldr r7, _0800C7F8 @ =0x086A7C68 + adds r0, r1, r7 + ldrb r2, [r0] + ldrb r0, [r0, #1] _0800C67A: - adds r7, r1, #0 - adds r3, r5, #2 - lsls r1, r3, #4 - ldr r6, [sp, #0x14] - adds r1, r1, r6 - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - ldrh r6, [r1] - adds r2, r2, r6 - strh r2, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r6, [r1, #2] - adds r0, r0, r6 - strh r0, [r1, #2] - add r4, sp - ldr r0, [r4] - strh r2, [r0, #2] - ldr r2, [r4] - ldrh r0, [r1, #2] - strh r0, [r2, #4] - movs r0, #8 - ldrsh r1, [r1, r0] - lsls r0, r1, #2 - adds r0, r0, r1 - adds r0, #2 - adds r0, r5, r0 - lsls r0, r0, #2 - ldr r1, _0800C7FC @ =0x086A7C24 - adds r0, r0, r1 - ldr r0, [r0] - mov sb, r0 - movs r6, #0 - str r3, [sp, #0x1c] - adds r5, #1 - str r5, [sp, #0x18] - ldrh r2, [r0] - cmp r6, r2 - bge _0800C732 - ldr r3, _0800C800 @ =0x03005000 - mov ip, r3 - ldr r0, _0800C7F8 @ =0x086A7C68 - adds r7, r7, r0 - mov sl, r7 - movs r7, #8 + adds r7, r1, #0 + adds r3, r5, #2 + lsls r1, r3, #4 + ldr r6, [sp, #0x14] + adds r1, r1, r6 + lsls r2, r2, #0x18 + asrs r2, r2, #0x18 + ldrh r6, [r1] + adds r2, r2, r6 + strh r2, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldrh r6, [r1, #2] + adds r0, r0, r6 + strh r0, [r1, #2] + add r4, sp + ldr r0, [r4] + strh r2, [r0, #2] + ldr r2, [r4] + ldrh r0, [r1, #2] + strh r0, [r2, #4] + movs r0, #8 + ldrsh r1, [r1, r0] + lsls r0, r1, #2 + adds r0, r0, r1 + adds r0, #2 + adds r0, r5, r0 + lsls r0, r0, #2 + ldr r1, _0800C7FC @ =0x086A7C24 + adds r0, r0, r1 + ldr r0, [r0] + mov sb, r0 + movs r6, #0 + str r3, [sp, #0x1c] + adds r5, #1 + str r5, [sp, #0x18] + ldrh r2, [r0] + cmp r6, r2 + bge _0800C732 + ldr r3, _0800C800 @ =0x03005000 + mov ip, r3 + ldr r0, _0800C7F8 @ =0x086A7C68 + adds r7, r7, r0 + mov sl, r7 + movs r7, #8 _0800C6D4: - ldr r0, [r4] - adds r5, r0, r7 - ldrh r2, [r5] - lsls r2, r2, #3 - add r2, ip - mov r0, sl - ldrb r1, [r0, #5] - movs r3, #3 - ands r1, r3 - lsls r1, r1, #2 - ldrb r3, [r2, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r2, [r5] - lsls r2, r2, #3 - add r2, ip - movs r0, #2 - ldrsh r1, [r5, r0] - ldr r0, [r4] - movs r3, #2 - ldrsh r0, [r0, r3] - adds r1, r1, r0 - ldr r3, _0800C804 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _0800C808 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, ip - ldr r0, [r4] - ldrb r0, [r0, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] - adds r7, #8 - adds r6, #1 - mov r0, sb - ldrh r0, [r0] - cmp r6, r0 - blt _0800C6D4 + ldr r0, [r4] + adds r5, r0, r7 + ldrh r2, [r5] + lsls r2, r2, #3 + add r2, ip + mov r0, sl + ldrb r1, [r0, #5] + movs r3, #3 + ands r1, r3 + lsls r1, r1, #2 + ldrb r3, [r2, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r2, [r5] + lsls r2, r2, #3 + add r2, ip + movs r0, #2 + ldrsh r1, [r5, r0] + ldr r0, [r4] + movs r3, #2 + ldrsh r0, [r0, r3] + adds r1, r1, r0 + ldr r3, _0800C804 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _0800C808 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, ip + ldr r0, [r4] + ldrb r0, [r0, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] + adds r7, #8 + adds r6, #1 + mov r0, sb + ldrh r0, [r0] + cmp r6, r0 + blt _0800C6D4 _0800C732: - ldr r1, [sp, #0x1c] - lsls r0, r1, #4 - ldr r2, [sp, #0x14] - adds r3, r0, r2 - ldrh r0, [r3, #0xa] - adds r0, #1 - movs r1, #0 - strh r0, [r3, #0xa] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #4 - ble _0800C75A - strh r1, [r3, #0xa] - ldrh r1, [r3, #8] - movs r6, #8 - ldrsh r0, [r3, r6] - cmp r0, #1 - bgt _0800C75A - adds r0, r1, #1 - strh r0, [r3, #8] + ldr r1, [sp, #0x1c] + lsls r0, r1, #4 + ldr r2, [sp, #0x14] + adds r3, r0, r2 + ldrh r0, [r3, #0xa] + adds r0, #1 + movs r1, #0 + strh r0, [r3, #0xa] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #4 + ble _0800C75A + strh r1, [r3, #0xa] + ldrh r1, [r3, #8] + movs r6, #8 + ldrsh r0, [r3, r6] + cmp r0, #1 + bgt _0800C75A + adds r0, r1, #1 + strh r0, [r3, #8] _0800C75A: - ldr r5, [sp, #0x18] - cmp r5, #4 - bgt _0800C762 - b _0800C618 + ldr r5, [sp, #0x18] + cmp r5, #4 + bgt _0800C762 + b _0800C618 _0800C762: - ldr r7, _0800C80C @ =0x0200B470 - ldrh r0, [r7] - cmp r0, #1 - bne _0800C7C8 - ldr r0, _0800C810 @ =0x0201A450 - ldrh r1, [r0, #0x10] - strh r1, [r7, #2] - ldrh r0, [r0, #0x12] - strh r0, [r7, #4] - ldr r5, _0800C800 @ =0x03005000 - ldr r0, _0800C808 @ =0xFFFFFE00 - mov sb, r0 - adds r4, r7, #0 - adds r4, #8 - movs r6, #3 + ldr r7, _0800C80C @ =0x0200B470 + ldrh r0, [r7] + cmp r0, #1 + bne _0800C7C8 + ldr r0, _0800C810 @ =0x0201A450 + ldrh r1, [r0, #0x10] + strh r1, [r7, #2] + ldrh r0, [r0, #0x12] + strh r0, [r7, #4] + ldr r5, _0800C800 @ =0x03005000 + ldr r0, _0800C808 @ =0xFFFFFE00 + mov sb, r0 + adds r4, r7, #0 + adds r4, #8 + movs r6, #3 _0800C780: - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r5 - ldrb r0, [r2, #5] - movs r1, #0xc - orrs r0, r1 - strb r0, [r2, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r5 - movs r2, #2 - ldrsh r1, [r4, r2] - ldr r7, _0800C80C @ =0x0200B470 - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - ldr r7, _0800C804 @ =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, [r4] - lsls r1, r1, #3 - adds r1, r1, r5 - ldr r2, _0800C80C @ =0x0200B470 - ldrb r0, [r2, #4] - ldrb r3, [r4, #4] - adds r0, r0, r3 - strb r0, [r1] - adds r4, #8 - subs r6, #1 - cmp r6, #0 - bge _0800C780 + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r5 + ldrb r0, [r2, #5] + movs r1, #0xc + orrs r0, r1 + strb r0, [r2, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r5 + movs r2, #2 + ldrsh r1, [r4, r2] + ldr r7, _0800C80C @ =0x0200B470 + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + ldr r7, _0800C804 @ =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, [r4] + lsls r1, r1, #3 + adds r1, r1, r5 + ldr r2, _0800C80C @ =0x0200B470 + ldrb r0, [r2, #4] + ldrb r3, [r4, #4] + adds r0, r0, r3 + strb r0, [r1] + adds r4, #8 + subs r6, #1 + cmp r6, #0 + bge _0800C780 _0800C7C8: - movs r0, #0 - ldr r6, _0800C80C @ =0x0200B470 - strh r0, [r6] - mov r7, r8 - strh r0, [r7] - ldr r1, [sp] - strh r0, [r1] - ldr r1, [sp, #4] - strh r0, [r1] - ldr r1, [sp, #8] - strh r0, [r1] - ldr r1, [sp, #0xc] - strh r0, [r1] - ldr r1, [sp, #0x10] - strh r0, [r1] - add sp, #0x20 - 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 + movs r0, #0 + ldr r6, _0800C80C @ =0x0200B470 + strh r0, [r6] + mov r7, r8 + strh r0, [r7] + ldr r1, [sp] + strh r0, [r1] + ldr r1, [sp, #4] + strh r0, [r1] + ldr r1, [sp, #8] + strh r0, [r1] + ldr r1, [sp, #0xc] + strh r0, [r1] + ldr r1, [sp, #0x10] + strh r0, [r1] + add sp, #0x20 + 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 _0800C7F8: .4byte 0x086A7C68 _0800C7FC: .4byte 0x086A7C24 _0800C800: .4byte 0x03005000 @@ -24342,146 +24342,146 @@ _0800C808: .4byte 0xFFFFFE00 _0800C80C: .4byte 0x0200B470 _0800C810: .4byte 0x0201A450 - thumb_func_start sub_C814 + thumb_func_start sub_C814 sub_C814: @ 0x0800C814 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - bl sub_518 - movs r0, #0 - str r0, [sp] - ldr r1, _0800C924 @ =0x040000D4 - mov r0, sp - str r0, [r1] - movs r0, #0xe0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _0800C928 @ =0x85000100 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r5, #0 - ldr r6, _0800C92C @ =0x0200B0C0 - movs r1, #0xb8 - mov sb, r1 - movs r4, #0 - movs r3, #0xc0 - lsls r3, r3, #2 - mov r8, r3 - ldr r7, _0800C930 @ =0x00000302 - mov ip, r7 - movs r0, #0xc1 - lsls r0, r0, #2 - mov sl, r0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + bl sub_518 + movs r0, #0 + str r0, [sp] + ldr r1, _0800C924 @ =0x040000D4 + mov r0, sp + str r0, [r1] + movs r0, #0xe0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _0800C928 @ =0x85000100 + str r0, [r1, #8] + ldr r0, [r1, #8] + movs r5, #0 + ldr r6, _0800C92C @ =0x0200B0C0 + movs r1, #0xb8 + mov sb, r1 + movs r4, #0 + movs r3, #0xc0 + lsls r3, r3, #2 + mov r8, r3 + ldr r7, _0800C930 @ =0x00000302 + mov ip, r7 + movs r0, #0xc1 + lsls r0, r0, #2 + mov sl, r0 _0800C854: - mov r2, sb - muls r2, r5, r2 - adds r1, r2, r6 - movs r3, #0xbe - lsls r3, r3, #2 - adds r0, r1, r3 - strh r4, [r0] - ldr r7, _0800C934 @ =0x000002FA - adds r0, r1, r7 - strh r4, [r0] - movs r0, #0xbf - lsls r0, r0, #2 - adds r1, r1, r0 - strh r4, [r1] - movs r3, #0 + mov r2, sb + muls r2, r5, r2 + adds r1, r2, r6 + movs r3, #0xbe + lsls r3, r3, #2 + adds r0, r1, r3 + strh r4, [r0] + ldr r7, _0800C934 @ =0x000002FA + adds r0, r1, r7 + strh r4, [r0] + movs r0, #0xbf + lsls r0, r0, #2 + adds r1, r1, r0 + strh r4, [r1] + movs r3, #0 _0800C872: - lsls r0, r3, #3 - adds r0, r0, r2 - adds r0, r0, r6 - mov r7, r8 - adds r1, r0, r7 - strh r4, [r1] - mov r7, ip - adds r1, r0, r7 - strh r4, [r1] - add r0, sl - strh r4, [r0] - adds r0, r3, #1 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - cmp r3, #0x15 - bls _0800C872 - adds r0, r5, #1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - cmp r5, #0x13 - bls _0800C854 - movs r5, #0 - mov sl, r5 - movs r0, #0xd - rsbs r0, r0, #0 - mov ip, r0 - movs r1, #0x11 - rsbs r1, r1, #0 - mov sb, r1 - movs r3, #0x21 - rsbs r3, r3, #0 - mov r8, r3 - movs r4, #0x3f - ldr r6, _0800C938 @ =0xFFFFFE00 - adds r3, #0x12 + lsls r0, r3, #3 + adds r0, r0, r2 + adds r0, r0, r6 + mov r7, r8 + adds r1, r0, r7 + strh r4, [r1] + mov r7, ip + adds r1, r0, r7 + strh r4, [r1] + add r0, sl + strh r4, [r0] + adds r0, r3, #1 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + cmp r3, #0x15 + bls _0800C872 + adds r0, r5, #1 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + cmp r5, #0x13 + bls _0800C854 + movs r5, #0 + mov sl, r5 + movs r0, #0xd + rsbs r0, r0, #0 + mov ip, r0 + movs r1, #0x11 + rsbs r1, r1, #0 + mov sb, r1 + movs r3, #0x21 + rsbs r3, r3, #0 + mov r8, r3 + movs r4, #0x3f + ldr r6, _0800C938 @ =0xFFFFFE00 + adds r3, #0x12 _0800C8B8: - lsls r2, r5, #3 - ldr r7, _0800C93C @ =0x03005000 - adds r2, r2, r7 - movs r0, #0xf4 - strb r0, [r2] - movs r0, #0 - strb r0, [r2, #1] - ldrh r1, [r2, #2] - adds r0, r6, #0 - ands r0, r1 - movs r7, #0xfa - lsls r7, r7, #1 - adds r1, r7, #0 - orrs r0, r1 - strh r0, [r2, #2] - ldrb r1, [r2, #3] - adds r0, r3, #0 - ands r0, r1 - mov r1, sb - ands r0, r1 - mov r7, r8 - ands r0, r7 - ands r0, r4 - strb r0, [r2, #3] - ldrh r1, [r2, #4] - ldr r0, _0800C940 @ =0xFFFFFC00 - ands r0, r1 - strh r0, [r2, #4] - ldrb r1, [r2, #5] - mov r0, ip - ands r0, r1 - movs r1, #0xf - ands r0, r1 - strb r0, [r2, #5] - mov r0, sl - strh r0, [r2, #6] - adds r0, r5, #1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - cmp r5, #0x13 - bls _0800C8B8 - ldr r1, _0800C944 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - 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 + lsls r2, r5, #3 + ldr r7, _0800C93C @ =0x03005000 + adds r2, r2, r7 + movs r0, #0xf4 + strb r0, [r2] + movs r0, #0 + strb r0, [r2, #1] + ldrh r1, [r2, #2] + adds r0, r6, #0 + ands r0, r1 + movs r7, #0xfa + lsls r7, r7, #1 + adds r1, r7, #0 + orrs r0, r1 + strh r0, [r2, #2] + ldrb r1, [r2, #3] + adds r0, r3, #0 + ands r0, r1 + mov r1, sb + ands r0, r1 + mov r7, r8 + ands r0, r7 + ands r0, r4 + strb r0, [r2, #3] + ldrh r1, [r2, #4] + ldr r0, _0800C940 @ =0xFFFFFC00 + ands r0, r1 + strh r0, [r2, #4] + ldrb r1, [r2, #5] + mov r0, ip + ands r0, r1 + movs r1, #0xf + ands r0, r1 + strb r0, [r2, #5] + mov r0, sl + strh r0, [r2, #6] + adds r0, r5, #1 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + cmp r5, #0x13 + bls _0800C8B8 + ldr r1, _0800C944 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + 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 _0800C924: .4byte 0x040000D4 _0800C928: .4byte 0x85000100 _0800C92C: .4byte 0x0200B0C0 @@ -24492,84 +24492,84 @@ _0800C93C: .4byte 0x03005000 _0800C940: .4byte 0xFFFFFC00 _0800C944: .4byte 0x0202C790 - thumb_func_start sub_C948 + thumb_func_start sub_C948 sub_C948: @ 0x0800C948 - push {r4, lr} - movs r3, #0x80 - lsls r3, r3, #0x13 - movs r1, #0x80 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r3] - ldr r1, _0800C9E4 @ =0x0400000E - movs r0, #7 - strh r0, [r1] - ldrh r0, [r3] - movs r2, #0x80 - lsls r2, r2, #4 - adds r1, r2, #0 - orrs r0, r1 - strh r0, [r3] - ldr r0, _0800C9E8 @ =0x040000D4 - ldr r1, _0800C9EC @ =0x08115A60 - str r1, [r0] - movs r1, #0xc0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r1, _0800C9F0 @ =0x80000400 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800C9F4 @ =0x08116260 - str r1, [r0] - ldr r1, _0800C9F8 @ =0x06004000 - str r1, [r0, #4] - ldr r1, _0800C9FC @ =0x80001200 - str r1, [r0, #8] - ldr r1, [r0, #8] - ldr r4, _0800CA00 @ =0x08115860 - str r4, [r0] - movs r1, #0xa0 - lsls r1, r1, #0x13 - str r1, [r0, #4] - ldr r2, _0800CA04 @ =0x80000020 - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0800CA08 @ =0x08118680 - str r1, [r0] - ldr r1, _0800CA0C @ =0x06010000 - str r1, [r0, #4] - ldr r1, _0800CA10 @ =0x80003800 - str r1, [r0, #8] - ldr r1, [r0, #8] - str r4, [r0] - ldr r1, _0800CA14 @ =0x05000200 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r0, [r0, #8] - ldr r4, _0800CA18 @ =0x0200B0C0 - ldrh r0, [r3] - strh r0, [r4, #0x16] - bl sub_CA28 - ldr r2, _0800CA1C @ =0x0202ADA0 - ldrh r1, [r2] - movs r3, #0xbd - lsls r3, r3, #2 - adds r0, r4, r3 - strh r1, [r0] - ldrh r0, [r2, #2] - ldr r1, _0800CA20 @ =0x000002F6 - adds r4, r4, r1 - strh r0, [r4] - bl sub_CBC - bl sub_10424 - ldr r1, _0800CA24 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + movs r3, #0x80 + lsls r3, r3, #0x13 + movs r1, #0x80 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r3] + ldr r1, _0800C9E4 @ =0x0400000E + movs r0, #7 + strh r0, [r1] + ldrh r0, [r3] + movs r2, #0x80 + lsls r2, r2, #4 + adds r1, r2, #0 + orrs r0, r1 + strh r0, [r3] + ldr r0, _0800C9E8 @ =0x040000D4 + ldr r1, _0800C9EC @ =0x08115A60 + str r1, [r0] + movs r1, #0xc0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r1, _0800C9F0 @ =0x80000400 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800C9F4 @ =0x08116260 + str r1, [r0] + ldr r1, _0800C9F8 @ =0x06004000 + str r1, [r0, #4] + ldr r1, _0800C9FC @ =0x80001200 + str r1, [r0, #8] + ldr r1, [r0, #8] + ldr r4, _0800CA00 @ =0x08115860 + str r4, [r0] + movs r1, #0xa0 + lsls r1, r1, #0x13 + str r1, [r0, #4] + ldr r2, _0800CA04 @ =0x80000020 + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0800CA08 @ =0x08118680 + str r1, [r0] + ldr r1, _0800CA0C @ =0x06010000 + str r1, [r0, #4] + ldr r1, _0800CA10 @ =0x80003800 + str r1, [r0, #8] + ldr r1, [r0, #8] + str r4, [r0] + ldr r1, _0800CA14 @ =0x05000200 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r0, [r0, #8] + ldr r4, _0800CA18 @ =0x0200B0C0 + ldrh r0, [r3] + strh r0, [r4, #0x16] + bl sub_CA28 + ldr r2, _0800CA1C @ =0x0202ADA0 + ldrh r1, [r2] + movs r3, #0xbd + lsls r3, r3, #2 + adds r0, r4, r3 + strh r1, [r0] + ldrh r0, [r2, #2] + ldr r1, _0800CA20 @ =0x000002F6 + adds r4, r4, r1 + strh r0, [r4] + bl sub_CBC + bl sub_10424 + ldr r1, _0800CA24 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800C9E4: .4byte 0x0400000E _0800C9E8: .4byte 0x040000D4 _0800C9EC: .4byte 0x08115A60 @@ -24588,52 +24588,52 @@ _0800CA1C: .4byte 0x0202ADA0 _0800CA20: .4byte 0x000002F6 _0800CA24: .4byte 0x0202C790 - thumb_func_start sub_CA28 + thumb_func_start sub_CA28 sub_CA28: @ 0x0800CA28 - push {r4, lr} - ldr r0, _0800CA80 @ =0x0202ADA0 - movs r4, #0 - movs r3, #0 - strh r3, [r0] - strh r3, [r0, #2] - ldr r1, _0800CA84 @ =0x0201A450 - movs r0, #0xf0 - strh r0, [r1] - movs r0, #0x1e - strh r0, [r1, #2] - movs r0, #0xe - strh r0, [r1, #4] - movs r2, #1 - movs r0, #1 - strh r0, [r1, #8] - strb r2, [r1, #0xc] - movs r0, #0x84 - lsls r0, r0, #1 - strh r0, [r1, #0x10] - movs r0, #0x50 - strh r0, [r1, #0x12] - movs r0, #6 - strh r0, [r1, #0x14] - strb r4, [r1, #0x1c] - ldr r0, _0800CA88 @ =0x0202BF10 - strh r3, [r0] - ldr r0, _0800CA8C @ =0x0202A578 - strh r3, [r0] - ldr r0, _0800CA90 @ =0x0202C5E4 - movs r2, #0x80 - lsls r2, r2, #1 - adds r1, r2, #0 - strh r1, [r0] - ldr r0, _0800CA94 @ =0x0202ADD8 - strh r1, [r0] - ldr r0, _0800CA98 @ =0x0202BEDC - strb r4, [r0] - ldr r0, _0800CA9C @ =0x0202A56C - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + ldr r0, _0800CA80 @ =0x0202ADA0 + movs r4, #0 + movs r3, #0 + strh r3, [r0] + strh r3, [r0, #2] + ldr r1, _0800CA84 @ =0x0201A450 + movs r0, #0xf0 + strh r0, [r1] + movs r0, #0x1e + strh r0, [r1, #2] + movs r0, #0xe + strh r0, [r1, #4] + movs r2, #1 + movs r0, #1 + strh r0, [r1, #8] + strb r2, [r1, #0xc] + movs r0, #0x84 + lsls r0, r0, #1 + strh r0, [r1, #0x10] + movs r0, #0x50 + strh r0, [r1, #0x12] + movs r0, #6 + strh r0, [r1, #0x14] + strb r4, [r1, #0x1c] + ldr r0, _0800CA88 @ =0x0202BF10 + strh r3, [r0] + ldr r0, _0800CA8C @ =0x0202A578 + strh r3, [r0] + ldr r0, _0800CA90 @ =0x0202C5E4 + movs r2, #0x80 + lsls r2, r2, #1 + adds r1, r2, #0 + strh r1, [r0] + ldr r0, _0800CA94 @ =0x0202ADD8 + strh r1, [r0] + ldr r0, _0800CA98 @ =0x0202BEDC + strb r4, [r0] + ldr r0, _0800CA9C @ =0x0202A56C + strb r4, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800CA80: .4byte 0x0202ADA0 _0800CA84: .4byte 0x0201A450 _0800CA88: .4byte 0x0202BF10 @@ -24643,94 +24643,94 @@ _0800CA94: .4byte 0x0202ADD8 _0800CA98: .4byte 0x0202BEDC _0800CA9C: .4byte 0x0202A56C - thumb_func_start sub_CAA0 + thumb_func_start sub_CAA0 sub_CAA0: @ 0x0800CAA0 - push {r4, r5, lr} - ldr r4, _0800CB48 @ =0x0202ADA0 - ldrh r0, [r4] - subs r0, #0x24 - strh r0, [r4] - ldr r5, _0800CB4C @ =0x0201A450 - ldr r1, _0800CB50 @ =0x086A7D4C - ldr r2, _0800CB54 @ =0x0202A578 - movs r3, #0 - ldrsh r0, [r2, r3] - adds r0, r0, r1 - movs r1, #0 - ldrsb r1, [r0, r1] - ldrh r0, [r5] - subs r0, r0, r1 - strh r0, [r5] - ldrh r0, [r2] - adds r0, #1 - strh r0, [r2] - ldr r0, _0800CB58 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #5 - bl __modsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0800CAEA - ldrh r0, [r5, #8] - adds r0, #1 - strh r0, [r5, #8] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xa - ble _0800CAEA - movs r0, #1 - strh r0, [r5, #8] + push {r4, r5, lr} + ldr r4, _0800CB48 @ =0x0202ADA0 + ldrh r0, [r4] + subs r0, #0x24 + strh r0, [r4] + ldr r5, _0800CB4C @ =0x0201A450 + ldr r1, _0800CB50 @ =0x086A7D4C + ldr r2, _0800CB54 @ =0x0202A578 + movs r3, #0 + ldrsh r0, [r2, r3] + adds r0, r0, r1 + movs r1, #0 + ldrsb r1, [r0, r1] + ldrh r0, [r5] + subs r0, r0, r1 + strh r0, [r5] + ldrh r0, [r2] + adds r0, #1 + strh r0, [r2] + ldr r0, _0800CB58 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r1, #5 + bl __modsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0800CAEA + ldrh r0, [r5, #8] + adds r0, #1 + strh r0, [r5, #8] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xa + ble _0800CAEA + movs r0, #1 + strh r0, [r5, #8] _0800CAEA: - ldr r0, _0800CB5C @ =0x0200B0C0 - ldrh r1, [r4] - movs r2, #0xbd - lsls r2, r2, #2 - adds r0, r0, r2 - strh r1, [r0] - bl sub_CD18 - ldr r2, _0800CB58 @ =0x0202BF10 - movs r3, #0 - ldrsh r0, [r2, r3] - cmp r0, #0x28 - ble _0800CB26 - ldr r1, _0800CB60 @ =0x0202C5E4 - ldrh r0, [r1] - adds r0, #6 - strh r0, [r1] - ldr r1, _0800CB64 @ =0x0202ADD8 - ldrh r0, [r1] - adds r0, #6 - strh r0, [r1] - ldrh r0, [r2] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0800CB26 - ldr r1, _0800CB4C @ =0x0201A450 - ldrh r0, [r1, #2] - adds r0, #1 - strh r0, [r1, #2] + ldr r0, _0800CB5C @ =0x0200B0C0 + ldrh r1, [r4] + movs r2, #0xbd + lsls r2, r2, #2 + adds r0, r0, r2 + strh r1, [r0] + bl sub_CD18 + ldr r2, _0800CB58 @ =0x0202BF10 + movs r3, #0 + ldrsh r0, [r2, r3] + cmp r0, #0x28 + ble _0800CB26 + ldr r1, _0800CB60 @ =0x0202C5E4 + ldrh r0, [r1] + adds r0, #6 + strh r0, [r1] + ldr r1, _0800CB64 @ =0x0202ADD8 + ldrh r0, [r1] + adds r0, #6 + strh r0, [r1] + ldrh r0, [r2] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + bne _0800CB26 + ldr r1, _0800CB4C @ =0x0201A450 + ldrh r0, [r1, #2] + adds r0, #1 + strh r0, [r1, #2] _0800CB26: - ldr r0, _0800CB58 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0x5a - ble _0800CB42 - ldr r1, _0800CB4C @ =0x0201A450 - movs r0, #0 - strb r0, [r1, #0xc] - movs r0, #1 - strb r0, [r1, #0x1c] - ldr r1, _0800CB68 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldr r0, _0800CB58 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #0x5a + ble _0800CB42 + ldr r1, _0800CB4C @ =0x0201A450 + movs r0, #0 + strb r0, [r1, #0xc] + movs r0, #1 + strb r0, [r1, #0x1c] + ldr r1, _0800CB68 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800CB42: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0800CB48: .4byte 0x0202ADA0 _0800CB4C: .4byte 0x0201A450 _0800CB50: .4byte 0x086A7D4C @@ -24741,136 +24741,136 @@ _0800CB60: .4byte 0x0202C5E4 _0800CB64: .4byte 0x0202ADD8 _0800CB68: .4byte 0x0202C790 - thumb_func_start sub_CB6C + thumb_func_start sub_CB6C sub_CB6C: @ 0x0800CB6C - ldr r0, _0800CB94 @ =0x0202ADA0 - ldrh r1, [r0] - subs r1, #0x24 - strh r1, [r0] - ldr r0, _0800CB98 @ =0x0200B0C0 - movs r2, #0xbd - lsls r2, r2, #2 - adds r0, r0, r2 - strh r1, [r0] - ldr r0, _0800CB9C @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0x78 - ble _0800CB90 - ldr r1, _0800CBA0 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldr r0, _0800CB94 @ =0x0202ADA0 + ldrh r1, [r0] + subs r1, #0x24 + strh r1, [r0] + ldr r0, _0800CB98 @ =0x0200B0C0 + movs r2, #0xbd + lsls r2, r2, #2 + adds r0, r0, r2 + strh r1, [r0] + ldr r0, _0800CB9C @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #0x78 + ble _0800CB90 + ldr r1, _0800CBA0 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800CB90: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _0800CB94: .4byte 0x0202ADA0 _0800CB98: .4byte 0x0200B0C0 _0800CB9C: .4byte 0x0202BF10 _0800CBA0: .4byte 0x0202C790 - thumb_func_start sub_CBA4 + thumb_func_start sub_CBA4 sub_CBA4: @ 0x0800CBA4 - push {r4, lr} - ldr r0, _0800CBBC @ =0x0202BF10 - movs r2, #0 - ldrsh r1, [r0, r2] - adds r2, r0, #0 - cmp r1, #0x86 - bgt _0800CBC4 - ldr r1, _0800CBC0 @ =0x0201A450 - ldrh r0, [r1, #0x10] - subs r0, #0xc - b _0800CBCA - .align 2, 0 + push {r4, lr} + ldr r0, _0800CBBC @ =0x0202BF10 + movs r2, #0 + ldrsh r1, [r0, r2] + adds r2, r0, #0 + cmp r1, #0x86 + bgt _0800CBC4 + ldr r1, _0800CBC0 @ =0x0201A450 + ldrh r0, [r1, #0x10] + subs r0, #0xc + b _0800CBCA + .align 2, 0 _0800CBBC: .4byte 0x0202BF10 _0800CBC0: .4byte 0x0201A450 _0800CBC4: - ldr r1, _0800CC68 @ =0x0201A450 - ldrh r0, [r1, #0x10] - subs r0, #1 + ldr r1, _0800CC68 @ =0x0201A450 + ldrh r0, [r1, #0x10] + subs r0, #1 _0800CBCA: - strh r0, [r1, #0x10] - ldrh r0, [r2] - movs r1, #1 - ands r0, r1 - ldr r2, _0800CC6C @ =0x0202BEDC - cmp r0, #0 - bne _0800CBEA - ldrb r0, [r2] - adds r0, #3 - strb r0, [r2] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x20 - ble _0800CBEA - movs r0, #0x20 - strb r0, [r2] + strh r0, [r1, #0x10] + ldrh r0, [r2] + movs r1, #1 + ands r0, r1 + ldr r2, _0800CC6C @ =0x0202BEDC + cmp r0, #0 + bne _0800CBEA + ldrb r0, [r2] + adds r0, #3 + strb r0, [r2] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x20 + ble _0800CBEA + movs r0, #0x20 + strb r0, [r2] _0800CBEA: - ldr r4, _0800CC70 @ =0x08115860 - ldr r1, _0800CC74 @ =0x05000200 - movs r3, #0 - ldrsb r3, [r2, r3] - lsls r3, r3, #0x10 - lsrs r3, r3, #0x10 - adds r0, r4, #0 - movs r2, #0x20 - bl sub_102A8 - ldr r0, _0800CC78 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0x88 - ble _0800CC30 - ldr r2, _0800CC7C @ =0x0202A56C - ldrb r0, [r2] - adds r0, #2 - strb r0, [r2] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x20 - ble _0800CC1C - movs r0, #0x20 - strb r0, [r2] + ldr r4, _0800CC70 @ =0x08115860 + ldr r1, _0800CC74 @ =0x05000200 + movs r3, #0 + ldrsb r3, [r2, r3] + lsls r3, r3, #0x10 + lsrs r3, r3, #0x10 + adds r0, r4, #0 + movs r2, #0x20 + bl sub_102A8 + ldr r0, _0800CC78 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #0x88 + ble _0800CC30 + ldr r2, _0800CC7C @ =0x0202A56C + ldrb r0, [r2] + adds r0, #2 + strb r0, [r2] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x20 + ble _0800CC1C + movs r0, #0x20 + strb r0, [r2] _0800CC1C: - movs r1, #0xa0 - lsls r1, r1, #0x13 - movs r3, #0 - ldrsb r3, [r2, r3] - lsls r3, r3, #0x10 - lsrs r3, r3, #0x10 - adds r0, r4, #0 - movs r2, #0x40 - bl sub_102A8 + movs r1, #0xa0 + lsls r1, r1, #0x13 + movs r3, #0 + ldrsb r3, [r2, r3] + lsls r3, r3, #0x10 + lsrs r3, r3, #0x10 + adds r0, r4, #0 + movs r2, #0x40 + bl sub_102A8 _0800CC30: - ldr r0, _0800CC80 @ =0x0202ADA0 - ldrh r1, [r0] - subs r1, #0x24 - strh r1, [r0] - ldr r0, _0800CC84 @ =0x0200B0C0 - movs r2, #0xbd - lsls r2, r2, #2 - adds r0, r0, r2 - strh r1, [r0] - bl sub_CD18 - ldr r1, _0800CC78 @ =0x0202BF10 - movs r2, #0 - ldrsh r0, [r1, r2] - cmp r0, #0x98 - ble _0800CC62 - movs r0, #0 - strh r0, [r1] - ldr r1, _0800CC88 @ =0x0202A578 - movs r0, #1 - strh r0, [r1] - ldr r1, _0800CC8C @ =0x0202C790 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] + ldr r0, _0800CC80 @ =0x0202ADA0 + ldrh r1, [r0] + subs r1, #0x24 + strh r1, [r0] + ldr r0, _0800CC84 @ =0x0200B0C0 + movs r2, #0xbd + lsls r2, r2, #2 + adds r0, r0, r2 + strh r1, [r0] + bl sub_CD18 + ldr r1, _0800CC78 @ =0x0202BF10 + movs r2, #0 + ldrsh r0, [r1, r2] + cmp r0, #0x98 + ble _0800CC62 + movs r0, #0 + strh r0, [r1] + ldr r1, _0800CC88 @ =0x0202A578 + movs r0, #1 + strh r0, [r1] + ldr r1, _0800CC8C @ =0x0202C790 + ldrb r0, [r1] + adds r0, #2 + strb r0, [r1] _0800CC62: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800CC68: .4byte 0x0201A450 _0800CC6C: .4byte 0x0202BEDC _0800CC70: .4byte 0x08115860 @@ -24882,212 +24882,212 @@ _0800CC84: .4byte 0x0200B0C0 _0800CC88: .4byte 0x0202A578 _0800CC8C: .4byte 0x0202C790 - thumb_func_start nullsub_14 + thumb_func_start nullsub_14 nullsub_14: @ 0x0800CC90 - bx lr + bx lr - thumb_func_start sub_CC94 + thumb_func_start sub_CC94 sub_CC94: @ 0x0800CC94 - push {r4, r5, r6, lr} - ldr r6, _0800CCE4 @ =0x0202BF10 - movs r1, #0 - ldrsh r0, [r6, r1] - movs r1, #0xa - bl __modsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0800CCCE - ldr r1, _0800CCE8 @ =0x0202A578 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - ldr r4, _0800CCEC @ =0x02032EE0 - ldr r5, _0800CCF0 @ =0x0000FFFF - movs r0, #0 - ldrsh r1, [r1, r0] - movs r0, #0x80 - lsls r0, r0, #1 - bl __divsi3 - adds r2, r0, #0 - lsls r2, r2, #0x10 - lsrs r2, r2, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - bl m4aMPlayVolumeControl + push {r4, r5, r6, lr} + ldr r6, _0800CCE4 @ =0x0202BF10 + movs r1, #0 + ldrsh r0, [r6, r1] + movs r1, #0xa + bl __modsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0800CCCE + ldr r1, _0800CCE8 @ =0x0202A578 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + ldr r4, _0800CCEC @ =0x02032EE0 + ldr r5, _0800CCF0 @ =0x0000FFFF + movs r0, #0 + ldrsh r1, [r1, r0] + movs r0, #0x80 + lsls r0, r0, #1 + bl __divsi3 + adds r2, r0, #0 + lsls r2, r2, #0x10 + lsrs r2, r2, #0x10 + adds r0, r4, #0 + adds r1, r5, #0 + bl m4aMPlayVolumeControl _0800CCCE: - movs r1, #0 - ldrsh r0, [r6, r1] - cmp r0, #0x2d - ble _0800CCDE - ldr r1, _0800CCF4 @ =0x0202C790 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + movs r1, #0 + ldrsh r0, [r6, r1] + cmp r0, #0x2d + ble _0800CCDE + ldr r1, _0800CCF4 @ =0x0202C790 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0800CCDE: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0800CCE4: .4byte 0x0202BF10 _0800CCE8: .4byte 0x0202A578 _0800CCEC: .4byte 0x02032EE0 _0800CCF0: .4byte 0x0000FFFF _0800CCF4: .4byte 0x0202C790 - thumb_func_start sub_CCF8 + thumb_func_start sub_CCF8 sub_CCF8: @ 0x0800CCF8 - push {lr} - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _0800CD14 @ =0x0200B0C0 - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _0800CD14 @ =0x0200B0C0 + ldrb r0, [r1, #3] + adds r0, #1 + strb r0, [r1, #3] + pop {r0} + bx r0 + .align 2, 0 _0800CD14: .4byte 0x0200B0C0 - thumb_func_start sub_CD18 + thumb_func_start sub_CD18 sub_CD18: @ 0x0800CD18 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r7, _0800CE28 @ =0x0201A450 - movs r0, #8 - ldrsh r1, [r7, r0] - movs r0, #0xb8 - muls r1, r0, r1 - ldr r0, _0800CE2C @ =0x0200B3B8 - adds r6, r1, r0 - mov r8, r0 - movs r0, #0xc - ldrsb r0, [r7, r0] - strh r0, [r6] - movs r0, #0x1c - ldrsb r0, [r7, r0] - mov r1, r8 - strh r0, [r1] - ldr r0, _0800CE30 @ =0x086A7D20 - movs r1, #0xb - mov r2, r8 - bl sub_358 - ldrh r0, [r6] - cmp r0, #1 - bne _0800CDBA - ldr r0, _0800CE34 @ =0x0202C5E4 - movs r2, #0 - ldrsh r0, [r0, r2] - ldr r1, _0800CE38 @ =0x0202ADD8 - movs r3, #0 - ldrsh r1, [r1, r3] - movs r2, #0 - bl sub_7C0 - ldrh r0, [r7] - strh r0, [r6, #2] - ldrh r0, [r7, #2] - strh r0, [r6, #4] - adds r5, r6, #0 - adds r5, #8 - ldr r4, _0800CE3C @ =0x03005000 - 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, _0800CE40 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _0800CE44 @ =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 r1, [r6, #8] - lsls r1, r1, #3 - adds r1, r1, r4 - ldrb r2, [r1, #3] - movs r0, #0xf - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r1, #3] + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r7, _0800CE28 @ =0x0201A450 + movs r0, #8 + ldrsh r1, [r7, r0] + movs r0, #0xb8 + muls r1, r0, r1 + ldr r0, _0800CE2C @ =0x0200B3B8 + adds r6, r1, r0 + mov r8, r0 + movs r0, #0xc + ldrsb r0, [r7, r0] + strh r0, [r6] + movs r0, #0x1c + ldrsb r0, [r7, r0] + mov r1, r8 + strh r0, [r1] + ldr r0, _0800CE30 @ =0x086A7D20 + movs r1, #0xb + mov r2, r8 + bl sub_358 + ldrh r0, [r6] + cmp r0, #1 + bne _0800CDBA + ldr r0, _0800CE34 @ =0x0202C5E4 + movs r2, #0 + ldrsh r0, [r0, r2] + ldr r1, _0800CE38 @ =0x0202ADD8 + movs r3, #0 + ldrsh r1, [r1, r3] + movs r2, #0 + bl sub_7C0 + ldrh r0, [r7] + strh r0, [r6, #2] + ldrh r0, [r7, #2] + strh r0, [r6, #4] + adds r5, r6, #0 + adds r5, #8 + ldr r4, _0800CE3C @ =0x03005000 + 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, _0800CE40 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _0800CE44 @ =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 r1, [r6, #8] + lsls r1, r1, #3 + adds r1, r1, r4 + ldrb r2, [r1, #3] + movs r0, #0xf + rsbs r0, r0, #0 + ands r0, r2 + strb r0, [r1, #3] _0800CDBA: - mov r1, r8 - ldrh r0, [r1] - cmp r0, #1 - bne _0800CE12 - ldrh r0, [r7, #0x10] - strh r0, [r1, #2] - ldrh r0, [r7, #0x12] - strh r0, [r1, #4] - ldr r2, _0800CE3C @ =0x03005000 - mov sb, r2 - ldr r3, _0800CE44 @ =0xFFFFFE00 - mov ip, r3 - mov r4, r8 - adds r4, #8 - movs r5, #3 + mov r1, r8 + ldrh r0, [r1] + cmp r0, #1 + bne _0800CE12 + ldrh r0, [r7, #0x10] + strh r0, [r1, #2] + ldrh r0, [r7, #0x12] + strh r0, [r1, #4] + ldr r2, _0800CE3C @ =0x03005000 + mov sb, r2 + ldr r3, _0800CE44 @ =0xFFFFFE00 + mov ip, r3 + mov r4, r8 + adds r4, #8 + movs r5, #3 _0800CDD8: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, sb - movs r7, #2 - ldrsh r1, [r4, r7] - mov r2, r8 - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _0800CE40 @ =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, [r4] - lsls r1, r1, #3 - add r1, sb - mov r3, r8 - ldrb r0, [r3, #4] - ldrb r7, [r4, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r4, #8 - subs r5, #1 - cmp r5, #0 - bge _0800CDD8 + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, sb + movs r7, #2 + ldrsh r1, [r4, r7] + mov r2, r8 + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _0800CE40 @ =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, [r4] + lsls r1, r1, #3 + add r1, sb + mov r3, r8 + ldrb r0, [r3, #4] + ldrb r7, [r4, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r4, #8 + subs r5, #1 + cmp r5, #0 + bge _0800CDD8 _0800CE12: - movs r0, #0 - strh r0, [r6] - mov r1, r8 - strh r0, [r1] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + movs r0, #0 + strh r0, [r6] + mov r1, r8 + strh r0, [r1] + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800CE28: .4byte 0x0201A450 _0800CE2C: .4byte 0x0200B3B8 _0800CE30: .4byte 0x086A7D20 @@ -25097,148 +25097,148 @@ _0800CE3C: .4byte 0x03005000 _0800CE40: .4byte 0x000001FF _0800CE44: .4byte 0xFFFFFE00 - thumb_func_start sub_CE48 + thumb_func_start sub_CE48 sub_CE48: @ 0x0800CE48 - push {lr} - ldr r1, _0800CE60 @ =0x080793E8 - ldr r0, _0800CE64 @ =0x0200B0C0 - 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 + push {lr} + ldr r1, _0800CE60 @ =0x080793E8 + ldr r0, _0800CE64 @ =0x0200B0C0 + 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 _0800CE60: .4byte 0x080793E8 _0800CE64: .4byte 0x0200B0C0 - thumb_func_start sub_CE68 + thumb_func_start sub_CE68 sub_CE68: @ 0x0800CE68 - push {lr} - ldr r1, _0800CE80 @ =0x08079424 - ldr r0, _0800CE84 @ =0x0200B0C0 - 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 + push {lr} + ldr r1, _0800CE80 @ =0x08079424 + ldr r0, _0800CE84 @ =0x0200B0C0 + 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 _0800CE80: .4byte 0x08079424 _0800CE84: .4byte 0x0200B0C0 - thumb_func_start sub_CE88 + thumb_func_start sub_CE88 sub_CE88: @ 0x0800CE88 - push {r4, r5, r6, r7, lr} - bl sub_438 - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x84 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _0800CF68 @ =0x0400000C - ldr r3, _0800CF6C @ =0x00004006 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #3 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800CF70 @ =0x0400000E - ldr r3, _0800CF74 @ =0x0000420F - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r7, _0800CF78 @ =0x0200B0C0 - ldrh r0, [r2] - strh r0, [r7, #0x16] - ldr r4, _0800CF7C @ =0x040000D4 - ldr r0, _0800CF80 @ =0x0809DBE0 - str r0, [r4] - movs r0, #0xa0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - ldr r0, _0800CF84 @ =0x80000100 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800CF88 @ =0x080957A0 - str r0, [r4] - ldr r0, _0800CF8C @ =0x06004000 - str r0, [r4, #4] - ldr r0, _0800CF90 @ =0x80002400 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800CF94 @ =0x0809AFC0 - str r0, [r4] - ldr r0, _0800CF98 @ =0x0600C000 - str r0, [r4, #4] - ldr r0, _0800CF9C @ =0x80001600 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800CFA0 @ =0x080947A0 - str r0, [r4] - ldr r6, _0800CFA4 @ =0x03005C00 - str r6, [r4, #4] - ldr r5, _0800CFA8 @ =0x80000800 - str r5, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800CFAC @ =0x08099FC0 - str r0, [r4] - ldr r0, _0800CFB0 @ =0x06001000 - str r0, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800CFB4 @ =0x0809DDE0 - str r0, [r4] - ldr r0, _0800CFB8 @ =0x05000200 - str r0, [r4, #4] - ldr r0, _0800CFBC @ =0x80000080 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800CFC0 @ =0x0809DFE0 - str r0, [r4] - ldr r0, _0800CFC4 @ =0x06010000 - str r0, [r4, #4] - ldr r0, _0800CFC8 @ =0x80002210 - str r0, [r4, #8] - ldr r0, [r4, #8] - bl sub_CFD4 - bl sub_EE64 - str r6, [r4] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - ldr r4, _0800CFCC @ =0x0202C588 - movs r1, #0 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _0800CF50 - movs r0, #9 - bl m4aSongNumStart + push {r4, r5, r6, r7, lr} + bl sub_438 + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x84 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _0800CF68 @ =0x0400000C + ldr r3, _0800CF6C @ =0x00004006 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #3 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800CF70 @ =0x0400000E + ldr r3, _0800CF74 @ =0x0000420F + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r7, _0800CF78 @ =0x0200B0C0 + ldrh r0, [r2] + strh r0, [r7, #0x16] + ldr r4, _0800CF7C @ =0x040000D4 + ldr r0, _0800CF80 @ =0x0809DBE0 + str r0, [r4] + movs r0, #0xa0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + ldr r0, _0800CF84 @ =0x80000100 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800CF88 @ =0x080957A0 + str r0, [r4] + ldr r0, _0800CF8C @ =0x06004000 + str r0, [r4, #4] + ldr r0, _0800CF90 @ =0x80002400 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800CF94 @ =0x0809AFC0 + str r0, [r4] + ldr r0, _0800CF98 @ =0x0600C000 + str r0, [r4, #4] + ldr r0, _0800CF9C @ =0x80001600 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800CFA0 @ =0x080947A0 + str r0, [r4] + ldr r6, _0800CFA4 @ =0x03005C00 + str r6, [r4, #4] + ldr r5, _0800CFA8 @ =0x80000800 + str r5, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800CFAC @ =0x08099FC0 + str r0, [r4] + ldr r0, _0800CFB0 @ =0x06001000 + str r0, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800CFB4 @ =0x0809DDE0 + str r0, [r4] + ldr r0, _0800CFB8 @ =0x05000200 + str r0, [r4, #4] + ldr r0, _0800CFBC @ =0x80000080 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800CFC0 @ =0x0809DFE0 + str r0, [r4] + ldr r0, _0800CFC4 @ =0x06010000 + str r0, [r4, #4] + ldr r0, _0800CFC8 @ =0x80002210 + str r0, [r4, #8] + ldr r0, [r4, #8] + bl sub_CFD4 + bl sub_EE64 + str r6, [r4] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + ldr r4, _0800CFCC @ =0x0202C588 + movs r1, #0 + ldrsh r0, [r4, r1] + cmp r0, #0 + bne _0800CF50 + movs r0, #9 + bl m4aSongNumStart _0800CF50: - movs r0, #0 - strh r0, [r4] - bl sub_CBC - bl sub_24C - ldr r0, _0800CFD0 @ =0x02002858 - ldrb r0, [r0, #0xa] - strb r0, [r7, #3] - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + movs r0, #0 + strh r0, [r4] + bl sub_CBC + bl sub_24C + ldr r0, _0800CFD0 @ =0x02002858 + ldrb r0, [r0, #0xa] + strb r0, [r7, #3] + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800CF68: .4byte 0x0400000C _0800CF6C: .4byte 0x00004006 _0800CF70: .4byte 0x0400000E @@ -25267,125 +25267,125 @@ _0800CFC8: .4byte 0x80002210 _0800CFCC: .4byte 0x0202C588 _0800CFD0: .4byte 0x02002858 - thumb_func_start sub_CFD4 + thumb_func_start sub_CFD4 sub_CFD4: @ 0x0800CFD4 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - movs r7, #0 - ldr r0, _0800D0B0 @ =0x02002858 - mov r8, r0 - ldr r1, _0800D0B4 @ =0x0202C610 - mov sl, r1 - ldr r2, _0800D0B8 @ =0x0200B134 - mov sb, r2 - movs r3, #0 - mov ip, r3 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + movs r7, #0 + ldr r0, _0800D0B0 @ =0x02002858 + mov r8, r0 + ldr r1, _0800D0B4 @ =0x0202C610 + mov sl, r1 + ldr r2, _0800D0B8 @ =0x0200B134 + mov sb, r2 + movs r3, #0 + mov ip, r3 _0800CFF0: - movs r3, #0 - mov r4, ip - movs r6, #0 + movs r3, #0 + mov r4, ip + movs r6, #0 _0800CFF6: - adds r0, r4, #0 - adds r0, #0xe4 - adds r0, r6, r0 - mov r1, sb - adds r5, r0, r1 - adds r0, r6, r4 - mov r1, sl - adds r2, r0, r1 - movs r1, #5 + adds r0, r4, #0 + adds r0, #0xe4 + adds r0, r6, r0 + mov r1, sb + adds r5, r0, r1 + adds r0, r6, r4 + mov r1, sl + adds r2, r0, r1 + movs r1, #5 _0800D008: - ldm r5!, {r0} - stm r2!, {r0} - subs r1, #1 - cmp r1, #0 - bge _0800D008 - adds r6, #0x18 - adds r3, #1 - cmp r3, #7 - ble _0800CFF6 - movs r2, #0xc0 - add ip, r2 - adds r7, #1 - cmp r7, #1 - ble _0800CFF0 - movs r7, #0 - ldr r6, _0800D0BC @ =0x0202C550 - ldr r5, _0800D0B4 @ =0x0202C610 + ldm r5!, {r0} + stm r2!, {r0} + subs r1, #1 + cmp r1, #0 + bge _0800D008 + adds r6, #0x18 + adds r3, #1 + cmp r3, #7 + ble _0800CFF6 + movs r2, #0xc0 + add ip, r2 + adds r7, #1 + cmp r7, #1 + ble _0800CFF0 + movs r7, #0 + ldr r6, _0800D0BC @ =0x0202C550 + ldr r5, _0800D0B4 @ =0x0202C610 _0800D02A: - lsls r0, r7, #1 - adds r4, r7, #1 - adds r0, r0, r7 - lsls r1, r0, #3 - lsls r0, r0, #6 - adds r2, r0, r5 - adds r1, r1, r6 - movs r3, #5 + lsls r0, r7, #1 + adds r4, r7, #1 + adds r0, r0, r7 + lsls r1, r0, #3 + lsls r0, r0, #6 + adds r2, r0, r5 + adds r1, r1, r6 + movs r3, #5 _0800D03A: - ldm r2!, {r0} - stm r1!, {r0} - subs r3, #1 - cmp r3, #0 - bge _0800D03A - adds r7, r4, #0 - cmp r7, #1 - ble _0800D02A - movs r3, #0 - movs r2, #0 - mov r4, r8 - strh r2, [r4, #0x10] - strh r2, [r4, #0x12] - strh r2, [r4, #0x14] - strh r2, [r4, #0x18] - strh r2, [r4, #0x1a] - strh r2, [r4, #0x1e] - strh r2, [r4, #0x1c] - strh r2, [r4, #0x20] - strh r2, [r4, #0x22] - mov r0, r8 - adds r0, #0x25 - strb r3, [r0] - mov r1, r8 - adds r1, #0x26 - movs r0, #1 - strb r0, [r1] - ldr r1, _0800D0C0 @ =0x0201B178 - strb r3, [r1] - ldr r4, _0800D0C4 @ =0x0202BEBC - strb r0, [r4] - ldr r0, _0800D0C8 @ =0x0201C18C - strb r3, [r0] - ldr r1, _0800D0CC @ =0x02002884 - strb r3, [r1] - ldr r4, _0800D0D0 @ =0x02002885 - strb r3, [r4] - ldr r1, _0800D0D4 @ =0x0202C588 - movs r4, #0 - ldrsh r0, [r1, r4] - cmp r0, #1 - beq _0800D090 - b _0800D1C0 + ldm r2!, {r0} + stm r1!, {r0} + subs r3, #1 + cmp r3, #0 + bge _0800D03A + adds r7, r4, #0 + cmp r7, #1 + ble _0800D02A + movs r3, #0 + movs r2, #0 + mov r4, r8 + strh r2, [r4, #0x10] + strh r2, [r4, #0x12] + strh r2, [r4, #0x14] + strh r2, [r4, #0x18] + strh r2, [r4, #0x1a] + strh r2, [r4, #0x1e] + strh r2, [r4, #0x1c] + strh r2, [r4, #0x20] + strh r2, [r4, #0x22] + mov r0, r8 + adds r0, #0x25 + strb r3, [r0] + mov r1, r8 + adds r1, #0x26 + movs r0, #1 + strb r0, [r1] + ldr r1, _0800D0C0 @ =0x0201B178 + strb r3, [r1] + ldr r4, _0800D0C4 @ =0x0202BEBC + strb r0, [r4] + ldr r0, _0800D0C8 @ =0x0201C18C + strb r3, [r0] + ldr r1, _0800D0CC @ =0x02002884 + strb r3, [r1] + ldr r4, _0800D0D0 @ =0x02002885 + strb r3, [r4] + ldr r1, _0800D0D4 @ =0x0202C588 + movs r4, #0 + ldrsh r0, [r1, r4] + cmp r0, #1 + beq _0800D090 + b _0800D1C0 _0800D090: - ldr r0, _0800D0D8 @ =0x0200B0C0 - ldr r1, [r0, #0x5c] - mov r4, r8 - str r1, [r4] - ldr r1, [r0, #0x58] - str r1, [r4, #4] - ldrb r1, [r0, #4] - cmp r1, #1 - bne _0800D0E4 - strb r1, [r4, #0xb] - movs r0, #0xf0 - ldr r2, _0800D0DC @ =0x02002882 - strh r0, [r2] - ldr r3, _0800D0E0 @ =0x02002880 - strh r1, [r3] - b _0800D0F6 - .align 2, 0 + ldr r0, _0800D0D8 @ =0x0200B0C0 + ldr r1, [r0, #0x5c] + mov r4, r8 + str r1, [r4] + ldr r1, [r0, #0x58] + str r1, [r4, #4] + ldrb r1, [r0, #4] + cmp r1, #1 + bne _0800D0E4 + strb r1, [r4, #0xb] + movs r0, #0xf0 + ldr r2, _0800D0DC @ =0x02002882 + strh r0, [r2] + ldr r3, _0800D0E0 @ =0x02002880 + strh r1, [r3] + b _0800D0F6 + .align 2, 0 _0800D0B0: .4byte 0x02002858 _0800D0B4: .4byte 0x0202C610 _0800D0B8: .4byte 0x0200B134 @@ -25400,81 +25400,81 @@ _0800D0D8: .4byte 0x0200B0C0 _0800D0DC: .4byte 0x02002882 _0800D0E0: .4byte 0x02002880 _0800D0E4: - mov r4, r8 - strb r3, [r4, #0xb] - ldr r0, _0800D178 @ =0x02002882 - strh r2, [r0] - movs r1, #1 - rsbs r1, r1, #0 - adds r0, r1, #0 - ldr r2, _0800D17C @ =0x02002880 - strh r0, [r2] + mov r4, r8 + strb r3, [r4, #0xb] + ldr r0, _0800D178 @ =0x02002882 + strh r2, [r0] + movs r1, #1 + rsbs r1, r1, #0 + adds r0, r1, #0 + ldr r2, _0800D17C @ =0x02002880 + strh r0, [r2] _0800D0F6: - ldr r4, _0800D180 @ =0x02002858 - ldr r0, [r4] - ldr r1, [r4, #4] - ldrb r2, [r4, #0xb] - bl sub_F3DC - adds r3, r0, #0 - str r3, [r4, #0xc] - movs r0, #1 - rsbs r0, r0, #0 - cmp r3, r0 - beq _0800D14A - ldr r0, [r4] - ldr r1, [r4, #4] - ldrb r2, [r4, #0xb] - bl sub_F434 - movs r7, #0 - ldr r5, _0800D184 @ =0x0202C610 - adds r3, r4, #0 - ldr r6, _0800D188 @ =0x0201A500 - adds r4, r6, #0 + ldr r4, _0800D180 @ =0x02002858 + ldr r0, [r4] + ldr r1, [r4, #4] + ldrb r2, [r4, #0xb] + bl sub_F3DC + adds r3, r0, #0 + str r3, [r4, #0xc] + movs r0, #1 + rsbs r0, r0, #0 + cmp r3, r0 + beq _0800D14A + ldr r0, [r4] + ldr r1, [r4, #4] + ldrb r2, [r4, #0xb] + bl sub_F434 + movs r7, #0 + ldr r5, _0800D184 @ =0x0202C610 + adds r3, r4, #0 + ldr r6, _0800D188 @ =0x0201A500 + adds r4, r6, #0 _0800D122: - lsls r2, r7, #2 - ldr r1, [r3, #0xc] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r2, r2, r0 - ldrb r1, [r3, #0xb] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #6 - adds r2, r2, r0 - adds r2, r2, r5 - ldm r4!, {r0} - str r0, [r2] - adds r7, #1 - cmp r7, #3 - ble _0800D122 - ldr r1, _0800D180 @ =0x02002858 - ldr r0, [r6] - strh r0, [r1, #0x16] + lsls r2, r7, #2 + ldr r1, [r3, #0xc] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r2, r2, r0 + ldrb r1, [r3, #0xb] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #6 + adds r2, r2, r0 + adds r2, r2, r5 + ldm r4!, {r0} + str r0, [r2] + adds r7, #1 + cmp r7, #3 + ble _0800D122 + ldr r1, _0800D180 @ =0x02002858 + ldr r0, [r6] + strh r0, [r1, #0x16] _0800D14A: - bl sub_FD20 - lsls r0, r0, #0x18 - asrs r3, r0, #0x18 - cmp r3, #1 - bne _0800D1A8 - ldr r0, _0800D18C @ =0x0202BEB0 - movs r2, #0 - ldrsb r2, [r0, r2] - cmp r2, #0 - bne _0800D1A0 - ldr r0, _0800D190 @ =0x0201C18C - strb r3, [r0] - ldr r1, _0800D194 @ =0x0201A4B8 - movs r0, #0xb8 - strh r0, [r1] - ldr r0, _0800D198 @ =0x0202C580 - strb r2, [r0] - ldr r0, _0800D19C @ =0x0202BED4 - strb r2, [r0] - ldr r0, _0800D180 @ =0x02002858 - strb r3, [r0, #0xa] - b _0800D1DA - .align 2, 0 + bl sub_FD20 + lsls r0, r0, #0x18 + asrs r3, r0, #0x18 + cmp r3, #1 + bne _0800D1A8 + ldr r0, _0800D18C @ =0x0202BEB0 + movs r2, #0 + ldrsb r2, [r0, r2] + cmp r2, #0 + bne _0800D1A0 + ldr r0, _0800D190 @ =0x0201C18C + strb r3, [r0] + ldr r1, _0800D194 @ =0x0201A4B8 + movs r0, #0xb8 + strh r0, [r1] + ldr r0, _0800D198 @ =0x0202C580 + strb r2, [r0] + ldr r0, _0800D19C @ =0x0202BED4 + strb r2, [r0] + ldr r0, _0800D180 @ =0x02002858 + strb r3, [r0, #0xa] + b _0800D1DA + .align 2, 0 _0800D178: .4byte 0x02002882 _0800D17C: .4byte 0x02002880 _0800D180: .4byte 0x02002858 @@ -25486,389 +25486,389 @@ _0800D194: .4byte 0x0201A4B8 _0800D198: .4byte 0x0202C580 _0800D19C: .4byte 0x0202BED4 _0800D1A0: - ldr r1, _0800D1A4 @ =0x0201C18C - b _0800D1AA - .align 2, 0 + ldr r1, _0800D1A4 @ =0x0201C18C + b _0800D1AA + .align 2, 0 _0800D1A4: .4byte 0x0201C18C _0800D1A8: - ldr r1, _0800D1B8 @ =0x0202BEB0 + ldr r1, _0800D1B8 @ =0x0202BEB0 _0800D1AA: - movs r0, #0 - strb r0, [r1] - ldr r1, _0800D1BC @ =0x02002858 - movs r0, #2 - strb r0, [r1, #0xa] - b _0800D1DA - .align 2, 0 + movs r0, #0 + strb r0, [r1] + ldr r1, _0800D1BC @ =0x02002858 + movs r0, #2 + strb r0, [r1, #0xa] + b _0800D1DA + .align 2, 0 _0800D1B8: .4byte 0x0202BEB0 _0800D1BC: .4byte 0x02002858 _0800D1C0: - mov r4, r8 - strb r3, [r4, #0xb] - ldr r0, _0800D200 @ =0x02002882 - strh r2, [r0] - movs r1, #1 - rsbs r1, r1, #0 - adds r0, r1, #0 - ldr r2, _0800D204 @ =0x02002880 - strh r0, [r2] - bl sub_E464 - movs r0, #3 - strb r0, [r4, #0xa] + mov r4, r8 + strb r3, [r4, #0xb] + ldr r0, _0800D200 @ =0x02002882 + strh r2, [r0] + movs r1, #1 + rsbs r1, r1, #0 + adds r0, r1, #0 + ldr r2, _0800D204 @ =0x02002880 + strh r0, [r2] + bl sub_E464 + movs r0, #3 + strb r0, [r4, #0xa] _0800D1DA: - ldr r2, _0800D208 @ =0x0200B0C0 - ldr r0, _0800D200 @ =0x02002882 - ldrh r1, [r0] - movs r3, #0xbd - lsls r3, r3, #2 - adds r0, r2, r3 - strh r1, [r0] - movs r4, #0xbc - lsls r4, r4, #2 - adds r0, r2, r4 - strh r1, [r0] - 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 + ldr r2, _0800D208 @ =0x0200B0C0 + ldr r0, _0800D200 @ =0x02002882 + ldrh r1, [r0] + movs r3, #0xbd + lsls r3, r3, #2 + adds r0, r2, r3 + strh r1, [r0] + movs r4, #0xbc + lsls r4, r4, #2 + adds r0, r2, r4 + strh r1, [r0] + 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 _0800D200: .4byte 0x02002882 _0800D204: .4byte 0x02002880 _0800D208: .4byte 0x0200B0C0 - thumb_func_start sub_D20C + thumb_func_start sub_D20C sub_D20C: @ 0x0800D20C - push {r4, r5, lr} - ldr r4, _0800D224 @ =0x0202BED4 - movs r0, #0 - ldrsb r0, [r4, r0] - adds r5, r4, #0 - cmp r0, #1 - beq _0800D248 - cmp r0, #1 - bgt _0800D228 - cmp r0, #0 - beq _0800D232 - b _0800D2E0 - .align 2, 0 + push {r4, r5, lr} + ldr r4, _0800D224 @ =0x0202BED4 + movs r0, #0 + ldrsb r0, [r4, r0] + adds r5, r4, #0 + cmp r0, #1 + beq _0800D248 + cmp r0, #1 + bgt _0800D228 + cmp r0, #0 + beq _0800D232 + b _0800D2E0 + .align 2, 0 _0800D224: .4byte 0x0202BED4 _0800D228: - cmp r0, #2 - beq _0800D290 - cmp r0, #3 - beq _0800D2B4 - b _0800D2E0 + cmp r0, #2 + beq _0800D290 + cmp r0, #3 + beq _0800D2B4 + b _0800D2E0 _0800D232: - ldr r0, _0800D244 @ =0x02002858 - movs r1, #0x18 - ldrsh r0, [r0, r1] - cmp r0, #3 - bne _0800D2E0 - movs r0, #0x11 - bl m4aSongNumStart - b _0800D2A2 - .align 2, 0 + ldr r0, _0800D244 @ =0x02002858 + movs r1, #0x18 + ldrsh r0, [r0, r1] + cmp r0, #3 + bne _0800D2E0 + movs r0, #0x11 + bl m4aSongNumStart + b _0800D2A2 + .align 2, 0 _0800D244: .4byte 0x02002858 _0800D248: - ldr r1, _0800D284 @ =0x0201A4B8 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - ldr r0, _0800D288 @ =0x02002858 - ldrh r2, [r0, #0x18] - movs r0, #3 - ands r2, r0 - cmp r2, #0 - bne _0800D26E - ldr r3, _0800D28C @ =0x0202C580 - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - ble _0800D26E - strb r2, [r3] + ldr r1, _0800D284 @ =0x0201A4B8 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] + ldr r0, _0800D288 @ =0x02002858 + ldrh r2, [r0, #0x18] + movs r0, #3 + ands r2, r0 + cmp r2, #0 + bne _0800D26E + ldr r3, _0800D28C @ =0x0202C580 + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + ble _0800D26E + strb r2, [r3] _0800D26E: - movs r2, #0 - ldrsh r0, [r1, r2] - cmp r0, #0x50 - bne _0800D2E0 - ldr r1, _0800D28C @ =0x0202C580 - movs r0, #0 - strb r0, [r1] - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - b _0800D2E0 - .align 2, 0 + movs r2, #0 + ldrsh r0, [r1, r2] + cmp r0, #0x50 + bne _0800D2E0 + ldr r1, _0800D28C @ =0x0202C580 + movs r0, #0 + strb r0, [r1] + ldrb r0, [r5] + adds r0, #1 + strb r0, [r5] + b _0800D2E0 + .align 2, 0 _0800D284: .4byte 0x0201A4B8 _0800D288: .4byte 0x02002858 _0800D28C: .4byte 0x0202C580 _0800D290: - ldr r0, _0800D2AC @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - beq _0800D2E0 - ldr r1, _0800D2B0 @ =0x0202C580 - movs r0, #0 - strb r0, [r1] + ldr r0, _0800D2AC @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #3 + ands r0, r1 + cmp r0, #0 + beq _0800D2E0 + ldr r1, _0800D2B0 @ =0x0202C580 + movs r0, #0 + strb r0, [r1] _0800D2A2: - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - b _0800D2E0 - .align 2, 0 + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] + b _0800D2E0 + .align 2, 0 _0800D2AC: .4byte 0x0200B0C0 _0800D2B0: .4byte 0x0202C580 _0800D2B4: - ldr r0, _0800D2F4 @ =0x0201A4B8 - ldrh r1, [r0] - subs r1, #4 - strh r1, [r0] - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - movs r0, #0x18 - rsbs r0, r0, #0 - cmp r1, r0 - bge _0800D2E0 - ldr r1, _0800D2F8 @ =0x02002858 - movs r2, #0 - movs r0, #0 - strh r0, [r1, #0x18] - ldr r1, _0800D2FC @ =0x0202BEB0 - movs r0, #1 - strb r0, [r1] - ldr r0, _0800D300 @ =0x0201C18C - strb r2, [r0] - ldr r1, _0800D304 @ =0x0200B0C0 - movs r0, #2 - strb r0, [r1, #3] + ldr r0, _0800D2F4 @ =0x0201A4B8 + ldrh r1, [r0] + subs r1, #4 + strh r1, [r0] + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + movs r0, #0x18 + rsbs r0, r0, #0 + cmp r1, r0 + bge _0800D2E0 + ldr r1, _0800D2F8 @ =0x02002858 + movs r2, #0 + movs r0, #0 + strh r0, [r1, #0x18] + ldr r1, _0800D2FC @ =0x0202BEB0 + movs r0, #1 + strb r0, [r1] + ldr r0, _0800D300 @ =0x0201C18C + strb r2, [r0] + ldr r1, _0800D304 @ =0x0200B0C0 + movs r0, #2 + strb r0, [r1, #3] _0800D2E0: - ldr r1, _0800D2F8 @ =0x02002858 - ldrh r0, [r1, #0x18] - adds r0, #1 - strh r0, [r1, #0x18] - bl sub_E860 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + ldr r1, _0800D2F8 @ =0x02002858 + ldrh r0, [r1, #0x18] + adds r0, #1 + strh r0, [r1, #0x18] + bl sub_E860 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0800D2F4: .4byte 0x0201A4B8 _0800D2F8: .4byte 0x02002858 _0800D2FC: .4byte 0x0202BEB0 _0800D300: .4byte 0x0201C18C _0800D304: .4byte 0x0200B0C0 - thumb_func_start sub_D308 + thumb_func_start sub_D308 sub_D308: @ 0x0800D308 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #8 - ldr r4, _0800D32C @ =0x02002858 - movs r0, #0x1a - ldrsh r2, [r4, r0] - cmp r2, #0 - bne _0800D35E - ldr r1, [r4, #0xc] - cmp r1, #0 - bne _0800D330 - movs r0, #0xa5 - lsls r0, r0, #1 - bl m4aSongNumStart - movs r0, #0xa0 - b _0800D35C - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #8 + ldr r4, _0800D32C @ =0x02002858 + movs r0, #0x1a + ldrsh r2, [r4, r0] + cmp r2, #0 + bne _0800D35E + ldr r1, [r4, #0xc] + cmp r1, #0 + bne _0800D330 + movs r0, #0xa5 + lsls r0, r0, #1 + bl m4aSongNumStart + movs r0, #0xa0 + b _0800D35C + .align 2, 0 _0800D32C: .4byte 0x02002858 _0800D330: - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _0800D354 - ldr r0, _0800D34C @ =0x000003E7 - strh r0, [r4, #0x18] - strh r2, [r4, #0x1a] - movs r0, #9 - bl m4aSongNumStart - ldr r1, _0800D350 @ =0x0200B0C0 - movs r0, #3 - strb r0, [r1, #3] - b _0800D35E - .align 2, 0 + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + bne _0800D354 + ldr r0, _0800D34C @ =0x000003E7 + strh r0, [r4, #0x18] + strh r2, [r4, #0x1a] + movs r0, #9 + bl m4aSongNumStart + ldr r1, _0800D350 @ =0x0200B0C0 + movs r0, #3 + strb r0, [r1, #3] + b _0800D35E + .align 2, 0 _0800D34C: .4byte 0x000003E7 _0800D350: .4byte 0x0200B0C0 _0800D354: - ldr r0, _0800D3C8 @ =0x0000014B - bl m4aSongNumStart - movs r0, #0x5a + ldr r0, _0800D3C8 @ =0x0000014B + bl m4aSongNumStart + movs r0, #0x5a _0800D35C: - strh r0, [r4, #0x18] + strh r0, [r4, #0x18] _0800D35E: - ldr r7, _0800D3CC @ =0x02002858 - ldrh r0, [r7, #0x14] - adds r0, #1 - movs r1, #0 - strh r0, [r7, #0x14] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #8 - ble _0800D3FC - strh r1, [r7, #0x14] - movs r2, #0x12 - ldrsh r0, [r7, r2] - cmp r0, #0 - bne _0800D3D4 - movs r0, #1 - strh r0, [r7, #0x12] - ldrb r2, [r7, #0xb] - lsls r0, r2, #1 - movs r4, #6 - subs r0, r4, r0 - ldr r3, _0800D3D0 @ =0x08079870 - mov r8, r3 - ldr r1, [r7, #0xc] - lsls r1, r1, #2 - add r1, r8 - lsls r2, r2, #5 - ldr r1, [r1] - adds r1, r1, r2 - movs r6, #4 - str r6, [sp] - movs r5, #2 - str r5, [sp, #4] - movs r2, #0 - movs r3, #0x15 - bl sub_10618 - ldrb r1, [r7, #0xb] - lsls r0, r1, #1 - subs r4, r4, r0 - ldr r0, [r7, #0xc] - lsls r0, r0, #2 - add r0, r8 - lsls r1, r1, #5 - ldr r3, [r0] - adds r3, r3, r1 - str r6, [sp] - str r5, [sp, #4] - movs r0, #0 - movs r1, #0x17 - adds r2, r4, #0 - bl sub_10618 - b _0800D3FC - .align 2, 0 + ldr r7, _0800D3CC @ =0x02002858 + ldrh r0, [r7, #0x14] + adds r0, #1 + movs r1, #0 + strh r0, [r7, #0x14] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #8 + ble _0800D3FC + strh r1, [r7, #0x14] + movs r2, #0x12 + ldrsh r0, [r7, r2] + cmp r0, #0 + bne _0800D3D4 + movs r0, #1 + strh r0, [r7, #0x12] + ldrb r2, [r7, #0xb] + lsls r0, r2, #1 + movs r4, #6 + subs r0, r4, r0 + ldr r3, _0800D3D0 @ =0x08079870 + mov r8, r3 + ldr r1, [r7, #0xc] + lsls r1, r1, #2 + add r1, r8 + lsls r2, r2, #5 + ldr r1, [r1] + adds r1, r1, r2 + movs r6, #4 + str r6, [sp] + movs r5, #2 + str r5, [sp, #4] + movs r2, #0 + movs r3, #0x15 + bl sub_10618 + ldrb r1, [r7, #0xb] + lsls r0, r1, #1 + subs r4, r4, r0 + ldr r0, [r7, #0xc] + lsls r0, r0, #2 + add r0, r8 + lsls r1, r1, #5 + ldr r3, [r0] + adds r3, r3, r1 + str r6, [sp] + str r5, [sp, #4] + movs r0, #0 + movs r1, #0x17 + adds r2, r4, #0 + bl sub_10618 + b _0800D3FC + .align 2, 0 _0800D3C8: .4byte 0x0000014B _0800D3CC: .4byte 0x02002858 _0800D3D0: .4byte 0x08079870 _0800D3D4: - strh r1, [r7, #0x12] - ldrb r1, [r7, #0xb] - lsls r0, r1, #1 - movs r2, #6 - subs r2, r2, r0 - ldr r3, _0800D4A0 @ =0x08079870 - ldr r0, [r7, #0xc] - lsls r0, r0, #2 - adds r0, r0, r3 - lsls r1, r1, #5 - ldr r3, [r0] - adds r3, r3, r1 - movs r0, #4 - str r0, [sp] - movs r0, #2 - str r0, [sp, #4] - movs r0, #0 - movs r1, #0x15 - bl sub_10618 + strh r1, [r7, #0x12] + ldrb r1, [r7, #0xb] + lsls r0, r1, #1 + movs r2, #6 + subs r2, r2, r0 + ldr r3, _0800D4A0 @ =0x08079870 + ldr r0, [r7, #0xc] + lsls r0, r0, #2 + adds r0, r0, r3 + lsls r1, r1, #5 + ldr r3, [r0] + adds r3, r3, r1 + movs r0, #4 + str r0, [sp] + movs r0, #2 + str r0, [sp, #4] + movs r0, #0 + movs r1, #0x15 + bl sub_10618 _0800D3FC: - ldr r4, _0800D4A4 @ =0x02002858 - ldrh r0, [r4, #0x1e] - adds r0, #1 - movs r5, #0 - strh r0, [r4, #0x1e] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #8 - ble _0800D42C - strh r5, [r4, #0x1e] - ldrb r0, [r4, #0xb] - ldr r1, [r4, #0xc] - movs r3, #0x1c - ldrsh r2, [r4, r3] - bl sub_F8B0 - ldrh r0, [r4, #0x1c] - adds r0, #1 - strh r0, [r4, #0x1c] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _0800D42C - strh r5, [r4, #0x1c] + ldr r4, _0800D4A4 @ =0x02002858 + ldrh r0, [r4, #0x1e] + adds r0, #1 + movs r5, #0 + strh r0, [r4, #0x1e] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #8 + ble _0800D42C + strh r5, [r4, #0x1e] + ldrb r0, [r4, #0xb] + ldr r1, [r4, #0xc] + movs r3, #0x1c + ldrsh r2, [r4, r3] + bl sub_F8B0 + ldrh r0, [r4, #0x1c] + adds r0, #1 + strh r0, [r4, #0x1c] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _0800D42C + strh r5, [r4, #0x1c] _0800D42C: - ldr r4, _0800D4A4 @ =0x02002858 - ldrh r0, [r4, #0x1a] - adds r0, #1 - movs r2, #0 - strh r0, [r4, #0x1a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r3, #0x18 - ldrsh r1, [r4, r3] - cmp r0, r1 - ble _0800D482 - strh r2, [r4, #0x1a] - movs r1, #0x12 - ldrsh r0, [r4, r1] - cmp r0, #1 - bne _0800D476 - strh r2, [r4, #0x12] - strh r2, [r4, #0x14] - ldrb r1, [r4, #0xb] - lsls r0, r1, #1 - movs r2, #6 - subs r2, r2, r0 - ldr r3, _0800D4A0 @ =0x08079870 - ldr r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r3 - lsls r1, r1, #5 - ldr r3, [r0] - adds r3, r3, r1 - movs r0, #4 - str r0, [sp] - movs r0, #2 - str r0, [sp, #4] - movs r0, #0 - movs r1, #0x15 - bl sub_10618 + ldr r4, _0800D4A4 @ =0x02002858 + ldrh r0, [r4, #0x1a] + adds r0, #1 + movs r2, #0 + strh r0, [r4, #0x1a] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r3, #0x18 + ldrsh r1, [r4, r3] + cmp r0, r1 + ble _0800D482 + strh r2, [r4, #0x1a] + movs r1, #0x12 + ldrsh r0, [r4, r1] + cmp r0, #1 + bne _0800D476 + strh r2, [r4, #0x12] + strh r2, [r4, #0x14] + ldrb r1, [r4, #0xb] + lsls r0, r1, #1 + movs r2, #6 + subs r2, r2, r0 + ldr r3, _0800D4A0 @ =0x08079870 + ldr r0, [r4, #0xc] + lsls r0, r0, #2 + adds r0, r0, r3 + lsls r1, r1, #5 + ldr r3, [r0] + adds r3, r3, r1 + movs r0, #4 + str r0, [sp] + movs r0, #2 + str r0, [sp, #4] + movs r0, #0 + movs r1, #0x15 + bl sub_10618 _0800D476: - movs r0, #9 - bl m4aSongNumStart - ldr r1, _0800D4A8 @ =0x0200B0C0 - movs r0, #4 - strb r0, [r1, #3] + movs r0, #9 + bl m4aSongNumStart + ldr r1, _0800D4A8 @ =0x0200B0C0 + movs r0, #4 + strb r0, [r1, #3] _0800D482: - ldr r1, _0800D4AC @ =0x040000D4 - ldr r0, _0800D4B0 @ =0x03005C00 - str r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _0800D4B4 @ =0x80000800 - str r0, [r1, #8] - ldr r0, [r1, #8] - add sp, #8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + ldr r1, _0800D4AC @ =0x040000D4 + ldr r0, _0800D4B0 @ =0x03005C00 + str r0, [r1] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _0800D4B4 @ =0x80000800 + str r0, [r1, #8] + ldr r0, [r1, #8] + add sp, #8 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800D4A0: .4byte 0x08079870 _0800D4A4: .4byte 0x02002858 _0800D4A8: .4byte 0x0200B0C0 @@ -25876,179 +25876,179 @@ _0800D4AC: .4byte 0x040000D4 _0800D4B0: .4byte 0x03005C00 _0800D4B4: .4byte 0x80000800 - thumb_func_start sub_D4B8 + thumb_func_start sub_D4B8 sub_D4B8: @ 0x0800D4B8 - push {r4, lr} - bl sub_E464 - ldr r4, _0800D500 @ =0x0200B0C0 - ldr r0, [r4, #0x4c] - movs r1, #0xc - bl __umodsi3 - cmp r0, #0 - bne _0800D4E0 - ldr r1, _0800D504 @ =0x02002858 - ldrh r2, [r1, #0x1a] - movs r0, #1 - subs r0, r0, r2 - strh r0, [r1, #0x1a] - adds r1, #0x25 - ldrb r2, [r1] - movs r0, #1 - subs r0, r0, r2 - strb r0, [r1] + push {r4, lr} + bl sub_E464 + ldr r4, _0800D500 @ =0x0200B0C0 + ldr r0, [r4, #0x4c] + movs r1, #0xc + bl __umodsi3 + cmp r0, #0 + bne _0800D4E0 + ldr r1, _0800D504 @ =0x02002858 + ldrh r2, [r1, #0x1a] + movs r0, #1 + subs r0, r0, r2 + strh r0, [r1, #0x1a] + adds r1, #0x25 + ldrb r2, [r1] + movs r0, #1 + subs r0, r0, r2 + strb r0, [r1] _0800D4E0: - ldrh r1, [r4, #0x18] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0800D50C - ldr r0, _0800D508 @ =0x02002880 - movs r2, #0 - ldrsh r1, [r0, r2] - movs r2, #1 - rsbs r2, r2, #0 - adds r3, r0, #0 - cmp r1, r2 - beq _0800D522 - strh r2, [r3] - b _0800D522 - .align 2, 0 + ldrh r1, [r4, #0x18] + movs r0, #0x20 + ands r0, r1 + cmp r0, #0 + beq _0800D50C + ldr r0, _0800D508 @ =0x02002880 + movs r2, #0 + ldrsh r1, [r0, r2] + movs r2, #1 + rsbs r2, r2, #0 + adds r3, r0, #0 + cmp r1, r2 + beq _0800D522 + strh r2, [r3] + b _0800D522 + .align 2, 0 _0800D500: .4byte 0x0200B0C0 _0800D504: .4byte 0x02002858 _0800D508: .4byte 0x02002880 _0800D50C: - movs r0, #0x10 - ands r0, r1 - ldr r3, _0800D53C @ =0x02002880 - cmp r0, #0 - beq _0800D522 - movs r1, #0 - ldrsh r0, [r3, r1] - cmp r0, #1 - beq _0800D522 - movs r0, #1 - strh r0, [r3] + movs r0, #0x10 + ands r0, r1 + ldr r3, _0800D53C @ =0x02002880 + cmp r0, #0 + beq _0800D522 + movs r1, #0 + ldrsh r0, [r3, r1] + cmp r0, #1 + beq _0800D522 + movs r0, #1 + strh r0, [r3] _0800D522: - movs r2, #0 - ldrsh r0, [r3, r2] - cmp r0, #0 - ble _0800D544 - ldr r1, _0800D540 @ =0x02002882 - ldrh r2, [r1] - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #0xef - bgt _0800D55A - adds r0, r2, #0 - adds r0, #8 - b _0800D558 - .align 2, 0 + movs r2, #0 + ldrsh r0, [r3, r2] + cmp r0, #0 + ble _0800D544 + ldr r1, _0800D540 @ =0x02002882 + ldrh r2, [r1] + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #0xef + bgt _0800D55A + adds r0, r2, #0 + adds r0, #8 + b _0800D558 + .align 2, 0 _0800D53C: .4byte 0x02002880 _0800D540: .4byte 0x02002882 _0800D544: - cmp r0, #0 - bge _0800D55A - ldr r1, _0800D608 @ =0x02002882 - ldrh r2, [r1] - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #0 - ble _0800D55A - adds r0, r2, #0 - subs r0, #8 + cmp r0, #0 + bge _0800D55A + ldr r1, _0800D608 @ =0x02002882 + ldrh r2, [r1] + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #0 + ble _0800D55A + adds r0, r2, #0 + subs r0, #8 _0800D558: - strh r0, [r1] + strh r0, [r1] _0800D55A: - ldr r4, _0800D60C @ =0x0200B0C0 - ldrh r1, [r4, #0x18] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - beq _0800D570 - movs r0, #0x66 - bl m4aSongNumStart - movs r0, #0xb - strb r0, [r4, #3] + ldr r4, _0800D60C @ =0x0200B0C0 + ldrh r1, [r4, #0x18] + movs r0, #3 + ands r0, r1 + cmp r0, #0 + beq _0800D570 + movs r0, #0x66 + bl m4aSongNumStart + movs r0, #0xb + strb r0, [r4, #3] _0800D570: - ldrh r1, [r4, #0x18] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _0800D59E - ldr r0, _0800D608 @ =0x02002882 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0 - beq _0800D588 - cmp r0, #0xf0 - bne _0800D59E + ldrh r1, [r4, #0x18] + movs r0, #8 + ands r0, r1 + cmp r0, #0 + beq _0800D59E + ldr r0, _0800D608 @ =0x02002882 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #0 + beq _0800D588 + cmp r0, #0xf0 + bne _0800D59E _0800D588: - movs r0, #0x68 - bl m4aSongNumStart - ldr r1, _0800D610 @ =0x0201B178 - movs r0, #1 - strb r0, [r1] - ldr r1, _0800D614 @ =0x0202BEBC - movs r0, #0 - strb r0, [r1] - movs r0, #5 - strb r0, [r4, #3] + movs r0, #0x68 + bl m4aSongNumStart + ldr r1, _0800D610 @ =0x0201B178 + movs r0, #1 + strb r0, [r1] + ldr r1, _0800D614 @ =0x0202BEBC + movs r0, #0 + strb r0, [r1] + movs r0, #5 + strb r0, [r4, #3] _0800D59E: - ldr r3, _0800D60C @ =0x0200B0C0 - ldrh r2, [r3, #0x1c] - movs r1, #0x88 - lsls r1, r1, #2 - adds r0, r1, #0 - ands r0, r2 - adds r4, r3, #0 - cmp r0, r1 - bne _0800D620 - ldrh r1, [r4, #0x18] - movs r0, #0x80 - lsls r0, r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0800D63E - ldr r0, _0800D608 @ =0x02002882 - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #0 - beq _0800D5CA - cmp r0, #0xf0 - bne _0800D5FC + ldr r3, _0800D60C @ =0x0200B0C0 + ldrh r2, [r3, #0x1c] + movs r1, #0x88 + lsls r1, r1, #2 + adds r0, r1, #0 + ands r0, r2 + adds r4, r3, #0 + cmp r0, r1 + bne _0800D620 + ldrh r1, [r4, #0x18] + movs r0, #0x80 + lsls r0, r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0800D63E + ldr r0, _0800D608 @ =0x02002882 + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r0, #0 + beq _0800D5CA + cmp r0, #0xf0 + bne _0800D5FC _0800D5CA: - ldr r2, _0800D618 @ =0x02002884 - movs r0, #0x28 - strb r0, [r2] - ldr r1, _0800D61C @ =0x02002885 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - bne _0800D5FC - movs r0, #0 - strb r0, [r1] - strb r0, [r2] - movs r0, #0x68 - bl m4aSongNumStart - ldr r1, _0800D610 @ =0x0201B178 - movs r0, #1 - strb r0, [r1] - ldr r1, _0800D614 @ =0x0202BEBC - movs r0, #4 - strb r0, [r1] - movs r0, #0xa - strb r0, [r4, #3] + ldr r2, _0800D618 @ =0x02002884 + movs r0, #0x28 + strb r0, [r2] + ldr r1, _0800D61C @ =0x02002885 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + bne _0800D5FC + movs r0, #0 + strb r0, [r1] + strb r0, [r2] + movs r0, #0x68 + bl m4aSongNumStart + ldr r1, _0800D610 @ =0x0201B178 + movs r0, #1 + strb r0, [r1] + ldr r1, _0800D614 @ =0x0202BEBC + movs r0, #4 + strb r0, [r1] + movs r0, #0xa + strb r0, [r4, #3] _0800D5FC: - ldr r2, _0800D618 @ =0x02002884 - ldrb r1, [r2] - movs r0, #0 - ldrsb r0, [r2, r0] - ldr r4, _0800D60C @ =0x0200B0C0 - b _0800D628 - .align 2, 0 + ldr r2, _0800D618 @ =0x02002884 + ldrb r1, [r2] + movs r0, #0 + ldrsb r0, [r2, r0] + ldr r4, _0800D60C @ =0x0200B0C0 + b _0800D628 + .align 2, 0 _0800D608: .4byte 0x02002882 _0800D60C: .4byte 0x0200B0C0 _0800D610: .4byte 0x0201B178 @@ -26056,579 +26056,579 @@ _0800D614: .4byte 0x0202BEBC _0800D618: .4byte 0x02002884 _0800D61C: .4byte 0x02002885 _0800D620: - ldr r2, _0800D658 @ =0x02002884 - ldrb r1, [r2] - movs r0, #0 - ldrsb r0, [r2, r0] + ldr r2, _0800D658 @ =0x02002884 + ldrb r1, [r2] + movs r0, #0 + ldrsb r0, [r2, r0] _0800D628: - cmp r0, #0 - ble _0800D63E - subs r0, r1, #1 - strb r0, [r2] - lsls r0, r0, #0x18 - cmp r0, #0 - bgt _0800D63E - movs r1, #0 - strb r1, [r2] - ldr r0, _0800D65C @ =0x02002885 - strb r1, [r0] + cmp r0, #0 + ble _0800D63E + subs r0, r1, #1 + strb r0, [r2] + lsls r0, r0, #0x18 + cmp r0, #0 + bgt _0800D63E + movs r1, #0 + strb r1, [r2] + ldr r0, _0800D65C @ =0x02002885 + strb r1, [r0] _0800D63E: - ldr r0, _0800D660 @ =0x02002882 - ldrh r1, [r0] - movs r3, #0xbd - lsls r3, r3, #2 - adds r0, r4, r3 - strh r1, [r0] - movs r2, #0xbc - lsls r2, r2, #2 - adds r0, r4, r2 - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + ldr r0, _0800D660 @ =0x02002882 + ldrh r1, [r0] + movs r3, #0xbd + lsls r3, r3, #2 + adds r0, r4, r3 + strh r1, [r0] + movs r2, #0xbc + lsls r2, r2, #2 + adds r0, r4, r2 + strh r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0800D658: .4byte 0x02002884 _0800D65C: .4byte 0x02002885 _0800D660: .4byte 0x02002882 - thumb_func_start sub_D664 + thumb_func_start sub_D664 sub_D664: @ 0x0800D664 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - bl sub_E3A8 - ldr r4, _0800D6E8 @ =0x02002858 - ldrh r0, [r4, #0x14] - adds r0, #1 - movs r5, #0 - strh r0, [r4, #0x14] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc - ble _0800D68C - strh r5, [r4, #0x14] - ldrh r1, [r4, #0x12] - movs r0, #1 - subs r0, r0, r1 - strh r0, [r4, #0x12] + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + bl sub_E3A8 + ldr r4, _0800D6E8 @ =0x02002858 + ldrh r0, [r4, #0x14] + adds r0, #1 + movs r5, #0 + strh r0, [r4, #0x14] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xc + ble _0800D68C + strh r5, [r4, #0x14] + ldrh r1, [r4, #0x12] + movs r0, #1 + subs r0, r0, r1 + strh r0, [r4, #0x12] _0800D68C: - ldrh r0, [r4, #0x1e] - adds r0, #1 - strh r0, [r4, #0x1e] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #8 - ble _0800D6B8 - strh r5, [r4, #0x1e] - ldrb r0, [r4, #0xb] - ldr r1, [r4, #0xc] - movs r3, #0x1c - ldrsh r2, [r4, r3] - bl sub_F8B0 - ldrh r0, [r4, #0x1c] - adds r0, #1 - strh r0, [r4, #0x1c] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _0800D6B8 - strh r5, [r4, #0x1c] + ldrh r0, [r4, #0x1e] + adds r0, #1 + strh r0, [r4, #0x1e] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #8 + ble _0800D6B8 + strh r5, [r4, #0x1e] + ldrb r0, [r4, #0xb] + ldr r1, [r4, #0xc] + movs r3, #0x1c + ldrsh r2, [r4, r3] + bl sub_F8B0 + ldrh r0, [r4, #0x1c] + adds r0, #1 + strh r0, [r4, #0x1c] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _0800D6B8 + strh r5, [r4, #0x1c] _0800D6B8: - ldr r0, _0800D6EC @ =0x0200B0C0 - ldrh r1, [r0, #0x1c] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0800D6F0 - ldr r4, _0800D6E8 @ =0x02002858 - movs r7, #0x20 - ldrsh r0, [r4, r7] - cmp r0, #0 - bne _0800D72C - movs r0, #0x6b - bl m4aSongNumStart - ldrh r0, [r4, #0x16] - subs r0, #1 - strh r0, [r4, #0x16] - lsls r0, r0, #0x10 - cmp r0, #0 - bge _0800D718 - movs r0, #0x29 - strh r0, [r4, #0x16] - b _0800D718 - .align 2, 0 + ldr r0, _0800D6EC @ =0x0200B0C0 + ldrh r1, [r0, #0x1c] + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _0800D6F0 + ldr r4, _0800D6E8 @ =0x02002858 + movs r7, #0x20 + ldrsh r0, [r4, r7] + cmp r0, #0 + bne _0800D72C + movs r0, #0x6b + bl m4aSongNumStart + ldrh r0, [r4, #0x16] + subs r0, #1 + strh r0, [r4, #0x16] + lsls r0, r0, #0x10 + cmp r0, #0 + bge _0800D718 + movs r0, #0x29 + strh r0, [r4, #0x16] + b _0800D718 + .align 2, 0 _0800D6E8: .4byte 0x02002858 _0800D6EC: .4byte 0x0200B0C0 _0800D6F0: - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0800D72C - ldr r4, _0800D788 @ =0x02002858 - movs r7, #0x20 - ldrsh r5, [r4, r7] - cmp r5, #0 - bne _0800D72C - movs r0, #0x6b - bl m4aSongNumStart - ldrh r0, [r4, #0x16] - adds r0, #1 - strh r0, [r4, #0x16] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x29 - ble _0800D718 - strh r5, [r4, #0x16] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _0800D72C + ldr r4, _0800D788 @ =0x02002858 + movs r7, #0x20 + ldrsh r5, [r4, r7] + cmp r5, #0 + bne _0800D72C + movs r0, #0x6b + bl m4aSongNumStart + ldrh r0, [r4, #0x16] + adds r0, #1 + strh r0, [r4, #0x16] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x29 + ble _0800D718 + strh r5, [r4, #0x16] _0800D718: - movs r1, #0x16 - ldrsh r0, [r4, r1] - ldr r1, [r4, #0xc] - movs r3, #0x10 - ldrsh r2, [r4, r3] - ldrb r3, [r4, #0xb] - bl sub_F670 - movs r0, #9 - strh r0, [r4, #0x20] + movs r1, #0x16 + ldrsh r0, [r4, r1] + ldr r1, [r4, #0xc] + movs r3, #0x10 + ldrsh r2, [r4, r3] + ldrb r3, [r4, #0xb] + bl sub_F670 + movs r0, #9 + strh r0, [r4, #0x20] _0800D72C: - ldr r0, _0800D78C @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0800D794 - ldr r4, _0800D788 @ =0x02002858 - movs r7, #0x10 - ldrsh r0, [r4, r7] - cmp r0, #3 - beq _0800D7A6 - movs r0, #0x67 - bl m4aSongNumStart - movs r0, #1 - strh r0, [r4, #0x12] - movs r1, #0x16 - ldrsh r0, [r4, r1] - ldr r1, [r4, #0xc] - movs r3, #0x10 - ldrsh r2, [r4, r3] - ldrb r3, [r4, #0xb] - bl sub_F670 - ldr r3, _0800D790 @ =0x0202C610 - movs r7, #0x10 - ldrsh r1, [r4, r7] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r3 - movs r2, #0x16 - ldrsh r0, [r4, r2] - str r0, [r1] - ldrh r0, [r4, #0x10] - adds r0, #1 - b _0800D7F6 - .align 2, 0 + ldr r0, _0800D78C @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x10 + ands r0, r1 + cmp r0, #0 + beq _0800D794 + ldr r4, _0800D788 @ =0x02002858 + movs r7, #0x10 + ldrsh r0, [r4, r7] + cmp r0, #3 + beq _0800D7A6 + movs r0, #0x67 + bl m4aSongNumStart + movs r0, #1 + strh r0, [r4, #0x12] + movs r1, #0x16 + ldrsh r0, [r4, r1] + ldr r1, [r4, #0xc] + movs r3, #0x10 + ldrsh r2, [r4, r3] + ldrb r3, [r4, #0xb] + bl sub_F670 + ldr r3, _0800D790 @ =0x0202C610 + movs r7, #0x10 + ldrsh r1, [r4, r7] + lsls r1, r1, #2 + ldr r2, [r4, #0xc] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #3 + adds r1, r1, r0 + ldrb r2, [r4, #0xb] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #6 + adds r1, r1, r0 + adds r1, r1, r3 + movs r2, #0x16 + ldrsh r0, [r4, r2] + str r0, [r1] + ldrh r0, [r4, #0x10] + adds r0, #1 + b _0800D7F6 + .align 2, 0 _0800D788: .4byte 0x02002858 _0800D78C: .4byte 0x0200B0C0 _0800D790: .4byte 0x0202C610 _0800D794: - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0800D818 - ldr r4, _0800D7B0 @ =0x02002858 - movs r1, #0x10 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _0800D7B4 + movs r0, #0x20 + ands r0, r1 + cmp r0, #0 + beq _0800D818 + ldr r4, _0800D7B0 @ =0x02002858 + movs r1, #0x10 + ldrsh r0, [r4, r1] + cmp r0, #0 + bne _0800D7B4 _0800D7A6: - movs r0, #0x8a - bl m4aSongNumStart - b _0800D818 - .align 2, 0 + movs r0, #0x8a + bl m4aSongNumStart + b _0800D818 + .align 2, 0 _0800D7B0: .4byte 0x02002858 _0800D7B4: - movs r0, #0x67 - bl m4aSongNumStart - movs r0, #1 - strh r0, [r4, #0x12] - movs r2, #0x16 - ldrsh r0, [r4, r2] - ldr r1, [r4, #0xc] - movs r3, #0x10 - ldrsh r2, [r4, r3] - ldrb r3, [r4, #0xb] - bl sub_F670 - ldr r3, _0800D8F8 @ =0x0202C610 - movs r7, #0x10 - ldrsh r1, [r4, r7] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r3 - movs r2, #0x16 - ldrsh r0, [r4, r2] - str r0, [r1] - ldrh r0, [r4, #0x10] - subs r0, #1 + movs r0, #0x67 + bl m4aSongNumStart + movs r0, #1 + strh r0, [r4, #0x12] + movs r2, #0x16 + ldrsh r0, [r4, r2] + ldr r1, [r4, #0xc] + movs r3, #0x10 + ldrsh r2, [r4, r3] + ldrb r3, [r4, #0xb] + bl sub_F670 + ldr r3, _0800D8F8 @ =0x0202C610 + movs r7, #0x10 + ldrsh r1, [r4, r7] + lsls r1, r1, #2 + ldr r2, [r4, #0xc] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #3 + adds r1, r1, r0 + ldrb r2, [r4, #0xb] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #6 + adds r1, r1, r0 + adds r1, r1, r3 + movs r2, #0x16 + ldrsh r0, [r4, r2] + str r0, [r1] + ldrh r0, [r4, #0x10] + subs r0, #1 _0800D7F6: - strh r0, [r4, #0x10] - movs r7, #0x10 - ldrsh r1, [r4, r7] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r3 - ldr r0, [r1] - strh r0, [r4, #0x16] + strh r0, [r4, #0x10] + movs r7, #0x10 + ldrsh r1, [r4, r7] + lsls r1, r1, #2 + ldr r2, [r4, #0xc] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #3 + adds r1, r1, r0 + ldrb r2, [r4, #0xb] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #6 + adds r1, r1, r0 + adds r1, r1, r3 + ldr r0, [r1] + strh r0, [r4, #0x16] _0800D818: - ldr r0, _0800D8FC @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r5, #1 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - bne _0800D828 - b _0800D936 + ldr r0, _0800D8FC @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r5, #1 + adds r0, r5, #0 + ands r0, r1 + cmp r0, #0 + bne _0800D828 + b _0800D936 _0800D828: - ldr r4, _0800D900 @ =0x02002858 - strh r5, [r4, #0x12] - movs r1, #0x16 - ldrsh r0, [r4, r1] - ldr r1, [r4, #0xc] - movs r3, #0x10 - ldrsh r2, [r4, r3] - ldrb r3, [r4, #0xb] - bl sub_F670 - ldr r5, _0800D8F8 @ =0x0202C610 - movs r7, #0x10 - ldrsh r1, [r4, r7] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r5 - movs r2, #0x16 - ldrsh r0, [r4, r2] - str r0, [r1] - movs r3, #0x10 - ldrsh r0, [r4, r3] - cmp r0, #3 - bne _0800D90C - movs r0, #0x65 - bl m4aSongNumStart - ldrb r0, [r4, #0xb] - ldr r1, [r4, #0xc] - movs r7, #0x1c - ldrsh r2, [r4, r7] - bl sub_FAE8 - movs r3, #0 - adds r6, r5, #0 - ldr r5, _0800D904 @ =0x0201A500 + ldr r4, _0800D900 @ =0x02002858 + strh r5, [r4, #0x12] + movs r1, #0x16 + ldrsh r0, [r4, r1] + ldr r1, [r4, #0xc] + movs r3, #0x10 + ldrsh r2, [r4, r3] + ldrb r3, [r4, #0xb] + bl sub_F670 + ldr r5, _0800D8F8 @ =0x0202C610 + movs r7, #0x10 + ldrsh r1, [r4, r7] + lsls r1, r1, #2 + ldr r2, [r4, #0xc] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #3 + adds r1, r1, r0 + ldrb r2, [r4, #0xb] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #6 + adds r1, r1, r0 + adds r1, r1, r5 + movs r2, #0x16 + ldrsh r0, [r4, r2] + str r0, [r1] + movs r3, #0x10 + ldrsh r0, [r4, r3] + cmp r0, #3 + bne _0800D90C + movs r0, #0x65 + bl m4aSongNumStart + ldrb r0, [r4, #0xb] + ldr r1, [r4, #0xc] + movs r7, #0x1c + ldrsh r2, [r4, r7] + bl sub_FAE8 + movs r3, #0 + adds r6, r5, #0 + ldr r5, _0800D904 @ =0x0201A500 _0800D880: - lsls r2, r3, #2 - ldr r1, [r4, #0xc] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r2, r2, r0 - ldrb r1, [r4, #0xb] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #6 - adds r2, r2, r0 - adds r2, r2, r6 - ldr r0, [r2] - stm r5!, {r0} - adds r3, #1 - cmp r3, #3 - ble _0800D880 - movs r3, #0 - ldr r0, _0800D908 @ =0x0200B134 - mov r8, r0 - ldr r1, _0800D8F8 @ =0x0202C610 - mov ip, r1 + lsls r2, r3, #2 + ldr r1, [r4, #0xc] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r2, r2, r0 + ldrb r1, [r4, #0xb] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #6 + adds r2, r2, r0 + adds r2, r2, r6 + ldr r0, [r2] + stm r5!, {r0} + adds r3, #1 + cmp r3, #3 + ble _0800D880 + movs r3, #0 + ldr r0, _0800D908 @ =0x0200B134 + mov r8, r0 + ldr r1, _0800D8F8 @ =0x0202C610 + mov ip, r1 _0800D8AC: - movs r1, #0 - adds r2, r3, #1 - mov sb, r2 - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r5, r0, #6 - adds r6, r5, #0 - adds r6, #0xe4 + movs r1, #0 + adds r2, r3, #1 + mov sb, r2 + lsls r0, r3, #1 + adds r0, r0, r3 + lsls r5, r0, #6 + adds r6, r5, #0 + adds r6, #0xe4 _0800D8BC: - lsls r0, r1, #1 - adds r4, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r1, r0, r6 - mov r3, r8 - adds r2, r1, r3 - adds r3, r0, r5 - movs r1, #5 + lsls r0, r1, #1 + adds r4, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r1, r0, r6 + mov r3, r8 + adds r2, r1, r3 + adds r3, r0, r5 + movs r1, #5 _0800D8CE: - mov r7, ip - adds r0, r3, r7 - ldr r0, [r0] - stm r2!, {r0} - adds r3, #4 - subs r1, #1 - cmp r1, #0 - bge _0800D8CE - adds r1, r4, #0 - cmp r1, #7 - ble _0800D8BC - mov r3, sb - cmp r3, #1 - ble _0800D8AC - bl sub_52B30 - ldr r1, _0800D8FC @ =0x0200B0C0 - movs r0, #3 - strb r0, [r1, #3] - b _0800D9B6 - .align 2, 0 + mov r7, ip + adds r0, r3, r7 + ldr r0, [r0] + stm r2!, {r0} + adds r3, #4 + subs r1, #1 + cmp r1, #0 + bge _0800D8CE + adds r1, r4, #0 + cmp r1, #7 + ble _0800D8BC + mov r3, sb + cmp r3, #1 + ble _0800D8AC + bl sub_52B30 + ldr r1, _0800D8FC @ =0x0200B0C0 + movs r0, #3 + strb r0, [r1, #3] + b _0800D9B6 + .align 2, 0 _0800D8F8: .4byte 0x0202C610 _0800D8FC: .4byte 0x0200B0C0 _0800D900: .4byte 0x02002858 _0800D904: .4byte 0x0201A500 _0800D908: .4byte 0x0200B134 _0800D90C: - movs r0, #0x6a - bl m4aSongNumStart - ldrh r0, [r4, #0x10] - adds r0, #1 - strh r0, [r4, #0x10] - movs r0, #0x10 - ldrsh r1, [r4, r0] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r5 - b _0800D9B2 + movs r0, #0x6a + bl m4aSongNumStart + ldrh r0, [r4, #0x10] + adds r0, #1 + strh r0, [r4, #0x10] + movs r0, #0x10 + ldrsh r1, [r4, r0] + lsls r1, r1, #2 + ldr r2, [r4, #0xc] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #3 + adds r1, r1, r0 + ldrb r2, [r4, #0xb] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #6 + adds r1, r1, r0 + adds r1, r1, r5 + b _0800D9B2 _0800D936: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0800D9B6 - ldr r4, _0800D950 @ =0x02002858 - movs r1, #0x10 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _0800D954 - movs r0, #0x8a - bl m4aSongNumStart - b _0800D9B6 - .align 2, 0 + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _0800D9B6 + ldr r4, _0800D950 @ =0x02002858 + movs r1, #0x10 + ldrsh r0, [r4, r1] + cmp r0, #0 + bne _0800D954 + movs r0, #0x8a + bl m4aSongNumStart + b _0800D9B6 + .align 2, 0 _0800D950: .4byte 0x02002858 _0800D954: - movs r0, #0x6a - bl m4aSongNumStart - strh r5, [r4, #0x12] - movs r2, #0x16 - ldrsh r0, [r4, r2] - ldr r1, [r4, #0xc] - movs r3, #0x10 - ldrsh r2, [r4, r3] - ldrb r3, [r4, #0xb] - bl sub_F670 - ldr r3, _0800D9E4 @ =0x0202C610 - movs r7, #0x10 - ldrsh r1, [r4, r7] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r3 - movs r2, #0x16 - ldrsh r0, [r4, r2] - str r0, [r1] - ldrh r0, [r4, #0x10] - subs r0, #1 - strh r0, [r4, #0x10] - movs r7, #0x10 - ldrsh r1, [r4, r7] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r3 + movs r0, #0x6a + bl m4aSongNumStart + strh r5, [r4, #0x12] + movs r2, #0x16 + ldrsh r0, [r4, r2] + ldr r1, [r4, #0xc] + movs r3, #0x10 + ldrsh r2, [r4, r3] + ldrb r3, [r4, #0xb] + bl sub_F670 + ldr r3, _0800D9E4 @ =0x0202C610 + movs r7, #0x10 + ldrsh r1, [r4, r7] + lsls r1, r1, #2 + ldr r2, [r4, #0xc] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #3 + adds r1, r1, r0 + ldrb r2, [r4, #0xb] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #6 + adds r1, r1, r0 + adds r1, r1, r3 + movs r2, #0x16 + ldrsh r0, [r4, r2] + str r0, [r1] + ldrh r0, [r4, #0x10] + subs r0, #1 + strh r0, [r4, #0x10] + movs r7, #0x10 + ldrsh r1, [r4, r7] + lsls r1, r1, #2 + ldr r2, [r4, #0xc] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #3 + adds r1, r1, r0 + ldrb r2, [r4, #0xb] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #6 + adds r1, r1, r0 + adds r1, r1, r3 _0800D9B2: - ldr r0, [r1] - strh r0, [r4, #0x16] + ldr r0, [r1] + strh r0, [r4, #0x16] _0800D9B6: - ldr r1, _0800D9E8 @ =0x040000D4 - ldr r0, _0800D9EC @ =0x03005C00 - str r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _0800D9F0 @ =0x80000800 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r1, _0800D9F4 @ =0x02002858 - ldrh r2, [r1, #0x20] - movs r3, #0x20 - ldrsh r0, [r1, r3] - cmp r0, #0 - ble _0800D9D8 - subs r0, r2, #1 - strh r0, [r1, #0x20] + ldr r1, _0800D9E8 @ =0x040000D4 + ldr r0, _0800D9EC @ =0x03005C00 + str r0, [r1] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _0800D9F0 @ =0x80000800 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r1, _0800D9F4 @ =0x02002858 + ldrh r2, [r1, #0x20] + movs r3, #0x20 + ldrsh r0, [r1, r3] + cmp r0, #0 + ble _0800D9D8 + subs r0, r2, #1 + strh r0, [r1, #0x20] _0800D9D8: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800D9E4: .4byte 0x0202C610 _0800D9E8: .4byte 0x040000D4 _0800D9EC: .4byte 0x03005C00 _0800D9F0: .4byte 0x80000800 _0800D9F4: .4byte 0x02002858 - thumb_func_start sub_D9F8 + thumb_func_start sub_D9F8 sub_D9F8: @ 0x0800D9F8 - push {lr} - bl sub_19B4 - bl sub_E908 - ldr r1, _0800DA18 @ =0x0201B124 - movs r0, #0 - strb r0, [r1] - bl sub_E464 - ldr r1, _0800DA1C @ =0x0200B0C0 - movs r0, #6 - strb r0, [r1, #3] - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_19B4 + bl sub_E908 + ldr r1, _0800DA18 @ =0x0201B124 + movs r0, #0 + strb r0, [r1] + bl sub_E464 + ldr r1, _0800DA1C @ =0x0200B0C0 + movs r0, #6 + strb r0, [r1, #3] + pop {r0} + bx r0 + .align 2, 0 _0800DA18: .4byte 0x0201B124 _0800DA1C: .4byte 0x0200B0C0 - thumb_func_start sub_DA20 + thumb_func_start sub_DA20 sub_DA20: @ 0x0800DA20 - push {r4, r5, lr} - bl sub_E464 - ldr r4, _0800DA4C @ =0x0200B0C0 - ldrh r1, [r4, #0x18] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0800DA58 - movs r0, #0x66 - bl m4aSongNumStart - ldr r0, _0800DA50 @ =0x0201B178 - movs r1, #0 - strb r1, [r0] - ldr r0, _0800DA54 @ =0x0202BEBC - strb r1, [r0] - bl sub_2568 - movs r0, #3 - strb r0, [r4, #3] - b _0800DB2E - .align 2, 0 + push {r4, r5, lr} + bl sub_E464 + ldr r4, _0800DA4C @ =0x0200B0C0 + ldrh r1, [r4, #0x18] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _0800DA58 + movs r0, #0x66 + bl m4aSongNumStart + ldr r0, _0800DA50 @ =0x0201B178 + movs r1, #0 + strb r1, [r0] + ldr r0, _0800DA54 @ =0x0202BEBC + strb r1, [r0] + bl sub_2568 + movs r0, #3 + strb r0, [r4, #3] + b _0800DB2E + .align 2, 0 _0800DA4C: .4byte 0x0200B0C0 _0800DA50: .4byte 0x0201B178 _0800DA54: .4byte 0x0202BEBC _0800DA58: - ldr r5, _0800DAB8 @ =0x0202ADD0 - ldr r0, _0800DABC @ =0x0202BEC8 - ldr r1, _0800DAC0 @ =0x0202C5F0 - ldr r2, _0800DAC4 @ =0x0201A4D0 - bl sub_1B04 - str r0, [r5] - ldr r1, _0800DAC8 @ =0x0202BDF0 - movs r3, #3 - ands r3, r0 - str r3, [r1] - ldr r2, _0800DACC @ =0x0201C1AC - movs r1, #0x1c - ands r1, r0 - lsrs r1, r1, #2 - strb r1, [r2] - ldr r2, _0800DAD0 @ =0x0202ADDC - movs r1, #0xe0 - lsls r1, r1, #4 - ands r1, r0 - lsrs r1, r1, #9 - strb r1, [r2] - movs r1, #0x40 - ands r1, r0 - cmp r1, #0 - beq _0800DB2E - cmp r3, #1 - bhi _0800DB2E - bl sub_E970 - ldr r0, [r5] - movs r1, #0x80 - lsls r1, r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0800DAE8 - bl sub_E94C - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _0800DAD4 - movs r0, #8 - strb r0, [r4, #3] - b _0800DAE8 - .align 2, 0 + ldr r5, _0800DAB8 @ =0x0202ADD0 + ldr r0, _0800DABC @ =0x0202BEC8 + ldr r1, _0800DAC0 @ =0x0202C5F0 + ldr r2, _0800DAC4 @ =0x0201A4D0 + bl sub_1B04 + str r0, [r5] + ldr r1, _0800DAC8 @ =0x0202BDF0 + movs r3, #3 + ands r3, r0 + str r3, [r1] + ldr r2, _0800DACC @ =0x0201C1AC + movs r1, #0x1c + ands r1, r0 + lsrs r1, r1, #2 + strb r1, [r2] + ldr r2, _0800DAD0 @ =0x0202ADDC + movs r1, #0xe0 + lsls r1, r1, #4 + ands r1, r0 + lsrs r1, r1, #9 + strb r1, [r2] + movs r1, #0x40 + ands r1, r0 + cmp r1, #0 + beq _0800DB2E + cmp r3, #1 + bhi _0800DB2E + bl sub_E970 + ldr r0, [r5] + movs r1, #0x80 + lsls r1, r1, #1 + ands r0, r1 + cmp r0, #0 + bne _0800DAE8 + bl sub_E94C + lsls r0, r0, #0x10 + asrs r1, r0, #0x10 + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + bne _0800DAD4 + movs r0, #8 + strb r0, [r4, #3] + b _0800DAE8 + .align 2, 0 _0800DAB8: .4byte 0x0202ADD0 _0800DABC: .4byte 0x0202BEC8 _0800DAC0: .4byte 0x0202C5F0 @@ -26637,55 +26637,55 @@ _0800DAC8: .4byte 0x0202BDF0 _0800DACC: .4byte 0x0201C1AC _0800DAD0: .4byte 0x0202ADDC _0800DAD4: - cmp r1, #1 - bne _0800DAE8 - ldr r0, _0800DB34 @ =0x0202BEBC - movs r1, #2 - strb r1, [r0] - movs r0, #7 - strb r0, [r4, #3] - movs r0, #0x8a - bl m4aSongNumStart + cmp r1, #1 + bne _0800DAE8 + ldr r0, _0800DB34 @ =0x0202BEBC + movs r1, #2 + strb r1, [r0] + movs r0, #7 + strb r0, [r4, #3] + movs r0, #0x8a + bl m4aSongNumStart _0800DAE8: - ldr r1, _0800DB38 @ =0x0201A510 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - ldr r0, _0800DB3C @ =0x0202ADD0 - ldr r0, [r0] - movs r1, #0xfe - lsls r1, r1, #0xf - ands r0, r1 - cmp r0, #0 - beq _0800DB2E - ldr r0, _0800DB40 @ =0x0202ADE4 - movs r1, #0 - ldrsb r1, [r0, r1] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _0800DB2E - ldr r1, _0800DB44 @ =0x0201A444 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb4 - ble _0800DB2E - ldr r1, _0800DB34 @ =0x0202BEBC - movs r0, #2 - strb r0, [r1] - ldr r1, _0800DB48 @ =0x0200B0C0 - movs r0, #7 - strb r0, [r1, #3] - movs r0, #0x8a - bl m4aSongNumStart + ldr r1, _0800DB38 @ =0x0201A510 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + ldr r0, _0800DB3C @ =0x0202ADD0 + ldr r0, [r0] + movs r1, #0xfe + lsls r1, r1, #0xf + ands r0, r1 + cmp r0, #0 + beq _0800DB2E + ldr r0, _0800DB40 @ =0x0202ADE4 + movs r1, #0 + ldrsb r1, [r0, r1] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + bne _0800DB2E + ldr r1, _0800DB44 @ =0x0201A444 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb4 + ble _0800DB2E + ldr r1, _0800DB34 @ =0x0202BEBC + movs r0, #2 + strb r0, [r1] + ldr r1, _0800DB48 @ =0x0200B0C0 + movs r0, #7 + strb r0, [r1, #3] + movs r0, #0x8a + bl m4aSongNumStart _0800DB2E: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0800DB34: .4byte 0x0202BEBC _0800DB38: .4byte 0x0201A510 _0800DB3C: .4byte 0x0202ADD0 @@ -26693,80 +26693,80 @@ _0800DB40: .4byte 0x0202ADE4 _0800DB44: .4byte 0x0201A444 _0800DB48: .4byte 0x0200B0C0 - thumb_func_start sub_DB4C + thumb_func_start sub_DB4C sub_DB4C: @ 0x0800DB4C - ldr r1, _0800DB68 @ =0x0201A444 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _0800DB66 - movs r0, #0 - strh r0, [r1] - ldr r1, _0800DB6C @ =0x0200B0C0 - movs r0, #5 - strb r0, [r1, #3] + ldr r1, _0800DB68 @ =0x0201A444 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _0800DB66 + movs r0, #0 + strh r0, [r1] + ldr r1, _0800DB6C @ =0x0200B0C0 + movs r0, #5 + strb r0, [r1, #3] _0800DB66: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _0800DB68: .4byte 0x0201A444 _0800DB6C: .4byte 0x0200B0C0 - thumb_func_start sub_DB70 + thumb_func_start sub_DB70 sub_DB70: @ 0x0800DB70 - push {r4, r5, r6, lr} - bl sub_E464 - ldr r1, _0800DBDC @ =0x02002858 - ldrh r0, [r1, #0x22] - adds r0, #1 - movs r2, #0 - strh r0, [r1, #0x22] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x5a - ble _0800DBD4 - movs r0, #0 - strh r0, [r1, #0x22] - ldr r0, _0800DBE0 @ =0x0201B178 - strb r2, [r0] - ldr r0, _0800DBE4 @ =0x0202BEBC - strb r2, [r0] - bl sub_2568 - bl sub_1AA4 - movs r1, #0 - ldr r6, _0800DBE8 @ =0x0202C550 - ldr r5, _0800DBEC @ =0x0202C610 + push {r4, r5, r6, lr} + bl sub_E464 + ldr r1, _0800DBDC @ =0x02002858 + ldrh r0, [r1, #0x22] + adds r0, #1 + movs r2, #0 + strh r0, [r1, #0x22] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x5a + ble _0800DBD4 + movs r0, #0 + strh r0, [r1, #0x22] + ldr r0, _0800DBE0 @ =0x0201B178 + strb r2, [r0] + ldr r0, _0800DBE4 @ =0x0202BEBC + strb r2, [r0] + bl sub_2568 + bl sub_1AA4 + movs r1, #0 + ldr r6, _0800DBE8 @ =0x0202C550 + ldr r5, _0800DBEC @ =0x0202C610 _0800DBA2: - lsls r0, r1, #1 - adds r4, r1, #1 - adds r0, r0, r1 - lsls r1, r0, #3 - lsls r0, r0, #6 - adds r3, r0, r5 - adds r1, r1, r6 - movs r2, #5 + lsls r0, r1, #1 + adds r4, r1, #1 + adds r0, r0, r1 + lsls r1, r0, #3 + lsls r0, r0, #6 + adds r3, r0, r5 + adds r1, r1, r6 + movs r2, #5 _0800DBB2: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, #1 - cmp r2, #0 - bge _0800DBB2 - adds r1, r4, #0 - cmp r1, #1 - ble _0800DBA2 - movs r4, #0 - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r0, _0800DBF0 @ =0x0200B0C0 - strb r4, [r0, #3] + ldm r3!, {r0} + stm r1!, {r0} + subs r2, #1 + cmp r2, #0 + bge _0800DBB2 + adds r1, r4, #0 + cmp r1, #1 + ble _0800DBA2 + movs r4, #0 + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + ldr r0, _0800DBF0 @ =0x0200B0C0 + strb r4, [r0, #3] _0800DBD4: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0800DBDC: .4byte 0x02002858 _0800DBE0: .4byte 0x0201B178 _0800DBE4: .4byte 0x0202BEBC @@ -26774,115 +26774,115 @@ _0800DBE8: .4byte 0x0202C550 _0800DBEC: .4byte 0x0202C610 _0800DBF0: .4byte 0x0200B0C0 - thumb_func_start sub_DBF4 + thumb_func_start sub_DBF4 sub_DBF4: @ 0x0800DBF4 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - bl sub_E464 - ldr r2, _0800DC14 @ =0x02002858 - movs r1, #0x22 - ldrsh r0, [r2, r1] - cmp r0, #0x82 - beq _0800DC28 - cmp r0, #0x82 - bgt _0800DC18 - cmp r0, #4 - beq _0800DC1E - b _0800DCBA - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + bl sub_E464 + ldr r2, _0800DC14 @ =0x02002858 + movs r1, #0x22 + ldrsh r0, [r2, r1] + cmp r0, #0x82 + beq _0800DC28 + cmp r0, #0x82 + bgt _0800DC18 + cmp r0, #4 + beq _0800DC1E + b _0800DCBA + .align 2, 0 _0800DC14: .4byte 0x02002858 _0800DC18: - cmp r0, #0xfa - beq _0800DC3C - b _0800DCBA + cmp r0, #0xfa + beq _0800DC3C + b _0800DCBA _0800DC1E: - bl sub_2568 - bl sub_1AA4 - b _0800DCBA + bl sub_2568 + bl sub_1AA4 + b _0800DCBA _0800DC28: - ldr r1, _0800DC38 @ =0x0202BEBC - movs r0, #3 - strb r0, [r1] - movs r0, #0x65 - bl m4aSongNumStart - b _0800DCBA - .align 2, 0 + ldr r1, _0800DC38 @ =0x0202BEBC + movs r0, #3 + strb r0, [r1] + movs r0, #0x65 + bl m4aSongNumStart + b _0800DCBA + .align 2, 0 _0800DC38: .4byte 0x0202BEBC _0800DC3C: - movs r1, #0 - movs r0, #0 - strh r0, [r2, #0x22] - ldr r0, _0800DCD0 @ =0x0201B178 - strb r1, [r0] - ldr r0, _0800DCD4 @ =0x0202BEBC - strb r1, [r0] - movs r0, #0 - bl sub_F4FC - ldr r1, _0800DCD8 @ =0x0202BED8 - str r0, [r1] - movs r0, #1 - bl sub_F4FC - ldr r1, _0800DCDC @ =0x0201B170 - str r0, [r1] - movs r2, #0 - ldr r3, _0800DCE0 @ =0x0200B134 - mov r8, r3 - ldr r7, _0800DCE4 @ =0x0202C610 - mov ip, r7 + movs r1, #0 + movs r0, #0 + strh r0, [r2, #0x22] + ldr r0, _0800DCD0 @ =0x0201B178 + strb r1, [r0] + ldr r0, _0800DCD4 @ =0x0202BEBC + strb r1, [r0] + movs r0, #0 + bl sub_F4FC + ldr r1, _0800DCD8 @ =0x0202BED8 + str r0, [r1] + movs r0, #1 + bl sub_F4FC + ldr r1, _0800DCDC @ =0x0201B170 + str r0, [r1] + movs r2, #0 + ldr r3, _0800DCE0 @ =0x0200B134 + mov r8, r3 + ldr r7, _0800DCE4 @ =0x0202C610 + mov ip, r7 _0800DC68: - movs r1, #0 - lsls r0, r2, #1 - adds r3, r2, #1 - mov sb, r3 - adds r0, r0, r2 - lsls r5, r0, #6 - adds r6, r5, #0 - adds r6, #0xe4 + movs r1, #0 + lsls r0, r2, #1 + adds r3, r2, #1 + mov sb, r3 + adds r0, r0, r2 + lsls r5, r0, #6 + adds r6, r5, #0 + adds r6, #0xe4 _0800DC78: - lsls r0, r1, #1 - adds r4, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r1, r0, r6 - add r1, r8 - adds r2, r0, r5 - movs r3, #5 + lsls r0, r1, #1 + adds r4, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r1, r0, r6 + add r1, r8 + adds r2, r0, r5 + movs r3, #5 _0800DC88: - mov r7, ip - adds r0, r2, r7 - ldr r0, [r0] - stm r1!, {r0} - adds r2, #4 - subs r3, #1 - cmp r3, #0 - bge _0800DC88 - adds r1, r4, #0 - cmp r1, #7 - ble _0800DC78 - mov r2, sb - cmp r2, #1 - ble _0800DC68 - bl sub_52B30 - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _0800DCE8 @ =0x0200B0C0 - movs r0, #0xc - strb r0, [r1, #3] + mov r7, ip + adds r0, r2, r7 + ldr r0, [r0] + stm r1!, {r0} + adds r2, #4 + subs r3, #1 + cmp r3, #0 + bge _0800DC88 + adds r1, r4, #0 + cmp r1, #7 + ble _0800DC78 + mov r2, sb + cmp r2, #1 + ble _0800DC68 + bl sub_52B30 + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _0800DCE8 @ =0x0200B0C0 + movs r0, #0xc + strb r0, [r1, #3] _0800DCBA: - ldr r1, _0800DCEC @ =0x02002858 - ldrh r0, [r1, #0x22] - adds r0, #1 - strh r0, [r1, #0x22] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + ldr r1, _0800DCEC @ =0x02002858 + ldrh r0, [r1, #0x22] + adds r0, #1 + strh r0, [r1, #0x22] + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800DCD0: .4byte 0x0201B178 _0800DCD4: .4byte 0x0202BEBC _0800DCD8: .4byte 0x0202BED8 @@ -26892,173 +26892,173 @@ _0800DCE4: .4byte 0x0202C610 _0800DCE8: .4byte 0x0200B0C0 _0800DCEC: .4byte 0x02002858 - thumb_func_start sub_DCF0 + thumb_func_start sub_DCF0 sub_DCF0: @ 0x0800DCF0 - push {r4, r5, lr} - bl sub_E464 - ldr r5, _0800DD20 @ =0x0200B0C0 - ldrh r1, [r5, #0x18] - movs r4, #1 - ands r4, r1 - cmp r4, #0 - beq _0800DD24 - movs r0, #0x65 - bl m4aSongNumStart - bl sub_F6E0 - bl sub_52B30 - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - movs r0, #0 - b _0800DD3C - .align 2, 0 + push {r4, r5, lr} + bl sub_E464 + ldr r5, _0800DD20 @ =0x0200B0C0 + ldrh r1, [r5, #0x18] + movs r4, #1 + ands r4, r1 + cmp r4, #0 + beq _0800DD24 + movs r0, #0x65 + bl m4aSongNumStart + bl sub_F6E0 + bl sub_52B30 + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + movs r0, #0 + b _0800DD3C + .align 2, 0 _0800DD20: .4byte 0x0200B0C0 _0800DD24: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0800DD3E - movs r0, #0x66 - bl m4aSongNumStart - ldr r0, _0800DD44 @ =0x0201B178 - strb r4, [r0] - ldr r0, _0800DD48 @ =0x0202BEBC - strb r4, [r0] - movs r0, #3 + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _0800DD3E + movs r0, #0x66 + bl m4aSongNumStart + ldr r0, _0800DD44 @ =0x0201B178 + strb r4, [r0] + ldr r0, _0800DD48 @ =0x0202BEBC + strb r4, [r0] + movs r0, #3 _0800DD3C: - strb r0, [r5, #3] + strb r0, [r5, #3] _0800DD3E: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0800DD44: .4byte 0x0201B178 _0800DD48: .4byte 0x0202BEBC - thumb_func_start sub_DD4C + thumb_func_start sub_DD4C sub_DD4C: @ 0x0800DD4C - push {lr} - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _0800DD6C @ =0x0201A4B4 - movs r0, #1 - strb r0, [r1] - movs r0, #1 - bl sub_23C - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _0800DD6C @ =0x0201A4B4 + movs r0, #1 + strb r0, [r1] + movs r0, #1 + bl sub_23C + pop {r0} + bx r0 + .align 2, 0 _0800DD6C: .4byte 0x0201A4B4 - thumb_func_start sub_DD70 + thumb_func_start sub_DD70 sub_DD70: @ 0x0800DD70 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - bl sub_438 - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x84 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _0800DE50 @ =0x0400000C - ldr r3, _0800DE54 @ =0x00004006 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #3 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800DE58 @ =0x0400000E - ldr r3, _0800DE5C @ =0x0000420F - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r6, _0800DE60 @ =0x0200B0C0 - ldrh r0, [r2] - strh r0, [r6, #0x16] - ldr r4, _0800DE64 @ =0x040000D4 - ldr r0, _0800DE68 @ =0x0809DBE0 - str r0, [r4] - movs r0, #0xa0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - ldr r0, _0800DE6C @ =0x80000100 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800DE70 @ =0x080957A0 - str r0, [r4] - ldr r0, _0800DE74 @ =0x06004000 - str r0, [r4, #4] - ldr r0, _0800DE78 @ =0x80002400 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800DE7C @ =0x0809AFC0 - str r0, [r4] - ldr r0, _0800DE80 @ =0x0600C000 - str r0, [r4, #4] - ldr r0, _0800DE84 @ =0x80001600 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800DE88 @ =0x080947A0 - str r0, [r4] - ldr r0, _0800DE8C @ =0x03005C00 - mov r8, r0 - str r0, [r4, #4] - ldr r5, _0800DE90 @ =0x80000800 - str r5, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800DE94 @ =0x08099FC0 - str r0, [r4] - ldr r0, _0800DE98 @ =0x06001000 - str r0, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800DE9C @ =0x0809DDE0 - str r0, [r4] - ldr r0, _0800DEA0 @ =0x05000200 - str r0, [r4, #4] - ldr r0, _0800DEA4 @ =0x80000010 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800DEA8 @ =0x0809DFE0 - str r0, [r4] - ldr r0, _0800DEAC @ =0x06010000 - str r0, [r4, #4] - ldr r0, _0800DEB0 @ =0x80002210 - str r0, [r4, #8] - ldr r0, [r4, #8] - bl sub_DEB4 - bl sub_EE64 - mov r1, r8 - str r1, [r4] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - movs r0, #9 - bl m4aSongNumStart - bl sub_CBC - bl sub_24C - ldrb r0, [r6, #3] - adds r0, #1 - strb r0, [r6, #3] - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + bl sub_438 + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x84 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _0800DE50 @ =0x0400000C + ldr r3, _0800DE54 @ =0x00004006 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #3 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800DE58 @ =0x0400000E + ldr r3, _0800DE5C @ =0x0000420F + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r6, _0800DE60 @ =0x0200B0C0 + ldrh r0, [r2] + strh r0, [r6, #0x16] + ldr r4, _0800DE64 @ =0x040000D4 + ldr r0, _0800DE68 @ =0x0809DBE0 + str r0, [r4] + movs r0, #0xa0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + ldr r0, _0800DE6C @ =0x80000100 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800DE70 @ =0x080957A0 + str r0, [r4] + ldr r0, _0800DE74 @ =0x06004000 + str r0, [r4, #4] + ldr r0, _0800DE78 @ =0x80002400 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800DE7C @ =0x0809AFC0 + str r0, [r4] + ldr r0, _0800DE80 @ =0x0600C000 + str r0, [r4, #4] + ldr r0, _0800DE84 @ =0x80001600 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800DE88 @ =0x080947A0 + str r0, [r4] + ldr r0, _0800DE8C @ =0x03005C00 + mov r8, r0 + str r0, [r4, #4] + ldr r5, _0800DE90 @ =0x80000800 + str r5, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800DE94 @ =0x08099FC0 + str r0, [r4] + ldr r0, _0800DE98 @ =0x06001000 + str r0, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800DE9C @ =0x0809DDE0 + str r0, [r4] + ldr r0, _0800DEA0 @ =0x05000200 + str r0, [r4, #4] + ldr r0, _0800DEA4 @ =0x80000010 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800DEA8 @ =0x0809DFE0 + str r0, [r4] + ldr r0, _0800DEAC @ =0x06010000 + str r0, [r4, #4] + ldr r0, _0800DEB0 @ =0x80002210 + str r0, [r4, #8] + ldr r0, [r4, #8] + bl sub_DEB4 + bl sub_EE64 + mov r1, r8 + str r1, [r4] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + movs r0, #9 + bl m4aSongNumStart + bl sub_CBC + bl sub_24C + ldrb r0, [r6, #3] + adds r0, #1 + strb r0, [r6, #3] + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0800DE50: .4byte 0x0400000C _0800DE54: .4byte 0x00004006 _0800DE58: .4byte 0x0400000E @@ -27085,399 +27085,399 @@ _0800DEA8: .4byte 0x0809DFE0 _0800DEAC: .4byte 0x06010000 _0800DEB0: .4byte 0x80002210 - thumb_func_start sub_DEB4 + thumb_func_start sub_DEB4 sub_DEB4: @ 0x0800DEB4 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - movs r2, #0 - ldr r0, _0800DF54 @ =0x02002858 - mov r8, r0 - ldr r0, _0800DF58 @ =0x0200B0C0 - mov ip, r0 - ldr r0, _0800DF5C @ =0x0202C610 - mov sl, r0 - movs r0, #0x74 - add r0, ip - mov sb, r0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + movs r2, #0 + ldr r0, _0800DF54 @ =0x02002858 + mov r8, r0 + ldr r0, _0800DF58 @ =0x0200B0C0 + mov ip, r0 + ldr r0, _0800DF5C @ =0x0202C610 + mov sl, r0 + movs r0, #0x74 + add r0, ip + mov sb, r0 _0800DED2: - movs r1, #0 - lsls r0, r2, #1 - adds r7, r2, #1 - adds r0, r0, r2 - lsls r5, r0, #6 - adds r6, r5, #0 - adds r6, #0xe4 + movs r1, #0 + lsls r0, r2, #1 + adds r7, r2, #1 + adds r0, r0, r2 + lsls r5, r0, #6 + adds r6, r5, #0 + adds r6, #0xe4 _0800DEE0: - lsls r0, r1, #1 - adds r4, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r1, r0, r6 - add r1, sb - adds r0, r0, r5 - mov r2, sl - adds r3, r0, r2 - movs r2, #5 + lsls r0, r1, #1 + adds r4, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r1, r0, r6 + add r1, sb + adds r0, r0, r5 + mov r2, sl + adds r3, r0, r2 + movs r2, #5 _0800DEF4: - ldm r1!, {r0} - stm r3!, {r0} - subs r2, #1 - cmp r2, #0 - bge _0800DEF4 - adds r1, r4, #0 - cmp r1, #7 - ble _0800DEE0 - adds r2, r7, #0 - cmp r2, #1 - ble _0800DED2 - movs r0, #0 - movs r1, #0 - mov r2, r8 - strh r0, [r2, #8] - strh r0, [r2, #0x1e] - strh r0, [r2, #0x1c] - strb r1, [r2, #0xb] - ldr r2, _0800DF60 @ =0x02002882 - strh r0, [r2] - movs r2, #1 - rsbs r2, r2, #0 - adds r0, r2, #0 - ldr r2, _0800DF64 @ =0x02002880 - strh r0, [r2] - mov r0, r8 - adds r0, #0x24 - strb r1, [r0] - mov r0, r8 - strb r1, [r0, #0xa] - ldr r2, _0800DF60 @ =0x02002882 - ldrh r1, [r2] - movs r0, #0xbd - lsls r0, r0, #2 - add r0, ip - strh r1, [r0] - ldrh r1, [r2] - movs r0, #0xbc - lsls r0, r0, #2 - add r0, ip - strh r1, [r0] - 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 + ldm r1!, {r0} + stm r3!, {r0} + subs r2, #1 + cmp r2, #0 + bge _0800DEF4 + adds r1, r4, #0 + cmp r1, #7 + ble _0800DEE0 + adds r2, r7, #0 + cmp r2, #1 + ble _0800DED2 + movs r0, #0 + movs r1, #0 + mov r2, r8 + strh r0, [r2, #8] + strh r0, [r2, #0x1e] + strh r0, [r2, #0x1c] + strb r1, [r2, #0xb] + ldr r2, _0800DF60 @ =0x02002882 + strh r0, [r2] + movs r2, #1 + rsbs r2, r2, #0 + adds r0, r2, #0 + ldr r2, _0800DF64 @ =0x02002880 + strh r0, [r2] + mov r0, r8 + adds r0, #0x24 + strb r1, [r0] + mov r0, r8 + strb r1, [r0, #0xa] + ldr r2, _0800DF60 @ =0x02002882 + ldrh r1, [r2] + movs r0, #0xbd + lsls r0, r0, #2 + add r0, ip + strh r1, [r0] + ldrh r1, [r2] + movs r0, #0xbc + lsls r0, r0, #2 + add r0, ip + strh r1, [r0] + 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 _0800DF54: .4byte 0x02002858 _0800DF58: .4byte 0x0200B0C0 _0800DF5C: .4byte 0x0202C610 _0800DF60: .4byte 0x02002882 _0800DF64: .4byte 0x02002880 - thumb_func_start sub_DF68 + thumb_func_start sub_DF68 sub_DF68: @ 0x0800DF68 - push {r4, r5, lr} - ldr r0, _0800DF80 @ =0x02002858 - ldrb r4, [r0, #0xa] - adds r5, r0, #0 - cmp r4, #1 - beq _0800DFE8 - cmp r4, #1 - bgt _0800DF88 - cmp r4, #0 - beq _0800DF94 - ldr r4, _0800DF84 @ =0x0200B0C0 - b _0800E072 - .align 2, 0 + push {r4, r5, lr} + ldr r0, _0800DF80 @ =0x02002858 + ldrb r4, [r0, #0xa] + adds r5, r0, #0 + cmp r4, #1 + beq _0800DFE8 + cmp r4, #1 + bgt _0800DF88 + cmp r4, #0 + beq _0800DF94 + ldr r4, _0800DF84 @ =0x0200B0C0 + b _0800E072 + .align 2, 0 _0800DF80: .4byte 0x02002858 _0800DF84: .4byte 0x0200B0C0 _0800DF88: - cmp r4, #2 - beq _0800E020 - ldr r4, _0800DF90 @ =0x0200B0C0 - b _0800E072 - .align 2, 0 + cmp r4, #2 + beq _0800E020 + ldr r4, _0800DF90 @ =0x0200B0C0 + b _0800E072 + .align 2, 0 _0800DF90: .4byte 0x0200B0C0 _0800DF94: - ldrh r0, [r5, #0x1e] - adds r0, #1 - strh r0, [r5, #0x1e] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #8 - ble _0800DFC0 - strh r4, [r5, #0x1e] - movs r0, #0x1c - ldrsh r2, [r5, r0] - movs r0, #0 - movs r1, #0 - bl sub_F8B0 - ldrh r0, [r5, #0x1c] - adds r0, #1 - strh r0, [r5, #0x1c] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _0800DFC0 - strh r4, [r5, #0x1c] + ldrh r0, [r5, #0x1e] + adds r0, #1 + strh r0, [r5, #0x1e] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #8 + ble _0800DFC0 + strh r4, [r5, #0x1e] + movs r0, #0x1c + ldrsh r2, [r5, r0] + movs r0, #0 + movs r1, #0 + bl sub_F8B0 + ldrh r0, [r5, #0x1c] + adds r0, #1 + strh r0, [r5, #0x1c] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _0800DFC0 + strh r4, [r5, #0x1c] _0800DFC0: - ldr r0, _0800DFE0 @ =0x02002858 - movs r1, #8 - ldrsh r2, [r0, r1] - movs r1, #0x96 - lsls r1, r1, #2 - adds r5, r0, #0 - ldr r4, _0800DFE4 @ =0x0200B0C0 - cmp r2, r1 - ble _0800E072 - movs r0, #0 - strh r0, [r5, #8] - strh r0, [r5, #0x1e] - strh r0, [r5, #0x1c] - movs r0, #1 - strb r0, [r5, #0xa] - b _0800E072 - .align 2, 0 + ldr r0, _0800DFE0 @ =0x02002858 + movs r1, #8 + ldrsh r2, [r0, r1] + movs r1, #0x96 + lsls r1, r1, #2 + adds r5, r0, #0 + ldr r4, _0800DFE4 @ =0x0200B0C0 + cmp r2, r1 + ble _0800E072 + movs r0, #0 + strh r0, [r5, #8] + strh r0, [r5, #0x1e] + strh r0, [r5, #0x1c] + movs r0, #1 + strb r0, [r5, #0xa] + b _0800E072 + .align 2, 0 _0800DFE0: .4byte 0x02002858 _0800DFE4: .4byte 0x0200B0C0 _0800DFE8: - ldr r2, _0800E018 @ =0x02002882 - ldrh r0, [r2] - adds r0, #8 - strh r0, [r2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xef - ble _0800E000 - movs r0, #0 - strh r0, [r5, #8] - movs r0, #2 - strb r0, [r5, #0xa] + ldr r2, _0800E018 @ =0x02002882 + ldrh r0, [r2] + adds r0, #8 + strh r0, [r2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xef + ble _0800E000 + movs r0, #0 + strh r0, [r5, #8] + movs r0, #2 + strb r0, [r5, #0xa] _0800E000: - ldr r1, _0800E01C @ =0x0200B0C0 - ldrh r2, [r2] - movs r3, #0xbd - lsls r3, r3, #2 - adds r0, r1, r3 - strh r2, [r0] - subs r3, #4 - adds r0, r1, r3 - strh r2, [r0] - adds r4, r1, #0 - b _0800E072 - .align 2, 0 + ldr r1, _0800E01C @ =0x0200B0C0 + ldrh r2, [r2] + movs r3, #0xbd + lsls r3, r3, #2 + adds r0, r1, r3 + strh r2, [r0] + subs r3, #4 + adds r0, r1, r3 + strh r2, [r0] + adds r4, r1, #0 + b _0800E072 + .align 2, 0 _0800E018: .4byte 0x02002882 _0800E01C: .4byte 0x0200B0C0 _0800E020: - ldrh r0, [r5, #0x1e] - adds r0, #1 - movs r4, #0 - strh r0, [r5, #0x1e] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #8 - ble _0800E04E - strh r4, [r5, #0x1e] - movs r0, #0x1c - ldrsh r2, [r5, r0] - movs r0, #1 - movs r1, #0 - bl sub_F8B0 - ldrh r0, [r5, #0x1c] - adds r0, #1 - strh r0, [r5, #0x1c] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _0800E04E - strh r4, [r5, #0x1c] + ldrh r0, [r5, #0x1e] + adds r0, #1 + movs r4, #0 + strh r0, [r5, #0x1e] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #8 + ble _0800E04E + strh r4, [r5, #0x1e] + movs r0, #0x1c + ldrsh r2, [r5, r0] + movs r0, #1 + movs r1, #0 + bl sub_F8B0 + ldrh r0, [r5, #0x1c] + adds r0, #1 + strh r0, [r5, #0x1c] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _0800E04E + strh r4, [r5, #0x1c] _0800E04E: - ldr r0, _0800E0B0 @ =0x02002858 - movs r1, #8 - ldrsh r2, [r0, r1] - movs r1, #0x96 - lsls r1, r1, #2 - adds r5, r0, #0 - ldr r4, _0800E0B4 @ =0x0200B0C0 - cmp r2, r1 - ble _0800E072 - movs r1, #0 - movs r0, #0 - strh r0, [r5, #8] - adds r0, r5, #0 - adds r0, #0x24 - strb r1, [r0] - ldrb r0, [r4, #3] - adds r0, #1 - strb r0, [r4, #3] + ldr r0, _0800E0B0 @ =0x02002858 + movs r1, #8 + ldrsh r2, [r0, r1] + movs r1, #0x96 + lsls r1, r1, #2 + adds r5, r0, #0 + ldr r4, _0800E0B4 @ =0x0200B0C0 + cmp r2, r1 + ble _0800E072 + movs r1, #0 + movs r0, #0 + strh r0, [r5, #8] + adds r0, r5, #0 + adds r0, #0x24 + strb r1, [r0] + ldrb r0, [r4, #3] + adds r0, #1 + strb r0, [r4, #3] _0800E072: - ldrh r0, [r5, #8] - adds r0, #1 - strh r0, [r5, #8] - ldr r1, _0800E0B8 @ =0x040000D4 - ldr r0, _0800E0BC @ =0x03005C00 - str r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _0800E0C0 @ =0x80000800 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldrh r1, [r4, #0x18] - movs r0, #0xb - ands r0, r1 - cmp r0, #0 - beq _0800E0A8 - movs r0, #0x66 - bl m4aSongNumStart - adds r1, r5, #0 - adds r1, #0x24 - movs r0, #1 - strb r0, [r1] - ldrb r0, [r4, #3] - adds r0, #1 - strb r0, [r4, #3] + ldrh r0, [r5, #8] + adds r0, #1 + strh r0, [r5, #8] + ldr r1, _0800E0B8 @ =0x040000D4 + ldr r0, _0800E0BC @ =0x03005C00 + str r0, [r1] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _0800E0C0 @ =0x80000800 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldrh r1, [r4, #0x18] + movs r0, #0xb + ands r0, r1 + cmp r0, #0 + beq _0800E0A8 + movs r0, #0x66 + bl m4aSongNumStart + adds r1, r5, #0 + adds r1, #0x24 + movs r0, #1 + strb r0, [r1] + ldrb r0, [r4, #3] + adds r0, #1 + strb r0, [r4, #3] _0800E0A8: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0800E0B0: .4byte 0x02002858 _0800E0B4: .4byte 0x0200B0C0 _0800E0B8: .4byte 0x040000D4 _0800E0BC: .4byte 0x03005C00 _0800E0C0: .4byte 0x80000800 - thumb_func_start sub_E0C4 + thumb_func_start sub_E0C4 sub_E0C4: @ 0x0800E0C4 - push {lr} - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r0, _0800E0E8 @ =0x02002858 - adds r0, #0x24 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - bl sub_23C - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + ldr r0, _0800E0E8 @ =0x02002858 + adds r0, #0x24 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + bl sub_23C + pop {r0} + bx r0 + .align 2, 0 _0800E0E8: .4byte 0x02002858 - thumb_func_start sub_E0EC + thumb_func_start sub_E0EC sub_E0EC: @ 0x0800E0EC - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - bl sub_438 - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x84 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _0800E1CC @ =0x0400000C - ldr r3, _0800E1D0 @ =0x00004006 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #3 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800E1D4 @ =0x0400000E - ldr r3, _0800E1D8 @ =0x0000420F - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r6, _0800E1DC @ =0x0200B0C0 - ldrh r0, [r2] - strh r0, [r6, #0x16] - ldr r4, _0800E1E0 @ =0x040000D4 - ldr r0, _0800E1E4 @ =0x0809DBE0 - str r0, [r4] - movs r0, #0xa0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - ldr r0, _0800E1E8 @ =0x80000100 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800E1EC @ =0x080957A0 - str r0, [r4] - ldr r0, _0800E1F0 @ =0x06004000 - str r0, [r4, #4] - ldr r0, _0800E1F4 @ =0x80002400 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800E1F8 @ =0x0809AFC0 - str r0, [r4] - ldr r0, _0800E1FC @ =0x0600C000 - str r0, [r4, #4] - ldr r0, _0800E200 @ =0x80001600 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800E204 @ =0x080947A0 - str r0, [r4] - ldr r0, _0800E208 @ =0x03005C00 - mov r8, r0 - str r0, [r4, #4] - ldr r5, _0800E20C @ =0x80000800 - str r5, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800E210 @ =0x08099FC0 - str r0, [r4] - ldr r0, _0800E214 @ =0x06001000 - str r0, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800E218 @ =0x0809DDE0 - str r0, [r4] - ldr r0, _0800E21C @ =0x05000200 - str r0, [r4, #4] - ldr r0, _0800E220 @ =0x80000010 - str r0, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _0800E224 @ =0x0809DFE0 - str r0, [r4] - ldr r0, _0800E228 @ =0x06010000 - str r0, [r4, #4] - ldr r0, _0800E22C @ =0x80002210 - str r0, [r4, #8] - ldr r0, [r4, #8] - bl sub_DEB4 - bl sub_EE64 - mov r1, r8 - str r1, [r4] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - movs r0, #9 - bl m4aSongNumStart - bl sub_CBC - bl sub_24C - ldrb r0, [r6, #3] - adds r0, #1 - strb r0, [r6, #3] - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + bl sub_438 + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x84 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _0800E1CC @ =0x0400000C + ldr r3, _0800E1D0 @ =0x00004006 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #3 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0800E1D4 @ =0x0400000E + ldr r3, _0800E1D8 @ =0x0000420F + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r6, _0800E1DC @ =0x0200B0C0 + ldrh r0, [r2] + strh r0, [r6, #0x16] + ldr r4, _0800E1E0 @ =0x040000D4 + ldr r0, _0800E1E4 @ =0x0809DBE0 + str r0, [r4] + movs r0, #0xa0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + ldr r0, _0800E1E8 @ =0x80000100 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800E1EC @ =0x080957A0 + str r0, [r4] + ldr r0, _0800E1F0 @ =0x06004000 + str r0, [r4, #4] + ldr r0, _0800E1F4 @ =0x80002400 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800E1F8 @ =0x0809AFC0 + str r0, [r4] + ldr r0, _0800E1FC @ =0x0600C000 + str r0, [r4, #4] + ldr r0, _0800E200 @ =0x80001600 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800E204 @ =0x080947A0 + str r0, [r4] + ldr r0, _0800E208 @ =0x03005C00 + mov r8, r0 + str r0, [r4, #4] + ldr r5, _0800E20C @ =0x80000800 + str r5, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800E210 @ =0x08099FC0 + str r0, [r4] + ldr r0, _0800E214 @ =0x06001000 + str r0, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800E218 @ =0x0809DDE0 + str r0, [r4] + ldr r0, _0800E21C @ =0x05000200 + str r0, [r4, #4] + ldr r0, _0800E220 @ =0x80000010 + str r0, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _0800E224 @ =0x0809DFE0 + str r0, [r4] + ldr r0, _0800E228 @ =0x06010000 + str r0, [r4, #4] + ldr r0, _0800E22C @ =0x80002210 + str r0, [r4, #8] + ldr r0, [r4, #8] + bl sub_DEB4 + bl sub_EE64 + mov r1, r8 + str r1, [r4] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + movs r0, #9 + bl m4aSongNumStart + bl sub_CBC + bl sub_24C + ldrb r0, [r6, #3] + adds r0, #1 + strb r0, [r6, #3] + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0800E1CC: .4byte 0x0400000C _0800E1D0: .4byte 0x00004006 _0800E1D4: .4byte 0x0400000E @@ -27504,173 +27504,173 @@ _0800E224: .4byte 0x0809DFE0 _0800E228: .4byte 0x06010000 _0800E22C: .4byte 0x80002210 - thumb_func_start sub_E230 + thumb_func_start sub_E230 sub_E230: @ 0x0800E230 - push {r4, r5, lr} - ldr r0, _0800E248 @ =0x02002858 - ldrb r4, [r0, #0xa] - adds r5, r0, #0 - cmp r4, #1 - beq _0800E2BC - cmp r4, #1 - bgt _0800E250 - cmp r4, #0 - beq _0800E25C - ldr r4, _0800E24C @ =0x0200B0C0 - b _0800E344 - .align 2, 0 + push {r4, r5, lr} + ldr r0, _0800E248 @ =0x02002858 + ldrb r4, [r0, #0xa] + adds r5, r0, #0 + cmp r4, #1 + beq _0800E2BC + cmp r4, #1 + bgt _0800E250 + cmp r4, #0 + beq _0800E25C + ldr r4, _0800E24C @ =0x0200B0C0 + b _0800E344 + .align 2, 0 _0800E248: .4byte 0x02002858 _0800E24C: .4byte 0x0200B0C0 _0800E250: - cmp r4, #2 - beq _0800E2F4 - ldr r4, _0800E258 @ =0x0200B0C0 - b _0800E344 - .align 2, 0 + cmp r4, #2 + beq _0800E2F4 + ldr r4, _0800E258 @ =0x0200B0C0 + b _0800E344 + .align 2, 0 _0800E258: .4byte 0x0200B0C0 _0800E25C: - ldr r0, _0800E2B0 @ =0x0202BED8 - ldr r1, [r0] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _0800E292 - ldrh r0, [r5, #0x1e] - adds r0, #1 - strh r0, [r5, #0x1e] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #8 - ble _0800E292 - strh r4, [r5, #0x1e] - movs r0, #0x1c - ldrsh r2, [r5, r0] - movs r0, #0 - bl sub_F8B0 - ldrh r0, [r5, #0x1c] - adds r0, #1 - strh r0, [r5, #0x1c] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _0800E292 - strh r4, [r5, #0x1c] + ldr r0, _0800E2B0 @ =0x0202BED8 + ldr r1, [r0] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + beq _0800E292 + ldrh r0, [r5, #0x1e] + adds r0, #1 + strh r0, [r5, #0x1e] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #8 + ble _0800E292 + strh r4, [r5, #0x1e] + movs r0, #0x1c + ldrsh r2, [r5, r0] + movs r0, #0 + bl sub_F8B0 + ldrh r0, [r5, #0x1c] + adds r0, #1 + strh r0, [r5, #0x1c] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _0800E292 + strh r4, [r5, #0x1c] _0800E292: - ldr r0, _0800E2B4 @ =0x02002858 - movs r2, #8 - ldrsh r1, [r0, r2] - adds r5, r0, #0 - ldr r4, _0800E2B8 @ =0x0200B0C0 - cmp r1, #0x78 - ble _0800E344 - movs r0, #0 - strh r0, [r5, #8] - strh r0, [r5, #0x1e] - strh r0, [r5, #0x1c] - movs r0, #1 - strb r0, [r5, #0xa] - b _0800E344 - .align 2, 0 + ldr r0, _0800E2B4 @ =0x02002858 + movs r2, #8 + ldrsh r1, [r0, r2] + adds r5, r0, #0 + ldr r4, _0800E2B8 @ =0x0200B0C0 + cmp r1, #0x78 + ble _0800E344 + movs r0, #0 + strh r0, [r5, #8] + strh r0, [r5, #0x1e] + strh r0, [r5, #0x1c] + movs r0, #1 + strb r0, [r5, #0xa] + b _0800E344 + .align 2, 0 _0800E2B0: .4byte 0x0202BED8 _0800E2B4: .4byte 0x02002858 _0800E2B8: .4byte 0x0200B0C0 _0800E2BC: - ldr r2, _0800E2EC @ =0x02002882 - ldrh r0, [r2] - adds r0, #8 - strh r0, [r2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xef - ble _0800E2D4 - movs r0, #0 - strh r0, [r5, #8] - movs r0, #2 - strb r0, [r5, #0xa] + ldr r2, _0800E2EC @ =0x02002882 + ldrh r0, [r2] + adds r0, #8 + strh r0, [r2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xef + ble _0800E2D4 + movs r0, #0 + strh r0, [r5, #8] + movs r0, #2 + strb r0, [r5, #0xa] _0800E2D4: - ldr r1, _0800E2F0 @ =0x0200B0C0 - ldrh r2, [r2] - movs r3, #0xbd - lsls r3, r3, #2 - adds r0, r1, r3 - strh r2, [r0] - subs r3, #4 - adds r0, r1, r3 - strh r2, [r0] - adds r4, r1, #0 - b _0800E344 - .align 2, 0 + ldr r1, _0800E2F0 @ =0x0200B0C0 + ldrh r2, [r2] + movs r3, #0xbd + lsls r3, r3, #2 + adds r0, r1, r3 + strh r2, [r0] + subs r3, #4 + adds r0, r1, r3 + strh r2, [r0] + adds r4, r1, #0 + b _0800E344 + .align 2, 0 _0800E2EC: .4byte 0x02002882 _0800E2F0: .4byte 0x0200B0C0 _0800E2F4: - ldr r0, _0800E378 @ =0x0201B170 - ldr r1, [r0] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _0800E32C - ldrh r0, [r5, #0x1e] - adds r0, #1 - movs r4, #0 - strh r0, [r5, #0x1e] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #8 - ble _0800E32C - strh r4, [r5, #0x1e] - movs r0, #0x1c - ldrsh r2, [r5, r0] - movs r0, #1 - bl sub_F8B0 - ldrh r0, [r5, #0x1c] - adds r0, #1 - strh r0, [r5, #0x1c] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _0800E32C - strh r4, [r5, #0x1c] + ldr r0, _0800E378 @ =0x0201B170 + ldr r1, [r0] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + beq _0800E32C + ldrh r0, [r5, #0x1e] + adds r0, #1 + movs r4, #0 + strh r0, [r5, #0x1e] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #8 + ble _0800E32C + strh r4, [r5, #0x1e] + movs r0, #0x1c + ldrsh r2, [r5, r0] + movs r0, #1 + bl sub_F8B0 + ldrh r0, [r5, #0x1c] + adds r0, #1 + strh r0, [r5, #0x1c] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _0800E32C + strh r4, [r5, #0x1c] _0800E32C: - ldr r0, _0800E37C @ =0x02002858 - movs r2, #8 - ldrsh r1, [r0, r2] - adds r5, r0, #0 - ldr r4, _0800E380 @ =0x0200B0C0 - cmp r1, #0x78 - ble _0800E344 - movs r0, #0 - strh r0, [r5, #8] - ldrb r0, [r4, #3] - adds r0, #1 - strb r0, [r4, #3] + ldr r0, _0800E37C @ =0x02002858 + movs r2, #8 + ldrsh r1, [r0, r2] + adds r5, r0, #0 + ldr r4, _0800E380 @ =0x0200B0C0 + cmp r1, #0x78 + ble _0800E344 + movs r0, #0 + strh r0, [r5, #8] + ldrb r0, [r4, #3] + adds r0, #1 + strb r0, [r4, #3] _0800E344: - ldrh r0, [r5, #8] - adds r0, #1 - strh r0, [r5, #8] - ldr r1, _0800E384 @ =0x040000D4 - ldr r0, _0800E388 @ =0x03005C00 - str r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _0800E38C @ =0x80000800 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldrh r1, [r4, #0x18] - movs r0, #0xb - ands r0, r1 - cmp r0, #0 - beq _0800E372 - movs r0, #0x66 - bl m4aSongNumStart - ldrb r0, [r4, #3] - adds r0, #1 - strb r0, [r4, #3] + ldrh r0, [r5, #8] + adds r0, #1 + strh r0, [r5, #8] + ldr r1, _0800E384 @ =0x040000D4 + ldr r0, _0800E388 @ =0x03005C00 + str r0, [r1] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _0800E38C @ =0x80000800 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldrh r1, [r4, #0x18] + movs r0, #0xb + ands r0, r1 + cmp r0, #0 + beq _0800E372 + movs r0, #0x66 + bl m4aSongNumStart + ldrb r0, [r4, #3] + adds r0, #1 + strb r0, [r4, #3] _0800E372: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0800E378: .4byte 0x0201B170 _0800E37C: .4byte 0x02002858 _0800E380: .4byte 0x0200B0C0 @@ -27678,99 +27678,99 @@ _0800E384: .4byte 0x040000D4 _0800E388: .4byte 0x03005C00 _0800E38C: .4byte 0x80000800 - thumb_func_start sub_E390 + thumb_func_start sub_E390 sub_E390: @ 0x0800E390 - push {lr} - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - movs r0, #8 - bl sub_23C - pop {r0} - bx r0 - - thumb_func_start sub_E3A8 + push {lr} + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + movs r0, #8 + bl sub_23C + pop {r0} + bx r0 + + thumb_func_start sub_E3A8 sub_E3A8: @ 0x0800E3A8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r4, _0800E448 @ =0x02002858 - movs r0, #0x12 - ldrsh r1, [r4, r0] - movs r0, #0xb8 - muls r0, r1, r0 - ldr r2, _0800E44C @ =0x0200B3B8 - adds r5, r0, r2 - movs r0, #1 - strh r0, [r5] - ldr r0, _0800E450 @ =0x086A7DA8 - movs r1, #2 - bl sub_358 - ldr r2, _0800E454 @ =0x080797F0 - ldr r0, [r4, #0xc] - lsls r0, r0, #3 - ldrb r1, [r4, #0xb] - lsls r1, r1, #6 - adds r0, r0, r1 - adds r0, r0, r2 - ldr r1, [r0] - movs r3, #0x10 - ldrsh r0, [r4, r3] - lsls r0, r0, #3 - adds r1, r1, r0 - strh r1, [r5, #2] - ldr r1, [r4, #0xc] - lsls r1, r1, #3 - ldrb r0, [r4, #0xb] - lsls r0, r0, #6 - adds r1, r1, r0 - adds r2, #4 - adds r1, r1, r2 - ldr r0, [r1] - strh r0, [r5, #4] - ldr r7, _0800E458 @ =0x03005000 - ldr r0, _0800E45C @ =0xFFFFFE00 - mov r8, r0 - adds r4, r5, #0 - adds r4, #8 - ldr r2, _0800E460 @ =0x000001FF - mov ip, r2 - movs r6, #1 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r4, _0800E448 @ =0x02002858 + movs r0, #0x12 + ldrsh r1, [r4, r0] + movs r0, #0xb8 + muls r0, r1, r0 + ldr r2, _0800E44C @ =0x0200B3B8 + adds r5, r0, r2 + movs r0, #1 + strh r0, [r5] + ldr r0, _0800E450 @ =0x086A7DA8 + movs r1, #2 + bl sub_358 + ldr r2, _0800E454 @ =0x080797F0 + ldr r0, [r4, #0xc] + lsls r0, r0, #3 + ldrb r1, [r4, #0xb] + lsls r1, r1, #6 + adds r0, r0, r1 + adds r0, r0, r2 + ldr r1, [r0] + movs r3, #0x10 + ldrsh r0, [r4, r3] + lsls r0, r0, #3 + adds r1, r1, r0 + strh r1, [r5, #2] + ldr r1, [r4, #0xc] + lsls r1, r1, #3 + ldrb r0, [r4, #0xb] + lsls r0, r0, #6 + adds r1, r1, r0 + adds r2, #4 + adds r1, r1, r2 + ldr r0, [r1] + strh r0, [r5, #4] + ldr r7, _0800E458 @ =0x03005000 + ldr r0, _0800E45C @ =0xFFFFFE00 + mov r8, r0 + adds r4, r5, #0 + adds r4, #8 + ldr r2, _0800E460 @ =0x000001FF + mov ip, r2 + movs r6, #1 _0800E404: - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r7 - movs r0, #2 - ldrsh r1, [r4, r0] - movs r2, #2 - ldrsh r0, [r5, r2] - adds r1, r1, r0 - mov r0, ip - ands r1, r0 - ldrh r2, [r3, #2] - mov r0, r8 - 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 _0800E404 - movs r0, #0 - strh r0, [r5] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r7 + movs r0, #2 + ldrsh r1, [r4, r0] + movs r2, #2 + ldrsh r0, [r5, r2] + adds r1, r1, r0 + mov r0, ip + ands r1, r0 + ldrh r2, [r3, #2] + mov r0, r8 + 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 _0800E404 + movs r0, #0 + strh r0, [r5] + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800E448: .4byte 0x02002858 _0800E44C: .4byte 0x0200B3B8 _0800E450: .4byte 0x086A7DA8 @@ -27779,192 +27779,192 @@ _0800E458: .4byte 0x03005000 _0800E45C: .4byte 0xFFFFFE00 _0800E460: .4byte 0x000001FF - thumb_func_start sub_E464 + thumb_func_start sub_E464 sub_E464: @ 0x0800E464 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r6, _0800E5CC @ =0x0200B3B8 - adds r4, r6, #0 - movs r0, #0xb8 - adds r0, r0, r6 - mov sl, r0 - mov r5, sl - ldr r0, _0800E5D0 @ =0x0202BEBC - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r2, #0xb8 - adds r1, r0, #0 - muls r1, r2, r1 - movs r3, #0xb8 - lsls r3, r3, #1 - adds r0, r6, r3 - adds r7, r1, r0 - ldr r0, _0800E5D4 @ =0x02002858 - mov sb, r0 - ldr r1, _0800E5D8 @ =0x0200287D - movs r0, #0 - ldrsb r0, [r1, r0] - adds r1, r0, #0 - muls r1, r2, r1 - movs r2, #0xa1 - lsls r2, r2, #3 - adds r0, r6, r2 - adds r1, r1, r0 - mov r8, r1 - ldr r0, _0800E5DC @ =0x02002882 - movs r3, #0 - ldrsh r1, [r0, r3] - cmp r1, #0 - beq _0800E4B4 - b _0800E674 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r6, _0800E5CC @ =0x0200B3B8 + adds r4, r6, #0 + movs r0, #0xb8 + adds r0, r0, r6 + mov sl, r0 + mov r5, sl + ldr r0, _0800E5D0 @ =0x0202BEBC + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + movs r2, #0xb8 + adds r1, r0, #0 + muls r1, r2, r1 + movs r3, #0xb8 + lsls r3, r3, #1 + adds r0, r6, r3 + adds r7, r1, r0 + ldr r0, _0800E5D4 @ =0x02002858 + mov sb, r0 + ldr r1, _0800E5D8 @ =0x0200287D + movs r0, #0 + ldrsb r0, [r1, r0] + adds r1, r0, #0 + muls r1, r2, r1 + movs r2, #0xa1 + lsls r2, r2, #3 + adds r0, r6, r2 + adds r1, r1, r0 + mov r8, r1 + ldr r0, _0800E5DC @ =0x02002882 + movs r3, #0 + ldrsh r1, [r0, r3] + cmp r1, #0 + beq _0800E4B4 + b _0800E674 _0800E4B4: - movs r0, #1 - strh r0, [r6] - strh r1, [r5] - ldr r0, _0800E5E0 @ =0x0201B178 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r7] - mov r0, sb - adds r0, #0x26 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov r1, r8 - strh r0, [r1] - ldr r0, _0800E5E4 @ =0x086A7DB0 - movs r1, #9 - adds r2, r6, #0 - bl sub_358 - movs r0, #0xdc - strh r0, [r6, #2] - movs r0, #0x90 - strh r0, [r6, #4] - adds r4, #8 - ldr r2, _0800E5E8 @ =0x03005000 - mov sl, r2 - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, sl - mov r3, sb - movs r5, #0x1a - ldrsh r1, [r3, r5] - lsls r1, r1, #1 - adds r1, #2 - ldr r3, _0800E5EC @ =0x000003FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #4] - ldr r0, _0800E5F0 @ =0xFFFFFC00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #4] - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, sl - movs r5, #2 - ldrsh r1, [r4, r5] - movs r3, #2 - ldrsh r0, [r6, r3] - adds r1, r1, r0 - ldr r5, _0800E5F4 @ =0x000001FF - adds r0, r5, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _0800E5F8 @ =0xFFFFFE00 - mov ip, r0 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, sl - ldrb r0, [r6, #4] - ldrb r4, [r4, #4] - adds r0, r0, r4 - strb r0, [r1] - mov r1, r8 - ldrh r0, [r1] - cmp r0, #1 - bne _0800E5AA - movs r0, #0x54 - strh r0, [r1, #2] - movs r0, #0x96 - strh r0, [r1, #4] - ldr r2, _0800E5D8 @ =0x0200287D - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, #7 - lsls r0, r0, #2 - ldr r3, _0800E5E4 @ =0x086A7DB0 - adds r0, r0, r3 - ldr r6, [r0] - movs r5, #0 - ldrh r0, [r6] - cmp r5, r0 - bge _0800E5AA - mov sb, sl - mov sl, ip - mov r4, r8 - adds r4, #8 + movs r0, #1 + strh r0, [r6] + strh r1, [r5] + ldr r0, _0800E5E0 @ =0x0201B178 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r7] + mov r0, sb + adds r0, #0x26 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov r1, r8 + strh r0, [r1] + ldr r0, _0800E5E4 @ =0x086A7DB0 + movs r1, #9 + adds r2, r6, #0 + bl sub_358 + movs r0, #0xdc + strh r0, [r6, #2] + movs r0, #0x90 + strh r0, [r6, #4] + adds r4, #8 + ldr r2, _0800E5E8 @ =0x03005000 + mov sl, r2 + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, sl + mov r3, sb + movs r5, #0x1a + ldrsh r1, [r3, r5] + lsls r1, r1, #1 + adds r1, #2 + ldr r3, _0800E5EC @ =0x000003FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #4] + ldr r0, _0800E5F0 @ =0xFFFFFC00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #4] + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, sl + movs r5, #2 + ldrsh r1, [r4, r5] + movs r3, #2 + ldrsh r0, [r6, r3] + adds r1, r1, r0 + ldr r5, _0800E5F4 @ =0x000001FF + adds r0, r5, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _0800E5F8 @ =0xFFFFFE00 + mov ip, r0 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, sl + ldrb r0, [r6, #4] + ldrb r4, [r4, #4] + adds r0, r0, r4 + strb r0, [r1] + mov r1, r8 + ldrh r0, [r1] + cmp r0, #1 + bne _0800E5AA + movs r0, #0x54 + strh r0, [r1, #2] + movs r0, #0x96 + strh r0, [r1, #4] + ldr r2, _0800E5D8 @ =0x0200287D + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, #7 + lsls r0, r0, #2 + ldr r3, _0800E5E4 @ =0x086A7DB0 + adds r0, r0, r3 + ldr r6, [r0] + movs r5, #0 + ldrh r0, [r6] + cmp r5, r0 + bge _0800E5AA + mov sb, sl + mov sl, ip + mov r4, r8 + adds r4, #8 _0800E56A: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, sb - movs r2, #2 - ldrsh r1, [r4, r2] - mov ip, r1 - mov r1, r8 - movs r2, #2 - ldrsh r0, [r1, r2] - mov r2, ip - adds r1, r2, r0 - ldr r2, _0800E5F4 @ =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, [r4] - lsls r1, r1, #3 - add r1, sb - mov r3, r8 - ldrb r0, [r3, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - adds r5, #1 - ldrh r3, [r6] - cmp r5, r3 - blt _0800E56A + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, sb + movs r2, #2 + ldrsh r1, [r4, r2] + mov ip, r1 + mov r1, r8 + movs r2, #2 + ldrsh r0, [r1, r2] + mov r2, ip + adds r1, r2, r0 + ldr r2, _0800E5F4 @ =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, [r4] + lsls r1, r1, #3 + add r1, sb + mov r3, r8 + ldrb r0, [r3, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + adds r5, #1 + ldrh r3, [r6] + cmp r5, r3 + blt _0800E56A _0800E5AA: - ldrh r0, [r7] - cmp r0, #1 - beq _0800E5B2 - b _0800E846 + ldrh r0, [r7] + cmp r0, #1 + beq _0800E5B2 + b _0800E846 _0800E5B2: - ldr r0, _0800E5D0 @ =0x0202BEBC - movs r1, #0 - ldrsb r1, [r0, r1] - adds r2, r0, #0 - cmp r1, #0 - beq _0800E5C2 - cmp r1, #4 - bne _0800E5FC + ldr r0, _0800E5D0 @ =0x0202BEBC + movs r1, #0 + ldrsb r1, [r0, r1] + adds r2, r0, #0 + cmp r1, #0 + beq _0800E5C2 + cmp r1, #4 + bne _0800E5FC _0800E5C2: - movs r0, #0x78 - strh r0, [r7, #2] - movs r0, #0x64 - b _0800E602 - .align 2, 0 + movs r0, #0x78 + strh r0, [r7, #2] + movs r0, #0x64 + b _0800E602 + .align 2, 0 _0800E5CC: .4byte 0x0200B3B8 _0800E5D0: .4byte 0x0202BEBC _0800E5D4: .4byte 0x02002858 @@ -27978,217 +27978,217 @@ _0800E5F0: .4byte 0xFFFFFC00 _0800E5F4: .4byte 0x000001FF _0800E5F8: .4byte 0xFFFFFE00 _0800E5FC: - movs r0, #0x78 - strh r0, [r7, #2] - movs r0, #0x50 + movs r0, #0x78 + strh r0, [r7, #2] + movs r0, #0x50 _0800E602: - strh r0, [r7, #4] - ldr r1, _0800E664 @ =0x086A7DB0 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, #2 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r6, [r0] - movs r5, #0 - ldrh r0, [r6] - cmp r5, r0 - blt _0800E61C - b _0800E846 + strh r0, [r7, #4] + ldr r1, _0800E664 @ =0x086A7DB0 + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, #2 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r6, [r0] + movs r5, #0 + ldrh r0, [r6] + cmp r5, r0 + blt _0800E61C + b _0800E846 _0800E61C: - ldr r1, _0800E668 @ =0x03005000 - mov sb, r1 - ldr r2, _0800E66C @ =0xFFFFFE00 - mov sl, r2 - adds r4, r7, #0 - adds r4, #8 + ldr r1, _0800E668 @ =0x03005000 + mov sb, r1 + ldr r2, _0800E66C @ =0xFFFFFE00 + mov sl, r2 + adds r4, r7, #0 + adds r4, #8 _0800E628: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, sb - movs r0, #2 - ldrsh r1, [r4, r0] - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - ldr r2, _0800E670 @ =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, [r4] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r7, #4] - ldrb r3, [r4, #4] - adds r0, r0, r3 - strb r0, [r1] - adds r4, #8 - adds r5, #1 - ldrh r0, [r6] - cmp r5, r0 - blt _0800E628 - b _0800E846 - .align 2, 0 + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, sb + movs r0, #2 + ldrsh r1, [r4, r0] + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + ldr r2, _0800E670 @ =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, [r4] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r7, #4] + ldrb r3, [r4, #4] + adds r0, r0, r3 + strb r0, [r1] + adds r4, #8 + adds r5, #1 + ldrh r0, [r6] + cmp r5, r0 + blt _0800E628 + b _0800E846 + .align 2, 0 _0800E664: .4byte 0x086A7DB0 _0800E668: .4byte 0x03005000 _0800E66C: .4byte 0xFFFFFE00 _0800E670: .4byte 0x000001FF _0800E674: - cmp r1, #0xf0 - beq _0800E67A - b _0800E834 + cmp r1, #0xf0 + beq _0800E67A + b _0800E834 _0800E67A: - movs r0, #0 - strh r0, [r6] - movs r0, #1 - mov r1, sl - strh r0, [r1] - ldr r0, _0800E79C @ =0x0201B178 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r7] - mov r0, sb - adds r0, #0x26 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov r2, r8 - strh r0, [r2] - ldr r0, _0800E7A0 @ =0x086A7DB0 - movs r1, #9 - adds r2, r6, #0 - bl sub_358 - movs r0, #4 - mov r3, sl - strh r0, [r3, #2] - movs r0, #0x90 - strh r0, [r3, #4] - adds r4, r5, #0 - adds r4, #8 - ldr r5, _0800E7A4 @ =0x03005000 - mov ip, r5 - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, ip - mov r0, sb - movs r3, #0x1a - ldrsh r1, [r0, r3] - lsls r1, r1, #1 - adds r1, #2 - ldr r5, _0800E7A8 @ =0x000003FF - adds r0, r5, #0 - ands r1, r0 - ldrh r3, [r2, #4] - ldr r0, _0800E7AC @ =0xFFFFFC00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #4] - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, ip - movs r0, #2 - ldrsh r1, [r4, r0] - mov r3, sl - movs r5, #2 - ldrsh r0, [r3, r5] - adds r1, r1, r0 - ldr r3, _0800E7B0 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _0800E7B4 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, ip - mov r5, sl - ldrb r0, [r5, #4] - ldrb r4, [r4, #4] - adds r0, r0, r4 - strb r0, [r1] - mov r1, r8 - ldrh r0, [r1] - cmp r0, #1 - bne _0800E77C - movs r0, #0x54 - strh r0, [r1, #2] - movs r0, #0x96 - strh r0, [r1, #4] - ldr r2, _0800E7B8 @ =0x0200287D - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, #7 - lsls r0, r0, #2 - ldr r3, _0800E7A0 @ =0x086A7DB0 - adds r0, r0, r3 - ldr r6, [r0] - movs r5, #0 - ldrh r0, [r6] - cmp r5, r0 - bge _0800E77C - mov sb, ip - ldr r1, _0800E7B4 @ =0xFFFFFE00 - mov sl, r1 - mov r4, r8 - adds r4, #8 + movs r0, #0 + strh r0, [r6] + movs r0, #1 + mov r1, sl + strh r0, [r1] + ldr r0, _0800E79C @ =0x0201B178 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r7] + mov r0, sb + adds r0, #0x26 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov r2, r8 + strh r0, [r2] + ldr r0, _0800E7A0 @ =0x086A7DB0 + movs r1, #9 + adds r2, r6, #0 + bl sub_358 + movs r0, #4 + mov r3, sl + strh r0, [r3, #2] + movs r0, #0x90 + strh r0, [r3, #4] + adds r4, r5, #0 + adds r4, #8 + ldr r5, _0800E7A4 @ =0x03005000 + mov ip, r5 + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, ip + mov r0, sb + movs r3, #0x1a + ldrsh r1, [r0, r3] + lsls r1, r1, #1 + adds r1, #2 + ldr r5, _0800E7A8 @ =0x000003FF + adds r0, r5, #0 + ands r1, r0 + ldrh r3, [r2, #4] + ldr r0, _0800E7AC @ =0xFFFFFC00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #4] + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, ip + movs r0, #2 + ldrsh r1, [r4, r0] + mov r3, sl + movs r5, #2 + ldrsh r0, [r3, r5] + adds r1, r1, r0 + ldr r3, _0800E7B0 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _0800E7B4 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, ip + mov r5, sl + ldrb r0, [r5, #4] + ldrb r4, [r4, #4] + adds r0, r0, r4 + strb r0, [r1] + mov r1, r8 + ldrh r0, [r1] + cmp r0, #1 + bne _0800E77C + movs r0, #0x54 + strh r0, [r1, #2] + movs r0, #0x96 + strh r0, [r1, #4] + ldr r2, _0800E7B8 @ =0x0200287D + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, #7 + lsls r0, r0, #2 + ldr r3, _0800E7A0 @ =0x086A7DB0 + adds r0, r0, r3 + ldr r6, [r0] + movs r5, #0 + ldrh r0, [r6] + cmp r5, r0 + bge _0800E77C + mov sb, ip + ldr r1, _0800E7B4 @ =0xFFFFFE00 + mov sl, r1 + mov r4, r8 + adds r4, #8 _0800E73C: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, sb - movs r0, #2 - ldrsh r2, [r4, r0] - mov ip, r2 - mov r1, r8 - movs r2, #2 - ldrsh r0, [r1, r2] - mov r2, ip - adds r1, r2, r0 - ldr r2, _0800E7B0 @ =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, [r4] - lsls r1, r1, #3 - add r1, sb - mov r3, r8 - ldrb r0, [r3, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - adds r5, #1 - ldrh r3, [r6] - cmp r5, r3 - blt _0800E73C + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, sb + movs r0, #2 + ldrsh r2, [r4, r0] + mov ip, r2 + mov r1, r8 + movs r2, #2 + ldrsh r0, [r1, r2] + mov r2, ip + adds r1, r2, r0 + ldr r2, _0800E7B0 @ =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, [r4] + lsls r1, r1, #3 + add r1, sb + mov r3, r8 + ldrb r0, [r3, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + adds r5, #1 + ldrh r3, [r6] + cmp r5, r3 + blt _0800E73C _0800E77C: - ldrh r0, [r7] - cmp r0, #1 - bne _0800E846 - ldr r0, _0800E7BC @ =0x0202BEBC - movs r1, #0 - ldrsb r1, [r0, r1] - adds r2, r0, #0 - cmp r1, #0 - beq _0800E792 - cmp r1, #4 - bne _0800E7C0 + ldrh r0, [r7] + cmp r0, #1 + bne _0800E846 + ldr r0, _0800E7BC @ =0x0202BEBC + movs r1, #0 + ldrsb r1, [r0, r1] + adds r2, r0, #0 + cmp r1, #0 + beq _0800E792 + cmp r1, #4 + bne _0800E7C0 _0800E792: - movs r0, #0x78 - strh r0, [r7, #2] - movs r0, #0x64 - b _0800E7C6 - .align 2, 0 + movs r0, #0x78 + strh r0, [r7, #2] + movs r0, #0x64 + b _0800E7C6 + .align 2, 0 _0800E79C: .4byte 0x0201B178 _0800E7A0: .4byte 0x086A7DB0 _0800E7A4: .4byte 0x03005000 @@ -28199,159 +28199,159 @@ _0800E7B4: .4byte 0xFFFFFE00 _0800E7B8: .4byte 0x0200287D _0800E7BC: .4byte 0x0202BEBC _0800E7C0: - movs r0, #0x78 - strh r0, [r7, #2] - movs r0, #0x50 + movs r0, #0x78 + strh r0, [r7, #2] + movs r0, #0x50 _0800E7C6: - strh r0, [r7, #4] - ldr r1, _0800E824 @ =0x086A7DB0 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, #2 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r6, [r0] - movs r5, #0 - ldrh r0, [r6] - cmp r5, r0 - bge _0800E846 - ldr r1, _0800E828 @ =0x03005000 - mov sb, r1 - ldr r2, _0800E82C @ =0xFFFFFE00 - mov sl, r2 - adds r4, r7, #0 - adds r4, #8 + strh r0, [r7, #4] + ldr r1, _0800E824 @ =0x086A7DB0 + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, #2 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r6, [r0] + movs r5, #0 + ldrh r0, [r6] + cmp r5, r0 + bge _0800E846 + ldr r1, _0800E828 @ =0x03005000 + mov sb, r1 + ldr r2, _0800E82C @ =0xFFFFFE00 + mov sl, r2 + adds r4, r7, #0 + adds r4, #8 _0800E7EA: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, sb - movs r0, #2 - ldrsh r1, [r4, r0] - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - ldr r2, _0800E830 @ =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, [r4] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r7, #4] - ldrb r3, [r4, #4] - adds r0, r0, r3 - strb r0, [r1] - adds r4, #8 - adds r5, #1 - ldrh r0, [r6] - cmp r5, r0 - blt _0800E7EA - b _0800E846 - .align 2, 0 + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, sb + movs r0, #2 + ldrsh r1, [r4, r0] + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + ldr r2, _0800E830 @ =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, [r4] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r7, #4] + ldrb r3, [r4, #4] + adds r0, r0, r3 + strb r0, [r1] + adds r4, #8 + adds r5, #1 + ldrh r0, [r6] + cmp r5, r0 + blt _0800E7EA + b _0800E846 + .align 2, 0 _0800E824: .4byte 0x086A7DB0 _0800E828: .4byte 0x03005000 _0800E82C: .4byte 0xFFFFFE00 _0800E830: .4byte 0x000001FF _0800E834: - movs r0, #0 - strh r0, [r6] - mov r1, sl - strh r0, [r1] - ldr r0, _0800E85C @ =0x086A7DB0 - movs r1, #9 - adds r2, r6, #0 - bl sub_358 + movs r0, #0 + strh r0, [r6] + mov r1, sl + strh r0, [r1] + ldr r0, _0800E85C @ =0x086A7DB0 + movs r1, #9 + adds r2, r6, #0 + bl sub_358 _0800E846: - movs r0, #0 - strh r0, [r7] - mov r2, r8 - 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 + movs r0, #0 + strh r0, [r7] + mov r2, r8 + 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 _0800E85C: .4byte 0x086A7DB0 - thumb_func_start sub_E860 + thumb_func_start sub_E860 sub_E860: @ 0x0800E860 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r0, _0800E8E8 @ =0x0202C580 - movs r1, #0 - ldrsb r1, [r0, r1] - movs r0, #0xb8 - muls r0, r1, r0 - ldr r2, _0800E8EC @ =0x0200B3B8 - adds r5, r0, r2 - ldr r0, _0800E8F0 @ =0x0201C18C - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r5] - ldr r0, _0800E8F4 @ =0x086A7DD4 - movs r1, #5 - bl sub_358 - ldrh r0, [r5] - cmp r0, #1 - bne _0800E8DA - movs r0, #0x78 - strh r0, [r5, #2] - ldr r0, _0800E8F8 @ =0x0201A4B8 - ldrh r0, [r0] - strh r0, [r5, #4] - ldr r7, _0800E8FC @ =0x03005000 - ldr r0, _0800E900 @ =0xFFFFFE00 - mov r8, r0 - adds r4, r5, #0 - adds r4, #8 - ldr r2, _0800E904 @ =0x000001FF - mov ip, r2 - movs r6, #3 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r0, _0800E8E8 @ =0x0202C580 + movs r1, #0 + ldrsb r1, [r0, r1] + movs r0, #0xb8 + muls r0, r1, r0 + ldr r2, _0800E8EC @ =0x0200B3B8 + adds r5, r0, r2 + ldr r0, _0800E8F0 @ =0x0201C18C + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + strh r0, [r5] + ldr r0, _0800E8F4 @ =0x086A7DD4 + movs r1, #5 + bl sub_358 + ldrh r0, [r5] + cmp r0, #1 + bne _0800E8DA + movs r0, #0x78 + strh r0, [r5, #2] + ldr r0, _0800E8F8 @ =0x0201A4B8 + ldrh r0, [r0] + strh r0, [r5, #4] + ldr r7, _0800E8FC @ =0x03005000 + ldr r0, _0800E900 @ =0xFFFFFE00 + mov r8, r0 + adds r4, r5, #0 + adds r4, #8 + ldr r2, _0800E904 @ =0x000001FF + mov ip, r2 + movs r6, #3 _0800E8A6: - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r7 - movs r0, #2 - ldrsh r1, [r4, r0] - movs r2, #2 - ldrsh r0, [r5, r2] - adds r1, r1, r0 - mov r0, ip - ands r1, r0 - ldrh r2, [r3, #2] - mov r0, r8 - 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 _0800E8A6 + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r7 + movs r0, #2 + ldrsh r1, [r4, r0] + movs r2, #2 + ldrsh r0, [r5, r2] + adds r1, r1, r0 + mov r0, ip + ands r1, r0 + ldrh r2, [r3, #2] + mov r0, r8 + 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 _0800E8A6 _0800E8DA: - movs r0, #0 - strh r0, [r5] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + movs r0, #0 + strh r0, [r5] + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800E8E8: .4byte 0x0202C580 _0800E8EC: .4byte 0x0200B3B8 _0800E8F0: .4byte 0x0201C18C @@ -28361,27 +28361,27 @@ _0800E8FC: .4byte 0x03005000 _0800E900: .4byte 0xFFFFFE00 _0800E904: .4byte 0x000001FF - thumb_func_start sub_E908 + thumb_func_start sub_E908 sub_E908: @ 0x0800E908 - ldr r1, _0800E92C @ =0x0202C5F0 - movs r2, #0 - ldr r0, _0800E930 @ =0x0000CFCF - strh r0, [r1] - ldr r0, _0800E934 @ =0x0201C1B0 - movs r1, #1 - strh r1, [r0] - ldr r0, _0800E938 @ =0x0202C59C - strh r1, [r0] - ldr r0, _0800E93C @ =0x0202ADE4 - strb r2, [r0] - ldr r0, _0800E940 @ =0x0201A4BC - strb r2, [r0] - ldr r0, _0800E944 @ =0x0202C598 - strb r2, [r0] - ldr r0, _0800E948 @ =0x0202C54C - strb r2, [r0] - bx lr - .align 2, 0 + ldr r1, _0800E92C @ =0x0202C5F0 + movs r2, #0 + ldr r0, _0800E930 @ =0x0000CFCF + strh r0, [r1] + ldr r0, _0800E934 @ =0x0201C1B0 + movs r1, #1 + strh r1, [r0] + ldr r0, _0800E938 @ =0x0202C59C + strh r1, [r0] + ldr r0, _0800E93C @ =0x0202ADE4 + strb r2, [r0] + ldr r0, _0800E940 @ =0x0201A4BC + strb r2, [r0] + ldr r0, _0800E944 @ =0x0202C598 + strb r2, [r0] + ldr r0, _0800E948 @ =0x0202C54C + strb r2, [r0] + bx lr + .align 2, 0 _0800E92C: .4byte 0x0202C5F0 _0800E930: .4byte 0x0000CFCF _0800E934: .4byte 0x0201C1B0 @@ -28391,1322 +28391,1322 @@ _0800E940: .4byte 0x0201A4BC _0800E944: .4byte 0x0202C598 _0800E948: .4byte 0x0202C54C - thumb_func_start sub_E94C + thumb_func_start sub_E94C sub_E94C: @ 0x0800E94C - push {lr} - ldr r0, _0800E95C @ =0x0202BF20 - ldrb r0, [r0] - cmp r0, #0 - beq _0800E960 - bl sub_EBEC - b _0800E964 - .align 2, 0 + push {lr} + ldr r0, _0800E95C @ =0x0202BF20 + ldrb r0, [r0] + cmp r0, #0 + beq _0800E960 + bl sub_EBEC + b _0800E964 + .align 2, 0 _0800E95C: .4byte 0x0202BF20 _0800E960: - bl sub_ED28 + bl sub_ED28 _0800E964: - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - pop {r1} - bx r1 - - thumb_func_start sub_E970 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + pop {r1} + bx r1 + + thumb_func_start sub_E970 sub_E970: @ 0x0800E970 - push {lr} - ldr r0, _0800E980 @ =0x0202BF20 - ldrb r0, [r0] - cmp r0, #0 - beq _0800E984 - bl sub_E994 - b _0800E988 - .align 2, 0 + push {lr} + ldr r0, _0800E980 @ =0x0202BF20 + ldrb r0, [r0] + cmp r0, #0 + beq _0800E984 + bl sub_E994 + b _0800E988 + .align 2, 0 _0800E980: .4byte 0x0202BF20 _0800E984: - bl sub_EAC0 + bl sub_EAC0 _0800E988: - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - pop {r1} - bx r1 - - thumb_func_start sub_E994 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + pop {r1} + bx r1 + + thumb_func_start sub_E994 sub_E994: @ 0x0800E994 - push {r4, r5, lr} - ldr r0, _0800E9B4 @ =0x0202ADE4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0800EA04 - ldr r0, _0800E9B8 @ =0x0201A4BC - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0800E9BC - cmp r0, #1 - beq _0800E9F4 - b _0800EAB2 - .align 2, 0 + push {r4, r5, lr} + ldr r0, _0800E9B4 @ =0x0202ADE4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0800EA04 + ldr r0, _0800E9B8 @ =0x0201A4BC + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0800E9BC + cmp r0, #1 + beq _0800E9F4 + b _0800EAB2 + .align 2, 0 _0800E9B4: .4byte 0x0202ADE4 _0800E9B8: .4byte 0x0201A4BC _0800E9BC: - ldr r0, _0800E9D0 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0800E9DC - ldr r1, _0800E9D4 @ =0x0202C5F0 - ldr r0, _0800E9D8 @ =0x0000DEDE - strh r0, [r1] - b _0800EAB2 - .align 2, 0 + ldr r0, _0800E9D0 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0800E9DC + ldr r1, _0800E9D4 @ =0x0202C5F0 + ldr r0, _0800E9D8 @ =0x0000DEDE + strh r0, [r1] + b _0800EAB2 + .align 2, 0 _0800E9D0: .4byte 0x0200B0C0 _0800E9D4: .4byte 0x0202C5F0 _0800E9D8: .4byte 0x0000DEDE _0800E9DC: - ldr r1, _0800E9F0 @ =0x0202C5F0 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xe + ldr r1, _0800E9F0 @ =0x0202C5F0 + movs r2, #0 + adds r0, r1, #0 + adds r0, #0xe _0800E9E4: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _0800E9E4 - b _0800EAB2 - .align 2, 0 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _0800E9E4 + b _0800EAB2 + .align 2, 0 _0800E9F0: .4byte 0x0202C5F0 _0800E9F4: - ldr r1, _0800E9FC @ =0x0202C5F0 - ldr r0, _0800EA00 @ =0x0000EDED - strh r0, [r1] - b _0800EAB2 - .align 2, 0 + ldr r1, _0800E9FC @ =0x0202C5F0 + ldr r0, _0800EA00 @ =0x0000EDED + strh r0, [r1] + b _0800EAB2 + .align 2, 0 _0800E9FC: .4byte 0x0202C5F0 _0800EA00: .4byte 0x0000EDED _0800EA04: - ldr r0, _0800EA24 @ =0x0202C59C - ldrh r2, [r0] - adds r1, r2, #0 - adds r5, r0, #0 - cmp r1, #7 - bhi _0800EA30 - ldr r1, _0800EA28 @ =0x0202C5F0 - ldr r2, _0800EA2C @ =0x0000CFCF - adds r0, r1, #0 - adds r0, #0xe + ldr r0, _0800EA24 @ =0x0202C59C + ldrh r2, [r0] + adds r1, r2, #0 + adds r5, r0, #0 + cmp r1, #7 + bhi _0800EA30 + ldr r1, _0800EA28 @ =0x0202C5F0 + ldr r2, _0800EA2C @ =0x0000CFCF + adds r0, r1, #0 + adds r0, #0xe _0800EA18: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _0800EA18 - b _0800EAAC - .align 2, 0 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _0800EA18 + b _0800EAAC + .align 2, 0 _0800EA24: .4byte 0x0202C59C _0800EA28: .4byte 0x0202C5F0 _0800EA2C: .4byte 0x0000CFCF _0800EA30: - cmp r1, #9 - bhi _0800EA9C - adds r0, r2, #0 - subs r0, #8 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r3, _0800EA94 @ =0x0202C5F0 - movs r4, #0 - strh r2, [r3] - ldr r1, _0800EA98 @ =0x0202C610 - mov ip, r1 - lsls r2, r0, #1 - adds r2, r2, r0 - lsls r2, r2, #6 - adds r0, r2, r1 - ldr r1, [r0] - lsls r1, r1, #8 - mov r0, ip - adds r0, #4 - adds r0, r2, r0 - ldr r0, [r0] - orrs r0, r1 - strh r0, [r3, #2] - mov r0, ip - adds r0, #8 - adds r0, r2, r0 - ldr r1, [r0] - lsls r1, r1, #8 - mov r0, ip - adds r0, #0xc - adds r0, r2, r0 - ldr r0, [r0] - orrs r0, r1 - strh r0, [r3, #4] - mov r0, ip - adds r0, #0x10 - adds r0, r2, r0 - ldrh r1, [r0, #2] - strh r1, [r3, #6] - ldr r0, [r0] - strh r0, [r3, #8] - mov r0, ip - adds r0, #0x14 - adds r2, r2, r0 - ldrh r0, [r2, #2] - strh r0, [r3, #0xa] - ldr r0, [r2] - strh r0, [r3, #0xc] - strh r4, [r3, #0xe] - b _0800EAAC - .align 2, 0 + cmp r1, #9 + bhi _0800EA9C + adds r0, r2, #0 + subs r0, #8 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r3, _0800EA94 @ =0x0202C5F0 + movs r4, #0 + strh r2, [r3] + ldr r1, _0800EA98 @ =0x0202C610 + mov ip, r1 + lsls r2, r0, #1 + adds r2, r2, r0 + lsls r2, r2, #6 + adds r0, r2, r1 + ldr r1, [r0] + lsls r1, r1, #8 + mov r0, ip + adds r0, #4 + adds r0, r2, r0 + ldr r0, [r0] + orrs r0, r1 + strh r0, [r3, #2] + mov r0, ip + adds r0, #8 + adds r0, r2, r0 + ldr r1, [r0] + lsls r1, r1, #8 + mov r0, ip + adds r0, #0xc + adds r0, r2, r0 + ldr r0, [r0] + orrs r0, r1 + strh r0, [r3, #4] + mov r0, ip + adds r0, #0x10 + adds r0, r2, r0 + ldrh r1, [r0, #2] + strh r1, [r3, #6] + ldr r0, [r0] + strh r0, [r3, #8] + mov r0, ip + adds r0, #0x14 + adds r2, r2, r0 + ldrh r0, [r2, #2] + strh r0, [r3, #0xa] + ldr r0, [r2] + strh r0, [r3, #0xc] + strh r4, [r3, #0xe] + b _0800EAAC + .align 2, 0 _0800EA94: .4byte 0x0202C5F0 _0800EA98: .4byte 0x0202C610 _0800EA9C: - ldr r1, _0800EABC @ =0x0202C5F0 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xe + ldr r1, _0800EABC @ =0x0202C5F0 + movs r2, #0 + adds r0, r1, #0 + adds r0, #0xe _0800EAA4: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _0800EAA4 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _0800EAA4 _0800EAAC: - ldrh r0, [r5] - adds r0, #1 - strh r0, [r5] + ldrh r0, [r5] + adds r0, #1 + strh r0, [r5] _0800EAB2: - movs r0, #0 - pop {r4, r5} - pop {r1} - bx r1 - .align 2, 0 + movs r0, #0 + pop {r4, r5} + pop {r1} + bx r1 + .align 2, 0 _0800EABC: .4byte 0x0202C5F0 - thumb_func_start sub_EAC0 + thumb_func_start sub_EAC0 sub_EAC0: @ 0x0800EAC0 - push {r4, r5, lr} - ldr r0, _0800EAE0 @ =0x0202ADE4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0800EB30 - ldr r0, _0800EAE4 @ =0x0202C598 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0800EAE8 - cmp r0, #1 - beq _0800EB20 - b _0800EBDE - .align 2, 0 + push {r4, r5, lr} + ldr r0, _0800EAE0 @ =0x0202ADE4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0800EB30 + ldr r0, _0800EAE4 @ =0x0202C598 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0800EAE8 + cmp r0, #1 + beq _0800EB20 + b _0800EBDE + .align 2, 0 _0800EAE0: .4byte 0x0202ADE4 _0800EAE4: .4byte 0x0202C598 _0800EAE8: - ldr r0, _0800EAFC @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0800EB08 - ldr r1, _0800EB00 @ =0x0202C5F0 - ldr r0, _0800EB04 @ =0x0000DEDE - strh r0, [r1] - b _0800EBDE - .align 2, 0 + ldr r0, _0800EAFC @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0800EB08 + ldr r1, _0800EB00 @ =0x0202C5F0 + ldr r0, _0800EB04 @ =0x0000DEDE + strh r0, [r1] + b _0800EBDE + .align 2, 0 _0800EAFC: .4byte 0x0200B0C0 _0800EB00: .4byte 0x0202C5F0 _0800EB04: .4byte 0x0000DEDE _0800EB08: - ldr r1, _0800EB1C @ =0x0202C5F0 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xe + ldr r1, _0800EB1C @ =0x0202C5F0 + movs r2, #0 + adds r0, r1, #0 + adds r0, #0xe _0800EB10: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _0800EB10 - b _0800EBDE - .align 2, 0 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _0800EB10 + b _0800EBDE + .align 2, 0 _0800EB1C: .4byte 0x0202C5F0 _0800EB20: - ldr r1, _0800EB28 @ =0x0202C5F0 - ldr r0, _0800EB2C @ =0x0000EDED - strh r0, [r1] - b _0800EBDE - .align 2, 0 + ldr r1, _0800EB28 @ =0x0202C5F0 + ldr r0, _0800EB2C @ =0x0000EDED + strh r0, [r1] + b _0800EBDE + .align 2, 0 _0800EB28: .4byte 0x0202C5F0 _0800EB2C: .4byte 0x0000EDED _0800EB30: - ldr r0, _0800EB50 @ =0x0202C59C - ldrh r2, [r0] - adds r1, r2, #0 - adds r5, r0, #0 - cmp r1, #7 - bhi _0800EB5C - ldr r1, _0800EB54 @ =0x0202C5F0 - ldr r2, _0800EB58 @ =0x0000CFCF - adds r0, r1, #0 - adds r0, #0xe + ldr r0, _0800EB50 @ =0x0202C59C + ldrh r2, [r0] + adds r1, r2, #0 + adds r5, r0, #0 + cmp r1, #7 + bhi _0800EB5C + ldr r1, _0800EB54 @ =0x0202C5F0 + ldr r2, _0800EB58 @ =0x0000CFCF + adds r0, r1, #0 + adds r0, #0xe _0800EB44: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _0800EB44 - b _0800EBD8 - .align 2, 0 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _0800EB44 + b _0800EBD8 + .align 2, 0 _0800EB50: .4byte 0x0202C59C _0800EB54: .4byte 0x0202C5F0 _0800EB58: .4byte 0x0000CFCF _0800EB5C: - cmp r1, #9 - bhi _0800EBC8 - adds r0, r2, #0 - subs r0, #8 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r3, _0800EBC0 @ =0x0202C5F0 - movs r4, #0 - strh r2, [r3] - ldr r1, _0800EBC4 @ =0x0202C610 - mov ip, r1 - lsls r2, r0, #1 - adds r2, r2, r0 - lsls r2, r2, #6 - adds r0, r2, r1 - ldr r1, [r0] - lsls r1, r1, #8 - mov r0, ip - adds r0, #4 - adds r0, r2, r0 - ldr r0, [r0] - orrs r0, r1 - strh r0, [r3, #2] - mov r0, ip - adds r0, #8 - adds r0, r2, r0 - ldr r1, [r0] - lsls r1, r1, #8 - mov r0, ip - adds r0, #0xc - adds r0, r2, r0 - ldr r0, [r0] - orrs r0, r1 - strh r0, [r3, #4] - mov r0, ip - adds r0, #0x10 - adds r0, r2, r0 - ldrh r1, [r0, #2] - strh r1, [r3, #6] - ldr r0, [r0] - strh r0, [r3, #8] - mov r0, ip - adds r0, #0x14 - adds r2, r2, r0 - ldrh r0, [r2, #2] - strh r0, [r3, #0xa] - ldr r0, [r2] - strh r0, [r3, #0xc] - strh r4, [r3, #0xe] - b _0800EBD8 - .align 2, 0 + cmp r1, #9 + bhi _0800EBC8 + adds r0, r2, #0 + subs r0, #8 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r3, _0800EBC0 @ =0x0202C5F0 + movs r4, #0 + strh r2, [r3] + ldr r1, _0800EBC4 @ =0x0202C610 + mov ip, r1 + lsls r2, r0, #1 + adds r2, r2, r0 + lsls r2, r2, #6 + adds r0, r2, r1 + ldr r1, [r0] + lsls r1, r1, #8 + mov r0, ip + adds r0, #4 + adds r0, r2, r0 + ldr r0, [r0] + orrs r0, r1 + strh r0, [r3, #2] + mov r0, ip + adds r0, #8 + adds r0, r2, r0 + ldr r1, [r0] + lsls r1, r1, #8 + mov r0, ip + adds r0, #0xc + adds r0, r2, r0 + ldr r0, [r0] + orrs r0, r1 + strh r0, [r3, #4] + mov r0, ip + adds r0, #0x10 + adds r0, r2, r0 + ldrh r1, [r0, #2] + strh r1, [r3, #6] + ldr r0, [r0] + strh r0, [r3, #8] + mov r0, ip + adds r0, #0x14 + adds r2, r2, r0 + ldrh r0, [r2, #2] + strh r0, [r3, #0xa] + ldr r0, [r2] + strh r0, [r3, #0xc] + strh r4, [r3, #0xe] + b _0800EBD8 + .align 2, 0 _0800EBC0: .4byte 0x0202C5F0 _0800EBC4: .4byte 0x0202C610 _0800EBC8: - ldr r1, _0800EBE8 @ =0x0202C5F0 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xe + ldr r1, _0800EBE8 @ =0x0202C5F0 + movs r2, #0 + adds r0, r1, #0 + adds r0, #0xe _0800EBD0: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _0800EBD0 + strh r2, [r0] + subs r0, #2 + cmp r0, r1 + bge _0800EBD0 _0800EBD8: - ldrh r0, [r5] - adds r0, #1 - strh r0, [r5] + ldrh r0, [r5] + adds r0, #1 + strh r0, [r5] _0800EBDE: - movs r0, #0 - pop {r4, r5} - pop {r1} - bx r1 - .align 2, 0 + movs r0, #0 + pop {r4, r5} + pop {r1} + bx r1 + .align 2, 0 _0800EBE8: .4byte 0x0202C5F0 - thumb_func_start sub_EBEC + thumb_func_start sub_EBEC sub_EBEC: @ 0x0800EBEC - push {r4, r5, lr} - ldr r4, _0800EC08 @ =0x0202ADE4 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _0800EC7C - ldr r3, _0800EC0C @ =0x0201A4BC - movs r1, #0 - ldrsb r1, [r3, r1] - cmp r1, #0 - beq _0800EC10 - cmp r1, #1 - beq _0800EC30 - b _0800ECFC - .align 2, 0 + push {r4, r5, lr} + ldr r4, _0800EC08 @ =0x0202ADE4 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + bne _0800EC7C + ldr r3, _0800EC0C @ =0x0201A4BC + movs r1, #0 + ldrsb r1, [r3, r1] + cmp r1, #0 + beq _0800EC10 + cmp r1, #1 + beq _0800EC30 + b _0800ECFC + .align 2, 0 _0800EC08: .4byte 0x0202ADE4 _0800EC0C: .4byte 0x0201A4BC _0800EC10: - ldr r2, _0800EC28 @ =0x0201A4D0 - ldrh r0, [r2] - ldr r1, _0800EC2C @ =0x0000DEDE - cmp r0, r1 - beq _0800EC20 - ldrh r0, [r2, #2] - cmp r0, r1 - bne _0800ECFC + ldr r2, _0800EC28 @ =0x0201A4D0 + ldrh r0, [r2] + ldr r1, _0800EC2C @ =0x0000DEDE + cmp r0, r1 + beq _0800EC20 + ldrh r0, [r2, #2] + cmp r0, r1 + bne _0800ECFC _0800EC20: - movs r0, #1 - strb r0, [r3] - b _0800ECFC - .align 2, 0 + movs r0, #1 + strb r0, [r3] + b _0800ECFC + .align 2, 0 _0800EC28: .4byte 0x0201A4D0 _0800EC2C: .4byte 0x0000DEDE _0800EC30: - ldr r3, _0800EC54 @ =0x0201A4D0 - ldrh r2, [r3] - ldr r0, _0800EC58 @ =0x0000EDED - cmp r2, r0 - bne _0800EC64 - ldrh r0, [r3, #2] - cmp r0, r2 - bne _0800EC64 - movs r2, #1 - rsbs r2, r2, #0 - adds r0, r2, #0 - strb r0, [r4] - ldr r0, _0800EC5C @ =0x0202BEBC - strb r1, [r0] - ldr r0, _0800EC60 @ =0x0202C59C - strh r1, [r0] - b _0800ECFC - .align 2, 0 + ldr r3, _0800EC54 @ =0x0201A4D0 + ldrh r2, [r3] + ldr r0, _0800EC58 @ =0x0000EDED + cmp r2, r0 + bne _0800EC64 + ldrh r0, [r3, #2] + cmp r0, r2 + bne _0800EC64 + movs r2, #1 + rsbs r2, r2, #0 + adds r0, r2, #0 + strb r0, [r4] + ldr r0, _0800EC5C @ =0x0202BEBC + strb r1, [r0] + ldr r0, _0800EC60 @ =0x0202C59C + strh r1, [r0] + b _0800ECFC + .align 2, 0 _0800EC54: .4byte 0x0201A4D0 _0800EC58: .4byte 0x0000EDED _0800EC5C: .4byte 0x0202BEBC _0800EC60: .4byte 0x0202C59C _0800EC64: - ldr r1, _0800EC78 @ =0x0202C54C - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xa - ble _0800ECFC - movs r0, #1 - b _0800ED1E - .align 2, 0 + ldr r1, _0800EC78 @ =0x0202C54C + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xa + ble _0800ECFC + movs r0, #1 + b _0800ED1E + .align 2, 0 _0800EC78: .4byte 0x0202C54C _0800EC7C: - ldr r4, _0800ECF0 @ =0x0201A4D0 - ldrh r5, [r4, #2] - adds r0, r5, #0 - subs r0, #8 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - cmp r1, #1 - bhi _0800ED1C - ldr r0, _0800ECF4 @ =0x0201C1B0 - strh r5, [r0] - ldr r0, _0800ECF8 @ =0x0202C550 - mov ip, r0 - lsls r3, r1, #1 - adds r3, r3, r1 - lsls r3, r3, #3 - adds r1, r3, r0 - ldrh r0, [r4, #6] - lsrs r0, r0, #8 - str r0, [r1] - mov r0, ip - adds r0, #4 - adds r0, r3, r0 - ldrb r1, [r4, #6] - str r1, [r0] - mov r1, ip - adds r1, #8 - adds r1, r3, r1 - ldrh r0, [r4, #0xa] - lsrs r0, r0, #8 - str r0, [r1] - mov r0, ip - adds r0, #0xc - adds r0, r3, r0 - ldrb r1, [r4, #0xa] - str r1, [r0] - mov r2, ip - adds r2, #0x10 - adds r2, r3, r2 - ldrh r0, [r4, #0xe] - lsls r0, r0, #0x10 - ldrh r1, [r4, #0x12] - orrs r0, r1 - str r0, [r2] - mov r0, ip - adds r0, #0x14 - adds r3, r3, r0 - ldrh r0, [r4, #0x16] - lsls r0, r0, #0x10 - ldrh r1, [r4, #0x1a] - orrs r0, r1 - str r0, [r3] - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #9 - bne _0800ECFC - movs r0, #1 - rsbs r0, r0, #0 - b _0800ED1E - .align 2, 0 + ldr r4, _0800ECF0 @ =0x0201A4D0 + ldrh r5, [r4, #2] + adds r0, r5, #0 + subs r0, #8 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + cmp r1, #1 + bhi _0800ED1C + ldr r0, _0800ECF4 @ =0x0201C1B0 + strh r5, [r0] + ldr r0, _0800ECF8 @ =0x0202C550 + mov ip, r0 + lsls r3, r1, #1 + adds r3, r3, r1 + lsls r3, r3, #3 + adds r1, r3, r0 + ldrh r0, [r4, #6] + lsrs r0, r0, #8 + str r0, [r1] + mov r0, ip + adds r0, #4 + adds r0, r3, r0 + ldrb r1, [r4, #6] + str r1, [r0] + mov r1, ip + adds r1, #8 + adds r1, r3, r1 + ldrh r0, [r4, #0xa] + lsrs r0, r0, #8 + str r0, [r1] + mov r0, ip + adds r0, #0xc + adds r0, r3, r0 + ldrb r1, [r4, #0xa] + str r1, [r0] + mov r2, ip + adds r2, #0x10 + adds r2, r3, r2 + ldrh r0, [r4, #0xe] + lsls r0, r0, #0x10 + ldrh r1, [r4, #0x12] + orrs r0, r1 + str r0, [r2] + mov r0, ip + adds r0, #0x14 + adds r3, r3, r0 + ldrh r0, [r4, #0x16] + lsls r0, r0, #0x10 + ldrh r1, [r4, #0x1a] + orrs r0, r1 + str r0, [r3] + lsls r0, r5, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #9 + bne _0800ECFC + movs r0, #1 + rsbs r0, r0, #0 + b _0800ED1E + .align 2, 0 _0800ECF0: .4byte 0x0201A4D0 _0800ECF4: .4byte 0x0201C1B0 _0800ECF8: .4byte 0x0202C550 _0800ECFC: - movs r1, #0 - ldr r4, _0800ED24 @ =0x0201A4D0 - movs r3, #0 + movs r1, #0 + ldr r4, _0800ED24 @ =0x0201A4D0 + movs r3, #0 _0800ED02: - lsls r0, r1, #2 - adds r2, r1, #1 - movs r1, #1 - adds r0, r0, r4 - adds r0, #2 + lsls r0, r1, #2 + adds r2, r1, #1 + movs r1, #1 + adds r0, r0, r4 + adds r0, #2 _0800ED0C: - strh r3, [r0] - subs r0, #2 - subs r1, #1 - cmp r1, #0 - bge _0800ED0C - adds r1, r2, #0 - cmp r1, #7 - ble _0800ED02 + strh r3, [r0] + subs r0, #2 + subs r1, #1 + cmp r1, #0 + bge _0800ED0C + adds r1, r2, #0 + cmp r1, #7 + ble _0800ED02 _0800ED1C: - movs r0, #0 + movs r0, #0 _0800ED1E: - pop {r4, r5} - pop {r1} - bx r1 - .align 2, 0 + pop {r4, r5} + pop {r1} + bx r1 + .align 2, 0 _0800ED24: .4byte 0x0201A4D0 - thumb_func_start sub_ED28 + thumb_func_start sub_ED28 sub_ED28: @ 0x0800ED28 - push {r4, r5, lr} - ldr r4, _0800ED44 @ =0x0202ADE4 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _0800EDB8 - ldr r3, _0800ED48 @ =0x0202C598 - movs r1, #0 - ldrsb r1, [r3, r1] - cmp r1, #0 - beq _0800ED4C - cmp r1, #1 - beq _0800ED6C - b _0800EE38 - .align 2, 0 + push {r4, r5, lr} + ldr r4, _0800ED44 @ =0x0202ADE4 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + bne _0800EDB8 + ldr r3, _0800ED48 @ =0x0202C598 + movs r1, #0 + ldrsb r1, [r3, r1] + cmp r1, #0 + beq _0800ED4C + cmp r1, #1 + beq _0800ED6C + b _0800EE38 + .align 2, 0 _0800ED44: .4byte 0x0202ADE4 _0800ED48: .4byte 0x0202C598 _0800ED4C: - ldr r2, _0800ED64 @ =0x0201A4D0 - ldrh r0, [r2] - ldr r1, _0800ED68 @ =0x0000DEDE - cmp r0, r1 - beq _0800ED5C - ldrh r0, [r2, #2] - cmp r0, r1 - bne _0800EE38 + ldr r2, _0800ED64 @ =0x0201A4D0 + ldrh r0, [r2] + ldr r1, _0800ED68 @ =0x0000DEDE + cmp r0, r1 + beq _0800ED5C + ldrh r0, [r2, #2] + cmp r0, r1 + bne _0800EE38 _0800ED5C: - movs r0, #1 - strb r0, [r3] - b _0800EE38 - .align 2, 0 + movs r0, #1 + strb r0, [r3] + b _0800EE38 + .align 2, 0 _0800ED64: .4byte 0x0201A4D0 _0800ED68: .4byte 0x0000DEDE _0800ED6C: - ldr r3, _0800ED90 @ =0x0201A4D0 - ldrh r2, [r3] - ldr r0, _0800ED94 @ =0x0000EDED - cmp r2, r0 - bne _0800EDA0 - ldrh r0, [r3, #2] - cmp r0, r2 - bne _0800EDA0 - movs r2, #1 - rsbs r2, r2, #0 - adds r0, r2, #0 - strb r0, [r4] - ldr r0, _0800ED98 @ =0x0202BEBC - strb r1, [r0] - ldr r0, _0800ED9C @ =0x0202C59C - strh r1, [r0] - b _0800EE38 - .align 2, 0 + ldr r3, _0800ED90 @ =0x0201A4D0 + ldrh r2, [r3] + ldr r0, _0800ED94 @ =0x0000EDED + cmp r2, r0 + bne _0800EDA0 + ldrh r0, [r3, #2] + cmp r0, r2 + bne _0800EDA0 + movs r2, #1 + rsbs r2, r2, #0 + adds r0, r2, #0 + strb r0, [r4] + ldr r0, _0800ED98 @ =0x0202BEBC + strb r1, [r0] + ldr r0, _0800ED9C @ =0x0202C59C + strh r1, [r0] + b _0800EE38 + .align 2, 0 _0800ED90: .4byte 0x0201A4D0 _0800ED94: .4byte 0x0000EDED _0800ED98: .4byte 0x0202BEBC _0800ED9C: .4byte 0x0202C59C _0800EDA0: - ldr r1, _0800EDB4 @ =0x0202C54C - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xa - ble _0800EE38 - movs r0, #1 - b _0800EE5A - .align 2, 0 + ldr r1, _0800EDB4 @ =0x0202C54C + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xa + ble _0800EE38 + movs r0, #1 + b _0800EE5A + .align 2, 0 _0800EDB4: .4byte 0x0202C54C _0800EDB8: - ldr r4, _0800EE2C @ =0x0201A4D0 - ldrh r5, [r4] - adds r0, r5, #0 - subs r0, #8 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - cmp r1, #1 - bhi _0800EE58 - ldr r0, _0800EE30 @ =0x0201C1B0 - strh r5, [r0] - ldr r0, _0800EE34 @ =0x0202C550 - mov ip, r0 - lsls r3, r1, #1 - adds r3, r3, r1 - lsls r3, r3, #3 - adds r1, r3, r0 - ldrh r0, [r4, #4] - lsrs r0, r0, #8 - str r0, [r1] - mov r0, ip - adds r0, #4 - adds r0, r3, r0 - ldrb r1, [r4, #4] - str r1, [r0] - mov r1, ip - adds r1, #8 - adds r1, r3, r1 - ldrh r0, [r4, #8] - lsrs r0, r0, #8 - str r0, [r1] - mov r0, ip - adds r0, #0xc - adds r0, r3, r0 - ldrb r1, [r4, #8] - str r1, [r0] - mov r2, ip - adds r2, #0x10 - adds r2, r3, r2 - ldrh r0, [r4, #0xc] - lsls r0, r0, #0x10 - ldrh r1, [r4, #0x10] - orrs r0, r1 - str r0, [r2] - mov r0, ip - adds r0, #0x14 - adds r3, r3, r0 - ldrh r0, [r4, #0x14] - lsls r0, r0, #0x10 - ldrh r1, [r4, #0x18] - orrs r0, r1 - str r0, [r3] - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #9 - bne _0800EE38 - movs r0, #1 - rsbs r0, r0, #0 - b _0800EE5A - .align 2, 0 + ldr r4, _0800EE2C @ =0x0201A4D0 + ldrh r5, [r4] + adds r0, r5, #0 + subs r0, #8 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + cmp r1, #1 + bhi _0800EE58 + ldr r0, _0800EE30 @ =0x0201C1B0 + strh r5, [r0] + ldr r0, _0800EE34 @ =0x0202C550 + mov ip, r0 + lsls r3, r1, #1 + adds r3, r3, r1 + lsls r3, r3, #3 + adds r1, r3, r0 + ldrh r0, [r4, #4] + lsrs r0, r0, #8 + str r0, [r1] + mov r0, ip + adds r0, #4 + adds r0, r3, r0 + ldrb r1, [r4, #4] + str r1, [r0] + mov r1, ip + adds r1, #8 + adds r1, r3, r1 + ldrh r0, [r4, #8] + lsrs r0, r0, #8 + str r0, [r1] + mov r0, ip + adds r0, #0xc + adds r0, r3, r0 + ldrb r1, [r4, #8] + str r1, [r0] + mov r2, ip + adds r2, #0x10 + adds r2, r3, r2 + ldrh r0, [r4, #0xc] + lsls r0, r0, #0x10 + ldrh r1, [r4, #0x10] + orrs r0, r1 + str r0, [r2] + mov r0, ip + adds r0, #0x14 + adds r3, r3, r0 + ldrh r0, [r4, #0x14] + lsls r0, r0, #0x10 + ldrh r1, [r4, #0x18] + orrs r0, r1 + str r0, [r3] + lsls r0, r5, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #9 + bne _0800EE38 + movs r0, #1 + rsbs r0, r0, #0 + b _0800EE5A + .align 2, 0 _0800EE2C: .4byte 0x0201A4D0 _0800EE30: .4byte 0x0201C1B0 _0800EE34: .4byte 0x0202C550 _0800EE38: - movs r1, #0 - ldr r4, _0800EE60 @ =0x0201A4D0 - movs r3, #0 + movs r1, #0 + ldr r4, _0800EE60 @ =0x0201A4D0 + movs r3, #0 _0800EE3E: - lsls r0, r1, #2 - adds r2, r1, #1 - movs r1, #1 - adds r0, r0, r4 - adds r0, #2 + lsls r0, r1, #2 + adds r2, r1, #1 + movs r1, #1 + adds r0, r0, r4 + adds r0, #2 _0800EE48: - strh r3, [r0] - subs r0, #2 - subs r1, #1 - cmp r1, #0 - bge _0800EE48 - adds r1, r2, #0 - cmp r1, #7 - ble _0800EE3E + strh r3, [r0] + subs r0, #2 + subs r1, #1 + cmp r1, #0 + bge _0800EE48 + adds r1, r2, #0 + cmp r1, #7 + ble _0800EE3E _0800EE58: - movs r0, #0 + movs r0, #0 _0800EE5A: - pop {r4, r5} - pop {r1} - bx r1 - .align 2, 0 + pop {r4, r5} + pop {r1} + bx r1 + .align 2, 0 _0800EE60: .4byte 0x0201A4D0 - thumb_func_start sub_EE64 + thumb_func_start sub_EE64 sub_EE64: @ 0x0800EE64 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x10 - movs r6, #0 - ldr r4, _0800EF20 @ =0x086A7FAC - ldr r5, _0800EF24 @ =0x0202C610 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x10 + movs r6, #0 + ldr r4, _0800EF20 @ =0x086A7FAC + ldr r5, _0800EF24 @ =0x0202C610 _0800EE76: - ldm r5!, {r0} - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - adds r0, #0x80 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r2, r6, #6 - movs r1, #1 - str r1, [sp] - str r1, [sp, #4] - movs r1, #8 - movs r3, #3 - bl sub_105A0 - adds r6, #1 - cmp r6, #3 - ble _0800EE76 - movs r5, #1 - ldr r0, _0800EF20 @ =0x086A7FAC - mov sb, r0 - ldr r1, _0800EF24 @ =0x0202C610 - mov sl, r1 + ldm r5!, {r0} + lsls r0, r0, #1 + adds r0, r0, r4 + ldrh r0, [r0] + adds r0, #0x80 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r2, r6, #6 + movs r1, #1 + str r1, [sp] + str r1, [sp, #4] + movs r1, #8 + movs r3, #3 + bl sub_105A0 + adds r6, #1 + cmp r6, #3 + ble _0800EE76 + movs r5, #1 + ldr r0, _0800EF20 @ =0x086A7FAC + mov sb, r0 + ldr r1, _0800EF24 @ =0x0202C610 + mov sl, r1 _0800EEA4: - movs r6, #0 - lsls r7, r5, #1 - adds r2, r5, #1 - mov r8, r2 - adds r4, r7, #0 - adds r0, r4, r5 - lsls r0, r0, #3 - mov r1, sl - adds r5, r0, r1 + movs r6, #0 + lsls r7, r5, #1 + adds r2, r5, #1 + mov r8, r2 + adds r4, r7, #0 + adds r0, r4, r5 + lsls r0, r0, #3 + mov r1, sl + adds r5, r0, r1 _0800EEB6: - ldm r5!, {r0} - lsls r0, r0, #1 - add r0, sb - ldrh r0, [r0] - adds r0, #0xa0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r2, r6, #6 - movs r1, #1 - str r1, [sp] - movs r1, #2 - str r1, [sp, #4] - movs r1, #8 - adds r3, r4, #3 - bl sub_105A0 - adds r6, #1 - cmp r6, #3 - ble _0800EEB6 - mov r5, r8 - cmp r5, #7 - ble _0800EEA4 - ldr r1, _0800EF24 @ =0x0202C610 - ldr r0, [r1, #0x10] - ldr r1, [r1, #0x14] - bl sub_F21C - movs r6, #0 - movs r5, #0xc - ldr r4, _0800EF28 @ =0x0202C5C0 - movs r7, #1 + ldm r5!, {r0} + lsls r0, r0, #1 + add r0, sb + ldrh r0, [r0] + adds r0, #0xa0 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r2, r6, #6 + movs r1, #1 + str r1, [sp] + movs r1, #2 + str r1, [sp, #4] + movs r1, #8 + adds r3, r4, #3 + bl sub_105A0 + adds r6, #1 + cmp r6, #3 + ble _0800EEB6 + mov r5, r8 + cmp r5, #7 + ble _0800EEA4 + ldr r1, _0800EF24 @ =0x0202C610 + ldr r0, [r1, #0x10] + ldr r1, [r1, #0x14] + bl sub_F21C + movs r6, #0 + movs r5, #0xc + ldr r4, _0800EF28 @ =0x0202C5C0 + movs r7, #1 _0800EEF4: - adds r0, r6, #1 - movs r1, #3 - bl __modsi3 - cmp r0, #0 - bne _0800EF2C - movs r2, #0x90 - lsls r2, r2, #1 - adds r0, r2, #0 - ldrh r1, [r4] - adds r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r7, [sp] - movs r1, #2 - str r1, [sp, #4] - movs r1, #9 - adds r2, r5, #0 - movs r3, #2 - bl sub_105A0 - b _0800EF44 - .align 2, 0 + adds r0, r6, #1 + movs r1, #3 + bl __modsi3 + cmp r0, #0 + bne _0800EF2C + movs r2, #0x90 + lsls r2, r2, #1 + adds r0, r2, #0 + ldrh r1, [r4] + adds r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r7, [sp] + movs r1, #2 + str r1, [sp, #4] + movs r1, #9 + adds r2, r5, #0 + movs r3, #2 + bl sub_105A0 + b _0800EF44 + .align 2, 0 _0800EF20: .4byte 0x086A7FAC _0800EF24: .4byte 0x0202C610 _0800EF28: .4byte 0x0202C5C0 _0800EF2C: - ldrh r0, [r4] - adds r0, #0xe0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r7, [sp] - movs r1, #2 - str r1, [sp, #4] - movs r1, #9 - adds r2, r5, #0 - movs r3, #2 - bl sub_105A0 + ldrh r0, [r4] + adds r0, #0xe0 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r7, [sp] + movs r1, #2 + str r1, [sp, #4] + movs r1, #9 + adds r2, r5, #0 + movs r3, #2 + bl sub_105A0 _0800EF44: - adds r5, #1 - adds r4, #2 - adds r6, #1 - cmp r6, #0xd - ble _0800EEF4 - ldr r4, _0800EFC8 @ =0x0202C5C0 - ldrh r0, [r4, #0x1c] - adds r0, #0xe0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #1 - str r1, [sp] - movs r1, #2 - str r1, [sp, #4] - movs r1, #9 - movs r2, #0x1a - movs r3, #2 - bl sub_105A0 - movs r5, #1 - ldr r2, _0800EFCC @ =0x0202C610 - str r2, [sp, #8] - mov sl, r5 - movs r0, #2 - mov sb, r0 + adds r5, #1 + adds r4, #2 + adds r6, #1 + cmp r6, #0xd + ble _0800EEF4 + ldr r4, _0800EFC8 @ =0x0202C5C0 + ldrh r0, [r4, #0x1c] + adds r0, #0xe0 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r1, #1 + str r1, [sp] + movs r1, #2 + str r1, [sp, #4] + movs r1, #9 + movs r2, #0x1a + movs r3, #2 + bl sub_105A0 + movs r5, #1 + ldr r2, _0800EFCC @ =0x0202C610 + str r2, [sp, #8] + mov sl, r5 + movs r0, #2 + mov sb, r0 _0800EF76: - lsls r4, r5, #1 - adds r1, r4, r5 - lsls r1, r1, #3 - ldr r0, [sp, #8] - adds r0, #0x10 - adds r0, r1, r0 - ldr r0, [r0] - ldr r2, _0800EFD0 @ =0x0202C624 - adds r1, r1, r2 - ldr r1, [r1] - bl sub_F21C - movs r6, #0 - adds r7, r4, #0 - adds r5, #1 - mov r8, r5 - movs r5, #0xc - ldr r4, _0800EFC8 @ =0x0202C5C0 + lsls r4, r5, #1 + adds r1, r4, r5 + lsls r1, r1, #3 + ldr r0, [sp, #8] + adds r0, #0x10 + adds r0, r1, r0 + ldr r0, [r0] + ldr r2, _0800EFD0 @ =0x0202C624 + adds r1, r1, r2 + ldr r1, [r1] + bl sub_F21C + movs r6, #0 + adds r7, r4, #0 + adds r5, #1 + mov r8, r5 + movs r5, #0xc + ldr r4, _0800EFC8 @ =0x0202C5C0 _0800EF9A: - adds r0, r6, #1 - movs r1, #3 - bl __modsi3 - cmp r0, #0 - bne _0800EFD4 - movs r1, #0xd0 - lsls r1, r1, #1 - adds r0, r1, #0 - ldrh r2, [r4] - adds r0, r0, r2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r1, sl - str r1, [sp] - mov r2, sb - str r2, [sp, #4] - movs r1, #9 - adds r2, r5, #0 - adds r3, r7, #3 - bl sub_105A0 - b _0800EFF4 - .align 2, 0 + adds r0, r6, #1 + movs r1, #3 + bl __modsi3 + cmp r0, #0 + bne _0800EFD4 + movs r1, #0xd0 + lsls r1, r1, #1 + adds r0, r1, #0 + ldrh r2, [r4] + adds r0, r0, r2 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov r1, sl + str r1, [sp] + mov r2, sb + str r2, [sp, #4] + movs r1, #9 + adds r2, r5, #0 + adds r3, r7, #3 + bl sub_105A0 + b _0800EFF4 + .align 2, 0 _0800EFC8: .4byte 0x0202C5C0 _0800EFCC: .4byte 0x0202C610 _0800EFD0: .4byte 0x0202C624 _0800EFD4: - movs r1, #0xb0 - lsls r1, r1, #1 - adds r0, r1, #0 - ldrh r2, [r4] - adds r0, r0, r2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r1, sl - str r1, [sp] - mov r2, sb - str r2, [sp, #4] - movs r1, #9 - adds r2, r5, #0 - adds r3, r7, #3 - bl sub_105A0 + movs r1, #0xb0 + lsls r1, r1, #1 + adds r0, r1, #0 + ldrh r2, [r4] + adds r0, r0, r2 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov r1, sl + str r1, [sp] + mov r2, sb + str r2, [sp, #4] + movs r1, #9 + adds r2, r5, #0 + adds r3, r7, #3 + bl sub_105A0 _0800EFF4: - adds r5, #1 - adds r4, #2 - adds r6, #1 - cmp r6, #0xd - ble _0800EF9A - movs r1, #0xb0 - lsls r1, r1, #1 - adds r0, r1, #0 - ldr r2, _0800F0E4 @ =0x0202C5C0 - ldrh r2, [r2, #0x1c] - adds r0, r0, r2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r3, r7, #3 - mov r1, sl - str r1, [sp] - mov r2, sb - str r2, [sp, #4] - movs r1, #9 - movs r2, #0x1a - bl sub_105A0 - mov r5, r8 - cmp r5, #7 - ble _0800EF76 - movs r6, #0 - ldr r7, _0800F0E8 @ =0x086A7FAC - ldr r0, _0800F0EC @ =0x0202C610 - adds r5, r0, #0 - adds r5, #0xc0 - movs r4, #1 + adds r5, #1 + adds r4, #2 + adds r6, #1 + cmp r6, #0xd + ble _0800EF9A + movs r1, #0xb0 + lsls r1, r1, #1 + adds r0, r1, #0 + ldr r2, _0800F0E4 @ =0x0202C5C0 + ldrh r2, [r2, #0x1c] + adds r0, r0, r2 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r3, r7, #3 + mov r1, sl + str r1, [sp] + mov r2, sb + str r2, [sp, #4] + movs r1, #9 + movs r2, #0x1a + bl sub_105A0 + mov r5, r8 + cmp r5, #7 + ble _0800EF76 + movs r6, #0 + ldr r7, _0800F0E8 @ =0x086A7FAC + ldr r0, _0800F0EC @ =0x0202C610 + adds r5, r0, #0 + adds r5, #0xc0 + movs r4, #1 _0800F032: - ldm r5!, {r0} - lsls r0, r0, #1 - adds r0, r0, r7 - ldrh r0, [r0] - adds r0, #0x80 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r2, r6, #4 - str r4, [sp] - str r4, [sp, #4] - movs r1, #8 - movs r3, #0x23 - bl sub_105A0 - adds r6, #1 - cmp r6, #3 - ble _0800F032 - movs r5, #1 - ldr r0, _0800F0E8 @ =0x086A7FAC - mov sb, r0 - ldr r1, _0800F0F0 @ =0x0202C6D0 - mov sl, r1 + ldm r5!, {r0} + lsls r0, r0, #1 + adds r0, r0, r7 + ldrh r0, [r0] + adds r0, #0x80 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r2, r6, #4 + str r4, [sp] + str r4, [sp, #4] + movs r1, #8 + movs r3, #0x23 + bl sub_105A0 + adds r6, #1 + cmp r6, #3 + ble _0800F032 + movs r5, #1 + ldr r0, _0800F0E8 @ =0x086A7FAC + mov sb, r0 + ldr r1, _0800F0F0 @ =0x0202C6D0 + mov sl, r1 _0800F05E: - movs r6, #0 - lsls r7, r5, #1 - adds r2, r5, #1 - mov r8, r2 - adds r4, r7, #0 - adds r0, r4, r5 - lsls r0, r0, #3 - mov r1, sl - adds r5, r0, r1 + movs r6, #0 + lsls r7, r5, #1 + adds r2, r5, #1 + mov r8, r2 + adds r4, r7, #0 + adds r0, r4, r5 + lsls r0, r0, #3 + mov r1, sl + adds r5, r0, r1 _0800F070: - ldm r5!, {r0} - lsls r0, r0, #1 - add r0, sb - ldrh r0, [r0] - adds r0, #0xa0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r2, r6, #4 - movs r1, #1 - str r1, [sp] - movs r1, #2 - str r1, [sp, #4] - movs r1, #8 - adds r3, r4, #0 - adds r3, #0x23 - bl sub_105A0 - adds r6, #1 - cmp r6, #3 - ble _0800F070 - mov r5, r8 - cmp r5, #7 - ble _0800F05E - ldr r1, _0800F0EC @ =0x0202C610 - adds r0, r1, #0 - adds r0, #0xd0 - ldr r0, [r0] - adds r1, #0xd4 - ldr r1, [r1] - bl sub_F21C - movs r6, #0 - movs r5, #0xa - ldr r4, _0800F0E4 @ =0x0202C5C0 - movs r7, #1 + ldm r5!, {r0} + lsls r0, r0, #1 + add r0, sb + ldrh r0, [r0] + adds r0, #0xa0 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r2, r6, #4 + movs r1, #1 + str r1, [sp] + movs r1, #2 + str r1, [sp, #4] + movs r1, #8 + adds r3, r4, #0 + adds r3, #0x23 + bl sub_105A0 + adds r6, #1 + cmp r6, #3 + ble _0800F070 + mov r5, r8 + cmp r5, #7 + ble _0800F05E + ldr r1, _0800F0EC @ =0x0202C610 + adds r0, r1, #0 + adds r0, #0xd0 + ldr r0, [r0] + adds r1, #0xd4 + ldr r1, [r1] + bl sub_F21C + movs r6, #0 + movs r5, #0xa + ldr r4, _0800F0E4 @ =0x0202C5C0 + movs r7, #1 _0800F0B6: - adds r0, r6, #1 - movs r1, #3 - bl __modsi3 - cmp r0, #0 - bne _0800F0F4 - movs r2, #0x90 - lsls r2, r2, #1 - adds r0, r2, #0 - ldrh r1, [r4] - adds r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r7, [sp] - movs r1, #2 - str r1, [sp, #4] - movs r1, #9 - adds r2, r5, #0 - movs r3, #0x22 - bl sub_105A0 - b _0800F10C - .align 2, 0 + adds r0, r6, #1 + movs r1, #3 + bl __modsi3 + cmp r0, #0 + bne _0800F0F4 + movs r2, #0x90 + lsls r2, r2, #1 + adds r0, r2, #0 + ldrh r1, [r4] + adds r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r7, [sp] + movs r1, #2 + str r1, [sp, #4] + movs r1, #9 + adds r2, r5, #0 + movs r3, #0x22 + bl sub_105A0 + b _0800F10C + .align 2, 0 _0800F0E4: .4byte 0x0202C5C0 _0800F0E8: .4byte 0x086A7FAC _0800F0EC: .4byte 0x0202C610 _0800F0F0: .4byte 0x0202C6D0 _0800F0F4: - ldrh r0, [r4] - adds r0, #0xe0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r7, [sp] - movs r1, #2 - str r1, [sp, #4] - movs r1, #9 - adds r2, r5, #0 - movs r3, #0x22 - bl sub_105A0 + ldrh r0, [r4] + adds r0, #0xe0 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r7, [sp] + movs r1, #2 + str r1, [sp, #4] + movs r1, #9 + adds r2, r5, #0 + movs r3, #0x22 + bl sub_105A0 _0800F10C: - adds r5, #1 - adds r4, #2 - adds r6, #1 - cmp r6, #0xd - ble _0800F0B6 - ldr r4, _0800F19C @ =0x0202C5C0 - lsls r0, r6, #1 - adds r0, r0, r4 - ldrh r0, [r0] - adds r0, #0xe0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #1 - str r1, [sp] - movs r1, #2 - str r1, [sp, #4] - movs r1, #9 - movs r2, #0x18 - movs r3, #0x22 - bl sub_105A0 - movs r5, #1 - ldr r2, _0800F1A0 @ =0x0202C610 - str r2, [sp, #0xc] - mov sl, r5 - movs r0, #2 - mov sb, r0 + adds r5, #1 + adds r4, #2 + adds r6, #1 + cmp r6, #0xd + ble _0800F0B6 + ldr r4, _0800F19C @ =0x0202C5C0 + lsls r0, r6, #1 + adds r0, r0, r4 + ldrh r0, [r0] + adds r0, #0xe0 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r1, #1 + str r1, [sp] + movs r1, #2 + str r1, [sp, #4] + movs r1, #9 + movs r2, #0x18 + movs r3, #0x22 + bl sub_105A0 + movs r5, #1 + ldr r2, _0800F1A0 @ =0x0202C610 + str r2, [sp, #0xc] + mov sl, r5 + movs r0, #2 + mov sb, r0 _0800F142: - lsls r4, r5, #1 - adds r1, r4, r5 - lsls r1, r1, #3 - ldr r0, [sp, #0xc] - adds r0, #0xd0 - adds r0, r1, r0 - ldr r0, [r0] - ldr r2, _0800F1A4 @ =0x0202C6E4 - adds r1, r1, r2 - ldr r1, [r1] - bl sub_F21C - movs r6, #0 - adds r7, r4, #0 - adds r5, #1 - mov r8, r5 + lsls r4, r5, #1 + adds r1, r4, r5 + lsls r1, r1, #3 + ldr r0, [sp, #0xc] + adds r0, #0xd0 + adds r0, r1, r0 + ldr r0, [r0] + ldr r2, _0800F1A4 @ =0x0202C6E4 + adds r1, r1, r2 + ldr r1, [r1] + bl sub_F21C + movs r6, #0 + adds r7, r4, #0 + adds r5, #1 + mov r8, r5 _0800F162: - adds r4, r6, #1 - adds r0, r4, #0 - movs r1, #3 - bl __modsi3 - cmp r0, #0 - bne _0800F1A8 - lsls r1, r6, #1 - ldr r0, _0800F19C @ =0x0202C5C0 - adds r1, r1, r0 - movs r2, #0xd0 - lsls r2, r2, #1 - adds r0, r2, #0 - ldrh r1, [r1] - adds r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r2, r6, #0 - adds r2, #0xa - mov r1, sl - str r1, [sp] - mov r1, sb - str r1, [sp, #4] - movs r1, #9 - adds r3, r7, #0 - adds r3, #0x23 - bl sub_105A0 - b _0800F1D2 - .align 2, 0 + adds r4, r6, #1 + adds r0, r4, #0 + movs r1, #3 + bl __modsi3 + cmp r0, #0 + bne _0800F1A8 + lsls r1, r6, #1 + ldr r0, _0800F19C @ =0x0202C5C0 + adds r1, r1, r0 + movs r2, #0xd0 + lsls r2, r2, #1 + adds r0, r2, #0 + ldrh r1, [r1] + adds r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r2, r6, #0 + adds r2, #0xa + mov r1, sl + str r1, [sp] + mov r1, sb + str r1, [sp, #4] + movs r1, #9 + adds r3, r7, #0 + adds r3, #0x23 + bl sub_105A0 + b _0800F1D2 + .align 2, 0 _0800F19C: .4byte 0x0202C5C0 _0800F1A0: .4byte 0x0202C610 _0800F1A4: .4byte 0x0202C6E4 _0800F1A8: - lsls r1, r6, #1 - ldr r2, _0800F218 @ =0x0202C5C0 - adds r1, r1, r2 - movs r2, #0xb0 - lsls r2, r2, #1 - adds r0, r2, #0 - ldrh r1, [r1] - adds r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r2, r6, #0 - adds r2, #0xa - mov r1, sl - str r1, [sp] - mov r1, sb - str r1, [sp, #4] - movs r1, #9 - adds r3, r7, #0 - adds r3, #0x23 - bl sub_105A0 + lsls r1, r6, #1 + ldr r2, _0800F218 @ =0x0202C5C0 + adds r1, r1, r2 + movs r2, #0xb0 + lsls r2, r2, #1 + adds r0, r2, #0 + ldrh r1, [r1] + adds r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r2, r6, #0 + adds r2, #0xa + mov r1, sl + str r1, [sp] + mov r1, sb + str r1, [sp, #4] + movs r1, #9 + adds r3, r7, #0 + adds r3, #0x23 + bl sub_105A0 _0800F1D2: - adds r6, r4, #0 - cmp r4, #0xd - ble _0800F162 - lsls r1, r4, #1 - ldr r2, _0800F218 @ =0x0202C5C0 - adds r1, r1, r2 - movs r2, #0xb0 - lsls r2, r2, #1 - adds r0, r2, #0 - ldrh r1, [r1] - adds r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r3, r7, #0 - adds r3, #0x23 - mov r1, sl - str r1, [sp] - mov r2, sb - str r2, [sp, #4] - movs r1, #9 - movs r2, #0x18 - bl sub_105A0 - mov r5, r8 - cmp r5, #7 - ble _0800F142 - 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 + adds r6, r4, #0 + cmp r4, #0xd + ble _0800F162 + lsls r1, r4, #1 + ldr r2, _0800F218 @ =0x0202C5C0 + adds r1, r1, r2 + movs r2, #0xb0 + lsls r2, r2, #1 + adds r0, r2, #0 + ldrh r1, [r1] + adds r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r3, r7, #0 + adds r3, #0x23 + mov r1, sl + str r1, [sp] + mov r2, sb + str r2, [sp, #4] + movs r1, #9 + movs r2, #0x18 + bl sub_105A0 + mov r5, r8 + cmp r5, #7 + ble _0800F142 + 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 _0800F218: .4byte 0x0202C5C0 - thumb_func_start sub_F21C + thumb_func_start sub_F21C sub_F21C: @ 0x0800F21C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - adds r5, r0, #0 - adds r7, r1, #0 - cmp r5, #0 - bne _0800F250 - cmp r7, #0 - bne _0800F250 - ldr r4, _0800F24C @ =0x0202C5C0 - adds r2, r4, #0 - movs r1, #0xa - adds r0, r4, #0 - adds r0, #0x1a + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + adds r5, r0, #0 + adds r7, r1, #0 + cmp r5, #0 + bne _0800F250 + cmp r7, #0 + bne _0800F250 + ldr r4, _0800F24C @ =0x0202C5C0 + adds r2, r4, #0 + movs r1, #0xa + adds r0, r4, #0 + adds r0, #0x1a _0800F23E: - strh r1, [r0] - subs r0, #2 - cmp r0, r2 - bge _0800F23E - movs r0, #0 - strh r0, [r4, #0x1c] - b _0800F392 - .align 2, 0 + strh r1, [r0] + subs r0, #2 + cmp r0, r2 + bge _0800F23E + movs r0, #0 + strh r0, [r4, #0x1c] + b _0800F392 + .align 2, 0 _0800F24C: .4byte 0x0202C5C0 _0800F250: - ldr r0, _0800F25C @ =0x0098967F - cmp r5, r0 - bls _0800F260 - adds r5, r0, #0 - b _0800F266 - .align 2, 0 + ldr r0, _0800F25C @ =0x0098967F + cmp r5, r0 + bls _0800F260 + adds r5, r0, #0 + b _0800F266 + .align 2, 0 _0800F25C: .4byte 0x0098967F _0800F260: - ldr r0, _0800F3A4 @ =0x05F5E0FF - cmp r7, r0 - bls _0800F268 + ldr r0, _0800F3A4 @ =0x05F5E0FF + cmp r7, r0 + bls _0800F268 _0800F266: - ldr r7, _0800F3A4 @ =0x05F5E0FF + ldr r7, _0800F3A4 @ =0x05F5E0FF _0800F268: - ldr r4, _0800F3A8 @ =0x0202C5C0 - ldr r0, _0800F3AC @ =0x000F4240 - mov sl, r0 - adds r0, r5, #0 - mov r1, sl - bl __udivsi3 - str r0, [sp] - mov r1, sp - ldrh r1, [r1] - strh r1, [r4] - adds r0, r5, #0 - mov r1, sl - bl __umodsi3 - adds r5, r0, #0 - ldr r0, _0800F3B0 @ =0x000186A0 - mov sb, r0 - adds r0, r5, #0 - mov r1, sb - bl __udivsi3 - strh r0, [r4, #2] - adds r0, r5, #0 - mov r1, sb - bl __umodsi3 - adds r5, r0, #0 - ldr r1, _0800F3B4 @ =0x00002710 - mov r8, r1 - bl __udivsi3 - strh r0, [r4, #4] - adds r0, r5, #0 - mov r1, r8 - bl __umodsi3 - adds r5, r0, #0 - movs r6, #0xfa - lsls r6, r6, #2 - adds r1, r6, #0 - bl __udivsi3 - strh r0, [r4, #6] - adds r0, r5, #0 - adds r1, r6, #0 - bl __umodsi3 - adds r5, r0, #0 - movs r1, #0x64 - bl __udivsi3 - strh r0, [r4, #8] - adds r0, r5, #0 - movs r1, #0x64 - bl __umodsi3 - adds r5, r0, #0 - movs r1, #0xa - bl __udivsi3 - strh r0, [r4, #0xa] - adds r0, r5, #0 - movs r1, #0xa - bl __umodsi3 - strh r0, [r4, #0xc] - ldr r5, _0800F3B8 @ =0x00989680 - adds r0, r7, #0 - adds r1, r5, #0 - bl __udivsi3 - strh r0, [r4, #0xe] - adds r0, r7, #0 - adds r1, r5, #0 - bl __umodsi3 - adds r5, r0, #0 - mov r1, sl - bl __udivsi3 - strh r0, [r4, #0x10] - adds r0, r5, #0 - mov r1, sl - bl __umodsi3 - adds r5, r0, #0 - mov r1, sb - bl __udivsi3 - strh r0, [r4, #0x12] - adds r0, r5, #0 - mov r1, sb - bl __umodsi3 - adds r5, r0, #0 - mov r1, r8 - bl __udivsi3 - strh r0, [r4, #0x14] - adds r0, r5, #0 - mov r1, r8 - bl __umodsi3 - adds r5, r0, #0 - adds r1, r6, #0 - bl __udivsi3 - strh r0, [r4, #0x16] - adds r0, r5, #0 - adds r1, r6, #0 - bl __umodsi3 - adds r5, r0, #0 - movs r1, #0x64 - bl __udivsi3 - strh r0, [r4, #0x18] - adds r0, r5, #0 - movs r1, #0x64 - bl __umodsi3 - adds r5, r0, #0 - movs r1, #0xa - bl __udivsi3 - strh r0, [r4, #0x1a] - adds r0, r5, #0 - movs r1, #0xa - bl __umodsi3 - strh r0, [r4, #0x1c] - ldr r5, [sp] - lsls r0, r5, #0x10 - cmp r0, #0 - bne _0800F392 - movs r3, #0xa - adds r1, r4, #0 - adds r2, r4, #0 - adds r2, #0x1c + ldr r4, _0800F3A8 @ =0x0202C5C0 + ldr r0, _0800F3AC @ =0x000F4240 + mov sl, r0 + adds r0, r5, #0 + mov r1, sl + bl __udivsi3 + str r0, [sp] + mov r1, sp + ldrh r1, [r1] + strh r1, [r4] + adds r0, r5, #0 + mov r1, sl + bl __umodsi3 + adds r5, r0, #0 + ldr r0, _0800F3B0 @ =0x000186A0 + mov sb, r0 + adds r0, r5, #0 + mov r1, sb + bl __udivsi3 + strh r0, [r4, #2] + adds r0, r5, #0 + mov r1, sb + bl __umodsi3 + adds r5, r0, #0 + ldr r1, _0800F3B4 @ =0x00002710 + mov r8, r1 + bl __udivsi3 + strh r0, [r4, #4] + adds r0, r5, #0 + mov r1, r8 + bl __umodsi3 + adds r5, r0, #0 + movs r6, #0xfa + lsls r6, r6, #2 + adds r1, r6, #0 + bl __udivsi3 + strh r0, [r4, #6] + adds r0, r5, #0 + adds r1, r6, #0 + bl __umodsi3 + adds r5, r0, #0 + movs r1, #0x64 + bl __udivsi3 + strh r0, [r4, #8] + adds r0, r5, #0 + movs r1, #0x64 + bl __umodsi3 + adds r5, r0, #0 + movs r1, #0xa + bl __udivsi3 + strh r0, [r4, #0xa] + adds r0, r5, #0 + movs r1, #0xa + bl __umodsi3 + strh r0, [r4, #0xc] + ldr r5, _0800F3B8 @ =0x00989680 + adds r0, r7, #0 + adds r1, r5, #0 + bl __udivsi3 + strh r0, [r4, #0xe] + adds r0, r7, #0 + adds r1, r5, #0 + bl __umodsi3 + adds r5, r0, #0 + mov r1, sl + bl __udivsi3 + strh r0, [r4, #0x10] + adds r0, r5, #0 + mov r1, sl + bl __umodsi3 + adds r5, r0, #0 + mov r1, sb + bl __udivsi3 + strh r0, [r4, #0x12] + adds r0, r5, #0 + mov r1, sb + bl __umodsi3 + adds r5, r0, #0 + mov r1, r8 + bl __udivsi3 + strh r0, [r4, #0x14] + adds r0, r5, #0 + mov r1, r8 + bl __umodsi3 + adds r5, r0, #0 + adds r1, r6, #0 + bl __udivsi3 + strh r0, [r4, #0x16] + adds r0, r5, #0 + adds r1, r6, #0 + bl __umodsi3 + adds r5, r0, #0 + movs r1, #0x64 + bl __udivsi3 + strh r0, [r4, #0x18] + adds r0, r5, #0 + movs r1, #0x64 + bl __umodsi3 + adds r5, r0, #0 + movs r1, #0xa + bl __udivsi3 + strh r0, [r4, #0x1a] + adds r0, r5, #0 + movs r1, #0xa + bl __umodsi3 + strh r0, [r4, #0x1c] + ldr r5, [sp] + lsls r0, r5, #0x10 + cmp r0, #0 + bne _0800F392 + movs r3, #0xa + adds r1, r4, #0 + adds r2, r4, #0 + adds r2, #0x1c _0800F380: - strh r3, [r1] - adds r4, #2 - adds r1, #2 - cmp r1, r2 - bgt _0800F392 - movs r5, #0 - ldrsh r0, [r4, r5] - cmp r0, #0 - beq _0800F380 + strh r3, [r1] + adds r4, #2 + adds r1, #2 + cmp r1, r2 + bgt _0800F392 + movs r5, #0 + ldrsh r0, [r4, r5] + cmp r0, #0 + beq _0800F380 _0800F392: - 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 + 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 _0800F3A4: .4byte 0x05F5E0FF _0800F3A8: .4byte 0x0202C5C0 _0800F3AC: .4byte 0x000F4240 @@ -29714,719 +29714,719 @@ _0800F3B0: .4byte 0x000186A0 _0800F3B4: .4byte 0x00002710 _0800F3B8: .4byte 0x00989680 - thumb_func_start sub_F3BC + thumb_func_start sub_F3BC sub_F3BC: @ 0x0800F3BC - cmp r0, r2 - bhi _0800F3C8 - cmp r0, r2 - blo _0800F3D4 - cmp r1, r3 - bls _0800F3CC + cmp r0, r2 + bhi _0800F3C8 + cmp r0, r2 + blo _0800F3D4 + cmp r1, r3 + bls _0800F3CC _0800F3C8: - movs r0, #1 - b _0800F3D8 + movs r0, #1 + b _0800F3D8 _0800F3CC: - cmp r1, r3 - blo _0800F3D4 - movs r0, #0 - b _0800F3D8 + cmp r1, r3 + blo _0800F3D4 + movs r0, #0 + b _0800F3D8 _0800F3D4: - movs r0, #1 - rsbs r0, r0, #0 + movs r0, #1 + rsbs r0, r0, #0 _0800F3D8: - bx lr + bx lr - thumb_func_start sub_F3DC + thumb_func_start sub_F3DC sub_F3DC: @ 0x0800F3DC - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov sb, r0 - mov r8, r1 - movs r6, #0 - ldr r7, _0800F414 @ =0x0202C610 - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r7, #0 - adds r1, #0x14 - adds r5, r0, r1 - adds r4, r0, #0 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + mov sb, r0 + mov r8, r1 + movs r6, #0 + ldr r7, _0800F414 @ =0x0202C610 + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #6 + adds r1, r7, #0 + adds r1, #0x14 + adds r5, r0, r1 + adds r4, r0, #0 _0800F3FA: - adds r0, r7, #0 - adds r0, #0x10 - adds r0, r4, r0 - ldr r2, [r0] - ldr r3, [r5] - mov r0, sb - mov r1, r8 - bl sub_F3BC - cmp r0, #0 - blt _0800F418 - adds r0, r6, #0 - b _0800F426 - .align 2, 0 + adds r0, r7, #0 + adds r0, #0x10 + adds r0, r4, r0 + ldr r2, [r0] + ldr r3, [r5] + mov r0, sb + mov r1, r8 + bl sub_F3BC + cmp r0, #0 + blt _0800F418 + adds r0, r6, #0 + b _0800F426 + .align 2, 0 _0800F414: .4byte 0x0202C610 _0800F418: - adds r5, #0x18 - adds r4, #0x18 - adds r6, #1 - cmp r6, #7 - ble _0800F3FA - movs r0, #1 - rsbs r0, r0, #0 + adds r5, #0x18 + adds r4, #0x18 + adds r6, #1 + cmp r6, #7 + ble _0800F3FA + movs r0, #1 + rsbs r0, r0, #0 _0800F426: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_start sub_F434 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_start sub_F434 sub_F434: @ 0x0800F434 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - str r0, [sp] - str r1, [sp, #4] - mov r8, r2 - mov sb, r3 - movs r5, #7 - ldr r0, _0800F4F8 @ =0x0202C610 - mov ip, r0 - cmp r5, sb - ble _0800F4A4 - mov sl, ip - lsls r0, r2, #1 - add r0, r8 - lsls r1, r0, #6 - mov r2, ip - adds r0, r2, r1 - adds r3, r0, #0 - adds r3, #0x90 - adds r7, r1, #0 - adds r7, #0x90 - adds r6, r1, #0 - adds r6, #0xa8 - adds r0, r1, #0 - adds r0, #0xac - adds r4, r0, r2 - subs r0, #0x18 - adds r2, r0, r2 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + str r0, [sp] + str r1, [sp, #4] + mov r8, r2 + mov sb, r3 + movs r5, #7 + ldr r0, _0800F4F8 @ =0x0202C610 + mov ip, r0 + cmp r5, sb + ble _0800F4A4 + mov sl, ip + lsls r0, r2, #1 + add r0, r8 + lsls r1, r0, #6 + mov r2, ip + adds r0, r2, r1 + adds r3, r0, #0 + adds r3, #0x90 + adds r7, r1, #0 + adds r7, #0x90 + adds r6, r1, #0 + adds r6, #0xa8 + adds r0, r1, #0 + adds r0, #0xac + adds r4, r0, r2 + subs r0, #0x18 + adds r2, r0, r2 _0800F474: - ldr r0, [r3] - str r0, [r3, #0x18] - ldr r0, [r2] - str r0, [r4] - ldr r0, [r2, #4] - str r0, [r4, #4] - ldr r0, [r2, #8] - str r0, [r4, #8] - mov r0, sl - adds r0, #0x10 - adds r1, r6, r0 - adds r0, r7, r0 - ldr r0, [r0] - str r0, [r1] - ldr r0, [r3, #0x14] - str r0, [r3, #0x2c] - subs r3, #0x18 - subs r2, #0x18 - subs r7, #0x18 - subs r4, #0x18 - subs r6, #0x18 - subs r5, #1 - cmp r5, sb - bgt _0800F474 + ldr r0, [r3] + str r0, [r3, #0x18] + ldr r0, [r2] + str r0, [r4] + ldr r0, [r2, #4] + str r0, [r4, #4] + ldr r0, [r2, #8] + str r0, [r4, #8] + mov r0, sl + adds r0, #0x10 + adds r1, r6, r0 + adds r0, r7, r0 + ldr r0, [r0] + str r0, [r1] + ldr r0, [r3, #0x14] + str r0, [r3, #0x2c] + subs r3, #0x18 + subs r2, #0x18 + subs r7, #0x18 + subs r4, #0x18 + subs r6, #0x18 + subs r5, #1 + cmp r5, sb + bgt _0800F474 _0800F4A4: - lsls r1, r5, #1 - adds r1, r1, r5 - lsls r1, r1, #3 - mov r2, r8 - lsls r0, r2, #1 - add r0, r8 - lsls r0, r0, #6 - adds r1, r1, r0 - mov r2, ip - adds r0, r1, r2 - movs r2, #0 - str r2, [r0] - mov r0, ip - adds r0, #4 - adds r0, r1, r0 - str r2, [r0] - mov r0, ip - adds r0, #8 - adds r0, r1, r0 - str r2, [r0] - mov r0, ip - adds r0, #0xc - adds r0, r1, r0 - str r2, [r0] - mov r0, ip - adds r0, #0x10 - adds r0, r1, r0 - ldr r2, [sp] - str r2, [r0] - mov r0, ip - adds r0, #0x14 - adds r1, r1, r0 - ldr r0, [sp, #4] - str r0, [r1] - 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 + lsls r1, r5, #1 + adds r1, r1, r5 + lsls r1, r1, #3 + mov r2, r8 + lsls r0, r2, #1 + add r0, r8 + lsls r0, r0, #6 + adds r1, r1, r0 + mov r2, ip + adds r0, r1, r2 + movs r2, #0 + str r2, [r0] + mov r0, ip + adds r0, #4 + adds r0, r1, r0 + str r2, [r0] + mov r0, ip + adds r0, #8 + adds r0, r1, r0 + str r2, [r0] + mov r0, ip + adds r0, #0xc + adds r0, r1, r0 + str r2, [r0] + mov r0, ip + adds r0, #0x10 + adds r0, r1, r0 + ldr r2, [sp] + str r2, [r0] + mov r0, ip + adds r0, #0x14 + adds r1, r1, r0 + ldr r0, [sp, #4] + str r0, [r1] + 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 _0800F4F8: .4byte 0x0202C610 - thumb_func_start sub_F4FC + thumb_func_start sub_F4FC sub_F4FC: @ 0x0800F4FC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - str r0, [sp] - ldr r0, _0800F668 @ =0x0202C550 - mov r8, r0 - ldr r1, [sp] - lsls r4, r1, #1 - adds r4, r4, r1 - lsls r0, r4, #3 - mov sb, r0 - mov r6, r8 - adds r6, #0x10 - add r6, sb - ldr r0, [r6] - mov r5, r8 - adds r5, #0x14 - add r5, sb - ldr r1, [r5] - ldr r2, [sp] - bl sub_F3DC - mov sl, r0 - ldr r7, _0800F66C @ =0x0202C610 - lsls r0, r0, #1 - add r0, sl - lsls r0, r0, #3 - lsls r4, r4, #6 - adds r4, r0, r4 - adds r0, r7, #0 - adds r0, #0x10 - adds r0, r4, r0 - ldr r0, [r0] - adds r1, r7, #0 - adds r1, #0x14 - adds r1, r4, r1 - ldr r1, [r1] - ldr r2, [r6] - ldr r3, [r5] - bl sub_F3BC - mov ip, r8 - cmp r0, #0 - bne _0800F5A2 - adds r0, r4, r7 - mov r1, sb - add r1, ip - ldr r2, [r0] - ldr r0, [r1] - cmp r2, r0 - bne _0800F5A2 - adds r1, r7, #4 - adds r1, r4, r1 - mov r0, ip - adds r0, #4 - add r0, sb - ldr r1, [r1] - ldr r0, [r0] - cmp r1, r0 - bne _0800F5A2 - adds r1, r7, #0 - adds r1, #8 - adds r1, r4, r1 - mov r0, ip - adds r0, #8 - add r0, sb - ldr r1, [r1] - ldr r0, [r0] - cmp r1, r0 - bne _0800F5A2 - adds r1, r7, #0 - adds r1, #0xc - adds r1, r4, r1 - mov r0, ip - adds r0, #0xc - add r0, sb - ldr r1, [r1] - ldr r0, [r0] - cmp r1, r0 - beq _0800F656 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + str r0, [sp] + ldr r0, _0800F668 @ =0x0202C550 + mov r8, r0 + ldr r1, [sp] + lsls r4, r1, #1 + adds r4, r4, r1 + lsls r0, r4, #3 + mov sb, r0 + mov r6, r8 + adds r6, #0x10 + add r6, sb + ldr r0, [r6] + mov r5, r8 + adds r5, #0x14 + add r5, sb + ldr r1, [r5] + ldr r2, [sp] + bl sub_F3DC + mov sl, r0 + ldr r7, _0800F66C @ =0x0202C610 + lsls r0, r0, #1 + add r0, sl + lsls r0, r0, #3 + lsls r4, r4, #6 + adds r4, r0, r4 + adds r0, r7, #0 + adds r0, #0x10 + adds r0, r4, r0 + ldr r0, [r0] + adds r1, r7, #0 + adds r1, #0x14 + adds r1, r4, r1 + ldr r1, [r1] + ldr r2, [r6] + ldr r3, [r5] + bl sub_F3BC + mov ip, r8 + cmp r0, #0 + bne _0800F5A2 + adds r0, r4, r7 + mov r1, sb + add r1, ip + ldr r2, [r0] + ldr r0, [r1] + cmp r2, r0 + bne _0800F5A2 + adds r1, r7, #4 + adds r1, r4, r1 + mov r0, ip + adds r0, #4 + add r0, sb + ldr r1, [r1] + ldr r0, [r0] + cmp r1, r0 + bne _0800F5A2 + adds r1, r7, #0 + adds r1, #8 + adds r1, r4, r1 + mov r0, ip + adds r0, #8 + add r0, sb + ldr r1, [r1] + ldr r0, [r0] + cmp r1, r0 + bne _0800F5A2 + adds r1, r7, #0 + adds r1, #0xc + adds r1, r4, r1 + mov r0, ip + adds r0, #0xc + add r0, sb + ldr r1, [r1] + ldr r0, [r0] + cmp r1, r0 + beq _0800F656 _0800F5A2: - movs r0, #1 - rsbs r0, r0, #0 - cmp sl, r0 - beq _0800F656 - movs r4, #7 - ldr r1, _0800F668 @ =0x0202C550 - mov ip, r1 - ldr r0, [sp] - lsls r3, r0, #1 - ldr r1, _0800F66C @ =0x0202C610 - mov r8, r1 - cmp r4, sl - ble _0800F5EA - mov r7, r8 - adds r0, r3, r0 - lsls r6, r0, #6 + movs r0, #1 + rsbs r0, r0, #0 + cmp sl, r0 + beq _0800F656 + movs r4, #7 + ldr r1, _0800F668 @ =0x0202C550 + mov ip, r1 + ldr r0, [sp] + lsls r3, r0, #1 + ldr r1, _0800F66C @ =0x0202C610 + mov r8, r1 + cmp r4, sl + ble _0800F5EA + mov r7, r8 + adds r0, r3, r0 + lsls r6, r0, #6 _0800F5C2: - movs r5, #0 - lsls r0, r4, #1 - subs r1, r4, #1 - adds r0, r0, r4 - lsls r0, r0, #3 - adds r0, r0, r6 - adds r2, r0, r7 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r6 - adds r4, r0, r7 + movs r5, #0 + lsls r0, r4, #1 + subs r1, r4, #1 + adds r0, r0, r4 + lsls r0, r0, #3 + adds r0, r0, r6 + adds r2, r0, r7 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r6 + adds r4, r0, r7 _0800F5DA: - ldm r4!, {r0} - stm r2!, {r0} - adds r5, #1 - cmp r5, #5 - ble _0800F5DA - adds r4, r1, #0 - cmp r4, sl - bgt _0800F5C2 + ldm r4!, {r0} + stm r2!, {r0} + adds r5, #1 + cmp r5, #5 + ble _0800F5DA + adds r4, r1, #0 + cmp r4, sl + bgt _0800F5C2 _0800F5EA: - lsls r2, r4, #1 - adds r2, r2, r4 - lsls r2, r2, #3 - ldr r4, [sp] - adds r3, r3, r4 - lsls r0, r3, #6 - adds r2, r2, r0 - mov r0, r8 - adds r1, r2, r0 - lsls r3, r3, #3 - mov r4, ip - adds r0, r3, r4 - ldr r0, [r0] - str r0, [r1] - mov r1, r8 - adds r1, #4 - adds r1, r2, r1 - mov r0, ip - adds r0, #4 - adds r0, r3, r0 - ldr r0, [r0] - str r0, [r1] - mov r1, r8 - adds r1, #8 - adds r1, r2, r1 - mov r0, ip - adds r0, #8 - adds r0, r3, r0 - ldr r0, [r0] - str r0, [r1] - mov r1, r8 - adds r1, #0xc - adds r1, r2, r1 - mov r0, ip - adds r0, #0xc - adds r0, r3, r0 - ldr r0, [r0] - str r0, [r1] - mov r1, r8 - adds r1, #0x10 - adds r1, r2, r1 - mov r0, ip - adds r0, #0x10 - adds r0, r3, r0 - ldr r0, [r0] - str r0, [r1] - mov r0, r8 - adds r0, #0x14 - adds r2, r2, r0 - mov r0, ip - adds r0, #0x14 - adds r3, r3, r0 - ldr r0, [r3] - str r0, [r2] + lsls r2, r4, #1 + adds r2, r2, r4 + lsls r2, r2, #3 + ldr r4, [sp] + adds r3, r3, r4 + lsls r0, r3, #6 + adds r2, r2, r0 + mov r0, r8 + adds r1, r2, r0 + lsls r3, r3, #3 + mov r4, ip + adds r0, r3, r4 + ldr r0, [r0] + str r0, [r1] + mov r1, r8 + adds r1, #4 + adds r1, r2, r1 + mov r0, ip + adds r0, #4 + adds r0, r3, r0 + ldr r0, [r0] + str r0, [r1] + mov r1, r8 + adds r1, #8 + adds r1, r2, r1 + mov r0, ip + adds r0, #8 + adds r0, r3, r0 + ldr r0, [r0] + str r0, [r1] + mov r1, r8 + adds r1, #0xc + adds r1, r2, r1 + mov r0, ip + adds r0, #0xc + adds r0, r3, r0 + ldr r0, [r0] + str r0, [r1] + mov r1, r8 + adds r1, #0x10 + adds r1, r2, r1 + mov r0, ip + adds r0, #0x10 + adds r0, r3, r0 + ldr r0, [r0] + str r0, [r1] + mov r0, r8 + adds r0, #0x14 + adds r2, r2, r0 + mov r0, ip + adds r0, #0x14 + adds r3, r3, r0 + ldr r0, [r3] + str r0, [r2] _0800F656: - mov r0, sl - add sp, #4 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - .align 2, 0 + mov r0, sl + add sp, #4 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + .align 2, 0 _0800F668: .4byte 0x0202C550 _0800F66C: .4byte 0x0202C610 - thumb_func_start sub_F670 + thumb_func_start sub_F670 sub_F670: @ 0x0800F670 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #8 - adds r7, r0, #0 - mov r8, r2 - ldr r2, _0800F6D8 @ =0x086A7FAC - lsls r0, r7, #1 - adds r0, r0, r2 - ldrh r7, [r0] - ldr r6, _0800F6DC @ =0x08079730 - lsls r4, r1, #1 - adds r4, r4, r1 - lsls r4, r4, #2 - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r0, r0, #5 - adds r4, r4, r0 - adds r0, r6, #0 - adds r0, #8 - adds r0, r4, r0 - ldr r5, [r0] - lsls r0, r5, #5 - adds r1, r7, #0 - adds r1, #0x80 - adds r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r1, r4, r6 - mov r2, r8 - lsls r2, r2, #0x10 - asrs r2, r2, #0x10 - mov r8, r2 - ldr r2, [r1] - add r2, r8 - adds r6, #4 - adds r4, r4, r6 - ldr r3, [r4] - movs r1, #1 - str r1, [sp] - adds r5, #1 - str r5, [sp, #4] - movs r1, #8 - bl sub_105A0 - add sp, #8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #8 + adds r7, r0, #0 + mov r8, r2 + ldr r2, _0800F6D8 @ =0x086A7FAC + lsls r0, r7, #1 + adds r0, r0, r2 + ldrh r7, [r0] + ldr r6, _0800F6DC @ =0x08079730 + lsls r4, r1, #1 + adds r4, r4, r1 + lsls r4, r4, #2 + lsls r0, r3, #1 + adds r0, r0, r3 + lsls r0, r0, #5 + adds r4, r4, r0 + adds r0, r6, #0 + adds r0, #8 + adds r0, r4, r0 + ldr r5, [r0] + lsls r0, r5, #5 + adds r1, r7, #0 + adds r1, #0x80 + adds r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r1, r4, r6 + mov r2, r8 + lsls r2, r2, #0x10 + asrs r2, r2, #0x10 + mov r8, r2 + ldr r2, [r1] + add r2, r8 + adds r6, #4 + adds r4, r4, r6 + ldr r3, [r4] + movs r1, #1 + str r1, [sp] + adds r5, #1 + str r5, [sp, #4] + movs r1, #8 + bl sub_105A0 + add sp, #8 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800F6D8: .4byte 0x086A7FAC _0800F6DC: .4byte 0x08079730 - thumb_func_start sub_F6E0 + thumb_func_start sub_F6E0 sub_F6E0: @ 0x0800F6E0 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r1, _0800F740 @ =0x0202BEB0 - movs r0, #0 - strb r0, [r1] - movs r2, #0 - ldr r0, _0800F744 @ =0x0200B134 - mov r8, r0 - ldr r3, _0800F748 @ =0x08079430 - mov ip, r3 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r1, _0800F740 @ =0x0202BEB0 + movs r0, #0 + strb r0, [r1] + movs r2, #0 + ldr r0, _0800F744 @ =0x0200B134 + mov r8, r0 + ldr r3, _0800F748 @ =0x08079430 + mov ip, r3 _0800F6F8: - movs r1, #0 - lsls r0, r2, #1 - adds r7, r2, #1 - mov sb, r7 - adds r0, r0, r2 - lsls r5, r0, #6 - adds r6, r5, #0 - adds r6, #0xe4 + movs r1, #0 + lsls r0, r2, #1 + adds r7, r2, #1 + mov sb, r7 + adds r0, r0, r2 + lsls r5, r0, #6 + adds r6, r5, #0 + adds r6, #0xe4 _0800F708: - lsls r0, r1, #1 - adds r4, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r1, r0, r6 - add r1, r8 - adds r2, r0, r5 - movs r3, #5 + lsls r0, r1, #1 + adds r4, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r1, r0, r6 + add r1, r8 + adds r2, r0, r5 + movs r3, #5 _0800F718: - mov r7, ip - adds r0, r2, r7 - ldr r0, [r0] - stm r1!, {r0} - adds r2, #4 - subs r3, #1 - cmp r3, #0 - bge _0800F718 - adds r1, r4, #0 - cmp r1, #7 - ble _0800F708 - mov r2, sb - cmp r2, #1 - ble _0800F6F8 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + mov r7, ip + adds r0, r2, r7 + ldr r0, [r0] + stm r1!, {r0} + adds r2, #4 + subs r3, #1 + cmp r3, #0 + bge _0800F718 + adds r1, r4, #0 + cmp r1, #7 + ble _0800F708 + mov r2, sb + cmp r2, #1 + ble _0800F6F8 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800F740: .4byte 0x0202BEB0 _0800F744: .4byte 0x0200B134 _0800F748: .4byte 0x08079430 - thumb_func_start sub_F74C + thumb_func_start sub_F74C sub_F74C: @ 0x0800F74C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x14 - movs r0, #0 - mov r8, r0 - ldr r1, _0800F85C @ =0x0200B134 - str r1, [sp] + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x14 + movs r0, #0 + mov r8, r0 + ldr r1, _0800F85C @ =0x0200B134 + str r1, [sp] _0800F760: - bl sub_C00 - movs r1, #0x2a - bl __umodsi3 - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - mov r3, r8 - lsls r2, r3, #1 - adds r1, r2, r3 - lsls r1, r1, #6 - ldr r3, _0800F860 @ =0x0200B218 - adds r0, r1, r3 - str r4, [r0] - mov sb, r2 - mov r0, r8 - adds r0, #1 - str r0, [sp, #8] - ldr r2, [sp] - adds r1, r2, r1 - adds r6, r1, #0 - adds r6, #0xe8 - movs r5, #2 + bl sub_C00 + movs r1, #0x2a + bl __umodsi3 + lsls r0, r0, #0x18 + lsrs r4, r0, #0x18 + mov r3, r8 + lsls r2, r3, #1 + adds r1, r2, r3 + lsls r1, r1, #6 + ldr r3, _0800F860 @ =0x0200B218 + adds r0, r1, r3 + str r4, [r0] + mov sb, r2 + mov r0, r8 + adds r0, #1 + str r0, [sp, #8] + ldr r2, [sp] + adds r1, r2, r1 + adds r6, r1, #0 + adds r6, #0xe8 + movs r5, #2 _0800F78E: - bl sub_C00 - movs r1, #0xa - bl __umodsi3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #7 - bhi _0800F7AE - bl sub_C00 - movs r1, #0x2a - bl __umodsi3 - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 + bl sub_C00 + movs r1, #0xa + bl __umodsi3 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #7 + bhi _0800F7AE + bl sub_C00 + movs r1, #0x2a + bl __umodsi3 + lsls r0, r0, #0x18 + lsrs r4, r0, #0x18 _0800F7AE: - stm r6!, {r4} - subs r5, #1 - cmp r5, #0 - bge _0800F78E - bl sub_C00 - adds r7, r0, #0 - bl sub_C00 - adds r6, r0, #0 - mov r0, sb - add r0, r8 - lsls r0, r0, #6 - ldr r1, [sp] - adds r1, #0xf4 - adds r1, r0, r1 - str r7, [r1] - ldr r3, _0800F864 @ =0x0200B22C - adds r1, r0, r3 - str r6, [r1] - movs r1, #1 - mov r8, r1 - ldr r2, [sp] - str r2, [sp, #4] - mov sl, r0 + stm r6!, {r4} + subs r5, #1 + cmp r5, #0 + bge _0800F78E + bl sub_C00 + adds r7, r0, #0 + bl sub_C00 + adds r6, r0, #0 + mov r0, sb + add r0, r8 + lsls r0, r0, #6 + ldr r1, [sp] + adds r1, #0xf4 + adds r1, r0, r1 + str r7, [r1] + ldr r3, _0800F864 @ =0x0200B22C + adds r1, r0, r3 + str r6, [r1] + movs r1, #1 + mov r8, r1 + ldr r2, [sp] + str r2, [sp, #4] + mov sl, r0 _0800F7E0: - bl sub_C00 - movs r1, #0x2a - bl __umodsi3 - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - mov r3, r8 - lsls r2, r3, #1 - adds r1, r2, r3 - lsls r1, r1, #3 - mov r3, sl - adds r0, r1, r3 - ldr r3, _0800F860 @ =0x0200B218 - adds r0, r0, r3 - str r4, [r0] - str r2, [sp, #0x10] - mov r0, r8 - adds r0, #1 - str r0, [sp, #0xc] - adds r1, #4 - movs r5, #2 - adds r0, r3, #0 - add r0, sl - adds r1, r1, r0 - mov sb, r1 + bl sub_C00 + movs r1, #0x2a + bl __umodsi3 + lsls r0, r0, #0x18 + lsrs r4, r0, #0x18 + mov r3, r8 + lsls r2, r3, #1 + adds r1, r2, r3 + lsls r1, r1, #3 + mov r3, sl + adds r0, r1, r3 + ldr r3, _0800F860 @ =0x0200B218 + adds r0, r0, r3 + str r4, [r0] + str r2, [sp, #0x10] + mov r0, r8 + adds r0, #1 + str r0, [sp, #0xc] + adds r1, #4 + movs r5, #2 + adds r0, r3, #0 + add r0, sl + adds r1, r1, r0 + mov sb, r1 _0800F814: - bl sub_C00 - movs r1, #0xa - bl __umodsi3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #7 - bhi _0800F834 - bl sub_C00 - movs r1, #0x2a - bl __umodsi3 - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 + bl sub_C00 + movs r1, #0xa + bl __umodsi3 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #7 + bhi _0800F834 + bl sub_C00 + movs r1, #0x2a + bl __umodsi3 + lsls r0, r0, #0x18 + lsrs r4, r0, #0x18 _0800F834: - mov r1, sb - adds r1, #4 - mov sb, r1 - subs r1, #4 - stm r1!, {r4} - subs r5, #1 - cmp r5, #0 - bge _0800F814 - bl sub_C00 - adds r1, r7, #0 - bl __umodsi3 - adds r7, r0, #0 - cmp r7, #0 - beq _0800F868 - bl sub_C00 - b _0800F872 - .align 2, 0 + mov r1, sb + adds r1, #4 + mov sb, r1 + subs r1, #4 + stm r1!, {r4} + subs r5, #1 + cmp r5, #0 + bge _0800F814 + bl sub_C00 + adds r1, r7, #0 + bl __umodsi3 + adds r7, r0, #0 + cmp r7, #0 + beq _0800F868 + bl sub_C00 + b _0800F872 + .align 2, 0 _0800F85C: .4byte 0x0200B134 _0800F860: .4byte 0x0200B218 _0800F864: .4byte 0x0200B22C _0800F868: - bl sub_C00 - adds r1, r6, #0 - bl __umodsi3 + bl sub_C00 + adds r1, r6, #0 + bl __umodsi3 _0800F872: - adds r6, r0, #0 - ldr r1, [sp, #0x10] - add r1, r8 - lsls r1, r1, #3 - add r1, sl - ldr r0, [sp, #4] - adds r0, #0xf4 - adds r0, r1, r0 - str r7, [r0] - ldr r2, _0800F8AC @ =0x0200B22C - adds r1, r1, r2 - str r6, [r1] - ldr r3, [sp, #0xc] - mov r8, r3 - cmp r3, #7 - ble _0800F7E0 - ldr r0, [sp, #8] - mov r8, r0 - cmp r0, #1 - bgt _0800F89C - b _0800F760 + adds r6, r0, #0 + ldr r1, [sp, #0x10] + add r1, r8 + lsls r1, r1, #3 + add r1, sl + ldr r0, [sp, #4] + adds r0, #0xf4 + adds r0, r1, r0 + str r7, [r0] + ldr r2, _0800F8AC @ =0x0200B22C + adds r1, r1, r2 + str r6, [r1] + ldr r3, [sp, #0xc] + mov r8, r3 + cmp r3, #7 + ble _0800F7E0 + ldr r0, [sp, #8] + mov r8, r0 + cmp r0, #1 + bgt _0800F89C + b _0800F760 _0800F89C: - 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 + 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 _0800F8AC: .4byte 0x0200B22C - thumb_func_start sub_F8B0 + thumb_func_start sub_F8B0 sub_F8B0: @ 0x0800F8B0 - push {r4, r5, r6, r7, lr} - lsls r2, r2, #0x10 - lsrs r5, r2, #0x10 - cmp r0, #0 - beq _0800F8BC - b _0800F9CC + push {r4, r5, r6, r7, lr} + lsls r2, r2, #0x10 + lsrs r5, r2, #0x10 + cmp r0, #0 + beq _0800F8BC + b _0800F9CC _0800F8BC: - cmp r1, #0 - bne _0800F93C - ldr r0, _0800F924 @ =0x03005C00 - ldr r7, _0800F928 @ =0x000090EA - ldr r6, _0800F92C @ =0x0000912A - ldr r1, _0800F930 @ =0x086A7FA4 - adds r2, r0, #0 - adds r2, #0x98 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r3, r0, r1 - movs r4, #0xe + cmp r1, #0 + bne _0800F93C + ldr r0, _0800F924 @ =0x03005C00 + ldr r7, _0800F928 @ =0x000090EA + ldr r6, _0800F92C @ =0x0000912A + ldr r1, _0800F930 @ =0x086A7FA4 + adds r2, r0, #0 + adds r2, #0x98 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r3, r0, r1 + movs r4, #0xe _0800F8D4: - ldrh r1, [r2] - adds r0, r1, #0 - cmp r0, r7 - beq _0800F8E8 - cmp r0, r6 - beq _0800F8E8 - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r1, r0 - strh r0, [r2] + ldrh r1, [r2] + adds r0, r1, #0 + cmp r0, r7 + beq _0800F8E8 + cmp r0, r6 + beq _0800F8E8 + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r1, r0 + strh r0, [r2] _0800F8E8: - adds r2, #2 - subs r4, #1 - cmp r4, #0 - bge _0800F8D4 - ldr r0, _0800F924 @ =0x03005C00 - ldr r7, _0800F934 @ =0x0000910A - ldr r6, _0800F938 @ =0x0000914A - ldr r1, _0800F930 @ =0x086A7FA4 - adds r3, r0, #0 - adds r3, #0xd8 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r2, r0, r1 - movs r4, #0xe + adds r2, #2 + subs r4, #1 + cmp r4, #0 + bge _0800F8D4 + ldr r0, _0800F924 @ =0x03005C00 + ldr r7, _0800F934 @ =0x0000910A + ldr r6, _0800F938 @ =0x0000914A + ldr r1, _0800F930 @ =0x086A7FA4 + adds r3, r0, #0 + adds r3, #0xd8 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r2, r0, r1 + movs r4, #0xe _0800F904: - ldrh r1, [r3] - adds r0, r1, #0 - cmp r0, r7 - beq _0800F918 - cmp r0, r6 - beq _0800F918 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, r1, r0 - strh r0, [r3] + ldrh r1, [r3] + adds r0, r1, #0 + cmp r0, r7 + beq _0800F918 + cmp r0, r6 + beq _0800F918 + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, r1, r0 + strh r0, [r3] _0800F918: - adds r3, #2 - subs r4, #1 - cmp r4, #0 - bge _0800F904 - b _0800FAC2 - .align 2, 0 + adds r3, #2 + subs r4, #1 + cmp r4, #0 + bge _0800F904 + b _0800FAC2 + .align 2, 0 _0800F924: .4byte 0x03005C00 _0800F928: .4byte 0x000090EA _0800F92C: .4byte 0x0000912A @@ -30434,71 +30434,71 @@ _0800F930: .4byte 0x086A7FA4 _0800F934: .4byte 0x0000910A _0800F938: .4byte 0x0000914A _0800F93C: - lsls r1, r1, #1 - adds r0, r1, #3 - lsls r0, r0, #5 - adds r3, r0, #0 - adds r3, #0xc - adds r6, r1, #0 - ldr r1, _0800F9B4 @ =0x03005C00 - ldr r0, _0800F9B8 @ =0x0000916A - mov ip, r0 - ldr r7, _0800F9BC @ =0x000091AA - ldr r2, _0800F9C0 @ =0x086A7FA4 - lsls r0, r3, #1 - adds r1, r0, r1 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r3, r0, r2 - movs r4, #0xe + lsls r1, r1, #1 + adds r0, r1, #3 + lsls r0, r0, #5 + adds r3, r0, #0 + adds r3, #0xc + adds r6, r1, #0 + ldr r1, _0800F9B4 @ =0x03005C00 + ldr r0, _0800F9B8 @ =0x0000916A + mov ip, r0 + ldr r7, _0800F9BC @ =0x000091AA + ldr r2, _0800F9C0 @ =0x086A7FA4 + lsls r0, r3, #1 + adds r1, r0, r1 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r3, r0, r2 + movs r4, #0xe _0800F95E: - ldrh r2, [r1] - adds r0, r2, #0 - cmp r0, ip - beq _0800F972 - cmp r0, r7 - beq _0800F972 - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r2, r0 - strh r0, [r1] + ldrh r2, [r1] + adds r0, r2, #0 + cmp r0, ip + beq _0800F972 + cmp r0, r7 + beq _0800F972 + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r2, r0 + strh r0, [r1] _0800F972: - adds r1, #2 - subs r4, #1 - cmp r4, #0 - bge _0800F95E - adds r0, r6, #4 - lsls r0, r0, #5 - adds r3, r0, #0 - adds r3, #0xc - ldr r1, _0800F9B4 @ =0x03005C00 - ldr r7, _0800F9C4 @ =0x0000918A - ldr r6, _0800F9C8 @ =0x000091CA - ldr r2, _0800F9C0 @ =0x086A7FA4 - lsls r0, r3, #1 - adds r1, r0, r1 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r2, r0, r2 - movs r4, #0xe + adds r1, #2 + subs r4, #1 + cmp r4, #0 + bge _0800F95E + adds r0, r6, #4 + lsls r0, r0, #5 + adds r3, r0, #0 + adds r3, #0xc + ldr r1, _0800F9B4 @ =0x03005C00 + ldr r7, _0800F9C4 @ =0x0000918A + ldr r6, _0800F9C8 @ =0x000091CA + ldr r2, _0800F9C0 @ =0x086A7FA4 + lsls r0, r3, #1 + adds r1, r0, r1 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r2, r0, r2 + movs r4, #0xe _0800F996: - ldrh r3, [r1] - adds r0, r3, #0 - cmp r0, r7 - beq _0800F9AA - cmp r0, r6 - beq _0800F9AA - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, r3, r0 - strh r0, [r1] + ldrh r3, [r1] + adds r0, r3, #0 + cmp r0, r7 + beq _0800F9AA + cmp r0, r6 + beq _0800F9AA + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, r3, r0 + strh r0, [r1] _0800F9AA: - adds r1, #2 - subs r4, #1 - cmp r4, #0 - bge _0800F996 - b _0800FAC2 - .align 2, 0 + adds r1, #2 + subs r4, #1 + cmp r4, #0 + bge _0800F996 + b _0800FAC2 + .align 2, 0 _0800F9B4: .4byte 0x03005C00 _0800F9B8: .4byte 0x0000916A _0800F9BC: .4byte 0x000091AA @@ -30506,62 +30506,62 @@ _0800F9C0: .4byte 0x086A7FA4 _0800F9C4: .4byte 0x0000918A _0800F9C8: .4byte 0x000091CA _0800F9CC: - cmp r1, #0 - bne _0800FA54 - ldr r0, _0800FA34 @ =0x03005C00 - ldr r7, _0800FA38 @ =0x000090EA - ldr r6, _0800FA3C @ =0x0000912A - ldr r1, _0800FA40 @ =0x086A7FA4 - ldr r3, _0800FA44 @ =0x00000894 - adds r2, r0, r3 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r3, r0, r1 - movs r4, #0xe + cmp r1, #0 + bne _0800FA54 + ldr r0, _0800FA34 @ =0x03005C00 + ldr r7, _0800FA38 @ =0x000090EA + ldr r6, _0800FA3C @ =0x0000912A + ldr r1, _0800FA40 @ =0x086A7FA4 + ldr r3, _0800FA44 @ =0x00000894 + adds r2, r0, r3 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r3, r0, r1 + movs r4, #0xe _0800F9E4: - ldrh r1, [r2] - adds r0, r1, #0 - cmp r0, r7 - beq _0800F9F8 - cmp r0, r6 - beq _0800F9F8 - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r1, r0 - strh r0, [r2] + ldrh r1, [r2] + adds r0, r1, #0 + cmp r0, r7 + beq _0800F9F8 + cmp r0, r6 + beq _0800F9F8 + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r1, r0 + strh r0, [r2] _0800F9F8: - adds r2, #2 - subs r4, #1 - cmp r4, #0 - bge _0800F9E4 - ldr r0, _0800FA34 @ =0x03005C00 - ldr r7, _0800FA48 @ =0x0000910A - ldr r6, _0800FA4C @ =0x0000914A - ldr r1, _0800FA40 @ =0x086A7FA4 - ldr r4, _0800FA50 @ =0x000008D4 - adds r3, r0, r4 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r2, r0, r1 - movs r4, #0xe + adds r2, #2 + subs r4, #1 + cmp r4, #0 + bge _0800F9E4 + ldr r0, _0800FA34 @ =0x03005C00 + ldr r7, _0800FA48 @ =0x0000910A + ldr r6, _0800FA4C @ =0x0000914A + ldr r1, _0800FA40 @ =0x086A7FA4 + ldr r4, _0800FA50 @ =0x000008D4 + adds r3, r0, r4 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r2, r0, r1 + movs r4, #0xe _0800FA14: - ldrh r1, [r3] - adds r0, r1, #0 - cmp r0, r7 - beq _0800FA28 - cmp r0, r6 - beq _0800FA28 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, r1, r0 - strh r0, [r3] + ldrh r1, [r3] + adds r0, r1, #0 + cmp r0, r7 + beq _0800FA28 + cmp r0, r6 + beq _0800FA28 + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, r1, r0 + strh r0, [r3] _0800FA28: - adds r3, #2 - subs r4, #1 - cmp r4, #0 - bge _0800FA14 - b _0800FAC2 - .align 2, 0 + adds r3, #2 + subs r4, #1 + cmp r4, #0 + bge _0800FA14 + b _0800FAC2 + .align 2, 0 _0800FA34: .4byte 0x03005C00 _0800FA38: .4byte 0x000090EA _0800FA3C: .4byte 0x0000912A @@ -30571,70 +30571,70 @@ _0800FA48: .4byte 0x0000910A _0800FA4C: .4byte 0x0000914A _0800FA50: .4byte 0x000008D4 _0800FA54: - lsls r0, r1, #1 - lsls r3, r0, #6 - adds r6, r0, #0 - ldr r1, _0800FAC8 @ =0x03005C00 - ldr r0, _0800FACC @ =0x0000916A - mov ip, r0 - ldr r7, _0800FAD0 @ =0x000091AA - ldr r2, _0800FAD4 @ =0x086A7FA4 - ldr r4, _0800FAD8 @ =0x000008D4 - adds r0, r3, r4 - adds r1, r0, r1 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r3, r0, r2 - movs r4, #0xe + lsls r0, r1, #1 + lsls r3, r0, #6 + adds r6, r0, #0 + ldr r1, _0800FAC8 @ =0x03005C00 + ldr r0, _0800FACC @ =0x0000916A + mov ip, r0 + ldr r7, _0800FAD0 @ =0x000091AA + ldr r2, _0800FAD4 @ =0x086A7FA4 + ldr r4, _0800FAD8 @ =0x000008D4 + adds r0, r3, r4 + adds r1, r0, r1 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r3, r0, r2 + movs r4, #0xe _0800FA72: - ldrh r2, [r1] - adds r0, r2, #0 - cmp r0, ip - beq _0800FA86 - cmp r0, r7 - beq _0800FA86 - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r2, r0 - strh r0, [r1] + ldrh r2, [r1] + adds r0, r2, #0 + cmp r0, ip + beq _0800FA86 + cmp r0, r7 + beq _0800FA86 + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r2, r0 + strh r0, [r1] _0800FA86: - adds r1, #2 - subs r4, #1 - cmp r4, #0 - bge _0800FA72 - lsls r3, r6, #6 - ldr r1, _0800FAC8 @ =0x03005C00 - ldr r7, _0800FADC @ =0x0000918A - ldr r6, _0800FAE0 @ =0x000091CA - ldr r2, _0800FAD4 @ =0x086A7FA4 - ldr r4, _0800FAE4 @ =0x00000914 - adds r0, r3, r4 - adds r1, r0, r1 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r2, r0, r2 - movs r4, #0xe + adds r1, #2 + subs r4, #1 + cmp r4, #0 + bge _0800FA72 + lsls r3, r6, #6 + ldr r1, _0800FAC8 @ =0x03005C00 + ldr r7, _0800FADC @ =0x0000918A + ldr r6, _0800FAE0 @ =0x000091CA + ldr r2, _0800FAD4 @ =0x086A7FA4 + ldr r4, _0800FAE4 @ =0x00000914 + adds r0, r3, r4 + adds r1, r0, r1 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r2, r0, r2 + movs r4, #0xe _0800FAA6: - ldrh r3, [r1] - adds r0, r3, #0 - cmp r0, r7 - beq _0800FABA - cmp r0, r6 - beq _0800FABA - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, r3, r0 - strh r0, [r1] + ldrh r3, [r1] + adds r0, r3, #0 + cmp r0, r7 + beq _0800FABA + cmp r0, r6 + beq _0800FABA + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, r3, r0 + strh r0, [r1] _0800FABA: - adds r1, #2 - subs r4, #1 - cmp r4, #0 - bge _0800FAA6 + adds r1, #2 + subs r4, #1 + cmp r4, #0 + bge _0800FAA6 _0800FAC2: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800FAC8: .4byte 0x03005C00 _0800FACC: .4byte 0x0000916A _0800FAD0: .4byte 0x000091AA @@ -30644,71 +30644,71 @@ _0800FADC: .4byte 0x0000918A _0800FAE0: .4byte 0x000091CA _0800FAE4: .4byte 0x00000914 - thumb_func_start sub_FAE8 + thumb_func_start sub_FAE8 sub_FAE8: @ 0x0800FAE8 - push {r4, r5, r6, r7, lr} - lsls r2, r2, #0x10 - lsrs r5, r2, #0x10 - cmp r0, #0 - beq _0800FAF4 - b _0800FC04 + push {r4, r5, r6, r7, lr} + lsls r2, r2, #0x10 + lsrs r5, r2, #0x10 + cmp r0, #0 + beq _0800FAF4 + b _0800FC04 _0800FAF4: - cmp r1, #0 - bne _0800FB74 - ldr r0, _0800FB5C @ =0x03005C00 - ldr r7, _0800FB60 @ =0x000090EA - ldr r6, _0800FB64 @ =0x0000912A - ldr r1, _0800FB68 @ =0x086A7FA8 - adds r2, r0, #0 - adds r2, #0x98 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r3, r0, r1 - movs r4, #0xe + cmp r1, #0 + bne _0800FB74 + ldr r0, _0800FB5C @ =0x03005C00 + ldr r7, _0800FB60 @ =0x000090EA + ldr r6, _0800FB64 @ =0x0000912A + ldr r1, _0800FB68 @ =0x086A7FA8 + adds r2, r0, #0 + adds r2, #0x98 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r3, r0, r1 + movs r4, #0xe _0800FB0C: - ldrh r1, [r2] - adds r0, r1, #0 - cmp r0, r7 - beq _0800FB20 - cmp r0, r6 - beq _0800FB20 - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r1, r0 - strh r0, [r2] + ldrh r1, [r2] + adds r0, r1, #0 + cmp r0, r7 + beq _0800FB20 + cmp r0, r6 + beq _0800FB20 + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r1, r0 + strh r0, [r2] _0800FB20: - adds r2, #2 - subs r4, #1 - cmp r4, #0 - bge _0800FB0C - ldr r0, _0800FB5C @ =0x03005C00 - ldr r7, _0800FB6C @ =0x0000910A - ldr r6, _0800FB70 @ =0x0000914A - ldr r1, _0800FB68 @ =0x086A7FA8 - adds r3, r0, #0 - adds r3, #0xd8 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r2, r0, r1 - movs r4, #0xe + adds r2, #2 + subs r4, #1 + cmp r4, #0 + bge _0800FB0C + ldr r0, _0800FB5C @ =0x03005C00 + ldr r7, _0800FB6C @ =0x0000910A + ldr r6, _0800FB70 @ =0x0000914A + ldr r1, _0800FB68 @ =0x086A7FA8 + adds r3, r0, #0 + adds r3, #0xd8 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r2, r0, r1 + movs r4, #0xe _0800FB3C: - ldrh r1, [r3] - adds r0, r1, #0 - cmp r0, r7 - beq _0800FB50 - cmp r0, r6 - beq _0800FB50 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, r1, r0 - strh r0, [r3] + ldrh r1, [r3] + adds r0, r1, #0 + cmp r0, r7 + beq _0800FB50 + cmp r0, r6 + beq _0800FB50 + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, r1, r0 + strh r0, [r3] _0800FB50: - adds r3, #2 - subs r4, #1 - cmp r4, #0 - bge _0800FB3C - b _0800FCFA - .align 2, 0 + adds r3, #2 + subs r4, #1 + cmp r4, #0 + bge _0800FB3C + b _0800FCFA + .align 2, 0 _0800FB5C: .4byte 0x03005C00 _0800FB60: .4byte 0x000090EA _0800FB64: .4byte 0x0000912A @@ -30716,71 +30716,71 @@ _0800FB68: .4byte 0x086A7FA8 _0800FB6C: .4byte 0x0000910A _0800FB70: .4byte 0x0000914A _0800FB74: - lsls r1, r1, #1 - adds r0, r1, #3 - lsls r0, r0, #5 - adds r3, r0, #0 - adds r3, #0xc - adds r6, r1, #0 - ldr r1, _0800FBEC @ =0x03005C00 - ldr r0, _0800FBF0 @ =0x0000916A - mov ip, r0 - ldr r7, _0800FBF4 @ =0x000091AA - ldr r2, _0800FBF8 @ =0x086A7FA8 - lsls r0, r3, #1 - adds r1, r0, r1 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r3, r0, r2 - movs r4, #0xe + lsls r1, r1, #1 + adds r0, r1, #3 + lsls r0, r0, #5 + adds r3, r0, #0 + adds r3, #0xc + adds r6, r1, #0 + ldr r1, _0800FBEC @ =0x03005C00 + ldr r0, _0800FBF0 @ =0x0000916A + mov ip, r0 + ldr r7, _0800FBF4 @ =0x000091AA + ldr r2, _0800FBF8 @ =0x086A7FA8 + lsls r0, r3, #1 + adds r1, r0, r1 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r3, r0, r2 + movs r4, #0xe _0800FB96: - ldrh r2, [r1] - adds r0, r2, #0 - cmp r0, ip - beq _0800FBAA - cmp r0, r7 - beq _0800FBAA - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r2, r0 - strh r0, [r1] + ldrh r2, [r1] + adds r0, r2, #0 + cmp r0, ip + beq _0800FBAA + cmp r0, r7 + beq _0800FBAA + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r2, r0 + strh r0, [r1] _0800FBAA: - adds r1, #2 - subs r4, #1 - cmp r4, #0 - bge _0800FB96 - adds r0, r6, #4 - lsls r0, r0, #5 - adds r3, r0, #0 - adds r3, #0xc - ldr r1, _0800FBEC @ =0x03005C00 - ldr r7, _0800FBFC @ =0x0000918A - ldr r6, _0800FC00 @ =0x000091CA - ldr r2, _0800FBF8 @ =0x086A7FA8 - lsls r0, r3, #1 - adds r1, r0, r1 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r2, r0, r2 - movs r4, #0xe + adds r1, #2 + subs r4, #1 + cmp r4, #0 + bge _0800FB96 + adds r0, r6, #4 + lsls r0, r0, #5 + adds r3, r0, #0 + adds r3, #0xc + ldr r1, _0800FBEC @ =0x03005C00 + ldr r7, _0800FBFC @ =0x0000918A + ldr r6, _0800FC00 @ =0x000091CA + ldr r2, _0800FBF8 @ =0x086A7FA8 + lsls r0, r3, #1 + adds r1, r0, r1 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r2, r0, r2 + movs r4, #0xe _0800FBCE: - ldrh r3, [r1] - adds r0, r3, #0 - cmp r0, r7 - beq _0800FBE2 - cmp r0, r6 - beq _0800FBE2 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, r3, r0 - strh r0, [r1] + ldrh r3, [r1] + adds r0, r3, #0 + cmp r0, r7 + beq _0800FBE2 + cmp r0, r6 + beq _0800FBE2 + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, r3, r0 + strh r0, [r1] _0800FBE2: - adds r1, #2 - subs r4, #1 - cmp r4, #0 - bge _0800FBCE - b _0800FCFA - .align 2, 0 + adds r1, #2 + subs r4, #1 + cmp r4, #0 + bge _0800FBCE + b _0800FCFA + .align 2, 0 _0800FBEC: .4byte 0x03005C00 _0800FBF0: .4byte 0x0000916A _0800FBF4: .4byte 0x000091AA @@ -30788,62 +30788,62 @@ _0800FBF8: .4byte 0x086A7FA8 _0800FBFC: .4byte 0x0000918A _0800FC00: .4byte 0x000091CA _0800FC04: - cmp r1, #0 - bne _0800FC8C - ldr r0, _0800FC6C @ =0x03005C00 - ldr r7, _0800FC70 @ =0x000090EA - ldr r6, _0800FC74 @ =0x0000912A - ldr r1, _0800FC78 @ =0x086A7FA8 - ldr r3, _0800FC7C @ =0x00000894 - adds r2, r0, r3 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r3, r0, r1 - movs r4, #0xe + cmp r1, #0 + bne _0800FC8C + ldr r0, _0800FC6C @ =0x03005C00 + ldr r7, _0800FC70 @ =0x000090EA + ldr r6, _0800FC74 @ =0x0000912A + ldr r1, _0800FC78 @ =0x086A7FA8 + ldr r3, _0800FC7C @ =0x00000894 + adds r2, r0, r3 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r3, r0, r1 + movs r4, #0xe _0800FC1C: - ldrh r1, [r2] - adds r0, r1, #0 - cmp r0, r7 - beq _0800FC30 - cmp r0, r6 - beq _0800FC30 - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r1, r0 - strh r0, [r2] + ldrh r1, [r2] + adds r0, r1, #0 + cmp r0, r7 + beq _0800FC30 + cmp r0, r6 + beq _0800FC30 + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r1, r0 + strh r0, [r2] _0800FC30: - adds r2, #2 - subs r4, #1 - cmp r4, #0 - bge _0800FC1C - ldr r0, _0800FC6C @ =0x03005C00 - ldr r7, _0800FC80 @ =0x0000910A - ldr r6, _0800FC84 @ =0x0000914A - ldr r1, _0800FC78 @ =0x086A7FA8 - ldr r4, _0800FC88 @ =0x000008D4 - adds r3, r0, r4 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r2, r0, r1 - movs r4, #0xe + adds r2, #2 + subs r4, #1 + cmp r4, #0 + bge _0800FC1C + ldr r0, _0800FC6C @ =0x03005C00 + ldr r7, _0800FC80 @ =0x0000910A + ldr r6, _0800FC84 @ =0x0000914A + ldr r1, _0800FC78 @ =0x086A7FA8 + ldr r4, _0800FC88 @ =0x000008D4 + adds r3, r0, r4 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r2, r0, r1 + movs r4, #0xe _0800FC4C: - ldrh r1, [r3] - adds r0, r1, #0 - cmp r0, r7 - beq _0800FC60 - cmp r0, r6 - beq _0800FC60 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, r1, r0 - strh r0, [r3] + ldrh r1, [r3] + adds r0, r1, #0 + cmp r0, r7 + beq _0800FC60 + cmp r0, r6 + beq _0800FC60 + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, r1, r0 + strh r0, [r3] _0800FC60: - adds r3, #2 - subs r4, #1 - cmp r4, #0 - bge _0800FC4C - b _0800FCFA - .align 2, 0 + adds r3, #2 + subs r4, #1 + cmp r4, #0 + bge _0800FC4C + b _0800FCFA + .align 2, 0 _0800FC6C: .4byte 0x03005C00 _0800FC70: .4byte 0x000090EA _0800FC74: .4byte 0x0000912A @@ -30853,70 +30853,70 @@ _0800FC80: .4byte 0x0000910A _0800FC84: .4byte 0x0000914A _0800FC88: .4byte 0x000008D4 _0800FC8C: - lsls r0, r1, #1 - lsls r3, r0, #6 - adds r6, r0, #0 - ldr r1, _0800FD00 @ =0x03005C00 - ldr r0, _0800FD04 @ =0x0000916A - mov ip, r0 - ldr r7, _0800FD08 @ =0x000091AA - ldr r2, _0800FD0C @ =0x086A7FA8 - ldr r4, _0800FD10 @ =0x000008D4 - adds r0, r3, r4 - adds r1, r0, r1 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r3, r0, r2 - movs r4, #0xe + lsls r0, r1, #1 + lsls r3, r0, #6 + adds r6, r0, #0 + ldr r1, _0800FD00 @ =0x03005C00 + ldr r0, _0800FD04 @ =0x0000916A + mov ip, r0 + ldr r7, _0800FD08 @ =0x000091AA + ldr r2, _0800FD0C @ =0x086A7FA8 + ldr r4, _0800FD10 @ =0x000008D4 + adds r0, r3, r4 + adds r1, r0, r1 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r3, r0, r2 + movs r4, #0xe _0800FCAA: - ldrh r2, [r1] - adds r0, r2, #0 - cmp r0, ip - beq _0800FCBE - cmp r0, r7 - beq _0800FCBE - movs r0, #0 - ldrsb r0, [r3, r0] - adds r0, r2, r0 - strh r0, [r1] + ldrh r2, [r1] + adds r0, r2, #0 + cmp r0, ip + beq _0800FCBE + cmp r0, r7 + beq _0800FCBE + movs r0, #0 + ldrsb r0, [r3, r0] + adds r0, r2, r0 + strh r0, [r1] _0800FCBE: - adds r1, #2 - subs r4, #1 - cmp r4, #0 - bge _0800FCAA - lsls r3, r6, #6 - ldr r1, _0800FD00 @ =0x03005C00 - ldr r7, _0800FD14 @ =0x0000918A - ldr r6, _0800FD18 @ =0x000091CA - ldr r2, _0800FD0C @ =0x086A7FA8 - ldr r4, _0800FD1C @ =0x00000914 - adds r0, r3, r4 - adds r1, r0, r1 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - adds r2, r0, r2 - movs r4, #0xe + adds r1, #2 + subs r4, #1 + cmp r4, #0 + bge _0800FCAA + lsls r3, r6, #6 + ldr r1, _0800FD00 @ =0x03005C00 + ldr r7, _0800FD14 @ =0x0000918A + ldr r6, _0800FD18 @ =0x000091CA + ldr r2, _0800FD0C @ =0x086A7FA8 + ldr r4, _0800FD1C @ =0x00000914 + adds r0, r3, r4 + adds r1, r0, r1 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + adds r2, r0, r2 + movs r4, #0xe _0800FCDE: - ldrh r3, [r1] - adds r0, r3, #0 - cmp r0, r7 - beq _0800FCF2 - cmp r0, r6 - beq _0800FCF2 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, r3, r0 - strh r0, [r1] + ldrh r3, [r1] + adds r0, r3, #0 + cmp r0, r7 + beq _0800FCF2 + cmp r0, r6 + beq _0800FCF2 + movs r0, #0 + ldrsb r0, [r2, r0] + adds r0, r3, r0 + strh r0, [r1] _0800FCF2: - adds r1, #2 - subs r4, #1 - cmp r4, #0 - bge _0800FCDE + adds r1, #2 + subs r4, #1 + cmp r4, #0 + bge _0800FCDE _0800FCFA: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800FD00: .4byte 0x03005C00 _0800FD04: .4byte 0x0000916A _0800FD08: .4byte 0x000091AA @@ -30926,95 +30926,95 @@ _0800FD14: .4byte 0x0000918A _0800FD18: .4byte 0x000091CA _0800FD1C: .4byte 0x00000914 - thumb_func_start sub_FD20 + thumb_func_start sub_FD20 sub_FD20: @ 0x0800FD20 - sub sp, #0x19c - movs r2, #0 - ldr r3, _0800FD48 @ =0x0200B134 - mov r1, sp + sub sp, #0x19c + movs r2, #0 + ldr r3, _0800FD48 @ =0x0200B134 + mov r1, sp _0800FD28: - adds r0, r2, r3 - ldrb r0, [r0] - strh r0, [r1] - adds r1, #2 - adds r2, #1 - cmp r2, #0xcc - ble _0800FD28 - movs r2, #0 - mov r1, sp + adds r0, r2, r3 + ldrb r0, [r0] + strh r0, [r1] + adds r1, #2 + adds r2, #1 + cmp r2, #0xcc + ble _0800FD28 + movs r2, #0 + mov r1, sp _0800FD3A: - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #4 - beq _0800FD4C - movs r0, #0 - b _0800FD56 - .align 2, 0 + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #4 + beq _0800FD4C + movs r0, #0 + b _0800FD56 + .align 2, 0 _0800FD48: .4byte 0x0200B134 _0800FD4C: - adds r1, #2 - adds r2, #1 - cmp r2, #0xc8 - ble _0800FD3A - movs r0, #1 + adds r1, #2 + adds r2, #1 + cmp r2, #0xc8 + ble _0800FD3A + movs r0, #1 _0800FD56: - add sp, #0x19c - bx lr + add sp, #0x19c + bx lr - thumb_func_start sub_FD5C + thumb_func_start sub_FD5C sub_FD5C: @ 0x0800FD5C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #4 - mov r8, r0 - ldr r4, _0800FDC8 @ =0x040000D4 - movs r6, #0xa0 - lsls r6, r6, #0x13 - str r6, [r4] - ldr r2, _0800FDCC @ =0x0201A920 - str r2, [r4, #4] - ldr r5, _0800FDD0 @ =0x80000200 - str r5, [r4, #8] - ldr r0, [r4, #8] - mov r1, sp - ldr r3, _0800FDD4 @ =0x00007FFF - adds r0, r3, #0 - strh r0, [r1] - str r1, [r4] - ldr r0, _0800FDD8 @ =0xFFFFFC00 - adds r1, r2, r0 - str r1, [r4, #4] - ldr r0, _0800FDDC @ =0x81000200 - str r0, [r4, #8] - ldr r0, [r4, #8] - str r1, [r4] - movs r3, #0x80 - lsls r3, r3, #3 - adds r2, r2, r3 - str r2, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - str r2, [r4] - str r6, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - bl sub_1050C - movs r7, #0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #4 + mov r8, r0 + ldr r4, _0800FDC8 @ =0x040000D4 + movs r6, #0xa0 + lsls r6, r6, #0x13 + str r6, [r4] + ldr r2, _0800FDCC @ =0x0201A920 + str r2, [r4, #4] + ldr r5, _0800FDD0 @ =0x80000200 + str r5, [r4, #8] + ldr r0, [r4, #8] + mov r1, sp + ldr r3, _0800FDD4 @ =0x00007FFF + adds r0, r3, #0 + strh r0, [r1] + str r1, [r4] + ldr r0, _0800FDD8 @ =0xFFFFFC00 + adds r1, r2, r0 + str r1, [r4, #4] + ldr r0, _0800FDDC @ =0x81000200 + str r0, [r4, #8] + ldr r0, [r4, #8] + str r1, [r4] + movs r3, #0x80 + lsls r3, r3, #3 + adds r2, r2, r3 + str r2, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + str r2, [r4] + str r6, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + bl sub_1050C + movs r7, #0 _0800FDAA: - mov r0, r8 - cmp r0, #0 - beq _0800FDB4 - bl _call_via_r8 + mov r0, r8 + cmp r0, #0 + beq _0800FDB4 + bl _call_via_r8 _0800FDB4: - adds r0, r7, #0 - bl sub_1001C - bl sub_D74 - cmp r7, #0x1f - bne _0800FDE0 - ldr r0, _0800FDCC @ =0x0201A920 - b _0800FDE2 - .align 2, 0 + adds r0, r7, #0 + bl sub_1001C + bl sub_D74 + cmp r7, #0x1f + bne _0800FDE0 + ldr r0, _0800FDCC @ =0x0201A920 + b _0800FDE2 + .align 2, 0 _0800FDC8: .4byte 0x040000D4 _0800FDCC: .4byte 0x0201A920 _0800FDD0: .4byte 0x80000200 @@ -31022,80 +31022,80 @@ _0800FDD4: .4byte 0x00007FFF _0800FDD8: .4byte 0xFFFFFC00 _0800FDDC: .4byte 0x81000200 _0800FDE0: - ldr r0, _0800FE00 @ =0x0201AD20 + ldr r0, _0800FE00 @ =0x0201AD20 _0800FDE2: - str r0, [r4] - str r6, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - adds r0, r7, #1 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - cmp r7, #0x1f - bls _0800FDAA - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + str r0, [r4] + str r6, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + adds r0, r7, #1 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + cmp r7, #0x1f + bls _0800FDAA + add sp, #4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800FE00: .4byte 0x0201AD20 - thumb_func_start sub_FE04 + thumb_func_start sub_FE04 sub_FE04: @ 0x0800FE04 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #4 - adds r5, r0, #0 - ldr r1, _0800FE6C @ =0x040000D4 - movs r0, #0xa0 - lsls r0, r0, #0x13 - mov r8, r0 - str r0, [r1] - ldr r3, _0800FE70 @ =0x0201A520 - str r3, [r1, #4] - ldr r4, _0800FE74 @ =0x80000200 - str r4, [r1, #8] - ldr r0, [r1, #8] - mov r2, sp - ldr r6, _0800FE78 @ =0x00007FFF - adds r0, r6, #0 - strh r0, [r2] - str r2, [r1] - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r3, r2 - str r0, [r1, #4] - ldr r0, _0800FE7C @ =0x81000200 - str r0, [r1, #8] - ldr r0, [r1, #8] - str r3, [r1] - movs r6, #0x80 - lsls r6, r6, #4 - adds r3, r3, r6 - str r3, [r1, #4] - str r4, [r1, #8] - ldr r0, [r1, #8] - movs r7, #0 - adds r6, r1, #0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #4 + adds r5, r0, #0 + ldr r1, _0800FE6C @ =0x040000D4 + movs r0, #0xa0 + lsls r0, r0, #0x13 + mov r8, r0 + str r0, [r1] + ldr r3, _0800FE70 @ =0x0201A520 + str r3, [r1, #4] + ldr r4, _0800FE74 @ =0x80000200 + str r4, [r1, #8] + ldr r0, [r1, #8] + mov r2, sp + ldr r6, _0800FE78 @ =0x00007FFF + adds r0, r6, #0 + strh r0, [r2] + str r2, [r1] + movs r2, #0x80 + lsls r2, r2, #3 + adds r0, r3, r2 + str r0, [r1, #4] + ldr r0, _0800FE7C @ =0x81000200 + str r0, [r1, #8] + ldr r0, [r1, #8] + str r3, [r1] + movs r6, #0x80 + lsls r6, r6, #4 + adds r3, r3, r6 + str r3, [r1, #4] + str r4, [r1, #8] + ldr r0, [r1, #8] + movs r7, #0 + adds r6, r1, #0 _0800FE4C: - cmp r5, #0 - beq _0800FE54 - bl _call_via_r5 + cmp r5, #0 + beq _0800FE54 + bl _call_via_r5 _0800FE54: - adds r0, r7, #0 - bl sub_1001C - bl sub_D74 - cmp r7, #0x1f - bne _0800FE84 - ldr r0, _0800FE80 @ =0x0201A920 - str r0, [r6] - mov r0, r8 - str r0, [r6, #4] - b _0800FE8C - .align 2, 0 + adds r0, r7, #0 + bl sub_1001C + bl sub_D74 + cmp r7, #0x1f + bne _0800FE84 + ldr r0, _0800FE80 @ =0x0201A920 + str r0, [r6] + mov r0, r8 + str r0, [r6, #4] + b _0800FE8C + .align 2, 0 _0800FE6C: .4byte 0x040000D4 _0800FE70: .4byte 0x0201A520 _0800FE74: .4byte 0x80000200 @@ -31103,93 +31103,93 @@ _0800FE78: .4byte 0x00007FFF _0800FE7C: .4byte 0x81000200 _0800FE80: .4byte 0x0201A920 _0800FE84: - ldr r0, _0800FEB4 @ =0x0201AD20 - str r0, [r6] - mov r2, r8 - str r2, [r6, #4] + ldr r0, _0800FEB4 @ =0x0201AD20 + str r0, [r6] + mov r2, r8 + str r2, [r6, #4] _0800FE8C: - str r4, [r6, #8] - ldr r0, [r6, #8] - adds r0, r7, #1 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - cmp r7, #0x1f - bls _0800FE4C - bl sub_10528 - bl sub_D74 - bl sub_490 - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + str r4, [r6, #8] + ldr r0, [r6, #8] + adds r0, r7, #1 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + cmp r7, #0x1f + bls _0800FE4C + bl sub_10528 + bl sub_D74 + bl sub_490 + add sp, #4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800FEB4: .4byte 0x0201AD20 - thumb_func_start sub_FEB8 + thumb_func_start sub_FEB8 sub_FEB8: @ 0x0800FEB8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #4 - mov r8, r2 - ldr r4, _0800FF34 @ =0x040000D4 - str r0, [r4] - ldr r2, _0800FF38 @ =0x0201A920 - str r2, [r4, #4] - ldr r0, _0800FF3C @ =0x80000100 - str r0, [r4, #8] - ldr r3, [r4, #8] - str r1, [r4] - movs r1, #0x80 - lsls r1, r1, #3 - adds r3, r2, r1 - str r3, [r4, #4] - str r0, [r4, #8] - ldr r0, [r4, #8] - mov r1, sp - movs r0, #0 - strh r0, [r1] - str r1, [r4] - ldr r0, _0800FF40 @ =0xFFFFFC00 - adds r2, r2, r0 - str r2, [r4, #4] - ldr r0, _0800FF44 @ =0x81000200 - str r0, [r4, #8] - ldr r0, [r4, #8] - str r2, [r4] - str r3, [r4, #4] - ldr r5, _0800FF48 @ =0x80000200 - str r5, [r4, #8] - ldr r0, [r4, #8] - str r3, [r4] - movs r6, #0xa0 - lsls r6, r6, #0x13 - str r6, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - bl sub_1050C - ldr r1, _0800FF4C @ =0x0200B0C0 - movs r0, #0x80 - lsls r0, r0, #0x13 - ldrh r0, [r0] - strh r0, [r1, #0x16] - movs r7, #0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #4 + mov r8, r2 + ldr r4, _0800FF34 @ =0x040000D4 + str r0, [r4] + ldr r2, _0800FF38 @ =0x0201A920 + str r2, [r4, #4] + ldr r0, _0800FF3C @ =0x80000100 + str r0, [r4, #8] + ldr r3, [r4, #8] + str r1, [r4] + movs r1, #0x80 + lsls r1, r1, #3 + adds r3, r2, r1 + str r3, [r4, #4] + str r0, [r4, #8] + ldr r0, [r4, #8] + mov r1, sp + movs r0, #0 + strh r0, [r1] + str r1, [r4] + ldr r0, _0800FF40 @ =0xFFFFFC00 + adds r2, r2, r0 + str r2, [r4, #4] + ldr r0, _0800FF44 @ =0x81000200 + str r0, [r4, #8] + ldr r0, [r4, #8] + str r2, [r4] + str r3, [r4, #4] + ldr r5, _0800FF48 @ =0x80000200 + str r5, [r4, #8] + ldr r0, [r4, #8] + str r3, [r4] + movs r6, #0xa0 + lsls r6, r6, #0x13 + str r6, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + bl sub_1050C + ldr r1, _0800FF4C @ =0x0200B0C0 + movs r0, #0x80 + lsls r0, r0, #0x13 + ldrh r0, [r0] + strh r0, [r1, #0x16] + movs r7, #0 _0800FF18: - mov r1, r8 - cmp r1, #0 - beq _0800FF22 - bl _call_via_r8 + mov r1, r8 + cmp r1, #0 + beq _0800FF22 + bl _call_via_r8 _0800FF22: - adds r0, r7, #0 - bl sub_1001C - bl sub_D74 - cmp r7, #0x1f - bne _0800FF50 - ldr r0, _0800FF38 @ =0x0201A920 - b _0800FF52 - .align 2, 0 + adds r0, r7, #0 + bl sub_1001C + bl sub_D74 + cmp r7, #0x1f + bne _0800FF50 + ldr r0, _0800FF38 @ =0x0201A920 + b _0800FF52 + .align 2, 0 _0800FF34: .4byte 0x040000D4 _0800FF38: .4byte 0x0201A920 _0800FF3C: .4byte 0x80000100 @@ -31198,816 +31198,816 @@ _0800FF44: .4byte 0x81000200 _0800FF48: .4byte 0x80000200 _0800FF4C: .4byte 0x0200B0C0 _0800FF50: - ldr r0, _0800FF70 @ =0x0201AD20 + ldr r0, _0800FF70 @ =0x0201AD20 _0800FF52: - str r0, [r4] - str r6, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - adds r0, r7, #1 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - cmp r7, #0x1f - bls _0800FF18 - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + str r0, [r4] + str r6, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + adds r0, r7, #1 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + cmp r7, #0x1f + bls _0800FF18 + add sp, #4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0800FF70: .4byte 0x0201AD20 - thumb_func_start sub_FF74 + thumb_func_start sub_FF74 sub_FF74: @ 0x0800FF74 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #4 - adds r5, r0, #0 - ldr r1, _0800FFDC @ =0x040000D4 - movs r0, #0xa0 - lsls r0, r0, #0x13 - mov r8, r0 - str r0, [r1] - ldr r3, _0800FFE0 @ =0x0201A520 - str r3, [r1, #4] - ldr r4, _0800FFE4 @ =0x80000200 - str r4, [r1, #8] - ldr r0, [r1, #8] - mov r2, sp - movs r0, #0 - strh r0, [r2] - str r2, [r1] - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r3, r2 - str r0, [r1, #4] - ldr r0, _0800FFE8 @ =0x81000200 - str r0, [r1, #8] - ldr r0, [r1, #8] - str r3, [r1] - movs r0, #0x80 - lsls r0, r0, #4 - adds r3, r3, r0 - str r3, [r1, #4] - str r4, [r1, #8] - ldr r0, [r1, #8] - movs r7, #0 - adds r6, r1, #0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #4 + adds r5, r0, #0 + ldr r1, _0800FFDC @ =0x040000D4 + movs r0, #0xa0 + lsls r0, r0, #0x13 + mov r8, r0 + str r0, [r1] + ldr r3, _0800FFE0 @ =0x0201A520 + str r3, [r1, #4] + ldr r4, _0800FFE4 @ =0x80000200 + str r4, [r1, #8] + ldr r0, [r1, #8] + mov r2, sp + movs r0, #0 + strh r0, [r2] + str r2, [r1] + movs r2, #0x80 + lsls r2, r2, #3 + adds r0, r3, r2 + str r0, [r1, #4] + ldr r0, _0800FFE8 @ =0x81000200 + str r0, [r1, #8] + ldr r0, [r1, #8] + str r3, [r1] + movs r0, #0x80 + lsls r0, r0, #4 + adds r3, r3, r0 + str r3, [r1, #4] + str r4, [r1, #8] + ldr r0, [r1, #8] + movs r7, #0 + adds r6, r1, #0 _0800FFBA: - cmp r5, #0 - beq _0800FFC2 - bl _call_via_r5 + cmp r5, #0 + beq _0800FFC2 + bl _call_via_r5 _0800FFC2: - adds r0, r7, #0 - bl sub_1001C - bl sub_D74 - cmp r7, #0x1f - bne _0800FFF0 - ldr r0, _0800FFEC @ =0x0201A920 - str r0, [r6] - mov r2, r8 - str r2, [r6, #4] - b _0800FFF8 - .align 2, 0 + adds r0, r7, #0 + bl sub_1001C + bl sub_D74 + cmp r7, #0x1f + bne _0800FFF0 + ldr r0, _0800FFEC @ =0x0201A920 + str r0, [r6] + mov r2, r8 + str r2, [r6, #4] + b _0800FFF8 + .align 2, 0 _0800FFDC: .4byte 0x040000D4 _0800FFE0: .4byte 0x0201A520 _0800FFE4: .4byte 0x80000200 _0800FFE8: .4byte 0x81000200 _0800FFEC: .4byte 0x0201A920 _0800FFF0: - ldr r0, _08010018 @ =0x0201AD20 - str r0, [r6] - mov r0, r8 - str r0, [r6, #4] + ldr r0, _08010018 @ =0x0201AD20 + str r0, [r6] + mov r0, r8 + str r0, [r6, #4] _0800FFF8: - str r4, [r6, #8] - ldr r0, [r6, #8] - adds r0, r7, #1 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - cmp r7, #0x1f - bls _0800FFBA - bl sub_D74 - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + str r4, [r6, #8] + ldr r0, [r6, #8] + adds r0, r7, #1 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + cmp r7, #0x1f + bls _0800FFBA + bl sub_D74 + add sp, #4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08010018: .4byte 0x0201AD20 - thumb_func_start sub_1001C + thumb_func_start sub_1001C sub_1001C: @ 0x0801001C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x14 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - add r1, sp, #0xc - movs r0, #0 - strh r0, [r1] - movs r0, #2 - strh r0, [r1, #2] - movs r0, #1 - strh r0, [r1, #4] - movs r2, #3 - strh r2, [r1, #6] - adds r0, r7, #0 - ands r0, r2 - lsls r0, r0, #1 - adds r1, r1, r0 - ldrh r0, [r1] - lsls r0, r0, #0x17 - lsrs r1, r0, #0x10 - mov ip, r1 - movs r1, #0x80 - lsls r1, r1, #0x10 - adds r0, r0, r1 - lsrs r0, r0, #0x10 - mov r8, r0 - ldr r0, _080100D8 @ =0x0000FFFC - ands r7, r0 - adds r0, r7, #4 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - cmp ip, r8 - bhs _08010160 - add r5, sp, #8 - ldr r0, _080100DC @ =0x0201A520 - mov sb, r0 - add r4, sp, #4 - mov r6, sp - movs r1, #0xf8 - lsls r1, r1, #7 - mov sl, r1 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x14 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + add r1, sp, #0xc + movs r0, #0 + strh r0, [r1] + movs r0, #2 + strh r0, [r1, #2] + movs r0, #1 + strh r0, [r1, #4] + movs r2, #3 + strh r2, [r1, #6] + adds r0, r7, #0 + ands r0, r2 + lsls r0, r0, #1 + adds r1, r1, r0 + ldrh r0, [r1] + lsls r0, r0, #0x17 + lsrs r1, r0, #0x10 + mov ip, r1 + movs r1, #0x80 + lsls r1, r1, #0x10 + adds r0, r0, r1 + lsrs r0, r0, #0x10 + mov r8, r0 + ldr r0, _080100D8 @ =0x0000FFFC + ands r7, r0 + adds r0, r7, #4 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + cmp ip, r8 + bhs _08010160 + add r5, sp, #8 + ldr r0, _080100DC @ =0x0201A520 + mov sb, r0 + add r4, sp, #4 + mov r6, sp + movs r1, #0xf8 + lsls r1, r1, #7 + mov sl, r1 _08010076: - mov r0, ip - lsls r3, r0, #1 - mov r1, sb - adds r2, r3, r1 - ldrh r1, [r2] - movs r0, #0x1f - ands r0, r1 - strh r0, [r5] - ldrh r1, [r2] - movs r0, #0xf8 - lsls r0, r0, #2 - ands r0, r1 - lsrs r0, r0, #5 - strh r0, [r4] - ldrh r1, [r2] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #0xa - strh r0, [r6] - movs r2, #0x80 - lsls r2, r2, #3 - add r2, sb - adds r2, r3, r2 - ldrh r1, [r2] - movs r0, #0x1f - ands r0, r1 - strh r0, [r5, #2] - ldrh r1, [r2] - movs r0, #0xf8 - lsls r0, r0, #2 - ands r0, r1 - lsrs r0, r0, #5 - strh r0, [r4, #2] - ldrh r1, [r2] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #0xa - strh r0, [r6, #2] - ldrh r1, [r6] - cmp r1, r0 - bhs _080100E0 - ldrh r0, [r6, #2] - subs r0, r0, r1 - muls r0, r7, r0 - asrs r0, r0, #5 - adds r1, r1, r0 - strh r1, [r6] - b _080100EE - .align 2, 0 + mov r0, ip + lsls r3, r0, #1 + mov r1, sb + adds r2, r3, r1 + ldrh r1, [r2] + movs r0, #0x1f + ands r0, r1 + strh r0, [r5] + ldrh r1, [r2] + movs r0, #0xf8 + lsls r0, r0, #2 + ands r0, r1 + lsrs r0, r0, #5 + strh r0, [r4] + ldrh r1, [r2] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #0xa + strh r0, [r6] + movs r2, #0x80 + lsls r2, r2, #3 + add r2, sb + adds r2, r3, r2 + ldrh r1, [r2] + movs r0, #0x1f + ands r0, r1 + strh r0, [r5, #2] + ldrh r1, [r2] + movs r0, #0xf8 + lsls r0, r0, #2 + ands r0, r1 + lsrs r0, r0, #5 + strh r0, [r4, #2] + ldrh r1, [r2] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #0xa + strh r0, [r6, #2] + ldrh r1, [r6] + cmp r1, r0 + bhs _080100E0 + ldrh r0, [r6, #2] + subs r0, r0, r1 + muls r0, r7, r0 + asrs r0, r0, #5 + adds r1, r1, r0 + strh r1, [r6] + b _080100EE + .align 2, 0 _080100D8: .4byte 0x0000FFFC _080100DC: .4byte 0x0201A520 _080100E0: - ldrh r0, [r6] - ldrh r1, [r6, #2] - subs r1, r0, r1 - muls r1, r7, r1 - asrs r1, r1, #5 - subs r0, r0, r1 - strh r0, [r6] + ldrh r0, [r6] + ldrh r1, [r6, #2] + subs r1, r0, r1 + muls r1, r7, r1 + asrs r1, r1, #5 + subs r0, r0, r1 + strh r0, [r6] _080100EE: - ldrh r1, [r4, #2] - ldrh r0, [r4] - cmp r0, r1 - bhs _08010106 - ldrh r0, [r4, #2] - ldrh r1, [r4] - subs r0, r0, r1 - muls r0, r7, r0 - asrs r0, r0, #5 - adds r1, r1, r0 - strh r1, [r4] - b _08010114 + ldrh r1, [r4, #2] + ldrh r0, [r4] + cmp r0, r1 + bhs _08010106 + ldrh r0, [r4, #2] + ldrh r1, [r4] + subs r0, r0, r1 + muls r0, r7, r0 + asrs r0, r0, #5 + adds r1, r1, r0 + strh r1, [r4] + b _08010114 _08010106: - ldrh r0, [r4] - ldrh r1, [r4, #2] - subs r1, r0, r1 - muls r1, r7, r1 - asrs r1, r1, #5 - subs r0, r0, r1 - strh r0, [r4] + ldrh r0, [r4] + ldrh r1, [r4, #2] + subs r1, r0, r1 + muls r1, r7, r1 + asrs r1, r1, #5 + subs r0, r0, r1 + strh r0, [r4] _08010114: - ldrh r1, [r5, #2] - ldrh r0, [r5] - cmp r0, r1 - bhs _0801012C - ldrh r0, [r5, #2] - ldrh r1, [r5] - subs r0, r0, r1 - muls r0, r7, r0 - asrs r0, r0, #5 - adds r1, r1, r0 - strh r1, [r5] - b _0801013A + ldrh r1, [r5, #2] + ldrh r0, [r5] + cmp r0, r1 + bhs _0801012C + ldrh r0, [r5, #2] + ldrh r1, [r5] + subs r0, r0, r1 + muls r0, r7, r0 + asrs r0, r0, #5 + adds r1, r1, r0 + strh r1, [r5] + b _0801013A _0801012C: - ldrh r0, [r5] - ldrh r1, [r5, #2] - subs r1, r0, r1 - muls r1, r7, r1 - asrs r1, r1, #5 - subs r0, r0, r1 - strh r0, [r5] + ldrh r0, [r5] + ldrh r1, [r5, #2] + subs r1, r0, r1 + muls r1, r7, r1 + asrs r1, r1, #5 + subs r0, r0, r1 + strh r0, [r5] _0801013A: - movs r2, #0x80 - lsls r2, r2, #4 - add r2, sb - adds r2, r3, r2 - ldrh r1, [r6] - lsls r1, r1, #0xa - ldrh r0, [r4] - lsls r0, r0, #5 - orrs r1, r0 - ldrh r0, [r5] - orrs r1, r0 - strh r1, [r2] - mov r0, ip - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov ip, r0 - cmp ip, r8 - blo _08010076 + movs r2, #0x80 + lsls r2, r2, #4 + add r2, sb + adds r2, r3, r2 + ldrh r1, [r6] + lsls r1, r1, #0xa + ldrh r0, [r4] + lsls r0, r0, #5 + orrs r1, r0 + ldrh r0, [r5] + orrs r1, r0 + strh r1, [r2] + mov r0, ip + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov ip, r0 + cmp ip, r8 + blo _08010076 _08010160: - 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 - - thumb_func_start sub_10170 + 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 + + thumb_func_start sub_10170 sub_10170: @ 0x08010170 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x14 - str r1, [sp, #0x10] - lsls r2, r2, #0x10 - lsrs r1, r2, #0x10 - mov r8, r1 - lsls r3, r3, #0x10 - lsrs r3, r3, #0x10 - mov ip, r3 - ldr r1, _08010298 @ =0x040000D4 - str r0, [r1] - ldr r4, _0801029C @ =0x0201A520 - str r4, [r1, #4] - lsrs r2, r2, #0x11 - movs r0, #0x80 - lsls r0, r0, #0x18 - orrs r0, r2 - str r0, [r1, #8] - ldr r0, [r1, #8] - add r3, sp, #0xc - movs r0, #0 - strh r0, [r3] - str r3, [r1] - movs r0, #0x80 - lsls r0, r0, #3 - adds r3, r4, r0 - str r3, [r1, #4] - movs r0, #0x81 - lsls r0, r0, #0x18 - orrs r2, r0 - str r2, [r1, #8] - ldr r0, [r1, #8] - movs r7, #0 - cmp r7, r8 - bhs _08010270 - add r5, sp, #8 - add r4, sp, #4 - movs r1, #0xf8 - lsls r1, r1, #2 - mov sl, r1 - mov r6, sp - movs r0, #0xf8 - lsls r0, r0, #7 - mov sb, r0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x14 + str r1, [sp, #0x10] + lsls r2, r2, #0x10 + lsrs r1, r2, #0x10 + mov r8, r1 + lsls r3, r3, #0x10 + lsrs r3, r3, #0x10 + mov ip, r3 + ldr r1, _08010298 @ =0x040000D4 + str r0, [r1] + ldr r4, _0801029C @ =0x0201A520 + str r4, [r1, #4] + lsrs r2, r2, #0x11 + movs r0, #0x80 + lsls r0, r0, #0x18 + orrs r0, r2 + str r0, [r1, #8] + ldr r0, [r1, #8] + add r3, sp, #0xc + movs r0, #0 + strh r0, [r3] + str r3, [r1] + movs r0, #0x80 + lsls r0, r0, #3 + adds r3, r4, r0 + str r3, [r1, #4] + movs r0, #0x81 + lsls r0, r0, #0x18 + orrs r2, r0 + str r2, [r1, #8] + ldr r0, [r1, #8] + movs r7, #0 + cmp r7, r8 + bhs _08010270 + add r5, sp, #8 + add r4, sp, #4 + movs r1, #0xf8 + lsls r1, r1, #2 + mov sl, r1 + mov r6, sp + movs r0, #0xf8 + lsls r0, r0, #7 + mov sb, r0 _080101D0: - lsls r3, r7, #1 - ldr r1, _0801029C @ =0x0201A520 - adds r2, r3, r1 - ldrh r1, [r2] - movs r0, #0x1f - ands r0, r1 - strh r0, [r5] - ldrh r1, [r2] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #5 - strh r0, [r4] - ldrh r1, [r2] - mov r0, sb - ands r0, r1 - lsrs r0, r0, #0xa - strh r0, [r6] - ldr r0, _080102A0 @ =0x0201A920 - adds r2, r3, r0 - ldrh r1, [r2] - movs r0, #0x1f - ands r0, r1 - strh r0, [r5, #2] - ldrh r1, [r2] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #5 - strh r0, [r4, #2] - ldrh r1, [r2] - mov r0, sb - ands r0, r1 - lsrs r1, r0, #0xa - strh r1, [r6, #2] - ldrh r0, [r6] - cmp r0, r1 - bls _08010222 - adds r1, r0, #0 - mov r0, ip - muls r0, r1, r0 - asrs r0, r0, #5 - subs r1, r1, r0 + lsls r3, r7, #1 + ldr r1, _0801029C @ =0x0201A520 + adds r2, r3, r1 + ldrh r1, [r2] + movs r0, #0x1f + ands r0, r1 + strh r0, [r5] + ldrh r1, [r2] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #5 + strh r0, [r4] + ldrh r1, [r2] + mov r0, sb + ands r0, r1 + lsrs r0, r0, #0xa + strh r0, [r6] + ldr r0, _080102A0 @ =0x0201A920 + adds r2, r3, r0 + ldrh r1, [r2] + movs r0, #0x1f + ands r0, r1 + strh r0, [r5, #2] + ldrh r1, [r2] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #5 + strh r0, [r4, #2] + ldrh r1, [r2] + mov r0, sb + ands r0, r1 + lsrs r1, r0, #0xa + strh r1, [r6, #2] + ldrh r0, [r6] + cmp r0, r1 + bls _08010222 + adds r1, r0, #0 + mov r0, ip + muls r0, r1, r0 + asrs r0, r0, #5 + subs r1, r1, r0 _08010222: - strh r1, [r6] - ldrh r1, [r4, #2] - ldrh r0, [r4] - cmp r0, r1 - bls _08010236 - adds r1, r0, #0 - mov r0, ip - muls r0, r1, r0 - asrs r0, r0, #5 - subs r1, r1, r0 + strh r1, [r6] + ldrh r1, [r4, #2] + ldrh r0, [r4] + cmp r0, r1 + bls _08010236 + adds r1, r0, #0 + mov r0, ip + muls r0, r1, r0 + asrs r0, r0, #5 + subs r1, r1, r0 _08010236: - strh r1, [r4] - ldrh r1, [r5, #2] - ldrh r0, [r5] - cmp r0, r1 - bls _0801024A - adds r1, r0, #0 - mov r0, ip - muls r0, r1, r0 - asrs r0, r0, #5 - subs r1, r1, r0 + strh r1, [r4] + ldrh r1, [r5, #2] + ldrh r0, [r5] + cmp r0, r1 + bls _0801024A + adds r1, r0, #0 + mov r0, ip + muls r0, r1, r0 + asrs r0, r0, #5 + subs r1, r1, r0 _0801024A: - strh r1, [r5] - ldr r1, _0801029C @ =0x0201A520 - movs r0, #0x80 - lsls r0, r0, #4 - adds r2, r1, r0 - adds r2, r3, r2 - ldrh r1, [r6] - lsls r1, r1, #0xa - ldrh r0, [r4] - lsls r0, r0, #5 - orrs r1, r0 - ldrh r0, [r5] - orrs r1, r0 - strh r1, [r2] - adds r0, r7, #1 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - cmp r7, r8 - blo _080101D0 + strh r1, [r5] + ldr r1, _0801029C @ =0x0201A520 + movs r0, #0x80 + lsls r0, r0, #4 + adds r2, r1, r0 + adds r2, r3, r2 + ldrh r1, [r6] + lsls r1, r1, #0xa + ldrh r0, [r4] + lsls r0, r0, #5 + orrs r1, r0 + ldrh r0, [r5] + orrs r1, r0 + strh r1, [r2] + adds r0, r7, #1 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + cmp r7, r8 + blo _080101D0 _08010270: - ldr r2, _08010298 @ =0x040000D4 - ldr r1, _080102A4 @ =0x0201AD20 - str r1, [r2] - ldr r0, [sp, #0x10] - str r0, [r2, #4] - mov r1, r8 - lsrs r0, r1, #1 - movs r1, #0x80 - lsls r1, r1, #0x18 - orrs r0, r1 - str r0, [r2, #8] - ldr r0, [r2, #8] - 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 + ldr r2, _08010298 @ =0x040000D4 + ldr r1, _080102A4 @ =0x0201AD20 + str r1, [r2] + ldr r0, [sp, #0x10] + str r0, [r2, #4] + mov r1, r8 + lsrs r0, r1, #1 + movs r1, #0x80 + lsls r1, r1, #0x18 + orrs r0, r1 + str r0, [r2, #8] + ldr r0, [r2, #8] + 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 _08010298: .4byte 0x040000D4 _0801029C: .4byte 0x0201A520 _080102A0: .4byte 0x0201A920 _080102A4: .4byte 0x0201AD20 - thumb_func_start sub_102A8 + thumb_func_start sub_102A8 sub_102A8: @ 0x080102A8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x14 - str r1, [sp, #0x10] - lsls r2, r2, #0x10 - lsrs r1, r2, #0x10 - mov r8, r1 - lsls r3, r3, #0x10 - lsrs r7, r3, #0x10 - ldr r1, _08010368 @ =0x040000D4 - str r0, [r1] - ldr r4, _0801036C @ =0x0201A520 - str r4, [r1, #4] - lsrs r2, r2, #0x11 - movs r0, #0x80 - lsls r0, r0, #0x18 - orrs r0, r2 - str r0, [r1, #8] - ldr r0, [r1, #8] - add r3, sp, #0xc - ldr r5, _08010370 @ =0x00007FFF - adds r0, r5, #0 - strh r0, [r3] - str r3, [r1] - movs r3, #0x80 - lsls r3, r3, #3 - adds r0, r4, r3 - str r0, [r1, #4] - movs r0, #0x81 - lsls r0, r0, #0x18 - orrs r2, r0 - str r2, [r1, #8] - ldr r0, [r1, #8] - movs r5, #0 - mov ip, r5 - cmp ip, r8 - bhs _080103F4 - add r5, sp, #8 - mov sb, r4 - add r4, sp, #4 - mov r6, sp - movs r0, #0xf8 - lsls r0, r0, #7 - mov sl, r0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x14 + str r1, [sp, #0x10] + lsls r2, r2, #0x10 + lsrs r1, r2, #0x10 + mov r8, r1 + lsls r3, r3, #0x10 + lsrs r7, r3, #0x10 + ldr r1, _08010368 @ =0x040000D4 + str r0, [r1] + ldr r4, _0801036C @ =0x0201A520 + str r4, [r1, #4] + lsrs r2, r2, #0x11 + movs r0, #0x80 + lsls r0, r0, #0x18 + orrs r0, r2 + str r0, [r1, #8] + ldr r0, [r1, #8] + add r3, sp, #0xc + ldr r5, _08010370 @ =0x00007FFF + adds r0, r5, #0 + strh r0, [r3] + str r3, [r1] + movs r3, #0x80 + lsls r3, r3, #3 + adds r0, r4, r3 + str r0, [r1, #4] + movs r0, #0x81 + lsls r0, r0, #0x18 + orrs r2, r0 + str r2, [r1, #8] + ldr r0, [r1, #8] + movs r5, #0 + mov ip, r5 + cmp ip, r8 + bhs _080103F4 + add r5, sp, #8 + mov sb, r4 + add r4, sp, #4 + mov r6, sp + movs r0, #0xf8 + lsls r0, r0, #7 + mov sl, r0 _08010306: - mov r1, ip - lsls r3, r1, #1 - mov r0, sb - adds r2, r3, r0 - ldrh r1, [r2] - movs r0, #0x1f - ands r0, r1 - strh r0, [r5] - ldrh r1, [r2] - movs r0, #0xf8 - lsls r0, r0, #2 - ands r0, r1 - lsrs r0, r0, #5 - strh r0, [r4] - ldrh r1, [r2] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #0xa - strh r0, [r6] - movs r2, #0x80 - lsls r2, r2, #3 - add r2, sb - adds r2, r3, r2 - ldrh r1, [r2] - movs r0, #0x1f - ands r0, r1 - strh r0, [r5, #2] - ldrh r1, [r2] - movs r0, #0xf8 - lsls r0, r0, #2 - ands r0, r1 - lsrs r0, r0, #5 - strh r0, [r4, #2] - ldrh r1, [r2] - mov r0, sl - ands r0, r1 - lsrs r0, r0, #0xa - strh r0, [r6, #2] - ldrh r1, [r6] - cmp r1, r0 - bhs _08010374 - ldrh r0, [r6, #2] - subs r0, r0, r1 - muls r0, r7, r0 - asrs r0, r0, #5 - adds r1, r1, r0 - strh r1, [r6] - b _08010382 - .align 2, 0 + mov r1, ip + lsls r3, r1, #1 + mov r0, sb + adds r2, r3, r0 + ldrh r1, [r2] + movs r0, #0x1f + ands r0, r1 + strh r0, [r5] + ldrh r1, [r2] + movs r0, #0xf8 + lsls r0, r0, #2 + ands r0, r1 + lsrs r0, r0, #5 + strh r0, [r4] + ldrh r1, [r2] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #0xa + strh r0, [r6] + movs r2, #0x80 + lsls r2, r2, #3 + add r2, sb + adds r2, r3, r2 + ldrh r1, [r2] + movs r0, #0x1f + ands r0, r1 + strh r0, [r5, #2] + ldrh r1, [r2] + movs r0, #0xf8 + lsls r0, r0, #2 + ands r0, r1 + lsrs r0, r0, #5 + strh r0, [r4, #2] + ldrh r1, [r2] + mov r0, sl + ands r0, r1 + lsrs r0, r0, #0xa + strh r0, [r6, #2] + ldrh r1, [r6] + cmp r1, r0 + bhs _08010374 + ldrh r0, [r6, #2] + subs r0, r0, r1 + muls r0, r7, r0 + asrs r0, r0, #5 + adds r1, r1, r0 + strh r1, [r6] + b _08010382 + .align 2, 0 _08010368: .4byte 0x040000D4 _0801036C: .4byte 0x0201A520 _08010370: .4byte 0x00007FFF _08010374: - ldrh r0, [r6] - ldrh r1, [r6, #2] - subs r1, r0, r1 - muls r1, r7, r1 - asrs r1, r1, #5 - subs r0, r0, r1 - strh r0, [r6] + ldrh r0, [r6] + ldrh r1, [r6, #2] + subs r1, r0, r1 + muls r1, r7, r1 + asrs r1, r1, #5 + subs r0, r0, r1 + strh r0, [r6] _08010382: - ldrh r1, [r4, #2] - ldrh r0, [r4] - cmp r0, r1 - bhs _0801039A - ldrh r0, [r4, #2] - ldrh r1, [r4] - subs r0, r0, r1 - muls r0, r7, r0 - asrs r0, r0, #5 - adds r1, r1, r0 - strh r1, [r4] - b _080103A8 + ldrh r1, [r4, #2] + ldrh r0, [r4] + cmp r0, r1 + bhs _0801039A + ldrh r0, [r4, #2] + ldrh r1, [r4] + subs r0, r0, r1 + muls r0, r7, r0 + asrs r0, r0, #5 + adds r1, r1, r0 + strh r1, [r4] + b _080103A8 _0801039A: - ldrh r0, [r4] - ldrh r1, [r4, #2] - subs r1, r0, r1 - muls r1, r7, r1 - asrs r1, r1, #5 - subs r0, r0, r1 - strh r0, [r4] + ldrh r0, [r4] + ldrh r1, [r4, #2] + subs r1, r0, r1 + muls r1, r7, r1 + asrs r1, r1, #5 + subs r0, r0, r1 + strh r0, [r4] _080103A8: - ldrh r1, [r5, #2] - ldrh r0, [r5] - cmp r0, r1 - bhs _080103C0 - ldrh r0, [r5, #2] - ldrh r1, [r5] - subs r0, r0, r1 - muls r0, r7, r0 - asrs r0, r0, #5 - adds r1, r1, r0 - strh r1, [r5] - b _080103CE + ldrh r1, [r5, #2] + ldrh r0, [r5] + cmp r0, r1 + bhs _080103C0 + ldrh r0, [r5, #2] + ldrh r1, [r5] + subs r0, r0, r1 + muls r0, r7, r0 + asrs r0, r0, #5 + adds r1, r1, r0 + strh r1, [r5] + b _080103CE _080103C0: - ldrh r0, [r5] - ldrh r1, [r5, #2] - subs r1, r0, r1 - muls r1, r7, r1 - asrs r1, r1, #5 - subs r0, r0, r1 - strh r0, [r5] + ldrh r0, [r5] + ldrh r1, [r5, #2] + subs r1, r0, r1 + muls r1, r7, r1 + asrs r1, r1, #5 + subs r0, r0, r1 + strh r0, [r5] _080103CE: - movs r2, #0x80 - lsls r2, r2, #4 - add r2, sb - adds r2, r3, r2 - ldrh r1, [r6] - lsls r1, r1, #0xa - ldrh r0, [r4] - lsls r0, r0, #5 - orrs r1, r0 - ldrh r0, [r5] - orrs r1, r0 - strh r1, [r2] - mov r0, ip - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov ip, r0 - cmp ip, r8 - blo _08010306 + movs r2, #0x80 + lsls r2, r2, #4 + add r2, sb + adds r2, r3, r2 + ldrh r1, [r6] + lsls r1, r1, #0xa + ldrh r0, [r4] + lsls r0, r0, #5 + orrs r1, r0 + ldrh r0, [r5] + orrs r1, r0 + strh r1, [r2] + mov r0, ip + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov ip, r0 + cmp ip, r8 + blo _08010306 _080103F4: - ldr r2, _0801041C @ =0x040000D4 - ldr r1, _08010420 @ =0x0201AD20 - str r1, [r2] - ldr r3, [sp, #0x10] - str r3, [r2, #4] - mov r5, r8 - lsrs r0, r5, #1 - movs r1, #0x80 - lsls r1, r1, #0x18 - orrs r0, r1 - str r0, [r2, #8] - ldr r0, [r2, #8] - 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 + ldr r2, _0801041C @ =0x040000D4 + ldr r1, _08010420 @ =0x0201AD20 + str r1, [r2] + ldr r3, [sp, #0x10] + str r3, [r2, #4] + mov r5, r8 + lsrs r0, r5, #1 + movs r1, #0x80 + lsls r1, r1, #0x18 + orrs r0, r1 + str r0, [r2, #8] + ldr r0, [r2, #8] + 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 _0801041C: .4byte 0x040000D4 _08010420: .4byte 0x0201AD20 - thumb_func_start sub_10424 + thumb_func_start sub_10424 sub_10424: @ 0x08010424 - push {r4, r5, r6, lr} - ldr r4, _08010470 @ =0x04000054 - movs r3, #0x10 - strh r3, [r4] - ldr r6, _08010474 @ =0x04000050 - movs r2, #0x80 - lsls r2, r2, #0x13 - ldrh r1, [r2] - movs r0, #0xf8 - lsls r0, r0, #5 - ands r0, r1 - lsrs r0, r0, #8 - movs r1, #0xa0 - orrs r0, r1 - strh r0, [r6] - ldrh r1, [r2] - ldr r0, _08010478 @ =0x0000FF7F - ands r0, r1 - strh r0, [r2] - ldr r1, _0801047C @ =0x0200B0C0 - ldrh r0, [r2] - movs r5, #0 - strh r0, [r1, #0x16] - strh r3, [r4] - bl sub_D74 - movs r0, #8 - strh r0, [r4] - bl sub_D74 - strh r5, [r4] - bl sub_D74 - strh r5, [r6] - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + ldr r4, _08010470 @ =0x04000054 + movs r3, #0x10 + strh r3, [r4] + ldr r6, _08010474 @ =0x04000050 + movs r2, #0x80 + lsls r2, r2, #0x13 + ldrh r1, [r2] + movs r0, #0xf8 + lsls r0, r0, #5 + ands r0, r1 + lsrs r0, r0, #8 + movs r1, #0xa0 + orrs r0, r1 + strh r0, [r6] + ldrh r1, [r2] + ldr r0, _08010478 @ =0x0000FF7F + ands r0, r1 + strh r0, [r2] + ldr r1, _0801047C @ =0x0200B0C0 + ldrh r0, [r2] + movs r5, #0 + strh r0, [r1, #0x16] + strh r3, [r4] + bl sub_D74 + movs r0, #8 + strh r0, [r4] + bl sub_D74 + strh r5, [r4] + bl sub_D74 + strh r5, [r6] + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08010470: .4byte 0x04000054 _08010474: .4byte 0x04000050 _08010478: .4byte 0x0000FF7F _0801047C: .4byte 0x0200B0C0 - thumb_func_start sub_10480 + thumb_func_start sub_10480 sub_10480: @ 0x08010480 - push {r4, r5, lr} - sub sp, #4 - ldr r5, _080104F8 @ =0x04000054 - movs r4, #0 - strh r4, [r5] - ldr r2, _080104FC @ =0x04000050 - movs r0, #0x80 - lsls r0, r0, #0x13 - ldrh r1, [r0] - movs r0, #0xf8 - lsls r0, r0, #5 - ands r0, r1 - lsrs r0, r0, #8 - movs r1, #0xa0 - orrs r0, r1 - strh r0, [r2] - strh r4, [r5] - bl sub_D74 - movs r0, #8 - strh r0, [r5] - bl sub_D74 - movs r0, #0x10 - strh r0, [r5] - bl sub_D74 - mov r0, sp - strh r4, [r0] - ldr r1, _08010500 @ =0x040000D4 - str r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _08010504 @ =0x8100C000 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08010508 @ =0x04000010 - strh r4, [r0] - adds r0, #2 - strh r4, [r0] - adds r0, #2 - strh r4, [r0] - adds r0, #2 - strh r4, [r0] - adds r0, #2 - strh r4, [r0] - adds r0, #2 - strh r4, [r0] - adds r0, #2 - strh r4, [r0] - adds r0, #2 - strh r4, [r0] - bl sub_D74 - add sp, #4 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, lr} + sub sp, #4 + ldr r5, _080104F8 @ =0x04000054 + movs r4, #0 + strh r4, [r5] + ldr r2, _080104FC @ =0x04000050 + movs r0, #0x80 + lsls r0, r0, #0x13 + ldrh r1, [r0] + movs r0, #0xf8 + lsls r0, r0, #5 + ands r0, r1 + lsrs r0, r0, #8 + movs r1, #0xa0 + orrs r0, r1 + strh r0, [r2] + strh r4, [r5] + bl sub_D74 + movs r0, #8 + strh r0, [r5] + bl sub_D74 + movs r0, #0x10 + strh r0, [r5] + bl sub_D74 + mov r0, sp + strh r4, [r0] + ldr r1, _08010500 @ =0x040000D4 + str r0, [r1] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r1, #4] + ldr r0, _08010504 @ =0x8100C000 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08010508 @ =0x04000010 + strh r4, [r0] + adds r0, #2 + strh r4, [r0] + adds r0, #2 + strh r4, [r0] + adds r0, #2 + strh r4, [r0] + adds r0, #2 + strh r4, [r0] + adds r0, #2 + strh r4, [r0] + adds r0, #2 + strh r4, [r0] + adds r0, #2 + strh r4, [r0] + bl sub_D74 + add sp, #4 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _080104F8: .4byte 0x04000054 _080104FC: .4byte 0x04000050 _08010500: .4byte 0x040000D4 _08010504: .4byte 0x8100C000 _08010508: .4byte 0x04000010 - thumb_func_start sub_1050C + thumb_func_start sub_1050C sub_1050C: @ 0x0801050C - movs r1, #0x80 - lsls r1, r1, #0x13 - ldrh r2, [r1] - ldr r0, _08010520 @ =0x0000FF7F - ands r0, r2 - strh r0, [r1] - ldr r2, _08010524 @ =0x0200B0C0 - ldrh r0, [r1] - strh r0, [r2, #0x16] - bx lr - .align 2, 0 + movs r1, #0x80 + lsls r1, r1, #0x13 + ldrh r2, [r1] + ldr r0, _08010520 @ =0x0000FF7F + ands r0, r2 + strh r0, [r1] + ldr r2, _08010524 @ =0x0200B0C0 + ldrh r0, [r1] + strh r0, [r2, #0x16] + bx lr + .align 2, 0 _08010520: .4byte 0x0000FF7F _08010524: .4byte 0x0200B0C0 - thumb_func_start sub_10528 + thumb_func_start sub_10528 sub_10528: @ 0x08010528 - ldr r1, _08010540 @ =0x0200B0C0 - ldrh r0, [r1, #0x16] - movs r2, #0x80 - orrs r0, r2 - strh r0, [r1, #0x16] - movs r1, #0x80 - lsls r1, r1, #0x13 - ldrh r0, [r1] - orrs r0, r2 - strh r0, [r1] - bx lr - .align 2, 0 + ldr r1, _08010540 @ =0x0200B0C0 + ldrh r0, [r1, #0x16] + movs r2, #0x80 + orrs r0, r2 + strh r0, [r1, #0x16] + movs r1, #0x80 + lsls r1, r1, #0x13 + ldrh r0, [r1] + orrs r0, r2 + strh r0, [r1] + bx lr + .align 2, 0 _08010540: .4byte 0x0200B0C0 - thumb_func_start sub_10544 + thumb_func_start sub_10544 sub_10544: @ 0x08010544 - ldr r1, _08010580 @ =0x04000004 - ldrh r2, [r1] - ldr r0, _08010584 @ =0x0000FFF7 - ands r0, r2 - strh r0, [r1] - ldrh r2, [r1] - ldr r0, _08010588 @ =0x0000FFDF - ands r0, r2 - strh r0, [r1] - ldr r1, _0801058C @ =0x04000200 - ldrh r2, [r1] - ldr r0, _08010590 @ =0x00003FFF - ands r0, r2 - strh r0, [r1] - ldrh r2, [r1] - ldr r0, _08010594 @ =0x00003FFE - ands r0, r2 - strh r0, [r1] - ldrh r0, [r1] - adds r1, r0, #0 - cmp r1, #0 - bne _08010574 - ldr r0, _08010598 @ =0x04000208 - strh r1, [r0] + ldr r1, _08010580 @ =0x04000004 + ldrh r2, [r1] + ldr r0, _08010584 @ =0x0000FFF7 + ands r0, r2 + strh r0, [r1] + ldrh r2, [r1] + ldr r0, _08010588 @ =0x0000FFDF + ands r0, r2 + strh r0, [r1] + ldr r1, _0801058C @ =0x04000200 + ldrh r2, [r1] + ldr r0, _08010590 @ =0x00003FFF + ands r0, r2 + strh r0, [r1] + ldrh r2, [r1] + ldr r0, _08010594 @ =0x00003FFE + ands r0, r2 + strh r0, [r1] + ldrh r0, [r1] + adds r1, r0, #0 + cmp r1, #0 + bne _08010574 + ldr r0, _08010598 @ =0x04000208 + strh r1, [r0] _08010574: - ldr r0, _0801059C @ =0x04000202 - ldrh r1, [r0] - movs r2, #1 - orrs r1, r2 - strh r1, [r0] - bx lr - .align 2, 0 + ldr r0, _0801059C @ =0x04000202 + ldrh r1, [r0] + movs r2, #1 + orrs r1, r2 + strh r1, [r0] + bx lr + .align 2, 0 _08010580: .4byte 0x04000004 _08010584: .4byte 0x0000FFF7 _08010588: .4byte 0x0000FFDF @@ -32017,350 +32017,350 @@ _08010594: .4byte 0x00003FFE _08010598: .4byte 0x04000208 _0801059C: .4byte 0x04000202 - thumb_func_start sub_105A0 + thumb_func_start sub_105A0 sub_105A0: @ 0x080105A0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r4, [sp, #0x24] - mov ip, r4 - ldr r4, [sp, #0x28] - mov sb, r4 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r0, [sp] - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov sl, r1 - movs r1, #0 - cmp r1, sb - bge _08010602 - lsls r0, r3, #5 - adds r0, r0, r2 - mov r8, r0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r4, [sp, #0x24] + mov ip, r4 + ldr r4, [sp, #0x28] + mov sb, r4 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r0, [sp] + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + mov sl, r1 + movs r1, #0 + cmp r1, sb + bge _08010602 + lsls r0, r3, #5 + adds r0, r0, r2 + mov r8, r0 _080105CC: - movs r2, #0 - adds r6, r1, #1 - cmp r2, ip - bge _080105FA - ldr r7, _08010614 @ =0x03005C00 - lsls r0, r1, #5 - mov r1, r8 - adds r5, r1, r0 - ldr r1, [sp] - adds r4, r1, r0 - mov r0, sl - lsls r3, r0, #0xc + movs r2, #0 + adds r6, r1, #1 + cmp r2, ip + bge _080105FA + ldr r7, _08010614 @ =0x03005C00 + lsls r0, r1, #5 + mov r1, r8 + adds r5, r1, r0 + ldr r1, [sp] + adds r4, r1, r0 + mov r0, sl + lsls r3, r0, #0xc _080105E4: - adds r0, r5, r2 - lsls r0, r0, #1 - adds r0, r0, r7 - adds r1, r2, r4 - orrs r1, r3 - strh r1, [r0] - adds r0, r2, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - cmp r2, ip - blt _080105E4 + adds r0, r5, r2 + lsls r0, r0, #1 + adds r0, r0, r7 + adds r1, r2, r4 + orrs r1, r3 + strh r1, [r0] + adds r0, r2, #1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + cmp r2, ip + blt _080105E4 _080105FA: - lsls r0, r6, #0x10 - lsrs r1, r0, #0x10 - cmp r1, sb - blt _080105CC + lsls r0, r6, #0x10 + lsrs r1, r0, #0x10 + cmp r1, sb + blt _080105CC _08010602: - 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 + 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 _08010614: .4byte 0x03005C00 - thumb_func_start sub_10618 + thumb_func_start sub_10618 sub_10618: @ 0x08010618 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r5, r0, #0 - adds r4, r1, #0 - ldr r7, [sp, #0x20] - ldr r0, [sp, #0x24] - mov ip, r0 - movs r1, #0 - cmp r1, ip - bge _08010678 - ldr r0, _08010688 @ =0x03005C00 - mov sl, r0 - lsls r0, r3, #5 - adds r0, r0, r2 - mov sb, r0 - lsls r0, r4, #5 - adds r0, r0, r5 - mov r8, r0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + adds r5, r0, #0 + adds r4, r1, #0 + ldr r7, [sp, #0x20] + ldr r0, [sp, #0x24] + mov ip, r0 + movs r1, #0 + cmp r1, ip + bge _08010678 + ldr r0, _08010688 @ =0x03005C00 + mov sl, r0 + lsls r0, r3, #5 + adds r0, r0, r2 + mov sb, r0 + lsls r0, r4, #5 + adds r0, r0, r5 + mov r8, r0 _08010642: - movs r2, #0 - adds r6, r1, #1 - cmp r2, r7 - bge _08010670 - mov r4, sl - lsls r0, r1, #5 - mov r1, sb - adds r5, r1, r0 - mov r1, r8 - adds r3, r1, r0 + movs r2, #0 + adds r6, r1, #1 + cmp r2, r7 + bge _08010670 + mov r4, sl + lsls r0, r1, #5 + mov r1, sb + adds r5, r1, r0 + mov r1, r8 + adds r3, r1, r0 _08010656: - adds r1, r5, r2 - lsls r1, r1, #1 - adds r1, r1, r4 - adds r0, r3, r2 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - cmp r2, r7 - blt _08010656 + adds r1, r5, r2 + lsls r1, r1, #1 + adds r1, r1, r4 + adds r0, r3, r2 + lsls r0, r0, #1 + adds r0, r0, r4 + ldrh r0, [r0] + strh r0, [r1] + adds r0, r2, #1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + cmp r2, r7 + blt _08010656 _08010670: - lsls r0, r6, #0x10 - lsrs r1, r0, #0x10 - cmp r1, ip - blt _08010642 + lsls r0, r6, #0x10 + lsrs r1, r0, #0x10 + cmp r1, ip + blt _08010642 _08010678: - 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 + 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 _08010688: .4byte 0x03005C00 - thumb_func_start sub_1068C + thumb_func_start sub_1068C sub_1068C: @ 0x0801068C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - adds r4, r0, #0 - adds r7, r2, #0 - mov sb, r3 - ldr r0, [sp, #0x24] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r0, [sp] - movs r2, #0 - cmp r2, sb - bge _080106F0 - lsls r0, r1, #5 - adds r0, r0, r4 - mov sl, r0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + adds r4, r0, #0 + adds r7, r2, #0 + mov sb, r3 + ldr r0, [sp, #0x24] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r0, [sp] + movs r2, #0 + cmp r2, sb + bge _080106F0 + lsls r0, r1, #5 + adds r0, r0, r4 + mov sl, r0 _080106B2: - movs r3, #0 - adds r6, r2, #1 - cmp r3, r7 - bge _080106E8 - lsls r0, r2, #5 - mov r1, sl - adds r5, r1, r0 - ldr r0, _08010700 @ =0x03005C00 - mov ip, r0 - ldr r1, _08010704 @ =0x00000FFF - mov r8, r1 - ldr r0, [sp] - lsls r4, r0, #0xc + movs r3, #0 + adds r6, r2, #1 + cmp r3, r7 + bge _080106E8 + lsls r0, r2, #5 + mov r1, sl + adds r5, r1, r0 + ldr r0, _08010700 @ =0x03005C00 + mov ip, r0 + ldr r1, _08010704 @ =0x00000FFF + mov r8, r1 + ldr r0, [sp] + lsls r4, r0, #0xc _080106CC: - adds r1, r3, r5 - lsls r1, r1, #0x10 - lsrs r1, r1, #0xf - add r1, ip - ldrh r2, [r1] - mov r0, r8 - ands r0, r2 - orrs r0, r4 - strh r0, [r1] - adds r0, r3, #1 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - cmp r3, r7 - blt _080106CC + adds r1, r3, r5 + lsls r1, r1, #0x10 + lsrs r1, r1, #0xf + add r1, ip + ldrh r2, [r1] + mov r0, r8 + ands r0, r2 + orrs r0, r4 + strh r0, [r1] + adds r0, r3, #1 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + cmp r3, r7 + blt _080106CC _080106E8: - lsls r0, r6, #0x10 - lsrs r2, r0, #0x10 - cmp r2, sb - blt _080106B2 + lsls r0, r6, #0x10 + lsrs r2, r0, #0x10 + cmp r2, sb + blt _080106B2 _080106F0: - 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 + 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 _08010700: .4byte 0x03005C00 _08010704: .4byte 0x00000FFF - thumb_func_start sub_10708 + thumb_func_start sub_10708 sub_10708: @ 0x08010708 - push {r4, r5, lr} - sub sp, #8 - str r0, [sp] - str r1, [sp, #4] - lsls r2, r2, #0x10 - lsrs r0, r2, #0x10 - movs r4, #0 - lsls r3, r3, #0x10 - asrs r1, r3, #0x10 - cmp r4, r1 - bge _08010744 - ldr r2, _0801074C @ =0x040000D4 - lsls r0, r0, #0x10 - asrs r3, r0, #0xc - movs r0, #0x80 - lsls r0, r0, #0x18 - orrs r3, r0 - adds r5, r1, #0 + push {r4, r5, lr} + sub sp, #8 + str r0, [sp] + str r1, [sp, #4] + lsls r2, r2, #0x10 + lsrs r0, r2, #0x10 + movs r4, #0 + lsls r3, r3, #0x10 + asrs r1, r3, #0x10 + cmp r4, r1 + bge _08010744 + ldr r2, _0801074C @ =0x040000D4 + lsls r0, r0, #0x10 + asrs r3, r0, #0xc + movs r0, #0x80 + lsls r0, r0, #0x18 + orrs r3, r0 + adds r5, r1, #0 _0801072C: - lsls r1, r4, #0xa - ldr r0, [sp] - adds r0, r0, r1 - str r0, [r2] - ldr r0, [sp, #4] - adds r0, r0, r1 - str r0, [r2, #4] - str r3, [r2, #8] - ldr r0, [r2, #8] - adds r4, #1 - cmp r4, r5 - blt _0801072C + lsls r1, r4, #0xa + ldr r0, [sp] + adds r0, r0, r1 + str r0, [r2] + ldr r0, [sp, #4] + adds r0, r0, r1 + str r0, [r2, #4] + str r3, [r2, #8] + ldr r0, [r2, #8] + adds r4, #1 + cmp r4, r5 + blt _0801072C _08010744: - add sp, #8 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + add sp, #8 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0801074C: .4byte 0x040000D4 - thumb_func_start sub_10750 + thumb_func_start sub_10750 sub_10750: @ 0x08010750 - push {r4, r5, lr} - sub sp, #8 - str r0, [sp] - str r1, [sp, #4] - lsls r2, r2, #0x10 - lsrs r0, r2, #0x10 - movs r4, #0 - lsls r3, r3, #0x10 - asrs r1, r3, #0x10 - cmp r4, r1 - bge _0801078C - ldr r2, _08010794 @ =0x040000D4 - lsls r0, r0, #0x10 - asrs r3, r0, #0x10 - movs r0, #0x80 - lsls r0, r0, #0x18 - orrs r3, r0 - adds r5, r1, #0 + push {r4, r5, lr} + sub sp, #8 + str r0, [sp] + str r1, [sp, #4] + lsls r2, r2, #0x10 + lsrs r0, r2, #0x10 + movs r4, #0 + lsls r3, r3, #0x10 + asrs r1, r3, #0x10 + cmp r4, r1 + bge _0801078C + ldr r2, _08010794 @ =0x040000D4 + lsls r0, r0, #0x10 + asrs r3, r0, #0x10 + movs r0, #0x80 + lsls r0, r0, #0x18 + orrs r3, r0 + adds r5, r1, #0 _08010774: - lsls r1, r4, #6 - ldr r0, [sp] - adds r0, r0, r1 - str r0, [r2] - ldr r0, [sp, #4] - adds r0, r0, r1 - str r0, [r2, #4] - str r3, [r2, #8] - ldr r0, [r2, #8] - adds r4, #1 - cmp r4, r5 - blt _08010774 + lsls r1, r4, #6 + ldr r0, [sp] + adds r0, r0, r1 + str r0, [r2] + ldr r0, [sp, #4] + adds r0, r0, r1 + str r0, [r2, #4] + str r3, [r2, #8] + ldr r0, [r2, #8] + adds r4, #1 + cmp r4, r5 + blt _08010774 _0801078C: - add sp, #8 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + add sp, #8 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08010794: .4byte 0x040000D4 - thumb_func_start sub_10798 + thumb_func_start sub_10798 sub_10798: @ 0x08010798 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #4 - mov r8, r2 - ldr r4, _08010818 @ =0x040000D4 - str r0, [r4] - ldr r2, _0801081C @ =0x0201A920 - str r2, [r4, #4] - ldr r0, _08010820 @ =0x80000100 - str r0, [r4, #8] - ldr r3, [r4, #8] - str r1, [r4] - movs r1, #0x80 - lsls r1, r1, #3 - adds r3, r2, r1 - str r3, [r4, #4] - str r0, [r4, #8] - ldr r0, [r4, #8] - mov r1, sp - ldr r5, _08010824 @ =0x00007FFF - adds r0, r5, #0 - strh r0, [r1] - str r1, [r4] - ldr r0, _08010828 @ =0xFFFFFC00 - adds r2, r2, r0 - str r2, [r4, #4] - ldr r0, _0801082C @ =0x81000200 - str r0, [r4, #8] - ldr r0, [r4, #8] - str r2, [r4] - str r3, [r4, #4] - ldr r5, _08010830 @ =0x80000200 - str r5, [r4, #8] - ldr r0, [r4, #8] - str r3, [r4] - movs r6, #0xa0 - lsls r6, r6, #0x13 - str r6, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - bl sub_1050C - ldr r1, _08010834 @ =0x0200B0C0 - movs r0, #0x80 - lsls r0, r0, #0x13 - ldrh r0, [r0] - strh r0, [r1, #0x16] - movs r7, #0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #4 + mov r8, r2 + ldr r4, _08010818 @ =0x040000D4 + str r0, [r4] + ldr r2, _0801081C @ =0x0201A920 + str r2, [r4, #4] + ldr r0, _08010820 @ =0x80000100 + str r0, [r4, #8] + ldr r3, [r4, #8] + str r1, [r4] + movs r1, #0x80 + lsls r1, r1, #3 + adds r3, r2, r1 + str r3, [r4, #4] + str r0, [r4, #8] + ldr r0, [r4, #8] + mov r1, sp + ldr r5, _08010824 @ =0x00007FFF + adds r0, r5, #0 + strh r0, [r1] + str r1, [r4] + ldr r0, _08010828 @ =0xFFFFFC00 + adds r2, r2, r0 + str r2, [r4, #4] + ldr r0, _0801082C @ =0x81000200 + str r0, [r4, #8] + ldr r0, [r4, #8] + str r2, [r4] + str r3, [r4, #4] + ldr r5, _08010830 @ =0x80000200 + str r5, [r4, #8] + ldr r0, [r4, #8] + str r3, [r4] + movs r6, #0xa0 + lsls r6, r6, #0x13 + str r6, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + bl sub_1050C + ldr r1, _08010834 @ =0x0200B0C0 + movs r0, #0x80 + lsls r0, r0, #0x13 + ldrh r0, [r0] + strh r0, [r1, #0x16] + movs r7, #0 _080107FA: - mov r1, r8 - cmp r1, #0 - beq _08010804 - bl _call_via_r8 + mov r1, r8 + cmp r1, #0 + beq _08010804 + bl _call_via_r8 _08010804: - adds r0, r7, #0 - bl sub_1001C - bl sub_D74 - cmp r7, #0x20 - bne _08010838 - ldr r0, _0801081C @ =0x0201A920 - b _0801083A - .align 2, 0 + adds r0, r7, #0 + bl sub_1001C + bl sub_D74 + cmp r7, #0x20 + bne _08010838 + ldr r0, _0801081C @ =0x0201A920 + b _0801083A + .align 2, 0 _08010818: .4byte 0x040000D4 _0801081C: .4byte 0x0201A920 _08010820: .4byte 0x80000100 @@ -32370,81 +32370,81 @@ _0801082C: .4byte 0x81000200 _08010830: .4byte 0x80000200 _08010834: .4byte 0x0200B0C0 _08010838: - ldr r0, _0801085C @ =0x0201AD20 + ldr r0, _0801085C @ =0x0201AD20 _0801083A: - str r0, [r4] - str r6, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - adds r0, r7, #0 - adds r0, #0x10 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - cmp r7, #0x20 - bls _080107FA - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + str r0, [r4] + str r6, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + adds r0, r7, #0 + adds r0, #0x10 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + cmp r7, #0x20 + bls _080107FA + add sp, #4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0801085C: .4byte 0x0201AD20 - thumb_func_start sub_10860 + thumb_func_start sub_10860 sub_10860: @ 0x08010860 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #4 - adds r5, r0, #0 - ldr r1, _080108C8 @ =0x040000D4 - movs r0, #0xa0 - lsls r0, r0, #0x13 - mov r8, r0 - str r0, [r1] - ldr r3, _080108CC @ =0x0201A520 - str r3, [r1, #4] - ldr r4, _080108D0 @ =0x80000200 - str r4, [r1, #8] - ldr r0, [r1, #8] - mov r2, sp - ldr r6, _080108D4 @ =0x00007FFF - adds r0, r6, #0 - strh r0, [r2] - str r2, [r1] - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r3, r2 - str r0, [r1, #4] - ldr r0, _080108D8 @ =0x81000200 - str r0, [r1, #8] - ldr r0, [r1, #8] - str r3, [r1] - movs r6, #0x80 - lsls r6, r6, #4 - adds r3, r3, r6 - str r3, [r1, #4] - str r4, [r1, #8] - ldr r0, [r1, #8] - movs r7, #0 - adds r6, r1, #0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #4 + adds r5, r0, #0 + ldr r1, _080108C8 @ =0x040000D4 + movs r0, #0xa0 + lsls r0, r0, #0x13 + mov r8, r0 + str r0, [r1] + ldr r3, _080108CC @ =0x0201A520 + str r3, [r1, #4] + ldr r4, _080108D0 @ =0x80000200 + str r4, [r1, #8] + ldr r0, [r1, #8] + mov r2, sp + ldr r6, _080108D4 @ =0x00007FFF + adds r0, r6, #0 + strh r0, [r2] + str r2, [r1] + movs r2, #0x80 + lsls r2, r2, #3 + adds r0, r3, r2 + str r0, [r1, #4] + ldr r0, _080108D8 @ =0x81000200 + str r0, [r1, #8] + ldr r0, [r1, #8] + str r3, [r1] + movs r6, #0x80 + lsls r6, r6, #4 + adds r3, r3, r6 + str r3, [r1, #4] + str r4, [r1, #8] + ldr r0, [r1, #8] + movs r7, #0 + adds r6, r1, #0 _080108A8: - cmp r5, #0 - beq _080108B0 - bl _call_via_r5 + cmp r5, #0 + beq _080108B0 + bl _call_via_r5 _080108B0: - adds r0, r7, #0 - bl sub_1001C - bl sub_D74 - cmp r7, #0x20 - bne _080108E0 - ldr r0, _080108DC @ =0x0201A920 - str r0, [r6] - mov r0, r8 - str r0, [r6, #4] - b _080108E8 - .align 2, 0 + adds r0, r7, #0 + bl sub_1001C + bl sub_D74 + cmp r7, #0x20 + bne _080108E0 + ldr r0, _080108DC @ =0x0201A920 + str r0, [r6] + mov r0, r8 + str r0, [r6, #4] + b _080108E8 + .align 2, 0 _080108C8: .4byte 0x040000D4 _080108CC: .4byte 0x0201A520 _080108D0: .4byte 0x80000200 @@ -32452,120 +32452,120 @@ _080108D4: .4byte 0x00007FFF _080108D8: .4byte 0x81000200 _080108DC: .4byte 0x0201A920 _080108E0: - ldr r0, _08010908 @ =0x0201AD20 - str r0, [r6] - mov r2, r8 - str r2, [r6, #4] + ldr r0, _08010908 @ =0x0201AD20 + str r0, [r6] + mov r2, r8 + str r2, [r6, #4] _080108E8: - str r4, [r6, #8] - ldr r0, [r6, #8] - adds r0, r7, #0 - adds r0, #0x10 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - cmp r7, #0x20 - bls _080108A8 - bl sub_D74 - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + str r4, [r6, #8] + ldr r0, [r6, #8] + adds r0, r7, #0 + adds r0, #0x10 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + cmp r7, #0x20 + bls _080108A8 + bl sub_D74 + add sp, #4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08010908: .4byte 0x0201AD20 - thumb_func_start sub_1090C + thumb_func_start sub_1090C sub_1090C: @ 0x0801090C - ldr r1, _08010920 @ =0x0201A500 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xc + ldr r1, _08010920 @ =0x0201A500 + movs r2, #0 + adds r0, r1, #0 + adds r0, #0xc _08010914: - str r2, [r0] - subs r0, #4 - cmp r0, r1 - bge _08010914 - bx lr - .align 2, 0 + str r2, [r0] + subs r0, #4 + cmp r0, r1 + bge _08010914 + bx lr + .align 2, 0 _08010920: .4byte 0x0201A500 - thumb_func_start sub_10924 + thumb_func_start sub_10924 sub_10924: @ 0x08010924 - push {lr} - ldr r1, _0801093C @ =0x08079890 - ldr r0, _08010940 @ =0x0200B0C0 - 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 + push {lr} + ldr r1, _0801093C @ =0x08079890 + ldr r0, _08010940 @ =0x0200B0C0 + 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 _0801093C: .4byte 0x08079890 _08010940: .4byte 0x0200B0C0 - thumb_func_start sub_10944 + thumb_func_start sub_10944 sub_10944: @ 0x08010944 - push {r4, r5, lr} - bl sub_438 - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x84 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _080109BC @ =0x0400000A - movs r0, #0x85 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #2 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r4, _080109C0 @ =0x0200B0C0 - ldrh r0, [r2] - strh r0, [r4, #0x16] - ldr r5, _080109C4 @ =0x040000D4 - ldr r0, _080109C8 @ =0x081216C0 - str r0, [r5] - ldr r0, _080109CC @ =0x06004000 - str r0, [r5, #4] - ldr r0, _080109D0 @ =0x80005000 - str r0, [r5, #8] - ldr r0, [r5, #8] - ldr r0, _080109D4 @ =0x081214C0 - str r0, [r5] - movs r0, #0xa0 - lsls r0, r0, #0x13 - str r0, [r5, #4] - ldr r0, _080109D8 @ =0x80000100 - str r0, [r5, #8] - ldr r0, [r5, #8] - ldr r0, _080109DC @ =0x08120CC0 - str r0, [r5] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r5, #4] - ldr r0, _080109E0 @ =0x80000400 - str r0, [r5, #8] - ldr r0, [r5, #8] - bl sub_52C44 - ldr r0, [r4, #0x40] - cmp r0, #1 - bne _080109F4 - ldr r0, _080109E4 @ =0x08137700 - str r0, [r5] - ldr r0, _080109E8 @ =0x05000200 - str r0, [r5, #4] - ldr r0, _080109EC @ =0x80000050 - str r0, [r5, #8] - ldr r0, [r5, #8] - ldr r0, _080109F0 @ =0x081306E0 - b _08010A04 - .align 2, 0 + push {r4, r5, lr} + bl sub_438 + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x84 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _080109BC @ =0x0400000A + movs r0, #0x85 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #2 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r4, _080109C0 @ =0x0200B0C0 + ldrh r0, [r2] + strh r0, [r4, #0x16] + ldr r5, _080109C4 @ =0x040000D4 + ldr r0, _080109C8 @ =0x081216C0 + str r0, [r5] + ldr r0, _080109CC @ =0x06004000 + str r0, [r5, #4] + ldr r0, _080109D0 @ =0x80005000 + str r0, [r5, #8] + ldr r0, [r5, #8] + ldr r0, _080109D4 @ =0x081214C0 + str r0, [r5] + movs r0, #0xa0 + lsls r0, r0, #0x13 + str r0, [r5, #4] + ldr r0, _080109D8 @ =0x80000100 + str r0, [r5, #8] + ldr r0, [r5, #8] + ldr r0, _080109DC @ =0x08120CC0 + str r0, [r5] + movs r0, #0xc0 + lsls r0, r0, #0x13 + str r0, [r5, #4] + ldr r0, _080109E0 @ =0x80000400 + str r0, [r5, #8] + ldr r0, [r5, #8] + bl sub_52C44 + ldr r0, [r4, #0x40] + cmp r0, #1 + bne _080109F4 + ldr r0, _080109E4 @ =0x08137700 + str r0, [r5] + ldr r0, _080109E8 @ =0x05000200 + str r0, [r5, #4] + ldr r0, _080109EC @ =0x80000050 + str r0, [r5, #8] + ldr r0, [r5, #8] + ldr r0, _080109F0 @ =0x081306E0 + b _08010A04 + .align 2, 0 _080109BC: .4byte 0x0400000A _080109C0: .4byte 0x0200B0C0 _080109C4: .4byte 0x040000D4 @@ -32581,56 +32581,56 @@ _080109E8: .4byte 0x05000200 _080109EC: .4byte 0x80000050 _080109F0: .4byte 0x081306E0 _080109F4: - ldr r0, _08010A5C @ =0x08137700 - str r0, [r5] - ldr r0, _08010A60 @ =0x05000200 - str r0, [r5, #4] - ldr r0, _08010A64 @ =0x80000050 - str r0, [r5, #8] - ldr r0, [r5, #8] - ldr r0, _08010A68 @ =0x081296C0 + ldr r0, _08010A5C @ =0x08137700 + str r0, [r5] + ldr r0, _08010A60 @ =0x05000200 + str r0, [r5, #4] + ldr r0, _08010A64 @ =0x80000050 + str r0, [r5, #8] + ldr r0, [r5, #8] + ldr r0, _08010A68 @ =0x081296C0 _08010A04: - str r0, [r5] - ldr r0, _08010A6C @ =0x06010000 - str r0, [r5, #4] - ldr r0, _08010A70 @ =0x80003800 - str r0, [r5, #8] - ldr r0, [r5, #8] - ldr r0, _08010A74 @ =0x0852B668 - str r0, [r5] - ldr r0, _08010A78 @ =0x050002A0 - str r0, [r5, #4] - ldr r0, _08010A7C @ =0x80000020 - str r0, [r5, #8] - ldr r0, [r5, #8] - ldr r0, _08010A80 @ =0x0852B868 - str r0, [r5] - ldr r0, _08010A84 @ =0x06017000 - str r0, [r5, #4] - ldr r0, _08010A88 @ =0x80000200 - str r0, [r5, #8] - ldr r0, [r5, #8] - bl sub_10AC0 - ldr r0, _08010A8C @ =0x0201A4B4 - movs r2, #0 - ldrsb r2, [r0, r2] - cmp r2, #1 - bne _08010A9C - ldr r1, _08010A90 @ =0x0202BE24 - movs r0, #0 - strb r0, [r1] - ldr r1, _08010A94 @ =0x02002888 - movs r0, #0 - strb r0, [r1, #9] - strb r2, [r1, #0xb] - ldr r1, _08010A98 @ =0x0200B0C0 - movs r0, #3 - strb r0, [r1, #3] - bl sub_CBC - movs r0, #0 - bl sub_FD5C - b _08010AAC - .align 2, 0 + str r0, [r5] + ldr r0, _08010A6C @ =0x06010000 + str r0, [r5, #4] + ldr r0, _08010A70 @ =0x80003800 + str r0, [r5, #8] + ldr r0, [r5, #8] + ldr r0, _08010A74 @ =0x0852B668 + str r0, [r5] + ldr r0, _08010A78 @ =0x050002A0 + str r0, [r5, #4] + ldr r0, _08010A7C @ =0x80000020 + str r0, [r5, #8] + ldr r0, [r5, #8] + ldr r0, _08010A80 @ =0x0852B868 + str r0, [r5] + ldr r0, _08010A84 @ =0x06017000 + str r0, [r5, #4] + ldr r0, _08010A88 @ =0x80000200 + str r0, [r5, #8] + ldr r0, [r5, #8] + bl sub_10AC0 + ldr r0, _08010A8C @ =0x0201A4B4 + movs r2, #0 + ldrsb r2, [r0, r2] + cmp r2, #1 + bne _08010A9C + ldr r1, _08010A90 @ =0x0202BE24 + movs r0, #0 + strb r0, [r1] + ldr r1, _08010A94 @ =0x02002888 + movs r0, #0 + strb r0, [r1, #9] + strb r2, [r1, #0xb] + ldr r1, _08010A98 @ =0x0200B0C0 + movs r0, #3 + strb r0, [r1, #3] + bl sub_CBC + movs r0, #0 + bl sub_FD5C + b _08010AAC + .align 2, 0 _08010A5C: .4byte 0x08137700 _08010A60: .4byte 0x05000200 _08010A64: .4byte 0x80000050 @@ -32648,78 +32648,78 @@ _08010A90: .4byte 0x0202BE24 _08010A94: .4byte 0x02002888 _08010A98: .4byte 0x0200B0C0 _08010A9C: - ldr r0, _08010AB8 @ =0x0200B0C0 - movs r1, #1 - strb r1, [r0, #3] - bl sub_CBC - ldr r0, _08010ABC @ =sub_11640 + 1 - bl sub_FD5C + ldr r0, _08010AB8 @ =0x0200B0C0 + movs r1, #1 + strb r1, [r0, #3] + bl sub_CBC + ldr r0, _08010ABC @ =sub_11640 + 1 + bl sub_FD5C _08010AAC: - movs r0, #1 - bl m4aSongNumStart - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + movs r0, #1 + bl m4aSongNumStart + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08010AB8: .4byte 0x0200B0C0 _08010ABC: .4byte sub_11640 + 1 - thumb_func_start sub_10AC0 + thumb_func_start sub_10AC0 sub_10AC0: @ 0x08010AC0 - push {r4, r5, r6, r7, lr} - ldr r1, _08010B28 @ =0x02002888 - movs r2, #0 - movs r0, #0 - strh r0, [r1, #4] - strh r0, [r1, #2] - strb r2, [r1, #6] - strb r2, [r1, #8] - movs r0, #4 - strb r0, [r1, #0x10] - movs r3, #1 - strb r3, [r1, #9] - strb r2, [r1, #0x11] - movs r0, #6 - strb r0, [r1, #0xa] - strb r2, [r1, #0xc] - movs r0, #3 - strb r0, [r1, #0xe] - strb r2, [r1, #0xb] - strb r2, [r1, #0xd] - strb r2, [r1, #0xf] - ldr r0, _08010B2C @ =0x0202C588 - strh r3, [r0] - ldr r0, _08010B30 @ =0x020028A0 - strb r2, [r0] - ldr r0, _08010B34 @ =0x020028A1 - strb r2, [r0] - ldr r0, _08010B38 @ =0x020028A2 - strb r2, [r0] - ldr r0, _08010B3C @ =0x020028A3 - strb r2, [r0] - ldr r0, _08010B40 @ =0x0200B0C0 - ldr r2, [r0, #0x40] - adds r6, r0, #0 - cmp r2, #1 - bne _08010B58 - ldr r7, _08010B44 @ =0x020028A4 - ldr r5, _08010B48 @ =0x020028A5 - ldr r0, _08010B4C @ =0x0202BE24 - mov ip, r0 - ldr r4, _08010B50 @ =0x086A975C - ldr r3, _08010B54 @ =0x0202BE00 - movs r2, #6 + push {r4, r5, r6, r7, lr} + ldr r1, _08010B28 @ =0x02002888 + movs r2, #0 + movs r0, #0 + strh r0, [r1, #4] + strh r0, [r1, #2] + strb r2, [r1, #6] + strb r2, [r1, #8] + movs r0, #4 + strb r0, [r1, #0x10] + movs r3, #1 + strb r3, [r1, #9] + strb r2, [r1, #0x11] + movs r0, #6 + strb r0, [r1, #0xa] + strb r2, [r1, #0xc] + movs r0, #3 + strb r0, [r1, #0xe] + strb r2, [r1, #0xb] + strb r2, [r1, #0xd] + strb r2, [r1, #0xf] + ldr r0, _08010B2C @ =0x0202C588 + strh r3, [r0] + ldr r0, _08010B30 @ =0x020028A0 + strb r2, [r0] + ldr r0, _08010B34 @ =0x020028A1 + strb r2, [r0] + ldr r0, _08010B38 @ =0x020028A2 + strb r2, [r0] + ldr r0, _08010B3C @ =0x020028A3 + strb r2, [r0] + ldr r0, _08010B40 @ =0x0200B0C0 + ldr r2, [r0, #0x40] + adds r6, r0, #0 + cmp r2, #1 + bne _08010B58 + ldr r7, _08010B44 @ =0x020028A4 + ldr r5, _08010B48 @ =0x020028A5 + ldr r0, _08010B4C @ =0x0202BE24 + mov ip, r0 + ldr r4, _08010B50 @ =0x086A975C + ldr r3, _08010B54 @ =0x0202BE00 + movs r2, #6 _08010B16: - ldm r4!, {r0} - stm r3!, {r0} - subs r2, #1 - cmp r2, #0 - bge _08010B16 - movs r0, #1 - strb r0, [r1] - strb r0, [r1, #7] - b _08010B78 - .align 2, 0 + ldm r4!, {r0} + stm r3!, {r0} + subs r2, #1 + cmp r2, #0 + bge _08010B16 + movs r0, #1 + strb r0, [r1] + strb r0, [r1, #7] + b _08010B78 + .align 2, 0 _08010B28: .4byte 0x02002888 _08010B2C: .4byte 0x0202C588 _08010B30: .4byte 0x020028A0 @@ -32733,194 +32733,194 @@ _08010B4C: .4byte 0x0202BE24 _08010B50: .4byte 0x086A975C _08010B54: .4byte 0x0202BE00 _08010B58: - ldr r7, _08010B94 @ =0x020028A4 - ldr r5, _08010B98 @ =0x020028A5 - ldr r0, _08010B9C @ =0x0202BE24 - mov ip, r0 - ldr r4, _08010BA0 @ =0x086A96F8 - ldr r3, _08010BA4 @ =0x0201C190 - movs r2, #6 + ldr r7, _08010B94 @ =0x020028A4 + ldr r5, _08010B98 @ =0x020028A5 + ldr r0, _08010B9C @ =0x0202BE24 + mov ip, r0 + ldr r4, _08010BA0 @ =0x086A96F8 + ldr r3, _08010BA4 @ =0x0201C190 + movs r2, #6 _08010B66: - ldm r4!, {r0} - stm r3!, {r0} - subs r2, #1 - cmp r2, #0 - bge _08010B66 - movs r0, #0 - strb r0, [r1] - strb r0, [r1, #7] - strb r0, [r6, #0xd] + ldm r4!, {r0} + stm r3!, {r0} + subs r2, #1 + cmp r2, #0 + bge _08010B66 + movs r0, #0 + strb r0, [r1] + strb r0, [r1, #7] + strb r0, [r6, #0xd] _08010B78: - movs r2, #0 - movs r0, #0 - strh r0, [r1, #0x14] - movs r0, #1 - strh r0, [r1, #0x12] - strb r2, [r7] - ldrh r1, [r6, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #0xf - bne _08010BA8 - movs r0, #1 - strb r0, [r5] - b _08010BAA - .align 2, 0 + movs r2, #0 + movs r0, #0 + strh r0, [r1, #0x14] + movs r0, #1 + strh r0, [r1, #0x12] + strb r2, [r7] + ldrh r1, [r6, #0x1c] + movs r0, #0xf + ands r0, r1 + cmp r0, #0xf + bne _08010BA8 + movs r0, #1 + strb r0, [r5] + b _08010BAA + .align 2, 0 _08010B94: .4byte 0x020028A4 _08010B98: .4byte 0x020028A5 _08010B9C: .4byte 0x0202BE24 _08010BA0: .4byte 0x086A96F8 _08010BA4: .4byte 0x0201C190 _08010BA8: - strb r2, [r5] + strb r2, [r5] _08010BAA: - movs r0, #0 - mov r1, ip - strb r0, [r1] - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_start sub_10BB8 + movs r0, #0 + mov r1, ip + strb r0, [r1] + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_start sub_10BB8 sub_10BB8: @ 0x08010BB8 - push {r4, r5, r6, r7, lr} - ldr r2, _08010BE8 @ =0x0200B0C0 - ldrh r1, [r2, #0x1c] - movs r0, #0xf - ands r0, r1 - adds r7, r2, #0 - cmp r0, #0xf - bne _08010BF8 - ldr r0, _08010BEC @ =0x020028A5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r2, _08010BF0 @ =0x020028A4 - cmp r0, #0 - bne _08010C00 - movs r0, #1 - strb r0, [r2] - ldr r1, _08010BF4 @ =0x02002888 - movs r0, #9 - strb r0, [r1, #6] - movs r0, #0xb - strb r0, [r7, #3] - b _08010C00 - .align 2, 0 + push {r4, r5, r6, r7, lr} + ldr r2, _08010BE8 @ =0x0200B0C0 + ldrh r1, [r2, #0x1c] + movs r0, #0xf + ands r0, r1 + adds r7, r2, #0 + cmp r0, #0xf + bne _08010BF8 + ldr r0, _08010BEC @ =0x020028A5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldr r2, _08010BF0 @ =0x020028A4 + cmp r0, #0 + bne _08010C00 + movs r0, #1 + strb r0, [r2] + ldr r1, _08010BF4 @ =0x02002888 + movs r0, #9 + strb r0, [r1, #6] + movs r0, #0xb + strb r0, [r7, #3] + b _08010C00 + .align 2, 0 _08010BE8: .4byte 0x0200B0C0 _08010BEC: .4byte 0x020028A5 _08010BF0: .4byte 0x020028A4 _08010BF4: .4byte 0x02002888 _08010BF8: - ldr r1, _08010CD4 @ =0x020028A5 - movs r0, #0 - strb r0, [r1] - ldr r2, _08010CD8 @ =0x020028A4 + ldr r1, _08010CD4 @ =0x020028A5 + movs r0, #0 + strb r0, [r1] + ldr r2, _08010CD8 @ =0x020028A4 _08010C00: - movs r4, #0 - ldrsb r4, [r2, r4] - cmp r4, #0 - bne _08010CC8 - ldr r2, _08010CDC @ =0x02002888 - ldrh r0, [r2, #4] - adds r0, #1 - strh r0, [r2, #4] - ldr r3, _08010CE0 @ =0x086A9662 - movs r1, #8 - ldrsb r1, [r2, r1] - adds r1, r1, r3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - cmp r0, r1 - blt _08010C3A - strh r4, [r2, #4] - ldrb r0, [r2, #8] - adds r0, #1 - strb r0, [r2, #8] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - ble _08010C3A - movs r0, #0 - strb r0, [r2, #8] + movs r4, #0 + ldrsb r4, [r2, r4] + cmp r4, #0 + bne _08010CC8 + ldr r2, _08010CDC @ =0x02002888 + ldrh r0, [r2, #4] + adds r0, #1 + strh r0, [r2, #4] + ldr r3, _08010CE0 @ =0x086A9662 + movs r1, #8 + ldrsb r1, [r2, r1] + adds r1, r1, r3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + cmp r0, r1 + blt _08010C3A + strh r4, [r2, #4] + ldrb r0, [r2, #8] + adds r0, #1 + strb r0, [r2, #8] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + ble _08010C3A + movs r0, #0 + strb r0, [r2, #8] _08010C3A: - adds r4, r7, #0 - ldrh r1, [r4, #0x1c] - ldr r0, _08010CE4 @ =0x000003FF - ands r0, r1 - cmp r0, #0 - beq _08010C4A - movs r0, #0 - strh r0, [r2, #0x14] + adds r4, r7, #0 + ldrh r1, [r4, #0x1c] + ldr r0, _08010CE4 @ =0x000003FF + ands r0, r1 + cmp r0, #0 + beq _08010C4A + movs r0, #0 + strh r0, [r2, #0x14] _08010C4A: - ldrh r1, [r4, #0x18] - movs r0, #9 - ands r0, r1 - cmp r0, #0 - beq _08010C66 - movs r0, #0x65 - bl m4aSongNumStart - ldr r1, _08010CDC @ =0x02002888 - movs r0, #0 - strh r0, [r1, #4] - strh r0, [r1, #2] - movs r0, #2 - strb r0, [r4, #3] + ldrh r1, [r4, #0x18] + movs r0, #9 + ands r0, r1 + cmp r0, #0 + beq _08010C66 + movs r0, #0x65 + bl m4aSongNumStart + ldr r1, _08010CDC @ =0x02002888 + movs r0, #0 + strh r0, [r1, #4] + strh r0, [r1, #2] + movs r0, #2 + strb r0, [r4, #3] _08010C66: - bl sub_114FC - bl sub_1157C - ldr r6, _08010CDC @ =0x02002888 - ldrh r0, [r6, #0x14] - adds r0, #1 - strh r0, [r6, #0x14] - lsls r0, r0, #0x10 - movs r1, #0xe1 - lsls r1, r1, #0x13 - cmp r0, r1 - ble _08010CC8 - movs r1, #0x14 - ldrsh r0, [r6, r1] - movs r1, #0xa - bl __modsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08010CB4 - ldrh r0, [r6, #0x12] - adds r0, #1 - strh r0, [r6, #0x12] - ldr r4, _08010CE8 @ =0x02032EE0 - ldr r5, _08010CEC @ =0x0000FFFF - movs r0, #0x12 - ldrsh r1, [r6, r0] - movs r0, #0x80 - lsls r0, r0, #1 - bl __divsi3 - adds r2, r0, #0 - lsls r2, r2, #0x10 - lsrs r2, r2, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - bl m4aMPlayVolumeControl + bl sub_114FC + bl sub_1157C + ldr r6, _08010CDC @ =0x02002888 + ldrh r0, [r6, #0x14] + adds r0, #1 + strh r0, [r6, #0x14] + lsls r0, r0, #0x10 + movs r1, #0xe1 + lsls r1, r1, #0x13 + cmp r0, r1 + ble _08010CC8 + movs r1, #0x14 + ldrsh r0, [r6, r1] + movs r1, #0xa + bl __modsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08010CB4 + ldrh r0, [r6, #0x12] + adds r0, #1 + strh r0, [r6, #0x12] + ldr r4, _08010CE8 @ =0x02032EE0 + ldr r5, _08010CEC @ =0x0000FFFF + movs r0, #0x12 + ldrsh r1, [r6, r0] + movs r0, #0x80 + lsls r0, r0, #1 + bl __divsi3 + adds r2, r0, #0 + lsls r2, r2, #0x10 + lsrs r2, r2, #0x10 + adds r0, r4, #0 + adds r1, r5, #0 + bl m4aMPlayVolumeControl _08010CB4: - movs r1, #0x12 - ldrsh r0, [r6, r1] - cmp r0, #9 - ble _08010CC8 - movs r0, #0 - strh r0, [r6, #0x14] - movs r0, #7 - strb r0, [r6, #6] - movs r0, #0xb - strb r0, [r7, #3] + movs r1, #0x12 + ldrsh r0, [r6, r1] + cmp r0, #9 + ble _08010CC8 + movs r0, #0 + strh r0, [r6, #0x14] + movs r0, #7 + strb r0, [r6, #6] + movs r0, #0xb + strb r0, [r7, #3] _08010CC8: - bl sub_11640 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + bl sub_11640 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08010CD4: .4byte 0x020028A5 _08010CD8: .4byte 0x020028A4 _08010CDC: .4byte 0x02002888 @@ -32929,204 +32929,204 @@ _08010CE4: .4byte 0x000003FF _08010CE8: .4byte 0x02032EE0 _08010CEC: .4byte 0x0000FFFF - thumb_func_start sub_10CF0 + thumb_func_start sub_10CF0 sub_10CF0: @ 0x08010CF0 - push {r4, r5, r6, r7, lr} - ldr r6, _08010D70 @ =0x0200B0C0 - ldrh r1, [r6, #0x1c] - movs r0, #0xf - ands r0, r1 - ldr r2, _08010D74 @ =0x020028A4 - cmp r0, #0xf - bne _08010D0E - movs r0, #1 - strb r0, [r2] - ldr r1, _08010D78 @ =0x02002888 - movs r0, #9 - strb r0, [r1, #6] - movs r0, #0xb - strb r0, [r6, #3] + push {r4, r5, r6, r7, lr} + ldr r6, _08010D70 @ =0x0200B0C0 + ldrh r1, [r6, #0x1c] + movs r0, #0xf + ands r0, r1 + ldr r2, _08010D74 @ =0x020028A4 + cmp r0, #0xf + bne _08010D0E + movs r0, #1 + strb r0, [r2] + ldr r1, _08010D78 @ =0x02002888 + movs r0, #9 + strb r0, [r1, #6] + movs r0, #0xb + strb r0, [r6, #3] _08010D0E: - movs r4, #0 - ldrsb r4, [r2, r4] - cmp r4, #0 - bne _08010D66 - ldr r3, _08010D78 @ =0x02002888 - ldrh r0, [r3, #4] - adds r0, #1 - movs r7, #0 - strh r0, [r3, #4] - ldr r5, _08010D7C @ =0x086A9666 - movs r2, #2 - ldrsh r1, [r3, r2] - lsls r1, r1, #1 - adds r2, r5, #1 - adds r1, r1, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - cmp r0, r1 - blt _08010D66 - strh r4, [r3, #4] - movs r1, #2 - ldrsh r0, [r3, r1] - lsls r0, r0, #1 - adds r0, r0, r5 - ldrb r0, [r0] - strb r0, [r3, #8] - ldrh r0, [r3, #2] - adds r0, #1 - strh r0, [r3, #2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #5 - ble _08010D66 - strh r4, [r3, #2] - ldr r0, _08010D80 @ =0x0202BE24 - strb r7, [r0] - strb r7, [r3, #9] - movs r0, #1 - strb r0, [r3, #0xb] - movs r0, #3 - strb r0, [r6, #3] + movs r4, #0 + ldrsb r4, [r2, r4] + cmp r4, #0 + bne _08010D66 + ldr r3, _08010D78 @ =0x02002888 + ldrh r0, [r3, #4] + adds r0, #1 + movs r7, #0 + strh r0, [r3, #4] + ldr r5, _08010D7C @ =0x086A9666 + movs r2, #2 + ldrsh r1, [r3, r2] + lsls r1, r1, #1 + adds r2, r5, #1 + adds r1, r1, r2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + cmp r0, r1 + blt _08010D66 + strh r4, [r3, #4] + movs r1, #2 + ldrsh r0, [r3, r1] + lsls r0, r0, #1 + adds r0, r0, r5 + ldrb r0, [r0] + strb r0, [r3, #8] + ldrh r0, [r3, #2] + adds r0, #1 + strh r0, [r3, #2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #5 + ble _08010D66 + strh r4, [r3, #2] + ldr r0, _08010D80 @ =0x0202BE24 + strb r7, [r0] + strb r7, [r3, #9] + movs r0, #1 + strb r0, [r3, #0xb] + movs r0, #3 + strb r0, [r6, #3] _08010D66: - bl sub_11640 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + bl sub_11640 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08010D70: .4byte 0x0200B0C0 _08010D74: .4byte 0x020028A4 _08010D78: .4byte 0x02002888 _08010D7C: .4byte 0x086A9666 _08010D80: .4byte 0x0202BE24 - thumb_func_start sub_10D84 + thumb_func_start sub_10D84 sub_10D84: @ 0x08010D84 - push {r4, r5, r6, lr} - ldr r6, _08010DD0 @ =0x0200B0C0 - ldrh r1, [r6, #0x1c] - movs r0, #0xf - ands r0, r1 - ldr r2, _08010DD4 @ =0x020028A4 - cmp r0, #0xf - bne _08010DA2 - movs r0, #1 - strb r0, [r2] - ldr r1, _08010DD8 @ =0x02002888 - movs r0, #9 - strb r0, [r1, #6] - movs r0, #0xa - strb r0, [r6, #3] + push {r4, r5, r6, lr} + ldr r6, _08010DD0 @ =0x0200B0C0 + ldrh r1, [r6, #0x1c] + movs r0, #0xf + ands r0, r1 + ldr r2, _08010DD4 @ =0x020028A4 + cmp r0, #0xf + bne _08010DA2 + movs r0, #1 + strb r0, [r2] + ldr r1, _08010DD8 @ =0x02002888 + movs r0, #9 + strb r0, [r1, #6] + movs r0, #0xa + strb r0, [r6, #3] _08010DA2: - movs r5, #0 - ldrsb r5, [r2, r5] - cmp r5, #0 - bne _08010DF2 - ldrh r1, [r6, #0x18] - movs r4, #1 - ands r4, r1 - cmp r4, #0 - beq _08010DDC - movs r0, #0x65 - bl m4aSongNumStart - bl sub_11B74 - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - strb r5, [r6, #3] - b _08010DF2 - .align 2, 0 + movs r5, #0 + ldrsb r5, [r2, r5] + cmp r5, #0 + bne _08010DF2 + ldrh r1, [r6, #0x18] + movs r4, #1 + ands r4, r1 + cmp r4, #0 + beq _08010DDC + movs r0, #0x65 + bl m4aSongNumStart + bl sub_11B74 + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + strb r5, [r6, #3] + b _08010DF2 + .align 2, 0 _08010DD0: .4byte 0x0200B0C0 _08010DD4: .4byte 0x020028A4 _08010DD8: .4byte 0x02002888 _08010DDC: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08010DF2 - movs r0, #0x66 - bl m4aSongNumStart - ldr r0, _08010DFC @ =0x02002888 - strb r4, [r0, #0x11] - movs r0, #1 - strb r0, [r6, #3] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _08010DF2 + movs r0, #0x66 + bl m4aSongNumStart + ldr r0, _08010DFC @ =0x02002888 + strb r4, [r0, #0x11] + movs r0, #1 + strb r0, [r6, #3] _08010DF2: - bl sub_11640 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + bl sub_11640 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08010DFC: .4byte 0x02002888 - thumb_func_start sub_10E00 + thumb_func_start sub_10E00 sub_10E00: @ 0x08010E00 - push {r4, r5, r6, lr} - ldr r5, _08010E7C @ =0x0200B0C0 - ldrh r1, [r5, #0x1c] - movs r0, #0xf - ands r0, r1 - ldr r2, _08010E80 @ =0x020028A4 - cmp r0, #0xf - bne _08010E1E - movs r0, #1 - strb r0, [r2] - ldr r1, _08010E84 @ =0x02002888 - movs r0, #9 - strb r0, [r1, #6] - movs r0, #0xb - strb r0, [r5, #3] + push {r4, r5, r6, lr} + ldr r5, _08010E7C @ =0x0200B0C0 + ldrh r1, [r5, #0x1c] + movs r0, #0xf + ands r0, r1 + ldr r2, _08010E80 @ =0x020028A4 + cmp r0, #0xf + bne _08010E1E + movs r0, #1 + strb r0, [r2] + ldr r1, _08010E84 @ =0x02002888 + movs r0, #9 + strb r0, [r1, #6] + movs r0, #0xb + strb r0, [r5, #3] _08010E1E: - movs r4, #0 - ldrsb r4, [r2, r4] - cmp r4, #0 - bne _08010EE0 - ldr r3, _08010E84 @ =0x02002888 - ldrb r0, [r3, #7] - cmp r0, #0 - bne _08010E94 - ldrh r0, [r3, #4] - adds r0, #1 - strh r0, [r3, #4] - ldr r2, _08010E88 @ =0x086A9748 - movs r6, #2 - ldrsh r1, [r3, r6] - adds r1, r1, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - cmp r0, r1 - blt _08010E76 - strh r4, [r3, #4] - ldr r2, _08010E8C @ =0x0201C190 - ldr r1, _08010E90 @ =0x086A9714 - movs r6, #2 - ldrsh r0, [r3, r6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r2, #0x18] - ldrh r0, [r3, #2] - adds r0, #1 - strh r0, [r3, #2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb - ble _08010E76 - strh r4, [r3, #2] - movs r0, #1 - strb r0, [r3, #0xd] - strb r0, [r3, #0xf] - movs r0, #4 - strb r0, [r5, #3] + movs r4, #0 + ldrsb r4, [r2, r4] + cmp r4, #0 + bne _08010EE0 + ldr r3, _08010E84 @ =0x02002888 + ldrb r0, [r3, #7] + cmp r0, #0 + bne _08010E94 + ldrh r0, [r3, #4] + adds r0, #1 + strh r0, [r3, #4] + ldr r2, _08010E88 @ =0x086A9748 + movs r6, #2 + ldrsh r1, [r3, r6] + adds r1, r1, r2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + cmp r0, r1 + blt _08010E76 + strh r4, [r3, #4] + ldr r2, _08010E8C @ =0x0201C190 + ldr r1, _08010E90 @ =0x086A9714 + movs r6, #2 + ldrsh r0, [r3, r6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + str r0, [r2, #0x18] + ldrh r0, [r3, #2] + adds r0, #1 + strh r0, [r3, #2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb + ble _08010E76 + strh r4, [r3, #2] + movs r0, #1 + strb r0, [r3, #0xd] + strb r0, [r3, #0xf] + movs r0, #4 + strb r0, [r5, #3] _08010E76: - bl sub_1175C - b _08010EE0 - .align 2, 0 + bl sub_1175C + b _08010EE0 + .align 2, 0 _08010E7C: .4byte 0x0200B0C0 _08010E80: .4byte 0x020028A4 _08010E84: .4byte 0x02002888 @@ -33134,255 +33134,255 @@ _08010E88: .4byte 0x086A9748 _08010E8C: .4byte 0x0201C190 _08010E90: .4byte 0x086A9714 _08010E94: - ldrh r0, [r3, #4] - adds r0, #1 - strh r0, [r3, #4] - ldr r2, _08010EE8 @ =0x086A9748 - movs r6, #2 - ldrsh r1, [r3, r6] - adds r1, r1, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - cmp r0, r1 - blt _08010EDC - strh r4, [r3, #4] - ldr r2, _08010EEC @ =0x0202BE00 - ldr r1, _08010EF0 @ =0x086A9778 - movs r6, #2 - ldrsh r0, [r3, r6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r2, #0x18] - ldrh r0, [r3, #2] - adds r0, #1 - strh r0, [r3, #2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb - ble _08010EDC - strh r4, [r3, #2] - movs r0, #1 - strb r0, [r3, #0xd] - strb r0, [r3, #0xf] - movs r0, #5 - strb r0, [r5, #3] + ldrh r0, [r3, #4] + adds r0, #1 + strh r0, [r3, #4] + ldr r2, _08010EE8 @ =0x086A9748 + movs r6, #2 + ldrsh r1, [r3, r6] + adds r1, r1, r2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + cmp r0, r1 + blt _08010EDC + strh r4, [r3, #4] + ldr r2, _08010EEC @ =0x0202BE00 + ldr r1, _08010EF0 @ =0x086A9778 + movs r6, #2 + ldrsh r0, [r3, r6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + str r0, [r2, #0x18] + ldrh r0, [r3, #2] + adds r0, #1 + strh r0, [r3, #2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb + ble _08010EDC + strh r4, [r3, #2] + movs r0, #1 + strb r0, [r3, #0xd] + strb r0, [r3, #0xf] + movs r0, #5 + strb r0, [r5, #3] _08010EDC: - bl sub_11968 + bl sub_11968 _08010EE0: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08010EE8: .4byte 0x086A9748 _08010EEC: .4byte 0x0202BE00 _08010EF0: .4byte 0x086A9778 - thumb_func_start sub_10EF4 + thumb_func_start sub_10EF4 sub_10EF4: @ 0x08010EF4 - push {r4, r5, lr} - ldr r3, _08010F94 @ =0x0200B0C0 - ldrh r1, [r3, #0x1c] - movs r0, #0xf - ands r0, r1 - ldr r2, _08010F98 @ =0x020028A4 - cmp r0, #0xf - bne _08010F12 - movs r0, #1 - strb r0, [r2] - ldr r1, _08010F9C @ =0x02002888 - movs r0, #9 - strb r0, [r1, #6] - movs r0, #0xa - strb r0, [r3, #3] + push {r4, r5, lr} + ldr r3, _08010F94 @ =0x0200B0C0 + ldrh r1, [r3, #0x1c] + movs r0, #0xf + ands r0, r1 + ldr r2, _08010F98 @ =0x020028A4 + cmp r0, #0xf + bne _08010F12 + movs r0, #1 + strb r0, [r2] + ldr r1, _08010F9C @ =0x02002888 + movs r0, #9 + strb r0, [r1, #6] + movs r0, #0xa + strb r0, [r3, #3] _08010F12: - movs r4, #0 - ldrsb r4, [r2, r4] - cmp r4, #0 - bne _08011010 - ldr r3, _08010F9C @ =0x02002888 - ldrh r0, [r3, #4] - adds r0, #1 - strh r0, [r3, #4] - ldr r5, _08010FA0 @ =0x086A9672 - movs r2, #2 - ldrsh r1, [r3, r2] - lsls r1, r1, #1 - adds r2, r5, #1 - adds r1, r1, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - cmp r0, r1 - blt _08010F68 - strh r4, [r3, #4] - ldrh r0, [r3, #2] - adds r0, #1 - strh r0, [r3, #2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #6 - ble _08010F4E - strh r4, [r3, #2] + movs r4, #0 + ldrsb r4, [r2, r4] + cmp r4, #0 + bne _08011010 + ldr r3, _08010F9C @ =0x02002888 + ldrh r0, [r3, #4] + adds r0, #1 + strh r0, [r3, #4] + ldr r5, _08010FA0 @ =0x086A9672 + movs r2, #2 + ldrsh r1, [r3, r2] + lsls r1, r1, #1 + adds r2, r5, #1 + adds r1, r1, r2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + cmp r0, r1 + blt _08010F68 + strh r4, [r3, #4] + ldrh r0, [r3, #2] + adds r0, #1 + strh r0, [r3, #2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #6 + ble _08010F4E + strh r4, [r3, #2] _08010F4E: - movs r1, #2 - ldrsh r0, [r3, r1] - lsls r0, r0, #1 - adds r0, r0, r5 - ldrb r0, [r0] - strb r0, [r3, #0xc] - movs r2, #2 - ldrsh r0, [r3, r2] - lsls r0, r0, #1 - adds r0, r0, r5 - ldrb r0, [r0] - adds r0, #3 - strb r0, [r3, #0xe] + movs r1, #2 + ldrsh r0, [r3, r1] + lsls r0, r0, #1 + adds r0, r0, r5 + ldrb r0, [r0] + strb r0, [r3, #0xc] + movs r2, #2 + ldrsh r0, [r3, r2] + lsls r0, r0, #1 + adds r0, r0, r5 + ldrb r0, [r0] + adds r0, #3 + strb r0, [r3, #0xe] _08010F68: - ldr r0, _08010F94 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x40 - ands r0, r1 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - cmp r4, #0 - beq _08010FA4 - movs r0, #0x67 - bl m4aSongNumStart - ldr r1, _08010F9C @ =0x02002888 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bge _08010FC4 - movs r0, #3 - strb r0, [r1] - b _08010FC4 - .align 2, 0 + ldr r0, _08010F94 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x40 + ands r0, r1 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + cmp r4, #0 + beq _08010FA4 + movs r0, #0x67 + bl m4aSongNumStart + ldr r1, _08010F9C @ =0x02002888 + ldrb r0, [r1] + subs r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + cmp r0, #0 + bge _08010FC4 + movs r0, #3 + strb r0, [r1] + b _08010FC4 + .align 2, 0 _08010F94: .4byte 0x0200B0C0 _08010F98: .4byte 0x020028A4 _08010F9C: .4byte 0x02002888 _08010FA0: .4byte 0x086A9672 _08010FA4: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08010FC4 - movs r0, #0x67 - bl m4aSongNumStart - ldr r1, _08010FE4 @ =0x02002888 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - ble _08010FC4 - strb r4, [r1] + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _08010FC4 + movs r0, #0x67 + bl m4aSongNumStart + ldr r1, _08010FE4 @ =0x02002888 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + ble _08010FC4 + strb r4, [r1] _08010FC4: - ldr r5, _08010FE8 @ =0x0200B0C0 - ldrh r1, [r5, #0x18] - movs r4, #9 - ands r4, r1 - cmp r4, #0 - beq _08010FEC - movs r0, #0x65 - bl m4aSongNumStart - ldr r1, _08010FE4 @ =0x02002888 - movs r0, #0 - strh r0, [r1, #4] - strh r0, [r1, #2] - movs r0, #7 - b _0801100A - .align 2, 0 + ldr r5, _08010FE8 @ =0x0200B0C0 + ldrh r1, [r5, #0x18] + movs r4, #9 + ands r4, r1 + cmp r4, #0 + beq _08010FEC + movs r0, #0x65 + bl m4aSongNumStart + ldr r1, _08010FE4 @ =0x02002888 + movs r0, #0 + strh r0, [r1, #4] + strh r0, [r1, #2] + movs r0, #7 + b _0801100A + .align 2, 0 _08010FE4: .4byte 0x02002888 _08010FE8: .4byte 0x0200B0C0 _08010FEC: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0801100C - movs r0, #0x66 - bl m4aSongNumStart - ldr r1, _0801101C @ =0x02002888 - movs r2, #0 - strh r4, [r1, #4] - movs r0, #0xc - strh r0, [r1, #2] - strb r2, [r1, #0xd] - strb r2, [r1, #0xf] - movs r0, #6 + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _0801100C + movs r0, #0x66 + bl m4aSongNumStart + ldr r1, _0801101C @ =0x02002888 + movs r2, #0 + strh r4, [r1, #4] + movs r0, #0xc + strh r0, [r1, #2] + strb r2, [r1, #0xd] + strb r2, [r1, #0xf] + movs r0, #6 _0801100A: - strb r0, [r5, #3] + strb r0, [r5, #3] _0801100C: - bl sub_1157C + bl sub_1157C _08011010: - bl sub_1175C - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + bl sub_1175C + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0801101C: .4byte 0x02002888 - thumb_func_start sub_11020 + thumb_func_start sub_11020 sub_11020: @ 0x08011020 - push {r4, r5, lr} - ldr r3, _08011088 @ =0x0200B0C0 - ldrh r1, [r3, #0x1c] - movs r0, #0xf - ands r0, r1 - ldr r2, _0801108C @ =0x020028A4 - cmp r0, #0xf - bne _0801103E - movs r0, #1 - strb r0, [r2] - ldr r1, _08011090 @ =0x02002888 - movs r0, #9 - strb r0, [r1, #6] - movs r0, #0xb - strb r0, [r3, #3] + push {r4, r5, lr} + ldr r3, _08011088 @ =0x0200B0C0 + ldrh r1, [r3, #0x1c] + movs r0, #0xf + ands r0, r1 + ldr r2, _0801108C @ =0x020028A4 + cmp r0, #0xf + bne _0801103E + movs r0, #1 + strb r0, [r2] + ldr r1, _08011090 @ =0x02002888 + movs r0, #9 + strb r0, [r1, #6] + movs r0, #0xb + strb r0, [r3, #3] _0801103E: - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - bne _080110DE - ldr r5, _08011090 @ =0x02002888 - ldrh r1, [r5, #4] - movs r0, #3 - ands r1, r0 - cmp r1, #0 - bne _080110B6 - movs r2, #2 - ldrsh r0, [r5, r2] - cmp r0, #0 - bne _080110A0 - movs r0, #1 - strh r0, [r5, #2] - movs r0, #0 - ldrsb r0, [r5, r0] - lsls r0, r0, #0xb - ldr r4, _08011094 @ =0x060101E0 - adds r0, r0, r4 - ldr r1, _08011098 @ =0x03000000 - movs r2, #8 - movs r3, #2 - bl sub_10708 - ldr r0, _0801109C @ =0x060161E0 - movs r1, #0 - ldrsb r1, [r5, r1] - lsls r1, r1, #0xb - adds r1, r1, r4 - movs r2, #8 - movs r3, #2 - bl sub_10708 - b _080110B6 - .align 2, 0 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + bne _080110DE + ldr r5, _08011090 @ =0x02002888 + ldrh r1, [r5, #4] + movs r0, #3 + ands r1, r0 + cmp r1, #0 + bne _080110B6 + movs r2, #2 + ldrsh r0, [r5, r2] + cmp r0, #0 + bne _080110A0 + movs r0, #1 + strh r0, [r5, #2] + movs r0, #0 + ldrsb r0, [r5, r0] + lsls r0, r0, #0xb + ldr r4, _08011094 @ =0x060101E0 + adds r0, r0, r4 + ldr r1, _08011098 @ =0x03000000 + movs r2, #8 + movs r3, #2 + bl sub_10708 + ldr r0, _0801109C @ =0x060161E0 + movs r1, #0 + ldrsb r1, [r5, r1] + lsls r1, r1, #0xb + adds r1, r1, r4 + movs r2, #8 + movs r3, #2 + bl sub_10708 + b _080110B6 + .align 2, 0 _08011088: .4byte 0x0200B0C0 _0801108C: .4byte 0x020028A4 _08011090: .4byte 0x02002888 @@ -33390,252 +33390,252 @@ _08011094: .4byte 0x060101E0 _08011098: .4byte 0x03000000 _0801109C: .4byte 0x060161E0 _080110A0: - strh r1, [r5, #2] - ldr r0, _080110E8 @ =0x03000000 - movs r1, #0 - ldrsb r1, [r5, r1] - lsls r1, r1, #0xb - ldr r2, _080110EC @ =0x060101E0 - adds r1, r1, r2 - movs r2, #8 - movs r3, #2 - bl sub_10708 + strh r1, [r5, #2] + ldr r0, _080110E8 @ =0x03000000 + movs r1, #0 + ldrsb r1, [r5, r1] + lsls r1, r1, #0xb + ldr r2, _080110EC @ =0x060101E0 + adds r1, r1, r2 + movs r2, #8 + movs r3, #2 + bl sub_10708 _080110B6: - ldr r3, _080110F0 @ =0x02002888 - movs r1, #4 - ldrsh r0, [r3, r1] - cmp r0, #0x14 - ble _080110D8 - ldr r2, _080110F4 @ =0x0200B0C0 - movs r0, #0 - strb r0, [r2, #0xd] - ldr r1, _080110F8 @ =0x086A96A4 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strb r0, [r3, #6] - movs r0, #0xa - strb r0, [r2, #3] + ldr r3, _080110F0 @ =0x02002888 + movs r1, #4 + ldrsh r0, [r3, r1] + cmp r0, #0x14 + ble _080110D8 + ldr r2, _080110F4 @ =0x0200B0C0 + movs r0, #0 + strb r0, [r2, #0xd] + ldr r1, _080110F8 @ =0x086A96A4 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r0, [r0] + strb r0, [r3, #6] + movs r0, #0xa + strb r0, [r2, #3] _080110D8: - ldrh r0, [r3, #4] - adds r0, #1 - strh r0, [r3, #4] + ldrh r0, [r3, #4] + adds r0, #1 + strh r0, [r3, #4] _080110DE: - bl sub_1175C - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + bl sub_1175C + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _080110E8: .4byte 0x03000000 _080110EC: .4byte 0x060101E0 _080110F0: .4byte 0x02002888 _080110F4: .4byte 0x0200B0C0 _080110F8: .4byte 0x086A96A4 - thumb_func_start sub_110FC + thumb_func_start sub_110FC sub_110FC: @ 0x080110FC - push {r4, r5, lr} - ldr r3, _0801119C @ =0x0200B0C0 - ldrh r1, [r3, #0x1c] - movs r0, #0xf - ands r0, r1 - ldr r2, _080111A0 @ =0x020028A4 - cmp r0, #0xf - bne _0801111A - movs r0, #1 - strb r0, [r2] - ldr r1, _080111A4 @ =0x02002888 - movs r0, #9 - strb r0, [r1, #6] - movs r0, #0xa - strb r0, [r3, #3] + push {r4, r5, lr} + ldr r3, _0801119C @ =0x0200B0C0 + ldrh r1, [r3, #0x1c] + movs r0, #0xf + ands r0, r1 + ldr r2, _080111A0 @ =0x020028A4 + cmp r0, #0xf + bne _0801111A + movs r0, #1 + strb r0, [r2] + ldr r1, _080111A4 @ =0x02002888 + movs r0, #9 + strb r0, [r1, #6] + movs r0, #0xa + strb r0, [r3, #3] _0801111A: - movs r4, #0 - ldrsb r4, [r2, r4] - cmp r4, #0 - bne _08011218 - ldr r3, _080111A4 @ =0x02002888 - ldrh r0, [r3, #4] - adds r0, #1 - strh r0, [r3, #4] - ldr r5, _080111A8 @ =0x086A9672 - movs r2, #2 - ldrsh r1, [r3, r2] - lsls r1, r1, #1 - adds r2, r5, #1 - adds r1, r1, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - cmp r0, r1 - blt _08011170 - strh r4, [r3, #4] - ldrh r0, [r3, #2] - adds r0, #1 - strh r0, [r3, #2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #6 - ble _08011156 - strh r4, [r3, #2] + movs r4, #0 + ldrsb r4, [r2, r4] + cmp r4, #0 + bne _08011218 + ldr r3, _080111A4 @ =0x02002888 + ldrh r0, [r3, #4] + adds r0, #1 + strh r0, [r3, #4] + ldr r5, _080111A8 @ =0x086A9672 + movs r2, #2 + ldrsh r1, [r3, r2] + lsls r1, r1, #1 + adds r2, r5, #1 + adds r1, r1, r2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + cmp r0, r1 + blt _08011170 + strh r4, [r3, #4] + ldrh r0, [r3, #2] + adds r0, #1 + strh r0, [r3, #2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #6 + ble _08011156 + strh r4, [r3, #2] _08011156: - movs r1, #2 - ldrsh r0, [r3, r1] - lsls r0, r0, #1 - adds r0, r0, r5 - ldrb r0, [r0] - strb r0, [r3, #0xc] - movs r2, #2 - ldrsh r0, [r3, r2] - lsls r0, r0, #1 - adds r0, r0, r5 - ldrb r0, [r0] - adds r0, #3 - strb r0, [r3, #0xe] + movs r1, #2 + ldrsh r0, [r3, r1] + lsls r0, r0, #1 + adds r0, r0, r5 + ldrb r0, [r0] + strb r0, [r3, #0xc] + movs r2, #2 + ldrsh r0, [r3, r2] + lsls r0, r0, #1 + adds r0, r0, r5 + ldrb r0, [r0] + adds r0, #3 + strb r0, [r3, #0xe] _08011170: - ldr r0, _0801119C @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x40 - ands r0, r1 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - cmp r4, #0 - beq _080111AC - movs r0, #0x67 - bl m4aSongNumStart - ldr r1, _080111A4 @ =0x02002888 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bge _080111CC - movs r0, #4 - strb r0, [r1] - b _080111CC - .align 2, 0 + ldr r0, _0801119C @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x40 + ands r0, r1 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + cmp r4, #0 + beq _080111AC + movs r0, #0x67 + bl m4aSongNumStart + ldr r1, _080111A4 @ =0x02002888 + ldrb r0, [r1] + subs r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + cmp r0, #0 + bge _080111CC + movs r0, #4 + strb r0, [r1] + b _080111CC + .align 2, 0 _0801119C: .4byte 0x0200B0C0 _080111A0: .4byte 0x020028A4 _080111A4: .4byte 0x02002888 _080111A8: .4byte 0x086A9672 _080111AC: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080111CC - movs r0, #0x67 - bl m4aSongNumStart - ldr r1, _080111EC @ =0x02002888 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - ble _080111CC - strb r4, [r1] + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _080111CC + movs r0, #0x67 + bl m4aSongNumStart + ldr r1, _080111EC @ =0x02002888 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + ble _080111CC + strb r4, [r1] _080111CC: - ldr r5, _080111F0 @ =0x0200B0C0 - ldrh r1, [r5, #0x18] - movs r4, #9 - ands r4, r1 - cmp r4, #0 - beq _080111F4 - movs r0, #0x65 - bl m4aSongNumStart - ldr r1, _080111EC @ =0x02002888 - movs r0, #0 - strh r0, [r1, #4] - strh r0, [r1, #2] - movs r0, #8 - b _08011212 - .align 2, 0 + ldr r5, _080111F0 @ =0x0200B0C0 + ldrh r1, [r5, #0x18] + movs r4, #9 + ands r4, r1 + cmp r4, #0 + beq _080111F4 + movs r0, #0x65 + bl m4aSongNumStart + ldr r1, _080111EC @ =0x02002888 + movs r0, #0 + strh r0, [r1, #4] + strh r0, [r1, #2] + movs r0, #8 + b _08011212 + .align 2, 0 _080111EC: .4byte 0x02002888 _080111F0: .4byte 0x0200B0C0 _080111F4: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08011214 - movs r0, #0x66 - bl m4aSongNumStart - ldr r1, _08011224 @ =0x02002888 - movs r2, #0 - strh r4, [r1, #4] - movs r0, #0xc - strh r0, [r1, #2] - strb r2, [r1, #0xd] - strb r2, [r1, #0xf] - movs r0, #6 + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _08011214 + movs r0, #0x66 + bl m4aSongNumStart + ldr r1, _08011224 @ =0x02002888 + movs r2, #0 + strh r4, [r1, #4] + movs r0, #0xc + strh r0, [r1, #2] + strb r2, [r1, #0xd] + strb r2, [r1, #0xf] + movs r0, #6 _08011212: - strb r0, [r5, #3] + strb r0, [r5, #3] _08011214: - bl sub_1157C + bl sub_1157C _08011218: - bl sub_11968 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + bl sub_11968 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08011224: .4byte 0x02002888 - thumb_func_start sub_11228 + thumb_func_start sub_11228 sub_11228: @ 0x08011228 - push {r4, r5, lr} - ldr r3, _08011290 @ =0x0200B0C0 - ldrh r1, [r3, #0x1c] - movs r0, #0xf - ands r0, r1 - ldr r2, _08011294 @ =0x020028A4 - cmp r0, #0xf - bne _08011246 - movs r0, #1 - strb r0, [r2] - ldr r1, _08011298 @ =0x02002888 - movs r0, #9 - strb r0, [r1, #6] - movs r0, #0xb - strb r0, [r3, #3] + push {r4, r5, lr} + ldr r3, _08011290 @ =0x0200B0C0 + ldrh r1, [r3, #0x1c] + movs r0, #0xf + ands r0, r1 + ldr r2, _08011294 @ =0x020028A4 + cmp r0, #0xf + bne _08011246 + movs r0, #1 + strb r0, [r2] + ldr r1, _08011298 @ =0x02002888 + movs r0, #9 + strb r0, [r1, #6] + movs r0, #0xb + strb r0, [r3, #3] _08011246: - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - bne _0801130C - ldr r5, _08011298 @ =0x02002888 - ldrh r1, [r5, #4] - movs r0, #3 - ands r1, r0 - cmp r1, #0 - bne _080112BE - movs r2, #2 - ldrsh r0, [r5, r2] - cmp r0, #0 - bne _080112A8 - movs r0, #1 - strh r0, [r5, #2] - movs r0, #0 - ldrsb r0, [r5, r0] - lsls r0, r0, #0xb - ldr r4, _0801129C @ =0x060101E0 - adds r0, r0, r4 - ldr r1, _080112A0 @ =0x03000000 - movs r2, #8 - movs r3, #2 - bl sub_10708 - ldr r0, _080112A4 @ =0x060161E0 - movs r1, #0 - ldrsb r1, [r5, r1] - lsls r1, r1, #0xb - adds r1, r1, r4 - movs r2, #8 - movs r3, #2 - bl sub_10708 - b _080112BE - .align 2, 0 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + bne _0801130C + ldr r5, _08011298 @ =0x02002888 + ldrh r1, [r5, #4] + movs r0, #3 + ands r1, r0 + cmp r1, #0 + bne _080112BE + movs r2, #2 + ldrsh r0, [r5, r2] + cmp r0, #0 + bne _080112A8 + movs r0, #1 + strh r0, [r5, #2] + movs r0, #0 + ldrsb r0, [r5, r0] + lsls r0, r0, #0xb + ldr r4, _0801129C @ =0x060101E0 + adds r0, r0, r4 + ldr r1, _080112A0 @ =0x03000000 + movs r2, #8 + movs r3, #2 + bl sub_10708 + ldr r0, _080112A4 @ =0x060161E0 + movs r1, #0 + ldrsb r1, [r5, r1] + lsls r1, r1, #0xb + adds r1, r1, r4 + movs r2, #8 + movs r3, #2 + bl sub_10708 + b _080112BE + .align 2, 0 _08011290: .4byte 0x0200B0C0 _08011294: .4byte 0x020028A4 _08011298: .4byte 0x02002888 @@ -33643,134 +33643,134 @@ _0801129C: .4byte 0x060101E0 _080112A0: .4byte 0x03000000 _080112A4: .4byte 0x060161E0 _080112A8: - strh r1, [r5, #2] - ldr r0, _080112DC @ =0x03000000 - movs r1, #0 - ldrsb r1, [r5, r1] - lsls r1, r1, #0xb - ldr r2, _080112E0 @ =0x060101E0 - adds r1, r1, r2 - movs r2, #8 - movs r3, #2 - bl sub_10708 + strh r1, [r5, #2] + ldr r0, _080112DC @ =0x03000000 + movs r1, #0 + ldrsb r1, [r5, r1] + lsls r1, r1, #0xb + ldr r2, _080112E0 @ =0x060101E0 + adds r1, r1, r2 + movs r2, #8 + movs r3, #2 + bl sub_10708 _080112BE: - ldr r0, _080112E4 @ =0x02002888 - movs r2, #4 - ldrsh r1, [r0, r2] - adds r3, r0, #0 - cmp r1, #0x14 - ble _08011306 - movs r2, #0 - ldrsb r2, [r3, r2] - cmp r2, #1 - bne _080112EC - ldr r0, _080112E8 @ =0x0200B0C0 - strb r2, [r0, #0xd] - adds r2, r0, #0 - b _080112F4 - .align 2, 0 + ldr r0, _080112E4 @ =0x02002888 + movs r2, #4 + ldrsh r1, [r0, r2] + adds r3, r0, #0 + cmp r1, #0x14 + ble _08011306 + movs r2, #0 + ldrsb r2, [r3, r2] + cmp r2, #1 + bne _080112EC + ldr r0, _080112E8 @ =0x0200B0C0 + strb r2, [r0, #0xd] + adds r2, r0, #0 + b _080112F4 + .align 2, 0 _080112DC: .4byte 0x03000000 _080112E0: .4byte 0x060101E0 _080112E4: .4byte 0x02002888 _080112E8: .4byte 0x0200B0C0 _080112EC: - ldr r1, _08011318 @ =0x0200B0C0 - movs r0, #0 - strb r0, [r1, #0xd] - adds r2, r1, #0 + ldr r1, _08011318 @ =0x0200B0C0 + movs r0, #0 + strb r0, [r1, #0xd] + adds r2, r1, #0 _080112F4: - ldr r1, _0801131C @ =0x086A96D4 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strb r0, [r3, #6] - movs r0, #0xa - strb r0, [r2, #3] + ldr r1, _0801131C @ =0x086A96D4 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r0, [r0] + strb r0, [r3, #6] + movs r0, #0xa + strb r0, [r2, #3] _08011306: - ldrh r0, [r3, #4] - adds r0, #1 - strh r0, [r3, #4] + ldrh r0, [r3, #4] + adds r0, #1 + strh r0, [r3, #4] _0801130C: - bl sub_11968 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + bl sub_11968 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08011318: .4byte 0x0200B0C0 _0801131C: .4byte 0x086A96D4 - thumb_func_start sub_11320 + thumb_func_start sub_11320 sub_11320: @ 0x08011320 - push {r4, r5, r6, r7, lr} - ldr r5, _080113A4 @ =0x0200B0C0 - ldrh r1, [r5, #0x1c] - movs r0, #0xf - ands r0, r1 - ldr r2, _080113A8 @ =0x020028A4 - cmp r0, #0xf - bne _0801133E - movs r0, #1 - strb r0, [r2] - ldr r1, _080113AC @ =0x02002888 - movs r0, #9 - strb r0, [r1, #6] - movs r0, #0xb - strb r0, [r5, #3] + push {r4, r5, r6, r7, lr} + ldr r5, _080113A4 @ =0x0200B0C0 + ldrh r1, [r5, #0x1c] + movs r0, #0xf + ands r0, r1 + ldr r2, _080113A8 @ =0x020028A4 + cmp r0, #0xf + bne _0801133E + movs r0, #1 + strb r0, [r2] + ldr r1, _080113AC @ =0x02002888 + movs r0, #9 + strb r0, [r1, #6] + movs r0, #0xb + strb r0, [r5, #3] _0801133E: - movs r4, #0 - ldrsb r4, [r2, r4] - cmp r4, #0 - bne _08011410 - ldr r3, _080113AC @ =0x02002888 - ldrb r0, [r3, #7] - cmp r0, #0 - bne _080113C0 - ldrh r0, [r3, #4] - adds r0, #1 - movs r6, #0 - strh r0, [r3, #4] - ldr r2, _080113B0 @ =0x086A9748 - movs r7, #2 - ldrsh r1, [r3, r7] - adds r1, r1, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - cmp r0, r1 - blt _0801139C - strh r4, [r3, #4] - ldrh r0, [r3, #2] - subs r0, #1 - strh r0, [r3, #2] - lsls r0, r0, #0x10 - cmp r0, #0 - bge _0801138C - strh r4, [r3, #2] - strb r6, [r3] - ldr r0, _080113B4 @ =0x0202BE24 - movs r1, #1 - strb r1, [r0] - movs r0, #1 - strb r0, [r3, #9] - strb r6, [r3, #0xb] - strb r0, [r5, #3] + movs r4, #0 + ldrsb r4, [r2, r4] + cmp r4, #0 + bne _08011410 + ldr r3, _080113AC @ =0x02002888 + ldrb r0, [r3, #7] + cmp r0, #0 + bne _080113C0 + ldrh r0, [r3, #4] + adds r0, #1 + movs r6, #0 + strh r0, [r3, #4] + ldr r2, _080113B0 @ =0x086A9748 + movs r7, #2 + ldrsh r1, [r3, r7] + adds r1, r1, r2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + cmp r0, r1 + blt _0801139C + strh r4, [r3, #4] + ldrh r0, [r3, #2] + subs r0, #1 + strh r0, [r3, #2] + lsls r0, r0, #0x10 + cmp r0, #0 + bge _0801138C + strh r4, [r3, #2] + strb r6, [r3] + ldr r0, _080113B4 @ =0x0202BE24 + movs r1, #1 + strb r1, [r0] + movs r0, #1 + strb r0, [r3, #9] + strb r6, [r3, #0xb] + strb r0, [r5, #3] _0801138C: - ldr r2, _080113B8 @ =0x0201C190 - ldr r1, _080113BC @ =0x086A9714 - movs r4, #2 - ldrsh r0, [r3, r4] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r2, #0x18] + ldr r2, _080113B8 @ =0x0201C190 + ldr r1, _080113BC @ =0x086A9714 + movs r4, #2 + ldrsh r0, [r3, r4] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + str r0, [r2, #0x18] _0801139C: - bl sub_1175C - b _08011410 - .align 2, 0 + bl sub_1175C + b _08011410 + .align 2, 0 _080113A4: .4byte 0x0200B0C0 _080113A8: .4byte 0x020028A4 _080113AC: .4byte 0x02002888 @@ -33779,448 +33779,448 @@ _080113B4: .4byte 0x0202BE24 _080113B8: .4byte 0x0201C190 _080113BC: .4byte 0x086A9714 _080113C0: - ldrh r0, [r3, #4] - adds r0, #1 - strh r0, [r3, #4] - ldr r2, _08011418 @ =0x086A9748 - movs r6, #2 - ldrsh r1, [r3, r6] - adds r1, r1, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - cmp r0, r1 - blt _0801140C - strh r4, [r3, #4] - ldrh r0, [r3, #2] - subs r0, #1 - strh r0, [r3, #2] - lsls r0, r0, #0x10 - cmp r0, #0 - bge _080113FC - strh r4, [r3, #2] - movs r0, #1 - strb r0, [r3] - ldr r1, _0801141C @ =0x0202BE24 - strb r0, [r1] - strb r0, [r3, #9] - movs r1, #0 - strb r1, [r3, #0xb] - strb r0, [r5, #3] + ldrh r0, [r3, #4] + adds r0, #1 + strh r0, [r3, #4] + ldr r2, _08011418 @ =0x086A9748 + movs r6, #2 + ldrsh r1, [r3, r6] + adds r1, r1, r2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + cmp r0, r1 + blt _0801140C + strh r4, [r3, #4] + ldrh r0, [r3, #2] + subs r0, #1 + strh r0, [r3, #2] + lsls r0, r0, #0x10 + cmp r0, #0 + bge _080113FC + strh r4, [r3, #2] + movs r0, #1 + strb r0, [r3] + ldr r1, _0801141C @ =0x0202BE24 + strb r0, [r1] + strb r0, [r3, #9] + movs r1, #0 + strb r1, [r3, #0xb] + strb r0, [r5, #3] _080113FC: - ldr r2, _08011420 @ =0x0202BE00 - ldr r1, _08011424 @ =0x086A9778 - movs r7, #2 - ldrsh r0, [r3, r7] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r2, #0x18] + ldr r2, _08011420 @ =0x0202BE00 + ldr r1, _08011424 @ =0x086A9778 + movs r7, #2 + ldrsh r0, [r3, r7] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + str r0, [r2, #0x18] _0801140C: - bl sub_11968 + bl sub_11968 _08011410: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08011418: .4byte 0x086A9748 _0801141C: .4byte 0x0202BE24 _08011420: .4byte 0x0202BE00 _08011424: .4byte 0x086A9778 - thumb_func_start sub_11428 + thumb_func_start sub_11428 sub_11428: @ 0x08011428 - push {lr} - ldr r0, _0801143C @ =0x02002888 - ldrb r0, [r0, #7] - cmp r0, #0 - bne _08011444 - ldr r0, _08011440 @ =sub_1175C + 1 - bl sub_FE04 - b _0801144A - .align 2, 0 + push {lr} + ldr r0, _0801143C @ =0x02002888 + ldrb r0, [r0, #7] + cmp r0, #0 + bne _08011444 + ldr r0, _08011440 @ =sub_1175C + 1 + bl sub_FE04 + b _0801144A + .align 2, 0 _0801143C: .4byte 0x02002888 _08011440: .4byte sub_1175C + 1 _08011444: - ldr r0, _08011470 @ =sub_11968 + 1 - bl sub_FE04 + ldr r0, _08011470 @ =sub_11968 + 1 + bl sub_FE04 _0801144A: - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _08011474 @ =0x086A964C - ldr r0, _08011478 @ =0x02002888 - ldrb r0, [r0, #6] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #8 - bne _08011480 - ldr r1, _0801147C @ =0x0202C588 - movs r0, #0 - b _08011484 - .align 2, 0 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _08011474 @ =0x086A964C + ldr r0, _08011478 @ =0x02002888 + ldrb r0, [r0, #6] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #8 + bne _08011480 + ldr r1, _0801147C @ =0x0202C588 + movs r0, #0 + b _08011484 + .align 2, 0 _08011470: .4byte sub_11968 + 1 _08011474: .4byte 0x086A964C _08011478: .4byte 0x02002888 _0801147C: .4byte 0x0202C588 _08011480: - ldr r1, _080114A4 @ =0x0202C588 - movs r0, #1 + ldr r1, _080114A4 @ =0x0202C588 + movs r0, #1 _08011484: - strh r0, [r1] - ldr r1, _080114A8 @ =0x0201A4B4 - movs r0, #0 - strb r0, [r1] - ldr r1, _080114AC @ =0x086A964C - ldr r0, _080114B0 @ =0x02002888 - ldrb r0, [r0, #6] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - bl sub_23C - pop {r0} - bx r0 - .align 2, 0 + strh r0, [r1] + ldr r1, _080114A8 @ =0x0201A4B4 + movs r0, #0 + strb r0, [r1] + ldr r1, _080114AC @ =0x086A964C + ldr r0, _080114B0 @ =0x02002888 + ldrb r0, [r0, #6] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r0, [r0] + bl sub_23C + pop {r0} + bx r0 + .align 2, 0 _080114A4: .4byte 0x0202C588 _080114A8: .4byte 0x0201A4B4 _080114AC: .4byte 0x086A964C _080114B0: .4byte 0x02002888 - thumb_func_start sub_114B4 + thumb_func_start sub_114B4 sub_114B4: @ 0x080114B4 - push {lr} - ldr r0, _080114E8 @ =sub_11640 + 1 - bl sub_FE04 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _080114EC @ =0x0202C588 - movs r0, #1 - strh r0, [r1] - ldr r1, _080114F0 @ =0x0201A4B4 - movs r0, #0 - strb r0, [r1] - ldr r1, _080114F4 @ =0x086A964C - ldr r0, _080114F8 @ =0x02002888 - ldrb r0, [r0, #6] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - bl sub_23C - pop {r0} - bx r0 - .align 2, 0 + push {lr} + ldr r0, _080114E8 @ =sub_11640 + 1 + bl sub_FE04 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _080114EC @ =0x0202C588 + movs r0, #1 + strh r0, [r1] + ldr r1, _080114F0 @ =0x0201A4B4 + movs r0, #0 + strb r0, [r1] + ldr r1, _080114F4 @ =0x086A964C + ldr r0, _080114F8 @ =0x02002888 + ldrb r0, [r0, #6] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r0, [r0] + bl sub_23C + pop {r0} + bx r0 + .align 2, 0 _080114E8: .4byte sub_11640 + 1 _080114EC: .4byte 0x0202C588 _080114F0: .4byte 0x0201A4B4 _080114F4: .4byte 0x086A964C _080114F8: .4byte 0x02002888 - thumb_func_start sub_114FC + thumb_func_start sub_114FC sub_114FC: @ 0x080114FC - push {r4, lr} - ldr r4, _0801156C @ =0x0200B0C0 - ldrh r2, [r4, #0x1c] - movs r1, #0x88 - lsls r1, r1, #2 - adds r0, r1, #0 - ands r0, r2 - cmp r0, r1 - bne _08011546 - ldrh r1, [r4, #0x18] - movs r0, #0x80 - lsls r0, r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08011546 - ldr r2, _08011570 @ =0x020028A1 - movs r0, #0x28 - strb r0, [r2] - ldr r1, _08011574 @ =0x020028A0 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - bne _08011546 - movs r0, #0 - strb r0, [r1] - strb r0, [r2] - movs r0, #0x68 - bl m4aSongNumStart - ldr r1, _08011578 @ =0x02002888 - movs r0, #1 - strb r0, [r1, #0x11] - movs r0, #9 - strb r0, [r4, #3] + push {r4, lr} + ldr r4, _0801156C @ =0x0200B0C0 + ldrh r2, [r4, #0x1c] + movs r1, #0x88 + lsls r1, r1, #2 + adds r0, r1, #0 + ands r0, r2 + cmp r0, r1 + bne _08011546 + ldrh r1, [r4, #0x18] + movs r0, #0x80 + lsls r0, r0, #1 + ands r0, r1 + cmp r0, #0 + beq _08011546 + ldr r2, _08011570 @ =0x020028A1 + movs r0, #0x28 + strb r0, [r2] + ldr r1, _08011574 @ =0x020028A0 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + bne _08011546 + movs r0, #0 + strb r0, [r1] + strb r0, [r2] + movs r0, #0x68 + bl m4aSongNumStart + ldr r1, _08011578 @ =0x02002888 + movs r0, #1 + strb r0, [r1, #0x11] + movs r0, #9 + strb r0, [r4, #3] _08011546: - ldr r2, _08011570 @ =0x020028A1 - ldrb r1, [r2] - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - ble _08011564 - subs r0, r1, #1 - strb r0, [r2] - lsls r0, r0, #0x18 - cmp r0, #0 - bgt _08011564 - movs r1, #0 - strb r1, [r2] - ldr r0, _08011574 @ =0x020028A0 - strb r1, [r0] + ldr r2, _08011570 @ =0x020028A1 + ldrb r1, [r2] + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + ble _08011564 + subs r0, r1, #1 + strb r0, [r2] + lsls r0, r0, #0x18 + cmp r0, #0 + bgt _08011564 + movs r1, #0 + strb r1, [r2] + ldr r0, _08011574 @ =0x020028A0 + strb r1, [r0] _08011564: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0801156C: .4byte 0x0200B0C0 _08011570: .4byte 0x020028A1 _08011574: .4byte 0x020028A0 _08011578: .4byte 0x02002888 - thumb_func_start sub_1157C + thumb_func_start sub_1157C sub_1157C: @ 0x0801157C - push {r4, r5, r6, r7, lr} - ldr r6, _080115E4 @ =0x086A97AC - ldr r3, _080115E8 @ =0x020028A2 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #1 - adds r0, r0, r6 - ldrh r5, [r0] - ldr r2, _080115EC @ =0x0200B0C0 - ldrh r1, [r2, #0x1c] - movs r0, #0x10 - ands r0, r1 - adds r4, r2, #0 - ldr r7, _080115F0 @ =0x020028A3 - cmp r0, #0 - beq _080115FC - ldrh r1, [r4, #0x18] - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - ands r1, r0 - cmp r1, r0 - bne _080115FC - movs r0, #0x28 - strb r0, [r7] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #1 - adds r0, r0, r6 - movs r2, #0 - ldrsh r1, [r0, r2] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _080115FC - movs r0, #0 - strb r0, [r3] - strb r0, [r7] - movs r0, #0x65 - bl m4aSongNumStart - ldr r1, _080115F4 @ =0x02002888 - movs r0, #5 - strb r0, [r1, #6] - ldrb r0, [r4, #3] - cmp r0, #1 - bne _080115F8 - movs r0, #0xb - b _080115FA - .align 2, 0 + push {r4, r5, r6, r7, lr} + ldr r6, _080115E4 @ =0x086A97AC + ldr r3, _080115E8 @ =0x020028A2 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #1 + adds r0, r0, r6 + ldrh r5, [r0] + ldr r2, _080115EC @ =0x0200B0C0 + ldrh r1, [r2, #0x1c] + movs r0, #0x10 + ands r0, r1 + adds r4, r2, #0 + ldr r7, _080115F0 @ =0x020028A3 + cmp r0, #0 + beq _080115FC + ldrh r1, [r4, #0x18] + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + ands r1, r0 + cmp r1, r0 + bne _080115FC + movs r0, #0x28 + strb r0, [r7] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #1 + adds r0, r0, r6 + movs r2, #0 + ldrsh r1, [r0, r2] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + bne _080115FC + movs r0, #0 + strb r0, [r3] + strb r0, [r7] + movs r0, #0x65 + bl m4aSongNumStart + ldr r1, _080115F4 @ =0x02002888 + movs r0, #5 + strb r0, [r1, #6] + ldrb r0, [r4, #3] + cmp r0, #1 + bne _080115F8 + movs r0, #0xb + b _080115FA + .align 2, 0 _080115E4: .4byte 0x086A97AC _080115E8: .4byte 0x020028A2 _080115EC: .4byte 0x0200B0C0 _080115F0: .4byte 0x020028A3 _080115F4: .4byte 0x02002888 _080115F8: - movs r0, #0xa + movs r0, #0xa _080115FA: - strb r0, [r4, #3] + strb r0, [r4, #3] _080115FC: - ldrh r0, [r4, #0x18] - ldr r1, _08011638 @ =0x000003FF - ands r0, r1 - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - bics r0, r1 - cmp r0, #0 - beq _08011614 - movs r1, #0 - strb r1, [r7] - ldr r0, _0801163C @ =0x020028A2 - strb r1, [r0] + ldrh r0, [r4, #0x18] + ldr r1, _08011638 @ =0x000003FF + ands r0, r1 + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + bics r0, r1 + cmp r0, #0 + beq _08011614 + movs r1, #0 + strb r1, [r7] + ldr r0, _0801163C @ =0x020028A2 + strb r1, [r0] _08011614: - ldrb r1, [r7] - movs r0, #0 - ldrsb r0, [r7, r0] - cmp r0, #0 - ble _08011630 - subs r0, r1, #1 - strb r0, [r7] - lsls r0, r0, #0x18 - cmp r0, #0 - bgt _08011630 - movs r1, #0 - strb r1, [r7] - ldr r0, _0801163C @ =0x020028A2 - strb r1, [r0] + ldrb r1, [r7] + movs r0, #0 + ldrsb r0, [r7, r0] + cmp r0, #0 + ble _08011630 + subs r0, r1, #1 + strb r0, [r7] + lsls r0, r0, #0x18 + cmp r0, #0 + bgt _08011630 + movs r1, #0 + strb r1, [r7] + ldr r0, _0801163C @ =0x020028A2 + strb r1, [r0] _08011630: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08011638: .4byte 0x000003FF _0801163C: .4byte 0x020028A2 - thumb_func_start sub_11640 + thumb_func_start sub_11640 sub_11640: @ 0x08011640 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r4, _08011744 @ =0x02002888 - movs r0, #8 - ldrsb r0, [r4, r0] - movs r1, #0xb8 - muls r0, r1, r0 - ldr r2, _08011748 @ =0x0200B3B8 - adds r7, r0, r2 - movs r0, #0x10 - ldrsb r0, [r4, r0] - muls r0, r1, r0 - adds r6, r0, r2 - movs r0, #9 - ldrsb r0, [r4, r0] - strh r0, [r7] - movs r0, #0x11 - ldrsb r0, [r4, r0] - strh r0, [r6] - ldr r5, _0801174C @ =0x086A96E4 - adds r0, r5, #0 - movs r1, #5 - bl sub_358 - ldrh r0, [r7] - cmp r0, #1 - bne _080116DC - movs r0, #0x78 - strh r0, [r7, #2] - movs r0, #0x66 - strh r0, [r7, #4] - movs r0, #8 - ldrsb r0, [r4, r0] - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r0, [r0] - mov ip, r0 - movs r5, #0 - ldrh r0, [r0] - cmp r5, r0 - bge _080116DC - ldr r1, _08011750 @ =0x03005000 - mov r8, r1 - ldr r2, _08011754 @ =0xFFFFFE00 - mov sb, r2 - adds r4, r7, #0 - adds r4, #8 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r4, _08011744 @ =0x02002888 + movs r0, #8 + ldrsb r0, [r4, r0] + movs r1, #0xb8 + muls r0, r1, r0 + ldr r2, _08011748 @ =0x0200B3B8 + adds r7, r0, r2 + movs r0, #0x10 + ldrsb r0, [r4, r0] + muls r0, r1, r0 + adds r6, r0, r2 + movs r0, #9 + ldrsb r0, [r4, r0] + strh r0, [r7] + movs r0, #0x11 + ldrsb r0, [r4, r0] + strh r0, [r6] + ldr r5, _0801174C @ =0x086A96E4 + adds r0, r5, #0 + movs r1, #5 + bl sub_358 + ldrh r0, [r7] + cmp r0, #1 + bne _080116DC + movs r0, #0x78 + strh r0, [r7, #2] + movs r0, #0x66 + strh r0, [r7, #4] + movs r0, #8 + ldrsb r0, [r4, r0] + lsls r0, r0, #2 + adds r0, r0, r5 + ldr r0, [r0] + mov ip, r0 + movs r5, #0 + ldrh r0, [r0] + cmp r5, r0 + bge _080116DC + ldr r1, _08011750 @ =0x03005000 + mov r8, r1 + ldr r2, _08011754 @ =0xFFFFFE00 + mov sb, r2 + adds r4, r7, #0 + adds r4, #8 _080116A2: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, r8 - movs r0, #2 - ldrsh r1, [r4, r0] - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - ldr r2, _08011758 @ =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 r1, [r4] - lsls r1, r1, #3 - add r1, r8 - ldrb r0, [r7, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #8 - adds r5, #1 - mov r0, ip - ldrh r0, [r0] - cmp r5, r0 - blt _080116A2 + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, r8 + movs r0, #2 + ldrsh r1, [r4, r0] + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + ldr r2, _08011758 @ =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 r1, [r4] + lsls r1, r1, #3 + add r1, r8 + ldrb r0, [r7, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #8 + adds r5, #1 + mov r0, ip + ldrh r0, [r0] + cmp r5, r0 + blt _080116A2 _080116DC: - ldrh r0, [r6] - cmp r0, #1 - bne _08011730 - movs r0, #0x78 - strh r0, [r6, #2] - movs r0, #0x50 - strh r0, [r6, #4] - ldr r1, _08011750 @ =0x03005000 - mov r8, r1 - ldr r2, _08011754 @ =0xFFFFFE00 - mov sb, r2 - adds r4, r6, #0 - adds r4, #8 - ldr r0, _08011758 @ =0x000001FF - mov ip, r0 - movs r5, #1 + ldrh r0, [r6] + cmp r0, #1 + bne _08011730 + movs r0, #0x78 + strh r0, [r6, #2] + movs r0, #0x50 + strh r0, [r6, #4] + ldr r1, _08011750 @ =0x03005000 + mov r8, r1 + ldr r2, _08011754 @ =0xFFFFFE00 + mov sb, r2 + adds r4, r6, #0 + adds r4, #8 + ldr r0, _08011758 @ =0x000001FF + mov ip, r0 + movs r5, #1 _080116FC: - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, r8 - movs r2, #2 - ldrsh r1, [r4, r2] - movs r2, #2 - ldrsh r0, [r6, r2] - adds r1, r1, r0 - mov r0, ip - ands r1, r0 - ldrh r2, [r3, #2] - mov r0, sb - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, r8 - 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 _080116FC + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, r8 + movs r2, #2 + ldrsh r1, [r4, r2] + movs r2, #2 + ldrsh r0, [r6, r2] + adds r1, r1, r0 + mov r0, ip + ands r1, r0 + ldrh r2, [r3, #2] + mov r0, sb + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, r8 + 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 _080116FC _08011730: - movs r0, #0 - strh r0, [r7] - strh r0, [r6] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + movs r0, #0 + strh r0, [r7] + strh r0, [r6] + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08011744: .4byte 0x02002888 _08011748: .4byte 0x0200B3B8 _0801174C: .4byte 0x086A96E4 @@ -34228,98 +34228,98 @@ _08011750: .4byte 0x03005000 _08011754: .4byte 0xFFFFFE00 _08011758: .4byte 0x000001FF - thumb_func_start sub_1175C + thumb_func_start sub_1175C sub_1175C: @ 0x0801175C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r2, _08011810 @ =0x0200B0C0 - ldrh r0, [r2, #0x38] - movs r0, #0x84 - lsls r0, r0, #2 - strh r0, [r2, #0x38] - ldrh r0, [r2, #0x3a] - ldr r0, _08011814 @ =0x00000808 - strh r0, [r2, #0x3a] - ldr r1, _08011818 @ =0x04000050 - ldrh r0, [r2, #0x38] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r2, #0x3a] - strh r0, [r1] - ldr r3, _0801181C @ =0x02002888 - movs r0, #0xa - ldrsb r0, [r3, r0] - movs r1, #0xb8 - muls r0, r1, r0 - movs r4, #0xbe - lsls r4, r4, #2 - adds r2, r2, r4 - adds r0, r0, r2 - mov sl, r0 - movs r0, #0xc - ldrsb r0, [r3, r0] - muls r0, r1, r0 - adds r0, r0, r2 - mov sb, r0 - movs r0, #0xe - ldrsb r0, [r3, r0] - muls r0, r1, r0 - adds r0, r0, r2 - mov r8, r0 - movs r0, #0xb - ldrsb r0, [r3, r0] - mov r6, sl - strh r0, [r6] - movs r0, #0xd - ldrsb r0, [r3, r0] - mov r7, sb - strh r0, [r7] - movs r0, #0xf - ldrsb r0, [r3, r0] - mov r1, r8 - strh r0, [r1] - ldr r4, _08011820 @ =0x0201C190 - adds r0, r4, #0 - movs r1, #7 - bl sub_358 - ldrh r0, [r6] - cmp r0, #1 - bne _0801187C - movs r0, #0x78 - strh r0, [r6, #2] - movs r0, #0x66 - strh r0, [r6, #4] - ldr r4, [r4, #0x18] - mov ip, r4 - movs r2, #0 - str r2, [sp] - ldrh r3, [r4] - cmp r2, r3 - bge _0801187C - ldr r6, _08011824 @ =0x03005000 - mov r4, sl - adds r4, #8 - mov r5, ip + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r2, _08011810 @ =0x0200B0C0 + ldrh r0, [r2, #0x38] + movs r0, #0x84 + lsls r0, r0, #2 + strh r0, [r2, #0x38] + ldrh r0, [r2, #0x3a] + ldr r0, _08011814 @ =0x00000808 + strh r0, [r2, #0x3a] + ldr r1, _08011818 @ =0x04000050 + ldrh r0, [r2, #0x38] + strh r0, [r1] + adds r1, #2 + ldrh r0, [r2, #0x3a] + strh r0, [r1] + ldr r3, _0801181C @ =0x02002888 + movs r0, #0xa + ldrsb r0, [r3, r0] + movs r1, #0xb8 + muls r0, r1, r0 + movs r4, #0xbe + lsls r4, r4, #2 + adds r2, r2, r4 + adds r0, r0, r2 + mov sl, r0 + movs r0, #0xc + ldrsb r0, [r3, r0] + muls r0, r1, r0 + adds r0, r0, r2 + mov sb, r0 + movs r0, #0xe + ldrsb r0, [r3, r0] + muls r0, r1, r0 + adds r0, r0, r2 + mov r8, r0 + movs r0, #0xb + ldrsb r0, [r3, r0] + mov r6, sl + strh r0, [r6] + movs r0, #0xd + ldrsb r0, [r3, r0] + mov r7, sb + strh r0, [r7] + movs r0, #0xf + ldrsb r0, [r3, r0] + mov r1, r8 + strh r0, [r1] + ldr r4, _08011820 @ =0x0201C190 + adds r0, r4, #0 + movs r1, #7 + bl sub_358 + ldrh r0, [r6] + cmp r0, #1 + bne _0801187C + movs r0, #0x78 + strh r0, [r6, #2] + movs r0, #0x66 + strh r0, [r6, #4] + ldr r4, [r4, #0x18] + mov ip, r4 + movs r2, #0 + str r2, [sp] + ldrh r3, [r4] + cmp r2, r3 + bge _0801187C + ldr r6, _08011824 @ =0x03005000 + mov r4, sl + adds r4, #8 + mov r5, ip _080117F2: - ldrh r0, [r5, #8] - cmp r0, #1 - bne _08011828 - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #1] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #1] - b _08011838 - .align 2, 0 + ldrh r0, [r5, #8] + cmp r0, #1 + bne _08011828 + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #1] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #1] + b _08011838 + .align 2, 0 _08011810: .4byte 0x0200B0C0 _08011814: .4byte 0x00000808 _08011818: .4byte 0x04000050 @@ -34327,158 +34327,158 @@ _0801181C: .4byte 0x02002888 _08011820: .4byte 0x0201C190 _08011824: .4byte 0x03005000 _08011828: - ldrh r0, [r4] - lsls r0, r0, #3 - adds r0, r0, r6 - ldrb r2, [r0, #1] - movs r1, #0xd - rsbs r1, r1, #0 - ands r1, r2 - strb r1, [r0, #1] + ldrh r0, [r4] + lsls r0, r0, #3 + adds r0, r0, r6 + ldrb r2, [r0, #1] + movs r1, #0xd + rsbs r1, r1, #0 + ands r1, r2 + strb r1, [r0, #1] _08011838: - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r7, #2 - ldrsh r1, [r4, r7] - mov r2, sl - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _08011950 @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _08011954 @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - mov r3, sl - ldrb r0, [r3, #4] - ldrb r7, [r4, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r4, #8 - adds r5, #8 - ldr r0, [sp] - adds r0, #1 - str r0, [sp] - mov r1, ip - ldrh r1, [r1] - cmp r0, r1 - blt _080117F2 + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r7, #2 + ldrsh r1, [r4, r7] + mov r2, sl + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _08011950 @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _08011954 @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + mov r3, sl + ldrb r0, [r3, #4] + ldrb r7, [r4, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r4, #8 + adds r5, #8 + ldr r0, [sp] + adds r0, #1 + str r0, [sp] + mov r1, ip + ldrh r1, [r1] + cmp r0, r1 + blt _080117F2 _0801187C: - mov r2, sb - ldrh r0, [r2] - cmp r0, #1 - bne _080118D8 - ldr r2, _08011958 @ =0x086A9684 - ldr r1, _0801195C @ =0x02002888 - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0] - mov r3, sb - strh r0, [r3, #2] - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0, #2] - strh r0, [r3, #4] - mov r5, sb - adds r5, #8 - ldr r4, _08011960 @ =0x03005000 - ldrh r2, [r3, #8] - lsls r2, r2, #3 - adds r2, r2, r4 - movs r6, #2 - ldrsh r1, [r5, r6] - movs r7, #2 - ldrsh r0, [r3, r7] - adds r1, r1, r0 - ldr r3, _08011950 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _08011954 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - mov r6, sb - 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] + mov r2, sb + ldrh r0, [r2] + cmp r0, #1 + bne _080118D8 + ldr r2, _08011958 @ =0x086A9684 + ldr r1, _0801195C @ =0x02002888 + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0] + mov r3, sb + strh r0, [r3, #2] + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0, #2] + strh r0, [r3, #4] + mov r5, sb + adds r5, #8 + ldr r4, _08011960 @ =0x03005000 + ldrh r2, [r3, #8] + lsls r2, r2, #3 + adds r2, r2, r4 + movs r6, #2 + ldrsh r1, [r5, r6] + movs r7, #2 + ldrsh r0, [r3, r7] + adds r1, r1, r0 + ldr r3, _08011950 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _08011954 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + mov r6, sb + 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] _080118D8: - mov r7, r8 - ldrh r0, [r7] - cmp r0, #1 - bne _08011930 - ldr r2, _08011964 @ =0x086A9694 - ldr r1, _0801195C @ =0x02002888 - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0] - strh r0, [r7, #2] - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0, #2] - strh r0, [r7, #4] - mov r5, r8 - adds r5, #8 - ldr r4, _08011960 @ =0x03005000 - ldrh r2, [r7, #8] - lsls r2, r2, #3 - adds r2, r2, r4 - movs r0, #2 - ldrsh r1, [r5, r0] - movs r3, #2 - ldrsh r0, [r7, r3] - adds r1, r1, r0 - ldr r6, _08011950 @ =0x000001FF - adds r0, r6, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _08011954 @ =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 r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] + mov r7, r8 + ldrh r0, [r7] + cmp r0, #1 + bne _08011930 + ldr r2, _08011964 @ =0x086A9694 + ldr r1, _0801195C @ =0x02002888 + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0] + strh r0, [r7, #2] + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0, #2] + strh r0, [r7, #4] + mov r5, r8 + adds r5, #8 + ldr r4, _08011960 @ =0x03005000 + ldrh r2, [r7, #8] + lsls r2, r2, #3 + adds r2, r2, r4 + movs r0, #2 + ldrsh r1, [r5, r0] + movs r3, #2 + ldrsh r0, [r7, r3] + adds r1, r1, r0 + ldr r6, _08011950 @ =0x000001FF + adds r0, r6, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _08011954 @ =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 r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] _08011930: - movs r0, #0 - mov r7, sl - strh r0, [r7] - mov r1, sb - strh r0, [r1] - mov r2, r8 - strh r0, [r2] - 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 + movs r0, #0 + mov r7, sl + strh r0, [r7] + mov r1, sb + strh r0, [r1] + mov r2, r8 + strh r0, [r2] + 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 _08011950: .4byte 0x000001FF _08011954: .4byte 0xFFFFFE00 _08011958: .4byte 0x086A9684 @@ -34486,98 +34486,98 @@ _0801195C: .4byte 0x02002888 _08011960: .4byte 0x03005000 _08011964: .4byte 0x086A9694 - thumb_func_start sub_11968 + thumb_func_start sub_11968 sub_11968: @ 0x08011968 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r2, _08011A1C @ =0x0200B0C0 - ldrh r0, [r2, #0x38] - movs r0, #0x84 - lsls r0, r0, #2 - strh r0, [r2, #0x38] - ldrh r0, [r2, #0x3a] - ldr r0, _08011A20 @ =0x00000808 - strh r0, [r2, #0x3a] - ldr r1, _08011A24 @ =0x04000050 - ldrh r0, [r2, #0x38] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r2, #0x3a] - strh r0, [r1] - ldr r3, _08011A28 @ =0x02002888 - movs r0, #0xa - ldrsb r0, [r3, r0] - movs r1, #0xb8 - muls r0, r1, r0 - movs r4, #0xbe - lsls r4, r4, #2 - adds r2, r2, r4 - adds r0, r0, r2 - mov sl, r0 - movs r0, #0xc - ldrsb r0, [r3, r0] - muls r0, r1, r0 - adds r0, r0, r2 - mov sb, r0 - movs r0, #0xe - ldrsb r0, [r3, r0] - muls r0, r1, r0 - adds r0, r0, r2 - mov r8, r0 - movs r0, #0xb - ldrsb r0, [r3, r0] - mov r6, sl - strh r0, [r6] - movs r0, #0xd - ldrsb r0, [r3, r0] - mov r7, sb - strh r0, [r7] - movs r0, #0xf - ldrsb r0, [r3, r0] - mov r1, r8 - strh r0, [r1] - ldr r4, _08011A2C @ =0x0202BE00 - adds r0, r4, #0 - movs r1, #7 - bl sub_358 - ldrh r0, [r6] - cmp r0, #1 - bne _08011A88 - movs r0, #0x78 - strh r0, [r6, #2] - movs r0, #0x66 - strh r0, [r6, #4] - ldr r4, [r4, #0x18] - mov ip, r4 - movs r2, #0 - str r2, [sp] - ldrh r3, [r4] - cmp r2, r3 - bge _08011A88 - ldr r6, _08011A30 @ =0x03005000 - mov r4, sl - adds r4, #8 - mov r5, ip + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r2, _08011A1C @ =0x0200B0C0 + ldrh r0, [r2, #0x38] + movs r0, #0x84 + lsls r0, r0, #2 + strh r0, [r2, #0x38] + ldrh r0, [r2, #0x3a] + ldr r0, _08011A20 @ =0x00000808 + strh r0, [r2, #0x3a] + ldr r1, _08011A24 @ =0x04000050 + ldrh r0, [r2, #0x38] + strh r0, [r1] + adds r1, #2 + ldrh r0, [r2, #0x3a] + strh r0, [r1] + ldr r3, _08011A28 @ =0x02002888 + movs r0, #0xa + ldrsb r0, [r3, r0] + movs r1, #0xb8 + muls r0, r1, r0 + movs r4, #0xbe + lsls r4, r4, #2 + adds r2, r2, r4 + adds r0, r0, r2 + mov sl, r0 + movs r0, #0xc + ldrsb r0, [r3, r0] + muls r0, r1, r0 + adds r0, r0, r2 + mov sb, r0 + movs r0, #0xe + ldrsb r0, [r3, r0] + muls r0, r1, r0 + adds r0, r0, r2 + mov r8, r0 + movs r0, #0xb + ldrsb r0, [r3, r0] + mov r6, sl + strh r0, [r6] + movs r0, #0xd + ldrsb r0, [r3, r0] + mov r7, sb + strh r0, [r7] + movs r0, #0xf + ldrsb r0, [r3, r0] + mov r1, r8 + strh r0, [r1] + ldr r4, _08011A2C @ =0x0202BE00 + adds r0, r4, #0 + movs r1, #7 + bl sub_358 + ldrh r0, [r6] + cmp r0, #1 + bne _08011A88 + movs r0, #0x78 + strh r0, [r6, #2] + movs r0, #0x66 + strh r0, [r6, #4] + ldr r4, [r4, #0x18] + mov ip, r4 + movs r2, #0 + str r2, [sp] + ldrh r3, [r4] + cmp r2, r3 + bge _08011A88 + ldr r6, _08011A30 @ =0x03005000 + mov r4, sl + adds r4, #8 + mov r5, ip _080119FE: - ldrh r0, [r5, #8] - cmp r0, #1 - bne _08011A34 - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #1] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #1] - b _08011A44 - .align 2, 0 + ldrh r0, [r5, #8] + cmp r0, #1 + bne _08011A34 + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #1] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #1] + b _08011A44 + .align 2, 0 _08011A1C: .4byte 0x0200B0C0 _08011A20: .4byte 0x00000808 _08011A24: .4byte 0x04000050 @@ -34585,158 +34585,158 @@ _08011A28: .4byte 0x02002888 _08011A2C: .4byte 0x0202BE00 _08011A30: .4byte 0x03005000 _08011A34: - ldrh r0, [r4] - lsls r0, r0, #3 - adds r0, r0, r6 - ldrb r2, [r0, #1] - movs r1, #0xd - rsbs r1, r1, #0 - ands r1, r2 - strb r1, [r0, #1] + ldrh r0, [r4] + lsls r0, r0, #3 + adds r0, r0, r6 + ldrb r2, [r0, #1] + movs r1, #0xd + rsbs r1, r1, #0 + ands r1, r2 + strb r1, [r0, #1] _08011A44: - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r7, #2 - ldrsh r1, [r4, r7] - mov r2, sl - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _08011B5C @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _08011B60 @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - mov r3, sl - ldrb r0, [r3, #4] - ldrb r7, [r4, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r4, #8 - adds r5, #8 - ldr r0, [sp] - adds r0, #1 - str r0, [sp] - mov r1, ip - ldrh r1, [r1] - cmp r0, r1 - blt _080119FE + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r7, #2 + ldrsh r1, [r4, r7] + mov r2, sl + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _08011B5C @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _08011B60 @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + mov r3, sl + ldrb r0, [r3, #4] + ldrb r7, [r4, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r4, #8 + adds r5, #8 + ldr r0, [sp] + adds r0, #1 + str r0, [sp] + mov r1, ip + ldrh r1, [r1] + cmp r0, r1 + blt _080119FE _08011A88: - mov r2, sb - ldrh r0, [r2] - cmp r0, #1 - bne _08011AE4 - ldr r2, _08011B64 @ =0x086A96AC - ldr r1, _08011B68 @ =0x02002888 - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0] - mov r3, sb - strh r0, [r3, #2] - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0, #2] - strh r0, [r3, #4] - mov r5, sb - adds r5, #8 - ldr r4, _08011B6C @ =0x03005000 - ldrh r2, [r3, #8] - lsls r2, r2, #3 - adds r2, r2, r4 - movs r6, #2 - ldrsh r1, [r5, r6] - movs r7, #2 - ldrsh r0, [r3, r7] - adds r1, r1, r0 - ldr r3, _08011B5C @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _08011B60 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - mov r6, sb - 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] + mov r2, sb + ldrh r0, [r2] + cmp r0, #1 + bne _08011AE4 + ldr r2, _08011B64 @ =0x086A96AC + ldr r1, _08011B68 @ =0x02002888 + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0] + mov r3, sb + strh r0, [r3, #2] + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0, #2] + strh r0, [r3, #4] + mov r5, sb + adds r5, #8 + ldr r4, _08011B6C @ =0x03005000 + ldrh r2, [r3, #8] + lsls r2, r2, #3 + adds r2, r2, r4 + movs r6, #2 + ldrsh r1, [r5, r6] + movs r7, #2 + ldrsh r0, [r3, r7] + adds r1, r1, r0 + ldr r3, _08011B5C @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _08011B60 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + mov r6, sb + 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] _08011AE4: - mov r7, r8 - ldrh r0, [r7] - cmp r0, #1 - bne _08011B3C - ldr r2, _08011B70 @ =0x086A96C0 - ldr r1, _08011B68 @ =0x02002888 - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0] - strh r0, [r7, #2] - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0, #2] - strh r0, [r7, #4] - mov r5, r8 - adds r5, #8 - ldr r4, _08011B6C @ =0x03005000 - ldrh r2, [r7, #8] - lsls r2, r2, #3 - adds r2, r2, r4 - movs r0, #2 - ldrsh r1, [r5, r0] - movs r3, #2 - ldrsh r0, [r7, r3] - adds r1, r1, r0 - ldr r6, _08011B5C @ =0x000001FF - adds r0, r6, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _08011B60 @ =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 r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] + mov r7, r8 + ldrh r0, [r7] + cmp r0, #1 + bne _08011B3C + ldr r2, _08011B70 @ =0x086A96C0 + ldr r1, _08011B68 @ =0x02002888 + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0] + strh r0, [r7, #2] + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0, #2] + strh r0, [r7, #4] + mov r5, r8 + adds r5, #8 + ldr r4, _08011B6C @ =0x03005000 + ldrh r2, [r7, #8] + lsls r2, r2, #3 + adds r2, r2, r4 + movs r0, #2 + ldrsh r1, [r5, r0] + movs r3, #2 + ldrsh r0, [r7, r3] + adds r1, r1, r0 + ldr r6, _08011B5C @ =0x000001FF + adds r0, r6, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _08011B60 @ =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 r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] _08011B3C: - movs r0, #0 - mov r7, sl - strh r0, [r7] - mov r1, sb - strh r0, [r1] - mov r2, r8 - strh r0, [r2] - 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 + movs r0, #0 + mov r7, sl + strh r0, [r7] + mov r1, sb + strh r0, [r1] + mov r2, r8 + strh r0, [r2] + 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 _08011B5C: .4byte 0x000001FF _08011B60: .4byte 0xFFFFFE00 _08011B64: .4byte 0x086A96AC @@ -34744,272 +34744,272 @@ _08011B68: .4byte 0x02002888 _08011B6C: .4byte 0x03005000 _08011B70: .4byte 0x086A96C0 - thumb_func_start sub_11B74 + thumb_func_start sub_11B74 sub_11B74: @ 0x08011B74 - push {lr} - bl sub_52C64 - bl sub_52B30 - ldr r0, _08011B94 @ =0x0200B0C0 - movs r1, #0 - str r1, [r0, #0x40] - adds r0, #0x40 - ldr r1, _08011B98 @ =0x0E000544 - movs r2, #4 - bl sub_55654 - pop {r0} - bx r0 - .align 2, 0 + push {lr} + bl sub_52C64 + bl sub_52B30 + ldr r0, _08011B94 @ =0x0200B0C0 + movs r1, #0 + str r1, [r0, #0x40] + adds r0, #0x40 + ldr r1, _08011B98 @ =0x0E000544 + movs r2, #4 + bl sub_55654 + pop {r0} + bx r0 + .align 2, 0 _08011B94: .4byte 0x0200B0C0 _08011B98: .4byte 0x0E000544 - thumb_func_start sub_11B9C + thumb_func_start sub_11B9C sub_11B9C: @ 0x08011B9C - push {r4, lr} - ldr r0, _08011BC0 @ =0x0200B0C0 - ldrb r0, [r0, #6] - cmp r0, #0 - bne _08011BD0 - ldr r0, _08011BC4 @ =0x020314E0 - ldr r0, [r0] - ldr r2, _08011BC8 @ =0x0000132C - adds r1, r0, r2 - ldr r3, _08011BCC @ =0x00001334 - adds r0, r0, r3 - str r0, [r1] - movs r0, #0 - bl sub_11C14 - bl sub_12524 - b _08011C02 - .align 2, 0 + push {r4, lr} + ldr r0, _08011BC0 @ =0x0200B0C0 + ldrb r0, [r0, #6] + cmp r0, #0 + bne _08011BD0 + ldr r0, _08011BC4 @ =0x020314E0 + ldr r0, [r0] + ldr r2, _08011BC8 @ =0x0000132C + adds r1, r0, r2 + ldr r3, _08011BCC @ =0x00001334 + adds r0, r0, r3 + str r0, [r1] + movs r0, #0 + bl sub_11C14 + bl sub_12524 + b _08011C02 + .align 2, 0 _08011BC0: .4byte 0x0200B0C0 _08011BC4: .4byte 0x020314E0 _08011BC8: .4byte 0x0000132C _08011BCC: .4byte 0x00001334 _08011BD0: - movs r3, #0 + movs r3, #0 _08011BD2: - ldr r0, _08011C08 @ =0x020314E0 - ldr r1, [r0] - ldr r0, _08011C0C @ =0x0000132C - adds r2, r1, r0 - lsls r4, r3, #0x10 - asrs r4, r4, #0x10 - lsls r0, r4, #4 - adds r0, r0, r4 - lsls r0, r0, #2 - ldr r3, _08011C10 @ =0x00001334 - adds r0, r0, r3 - adds r1, r1, r0 - str r1, [r2] - adds r0, r4, #0 - bl sub_11C14 - adds r4, #1 - lsls r4, r4, #0x10 - lsrs r3, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #1 - ble _08011BD2 - bl sub_12BF8 + ldr r0, _08011C08 @ =0x020314E0 + ldr r1, [r0] + ldr r0, _08011C0C @ =0x0000132C + adds r2, r1, r0 + lsls r4, r3, #0x10 + asrs r4, r4, #0x10 + lsls r0, r4, #4 + adds r0, r0, r4 + lsls r0, r0, #2 + ldr r3, _08011C10 @ =0x00001334 + adds r0, r0, r3 + adds r1, r1, r0 + str r1, [r2] + adds r0, r4, #0 + bl sub_11C14 + adds r4, #1 + lsls r4, r4, #0x10 + lsrs r3, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #1 + ble _08011BD2 + bl sub_12BF8 _08011C02: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08011C08: .4byte 0x020314E0 _08011C0C: .4byte 0x0000132C _08011C10: .4byte 0x00001334 - thumb_func_start sub_11C14 + thumb_func_start sub_11C14 sub_11C14: @ 0x08011C14 - push {r4, r5, lr} - ldr r3, _08011C6C @ =0x020314E0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #4 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _08011C70 @ =0x00001334 - adds r1, r1, r0 - ldr r0, [r3] - adds r4, r0, r1 - ldr r1, _08011C74 @ =0x02031520 - ldrh r0, [r1, #0x26] - movs r2, #0 - strh r0, [r4, #0x10] - ldrh r0, [r1, #0x28] - strh r0, [r4, #0x12] - movs r5, #0x10 - ldrsh r0, [r4, r5] - lsls r0, r0, #8 - str r0, [r4, #0x34] - movs r5, #0x12 - ldrsh r0, [r4, r5] - lsls r0, r0, #8 - str r0, [r4, #0x38] - movs r5, #0x26 - ldrsh r0, [r1, r5] - lsls r0, r0, #1 - strh r0, [r4, #0x28] - movs r5, #0x28 - ldrsh r0, [r1, r5] - lsls r0, r0, #1 - strh r0, [r4, #0x2a] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0xe] - strh r2, [r4, #0x30] - strh r2, [r4, #0x32] - ldr r0, _08011C78 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _08011C7C - movs r0, #3 - b _08011C7E - .align 2, 0 + push {r4, r5, lr} + ldr r3, _08011C6C @ =0x020314E0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #4 + adds r1, r1, r0 + lsls r1, r1, #2 + ldr r0, _08011C70 @ =0x00001334 + adds r1, r1, r0 + ldr r0, [r3] + adds r4, r0, r1 + ldr r1, _08011C74 @ =0x02031520 + ldrh r0, [r1, #0x26] + movs r2, #0 + strh r0, [r4, #0x10] + ldrh r0, [r1, #0x28] + strh r0, [r4, #0x12] + movs r5, #0x10 + ldrsh r0, [r4, r5] + lsls r0, r0, #8 + str r0, [r4, #0x34] + movs r5, #0x12 + ldrsh r0, [r4, r5] + lsls r0, r0, #8 + str r0, [r4, #0x38] + movs r5, #0x26 + ldrsh r0, [r1, r5] + lsls r0, r0, #1 + strh r0, [r4, #0x28] + movs r5, #0x28 + ldrsh r0, [r1, r5] + lsls r0, r0, #1 + strh r0, [r4, #0x2a] + movs r0, #0x80 + lsls r0, r0, #1 + strh r0, [r4, #0xe] + strh r2, [r4, #0x30] + strh r2, [r4, #0x32] + ldr r0, _08011C78 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #0 + bne _08011C7C + movs r0, #3 + b _08011C7E + .align 2, 0 _08011C6C: .4byte 0x020314E0 _08011C70: .4byte 0x00001334 _08011C74: .4byte 0x02031520 _08011C78: .4byte 0x0200B0C0 _08011C7C: - movs r0, #1 + movs r0, #1 _08011C7E: - strb r0, [r4, #1] - movs r0, #0 - strh r0, [r4, #6] - ldr r0, [r3] - ldr r1, _08011C94 @ =0x000005B2 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + strb r0, [r4, #1] + movs r0, #0 + strh r0, [r4, #6] + ldr r0, [r3] + ldr r1, _08011C94 @ =0x000005B2 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08011C94: .4byte 0x000005B2 - thumb_func_start sub_11C98 + thumb_func_start sub_11C98 sub_11C98: @ 0x08011C98 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r0, _08011CE0 @ =0x020314E0 - ldr r2, [r0] - ldr r1, _08011CE4 @ =0x0000132C - adds r0, r2, r1 - ldr r6, [r0] - ldr r0, [r6, #0x34] - ldr r1, [r6, #0x38] - str r0, [r6, #0x3c] - str r1, [r6, #0x40] - ldr r1, _08011CE8 @ =0x000005A4 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, #2 - bne _08011CBE - b _08011F48 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r0, _08011CE0 @ =0x020314E0 + ldr r2, [r0] + ldr r1, _08011CE4 @ =0x0000132C + adds r0, r2, r1 + ldr r6, [r0] + ldr r0, [r6, #0x34] + ldr r1, [r6, #0x38] + str r0, [r6, #0x3c] + str r1, [r6, #0x40] + ldr r1, _08011CE8 @ =0x000005A4 + adds r0, r2, r1 + ldrb r0, [r0] + cmp r0, #2 + bne _08011CBE + b _08011F48 _08011CBE: - adds r0, r2, #0 - adds r0, #0x31 - ldrb r0, [r0] - cmp r0, #0 - bne _08011CCA - b _08011E04 + adds r0, r2, #0 + adds r0, #0x31 + ldrb r0, [r0] + cmp r0, #0 + bne _08011CCA + b _08011E04 _08011CCA: - ldrb r0, [r2, #0x1f] - cmp r0, #0 - bne _08011D0A - ldrh r3, [r6, #0x32] - movs r1, #0x32 - ldrsh r0, [r6, r1] - cmp r0, #0xa0 - ble _08011CF0 - ldr r0, _08011CEC @ =0x08137910 - b _08011CFE - .align 2, 0 + ldrb r0, [r2, #0x1f] + cmp r0, #0 + bne _08011D0A + ldrh r3, [r6, #0x32] + movs r1, #0x32 + ldrsh r0, [r6, r1] + cmp r0, #0xa0 + ble _08011CF0 + ldr r0, _08011CEC @ =0x08137910 + b _08011CFE + .align 2, 0 _08011CE0: .4byte 0x020314E0 _08011CE4: .4byte 0x0000132C _08011CE8: .4byte 0x000005A4 _08011CEC: .4byte 0x08137910 _08011CF0: - cmp r0, #0x50 - ble _08011CFC - ldr r0, _08011CF8 @ =0x08137908 - b _08011CFE - .align 2, 0 + cmp r0, #0x50 + ble _08011CFC + ldr r0, _08011CF8 @ =0x08137908 + b _08011CFE + .align 2, 0 _08011CF8: .4byte 0x08137908 _08011CFC: - ldr r0, _08011D8C @ =0x08137900 + ldr r0, _08011D8C @ =0x08137900 _08011CFE: - ldrb r1, [r2, #0x1e] - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r0, r3, r0 - strh r0, [r6, #0x32] + ldrb r1, [r2, #0x1e] + lsls r1, r1, #1 + adds r1, r1, r0 + ldrh r0, [r1] + adds r0, r3, r0 + strh r0, [r6, #0x32] _08011D0A: - movs r2, #0x30 - ldrsh r0, [r6, r2] - ldrh r1, [r6, #0x32] - rsbs r1, r1, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - bl ArcTan2 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - adds r4, r7, #0 - movs r1, #0x30 - ldrsh r0, [r6, r1] - adds r1, r0, #0 - muls r1, r0, r1 - movs r2, #0x32 - ldrsh r0, [r6, r2] - adds r2, r0, #0 - muls r2, r0, r2 - adds r0, r2, #0 - adds r2, r1, r0 - movs r0, #0x12 - ldrsh r1, [r6, r0] - ldr r0, _08011D90 @ =0x0000017B - cmp r1, r0 - bgt _08011DA4 - movs r1, #0x88 - lsls r1, r1, #1 - mov r8, r1 - ldr r0, _08011D94 @ =0x00012100 - cmp r2, r0 - bgt _08011D4C - b _08011F2C + movs r2, #0x30 + ldrsh r0, [r6, r2] + ldrh r1, [r6, #0x32] + rsbs r1, r1, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + bl ArcTan2 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + adds r4, r7, #0 + movs r1, #0x30 + ldrsh r0, [r6, r1] + adds r1, r0, #0 + muls r1, r0, r1 + movs r2, #0x32 + ldrsh r0, [r6, r2] + adds r2, r0, #0 + muls r2, r0, r2 + adds r0, r2, #0 + adds r2, r1, r0 + movs r0, #0x12 + ldrsh r1, [r6, r0] + ldr r0, _08011D90 @ =0x0000017B + cmp r1, r0 + bgt _08011DA4 + movs r1, #0x88 + lsls r1, r1, #1 + mov r8, r1 + ldr r0, _08011D94 @ =0x00012100 + cmp r2, r0 + bgt _08011D4C + b _08011F2C _08011D4C: - adds r0, r7, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - mov r2, r8 - muls r2, r0, r2 - adds r0, r2, #0 - ldr r1, _08011D98 @ =0x00004E20 - mov sb, r1 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08011D9C @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - adds r0, r7, #0 - bl sub_C24 - mov r2, r8 - rsbs r1, r2, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - mov r1, sb - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _08011DA0 @ =0x0000FFFF - ands r5, r1 - b _08011F32 - .align 2, 0 + adds r0, r7, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + mov r2, r8 + muls r2, r0, r2 + adds r0, r2, #0 + ldr r1, _08011D98 @ =0x00004E20 + mov sb, r1 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08011D9C @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + adds r0, r7, #0 + bl sub_C24 + mov r2, r8 + rsbs r1, r2, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + mov r1, sb + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _08011DA0 @ =0x0000FFFF + ands r5, r1 + b _08011F32 + .align 2, 0 _08011D8C: .4byte 0x08137900 _08011D90: .4byte 0x0000017B _08011D94: .4byte 0x00012100 @@ -35017,137 +35017,137 @@ _08011D98: .4byte 0x00004E20 _08011D9C: .4byte 0xFFFF0000 _08011DA0: .4byte 0x0000FFFF _08011DA4: - movs r0, #0xc8 - lsls r0, r0, #1 - mov r8, r0 - ldr r0, _08011DF4 @ =0x00027100 - cmp r2, r0 - bgt _08011DB2 - b _08011F2C + movs r0, #0xc8 + lsls r0, r0, #1 + mov r8, r0 + ldr r0, _08011DF4 @ =0x00027100 + cmp r2, r0 + bgt _08011DB2 + b _08011F2C _08011DB2: - adds r0, r4, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - mov r1, r8 - muls r1, r0, r1 - adds r0, r1, #0 - ldr r7, _08011DF8 @ =0x00004E20 - adds r1, r7, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08011DFC @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - adds r0, r4, #0 - bl sub_C24 - mov r2, r8 - rsbs r1, r2, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r7, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _08011E00 @ =0x0000FFFF - ands r5, r1 - b _08011F32 - .align 2, 0 + adds r0, r4, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + mov r1, r8 + muls r1, r0, r1 + adds r0, r1, #0 + ldr r7, _08011DF8 @ =0x00004E20 + adds r1, r7, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08011DFC @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + adds r0, r4, #0 + bl sub_C24 + mov r2, r8 + rsbs r1, r2, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r7, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _08011E00 @ =0x0000FFFF + ands r5, r1 + b _08011F32 + .align 2, 0 _08011DF4: .4byte 0x00027100 _08011DF8: .4byte 0x00004E20 _08011DFC: .4byte 0xFFFF0000 _08011E00: .4byte 0x0000FFFF _08011E04: - ldrb r0, [r2, #0x1f] - cmp r0, #0 - bne _08011E36 - ldrh r3, [r6, #0x32] - movs r1, #0x32 - ldrsh r0, [r6, r1] - cmp r0, #0xc8 - ble _08011E1C - ldr r0, _08011E18 @ =0x08137910 - b _08011E2A - .align 2, 0 + ldrb r0, [r2, #0x1f] + cmp r0, #0 + bne _08011E36 + ldrh r3, [r6, #0x32] + movs r1, #0x32 + ldrsh r0, [r6, r1] + cmp r0, #0xc8 + ble _08011E1C + ldr r0, _08011E18 @ =0x08137910 + b _08011E2A + .align 2, 0 _08011E18: .4byte 0x08137910 _08011E1C: - cmp r0, #0x64 - ble _08011E28 - ldr r0, _08011E24 @ =0x08137908 - b _08011E2A - .align 2, 0 + cmp r0, #0x64 + ble _08011E28 + ldr r0, _08011E24 @ =0x08137908 + b _08011E2A + .align 2, 0 _08011E24: .4byte 0x08137908 _08011E28: - ldr r0, _08011EB8 @ =0x08137900 + ldr r0, _08011EB8 @ =0x08137900 _08011E2A: - ldrb r1, [r2, #0x1e] - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r0, r3, r0 - strh r0, [r6, #0x32] + ldrb r1, [r2, #0x1e] + lsls r1, r1, #1 + adds r1, r1, r0 + ldrh r0, [r1] + adds r0, r3, r0 + strh r0, [r6, #0x32] _08011E36: - movs r2, #0x30 - ldrsh r0, [r6, r2] - ldrh r1, [r6, #0x32] - rsbs r1, r1, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - bl ArcTan2 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - mov sb, r7 - movs r1, #0x30 - ldrsh r0, [r6, r1] - adds r1, r0, #0 - muls r1, r0, r1 - movs r2, #0x32 - ldrsh r0, [r6, r2] - adds r2, r0, #0 - muls r2, r0, r2 - adds r0, r2, #0 - adds r2, r1, r0 - movs r0, #0x12 - ldrsh r1, [r6, r0] - ldr r0, _08011EBC @ =0x0000017B - cmp r1, r0 - bgt _08011ED0 - movs r1, #0xa8 - lsls r1, r1, #1 - mov r8, r1 - ldr r0, _08011EC0 @ =0x0001B900 - cmp r2, r0 - ble _08011F2C - adds r0, r7, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - mov r2, r8 - muls r2, r0, r2 - adds r0, r2, #0 - ldr r1, _08011EC4 @ =0x00004E20 - mov sb, r1 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08011EC8 @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - adds r0, r7, #0 - bl sub_C24 - mov r2, r8 - rsbs r1, r2, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - mov r1, sb - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _08011ECC @ =0x0000FFFF - ands r5, r1 - b _08011F32 - .align 2, 0 + movs r2, #0x30 + ldrsh r0, [r6, r2] + ldrh r1, [r6, #0x32] + rsbs r1, r1, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + bl ArcTan2 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + mov sb, r7 + movs r1, #0x30 + ldrsh r0, [r6, r1] + adds r1, r0, #0 + muls r1, r0, r1 + movs r2, #0x32 + ldrsh r0, [r6, r2] + adds r2, r0, #0 + muls r2, r0, r2 + adds r0, r2, #0 + adds r2, r1, r0 + movs r0, #0x12 + ldrsh r1, [r6, r0] + ldr r0, _08011EBC @ =0x0000017B + cmp r1, r0 + bgt _08011ED0 + movs r1, #0xa8 + lsls r1, r1, #1 + mov r8, r1 + ldr r0, _08011EC0 @ =0x0001B900 + cmp r2, r0 + ble _08011F2C + adds r0, r7, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + mov r2, r8 + muls r2, r0, r2 + adds r0, r2, #0 + ldr r1, _08011EC4 @ =0x00004E20 + mov sb, r1 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08011EC8 @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + adds r0, r7, #0 + bl sub_C24 + mov r2, r8 + rsbs r1, r2, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + mov r1, sb + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _08011ECC @ =0x0000FFFF + ands r5, r1 + b _08011F32 + .align 2, 0 _08011EB8: .4byte 0x08137900 _08011EBC: .4byte 0x0000017B _08011EC0: .4byte 0x0001B900 @@ -35155,227 +35155,227 @@ _08011EC4: .4byte 0x00004E20 _08011EC8: .4byte 0xFFFF0000 _08011ECC: .4byte 0x0000FFFF _08011ED0: - movs r0, #0xc8 - lsls r0, r0, #1 - mov r8, r0 - ldr r0, _08011F1C @ =0x00027100 - cmp r2, r0 - ble _08011F2C - mov r0, sb - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - mov r1, r8 - muls r1, r0, r1 - adds r0, r1, #0 - ldr r7, _08011F20 @ =0x00004E20 - adds r1, r7, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08011F24 @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - mov r0, sb - bl sub_C24 - mov r2, r8 - rsbs r1, r2, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r7, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _08011F28 @ =0x0000FFFF - ands r5, r1 - b _08011F32 - .align 2, 0 + movs r0, #0xc8 + lsls r0, r0, #1 + mov r8, r0 + ldr r0, _08011F1C @ =0x00027100 + cmp r2, r0 + ble _08011F2C + mov r0, sb + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + mov r1, r8 + muls r1, r0, r1 + adds r0, r1, #0 + ldr r7, _08011F20 @ =0x00004E20 + adds r1, r7, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08011F24 @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + mov r0, sb + bl sub_C24 + mov r2, r8 + rsbs r1, r2, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r7, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _08011F28 @ =0x0000FFFF + ands r5, r1 + b _08011F32 + .align 2, 0 _08011F1C: .4byte 0x00027100 _08011F20: .4byte 0x00004E20 _08011F24: .4byte 0xFFFF0000 _08011F28: .4byte 0x0000FFFF _08011F2C: - ldrh r0, [r6, #0x32] - lsls r0, r0, #0x10 - ldrh r5, [r6, #0x30] + ldrh r0, [r6, #0x32] + lsls r0, r0, #0x10 + ldrh r5, [r6, #0x30] _08011F32: - orrs r5, r0 - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - ldr r0, [r6, #0x34] - adds r0, r0, r1 - str r0, [r6, #0x34] - asrs r1, r5, #0x10 - ldr r0, [r6, #0x38] - adds r0, r0, r1 - str r0, [r6, #0x38] - b _08011F4C + orrs r5, r0 + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + ldr r0, [r6, #0x34] + adds r0, r0, r1 + str r0, [r6, #0x34] + asrs r1, r5, #0x10 + ldr r0, [r6, #0x38] + adds r0, r0, r1 + str r0, [r6, #0x38] + b _08011F4C _08011F48: - bl sub_2AADC + bl sub_2AADC _08011F4C: - ldr r0, [r6, #0x28] - str r0, [r6, #0x2c] - ldr r1, [r6, #0x34] - adds r0, r1, #0 - adds r0, #0x40 - cmp r0, #0 - bge _08011F5C - adds r0, #0x7f + ldr r0, [r6, #0x28] + str r0, [r6, #0x2c] + ldr r1, [r6, #0x34] + adds r0, r1, #0 + adds r0, #0x40 + cmp r0, #0 + bge _08011F5C + adds r0, #0x7f _08011F5C: - asrs r0, r0, #7 - strh r0, [r6, #0x28] - ldr r1, [r6, #0x38] - adds r0, r1, #0 - adds r0, #0x40 - cmp r0, #0 - bge _08011F6C - adds r0, #0x7f + asrs r0, r0, #7 + strh r0, [r6, #0x28] + ldr r1, [r6, #0x38] + adds r0, r1, #0 + adds r0, #0x40 + cmp r0, #0 + bge _08011F6C + adds r0, #0x7f _08011F6C: - asrs r0, r0, #7 - strh r0, [r6, #0x2a] - ldrh r0, [r6, #6] - strh r0, [r6, #8] - ldrh r1, [r6, #0xa] - adds r0, r0, r1 - strh r0, [r6, #0xa] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_start sub_11F88 + asrs r0, r0, #7 + strh r0, [r6, #0x2a] + ldrh r0, [r6, #6] + strh r0, [r6, #8] + ldrh r1, [r6, #0xa] + adds r0, r0, r1 + strh r0, [r6, #0xa] + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_start sub_11F88 sub_11F88: @ 0x08011F88 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r2, _08011FD0 @ =0x020314E0 - ldr r3, [r2] - ldr r1, _08011FD4 @ =0x0000132C - adds r0, r3, r1 - ldr r6, [r0] - ldr r0, [r6, #0x34] - ldr r1, [r6, #0x38] - str r0, [r6, #0x3c] - str r1, [r6, #0x40] - ldr r1, _08011FD8 @ =0x000005A4 - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, #2 - bne _08011FAE - b _080124E4 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r2, _08011FD0 @ =0x020314E0 + ldr r3, [r2] + ldr r1, _08011FD4 @ =0x0000132C + adds r0, r3, r1 + ldr r6, [r0] + ldr r0, [r6, #0x34] + ldr r1, [r6, #0x38] + str r0, [r6, #0x3c] + str r1, [r6, #0x40] + ldr r1, _08011FD8 @ =0x000005A4 + adds r0, r3, r1 + ldrb r0, [r0] + cmp r0, #2 + bne _08011FAE + b _080124E4 _08011FAE: - ldrb r0, [r3, #0x1f] - cmp r0, #0 - bne _08011FFE - ldr r1, _08011FDC @ =0x00000383 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08011FFE - ldrh r4, [r6, #0x32] - movs r1, #0x32 - ldrsh r0, [r6, r1] - cmp r0, #0x96 - ble _08011FE4 - ldr r0, _08011FE0 @ =0x08137910 - b _08011FF2 - .align 2, 0 + ldrb r0, [r3, #0x1f] + cmp r0, #0 + bne _08011FFE + ldr r1, _08011FDC @ =0x00000383 + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08011FFE + ldrh r4, [r6, #0x32] + movs r1, #0x32 + ldrsh r0, [r6, r1] + cmp r0, #0x96 + ble _08011FE4 + ldr r0, _08011FE0 @ =0x08137910 + b _08011FF2 + .align 2, 0 _08011FD0: .4byte 0x020314E0 _08011FD4: .4byte 0x0000132C _08011FD8: .4byte 0x000005A4 _08011FDC: .4byte 0x00000383 _08011FE0: .4byte 0x08137910 _08011FE4: - cmp r0, #0x4b - ble _08011FF0 - ldr r0, _08011FEC @ =0x08137908 - b _08011FF2 - .align 2, 0 + cmp r0, #0x4b + ble _08011FF0 + ldr r0, _08011FEC @ =0x08137908 + b _08011FF2 + .align 2, 0 _08011FEC: .4byte 0x08137908 _08011FF0: - ldr r0, _0801208C @ =0x08137900 + ldr r0, _0801208C @ =0x08137900 _08011FF2: - ldrb r1, [r3, #0x1e] - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r0, r4, r0 - strh r0, [r6, #0x32] + ldrb r1, [r3, #0x1e] + lsls r1, r1, #1 + adds r1, r1, r0 + ldrh r0, [r1] + adds r0, r4, r0 + strh r0, [r6, #0x32] _08011FFE: - ldr r0, [r2] - adds r0, #0x31 - ldrb r0, [r0] - cmp r0, #0 - bne _0801200A - b _08012270 + ldr r0, [r2] + adds r0, #0x31 + ldrb r0, [r0] + cmp r0, #0 + bne _0801200A + b _08012270 _0801200A: - movs r2, #0x30 - ldrsh r0, [r6, r2] - ldrh r1, [r6, #0x32] - rsbs r1, r1, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - bl ArcTan2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r8, r0 - mov sb, r8 - movs r1, #0x30 - ldrsh r0, [r6, r1] - adds r1, r0, #0 - muls r1, r0, r1 - movs r2, #0x32 - ldrsh r0, [r6, r2] - adds r2, r0, #0 - muls r2, r0, r2 - adds r0, r2, #0 - adds r1, r1, r0 - ldr r0, _08012090 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #3 - bhi _080120FC - movs r2, #0x12 - ldrsh r0, [r6, r2] - cmp r0, #0x95 - bgt _080120A4 - movs r7, #0x88 - lsls r7, r7, #1 - ldr r0, _08012094 @ =0x00012100 - cmp r1, r0 - bgt _08012052 - b _080124C8 + movs r2, #0x30 + ldrsh r0, [r6, r2] + ldrh r1, [r6, #0x32] + rsbs r1, r1, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + bl ArcTan2 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov r8, r0 + mov sb, r8 + movs r1, #0x30 + ldrsh r0, [r6, r1] + adds r1, r0, #0 + muls r1, r0, r1 + movs r2, #0x32 + ldrsh r0, [r6, r2] + adds r2, r0, #0 + muls r2, r0, r2 + adds r0, r2, #0 + adds r1, r1, r0 + ldr r0, _08012090 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #3 + bhi _080120FC + movs r2, #0x12 + ldrsh r0, [r6, r2] + cmp r0, #0x95 + bgt _080120A4 + movs r7, #0x88 + lsls r7, r7, #1 + ldr r0, _08012094 @ =0x00012100 + cmp r1, r0 + bgt _08012052 + b _080124C8 _08012052: - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r4, _08012098 @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _0801209C @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - mov r0, r8 - bl sub_C24 - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _080120A0 @ =0x0000FFFF - ands r5, r1 - b _080124CE - .align 2, 0 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r4, _08012098 @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _0801209C @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + mov r0, r8 + bl sub_C24 + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _080120A0 @ =0x0000FFFF + ands r5, r1 + b _080124CE + .align 2, 0 _0801208C: .4byte 0x08137900 _08012090: .4byte 0x0200B0C0 _08012094: .4byte 0x00012100 @@ -35383,628 +35383,628 @@ _08012098: .4byte 0x00004E20 _0801209C: .4byte 0xFFFF0000 _080120A0: .4byte 0x0000FFFF _080120A4: - movs r7, #0xc8 - lsls r7, r7, #1 - ldr r0, _080120EC @ =0x00027100 - cmp r1, r0 - bgt _080120B0 - b _080124C8 + movs r7, #0xc8 + lsls r7, r7, #1 + ldr r0, _080120EC @ =0x00027100 + cmp r1, r0 + bgt _080120B0 + b _080124C8 _080120B0: - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r4, _080120F0 @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _080120F4 @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - mov r0, r8 - bl sub_C24 - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _080120F8 @ =0x0000FFFF - ands r5, r1 - b _080124CE - .align 2, 0 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r4, _080120F0 @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _080120F4 @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + mov r0, r8 + bl sub_C24 + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _080120F8 @ =0x0000FFFF + ands r5, r1 + b _080124CE + .align 2, 0 _080120EC: .4byte 0x00027100 _080120F0: .4byte 0x00004E20 _080120F4: .4byte 0xFFFF0000 _080120F8: .4byte 0x0000FFFF _080120FC: - cmp r0, #7 - bne _080121B8 - movs r2, #0x12 - ldrsh r0, [r6, r2] - cmp r0, #0xd9 - bgt _08012160 - movs r7, #0x88 - lsls r7, r7, #1 - ldr r0, _08012150 @ =0x00012100 - cmp r1, r0 - bgt _08012114 - b _080124C8 + cmp r0, #7 + bne _080121B8 + movs r2, #0x12 + ldrsh r0, [r6, r2] + cmp r0, #0xd9 + bgt _08012160 + movs r7, #0x88 + lsls r7, r7, #1 + ldr r0, _08012150 @ =0x00012100 + cmp r1, r0 + bgt _08012114 + b _080124C8 _08012114: - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r4, _08012154 @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08012158 @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - mov r0, r8 - bl sub_C24 - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _0801215C @ =0x0000FFFF - ands r5, r1 - b _080124CE - .align 2, 0 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r4, _08012154 @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08012158 @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + mov r0, r8 + bl sub_C24 + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _0801215C @ =0x0000FFFF + ands r5, r1 + b _080124CE + .align 2, 0 _08012150: .4byte 0x00012100 _08012154: .4byte 0x00004E20 _08012158: .4byte 0xFFFF0000 _0801215C: .4byte 0x0000FFFF _08012160: - movs r7, #0xc8 - lsls r7, r7, #1 - ldr r0, _080121A8 @ =0x00027100 - cmp r1, r0 - bgt _0801216C - b _080124C8 + movs r7, #0xc8 + lsls r7, r7, #1 + ldr r0, _080121A8 @ =0x00027100 + cmp r1, r0 + bgt _0801216C + b _080124C8 _0801216C: - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r4, _080121AC @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _080121B0 @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - mov r0, r8 - bl sub_C24 - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _080121B4 @ =0x0000FFFF - ands r5, r1 - b _080124CE - .align 2, 0 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r4, _080121AC @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _080121B0 @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + mov r0, r8 + bl sub_C24 + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _080121B4 @ =0x0000FFFF + ands r5, r1 + b _080124CE + .align 2, 0 _080121A8: .4byte 0x00027100 _080121AC: .4byte 0x00004E20 _080121B0: .4byte 0xFFFF0000 _080121B4: .4byte 0x0000FFFF _080121B8: - movs r2, #0x12 - ldrsh r0, [r6, r2] - cmp r0, #0xd9 - bgt _08012218 - movs r7, #0x88 - lsls r7, r7, #1 - ldr r0, _08012208 @ =0x00012100 - cmp r1, r0 - bgt _080121CC - b _080124C8 + movs r2, #0x12 + ldrsh r0, [r6, r2] + cmp r0, #0xd9 + bgt _08012218 + movs r7, #0x88 + lsls r7, r7, #1 + ldr r0, _08012208 @ =0x00012100 + cmp r1, r0 + bgt _080121CC + b _080124C8 _080121CC: - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r4, _0801220C @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08012210 @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - mov r0, r8 - bl sub_C24 - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _08012214 @ =0x0000FFFF - ands r5, r1 - b _080124CE - .align 2, 0 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r4, _0801220C @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08012210 @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + mov r0, r8 + bl sub_C24 + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _08012214 @ =0x0000FFFF + ands r5, r1 + b _080124CE + .align 2, 0 _08012208: .4byte 0x00012100 _0801220C: .4byte 0x00004E20 _08012210: .4byte 0xFFFF0000 _08012214: .4byte 0x0000FFFF _08012218: - movs r7, #0xc8 - lsls r7, r7, #1 - ldr r0, _08012260 @ =0x00027100 - cmp r1, r0 - bgt _08012224 - b _080124C8 + movs r7, #0xc8 + lsls r7, r7, #1 + ldr r0, _08012260 @ =0x00027100 + cmp r1, r0 + bgt _08012224 + b _080124C8 _08012224: - mov r0, sb - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r4, _08012264 @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08012268 @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - mov r0, sb - bl sub_C24 - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _0801226C @ =0x0000FFFF - ands r5, r1 - b _080124CE - .align 2, 0 + mov r0, sb + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r4, _08012264 @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08012268 @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + mov r0, sb + bl sub_C24 + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _0801226C @ =0x0000FFFF + ands r5, r1 + b _080124CE + .align 2, 0 _08012260: .4byte 0x00027100 _08012264: .4byte 0x00004E20 _08012268: .4byte 0xFFFF0000 _0801226C: .4byte 0x0000FFFF _08012270: - movs r1, #0x30 - ldrsh r0, [r6, r1] - ldrh r1, [r6, #0x32] - rsbs r1, r1, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - bl ArcTan2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r8, r0 - movs r2, #0x30 - ldrsh r0, [r6, r2] - adds r1, r0, #0 - muls r1, r0, r1 - movs r2, #0x32 - ldrsh r0, [r6, r2] - adds r2, r0, #0 - muls r2, r0, r2 - adds r0, r2, #0 - adds r1, r1, r0 - ldr r0, _080122F0 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #3 - bhi _0801235C - movs r2, #0x12 - ldrsh r0, [r6, r2] - cmp r0, #0x95 - bgt _08012304 - movs r7, #0x98 - lsls r7, r7, #1 - ldr r0, _080122F4 @ =0x00016900 - cmp r1, r0 - bgt _080122B6 - b _080124C8 + movs r1, #0x30 + ldrsh r0, [r6, r1] + ldrh r1, [r6, #0x32] + rsbs r1, r1, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + bl ArcTan2 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov r8, r0 + movs r2, #0x30 + ldrsh r0, [r6, r2] + adds r1, r0, #0 + muls r1, r0, r1 + movs r2, #0x32 + ldrsh r0, [r6, r2] + adds r2, r0, #0 + muls r2, r0, r2 + adds r0, r2, #0 + adds r1, r1, r0 + ldr r0, _080122F0 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #3 + bhi _0801235C + movs r2, #0x12 + ldrsh r0, [r6, r2] + cmp r0, #0x95 + bgt _08012304 + movs r7, #0x98 + lsls r7, r7, #1 + ldr r0, _080122F4 @ =0x00016900 + cmp r1, r0 + bgt _080122B6 + b _080124C8 _080122B6: - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r4, _080122F8 @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _080122FC @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - mov r0, r8 - bl sub_C24 - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _08012300 @ =0x0000FFFF - ands r5, r1 - b _080124CE - .align 2, 0 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r4, _080122F8 @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _080122FC @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + mov r0, r8 + bl sub_C24 + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _08012300 @ =0x0000FFFF + ands r5, r1 + b _080124CE + .align 2, 0 _080122F0: .4byte 0x0200B0C0 _080122F4: .4byte 0x00016900 _080122F8: .4byte 0x00004E20 _080122FC: .4byte 0xFFFF0000 _08012300: .4byte 0x0000FFFF _08012304: - movs r7, #0xc8 - lsls r7, r7, #1 - ldr r0, _0801234C @ =0x00027100 - cmp r1, r0 - bgt _08012310 - b _080124C8 + movs r7, #0xc8 + lsls r7, r7, #1 + ldr r0, _0801234C @ =0x00027100 + cmp r1, r0 + bgt _08012310 + b _080124C8 _08012310: - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r4, _08012350 @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08012354 @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - mov r0, r8 - bl sub_C24 - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _08012358 @ =0x0000FFFF - ands r5, r1 - b _080124CE - .align 2, 0 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r4, _08012350 @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08012354 @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + mov r0, r8 + bl sub_C24 + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _08012358 @ =0x0000FFFF + ands r5, r1 + b _080124CE + .align 2, 0 _0801234C: .4byte 0x00027100 _08012350: .4byte 0x00004E20 _08012354: .4byte 0xFFFF0000 _08012358: .4byte 0x0000FFFF _0801235C: - cmp r0, #7 - bne _08012418 - movs r2, #0x12 - ldrsh r0, [r6, r2] - cmp r0, #0xd9 - bgt _080123C0 - movs r7, #0x88 - lsls r7, r7, #1 - ldr r0, _080123B0 @ =0x00012100 - cmp r1, r0 - bgt _08012374 - b _080124C8 + cmp r0, #7 + bne _08012418 + movs r2, #0x12 + ldrsh r0, [r6, r2] + cmp r0, #0xd9 + bgt _080123C0 + movs r7, #0x88 + lsls r7, r7, #1 + ldr r0, _080123B0 @ =0x00012100 + cmp r1, r0 + bgt _08012374 + b _080124C8 _08012374: - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r4, _080123B4 @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _080123B8 @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - mov r0, r8 - bl sub_C24 - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _080123BC @ =0x0000FFFF - ands r5, r1 - b _080124CE - .align 2, 0 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r4, _080123B4 @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _080123B8 @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + mov r0, r8 + bl sub_C24 + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _080123BC @ =0x0000FFFF + ands r5, r1 + b _080124CE + .align 2, 0 _080123B0: .4byte 0x00012100 _080123B4: .4byte 0x00004E20 _080123B8: .4byte 0xFFFF0000 _080123BC: .4byte 0x0000FFFF _080123C0: - movs r7, #0xc8 - lsls r7, r7, #1 - ldr r0, _08012408 @ =0x00027100 - cmp r1, r0 - bgt _080123CC - b _080124C8 + movs r7, #0xc8 + lsls r7, r7, #1 + ldr r0, _08012408 @ =0x00027100 + cmp r1, r0 + bgt _080123CC + b _080124C8 _080123CC: - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r4, _0801240C @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08012410 @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - mov r0, r8 - bl sub_C24 - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _08012414 @ =0x0000FFFF - ands r5, r1 - b _080124CE - .align 2, 0 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r4, _0801240C @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08012410 @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + mov r0, r8 + bl sub_C24 + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _08012414 @ =0x0000FFFF + ands r5, r1 + b _080124CE + .align 2, 0 _08012408: .4byte 0x00027100 _0801240C: .4byte 0x00004E20 _08012410: .4byte 0xFFFF0000 _08012414: .4byte 0x0000FFFF _08012418: - movs r2, #0x12 - ldrsh r0, [r6, r2] - cmp r0, #0xd9 - bgt _08012474 - movs r7, #0x98 - lsls r7, r7, #1 - ldr r0, _08012464 @ =0x00016900 - cmp r1, r0 - ble _080124C8 - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r4, _08012468 @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _0801246C @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - mov r0, r8 - bl sub_C24 - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _08012470 @ =0x0000FFFF - ands r5, r1 - b _080124CE - .align 2, 0 + movs r2, #0x12 + ldrsh r0, [r6, r2] + cmp r0, #0xd9 + bgt _08012474 + movs r7, #0x98 + lsls r7, r7, #1 + ldr r0, _08012464 @ =0x00016900 + cmp r1, r0 + ble _080124C8 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r4, _08012468 @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _0801246C @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + mov r0, r8 + bl sub_C24 + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _08012470 @ =0x0000FFFF + ands r5, r1 + b _080124CE + .align 2, 0 _08012464: .4byte 0x00016900 _08012468: .4byte 0x00004E20 _0801246C: .4byte 0xFFFF0000 _08012470: .4byte 0x0000FFFF _08012474: - movs r7, #0xc8 - lsls r7, r7, #1 - ldr r0, _080124B8 @ =0x00027100 - cmp r1, r0 - ble _080124C8 - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r4, _080124BC @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _080124C0 @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - mov r0, r8 - bl sub_C24 - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _080124C4 @ =0x0000FFFF - ands r5, r1 - b _080124CE - .align 2, 0 + movs r7, #0xc8 + lsls r7, r7, #1 + ldr r0, _080124B8 @ =0x00027100 + cmp r1, r0 + ble _080124C8 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r4, _080124BC @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _080124C0 @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + mov r0, r8 + bl sub_C24 + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _080124C4 @ =0x0000FFFF + ands r5, r1 + b _080124CE + .align 2, 0 _080124B8: .4byte 0x00027100 _080124BC: .4byte 0x00004E20 _080124C0: .4byte 0xFFFF0000 _080124C4: .4byte 0x0000FFFF _080124C8: - ldrh r0, [r6, #0x32] - lsls r0, r0, #0x10 - ldrh r5, [r6, #0x30] + ldrh r0, [r6, #0x32] + lsls r0, r0, #0x10 + ldrh r5, [r6, #0x30] _080124CE: - orrs r5, r0 - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - ldr r0, [r6, #0x34] - adds r0, r0, r1 - str r0, [r6, #0x34] - asrs r1, r5, #0x10 - ldr r0, [r6, #0x38] - adds r0, r0, r1 - str r0, [r6, #0x38] - b _080124E8 + orrs r5, r0 + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + ldr r0, [r6, #0x34] + adds r0, r0, r1 + str r0, [r6, #0x34] + asrs r1, r5, #0x10 + ldr r0, [r6, #0x38] + adds r0, r0, r1 + str r0, [r6, #0x38] + b _080124E8 _080124E4: - bl sub_2AADC + bl sub_2AADC _080124E8: - ldr r0, [r6, #0x28] - str r0, [r6, #0x2c] - ldr r1, [r6, #0x34] - adds r0, r1, #0 - adds r0, #0x40 - cmp r0, #0 - bge _080124F8 - adds r0, #0x7f + ldr r0, [r6, #0x28] + str r0, [r6, #0x2c] + ldr r1, [r6, #0x34] + adds r0, r1, #0 + adds r0, #0x40 + cmp r0, #0 + bge _080124F8 + adds r0, #0x7f _080124F8: - asrs r0, r0, #7 - strh r0, [r6, #0x28] - ldr r1, [r6, #0x38] - adds r0, r1, #0 - adds r0, #0x40 - cmp r0, #0 - bge _08012508 - adds r0, #0x7f + asrs r0, r0, #7 + strh r0, [r6, #0x28] + ldr r1, [r6, #0x38] + adds r0, r1, #0 + adds r0, #0x40 + cmp r0, #0 + bge _08012508 + adds r0, #0x7f _08012508: - asrs r0, r0, #7 - strh r0, [r6, #0x2a] - ldrh r0, [r6, #6] - strh r0, [r6, #8] - ldrh r1, [r6, #0xa] - adds r0, r0, r1 - strh r0, [r6, #0xa] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_start sub_12524 + asrs r0, r0, #7 + strh r0, [r6, #0x2a] + ldrh r0, [r6, #6] + strh r0, [r6, #8] + ldrh r1, [r6, #0xa] + adds r0, r0, r1 + strh r0, [r6, #0xa] + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_start sub_12524 sub_12524: @ 0x08012524 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r2, _080125F0 @ =0x020314E0 - ldr r0, [r2] - ldr r1, _080125F4 @ =0x0000132C - adds r0, r0, r1 - ldr r7, [r0] - ldrh r0, [r7, #0xa] - lsrs r0, r0, #0xc - mov r8, r0 - movs r3, #0x12 - ldrsh r1, [r7, r3] - movs r0, #0xaa - lsls r0, r0, #1 - cmp r1, r0 - bne _0801255A - movs r4, #0x10 - ldrsh r0, [r7, r4] - cmp r0, #0x5a - beq _08012556 - cmp r0, #0x95 - bne _0801255A + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r2, _080125F0 @ =0x020314E0 + ldr r0, [r2] + ldr r1, _080125F4 @ =0x0000132C + adds r0, r0, r1 + ldr r7, [r0] + ldrh r0, [r7, #0xa] + lsrs r0, r0, #0xc + mov r8, r0 + movs r3, #0x12 + ldrsh r1, [r7, r3] + movs r0, #0xaa + lsls r0, r0, #1 + cmp r1, r0 + bne _0801255A + movs r4, #0x10 + ldrsh r0, [r7, r4] + cmp r0, #0x5a + beq _08012556 + cmp r0, #0x95 + bne _0801255A _08012556: - ldrh r0, [r7, #0xc] - strh r0, [r7, #0xa] + ldrh r0, [r7, #0xc] + strh r0, [r7, #0xa] _0801255A: - ldrh r0, [r7, #0xa] - strh r0, [r7, #0xc] - ldr r6, _080125F0 @ =0x020314E0 - ldr r3, [r6] - ldr r1, _080125F8 @ =0x000005F7 - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, #0 - bne _080125CE - movs r4, #0xbf - lsls r4, r4, #3 - adds r2, r3, r4 - ldrh r0, [r2] - cmp r0, #0 - beq _080125CE - subs r0, #1 - strh r0, [r2] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080125CE - ldr r6, _080125FC @ =0x000005F6 - adds r2, r3, r6 - ldrb r3, [r2] - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - ble _080125AC - subs r0, r3, #1 - strb r0, [r2] - ldr r0, _080125F0 @ =0x020314E0 - ldr r1, [r0] - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _080125AC - adds r1, r1, r4 - movs r0, #0xe1 - lsls r0, r0, #4 - strh r0, [r1] + ldrh r0, [r7, #0xa] + strh r0, [r7, #0xc] + ldr r6, _080125F0 @ =0x020314E0 + ldr r3, [r6] + ldr r1, _080125F8 @ =0x000005F7 + adds r0, r3, r1 + ldrb r0, [r0] + cmp r0, #0 + bne _080125CE + movs r4, #0xbf + lsls r4, r4, #3 + adds r2, r3, r4 + ldrh r0, [r2] + cmp r0, #0 + beq _080125CE + subs r0, #1 + strh r0, [r2] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _080125CE + ldr r6, _080125FC @ =0x000005F6 + adds r2, r3, r6 + ldrb r3, [r2] + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + ble _080125AC + subs r0, r3, #1 + strb r0, [r2] + ldr r0, _080125F0 @ =0x020314E0 + ldr r1, [r0] + adds r0, r1, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _080125AC + adds r1, r1, r4 + movs r0, #0xe1 + lsls r0, r0, #4 + strh r0, [r1] _080125AC: - ldr r2, _08012600 @ =0x040000D4 - ldr r1, _080125F0 @ =0x020314E0 - ldr r0, [r1] - ldr r3, _080125FC @ =0x000005F6 - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #5 - ldr r1, _08012604 @ =0x08137E14 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08012608 @ =0x05000220 - str r0, [r2, #4] - ldr r0, _0801260C @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] + ldr r2, _08012600 @ =0x040000D4 + ldr r1, _080125F0 @ =0x020314E0 + ldr r0, [r1] + ldr r3, _080125FC @ =0x000005F6 + adds r0, r0, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #5 + ldr r1, _08012604 @ =0x08137E14 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08012608 @ =0x05000220 + str r0, [r2, #4] + ldr r0, _0801260C @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] _080125CE: - movs r4, #0x12 - ldrsh r0, [r7, r4] - cmp r0, #0xf3 - ble _08012614 - ldr r6, _080125F0 @ =0x020314E0 - ldr r0, [r6] - ldr r1, _08012610 @ =0x000005B2 - adds r0, r0, r1 - movs r2, #0 - movs r1, #1 - strb r1, [r0] - ldr r0, [r6] - movs r3, #0xbb - lsls r3, r3, #1 - adds r0, r0, r3 - strb r2, [r0] - b _08012620 - .align 2, 0 + movs r4, #0x12 + ldrsh r0, [r7, r4] + cmp r0, #0xf3 + ble _08012614 + ldr r6, _080125F0 @ =0x020314E0 + ldr r0, [r6] + ldr r1, _08012610 @ =0x000005B2 + adds r0, r0, r1 + movs r2, #0 + movs r1, #1 + strb r1, [r0] + ldr r0, [r6] + movs r3, #0xbb + lsls r3, r3, #1 + adds r0, r0, r3 + strb r2, [r0] + b _08012620 + .align 2, 0 _080125F0: .4byte 0x020314E0 _080125F4: .4byte 0x0000132C _080125F8: .4byte 0x000005F7 @@ -36015,98 +36015,98 @@ _08012608: .4byte 0x05000220 _0801260C: .4byte 0x80000010 _08012610: .4byte 0x000005B2 _08012614: - ldr r4, _080126C8 @ =0x020314E0 - ldr r0, [r4] - ldr r6, _080126CC @ =0x000005B2 - adds r0, r0, r6 - movs r1, #0 - strb r1, [r0] + ldr r4, _080126C8 @ =0x020314E0 + ldr r0, [r4] + ldr r6, _080126CC @ =0x000005B2 + adds r0, r0, r6 + movs r1, #0 + strb r1, [r0] _08012620: - movs r1, #0x28 - ldrsh r0, [r7, r1] - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - strh r0, [r7, #0x10] - movs r2, #0x2a - ldrsh r0, [r7, r2] - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - strh r0, [r7, #0x12] - ldr r1, _080126D0 @ =0x0200B0C0 - ldr r0, [r1, #0x44] - ldr r6, [r0] - ldrh r0, [r6] - cmp r0, #0 - bne _08012646 - b _08012792 + movs r1, #0x28 + ldrsh r0, [r7, r1] + lsrs r1, r0, #0x1f + adds r0, r0, r1 + asrs r0, r0, #1 + strh r0, [r7, #0x10] + movs r2, #0x2a + ldrsh r0, [r7, r2] + lsrs r1, r0, #0x1f + adds r0, r0, r1 + asrs r0, r0, #1 + strh r0, [r7, #0x12] + ldr r1, _080126D0 @ =0x0200B0C0 + ldr r0, [r1, #0x44] + ldr r6, [r0] + ldrh r0, [r6] + cmp r0, #0 + bne _08012646 + b _08012792 _08012646: - movs r3, #0xe - ldrsh r1, [r7, r3] - adds r0, r1, #0 - movs r2, #0 - bl sub_7C0 - ldr r0, _080126C8 @ =0x020314E0 - ldr r3, [r0] - adds r0, r3, #0 - adds r0, #0x4c - ldrh r0, [r0] - adds r0, #7 - ldrh r2, [r7, #0x10] - subs r2, r2, r0 - ldr r4, _080126D4 @ =0x000002AA - adds r0, r3, r4 - ldrh r0, [r0] - subs r2, r2, r0 - strh r2, [r6, #2] - adds r0, r3, #0 - adds r0, #0x4e - ldrh r1, [r0] - adds r1, #7 - ldrh r0, [r7, #0x12] - subs r0, r0, r1 - ldr r4, _080126D8 @ =0x000005FC - adds r1, r3, r4 - ldrh r1, [r1] - subs r0, r0, r1 - adds r1, r3, #0 - adds r1, #0xe6 - ldrh r1, [r1] - movs r4, #0xb3 - lsls r4, r4, #1 - adds r3, r3, r4 - subs r0, r0, r1 - ldrh r3, [r3] - adds r0, r0, r3 - strh r0, [r6, #4] - strh r2, [r7, #0x24] - ldrh r0, [r6, #4] - strh r0, [r7, #0x26] - movs r0, #8 - adds r0, r0, r6 - mov ip, r0 - ldrh r0, [r6, #8] - lsls r0, r0, #3 - ldr r1, _080126DC @ =0x03005000 - adds r5, r0, r1 - movs r0, #1 - ldrsb r0, [r7, r0] - cmp r0, #3 - bne _080126E6 - movs r1, #0x12 - ldrsh r0, [r7, r1] - cmp r0, #0xf8 - ble _080126E0 - ldrb r0, [r5, #5] - movs r1, #0xd - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #8 - orrs r1, r0 - strb r1, [r5, #5] - b _080126FA - .align 2, 0 + movs r3, #0xe + ldrsh r1, [r7, r3] + adds r0, r1, #0 + movs r2, #0 + bl sub_7C0 + ldr r0, _080126C8 @ =0x020314E0 + ldr r3, [r0] + adds r0, r3, #0 + adds r0, #0x4c + ldrh r0, [r0] + adds r0, #7 + ldrh r2, [r7, #0x10] + subs r2, r2, r0 + ldr r4, _080126D4 @ =0x000002AA + adds r0, r3, r4 + ldrh r0, [r0] + subs r2, r2, r0 + strh r2, [r6, #2] + adds r0, r3, #0 + adds r0, #0x4e + ldrh r1, [r0] + adds r1, #7 + ldrh r0, [r7, #0x12] + subs r0, r0, r1 + ldr r4, _080126D8 @ =0x000005FC + adds r1, r3, r4 + ldrh r1, [r1] + subs r0, r0, r1 + adds r1, r3, #0 + adds r1, #0xe6 + ldrh r1, [r1] + movs r4, #0xb3 + lsls r4, r4, #1 + adds r3, r3, r4 + subs r0, r0, r1 + ldrh r3, [r3] + adds r0, r0, r3 + strh r0, [r6, #4] + strh r2, [r7, #0x24] + ldrh r0, [r6, #4] + strh r0, [r7, #0x26] + movs r0, #8 + adds r0, r0, r6 + mov ip, r0 + ldrh r0, [r6, #8] + lsls r0, r0, #3 + ldr r1, _080126DC @ =0x03005000 + adds r5, r0, r1 + movs r0, #1 + ldrsb r0, [r7, r0] + cmp r0, #3 + bne _080126E6 + movs r1, #0x12 + ldrsh r0, [r7, r1] + cmp r0, #0xf8 + ble _080126E0 + ldrb r0, [r5, #5] + movs r1, #0xd + rsbs r1, r1, #0 + ands r1, r0 + movs r0, #8 + orrs r1, r0 + strb r1, [r5, #5] + b _080126FA + .align 2, 0 _080126C8: .4byte 0x020314E0 _080126CC: .4byte 0x000005B2 _080126D0: .4byte 0x0200B0C0 @@ -36114,80 +36114,80 @@ _080126D4: .4byte 0x000002AA _080126D8: .4byte 0x000005FC _080126DC: .4byte 0x03005000 _080126E0: - ldrb r0, [r5, #5] - movs r1, #0xc - b _080126F6 + ldrb r0, [r5, #5] + movs r1, #0xc + b _080126F6 _080126E6: - movs r0, #3 - ldrb r1, [r7, #1] - ands r1, r0 - lsls r1, r1, #2 - ldrb r2, [r5, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 + movs r0, #3 + ldrb r1, [r7, #1] + ands r1, r0 + lsls r1, r1, #2 + ldrb r2, [r5, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r2 _080126F6: - orrs r0, r1 - strb r0, [r5, #5] + orrs r0, r1 + strb r0, [r5, #5] _080126FA: - ldr r3, _08012768 @ =0x040000D4 - mov r2, r8 - lsls r1, r2, #0x10 - asrs r1, r1, #0x10 - ldr r4, _0801276C @ =0x020314E0 - ldr r0, [r4] - ldr r2, _08012770 @ =0x000005F6 - adds r0, r0, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r0, r2, #4 - adds r0, r0, r2 - adds r1, r1, r0 - lsls r1, r1, #7 - ldr r0, _08012774 @ =0x083BB16C - adds r1, r1, r0 - str r1, [r3] - ldr r0, _08012778 @ =0x06010400 - str r0, [r3, #4] - ldr r0, _0801277C @ =0x80000040 - str r0, [r3, #8] - ldr r0, [r3, #8] - movs r3, #4 - ldrsh r0, [r6, r3] - cmp r0, #0xc8 - ble _08012732 - movs r0, #0xc8 - strh r0, [r6, #4] + ldr r3, _08012768 @ =0x040000D4 + mov r2, r8 + lsls r1, r2, #0x10 + asrs r1, r1, #0x10 + ldr r4, _0801276C @ =0x020314E0 + ldr r0, [r4] + ldr r2, _08012770 @ =0x000005F6 + adds r0, r0, r2 + movs r2, #0 + ldrsb r2, [r0, r2] + lsls r0, r2, #4 + adds r0, r0, r2 + adds r1, r1, r0 + lsls r1, r1, #7 + ldr r0, _08012774 @ =0x083BB16C + adds r1, r1, r0 + str r1, [r3] + ldr r0, _08012778 @ =0x06010400 + str r0, [r3, #4] + ldr r0, _0801277C @ =0x80000040 + str r0, [r3, #8] + ldr r0, [r3, #8] + movs r3, #4 + ldrsh r0, [r6, r3] + cmp r0, #0xc8 + ble _08012732 + movs r0, #0xc8 + strh r0, [r6, #4] _08012732: - movs r4, #4 - ldrsh r0, [r6, r4] - movs r1, #0x14 - rsbs r1, r1, #0 - cmp r0, r1 - bge _08012740 - strh r1, [r6, #4] + movs r4, #4 + ldrsh r0, [r6, r4] + movs r1, #0x14 + rsbs r1, r1, #0 + cmp r0, r1 + bge _08012740 + strh r1, [r6, #4] _08012740: - mov r0, ip - movs r2, #2 - ldrsh r1, [r0, r2] - movs r3, #2 - ldrsh r0, [r6, r3] - adds r1, r1, r0 - ldr r4, _08012780 @ =0x000001FF - adds r0, r4, #0 - ands r1, r0 - ldrh r2, [r5, #2] - ldr r0, _08012784 @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, #2] - movs r0, #0 - ldrsb r0, [r7, r0] - cmp r0, #0 - beq _08012788 - movs r0, #0xc8 - b _08012790 - .align 2, 0 + mov r0, ip + movs r2, #2 + ldrsh r1, [r0, r2] + movs r3, #2 + ldrsh r0, [r6, r3] + adds r1, r1, r0 + ldr r4, _08012780 @ =0x000001FF + adds r0, r4, #0 + ands r1, r0 + ldrh r2, [r5, #2] + ldr r0, _08012784 @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, #2] + movs r0, #0 + ldrsb r0, [r7, r0] + cmp r0, #0 + beq _08012788 + movs r0, #0xc8 + b _08012790 + .align 2, 0 _08012768: .4byte 0x040000D4 _0801276C: .4byte 0x020314E0 _08012770: .4byte 0x000005F6 @@ -36197,167 +36197,167 @@ _0801277C: .4byte 0x80000040 _08012780: .4byte 0x000001FF _08012784: .4byte 0xFFFFFE00 _08012788: - ldrb r0, [r6, #4] - mov r6, ip - ldrb r6, [r6, #4] - adds r0, r0, r6 + ldrb r0, [r6, #4] + mov r6, ip + ldrb r6, [r6, #4] + adds r0, r0, r6 _08012790: - strb r0, [r5] + strb r0, [r5] _08012792: - ldr r1, _08012824 @ =0x0200B0C0 - ldr r0, [r1, #0x44] - adds r0, #0xc4 - ldr r6, [r0] - ldrh r0, [r6] - cmp r0, #0 - bne _080127A2 - b _080128EA + ldr r1, _08012824 @ =0x0200B0C0 + ldr r0, [r1, #0x44] + adds r0, #0xc4 + ldr r6, [r0] + ldrh r0, [r6] + cmp r0, #0 + bne _080127A2 + b _080128EA _080127A2: - movs r2, #0xe - ldrsh r1, [r7, r2] - adds r0, r1, #0 - movs r2, #0 - bl sub_7C0 - ldr r0, _08012828 @ =0x020314E0 - ldr r3, [r0] - adds r0, r3, #0 - adds r0, #0x4c - ldrh r0, [r0] - adds r0, #7 - ldrh r2, [r7, #0x10] - subs r2, r2, r0 - ldr r4, _0801282C @ =0x000002AA - adds r0, r3, r4 - ldrh r0, [r0] - subs r2, r2, r0 - strh r2, [r6, #2] - adds r0, r3, #0 - adds r0, #0x4e - ldrh r1, [r0] - adds r1, #7 - ldrh r0, [r7, #0x12] - subs r0, r0, r1 - ldr r4, _08012830 @ =0x000005FC - adds r1, r3, r4 - ldrh r1, [r1] - subs r0, r0, r1 - adds r1, r3, #0 - adds r1, #0xe6 - ldrh r1, [r1] - movs r4, #0xb3 - lsls r4, r4, #1 - adds r3, r3, r4 - subs r0, r0, r1 - ldrh r3, [r3] - adds r0, r0, r3 - strh r0, [r6, #4] - strh r2, [r7, #0x24] - ldrh r0, [r6, #4] - strh r0, [r7, #0x26] - movs r0, #8 - adds r0, r0, r6 - mov ip, r0 - ldrh r0, [r6, #8] - lsls r0, r0, #3 - ldr r1, _08012834 @ =0x03005000 - adds r5, r0, r1 - movs r0, #1 - ldrsb r0, [r7, r0] - cmp r0, #3 - bne _0801283E - movs r1, #0x12 - ldrsh r0, [r7, r1] - cmp r0, #0xf8 - ble _08012838 - ldrb r0, [r5, #5] - movs r1, #0xd - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #8 - orrs r1, r0 - strb r1, [r5, #5] - b _08012852 - .align 2, 0 + movs r2, #0xe + ldrsh r1, [r7, r2] + adds r0, r1, #0 + movs r2, #0 + bl sub_7C0 + ldr r0, _08012828 @ =0x020314E0 + ldr r3, [r0] + adds r0, r3, #0 + adds r0, #0x4c + ldrh r0, [r0] + adds r0, #7 + ldrh r2, [r7, #0x10] + subs r2, r2, r0 + ldr r4, _0801282C @ =0x000002AA + adds r0, r3, r4 + ldrh r0, [r0] + subs r2, r2, r0 + strh r2, [r6, #2] + adds r0, r3, #0 + adds r0, #0x4e + ldrh r1, [r0] + adds r1, #7 + ldrh r0, [r7, #0x12] + subs r0, r0, r1 + ldr r4, _08012830 @ =0x000005FC + adds r1, r3, r4 + ldrh r1, [r1] + subs r0, r0, r1 + adds r1, r3, #0 + adds r1, #0xe6 + ldrh r1, [r1] + movs r4, #0xb3 + lsls r4, r4, #1 + adds r3, r3, r4 + subs r0, r0, r1 + ldrh r3, [r3] + adds r0, r0, r3 + strh r0, [r6, #4] + strh r2, [r7, #0x24] + ldrh r0, [r6, #4] + strh r0, [r7, #0x26] + movs r0, #8 + adds r0, r0, r6 + mov ip, r0 + ldrh r0, [r6, #8] + lsls r0, r0, #3 + ldr r1, _08012834 @ =0x03005000 + adds r5, r0, r1 + movs r0, #1 + ldrsb r0, [r7, r0] + cmp r0, #3 + bne _0801283E + movs r1, #0x12 + ldrsh r0, [r7, r1] + cmp r0, #0xf8 + ble _08012838 + ldrb r0, [r5, #5] + movs r1, #0xd + rsbs r1, r1, #0 + ands r1, r0 + movs r0, #8 + orrs r1, r0 + strb r1, [r5, #5] + b _08012852 + .align 2, 0 _08012824: .4byte 0x0200B0C0 _08012828: .4byte 0x020314E0 _0801282C: .4byte 0x000002AA _08012830: .4byte 0x000005FC _08012834: .4byte 0x03005000 _08012838: - ldrb r0, [r5, #5] - movs r1, #0xc - b _0801284E + ldrb r0, [r5, #5] + movs r1, #0xc + b _0801284E _0801283E: - movs r0, #3 - ldrb r1, [r7, #1] - ands r1, r0 - lsls r1, r1, #2 - ldrb r2, [r5, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 + movs r0, #3 + ldrb r1, [r7, #1] + ands r1, r0 + lsls r1, r1, #2 + ldrb r2, [r5, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r2 _0801284E: - orrs r0, r1 - strb r0, [r5, #5] + orrs r0, r1 + strb r0, [r5, #5] _08012852: - ldr r3, _080128C0 @ =0x040000D4 - mov r2, r8 - lsls r1, r2, #0x10 - asrs r1, r1, #0x10 - ldr r4, _080128C4 @ =0x020314E0 - ldr r0, [r4] - ldr r2, _080128C8 @ =0x000005F6 - adds r0, r0, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r0, r2, #4 - adds r0, r0, r2 - adds r1, r1, r0 - lsls r1, r1, #7 - ldr r0, _080128CC @ =0x083BB16C - adds r1, r1, r0 - str r1, [r3] - ldr r0, _080128D0 @ =0x06010400 - str r0, [r3, #4] - ldr r0, _080128D4 @ =0x80000040 - str r0, [r3, #8] - ldr r0, [r3, #8] - movs r3, #4 - ldrsh r0, [r6, r3] - cmp r0, #0xc8 - ble _0801288A - movs r0, #0xc8 - strh r0, [r6, #4] + ldr r3, _080128C0 @ =0x040000D4 + mov r2, r8 + lsls r1, r2, #0x10 + asrs r1, r1, #0x10 + ldr r4, _080128C4 @ =0x020314E0 + ldr r0, [r4] + ldr r2, _080128C8 @ =0x000005F6 + adds r0, r0, r2 + movs r2, #0 + ldrsb r2, [r0, r2] + lsls r0, r2, #4 + adds r0, r0, r2 + adds r1, r1, r0 + lsls r1, r1, #7 + ldr r0, _080128CC @ =0x083BB16C + adds r1, r1, r0 + str r1, [r3] + ldr r0, _080128D0 @ =0x06010400 + str r0, [r3, #4] + ldr r0, _080128D4 @ =0x80000040 + str r0, [r3, #8] + ldr r0, [r3, #8] + movs r3, #4 + ldrsh r0, [r6, r3] + cmp r0, #0xc8 + ble _0801288A + movs r0, #0xc8 + strh r0, [r6, #4] _0801288A: - movs r4, #4 - ldrsh r0, [r6, r4] - movs r1, #0x14 - rsbs r1, r1, #0 - cmp r0, r1 - bge _08012898 - strh r1, [r6, #4] + movs r4, #4 + ldrsh r0, [r6, r4] + movs r1, #0x14 + rsbs r1, r1, #0 + cmp r0, r1 + bge _08012898 + strh r1, [r6, #4] _08012898: - mov r0, ip - movs r2, #2 - ldrsh r1, [r0, r2] - movs r3, #2 - ldrsh r0, [r6, r3] - adds r1, r1, r0 - ldr r4, _080128D8 @ =0x000001FF - adds r0, r4, #0 - ands r1, r0 - ldrh r2, [r5, #2] - ldr r0, _080128DC @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, #2] - movs r0, #0 - ldrsb r0, [r7, r0] - cmp r0, #0 - beq _080128E0 - movs r0, #0xc8 - b _080128E8 - .align 2, 0 + mov r0, ip + movs r2, #2 + ldrsh r1, [r0, r2] + movs r3, #2 + ldrsh r0, [r6, r3] + adds r1, r1, r0 + ldr r4, _080128D8 @ =0x000001FF + adds r0, r4, #0 + ands r1, r0 + ldrh r2, [r5, #2] + ldr r0, _080128DC @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, #2] + movs r0, #0 + ldrsb r0, [r7, r0] + cmp r0, #0 + beq _080128E0 + movs r0, #0xc8 + b _080128E8 + .align 2, 0 _080128C0: .4byte 0x040000D4 _080128C4: .4byte 0x020314E0 _080128C8: .4byte 0x000005F6 @@ -36367,296 +36367,296 @@ _080128D4: .4byte 0x80000040 _080128D8: .4byte 0x000001FF _080128DC: .4byte 0xFFFFFE00 _080128E0: - ldrb r0, [r6, #4] - mov r6, ip - ldrb r6, [r6, #4] - adds r0, r0, r6 + ldrb r0, [r6, #4] + mov r6, ip + ldrb r6, [r6, #4] + adds r0, r0, r6 _080128E8: - strb r0, [r5] + strb r0, [r5] _080128EA: - movs r3, #4 - ldr r5, _080129D0 @ =0x020314E0 + movs r3, #4 + ldr r5, _080129D0 @ =0x020314E0 _080128EE: - ldr r2, [r5] - lsls r1, r3, #0x10 - asrs r1, r1, #0x10 - lsls r4, r1, #2 - adds r4, r2, r4 - subs r1, #1 - lsls r0, r1, #2 - adds r2, r2, r0 - adds r0, r2, #0 - adds r0, #0xd0 - ldrh r3, [r0] - adds r0, r4, #0 - adds r0, #0xd0 - strh r3, [r0] - adds r2, #0xd2 - ldrh r0, [r2] - adds r4, #0xd2 - strh r0, [r4] - lsls r1, r1, #0x10 - lsrs r3, r1, #0x10 - cmp r1, #0 - bgt _080128EE - ldr r0, _080129D0 @ =0x020314E0 - ldr r2, [r0] - ldrh r0, [r7, #0x10] - subs r0, #7 - adds r1, r2, #0 - adds r1, #0xd0 - strh r0, [r1] - ldrh r0, [r7, #0x12] - subs r0, #7 - adds r1, #2 - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0x71 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08012940 - b _08012A44 + ldr r2, [r5] + lsls r1, r3, #0x10 + asrs r1, r1, #0x10 + lsls r4, r1, #2 + adds r4, r2, r4 + subs r1, #1 + lsls r0, r1, #2 + adds r2, r2, r0 + adds r0, r2, #0 + adds r0, #0xd0 + ldrh r3, [r0] + adds r0, r4, #0 + adds r0, #0xd0 + strh r3, [r0] + adds r2, #0xd2 + ldrh r0, [r2] + adds r4, #0xd2 + strh r0, [r4] + lsls r1, r1, #0x10 + lsrs r3, r1, #0x10 + cmp r1, #0 + bgt _080128EE + ldr r0, _080129D0 @ =0x020314E0 + ldr r2, [r0] + ldrh r0, [r7, #0x10] + subs r0, #7 + adds r1, r2, #0 + adds r1, #0xd0 + strh r0, [r1] + ldrh r0, [r7, #0x12] + subs r0, #7 + adds r1, #2 + strh r0, [r1] + adds r0, r2, #0 + adds r0, #0x71 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08012940 + b _08012A44 _08012940: - movs r3, #0 - ldr r1, _080129D4 @ =0x0200B0C0 - mov sb, r1 - movs r2, #0xd - rsbs r2, r2, #0 - mov sl, r2 + movs r3, #0 + ldr r1, _080129D4 @ =0x0200B0C0 + mov sb, r1 + movs r2, #0xd + rsbs r2, r2, #0 + mov sl, r2 _0801294C: - lsls r2, r3, #0x10 - asrs r4, r2, #0x10 - mov r3, sb - ldr r1, [r3, #0x44] - lsls r0, r4, #2 - adds r0, r0, r1 - ldr r6, [r0, #4] - ldrh r0, [r6] - mov r8, r2 - cmp r0, #0 - beq _08012A0C - movs r0, #8 - adds r0, r0, r6 - mov ip, r0 - ldrh r0, [r6, #8] - lsls r0, r0, #3 - ldr r1, _080129D8 @ =0x03005000 - adds r5, r0, r1 - movs r0, #3 - ldrb r1, [r7, #1] - ands r1, r0 - lsls r1, r1, #2 - ldrb r2, [r5, #5] - mov r0, sl - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #5] - mov r1, ip - movs r3, #2 - ldrsh r2, [r1, r3] - ldr r6, _080129D0 @ =0x020314E0 - ldr r3, [r6] - adds r0, r4, #1 - lsls r0, r0, #3 - adds r0, r3, r0 - adds r0, #0xd0 - movs r6, #0 - ldrsh r1, [r0, r6] - adds r0, r3, #0 - adds r0, #0x4c - movs r6, #0 - ldrsh r0, [r0, r6] - subs r1, r1, r0 - adds r2, r2, r1 - ldr r1, _080129DC @ =0x000001FF - adds r0, r1, #0 - ands r2, r0 - ldrh r1, [r5, #2] - ldr r0, _080129E0 @ =0xFFFFFE00 - ands r0, r1 - orrs r0, r2 - strh r0, [r5, #2] - cmp r4, #0 - bne _080129E4 - adds r0, r3, #0 - adds r0, #0xda - ldrb r0, [r0] - adds r1, r3, #0 - adds r1, #0x4e - ldrb r1, [r1] - subs r0, r0, r1 - mov r2, ip - ldrb r2, [r2, #4] - adds r0, r0, r2 - b _08012A0A - .align 2, 0 + lsls r2, r3, #0x10 + asrs r4, r2, #0x10 + mov r3, sb + ldr r1, [r3, #0x44] + lsls r0, r4, #2 + adds r0, r0, r1 + ldr r6, [r0, #4] + ldrh r0, [r6] + mov r8, r2 + cmp r0, #0 + beq _08012A0C + movs r0, #8 + adds r0, r0, r6 + mov ip, r0 + ldrh r0, [r6, #8] + lsls r0, r0, #3 + ldr r1, _080129D8 @ =0x03005000 + adds r5, r0, r1 + movs r0, #3 + ldrb r1, [r7, #1] + ands r1, r0 + lsls r1, r1, #2 + ldrb r2, [r5, #5] + mov r0, sl + ands r0, r2 + orrs r0, r1 + strb r0, [r5, #5] + mov r1, ip + movs r3, #2 + ldrsh r2, [r1, r3] + ldr r6, _080129D0 @ =0x020314E0 + ldr r3, [r6] + adds r0, r4, #1 + lsls r0, r0, #3 + adds r0, r3, r0 + adds r0, #0xd0 + movs r6, #0 + ldrsh r1, [r0, r6] + adds r0, r3, #0 + adds r0, #0x4c + movs r6, #0 + ldrsh r0, [r0, r6] + subs r1, r1, r0 + adds r2, r2, r1 + ldr r1, _080129DC @ =0x000001FF + adds r0, r1, #0 + ands r2, r0 + ldrh r1, [r5, #2] + ldr r0, _080129E0 @ =0xFFFFFE00 + ands r0, r1 + orrs r0, r2 + strh r0, [r5, #2] + cmp r4, #0 + bne _080129E4 + adds r0, r3, #0 + adds r0, #0xda + ldrb r0, [r0] + adds r1, r3, #0 + adds r1, #0x4e + ldrb r1, [r1] + subs r0, r0, r1 + mov r2, ip + ldrb r2, [r2, #4] + adds r0, r0, r2 + b _08012A0A + .align 2, 0 _080129D0: .4byte 0x020314E0 _080129D4: .4byte 0x0200B0C0 _080129D8: .4byte 0x03005000 _080129DC: .4byte 0x000001FF _080129E0: .4byte 0xFFFFFE00 _080129E4: - cmp r4, #1 - bne _08012A0C - mov r6, sb - ldr r0, [r6, #0x4c] - ands r0, r4 - cmp r0, #0 - bne _08012A08 - adds r0, r3, #0 - adds r0, #0xe2 - ldrb r0, [r0] - adds r1, r3, #0 - adds r1, #0x4e - ldrb r1, [r1] - subs r0, r0, r1 - mov r1, ip - ldrb r1, [r1, #4] - adds r0, r0, r1 - b _08012A0A + cmp r4, #1 + bne _08012A0C + mov r6, sb + ldr r0, [r6, #0x4c] + ands r0, r4 + cmp r0, #0 + bne _08012A08 + adds r0, r3, #0 + adds r0, #0xe2 + ldrb r0, [r0] + adds r1, r3, #0 + adds r1, #0x4e + ldrb r1, [r1] + subs r0, r0, r1 + mov r1, ip + ldrb r1, [r1, #4] + adds r0, r0, r1 + b _08012A0A _08012A08: - movs r0, #0xc8 + movs r0, #0xc8 _08012A0A: - strb r0, [r5] + strb r0, [r5] _08012A0C: - movs r0, #0x80 - lsls r0, r0, #9 - add r0, r8 - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - ble _0801294C - ldr r2, _08012A40 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r0, [r0, #4] - movs r2, #0 - movs r1, #1 - strh r1, [r0] - ldr r3, _08012A40 @ =0x0200B0C0 - ldr r0, [r3, #0x44] - ldr r0, [r0, #8] - strh r1, [r0] - ldr r0, [r3, #0x44] - adds r0, #0xc4 - ldr r0, [r0] - strh r1, [r0] - ldr r0, [r3, #0x44] - ldr r0, [r0] - strh r2, [r0] - b _08012AE4 - .align 2, 0 + movs r0, #0x80 + lsls r0, r0, #9 + add r0, r8 + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + ble _0801294C + ldr r2, _08012A40 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r0, [r0, #4] + movs r2, #0 + movs r1, #1 + strh r1, [r0] + ldr r3, _08012A40 @ =0x0200B0C0 + ldr r0, [r3, #0x44] + ldr r0, [r0, #8] + strh r1, [r0] + ldr r0, [r3, #0x44] + adds r0, #0xc4 + ldr r0, [r0] + strh r1, [r0] + ldr r0, [r3, #0x44] + ldr r0, [r0] + strh r2, [r0] + b _08012AE4 + .align 2, 0 _08012A40: .4byte 0x0200B0C0 _08012A44: - movs r3, #0 - ldr r4, _08012B14 @ =0x0200B0C0 - mov sl, r4 - movs r6, #3 - mov sb, r6 - movs r0, #0xd - rsbs r0, r0, #0 - mov ip, r0 - ldr r1, _08012B18 @ =0xFFFFFE00 - mov r8, r1 + movs r3, #0 + ldr r4, _08012B14 @ =0x0200B0C0 + mov sl, r4 + movs r6, #3 + mov sb, r6 + movs r0, #0xd + rsbs r0, r0, #0 + mov ip, r0 + ldr r1, _08012B18 @ =0xFFFFFE00 + mov r8, r1 _08012A58: - lsls r0, r3, #0x10 - asrs r4, r0, #0x10 - mov r2, sl - ldr r1, [r2, #0x44] - lsls r0, r4, #2 - adds r0, r0, r1 - ldr r6, [r0, #4] - ldrh r0, [r6] - cmp r0, #0 - beq _08012AB8 - ldrh r0, [r6, #8] - lsls r0, r0, #3 - ldr r1, _08012B1C @ =0x03005000 - adds r5, r0, r1 - ldrb r1, [r7, #1] - mov r3, sb - ands r1, r3 - lsls r1, r1, #2 - ldrb r2, [r5, #5] - mov r0, ip - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #5] - movs r0, #0xa - ldrsh r3, [r6, r0] - ldr r1, _08012B20 @ =0x020314E0 - ldr r2, [r1] - adds r0, r4, #1 - lsls r0, r0, #3 - adds r0, r2, r0 - adds r0, #0xd0 - movs r6, #0 - ldrsh r1, [r0, r6] - adds r2, #0x4c - movs r6, #0 - ldrsh r0, [r2, r6] - subs r1, r1, r0 - adds r3, r3, r1 - ldr r1, _08012B24 @ =0x000001FF - adds r0, r1, #0 - ands r3, r0 - ldrh r1, [r5, #2] - mov r0, r8 - ands r0, r1 - orrs r0, r3 - strh r0, [r5, #2] - movs r0, #0xc8 - strb r0, [r5] + lsls r0, r3, #0x10 + asrs r4, r0, #0x10 + mov r2, sl + ldr r1, [r2, #0x44] + lsls r0, r4, #2 + adds r0, r0, r1 + ldr r6, [r0, #4] + ldrh r0, [r6] + cmp r0, #0 + beq _08012AB8 + ldrh r0, [r6, #8] + lsls r0, r0, #3 + ldr r1, _08012B1C @ =0x03005000 + adds r5, r0, r1 + ldrb r1, [r7, #1] + mov r3, sb + ands r1, r3 + lsls r1, r1, #2 + ldrb r2, [r5, #5] + mov r0, ip + ands r0, r2 + orrs r0, r1 + strb r0, [r5, #5] + movs r0, #0xa + ldrsh r3, [r6, r0] + ldr r1, _08012B20 @ =0x020314E0 + ldr r2, [r1] + adds r0, r4, #1 + lsls r0, r0, #3 + adds r0, r2, r0 + adds r0, #0xd0 + movs r6, #0 + ldrsh r1, [r0, r6] + adds r2, #0x4c + movs r6, #0 + ldrsh r0, [r2, r6] + subs r1, r1, r0 + adds r3, r3, r1 + ldr r1, _08012B24 @ =0x000001FF + adds r0, r1, #0 + ands r3, r0 + ldrh r1, [r5, #2] + mov r0, r8 + ands r0, r1 + orrs r0, r3 + strh r0, [r5, #2] + movs r0, #0xc8 + strb r0, [r5] _08012AB8: - adds r0, r4, #1 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - ble _08012A58 - ldr r2, _08012B14 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r0, [r0, #4] - movs r1, #0 - strh r1, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #8] - strh r1, [r0] - ldr r0, [r2, #0x44] - adds r0, #0xc4 - ldr r0, [r0] - strh r1, [r0] - ldr r0, [r2, #0x44] - ldr r1, [r0] - movs r0, #1 - strh r0, [r1] + adds r0, r4, #1 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + ble _08012A58 + ldr r2, _08012B14 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r0, [r0, #4] + movs r1, #0 + strh r1, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #8] + strh r1, [r0] + ldr r0, [r2, #0x44] + adds r0, #0xc4 + ldr r0, [r0] + strh r1, [r0] + ldr r0, [r2, #0x44] + ldr r1, [r0] + movs r0, #1 + strh r0, [r1] _08012AE4: - ldr r3, _08012B14 @ =0x0200B0C0 - ldr r1, [r3, #0x44] - adds r0, r1, #0 - adds r0, #0xac - ldr r6, [r0] - ldrh r0, [r6] - cmp r0, #0 - beq _08012BC2 - ldr r4, _08012B20 @ =0x020314E0 - ldr r0, [r4] - ldr r2, _08012B28 @ =0x0000071C - adds r0, r0, r2 - ldrb r0, [r0] - cmp r0, #0x3a - bhi _08012B2C - ldr r0, [r1] - ldrh r0, [r0, #2] - subs r0, #8 - strh r0, [r6, #2] - ldr r0, [r3, #0x44] - ldr r0, [r0] - ldrh r0, [r0, #4] - subs r0, #8 - b _08012B32 - .align 2, 0 + ldr r3, _08012B14 @ =0x0200B0C0 + ldr r1, [r3, #0x44] + adds r0, r1, #0 + adds r0, #0xac + ldr r6, [r0] + ldrh r0, [r6] + cmp r0, #0 + beq _08012BC2 + ldr r4, _08012B20 @ =0x020314E0 + ldr r0, [r4] + ldr r2, _08012B28 @ =0x0000071C + adds r0, r0, r2 + ldrb r0, [r0] + cmp r0, #0x3a + bhi _08012B2C + ldr r0, [r1] + ldrh r0, [r0, #2] + subs r0, #8 + strh r0, [r6, #2] + ldr r0, [r3, #0x44] + ldr r0, [r0] + ldrh r0, [r0, #4] + subs r0, #8 + b _08012B32 + .align 2, 0 _08012B14: .4byte 0x0200B0C0 _08012B18: .4byte 0xFFFFFE00 _08012B1C: .4byte 0x03005000 @@ -36664,91 +36664,91 @@ _08012B20: .4byte 0x020314E0 _08012B24: .4byte 0x000001FF _08012B28: .4byte 0x0000071C _08012B2C: - movs r0, #0 - strh r0, [r6, #2] - movs r0, #0xb4 + movs r0, #0 + strh r0, [r6, #2] + movs r0, #0xb4 _08012B32: - strh r0, [r6, #4] - ldr r3, _08012BD0 @ =0x020314E0 - ldr r0, [r3] - adds r0, #0x6e - ldr r2, _08012BD4 @ =0x040000D4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #9 - ldr r1, _08012BD8 @ =0x083BD36C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08012BDC @ =0x06011EE0 - str r0, [r2, #4] - ldr r0, _08012BE0 @ =0x80000100 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r4, #8 - adds r4, r4, r6 - mov ip, r4 - ldr r4, _08012BE4 @ =0x03005000 - ldrh r2, [r6, #8] - lsls r2, r2, #3 - adds r2, r2, r4 - mov r0, ip - movs r3, #2 - ldrsh r1, [r0, r3] - movs r3, #2 - ldrsh r0, [r6, r3] - adds r1, r1, r0 - ldr r3, _08012BE8 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _08012BEC @ =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] - mov r2, ip - ldrb r2, [r2, #4] - adds r0, r0, r2 - strb r0, [r1] - ldrh r2, [r6, #8] - lsls r2, r2, #3 - adds r2, r2, r4 - movs r0, #3 - ldrb r1, [r7, #1] - ands r1, r0 - lsls r1, r1, #2 - ldrb r3, [r2, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, #5] - ldr r3, _08012BD0 @ =0x020314E0 - ldr r0, [r3] - ldr r4, _08012BF0 @ =0x0000071C - adds r0, r0, r4 - ldrb r0, [r0] - cmp r0, #0xd - bhi _08012BC2 - ldr r6, _08012BF4 @ =0x0200B0C0 - ldr r0, [r6, #0x44] - adds r0, #0xac - ldr r1, [r0] - movs r0, #0 - strh r0, [r1] + strh r0, [r6, #4] + ldr r3, _08012BD0 @ =0x020314E0 + ldr r0, [r3] + adds r0, #0x6e + ldr r2, _08012BD4 @ =0x040000D4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #9 + ldr r1, _08012BD8 @ =0x083BD36C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08012BDC @ =0x06011EE0 + str r0, [r2, #4] + ldr r0, _08012BE0 @ =0x80000100 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r4, #8 + adds r4, r4, r6 + mov ip, r4 + ldr r4, _08012BE4 @ =0x03005000 + ldrh r2, [r6, #8] + lsls r2, r2, #3 + adds r2, r2, r4 + mov r0, ip + movs r3, #2 + ldrsh r1, [r0, r3] + movs r3, #2 + ldrsh r0, [r6, r3] + adds r1, r1, r0 + ldr r3, _08012BE8 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _08012BEC @ =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] + mov r2, ip + ldrb r2, [r2, #4] + adds r0, r0, r2 + strb r0, [r1] + ldrh r2, [r6, #8] + lsls r2, r2, #3 + adds r2, r2, r4 + movs r0, #3 + ldrb r1, [r7, #1] + ands r1, r0 + lsls r1, r1, #2 + ldrb r3, [r2, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2, #5] + ldr r3, _08012BD0 @ =0x020314E0 + ldr r0, [r3] + ldr r4, _08012BF0 @ =0x0000071C + adds r0, r0, r4 + ldrb r0, [r0] + cmp r0, #0xd + bhi _08012BC2 + ldr r6, _08012BF4 @ =0x0200B0C0 + ldr r0, [r6, #0x44] + adds r0, #0xac + ldr r1, [r0] + movs r0, #0 + strh r0, [r1] _08012BC2: - 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 + 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 _08012BD0: .4byte 0x020314E0 _08012BD4: .4byte 0x040000D4 _08012BD8: .4byte 0x083BD36C @@ -36760,36 +36760,36 @@ _08012BEC: .4byte 0xFFFFFE00 _08012BF0: .4byte 0x0000071C _08012BF4: .4byte 0x0200B0C0 - thumb_func_start sub_12BF8 + thumb_func_start sub_12BF8 sub_12BF8: @ 0x08012BF8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r3, _08012C30 @ =0x020314E0 - ldr r0, [r3] - ldr r1, _08012C34 @ =0x00001330 - adds r2, r0, r1 - ldr r4, _08012C38 @ =0x00001334 - adds r1, r0, r4 - str r1, [r2] - ldr r6, _08012C3C @ =0x0000132C - adds r0, r0, r6 - str r1, [r0] - mov r8, r1 - ldr r1, _08012C40 @ =0x0200B0C0 - ldrb r0, [r1, #4] - subs r0, #3 - mov sl, r3 - cmp r0, #4 - bhi _08012CA0 - lsls r0, r0, #2 - ldr r1, _08012C44 @ =_08012C48 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r3, _08012C30 @ =0x020314E0 + ldr r0, [r3] + ldr r1, _08012C34 @ =0x00001330 + adds r2, r0, r1 + ldr r4, _08012C38 @ =0x00001334 + adds r1, r0, r4 + str r1, [r2] + ldr r6, _08012C3C @ =0x0000132C + adds r0, r0, r6 + str r1, [r0] + mov r8, r1 + ldr r1, _08012C40 @ =0x0200B0C0 + ldrb r0, [r1, #4] + subs r0, #3 + mov sl, r3 + cmp r0, #4 + bhi _08012CA0 + lsls r0, r0, #2 + ldr r1, _08012C44 @ =_08012C48 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08012C30: .4byte 0x020314E0 _08012C34: .4byte 0x00001330 _08012C38: .4byte 0x00001334 @@ -36797,197 +36797,197 @@ _08012C3C: .4byte 0x0000132C _08012C40: .4byte 0x0200B0C0 _08012C44: .4byte _08012C48 _08012C48: @ jump table - .4byte _08012C5C @ case 0 - .4byte _08012C78 @ case 1 - .4byte _08012C78 @ case 2 - .4byte _08012C88 @ case 3 - .4byte _08012C78 @ case 4 + .4byte _08012C5C @ case 0 + .4byte _08012C78 @ case 1 + .4byte _08012C78 @ case 2 + .4byte _08012C88 @ case 3 + .4byte _08012C78 @ case 4 _08012C5C: - movs r0, #2 - mov r1, r8 - strb r0, [r1, #1] - ldr r0, _08012C70 @ =0x02031590 - ldrb r1, [r0, #0x16] - movs r0, #0xb8 - muls r1, r0, r1 - ldr r0, _08012C74 @ =0x0200B3B8 - adds r6, r1, r0 - b _08012CAC - .align 2, 0 + movs r0, #2 + mov r1, r8 + strb r0, [r1, #1] + ldr r0, _08012C70 @ =0x02031590 + ldrb r1, [r0, #0x16] + movs r0, #0xb8 + muls r1, r0, r1 + ldr r0, _08012C74 @ =0x0200B3B8 + adds r6, r1, r0 + b _08012CAC + .align 2, 0 _08012C70: .4byte 0x02031590 _08012C74: .4byte 0x0200B3B8 _08012C78: - movs r0, #1 - mov r2, r8 - strb r0, [r2, #1] - ldr r3, _08012C84 @ =0x0200B0C0 - ldr r0, [r3, #0x44] - b _08012CAA - .align 2, 0 + movs r0, #1 + mov r2, r8 + strb r0, [r2, #1] + ldr r3, _08012C84 @ =0x0200B0C0 + ldr r0, [r3, #0x44] + b _08012CAA + .align 2, 0 _08012C84: .4byte 0x0200B0C0 _08012C88: - mov r4, r8 - movs r0, #1 - ldrsb r0, [r4, r0] - cmp r0, #2 - ble _08012C96 - movs r0, #2 - strb r0, [r4, #1] + mov r4, r8 + movs r0, #1 + ldrsb r0, [r4, r0] + cmp r0, #2 + ble _08012C96 + movs r0, #2 + strb r0, [r4, #1] _08012C96: - ldr r6, _08012C9C @ =0x0200B0C0 - ldr r0, [r6, #0x44] - b _08012CAA - .align 2, 0 + ldr r6, _08012C9C @ =0x0200B0C0 + ldr r0, [r6, #0x44] + b _08012CAA + .align 2, 0 _08012C9C: .4byte 0x0200B0C0 _08012CA0: - movs r0, #3 - mov r1, r8 - strb r0, [r1, #1] - ldr r2, _08012DC0 @ =0x0200B0C0 - ldr r0, [r2, #0x44] + movs r0, #3 + mov r1, r8 + strb r0, [r1, #1] + ldr r2, _08012DC0 @ =0x0200B0C0 + ldr r0, [r2, #0x44] _08012CAA: - ldr r6, [r0] + ldr r6, [r0] _08012CAC: - mov r3, sl - ldr r1, [r3] - ldr r4, _08012DC4 @ =0x0000132C - adds r0, r1, r4 - ldr r0, [r0] - ldrh r0, [r0, #0xa] - lsrs r5, r0, #0xc - ldr r2, _08012DC8 @ =0x040000D4 - ldr r0, _08012DCC @ =0x000005F6 - adds r1, r1, r0 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - lsls r0, r1, #4 - adds r0, r0, r1 - adds r0, r5, r0 - lsls r0, r0, #7 - ldr r1, _08012DD0 @ =0x083BB16C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08012DD4 @ =0x06010400 - str r0, [r2, #4] - ldr r0, _08012DD8 @ =0x80000040 - str r0, [r2, #8] - ldr r0, [r2, #8] - mov r2, r8 - movs r3, #0x28 - ldrsh r1, [r2, r3] - lsrs r0, r1, #0x1f - adds r1, r1, r0 - asrs r1, r1, #1 - strh r1, [r2, #0x10] - movs r4, #0x2a - ldrsh r0, [r2, r4] - lsrs r2, r0, #0x1f - adds r0, r0, r2 - asrs r0, r0, #1 - mov r2, r8 - strh r0, [r2, #0x12] - mov r3, sl - ldr r2, [r3] - adds r0, r2, #0 - adds r0, #0x4c - ldrh r0, [r0] - adds r0, #7 - subs r1, r1, r0 - ldr r4, _08012DDC @ =0x000002AA - adds r0, r2, r4 - ldrh r0, [r0] - subs r1, r1, r0 - strh r1, [r6, #2] - adds r0, r2, #0 - adds r0, #0x4e - ldrh r0, [r0] - adds r0, #7 - mov r1, r8 - ldrh r4, [r1, #0x12] - subs r4, r4, r0 - ldr r3, _08012DE0 @ =0x000005FC - adds r0, r2, r3 - ldrh r0, [r0] - subs r4, r4, r0 - adds r0, r2, #0 - adds r0, #0xe6 - ldrh r0, [r0] - subs r4, r4, r0 - movs r1, #0xab - lsls r1, r1, #2 - adds r0, r2, r1 - ldrh r0, [r0] - subs r4, r4, r0 - movs r3, #0xe3 - lsls r3, r3, #2 - adds r0, r2, r3 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #0xa - bl __divsi3 - subs r4, r4, r0 - strh r4, [r6, #4] - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - movs r0, #0x3c - rsbs r0, r0, #0 - cmp r4, r0 - bge _08012D5E - ldr r0, _08012DE4 @ =0x0000FFC4 - strh r0, [r6, #4] + mov r3, sl + ldr r1, [r3] + ldr r4, _08012DC4 @ =0x0000132C + adds r0, r1, r4 + ldr r0, [r0] + ldrh r0, [r0, #0xa] + lsrs r5, r0, #0xc + ldr r2, _08012DC8 @ =0x040000D4 + ldr r0, _08012DCC @ =0x000005F6 + adds r1, r1, r0 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + lsls r0, r1, #4 + adds r0, r0, r1 + adds r0, r5, r0 + lsls r0, r0, #7 + ldr r1, _08012DD0 @ =0x083BB16C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08012DD4 @ =0x06010400 + str r0, [r2, #4] + ldr r0, _08012DD8 @ =0x80000040 + str r0, [r2, #8] + ldr r0, [r2, #8] + mov r2, r8 + movs r3, #0x28 + ldrsh r1, [r2, r3] + lsrs r0, r1, #0x1f + adds r1, r1, r0 + asrs r1, r1, #1 + strh r1, [r2, #0x10] + movs r4, #0x2a + ldrsh r0, [r2, r4] + lsrs r2, r0, #0x1f + adds r0, r0, r2 + asrs r0, r0, #1 + mov r2, r8 + strh r0, [r2, #0x12] + mov r3, sl + ldr r2, [r3] + adds r0, r2, #0 + adds r0, #0x4c + ldrh r0, [r0] + adds r0, #7 + subs r1, r1, r0 + ldr r4, _08012DDC @ =0x000002AA + adds r0, r2, r4 + ldrh r0, [r0] + subs r1, r1, r0 + strh r1, [r6, #2] + adds r0, r2, #0 + adds r0, #0x4e + ldrh r0, [r0] + adds r0, #7 + mov r1, r8 + ldrh r4, [r1, #0x12] + subs r4, r4, r0 + ldr r3, _08012DE0 @ =0x000005FC + adds r0, r2, r3 + ldrh r0, [r0] + subs r4, r4, r0 + adds r0, r2, #0 + adds r0, #0xe6 + ldrh r0, [r0] + subs r4, r4, r0 + movs r1, #0xab + lsls r1, r1, #2 + adds r0, r2, r1 + ldrh r0, [r0] + subs r4, r4, r0 + movs r3, #0xe3 + lsls r3, r3, #2 + adds r0, r2, r3 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r1, #0xa + bl __divsi3 + subs r4, r4, r0 + strh r4, [r6, #4] + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + movs r0, #0x3c + rsbs r0, r0, #0 + cmp r4, r0 + bge _08012D5E + ldr r0, _08012DE4 @ =0x0000FFC4 + strh r0, [r6, #4] _08012D5E: - movs r2, #4 - ldrsh r0, [r6, r2] - cmp r0, #0xb4 - ble _08012D6A - movs r0, #0xb4 - strh r0, [r6, #4] + movs r2, #4 + ldrsh r0, [r6, r2] + cmp r0, #0xb4 + ble _08012D6A + movs r0, #0xb4 + strh r0, [r6, #4] _08012D6A: - ldrh r0, [r6, #2] - mov r3, r8 - strh r0, [r3, #0x24] - ldrh r0, [r6, #4] - strh r0, [r3, #0x26] - adds r7, r6, #0 - adds r7, #8 - ldrh r0, [r6, #8] - lsls r0, r0, #3 - ldr r3, _08012DE8 @ =0x03005000 - adds r4, r0, r3 - movs r0, #3 - mov r2, r8 - ldrb r1, [r2, #1] - ands r1, r0 - lsls r1, r1, #2 - ldrb r2, [r4, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #5] - movs r0, #2 - ldrsh r1, [r7, r0] - movs r2, #2 - ldrsh r0, [r6, r2] - adds r1, r1, r0 - ldr r2, _08012DEC @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r4, #2] - ldr r0, _08012DF0 @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, #2] - mov r1, r8 - movs r0, #0 - ldrsb r0, [r1, r0] - mov sb, r3 - cmp r0, #0 - beq _08012DF4 - movs r0, #0xc8 - b _08012DFA - .align 2, 0 + ldrh r0, [r6, #2] + mov r3, r8 + strh r0, [r3, #0x24] + ldrh r0, [r6, #4] + strh r0, [r3, #0x26] + adds r7, r6, #0 + adds r7, #8 + ldrh r0, [r6, #8] + lsls r0, r0, #3 + ldr r3, _08012DE8 @ =0x03005000 + adds r4, r0, r3 + movs r0, #3 + mov r2, r8 + ldrb r1, [r2, #1] + ands r1, r0 + lsls r1, r1, #2 + ldrb r2, [r4, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, #5] + movs r0, #2 + ldrsh r1, [r7, r0] + movs r2, #2 + ldrsh r0, [r6, r2] + adds r1, r1, r0 + ldr r2, _08012DEC @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r4, #2] + ldr r0, _08012DF0 @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r4, #2] + mov r1, r8 + movs r0, #0 + ldrsb r0, [r1, r0] + mov sb, r3 + cmp r0, #0 + beq _08012DF4 + movs r0, #0xc8 + b _08012DFA + .align 2, 0 _08012DC0: .4byte 0x0200B0C0 _08012DC4: .4byte 0x0000132C _08012DC8: .4byte 0x040000D4 @@ -37002,216 +37002,216 @@ _08012DE8: .4byte 0x03005000 _08012DEC: .4byte 0x000001FF _08012DF0: .4byte 0xFFFFFE00 _08012DF4: - ldrb r0, [r6, #4] - ldrb r7, [r7, #4] - adds r0, r0, r7 + ldrb r0, [r6, #4] + ldrb r7, [r7, #4] + adds r0, r0, r7 _08012DFA: - strb r0, [r4] - mov r2, sl - ldr r3, [r2] - movs r4, #0xe2 - lsls r4, r4, #2 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08012E12 - b _0801309C + strb r0, [r4] + mov r2, sl + ldr r3, [r2] + movs r4, #0xe2 + lsls r4, r4, #2 + adds r0, r3, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08012E12 + b _0801309C _08012E12: - ldr r6, _08012F84 @ =0x0200B0C0 - ldr r0, [r6, #0x44] - ldr r6, [r0, #4] - ldrh r0, [r6] - cmp r0, #0 - beq _08012E5E - mov r1, r8 - ldrh r0, [r1, #0x24] - subs r0, #8 - strh r0, [r6, #2] - ldrh r0, [r1, #0x26] - subs r0, #8 - strh r0, [r6, #4] - adds r7, r6, #0 - adds r7, #8 - ldrh r2, [r6, #8] - lsls r2, r2, #3 - add r2, sb - movs r3, #2 - ldrsh r1, [r7, r3] - movs r4, #2 - ldrsh r0, [r6, r4] - adds r1, r1, r0 - ldr r3, _08012F88 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _08012F8C @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r6, #8] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r6, #4] - ldrb r7, [r7, #4] - adds r0, r0, r7 - strb r0, [r1] + ldr r6, _08012F84 @ =0x0200B0C0 + ldr r0, [r6, #0x44] + ldr r6, [r0, #4] + ldrh r0, [r6] + cmp r0, #0 + beq _08012E5E + mov r1, r8 + ldrh r0, [r1, #0x24] + subs r0, #8 + strh r0, [r6, #2] + ldrh r0, [r1, #0x26] + subs r0, #8 + strh r0, [r6, #4] + adds r7, r6, #0 + adds r7, #8 + ldrh r2, [r6, #8] + lsls r2, r2, #3 + add r2, sb + movs r3, #2 + ldrsh r1, [r7, r3] + movs r4, #2 + ldrsh r0, [r6, r4] + adds r1, r1, r0 + ldr r3, _08012F88 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _08012F8C @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r6, #8] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r6, #4] + ldrb r7, [r7, #4] + adds r0, r0, r7 + strb r0, [r1] _08012E5E: - mov r4, sl - ldr r2, [r4] - movs r1, #0xe2 - lsls r1, r1, #2 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - beq _08012E78 - cmp r0, #3 - beq _08012E78 - b _08012FBC + mov r4, sl + ldr r2, [r4] + movs r1, #0xe2 + lsls r1, r1, #2 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + beq _08012E78 + cmp r0, #3 + beq _08012E78 + b _08012FBC _08012E78: - ldr r4, _08012F90 @ =0x00000392 - adds r0, r2, r4 - ldrh r1, [r0] - cmp r1, #0 - bne _08012E8E - movs r0, #1 - strb r0, [r2, #0x1f] - mov r2, r8 - strh r1, [r2, #0x30] - strh r1, [r2, #0x32] - strh r1, [r2, #6] + ldr r4, _08012F90 @ =0x00000392 + adds r0, r2, r4 + ldrh r1, [r0] + cmp r1, #0 + bne _08012E8E + movs r0, #1 + strb r0, [r2, #0x1f] + mov r2, r8 + strh r1, [r2, #0x30] + strh r1, [r2, #0x32] + strh r1, [r2, #6] _08012E8E: - mov r3, sl - ldr r0, [r3] - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0x96 - bne _08012E9E - movs r0, #1 - strh r0, [r6] + mov r3, sl + ldr r0, [r3] + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0x96 + bne _08012E9E + movs r0, #1 + strh r0, [r6] _08012E9E: - mov r1, sl - ldr r0, [r1] - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0x9a - bne _08012EB0 - movs r0, #0xf9 - bl m4aSongNumStart + mov r1, sl + ldr r0, [r1] + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0x9a + bne _08012EB0 + movs r0, #0xf9 + bl m4aSongNumStart _08012EB0: - mov r2, sl - ldr r0, [r2] - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, #0x95 - bls _08012EEA - subs r0, #0x96 - movs r1, #0x42 - bl __modsi3 - movs r1, #6 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r2, _08012F94 @ =0x040000D4 - lsrs r5, r0, #0x10 - asrs r0, r0, #7 - ldr r1, _08012F98 @ =0x083BF16C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08012F9C @ =0x06010720 - str r0, [r2, #4] - ldr r0, _08012FA0 @ =0x80000100 - str r0, [r2, #8] - ldr r0, [r2, #8] - mov r3, r8 - ldrh r0, [r3, #6] - subs r0, #0x28 - strh r0, [r3, #6] + mov r2, sl + ldr r0, [r2] + adds r1, r0, r4 + ldrh r0, [r1] + cmp r0, #0x95 + bls _08012EEA + subs r0, #0x96 + movs r1, #0x42 + bl __modsi3 + movs r1, #6 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r2, _08012F94 @ =0x040000D4 + lsrs r5, r0, #0x10 + asrs r0, r0, #7 + ldr r1, _08012F98 @ =0x083BF16C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08012F9C @ =0x06010720 + str r0, [r2, #4] + ldr r0, _08012FA0 @ =0x80000100 + str r0, [r2, #8] + ldr r0, [r2, #8] + mov r3, r8 + ldrh r0, [r3, #6] + subs r0, #0x28 + strh r0, [r3, #6] _08012EEA: - ldr r1, _08012F84 @ =0x0200B0C0 - ldrb r0, [r1, #0xf] - movs r1, #0x41 - rsbs r1, r1, #0 - ands r0, r1 - cmp r0, #0 - bne _08012F30 - mov r2, sl - ldr r3, [r2] - adds r0, r3, r4 - ldrh r1, [r0] - adds r1, #1 - strh r1, [r0] - lsls r0, r5, #0x10 - ldr r4, _08012FA4 @ =0xFFF90000 - adds r0, r0, r4 - lsrs r0, r0, #0x10 - cmp r0, #3 - bhi _08012F30 - ldr r2, _08012F94 @ =0x040000D4 - ldr r1, _08012FA8 @ =0x000005F6 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - lsls r0, r0, #5 - ldr r1, _08012FAC @ =0x08137E14 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08012FB0 @ =0x05000220 - str r0, [r2, #4] - ldr r0, _08012FB4 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] + ldr r1, _08012F84 @ =0x0200B0C0 + ldrb r0, [r1, #0xf] + movs r1, #0x41 + rsbs r1, r1, #0 + ands r0, r1 + cmp r0, #0 + bne _08012F30 + mov r2, sl + ldr r3, [r2] + adds r0, r3, r4 + ldrh r1, [r0] + adds r1, #1 + strh r1, [r0] + lsls r0, r5, #0x10 + ldr r4, _08012FA4 @ =0xFFF90000 + adds r0, r0, r4 + lsrs r0, r0, #0x10 + cmp r0, #3 + bhi _08012F30 + ldr r2, _08012F94 @ =0x040000D4 + ldr r1, _08012FA8 @ =0x000005F6 + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #4 + lsls r0, r0, #5 + ldr r1, _08012FAC @ =0x08137E14 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08012FB0 @ =0x05000220 + str r0, [r2, #4] + ldr r0, _08012FB4 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] _08012F30: - ldr r3, _08012FB8 @ =0x020314E0 - ldr r0, [r3] - ldr r2, _08012F90 @ =0x00000392 - adds r0, r0, r2 - ldrh r0, [r0] - cmp r0, #0xba - bne _08012F44 - movs r0, #0 - mov r4, r8 - strb r0, [r4] + ldr r3, _08012FB8 @ =0x020314E0 + ldr r0, [r3] + ldr r2, _08012F90 @ =0x00000392 + adds r0, r0, r2 + ldrh r0, [r0] + cmp r0, #0xba + bne _08012F44 + movs r0, #0 + mov r4, r8 + strb r0, [r4] _08012F44: - ldr r1, [r3] - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #0xd7 - bhi _08012F50 - b _0801310A + ldr r1, [r3] + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #0xd7 + bhi _08012F50 + b _0801310A _08012F50: - movs r2, #0xe2 - lsls r2, r2, #2 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - bne _08012F6A - movs r0, #0xa5 - lsls r0, r0, #2 - adds r1, r1, r0 - movs r0, #2 - strb r0, [r1] + movs r2, #0xe2 + lsls r2, r2, #2 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + bne _08012F6A + movs r0, #0xa5 + lsls r0, r0, #2 + adds r1, r1, r0 + movs r0, #2 + strb r0, [r1] _08012F6A: - ldr r0, [r3] - adds r0, r0, r2 - movs r1, #0 - strb r1, [r0] - movs r2, #0 - strh r1, [r6] - ldr r0, [r3] - strb r2, [r0, #0x1f] - ldr r2, _08012F94 @ =0x040000D4 - ldr r0, [r3] - ldr r1, _08012FA8 @ =0x000005F6 - adds r0, r0, r1 - b _080130F2 - .align 2, 0 + ldr r0, [r3] + adds r0, r0, r2 + movs r1, #0 + strb r1, [r0] + movs r2, #0 + strh r1, [r6] + ldr r0, [r3] + strb r2, [r0, #0x1f] + ldr r2, _08012F94 @ =0x040000D4 + ldr r0, [r3] + ldr r1, _08012FA8 @ =0x000005F6 + adds r0, r0, r1 + b _080130F2 + .align 2, 0 _08012F84: .4byte 0x0200B0C0 _08012F88: .4byte 0x000001FF _08012F8C: .4byte 0xFFFFFE00 @@ -37227,106 +37227,106 @@ _08012FB0: .4byte 0x05000220 _08012FB4: .4byte 0x80000010 _08012FB8: .4byte 0x020314E0 _08012FBC: - ldr r4, _0801307C @ =0x00000392 - adds r0, r2, r4 - ldrh r1, [r0] - cmp r1, #0 - bne _08012FD2 - movs r0, #1 - strb r0, [r2, #0x1f] - mov r2, r8 - strh r1, [r2, #0x30] - strh r1, [r2, #0x32] - strh r1, [r2, #6] + ldr r4, _0801307C @ =0x00000392 + adds r0, r2, r4 + ldrh r1, [r0] + cmp r1, #0 + bne _08012FD2 + movs r0, #1 + strb r0, [r2, #0x1f] + mov r2, r8 + strh r1, [r2, #0x30] + strh r1, [r2, #0x32] + strh r1, [r2, #6] _08012FD2: - mov r3, sl - ldr r0, [r3] - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #5 - bne _08012FE2 - movs r0, #1 - strh r0, [r6] + mov r3, sl + ldr r0, [r3] + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #5 + bne _08012FE2 + movs r0, #1 + strh r0, [r6] _08012FE2: - mov r1, sl - ldr r0, [r1] - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, #4 - bls _0801301A - subs r0, #5 - movs r1, #0x3f - bl __modsi3 - movs r1, #7 - bl __divsi3 - ldr r2, _08013080 @ =0x040000D4 - lsls r0, r0, #0x10 - asrs r0, r0, #7 - ldr r1, _08013084 @ =0x083BDF6C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08013088 @ =0x06010720 - str r0, [r2, #4] - ldr r0, _0801308C @ =0x80000100 - str r0, [r2, #8] - ldr r0, [r2, #8] - mov r2, r8 - ldrh r0, [r2, #6] - subs r0, #0x14 - strh r0, [r2, #6] + mov r1, sl + ldr r0, [r1] + adds r1, r0, r4 + ldrh r0, [r1] + cmp r0, #4 + bls _0801301A + subs r0, #5 + movs r1, #0x3f + bl __modsi3 + movs r1, #7 + bl __divsi3 + ldr r2, _08013080 @ =0x040000D4 + lsls r0, r0, #0x10 + asrs r0, r0, #7 + ldr r1, _08013084 @ =0x083BDF6C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08013088 @ =0x06010720 + str r0, [r2, #4] + ldr r0, _0801308C @ =0x80000100 + str r0, [r2, #8] + ldr r0, [r2, #8] + mov r2, r8 + ldrh r0, [r2, #6] + subs r0, #0x14 + strh r0, [r2, #6] _0801301A: - ldr r3, _08013090 @ =0x0200B0C0 - ldrb r0, [r3, #0xf] - movs r1, #0x81 - rsbs r1, r1, #0 - ands r0, r1 - cmp r0, #0 - bne _08013034 - mov r0, sl - ldr r1, [r0] - adds r1, r1, r4 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] + ldr r3, _08013090 @ =0x0200B0C0 + ldrb r0, [r3, #0xf] + movs r1, #0x81 + rsbs r1, r1, #0 + ands r0, r1 + cmp r0, #0 + bne _08013034 + mov r0, sl + ldr r1, [r0] + adds r1, r1, r4 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] _08013034: - mov r1, sl - ldr r0, [r1] - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0x17 - bne _08013046 - movs r0, #0xf9 - bl m4aSongNumStart + mov r1, sl + ldr r0, [r1] + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0x17 + bne _08013046 + movs r0, #0xf9 + bl m4aSongNumStart _08013046: - mov r2, sl - ldr r0, [r2] - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0x14 - bne _08013058 - movs r0, #1 - mov r3, r8 - strb r0, [r3] + mov r2, sl + ldr r0, [r2] + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0x14 + bne _08013058 + movs r0, #1 + mov r3, r8 + strb r0, [r3] _08013058: - ldr r0, _08013094 @ =0x020314E0 - ldr r1, [r0] - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, #0x43 - bls _0801310A - movs r2, #0xe2 - lsls r2, r2, #2 - adds r1, r1, r2 - movs r0, #0 - strb r0, [r1] - strh r0, [r6] - ldr r2, _08013080 @ =0x040000D4 - ldr r3, _08013094 @ =0x020314E0 - ldr r0, [r3] - ldr r4, _08013098 @ =0x000005F6 - adds r0, r0, r4 - b _080130F2 - .align 2, 0 + ldr r0, _08013094 @ =0x020314E0 + ldr r1, [r0] + adds r0, r1, r4 + ldrh r0, [r0] + cmp r0, #0x43 + bls _0801310A + movs r2, #0xe2 + lsls r2, r2, #2 + adds r1, r1, r2 + movs r0, #0 + strb r0, [r1] + strh r0, [r6] + ldr r2, _08013080 @ =0x040000D4 + ldr r3, _08013094 @ =0x020314E0 + ldr r0, [r3] + ldr r4, _08013098 @ =0x000005F6 + adds r0, r0, r4 + b _080130F2 + .align 2, 0 _0801307C: .4byte 0x00000392 _08013080: .4byte 0x040000D4 _08013084: .4byte 0x083BDF6C @@ -37336,195 +37336,195 @@ _08013090: .4byte 0x0200B0C0 _08013094: .4byte 0x020314E0 _08013098: .4byte 0x000005F6 _0801309C: - ldr r6, _08013204 @ =0x000005F7 - adds r0, r3, r6 - ldrb r0, [r0] - cmp r0, #0 - bne _0801310A - movs r4, #0xbf - lsls r4, r4, #3 - adds r2, r3, r4 - ldrh r0, [r2] - cmp r0, #0 - beq _0801310A - subs r0, #1 - strh r0, [r2] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0801310A - ldr r0, _08013208 @ =0x000005F6 - adds r2, r3, r0 - ldrb r3, [r2] - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - ble _080130E8 - subs r0, r3, #1 - strb r0, [r2] - mov r2, sl - ldr r1, [r2] - ldr r3, _08013208 @ =0x000005F6 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _080130E8 - adds r1, r1, r4 - movs r0, #0xe1 - lsls r0, r0, #4 - strh r0, [r1] + ldr r6, _08013204 @ =0x000005F7 + adds r0, r3, r6 + ldrb r0, [r0] + cmp r0, #0 + bne _0801310A + movs r4, #0xbf + lsls r4, r4, #3 + adds r2, r3, r4 + ldrh r0, [r2] + cmp r0, #0 + beq _0801310A + subs r0, #1 + strh r0, [r2] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0801310A + ldr r0, _08013208 @ =0x000005F6 + adds r2, r3, r0 + ldrb r3, [r2] + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + ble _080130E8 + subs r0, r3, #1 + strb r0, [r2] + mov r2, sl + ldr r1, [r2] + ldr r3, _08013208 @ =0x000005F6 + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _080130E8 + adds r1, r1, r4 + movs r0, #0xe1 + lsls r0, r0, #4 + strh r0, [r1] _080130E8: - ldr r2, _0801320C @ =0x040000D4 - mov r4, sl - ldr r0, [r4] - ldr r6, _08013208 @ =0x000005F6 - adds r0, r0, r6 + ldr r2, _0801320C @ =0x040000D4 + mov r4, sl + ldr r0, [r4] + ldr r6, _08013208 @ =0x000005F6 + adds r0, r0, r6 _080130F2: - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #5 - ldr r1, _08013210 @ =0x08137E14 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08013214 @ =0x05000220 - str r0, [r2, #4] - ldr r0, _08013218 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #5 + ldr r1, _08013210 @ =0x08137E14 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08013214 @ =0x05000220 + str r0, [r2, #4] + ldr r0, _08013218 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] _0801310A: - ldr r1, _0801321C @ =0x0200B0C0 - ldrb r0, [r1, #4] - cmp r0, #6 - ble _08013114 - b _0801330C + ldr r1, _0801321C @ =0x0200B0C0 + ldrb r0, [r1, #4] + cmp r0, #6 + ble _08013114 + b _0801330C _08013114: - cmp r0, #4 - bge _0801311A - b _0801330C + cmp r0, #4 + bge _0801311A + b _0801330C _0801311A: - ldr r0, _08013220 @ =0x020314E0 - ldr r1, [r0] - adds r1, #0x71 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - mov sl, r0 - cmp r1, #0 - bne _0801312E - b _08013280 + ldr r0, _08013220 @ =0x020314E0 + ldr r1, [r0] + adds r1, #0x71 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + mov sl, r0 + cmp r1, #0 + bne _0801312E + b _08013280 _0801312E: - movs r3, #4 - mov r5, sl + movs r3, #4 + mov r5, sl _08013132: - ldr r2, [r5] - lsls r1, r3, #0x10 - asrs r1, r1, #0x10 - lsls r4, r1, #2 - adds r4, r2, r4 - subs r1, #1 - lsls r0, r1, #2 - adds r2, r2, r0 - adds r0, r2, #0 - adds r0, #0xd0 - ldrh r3, [r0] - adds r0, r4, #0 - adds r0, #0xd0 - strh r3, [r0] - adds r2, #0xd2 - ldrh r0, [r2] - adds r4, #0xd2 - strh r0, [r4] - lsls r1, r1, #0x10 - lsrs r3, r1, #0x10 - cmp r1, #0 - bgt _08013132 - mov r3, sl - ldr r2, [r3] - mov r4, r8 - ldrh r0, [r4, #0x10] - subs r0, #7 - adds r1, r2, #0 - adds r1, #0xd0 - strh r0, [r1] - ldrh r0, [r4, #0x12] - subs r0, #7 - adds r2, #0xd2 - strh r0, [r2] - movs r3, #0 - ldr r6, _0801321C @ =0x0200B0C0 - mov sb, r6 + ldr r2, [r5] + lsls r1, r3, #0x10 + asrs r1, r1, #0x10 + lsls r4, r1, #2 + adds r4, r2, r4 + subs r1, #1 + lsls r0, r1, #2 + adds r2, r2, r0 + adds r0, r2, #0 + adds r0, #0xd0 + ldrh r3, [r0] + adds r0, r4, #0 + adds r0, #0xd0 + strh r3, [r0] + adds r2, #0xd2 + ldrh r0, [r2] + adds r4, #0xd2 + strh r0, [r4] + lsls r1, r1, #0x10 + lsrs r3, r1, #0x10 + cmp r1, #0 + bgt _08013132 + mov r3, sl + ldr r2, [r3] + mov r4, r8 + ldrh r0, [r4, #0x10] + subs r0, #7 + adds r1, r2, #0 + adds r1, #0xd0 + strh r0, [r1] + ldrh r0, [r4, #0x12] + subs r0, #7 + adds r2, #0xd2 + strh r0, [r2] + movs r3, #0 + ldr r6, _0801321C @ =0x0200B0C0 + mov sb, r6 _0801317C: - lsls r2, r3, #0x10 - asrs r5, r2, #0x10 - mov r0, sb - ldr r1, [r0, #0x44] - lsls r0, r5, #2 - adds r0, r0, r1 - ldr r6, [r0, #0x18] - ldrh r0, [r6] - mov ip, r2 - cmp r0, #0 - beq _0801325E - adds r7, r6, #0 - adds r7, #8 - ldrh r0, [r6, #8] - lsls r0, r0, #3 - ldr r1, _08013224 @ =0x03005000 - adds r4, r0, r1 - movs r0, #3 - mov r2, r8 - ldrb r1, [r2, #1] - ands r1, r0 - lsls r1, r1, #2 - ldrb r2, [r4, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #5] - movs r3, #2 - ldrsh r2, [r7, r3] - mov r6, sl - ldr r3, [r6] - adds r0, r5, #1 - lsls r0, r0, #3 - adds r0, r3, r0 - adds r0, #0xd0 - movs r6, #0 - ldrsh r1, [r0, r6] - adds r0, r3, #0 - adds r0, #0x4c - movs r6, #0 - ldrsh r0, [r0, r6] - subs r1, r1, r0 - adds r2, r2, r1 - ldr r1, _08013228 @ =0x000001FF - adds r0, r1, #0 - ands r2, r0 - ldrh r1, [r4, #2] - ldr r0, _0801322C @ =0xFFFFFE00 - ands r0, r1 - orrs r0, r2 - strh r0, [r4, #2] - cmp r5, #0 - bne _08013230 - adds r0, r3, #0 - adds r0, #0xda - ldrb r0, [r0] - adds r1, r3, #0 - adds r1, #0x4e - ldrb r1, [r1] - subs r0, r0, r1 - adds r1, r3, #0 - adds r1, #0xe6 - ldrb r1, [r1] - subs r0, r0, r1 - ldrb r7, [r7, #4] - adds r0, r0, r7 - b _0801325C - .align 2, 0 + lsls r2, r3, #0x10 + asrs r5, r2, #0x10 + mov r0, sb + ldr r1, [r0, #0x44] + lsls r0, r5, #2 + adds r0, r0, r1 + ldr r6, [r0, #0x18] + ldrh r0, [r6] + mov ip, r2 + cmp r0, #0 + beq _0801325E + adds r7, r6, #0 + adds r7, #8 + ldrh r0, [r6, #8] + lsls r0, r0, #3 + ldr r1, _08013224 @ =0x03005000 + adds r4, r0, r1 + movs r0, #3 + mov r2, r8 + ldrb r1, [r2, #1] + ands r1, r0 + lsls r1, r1, #2 + ldrb r2, [r4, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, #5] + movs r3, #2 + ldrsh r2, [r7, r3] + mov r6, sl + ldr r3, [r6] + adds r0, r5, #1 + lsls r0, r0, #3 + adds r0, r3, r0 + adds r0, #0xd0 + movs r6, #0 + ldrsh r1, [r0, r6] + adds r0, r3, #0 + adds r0, #0x4c + movs r6, #0 + ldrsh r0, [r0, r6] + subs r1, r1, r0 + adds r2, r2, r1 + ldr r1, _08013228 @ =0x000001FF + adds r0, r1, #0 + ands r2, r0 + ldrh r1, [r4, #2] + ldr r0, _0801322C @ =0xFFFFFE00 + ands r0, r1 + orrs r0, r2 + strh r0, [r4, #2] + cmp r5, #0 + bne _08013230 + adds r0, r3, #0 + adds r0, #0xda + ldrb r0, [r0] + adds r1, r3, #0 + adds r1, #0x4e + ldrb r1, [r1] + subs r0, r0, r1 + adds r1, r3, #0 + adds r1, #0xe6 + ldrb r1, [r1] + subs r0, r0, r1 + ldrb r7, [r7, #4] + adds r0, r0, r7 + b _0801325C + .align 2, 0 _08013204: .4byte 0x000005F7 _08013208: .4byte 0x000005F6 _0801320C: .4byte 0x040000D4 @@ -37537,891 +37537,891 @@ _08013224: .4byte 0x03005000 _08013228: .4byte 0x000001FF _0801322C: .4byte 0xFFFFFE00 _08013230: - cmp r5, #1 - bne _0801325E - mov r2, sb - ldr r0, [r2, #0x4c] - ands r0, r5 - cmp r0, #0 - bne _0801325A - adds r0, r3, #0 - adds r0, #0xe2 - ldrb r0, [r0] - adds r1, r3, #0 - adds r1, #0x4e - ldrb r1, [r1] - subs r0, r0, r1 - adds r1, r3, #0 - adds r1, #0xe6 - ldrb r1, [r1] - subs r0, r0, r1 - ldrb r7, [r7, #4] - adds r0, r0, r7 - b _0801325C + cmp r5, #1 + bne _0801325E + mov r2, sb + ldr r0, [r2, #0x4c] + ands r0, r5 + cmp r0, #0 + bne _0801325A + adds r0, r3, #0 + adds r0, #0xe2 + ldrb r0, [r0] + adds r1, r3, #0 + adds r1, #0x4e + ldrb r1, [r1] + subs r0, r0, r1 + adds r1, r3, #0 + adds r1, #0xe6 + ldrb r1, [r1] + subs r0, r0, r1 + ldrb r7, [r7, #4] + adds r0, r0, r7 + b _0801325C _0801325A: - movs r0, #0xc8 + movs r0, #0xc8 _0801325C: - strb r0, [r4] + strb r0, [r4] _0801325E: - movs r0, #0x80 - lsls r0, r0, #9 - add r0, ip - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - ble _0801317C - ldr r3, _0801327C @ =0x0200B0C0 - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x18] - movs r1, #1 - strh r1, [r0] - ldr r0, [r3, #0x44] - b _08013308 - .align 2, 0 + movs r0, #0x80 + lsls r0, r0, #9 + add r0, ip + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + ble _0801317C + ldr r3, _0801327C @ =0x0200B0C0 + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x18] + movs r1, #1 + strh r1, [r0] + ldr r0, [r3, #0x44] + b _08013308 + .align 2, 0 _0801327C: .4byte 0x0200B0C0 _08013280: - movs r3, #0 - movs r4, #3 - mov sb, r4 - movs r6, #0xd - rsbs r6, r6, #0 - mov ip, r6 - ldr r7, _0801331C @ =0xFFFFFE00 + movs r3, #0 + movs r4, #3 + mov sb, r4 + movs r6, #0xd + rsbs r6, r6, #0 + mov ip, r6 + ldr r7, _0801331C @ =0xFFFFFE00 _0801328E: - lsls r0, r3, #0x10 - asrs r5, r0, #0x10 - ldr r0, _08013320 @ =0x0200B0C0 - ldr r1, [r0, #0x44] - lsls r0, r5, #2 - adds r0, r0, r1 - ldr r6, [r0, #0x18] - ldrh r0, [r6] - cmp r0, #0 - beq _080132F0 - ldrh r0, [r6, #8] - lsls r0, r0, #3 - ldr r1, _08013324 @ =0x03005000 - adds r4, r0, r1 - mov r2, r8 - ldrb r1, [r2, #1] - mov r3, sb - ands r1, r3 - lsls r1, r1, #2 - ldrb r2, [r4, #5] - mov r0, ip - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #5] - movs r0, #0xa - ldrsh r3, [r6, r0] - mov r1, sl - ldr r2, [r1] - adds r0, r5, #1 - lsls r0, r0, #3 - adds r0, r2, r0 - adds r0, #0xd0 - movs r6, #0 - ldrsh r1, [r0, r6] - adds r2, #0x4c - movs r6, #0 - ldrsh r0, [r2, r6] - subs r1, r1, r0 - adds r3, r3, r1 - ldr r1, _08013328 @ =0x000001FF - adds r0, r1, #0 - ands r3, r0 - ldrh r1, [r4, #2] - adds r0, r7, #0 - ands r0, r1 - orrs r0, r3 - strh r0, [r4, #2] - movs r0, #0xc8 - strb r0, [r4] + lsls r0, r3, #0x10 + asrs r5, r0, #0x10 + ldr r0, _08013320 @ =0x0200B0C0 + ldr r1, [r0, #0x44] + lsls r0, r5, #2 + adds r0, r0, r1 + ldr r6, [r0, #0x18] + ldrh r0, [r6] + cmp r0, #0 + beq _080132F0 + ldrh r0, [r6, #8] + lsls r0, r0, #3 + ldr r1, _08013324 @ =0x03005000 + adds r4, r0, r1 + mov r2, r8 + ldrb r1, [r2, #1] + mov r3, sb + ands r1, r3 + lsls r1, r1, #2 + ldrb r2, [r4, #5] + mov r0, ip + ands r0, r2 + orrs r0, r1 + strb r0, [r4, #5] + movs r0, #0xa + ldrsh r3, [r6, r0] + mov r1, sl + ldr r2, [r1] + adds r0, r5, #1 + lsls r0, r0, #3 + adds r0, r2, r0 + adds r0, #0xd0 + movs r6, #0 + ldrsh r1, [r0, r6] + adds r2, #0x4c + movs r6, #0 + ldrsh r0, [r2, r6] + subs r1, r1, r0 + adds r3, r3, r1 + ldr r1, _08013328 @ =0x000001FF + adds r0, r1, #0 + ands r3, r0 + ldrh r1, [r4, #2] + adds r0, r7, #0 + ands r0, r1 + orrs r0, r3 + strh r0, [r4, #2] + movs r0, #0xc8 + strb r0, [r4] _080132F0: - adds r0, r5, #1 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - ble _0801328E - ldr r2, _08013320 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x18] - movs r1, #0 - strh r1, [r0] - ldr r0, [r2, #0x44] + adds r0, r5, #1 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + ble _0801328E + ldr r2, _08013320 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x18] + movs r1, #0 + strh r1, [r0] + ldr r0, [r2, #0x44] _08013308: - ldr r0, [r0, #0x1c] - strh r1, [r0] + ldr r0, [r0, #0x1c] + strh r1, [r0] _0801330C: - 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 + 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 _0801331C: .4byte 0xFFFFFE00 _08013320: .4byte 0x0200B0C0 _08013324: .4byte 0x03005000 _08013328: .4byte 0x000001FF - thumb_func_start sub_1332C + thumb_func_start sub_1332C sub_1332C: @ 0x0801332C - ldr r0, _08013338 @ =0x020314E0 - ldr r1, [r0] - movs r0, #0x3c - strh r0, [r1, #0x26] - bx lr - .align 2, 0 + ldr r0, _08013338 @ =0x020314E0 + ldr r1, [r0] + movs r0, #0x3c + strh r0, [r1, #0x26] + bx lr + .align 2, 0 _08013338: .4byte 0x020314E0 - thumb_func_start sub_1333C + thumb_func_start sub_1333C sub_1333C: @ 0x0801333C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #0xc - mov r0, sp - bl sub_13824 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - ldr r0, _0801336C @ =0x020314E0 - ldr r0, [r0] - adds r0, #0x22 - ldrb r0, [r0] - subs r0, #1 - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #6 - bls _08013362 - b _08013758 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #0xc + mov r0, sp + bl sub_13824 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + ldr r0, _0801336C @ =0x020314E0 + ldr r0, [r0] + adds r0, #0x22 + ldrb r0, [r0] + subs r0, #1 + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #6 + bls _08013362 + b _08013758 _08013362: - lsls r0, r0, #2 - ldr r1, _08013370 @ =_08013374 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08013370 @ =_08013374 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0801336C: .4byte 0x020314E0 _08013370: .4byte _08013374 _08013374: @ jump table - .4byte _080133C8 @ case 0 - .4byte _08013488 @ case 1 - .4byte _080134FC @ case 2 - .4byte _08013614 @ case 3 - .4byte _08013758 @ case 4 - .4byte _08013428 @ case 5 - .4byte _08013390 @ case 6 + .4byte _080133C8 @ case 0 + .4byte _08013488 @ case 1 + .4byte _080134FC @ case 2 + .4byte _08013614 @ case 3 + .4byte _08013758 @ case 4 + .4byte _08013428 @ case 5 + .4byte _08013390 @ case 6 _08013390: - ldr r0, _080133A4 @ =0x020314E0 - ldr r0, [r0] - ldr r1, _080133A8 @ =0x0000132C - adds r0, r0, r1 - ldr r1, [r0] - movs r2, #0 - strh r2, [r1, #0x30] - ldr r0, [r0] - strh r2, [r0, #0x32] - b _080137CE - .align 2, 0 + ldr r0, _080133A4 @ =0x020314E0 + ldr r0, [r0] + ldr r1, _080133A8 @ =0x0000132C + adds r0, r0, r1 + ldr r1, [r0] + movs r2, #0 + strh r2, [r1, #0x30] + ldr r0, [r0] + strh r2, [r0, #0x32] + b _080137CE + .align 2, 0 _080133A4: .4byte 0x020314E0 _080133A8: .4byte 0x0000132C _080133AC: - mov r1, sp - movs r0, #0 - ldrsb r0, [r3, r0] - ldrh r1, [r1] - adds r0, r0, r1 - mov r1, sp - strh r0, [r1] - mov r2, sp - movs r1, #1 - ldrsb r1, [r3, r1] - ldrh r0, [r2, #2] - adds r0, r0, r1 - strh r0, [r2, #2] - b _0801340C + mov r1, sp + movs r0, #0 + ldrsb r0, [r3, r0] + ldrh r1, [r1] + adds r0, r0, r1 + mov r1, sp + strh r0, [r1] + mov r2, sp + movs r1, #1 + ldrsb r1, [r3, r1] + ldrh r0, [r2, #2] + adds r0, r0, r1 + strh r0, [r2, #2] + b _0801340C _080133C8: - add r5, sp, #4 - mov r0, sp - adds r1, r5, #0 - adds r2, r7, #0 - bl sub_13934 - ldr r0, _0801341C @ =0x020314E0 - ldr r0, [r0] - ldr r2, _08013420 @ =0x0000132C - adds r0, r0, r2 - ldr r1, [r0] - adds r1, #0x30 - add r4, sp, #8 - adds r0, r7, #0 - adds r2, r4, #0 - bl sub_13D24 - movs r1, #0 - mov r8, r5 - adds r5, r4, #0 - ldr r2, _08013424 @ =0x086ACD50 + add r5, sp, #4 + mov r0, sp + adds r1, r5, #0 + adds r2, r7, #0 + bl sub_13934 + ldr r0, _0801341C @ =0x020314E0 + ldr r0, [r0] + ldr r2, _08013420 @ =0x0000132C + adds r0, r0, r2 + ldr r1, [r0] + adds r1, #0x30 + add r4, sp, #8 + adds r0, r7, #0 + adds r2, r4, #0 + bl sub_13D24 + movs r1, #0 + mov r8, r5 + adds r5, r4, #0 + ldr r2, _08013424 @ =0x086ACD50 _080133F2: - lsls r0, r1, #0x10 - asrs r1, r0, #0x10 - lsls r0, r1, #2 - adds r3, r0, r2 - ldrh r0, [r3, #2] - cmp r0, r7 - bls _080133AC - adds r0, r1, #1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #8 - ble _080133F2 + lsls r0, r1, #0x10 + asrs r1, r0, #0x10 + lsls r0, r1, #2 + adds r3, r0, r2 + ldrh r0, [r3, #2] + cmp r0, r7 + bls _080133AC + adds r0, r1, #1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #8 + ble _080133F2 _0801340C: - ldr r0, _0801341C @ =0x020314E0 - ldr r1, [r0] - ldr r3, _08013420 @ =0x0000132C - adds r1, r1, r3 - ldr r2, [r1] - mov r6, r8 - ldrh r0, [r6] - b _080134DA - .align 2, 0 + ldr r0, _0801341C @ =0x020314E0 + ldr r1, [r0] + ldr r3, _08013420 @ =0x0000132C + adds r1, r1, r3 + ldr r2, [r1] + mov r6, r8 + ldrh r0, [r6] + b _080134DA + .align 2, 0 _0801341C: .4byte 0x020314E0 _08013420: .4byte 0x0000132C _08013424: .4byte 0x086ACD50 _08013428: - add r5, sp, #4 - mov r0, sp - adds r1, r5, #0 - adds r2, r7, #0 - bl sub_13934 - ldr r0, _08013464 @ =0x020314E0 - mov r8, r0 - ldr r0, [r0] - ldr r6, _08013468 @ =0x0000132C - adds r0, r0, r6 - ldr r1, [r0] - adds r1, #0x30 - add r4, sp, #8 - adds r0, r7, #0 - adds r2, r4, #0 - bl sub_13D24 - mov r2, r8 - ldr r1, [r2] - adds r1, r1, r6 - ldr r2, [r1] - ldrh r0, [r5] - ldrh r3, [r4] - adds r0, r0, r3 - strh r0, [r2, #0x30] - ldr r2, [r1] - ldrh r0, [r4, #2] - ldrh r1, [r5, #2] - b _080134EA - .align 2, 0 + add r5, sp, #4 + mov r0, sp + adds r1, r5, #0 + adds r2, r7, #0 + bl sub_13934 + ldr r0, _08013464 @ =0x020314E0 + mov r8, r0 + ldr r0, [r0] + ldr r6, _08013468 @ =0x0000132C + adds r0, r0, r6 + ldr r1, [r0] + adds r1, #0x30 + add r4, sp, #8 + adds r0, r7, #0 + adds r2, r4, #0 + bl sub_13D24 + mov r2, r8 + ldr r1, [r2] + adds r1, r1, r6 + ldr r2, [r1] + ldrh r0, [r5] + ldrh r3, [r4] + adds r0, r0, r3 + strh r0, [r2, #0x30] + ldr r2, [r1] + ldrh r0, [r4, #2] + ldrh r1, [r5, #2] + b _080134EA + .align 2, 0 _08013464: .4byte 0x020314E0 _08013468: .4byte 0x0000132C _0801346C: - mov r1, sp - movs r0, #0 - ldrsb r0, [r3, r0] - ldrh r1, [r1] - adds r0, r0, r1 - mov r1, sp - strh r0, [r1] - mov r2, sp - movs r1, #1 - ldrsb r1, [r3, r1] - ldrh r0, [r2, #2] - adds r0, r0, r1 - strh r0, [r2, #2] - b _080134CC + mov r1, sp + movs r0, #0 + ldrsb r0, [r3, r0] + ldrh r1, [r1] + adds r0, r0, r1 + mov r1, sp + strh r0, [r1] + mov r2, sp + movs r1, #1 + ldrsb r1, [r3, r1] + ldrh r0, [r2, #2] + adds r0, r0, r1 + strh r0, [r2, #2] + b _080134CC _08013488: - add r5, sp, #4 - mov r0, sp - adds r1, r5, #0 - adds r2, r7, #0 - bl sub_13934 - ldr r0, _080134F0 @ =0x020314E0 - ldr r0, [r0] - ldr r6, _080134F4 @ =0x0000132C - adds r0, r0, r6 - ldr r1, [r0] - adds r1, #0x30 - add r4, sp, #8 - adds r0, r7, #0 - adds r2, r4, #0 - bl sub_13D24 - movs r1, #0 - mov r8, r5 - adds r5, r4, #0 - ldr r2, _080134F8 @ =0x086ACD50 + add r5, sp, #4 + mov r0, sp + adds r1, r5, #0 + adds r2, r7, #0 + bl sub_13934 + ldr r0, _080134F0 @ =0x020314E0 + ldr r0, [r0] + ldr r6, _080134F4 @ =0x0000132C + adds r0, r0, r6 + ldr r1, [r0] + adds r1, #0x30 + add r4, sp, #8 + adds r0, r7, #0 + adds r2, r4, #0 + bl sub_13D24 + movs r1, #0 + mov r8, r5 + adds r5, r4, #0 + ldr r2, _080134F8 @ =0x086ACD50 _080134B2: - lsls r0, r1, #0x10 - asrs r1, r0, #0x10 - lsls r0, r1, #2 - adds r3, r0, r2 - ldrh r0, [r3, #2] - cmp r0, r7 - bls _0801346C - adds r0, r1, #1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #8 - ble _080134B2 + lsls r0, r1, #0x10 + asrs r1, r0, #0x10 + lsls r0, r1, #2 + adds r3, r0, r2 + ldrh r0, [r3, #2] + cmp r0, r7 + bls _0801346C + adds r0, r1, #1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #8 + ble _080134B2 _080134CC: - ldr r0, _080134F0 @ =0x020314E0 - ldr r1, [r0] - ldr r0, _080134F4 @ =0x0000132C - adds r1, r1, r0 - ldr r2, [r1] - mov r3, r8 - ldrh r0, [r3] + ldr r0, _080134F0 @ =0x020314E0 + ldr r1, [r0] + ldr r0, _080134F4 @ =0x0000132C + adds r1, r1, r0 + ldr r2, [r1] + mov r3, r8 + ldrh r0, [r3] _080134DA: - ldrh r5, [r5] - adds r0, r0, r5 - strh r0, [r2, #0x30] - ldr r2, [r1] - add r0, sp, #8 - add r1, sp, #4 - ldrh r0, [r0, #2] - ldrh r1, [r1, #2] + ldrh r5, [r5] + adds r0, r0, r5 + strh r0, [r2, #0x30] + ldr r2, [r1] + add r0, sp, #8 + add r1, sp, #4 + ldrh r0, [r0, #2] + ldrh r1, [r1, #2] _080134EA: - adds r0, r0, r1 - strh r0, [r2, #0x32] - b _080137CE - .align 2, 0 + adds r0, r0, r1 + strh r0, [r2, #0x32] + b _080137CE + .align 2, 0 _080134F0: .4byte 0x020314E0 _080134F4: .4byte 0x0000132C _080134F8: .4byte 0x086ACD50 _080134FC: - mov r4, sp - add r5, sp, #4 - mov r0, sp - adds r1, r5, #0 - adds r2, r7, #0 - bl sub_13934 - ldr r2, _08013560 @ =0x02031520 - movs r6, #0x22 - ldrsh r1, [r2, r6] - lsls r1, r1, #1 - mov r0, sp - ldrh r0, [r0] - subs r0, r0, r1 - mov r1, sp - strh r0, [r1] - movs r0, #0x20 - ldrsh r1, [r2, r0] - lsls r1, r1, #1 - ldrh r0, [r4, #2] - subs r0, r0, r1 - strh r0, [r4, #2] - ldr r6, _08013564 @ =0x020314E0 - ldr r2, [r6] - movs r1, #0x9e - lsls r1, r1, #5 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov r8, r5 - cmp r0, #0 - bne _08013588 - ldr r3, _08013568 @ =0x0000132C - adds r0, r2, r3 - ldr r1, [r0] - adds r1, #0x30 - add r4, sp, #8 - adds r0, r7, #0 - adds r2, r4, #0 - bl sub_13D24 - ldr r0, [r6] - movs r6, #0x9e - lsls r6, r6, #5 - adds r0, r0, r6 - movs r1, #1 - strb r1, [r0] - adds r5, r4, #0 - b _0801359C - .align 2, 0 + mov r4, sp + add r5, sp, #4 + mov r0, sp + adds r1, r5, #0 + adds r2, r7, #0 + bl sub_13934 + ldr r2, _08013560 @ =0x02031520 + movs r6, #0x22 + ldrsh r1, [r2, r6] + lsls r1, r1, #1 + mov r0, sp + ldrh r0, [r0] + subs r0, r0, r1 + mov r1, sp + strh r0, [r1] + movs r0, #0x20 + ldrsh r1, [r2, r0] + lsls r1, r1, #1 + ldrh r0, [r4, #2] + subs r0, r0, r1 + strh r0, [r4, #2] + ldr r6, _08013564 @ =0x020314E0 + ldr r2, [r6] + movs r1, #0x9e + lsls r1, r1, #5 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov r8, r5 + cmp r0, #0 + bne _08013588 + ldr r3, _08013568 @ =0x0000132C + adds r0, r2, r3 + ldr r1, [r0] + adds r1, #0x30 + add r4, sp, #8 + adds r0, r7, #0 + adds r2, r4, #0 + bl sub_13D24 + ldr r0, [r6] + movs r6, #0x9e + lsls r6, r6, #5 + adds r0, r0, r6 + movs r1, #1 + strb r1, [r0] + adds r5, r4, #0 + b _0801359C + .align 2, 0 _08013560: .4byte 0x02031520 _08013564: .4byte 0x020314E0 _08013568: .4byte 0x0000132C _0801356C: - mov r1, sp - movs r0, #0 - ldrsb r0, [r3, r0] - ldrh r1, [r1] - adds r0, r0, r1 - mov r1, sp - strh r0, [r1] - mov r2, sp - movs r1, #1 - ldrsb r1, [r3, r1] - ldrh r0, [r2, #2] - adds r0, r0, r1 - strh r0, [r2, #2] - b _080135F0 + mov r1, sp + movs r0, #0 + ldrsb r0, [r3, r0] + ldrh r1, [r1] + adds r0, r0, r1 + mov r1, sp + strh r0, [r1] + mov r2, sp + movs r1, #1 + ldrsb r1, [r3, r1] + ldrh r0, [r2, #2] + adds r0, r0, r1 + strh r0, [r2, #2] + b _080135F0 _08013588: - ldr r0, _08013604 @ =0x0000132C - adds r2, r2, r0 - ldr r0, [r2] - ldrh r0, [r0, #0x30] - add r1, sp, #8 - strh r0, [r1] - ldr r0, [r2] - ldrh r0, [r0, #0x32] - strh r0, [r1, #2] - adds r5, r1, #0 + ldr r0, _08013604 @ =0x0000132C + adds r2, r2, r0 + ldr r0, [r2] + ldrh r0, [r0, #0x30] + add r1, sp, #8 + strh r0, [r1] + ldr r0, [r2] + ldrh r0, [r0, #0x32] + strh r0, [r1, #2] + adds r5, r1, #0 _0801359C: - mov r0, sp - adds r1, r5, #0 - movs r2, #0 - bl sub_13B28 - ldr r0, _08013608 @ =0x020314E0 - ldr r2, [r0] - ldr r1, _08013604 @ =0x0000132C - adds r3, r2, r1 - ldr r4, [r3] - add r1, sp, #8 - mov r6, r8 - ldrh r0, [r6] - ldrh r1, [r1] - adds r0, r0, r1 - strh r0, [r4, #0x30] - ldr r3, [r3] - add r1, sp, #4 - ldrh r0, [r5, #2] - ldrh r1, [r1, #2] - adds r0, r0, r1 - strh r0, [r3, #0x32] - adds r2, #0x22 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #5 - bne _080135F0 - movs r1, #0 - ldr r2, _0801360C @ =0x086ACD74 + mov r0, sp + adds r1, r5, #0 + movs r2, #0 + bl sub_13B28 + ldr r0, _08013608 @ =0x020314E0 + ldr r2, [r0] + ldr r1, _08013604 @ =0x0000132C + adds r3, r2, r1 + ldr r4, [r3] + add r1, sp, #8 + mov r6, r8 + ldrh r0, [r6] + ldrh r1, [r1] + adds r0, r0, r1 + strh r0, [r4, #0x30] + ldr r3, [r3] + add r1, sp, #4 + ldrh r0, [r5, #2] + ldrh r1, [r1, #2] + adds r0, r0, r1 + strh r0, [r3, #0x32] + adds r2, #0x22 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #5 + bne _080135F0 + movs r1, #0 + ldr r2, _0801360C @ =0x086ACD74 _080135D6: - lsls r0, r1, #0x10 - asrs r1, r0, #0x10 - lsls r0, r1, #2 - adds r3, r0, r2 - ldrh r0, [r3, #2] - cmp r0, r7 - bls _0801356C - adds r0, r1, #1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #3 - ble _080135D6 + lsls r0, r1, #0x10 + asrs r1, r0, #0x10 + lsls r0, r1, #2 + adds r3, r0, r2 + ldrh r0, [r3, #2] + cmp r0, r7 + bls _0801356C + adds r0, r1, #1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #3 + ble _080135D6 _080135F0: - ldr r3, _08013610 @ =0x02031520 - movs r1, #0x22 - ldrsh r0, [r3, r1] - mov r1, sp - lsls r0, r0, #1 - ldrh r1, [r1] - adds r0, r0, r1 - mov r1, sp - strh r0, [r1] - b _08013738 - .align 2, 0 + ldr r3, _08013610 @ =0x02031520 + movs r1, #0x22 + ldrsh r0, [r3, r1] + mov r1, sp + lsls r0, r0, #1 + ldrh r1, [r1] + adds r0, r0, r1 + mov r1, sp + strh r0, [r1] + b _08013738 + .align 2, 0 _08013604: .4byte 0x0000132C _08013608: .4byte 0x020314E0 _0801360C: .4byte 0x086ACD74 _08013610: .4byte 0x02031520 _08013614: - mov r4, sp - add r5, sp, #4 - mov r0, sp - adds r1, r5, #0 - adds r2, r7, #0 - bl sub_13934 - ldr r2, _08013674 @ =0x02031520 - movs r0, #0x24 - ldrsh r1, [r2, r0] - lsls r1, r1, #1 - mov r0, sp - ldrh r0, [r0] - subs r0, r0, r1 - mov r1, sp - strh r0, [r1] - movs r3, #0x20 - ldrsh r1, [r2, r3] - lsls r1, r1, #1 - ldrh r0, [r4, #2] - subs r0, r0, r1 - strh r0, [r4, #2] - ldr r6, _08013678 @ =0x020314E0 - ldr r2, [r6] - ldr r1, _0801367C @ =0x000013CC - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov r8, r5 - cmp r0, #0 - bne _080136A0 - ldr r3, _08013680 @ =0x0000132C - adds r0, r2, r3 - ldr r1, [r0] - adds r1, #0x30 - add r4, sp, #8 - adds r0, r7, #0 - adds r2, r4, #0 - bl sub_13D24 - ldr r0, [r6] - ldr r6, _0801367C @ =0x000013CC - adds r0, r0, r6 - movs r1, #1 - strb r1, [r0] - adds r5, r4, #0 - b _080136B4 - .align 2, 0 + mov r4, sp + add r5, sp, #4 + mov r0, sp + adds r1, r5, #0 + adds r2, r7, #0 + bl sub_13934 + ldr r2, _08013674 @ =0x02031520 + movs r0, #0x24 + ldrsh r1, [r2, r0] + lsls r1, r1, #1 + mov r0, sp + ldrh r0, [r0] + subs r0, r0, r1 + mov r1, sp + strh r0, [r1] + movs r3, #0x20 + ldrsh r1, [r2, r3] + lsls r1, r1, #1 + ldrh r0, [r4, #2] + subs r0, r0, r1 + strh r0, [r4, #2] + ldr r6, _08013678 @ =0x020314E0 + ldr r2, [r6] + ldr r1, _0801367C @ =0x000013CC + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov r8, r5 + cmp r0, #0 + bne _080136A0 + ldr r3, _08013680 @ =0x0000132C + adds r0, r2, r3 + ldr r1, [r0] + adds r1, #0x30 + add r4, sp, #8 + adds r0, r7, #0 + adds r2, r4, #0 + bl sub_13D24 + ldr r0, [r6] + ldr r6, _0801367C @ =0x000013CC + adds r0, r0, r6 + movs r1, #1 + strb r1, [r0] + adds r5, r4, #0 + b _080136B4 + .align 2, 0 _08013674: .4byte 0x02031520 _08013678: .4byte 0x020314E0 _0801367C: .4byte 0x000013CC _08013680: .4byte 0x0000132C _08013684: - movs r1, #0 - ldrsb r1, [r3, r1] - mov r0, sp - ldrh r0, [r0] - subs r0, r0, r1 - mov r1, sp - strh r0, [r1] - mov r2, sp - movs r1, #1 - ldrsb r1, [r3, r1] - ldrh r0, [r2, #2] - adds r0, r0, r1 - strh r0, [r2, #2] - b _0801371E + movs r1, #0 + ldrsb r1, [r3, r1] + mov r0, sp + ldrh r0, [r0] + subs r0, r0, r1 + mov r1, sp + strh r0, [r1] + mov r2, sp + movs r1, #1 + ldrsb r1, [r3, r1] + ldrh r0, [r2, #2] + adds r0, r0, r1 + strh r0, [r2, #2] + b _0801371E _080136A0: - ldr r0, _08013748 @ =0x0000132C - adds r2, r2, r0 - ldr r0, [r2] - ldrh r0, [r0, #0x30] - add r1, sp, #8 - strh r0, [r1] - ldr r0, [r2] - ldrh r0, [r0, #0x32] - strh r0, [r1, #2] - adds r5, r1, #0 + ldr r0, _08013748 @ =0x0000132C + adds r2, r2, r0 + ldr r0, [r2] + ldrh r0, [r0, #0x30] + add r1, sp, #8 + strh r0, [r1] + ldr r0, [r2] + ldrh r0, [r0, #0x32] + strh r0, [r1, #2] + adds r5, r1, #0 _080136B4: - mov r0, sp - ldrh r1, [r0] - movs r0, #0x5f - subs r0, r0, r1 - mov r1, sp - strh r0, [r1] - ldrh r0, [r5] - rsbs r0, r0, #0 - add r4, sp, #8 - strh r0, [r4] - mov r0, sp - adds r1, r4, #0 - movs r2, #1 - bl sub_13B28 - ldrh r1, [r4] - rsbs r1, r1, #0 - strh r1, [r4] - ldr r0, _0801374C @ =0x020314E0 - ldr r2, [r0] - ldr r3, _08013748 @ =0x0000132C - adds r5, r2, r3 - ldr r3, [r5] - mov r6, r8 - ldrh r0, [r6] - adds r1, r1, r0 - strh r1, [r3, #0x30] - ldr r3, [r5] - add r1, sp, #4 - ldrh r0, [r4, #2] - ldrh r1, [r1, #2] - adds r0, r0, r1 - strh r0, [r3, #0x32] - adds r2, #0x22 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #5 - bne _0801371E - movs r1, #0 - ldr r2, _08013750 @ =0x086ACD74 + mov r0, sp + ldrh r1, [r0] + movs r0, #0x5f + subs r0, r0, r1 + mov r1, sp + strh r0, [r1] + ldrh r0, [r5] + rsbs r0, r0, #0 + add r4, sp, #8 + strh r0, [r4] + mov r0, sp + adds r1, r4, #0 + movs r2, #1 + bl sub_13B28 + ldrh r1, [r4] + rsbs r1, r1, #0 + strh r1, [r4] + ldr r0, _0801374C @ =0x020314E0 + ldr r2, [r0] + ldr r3, _08013748 @ =0x0000132C + adds r5, r2, r3 + ldr r3, [r5] + mov r6, r8 + ldrh r0, [r6] + adds r1, r1, r0 + strh r1, [r3, #0x30] + ldr r3, [r5] + add r1, sp, #4 + ldrh r0, [r4, #2] + ldrh r1, [r1, #2] + adds r0, r0, r1 + strh r0, [r3, #0x32] + adds r2, #0x22 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #5 + bne _0801371E + movs r1, #0 + ldr r2, _08013750 @ =0x086ACD74 _08013704: - lsls r0, r1, #0x10 - asrs r1, r0, #0x10 - lsls r0, r1, #2 - adds r3, r0, r2 - ldrh r0, [r3, #2] - cmp r0, r7 - bls _08013684 - adds r0, r1, #1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #3 - ble _08013704 + lsls r0, r1, #0x10 + asrs r1, r0, #0x10 + lsls r0, r1, #2 + adds r3, r0, r2 + ldrh r0, [r3, #2] + cmp r0, r7 + bls _08013684 + adds r0, r1, #1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #3 + ble _08013704 _0801371E: - mov r0, sp - ldrh r0, [r0] - movs r1, #0x5f - subs r1, r1, r0 - mov r0, sp - strh r1, [r0] - ldr r3, _08013754 @ =0x02031520 - movs r2, #0x24 - ldrsh r0, [r3, r2] - lsls r0, r0, #1 - adds r1, r1, r0 - mov r0, sp - strh r1, [r0] + mov r0, sp + ldrh r0, [r0] + movs r1, #0x5f + subs r1, r1, r0 + mov r0, sp + strh r1, [r0] + ldr r3, _08013754 @ =0x02031520 + movs r2, #0x24 + ldrsh r0, [r3, r2] + lsls r0, r0, #1 + adds r1, r1, r0 + mov r0, sp + strh r1, [r0] _08013738: - mov r2, sp - movs r6, #0x20 - ldrsh r1, [r3, r6] - lsls r1, r1, #1 - ldrh r0, [r2, #2] - adds r0, r0, r1 - strh r0, [r2, #2] - b _080137CE - .align 2, 0 + mov r2, sp + movs r6, #0x20 + ldrsh r1, [r3, r6] + lsls r1, r1, #1 + ldrh r0, [r2, #2] + adds r0, r0, r1 + strh r0, [r2, #2] + b _080137CE + .align 2, 0 _08013748: .4byte 0x0000132C _0801374C: .4byte 0x020314E0 _08013750: .4byte 0x086ACD74 _08013754: .4byte 0x02031520 _08013758: - ldr r0, _08013788 @ =0x020314E0 - ldr r2, [r0] - movs r1, #0x91 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _08013794 - ldr r6, _0801378C @ =0x00000127 - adds r3, r2, r6 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #1 - beq _080137B8 - ldr r1, _08013790 @ =0x0000132C - adds r0, r2, r1 - ldr r1, [r0] - ldrh r0, [r1, #0x30] - subs r0, #4 - strh r0, [r1, #0x30] - movs r0, #1 - b _080137B6 - .align 2, 0 + ldr r0, _08013788 @ =0x020314E0 + ldr r2, [r0] + movs r1, #0x91 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _08013794 + ldr r6, _0801378C @ =0x00000127 + adds r3, r2, r6 + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #1 + beq _080137B8 + ldr r1, _08013790 @ =0x0000132C + adds r0, r2, r1 + ldr r1, [r0] + ldrh r0, [r1, #0x30] + subs r0, #4 + strh r0, [r1, #0x30] + movs r0, #1 + b _080137B6 + .align 2, 0 _08013788: .4byte 0x020314E0 _0801378C: .4byte 0x00000127 _08013790: .4byte 0x0000132C _08013794: - cmp r0, #0 - bge _080137B8 - ldr r6, _08013814 @ =0x00000127 - adds r3, r2, r6 - movs r1, #0 - ldrsb r1, [r3, r1] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _080137B8 - ldr r1, _08013818 @ =0x0000132C - adds r0, r2, r1 - ldr r1, [r0] - ldrh r0, [r1, #0x30] - adds r0, #4 - strh r0, [r1, #0x30] - movs r0, #0xff + cmp r0, #0 + bge _080137B8 + ldr r6, _08013814 @ =0x00000127 + adds r3, r2, r6 + movs r1, #0 + ldrsb r1, [r3, r1] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + beq _080137B8 + ldr r1, _08013818 @ =0x0000132C + adds r0, r2, r1 + ldr r1, [r0] + ldrh r0, [r1, #0x30] + adds r0, #4 + strh r0, [r1, #0x30] + movs r0, #0xff _080137B6: - strb r0, [r3] + strb r0, [r3] _080137B8: - ldr r0, _0801381C @ =0x020314E0 - ldr r0, [r0] - ldr r2, _08013820 @ =0x000005F3 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _080137CE - bl sub_1493C + ldr r0, _0801381C @ =0x020314E0 + ldr r0, [r0] + ldr r2, _08013820 @ =0x000005F3 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _080137CE + bl sub_1493C _080137CE: - ldr r0, _0801381C @ =0x020314E0 - ldr r2, [r0] - adds r0, r2, #0 - adds r0, #0x22 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08013808 - ldr r3, _08013818 @ =0x0000132C - adds r2, r2, r3 - ldr r1, [r2] - mov r0, sp - ldrh r0, [r0] - strh r0, [r1, #0x28] - ldr r1, [r2] - mov r0, sp - ldrh r0, [r0, #2] - strh r0, [r1, #0x2a] - ldr r1, [r2] - movs r6, #0x28 - ldrsh r0, [r1, r6] - lsls r0, r0, #7 - str r0, [r1, #0x34] - ldr r1, [r2] - movs r2, #0x2a - ldrsh r0, [r1, r2] - lsls r0, r0, #7 - str r0, [r1, #0x38] + ldr r0, _0801381C @ =0x020314E0 + ldr r2, [r0] + adds r0, r2, #0 + adds r0, #0x22 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08013808 + ldr r3, _08013818 @ =0x0000132C + adds r2, r2, r3 + ldr r1, [r2] + mov r0, sp + ldrh r0, [r0] + strh r0, [r1, #0x28] + ldr r1, [r2] + mov r0, sp + ldrh r0, [r0, #2] + strh r0, [r1, #0x2a] + ldr r1, [r2] + movs r6, #0x28 + ldrsh r0, [r1, r6] + lsls r0, r0, #7 + str r0, [r1, #0x34] + ldr r1, [r2] + movs r2, #0x2a + ldrsh r0, [r1, r2] + lsls r0, r0, #7 + str r0, [r1, #0x38] _08013808: - add sp, #0xc - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + add sp, #0xc + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08013814: .4byte 0x00000127 _08013818: .4byte 0x0000132C _0801381C: .4byte 0x020314E0 _08013820: .4byte 0x000005F3 - thumb_func_start sub_13824 + thumb_func_start sub_13824 sub_13824: @ 0x08013824 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r7, r0, #0 - ldr r0, _0801391C @ =0x020314E0 - mov r8, r0 - ldr r3, [r0] - ldr r1, _08013920 @ =0x0000132C - mov sb, r1 - add r3, sb - ldr r1, [r3] - ldrh r2, [r1, #0x28] - ldrh r4, [r1, #0x2c] - subs r2, r2, r4 - lsls r2, r2, #0x10 - ldrh r0, [r1, #0x2a] - ldrh r1, [r1, #0x2e] - subs r0, r0, r1 - lsls r0, r0, #0x10 - ldr r1, _08013924 @ =0x0000FFFF - mov sl, r1 - lsrs r6, r2, #0x10 - orrs r6, r0 - movs r5, #0 - strh r4, [r7] - ldr r0, [r3] - ldrh r0, [r0, #0x2e] - strh r0, [r7, #2] - adds r0, r7, #0 - adds r1, r6, #0 - bl sub_14488 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - mov r3, r8 - ldr r0, [r3] - movs r1, #0x92 - lsls r1, r1, #1 - adds r0, r0, r1 - strb r5, [r0] - ldr r0, [r3] - ldr r3, _08013928 @ =0x00000125 - adds r0, r0, r3 - strb r5, [r0] - mov r0, r8 - ldr r2, [r0] - adds r0, r2, #0 - adds r0, #0x22 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0801390A - subs r1, #2 - adds r3, r2, r1 - ldrh r1, [r3] - mov r0, sl - ands r0, r1 - cmp r0, #0 - beq _0801390A - mov r0, sb - adds r1, r2, r0 - ldr r0, [r1] - ldrh r0, [r0, #0x28] - strh r0, [r7] - ldr r0, [r1] - ldrh r0, [r0, #0x2a] - strh r0, [r7, #2] - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _0801392C @ =0xFFFF0000 - ands r6, r1 - orrs r6, r0 - ldr r1, _08013930 @ =0x00000123 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #0x10 - mov r3, sl - ands r6, r3 - orrs r6, r0 - adds r0, r7, #0 - adds r1, r6, #0 - bl sub_14488 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - mov r0, r8 - ldr r1, [r0] - ldrb r2, [r7] - mov r3, sb - adds r0, r1, r3 - ldr r0, [r0] - ldrh r0, [r0, #0x28] - subs r2, r2, r0 - movs r0, #0x92 - lsls r0, r0, #1 - adds r1, r1, r0 - strb r2, [r1] - mov r3, r8 - ldr r1, [r3] - ldrb r2, [r7, #2] - mov r3, sb - adds r0, r1, r3 - ldr r0, [r0] - ldrh r0, [r0, #0x2a] - subs r2, r2, r0 - ldr r0, _08013928 @ =0x00000125 - adds r1, r1, r0 - strb r2, [r1] + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + adds r7, r0, #0 + ldr r0, _0801391C @ =0x020314E0 + mov r8, r0 + ldr r3, [r0] + ldr r1, _08013920 @ =0x0000132C + mov sb, r1 + add r3, sb + ldr r1, [r3] + ldrh r2, [r1, #0x28] + ldrh r4, [r1, #0x2c] + subs r2, r2, r4 + lsls r2, r2, #0x10 + ldrh r0, [r1, #0x2a] + ldrh r1, [r1, #0x2e] + subs r0, r0, r1 + lsls r0, r0, #0x10 + ldr r1, _08013924 @ =0x0000FFFF + mov sl, r1 + lsrs r6, r2, #0x10 + orrs r6, r0 + movs r5, #0 + strh r4, [r7] + ldr r0, [r3] + ldrh r0, [r0, #0x2e] + strh r0, [r7, #2] + adds r0, r7, #0 + adds r1, r6, #0 + bl sub_14488 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + mov r3, r8 + ldr r0, [r3] + movs r1, #0x92 + lsls r1, r1, #1 + adds r0, r0, r1 + strb r5, [r0] + ldr r0, [r3] + ldr r3, _08013928 @ =0x00000125 + adds r0, r0, r3 + strb r5, [r0] + mov r0, r8 + ldr r2, [r0] + adds r0, r2, #0 + adds r0, #0x22 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0801390A + subs r1, #2 + adds r3, r2, r1 + ldrh r1, [r3] + mov r0, sl + ands r0, r1 + cmp r0, #0 + beq _0801390A + mov r0, sb + adds r1, r2, r0 + ldr r0, [r1] + ldrh r0, [r0, #0x28] + strh r0, [r7] + ldr r0, [r1] + ldrh r0, [r0, #0x2a] + strh r0, [r7, #2] + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _0801392C @ =0xFFFF0000 + ands r6, r1 + orrs r6, r0 + ldr r1, _08013930 @ =0x00000123 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #0x10 + mov r3, sl + ands r6, r3 + orrs r6, r0 + adds r0, r7, #0 + adds r1, r6, #0 + bl sub_14488 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + mov r0, r8 + ldr r1, [r0] + ldrb r2, [r7] + mov r3, sb + adds r0, r1, r3 + ldr r0, [r0] + ldrh r0, [r0, #0x28] + subs r2, r2, r0 + movs r0, #0x92 + lsls r0, r0, #1 + adds r1, r1, r0 + strb r2, [r1] + mov r3, r8 + ldr r1, [r3] + ldrb r2, [r7, #2] + mov r3, sb + adds r0, r1, r3 + ldr r0, [r0] + ldrh r0, [r0, #0x2a] + subs r2, r2, r0 + ldr r0, _08013928 @ =0x00000125 + adds r1, r1, r0 + strb r2, [r1] _0801390A: - adds r0, r4, #0 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - .align 2, 0 + adds r0, r4, #0 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + .align 2, 0 _0801391C: .4byte 0x020314E0 _08013920: .4byte 0x0000132C _08013924: .4byte 0x0000FFFF @@ -38429,366 +38429,366 @@ _08013928: .4byte 0x00000125 _0801392C: .4byte 0xFFFF0000 _08013930: .4byte 0x00000123 - thumb_func_start sub_13934 + thumb_func_start sub_13934 sub_13934: @ 0x08013934 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r5, r1, #0 - lsls r2, r2, #0x10 - lsrs r4, r2, #0x10 - movs r0, #0 - strh r0, [r5] - strh r0, [r5, #2] - ldr r7, _0801399C @ =0x020314E0 - ldr r1, [r7] - movs r0, #0x91 - lsls r0, r0, #1 - adds r2, r1, r0 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _080139D6 - movs r3, #0x92 - lsls r3, r3, #1 - adds r0, r1, r3 - movs r1, #0 - ldrsb r1, [r0, r1] - ldrh r0, [r6] - subs r0, r0, r1 - strh r0, [r6] - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - ble _080139A4 - adds r0, r4, #0 - bl sub_C74 - lsls r0, r0, #0x10 - cmp r0, #0 - bge _080139D6 - adds r0, r4, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x46 - muls r0, r1, r0 - ldr r1, _080139A0 @ =0x00004E20 - bl __divsi3 - strh r0, [r5] - ldr r0, [r7] - movs r2, #0x93 - lsls r2, r2, #1 - adds r1, r0, r2 - b _080139D2 - .align 2, 0 + push {r4, r5, r6, r7, lr} + adds r6, r0, #0 + adds r5, r1, #0 + lsls r2, r2, #0x10 + lsrs r4, r2, #0x10 + movs r0, #0 + strh r0, [r5] + strh r0, [r5, #2] + ldr r7, _0801399C @ =0x020314E0 + ldr r1, [r7] + movs r0, #0x91 + lsls r0, r0, #1 + adds r2, r1, r0 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + beq _080139D6 + movs r3, #0x92 + lsls r3, r3, #1 + adds r0, r1, r3 + movs r1, #0 + ldrsb r1, [r0, r1] + ldrh r0, [r6] + subs r0, r0, r1 + strh r0, [r6] + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + ble _080139A4 + adds r0, r4, #0 + bl sub_C74 + lsls r0, r0, #0x10 + cmp r0, #0 + bge _080139D6 + adds r0, r4, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0x46 + muls r0, r1, r0 + ldr r1, _080139A0 @ =0x00004E20 + bl __divsi3 + strh r0, [r5] + ldr r0, [r7] + movs r2, #0x93 + lsls r2, r2, #1 + adds r1, r0, r2 + b _080139D2 + .align 2, 0 _0801399C: .4byte 0x020314E0 _080139A0: .4byte 0x00004E20 _080139A4: - cmp r0, #0 - bge _080139D6 - adds r0, r4, #0 - bl sub_C74 - lsls r0, r0, #0x10 - cmp r0, #0 - ble _080139D6 - adds r0, r4, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x46 - muls r0, r1, r0 - ldr r1, _08013A30 @ =0x00004E20 - bl __divsi3 - strh r0, [r5] - ldr r0, [r7] - movs r3, #0x93 - lsls r3, r3, #1 - adds r1, r0, r3 + cmp r0, #0 + bge _080139D6 + adds r0, r4, #0 + bl sub_C74 + lsls r0, r0, #0x10 + cmp r0, #0 + ble _080139D6 + adds r0, r4, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0x46 + muls r0, r1, r0 + ldr r1, _08013A30 @ =0x00004E20 + bl __divsi3 + strh r0, [r5] + ldr r0, [r7] + movs r3, #0x93 + lsls r3, r3, #1 + adds r1, r0, r3 _080139D2: - movs r0, #1 - strb r0, [r1] + movs r0, #1 + strb r0, [r1] _080139D6: - ldr r1, _08013A34 @ =0x020314E0 - ldr r2, [r1] - ldr r3, _08013A38 @ =0x00000123 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r3, r1, #0 - cmp r0, #0 - bgt _080139EC - b _08013AF4 + ldr r1, _08013A34 @ =0x020314E0 + ldr r2, [r1] + ldr r3, _08013A38 @ =0x00000123 + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r3, r1, #0 + cmp r0, #0 + bgt _080139EC + b _08013AF4 _080139EC: - ldr r1, _08013A3C @ =0x00000125 - adds r0, r2, r1 - movs r1, #0 - ldrsb r1, [r0, r1] - ldrh r0, [r6, #2] - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r3, _08013A40 @ =0x0000132C - adds r0, r2, r3 - ldr r0, [r0] - movs r3, #0x12 - ldrsh r1, [r0, r3] - movs r0, #0xb6 - lsls r0, r0, #1 - cmp r1, r0 - ble _08013A64 - movs r1, #0x91 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08013A44 - adds r0, r4, #0 - bl sub_C24 - adds r1, r0, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #6 - adds r0, r0, r1 - lsls r0, r0, #1 - b _08013A52 - .align 2, 0 + ldr r1, _08013A3C @ =0x00000125 + adds r0, r2, r1 + movs r1, #0 + ldrsb r1, [r0, r1] + ldrh r0, [r6, #2] + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r3, _08013A40 @ =0x0000132C + adds r0, r2, r3 + ldr r0, [r0] + movs r3, #0x12 + ldrsh r1, [r0, r3] + movs r0, #0xb6 + lsls r0, r0, #1 + cmp r1, r0 + ble _08013A64 + movs r1, #0x91 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08013A44 + adds r0, r4, #0 + bl sub_C24 + adds r1, r0, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #6 + adds r0, r0, r1 + lsls r0, r0, #1 + b _08013A52 + .align 2, 0 _08013A30: .4byte 0x00004E20 _08013A34: .4byte 0x020314E0 _08013A38: .4byte 0x00000123 _08013A3C: .4byte 0x00000125 _08013A40: .4byte 0x0000132C _08013A44: - adds r0, r4, #0 - bl sub_C24 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x64 - muls r0, r1, r0 + adds r0, r4, #0 + bl sub_C24 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0x64 + muls r0, r1, r0 _08013A52: - rsbs r0, r0, #0 - ldr r1, _08013A60 @ =0x00004E20 - bl __divsi3 - strh r0, [r5, #2] - b _08013AE4 - .align 2, 0 + rsbs r0, r0, #0 + ldr r1, _08013A60 @ =0x00004E20 + bl __divsi3 + strh r0, [r5, #2] + b _08013AE4 + .align 2, 0 _08013A60: .4byte 0x00004E20 _08013A64: - movs r3, #0x91 - lsls r3, r3, #1 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08013A8C - adds r0, r4, #0 - bl sub_C24 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x64 - muls r0, r1, r0 - rsbs r0, r0, #0 - ldr r1, _08013A88 @ =0x00004E20 - b _08013AA2 - .align 2, 0 + movs r3, #0x91 + lsls r3, r3, #1 + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08013A8C + adds r0, r4, #0 + bl sub_C24 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0x64 + muls r0, r1, r0 + rsbs r0, r0, #0 + ldr r1, _08013A88 @ =0x00004E20 + b _08013AA2 + .align 2, 0 _08013A88: .4byte 0x00004E20 _08013A8C: - adds r0, r4, #0 - bl sub_C24 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r2, r0, #2 - adds r2, r2, r0 - lsls r0, r2, #4 - subs r2, r2, r0 - ldr r1, _08013ABC @ =0x00004E20 - adds r0, r2, #0 + adds r0, r4, #0 + bl sub_C24 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r2, r0, #2 + adds r2, r2, r0 + lsls r0, r2, #4 + subs r2, r2, r0 + ldr r1, _08013ABC @ =0x00004E20 + adds r0, r2, #0 _08013AA2: - bl __divsi3 - strh r0, [r5, #2] - movs r0, #2 - ldrsh r1, [r5, r0] - cmp r1, #0x59 - ble _08013AC8 - ldr r0, _08013AC0 @ =0x020314E0 - ldr r0, [r0] - ldr r1, _08013AC4 @ =0x0000132C - adds r0, r0, r1 - b _08013AD4 - .align 2, 0 + bl __divsi3 + strh r0, [r5, #2] + movs r0, #2 + ldrsh r1, [r5, r0] + cmp r1, #0x59 + ble _08013AC8 + ldr r0, _08013AC0 @ =0x020314E0 + ldr r0, [r0] + ldr r1, _08013AC4 @ =0x0000132C + adds r0, r0, r1 + b _08013AD4 + .align 2, 0 _08013ABC: .4byte 0x00004E20 _08013AC0: .4byte 0x020314E0 _08013AC4: .4byte 0x0000132C _08013AC8: - cmp r1, #0x45 - ble _08013AE4 - ldr r0, _08013B1C @ =0x020314E0 - ldr r0, [r0] - ldr r3, _08013B20 @ =0x0000132C - adds r0, r0, r3 + cmp r1, #0x45 + ble _08013AE4 + ldr r0, _08013B1C @ =0x020314E0 + ldr r0, [r0] + ldr r3, _08013B20 @ =0x0000132C + adds r0, r0, r3 _08013AD4: - ldr r1, [r0] - movs r2, #0x30 - ldrsh r0, [r1, r2] - cmp r0, #0 - bge _08013AE0 - adds r0, #3 + ldr r1, [r0] + movs r2, #0x30 + ldrsh r0, [r1, r2] + cmp r0, #0 + bge _08013AE0 + adds r0, #3 _08013AE0: - asrs r0, r0, #2 - strh r0, [r1, #0x30] + asrs r0, r0, #2 + strh r0, [r1, #0x30] _08013AE4: - ldr r0, _08013B1C @ =0x020314E0 - ldr r1, [r0] - movs r3, #0x93 - lsls r3, r3, #1 - adds r2, r1, r3 - movs r1, #1 - strb r1, [r2] - adds r3, r0, #0 + ldr r0, _08013B1C @ =0x020314E0 + ldr r1, [r0] + movs r3, #0x93 + lsls r3, r3, #1 + adds r2, r1, r3 + movs r1, #1 + strb r1, [r2] + adds r3, r0, #0 _08013AF4: - ldr r1, [r3] - 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 - beq _08013B16 - subs r2, #4 - adds r0, r1, r2 - movs r1, #0 - strb r1, [r0] - ldr r0, [r3] - ldr r3, _08013B24 @ =0x00000123 - adds r0, r0, r3 - strb r1, [r0] + ldr r1, [r3] + 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 + beq _08013B16 + subs r2, #4 + adds r0, r1, r2 + movs r1, #0 + strb r1, [r0] + ldr r0, [r3] + ldr r3, _08013B24 @ =0x00000123 + adds r0, r0, r3 + strb r1, [r0] _08013B16: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08013B1C: .4byte 0x020314E0 _08013B20: .4byte 0x0000132C _08013B24: .4byte 0x00000123 - thumb_func_start sub_13B28 + thumb_func_start sub_13B28 sub_13B28: @ 0x08013B28 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x14 - mov r8, r0 - str r1, [sp, #8] - movs r3, #0 - ldrsh r1, [r0, r3] - lsls r1, r1, #0x17 - movs r4, #2 - ldrsh r0, [r0, r4] - lsls r0, r0, #0x17 - lsrs r5, r1, #0x10 - orrs r5, r0 - ldr r6, [sp, #8] - ldrh r1, [r6, #2] - lsls r1, r1, #0x10 - ldrh r0, [r6] - orrs r0, r1 - str r0, [sp, #4] - lsls r2, r2, #0x10 - mov sb, r2 - mov r0, sb - asrs r0, r0, #0x10 - mov sl, r0 - b _08013C4E + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x14 + mov r8, r0 + str r1, [sp, #8] + movs r3, #0 + ldrsh r1, [r0, r3] + lsls r1, r1, #0x17 + movs r4, #2 + ldrsh r0, [r0, r4] + lsls r0, r0, #0x17 + lsrs r5, r1, #0x10 + orrs r5, r0 + ldr r6, [sp, #8] + ldrh r1, [r6, #2] + lsls r1, r1, #0x10 + ldrh r0, [r6] + orrs r0, r1 + str r0, [sp, #4] + lsls r2, r2, #0x10 + mov sb, r2 + mov r0, sb + asrs r0, r0, #0x10 + mov sl, r0 + b _08013C4E _08013B60: - ldr r2, _08013C04 @ =0xFFFFF500 - adds r1, r5, r2 - lsls r1, r1, #0x10 - asrs r0, r5, #0x10 - ldr r3, _08013C08 @ =0xFFFFE800 - adds r0, r0, r3 - lsls r0, r0, #0x10 - lsrs r7, r1, #0x10 - orrs r7, r0 - lsls r0, r7, #0x10 - asrs r0, r0, #0x10 - adds r1, r0, #0 - muls r1, r0, r1 - asrs r0, r7, #0x10 - adds r6, r0, #0 - muls r6, r0, r6 - adds r0, r6, #0 - adds r1, r1, r0 - ldr r2, _08013C0C @ =0xFFDC0000 - adds r0, r1, r2 - lsls r0, r0, #2 - bl Sqrt - lsls r0, r0, #0x10 - lsrs r0, r0, #0x11 - mov r3, sb - asrs r1, r3, #0x10 - add r2, sp, #4 - adds r3, r4, #0 - bl sub_14B84 - add r0, sp, #4 - movs r4, #0 - ldrsh r2, [r0, r4] - movs r1, #0xe1 - lsls r1, r1, #1 - cmp r2, r1 - bgt _08013BB2 - ldr r1, _08013C10 @ =0xFFFFFE3E - cmp r2, r1 - bge _08013BB4 + ldr r2, _08013C04 @ =0xFFFFF500 + adds r1, r5, r2 + lsls r1, r1, #0x10 + asrs r0, r5, #0x10 + ldr r3, _08013C08 @ =0xFFFFE800 + adds r0, r0, r3 + lsls r0, r0, #0x10 + lsrs r7, r1, #0x10 + orrs r7, r0 + lsls r0, r7, #0x10 + asrs r0, r0, #0x10 + adds r1, r0, #0 + muls r1, r0, r1 + asrs r0, r7, #0x10 + adds r6, r0, #0 + muls r6, r0, r6 + adds r0, r6, #0 + adds r1, r1, r0 + ldr r2, _08013C0C @ =0xFFDC0000 + adds r0, r1, r2 + lsls r0, r0, #2 + bl Sqrt + lsls r0, r0, #0x10 + lsrs r0, r0, #0x11 + mov r3, sb + asrs r1, r3, #0x10 + add r2, sp, #4 + adds r3, r4, #0 + bl sub_14B84 + add r0, sp, #4 + movs r4, #0 + ldrsh r2, [r0, r4] + movs r1, #0xe1 + lsls r1, r1, #1 + cmp r2, r1 + bgt _08013BB2 + ldr r1, _08013C10 @ =0xFFFFFE3E + cmp r2, r1 + bge _08013BB4 _08013BB2: - strh r1, [r0] + strh r1, [r0] _08013BB4: - ldrh r0, [r0] - adds r0, r0, r5 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08013C14 @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - asrs r2, r5, #0x10 - add r0, sp, #4 - ldrh r1, [r0, #2] - adds r1, r1, r2 - lsls r1, r1, #0x10 - ldr r0, _08013C18 @ =0x0000FFFF - ands r5, r0 - orrs r5, r1 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - bge _08013BDC - adds r0, #0x7f + ldrh r0, [r0] + adds r0, r0, r5 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08013C14 @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + asrs r2, r5, #0x10 + add r0, sp, #4 + ldrh r1, [r0, #2] + adds r1, r1, r2 + lsls r1, r1, #0x10 + ldr r0, _08013C18 @ =0x0000FFFF + ands r5, r0 + orrs r5, r1 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + bge _08013BDC + adds r0, #0x7f _08013BDC: - asrs r1, r0, #7 - mov r6, r8 - strh r1, [r6] - asrs r0, r5, #0x10 - cmp r0, #0 - bge _08013BEA - adds r0, #0x7f + asrs r1, r0, #7 + mov r6, r8 + strh r1, [r6] + asrs r0, r5, #0x10 + cmp r0, #0 + bge _08013BEA + adds r0, #0x7f _08013BEA: - asrs r0, r0, #7 - mov r2, r8 - strh r0, [r2, #2] - movs r3, #0 - str r3, [sp, #0x10] - cmp r1, #0x31 - bgt _08013BFA - b _08013CF0 + asrs r0, r0, #7 + mov r2, r8 + strh r0, [r2, #2] + movs r3, #0 + str r3, [sp, #0x10] + cmp r1, #0x31 + bgt _08013BFA + b _08013CF0 _08013BFA: - ldr r0, _08013C1C @ =0x020314E0 - ldr r0, [r0] - ldrb r0, [r0, #0x1e] - b _08013C22 - .align 2, 0 + ldr r0, _08013C1C @ =0x020314E0 + ldr r0, [r0] + ldrb r0, [r0, #0x1e] + b _08013C22 + .align 2, 0 _08013C04: .4byte 0xFFFFF500 _08013C08: .4byte 0xFFFFE800 _08013C0C: .4byte 0xFFDC0000 @@ -38797,79 +38797,79 @@ _08013C14: .4byte 0xFFFF0000 _08013C18: .4byte 0x0000FFFF _08013C1C: .4byte 0x020314E0 _08013C20: - lsrs r0, r4, #0x10 + lsrs r0, r4, #0x10 _08013C22: - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - cmp r1, #3 - bgt _08013C48 - mov r4, r8 - ldr r0, [r4] - adds r1, #1 - lsls r4, r1, #0x10 - asrs r1, r4, #0x10 - mov r2, sp - mov r6, sb - asrs r3, r6, #0x10 - bl sub_14AF4 - lsls r0, r0, #0x10 - cmp r0, #0 - beq _08013C20 - movs r0, #1 - str r0, [sp, #0x10] + lsls r0, r0, #0x10 + asrs r1, r0, #0x10 + cmp r1, #3 + bgt _08013C48 + mov r4, r8 + ldr r0, [r4] + adds r1, #1 + lsls r4, r1, #0x10 + asrs r1, r4, #0x10 + mov r2, sp + mov r6, sb + asrs r3, r6, #0x10 + bl sub_14AF4 + lsls r0, r0, #0x10 + cmp r0, #0 + beq _08013C20 + movs r0, #1 + str r0, [sp, #0x10] _08013C48: - ldr r1, [sp, #0x10] - cmp r1, #0 - beq _08013CF0 + ldr r1, [sp, #0x10] + cmp r1, #0 + beq _08013CF0 _08013C4E: - ldr r0, _08013CAC @ =0x020314E0 - ldr r1, [r0] - mov r2, sl - lsls r0, r2, #1 - add r0, sl - lsls r0, r0, #2 - adds r3, r1, r0 - ldr r4, _08013CB0 @ =0x000013BC - adds r0, r3, r4 - movs r1, #0 - ldrsb r1, [r0, r1] - ldr r6, _08013CB4 @ =0x000013BD - adds r0, r3, r6 - movs r2, #0 - ldrsb r2, [r0, r2] - adds r4, #8 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r1, r1, r2 - muls r0, r1, r0 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - str r6, [sp, #0xc] - cmp r0, #0 - ble _08013CF0 - ldr r1, _08013CB8 @ =0x000013BE - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #6 - bgt _08013CC4 - ldr r2, _08013CBC @ =0x000013C1 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #1 - lsls r0, r0, #2 - ldr r3, _08013CC0 @ =0x086ACD84 - adds r0, r0, r3 - movs r4, #0x80 - lsls r4, r4, #7 - adds r1, r4, #0 - b _08013CDC - .align 2, 0 + ldr r0, _08013CAC @ =0x020314E0 + ldr r1, [r0] + mov r2, sl + lsls r0, r2, #1 + add r0, sl + lsls r0, r0, #2 + adds r3, r1, r0 + ldr r4, _08013CB0 @ =0x000013BC + adds r0, r3, r4 + movs r1, #0 + ldrsb r1, [r0, r1] + ldr r6, _08013CB4 @ =0x000013BD + adds r0, r3, r6 + movs r2, #0 + ldrsb r2, [r0, r2] + adds r4, #8 + adds r0, r3, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r1, r1, r2 + muls r0, r1, r0 + lsls r0, r0, #0x10 + lsrs r6, r0, #0x10 + str r6, [sp, #0xc] + cmp r0, #0 + ble _08013CF0 + ldr r1, _08013CB8 @ =0x000013BE + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #6 + bgt _08013CC4 + ldr r2, _08013CBC @ =0x000013C1 + adds r0, r3, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r0, #1 + lsls r0, r0, #2 + ldr r3, _08013CC0 @ =0x086ACD84 + adds r0, r0, r3 + movs r4, #0x80 + lsls r4, r4, #7 + adds r1, r4, #0 + b _08013CDC + .align 2, 0 _08013CAC: .4byte 0x020314E0 _08013CB0: .4byte 0x000013BC _08013CB4: .4byte 0x000013BD @@ -38877,403 +38877,403 @@ _08013CB8: .4byte 0x000013BE _08013CBC: .4byte 0x000013C1 _08013CC0: .4byte 0x086ACD84 _08013CC4: - ldr r6, _08013CE8 @ =0x000013C1 - adds r0, r3, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #1 - lsls r0, r0, #2 - ldr r1, _08013CEC @ =0x086ACD86 - adds r0, r0, r1 - movs r2, #0xc0 - lsls r2, r2, #8 - adds r1, r2, #0 + ldr r6, _08013CE8 @ =0x000013C1 + adds r0, r3, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #1 + lsls r0, r0, #2 + ldr r1, _08013CEC @ =0x086ACD86 + adds r0, r0, r1 + movs r2, #0xc0 + lsls r2, r2, #8 + adds r1, r2, #0 _08013CDC: - ldrh r0, [r0] - adds r1, r1, r0 - lsls r1, r1, #0x10 - lsrs r4, r1, #0x10 - b _08013B60 - .align 2, 0 + ldrh r0, [r0] + adds r1, r1, r0 + lsls r1, r1, #0x10 + lsrs r4, r1, #0x10 + b _08013B60 + .align 2, 0 _08013CE8: .4byte 0x000013C1 _08013CEC: .4byte 0x086ACD86 _08013CF0: - ldr r3, [sp, #0xc] - lsls r0, r3, #0x10 - cmp r0, #0 - bgt _08013D08 - ldr r0, _08013D04 @ =0x020314E0 - ldr r0, [r0] - adds r0, #0x22 - movs r1, #5 - strb r1, [r0] - b _08013D14 - .align 2, 0 + ldr r3, [sp, #0xc] + lsls r0, r3, #0x10 + cmp r0, #0 + bgt _08013D08 + ldr r0, _08013D04 @ =0x020314E0 + ldr r0, [r0] + adds r0, #0x22 + movs r1, #5 + strb r1, [r0] + b _08013D14 + .align 2, 0 _08013D04: .4byte 0x020314E0 _08013D08: - add r0, sp, #4 - ldrh r1, [r0] - ldr r4, [sp, #8] - strh r1, [r4] - ldrh r0, [r0, #2] - strh r0, [r4, #2] + add r0, sp, #4 + ldrh r1, [r0] + ldr r4, [sp, #8] + strh r1, [r4] + ldrh r0, [r0, #2] + strh r0, [r4, #2] _08013D14: - 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 - - thumb_func_start sub_13D24 + 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 + + thumb_func_start sub_13D24 sub_13D24: @ 0x08013D24 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x24 - adds r4, r1, #0 - str r2, [sp, #0xc] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r0, [sp, #8] - ldrh r0, [r4] - rsbs r0, r0, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r2, #2 - ldrsh r1, [r4, r2] - bl ArcTan2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r0, [sp, #0x10] - movs r1, #0 - ldrsh r0, [r4, r1] - adds r1, r0, #0 - muls r1, r0, r1 - movs r2, #2 - ldrsh r0, [r4, r2] - adds r2, r0, #0 - muls r2, r0, r2 - adds r0, r2, #0 - adds r1, r1, r0 - lsls r0, r1, #2 - bl Sqrt - lsls r0, r0, #0x10 - lsrs r0, r0, #0x11 - str r0, [sp, #0x18] - ldr r0, [sp, #0x10] - ldr r1, [sp, #8] - cmp r0, r1 - bls _08013D84 - subs r4, r0, r1 - ldr r1, _08013D80 @ =0x0000FFFF - b _08013D8C - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x24 + adds r4, r1, #0 + str r2, [sp, #0xc] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r0, [sp, #8] + ldrh r0, [r4] + rsbs r0, r0, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r2, #2 + ldrsh r1, [r4, r2] + bl ArcTan2 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r0, [sp, #0x10] + movs r1, #0 + ldrsh r0, [r4, r1] + adds r1, r0, #0 + muls r1, r0, r1 + movs r2, #2 + ldrsh r0, [r4, r2] + adds r2, r0, #0 + muls r2, r0, r2 + adds r0, r2, #0 + adds r1, r1, r0 + lsls r0, r1, #2 + bl Sqrt + lsls r0, r0, #0x10 + lsrs r0, r0, #0x11 + str r0, [sp, #0x18] + ldr r0, [sp, #0x10] + ldr r1, [sp, #8] + cmp r0, r1 + bls _08013D84 + subs r4, r0, r1 + ldr r1, _08013D80 @ =0x0000FFFF + b _08013D8C + .align 2, 0 _08013D80: .4byte 0x0000FFFF _08013D84: - ldr r2, [sp, #8] - ldr r0, [sp, #0x10] - subs r4, r2, r0 - movs r1, #1 + ldr r2, [sp, #8] + ldr r0, [sp, #0x10] + subs r4, r2, r0 + movs r1, #1 _08013D8C: - movs r0, #0x80 - lsls r0, r0, #8 - cmp r4, r0 - ble _08013DA0 - movs r0, #0x80 - lsls r0, r0, #9 - subs r4, r0, r4 - lsls r0, r1, #0x10 - rsbs r0, r0, #0 - lsrs r1, r0, #0x10 + movs r0, #0x80 + lsls r0, r0, #8 + cmp r4, r0 + ble _08013DA0 + movs r0, #0x80 + lsls r0, r0, #9 + subs r4, r0, r4 + lsls r0, r1, #0x10 + rsbs r0, r0, #0 + lsrs r1, r0, #0x10 _08013DA0: - lsls r1, r1, #0x10 - asrs r0, r1, #2 - ldr r2, [sp, #8] - adds r0, r2, r0 - str r0, [sp, #0x14] - mov r8, r1 - cmp r0, #0 - bge _08013DB8 - movs r1, #0x80 - lsls r1, r1, #9 - adds r0, r0, r1 - str r0, [sp, #0x14] + lsls r1, r1, #0x10 + asrs r0, r1, #2 + ldr r2, [sp, #8] + adds r0, r2, r0 + str r0, [sp, #0x14] + mov r8, r1 + cmp r0, #0 + bge _08013DB8 + movs r1, #0x80 + lsls r1, r1, #9 + adds r0, r0, r1 + str r0, [sp, #0x14] _08013DB8: - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - adds r0, r4, #0 - bl sub_C24 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldr r2, [sp, #0x18] - muls r0, r2, r0 - ldr r5, _08013E40 @ =0x00004E20 - adds r1, r5, #0 - bl __divsi3 - str r0, [sp, #0x1c] - adds r0, r4, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldr r1, [sp, #0x18] - muls r0, r1, r0 - adds r1, r5, #0 - bl __divsi3 - adds r7, r0, #0 - adds r0, r4, #0 - bl sub_C74 - lsls r0, r0, #0x10 - ldr r1, _08013E44 @ =0x1F3F0000 - cmp r0, r1 - ble _08013E2A - cmp r7, #0x46 - ble _08013E02 - movs r0, #0x77 - bl m4aSongNumStart + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + adds r0, r4, #0 + bl sub_C24 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldr r2, [sp, #0x18] + muls r0, r2, r0 + ldr r5, _08013E40 @ =0x00004E20 + adds r1, r5, #0 + bl __divsi3 + str r0, [sp, #0x1c] + adds r0, r4, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldr r1, [sp, #0x18] + muls r0, r1, r0 + adds r1, r5, #0 + bl __divsi3 + adds r7, r0, #0 + adds r0, r4, #0 + bl sub_C74 + lsls r0, r0, #0x10 + ldr r1, _08013E44 @ =0x1F3F0000 + cmp r0, r1 + ble _08013E2A + cmp r7, #0x46 + ble _08013E02 + movs r0, #0x77 + bl m4aSongNumStart _08013E02: - movs r0, #0x8c - lsls r0, r0, #1 - cmp r7, r0 - ble _08013E2A - ldr r0, _08013E48 @ =0x020314E0 - ldr r0, [r0] - ldr r2, _08013E4C @ =0x0000061C - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08013E2A - ldr r0, _08013E50 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #1 - bhi _08013E2A - movs r0, #6 - bl sub_11B0 + movs r0, #0x8c + lsls r0, r0, #1 + cmp r7, r0 + ble _08013E2A + ldr r0, _08013E48 @ =0x020314E0 + ldr r0, [r0] + ldr r2, _08013E4C @ =0x0000061C + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08013E2A + ldr r0, _08013E50 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #1 + bhi _08013E2A + movs r0, #6 + bl sub_11B0 _08013E2A: - ldr r0, _08013E48 @ =0x020314E0 - ldr r1, [r0] - adds r1, #0x31 - ldrb r1, [r1] - cmp r1, #0 - beq _08013E54 - lsls r0, r7, #2 - adds r0, r0, r7 - lsls r0, r0, #2 - adds r0, r0, r7 - b _08013E58 - .align 2, 0 + ldr r0, _08013E48 @ =0x020314E0 + ldr r1, [r0] + adds r1, #0x31 + ldrb r1, [r1] + cmp r1, #0 + beq _08013E54 + lsls r0, r7, #2 + adds r0, r0, r7 + lsls r0, r0, #2 + adds r0, r0, r7 + b _08013E58 + .align 2, 0 _08013E40: .4byte 0x00004E20 _08013E44: .4byte 0x1F3F0000 _08013E48: .4byte 0x020314E0 _08013E4C: .4byte 0x0000061C _08013E50: .4byte 0x0200B0C0 _08013E54: - movs r0, #0x1a - muls r0, r7, r0 + movs r0, #0x1a + muls r0, r7, r0 _08013E58: - movs r1, #0x64 - bl __divsi3 - adds r7, r0, #0 - ldr r1, [sp, #0x1c] - lsls r0, r1, #3 - movs r1, #0xa - bl __divsi3 - adds r6, r0, #0 - ldr r2, _08014004 @ =0x020314E0 - ldr r0, [r2] - ldr r1, _08014008 @ =0x0000132C - adds r0, r0, r1 - ldr r4, [r0] - movs r2, #6 - ldrsh r0, [r4, r2] - ldr r5, _0801400C @ =0x00000EB8 - muls r0, r5, r0 - movs r1, #0xaf - lsls r1, r1, #0xa - bl __divsi3 - mov sb, r0 - mov r1, r8 - asrs r0, r1, #0x10 - rsbs r0, r0, #0 - mov r8, r0 - lsls r0, r0, #1 - add r0, r8 - lsls r0, r0, #3 - add r0, r8 - lsls r0, r0, #0xa - muls r0, r6, r0 - adds r1, r5, #0 - bl __divsi3 - ldrh r1, [r4, #4] - adds r1, r1, r0 - strh r1, [r4, #6] - ldr r0, [sp, #8] - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - str r0, [sp] - ldr r0, [sp, #8] - bl sub_C24 - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - mov r2, sp - str r2, [sp, #0x20] - str r0, [sp, #4] - ldr r1, [sp, #0x14] - lsls r0, r1, #0x10 - lsrs r5, r0, #0x10 - adds r0, r5, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldr r2, [sp, #0x1c] - muls r0, r2, r0 - ldr r1, [sp] - adds r0, r0, r1 - str r0, [sp] - adds r0, r5, #0 - bl sub_C24 - ldr r2, [sp, #0x1c] - rsbs r1, r2, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r4, r1, #0 - muls r4, r0, r4 - ldr r0, [sp, #4] - adds r4, r4, r0 - str r4, [sp, #4] - ldr r0, [sp] - ldr r7, _08014010 @ =0x00004E20 - adds r1, r7, #0 - bl __divsi3 - str r0, [sp] - adds r0, r4, #0 - adds r1, r7, #0 - bl __divsi3 - str r0, [sp, #4] - movs r4, #1 - mov r0, sb - cmp r0, #0 - bge _08013F20 - subs r4, #2 - rsbs r0, r0, #0 - mov sb, r0 + movs r1, #0x64 + bl __divsi3 + adds r7, r0, #0 + ldr r1, [sp, #0x1c] + lsls r0, r1, #3 + movs r1, #0xa + bl __divsi3 + adds r6, r0, #0 + ldr r2, _08014004 @ =0x020314E0 + ldr r0, [r2] + ldr r1, _08014008 @ =0x0000132C + adds r0, r0, r1 + ldr r4, [r0] + movs r2, #6 + ldrsh r0, [r4, r2] + ldr r5, _0801400C @ =0x00000EB8 + muls r0, r5, r0 + movs r1, #0xaf + lsls r1, r1, #0xa + bl __divsi3 + mov sb, r0 + mov r1, r8 + asrs r0, r1, #0x10 + rsbs r0, r0, #0 + mov r8, r0 + lsls r0, r0, #1 + add r0, r8 + lsls r0, r0, #3 + add r0, r8 + lsls r0, r0, #0xa + muls r0, r6, r0 + adds r1, r5, #0 + bl __divsi3 + ldrh r1, [r4, #4] + adds r1, r1, r0 + strh r1, [r4, #6] + ldr r0, [sp, #8] + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + str r0, [sp] + ldr r0, [sp, #8] + bl sub_C24 + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + mov r2, sp + str r2, [sp, #0x20] + str r0, [sp, #4] + ldr r1, [sp, #0x14] + lsls r0, r1, #0x10 + lsrs r5, r0, #0x10 + adds r0, r5, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldr r2, [sp, #0x1c] + muls r0, r2, r0 + ldr r1, [sp] + adds r0, r0, r1 + str r0, [sp] + adds r0, r5, #0 + bl sub_C24 + ldr r2, [sp, #0x1c] + rsbs r1, r2, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + adds r4, r1, #0 + muls r4, r0, r4 + ldr r0, [sp, #4] + adds r4, r4, r0 + str r4, [sp, #4] + ldr r0, [sp] + ldr r7, _08014010 @ =0x00004E20 + adds r1, r7, #0 + bl __divsi3 + str r0, [sp] + adds r0, r4, #0 + adds r1, r7, #0 + bl __divsi3 + str r0, [sp, #4] + movs r4, #1 + mov r0, sb + cmp r0, #0 + bge _08013F20 + subs r4, #2 + rsbs r0, r0, #0 + mov sb, r0 _08013F20: - mov r1, r8 - muls r1, r4, r1 - adds r4, r1, #0 - adds r0, r5, #0 - bl sub_C74 - mov r1, sb - muls r1, r4, r1 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r7, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08014014 @ =0xFFFF0000 - mov r2, sl - ands r2, r1 - orrs r2, r0 - mov sl, r2 - adds r0, r5, #0 - bl sub_C24 - rsbs r1, r4, #0 - mov r2, sb - muls r2, r1, r2 - adds r1, r2, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r7, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _08014018 @ =0x0000FFFF - mov r2, sl - ands r2, r1 - orrs r2, r0 - mov sl, r2 - ldr r0, [sp] - adds r1, r0, #0 - muls r1, r0, r1 - ldr r0, [sp, #4] - adds r2, r0, #0 - muls r2, r0, r2 - adds r0, r2, #0 - adds r6, r1, r0 - lsls r0, r6, #2 - bl Sqrt - lsls r0, r0, #0x10 - lsrs r6, r0, #0x11 - mov r1, sl - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - ldr r1, [sp] - adds r0, r0, r1 - str r0, [sp] - mov r2, sl - asrs r0, r2, #0x10 - ldr r1, [sp, #4] - adds r0, r0, r1 - str r0, [sp, #4] - mov r0, sp - movs r1, #0 - ldrsh r0, [r0, r1] - ldr r2, [sp, #0x20] - ldrh r1, [r2, #4] - rsbs r1, r1, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - bl ArcTan2 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - ldr r0, _0801401C @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #1 - bne _08014020 - ldr r0, _08014004 @ =0x020314E0 - ldr r1, [r0] - adds r0, r1, #0 - adds r0, #0x24 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _08014020 - ldr r2, _08014008 @ =0x0000132C - adds r0, r1, r2 - ldr r0, [r0] - movs r1, #0x12 - ldrsh r0, [r0, r1] - cmp r0, #0xd1 - bgt _08014020 - adds r0, r5, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldr r2, [sp, #0x18] - muls r0, r2, r0 - adds r1, r7, #0 - bl __divsi3 - str r0, [sp] - adds r0, r5, #0 - bl sub_C24 - ldr r2, [sp, #0x18] - rsbs r1, r2, #0 - b _0801403E - .align 2, 0 + mov r1, r8 + muls r1, r4, r1 + adds r4, r1, #0 + adds r0, r5, #0 + bl sub_C74 + mov r1, sb + muls r1, r4, r1 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r7, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08014014 @ =0xFFFF0000 + mov r2, sl + ands r2, r1 + orrs r2, r0 + mov sl, r2 + adds r0, r5, #0 + bl sub_C24 + rsbs r1, r4, #0 + mov r2, sb + muls r2, r1, r2 + adds r1, r2, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r7, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _08014018 @ =0x0000FFFF + mov r2, sl + ands r2, r1 + orrs r2, r0 + mov sl, r2 + ldr r0, [sp] + adds r1, r0, #0 + muls r1, r0, r1 + ldr r0, [sp, #4] + adds r2, r0, #0 + muls r2, r0, r2 + adds r0, r2, #0 + adds r6, r1, r0 + lsls r0, r6, #2 + bl Sqrt + lsls r0, r0, #0x10 + lsrs r6, r0, #0x11 + mov r1, sl + lsls r0, r1, #0x10 + asrs r0, r0, #0x10 + ldr r1, [sp] + adds r0, r0, r1 + str r0, [sp] + mov r2, sl + asrs r0, r2, #0x10 + ldr r1, [sp, #4] + adds r0, r0, r1 + str r0, [sp, #4] + mov r0, sp + movs r1, #0 + ldrsh r0, [r0, r1] + ldr r2, [sp, #0x20] + ldrh r1, [r2, #4] + rsbs r1, r1, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + bl ArcTan2 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + ldr r0, _0801401C @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #1 + bne _08014020 + ldr r0, _08014004 @ =0x020314E0 + ldr r1, [r0] + adds r0, r1, #0 + adds r0, #0x24 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _08014020 + ldr r2, _08014008 @ =0x0000132C + adds r0, r1, r2 + ldr r0, [r0] + movs r1, #0x12 + ldrsh r0, [r0, r1] + cmp r0, #0xd1 + bgt _08014020 + adds r0, r5, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldr r2, [sp, #0x18] + muls r0, r2, r0 + adds r1, r7, #0 + bl __divsi3 + str r0, [sp] + adds r0, r5, #0 + bl sub_C24 + ldr r2, [sp, #0x18] + rsbs r1, r2, #0 + b _0801403E + .align 2, 0 _08014004: .4byte 0x020314E0 _08014008: .4byte 0x0000132C _0801400C: .4byte 0x00000EB8 @@ -39282,231 +39282,231 @@ _08014014: .4byte 0xFFFF0000 _08014018: .4byte 0x0000FFFF _0801401C: .4byte 0x0200B0C0 _08014020: - adds r0, r5, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r6, r0 - ldr r4, _08014070 @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - str r0, [sp] - adds r0, r5, #0 - bl sub_C24 - rsbs r1, r6, #0 + adds r0, r5, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r6, r0 + ldr r4, _08014070 @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + str r0, [sp] + adds r0, r5, #0 + bl sub_C24 + rsbs r1, r6, #0 _0801403E: - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - ldr r1, _08014070 @ =0x00004E20 - bl __divsi3 - str r0, [sp, #4] - ldr r0, [sp, #8] - mov r1, sp - ldr r2, [sp, #0x10] - bl sub_14074 - ldr r0, [sp] - ldr r1, [sp, #0xc] - strh r0, [r1] - ldr r0, [sp, #4] - strh r0, [r1, #2] - add sp, #0x24 - 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 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + ldr r1, _08014070 @ =0x00004E20 + bl __divsi3 + str r0, [sp, #4] + ldr r0, [sp, #8] + mov r1, sp + ldr r2, [sp, #0x10] + bl sub_14074 + ldr r0, [sp] + ldr r1, [sp, #0xc] + strh r0, [r1] + ldr r0, [sp, #4] + strh r0, [r1, #2] + add sp, #0x24 + 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 _08014070: .4byte 0x00004E20 - thumb_func_start sub_14074 + thumb_func_start sub_14074 sub_14074: @ 0x08014074 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov r8, r1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - adds r7, r5, #0 - lsls r2, r2, #0x10 - lsrs r4, r2, #0x10 - mov ip, r4 - ldr r0, _080140CC @ =0x020314E0 - mov sl, r0 - ldr r1, [r0] - ldr r2, _080140D0 @ =0x0000132C - adds r0, r1, r2 - ldr r3, [r0] - movs r2, #0x30 - ldrsh r0, [r3, r2] - adds r2, r0, #0 - muls r2, r0, r2 - mov sb, r2 - movs r2, #0x32 - ldrsh r0, [r3, r2] - adds r2, r0, #0 - muls r2, r0, r2 - adds r0, r2, #0 - add sb, r0 - adds r1, #0x23 - ldrb r0, [r1] - cmp r0, #2 - beq _080140B8 - b _08014230 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + mov r8, r1 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + adds r7, r5, #0 + lsls r2, r2, #0x10 + lsrs r4, r2, #0x10 + mov ip, r4 + ldr r0, _080140CC @ =0x020314E0 + mov sl, r0 + ldr r1, [r0] + ldr r2, _080140D0 @ =0x0000132C + adds r0, r1, r2 + ldr r3, [r0] + movs r2, #0x30 + ldrsh r0, [r3, r2] + adds r2, r0, #0 + muls r2, r0, r2 + mov sb, r2 + movs r2, #0x32 + ldrsh r0, [r3, r2] + adds r2, r0, #0 + muls r2, r0, r2 + adds r0, r2, #0 + add sb, r0 + adds r1, #0x23 + ldrb r0, [r1] + cmp r0, #2 + beq _080140B8 + b _08014230 _080140B8: - movs r1, #0x28 - ldrsh r0, [r3, r1] - cmp r0, #0xe0 - ble _080140DC - ldr r2, _080140D4 @ =0xFFFFD5E4 - adds r0, r4, r2 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - ldr r7, _080140D8 @ =0x00006A1C - b _080140E8 - .align 2, 0 + movs r1, #0x28 + ldrsh r0, [r3, r1] + cmp r0, #0xe0 + ble _080140DC + ldr r2, _080140D4 @ =0xFFFFD5E4 + adds r0, r4, r2 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + ldr r7, _080140D8 @ =0x00006A1C + b _080140E8 + .align 2, 0 _080140CC: .4byte 0x020314E0 _080140D0: .4byte 0x0000132C _080140D4: .4byte 0xFFFFD5E4 _080140D8: .4byte 0x00006A1C _080140DC: - ldr r0, _080140FC @ =0x000055E4 - mov r1, ip - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - ldr r7, _08014100 @ =0x000015E4 + ldr r0, _080140FC @ =0x000055E4 + mov r1, ip + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + ldr r7, _08014100 @ =0x000015E4 _080140E8: - movs r0, #0x90 - lsls r0, r0, #5 - cmp r2, r0 - bhi _08014108 - ldr r0, _08014104 @ =0x00003FFF - cmp sb, r0 - bgt _08014108 - movs r6, #0 - b _0801439C - .align 2, 0 + movs r0, #0x90 + lsls r0, r0, #5 + cmp r2, r0 + bhi _08014108 + ldr r0, _08014104 @ =0x00003FFF + cmp sb, r0 + bgt _08014108 + movs r6, #0 + b _0801439C + .align 2, 0 _080140FC: .4byte 0x000055E4 _08014100: .4byte 0x000015E4 _08014104: .4byte 0x00003FFF _08014108: - mov r2, r8 - ldr r0, [r2] - movs r1, #5 - bl __divsi3 - mov r1, r8 - str r0, [r1] - ldr r0, [r1, #4] - movs r1, #5 - bl __divsi3 - mov r2, r8 - str r0, [r2, #4] - ldr r0, _08014180 @ =0x020314E0 - ldr r4, [r0] - ldr r1, _08014184 @ =0x0000132C - adds r0, r4, r1 - ldr r5, [r0] - movs r2, #6 - ldrsh r0, [r5, r2] - lsls r0, r0, #2 - movs r1, #0xa - bl __divsi3 - strh r0, [r5, #6] - adds r4, #0x31 - ldrb r0, [r4] - cmp r0, #0 - beq _08014190 - adds r0, r7, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0xe6 - muls r0, r1, r0 - ldr r4, _08014188 @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _0801418C @ =0xFFFF0000 - ands r6, r1 - orrs r6, r0 - adds r0, r7, #0 - bl sub_C24 - adds r1, r0, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - subs r0, r0, r1 - lsls r0, r0, #1 - b _080141C8 - .align 2, 0 + mov r2, r8 + ldr r0, [r2] + movs r1, #5 + bl __divsi3 + mov r1, r8 + str r0, [r1] + ldr r0, [r1, #4] + movs r1, #5 + bl __divsi3 + mov r2, r8 + str r0, [r2, #4] + ldr r0, _08014180 @ =0x020314E0 + ldr r4, [r0] + ldr r1, _08014184 @ =0x0000132C + adds r0, r4, r1 + ldr r5, [r0] + movs r2, #6 + ldrsh r0, [r5, r2] + lsls r0, r0, #2 + movs r1, #0xa + bl __divsi3 + strh r0, [r5, #6] + adds r4, #0x31 + ldrb r0, [r4] + cmp r0, #0 + beq _08014190 + adds r0, r7, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0xe6 + muls r0, r1, r0 + ldr r4, _08014188 @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _0801418C @ =0xFFFF0000 + ands r6, r1 + orrs r6, r0 + adds r0, r7, #0 + bl sub_C24 + adds r1, r0, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #2 + adds r0, r0, r1 + lsls r0, r0, #2 + subs r0, r0, r1 + lsls r0, r0, #1 + b _080141C8 + .align 2, 0 _08014180: .4byte 0x020314E0 _08014184: .4byte 0x0000132C _08014188: .4byte 0x00004E20 _0801418C: .4byte 0xFFFF0000 _08014190: - adds r0, r7, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldr r1, _08014200 @ =0x0000011D - muls r0, r1, r0 - ldr r4, _08014204 @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08014208 @ =0xFFFF0000 - ands r6, r1 - orrs r6, r0 - adds r0, r7, #0 - bl sub_C24 - adds r1, r0, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #3 - subs r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r1 + adds r0, r7, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldr r1, _08014200 @ =0x0000011D + muls r0, r1, r0 + ldr r4, _08014204 @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08014208 @ =0xFFFF0000 + ands r6, r1 + orrs r6, r0 + adds r0, r7, #0 + bl sub_C24 + adds r1, r0, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #3 + subs r0, r0, r1 + lsls r0, r0, #2 + adds r0, r0, r1 _080141C8: - rsbs r0, r0, #0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _0801420C @ =0x0000FFFF - ands r6, r1 - orrs r6, r0 - ldr r2, _08014210 @ =0x020314E0 - ldr r0, [r2] - ldr r1, _08014214 @ =0x00000716 - adds r0, r0, r1 - movs r1, #4 - strb r1, [r0] - ldr r1, [r2] - ldr r2, _08014218 @ =0x0000132C - adds r0, r1, r2 - ldr r0, [r0] - movs r2, #0x10 - ldrsh r0, [r0, r2] - cmp r0, #0x77 - bgt _08014220 - ldr r0, _0801421C @ =0x00000717 - adds r1, r1, r0 - movs r0, #0 - strb r0, [r1] - b _0801439C - .align 2, 0 + rsbs r0, r0, #0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _0801420C @ =0x0000FFFF + ands r6, r1 + orrs r6, r0 + ldr r2, _08014210 @ =0x020314E0 + ldr r0, [r2] + ldr r1, _08014214 @ =0x00000716 + adds r0, r0, r1 + movs r1, #4 + strb r1, [r0] + ldr r1, [r2] + ldr r2, _08014218 @ =0x0000132C + adds r0, r1, r2 + ldr r0, [r0] + movs r2, #0x10 + ldrsh r0, [r0, r2] + cmp r0, #0x77 + bgt _08014220 + ldr r0, _0801421C @ =0x00000717 + adds r1, r1, r0 + movs r0, #0 + strb r0, [r1] + b _0801439C + .align 2, 0 _08014200: .4byte 0x0000011D _08014204: .4byte 0x00004E20 _08014208: .4byte 0xFFFF0000 @@ -39516,208 +39516,208 @@ _08014214: .4byte 0x00000716 _08014218: .4byte 0x0000132C _0801421C: .4byte 0x00000717 _08014220: - ldr r2, _0801422C @ =0x00000717 - adds r1, r1, r2 - movs r0, #1 - strb r0, [r1] - b _0801439C - .align 2, 0 + ldr r2, _0801422C @ =0x00000717 + adds r1, r1, r2 + movs r0, #1 + strb r0, [r1] + b _0801439C + .align 2, 0 _0801422C: .4byte 0x00000717 _08014230: - cmp r0, #1 - beq _08014236 - b _08014340 + cmp r0, #1 + beq _08014236 + b _08014340 _08014236: - mov r1, r8 - ldr r0, [r1] - movs r1, #5 - bl __divsi3 - mov r2, r8 - str r0, [r2] - ldr r0, [r2, #4] - movs r1, #5 - bl __divsi3 - mov r1, r8 - str r0, [r1, #4] - ldr r2, _08014298 @ =0x00005FFF - adds r0, r5, r2 - lsls r0, r0, #0x10 - ldr r1, _0801429C @ =0x3FFE0000 - cmp r0, r1 - bhi _080142A8 - adds r0, r5, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #4 - subs r1, r1, r0 - lsls r1, r1, #2 - ldr r4, _080142A0 @ =0x00004E20 - adds r0, r1, #0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _080142A4 @ =0xFFFF0000 - ands r6, r1 - orrs r6, r0 - adds r0, r5, #0 - bl sub_C24 - adds r1, r0, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #2 - rsbs r0, r0, #0 - b _0801438E - .align 2, 0 + mov r1, r8 + ldr r0, [r1] + movs r1, #5 + bl __divsi3 + mov r2, r8 + str r0, [r2] + ldr r0, [r2, #4] + movs r1, #5 + bl __divsi3 + mov r1, r8 + str r0, [r1, #4] + ldr r2, _08014298 @ =0x00005FFF + adds r0, r5, r2 + lsls r0, r0, #0x10 + ldr r1, _0801429C @ =0x3FFE0000 + cmp r0, r1 + bhi _080142A8 + adds r0, r5, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #4 + subs r1, r1, r0 + lsls r1, r1, #2 + ldr r4, _080142A0 @ =0x00004E20 + adds r0, r1, #0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _080142A4 @ =0xFFFF0000 + ands r6, r1 + orrs r6, r0 + adds r0, r5, #0 + bl sub_C24 + adds r1, r0, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #4 + subs r0, r0, r1 + lsls r0, r0, #2 + rsbs r0, r0, #0 + b _0801438E + .align 2, 0 _08014298: .4byte 0x00005FFF _0801429C: .4byte 0x3FFE0000 _080142A0: .4byte 0x00004E20 _080142A4: .4byte 0xFFFF0000 _080142A8: - ldr r1, _080142F0 @ =0xFFFFF000 - adds r0, r5, r1 - lsls r0, r0, #0x10 - movs r1, #0xc0 - lsls r1, r1, #0x17 - cmp r0, r1 - bhi _080142FC - adds r0, r5, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #4 - subs r1, r1, r0 - lsls r1, r1, #4 - ldr r4, _080142F4 @ =0x00004E20 - adds r0, r1, #0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _080142F8 @ =0xFFFF0000 - ands r6, r1 - orrs r6, r0 - adds r0, r5, #0 - bl sub_C24 - adds r1, r0, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #4 - rsbs r0, r0, #0 - b _0801438E - .align 2, 0 + ldr r1, _080142F0 @ =0xFFFFF000 + adds r0, r5, r1 + lsls r0, r0, #0x10 + movs r1, #0xc0 + lsls r1, r1, #0x17 + cmp r0, r1 + bhi _080142FC + adds r0, r5, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #4 + subs r1, r1, r0 + lsls r1, r1, #4 + ldr r4, _080142F4 @ =0x00004E20 + adds r0, r1, #0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _080142F8 @ =0xFFFF0000 + ands r6, r1 + orrs r6, r0 + adds r0, r5, #0 + bl sub_C24 + adds r1, r0, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #4 + subs r0, r0, r1 + lsls r0, r0, #4 + rsbs r0, r0, #0 + b _0801438E + .align 2, 0 _080142F0: .4byte 0xFFFFF000 _080142F4: .4byte 0x00004E20 _080142F8: .4byte 0xFFFF0000 _080142FC: - adds r0, r5, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #4 - subs r1, r1, r0 - lsls r1, r1, #3 - ldr r4, _08014338 @ =0x00004E20 - adds r0, r1, #0 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _0801433C @ =0xFFFF0000 - ands r6, r1 - orrs r6, r0 - adds r0, r5, #0 - bl sub_C24 - adds r1, r0, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #3 - rsbs r0, r0, #0 - b _0801438E - .align 2, 0 + adds r0, r5, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #4 + subs r1, r1, r0 + lsls r1, r1, #3 + ldr r4, _08014338 @ =0x00004E20 + adds r0, r1, #0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _0801433C @ =0xFFFF0000 + ands r6, r1 + orrs r6, r0 + adds r0, r5, #0 + bl sub_C24 + adds r1, r0, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #4 + subs r0, r0, r1 + lsls r0, r0, #3 + rsbs r0, r0, #0 + b _0801438E + .align 2, 0 _08014338: .4byte 0x00004E20 _0801433C: .4byte 0xFFFF0000 _08014340: - adds r0, r7, #0 - bl sub_C74 - ldr r5, _080143D4 @ =0x086ACDF4 - mov r2, sl - ldr r1, [r2] - adds r1, #0x23 - ldrb r1, [r1] - lsls r1, r1, #1 - adds r1, r1, r5 - movs r2, #0 - ldrsh r1, [r1, r2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - ldr r4, _080143D8 @ =0x00004E20 - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _080143DC @ =0xFFFF0000 - ands r6, r1 - orrs r6, r0 - adds r0, r7, #0 - bl sub_C24 - mov r2, sl - ldr r1, [r2] - adds r1, #0x23 - ldrb r1, [r1] - lsls r1, r1, #1 - adds r1, r1, r5 - movs r2, #0 - ldrsh r1, [r1, r2] - rsbs r1, r1, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 + adds r0, r7, #0 + bl sub_C74 + ldr r5, _080143D4 @ =0x086ACDF4 + mov r2, sl + ldr r1, [r2] + adds r1, #0x23 + ldrb r1, [r1] + lsls r1, r1, #1 + adds r1, r1, r5 + movs r2, #0 + ldrsh r1, [r1, r2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + ldr r4, _080143D8 @ =0x00004E20 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _080143DC @ =0xFFFF0000 + ands r6, r1 + orrs r6, r0 + adds r0, r7, #0 + bl sub_C24 + mov r2, sl + ldr r1, [r2] + adds r1, #0x23 + ldrb r1, [r1] + lsls r1, r1, #1 + adds r1, r1, r5 + movs r2, #0 + ldrsh r1, [r1, r2] + rsbs r1, r1, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 _0801438E: - adds r1, r4, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _080143E0 @ =0x0000FFFF - ands r6, r1 - orrs r6, r0 + adds r1, r4, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _080143E0 @ =0x0000FFFF + ands r6, r1 + orrs r6, r0 _0801439C: - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - mov r2, r8 - ldr r1, [r2] - adds r4, r1, r0 - str r4, [r2] - asrs r1, r6, #0x10 - ldr r0, [r2, #4] - adds r0, r0, r1 - str r0, [r2, #4] - ldr r1, _080143E4 @ =0x020314E0 - ldr r0, [r1] - ldr r2, _080143E8 @ =0x000005A4 - adds r3, r0, r2 - ldrb r2, [r3] - adds r5, r1, #0 - cmp r2, #0 - beq _0801446C - lsls r0, r4, #0x10 - lsrs r1, r0, #0x10 - movs r4, #1 - cmp r2, #1 - bne _080143EC - movs r0, #0 - strb r0, [r3] - movs r0, #0x80 - mov sb, r0 - b _080143F2 - .align 2, 0 + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + mov r2, r8 + ldr r1, [r2] + adds r4, r1, r0 + str r4, [r2] + asrs r1, r6, #0x10 + ldr r0, [r2, #4] + adds r0, r0, r1 + str r0, [r2, #4] + ldr r1, _080143E4 @ =0x020314E0 + ldr r0, [r1] + ldr r2, _080143E8 @ =0x000005A4 + adds r3, r0, r2 + ldrb r2, [r3] + adds r5, r1, #0 + cmp r2, #0 + beq _0801446C + lsls r0, r4, #0x10 + lsrs r1, r0, #0x10 + movs r4, #1 + cmp r2, #1 + bne _080143EC + movs r0, #0 + strb r0, [r3] + movs r0, #0x80 + mov sb, r0 + b _080143F2 + .align 2, 0 _080143D4: .4byte 0x086ACDF4 _080143D8: .4byte 0x00004E20 _080143DC: .4byte 0xFFFF0000 @@ -39725,794 +39725,794 @@ _080143E0: .4byte 0x0000FFFF _080143E4: .4byte 0x020314E0 _080143E8: .4byte 0x000005A4 _080143EC: - movs r2, #0xa0 - lsls r2, r2, #2 - mov sb, r2 + movs r2, #0xa0 + lsls r2, r2, #2 + mov sb, r2 _080143F2: - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - bge _08014402 - rsbs r0, r0, #0 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - ldr r4, _0801447C @ =0x0000FFFF + lsls r0, r1, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + bge _08014402 + rsbs r0, r0, #0 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + ldr r4, _0801447C @ =0x0000FFFF _08014402: - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xff - bgt _08014412 - lsls r0, r4, #0x10 - asrs r0, r0, #8 - mov r1, r8 - str r0, [r1] + lsls r0, r1, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xff + bgt _08014412 + lsls r0, r4, #0x10 + asrs r0, r0, #8 + mov r1, r8 + str r0, [r1] _08014412: - ldr r0, [r5] - ldr r2, _08014480 @ =0x0000132C - adds r0, r0, r2 - ldr r1, [r0] - movs r0, #0 - strh r0, [r1, #6] - mov r1, r8 - movs r2, #0 - ldrsh r0, [r1, r2] - ldr r1, [r1, #4] - rsbs r1, r1, #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 - mov r1, sb - muls r1, r0, r1 - adds r0, r1, #0 - ldr r5, _08014484 @ =0x00004E20 - adds r1, r5, #0 - bl __divsi3 - mov r2, r8 - str r0, [r2] - adds r0, r4, #0 - bl sub_C24 - mov r2, sb - rsbs r1, r2, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r5, #0 - bl __divsi3 - mov r1, r8 - str r0, [r1, #4] + ldr r0, [r5] + ldr r2, _08014480 @ =0x0000132C + adds r0, r0, r2 + ldr r1, [r0] + movs r0, #0 + strh r0, [r1, #6] + mov r1, r8 + movs r2, #0 + ldrsh r0, [r1, r2] + ldr r1, [r1, #4] + rsbs r1, r1, #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 + mov r1, sb + muls r1, r0, r1 + adds r0, r1, #0 + ldr r5, _08014484 @ =0x00004E20 + adds r1, r5, #0 + bl __divsi3 + mov r2, r8 + str r0, [r2] + adds r0, r4, #0 + bl sub_C24 + mov r2, sb + rsbs r1, r2, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r5, #0 + bl __divsi3 + mov r1, r8 + str r0, [r1, #4] _0801446C: - 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 + 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 _0801447C: .4byte 0x0000FFFF _08014480: .4byte 0x0000132C _08014484: .4byte 0x00004E20 - thumb_func_start sub_14488 + thumb_func_start sub_14488 sub_14488: @ 0x08014488 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x10 - adds r7, r0, #0 - adds r4, r1, #0 - ldr r1, _08014510 @ =0xFFFF0000 - mov r0, r8 - ands r0, r1 - mov r8, r0 - movs r0, #1 - mov r2, r8 - orrs r2, r0 - mov r8, r2 - ldr r2, _08014514 @ =0x0000FFFF - mov r3, r8 - ands r3, r2 - movs r0, #0x80 - lsls r0, r0, #9 - orrs r3, r0 - mov r8, r3 - lsls r0, r4, #0x10 - cmp r0, #0 - bge _080144CA - orrs r3, r2 - mov r8, r3 - rsbs r0, r4, #0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ands r4, r1 - orrs r4, r0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x10 + adds r7, r0, #0 + adds r4, r1, #0 + ldr r1, _08014510 @ =0xFFFF0000 + mov r0, r8 + ands r0, r1 + mov r8, r0 + movs r0, #1 + mov r2, r8 + orrs r2, r0 + mov r8, r2 + ldr r2, _08014514 @ =0x0000FFFF + mov r3, r8 + ands r3, r2 + movs r0, #0x80 + lsls r0, r0, #9 + orrs r3, r0 + mov r8, r3 + lsls r0, r4, #0x10 + cmp r0, #0 + bge _080144CA + orrs r3, r2 + mov r8, r3 + rsbs r0, r4, #0 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ands r4, r1 + orrs r4, r0 _080144CA: - asrs r0, r4, #0x10 - cmp r0, #0 - bge _080144DE - mov r3, r8 - orrs r3, r1 - mov r8, r3 - rsbs r0, r0, #0 - lsls r0, r0, #0x10 - ands r4, r2 - orrs r4, r0 + asrs r0, r4, #0x10 + cmp r0, #0 + bge _080144DE + mov r3, r8 + orrs r3, r1 + mov r8, r3 + rsbs r0, r0, #0 + lsls r0, r0, #0x10 + ands r4, r2 + orrs r4, r0 _080144DE: - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - asrs r1, r4, #0x10 - movs r2, #1 - str r2, [sp, #8] - cmp r0, r1 - ble _080144F0 - movs r3, #0 - str r3, [sp, #8] + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + asrs r1, r4, #0x10 + movs r2, #1 + str r2, [sp, #8] + cmp r0, r1 + ble _080144F0 + movs r3, #0 + str r3, [sp, #8] _080144F0: - ldr r2, _08014518 @ =0x020314E0 - ldr r0, [r2] - adds r0, #0x22 - movs r1, #0 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x23 - strb r1, [r0] - ldr r1, _0801451C @ =0x086ACE0C - ldr r0, _08014520 @ =0x0200B0C0 - ldrb r0, [r0, #4] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [sp, #0xc] - b _080145CC - .align 2, 0 + ldr r2, _08014518 @ =0x020314E0 + ldr r0, [r2] + adds r0, #0x22 + movs r1, #0 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x23 + strb r1, [r0] + ldr r1, _0801451C @ =0x086ACE0C + ldr r0, _08014520 @ =0x0200B0C0 + ldrb r0, [r0, #4] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + str r0, [sp, #0xc] + b _080145CC + .align 2, 0 _08014510: .4byte 0xFFFF0000 _08014514: .4byte 0x0000FFFF _08014518: .4byte 0x020314E0 _0801451C: .4byte 0x086ACE0C _08014520: .4byte 0x0200B0C0 _08014524: - ldrh r0, [r5] - strh r0, [r7] - ldrh r0, [r5, #2] - strh r0, [r7, #2] - mov r1, sp - mov r2, sb - ldrh r0, [r2] - strh r0, [r1] - b _0801456E + ldrh r0, [r5] + strh r0, [r7] + ldrh r0, [r5, #2] + strh r0, [r7, #2] + mov r1, sp + mov r2, sb + ldrh r0, [r2] + strh r0, [r1] + b _0801456E _08014536: - ldr r5, _080145A0 @ =0x020314E0 - ldr r0, [r5] - adds r0, #0x22 - strb r1, [r0] - adds r0, r7, #0 - mov r1, sp - bl sub_1467C - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0801454E - b _08014668 + ldr r5, _080145A0 @ =0x020314E0 + ldr r0, [r5] + adds r0, #0x22 + strb r1, [r0] + adds r0, r7, #0 + mov r1, sp + bl sub_1467C + lsls r0, r0, #0x10 + cmp r0, #0 + beq _0801454E + b _08014668 _0801454E: - ldr r0, [r5] - ldr r3, _080145A4 @ =0x000005F2 - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0801456E - adds r0, r7, #0 - mov r1, sp - bl sub_14740 - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0801456E - b _08014668 + ldr r0, [r5] + ldr r3, _080145A4 @ =0x000005F2 + adds r0, r0, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0801456E + adds r0, r7, #0 + mov r1, sp + bl sub_14740 + lsls r0, r0, #0x10 + cmp r0, #0 + beq _0801456E + b _08014668 _0801456E: - lsls r0, r4, #0x10 - cmp r0, #0 - bgt _0801457A - asrs r0, r4, #0x10 - cmp r0, #0 - ble _08014668 + lsls r0, r4, #0x10 + cmp r0, #0 + bgt _0801457A + asrs r0, r4, #0x10 + cmp r0, #0 + ble _08014668 _0801457A: - ldr r0, [sp, #8] - cmp r0, #0 - bne _080145AC - ldrh r0, [r7] - add r0, r8 - strh r0, [r7] - subs r1, r4, #1 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - ldr r0, _080145A8 @ =0xFFFF0000 - ands r4, r0 - orrs r4, r1 - asrs r0, r4, #0x10 - cmp r0, #0 - ble _080145CC - movs r1, #1 - str r1, [sp, #8] - b _080145CC - .align 2, 0 + ldr r0, [sp, #8] + cmp r0, #0 + bne _080145AC + ldrh r0, [r7] + add r0, r8 + strh r0, [r7] + subs r1, r4, #1 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + ldr r0, _080145A8 @ =0xFFFF0000 + ands r4, r0 + orrs r4, r1 + asrs r0, r4, #0x10 + cmp r0, #0 + ble _080145CC + movs r1, #1 + str r1, [sp, #8] + b _080145CC + .align 2, 0 _080145A0: .4byte 0x020314E0 _080145A4: .4byte 0x000005F2 _080145A8: .4byte 0xFFFF0000 _080145AC: - mov r2, r8 - asrs r0, r2, #0x10 - ldrh r3, [r7, #2] - adds r0, r0, r3 - strh r0, [r7, #2] - asrs r1, r4, #0x10 - subs r1, #1 - lsls r1, r1, #0x10 - ldr r0, _08014658 @ =0x0000FFFF - ands r4, r0 - orrs r4, r1 - lsls r0, r4, #0x10 - cmp r0, #0 - ble _080145CC - movs r0, #0 - str r0, [sp, #8] + mov r2, r8 + asrs r0, r2, #0x10 + ldrh r3, [r7, #2] + adds r0, r0, r3 + strh r0, [r7, #2] + asrs r1, r4, #0x10 + subs r1, #1 + lsls r1, r1, #0x10 + ldr r0, _08014658 @ =0x0000FFFF + ands r4, r0 + orrs r4, r1 + lsls r0, r4, #0x10 + cmp r0, #0 + ble _080145CC + movs r0, #0 + str r0, [sp, #8] _080145CC: - adds r0, r7, #0 - mov r1, sp - ldr r2, [sp, #0xc] - bl _call_via_r2 - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - cmp r1, #0 - beq _08014536 - ldr r0, _0801465C @ =0x020314E0 - ldr r1, [r0] - adds r0, r1, #0 - adds r0, #0x22 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08014668 - adds r0, r1, #0 - adds r0, #0x23 - ldrb r0, [r0] - cmp r0, #3 - bne _0801456E - movs r6, #0 - add r5, sp, #4 - movs r3, #2 - add r3, sp - mov sb, r3 - ldr r0, _08014658 @ =0x0000FFFF - mov sl, r0 + adds r0, r7, #0 + mov r1, sp + ldr r2, [sp, #0xc] + bl _call_via_r2 + lsls r0, r0, #0x10 + asrs r1, r0, #0x10 + cmp r1, #0 + beq _08014536 + ldr r0, _0801465C @ =0x020314E0 + ldr r1, [r0] + adds r0, r1, #0 + adds r0, #0x22 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08014668 + adds r0, r1, #0 + adds r0, #0x23 + ldrb r0, [r0] + cmp r0, #3 + bne _0801456E + movs r6, #0 + add r5, sp, #4 + movs r3, #2 + add r3, sp + mov sb, r3 + ldr r0, _08014658 @ =0x0000FFFF + mov sl, r0 _08014608: - ldr r0, _08014660 @ =0x086ACE60 - lsls r3, r6, #2 - adds r3, r3, r0 - ldrh r1, [r3] - ldrh r2, [r7] - adds r1, r1, r2 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - ldr r2, _08014664 @ =0xFFFF0000 - ldr r0, [sp, #4] - ands r0, r2 - orrs r0, r1 - str r0, [sp, #4] - ldrh r1, [r3, #2] - ldrh r3, [r7, #2] - adds r1, r1, r3 - lsls r1, r1, #0x10 - mov r2, sl - ands r0, r2 - orrs r0, r1 - str r0, [sp, #4] - adds r0, r5, #0 - mov r1, sb - ldr r3, [sp, #0xc] - bl _call_via_r3 - ldr r0, _0801465C @ =0x020314E0 - ldr r0, [r0] - ldrh r1, [r0, #0x22] - mov r0, sl - ands r0, r1 - cmp r0, #1 - bne _0801464C - b _08014524 + ldr r0, _08014660 @ =0x086ACE60 + lsls r3, r6, #2 + adds r3, r3, r0 + ldrh r1, [r3] + ldrh r2, [r7] + adds r1, r1, r2 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + ldr r2, _08014664 @ =0xFFFF0000 + ldr r0, [sp, #4] + ands r0, r2 + orrs r0, r1 + str r0, [sp, #4] + ldrh r1, [r3, #2] + ldrh r3, [r7, #2] + adds r1, r1, r3 + lsls r1, r1, #0x10 + mov r2, sl + ands r0, r2 + orrs r0, r1 + str r0, [sp, #4] + adds r0, r5, #0 + mov r1, sb + ldr r3, [sp, #0xc] + bl _call_via_r3 + ldr r0, _0801465C @ =0x020314E0 + ldr r0, [r0] + ldrh r1, [r0, #0x22] + mov r0, sl + ands r0, r1 + cmp r0, #1 + bne _0801464C + b _08014524 _0801464C: - adds r0, r6, #1 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - cmp r6, #3 - bls _08014608 - b _0801456E - .align 2, 0 + adds r0, r6, #1 + lsls r0, r0, #0x10 + lsrs r6, r0, #0x10 + cmp r6, #3 + bls _08014608 + b _0801456E + .align 2, 0 _08014658: .4byte 0x0000FFFF _0801465C: .4byte 0x020314E0 _08014660: .4byte 0x086ACE60 _08014664: .4byte 0xFFFF0000 _08014668: - mov r0, sp - ldrh r0, [r0] - add sp, #0x10 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_start sub_1467C + mov r0, sp + ldrh r0, [r0] + add sp, #0x10 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_start sub_1467C sub_1467C: @ 0x0801467C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov r8, r1 - movs r7, #0 - ldr r4, _08014734 @ =0x02031520 - movs r1, #0x22 - ldrsh r2, [r4, r1] - lsls r2, r2, #1 - ldrh r3, [r0] - subs r2, r3, r2 - lsls r2, r2, #0x10 - mov ip, r2 - movs r2, #0x24 - ldrsh r1, [r4, r2] - lsls r1, r1, #1 - subs r3, r3, r1 - lsls r3, r3, #0x10 - movs r2, #0x20 - ldrsh r1, [r4, r2] - lsls r1, r1, #1 - ldrh r0, [r0, #2] - subs r0, r0, r1 - lsls r0, r0, #0x10 - mov r1, ip - lsrs r6, r1, #0x10 - orrs r6, r0 - lsrs r1, r0, #0x10 - lsrs r5, r3, #0x10 - orrs r5, r0 - cmp r1, #0x5f - bhi _08014724 - lsls r0, r6, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x5f - bhi _080146E8 - ldr r4, _08014738 @ =0x020314E0 - ldr r0, [r4] - ldrb r1, [r0, #0x1e] - adds r1, #1 - adds r0, r6, #0 - mov r2, r8 - movs r3, #0 - bl sub_14AF4 - lsls r0, r0, #0x10 - cmp r0, #0 - beq _080146E8 - ldr r0, [r4] - adds r0, #0x22 - movs r1, #3 - strb r1, [r0] - movs r7, #1 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + mov r8, r1 + movs r7, #0 + ldr r4, _08014734 @ =0x02031520 + movs r1, #0x22 + ldrsh r2, [r4, r1] + lsls r2, r2, #1 + ldrh r3, [r0] + subs r2, r3, r2 + lsls r2, r2, #0x10 + mov ip, r2 + movs r2, #0x24 + ldrsh r1, [r4, r2] + lsls r1, r1, #1 + subs r3, r3, r1 + lsls r3, r3, #0x10 + movs r2, #0x20 + ldrsh r1, [r4, r2] + lsls r1, r1, #1 + ldrh r0, [r0, #2] + subs r0, r0, r1 + lsls r0, r0, #0x10 + mov r1, ip + lsrs r6, r1, #0x10 + orrs r6, r0 + lsrs r1, r0, #0x10 + lsrs r5, r3, #0x10 + orrs r5, r0 + cmp r1, #0x5f + bhi _08014724 + lsls r0, r6, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x5f + bhi _080146E8 + ldr r4, _08014738 @ =0x020314E0 + ldr r0, [r4] + ldrb r1, [r0, #0x1e] + adds r1, #1 + adds r0, r6, #0 + mov r2, r8 + movs r3, #0 + bl sub_14AF4 + lsls r0, r0, #0x10 + cmp r0, #0 + beq _080146E8 + ldr r0, [r4] + adds r0, #0x22 + movs r1, #3 + strb r1, [r0] + movs r7, #1 _080146E8: - cmp r7, #0 - bne _08014724 - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x5f - bhi _08014724 - movs r0, #0x5f - subs r0, r0, r5 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _0801473C @ =0xFFFF0000 - ands r5, r1 - orrs r5, r0 - ldr r4, _08014738 @ =0x020314E0 - ldr r0, [r4] - ldrb r1, [r0, #0x1e] - adds r1, #1 - adds r0, r5, #0 - mov r2, r8 - movs r3, #1 - bl sub_14AF4 - lsls r0, r0, #0x10 - cmp r0, #0 - beq _08014724 - ldr r0, [r4] - adds r0, #0x22 - movs r1, #4 - strb r1, [r0] - movs r7, #1 + cmp r7, #0 + bne _08014724 + lsls r0, r5, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x5f + bhi _08014724 + movs r0, #0x5f + subs r0, r0, r5 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _0801473C @ =0xFFFF0000 + ands r5, r1 + orrs r5, r0 + ldr r4, _08014738 @ =0x020314E0 + ldr r0, [r4] + ldrb r1, [r0, #0x1e] + adds r1, #1 + adds r0, r5, #0 + mov r2, r8 + movs r3, #1 + bl sub_14AF4 + lsls r0, r0, #0x10 + cmp r0, #0 + beq _08014724 + ldr r0, [r4] + adds r0, #0x22 + movs r1, #4 + strb r1, [r0] + movs r7, #1 _08014724: - adds r0, r7, #0 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - .align 2, 0 + adds r0, r7, #0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + .align 2, 0 _08014734: .4byte 0x02031520 _08014738: .4byte 0x020314E0 _0801473C: .4byte 0xFFFF0000 - thumb_func_start sub_14740 + thumb_func_start sub_14740 sub_14740: @ 0x08014740 - push {r4, r5, r6, r7, lr} - adds r2, r0, #0 - adds r7, r1, #0 - movs r6, #0 - ldr r0, _080147E8 @ =0x020314E0 - ldr r4, [r0] - ldr r5, _080147EC @ =0x000005A4 - adds r1, r4, r5 - ldrb r1, [r1] - adds r5, r0, #0 - cmp r1, #2 - bne _0801475A - b _08014924 + push {r4, r5, r6, r7, lr} + adds r2, r0, #0 + adds r7, r1, #0 + movs r6, #0 + ldr r0, _080147E8 @ =0x020314E0 + ldr r4, [r0] + ldr r5, _080147EC @ =0x000005A4 + adds r1, r4, r5 + ldrb r1, [r1] + adds r5, r0, #0 + cmp r1, #2 + bne _0801475A + b _08014924 _0801475A: - movs r0, #0 - ldrsh r1, [r2, r0] - lsrs r0, r1, #0x1f - adds r1, r1, r0 - asrs r1, r1, #1 - adds r0, r4, #0 - adds r0, #0xc4 - ldrh r0, [r0] - subs r1, r1, r0 - lsls r1, r1, #0x10 - movs r3, #2 - ldrsh r0, [r2, r3] - lsrs r2, r0, #0x1f - adds r0, r0, r2 - asrs r0, r0, #1 - adds r2, r4, #0 - adds r2, #0xc6 - ldrh r2, [r2] - subs r0, r0, r2 - lsls r0, r0, #0x10 - lsrs r3, r1, #0x10 - orrs r3, r0 - adds r1, r0, #0 - lsrs r0, r1, #0x10 - cmp r0, #0x2f - bls _08014790 - b _08014924 + movs r0, #0 + ldrsh r1, [r2, r0] + lsrs r0, r1, #0x1f + adds r1, r1, r0 + asrs r1, r1, #1 + adds r0, r4, #0 + adds r0, #0xc4 + ldrh r0, [r0] + subs r1, r1, r0 + lsls r1, r1, #0x10 + movs r3, #2 + ldrsh r0, [r2, r3] + lsrs r2, r0, #0x1f + adds r0, r0, r2 + asrs r0, r0, #1 + adds r2, r4, #0 + adds r2, #0xc6 + ldrh r2, [r2] + subs r0, r0, r2 + lsls r0, r0, #0x10 + lsrs r3, r1, #0x10 + orrs r3, r0 + adds r1, r0, #0 + lsrs r0, r1, #0x10 + cmp r0, #0x2f + bls _08014790 + b _08014924 _08014790: - lsls r2, r3, #0x10 - lsrs r0, r2, #0x10 - cmp r0, #0x2f - bls _0801479A - b _08014924 + lsls r2, r3, #0x10 + lsrs r0, r2, #0x10 + cmp r0, #0x2f + bls _0801479A + b _08014924 _0801479A: - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #4 - asrs r1, r2, #0x10 - adds r0, r0, r1 - ldr r1, _080147F0 @ =0x0839A28C - adds r0, r0, r1 - ldrb r2, [r0] - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - bne _080147B6 - b _08014924 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #4 + asrs r1, r2, #0x10 + adds r0, r0, r1 + ldr r1, _080147F0 @ =0x0839A28C + adds r0, r0, r1 + ldrb r2, [r0] + movs r0, #0x80 + ands r0, r2 + cmp r0, #0 + bne _080147B6 + b _08014924 _080147B6: - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #2 - strb r0, [r1] - ldr r0, [r5] - adds r0, #0x23 - movs r1, #3 - strb r1, [r0] - movs r0, #0x7f - ands r0, r2 - lsls r0, r0, #9 - strh r0, [r7] - ldr r2, [r5] - ldr r0, _080147F4 @ =0x000005A6 - adds r1, r2, r0 - movs r0, #0x14 - strh r0, [r1] - ldr r1, _080147F8 @ =0x000005A9 - adds r2, r2, r1 - ldrb r0, [r2] - cmp r0, #0 - beq _080147FC - movs r0, #0x18 - b _080147FE - .align 2, 0 + adds r1, r4, #0 + adds r1, #0x22 + movs r0, #2 + strb r0, [r1] + ldr r0, [r5] + adds r0, #0x23 + movs r1, #3 + strb r1, [r0] + movs r0, #0x7f + ands r0, r2 + lsls r0, r0, #9 + strh r0, [r7] + ldr r2, [r5] + ldr r0, _080147F4 @ =0x000005A6 + adds r1, r2, r0 + movs r0, #0x14 + strh r0, [r1] + ldr r1, _080147F8 @ =0x000005A9 + adds r2, r2, r1 + ldrb r0, [r2] + cmp r0, #0 + beq _080147FC + movs r0, #0x18 + b _080147FE + .align 2, 0 _080147E8: .4byte 0x020314E0 _080147EC: .4byte 0x000005A4 _080147F0: .4byte 0x0839A28C _080147F4: .4byte 0x000005A6 _080147F8: .4byte 0x000005A9 _080147FC: - movs r0, #0x14 + movs r0, #0x14 _080147FE: - strb r0, [r2] - ldr r1, [r5] - movs r2, #0xb3 - lsls r2, r2, #3 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #0xc8 - bne _080148A4 - ldr r3, _0801484C @ =0x000005AA - adds r0, r1, r3 - ldrh r3, [r0] - cmp r3, #0 - bne _0801487E - adds r2, #0xd - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r1, [r5] - adds r0, r1, r2 - ldrb r2, [r0] - cmp r2, #3 - bne _08014858 - adds r0, r2, #0 - adds r0, r1, r0 - ldr r1, _08014850 @ =0x0000071C - adds r0, r0, r1 - strb r2, [r0] - ldr r0, [r5] - ldr r2, _08014854 @ =0x000005A4 - adds r0, r0, r2 - movs r1, #2 - strb r1, [r0] - ldr r1, [r5] - adds r2, #2 - adds r0, r1, r2 - strh r3, [r0] - b _08014870 - .align 2, 0 + strb r0, [r2] + ldr r1, [r5] + movs r2, #0xb3 + lsls r2, r2, #3 + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #0xc8 + bne _080148A4 + ldr r3, _0801484C @ =0x000005AA + adds r0, r1, r3 + ldrh r3, [r0] + cmp r3, #0 + bne _0801487E + adds r2, #0xd + adds r1, r1, r2 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r1, [r5] + adds r0, r1, r2 + ldrb r2, [r0] + cmp r2, #3 + bne _08014858 + adds r0, r2, #0 + adds r0, r1, r0 + ldr r1, _08014850 @ =0x0000071C + adds r0, r0, r1 + strb r2, [r0] + ldr r0, [r5] + ldr r2, _08014854 @ =0x000005A4 + adds r0, r0, r2 + movs r1, #2 + strb r1, [r0] + ldr r1, [r5] + adds r2, #2 + adds r0, r1, r2 + strh r3, [r0] + b _08014870 + .align 2, 0 _0801484C: .4byte 0x000005AA _08014850: .4byte 0x0000071C _08014854: .4byte 0x000005A4 _08014858: - ldrb r0, [r0] - adds r0, r1, r0 - ldr r3, _08014890 @ =0x0000071C - adds r0, r0, r3 - movs r1, #3 - strb r1, [r0] - ldr r0, [r5] - ldr r1, _08014894 @ =0x000005A4 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - ldr r1, [r5] + ldrb r0, [r0] + adds r0, r1, r0 + ldr r3, _08014890 @ =0x0000071C + adds r0, r0, r3 + movs r1, #3 + strb r1, [r0] + ldr r0, [r5] + ldr r1, _08014894 @ =0x000005A4 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + ldr r1, [r5] _08014870: - ldr r0, _08014898 @ =0x00002710 - str r0, [r1, #0x3c] - ldr r0, [r5] - ldr r2, _0801489C @ =0x000005AA - adds r0, r0, r2 - movs r1, #4 - strh r1, [r0] + ldr r0, _08014898 @ =0x00002710 + str r0, [r1, #0x3c] + ldr r0, [r5] + ldr r2, _0801489C @ =0x000005AA + adds r0, r0, r2 + movs r1, #4 + strh r1, [r0] _0801487E: - movs r6, #1 - ldr r0, _080148A0 @ =0x00000145 - bl m4aSongNumStart - movs r0, #7 - bl sub_11B0 - b _08014924 - .align 2, 0 + movs r6, #1 + ldr r0, _080148A0 @ =0x00000145 + bl m4aSongNumStart + movs r0, #7 + bl sub_11B0 + b _08014924 + .align 2, 0 _08014890: .4byte 0x0000071C _08014894: .4byte 0x000005A4 _08014898: .4byte 0x00002710 _0801489C: .4byte 0x000005AA _080148A0: .4byte 0x00000145 _080148A4: - ldr r3, _080148E0 @ =0x000005AA - adds r0, r1, r3 - ldrh r3, [r0] - cmp r3, #0 - bne _08014916 - ldr r2, _080148E4 @ =0x000005A5 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r1, [r5] - adds r0, r1, r2 - ldrb r2, [r0] - cmp r2, #3 - bne _080148F0 - adds r0, r2, #0 - adds r0, r1, r0 - ldr r1, _080148E8 @ =0x0000071C - adds r0, r0, r1 - strb r2, [r0] - ldr r0, [r5] - ldr r2, _080148EC @ =0x000005A4 - adds r0, r0, r2 - movs r1, #2 - strb r1, [r0] - ldr r1, [r5] - adds r2, #2 - adds r0, r1, r2 - strh r3, [r0] - b _08014908 - .align 2, 0 + ldr r3, _080148E0 @ =0x000005AA + adds r0, r1, r3 + ldrh r3, [r0] + cmp r3, #0 + bne _08014916 + ldr r2, _080148E4 @ =0x000005A5 + adds r1, r1, r2 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r1, [r5] + adds r0, r1, r2 + ldrb r2, [r0] + cmp r2, #3 + bne _080148F0 + adds r0, r2, #0 + adds r0, r1, r0 + ldr r1, _080148E8 @ =0x0000071C + adds r0, r0, r1 + strb r2, [r0] + ldr r0, [r5] + ldr r2, _080148EC @ =0x000005A4 + adds r0, r0, r2 + movs r1, #2 + strb r1, [r0] + ldr r1, [r5] + adds r2, #2 + adds r0, r1, r2 + strh r3, [r0] + b _08014908 + .align 2, 0 _080148E0: .4byte 0x000005AA _080148E4: .4byte 0x000005A5 _080148E8: .4byte 0x0000071C _080148EC: .4byte 0x000005A4 _080148F0: - ldrb r0, [r0] - adds r0, r1, r0 - ldr r3, _0801492C @ =0x0000071C - adds r0, r0, r3 - movs r1, #3 - strb r1, [r0] - ldr r0, [r5] - ldr r1, _08014930 @ =0x000005A4 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - ldr r1, [r5] + ldrb r0, [r0] + adds r0, r1, r0 + ldr r3, _0801492C @ =0x0000071C + adds r0, r0, r3 + movs r1, #3 + strb r1, [r0] + ldr r0, [r5] + ldr r1, _08014930 @ =0x000005A4 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + ldr r1, [r5] _08014908: - ldr r0, _08014934 @ =0x00002710 - str r0, [r1, #0x3c] - ldr r0, [r5] - ldr r2, _08014938 @ =0x000005AA - adds r0, r0, r2 - movs r1, #4 - strh r1, [r0] + ldr r0, _08014934 @ =0x00002710 + str r0, [r1, #0x3c] + ldr r0, [r5] + ldr r2, _08014938 @ =0x000005AA + adds r0, r0, r2 + movs r1, #4 + strh r1, [r0] _08014916: - movs r6, #1 - movs r0, #0x74 - bl m4aSongNumStart - movs r0, #7 - bl sub_11B0 + movs r6, #1 + movs r0, #0x74 + bl m4aSongNumStart + movs r0, #7 + bl sub_11B0 _08014924: - adds r0, r6, #0 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - .align 2, 0 + adds r0, r6, #0 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + .align 2, 0 _0801492C: .4byte 0x0000071C _08014930: .4byte 0x000005A4 _08014934: .4byte 0x00002710 _08014938: .4byte 0x000005AA - thumb_func_start sub_1493C + thumb_func_start sub_1493C sub_1493C: @ 0x0801493C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #8 - ldr r0, _08014A28 @ =0x020314E0 - mov sb, r0 - ldr r4, [r0] - ldr r1, _08014A2C @ =0x0000132C - mov r8, r1 - adds r0, r4, r1 - ldr r2, [r0] - ldrh r1, [r2, #0x28] - subs r1, #0xee - lsls r1, r1, #0x10 - ldr r5, _08014A30 @ =0xFFFFFDD2 - adds r0, r5, #0 - ldrh r2, [r2, #0x2a] - adds r0, r0, r2 - lsls r0, r0, #0x10 - lsrs r3, r1, #0x10 - orrs r3, r0 - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - adds r1, r0, #0 - muls r1, r0, r1 - asrs r2, r3, #0x10 - adds r0, r2, #0 - muls r0, r2, r0 - adds r7, r1, r0 - ldr r0, _08014A34 @ =0x000006E3 - cmp r7, r0 - bgt _08014A04 - ldrb r1, [r4, #0x1e] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08014A04 - rsbs r0, r3, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r2, #0 - bl ArcTan2 - adds r4, r0, #0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - movs r5, #0x1e - adds r0, r4, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r5, r0 - ldr r6, _08014A38 @ =0x00004E20 - adds r1, r6, #0 - bl __divsi3 - str r0, [sp] - adds r0, r4, #0 - bl sub_C24 - rsbs r5, r5, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r5, r0 - adds r1, r6, #0 - bl __divsi3 - str r0, [sp, #4] - mov r0, sb - ldr r4, [r0] - add r4, r8 - ldr r5, [r4] - movs r1, #0x64 - mov r8, r1 - ldr r2, [sp] - mov r0, r8 - muls r0, r2, r0 - movs r2, #0x30 - ldrsh r1, [r5, r2] - movs r6, #0x62 - muls r1, r6, r1 - adds r0, r0, r1 - movs r1, #0x64 - bl __divsi3 - strh r0, [r5, #0x30] - ldr r4, [r4] - ldr r5, [sp, #4] - mov r0, r8 - muls r0, r5, r0 - movs r2, #0x32 - ldrsh r1, [r4, r2] - muls r1, r6, r1 - adds r0, r0, r1 - movs r1, #0x64 - bl __divsi3 - strh r0, [r4, #0x32] + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + sub sp, #8 + ldr r0, _08014A28 @ =0x020314E0 + mov sb, r0 + ldr r4, [r0] + ldr r1, _08014A2C @ =0x0000132C + mov r8, r1 + adds r0, r4, r1 + ldr r2, [r0] + ldrh r1, [r2, #0x28] + subs r1, #0xee + lsls r1, r1, #0x10 + ldr r5, _08014A30 @ =0xFFFFFDD2 + adds r0, r5, #0 + ldrh r2, [r2, #0x2a] + adds r0, r0, r2 + lsls r0, r0, #0x10 + lsrs r3, r1, #0x10 + orrs r3, r0 + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + adds r1, r0, #0 + muls r1, r0, r1 + asrs r2, r3, #0x10 + adds r0, r2, #0 + muls r0, r2, r0 + adds r7, r1, r0 + ldr r0, _08014A34 @ =0x000006E3 + cmp r7, r0 + bgt _08014A04 + ldrb r1, [r4, #0x1e] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + bne _08014A04 + rsbs r0, r3, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + adds r1, r2, #0 + bl ArcTan2 + adds r4, r0, #0 + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + movs r5, #0x1e + adds r0, r4, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r5, r0 + ldr r6, _08014A38 @ =0x00004E20 + adds r1, r6, #0 + bl __divsi3 + str r0, [sp] + adds r0, r4, #0 + bl sub_C24 + rsbs r5, r5, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r5, r0 + adds r1, r6, #0 + bl __divsi3 + str r0, [sp, #4] + mov r0, sb + ldr r4, [r0] + add r4, r8 + ldr r5, [r4] + movs r1, #0x64 + mov r8, r1 + ldr r2, [sp] + mov r0, r8 + muls r0, r2, r0 + movs r2, #0x30 + ldrsh r1, [r5, r2] + movs r6, #0x62 + muls r1, r6, r1 + adds r0, r0, r1 + movs r1, #0x64 + bl __divsi3 + strh r0, [r5, #0x30] + ldr r4, [r4] + ldr r5, [sp, #4] + mov r0, r8 + muls r0, r5, r0 + movs r2, #0x32 + ldrsh r1, [r4, r2] + muls r1, r6, r1 + adds r0, r0, r1 + movs r1, #0x64 + bl __divsi3 + strh r0, [r4, #0x32] _08014A04: - ldr r0, _08014A28 @ =0x020314E0 - ldr r1, [r0] - ldr r5, _08014A3C @ =0x000005F4 - adds r3, r1, r5 - ldrh r0, [r3] - adds r2, r0, #0 - cmp r2, #0x13 - bhi _08014A5C - cmp r7, #0x27 - bgt _08014A40 - adds r0, #1 - strh r0, [r3] - ldr r2, _08014A2C @ =0x0000132C - adds r0, r1, r2 - ldr r1, [r0] - movs r0, #0x80 - lsls r0, r0, #1 - b _08014ADC - .align 2, 0 + ldr r0, _08014A28 @ =0x020314E0 + ldr r1, [r0] + ldr r5, _08014A3C @ =0x000005F4 + adds r3, r1, r5 + ldrh r0, [r3] + adds r2, r0, #0 + cmp r2, #0x13 + bhi _08014A5C + cmp r7, #0x27 + bgt _08014A40 + adds r0, #1 + strh r0, [r3] + ldr r2, _08014A2C @ =0x0000132C + adds r0, r1, r2 + ldr r1, [r0] + movs r0, #0x80 + lsls r0, r0, #1 + b _08014ADC + .align 2, 0 _08014A28: .4byte 0x020314E0 _08014A2C: .4byte 0x0000132C _08014A30: .4byte 0xFFFFFDD2 @@ -40520,367 +40520,367 @@ _08014A34: .4byte 0x000006E3 _08014A38: .4byte 0x00004E20 _08014A3C: .4byte 0x000005F4 _08014A40: - ldr r5, _08014A58 @ =0x0000132C - adds r0, r1, r5 - ldr r1, [r0] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r1, #0xe] - cmp r7, #0x64 - ble _08014ADE - movs r0, #0 - strh r0, [r3] - b _08014ADE - .align 2, 0 + ldr r5, _08014A58 @ =0x0000132C + adds r0, r1, r5 + ldr r1, [r0] + movs r0, #0x80 + lsls r0, r0, #1 + strh r0, [r1, #0xe] + cmp r7, #0x64 + ble _08014ADE + movs r0, #0 + strh r0, [r3] + b _08014ADE + .align 2, 0 _08014A58: .4byte 0x0000132C _08014A5C: - cmp r2, #0x1d - bhi _08014AA8 - adds r0, #1 - movs r6, #0 - strh r0, [r3] - ldr r0, _08014AA4 @ =0x0000132C - adds r4, r1, r0 - ldr r5, [r4] - ldrh r1, [r3] - movs r0, #0x1e - subs r0, r0, r1 - lsls r0, r0, #7 - movs r1, #0xa - bl __divsi3 - adds r0, #0x80 - strh r0, [r5, #0xe] - ldr r1, [r4] - movs r0, #0x77 - strh r0, [r1, #0x10] - ldr r1, [r4] - adds r0, #0xa0 - strh r0, [r1, #0x12] - ldr r0, [r4] - strh r6, [r0, #6] - ldr r1, [r4] - movs r2, #0x10 - ldrsh r0, [r1, r2] - lsls r0, r0, #8 - str r0, [r1, #0x34] - ldr r1, [r4] - movs r5, #0x12 - ldrsh r0, [r1, r5] - lsls r0, r0, #8 - str r0, [r1, #0x38] - b _08014ADE - .align 2, 0 + cmp r2, #0x1d + bhi _08014AA8 + adds r0, #1 + movs r6, #0 + strh r0, [r3] + ldr r0, _08014AA4 @ =0x0000132C + adds r4, r1, r0 + ldr r5, [r4] + ldrh r1, [r3] + movs r0, #0x1e + subs r0, r0, r1 + lsls r0, r0, #7 + movs r1, #0xa + bl __divsi3 + adds r0, #0x80 + strh r0, [r5, #0xe] + ldr r1, [r4] + movs r0, #0x77 + strh r0, [r1, #0x10] + ldr r1, [r4] + adds r0, #0xa0 + strh r0, [r1, #0x12] + ldr r0, [r4] + strh r6, [r0, #6] + ldr r1, [r4] + movs r2, #0x10 + ldrsh r0, [r1, r2] + lsls r0, r0, #8 + str r0, [r1, #0x34] + ldr r1, [r4] + movs r5, #0x12 + ldrsh r0, [r1, r5] + lsls r0, r0, #8 + str r0, [r1, #0x38] + b _08014ADE + .align 2, 0 _08014AA4: .4byte 0x0000132C _08014AA8: - movs r0, #0 - strh r0, [r3] - adds r1, #0x25 - movs r0, #4 - strb r0, [r1] - ldr r0, _08014AC0 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _08014AC4 - bl sub_1A98C - b _08014AC8 - .align 2, 0 + movs r0, #0 + strh r0, [r3] + adds r1, #0x25 + movs r0, #4 + strb r0, [r1] + ldr r0, _08014AC0 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #0 + bne _08014AC4 + bl sub_1A98C + b _08014AC8 + .align 2, 0 _08014AC0: .4byte 0x0200B0C0 _08014AC4: - bl sub_32914 + bl sub_32914 _08014AC8: - ldr r2, _08014AEC @ =0x020314E0 - ldr r0, [r2] - adds r0, #0x22 - movs r1, #7 - strb r1, [r0] - ldr r0, [r2] - ldr r1, _08014AF0 @ =0x0000132C - adds r0, r0, r1 - ldr r1, [r0] - movs r0, #0x80 + ldr r2, _08014AEC @ =0x020314E0 + ldr r0, [r2] + adds r0, #0x22 + movs r1, #7 + strb r1, [r0] + ldr r0, [r2] + ldr r1, _08014AF0 @ =0x0000132C + adds r0, r0, r1 + ldr r1, [r0] + movs r0, #0x80 _08014ADC: - strh r0, [r1, #0xe] + strh r0, [r1, #0xe] _08014ADE: - add sp, #8 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + add sp, #8 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08014AEC: .4byte 0x020314E0 _08014AF0: .4byte 0x0000132C - thumb_func_start sub_14AF4 + thumb_func_start sub_14AF4 sub_14AF4: @ 0x08014AF4 - push {r4, r5, r6, r7, lr} - adds r7, r2, #0 - movs r2, #0 - mov ip, r2 - asrs r2, r0, #0x10 - lsls r4, r2, #1 - adds r4, r4, r2 - lsls r4, r4, #5 - adds r4, r4, r0 - lsls r4, r4, #0x10 - ldr r2, _08014B70 @ =0x020314E0 - lsls r3, r3, #0x10 - asrs r6, r3, #0x10 - lsls r0, r6, #1 - adds r0, r0, r6 - lsls r0, r0, #2 - ldr r3, _08014B74 @ =0x000013BC - adds r0, r0, r3 - ldr r3, [r2] - adds r3, r3, r0 - ldr r5, _08014B78 @ =0x086ACDB8 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - movs r2, #2 - ldrsb r2, [r3, r2] - lsls r0, r2, #2 - adds r0, r0, r2 - adds r1, r1, r0 - adds r1, r1, r5 - ldrb r0, [r1] - strb r0, [r3, #5] - ldr r0, _08014B7C @ =0x02031520 - movs r1, #5 - ldrsb r1, [r3, r1] - ldr r2, [r0, #0x68] - lsrs r4, r4, #0xf - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #0xb - adds r0, r0, r2 - adds r4, r4, r0 - ldrh r4, [r4] - movs r0, #0xf - ands r0, r4 - cmp r0, #0 - beq _08014B66 - ldr r1, _08014B80 @ =0x0000FFF0 - ands r1, r4 - strh r1, [r7] - cmp r6, #1 - bne _08014B62 - movs r0, #0x80 - lsls r0, r0, #8 - subs r0, r0, r1 - strh r0, [r7] + push {r4, r5, r6, r7, lr} + adds r7, r2, #0 + movs r2, #0 + mov ip, r2 + asrs r2, r0, #0x10 + lsls r4, r2, #1 + adds r4, r4, r2 + lsls r4, r4, #5 + adds r4, r4, r0 + lsls r4, r4, #0x10 + ldr r2, _08014B70 @ =0x020314E0 + lsls r3, r3, #0x10 + asrs r6, r3, #0x10 + lsls r0, r6, #1 + adds r0, r0, r6 + lsls r0, r0, #2 + ldr r3, _08014B74 @ =0x000013BC + adds r0, r0, r3 + ldr r3, [r2] + adds r3, r3, r0 + ldr r5, _08014B78 @ =0x086ACDB8 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + movs r2, #2 + ldrsb r2, [r3, r2] + lsls r0, r2, #2 + adds r0, r0, r2 + adds r1, r1, r0 + adds r1, r1, r5 + ldrb r0, [r1] + strb r0, [r3, #5] + ldr r0, _08014B7C @ =0x02031520 + movs r1, #5 + ldrsb r1, [r3, r1] + ldr r2, [r0, #0x68] + lsrs r4, r4, #0xf + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #0xb + adds r0, r0, r2 + adds r4, r4, r0 + ldrh r4, [r4] + movs r0, #0xf + ands r0, r4 + cmp r0, #0 + beq _08014B66 + ldr r1, _08014B80 @ =0x0000FFF0 + ands r1, r4 + strh r1, [r7] + cmp r6, #1 + bne _08014B62 + movs r0, #0x80 + lsls r0, r0, #8 + subs r0, r0, r1 + strh r0, [r7] _08014B62: - movs r0, #1 - mov ip, r0 + movs r0, #1 + mov ip, r0 _08014B66: - mov r0, ip - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - .align 2, 0 + mov r0, ip + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + .align 2, 0 _08014B70: .4byte 0x020314E0 _08014B74: .4byte 0x000013BC _08014B78: .4byte 0x086ACDB8 _08014B7C: .4byte 0x02031520 _08014B80: .4byte 0x0000FFF0 - thumb_func_start sub_14B84 + thumb_func_start sub_14B84 sub_14B84: @ 0x08014B84 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r5, r0, #0 - mov r8, r2 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov sl, r1 - lsls r3, r3, #0x10 - lsrs r7, r3, #0x10 - ldr r0, _08014C20 @ =0x020314E0 - ldr r2, [r0] - lsls r3, r1, #0x10 - asrs r0, r3, #0x10 - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - adds r1, r2, r1 - ldr r6, _08014C24 @ =0x000013C1 - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - ldr r0, _08014C28 @ =0x000013C4 - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bgt _08014BC8 - b _08014D3E + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + adds r5, r0, #0 + mov r8, r2 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + mov sl, r1 + lsls r3, r3, #0x10 + lsrs r7, r3, #0x10 + ldr r0, _08014C20 @ =0x020314E0 + ldr r2, [r0] + lsls r3, r1, #0x10 + asrs r0, r3, #0x10 + lsls r1, r0, #1 + adds r1, r1, r0 + lsls r1, r1, #2 + adds r1, r2, r1 + ldr r6, _08014C24 @ =0x000013C1 + adds r0, r1, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #0x10 + lsrs r6, r0, #0x10 + ldr r0, _08014C28 @ =0x000013C4 + adds r1, r1, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + bgt _08014BC8 + b _08014D3E _08014BC8: - adds r0, r2, #0 - adds r0, #0x5c - movs r1, #0 - ldrsh r0, [r0, r1] - mov sb, r3 - cmp r0, #0 - beq _08014BD8 - b _08014CF2 + adds r0, r2, #0 + adds r0, #0x5c + movs r1, #0 + ldrsh r0, [r0, r1] + mov sb, r3 + cmp r0, #0 + beq _08014BD8 + b _08014CF2 _08014BD8: - lsls r0, r6, #0x10 - asrs r2, r0, #0x10 - subs r1, r2, #2 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r1 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - subs r5, r5, r0 - ldr r0, _08014C2C @ =0x00000B21 - cmp r5, r0 - bgt _08014C34 - ldr r2, _08014C30 @ =0xFFFFF5D8 - adds r4, r5, r2 - lsls r0, r4, #0xb - movs r1, #0x96 - lsls r1, r1, #2 - bl __divsi3 - movs r3, #0x90 - lsls r3, r3, #7 - adds r1, r3, #0 - subs r1, r1, r0 - lsls r1, r1, #0x10 - lsrs r6, r1, #0x10 - lsls r4, r4, #7 - movs r1, #0x96 - lsls r1, r1, #1 - adds r0, r4, #0 - bl __divsi3 - adds r7, r0, #0 - adds r7, #0x78 - b _08014C68 - .align 2, 0 + lsls r0, r6, #0x10 + asrs r2, r0, #0x10 + subs r1, r2, #2 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r1 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + subs r5, r5, r0 + ldr r0, _08014C2C @ =0x00000B21 + cmp r5, r0 + bgt _08014C34 + ldr r2, _08014C30 @ =0xFFFFF5D8 + adds r4, r5, r2 + lsls r0, r4, #0xb + movs r1, #0x96 + lsls r1, r1, #2 + bl __divsi3 + movs r3, #0x90 + lsls r3, r3, #7 + adds r1, r3, #0 + subs r1, r1, r0 + lsls r1, r1, #0x10 + lsrs r6, r1, #0x10 + lsls r4, r4, #7 + movs r1, #0x96 + lsls r1, r1, #1 + adds r0, r4, #0 + bl __divsi3 + adds r7, r0, #0 + adds r7, #0x78 + b _08014C68 + .align 2, 0 _08014C20: .4byte 0x020314E0 _08014C24: .4byte 0x000013C1 _08014C28: .4byte 0x000013C4 _08014C2C: .4byte 0x00000B21 _08014C30: .4byte 0xFFFFF5D8 _08014C34: - ldr r0, _08014D14 @ =0x086ACE2C - lsls r1, r2, #2 - adds r6, r1, r0 - adds r0, #2 - adds r1, r1, r0 - ldrh r0, [r1] - ldr r1, _08014D18 @ =0xFFFFF5D8 - adds r4, r5, r1 - muls r0, r4, r0 - ldr r5, _08014D1C @ =0x00001518 - adds r1, r5, #0 - bl __divsi3 - ldrh r1, [r6] - subs r1, r1, r0 - lsls r1, r1, #0x10 - lsrs r6, r1, #0x10 - movs r0, #0xae - lsls r0, r0, #1 - muls r0, r4, r0 - adds r1, r5, #0 - bl __divsi3 - movs r2, #0xcb - lsls r2, r2, #1 - adds r7, r0, r2 + ldr r0, _08014D14 @ =0x086ACE2C + lsls r1, r2, #2 + adds r6, r1, r0 + adds r0, #2 + adds r1, r1, r0 + ldrh r0, [r1] + ldr r1, _08014D18 @ =0xFFFFF5D8 + adds r4, r5, r1 + muls r0, r4, r0 + ldr r5, _08014D1C @ =0x00001518 + adds r1, r5, #0 + bl __divsi3 + ldrh r1, [r6] + subs r1, r1, r0 + lsls r1, r1, #0x10 + lsrs r6, r1, #0x10 + movs r0, #0xae + lsls r0, r0, #1 + muls r0, r4, r0 + adds r1, r5, #0 + bl __divsi3 + movs r2, #0xcb + lsls r2, r2, #1 + adds r7, r0, r2 _08014C68: - mov r3, sl - lsls r0, r3, #0x10 - mov sb, r0 - cmp r0, #0 - beq _08014C7E - movs r1, #0x80 - lsls r1, r1, #8 - adds r0, r1, #0 - subs r0, r0, r6 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 + mov r3, sl + lsls r0, r3, #0x10 + mov sb, r0 + cmp r0, #0 + beq _08014C7E + movs r1, #0x80 + lsls r1, r1, #8 + adds r0, r1, #0 + subs r0, r0, r6 + lsls r0, r0, #0x10 + lsrs r6, r0, #0x10 _08014C7E: - ldr r2, _08014D20 @ =0x020314E0 - mov sl, r2 - ldr r0, [r2] - ldr r3, _08014D24 @ =0x0000132C - adds r0, r0, r3 - ldr r2, [r0] - movs r0, #0x30 - ldrsh r1, [r2, r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #9 - rsbs r0, r0, #0 - cmp r0, #0 - bge _08014C9C - adds r0, #0x7f + ldr r2, _08014D20 @ =0x020314E0 + mov sl, r2 + ldr r0, [r2] + ldr r3, _08014D24 @ =0x0000132C + adds r0, r0, r3 + ldr r2, [r0] + movs r0, #0x30 + ldrsh r1, [r2, r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #9 + rsbs r0, r0, #0 + cmp r0, #0 + bge _08014C9C + adds r0, #0x7f _08014C9C: - asrs r3, r0, #7 - movs r0, #8 - ldrsh r1, [r2, r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #7 - rsbs r0, r0, #0 - cmp r0, #0 - bge _08014CB0 - adds r0, #0xff + asrs r3, r0, #7 + movs r0, #8 + ldrsh r1, [r2, r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #7 + rsbs r0, r0, #0 + cmp r0, #0 + bge _08014CB0 + adds r0, #0xff _08014CB0: - asrs r0, r0, #8 - adds r0, r3, r0 - adds r0, r6, r0 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - adds r0, r6, #0 - bl sub_C74 - mov r1, sl - ldr r4, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r5, _08014D28 @ =0x00004E20 - adds r1, r5, #0 - bl __divsi3 - adds r4, #0x60 - strh r0, [r4] - adds r0, r6, #0 - bl sub_C24 - mov r2, sl - ldr r4, [r2] - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r5, #0 - bl __divsi3 - adds r4, #0x62 - strh r0, [r4] + asrs r0, r0, #8 + adds r0, r3, r0 + adds r0, r6, r0 + lsls r0, r0, #0x10 + lsrs r6, r0, #0x10 + adds r0, r6, #0 + bl sub_C74 + mov r1, sl + ldr r4, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r5, _08014D28 @ =0x00004E20 + adds r1, r5, #0 + bl __divsi3 + adds r4, #0x60 + strh r0, [r4] + adds r0, r6, #0 + bl sub_C24 + mov r2, sl + ldr r4, [r2] + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r5, #0 + bl __divsi3 + adds r4, #0x62 + strh r0, [r4] _08014CF2: - ldr r2, _08014D20 @ =0x020314E0 - ldr r3, [r2] - adds r1, r3, #0 - adds r1, #0x5c - movs r0, #1 - strh r0, [r1] - mov r6, sb - cmp r6, #0 - beq _08014D2C - adds r0, r3, #0 - adds r0, #0x60 - ldrh r0, [r0] - rsbs r0, r0, #0 - mov r1, r8 - strh r0, [r1] - b _08014D36 - .align 2, 0 + ldr r2, _08014D20 @ =0x020314E0 + ldr r3, [r2] + adds r1, r3, #0 + adds r1, #0x5c + movs r0, #1 + strh r0, [r1] + mov r6, sb + cmp r6, #0 + beq _08014D2C + adds r0, r3, #0 + adds r0, #0x60 + ldrh r0, [r0] + rsbs r0, r0, #0 + mov r1, r8 + strh r0, [r1] + b _08014D36 + .align 2, 0 _08014D14: .4byte 0x086ACE2C _08014D18: .4byte 0xFFFFF5D8 _08014D1C: .4byte 0x00001518 @@ -40888,243 +40888,243 @@ _08014D20: .4byte 0x020314E0 _08014D24: .4byte 0x0000132C _08014D28: .4byte 0x00004E20 _08014D2C: - adds r0, r3, #0 - adds r0, #0x60 - ldrh r0, [r0] - mov r3, r8 - strh r0, [r3] + adds r0, r3, #0 + adds r0, #0x60 + ldrh r0, [r0] + mov r3, r8 + strh r0, [r3] _08014D36: - ldr r0, [r2] - adds r0, #0x62 - ldrh r0, [r0] - b _08014DEA + ldr r0, [r2] + adds r0, #0x62 + ldrh r0, [r0] + b _08014DEA _08014D3E: - adds r0, r5, #0 - movs r1, #0x14 - bl __divsi3 - adds r5, r0, #0 - adds r0, r7, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r5, r0 - ldr r6, _08014DFC @ =0x00004E20 - adds r1, r6, #0 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08014E00 @ =0xFFFF0000 - ands r4, r1 - orrs r4, r0 - adds r0, r7, #0 - bl sub_C24 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r5, r0 - rsbs r0, r0, #0 - adds r1, r6, #0 - bl __divsi3 - lsls r0, r0, #0x10 - ldr r1, _08014E04 @ =0x0000FFFF - ands r4, r1 - orrs r4, r0 - mov r0, r8 - movs r2, #0 - ldrsh r1, [r0, r2] - lsls r0, r1, #1 - adds r0, r0, r1 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - adds r0, r4, r0 - mov r3, r8 - strh r0, [r3] - asrs r1, r4, #0x10 - movs r0, #2 - ldrsh r2, [r3, r0] - lsls r0, r2, #1 - adds r0, r0, r2 - lsrs r2, r0, #0x1f - adds r0, r0, r2 - asrs r0, r0, #1 - adds r1, r1, r0 - strh r1, [r3, #2] - movs r2, #0 - ldrsh r0, [r3, r2] - rsbs r1, r1, #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 - muls r0, r5, r0 - adds r1, r6, #0 - bl __divsi3 - mov r3, r8 - strh r0, [r3] - adds r0, r4, #0 - bl sub_C24 - rsbs r5, r5, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r5, r0 - adds r1, r6, #0 - bl __divsi3 + adds r0, r5, #0 + movs r1, #0x14 + bl __divsi3 + adds r5, r0, #0 + adds r0, r7, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r5, r0 + ldr r6, _08014DFC @ =0x00004E20 + adds r1, r6, #0 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08014E00 @ =0xFFFF0000 + ands r4, r1 + orrs r4, r0 + adds r0, r7, #0 + bl sub_C24 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r5, r0 + rsbs r0, r0, #0 + adds r1, r6, #0 + bl __divsi3 + lsls r0, r0, #0x10 + ldr r1, _08014E04 @ =0x0000FFFF + ands r4, r1 + orrs r4, r0 + mov r0, r8 + movs r2, #0 + ldrsh r1, [r0, r2] + lsls r0, r1, #1 + adds r0, r0, r1 + lsrs r1, r0, #0x1f + adds r0, r0, r1 + asrs r0, r0, #1 + adds r0, r4, r0 + mov r3, r8 + strh r0, [r3] + asrs r1, r4, #0x10 + movs r0, #2 + ldrsh r2, [r3, r0] + lsls r0, r2, #1 + adds r0, r0, r2 + lsrs r2, r0, #0x1f + adds r0, r0, r2 + asrs r0, r0, #1 + adds r1, r1, r0 + strh r1, [r3, #2] + movs r2, #0 + ldrsh r0, [r3, r2] + rsbs r1, r1, #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 + muls r0, r5, r0 + adds r1, r6, #0 + bl __divsi3 + mov r3, r8 + strh r0, [r3] + adds r0, r4, #0 + bl sub_C24 + rsbs r5, r5, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r5, r0 + adds r1, r6, #0 + bl __divsi3 _08014DEA: - mov r6, r8 - strh r0, [r6, #2] - 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 + mov r6, r8 + strh r0, [r6, #2] + 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 _08014DFC: .4byte 0x00004E20 _08014E00: .4byte 0xFFFF0000 _08014E04: .4byte 0x0000FFFF - thumb_func_start sub_14E08 + thumb_func_start sub_14E08 sub_14E08: @ 0x08014E08 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - mov sb, r0 - mov r8, r1 - add r2, sp, #4 - movs r1, #0 - strh r1, [r2] - ldr r0, _08014F0C @ =0x020314E0 - ldr r0, [r0] - mov sl, r0 - ldr r0, _08014F10 @ =0x0000132C - add r0, sl - ldr r0, [r0] - strh r1, [r0, #4] - mov r0, sb - movs r1, #0 - ldrsh r4, [r0, r1] - adds r0, r4, #0 - cmp r4, #0 - bge _08014E3A - adds r0, r4, #7 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + mov sb, r0 + mov r8, r1 + add r2, sp, #4 + movs r1, #0 + strh r1, [r2] + ldr r0, _08014F0C @ =0x020314E0 + ldr r0, [r0] + mov sl, r0 + ldr r0, _08014F10 @ =0x0000132C + add r0, sl + ldr r0, [r0] + strh r1, [r0, #4] + mov r0, sb + movs r1, #0 + ldrsh r4, [r0, r1] + adds r0, r4, #0 + cmp r4, #0 + bge _08014E3A + adds r0, r4, #7 _08014E3A: - asrs r1, r0, #3 - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - ldr r2, _08014F14 @ =0xFFFF0000 - mov ip, r2 - ands r5, r2 - orrs r5, r0 - mov r7, sb - movs r0, #2 - ldrsh r3, [r7, r0] - adds r0, r3, #0 - cmp r3, #0 - bge _08014E56 - adds r0, r3, #7 + asrs r1, r0, #3 + lsls r0, r1, #0x10 + lsrs r0, r0, #0x10 + ldr r2, _08014F14 @ =0xFFFF0000 + mov ip, r2 + ands r5, r2 + orrs r5, r0 + mov r7, sb + movs r0, #2 + ldrsh r3, [r7, r0] + adds r0, r3, #0 + cmp r3, #0 + bge _08014E56 + adds r0, r3, #7 _08014E56: - asrs r0, r0, #3 - lsls r2, r0, #0x10 - ldr r7, _08014F18 @ =0x0000FFFF - ands r5, r7 - lsls r1, r1, #3 - subs r1, r4, r1 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov r4, ip - ands r6, r4 - orrs r6, r1 - lsls r0, r0, #3 - subs r0, r3, r0 - lsls r0, r0, #0x10 - ands r6, r7 - orrs r6, r0 - orrs r5, r2 - asrs r4, r2, #0x10 - adds r2, r4, #0 - cmp r4, #0 - bge _08014E82 - adds r2, #0x3f + asrs r0, r0, #3 + lsls r2, r0, #0x10 + ldr r7, _08014F18 @ =0x0000FFFF + ands r5, r7 + lsls r1, r1, #3 + subs r1, r4, r1 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + mov r4, ip + ands r6, r4 + orrs r6, r1 + lsls r0, r0, #3 + subs r0, r3, r0 + lsls r0, r0, #0x10 + ands r6, r7 + orrs r6, r0 + orrs r5, r2 + asrs r4, r2, #0x10 + adds r2, r4, #0 + cmp r4, #0 + bge _08014E82 + adds r2, #0x3f _08014E82: - asrs r2, r2, #6 - mov r0, sl - adds r0, #0x24 - movs r3, #0 - ldrsb r3, [r0, r3] - lsls r1, r2, #6 - subs r1, r4, r1 - lsls r1, r1, #0x10 - ands r5, r7 - ldr r7, _08014F1C @ =0x02031520 - mov ip, r7 - adds r3, r3, r2 - lsls r3, r3, #2 - mov r2, ip - adds r2, #0x38 - adds r2, r3, r2 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - asrs r1, r1, #0xa - adds r1, r1, r0 - ldr r0, [r2] - lsls r1, r1, #1 - adds r1, r1, r0 - mov r4, ip - adds r4, #0x48 - adds r4, r3, r4 - movs r0, #0 - ldrsh r2, [r1, r0] - asrs r1, r6, #0x10 - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - lsls r1, r1, #3 - lsls r2, r2, #6 - adds r1, r1, r2 - adds r1, r1, r0 - ldr r2, [r4] - lsls r0, r1, #1 - adds r0, r0, r2 - ldrh r2, [r0] - mov r0, sp - strh r2, [r0] - mov r0, ip - adds r0, #0x58 - adds r3, r3, r0 - ldr r0, [r3] - adds r0, r0, r1 - ldrb r0, [r0] - mov r4, sp - adds r4, #2 - strb r0, [r4] - mov r0, sb - mov r1, sp - adds r2, r4, #0 - bl sub_15054 - ldrb r0, [r4] - movs r3, #0xf - ands r3, r0 - lsrs r6, r0, #4 - subs r0, r3, #1 - cmp r0, #5 - bls _08014F00 - b _0801502C + asrs r2, r2, #6 + mov r0, sl + adds r0, #0x24 + movs r3, #0 + ldrsb r3, [r0, r3] + lsls r1, r2, #6 + subs r1, r4, r1 + lsls r1, r1, #0x10 + ands r5, r7 + ldr r7, _08014F1C @ =0x02031520 + mov ip, r7 + adds r3, r3, r2 + lsls r3, r3, #2 + mov r2, ip + adds r2, #0x38 + adds r2, r3, r2 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + asrs r1, r1, #0xa + adds r1, r1, r0 + ldr r0, [r2] + lsls r1, r1, #1 + adds r1, r1, r0 + mov r4, ip + adds r4, #0x48 + adds r4, r3, r4 + movs r0, #0 + ldrsh r2, [r1, r0] + asrs r1, r6, #0x10 + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + lsls r1, r1, #3 + lsls r2, r2, #6 + adds r1, r1, r2 + adds r1, r1, r0 + ldr r2, [r4] + lsls r0, r1, #1 + adds r0, r0, r2 + ldrh r2, [r0] + mov r0, sp + strh r2, [r0] + mov r0, ip + adds r0, #0x58 + adds r3, r3, r0 + ldr r0, [r3] + adds r0, r0, r1 + ldrb r0, [r0] + mov r4, sp + adds r4, #2 + strb r0, [r4] + mov r0, sb + mov r1, sp + adds r2, r4, #0 + bl sub_15054 + ldrb r0, [r4] + movs r3, #0xf + ands r3, r0 + lsrs r6, r0, #4 + subs r0, r3, #1 + cmp r0, #5 + bls _08014F00 + b _0801502C _08014F00: - lsls r0, r0, #2 - ldr r1, _08014F20 @ =_08014F24 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08014F20 @ =_08014F24 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08014F0C: .4byte 0x020314E0 _08014F10: .4byte 0x0000132C _08014F14: .4byte 0xFFFF0000 @@ -41132,268 +41132,268 @@ _08014F18: .4byte 0x0000FFFF _08014F1C: .4byte 0x02031520 _08014F20: .4byte _08014F24 _08014F24: @ jump table - .4byte _08014F3C @ case 0 - .4byte _08014FE8 @ case 1 - .4byte _08014FE8 @ case 2 - .4byte _08014F3C @ case 3 - .4byte _08015018 @ case 4 - .4byte _08014F3C @ case 5 + .4byte _08014F3C @ case 0 + .4byte _08014FE8 @ case 1 + .4byte _08014FE8 @ case 2 + .4byte _08014F3C @ case 3 + .4byte _08015018 @ case 4 + .4byte _08014F3C @ case 5 _08014F3C: - ldr r2, _08014FB4 @ =0x020314E0 - ldr r0, [r2] - subs r1, r3, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r5, #1 - strb r5, [r0] - mov r0, sp - ldrh r0, [r0] - mov r1, r8 - strh r0, [r1] - ldr r4, _08014FB8 @ =0xFFFFC010 - adds r0, r0, r4 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x20 - bhi _08014FDC - ldr r0, [r2] - ldr r7, _08014FBC @ =0x0000132C - adds r3, r0, r7 - ldr r2, [r3] - movs r0, #0x10 - ldrsh r1, [r2, r0] - ldr r4, _08014FC0 @ =0x02031520 - movs r7, #0x26 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - blt _08014F88 - movs r0, #0x12 - ldrsh r1, [r2, r0] - movs r7, #0x28 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - bge _08014FDC + ldr r2, _08014FB4 @ =0x020314E0 + ldr r0, [r2] + subs r1, r3, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r5, #1 + strb r5, [r0] + mov r0, sp + ldrh r0, [r0] + mov r1, r8 + strh r0, [r1] + ldr r4, _08014FB8 @ =0xFFFFC010 + adds r0, r0, r4 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x20 + bhi _08014FDC + ldr r0, [r2] + ldr r7, _08014FBC @ =0x0000132C + adds r3, r0, r7 + ldr r2, [r3] + movs r0, #0x10 + ldrsh r1, [r2, r0] + ldr r4, _08014FC0 @ =0x02031520 + movs r7, #0x26 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + blt _08014F88 + movs r0, #0x12 + ldrsh r1, [r2, r0] + movs r7, #0x28 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + bge _08014FDC _08014F88: - movs r1, #6 - ldrsh r0, [r2, r1] - cmp r0, #0 - bgt _08014FA6 - cmp r0, #0 - bne _08014FD2 - ldr r0, _08014FC4 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - ands r0, r5 - cmp r0, #0 - beq _08014FC8 - movs r0, #0x28 - strh r0, [r2, #4] - ldr r0, [r3] - strh r5, [r0, #6] + movs r1, #6 + ldrsh r0, [r2, r1] + cmp r0, #0 + bgt _08014FA6 + cmp r0, #0 + bne _08014FD2 + ldr r0, _08014FC4 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + ands r0, r5 + cmp r0, #0 + beq _08014FC8 + movs r0, #0x28 + strh r0, [r2, #4] + ldr r0, [r3] + strh r5, [r0, #6] _08014FA6: - movs r2, #0xf8 - lsls r2, r2, #6 - adds r0, r2, #0 - mov r4, r8 - strh r0, [r4] - b _08014FDC - .align 2, 0 + movs r2, #0xf8 + lsls r2, r2, #6 + adds r0, r2, #0 + mov r4, r8 + strh r0, [r4] + b _08014FDC + .align 2, 0 _08014FB4: .4byte 0x020314E0 _08014FB8: .4byte 0xFFFFC010 _08014FBC: .4byte 0x0000132C _08014FC0: .4byte 0x02031520 _08014FC4: .4byte 0x0200B0C0 _08014FC8: - ldr r0, _08014FE4 @ =0x0000FFD8 - strh r0, [r2, #4] - ldr r1, [r3] - adds r0, #0x27 - strh r0, [r1, #6] + ldr r0, _08014FE4 @ =0x0000FFD8 + strh r0, [r2, #4] + ldr r1, [r3] + adds r0, #0x27 + strh r0, [r1, #6] _08014FD2: - movs r7, #0x82 - lsls r7, r7, #7 - adds r0, r7, #0 - mov r1, r8 - strh r0, [r1] + movs r7, #0x82 + lsls r7, r7, #7 + adds r0, r7, #0 + mov r1, r8 + strh r0, [r1] _08014FDC: - movs r0, #1 - mov r2, sp - strh r0, [r2, #4] - b _0801502C - .align 2, 0 + movs r0, #1 + mov r2, sp + strh r0, [r2, #4] + b _0801502C + .align 2, 0 _08014FE4: .4byte 0x0000FFD8 _08014FE8: - ldr r2, _08015010 @ =0x020314E0 - ldr r0, [r2] - subs r1, r3, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r1, #2 - strb r1, [r0] - mov r0, sp - ldrh r1, [r0] - ldr r0, _08015014 @ =0x0000FFF0 - ands r0, r1 - mov r4, r8 - strh r0, [r4] - movs r0, #1 - mov r7, sp - strh r0, [r7, #4] - b _0801502C - .align 2, 0 + ldr r2, _08015010 @ =0x020314E0 + ldr r0, [r2] + subs r1, r3, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r1, #2 + strb r1, [r0] + mov r0, sp + ldrh r1, [r0] + ldr r0, _08015014 @ =0x0000FFF0 + ands r0, r1 + mov r4, r8 + strh r0, [r4] + movs r0, #1 + mov r7, sp + strh r0, [r7, #4] + b _0801502C + .align 2, 0 _08015010: .4byte 0x020314E0 _08015014: .4byte 0x0000FFF0 _08015018: - ldr r2, _0801504C @ =0x020314E0 - ldr r0, [r2] - ldr r1, _08015050 @ =0x000002A2 - adds r0, r0, r1 - movs r1, #2 - strb r1, [r0] - ldr r1, [r2] - movs r0, #1 - strb r0, [r1, #0x1f] - movs r6, #0 + ldr r2, _0801504C @ =0x020314E0 + ldr r0, [r2] + ldr r1, _08015050 @ =0x000002A2 + adds r0, r0, r1 + movs r1, #2 + strb r1, [r0] + ldr r1, [r2] + movs r0, #1 + strb r0, [r1, #0x1f] + movs r6, #0 _0801502C: - adds r0, r6, #0 - add r1, sp, #4 - mov r2, r8 - bl sub_153CC - mov r2, sp - movs r4, #4 - ldrsh r0, [r2, r4] - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - .align 2, 0 + adds r0, r6, #0 + add r1, sp, #4 + mov r2, r8 + bl sub_153CC + mov r2, sp + movs r4, #4 + ldrsh r0, [r2, r4] + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + .align 2, 0 _0801504C: .4byte 0x020314E0 _08015050: .4byte 0x000002A2 - thumb_func_start sub_15054 + thumb_func_start sub_15054 sub_15054: @ 0x08015054 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - adds r4, r0, #0 - str r1, [sp] - mov ip, r2 - movs r7, #0 - movs r5, #0 - movs r0, #0 - str r0, [sp, #4] - ldr r0, _08015128 @ =0x020314E0 - ldr r2, [r0] - ldr r3, _0801512C @ =0x000005B2 - adds r1, r2, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - mov r8, r0 - cmp r1, #0 - beq _08015084 - b _08015298 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + adds r4, r0, #0 + str r1, [sp] + mov ip, r2 + movs r7, #0 + movs r5, #0 + movs r0, #0 + str r0, [sp, #4] + ldr r0, _08015128 @ =0x020314E0 + ldr r2, [r0] + ldr r3, _0801512C @ =0x000005B2 + adds r1, r2, r3 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + mov r8, r0 + cmp r1, #0 + beq _08015084 + b _08015298 _08015084: - adds r0, r2, #0 - adds r0, #0x24 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08015094 - b _0801539A + adds r0, r2, #0 + adds r0, #0x24 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08015094 + b _0801539A _08015094: - movs r6, #0xa9 - lsls r6, r6, #2 - adds r0, r2, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08015146 - ldr r1, _08015130 @ =0x000002A3 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _080150B4 - b _0801539A + movs r6, #0xa9 + lsls r6, r6, #2 + adds r0, r2, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08015146 + ldr r1, _08015130 @ =0x000002A3 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _080150B4 + b _0801539A _080150B4: - movs r3, #0xc2 - lsls r3, r3, #1 - adds r0, r2, r3 - ldrh r1, [r0] - ldrh r6, [r4] - adds r1, r1, r6 - adds r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - ldrh r4, [r4, #2] - adds r0, r0, r4 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - lsls r5, r1, #0x10 - lsrs r0, r5, #0x10 - cmp r0, #0x4f - bls _080150D8 - b _0801539A + movs r3, #0xc2 + lsls r3, r3, #1 + adds r0, r2, r3 + ldrh r1, [r0] + ldrh r6, [r4] + adds r1, r1, r6 + adds r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + ldrh r4, [r4, #2] + adds r0, r0, r4 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + lsls r5, r1, #0x10 + lsrs r0, r5, #0x10 + cmp r0, #0x4f + bls _080150D8 + b _0801539A _080150D8: - lsls r1, r4, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x57 - bls _080150E2 - b _0801539A + lsls r1, r4, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x57 + bls _080150E2 + b _0801539A _080150E2: - ldr r2, _08015134 @ =0x08259C10 - asrs r1, r1, #0x10 - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #4 - asrs r1, r5, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r7, _08015138 @ =0x0000FFF0 - ands r7, r0 - movs r5, #0xf - ands r5, r0 - cmp r5, #0 - bne _08015104 - b _0801539A + ldr r2, _08015134 @ =0x08259C10 + asrs r1, r1, #0x10 + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #4 + asrs r1, r5, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r7, _08015138 @ =0x0000FFF0 + ands r7, r0 + movs r5, #0xf + ands r5, r0 + cmp r5, #0 + bne _08015104 + b _0801539A _08015104: - ldr r6, [sp] - strh r7, [r6] - mov r1, r8 - ldr r0, [r1] - ldr r2, _0801513C @ =0x000002A2 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bgt _08015140 - mov r3, ip - strb r5, [r3] - ldr r0, [r1] - adds r0, r0, r2 - movs r1, #7 - strb r1, [r0] - b _0801539A - .align 2, 0 + ldr r6, [sp] + strh r7, [r6] + mov r1, r8 + ldr r0, [r1] + ldr r2, _0801513C @ =0x000002A2 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bgt _08015140 + mov r3, ip + strb r5, [r3] + ldr r0, [r1] + adds r0, r0, r2 + movs r1, #7 + strb r1, [r0] + b _0801539A + .align 2, 0 _08015128: .4byte 0x020314E0 _0801512C: .4byte 0x000005B2 _08015130: .4byte 0x000002A3 @@ -41401,327 +41401,327 @@ _08015134: .4byte 0x08259C10 _08015138: .4byte 0x0000FFF0 _0801513C: .4byte 0x000002A2 _08015140: - movs r0, #1 - mov r6, ip - b _08015398 + movs r0, #1 + mov r6, ip + b _08015398 _08015146: - mov r0, ip - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _08015154 - b _0801539A + mov r0, ip + ldrb r1, [r0] + movs r0, #0xf + ands r0, r1 + cmp r0, #0 + beq _08015154 + b _0801539A _08015154: - movs r1, #0xc2 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrh r3, [r4] - ldrh r1, [r0] - adds r1, r3, r1 - movs r6, #0xc3 - lsls r6, r6, #1 - adds r0, r2, r6 - ldrh r2, [r4, #2] - ldrh r0, [r0] - adds r0, r2, r0 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - lsls r6, r1, #0x10 - lsrs r0, r6, #0x10 - mov sb, r3 - mov sl, r2 - cmp r0, #0x3f - bhi _080151A2 - lsls r1, r4, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x3f - bhi _080151A2 - ldr r2, _08015288 @ =0x08252B10 - asrs r0, r1, #0xa - asrs r1, r6, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r7, _0801528C @ =0x0000FFF0 - ands r7, r0 - movs r5, #0xf - ands r5, r0 - cmp r5, #0 - beq _080151A6 - movs r0, #0 - str r0, [sp, #4] + movs r1, #0xc2 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrh r3, [r4] + ldrh r1, [r0] + adds r1, r3, r1 + movs r6, #0xc3 + lsls r6, r6, #1 + adds r0, r2, r6 + ldrh r2, [r4, #2] + ldrh r0, [r0] + adds r0, r2, r0 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + lsls r6, r1, #0x10 + lsrs r0, r6, #0x10 + mov sb, r3 + mov sl, r2 + cmp r0, #0x3f + bhi _080151A2 + lsls r1, r4, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x3f + bhi _080151A2 + ldr r2, _08015288 @ =0x08252B10 + asrs r0, r1, #0xa + asrs r1, r6, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r7, _0801528C @ =0x0000FFF0 + ands r7, r0 + movs r5, #0xf + ands r5, r0 + cmp r5, #0 + beq _080151A6 + movs r0, #0 + str r0, [sp, #4] _080151A2: - cmp r5, #0 - bne _08015246 + cmp r5, #0 + bne _08015246 _080151A6: - mov r1, r8 - ldr r2, [r1] - movs r3, #0xc4 - lsls r3, r3, #1 - adds r0, r2, r3 - ldrh r1, [r0] - add r1, sb - movs r6, #0xc5 - lsls r6, r6, #1 - adds r0, r2, r6 - ldrh r0, [r0] - add r0, sl - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - lsls r3, r1, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x3f - bhi _080151F0 - lsls r1, r4, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x3f - bhi _080151F0 - ldr r2, _08015288 @ =0x08252B10 - asrs r0, r1, #0xa - asrs r1, r3, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r7, _0801528C @ =0x0000FFF0 - ands r7, r0 - movs r5, #0xf - ands r5, r0 - cmp r5, #0 - beq _080151F4 - movs r0, #1 - str r0, [sp, #4] + mov r1, r8 + ldr r2, [r1] + movs r3, #0xc4 + lsls r3, r3, #1 + adds r0, r2, r3 + ldrh r1, [r0] + add r1, sb + movs r6, #0xc5 + lsls r6, r6, #1 + adds r0, r2, r6 + ldrh r0, [r0] + add r0, sl + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + lsls r3, r1, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x3f + bhi _080151F0 + lsls r1, r4, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x3f + bhi _080151F0 + ldr r2, _08015288 @ =0x08252B10 + asrs r0, r1, #0xa + asrs r1, r3, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r7, _0801528C @ =0x0000FFF0 + ands r7, r0 + movs r5, #0xf + ands r5, r0 + cmp r5, #0 + beq _080151F4 + movs r0, #1 + str r0, [sp, #4] _080151F0: - cmp r5, #0 - bne _08015246 + cmp r5, #0 + bne _08015246 _080151F4: - mov r1, r8 - ldr r2, [r1] - movs r3, #0xc6 - lsls r3, r3, #1 - adds r0, r2, r3 - ldrh r1, [r0] - add r1, sb - movs r6, #0xc7 - lsls r6, r6, #1 - adds r0, r2, r6 - ldrh r0, [r0] - add r0, sl - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - lsls r3, r1, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x3f - bhi _08015240 - lsls r1, r4, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x3f - bhi _08015240 - ldr r2, _08015288 @ =0x08252B10 - asrs r0, r1, #0xa - asrs r1, r3, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r7, _0801528C @ =0x0000FFF0 - ands r7, r0 - movs r5, #0xf - ands r5, r0 - cmp r5, #0 - bne _0801523C - b _0801539A + mov r1, r8 + ldr r2, [r1] + movs r3, #0xc6 + lsls r3, r3, #1 + adds r0, r2, r3 + ldrh r1, [r0] + add r1, sb + movs r6, #0xc7 + lsls r6, r6, #1 + adds r0, r2, r6 + ldrh r0, [r0] + add r0, sl + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + lsls r3, r1, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x3f + bhi _08015240 + lsls r1, r4, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x3f + bhi _08015240 + ldr r2, _08015288 @ =0x08252B10 + asrs r0, r1, #0xa + asrs r1, r3, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r7, _0801528C @ =0x0000FFF0 + ands r7, r0 + movs r5, #0xf + ands r5, r0 + cmp r5, #0 + bne _0801523C + b _0801539A _0801523C: - movs r0, #2 - str r0, [sp, #4] + movs r0, #2 + str r0, [sp, #4] _08015240: - cmp r5, #0 - bne _08015246 - b _0801539A + cmp r5, #0 + bne _08015246 + b _0801539A _08015246: - mov r2, r8 - ldr r1, [r2] - ldr r3, _08015290 @ =0x0000016F - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08015266 - movs r6, #0xb8 - lsls r6, r6, #1 - adds r0, r1, r6 - ldr r1, [sp, #4] - adds r0, r0, r1 - movs r1, #0x6b - strb r1, [r0] + mov r2, r8 + ldr r1, [r2] + ldr r3, _08015290 @ =0x0000016F + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08015266 + movs r6, #0xb8 + lsls r6, r6, #1 + adds r0, r1, r6 + ldr r1, [sp, #4] + adds r0, r0, r1 + movs r1, #0x6b + strb r1, [r0] _08015266: - ldr r2, [sp] - strh r7, [r2] - mov r3, ip - strb r5, [r3] - mov r6, r8 - ldr r0, [r6] - ldr r2, _08015294 @ =0x00000624 - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - ble _08015280 - b _0801539A + ldr r2, [sp] + strh r7, [r2] + mov r3, ip + strb r5, [r3] + mov r6, r8 + ldr r0, [r6] + ldr r2, _08015294 @ =0x00000624 + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + ble _08015280 + b _0801539A _08015280: - movs r0, #2 - strb r0, [r1] - b _0801539A - .align 2, 0 + movs r0, #2 + strb r0, [r1] + b _0801539A + .align 2, 0 _08015288: .4byte 0x08252B10 _0801528C: .4byte 0x0000FFF0 _08015290: .4byte 0x0000016F _08015294: .4byte 0x00000624 _08015298: - mov r3, ip - ldrb r1, [r3] - movs r5, #0xf - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - bne _0801539A - ldr r6, _080153AC @ =0x000002E5 - adds r0, r2, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _08015320 - movs r1, #0xbb - lsls r1, r1, #2 - adds r0, r2, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r1, #0x18 - rsbs r1, r1, #0 - subs r1, r1, r0 - lsls r1, r1, #1 - ldrh r3, [r4] - adds r1, r1, r3 - ldr r6, _080153B0 @ =0xFFFFFDBC - adds r0, r6, #0 - ldrh r2, [r4, #2] - adds r0, r0, r2 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - lsls r3, r1, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x47 - bhi _08015320 - lsls r1, r2, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x47 - bhi _08015320 - ldr r2, _080153B4 @ =0x08254B10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #3 - asrs r1, r3, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r1, [r0] - ldr r0, _080153B8 @ =0x0000FFF0 - ands r0, r1 - ldr r3, [sp] - strh r0, [r3] - adds r0, r5, #0 - ands r0, r1 - mov r6, ip - strb r0, [r6] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08015320 - mov r2, r8 - ldr r0, [r2] - ldr r3, _080153BC @ =0x000002E2 - adds r0, r0, r3 - strb r1, [r0] - movs r0, #6 - strb r0, [r6] + mov r3, ip + ldrb r1, [r3] + movs r5, #0xf + adds r0, r5, #0 + ands r0, r1 + cmp r0, #0 + bne _0801539A + ldr r6, _080153AC @ =0x000002E5 + adds r0, r2, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _08015320 + movs r1, #0xbb + lsls r1, r1, #2 + adds r0, r2, r1 + movs r2, #0 + ldrsh r0, [r0, r2] + movs r1, #0x18 + rsbs r1, r1, #0 + subs r1, r1, r0 + lsls r1, r1, #1 + ldrh r3, [r4] + adds r1, r1, r3 + ldr r6, _080153B0 @ =0xFFFFFDBC + adds r0, r6, #0 + ldrh r2, [r4, #2] + adds r0, r0, r2 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + lsls r3, r1, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x47 + bhi _08015320 + lsls r1, r2, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x47 + bhi _08015320 + ldr r2, _080153B4 @ =0x08254B10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #3 + asrs r1, r3, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r1, [r0] + ldr r0, _080153B8 @ =0x0000FFF0 + ands r0, r1 + ldr r3, [sp] + strh r0, [r3] + adds r0, r5, #0 + ands r0, r1 + mov r6, ip + strb r0, [r6] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + beq _08015320 + mov r2, r8 + ldr r0, [r2] + ldr r3, _080153BC @ =0x000002E2 + adds r0, r0, r3 + strb r1, [r0] + movs r0, #6 + strb r0, [r6] _08015320: - mov r6, r8 - ldr r1, [r6] - ldr r2, _080153C0 @ =0x000002E6 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _0801539A - ldr r3, _080153C4 @ =0x000002EE - adds r0, r1, r3 - movs r6, #0 - ldrsh r1, [r0, r6] - subs r1, #0xb4 - lsls r1, r1, #1 - ldrh r0, [r4] - adds r1, r1, r0 - ldr r2, _080153B0 @ =0xFFFFFDBC - adds r0, r2, #0 - ldrh r4, [r4, #2] - adds r0, r0, r4 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - lsls r5, r1, #0x10 - lsrs r0, r5, #0x10 - cmp r0, #0x47 - bhi _0801539A - lsls r1, r4, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x47 - bhi _0801539A - ldr r2, _080153C8 @ =0x08257390 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #3 - asrs r1, r5, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r1, [r0] - ldr r0, _080153B8 @ =0x0000FFF0 - ands r0, r1 - ldr r3, [sp] - strh r0, [r3] - movs r0, #0xf - ands r0, r1 - mov r6, ip - strb r0, [r6] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _0801539A - mov r1, r8 - ldr r0, [r1] - ldr r2, _080153BC @ =0x000002E2 - adds r0, r0, r2 - movs r1, #2 - strb r1, [r0] - movs r0, #6 + mov r6, r8 + ldr r1, [r6] + ldr r2, _080153C0 @ =0x000002E6 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _0801539A + ldr r3, _080153C4 @ =0x000002EE + adds r0, r1, r3 + movs r6, #0 + ldrsh r1, [r0, r6] + subs r1, #0xb4 + lsls r1, r1, #1 + ldrh r0, [r4] + adds r1, r1, r0 + ldr r2, _080153B0 @ =0xFFFFFDBC + adds r0, r2, #0 + ldrh r4, [r4, #2] + adds r0, r0, r4 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + lsls r5, r1, #0x10 + lsrs r0, r5, #0x10 + cmp r0, #0x47 + bhi _0801539A + lsls r1, r4, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x47 + bhi _0801539A + ldr r2, _080153C8 @ =0x08257390 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #3 + asrs r1, r5, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r1, [r0] + ldr r0, _080153B8 @ =0x0000FFF0 + ands r0, r1 + ldr r3, [sp] + strh r0, [r3] + movs r0, #0xf + ands r0, r1 + mov r6, ip + strb r0, [r6] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + beq _0801539A + mov r1, r8 + ldr r0, [r1] + ldr r2, _080153BC @ =0x000002E2 + adds r0, r0, r2 + movs r1, #2 + strb r1, [r0] + movs r0, #6 _08015398: - strb r0, [r6] + strb r0, [r6] _0801539A: - 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 + 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 _080153AC: .4byte 0x000002E5 _080153B0: .4byte 0xFFFFFDBC _080153B4: .4byte 0x08254B10 @@ -41731,425 +41731,425 @@ _080153C0: .4byte 0x000002E6 _080153C4: .4byte 0x000002EE _080153C8: .4byte 0x08257390 - thumb_func_start sub_153CC + thumb_func_start sub_153CC sub_153CC: @ 0x080153CC - push {r4, r5, r6, r7, lr} - adds r7, r1, #0 - adds r6, r2, #0 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - subs r0, #1 - cmp r0, #0xe - bls _080153E0 - bl _08016082 + push {r4, r5, r6, r7, lr} + adds r7, r1, #0 + adds r6, r2, #0 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + subs r0, #1 + cmp r0, #0xe + bls _080153E0 + bl _08016082 _080153E0: - lsls r0, r0, #2 - ldr r1, _080153EC @ =_080153F0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _080153EC @ =_080153F0 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080153EC: .4byte _080153F0 _080153F0: @ jump table - .4byte _0801542C @ case 0 - .4byte _08015494 @ case 1 - .4byte _080154E0 @ case 2 - .4byte _08015578 @ case 3 - .4byte _08015620 @ case 4 - .4byte _0801564C @ case 5 - .4byte _0801567C @ case 6 - .4byte _08015764 @ case 7 - .4byte _08015AA4 @ case 8 - .4byte _08015AF0 @ case 9 - .4byte _08015CA0 @ case 10 - .4byte _08015E4C @ case 11 - .4byte _08015EB4 @ case 12 - .4byte _08015F20 @ case 13 - .4byte _08015F8C @ case 14 + .4byte _0801542C @ case 0 + .4byte _08015494 @ case 1 + .4byte _080154E0 @ case 2 + .4byte _08015578 @ case 3 + .4byte _08015620 @ case 4 + .4byte _0801564C @ case 5 + .4byte _0801567C @ case 6 + .4byte _08015764 @ case 7 + .4byte _08015AA4 @ case 8 + .4byte _08015AF0 @ case 9 + .4byte _08015CA0 @ case 10 + .4byte _08015E4C @ case 11 + .4byte _08015EB4 @ case 12 + .4byte _08015F20 @ case 13 + .4byte _08015F8C @ case 14 _0801542C: - ldr r0, _0801545C @ =0x020314E0 - ldr r2, [r0] - ldrh r0, [r2, #0x26] - cmp r0, #0 - beq _0801543A - bl _08016082 + ldr r0, _0801545C @ =0x020314E0 + ldr r2, [r0] + ldrh r0, [r2, #0x26] + cmp r0, #0 + beq _0801543A + bl _08016082 _0801543A: - ldr r1, _08015460 @ =0x0000132C - adds r0, r2, r1 - ldr r3, [r0] - movs r4, #0x28 - ldrsh r1, [r3, r4] - ldr r0, _08015464 @ =0x00000167 - cmp r1, r0 - ble _08015470 - movs r1, #0x2a - ldrsh r0, [r3, r1] - cmp r0, #0xc7 - ble _08015468 - adds r1, r2, #0 - adds r1, #0x25 - movs r0, #1 - b _08015476 - .align 2, 0 + ldr r1, _08015460 @ =0x0000132C + adds r0, r2, r1 + ldr r3, [r0] + movs r4, #0x28 + ldrsh r1, [r3, r4] + ldr r0, _08015464 @ =0x00000167 + cmp r1, r0 + ble _08015470 + movs r1, #0x2a + ldrsh r0, [r3, r1] + cmp r0, #0xc7 + ble _08015468 + adds r1, r2, #0 + adds r1, #0x25 + movs r0, #1 + b _08015476 + .align 2, 0 _0801545C: .4byte 0x020314E0 _08015460: .4byte 0x0000132C _08015464: .4byte 0x00000167 _08015468: - adds r1, r2, #0 - adds r1, #0x25 - movs r0, #3 - b _08015476 + adds r1, r2, #0 + adds r1, #0x25 + movs r0, #3 + b _08015476 _08015470: - adds r1, r2, #0 - adds r1, #0x25 - movs r0, #2 + adds r1, r2, #0 + adds r1, #0x25 + movs r0, #2 _08015476: - strb r0, [r1] - bl sub_1A98C - ldr r0, _08015490 @ =0x020314E0 - ldr r0, [r0] - adds r0, #0x22 - movs r1, #7 - strb r1, [r0] - movs r0, #1 - strh r0, [r7] - bl _08016082 - .align 2, 0 + strb r0, [r1] + bl sub_1A98C + ldr r0, _08015490 @ =0x020314E0 + ldr r0, [r0] + adds r0, #0x22 + movs r1, #7 + strb r1, [r0] + movs r0, #1 + strh r0, [r7] + bl _08016082 + .align 2, 0 _08015490: .4byte 0x020314E0 _08015494: - ldr r3, _080154B8 @ =0x020314E0 - ldr r2, [r3] - adds r0, r2, #0 - adds r0, #0x24 - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #0 - bne _080154C0 - ldr r4, _080154BC @ =0x0000132C - adds r0, r2, r4 - ldr r0, [r0] - movs r1, #2 - strb r1, [r0, #1] - ldr r0, [r3] - adds r0, #0x24 - strb r1, [r0] - bl _08016082 - .align 2, 0 + ldr r3, _080154B8 @ =0x020314E0 + ldr r2, [r3] + adds r0, r2, #0 + adds r0, #0x24 + movs r1, #0 + ldrsb r1, [r0, r1] + cmp r1, #0 + bne _080154C0 + ldr r4, _080154BC @ =0x0000132C + adds r0, r2, r4 + ldr r0, [r0] + movs r1, #2 + strb r1, [r0, #1] + ldr r0, [r3] + adds r0, #0x24 + strb r1, [r0] + bl _08016082 + .align 2, 0 _080154B8: .4byte 0x020314E0 _080154BC: .4byte 0x0000132C _080154C0: - cmp r1, #2 - beq _080154C8 - bl _08016082 + cmp r1, #2 + beq _080154C8 + bl _08016082 _080154C8: - ldr r4, _080154DC @ =0x0000132C - adds r0, r2, r4 - ldr r0, [r0] - strb r1, [r0, #1] - ldr r0, [r3] - adds r0, #0x24 - movs r1, #3 - strb r1, [r0] - bl _08016082 - .align 2, 0 + ldr r4, _080154DC @ =0x0000132C + adds r0, r2, r4 + ldr r0, [r0] + strb r1, [r0, #1] + ldr r0, [r3] + adds r0, #0x24 + movs r1, #3 + strb r1, [r0] + bl _08016082 + .align 2, 0 _080154DC: .4byte 0x0000132C _080154E0: - ldr r1, _08015508 @ =0x020314E0 - ldr r2, [r1] - adds r0, r2, #0 - adds r0, #0x24 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r5, r1, #0 - cmp r0, #2 - bne _08015510 - ldr r1, _0801550C @ =0x0000132C - adds r0, r2, r1 - ldr r1, [r0] - movs r2, #0 - movs r0, #3 - strb r0, [r1, #1] - ldr r0, [r5] - adds r0, #0x24 - strb r2, [r0] - b _08015524 - .align 2, 0 + ldr r1, _08015508 @ =0x020314E0 + ldr r2, [r1] + adds r0, r2, #0 + adds r0, #0x24 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r5, r1, #0 + cmp r0, #2 + bne _08015510 + ldr r1, _0801550C @ =0x0000132C + adds r0, r2, r1 + ldr r1, [r0] + movs r2, #0 + movs r0, #3 + strb r0, [r1, #1] + ldr r0, [r5] + adds r0, #0x24 + strb r2, [r0] + b _08015524 + .align 2, 0 _08015508: .4byte 0x020314E0 _0801550C: .4byte 0x0000132C _08015510: - cmp r0, #3 - bne _08015524 - ldr r3, _0801556C @ =0x0000132C - adds r0, r2, r3 - ldr r0, [r0] - movs r1, #2 - strb r1, [r0, #1] - ldr r0, [r5] - adds r0, #0x24 - strb r1, [r0] + cmp r0, #3 + bne _08015524 + ldr r3, _0801556C @ =0x0000132C + adds r0, r2, r3 + ldr r0, [r0] + movs r1, #2 + strb r1, [r0, #1] + ldr r0, [r5] + adds r0, #0x24 + strb r1, [r0] _08015524: - ldr r0, [r5] - ldr r4, _08015570 @ =0x000002FB - adds r1, r0, r4 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #6 - bne _08015536 - movs r0, #7 - strb r0, [r1] + ldr r0, [r5] + ldr r4, _08015570 @ =0x000002FB + adds r1, r0, r4 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #6 + bne _08015536 + movs r0, #7 + strb r0, [r1] _08015536: - ldr r0, [r5] - movs r1, #0xbc - lsls r1, r1, #2 - adds r2, r0, r1 - ldrb r1, [r2] - movs r3, #0xf0 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _0801554E - movs r0, #0 - strb r0, [r2] + ldr r0, [r5] + movs r1, #0xbc + lsls r1, r1, #2 + adds r2, r0, r1 + ldrb r1, [r2] + movs r3, #0xf0 + adds r0, r3, #0 + ands r0, r1 + cmp r0, #0 + beq _0801554E + movs r0, #0 + strb r0, [r2] _0801554E: - ldr r0, [r5] - ldr r2, _08015574 @ =0x000001AB - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - ands r0, r3 - cmp r0, #0 - bne _08015562 - bl _08016082 + ldr r0, [r5] + ldr r2, _08015574 @ =0x000001AB + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + ands r0, r3 + cmp r0, #0 + bne _08015562 + bl _08016082 _08015562: - movs r0, #0 - strb r0, [r1] - bl _08016082 - .align 2, 0 + movs r0, #0 + strb r0, [r1] + bl _08016082 + .align 2, 0 _0801556C: .4byte 0x0000132C _08015570: .4byte 0x000002FB _08015574: .4byte 0x000001AB _08015578: - ldr r1, _080155B8 @ =0x020314E0 - ldr r2, [r1] - movs r3, #0xc0 - lsls r3, r3, #3 - adds r0, r2, r3 - ldrh r3, [r0] - adds r5, r1, #0 - cmp r3, #0 - beq _0801558E - bl _08016082 + ldr r1, _080155B8 @ =0x020314E0 + ldr r2, [r1] + movs r3, #0xc0 + lsls r3, r3, #3 + adds r0, r2, r3 + ldrh r3, [r0] + adds r5, r1, #0 + cmp r3, #0 + beq _0801558E + bl _08016082 _0801558E: - ldr r4, _080155BC @ =0x0000132C - adds r0, r2, r4 - ldr r0, [r0] - movs r1, #0x10 - ldrsh r0, [r0, r1] - cmp r0, #0x83 - ble _080155C4 - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r2, #0x3c] - ldr r3, _080155C0 @ =0x0000070E - adds r1, r2, r3 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x62 - bgt _08015604 - adds r0, r2, #1 - strb r0, [r1] - b _08015604 - .align 2, 0 + ldr r4, _080155BC @ =0x0000132C + adds r0, r2, r4 + ldr r0, [r0] + movs r1, #0x10 + ldrsh r0, [r0, r1] + cmp r0, #0x83 + ble _080155C4 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r2, #0x3c] + ldr r3, _080155C0 @ =0x0000070E + adds r1, r2, r3 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x62 + bgt _08015604 + adds r0, r2, #1 + strb r0, [r1] + b _08015604 + .align 2, 0 _080155B8: .4byte 0x020314E0 _080155BC: .4byte 0x0000132C _080155C0: .4byte 0x0000070E _080155C4: - cmp r0, #0x5b - ble _080155E4 - movs r0, #0xfa - lsls r0, r0, #3 - str r0, [r2, #0x3c] - movs r4, #0xba - lsls r4, r4, #1 - adds r0, r2, r4 - strh r3, [r0] - ldr r0, _080155E0 @ =0x0000016F - adds r1, r2, r0 - movs r0, #1 - strb r0, [r1] - b _08015604 - .align 2, 0 + cmp r0, #0x5b + ble _080155E4 + movs r0, #0xfa + lsls r0, r0, #3 + str r0, [r2, #0x3c] + movs r4, #0xba + lsls r4, r4, #1 + adds r0, r2, r4 + strh r3, [r0] + ldr r0, _080155E0 @ =0x0000016F + adds r1, r2, r0 + movs r0, #1 + strb r0, [r1] + b _08015604 + .align 2, 0 _080155E0: .4byte 0x0000016F _080155E4: - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r2, #0x3c] - ldr r3, _0801561C @ =0x000002B2 - adds r1, r2, r3 - movs r2, #0 - ldrsb r2, [r1, r2] - cmp r2, #0 - bne _08015604 - movs r0, #1 - strb r0, [r1] - ldr r0, [r5] - movs r4, #0xac - lsls r4, r4, #2 - adds r0, r0, r4 - strh r2, [r0] + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r2, #0x3c] + ldr r3, _0801561C @ =0x000002B2 + adds r1, r2, r3 + movs r2, #0 + ldrsb r2, [r1, r2] + cmp r2, #0 + bne _08015604 + movs r0, #1 + strb r0, [r1] + ldr r0, [r5] + movs r4, #0xac + lsls r4, r4, #2 + adds r0, r0, r4 + strh r2, [r0] _08015604: - ldr r0, [r5] - movs r1, #0xc0 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r1, #0x2d - strh r1, [r0] - movs r0, #0x76 - bl m4aSongNumStart - bl _08016082 - .align 2, 0 + ldr r0, [r5] + movs r1, #0xc0 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r1, #0x2d + strh r1, [r0] + movs r0, #0x76 + bl m4aSongNumStart + bl _08016082 + .align 2, 0 _0801561C: .4byte 0x000002B2 _08015620: - ldr r1, _08015640 @ =0x020314E0 - ldr r0, [r1] - adds r0, #0x20 - movs r3, #0 - movs r2, #1 - strb r2, [r0] - ldr r0, [r1] - ldr r4, _08015644 @ =0x00000165 - adds r0, r0, r4 - strb r2, [r0] - ldr r0, [r1] - ldr r1, _08015648 @ =0x00000732 - adds r0, r0, r1 - strb r3, [r0] - bl _08016082 - .align 2, 0 + ldr r1, _08015640 @ =0x020314E0 + ldr r0, [r1] + adds r0, #0x20 + movs r3, #0 + movs r2, #1 + strb r2, [r0] + ldr r0, [r1] + ldr r4, _08015644 @ =0x00000165 + adds r0, r0, r4 + strb r2, [r0] + ldr r0, [r1] + ldr r1, _08015648 @ =0x00000732 + adds r0, r0, r1 + strb r3, [r0] + bl _08016082 + .align 2, 0 _08015640: .4byte 0x020314E0 _08015644: .4byte 0x00000165 _08015648: .4byte 0x00000732 _0801564C: - ldr r4, _08015670 @ =0x020314E0 - ldr r0, [r4] - ldr r2, _08015674 @ =0x000005B2 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08015662 - bl _08016082 + ldr r4, _08015670 @ =0x020314E0 + ldr r0, [r4] + ldr r2, _08015674 @ =0x000005B2 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08015662 + bl _08016082 _08015662: - movs r0, #1 - bl sub_46FD4 - ldr r0, [r4] - ldr r3, _08015678 @ =0x0000029E - b _0801588E - .align 2, 0 + movs r0, #1 + bl sub_46FD4 + ldr r0, [r4] + ldr r3, _08015678 @ =0x0000029E + b _0801588E + .align 2, 0 _08015670: .4byte 0x020314E0 _08015674: .4byte 0x000005B2 _08015678: .4byte 0x0000029E _0801567C: - ldr r5, _080156C4 @ =0x020314E0 - ldr r1, [r5] - ldr r4, _080156C8 @ =0x0000132C - mov ip, r4 - adds r0, r1, r4 - ldr r0, [r0] - movs r2, #0x10 - ldrsh r0, [r0, r2] - cmp r0, #0x31 - bgt _080156D4 - ldr r3, _080156CC @ =0x000002FA - adds r0, r1, r3 - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #0 - bne _08015734 - movs r2, #1 - strb r2, [r0] - ldr r0, [r5] - ldr r4, _080156D0 @ =0x000002FB - adds r0, r0, r4 - strb r2, [r0] - ldr r0, [r5] - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r5] - adds r0, #0x22 - movs r1, #2 - strb r1, [r0] - movs r1, #0xb0 - lsls r1, r1, #8 - adds r0, r1, #0 - strh r0, [r6] - strh r2, [r7] - b _08015734 - .align 2, 0 + ldr r5, _080156C4 @ =0x020314E0 + ldr r1, [r5] + ldr r4, _080156C8 @ =0x0000132C + mov ip, r4 + adds r0, r1, r4 + ldr r0, [r0] + movs r2, #0x10 + ldrsh r0, [r0, r2] + cmp r0, #0x31 + bgt _080156D4 + ldr r3, _080156CC @ =0x000002FA + adds r0, r1, r3 + movs r1, #0 + ldrsb r1, [r0, r1] + cmp r1, #0 + bne _08015734 + movs r2, #1 + strb r2, [r0] + ldr r0, [r5] + ldr r4, _080156D0 @ =0x000002FB + adds r0, r0, r4 + strb r2, [r0] + ldr r0, [r5] + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r5] + adds r0, #0x22 + movs r1, #2 + strb r1, [r0] + movs r1, #0xb0 + lsls r1, r1, #8 + adds r0, r1, #0 + strh r0, [r6] + strh r2, [r7] + b _08015734 + .align 2, 0 _080156C4: .4byte 0x020314E0 _080156C8: .4byte 0x0000132C _080156CC: .4byte 0x000002FA _080156D0: .4byte 0x000002FB _080156D4: - ldr r2, _08015744 @ =0x000002FA - adds r0, r1, r2 - movs r4, #0 - ldrsb r4, [r0, r4] - cmp r4, #1 - bne _08015734 - movs r3, #0 - movs r2, #2 - strb r2, [r0] - ldr r0, [r5] - ldr r1, _08015748 @ =0x000002FB - adds r0, r0, r1 - movs r1, #3 - strb r1, [r0] - ldr r0, [r5] - adds r0, #0x23 - strb r3, [r0] - ldr r0, [r5] - adds r0, #0x22 - strb r2, [r0] - movs r2, #0xa0 - lsls r2, r2, #8 - adds r0, r2, #0 - strh r0, [r6] - strh r4, [r7] - ldr r1, [r5] - mov r4, ip - adds r2, r1, r4 - ldr r0, [r2] - strh r3, [r0, #0x30] - ldr r0, [r2] - strh r3, [r0, #0x32] - ldr r4, _0801574C @ =0x00001378 - adds r0, r1, r4 - ldr r2, _08015750 @ =0x00001334 - adds r1, r1, r2 - movs r2, #0x44 - bl memcpy - ldr r0, [r5] - ldr r3, _08015754 @ =0x00001330 - adds r1, r0, r3 - adds r4, r0, r4 - str r4, [r1] - ldr r4, _08015758 @ =0x00001328 - adds r0, r0, r4 - movs r1, #0x78 - strh r1, [r0] + ldr r2, _08015744 @ =0x000002FA + adds r0, r1, r2 + movs r4, #0 + ldrsb r4, [r0, r4] + cmp r4, #1 + bne _08015734 + movs r3, #0 + movs r2, #2 + strb r2, [r0] + ldr r0, [r5] + ldr r1, _08015748 @ =0x000002FB + adds r0, r0, r1 + movs r1, #3 + strb r1, [r0] + ldr r0, [r5] + adds r0, #0x23 + strb r3, [r0] + ldr r0, [r5] + adds r0, #0x22 + strb r2, [r0] + movs r2, #0xa0 + lsls r2, r2, #8 + adds r0, r2, #0 + strh r0, [r6] + strh r4, [r7] + ldr r1, [r5] + mov r4, ip + adds r2, r1, r4 + ldr r0, [r2] + strh r3, [r0, #0x30] + ldr r0, [r2] + strh r3, [r0, #0x32] + ldr r4, _0801574C @ =0x00001378 + adds r0, r1, r4 + ldr r2, _08015750 @ =0x00001334 + adds r1, r1, r2 + movs r2, #0x44 + bl memcpy + ldr r0, [r5] + ldr r3, _08015754 @ =0x00001330 + adds r1, r0, r3 + adds r4, r0, r4 + str r4, [r1] + ldr r4, _08015758 @ =0x00001328 + adds r0, r0, r4 + movs r1, #0x78 + strh r1, [r0] _08015734: - ldr r0, _0801575C @ =0x020314E0 - ldr r0, [r0] - ldr r1, _08015760 @ =0x00000732 - adds r0, r0, r1 - movs r1, #0xe - strb r1, [r0] - bl _08016082 - .align 2, 0 + ldr r0, _0801575C @ =0x020314E0 + ldr r0, [r0] + ldr r1, _08015760 @ =0x00000732 + adds r0, r0, r1 + movs r1, #0xe + strb r1, [r0] + bl _08016082 + .align 2, 0 _08015744: .4byte 0x000002FA _08015748: .4byte 0x000002FB _0801574C: .4byte 0x00001378 @@ -42159,407 +42159,407 @@ _08015758: .4byte 0x00001328 _0801575C: .4byte 0x020314E0 _08015760: .4byte 0x00000732 _08015764: - ldr r0, _080157A8 @ =0x020314E0 - ldr r2, [r0] - ldr r3, _080157AC @ =0x0000132C - adds r1, r2, r3 - ldr r1, [r1] - movs r4, #0x10 - ldrsh r1, [r1, r4] - adds r5, r0, #0 - cmp r1, #0x32 - bgt _0801580C - ldr r1, _080157B0 @ =0x00000732 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #8 - bne _080157EA - movs r0, #0x13 - ldrsb r0, [r2, r0] - cmp r0, #2 - bgt _080157DC - ldr r3, _080157B4 @ =0x0000072E - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _080157DC - cmp r0, #0 - bne _080157B8 - movs r0, #0xfa - lsls r0, r0, #3 - b _080157C6 - .align 2, 0 + ldr r0, _080157A8 @ =0x020314E0 + ldr r2, [r0] + ldr r3, _080157AC @ =0x0000132C + adds r1, r2, r3 + ldr r1, [r1] + movs r4, #0x10 + ldrsh r1, [r1, r4] + adds r5, r0, #0 + cmp r1, #0x32 + bgt _0801580C + ldr r1, _080157B0 @ =0x00000732 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #8 + bne _080157EA + movs r0, #0x13 + ldrsb r0, [r2, r0] + cmp r0, #2 + bgt _080157DC + ldr r3, _080157B4 @ =0x0000072E + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bgt _080157DC + cmp r0, #0 + bne _080157B8 + movs r0, #0xfa + lsls r0, r0, #3 + b _080157C6 + .align 2, 0 _080157A8: .4byte 0x020314E0 _080157AC: .4byte 0x0000132C _080157B0: .4byte 0x00000732 _080157B4: .4byte 0x0000072E _080157B8: - cmp r0, #1 - bne _080157C4 - ldr r0, _080157C0 @ =0x00001388 - b _080157C6 - .align 2, 0 + cmp r0, #1 + bne _080157C4 + ldr r0, _080157C0 @ =0x00001388 + b _080157C6 + .align 2, 0 _080157C0: .4byte 0x00001388 _080157C4: - ldr r0, _080157F8 @ =0x00002710 + ldr r0, _080157F8 @ =0x00002710 _080157C6: - str r0, [r2, #0x3c] - ldr r0, _080157FC @ =0x020314E0 - ldr r1, [r0] - ldr r4, _08015800 @ =0x0000072E - adds r1, r1, r4 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0x99 - bl m4aSongNumStart + str r0, [r2, #0x3c] + ldr r0, _080157FC @ =0x020314E0 + ldr r1, [r0] + ldr r4, _08015800 @ =0x0000072E + adds r1, r1, r4 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + movs r0, #0x99 + bl m4aSongNumStart _080157DC: - ldr r0, _080157FC @ =0x020314E0 - ldr r1, [r0] - ldr r2, _08015804 @ =0x000006BC - adds r1, r1, r2 - movs r2, #1 - strb r2, [r1] - adds r5, r0, #0 + ldr r0, _080157FC @ =0x020314E0 + ldr r1, [r0] + ldr r2, _08015804 @ =0x000006BC + adds r1, r1, r2 + movs r2, #1 + strb r2, [r1] + adds r5, r0, #0 _080157EA: - ldr r0, [r5] - ldr r3, _08015808 @ =0x00000732 - adds r0, r0, r3 - movs r1, #2 - strb r1, [r0] - bl _08016082 - .align 2, 0 + ldr r0, [r5] + ldr r3, _08015808 @ =0x00000732 + adds r0, r0, r3 + movs r1, #2 + strb r1, [r0] + bl _08016082 + .align 2, 0 _080157F8: .4byte 0x00002710 _080157FC: .4byte 0x020314E0 _08015800: .4byte 0x0000072E _08015804: .4byte 0x000006BC _08015808: .4byte 0x00000732 _0801580C: - cmp r1, #0x64 - bgt _080158A8 - ldr r4, _0801584C @ =0x00000732 - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #7 - bne _0801588A - movs r3, #0xca - lsls r3, r3, #1 - adds r0, r2, r3 - movs r2, #0xa - strb r2, [r0] - ldr r1, [r5] - subs r4, #7 - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _08015878 - cmp r0, #0 - bne _08015850 - movs r0, #0xfa - lsls r0, r0, #3 - str r0, [r1, #0x3c] - adds r1, r1, r3 - movs r0, #1 - strb r0, [r1] - b _0801586C - .align 2, 0 + cmp r1, #0x64 + bgt _080158A8 + ldr r4, _0801584C @ =0x00000732 + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #7 + bne _0801588A + movs r3, #0xca + lsls r3, r3, #1 + adds r0, r2, r3 + movs r2, #0xa + strb r2, [r0] + ldr r1, [r5] + subs r4, #7 + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bgt _08015878 + cmp r0, #0 + bne _08015850 + movs r0, #0xfa + lsls r0, r0, #3 + str r0, [r1, #0x3c] + adds r1, r1, r3 + movs r0, #1 + strb r0, [r1] + b _0801586C + .align 2, 0 _0801584C: .4byte 0x00000732 _08015850: - cmp r0, #1 - bne _08015864 - ldr r0, _08015860 @ =0x00001388 - str r0, [r1, #0x3c] - adds r1, r1, r3 - movs r0, #5 - strb r0, [r1] - b _0801586C - .align 2, 0 + cmp r0, #1 + bne _08015864 + ldr r0, _08015860 @ =0x00001388 + str r0, [r1, #0x3c] + adds r1, r1, r3 + movs r0, #5 + strb r0, [r1] + b _0801586C + .align 2, 0 _08015860: .4byte 0x00001388 _08015864: - ldr r0, _08015898 @ =0x00002710 - str r0, [r1, #0x3c] - adds r0, r1, r3 - strb r2, [r0] + ldr r0, _08015898 @ =0x00002710 + str r0, [r1, #0x3c] + adds r0, r1, r3 + strb r2, [r0] _0801586C: - ldr r1, [r5] - ldr r0, _0801589C @ =0x0000072B - adds r1, r1, r0 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldr r1, [r5] + ldr r0, _0801589C @ =0x0000072B + adds r1, r1, r0 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _08015878: - ldr r0, [r5] - movs r1, #0xcb - lsls r1, r1, #1 - adds r2, r0, r1 - movs r1, #0 - strh r1, [r2] - ldr r2, _080158A0 @ =0x0000072C - adds r0, r0, r2 - strh r1, [r0] + ldr r0, [r5] + movs r1, #0xcb + lsls r1, r1, #1 + adds r2, r0, r1 + movs r1, #0 + strh r1, [r2] + ldr r2, _080158A0 @ =0x0000072C + adds r0, r0, r2 + strh r1, [r0] _0801588A: - ldr r0, [r5] - ldr r3, _080158A4 @ =0x00000732 + ldr r0, [r5] + ldr r3, _080158A4 @ =0x00000732 _0801588E: - adds r0, r0, r3 - movs r1, #1 - strb r1, [r0] - bl _08016082 - .align 2, 0 + adds r0, r0, r3 + movs r1, #1 + strb r1, [r0] + bl _08016082 + .align 2, 0 _08015898: .4byte 0x00002710 _0801589C: .4byte 0x0000072B _080158A0: .4byte 0x0000072C _080158A4: .4byte 0x00000732 _080158A8: - cmp r1, #0x7e - bgt _08015918 - movs r1, #0xe3 - lsls r1, r1, #3 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _080158C2 - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r2, #0x3c] + cmp r1, #0x7e + bgt _08015918 + movs r1, #0xe3 + lsls r1, r1, #3 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _080158C2 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r2, #0x3c] _080158C2: - ldr r0, [r5] - adds r0, r0, r1 - movs r4, #1 - strb r4, [r0] - ldr r0, [r5] - ldr r1, _0801590C @ =0x00000732 - adds r0, r0, r1 - movs r1, #3 - strb r1, [r0] - ldr r1, [r5] - ldr r2, _08015910 @ =0x0000071B - adds r3, r1, r2 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - beq _080158E6 - bl _08016082 + ldr r0, [r5] + adds r0, r0, r1 + movs r4, #1 + strb r4, [r0] + ldr r0, [r5] + ldr r1, _0801590C @ =0x00000732 + adds r0, r0, r1 + movs r1, #3 + strb r1, [r0] + ldr r1, [r5] + ldr r2, _08015910 @ =0x0000071B + adds r3, r1, r2 + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #0 + beq _080158E6 + bl _08016082 _080158E6: - subs r2, #2 - adds r0, r1, r2 - adds r2, #1 - adds r1, r1, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - cmp r0, #0 - bne _080158FA - b _08016082 + subs r2, #2 + adds r0, r1, r2 + adds r2, #1 + adds r1, r1, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + cmp r0, #0 + bne _080158FA + b _08016082 _080158FA: - strb r4, [r3] - ldr r0, [r5] - ldr r3, _08015914 @ =0x0000071C - adds r0, r0, r3 - movs r1, #0x3c - strb r1, [r0] - ldr r1, [r5] - b _08015C7E - .align 2, 0 + strb r4, [r3] + ldr r0, [r5] + ldr r3, _08015914 @ =0x0000071C + adds r0, r0, r3 + movs r1, #0x3c + strb r1, [r0] + ldr r1, [r5] + b _08015C7E + .align 2, 0 _0801590C: .4byte 0x00000732 _08015910: .4byte 0x0000071B _08015914: .4byte 0x0000071C _08015918: - cmp r1, #0x94 - bgt _08015988 - ldr r1, _08015978 @ =0x00000719 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08015930 - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r2, #0x3c] + cmp r1, #0x94 + bgt _08015988 + ldr r1, _08015978 @ =0x00000719 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08015930 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r2, #0x3c] _08015930: - ldr r0, [r5] - adds r0, r0, r1 - movs r4, #1 - strb r4, [r0] - ldr r0, [r5] - ldr r1, _0801597C @ =0x00000732 - adds r0, r0, r1 - movs r1, #4 - strb r1, [r0] - ldr r1, [r5] - ldr r2, _08015980 @ =0x0000071B - adds r3, r1, r2 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - beq _08015952 - b _08016082 + ldr r0, [r5] + adds r0, r0, r1 + movs r4, #1 + strb r4, [r0] + ldr r0, [r5] + ldr r1, _0801597C @ =0x00000732 + adds r0, r0, r1 + movs r1, #4 + strb r1, [r0] + ldr r1, [r5] + ldr r2, _08015980 @ =0x0000071B + adds r3, r1, r2 + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #0 + beq _08015952 + b _08016082 _08015952: - subs r2, #3 - adds r0, r1, r2 - adds r2, #2 - adds r1, r1, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - cmp r0, #0 - bne _08015966 - b _08016082 + subs r2, #3 + adds r0, r1, r2 + adds r2, #2 + adds r1, r1, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + cmp r0, #0 + bne _08015966 + b _08016082 _08015966: - strb r4, [r3] - ldr r0, [r5] - ldr r3, _08015984 @ =0x0000071C - adds r0, r0, r3 - movs r1, #0x3c - strb r1, [r0] - ldr r1, [r5] - b _08015C7E - .align 2, 0 + strb r4, [r3] + ldr r0, [r5] + ldr r3, _08015984 @ =0x0000071C + adds r0, r0, r3 + movs r1, #0x3c + strb r1, [r0] + ldr r1, [r5] + b _08015C7E + .align 2, 0 _08015978: .4byte 0x00000719 _0801597C: .4byte 0x00000732 _08015980: .4byte 0x0000071B _08015984: .4byte 0x0000071C _08015988: - cmp r1, #0xac - bgt _080159F8 - ldr r1, _080159E8 @ =0x0000071A - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _080159A0 - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r2, #0x3c] + cmp r1, #0xac + bgt _080159F8 + ldr r1, _080159E8 @ =0x0000071A + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _080159A0 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r2, #0x3c] _080159A0: - ldr r0, [r5] - adds r0, r0, r1 - movs r4, #1 - strb r4, [r0] - ldr r0, [r5] - ldr r1, _080159EC @ =0x00000732 - adds r0, r0, r1 - movs r1, #5 - strb r1, [r0] - ldr r1, [r5] - ldr r2, _080159F0 @ =0x0000071B - adds r3, r1, r2 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - beq _080159C2 - b _08016082 + ldr r0, [r5] + adds r0, r0, r1 + movs r4, #1 + strb r4, [r0] + ldr r0, [r5] + ldr r1, _080159EC @ =0x00000732 + adds r0, r0, r1 + movs r1, #5 + strb r1, [r0] + ldr r1, [r5] + ldr r2, _080159F0 @ =0x0000071B + adds r3, r1, r2 + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #0 + beq _080159C2 + b _08016082 _080159C2: - subs r2, #3 - adds r0, r1, r2 - adds r2, #1 - adds r1, r1, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - cmp r0, #0 - bne _080159D6 - b _08016082 + subs r2, #3 + adds r0, r1, r2 + adds r2, #1 + adds r1, r1, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + cmp r0, #0 + bne _080159D6 + b _08016082 _080159D6: - strb r4, [r3] - ldr r0, [r5] - ldr r3, _080159F4 @ =0x0000071C - adds r0, r0, r3 - movs r1, #0x3c - strb r1, [r0] - ldr r1, [r5] - b _08015C7E - .align 2, 0 + strb r4, [r3] + ldr r0, [r5] + ldr r3, _080159F4 @ =0x0000071C + adds r0, r0, r3 + movs r1, #0x3c + strb r1, [r0] + ldr r1, [r5] + b _08015C7E + .align 2, 0 _080159E8: .4byte 0x0000071A _080159EC: .4byte 0x00000732 _080159F0: .4byte 0x0000071B _080159F4: .4byte 0x0000071C _080159F8: - ldr r4, _08015A28 @ =0x00000732 - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #9 - bne _08015A78 - movs r0, #0x13 - ldrsb r0, [r2, r0] - cmp r0, #2 - bgt _08015A6A - ldr r1, _08015A2C @ =0x0000072F - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _08015A6A - cmp r0, #0 - bne _08015A30 - movs r0, #0xfa - lsls r0, r0, #3 - b _08015A3E - .align 2, 0 + ldr r4, _08015A28 @ =0x00000732 + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #9 + bne _08015A78 + movs r0, #0x13 + ldrsb r0, [r2, r0] + cmp r0, #2 + bgt _08015A6A + ldr r1, _08015A2C @ =0x0000072F + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bgt _08015A6A + cmp r0, #0 + bne _08015A30 + movs r0, #0xfa + lsls r0, r0, #3 + b _08015A3E + .align 2, 0 _08015A28: .4byte 0x00000732 _08015A2C: .4byte 0x0000072F _08015A30: - cmp r0, #1 - bne _08015A3C - ldr r0, _08015A38 @ =0x00001388 - b _08015A3E - .align 2, 0 + cmp r0, #1 + bne _08015A3C + ldr r0, _08015A38 @ =0x00001388 + b _08015A3E + .align 2, 0 _08015A38: .4byte 0x00001388 _08015A3C: - ldr r0, _08015A84 @ =0x00002710 + ldr r0, _08015A84 @ =0x00002710 _08015A3E: - str r0, [r2, #0x3c] - ldr r5, _08015A88 @ =0x020314E0 - ldr r1, [r5] - ldr r4, _08015A8C @ =0x0000072F - adds r1, r1, r4 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, _08015A90 @ =0x02032F20 - ldr r1, _08015A94 @ =0x0869FC0C - bl MPlayStart - ldr r1, [r5] - adds r4, r1, r4 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #1 - ble _08015A6A - ldr r2, _08015A98 @ =0x00000731 - adds r1, r1, r2 - movs r0, #1 - strb r0, [r1] + str r0, [r2, #0x3c] + ldr r5, _08015A88 @ =0x020314E0 + ldr r1, [r5] + ldr r4, _08015A8C @ =0x0000072F + adds r1, r1, r4 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r0, _08015A90 @ =0x02032F20 + ldr r1, _08015A94 @ =0x0869FC0C + bl MPlayStart + ldr r1, [r5] + adds r4, r1, r4 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #1 + ble _08015A6A + ldr r2, _08015A98 @ =0x00000731 + adds r1, r1, r2 + movs r0, #1 + strb r0, [r1] _08015A6A: - ldr r0, _08015A88 @ =0x020314E0 - ldr r1, [r0] - ldr r3, _08015A9C @ =0x000006BC - adds r1, r1, r3 - movs r2, #2 - strb r2, [r1] - adds r5, r0, #0 + ldr r0, _08015A88 @ =0x020314E0 + ldr r1, [r0] + ldr r3, _08015A9C @ =0x000006BC + adds r1, r1, r3 + movs r2, #2 + strb r2, [r1] + adds r5, r0, #0 _08015A78: - ldr r0, [r5] - ldr r4, _08015AA0 @ =0x00000732 - adds r0, r0, r4 - movs r1, #6 - strb r1, [r0] - b _08016082 - .align 2, 0 + ldr r0, [r5] + ldr r4, _08015AA0 @ =0x00000732 + adds r0, r0, r4 + movs r1, #6 + strb r1, [r0] + b _08016082 + .align 2, 0 _08015A84: .4byte 0x00002710 _08015A88: .4byte 0x020314E0 _08015A8C: .4byte 0x0000072F @@ -42569,90 +42569,90 @@ _08015A98: .4byte 0x00000731 _08015A9C: .4byte 0x000006BC _08015AA0: .4byte 0x00000732 _08015AA4: - ldr r0, _08015AC0 @ =0x020314E0 - ldr r1, [r0] - ldr r2, _08015AC4 @ =0x0000132C - adds r0, r1, r2 - ldr r0, [r0] - movs r3, #0x10 - ldrsh r0, [r0, r3] - cmp r0, #0x32 - bgt _08015ACC - ldr r4, _08015AC8 @ =0x00000732 - adds r1, r1, r4 - movs r0, #8 - strb r0, [r1] - b _08016082 - .align 2, 0 + ldr r0, _08015AC0 @ =0x020314E0 + ldr r1, [r0] + ldr r2, _08015AC4 @ =0x0000132C + adds r0, r1, r2 + ldr r0, [r0] + movs r3, #0x10 + ldrsh r0, [r0, r3] + cmp r0, #0x32 + bgt _08015ACC + ldr r4, _08015AC8 @ =0x00000732 + adds r1, r1, r4 + movs r0, #8 + strb r0, [r1] + b _08016082 + .align 2, 0 _08015AC0: .4byte 0x020314E0 _08015AC4: .4byte 0x0000132C _08015AC8: .4byte 0x00000732 _08015ACC: - cmp r0, #0x64 - bgt _08015AE0 - ldr r0, _08015ADC @ =0x00000732 - adds r1, r1, r0 - movs r0, #7 - strb r0, [r1] - b _08016082 - .align 2, 0 + cmp r0, #0x64 + bgt _08015AE0 + ldr r0, _08015ADC @ =0x00000732 + adds r1, r1, r0 + movs r0, #7 + strb r0, [r1] + b _08016082 + .align 2, 0 _08015ADC: .4byte 0x00000732 _08015AE0: - ldr r2, _08015AEC @ =0x00000732 - adds r1, r1, r2 - movs r0, #9 - strb r0, [r1] - b _08016082 - .align 2, 0 + ldr r2, _08015AEC @ =0x00000732 + adds r1, r1, r2 + movs r0, #9 + strb r0, [r1] + b _08016082 + .align 2, 0 _08015AEC: .4byte 0x00000732 _08015AF0: - ldr r4, _08015B48 @ =0x020314E0 - ldr r1, [r4] - ldr r3, _08015B4C @ =0x0000132C - adds r0, r1, r3 - ldr r0, [r0] - movs r2, #0x10 - ldrsh r0, [r0, r2] - cmp r0, #0x2e - bgt _08015B60 - ldr r3, _08015B50 @ =0x00000732 - adds r0, r1, r3 - movs r1, #0xa - strb r1, [r0] - ldr r1, [r4] - movs r0, #0xe2 - lsls r0, r0, #3 - adds r2, r1, r0 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08015B1C - b _08016082 + ldr r4, _08015B48 @ =0x020314E0 + ldr r1, [r4] + ldr r3, _08015B4C @ =0x0000132C + adds r0, r1, r3 + ldr r0, [r0] + movs r2, #0x10 + ldrsh r0, [r0, r2] + cmp r0, #0x2e + bgt _08015B60 + ldr r3, _08015B50 @ =0x00000732 + adds r0, r1, r3 + movs r1, #0xa + strb r1, [r0] + ldr r1, [r4] + movs r0, #0xe2 + lsls r0, r0, #3 + adds r2, r1, r0 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + beq _08015B1C + b _08016082 _08015B1C: - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r1, #0x3c] - movs r6, #1 - strb r6, [r2] - ldr r3, [r4] - ldr r1, _08015B54 @ =0x00000714 - adds r5, r3, r1 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - beq _08015B36 - b _08016082 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r1, #0x3c] + movs r6, #1 + strb r6, [r2] + ldr r3, [r4] + ldr r1, _08015B54 @ =0x00000714 + adds r5, r3, r1 + movs r0, #0 + ldrsb r0, [r5, r0] + cmp r0, #0 + beq _08015B36 + b _08016082 _08015B36: - ldr r2, _08015B58 @ =0x00000711 - adds r0, r3, r2 - adds r2, #1 - adds r1, r3, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - ldr r2, _08015B5C @ =0x00000713 - b _08015C64 - .align 2, 0 + ldr r2, _08015B58 @ =0x00000711 + adds r0, r3, r2 + adds r2, #1 + adds r1, r3, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + ldr r2, _08015B5C @ =0x00000713 + b _08015C64 + .align 2, 0 _08015B48: .4byte 0x020314E0 _08015B4C: .4byte 0x0000132C _08015B50: .4byte 0x00000732 @@ -42660,155 +42660,155 @@ _08015B54: .4byte 0x00000714 _08015B58: .4byte 0x00000711 _08015B5C: .4byte 0x00000713 _08015B60: - cmp r0, #0x78 - bgt _08015BC0 - ldr r2, _08015BAC @ =0x00000732 - adds r0, r1, r2 - movs r1, #0xb - strb r1, [r0] - ldr r1, [r4] - ldr r3, _08015BB0 @ =0x00000711 - adds r2, r1, r3 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08015B7C - b _08016082 + cmp r0, #0x78 + bgt _08015BC0 + ldr r2, _08015BAC @ =0x00000732 + adds r0, r1, r2 + movs r1, #0xb + strb r1, [r0] + ldr r1, [r4] + ldr r3, _08015BB0 @ =0x00000711 + adds r2, r1, r3 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + beq _08015B7C + b _08016082 _08015B7C: - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r1, #0x3c] - movs r6, #1 - strb r6, [r2] - ldr r3, [r4] - ldr r0, _08015BB4 @ =0x00000714 - adds r5, r3, r0 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - beq _08015B96 - b _08016082 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r1, #0x3c] + movs r6, #1 + strb r6, [r2] + ldr r3, [r4] + ldr r0, _08015BB4 @ =0x00000714 + adds r5, r3, r0 + movs r0, #0 + ldrsb r0, [r5, r0] + cmp r0, #0 + beq _08015B96 + b _08016082 _08015B96: - movs r1, #0xe2 - lsls r1, r1, #3 - adds r0, r3, r1 - ldr r2, _08015BB8 @ =0x00000712 - adds r1, r3, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - ldr r2, _08015BBC @ =0x00000713 - b _08015C64 - .align 2, 0 + movs r1, #0xe2 + lsls r1, r1, #3 + adds r0, r3, r1 + ldr r2, _08015BB8 @ =0x00000712 + adds r1, r3, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + ldr r2, _08015BBC @ =0x00000713 + b _08015C64 + .align 2, 0 _08015BAC: .4byte 0x00000732 _08015BB0: .4byte 0x00000711 _08015BB4: .4byte 0x00000714 _08015BB8: .4byte 0x00000712 _08015BBC: .4byte 0x00000713 _08015BC0: - cmp r0, #0xc1 - bgt _08015C20 - ldr r2, _08015C0C @ =0x00000732 - adds r0, r1, r2 - movs r1, #0xc - strb r1, [r0] - ldr r1, [r4] - ldr r3, _08015C10 @ =0x00000712 - adds r2, r1, r3 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08015BDC - b _08016082 + cmp r0, #0xc1 + bgt _08015C20 + ldr r2, _08015C0C @ =0x00000732 + adds r0, r1, r2 + movs r1, #0xc + strb r1, [r0] + ldr r1, [r4] + ldr r3, _08015C10 @ =0x00000712 + adds r2, r1, r3 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + beq _08015BDC + b _08016082 _08015BDC: - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r1, #0x3c] - movs r6, #1 - strb r6, [r2] - ldr r3, [r4] - ldr r0, _08015C14 @ =0x00000714 - adds r5, r3, r0 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - beq _08015BF6 - b _08016082 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r1, #0x3c] + movs r6, #1 + strb r6, [r2] + ldr r3, [r4] + ldr r0, _08015C14 @ =0x00000714 + adds r5, r3, r0 + movs r0, #0 + ldrsb r0, [r5, r0] + cmp r0, #0 + beq _08015BF6 + b _08016082 _08015BF6: - movs r1, #0xe2 - lsls r1, r1, #3 - adds r0, r3, r1 - ldr r2, _08015C18 @ =0x00000711 - adds r1, r3, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - ldr r2, _08015C1C @ =0x00000713 - b _08015C64 - .align 2, 0 + movs r1, #0xe2 + lsls r1, r1, #3 + adds r0, r3, r1 + ldr r2, _08015C18 @ =0x00000711 + adds r1, r3, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + ldr r2, _08015C1C @ =0x00000713 + b _08015C64 + .align 2, 0 _08015C0C: .4byte 0x00000732 _08015C10: .4byte 0x00000712 _08015C14: .4byte 0x00000714 _08015C18: .4byte 0x00000711 _08015C1C: .4byte 0x00000713 _08015C20: - ldr r2, _08015C88 @ =0x00000732 - adds r0, r1, r2 - movs r1, #0xd - strb r1, [r0] - ldr r1, [r4] - ldr r3, _08015C8C @ =0x00000713 - adds r2, r1, r3 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08015C38 - b _08016082 + ldr r2, _08015C88 @ =0x00000732 + adds r0, r1, r2 + movs r1, #0xd + strb r1, [r0] + ldr r1, [r4] + ldr r3, _08015C8C @ =0x00000713 + adds r2, r1, r3 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + beq _08015C38 + b _08016082 _08015C38: - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r1, #0x3c] - movs r6, #1 - strb r6, [r2] - ldr r3, [r4] - ldr r0, _08015C90 @ =0x00000714 - adds r5, r3, r0 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - beq _08015C52 - b _08016082 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r1, #0x3c] + movs r6, #1 + strb r6, [r2] + ldr r3, [r4] + ldr r0, _08015C90 @ =0x00000714 + adds r5, r3, r0 + movs r0, #0 + ldrsb r0, [r5, r0] + cmp r0, #0 + beq _08015C52 + b _08016082 _08015C52: - movs r1, #0xe2 - lsls r1, r1, #3 - adds r0, r3, r1 - ldr r2, _08015C94 @ =0x00000711 - adds r1, r3, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - ldr r2, _08015C98 @ =0x00000712 + movs r1, #0xe2 + lsls r1, r1, #3 + adds r0, r3, r1 + ldr r2, _08015C94 @ =0x00000711 + adds r1, r3, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + ldr r2, _08015C98 @ =0x00000712 _08015C64: - adds r1, r3, r2 - ldrb r1, [r1] - ands r0, r1 - cmp r0, #0 - bne _08015C70 - b _08016082 + adds r1, r3, r2 + ldrb r1, [r1] + ands r0, r1 + cmp r0, #0 + bne _08015C70 + b _08016082 _08015C70: - strb r6, [r5] - ldr r0, [r4] - ldr r3, _08015C9C @ =0x00000715 - adds r0, r0, r3 - movs r1, #0x7e - strb r1, [r0] - ldr r1, [r4] + strb r6, [r5] + ldr r0, [r4] + ldr r3, _08015C9C @ =0x00000715 + adds r0, r0, r3 + movs r1, #0x7e + strb r1, [r0] + ldr r1, [r4] _08015C7E: - movs r0, #0xfa - lsls r0, r0, #4 - str r0, [r1, #0x3c] - b _08016082 - .align 2, 0 + movs r0, #0xfa + lsls r0, r0, #4 + str r0, [r1, #0x3c] + b _08016082 + .align 2, 0 _08015C88: .4byte 0x00000732 _08015C8C: .4byte 0x00000713 _08015C90: .4byte 0x00000714 @@ -42816,69 +42816,69 @@ _08015C94: .4byte 0x00000711 _08015C98: .4byte 0x00000712 _08015C9C: .4byte 0x00000715 _08015CA0: - ldr r1, _08015D18 @ =0x020314E0 - ldr r2, [r1] - ldr r4, _08015D1C @ =0x000005B2 - adds r0, r2, r4 - movs r3, #0 - ldrsb r3, [r0, r3] - adds r5, r1, #0 - cmp r3, #0 - beq _08015CB4 - b _08015DE0 + ldr r1, _08015D18 @ =0x020314E0 + ldr r2, [r1] + ldr r4, _08015D1C @ =0x000005B2 + adds r0, r2, r4 + movs r3, #0 + ldrsb r3, [r0, r3] + adds r5, r1, #0 + cmp r3, #0 + beq _08015CB4 + b _08015DE0 _08015CB4: - ldr r1, _08015D20 @ =0x0000132C - adds r0, r2, r1 - ldr r0, [r0] - movs r4, #0x10 - ldrsh r0, [r0, r4] - cmp r0, #0xaa - ble _08015D30 - movs r1, #0xbc - lsls r1, r1, #2 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, #2 - bls _08015CD0 - b _08016082 + ldr r1, _08015D20 @ =0x0000132C + adds r0, r2, r1 + ldr r0, [r0] + movs r4, #0x10 + ldrsh r0, [r0, r4] + cmp r0, #0xaa + ble _08015D30 + movs r1, #0xbc + lsls r1, r1, #2 + adds r0, r2, r1 + ldrb r0, [r0] + cmp r0, #2 + bls _08015CD0 + b _08016082 _08015CD0: - adds r0, r2, #0 - adds r0, #0x23 - strb r3, [r0] - ldr r0, [r5] - adds r0, #0x22 - movs r1, #2 - strb r1, [r0] - movs r2, #0xb0 - lsls r2, r2, #8 - adds r0, r2, #0 - strh r0, [r6] - movs r0, #1 - strh r0, [r7] - ldr r1, [r5] - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #2 - bgt _08015D0E - ldr r3, _08015D24 @ =0x000001AB - adds r1, r1, r3 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #2 - bgt _08015D0E - movs r0, #3 - strb r0, [r1] - ldr r0, [r5] - ldr r4, _08015D28 @ =0x000002F2 - adds r0, r0, r4 - movs r1, #5 - strh r1, [r0] + adds r0, r2, #0 + adds r0, #0x23 + strb r3, [r0] + ldr r0, [r5] + adds r0, #0x22 + movs r1, #2 + strb r1, [r0] + movs r2, #0xb0 + lsls r2, r2, #8 + adds r0, r2, #0 + strh r0, [r6] + movs r0, #1 + strh r0, [r7] + ldr r1, [r5] + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #2 + bgt _08015D0E + ldr r3, _08015D24 @ =0x000001AB + adds r1, r1, r3 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #2 + bgt _08015D0E + movs r0, #3 + strb r0, [r1] + ldr r0, [r5] + ldr r4, _08015D28 @ =0x000002F2 + adds r0, r0, r4 + movs r1, #5 + strh r1, [r0] _08015D0E: - ldr r1, [r5] - ldr r0, _08015D2C @ =0x0000C350 - str r0, [r1, #0x3c] - b _08016082 - .align 2, 0 + ldr r1, [r5] + ldr r0, _08015D2C @ =0x0000C350 + str r0, [r1, #0x3c] + b _08016082 + .align 2, 0 _08015D18: .4byte 0x020314E0 _08015D1C: .4byte 0x000005B2 _08015D20: .4byte 0x0000132C @@ -42886,1230 +42886,1230 @@ _08015D24: .4byte 0x000001AB _08015D28: .4byte 0x000002F2 _08015D2C: .4byte 0x0000C350 _08015D30: - ldr r4, _08015D88 @ =0x000002FB - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bgt _08015D58 - adds r0, r2, #0 - adds r0, #0x23 - strb r3, [r0] - ldr r0, [r5] - adds r0, #0x22 - movs r1, #2 - strb r1, [r0] - movs r1, #0xf8 - lsls r1, r1, #8 - adds r0, r1, #0 - strh r0, [r6] - movs r0, #1 - strh r0, [r7] + ldr r4, _08015D88 @ =0x000002FB + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bgt _08015D58 + adds r0, r2, #0 + adds r0, #0x23 + strb r3, [r0] + ldr r0, [r5] + adds r0, #0x22 + movs r1, #2 + strb r1, [r0] + movs r1, #0xf8 + lsls r1, r1, #8 + adds r0, r1, #0 + strh r0, [r6] + movs r0, #1 + strh r0, [r7] _08015D58: - ldr r0, [r5] - adds r1, r0, r4 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #5 - bne _08015D68 - movs r0, #6 - strb r0, [r1] + ldr r0, [r5] + adds r1, r0, r4 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #5 + bne _08015D68 + movs r0, #6 + strb r0, [r1] _08015D68: - ldr r1, [r5] - ldr r2, _08015D8C @ =0x0000029F - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08015D7A - b _08016082 + ldr r1, [r5] + ldr r2, _08015D8C @ =0x0000029F + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08015D7A + b _08016082 _08015D7A: - cmp r0, #1 - bne _08015D94 - ldr r3, _08015D90 @ =0x00000286 - adds r1, r1, r3 - movs r0, #0x5a - strh r0, [r1] - b _08015DB6 - .align 2, 0 + cmp r0, #1 + bne _08015D94 + ldr r3, _08015D90 @ =0x00000286 + adds r1, r1, r3 + movs r0, #0x5a + strh r0, [r1] + b _08015DB6 + .align 2, 0 _08015D88: .4byte 0x000002FB _08015D8C: .4byte 0x0000029F _08015D90: .4byte 0x00000286 _08015D94: - movs r4, #0xbe - lsls r4, r4, #2 - adds r0, r1, r4 - movs r1, #1 - strb r1, [r0] - ldr r0, [r5] - ldr r2, _08015DD0 @ =0x0000071B - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r5] - ldr r3, _08015DD4 @ =0x0000071C - adds r0, r0, r3 - movs r1, #0x3c - strb r1, [r0] - movs r0, #0xd8 - bl m4aSongNumStart + movs r4, #0xbe + lsls r4, r4, #2 + adds r0, r1, r4 + movs r1, #1 + strb r1, [r0] + ldr r0, [r5] + ldr r2, _08015DD0 @ =0x0000071B + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r5] + ldr r3, _08015DD4 @ =0x0000071C + adds r0, r0, r3 + movs r1, #0x3c + strb r1, [r0] + movs r0, #0xd8 + bl m4aSongNumStart _08015DB6: - ldr r2, _08015DD8 @ =0x020314E0 - ldr r0, [r2] - ldr r4, _08015DDC @ =0x0000029F - adds r0, r0, r4 - movs r1, #0 - strb r1, [r0] - ldr r0, [r2] - movs r1, #0xa8 - lsls r1, r1, #2 - adds r0, r0, r1 - subs r1, #0x48 - strh r1, [r0] - b _08016082 - .align 2, 0 + ldr r2, _08015DD8 @ =0x020314E0 + ldr r0, [r2] + ldr r4, _08015DDC @ =0x0000029F + adds r0, r0, r4 + movs r1, #0 + strb r1, [r0] + ldr r0, [r2] + movs r1, #0xa8 + lsls r1, r1, #2 + adds r0, r0, r1 + subs r1, #0x48 + strh r1, [r0] + b _08016082 + .align 2, 0 _08015DD0: .4byte 0x0000071B _08015DD4: .4byte 0x0000071C _08015DD8: .4byte 0x020314E0 _08015DDC: .4byte 0x0000029F _08015DE0: - movs r3, #0xe2 - lsls r3, r3, #1 - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, #0 - beq _08015DEE - b _08016082 + movs r3, #0xe2 + lsls r3, r3, #1 + adds r0, r2, r3 + ldrh r0, [r0] + cmp r0, #0 + beq _08015DEE + b _08016082 _08015DEE: - ldr r4, _08015E04 @ =0x0000132C - adds r0, r2, r4 - ldr r0, [r0] - movs r1, #0x10 - ldrsh r0, [r0, r1] - cmp r0, #0x78 - bgt _08015E08 - subs r3, #2 - adds r1, r2, r3 - movs r0, #1 - b _08015E10 - .align 2, 0 + ldr r4, _08015E04 @ =0x0000132C + adds r0, r2, r4 + ldr r0, [r0] + movs r1, #0x10 + ldrsh r0, [r0, r1] + cmp r0, #0x78 + bgt _08015E08 + subs r3, #2 + adds r1, r2, r3 + movs r0, #1 + b _08015E10 + .align 2, 0 _08015E04: .4byte 0x0000132C _08015E08: - movs r4, #0xe1 - lsls r4, r4, #1 - adds r1, r2, r4 - movs r0, #2 + movs r4, #0xe1 + lsls r4, r4, #1 + adds r1, r2, r4 + movs r0, #2 _08015E10: - strb r0, [r1] - ldr r2, [r5] - movs r0, #0xf1 - lsls r0, r0, #1 - adds r1, r2, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #1 - bgt _08015E40 - adds r1, r0, #0 - movs r3, #0xe1 - lsls r3, r3, #1 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #1 - cmp r1, r0 - beq _08015E38 - b _08016082 + strb r0, [r1] + ldr r2, [r5] + movs r0, #0xf1 + lsls r0, r0, #1 + adds r1, r2, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #1 + bgt _08015E40 + adds r1, r0, #0 + movs r3, #0xe1 + lsls r3, r3, #1 + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r0, #1 + cmp r1, r0 + beq _08015E38 + b _08016082 _08015E38: - movs r4, #0xe2 - lsls r4, r4, #1 - adds r1, r2, r4 - b _08015E46 + movs r4, #0xe2 + lsls r4, r4, #1 + adds r1, r2, r4 + b _08015E46 _08015E40: - movs r0, #0xe2 - lsls r0, r0, #1 - adds r1, r2, r0 + movs r0, #0xe2 + lsls r0, r0, #1 + adds r1, r2, r0 _08015E46: - movs r0, #0x78 - strh r0, [r1] - b _08016082 + movs r0, #0x78 + strh r0, [r1] + b _08016082 _08015E4C: - ldr r6, _08015EA4 @ =0x020314E0 - ldr r1, [r6] - ldr r5, _08015EA8 @ =0x00000616 - adds r0, r1, r5 - ldrh r0, [r0] - cmp r0, #0 - beq _08015E5C - b _08016082 + ldr r6, _08015EA4 @ =0x020314E0 + ldr r1, [r6] + ldr r5, _08015EA8 @ =0x00000616 + adds r0, r1, r5 + ldrh r0, [r0] + cmp r0, #0 + beq _08015E5C + b _08016082 _08015E5C: - ldr r2, _08015EAC @ =0x0000132C - adds r0, r1, r2 - ldr r0, [r0] - ldrh r2, [r0, #0x32] - ldr r3, _08015EB0 @ =0x00000614 - adds r0, r1, r3 - strh r2, [r0] - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - bge _08015E78 - rsbs r0, r0, #0 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 + ldr r2, _08015EAC @ =0x0000132C + adds r0, r1, r2 + ldr r0, [r0] + ldrh r2, [r0, #0x32] + ldr r3, _08015EB0 @ =0x00000614 + adds r0, r1, r3 + strh r2, [r0] + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + bge _08015E78 + rsbs r0, r0, #0 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 _08015E78: - movs r0, #0xe3 - lsls r0, r0, #1 - adds r4, r1, r0 - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - movs r1, #3 - bl __divsi3 - ldrh r1, [r4] - adds r1, r1, r0 - strh r1, [r4] - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #0xa8 - ble _08015E9A - movs r0, #0xa8 - strh r0, [r4] + movs r0, #0xe3 + lsls r0, r0, #1 + adds r4, r1, r0 + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + movs r1, #3 + bl __divsi3 + ldrh r1, [r4] + adds r1, r1, r0 + strh r1, [r4] + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #0xa8 + ble _08015E9A + movs r0, #0xa8 + strh r0, [r4] _08015E9A: - ldr r0, [r6] - adds r0, r0, r5 - movs r1, #0x14 - strh r1, [r0] - b _08016082 - .align 2, 0 + ldr r0, [r6] + adds r0, r0, r5 + movs r1, #0x14 + strh r1, [r0] + b _08016082 + .align 2, 0 _08015EA4: .4byte 0x020314E0 _08015EA8: .4byte 0x00000616 _08015EAC: .4byte 0x0000132C _08015EB0: .4byte 0x00000614 _08015EB4: - ldr r3, _08015F14 @ =0x020314E0 - ldr r1, [r3] - movs r4, #0xb6 - lsls r4, r4, #2 - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08015ECA - b _08016082 + ldr r3, _08015F14 @ =0x020314E0 + ldr r1, [r3] + movs r4, #0xb6 + lsls r4, r4, #2 + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08015ECA + b _08016082 _08015ECA: - ldrh r0, [r1, #0x26] - cmp r0, #0 - beq _08015ED2 - b _08016082 + ldrh r0, [r1, #0x26] + cmp r0, #0 + beq _08015ED2 + b _08016082 _08015ED2: - ldr r2, _08015F18 @ =0x000002DA - adds r1, r1, r2 - ldrb r0, [r1] - movs r2, #0 - ldrsb r2, [r1, r2] - cmp r2, #0 - beq _08015EE2 - b _08016082 + ldr r2, _08015F18 @ =0x000002DA + adds r1, r1, r2 + ldrb r0, [r1] + movs r2, #0 + ldrsb r2, [r1, r2] + cmp r2, #0 + beq _08015EE2 + b _08016082 _08015EE2: - adds r0, #1 - strb r0, [r1] - ldr r0, [r3] - adds r0, r0, r4 - strb r2, [r0] - ldr r0, [r3] - adds r0, #0x23 - strb r2, [r0] - ldr r0, [r3] - adds r0, #0x22 - movs r1, #2 - strb r1, [r0] - movs r4, #0xd0 - lsls r4, r4, #8 - adds r0, r4, #0 - strh r0, [r6] - movs r0, #1 - strh r0, [r7] - ldr r1, [r3] - ldr r0, _08015F1C @ =0x00001388 - str r0, [r1, #0x3c] - movs r0, #0xb7 - bl m4aSongNumStart - b _08016020 - .align 2, 0 + adds r0, #1 + strb r0, [r1] + ldr r0, [r3] + adds r0, r0, r4 + strb r2, [r0] + ldr r0, [r3] + adds r0, #0x23 + strb r2, [r0] + ldr r0, [r3] + adds r0, #0x22 + movs r1, #2 + strb r1, [r0] + movs r4, #0xd0 + lsls r4, r4, #8 + adds r0, r4, #0 + strh r0, [r6] + movs r0, #1 + strh r0, [r7] + ldr r1, [r3] + ldr r0, _08015F1C @ =0x00001388 + str r0, [r1, #0x3c] + movs r0, #0xb7 + bl m4aSongNumStart + b _08016020 + .align 2, 0 _08015F14: .4byte 0x020314E0 _08015F18: .4byte 0x000002DA _08015F1C: .4byte 0x00001388 _08015F20: - ldr r4, _08015F80 @ =0x020314E0 - ldr r1, [r4] - movs r5, #0xb6 - lsls r5, r5, #2 - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08015F36 - b _08016082 + ldr r4, _08015F80 @ =0x020314E0 + ldr r1, [r4] + movs r5, #0xb6 + lsls r5, r5, #2 + adds r0, r1, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08015F36 + b _08016082 _08015F36: - ldrh r2, [r1, #0x26] - cmp r2, #0 - beq _08015F3E - b _08016082 + ldrh r2, [r1, #0x26] + cmp r2, #0 + beq _08015F3E + b _08016082 _08015F3E: - ldr r0, _08015F84 @ =0x000002DA - adds r1, r1, r0 - ldrb r0, [r1] - movs r3, #0 - ldrsb r3, [r1, r3] - cmp r3, #1 - beq _08015F4E - b _08016082 + ldr r0, _08015F84 @ =0x000002DA + adds r1, r1, r0 + ldrb r0, [r1] + movs r3, #0 + ldrsb r3, [r1, r3] + cmp r3, #1 + beq _08015F4E + b _08016082 _08015F4E: - adds r0, #1 - strb r0, [r1] - ldr r0, [r4] - adds r0, r0, r5 - strb r2, [r0] - ldr r0, [r4] - adds r0, #0x23 - strb r2, [r0] - ldr r0, [r4] - adds r0, #0x22 - movs r1, #2 - strb r1, [r0] - movs r1, #0xcc - lsls r1, r1, #8 - adds r0, r1, #0 - strh r0, [r6] - strh r3, [r7] - movs r0, #0xb7 - bl m4aSongNumStart - ldr r1, [r4] - ldr r0, _08015F88 @ =0x00001388 - str r0, [r1, #0x3c] - b _08016020 - .align 2, 0 + adds r0, #1 + strb r0, [r1] + ldr r0, [r4] + adds r0, r0, r5 + strb r2, [r0] + ldr r0, [r4] + adds r0, #0x23 + strb r2, [r0] + ldr r0, [r4] + adds r0, #0x22 + movs r1, #2 + strb r1, [r0] + movs r1, #0xcc + lsls r1, r1, #8 + adds r0, r1, #0 + strh r0, [r6] + strh r3, [r7] + movs r0, #0xb7 + bl m4aSongNumStart + ldr r1, [r4] + ldr r0, _08015F88 @ =0x00001388 + str r0, [r1, #0x3c] + b _08016020 + .align 2, 0 _08015F80: .4byte 0x020314E0 _08015F84: .4byte 0x000002DA _08015F88: .4byte 0x00001388 _08015F8C: - ldr r0, _08015FE8 @ =0x020314E0 - ldr r3, [r0] - movs r2, #0x13 - ldrsb r2, [r3, r2] - adds r5, r0, #0 - cmp r2, #2 - ble _0801602C - cmp r2, #5 - beq _0801602C - movs r2, #0xb8 - lsls r2, r2, #2 - adds r0, r3, r2 - ldrh r2, [r0] - cmp r2, #0 - bne _08016082 - ldr r4, _08015FEC @ =0x000002DA - adds r0, r3, r4 - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #2 - bne _08015FF4 - adds r0, r3, #0 - adds r0, #0x23 - strb r2, [r0] - ldr r0, [r5] - adds r0, #0x22 - strb r1, [r0] - movs r1, #0xc8 - lsls r1, r1, #8 - adds r0, r1, #0 - strh r0, [r6] - movs r0, #1 - strh r0, [r7] - ldr r1, [r5] - adds r1, r1, r4 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0xb7 - bl m4aSongNumStart - ldr r1, [r5] - ldr r0, _08015FF0 @ =0x00001388 - str r0, [r1, #0x3c] - b _08016020 - .align 2, 0 + ldr r0, _08015FE8 @ =0x020314E0 + ldr r3, [r0] + movs r2, #0x13 + ldrsb r2, [r3, r2] + adds r5, r0, #0 + cmp r2, #2 + ble _0801602C + cmp r2, #5 + beq _0801602C + movs r2, #0xb8 + lsls r2, r2, #2 + adds r0, r3, r2 + ldrh r2, [r0] + cmp r2, #0 + bne _08016082 + ldr r4, _08015FEC @ =0x000002DA + adds r0, r3, r4 + movs r1, #0 + ldrsb r1, [r0, r1] + cmp r1, #2 + bne _08015FF4 + adds r0, r3, #0 + adds r0, #0x23 + strb r2, [r0] + ldr r0, [r5] + adds r0, #0x22 + strb r1, [r0] + movs r1, #0xc8 + lsls r1, r1, #8 + adds r0, r1, #0 + strh r0, [r6] + movs r0, #1 + strh r0, [r7] + ldr r1, [r5] + adds r1, r1, r4 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + movs r0, #0xb7 + bl m4aSongNumStart + ldr r1, [r5] + ldr r0, _08015FF0 @ =0x00001388 + str r0, [r1, #0x3c] + b _08016020 + .align 2, 0 _08015FE8: .4byte 0x020314E0 _08015FEC: .4byte 0x000002DA _08015FF0: .4byte 0x00001388 _08015FF4: - cmp r1, #3 - bne _08016082 - adds r0, r3, #0 - adds r0, #0x23 - strb r2, [r0] - ldr r0, [r5] - adds r0, #0x22 - movs r1, #2 - strb r1, [r0] - movs r2, #0xc8 - lsls r2, r2, #8 - adds r0, r2, #0 - strh r0, [r6] - movs r4, #1 - strh r4, [r7] - movs r0, #0xb7 - bl m4aSongNumStart - ldr r0, [r5] - ldr r3, _08016028 @ =0x000002D9 - adds r0, r0, r3 - strb r4, [r0] + cmp r1, #3 + bne _08016082 + adds r0, r3, #0 + adds r0, #0x23 + strb r2, [r0] + ldr r0, [r5] + adds r0, #0x22 + movs r1, #2 + strb r1, [r0] + movs r2, #0xc8 + lsls r2, r2, #8 + adds r0, r2, #0 + strh r0, [r6] + movs r4, #1 + strh r4, [r7] + movs r0, #0xb7 + bl m4aSongNumStart + ldr r0, [r5] + ldr r3, _08016028 @ =0x000002D9 + adds r0, r0, r3 + strb r4, [r0] _08016020: - movs r0, #7 - bl sub_11B0 - b _08016082 - .align 2, 0 + movs r0, #7 + bl sub_11B0 + b _08016082 + .align 2, 0 _08016028: .4byte 0x000002D9 _0801602C: - ldr r1, [r5] - movs r4, #0xb6 - lsls r4, r4, #2 - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08016082 - ldr r0, _08016088 @ =0x000002DA - adds r2, r1, r0 - ldrb r0, [r2] - movs r3, #0 - ldrsb r3, [r2, r3] - cmp r3, #2 - bne _08016082 - adds r0, #1 - movs r1, #0 - strb r0, [r2] - ldr r0, [r5] - adds r0, r0, r4 - strb r1, [r0] - ldr r0, [r5] - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r5] - adds r0, #0x22 - strb r3, [r0] - movs r1, #0xc8 - lsls r1, r1, #8 - adds r0, r1, #0 - strh r0, [r6] - movs r0, #1 - strh r0, [r7] - movs r0, #0xb7 - bl m4aSongNumStart - ldr r1, [r5] - ldr r0, _0801608C @ =0x00001388 - str r0, [r1, #0x3c] - movs r0, #7 - bl sub_11B0 + ldr r1, [r5] + movs r4, #0xb6 + lsls r4, r4, #2 + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08016082 + ldr r0, _08016088 @ =0x000002DA + adds r2, r1, r0 + ldrb r0, [r2] + movs r3, #0 + ldrsb r3, [r2, r3] + cmp r3, #2 + bne _08016082 + adds r0, #1 + movs r1, #0 + strb r0, [r2] + ldr r0, [r5] + adds r0, r0, r4 + strb r1, [r0] + ldr r0, [r5] + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r5] + adds r0, #0x22 + strb r3, [r0] + movs r1, #0xc8 + lsls r1, r1, #8 + adds r0, r1, #0 + strh r0, [r6] + movs r0, #1 + strh r0, [r7] + movs r0, #0xb7 + bl m4aSongNumStart + ldr r1, [r5] + ldr r0, _0801608C @ =0x00001388 + str r0, [r1, #0x3c] + movs r0, #7 + bl sub_11B0 _08016082: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08016088: .4byte 0x000002DA _0801608C: .4byte 0x00001388 - thumb_func_start sub_16090 + thumb_func_start sub_16090 sub_16090: @ 0x08016090 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - mov sb, r0 - mov r8, r1 - add r2, sp, #4 - movs r1, #0 - strh r1, [r2] - ldr r0, _08016190 @ =0x020314E0 - ldr r0, [r0] - mov sl, r0 - ldr r0, _08016194 @ =0x0000132C - add r0, sl - ldr r0, [r0] - strh r1, [r0, #4] - mov r1, sb - movs r3, #0 - ldrsh r4, [r1, r3] - adds r0, r4, #0 - cmp r4, #0 - bge _080160C2 - adds r0, r4, #7 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + mov sb, r0 + mov r8, r1 + add r2, sp, #4 + movs r1, #0 + strh r1, [r2] + ldr r0, _08016190 @ =0x020314E0 + ldr r0, [r0] + mov sl, r0 + ldr r0, _08016194 @ =0x0000132C + add r0, sl + ldr r0, [r0] + strh r1, [r0, #4] + mov r1, sb + movs r3, #0 + ldrsh r4, [r1, r3] + adds r0, r4, #0 + cmp r4, #0 + bge _080160C2 + adds r0, r4, #7 _080160C2: - asrs r1, r0, #3 - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - ldr r7, _08016198 @ =0xFFFF0000 - mov ip, r7 - mov r2, ip - ands r5, r2 - orrs r5, r0 - mov r7, sb - movs r0, #2 - ldrsh r3, [r7, r0] - adds r0, r3, #0 - cmp r3, #0 - bge _080160E0 - adds r0, r3, #7 + asrs r1, r0, #3 + lsls r0, r1, #0x10 + lsrs r0, r0, #0x10 + ldr r7, _08016198 @ =0xFFFF0000 + mov ip, r7 + mov r2, ip + ands r5, r2 + orrs r5, r0 + mov r7, sb + movs r0, #2 + ldrsh r3, [r7, r0] + adds r0, r3, #0 + cmp r3, #0 + bge _080160E0 + adds r0, r3, #7 _080160E0: - asrs r0, r0, #3 - lsls r2, r0, #0x10 - ldr r7, _0801619C @ =0x0000FFFF - ands r5, r7 - lsls r1, r1, #3 - subs r1, r4, r1 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov r4, ip - ands r6, r4 - orrs r6, r1 - lsls r0, r0, #3 - subs r0, r3, r0 - lsls r0, r0, #0x10 - ands r6, r7 - orrs r6, r0 - orrs r5, r2 - asrs r4, r2, #0x10 - adds r2, r4, #0 - cmp r4, #0 - bge _0801610C - adds r2, #0x3f + asrs r0, r0, #3 + lsls r2, r0, #0x10 + ldr r7, _0801619C @ =0x0000FFFF + ands r5, r7 + lsls r1, r1, #3 + subs r1, r4, r1 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + mov r4, ip + ands r6, r4 + orrs r6, r1 + lsls r0, r0, #3 + subs r0, r3, r0 + lsls r0, r0, #0x10 + ands r6, r7 + orrs r6, r0 + orrs r5, r2 + asrs r4, r2, #0x10 + adds r2, r4, #0 + cmp r4, #0 + bge _0801610C + adds r2, #0x3f _0801610C: - asrs r2, r2, #6 - mov r0, sl - adds r0, #0x24 - movs r3, #0 - ldrsb r3, [r0, r3] - lsls r1, r2, #6 - subs r1, r4, r1 - lsls r1, r1, #0x10 - ands r5, r7 - ldr r7, _080161A0 @ =0x02031520 - mov ip, r7 - adds r3, r3, r2 - lsls r3, r3, #2 - mov r2, ip - adds r2, #0x38 - adds r2, r3, r2 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - asrs r1, r1, #0xa - adds r1, r1, r0 - ldr r0, [r2] - lsls r1, r1, #1 - adds r1, r1, r0 - mov r4, ip - adds r4, #0x48 - adds r4, r3, r4 - movs r0, #0 - ldrsh r2, [r1, r0] - asrs r1, r6, #0x10 - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - lsls r1, r1, #3 - lsls r2, r2, #6 - adds r1, r1, r2 - adds r1, r1, r0 - ldr r2, [r4] - lsls r0, r1, #1 - adds r0, r0, r2 - ldrh r2, [r0] - mov r0, sp - strh r2, [r0] - mov r0, ip - adds r0, #0x58 - adds r3, r3, r0 - ldr r0, [r3] - adds r0, r0, r1 - ldrb r0, [r0] - mov r4, sp - adds r4, #2 - strb r0, [r4] - mov r0, sb - mov r1, sp - adds r2, r4, #0 - bl sub_162B8 - ldrb r0, [r4] - movs r1, #0xf - ands r1, r0 - lsrs r6, r0, #4 - cmp r1, #3 - bgt _080161A4 - cmp r1, #2 - bge _0801626C - cmp r1, #1 - beq _080161A8 - b _08016290 - .align 2, 0 + asrs r2, r2, #6 + mov r0, sl + adds r0, #0x24 + movs r3, #0 + ldrsb r3, [r0, r3] + lsls r1, r2, #6 + subs r1, r4, r1 + lsls r1, r1, #0x10 + ands r5, r7 + ldr r7, _080161A0 @ =0x02031520 + mov ip, r7 + adds r3, r3, r2 + lsls r3, r3, #2 + mov r2, ip + adds r2, #0x38 + adds r2, r3, r2 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + asrs r1, r1, #0xa + adds r1, r1, r0 + ldr r0, [r2] + lsls r1, r1, #1 + adds r1, r1, r0 + mov r4, ip + adds r4, #0x48 + adds r4, r3, r4 + movs r0, #0 + ldrsh r2, [r1, r0] + asrs r1, r6, #0x10 + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + lsls r1, r1, #3 + lsls r2, r2, #6 + adds r1, r1, r2 + adds r1, r1, r0 + ldr r2, [r4] + lsls r0, r1, #1 + adds r0, r0, r2 + ldrh r2, [r0] + mov r0, sp + strh r2, [r0] + mov r0, ip + adds r0, #0x58 + adds r3, r3, r0 + ldr r0, [r3] + adds r0, r0, r1 + ldrb r0, [r0] + mov r4, sp + adds r4, #2 + strb r0, [r4] + mov r0, sb + mov r1, sp + adds r2, r4, #0 + bl sub_162B8 + ldrb r0, [r4] + movs r1, #0xf + ands r1, r0 + lsrs r6, r0, #4 + cmp r1, #3 + bgt _080161A4 + cmp r1, #2 + bge _0801626C + cmp r1, #1 + beq _080161A8 + b _08016290 + .align 2, 0 _08016190: .4byte 0x020314E0 _08016194: .4byte 0x0000132C _08016198: .4byte 0xFFFF0000 _0801619C: .4byte 0x0000FFFF _080161A0: .4byte 0x02031520 _080161A4: - cmp r1, #4 - bne _08016290 + cmp r1, #4 + bne _08016290 _080161A8: - ldr r2, _08016208 @ =0x020314E0 - ldr r0, [r2] - subs r1, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r5, #1 - strb r5, [r0] - mov r0, sp - ldrh r0, [r0] - mov r1, r8 - strh r0, [r1] - ldr r3, _0801620C @ =0xFFFFC010 - adds r0, r0, r3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x20 - bhi _08016260 - ldr r0, [r2] - ldr r4, _08016210 @ =0x0000132C - adds r3, r0, r4 - ldr r2, [r3] - movs r7, #0x10 - ldrsh r1, [r2, r7] - ldr r4, _08016214 @ =0x02031520 - movs r7, #0x26 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - blt _080161F4 - movs r0, #0x12 - ldrsh r1, [r2, r0] - movs r7, #0x28 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - bge _08016260 + ldr r2, _08016208 @ =0x020314E0 + ldr r0, [r2] + subs r1, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r5, #1 + strb r5, [r0] + mov r0, sp + ldrh r0, [r0] + mov r1, r8 + strh r0, [r1] + ldr r3, _0801620C @ =0xFFFFC010 + adds r0, r0, r3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x20 + bhi _08016260 + ldr r0, [r2] + ldr r4, _08016210 @ =0x0000132C + adds r3, r0, r4 + ldr r2, [r3] + movs r7, #0x10 + ldrsh r1, [r2, r7] + ldr r4, _08016214 @ =0x02031520 + movs r7, #0x26 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + blt _080161F4 + movs r0, #0x12 + ldrsh r1, [r2, r0] + movs r7, #0x28 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + bge _08016260 _080161F4: - movs r1, #6 - ldrsh r0, [r2, r1] - cmp r0, #0 - ble _08016218 - movs r2, #0xf8 - lsls r2, r2, #6 - adds r0, r2, #0 - mov r3, r8 - strh r0, [r3] - b _08016260 - .align 2, 0 + movs r1, #6 + ldrsh r0, [r2, r1] + cmp r0, #0 + ble _08016218 + movs r2, #0xf8 + lsls r2, r2, #6 + adds r0, r2, #0 + mov r3, r8 + strh r0, [r3] + b _08016260 + .align 2, 0 _08016208: .4byte 0x020314E0 _0801620C: .4byte 0xFFFFC010 _08016210: .4byte 0x0000132C _08016214: .4byte 0x02031520 _08016218: - cmp r0, #0 - beq _08016228 - movs r4, #0x82 - lsls r4, r4, #7 - adds r0, r4, #0 - mov r7, r8 - strh r0, [r7] - b _08016260 + cmp r0, #0 + beq _08016228 + movs r4, #0x82 + lsls r4, r4, #7 + adds r0, r4, #0 + mov r7, r8 + strh r0, [r7] + b _08016260 _08016228: - ldr r0, _08016248 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - ands r0, r5 - cmp r0, #0 - beq _0801624C - movs r0, #0x28 - strh r0, [r2, #4] - ldr r0, [r3] - strh r5, [r0, #6] - movs r1, #0xf8 - lsls r1, r1, #6 - adds r0, r1, #0 - mov r2, r8 - strh r0, [r2] - b _08016260 - .align 2, 0 + ldr r0, _08016248 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + ands r0, r5 + cmp r0, #0 + beq _0801624C + movs r0, #0x28 + strh r0, [r2, #4] + ldr r0, [r3] + strh r5, [r0, #6] + movs r1, #0xf8 + lsls r1, r1, #6 + adds r0, r1, #0 + mov r2, r8 + strh r0, [r2] + b _08016260 + .align 2, 0 _08016248: .4byte 0x0200B0C0 _0801624C: - ldr r0, _08016268 @ =0x0000FFD8 - strh r0, [r2, #4] - ldr r1, [r3] - adds r0, #0x27 - strh r0, [r1, #6] - movs r3, #0x82 - lsls r3, r3, #7 - adds r0, r3, #0 - mov r4, r8 - strh r0, [r4] + ldr r0, _08016268 @ =0x0000FFD8 + strh r0, [r2, #4] + ldr r1, [r3] + adds r0, #0x27 + strh r0, [r1, #6] + movs r3, #0x82 + lsls r3, r3, #7 + adds r0, r3, #0 + mov r4, r8 + strh r0, [r4] _08016260: - movs r0, #1 - mov r7, sp - strh r0, [r7, #4] - b _08016290 - .align 2, 0 + movs r0, #1 + mov r7, sp + strh r0, [r7, #4] + b _08016290 + .align 2, 0 _08016268: .4byte 0x0000FFD8 _0801626C: - ldr r2, _080162B0 @ =0x020314E0 - ldr r0, [r2] - subs r1, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r1, #2 - strb r1, [r0] - mov r0, sp - ldrh r1, [r0] - ldr r0, _080162B4 @ =0x0000FFF0 - ands r0, r1 - mov r3, r8 - strh r0, [r3] - movs r0, #1 - mov r4, sp - strh r0, [r4, #4] + ldr r2, _080162B0 @ =0x020314E0 + ldr r0, [r2] + subs r1, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r1, #2 + strb r1, [r0] + mov r0, sp + ldrh r1, [r0] + ldr r0, _080162B4 @ =0x0000FFF0 + ands r0, r1 + mov r3, r8 + strh r0, [r3] + movs r0, #1 + mov r4, sp + strh r0, [r4, #4] _08016290: - adds r0, r6, #0 - add r1, sp, #4 - mov r2, r8 - bl sub_1642C - mov r7, sp - movs r1, #4 - ldrsh r0, [r7, r1] - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - .align 2, 0 + adds r0, r6, #0 + add r1, sp, #4 + mov r2, r8 + bl sub_1642C + mov r7, sp + movs r1, #4 + ldrsh r0, [r7, r1] + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + .align 2, 0 _080162B0: .4byte 0x020314E0 _080162B4: .4byte 0x0000FFF0 - thumb_func_start sub_162B8 + thumb_func_start sub_162B8 sub_162B8: @ 0x080162B8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0xc - adds r4, r0, #0 - str r1, [sp] - str r2, [sp, #4] - movs r7, #0 - movs r6, #0 - movs r0, #0 - str r0, [sp, #8] - ldr r0, _08016418 @ =0x020314E0 - ldr r2, [r0] - ldr r3, _0801641C @ =0x000005B2 - adds r1, r2, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - mov sl, r0 - cmp r1, #0 - beq _080162E8 - b _08016408 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0xc + adds r4, r0, #0 + str r1, [sp] + str r2, [sp, #4] + movs r7, #0 + movs r6, #0 + movs r0, #0 + str r0, [sp, #8] + ldr r0, _08016418 @ =0x020314E0 + ldr r2, [r0] + ldr r3, _0801641C @ =0x000005B2 + adds r1, r2, r3 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + mov sl, r0 + cmp r1, #0 + beq _080162E8 + b _08016408 _080162E8: - adds r0, r2, #0 - adds r0, #0x24 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov ip, r0 - cmp r0, #0 - beq _080162FA - b _08016408 + adds r0, r2, #0 + adds r0, #0x24 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov ip, r0 + cmp r0, #0 + beq _080162FA + b _08016408 _080162FA: - movs r5, #0xc2 - lsls r5, r5, #1 - adds r0, r2, r5 - ldrh r3, [r4] - ldrh r1, [r0] - adds r1, r3, r1 - adds r5, #2 - adds r0, r2, r5 - ldrh r2, [r4, #2] - ldrh r0, [r0] - adds r0, r2, r0 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - lsls r5, r1, #0x10 - lsrs r0, r5, #0x10 - mov r8, r3 - mov sb, r2 - cmp r0, #0x3f - bhi _08016342 - lsls r1, r4, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x3f - bhi _08016342 - ldr r2, _08016420 @ =0x08252B10 - asrs r0, r1, #0xa - asrs r1, r5, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r7, _08016424 @ =0x0000FFF0 - ands r7, r0 - movs r6, #0xf - ands r6, r0 - mov r0, ip - str r0, [sp, #8] + movs r5, #0xc2 + lsls r5, r5, #1 + adds r0, r2, r5 + ldrh r3, [r4] + ldrh r1, [r0] + adds r1, r3, r1 + adds r5, #2 + adds r0, r2, r5 + ldrh r2, [r4, #2] + ldrh r0, [r0] + adds r0, r2, r0 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + lsls r5, r1, #0x10 + lsrs r0, r5, #0x10 + mov r8, r3 + mov sb, r2 + cmp r0, #0x3f + bhi _08016342 + lsls r1, r4, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x3f + bhi _08016342 + ldr r2, _08016420 @ =0x08252B10 + asrs r0, r1, #0xa + asrs r1, r5, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r7, _08016424 @ =0x0000FFF0 + ands r7, r0 + movs r6, #0xf + ands r6, r0 + mov r0, ip + str r0, [sp, #8] _08016342: - cmp r6, #0 - bne _080163DA - mov r1, sl - ldr r2, [r1] - movs r3, #0xc4 - lsls r3, r3, #1 - adds r0, r2, r3 - ldrh r1, [r0] - add r1, r8 - movs r5, #0xc5 - lsls r5, r5, #1 - adds r0, r2, r5 - ldrh r0, [r0] - add r0, sb - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - lsls r3, r1, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x3f - bhi _0801638C - lsls r1, r4, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x3f - bhi _0801638C - ldr r2, _08016420 @ =0x08252B10 - asrs r0, r1, #0xa - asrs r1, r3, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r7, _08016424 @ =0x0000FFF0 - ands r7, r0 - movs r6, #0xf - ands r6, r0 - movs r0, #1 - str r0, [sp, #8] + cmp r6, #0 + bne _080163DA + mov r1, sl + ldr r2, [r1] + movs r3, #0xc4 + lsls r3, r3, #1 + adds r0, r2, r3 + ldrh r1, [r0] + add r1, r8 + movs r5, #0xc5 + lsls r5, r5, #1 + adds r0, r2, r5 + ldrh r0, [r0] + add r0, sb + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + lsls r3, r1, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x3f + bhi _0801638C + lsls r1, r4, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x3f + bhi _0801638C + ldr r2, _08016420 @ =0x08252B10 + asrs r0, r1, #0xa + asrs r1, r3, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r7, _08016424 @ =0x0000FFF0 + ands r7, r0 + movs r6, #0xf + ands r6, r0 + movs r0, #1 + str r0, [sp, #8] _0801638C: - cmp r6, #0 - bne _080163DA - mov r1, sl - ldr r2, [r1] - movs r3, #0xc6 - lsls r3, r3, #1 - adds r0, r2, r3 - ldrh r1, [r0] - add r1, r8 - movs r5, #0xc7 - lsls r5, r5, #1 - adds r0, r2, r5 - ldrh r0, [r0] - add r0, sb - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - lsls r3, r1, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x3f - bhi _080163D6 - lsls r1, r4, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x3f - bhi _080163D6 - ldr r2, _08016420 @ =0x08252B10 - asrs r0, r1, #0xa - asrs r1, r3, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r7, _08016424 @ =0x0000FFF0 - ands r7, r0 - movs r6, #0xf - ands r6, r0 - movs r0, #2 - str r0, [sp, #8] + cmp r6, #0 + bne _080163DA + mov r1, sl + ldr r2, [r1] + movs r3, #0xc6 + lsls r3, r3, #1 + adds r0, r2, r3 + ldrh r1, [r0] + add r1, r8 + movs r5, #0xc7 + lsls r5, r5, #1 + adds r0, r2, r5 + ldrh r0, [r0] + add r0, sb + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + lsls r3, r1, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x3f + bhi _080163D6 + lsls r1, r4, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x3f + bhi _080163D6 + ldr r2, _08016420 @ =0x08252B10 + asrs r0, r1, #0xa + asrs r1, r3, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r7, _08016424 @ =0x0000FFF0 + ands r7, r0 + movs r6, #0xf + ands r6, r0 + movs r0, #2 + str r0, [sp, #8] _080163D6: - cmp r6, #0 - beq _08016408 + cmp r6, #0 + beq _08016408 _080163DA: - mov r1, sl - ldr r0, [r1] - movs r2, #0xb8 - lsls r2, r2, #1 - adds r0, r0, r2 - ldr r3, [sp, #8] - adds r0, r0, r3 - movs r1, #6 - strb r1, [r0] - ldr r5, [sp] - strh r7, [r5] - ldr r0, [sp, #4] - strb r6, [r0] - mov r1, sl - ldr r0, [r1] - ldr r2, _08016428 @ =0x00000624 - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bgt _08016408 - movs r0, #2 - strb r0, [r1] + mov r1, sl + ldr r0, [r1] + movs r2, #0xb8 + lsls r2, r2, #1 + adds r0, r0, r2 + ldr r3, [sp, #8] + adds r0, r0, r3 + movs r1, #6 + strb r1, [r0] + ldr r5, [sp] + strh r7, [r5] + ldr r0, [sp, #4] + strb r6, [r0] + mov r1, sl + ldr r0, [r1] + ldr r2, _08016428 @ =0x00000624 + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + bgt _08016408 + movs r0, #2 + strb r0, [r1] _08016408: - add sp, #0xc - 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 + add sp, #0xc + 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 _08016418: .4byte 0x020314E0 _0801641C: .4byte 0x000005B2 _08016420: .4byte 0x08252B10 _08016424: .4byte 0x0000FFF0 _08016428: .4byte 0x00000624 - thumb_func_start sub_1642C + thumb_func_start sub_1642C sub_1642C: @ 0x0801642C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r1, #0 - adds r5, r2, #0 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - subs r0, #1 - cmp r0, #0xe - bls _08016446 - bl _080171B8 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + adds r6, r1, #0 + adds r5, r2, #0 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + subs r0, #1 + cmp r0, #0xe + bls _08016446 + bl _080171B8 _08016446: - lsls r0, r0, #2 - ldr r1, _08016450 @ =_08016454 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08016450 @ =_08016454 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08016450: .4byte _08016454 _08016454: @ jump table - .4byte _08016490 @ case 0 - .4byte _080164D8 @ case 1 - .4byte _08016530 @ case 2 - .4byte _08016580 @ case 3 - .4byte _08016794 @ case 4 - .4byte _080167CC @ case 5 - .4byte _0801686C @ case 6 - .4byte _080168B4 @ case 7 - .4byte _08016C28 @ case 8 - .4byte _08016C80 @ case 9 - .4byte _08016E28 @ case 10 - .4byte _08016EA2 @ case 11 - .4byte _08016F08 @ case 12 - .4byte _08017094 @ case 13 - .4byte _0801716C @ case 14 + .4byte _08016490 @ case 0 + .4byte _080164D8 @ case 1 + .4byte _08016530 @ case 2 + .4byte _08016580 @ case 3 + .4byte _08016794 @ case 4 + .4byte _080167CC @ case 5 + .4byte _0801686C @ case 6 + .4byte _080168B4 @ case 7 + .4byte _08016C28 @ case 8 + .4byte _08016C80 @ case 9 + .4byte _08016E28 @ case 10 + .4byte _08016EA2 @ case 11 + .4byte _08016F08 @ case 12 + .4byte _08017094 @ case 13 + .4byte _0801716C @ case 14 _08016490: - ldr r0, _080164B4 @ =0x020314E0 - ldr r1, [r0] - ldrh r0, [r1, #0x26] - cmp r0, #0 - beq _0801649E - bl _080171B8 + ldr r0, _080164B4 @ =0x020314E0 + ldr r1, [r0] + ldrh r0, [r1, #0x26] + cmp r0, #0 + beq _0801649E + bl _080171B8 _0801649E: - ldr r2, _080164B8 @ =0x0000132C - adds r0, r1, r2 - ldr r0, [r0] - movs r3, #0x28 - ldrsh r0, [r0, r3] - cmp r0, #0xc7 - ble _080164BC - adds r1, #0x25 - movs r0, #1 - b _080164C0 - .align 2, 0 + ldr r2, _080164B8 @ =0x0000132C + adds r0, r1, r2 + ldr r0, [r0] + movs r3, #0x28 + ldrsh r0, [r0, r3] + cmp r0, #0xc7 + ble _080164BC + adds r1, #0x25 + movs r0, #1 + b _080164C0 + .align 2, 0 _080164B4: .4byte 0x020314E0 _080164B8: .4byte 0x0000132C _080164BC: - adds r1, #0x25 - movs r0, #3 + adds r1, #0x25 + movs r0, #3 _080164C0: - strb r0, [r1] - bl sub_32914 - ldr r0, _080164D4 @ =0x020314E0 - ldr r0, [r0] - adds r0, #0x22 - movs r1, #7 - strb r1, [r0] - b _080168A4 - .align 2, 0 + strb r0, [r1] + bl sub_32914 + ldr r0, _080164D4 @ =0x020314E0 + ldr r0, [r0] + adds r0, #0x22 + movs r1, #7 + strb r1, [r0] + b _080168A4 + .align 2, 0 _080164D4: .4byte 0x020314E0 _080164D8: - ldr r3, _080164F0 @ =0x020314E0 - ldr r2, [r3] - adds r0, r2, #0 - adds r0, #0x24 - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #0 - bne _080164F8 - ldr r4, _080164F4 @ =0x0000132C - adds r0, r2, r4 - b _0801656C - .align 2, 0 + ldr r3, _080164F0 @ =0x020314E0 + ldr r2, [r3] + adds r0, r2, #0 + adds r0, #0x24 + movs r1, #0 + ldrsb r1, [r0, r1] + cmp r1, #0 + bne _080164F8 + ldr r4, _080164F4 @ =0x0000132C + adds r0, r2, r4 + b _0801656C + .align 2, 0 _080164F0: .4byte 0x020314E0 _080164F4: .4byte 0x0000132C _080164F8: - cmp r1, #2 - bne _08016514 - ldr r5, _08016510 @ =0x0000132C - adds r0, r2, r5 - ldr r0, [r0] - strb r1, [r0, #1] - ldr r0, [r3] - adds r0, #0x24 - movs r1, #3 - strb r1, [r0] - bl _080171B8 - .align 2, 0 + cmp r1, #2 + bne _08016514 + ldr r5, _08016510 @ =0x0000132C + adds r0, r2, r5 + ldr r0, [r0] + strb r1, [r0, #1] + ldr r0, [r3] + adds r0, #0x24 + movs r1, #3 + strb r1, [r0] + bl _080171B8 + .align 2, 0 _08016510: .4byte 0x0000132C _08016514: - cmp r1, #3 - beq _0801651C - bl _080171B8 + cmp r1, #3 + beq _0801651C + bl _080171B8 _0801651C: - ldr r1, _0801652C @ =0x0000132C - adds r0, r2, r1 - ldr r1, [r0] - movs r0, #1 - strb r0, [r1, #1] - bl _080171B8 - .align 2, 0 + ldr r1, _0801652C @ =0x0000132C + adds r0, r2, r1 + ldr r1, [r0] + movs r0, #1 + strb r0, [r1, #1] + bl _080171B8 + .align 2, 0 _0801652C: .4byte 0x0000132C _08016530: - ldr r3, _08016558 @ =0x020314E0 - ldr r1, [r3] - adds r0, r1, #0 - adds r0, #0x24 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08016560 - ldr r2, _0801655C @ =0x0000132C - adds r0, r1, r2 - ldr r1, [r0] - movs r2, #0 - movs r0, #3 - strb r0, [r1, #1] - ldr r0, [r3] - adds r0, #0x24 - strb r2, [r0] - bl _080171B8 - .align 2, 0 + ldr r3, _08016558 @ =0x020314E0 + ldr r1, [r3] + adds r0, r1, #0 + adds r0, #0x24 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _08016560 + ldr r2, _0801655C @ =0x0000132C + adds r0, r1, r2 + ldr r1, [r0] + movs r2, #0 + movs r0, #3 + strb r0, [r1, #1] + ldr r0, [r3] + adds r0, #0x24 + strb r2, [r0] + bl _080171B8 + .align 2, 0 _08016558: .4byte 0x020314E0 _0801655C: .4byte 0x0000132C _08016560: - cmp r0, #3 - beq _08016568 - bl _080171B8 + cmp r0, #3 + beq _08016568 + bl _080171B8 _08016568: - ldr r4, _0801657C @ =0x0000132C - adds r0, r1, r4 + ldr r4, _0801657C @ =0x0000132C + adds r0, r1, r4 _0801656C: - ldr r0, [r0] - movs r1, #2 - strb r1, [r0, #1] - ldr r0, [r3] - adds r0, #0x24 - strb r1, [r0] - bl _080171B8 - .align 2, 0 + ldr r0, [r0] + movs r1, #2 + strb r1, [r0, #1] + ldr r0, [r3] + adds r0, #0x24 + strb r1, [r0] + bl _080171B8 + .align 2, 0 _0801657C: .4byte 0x0000132C _08016580: - ldr r5, _080165D4 @ =0x020314E0 - ldr r3, [r5] - movs r1, #0xc0 - lsls r1, r1, #3 - adds r0, r3, r1 - ldrh r4, [r0] - cmp r4, #0 - beq _08016594 - bl _080171B8 + ldr r5, _080165D4 @ =0x020314E0 + ldr r3, [r5] + movs r1, #0xc0 + lsls r1, r1, #3 + adds r0, r3, r1 + ldrh r4, [r0] + cmp r4, #0 + beq _08016594 + bl _080171B8 _08016594: - ldr r6, _080165D8 @ =0x0000132C - adds r0, r3, r6 - ldr r2, [r0] - movs r0, #0x12 - ldrsh r1, [r2, r0] - ldr r0, _080165DC @ =0x00000103 - cmp r1, r0 - ble _080165A6 - b _08016718 + ldr r6, _080165D8 @ =0x0000132C + adds r0, r3, r6 + ldr r2, [r0] + movs r0, #0x12 + ldrsh r1, [r2, r0] + ldr r0, _080165DC @ =0x00000103 + cmp r1, r0 + ble _080165A6 + b _08016718 _080165A6: - movs r1, #0x10 - ldrsh r0, [r2, r1] - cmp r0, #0x49 - bgt _08016624 - movs r0, #0x13 - ldrsb r0, [r3, r0] - cmp r0, #2 - ble _080165B8 - b _0801676E + movs r1, #0x10 + ldrsh r0, [r2, r1] + cmp r0, #0x49 + bgt _08016624 + movs r0, #0x13 + ldrsb r0, [r3, r0] + cmp r0, #2 + ble _080165B8 + b _0801676E _080165B8: - ldr r2, _080165E0 @ =0x0000036B - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - ble _080165C8 - b _0801676E + ldr r2, _080165E0 @ =0x0000036B + adds r0, r3, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + ble _080165C8 + b _0801676E _080165C8: - cmp r0, #1 - bne _080165E8 - ldr r4, _080165E4 @ =0x0000036D - adds r1, r3, r4 - movs r0, #6 - b _080165EE - .align 2, 0 + cmp r0, #1 + bne _080165E8 + ldr r4, _080165E4 @ =0x0000036D + adds r1, r3, r4 + movs r0, #6 + b _080165EE + .align 2, 0 _080165D4: .4byte 0x020314E0 _080165D8: .4byte 0x0000132C _080165DC: .4byte 0x00000103 _080165E0: .4byte 0x0000036B _080165E4: .4byte 0x0000036D _080165E8: - ldr r5, _08016614 @ =0x0000036D - adds r1, r3, r5 - movs r0, #4 + ldr r5, _08016614 @ =0x0000036D + adds r1, r3, r5 + movs r0, #4 _080165EE: - strb r0, [r1] - ldr r5, _08016618 @ =0x020314E0 - ldr r1, [r5] - movs r0, #0xdc - lsls r0, r0, #2 - adds r2, r1, r0 - movs r0, #0 - strh r0, [r2] - ldr r2, _0801661C @ =0x0000036B - adds r1, r1, r2 - movs r0, #1 - strb r0, [r1] - movs r0, #7 - bl sub_11B0 - ldr r1, [r5] - ldr r3, _08016620 @ =0x0000132C - adds r4, r1, r3 - b _0801667E - .align 2, 0 + strb r0, [r1] + ldr r5, _08016618 @ =0x020314E0 + ldr r1, [r5] + movs r0, #0xdc + lsls r0, r0, #2 + adds r2, r1, r0 + movs r0, #0 + strh r0, [r2] + ldr r2, _0801661C @ =0x0000036B + adds r1, r1, r2 + movs r0, #1 + strb r0, [r1] + movs r0, #7 + bl sub_11B0 + ldr r1, [r5] + ldr r3, _08016620 @ =0x0000132C + adds r4, r1, r3 + b _0801667E + .align 2, 0 _08016614: .4byte 0x0000036D _08016618: .4byte 0x020314E0 _0801661C: .4byte 0x0000036B _08016620: .4byte 0x0000132C _08016624: - cmp r0, #0x73 - bgt _080166DC - movs r0, #0x13 - ldrsb r0, [r3, r0] - cmp r0, #2 - ble _08016632 - b _0801676E + cmp r0, #0x73 + bgt _080166DC + movs r0, #0x13 + ldrsb r0, [r3, r0] + cmp r0, #2 + ble _08016632 + b _0801676E _08016632: - ldr r5, _08016650 @ =0x0000036A - adds r0, r3, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - ble _08016642 - b _0801676E + ldr r5, _08016650 @ =0x0000036A + adds r0, r3, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + ble _08016642 + b _0801676E _08016642: - cmp r0, #1 - bne _08016654 - movs r0, #0xdb - lsls r0, r0, #2 - adds r1, r3, r0 - movs r0, #6 - b _0801665C - .align 2, 0 + cmp r0, #1 + bne _08016654 + movs r0, #0xdb + lsls r0, r0, #2 + adds r1, r3, r0 + movs r0, #6 + b _0801665C + .align 2, 0 _08016650: .4byte 0x0000036A _08016654: - movs r2, #0xdb - lsls r2, r2, #2 - adds r1, r3, r2 - movs r0, #4 + movs r2, #0xdb + lsls r2, r2, #2 + adds r1, r3, r2 + movs r0, #4 _0801665C: - strb r0, [r1] - ldr r5, _080166BC @ =0x020314E0 - ldr r1, [r5] - ldr r3, _080166C0 @ =0x0000036E - adds r2, r1, r3 - movs r0, #0 - strh r0, [r2] - ldr r4, _080166C4 @ =0x0000036A - adds r1, r1, r4 - movs r0, #1 - strb r0, [r1] - movs r0, #7 - bl sub_11B0 - ldr r1, [r5] - ldr r0, _080166C8 @ =0x0000132C - adds r4, r1, r0 + strb r0, [r1] + ldr r5, _080166BC @ =0x020314E0 + ldr r1, [r5] + ldr r3, _080166C0 @ =0x0000036E + adds r2, r1, r3 + movs r0, #0 + strh r0, [r2] + ldr r4, _080166C4 @ =0x0000036A + adds r1, r1, r4 + movs r0, #1 + strb r0, [r1] + movs r0, #7 + bl sub_11B0 + ldr r1, [r5] + ldr r0, _080166C8 @ =0x0000132C + adds r4, r1, r0 _0801667E: - ldr r3, [r4] - movs r2, #0x30 - ldrsh r0, [r3, r2] - lsrs r2, r0, #0x1f - adds r0, r0, r2 - asrs r0, r0, #1 - strh r0, [r3, #0x30] - ldr r3, [r4] - movs r4, #0x32 - ldrsh r0, [r3, r4] - lsrs r2, r0, #0x1f - adds r0, r0, r2 - asrs r0, r0, #1 - strh r0, [r3, #0x32] - ldr r4, _080166CC @ =0x00001378 - adds r0, r1, r4 - ldr r2, _080166D0 @ =0x00001334 - adds r1, r1, r2 - movs r2, #0x44 - bl memcpy - ldr r0, [r5] - ldr r3, _080166D4 @ =0x00001330 - adds r1, r0, r3 - adds r4, r0, r4 - str r4, [r1] - ldr r4, _080166D8 @ =0x00001328 - adds r0, r0, r4 - movs r1, #0x19 - strh r1, [r0] - b _0801676E - .align 2, 0 + ldr r3, [r4] + movs r2, #0x30 + ldrsh r0, [r3, r2] + lsrs r2, r0, #0x1f + adds r0, r0, r2 + asrs r0, r0, #1 + strh r0, [r3, #0x30] + ldr r3, [r4] + movs r4, #0x32 + ldrsh r0, [r3, r4] + lsrs r2, r0, #0x1f + adds r0, r0, r2 + asrs r0, r0, #1 + strh r0, [r3, #0x32] + ldr r4, _080166CC @ =0x00001378 + adds r0, r1, r4 + ldr r2, _080166D0 @ =0x00001334 + adds r1, r1, r2 + movs r2, #0x44 + bl memcpy + ldr r0, [r5] + ldr r3, _080166D4 @ =0x00001330 + adds r1, r0, r3 + adds r4, r0, r4 + str r4, [r1] + ldr r4, _080166D8 @ =0x00001328 + adds r0, r0, r4 + movs r1, #0x19 + strh r1, [r0] + b _0801676E + .align 2, 0 _080166BC: .4byte 0x020314E0 _080166C0: .4byte 0x0000036E _080166C4: .4byte 0x0000036A @@ -44119,662 +44119,662 @@ _080166D0: .4byte 0x00001334 _080166D4: .4byte 0x00001330 _080166D8: .4byte 0x00001328 _080166DC: - movs r0, #0xc3 - lsls r0, r0, #2 - adds r1, r3, r0 - movs r0, #0xe1 - lsls r0, r0, #3 - strh r0, [r1] - ldr r2, _0801670C @ =0x00000306 - adds r1, r3, r2 - movs r0, #1 - strb r0, [r1] - ldr r0, [r5] - ldr r3, _08016710 @ =0x0000070E - adds r1, r0, r3 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x62 - bgt _08016704 - adds r0, r2, #1 - strb r0, [r1] + movs r0, #0xc3 + lsls r0, r0, #2 + adds r1, r3, r0 + movs r0, #0xe1 + lsls r0, r0, #3 + strh r0, [r1] + ldr r2, _0801670C @ =0x00000306 + adds r1, r3, r2 + movs r0, #1 + strb r0, [r1] + ldr r0, [r5] + ldr r3, _08016710 @ =0x0000070E + adds r1, r0, r3 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x62 + bgt _08016704 + adds r0, r2, #1 + strb r0, [r1] _08016704: - ldr r1, [r5] - ldr r0, _08016714 @ =0x00001388 - str r0, [r1, #0x3c] - b _0801676E - .align 2, 0 + ldr r1, [r5] + ldr r0, _08016714 @ =0x00001388 + str r0, [r1, #0x3c] + b _0801676E + .align 2, 0 _0801670C: .4byte 0x00000306 _08016710: .4byte 0x0000070E _08016714: .4byte 0x00001388 _08016718: - movs r1, #0x10 - ldrsh r0, [r2, r1] - cmp r0, #0x6d - bgt _0801673E - movs r2, #0xca - lsls r2, r2, #2 - adds r1, r3, r2 - movs r0, #1 - strb r0, [r1] - ldr r0, [r5] - adds r0, r0, r6 - ldr r2, [r0] - movs r3, #0x32 - ldrsh r0, [r2, r3] - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - strh r0, [r2, #0x32] - b _0801676E + movs r1, #0x10 + ldrsh r0, [r2, r1] + cmp r0, #0x6d + bgt _0801673E + movs r2, #0xca + lsls r2, r2, #2 + adds r1, r3, r2 + movs r0, #1 + strb r0, [r1] + ldr r0, [r5] + adds r0, r0, r6 + ldr r2, [r0] + movs r3, #0x32 + ldrsh r0, [r2, r3] + lsrs r1, r0, #0x1f + adds r0, r0, r1 + asrs r0, r0, #1 + strh r0, [r2, #0x32] + b _0801676E _0801673E: - movs r5, #0xde - lsls r5, r5, #2 - adds r1, r3, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bne _08016752 - movs r0, #1 - strb r0, [r1] - b _08016754 + movs r5, #0xde + lsls r5, r5, #2 + adds r1, r3, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + bne _08016752 + movs r0, #1 + strb r0, [r1] + b _08016754 _08016752: - strb r4, [r1] + strb r4, [r1] _08016754: - ldr r0, _08016788 @ =0x020314E0 - ldr r3, [r0] - ldr r1, _0801678C @ =0x0000132C - adds r0, r3, r1 - ldr r2, [r0] - movs r4, #0x32 - ldrsh r0, [r2, r4] - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - strh r0, [r2, #0x32] - ldr r0, _08016790 @ =0x00000BB8 - str r0, [r3, #0x3c] + ldr r0, _08016788 @ =0x020314E0 + ldr r3, [r0] + ldr r1, _0801678C @ =0x0000132C + adds r0, r3, r1 + ldr r2, [r0] + movs r4, #0x32 + ldrsh r0, [r2, r4] + lsrs r1, r0, #0x1f + adds r0, r0, r1 + asrs r0, r0, #1 + strh r0, [r2, #0x32] + ldr r0, _08016790 @ =0x00000BB8 + str r0, [r3, #0x3c] _0801676E: - ldr r0, _08016788 @ =0x020314E0 - ldr r0, [r0] - movs r5, #0xc0 - lsls r5, r5, #3 - adds r0, r0, r5 - movs r1, #0x2d - strh r1, [r0] - movs r0, #0x76 - bl m4aSongNumStart - bl _080171B8 - .align 2, 0 + ldr r0, _08016788 @ =0x020314E0 + ldr r0, [r0] + movs r5, #0xc0 + lsls r5, r5, #3 + adds r0, r0, r5 + movs r1, #0x2d + strh r1, [r0] + movs r0, #0x76 + bl m4aSongNumStart + bl _080171B8 + .align 2, 0 _08016788: .4byte 0x020314E0 _0801678C: .4byte 0x0000132C _08016790: .4byte 0x00000BB8 _08016794: - ldr r1, _080167BC @ =0x020314E0 - ldr r0, [r1] - ldr r2, _080167C0 @ =0x00000165 - adds r0, r0, r2 - movs r3, #0 - movs r2, #1 - strb r2, [r0] - ldr r0, [r1] - adds r0, #0x20 - strb r2, [r0] - ldr r0, [r1] - ldr r4, _080167C4 @ =0x00000732 - adds r0, r0, r4 - strb r3, [r0] - ldr r0, [r1] - ldr r5, _080167C8 @ =0x00000342 - adds r0, r0, r5 - strb r3, [r0] - bl _080171B8 - .align 2, 0 + ldr r1, _080167BC @ =0x020314E0 + ldr r0, [r1] + ldr r2, _080167C0 @ =0x00000165 + adds r0, r0, r2 + movs r3, #0 + movs r2, #1 + strb r2, [r0] + ldr r0, [r1] + adds r0, #0x20 + strb r2, [r0] + ldr r0, [r1] + ldr r4, _080167C4 @ =0x00000732 + adds r0, r0, r4 + strb r3, [r0] + ldr r0, [r1] + ldr r5, _080167C8 @ =0x00000342 + adds r0, r0, r5 + strb r3, [r0] + bl _080171B8 + .align 2, 0 _080167BC: .4byte 0x020314E0 _080167C0: .4byte 0x00000165 _080167C4: .4byte 0x00000732 _080167C8: .4byte 0x00000342 _080167CC: - ldr r0, _08016850 @ =0x020314E0 - mov sb, r0 - ldr r1, [r0] - ldr r2, _08016854 @ =0x0000132C - mov r8, r2 - adds r0, r1, r2 - ldr r2, [r0] - movs r3, #0x10 - ldrsh r0, [r2, r3] - cmp r0, #0x77 - bgt _0801685C - movs r4, #0x32 - ldrsh r0, [r2, r4] - cmp r0, #0 - bgt _080167EE - bl _080171B8 + ldr r0, _08016850 @ =0x020314E0 + mov sb, r0 + ldr r1, [r0] + ldr r2, _08016854 @ =0x0000132C + mov r8, r2 + adds r0, r1, r2 + ldr r2, [r0] + movs r3, #0x10 + ldrsh r0, [r2, r3] + cmp r0, #0x77 + bgt _0801685C + movs r4, #0x32 + ldrsh r0, [r2, r4] + cmp r0, #0 + bgt _080167EE + bl _080171B8 _080167EE: - movs r6, #0xda - lsls r6, r6, #8 - movs r5, #0x30 - ldrsh r0, [r2, r5] - adds r1, r0, #0 - muls r1, r0, r1 - movs r3, #0x32 - ldrsh r0, [r2, r3] - adds r4, r0, #0 - muls r4, r0, r4 - adds r0, r4, #0 - adds r7, r1, r0 - lsls r0, r7, #2 - bl Sqrt - lsls r0, r0, #0x10 - lsrs r7, r0, #0x11 - adds r0, r6, #0 - bl sub_C74 - mov r5, sb - ldr r1, [r5] - add r1, r8 - ldr r4, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r7, r0 - ldr r5, _08016858 @ =0x00004E20 - adds r1, r5, #0 - bl __divsi3 - strh r0, [r4, #0x30] - adds r0, r6, #0 - bl sub_C24 - mov r2, sb - ldr r1, [r2] - add r1, r8 - ldr r4, [r1] - rsbs r1, r7, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - adds r1, r5, #0 - bl __divsi3 - strh r0, [r4, #0x32] - bl _080171B8 - .align 2, 0 + movs r6, #0xda + lsls r6, r6, #8 + movs r5, #0x30 + ldrsh r0, [r2, r5] + adds r1, r0, #0 + muls r1, r0, r1 + movs r3, #0x32 + ldrsh r0, [r2, r3] + adds r4, r0, #0 + muls r4, r0, r4 + adds r0, r4, #0 + adds r7, r1, r0 + lsls r0, r7, #2 + bl Sqrt + lsls r0, r0, #0x10 + lsrs r7, r0, #0x11 + adds r0, r6, #0 + bl sub_C74 + mov r5, sb + ldr r1, [r5] + add r1, r8 + ldr r4, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r7, r0 + ldr r5, _08016858 @ =0x00004E20 + adds r1, r5, #0 + bl __divsi3 + strh r0, [r4, #0x30] + adds r0, r6, #0 + bl sub_C24 + mov r2, sb + ldr r1, [r2] + add r1, r8 + ldr r4, [r1] + rsbs r1, r7, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + adds r1, r5, #0 + bl __divsi3 + strh r0, [r4, #0x32] + bl _080171B8 + .align 2, 0 _08016850: .4byte 0x020314E0 _08016854: .4byte 0x0000132C _08016858: .4byte 0x00004E20 _0801685C: - ldr r3, _08016868 @ =0x00000342 - adds r1, r1, r3 - movs r0, #1 - strb r0, [r1] - bl _080171B8 - .align 2, 0 + ldr r3, _08016868 @ =0x00000342 + adds r1, r1, r3 + movs r0, #1 + strb r0, [r1] + bl _080171B8 + .align 2, 0 _08016868: .4byte 0x00000342 _0801686C: - ldr r4, _080168AC @ =0x020314E0 - ldr r3, [r4] - ldr r1, _080168B0 @ =0x00000366 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - bne _08016882 - bl _080171B8 + ldr r4, _080168AC @ =0x020314E0 + ldr r3, [r4] + ldr r1, _080168B0 @ =0x00000366 + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + bne _08016882 + bl _080171B8 _08016882: - movs r2, #0xda - lsls r2, r2, #2 - adds r1, r3, r2 - movs r2, #0 - movs r0, #0x11 - strh r0, [r1] - adds r0, r3, #0 - adds r0, #0x23 - strb r2, [r0] - ldr r0, [r4] - adds r0, #0x22 - movs r1, #2 - strb r1, [r0] - movs r3, #0xd8 - lsls r3, r3, #8 - adds r0, r3, #0 - strh r0, [r5] + movs r2, #0xda + lsls r2, r2, #2 + adds r1, r3, r2 + movs r2, #0 + movs r0, #0x11 + strh r0, [r1] + adds r0, r3, #0 + adds r0, #0x23 + strb r2, [r0] + ldr r0, [r4] + adds r0, #0x22 + movs r1, #2 + strb r1, [r0] + movs r3, #0xd8 + lsls r3, r3, #8 + adds r0, r3, #0 + strh r0, [r5] _080168A4: - movs r0, #1 - strh r0, [r6] - bl _080171B8 - .align 2, 0 + movs r0, #1 + strh r0, [r6] + bl _080171B8 + .align 2, 0 _080168AC: .4byte 0x020314E0 _080168B0: .4byte 0x00000366 _080168B4: - ldr r1, _0801690C @ =0x020314E0 - ldr r3, [r1] - ldr r4, _08016910 @ =0x0000132C - adds r0, r3, r4 - ldr r0, [r0] - ldrh r4, [r0, #0x10] - adds r0, r3, #0 - adds r0, #0x24 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov sb, r1 - cmp r0, #0 - ble _0801697C - ldr r5, _08016914 @ =0x00000732 - adds r0, r3, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #7 - bne _0801695A - movs r2, #0xca - lsls r2, r2, #1 - adds r0, r3, r2 - movs r3, #0xa - strb r3, [r0] - ldr r1, [r1] - ldr r4, _08016918 @ =0x0000072B - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _08016946 - cmp r0, #0 - bne _0801691C - movs r0, #0xfa - lsls r0, r0, #3 - str r0, [r1, #0x3c] - adds r1, r1, r2 - movs r0, #1 - strb r0, [r1] - b _08016938 - .align 2, 0 + ldr r1, _0801690C @ =0x020314E0 + ldr r3, [r1] + ldr r4, _08016910 @ =0x0000132C + adds r0, r3, r4 + ldr r0, [r0] + ldrh r4, [r0, #0x10] + adds r0, r3, #0 + adds r0, #0x24 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov sb, r1 + cmp r0, #0 + ble _0801697C + ldr r5, _08016914 @ =0x00000732 + adds r0, r3, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #7 + bne _0801695A + movs r2, #0xca + lsls r2, r2, #1 + adds r0, r3, r2 + movs r3, #0xa + strb r3, [r0] + ldr r1, [r1] + ldr r4, _08016918 @ =0x0000072B + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bgt _08016946 + cmp r0, #0 + bne _0801691C + movs r0, #0xfa + lsls r0, r0, #3 + str r0, [r1, #0x3c] + adds r1, r1, r2 + movs r0, #1 + strb r0, [r1] + b _08016938 + .align 2, 0 _0801690C: .4byte 0x020314E0 _08016910: .4byte 0x0000132C _08016914: .4byte 0x00000732 _08016918: .4byte 0x0000072B _0801691C: - cmp r0, #1 - bne _08016930 - ldr r0, _0801692C @ =0x00001388 - str r0, [r1, #0x3c] - adds r1, r1, r2 - movs r0, #5 - strb r0, [r1] - b _08016938 - .align 2, 0 + cmp r0, #1 + bne _08016930 + ldr r0, _0801692C @ =0x00001388 + str r0, [r1, #0x3c] + adds r1, r1, r2 + movs r0, #5 + strb r0, [r1] + b _08016938 + .align 2, 0 _0801692C: .4byte 0x00001388 _08016930: - ldr r0, _0801696C @ =0x00002710 - str r0, [r1, #0x3c] - adds r0, r1, r2 - strb r3, [r0] + ldr r0, _0801696C @ =0x00002710 + str r0, [r1, #0x3c] + adds r0, r1, r2 + strb r3, [r0] _08016938: - mov r5, sb - ldr r1, [r5] - ldr r0, _08016970 @ =0x0000072B - adds r1, r1, r0 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + mov r5, sb + ldr r1, [r5] + ldr r0, _08016970 @ =0x0000072B + adds r1, r1, r0 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _08016946: - mov r1, sb - ldr r0, [r1] - movs r3, #0xcb - lsls r3, r3, #1 - adds r2, r0, r3 - movs r1, #0 - strh r1, [r2] - ldr r4, _08016974 @ =0x0000072C - adds r0, r0, r4 - strh r1, [r0] + mov r1, sb + ldr r0, [r1] + movs r3, #0xcb + lsls r3, r3, #1 + adds r2, r0, r3 + movs r1, #0 + strh r1, [r2] + ldr r4, _08016974 @ =0x0000072C + adds r0, r0, r4 + strh r1, [r0] _0801695A: - mov r5, sb - ldr r0, [r5] - ldr r1, _08016978 @ =0x00000732 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - bl _080171B8 - .align 2, 0 + mov r5, sb + ldr r0, [r5] + ldr r1, _08016978 @ =0x00000732 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + bl _080171B8 + .align 2, 0 _0801696C: .4byte 0x00002710 _08016970: .4byte 0x0000072B _08016974: .4byte 0x0000072C _08016978: .4byte 0x00000732 _0801697C: - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x48 - bgt _08016A14 - ldr r2, _080169B4 @ =0x00000732 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #8 - bne _080169EE - movs r0, #0x13 - ldrsb r0, [r3, r0] - cmp r0, #2 - bgt _080169E0 - ldr r4, _080169B8 @ =0x0000072E - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _080169E0 - cmp r0, #0 - bne _080169BC - movs r0, #0xfa - lsls r0, r0, #3 - b _080169CA - .align 2, 0 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x48 + bgt _08016A14 + ldr r2, _080169B4 @ =0x00000732 + adds r0, r3, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #8 + bne _080169EE + movs r0, #0x13 + ldrsb r0, [r3, r0] + cmp r0, #2 + bgt _080169E0 + ldr r4, _080169B8 @ =0x0000072E + adds r0, r3, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bgt _080169E0 + cmp r0, #0 + bne _080169BC + movs r0, #0xfa + lsls r0, r0, #3 + b _080169CA + .align 2, 0 _080169B4: .4byte 0x00000732 _080169B8: .4byte 0x0000072E _080169BC: - cmp r0, #1 - bne _080169C8 - ldr r0, _080169C4 @ =0x00001388 - b _080169CA - .align 2, 0 + cmp r0, #1 + bne _080169C8 + ldr r0, _080169C4 @ =0x00001388 + b _080169CA + .align 2, 0 _080169C4: .4byte 0x00001388 _080169C8: - ldr r0, _08016A00 @ =0x00002710 + ldr r0, _08016A00 @ =0x00002710 _080169CA: - str r0, [r3, #0x3c] - ldr r0, _08016A04 @ =0x020314E0 - ldr r1, [r0] - ldr r5, _08016A08 @ =0x0000072E - adds r1, r1, r5 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0x99 - bl m4aSongNumStart + str r0, [r3, #0x3c] + ldr r0, _08016A04 @ =0x020314E0 + ldr r1, [r0] + ldr r5, _08016A08 @ =0x0000072E + adds r1, r1, r5 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + movs r0, #0x99 + bl m4aSongNumStart _080169E0: - ldr r0, _08016A04 @ =0x020314E0 - ldr r1, [r0] - ldr r2, _08016A0C @ =0x000006BC - adds r1, r1, r2 - movs r2, #1 - strb r2, [r1] - mov sb, r0 + ldr r0, _08016A04 @ =0x020314E0 + ldr r1, [r0] + ldr r2, _08016A0C @ =0x000006BC + adds r1, r1, r2 + movs r2, #1 + strb r2, [r1] + mov sb, r0 _080169EE: - mov r3, sb - ldr r0, [r3] - ldr r4, _08016A10 @ =0x00000732 - adds r0, r0, r4 - movs r1, #2 - strb r1, [r0] - bl _080171B8 - .align 2, 0 + mov r3, sb + ldr r0, [r3] + ldr r4, _08016A10 @ =0x00000732 + adds r0, r0, r4 + movs r1, #2 + strb r1, [r0] + bl _080171B8 + .align 2, 0 _08016A00: .4byte 0x00002710 _08016A04: .4byte 0x020314E0 _08016A08: .4byte 0x0000072E _08016A0C: .4byte 0x000006BC _08016A10: .4byte 0x00000732 _08016A14: - cmp r0, #0x62 - bgt _08016A88 - movs r1, #0xe3 - lsls r1, r1, #3 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08016A2E - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r3, #0x3c] + cmp r0, #0x62 + bgt _08016A88 + movs r1, #0xe3 + lsls r1, r1, #3 + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08016A2E + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r3, #0x3c] _08016A2E: - mov r5, sb - ldr r0, [r5] - adds r0, r0, r1 - movs r4, #1 - strb r4, [r0] - ldr r0, [r5] - ldr r1, _08016A78 @ =0x00000732 - adds r0, r0, r1 - movs r1, #3 - strb r1, [r0] - ldr r1, [r5] - ldr r2, _08016A7C @ =0x0000071B - adds r3, r1, r2 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - beq _08016A52 - b _080171B8 + mov r5, sb + ldr r0, [r5] + adds r0, r0, r1 + movs r4, #1 + strb r4, [r0] + ldr r0, [r5] + ldr r1, _08016A78 @ =0x00000732 + adds r0, r0, r1 + movs r1, #3 + strb r1, [r0] + ldr r1, [r5] + ldr r2, _08016A7C @ =0x0000071B + adds r3, r1, r2 + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #0 + beq _08016A52 + b _080171B8 _08016A52: - ldr r5, _08016A80 @ =0x00000719 - adds r0, r1, r5 - subs r2, #1 - adds r1, r1, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - cmp r0, #0 - bne _08016A66 - b _080171B8 + ldr r5, _08016A80 @ =0x00000719 + adds r0, r1, r5 + subs r2, #1 + adds r1, r1, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + cmp r0, #0 + bne _08016A66 + b _080171B8 _08016A66: - strb r4, [r3] - mov r3, sb - ldr r0, [r3] - ldr r4, _08016A84 @ =0x0000071C - adds r0, r0, r4 - movs r1, #0x3c - strb r1, [r0] - ldr r1, [r3] - b _08016E0A - .align 2, 0 + strb r4, [r3] + mov r3, sb + ldr r0, [r3] + ldr r4, _08016A84 @ =0x0000071C + adds r0, r0, r4 + movs r1, #0x3c + strb r1, [r0] + ldr r1, [r3] + b _08016E0A + .align 2, 0 _08016A78: .4byte 0x00000732 _08016A7C: .4byte 0x0000071B _08016A80: .4byte 0x00000719 _08016A84: .4byte 0x0000071C _08016A88: - cmp r0, #0x76 - bgt _08016AFC - ldr r1, _08016AEC @ =0x00000719 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08016AA0 - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r3, #0x3c] + cmp r0, #0x76 + bgt _08016AFC + ldr r1, _08016AEC @ =0x00000719 + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08016AA0 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r3, #0x3c] _08016AA0: - mov r5, sb - ldr r0, [r5] - adds r0, r0, r1 - movs r4, #1 - strb r4, [r0] - ldr r0, [r5] - ldr r1, _08016AF0 @ =0x00000732 - adds r0, r0, r1 - movs r1, #4 - strb r1, [r0] - ldr r1, [r5] - ldr r2, _08016AF4 @ =0x0000071B - adds r3, r1, r2 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - beq _08016AC4 - b _080171B8 + mov r5, sb + ldr r0, [r5] + adds r0, r0, r1 + movs r4, #1 + strb r4, [r0] + ldr r0, [r5] + ldr r1, _08016AF0 @ =0x00000732 + adds r0, r0, r1 + movs r1, #4 + strb r1, [r0] + ldr r1, [r5] + ldr r2, _08016AF4 @ =0x0000071B + adds r3, r1, r2 + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #0 + beq _08016AC4 + b _080171B8 _08016AC4: - movs r5, #0xe3 - lsls r5, r5, #3 - adds r0, r1, r5 - subs r2, #1 - adds r1, r1, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - cmp r0, #0 - bne _08016ADA - b _080171B8 + movs r5, #0xe3 + lsls r5, r5, #3 + adds r0, r1, r5 + subs r2, #1 + adds r1, r1, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + cmp r0, #0 + bne _08016ADA + b _080171B8 _08016ADA: - strb r4, [r3] - mov r3, sb - ldr r0, [r3] - ldr r4, _08016AF8 @ =0x0000071C - adds r0, r0, r4 - movs r1, #0x3c - strb r1, [r0] - ldr r1, [r3] - b _08016E0A - .align 2, 0 + strb r4, [r3] + mov r3, sb + ldr r0, [r3] + ldr r4, _08016AF8 @ =0x0000071C + adds r0, r0, r4 + movs r1, #0x3c + strb r1, [r0] + ldr r1, [r3] + b _08016E0A + .align 2, 0 _08016AEC: .4byte 0x00000719 _08016AF0: .4byte 0x00000732 _08016AF4: .4byte 0x0000071B _08016AF8: .4byte 0x0000071C _08016AFC: - cmp r0, #0x92 - bgt _08016B70 - ldr r1, _08016B60 @ =0x0000071A - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08016B14 - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r3, #0x3c] + cmp r0, #0x92 + bgt _08016B70 + ldr r1, _08016B60 @ =0x0000071A + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08016B14 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r3, #0x3c] _08016B14: - mov r5, sb - ldr r0, [r5] - adds r0, r0, r1 - movs r4, #1 - strb r4, [r0] - ldr r0, [r5] - ldr r1, _08016B64 @ =0x00000732 - adds r0, r0, r1 - movs r1, #5 - strb r1, [r0] - ldr r1, [r5] - ldr r2, _08016B68 @ =0x0000071B - adds r3, r1, r2 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - beq _08016B38 - b _080171B8 + mov r5, sb + ldr r0, [r5] + adds r0, r0, r1 + movs r4, #1 + strb r4, [r0] + ldr r0, [r5] + ldr r1, _08016B64 @ =0x00000732 + adds r0, r0, r1 + movs r1, #5 + strb r1, [r0] + ldr r1, [r5] + ldr r2, _08016B68 @ =0x0000071B + adds r3, r1, r2 + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #0 + beq _08016B38 + b _080171B8 _08016B38: - movs r5, #0xe3 - lsls r5, r5, #3 - adds r0, r1, r5 - subs r2, #2 - adds r1, r1, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - cmp r0, #0 - bne _08016B4E - b _080171B8 + movs r5, #0xe3 + lsls r5, r5, #3 + adds r0, r1, r5 + subs r2, #2 + adds r1, r1, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + cmp r0, #0 + bne _08016B4E + b _080171B8 _08016B4E: - strb r4, [r3] - mov r3, sb - ldr r0, [r3] - ldr r4, _08016B6C @ =0x0000071C - adds r0, r0, r4 - movs r1, #0x3c - strb r1, [r0] - ldr r1, [r3] - b _08016E0A - .align 2, 0 + strb r4, [r3] + mov r3, sb + ldr r0, [r3] + ldr r4, _08016B6C @ =0x0000071C + adds r0, r0, r4 + movs r1, #0x3c + strb r1, [r0] + ldr r1, [r3] + b _08016E0A + .align 2, 0 _08016B60: .4byte 0x0000071A _08016B64: .4byte 0x00000732 _08016B68: .4byte 0x0000071B _08016B6C: .4byte 0x0000071C _08016B70: - ldr r5, _08016BA0 @ =0x00000732 - adds r0, r3, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #9 - bne _08016C00 - movs r0, #0x13 - ldrsb r0, [r3, r0] - cmp r0, #2 - bgt _08016BF4 - ldr r1, _08016BA4 @ =0x0000072F - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _08016BF4 - cmp r0, #0 - bne _08016BA8 - movs r0, #0xfa - lsls r0, r0, #3 - b _08016BB6 - .align 2, 0 + ldr r5, _08016BA0 @ =0x00000732 + adds r0, r3, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #9 + bne _08016C00 + movs r0, #0x13 + ldrsb r0, [r3, r0] + cmp r0, #2 + bgt _08016BF4 + ldr r1, _08016BA4 @ =0x0000072F + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bgt _08016BF4 + cmp r0, #0 + bne _08016BA8 + movs r0, #0xfa + lsls r0, r0, #3 + b _08016BB6 + .align 2, 0 _08016BA0: .4byte 0x00000732 _08016BA4: .4byte 0x0000072F _08016BA8: - cmp r0, #1 - bne _08016BB4 - ldr r0, _08016BB0 @ =0x00001388 - b _08016BB6 - .align 2, 0 + cmp r0, #1 + bne _08016BB4 + ldr r0, _08016BB0 @ =0x00001388 + b _08016BB6 + .align 2, 0 _08016BB0: .4byte 0x00001388 _08016BB4: - ldr r0, _08016C10 @ =0x00002710 + ldr r0, _08016C10 @ =0x00002710 _08016BB6: - str r0, [r3, #0x3c] - ldr r4, _08016C14 @ =0x020314E0 - ldr r1, [r4] - ldr r5, _08016C18 @ =0x0000072F - adds r1, r1, r5 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, [r4] - movs r2, #0xe5 - lsls r2, r2, #1 - adds r0, r0, r2 - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r0, #0xd - bne _08016BDC - movs r0, #0x99 - bl m4aSongNumStart + str r0, [r3, #0x3c] + ldr r4, _08016C14 @ =0x020314E0 + ldr r1, [r4] + ldr r5, _08016C18 @ =0x0000072F + adds r1, r1, r5 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r0, [r4] + movs r2, #0xe5 + lsls r2, r2, #1 + adds r0, r0, r2 + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r0, #0xd + bne _08016BDC + movs r0, #0x99 + bl m4aSongNumStart _08016BDC: - ldr r1, [r4] - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov sb, r4 - cmp r0, #1 - ble _08016BF4 - ldr r4, _08016C1C @ =0x00000731 - adds r1, r1, r4 - movs r0, #1 - strb r0, [r1] + ldr r1, [r4] + adds r0, r1, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov sb, r4 + cmp r0, #1 + ble _08016BF4 + ldr r4, _08016C1C @ =0x00000731 + adds r1, r1, r4 + movs r0, #1 + strb r0, [r1] _08016BF4: - mov r5, sb - ldr r0, [r5] - ldr r1, _08016C20 @ =0x000006BC - adds r0, r0, r1 - movs r1, #2 - strb r1, [r0] + mov r5, sb + ldr r0, [r5] + ldr r1, _08016C20 @ =0x000006BC + adds r0, r0, r1 + movs r1, #2 + strb r1, [r0] _08016C00: - mov r2, sb - ldr r0, [r2] - ldr r3, _08016C24 @ =0x00000732 - adds r0, r0, r3 - movs r1, #6 - strb r1, [r0] - b _080171B8 - .align 2, 0 + mov r2, sb + ldr r0, [r2] + ldr r3, _08016C24 @ =0x00000732 + adds r0, r0, r3 + movs r1, #6 + strb r1, [r0] + b _080171B8 + .align 2, 0 _08016C10: .4byte 0x00002710 _08016C14: .4byte 0x020314E0 _08016C18: .4byte 0x0000072F @@ -44782,96 +44782,96 @@ _08016C1C: .4byte 0x00000731 _08016C20: .4byte 0x000006BC _08016C24: .4byte 0x00000732 _08016C28: - ldr r0, _08016C4C @ =0x020314E0 - ldr r1, [r0] - ldr r4, _08016C50 @ =0x0000132C - adds r0, r1, r4 - ldr r0, [r0] - ldrh r4, [r0, #0x10] - adds r0, r1, #0 - adds r0, #0x24 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _08016C58 - ldr r5, _08016C54 @ =0x00000732 - adds r1, r1, r5 - movs r0, #7 - strb r0, [r1] - b _080171B8 - .align 2, 0 + ldr r0, _08016C4C @ =0x020314E0 + ldr r1, [r0] + ldr r4, _08016C50 @ =0x0000132C + adds r0, r1, r4 + ldr r0, [r0] + ldrh r4, [r0, #0x10] + adds r0, r1, #0 + adds r0, #0x24 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _08016C58 + ldr r5, _08016C54 @ =0x00000732 + adds r1, r1, r5 + movs r0, #7 + strb r0, [r1] + b _080171B8 + .align 2, 0 _08016C4C: .4byte 0x020314E0 _08016C50: .4byte 0x0000132C _08016C54: .4byte 0x00000732 _08016C58: - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x32 - bgt _08016C70 - ldr r0, _08016C6C @ =0x00000732 - adds r1, r1, r0 - movs r0, #8 - strb r0, [r1] - b _080171B8 - .align 2, 0 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x32 + bgt _08016C70 + ldr r0, _08016C6C @ =0x00000732 + adds r1, r1, r0 + movs r0, #8 + strb r0, [r1] + b _080171B8 + .align 2, 0 _08016C6C: .4byte 0x00000732 _08016C70: - ldr r2, _08016C7C @ =0x00000732 - adds r1, r1, r2 - movs r0, #9 - strb r0, [r1] - b _080171B8 - .align 2, 0 + ldr r2, _08016C7C @ =0x00000732 + adds r1, r1, r2 + movs r0, #9 + strb r0, [r1] + b _080171B8 + .align 2, 0 _08016C7C: .4byte 0x00000732 _08016C80: - ldr r4, _08016CD8 @ =0x020314E0 - ldr r1, [r4] - ldr r3, _08016CDC @ =0x0000132C - adds r0, r1, r3 - ldr r0, [r0] - movs r5, #0x10 - ldrsh r0, [r0, r5] - cmp r0, #0x2e - bgt _08016CF4 - ldr r2, _08016CE0 @ =0x00000732 - adds r0, r1, r2 - movs r1, #0xa - strb r1, [r0] - ldr r1, [r4] - movs r3, #0xe2 - lsls r3, r3, #3 - adds r2, r1, r3 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08016CAC - b _080171B8 + ldr r4, _08016CD8 @ =0x020314E0 + ldr r1, [r4] + ldr r3, _08016CDC @ =0x0000132C + adds r0, r1, r3 + ldr r0, [r0] + movs r5, #0x10 + ldrsh r0, [r0, r5] + cmp r0, #0x2e + bgt _08016CF4 + ldr r2, _08016CE0 @ =0x00000732 + adds r0, r1, r2 + movs r1, #0xa + strb r1, [r0] + ldr r1, [r4] + movs r3, #0xe2 + lsls r3, r3, #3 + adds r2, r1, r3 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + beq _08016CAC + b _080171B8 _08016CAC: - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r1, #0x3c] - movs r6, #1 - strb r6, [r2] - ldr r3, [r4] - ldr r0, _08016CE4 @ =0x00000714 - adds r5, r3, r0 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - beq _08016CC6 - b _080171B8 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r1, #0x3c] + movs r6, #1 + strb r6, [r2] + ldr r3, [r4] + ldr r0, _08016CE4 @ =0x00000714 + adds r5, r3, r0 + movs r0, #0 + ldrsb r0, [r5, r0] + cmp r0, #0 + beq _08016CC6 + b _080171B8 _08016CC6: - ldr r1, _08016CE8 @ =0x00000711 - adds r0, r3, r1 - ldr r2, _08016CEC @ =0x00000712 - adds r1, r3, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - ldr r2, _08016CF0 @ =0x00000713 - b _08016DF0 - .align 2, 0 + ldr r1, _08016CE8 @ =0x00000711 + adds r0, r3, r1 + ldr r2, _08016CEC @ =0x00000712 + adds r1, r3, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + ldr r2, _08016CF0 @ =0x00000713 + b _08016DF0 + .align 2, 0 _08016CD8: .4byte 0x020314E0 _08016CDC: .4byte 0x0000132C _08016CE0: .4byte 0x00000732 @@ -44880,452 +44880,452 @@ _08016CE8: .4byte 0x00000711 _08016CEC: .4byte 0x00000712 _08016CF0: .4byte 0x00000713 _08016CF4: - cmp r0, #0x78 - bgt _08016D50 - ldr r5, _08016D40 @ =0x00000732 - adds r0, r1, r5 - movs r1, #0xb - strb r1, [r0] - ldr r1, [r4] - ldr r0, _08016D44 @ =0x00000711 - adds r2, r1, r0 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08016D10 - b _080171B8 + cmp r0, #0x78 + bgt _08016D50 + ldr r5, _08016D40 @ =0x00000732 + adds r0, r1, r5 + movs r1, #0xb + strb r1, [r0] + ldr r1, [r4] + ldr r0, _08016D44 @ =0x00000711 + adds r2, r1, r0 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + beq _08016D10 + b _080171B8 _08016D10: - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r1, #0x3c] - movs r6, #1 - strb r6, [r2] - ldr r3, [r4] - ldr r1, _08016D48 @ =0x00000714 - adds r5, r3, r1 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - beq _08016D2A - b _080171B8 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r1, #0x3c] + movs r6, #1 + strb r6, [r2] + ldr r3, [r4] + ldr r1, _08016D48 @ =0x00000714 + adds r5, r3, r1 + movs r0, #0 + ldrsb r0, [r5, r0] + cmp r0, #0 + beq _08016D2A + b _080171B8 _08016D2A: - movs r2, #0xe2 - lsls r2, r2, #3 - adds r0, r3, r2 - adds r2, #2 - adds r1, r3, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - ldr r2, _08016D4C @ =0x00000713 - b _08016DF0 - .align 2, 0 + movs r2, #0xe2 + lsls r2, r2, #3 + adds r0, r3, r2 + adds r2, #2 + adds r1, r3, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + ldr r2, _08016D4C @ =0x00000713 + b _08016DF0 + .align 2, 0 _08016D40: .4byte 0x00000732 _08016D44: .4byte 0x00000711 _08016D48: .4byte 0x00000714 _08016D4C: .4byte 0x00000713 _08016D50: - cmp r0, #0xc1 - bgt _08016DAC - ldr r5, _08016D9C @ =0x00000732 - adds r0, r1, r5 - movs r1, #0xc - strb r1, [r0] - ldr r1, [r4] - ldr r0, _08016DA0 @ =0x00000712 - adds r2, r1, r0 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08016D6C - b _080171B8 + cmp r0, #0xc1 + bgt _08016DAC + ldr r5, _08016D9C @ =0x00000732 + adds r0, r1, r5 + movs r1, #0xc + strb r1, [r0] + ldr r1, [r4] + ldr r0, _08016DA0 @ =0x00000712 + adds r2, r1, r0 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + beq _08016D6C + b _080171B8 _08016D6C: - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r1, #0x3c] - movs r6, #1 - strb r6, [r2] - ldr r3, [r4] - ldr r1, _08016DA4 @ =0x00000714 - adds r5, r3, r1 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - beq _08016D86 - b _080171B8 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r1, #0x3c] + movs r6, #1 + strb r6, [r2] + ldr r3, [r4] + ldr r1, _08016DA4 @ =0x00000714 + adds r5, r3, r1 + movs r0, #0 + ldrsb r0, [r5, r0] + cmp r0, #0 + beq _08016D86 + b _080171B8 _08016D86: - movs r2, #0xe2 - lsls r2, r2, #3 - adds r0, r3, r2 - adds r2, #1 - adds r1, r3, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - ldr r2, _08016DA8 @ =0x00000713 - b _08016DF0 - .align 2, 0 + movs r2, #0xe2 + lsls r2, r2, #3 + adds r0, r3, r2 + adds r2, #1 + adds r1, r3, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + ldr r2, _08016DA8 @ =0x00000713 + b _08016DF0 + .align 2, 0 _08016D9C: .4byte 0x00000732 _08016DA0: .4byte 0x00000712 _08016DA4: .4byte 0x00000714 _08016DA8: .4byte 0x00000713 _08016DAC: - ldr r5, _08016E14 @ =0x00000732 - adds r0, r1, r5 - movs r1, #0xd - strb r1, [r0] - ldr r1, [r4] - ldr r0, _08016E18 @ =0x00000713 - adds r2, r1, r0 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08016DC4 - b _080171B8 + ldr r5, _08016E14 @ =0x00000732 + adds r0, r1, r5 + movs r1, #0xd + strb r1, [r0] + ldr r1, [r4] + ldr r0, _08016E18 @ =0x00000713 + adds r2, r1, r0 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + beq _08016DC4 + b _080171B8 _08016DC4: - movs r0, #0xfa - lsls r0, r0, #2 - str r0, [r1, #0x3c] - movs r6, #1 - strb r6, [r2] - ldr r3, [r4] - ldr r1, _08016E1C @ =0x00000714 - adds r5, r3, r1 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - beq _08016DDE - b _080171B8 + movs r0, #0xfa + lsls r0, r0, #2 + str r0, [r1, #0x3c] + movs r6, #1 + strb r6, [r2] + ldr r3, [r4] + ldr r1, _08016E1C @ =0x00000714 + adds r5, r3, r1 + movs r0, #0 + ldrsb r0, [r5, r0] + cmp r0, #0 + beq _08016DDE + b _080171B8 _08016DDE: - movs r2, #0xe2 - lsls r2, r2, #3 - adds r0, r3, r2 - adds r2, #1 - adds r1, r3, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - ldr r2, _08016E20 @ =0x00000712 + movs r2, #0xe2 + lsls r2, r2, #3 + adds r0, r3, r2 + adds r2, #1 + adds r1, r3, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + ldr r2, _08016E20 @ =0x00000712 _08016DF0: - adds r1, r3, r2 - ldrb r1, [r1] - ands r0, r1 - cmp r0, #0 - bne _08016DFC - b _080171B8 + adds r1, r3, r2 + ldrb r1, [r1] + ands r0, r1 + cmp r0, #0 + bne _08016DFC + b _080171B8 _08016DFC: - strb r6, [r5] - ldr r0, [r4] - ldr r3, _08016E24 @ =0x00000715 - adds r0, r0, r3 - movs r1, #0x7e - strb r1, [r0] - ldr r1, [r4] + strb r6, [r5] + ldr r0, [r4] + ldr r3, _08016E24 @ =0x00000715 + adds r0, r0, r3 + movs r1, #0x7e + strb r1, [r0] + ldr r1, [r4] _08016E0A: - movs r0, #0xfa - lsls r0, r0, #4 - str r0, [r1, #0x3c] - b _080171B8 - .align 2, 0 + movs r0, #0xfa + lsls r0, r0, #4 + str r0, [r1, #0x3c] + b _080171B8 + .align 2, 0 _08016E14: .4byte 0x00000732 _08016E18: .4byte 0x00000713 _08016E1C: .4byte 0x00000714 _08016E20: .4byte 0x00000712 _08016E24: .4byte 0x00000715 _08016E28: - ldr r0, _08016E54 @ =0x020314E0 - ldr r3, [r0] - movs r4, #0xe2 - lsls r4, r4, #1 - adds r1, r3, r4 - ldrh r1, [r1] - mov sb, r0 - cmp r1, #0 - beq _08016E3C - b _080171B8 + ldr r0, _08016E54 @ =0x020314E0 + ldr r3, [r0] + movs r4, #0xe2 + lsls r4, r4, #1 + adds r1, r3, r4 + ldrh r1, [r1] + mov sb, r0 + cmp r1, #0 + beq _08016E3C + b _080171B8 _08016E3C: - ldr r5, _08016E58 @ =0x0000132C - adds r0, r3, r5 - ldr r0, [r0] - movs r1, #0x10 - ldrsh r0, [r0, r1] - cmp r0, #0x78 - bgt _08016E5C - movs r2, #0xe1 - lsls r2, r2, #1 - adds r1, r3, r2 - movs r0, #1 - b _08016E64 - .align 2, 0 + ldr r5, _08016E58 @ =0x0000132C + adds r0, r3, r5 + ldr r0, [r0] + movs r1, #0x10 + ldrsh r0, [r0, r1] + cmp r0, #0x78 + bgt _08016E5C + movs r2, #0xe1 + lsls r2, r2, #1 + adds r1, r3, r2 + movs r0, #1 + b _08016E64 + .align 2, 0 _08016E54: .4byte 0x020314E0 _08016E58: .4byte 0x0000132C _08016E5C: - movs r4, #0xe1 - lsls r4, r4, #1 - adds r1, r3, r4 - movs r0, #2 + movs r4, #0xe1 + lsls r4, r4, #1 + adds r1, r3, r4 + movs r0, #2 _08016E64: - strb r0, [r1] - mov r5, sb - ldr r2, [r5] - movs r0, #0xf1 - lsls r0, r0, #1 - adds r1, r2, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #1 - bgt _08016E96 - adds r1, r0, #0 - movs r3, #0xe1 - lsls r3, r3, #1 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #1 - cmp r1, r0 - beq _08016E8E - b _080171B8 + strb r0, [r1] + mov r5, sb + ldr r2, [r5] + movs r0, #0xf1 + lsls r0, r0, #1 + adds r1, r2, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #1 + bgt _08016E96 + adds r1, r0, #0 + movs r3, #0xe1 + lsls r3, r3, #1 + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r0, #1 + cmp r1, r0 + beq _08016E8E + b _080171B8 _08016E8E: - movs r4, #0xe2 - lsls r4, r4, #1 - adds r1, r2, r4 - b _08016E9C + movs r4, #0xe2 + lsls r4, r4, #1 + adds r1, r2, r4 + b _08016E9C _08016E96: - movs r5, #0xe2 - lsls r5, r5, #1 - adds r1, r2, r5 + movs r5, #0xe2 + lsls r5, r5, #1 + adds r1, r2, r5 _08016E9C: - movs r0, #0x78 - strh r0, [r1] - b _080171B8 + movs r0, #0x78 + strh r0, [r1] + b _080171B8 _08016EA2: - ldr r6, _08016EF8 @ =0x020314E0 - ldr r1, [r6] - ldr r5, _08016EFC @ =0x00000616 - adds r0, r1, r5 - ldrh r0, [r0] - cmp r0, #0 - beq _08016EB2 - b _080171B8 + ldr r6, _08016EF8 @ =0x020314E0 + ldr r1, [r6] + ldr r5, _08016EFC @ =0x00000616 + adds r0, r1, r5 + ldrh r0, [r0] + cmp r0, #0 + beq _08016EB2 + b _080171B8 _08016EB2: - ldr r2, _08016F00 @ =0x0000132C - adds r0, r1, r2 - ldr r0, [r0] - ldrh r2, [r0, #0x32] - ldr r3, _08016F04 @ =0x00000614 - adds r0, r1, r3 - strh r2, [r0] - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - bge _08016ECE - rsbs r0, r0, #0 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 + ldr r2, _08016F00 @ =0x0000132C + adds r0, r1, r2 + ldr r0, [r0] + ldrh r2, [r0, #0x32] + ldr r3, _08016F04 @ =0x00000614 + adds r0, r1, r3 + strh r2, [r0] + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + bge _08016ECE + rsbs r0, r0, #0 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 _08016ECE: - movs r0, #0xe3 - lsls r0, r0, #1 - adds r4, r1, r0 - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - movs r1, #3 - bl __divsi3 - ldrh r1, [r4] - adds r1, r1, r0 - strh r1, [r4] - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #0xa8 - ble _08016EF0 - movs r0, #0xa8 - strh r0, [r4] + movs r0, #0xe3 + lsls r0, r0, #1 + adds r4, r1, r0 + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + movs r1, #3 + bl __divsi3 + ldrh r1, [r4] + adds r1, r1, r0 + strh r1, [r4] + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #0xa8 + ble _08016EF0 + movs r0, #0xa8 + strh r0, [r4] _08016EF0: - ldr r0, [r6] - adds r0, r0, r5 - movs r1, #0x14 - b _080171B6 - .align 2, 0 + ldr r0, [r6] + adds r0, r0, r5 + movs r1, #0x14 + b _080171B6 + .align 2, 0 _08016EF8: .4byte 0x020314E0 _08016EFC: .4byte 0x00000616 _08016F00: .4byte 0x0000132C _08016F04: .4byte 0x00000614 _08016F08: - ldr r5, _08017058 @ =0x020314E0 - ldr r0, [r5] - ldr r2, _0801705C @ =0x00000732 - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xe - bne _08016F1A - b _080171B8 + ldr r5, _08017058 @ =0x020314E0 + ldr r0, [r5] + ldr r2, _0801705C @ =0x00000732 + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0xe + bne _08016F1A + b _080171B8 _08016F1A: - movs r0, #0xe - strb r0, [r1] - ldr r3, _08017060 @ =0x086ACE70 - ldr r1, [r5] - ldr r2, _08017064 @ =0x0000034A - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r3, [r0] - mov r8, r3 - movs r4, #0 - ldrsh r0, [r0, r4] - ldr r3, _08017068 @ =0x0000034B - adds r1, r1, r3 - adds r1, r1, r0 - movs r0, #0xa - strb r0, [r1] - ldr r1, [r5] - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r1, [r5] - adds r2, r1, r2 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #3 - bne _08016F88 - ldr r4, _0801706C @ =0x00001378 - adds r0, r1, r4 - ldr r2, _08017070 @ =0x00001334 - adds r1, r1, r2 - movs r2, #0x44 - bl memcpy - ldr r1, [r5] - ldr r3, _08017074 @ =0x00001330 - adds r0, r1, r3 - adds r4, r1, r4 - str r4, [r0] - ldr r4, _08017078 @ =0x00000342 - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08016F88 - movs r5, #0xd1 - lsls r5, r5, #2 - adds r1, r1, r5 - movs r0, #1 - strb r0, [r1] + movs r0, #0xe + strb r0, [r1] + ldr r3, _08017060 @ =0x086ACE70 + ldr r1, [r5] + ldr r2, _08017064 @ =0x0000034A + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r3, [r0] + mov r8, r3 + movs r4, #0 + ldrsh r0, [r0, r4] + ldr r3, _08017068 @ =0x0000034B + adds r1, r1, r3 + adds r1, r1, r0 + movs r0, #0xa + strb r0, [r1] + ldr r1, [r5] + adds r1, r1, r2 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r1, [r5] + adds r2, r1, r2 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #3 + bne _08016F88 + ldr r4, _0801706C @ =0x00001378 + adds r0, r1, r4 + ldr r2, _08017070 @ =0x00001334 + adds r1, r1, r2 + movs r2, #0x44 + bl memcpy + ldr r1, [r5] + ldr r3, _08017074 @ =0x00001330 + adds r0, r1, r3 + adds r4, r1, r4 + str r4, [r0] + ldr r4, _08017078 @ =0x00000342 + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08016F88 + movs r5, #0xd1 + lsls r5, r5, #2 + adds r1, r1, r5 + movs r0, #1 + strb r0, [r1] _08016F88: - ldr r0, _08017058 @ =0x020314E0 - ldr r3, [r0] - ldr r6, _08017064 @ =0x0000034A - adds r1, r3, r6 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - mov sb, r0 - cmp r1, #0xb - bne _08016FA6 - ldr r0, _08017074 @ =0x00001330 - adds r1, r3, r0 - ldr r2, _08017070 @ =0x00001334 - adds r0, r3, r2 - str r0, [r1] + ldr r0, _08017058 @ =0x020314E0 + ldr r3, [r0] + ldr r6, _08017064 @ =0x0000034A + adds r1, r3, r6 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + mov sb, r0 + cmp r1, #0xb + bne _08016FA6 + ldr r0, _08017074 @ =0x00001330 + adds r1, r3, r0 + ldr r2, _08017070 @ =0x00001334 + adds r0, r3, r2 + str r0, [r1] _08016FA6: - mov r3, sb - ldr r5, [r3] - adds r0, r5, r6 - movs r1, #0 - ldrsb r1, [r0, r1] - subs r0, r1, #1 - adds r3, r0, #0 - cmp r0, #0 - bge _08016FBA - adds r3, r1, #2 + mov r3, sb + ldr r5, [r3] + adds r0, r5, r6 + movs r1, #0 + ldrsb r1, [r0, r1] + subs r0, r1, #1 + adds r3, r0, #0 + cmp r0, #0 + bge _08016FBA + adds r3, r1, #2 _08016FBA: - asrs r3, r3, #2 - lsls r3, r3, #2 - ldr r2, _0801707C @ =0x0200B0C0 - subs r3, r0, r3 - adds r1, r3, #0 - adds r1, #0x2f - movs r0, #0xb8 - muls r0, r1, r0 - adds r0, r0, r2 - movs r4, #0xbe - lsls r4, r4, #2 - adds r0, r0, r4 - movs r7, #0 - movs r4, #0 - movs r1, #1 - strh r1, [r0] - ldr r1, _08017080 @ =0x00000355 - adds r0, r5, r1 - adds r0, r0, r3 - strb r7, [r0] - mov r5, sb - ldr r2, [r5] - lsls r1, r3, #1 - ldr r5, _08017084 @ =0x0000035E - adds r0, r2, r5 - adds r0, r0, r1 - strh r4, [r0] - ldr r0, _08017088 @ =0x00000359 - adds r1, r2, r0 - adds r1, r1, r3 - adds r2, r2, r6 - ldrb r0, [r2] - subs r0, #1 - strb r0, [r1] - mov r1, sb - ldr r0, [r1] - adds r1, r0, r6 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xc - ble _0801700E - strb r7, [r1] + asrs r3, r3, #2 + lsls r3, r3, #2 + ldr r2, _0801707C @ =0x0200B0C0 + subs r3, r0, r3 + adds r1, r3, #0 + adds r1, #0x2f + movs r0, #0xb8 + muls r0, r1, r0 + adds r0, r0, r2 + movs r4, #0xbe + lsls r4, r4, #2 + adds r0, r0, r4 + movs r7, #0 + movs r4, #0 + movs r1, #1 + strh r1, [r0] + ldr r1, _08017080 @ =0x00000355 + adds r0, r5, r1 + adds r0, r0, r3 + strb r7, [r0] + mov r5, sb + ldr r2, [r5] + lsls r1, r3, #1 + ldr r5, _08017084 @ =0x0000035E + adds r0, r2, r5 + adds r0, r0, r1 + strh r4, [r0] + ldr r0, _08017088 @ =0x00000359 + adds r1, r2, r0 + adds r1, r1, r3 + adds r2, r2, r6 + ldrb r0, [r2] + subs r0, #1 + strb r0, [r1] + mov r1, sb + ldr r0, [r1] + adds r1, r0, r6 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0xc + ble _0801700E + strb r7, [r1] _0801700E: - mov r2, r8 - lsls r0, r2, #0x10 - adds r3, r0, #0 - cmp r3, #0 - bne _08017030 - mov r4, sb - ldr r0, [r4] - ldr r5, _0801708C @ =0x0000132C - adds r0, r0, r5 - ldr r2, [r0] - movs r1, #0x32 - ldrsh r0, [r2, r1] - movs r1, #0x78 - rsbs r1, r1, #0 - cmp r0, r1 - ble _08017030 - strh r1, [r2, #0x32] + mov r2, r8 + lsls r0, r2, #0x10 + adds r3, r0, #0 + cmp r3, #0 + bne _08017030 + mov r4, sb + ldr r0, [r4] + ldr r5, _0801708C @ =0x0000132C + adds r0, r0, r5 + ldr r2, [r0] + movs r1, #0x32 + ldrsh r0, [r2, r1] + movs r1, #0x78 + rsbs r1, r1, #0 + cmp r0, r1 + ble _08017030 + strh r1, [r2, #0x32] _08017030: - asrs r0, r3, #0x10 - cmp r0, #2 - beq _08017038 - b _080171B8 + asrs r0, r3, #0x10 + cmp r0, #2 + beq _08017038 + b _080171B8 _08017038: - mov r2, sb - ldr r0, [r2] - ldr r3, _0801708C @ =0x0000132C - adds r0, r0, r3 - ldr r2, [r0] - movs r4, #0x32 - ldrsh r1, [r2, r4] - movs r0, #0xb4 - rsbs r0, r0, #0 - cmp r1, r0 - bgt _08017050 - b _080171B8 + mov r2, sb + ldr r0, [r2] + ldr r3, _0801708C @ =0x0000132C + adds r0, r0, r3 + ldr r2, [r0] + movs r4, #0x32 + ldrsh r1, [r2, r4] + movs r0, #0xb4 + rsbs r0, r0, #0 + cmp r1, r0 + bgt _08017050 + b _080171B8 _08017050: - ldr r0, _08017090 @ =0x0000FF4C - strh r0, [r2, #0x32] - b _080171B8 - .align 2, 0 + ldr r0, _08017090 @ =0x0000FF4C + strh r0, [r2, #0x32] + b _080171B8 + .align 2, 0 _08017058: .4byte 0x020314E0 _0801705C: .4byte 0x00000732 _08017060: .4byte 0x086ACE70 @@ -45342,97 +45342,97 @@ _08017088: .4byte 0x00000359 _0801708C: .4byte 0x0000132C _08017090: .4byte 0x0000FF4C _08017094: - ldr r5, _08017144 @ =0x020314E0 - ldr r0, [r5] - ldr r2, _08017148 @ =0x00000732 - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xf - bne _080170A6 - b _080171B8 + ldr r5, _08017144 @ =0x020314E0 + ldr r0, [r5] + ldr r2, _08017148 @ =0x00000732 + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0xf + bne _080170A6 + b _080171B8 _080170A6: - movs r0, #0xf - strb r0, [r1] - ldr r2, _0801714C @ =0x086ACE70 - ldr r1, [r5] - ldr r6, _08017150 @ =0x0000034A - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - adds r0, r0, r2 - movs r3, #0 - ldrsh r7, [r0, r3] - ldr r4, _08017154 @ =0x0000034B - adds r1, r1, r4 - adds r1, r1, r7 - movs r0, #0xa - strb r0, [r1] - ldr r1, [r5] - adds r1, r1, r6 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r4, [r5] - adds r0, r4, r6 - movs r1, #0 - ldrsb r1, [r0, r1] - subs r0, r1, #1 - adds r3, r0, #0 - cmp r0, #0 - bge _080170E6 - adds r3, r1, #2 + movs r0, #0xf + strb r0, [r1] + ldr r2, _0801714C @ =0x086ACE70 + ldr r1, [r5] + ldr r6, _08017150 @ =0x0000034A + adds r0, r1, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + adds r0, r0, r2 + movs r3, #0 + ldrsh r7, [r0, r3] + ldr r4, _08017154 @ =0x0000034B + adds r1, r1, r4 + adds r1, r1, r7 + movs r0, #0xa + strb r0, [r1] + ldr r1, [r5] + adds r1, r1, r6 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r4, [r5] + adds r0, r4, r6 + movs r1, #0 + ldrsb r1, [r0, r1] + subs r0, r1, #1 + adds r3, r0, #0 + cmp r0, #0 + bge _080170E6 + adds r3, r1, #2 _080170E6: - asrs r3, r3, #2 - lsls r3, r3, #2 - ldr r2, _08017158 @ =0x0200B0C0 - subs r3, r0, r3 - adds r1, r3, #0 - adds r1, #0x2f - movs r0, #0xb8 - muls r0, r1, r0 - adds r0, r0, r2 - movs r1, #0xbe - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0 - movs r1, #1 - strh r1, [r0] - ldr r1, _0801715C @ =0x00000355 - adds r0, r4, r1 - adds r0, r0, r3 - strb r2, [r0] - ldr r2, [r5] - lsls r1, r3, #1 - ldr r4, _08017160 @ =0x0000035E - adds r0, r2, r4 - adds r0, r0, r1 - movs r1, #0 - strh r1, [r0] - ldr r0, _08017164 @ =0x00000359 - adds r1, r2, r0 - adds r1, r1, r3 - adds r2, r2, r6 - ldrb r0, [r2] - subs r0, #1 - strb r0, [r1] - cmp r7, #1 - bne _080171B8 - ldr r0, [r5] - ldr r1, _08017168 @ =0x0000132C - adds r0, r0, r1 - ldr r1, [r0] - movs r2, #0x32 - ldrsh r0, [r1, r2] - movs r3, #0x96 - rsbs r3, r3, #0 - cmp r0, r3 - ble _080171B8 - strh r3, [r1, #0x32] - b _080171B8 - .align 2, 0 + asrs r3, r3, #2 + lsls r3, r3, #2 + ldr r2, _08017158 @ =0x0200B0C0 + subs r3, r0, r3 + adds r1, r3, #0 + adds r1, #0x2f + movs r0, #0xb8 + muls r0, r1, r0 + adds r0, r0, r2 + movs r1, #0xbe + lsls r1, r1, #2 + adds r0, r0, r1 + movs r2, #0 + movs r1, #1 + strh r1, [r0] + ldr r1, _0801715C @ =0x00000355 + adds r0, r4, r1 + adds r0, r0, r3 + strb r2, [r0] + ldr r2, [r5] + lsls r1, r3, #1 + ldr r4, _08017160 @ =0x0000035E + adds r0, r2, r4 + adds r0, r0, r1 + movs r1, #0 + strh r1, [r0] + ldr r0, _08017164 @ =0x00000359 + adds r1, r2, r0 + adds r1, r1, r3 + adds r2, r2, r6 + ldrb r0, [r2] + subs r0, #1 + strb r0, [r1] + cmp r7, #1 + bne _080171B8 + ldr r0, [r5] + ldr r1, _08017168 @ =0x0000132C + adds r0, r0, r1 + ldr r1, [r0] + movs r2, #0x32 + ldrsh r0, [r1, r2] + movs r3, #0x96 + rsbs r3, r3, #0 + cmp r0, r3 + ble _080171B8 + strh r3, [r1, #0x32] + b _080171B8 + .align 2, 0 _08017144: .4byte 0x020314E0 _08017148: .4byte 0x00000732 _0801714C: .4byte 0x086ACE70 @@ -45444,189 +45444,189 @@ _08017160: .4byte 0x0000035E _08017164: .4byte 0x00000359 _08017168: .4byte 0x0000132C _0801716C: - ldr r3, _08017190 @ =0x020314E0 - ldr r1, [r3] - ldr r4, _08017194 @ =0x0000132C - adds r0, r1, r4 - ldr r0, [r0] - movs r5, #0x12 - ldrsh r0, [r0, r5] - cmp r0, #0x4f - bgt _0801719C - ldr r0, _08017198 @ =0x00000306 - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #1 - bne _080171B8 - movs r0, #2 - strb r0, [r1] - b _080171B8 - .align 2, 0 + ldr r3, _08017190 @ =0x020314E0 + ldr r1, [r3] + ldr r4, _08017194 @ =0x0000132C + adds r0, r1, r4 + ldr r0, [r0] + movs r5, #0x12 + ldrsh r0, [r0, r5] + cmp r0, #0x4f + bgt _0801719C + ldr r0, _08017198 @ =0x00000306 + adds r1, r1, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #1 + bne _080171B8 + movs r0, #2 + strb r0, [r1] + b _080171B8 + .align 2, 0 _08017190: .4byte 0x020314E0 _08017194: .4byte 0x0000132C _08017198: .4byte 0x00000306 _0801719C: - ldr r4, _080171C4 @ =0x00000306 - adds r2, r1, r4 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #2 - bne _080171B8 - movs r1, #0 - movs r0, #3 - strb r0, [r2] - ldr r0, [r3] - movs r5, #0xc3 - lsls r5, r5, #2 - adds r0, r0, r5 + ldr r4, _080171C4 @ =0x00000306 + adds r2, r1, r4 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #2 + bne _080171B8 + movs r1, #0 + movs r0, #3 + strb r0, [r2] + ldr r0, [r3] + movs r5, #0xc3 + lsls r5, r5, #2 + adds r0, r0, r5 _080171B6: - strh r1, [r0] + strh r1, [r0] _080171B8: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _080171C4: .4byte 0x00000306 - thumb_func_start sub_171C8 + thumb_func_start sub_171C8 sub_171C8: @ 0x080171C8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - mov sb, r0 - mov r8, r1 - add r2, sp, #4 - movs r1, #0 - strh r1, [r2] - ldr r0, _080172CC @ =0x020314E0 - ldr r0, [r0] - mov sl, r0 - ldr r0, _080172D0 @ =0x0000132C - add r0, sl - ldr r0, [r0] - strh r1, [r0, #4] - mov r0, sb - movs r1, #0 - ldrsh r4, [r0, r1] - adds r0, r4, #0 - cmp r4, #0 - bge _080171FA - adds r0, r4, #7 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + mov sb, r0 + mov r8, r1 + add r2, sp, #4 + movs r1, #0 + strh r1, [r2] + ldr r0, _080172CC @ =0x020314E0 + ldr r0, [r0] + mov sl, r0 + ldr r0, _080172D0 @ =0x0000132C + add r0, sl + ldr r0, [r0] + strh r1, [r0, #4] + mov r0, sb + movs r1, #0 + ldrsh r4, [r0, r1] + adds r0, r4, #0 + cmp r4, #0 + bge _080171FA + adds r0, r4, #7 _080171FA: - asrs r1, r0, #3 - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - ldr r2, _080172D4 @ =0xFFFF0000 - mov ip, r2 - ands r5, r2 - orrs r5, r0 - mov r7, sb - movs r0, #2 - ldrsh r3, [r7, r0] - adds r0, r3, #0 - cmp r3, #0 - bge _08017216 - adds r0, r3, #7 + asrs r1, r0, #3 + lsls r0, r1, #0x10 + lsrs r0, r0, #0x10 + ldr r2, _080172D4 @ =0xFFFF0000 + mov ip, r2 + ands r5, r2 + orrs r5, r0 + mov r7, sb + movs r0, #2 + ldrsh r3, [r7, r0] + adds r0, r3, #0 + cmp r3, #0 + bge _08017216 + adds r0, r3, #7 _08017216: - asrs r0, r0, #3 - lsls r2, r0, #0x10 - ldr r7, _080172D8 @ =0x0000FFFF - ands r5, r7 - lsls r1, r1, #3 - subs r1, r4, r1 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov r4, ip - ands r6, r4 - orrs r6, r1 - lsls r0, r0, #3 - subs r0, r3, r0 - lsls r0, r0, #0x10 - ands r6, r7 - orrs r6, r0 - orrs r5, r2 - asrs r4, r2, #0x10 - adds r2, r4, #0 - cmp r4, #0 - bge _08017242 - adds r2, #0x3f + asrs r0, r0, #3 + lsls r2, r0, #0x10 + ldr r7, _080172D8 @ =0x0000FFFF + ands r5, r7 + lsls r1, r1, #3 + subs r1, r4, r1 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + mov r4, ip + ands r6, r4 + orrs r6, r1 + lsls r0, r0, #3 + subs r0, r3, r0 + lsls r0, r0, #0x10 + ands r6, r7 + orrs r6, r0 + orrs r5, r2 + asrs r4, r2, #0x10 + adds r2, r4, #0 + cmp r4, #0 + bge _08017242 + adds r2, #0x3f _08017242: - asrs r2, r2, #6 - mov r0, sl - adds r0, #0x24 - movs r3, #0 - ldrsb r3, [r0, r3] - lsls r1, r2, #6 - subs r1, r4, r1 - lsls r1, r1, #0x10 - ands r5, r7 - ldr r7, _080172DC @ =0x02031520 - mov ip, r7 - adds r3, r3, r2 - lsls r3, r3, #2 - mov r2, ip - adds r2, #0x38 - adds r2, r3, r2 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - asrs r1, r1, #0xa - adds r1, r1, r0 - ldr r0, [r2] - lsls r1, r1, #1 - adds r1, r1, r0 - mov r4, ip - adds r4, #0x48 - adds r4, r3, r4 - movs r0, #0 - ldrsh r2, [r1, r0] - asrs r1, r6, #0x10 - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - lsls r1, r1, #3 - lsls r2, r2, #6 - adds r1, r1, r2 - adds r1, r1, r0 - ldr r2, [r4] - lsls r0, r1, #1 - adds r0, r0, r2 - ldrh r2, [r0] - mov r0, sp - strh r2, [r0] - mov r0, ip - adds r0, #0x58 - adds r3, r3, r0 - ldr r0, [r3] - adds r0, r0, r1 - ldrb r0, [r0] - mov r4, sp - adds r4, #2 - strb r0, [r4] - mov r0, sb - mov r1, sp - adds r2, r4, #0 - bl sub_173FC - ldrb r0, [r4] - movs r3, #0xf - ands r3, r0 - lsrs r6, r0, #4 - subs r0, r3, #1 - cmp r0, #5 - bls _080172C0 - b _080173DA + asrs r2, r2, #6 + mov r0, sl + adds r0, #0x24 + movs r3, #0 + ldrsb r3, [r0, r3] + lsls r1, r2, #6 + subs r1, r4, r1 + lsls r1, r1, #0x10 + ands r5, r7 + ldr r7, _080172DC @ =0x02031520 + mov ip, r7 + adds r3, r3, r2 + lsls r3, r3, #2 + mov r2, ip + adds r2, #0x38 + adds r2, r3, r2 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + asrs r1, r1, #0xa + adds r1, r1, r0 + ldr r0, [r2] + lsls r1, r1, #1 + adds r1, r1, r0 + mov r4, ip + adds r4, #0x48 + adds r4, r3, r4 + movs r0, #0 + ldrsh r2, [r1, r0] + asrs r1, r6, #0x10 + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + lsls r1, r1, #3 + lsls r2, r2, #6 + adds r1, r1, r2 + adds r1, r1, r0 + ldr r2, [r4] + lsls r0, r1, #1 + adds r0, r0, r2 + ldrh r2, [r0] + mov r0, sp + strh r2, [r0] + mov r0, ip + adds r0, #0x58 + adds r3, r3, r0 + ldr r0, [r3] + adds r0, r0, r1 + ldrb r0, [r0] + mov r4, sp + adds r4, #2 + strb r0, [r4] + mov r0, sb + mov r1, sp + adds r2, r4, #0 + bl sub_173FC + ldrb r0, [r4] + movs r3, #0xf + ands r3, r0 + lsrs r6, r0, #4 + subs r0, r3, #1 + cmp r0, #5 + bls _080172C0 + b _080173DA _080172C0: - lsls r0, r0, #2 - ldr r1, _080172E0 @ =_080172E4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _080172E0 @ =_080172E4 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080172CC: .4byte 0x020314E0 _080172D0: .4byte 0x0000132C _080172D4: .4byte 0xFFFF0000 @@ -45634,419 +45634,419 @@ _080172D8: .4byte 0x0000FFFF _080172DC: .4byte 0x02031520 _080172E0: .4byte _080172E4 _080172E4: @ jump table - .4byte _080172FC @ case 0 - .4byte _080173A8 @ case 1 - .4byte _080173A8 @ case 2 - .4byte _080172FC @ case 3 - .4byte _080173D8 @ case 4 - .4byte _080172FC @ case 5 + .4byte _080172FC @ case 0 + .4byte _080173A8 @ case 1 + .4byte _080173A8 @ case 2 + .4byte _080172FC @ case 3 + .4byte _080173D8 @ case 4 + .4byte _080172FC @ case 5 _080172FC: - ldr r2, _08017374 @ =0x020314E0 - ldr r0, [r2] - subs r1, r3, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r5, #1 - strb r5, [r0] - mov r0, sp - ldrh r0, [r0] - mov r1, r8 - strh r0, [r1] - ldr r4, _08017378 @ =0xFFFFC010 - adds r0, r0, r4 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x20 - bhi _0801739C - ldr r0, [r2] - ldr r7, _0801737C @ =0x0000132C - adds r3, r0, r7 - ldr r2, [r3] - movs r0, #0x10 - ldrsh r1, [r2, r0] - ldr r4, _08017380 @ =0x02031520 - movs r7, #0x26 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - blt _08017348 - movs r0, #0x12 - ldrsh r1, [r2, r0] - movs r7, #0x28 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - bge _0801739C + ldr r2, _08017374 @ =0x020314E0 + ldr r0, [r2] + subs r1, r3, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r5, #1 + strb r5, [r0] + mov r0, sp + ldrh r0, [r0] + mov r1, r8 + strh r0, [r1] + ldr r4, _08017378 @ =0xFFFFC010 + adds r0, r0, r4 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x20 + bhi _0801739C + ldr r0, [r2] + ldr r7, _0801737C @ =0x0000132C + adds r3, r0, r7 + ldr r2, [r3] + movs r0, #0x10 + ldrsh r1, [r2, r0] + ldr r4, _08017380 @ =0x02031520 + movs r7, #0x26 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + blt _08017348 + movs r0, #0x12 + ldrsh r1, [r2, r0] + movs r7, #0x28 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + bge _0801739C _08017348: - movs r1, #6 - ldrsh r0, [r2, r1] - cmp r0, #0 - bgt _08017366 - cmp r0, #0 - bne _08017392 - ldr r0, _08017384 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - ands r0, r5 - cmp r0, #0 - beq _08017388 - movs r0, #0x28 - strh r0, [r2, #4] - ldr r0, [r3] - strh r5, [r0, #6] + movs r1, #6 + ldrsh r0, [r2, r1] + cmp r0, #0 + bgt _08017366 + cmp r0, #0 + bne _08017392 + ldr r0, _08017384 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + ands r0, r5 + cmp r0, #0 + beq _08017388 + movs r0, #0x28 + strh r0, [r2, #4] + ldr r0, [r3] + strh r5, [r0, #6] _08017366: - movs r2, #0xf8 - lsls r2, r2, #6 - adds r0, r2, #0 - mov r4, r8 - strh r0, [r4] - b _0801739C - .align 2, 0 + movs r2, #0xf8 + lsls r2, r2, #6 + adds r0, r2, #0 + mov r4, r8 + strh r0, [r4] + b _0801739C + .align 2, 0 _08017374: .4byte 0x020314E0 _08017378: .4byte 0xFFFFC010 _0801737C: .4byte 0x0000132C _08017380: .4byte 0x02031520 _08017384: .4byte 0x0200B0C0 _08017388: - ldr r0, _080173A4 @ =0x0000FFD8 - strh r0, [r2, #4] - ldr r1, [r3] - adds r0, #0x27 - strh r0, [r1, #6] + ldr r0, _080173A4 @ =0x0000FFD8 + strh r0, [r2, #4] + ldr r1, [r3] + adds r0, #0x27 + strh r0, [r1, #6] _08017392: - movs r7, #0x82 - lsls r7, r7, #7 - adds r0, r7, #0 - mov r1, r8 - strh r0, [r1] + movs r7, #0x82 + lsls r7, r7, #7 + adds r0, r7, #0 + mov r1, r8 + strh r0, [r1] _0801739C: - movs r0, #1 - mov r2, sp - strh r0, [r2, #4] - b _080173DA - .align 2, 0 + movs r0, #1 + mov r2, sp + strh r0, [r2, #4] + b _080173DA + .align 2, 0 _080173A4: .4byte 0x0000FFD8 _080173A8: - ldr r2, _080173D0 @ =0x020314E0 - ldr r0, [r2] - subs r1, r3, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r1, #2 - strb r1, [r0] - mov r0, sp - ldrh r1, [r0] - ldr r0, _080173D4 @ =0x0000FFF0 - ands r0, r1 - mov r4, r8 - strh r0, [r4] - movs r0, #1 - mov r7, sp - strh r0, [r7, #4] - b _080173DA - .align 2, 0 + ldr r2, _080173D0 @ =0x020314E0 + ldr r0, [r2] + subs r1, r3, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r1, #2 + strb r1, [r0] + mov r0, sp + ldrh r1, [r0] + ldr r0, _080173D4 @ =0x0000FFF0 + ands r0, r1 + mov r4, r8 + strh r0, [r4] + movs r0, #1 + mov r7, sp + strh r0, [r7, #4] + b _080173DA + .align 2, 0 _080173D0: .4byte 0x020314E0 _080173D4: .4byte 0x0000FFF0 _080173D8: - movs r6, #4 + movs r6, #4 _080173DA: - adds r0, r6, #0 - add r1, sp, #4 - mov r2, r8 - bl sub_17634 - mov r1, sp - movs r2, #4 - ldrsh r0, [r1, r2] - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_start sub_173FC + adds r0, r6, #0 + add r1, sp, #4 + mov r2, r8 + bl sub_17634 + mov r1, sp + movs r2, #4 + ldrsh r0, [r1, r2] + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_start sub_173FC sub_173FC: @ 0x080173FC - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - mov sb, r1 - mov ip, r2 - movs r7, #0 - movs r3, #0 - ldr r1, _08017494 @ =0x020314E0 - ldr r5, [r1] - ldr r2, _08017498 @ =0x00000387 - adds r0, r5, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov r8, r1 - cmp r0, #2 - bne _080174C0 - mov r1, ip - ldrb r0, [r1] - cmp r0, #0 - beq _0801742C - b _080175FE + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + adds r6, r0, #0 + mov sb, r1 + mov ip, r2 + movs r7, #0 + movs r3, #0 + ldr r1, _08017494 @ =0x020314E0 + ldr r5, [r1] + ldr r2, _08017498 @ =0x00000387 + adds r0, r5, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov r8, r1 + cmp r0, #2 + bne _080174C0 + mov r1, ip + ldrb r0, [r1] + cmp r0, #0 + beq _0801742C + b _080175FE _0801742C: - adds r2, #0x69 - adds r0, r5, r2 - ldrh r2, [r6] - ldrh r0, [r0] - subs r2, r2, r0 - ldr r0, _0801749C @ =0x000003F2 - adds r1, r5, r0 - ldrh r0, [r6, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r3, r2, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x5f - bls _0801744E - b _080175FE + adds r2, #0x69 + adds r0, r5, r2 + ldrh r2, [r6] + ldrh r0, [r0] + subs r2, r2, r0 + ldr r0, _0801749C @ =0x000003F2 + adds r1, r5, r0 + ldrh r0, [r6, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r3, r2, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x5f + bls _0801744E + b _080175FE _0801744E: - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x77 - bls _08017458 - b _080175FE + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x77 + bls _08017458 + b _080175FE _08017458: - ldr r2, _080174A0 @ =0x083071D4 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #5 - asrs r1, r3, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r7, _080174A4 @ =0x0000FFF0 - ands r7, r0 - movs r3, #0xf - ands r3, r0 - cmp r3, #0 - bne _0801747A - b _080175FE + ldr r2, _080174A0 @ =0x083071D4 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #5 + asrs r1, r3, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r7, _080174A4 @ =0x0000FFF0 + ands r7, r0 + movs r3, #0xf + ands r3, r0 + cmp r3, #0 + bne _0801747A + b _080175FE _0801747A: - movs r1, #0xf7 - lsls r1, r1, #2 - adds r0, r5, r1 - ldrb r0, [r0] - subs r0, #3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _080174A8 - movs r0, #1 - mov r2, ip - strb r0, [r2] - b _080174AC - .align 2, 0 + movs r1, #0xf7 + lsls r1, r1, #2 + adds r0, r5, r1 + ldrb r0, [r0] + subs r0, #3 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #1 + bhi _080174A8 + movs r0, #1 + mov r2, ip + strb r0, [r2] + b _080174AC + .align 2, 0 _08017494: .4byte 0x020314E0 _08017498: .4byte 0x00000387 _0801749C: .4byte 0x000003F2 _080174A0: .4byte 0x083071D4 _080174A4: .4byte 0x0000FFF0 _080174A8: - mov r0, ip - strb r3, [r0] + mov r0, ip + strb r3, [r0] _080174AC: - mov r1, r8 - ldr r0, [r1] - movs r2, #0xf7 - lsls r2, r2, #2 - adds r0, r0, r2 - movs r1, #4 - strb r1, [r0] - mov r0, sb - strh r7, [r0] - b _080175FE + mov r1, r8 + ldr r0, [r1] + movs r2, #0xf7 + lsls r2, r2, #2 + adds r0, r0, r2 + movs r1, #4 + strb r1, [r0] + mov r0, sb + strh r7, [r0] + b _080175FE _080174C0: - cmp r0, #1 - beq _080174C6 - b _080175FE + cmp r0, #1 + beq _080174C6 + b _080175FE _080174C6: - mov r1, ip - ldrb r0, [r1] - cmp r0, #0 - beq _080174D0 - b _080175FE + mov r1, ip + ldrb r0, [r1] + cmp r0, #0 + beq _080174D0 + b _080175FE _080174D0: - ldr r2, _0801760C @ =0x000003A9 - adds r0, r5, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0801752C - movs r1, #0xf4 - lsls r1, r1, #2 - adds r0, r5, r1 - ldrh r2, [r6] - ldrh r0, [r0] - subs r2, r2, r0 - ldr r0, _08017610 @ =0x000003D2 - adds r1, r5, r0 - ldrh r0, [r6, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r4, r2, #0x10 - lsrs r0, r4, #0x10 - cmp r0, #0x3f - bhi _0801752C - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x3f - bhi _0801752C - ldr r2, _08017614 @ =0x08252B10 - asrs r0, r1, #0xa - asrs r1, r4, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r7, _08017618 @ =0x0000FFF0 - ands r7, r0 - movs r3, #0xf - ands r3, r0 - cmp r3, #0 - beq _08017530 - movs r2, #0xe8 - lsls r2, r2, #2 - adds r1, r5, r2 - movs r0, #4 - strb r0, [r1] + ldr r2, _0801760C @ =0x000003A9 + adds r0, r5, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0801752C + movs r1, #0xf4 + lsls r1, r1, #2 + adds r0, r5, r1 + ldrh r2, [r6] + ldrh r0, [r0] + subs r2, r2, r0 + ldr r0, _08017610 @ =0x000003D2 + adds r1, r5, r0 + ldrh r0, [r6, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r4, r2, #0x10 + lsrs r0, r4, #0x10 + cmp r0, #0x3f + bhi _0801752C + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x3f + bhi _0801752C + ldr r2, _08017614 @ =0x08252B10 + asrs r0, r1, #0xa + asrs r1, r4, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r7, _08017618 @ =0x0000FFF0 + ands r7, r0 + movs r3, #0xf + ands r3, r0 + cmp r3, #0 + beq _08017530 + movs r2, #0xe8 + lsls r2, r2, #2 + adds r1, r5, r2 + movs r0, #4 + strb r0, [r1] _0801752C: - cmp r3, #0 - bne _080175F4 + cmp r3, #0 + bne _080175F4 _08017530: - mov r0, r8 - ldr r5, [r0] - ldr r1, _0801761C @ =0x000003AA - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0801758E - movs r2, #0xf5 - lsls r2, r2, #2 - adds r0, r5, r2 - ldrh r2, [r6] - ldrh r0, [r0] - subs r2, r2, r0 - ldr r0, _08017620 @ =0x000003D6 - adds r1, r5, r0 - ldrh r0, [r6, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r4, r2, #0x10 - lsrs r0, r4, #0x10 - cmp r0, #0x3f - bhi _0801758E - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x3f - bhi _0801758E - ldr r2, _08017614 @ =0x08252B10 - asrs r0, r1, #0xa - asrs r1, r4, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r7, _08017618 @ =0x0000FFF0 - ands r7, r0 - movs r3, #0xf - ands r3, r0 - cmp r3, #0 - beq _08017592 - ldr r2, _08017624 @ =0x000003A1 - adds r1, r5, r2 - movs r0, #4 - strb r0, [r1] + mov r0, r8 + ldr r5, [r0] + ldr r1, _0801761C @ =0x000003AA + adds r0, r5, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0801758E + movs r2, #0xf5 + lsls r2, r2, #2 + adds r0, r5, r2 + ldrh r2, [r6] + ldrh r0, [r0] + subs r2, r2, r0 + ldr r0, _08017620 @ =0x000003D6 + adds r1, r5, r0 + ldrh r0, [r6, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r4, r2, #0x10 + lsrs r0, r4, #0x10 + cmp r0, #0x3f + bhi _0801758E + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x3f + bhi _0801758E + ldr r2, _08017614 @ =0x08252B10 + asrs r0, r1, #0xa + asrs r1, r4, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r7, _08017618 @ =0x0000FFF0 + ands r7, r0 + movs r3, #0xf + ands r3, r0 + cmp r3, #0 + beq _08017592 + ldr r2, _08017624 @ =0x000003A1 + adds r1, r5, r2 + movs r0, #4 + strb r0, [r1] _0801758E: - cmp r3, #0 - bne _080175F4 + cmp r3, #0 + bne _080175F4 _08017592: - mov r0, r8 - ldr r5, [r0] - ldr r1, _08017628 @ =0x000003AB - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _080175F0 - movs r2, #0xf6 - lsls r2, r2, #2 - adds r0, r5, r2 - ldrh r2, [r6] - ldrh r0, [r0] - subs r2, r2, r0 - ldr r0, _0801762C @ =0x000003DA - adds r1, r5, r0 - ldrh r0, [r6, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r4, r2, #0x10 - lsrs r0, r4, #0x10 - cmp r0, #0x3f - bhi _080175F0 - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x3f - bhi _080175F0 - ldr r2, _08017614 @ =0x08252B10 - asrs r0, r1, #0xa - asrs r1, r4, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r7, _08017618 @ =0x0000FFF0 - ands r7, r0 - movs r3, #0xf - ands r3, r0 - cmp r3, #0 - beq _080175FE - ldr r2, _08017630 @ =0x000003A2 - adds r1, r5, r2 - movs r0, #4 - strb r0, [r1] + mov r0, r8 + ldr r5, [r0] + ldr r1, _08017628 @ =0x000003AB + adds r0, r5, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _080175F0 + movs r2, #0xf6 + lsls r2, r2, #2 + adds r0, r5, r2 + ldrh r2, [r6] + ldrh r0, [r0] + subs r2, r2, r0 + ldr r0, _0801762C @ =0x000003DA + adds r1, r5, r0 + ldrh r0, [r6, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r4, r2, #0x10 + lsrs r0, r4, #0x10 + cmp r0, #0x3f + bhi _080175F0 + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x3f + bhi _080175F0 + ldr r2, _08017614 @ =0x08252B10 + asrs r0, r1, #0xa + asrs r1, r4, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r7, _08017618 @ =0x0000FFF0 + ands r7, r0 + movs r3, #0xf + ands r3, r0 + cmp r3, #0 + beq _080175FE + ldr r2, _08017630 @ =0x000003A2 + adds r1, r5, r2 + movs r0, #4 + strb r0, [r1] _080175F0: - cmp r3, #0 - beq _080175FE + cmp r3, #0 + beq _080175FE _080175F4: - mov r0, sb - strh r7, [r0] - movs r0, #6 - mov r1, ip - strb r0, [r1] + mov r0, sb + strh r7, [r0] + movs r0, #6 + mov r1, ip + strb r0, [r1] _080175FE: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0801760C: .4byte 0x000003A9 _08017610: .4byte 0x000003D2 _08017614: .4byte 0x08252B10 @@ -46058,191 +46058,191 @@ _08017628: .4byte 0x000003AB _0801762C: .4byte 0x000003DA _08017630: .4byte 0x000003A2 - thumb_func_start sub_17634 + thumb_func_start sub_17634 sub_17634: @ 0x08017634 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - subs r0, #1 - cmp r0, #0xe - bhi _080176A6 - lsls r0, r0, #2 - ldr r1, _08017648 @ =_0801764C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + subs r0, #1 + cmp r0, #0xe + bhi _080176A6 + lsls r0, r0, #2 + ldr r1, _08017648 @ =_0801764C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08017648: .4byte _0801764C _0801764C: @ jump table - .4byte _080176A6 @ case 0 - .4byte _080176A6 @ case 1 - .4byte _080176A6 @ case 2 - .4byte _08017688 @ case 3 - .4byte _080176A6 @ case 4 - .4byte _080176A6 @ case 5 - .4byte _080176A6 @ case 6 - .4byte _080176A6 @ case 7 - .4byte _080176A6 @ case 8 - .4byte _080176A6 @ case 9 - .4byte _080176A6 @ case 10 - .4byte _080176A6 @ case 11 - .4byte _080176A6 @ case 12 - .4byte _080176A6 @ case 13 - .4byte _080176A6 @ case 14 + .4byte _080176A6 @ case 0 + .4byte _080176A6 @ case 1 + .4byte _080176A6 @ case 2 + .4byte _08017688 @ case 3 + .4byte _080176A6 @ case 4 + .4byte _080176A6 @ case 5 + .4byte _080176A6 @ case 6 + .4byte _080176A6 @ case 7 + .4byte _080176A6 @ case 8 + .4byte _080176A6 @ case 9 + .4byte _080176A6 @ case 10 + .4byte _080176A6 @ case 11 + .4byte _080176A6 @ case 12 + .4byte _080176A6 @ case 13 + .4byte _080176A6 @ case 14 _08017688: - ldr r2, _080176A8 @ =0x020314E0 - ldr r0, [r2] - movs r1, #0xf7 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r3, #0 - movs r1, #6 - strb r1, [r0] - ldr r1, [r2] - movs r0, #1 - strb r0, [r1, #0x1f] - ldr r0, [r2] - ldr r1, _080176AC @ =0x00000387 - adds r0, r0, r1 - strb r3, [r0] + ldr r2, _080176A8 @ =0x020314E0 + ldr r0, [r2] + movs r1, #0xf7 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r3, #0 + movs r1, #6 + strb r1, [r0] + ldr r1, [r2] + movs r0, #1 + strb r0, [r1, #0x1f] + ldr r0, [r2] + ldr r1, _080176AC @ =0x00000387 + adds r0, r0, r1 + strb r3, [r0] _080176A6: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _080176A8: .4byte 0x020314E0 _080176AC: .4byte 0x00000387 - thumb_func_start sub_176B0 + thumb_func_start sub_176B0 sub_176B0: @ 0x080176B0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - mov r8, r0 - mov sl, r1 - add r2, sp, #4 - movs r1, #0 - strh r1, [r2] - ldr r0, _080177B0 @ =0x020314E0 - ldr r0, [r0] - mov sb, r0 - ldr r0, _080177B4 @ =0x0000132C - add r0, sb - ldr r0, [r0] - strh r1, [r0, #4] - mov r0, r8 - movs r1, #0 - ldrsh r4, [r0, r1] - adds r0, r4, #0 - cmp r4, #0 - bge _080176E2 - adds r0, r4, #7 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + mov r8, r0 + mov sl, r1 + add r2, sp, #4 + movs r1, #0 + strh r1, [r2] + ldr r0, _080177B0 @ =0x020314E0 + ldr r0, [r0] + mov sb, r0 + ldr r0, _080177B4 @ =0x0000132C + add r0, sb + ldr r0, [r0] + strh r1, [r0, #4] + mov r0, r8 + movs r1, #0 + ldrsh r4, [r0, r1] + adds r0, r4, #0 + cmp r4, #0 + bge _080176E2 + adds r0, r4, #7 _080176E2: - asrs r1, r0, #3 - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - ldr r2, _080177B8 @ =0xFFFF0000 - mov ip, r2 - ands r5, r2 - orrs r5, r0 - mov r0, r8 - movs r2, #2 - ldrsh r3, [r0, r2] - adds r0, r3, #0 - cmp r3, #0 - bge _080176FE - adds r0, r3, #7 + asrs r1, r0, #3 + lsls r0, r1, #0x10 + lsrs r0, r0, #0x10 + ldr r2, _080177B8 @ =0xFFFF0000 + mov ip, r2 + ands r5, r2 + orrs r5, r0 + mov r0, r8 + movs r2, #2 + ldrsh r3, [r0, r2] + adds r0, r3, #0 + cmp r3, #0 + bge _080176FE + adds r0, r3, #7 _080176FE: - asrs r0, r0, #3 - lsls r2, r0, #0x10 - ldr r7, _080177BC @ =0x0000FFFF - ands r5, r7 - lsls r1, r1, #3 - subs r1, r4, r1 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov r4, ip - ands r6, r4 - orrs r6, r1 - lsls r0, r0, #3 - subs r0, r3, r0 - lsls r0, r0, #0x10 - ands r6, r7 - orrs r6, r0 - orrs r5, r2 - asrs r4, r2, #0x10 - adds r2, r4, #0 - cmp r4, #0 - bge _0801772A - adds r2, #0x3f + asrs r0, r0, #3 + lsls r2, r0, #0x10 + ldr r7, _080177BC @ =0x0000FFFF + ands r5, r7 + lsls r1, r1, #3 + subs r1, r4, r1 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + mov r4, ip + ands r6, r4 + orrs r6, r1 + lsls r0, r0, #3 + subs r0, r3, r0 + lsls r0, r0, #0x10 + ands r6, r7 + orrs r6, r0 + orrs r5, r2 + asrs r4, r2, #0x10 + adds r2, r4, #0 + cmp r4, #0 + bge _0801772A + adds r2, #0x3f _0801772A: - asrs r2, r2, #6 - mov r0, sb - adds r0, #0x24 - movs r3, #0 - ldrsb r3, [r0, r3] - lsls r1, r2, #6 - subs r1, r4, r1 - lsls r1, r1, #0x10 - ands r5, r7 - ldr r0, _080177C0 @ =0x02031520 - mov ip, r0 - adds r3, r3, r2 - lsls r3, r3, #2 - mov r2, ip - adds r2, #0x38 - adds r2, r3, r2 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - asrs r1, r1, #0xa - adds r1, r1, r0 - ldr r0, [r2] - lsls r1, r1, #1 - adds r1, r1, r0 - mov r4, ip - adds r4, #0x48 - adds r4, r3, r4 - movs r0, #0 - ldrsh r2, [r1, r0] - asrs r1, r6, #0x10 - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - lsls r1, r1, #3 - lsls r2, r2, #6 - adds r1, r1, r2 - adds r1, r1, r0 - ldr r2, [r4] - lsls r0, r1, #1 - adds r0, r0, r2 - ldrh r2, [r0] - mov r0, sp - strh r2, [r0] - mov r0, ip - adds r0, #0x58 - adds r3, r3, r0 - ldr r0, [r3] - adds r0, r0, r1 - ldrb r0, [r0] - mov r4, sp - adds r4, #2 - strb r0, [r4] - mov r0, r8 - mov r1, sp - adds r2, r4, #0 - bl sub_17898 - ldrb r0, [r4] - movs r3, #0xf - ands r3, r0 - lsrs r5, r0, #4 - subs r0, r3, #1 - cmp r0, #5 - bhi _08017876 - lsls r0, r0, #2 - ldr r1, _080177C4 @ =_080177C8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + asrs r2, r2, #6 + mov r0, sb + adds r0, #0x24 + movs r3, #0 + ldrsb r3, [r0, r3] + lsls r1, r2, #6 + subs r1, r4, r1 + lsls r1, r1, #0x10 + ands r5, r7 + ldr r0, _080177C0 @ =0x02031520 + mov ip, r0 + adds r3, r3, r2 + lsls r3, r3, #2 + mov r2, ip + adds r2, #0x38 + adds r2, r3, r2 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + asrs r1, r1, #0xa + adds r1, r1, r0 + ldr r0, [r2] + lsls r1, r1, #1 + adds r1, r1, r0 + mov r4, ip + adds r4, #0x48 + adds r4, r3, r4 + movs r0, #0 + ldrsh r2, [r1, r0] + asrs r1, r6, #0x10 + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + lsls r1, r1, #3 + lsls r2, r2, #6 + adds r1, r1, r2 + adds r1, r1, r0 + ldr r2, [r4] + lsls r0, r1, #1 + adds r0, r0, r2 + ldrh r2, [r0] + mov r0, sp + strh r2, [r0] + mov r0, ip + adds r0, #0x58 + adds r3, r3, r0 + ldr r0, [r3] + adds r0, r0, r1 + ldrb r0, [r0] + mov r4, sp + adds r4, #2 + strb r0, [r4] + mov r0, r8 + mov r1, sp + adds r2, r4, #0 + bl sub_17898 + ldrb r0, [r4] + movs r3, #0xf + ands r3, r0 + lsrs r5, r0, #4 + subs r0, r3, #1 + cmp r0, #5 + bhi _08017876 + lsls r0, r0, #2 + ldr r1, _080177C4 @ =_080177C8 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080177B0: .4byte 0x020314E0 _080177B4: .4byte 0x0000132C _080177B8: .4byte 0xFFFF0000 @@ -46250,77 +46250,77 @@ _080177BC: .4byte 0x0000FFFF _080177C0: .4byte 0x02031520 _080177C4: .4byte _080177C8 _080177C8: @ jump table - .4byte _080177E0 @ case 0 - .4byte _08017804 @ case 1 - .4byte _08017804 @ case 2 - .4byte _080177E0 @ case 3 - .4byte _08017874 @ case 4 - .4byte _080177E0 @ case 5 + .4byte _080177E0 @ case 0 + .4byte _08017804 @ case 1 + .4byte _08017804 @ case 2 + .4byte _080177E0 @ case 3 + .4byte _08017874 @ case 4 + .4byte _080177E0 @ case 5 _080177E0: - ldr r2, _08017800 @ =0x020314E0 - ldr r0, [r2] - subs r1, r3, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r1, #1 - strb r1, [r0] - mov r0, sp - ldrh r0, [r0] - mov r2, sl - strh r0, [r2] - mov r4, sp - strh r1, [r4, #4] - b _08017876 - .align 2, 0 + ldr r2, _08017800 @ =0x020314E0 + ldr r0, [r2] + subs r1, r3, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r1, #1 + strb r1, [r0] + mov r0, sp + ldrh r0, [r0] + mov r2, sl + strh r0, [r2] + mov r4, sp + strh r1, [r4, #4] + b _08017876 + .align 2, 0 _08017800: .4byte 0x020314E0 _08017804: - ldr r2, _0801785C @ =0x020314E0 - ldr r0, [r2] - adds r0, #0x23 - movs r1, #0 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r3, #1 - strb r3, [r0] - mov r0, sp - ldrh r1, [r0] - ldr r0, _08017860 @ =0x0000FFF0 - ands r0, r1 - mov r1, sl - strh r0, [r1] - mov r4, sp - strh r3, [r4, #4] - ldr r1, [r2] - ldr r0, _08017864 @ =0x00000404 - adds r3, r1, r0 - movs r0, #0 - ldrsb r0, [r3, r0] - adds r4, r2, #0 - cmp r0, #0 - bne _0801784E - ldr r2, _08017868 @ =0x00000406 - adds r0, r1, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - cmp r2, #0 - bne _0801784E - movs r0, #1 - strb r0, [r3] - ldr r0, [r4] - ldr r1, _0801786C @ =0x0000040A - adds r0, r0, r1 - strh r2, [r0] + ldr r2, _0801785C @ =0x020314E0 + ldr r0, [r2] + adds r0, #0x23 + movs r1, #0 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r3, #1 + strb r3, [r0] + mov r0, sp + ldrh r1, [r0] + ldr r0, _08017860 @ =0x0000FFF0 + ands r0, r1 + mov r1, sl + strh r0, [r1] + mov r4, sp + strh r3, [r4, #4] + ldr r1, [r2] + ldr r0, _08017864 @ =0x00000404 + adds r3, r1, r0 + movs r0, #0 + ldrsb r0, [r3, r0] + adds r4, r2, #0 + cmp r0, #0 + bne _0801784E + ldr r2, _08017868 @ =0x00000406 + adds r0, r1, r2 + movs r2, #0 + ldrsb r2, [r0, r2] + cmp r2, #0 + bne _0801784E + movs r0, #1 + strb r0, [r3] + ldr r0, [r4] + ldr r1, _0801786C @ =0x0000040A + adds r0, r0, r1 + strh r2, [r0] _0801784E: - ldr r0, [r4] - ldr r2, _08017870 @ =0x0000040C - adds r0, r0, r2 - movs r1, #0x28 - strh r1, [r0] - b _08017876 - .align 2, 0 + ldr r0, [r4] + ldr r2, _08017870 @ =0x0000040C + adds r0, r0, r2 + movs r1, #0x28 + strh r1, [r0] + b _08017876 + .align 2, 0 _0801785C: .4byte 0x020314E0 _08017860: .4byte 0x0000FFF0 _08017864: .4byte 0x00000404 @@ -46328,585 +46328,585 @@ _08017868: .4byte 0x00000406 _0801786C: .4byte 0x0000040A _08017870: .4byte 0x0000040C _08017874: - movs r5, #4 + movs r5, #4 _08017876: - adds r0, r5, #0 - add r1, sp, #4 - mov r2, sl - bl sub_179D0 - mov r4, sp - movs r1, #4 - ldrsh r0, [r4, r1] - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_start sub_17898 + adds r0, r5, #0 + add r1, sp, #4 + mov r2, sl + bl sub_179D0 + mov r4, sp + movs r1, #4 + ldrsh r0, [r4, r1] + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_start sub_17898 sub_17898: @ 0x08017898 - push {r4, r5, r6, r7, lr} - adds r3, r0, #0 - adds r7, r1, #0 - adds r4, r2, #0 - ldr r0, _08017924 @ =0x020314E0 - ldr r5, [r0] - ldr r1, _08017928 @ =0x00000387 - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08017938 - ldrb r1, [r4] - movs r6, #0xf - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - beq _080178C0 - b _080179B8 + push {r4, r5, r6, r7, lr} + adds r3, r0, #0 + adds r7, r1, #0 + adds r4, r2, #0 + ldr r0, _08017924 @ =0x020314E0 + ldr r5, [r0] + ldr r1, _08017928 @ =0x00000387 + adds r0, r5, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08017938 + ldrb r1, [r4] + movs r6, #0xf + adds r0, r6, #0 + ands r0, r1 + cmp r0, #0 + beq _080178C0 + b _080179B8 _080178C0: - movs r1, #0xfc - lsls r1, r1, #2 - adds r0, r5, r1 - ldrh r2, [r3] - ldrh r0, [r0] - subs r2, r2, r0 - ldr r0, _0801792C @ =0x000003F2 - adds r1, r5, r0 - ldrh r0, [r3, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r4, r2, #0x10 - lsrs r0, r4, #0x10 - cmp r0, #0x3f - bhi _080179B8 - lsls r3, r1, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x57 - bhi _080179B8 - ldr r2, _08017930 @ =0x0832D604 - asrs r0, r3, #0xa - asrs r1, r4, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrb r0, [r0] - adds r3, r6, #0 - ands r3, r0 - cmp r3, #0 - beq _080179B8 - ldr r1, _08017934 @ =0x0000132C - adds r0, r5, r1 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _080179B8 - movs r0, #0xf7 - lsls r0, r0, #2 - adds r1, r5, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #8 - bgt _080179B8 - movs r0, #9 - strb r0, [r1] - b _080179B8 - .align 2, 0 + movs r1, #0xfc + lsls r1, r1, #2 + adds r0, r5, r1 + ldrh r2, [r3] + ldrh r0, [r0] + subs r2, r2, r0 + ldr r0, _0801792C @ =0x000003F2 + adds r1, r5, r0 + ldrh r0, [r3, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r4, r2, #0x10 + lsrs r0, r4, #0x10 + cmp r0, #0x3f + bhi _080179B8 + lsls r3, r1, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x57 + bhi _080179B8 + ldr r2, _08017930 @ =0x0832D604 + asrs r0, r3, #0xa + asrs r1, r4, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrb r0, [r0] + adds r3, r6, #0 + ands r3, r0 + cmp r3, #0 + beq _080179B8 + ldr r1, _08017934 @ =0x0000132C + adds r0, r5, r1 + ldr r0, [r0] + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _080179B8 + movs r0, #0xf7 + lsls r0, r0, #2 + adds r1, r5, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #8 + bgt _080179B8 + movs r0, #9 + strb r0, [r1] + b _080179B8 + .align 2, 0 _08017924: .4byte 0x020314E0 _08017928: .4byte 0x00000387 _0801792C: .4byte 0x000003F2 _08017930: .4byte 0x0832D604 _08017934: .4byte 0x0000132C _08017938: - cmp r0, #2 - bne _080179B8 - ldrb r1, [r4] - movs r6, #0xf - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - bne _080179B8 - movs r1, #0xfc - lsls r1, r1, #2 - adds r0, r5, r1 - ldrh r2, [r3] - ldrh r0, [r0] - subs r2, r2, r0 - ldr r0, _080179C0 @ =0x000003F2 - adds r1, r5, r0 - ldrh r0, [r3, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r3, r2, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x57 - bhi _080179B8 - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x3f - bhi _080179B8 - ldr r2, _080179C4 @ =0x08330204 - asrs r1, r1, #0x10 - movs r0, #0x58 - muls r0, r1, r0 - asrs r1, r3, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r2, _080179C8 @ =0x0000FFF0 - ands r2, r0 - adds r3, r6, #0 - ands r3, r0 - cmp r3, #0 - beq _080179B8 - ldr r1, _080179CC @ =0x0000132C - adds r0, r5, r1 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _080179B8 - movs r0, #0xf7 - lsls r0, r0, #2 - adds r1, r5, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xc - beq _080179B8 - movs r0, #0xb - strb r0, [r1] - strh r2, [r7] - movs r0, #6 - strb r0, [r4] + cmp r0, #2 + bne _080179B8 + ldrb r1, [r4] + movs r6, #0xf + adds r0, r6, #0 + ands r0, r1 + cmp r0, #0 + bne _080179B8 + movs r1, #0xfc + lsls r1, r1, #2 + adds r0, r5, r1 + ldrh r2, [r3] + ldrh r0, [r0] + subs r2, r2, r0 + ldr r0, _080179C0 @ =0x000003F2 + adds r1, r5, r0 + ldrh r0, [r3, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r3, r2, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x57 + bhi _080179B8 + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x3f + bhi _080179B8 + ldr r2, _080179C4 @ =0x08330204 + asrs r1, r1, #0x10 + movs r0, #0x58 + muls r0, r1, r0 + asrs r1, r3, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r2, _080179C8 @ =0x0000FFF0 + ands r2, r0 + adds r3, r6, #0 + ands r3, r0 + cmp r3, #0 + beq _080179B8 + ldr r1, _080179CC @ =0x0000132C + adds r0, r5, r1 + ldr r0, [r0] + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _080179B8 + movs r0, #0xf7 + lsls r0, r0, #2 + adds r1, r5, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0xc + beq _080179B8 + movs r0, #0xb + strb r0, [r1] + strh r2, [r7] + movs r0, #6 + strb r0, [r4] _080179B8: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _080179C0: .4byte 0x000003F2 _080179C4: .4byte 0x08330204 _080179C8: .4byte 0x0000FFF0 _080179CC: .4byte 0x0000132C - thumb_func_start sub_179D0 + thumb_func_start sub_179D0 sub_179D0: @ 0x080179D0 - push {r4, lr} - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - ldr r2, _080179F8 @ =0x020314E0 - ldr r1, [r2] - ldr r3, _080179FC @ =0x0000132C - adds r1, r1, r3 - ldr r1, [r1] - ldrh r3, [r1, #0x10] - ldrh r4, [r1, #0x12] - subs r0, #1 - cmp r0, #0xe - bls _080179EC - b _08017C12 + push {r4, lr} + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + ldr r2, _080179F8 @ =0x020314E0 + ldr r1, [r2] + ldr r3, _080179FC @ =0x0000132C + adds r1, r1, r3 + ldr r1, [r1] + ldrh r3, [r1, #0x10] + ldrh r4, [r1, #0x12] + subs r0, #1 + cmp r0, #0xe + bls _080179EC + b _08017C12 _080179EC: - lsls r0, r0, #2 - ldr r1, _08017A00 @ =_08017A04 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08017A00 @ =_08017A04 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080179F8: .4byte 0x020314E0 _080179FC: .4byte 0x0000132C _08017A00: .4byte _08017A04 _08017A04: @ jump table - .4byte _08017C12 @ case 0 - .4byte _08017C12 @ case 1 - .4byte _08017C12 @ case 2 - .4byte _08017C12 @ case 3 - .4byte _08017C12 @ case 4 - .4byte _08017C12 @ case 5 - .4byte _08017C12 @ case 6 - .4byte _08017A40 @ case 7 - .4byte _08017A88 @ case 8 - .4byte _08017ACA @ case 9 - .4byte _08017BA4 @ case 10 - .4byte _08017BEC @ case 11 - .4byte _08017C12 @ case 12 - .4byte _08017C12 @ case 13 - .4byte _08017C12 @ case 14 + .4byte _08017C12 @ case 0 + .4byte _08017C12 @ case 1 + .4byte _08017C12 @ case 2 + .4byte _08017C12 @ case 3 + .4byte _08017C12 @ case 4 + .4byte _08017C12 @ case 5 + .4byte _08017C12 @ case 6 + .4byte _08017A40 @ case 7 + .4byte _08017A88 @ case 8 + .4byte _08017ACA @ case 9 + .4byte _08017BA4 @ case 10 + .4byte _08017BEC @ case 11 + .4byte _08017C12 @ case 12 + .4byte _08017C12 @ case 13 + .4byte _08017C12 @ case 14 _08017A40: - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x72 - bgt _08017A68 - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x38 - bgt _08017A5C - ldr r0, [r2] - ldr r1, _08017A58 @ =0x0000041C - adds r2, r0, r1 - b _08017C06 - .align 2, 0 + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x72 + bgt _08017A68 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x38 + bgt _08017A5C + ldr r0, [r2] + ldr r1, _08017A58 @ =0x0000041C + adds r2, r0, r1 + b _08017C06 + .align 2, 0 _08017A58: .4byte 0x0000041C _08017A5C: - ldr r0, [r2] - ldr r3, _08017A64 @ =0x0000041D - b _08017C04 - .align 2, 0 + ldr r0, [r2] + ldr r3, _08017A64 @ =0x0000041D + b _08017C04 + .align 2, 0 _08017A64: .4byte 0x0000041D _08017A68: - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x63 - bgt _08017A7C - ldr r0, [r2] - ldr r1, _08017A78 @ =0x0000041F - adds r2, r0, r1 - b _08017C06 - .align 2, 0 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x63 + bgt _08017A7C + ldr r0, [r2] + ldr r1, _08017A78 @ =0x0000041F + adds r2, r0, r1 + b _08017C06 + .align 2, 0 _08017A78: .4byte 0x0000041F _08017A7C: - ldr r0, [r2] - ldr r3, _08017A84 @ =0x0000041E - b _08017C04 - .align 2, 0 + ldr r0, [r2] + ldr r3, _08017A84 @ =0x0000041E + b _08017C04 + .align 2, 0 _08017A84: .4byte 0x0000041E _08017A88: - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x72 - bgt _08017AB0 - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x45 - bgt _08017AA4 - ldr r0, [r2] - ldr r1, _08017AA0 @ =0x00000427 - adds r2, r0, r1 - b _08017C06 - .align 2, 0 + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x72 + bgt _08017AB0 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x45 + bgt _08017AA4 + ldr r0, [r2] + ldr r1, _08017AA0 @ =0x00000427 + adds r2, r0, r1 + b _08017C06 + .align 2, 0 _08017AA0: .4byte 0x00000427 _08017AA4: - ldr r0, [r2] - ldr r3, _08017AAC @ =0x00000425 - b _08017C04 - .align 2, 0 + ldr r0, [r2] + ldr r3, _08017AAC @ =0x00000425 + b _08017C04 + .align 2, 0 _08017AAC: .4byte 0x00000425 _08017AB0: - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x45 - bgt _08017AC2 - ldr r0, [r2] - movs r1, #0x85 - lsls r1, r1, #3 - adds r2, r0, r1 - b _08017C06 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x45 + bgt _08017AC2 + ldr r0, [r2] + movs r1, #0x85 + lsls r1, r1, #3 + adds r2, r0, r1 + b _08017C06 _08017AC2: - ldr r0, [r2] - movs r3, #0x84 - lsls r3, r3, #3 - b _08017C04 + ldr r0, [r2] + movs r3, #0x84 + lsls r3, r3, #3 + b _08017C04 _08017ACA: - ldr r1, [r2] - movs r3, #0x82 - lsls r3, r3, #3 - adds r0, r1, r3 - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r0, #0 - bne _08017B08 - ldr r0, _08017B00 @ =0x0000042A - adds r1, r1, r0 - movs r0, #0xb - strb r0, [r1] - ldr r2, [r2] - ldr r1, _08017B04 @ =0x0000132C - adds r3, r2, r1 - ldr r0, [r3] - ldrh r0, [r0, #0x10] - subs r0, #7 - adds r1, r2, #0 - adds r1, #0xd0 - strh r0, [r1] - ldr r0, [r3] - ldrh r0, [r0, #0x12] - subs r0, #7 - adds r2, #0xd2 - strh r0, [r2] - b _08017C12 - .align 2, 0 + ldr r1, [r2] + movs r3, #0x82 + lsls r3, r3, #3 + adds r0, r1, r3 + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r0, #0 + bne _08017B08 + ldr r0, _08017B00 @ =0x0000042A + adds r1, r1, r0 + movs r0, #0xb + strb r0, [r1] + ldr r2, [r2] + ldr r1, _08017B04 @ =0x0000132C + adds r3, r2, r1 + ldr r0, [r3] + ldrh r0, [r0, #0x10] + subs r0, #7 + adds r1, r2, #0 + adds r1, #0xd0 + strh r0, [r1] + ldr r0, [r3] + ldrh r0, [r0, #0x12] + subs r0, #7 + adds r2, #0xd2 + strh r0, [r2] + b _08017C12 + .align 2, 0 _08017B00: .4byte 0x0000042A _08017B04: .4byte 0x0000132C _08017B08: - cmp r0, #3 - bne _08017B3C - ldr r3, _08017B34 @ =0x0000042B - adds r1, r1, r3 - movs r0, #0xb - strb r0, [r1] - ldr r2, [r2] - ldr r0, _08017B38 @ =0x0000132C - adds r3, r2, r0 - ldr r0, [r3] - ldrh r0, [r0, #0x10] - subs r0, #7 - adds r1, r2, #0 - adds r1, #0xd4 - strh r0, [r1] - ldr r0, [r3] - ldrh r0, [r0, #0x12] - subs r0, #7 - adds r2, #0xd6 - strh r0, [r2] - b _08017C12 - .align 2, 0 + cmp r0, #3 + bne _08017B3C + ldr r3, _08017B34 @ =0x0000042B + adds r1, r1, r3 + movs r0, #0xb + strb r0, [r1] + ldr r2, [r2] + ldr r0, _08017B38 @ =0x0000132C + adds r3, r2, r0 + ldr r0, [r3] + ldrh r0, [r0, #0x10] + subs r0, #7 + adds r1, r2, #0 + adds r1, #0xd4 + strh r0, [r1] + ldr r0, [r3] + ldrh r0, [r0, #0x12] + subs r0, #7 + adds r2, #0xd6 + strh r0, [r2] + b _08017C12 + .align 2, 0 _08017B34: .4byte 0x0000042B _08017B38: .4byte 0x0000132C _08017B3C: - cmp r0, #6 - bne _08017B70 - ldr r3, _08017B68 @ =0x0000042C - adds r1, r1, r3 - movs r0, #0xb - strb r0, [r1] - ldr r2, [r2] - ldr r0, _08017B6C @ =0x0000132C - adds r3, r2, r0 - ldr r0, [r3] - ldrh r0, [r0, #0x10] - subs r0, #7 - adds r1, r2, #0 - adds r1, #0xd8 - strh r0, [r1] - ldr r0, [r3] - ldrh r0, [r0, #0x12] - subs r0, #7 - adds r2, #0xda - strh r0, [r2] - b _08017C12 - .align 2, 0 + cmp r0, #6 + bne _08017B70 + ldr r3, _08017B68 @ =0x0000042C + adds r1, r1, r3 + movs r0, #0xb + strb r0, [r1] + ldr r2, [r2] + ldr r0, _08017B6C @ =0x0000132C + adds r3, r2, r0 + ldr r0, [r3] + ldrh r0, [r0, #0x10] + subs r0, #7 + adds r1, r2, #0 + adds r1, #0xd8 + strh r0, [r1] + ldr r0, [r3] + ldrh r0, [r0, #0x12] + subs r0, #7 + adds r2, #0xda + strh r0, [r2] + b _08017C12 + .align 2, 0 _08017B68: .4byte 0x0000042C _08017B6C: .4byte 0x0000132C _08017B70: - cmp r0, #9 - bne _08017C12 - ldr r3, _08017B9C @ =0x0000042D - adds r1, r1, r3 - movs r0, #0xb - strb r0, [r1] - ldr r2, [r2] - ldr r0, _08017BA0 @ =0x0000132C - adds r3, r2, r0 - ldr r0, [r3] - ldrh r0, [r0, #0x10] - subs r0, #7 - adds r1, r2, #0 - adds r1, #0xdc - strh r0, [r1] - ldr r0, [r3] - ldrh r0, [r0, #0x12] - subs r0, #7 - adds r2, #0xde - strh r0, [r2] - b _08017C12 - .align 2, 0 + cmp r0, #9 + bne _08017C12 + ldr r3, _08017B9C @ =0x0000042D + adds r1, r1, r3 + movs r0, #0xb + strb r0, [r1] + ldr r2, [r2] + ldr r0, _08017BA0 @ =0x0000132C + adds r3, r2, r0 + ldr r0, [r3] + ldrh r0, [r0, #0x10] + subs r0, #7 + adds r1, r2, #0 + adds r1, #0xdc + strh r0, [r1] + ldr r0, [r3] + ldrh r0, [r0, #0x12] + subs r0, #7 + adds r2, #0xde + strh r0, [r2] + b _08017C12 + .align 2, 0 _08017B9C: .4byte 0x0000042D _08017BA0: .4byte 0x0000132C _08017BA4: - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x72 - bgt _08017BCC - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x45 - bgt _08017BC0 - ldr r0, [r2] - ldr r1, _08017BBC @ =0x00000429 - adds r2, r0, r1 - b _08017C06 - .align 2, 0 + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x72 + bgt _08017BCC + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x45 + bgt _08017BC0 + ldr r0, [r2] + ldr r1, _08017BBC @ =0x00000429 + adds r2, r0, r1 + b _08017C06 + .align 2, 0 _08017BBC: .4byte 0x00000429 _08017BC0: - ldr r0, [r2] - ldr r3, _08017BC8 @ =0x00000422 - b _08017C04 - .align 2, 0 + ldr r0, [r2] + ldr r3, _08017BC8 @ =0x00000422 + b _08017C04 + .align 2, 0 _08017BC8: .4byte 0x00000422 _08017BCC: - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x45 - bgt _08017BE0 - ldr r0, [r2] - ldr r1, _08017BDC @ =0x00000426 - adds r2, r0, r1 - b _08017C06 - .align 2, 0 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x45 + bgt _08017BE0 + ldr r0, [r2] + ldr r1, _08017BDC @ =0x00000426 + adds r2, r0, r1 + b _08017C06 + .align 2, 0 _08017BDC: .4byte 0x00000426 _08017BE0: - ldr r0, [r2] - ldr r3, _08017BE8 @ =0x00000421 - b _08017C04 - .align 2, 0 + ldr r0, [r2] + ldr r3, _08017BE8 @ =0x00000421 + b _08017C04 + .align 2, 0 _08017BE8: .4byte 0x00000421 _08017BEC: - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x72 - bgt _08017C00 - ldr r0, [r2] - ldr r1, _08017BFC @ =0x00000424 - adds r2, r0, r1 - b _08017C06 - .align 2, 0 + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x72 + bgt _08017C00 + ldr r0, [r2] + ldr r1, _08017BFC @ =0x00000424 + adds r2, r0, r1 + b _08017C06 + .align 2, 0 _08017BFC: .4byte 0x00000424 _08017C00: - ldr r0, [r2] - ldr r3, _08017C18 @ =0x00000423 + ldr r0, [r2] + ldr r3, _08017C18 @ =0x00000423 _08017C04: - adds r2, r0, r3 + adds r2, r0, r3 _08017C06: - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - bgt _08017C12 - movs r0, #0x18 - strb r0, [r2] + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0 + bgt _08017C12 + movs r0, #0x18 + strb r0, [r2] _08017C12: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08017C18: .4byte 0x00000423 - thumb_func_start sub_17C1C + thumb_func_start sub_17C1C sub_17C1C: @ 0x08017C1C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #4 - adds r3, r0, #0 - ldr r0, _08017CF8 @ =0x020314E0 - ldr r1, [r0] - movs r2, #0xfe - lsls r2, r2, #2 - adds r1, r1, r2 - movs r2, #1 - strb r2, [r1] - movs r1, #0 - ldrsh r4, [r3, r1] - adds r1, r4, #0 - mov ip, r0 - cmp r4, #0 - bge _08017C42 - adds r1, r4, #7 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #4 + adds r3, r0, #0 + ldr r0, _08017CF8 @ =0x020314E0 + ldr r1, [r0] + movs r2, #0xfe + lsls r2, r2, #2 + adds r1, r1, r2 + movs r2, #1 + strb r2, [r1] + movs r1, #0 + ldrsh r4, [r3, r1] + adds r1, r4, #0 + mov ip, r0 + cmp r4, #0 + bge _08017C42 + adds r1, r4, #7 _08017C42: - asrs r1, r1, #3 - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - ldr r2, _08017CFC @ =0xFFFF0000 - mov r8, r2 - ands r6, r2 - orrs r6, r0 - movs r0, #2 - ldrsh r3, [r3, r0] - adds r0, r3, #0 - cmp r3, #0 - bge _08017C5C - adds r0, r3, #7 + asrs r1, r1, #3 + lsls r0, r1, #0x10 + lsrs r0, r0, #0x10 + ldr r2, _08017CFC @ =0xFFFF0000 + mov r8, r2 + ands r6, r2 + orrs r6, r0 + movs r0, #2 + ldrsh r3, [r3, r0] + adds r0, r3, #0 + cmp r3, #0 + bge _08017C5C + adds r0, r3, #7 _08017C5C: - asrs r0, r0, #3 - lsls r2, r0, #0x10 - ldr r5, _08017D00 @ =0x0000FFFF - ands r6, r5 - lsls r1, r1, #3 - subs r1, r4, r1 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov r4, r8 - ands r7, r4 - orrs r7, r1 - lsls r0, r0, #3 - subs r0, r3, r0 - lsls r0, r0, #0x10 - ands r7, r5 - orrs r7, r0 - orrs r6, r2 - asrs r4, r2, #0x10 - adds r2, r4, #0 - cmp r4, #0 - bge _08017C88 - adds r2, #0x3f + asrs r0, r0, #3 + lsls r2, r0, #0x10 + ldr r5, _08017D00 @ =0x0000FFFF + ands r6, r5 + lsls r1, r1, #3 + subs r1, r4, r1 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + mov r4, r8 + ands r7, r4 + orrs r7, r1 + lsls r0, r0, #3 + subs r0, r3, r0 + lsls r0, r0, #0x10 + ands r7, r5 + orrs r7, r0 + orrs r6, r2 + asrs r4, r2, #0x10 + adds r2, r4, #0 + cmp r4, #0 + bge _08017C88 + adds r2, #0x3f _08017C88: - asrs r2, r2, #6 - mov r0, ip - ldr r0, [r0] - mov r8, r0 - adds r0, #0x24 - movs r3, #0 - ldrsb r3, [r0, r3] - lsls r1, r2, #6 - subs r1, r4, r1 - lsls r1, r1, #0x10 - ands r6, r5 - ldr r4, _08017D04 @ =0x02031520 - adds r3, r3, r2 - lsls r3, r3, #2 - adds r2, r4, #0 - adds r2, #0x38 - adds r2, r3, r2 - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - asrs r1, r1, #0xa - adds r1, r1, r0 - ldr r0, [r2] - lsls r1, r1, #1 - adds r1, r1, r0 - movs r0, #0 - ldrsh r2, [r1, r0] - asrs r1, r7, #0x10 - lsls r0, r7, #0x10 - asrs r0, r0, #0x10 - lsls r1, r1, #3 - lsls r2, r2, #6 - adds r1, r1, r2 - adds r1, r1, r0 - adds r4, #0x58 - adds r3, r3, r4 - ldr r0, [r3] - adds r0, r0, r1 - ldrb r1, [r0] - lsrs r1, r1, #4 - movs r0, #0x80 - lsls r0, r0, #3 - add r0, r8 - ldrh r3, [r0] - ldr r2, _08017D08 @ =0x00000402 - add r2, r8 - ldrh r4, [r2] - adds r0, r1, #0 - subs r0, #8 - cmp r0, #4 - bls _08017CEE - b _08017F18 + asrs r2, r2, #6 + mov r0, ip + ldr r0, [r0] + mov r8, r0 + adds r0, #0x24 + movs r3, #0 + ldrsb r3, [r0, r3] + lsls r1, r2, #6 + subs r1, r4, r1 + lsls r1, r1, #0x10 + ands r6, r5 + ldr r4, _08017D04 @ =0x02031520 + adds r3, r3, r2 + lsls r3, r3, #2 + adds r2, r4, #0 + adds r2, #0x38 + adds r2, r3, r2 + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + asrs r1, r1, #0xa + adds r1, r1, r0 + ldr r0, [r2] + lsls r1, r1, #1 + adds r1, r1, r0 + movs r0, #0 + ldrsh r2, [r1, r0] + asrs r1, r7, #0x10 + lsls r0, r7, #0x10 + asrs r0, r0, #0x10 + lsls r1, r1, #3 + lsls r2, r2, #6 + adds r1, r1, r2 + adds r1, r1, r0 + adds r4, #0x58 + adds r3, r3, r4 + ldr r0, [r3] + adds r0, r0, r1 + ldrb r1, [r0] + lsrs r1, r1, #4 + movs r0, #0x80 + lsls r0, r0, #3 + add r0, r8 + ldrh r3, [r0] + ldr r2, _08017D08 @ =0x00000402 + add r2, r8 + ldrh r4, [r2] + adds r0, r1, #0 + subs r0, #8 + cmp r0, #4 + bls _08017CEE + b _08017F18 _08017CEE: - lsls r0, r0, #2 - ldr r1, _08017D0C @ =_08017D10 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08017D0C @ =_08017D10 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08017CF8: .4byte 0x020314E0 _08017CFC: .4byte 0xFFFF0000 _08017D00: .4byte 0x0000FFFF @@ -46914,407 +46914,407 @@ _08017D04: .4byte 0x02031520 _08017D08: .4byte 0x00000402 _08017D0C: .4byte _08017D10 _08017D10: @ jump table - .4byte _08017D24 @ case 0 - .4byte _08017D74 @ case 1 - .4byte _08017DBE @ case 2 - .4byte _08017E9C @ case 3 - .4byte _08017EEC @ case 4 + .4byte _08017D24 @ case 0 + .4byte _08017D74 @ case 1 + .4byte _08017DBE @ case 2 + .4byte _08017E9C @ case 3 + .4byte _08017EEC @ case 4 _08017D24: - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x72 - bgt _08017D50 - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x38 - bgt _08017D40 - mov r3, ip - ldr r0, [r3] - ldr r4, _08017D3C @ =0x0000041C - b _08017F0A - .align 2, 0 + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x72 + bgt _08017D50 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x38 + bgt _08017D40 + mov r3, ip + ldr r0, [r3] + ldr r4, _08017D3C @ =0x0000041C + b _08017F0A + .align 2, 0 _08017D3C: .4byte 0x0000041C _08017D40: - mov r1, ip - ldr r0, [r1] - ldr r2, _08017D4C @ =0x0000041D - adds r1, r0, r2 - b _08017F0C - .align 2, 0 + mov r1, ip + ldr r0, [r1] + ldr r2, _08017D4C @ =0x0000041D + adds r1, r0, r2 + b _08017F0C + .align 2, 0 _08017D4C: .4byte 0x0000041D _08017D50: - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x63 - bgt _08017D64 - mov r3, ip - ldr r0, [r3] - ldr r4, _08017D60 @ =0x0000041F - b _08017F0A - .align 2, 0 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x63 + bgt _08017D64 + mov r3, ip + ldr r0, [r3] + ldr r4, _08017D60 @ =0x0000041F + b _08017F0A + .align 2, 0 _08017D60: .4byte 0x0000041F _08017D64: - mov r1, ip - ldr r0, [r1] - ldr r2, _08017D70 @ =0x0000041E - adds r1, r0, r2 - b _08017F0C - .align 2, 0 + mov r1, ip + ldr r0, [r1] + ldr r2, _08017D70 @ =0x0000041E + adds r1, r0, r2 + b _08017F0C + .align 2, 0 _08017D70: .4byte 0x0000041E _08017D74: - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x72 - bgt _08017DA0 - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x45 - bgt _08017D90 - mov r3, ip - ldr r0, [r3] - ldr r4, _08017D8C @ =0x00000427 - b _08017F0A - .align 2, 0 + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x72 + bgt _08017DA0 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x45 + bgt _08017D90 + mov r3, ip + ldr r0, [r3] + ldr r4, _08017D8C @ =0x00000427 + b _08017F0A + .align 2, 0 _08017D8C: .4byte 0x00000427 _08017D90: - mov r1, ip - ldr r0, [r1] - ldr r2, _08017D9C @ =0x00000425 - adds r1, r0, r2 - b _08017F0C - .align 2, 0 + mov r1, ip + ldr r0, [r1] + ldr r2, _08017D9C @ =0x00000425 + adds r1, r0, r2 + b _08017F0C + .align 2, 0 _08017D9C: .4byte 0x00000425 _08017DA0: - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x45 - bgt _08017DB2 - mov r3, ip - ldr r0, [r3] - movs r4, #0x85 - lsls r4, r4, #3 - b _08017F0A + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x45 + bgt _08017DB2 + mov r3, ip + ldr r0, [r3] + movs r4, #0x85 + lsls r4, r4, #3 + b _08017F0A _08017DB2: - mov r1, ip - ldr r0, [r1] - movs r2, #0x84 - lsls r2, r2, #3 - adds r1, r0, r2 - b _08017F0C + mov r1, ip + ldr r0, [r1] + movs r2, #0x84 + lsls r2, r2, #3 + adds r1, r0, r2 + b _08017F0C _08017DBE: - mov r3, ip - ldr r0, [r3] - movs r4, #0xfe - lsls r4, r4, #2 - adds r0, r0, r4 - movs r1, #0 - strb r1, [r0] - ldr r2, [r3] - ldr r1, _08017E10 @ =0x00000412 - adds r0, r2, r1 - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r0, #0 - bne _08017E18 - adds r4, #8 - adds r0, r2, r4 - ldr r1, [r0] - ldr r3, _08017E14 @ =0x00000434 - adds r0, r2, r3 - ldr r0, [r0] - cmp r1, r0 - bne _08017DEC - b _08017F18 + mov r3, ip + ldr r0, [r3] + movs r4, #0xfe + lsls r4, r4, #2 + adds r0, r0, r4 + movs r1, #0 + strb r1, [r0] + ldr r2, [r3] + ldr r1, _08017E10 @ =0x00000412 + adds r0, r2, r1 + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r0, #0 + bne _08017E18 + adds r4, #8 + adds r0, r2, r4 + ldr r1, [r0] + ldr r3, _08017E14 @ =0x00000434 + adds r0, r2, r3 + ldr r0, [r0] + cmp r1, r0 + bne _08017DEC + b _08017F18 _08017DEC: - adds r4, #0x2e - adds r1, r2, r4 - movs r0, #0x11 - strb r0, [r1] - mov r0, ip - ldr r1, [r0] - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r1, r2 - ldrh r2, [r0] - adds r0, r1, r3 - strh r2, [r0] - subs r3, #0x32 - adds r0, r1, r3 - ldrh r0, [r0] - adds r4, #8 - b _08017E90 - .align 2, 0 + adds r4, #0x2e + adds r1, r2, r4 + movs r0, #0x11 + strb r0, [r1] + mov r0, ip + ldr r1, [r0] + movs r2, #0x80 + lsls r2, r2, #3 + adds r0, r1, r2 + ldrh r2, [r0] + adds r0, r1, r3 + strh r2, [r0] + subs r3, #0x32 + adds r0, r1, r3 + ldrh r0, [r0] + adds r4, #8 + b _08017E90 + .align 2, 0 _08017E10: .4byte 0x00000412 _08017E14: .4byte 0x00000434 _08017E18: - cmp r0, #8 - bne _08017E58 - movs r1, #0x80 - lsls r1, r1, #3 - adds r0, r2, r1 - ldr r1, [r0] - movs r3, #0x87 - lsls r3, r3, #3 - adds r0, r2, r3 - ldr r0, [r0] - cmp r1, r0 - beq _08017F18 - ldr r4, _08017E54 @ =0x0000042F - adds r1, r2, r4 - movs r0, #0x11 - strb r0, [r1] - mov r0, ip - ldr r1, [r0] - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r1, r2 - ldrh r2, [r0] - adds r0, r1, r3 - strh r2, [r0] - subs r3, #0x36 - adds r0, r1, r3 - ldrh r0, [r0] - adds r4, #0xb - b _08017E90 - .align 2, 0 + cmp r0, #8 + bne _08017E58 + movs r1, #0x80 + lsls r1, r1, #3 + adds r0, r2, r1 + ldr r1, [r0] + movs r3, #0x87 + lsls r3, r3, #3 + adds r0, r2, r3 + ldr r0, [r0] + cmp r1, r0 + beq _08017F18 + ldr r4, _08017E54 @ =0x0000042F + adds r1, r2, r4 + movs r0, #0x11 + strb r0, [r1] + mov r0, ip + ldr r1, [r0] + movs r2, #0x80 + lsls r2, r2, #3 + adds r0, r1, r2 + ldrh r2, [r0] + adds r0, r1, r3 + strh r2, [r0] + subs r3, #0x36 + adds r0, r1, r3 + ldrh r0, [r0] + adds r4, #0xb + b _08017E90 + .align 2, 0 _08017E54: .4byte 0x0000042F _08017E58: - cmp r0, #0x10 - bne _08017F18 - movs r1, #0x80 - lsls r1, r1, #3 - adds r0, r2, r1 - ldr r1, [r0] - ldr r3, _08017E98 @ =0x0000043C - adds r0, r2, r3 - ldr r0, [r0] - cmp r1, r0 - beq _08017F18 - movs r4, #0x86 - lsls r4, r4, #3 - adds r1, r2, r4 - movs r0, #0x11 - strb r0, [r1] - mov r0, ip - ldr r1, [r0] - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r1, r2 - ldrh r2, [r0] - adds r0, r1, r3 - strh r2, [r0] - subs r3, #0x3a - adds r0, r1, r3 - ldrh r0, [r0] - adds r4, #0xe + cmp r0, #0x10 + bne _08017F18 + movs r1, #0x80 + lsls r1, r1, #3 + adds r0, r2, r1 + ldr r1, [r0] + ldr r3, _08017E98 @ =0x0000043C + adds r0, r2, r3 + ldr r0, [r0] + cmp r1, r0 + beq _08017F18 + movs r4, #0x86 + lsls r4, r4, #3 + adds r1, r2, r4 + movs r0, #0x11 + strb r0, [r1] + mov r0, ip + ldr r1, [r0] + movs r2, #0x80 + lsls r2, r2, #3 + adds r0, r1, r2 + ldrh r2, [r0] + adds r0, r1, r3 + strh r2, [r0] + subs r3, #0x3a + adds r0, r1, r3 + ldrh r0, [r0] + adds r4, #0xe _08017E90: - adds r1, r1, r4 - strh r0, [r1] - b _08017F18 - .align 2, 0 + adds r1, r1, r4 + strh r0, [r1] + b _08017F18 + .align 2, 0 _08017E98: .4byte 0x0000043C _08017E9C: - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x72 - bgt _08017EC8 - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x45 - bgt _08017EBC - mov r1, ip - ldr r0, [r1] - ldr r2, _08017EB8 @ =0x00000429 - adds r1, r0, r2 - b _08017F0C - .align 2, 0 + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x72 + bgt _08017EC8 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x45 + bgt _08017EBC + mov r1, ip + ldr r0, [r1] + ldr r2, _08017EB8 @ =0x00000429 + adds r1, r0, r2 + b _08017F0C + .align 2, 0 _08017EB8: .4byte 0x00000429 _08017EBC: - mov r3, ip - ldr r0, [r3] - ldr r4, _08017EC4 @ =0x00000422 - b _08017F0A - .align 2, 0 + mov r3, ip + ldr r0, [r3] + ldr r4, _08017EC4 @ =0x00000422 + b _08017F0A + .align 2, 0 _08017EC4: .4byte 0x00000422 _08017EC8: - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x45 - bgt _08017EE0 - mov r1, ip - ldr r0, [r1] - ldr r2, _08017EDC @ =0x00000426 - adds r1, r0, r2 - b _08017F0C - .align 2, 0 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x45 + bgt _08017EE0 + mov r1, ip + ldr r0, [r1] + ldr r2, _08017EDC @ =0x00000426 + adds r1, r0, r2 + b _08017F0C + .align 2, 0 _08017EDC: .4byte 0x00000426 _08017EE0: - mov r3, ip - ldr r0, [r3] - ldr r4, _08017EE8 @ =0x00000421 - b _08017F0A - .align 2, 0 + mov r3, ip + ldr r0, [r3] + ldr r4, _08017EE8 @ =0x00000421 + b _08017F0A + .align 2, 0 _08017EE8: .4byte 0x00000421 _08017EEC: - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x72 - bgt _08017F04 - mov r1, ip - ldr r0, [r1] - ldr r2, _08017F00 @ =0x00000424 - adds r1, r0, r2 - b _08017F0C - .align 2, 0 + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x72 + bgt _08017F04 + mov r1, ip + ldr r0, [r1] + ldr r2, _08017F00 @ =0x00000424 + adds r1, r0, r2 + b _08017F0C + .align 2, 0 _08017F00: .4byte 0x00000424 _08017F04: - mov r3, ip - ldr r0, [r3] - ldr r4, _08017F24 @ =0x00000423 + mov r3, ip + ldr r0, [r3] + ldr r4, _08017F24 @ =0x00000423 _08017F0A: - adds r1, r0, r4 + adds r1, r0, r4 _08017F0C: - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bgt _08017F18 - movs r0, #0x18 - strb r0, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + bgt _08017F18 + movs r0, #0x18 + strb r0, [r1] _08017F18: - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + add sp, #4 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08017F24: .4byte 0x00000423 - thumb_func_start sub_17F28 + thumb_func_start sub_17F28 sub_17F28: @ 0x08017F28 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - mov sb, r0 - mov r8, r1 - add r2, sp, #4 - movs r3, #0 - strh r3, [r2] - ldr r0, _08018018 @ =0x020314E0 - ldr r0, [r0] - mov sl, r0 - ldr r0, _0801801C @ =0x0000132C - add r0, sl - ldr r0, [r0] - strh r3, [r0, #4] - mov r0, sb - movs r4, #2 - ldrsh r1, [r0, r4] - ldr r0, _08018020 @ =0x000001FF - cmp r1, r0 - bgt _08018030 - mov r7, sb - movs r0, #0 - ldrsh r4, [r7, r0] - adds r0, r4, #0 - cmp r4, #0 - bge _08017F66 - adds r0, r4, #7 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + mov sb, r0 + mov r8, r1 + add r2, sp, #4 + movs r3, #0 + strh r3, [r2] + ldr r0, _08018018 @ =0x020314E0 + ldr r0, [r0] + mov sl, r0 + ldr r0, _0801801C @ =0x0000132C + add r0, sl + ldr r0, [r0] + strh r3, [r0, #4] + mov r0, sb + movs r4, #2 + ldrsh r1, [r0, r4] + ldr r0, _08018020 @ =0x000001FF + cmp r1, r0 + bgt _08018030 + mov r7, sb + movs r0, #0 + ldrsh r4, [r7, r0] + adds r0, r4, #0 + cmp r4, #0 + bge _08017F66 + adds r0, r4, #7 _08017F66: - asrs r1, r0, #3 - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - ldr r2, _08018024 @ =0xFFFF0000 - mov ip, r2 - ands r5, r2 - orrs r5, r0 - mov r7, sb - movs r0, #2 - ldrsh r3, [r7, r0] - adds r0, r3, #0 - cmp r3, #0 - bge _08017F82 - adds r0, r3, #7 + asrs r1, r0, #3 + lsls r0, r1, #0x10 + lsrs r0, r0, #0x10 + ldr r2, _08018024 @ =0xFFFF0000 + mov ip, r2 + ands r5, r2 + orrs r5, r0 + mov r7, sb + movs r0, #2 + ldrsh r3, [r7, r0] + adds r0, r3, #0 + cmp r3, #0 + bge _08017F82 + adds r0, r3, #7 _08017F82: - asrs r0, r0, #3 - lsls r2, r0, #0x10 - ldr r7, _08018028 @ =0x0000FFFF - ands r5, r7 - lsls r1, r1, #3 - subs r1, r4, r1 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov r4, ip - ands r6, r4 - orrs r6, r1 - lsls r0, r0, #3 - subs r0, r3, r0 - lsls r0, r0, #0x10 - ands r6, r7 - orrs r6, r0 - orrs r5, r2 - asrs r4, r2, #0x10 - adds r2, r4, #0 - cmp r4, #0 - bge _08017FAE - adds r2, #0x3f + asrs r0, r0, #3 + lsls r2, r0, #0x10 + ldr r7, _08018028 @ =0x0000FFFF + ands r5, r7 + lsls r1, r1, #3 + subs r1, r4, r1 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + mov r4, ip + ands r6, r4 + orrs r6, r1 + lsls r0, r0, #3 + subs r0, r3, r0 + lsls r0, r0, #0x10 + ands r6, r7 + orrs r6, r0 + orrs r5, r2 + asrs r4, r2, #0x10 + adds r2, r4, #0 + cmp r4, #0 + bge _08017FAE + adds r2, #0x3f _08017FAE: - asrs r2, r2, #6 - mov r0, sl - adds r0, #0x24 - movs r3, #0 - ldrsb r3, [r0, r3] - lsls r1, r2, #6 - subs r1, r4, r1 - lsls r1, r1, #0x10 - ands r5, r7 - ldr r7, _0801802C @ =0x02031520 - mov ip, r7 - adds r3, r3, r2 - lsls r3, r3, #2 - mov r2, ip - adds r2, #0x38 - adds r2, r3, r2 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - asrs r1, r1, #0xa - adds r1, r1, r0 - ldr r0, [r2] - lsls r1, r1, #1 - adds r1, r1, r0 - mov r4, ip - adds r4, #0x48 - adds r4, r3, r4 - movs r0, #0 - ldrsh r2, [r1, r0] - asrs r1, r6, #0x10 - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - lsls r1, r1, #3 - lsls r2, r2, #6 - adds r1, r1, r2 - adds r1, r1, r0 - ldr r2, [r4] - lsls r0, r1, #1 - adds r0, r0, r2 - ldrh r2, [r0] - mov r0, sp - strh r2, [r0] - mov r0, ip - adds r0, #0x58 - adds r3, r3, r0 - ldr r0, [r3] - adds r0, r0, r1 - ldrb r1, [r0] - mov r0, sp - adds r0, #2 - strb r1, [r0] - adds r4, r0, #0 - b _0801803E - .align 2, 0 + asrs r2, r2, #6 + mov r0, sl + adds r0, #0x24 + movs r3, #0 + ldrsb r3, [r0, r3] + lsls r1, r2, #6 + subs r1, r4, r1 + lsls r1, r1, #0x10 + ands r5, r7 + ldr r7, _0801802C @ =0x02031520 + mov ip, r7 + adds r3, r3, r2 + lsls r3, r3, #2 + mov r2, ip + adds r2, #0x38 + adds r2, r3, r2 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + asrs r1, r1, #0xa + adds r1, r1, r0 + ldr r0, [r2] + lsls r1, r1, #1 + adds r1, r1, r0 + mov r4, ip + adds r4, #0x48 + adds r4, r3, r4 + movs r0, #0 + ldrsh r2, [r1, r0] + asrs r1, r6, #0x10 + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + lsls r1, r1, #3 + lsls r2, r2, #6 + adds r1, r1, r2 + adds r1, r1, r0 + ldr r2, [r4] + lsls r0, r1, #1 + adds r0, r0, r2 + ldrh r2, [r0] + mov r0, sp + strh r2, [r0] + mov r0, ip + adds r0, #0x58 + adds r3, r3, r0 + ldr r0, [r3] + adds r0, r0, r1 + ldrb r1, [r0] + mov r0, sp + adds r0, #2 + strb r1, [r0] + adds r4, r0, #0 + b _0801803E + .align 2, 0 _08018018: .4byte 0x020314E0 _0801801C: .4byte 0x0000132C _08018020: .4byte 0x000001FF @@ -47322,494 +47322,494 @@ _08018024: .4byte 0xFFFF0000 _08018028: .4byte 0x0000FFFF _0801802C: .4byte 0x02031520 _08018030: - mov r0, sp - strh r3, [r0] - mov r1, sp - adds r1, #2 - movs r0, #0 - strb r0, [r1] - adds r4, r1, #0 + mov r0, sp + strh r3, [r0] + mov r1, sp + adds r1, #2 + movs r0, #0 + strb r0, [r1] + adds r4, r1, #0 _0801803E: - mov r0, sb - mov r1, sp - adds r2, r4, #0 - bl sub_18180 - ldrb r0, [r4] - movs r3, #0xf - ands r3, r0 - lsrs r6, r0, #4 - subs r0, r3, #1 - cmp r0, #5 - bls _08018058 - b _0801815E + mov r0, sb + mov r1, sp + adds r2, r4, #0 + bl sub_18180 + ldrb r0, [r4] + movs r3, #0xf + ands r3, r0 + lsrs r6, r0, #4 + subs r0, r3, #1 + cmp r0, #5 + bls _08018058 + b _0801815E _08018058: - lsls r0, r0, #2 - ldr r1, _08018064 @ =_08018068 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08018064 @ =_08018068 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08018064: .4byte _08018068 _08018068: @ jump table - .4byte _08018080 @ case 0 - .4byte _0801812C @ case 1 - .4byte _0801812C @ case 2 - .4byte _08018080 @ case 3 - .4byte _0801815C @ case 4 - .4byte _08018080 @ case 5 + .4byte _08018080 @ case 0 + .4byte _0801812C @ case 1 + .4byte _0801812C @ case 2 + .4byte _08018080 @ case 3 + .4byte _0801815C @ case 4 + .4byte _08018080 @ case 5 _08018080: - ldr r2, _080180F8 @ =0x020314E0 - ldr r0, [r2] - subs r1, r3, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r5, #1 - strb r5, [r0] - mov r0, sp - ldrh r0, [r0] - mov r1, r8 - strh r0, [r1] - ldr r4, _080180FC @ =0xFFFFC010 - adds r0, r0, r4 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x20 - bhi _08018120 - ldr r0, [r2] - ldr r7, _08018100 @ =0x0000132C - adds r3, r0, r7 - ldr r2, [r3] - movs r0, #0x10 - ldrsh r1, [r2, r0] - ldr r4, _08018104 @ =0x02031520 - movs r7, #0x26 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - blt _080180CC - movs r0, #0x12 - ldrsh r1, [r2, r0] - movs r7, #0x28 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - bge _08018120 + ldr r2, _080180F8 @ =0x020314E0 + ldr r0, [r2] + subs r1, r3, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r5, #1 + strb r5, [r0] + mov r0, sp + ldrh r0, [r0] + mov r1, r8 + strh r0, [r1] + ldr r4, _080180FC @ =0xFFFFC010 + adds r0, r0, r4 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x20 + bhi _08018120 + ldr r0, [r2] + ldr r7, _08018100 @ =0x0000132C + adds r3, r0, r7 + ldr r2, [r3] + movs r0, #0x10 + ldrsh r1, [r2, r0] + ldr r4, _08018104 @ =0x02031520 + movs r7, #0x26 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + blt _080180CC + movs r0, #0x12 + ldrsh r1, [r2, r0] + movs r7, #0x28 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + bge _08018120 _080180CC: - movs r1, #6 - ldrsh r0, [r2, r1] - cmp r0, #0 - bgt _080180EA - cmp r0, #0 - bne _08018116 - ldr r0, _08018108 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - ands r0, r5 - cmp r0, #0 - beq _0801810C - movs r0, #0x28 - strh r0, [r2, #4] - ldr r0, [r3] - strh r5, [r0, #6] + movs r1, #6 + ldrsh r0, [r2, r1] + cmp r0, #0 + bgt _080180EA + cmp r0, #0 + bne _08018116 + ldr r0, _08018108 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + ands r0, r5 + cmp r0, #0 + beq _0801810C + movs r0, #0x28 + strh r0, [r2, #4] + ldr r0, [r3] + strh r5, [r0, #6] _080180EA: - movs r2, #0xf8 - lsls r2, r2, #6 - adds r0, r2, #0 - mov r4, r8 - strh r0, [r4] - b _08018120 - .align 2, 0 + movs r2, #0xf8 + lsls r2, r2, #6 + adds r0, r2, #0 + mov r4, r8 + strh r0, [r4] + b _08018120 + .align 2, 0 _080180F8: .4byte 0x020314E0 _080180FC: .4byte 0xFFFFC010 _08018100: .4byte 0x0000132C _08018104: .4byte 0x02031520 _08018108: .4byte 0x0200B0C0 _0801810C: - ldr r0, _08018128 @ =0x0000FFD8 - strh r0, [r2, #4] - ldr r1, [r3] - adds r0, #0x27 - strh r0, [r1, #6] + ldr r0, _08018128 @ =0x0000FFD8 + strh r0, [r2, #4] + ldr r1, [r3] + adds r0, #0x27 + strh r0, [r1, #6] _08018116: - movs r7, #0x82 - lsls r7, r7, #7 - adds r0, r7, #0 - mov r1, r8 - strh r0, [r1] + movs r7, #0x82 + lsls r7, r7, #7 + adds r0, r7, #0 + mov r1, r8 + strh r0, [r1] _08018120: - movs r0, #1 - mov r2, sp - strh r0, [r2, #4] - b _0801815E - .align 2, 0 + movs r0, #1 + mov r2, sp + strh r0, [r2, #4] + b _0801815E + .align 2, 0 _08018128: .4byte 0x0000FFD8 _0801812C: - ldr r2, _08018154 @ =0x020314E0 - ldr r0, [r2] - subs r1, r3, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r1, #2 - strb r1, [r0] - mov r0, sp - ldrh r1, [r0] - ldr r0, _08018158 @ =0x0000FFF0 - ands r0, r1 - mov r4, r8 - strh r0, [r4] - movs r0, #1 - mov r7, sp - strh r0, [r7, #4] - b _0801815E - .align 2, 0 + ldr r2, _08018154 @ =0x020314E0 + ldr r0, [r2] + subs r1, r3, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r1, #2 + strb r1, [r0] + mov r0, sp + ldrh r1, [r0] + ldr r0, _08018158 @ =0x0000FFF0 + ands r0, r1 + mov r4, r8 + strh r0, [r4] + movs r0, #1 + mov r7, sp + strh r0, [r7, #4] + b _0801815E + .align 2, 0 _08018154: .4byte 0x020314E0 _08018158: .4byte 0x0000FFF0 _0801815C: - movs r6, #4 + movs r6, #4 _0801815E: - adds r0, r6, #0 - add r1, sp, #4 - mov r2, r8 - bl sub_182B4 - mov r1, sp - movs r2, #4 - ldrsh r0, [r1, r2] - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_start sub_18180 + adds r0, r6, #0 + add r1, sp, #4 + mov r2, r8 + bl sub_182B4 + mov r1, sp + movs r2, #4 + ldrsh r0, [r1, r2] + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_start sub_18180 sub_18180: @ 0x08018180 - push {r4, r5, r6, r7, lr} - adds r3, r0, #0 - adds r6, r1, #0 - adds r5, r2, #0 - ldr r0, _080181DC @ =0x020314E0 - ldr r4, [r0] - ldr r1, _080181E0 @ =0x00000387 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _080181EC - ldrb r1, [r5] - movs r7, #0xf - adds r0, r7, #0 - ands r0, r1 - cmp r0, #0 - bne _0801829C - movs r1, #0xfc - lsls r1, r1, #2 - adds r0, r4, r1 - ldrh r2, [r3] - ldrh r0, [r0] - subs r2, r2, r0 - ldr r0, _080181E4 @ =0x000003F2 - adds r1, r4, r0 - ldrh r0, [r3, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r3, r2, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x77 - bhi _0801829C - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x97 - bhi _0801829C - ldr r2, _080181E8 @ =0x08340B58 - asrs r1, r1, #0x10 - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #3 - b _08018278 - .align 2, 0 + push {r4, r5, r6, r7, lr} + adds r3, r0, #0 + adds r6, r1, #0 + adds r5, r2, #0 + ldr r0, _080181DC @ =0x020314E0 + ldr r4, [r0] + ldr r1, _080181E0 @ =0x00000387 + adds r0, r4, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _080181EC + ldrb r1, [r5] + movs r7, #0xf + adds r0, r7, #0 + ands r0, r1 + cmp r0, #0 + bne _0801829C + movs r1, #0xfc + lsls r1, r1, #2 + adds r0, r4, r1 + ldrh r2, [r3] + ldrh r0, [r0] + subs r2, r2, r0 + ldr r0, _080181E4 @ =0x000003F2 + adds r1, r4, r0 + ldrh r0, [r3, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r3, r2, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x77 + bhi _0801829C + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x97 + bhi _0801829C + ldr r2, _080181E8 @ =0x08340B58 + asrs r1, r1, #0x10 + lsls r0, r1, #4 + subs r0, r0, r1 + lsls r0, r0, #3 + b _08018278 + .align 2, 0 _080181DC: .4byte 0x020314E0 _080181E0: .4byte 0x00000387 _080181E4: .4byte 0x000003F2 _080181E8: .4byte 0x08340B58 _080181EC: - cmp r0, #2 - bne _08018234 - ldrb r1, [r5] - movs r7, #0xf - adds r0, r7, #0 - ands r0, r1 - cmp r0, #0 - bne _0801829C - movs r1, #0xfc - lsls r1, r1, #2 - adds r0, r4, r1 - ldrh r2, [r3] - ldrh r0, [r0] - subs r2, r2, r0 - ldr r0, _0801822C @ =0x000003F2 - adds r1, r4, r0 - ldrh r0, [r3, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r3, r2, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x5f - bhi _0801829C - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x57 - bhi _0801829C - ldr r2, _08018230 @ =0x083499D8 - b _08018270 - .align 2, 0 + cmp r0, #2 + bne _08018234 + ldrb r1, [r5] + movs r7, #0xf + adds r0, r7, #0 + ands r0, r1 + cmp r0, #0 + bne _0801829C + movs r1, #0xfc + lsls r1, r1, #2 + adds r0, r4, r1 + ldrh r2, [r3] + ldrh r0, [r0] + subs r2, r2, r0 + ldr r0, _0801822C @ =0x000003F2 + adds r1, r4, r0 + ldrh r0, [r3, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r3, r2, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x5f + bhi _0801829C + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x57 + bhi _0801829C + ldr r2, _08018230 @ =0x083499D8 + b _08018270 + .align 2, 0 _0801822C: .4byte 0x000003F2 _08018230: .4byte 0x083499D8 _08018234: - cmp r0, #3 - bne _0801829C - ldrb r1, [r5] - movs r7, #0xf - adds r0, r7, #0 - ands r0, r1 - cmp r0, #0 - bne _0801829C - movs r1, #0xfc - lsls r1, r1, #2 - adds r0, r4, r1 - ldrh r2, [r3] - ldrh r0, [r0] - subs r2, r2, r0 - ldr r0, _080182A4 @ =0x000003F2 - adds r1, r4, r0 - ldrh r0, [r3, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r3, r2, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x5f - bhi _0801829C - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x67 - bhi _0801829C - ldr r2, _080182A8 @ =0x0834DBD8 + cmp r0, #3 + bne _0801829C + ldrb r1, [r5] + movs r7, #0xf + adds r0, r7, #0 + ands r0, r1 + cmp r0, #0 + bne _0801829C + movs r1, #0xfc + lsls r1, r1, #2 + adds r0, r4, r1 + ldrh r2, [r3] + ldrh r0, [r0] + subs r2, r2, r0 + ldr r0, _080182A4 @ =0x000003F2 + adds r1, r4, r0 + ldrh r0, [r3, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r3, r2, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x5f + bhi _0801829C + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x67 + bhi _0801829C + ldr r2, _080182A8 @ =0x0834DBD8 _08018270: - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #5 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #5 _08018278: - asrs r1, r3, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r2, _080182AC @ =0x0000FFF0 - ands r2, r0 - adds r3, r7, #0 - ands r3, r0 - cmp r3, #0 - beq _0801829C - ldr r1, _080182B0 @ =0x00000452 - adds r0, r4, r1 - movs r1, #8 - strh r1, [r0] - strh r2, [r6] - movs r0, #6 - strb r0, [r5] + asrs r1, r3, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r2, _080182AC @ =0x0000FFF0 + ands r2, r0 + adds r3, r7, #0 + ands r3, r0 + cmp r3, #0 + beq _0801829C + ldr r1, _080182B0 @ =0x00000452 + adds r0, r4, r1 + movs r1, #8 + strh r1, [r0] + strh r2, [r6] + movs r0, #6 + strb r0, [r5] _0801829C: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _080182A4: .4byte 0x000003F2 _080182A8: .4byte 0x0834DBD8 _080182AC: .4byte 0x0000FFF0 _080182B0: .4byte 0x00000452 - thumb_func_start sub_182B4 + thumb_func_start sub_182B4 sub_182B4: @ 0x080182B4 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - subs r0, #1 - cmp r0, #0xe - bhi _0801831C - lsls r0, r0, #2 - ldr r1, _080182C8 @ =_080182CC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + subs r0, #1 + cmp r0, #0xe + bhi _0801831C + lsls r0, r0, #2 + ldr r1, _080182C8 @ =_080182CC + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080182C8: .4byte _080182CC _080182CC: @ jump table - .4byte _0801831C @ case 0 - .4byte _0801831C @ case 1 - .4byte _0801831C @ case 2 - .4byte _08018308 @ case 3 - .4byte _0801831C @ case 4 - .4byte _0801831C @ case 5 - .4byte _0801831C @ case 6 - .4byte _0801831C @ case 7 - .4byte _0801831C @ case 8 - .4byte _0801831C @ case 9 - .4byte _0801831C @ case 10 - .4byte _0801831C @ case 11 - .4byte _0801831C @ case 12 - .4byte _0801831C @ case 13 - .4byte _0801831C @ case 14 + .4byte _0801831C @ case 0 + .4byte _0801831C @ case 1 + .4byte _0801831C @ case 2 + .4byte _08018308 @ case 3 + .4byte _0801831C @ case 4 + .4byte _0801831C @ case 5 + .4byte _0801831C @ case 6 + .4byte _0801831C @ case 7 + .4byte _0801831C @ case 8 + .4byte _0801831C @ case 9 + .4byte _0801831C @ case 10 + .4byte _0801831C @ case 11 + .4byte _0801831C @ case 12 + .4byte _0801831C @ case 13 + .4byte _0801831C @ case 14 _08018308: - ldr r2, _08018320 @ =0x020314E0 - ldr r0, [r2] - movs r1, #0xf7 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #6 - strb r1, [r0] - ldr r1, [r2] - movs r0, #1 - strb r0, [r1, #0x1f] + ldr r2, _08018320 @ =0x020314E0 + ldr r0, [r2] + movs r1, #0xf7 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #6 + strb r1, [r0] + ldr r1, [r2] + movs r0, #1 + strb r0, [r1, #0x1f] _0801831C: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _08018320: .4byte 0x020314E0 - thumb_func_start sub_18324 + thumb_func_start sub_18324 sub_18324: @ 0x08018324 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - mov sb, r0 - mov r8, r1 - add r2, sp, #4 - movs r3, #0 - strh r3, [r2] - ldr r0, _08018414 @ =0x020314E0 - ldr r0, [r0] - mov sl, r0 - ldr r0, _08018418 @ =0x0000132C - add r0, sl - ldr r0, [r0] - strh r3, [r0, #4] - mov r0, sb - movs r4, #2 - ldrsh r1, [r0, r4] - ldr r0, _0801841C @ =0x000001FF - cmp r1, r0 - bgt _0801842C - mov r7, sb - movs r0, #0 - ldrsh r4, [r7, r0] - adds r0, r4, #0 - cmp r4, #0 - bge _08018362 - adds r0, r4, #7 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + mov sb, r0 + mov r8, r1 + add r2, sp, #4 + movs r3, #0 + strh r3, [r2] + ldr r0, _08018414 @ =0x020314E0 + ldr r0, [r0] + mov sl, r0 + ldr r0, _08018418 @ =0x0000132C + add r0, sl + ldr r0, [r0] + strh r3, [r0, #4] + mov r0, sb + movs r4, #2 + ldrsh r1, [r0, r4] + ldr r0, _0801841C @ =0x000001FF + cmp r1, r0 + bgt _0801842C + mov r7, sb + movs r0, #0 + ldrsh r4, [r7, r0] + adds r0, r4, #0 + cmp r4, #0 + bge _08018362 + adds r0, r4, #7 _08018362: - asrs r1, r0, #3 - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - ldr r2, _08018420 @ =0xFFFF0000 - mov ip, r2 - ands r5, r2 - orrs r5, r0 - mov r7, sb - movs r0, #2 - ldrsh r3, [r7, r0] - adds r0, r3, #0 - cmp r3, #0 - bge _0801837E - adds r0, r3, #7 + asrs r1, r0, #3 + lsls r0, r1, #0x10 + lsrs r0, r0, #0x10 + ldr r2, _08018420 @ =0xFFFF0000 + mov ip, r2 + ands r5, r2 + orrs r5, r0 + mov r7, sb + movs r0, #2 + ldrsh r3, [r7, r0] + adds r0, r3, #0 + cmp r3, #0 + bge _0801837E + adds r0, r3, #7 _0801837E: - asrs r0, r0, #3 - lsls r2, r0, #0x10 - ldr r7, _08018424 @ =0x0000FFFF - ands r5, r7 - lsls r1, r1, #3 - subs r1, r4, r1 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov r4, ip - ands r6, r4 - orrs r6, r1 - lsls r0, r0, #3 - subs r0, r3, r0 - lsls r0, r0, #0x10 - ands r6, r7 - orrs r6, r0 - orrs r5, r2 - asrs r4, r2, #0x10 - adds r2, r4, #0 - cmp r4, #0 - bge _080183AA - adds r2, #0x3f + asrs r0, r0, #3 + lsls r2, r0, #0x10 + ldr r7, _08018424 @ =0x0000FFFF + ands r5, r7 + lsls r1, r1, #3 + subs r1, r4, r1 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + mov r4, ip + ands r6, r4 + orrs r6, r1 + lsls r0, r0, #3 + subs r0, r3, r0 + lsls r0, r0, #0x10 + ands r6, r7 + orrs r6, r0 + orrs r5, r2 + asrs r4, r2, #0x10 + adds r2, r4, #0 + cmp r4, #0 + bge _080183AA + adds r2, #0x3f _080183AA: - asrs r2, r2, #6 - mov r0, sl - adds r0, #0x24 - movs r3, #0 - ldrsb r3, [r0, r3] - lsls r1, r2, #6 - subs r1, r4, r1 - lsls r1, r1, #0x10 - ands r5, r7 - ldr r7, _08018428 @ =0x02031520 - mov ip, r7 - adds r3, r3, r2 - lsls r3, r3, #2 - mov r2, ip - adds r2, #0x38 - adds r2, r3, r2 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - asrs r1, r1, #0xa - adds r1, r1, r0 - ldr r0, [r2] - lsls r1, r1, #1 - adds r1, r1, r0 - mov r4, ip - adds r4, #0x48 - adds r4, r3, r4 - movs r0, #0 - ldrsh r2, [r1, r0] - asrs r1, r6, #0x10 - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - lsls r1, r1, #3 - lsls r2, r2, #6 - adds r1, r1, r2 - adds r1, r1, r0 - ldr r2, [r4] - lsls r0, r1, #1 - adds r0, r0, r2 - ldrh r2, [r0] - mov r0, sp - strh r2, [r0] - mov r0, ip - adds r0, #0x58 - adds r3, r3, r0 - ldr r0, [r3] - adds r0, r0, r1 - ldrb r1, [r0] - mov r0, sp - adds r0, #2 - strb r1, [r0] - adds r4, r0, #0 - b _0801843A - .align 2, 0 + asrs r2, r2, #6 + mov r0, sl + adds r0, #0x24 + movs r3, #0 + ldrsb r3, [r0, r3] + lsls r1, r2, #6 + subs r1, r4, r1 + lsls r1, r1, #0x10 + ands r5, r7 + ldr r7, _08018428 @ =0x02031520 + mov ip, r7 + adds r3, r3, r2 + lsls r3, r3, #2 + mov r2, ip + adds r2, #0x38 + adds r2, r3, r2 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + asrs r1, r1, #0xa + adds r1, r1, r0 + ldr r0, [r2] + lsls r1, r1, #1 + adds r1, r1, r0 + mov r4, ip + adds r4, #0x48 + adds r4, r3, r4 + movs r0, #0 + ldrsh r2, [r1, r0] + asrs r1, r6, #0x10 + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + lsls r1, r1, #3 + lsls r2, r2, #6 + adds r1, r1, r2 + adds r1, r1, r0 + ldr r2, [r4] + lsls r0, r1, #1 + adds r0, r0, r2 + ldrh r2, [r0] + mov r0, sp + strh r2, [r0] + mov r0, ip + adds r0, #0x58 + adds r3, r3, r0 + ldr r0, [r3] + adds r0, r0, r1 + ldrb r1, [r0] + mov r0, sp + adds r0, #2 + strb r1, [r0] + adds r4, r0, #0 + b _0801843A + .align 2, 0 _08018414: .4byte 0x020314E0 _08018418: .4byte 0x0000132C _0801841C: .4byte 0x000001FF @@ -47817,416 +47817,416 @@ _08018420: .4byte 0xFFFF0000 _08018424: .4byte 0x0000FFFF _08018428: .4byte 0x02031520 _0801842C: - mov r0, sp - strh r3, [r0] - mov r1, sp - adds r1, #2 - movs r0, #0 - strb r0, [r1] - adds r4, r1, #0 + mov r0, sp + strh r3, [r0] + mov r1, sp + adds r1, #2 + movs r0, #0 + strb r0, [r1] + adds r4, r1, #0 _0801843A: - mov r0, sb - mov r1, sp - adds r2, r4, #0 - bl sub_1857C - ldrb r0, [r4] - movs r3, #0xf - ands r3, r0 - lsrs r6, r0, #4 - subs r0, r3, #1 - cmp r0, #5 - bls _08018454 - b _0801855A + mov r0, sb + mov r1, sp + adds r2, r4, #0 + bl sub_1857C + ldrb r0, [r4] + movs r3, #0xf + ands r3, r0 + lsrs r6, r0, #4 + subs r0, r3, #1 + cmp r0, #5 + bls _08018454 + b _0801855A _08018454: - lsls r0, r0, #2 - ldr r1, _08018460 @ =_08018464 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08018460 @ =_08018464 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08018460: .4byte _08018464 _08018464: @ jump table - .4byte _0801847C @ case 0 - .4byte _08018528 @ case 1 - .4byte _08018528 @ case 2 - .4byte _0801847C @ case 3 - .4byte _08018558 @ case 4 - .4byte _0801847C @ case 5 + .4byte _0801847C @ case 0 + .4byte _08018528 @ case 1 + .4byte _08018528 @ case 2 + .4byte _0801847C @ case 3 + .4byte _08018558 @ case 4 + .4byte _0801847C @ case 5 _0801847C: - ldr r2, _080184F4 @ =0x020314E0 - ldr r0, [r2] - subs r1, r3, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r5, #1 - strb r5, [r0] - mov r0, sp - ldrh r0, [r0] - mov r1, r8 - strh r0, [r1] - ldr r4, _080184F8 @ =0xFFFFC010 - adds r0, r0, r4 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x20 - bhi _0801851C - ldr r0, [r2] - ldr r7, _080184FC @ =0x0000132C - adds r3, r0, r7 - ldr r2, [r3] - movs r0, #0x10 - ldrsh r1, [r2, r0] - ldr r4, _08018500 @ =0x02031520 - movs r7, #0x26 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - blt _080184C8 - movs r0, #0x12 - ldrsh r1, [r2, r0] - movs r7, #0x28 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - bge _0801851C + ldr r2, _080184F4 @ =0x020314E0 + ldr r0, [r2] + subs r1, r3, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r5, #1 + strb r5, [r0] + mov r0, sp + ldrh r0, [r0] + mov r1, r8 + strh r0, [r1] + ldr r4, _080184F8 @ =0xFFFFC010 + adds r0, r0, r4 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x20 + bhi _0801851C + ldr r0, [r2] + ldr r7, _080184FC @ =0x0000132C + adds r3, r0, r7 + ldr r2, [r3] + movs r0, #0x10 + ldrsh r1, [r2, r0] + ldr r4, _08018500 @ =0x02031520 + movs r7, #0x26 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + blt _080184C8 + movs r0, #0x12 + ldrsh r1, [r2, r0] + movs r7, #0x28 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + bge _0801851C _080184C8: - movs r1, #6 - ldrsh r0, [r2, r1] - cmp r0, #0 - bgt _080184E6 - cmp r0, #0 - bne _08018512 - ldr r0, _08018504 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - ands r0, r5 - cmp r0, #0 - beq _08018508 - movs r0, #0x28 - strh r0, [r2, #4] - ldr r0, [r3] - strh r5, [r0, #6] + movs r1, #6 + ldrsh r0, [r2, r1] + cmp r0, #0 + bgt _080184E6 + cmp r0, #0 + bne _08018512 + ldr r0, _08018504 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + ands r0, r5 + cmp r0, #0 + beq _08018508 + movs r0, #0x28 + strh r0, [r2, #4] + ldr r0, [r3] + strh r5, [r0, #6] _080184E6: - movs r2, #0xf8 - lsls r2, r2, #6 - adds r0, r2, #0 - mov r4, r8 - strh r0, [r4] - b _0801851C - .align 2, 0 + movs r2, #0xf8 + lsls r2, r2, #6 + adds r0, r2, #0 + mov r4, r8 + strh r0, [r4] + b _0801851C + .align 2, 0 _080184F4: .4byte 0x020314E0 _080184F8: .4byte 0xFFFFC010 _080184FC: .4byte 0x0000132C _08018500: .4byte 0x02031520 _08018504: .4byte 0x0200B0C0 _08018508: - ldr r0, _08018524 @ =0x0000FFD8 - strh r0, [r2, #4] - ldr r1, [r3] - adds r0, #0x27 - strh r0, [r1, #6] + ldr r0, _08018524 @ =0x0000FFD8 + strh r0, [r2, #4] + ldr r1, [r3] + adds r0, #0x27 + strh r0, [r1, #6] _08018512: - movs r7, #0x82 - lsls r7, r7, #7 - adds r0, r7, #0 - mov r1, r8 - strh r0, [r1] + movs r7, #0x82 + lsls r7, r7, #7 + adds r0, r7, #0 + mov r1, r8 + strh r0, [r1] _0801851C: - movs r0, #1 - mov r2, sp - strh r0, [r2, #4] - b _0801855A - .align 2, 0 + movs r0, #1 + mov r2, sp + strh r0, [r2, #4] + b _0801855A + .align 2, 0 _08018524: .4byte 0x0000FFD8 _08018528: - ldr r2, _08018550 @ =0x020314E0 - ldr r0, [r2] - subs r1, r3, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r1, #2 - strb r1, [r0] - mov r0, sp - ldrh r1, [r0] - ldr r0, _08018554 @ =0x0000FFF0 - ands r0, r1 - mov r4, r8 - strh r0, [r4] - movs r0, #1 - mov r7, sp - strh r0, [r7, #4] - b _0801855A - .align 2, 0 + ldr r2, _08018550 @ =0x020314E0 + ldr r0, [r2] + subs r1, r3, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r1, #2 + strb r1, [r0] + mov r0, sp + ldrh r1, [r0] + ldr r0, _08018554 @ =0x0000FFF0 + ands r0, r1 + mov r4, r8 + strh r0, [r4] + movs r0, #1 + mov r7, sp + strh r0, [r7, #4] + b _0801855A + .align 2, 0 _08018550: .4byte 0x020314E0 _08018554: .4byte 0x0000FFF0 _08018558: - movs r6, #4 + movs r6, #4 _0801855A: - adds r0, r6, #0 - add r1, sp, #4 - mov r2, r8 - bl sub_18784 - mov r1, sp - movs r2, #4 - ldrsh r0, [r1, r2] - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_start sub_1857C + adds r0, r6, #0 + add r1, sp, #4 + mov r2, r8 + bl sub_18784 + mov r1, sp + movs r2, #4 + ldrsh r0, [r1, r2] + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_start sub_1857C sub_1857C: @ 0x0801857C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov r8, r0 - mov sl, r1 - mov ip, r2 - ldr r0, _08018758 @ =0x020314E0 - ldr r4, [r0] - ldr r1, _0801875C @ =0x00000387 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _0801860E - ldrb r1, [r2] - movs r5, #0xf - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - bne _0801860E - movs r3, #0xfc - lsls r3, r3, #2 - adds r0, r4, r3 - mov r1, r8 - ldrh r2, [r1] - ldrh r0, [r0] - subs r2, r2, r0 - adds r3, #2 - adds r1, r4, r3 - mov r3, r8 - ldrh r0, [r3, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r3, r2, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x6f - bhi _0801860E - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x7f - bhi _0801860E - ldr r2, _08018760 @ =0x083579C8 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #4 - asrs r1, r3, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r1, _08018764 @ =0x0000FFF0 - ands r1, r0 - adds r3, r5, #0 - ands r3, r0 - cmp r3, #0 - beq _0801860E - ldr r0, _08018768 @ =0x00000452 - adds r2, r4, r0 - ldrh r0, [r2] - cmp r0, #0 - bne _08018606 - movs r0, #0x27 - strh r0, [r2] + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + mov r8, r0 + mov sl, r1 + mov ip, r2 + ldr r0, _08018758 @ =0x020314E0 + ldr r4, [r0] + ldr r1, _0801875C @ =0x00000387 + adds r0, r4, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _0801860E + ldrb r1, [r2] + movs r5, #0xf + adds r0, r5, #0 + ands r0, r1 + cmp r0, #0 + bne _0801860E + movs r3, #0xfc + lsls r3, r3, #2 + adds r0, r4, r3 + mov r1, r8 + ldrh r2, [r1] + ldrh r0, [r0] + subs r2, r2, r0 + adds r3, #2 + adds r1, r4, r3 + mov r3, r8 + ldrh r0, [r3, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r3, r2, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x6f + bhi _0801860E + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x7f + bhi _0801860E + ldr r2, _08018760 @ =0x083579C8 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #4 + asrs r1, r3, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r1, _08018764 @ =0x0000FFF0 + ands r1, r0 + adds r3, r5, #0 + ands r3, r0 + cmp r3, #0 + beq _0801860E + ldr r0, _08018768 @ =0x00000452 + adds r2, r4, r0 + ldrh r0, [r2] + cmp r0, #0 + bne _08018606 + movs r0, #0x27 + strh r0, [r2] _08018606: - mov r0, sl - strh r1, [r0] - mov r1, ip - strb r3, [r1] + mov r0, sl + strh r1, [r0] + mov r1, ip + strb r3, [r1] _0801860E: - movs r5, #0 - ldr r3, _08018758 @ =0x020314E0 - mov sb, r3 + movs r5, #0 + ldr r3, _08018758 @ =0x020314E0 + mov sb, r3 _08018614: - mov r0, sb - ldr r1, [r0] - lsls r0, r5, #0x10 - asrs r6, r0, #0x10 - lsls r0, r6, #2 - adds r3, r1, r0 - movs r1, #0x9f - lsls r1, r1, #3 - adds r0, r3, r1 - ldrh r4, [r0] - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0 - ble _0801869C - mov r0, ip - ldrb r1, [r0] - movs r7, #0xf - adds r0, r7, #0 - ands r0, r1 - cmp r0, #0 - bne _0801869C - mov r1, r8 - ldrh r2, [r1] - subs r2, r2, r4 - ldr r0, _0801876C @ =0x000004FA - adds r1, r3, r0 - mov r3, r8 - ldrh r0, [r3, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r2, r2, #0x10 - lsrs r0, r2, #0x10 - cmp r0, #0x4f - bhi _0801869C - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x4f - bhi _0801869C - asrs r1, r1, #0x10 - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #4 - asrs r1, r2, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r1, _08018770 @ =0x0835E9C8 - adds r0, r0, r1 - ldrh r0, [r0] - ldr r1, _08018764 @ =0x0000FFF0 - ands r1, r0 - adds r3, r7, #0 - ands r3, r0 - cmp r3, #0 - beq _0801869C - mov r3, sl - strh r1, [r3] - movs r0, #6 - mov r1, ip - strb r0, [r1] - mov r3, sb - ldr r0, [r3] - ldr r1, _08018774 @ =0x000004D5 - adds r0, r0, r1 - adds r0, r0, r6 - movs r1, #1 - strb r1, [r0] + mov r0, sb + ldr r1, [r0] + lsls r0, r5, #0x10 + asrs r6, r0, #0x10 + lsls r0, r6, #2 + adds r3, r1, r0 + movs r1, #0x9f + lsls r1, r1, #3 + adds r0, r3, r1 + ldrh r4, [r0] + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #0 + ble _0801869C + mov r0, ip + ldrb r1, [r0] + movs r7, #0xf + adds r0, r7, #0 + ands r0, r1 + cmp r0, #0 + bne _0801869C + mov r1, r8 + ldrh r2, [r1] + subs r2, r2, r4 + ldr r0, _0801876C @ =0x000004FA + adds r1, r3, r0 + mov r3, r8 + ldrh r0, [r3, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r2, r2, #0x10 + lsrs r0, r2, #0x10 + cmp r0, #0x4f + bhi _0801869C + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x4f + bhi _0801869C + asrs r1, r1, #0x10 + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #4 + asrs r1, r2, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + ldr r1, _08018770 @ =0x0835E9C8 + adds r0, r0, r1 + ldrh r0, [r0] + ldr r1, _08018764 @ =0x0000FFF0 + ands r1, r0 + adds r3, r7, #0 + ands r3, r0 + cmp r3, #0 + beq _0801869C + mov r3, sl + strh r1, [r3] + movs r0, #6 + mov r1, ip + strb r0, [r1] + mov r3, sb + ldr r0, [r3] + ldr r1, _08018774 @ =0x000004D5 + adds r0, r0, r1 + adds r0, r0, r6 + movs r1, #1 + strb r1, [r0] _0801869C: - lsls r0, r5, #0x10 - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r0, r3 - lsrs r5, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _08018614 - movs r5, #0 - ldr r0, _08018758 @ =0x020314E0 - mov sb, r0 + lsls r0, r5, #0x10 + movs r3, #0x80 + lsls r3, r3, #9 + adds r0, r0, r3 + lsrs r5, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _08018614 + movs r5, #0 + ldr r0, _08018758 @ =0x020314E0 + mov sb, r0 _080186B2: - mov r3, sb - ldr r1, [r3] - lsls r2, r5, #0x10 - asrs r5, r2, #0x10 - lsls r0, r5, #2 - adds r3, r1, r0 - ldr r1, _08018778 @ =0x000004B4 - adds r0, r3, r1 - ldrh r4, [r0] - movs r1, #0 - ldrsh r0, [r0, r1] - adds r7, r2, #0 - cmp r0, #0 - ble _0801873A - mov r0, ip - ldrb r1, [r0] - movs r6, #0xf - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - bne _0801873A - mov r1, r8 - ldrh r2, [r1] - subs r2, r2, r4 - ldr r0, _0801877C @ =0x000004B6 - adds r1, r3, r0 - mov r3, r8 - ldrh r0, [r3, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r2, r2, #0x10 - lsrs r0, r2, #0x10 - cmp r0, #0x4f - bhi _0801873A - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x4f - bhi _0801873A - asrs r1, r1, #0x10 - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #4 - asrs r1, r2, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r1, _08018770 @ =0x0835E9C8 - adds r0, r0, r1 - ldrh r0, [r0] - ldr r1, _08018764 @ =0x0000FFF0 - ands r1, r0 - adds r3, r6, #0 - ands r3, r0 - cmp r3, #0 - beq _0801873A - mov r3, sl - strh r1, [r3] - movs r0, #6 - mov r1, ip - strb r0, [r1] - mov r3, sb - ldr r0, [r3] - ldr r1, _08018780 @ =0x000004A4 - adds r0, r0, r1 - adds r0, r0, r5 - movs r1, #8 - strb r1, [r0] + mov r3, sb + ldr r1, [r3] + lsls r2, r5, #0x10 + asrs r5, r2, #0x10 + lsls r0, r5, #2 + adds r3, r1, r0 + ldr r1, _08018778 @ =0x000004B4 + adds r0, r3, r1 + ldrh r4, [r0] + movs r1, #0 + ldrsh r0, [r0, r1] + adds r7, r2, #0 + cmp r0, #0 + ble _0801873A + mov r0, ip + ldrb r1, [r0] + movs r6, #0xf + adds r0, r6, #0 + ands r0, r1 + cmp r0, #0 + bne _0801873A + mov r1, r8 + ldrh r2, [r1] + subs r2, r2, r4 + ldr r0, _0801877C @ =0x000004B6 + adds r1, r3, r0 + mov r3, r8 + ldrh r0, [r3, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r2, r2, #0x10 + lsrs r0, r2, #0x10 + cmp r0, #0x4f + bhi _0801873A + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x4f + bhi _0801873A + asrs r1, r1, #0x10 + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #4 + asrs r1, r2, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + ldr r1, _08018770 @ =0x0835E9C8 + adds r0, r0, r1 + ldrh r0, [r0] + ldr r1, _08018764 @ =0x0000FFF0 + ands r1, r0 + adds r3, r6, #0 + ands r3, r0 + cmp r3, #0 + beq _0801873A + mov r3, sl + strh r1, [r3] + movs r0, #6 + mov r1, ip + strb r0, [r1] + mov r3, sb + ldr r0, [r3] + ldr r1, _08018780 @ =0x000004A4 + adds r0, r0, r1 + adds r0, r0, r5 + movs r1, #8 + strb r1, [r0] _0801873A: - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r7, r3 - lsrs r5, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #3 - ble _080186B2 - 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 + movs r3, #0x80 + lsls r3, r3, #9 + adds r0, r7, r3 + lsrs r5, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #3 + ble _080186B2 + 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 _08018758: .4byte 0x020314E0 _0801875C: .4byte 0x00000387 _08018760: .4byte 0x083579C8 @@ -48239,177 +48239,177 @@ _08018778: .4byte 0x000004B4 _0801877C: .4byte 0x000004B6 _08018780: .4byte 0x000004A4 - thumb_func_start sub_18784 + thumb_func_start sub_18784 sub_18784: @ 0x08018784 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - subs r0, #1 - cmp r0, #0xe - bhi _080187EC - lsls r0, r0, #2 - ldr r1, _08018798 @ =_0801879C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + subs r0, #1 + cmp r0, #0xe + bhi _080187EC + lsls r0, r0, #2 + ldr r1, _08018798 @ =_0801879C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08018798: .4byte _0801879C _0801879C: @ jump table - .4byte _080187EC @ case 0 - .4byte _080187EC @ case 1 - .4byte _080187EC @ case 2 - .4byte _080187D8 @ case 3 - .4byte _080187EC @ case 4 - .4byte _080187EC @ case 5 - .4byte _080187EC @ case 6 - .4byte _080187EC @ case 7 - .4byte _080187EC @ case 8 - .4byte _080187EC @ case 9 - .4byte _080187EC @ case 10 - .4byte _080187EC @ case 11 - .4byte _080187EC @ case 12 - .4byte _080187EC @ case 13 - .4byte _080187EC @ case 14 + .4byte _080187EC @ case 0 + .4byte _080187EC @ case 1 + .4byte _080187EC @ case 2 + .4byte _080187D8 @ case 3 + .4byte _080187EC @ case 4 + .4byte _080187EC @ case 5 + .4byte _080187EC @ case 6 + .4byte _080187EC @ case 7 + .4byte _080187EC @ case 8 + .4byte _080187EC @ case 9 + .4byte _080187EC @ case 10 + .4byte _080187EC @ case 11 + .4byte _080187EC @ case 12 + .4byte _080187EC @ case 13 + .4byte _080187EC @ case 14 _080187D8: - ldr r2, _080187F0 @ =0x020314E0 - ldr r0, [r2] - movs r1, #0xf7 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #6 - strb r1, [r0] - ldr r1, [r2] - movs r0, #1 - strb r0, [r1, #0x1f] + ldr r2, _080187F0 @ =0x020314E0 + ldr r0, [r2] + movs r1, #0xf7 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #6 + strb r1, [r0] + ldr r1, [r2] + movs r0, #1 + strb r0, [r1, #0x1f] _080187EC: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _080187F0: .4byte 0x020314E0 - thumb_func_start sub_187F4 + thumb_func_start sub_187F4 sub_187F4: @ 0x080187F4 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - mov sb, r0 - mov r8, r1 - add r2, sp, #4 - movs r3, #0 - strh r3, [r2] - ldr r0, _080188E4 @ =0x020314E0 - ldr r0, [r0] - mov sl, r0 - ldr r0, _080188E8 @ =0x0000132C - add r0, sl - ldr r0, [r0] - strh r3, [r0, #4] - mov r0, sb - movs r4, #2 - ldrsh r1, [r0, r4] - ldr r0, _080188EC @ =0x000001FF - cmp r1, r0 - bgt _080188FC - mov r7, sb - movs r0, #0 - ldrsh r4, [r7, r0] - adds r0, r4, #0 - cmp r4, #0 - bge _08018832 - adds r0, r4, #7 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + mov sb, r0 + mov r8, r1 + add r2, sp, #4 + movs r3, #0 + strh r3, [r2] + ldr r0, _080188E4 @ =0x020314E0 + ldr r0, [r0] + mov sl, r0 + ldr r0, _080188E8 @ =0x0000132C + add r0, sl + ldr r0, [r0] + strh r3, [r0, #4] + mov r0, sb + movs r4, #2 + ldrsh r1, [r0, r4] + ldr r0, _080188EC @ =0x000001FF + cmp r1, r0 + bgt _080188FC + mov r7, sb + movs r0, #0 + ldrsh r4, [r7, r0] + adds r0, r4, #0 + cmp r4, #0 + bge _08018832 + adds r0, r4, #7 _08018832: - asrs r1, r0, #3 - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - ldr r2, _080188F0 @ =0xFFFF0000 - mov ip, r2 - ands r5, r2 - orrs r5, r0 - mov r7, sb - movs r0, #2 - ldrsh r3, [r7, r0] - adds r0, r3, #0 - cmp r3, #0 - bge _0801884E - adds r0, r3, #7 + asrs r1, r0, #3 + lsls r0, r1, #0x10 + lsrs r0, r0, #0x10 + ldr r2, _080188F0 @ =0xFFFF0000 + mov ip, r2 + ands r5, r2 + orrs r5, r0 + mov r7, sb + movs r0, #2 + ldrsh r3, [r7, r0] + adds r0, r3, #0 + cmp r3, #0 + bge _0801884E + adds r0, r3, #7 _0801884E: - asrs r0, r0, #3 - lsls r2, r0, #0x10 - ldr r7, _080188F4 @ =0x0000FFFF - ands r5, r7 - lsls r1, r1, #3 - subs r1, r4, r1 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov r4, ip - ands r6, r4 - orrs r6, r1 - lsls r0, r0, #3 - subs r0, r3, r0 - lsls r0, r0, #0x10 - ands r6, r7 - orrs r6, r0 - orrs r5, r2 - asrs r4, r2, #0x10 - adds r2, r4, #0 - cmp r4, #0 - bge _0801887A - adds r2, #0x3f + asrs r0, r0, #3 + lsls r2, r0, #0x10 + ldr r7, _080188F4 @ =0x0000FFFF + ands r5, r7 + lsls r1, r1, #3 + subs r1, r4, r1 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + mov r4, ip + ands r6, r4 + orrs r6, r1 + lsls r0, r0, #3 + subs r0, r3, r0 + lsls r0, r0, #0x10 + ands r6, r7 + orrs r6, r0 + orrs r5, r2 + asrs r4, r2, #0x10 + adds r2, r4, #0 + cmp r4, #0 + bge _0801887A + adds r2, #0x3f _0801887A: - asrs r2, r2, #6 - mov r0, sl - adds r0, #0x24 - movs r3, #0 - ldrsb r3, [r0, r3] - lsls r1, r2, #6 - subs r1, r4, r1 - lsls r1, r1, #0x10 - ands r5, r7 - ldr r7, _080188F8 @ =0x02031520 - mov ip, r7 - adds r3, r3, r2 - lsls r3, r3, #2 - mov r2, ip - adds r2, #0x38 - adds r2, r3, r2 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - asrs r1, r1, #0xa - adds r1, r1, r0 - ldr r0, [r2] - lsls r1, r1, #1 - adds r1, r1, r0 - mov r4, ip - adds r4, #0x48 - adds r4, r3, r4 - movs r0, #0 - ldrsh r2, [r1, r0] - asrs r1, r6, #0x10 - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - lsls r1, r1, #3 - lsls r2, r2, #6 - adds r1, r1, r2 - adds r1, r1, r0 - ldr r2, [r4] - lsls r0, r1, #1 - adds r0, r0, r2 - ldrh r2, [r0] - mov r0, sp - strh r2, [r0] - mov r0, ip - adds r0, #0x58 - adds r3, r3, r0 - ldr r0, [r3] - adds r0, r0, r1 - ldrb r1, [r0] - mov r0, sp - adds r0, #2 - strb r1, [r0] - adds r4, r0, #0 - b _0801890A - .align 2, 0 + asrs r2, r2, #6 + mov r0, sl + adds r0, #0x24 + movs r3, #0 + ldrsb r3, [r0, r3] + lsls r1, r2, #6 + subs r1, r4, r1 + lsls r1, r1, #0x10 + ands r5, r7 + ldr r7, _080188F8 @ =0x02031520 + mov ip, r7 + adds r3, r3, r2 + lsls r3, r3, #2 + mov r2, ip + adds r2, #0x38 + adds r2, r3, r2 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + asrs r1, r1, #0xa + adds r1, r1, r0 + ldr r0, [r2] + lsls r1, r1, #1 + adds r1, r1, r0 + mov r4, ip + adds r4, #0x48 + adds r4, r3, r4 + movs r0, #0 + ldrsh r2, [r1, r0] + asrs r1, r6, #0x10 + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + lsls r1, r1, #3 + lsls r2, r2, #6 + adds r1, r1, r2 + adds r1, r1, r0 + ldr r2, [r4] + lsls r0, r1, #1 + adds r0, r0, r2 + ldrh r2, [r0] + mov r0, sp + strh r2, [r0] + mov r0, ip + adds r0, #0x58 + adds r3, r3, r0 + ldr r0, [r3] + adds r0, r0, r1 + ldrb r1, [r0] + mov r0, sp + adds r0, #2 + strb r1, [r0] + adds r4, r0, #0 + b _0801890A + .align 2, 0 _080188E4: .4byte 0x020314E0 _080188E8: .4byte 0x0000132C _080188EC: .4byte 0x000001FF @@ -48417,236 +48417,236 @@ _080188F0: .4byte 0xFFFF0000 _080188F4: .4byte 0x0000FFFF _080188F8: .4byte 0x02031520 _080188FC: - mov r0, sp - strh r3, [r0] - mov r1, sp - adds r1, #2 - movs r0, #0 - strb r0, [r1] - adds r4, r1, #0 + mov r0, sp + strh r3, [r0] + mov r1, sp + adds r1, #2 + movs r0, #0 + strb r0, [r1] + adds r4, r1, #0 _0801890A: - mov r0, sb - mov r1, sp - adds r2, r4, #0 - bl sub_18A4C - ldrb r0, [r4] - movs r3, #0xf - ands r3, r0 - lsrs r6, r0, #4 - subs r0, r3, #1 - cmp r0, #5 - bls _08018924 - b _08018A2A + mov r0, sb + mov r1, sp + adds r2, r4, #0 + bl sub_18A4C + ldrb r0, [r4] + movs r3, #0xf + ands r3, r0 + lsrs r6, r0, #4 + subs r0, r3, #1 + cmp r0, #5 + bls _08018924 + b _08018A2A _08018924: - lsls r0, r0, #2 - ldr r1, _08018930 @ =_08018934 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08018930 @ =_08018934 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08018930: .4byte _08018934 _08018934: @ jump table - .4byte _0801894C @ case 0 - .4byte _080189F8 @ case 1 - .4byte _080189F8 @ case 2 - .4byte _0801894C @ case 3 - .4byte _08018A28 @ case 4 - .4byte _0801894C @ case 5 + .4byte _0801894C @ case 0 + .4byte _080189F8 @ case 1 + .4byte _080189F8 @ case 2 + .4byte _0801894C @ case 3 + .4byte _08018A28 @ case 4 + .4byte _0801894C @ case 5 _0801894C: - ldr r2, _080189C4 @ =0x020314E0 - ldr r0, [r2] - subs r1, r3, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r5, #1 - strb r5, [r0] - mov r0, sp - ldrh r0, [r0] - mov r1, r8 - strh r0, [r1] - ldr r4, _080189C8 @ =0xFFFFC010 - adds r0, r0, r4 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x20 - bhi _080189EC - ldr r0, [r2] - ldr r7, _080189CC @ =0x0000132C - adds r3, r0, r7 - ldr r2, [r3] - movs r0, #0x10 - ldrsh r1, [r2, r0] - ldr r4, _080189D0 @ =0x02031520 - movs r7, #0x26 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - blt _08018998 - movs r0, #0x12 - ldrsh r1, [r2, r0] - movs r7, #0x28 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - bge _080189EC + ldr r2, _080189C4 @ =0x020314E0 + ldr r0, [r2] + subs r1, r3, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r5, #1 + strb r5, [r0] + mov r0, sp + ldrh r0, [r0] + mov r1, r8 + strh r0, [r1] + ldr r4, _080189C8 @ =0xFFFFC010 + adds r0, r0, r4 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x20 + bhi _080189EC + ldr r0, [r2] + ldr r7, _080189CC @ =0x0000132C + adds r3, r0, r7 + ldr r2, [r3] + movs r0, #0x10 + ldrsh r1, [r2, r0] + ldr r4, _080189D0 @ =0x02031520 + movs r7, #0x26 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + blt _08018998 + movs r0, #0x12 + ldrsh r1, [r2, r0] + movs r7, #0x28 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + bge _080189EC _08018998: - movs r1, #6 - ldrsh r0, [r2, r1] - cmp r0, #0 - bgt _080189B6 - cmp r0, #0 - bne _080189E2 - ldr r0, _080189D4 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - ands r0, r5 - cmp r0, #0 - beq _080189D8 - movs r0, #0x28 - strh r0, [r2, #4] - ldr r0, [r3] - strh r5, [r0, #6] + movs r1, #6 + ldrsh r0, [r2, r1] + cmp r0, #0 + bgt _080189B6 + cmp r0, #0 + bne _080189E2 + ldr r0, _080189D4 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + ands r0, r5 + cmp r0, #0 + beq _080189D8 + movs r0, #0x28 + strh r0, [r2, #4] + ldr r0, [r3] + strh r5, [r0, #6] _080189B6: - movs r2, #0xf8 - lsls r2, r2, #6 - adds r0, r2, #0 - mov r4, r8 - strh r0, [r4] - b _080189EC - .align 2, 0 + movs r2, #0xf8 + lsls r2, r2, #6 + adds r0, r2, #0 + mov r4, r8 + strh r0, [r4] + b _080189EC + .align 2, 0 _080189C4: .4byte 0x020314E0 _080189C8: .4byte 0xFFFFC010 _080189CC: .4byte 0x0000132C _080189D0: .4byte 0x02031520 _080189D4: .4byte 0x0200B0C0 _080189D8: - ldr r0, _080189F4 @ =0x0000FFD8 - strh r0, [r2, #4] - ldr r1, [r3] - adds r0, #0x27 - strh r0, [r1, #6] + ldr r0, _080189F4 @ =0x0000FFD8 + strh r0, [r2, #4] + ldr r1, [r3] + adds r0, #0x27 + strh r0, [r1, #6] _080189E2: - movs r7, #0x82 - lsls r7, r7, #7 - adds r0, r7, #0 - mov r1, r8 - strh r0, [r1] + movs r7, #0x82 + lsls r7, r7, #7 + adds r0, r7, #0 + mov r1, r8 + strh r0, [r1] _080189EC: - movs r0, #1 - mov r2, sp - strh r0, [r2, #4] - b _08018A2A - .align 2, 0 + movs r0, #1 + mov r2, sp + strh r0, [r2, #4] + b _08018A2A + .align 2, 0 _080189F4: .4byte 0x0000FFD8 _080189F8: - ldr r2, _08018A20 @ =0x020314E0 - ldr r0, [r2] - subs r1, r3, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r1, #2 - strb r1, [r0] - mov r0, sp - ldrh r1, [r0] - ldr r0, _08018A24 @ =0x0000FFF0 - ands r0, r1 - mov r4, r8 - strh r0, [r4] - movs r0, #1 - mov r7, sp - strh r0, [r7, #4] - b _08018A2A - .align 2, 0 + ldr r2, _08018A20 @ =0x020314E0 + ldr r0, [r2] + subs r1, r3, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r1, #2 + strb r1, [r0] + mov r0, sp + ldrh r1, [r0] + ldr r0, _08018A24 @ =0x0000FFF0 + ands r0, r1 + mov r4, r8 + strh r0, [r4] + movs r0, #1 + mov r7, sp + strh r0, [r7, #4] + b _08018A2A + .align 2, 0 _08018A20: .4byte 0x020314E0 _08018A24: .4byte 0x0000FFF0 _08018A28: - movs r6, #4 + movs r6, #4 _08018A2A: - adds r0, r6, #0 - add r1, sp, #4 - mov r2, r8 - bl sub_18AE0 - mov r1, sp - movs r2, #4 - ldrsh r0, [r1, r2] - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_start sub_18A4C + adds r0, r6, #0 + add r1, sp, #4 + mov r2, r8 + bl sub_18AE0 + mov r1, sp + movs r2, #4 + ldrsh r0, [r1, r2] + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_start sub_18A4C sub_18A4C: @ 0x08018A4C - push {r4, r5, r6, r7, lr} - adds r3, r0, #0 - adds r7, r1, #0 - adds r5, r2, #0 - ldr r0, _08018AC8 @ =0x020314E0 - ldr r4, [r0] - ldr r1, _08018ACC @ =0x00000387 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08018AC2 - ldrb r1, [r5] - movs r6, #0xf - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - bne _08018AC2 - movs r1, #0xfc - lsls r1, r1, #2 - adds r0, r4, r1 - ldrh r2, [r3] - ldrh r0, [r0] - subs r2, r2, r0 - ldr r0, _08018AD0 @ =0x000003F2 - adds r1, r4, r0 - ldrh r0, [r3, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - lsls r1, r2, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x7f - bhi _08018AC2 - lsls r3, r3, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x7f - bhi _08018AC2 - ldr r2, _08018AD4 @ =0x083722E8 - asrs r0, r3, #9 - asrs r1, r1, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r2, _08018AD8 @ =0x0000FFF0 - ands r2, r0 - adds r3, r6, #0 - ands r3, r0 - cmp r3, #0 - beq _08018AC2 - ldr r0, _08018ADC @ =0x00000452 - adds r1, r4, r0 - movs r0, #9 - strh r0, [r1] - strh r2, [r7] - strb r3, [r5] + push {r4, r5, r6, r7, lr} + adds r3, r0, #0 + adds r7, r1, #0 + adds r5, r2, #0 + ldr r0, _08018AC8 @ =0x020314E0 + ldr r4, [r0] + ldr r1, _08018ACC @ =0x00000387 + adds r0, r4, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08018AC2 + ldrb r1, [r5] + movs r6, #0xf + adds r0, r6, #0 + ands r0, r1 + cmp r0, #0 + bne _08018AC2 + movs r1, #0xfc + lsls r1, r1, #2 + adds r0, r4, r1 + ldrh r2, [r3] + ldrh r0, [r0] + subs r2, r2, r0 + ldr r0, _08018AD0 @ =0x000003F2 + adds r1, r4, r0 + ldrh r0, [r3, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + lsls r1, r2, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x7f + bhi _08018AC2 + lsls r3, r3, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x7f + bhi _08018AC2 + ldr r2, _08018AD4 @ =0x083722E8 + asrs r0, r3, #9 + asrs r1, r1, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r2, _08018AD8 @ =0x0000FFF0 + ands r2, r0 + adds r3, r6, #0 + ands r3, r0 + cmp r3, #0 + beq _08018AC2 + ldr r0, _08018ADC @ =0x00000452 + adds r1, r4, r0 + movs r0, #9 + strh r0, [r1] + strh r2, [r7] + strb r3, [r5] _08018AC2: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08018AC8: .4byte 0x020314E0 _08018ACC: .4byte 0x00000387 _08018AD0: .4byte 0x000003F2 @@ -48654,187 +48654,187 @@ _08018AD4: .4byte 0x083722E8 _08018AD8: .4byte 0x0000FFF0 _08018ADC: .4byte 0x00000452 - thumb_func_start sub_18AE0 + thumb_func_start sub_18AE0 sub_18AE0: @ 0x08018AE0 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - subs r0, #1 - cmp r0, #0xe - bhi _08018B48 - lsls r0, r0, #2 - ldr r1, _08018AF4 @ =_08018AF8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + subs r0, #1 + cmp r0, #0xe + bhi _08018B48 + lsls r0, r0, #2 + ldr r1, _08018AF4 @ =_08018AF8 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08018AF4: .4byte _08018AF8 _08018AF8: @ jump table - .4byte _08018B48 @ case 0 - .4byte _08018B48 @ case 1 - .4byte _08018B48 @ case 2 - .4byte _08018B34 @ case 3 - .4byte _08018B48 @ case 4 - .4byte _08018B48 @ case 5 - .4byte _08018B48 @ case 6 - .4byte _08018B48 @ case 7 - .4byte _08018B48 @ case 8 - .4byte _08018B48 @ case 9 - .4byte _08018B48 @ case 10 - .4byte _08018B48 @ case 11 - .4byte _08018B48 @ case 12 - .4byte _08018B48 @ case 13 - .4byte _08018B48 @ case 14 + .4byte _08018B48 @ case 0 + .4byte _08018B48 @ case 1 + .4byte _08018B48 @ case 2 + .4byte _08018B34 @ case 3 + .4byte _08018B48 @ case 4 + .4byte _08018B48 @ case 5 + .4byte _08018B48 @ case 6 + .4byte _08018B48 @ case 7 + .4byte _08018B48 @ case 8 + .4byte _08018B48 @ case 9 + .4byte _08018B48 @ case 10 + .4byte _08018B48 @ case 11 + .4byte _08018B48 @ case 12 + .4byte _08018B48 @ case 13 + .4byte _08018B48 @ case 14 _08018B34: - ldr r2, _08018B4C @ =0x020314E0 - ldr r0, [r2] - movs r1, #0xf7 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #6 - strb r1, [r0] - ldr r1, [r2] - movs r0, #1 - strb r0, [r1, #0x1f] + ldr r2, _08018B4C @ =0x020314E0 + ldr r0, [r2] + movs r1, #0xf7 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #6 + strb r1, [r0] + ldr r1, [r2] + movs r0, #1 + strb r0, [r1, #0x1f] _08018B48: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _08018B4C: .4byte 0x020314E0 - thumb_func_start sub_18B50 + thumb_func_start sub_18B50 sub_18B50: @ 0x08018B50 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - mov sb, r0 - mov r8, r1 - add r2, sp, #4 - movs r1, #0 - strh r1, [r2] - ldr r0, _08018C54 @ =0x020314E0 - ldr r0, [r0] - mov sl, r0 - ldr r0, _08018C58 @ =0x0000132C - add r0, sl - ldr r0, [r0] - strh r1, [r0, #4] - mov r0, sb - movs r1, #0 - ldrsh r4, [r0, r1] - adds r0, r4, #0 - cmp r4, #0 - bge _08018B82 - adds r0, r4, #7 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + mov sb, r0 + mov r8, r1 + add r2, sp, #4 + movs r1, #0 + strh r1, [r2] + ldr r0, _08018C54 @ =0x020314E0 + ldr r0, [r0] + mov sl, r0 + ldr r0, _08018C58 @ =0x0000132C + add r0, sl + ldr r0, [r0] + strh r1, [r0, #4] + mov r0, sb + movs r1, #0 + ldrsh r4, [r0, r1] + adds r0, r4, #0 + cmp r4, #0 + bge _08018B82 + adds r0, r4, #7 _08018B82: - asrs r1, r0, #3 - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - ldr r2, _08018C5C @ =0xFFFF0000 - mov ip, r2 - ands r5, r2 - orrs r5, r0 - mov r7, sb - movs r0, #2 - ldrsh r3, [r7, r0] - adds r0, r3, #0 - cmp r3, #0 - bge _08018B9E - adds r0, r3, #7 + asrs r1, r0, #3 + lsls r0, r1, #0x10 + lsrs r0, r0, #0x10 + ldr r2, _08018C5C @ =0xFFFF0000 + mov ip, r2 + ands r5, r2 + orrs r5, r0 + mov r7, sb + movs r0, #2 + ldrsh r3, [r7, r0] + adds r0, r3, #0 + cmp r3, #0 + bge _08018B9E + adds r0, r3, #7 _08018B9E: - asrs r0, r0, #3 - lsls r2, r0, #0x10 - ldr r7, _08018C60 @ =0x0000FFFF - ands r5, r7 - lsls r1, r1, #3 - subs r1, r4, r1 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov r4, ip - ands r6, r4 - orrs r6, r1 - lsls r0, r0, #3 - subs r0, r3, r0 - lsls r0, r0, #0x10 - ands r6, r7 - orrs r6, r0 - orrs r5, r2 - asrs r4, r2, #0x10 - adds r2, r4, #0 - cmp r4, #0 - bge _08018BCA - adds r2, #0x3f + asrs r0, r0, #3 + lsls r2, r0, #0x10 + ldr r7, _08018C60 @ =0x0000FFFF + ands r5, r7 + lsls r1, r1, #3 + subs r1, r4, r1 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + mov r4, ip + ands r6, r4 + orrs r6, r1 + lsls r0, r0, #3 + subs r0, r3, r0 + lsls r0, r0, #0x10 + ands r6, r7 + orrs r6, r0 + orrs r5, r2 + asrs r4, r2, #0x10 + adds r2, r4, #0 + cmp r4, #0 + bge _08018BCA + adds r2, #0x3f _08018BCA: - asrs r2, r2, #6 - mov r0, sl - adds r0, #0x24 - movs r3, #0 - ldrsb r3, [r0, r3] - lsls r1, r2, #6 - subs r1, r4, r1 - lsls r1, r1, #0x10 - ands r5, r7 - ldr r7, _08018C64 @ =0x02031520 - mov ip, r7 - adds r3, r3, r2 - lsls r3, r3, #2 - mov r2, ip - adds r2, #0x38 - adds r2, r3, r2 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - asrs r1, r1, #0xa - adds r1, r1, r0 - ldr r0, [r2] - lsls r1, r1, #1 - adds r1, r1, r0 - mov r4, ip - adds r4, #0x48 - adds r4, r3, r4 - movs r0, #0 - ldrsh r2, [r1, r0] - asrs r1, r6, #0x10 - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - lsls r1, r1, #3 - lsls r2, r2, #6 - adds r1, r1, r2 - adds r1, r1, r0 - ldr r2, [r4] - lsls r0, r1, #1 - adds r0, r0, r2 - ldrh r2, [r0] - mov r0, sp - strh r2, [r0] - mov r0, ip - adds r0, #0x58 - adds r3, r3, r0 - ldr r0, [r3] - adds r0, r0, r1 - ldrb r0, [r0] - mov r4, sp - adds r4, #2 - strb r0, [r4] - mov r0, sb - mov r1, sp - adds r2, r4, #0 - bl sub_18DAC - ldrb r0, [r4] - movs r2, #0xf - ands r2, r0 - lsrs r6, r0, #4 - subs r0, r2, #1 - cmp r0, #5 - bls _08018C48 - b _08018D8A + asrs r2, r2, #6 + mov r0, sl + adds r0, #0x24 + movs r3, #0 + ldrsb r3, [r0, r3] + lsls r1, r2, #6 + subs r1, r4, r1 + lsls r1, r1, #0x10 + ands r5, r7 + ldr r7, _08018C64 @ =0x02031520 + mov ip, r7 + adds r3, r3, r2 + lsls r3, r3, #2 + mov r2, ip + adds r2, #0x38 + adds r2, r3, r2 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + asrs r1, r1, #0xa + adds r1, r1, r0 + ldr r0, [r2] + lsls r1, r1, #1 + adds r1, r1, r0 + mov r4, ip + adds r4, #0x48 + adds r4, r3, r4 + movs r0, #0 + ldrsh r2, [r1, r0] + asrs r1, r6, #0x10 + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + lsls r1, r1, #3 + lsls r2, r2, #6 + adds r1, r1, r2 + adds r1, r1, r0 + ldr r2, [r4] + lsls r0, r1, #1 + adds r0, r0, r2 + ldrh r2, [r0] + mov r0, sp + strh r2, [r0] + mov r0, ip + adds r0, #0x58 + adds r3, r3, r0 + ldr r0, [r3] + adds r0, r0, r1 + ldrb r0, [r0] + mov r4, sp + adds r4, #2 + strb r0, [r4] + mov r0, sb + mov r1, sp + adds r2, r4, #0 + bl sub_18DAC + ldrb r0, [r4] + movs r2, #0xf + ands r2, r0 + lsrs r6, r0, #4 + subs r0, r2, #1 + cmp r0, #5 + bls _08018C48 + b _08018D8A _08018C48: - lsls r0, r0, #2 - ldr r1, _08018C68 @ =_08018C6C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08018C68 @ =_08018C6C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08018C54: .4byte 0x020314E0 _08018C58: .4byte 0x0000132C _08018C5C: .4byte 0xFFFF0000 @@ -48842,256 +48842,256 @@ _08018C60: .4byte 0x0000FFFF _08018C64: .4byte 0x02031520 _08018C68: .4byte _08018C6C _08018C6C: @ jump table - .4byte _08018C84 @ case 0 - .4byte _08018D30 @ case 1 - .4byte _08018D30 @ case 2 - .4byte _08018C84 @ case 3 - .4byte _08018D88 @ case 4 - .4byte _08018C84 @ case 5 + .4byte _08018C84 @ case 0 + .4byte _08018D30 @ case 1 + .4byte _08018D30 @ case 2 + .4byte _08018C84 @ case 3 + .4byte _08018D88 @ case 4 + .4byte _08018C84 @ case 5 _08018C84: - ldr r3, _08018CFC @ =0x020314E0 - ldr r0, [r3] - subs r1, r2, #1 - adds r0, #0x23 - strb r1, [r0] - ldr r0, [r3] - adds r0, #0x22 - movs r5, #1 - strb r5, [r0] - mov r0, sp - ldrh r0, [r0] - mov r1, r8 - strh r0, [r1] - ldr r2, _08018D00 @ =0xFFFFC010 - adds r0, r0, r2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x20 - bhi _08018D24 - ldr r0, [r3] - ldr r4, _08018D04 @ =0x0000132C - adds r3, r0, r4 - ldr r2, [r3] - movs r7, #0x10 - ldrsh r1, [r2, r7] - ldr r4, _08018D08 @ =0x02031520 - movs r7, #0x26 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - blt _08018CD0 - movs r0, #0x12 - ldrsh r1, [r2, r0] - movs r7, #0x28 - ldrsh r0, [r4, r7] - subs r0, #8 - cmp r1, r0 - bge _08018D24 + ldr r3, _08018CFC @ =0x020314E0 + ldr r0, [r3] + subs r1, r2, #1 + adds r0, #0x23 + strb r1, [r0] + ldr r0, [r3] + adds r0, #0x22 + movs r5, #1 + strb r5, [r0] + mov r0, sp + ldrh r0, [r0] + mov r1, r8 + strh r0, [r1] + ldr r2, _08018D00 @ =0xFFFFC010 + adds r0, r0, r2 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x20 + bhi _08018D24 + ldr r0, [r3] + ldr r4, _08018D04 @ =0x0000132C + adds r3, r0, r4 + ldr r2, [r3] + movs r7, #0x10 + ldrsh r1, [r2, r7] + ldr r4, _08018D08 @ =0x02031520 + movs r7, #0x26 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + blt _08018CD0 + movs r0, #0x12 + ldrsh r1, [r2, r0] + movs r7, #0x28 + ldrsh r0, [r4, r7] + subs r0, #8 + cmp r1, r0 + bge _08018D24 _08018CD0: - movs r1, #6 - ldrsh r0, [r2, r1] - cmp r0, #0 - bgt _08018CEE - cmp r0, #0 - bne _08018D1A - ldr r0, _08018D0C @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - ands r0, r5 - cmp r0, #0 - beq _08018D10 - movs r0, #0x28 - strh r0, [r2, #4] - ldr r0, [r3] - strh r5, [r0, #6] + movs r1, #6 + ldrsh r0, [r2, r1] + cmp r0, #0 + bgt _08018CEE + cmp r0, #0 + bne _08018D1A + ldr r0, _08018D0C @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + ands r0, r5 + cmp r0, #0 + beq _08018D10 + movs r0, #0x28 + strh r0, [r2, #4] + ldr r0, [r3] + strh r5, [r0, #6] _08018CEE: - movs r2, #0xf8 - lsls r2, r2, #6 - adds r0, r2, #0 - mov r4, r8 - strh r0, [r4] - b _08018D24 - .align 2, 0 + movs r2, #0xf8 + lsls r2, r2, #6 + adds r0, r2, #0 + mov r4, r8 + strh r0, [r4] + b _08018D24 + .align 2, 0 _08018CFC: .4byte 0x020314E0 _08018D00: .4byte 0xFFFFC010 _08018D04: .4byte 0x0000132C _08018D08: .4byte 0x02031520 _08018D0C: .4byte 0x0200B0C0 _08018D10: - ldr r0, _08018D2C @ =0x0000FFD8 - strh r0, [r2, #4] - ldr r1, [r3] - adds r0, #0x27 - strh r0, [r1, #6] + ldr r0, _08018D2C @ =0x0000FFD8 + strh r0, [r2, #4] + ldr r1, [r3] + adds r0, #0x27 + strh r0, [r1, #6] _08018D1A: - movs r7, #0x82 - lsls r7, r7, #7 - adds r0, r7, #0 - mov r1, r8 - strh r0, [r1] + movs r7, #0x82 + lsls r7, r7, #7 + adds r0, r7, #0 + mov r1, r8 + strh r0, [r1] _08018D24: - movs r0, #1 - mov r2, sp - strh r0, [r2, #4] - b _08018D8A - .align 2, 0 + movs r0, #1 + mov r2, sp + strh r0, [r2, #4] + b _08018D8A + .align 2, 0 _08018D2C: .4byte 0x0000FFD8 _08018D30: - ldr r2, _08018D68 @ =0x020314E0 - ldr r0, [r2] - adds r0, #0x23 - movs r1, #0 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x22 - movs r1, #1 - strb r1, [r0] - mov r0, sp - ldrh r1, [r0] - ldr r0, _08018D6C @ =0x0000FFF0 - ands r0, r1 - mov r4, r8 - strh r0, [r4] - ldr r1, [r2] - ldr r7, _08018D70 @ =0x0000132C - adds r0, r1, r7 - ldr r0, [r0] - movs r2, #0x10 - ldrsh r0, [r0, r2] - cmp r0, #0x77 - bgt _08018D74 - movs r4, #0xa9 - lsls r4, r4, #3 - adds r1, r1, r4 - b _08018D78 - .align 2, 0 + ldr r2, _08018D68 @ =0x020314E0 + ldr r0, [r2] + adds r0, #0x23 + movs r1, #0 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x22 + movs r1, #1 + strb r1, [r0] + mov r0, sp + ldrh r1, [r0] + ldr r0, _08018D6C @ =0x0000FFF0 + ands r0, r1 + mov r4, r8 + strh r0, [r4] + ldr r1, [r2] + ldr r7, _08018D70 @ =0x0000132C + adds r0, r1, r7 + ldr r0, [r0] + movs r2, #0x10 + ldrsh r0, [r0, r2] + cmp r0, #0x77 + bgt _08018D74 + movs r4, #0xa9 + lsls r4, r4, #3 + adds r1, r1, r4 + b _08018D78 + .align 2, 0 _08018D68: .4byte 0x020314E0 _08018D6C: .4byte 0x0000FFF0 _08018D70: .4byte 0x0000132C _08018D74: - ldr r7, _08018D84 @ =0x00000549 - adds r1, r1, r7 + ldr r7, _08018D84 @ =0x00000549 + adds r1, r1, r7 _08018D78: - movs r0, #0x18 - strb r0, [r1] - movs r0, #1 - mov r1, sp - strh r0, [r1, #4] - b _08018D8A - .align 2, 0 + movs r0, #0x18 + strb r0, [r1] + movs r0, #1 + mov r1, sp + strh r0, [r1, #4] + b _08018D8A + .align 2, 0 _08018D84: .4byte 0x00000549 _08018D88: - movs r6, #4 + movs r6, #4 _08018D8A: - adds r0, r6, #0 - add r1, sp, #4 - mov r2, r8 - bl sub_18F38 - mov r2, sp - movs r4, #4 - ldrsh r0, [r2, r4] - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_start sub_18DAC + adds r0, r6, #0 + add r1, sp, #4 + mov r2, r8 + bl sub_18F38 + mov r2, sp + movs r4, #4 + ldrsh r0, [r2, r4] + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_start sub_18DAC sub_18DAC: @ 0x08018DAC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov ip, r0 - mov sb, r1 - adds r7, r2, #0 - movs r1, #0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + mov ip, r0 + mov sb, r1 + adds r7, r2, #0 + movs r1, #0 _08018DBE: - ldr r0, _08018E5C @ =0x020314E0 - ldr r6, [r0] - lsls r1, r1, #0x10 - asrs r5, r1, #0x10 - ldr r2, _08018E60 @ =0x0000054F - adds r0, r6, r2 - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov sl, r1 - cmp r0, #1 - bne _08018E74 - ldrb r1, [r7] - movs r3, #0xf - mov r8, r3 - mov r0, r8 - ands r0, r1 - cmp r0, #0 - beq _08018DE8 - b _08018F16 + ldr r0, _08018E5C @ =0x020314E0 + ldr r6, [r0] + lsls r1, r1, #0x10 + asrs r5, r1, #0x10 + ldr r2, _08018E60 @ =0x0000054F + adds r0, r6, r2 + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov sl, r1 + cmp r0, #1 + bne _08018E74 + ldrb r1, [r7] + movs r3, #0xf + mov r8, r3 + mov r0, r8 + ands r0, r1 + cmp r0, #0 + beq _08018DE8 + b _08018F16 _08018DE8: - lsls r1, r5, #2 - adds r1, r6, r1 - adds r2, #0x21 - adds r0, r1, r2 - mov r3, ip - ldrh r2, [r3] - ldrh r0, [r0] - subs r2, r2, r0 - ldr r0, _08018E64 @ =0x00000572 - adds r1, r1, r0 - ldrh r0, [r3, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r4, r2, #0x10 - lsrs r0, r4, #0x10 - cmp r0, #0x3f - bls _08018E10 - b _08018F16 + lsls r1, r5, #2 + adds r1, r6, r1 + adds r2, #0x21 + adds r0, r1, r2 + mov r3, ip + ldrh r2, [r3] + ldrh r0, [r0] + subs r2, r2, r0 + ldr r0, _08018E64 @ =0x00000572 + adds r1, r1, r0 + ldrh r0, [r3, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r4, r2, #0x10 + lsrs r0, r4, #0x10 + cmp r0, #0x3f + bls _08018E10 + b _08018F16 _08018E10: - lsls r3, r1, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x3f - bls _08018E1A - b _08018F16 + lsls r3, r1, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x3f + bls _08018E1A + b _08018F16 _08018E1A: - ldr r2, _08018E68 @ =0x08393A4C - asrs r0, r3, #0xa - asrs r1, r4, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r1, _08018E6C @ =0x0000FFF0 - ands r1, r0 - mov r3, r8 - ands r3, r0 - cmp r3, #0 - beq _08018F16 - movs r2, #0xe2 - lsls r2, r2, #2 - adds r0, r6, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08018F16 - mov r3, sb - strh r1, [r3] - movs r0, #6 - strb r0, [r7] - ldr r1, _08018E5C @ =0x020314E0 - ldr r0, [r1] - ldr r2, _08018E70 @ =0x00000553 - adds r0, r0, r2 - adds r0, r0, r5 - movs r1, #4 - b _08018F14 - .align 2, 0 + ldr r2, _08018E68 @ =0x08393A4C + asrs r0, r3, #0xa + asrs r1, r4, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r1, _08018E6C @ =0x0000FFF0 + ands r1, r0 + mov r3, r8 + ands r3, r0 + cmp r3, #0 + beq _08018F16 + movs r2, #0xe2 + lsls r2, r2, #2 + adds r0, r6, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08018F16 + mov r3, sb + strh r1, [r3] + movs r0, #6 + strb r0, [r7] + ldr r1, _08018E5C @ =0x020314E0 + ldr r0, [r1] + ldr r2, _08018E70 @ =0x00000553 + adds r0, r0, r2 + adds r0, r0, r5 + movs r1, #4 + b _08018F14 + .align 2, 0 _08018E5C: .4byte 0x020314E0 _08018E60: .4byte 0x0000054F _08018E64: .4byte 0x00000572 @@ -49099,71 +49099,71 @@ _08018E68: .4byte 0x08393A4C _08018E6C: .4byte 0x0000FFF0 _08018E70: .4byte 0x00000553 _08018E74: - cmp r0, #0 - beq _08018F16 - ldrb r1, [r7] - movs r4, #0xf - adds r0, r4, #0 - ands r0, r1 - cmp r0, #0 - bne _08018F16 - lsls r1, r5, #2 - adds r1, r6, r1 - movs r3, #0xae - lsls r3, r3, #3 - adds r0, r1, r3 - mov r3, ip - ldrh r2, [r3] - ldrh r0, [r0] - subs r2, r2, r0 - ldr r0, _08018EF4 @ =0x00000572 - adds r1, r1, r0 - ldrh r0, [r3, #2] - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - lsls r3, r2, #0x10 - lsrs r0, r3, #0x10 - cmp r0, #0x3f - bhi _08018F16 - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x3f - bhi _08018F16 - ldr r2, _08018EF8 @ =0x08391A4C - asrs r0, r1, #0xa - asrs r1, r3, #0x10 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r1, _08018EFC @ =0x0000FFF0 - ands r1, r0 - adds r3, r4, #0 - ands r3, r0 - cmp r3, #0 - beq _08018F16 - mov r2, sb - strh r1, [r2] - movs r0, #6 - strb r0, [r7] - ldr r3, _08018F00 @ =0x020314E0 - ldr r1, [r3] - ldr r2, _08018F04 @ =0x0000054F - adds r0, r1, r2 - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08018F0C - ldr r3, _08018F08 @ =0x00000553 - adds r0, r1, r3 - adds r0, r0, r5 - movs r1, #4 - b _08018F14 - .align 2, 0 + cmp r0, #0 + beq _08018F16 + ldrb r1, [r7] + movs r4, #0xf + adds r0, r4, #0 + ands r0, r1 + cmp r0, #0 + bne _08018F16 + lsls r1, r5, #2 + adds r1, r6, r1 + movs r3, #0xae + lsls r3, r3, #3 + adds r0, r1, r3 + mov r3, ip + ldrh r2, [r3] + ldrh r0, [r0] + subs r2, r2, r0 + ldr r0, _08018EF4 @ =0x00000572 + adds r1, r1, r0 + ldrh r0, [r3, #2] + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + lsls r3, r2, #0x10 + lsrs r0, r3, #0x10 + cmp r0, #0x3f + bhi _08018F16 + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0x3f + bhi _08018F16 + ldr r2, _08018EF8 @ =0x08391A4C + asrs r0, r1, #0xa + asrs r1, r3, #0x10 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r1, _08018EFC @ =0x0000FFF0 + ands r1, r0 + adds r3, r4, #0 + ands r3, r0 + cmp r3, #0 + beq _08018F16 + mov r2, sb + strh r1, [r2] + movs r0, #6 + strb r0, [r7] + ldr r3, _08018F00 @ =0x020314E0 + ldr r1, [r3] + ldr r2, _08018F04 @ =0x0000054F + adds r0, r1, r2 + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _08018F0C + ldr r3, _08018F08 @ =0x00000553 + adds r0, r1, r3 + adds r0, r0, r5 + movs r1, #4 + b _08018F14 + .align 2, 0 _08018EF4: .4byte 0x00000572 _08018EF8: .4byte 0x08391A4C _08018EFC: .4byte 0x0000FFF0 @@ -49171,420 +49171,420 @@ _08018F00: .4byte 0x020314E0 _08018F04: .4byte 0x0000054F _08018F08: .4byte 0x00000553 _08018F0C: - ldr r2, _08018F34 @ =0x0000054D - adds r0, r1, r2 - adds r0, r0, r5 - movs r1, #0x18 + ldr r2, _08018F34 @ =0x0000054D + adds r0, r1, r2 + adds r0, r0, r5 + movs r1, #0x18 _08018F14: - strb r1, [r0] + strb r1, [r0] _08018F16: - movs r0, #0x80 - lsls r0, r0, #9 - add r0, sl - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - bgt _08018F26 - b _08018DBE + movs r0, #0x80 + lsls r0, r0, #9 + add r0, sl + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + bgt _08018F26 + b _08018DBE _08018F26: - 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 + 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 _08018F34: .4byte 0x0000054D - thumb_func_start sub_18F38 + thumb_func_start sub_18F38 sub_18F38: @ 0x08018F38 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - subs r0, #1 - cmp r0, #0xe - bhi _0801901C - lsls r0, r0, #2 - ldr r1, _08018F4C @ =_08018F50 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + subs r0, #1 + cmp r0, #0xe + bhi _0801901C + lsls r0, r0, #2 + ldr r1, _08018F4C @ =_08018F50 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08018F4C: .4byte _08018F50 _08018F50: @ jump table - .4byte _0801901C @ case 0 - .4byte _08018F8C @ case 1 - .4byte _08018FAC @ case 2 - .4byte _0801901C @ case 3 - .4byte _0801901C @ case 4 - .4byte _0801901C @ case 5 - .4byte _0801901C @ case 6 - .4byte _08018FD0 @ case 7 - .4byte _08018FFC @ case 8 - .4byte _0801901C @ case 9 - .4byte _0801901C @ case 10 - .4byte _0801901C @ case 11 - .4byte _0801901C @ case 12 - .4byte _0801901C @ case 13 - .4byte _0801901C @ case 14 + .4byte _0801901C @ case 0 + .4byte _08018F8C @ case 1 + .4byte _08018FAC @ case 2 + .4byte _0801901C @ case 3 + .4byte _0801901C @ case 4 + .4byte _0801901C @ case 5 + .4byte _0801901C @ case 6 + .4byte _08018FD0 @ case 7 + .4byte _08018FFC @ case 8 + .4byte _0801901C @ case 9 + .4byte _0801901C @ case 10 + .4byte _0801901C @ case 11 + .4byte _0801901C @ case 12 + .4byte _0801901C @ case 13 + .4byte _0801901C @ case 14 _08018F8C: - ldr r2, _08018FA4 @ =0x020314E0 - ldr r0, [r2] - ldr r1, _08018FA8 @ =0x00000532 - adds r0, r0, r1 - movs r1, #0 - strb r1, [r0] - ldr r0, [r2] - movs r2, #0xa7 - lsls r2, r2, #3 - adds r0, r0, r2 - b _08018FC0 - .align 2, 0 + ldr r2, _08018FA4 @ =0x020314E0 + ldr r0, [r2] + ldr r1, _08018FA8 @ =0x00000532 + adds r0, r0, r1 + movs r1, #0 + strb r1, [r0] + ldr r0, [r2] + movs r2, #0xa7 + lsls r2, r2, #3 + adds r0, r0, r2 + b _08018FC0 + .align 2, 0 _08018FA4: .4byte 0x020314E0 _08018FA8: .4byte 0x00000532 _08018FAC: - ldr r2, _08018FC8 @ =0x020314E0 - ldr r0, [r2] - ldr r3, _08018FCC @ =0x00000532 - adds r0, r0, r3 - movs r1, #1 - strb r1, [r0] - ldr r0, [r2] - movs r1, #0xa7 - lsls r1, r1, #3 - adds r0, r0, r1 + ldr r2, _08018FC8 @ =0x020314E0 + ldr r0, [r2] + ldr r3, _08018FCC @ =0x00000532 + adds r0, r0, r3 + movs r1, #1 + strb r1, [r0] + ldr r0, [r2] + movs r1, #0xa7 + lsls r1, r1, #3 + adds r0, r0, r1 _08018FC0: - movs r1, #2 - strb r1, [r0] - b _0801901C - .align 2, 0 + movs r1, #2 + strb r1, [r0] + b _0801901C + .align 2, 0 _08018FC8: .4byte 0x020314E0 _08018FCC: .4byte 0x00000532 _08018FD0: - ldr r2, _08018FF4 @ =0x020314E0 - ldr r0, [r2] - ldr r3, _08018FF8 @ =0x00000532 - adds r0, r0, r3 - movs r1, #0 - strb r1, [r0] - ldr r0, [r2] - movs r1, #0xa7 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - ldr r0, [r2] - movs r2, #0xa8 - lsls r2, r2, #3 - adds r0, r0, r2 - b _08019018 - .align 2, 0 + ldr r2, _08018FF4 @ =0x020314E0 + ldr r0, [r2] + ldr r3, _08018FF8 @ =0x00000532 + adds r0, r0, r3 + movs r1, #0 + strb r1, [r0] + ldr r0, [r2] + movs r1, #0xa7 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + ldr r0, [r2] + movs r2, #0xa8 + lsls r2, r2, #3 + adds r0, r0, r2 + b _08019018 + .align 2, 0 _08018FF4: .4byte 0x020314E0 _08018FF8: .4byte 0x00000532 _08018FFC: - ldr r1, _08019020 @ =0x020314E0 - ldr r0, [r1] - ldr r3, _08019024 @ =0x00000532 - adds r0, r0, r3 - movs r2, #1 - strb r2, [r0] - ldr r0, [r1] - adds r3, #6 - adds r0, r0, r3 - strb r2, [r0] - ldr r0, [r1] - movs r1, #0xa8 - lsls r1, r1, #3 - adds r0, r0, r1 + ldr r1, _08019020 @ =0x020314E0 + ldr r0, [r1] + ldr r3, _08019024 @ =0x00000532 + adds r0, r0, r3 + movs r2, #1 + strb r2, [r0] + ldr r0, [r1] + adds r3, #6 + adds r0, r0, r3 + strb r2, [r0] + ldr r0, [r1] + movs r1, #0xa8 + lsls r1, r1, #3 + adds r0, r0, r1 _08019018: - movs r1, #0x64 - strh r1, [r0] + movs r1, #0x64 + strh r1, [r0] _0801901C: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _08019020: .4byte 0x020314E0 _08019024: .4byte 0x00000532 - thumb_func_start sub_19028 + thumb_func_start sub_19028 sub_19028: @ 0x08019028 - push {lr} - ldr r1, _08019040 @ =0x08137918 - ldr r0, _08019044 @ =0x0200B0C0 - 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 + push {lr} + ldr r1, _08019040 @ =0x08137918 + ldr r0, _08019044 @ =0x0200B0C0 + 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 _08019040: .4byte 0x08137918 _08019044: .4byte 0x0200B0C0 - thumb_func_start sub_19048 + thumb_func_start sub_19048 sub_19048: @ 0x08019048 - push {r4, r5, lr} - ldr r1, _080190A4 @ =0x0200B0C0 - movs r2, #0 - str r2, [r1, #0x54] - movs r0, #1 - strb r0, [r1, #0xd] - ldr r0, _080190A8 @ =0x02031510 - str r2, [r0] - adds r5, r1, #0 - ldr r4, _080190AC @ =0x02031520 - adds r3, r5, #7 + push {r4, r5, lr} + ldr r1, _080190A4 @ =0x0200B0C0 + movs r2, #0 + str r2, [r1, #0x54] + movs r0, #1 + strb r0, [r1, #0xd] + ldr r0, _080190A8 @ =0x02031510 + str r2, [r0] + adds r5, r1, #0 + ldr r4, _080190AC @ =0x02031520 + adds r3, r5, #7 _0801905E: - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - adds r2, r0, r4 - adds r1, r0, r3 - ldrb r1, [r1] - strb r1, [r2] - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #4 - ble _0801905E - adds r4, r5, #0 - ldrh r0, [r4, #0x30] - cmp r0, #0 - bne _0801908E - bl sub_C00 - ldr r1, [r4, #0x4c] - adds r0, r0, r1 - movs r1, #0x1e - bl __umodsi3 - strh r0, [r4, #0x30] + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + adds r2, r0, r4 + adds r1, r0, r3 + ldrb r1, [r1] + strb r1, [r2] + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #4 + ble _0801905E + adds r4, r5, #0 + ldrh r0, [r4, #0x30] + cmp r0, #0 + bne _0801908E + bl sub_C00 + ldr r1, [r4, #0x4c] + adds r0, r0, r1 + movs r1, #0x1e + bl __umodsi3 + strh r0, [r4, #0x30] _0801908E: - ldrh r4, [r5, #0x30] - movs r0, #3 - ands r4, r0 - adds r0, r4, #0 - cmp r0, #1 - beq _080190D8 - cmp r0, #1 - bgt _080190B0 - cmp r0, #0 - beq _080190BA - b _0801911E - .align 2, 0 + ldrh r4, [r5, #0x30] + movs r0, #3 + ands r4, r0 + adds r0, r4, #0 + cmp r0, #1 + beq _080190D8 + cmp r0, #1 + bgt _080190B0 + cmp r0, #0 + beq _080190BA + b _0801911E + .align 2, 0 _080190A4: .4byte 0x0200B0C0 _080190A8: .4byte 0x02031510 _080190AC: .4byte 0x02031520 _080190B0: - cmp r0, #2 - beq _080190F4 - cmp r0, #3 - beq _08019110 - b _0801911E + cmp r0, #2 + beq _080190F4 + cmp r0, #3 + beq _08019110 + b _0801911E _080190BA: - ldr r1, _080190C8 @ =0x02031520 - ldr r0, _080190CC @ =0x00000A14 - strh r0, [r1, #6] - ldr r0, _080190D0 @ =0x081450F4 - str r0, [r1, #0x10] - ldr r0, _080190D4 @ =0x081531F4 - b _0801911C - .align 2, 0 + ldr r1, _080190C8 @ =0x02031520 + ldr r0, _080190CC @ =0x00000A14 + strh r0, [r1, #6] + ldr r0, _080190D0 @ =0x081450F4 + str r0, [r1, #0x10] + ldr r0, _080190D4 @ =0x081531F4 + b _0801911C + .align 2, 0 _080190C8: .4byte 0x02031520 _080190CC: .4byte 0x00000A14 _080190D0: .4byte 0x081450F4 _080190D4: .4byte 0x081531F4 _080190D8: - ldr r1, _080190E8 @ =0x02031520 - movs r0, #0xf0 - lsls r0, r0, #4 - strh r0, [r1, #6] - ldr r0, _080190EC @ =0x0814F9B4 - str r0, [r1, #0x10] - ldr r0, _080190F0 @ =0x08156E60 - b _0801911C - .align 2, 0 + ldr r1, _080190E8 @ =0x02031520 + movs r0, #0xf0 + lsls r0, r0, #4 + strh r0, [r1, #6] + ldr r0, _080190EC @ =0x0814F9B4 + str r0, [r1, #0x10] + ldr r0, _080190F0 @ =0x08156E60 + b _0801911C + .align 2, 0 _080190E8: .4byte 0x02031520 _080190EC: .4byte 0x0814F9B4 _080190F0: .4byte 0x08156E60 _080190F4: - ldr r1, _08019104 @ =0x02031520 - movs r0, #0xd2 - lsls r0, r0, #4 - strh r0, [r1, #6] - ldr r0, _08019108 @ =0x08148934 - str r0, [r1, #0x10] - ldr r0, _0801910C @ =0x08154618 - b _0801911C - .align 2, 0 + ldr r1, _08019104 @ =0x02031520 + movs r0, #0xd2 + lsls r0, r0, #4 + strh r0, [r1, #6] + ldr r0, _08019108 @ =0x08148934 + str r0, [r1, #0x10] + ldr r0, _0801910C @ =0x08154618 + b _0801911C + .align 2, 0 _08019104: .4byte 0x02031520 _08019108: .4byte 0x08148934 _0801910C: .4byte 0x08154618 _08019110: - ldr r1, _08019134 @ =0x02031520 - ldr r0, _08019138 @ =0x00000E4C - strh r0, [r1, #6] - ldr r0, _0801913C @ =0x0814C174 - str r0, [r1, #0x10] - ldr r0, _08019140 @ =0x08155A3C + ldr r1, _08019134 @ =0x02031520 + ldr r0, _08019138 @ =0x00000E4C + strh r0, [r1, #6] + ldr r0, _0801913C @ =0x0814C174 + str r0, [r1, #0x10] + ldr r0, _08019140 @ =0x08155A3C _0801911C: - str r0, [r1, #0xc] + str r0, [r1, #0xc] _0801911E: - bl sub_49ED4 - adds r1, r4, #0 - cmp r1, #1 - beq _0801914E - cmp r1, #1 - bgt _08019144 - cmp r1, #0 - beq _08019156 - b _08019164 - .align 2, 0 + bl sub_49ED4 + adds r1, r4, #0 + cmp r1, #1 + beq _0801914E + cmp r1, #1 + bgt _08019144 + cmp r1, #0 + beq _08019156 + b _08019164 + .align 2, 0 _08019134: .4byte 0x02031520 _08019138: .4byte 0x00000E4C _0801913C: .4byte 0x0814C174 _08019140: .4byte 0x08155A3C _08019144: - cmp r1, #2 - beq _08019156 - cmp r1, #3 - beq _0801915E - b _08019164 + cmp r1, #2 + beq _08019156 + cmp r1, #3 + beq _0801915E + b _08019164 _0801914E: - movs r0, #0x20 - bl m4aSongNumStart - b _08019164 + movs r0, #0x20 + bl m4aSongNumStart + b _08019164 _08019156: - movs r0, #0x1c - bl m4aSongNumStart - b _08019164 + movs r0, #0x1c + bl m4aSongNumStart + b _08019164 _0801915E: - movs r0, #0x20 - bl m4aSongNumStart + movs r0, #0x20 + bl m4aSongNumStart _08019164: - ldr r3, _08019188 @ =0x02031520 - ldr r1, _0801918C @ =0x0200B134 - movs r0, #0xcd - adds r0, r0, r1 - mov ip, r0 - ldrb r0, [r0] - movs r2, #0 - strb r0, [r3, #5] - mov r0, ip - strb r2, [r0] - subs r1, #0x74 - ldrh r0, [r1, #0x30] - adds r0, #1 - strh r0, [r1, #0x30] - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + ldr r3, _08019188 @ =0x02031520 + ldr r1, _0801918C @ =0x0200B134 + movs r0, #0xcd + adds r0, r0, r1 + mov ip, r0 + ldrb r0, [r0] + movs r2, #0 + strb r0, [r3, #5] + mov r0, ip + strb r2, [r0] + subs r1, #0x74 + ldrh r0, [r1, #0x30] + adds r0, #1 + strh r0, [r1, #0x30] + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08019188: .4byte 0x02031520 _0801918C: .4byte 0x0200B134 - thumb_func_start sub_19190 + thumb_func_start sub_19190 sub_19190: @ 0x08019190 - push {r4, r5, lr} - ldr r0, _080191A8 @ =0x020314E0 - ldr r2, [r0] - ldrb r1, [r2, #0x1d] - cmp r1, #1 - beq _080191C0 - cmp r1, #1 - bgt _080191AC - cmp r1, #0 - beq _080191B2 - b _0801927C - .align 2, 0 + push {r4, r5, lr} + ldr r0, _080191A8 @ =0x020314E0 + ldr r2, [r0] + ldrb r1, [r2, #0x1d] + cmp r1, #1 + beq _080191C0 + cmp r1, #1 + bgt _080191AC + cmp r1, #0 + beq _080191B2 + b _0801927C + .align 2, 0 _080191A8: .4byte 0x020314E0 _080191AC: - cmp r1, #2 - beq _08019274 - b _0801927C + cmp r1, #2 + beq _08019274 + b _0801927C _080191B2: - movs r0, #1 - strb r0, [r2, #0x1d] - ldr r0, _080191BC @ =0x0200B0C0 - strb r1, [r0, #0xe] - b _0801927C - .align 2, 0 + movs r0, #1 + strb r0, [r2, #0x1d] + ldr r0, _080191BC @ =0x0200B0C0 + strb r1, [r0, #0xe] + b _0801927C + .align 2, 0 _080191BC: .4byte 0x0200B0C0 _080191C0: - ldr r0, _080191D0 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #1 - bhi _080191D4 - bl sub_4ACF0 - b _080191D8 - .align 2, 0 + ldr r0, _080191D0 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #1 + bhi _080191D4 + bl sub_4ACF0 + b _080191D8 + .align 2, 0 _080191D0: .4byte 0x0200B0C0 _080191D4: - bl sub_4B000 + bl sub_4B000 _080191D8: - ldr r3, _08019214 @ =0x0200B0C0 - ldr r0, [r3, #0x54] - ldr r1, _08019218 @ =0x02031520 - movs r4, #6 - ldrsh r2, [r1, r4] - adds r1, r0, #0 - adds r0, #1 - str r0, [r3, #0x54] - cmp r1, r2 - bls _080191F0 - movs r0, #1 - strb r0, [r3, #0xe] + ldr r3, _08019214 @ =0x0200B0C0 + ldr r0, [r3, #0x54] + ldr r1, _08019218 @ =0x02031520 + movs r4, #6 + ldrsh r2, [r1, r4] + adds r1, r0, #0 + adds r0, #1 + str r0, [r3, #0x54] + cmp r1, r2 + bls _080191F0 + movs r0, #1 + strb r0, [r3, #0xe] _080191F0: - ldrb r0, [r3, #0x1c] - cmp r0, #0 - beq _080191FA - movs r0, #1 - strb r0, [r3, #0xe] + ldrb r0, [r3, #0x1c] + cmp r0, #0 + beq _080191FA + movs r0, #1 + strb r0, [r3, #0xe] _080191FA: - ldrb r0, [r3, #0xe] - cmp r0, #0 - beq _0801927C - ldrb r0, [r3, #4] - cmp r0, #1 - bhi _0801921C - bl sub_1D4D0 - movs r0, #0 - bl sub_31BE8 - b _08019224 - .align 2, 0 + ldrb r0, [r3, #0xe] + cmp r0, #0 + beq _0801927C + ldrb r0, [r3, #4] + cmp r0, #1 + bhi _0801921C + bl sub_1D4D0 + movs r0, #0 + bl sub_31BE8 + b _08019224 + .align 2, 0 _08019214: .4byte 0x0200B0C0 _08019218: .4byte 0x02031520 _0801921C: - cmp r0, #3 - bne _08019224 - bl sub_356A0 + cmp r0, #3 + bne _08019224 + bl sub_356A0 _08019224: - ldr r4, _0801925C @ =0x0200B0C0 - ldrb r1, [r4, #0xf] - movs r3, #2 - adds r0, r3, #0 - ands r0, r1 - ldr r2, _08019260 @ =0x020314E0 - cmp r0, #0 - beq _08019248 - ldr r1, _08019264 @ =0x040000D4 - ldr r0, [r2] - ldr r5, _08019268 @ =0x0000111A - adds r0, r0, r5 - str r0, [r1] - ldr r0, _0801926C @ =0x05000200 - str r0, [r1, #4] - ldr r0, _08019270 @ =0x80000100 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r4, _0801925C @ =0x0200B0C0 + ldrb r1, [r4, #0xf] + movs r3, #2 + adds r0, r3, #0 + ands r0, r1 + ldr r2, _08019260 @ =0x020314E0 + cmp r0, #0 + beq _08019248 + ldr r1, _08019264 @ =0x040000D4 + ldr r0, [r2] + ldr r5, _08019268 @ =0x0000111A + adds r0, r0, r5 + str r0, [r1] + ldr r0, _0801926C @ =0x05000200 + str r0, [r1, #4] + ldr r0, _08019270 @ =0x80000100 + str r0, [r1, #8] + ldr r0, [r1, #8] _08019248: - ldr r0, [r2] - strb r3, [r0, #0x1d] - ldrb r0, [r4, #0xe] - cmp r0, #2 - bne _0801927C - movs r0, #1 - bl sub_4B408 - b _0801927C - .align 2, 0 + ldr r0, [r2] + strb r3, [r0, #0x1d] + ldrb r0, [r4, #0xe] + cmp r0, #2 + bne _0801927C + movs r0, #1 + bl sub_4B408 + b _0801927C + .align 2, 0 _0801925C: .4byte 0x0200B0C0 _08019260: .4byte 0x020314E0 _08019264: .4byte 0x040000D4 @@ -49592,172 +49592,172 @@ _08019268: .4byte 0x0000111A _0801926C: .4byte 0x05000200 _08019270: .4byte 0x80000100 _08019274: - ldr r1, _08019284 @ =0x0200B0C0 - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] + ldr r1, _08019284 @ =0x0200B0C0 + ldrb r0, [r1, #3] + adds r0, #1 + strb r0, [r1, #3] _0801927C: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08019284: .4byte 0x0200B0C0 - thumb_func_start sub_19288 + thumb_func_start sub_19288 sub_19288: @ 0x08019288 - push {r4, r5, lr} - ldr r1, _080192E0 @ =0x0200B0C0 - adds r2, r1, #0 - adds r2, #0x36 - movs r0, #0 - strb r0, [r2] - ldr r2, _080192E4 @ =0x02031520 - ldrb r0, [r2, #5] - ldr r4, _080192E8 @ =0x00000141 - adds r3, r1, r4 - strb r0, [r3] - movs r3, #0 - adds r5, r1, #7 - adds r4, r2, #0 + push {r4, r5, lr} + ldr r1, _080192E0 @ =0x0200B0C0 + adds r2, r1, #0 + adds r2, #0x36 + movs r0, #0 + strb r0, [r2] + ldr r2, _080192E4 @ =0x02031520 + ldrb r0, [r2, #5] + ldr r4, _080192E8 @ =0x00000141 + adds r3, r1, r4 + strb r0, [r3] + movs r3, #0 + adds r5, r1, #7 + adds r4, r2, #0 _080192A4: - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - adds r2, r0, r5 - 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 _080192A4 - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r2, _080192E0 @ =0x0200B0C0 - ldr r0, _080192E4 @ =0x02031520 - movs r3, #6 - ldrsh r1, [r0, r3] - ldr r0, [r2, #0x54] - cmp r0, r1 - bhs _080192EC - movs r0, #1 - bl sub_23C - b _080192F2 - .align 2, 0 + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + adds r2, r0, r5 + 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 _080192A4 + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + ldr r2, _080192E0 @ =0x0200B0C0 + ldr r0, _080192E4 @ =0x02031520 + movs r3, #6 + ldrsh r1, [r0, r3] + ldr r0, [r2, #0x54] + cmp r0, r1 + bhs _080192EC + movs r0, #1 + bl sub_23C + b _080192F2 + .align 2, 0 _080192E0: .4byte 0x0200B0C0 _080192E4: .4byte 0x02031520 _080192E8: .4byte 0x00000141 _080192EC: - movs r0, #9 - bl sub_23C + movs r0, #9 + bl sub_23C _080192F2: - ldr r1, _08019300 @ =0x0200B0C0 - movs r0, #0 - str r0, [r1, #0x54] - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + ldr r1, _08019300 @ =0x0200B0C0 + movs r0, #0 + str r0, [r1, #0x54] + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08019300: .4byte 0x0200B0C0 - thumb_func_start sub_19304 + thumb_func_start sub_19304 sub_19304: @ 0x08019304 - push {lr} - ldr r0, _08019318 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #1 - bls _08019312 - bl sub_19734 + push {lr} + ldr r0, _08019318 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #1 + bls _08019312 + bl sub_19734 _08019312: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _08019318: .4byte 0x0200B0C0 - thumb_func_start sub_1931C + thumb_func_start sub_1931C sub_1931C: @ 0x0801931C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - str r0, [sp] - ldr r0, _080193BC @ =0x020314E0 - mov r8, r0 - ldr r1, [r0] - mov sb, r1 - ldr r0, _080193C0 @ =0x000013BC - add r0, sb - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #3 - ldr r2, _080193C4 @ =0x086ACE8C - adds r7, r0, r2 - ldrh r0, [r7] - adds r0, #0x53 - lsls r0, r0, #0x10 - ldr r3, _080193C8 @ =0xFFFF0000 - ldr r2, _080193CC @ =0x02031520 - ldrh r1, [r2, #0x1c] - ldrh r2, [r7, #2] - adds r4, r1, r2 - lsls r4, r4, #0x10 - ldr r2, _080193D0 @ =0x0000FFFF - lsrs r0, r0, #0x10 - mov sl, r0 - ldrh r0, [r7, #4] - adds r0, #0x53 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ands r6, r3 - orrs r6, r0 - ldrh r7, [r7, #6] - adds r1, r1, r7 - lsls r1, r1, #0x10 - ands r6, r2 - orrs r6, r1 - asrs r1, r1, #0x10 - mov r3, sl - orrs r3, r4 - mov sl, r3 - asrs r4, r4, #0x10 - subs r1, r1, r4 - ldr r2, [sp] - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - lsls r2, r3, #0x10 - asrs r2, r2, #0x10 - subs r0, r0, r2 - muls r1, r0, r1 - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #1 - lsls r1, r6, #0x10 - asrs r1, r1, #0x10 - subs r1, r1, r2 - bl __divsi3 - ldr r3, [sp] - asrs r1, r3, #0x10 - subs r4, r4, r1 - lsls r1, r4, #4 - subs r1, r1, r4 - lsls r1, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #0x10 - mov r2, r8 - ldr r3, _080193C4 @ =0x086ACE8C - ldr r4, _080193CC @ =0x02031520 - cmp r0, #0 - blt _080193D8 - ldr r1, _080193D4 @ =0x000013C4 - add r1, sb - movs r0, #1 - b _080193DE - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + str r0, [sp] + ldr r0, _080193BC @ =0x020314E0 + mov r8, r0 + ldr r1, [r0] + mov sb, r1 + ldr r0, _080193C0 @ =0x000013BC + add r0, sb + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #3 + ldr r2, _080193C4 @ =0x086ACE8C + adds r7, r0, r2 + ldrh r0, [r7] + adds r0, #0x53 + lsls r0, r0, #0x10 + ldr r3, _080193C8 @ =0xFFFF0000 + ldr r2, _080193CC @ =0x02031520 + ldrh r1, [r2, #0x1c] + ldrh r2, [r7, #2] + adds r4, r1, r2 + lsls r4, r4, #0x10 + ldr r2, _080193D0 @ =0x0000FFFF + lsrs r0, r0, #0x10 + mov sl, r0 + ldrh r0, [r7, #4] + adds r0, #0x53 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ands r6, r3 + orrs r6, r0 + ldrh r7, [r7, #6] + adds r1, r1, r7 + lsls r1, r1, #0x10 + ands r6, r2 + orrs r6, r1 + asrs r1, r1, #0x10 + mov r3, sl + orrs r3, r4 + mov sl, r3 + asrs r4, r4, #0x10 + subs r1, r1, r4 + ldr r2, [sp] + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + lsls r2, r3, #0x10 + asrs r2, r2, #0x10 + subs r0, r0, r2 + muls r1, r0, r1 + lsls r0, r1, #4 + subs r0, r0, r1 + lsls r0, r0, #1 + lsls r1, r6, #0x10 + asrs r1, r1, #0x10 + subs r1, r1, r2 + bl __divsi3 + ldr r3, [sp] + asrs r1, r3, #0x10 + subs r4, r4, r1 + lsls r1, r4, #4 + subs r1, r1, r4 + lsls r1, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #0x10 + mov r2, r8 + ldr r3, _080193C4 @ =0x086ACE8C + ldr r4, _080193CC @ =0x02031520 + cmp r0, #0 + blt _080193D8 + ldr r1, _080193D4 @ =0x000013C4 + add r1, sb + movs r0, #1 + b _080193DE + .align 2, 0 _080193BC: .4byte 0x020314E0 _080193C0: .4byte 0x000013BC _080193C4: .4byte 0x086ACE8C @@ -49766,137 +49766,137 @@ _080193CC: .4byte 0x02031520 _080193D0: .4byte 0x0000FFFF _080193D4: .4byte 0x000013C4 _080193D8: - ldr r1, _08019460 @ =0x000013C4 - add r1, sb - movs r0, #0xff + ldr r1, _08019460 @ =0x000013C4 + add r1, sb + movs r0, #0xff _080193DE: - strb r0, [r1] - ldr r2, [r2] - mov r8, r2 - ldr r0, _08019464 @ =0x000013C8 - add r0, r8 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #3 - adds r7, r0, r3 - ldrh r3, [r7] - movs r0, #0x9c - subs r3, r0, r3 - ldr r1, _08019468 @ =0xFFFF0000 - mov sb, r1 - ldrh r2, [r4, #0x1c] - ldrh r1, [r7, #2] - adds r4, r2, r1 - lsls r4, r4, #0x10 - ldr r5, _0801946C @ =0x0000FFFF - ldrh r1, [r7, #4] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r1, sb - ands r6, r1 - orrs r6, r0 - ldrh r7, [r7, #6] - adds r2, r2, r7 - lsls r2, r2, #0x10 - ands r6, r5 - asrs r2, r2, #0x10 - asrs r4, r4, #0x10 - subs r2, r2, r4 - ldr r1, [sp] - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - lsls r3, r3, #0x10 - asrs r3, r3, #0x10 - subs r0, r0, r3 - adds r1, r2, #0 - muls r1, r0, r1 - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #1 - lsls r1, r6, #0x10 - asrs r1, r1, #0x10 - subs r1, r1, r3 - bl __divsi3 - ldr r2, [sp] - asrs r1, r2, #0x10 - subs r4, r4, r1 - lsls r1, r4, #4 - subs r1, r1, r4 - lsls r1, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #0x10 - cmp r0, #0 - blt _08019474 - ldr r1, _08019470 @ =0x000013D0 - add r1, r8 - movs r0, #1 - b _0801947A - .align 2, 0 + strb r0, [r1] + ldr r2, [r2] + mov r8, r2 + ldr r0, _08019464 @ =0x000013C8 + add r0, r8 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #3 + adds r7, r0, r3 + ldrh r3, [r7] + movs r0, #0x9c + subs r3, r0, r3 + ldr r1, _08019468 @ =0xFFFF0000 + mov sb, r1 + ldrh r2, [r4, #0x1c] + ldrh r1, [r7, #2] + adds r4, r2, r1 + lsls r4, r4, #0x10 + ldr r5, _0801946C @ =0x0000FFFF + ldrh r1, [r7, #4] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov r1, sb + ands r6, r1 + orrs r6, r0 + ldrh r7, [r7, #6] + adds r2, r2, r7 + lsls r2, r2, #0x10 + ands r6, r5 + asrs r2, r2, #0x10 + asrs r4, r4, #0x10 + subs r2, r2, r4 + ldr r1, [sp] + lsls r0, r1, #0x10 + asrs r0, r0, #0x10 + lsls r3, r3, #0x10 + asrs r3, r3, #0x10 + subs r0, r0, r3 + adds r1, r2, #0 + muls r1, r0, r1 + lsls r0, r1, #4 + subs r0, r0, r1 + lsls r0, r0, #1 + lsls r1, r6, #0x10 + asrs r1, r1, #0x10 + subs r1, r1, r3 + bl __divsi3 + ldr r2, [sp] + asrs r1, r2, #0x10 + subs r4, r4, r1 + lsls r1, r4, #4 + subs r1, r1, r4 + lsls r1, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #0x10 + cmp r0, #0 + blt _08019474 + ldr r1, _08019470 @ =0x000013D0 + add r1, r8 + movs r0, #1 + b _0801947A + .align 2, 0 _08019460: .4byte 0x000013C4 _08019464: .4byte 0x000013C8 _08019468: .4byte 0xFFFF0000 _0801946C: .4byte 0x0000FFFF _08019470: .4byte 0x000013D0 _08019474: - ldr r1, _0801948C @ =0x000013D0 - add r1, r8 - movs r0, #0xff + ldr r1, _0801948C @ =0x000013D0 + add r1, r8 + movs r0, #0xff _0801947A: - strb r0, [r1] - 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 + strb r0, [r1] + 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 _0801948C: .4byte 0x000013D0 - thumb_func_start sub_19490 + thumb_func_start sub_19490 sub_19490: @ 0x08019490 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r4, _080194DC @ =0x0200B0C0 - ldrb r1, [r4, #0xf] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080194A8 - bl sub_195C4 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r4, _080194DC @ =0x0200B0C0 + ldrb r1, [r4, #0xf] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + bne _080194A8 + bl sub_195C4 _080194A8: - movs r3, #0 - ldr r0, _080194E0 @ =0x020314E0 - mov r8, r0 - ldr r1, _080194E4 @ =0x00000A28 - adds r1, r1, r4 - mov sb, r1 - ldr r7, _080194E8 @ =0x040000D4 - ldr r2, _080194EC @ =0x03005000 - mov ip, r2 + movs r3, #0 + ldr r0, _080194E0 @ =0x020314E0 + mov r8, r0 + ldr r1, _080194E4 @ =0x00000A28 + adds r1, r1, r4 + mov sb, r1 + ldr r7, _080194E8 @ =0x040000D4 + ldr r2, _080194EC @ =0x03005000 + mov ip, r2 _080194BA: - mov r0, r8 - ldr r2, [r0] - lsls r3, r3, #0x10 - asrs r1, r3, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r2, r2, r0 - ldr r1, _080194F0 @ =0x000013BC - adds r2, r2, r1 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0xa - ble _080194F4 - movs r0, #0xa - b _080194FA - .align 2, 0 + mov r0, r8 + ldr r2, [r0] + lsls r3, r3, #0x10 + asrs r1, r3, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + adds r2, r2, r0 + ldr r1, _080194F0 @ =0x000013BC + adds r2, r2, r1 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0xa + ble _080194F4 + movs r0, #0xa + b _080194FA + .align 2, 0 _080194DC: .4byte 0x0200B0C0 _080194E0: .4byte 0x020314E0 _080194E4: .4byte 0x00000A28 @@ -49904,97 +49904,97 @@ _080194E8: .4byte 0x040000D4 _080194EC: .4byte 0x03005000 _080194F0: .4byte 0x000013BC _080194F4: - cmp r0, #0 - bge _080194FC - movs r0, #0 + cmp r0, #0 + bge _080194FC + movs r0, #0 _080194FA: - strb r0, [r2] + strb r0, [r2] _080194FC: - asrs r6, r3, #0x10 - movs r0, #0xb8 - muls r0, r6, r0 - mov r2, sb - adds r5, r0, r2 - ldrh r0, [r5] - cmp r0, #0 - beq _0801958A - mov r0, r8 - ldr r4, [r0] - lsls r3, r6, #1 - adds r0, r3, r6 - lsls r0, r0, #2 - adds r0, r4, r0 - ldr r1, _080195A4 @ =0x000013BC - adds r0, r0, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - lsrs r0, r2, #0x1f - adds r2, r2, r0 - ldr r0, _080195A8 @ =0x086ACEF4 - adds r3, r3, r0 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r0, [r3] - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r5, #2] - ldr r0, _080195AC @ =0x02031520 - adds r4, #0x5a - ldrh r0, [r0, #0x1c] - ldrh r1, [r4] - subs r0, r0, r1 - strh r0, [r5, #4] - asrs r2, r2, #1 - lsls r2, r2, #9 - ldr r0, _080195B0 @ =0x083FE44C - adds r2, r2, r0 - str r2, [r7] - lsls r0, r6, #9 - ldr r2, _080195B4 @ =0x06010000 - adds r0, r0, r2 - str r0, [r7, #4] - ldr r0, _080195B8 @ =0x80000100 - str r0, [r7, #8] - ldr r0, [r7, #8] - adds r4, r5, #0 - adds r4, #8 - ldrh r3, [r5, #8] - lsls r3, r3, #3 - add r3, ip - movs r0, #2 - ldrsh r1, [r4, r0] - movs r2, #2 - ldrsh r0, [r5, r2] - adds r1, r1, r0 - ldr r2, _080195BC @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _080195C0 @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r5, #8] - lsls r1, r1, #3 - add r1, ip - ldrb r0, [r5, #4] - ldrb r4, [r4, #4] - adds r0, r0, r4 - strb r0, [r1] + asrs r6, r3, #0x10 + movs r0, #0xb8 + muls r0, r6, r0 + mov r2, sb + adds r5, r0, r2 + ldrh r0, [r5] + cmp r0, #0 + beq _0801958A + mov r0, r8 + ldr r4, [r0] + lsls r3, r6, #1 + adds r0, r3, r6 + lsls r0, r0, #2 + adds r0, r4, r0 + ldr r1, _080195A4 @ =0x000013BC + adds r0, r0, r1 + movs r2, #0 + ldrsb r2, [r0, r2] + lsrs r0, r2, #0x1f + adds r2, r2, r0 + ldr r0, _080195A8 @ =0x086ACEF4 + adds r3, r3, r0 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r0, [r3] + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r5, #2] + ldr r0, _080195AC @ =0x02031520 + adds r4, #0x5a + ldrh r0, [r0, #0x1c] + ldrh r1, [r4] + subs r0, r0, r1 + strh r0, [r5, #4] + asrs r2, r2, #1 + lsls r2, r2, #9 + ldr r0, _080195B0 @ =0x083FE44C + adds r2, r2, r0 + str r2, [r7] + lsls r0, r6, #9 + ldr r2, _080195B4 @ =0x06010000 + adds r0, r0, r2 + str r0, [r7, #4] + ldr r0, _080195B8 @ =0x80000100 + str r0, [r7, #8] + ldr r0, [r7, #8] + adds r4, r5, #0 + adds r4, #8 + ldrh r3, [r5, #8] + lsls r3, r3, #3 + add r3, ip + movs r0, #2 + ldrsh r1, [r4, r0] + movs r2, #2 + ldrsh r0, [r5, r2] + adds r1, r1, r0 + ldr r2, _080195BC @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _080195C0 @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r5, #8] + lsls r1, r1, #3 + add r1, ip + ldrb r0, [r5, #4] + ldrb r4, [r4, #4] + adds r0, r0, r4 + strb r0, [r1] _0801958A: - adds r0, r6, #1 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - ble _080194BA - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + adds r0, r6, #1 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + ble _080194BA + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _080195A4: .4byte 0x000013BC _080195A8: .4byte 0x086ACEF4 _080195AC: .4byte 0x02031520 @@ -50004,360 +50004,360 @@ _080195B8: .4byte 0x80000100 _080195BC: .4byte 0x000001FF _080195C0: .4byte 0xFFFFFE00 - thumb_func_start sub_195C4 + thumb_func_start sub_195C4 sub_195C4: @ 0x080195C4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r4, _08019630 @ =0x020314E0 - ldr r0, [r4] - ldr r1, _08019634 @ =0x0000132C - adds r0, r0, r1 - ldr r0, [r0] - ldr r0, [r0, #0x10] - bl sub_1931C - movs r3, #0 - adds r6, r4, #0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r4, _08019630 @ =0x020314E0 + ldr r0, [r4] + ldr r1, _08019634 @ =0x0000132C + adds r0, r0, r1 + ldr r0, [r0] + ldr r0, [r0, #0x10] + bl sub_1931C + movs r3, #0 + adds r6, r4, #0 _080195DE: - lsls r3, r3, #0x10 - asrs r2, r3, #0x10 - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #2 - ldr r7, _08019638 @ =0x000013BC - adds r0, r0, r7 - ldr r1, [r6] - adds r4, r1, r0 - ldrb r1, [r4] - movs r0, #0 - strb r1, [r4, #1] - strb r0, [r4, #2] - ldr r5, [r6] - adds r0, r5, #0 - adds r0, #0xe - adds r0, r0, r2 - ldrb r2, [r0] - mov r8, r3 - cmp r2, #0 - beq _0801963C - movs r0, #6 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _08019624 - adds r0, r5, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08019624 - movs r0, #0x72 - bl m4aSongNumStart + lsls r3, r3, #0x10 + asrs r2, r3, #0x10 + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #2 + ldr r7, _08019638 @ =0x000013BC + adds r0, r0, r7 + ldr r1, [r6] + adds r4, r1, r0 + ldrb r1, [r4] + movs r0, #0 + strb r1, [r4, #1] + strb r0, [r4, #2] + ldr r5, [r6] + adds r0, r5, #0 + adds r0, #0xe + adds r0, r0, r2 + ldrb r2, [r0] + mov r8, r3 + cmp r2, #0 + beq _0801963C + movs r0, #6 + ldrsb r0, [r4, r0] + cmp r0, #0 + bne _08019624 + adds r0, r5, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08019624 + movs r0, #0x72 + bl m4aSongNumStart _08019624: - movs r1, #0 - movs r0, #1 - strb r0, [r4, #6] - strb r1, [r4, #7] - b _08019650 - .align 2, 0 + movs r1, #0 + movs r0, #1 + strb r0, [r4, #6] + strb r1, [r4, #7] + b _08019650 + .align 2, 0 _08019630: .4byte 0x020314E0 _08019634: .4byte 0x0000132C _08019638: .4byte 0x000013BC _0801963C: - lsls r0, r1, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xa - bne _08019650 - ldrb r0, [r4, #7] - cmp r0, #2 - bls _0801964C - strb r2, [r4, #6] + lsls r0, r1, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xa + bne _08019650 + ldrb r0, [r4, #7] + cmp r0, #2 + bls _0801964C + strb r2, [r4, #6] _0801964C: - adds r0, #1 - strb r0, [r4, #7] + adds r0, #1 + strb r0, [r4, #7] _08019650: - movs r5, #0 - movs r0, #6 - ldrsb r0, [r4, r0] - cmp r0, #0 - beq _080196AC - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0xa - beq _08019666 - movs r5, #1 - b _08019694 + movs r5, #0 + movs r0, #6 + ldrsb r0, [r4, r0] + cmp r0, #0 + beq _080196AC + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0xa + beq _08019666 + movs r5, #1 + b _08019694 _08019666: - ldr r2, [r6] - adds r3, r2, #0 - adds r3, #0x5c - movs r1, #0 - ldrsh r0, [r3, r1] - cmp r0, #0 - beq _08019694 - adds r0, r2, #0 - adds r0, #0x60 - ldrh r1, [r0] - ldr r7, _080196A8 @ =0x00001364 - adds r0, r2, r7 - strh r1, [r0] - adds r0, r2, #0 - adds r0, #0x62 - ldrh r1, [r0] - adds r7, #2 - adds r0, r2, r7 - strh r1, [r0] - strh r5, [r3] - movs r0, #7 - bl sub_11B0 + ldr r2, [r6] + adds r3, r2, #0 + adds r3, #0x5c + movs r1, #0 + ldrsh r0, [r3, r1] + cmp r0, #0 + beq _08019694 + adds r0, r2, #0 + adds r0, #0x60 + ldrh r1, [r0] + ldr r7, _080196A8 @ =0x00001364 + adds r0, r2, r7 + strh r1, [r0] + adds r0, r2, #0 + adds r0, #0x62 + ldrh r1, [r0] + adds r7, #2 + adds r0, r2, r7 + strh r1, [r0] + strh r5, [r3] + movs r0, #7 + bl sub_11B0 _08019694: - movs r0, #0 - ldrsb r0, [r4, r0] - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - adds r0, #1 - strb r0, [r4, #2] - ldrb r0, [r4] - adds r0, #4 - b _080196FA - .align 2, 0 + movs r0, #0 + ldrsb r0, [r4, r0] + lsrs r1, r0, #0x1f + adds r0, r0, r1 + asrs r0, r0, #1 + adds r0, #1 + strb r0, [r4, #2] + ldrb r0, [r4] + adds r0, #4 + b _080196FA + .align 2, 0 _080196A8: .4byte 0x00001364 _080196AC: - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - beq _080196C8 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - adds r0, #6 - strb r0, [r4, #2] - ldr r5, _080196C4 @ =0x0000FFFF - b _080196F6 - .align 2, 0 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + beq _080196C8 + lsrs r1, r0, #0x1f + adds r0, r0, r1 + asrs r0, r0, #1 + adds r0, #6 + strb r0, [r4, #2] + ldr r5, _080196C4 @ =0x0000FFFF + b _080196F6 + .align 2, 0 _080196C4: .4byte 0x0000FFFF _080196C8: - ldr r2, [r6] - adds r3, r2, #0 - adds r3, #0x5c - movs r1, #0 - ldrsh r0, [r3, r1] - cmp r0, #0 - beq _080196F6 - adds r0, r2, #0 - adds r0, #0x60 - ldrh r1, [r0] - ldr r7, _08019730 @ =0x00001364 - adds r0, r2, r7 - strh r1, [r0] - adds r0, r2, #0 - adds r0, #0x62 - ldrh r1, [r0] - adds r7, #2 - adds r0, r2, r7 - strh r1, [r0] - strh r5, [r3] - movs r0, #7 - bl sub_11B0 + ldr r2, [r6] + adds r3, r2, #0 + adds r3, #0x5c + movs r1, #0 + ldrsh r0, [r3, r1] + cmp r0, #0 + beq _080196F6 + adds r0, r2, #0 + adds r0, #0x60 + ldrh r1, [r0] + ldr r7, _08019730 @ =0x00001364 + adds r0, r2, r7 + strh r1, [r0] + adds r0, r2, #0 + adds r0, #0x62 + ldrh r1, [r0] + adds r7, #2 + adds r0, r2, r7 + strh r1, [r0] + strh r5, [r3] + movs r0, #7 + bl sub_11B0 _080196F6: - ldrb r0, [r4] - subs r0, #2 + ldrb r0, [r4] + subs r0, #2 _080196FA: - strb r0, [r4] - movs r0, #3 - ldrsb r0, [r4, r0] - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - muls r0, r1, r0 - movs r1, #0 - strb r0, [r4, #3] - lsls r0, r0, #0x18 - cmp r0, #0 - bgt _08019712 - strb r1, [r4, #4] + strb r0, [r4] + movs r0, #3 + ldrsb r0, [r4, r0] + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + muls r0, r1, r0 + movs r1, #0 + strb r0, [r4, #3] + lsls r0, r0, #0x18 + cmp r0, #0 + bgt _08019712 + strb r1, [r4, #4] _08019712: - strb r5, [r4, #3] - movs r0, #0x80 - lsls r0, r0, #9 - add r0, r8 - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - bgt _08019724 - b _080195DE + strb r5, [r4, #3] + movs r0, #0x80 + lsls r0, r0, #9 + add r0, r8 + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + bgt _08019724 + b _080195DE _08019724: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08019730: .4byte 0x00001364 - thumb_func_start sub_19734 + thumb_func_start sub_19734 sub_19734: @ 0x08019734 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - movs r0, #1 - mov sl, r0 - ldr r4, _08019780 @ =0x0200B0C0 - ldrb r1, [r4, #0xf] - ands r0, r1 - cmp r0, #0 - bne _08019750 - bl sub_19894 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + movs r0, #1 + mov sl, r0 + ldr r4, _08019780 @ =0x0200B0C0 + ldrb r1, [r4, #0xf] + ands r0, r1 + cmp r0, #0 + bne _08019750 + bl sub_19894 _08019750: - movs r3, #0 - ldr r1, _08019784 @ =0x020314E0 - mov sb, r1 - ldr r2, _08019788 @ =0x040000D4 - mov ip, r2 - ldr r0, _0801978C @ =0x03005000 - mov r8, r0 + movs r3, #0 + ldr r1, _08019784 @ =0x020314E0 + mov sb, r1 + ldr r2, _08019788 @ =0x040000D4 + mov ip, r2 + ldr r0, _0801978C @ =0x03005000 + mov r8, r0 _0801975E: - mov r1, sb - ldr r2, [r1] - lsls r3, r3, #0x10 - asrs r1, r3, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r2, r2, r0 - ldr r0, _08019790 @ =0x000013BC - adds r2, r2, r0 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r7, r3, #0 - cmp r0, #0xa - ble _08019794 - movs r0, #0xa - b _0801979A - .align 2, 0 + mov r1, sb + ldr r2, [r1] + lsls r3, r3, #0x10 + asrs r1, r3, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + adds r2, r2, r0 + ldr r0, _08019790 @ =0x000013BC + adds r2, r2, r0 + movs r0, #0 + ldrsb r0, [r2, r0] + adds r7, r3, #0 + cmp r0, #0xa + ble _08019794 + movs r0, #0xa + b _0801979A + .align 2, 0 _08019780: .4byte 0x0200B0C0 _08019784: .4byte 0x020314E0 _08019788: .4byte 0x040000D4 _0801978C: .4byte 0x03005000 _08019790: .4byte 0x000013BC _08019794: - cmp r0, #0 - bge _0801979C - movs r0, #0 + cmp r0, #0 + bge _0801979C + movs r0, #0 _0801979A: - strb r0, [r2] + strb r0, [r2] _0801979C: - asrs r6, r7, #0x10 - movs r0, #0xb8 - muls r0, r6, r0 - ldr r1, _08019870 @ =0x0200B5E0 - adds r5, r0, r1 - ldrh r0, [r5] - cmp r0, #0 - beq _08019850 - mov r2, sb - ldr r4, [r2] - lsls r3, r6, #1 - adds r0, r3, r6 - lsls r0, r0, #2 - adds r0, r4, r0 - ldr r1, _08019874 @ =0x000013BC - adds r0, r0, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - lsrs r0, r2, #0x1f - adds r2, r2, r0 - ldr r0, _08019878 @ =0x086ACEF4 - adds r3, r3, r0 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r0, [r3] - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r5, #2] - ldr r0, _0801987C @ =0x02031520 - adds r4, #0x5a - ldrh r0, [r0, #0x1c] - ldrh r1, [r4] - subs r0, r0, r1 - strh r0, [r5, #4] - asrs r2, r2, #1 - lsls r2, r2, #9 - ldr r0, _08019880 @ =0x083FE44C - adds r2, r2, r0 - mov r0, ip - str r2, [r0] - lsls r0, r6, #9 - ldr r1, _08019884 @ =0x06010000 - adds r0, r0, r1 - mov r2, ip - str r0, [r2, #4] - ldr r0, _08019888 @ =0x80000100 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r1, #4 - ldrsh r0, [r5, r1] - cmp r0, #0xb4 - ble _08019808 - movs r0, #0xb4 - strh r0, [r5, #4] + asrs r6, r7, #0x10 + movs r0, #0xb8 + muls r0, r6, r0 + ldr r1, _08019870 @ =0x0200B5E0 + adds r5, r0, r1 + ldrh r0, [r5] + cmp r0, #0 + beq _08019850 + mov r2, sb + ldr r4, [r2] + lsls r3, r6, #1 + adds r0, r3, r6 + lsls r0, r0, #2 + adds r0, r4, r0 + ldr r1, _08019874 @ =0x000013BC + adds r0, r0, r1 + movs r2, #0 + ldrsb r2, [r0, r2] + lsrs r0, r2, #0x1f + adds r2, r2, r0 + ldr r0, _08019878 @ =0x086ACEF4 + adds r3, r3, r0 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r0, [r3] + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r5, #2] + ldr r0, _0801987C @ =0x02031520 + adds r4, #0x5a + ldrh r0, [r0, #0x1c] + ldrh r1, [r4] + subs r0, r0, r1 + strh r0, [r5, #4] + asrs r2, r2, #1 + lsls r2, r2, #9 + ldr r0, _08019880 @ =0x083FE44C + adds r2, r2, r0 + mov r0, ip + str r2, [r0] + lsls r0, r6, #9 + ldr r1, _08019884 @ =0x06010000 + adds r0, r0, r1 + mov r2, ip + str r0, [r2, #4] + ldr r0, _08019888 @ =0x80000100 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r1, #4 + ldrsh r0, [r5, r1] + cmp r0, #0xb4 + ble _08019808 + movs r0, #0xb4 + strh r0, [r5, #4] _08019808: - adds r4, r5, #0 - adds r4, #8 - ldrh r3, [r5, #8] - lsls r3, r3, #3 - add r3, r8 - movs r2, #2 - ldrsh r1, [r4, r2] - movs r2, #2 - ldrsh r0, [r5, r2] - adds r1, r1, r0 - ldr r2, _0801988C @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _08019890 @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r5, #8] - lsls r1, r1, #3 - add r1, r8 - ldrb r0, [r5, #4] - ldrb r4, [r4, #4] - adds r0, r0, r4 - strb r0, [r1] - ldrh r1, [r5, #8] - lsls r1, r1, #3 - add r1, r8 - mov r0, sl - lsls r3, r0, #2 - ldrb r2, [r1, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r3 - strb r0, [r1, #5] + adds r4, r5, #0 + adds r4, #8 + ldrh r3, [r5, #8] + lsls r3, r3, #3 + add r3, r8 + movs r2, #2 + ldrsh r1, [r4, r2] + movs r2, #2 + ldrsh r0, [r5, r2] + adds r1, r1, r0 + ldr r2, _0801988C @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _08019890 @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r5, #8] + lsls r1, r1, #3 + add r1, r8 + ldrb r0, [r5, #4] + ldrb r4, [r4, #4] + adds r0, r0, r4 + strb r0, [r1] + ldrh r1, [r5, #8] + lsls r1, r1, #3 + add r1, r8 + mov r0, sl + lsls r3, r0, #2 + ldrb r2, [r1, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r2 + orrs r0, r3 + strb r0, [r1, #5] _08019850: - movs r1, #0x80 - lsls r1, r1, #9 - adds r0, r7, r1 - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - bgt _08019860 - b _0801975E + movs r1, #0x80 + lsls r1, r1, #9 + adds r0, r7, r1 + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + bgt _08019860 + b _0801975E _08019860: - 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 + 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 _08019870: .4byte 0x0200B5E0 _08019874: .4byte 0x000013BC _08019878: .4byte 0x086ACEF4 @@ -50368,303 +50368,303 @@ _08019888: .4byte 0x80000100 _0801988C: .4byte 0x000001FF _08019890: .4byte 0xFFFFFE00 - thumb_func_start sub_19894 + thumb_func_start sub_19894 sub_19894: @ 0x08019894 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r4, _08019914 @ =0x020314E0 - ldr r0, [r4] - ldr r1, _08019918 @ =0x0000132C - adds r0, r0, r1 - ldr r0, [r0] - ldr r0, [r0, #0x10] - bl sub_1931C - movs r3, #0 - adds r6, r4, #0 - mov r8, r3 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r4, _08019914 @ =0x020314E0 + ldr r0, [r4] + ldr r1, _08019918 @ =0x0000132C + adds r0, r0, r1 + ldr r0, [r0] + ldr r0, [r0, #0x10] + bl sub_1931C + movs r3, #0 + adds r6, r4, #0 + mov r8, r3 _080198B2: - lsls r3, r3, #0x10 - asrs r2, r3, #0x10 - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #2 - ldr r7, _0801991C @ =0x000013BC - adds r0, r0, r7 - ldr r1, [r6] - adds r4, r1, r0 - ldrb r0, [r4] - strb r0, [r4, #1] - mov r0, r8 - strb r0, [r4, #2] - ldr r1, [r6] - adds r0, r1, #0 - adds r0, #0xe - adds r0, r0, r2 - ldrb r0, [r0] - mov sb, r3 - cmp r0, #0 - beq _08019924 - ldr r0, _08019920 @ =0x0200B0C0 - ldrb r0, [r0, #0xf] - cmp r0, #0 - bne _08019924 - movs r0, #6 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _08019908 - adds r0, r1, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08019908 - movs r0, #0x1a - ldrsb r0, [r1, r0] - cmp r0, #0 - bne _08019908 - movs r0, #0x72 - bl m4aSongNumStart + lsls r3, r3, #0x10 + asrs r2, r3, #0x10 + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #2 + ldr r7, _0801991C @ =0x000013BC + adds r0, r0, r7 + ldr r1, [r6] + adds r4, r1, r0 + ldrb r0, [r4] + strb r0, [r4, #1] + mov r0, r8 + strb r0, [r4, #2] + ldr r1, [r6] + adds r0, r1, #0 + adds r0, #0xe + adds r0, r0, r2 + ldrb r0, [r0] + mov sb, r3 + cmp r0, #0 + beq _08019924 + ldr r0, _08019920 @ =0x0200B0C0 + ldrb r0, [r0, #0xf] + cmp r0, #0 + bne _08019924 + movs r0, #6 + ldrsb r0, [r4, r0] + cmp r0, #0 + bne _08019908 + adds r0, r1, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08019908 + movs r0, #0x1a + ldrsb r0, [r1, r0] + cmp r0, #0 + bne _08019908 + movs r0, #0x72 + bl m4aSongNumStart _08019908: - movs r0, #1 - strb r0, [r4, #6] - mov r1, r8 - strb r1, [r4, #7] - b _0801993A - .align 2, 0 + movs r0, #1 + strb r0, [r4, #6] + mov r1, r8 + strb r1, [r4, #7] + b _0801993A + .align 2, 0 _08019914: .4byte 0x020314E0 _08019918: .4byte 0x0000132C _0801991C: .4byte 0x000013BC _08019920: .4byte 0x0200B0C0 _08019924: - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0xa - bne _0801993A - ldrb r0, [r4, #7] - cmp r0, #2 - bls _08019936 - mov r7, r8 - strb r7, [r4, #6] + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0xa + bne _0801993A + ldrb r0, [r4, #7] + cmp r0, #2 + bls _08019936 + mov r7, r8 + strb r7, [r4, #6] _08019936: - adds r0, #1 - strb r0, [r4, #7] + adds r0, #1 + strb r0, [r4, #7] _0801993A: - movs r5, #0 - movs r0, #6 - ldrsb r0, [r4, r0] - cmp r0, #0 - beq _08019998 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0xa - beq _08019950 - movs r5, #1 - b _0801997E + movs r5, #0 + movs r0, #6 + ldrsb r0, [r4, r0] + cmp r0, #0 + beq _08019998 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0xa + beq _08019950 + movs r5, #1 + b _0801997E _08019950: - ldr r2, [r6] - adds r3, r2, #0 - adds r3, #0x5c - movs r1, #0 - ldrsh r0, [r3, r1] - cmp r0, #0 - beq _0801997E - adds r0, r2, #0 - adds r0, #0x60 - ldrh r1, [r0] - ldr r7, _08019994 @ =0x00001364 - adds r0, r2, r7 - strh r1, [r0] - adds r0, r2, #0 - adds r0, #0x62 - ldrh r1, [r0] - adds r7, #2 - adds r0, r2, r7 - strh r1, [r0] - strh r5, [r3] - movs r0, #7 - bl sub_11B0 + ldr r2, [r6] + adds r3, r2, #0 + adds r3, #0x5c + movs r1, #0 + ldrsh r0, [r3, r1] + cmp r0, #0 + beq _0801997E + adds r0, r2, #0 + adds r0, #0x60 + ldrh r1, [r0] + ldr r7, _08019994 @ =0x00001364 + adds r0, r2, r7 + strh r1, [r0] + adds r0, r2, #0 + adds r0, #0x62 + ldrh r1, [r0] + adds r7, #2 + adds r0, r2, r7 + strh r1, [r0] + strh r5, [r3] + movs r0, #7 + bl sub_11B0 _0801997E: - movs r0, #0 - ldrsb r0, [r4, r0] - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - adds r0, #1 - strb r0, [r4, #2] - ldrb r0, [r4] - adds r0, #4 - b _080199E6 - .align 2, 0 + movs r0, #0 + ldrsb r0, [r4, r0] + lsrs r1, r0, #0x1f + adds r0, r0, r1 + asrs r0, r0, #1 + adds r0, #1 + strb r0, [r4, #2] + ldrb r0, [r4] + adds r0, #4 + b _080199E6 + .align 2, 0 _08019994: .4byte 0x00001364 _08019998: - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - beq _080199B4 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - adds r0, #6 - strb r0, [r4, #2] - ldr r5, _080199B0 @ =0x0000FFFF - b _080199E2 - .align 2, 0 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + beq _080199B4 + lsrs r1, r0, #0x1f + adds r0, r0, r1 + asrs r0, r0, #1 + adds r0, #6 + strb r0, [r4, #2] + ldr r5, _080199B0 @ =0x0000FFFF + b _080199E2 + .align 2, 0 _080199B0: .4byte 0x0000FFFF _080199B4: - ldr r2, [r6] - adds r3, r2, #0 - adds r3, #0x5c - movs r1, #0 - ldrsh r0, [r3, r1] - cmp r0, #0 - beq _080199E2 - adds r0, r2, #0 - adds r0, #0x60 - ldrh r1, [r0] - ldr r7, _08019A1C @ =0x00001364 - adds r0, r2, r7 - strh r1, [r0] - adds r0, r2, #0 - adds r0, #0x62 - ldrh r1, [r0] - adds r7, #2 - adds r0, r2, r7 - strh r1, [r0] - strh r5, [r3] - movs r0, #7 - bl sub_11B0 + ldr r2, [r6] + adds r3, r2, #0 + adds r3, #0x5c + movs r1, #0 + ldrsh r0, [r3, r1] + cmp r0, #0 + beq _080199E2 + adds r0, r2, #0 + adds r0, #0x60 + ldrh r1, [r0] + ldr r7, _08019A1C @ =0x00001364 + adds r0, r2, r7 + strh r1, [r0] + adds r0, r2, #0 + adds r0, #0x62 + ldrh r1, [r0] + adds r7, #2 + adds r0, r2, r7 + strh r1, [r0] + strh r5, [r3] + movs r0, #7 + bl sub_11B0 _080199E2: - ldrb r0, [r4] - subs r0, #2 + ldrb r0, [r4] + subs r0, #2 _080199E6: - strb r0, [r4] - movs r0, #3 - ldrsb r0, [r4, r0] - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - muls r0, r1, r0 - movs r1, #0 - strb r0, [r4, #3] - lsls r0, r0, #0x18 - cmp r0, #0 - bgt _080199FE - strb r1, [r4, #4] + strb r0, [r4] + movs r0, #3 + ldrsb r0, [r4, r0] + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + muls r0, r1, r0 + movs r1, #0 + strb r0, [r4, #3] + lsls r0, r0, #0x18 + cmp r0, #0 + bgt _080199FE + strb r1, [r4, #4] _080199FE: - strb r5, [r4, #3] - movs r0, #0x80 - lsls r0, r0, #9 - add r0, sb - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - bgt _08019A10 - b _080198B2 + strb r5, [r4, #3] + movs r0, #0x80 + lsls r0, r0, #9 + add r0, sb + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + bgt _08019A10 + b _080198B2 _08019A10: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08019A1C: .4byte 0x00001364 - thumb_func_start sub_19A20 + thumb_func_start sub_19A20 sub_19A20: @ 0x08019A20 - push {r4, r5, r6, lr} - ldr r4, _08019AF0 @ =0x020314E0 - ldr r0, [r4] - ldr r1, _08019AF4 @ =0x0000073D - adds r0, r0, r1 - movs r6, #2 - strb r6, [r0] - bl sub_1D5D8 - movs r0, #0 - bl sub_4E9F0 - bl sub_1DAD8 - bl sub_23954 - bl sub_239A4 - ldr r1, [r4] - movs r3, #0xb5 - lsls r3, r3, #2 - adds r2, r1, r3 - movs r5, #0 - movs r0, #0x49 - strh r0, [r2] - ldr r0, _08019AF8 @ =0x000002D6 - adds r2, r1, r0 - movs r0, #0x9a - strh r0, [r2] - ldr r2, _08019AFC @ =0x000002DA - adds r1, r1, r2 - strb r5, [r1] - bl sub_23E18 - bl sub_1DDDC - ldr r0, [r4] - movs r3, #0xb8 - lsls r3, r3, #1 - adds r0, r0, r3 - movs r1, #0xa - strb r1, [r0] - ldr r0, [r4] - ldr r2, _08019B00 @ =0x00000171 - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r3, #2 - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r4] - movs r1, #0xb6 - lsls r1, r1, #1 - adds r0, r0, r1 - strb r5, [r0] - bl sub_1EC48 - bl sub_1F158 - ldr r0, [r4] - ldr r2, _08019B04 @ =0x000001E5 - adds r0, r0, r2 - strb r5, [r0] - ldr r0, [r4] - movs r3, #0xf3 - lsls r3, r3, #1 - adds r1, r0, r3 - movs r0, #1 - strb r0, [r1] - bl sub_1F2A4 - bl sub_21B0C - bl sub_1F59C - ldr r0, [r4] - movs r2, #0xec - lsls r2, r2, #1 - adds r1, r0, r2 - subs r2, #0xd8 - strh r2, [r1] - movs r3, #0xed - lsls r3, r3, #1 - adds r1, r0, r3 - strh r2, [r1] - ldr r1, _08019B08 @ =0x0000029F - adds r0, r0, r1 - strb r6, [r0] - bl sub_2C9A4 - ldr r0, [r4] - movs r2, #0xbb - lsls r2, r2, #2 - adds r1, r0, r2 - movs r2, #3 - strh r2, [r1] - ldr r3, _08019B0C @ =0x000002EE - adds r0, r0, r3 - strh r2, [r0] - bl sub_31B30 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + ldr r4, _08019AF0 @ =0x020314E0 + ldr r0, [r4] + ldr r1, _08019AF4 @ =0x0000073D + adds r0, r0, r1 + movs r6, #2 + strb r6, [r0] + bl sub_1D5D8 + movs r0, #0 + bl sub_4E9F0 + bl sub_1DAD8 + bl sub_23954 + bl sub_239A4 + ldr r1, [r4] + movs r3, #0xb5 + lsls r3, r3, #2 + adds r2, r1, r3 + movs r5, #0 + movs r0, #0x49 + strh r0, [r2] + ldr r0, _08019AF8 @ =0x000002D6 + adds r2, r1, r0 + movs r0, #0x9a + strh r0, [r2] + ldr r2, _08019AFC @ =0x000002DA + adds r1, r1, r2 + strb r5, [r1] + bl sub_23E18 + bl sub_1DDDC + ldr r0, [r4] + movs r3, #0xb8 + lsls r3, r3, #1 + adds r0, r0, r3 + movs r1, #0xa + strb r1, [r0] + ldr r0, [r4] + ldr r2, _08019B00 @ =0x00000171 + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r4] + adds r3, #2 + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r4] + movs r1, #0xb6 + lsls r1, r1, #1 + adds r0, r0, r1 + strb r5, [r0] + bl sub_1EC48 + bl sub_1F158 + ldr r0, [r4] + ldr r2, _08019B04 @ =0x000001E5 + adds r0, r0, r2 + strb r5, [r0] + ldr r0, [r4] + movs r3, #0xf3 + lsls r3, r3, #1 + adds r1, r0, r3 + movs r0, #1 + strb r0, [r1] + bl sub_1F2A4 + bl sub_21B0C + bl sub_1F59C + ldr r0, [r4] + movs r2, #0xec + lsls r2, r2, #1 + adds r1, r0, r2 + subs r2, #0xd8 + strh r2, [r1] + movs r3, #0xed + lsls r3, r3, #1 + adds r1, r0, r3 + strh r2, [r1] + ldr r1, _08019B08 @ =0x0000029F + adds r0, r0, r1 + strb r6, [r0] + bl sub_2C9A4 + ldr r0, [r4] + movs r2, #0xbb + lsls r2, r2, #2 + adds r1, r0, r2 + movs r2, #3 + strh r2, [r1] + ldr r3, _08019B0C @ =0x000002EE + adds r0, r0, r3 + strh r2, [r0] + bl sub_31B30 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08019AF0: .4byte 0x020314E0 _08019AF4: .4byte 0x0000073D _08019AF8: .4byte 0x000002D6 @@ -50674,732 +50674,732 @@ _08019B04: .4byte 0x000001E5 _08019B08: .4byte 0x0000029F _08019B0C: .4byte 0x000002EE - thumb_func_start sub_19B10 + thumb_func_start sub_19B10 sub_19B10: @ 0x08019B10 - push {lr} - bl sub_19B90 - bl sub_19E10 - ldr r0, _08019B54 @ =0x0200B0C0 - ldrb r0, [r0, #0xf] - cmp r0, #0 - bne _08019B26 - bl sub_19F70 + push {lr} + bl sub_19B90 + bl sub_19E10 + ldr r0, _08019B54 @ =0x0200B0C0 + ldrb r0, [r0, #0xf] + cmp r0, #0 + bne _08019B26 + bl sub_19F70 _08019B26: - bl sub_19FA0 - ldr r0, _08019B58 @ =0x020314E0 - ldr r0, [r0] - movs r2, #0xa7 - lsls r2, r2, #2 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, #0 - beq _08019B50 - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08019B50 - ldr r0, _08019B5C @ =0x02032EE0 - ldr r1, _08019B60 @ =0x0000FFFF - movs r2, #0x80 - lsls r2, r2, #1 - bl m4aMPlayVolumeControl + bl sub_19FA0 + ldr r0, _08019B58 @ =0x020314E0 + ldr r0, [r0] + movs r2, #0xa7 + lsls r2, r2, #2 + adds r1, r0, r2 + ldrh r0, [r1] + cmp r0, #0 + beq _08019B50 + subs r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08019B50 + ldr r0, _08019B5C @ =0x02032EE0 + ldr r1, _08019B60 @ =0x0000FFFF + movs r2, #0x80 + lsls r2, r2, #1 + bl m4aMPlayVolumeControl _08019B50: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _08019B54: .4byte 0x0200B0C0 _08019B58: .4byte 0x020314E0 _08019B5C: .4byte 0x02032EE0 _08019B60: .4byte 0x0000FFFF - thumb_func_start sub_19B64 + thumb_func_start sub_19B64 sub_19B64: @ 0x08019B64 - ldr r2, _08019B88 @ =0x020314E0 - ldr r3, [r2] - movs r1, #2 - strb r1, [r3, #0x16] - ldr r1, [r2] - strb r0, [r1, #0x14] - ldr r0, [r2] - ldrb r0, [r0, #0x13] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08019B86 - ldr r0, _08019B8C @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r1, [r0, #0x34] - movs r0, #0 - strh r0, [r1] + ldr r2, _08019B88 @ =0x020314E0 + ldr r3, [r2] + movs r1, #2 + strb r1, [r3, #0x16] + ldr r1, [r2] + strb r0, [r1, #0x14] + ldr r0, [r2] + ldrb r0, [r0, #0x13] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _08019B86 + ldr r0, _08019B8C @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r1, [r0, #0x34] + movs r0, #0 + strh r0, [r1] _08019B86: - bx lr - .align 2, 0 + bx lr + .align 2, 0 _08019B88: .4byte 0x020314E0 _08019B8C: .4byte 0x0200B0C0 - thumb_func_start sub_19B90 + thumb_func_start sub_19B90 sub_19B90: @ 0x08019B90 - push {r4, lr} - ldr r4, _08019BA8 @ =0x020314E0 - ldr r2, [r4] - movs r0, #0x16 - ldrsb r0, [r2, r0] - cmp r0, #1 - beq _08019BD0 - cmp r0, #1 - bgt _08019BAC - cmp r0, #0 - beq _08019BB2 - b _08019BFE - .align 2, 0 + push {r4, lr} + ldr r4, _08019BA8 @ =0x020314E0 + ldr r2, [r4] + movs r0, #0x16 + ldrsb r0, [r2, r0] + cmp r0, #1 + beq _08019BD0 + cmp r0, #1 + bgt _08019BAC + cmp r0, #0 + beq _08019BB2 + b _08019BFE + .align 2, 0 _08019BA8: .4byte 0x020314E0 _08019BAC: - cmp r0, #2 - beq _08019BE8 - b _08019BFE + cmp r0, #2 + beq _08019BE8 + b _08019BFE _08019BB2: - ldr r1, _08019BCC @ =0x086AD4C4 - movs r0, #0x13 - ldrsb r0, [r2, r0] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r1, [r4] - ldrb r0, [r1, #0x16] - adds r0, #1 - strb r0, [r1, #0x16] - b _08019BFE - .align 2, 0 + ldr r1, _08019BCC @ =0x086AD4C4 + movs r0, #0x13 + ldrsb r0, [r2, r0] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + ldr r1, [r4] + ldrb r0, [r1, #0x16] + adds r0, #1 + strb r0, [r1, #0x16] + b _08019BFE + .align 2, 0 _08019BCC: .4byte 0x086AD4C4 _08019BD0: - ldr r0, _08019BE4 @ =0x086AD4E8 - movs r1, #0x13 - ldrsb r1, [r2, r1] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - bl _call_via_r0 - b _08019BFE - .align 2, 0 + ldr r0, _08019BE4 @ =0x086AD4E8 + movs r1, #0x13 + ldrsb r1, [r2, r1] + lsls r1, r1, #2 + adds r1, r1, r0 + ldr r0, [r1] + bl _call_via_r0 + b _08019BFE + .align 2, 0 _08019BE4: .4byte 0x086AD4E8 _08019BE8: - bl sub_19D04 - ldr r0, [r4] - ldrb r1, [r0, #0x13] - movs r2, #0 - strb r1, [r0, #0x15] - ldr r1, [r4] - ldrb r0, [r1, #0x14] - strb r0, [r1, #0x13] - ldr r0, [r4] - strb r2, [r0, #0x16] + bl sub_19D04 + ldr r0, [r4] + ldrb r1, [r0, #0x13] + movs r2, #0 + strb r1, [r0, #0x15] + ldr r1, [r4] + ldrb r0, [r1, #0x14] + strb r0, [r1, #0x13] + ldr r0, [r4] + strb r2, [r0, #0x16] _08019BFE: - pop {r4} - pop {r0} - bx r0 + pop {r4} + pop {r0} + bx r0 - thumb_func_start sub_19C04 + thumb_func_start sub_19C04 sub_19C04: @ 0x08019C04 - push {r4, r5, r6, lr} - ldr r0, _08019C3C @ =0x020314E0 - ldr r1, [r0] - movs r0, #0x15 - ldrsb r0, [r1, r0] - cmp r0, #0 - ble _08019C7A - ldr r0, _08019C40 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _08019C50 - ldr r2, _08019C44 @ =0x00000283 - adds r0, r1, r2 - 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 _08019C48 - movs r0, #0x1c - bl m4aSongNumStart - b _08019C7A - .align 2, 0 + push {r4, r5, r6, lr} + ldr r0, _08019C3C @ =0x020314E0 + ldr r1, [r0] + movs r0, #0x15 + ldrsb r0, [r1, r0] + cmp r0, #0 + ble _08019C7A + ldr r0, _08019C40 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #0 + bne _08019C50 + ldr r2, _08019C44 @ =0x00000283 + adds r0, r1, r2 + 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 _08019C48 + movs r0, #0x1c + bl m4aSongNumStart + b _08019C7A + .align 2, 0 _08019C3C: .4byte 0x020314E0 _08019C40: .4byte 0x0200B0C0 _08019C44: .4byte 0x00000283 _08019C48: - movs r0, #0x5b - bl m4aSongNumStart - b _08019C7A + movs r0, #0x5b + bl m4aSongNumStart + b _08019C7A _08019C50: - ldr r4, _08019C70 @ =0x00000283 - adds r0, r1, r4 - 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 _08019C74 - movs r0, #0x20 - bl m4aSongNumStart - b _08019C7A - .align 2, 0 + ldr r4, _08019C70 @ =0x00000283 + adds r0, r1, r4 + 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 _08019C74 + movs r0, #0x20 + bl m4aSongNumStart + b _08019C7A + .align 2, 0 _08019C70: .4byte 0x00000283 _08019C74: - movs r0, #0x5c - bl m4aSongNumStart + movs r0, #0x5c + bl m4aSongNumStart _08019C7A: - ldr r5, _08019CB8 @ =0x020314E0 - ldr r2, [r5] - ldrb r0, [r2, #0x15] - subs r0, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bls _08019CB2 - ldr r3, _08019CBC @ =0x0000073C - adds r0, r2, r3 - ldrb r1, [r0] - ldr r6, _08019CC0 @ =0x0000072E - adds r0, r2, r6 - movs r4, #0 - strb r1, [r0] - ldr r0, [r5] - ldr r2, _08019CC4 @ =0x0000073D - adds r1, r0, r2 - ldrb r1, [r1] - adds r6, #1 - adds r0, r0, r6 - strb r1, [r0] - ldr r0, [r5] - adds r0, r0, r3 - strb r4, [r0] - ldr r0, [r5] - adds r0, r0, r2 - strb r4, [r0] + ldr r5, _08019CB8 @ =0x020314E0 + ldr r2, [r5] + ldrb r0, [r2, #0x15] + subs r0, #1 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #1 + bls _08019CB2 + ldr r3, _08019CBC @ =0x0000073C + adds r0, r2, r3 + ldrb r1, [r0] + ldr r6, _08019CC0 @ =0x0000072E + adds r0, r2, r6 + movs r4, #0 + strb r1, [r0] + ldr r0, [r5] + ldr r2, _08019CC4 @ =0x0000073D + adds r1, r0, r2 + ldrb r1, [r1] + adds r6, #1 + adds r0, r0, r6 + strb r1, [r0] + ldr r0, [r5] + adds r0, r0, r3 + strb r4, [r0] + ldr r0, [r5] + adds r0, r0, r2 + strb r4, [r0] _08019CB2: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08019CB8: .4byte 0x020314E0 _08019CBC: .4byte 0x0000073C _08019CC0: .4byte 0x0000072E _08019CC4: .4byte 0x0000073D - thumb_func_start sub_19CC8 + thumb_func_start sub_19CC8 sub_19CC8: @ 0x08019CC8 - push {lr} - ldr r0, _08019CEC @ =0x020314E0 - ldr r1, [r0] - ldr r2, _08019CF0 @ =0x00000714 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08019CFE - ldr r0, _08019CF4 @ =0x000006EE - adds r1, r1, r0 - ldrh r0, [r1] - cmp r0, #0 - beq _08019CF8 - subs r0, #1 - strh r0, [r1] - b _08019CFE - .align 2, 0 + push {lr} + ldr r0, _08019CEC @ =0x020314E0 + ldr r1, [r0] + ldr r2, _08019CF0 @ =0x00000714 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08019CFE + ldr r0, _08019CF4 @ =0x000006EE + adds r1, r1, r0 + ldrh r0, [r1] + cmp r0, #0 + beq _08019CF8 + subs r0, #1 + strh r0, [r1] + b _08019CFE + .align 2, 0 _08019CEC: .4byte 0x020314E0 _08019CF0: .4byte 0x00000714 _08019CF4: .4byte 0x000006EE _08019CF8: - movs r0, #2 - bl sub_19B64 + movs r0, #2 + bl sub_19B64 _08019CFE: - pop {r0} - bx r0 + pop {r0} + bx r0 - thumb_func_start sub_19D04 + thumb_func_start sub_19D04 sub_19D04: @ 0x08019D04 - push {r4, r5, r6, lr} - ldr r0, _08019D80 @ =0x020314E0 - ldr r1, [r0] - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #2 - bne _08019D20 - movs r0, #0x14 - ldrsb r0, [r1, r0] - cmp r0, #2 - ble _08019D20 - movs r0, #0 - bl sub_21238 + push {r4, r5, r6, lr} + ldr r0, _08019D80 @ =0x020314E0 + ldr r1, [r0] + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #2 + bne _08019D20 + movs r0, #0x14 + ldrsb r0, [r1, r0] + cmp r0, #2 + ble _08019D20 + movs r0, #0 + bl sub_21238 _08019D20: - ldr r5, _08019D80 @ =0x020314E0 - ldr r2, [r5] - movs r0, #0x13 - ldrsb r0, [r2, r0] - cmp r0, #2 - bgt _08019DFC - movs r0, #0x14 - ldrsb r0, [r2, r0] - cmp r0, #3 - bne _08019D5C - ldr r3, _08019D84 @ =0x0000072E - adds r0, r2, r3 - ldrb r1, [r0] - ldr r4, _08019D88 @ =0x0000073C - adds r0, r2, r4 - movs r4, #0 - strb r1, [r0] - ldr r0, [r5] - ldr r2, _08019D8C @ =0x0000072F - adds r1, r0, r2 - ldrb r1, [r1] - ldr r6, _08019D90 @ =0x0000073D - adds r0, r0, r6 - strb r1, [r0] - ldr r0, [r5] - adds r0, r0, r3 - strb r4, [r0] - ldr r0, [r5] - adds r0, r0, r2 - strb r4, [r0] + ldr r5, _08019D80 @ =0x020314E0 + ldr r2, [r5] + movs r0, #0x13 + ldrsb r0, [r2, r0] + cmp r0, #2 + bgt _08019DFC + movs r0, #0x14 + ldrsb r0, [r2, r0] + cmp r0, #3 + bne _08019D5C + ldr r3, _08019D84 @ =0x0000072E + adds r0, r2, r3 + ldrb r1, [r0] + ldr r4, _08019D88 @ =0x0000073C + adds r0, r2, r4 + movs r4, #0 + strb r1, [r0] + ldr r0, [r5] + ldr r2, _08019D8C @ =0x0000072F + adds r1, r0, r2 + ldrb r1, [r1] + ldr r6, _08019D90 @ =0x0000073D + adds r0, r0, r6 + strb r1, [r0] + ldr r0, [r5] + adds r0, r0, r3 + strb r4, [r0] + ldr r0, [r5] + adds r0, r0, r2 + strb r4, [r0] _08019D5C: - ldr r4, [r5] - movs r0, #0x14 - ldrsb r0, [r4, r0] - cmp r0, #4 - bne _08019D94 - ldr r3, _08019D84 @ =0x0000072E - adds r0, r4, r3 - ldrb r1, [r0] - ldr r2, _08019D88 @ =0x0000073C - adds r0, r4, r2 - movs r4, #0 - strb r1, [r0] - ldr r0, [r5] - subs r2, #0xd - adds r1, r0, r2 - ldrb r1, [r1] - ldr r6, _08019D90 @ =0x0000073D - b _08019DEC - .align 2, 0 + ldr r4, [r5] + movs r0, #0x14 + ldrsb r0, [r4, r0] + cmp r0, #4 + bne _08019D94 + ldr r3, _08019D84 @ =0x0000072E + adds r0, r4, r3 + ldrb r1, [r0] + ldr r2, _08019D88 @ =0x0000073C + adds r0, r4, r2 + movs r4, #0 + strb r1, [r0] + ldr r0, [r5] + subs r2, #0xd + adds r1, r0, r2 + ldrb r1, [r1] + ldr r6, _08019D90 @ =0x0000073D + b _08019DEC + .align 2, 0 _08019D80: .4byte 0x020314E0 _08019D84: .4byte 0x0000072E _08019D88: .4byte 0x0000073C _08019D8C: .4byte 0x0000072F _08019D90: .4byte 0x0000073D _08019D94: - cmp r0, #6 - bne _08019DD0 - ldr r3, _08019DC0 @ =0x0000072F - adds r0, r4, r3 - ldrb r2, [r0] - ldr r1, _08019DC4 @ =0x0000073D - adds r0, r4, r1 - movs r1, #0 - strb r2, [r0] - ldr r0, [r5] - ldr r2, _08019DC8 @ =0x0000073C - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r5] - ldr r4, _08019DCC @ =0x0000072E - adds r0, r0, r4 - strb r1, [r0] - ldr r0, [r5] - adds r0, r0, r3 - strb r1, [r0] - b _08019DFC - .align 2, 0 + cmp r0, #6 + bne _08019DD0 + ldr r3, _08019DC0 @ =0x0000072F + adds r0, r4, r3 + ldrb r2, [r0] + ldr r1, _08019DC4 @ =0x0000073D + adds r0, r4, r1 + movs r1, #0 + strb r2, [r0] + ldr r0, [r5] + ldr r2, _08019DC8 @ =0x0000073C + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r5] + ldr r4, _08019DCC @ =0x0000072E + adds r0, r0, r4 + strb r1, [r0] + ldr r0, [r5] + adds r0, r0, r3 + strb r1, [r0] + b _08019DFC + .align 2, 0 _08019DC0: .4byte 0x0000072F _08019DC4: .4byte 0x0000073D _08019DC8: .4byte 0x0000073C _08019DCC: .4byte 0x0000072E _08019DD0: - cmp r0, #3 - ble _08019DFC - ldr r3, _08019E04 @ =0x0000072E - adds r0, r4, r3 - ldrb r1, [r0] - ldr r6, _08019E08 @ =0x0000073C - adds r0, r4, r6 - movs r4, #0 - strb r1, [r0] - ldr r0, [r5] - ldr r2, _08019E0C @ =0x0000072F - adds r1, r0, r2 - ldrb r1, [r1] - adds r6, #1 + cmp r0, #3 + ble _08019DFC + ldr r3, _08019E04 @ =0x0000072E + adds r0, r4, r3 + ldrb r1, [r0] + ldr r6, _08019E08 @ =0x0000073C + adds r0, r4, r6 + movs r4, #0 + strb r1, [r0] + ldr r0, [r5] + ldr r2, _08019E0C @ =0x0000072F + adds r1, r0, r2 + ldrb r1, [r1] + adds r6, #1 _08019DEC: - adds r0, r0, r6 - strb r1, [r0] - ldr r0, [r5] - adds r0, r0, r3 - strb r4, [r0] - ldr r0, [r5] - adds r0, r0, r2 - strb r4, [r0] + adds r0, r0, r6 + strb r1, [r0] + ldr r0, [r5] + adds r0, r0, r3 + strb r4, [r0] + ldr r0, [r5] + adds r0, r0, r2 + strb r4, [r0] _08019DFC: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08019E04: .4byte 0x0000072E _08019E08: .4byte 0x0000073C _08019E0C: .4byte 0x0000072F - thumb_func_start sub_19E10 + thumb_func_start sub_19E10 sub_19E10: @ 0x08019E10 - push {r4, lr} - bl sub_1A0F4 - bl sub_1DA74 - ldr r4, _08019EA4 @ =0x020314E0 - ldr r0, [r4] - movs r2, #0xa8 - lsls r2, r2, #2 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, #0 - beq _08019E4E - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08019E4E - bl sub_C00 - ldr r4, [r4] - ldr r1, _08019EA8 @ =0x0200B0C0 - ldr r1, [r1, #0x4c] - adds r0, r0, r1 - movs r1, #0x64 - bl __umodsi3 - adds r0, #1 - ldr r3, _08019EAC @ =0x0000029F - adds r4, r4, r3 - strb r0, [r4] + push {r4, lr} + bl sub_1A0F4 + bl sub_1DA74 + ldr r4, _08019EA4 @ =0x020314E0 + ldr r0, [r4] + movs r2, #0xa8 + lsls r2, r2, #2 + adds r1, r0, r2 + ldrh r0, [r1] + cmp r0, #0 + beq _08019E4E + subs r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08019E4E + bl sub_C00 + ldr r4, [r4] + ldr r1, _08019EA8 @ =0x0200B0C0 + ldr r1, [r1, #0x4c] + adds r0, r0, r1 + movs r1, #0x64 + bl __umodsi3 + adds r0, #1 + ldr r3, _08019EAC @ =0x0000029F + adds r4, r4, r3 + strb r0, [r4] _08019E4E: - ldr r4, _08019EA4 @ =0x020314E0 - ldr r0, [r4] - adds r0, #0x68 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0x6d - bgt _08019E68 - bl sub_1D5D8 - bl sub_1DAD8 - bl sub_2C9A4 + ldr r4, _08019EA4 @ =0x020314E0 + ldr r0, [r4] + adds r0, #0x68 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #0x6d + bgt _08019E68 + bl sub_1D5D8 + bl sub_1DAD8 + bl sub_2C9A4 _08019E68: - bl sub_2CA9C - ldr r0, [r4] - adds r0, #0x68 - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #0xa7 - bgt _08019E7C - bl sub_239A4 + bl sub_2CA9C + ldr r0, [r4] + adds r0, #0x68 + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r0, #0xa7 + bgt _08019E7C + bl sub_239A4 _08019E7C: - ldr r0, [r4] - adds r0, #0x68 - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r0, #0xdb - bgt _08019EBC - bl sub_23E18 - ldr r0, [r4] - movs r1, #0xa9 - lsls r1, r1, #2 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08019EB0 - bl sub_1DC7C - b _08019EB4 - .align 2, 0 + ldr r0, [r4] + adds r0, #0x68 + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r0, #0xdb + bgt _08019EBC + bl sub_23E18 + ldr r0, [r4] + movs r1, #0xa9 + lsls r1, r1, #2 + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08019EB0 + bl sub_1DC7C + b _08019EB4 + .align 2, 0 _08019EA4: .4byte 0x020314E0 _08019EA8: .4byte 0x0200B0C0 _08019EAC: .4byte 0x0000029F _08019EB0: - bl sub_1EC48 + bl sub_1EC48 _08019EB4: - bl sub_1F158 - bl sub_1F59C + bl sub_1F158 + bl sub_1F59C _08019EBC: - bl sub_1F698 - ldr r4, _08019F64 @ =0x020314E0 - ldr r0, [r4] - adds r0, #0x68 - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #0x3f - ble _08019ED6 - bl sub_1FA48 - bl sub_1FBC4 + bl sub_1F698 + ldr r4, _08019F64 @ =0x020314E0 + ldr r0, [r4] + adds r0, #0x68 + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r0, #0x3f + ble _08019ED6 + bl sub_1FA48 + bl sub_1FBC4 _08019ED6: - ldr r0, [r4] - adds r0, #0x68 - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r0, #0x73 - ble _08019EE6 - bl sub_2C538 + ldr r0, [r4] + adds r0, #0x68 + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r0, #0x73 + ble _08019EE6 + bl sub_2C538 _08019EE6: - ldr r0, [r4] - adds r0, #0x68 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0x82 - ble _08019EF6 - bl sub_201B8 + ldr r0, [r4] + adds r0, #0x68 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #0x82 + ble _08019EF6 + bl sub_201B8 _08019EF6: - bl sub_2CE80 - ldr r0, [r4] - adds r0, #0x68 - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #0xa8 - ble _08019F0A - bl sub_2D104 + bl sub_2CE80 + ldr r0, [r4] + adds r0, #0x68 + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r0, #0xa8 + ble _08019F0A + bl sub_2D104 _08019F0A: - bl sub_203CC - bl sub_21B0C - bl sub_4E814 - bl sub_1D128 - bl sub_21D78 - bl sub_31B30 - ldr r0, [r4] - movs r3, #0xca - lsls r3, r3, #1 - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08019F38 - bl sub_225F0 + bl sub_203CC + bl sub_21B0C + bl sub_4E814 + bl sub_1D128 + bl sub_21D78 + bl sub_31B30 + ldr r0, [r4] + movs r3, #0xca + lsls r3, r3, #1 + adds r0, r0, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08019F38 + bl sub_225F0 _08019F38: - bl sub_472E4 - ldr r2, [r4] - ldr r0, _08019F68 @ =0x00001328 - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, #0 - beq _08019F5C - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08019F5C - ldr r3, _08019F6C @ =0x00001330 - adds r1, r2, r3 - adds r3, #4 - adds r0, r2, r3 - str r0, [r1] + bl sub_472E4 + ldr r2, [r4] + ldr r0, _08019F68 @ =0x00001328 + adds r1, r2, r0 + ldrh r0, [r1] + cmp r0, #0 + beq _08019F5C + subs r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08019F5C + ldr r3, _08019F6C @ =0x00001330 + adds r1, r2, r3 + adds r3, #4 + adds r0, r2, r3 + str r0, [r1] _08019F5C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08019F64: .4byte 0x020314E0 _08019F68: .4byte 0x00001328 _08019F6C: .4byte 0x00001330 - thumb_func_start sub_19F70 + thumb_func_start sub_19F70 sub_19F70: @ 0x08019F70 - push {lr} - bl sub_1DDDC - bl sub_1A9E8 - bl sub_1F2A4 - bl sub_1FF0C - ldr r0, _08019F9C @ =0x020314E0 - ldr r0, [r0] - movs r2, #0xc0 - lsls r2, r2, #3 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, #0 - beq _08019F96 - subs r0, #1 - strh r0, [r1] + push {lr} + bl sub_1DDDC + bl sub_1A9E8 + bl sub_1F2A4 + bl sub_1FF0C + ldr r0, _08019F9C @ =0x020314E0 + ldr r0, [r0] + movs r2, #0xc0 + lsls r2, r2, #3 + adds r1, r0, r2 + ldrh r0, [r1] + cmp r0, #0 + beq _08019F96 + subs r0, #1 + strh r0, [r1] _08019F96: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _08019F9C: .4byte 0x020314E0 - thumb_func_start sub_19FA0 + thumb_func_start sub_19FA0 sub_19FA0: @ 0x08019FA0 - push {r4, r5, lr} - ldr r0, _0801A0DC @ =0x020314E0 - ldr r2, [r0] - ldrb r1, [r2, #4] - adds r5, r0, #0 - cmp r1, #0 - beq _0801A038 - movs r1, #0xe2 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrh r0, [r0] - cmp r0, #0 - bne _08019FE2 - movs r3, #0xf1 - lsls r3, r3, #1 - adds r1, r2, r3 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #2 - beq _08019FE2 - subs r3, #0x22 - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, #0 - bne _08019FE2 - ldr r3, _0801A0E0 @ =0x0000061C - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08019FE2 - strb r0, [r1] + push {r4, r5, lr} + ldr r0, _0801A0DC @ =0x020314E0 + ldr r2, [r0] + ldrb r1, [r2, #4] + adds r5, r0, #0 + cmp r1, #0 + beq _0801A038 + movs r1, #0xe2 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrh r0, [r0] + cmp r0, #0 + bne _08019FE2 + movs r3, #0xf1 + lsls r3, r3, #1 + adds r1, r2, r3 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #2 + beq _08019FE2 + subs r3, #0x22 + adds r0, r2, r3 + ldrh r0, [r0] + cmp r0, #0 + bne _08019FE2 + ldr r3, _0801A0E0 @ =0x0000061C + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08019FE2 + strb r0, [r1] _08019FE2: - 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, _0801A0E4 @ =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] + 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, _0801A0E4 @ =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] _0801A038: - ldr r1, [r5] - ldrb r0, [r1, #5] - cmp r0, #0 - beq _0801A0D4 - movs r2, #0xe2 - lsls r2, r2, #1 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #0 - bne _0801A076 - movs r3, #0xf1 - lsls r3, r3, #1 - adds r2, r1, r3 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #2 - beq _0801A076 - subs r3, #0x22 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, #0 - bne _0801A076 - ldr r3, _0801A0E0 @ =0x0000061C - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0801A076 - movs r0, #1 - strb r0, [r2] + ldr r1, [r5] + ldrb r0, [r1, #5] + cmp r0, #0 + beq _0801A0D4 + movs r2, #0xe2 + lsls r2, r2, #1 + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #0 + bne _0801A076 + movs r3, #0xf1 + lsls r3, r3, #1 + adds r2, r1, r3 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #2 + beq _0801A076 + subs r3, #0x22 + adds r0, r1, r3 + ldrh r0, [r0] + cmp r0, #0 + bne _0801A076 + ldr r3, _0801A0E0 @ =0x0000061C + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0801A076 + movs r0, #1 + strb r0, [r2] _0801A076: - ldr r0, [r5] - ldr r2, _0801A0E8 @ =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, _0801A0EC @ =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] - ldr r0, [r5] - ldr r1, _0801A0F0 @ =0x00000301 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] + ldr r0, [r5] + ldr r2, _0801A0E8 @ =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, _0801A0EC @ =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] + ldr r0, [r5] + ldr r1, _0801A0F0 @ =0x00000301 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] _0801A0D4: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0801A0DC: .4byte 0x020314E0 _0801A0E0: .4byte 0x0000061C _0801A0E4: .4byte 0x00000712 @@ -51407,517 +51407,517 @@ _0801A0E8: .4byte 0x00000713 _0801A0EC: .4byte 0x00000711 _0801A0F0: .4byte 0x00000301 - thumb_func_start sub_1A0F4 + thumb_func_start sub_1A0F4 sub_1A0F4: @ 0x0801A0F4 - push {r4, r5, r6, r7, lr} - ldr r2, _0801A140 @ =0x0200B0C0 - ldrb r1, [r2, #0xf] - movs r4, #1 - adds r0, r4, #0 - ands r0, r1 - cmp r0, #0 - bne _0801A106 - b _0801A2B2 + push {r4, r5, r6, r7, lr} + ldr r2, _0801A140 @ =0x0200B0C0 + ldrb r1, [r2, #0xf] + movs r4, #1 + adds r0, r4, #0 + ands r0, r1 + cmp r0, #0 + bne _0801A106 + b _0801A2B2 _0801A106: - ldr r1, _0801A144 @ =0x020314E0 - ldr r0, [r1] - ldr r6, _0801A148 @ =0x000005F7 - adds r0, r0, r6 - strb r4, [r0] - ldr r3, [r1] - adds r0, r3, #0 - adds r0, #0xfa - movs r5, #0 - ldrsb r5, [r0, r5] - adds r7, r1, #0 - cmp r5, #0 - beq _0801A1D4 - movs r0, #2 - strb r0, [r3, #0x1f] - ldr r0, [r7] - ldr r1, _0801A14C @ =0x000005FA - adds r0, r0, r1 - strb r4, [r0] - ldr r2, [r7] - adds r1, r2, #0 - adds r1, #0xea - ldrh r0, [r1] - cmp r0, #0 - beq _0801A150 - subs r0, #1 - strh r0, [r1] - b _0801A1C0 - .align 2, 0 + ldr r1, _0801A144 @ =0x020314E0 + ldr r0, [r1] + ldr r6, _0801A148 @ =0x000005F7 + adds r0, r0, r6 + strb r4, [r0] + ldr r3, [r1] + adds r0, r3, #0 + adds r0, #0xfa + movs r5, #0 + ldrsb r5, [r0, r5] + adds r7, r1, #0 + cmp r5, #0 + beq _0801A1D4 + movs r0, #2 + strb r0, [r3, #0x1f] + ldr r0, [r7] + ldr r1, _0801A14C @ =0x000005FA + adds r0, r0, r1 + strb r4, [r0] + ldr r2, [r7] + adds r1, r2, #0 + adds r1, #0xea + ldrh r0, [r1] + cmp r0, #0 + beq _0801A150 + subs r0, #1 + strh r0, [r1] + b _0801A1C0 + .align 2, 0 _0801A140: .4byte 0x0200B0C0 _0801A144: .4byte 0x020314E0 _0801A148: .4byte 0x000005F7 _0801A14C: .4byte 0x000005FA _0801A150: - adds r1, r2, #0 - adds r1, #0xee - ldrh r3, [r1] - mov ip, r3 - movs r4, #0 - ldrsh r0, [r1, r4] - cmp r0, #0 - bne _0801A16E - adds r3, r2, #0 - adds r3, #0xec - ldrh r0, [r3] - adds r1, r0, #0 - cmp r1, #0 - bne _0801A1B4 - b _0801A1BA + adds r1, r2, #0 + adds r1, #0xee + ldrh r3, [r1] + mov ip, r3 + movs r4, #0 + ldrsh r0, [r1, r4] + cmp r0, #0 + bne _0801A16E + adds r3, r2, #0 + adds r3, #0xec + ldrh r0, [r3] + adds r1, r0, #0 + cmp r1, #0 + bne _0801A1B4 + b _0801A1BA _0801A16E: - adds r0, r2, #0 - adds r0, #0x68 - movs r6, #0 - ldrsh r5, [r0, r6] - movs r0, #0 - ldrsh r4, [r1, r0] - adds r1, r5, r4 - adds r0, r2, #0 - adds r0, #0xe8 - movs r6, #0 - ldrsh r3, [r0, r6] - cmp r1, r3 - bgt _0801A194 - adds r1, r2, #0 - adds r1, #0xe6 - ldrh r0, [r1] - add r0, ip - strh r0, [r1] - b _0801A1C0 + adds r0, r2, #0 + adds r0, #0x68 + movs r6, #0 + ldrsh r5, [r0, r6] + movs r0, #0 + ldrsh r4, [r1, r0] + adds r1, r5, r4 + adds r0, r2, #0 + adds r0, #0xe8 + movs r6, #0 + ldrsh r3, [r0, r6] + cmp r1, r3 + bgt _0801A194 + adds r1, r2, #0 + adds r1, #0xe6 + ldrh r0, [r1] + add r0, ip + strh r0, [r1] + b _0801A1C0 _0801A194: - subs r0, r5, r4 - cmp r0, r3 - blt _0801A1A8 - adds r1, r2, #0 - adds r1, #0xe6 - ldrh r0, [r1] - mov r2, ip - subs r0, r0, r2 - strh r0, [r1] - b _0801A1C0 + subs r0, r5, r4 + cmp r0, r3 + blt _0801A1A8 + adds r1, r2, #0 + adds r1, #0xe6 + ldrh r0, [r1] + mov r2, ip + subs r0, r0, r2 + strh r0, [r1] + b _0801A1C0 _0801A1A8: - adds r3, r2, #0 - adds r3, #0xec - ldrh r0, [r3] - adds r1, r0, #0 - cmp r1, #0 - beq _0801A1BA + adds r3, r2, #0 + adds r3, #0xec + ldrh r0, [r3] + adds r1, r0, #0 + cmp r1, #0 + beq _0801A1BA _0801A1B4: - subs r0, #1 - strh r0, [r3] - b _0801A1C0 + subs r0, #1 + strh r0, [r3] + b _0801A1C0 _0801A1BA: - adds r0, r2, #0 - adds r0, #0xfa - strb r1, [r0] + adds r0, r2, #0 + adds r0, #0xfa + strb r1, [r0] _0801A1C0: - ldr r0, [r7] - adds r0, #0xf2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0801A2B2 - bl sub_1A2C0 - b _0801A2B2 + ldr r0, [r7] + adds r0, #0xf2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0801A2B2 + bl sub_1A2C0 + b _0801A2B2 _0801A1D4: - adds r0, r3, #0 - adds r0, #0xee - movs r4, #0 - ldrsh r0, [r0, r4] - adds r1, r3, #0 - adds r1, #0xe6 - cmp r0, #0 - beq _0801A1EC - movs r4, #0 - ldrsh r0, [r1, r4] - cmp r0, #0 - bne _0801A216 + adds r0, r3, #0 + adds r0, #0xee + movs r4, #0 + ldrsh r0, [r0, r4] + adds r1, r3, #0 + adds r1, #0xe6 + cmp r0, #0 + beq _0801A1EC + movs r4, #0 + ldrsh r0, [r1, r4] + cmp r0, #0 + bne _0801A216 _0801A1EC: - movs r4, #0 - strh r5, [r1] - strb r4, [r3, #0x1f] - ldrb r1, [r2, #0xf] - movs r0, #0xfe - ands r0, r1 - strb r0, [r2, #0xf] - ldr r0, [r7] - adds r0, r0, r6 - strb r4, [r0] - ldr r1, [r7] - adds r0, r1, #0 - adds r0, #0xfb - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0801A216 - ldr r5, _0801A2B8 @ =0x000005FA - adds r0, r1, r5 - strb r4, [r0] + movs r4, #0 + strh r5, [r1] + strb r4, [r3, #0x1f] + ldrb r1, [r2, #0xf] + movs r0, #0xfe + ands r0, r1 + strb r0, [r2, #0xf] + ldr r0, [r7] + adds r0, r0, r6 + strb r4, [r0] + ldr r1, [r7] + adds r0, r1, #0 + adds r0, #0xfb + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0801A216 + ldr r5, _0801A2B8 @ =0x000005FA + adds r0, r1, r5 + strb r4, [r0] _0801A216: - ldr r3, [r7] - adds r1, r3, #0 - adds r1, #0xe6 - ldrh r4, [r1] - movs r6, #0 - ldrsh r0, [r1, r6] - cmp r0, #0 - ble _0801A264 - adds r0, r3, #0 - adds r0, #0xee - ldrh r0, [r0] - subs r0, r4, r0 - movs r4, #0 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bgt _0801A2B2 - movs r0, #0 - strh r0, [r1] - strb r4, [r3, #0x1f] - ldrb r1, [r2, #0xf] - movs r0, #0xfe - ands r0, r1 - strb r0, [r2, #0xf] - ldr r0, [r7] - ldr r1, _0801A2BC @ =0x000005F7 - adds r0, r0, r1 - strb r4, [r0] - ldr r1, [r7] - adds r0, r1, #0 - adds r0, #0xfb - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0801A264 - ldr r3, _0801A2B8 @ =0x000005FA - adds r0, r1, r3 - strb r4, [r0] + ldr r3, [r7] + adds r1, r3, #0 + adds r1, #0xe6 + ldrh r4, [r1] + movs r6, #0 + ldrsh r0, [r1, r6] + cmp r0, #0 + ble _0801A264 + adds r0, r3, #0 + adds r0, #0xee + ldrh r0, [r0] + subs r0, r4, r0 + movs r4, #0 + strh r0, [r1] + lsls r0, r0, #0x10 + cmp r0, #0 + bgt _0801A2B2 + movs r0, #0 + strh r0, [r1] + strb r4, [r3, #0x1f] + ldrb r1, [r2, #0xf] + movs r0, #0xfe + ands r0, r1 + strb r0, [r2, #0xf] + ldr r0, [r7] + ldr r1, _0801A2BC @ =0x000005F7 + adds r0, r0, r1 + strb r4, [r0] + ldr r1, [r7] + adds r0, r1, #0 + adds r0, #0xfb + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0801A264 + ldr r3, _0801A2B8 @ =0x000005FA + adds r0, r1, r3 + strb r4, [r0] _0801A264: - ldr r3, [r7] - adds r1, r3, #0 - adds r1, #0xe6 - ldrh r4, [r1] - movs r5, #0 - ldrsh r0, [r1, r5] - cmp r0, #0 - bge _0801A2B2 - adds r0, r3, #0 - adds r0, #0xee - ldrh r0, [r0] - adds r0, r4, r0 - movs r4, #0 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - blt _0801A2B2 - movs r0, #0 - strh r0, [r1] - strb r4, [r3, #0x1f] - ldrb r1, [r2, #0xf] - movs r0, #0xfe - ands r0, r1 - strb r0, [r2, #0xf] - ldr r0, [r7] - ldr r6, _0801A2BC @ =0x000005F7 - adds r0, r0, r6 - strb r4, [r0] - ldr r1, [r7] - adds r0, r1, #0 - adds r0, #0xfb - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0801A2B2 - ldr r2, _0801A2B8 @ =0x000005FA - adds r0, r1, r2 - strb r4, [r0] + ldr r3, [r7] + adds r1, r3, #0 + adds r1, #0xe6 + ldrh r4, [r1] + movs r5, #0 + ldrsh r0, [r1, r5] + cmp r0, #0 + bge _0801A2B2 + adds r0, r3, #0 + adds r0, #0xee + ldrh r0, [r0] + adds r0, r4, r0 + movs r4, #0 + strh r0, [r1] + lsls r0, r0, #0x10 + cmp r0, #0 + blt _0801A2B2 + movs r0, #0 + strh r0, [r1] + strb r4, [r3, #0x1f] + ldrb r1, [r2, #0xf] + movs r0, #0xfe + ands r0, r1 + strb r0, [r2, #0xf] + ldr r0, [r7] + ldr r6, _0801A2BC @ =0x000005F7 + adds r0, r0, r6 + strb r4, [r0] + ldr r1, [r7] + adds r0, r1, #0 + adds r0, #0xfb + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0801A2B2 + ldr r2, _0801A2B8 @ =0x000005FA + adds r0, r1, r2 + strb r4, [r0] _0801A2B2: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0801A2B8: .4byte 0x000005FA _0801A2BC: .4byte 0x000005F7 - thumb_func_start sub_1A2C0 + thumb_func_start sub_1A2C0 sub_1A2C0: @ 0x0801A2C0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r2, _0801A328 @ =0x020314E0 - ldr r4, [r2] - adds r5, r4, #0 - adds r5, #0xf2 - movs r0, #0 - ldrsb r0, [r5, r0] - subs r0, #1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r0, [sp] - ldr r1, _0801A32C @ =0x0200B0C0 - ldr r0, [r1, #0x44] - ldr r0, [r0, #0x2c] - mov r8, r0 - ldr r0, [r1, #0x4c] - movs r7, #7 - ands r0, r7 - lsrs r3, r0, #2 - mov r6, r8 - ldrh r0, [r6] - mov sb, r1 - cmp r0, #0 - bne _0801A2FC - b _0801A974 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r2, _0801A328 @ =0x020314E0 + ldr r4, [r2] + adds r5, r4, #0 + adds r5, #0xf2 + movs r0, #0 + ldrsb r0, [r5, r0] + subs r0, #1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r0, [sp] + ldr r1, _0801A32C @ =0x0200B0C0 + ldr r0, [r1, #0x44] + ldr r0, [r0, #0x2c] + mov r8, r0 + ldr r0, [r1, #0x4c] + movs r7, #7 + ands r0, r7 + lsrs r3, r0, #2 + mov r6, r8 + ldrh r0, [r6] + mov sb, r1 + cmp r0, #0 + bne _0801A2FC + b _0801A974 _0801A2FC: - movs r6, #0 - movs r0, #0 - mov r1, r8 - strh r0, [r1, #2] - movs r0, #0xc8 - strh r0, [r1, #4] - movs r1, #0 - ldrsb r1, [r5, r1] - cmp r1, #4 - bne _0801A3EC - adds r0, r4, #0 - adds r0, #0xea - ldrh r5, [r0] - cmp r5, #0 - beq _0801A330 - movs r0, #0xb9 - lsls r0, r0, #1 - mov r2, r8 - strh r0, [r2, #2] - movs r0, #0x2c - strh r0, [r2, #4] - b _0801A8B8 - .align 2, 0 + movs r6, #0 + movs r0, #0 + mov r1, r8 + strh r0, [r1, #2] + movs r0, #0xc8 + strh r0, [r1, #4] + movs r1, #0 + ldrsb r1, [r5, r1] + cmp r1, #4 + bne _0801A3EC + adds r0, r4, #0 + adds r0, #0xea + ldrh r5, [r0] + cmp r5, #0 + beq _0801A330 + movs r0, #0xb9 + lsls r0, r0, #1 + mov r2, r8 + strh r0, [r2, #2] + movs r0, #0x2c + strh r0, [r2, #4] + b _0801A8B8 + .align 2, 0 _0801A328: .4byte 0x020314E0 _0801A32C: .4byte 0x0200B0C0 _0801A330: - adds r0, r4, #0 - adds r0, #0xe4 - strb r1, [r0] - ldr r1, _0801A3AC @ =0x040000D4 - ldr r2, _0801A3B0 @ =0x086ACEF8 - ldr r3, _0801A3B4 @ =0x020314E0 - 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, _0801A3B8 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _0801A3BC @ =0x800012F0 - str r0, [r1, #8] - ldr r0, [r1, #8] - bl sub_2CD98 - ldr r4, _0801A3B4 @ =0x020314E0 - ldr r3, [r4] - adds r1, r3, #0 - adds r1, #0xf4 - ldrh r2, [r1] - movs r7, #0 - ldrsh r0, [r1, r7] - cmp r0, #0 - ble _0801A3C0 - subs r0, r2, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x77 - bne _0801A384 - bl m4aMPlayAllStop - movs r0, #0x10 - bl m4aSongNumStart + adds r0, r4, #0 + adds r0, #0xe4 + strb r1, [r0] + ldr r1, _0801A3AC @ =0x040000D4 + ldr r2, _0801A3B0 @ =0x086ACEF8 + ldr r3, _0801A3B4 @ =0x020314E0 + 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, _0801A3B8 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _0801A3BC @ =0x800012F0 + str r0, [r1, #8] + ldr r0, [r1, #8] + bl sub_2CD98 + ldr r4, _0801A3B4 @ =0x020314E0 + ldr r3, [r4] + adds r1, r3, #0 + adds r1, #0xf4 + ldrh r2, [r1] + movs r7, #0 + ldrsh r0, [r1, r7] + cmp r0, #0 + ble _0801A3C0 + subs r0, r2, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x77 + bne _0801A384 + bl m4aMPlayAllStop + movs r0, #0x10 + bl m4aSongNumStart _0801A384: - ldr r0, _0801A3B4 @ =0x020314E0 - ldr r1, [r0] - adds r1, #0xf6 - ldrh r0, [r1] - subs r0, #0x28 - strh r0, [r1] - movs r2, #0 - ldrsh r0, [r1, r2] - movs r1, #0xa - bl __divsi3 - movs r3, #0xb9 - lsls r3, r3, #1 - adds r0, r0, r3 - mov r4, r8 - strh r0, [r4, #2] - movs r0, #0x2c - strh r0, [r4, #4] - b _0801A8B8 - .align 2, 0 + ldr r0, _0801A3B4 @ =0x020314E0 + ldr r1, [r0] + adds r1, #0xf6 + ldrh r0, [r1] + subs r0, #0x28 + strh r0, [r1] + movs r2, #0 + ldrsh r0, [r1, r2] + movs r1, #0xa + bl __divsi3 + movs r3, #0xb9 + lsls r3, r3, #1 + adds r0, r0, r3 + mov r4, r8 + strh r0, [r4, #2] + movs r0, #0x2c + strh r0, [r4, #4] + b _0801A8B8 + .align 2, 0 _0801A3AC: .4byte 0x040000D4 _0801A3B0: .4byte 0x086ACEF8 _0801A3B4: .4byte 0x020314E0 _0801A3B8: .4byte 0x06015800 _0801A3BC: .4byte 0x800012F0 _0801A3C0: - ldr r0, _0801A3E4 @ =0x0000FF92 - mov r7, r8 - strh r0, [r7, #2] - movs r0, #0x2c - strh r0, [r7, #4] - mov r1, sb - ldr r0, [r1, #0x44] - ldr r0, [r0, #0x2c] - strh r5, [r0] - adds r0, r3, #0 - adds r0, #0xf2 - strb r6, [r0] - ldr r2, _0801A3E8 @ =0x020314E0 - ldr r0, [r2] - adds r0, #0xe4 - strb r6, [r0] - b _0801A8B8 - .align 2, 0 + ldr r0, _0801A3E4 @ =0x0000FF92 + mov r7, r8 + strh r0, [r7, #2] + movs r0, #0x2c + strh r0, [r7, #4] + mov r1, sb + ldr r0, [r1, #0x44] + ldr r0, [r0, #0x2c] + strh r5, [r0] + adds r0, r3, #0 + adds r0, #0xf2 + strb r6, [r0] + ldr r2, _0801A3E8 @ =0x020314E0 + ldr r0, [r2] + adds r0, #0xe4 + strb r6, [r0] + b _0801A8B8 + .align 2, 0 _0801A3E4: .4byte 0x0000FF92 _0801A3E8: .4byte 0x020314E0 _0801A3EC: - adds r0, r4, #0 - adds r0, #0xe4 - movs r4, #4 - mov sl, r4 - mov r5, sl - strb r5, [r0] - ldr r6, _0801A4D8 @ =0x040000D4 - ldr r1, _0801A4DC @ =0x086ACEF8 - ldr r2, _0801A4E0 @ =0x020314E0 - ldr r0, [r2] - adds r0, #0xf2 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #2 - adds r2, r2, r1 - adds r1, r3, #0 - lsls r0, r1, #4 - adds r0, r0, r1 - lsls r0, r0, #3 - subs r0, r0, r1 - lsls r0, r0, #6 - ldr r1, [r2] - adds r1, r1, r0 - str r1, [r6] - ldr r0, _0801A4E4 @ =0x06015800 - str r0, [r6, #4] - ldr r0, _0801A4E8 @ =0x800010E0 - str r0, [r6, #8] - ldr r0, [r6, #8] - ldr r3, _0801A4E0 @ =0x020314E0 - ldr r5, [r3] - adds r1, r5, #0 - adds r1, #0xf4 - ldrh r2, [r1] - movs r4, #0 - ldrsh r0, [r1, r4] - cmp r0, #0 - bgt _0801A43A - b _0801A6C8 + adds r0, r4, #0 + adds r0, #0xe4 + movs r4, #4 + mov sl, r4 + mov r5, sl + strb r5, [r0] + ldr r6, _0801A4D8 @ =0x040000D4 + ldr r1, _0801A4DC @ =0x086ACEF8 + ldr r2, _0801A4E0 @ =0x020314E0 + ldr r0, [r2] + adds r0, #0xf2 + movs r2, #0 + ldrsb r2, [r0, r2] + lsls r2, r2, #2 + adds r2, r2, r1 + adds r1, r3, #0 + lsls r0, r1, #4 + adds r0, r0, r1 + lsls r0, r0, #3 + subs r0, r0, r1 + lsls r0, r0, #6 + ldr r1, [r2] + adds r1, r1, r0 + str r1, [r6] + ldr r0, _0801A4E4 @ =0x06015800 + str r0, [r6, #4] + ldr r0, _0801A4E8 @ =0x800010E0 + str r0, [r6, #8] + ldr r0, [r6, #8] + ldr r3, _0801A4E0 @ =0x020314E0 + ldr r5, [r3] + adds r1, r5, #0 + adds r1, #0xf4 + ldrh r2, [r1] + movs r4, #0 + ldrsh r0, [r1, r4] + cmp r0, #0 + bgt _0801A43A + b _0801A6C8 _0801A43A: - subs r0, r2, #1 - strh r0, [r1] - adds r0, r5, #0 - adds r0, #0xf0 - ldrh r0, [r0] - cmp r0, #0 - bne _0801A44A - b _0801A692 + subs r0, r2, #1 + strh r0, [r1] + adds r0, r5, #0 + adds r0, #0xf0 + ldrh r0, [r0] + cmp r0, #0 + bne _0801A44A + b _0801A692 _0801A44A: - cmp r0, #0x28 - bne _0801A456 - ldr r0, _0801A4EC @ =0x02032F20 - ldr r1, _0801A4F0 @ =0x0869F7C8 - bl MPlayStart + cmp r0, #0x28 + bne _0801A456 + ldr r0, _0801A4EC @ =0x02032F20 + ldr r1, _0801A4F0 @ =0x0869F7C8 + bl MPlayStart _0801A456: - ldr r5, _0801A4E0 @ =0x020314E0 - ldr r2, [r5] - adds r1, r2, #0 - adds r1, #0xf0 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xf - bhi _0801A474 - adds r1, #6 - ldrh r0, [r1] - adds r0, #0xa0 - strh r0, [r1] + ldr r5, _0801A4E0 @ =0x020314E0 + ldr r2, [r5] + adds r1, r2, #0 + adds r1, #0xf0 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0xf + bhi _0801A474 + adds r1, #6 + ldrh r0, [r1] + adds r0, #0xa0 + strh r0, [r1] _0801A474: - ldr r6, _0801A4E0 @ =0x020314E0 - ldr r2, [r6] - adds r1, r2, #0 - adds r1, #0xf0 - ldrh r3, [r1] - adds r0, r3, #0 - subs r0, #0x21 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #7 - bls _0801A48C - b _0801A67A + ldr r6, _0801A4E0 @ =0x020314E0 + ldr r2, [r6] + adds r1, r2, #0 + adds r1, #0xf0 + ldrh r3, [r1] + adds r0, r3, #0 + subs r0, #0x21 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #7 + bls _0801A48C + b _0801A67A _0801A48C: - cmp r3, #0x24 - bls _0801A492 - b _0801A5A0 + cmp r3, #0x24 + bls _0801A492 + b _0801A5A0 _0801A492: - mov r3, sb - ldrh r0, [r3, #0x3c] - strh r7, [r3, #0x3c] - ldrh r0, [r1] - cmp r0, #0x23 - bls _0801A4A0 - b _0801A67A + mov r3, sb + ldrh r0, [r3, #0x3c] + strh r7, [r3, #0x3c] + ldrh r0, [r1] + cmp r0, #0x23 + bls _0801A4A0 + b _0801A67A _0801A4A0: - adds r0, r2, #0 - adds r0, #0x25 - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #3 - bne _0801A4BA - ldr r4, _0801A4F4 @ =0x000001A5 - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - beq _0801A4C8 + adds r0, r2, #0 + adds r0, #0x25 + movs r1, #0 + ldrsb r1, [r0, r1] + cmp r1, #3 + bne _0801A4BA + ldr r4, _0801A4F4 @ =0x000001A5 + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + beq _0801A4C8 _0801A4BA: - cmp r1, #4 - bne _0801A500 - ldr r5, _0801A4F8 @ =0x000006DC - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, #9 - bne _0801A500 + cmp r1, #4 + bne _0801A500 + ldr r5, _0801A4F8 @ =0x000006DC + adds r0, r2, r5 + ldrb r0, [r0] + cmp r0, #9 + bne _0801A500 _0801A4C8: - ldr r0, _0801A4E0 @ =0x020314E0 - ldr r1, [r0] - adds r1, #0x70 - movs r2, #0 - strb r2, [r1] - ldr r2, _0801A4FC @ =0x02031520 - b _0801A51C - .align 2, 0 + ldr r0, _0801A4E0 @ =0x020314E0 + ldr r1, [r0] + adds r1, #0x70 + movs r2, #0 + strb r2, [r1] + ldr r2, _0801A4FC @ =0x02031520 + b _0801A51C + .align 2, 0 _0801A4D8: .4byte 0x040000D4 _0801A4DC: .4byte 0x086ACEF8 _0801A4E0: .4byte 0x020314E0 @@ -51929,34 +51929,34 @@ _0801A4F4: .4byte 0x000001A5 _0801A4F8: .4byte 0x000006DC _0801A4FC: .4byte 0x02031520 _0801A500: - ldr r3, _0801A534 @ =0x020314E0 - ldr r0, [r3] - adds r0, #0x70 - movs r1, #1 - strb r1, [r0] - ldr r1, _0801A538 @ =0x040000D4 - ldr r2, _0801A53C @ =0x02031520 - ldr r0, [r2, #0x34] - str r0, [r1] - ldr r0, _0801A540 @ =0x05000200 - str r0, [r1, #4] - ldr r0, _0801A544 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r3, _0801A534 @ =0x020314E0 + ldr r0, [r3] + adds r0, #0x70 + movs r1, #1 + strb r1, [r0] + ldr r1, _0801A538 @ =0x040000D4 + ldr r2, _0801A53C @ =0x02031520 + ldr r0, [r2, #0x34] + str r0, [r1] + ldr r0, _0801A540 @ =0x05000200 + str r0, [r1, #4] + ldr r0, _0801A544 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] _0801A51C: - ldr r0, _0801A548 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #1 - bne _0801A554 - ldr r1, _0801A538 @ =0x040000D4 - ldr r0, [r2, #0x34] - adds r0, #0x40 - str r0, [r1] - ldr r0, _0801A54C @ =0x05000240 - str r0, [r1, #4] - ldr r0, _0801A550 @ =0x80000060 - b _0801A562 - .align 2, 0 + ldr r0, _0801A548 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #1 + bne _0801A554 + ldr r1, _0801A538 @ =0x040000D4 + ldr r0, [r2, #0x34] + adds r0, #0x40 + str r0, [r1] + ldr r0, _0801A54C @ =0x05000240 + str r0, [r1, #4] + ldr r0, _0801A550 @ =0x80000060 + b _0801A562 + .align 2, 0 _0801A534: .4byte 0x020314E0 _0801A538: .4byte 0x040000D4 _0801A53C: .4byte 0x02031520 @@ -51966,33 +51966,33 @@ _0801A548: .4byte 0x0200B0C0 _0801A54C: .4byte 0x05000240 _0801A550: .4byte 0x80000060 _0801A554: - ldr r1, _0801A588 @ =0x040000D4 - ldr r0, [r2, #0x34] - adds r0, #0x40 - str r0, [r1] - ldr r0, _0801A58C @ =0x05000240 - str r0, [r1, #4] - ldr r0, _0801A590 @ =0x80000070 + ldr r1, _0801A588 @ =0x040000D4 + ldr r0, [r2, #0x34] + adds r0, #0x40 + str r0, [r1] + ldr r0, _0801A58C @ =0x05000240 + str r0, [r1, #4] + ldr r0, _0801A590 @ =0x80000070 _0801A562: - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r1, _0801A588 @ =0x040000D4 - ldr r0, [r2, #0x34] - movs r6, #0xa0 - lsls r6, r6, #1 - adds r0, r0, r6 - str r0, [r1] - ldr r0, _0801A594 @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0801A598 @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r7, _0801A59C @ =0x020314E0 - ldr r0, [r7] - adds r0, #0x6f - movs r1, #2 - b _0801A678 - .align 2, 0 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r1, _0801A588 @ =0x040000D4 + ldr r0, [r2, #0x34] + movs r6, #0xa0 + lsls r6, r6, #1 + adds r0, r0, r6 + str r0, [r1] + ldr r0, _0801A594 @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0801A598 @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r7, _0801A59C @ =0x020314E0 + ldr r0, [r7] + adds r0, #0x6f + movs r1, #2 + b _0801A678 + .align 2, 0 _0801A588: .4byte 0x040000D4 _0801A58C: .4byte 0x05000240 _0801A590: .4byte 0x80000070 @@ -52000,76 +52000,76 @@ _0801A594: .4byte 0x05000340 _0801A598: .4byte 0x80000030 _0801A59C: .4byte 0x020314E0 _0801A5A0: - mov r3, sb - ldrh r0, [r3, #0x3c] - mov r4, sl - strh r4, [r3, #0x3c] - ldrh r0, [r1] - cmp r0, #0x27 - bhi _0801A67A - adds r0, r2, #0 - adds r0, #0x25 - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #3 - bne _0801A5C8 - ldr r5, _0801A5E4 @ =0x000001A5 - adds r0, r2, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - beq _0801A5D6 + mov r3, sb + ldrh r0, [r3, #0x3c] + mov r4, sl + strh r4, [r3, #0x3c] + ldrh r0, [r1] + cmp r0, #0x27 + bhi _0801A67A + adds r0, r2, #0 + adds r0, #0x25 + movs r1, #0 + ldrsb r1, [r0, r1] + cmp r1, #3 + bne _0801A5C8 + ldr r5, _0801A5E4 @ =0x000001A5 + adds r0, r2, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + beq _0801A5D6 _0801A5C8: - cmp r1, #4 - bne _0801A5F4 - ldr r6, _0801A5E8 @ =0x000006DC - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, #9 - bne _0801A5F4 + cmp r1, #4 + bne _0801A5F4 + ldr r6, _0801A5E8 @ =0x000006DC + adds r0, r2, r6 + ldrb r0, [r0] + cmp r0, #9 + bne _0801A5F4 _0801A5D6: - ldr r0, _0801A5EC @ =0x020314E0 - ldr r1, [r0] - adds r1, #0x70 - movs r2, #0 - strb r2, [r1] - ldr r2, _0801A5F0 @ =0x02031520 - b _0801A610 - .align 2, 0 + ldr r0, _0801A5EC @ =0x020314E0 + ldr r1, [r0] + adds r1, #0x70 + movs r2, #0 + strb r2, [r1] + ldr r2, _0801A5F0 @ =0x02031520 + b _0801A610 + .align 2, 0 _0801A5E4: .4byte 0x000001A5 _0801A5E8: .4byte 0x000006DC _0801A5EC: .4byte 0x020314E0 _0801A5F0: .4byte 0x02031520 _0801A5F4: - ldr r3, _0801A628 @ =0x020314E0 - ldr r0, [r3] - adds r0, #0x70 - movs r1, #1 - strb r1, [r0] - ldr r1, _0801A62C @ =0x040000D4 - ldr r2, _0801A630 @ =0x02031520 - ldr r0, [r2, #0x30] - str r0, [r1] - ldr r0, _0801A634 @ =0x05000200 - str r0, [r1, #4] - ldr r0, _0801A638 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r3, _0801A628 @ =0x020314E0 + ldr r0, [r3] + adds r0, #0x70 + movs r1, #1 + strb r1, [r0] + ldr r1, _0801A62C @ =0x040000D4 + ldr r2, _0801A630 @ =0x02031520 + ldr r0, [r2, #0x30] + str r0, [r1] + ldr r0, _0801A634 @ =0x05000200 + str r0, [r1, #4] + ldr r0, _0801A638 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] _0801A610: - ldr r0, _0801A63C @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #1 - bne _0801A648 - ldr r1, _0801A62C @ =0x040000D4 - ldr r0, [r2, #0x30] - adds r0, #0x40 - str r0, [r1] - ldr r0, _0801A640 @ =0x05000240 - str r0, [r1, #4] - ldr r0, _0801A644 @ =0x80000060 - b _0801A656 - .align 2, 0 + ldr r0, _0801A63C @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #1 + bne _0801A648 + ldr r1, _0801A62C @ =0x040000D4 + ldr r0, [r2, #0x30] + adds r0, #0x40 + str r0, [r1] + ldr r0, _0801A640 @ =0x05000240 + str r0, [r1, #4] + ldr r0, _0801A644 @ =0x80000060 + b _0801A656 + .align 2, 0 _0801A628: .4byte 0x020314E0 _0801A62C: .4byte 0x040000D4 _0801A630: .4byte 0x02031520 @@ -52079,61 +52079,61 @@ _0801A63C: .4byte 0x0200B0C0 _0801A640: .4byte 0x05000240 _0801A644: .4byte 0x80000060 _0801A648: - ldr r1, _0801A6B0 @ =0x040000D4 - ldr r0, [r2, #0x30] - adds r0, #0x40 - str r0, [r1] - ldr r0, _0801A6B4 @ =0x05000240 - str r0, [r1, #4] - ldr r0, _0801A6B8 @ =0x80000070 + ldr r1, _0801A6B0 @ =0x040000D4 + ldr r0, [r2, #0x30] + adds r0, #0x40 + str r0, [r1] + ldr r0, _0801A6B4 @ =0x05000240 + str r0, [r1, #4] + ldr r0, _0801A6B8 @ =0x80000070 _0801A656: - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r1, _0801A6B0 @ =0x040000D4 - ldr r0, [r2, #0x30] - movs r7, #0xa0 - lsls r7, r7, #1 - adds r0, r0, r7 - str r0, [r1] - ldr r0, _0801A6BC @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0801A6C0 @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r1, _0801A6C4 @ =0x020314E0 - ldr r0, [r1] - adds r0, #0x6f - movs r1, #1 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r1, _0801A6B0 @ =0x040000D4 + ldr r0, [r2, #0x30] + movs r7, #0xa0 + lsls r7, r7, #1 + adds r0, r0, r7 + str r0, [r1] + ldr r0, _0801A6BC @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0801A6C0 @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r1, _0801A6C4 @ =0x020314E0 + ldr r0, [r1] + adds r0, #0x6f + movs r1, #1 _0801A678: - strb r1, [r0] + strb r1, [r0] _0801A67A: - ldr r2, _0801A6C4 @ =0x020314E0 - ldr r1, [r2] - adds r0, r1, #0 - adds r0, #0xf0 - ldrh r2, [r0] - cmp r2, #0 - bne _0801A692 - adds r0, #6 - strh r2, [r0] - adds r1, #0xf8 - movs r0, #0x3c - strh r0, [r1] + ldr r2, _0801A6C4 @ =0x020314E0 + ldr r1, [r2] + adds r0, r1, #0 + adds r0, #0xf0 + ldrh r2, [r0] + cmp r2, #0 + bne _0801A692 + adds r0, #6 + strh r2, [r0] + adds r1, #0xf8 + movs r0, #0x3c + strh r0, [r1] _0801A692: - ldr r3, _0801A6C4 @ =0x020314E0 - ldr r0, [r3] - adds r0, #0xf6 - movs r4, #0 - ldrsh r0, [r0, r4] - movs r1, #0xa - bl __divsi3 - adds r0, #0x7f - mov r5, r8 - strh r0, [r5, #2] - movs r0, #0x2c - strh r0, [r5, #4] - b _0801A8B8 - .align 2, 0 + ldr r3, _0801A6C4 @ =0x020314E0 + ldr r0, [r3] + adds r0, #0xf6 + movs r4, #0 + ldrsh r0, [r0, r4] + movs r1, #0xa + bl __divsi3 + adds r0, #0x7f + mov r5, r8 + strh r0, [r5, #2] + movs r0, #0x2c + strh r0, [r5, #4] + b _0801A8B8 + .align 2, 0 _0801A6B0: .4byte 0x040000D4 _0801A6B4: .4byte 0x05000240 _0801A6B8: .4byte 0x80000070 @@ -52141,88 +52141,88 @@ _0801A6BC: .4byte 0x05000340 _0801A6C0: .4byte 0x80000030 _0801A6C4: .4byte 0x020314E0 _0801A6C8: - adds r7, r5, #0 - adds r7, #0xf0 - ldrh r0, [r7] - cmp r0, #0x1d - bls _0801A6D4 - b _0801A8B8 + adds r7, r5, #0 + adds r7, #0xf0 + ldrh r0, [r7] + cmp r0, #0x1d + bls _0801A6D4 + b _0801A8B8 _0801A6D4: - adds r1, r5, #0 - adds r1, #0xf6 - adds r4, r5, #0 - adds r4, #0xf8 - ldrh r0, [r4] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - movs r3, #0 - ldrsh r0, [r1, r3] - movs r1, #0xa - bl __divsi3 - adds r0, #0x7f - mov r1, r8 - strh r0, [r1, #2] - movs r0, #0x2c - strh r0, [r1, #4] - ldrh r0, [r7] - adds r0, #1 - strh r0, [r7] - ldrh r0, [r4] - subs r0, #0xa - strh r0, [r4] - ldrh r0, [r7] - cmp r0, #0x18 - bls _0801A7CE - adds r0, r5, #0 - adds r0, #0x25 - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #3 - bne _0801A724 - ldr r2, _0801A768 @ =0x000001A5 - adds r0, r5, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - beq _0801A7CE + adds r1, r5, #0 + adds r1, #0xf6 + adds r4, r5, #0 + adds r4, #0xf8 + ldrh r0, [r4] + ldrh r2, [r1] + adds r0, r0, r2 + strh r0, [r1] + movs r3, #0 + ldrsh r0, [r1, r3] + movs r1, #0xa + bl __divsi3 + adds r0, #0x7f + mov r1, r8 + strh r0, [r1, #2] + movs r0, #0x2c + strh r0, [r1, #4] + ldrh r0, [r7] + adds r0, #1 + strh r0, [r7] + ldrh r0, [r4] + subs r0, #0xa + strh r0, [r4] + ldrh r0, [r7] + cmp r0, #0x18 + bls _0801A7CE + adds r0, r5, #0 + adds r0, #0x25 + movs r1, #0 + ldrsb r1, [r0, r1] + cmp r1, #3 + bne _0801A724 + ldr r2, _0801A768 @ =0x000001A5 + adds r0, r5, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + beq _0801A7CE _0801A724: - cmp r1, #4 - bne _0801A732 - ldr r3, _0801A76C @ =0x000006DC - adds r0, r5, r3 - ldrb r0, [r0] - cmp r0, #9 - beq _0801A7CE + cmp r1, #4 + bne _0801A732 + ldr r3, _0801A76C @ =0x000006DC + adds r0, r5, r3 + ldrb r0, [r0] + cmp r0, #9 + beq _0801A7CE _0801A732: - mov r4, sb - ldrh r0, [r4, #0x3c] - mov r5, sl - strh r5, [r4, #0x3c] - ldrh r0, [r7] - cmp r0, #0x19 - bls _0801A7BA - ldr r1, _0801A770 @ =0x02031520 - ldr r3, [r1, #0x30] - str r3, [r6] - ldr r0, _0801A774 @ =0x05000200 - str r0, [r6, #4] - ldr r0, _0801A778 @ =0x80000010 - str r0, [r6, #8] - ldr r0, [r6, #8] - ldrb r0, [r4, #4] - adds r2, r1, #0 - cmp r0, #1 - bne _0801A784 - adds r0, r3, #0 - adds r0, #0x40 - str r0, [r6] - ldr r0, _0801A77C @ =0x05000240 - str r0, [r6, #4] - ldr r0, _0801A780 @ =0x80000060 - b _0801A790 - .align 2, 0 + mov r4, sb + ldrh r0, [r4, #0x3c] + mov r5, sl + strh r5, [r4, #0x3c] + ldrh r0, [r7] + cmp r0, #0x19 + bls _0801A7BA + ldr r1, _0801A770 @ =0x02031520 + ldr r3, [r1, #0x30] + str r3, [r6] + ldr r0, _0801A774 @ =0x05000200 + str r0, [r6, #4] + ldr r0, _0801A778 @ =0x80000010 + str r0, [r6, #8] + ldr r0, [r6, #8] + ldrb r0, [r4, #4] + adds r2, r1, #0 + cmp r0, #1 + bne _0801A784 + adds r0, r3, #0 + adds r0, #0x40 + str r0, [r6] + ldr r0, _0801A77C @ =0x05000240 + str r0, [r6, #4] + ldr r0, _0801A780 @ =0x80000060 + b _0801A790 + .align 2, 0 _0801A768: .4byte 0x000001A5 _0801A76C: .4byte 0x000006DC _0801A770: .4byte 0x02031520 @@ -52231,114 +52231,114 @@ _0801A778: .4byte 0x80000010 _0801A77C: .4byte 0x05000240 _0801A780: .4byte 0x80000060 _0801A784: - adds r0, r3, #0 - adds r0, #0x40 - str r0, [r6] - ldr r0, _0801A850 @ =0x05000240 - str r0, [r6, #4] - ldr r0, _0801A854 @ =0x80000070 + adds r0, r3, #0 + adds r0, #0x40 + str r0, [r6] + ldr r0, _0801A850 @ =0x05000240 + str r0, [r6, #4] + ldr r0, _0801A854 @ =0x80000070 _0801A790: - str r0, [r6, #8] - ldr r0, [r6, #8] - ldr r1, _0801A858 @ =0x040000D4 - ldr r0, [r2, #0x30] - movs r6, #0xa0 - lsls r6, r6, #1 - adds r0, r0, r6 - str r0, [r1] - ldr r0, _0801A85C @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0801A860 @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r7, _0801A864 @ =0x020314E0 - ldr r0, [r7] - adds r0, #0x6f - movs r1, #1 - strb r1, [r0] - ldr r0, [r7] - adds r0, #0x70 - strb r1, [r0] + str r0, [r6, #8] + ldr r0, [r6, #8] + ldr r1, _0801A858 @ =0x040000D4 + ldr r0, [r2, #0x30] + movs r6, #0xa0 + lsls r6, r6, #1 + adds r0, r0, r6 + str r0, [r1] + ldr r0, _0801A85C @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0801A860 @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r7, _0801A864 @ =0x020314E0 + ldr r0, [r7] + adds r0, #0x6f + movs r1, #1 + strb r1, [r0] + ldr r0, [r7] + adds r0, #0x70 + strb r1, [r0] _0801A7BA: - ldr r1, _0801A864 @ =0x020314E0 - ldr r0, [r1] - adds r0, #0xf0 - ldrh r0, [r0] - cmp r0, #0x1d - bne _0801A7CE - mov r2, sb - ldrh r0, [r2, #0x3c] - movs r0, #0 - strh r0, [r2, #0x3c] + ldr r1, _0801A864 @ =0x020314E0 + ldr r0, [r1] + adds r0, #0xf0 + ldrh r0, [r0] + cmp r0, #0x1d + bne _0801A7CE + mov r2, sb + ldrh r0, [r2, #0x3c] + movs r0, #0 + strh r0, [r2, #0x3c] _0801A7CE: - ldr r3, _0801A864 @ =0x020314E0 - ldr r2, [r3] - adds r0, r2, #0 - adds r0, #0xf0 - ldrh r0, [r0] - cmp r0, #0x1e - bne _0801A8B8 - mov r4, sb - ldr r0, [r4, #0x44] - ldr r0, [r0, #0x2c] - movs r1, #0 - movs r3, #0 - strh r3, [r0] - adds r0, r2, #0 - adds r0, #0xf2 - strb r1, [r0] - ldr r5, _0801A864 @ =0x020314E0 - ldr r0, [r5] - adds r0, #0xe4 - strb r1, [r0] - ldr r1, [r5] - adds r0, r1, #0 - adds r0, #0x25 - movs r2, #0 - ldrsb r2, [r0, r2] - cmp r2, #3 - bne _0801A812 - ldr r6, _0801A868 @ =0x000001A5 - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - beq _0801A8B8 + ldr r3, _0801A864 @ =0x020314E0 + ldr r2, [r3] + adds r0, r2, #0 + adds r0, #0xf0 + ldrh r0, [r0] + cmp r0, #0x1e + bne _0801A8B8 + mov r4, sb + ldr r0, [r4, #0x44] + ldr r0, [r0, #0x2c] + movs r1, #0 + movs r3, #0 + strh r3, [r0] + adds r0, r2, #0 + adds r0, #0xf2 + strb r1, [r0] + ldr r5, _0801A864 @ =0x020314E0 + ldr r0, [r5] + adds r0, #0xe4 + strb r1, [r0] + ldr r1, [r5] + adds r0, r1, #0 + adds r0, #0x25 + movs r2, #0 + ldrsb r2, [r0, r2] + cmp r2, #3 + bne _0801A812 + ldr r6, _0801A868 @ =0x000001A5 + adds r0, r1, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + beq _0801A8B8 _0801A812: - cmp r2, #4 - bne _0801A820 - ldr r7, _0801A86C @ =0x000006DC - adds r0, r1, r7 - ldrb r0, [r0] - cmp r0, #9 - beq _0801A8B8 + cmp r2, #4 + bne _0801A820 + ldr r7, _0801A86C @ =0x000006DC + adds r0, r1, r7 + ldrb r0, [r0] + cmp r0, #9 + beq _0801A8B8 _0801A820: - mov r1, sb - ldrh r0, [r1, #0x3c] - strh r3, [r1, #0x3c] - ldr r3, _0801A858 @ =0x040000D4 - ldr r1, _0801A870 @ =0x02031520 - ldr r4, [r1, #0x2c] - str r4, [r3] - ldr r0, _0801A874 @ =0x05000200 - str r0, [r3, #4] - ldr r0, _0801A878 @ =0x80000010 - str r0, [r3, #8] - ldr r0, [r3, #8] - mov r2, sb - ldrb r0, [r2, #4] - adds r2, r1, #0 - cmp r0, #1 - bne _0801A880 - adds r0, r4, #0 - adds r0, #0x40 - str r0, [r3] - ldr r0, _0801A850 @ =0x05000240 - str r0, [r3, #4] - ldr r0, _0801A87C @ =0x80000060 - b _0801A88C - .align 2, 0 + mov r1, sb + ldrh r0, [r1, #0x3c] + strh r3, [r1, #0x3c] + ldr r3, _0801A858 @ =0x040000D4 + ldr r1, _0801A870 @ =0x02031520 + ldr r4, [r1, #0x2c] + str r4, [r3] + ldr r0, _0801A874 @ =0x05000200 + str r0, [r3, #4] + ldr r0, _0801A878 @ =0x80000010 + str r0, [r3, #8] + ldr r0, [r3, #8] + mov r2, sb + ldrb r0, [r2, #4] + adds r2, r1, #0 + cmp r0, #1 + bne _0801A880 + adds r0, r4, #0 + adds r0, #0x40 + str r0, [r3] + ldr r0, _0801A850 @ =0x05000240 + str r0, [r3, #4] + ldr r0, _0801A87C @ =0x80000060 + b _0801A88C + .align 2, 0 _0801A850: .4byte 0x05000240 _0801A854: .4byte 0x80000070 _0801A858: .4byte 0x040000D4 @@ -52352,112 +52352,112 @@ _0801A874: .4byte 0x05000200 _0801A878: .4byte 0x80000010 _0801A87C: .4byte 0x80000060 _0801A880: - adds r0, r4, #0 - adds r0, #0x40 - str r0, [r3] - ldr r0, _0801A94C @ =0x05000240 - str r0, [r3, #4] - ldr r0, _0801A950 @ =0x80000070 + adds r0, r4, #0 + adds r0, #0x40 + str r0, [r3] + ldr r0, _0801A94C @ =0x05000240 + str r0, [r3, #4] + ldr r0, _0801A950 @ =0x80000070 _0801A88C: - str r0, [r3, #8] - ldr r0, [r3, #8] - ldr r1, _0801A954 @ =0x040000D4 - ldr r0, [r2, #0x2c] - movs r3, #0xa0 - lsls r3, r3, #1 - adds r0, r0, r3 - str r0, [r1] - ldr r0, _0801A958 @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0801A95C @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r4, _0801A960 @ =0x020314E0 - ldr r0, [r4] - adds r0, #0x6f - movs r1, #0 - strb r1, [r0] - ldr r0, [r4] - adds r0, #0x70 - movs r1, #1 - strb r1, [r0] + str r0, [r3, #8] + ldr r0, [r3, #8] + ldr r1, _0801A954 @ =0x040000D4 + ldr r0, [r2, #0x2c] + movs r3, #0xa0 + lsls r3, r3, #1 + adds r0, r0, r3 + str r0, [r1] + ldr r0, _0801A958 @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0801A95C @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r4, _0801A960 @ =0x020314E0 + ldr r0, [r4] + adds r0, #0x6f + movs r1, #0 + strb r1, [r0] + ldr r0, [r4] + adds r0, #0x70 + movs r1, #1 + strb r1, [r0] _0801A8B8: - movs r2, #0 - ldr r5, [sp] - lsls r1, r5, #0x10 - ldr r6, _0801A964 @ =0x03005000 - mov ip, r6 - ldr r7, _0801A968 @ =0x086B4568 - mov sl, r7 - asrs r1, r1, #0x10 - movs r0, #0x5a - adds r6, r1, #0 - muls r6, r0, r6 - ldr r0, _0801A96C @ =0xFFFFFE00 - mov sb, r0 + movs r2, #0 + ldr r5, [sp] + lsls r1, r5, #0x10 + ldr r6, _0801A964 @ =0x03005000 + mov ip, r6 + ldr r7, _0801A968 @ =0x086B4568 + mov sl, r7 + asrs r1, r1, #0x10 + movs r0, #0x5a + adds r6, r1, #0 + muls r6, r0, r6 + ldr r0, _0801A96C @ =0xFFFFFE00 + mov sb, r0 _0801A8D2: - lsls r3, r2, #0x10 - asrs r3, r3, #0x10 - lsls r4, r3, #3 - adds r4, #8 - add r4, r8 - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, ip - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - adds r0, r0, r6 - add r0, sl - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - adds r0, r0, r6 - add r0, sl - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - adds r1, r1, r6 - add r1, sl - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, ip - ldrh r5, [r2, #2] - lsls r1, r5, #0x17 - lsrs r1, r1, #0x17 - mov r7, r8 - movs r5, #2 - ldrsh r0, [r7, r5] - adds r1, r1, r0 - ldr r7, _0801A970 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, sb - ldrh r5, [r2, #2] - ands r0, r5 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, ip - mov r7, r8 - 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, #0xe - ble _0801A8D2 - b _0801A97A - .align 2, 0 + lsls r3, r2, #0x10 + asrs r3, r3, #0x10 + lsls r4, r3, #3 + adds r4, #8 + add r4, r8 + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, ip + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + adds r0, r0, r6 + add r0, sl + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + adds r0, r0, r6 + add r0, sl + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + adds r1, r1, r6 + add r1, sl + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, ip + ldrh r5, [r2, #2] + lsls r1, r5, #0x17 + lsrs r1, r1, #0x17 + mov r7, r8 + movs r5, #2 + ldrsh r0, [r7, r5] + adds r1, r1, r0 + ldr r7, _0801A970 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, sb + ldrh r5, [r2, #2] + ands r0, r5 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, ip + mov r7, r8 + 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, #0xe + ble _0801A8D2 + b _0801A97A + .align 2, 0 _0801A94C: .4byte 0x05000240 _0801A950: .4byte 0x80000070 _0801A954: .4byte 0x040000D4 @@ -52469,157 +52469,157 @@ _0801A968: .4byte 0x086B4568 _0801A96C: .4byte 0xFFFFFE00 _0801A970: .4byte 0x000001FF _0801A974: - movs r0, #1 - mov r3, r8 - strh r0, [r3] + movs r0, #1 + mov r3, r8 + strh r0, [r3] _0801A97A: - 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 - - thumb_func_start sub_1A98C + 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 + + thumb_func_start sub_1A98C sub_1A98C: @ 0x0801A98C - push {lr} - ldr r0, _0801A9B0 @ =0x0200B0C0 - ldrb r0, [r0, #0xf] - cmp r0, #0 - bne _0801A9E0 - ldr r0, _0801A9B4 @ =0x020314E0 - ldr r0, [r0] - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - beq _0801A9C8 - cmp r0, #2 - bgt _0801A9B8 - cmp r0, #1 - beq _0801A9C2 - b _0801A9D8 - .align 2, 0 + push {lr} + ldr r0, _0801A9B0 @ =0x0200B0C0 + ldrb r0, [r0, #0xf] + cmp r0, #0 + bne _0801A9E0 + ldr r0, _0801A9B4 @ =0x020314E0 + ldr r0, [r0] + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + beq _0801A9C8 + cmp r0, #2 + bgt _0801A9B8 + cmp r0, #1 + beq _0801A9C2 + b _0801A9D8 + .align 2, 0 _0801A9B0: .4byte 0x0200B0C0 _0801A9B4: .4byte 0x020314E0 _0801A9B8: - cmp r0, #3 - beq _0801A9CE - cmp r0, #4 - beq _0801A9D4 - b _0801A9D8 + cmp r0, #3 + beq _0801A9CE + cmp r0, #4 + beq _0801A9D4 + b _0801A9D8 _0801A9C2: - bl sub_1AA38 - b _0801A9D8 + bl sub_1AA38 + b _0801A9D8 _0801A9C8: - bl sub_1AD84 - b _0801A9D8 + bl sub_1AD84 + b _0801A9D8 _0801A9CE: - bl sub_1AF84 - b _0801A9D8 + bl sub_1AF84 + b _0801A9D8 _0801A9D4: - bl sub_1C560 + bl sub_1C560 _0801A9D8: - ldr r0, _0801A9E4 @ =0x020314E0 - ldr r1, [r0] - movs r0, #0x3c - strh r0, [r1, #0x26] + ldr r0, _0801A9E4 @ =0x020314E0 + ldr r1, [r0] + movs r0, #0x3c + strh r0, [r1, #0x26] _0801A9E0: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _0801A9E4: .4byte 0x020314E0 - thumb_func_start sub_1A9E8 + thumb_func_start sub_1A9E8 sub_1A9E8: @ 0x0801A9E8 - push {lr} - ldr r2, _0801AA10 @ =0x020314E0 - ldr r1, [r2] - ldrh r0, [r1, #0x26] - cmp r0, #0 - beq _0801A9F8 - subs r0, #1 - strh r0, [r1, #0x26] + push {lr} + ldr r2, _0801AA10 @ =0x020314E0 + ldr r1, [r2] + ldrh r0, [r1, #0x26] + cmp r0, #0 + beq _0801A9F8 + subs r0, #1 + strh r0, [r1, #0x26] _0801A9F8: - ldr r0, [r2] - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - beq _0801AA24 - cmp r0, #2 - bgt _0801AA14 - cmp r0, #1 - beq _0801AA1E - b _0801AA34 - .align 2, 0 + ldr r0, [r2] + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + beq _0801AA24 + cmp r0, #2 + bgt _0801AA14 + cmp r0, #1 + beq _0801AA1E + b _0801AA34 + .align 2, 0 _0801AA10: .4byte 0x020314E0 _0801AA14: - cmp r0, #3 - beq _0801AA2A - cmp r0, #4 - beq _0801AA30 - b _0801AA34 + cmp r0, #3 + beq _0801AA2A + cmp r0, #4 + beq _0801AA30 + b _0801AA34 _0801AA1E: - bl sub_1AAA0 - b _0801AA34 + bl sub_1AAA0 + b _0801AA34 _0801AA24: - bl sub_1ADF4 - b _0801AA34 + bl sub_1ADF4 + b _0801AA34 _0801AA2A: - bl sub_1AFD4 - b _0801AA34 + bl sub_1AFD4 + b _0801AA34 _0801AA30: - bl sub_1C5AC + bl sub_1C5AC _0801AA34: - pop {r0} - bx r0 + pop {r0} + bx r0 - thumb_func_start sub_1AA38 + thumb_func_start sub_1AA38 sub_1AA38: @ 0x0801AA38 - push {r4, lr} - ldr r4, _0801AA88 @ =0x020314E0 - ldr r0, [r4] - ldr r1, _0801AA8C @ =0x0000072F - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - ble _0801AA52 - movs r0, #4 - bl sub_19B64 + push {r4, lr} + ldr r4, _0801AA88 @ =0x020314E0 + ldr r0, [r4] + ldr r1, _0801AA8C @ =0x0000072F + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + ble _0801AA52 + movs r0, #4 + bl sub_19B64 _0801AA52: - ldr r0, [r4] - ldr r2, _0801AA90 @ =0x000005FC - adds r1, r0, r2 - movs r2, #0 - movs r3, #0 - strh r3, [r1] - ldr r1, _0801AA94 @ =0x000005FB - adds r0, r0, r1 - strb r2, [r0] - ldr r1, [r4] - ldr r2, _0801AA98 @ =0x000005FE - adds r0, r1, r2 - strh r3, [r0] - movs r0, #0x71 - strh r0, [r1, #0x28] - movs r0, #0xce - bl m4aSongNumStart - ldr r1, [r4] - ldr r0, _0801AA9C @ =0x0000C350 - str r0, [r1, #0x3c] - movs r0, #8 - bl sub_11B0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + ldr r0, [r4] + ldr r2, _0801AA90 @ =0x000005FC + adds r1, r0, r2 + movs r2, #0 + movs r3, #0 + strh r3, [r1] + ldr r1, _0801AA94 @ =0x000005FB + adds r0, r0, r1 + strb r2, [r0] + ldr r1, [r4] + ldr r2, _0801AA98 @ =0x000005FE + adds r0, r1, r2 + strh r3, [r0] + movs r0, #0x71 + strh r0, [r1, #0x28] + movs r0, #0xce + bl m4aSongNumStart + ldr r1, [r4] + ldr r0, _0801AA9C @ =0x0000C350 + str r0, [r1, #0x3c] + movs r0, #8 + bl sub_11B0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0801AA88: .4byte 0x020314E0 _0801AA8C: .4byte 0x0000072F _0801AA90: .4byte 0x000005FC @@ -52627,989 +52627,989 @@ _0801AA94: .4byte 0x000005FB _0801AA98: .4byte 0x000005FE _0801AA9C: .4byte 0x0000C350 - thumb_func_start sub_1AAA0 + thumb_func_start sub_1AAA0 sub_1AAA0: @ 0x0801AAA0 - push {r4, r5, r6, lr} - ldr r6, _0801AB04 @ =0x020314E0 - ldr r0, [r6] - mov ip, r0 - ldrh r0, [r0, #0x28] - cmp r0, #0 - bne _0801AAB0 - b _0801AD3C + push {r4, r5, r6, lr} + ldr r6, _0801AB04 @ =0x020314E0 + ldr r0, [r6] + mov ip, r0 + ldrh r0, [r0, #0x28] + cmp r0, #0 + bne _0801AAB0 + b _0801AD3C _0801AAB0: - subs r0, #1 - movs r3, #0 - movs r4, #0 - mov r1, ip - strh r0, [r1, #0x28] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x64 - bls _0801AB64 - ldr r0, _0801AB08 @ =0x000005F7 - add r0, ip - movs r1, #1 - strb r1, [r0] - ldr r0, [r6] - strb r1, [r0, #0x1f] - ldr r3, [r6] - ldr r5, _0801AB0C @ =0x0000132C - adds r2, r3, r5 - ldr r0, [r2] - strh r4, [r0, #0x30] - ldr r0, [r2] - strh r4, [r0, #0x32] - ldr r0, [r2] - strh r4, [r0, #6] - ldrh r0, [r3, #0x28] - cmp r0, #0x6c - bls _0801AB38 - ldr r2, _0801AB10 @ =0x000005FA - adds r0, r3, r2 - strb r1, [r0] - ldr r2, [r6] - ldrh r0, [r2, #0x28] - cmp r0, #0x6e - bls _0801AB14 - adds r2, r2, r5 - ldr r1, [r2] - movs r0, #0xc3 - strh r0, [r1, #0x10] - ldr r1, [r2] - movs r0, #0xde - b _0801AB20 - .align 2, 0 + subs r0, #1 + movs r3, #0 + movs r4, #0 + mov r1, ip + strh r0, [r1, #0x28] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x64 + bls _0801AB64 + ldr r0, _0801AB08 @ =0x000005F7 + add r0, ip + movs r1, #1 + strb r1, [r0] + ldr r0, [r6] + strb r1, [r0, #0x1f] + ldr r3, [r6] + ldr r5, _0801AB0C @ =0x0000132C + adds r2, r3, r5 + ldr r0, [r2] + strh r4, [r0, #0x30] + ldr r0, [r2] + strh r4, [r0, #0x32] + ldr r0, [r2] + strh r4, [r0, #6] + ldrh r0, [r3, #0x28] + cmp r0, #0x6c + bls _0801AB38 + ldr r2, _0801AB10 @ =0x000005FA + adds r0, r3, r2 + strb r1, [r0] + ldr r2, [r6] + ldrh r0, [r2, #0x28] + cmp r0, #0x6e + bls _0801AB14 + adds r2, r2, r5 + ldr r1, [r2] + movs r0, #0xc3 + strh r0, [r1, #0x10] + ldr r1, [r2] + movs r0, #0xde + b _0801AB20 + .align 2, 0 _0801AB04: .4byte 0x020314E0 _0801AB08: .4byte 0x000005F7 _0801AB0C: .4byte 0x0000132C _0801AB10: .4byte 0x000005FA _0801AB14: - adds r2, r2, r5 - ldr r1, [r2] - movs r0, #0xc4 - strh r0, [r1, #0x10] - ldr r1, [r2] - movs r0, #0xdd + adds r2, r2, r5 + ldr r1, [r2] + movs r0, #0xc4 + strh r0, [r1, #0x10] + ldr r1, [r2] + movs r0, #0xdd _0801AB20: - strh r0, [r1, #0x12] - ldr r0, _0801AB34 @ =0x020314E0 - ldr r0, [r0] - movs r3, #0xbd - lsls r3, r3, #2 - adds r0, r0, r3 - movs r1, #6 - strb r1, [r0] - b _0801ACFA - .align 2, 0 + strh r0, [r1, #0x12] + ldr r0, _0801AB34 @ =0x020314E0 + ldr r0, [r0] + movs r3, #0xbd + lsls r3, r3, #2 + adds r0, r0, r3 + movs r1, #6 + strb r1, [r0] + b _0801ACFA + .align 2, 0 _0801AB34: .4byte 0x020314E0 _0801AB38: - cmp r0, #0x68 - bls _0801AB52 - ldr r1, [r2] - movs r0, #0xc5 - strh r0, [r1, #0x10] - ldr r1, [r2] - movs r0, #0xdb - strh r0, [r1, #0x12] - movs r4, #0xbd - lsls r4, r4, #2 - adds r1, r3, r4 - movs r0, #7 - b _0801ACF8 + cmp r0, #0x68 + bls _0801AB52 + ldr r1, [r2] + movs r0, #0xc5 + strh r0, [r1, #0x10] + ldr r1, [r2] + movs r0, #0xdb + strh r0, [r1, #0x12] + movs r4, #0xbd + lsls r4, r4, #2 + adds r1, r3, r4 + movs r0, #7 + b _0801ACF8 _0801AB52: - ldr r0, [r2] - strb r1, [r0] - ldr r0, [r6] - movs r1, #0xbd - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #8 - strb r1, [r0] - b _0801ACFA + ldr r0, [r2] + strb r1, [r0] + ldr r0, [r6] + movs r1, #0xbd + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #8 + strb r1, [r0] + b _0801ACFA _0801AB64: - cmp r0, #0x14 - bls _0801ABFE - cmp r0, #0x4d - bls _0801AB9C - movs r0, #0xbd - lsls r0, r0, #2 - add r0, ip - movs r1, #9 - strb r1, [r0] - ldr r2, [r6] - ldrh r0, [r2, #0x28] - cmp r0, #0x4f - bls _0801AB80 - b _0801ACFA + cmp r0, #0x14 + bls _0801ABFE + cmp r0, #0x4d + bls _0801AB9C + movs r0, #0xbd + lsls r0, r0, #2 + add r0, ip + movs r1, #9 + strb r1, [r0] + ldr r2, [r6] + ldrh r0, [r2, #0x28] + cmp r0, #0x4f + bls _0801AB80 + b _0801ACFA _0801AB80: - ldr r3, _0801AB98 @ =0x000002F6 - adds r1, r2, r3 - ldrh r0, [r1] - cmp r0, #0 - bne _0801AB8C - b _0801ACFA + ldr r3, _0801AB98 @ =0x000002F6 + adds r1, r2, r3 + ldrh r0, [r1] + cmp r0, #0 + bne _0801AB8C + b _0801ACFA _0801AB8C: - subs r0, #1 - strh r0, [r1] - ldrh r0, [r2, #0x28] - adds r0, #1 - strh r0, [r2, #0x28] - b _0801ACFA - .align 2, 0 + subs r0, #1 + strh r0, [r1] + ldrh r0, [r2, #0x28] + adds r0, #1 + strh r0, [r2, #0x28] + b _0801ACFA + .align 2, 0 _0801AB98: .4byte 0x000002F6 _0801AB9C: - cmp r0, #0x48 - bls _0801ABAA - movs r1, #0xbd - lsls r1, r1, #2 - add r1, ip - movs r0, #0xa - b _0801ACF8 + cmp r0, #0x48 + bls _0801ABAA + movs r1, #0xbd + lsls r1, r1, #2 + add r1, ip + movs r0, #0xa + b _0801ACF8 _0801ABAA: - cmp r0, #0x43 - bls _0801ABB8 - movs r1, #0xbd - lsls r1, r1, #2 - add r1, ip - movs r0, #0xb - b _0801ACF8 + cmp r0, #0x43 + bls _0801ABB8 + movs r1, #0xbd + lsls r1, r1, #2 + add r1, ip + movs r0, #0xb + b _0801ACF8 _0801ABB8: - cmp r0, #0x2c - bls _0801ABC6 - movs r1, #0xbd - lsls r1, r1, #2 - add r1, ip - movs r0, #0xc - b _0801ACF8 + cmp r0, #0x2c + bls _0801ABC6 + movs r1, #0xbd + lsls r1, r1, #2 + add r1, ip + movs r0, #0xc + b _0801ACF8 _0801ABC6: - cmp r0, #0x26 - bls _0801ABD4 - movs r1, #0xbd - lsls r1, r1, #2 - add r1, ip - movs r0, #0xd - b _0801ACF8 + cmp r0, #0x26 + bls _0801ABD4 + movs r1, #0xbd + lsls r1, r1, #2 + add r1, ip + movs r0, #0xd + b _0801ACF8 _0801ABD4: - cmp r0, #0x1c - bls _0801ABE2 - movs r1, #0xbd - lsls r1, r1, #2 - add r1, ip - movs r0, #0xe - b _0801ACF8 + cmp r0, #0x1c + bls _0801ABE2 + movs r1, #0xbd + lsls r1, r1, #2 + add r1, ip + movs r0, #0xe + b _0801ACF8 _0801ABE2: - cmp r0, #0x17 - bls _0801ABF0 - movs r1, #0xbd - lsls r1, r1, #2 - add r1, ip - movs r0, #0xf - b _0801ACF8 + cmp r0, #0x17 + bls _0801ABF0 + movs r1, #0xbd + lsls r1, r1, #2 + add r1, ip + movs r0, #0xf + b _0801ACF8 _0801ABF0: - ldr r0, [r6] - movs r4, #0xbd - lsls r4, r4, #2 - adds r0, r0, r4 - movs r1, #0x10 - strb r1, [r0] - b _0801ACFA + ldr r0, [r6] + movs r4, #0xbd + lsls r4, r4, #2 + adds r0, r0, r4 + movs r1, #0x10 + strb r1, [r0] + b _0801ACFA _0801ABFE: - cmp r0, #0x12 - bls _0801AC28 - ldr r1, _0801AC24 @ =0x0000132C - add r1, ip - ldr r2, [r1] - movs r0, #0xc1 - strh r0, [r2, #0x10] - ldr r2, [r1] - movs r0, #0xe2 - strh r0, [r2, #0x12] - ldr r0, [r1] - strb r3, [r0] - ldr r0, [r6] - movs r1, #0xbd - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #0x11 - strb r1, [r0] - b _0801ACFA - .align 2, 0 + cmp r0, #0x12 + bls _0801AC28 + ldr r1, _0801AC24 @ =0x0000132C + add r1, ip + ldr r2, [r1] + movs r0, #0xc1 + strh r0, [r2, #0x10] + ldr r2, [r1] + movs r0, #0xe2 + strh r0, [r2, #0x12] + ldr r0, [r1] + strb r3, [r0] + ldr r0, [r6] + movs r1, #0xbd + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #0x11 + strb r1, [r0] + b _0801ACFA + .align 2, 0 _0801AC24: .4byte 0x0000132C _0801AC28: - cmp r0, #0x10 - bls _0801AC9C - mov r2, ip - strb r3, [r2, #0x1f] - ldr r0, [r6] - ldr r2, _0801AC8C @ =0x000005FE - adds r1, r0, r2 - strh r4, [r1] - ldr r1, _0801AC90 @ =0x000005FB - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - ldr r0, [r6] - subs r2, #4 - adds r0, r0, r2 - strb r3, [r0] - ldr r3, [r6] - ldr r0, _0801AC94 @ =0x0000132C - adds r1, r3, r0 - ldr r0, [r1] - strh r4, [r0, #6] - ldr r2, [r1] - ldr r0, _0801AC98 @ =0x0000FF56 - strh r0, [r2, #0x30] - ldr r2, [r1] - movs r0, #0xdc - strh r0, [r2, #0x32] - ldr r2, [r1] - movs r0, #0xbe - strh r0, [r2, #0x10] - ldr r1, [r1] - movs r0, #0xe8 - strh r0, [r1, #0x12] - movs r1, #0xbd - lsls r1, r1, #2 - adds r3, r3, r1 - movs r0, #0x12 - strb r0, [r3] - ldr r0, [r6] - ldrh r0, [r0, #0x28] - cmp r0, #0x12 - bne _0801ACFA - movs r0, #0xc2 - bl m4aSongNumStart - movs r0, #7 - bl sub_11B0 - b _0801ACFA - .align 2, 0 + cmp r0, #0x10 + bls _0801AC9C + mov r2, ip + strb r3, [r2, #0x1f] + ldr r0, [r6] + ldr r2, _0801AC8C @ =0x000005FE + adds r1, r0, r2 + strh r4, [r1] + ldr r1, _0801AC90 @ =0x000005FB + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + ldr r0, [r6] + subs r2, #4 + adds r0, r0, r2 + strb r3, [r0] + ldr r3, [r6] + ldr r0, _0801AC94 @ =0x0000132C + adds r1, r3, r0 + ldr r0, [r1] + strh r4, [r0, #6] + ldr r2, [r1] + ldr r0, _0801AC98 @ =0x0000FF56 + strh r0, [r2, #0x30] + ldr r2, [r1] + movs r0, #0xdc + strh r0, [r2, #0x32] + ldr r2, [r1] + movs r0, #0xbe + strh r0, [r2, #0x10] + ldr r1, [r1] + movs r0, #0xe8 + strh r0, [r1, #0x12] + movs r1, #0xbd + lsls r1, r1, #2 + adds r3, r3, r1 + movs r0, #0x12 + strb r0, [r3] + ldr r0, [r6] + ldrh r0, [r0, #0x28] + cmp r0, #0x12 + bne _0801ACFA + movs r0, #0xc2 + bl m4aSongNumStart + movs r0, #7 + bl sub_11B0 + b _0801ACFA + .align 2, 0 _0801AC8C: .4byte 0x000005FE _0801AC90: .4byte 0x000005FB _0801AC94: .4byte 0x0000132C _0801AC98: .4byte 0x0000FF56 _0801AC9C: - cmp r0, #0xc - bls _0801ACB8 - ldr r0, _0801ACB4 @ =0x0000132C - add r0, ip - ldr r0, [r0] - strh r4, [r0, #6] - movs r1, #0xbd - lsls r1, r1, #2 - add r1, ip - movs r0, #0x13 - b _0801ACF8 - .align 2, 0 + cmp r0, #0xc + bls _0801ACB8 + ldr r0, _0801ACB4 @ =0x0000132C + add r0, ip + ldr r0, [r0] + strh r4, [r0, #6] + movs r1, #0xbd + lsls r1, r1, #2 + add r1, ip + movs r0, #0x13 + b _0801ACF8 + .align 2, 0 _0801ACB4: .4byte 0x0000132C _0801ACB8: - cmp r0, #8 - bls _0801ACD4 - ldr r0, _0801ACD0 @ =0x0000132C - add r0, ip - ldr r0, [r0] - strh r4, [r0, #6] - movs r1, #0xbd - lsls r1, r1, #2 - add r1, ip - movs r0, #0x14 - b _0801ACF8 - .align 2, 0 + cmp r0, #8 + bls _0801ACD4 + ldr r0, _0801ACD0 @ =0x0000132C + add r0, ip + ldr r0, [r0] + strh r4, [r0, #6] + movs r1, #0xbd + lsls r1, r1, #2 + add r1, ip + movs r0, #0x14 + b _0801ACF8 + .align 2, 0 _0801ACD0: .4byte 0x0000132C _0801ACD4: - cmp r0, #4 - bls _0801ACF0 - ldr r0, _0801ACEC @ =0x0000132C - add r0, ip - ldr r0, [r0] - strh r4, [r0, #6] - movs r1, #0xbd - lsls r1, r1, #2 - add r1, ip - movs r0, #0x15 - b _0801ACF8 - .align 2, 0 + cmp r0, #4 + bls _0801ACF0 + ldr r0, _0801ACEC @ =0x0000132C + add r0, ip + ldr r0, [r0] + strh r4, [r0, #6] + movs r1, #0xbd + lsls r1, r1, #2 + add r1, ip + movs r0, #0x15 + b _0801ACF8 + .align 2, 0 _0801ACEC: .4byte 0x0000132C _0801ACF0: - movs r1, #0xbd - lsls r1, r1, #2 - add r1, ip - movs r0, #0x16 + movs r1, #0xbd + lsls r1, r1, #2 + add r1, ip + movs r0, #0x16 _0801ACF8: - strb r0, [r1] + strb r0, [r1] _0801ACFA: - ldr r0, _0801AD34 @ =0x020314E0 - ldr r2, [r0] - ldr r3, _0801AD38 @ =0x0000132C - adds r2, r2, r3 - ldr r1, [r2] - movs r4, #0x10 - ldrsh r0, [r1, r4] - lsls r0, r0, #1 - strh r0, [r1, #0x28] - ldr r1, [r2] - movs r3, #0x12 - ldrsh r0, [r1, r3] - lsls r0, r0, #1 - strh r0, [r1, #0x2a] - ldr r1, [r2] - ldr r0, [r1, #0x28] - str r0, [r1, #0x2c] - ldr r1, [r2] - movs r4, #0x10 - ldrsh r0, [r1, r4] - lsls r0, r0, #8 - str r0, [r1, #0x34] - ldr r1, [r2] - movs r2, #0x12 - ldrsh r0, [r1, r2] - lsls r0, r0, #8 - str r0, [r1, #0x38] - b _0801AD74 - .align 2, 0 + ldr r0, _0801AD34 @ =0x020314E0 + ldr r2, [r0] + ldr r3, _0801AD38 @ =0x0000132C + adds r2, r2, r3 + ldr r1, [r2] + movs r4, #0x10 + ldrsh r0, [r1, r4] + lsls r0, r0, #1 + strh r0, [r1, #0x28] + ldr r1, [r2] + movs r3, #0x12 + ldrsh r0, [r1, r3] + lsls r0, r0, #1 + strh r0, [r1, #0x2a] + ldr r1, [r2] + ldr r0, [r1, #0x28] + str r0, [r1, #0x2c] + ldr r1, [r2] + movs r4, #0x10 + ldrsh r0, [r1, r4] + lsls r0, r0, #8 + str r0, [r1, #0x34] + ldr r1, [r2] + movs r2, #0x12 + ldrsh r0, [r1, r2] + lsls r0, r0, #8 + str r0, [r1, #0x38] + b _0801AD74 + .align 2, 0 _0801AD34: .4byte 0x020314E0 _0801AD38: .4byte 0x0000132C _0801AD3C: - movs r3, #0 - movs r0, #0x1e - mov r4, ip - strh r0, [r4, #0x26] - ldr r2, _0801AD7C @ =0x0000132C - add r2, ip - ldr r1, [r2] - movs r4, #0x10 - ldrsh r0, [r1, r4] - lsls r0, r0, #1 - strh r0, [r1, #0x28] - ldr r1, [r2] - movs r2, #0x12 - ldrsh r0, [r1, r2] - lsls r0, r0, #1 - strh r0, [r1, #0x2a] - mov r0, ip - adds r0, #0x25 - strb r3, [r0] - ldr r0, [r6] - ldr r4, _0801AD80 @ =0x000005F7 - adds r0, r0, r4 - strb r3, [r0] - ldr r0, [r6] - movs r1, #0xbd - lsls r1, r1, #2 - adds r0, r0, r1 - strb r3, [r0] + movs r3, #0 + movs r0, #0x1e + mov r4, ip + strh r0, [r4, #0x26] + ldr r2, _0801AD7C @ =0x0000132C + add r2, ip + ldr r1, [r2] + movs r4, #0x10 + ldrsh r0, [r1, r4] + lsls r0, r0, #1 + strh r0, [r1, #0x28] + ldr r1, [r2] + movs r2, #0x12 + ldrsh r0, [r1, r2] + lsls r0, r0, #1 + strh r0, [r1, #0x2a] + mov r0, ip + adds r0, #0x25 + strb r3, [r0] + ldr r0, [r6] + ldr r4, _0801AD80 @ =0x000005F7 + adds r0, r0, r4 + strb r3, [r0] + ldr r0, [r6] + movs r1, #0xbd + lsls r1, r1, #2 + adds r0, r0, r1 + strb r3, [r0] _0801AD74: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0801AD7C: .4byte 0x0000132C _0801AD80: .4byte 0x000005F7 - thumb_func_start sub_1AD84 + thumb_func_start sub_1AD84 sub_1AD84: @ 0x0801AD84 - push {r4, lr} - ldr r4, _0801ADB4 @ =0x020314E0 - ldr r1, [r4] - ldr r0, _0801ADB8 @ =0x000186A0 - str r0, [r1, #0x3c] - ldr r0, _0801ADBC @ =0x000002DA - adds r2, r1, r0 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #3 - bne _0801ADC0 - movs r0, #4 - strb r0, [r2] - movs r0, #0xb7 - bl m4aSongNumStart - movs r0, #7 - bl sub_11B0 - ldr r1, [r4] - movs r0, #0xfa - lsls r0, r0, #1 - b _0801ADD8 - .align 2, 0 + push {r4, lr} + ldr r4, _0801ADB4 @ =0x020314E0 + ldr r1, [r4] + ldr r0, _0801ADB8 @ =0x000186A0 + str r0, [r1, #0x3c] + ldr r0, _0801ADBC @ =0x000002DA + adds r2, r1, r0 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #3 + bne _0801ADC0 + movs r0, #4 + strb r0, [r2] + movs r0, #0xb7 + bl m4aSongNumStart + movs r0, #7 + bl sub_11B0 + ldr r1, [r4] + movs r0, #0xfa + lsls r0, r0, #1 + b _0801ADD8 + .align 2, 0 _0801ADB4: .4byte 0x020314E0 _0801ADB8: .4byte 0x000186A0 _0801ADBC: .4byte 0x000002DA _0801ADC0: - movs r2, #0xb4 - lsls r2, r2, #2 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0801ADD6 - movs r0, #0x96 - lsls r0, r0, #1 - b _0801ADD8 + movs r2, #0xb4 + lsls r2, r2, #2 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0801ADD6 + movs r0, #0x96 + lsls r0, r0, #1 + b _0801ADD8 _0801ADD6: - movs r0, #0x78 + movs r0, #0x78 _0801ADD8: - strh r0, [r1, #0x28] - ldr r0, _0801ADEC @ =0x020314E0 - ldr r0, [r0] - ldr r1, _0801ADF0 @ =0x000005F7 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + strh r0, [r1, #0x28] + ldr r0, _0801ADEC @ =0x020314E0 + ldr r0, [r0] + ldr r1, _0801ADF0 @ =0x000005F7 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0801ADEC: .4byte 0x020314E0 _0801ADF0: .4byte 0x000005F7 - thumb_func_start sub_1ADF4 + thumb_func_start sub_1ADF4 sub_1ADF4: @ 0x0801ADF4 - push {r4, r5, r6, lr} - ldr r5, _0801AE7C @ =0x020314E0 - ldr r0, [r5] - ldrh r4, [r0, #0x28] - cmp r4, #0 - beq _0801AEE0 - ldr r1, _0801AE80 @ =0x0000132C - adds r0, r0, r1 - ldr r0, [r0] - movs r3, #0 - movs r2, #1 - strb r2, [r0] - ldr r0, [r5] - strb r2, [r0, #0x1f] - ldr r5, [r5] - mov ip, r5 - ldrh r0, [r5, #0x28] - subs r0, #1 - strh r0, [r5, #0x28] - add r1, ip - ldr r0, [r1] - strh r3, [r0, #0x30] - ldr r0, [r1] - strh r3, [r0, #0x32] - ldr r2, [r1] - movs r0, #0x58 - strh r0, [r2, #0x10] - ldr r2, [r1] - movs r0, #0x94 - strh r0, [r2, #0x12] - ldr r0, [r1] - strh r3, [r0, #6] - ldr r2, [r1] - movs r3, #0x10 - ldrsh r0, [r2, r3] - lsls r0, r0, #1 - strh r0, [r2, #0x28] - ldr r1, [r1] - movs r4, #0x12 - ldrsh r0, [r1, r4] - lsls r0, r0, #1 - strh r0, [r1, #0x2a] - movs r0, #0xb4 - lsls r0, r0, #2 - add r0, ip - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - beq _0801AE5A - b _0801AF78 + push {r4, r5, r6, lr} + ldr r5, _0801AE7C @ =0x020314E0 + ldr r0, [r5] + ldrh r4, [r0, #0x28] + cmp r4, #0 + beq _0801AEE0 + ldr r1, _0801AE80 @ =0x0000132C + adds r0, r0, r1 + ldr r0, [r0] + movs r3, #0 + movs r2, #1 + strb r2, [r0] + ldr r0, [r5] + strb r2, [r0, #0x1f] + ldr r5, [r5] + mov ip, r5 + ldrh r0, [r5, #0x28] + subs r0, #1 + strh r0, [r5, #0x28] + add r1, ip + ldr r0, [r1] + strh r3, [r0, #0x30] + ldr r0, [r1] + strh r3, [r0, #0x32] + ldr r2, [r1] + movs r0, #0x58 + strh r0, [r2, #0x10] + ldr r2, [r1] + movs r0, #0x94 + strh r0, [r2, #0x12] + ldr r0, [r1] + strh r3, [r0, #6] + ldr r2, [r1] + movs r3, #0x10 + ldrsh r0, [r2, r3] + lsls r0, r0, #1 + strh r0, [r2, #0x28] + ldr r1, [r1] + movs r4, #0x12 + ldrsh r0, [r1, r4] + lsls r0, r0, #1 + strh r0, [r1, #0x2a] + movs r0, #0xb4 + lsls r0, r0, #2 + add r0, ip + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + beq _0801AE5A + b _0801AF78 _0801AE5A: - ldrh r1, [r5, #0x28] - adds r0, r1, #0 - cmp r0, #0xc8 - bls _0801AE64 - b _0801AF78 + ldrh r1, [r5, #0x28] + adds r0, r1, #0 + cmp r0, #0xc8 + bls _0801AE64 + b _0801AF78 _0801AE64: - cmp r0, #0xc8 - bne _0801AEA8 - mov r0, ip - adds r0, #0xe4 - ldrb r0, [r0] - cmp r0, #0 - beq _0801AE84 - adds r0, r1, #1 - mov r1, ip - strh r0, [r1, #0x28] - b _0801AECA - .align 2, 0 + cmp r0, #0xc8 + bne _0801AEA8 + mov r0, ip + adds r0, #0xe4 + ldrb r0, [r0] + cmp r0, #0 + beq _0801AE84 + adds r0, r1, #1 + mov r1, ip + strh r0, [r1, #0x28] + b _0801AECA + .align 2, 0 _0801AE7C: .4byte 0x020314E0 _0801AE80: .4byte 0x0000132C _0801AE84: - mov r2, ip - ldr r0, [r2, #0x48] - cmp r0, #0 - beq _0801AEA2 - movs r0, #0xb6 - lsls r0, r0, #1 - add r0, ip - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bne _0801AEA2 - bl sub_22978 - b _0801AECA + mov r2, ip + ldr r0, [r2, #0x48] + cmp r0, #0 + beq _0801AEA2 + movs r0, #0xb6 + lsls r0, r0, #1 + add r0, ip + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bne _0801AEA2 + bl sub_22978 + b _0801AECA _0801AEA2: - bl sub_22C6C - b _0801AECA + bl sub_22C6C + b _0801AECA _0801AEA8: - mov r3, ip - ldr r0, [r3, #0x48] - cmp r0, #0 - beq _0801AEC6 - movs r0, #0xb6 - lsls r0, r0, #1 - add r0, ip - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bne _0801AEC6 - bl sub_22A30 - b _0801AECA + mov r3, ip + ldr r0, [r3, #0x48] + cmp r0, #0 + beq _0801AEC6 + movs r0, #0xb6 + lsls r0, r0, #1 + add r0, ip + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bne _0801AEC6 + bl sub_22A30 + b _0801AECA _0801AEC6: - bl sub_22D54 + bl sub_22D54 _0801AECA: - ldr r0, _0801AEDC @ =0x020314E0 - ldr r1, [r0] - ldrh r0, [r1, #0x28] - cmp r0, #9 - bhi _0801AF78 - adds r0, #1 - strh r0, [r1, #0x28] - b _0801AF78 - .align 2, 0 + ldr r0, _0801AEDC @ =0x020314E0 + ldr r1, [r0] + ldrh r0, [r1, #0x28] + cmp r0, #9 + bhi _0801AF78 + adds r0, #1 + strh r0, [r1, #0x28] + b _0801AF78 + .align 2, 0 _0801AEDC: .4byte 0x020314E0 _0801AEE0: - ldr r1, _0801AF50 @ =0x0000132C - adds r0, r0, r1 - ldr r0, [r0] - strb r4, [r0] - ldr r0, [r5] - adds r0, #0x25 - strb r4, [r0] - ldr r3, [r5] - adds r1, r3, r1 - ldr r2, [r1] - movs r6, #0 - movs r0, #0x58 - strh r0, [r2, #0x10] - ldr r2, [r1] - movs r0, #0xa2 - strh r0, [r2, #0x12] - ldr r0, [r1] - strh r4, [r0, #6] - ldr r2, [r1] - movs r4, #0x10 - ldrsh r0, [r2, r4] - lsls r0, r0, #1 - strh r0, [r2, #0x28] - ldr r1, [r1] - movs r2, #0x12 - ldrsh r0, [r1, r2] - lsls r0, r0, #1 - strh r0, [r1, #0x2a] - ldr r4, _0801AF54 @ =0x000005F7 - adds r3, r3, r4 - strb r6, [r3] - ldr r1, [r5] - movs r2, #0xb4 - lsls r2, r2, #2 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _0801AF60 - ldr r3, _0801AF58 @ =0x000002DA - adds r1, r1, r3 - movs r0, #3 - strb r0, [r1] - ldr r1, [r5] - ldr r4, _0801AF5C @ =0x000002DE - adds r2, r1, r4 - movs r0, #0x30 - strh r0, [r2] - movs r0, #0xb8 - lsls r0, r0, #2 - adds r1, r1, r0 - movs r0, #0x1e - strh r0, [r1] - b _0801AF78 - .align 2, 0 + ldr r1, _0801AF50 @ =0x0000132C + adds r0, r0, r1 + ldr r0, [r0] + strb r4, [r0] + ldr r0, [r5] + adds r0, #0x25 + strb r4, [r0] + ldr r3, [r5] + adds r1, r3, r1 + ldr r2, [r1] + movs r6, #0 + movs r0, #0x58 + strh r0, [r2, #0x10] + ldr r2, [r1] + movs r0, #0xa2 + strh r0, [r2, #0x12] + ldr r0, [r1] + strh r4, [r0, #6] + ldr r2, [r1] + movs r4, #0x10 + ldrsh r0, [r2, r4] + lsls r0, r0, #1 + strh r0, [r2, #0x28] + ldr r1, [r1] + movs r2, #0x12 + ldrsh r0, [r1, r2] + lsls r0, r0, #1 + strh r0, [r1, #0x2a] + ldr r4, _0801AF54 @ =0x000005F7 + adds r3, r3, r4 + strb r6, [r3] + ldr r1, [r5] + movs r2, #0xb4 + lsls r2, r2, #2 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _0801AF60 + ldr r3, _0801AF58 @ =0x000002DA + adds r1, r1, r3 + movs r0, #3 + strb r0, [r1] + ldr r1, [r5] + ldr r4, _0801AF5C @ =0x000002DE + adds r2, r1, r4 + movs r0, #0x30 + strh r0, [r2] + movs r0, #0xb8 + lsls r0, r0, #2 + adds r1, r1, r0 + movs r0, #0x1e + strh r0, [r1] + b _0801AF78 + .align 2, 0 _0801AF50: .4byte 0x0000132C _0801AF54: .4byte 0x000005F7 _0801AF58: .4byte 0x000002DA _0801AF5C: .4byte 0x000002DE _0801AF60: - strb r6, [r1, #0x1f] - ldr r1, [r5] - movs r0, #0x3c - strh r0, [r1, #0x26] - ldr r2, _0801AF80 @ =0x0000132C - adds r1, r1, r2 - ldr r2, [r1] - movs r0, #0x14 - strh r0, [r2, #0x30] - ldr r1, [r1] - movs r0, #0xc8 - strh r0, [r1, #0x32] + strb r6, [r1, #0x1f] + ldr r1, [r5] + movs r0, #0x3c + strh r0, [r1, #0x26] + ldr r2, _0801AF80 @ =0x0000132C + adds r1, r1, r2 + ldr r2, [r1] + movs r0, #0x14 + strh r0, [r2, #0x30] + ldr r1, [r1] + movs r0, #0xc8 + strh r0, [r1, #0x32] _0801AF78: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0801AF80: .4byte 0x0000132C - thumb_func_start sub_1AF84 + thumb_func_start sub_1AF84 sub_1AF84: @ 0x0801AF84 - push {r4, lr} - ldr r0, _0801AFC4 @ =0x020314E0 - ldr r3, [r0] - movs r1, #0xdc - lsls r1, r1, #1 - adds r0, r3, r1 - movs r2, #0 - strh r2, [r0] - movs r4, #0xdb - lsls r4, r4, #1 - adds r0, r3, r4 - strh r2, [r0] - movs r0, #0xb4 - strh r0, [r3, #0x28] - adds r4, #4 - adds r1, r3, r4 - strh r0, [r1] - ldr r0, _0801AFC8 @ =0x0007A120 - str r0, [r3, #0x3c] - ldr r0, _0801AFCC @ =0x0200B0C0 - ldrh r1, [r0, #0x38] - movs r1, #0xce - strh r1, [r0, #0x38] - ldrh r1, [r0, #0x3c] - strh r2, [r0, #0x3c] - ldr r0, _0801AFD0 @ =0x000005F7 - adds r1, r3, r0 - movs r0, #1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + ldr r0, _0801AFC4 @ =0x020314E0 + ldr r3, [r0] + movs r1, #0xdc + lsls r1, r1, #1 + adds r0, r3, r1 + movs r2, #0 + strh r2, [r0] + movs r4, #0xdb + lsls r4, r4, #1 + adds r0, r3, r4 + strh r2, [r0] + movs r0, #0xb4 + strh r0, [r3, #0x28] + adds r4, #4 + adds r1, r3, r4 + strh r0, [r1] + ldr r0, _0801AFC8 @ =0x0007A120 + str r0, [r3, #0x3c] + ldr r0, _0801AFCC @ =0x0200B0C0 + ldrh r1, [r0, #0x38] + movs r1, #0xce + strh r1, [r0, #0x38] + ldrh r1, [r0, #0x3c] + strh r2, [r0, #0x3c] + ldr r0, _0801AFD0 @ =0x000005F7 + adds r1, r3, r0 + movs r0, #1 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0801AFC4: .4byte 0x020314E0 _0801AFC8: .4byte 0x0007A120 _0801AFCC: .4byte 0x0200B0C0 _0801AFD0: .4byte 0x000005F7 - thumb_func_start sub_1AFD4 + thumb_func_start sub_1AFD4 sub_1AFD4: @ 0x0801AFD4 - push {r4, r5, r6, r7, lr} - ldr r7, _0801B074 @ =0x020314E0 - ldr r2, [r7] - ldrh r0, [r2, #0x28] - adds r6, r0, #0 - adds r5, r7, #0 - cmp r6, #0x18 - bls _0801B080 - ldr r1, _0801B078 @ =0x0000132C - adds r0, r2, r1 - ldr r0, [r0] - movs r3, #0 - movs r2, #1 - strb r2, [r0] - ldr r0, [r7] - strb r2, [r0, #0x1f] - ldr r4, [r7] - 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, #0xdc - strh r0, [r2, #0x10] - ldr r2, [r1] - movs r0, #0x62 - 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 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] - ldrh r0, [r4, #0x28] - cmp r0, #0x9b - bls _0801B054 - adds r1, r0, #0 - subs r1, #0x9c - cmp r1, #0 - bge _0801B04A - adds r1, #7 + push {r4, r5, r6, r7, lr} + ldr r7, _0801B074 @ =0x020314E0 + ldr r2, [r7] + ldrh r0, [r2, #0x28] + adds r6, r0, #0 + adds r5, r7, #0 + cmp r6, #0x18 + bls _0801B080 + ldr r1, _0801B078 @ =0x0000132C + adds r0, r2, r1 + ldr r0, [r0] + movs r3, #0 + movs r2, #1 + strb r2, [r0] + ldr r0, [r7] + strb r2, [r0, #0x1f] + ldr r4, [r7] + 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, #0xdc + strh r0, [r2, #0x10] + ldr r2, [r1] + movs r0, #0x62 + 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 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] + ldrh r0, [r4, #0x28] + cmp r0, #0x9b + bls _0801B054 + adds r1, r0, #0 + subs r1, #0x9c + cmp r1, #0 + bge _0801B04A + adds r1, #7 _0801B04A: - asrs r1, r1, #3 - movs r3, #0xbc - lsls r3, r3, #2 - adds r0, r4, r3 - strb r1, [r0] + asrs r1, r1, #3 + movs r3, #0xbc + lsls r3, r3, #2 + adds r0, r4, r3 + strb r1, [r0] _0801B054: - ldr r1, [r5] - ldrh r0, [r1, #0x28] - cmp r0, #0x31 - bhi _0801B060 - adds r0, #1 - strh r0, [r1, #0x28] + ldr r1, [r5] + ldrh r0, [r1, #0x28] + cmp r0, #0x31 + bhi _0801B060 + adds r0, #1 + strh r0, [r1, #0x28] _0801B060: - ldr r0, [r5] - ldr r1, _0801B07C @ =0x000001A5 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - bl sub_1B140 - b _0801B12A - .align 2, 0 + ldr r0, [r5] + ldr r1, _0801B07C @ =0x000001A5 + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + bl sub_1B140 + b _0801B12A + .align 2, 0 _0801B074: .4byte 0x020314E0 _0801B078: .4byte 0x0000132C _0801B07C: .4byte 0x000001A5 _0801B080: - cmp r6, #0 - beq _0801B0A0 - subs r0, #1 - strh r0, [r2, #0x28] - ldrh r1, [r2, #0x28] - movs r0, #0x18 - subs r0, r0, r1 - cmp r0, #0 - bge _0801B094 - adds r0, #7 + cmp r6, #0 + beq _0801B0A0 + subs r0, #1 + strh r0, [r2, #0x28] + ldrh r1, [r2, #0x28] + movs r0, #0x18 + subs r0, r0, r1 + cmp r0, #0 + bge _0801B094 + adds r0, #7 _0801B094: - asrs r1, r0, #3 - movs r3, #0xbc - lsls r3, r3, #2 - adds r0, r2, r3 - strb r1, [r0] - b _0801B12A + asrs r1, r0, #3 + movs r3, #0xbc + lsls r3, r3, #2 + adds r0, r2, r3 + strb r1, [r0] + b _0801B12A _0801B0A0: - ldr r4, _0801B130 @ =0x0000132C - adds r0, r2, r4 - ldr r0, [r0] - strb r6, [r0] - ldr r0, [r7] - strb r6, [r0, #0x1f] - ldr r3, [r7] - movs r5, #0 - movs r0, #0x3c - strh r0, [r3, #0x26] - adds r2, r3, r4 - ldr r1, [r2] - movs r0, #0x60 - strh r0, [r1, #0x30] - ldr r1, [r2] - movs r0, #0xc0 - strh r0, [r1, #0x32] - ldr r1, [r2] - movs r0, #0xdf - strh r0, [r1, #0x10] - ldr r1, [r2] - movs r0, #0x63 - strh r0, [r1, #0x12] - ldr r0, [r2] - strh r6, [r0, #6] - ldr r0, _0801B134 @ =0x000005F7 - adds r3, r3, r0 - strb r5, [r3] - ldr r2, [r7] - 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 r3, #0x12 - ldrsh r0, [r1, r3] - lsls r0, r0, #1 - strh r0, [r1, #0x2a] - adds r2, #0x25 - strb r5, [r2] - ldr r0, [r7] - movs r1, #0xbc - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #0x13 - strb r1, [r0] - movs r0, #0xc3 - bl m4aSongNumStart - ldr r1, [r7] - ldr r2, _0801B138 @ =0x0000072E - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - ble _0801B12A - ldr r3, _0801B13C @ =0x00000281 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _0801B12A - movs r0, #6 - bl sub_19B64 + ldr r4, _0801B130 @ =0x0000132C + adds r0, r2, r4 + ldr r0, [r0] + strb r6, [r0] + ldr r0, [r7] + strb r6, [r0, #0x1f] + ldr r3, [r7] + movs r5, #0 + movs r0, #0x3c + strh r0, [r3, #0x26] + adds r2, r3, r4 + ldr r1, [r2] + movs r0, #0x60 + strh r0, [r1, #0x30] + ldr r1, [r2] + movs r0, #0xc0 + strh r0, [r1, #0x32] + ldr r1, [r2] + movs r0, #0xdf + strh r0, [r1, #0x10] + ldr r1, [r2] + movs r0, #0x63 + strh r0, [r1, #0x12] + ldr r0, [r2] + strh r6, [r0, #6] + ldr r0, _0801B134 @ =0x000005F7 + adds r3, r3, r0 + strb r5, [r3] + ldr r2, [r7] + 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 r3, #0x12 + ldrsh r0, [r1, r3] + lsls r0, r0, #1 + strh r0, [r1, #0x2a] + adds r2, #0x25 + strb r5, [r2] + ldr r0, [r7] + movs r1, #0xbc + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #0x13 + strb r1, [r0] + movs r0, #0xc3 + bl m4aSongNumStart + ldr r1, [r7] + ldr r2, _0801B138 @ =0x0000072E + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + ble _0801B12A + ldr r3, _0801B13C @ =0x00000281 + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _0801B12A + movs r0, #6 + bl sub_19B64 _0801B12A: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0801B130: .4byte 0x0000132C _0801B134: .4byte 0x000005F7 _0801B138: .4byte 0x0000072E _0801B13C: .4byte 0x00000281 - thumb_func_start sub_1B140 + thumb_func_start sub_1B140 sub_1B140: @ 0x0801B140 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - movs r7, #0 - ldr r0, _0801B228 @ =0x0200B0C0 - ldrb r0, [r0, #0xf] - ldr r1, _0801B22C @ =0x020314E0 - mov r8, r1 - cmp r0, #0 - bne _0801B16A - ldr r0, [r1] - movs r3, #0xdd - lsls r3, r3, #1 - adds r1, r0, r3 - ldrh r0, [r1] - cmp r0, #0 - beq _0801B16A - subs r0, #1 - strh r0, [r1] + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + movs r7, #0 + ldr r0, _0801B228 @ =0x0200B0C0 + ldrb r0, [r0, #0xf] + ldr r1, _0801B22C @ =0x020314E0 + mov r8, r1 + cmp r0, #0 + bne _0801B16A + ldr r0, [r1] + movs r3, #0xdd + lsls r3, r3, #1 + adds r1, r0, r3 + ldrh r0, [r1] + cmp r0, #0 + beq _0801B16A + subs r0, #1 + strh r0, [r1] _0801B16A: - lsls r0, r2, #0x10 - asrs r5, r0, #0x10 - cmp r5, #0 - beq _0801B176 - bl sub_1BB68 + lsls r0, r2, #0x10 + asrs r5, r0, #0x10 + cmp r5, #0 + beq _0801B176 + bl sub_1BB68 _0801B176: - ldr r4, _0801B22C @ =0x020314E0 - ldr r0, [r4] - movs r6, #0xdd - lsls r6, r6, #1 - adds r0, r0, r6 - ldrh r0, [r0] - cmp r0, #0x95 - bne _0801B1B8 - bl m4aMPlayAllStop - ldr r0, [r4] - ldr r2, _0801B230 @ =0x000006DE - adds r1, r0, r2 - movs r2, #0 - strh r5, [r1] - ldr r3, _0801B234 @ =0x000006DD - adds r0, r0, r3 - strb r2, [r0] - ldr r0, [r4] - movs r1, #0xd7 - lsls r1, r1, #1 - adds r0, r0, r1 - strb r2, [r0] - ldr r0, [r4] - ldr r2, _0801B238 @ =0x00000252 - adds r0, r0, r2 - strh r5, [r0] - ldr r0, _0801B228 @ =0x0200B0C0 - ldrh r1, [r0, #0x38] - movs r1, #0xce - strh r1, [r0, #0x38] - ldrh r1, [r0, #0x3c] - strh r5, [r0, #0x3c] + ldr r4, _0801B22C @ =0x020314E0 + ldr r0, [r4] + movs r6, #0xdd + lsls r6, r6, #1 + adds r0, r0, r6 + ldrh r0, [r0] + cmp r0, #0x95 + bne _0801B1B8 + bl m4aMPlayAllStop + ldr r0, [r4] + ldr r2, _0801B230 @ =0x000006DE + adds r1, r0, r2 + movs r2, #0 + strh r5, [r1] + ldr r3, _0801B234 @ =0x000006DD + adds r0, r0, r3 + strb r2, [r0] + ldr r0, [r4] + movs r1, #0xd7 + lsls r1, r1, #1 + adds r0, r0, r1 + strb r2, [r0] + ldr r0, [r4] + ldr r2, _0801B238 @ =0x00000252 + adds r0, r0, r2 + strh r5, [r0] + ldr r0, _0801B228 @ =0x0200B0C0 + ldrh r1, [r0, #0x38] + movs r1, #0xce + strh r1, [r0, #0x38] + ldrh r1, [r0, #0x3c] + strh r5, [r0, #0x3c] _0801B1B8: - ldr r1, [r4] - adds r0, r1, r6 - ldrh r0, [r0] - cmp r0, #0x92 - bne _0801B1E6 - adds r1, #0xe4 - movs r0, #0x12 - strb r0, [r1] - ldr r1, _0801B23C @ =0x040000D4 - ldr r0, _0801B240 @ =0x084F61EC - str r0, [r1] - ldr r0, _0801B244 @ =0x06015C00 - str r0, [r1, #4] - ldr r0, _0801B248 @ =0x800004A0 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0801B24C @ =0x081B45A4 - str r0, [r1] - ldr r0, _0801B250 @ =0x05000180 - str r0, [r1, #4] - ldr r0, _0801B254 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r1, [r4] + adds r0, r1, r6 + ldrh r0, [r0] + cmp r0, #0x92 + bne _0801B1E6 + adds r1, #0xe4 + movs r0, #0x12 + strb r0, [r1] + ldr r1, _0801B23C @ =0x040000D4 + ldr r0, _0801B240 @ =0x084F61EC + str r0, [r1] + ldr r0, _0801B244 @ =0x06015C00 + str r0, [r1, #4] + ldr r0, _0801B248 @ =0x800004A0 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0801B24C @ =0x081B45A4 + str r0, [r1] + ldr r0, _0801B250 @ =0x05000180 + str r0, [r1, #4] + ldr r0, _0801B254 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] _0801B1E6: - ldr r0, [r4] - adds r2, r0, r6 - ldrh r1, [r2] - adds r0, r1, #0 - subs r0, #0x91 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r8, r4 - cmp r0, #4 - bls _0801B1FC - b _0801B332 + ldr r0, [r4] + adds r2, r0, r6 + ldrh r1, [r2] + adds r0, r1, #0 + subs r0, #0x91 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov r8, r4 + cmp r0, #4 + bls _0801B1FC + b _0801B332 _0801B1FC: - cmp r1, #0x92 - bls _0801B2B8 - ldr r1, _0801B228 @ =0x0200B0C0 - ldrh r0, [r1, #0x3c] - movs r0, #4 - strh r0, [r1, #0x3c] - ldrh r0, [r2] - cmp r0, #0x94 - bls _0801B210 - b _0801B332 + cmp r1, #0x92 + bls _0801B2B8 + ldr r1, _0801B228 @ =0x0200B0C0 + ldrh r0, [r1, #0x3c] + movs r0, #4 + strh r0, [r1, #0x3c] + ldrh r0, [r2] + cmp r0, #0x94 + bls _0801B210 + b _0801B332 _0801B210: - ldrb r0, [r1, #4] - cmp r0, #1 - bne _0801B264 - ldr r1, _0801B23C @ =0x040000D4 - ldr r2, _0801B258 @ =0x02031520 - ldr r0, [r2, #0x30] - adds r0, #0x40 - str r0, [r1] - ldr r0, _0801B25C @ =0x05000240 - str r0, [r1, #4] - ldr r0, _0801B260 @ =0x80000060 - b _0801B274 - .align 2, 0 + ldrb r0, [r1, #4] + cmp r0, #1 + bne _0801B264 + ldr r1, _0801B23C @ =0x040000D4 + ldr r2, _0801B258 @ =0x02031520 + ldr r0, [r2, #0x30] + adds r0, #0x40 + str r0, [r1] + ldr r0, _0801B25C @ =0x05000240 + str r0, [r1, #4] + ldr r0, _0801B260 @ =0x80000060 + b _0801B274 + .align 2, 0 _0801B228: .4byte 0x0200B0C0 _0801B22C: .4byte 0x020314E0 _0801B230: .4byte 0x000006DE @@ -53626,35 +53626,35 @@ _0801B258: .4byte 0x02031520 _0801B25C: .4byte 0x05000240 _0801B260: .4byte 0x80000060 _0801B264: - ldr r1, _0801B29C @ =0x040000D4 - ldr r2, _0801B2A0 @ =0x02031520 - ldr r0, [r2, #0x30] - adds r0, #0x40 - str r0, [r1] - ldr r0, _0801B2A4 @ =0x05000240 - str r0, [r1, #4] - ldr r0, _0801B2A8 @ =0x80000070 + ldr r1, _0801B29C @ =0x040000D4 + ldr r2, _0801B2A0 @ =0x02031520 + ldr r0, [r2, #0x30] + adds r0, #0x40 + str r0, [r1] + ldr r0, _0801B2A4 @ =0x05000240 + str r0, [r1, #4] + ldr r0, _0801B2A8 @ =0x80000070 _0801B274: - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r1, _0801B29C @ =0x040000D4 - ldr r0, [r2, #0x30] - movs r3, #0xa0 - lsls r3, r3, #1 - adds r0, r0, r3 - str r0, [r1] - ldr r0, _0801B2AC @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0801B2B0 @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r2, _0801B2B4 @ =0x020314E0 - ldr r0, [r2] - adds r0, #0x6f - movs r3, #0 - movs r1, #1 - b _0801B328 - .align 2, 0 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r1, _0801B29C @ =0x040000D4 + ldr r0, [r2, #0x30] + movs r3, #0xa0 + lsls r3, r3, #1 + adds r0, r0, r3 + str r0, [r1] + ldr r0, _0801B2AC @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0801B2B0 @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r2, _0801B2B4 @ =0x020314E0 + ldr r0, [r2] + adds r0, #0x6f + movs r3, #0 + movs r1, #1 + b _0801B328 + .align 2, 0 _0801B29C: .4byte 0x040000D4 _0801B2A0: .4byte 0x02031520 _0801B2A4: .4byte 0x05000240 @@ -53663,167 +53663,167 @@ _0801B2AC: .4byte 0x05000340 _0801B2B0: .4byte 0x80000030 _0801B2B4: .4byte 0x020314E0 _0801B2B8: - ldr r1, _0801B2E0 @ =0x0200B0C0 - ldrh r0, [r1, #0x3c] - movs r0, #7 - strh r0, [r1, #0x3c] - ldrh r0, [r2] - cmp r0, #0x91 - bls _0801B2C8 - b _0801B44A + ldr r1, _0801B2E0 @ =0x0200B0C0 + ldrh r0, [r1, #0x3c] + movs r0, #7 + strh r0, [r1, #0x3c] + ldrh r0, [r2] + cmp r0, #0x91 + bls _0801B2C8 + b _0801B44A _0801B2C8: - ldrb r0, [r1, #4] - cmp r0, #1 - bne _0801B2F4 - ldr r1, _0801B2E4 @ =0x040000D4 - ldr r2, _0801B2E8 @ =0x02031520 - ldr r0, [r2, #0x34] - adds r0, #0x40 - str r0, [r1] - ldr r0, _0801B2EC @ =0x05000240 - str r0, [r1, #4] - ldr r0, _0801B2F0 @ =0x80000060 - b _0801B304 - .align 2, 0 + ldrb r0, [r1, #4] + cmp r0, #1 + bne _0801B2F4 + ldr r1, _0801B2E4 @ =0x040000D4 + ldr r2, _0801B2E8 @ =0x02031520 + ldr r0, [r2, #0x34] + adds r0, #0x40 + str r0, [r1] + ldr r0, _0801B2EC @ =0x05000240 + str r0, [r1, #4] + ldr r0, _0801B2F0 @ =0x80000060 + b _0801B304 + .align 2, 0 _0801B2E0: .4byte 0x0200B0C0 _0801B2E4: .4byte 0x040000D4 _0801B2E8: .4byte 0x02031520 _0801B2EC: .4byte 0x05000240 _0801B2F0: .4byte 0x80000060 _0801B2F4: - ldr r1, _0801B3FC @ =0x040000D4 - ldr r2, _0801B400 @ =0x02031520 - ldr r0, [r2, #0x34] - adds r0, #0x40 - str r0, [r1] - ldr r0, _0801B404 @ =0x05000240 - str r0, [r1, #4] - ldr r0, _0801B408 @ =0x80000070 + ldr r1, _0801B3FC @ =0x040000D4 + ldr r2, _0801B400 @ =0x02031520 + ldr r0, [r2, #0x34] + adds r0, #0x40 + str r0, [r1] + ldr r0, _0801B404 @ =0x05000240 + str r0, [r1, #4] + ldr r0, _0801B408 @ =0x80000070 _0801B304: - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r1, _0801B3FC @ =0x040000D4 - ldr r0, [r2, #0x34] - movs r4, #0xa0 - lsls r4, r4, #1 - adds r0, r0, r4 - str r0, [r1] - ldr r0, _0801B40C @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0801B410 @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r2, _0801B414 @ =0x020314E0 - ldr r0, [r2] - adds r0, #0x6f - movs r3, #0 - movs r1, #2 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r1, _0801B3FC @ =0x040000D4 + ldr r0, [r2, #0x34] + movs r4, #0xa0 + lsls r4, r4, #1 + adds r0, r0, r4 + str r0, [r1] + ldr r0, _0801B40C @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0801B410 @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r2, _0801B414 @ =0x020314E0 + ldr r0, [r2] + adds r0, #0x6f + movs r3, #0 + movs r1, #2 _0801B328: - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x70 - strb r3, [r0] - mov r8, r2 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x70 + strb r3, [r0] + mov r8, r2 _0801B332: - mov r5, r8 - ldr r0, [r5] - movs r6, #0xdd - lsls r6, r6, #1 - adds r0, r0, r6 - ldrh r0, [r0] - cmp r0, #0x91 - beq _0801B344 - b _0801B44A + mov r5, r8 + ldr r0, [r5] + movs r6, #0xdd + lsls r6, r6, #1 + adds r0, r0, r6 + ldrh r0, [r0] + cmp r0, #0x91 + beq _0801B344 + b _0801B44A _0801B344: - movs r0, #0xb - bl m4aSongNumStart - ldr r0, [r5] - movs r1, #0xd3 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r4, #0 - strb r4, [r0] - ldr r0, [r5] - movs r2, #0xd4 - lsls r2, r2, #1 - adds r0, r0, r2 - strb r4, [r0] - ldr r3, [r5] - ldr r2, _0801B418 @ =0x086AD2DE - adds r1, r3, r1 - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r5, _0801B41C @ =0x000001A7 - adds r1, r3, r5 - strb r0, [r1] - movs r0, #6 - movs r1, #0 - bl sub_1C7F4 - movs r0, #1 - bl sub_21FBC - ldr r2, _0801B420 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x1c] - movs r3, #1 - strh r3, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x20] - strh r3, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x18] - strh r3, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x24] - strh r3, [r0] - ldr r1, _0801B3FC @ =0x040000D4 - ldr r0, _0801B424 @ =0x081B8784 - str r0, [r1] - ldr r0, _0801B428 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _0801B42C @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0801B430 @ =0x081B8984 - str r0, [r1] - ldr r0, _0801B434 @ =0x06002000 - str r0, [r1, #4] - ldr r0, _0801B438 @ =0x80000620 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r6, _0801B43C @ =0x000002EA - adds r1, r2, r6 - movs r0, #0x50 - strh r0, [r1] - strh r4, [r2, #0x2a] - mov r1, r8 - ldr r0, [r1] - movs r4, #0xdc - lsls r4, r4, #1 - adds r0, r0, r4 - movs r1, #0xf - strh r1, [r0] - strh r3, [r2, #0x28] - movs r0, #0x8f - bl m4aSongNumStart - mov r5, r8 - ldr r1, [r5] - movs r6, #0xf1 - lsls r6, r6, #1 - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _0801B440 - movs r0, #0xd5 - lsls r0, r0, #1 - adds r1, r1, r0 - movs r0, #1 - b _0801B448 - .align 2, 0 + movs r0, #0xb + bl m4aSongNumStart + ldr r0, [r5] + movs r1, #0xd3 + lsls r1, r1, #1 + adds r0, r0, r1 + movs r4, #0 + strb r4, [r0] + ldr r0, [r5] + movs r2, #0xd4 + lsls r2, r2, #1 + adds r0, r0, r2 + strb r4, [r0] + ldr r3, [r5] + ldr r2, _0801B418 @ =0x086AD2DE + adds r1, r3, r1 + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r5, _0801B41C @ =0x000001A7 + adds r1, r3, r5 + strb r0, [r1] + movs r0, #6 + movs r1, #0 + bl sub_1C7F4 + movs r0, #1 + bl sub_21FBC + ldr r2, _0801B420 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x1c] + movs r3, #1 + strh r3, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x20] + strh r3, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x18] + strh r3, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x24] + strh r3, [r0] + ldr r1, _0801B3FC @ =0x040000D4 + ldr r0, _0801B424 @ =0x081B8784 + str r0, [r1] + ldr r0, _0801B428 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _0801B42C @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0801B430 @ =0x081B8984 + str r0, [r1] + ldr r0, _0801B434 @ =0x06002000 + str r0, [r1, #4] + ldr r0, _0801B438 @ =0x80000620 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r6, _0801B43C @ =0x000002EA + adds r1, r2, r6 + movs r0, #0x50 + strh r0, [r1] + strh r4, [r2, #0x2a] + mov r1, r8 + ldr r0, [r1] + movs r4, #0xdc + lsls r4, r4, #1 + adds r0, r0, r4 + movs r1, #0xf + strh r1, [r0] + strh r3, [r2, #0x28] + movs r0, #0x8f + bl m4aSongNumStart + mov r5, r8 + ldr r1, [r5] + movs r6, #0xf1 + lsls r6, r6, #1 + adds r0, r1, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _0801B440 + movs r0, #0xd5 + lsls r0, r0, #1 + adds r1, r1, r0 + movs r0, #1 + b _0801B448 + .align 2, 0 _0801B3FC: .4byte 0x040000D4 _0801B400: .4byte 0x02031520 _0801B404: .4byte 0x05000240 @@ -53842,335 +53842,335 @@ _0801B434: .4byte 0x06002000 _0801B438: .4byte 0x80000620 _0801B43C: .4byte 0x000002EA _0801B440: - movs r2, #0xd5 - lsls r2, r2, #1 - adds r1, r1, r2 - movs r0, #0 + movs r2, #0xd5 + lsls r2, r2, #1 + adds r1, r1, r2 + movs r0, #0 _0801B448: - strb r0, [r1] + strb r0, [r1] _0801B44A: - mov r4, r8 - ldr r3, [r4] - movs r5, #0xdd - lsls r5, r5, #1 - adds r0, r3, r5 - ldrh r0, [r0] - cmp r0, #0x90 - bls _0801B45C - b _0801B6F2 + mov r4, r8 + ldr r3, [r4] + movs r5, #0xdd + lsls r5, r5, #1 + adds r0, r3, r5 + ldrh r0, [r0] + cmp r0, #0x90 + bls _0801B45C + b _0801B6F2 _0801B45C: - movs r6, #0xdc - lsls r6, r6, #3 - adds r1, r3, r6 - movs r2, #0 - movs r0, #0 - strh r0, [r1] - ldr r0, _0801B4D8 @ =0x000006C4 - adds r1, r3, r0 - movs r0, #2 - strb r0, [r1] - ldr r0, [r4] - ldr r1, _0801B4DC @ =0x000006DB - adds r0, r0, r1 - strb r2, [r0] - movs r7, #0 - ldr r3, [r4] - movs r4, #0xdc - lsls r4, r4, #1 - adds r2, r3, r4 - ldrh r1, [r2] - movs r5, #0 - ldrsh r0, [r2, r5] - cmp r0, #0 - ble _0801B552 - subs r0, r1, #1 - strh r0, [r2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xe - ble _0801B540 - movs r6, #0 - ldrsh r1, [r2, r6] - movs r0, #0x1e - subs r0, r0, r1 - lsls r1, r0, #3 - subs r1, r1, r0 - subs r4, #2 - adds r0, r3, r4 - strh r1, [r0] - movs r5, #0 - ldrsh r0, [r2, r5] - cmp r0, #0xf - beq _0801B4B4 - b _0801B614 + movs r6, #0xdc + lsls r6, r6, #3 + adds r1, r3, r6 + movs r2, #0 + movs r0, #0 + strh r0, [r1] + ldr r0, _0801B4D8 @ =0x000006C4 + adds r1, r3, r0 + movs r0, #2 + strb r0, [r1] + ldr r0, [r4] + ldr r1, _0801B4DC @ =0x000006DB + adds r0, r0, r1 + strb r2, [r0] + movs r7, #0 + ldr r3, [r4] + movs r4, #0xdc + lsls r4, r4, #1 + adds r2, r3, r4 + ldrh r1, [r2] + movs r5, #0 + ldrsh r0, [r2, r5] + cmp r0, #0 + ble _0801B552 + subs r0, r1, #1 + strh r0, [r2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xe + ble _0801B540 + movs r6, #0 + ldrsh r1, [r2, r6] + movs r0, #0x1e + subs r0, r0, r1 + lsls r1, r0, #3 + subs r1, r1, r0 + subs r4, #2 + adds r0, r3, r4 + strh r1, [r0] + movs r5, #0 + ldrsh r0, [r2, r5] + cmp r0, #0xf + beq _0801B4B4 + b _0801B614 _0801B4B4: - movs r6, #0xd3 - lsls r6, r6, #1 - adds r1, r3, r6 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #3 - bne _0801B4F0 - ldr r1, _0801B4E0 @ =0x000005F6 - adds r0, r3, r1 - ldrb r1, [r0] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _0801B4E4 - adds r0, r1, #0 - adds r0, #0xa - b _0801B526 - .align 2, 0 + movs r6, #0xd3 + lsls r6, r6, #1 + adds r1, r3, r6 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #3 + bne _0801B4F0 + ldr r1, _0801B4E0 @ =0x000005F6 + adds r0, r3, r1 + ldrb r1, [r0] + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bgt _0801B4E4 + adds r0, r1, #0 + adds r0, #0xa + b _0801B526 + .align 2, 0 _0801B4D8: .4byte 0x000006C4 _0801B4DC: .4byte 0x000006DB _0801B4E0: .4byte 0x000005F6 _0801B4E4: - ldr r4, _0801B4EC @ =0x000001A7 - adds r1, r3, r4 - movs r0, #0xc - b _0801B52A - .align 2, 0 + ldr r4, _0801B4EC @ =0x000001A7 + adds r1, r3, r4 + movs r0, #0xc + b _0801B52A + .align 2, 0 _0801B4EC: .4byte 0x000001A7 _0801B4F0: - cmp r0, #6 - bne _0801B518 - ldr r0, _0801B504 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _0801B50C - ldr r5, _0801B508 @ =0x000001A7 - adds r1, r3, r5 - movs r0, #0x16 - b _0801B52A - .align 2, 0 + cmp r0, #6 + bne _0801B518 + ldr r0, _0801B504 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #0 + bne _0801B50C + ldr r5, _0801B508 @ =0x000001A7 + adds r1, r3, r5 + movs r0, #0x16 + b _0801B52A + .align 2, 0 _0801B504: .4byte 0x0200B0C0 _0801B508: .4byte 0x000001A7 _0801B50C: - ldr r6, _0801B514 @ =0x000001A7 - adds r1, r3, r6 - movs r0, #0x17 - b _0801B52A - .align 2, 0 + ldr r6, _0801B514 @ =0x000001A7 + adds r1, r3, r6 + movs r0, #0x17 + b _0801B52A + .align 2, 0 _0801B514: .4byte 0x000001A7 _0801B518: - ldr r0, _0801B538 @ =0x086AD2DE - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] + ldr r0, _0801B538 @ =0x086AD2DE + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + lsls r1, r1, #1 + adds r1, r1, r0 + ldrh r0, [r1] _0801B526: - ldr r2, _0801B53C @ =0x000001A7 - adds r1, r3, r2 + ldr r2, _0801B53C @ =0x000001A7 + adds r1, r3, r2 _0801B52A: - strb r0, [r1] - movs r0, #6 - movs r1, #0 - bl sub_1C7F4 - movs r7, #1 - b _0801B614 - .align 2, 0 + strb r0, [r1] + movs r0, #6 + movs r1, #0 + bl sub_1C7F4 + movs r7, #1 + b _0801B614 + .align 2, 0 _0801B538: .4byte 0x086AD2DE _0801B53C: .4byte 0x000001A7 _0801B540: - movs r4, #0 - ldrsh r1, [r2, r4] - lsls r0, r1, #3 - subs r0, r0, r1 - movs r5, #0xdb - lsls r5, r5, #1 - adds r1, r3, r5 - strh r0, [r1] - b _0801B614 + movs r4, #0 + ldrsh r1, [r2, r4] + lsls r0, r1, #3 + subs r0, r0, r1 + movs r5, #0xdb + lsls r5, r5, #1 + adds r1, r3, r5 + strh r0, [r1] + b _0801B614 _0801B552: - ldr r0, _0801B58C @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0801B5B2 - ldr r6, _0801B590 @ =0x000006DD - adds r0, r3, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0801B5B2 - movs r0, #0x82 - bl m4aSongNumStart - mov r1, r8 - ldr r0, [r1] - movs r2, #0xd3 - lsls r2, r2, #1 - adds r1, r0, r2 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - ble _0801B594 - subs r0, r2, #1 - b _0801B596 - .align 2, 0 + ldr r0, _0801B58C @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x20 + ands r0, r1 + cmp r0, #0 + beq _0801B5B2 + ldr r6, _0801B590 @ =0x000006DD + adds r0, r3, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0801B5B2 + movs r0, #0x82 + bl m4aSongNumStart + mov r1, r8 + ldr r0, [r1] + movs r2, #0xd3 + lsls r2, r2, #1 + adds r1, r0, r2 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + ble _0801B594 + subs r0, r2, #1 + b _0801B596 + .align 2, 0 _0801B58C: .4byte 0x0200B0C0 _0801B590: .4byte 0x000006DD _0801B594: - movs r0, #7 + movs r0, #7 _0801B596: - strb r0, [r1] - ldr r2, _0801B5EC @ =0x020314E0 - ldr r0, [r2] - movs r3, #0xd4 - lsls r3, r3, #1 - adds r0, r0, r3 - movs r1, #1 - strb r1, [r0] - ldr r0, [r2] - movs r4, #0xdc - lsls r4, r4, #1 - adds r0, r0, r4 - movs r1, #0x1e - strh r1, [r0] + strb r0, [r1] + ldr r2, _0801B5EC @ =0x020314E0 + ldr r0, [r2] + movs r3, #0xd4 + lsls r3, r3, #1 + adds r0, r0, r3 + movs r1, #1 + strb r1, [r0] + ldr r0, [r2] + movs r4, #0xdc + lsls r4, r4, #1 + adds r0, r0, r4 + movs r1, #0x1e + strh r1, [r0] _0801B5B2: - ldr r0, _0801B5F0 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0801B614 - ldr r5, _0801B5EC @ =0x020314E0 - ldr r0, [r5] - ldr r6, _0801B5F4 @ =0x000006DD - adds r0, r0, r6 - movs r4, #0 - ldrsb r4, [r0, r4] - cmp r4, #0 - bne _0801B614 - movs r0, #0x82 - bl m4aSongNumStart - ldr r0, [r5] - movs r2, #0xd3 - lsls r2, r2, #1 - adds r1, r0, r2 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #6 - bgt _0801B5F8 - adds r0, r2, #1 - strb r0, [r1] - b _0801B5FA - .align 2, 0 + ldr r0, _0801B5F0 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x10 + ands r0, r1 + cmp r0, #0 + beq _0801B614 + ldr r5, _0801B5EC @ =0x020314E0 + ldr r0, [r5] + ldr r6, _0801B5F4 @ =0x000006DD + adds r0, r0, r6 + movs r4, #0 + ldrsb r4, [r0, r4] + cmp r4, #0 + bne _0801B614 + movs r0, #0x82 + bl m4aSongNumStart + ldr r0, [r5] + movs r2, #0xd3 + lsls r2, r2, #1 + adds r1, r0, r2 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #6 + bgt _0801B5F8 + adds r0, r2, #1 + strb r0, [r1] + b _0801B5FA + .align 2, 0 _0801B5EC: .4byte 0x020314E0 _0801B5F0: .4byte 0x0200B0C0 _0801B5F4: .4byte 0x000006DD _0801B5F8: - strb r4, [r1] + strb r4, [r1] _0801B5FA: - ldr r2, _0801B63C @ =0x020314E0 - ldr r0, [r2] - movs r3, #0xd4 - lsls r3, r3, #1 - adds r0, r0, r3 - movs r1, #0 - strb r1, [r0] - ldr r0, [r2] - movs r4, #0xdc - lsls r4, r4, #1 - adds r0, r0, r4 - movs r1, #0x1e - strh r1, [r0] + ldr r2, _0801B63C @ =0x020314E0 + ldr r0, [r2] + movs r3, #0xd4 + lsls r3, r3, #1 + adds r0, r0, r3 + movs r1, #0 + strb r1, [r0] + ldr r0, [r2] + movs r4, #0xdc + lsls r4, r4, #1 + adds r0, r0, r4 + movs r1, #0x1e + strh r1, [r0] _0801B614: - adds r0, r7, #0 - bl sub_21FBC - ldr r0, _0801B63C @ =0x020314E0 - ldr r1, [r0] - movs r5, #0xd4 - lsls r5, r5, #1 - adds r0, r1, r5 - movs r2, #0 - ldrsb r2, [r0, r2] - cmp r2, #0 - beq _0801B64A - ldr r6, _0801B640 @ =0x000001A9 - adds r1, r1, r6 - ldrb r0, [r1] - cmp r0, #0 - beq _0801B644 - subs r0, #1 - strb r0, [r1] - b _0801B662 - .align 2, 0 + adds r0, r7, #0 + bl sub_21FBC + ldr r0, _0801B63C @ =0x020314E0 + ldr r1, [r0] + movs r5, #0xd4 + lsls r5, r5, #1 + adds r0, r1, r5 + movs r2, #0 + ldrsb r2, [r0, r2] + cmp r2, #0 + beq _0801B64A + ldr r6, _0801B640 @ =0x000001A9 + adds r1, r1, r6 + ldrb r0, [r1] + cmp r0, #0 + beq _0801B644 + subs r0, #1 + strb r0, [r1] + b _0801B662 + .align 2, 0 _0801B63C: .4byte 0x020314E0 _0801B640: .4byte 0x000001A9 _0801B644: - movs r0, #7 - strb r0, [r1] - b _0801B662 + movs r0, #7 + strb r0, [r1] + b _0801B662 _0801B64A: - ldr r0, _0801B65C @ =0x000001A9 - adds r1, r1, r0 - ldrb r0, [r1] - cmp r0, #6 - bhi _0801B660 - adds r0, #1 - strb r0, [r1] - b _0801B662 - .align 2, 0 + ldr r0, _0801B65C @ =0x000001A9 + adds r1, r1, r0 + ldrb r0, [r1] + cmp r0, #6 + bhi _0801B660 + adds r0, #1 + strb r0, [r1] + b _0801B662 + .align 2, 0 _0801B65C: .4byte 0x000001A9 _0801B660: - strb r2, [r1] + strb r2, [r1] _0801B662: - ldr r1, _0801B6C0 @ =0x040000D4 - ldr r3, _0801B6C4 @ =0x086AD50C - ldr r4, _0801B6C8 @ =0x020314E0 - ldr r2, [r4] - ldr r5, _0801B6CC @ =0x000001A9 - adds r0, r2, r5 - ldrb r0, [r0] - lsrs r0, r0, #1 - lsls r0, r0, #2 - adds r0, r0, r3 - ldr r0, [r0] - str r0, [r1] - ldr r0, _0801B6D0 @ =0x06002000 - str r0, [r1, #4] - ldr r0, _0801B6D4 @ =0x80000620 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r3, _0801B6D8 @ =0x0200B0C0 - movs r6, #0x2a - ldrsh r0, [r3, r6] - lsls r0, r0, #2 - movs r1, #0x50 - subs r1, r1, r0 - ldr r5, _0801B6DC @ =0x000002EA - adds r0, r3, r5 - strh r1, [r0] - ldr r6, _0801B6E0 @ =0x00000252 - adds r2, r2, r6 - ldrh r0, [r2] - mov r8, r4 - cmp r0, #0 - beq _0801B6E4 - ldrh r1, [r3, #0x2a] - movs r2, #0x2a - ldrsh r0, [r3, r2] - cmp r0, #0 - ble _0801B6F2 - subs r0, r1, #1 - strh r0, [r3, #0x2a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - bne _0801B6F2 - strh r0, [r3, #0x28] - movs r0, #0x90 - strh r0, [r3, #0x26] - b _0801B6F2 - .align 2, 0 + ldr r1, _0801B6C0 @ =0x040000D4 + ldr r3, _0801B6C4 @ =0x086AD50C + ldr r4, _0801B6C8 @ =0x020314E0 + ldr r2, [r4] + ldr r5, _0801B6CC @ =0x000001A9 + adds r0, r2, r5 + ldrb r0, [r0] + lsrs r0, r0, #1 + lsls r0, r0, #2 + adds r0, r0, r3 + ldr r0, [r0] + str r0, [r1] + ldr r0, _0801B6D0 @ =0x06002000 + str r0, [r1, #4] + ldr r0, _0801B6D4 @ =0x80000620 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r3, _0801B6D8 @ =0x0200B0C0 + movs r6, #0x2a + ldrsh r0, [r3, r6] + lsls r0, r0, #2 + movs r1, #0x50 + subs r1, r1, r0 + ldr r5, _0801B6DC @ =0x000002EA + adds r0, r3, r5 + strh r1, [r0] + ldr r6, _0801B6E0 @ =0x00000252 + adds r2, r2, r6 + ldrh r0, [r2] + mov r8, r4 + cmp r0, #0 + beq _0801B6E4 + ldrh r1, [r3, #0x2a] + movs r2, #0x2a + ldrsh r0, [r3, r2] + cmp r0, #0 + ble _0801B6F2 + subs r0, r1, #1 + strh r0, [r3, #0x2a] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + bne _0801B6F2 + strh r0, [r3, #0x28] + movs r0, #0x90 + strh r0, [r3, #0x26] + b _0801B6F2 + .align 2, 0 _0801B6C0: .4byte 0x040000D4 _0801B6C4: .4byte 0x086AD50C _0801B6C8: .4byte 0x020314E0 @@ -54181,79 +54181,79 @@ _0801B6D8: .4byte 0x0200B0C0 _0801B6DC: .4byte 0x000002EA _0801B6E0: .4byte 0x00000252 _0801B6E4: - ldrh r1, [r3, #0x2a] - movs r4, #0x2a - ldrsh r0, [r3, r4] - cmp r0, #0x13 - bgt _0801B6F2 - adds r0, r1, #1 - strh r0, [r3, #0x2a] + ldrh r1, [r3, #0x2a] + movs r4, #0x2a + ldrsh r0, [r3, r4] + cmp r0, #0x13 + bgt _0801B6F2 + adds r0, r1, #1 + strh r0, [r3, #0x2a] _0801B6F2: - mov r5, r8 - ldr r2, [r5] - movs r6, #0xdc - lsls r6, r6, #1 - adds r0, r2, r6 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0 - ble _0801B706 - b _0801B85E + mov r5, r8 + ldr r2, [r5] + movs r6, #0xdc + lsls r6, r6, #1 + adds r0, r2, r6 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #0 + ble _0801B706 + b _0801B85E _0801B706: - ldr r0, _0801B76C @ =0x0200B0C0 - movs r3, #0x2a - ldrsh r1, [r0, r3] - adds r3, r0, #0 - cmp r1, #0x13 - bgt _0801B714 - b _0801B85E + ldr r0, _0801B76C @ =0x0200B0C0 + movs r3, #0x2a + ldrsh r1, [r0, r3] + adds r3, r0, #0 + cmp r1, #0x13 + bgt _0801B714 + b _0801B85E _0801B714: - ldrh r1, [r3, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _0801B720 - b _0801B82C + ldrh r1, [r3, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + bne _0801B720 + b _0801B82C _0801B720: - ldr r4, _0801B770 @ =0x000006DD - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0801B730 - b _0801B82C + ldr r4, _0801B770 @ =0x000006DD + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0801B730 + b _0801B82C _0801B730: - ldr r5, _0801B774 @ =0x000001A7 - adds r0, r2, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #3 - ldr r1, _0801B778 @ =0x086AD000 - adds r4, r0, r1 - ldr r1, _0801B77C @ =0x086AD2DE - subs r6, #0x12 - adds r0, r2, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - cmp r0, #3 - bne _0801B784 - movs r3, #0xf1 - lsls r3, r3, #1 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _0801B784 - ldr r3, _0801B780 @ =0x000003E7 - b _0801B7AC - .align 2, 0 + ldr r5, _0801B774 @ =0x000001A7 + adds r0, r2, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #3 + ldr r1, _0801B778 @ =0x086AD000 + adds r4, r0, r1 + ldr r1, _0801B77C @ =0x086AD2DE + subs r6, #0x12 + adds r0, r2, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r0, [r0] + cmp r0, #3 + bne _0801B784 + movs r3, #0xf1 + lsls r3, r3, #1 + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _0801B784 + ldr r3, _0801B780 @ =0x000003E7 + b _0801B7AC + .align 2, 0 _0801B76C: .4byte 0x0200B0C0 _0801B770: .4byte 0x000006DD _0801B774: .4byte 0x000001A7 @@ -54261,71 +54261,71 @@ _0801B778: .4byte 0x086AD000 _0801B77C: .4byte 0x086AD2DE _0801B780: .4byte 0x000003E7 _0801B784: - mov r5, r8 - ldr r2, [r5] - movs r6, #0xd3 - lsls r6, r6, #1 - adds r0, r2, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - cmp r0, #4 - bne _0801B7AA - ldr r1, _0801B804 @ =0x000001AF - adds r0, r2, r1 - ldrb r0, [r0] - ldr r3, _0801B808 @ =0x000003E7 - cmp r0, #0 - bne _0801B7AC + mov r5, r8 + ldr r2, [r5] + movs r6, #0xd3 + lsls r6, r6, #1 + adds r0, r2, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r0, [r0] + cmp r0, #4 + bne _0801B7AA + ldr r1, _0801B804 @ =0x000001AF + adds r0, r2, r1 + ldrb r0, [r0] + ldr r3, _0801B808 @ =0x000003E7 + cmp r0, #0 + bne _0801B7AC _0801B7AA: - ldrh r3, [r4, #6] + ldrh r3, [r4, #6] _0801B7AC: - ldr r4, _0801B80C @ =0x020314E0 - ldr r2, [r4] - movs r5, #0xc9 - lsls r5, r5, #1 - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - cmp r1, r0 - blt _0801B824 - ldr r6, _0801B810 @ =0x000006DD - adds r1, r2, r6 - movs r0, #1 - strb r0, [r1] - ldr r0, [r4] - ldr r2, _0801B814 @ =0x000001A7 - adds r1, r0, r2 - ldrb r1, [r1] - ldr r5, _0801B818 @ =0x000006DC - adds r0, r0, r5 - strb r1, [r0] - ldr r0, [r4] - movs r6, #0xc9 - lsls r6, r6, #1 - adds r1, r0, r6 - ldrb r0, [r1] - subs r0, r0, r3 - strb r0, [r1] - bl m4aMPlayAllStop - movs r0, #0x83 - bl m4aSongNumStart - ldr r0, [r4] - ldr r2, _0801B81C @ =0x000001AB - adds r1, r0, r2 - movs r0, #0x13 - strb r0, [r1] - ldr r0, [r4] - ldr r3, _0801B820 @ =0x00000376 - adds r0, r0, r3 - movs r1, #0x1e - strh r1, [r0] - b _0801B85E - .align 2, 0 + ldr r4, _0801B80C @ =0x020314E0 + ldr r2, [r4] + movs r5, #0xc9 + lsls r5, r5, #1 + adds r0, r2, r5 + ldrb r1, [r0] + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + cmp r1, r0 + blt _0801B824 + ldr r6, _0801B810 @ =0x000006DD + adds r1, r2, r6 + movs r0, #1 + strb r0, [r1] + ldr r0, [r4] + ldr r2, _0801B814 @ =0x000001A7 + adds r1, r0, r2 + ldrb r1, [r1] + ldr r5, _0801B818 @ =0x000006DC + adds r0, r0, r5 + strb r1, [r0] + ldr r0, [r4] + movs r6, #0xc9 + lsls r6, r6, #1 + adds r1, r0, r6 + ldrb r0, [r1] + subs r0, r0, r3 + strb r0, [r1] + bl m4aMPlayAllStop + movs r0, #0x83 + bl m4aSongNumStart + ldr r0, [r4] + ldr r2, _0801B81C @ =0x000001AB + adds r1, r0, r2 + movs r0, #0x13 + strb r0, [r1] + ldr r0, [r4] + ldr r3, _0801B820 @ =0x00000376 + adds r0, r0, r3 + movs r1, #0x1e + strh r1, [r0] + b _0801B85E + .align 2, 0 _0801B804: .4byte 0x000001AF _0801B808: .4byte 0x000003E7 _0801B80C: .4byte 0x020314E0 @@ -54335,140 +54335,140 @@ _0801B818: .4byte 0x000006DC _0801B81C: .4byte 0x000001AB _0801B820: .4byte 0x00000376 _0801B824: - movs r0, #0x8a - bl m4aSongNumStart - b _0801B85E + movs r0, #0x8a + bl m4aSongNumStart + b _0801B85E _0801B82C: - ldrh r1, [r3, #0x18] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0801B85E - ldr r0, _0801B928 @ =0x020314E0 - ldr r2, [r0] - ldr r4, _0801B92C @ =0x000006DD - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0801B870 - ldr r5, _0801B930 @ =0x00000252 - adds r0, r2, r5 - movs r1, #0x1e - strh r1, [r0] - movs r6, #0xdc - lsls r6, r6, #1 - adds r0, r2, r6 - strh r1, [r0] - movs r0, #0x66 - bl m4aSongNumStart + ldrh r1, [r3, #0x18] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _0801B85E + ldr r0, _0801B928 @ =0x020314E0 + ldr r2, [r0] + ldr r4, _0801B92C @ =0x000006DD + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0801B870 + ldr r5, _0801B930 @ =0x00000252 + adds r0, r2, r5 + movs r1, #0x1e + strh r1, [r0] + movs r6, #0xdc + lsls r6, r6, #1 + adds r0, r2, r6 + strh r1, [r0] + movs r0, #0x66 + bl m4aSongNumStart _0801B85E: - ldr r0, _0801B928 @ =0x020314E0 - ldr r0, [r0] - ldr r1, _0801B92C @ =0x000006DD - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0801B8B2 + ldr r0, _0801B928 @ =0x020314E0 + ldr r0, [r0] + ldr r1, _0801B92C @ =0x000006DD + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0801B8B2 _0801B870: - bl sub_2A354 - ldr r0, _0801B928 @ =0x020314E0 - ldr r2, [r0] - ldr r3, _0801B934 @ =0x000006DE - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, #0xb3 - bne _0801B8B2 - ldr r4, _0801B930 @ =0x00000252 - adds r0, r2, r4 - movs r1, #0x1e - strh r1, [r0] - movs r5, #0xdc - lsls r5, r5, #1 - adds r0, r2, r5 - strh r1, [r0] - ldr r1, _0801B938 @ =0x086AD2DE - movs r6, #0xd3 - lsls r6, r6, #1 - adds r0, r2, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - cmp r0, #4 - bne _0801B8B2 - ldr r0, _0801B93C @ =0x000001AF - adds r1, r2, r0 - movs r0, #1 - strb r0, [r1] + bl sub_2A354 + ldr r0, _0801B928 @ =0x020314E0 + ldr r2, [r0] + ldr r3, _0801B934 @ =0x000006DE + adds r0, r2, r3 + ldrh r0, [r0] + cmp r0, #0xb3 + bne _0801B8B2 + ldr r4, _0801B930 @ =0x00000252 + adds r0, r2, r4 + movs r1, #0x1e + strh r1, [r0] + movs r5, #0xdc + lsls r5, r5, #1 + adds r0, r2, r5 + strh r1, [r0] + ldr r1, _0801B938 @ =0x086AD2DE + movs r6, #0xd3 + lsls r6, r6, #1 + adds r0, r2, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r0, [r0] + cmp r0, #4 + bne _0801B8B2 + ldr r0, _0801B93C @ =0x000001AF + adds r1, r2, r0 + movs r0, #1 + strb r0, [r1] _0801B8B2: - ldr r0, _0801B928 @ =0x020314E0 - ldr r2, [r0] - ldr r3, _0801B930 @ =0x00000252 - adds r1, r2, r3 - ldrh r5, [r1] - mov r8, r0 - cmp r5, #0 - bne _0801B8C6 - bl _0801C554 + ldr r0, _0801B928 @ =0x020314E0 + ldr r2, [r0] + ldr r3, _0801B930 @ =0x00000252 + adds r1, r2, r3 + ldrh r5, [r1] + mov r8, r0 + cmp r5, #0 + bne _0801B8C6 + bl _0801C554 _0801B8C6: - subs r0, r5, #1 - strh r0, [r1] - movs r4, #0xdc - lsls r4, r4, #1 - adds r1, r2, r4 - movs r5, #0 - ldrsh r0, [r1, r5] - cmp r0, #0xe - bgt _0801B8DC - movs r0, #0xf - strh r0, [r1] + subs r0, r5, #1 + strh r0, [r1] + movs r4, #0xdc + lsls r4, r4, #1 + adds r1, r2, r4 + movs r5, #0 + ldrsh r0, [r1, r5] + cmp r0, #0xe + bgt _0801B8DC + movs r0, #0xf + strh r0, [r1] _0801B8DC: - mov r6, r8 - ldr r0, [r6] - adds r1, r0, r3 - ldrh r0, [r1] - cmp r0, #4 - bls _0801B8EA - b _0801BA38 + mov r6, r8 + ldr r0, [r6] + adds r1, r0, r3 + ldrh r0, [r1] + cmp r0, #4 + bls _0801B8EA + b _0801BA38 _0801B8EA: - cmp r0, #1 - bls _0801B9A8 - ldr r5, _0801B940 @ =0x0200B0C0 - ldrh r0, [r5, #0x3c] - movs r0, #4 - strh r0, [r5, #0x3c] - ldrh r0, [r1] - cmp r0, #3 - bls _0801B8FE - b _0801BA38 + cmp r0, #1 + bls _0801B9A8 + ldr r5, _0801B940 @ =0x0200B0C0 + ldrh r0, [r5, #0x3c] + movs r0, #4 + strh r0, [r5, #0x3c] + ldrh r0, [r1] + cmp r0, #3 + bls _0801B8FE + b _0801BA38 _0801B8FE: - ldr r3, _0801B944 @ =0x040000D4 - ldr r1, _0801B948 @ =0x02031520 - ldr r4, [r1, #0x30] - str r4, [r3] - ldr r0, _0801B94C @ =0x05000200 - str r0, [r3, #4] - ldr r0, _0801B950 @ =0x80000010 - str r0, [r3, #8] - ldr r0, [r3, #8] - ldrb r0, [r5, #4] - adds r2, r1, #0 - cmp r0, #1 - bne _0801B95C - adds r0, r4, #0 - adds r0, #0x40 - str r0, [r3] - ldr r0, _0801B954 @ =0x05000240 - str r0, [r3, #4] - ldr r0, _0801B958 @ =0x80000060 - b _0801B968 - .align 2, 0 + ldr r3, _0801B944 @ =0x040000D4 + ldr r1, _0801B948 @ =0x02031520 + ldr r4, [r1, #0x30] + str r4, [r3] + ldr r0, _0801B94C @ =0x05000200 + str r0, [r3, #4] + ldr r0, _0801B950 @ =0x80000010 + str r0, [r3, #8] + ldr r0, [r3, #8] + ldrb r0, [r5, #4] + adds r2, r1, #0 + cmp r0, #1 + bne _0801B95C + adds r0, r4, #0 + adds r0, #0x40 + str r0, [r3] + ldr r0, _0801B954 @ =0x05000240 + str r0, [r3, #4] + ldr r0, _0801B958 @ =0x80000060 + b _0801B968 + .align 2, 0 _0801B928: .4byte 0x020314E0 _0801B92C: .4byte 0x000006DD _0801B930: .4byte 0x00000252 @@ -54483,71 +54483,71 @@ _0801B950: .4byte 0x80000010 _0801B954: .4byte 0x05000240 _0801B958: .4byte 0x80000060 _0801B95C: - adds r0, r4, #0 - adds r0, #0x40 - str r0, [r3] - ldr r0, _0801B994 @ =0x05000240 - str r0, [r3, #4] - ldr r0, _0801B998 @ =0x80000070 + adds r0, r4, #0 + adds r0, #0x40 + str r0, [r3] + ldr r0, _0801B994 @ =0x05000240 + str r0, [r3, #4] + ldr r0, _0801B998 @ =0x80000070 _0801B968: - str r0, [r3, #8] - ldr r0, [r3, #8] - ldr r1, _0801B99C @ =0x040000D4 - ldr r0, [r2, #0x30] - movs r2, #0xa0 - lsls r2, r2, #1 - adds r0, r0, r2 - str r0, [r1] - ldr r0, _0801B9A0 @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0801B9A4 @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - mov r3, r8 - ldr r0, [r3] - adds r0, #0x6f - movs r1, #1 - strb r1, [r0] - ldr r0, [r3] - adds r0, #0x70 - b _0801BA36 - .align 2, 0 + str r0, [r3, #8] + ldr r0, [r3, #8] + ldr r1, _0801B99C @ =0x040000D4 + ldr r0, [r2, #0x30] + movs r2, #0xa0 + lsls r2, r2, #1 + adds r0, r0, r2 + str r0, [r1] + ldr r0, _0801B9A0 @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0801B9A4 @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + mov r3, r8 + ldr r0, [r3] + adds r0, #0x6f + movs r1, #1 + strb r1, [r0] + ldr r0, [r3] + adds r0, #0x70 + b _0801BA36 + .align 2, 0 _0801B994: .4byte 0x05000240 _0801B998: .4byte 0x80000070 _0801B99C: .4byte 0x040000D4 _0801B9A0: .4byte 0x05000340 _0801B9A4: .4byte 0x80000030 _0801B9A8: - ldr r5, _0801B9E4 @ =0x0200B0C0 - ldrh r0, [r5, #0x3c] - movs r0, #0 - strh r0, [r5, #0x3c] - ldrh r0, [r1] - cmp r0, #0 - beq _0801B9BA - bl _0801C554 + ldr r5, _0801B9E4 @ =0x0200B0C0 + ldrh r0, [r5, #0x3c] + movs r0, #0 + strh r0, [r5, #0x3c] + ldrh r0, [r1] + cmp r0, #0 + beq _0801B9BA + bl _0801C554 _0801B9BA: - ldr r3, _0801B9E8 @ =0x040000D4 - ldr r1, _0801B9EC @ =0x02031520 - ldr r4, [r1, #0x2c] - str r4, [r3] - ldr r0, _0801B9F0 @ =0x05000200 - str r0, [r3, #4] - ldr r0, _0801B9F4 @ =0x80000010 - str r0, [r3, #8] - ldr r0, [r3, #8] - ldrb r0, [r5, #4] - adds r2, r1, #0 - cmp r0, #1 - bne _0801BA00 - adds r0, r4, #0 - adds r0, #0x40 - str r0, [r3] - ldr r0, _0801B9F8 @ =0x05000240 - str r0, [r3, #4] - ldr r0, _0801B9FC @ =0x80000060 - b _0801BA0C - .align 2, 0 + ldr r3, _0801B9E8 @ =0x040000D4 + ldr r1, _0801B9EC @ =0x02031520 + ldr r4, [r1, #0x2c] + str r4, [r3] + ldr r0, _0801B9F0 @ =0x05000200 + str r0, [r3, #4] + ldr r0, _0801B9F4 @ =0x80000010 + str r0, [r3, #8] + ldr r0, [r3, #8] + ldrb r0, [r5, #4] + adds r2, r1, #0 + cmp r0, #1 + bne _0801BA00 + adds r0, r4, #0 + adds r0, #0x40 + str r0, [r3] + ldr r0, _0801B9F8 @ =0x05000240 + str r0, [r3, #4] + ldr r0, _0801B9FC @ =0x80000060 + b _0801BA0C + .align 2, 0 _0801B9E4: .4byte 0x0200B0C0 _0801B9E8: .4byte 0x040000D4 _0801B9EC: .4byte 0x02031520 @@ -54556,65 +54556,65 @@ _0801B9F4: .4byte 0x80000010 _0801B9F8: .4byte 0x05000240 _0801B9FC: .4byte 0x80000060 _0801BA00: - adds r0, r4, #0 - adds r0, #0x40 - str r0, [r3] - ldr r0, _0801BA74 @ =0x05000240 - str r0, [r3, #4] - ldr r0, _0801BA78 @ =0x80000070 + adds r0, r4, #0 + adds r0, #0x40 + str r0, [r3] + ldr r0, _0801BA74 @ =0x05000240 + str r0, [r3, #4] + ldr r0, _0801BA78 @ =0x80000070 _0801BA0C: - str r0, [r3, #8] - ldr r0, [r3, #8] - ldr r1, _0801BA7C @ =0x040000D4 - ldr r0, [r2, #0x2c] - movs r4, #0xa0 - lsls r4, r4, #1 - adds r0, r0, r4 - str r0, [r1] - ldr r0, _0801BA80 @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0801BA84 @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - mov r5, r8 - ldr r0, [r5] - adds r0, #0x6f - movs r1, #0 - strb r1, [r0] - ldr r0, [r5] - adds r0, #0x70 - movs r1, #1 + str r0, [r3, #8] + ldr r0, [r3, #8] + ldr r1, _0801BA7C @ =0x040000D4 + ldr r0, [r2, #0x2c] + movs r4, #0xa0 + lsls r4, r4, #1 + adds r0, r0, r4 + str r0, [r1] + ldr r0, _0801BA80 @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0801BA84 @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + mov r5, r8 + ldr r0, [r5] + adds r0, #0x6f + movs r1, #0 + strb r1, [r0] + ldr r0, [r5] + adds r0, #0x70 + movs r1, #1 _0801BA36: - strb r1, [r0] + strb r1, [r0] _0801BA38: - mov r6, r8 - ldr r1, [r6] - ldr r2, _0801BA88 @ =0x00000252 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #0 - beq _0801BA4A - bl _0801C554 + mov r6, r8 + ldr r1, [r6] + ldr r2, _0801BA88 @ =0x00000252 + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #0 + beq _0801BA4A + bl _0801C554 _0801BA4A: - ldr r0, _0801BA8C @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _0801BA9C - ldr r3, _0801BA90 @ =0x00000283 - adds r0, r1, r3 - 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 _0801BA94 - movs r0, #0x1c - bl m4aSongNumStart - b _0801BAC6 - .align 2, 0 + ldr r0, _0801BA8C @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #0 + bne _0801BA9C + ldr r3, _0801BA90 @ =0x00000283 + adds r0, r1, r3 + 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 _0801BA94 + movs r0, #0x1c + bl m4aSongNumStart + b _0801BAC6 + .align 2, 0 _0801BA74: .4byte 0x05000240 _0801BA78: .4byte 0x80000070 _0801BA7C: .4byte 0x040000D4 @@ -54624,321 +54624,321 @@ _0801BA88: .4byte 0x00000252 _0801BA8C: .4byte 0x0200B0C0 _0801BA90: .4byte 0x00000283 _0801BA94: - movs r0, #0x5b - bl m4aSongNumStart - b _0801BAC6 + movs r0, #0x5b + bl m4aSongNumStart + b _0801BAC6 _0801BA9C: - ldr r4, _0801BABC @ =0x00000283 - adds r0, r1, r4 - 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 _0801BAC0 - movs r0, #0x20 - bl m4aSongNumStart - b _0801BAC6 - .align 2, 0 + ldr r4, _0801BABC @ =0x00000283 + adds r0, r1, r4 + 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 _0801BAC0 + movs r0, #0x20 + bl m4aSongNumStart + b _0801BAC6 + .align 2, 0 _0801BABC: .4byte 0x00000283 _0801BAC0: - movs r0, #0x5c - bl m4aSongNumStart + movs r0, #0x5c + bl m4aSongNumStart _0801BAC6: - ldr r0, _0801BAE4 @ =0x020314E0 - ldr r1, [r0] - adds r0, r1, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bne _0801BAEC - ldr r5, _0801BAE8 @ =0x000006DE - adds r1, r1, r5 - movs r0, #0xaa - strh r0, [r1] - b _0801BAF0 - .align 2, 0 + ldr r0, _0801BAE4 @ =0x020314E0 + ldr r1, [r0] + adds r0, r1, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bne _0801BAEC + ldr r5, _0801BAE8 @ =0x000006DE + adds r1, r1, r5 + movs r0, #0xaa + strh r0, [r1] + b _0801BAF0 + .align 2, 0 _0801BAE4: .4byte 0x020314E0 _0801BAE8: .4byte 0x000006DE _0801BAEC: - movs r0, #0x18 - strh r0, [r1, #0x28] + movs r0, #0x18 + strh r0, [r1, #0x28] _0801BAF0: - ldr r0, _0801BB08 @ =0x020314E0 - ldr r0, [r0] - ldrb r0, [r0, #0x13] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _0801BB0C - movs r0, #1 - movs r1, #0 - bl sub_1C7F4 - b _0801BB14 - .align 2, 0 + ldr r0, _0801BB08 @ =0x020314E0 + ldr r0, [r0] + ldrb r0, [r0, #0x13] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _0801BB0C + movs r0, #1 + movs r1, #0 + bl sub_1C7F4 + b _0801BB14 + .align 2, 0 _0801BB08: .4byte 0x020314E0 _0801BB0C: - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 _0801BB14: - ldr r3, _0801BB54 @ =0x020314E0 - ldr r0, [r3] - ldr r6, _0801BB58 @ =0x000006C4 - adds r0, r0, r6 - movs r2, #0 - strb r2, [r0] - ldr r0, [r3] - ldr r1, _0801BB5C @ =0x000006DB - adds r0, r0, r1 - movs r1, #3 - strb r1, [r0] - ldr r0, [r3] - ldr r4, _0801BB60 @ =0x000006DD - adds r0, r0, r4 - strb r2, [r0] - ldr r1, _0801BB64 @ =0x0200B0C0 - ldr r0, [r1, #0x44] - ldr r0, [r0, #0x1c] - movs r4, #0 - strh r2, [r0] - ldr r0, [r1, #0x44] - ldr r0, [r0, #0x20] - strh r2, [r0] - ldr r0, [r1, #0x44] - ldr r0, [r0, #0x18] - strh r2, [r0] - ldr r0, [r1, #0x44] - ldr r0, [r0, #0x24] - strh r2, [r0] - ldr r0, [r3] - bl _0801C528 - .align 2, 0 + ldr r3, _0801BB54 @ =0x020314E0 + ldr r0, [r3] + ldr r6, _0801BB58 @ =0x000006C4 + adds r0, r0, r6 + movs r2, #0 + strb r2, [r0] + ldr r0, [r3] + ldr r1, _0801BB5C @ =0x000006DB + adds r0, r0, r1 + movs r1, #3 + strb r1, [r0] + ldr r0, [r3] + ldr r4, _0801BB60 @ =0x000006DD + adds r0, r0, r4 + strb r2, [r0] + ldr r1, _0801BB64 @ =0x0200B0C0 + ldr r0, [r1, #0x44] + ldr r0, [r0, #0x1c] + movs r4, #0 + strh r2, [r0] + ldr r0, [r1, #0x44] + ldr r0, [r0, #0x20] + strh r2, [r0] + ldr r0, [r1, #0x44] + ldr r0, [r0, #0x18] + strh r2, [r0] + ldr r0, [r1, #0x44] + ldr r0, [r0, #0x24] + strh r2, [r0] + ldr r0, [r3] + bl _0801C528 + .align 2, 0 _0801BB54: .4byte 0x020314E0 _0801BB58: .4byte 0x000006C4 _0801BB5C: .4byte 0x000006DB _0801BB60: .4byte 0x000006DD _0801BB64: .4byte 0x0200B0C0 - thumb_func_start sub_1BB68 + thumb_func_start sub_1BB68 sub_1BB68: @ 0x0801BB68 - movs r5, #0 - mov r6, r8 - ldr r1, [r6] - ldr r2, _0801BD0C @ =0x00000281 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bgt _0801BB80 - bl sub_1C544 + movs r5, #0 + mov r6, r8 + ldr r1, [r6] + ldr r2, _0801BD0C @ =0x00000281 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bgt _0801BB80 + bl sub_1C544 _0801BB80: - movs r6, #0xdd - lsls r6, r6, #1 - adds r0, r1, r6 - ldrh r0, [r0] - cmp r0, #0x95 - bne _0801BC52 - bl m4aMPlayAllStop - ldr r3, _0801BD10 @ =0x0200B0C0 - ldrb r1, [r3, #0xf] - movs r0, #1 - orrs r0, r1 - strb r0, [r3, #0xf] - mov r0, r8 - ldr r4, [r0] - adds r0, r4, #0 - adds r0, #0xea - movs r2, #0 - strh r5, [r0] - adds r1, r4, #0 - adds r1, #0xec - movs r0, #0x78 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xe8 - strh r5, [r0] - subs r0, #2 - strh r5, [r0] - adds r0, #8 - strh r5, [r0] - adds r1, #6 - movs r0, #3 - strb r0, [r1] - mov r1, r8 - ldr r0, [r1] - adds r0, #0xfa - movs r1, #1 - strb r1, [r0] - mov r4, r8 - ldr r0, [r4] - adds r0, #0xfb - strb r2, [r0] - ldr r4, [r4] - adds r1, r4, #0 - adds r1, #0xf4 - movs r0, #0x50 - strh r0, [r1] - adds r1, #2 - ldr r0, _0801BD14 @ =0x0000F63C - strh r0, [r1] - subs r1, #6 - movs r0, #0x32 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xf8 - strh r5, [r0] - ldr r1, _0801BD18 @ =0x040000D4 - ldr r0, _0801BD1C @ =0x086ACEF8 - ldr r0, [r0, #0xc] - str r0, [r1] - ldr r0, _0801BD20 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _0801BD24 @ =0x80001200 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0801BD28 @ =0x086ACF18 - ldr r0, [r0, #0xc] - str r0, [r1] - ldr r0, _0801BD2C @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _0801BD30 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldrh r0, [r3, #0x38] - movs r0, #0xce - strh r0, [r3, #0x38] - mov r0, r8 - ldr r3, [r0] - adds r1, r3, r6 - movs r0, #0x94 - strh r0, [r1] - movs r1, #0xa0 - lsls r1, r1, #2 - adds r0, r3, r1 - strb r2, [r0] - mov r3, r8 - ldr r0, [r3] - movs r4, #0xd3 - lsls r4, r4, #1 - adds r0, r0, r4 - strb r2, [r0] - ldr r0, [r3] - subs r1, #0x24 - adds r0, r0, r1 - strb r2, [r0] - ldr r0, [r3] - movs r3, #0xd8 - lsls r3, r3, #1 - adds r0, r0, r3 - strb r2, [r0] - mov r4, r8 - ldr r0, [r4] - subs r1, #0xaa - adds r0, r0, r1 - strh r5, [r0] + movs r6, #0xdd + lsls r6, r6, #1 + adds r0, r1, r6 + ldrh r0, [r0] + cmp r0, #0x95 + bne _0801BC52 + bl m4aMPlayAllStop + ldr r3, _0801BD10 @ =0x0200B0C0 + ldrb r1, [r3, #0xf] + movs r0, #1 + orrs r0, r1 + strb r0, [r3, #0xf] + mov r0, r8 + ldr r4, [r0] + adds r0, r4, #0 + adds r0, #0xea + movs r2, #0 + strh r5, [r0] + adds r1, r4, #0 + adds r1, #0xec + movs r0, #0x78 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xe8 + strh r5, [r0] + subs r0, #2 + strh r5, [r0] + adds r0, #8 + strh r5, [r0] + adds r1, #6 + movs r0, #3 + strb r0, [r1] + mov r1, r8 + ldr r0, [r1] + adds r0, #0xfa + movs r1, #1 + strb r1, [r0] + mov r4, r8 + ldr r0, [r4] + adds r0, #0xfb + strb r2, [r0] + ldr r4, [r4] + adds r1, r4, #0 + adds r1, #0xf4 + movs r0, #0x50 + strh r0, [r1] + adds r1, #2 + ldr r0, _0801BD14 @ =0x0000F63C + strh r0, [r1] + subs r1, #6 + movs r0, #0x32 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xf8 + strh r5, [r0] + ldr r1, _0801BD18 @ =0x040000D4 + ldr r0, _0801BD1C @ =0x086ACEF8 + ldr r0, [r0, #0xc] + str r0, [r1] + ldr r0, _0801BD20 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _0801BD24 @ =0x80001200 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0801BD28 @ =0x086ACF18 + ldr r0, [r0, #0xc] + str r0, [r1] + ldr r0, _0801BD2C @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _0801BD30 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldrh r0, [r3, #0x38] + movs r0, #0xce + strh r0, [r3, #0x38] + mov r0, r8 + ldr r3, [r0] + adds r1, r3, r6 + movs r0, #0x94 + strh r0, [r1] + movs r1, #0xa0 + lsls r1, r1, #2 + adds r0, r3, r1 + strb r2, [r0] + mov r3, r8 + ldr r0, [r3] + movs r4, #0xd3 + lsls r4, r4, #1 + adds r0, r0, r4 + strb r2, [r0] + ldr r0, [r3] + subs r1, #0x24 + adds r0, r0, r1 + strb r2, [r0] + ldr r0, [r3] + movs r3, #0xd8 + lsls r3, r3, #1 + adds r0, r0, r3 + strb r2, [r0] + mov r4, r8 + ldr r0, [r4] + subs r1, #0xaa + adds r0, r0, r1 + strh r5, [r0] _0801BC52: - mov r2, r8 - ldr r1, [r2] - adds r0, r1, r6 - ldrh r0, [r0] - cmp r0, #0x92 - bne _0801BC82 - adds r1, #0xe4 - movs r0, #0x12 - strb r0, [r1] - ldr r1, _0801BD18 @ =0x040000D4 - ldr r0, _0801BD34 @ =0x084F61EC - str r0, [r1] - ldr r0, _0801BD38 @ =0x06015C00 - str r0, [r1, #4] - ldr r0, _0801BD3C @ =0x800004A0 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0801BD40 @ =0x081B4584 - str r0, [r1] - ldr r0, _0801BD44 @ =0x05000180 - str r0, [r1, #4] - ldr r0, _0801BD30 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] + mov r2, r8 + ldr r1, [r2] + adds r0, r1, r6 + ldrh r0, [r0] + cmp r0, #0x92 + bne _0801BC82 + adds r1, #0xe4 + movs r0, #0x12 + strb r0, [r1] + ldr r1, _0801BD18 @ =0x040000D4 + ldr r0, _0801BD34 @ =0x084F61EC + str r0, [r1] + ldr r0, _0801BD38 @ =0x06015C00 + str r0, [r1, #4] + ldr r0, _0801BD3C @ =0x800004A0 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0801BD40 @ =0x081B4584 + str r0, [r1] + ldr r0, _0801BD44 @ =0x05000180 + str r0, [r1, #4] + ldr r0, _0801BD30 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] _0801BC82: - mov r3, r8 - ldr r1, [r3] - adds r0, r1, r6 - ldrh r0, [r0] - cmp r0, #0x91 - beq _0801BC90 - b _0801BDAC + mov r3, r8 + ldr r1, [r3] + adds r0, r1, r6 + ldrh r0, [r0] + cmp r0, #0x91 + beq _0801BC90 + b _0801BDAC _0801BC90: - movs r4, #0xd4 - lsls r4, r4, #1 - adds r0, r1, r4 - strb r5, [r0] - ldr r1, [r3] - movs r5, #0xa0 - lsls r5, r5, #2 - adds r0, r1, r5 - movs r2, #0 - ldrsb r2, [r0, r2] - movs r6, #0x9c - lsls r6, r6, #2 - adds r0, r1, r6 - adds r0, r0, r2 - ldrb r3, [r0] - movs r0, #0xb3 - lsls r0, r0, #3 - adds r2, r1, r0 - movs r4, #0 - strh r3, [r2] - ldr r2, _0801BD48 @ =0x0000025D - adds r1, r1, r2 - strb r4, [r1] - ldr r6, _0801BD4C @ =0x086A3700 - mov r1, r8 - ldr r5, [r1] - adds r0, r5, r0 - ldrh r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r6 - ldrb r4, [r0, #0x15] - cmp r4, #0xcc - bgt _0801BCF8 - adds r1, r5, r2 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r4, #1 - adds r0, r0, r4 - lsls r0, r0, #3 - adds r0, r0, r6 - ldrb r0, [r0, #0x15] - cmp r0, #0xcc - bgt _0801BCF8 - mov r3, r8 - ldr r1, [r3] - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + movs r4, #0xd4 + lsls r4, r4, #1 + adds r0, r1, r4 + strb r5, [r0] + ldr r1, [r3] + movs r5, #0xa0 + lsls r5, r5, #2 + adds r0, r1, r5 + movs r2, #0 + ldrsb r2, [r0, r2] + movs r6, #0x9c + lsls r6, r6, #2 + adds r0, r1, r6 + adds r0, r0, r2 + ldrb r3, [r0] + movs r0, #0xb3 + lsls r0, r0, #3 + adds r2, r1, r0 + movs r4, #0 + strh r3, [r2] + ldr r2, _0801BD48 @ =0x0000025D + adds r1, r1, r2 + strb r4, [r1] + ldr r6, _0801BD4C @ =0x086A3700 + mov r1, r8 + ldr r5, [r1] + adds r0, r5, r0 + ldrh r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r6 + ldrb r4, [r0, #0x15] + cmp r4, #0xcc + bgt _0801BCF8 + adds r1, r5, r2 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r4, #1 + adds r0, r0, r4 + lsls r0, r0, #3 + adds r0, r0, r6 + ldrb r0, [r0, #0x15] + cmp r0, #0xcc + bgt _0801BCF8 + mov r3, r8 + ldr r1, [r3] + adds r1, r1, r2 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0801BCF8: - bl sub_22FA4 - ldr r0, _0801BD10 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _0801BD50 - movs r0, #0x1e - bl m4aSongNumStart - b _0801BD56 - .align 2, 0 + bl sub_22FA4 + ldr r0, _0801BD10 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #0 + bne _0801BD50 + movs r0, #0x1e + bl m4aSongNumStart + b _0801BD56 + .align 2, 0 _0801BD0C: .4byte 0x00000281 _0801BD10: .4byte 0x0200B0C0 _0801BD14: .4byte 0x0000F63C @@ -54957,99 +54957,99 @@ _0801BD44: .4byte 0x05000180 _0801BD48: .4byte 0x0000025D _0801BD4C: .4byte 0x086A3700 _0801BD50: - movs r0, #0x22 - bl m4aSongNumStart + movs r0, #0x22 + bl m4aSongNumStart _0801BD56: - adds r0, r7, #0 - bl sub_21FBC - ldr r3, _0801BE08 @ =0x0200B0C0 - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x20] - movs r5, #0 - movs r4, #1 - strh r4, [r0] - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x24] - strh r4, [r0] - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x18] - strh r4, [r0] - ldr r2, _0801BE0C @ =0x040000D4 - ldr r0, _0801BE10 @ =0x081B8784 - str r0, [r2] - ldr r0, _0801BE14 @ =0x050003C0 - str r0, [r2, #4] - ldr r0, _0801BE18 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r6, _0801BE1C @ =0x000002EA - adds r1, r3, r6 - movs r0, #0x50 - strh r0, [r1] - strh r5, [r3, #0x2a] - ldr r0, _0801BE20 @ =0x020314E0 - ldr r0, [r0] - movs r1, #0xdc - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #0xf - strh r1, [r0] - strh r4, [r3, #0x28] - ldr r0, _0801BE24 @ =0x081B4784 - str r0, [r2] - ldr r0, _0801BE28 @ =0x06002000 - str r0, [r2, #4] - ldr r0, _0801BE2C @ =0x80000620 - str r0, [r2, #8] - ldr r0, [r2, #8] + adds r0, r7, #0 + bl sub_21FBC + ldr r3, _0801BE08 @ =0x0200B0C0 + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x20] + movs r5, #0 + movs r4, #1 + strh r4, [r0] + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x24] + strh r4, [r0] + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x18] + strh r4, [r0] + ldr r2, _0801BE0C @ =0x040000D4 + ldr r0, _0801BE10 @ =0x081B8784 + str r0, [r2] + ldr r0, _0801BE14 @ =0x050003C0 + str r0, [r2, #4] + ldr r0, _0801BE18 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r6, _0801BE1C @ =0x000002EA + adds r1, r3, r6 + movs r0, #0x50 + strh r0, [r1] + strh r5, [r3, #0x2a] + ldr r0, _0801BE20 @ =0x020314E0 + ldr r0, [r0] + movs r1, #0xdc + lsls r1, r1, #1 + adds r0, r0, r1 + movs r1, #0xf + strh r1, [r0] + strh r4, [r3, #0x28] + ldr r0, _0801BE24 @ =0x081B4784 + str r0, [r2] + ldr r0, _0801BE28 @ =0x06002000 + str r0, [r2, #4] + ldr r0, _0801BE2C @ =0x80000620 + str r0, [r2, #8] + ldr r0, [r2, #8] _0801BDAC: - ldr r4, _0801BE20 @ =0x020314E0 - ldr r2, [r4] - movs r3, #0xdd - lsls r3, r3, #1 - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, #0x90 - bls _0801BDBE - b _0801C2D8 + ldr r4, _0801BE20 @ =0x020314E0 + ldr r2, [r4] + movs r3, #0xdd + lsls r3, r3, #1 + adds r0, r2, r3 + ldrh r0, [r0] + cmp r0, #0x90 + bls _0801BDBE + b _0801C2D8 _0801BDBE: - movs r5, #0xdc - lsls r5, r5, #3 - adds r1, r2, r5 - movs r6, #0 - movs r0, #0 - strh r0, [r1] - ldr r0, _0801BE30 @ =0x000006C4 - adds r1, r2, r0 - movs r0, #2 - strb r0, [r1] - ldr r0, [r4] - ldr r1, _0801BE34 @ =0x000006DB - adds r0, r0, r1 - strb r6, [r0] - ldr r3, [r4] - movs r5, #0xdc - lsls r5, r5, #1 - adds r2, r3, r5 - ldrh r1, [r2] - movs r5, #0 - ldrsh r0, [r2, r5] - cmp r0, #0 - ble _0801BE74 - subs r1, #1 - strh r1, [r2] - movs r6, #0xd8 - lsls r6, r6, #1 - adds r0, r3, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0801BE38 - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - b _0801BE58 - .align 2, 0 + movs r5, #0xdc + lsls r5, r5, #3 + adds r1, r2, r5 + movs r6, #0 + movs r0, #0 + strh r0, [r1] + ldr r0, _0801BE30 @ =0x000006C4 + adds r1, r2, r0 + movs r0, #2 + strb r0, [r1] + ldr r0, [r4] + ldr r1, _0801BE34 @ =0x000006DB + adds r0, r0, r1 + strb r6, [r0] + ldr r3, [r4] + movs r5, #0xdc + lsls r5, r5, #1 + adds r2, r3, r5 + ldrh r1, [r2] + movs r5, #0 + ldrsh r0, [r2, r5] + cmp r0, #0 + ble _0801BE74 + subs r1, #1 + strh r1, [r2] + movs r6, #0xd8 + lsls r6, r6, #1 + adds r0, r3, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0801BE38 + lsls r0, r1, #0x10 + asrs r0, r0, #0x10 + b _0801BE58 + .align 2, 0 _0801BE08: .4byte 0x0200B0C0 _0801BE0C: .4byte 0x040000D4 _0801BE10: .4byte 0x081B8784 @@ -55063,587 +55063,587 @@ _0801BE2C: .4byte 0x80000620 _0801BE30: .4byte 0x000006C4 _0801BE34: .4byte 0x000006DB _0801BE38: - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xe - ble _0801BE64 - movs r0, #0 - ldrsh r1, [r2, r0] - movs r0, #0x1e - subs r0, r0, r1 - lsls r1, r0, #3 - subs r1, r1, r0 - movs r4, #0xdb - lsls r4, r4, #1 - adds r0, r3, r4 - strh r1, [r0] - movs r5, #0 - ldrsh r0, [r2, r5] + lsls r0, r1, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xe + ble _0801BE64 + movs r0, #0 + ldrsh r1, [r2, r0] + movs r0, #0x1e + subs r0, r0, r1 + lsls r1, r0, #3 + subs r1, r1, r0 + movs r4, #0xdb + lsls r4, r4, #1 + adds r0, r3, r4 + strh r1, [r0] + movs r5, #0 + ldrsh r0, [r2, r5] _0801BE58: - cmp r0, #0xf - beq _0801BE5E - b _0801C1FA + cmp r0, #0xf + beq _0801BE5E + b _0801C1FA _0801BE5E: - bl sub_22FA4 - b _0801C1FA + bl sub_22FA4 + b _0801C1FA _0801BE64: - movs r6, #0 - ldrsh r1, [r2, r6] - lsls r0, r1, #3 - subs r0, r0, r1 - movs r2, #0xdb - lsls r2, r2, #1 - adds r1, r3, r2 - b _0801C1F8 + movs r6, #0 + ldrsh r1, [r2, r6] + lsls r0, r1, #3 + subs r0, r0, r1 + movs r2, #0xdb + lsls r2, r2, #1 + adds r1, r3, r2 + b _0801C1F8 _0801BE74: - ldr r5, _0801BEAC @ =0x00000281 - adds r0, r3, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bgt _0801BE84 - b _0801BFA6 + ldr r5, _0801BEAC @ =0x00000281 + adds r0, r3, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bgt _0801BE84 + b _0801BFA6 _0801BE84: - ldr r0, _0801BEB0 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0801BEEC - movs r0, #0x82 - bl m4aSongNumStart - ldr r2, [r4] - movs r3, #0xa0 - lsls r3, r3, #2 - adds r1, r2, r3 - ldrb r3, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - ble _0801BEB4 - subs r0, r3, #1 - b _0801BEBA - .align 2, 0 + ldr r0, _0801BEB0 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x20 + ands r0, r1 + cmp r0, #0 + beq _0801BEEC + movs r0, #0x82 + bl m4aSongNumStart + ldr r2, [r4] + movs r3, #0xa0 + lsls r3, r3, #2 + adds r1, r2, r3 + ldrb r3, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + ble _0801BEB4 + subs r0, r3, #1 + b _0801BEBA + .align 2, 0 _0801BEAC: .4byte 0x00000281 _0801BEB0: .4byte 0x0200B0C0 _0801BEB4: - adds r0, r2, r5 - ldrb r0, [r0] - subs r0, #1 + adds r0, r2, r5 + ldrb r0, [r0] + subs r0, #1 _0801BEBA: - strb r0, [r1] - ldr r5, _0801BEE8 @ =0x020314E0 - ldr r4, [r5] - movs r6, #0xa0 - lsls r6, r6, #2 - adds r0, r4, r6 - movs r1, #0 - ldrsb r1, [r0, r1] - movs r2, #0x9c - lsls r2, r2, #2 - adds r0, r4, r2 - adds r0, r0, r1 - ldrb r1, [r0] - movs r3, #0xb3 - lsls r3, r3, #3 - adds r0, r4, r3 - movs r2, #0 - strh r1, [r0] - subs r6, #0xd8 - adds r1, r4, r6 - movs r0, #1 - strb r0, [r1] - b _0801BF48 - .align 2, 0 + strb r0, [r1] + ldr r5, _0801BEE8 @ =0x020314E0 + ldr r4, [r5] + movs r6, #0xa0 + lsls r6, r6, #2 + adds r0, r4, r6 + movs r1, #0 + ldrsb r1, [r0, r1] + movs r2, #0x9c + lsls r2, r2, #2 + adds r0, r4, r2 + adds r0, r0, r1 + ldrb r1, [r0] + movs r3, #0xb3 + lsls r3, r3, #3 + adds r0, r4, r3 + movs r2, #0 + strh r1, [r0] + subs r6, #0xd8 + adds r1, r4, r6 + movs r0, #1 + strb r0, [r1] + b _0801BF48 + .align 2, 0 _0801BEE8: .4byte 0x020314E0 _0801BEEC: - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0801BFA6 - movs r0, #0x82 - bl m4aSongNumStart - ldr r0, [r4] - movs r1, #0xa0 - lsls r1, r1, #2 - adds r2, r0, r1 - movs r1, #0 - ldrsb r1, [r2, r1] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #1 - cmp r1, r0 - bge _0801BF1C - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - b _0801BF1E + movs r0, #0x10 + ands r0, r1 + cmp r0, #0 + beq _0801BFA6 + movs r0, #0x82 + bl m4aSongNumStart + ldr r0, [r4] + movs r1, #0xa0 + lsls r1, r1, #2 + adds r2, r0, r1 + movs r1, #0 + ldrsb r1, [r2, r1] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r0, #1 + cmp r1, r0 + bge _0801BF1C + ldrb r0, [r2] + adds r0, #1 + strb r0, [r2] + b _0801BF1E _0801BF1C: - strb r6, [r2] + strb r6, [r2] _0801BF1E: - ldr r5, _0801C000 @ =0x020314E0 - ldr r4, [r5] - movs r2, #0xa0 - lsls r2, r2, #2 - adds r0, r4, r2 - movs r1, #0 - ldrsb r1, [r0, r1] - movs r3, #0x9c - lsls r3, r3, #2 - adds r0, r4, r3 - adds r0, r0, r1 - ldrb r1, [r0] - movs r3, #0xb3 - lsls r3, r3, #3 - adds r0, r4, r3 - movs r2, #0 - strh r1, [r0] - movs r6, #0xd4 - lsls r6, r6, #1 - adds r0, r4, r6 - strb r2, [r0] + ldr r5, _0801C000 @ =0x020314E0 + ldr r4, [r5] + movs r2, #0xa0 + lsls r2, r2, #2 + adds r0, r4, r2 + movs r1, #0 + ldrsb r1, [r0, r1] + movs r3, #0x9c + lsls r3, r3, #2 + adds r0, r4, r3 + adds r0, r0, r1 + ldrb r1, [r0] + movs r3, #0xb3 + lsls r3, r3, #3 + adds r0, r4, r3 + movs r2, #0 + strh r1, [r0] + movs r6, #0xd4 + lsls r6, r6, #1 + adds r0, r4, r6 + strb r2, [r0] _0801BF48: - ldr r4, [r5] - movs r0, #0xdc - lsls r0, r0, #1 - adds r1, r4, r0 - movs r0, #0x1e - strh r0, [r1] - movs r1, #0x97 - lsls r1, r1, #2 - adds r0, r4, r1 - strb r2, [r0] - ldr r0, [r5] - movs r4, #0xd8 - lsls r4, r4, #1 - adds r0, r0, r4 - strb r2, [r0] - ldr r0, [r5] - ldr r7, _0801C004 @ =0x0000025D - adds r0, r0, r7 - strb r2, [r0] - ldr r6, _0801C008 @ =0x086A3700 - ldr r4, [r5] - adds r3, r4, r3 - ldrh r1, [r3] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r6 - ldrb r2, [r0, #0x15] - cmp r2, #0xcc - bgt _0801BFA6 - adds r0, r7, #0 - adds r1, r4, r0 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r0, r0, r6 - ldrb r0, [r0, #0x15] - cmp r0, #0xcc - bgt _0801BFA6 - ldr r1, [r5] - adds r1, r1, r7 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldr r4, [r5] + movs r0, #0xdc + lsls r0, r0, #1 + adds r1, r4, r0 + movs r0, #0x1e + strh r0, [r1] + movs r1, #0x97 + lsls r1, r1, #2 + adds r0, r4, r1 + strb r2, [r0] + ldr r0, [r5] + movs r4, #0xd8 + lsls r4, r4, #1 + adds r0, r0, r4 + strb r2, [r0] + ldr r0, [r5] + ldr r7, _0801C004 @ =0x0000025D + adds r0, r0, r7 + strb r2, [r0] + ldr r6, _0801C008 @ =0x086A3700 + ldr r4, [r5] + adds r3, r4, r3 + ldrh r1, [r3] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r6 + ldrb r2, [r0, #0x15] + cmp r2, #0xcc + bgt _0801BFA6 + adds r0, r7, #0 + adds r1, r4, r0 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #3 + adds r0, r0, r6 + ldrb r0, [r0, #0x15] + cmp r0, #0xcc + bgt _0801BFA6 + ldr r1, [r5] + adds r1, r1, r7 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0801BFA6: - ldr r0, _0801C00C @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0801C070 - ldr r6, _0801C000 @ =0x020314E0 - ldr r1, [r6] - movs r7, #0x97 - lsls r7, r7, #2 - adds r0, r1, r7 - movs r4, #0 - ldrsb r4, [r0, r4] - cmp r4, #0 - bne _0801C014 - ldr r2, _0801C008 @ =0x086A3700 - movs r3, #0xb3 - lsls r3, r3, #3 - adds r0, r1, r3 - ldrh r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r2 - ldrb r5, [r0, #0x15] - cmp r5, #0xcc - bgt _0801C058 - movs r0, #0x82 - bl m4aSongNumStart - ldr r1, [r6] - ldr r4, _0801C010 @ =0x0000059A - adds r0, r1, r4 - strh r5, [r0] - movs r5, #0xdc - lsls r5, r5, #1 - adds r2, r1, r5 - movs r0, #0x1e - strh r0, [r2] - movs r0, #0xd8 - lsls r0, r0, #1 - adds r1, r1, r0 - movs r0, #1 - strb r0, [r1] - b _0801C04E - .align 2, 0 + ldr r0, _0801C00C @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _0801C070 + ldr r6, _0801C000 @ =0x020314E0 + ldr r1, [r6] + movs r7, #0x97 + lsls r7, r7, #2 + adds r0, r1, r7 + movs r4, #0 + ldrsb r4, [r0, r4] + cmp r4, #0 + bne _0801C014 + ldr r2, _0801C008 @ =0x086A3700 + movs r3, #0xb3 + lsls r3, r3, #3 + adds r0, r1, r3 + ldrh r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r2 + ldrb r5, [r0, #0x15] + cmp r5, #0xcc + bgt _0801C058 + movs r0, #0x82 + bl m4aSongNumStart + ldr r1, [r6] + ldr r4, _0801C010 @ =0x0000059A + adds r0, r1, r4 + strh r5, [r0] + movs r5, #0xdc + lsls r5, r5, #1 + adds r2, r1, r5 + movs r0, #0x1e + strh r0, [r2] + movs r0, #0xd8 + lsls r0, r0, #1 + adds r1, r1, r0 + movs r0, #1 + strb r0, [r1] + b _0801C04E + .align 2, 0 _0801C000: .4byte 0x020314E0 _0801C004: .4byte 0x0000025D _0801C008: .4byte 0x086A3700 _0801C00C: .4byte 0x0200B0C0 _0801C010: .4byte 0x0000059A _0801C014: - cmp r4, #1 - bne _0801C058 - ldr r2, _0801C064 @ =0x086A3700 - ldr r3, _0801C068 @ =0x0000059A - adds r0, r1, r3 - ldrh r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r2 - ldrb r5, [r0, #0x15] - cmp r5, #0xcc - bgt _0801C058 - movs r0, #0x82 - bl m4aSongNumStart - ldr r1, [r6] - ldr r2, _0801C068 @ =0x0000059A - adds r0, r1, r2 - strh r5, [r0] - movs r3, #0xdc - lsls r3, r3, #1 - adds r2, r1, r3 - movs r0, #0x1e - strh r0, [r2] - movs r5, #0xd8 - lsls r5, r5, #1 - adds r1, r1, r5 - strb r4, [r1] + cmp r4, #1 + bne _0801C058 + ldr r2, _0801C064 @ =0x086A3700 + ldr r3, _0801C068 @ =0x0000059A + adds r0, r1, r3 + ldrh r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r2 + ldrb r5, [r0, #0x15] + cmp r5, #0xcc + bgt _0801C058 + movs r0, #0x82 + bl m4aSongNumStart + ldr r1, [r6] + ldr r2, _0801C068 @ =0x0000059A + adds r0, r1, r2 + strh r5, [r0] + movs r3, #0xdc + lsls r3, r3, #1 + adds r2, r1, r3 + movs r0, #0x1e + strh r0, [r2] + movs r5, #0xd8 + lsls r5, r5, #1 + adds r1, r1, r5 + strb r4, [r1] _0801C04E: - ldr r1, [r6] - adds r1, r1, r7 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldr r1, [r6] + adds r1, r1, r7 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0801C058: - ldr r0, _0801C06C @ =0x020314E0 - ldr r0, [r0] - movs r6, #0xd9 - lsls r6, r6, #1 - adds r1, r0, r6 - b _0801C116 - .align 2, 0 + ldr r0, _0801C06C @ =0x020314E0 + ldr r0, [r0] + movs r6, #0xd9 + lsls r6, r6, #1 + adds r1, r0, r6 + b _0801C116 + .align 2, 0 _0801C064: .4byte 0x086A3700 _0801C068: .4byte 0x0000059A _0801C06C: .4byte 0x020314E0 _0801C070: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801C11A - ldr r6, _0801C0BC @ =0x020314E0 - ldr r1, [r6] - movs r7, #0x97 - lsls r7, r7, #2 - adds r0, r1, r7 - movs r4, #0 - ldrsb r4, [r0, r4] - cmp r4, #1 - bne _0801C0C4 - movs r2, #0xb3 - lsls r2, r2, #3 - adds r0, r1, r2 - ldrh r5, [r0] - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r0, #0xcc - bgt _0801C10C - movs r0, #0x82 - bl m4aSongNumStart - ldr r1, [r6] - ldr r2, _0801C0C0 @ =0x0000059A - adds r0, r1, r2 - strh r5, [r0] - movs r3, #0xdc - lsls r3, r3, #1 - adds r2, r1, r3 - movs r0, #0x1e - strh r0, [r2] - movs r5, #0xd8 - lsls r5, r5, #1 - adds r1, r1, r5 - strb r4, [r1] - b _0801C102 - .align 2, 0 + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _0801C11A + ldr r6, _0801C0BC @ =0x020314E0 + ldr r1, [r6] + movs r7, #0x97 + lsls r7, r7, #2 + adds r0, r1, r7 + movs r4, #0 + ldrsb r4, [r0, r4] + cmp r4, #1 + bne _0801C0C4 + movs r2, #0xb3 + lsls r2, r2, #3 + adds r0, r1, r2 + ldrh r5, [r0] + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r0, #0xcc + bgt _0801C10C + movs r0, #0x82 + bl m4aSongNumStart + ldr r1, [r6] + ldr r2, _0801C0C0 @ =0x0000059A + adds r0, r1, r2 + strh r5, [r0] + movs r3, #0xdc + lsls r3, r3, #1 + adds r2, r1, r3 + movs r0, #0x1e + strh r0, [r2] + movs r5, #0xd8 + lsls r5, r5, #1 + adds r1, r1, r5 + strb r4, [r1] + b _0801C102 + .align 2, 0 _0801C0BC: .4byte 0x020314E0 _0801C0C0: .4byte 0x0000059A _0801C0C4: - cmp r4, #2 - bne _0801C10C - ldr r2, _0801C148 @ =0x086A3700 - movs r3, #0xb3 - lsls r3, r3, #3 - adds r0, r1, r3 - ldrh r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r2 - ldrb r5, [r0, #0x15] - cmp r5, #0xcc - bgt _0801C10C - movs r0, #0x82 - bl m4aSongNumStart - ldr r1, [r6] - ldr r4, _0801C14C @ =0x0000059A - adds r0, r1, r4 - strh r5, [r0] - movs r5, #0xdc - lsls r5, r5, #1 - adds r2, r1, r5 - movs r0, #0x1e - strh r0, [r2] - movs r0, #0xd8 - lsls r0, r0, #1 - adds r1, r1, r0 - movs r0, #1 - strb r0, [r1] + cmp r4, #2 + bne _0801C10C + ldr r2, _0801C148 @ =0x086A3700 + movs r3, #0xb3 + lsls r3, r3, #3 + adds r0, r1, r3 + ldrh r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r2 + ldrb r5, [r0, #0x15] + cmp r5, #0xcc + bgt _0801C10C + movs r0, #0x82 + bl m4aSongNumStart + ldr r1, [r6] + ldr r4, _0801C14C @ =0x0000059A + adds r0, r1, r4 + strh r5, [r0] + movs r5, #0xdc + lsls r5, r5, #1 + adds r2, r1, r5 + movs r0, #0x1e + strh r0, [r2] + movs r0, #0xd8 + lsls r0, r0, #1 + adds r1, r1, r0 + movs r0, #1 + strb r0, [r1] _0801C102: - ldr r1, [r6] - adds r1, r1, r7 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] + ldr r1, [r6] + adds r1, r1, r7 + ldrb r0, [r1] + subs r0, #1 + strb r0, [r1] _0801C10C: - ldr r0, _0801C150 @ =0x020314E0 - ldr r0, [r0] - movs r2, #0xd9 - lsls r2, r2, #1 - adds r1, r0, r2 + ldr r0, _0801C150 @ =0x020314E0 + ldr r0, [r0] + movs r2, #0xd9 + lsls r2, r2, #1 + adds r1, r0, r2 _0801C116: - movs r0, #0 - strh r0, [r1] + movs r0, #0 + strh r0, [r1] _0801C11A: - ldr r0, _0801C150 @ =0x020314E0 - ldr r1, [r0] - movs r3, #0x97 - lsls r3, r3, #2 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _0801C1FA - ldr r4, _0801C14C @ =0x0000059A - adds r2, r1, r4 - ldrh r0, [r2] - cmp r0, #0x59 - beq _0801C190 - cmp r0, #0x59 - bgt _0801C154 - cmp r0, #0xe - beq _0801C168 - cmp r0, #0x10 - beq _0801C17C - b _0801C1EA - .align 2, 0 + ldr r0, _0801C150 @ =0x020314E0 + ldr r1, [r0] + movs r3, #0x97 + lsls r3, r3, #2 + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _0801C1FA + ldr r4, _0801C14C @ =0x0000059A + adds r2, r1, r4 + ldrh r0, [r2] + cmp r0, #0x59 + beq _0801C190 + cmp r0, #0x59 + bgt _0801C154 + cmp r0, #0xe + beq _0801C168 + cmp r0, #0x10 + beq _0801C17C + b _0801C1EA + .align 2, 0 _0801C148: .4byte 0x086A3700 _0801C14C: .4byte 0x0000059A _0801C150: .4byte 0x020314E0 _0801C154: - cmp r0, #0xb0 - beq _0801C1B8 - cmp r0, #0xb0 - bgt _0801C162 - cmp r0, #0x5a - beq _0801C1A4 - b _0801C1EA + cmp r0, #0xb0 + beq _0801C1B8 + cmp r0, #0xb0 + bgt _0801C162 + cmp r0, #0x5a + beq _0801C1A4 + b _0801C1EA _0801C162: - cmp r0, #0xb1 - beq _0801C1D2 - b _0801C1EA + cmp r0, #0xb1 + beq _0801C1D2 + b _0801C1EA _0801C168: - movs r5, #0xd9 - lsls r5, r5, #1 - adds r1, r1, r5 - ldrh r0, [r1] - cmp r0, #0x32 - bne _0801C1EA - movs r0, #0 - strh r0, [r1] - movs r0, #0x10 - b _0801C1CA + movs r5, #0xd9 + lsls r5, r5, #1 + adds r1, r1, r5 + ldrh r0, [r1] + cmp r0, #0x32 + bne _0801C1EA + movs r0, #0 + strh r0, [r1] + movs r0, #0x10 + b _0801C1CA _0801C17C: - movs r6, #0xd9 - lsls r6, r6, #1 - adds r1, r1, r6 - ldrh r0, [r1] - cmp r0, #0x32 - bne _0801C1EA - movs r0, #0 - strh r0, [r1] - movs r0, #0xe - b _0801C1CA + movs r6, #0xd9 + lsls r6, r6, #1 + adds r1, r1, r6 + ldrh r0, [r1] + cmp r0, #0x32 + bne _0801C1EA + movs r0, #0 + strh r0, [r1] + movs r0, #0xe + b _0801C1CA _0801C190: - movs r0, #0xd9 - lsls r0, r0, #1 - adds r1, r1, r0 - ldrh r0, [r1] - cmp r0, #0x32 - bne _0801C1EA - movs r0, #0 - strh r0, [r1] - movs r0, #0x5a - b _0801C1CA + movs r0, #0xd9 + lsls r0, r0, #1 + adds r1, r1, r0 + ldrh r0, [r1] + cmp r0, #0x32 + bne _0801C1EA + movs r0, #0 + strh r0, [r1] + movs r0, #0x5a + b _0801C1CA _0801C1A4: - movs r3, #0xd9 - lsls r3, r3, #1 - adds r1, r1, r3 - ldrh r0, [r1] - cmp r0, #0x32 - bne _0801C1EA - movs r0, #0 - strh r0, [r1] - movs r0, #0x59 - b _0801C1CA + movs r3, #0xd9 + lsls r3, r3, #1 + adds r1, r1, r3 + ldrh r0, [r1] + cmp r0, #0x32 + bne _0801C1EA + movs r0, #0 + strh r0, [r1] + movs r0, #0x59 + b _0801C1CA _0801C1B8: - movs r4, #0xd9 - lsls r4, r4, #1 - adds r1, r1, r4 - ldrh r0, [r1] - cmp r0, #0x32 - bne _0801C1EA - movs r0, #0 - strh r0, [r1] - movs r0, #0xb1 + movs r4, #0xd9 + lsls r4, r4, #1 + adds r1, r1, r4 + ldrh r0, [r1] + cmp r0, #0x32 + bne _0801C1EA + movs r0, #0 + strh r0, [r1] + movs r0, #0xb1 _0801C1CA: - strh r0, [r2] - bl sub_22FA4 - b _0801C1EA + strh r0, [r2] + bl sub_22FA4 + b _0801C1EA _0801C1D2: - movs r5, #0xd9 - lsls r5, r5, #1 - adds r1, r1, r5 - ldrh r0, [r1] - cmp r0, #0x32 - bne _0801C1EA - movs r0, #0 - strh r0, [r1] - movs r0, #0xb0 - strh r0, [r2] - bl sub_22FA4 + movs r5, #0xd9 + lsls r5, r5, #1 + adds r1, r1, r5 + ldrh r0, [r1] + cmp r0, #0x32 + bne _0801C1EA + movs r0, #0 + strh r0, [r1] + movs r0, #0xb0 + strh r0, [r2] + bl sub_22FA4 _0801C1EA: - ldr r0, _0801C220 @ =0x020314E0 - ldr r0, [r0] - movs r6, #0xd9 - lsls r6, r6, #1 - adds r1, r0, r6 - ldrh r0, [r1] - adds r0, #1 + ldr r0, _0801C220 @ =0x020314E0 + ldr r0, [r0] + movs r6, #0xd9 + lsls r6, r6, #1 + adds r1, r0, r6 + ldrh r0, [r1] + adds r0, #1 _0801C1F8: - strh r0, [r1] + strh r0, [r1] _0801C1FA: - bl sub_23070 - ldr r0, _0801C220 @ =0x020314E0 - ldr r1, [r0] - movs r2, #0xd4 - lsls r2, r2, #1 - adds r0, r1, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - cmp r2, #0 - beq _0801C22E - ldr r3, _0801C224 @ =0x000001A9 - adds r1, r1, r3 - ldrb r0, [r1] - cmp r0, #0 - beq _0801C228 - subs r0, #1 - strb r0, [r1] - b _0801C246 - .align 2, 0 + bl sub_23070 + ldr r0, _0801C220 @ =0x020314E0 + ldr r1, [r0] + movs r2, #0xd4 + lsls r2, r2, #1 + adds r0, r1, r2 + movs r2, #0 + ldrsb r2, [r0, r2] + cmp r2, #0 + beq _0801C22E + ldr r3, _0801C224 @ =0x000001A9 + adds r1, r1, r3 + ldrb r0, [r1] + cmp r0, #0 + beq _0801C228 + subs r0, #1 + strb r0, [r1] + b _0801C246 + .align 2, 0 _0801C220: .4byte 0x020314E0 _0801C224: .4byte 0x000001A9 _0801C228: - movs r0, #7 - strb r0, [r1] - b _0801C246 + movs r0, #7 + strb r0, [r1] + b _0801C246 _0801C22E: - ldr r4, _0801C240 @ =0x000001A9 - adds r1, r1, r4 - ldrb r0, [r1] - cmp r0, #6 - bhi _0801C244 - adds r0, #1 - strb r0, [r1] - b _0801C246 - .align 2, 0 + ldr r4, _0801C240 @ =0x000001A9 + adds r1, r1, r4 + ldrb r0, [r1] + cmp r0, #6 + bhi _0801C244 + adds r0, #1 + strb r0, [r1] + b _0801C246 + .align 2, 0 _0801C240: .4byte 0x000001A9 _0801C244: - strb r2, [r1] + strb r2, [r1] _0801C246: - ldr r1, _0801C2A4 @ =0x040000D4 - ldr r3, _0801C2A8 @ =0x086AD50C - ldr r0, _0801C2AC @ =0x020314E0 - ldr r2, [r0] - ldr r5, _0801C2B0 @ =0x000001A9 - adds r0, r2, r5 - ldrb r0, [r0] - lsrs r0, r0, #1 - adds r0, #4 - lsls r0, r0, #2 - adds r0, r0, r3 - ldr r0, [r0] - str r0, [r1] - ldr r0, _0801C2B4 @ =0x06002000 - str r0, [r1, #4] - ldr r0, _0801C2B8 @ =0x80000620 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r3, _0801C2BC @ =0x0200B0C0 - movs r6, #0x2a - ldrsh r0, [r3, r6] - lsls r0, r0, #2 - movs r1, #0x50 - subs r1, r1, r0 - ldr r4, _0801C2C0 @ =0x000002EA - adds r0, r3, r4 - strh r1, [r0] - adds r5, #0xa9 - adds r2, r2, r5 - ldrh r0, [r2] - cmp r0, #0 - beq _0801C2C4 - ldrh r1, [r3, #0x2a] - movs r6, #0x2a - ldrsh r0, [r3, r6] - cmp r0, #0 - ble _0801C2D2 - subs r0, r1, #1 - strh r0, [r3, #0x2a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - bne _0801C2D2 - strh r0, [r3, #0x28] - movs r0, #0x90 - strh r0, [r3, #0x26] - b _0801C2D2 - .align 2, 0 + ldr r1, _0801C2A4 @ =0x040000D4 + ldr r3, _0801C2A8 @ =0x086AD50C + ldr r0, _0801C2AC @ =0x020314E0 + ldr r2, [r0] + ldr r5, _0801C2B0 @ =0x000001A9 + adds r0, r2, r5 + ldrb r0, [r0] + lsrs r0, r0, #1 + adds r0, #4 + lsls r0, r0, #2 + adds r0, r0, r3 + ldr r0, [r0] + str r0, [r1] + ldr r0, _0801C2B4 @ =0x06002000 + str r0, [r1, #4] + ldr r0, _0801C2B8 @ =0x80000620 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r3, _0801C2BC @ =0x0200B0C0 + movs r6, #0x2a + ldrsh r0, [r3, r6] + lsls r0, r0, #2 + movs r1, #0x50 + subs r1, r1, r0 + ldr r4, _0801C2C0 @ =0x000002EA + adds r0, r3, r4 + strh r1, [r0] + adds r5, #0xa9 + adds r2, r2, r5 + ldrh r0, [r2] + cmp r0, #0 + beq _0801C2C4 + ldrh r1, [r3, #0x2a] + movs r6, #0x2a + ldrsh r0, [r3, r6] + cmp r0, #0 + ble _0801C2D2 + subs r0, r1, #1 + strh r0, [r3, #0x2a] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + bne _0801C2D2 + strh r0, [r3, #0x28] + movs r0, #0x90 + strh r0, [r3, #0x26] + b _0801C2D2 + .align 2, 0 _0801C2A4: .4byte 0x040000D4 _0801C2A8: .4byte 0x086AD50C _0801C2AC: .4byte 0x020314E0 @@ -55653,112 +55653,112 @@ _0801C2B8: .4byte 0x80000620 _0801C2BC: .4byte 0x0200B0C0 _0801C2C0: .4byte 0x000002EA _0801C2C4: - ldrh r1, [r3, #0x2a] - movs r2, #0x2a - ldrsh r0, [r3, r2] - cmp r0, #0x13 - bgt _0801C2D2 - adds r0, r1, #1 - strh r0, [r3, #0x2a] + ldrh r1, [r3, #0x2a] + movs r2, #0x2a + ldrsh r0, [r3, r2] + cmp r0, #0x13 + bgt _0801C2D2 + adds r0, r1, #1 + strh r0, [r3, #0x2a] _0801C2D2: - movs r0, #0 - bl sub_21FBC + movs r0, #0 + bl sub_21FBC _0801C2D8: - ldr r5, _0801C38C @ =0x020314E0 - ldr r3, [r5] - movs r4, #0xdc - lsls r4, r4, #1 - adds r0, r3, r4 - movs r6, #0 - ldrsh r0, [r0, r6] - cmp r0, #0 - bgt _0801C31A - ldr r1, _0801C390 @ =0x0200B0C0 - movs r2, #0x2a - ldrsh r0, [r1, r2] - cmp r0, #0x13 - ble _0801C31A - ldrh r1, [r1, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0801C31A - ldr r6, _0801C394 @ =0x00000252 - adds r0, r3, r6 - movs r1, #0 - movs r2, #0x1e - strh r2, [r0] - subs r6, #0xa2 - adds r0, r3, r6 - strb r1, [r0] - ldr r0, [r5] - adds r0, r0, r4 - strh r2, [r0] - movs r0, #0x83 - bl m4aSongNumStart + ldr r5, _0801C38C @ =0x020314E0 + ldr r3, [r5] + movs r4, #0xdc + lsls r4, r4, #1 + adds r0, r3, r4 + movs r6, #0 + ldrsh r0, [r0, r6] + cmp r0, #0 + bgt _0801C31A + ldr r1, _0801C390 @ =0x0200B0C0 + movs r2, #0x2a + ldrsh r0, [r1, r2] + cmp r0, #0x13 + ble _0801C31A + ldrh r1, [r1, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0801C31A + ldr r6, _0801C394 @ =0x00000252 + adds r0, r3, r6 + movs r1, #0 + movs r2, #0x1e + strh r2, [r0] + subs r6, #0xa2 + adds r0, r3, r6 + strb r1, [r0] + ldr r0, [r5] + adds r0, r0, r4 + strh r2, [r0] + movs r0, #0x83 + bl m4aSongNumStart _0801C31A: - ldr r0, _0801C38C @ =0x020314E0 - ldr r2, [r0] - ldr r3, _0801C394 @ =0x00000252 - adds r1, r2, r3 - ldrh r5, [r1] - mov r8, r0 - cmp r5, #0 - bne _0801C32C - b _0801C554 + ldr r0, _0801C38C @ =0x020314E0 + ldr r2, [r0] + ldr r3, _0801C394 @ =0x00000252 + adds r1, r2, r3 + ldrh r5, [r1] + mov r8, r0 + cmp r5, #0 + bne _0801C32C + b _0801C554 _0801C32C: - subs r0, r5, #1 - strh r0, [r1] - movs r0, #0xdc - lsls r0, r0, #1 - adds r1, r2, r0 - movs r2, #0 - ldrsh r0, [r1, r2] - cmp r0, #0xe - bgt _0801C342 - movs r0, #0xf - strh r0, [r1] + subs r0, r5, #1 + strh r0, [r1] + movs r0, #0xdc + lsls r0, r0, #1 + adds r1, r2, r0 + movs r2, #0 + ldrsh r0, [r1, r2] + cmp r0, #0xe + bgt _0801C342 + movs r0, #0xf + strh r0, [r1] _0801C342: - mov r4, r8 - ldr r0, [r4] - adds r1, r0, r3 - ldrh r0, [r1] - cmp r0, #4 - bls _0801C350 - b _0801C488 + mov r4, r8 + ldr r0, [r4] + adds r1, r0, r3 + ldrh r0, [r1] + cmp r0, #4 + bls _0801C350 + b _0801C488 _0801C350: - cmp r0, #1 - bls _0801C3FC - ldr r5, _0801C390 @ =0x0200B0C0 - ldrh r0, [r5, #0x3c] - movs r0, #4 - strh r0, [r5, #0x3c] - ldrh r0, [r1] - cmp r0, #3 - bls _0801C364 - b _0801C488 + cmp r0, #1 + bls _0801C3FC + ldr r5, _0801C390 @ =0x0200B0C0 + ldrh r0, [r5, #0x3c] + movs r0, #4 + strh r0, [r5, #0x3c] + ldrh r0, [r1] + cmp r0, #3 + bls _0801C364 + b _0801C488 _0801C364: - ldr r3, _0801C398 @ =0x040000D4 - ldr r1, _0801C39C @ =0x02031520 - ldr r4, [r1, #0x30] - str r4, [r3] - ldr r0, _0801C3A0 @ =0x05000200 - str r0, [r3, #4] - ldr r0, _0801C3A4 @ =0x80000010 - str r0, [r3, #8] - ldr r0, [r3, #8] - ldrb r0, [r5, #4] - adds r2, r1, #0 - cmp r0, #1 - bne _0801C3B0 - adds r0, r4, #0 - adds r0, #0x40 - str r0, [r3] - ldr r0, _0801C3A8 @ =0x05000240 - str r0, [r3, #4] - ldr r0, _0801C3AC @ =0x80000060 - b _0801C3BC - .align 2, 0 + ldr r3, _0801C398 @ =0x040000D4 + ldr r1, _0801C39C @ =0x02031520 + ldr r4, [r1, #0x30] + str r4, [r3] + ldr r0, _0801C3A0 @ =0x05000200 + str r0, [r3, #4] + ldr r0, _0801C3A4 @ =0x80000010 + str r0, [r3, #8] + ldr r0, [r3, #8] + ldrb r0, [r5, #4] + adds r2, r1, #0 + cmp r0, #1 + bne _0801C3B0 + adds r0, r4, #0 + adds r0, #0x40 + str r0, [r3] + ldr r0, _0801C3A8 @ =0x05000240 + str r0, [r3, #4] + ldr r0, _0801C3AC @ =0x80000060 + b _0801C3BC + .align 2, 0 _0801C38C: .4byte 0x020314E0 _0801C390: .4byte 0x0200B0C0 _0801C394: .4byte 0x00000252 @@ -55769,71 +55769,71 @@ _0801C3A4: .4byte 0x80000010 _0801C3A8: .4byte 0x05000240 _0801C3AC: .4byte 0x80000060 _0801C3B0: - adds r0, r4, #0 - adds r0, #0x40 - str r0, [r3] - ldr r0, _0801C3E8 @ =0x05000240 - str r0, [r3, #4] - ldr r0, _0801C3EC @ =0x80000070 + adds r0, r4, #0 + adds r0, #0x40 + str r0, [r3] + ldr r0, _0801C3E8 @ =0x05000240 + str r0, [r3, #4] + ldr r0, _0801C3EC @ =0x80000070 _0801C3BC: - str r0, [r3, #8] - ldr r0, [r3, #8] - ldr r1, _0801C3F0 @ =0x040000D4 - ldr r0, [r2, #0x30] - movs r5, #0xa0 - lsls r5, r5, #1 - adds r0, r0, r5 - str r0, [r1] - ldr r0, _0801C3F4 @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0801C3F8 @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - mov r6, r8 - ldr r0, [r6] - adds r0, #0x6f - movs r1, #1 - strb r1, [r0] - ldr r0, [r6] - adds r0, #0x70 - b _0801C486 - .align 2, 0 + str r0, [r3, #8] + ldr r0, [r3, #8] + ldr r1, _0801C3F0 @ =0x040000D4 + ldr r0, [r2, #0x30] + movs r5, #0xa0 + lsls r5, r5, #1 + adds r0, r0, r5 + str r0, [r1] + ldr r0, _0801C3F4 @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0801C3F8 @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + mov r6, r8 + ldr r0, [r6] + adds r0, #0x6f + movs r1, #1 + strb r1, [r0] + ldr r0, [r6] + adds r0, #0x70 + b _0801C486 + .align 2, 0 _0801C3E8: .4byte 0x05000240 _0801C3EC: .4byte 0x80000070 _0801C3F0: .4byte 0x040000D4 _0801C3F4: .4byte 0x05000340 _0801C3F8: .4byte 0x80000030 _0801C3FC: - ldr r5, _0801C434 @ =0x0200B0C0 - ldrh r0, [r5, #0x3c] - movs r0, #0 - strh r0, [r5, #0x3c] - ldrh r0, [r1] - cmp r0, #0 - beq _0801C40C - b _0801C554 + ldr r5, _0801C434 @ =0x0200B0C0 + ldrh r0, [r5, #0x3c] + movs r0, #0 + strh r0, [r5, #0x3c] + ldrh r0, [r1] + cmp r0, #0 + beq _0801C40C + b _0801C554 _0801C40C: - ldr r3, _0801C438 @ =0x040000D4 - ldr r1, _0801C43C @ =0x02031520 - ldr r4, [r1, #0x2c] - str r4, [r3] - ldr r0, _0801C440 @ =0x05000200 - str r0, [r3, #4] - ldr r0, _0801C444 @ =0x80000010 - str r0, [r3, #8] - ldr r0, [r3, #8] - ldrb r0, [r5, #4] - adds r2, r1, #0 - cmp r0, #1 - bne _0801C450 - adds r0, r4, #0 - adds r0, #0x40 - str r0, [r3] - ldr r0, _0801C448 @ =0x05000240 - str r0, [r3, #4] - ldr r0, _0801C44C @ =0x80000060 - b _0801C45C - .align 2, 0 + ldr r3, _0801C438 @ =0x040000D4 + ldr r1, _0801C43C @ =0x02031520 + ldr r4, [r1, #0x2c] + str r4, [r3] + ldr r0, _0801C440 @ =0x05000200 + str r0, [r3, #4] + ldr r0, _0801C444 @ =0x80000010 + str r0, [r3, #8] + ldr r0, [r3, #8] + ldrb r0, [r5, #4] + adds r2, r1, #0 + cmp r0, #1 + bne _0801C450 + adds r0, r4, #0 + adds r0, #0x40 + str r0, [r3] + ldr r0, _0801C448 @ =0x05000240 + str r0, [r3, #4] + ldr r0, _0801C44C @ =0x80000060 + b _0801C45C + .align 2, 0 _0801C434: .4byte 0x0200B0C0 _0801C438: .4byte 0x040000D4 _0801C43C: .4byte 0x02031520 @@ -55842,57 +55842,57 @@ _0801C444: .4byte 0x80000010 _0801C448: .4byte 0x05000240 _0801C44C: .4byte 0x80000060 _0801C450: - adds r0, r4, #0 - adds r0, #0x40 - str r0, [r3] - ldr r0, _0801C4B0 @ =0x05000240 - str r0, [r3, #4] - ldr r0, _0801C4B4 @ =0x80000070 + adds r0, r4, #0 + adds r0, #0x40 + str r0, [r3] + ldr r0, _0801C4B0 @ =0x05000240 + str r0, [r3, #4] + ldr r0, _0801C4B4 @ =0x80000070 _0801C45C: - str r0, [r3, #8] - ldr r0, [r3, #8] - ldr r1, _0801C4B8 @ =0x040000D4 - ldr r0, [r2, #0x2c] - movs r2, #0xa0 - lsls r2, r2, #1 - adds r0, r0, r2 - str r0, [r1] - ldr r0, _0801C4BC @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0801C4C0 @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - mov r3, r8 - ldr r0, [r3] - adds r0, #0x6f - movs r1, #0 - strb r1, [r0] - ldr r0, [r3] - adds r0, #0x70 - movs r1, #1 + str r0, [r3, #8] + ldr r0, [r3, #8] + ldr r1, _0801C4B8 @ =0x040000D4 + ldr r0, [r2, #0x2c] + movs r2, #0xa0 + lsls r2, r2, #1 + adds r0, r0, r2 + str r0, [r1] + ldr r0, _0801C4BC @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0801C4C0 @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + mov r3, r8 + ldr r0, [r3] + adds r0, #0x6f + movs r1, #0 + strb r1, [r0] + ldr r0, [r3] + adds r0, #0x70 + movs r1, #1 _0801C486: - strb r1, [r0] + strb r1, [r0] _0801C488: - mov r4, r8 - ldr r1, [r4] - ldr r5, _0801C4C4 @ =0x00000252 - adds r0, r1, r5 - ldrh r0, [r0] - cmp r0, #0 - bne _0801C554 - adds r0, r1, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bne _0801C4CC - ldr r6, _0801C4C8 @ =0x000006DE - adds r1, r1, r6 - movs r0, #0xaa - strh r0, [r1] - b _0801C4D0 - .align 2, 0 + mov r4, r8 + ldr r1, [r4] + ldr r5, _0801C4C4 @ =0x00000252 + adds r0, r1, r5 + ldrh r0, [r0] + cmp r0, #0 + bne _0801C554 + adds r0, r1, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bne _0801C4CC + ldr r6, _0801C4C8 @ =0x000006DE + adds r1, r1, r6 + movs r0, #0xaa + strh r0, [r1] + b _0801C4D0 + .align 2, 0 _0801C4B0: .4byte 0x05000240 _0801C4B4: .4byte 0x80000070 _0801C4B8: .4byte 0x040000D4 @@ -55901,511 +55901,511 @@ _0801C4C0: .4byte 0x80000030 _0801C4C4: .4byte 0x00000252 _0801C4C8: .4byte 0x000006DE _0801C4CC: - movs r0, #0x18 - strh r0, [r1, #0x28] + movs r0, #0x18 + strh r0, [r1, #0x28] _0801C4D0: - mov r1, r8 - ldr r0, [r1] - ldr r2, _0801C530 @ =0x000006C4 - adds r0, r0, r2 - movs r2, #0 - strb r2, [r0] - ldr r0, [r1] - ldr r3, _0801C534 @ =0x000006DB - adds r0, r0, r3 - movs r1, #3 - strb r1, [r0] - ldr r1, _0801C538 @ =0x0200B0C0 - ldr r0, [r1, #0x44] - ldr r0, [r0, #0x20] - movs r4, #0 - strh r2, [r0] - ldr r0, [r1, #0x44] - ldr r0, [r0, #0x18] - strh r2, [r0] - ldr r0, [r1, #0x44] - ldr r0, [r0, #0x24] - strh r2, [r0] - mov r5, r8 - ldr r0, [r5] - movs r6, #0xe4 - lsls r6, r6, #3 - adds r0, r0, r6 - strb r4, [r0] - ldr r0, [r5] - ldr r1, _0801C53C @ =0x0000071D - adds r0, r0, r1 - movs r1, #4 - strb r1, [r0] - ldr r0, [r5] - ldr r2, _0801C540 @ =0x0000071E - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r5] - adds r3, #0x44 - adds r0, r0, r3 - strb r1, [r0] - bl sub_2310C - ldr r0, [r5] + mov r1, r8 + ldr r0, [r1] + ldr r2, _0801C530 @ =0x000006C4 + adds r0, r0, r2 + movs r2, #0 + strb r2, [r0] + ldr r0, [r1] + ldr r3, _0801C534 @ =0x000006DB + adds r0, r0, r3 + movs r1, #3 + strb r1, [r0] + ldr r1, _0801C538 @ =0x0200B0C0 + ldr r0, [r1, #0x44] + ldr r0, [r0, #0x20] + movs r4, #0 + strh r2, [r0] + ldr r0, [r1, #0x44] + ldr r0, [r0, #0x18] + strh r2, [r0] + ldr r0, [r1, #0x44] + ldr r0, [r0, #0x24] + strh r2, [r0] + mov r5, r8 + ldr r0, [r5] + movs r6, #0xe4 + lsls r6, r6, #3 + adds r0, r0, r6 + strb r4, [r0] + ldr r0, [r5] + ldr r1, _0801C53C @ =0x0000071D + adds r0, r0, r1 + movs r1, #4 + strb r1, [r0] + ldr r0, [r5] + ldr r2, _0801C540 @ =0x0000071E + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r5] + adds r3, #0x44 + adds r0, r0, r3 + strb r1, [r0] + bl sub_2310C + ldr r0, [r5] _0801C528: - adds r0, #0xe4 - strb r4, [r0] - b _0801C554 - .align 2, 0 + adds r0, #0xe4 + strb r4, [r0] + b _0801C554 + .align 2, 0 _0801C530: .4byte 0x000006C4 _0801C534: .4byte 0x000006DB _0801C538: .4byte 0x0200B0C0 _0801C53C: .4byte 0x0000071D _0801C540: .4byte 0x0000071E - thumb_func_start sub_1C544 + thumb_func_start sub_1C544 sub_1C544: @ 0x0801C544 - movs r4, #0xdd - lsls r4, r4, #1 - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, #0x32 - bne _0801C554 - movs r0, #0x18 - strh r0, [r1, #0x28] + movs r4, #0xdd + lsls r4, r4, #1 + adds r0, r1, r4 + ldrh r0, [r0] + cmp r0, #0x32 + bne _0801C554 + movs r0, #0x18 + strh r0, [r1, #0x28] _0801C554: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 - thumb_func_start sub_1C560 + thumb_func_start sub_1C560 sub_1C560: @ 0x0801C560 - push {r4, lr} - ldr r3, _0801C598 @ =0x020314E0 - ldr r1, [r3] - movs r4, #0 - movs r2, #0 - movs r0, #0x96 - strh r0, [r1, #0x28] - ldr r0, _0801C59C @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r0, [r0, #0x34] - strh r2, [r0] - ldr r0, _0801C5A0 @ =0x000005F3 - adds r1, r1, r0 - strb r4, [r1] - ldr r0, [r3] - ldr r1, _0801C5A4 @ =0x00002710 - str r1, [r0, #0x3c] - ldr r1, _0801C5A8 @ =0x000005F7 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - movs r0, #8 - bl sub_11B0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + ldr r3, _0801C598 @ =0x020314E0 + ldr r1, [r3] + movs r4, #0 + movs r2, #0 + movs r0, #0x96 + strh r0, [r1, #0x28] + ldr r0, _0801C59C @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r0, [r0, #0x34] + strh r2, [r0] + ldr r0, _0801C5A0 @ =0x000005F3 + adds r1, r1, r0 + strb r4, [r1] + ldr r0, [r3] + ldr r1, _0801C5A4 @ =0x00002710 + str r1, [r0, #0x3c] + ldr r1, _0801C5A8 @ =0x000005F7 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + movs r0, #8 + bl sub_11B0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0801C598: .4byte 0x020314E0 _0801C59C: .4byte 0x0200B0C0 _0801C5A0: .4byte 0x000005F3 _0801C5A4: .4byte 0x00002710 _0801C5A8: .4byte 0x000005F7 - thumb_func_start sub_1C5AC + thumb_func_start sub_1C5AC sub_1C5AC: @ 0x0801C5AC - push {r4, r5, r6, lr} - ldr r5, _0801C614 @ =0x020314E0 - ldr r2, [r5] - ldrh r0, [r2, #0x28] - adds r1, r0, #0 - cmp r1, #0 - bne _0801C5BC - b _0801C728 + push {r4, r5, r6, lr} + ldr r5, _0801C614 @ =0x020314E0 + ldr r2, [r5] + ldrh r0, [r2, #0x28] + adds r1, r0, #0 + cmp r1, #0 + bne _0801C5BC + b _0801C728 _0801C5BC: - subs r0, #1 - movs r4, #0 - movs r6, #0 - strh r0, [r2, #0x28] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x94 - bls _0801C61C - ldr r1, _0801C618 @ =0x0000132C - adds r0, r2, r1 - ldr r0, [r0] - movs r4, #1 - strb r4, [r0] - ldr r0, [r5] - strb r4, [r0, #0x1f] - ldr r3, [r5] - adds r1, r3, r1 - ldr r0, [r1] - strh r6, [r0, #0x30] - ldr r0, [r1] - strh r6, [r0, #0x32] - ldr r2, [r1] - movs r0, #0x77 - strh r0, [r2, #0x10] - ldr r2, [r1] - adds r0, #0xa0 - strh r0, [r2, #0x12] - ldr r0, [r1] - strh r6, [r0, #6] - ldr r2, [r1] - movs r5, #0x10 - ldrsh r0, [r2, r5] - 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] - movs r5, #0xe6 - lsls r5, r5, #3 - adds r3, r3, r5 - strb r4, [r3] - b _0801C706 - .align 2, 0 + subs r0, #1 + movs r4, #0 + movs r6, #0 + strh r0, [r2, #0x28] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x94 + bls _0801C61C + ldr r1, _0801C618 @ =0x0000132C + adds r0, r2, r1 + ldr r0, [r0] + movs r4, #1 + strb r4, [r0] + ldr r0, [r5] + strb r4, [r0, #0x1f] + ldr r3, [r5] + adds r1, r3, r1 + ldr r0, [r1] + strh r6, [r0, #0x30] + ldr r0, [r1] + strh r6, [r0, #0x32] + ldr r2, [r1] + movs r0, #0x77 + strh r0, [r2, #0x10] + ldr r2, [r1] + adds r0, #0xa0 + strh r0, [r2, #0x12] + ldr r0, [r1] + strh r6, [r0, #6] + ldr r2, [r1] + movs r5, #0x10 + ldrsh r0, [r2, r5] + 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] + movs r5, #0xe6 + lsls r5, r5, #3 + adds r3, r3, r5 + strb r4, [r3] + b _0801C706 + .align 2, 0 _0801C614: .4byte 0x020314E0 _0801C618: .4byte 0x0000132C _0801C61C: - cmp r0, #0x94 - bne _0801C630 - movs r0, #1 - strb r0, [r2, #0x1f] - ldr r0, [r5] - movs r1, #0xe6 - lsls r1, r1, #3 - adds r0, r0, r1 - strb r4, [r0] - b _0801C706 + cmp r0, #0x94 + bne _0801C630 + movs r0, #1 + strb r0, [r2, #0x1f] + ldr r0, [r5] + movs r1, #0xe6 + lsls r1, r1, #3 + adds r0, r0, r1 + strb r4, [r0] + b _0801C706 _0801C630: - cmp r0, #0x24 - bls _0801C644 - movs r0, #1 - strb r0, [r2, #0x1f] - ldr r0, [r5] - movs r2, #0xe6 - lsls r2, r2, #3 - adds r0, r0, r2 - strb r4, [r0] - b _0801C706 + cmp r0, #0x24 + bls _0801C644 + movs r0, #1 + strb r0, [r2, #0x1f] + ldr r0, [r5] + movs r2, #0xe6 + lsls r2, r2, #3 + adds r0, r0, r2 + strb r4, [r0] + b _0801C706 _0801C644: - cmp r0, #0x18 - bls _0801C658 - movs r1, #1 - strb r1, [r2, #0x1f] - ldr r0, [r5] - movs r3, #0xe6 - lsls r3, r3, #3 - adds r0, r0, r3 - strb r1, [r0] - b _0801C706 + cmp r0, #0x18 + bls _0801C658 + movs r1, #1 + strb r1, [r2, #0x1f] + ldr r0, [r5] + movs r3, #0xe6 + lsls r3, r3, #3 + adds r0, r0, r3 + strb r1, [r0] + b _0801C706 _0801C658: - cmp r0, #0x18 - bne _0801C6B0 - movs r0, #0x80 - bl m4aSongNumStart - ldr r0, [r5] - movs r1, #0xe6 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r1, #2 - strb r1, [r0] - ldr r1, [r5] - ldr r3, _0801C6A4 @ =0x0000132C - adds r1, r1, r3 - ldr r2, [r1] - movs r0, #0x49 - strh r0, [r2, #0x30] - ldr r2, [r1] - movs r0, #0xec - strh r0, [r2, #0x32] - ldr r0, [r1] - strb r4, [r0] - ldr r0, [r5] - strb r4, [r0, #0x1f] - ldr r0, [r5] - ldr r2, _0801C6A8 @ =0x000005FA - adds r0, r0, r2 - strb r4, [r0] - ldr r1, [r5] - adds r3, r1, r3 - ldr r2, [r3] - movs r0, #0x88 - strh r0, [r2, #0xe] - ldr r3, _0801C6AC @ =0x000005F7 - adds r1, r1, r3 - strb r4, [r1] - b _0801C706 - .align 2, 0 + cmp r0, #0x18 + bne _0801C6B0 + movs r0, #0x80 + bl m4aSongNumStart + ldr r0, [r5] + movs r1, #0xe6 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r1, #2 + strb r1, [r0] + ldr r1, [r5] + ldr r3, _0801C6A4 @ =0x0000132C + adds r1, r1, r3 + ldr r2, [r1] + movs r0, #0x49 + strh r0, [r2, #0x30] + ldr r2, [r1] + movs r0, #0xec + strh r0, [r2, #0x32] + ldr r0, [r1] + strb r4, [r0] + ldr r0, [r5] + strb r4, [r0, #0x1f] + ldr r0, [r5] + ldr r2, _0801C6A8 @ =0x000005FA + adds r0, r0, r2 + strb r4, [r0] + ldr r1, [r5] + adds r3, r1, r3 + ldr r2, [r3] + movs r0, #0x88 + strh r0, [r2, #0xe] + ldr r3, _0801C6AC @ =0x000005F7 + adds r1, r1, r3 + strb r4, [r1] + b _0801C706 + .align 2, 0 _0801C6A4: .4byte 0x0000132C _0801C6A8: .4byte 0x000005FA _0801C6AC: .4byte 0x000005F7 _0801C6B0: - cmp r0, #0xc - bls _0801C6FC - movs r1, #0xe6 - lsls r1, r1, #3 - adds r0, r2, r1 - movs r1, #2 - strb r1, [r0] - ldr r1, [r5] - ldrh r0, [r1, #0x28] - cmp r0, #0x15 - bls _0801C6E8 - ldr r2, _0801C6E4 @ =0x0000132C - adds r0, r1, r2 - ldr r4, [r0] - ldrh r0, [r1, #0x28] - movs r1, #0x18 - subs r1, r1, r0 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #4 - movs r1, #3 - bl __divsi3 - adds r0, #0x90 - strh r0, [r4, #0xe] - b _0801C706 - .align 2, 0 + cmp r0, #0xc + bls _0801C6FC + movs r1, #0xe6 + lsls r1, r1, #3 + adds r0, r2, r1 + movs r1, #2 + strb r1, [r0] + ldr r1, [r5] + ldrh r0, [r1, #0x28] + cmp r0, #0x15 + bls _0801C6E8 + ldr r2, _0801C6E4 @ =0x0000132C + adds r0, r1, r2 + ldr r4, [r0] + ldrh r0, [r1, #0x28] + movs r1, #0x18 + subs r1, r1, r0 + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #4 + movs r1, #3 + bl __divsi3 + adds r0, #0x90 + strh r0, [r4, #0xe] + b _0801C706 + .align 2, 0 _0801C6E4: .4byte 0x0000132C _0801C6E8: - ldr r3, _0801C6F8 @ =0x0000132C - adds r0, r1, r3 - ldr r1, [r0] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r1, #0xe] - b _0801C706 - .align 2, 0 + ldr r3, _0801C6F8 @ =0x0000132C + adds r0, r1, r3 + ldr r1, [r0] + movs r0, #0x80 + lsls r0, r0, #1 + strh r0, [r1, #0xe] + b _0801C706 + .align 2, 0 _0801C6F8: .4byte 0x0000132C _0801C6FC: - movs r5, #0xe6 - lsls r5, r5, #3 - adds r1, r2, r5 - movs r0, #1 - strb r0, [r1] + movs r5, #0xe6 + lsls r5, r5, #3 + adds r1, r2, r5 + movs r0, #1 + strb r0, [r1] _0801C706: - ldr r0, _0801C724 @ =0x020314E0 - ldr r1, [r0] - ldrh r0, [r1, #0x28] - cmp r0, #0x28 - bhi _0801C736 - adds r1, #0xe6 - ldrh r2, [r1] - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #0 - ble _0801C736 - subs r0, r2, #1 - strh r0, [r1] - b _0801C736 - .align 2, 0 + ldr r0, _0801C724 @ =0x020314E0 + ldr r1, [r0] + ldrh r0, [r1, #0x28] + cmp r0, #0x28 + bhi _0801C736 + adds r1, #0xe6 + ldrh r2, [r1] + movs r3, #0 + ldrsh r0, [r1, r3] + cmp r0, #0 + ble _0801C736 + subs r0, r2, #1 + strh r0, [r1] + b _0801C736 + .align 2, 0 _0801C724: .4byte 0x020314E0 _0801C728: - movs r3, #0xe6 - lsls r3, r3, #3 - adds r0, r2, r3 - strb r1, [r0] - ldr r0, [r5] - adds r0, #0x25 - strb r1, [r0] + movs r3, #0xe6 + lsls r3, r3, #3 + adds r0, r2, r3 + strb r1, [r0] + ldr r0, [r5] + adds r0, #0x25 + strb r1, [r0] _0801C736: - pop {r4, r5, r6} - pop {r0} - bx r0 + pop {r4, r5, r6} + pop {r0} + bx r0 - thumb_func_start sub_1C73C + thumb_func_start sub_1C73C sub_1C73C: @ 0x0801C73C - push {r4, r5, r6, r7, lr} - ldr r7, _0801C7E0 @ =0x0200B0C0 - ldr r0, [r7, #0x44] - ldr r0, [r0, #0x34] - movs r6, #0 - movs r4, #0 - strh r4, [r0] - movs r0, #0 - bl sub_4B408 - ldr r5, _0801C7E4 @ =0x020314E0 - ldr r1, [r5] - ldr r2, _0801C7E8 @ =0x0000132C - adds r1, r1, r2 - ldr r0, [r1] - strh r4, [r0, #0x30] - ldr r0, [r1] - strh r4, [r0, #0x32] - ldr r0, [r1] - strb r6, [r0] - ldr r0, [r5] - strb r6, [r0, #0x1f] - ldr r1, [r5] - adds r2, r1, r2 - ldr r2, [r2] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r2, #0xe] - movs r0, #0xe6 - lsls r0, r0, #3 - adds r1, r1, r0 - strb r6, [r1] - ldr r0, [r5] - adds r0, #0x25 - strb r6, [r0] - ldr r1, [r5] - ldr r2, _0801C7EC @ =0x00000282 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0801C7BA - ldr r2, _0801C7F0 @ =0x00000723 - adds r0, r1, r2 - strb r6, [r0] - ldr r0, [r5] - movs r1, #0xe4 - lsls r1, r1, #3 - adds r0, r0, r1 - strb r6, [r0] - ldr r0, [r5] - subs r2, #6 - adds r0, r0, r2 - strb r6, [r0] - ldr r0, [r5] - subs r1, #2 - adds r0, r0, r1 - strb r6, [r0] - ldr r0, [r5] - adds r2, #2 - adds r0, r0, r2 - strb r6, [r0] + push {r4, r5, r6, r7, lr} + ldr r7, _0801C7E0 @ =0x0200B0C0 + ldr r0, [r7, #0x44] + ldr r0, [r0, #0x34] + movs r6, #0 + movs r4, #0 + strh r4, [r0] + movs r0, #0 + bl sub_4B408 + ldr r5, _0801C7E4 @ =0x020314E0 + ldr r1, [r5] + ldr r2, _0801C7E8 @ =0x0000132C + adds r1, r1, r2 + ldr r0, [r1] + strh r4, [r0, #0x30] + ldr r0, [r1] + strh r4, [r0, #0x32] + ldr r0, [r1] + strb r6, [r0] + ldr r0, [r5] + strb r6, [r0, #0x1f] + ldr r1, [r5] + adds r2, r1, r2 + ldr r2, [r2] + movs r0, #0x80 + lsls r0, r0, #1 + strh r0, [r2, #0xe] + movs r0, #0xe6 + lsls r0, r0, #3 + adds r1, r1, r0 + strb r6, [r1] + ldr r0, [r5] + adds r0, #0x25 + strb r6, [r0] + ldr r1, [r5] + ldr r2, _0801C7EC @ =0x00000282 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0801C7BA + ldr r2, _0801C7F0 @ =0x00000723 + adds r0, r1, r2 + strb r6, [r0] + ldr r0, [r5] + movs r1, #0xe4 + lsls r1, r1, #3 + adds r0, r0, r1 + strb r6, [r0] + ldr r0, [r5] + subs r2, #6 + adds r0, r0, r2 + strb r6, [r0] + ldr r0, [r5] + subs r1, #2 + adds r0, r0, r1 + strb r6, [r0] + ldr r0, [r5] + adds r2, #2 + adds r0, r0, r2 + strb r6, [r0] _0801C7BA: - bl m4aMPlayAllStop - bl sub_D10 - ldrb r0, [r7, #4] - strb r0, [r7, #5] - ldr r0, [r5] - movs r1, #0xa1 - lsls r1, r1, #2 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r7, #4] - movs r0, #1 - strb r0, [r7, #6] - strb r6, [r7, #3] - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + bl m4aMPlayAllStop + bl sub_D10 + ldrb r0, [r7, #4] + strb r0, [r7, #5] + ldr r0, [r5] + movs r1, #0xa1 + lsls r1, r1, #2 + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r7, #4] + movs r0, #1 + strb r0, [r7, #6] + strb r6, [r7, #3] + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0801C7E0: .4byte 0x0200B0C0 _0801C7E4: .4byte 0x020314E0 _0801C7E8: .4byte 0x0000132C _0801C7EC: .4byte 0x00000282 _0801C7F0: .4byte 0x00000723 - thumb_func_start sub_1C7F4 + thumb_func_start sub_1C7F4 sub_1C7F4: @ 0x0801C7F4 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x30 - lsls r0, r0, #0x10 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - str r1, [sp, #0x2c] - lsrs r1, r0, #0x10 - str r1, [sp, #0x28] - asrs r0, r0, #0x10 - ldr r2, _0801C824 @ =0x020314E0 - mov sl, r2 - cmp r0, #9 - bls _0801C81A - bl _0801D0B8 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x30 + lsls r0, r0, #0x10 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + str r1, [sp, #0x2c] + lsrs r1, r0, #0x10 + str r1, [sp, #0x28] + asrs r0, r0, #0x10 + ldr r2, _0801C824 @ =0x020314E0 + mov sl, r2 + cmp r0, #9 + bls _0801C81A + bl _0801D0B8 _0801C81A: - lsls r0, r0, #2 - ldr r1, _0801C828 @ =_0801C82C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0801C828 @ =_0801C82C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0801C824: .4byte 0x020314E0 _0801C828: .4byte _0801C82C _0801C82C: @ jump table - .4byte _0801C854 @ case 0 - .4byte _0801C900 @ case 1 - .4byte _0801C9A8 @ case 2 - .4byte _0801CA4C @ case 3 - .4byte _0801CCB8 @ case 4 - .4byte _0801D0B8 @ case 5 - .4byte _0801CDC0 @ case 6 - .4byte _0801CF6C @ case 7 - .4byte _0801D02C @ case 8 - .4byte _0801CB24 @ case 9 + .4byte _0801C854 @ case 0 + .4byte _0801C900 @ case 1 + .4byte _0801C9A8 @ case 2 + .4byte _0801CA4C @ case 3 + .4byte _0801CCB8 @ case 4 + .4byte _0801D0B8 @ case 5 + .4byte _0801CDC0 @ case 6 + .4byte _0801CF6C @ case 7 + .4byte _0801D02C @ case 8 + .4byte _0801CB24 @ case 9 _0801C854: - ldr r6, _0801C8D0 @ =0x020314E0 - ldr r0, [r6] - ldr r3, _0801C8D4 @ =0x000006DB - adds r0, r0, r3 - movs r1, #3 - strb r1, [r0] - ldr r0, [r6] - ldr r4, [sp, #0x2c] - lsls r3, r4, #0x10 - asrs r3, r3, #0x10 - ldr r2, _0801C8D8 @ =0x00000749 - adds r1, r0, r2 - adds r1, r1, r3 - ldr r5, _0801C8DC @ =0x000006D9 - mov r8, r5 - add r0, r8 - adds r0, r0, r3 - ldrb r0, [r0] - strb r0, [r1] - ldr r4, _0801C8E0 @ =0x040000D4 - ldr r5, [r6] - adds r2, r5, r2 - adds r2, r2, r3 - ldrb r1, [r2] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _0801C8E4 @ =0x0848D68C - adds r0, r0, r1 - str r0, [r4] - lsls r2, r3, #1 - adds r0, r2, r3 - lsls r0, r0, #8 - ldr r1, _0801C8E8 @ =0x06010CA0 - adds r0, r0, r1 - str r0, [r4, #4] - ldr r0, _0801C8EC @ =0x80000180 - str r0, [r4, #8] - ldr r0, [r4, #8] - add r5, r8 - adds r5, r5, r3 - movs r0, #0 - ldrsb r0, [r5, r0] - lsls r0, r0, #0x14 - lsrs r0, r0, #0xf - ldr r1, _0801C8F0 @ =0x081C00E4 - adds r0, r0, r1 - str r0, [r4] - ldr r0, _0801C8F4 @ =0x086AD798 - adds r2, r2, r0 - ldrh r0, [r2] - lsls r0, r0, #5 - ldr r2, _0801C8F8 @ =0x05000200 - adds r0, r0, r2 - str r0, [r4, #4] - ldr r0, _0801C8FC @ =0x80000010 - str r0, [r4, #8] - ldr r0, [r4, #8] - mov sl, r6 - bl _0801D0B8 - .align 2, 0 + ldr r6, _0801C8D0 @ =0x020314E0 + ldr r0, [r6] + ldr r3, _0801C8D4 @ =0x000006DB + adds r0, r0, r3 + movs r1, #3 + strb r1, [r0] + ldr r0, [r6] + ldr r4, [sp, #0x2c] + lsls r3, r4, #0x10 + asrs r3, r3, #0x10 + ldr r2, _0801C8D8 @ =0x00000749 + adds r1, r0, r2 + adds r1, r1, r3 + ldr r5, _0801C8DC @ =0x000006D9 + mov r8, r5 + add r0, r8 + adds r0, r0, r3 + ldrb r0, [r0] + strb r0, [r1] + ldr r4, _0801C8E0 @ =0x040000D4 + ldr r5, [r6] + adds r2, r5, r2 + adds r2, r2, r3 + ldrb r1, [r2] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _0801C8E4 @ =0x0848D68C + adds r0, r0, r1 + str r0, [r4] + lsls r2, r3, #1 + adds r0, r2, r3 + lsls r0, r0, #8 + ldr r1, _0801C8E8 @ =0x06010CA0 + adds r0, r0, r1 + str r0, [r4, #4] + ldr r0, _0801C8EC @ =0x80000180 + str r0, [r4, #8] + ldr r0, [r4, #8] + add r5, r8 + adds r5, r5, r3 + movs r0, #0 + ldrsb r0, [r5, r0] + lsls r0, r0, #0x14 + lsrs r0, r0, #0xf + ldr r1, _0801C8F0 @ =0x081C00E4 + adds r0, r0, r1 + str r0, [r4] + ldr r0, _0801C8F4 @ =0x086AD798 + adds r2, r2, r0 + ldrh r0, [r2] + lsls r0, r0, #5 + ldr r2, _0801C8F8 @ =0x05000200 + adds r0, r0, r2 + str r0, [r4, #4] + ldr r0, _0801C8FC @ =0x80000010 + str r0, [r4, #8] + ldr r0, [r4, #8] + mov sl, r6 + bl _0801D0B8 + .align 2, 0 _0801C8D0: .4byte 0x020314E0 _0801C8D4: .4byte 0x000006DB _0801C8D8: .4byte 0x00000749 @@ -56419,67 +56419,67 @@ _0801C8F4: .4byte 0x086AD798 _0801C8F8: .4byte 0x05000200 _0801C8FC: .4byte 0x80000010 _0801C900: - ldr r7, _0801C97C @ =0x086AD070 - ldr r6, _0801C980 @ =0x020314E0 - ldr r0, [r6] - ldr r3, [sp, #0x2c] - lsls r4, r3, #0x10 - asrs r4, r4, #0x10 - ldr r5, _0801C984 @ =0x00000749 - mov r8, r5 - adds r5, r0, r5 - adds r5, r5, r4 - movs r1, #0xe1 - lsls r1, r1, #3 - adds r0, r0, r1 - ldr r0, [r0] - movs r1, #0x30 - bl __umodsi3 - movs r1, #0x18 - bl __udivsi3 - lsls r0, r0, #1 - adds r0, r0, r7 - ldrh r0, [r0] - strb r0, [r5] - ldrh r2, [r7, #4] - lsls r2, r2, #0x14 - ldr r3, _0801C988 @ =0x040000D4 - ldr r0, [r6] - add r0, r8 - adds r0, r0, r4 - ldrb r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _0801C98C @ =0x083A8EEC - adds r0, r0, r1 - str r0, [r3] - lsls r1, r4, #1 - adds r4, r1, r4 - lsls r4, r4, #8 - ldr r5, _0801C990 @ =0x06010CA0 - adds r4, r4, r5 - str r4, [r3, #4] - ldr r0, _0801C994 @ =0x80000180 - str r0, [r3, #8] - ldr r0, [r3, #8] - lsrs r2, r2, #0xf - ldr r0, _0801C998 @ =0x081C02E4 - adds r2, r2, r0 - str r2, [r3] - ldr r0, _0801C99C @ =0x086AD798 - adds r1, r1, r0 - ldrh r0, [r1] - lsls r0, r0, #5 - ldr r1, _0801C9A0 @ =0x05000200 - adds r0, r0, r1 - str r0, [r3, #4] - ldr r0, _0801C9A4 @ =0x80000010 - str r0, [r3, #8] - ldr r0, [r3, #8] - mov sl, r6 - b _0801D0B8 - .align 2, 0 + ldr r7, _0801C97C @ =0x086AD070 + ldr r6, _0801C980 @ =0x020314E0 + ldr r0, [r6] + ldr r3, [sp, #0x2c] + lsls r4, r3, #0x10 + asrs r4, r4, #0x10 + ldr r5, _0801C984 @ =0x00000749 + mov r8, r5 + adds r5, r0, r5 + adds r5, r5, r4 + movs r1, #0xe1 + lsls r1, r1, #3 + adds r0, r0, r1 + ldr r0, [r0] + movs r1, #0x30 + bl __umodsi3 + movs r1, #0x18 + bl __udivsi3 + lsls r0, r0, #1 + adds r0, r0, r7 + ldrh r0, [r0] + strb r0, [r5] + ldrh r2, [r7, #4] + lsls r2, r2, #0x14 + ldr r3, _0801C988 @ =0x040000D4 + ldr r0, [r6] + add r0, r8 + adds r0, r0, r4 + ldrb r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _0801C98C @ =0x083A8EEC + adds r0, r0, r1 + str r0, [r3] + lsls r1, r4, #1 + adds r4, r1, r4 + lsls r4, r4, #8 + ldr r5, _0801C990 @ =0x06010CA0 + adds r4, r4, r5 + str r4, [r3, #4] + ldr r0, _0801C994 @ =0x80000180 + str r0, [r3, #8] + ldr r0, [r3, #8] + lsrs r2, r2, #0xf + ldr r0, _0801C998 @ =0x081C02E4 + adds r2, r2, r0 + str r2, [r3] + ldr r0, _0801C99C @ =0x086AD798 + adds r1, r1, r0 + ldrh r0, [r1] + lsls r0, r0, #5 + ldr r1, _0801C9A0 @ =0x05000200 + adds r0, r0, r1 + str r0, [r3, #4] + ldr r0, _0801C9A4 @ =0x80000010 + str r0, [r3, #8] + ldr r0, [r3, #8] + mov sl, r6 + b _0801D0B8 + .align 2, 0 _0801C97C: .4byte 0x086AD070 _0801C980: .4byte 0x020314E0 _0801C984: .4byte 0x00000749 @@ -56492,64 +56492,64 @@ _0801C99C: .4byte 0x086AD798 _0801C9A0: .4byte 0x05000200 _0801C9A4: .4byte 0x80000010 _0801C9A8: - ldr r5, _0801CA1C @ =0x020314E0 - ldr r3, [r5] - ldr r4, [sp, #0x2c] - lsls r2, r4, #0x10 - asrs r2, r2, #0x10 - ldr r1, _0801CA20 @ =0x000006EC - adds r0, r3, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #3 - ldr r1, _0801CA24 @ =0x086AD000 - adds r7, r0, r1 - ldr r1, _0801CA28 @ =0x00000749 - adds r3, r3, r1 - adds r3, r3, r2 - ldrh r0, [r7] - strb r0, [r3] - ldrh r3, [r7, #4] - lsls r3, r3, #0x14 - ldr r4, _0801CA2C @ =0x040000D4 - ldr r0, [r5] - 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, _0801CA30 @ =0x083A8EEC - adds r0, r0, r1 - str r0, [r4] - lsls r1, r2, #1 - adds r2, r1, r2 - lsls r2, r2, #8 - ldr r0, _0801CA34 @ =0x06010CA0 - adds r2, r2, r0 - str r2, [r4, #4] - ldr r0, _0801CA38 @ =0x80000180 - str r0, [r4, #8] - ldr r0, [r4, #8] - lsrs r3, r3, #0xf - ldr r0, _0801CA3C @ =0x081C02E4 - adds r3, r3, r0 - str r3, [r4] - ldr r0, _0801CA40 @ =0x086AD798 - adds r1, r1, r0 - ldrh r0, [r1] - lsls r0, r0, #5 - ldr r1, _0801CA44 @ =0x05000200 - adds r0, r0, r1 - str r0, [r4, #4] - ldr r0, _0801CA48 @ =0x80000010 - str r0, [r4, #8] - ldr r0, [r4, #8] - mov sl, r5 - b _0801D0B8 - .align 2, 0 + ldr r5, _0801CA1C @ =0x020314E0 + ldr r3, [r5] + ldr r4, [sp, #0x2c] + lsls r2, r4, #0x10 + asrs r2, r2, #0x10 + ldr r1, _0801CA20 @ =0x000006EC + adds r0, r3, r1 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #3 + ldr r1, _0801CA24 @ =0x086AD000 + adds r7, r0, r1 + ldr r1, _0801CA28 @ =0x00000749 + adds r3, r3, r1 + adds r3, r3, r2 + ldrh r0, [r7] + strb r0, [r3] + ldrh r3, [r7, #4] + lsls r3, r3, #0x14 + ldr r4, _0801CA2C @ =0x040000D4 + ldr r0, [r5] + 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, _0801CA30 @ =0x083A8EEC + adds r0, r0, r1 + str r0, [r4] + lsls r1, r2, #1 + adds r2, r1, r2 + lsls r2, r2, #8 + ldr r0, _0801CA34 @ =0x06010CA0 + adds r2, r2, r0 + str r2, [r4, #4] + ldr r0, _0801CA38 @ =0x80000180 + str r0, [r4, #8] + ldr r0, [r4, #8] + lsrs r3, r3, #0xf + ldr r0, _0801CA3C @ =0x081C02E4 + adds r3, r3, r0 + str r3, [r4] + ldr r0, _0801CA40 @ =0x086AD798 + adds r1, r1, r0 + ldrh r0, [r1] + lsls r0, r0, #5 + ldr r1, _0801CA44 @ =0x05000200 + adds r0, r0, r1 + str r0, [r4, #4] + ldr r0, _0801CA48 @ =0x80000010 + str r0, [r4, #8] + ldr r0, [r4, #8] + mov sl, r5 + b _0801D0B8 + .align 2, 0 _0801CA1C: .4byte 0x020314E0 _0801CA20: .4byte 0x000006EC _0801CA24: .4byte 0x086AD000 @@ -56563,91 +56563,91 @@ _0801CA40: .4byte 0x086AD798 _0801CA44: .4byte 0x05000200 _0801CA48: .4byte 0x80000010 _0801CA4C: - ldr r7, _0801CAFC @ =0x020314E0 - ldr r1, [r7] - ldr r2, [sp, #0x2c] - lsls r2, r2, #0x10 - asrs r2, r2, #0x10 - mov r8, r2 - ldr r2, _0801CB00 @ =0x00000749 - adds r0, r1, r2 - add r0, r8 - movs r3, #0xb3 - lsls r3, r3, #3 - adds r1, r1, r3 - ldrh r1, [r1] - strb r1, [r0] - ldr r5, _0801CB04 @ =0x040000D4 - ldr r4, _0801CB08 @ =0x086BB738 - mov sl, r4 - ldr r6, [r7] - adds r6, r6, r2 - add r6, r8 - ldrb r0, [r6] - mov sb, r0 - movs r1, #0xf - bl __udivsi3 - adds r4, r0, #0 - lsls r4, r4, #0x18 - lsrs r4, r4, #0x16 - add r4, sl - mov r0, sb - 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] - mov r1, r8 - lsls r0, r1, #1 - add r0, r8 - lsls r0, r0, #3 - ldr r2, _0801CB0C @ =0x06010CA0 - adds r0, r0, r2 - str r0, [r5, #4] - ldr r0, _0801CB10 @ =0x80000180 - str r0, [r5, #8] - ldr r0, [r5, #8] - ldr r3, _0801CB14 @ =0x086BB6A4 - mov r8, r3 - ldrb r6, [r6] - 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, #0x13 - ldr r1, [r4] - adds r1, r1, r0 - str r1, [r5] - ldr r0, _0801CB18 @ =0x050003A0 - str r0, [r5, #4] - ldr r1, _0801CB1C @ =0x80000010 - str r1, [r5, #8] - ldr r0, [r5, #8] - mov r4, r8 - ldr r0, [r4] - movs r2, #0xf0 - lsls r2, r2, #1 - adds r0, r0, r2 - str r0, [r5] - ldr r0, _0801CB20 @ =0x050003E0 - str r0, [r5, #4] - str r1, [r5, #8] - ldr r0, [r5, #8] - mov sl, r7 - b _0801D0B8 - .align 2, 0 + ldr r7, _0801CAFC @ =0x020314E0 + ldr r1, [r7] + ldr r2, [sp, #0x2c] + lsls r2, r2, #0x10 + asrs r2, r2, #0x10 + mov r8, r2 + ldr r2, _0801CB00 @ =0x00000749 + adds r0, r1, r2 + add r0, r8 + movs r3, #0xb3 + lsls r3, r3, #3 + adds r1, r1, r3 + ldrh r1, [r1] + strb r1, [r0] + ldr r5, _0801CB04 @ =0x040000D4 + ldr r4, _0801CB08 @ =0x086BB738 + mov sl, r4 + ldr r6, [r7] + adds r6, r6, r2 + add r6, r8 + ldrb r0, [r6] + mov sb, r0 + movs r1, #0xf + bl __udivsi3 + adds r4, r0, #0 + lsls r4, r4, #0x18 + lsrs r4, r4, #0x16 + add r4, sl + mov r0, sb + 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] + mov r1, r8 + lsls r0, r1, #1 + add r0, r8 + lsls r0, r0, #3 + ldr r2, _0801CB0C @ =0x06010CA0 + adds r0, r0, r2 + str r0, [r5, #4] + ldr r0, _0801CB10 @ =0x80000180 + str r0, [r5, #8] + ldr r0, [r5, #8] + ldr r3, _0801CB14 @ =0x086BB6A4 + mov r8, r3 + ldrb r6, [r6] + 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, #0x13 + ldr r1, [r4] + adds r1, r1, r0 + str r1, [r5] + ldr r0, _0801CB18 @ =0x050003A0 + str r0, [r5, #4] + ldr r1, _0801CB1C @ =0x80000010 + str r1, [r5, #8] + ldr r0, [r5, #8] + mov r4, r8 + ldr r0, [r4] + movs r2, #0xf0 + lsls r2, r2, #1 + adds r0, r0, r2 + str r0, [r5] + ldr r0, _0801CB20 @ =0x050003E0 + str r0, [r5, #4] + str r1, [r5, #8] + ldr r0, [r5, #8] + mov sl, r7 + b _0801D0B8 + .align 2, 0 _0801CAFC: .4byte 0x020314E0 _0801CB00: .4byte 0x00000749 _0801CB04: .4byte 0x040000D4 @@ -56659,40 +56659,40 @@ _0801CB18: .4byte 0x050003A0 _0801CB1C: .4byte 0x80000010 _0801CB20: .4byte 0x050003E0 _0801CB24: - ldr r0, _0801CB68 @ =0x020314E0 - ldr r4, [r0] - movs r3, #0x97 - lsls r3, r3, #2 - adds r1, r4, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - mov sl, r0 - cmp r1, #0 - ble _0801CBEC - ldr r0, _0801CB6C @ =0x0200B134 - ldr r5, _0801CB70 @ =0x0000059A - adds r1, r4, r5 - ldrh r3, [r1] - adds r0, r3, r0 - ldrb r0, [r0] - cmp r0, #0 - bne _0801CB80 - ldr r0, [sp, #0x2c] - lsls r2, r0, #0x10 - asrs r2, r2, #0x10 - ldr r3, _0801CB74 @ =0x00000749 - adds r0, r4, r3 - adds r0, r0, r2 - movs r1, #0xcd - strb r1, [r0] - ldr r5, _0801CB78 @ =0x040000D4 - ldr r1, _0801CB7C @ =0x086BB6A4 - mov r8, r1 - mov r4, sl - ldr r0, [r4] - b _0801CC0C - .align 2, 0 + ldr r0, _0801CB68 @ =0x020314E0 + ldr r4, [r0] + movs r3, #0x97 + lsls r3, r3, #2 + adds r1, r4, r3 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + mov sl, r0 + cmp r1, #0 + ble _0801CBEC + ldr r0, _0801CB6C @ =0x0200B134 + ldr r5, _0801CB70 @ =0x0000059A + adds r1, r4, r5 + ldrh r3, [r1] + adds r0, r3, r0 + ldrb r0, [r0] + cmp r0, #0 + bne _0801CB80 + ldr r0, [sp, #0x2c] + lsls r2, r0, #0x10 + asrs r2, r2, #0x10 + ldr r3, _0801CB74 @ =0x00000749 + adds r0, r4, r3 + adds r0, r0, r2 + movs r1, #0xcd + strb r1, [r0] + ldr r5, _0801CB78 @ =0x040000D4 + ldr r1, _0801CB7C @ =0x086BB6A4 + mov r8, r1 + mov r4, sl + ldr r0, [r4] + b _0801CC0C + .align 2, 0 _0801CB68: .4byte 0x020314E0 _0801CB6C: .4byte 0x0200B134 _0801CB70: .4byte 0x0000059A @@ -56700,140 +56700,140 @@ _0801CB74: .4byte 0x00000749 _0801CB78: .4byte 0x040000D4 _0801CB7C: .4byte 0x086BB6A4 _0801CB80: - cmp r0, #3 - bhi _0801CBC0 - ldr r5, [sp, #0x2c] - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - ldr r2, _0801CBAC @ =0x00000749 - adds r0, r4, r2 - adds r0, r0, r1 - strb r3, [r0] - ldr r1, _0801CBB0 @ =0x040000D4 - ldr r0, _0801CBB4 @ =0x086BB6A4 - ldr r0, [r0] - movs r3, #0xf0 - lsls r3, r3, #1 - adds r0, r0, r3 - str r0, [r1] - ldr r0, _0801CBB8 @ =0x050003A0 - str r0, [r1, #4] - ldr r0, _0801CBBC @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - b _0801CC3E - .align 2, 0 + cmp r0, #3 + bhi _0801CBC0 + ldr r5, [sp, #0x2c] + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + ldr r2, _0801CBAC @ =0x00000749 + adds r0, r4, r2 + adds r0, r0, r1 + strb r3, [r0] + ldr r1, _0801CBB0 @ =0x040000D4 + ldr r0, _0801CBB4 @ =0x086BB6A4 + ldr r0, [r0] + movs r3, #0xf0 + lsls r3, r3, #1 + adds r0, r0, r3 + str r0, [r1] + ldr r0, _0801CBB8 @ =0x050003A0 + str r0, [r1, #4] + ldr r0, _0801CBBC @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + b _0801CC3E + .align 2, 0 _0801CBAC: .4byte 0x00000749 _0801CBB0: .4byte 0x040000D4 _0801CBB4: .4byte 0x086BB6A4 _0801CBB8: .4byte 0x050003A0 _0801CBBC: .4byte 0x80000010 _0801CBC0: - ldr r5, [sp, #0x2c] - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - ldr r2, _0801CBE0 @ =0x00000749 - adds r0, r4, r2 - adds r0, r0, r1 - strb r3, [r0] - ldr r5, _0801CBE4 @ =0x040000D4 - ldr r0, _0801CBE8 @ =0x086BB6A4 - mov r8, r0 - mov r3, sl - ldr r0, [r3] - adds r0, r0, r2 - adds r0, r0, r1 - b _0801CC10 - .align 2, 0 + ldr r5, [sp, #0x2c] + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + ldr r2, _0801CBE0 @ =0x00000749 + adds r0, r4, r2 + adds r0, r0, r1 + strb r3, [r0] + ldr r5, _0801CBE4 @ =0x040000D4 + ldr r0, _0801CBE8 @ =0x086BB6A4 + mov r8, r0 + mov r3, sl + ldr r0, [r3] + adds r0, r0, r2 + adds r0, r0, r1 + b _0801CC10 + .align 2, 0 _0801CBE0: .4byte 0x00000749 _0801CBE4: .4byte 0x040000D4 _0801CBE8: .4byte 0x086BB6A4 _0801CBEC: - ldr r5, [sp, #0x2c] - lsls r2, r5, #0x10 - asrs r2, r2, #0x10 - ldr r3, _0801CC98 @ =0x00000749 - adds r0, r4, r3 - adds r0, r0, r2 - movs r5, #0xb3 - lsls r5, r5, #3 - adds r1, r4, r5 - ldrh r1, [r1] - strb r1, [r0] - ldr r5, _0801CC9C @ =0x040000D4 - ldr r0, _0801CCA0 @ =0x086BB6A4 - mov r8, r0 - mov r1, sl - ldr r0, [r1] + ldr r5, [sp, #0x2c] + lsls r2, r5, #0x10 + asrs r2, r2, #0x10 + ldr r3, _0801CC98 @ =0x00000749 + adds r0, r4, r3 + adds r0, r0, r2 + movs r5, #0xb3 + lsls r5, r5, #3 + adds r1, r4, r5 + ldrh r1, [r1] + strb r1, [r0] + ldr r5, _0801CC9C @ =0x040000D4 + ldr r0, _0801CCA0 @ =0x086BB6A4 + mov r8, r0 + mov r1, sl + ldr r0, [r1] _0801CC0C: - adds r0, r0, r3 - adds r0, r0, r2 + adds r0, r0, r3 + adds r0, r0, r2 _0801CC10: - 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, #0x13 - ldr r1, [r4] - adds r1, r1, r0 - str r1, [r5] - ldr r0, _0801CCA4 @ =0x050003A0 - str r0, [r5, #4] - ldr r0, _0801CCA8 @ =0x80000010 - str r0, [r5, #8] - ldr r0, [r5, #8] + 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, #0x13 + ldr r1, [r4] + adds r1, r1, r0 + str r1, [r5] + ldr r0, _0801CCA4 @ =0x050003A0 + str r0, [r5, #4] + ldr r0, _0801CCA8 @ =0x80000010 + str r0, [r5, #8] + ldr r0, [r5, #8] _0801CC3E: - ldr r2, _0801CC9C @ =0x040000D4 - mov r8, r2 - ldr r3, _0801CCAC @ =0x086BB738 - mov sb, r3 - mov r4, sl - ldr r0, [r4] - ldr r1, [sp, #0x2c] - lsls r5, r1, #0x10 - asrs r5, r5, #0x10 - ldr r2, _0801CC98 @ =0x00000749 - adds r0, r0, r2 - adds r0, r0, r5 - 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, sb - 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 - mov r3, r8 - str r0, [r3] - lsls r0, r5, #1 - adds r0, r0, r5 - lsls r0, r0, #3 - ldr r4, _0801CCB0 @ =0x06010CA0 - adds r0, r0, r4 - str r0, [r3, #4] - ldr r0, _0801CCB4 @ =0x80000180 - str r0, [r3, #8] - ldr r0, [r3, #8] - b _0801D0B8 - .align 2, 0 + ldr r2, _0801CC9C @ =0x040000D4 + mov r8, r2 + ldr r3, _0801CCAC @ =0x086BB738 + mov sb, r3 + mov r4, sl + ldr r0, [r4] + ldr r1, [sp, #0x2c] + lsls r5, r1, #0x10 + asrs r5, r5, #0x10 + ldr r2, _0801CC98 @ =0x00000749 + adds r0, r0, r2 + adds r0, r0, r5 + 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, sb + 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 + mov r3, r8 + str r0, [r3] + lsls r0, r5, #1 + adds r0, r0, r5 + lsls r0, r0, #3 + ldr r4, _0801CCB0 @ =0x06010CA0 + adds r0, r0, r4 + str r0, [r3, #4] + ldr r0, _0801CCB4 @ =0x80000180 + str r0, [r3, #8] + ldr r0, [r3, #8] + b _0801D0B8 + .align 2, 0 _0801CC98: .4byte 0x00000749 _0801CC9C: .4byte 0x040000D4 _0801CCA0: .4byte 0x086BB6A4 @@ -56843,60 +56843,60 @@ _0801CCAC: .4byte 0x086BB738 _0801CCB0: .4byte 0x06010CA0 _0801CCB4: .4byte 0x80000180 _0801CCB8: - ldr r0, _0801CD28 @ =0x020314E0 - ldr r2, [r0] - movs r1, #0x17 - ldrsb r1, [r2, r1] - mov sl, r0 - cmp r1, #2 - bne _0801CD44 - ldr r0, [sp, #0x2c] - lsls r5, r0, #0x10 - asrs r5, r5, #0x10 - ldr r1, _0801CD2C @ =0x00000749 - mov r8, r1 - adds r4, r2, r1 - adds r4, r4, r5 - ldr r6, _0801CD30 @ =0x086AD000 - movs r3, #0xe1 - lsls r3, r3, #3 - adds r0, r2, r3 - ldr r0, [r0] - movs r1, #0x30 - bl __umodsi3 - movs r1, #0x18 - bl __udivsi3 - lsls r0, r0, #1 - adds r1, r6, #0 - adds r1, #0x78 - adds r0, r0, r1 - ldrh r0, [r0] - strb r0, [r4] - ldr r2, _0801CD34 @ =0x040000D4 - mov r4, sl - ldr r0, [r4] - add r0, r8 - adds r0, r0, r5 - ldrb r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _0801CD38 @ =0x083A8EEC - adds r0, r0, r1 - str r0, [r2] - lsls r0, r5, #1 - adds r0, r0, r5 - lsls r0, r0, #8 - ldr r5, _0801CD3C @ =0x06010CA0 - adds r0, r0, r5 - str r0, [r2, #4] - ldr r0, _0801CD40 @ =0x80000180 - str r0, [r2, #8] - ldr r0, [r2, #8] - adds r6, #0x7c - ldrh r5, [r6] - b _0801CF30 - .align 2, 0 + ldr r0, _0801CD28 @ =0x020314E0 + ldr r2, [r0] + movs r1, #0x17 + ldrsb r1, [r2, r1] + mov sl, r0 + cmp r1, #2 + bne _0801CD44 + ldr r0, [sp, #0x2c] + lsls r5, r0, #0x10 + asrs r5, r5, #0x10 + ldr r1, _0801CD2C @ =0x00000749 + mov r8, r1 + adds r4, r2, r1 + adds r4, r4, r5 + ldr r6, _0801CD30 @ =0x086AD000 + movs r3, #0xe1 + lsls r3, r3, #3 + adds r0, r2, r3 + ldr r0, [r0] + movs r1, #0x30 + bl __umodsi3 + movs r1, #0x18 + bl __udivsi3 + lsls r0, r0, #1 + adds r1, r6, #0 + adds r1, #0x78 + adds r0, r0, r1 + ldrh r0, [r0] + strb r0, [r4] + ldr r2, _0801CD34 @ =0x040000D4 + mov r4, sl + ldr r0, [r4] + add r0, r8 + adds r0, r0, r5 + ldrb r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _0801CD38 @ =0x083A8EEC + adds r0, r0, r1 + str r0, [r2] + lsls r0, r5, #1 + adds r0, r0, r5 + lsls r0, r0, #8 + ldr r5, _0801CD3C @ =0x06010CA0 + adds r0, r0, r5 + str r0, [r2, #4] + ldr r0, _0801CD40 @ =0x80000180 + str r0, [r2, #8] + ldr r0, [r2, #8] + adds r6, #0x7c + ldrh r5, [r6] + b _0801CF30 + .align 2, 0 _0801CD28: .4byte 0x020314E0 _0801CD2C: .4byte 0x00000749 _0801CD30: .4byte 0x086AD000 @@ -56905,55 +56905,55 @@ _0801CD38: .4byte 0x083A8EEC _0801CD3C: .4byte 0x06010CA0 _0801CD40: .4byte 0x80000180 _0801CD44: - ldr r0, [sp, #0x2c] - lsls r5, r0, #0x10 - asrs r5, r5, #0x10 - ldr r1, _0801CDA8 @ =0x00000749 - mov r8, r1 - adds r4, r2, r1 - adds r4, r4, r5 - ldr r6, _0801CDAC @ =0x086AD000 - movs r3, #0xe1 - lsls r3, r3, #3 - adds r0, r2, r3 - ldr r0, [r0] - movs r1, #0x30 - bl __umodsi3 - movs r1, #0x18 - bl __udivsi3 - lsls r0, r0, #1 - adds r1, r6, #0 - adds r1, #0x80 - adds r0, r0, r1 - ldrh r0, [r0] - strb r0, [r4] - ldr r2, _0801CDB0 @ =0x040000D4 - mov r4, sl - ldr r0, [r4] - add r0, r8 - adds r0, r0, r5 - ldrb r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _0801CDB4 @ =0x083A8EEC - adds r0, r0, r1 - str r0, [r2] - lsls r0, r5, #1 - adds r0, r0, r5 - lsls r0, r0, #8 - ldr r5, _0801CDB8 @ =0x06010CA0 - adds r0, r0, r5 - str r0, [r2, #4] - ldr r0, _0801CDBC @ =0x80000180 - str r0, [r2, #8] - ldr r0, [r2, #8] - adds r6, #0x84 - ldrh r0, [r6] - lsls r0, r0, #0x14 - lsrs r5, r0, #0x10 - b _0801CF30 - .align 2, 0 + ldr r0, [sp, #0x2c] + lsls r5, r0, #0x10 + asrs r5, r5, #0x10 + ldr r1, _0801CDA8 @ =0x00000749 + mov r8, r1 + adds r4, r2, r1 + adds r4, r4, r5 + ldr r6, _0801CDAC @ =0x086AD000 + movs r3, #0xe1 + lsls r3, r3, #3 + adds r0, r2, r3 + ldr r0, [r0] + movs r1, #0x30 + bl __umodsi3 + movs r1, #0x18 + bl __udivsi3 + lsls r0, r0, #1 + adds r1, r6, #0 + adds r1, #0x80 + adds r0, r0, r1 + ldrh r0, [r0] + strb r0, [r4] + ldr r2, _0801CDB0 @ =0x040000D4 + mov r4, sl + ldr r0, [r4] + add r0, r8 + adds r0, r0, r5 + ldrb r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _0801CDB4 @ =0x083A8EEC + adds r0, r0, r1 + str r0, [r2] + lsls r0, r5, #1 + adds r0, r0, r5 + lsls r0, r0, #8 + ldr r5, _0801CDB8 @ =0x06010CA0 + adds r0, r0, r5 + str r0, [r2, #4] + ldr r0, _0801CDBC @ =0x80000180 + str r0, [r2, #8] + ldr r0, [r2, #8] + adds r6, #0x84 + ldrh r0, [r6] + lsls r0, r0, #0x14 + lsrs r5, r0, #0x10 + b _0801CF30 + .align 2, 0 _0801CDA8: .4byte 0x00000749 _0801CDAC: .4byte 0x086AD000 _0801CDB0: .4byte 0x040000D4 @@ -56961,162 +56961,162 @@ _0801CDB4: .4byte 0x083A8EEC _0801CDB8: .4byte 0x06010CA0 _0801CDBC: .4byte 0x80000180 _0801CDC0: - ldr r4, _0801CEF8 @ =0x020314E0 - ldr r2, [r4] - ldr r5, _0801CEFC @ =0x000001A7 - adds r0, r2, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #3 - ldr r1, _0801CF00 @ =0x086AD000 - adds r7, r0, r1 - ldr r0, [sp, #0x2c] - lsls r3, r0, #0x10 - asrs r3, r3, #0x10 - ldr r1, _0801CF04 @ =0x00000749 - adds r2, r2, r1 - adds r2, r2, r3 - ldrh r0, [r7] - strb r0, [r2] - ldrh r0, [r7, #4] - lsls r0, r0, #0x14 - lsrs r5, r0, #0x10 - ldr r2, _0801CF08 @ =0x040000D4 - ldr r0, [r4] - mov r8, r0 - add r1, r8 - adds r1, r1, r3 - ldrb r1, [r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _0801CF0C @ =0x083A8EEC - adds r0, r0, r1 - str r0, [r2] - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r0, r0, #8 - ldr r1, _0801CF10 @ =0x06010CA0 - adds r0, r0, r1 - str r0, [r2, #4] - ldr r0, _0801CF14 @ =0x80000180 - str r0, [r2, #8] - ldr r0, [r2, #8] - mov r2, r8 - movs r3, #0xc9 - lsls r3, r3, #1 - adds r0, r2, r3 - ldrb r0, [r0] - mov sl, r4 - ldrh r7, [r7, #6] - cmp r0, r7 - blo _0801CE5A - ldr r1, _0801CF18 @ =0x086AD2DE - movs r4, #0xd3 - lsls r4, r4, #1 - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - cmp r1, #3 - bne _0801CE4C - adds r3, #0x50 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - beq _0801CE5A + ldr r4, _0801CEF8 @ =0x020314E0 + ldr r2, [r4] + ldr r5, _0801CEFC @ =0x000001A7 + adds r0, r2, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #3 + ldr r1, _0801CF00 @ =0x086AD000 + adds r7, r0, r1 + ldr r0, [sp, #0x2c] + lsls r3, r0, #0x10 + asrs r3, r3, #0x10 + ldr r1, _0801CF04 @ =0x00000749 + adds r2, r2, r1 + adds r2, r2, r3 + ldrh r0, [r7] + strb r0, [r2] + ldrh r0, [r7, #4] + lsls r0, r0, #0x14 + lsrs r5, r0, #0x10 + ldr r2, _0801CF08 @ =0x040000D4 + ldr r0, [r4] + mov r8, r0 + add r1, r8 + adds r1, r1, r3 + ldrb r1, [r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _0801CF0C @ =0x083A8EEC + adds r0, r0, r1 + str r0, [r2] + lsls r0, r3, #1 + adds r0, r0, r3 + lsls r0, r0, #8 + ldr r1, _0801CF10 @ =0x06010CA0 + adds r0, r0, r1 + str r0, [r2, #4] + ldr r0, _0801CF14 @ =0x80000180 + str r0, [r2, #8] + ldr r0, [r2, #8] + mov r2, r8 + movs r3, #0xc9 + lsls r3, r3, #1 + adds r0, r2, r3 + ldrb r0, [r0] + mov sl, r4 + ldrh r7, [r7, #6] + cmp r0, r7 + blo _0801CE5A + ldr r1, _0801CF18 @ =0x086AD2DE + movs r4, #0xd3 + lsls r4, r4, #1 + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r1, [r0] + cmp r1, #3 + bne _0801CE4C + adds r3, #0x50 + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + beq _0801CE5A _0801CE4C: - cmp r1, #4 - bne _0801CF30 - ldr r0, _0801CF1C @ =0x000001AF - add r0, r8 - ldrb r0, [r0] - cmp r0, #0 - beq _0801CF30 + cmp r1, #4 + bne _0801CF30 + ldr r0, _0801CF1C @ =0x000001AF + add r0, r8 + ldrb r0, [r0] + cmp r0, #0 + beq _0801CF30 _0801CE5A: - ldr r2, _0801CF08 @ =0x040000D4 - lsls r0, r5, #1 - ldr r1, _0801CF20 @ =0x081C02E4 - adds r0, r0, r1 - str r0, [r2] - mov r4, sp - str r4, [r2, #4] - ldr r0, _0801CF24 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r0, #0 - ldr r5, _0801CF28 @ =0x086AD798 - mov sb, r5 - add r7, sp, #0x20 + ldr r2, _0801CF08 @ =0x040000D4 + lsls r0, r5, #1 + ldr r1, _0801CF20 @ =0x081C02E4 + adds r0, r0, r1 + str r0, [r2] + mov r4, sp + str r4, [r2, #4] + ldr r0, _0801CF24 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r0, #0 + ldr r5, _0801CF28 @ =0x086AD798 + mov sb, r5 + add r7, sp, #0x20 _0801CE76: - lsls r5, r0, #0x10 - asrs r5, r5, #0x10 - lsls r0, r5, #1 - mov r1, sp - adds r6, r1, r0 - ldrh r1, [r6] - movs r0, #0x1f - ands r0, r1 - lsls r0, r0, #1 - movs r1, #3 - bl __divsi3 - mov r8, r0 - mov r2, r8 - strh r2, [r7] - ldrh r0, [r6] - movs r3, #0xf8 - lsls r3, r3, #2 - adds r1, r3, #0 - ands r0, r1 - lsrs r0, r0, #4 - movs r1, #3 - bl __divsi3 - adds r4, r0, #0 - strh r4, [r7, #2] - ldrh r0, [r6] - movs r2, #0xf8 - lsls r2, r2, #7 - adds r1, r2, #0 - ands r0, r1 - lsrs r0, r0, #9 - movs r1, #3 - bl __divsi3 - strh r0, [r7, #4] - lsls r4, r4, #5 - mov r3, r8 - orrs r4, r3 - lsls r0, r0, #0xa - orrs r4, r0 - strh r4, [r6] - adds r5, #1 - lsls r5, r5, #0x10 - lsrs r0, r5, #0x10 - asrs r5, r5, #0x10 - cmp r5, #0xf - ble _0801CE76 - ldr r1, _0801CF08 @ =0x040000D4 - mov r4, sp - str r4, [r1] - ldr r5, [sp, #0x2c] - lsls r0, r5, #0x10 - asrs r0, r0, #0xf - add r0, sb - ldrh r0, [r0] - lsls r0, r0, #5 - ldr r2, _0801CF2C @ =0x05000200 - adds r0, r0, r2 - str r0, [r1, #4] - ldr r0, _0801CF24 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - b _0801D0B8 - .align 2, 0 + lsls r5, r0, #0x10 + asrs r5, r5, #0x10 + lsls r0, r5, #1 + mov r1, sp + adds r6, r1, r0 + ldrh r1, [r6] + movs r0, #0x1f + ands r0, r1 + lsls r0, r0, #1 + movs r1, #3 + bl __divsi3 + mov r8, r0 + mov r2, r8 + strh r2, [r7] + ldrh r0, [r6] + movs r3, #0xf8 + lsls r3, r3, #2 + adds r1, r3, #0 + ands r0, r1 + lsrs r0, r0, #4 + movs r1, #3 + bl __divsi3 + adds r4, r0, #0 + strh r4, [r7, #2] + ldrh r0, [r6] + movs r2, #0xf8 + lsls r2, r2, #7 + adds r1, r2, #0 + ands r0, r1 + lsrs r0, r0, #9 + movs r1, #3 + bl __divsi3 + strh r0, [r7, #4] + lsls r4, r4, #5 + mov r3, r8 + orrs r4, r3 + lsls r0, r0, #0xa + orrs r4, r0 + strh r4, [r6] + adds r5, #1 + lsls r5, r5, #0x10 + lsrs r0, r5, #0x10 + asrs r5, r5, #0x10 + cmp r5, #0xf + ble _0801CE76 + ldr r1, _0801CF08 @ =0x040000D4 + mov r4, sp + str r4, [r1] + ldr r5, [sp, #0x2c] + lsls r0, r5, #0x10 + asrs r0, r0, #0xf + add r0, sb + ldrh r0, [r0] + lsls r0, r0, #5 + ldr r2, _0801CF2C @ =0x05000200 + adds r0, r0, r2 + str r0, [r1, #4] + ldr r0, _0801CF24 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + b _0801D0B8 + .align 2, 0 _0801CEF8: .4byte 0x020314E0 _0801CEFC: .4byte 0x000001A7 _0801CF00: .4byte 0x086AD000 @@ -57132,102 +57132,102 @@ _0801CF24: .4byte 0x80000010 _0801CF28: .4byte 0x086AD798 _0801CF2C: .4byte 0x05000200 _0801CF30: - ldr r2, _0801CF58 @ =0x040000D4 - lsls r0, r5, #1 - ldr r1, _0801CF5C @ =0x081C02E4 - adds r0, r0, r1 - str r0, [r2] - ldr r1, _0801CF60 @ =0x086AD798 - ldr r3, [sp, #0x2c] - lsls r0, r3, #0x10 - asrs r0, r0, #0xf - adds r0, r0, r1 - ldrh r0, [r0] - lsls r0, r0, #5 - ldr r4, _0801CF64 @ =0x05000200 - adds r0, r0, r4 - str r0, [r2, #4] - ldr r0, _0801CF68 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - b _0801D0B8 - .align 2, 0 + ldr r2, _0801CF58 @ =0x040000D4 + lsls r0, r5, #1 + ldr r1, _0801CF5C @ =0x081C02E4 + adds r0, r0, r1 + str r0, [r2] + ldr r1, _0801CF60 @ =0x086AD798 + ldr r3, [sp, #0x2c] + lsls r0, r3, #0x10 + asrs r0, r0, #0xf + adds r0, r0, r1 + ldrh r0, [r0] + lsls r0, r0, #5 + ldr r4, _0801CF64 @ =0x05000200 + adds r0, r0, r4 + str r0, [r2, #4] + ldr r0, _0801CF68 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + b _0801D0B8 + .align 2, 0 _0801CF58: .4byte 0x040000D4 _0801CF5C: .4byte 0x081C02E4 _0801CF60: .4byte 0x086AD798 _0801CF64: .4byte 0x05000200 _0801CF68: .4byte 0x80000010 _0801CF6C: - ldr r5, _0801CFFC @ =0x020314E0 - mov r8, r5 - ldr r2, [r5] - ldr r0, [sp, #0x2c] - lsls r4, r0, #0x10 - asrs r4, r4, #0x10 - ldr r1, _0801D000 @ =0x000006EC - adds r0, r2, r1 - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #3 - ldr r1, _0801D004 @ =0x086AD000 - adds r7, r0, r1 - ldr r6, _0801D008 @ =0x00000749 - adds r5, r2, r6 - adds r5, r5, r4 - movs r3, #0xe1 - lsls r3, r3, #3 - adds r2, r2, r3 - ldr r0, [r2] - movs r1, #0x30 - bl __umodsi3 - movs r1, #0x18 - bl __udivsi3 - lsls r0, r0, #1 - adds r0, r7, r0 - ldrh r0, [r0] - strb r0, [r5] - ldrh r2, [r7, #4] - lsls r2, r2, #0x14 - ldr r3, _0801D00C @ =0x040000D4 - mov r5, r8 - ldr r0, [r5] - adds r0, r0, r6 - adds r0, r0, r4 - ldrb r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _0801D010 @ =0x083A8EEC - adds r0, r0, r1 - str r0, [r3] - lsls r1, r4, #1 - adds r4, r1, r4 - lsls r4, r4, #8 - ldr r0, _0801D014 @ =0x06010CA0 - adds r4, r4, r0 - str r4, [r3, #4] - ldr r0, _0801D018 @ =0x80000180 - str r0, [r3, #8] - ldr r0, [r3, #8] - lsrs r2, r2, #0xf - ldr r0, _0801D01C @ =0x081C02E4 - adds r2, r2, r0 - str r2, [r3] - ldr r0, _0801D020 @ =0x086AD798 - adds r1, r1, r0 - ldrh r0, [r1] - lsls r0, r0, #5 - ldr r1, _0801D024 @ =0x05000200 - adds r0, r0, r1 - str r0, [r3, #4] - ldr r0, _0801D028 @ =0x80000010 - str r0, [r3, #8] - ldr r0, [r3, #8] - mov sl, r8 - b _0801D0B8 - .align 2, 0 + ldr r5, _0801CFFC @ =0x020314E0 + mov r8, r5 + ldr r2, [r5] + ldr r0, [sp, #0x2c] + lsls r4, r0, #0x10 + asrs r4, r4, #0x10 + ldr r1, _0801D000 @ =0x000006EC + adds r0, r2, r1 + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #3 + ldr r1, _0801D004 @ =0x086AD000 + adds r7, r0, r1 + ldr r6, _0801D008 @ =0x00000749 + adds r5, r2, r6 + adds r5, r5, r4 + movs r3, #0xe1 + lsls r3, r3, #3 + adds r2, r2, r3 + ldr r0, [r2] + movs r1, #0x30 + bl __umodsi3 + movs r1, #0x18 + bl __udivsi3 + lsls r0, r0, #1 + adds r0, r7, r0 + ldrh r0, [r0] + strb r0, [r5] + ldrh r2, [r7, #4] + lsls r2, r2, #0x14 + ldr r3, _0801D00C @ =0x040000D4 + mov r5, r8 + ldr r0, [r5] + adds r0, r0, r6 + adds r0, r0, r4 + ldrb r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _0801D010 @ =0x083A8EEC + adds r0, r0, r1 + str r0, [r3] + lsls r1, r4, #1 + adds r4, r1, r4 + lsls r4, r4, #8 + ldr r0, _0801D014 @ =0x06010CA0 + adds r4, r4, r0 + str r4, [r3, #4] + ldr r0, _0801D018 @ =0x80000180 + str r0, [r3, #8] + ldr r0, [r3, #8] + lsrs r2, r2, #0xf + ldr r0, _0801D01C @ =0x081C02E4 + adds r2, r2, r0 + str r2, [r3] + ldr r0, _0801D020 @ =0x086AD798 + adds r1, r1, r0 + ldrh r0, [r1] + lsls r0, r0, #5 + ldr r1, _0801D024 @ =0x05000200 + adds r0, r0, r1 + str r0, [r3, #4] + ldr r0, _0801D028 @ =0x80000010 + str r0, [r3, #8] + ldr r0, [r3, #8] + mov sl, r8 + b _0801D0B8 + .align 2, 0 _0801CFFC: .4byte 0x020314E0 _0801D000: .4byte 0x000006EC _0801D004: .4byte 0x086AD000 @@ -57241,103 +57241,103 @@ _0801D020: .4byte 0x086AD798 _0801D024: .4byte 0x05000200 _0801D028: .4byte 0x80000010 _0801D02C: - ldr r2, _0801D0EC @ =0x020314E0 - mov sb, r2 - ldr r2, [r2] - ldr r3, _0801D0F0 @ =0x000006DC - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #3 - ldr r1, _0801D0F4 @ =0x086AD000 - adds r7, r0, r1 - ldr r5, [sp, #0x2c] - lsls r4, r5, #0x10 - asrs r4, r4, #0x10 - ldr r0, _0801D0F8 @ =0x00000749 - mov r8, r0 - adds r5, r2, r0 - adds r5, r5, r4 - ldr r6, _0801D0FC @ =0x086AD79C - ldr r1, _0801D100 @ =0x000006DE - adds r2, r2, r1 - ldrh r0, [r2] - movs r1, #0xc - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0xf - adds r0, r0, r6 - movs r2, #0 - ldrsh r0, [r0, r2] - lsls r0, r0, #1 - adds r0, r7, r0 - ldrh r0, [r0] - strb r0, [r5] - ldrh r2, [r7, #4] - lsls r2, r2, #0x14 - ldr r3, _0801D104 @ =0x040000D4 - mov r5, sb - ldr r0, [r5] - add r0, r8 - adds r0, r0, r4 - ldrb r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _0801D108 @ =0x083A8EEC - adds r0, r0, r1 - str r0, [r3] - lsls r1, r4, #1 - adds r4, r1, r4 - lsls r4, r4, #8 - ldr r0, _0801D10C @ =0x06010CA0 - adds r4, r4, r0 - str r4, [r3, #4] - ldr r0, _0801D110 @ =0x80000180 - str r0, [r3, #8] - ldr r0, [r3, #8] - lsrs r2, r2, #0xf - ldr r0, _0801D114 @ =0x081C02E4 - adds r2, r2, r0 - str r2, [r3] - ldr r0, _0801D118 @ =0x086AD798 - adds r1, r1, r0 - ldrh r0, [r1] - lsls r0, r0, #5 - ldr r1, _0801D11C @ =0x05000200 - adds r0, r0, r1 - str r0, [r3, #4] - ldr r0, _0801D120 @ =0x80000010 - str r0, [r3, #8] - ldr r0, [r3, #8] - mov sl, sb + ldr r2, _0801D0EC @ =0x020314E0 + mov sb, r2 + ldr r2, [r2] + ldr r3, _0801D0F0 @ =0x000006DC + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #3 + ldr r1, _0801D0F4 @ =0x086AD000 + adds r7, r0, r1 + ldr r5, [sp, #0x2c] + lsls r4, r5, #0x10 + asrs r4, r4, #0x10 + ldr r0, _0801D0F8 @ =0x00000749 + mov r8, r0 + adds r5, r2, r0 + adds r5, r5, r4 + ldr r6, _0801D0FC @ =0x086AD79C + ldr r1, _0801D100 @ =0x000006DE + adds r2, r2, r1 + ldrh r0, [r2] + movs r1, #0xc + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0xf + adds r0, r0, r6 + movs r2, #0 + ldrsh r0, [r0, r2] + lsls r0, r0, #1 + adds r0, r7, r0 + ldrh r0, [r0] + strb r0, [r5] + ldrh r2, [r7, #4] + lsls r2, r2, #0x14 + ldr r3, _0801D104 @ =0x040000D4 + mov r5, sb + ldr r0, [r5] + add r0, r8 + adds r0, r0, r4 + ldrb r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _0801D108 @ =0x083A8EEC + adds r0, r0, r1 + str r0, [r3] + lsls r1, r4, #1 + adds r4, r1, r4 + lsls r4, r4, #8 + ldr r0, _0801D10C @ =0x06010CA0 + adds r4, r4, r0 + str r4, [r3, #4] + ldr r0, _0801D110 @ =0x80000180 + str r0, [r3, #8] + ldr r0, [r3, #8] + lsrs r2, r2, #0xf + ldr r0, _0801D114 @ =0x081C02E4 + adds r2, r2, r0 + str r2, [r3] + ldr r0, _0801D118 @ =0x086AD798 + adds r1, r1, r0 + ldrh r0, [r1] + lsls r0, r0, #5 + ldr r1, _0801D11C @ =0x05000200 + adds r0, r0, r1 + str r0, [r3, #4] + ldr r0, _0801D120 @ =0x80000010 + str r0, [r3, #8] + ldr r0, [r3, #8] + mov sl, sb _0801D0B8: - mov r2, sl - ldr r1, [r2] - ldr r3, [sp, #0x2c] - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - ldr r4, _0801D124 @ =0x00000747 - adds r1, r1, r4 - adds r1, r1, r0 - add r5, sp, #0x28 - ldrb r5, [r5] - strb r5, [r1] - ldr r1, [r2] - movs r0, #0xe1 - lsls r0, r0, #3 - adds r1, r1, r0 - ldr r0, [r1] - adds r0, #1 - str r0, [r1] - 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 + mov r2, sl + ldr r1, [r2] + ldr r3, [sp, #0x2c] + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + ldr r4, _0801D124 @ =0x00000747 + adds r1, r1, r4 + adds r1, r1, r0 + add r5, sp, #0x28 + ldrb r5, [r5] + strb r5, [r1] + ldr r1, [r2] + movs r0, #0xe1 + lsls r0, r0, #3 + adds r1, r1, r0 + ldr r0, [r1] + adds r0, #1 + str r0, [r1] + 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 _0801D0EC: .4byte 0x020314E0 _0801D0F0: .4byte 0x000006DC _0801D0F4: .4byte 0x086AD000 @@ -57354,469 +57354,469 @@ _0801D11C: .4byte 0x05000200 _0801D120: .4byte 0x80000010 _0801D124: .4byte 0x00000747 - thumb_func_start sub_1D128 + thumb_func_start sub_1D128 sub_1D128: @ 0x0801D128 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - ldr r1, _0801D154 @ =0x020314E0 - ldr r3, [r1] - ldr r2, _0801D158 @ =0x000006C4 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov sb, r1 - cmp r0, #3 - bne _0801D15C - movs r3, #0 - mov r8, r3 - movs r0, #0xb4 - mov sl, r0 - movs r2, #0xb4 - b _0801D1C4 - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + ldr r1, _0801D154 @ =0x020314E0 + ldr r3, [r1] + ldr r2, _0801D158 @ =0x000006C4 + adds r0, r3, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov sb, r1 + cmp r0, #3 + bne _0801D15C + movs r3, #0 + mov r8, r3 + movs r0, #0xb4 + mov sl, r0 + movs r2, #0xb4 + b _0801D1C4 + .align 2, 0 _0801D154: .4byte 0x020314E0 _0801D158: .4byte 0x000006C4 _0801D15C: - cmp r0, #2 - bne _0801D190 - ldr r0, _0801D174 @ =0x0200B0C0 - movs r2, #0x2a - ldrsh r1, [r0, r2] - cmp r1, #0x13 - bgt _0801D178 - movs r3, #0xb4 - mov sl, r3 - movs r2, #0xb4 - b _0801D18A - .align 2, 0 + cmp r0, #2 + bne _0801D190 + ldr r0, _0801D174 @ =0x0200B0C0 + movs r2, #0x2a + ldrsh r1, [r0, r2] + cmp r1, #0x13 + bgt _0801D178 + movs r3, #0xb4 + mov sl, r3 + movs r2, #0xb4 + b _0801D18A + .align 2, 0 _0801D174: .4byte 0x0200B0C0 _0801D178: - movs r1, #0xdc - lsls r1, r1, #3 - adds r0, r3, r1 - ldrh r0, [r0] - adds r0, #0x58 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sl, r0 - movs r2, #0x58 + movs r1, #0xdc + lsls r1, r1, #3 + adds r0, r3, r1 + ldrh r0, [r0] + adds r0, #0x58 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov sl, r0 + movs r2, #0x58 _0801D18A: - movs r3, #0x30 - mov r8, r3 - b _0801D1C4 + movs r3, #0x30 + mov r8, r3 + b _0801D1C4 _0801D190: - adds r0, r3, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x60 - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r8, r0 - movs r1, #0xdc - lsls r1, r1, #3 - adds r0, r3, r1 - movs r1, #0x96 - lsls r1, r1, #1 - adds r2, r1, #0 - ldrh r0, [r0] - adds r0, r2, r0 - adds r1, r3, #0 - adds r1, #0x5a - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sl, r0 - subs r2, r2, r1 - lsls r2, r2, #0x10 - lsrs r2, r2, #0x10 + adds r0, r3, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x60 + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov r8, r0 + movs r1, #0xdc + lsls r1, r1, #3 + adds r0, r3, r1 + movs r1, #0x96 + lsls r1, r1, #1 + adds r2, r1, #0 + ldrh r0, [r0] + adds r0, r2, r0 + adds r1, r3, #0 + adds r1, #0x5a + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov sl, r0 + subs r2, r2, r1 + lsls r2, r2, #0x10 + lsrs r2, r2, #0x10 _0801D1C4: - ldr r3, _0801D4A4 @ =0x0200B0C0 - ldr r0, [r3, #0x44] - ldr r6, [r0, #0x58] - mov r0, r8 - strh r0, [r6, #2] - mov r1, sl - strh r1, [r6, #4] - mov r3, sb - ldr r0, [r3] - ldr r3, _0801D4A8 @ =0x000006E4 - adds r1, r0, r3 - mov r3, r8 - strh r3, [r1] - ldrh r1, [r6, #4] - ldr r3, _0801D4AC @ =0x000006E6 - adds r0, r0, r3 - strh r1, [r0] - movs r1, #4 - ldrsh r0, [r6, r1] - cmp r0, #0xc7 - ble _0801D1F2 - movs r0, #0xc8 - strh r0, [r6, #4] + ldr r3, _0801D4A4 @ =0x0200B0C0 + ldr r0, [r3, #0x44] + ldr r6, [r0, #0x58] + mov r0, r8 + strh r0, [r6, #2] + mov r1, sl + strh r1, [r6, #4] + mov r3, sb + ldr r0, [r3] + ldr r3, _0801D4A8 @ =0x000006E4 + adds r1, r0, r3 + mov r3, r8 + strh r3, [r1] + ldrh r1, [r6, #4] + ldr r3, _0801D4AC @ =0x000006E6 + adds r0, r0, r3 + strh r1, [r0] + movs r1, #4 + ldrsh r0, [r6, r1] + cmp r0, #0xc7 + ble _0801D1F2 + movs r0, #0xc8 + strh r0, [r6, #4] _0801D1F2: - movs r0, #0 - mov r3, r8 - lsls r3, r3, #0x10 - str r3, [sp] - lsls r2, r2, #0x10 - str r2, [sp, #4] - ldr r7, _0801D4B0 @ =0x03005000 - mov ip, sb + movs r0, #0 + mov r3, r8 + lsls r3, r3, #0x10 + str r3, [sp] + lsls r2, r2, #0x10 + str r2, [sp, #4] + ldr r7, _0801D4B0 @ =0x03005000 + mov ip, sb _0801D202: - 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 - mov r1, ip - ldr r0, [r1] - ldr r2, _0801D4B4 @ =0x000006D3 - adds r0, r0, r2 - adds r0, r0, r4 - ldrb r1, [r0] - lsls r1, r1, #4 - ldrb r2, [r3, #5] - movs r0, #0xf - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #5] - ldrh r3, [r5] - lsls r3, r3, #3 - adds r3, r3, r7 - mov r1, ip - ldr r0, [r1] - ldr r2, _0801D4B8 @ =0x000006DB - adds r0, r0, r2 - ldrb r1, [r0] - movs r0, #3 - ands r1, r0 - lsls r1, r1, #2 - ldrb r2, [r3, #5] - subs r0, #0x10 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #5] - 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, _0801D4BC @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _0801D4C0 @ =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 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 _0801D202 - mov r3, sb - ldr r0, [r3] - ldr r1, _0801D4C4 @ =0x000006C4 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - beq _0801D298 - b _0801D3FA + 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 + mov r1, ip + ldr r0, [r1] + ldr r2, _0801D4B4 @ =0x000006D3 + adds r0, r0, r2 + adds r0, r0, r4 + ldrb r1, [r0] + lsls r1, r1, #4 + ldrb r2, [r3, #5] + movs r0, #0xf + ands r0, r2 + orrs r0, r1 + strb r0, [r3, #5] + ldrh r3, [r5] + lsls r3, r3, #3 + adds r3, r3, r7 + mov r1, ip + ldr r0, [r1] + ldr r2, _0801D4B8 @ =0x000006DB + adds r0, r0, r2 + ldrb r1, [r0] + movs r0, #3 + ands r1, r0 + lsls r1, r1, #2 + ldrb r2, [r3, #5] + subs r0, #0x10 + ands r0, r2 + orrs r0, r1 + strb r0, [r3, #5] + 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, _0801D4BC @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _0801D4C0 @ =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 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 _0801D202 + mov r3, sb + ldr r0, [r3] + ldr r1, _0801D4C4 @ =0x000006C4 + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + beq _0801D298 + b _0801D3FA _0801D298: - ldr r2, _0801D4A4 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r6, [r0, #0x5c] - mov r3, r8 - strh r3, [r6, #2] - mov r1, sl - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - subs r0, #0x20 - strh r0, [r6, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb3 - ble _0801D2B8 - movs r0, #0xb4 - strh r0, [r6, #4] + ldr r2, _0801D4A4 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r6, [r0, #0x5c] + mov r3, r8 + strh r3, [r6, #2] + mov r1, sl + lsls r0, r1, #0x10 + asrs r0, r0, #0x10 + subs r0, #0x20 + strh r0, [r6, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb3 + ble _0801D2B8 + movs r0, #0xb4 + strh r0, [r6, #4] _0801D2B8: - movs r0, #0 - ldr r7, _0801D4B0 @ =0x03005000 - ldr r2, _0801D4C0 @ =0xFFFFFE00 - mov ip, r2 + movs r0, #0 + ldr r7, _0801D4B0 @ =0x03005000 + ldr r2, _0801D4C0 @ =0xFFFFFE00 + mov ip, r2 _0801D2C0: - lsls r4, r0, #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 - ldrb r1, [r2, #5] - movs r0, #0xf - ands r0, r1 - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r2, #5] - 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, _0801D4BC @ =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 _0801D2C0 - ldr r3, _0801D4A4 @ =0x0200B0C0 - ldr r0, [r3, #0x44] - ldr r6, [r0, #0x50] - mov r0, r8 - strh r0, [r6, #2] - mov r1, sb - ldr r0, [r1] - adds r0, #0x5a - ldrh r1, [r0] - ldr r2, _0801D4C8 @ =0x0000010B - adds r0, r2, #0 - subs r0, r0, r1 - strh r0, [r6, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc7 - ble _0801D33C - movs r0, #0xc8 - strh r0, [r6, #4] + lsls r4, r0, #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 + ldrb r1, [r2, #5] + movs r0, #0xf + ands r0, r1 + movs r1, #0xc0 + orrs r0, r1 + strb r0, [r2, #5] + 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, _0801D4BC @ =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 _0801D2C0 + ldr r3, _0801D4A4 @ =0x0200B0C0 + ldr r0, [r3, #0x44] + ldr r6, [r0, #0x50] + mov r0, r8 + strh r0, [r6, #2] + mov r1, sb + ldr r0, [r1] + adds r0, #0x5a + ldrh r1, [r0] + ldr r2, _0801D4C8 @ =0x0000010B + adds r0, r2, #0 + subs r0, r0, r1 + strh r0, [r6, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xc7 + ble _0801D33C + movs r0, #0xc8 + strh r0, [r6, #4] _0801D33C: - movs r0, #0 - ldr r7, _0801D4B0 @ =0x03005000 - ldr r3, _0801D4C0 @ =0xFFFFFE00 - mov ip, r3 + movs r0, #0 + ldr r7, _0801D4B0 @ =0x03005000 + ldr r3, _0801D4C0 @ =0xFFFFFE00 + mov ip, r3 _0801D344: - 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, _0801D4BC @ =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 _0801D344 - ldr r3, _0801D4A4 @ =0x0200B0C0 - ldr r0, [r3, #0x44] - ldr r6, [r0, #0x54] - mov r0, r8 - strh r0, [r6, #2] - mov r1, sb - ldr r0, [r1] - adds r0, #0x5a - ldrh r1, [r0] - ldr r2, _0801D4CC @ =0x0000014D - adds r0, r2, #0 - subs r0, r0, r1 - strh r0, [r6, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc7 - ble _0801D3AE - movs r0, #0xc8 - strh r0, [r6, #4] + 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, _0801D4BC @ =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 _0801D344 + ldr r3, _0801D4A4 @ =0x0200B0C0 + ldr r0, [r3, #0x44] + ldr r6, [r0, #0x54] + mov r0, r8 + strh r0, [r6, #2] + mov r1, sb + ldr r0, [r1] + adds r0, #0x5a + ldrh r1, [r0] + ldr r2, _0801D4CC @ =0x0000014D + adds r0, r2, #0 + subs r0, r0, r1 + strh r0, [r6, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xc7 + ble _0801D3AE + movs r0, #0xc8 + strh r0, [r6, #4] _0801D3AE: - movs r0, #0 - ldr r7, _0801D4B0 @ =0x03005000 - ldr r3, _0801D4C0 @ =0xFFFFFE00 - mov r8, r3 + movs r0, #0 + ldr r7, _0801D4B0 @ =0x03005000 + ldr r3, _0801D4C0 @ =0xFFFFFE00 + mov r8, r3 _0801D3B6: - 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, _0801D4BC @ =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, #5 - ble _0801D3B6 + 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, _0801D4BC @ =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, #5 + ble _0801D3B6 _0801D3FA: - ldr r3, _0801D4A4 @ =0x0200B0C0 - ldr r0, [r3, #0x44] - ldr r6, [r0, #0x4c] - ldr r1, [sp] - asrs r0, r1, #0x10 - subs r0, #8 - strh r0, [r6, #2] - ldr r2, [sp, #4] - asrs r0, r2, #0x10 - subs r0, #8 - strh r0, [r6, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc7 - ble _0801D41C - movs r0, #0xc8 - strh r0, [r6, #4] + ldr r3, _0801D4A4 @ =0x0200B0C0 + ldr r0, [r3, #0x44] + ldr r6, [r0, #0x4c] + ldr r1, [sp] + asrs r0, r1, #0x10 + subs r0, #8 + strh r0, [r6, #2] + ldr r2, [sp, #4] + asrs r0, r2, #0x10 + subs r0, #8 + strh r0, [r6, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xc7 + ble _0801D41C + movs r0, #0xc8 + strh r0, [r6, #4] _0801D41C: - movs r0, #0 - ldr r7, _0801D4B0 @ =0x03005000 - movs r3, #3 - mov ip, r3 - movs r1, #0xd - rsbs r1, r1, #0 - mov sl, r1 - ldr r2, _0801D4C0 @ =0xFFFFFE00 - mov r8, r2 + movs r0, #0 + ldr r7, _0801D4B0 @ =0x03005000 + movs r3, #3 + mov ip, r3 + movs r1, #0xd + rsbs r1, r1, #0 + mov sl, r1 + ldr r2, _0801D4C0 @ =0xFFFFFE00 + mov r8, r2 _0801D42E: - 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 - mov r1, sb - ldr r0, [r1] - ldr r2, _0801D4B8 @ =0x000006DB - adds r0, r0, r2 - ldrb r1, [r0] - mov r0, ip - 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, [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, _0801D4BC @ =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, #5 - ble _0801D42E - 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 + 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 + mov r1, sb + ldr r0, [r1] + ldr r2, _0801D4B8 @ =0x000006DB + adds r0, r0, r2 + ldrb r1, [r0] + mov r0, ip + 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, [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, _0801D4BC @ =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, #5 + ble _0801D42E + 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 _0801D4A4: .4byte 0x0200B0C0 _0801D4A8: .4byte 0x000006E4 _0801D4AC: .4byte 0x000006E6 @@ -57829,239 +57829,239 @@ _0801D4C4: .4byte 0x000006C4 _0801D4C8: .4byte 0x0000010B _0801D4CC: .4byte 0x0000014D - thumb_func_start sub_1D4D0 + thumb_func_start sub_1D4D0 sub_1D4D0: @ 0x0801D4D0 - push {r4, r5, r6, r7, lr} - ldr r0, _0801D5C8 @ =0x020314E0 - ldr r1, [r0] - ldr r2, _0801D5CC @ =0x000006C4 - adds r1, r1, r2 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r7, r0, #0 - cmp r1, #1 - bne _0801D5C2 - ldr r0, _0801D5D0 @ =0x0200B0C0 - ldr r1, [r0, #0x44] - ldr r4, [r1, #0x58] - movs r1, #0xb4 - strh r1, [r4, #4] - movs r1, #0 - adds r6, r0, #0 - ldr r5, _0801D5D4 @ =0x03005000 + push {r4, r5, r6, r7, lr} + ldr r0, _0801D5C8 @ =0x020314E0 + ldr r1, [r0] + ldr r2, _0801D5CC @ =0x000006C4 + adds r1, r1, r2 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + adds r7, r0, #0 + cmp r1, #1 + bne _0801D5C2 + ldr r0, _0801D5D0 @ =0x0200B0C0 + ldr r1, [r0, #0x44] + ldr r4, [r1, #0x58] + movs r1, #0xb4 + strh r1, [r4, #4] + movs r1, #0 + adds r6, r0, #0 + ldr r5, _0801D5D4 @ =0x03005000 _0801D4F6: - lsls r2, r1, #0x10 - asrs r2, r2, #0x10 - lsls r0, r2, #3 - adds r0, #8 - adds r3, r4, r0 - ldrh r1, [r3] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r0, [r4, #4] - ldrb r3, [r3, #4] - adds r0, r0, r3 - strb r0, [r1] - adds r2, #1 - lsls r2, r2, #0x10 - lsrs r1, r2, #0x10 - asrs r2, r2, #0x10 - cmp r2, #5 - ble _0801D4F6 - ldr r0, [r6, #0x44] - ldr r4, [r0, #0x5c] - ldr r0, [r7] - adds r0, #0x5a - ldrh r1, [r0] - movs r2, #0x96 - lsls r2, r2, #1 - adds r0, r2, #0 - subs r0, r0, r1 - strh r0, [r4, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb3 - ble _0801D53A - movs r0, #0xb4 - strh r0, [r4, #4] + lsls r2, r1, #0x10 + asrs r2, r2, #0x10 + lsls r0, r2, #3 + adds r0, #8 + adds r3, r4, r0 + ldrh r1, [r3] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r0, [r4, #4] + ldrb r3, [r3, #4] + adds r0, r0, r3 + strb r0, [r1] + adds r2, #1 + lsls r2, r2, #0x10 + lsrs r1, r2, #0x10 + asrs r2, r2, #0x10 + cmp r2, #5 + ble _0801D4F6 + ldr r0, [r6, #0x44] + ldr r4, [r0, #0x5c] + ldr r0, [r7] + adds r0, #0x5a + ldrh r1, [r0] + movs r2, #0x96 + lsls r2, r2, #1 + adds r0, r2, #0 + subs r0, r0, r1 + strh r0, [r4, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb3 + ble _0801D53A + movs r0, #0xb4 + strh r0, [r4, #4] _0801D53A: - movs r1, #0 - ldr r5, _0801D5D4 @ =0x03005000 + movs r1, #0 + ldr r5, _0801D5D4 @ =0x03005000 _0801D53E: - lsls r2, r1, #0x10 - asrs r2, r2, #0x10 - lsls r0, r2, #3 - adds r0, #8 - adds r3, r4, r0 - ldrh r1, [r3] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r0, [r4, #4] - ldrb r3, [r3, #4] - adds r0, r0, r3 - strb r0, [r1] - adds r2, #1 - lsls r2, r2, #0x10 - lsrs r1, r2, #0x10 - asrs r2, r2, #0x10 - cmp r2, #5 - ble _0801D53E - ldr r0, [r6, #0x44] - ldr r4, [r0, #0x50] - movs r0, #0xb4 - strh r0, [r4, #4] - movs r1, #0 - ldr r5, _0801D5D4 @ =0x03005000 + lsls r2, r1, #0x10 + asrs r2, r2, #0x10 + lsls r0, r2, #3 + adds r0, #8 + adds r3, r4, r0 + ldrh r1, [r3] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r0, [r4, #4] + ldrb r3, [r3, #4] + adds r0, r0, r3 + strb r0, [r1] + adds r2, #1 + lsls r2, r2, #0x10 + lsrs r1, r2, #0x10 + asrs r2, r2, #0x10 + cmp r2, #5 + ble _0801D53E + ldr r0, [r6, #0x44] + ldr r4, [r0, #0x50] + movs r0, #0xb4 + strh r0, [r4, #4] + movs r1, #0 + ldr r5, _0801D5D4 @ =0x03005000 _0801D56E: - lsls r2, r1, #0x10 - asrs r2, r2, #0x10 - lsls r0, r2, #3 - adds r0, #8 - adds r3, r4, r0 - ldrh r1, [r3] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r0, [r4, #4] - ldrb r3, [r3, #4] - adds r0, r0, r3 - strb r0, [r1] - adds r2, #1 - lsls r2, r2, #0x10 - lsrs r1, r2, #0x10 - asrs r2, r2, #0x10 - cmp r2, #5 - ble _0801D56E - ldr r0, [r6, #0x44] - ldr r4, [r0, #0x54] - movs r0, #0xb4 - strh r0, [r4, #4] - movs r1, #0 - ldr r5, _0801D5D4 @ =0x03005000 + lsls r2, r1, #0x10 + asrs r2, r2, #0x10 + lsls r0, r2, #3 + adds r0, #8 + adds r3, r4, r0 + ldrh r1, [r3] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r0, [r4, #4] + ldrb r3, [r3, #4] + adds r0, r0, r3 + strb r0, [r1] + adds r2, #1 + lsls r2, r2, #0x10 + lsrs r1, r2, #0x10 + asrs r2, r2, #0x10 + cmp r2, #5 + ble _0801D56E + ldr r0, [r6, #0x44] + ldr r4, [r0, #0x54] + movs r0, #0xb4 + strh r0, [r4, #4] + movs r1, #0 + ldr r5, _0801D5D4 @ =0x03005000 _0801D59E: - lsls r2, r1, #0x10 - asrs r2, r2, #0x10 - lsls r0, r2, #3 - adds r0, #8 - adds r3, r4, r0 - ldrh r1, [r3] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r0, [r4, #4] - ldrb r3, [r3, #4] - adds r0, r0, r3 - strb r0, [r1] - adds r2, #1 - lsls r2, r2, #0x10 - lsrs r1, r2, #0x10 - asrs r2, r2, #0x10 - cmp r2, #5 - ble _0801D59E + lsls r2, r1, #0x10 + asrs r2, r2, #0x10 + lsls r0, r2, #3 + adds r0, #8 + adds r3, r4, r0 + ldrh r1, [r3] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r0, [r4, #4] + ldrb r3, [r3, #4] + adds r0, r0, r3 + strb r0, [r1] + adds r2, #1 + lsls r2, r2, #0x10 + lsrs r1, r2, #0x10 + asrs r2, r2, #0x10 + cmp r2, #5 + ble _0801D59E _0801D5C2: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0801D5C8: .4byte 0x020314E0 _0801D5CC: .4byte 0x000006C4 _0801D5D0: .4byte 0x0200B0C0 _0801D5D4: .4byte 0x03005000 - thumb_func_start sub_1D5D8 + thumb_func_start sub_1D5D8 sub_1D5D8: @ 0x0801D5D8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r0, _0801D60C @ =0x0200E6C0 - mov sb, r0 - movs r1, #0 - mov r8, r1 - movs r5, #0 - ldr r1, _0801D610 @ =0x020314E0 - ldr r0, [r1] - ldr r2, _0801D614 @ =0x000002FB - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #7 - bls _0801D600 - b _0801D930 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r0, _0801D60C @ =0x0200E6C0 + mov sb, r0 + movs r1, #0 + mov r8, r1 + movs r5, #0 + ldr r1, _0801D610 @ =0x020314E0 + ldr r0, [r1] + ldr r2, _0801D614 @ =0x000002FB + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #7 + bls _0801D600 + b _0801D930 _0801D600: - lsls r0, r0, #2 - ldr r1, _0801D618 @ =_0801D61C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0801D618 @ =_0801D61C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0801D60C: .4byte 0x0200E6C0 _0801D610: .4byte 0x020314E0 _0801D614: .4byte 0x000002FB _0801D618: .4byte _0801D61C _0801D61C: @ jump table - .4byte _0801D63C @ case 0 - .4byte _0801D65C @ case 1 - .4byte _0801D6C4 @ case 2 - .4byte _0801D760 @ case 3 - .4byte _0801D7C8 @ case 4 - .4byte _0801D860 @ case 5 - .4byte _0801D860 @ case 6 - .4byte _0801D8E0 @ case 7 + .4byte _0801D63C @ case 0 + .4byte _0801D65C @ case 1 + .4byte _0801D6C4 @ case 2 + .4byte _0801D760 @ case 3 + .4byte _0801D7C8 @ case 4 + .4byte _0801D860 @ case 5 + .4byte _0801D860 @ case 6 + .4byte _0801D8E0 @ case 7 _0801D63C: - ldr r0, _0801D658 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #0x24 - bl __umodsi3 - movs r1, #0x12 - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r8, r0 - mov r5, r8 - b _0801D930 - .align 2, 0 + ldr r0, _0801D658 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #0x24 + bl __umodsi3 + movs r1, #0x12 + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov r8, r0 + mov r5, r8 + b _0801D930 + .align 2, 0 _0801D658: .4byte 0x0200B0C0 _0801D65C: - ldr r4, _0801D6AC @ =0x020314E0 - ldr r1, [r4] - ldr r3, _0801D6B0 @ =0x000002FE - adds r2, r1, r3 - movs r3, #0 - movs r0, #0 - strh r0, [r2] - ldr r5, _0801D6B4 @ =0x000002FD - adds r1, r1, r5 - strb r3, [r1] - ldr r0, [r4] - ldr r7, _0801D6B8 @ =0x000002FB - adds r0, r0, r7 - movs r1, #2 - strb r1, [r0] - ldr r2, _0801D6BC @ =0x086AD7C0 - ldr r0, [r4] - adds r0, r0, r5 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r1, r0, r2 - ldrh r5, [r1] - adds r2, #4 - adds r0, r0, r2 - ldrh r0, [r0] - mov r8, r0 - movs r0, #0xcf - bl m4aSongNumStart - movs r0, #7 - bl sub_11B0 - ldr r1, [r4] - ldr r0, _0801D6C0 @ =0x0000C350 - str r0, [r1, #0x3c] - b _0801D930 - .align 2, 0 + ldr r4, _0801D6AC @ =0x020314E0 + ldr r1, [r4] + ldr r3, _0801D6B0 @ =0x000002FE + adds r2, r1, r3 + movs r3, #0 + movs r0, #0 + strh r0, [r2] + ldr r5, _0801D6B4 @ =0x000002FD + adds r1, r1, r5 + strb r3, [r1] + ldr r0, [r4] + ldr r7, _0801D6B8 @ =0x000002FB + adds r0, r0, r7 + movs r1, #2 + strb r1, [r0] + ldr r2, _0801D6BC @ =0x086AD7C0 + ldr r0, [r4] + adds r0, r0, r5 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r1, r0, r2 + ldrh r5, [r1] + adds r2, #4 + adds r0, r0, r2 + ldrh r0, [r0] + mov r8, r0 + movs r0, #0xcf + bl m4aSongNumStart + movs r0, #7 + bl sub_11B0 + ldr r1, [r4] + ldr r0, _0801D6C0 @ =0x0000C350 + str r0, [r1, #0x3c] + b _0801D930 + .align 2, 0 _0801D6AC: .4byte 0x020314E0 _0801D6B0: .4byte 0x000002FE _0801D6B4: .4byte 0x000002FD @@ -58069,119 +58069,119 @@ _0801D6B8: .4byte 0x000002FB _0801D6BC: .4byte 0x086AD7C0 _0801D6C0: .4byte 0x0000C350 _0801D6C4: - ldr r3, _0801D6F0 @ =0x086AD7C0 - ldr r0, _0801D6F4 @ =0x020314E0 - ldr r2, [r0] - ldr r6, _0801D6F8 @ =0x000002FD - adds r4, r2, r6 - movs r1, #0 - ldrsb r1, [r4, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r1, r3, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - ldr r5, _0801D6FC @ =0x000002FE - adds r2, r2, r5 - ldrh r1, [r2] - cmp r0, r1 - ble _0801D700 - adds r0, r1, #1 - strh r0, [r2] - b _0801D736 - .align 2, 0 + ldr r3, _0801D6F0 @ =0x086AD7C0 + ldr r0, _0801D6F4 @ =0x020314E0 + ldr r2, [r0] + ldr r6, _0801D6F8 @ =0x000002FD + adds r4, r2, r6 + movs r1, #0 + ldrsb r1, [r4, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r1, r3, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + ldr r5, _0801D6FC @ =0x000002FE + adds r2, r2, r5 + ldrh r1, [r2] + cmp r0, r1 + ble _0801D700 + adds r0, r1, #1 + strh r0, [r2] + b _0801D736 + .align 2, 0 _0801D6F0: .4byte 0x086AD7C0 _0801D6F4: .4byte 0x020314E0 _0801D6F8: .4byte 0x000002FD _0801D6FC: .4byte 0x000002FE _0801D700: - movs r5, #0 - movs r0, #0 - strh r0, [r2] - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - ldr r7, _0801D754 @ =0x020314E0 - ldr r1, [r7] - ldr r2, _0801D758 @ =0x000002FD - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #7 - bne _0801D736 - ldr r7, _0801D75C @ =0x000002FB - adds r0, r1, r7 - strb r5, [r0] - ldr r1, _0801D754 @ =0x020314E0 - ldr r0, [r1] - adds r0, r0, r6 - strb r5, [r0] - ldr r0, [r1] - subs r2, #4 - adds r0, r0, r2 - movs r1, #1 - strb r1, [r0] + movs r5, #0 + movs r0, #0 + strh r0, [r2] + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] + ldr r7, _0801D754 @ =0x020314E0 + ldr r1, [r7] + ldr r2, _0801D758 @ =0x000002FD + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #7 + bne _0801D736 + ldr r7, _0801D75C @ =0x000002FB + adds r0, r1, r7 + strb r5, [r0] + ldr r1, _0801D754 @ =0x020314E0 + ldr r0, [r1] + adds r0, r0, r6 + strb r5, [r0] + ldr r0, [r1] + subs r2, #4 + adds r0, r0, r2 + movs r1, #1 + strb r1, [r0] _0801D736: - ldr r0, _0801D754 @ =0x020314E0 - ldr r0, [r0] - ldr r5, _0801D758 @ =0x000002FD - adds r0, r0, r5 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r1, r0, r3 - ldrh r5, [r1] - adds r1, r3, #4 - adds r0, r0, r1 - b _0801D92C - .align 2, 0 + ldr r0, _0801D754 @ =0x020314E0 + ldr r0, [r0] + ldr r5, _0801D758 @ =0x000002FD + adds r0, r0, r5 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r1, r0, r3 + ldrh r5, [r1] + adds r1, r3, #4 + adds r0, r0, r1 + b _0801D92C + .align 2, 0 _0801D754: .4byte 0x020314E0 _0801D758: .4byte 0x000002FD _0801D75C: .4byte 0x000002FB _0801D760: - ldr r4, _0801D7B0 @ =0x020314E0 - ldr r1, [r4] - ldr r7, _0801D7B4 @ =0x000002FE - adds r2, r1, r7 - movs r0, #0 - strh r0, [r2] - ldr r3, _0801D7B8 @ =0x000002FD - adds r1, r1, r3 - movs r0, #7 - strb r0, [r1] - ldr r0, [r4] - ldr r1, _0801D7BC @ =0x000002FB - adds r0, r0, r1 - movs r1, #4 - strb r1, [r0] - ldr r2, _0801D7C0 @ =0x086AD7C0 - ldr r0, [r4] - 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, r0, r2 - ldrh r5, [r1] - adds r2, #4 - adds r0, r0, r2 - ldrh r0, [r0] - mov r8, r0 - movs r0, #0xcf - bl m4aSongNumStart - movs r0, #7 - bl sub_11B0 - ldr r1, [r4] - ldr r0, _0801D7C4 @ =0x000186A0 - str r0, [r1, #0x3c] - b _0801D930 - .align 2, 0 + ldr r4, _0801D7B0 @ =0x020314E0 + ldr r1, [r4] + ldr r7, _0801D7B4 @ =0x000002FE + adds r2, r1, r7 + movs r0, #0 + strh r0, [r2] + ldr r3, _0801D7B8 @ =0x000002FD + adds r1, r1, r3 + movs r0, #7 + strb r0, [r1] + ldr r0, [r4] + ldr r1, _0801D7BC @ =0x000002FB + adds r0, r0, r1 + movs r1, #4 + strb r1, [r0] + ldr r2, _0801D7C0 @ =0x086AD7C0 + ldr r0, [r4] + 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, r0, r2 + ldrh r5, [r1] + adds r2, #4 + adds r0, r0, r2 + ldrh r0, [r0] + mov r8, r0 + movs r0, #0xcf + bl m4aSongNumStart + movs r0, #7 + bl sub_11B0 + ldr r1, [r4] + ldr r0, _0801D7C4 @ =0x000186A0 + str r0, [r1, #0x3c] + b _0801D930 + .align 2, 0 _0801D7B0: .4byte 0x020314E0 _0801D7B4: .4byte 0x000002FE _0801D7B8: .4byte 0x000002FD @@ -58189,318 +58189,318 @@ _0801D7BC: .4byte 0x000002FB _0801D7C0: .4byte 0x086AD7C0 _0801D7C4: .4byte 0x000186A0 _0801D7C8: - ldr r2, _0801D7F4 @ =0x086AD7C0 - ldr r5, _0801D7F8 @ =0x020314E0 - ldr r3, [r5] - ldr r7, _0801D7FC @ =0x000002FD - adds r4, r3, r7 - movs r1, #0 - ldrsb r1, [r4, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r2, #2 - adds r0, r0, r2 - movs r1, #0 - ldrsh r0, [r0, r1] - ldr r2, _0801D800 @ =0x000002FE - adds r3, r3, r2 - ldrh r1, [r3] - cmp r0, r1 - ble _0801D804 - adds r0, r1, #1 - strh r0, [r3] - b _0801D82C - .align 2, 0 + ldr r2, _0801D7F4 @ =0x086AD7C0 + ldr r5, _0801D7F8 @ =0x020314E0 + ldr r3, [r5] + ldr r7, _0801D7FC @ =0x000002FD + adds r4, r3, r7 + movs r1, #0 + ldrsb r1, [r4, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r2, #2 + adds r0, r0, r2 + movs r1, #0 + ldrsh r0, [r0, r1] + ldr r2, _0801D800 @ =0x000002FE + adds r3, r3, r2 + ldrh r1, [r3] + cmp r0, r1 + ble _0801D804 + adds r0, r1, #1 + strh r0, [r3] + b _0801D82C + .align 2, 0 _0801D7F4: .4byte 0x086AD7C0 _0801D7F8: .4byte 0x020314E0 _0801D7FC: .4byte 0x000002FD _0801D800: .4byte 0x000002FE _0801D804: - movs r0, #0 - strh r0, [r3] - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - ldr r1, [r5] - ldr r3, _0801D84C @ =0x000002FD - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x12 - bne _0801D82C - ldr r5, _0801D850 @ =0x000002FB - adds r1, r1, r5 - movs r0, #5 - strb r0, [r1] - movs r0, #0xd1 - bl m4aSongNumStart + movs r0, #0 + strh r0, [r3] + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] + ldr r1, [r5] + ldr r3, _0801D84C @ =0x000002FD + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x12 + bne _0801D82C + ldr r5, _0801D850 @ =0x000002FB + adds r1, r1, r5 + movs r0, #5 + strb r0, [r1] + movs r0, #0xd1 + bl m4aSongNumStart _0801D82C: - ldr r4, _0801D854 @ =0x020314E0 - ldr r0, [r4] - ldr r7, _0801D858 @ =0x000002FE - adds r0, r0, r7 - ldrh r0, [r0] - cmp r0, #6 - bne _0801D840 - movs r0, #0xd0 - bl m4aSongNumStart + ldr r4, _0801D854 @ =0x020314E0 + ldr r0, [r4] + ldr r7, _0801D858 @ =0x000002FE + adds r0, r0, r7 + ldrh r0, [r0] + cmp r0, #6 + bne _0801D840 + movs r0, #0xd0 + bl m4aSongNumStart _0801D840: - ldr r2, _0801D85C @ =0x086AD7C0 - ldr r0, [r4] - ldr r1, _0801D84C @ =0x000002FD - adds r0, r0, r1 - b _0801D91A - .align 2, 0 + ldr r2, _0801D85C @ =0x086AD7C0 + ldr r0, [r4] + ldr r1, _0801D84C @ =0x000002FD + adds r0, r0, r1 + b _0801D91A + .align 2, 0 _0801D84C: .4byte 0x000002FD _0801D850: .4byte 0x000002FB _0801D854: .4byte 0x020314E0 _0801D858: .4byte 0x000002FE _0801D85C: .4byte 0x086AD7C0 _0801D860: - ldr r3, _0801D88C @ =0x086AD7C0 - ldr r5, _0801D890 @ =0x020314E0 - ldr r2, [r5] - ldr r7, _0801D894 @ =0x000002FD - adds r4, r2, r7 - movs r1, #0 - ldrsb r1, [r4, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r1, r3, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - ldr r5, _0801D898 @ =0x000002FE - adds r2, r2, r5 - ldrh r1, [r2] - cmp r0, r1 - ble _0801D89C - adds r0, r1, #1 - strh r0, [r2] - b _0801D8BA - .align 2, 0 + ldr r3, _0801D88C @ =0x086AD7C0 + ldr r5, _0801D890 @ =0x020314E0 + ldr r2, [r5] + ldr r7, _0801D894 @ =0x000002FD + adds r4, r2, r7 + movs r1, #0 + ldrsb r1, [r4, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r1, r3, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + ldr r5, _0801D898 @ =0x000002FE + adds r2, r2, r5 + ldrh r1, [r2] + cmp r0, r1 + ble _0801D89C + adds r0, r1, #1 + strh r0, [r2] + b _0801D8BA + .align 2, 0 _0801D88C: .4byte 0x086AD7C0 _0801D890: .4byte 0x020314E0 _0801D894: .4byte 0x000002FD _0801D898: .4byte 0x000002FE _0801D89C: - movs r0, #0 - strh r0, [r2] - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - ldr r7, _0801D8D8 @ =0x020314E0 - ldr r0, [r7] - ldr r2, _0801D8DC @ =0x000002FD - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x18 - bne _0801D8BA - movs r0, #0x12 - strb r0, [r1] + movs r0, #0 + strh r0, [r2] + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] + ldr r7, _0801D8D8 @ =0x020314E0 + ldr r0, [r7] + ldr r2, _0801D8DC @ =0x000002FD + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x18 + bne _0801D8BA + movs r0, #0x12 + strb r0, [r1] _0801D8BA: - ldr r0, _0801D8D8 @ =0x020314E0 - ldr r0, [r0] - ldr r5, _0801D8DC @ =0x000002FD - adds r0, r0, r5 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r1, r0, r3 - ldrh r5, [r1] - adds r1, r3, #4 - adds r0, r0, r1 - b _0801D92C - .align 2, 0 + ldr r0, _0801D8D8 @ =0x020314E0 + ldr r0, [r0] + ldr r5, _0801D8DC @ =0x000002FD + adds r0, r0, r5 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r1, r0, r3 + ldrh r5, [r1] + adds r1, r3, #4 + adds r0, r0, r1 + b _0801D92C + .align 2, 0 _0801D8D8: .4byte 0x020314E0 _0801D8DC: .4byte 0x000002FD _0801D8E0: - ldr r4, _0801DA3C @ =0x020314E0 - ldr r0, [r4] - ldr r7, _0801DA40 @ =0x000002FA - adds r0, r0, r7 - movs r1, #0 - strb r1, [r0] - ldr r0, [r4] - ldr r2, _0801DA44 @ =0x000002F9 - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r4] - ldr r3, _0801DA48 @ =0x000002FE - adds r2, r0, r3 - movs r5, #0 - strh r1, [r2] - subs r3, #1 - adds r0, r0, r3 - strb r5, [r0] - ldr r0, [r4] - adds r7, #1 - adds r0, r0, r7 - strb r5, [r0] - ldr r0, [r4] - adds r0, r0, r3 - movs r1, #0x18 - strb r1, [r0] - ldr r2, _0801DA4C @ =0x086AD7C0 - ldr r0, [r4] - adds r0, r0, r3 + ldr r4, _0801DA3C @ =0x020314E0 + ldr r0, [r4] + ldr r7, _0801DA40 @ =0x000002FA + adds r0, r0, r7 + movs r1, #0 + strb r1, [r0] + ldr r0, [r4] + ldr r2, _0801DA44 @ =0x000002F9 + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r4] + ldr r3, _0801DA48 @ =0x000002FE + adds r2, r0, r3 + movs r5, #0 + strh r1, [r2] + subs r3, #1 + adds r0, r0, r3 + strb r5, [r0] + ldr r0, [r4] + adds r7, #1 + adds r0, r0, r7 + strb r5, [r0] + ldr r0, [r4] + adds r0, r0, r3 + movs r1, #0x18 + strb r1, [r0] + ldr r2, _0801DA4C @ =0x086AD7C0 + ldr r0, [r4] + adds r0, r0, r3 _0801D91A: - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r1, r0, r2 - ldrh r5, [r1] - adds r2, #4 - adds r0, r0, r2 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r1, r0, r2 + ldrh r5, [r1] + adds r2, #4 + adds r0, r0, r2 _0801D92C: - ldrh r0, [r0] - mov r8, r0 + ldrh r0, [r0] + mov r8, r0 _0801D930: - mov r1, sb - ldrh r0, [r1] - cmp r0, #0 - beq _0801DA20 - ldr r2, _0801DA50 @ =0x086AD856 - ldr r3, _0801DA3C @ =0x020314E0 - ldr r4, [r3] - ldr r7, _0801DA44 @ =0x000002F9 - adds r3, r4, r7 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r0, r1 - mov r1, sb - strh r0, [r1, #2] - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - adds r2, #2 - adds r0, r0, r2 - adds r1, r4, #0 - adds r1, #0x5a - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r0, r1 - mov r2, sb - strh r0, [r2, #4] - ldr r2, _0801DA54 @ =0x040000D4 - movs r3, #0xbf - lsls r3, r3, #2 - adds r0, r4, r3 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _0801DA58 @ =0x0845710C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0801DA5C @ =0x06014380 - str r0, [r2, #4] - ldr r0, _0801DA60 @ =0x80000130 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r2, #0 - lsls r1, r5, #0x10 - ldr r5, _0801DA64 @ =0x03005000 - mov ip, r5 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r6, r0, #2 - ldr r7, _0801DA68 @ =0xFFFFFE00 - mov sl, r7 + mov r1, sb + ldrh r0, [r1] + cmp r0, #0 + beq _0801DA20 + ldr r2, _0801DA50 @ =0x086AD856 + ldr r3, _0801DA3C @ =0x020314E0 + ldr r4, [r3] + ldr r7, _0801DA44 @ =0x000002F9 + adds r3, r4, r7 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r0, [r0] + ldrh r1, [r1] + subs r0, r0, r1 + mov r1, sb + strh r0, [r1, #2] + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #2 + adds r2, #2 + adds r0, r0, r2 + adds r1, r4, #0 + adds r1, #0x5a + ldrh r0, [r0] + ldrh r1, [r1] + subs r0, r0, r1 + mov r2, sb + strh r0, [r2, #4] + ldr r2, _0801DA54 @ =0x040000D4 + movs r3, #0xbf + lsls r3, r3, #2 + adds r0, r4, r3 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _0801DA58 @ =0x0845710C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0801DA5C @ =0x06014380 + str r0, [r2, #4] + ldr r0, _0801DA60 @ =0x80000130 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r2, #0 + lsls r1, r5, #0x10 + ldr r5, _0801DA64 @ =0x03005000 + mov ip, r5 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r6, r0, #2 + ldr r7, _0801DA68 @ =0xFFFFFE00 + mov sl, r7 _0801D9A6: - 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 - add r2, ip - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - adds r0, r0, r6 - ldr r5, _0801DA6C @ =0x086B2E64 - adds r0, r0, r5 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - adds r0, r0, r6 - adds r0, r0, r5 - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - adds r1, r1, r6 - adds r1, r1, r5 - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, ip - ldrh r7, [r2, #2] - lsls r1, r7, #0x17 - lsrs r1, r1, #0x17 - mov r5, sb - movs r7, #2 - ldrsh r0, [r5, r7] - adds r1, r1, r0 - ldr r5, _0801DA70 @ =0x000001FF - adds r0, r5, #0 - ands r1, r0 - mov r0, sl - ldrh r7, [r2, #2] - ands r0, r7 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, ip - mov r2, sb - ldrb r0, [r2, #4] - ldrb r5, [r1] - adds r0, r0, r5 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r2, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #1 - ble _0801D9A6 + 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 + add r2, ip + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + adds r0, r0, r6 + ldr r5, _0801DA6C @ =0x086B2E64 + adds r0, r0, r5 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + adds r0, r0, r6 + adds r0, r0, r5 + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + adds r1, r1, r6 + adds r1, r1, r5 + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, ip + ldrh r7, [r2, #2] + lsls r1, r7, #0x17 + lsrs r1, r1, #0x17 + mov r5, sb + movs r7, #2 + ldrsh r0, [r5, r7] + adds r1, r1, r0 + ldr r5, _0801DA70 @ =0x000001FF + adds r0, r5, #0 + ands r1, r0 + mov r0, sl + ldrh r7, [r2, #2] + ands r0, r7 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, ip + mov r2, sb + ldrb r0, [r2, #4] + ldrb r5, [r1] + adds r0, r0, r5 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r2, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #1 + ble _0801D9A6 _0801DA20: - ldr r7, _0801DA3C @ =0x020314E0 - ldr r0, [r7] - movs r1, #0xbf - lsls r1, r1, #2 - adds r0, r0, r1 - mov r2, r8 - strb r2, [r0] - 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 + ldr r7, _0801DA3C @ =0x020314E0 + ldr r0, [r7] + movs r1, #0xbf + lsls r1, r1, #2 + adds r0, r0, r1 + mov r2, r8 + strb r2, [r0] + 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 _0801DA3C: .4byte 0x020314E0 _0801DA40: .4byte 0x000002FA _0801DA44: .4byte 0x000002F9 @@ -58516,256 +58516,256 @@ _0801DA68: .4byte 0xFFFFFE00 _0801DA6C: .4byte 0x086B2E64 _0801DA70: .4byte 0x000001FF - thumb_func_start sub_1DA74 + thumb_func_start sub_1DA74 sub_1DA74: @ 0x0801DA74 - ldr r0, _0801DAB0 @ =0x020314E0 - ldr r2, [r0] - adds r0, r2, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - beq _0801DAD4 - movs r0, #0x13 - ldrsb r0, [r2, r0] - cmp r0, #2 - bgt _0801DAC6 - ldr r1, _0801DAB4 @ =0x000001A5 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0801DABC - ldr r3, _0801DAB8 @ =0x000001AB - adds r0, r2, r3 - ldrb r0, [r0] - movs r1, #0xf - ands r1, r0 - movs r3, #0xbc - lsls r3, r3, #2 - adds r0, r2, r3 - strb r1, [r0] - b _0801DAD4 - .align 2, 0 + ldr r0, _0801DAB0 @ =0x020314E0 + ldr r2, [r0] + adds r0, r2, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + beq _0801DAD4 + movs r0, #0x13 + ldrsb r0, [r2, r0] + cmp r0, #2 + bgt _0801DAC6 + ldr r1, _0801DAB4 @ =0x000001A5 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0801DABC + ldr r3, _0801DAB8 @ =0x000001AB + adds r0, r2, r3 + ldrb r0, [r0] + movs r1, #0xf + ands r1, r0 + movs r3, #0xbc + lsls r3, r3, #2 + adds r0, r2, r3 + strb r1, [r0] + b _0801DAD4 + .align 2, 0 _0801DAB0: .4byte 0x020314E0 _0801DAB4: .4byte 0x000001A5 _0801DAB8: .4byte 0x000001AB _0801DABC: - movs r0, #0xbc - lsls r0, r0, #2 - adds r1, r2, r0 - movs r0, #3 - b _0801DAD2 + movs r0, #0xbc + lsls r0, r0, #2 + adds r1, r2, r0 + movs r0, #3 + b _0801DAD2 _0801DAC6: - cmp r0, #6 - beq _0801DAD4 - movs r3, #0xbc - lsls r3, r3, #2 - adds r1, r2, r3 - movs r0, #0 + cmp r0, #6 + beq _0801DAD4 + movs r3, #0xbc + lsls r3, r3, #2 + adds r1, r2, r3 + movs r0, #0 _0801DAD2: - strb r0, [r1] + strb r0, [r1] _0801DAD4: - bx lr + bx lr - thumb_func_start sub_1DAD8 + thumb_func_start sub_1DAD8 sub_1DAD8: @ 0x0801DAD8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r0, _0801DB64 @ =0x0200E270 - mov r8, r0 - ldr r0, _0801DB68 @ =0x020314E0 - ldr r4, [r0] - movs r2, #0xbc - lsls r2, r2, #2 - adds r1, r4, r2 - ldrb r1, [r1] - movs r5, #0xf - ldr r7, _0801DB6C @ =0x000002F1 - adds r3, r4, r7 - ldrb r2, [r3] - ands r5, r1 - adds r1, r2, #0 - adds r7, r0, #0 - cmp r5, r1 - beq _0801DBAC - ldr r6, _0801DB70 @ =0x000002F2 - adds r0, r4, r6 - ldrh r0, [r0] - cmp r0, #0 - beq _0801DB78 - cmp r0, #5 - bne _0801DB58 - ldr r3, _0801DB74 @ =0xFFFFCE50 - add r3, r8 - ldrb r1, [r3, #0xf] - movs r0, #1 - movs r2, #0 - orrs r0, r1 - strb r0, [r3, #0xf] - adds r0, r4, #0 - adds r0, #0xea - movs r3, #0 - strh r2, [r0] - adds r1, r4, #0 - adds r1, #0xec - movs r0, #3 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xe8 - strh r2, [r0] - subs r0, #2 - strh r2, [r0] - adds r0, #8 - strh r2, [r0] - adds r0, #4 - strb r3, [r0] - ldr r0, [r7] - adds r0, #0xfa - movs r1, #1 - strb r1, [r0] - ldr r0, [r7] - adds r0, #0xfb - strb r3, [r0] - movs r0, #0xbd - bl m4aSongNumStart + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r0, _0801DB64 @ =0x0200E270 + mov r8, r0 + ldr r0, _0801DB68 @ =0x020314E0 + ldr r4, [r0] + movs r2, #0xbc + lsls r2, r2, #2 + adds r1, r4, r2 + ldrb r1, [r1] + movs r5, #0xf + ldr r7, _0801DB6C @ =0x000002F1 + adds r3, r4, r7 + ldrb r2, [r3] + ands r5, r1 + adds r1, r2, #0 + adds r7, r0, #0 + cmp r5, r1 + beq _0801DBAC + ldr r6, _0801DB70 @ =0x000002F2 + adds r0, r4, r6 + ldrh r0, [r0] + cmp r0, #0 + beq _0801DB78 + cmp r0, #5 + bne _0801DB58 + ldr r3, _0801DB74 @ =0xFFFFCE50 + add r3, r8 + ldrb r1, [r3, #0xf] + movs r0, #1 + movs r2, #0 + orrs r0, r1 + strb r0, [r3, #0xf] + adds r0, r4, #0 + adds r0, #0xea + movs r3, #0 + strh r2, [r0] + adds r1, r4, #0 + adds r1, #0xec + movs r0, #3 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xe8 + strh r2, [r0] + subs r0, #2 + strh r2, [r0] + adds r0, #8 + strh r2, [r0] + adds r0, #4 + strb r3, [r0] + ldr r0, [r7] + adds r0, #0xfa + movs r1, #1 + strb r1, [r0] + ldr r0, [r7] + adds r0, #0xfb + strb r3, [r0] + movs r0, #0xbd + bl m4aSongNumStart _0801DB58: - ldr r1, [r7] - adds r1, r1, r6 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - b _0801DBAC - .align 2, 0 + ldr r1, [r7] + adds r1, r1, r6 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] + b _0801DBAC + .align 2, 0 _0801DB64: .4byte 0x0200E270 _0801DB68: .4byte 0x020314E0 _0801DB6C: .4byte 0x000002F1 _0801DB70: .4byte 0x000002F2 _0801DB74: .4byte 0xFFFFCE50 _0801DB78: - cmp r1, r5 - bls _0801DB80 - subs r0, r2, #1 - b _0801DB82 + cmp r1, r5 + bls _0801DB80 + subs r0, r2, #1 + b _0801DB82 _0801DB80: - adds r0, r2, #1 + adds r0, r2, #1 _0801DB82: - strb r0, [r3] - ldr r0, [r7] - adds r0, r0, r6 - movs r1, #4 - strh r1, [r0] - ldr r2, _0801DC58 @ =0x040000D4 - ldr r0, [r7] - ldr r1, _0801DC5C @ =0x000002F1 - adds r0, r0, r1 - ldrb r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _0801DC60 @ =0x084ED0CC - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0801DC64 @ =0x06013180 - str r0, [r2, #4] - ldr r0, _0801DC68 @ =0x800000C0 - str r0, [r2, #8] - ldr r0, [r2, #8] + strb r0, [r3] + ldr r0, [r7] + adds r0, r0, r6 + movs r1, #4 + strh r1, [r0] + ldr r2, _0801DC58 @ =0x040000D4 + ldr r0, [r7] + ldr r1, _0801DC5C @ =0x000002F1 + adds r0, r0, r1 + ldrb r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _0801DC60 @ =0x084ED0CC + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0801DC64 @ =0x06013180 + str r0, [r2, #4] + ldr r0, _0801DC68 @ =0x800000C0 + str r0, [r2, #8] + ldr r0, [r2, #8] _0801DBAC: - ldr r2, [r7] - ldr r7, _0801DC5C @ =0x000002F1 - adds r0, r2, r7 - ldrb r0, [r0] - movs r3, #2 - cmp r0, #2 - bhi _0801DBBC - movs r3, #3 + ldr r2, [r7] + ldr r7, _0801DC5C @ =0x000002F1 + adds r0, r2, r7 + ldrb r0, [r0] + movs r3, #2 + cmp r0, #2 + bhi _0801DBBC + movs r3, #3 _0801DBBC: - adds r0, r2, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xd0 - subs r0, r0, r1 - mov r1, r8 - strh r0, [r1, #2] - adds r0, r2, #0 - adds r0, #0x5a - ldrh r1, [r0] - movs r0, #0x50 - subs r0, r0, r1 - mov r2, r8 - strh r0, [r2, #4] - movs r0, #0 - ldr r7, _0801DC6C @ =0x0200E278 - mov sl, r7 - ldr r6, _0801DC70 @ =0x03005000 - lsls r3, r3, #2 - str r3, [sp] - movs r1, #0xd - rsbs r1, r1, #0 - mov sb, r1 - ldr r2, _0801DC74 @ =0xFFFFFE00 - mov ip, r2 + adds r0, r2, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xd0 + subs r0, r0, r1 + mov r1, r8 + strh r0, [r1, #2] + adds r0, r2, #0 + adds r0, #0x5a + ldrh r1, [r0] + movs r0, #0x50 + subs r0, r0, r1 + mov r2, r8 + strh r0, [r2, #4] + movs r0, #0 + ldr r7, _0801DC6C @ =0x0200E278 + mov sl, r7 + ldr r6, _0801DC70 @ =0x03005000 + lsls r3, r3, #2 + str r3, [sp] + movs r1, #0xd + rsbs r1, r1, #0 + mov sb, r1 + ldr r2, _0801DC74 @ =0xFFFFFE00 + mov ip, r2 _0801DBEE: - lsls r4, r0, #0x10 - asrs r4, r4, #0x10 - lsls r5, r4, #3 - add r5, sl - ldrh r1, [r5] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #5] - mov r0, sb - ands r0, r2 - ldr r7, [sp] - orrs r0, r7 - strb r0, [r1, #5] - ldrh r3, [r5] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r0, #2 - ldrsh r1, [r5, r0] - mov r2, r8 - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _0801DC78 @ =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 - mov r7, r8 - 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, #1 - ble _0801DBEE - 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 + lsls r4, r0, #0x10 + asrs r4, r4, #0x10 + lsls r5, r4, #3 + add r5, sl + ldrh r1, [r5] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #5] + mov r0, sb + ands r0, r2 + ldr r7, [sp] + orrs r0, r7 + strb r0, [r1, #5] + ldrh r3, [r5] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r0, #2 + ldrsh r1, [r5, r0] + mov r2, r8 + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _0801DC78 @ =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 + mov r7, r8 + 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, #1 + ble _0801DBEE + 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 _0801DC58: .4byte 0x040000D4 _0801DC5C: .4byte 0x000002F1 _0801DC60: .4byte 0x084ED0CC @@ -58776,139 +58776,139 @@ _0801DC70: .4byte 0x03005000 _0801DC74: .4byte 0xFFFFFE00 _0801DC78: .4byte 0x000001FF - thumb_func_start sub_1DC7C + thumb_func_start sub_1DC7C sub_1DC7C: @ 0x0801DC7C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r6, _0801DD7C @ =0x0200E100 - ldr r2, _0801DD80 @ =0x020314E0 - ldr r3, [r2] - ldr r1, _0801DD84 @ =0x000002A5 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #3 - ldr r1, _0801DD88 @ =0x086AD862 - adds r4, r0, r1 - ldrh r0, [r6] - mov sb, r2 - cmp r0, #0 - bne _0801DCA4 - b _0801DDCC + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r6, _0801DD7C @ =0x0200E100 + ldr r2, _0801DD80 @ =0x020314E0 + ldr r3, [r2] + ldr r1, _0801DD84 @ =0x000002A5 + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #3 + ldr r1, _0801DD88 @ =0x086AD862 + adds r4, r0, r1 + ldrh r0, [r6] + mov sb, r2 + cmp r0, #0 + bne _0801DCA4 + b _0801DDCC _0801DCA4: - ldrh r2, [r4] - mov r8, r2 - ldr r2, _0801DD8C @ =0x040000D4 - adds r0, r3, #0 - adds r0, #0x6f - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #5 - ldr r1, _0801DD90 @ =0x081379D8 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0801DD94 @ =0x05000320 - str r0, [r2, #4] - ldr r0, _0801DD98 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - mov r0, r8 - lsls r1, r0, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _0801DD9C @ =0x084B7FEC - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0801DDA0 @ =0x06014680 - str r0, [r2, #4] - ldr r0, _0801DDA4 @ =0x80000230 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r2, #0xc2 - lsls r2, r2, #1 - adds r1, r3, r2 - ldr r0, _0801DDA8 @ =0x0000FF08 - strh r0, [r1] - movs r0, #0xc3 - lsls r0, r0, #1 - adds r1, r3, r0 - ldr r0, _0801DDAC @ =0x0000FEC4 - strh r0, [r1] - ldrh r0, [r4, #4] - adds r0, #0x7c - adds r1, r3, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r6, #2] - ldrh r0, [r4, #6] - adds r0, #0x96 - adds r1, r3, #0 - adds r1, #0x5a - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r6, #4] - movs r0, #0 - ldr r7, _0801DDB0 @ =0x03005000 - ldr r1, _0801DDB4 @ =0xFFFFFE00 - mov ip, r1 + ldrh r2, [r4] + mov r8, r2 + ldr r2, _0801DD8C @ =0x040000D4 + adds r0, r3, #0 + adds r0, #0x6f + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #5 + ldr r1, _0801DD90 @ =0x081379D8 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0801DD94 @ =0x05000320 + str r0, [r2, #4] + ldr r0, _0801DD98 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + mov r0, r8 + lsls r1, r0, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _0801DD9C @ =0x084B7FEC + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0801DDA0 @ =0x06014680 + str r0, [r2, #4] + ldr r0, _0801DDA4 @ =0x80000230 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r2, #0xc2 + lsls r2, r2, #1 + adds r1, r3, r2 + ldr r0, _0801DDA8 @ =0x0000FF08 + strh r0, [r1] + movs r0, #0xc3 + lsls r0, r0, #1 + adds r1, r3, r0 + ldr r0, _0801DDAC @ =0x0000FEC4 + strh r0, [r1] + ldrh r0, [r4, #4] + adds r0, #0x7c + adds r1, r3, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r6, #2] + ldrh r0, [r4, #6] + adds r0, #0x96 + adds r1, r3, #0 + adds r1, #0x5a + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r6, #4] + movs r0, #0 + ldr r7, _0801DDB0 @ =0x03005000 + ldr r1, _0801DDB4 @ =0xFFFFFE00 + mov ip, r1 _0801DD1C: - 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, _0801DDB8 @ =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 _0801DD1C - mov r1, r8 - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - cmp r0, #4 - beq _0801DD6E - cmp r0, #0xa - bne _0801DDC0 + 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, _0801DDB8 @ =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 _0801DD1C + mov r1, r8 + lsls r0, r1, #0x10 + asrs r0, r0, #0x10 + cmp r0, #4 + beq _0801DD6E + cmp r0, #0xa + bne _0801DDC0 _0801DD6E: - mov r2, sb - ldr r0, [r2] - ldr r1, _0801DDBC @ =0x000002A3 - adds r0, r0, r1 - movs r1, #0 - b _0801DDCA - .align 2, 0 + mov r2, sb + ldr r0, [r2] + ldr r1, _0801DDBC @ =0x000002A3 + adds r0, r0, r1 + movs r1, #0 + b _0801DDCA + .align 2, 0 _0801DD7C: .4byte 0x0200E100 _0801DD80: .4byte 0x020314E0 _0801DD84: .4byte 0x000002A5 @@ -58927,103 +58927,103 @@ _0801DDB4: .4byte 0xFFFFFE00 _0801DDB8: .4byte 0x000001FF _0801DDBC: .4byte 0x000002A3 _0801DDC0: - mov r2, sb - ldr r0, [r2] - ldr r1, _0801DDD8 @ =0x000002A3 - adds r0, r0, r1 - movs r1, #1 + mov r2, sb + ldr r0, [r2] + ldr r1, _0801DDD8 @ =0x000002A3 + adds r0, r0, r1 + movs r1, #1 _0801DDCA: - strb r1, [r0] + strb r1, [r0] _0801DDCC: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0801DDD8: .4byte 0x000002A3 - thumb_func_start sub_1DDDC + thumb_func_start sub_1DDDC sub_1DDDC: @ 0x0801DDDC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x10 - ldr r1, _0801DE70 @ =0x020314E0 - ldr r4, [r1] - movs r2, #0xa9 - lsls r2, r2, #2 - adds r0, r4, r2 - movs r3, #0 - ldrsb r3, [r0, r3] - mov sl, r1 - cmp r3, #0 - bne _0801DDFE - b _0801E518 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x10 + ldr r1, _0801DE70 @ =0x020314E0 + ldr r4, [r1] + movs r2, #0xa9 + lsls r2, r2, #2 + adds r0, r4, r2 + movs r3, #0 + ldrsb r3, [r0, r3] + mov sl, r1 + cmp r3, #0 + bne _0801DDFE + b _0801E518 _0801DDFE: - movs r0, #0x13 - ldrsb r0, [r4, r0] - cmp r0, #2 - ble _0801DE0E - ldr r3, _0801DE74 @ =0x0000016F - adds r1, r4, r3 - movs r0, #1 - strb r0, [r1] + movs r0, #0x13 + ldrsb r0, [r4, r0] + cmp r0, #2 + ble _0801DE0E + ldr r3, _0801DE74 @ =0x0000016F + adds r1, r4, r3 + movs r0, #1 + strb r0, [r1] _0801DE0E: - mov r4, sl - ldr r1, [r4] - ldr r3, _0801DE74 @ =0x0000016F - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0801DE4E - ldr r5, _0801DE78 @ =0x000002A2 - adds r1, r1, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #1 - bgt _0801DE44 - movs r2, #0 - movs r0, #9 - strb r0, [r1] - ldr r0, [r4] - ldr r1, _0801DE7C @ =0x000002A5 - adds r0, r0, r1 - movs r1, #8 - strb r1, [r0] - ldr r0, [r4] - ldr r4, _0801DE80 @ =0x000002A6 - adds r0, r0, r4 - strh r2, [r0] + mov r4, sl + ldr r1, [r4] + ldr r3, _0801DE74 @ =0x0000016F + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0801DE4E + ldr r5, _0801DE78 @ =0x000002A2 + adds r1, r1, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #1 + bgt _0801DE44 + movs r2, #0 + movs r0, #9 + strb r0, [r1] + ldr r0, [r4] + ldr r1, _0801DE7C @ =0x000002A5 + adds r0, r0, r1 + movs r1, #8 + strb r1, [r0] + ldr r0, [r4] + ldr r4, _0801DE80 @ =0x000002A6 + adds r0, r0, r4 + strh r2, [r0] _0801DE44: - mov r5, sl - ldr r0, [r5] - adds r0, r0, r3 - movs r1, #0 - strb r1, [r0] + mov r5, sl + ldr r0, [r5] + adds r0, r0, r3 + movs r1, #0 + strb r1, [r0] _0801DE4E: - mov r1, sl - ldr r0, [r1] - ldr r2, _0801DE78 @ =0x000002A2 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xa - bls _0801DE64 - bl _0801E780 + mov r1, sl + ldr r0, [r1] + ldr r2, _0801DE78 @ =0x000002A2 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xa + bls _0801DE64 + bl _0801E780 _0801DE64: - lsls r0, r0, #2 - ldr r1, _0801DE84 @ =_0801DE88 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0801DE84 @ =_0801DE88 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0801DE70: .4byte 0x020314E0 _0801DE74: .4byte 0x0000016F _0801DE78: .4byte 0x000002A2 @@ -59031,130 +59031,130 @@ _0801DE7C: .4byte 0x000002A5 _0801DE80: .4byte 0x000002A6 _0801DE84: .4byte _0801DE88 _0801DE88: @ jump table - .4byte _0801DEB4 @ case 0 - .4byte _0801DF2C @ case 1 - .4byte _0801DF68 @ case 2 - .4byte _0801DFC0 @ case 3 - .4byte _0801E0D0 @ case 4 - .4byte _0801E174 @ case 5 - .4byte _0801E1B4 @ case 6 - .4byte _0801E2F8 @ case 7 - .4byte _0801E34C @ case 8 - .4byte _0801E44C @ case 9 - .4byte _0801E4CC @ case 10 + .4byte _0801DEB4 @ case 0 + .4byte _0801DF2C @ case 1 + .4byte _0801DF68 @ case 2 + .4byte _0801DFC0 @ case 3 + .4byte _0801E0D0 @ case 4 + .4byte _0801E174 @ case 5 + .4byte _0801E1B4 @ case 6 + .4byte _0801E2F8 @ case 7 + .4byte _0801E34C @ case 8 + .4byte _0801E44C @ case 9 + .4byte _0801E4CC @ case 10 _0801DEB4: - ldr r1, _0801DF18 @ =0x086AD862 - ldr r4, _0801DF1C @ =0x020314E0 - ldr r2, [r4] - ldr r5, _0801DF20 @ =0x000002A5 - adds r3, r2, r5 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #3 - adds r1, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - ldr r1, _0801DF24 @ =0x000002A6 - adds r2, r2, r1 - ldrh r1, [r2] - cmp r0, r1 - ble _0801DED8 - b _0801E46E + ldr r1, _0801DF18 @ =0x086AD862 + ldr r4, _0801DF1C @ =0x020314E0 + ldr r2, [r4] + ldr r5, _0801DF20 @ =0x000002A5 + adds r3, r2, r5 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #3 + adds r1, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + ldr r1, _0801DF24 @ =0x000002A6 + adds r2, r2, r1 + ldrh r1, [r2] + cmp r0, r1 + ble _0801DED8 + b _0801E46E _0801DED8: - movs r0, #0 - strh r0, [r2] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r1, [r4] - ldr r2, _0801DF20 @ =0x000002A5 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bne _0801DEFA - ldr r3, _0801DF28 @ =0x000002A2 - adds r1, r1, r3 - movs r0, #1 - strb r0, [r1] + movs r0, #0 + strh r0, [r2] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r1, [r4] + ldr r2, _0801DF20 @ =0x000002A5 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bne _0801DEFA + ldr r3, _0801DF28 @ =0x000002A2 + adds r1, r1, r3 + movs r0, #1 + strb r0, [r1] _0801DEFA: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - beq _0801DF0C - bl _0801E780 + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + beq _0801DF0C + bl _0801E780 _0801DF0C: - movs r0, #0xd3 - bl m4aSongNumStart - bl _0801E780 - .align 2, 0 + movs r0, #0xd3 + bl m4aSongNumStart + bl _0801E780 + .align 2, 0 _0801DF18: .4byte 0x086AD862 _0801DF1C: .4byte 0x020314E0 _0801DF20: .4byte 0x000002A5 _0801DF24: .4byte 0x000002A6 _0801DF28: .4byte 0x000002A2 _0801DF2C: - ldr r6, _0801DF5C @ =0x020314E0 - ldr r4, [r6] - ldr r5, _0801DF60 @ =0x000002A6 - adds r0, r4, r5 - ldrh r0, [r0] - movs r1, #0x2c - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #0x16 - bl __udivsi3 - adds r0, #4 - ldr r1, _0801DF64 @ =0x000002A5 - adds r4, r4, r1 - strb r0, [r4] - ldr r1, [r6] - adds r1, r1, r5 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - bl _0801E780 - .align 2, 0 + ldr r6, _0801DF5C @ =0x020314E0 + ldr r4, [r6] + ldr r5, _0801DF60 @ =0x000002A6 + adds r0, r4, r5 + ldrh r0, [r0] + movs r1, #0x2c + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r1, #0x16 + bl __udivsi3 + adds r0, #4 + ldr r1, _0801DF64 @ =0x000002A5 + adds r4, r4, r1 + strb r0, [r4] + ldr r1, [r6] + adds r1, r1, r5 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + bl _0801E780 + .align 2, 0 _0801DF5C: .4byte 0x020314E0 _0801DF60: .4byte 0x000002A6 _0801DF64: .4byte 0x000002A5 _0801DF68: - ldr r2, _0801DFA8 @ =0x020314E0 - ldr r0, [r2] - ldr r3, _0801DFAC @ =0x000002A5 - adds r0, r0, r3 - movs r3, #0 - movs r1, #6 - strb r1, [r0] - ldr r1, [r2] - ldr r4, _0801DFB0 @ =0x000002A6 - adds r0, r1, r4 - movs r4, #0 - strh r3, [r0] - ldr r5, _0801DFB4 @ =0x000002A2 - adds r1, r1, r5 - movs r0, #3 - strb r0, [r1] - ldr r0, [r2] - ldr r1, _0801DFB8 @ =0x0000132C - adds r0, r0, r1 - ldr r0, [r0] - strb r4, [r0, #1] - ldr r1, [r2] - ldr r0, _0801DFBC @ =0x00001388 - str r0, [r1, #0x3c] - movs r0, #0xd5 - bl m4aSongNumStart - movs r0, #7 - bl sub_11B0 - bl _0801E780 - .align 2, 0 + ldr r2, _0801DFA8 @ =0x020314E0 + ldr r0, [r2] + ldr r3, _0801DFAC @ =0x000002A5 + adds r0, r0, r3 + movs r3, #0 + movs r1, #6 + strb r1, [r0] + ldr r1, [r2] + ldr r4, _0801DFB0 @ =0x000002A6 + adds r0, r1, r4 + movs r4, #0 + strh r3, [r0] + ldr r5, _0801DFB4 @ =0x000002A2 + adds r1, r1, r5 + movs r0, #3 + strb r0, [r1] + ldr r0, [r2] + ldr r1, _0801DFB8 @ =0x0000132C + adds r0, r0, r1 + ldr r0, [r0] + strb r4, [r0, #1] + ldr r1, [r2] + ldr r0, _0801DFBC @ =0x00001388 + str r0, [r1, #0x3c] + movs r0, #0xd5 + bl m4aSongNumStart + movs r0, #7 + bl sub_11B0 + bl _0801E780 + .align 2, 0 _0801DFA8: .4byte 0x020314E0 _0801DFAC: .4byte 0x000002A5 _0801DFB0: .4byte 0x000002A6 @@ -59162,209 +59162,209 @@ _0801DFB4: .4byte 0x000002A2 _0801DFB8: .4byte 0x0000132C _0801DFBC: .4byte 0x00001388 _0801DFC0: - ldr r1, _0801DFE8 @ =0x086AD862 - ldr r4, _0801DFEC @ =0x020314E0 - ldr r2, [r4] - ldr r6, _0801DFF0 @ =0x000002A5 - adds r3, r2, r6 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #3 - adds r1, #2 - adds r0, r0, r1 - movs r5, #0 - ldrsh r0, [r0, r5] - ldr r5, _0801DFF4 @ =0x000002A6 - adds r2, r2, r5 - ldrh r1, [r2] - cmp r0, r1 - ble _0801DFF8 - adds r0, r1, #1 - strh r0, [r2] - b _0801E038 - .align 2, 0 + ldr r1, _0801DFE8 @ =0x086AD862 + ldr r4, _0801DFEC @ =0x020314E0 + ldr r2, [r4] + ldr r6, _0801DFF0 @ =0x000002A5 + adds r3, r2, r6 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #3 + adds r1, #2 + adds r0, r0, r1 + movs r5, #0 + ldrsh r0, [r0, r5] + ldr r5, _0801DFF4 @ =0x000002A6 + adds r2, r2, r5 + ldrh r1, [r2] + cmp r0, r1 + ble _0801DFF8 + adds r0, r1, #1 + strh r0, [r2] + b _0801E038 + .align 2, 0 _0801DFE8: .4byte 0x086AD862 _0801DFEC: .4byte 0x020314E0 _0801DFF0: .4byte 0x000002A5 _0801DFF4: .4byte 0x000002A6 _0801DFF8: - movs r0, #0 - strh r0, [r2] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r0, [r4] - ldr r2, _0801E0C0 @ =0x000002A5 - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xd - bne _0801E024 - movs r0, #0xc - strb r0, [r1] - ldr r1, [r4] - adds r2, r1, r5 - movs r0, #0x41 - strh r0, [r2] - ldr r3, _0801E0C4 @ =0x000002A2 - adds r1, r1, r3 - movs r0, #4 - strb r0, [r1] + movs r0, #0 + strh r0, [r2] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r0, [r4] + ldr r2, _0801E0C0 @ =0x000002A5 + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0xd + bne _0801E024 + movs r0, #0xc + strb r0, [r1] + ldr r1, [r4] + adds r2, r1, r5 + movs r0, #0x41 + strh r0, [r2] + ldr r3, _0801E0C4 @ =0x000002A2 + adds r1, r1, r3 + movs r0, #4 + strb r0, [r1] _0801E024: - ldr r0, [r4] - adds r0, r0, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #9 - bne _0801E038 - movs r0, #0xd4 - bl m4aSongNumStart + ldr r0, [r4] + adds r0, r0, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #9 + bne _0801E038 + movs r0, #0xd4 + bl m4aSongNumStart _0801E038: - ldr r5, _0801E0C8 @ =0x020314E0 - ldr r2, [r5] - ldr r4, _0801E0C0 @ =0x000002A5 - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #6 - bne _0801E070 - ldr r0, _0801E0CC @ =0x0000132C - adds r2, r2, r0 - ldr r1, [r2] - ldrh r0, [r1, #0xa] - adds r0, #0x40 - movs r3, #0 - strh r0, [r1, #0xa] - ldr r1, [r2] - movs r0, #0x89 - lsls r0, r0, #8 - str r0, [r1, #0x34] - ldr r1, [r2] - movs r0, #0xbd - lsls r0, r0, #8 - str r0, [r1, #0x38] - ldr r0, [r2] - strh r3, [r0, #0x30] - ldr r0, [r2] - strh r3, [r0, #0x32] + ldr r5, _0801E0C8 @ =0x020314E0 + ldr r2, [r5] + ldr r4, _0801E0C0 @ =0x000002A5 + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #6 + bne _0801E070 + ldr r0, _0801E0CC @ =0x0000132C + adds r2, r2, r0 + ldr r1, [r2] + ldrh r0, [r1, #0xa] + adds r0, #0x40 + movs r3, #0 + strh r0, [r1, #0xa] + ldr r1, [r2] + movs r0, #0x89 + lsls r0, r0, #8 + str r0, [r1, #0x34] + ldr r1, [r2] + movs r0, #0xbd + lsls r0, r0, #8 + str r0, [r1, #0x38] + ldr r0, [r2] + strh r3, [r0, #0x30] + ldr r0, [r2] + strh r3, [r0, #0x32] _0801E070: - ldr r2, [r5] - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #7 - bne _0801E0A4 - ldr r1, _0801E0CC @ =0x0000132C - adds r2, r2, r1 - ldr r1, [r2] - ldrh r0, [r1, #0xa] - adds r0, #0x40 - movs r3, #0 - strh r0, [r1, #0xa] - ldr r1, [r2] - movs r0, #0x8c - lsls r0, r0, #8 - str r0, [r1, #0x34] - ldr r1, [r2] - movs r0, #0xb7 - lsls r0, r0, #8 - str r0, [r1, #0x38] - ldr r0, [r2] - strh r3, [r0, #0x30] - ldr r0, [r2] - strh r3, [r0, #0x32] + ldr r2, [r5] + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #7 + bne _0801E0A4 + ldr r1, _0801E0CC @ =0x0000132C + adds r2, r2, r1 + ldr r1, [r2] + ldrh r0, [r1, #0xa] + adds r0, #0x40 + movs r3, #0 + strh r0, [r1, #0xa] + ldr r1, [r2] + movs r0, #0x8c + lsls r0, r0, #8 + str r0, [r1, #0x34] + ldr r1, [r2] + movs r0, #0xb7 + lsls r0, r0, #8 + str r0, [r1, #0x38] + ldr r0, [r2] + strh r3, [r0, #0x30] + ldr r0, [r2] + strh r3, [r0, #0x32] _0801E0A4: - ldr r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #8 - beq _0801E0B4 - b _0801E780 + ldr r1, [r5] + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #8 + beq _0801E0B4 + b _0801E780 _0801E0B4: - ldr r2, _0801E0CC @ =0x0000132C - adds r0, r1, r2 - ldr r1, [r0] - movs r0, #1 - strb r0, [r1] - b _0801E780 - .align 2, 0 + ldr r2, _0801E0CC @ =0x0000132C + adds r0, r1, r2 + ldr r1, [r0] + movs r0, #1 + strb r0, [r1] + b _0801E780 + .align 2, 0 _0801E0C0: .4byte 0x000002A5 _0801E0C4: .4byte 0x000002A2 _0801E0C8: .4byte 0x020314E0 _0801E0CC: .4byte 0x0000132C _0801E0D0: - ldr r5, _0801E154 @ =0x020314E0 - ldr r0, [r5] - movs r3, #0x88 - lsls r3, r3, #5 - adds r0, r0, r3 - movs r7, #1 - strb r7, [r0] - ldr r0, [r5] - ldr r6, _0801E158 @ =0x000002A6 - adds r0, r0, r6 - ldrh r0, [r0] - cmp r0, #0x41 - bne _0801E0F8 - movs r0, #0x9f - bl m4aSongNumStart - ldr r0, _0801E15C @ =0x0200B0C0 - ldrh r1, [r0, #0x38] - movs r1, #0x9e - strh r1, [r0, #0x38] + ldr r5, _0801E154 @ =0x020314E0 + ldr r0, [r5] + movs r3, #0x88 + lsls r3, r3, #5 + adds r0, r0, r3 + movs r7, #1 + strb r7, [r0] + ldr r0, [r5] + ldr r6, _0801E158 @ =0x000002A6 + adds r0, r0, r6 + ldrh r0, [r0] + cmp r0, #0x41 + bne _0801E0F8 + movs r0, #0x9f + bl m4aSongNumStart + ldr r0, _0801E15C @ =0x0200B0C0 + ldrh r1, [r0, #0x38] + movs r1, #0x9e + strh r1, [r0, #0x38] _0801E0F8: - ldr r4, [r5] - adds r3, r4, r6 - ldrh r0, [r3] - cmp r0, #0 - bne _0801E104 - b _0801E780 + ldr r4, [r5] + adds r3, r4, r6 + ldrh r0, [r3] + cmp r0, #0 + bne _0801E104 + b _0801E780 _0801E104: - subs r0, #1 - strh r0, [r3] - ldr r2, _0801E15C @ =0x0200B0C0 - ldrh r0, [r3] - lsrs r0, r0, #2 - movs r1, #0x10 - subs r1, r1, r0 - ldrh r0, [r2, #0x3c] - strh r1, [r2, #0x3c] - ldrh r0, [r3] - cmp r0, #0 - beq _0801E11E - b _0801E780 + subs r0, #1 + strh r0, [r3] + ldr r2, _0801E15C @ =0x0200B0C0 + ldrh r0, [r3] + lsrs r0, r0, #2 + movs r1, #0x10 + subs r1, r1, r0 + ldrh r0, [r2, #0x3c] + strh r1, [r2, #0x3c] + ldrh r0, [r3] + cmp r0, #0 + beq _0801E11E + b _0801E780 _0801E11E: - movs r0, #0xa1 - lsls r0, r0, #2 - adds r1, r4, r0 - movs r0, #7 - strb r0, [r1] - ldr r0, [r5] - ldr r1, _0801E160 @ =0x00000282 - adds r0, r0, r1 - strb r7, [r0] - ldr r0, [r5] - ldr r2, _0801E164 @ =0x0000072E - adds r1, r0, r2 - ldrb r1, [r1] - ldr r3, _0801E168 @ =0x0000073C - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r5] - ldr r4, _0801E16C @ =0x0000072F - adds r1, r0, r4 - ldrb r1, [r1] - ldr r5, _0801E170 @ =0x0000073D - adds r0, r0, r5 - strb r1, [r0] - bl sub_1C73C - b _0801E780 - .align 2, 0 + movs r0, #0xa1 + lsls r0, r0, #2 + adds r1, r4, r0 + movs r0, #7 + strb r0, [r1] + ldr r0, [r5] + ldr r1, _0801E160 @ =0x00000282 + adds r0, r0, r1 + strb r7, [r0] + ldr r0, [r5] + ldr r2, _0801E164 @ =0x0000072E + adds r1, r0, r2 + ldrb r1, [r1] + ldr r3, _0801E168 @ =0x0000073C + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r5] + ldr r4, _0801E16C @ =0x0000072F + adds r1, r0, r4 + ldrb r1, [r1] + ldr r5, _0801E170 @ =0x0000073D + adds r0, r0, r5 + strb r1, [r0] + bl sub_1C73C + b _0801E780 + .align 2, 0 _0801E154: .4byte 0x020314E0 _0801E158: .4byte 0x000002A6 _0801E15C: .4byte 0x0200B0C0 @@ -59374,348 +59374,348 @@ _0801E168: .4byte 0x0000073C _0801E16C: .4byte 0x0000072F _0801E170: .4byte 0x0000073D _0801E174: - ldr r2, _0801E1A0 @ =0x020314E0 - ldr r0, [r2] - ldr r1, _0801E1A4 @ =0x000002A5 - adds r0, r0, r1 - movs r3, #0 - movs r1, #0xc - strb r1, [r0] - ldr r1, [r2] - ldr r4, _0801E1A8 @ =0x000002A6 - adds r0, r1, r4 - movs r4, #0 - strh r3, [r0] - ldr r5, _0801E1AC @ =0x000002A2 - adds r1, r1, r5 - movs r0, #6 - strb r0, [r1] - ldr r0, [r2] - ldr r1, _0801E1B0 @ =0x0000132C - adds r0, r0, r1 - ldr r0, [r0] - strb r4, [r0, #1] - b _0801E780 - .align 2, 0 + ldr r2, _0801E1A0 @ =0x020314E0 + ldr r0, [r2] + ldr r1, _0801E1A4 @ =0x000002A5 + adds r0, r0, r1 + movs r3, #0 + movs r1, #0xc + strb r1, [r0] + ldr r1, [r2] + ldr r4, _0801E1A8 @ =0x000002A6 + adds r0, r1, r4 + movs r4, #0 + strh r3, [r0] + ldr r5, _0801E1AC @ =0x000002A2 + adds r1, r1, r5 + movs r0, #6 + strb r0, [r1] + ldr r0, [r2] + ldr r1, _0801E1B0 @ =0x0000132C + adds r0, r0, r1 + ldr r0, [r0] + strb r4, [r0, #1] + b _0801E780 + .align 2, 0 _0801E1A0: .4byte 0x020314E0 _0801E1A4: .4byte 0x000002A5 _0801E1A8: .4byte 0x000002A6 _0801E1AC: .4byte 0x000002A2 _0801E1B0: .4byte 0x0000132C _0801E1B4: - ldr r1, _0801E1DC @ =0x086AD862 - ldr r4, _0801E1E0 @ =0x020314E0 - ldr r2, [r4] - ldr r5, _0801E1E4 @ =0x000002A5 - adds r3, r2, r5 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #3 - adds r1, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - ldr r1, _0801E1E8 @ =0x000002A6 - adds r2, r2, r1 - ldrh r1, [r2] - cmp r0, r1 - ble _0801E1EC - adds r0, r1, #1 - strh r0, [r2] - b _0801E28A - .align 2, 0 + ldr r1, _0801E1DC @ =0x086AD862 + ldr r4, _0801E1E0 @ =0x020314E0 + ldr r2, [r4] + ldr r5, _0801E1E4 @ =0x000002A5 + adds r3, r2, r5 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #3 + adds r1, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + ldr r1, _0801E1E8 @ =0x000002A6 + adds r2, r2, r1 + ldrh r1, [r2] + cmp r0, r1 + ble _0801E1EC + adds r0, r1, #1 + strh r0, [r2] + b _0801E28A + .align 2, 0 _0801E1DC: .4byte 0x086AD862 _0801E1E0: .4byte 0x020314E0 _0801E1E4: .4byte 0x000002A5 _0801E1E8: .4byte 0x000002A6 _0801E1EC: - movs r6, #0 - movs r0, #0 - strh r0, [r2] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r0, [r4] - ldr r2, _0801E2E4 @ =0x000002A5 - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x1f - bne _0801E212 - strb r6, [r1] - ldr r0, [r4] - ldr r3, _0801E2E8 @ =0x000002A2 - adds r0, r0, r3 - movs r1, #0xa - strb r1, [r0] + movs r6, #0 + movs r0, #0 + strh r0, [r2] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r0, [r4] + ldr r2, _0801E2E4 @ =0x000002A5 + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x1f + bne _0801E212 + strb r6, [r1] + ldr r0, [r4] + ldr r3, _0801E2E8 @ =0x000002A2 + adds r0, r0, r3 + movs r1, #0xa + strb r1, [r0] _0801E212: - ldr r2, [r4] - adds r0, r2, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x15 - bne _0801E24E - ldr r0, _0801E2EC @ =0x0000132C - adds r2, r2, r0 - ldr r1, [r2] - ldrh r0, [r1, #0xa] - subs r0, #0x40 - strh r0, [r1, #0xa] - ldr r1, [r2] - movs r0, #0x83 - lsls r0, r0, #8 - str r0, [r1, #0x34] - ldr r1, [r2] - movs r0, #0xc7 - lsls r0, r0, #8 - str r0, [r1, #0x38] - ldr r1, [r2] - ldr r0, _0801E2F0 @ =0x0000FF88 - strh r0, [r1, #0x30] - ldr r1, [r2] - movs r0, #0xd2 - strh r0, [r1, #0x32] - ldr r1, [r2] - movs r0, #3 - strb r0, [r1, #1] + ldr r2, [r4] + adds r0, r2, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x15 + bne _0801E24E + ldr r0, _0801E2EC @ =0x0000132C + adds r2, r2, r0 + ldr r1, [r2] + ldrh r0, [r1, #0xa] + subs r0, #0x40 + strh r0, [r1, #0xa] + ldr r1, [r2] + movs r0, #0x83 + lsls r0, r0, #8 + str r0, [r1, #0x34] + ldr r1, [r2] + movs r0, #0xc7 + lsls r0, r0, #8 + str r0, [r1, #0x38] + ldr r1, [r2] + ldr r0, _0801E2F0 @ =0x0000FF88 + strh r0, [r1, #0x30] + ldr r1, [r2] + movs r0, #0xd2 + strh r0, [r1, #0x32] + ldr r1, [r2] + movs r0, #3 + strb r0, [r1, #1] _0801E24E: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xe - bne _0801E262 - movs r0, #0xd3 - bl m4aSongNumStart + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xe + bne _0801E262 + movs r0, #0xd3 + bl m4aSongNumStart _0801E262: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x1b - bne _0801E276 - movs r0, #0xd4 - bl m4aSongNumStart + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x1b + bne _0801E276 + movs r0, #0xd4 + bl m4aSongNumStart _0801E276: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x14 - bne _0801E2CA - movs r0, #0xd6 - bl m4aSongNumStart + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x14 + bne _0801E2CA + movs r0, #0xd6 + bl m4aSongNumStart _0801E28A: - ldr r1, _0801E2F4 @ =0x020314E0 - ldr r3, [r1] - ldr r2, _0801E2E4 @ =0x000002A5 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x14 - bne _0801E2CA - ldr r2, _0801E2EC @ =0x0000132C - adds r0, r3, r2 - ldr r0, [r0] - movs r3, #0 - strb r3, [r0] - ldr r1, [r1] - adds r1, r1, r2 - ldr r2, [r1] - ldrh r0, [r2, #0xa] - subs r0, #0x40 - strh r0, [r2, #0xa] - ldr r2, [r1] - movs r0, #0x85 - lsls r0, r0, #8 - str r0, [r2, #0x34] - ldr r2, [r1] - movs r0, #0xc0 - lsls r0, r0, #8 - str r0, [r2, #0x38] - ldr r0, [r1] - strh r3, [r0, #0x30] - ldr r0, [r1] - strh r3, [r0, #0x32] + ldr r1, _0801E2F4 @ =0x020314E0 + ldr r3, [r1] + ldr r2, _0801E2E4 @ =0x000002A5 + adds r0, r3, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x14 + bne _0801E2CA + ldr r2, _0801E2EC @ =0x0000132C + adds r0, r3, r2 + ldr r0, [r0] + movs r3, #0 + strb r3, [r0] + ldr r1, [r1] + adds r1, r1, r2 + ldr r2, [r1] + ldrh r0, [r2, #0xa] + subs r0, #0x40 + strh r0, [r2, #0xa] + ldr r2, [r1] + movs r0, #0x85 + lsls r0, r0, #8 + str r0, [r2, #0x34] + ldr r2, [r1] + movs r0, #0xc0 + lsls r0, r0, #8 + str r0, [r2, #0x38] + ldr r0, [r1] + strh r3, [r0, #0x30] + ldr r0, [r1] + strh r3, [r0, #0x32] _0801E2CA: - ldr r0, _0801E2F4 @ =0x020314E0 - ldr r1, [r0] - ldr r3, _0801E2E4 @ =0x000002A5 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x16 - beq _0801E2DE - b _0801E780 + ldr r0, _0801E2F4 @ =0x020314E0 + ldr r1, [r0] + ldr r3, _0801E2E4 @ =0x000002A5 + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x16 + beq _0801E2DE + b _0801E780 _0801E2DE: - movs r0, #0 - strb r0, [r1, #0x1f] - b _0801E780 - .align 2, 0 + movs r0, #0 + strb r0, [r1, #0x1f] + b _0801E780 + .align 2, 0 _0801E2E4: .4byte 0x000002A5 _0801E2E8: .4byte 0x000002A2 _0801E2EC: .4byte 0x0000132C _0801E2F0: .4byte 0x0000FF88 _0801E2F4: .4byte 0x020314E0 _0801E2F8: - ldr r4, _0801E33C @ =0x020314E0 - ldr r0, [r4] - ldr r5, _0801E340 @ =0x000002A5 - adds r0, r0, r5 - movs r2, #0 - movs r1, #0x1f - strb r1, [r0] - ldr r0, [r4] - ldr r3, _0801E344 @ =0x000002A6 - adds r1, r0, r3 - strh r2, [r1] - subs r5, #3 - adds r0, r0, r5 - movs r1, #8 - strb r1, [r0] - ldr r1, [r4] - movs r0, #0xa - str r0, [r1, #0x3c] - movs r0, #0xb6 - bl m4aSongNumStart - movs r0, #7 - bl sub_11B0 - ldr r0, [r4] - ldr r2, _0801E348 @ =0x00000724 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, #0 - bne _0801E336 - b _0801E780 + ldr r4, _0801E33C @ =0x020314E0 + ldr r0, [r4] + ldr r5, _0801E340 @ =0x000002A5 + adds r0, r0, r5 + movs r2, #0 + movs r1, #0x1f + strb r1, [r0] + ldr r0, [r4] + ldr r3, _0801E344 @ =0x000002A6 + adds r1, r0, r3 + strh r2, [r1] + subs r5, #3 + adds r0, r0, r5 + movs r1, #8 + strb r1, [r0] + ldr r1, [r4] + movs r0, #0xa + str r0, [r1, #0x3c] + movs r0, #0xb6 + bl m4aSongNumStart + movs r0, #7 + bl sub_11B0 + ldr r0, [r4] + ldr r2, _0801E348 @ =0x00000724 + adds r1, r0, r2 + ldrh r0, [r1] + cmp r0, #0 + bne _0801E336 + b _0801E780 _0801E336: - movs r0, #1 - strh r0, [r1] - b _0801E780 - .align 2, 0 + movs r0, #1 + strh r0, [r1] + b _0801E780 + .align 2, 0 _0801E33C: .4byte 0x020314E0 _0801E340: .4byte 0x000002A5 _0801E344: .4byte 0x000002A6 _0801E348: .4byte 0x00000724 _0801E34C: - ldr r1, _0801E374 @ =0x086AD862 - ldr r4, _0801E378 @ =0x020314E0 - ldr r2, [r4] - ldr r5, _0801E37C @ =0x000002A5 - adds r3, r2, r5 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #3 - adds r1, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - ldr r1, _0801E380 @ =0x000002A6 - adds r2, r2, r1 - ldrh r1, [r2] - cmp r0, r1 - ble _0801E384 - adds r0, r1, #1 - strh r0, [r2] - b _0801E3D4 - .align 2, 0 + ldr r1, _0801E374 @ =0x086AD862 + ldr r4, _0801E378 @ =0x020314E0 + ldr r2, [r4] + ldr r5, _0801E37C @ =0x000002A5 + adds r3, r2, r5 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #3 + adds r1, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + ldr r1, _0801E380 @ =0x000002A6 + adds r2, r2, r1 + ldrh r1, [r2] + cmp r0, r1 + ble _0801E384 + adds r0, r1, #1 + strh r0, [r2] + b _0801E3D4 + .align 2, 0 _0801E374: .4byte 0x086AD862 _0801E378: .4byte 0x020314E0 _0801E37C: .4byte 0x000002A5 _0801E380: .4byte 0x000002A6 _0801E384: - movs r0, #0 - strh r0, [r2] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r0, [r4] - ldr r2, _0801E430 @ =0x000002A5 - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x2e - bne _0801E3AA - movs r0, #0 - strb r0, [r1] - ldr r0, [r4] - ldr r3, _0801E434 @ =0x000002A2 - adds r0, r0, r3 - movs r1, #0xa - strb r1, [r0] + movs r0, #0 + strh r0, [r2] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r0, [r4] + ldr r2, _0801E430 @ =0x000002A5 + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x2e + bne _0801E3AA + movs r0, #0 + strb r0, [r1] + ldr r0, [r4] + ldr r3, _0801E434 @ =0x000002A2 + adds r0, r0, r3 + movs r1, #0xa + strb r1, [r0] _0801E3AA: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x2a - bne _0801E3BE - movs r0, #0xd4 - bl m4aSongNumStart + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x2a + bne _0801E3BE + movs r0, #0xd4 + bl m4aSongNumStart _0801E3BE: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x21 - bne _0801E3D4 - movs r0, #0xa6 - lsls r0, r0, #1 - bl m4aSongNumStart + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x21 + bne _0801E3D4 + movs r0, #0xa6 + lsls r0, r0, #1 + bl m4aSongNumStart _0801E3D4: - ldr r6, _0801E438 @ =0x020314E0 - ldr r4, [r6] - ldr r5, _0801E430 @ =0x000002A5 - adds r0, r4, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x2d - beq _0801E3E8 - b _0801E780 + ldr r6, _0801E438 @ =0x020314E0 + ldr r4, [r6] + ldr r5, _0801E430 @ =0x000002A5 + adds r0, r4, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x2d + beq _0801E3E8 + b _0801E780 _0801E3E8: - ldr r3, _0801E43C @ =0x086AD9EC - adds r5, #1 - adds r2, r4, r5 - ldrh r0, [r2] - movs r1, #7 - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - ldr r3, _0801E440 @ =0x000002AA - adds r0, r4, r3 - strh r1, [r0] - ldrh r0, [r2] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0801E412 - ldr r0, _0801E444 @ =0x02032FB0 - ldr r1, _0801E448 @ =0x086A0F30 - bl MPlayStart + ldr r3, _0801E43C @ =0x086AD9EC + adds r5, #1 + adds r2, r4, r5 + ldrh r0, [r2] + movs r1, #7 + ands r0, r1 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + ldr r3, _0801E440 @ =0x000002AA + adds r0, r4, r3 + strh r1, [r0] + ldrh r0, [r2] + movs r1, #3 + ands r0, r1 + cmp r0, #0 + bne _0801E412 + ldr r0, _0801E444 @ =0x02032FB0 + ldr r1, _0801E448 @ =0x086A0F30 + bl MPlayStart _0801E412: - ldr r0, [r6] - adds r0, r0, r5 - ldrh r0, [r0] - movs r1, #0xa - bl __umodsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0801E426 - b _0801E780 + ldr r0, [r6] + adds r0, r0, r5 + ldrh r0, [r0] + movs r1, #0xa + bl __umodsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + beq _0801E426 + b _0801E780 _0801E426: - movs r0, #0xc - bl sub_11B0 - b _0801E780 - .align 2, 0 + movs r0, #0xc + bl sub_11B0 + b _0801E780 + .align 2, 0 _0801E430: .4byte 0x000002A5 _0801E434: .4byte 0x000002A2 _0801E438: .4byte 0x020314E0 @@ -59724,826 +59724,826 @@ _0801E440: .4byte 0x000002AA _0801E444: .4byte 0x02032FB0 _0801E448: .4byte 0x086A0F30 _0801E44C: - ldr r1, _0801E474 @ =0x086AD862 - ldr r4, _0801E478 @ =0x020314E0 - ldr r2, [r4] - ldr r5, _0801E47C @ =0x000002A5 - adds r3, r2, r5 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #3 - adds r1, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - ldr r1, _0801E480 @ =0x000002A6 - adds r2, r2, r1 - ldrh r1, [r2] - cmp r0, r1 - ble _0801E484 + ldr r1, _0801E474 @ =0x086AD862 + ldr r4, _0801E478 @ =0x020314E0 + ldr r2, [r4] + ldr r5, _0801E47C @ =0x000002A5 + adds r3, r2, r5 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #3 + adds r1, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + ldr r1, _0801E480 @ =0x000002A6 + adds r2, r2, r1 + ldrh r1, [r2] + cmp r0, r1 + ble _0801E484 _0801E46E: - adds r0, r1, #1 - strh r0, [r2] - b _0801E780 - .align 2, 0 + adds r0, r1, #1 + strh r0, [r2] + b _0801E780 + .align 2, 0 _0801E474: .4byte 0x086AD862 _0801E478: .4byte 0x020314E0 _0801E47C: .4byte 0x000002A5 _0801E480: .4byte 0x000002A6 _0801E484: - movs r0, #0 - strh r0, [r2] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r0, [r4] - ldr r2, _0801E4C4 @ =0x000002A5 - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xd - bne _0801E4AA - movs r0, #0 - strb r0, [r1] - ldr r0, [r4] - ldr r3, _0801E4C8 @ =0x000002A2 - adds r0, r0, r3 - movs r1, #0xa - strb r1, [r0] + movs r0, #0 + strh r0, [r2] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r0, [r4] + ldr r2, _0801E4C4 @ =0x000002A5 + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0xd + bne _0801E4AA + movs r0, #0 + strb r0, [r1] + ldr r0, [r4] + ldr r3, _0801E4C8 @ =0x000002A2 + adds r0, r0, r3 + movs r1, #0xa + strb r1, [r0] _0801E4AA: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #9 - beq _0801E4BA - b _0801E780 + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #9 + beq _0801E4BA + b _0801E780 _0801E4BA: - movs r0, #0xd4 - bl m4aSongNumStart - b _0801E780 - .align 2, 0 + movs r0, #0xd4 + bl m4aSongNumStart + b _0801E780 + .align 2, 0 _0801E4C4: .4byte 0x000002A5 _0801E4C8: .4byte 0x000002A2 _0801E4CC: - ldr r2, _0801E508 @ =0x020314E0 - ldr r0, [r2] - movs r4, #0xa9 - lsls r4, r4, #2 - adds r0, r0, r4 - movs r3, #0 - strb r3, [r0] - ldr r0, [r2] - ldr r5, _0801E50C @ =0x000002A5 - adds r0, r0, r5 - strb r3, [r0] - ldr r1, [r2] - adds r4, #2 - adds r0, r1, r4 - strh r3, [r0] - ldr r5, _0801E510 @ =0x0000016F - adds r1, r1, r5 - movs r0, #1 - strb r0, [r1] - ldr r0, [r2] - movs r1, #0xba - lsls r1, r1, #1 - adds r2, r0, r1 - movs r1, #0x40 - strh r1, [r2] - ldr r2, _0801E514 @ =0x000002AA - adds r0, r0, r2 - strh r3, [r0] - b _0801E780 - .align 2, 0 + ldr r2, _0801E508 @ =0x020314E0 + ldr r0, [r2] + movs r4, #0xa9 + lsls r4, r4, #2 + adds r0, r0, r4 + movs r3, #0 + strb r3, [r0] + ldr r0, [r2] + ldr r5, _0801E50C @ =0x000002A5 + adds r0, r0, r5 + strb r3, [r0] + ldr r1, [r2] + adds r4, #2 + adds r0, r1, r4 + strh r3, [r0] + ldr r5, _0801E510 @ =0x0000016F + adds r1, r1, r5 + movs r0, #1 + strb r0, [r1] + ldr r0, [r2] + movs r1, #0xba + lsls r1, r1, #1 + adds r2, r0, r1 + movs r1, #0x40 + strh r1, [r2] + ldr r2, _0801E514 @ =0x000002AA + adds r0, r0, r2 + strh r3, [r0] + b _0801E780 + .align 2, 0 _0801E508: .4byte 0x020314E0 _0801E50C: .4byte 0x000002A5 _0801E510: .4byte 0x0000016F _0801E514: .4byte 0x000002AA _0801E518: - ldr r5, _0801E560 @ =0x0000016F - adds r1, r4, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bne _0801E526 - b _0801E780 + ldr r5, _0801E560 @ =0x0000016F + adds r1, r4, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + bne _0801E526 + b _0801E780 _0801E526: - movs r0, #0xba - lsls r0, r0, #1 - adds r2, r4, r0 - ldrh r0, [r2] - cmp r0, #0x8f - bhi _0801E56C - ldr r1, _0801E564 @ =0x08137968 - lsrs r0, r0, #3 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r2, [r0] - movs r1, #0xb8 - lsls r1, r1, #1 - adds r0, r4, r1 - strb r2, [r0] - mov r3, sl - ldr r2, [r3] - adds r0, r2, r1 - ldrb r0, [r0] - ldr r4, _0801E568 @ =0x00000171 - adds r2, r2, r4 - strb r0, [r2] - ldr r0, [r3] - adds r1, r0, r1 - ldrb r1, [r1] - adds r5, #3 - adds r0, r0, r5 - strb r1, [r0] - b _0801E56E - .align 2, 0 + movs r0, #0xba + lsls r0, r0, #1 + adds r2, r4, r0 + ldrh r0, [r2] + cmp r0, #0x8f + bhi _0801E56C + ldr r1, _0801E564 @ =0x08137968 + lsrs r0, r0, #3 + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r2, [r0] + movs r1, #0xb8 + lsls r1, r1, #1 + adds r0, r4, r1 + strb r2, [r0] + mov r3, sl + ldr r2, [r3] + adds r0, r2, r1 + ldrb r0, [r0] + ldr r4, _0801E568 @ =0x00000171 + adds r2, r2, r4 + strb r0, [r2] + ldr r0, [r3] + adds r1, r0, r1 + ldrb r1, [r1] + adds r5, #3 + adds r0, r0, r5 + strb r1, [r0] + b _0801E56E + .align 2, 0 _0801E560: .4byte 0x0000016F _0801E564: .4byte 0x08137968 _0801E568: .4byte 0x00000171 _0801E56C: - strb r3, [r1] + strb r3, [r1] _0801E56E: - mov r0, sl - ldr r4, [r0] - movs r1, #0xb8 - lsls r1, r1, #1 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xa - beq _0801E584 - b _0801E6C4 + mov r0, sl + ldr r4, [r0] + movs r1, #0xb8 + lsls r1, r1, #1 + adds r0, r4, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xa + beq _0801E584 + b _0801E6C4 _0801E584: - movs r2, #0xba - lsls r2, r2, #1 - adds r0, r4, r2 - ldrh r1, [r0] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - beq _0801E596 - b _0801E6C4 + movs r2, #0xba + lsls r2, r2, #1 + adds r0, r4, r2 + ldrh r1, [r0] + movs r0, #7 + ands r0, r1 + cmp r0, #0 + beq _0801E596 + b _0801E6C4 _0801E596: - lsrs r0, r1, #3 - cmp r0, #8 - beq _0801E59E - b _0801E6C4 + lsrs r0, r1, #3 + cmp r0, #8 + beq _0801E59E + b _0801E6C4 _0801E59E: - movs r3, #0xaa - lsls r3, r3, #2 - adds r1, r4, r3 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #2 - bls _0801E5BA - movs r0, #0x13 - ldrsb r0, [r4, r0] - cmp r0, #2 - ble _0801E5E8 + movs r3, #0xaa + lsls r3, r3, #2 + adds r1, r4, r3 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #2 + bls _0801E5BA + movs r0, #0x13 + ldrsb r0, [r4, r0] + cmp r0, #2 + ble _0801E5E8 _0801E5BA: - ldr r0, _0801E5E4 @ =0x0200B0C0 - ldr r5, [r0, #0x4c] - adds r0, r5, #0 - movs r1, #5 - bl __umodsi3 - adds r0, #1 - lsls r0, r0, #0x10 - movs r1, #0xb6 - lsls r1, r1, #1 - adds r4, r4, r1 - movs r1, #0 - ldrsb r1, [r4, r1] - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r1, r0 - bne _0801E61C - adds r0, r5, #1 - movs r1, #5 - b _0801E60E - .align 2, 0 + ldr r0, _0801E5E4 @ =0x0200B0C0 + ldr r5, [r0, #0x4c] + adds r0, r5, #0 + movs r1, #5 + bl __umodsi3 + adds r0, #1 + lsls r0, r0, #0x10 + movs r1, #0xb6 + lsls r1, r1, #1 + adds r4, r4, r1 + movs r1, #0 + ldrsb r1, [r4, r1] + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r1, r0 + bne _0801E61C + adds r0, r5, #1 + movs r1, #5 + b _0801E60E + .align 2, 0 _0801E5E4: .4byte 0x0200B0C0 _0801E5E8: - ldr r0, _0801E618 @ =0x0200B0C0 - ldr r5, [r0, #0x4c] - adds r0, r5, #0 - movs r1, #6 - bl __umodsi3 - adds r0, #1 - lsls r0, r0, #0x10 - movs r2, #0xb6 - lsls r2, r2, #1 - adds r4, r4, r2 - movs r1, #0 - ldrsb r1, [r4, r1] - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r1, r0 - bne _0801E61C - adds r0, r5, #1 - movs r1, #6 + ldr r0, _0801E618 @ =0x0200B0C0 + ldr r5, [r0, #0x4c] + adds r0, r5, #0 + movs r1, #6 + bl __umodsi3 + adds r0, #1 + lsls r0, r0, #0x10 + movs r2, #0xb6 + lsls r2, r2, #1 + adds r4, r4, r2 + movs r1, #0 + ldrsb r1, [r4, r1] + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r1, r0 + bne _0801E61C + adds r0, r5, #1 + movs r1, #6 _0801E60E: - bl __umodsi3 - adds r0, #1 - strb r0, [r4] - b _0801E61E - .align 2, 0 + bl __umodsi3 + adds r0, #1 + strb r0, [r4] + b _0801E61E + .align 2, 0 _0801E618: .4byte 0x0200B0C0 _0801E61C: - strb r2, [r4] + strb r2, [r4] _0801E61E: - mov r3, sl - ldr r0, [r3] - movs r4, #0xb1 - lsls r4, r4, #1 - adds r1, r0, r4 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _0801E640 - movs r0, #0 - strb r0, [r1] - ldr r0, [r3] - movs r5, #0xb6 - lsls r5, r5, #1 - adds r0, r0, r5 - movs r1, #6 - strb r1, [r0] + mov r3, sl + ldr r0, [r3] + movs r4, #0xb1 + lsls r4, r4, #1 + adds r1, r0, r4 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + beq _0801E640 + movs r0, #0 + strb r0, [r1] + ldr r0, [r3] + movs r5, #0xb6 + lsls r5, r5, #1 + adds r0, r0, r5 + movs r1, #6 + strb r1, [r0] _0801E640: - mov r0, sl - ldr r1, [r0] - movs r4, #0xb6 - lsls r4, r4, #1 - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #6 - bne _0801E68E - movs r2, #0xa9 - lsls r2, r2, #2 - adds r1, r1, r2 - movs r3, #0 - movs r0, #1 - strb r0, [r1] - mov r5, sl - ldr r0, [r5] - ldr r1, _0801E700 @ =0x000002A2 - adds r0, r0, r1 - strb r3, [r0] - ldr r0, [r5] - adds r2, #2 - adds r1, r0, r2 - movs r2, #0 - strh r3, [r1] - ldr r5, _0801E704 @ =0x000002A5 - adds r0, r0, r5 - strb r2, [r0] - mov r1, sl - ldr r0, [r1] - ldr r5, _0801E708 @ =0x0000016F - adds r0, r0, r5 - strb r2, [r0] - ldr r0, [r1] - movs r1, #0xaa - lsls r1, r1, #2 - adds r0, r0, r1 - strh r3, [r0] + mov r0, sl + ldr r1, [r0] + movs r4, #0xb6 + lsls r4, r4, #1 + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #6 + bne _0801E68E + movs r2, #0xa9 + lsls r2, r2, #2 + adds r1, r1, r2 + movs r3, #0 + movs r0, #1 + strb r0, [r1] + mov r5, sl + ldr r0, [r5] + ldr r1, _0801E700 @ =0x000002A2 + adds r0, r0, r1 + strb r3, [r0] + ldr r0, [r5] + adds r2, #2 + adds r1, r0, r2 + movs r2, #0 + strh r3, [r1] + ldr r5, _0801E704 @ =0x000002A5 + adds r0, r0, r5 + strb r2, [r0] + mov r1, sl + ldr r0, [r1] + ldr r5, _0801E708 @ =0x0000016F + adds r0, r0, r5 + strb r2, [r0] + ldr r0, [r1] + movs r1, #0xaa + lsls r1, r1, #2 + adds r0, r0, r1 + strh r3, [r0] _0801E68E: - mov r2, sl - ldr r3, [r2] - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #5 - bne _0801E6C4 - ldr r2, _0801E70C @ =0x086AD9DC - movs r4, #0 - ldrsh r1, [r2, r4] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - movs r5, #0xbc - lsls r5, r5, #1 - adds r1, r3, r5 - strh r0, [r1] - movs r0, #2 - ldrsh r1, [r2, r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - movs r2, #0xbd - lsls r2, r2, #1 - adds r1, r3, r2 - strh r0, [r1] + mov r2, sl + ldr r3, [r2] + adds r0, r3, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #5 + bne _0801E6C4 + ldr r2, _0801E70C @ =0x086AD9DC + movs r4, #0 + ldrsh r1, [r2, r4] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #1 + movs r5, #0xbc + lsls r5, r5, #1 + adds r1, r3, r5 + strh r0, [r1] + movs r0, #2 + ldrsh r1, [r2, r0] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #1 + movs r2, #0xbd + lsls r2, r2, #1 + adds r1, r3, r2 + strh r0, [r1] _0801E6C4: - ldr r5, _0801E710 @ =0x020314E0 - ldr r1, [r5] - movs r4, #0xba - lsls r4, r4, #1 - adds r1, r1, r4 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x20 - bne _0801E6E2 - movs r0, #0xc9 - bl m4aSongNumStart + ldr r5, _0801E710 @ =0x020314E0 + ldr r1, [r5] + movs r4, #0xba + lsls r4, r4, #1 + adds r1, r1, r4 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x20 + bne _0801E6E2 + movs r0, #0xc9 + bl m4aSongNumStart _0801E6E2: - ldr r1, [r5] - movs r3, #0xb6 - lsls r3, r3, #1 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - beq _0801E742 - cmp r0, #4 - ble _0801E714 - cmp r0, #5 - beq _0801E772 - b _0801E780 - .align 2, 0 + ldr r1, [r5] + movs r3, #0xb6 + lsls r3, r3, #1 + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + beq _0801E742 + cmp r0, #4 + ble _0801E714 + cmp r0, #5 + beq _0801E772 + b _0801E780 + .align 2, 0 _0801E700: .4byte 0x000002A2 _0801E704: .4byte 0x000002A5 _0801E708: .4byte 0x0000016F _0801E70C: .4byte 0x086AD9DC _0801E710: .4byte 0x020314E0 _0801E714: - cmp r0, #0 - blt _0801E780 - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, #0x66 - bne _0801E726 - movs r0, #0xc8 - bl m4aSongNumStart + cmp r0, #0 + blt _0801E780 + adds r0, r1, r4 + ldrh r0, [r0] + cmp r0, #0x66 + bne _0801E726 + movs r0, #0xc8 + bl m4aSongNumStart _0801E726: - ldr r0, [r5] - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0x74 - bne _0801E736 - movs r0, #0xc8 - bl m4aSongNumStart + ldr r0, [r5] + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0x74 + bne _0801E736 + movs r0, #0xc8 + bl m4aSongNumStart _0801E736: - ldr r0, [r5] - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0x82 - bne _0801E780 - b _0801E76A + ldr r0, [r5] + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0x82 + bne _0801E780 + b _0801E76A _0801E742: - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, #0x66 - bne _0801E750 - movs r0, #0xc8 - bl m4aSongNumStart + adds r0, r1, r4 + ldrh r0, [r0] + cmp r0, #0x66 + bne _0801E750 + movs r0, #0xc8 + bl m4aSongNumStart _0801E750: - ldr r0, [r5] - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0x76 - bne _0801E760 - movs r0, #0xc8 - bl m4aSongNumStart + ldr r0, [r5] + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0x76 + bne _0801E760 + movs r0, #0xc8 + bl m4aSongNumStart _0801E760: - ldr r0, [r5] - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0x86 - bne _0801E780 + ldr r0, [r5] + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0x86 + bne _0801E780 _0801E76A: - movs r0, #0xc8 - bl m4aSongNumStart - b _0801E780 + movs r0, #0xc8 + bl m4aSongNumStart + b _0801E780 _0801E772: - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, #0x68 - bne _0801E780 - movs r0, #0xc8 - bl m4aSongNumStart + adds r0, r1, r4 + ldrh r0, [r0] + cmp r0, #0x68 + bne _0801E780 + movs r0, #0xc8 + bl m4aSongNumStart _0801E780: - ldr r1, _0801E7A4 @ =0x020314E0 - ldr r0, [r1] - movs r4, #0xb6 - lsls r4, r4, #1 - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov sl, r1 - cmp r0, #6 - bls _0801E798 - b _0801EC32 + ldr r1, _0801E7A4 @ =0x020314E0 + ldr r0, [r1] + movs r4, #0xb6 + lsls r4, r4, #1 + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov sl, r1 + cmp r0, #6 + bls _0801E798 + b _0801EC32 _0801E798: - lsls r0, r0, #2 - ldr r1, _0801E7A8 @ =_0801E7AC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0801E7A8 @ =_0801E7AC + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0801E7A4: .4byte 0x020314E0 _0801E7A8: .4byte _0801E7AC _0801E7AC: @ jump table - .4byte _0801E7C8 @ case 0 - .4byte _0801E814 @ case 1 - .4byte _0801E8D0 @ case 2 - .4byte _0801E998 @ case 3 - .4byte _0801EA50 @ case 4 - .4byte _0801EB00 @ case 5 - .4byte _0801EC00 @ case 6 + .4byte _0801E7C8 @ case 0 + .4byte _0801E814 @ case 1 + .4byte _0801E8D0 @ case 2 + .4byte _0801E998 @ case 3 + .4byte _0801EA50 @ case 4 + .4byte _0801EB00 @ case 5 + .4byte _0801EC00 @ case 6 _0801E7C8: - mov r5, sl - ldr r2, [r5] - movs r0, #0xbc - lsls r0, r0, #1 - adds r1, r2, r0 - ldr r0, _0801E80C @ =0x000004E2 - strh r0, [r1] - movs r3, #0xbd - lsls r3, r3, #1 - adds r1, r2, r3 - adds r0, #0x14 - strh r0, [r1] - movs r4, #0xc0 - lsls r4, r4, #1 - adds r1, r2, r4 - movs r0, #0xc8 - lsls r0, r0, #3 - strh r0, [r1] - movs r5, #0xc1 - lsls r5, r5, #1 - adds r1, r2, r5 - subs r0, #0xf0 - strh r0, [r1] - movs r0, #0xbe - lsls r0, r0, #1 - adds r1, r2, r0 - ldr r0, _0801E810 @ =0x0000055A - strh r0, [r1] - adds r3, #4 - adds r1, r2, r3 - adds r0, #0xf0 - strh r0, [r1] - b _0801EC32 - .align 2, 0 + mov r5, sl + ldr r2, [r5] + movs r0, #0xbc + lsls r0, r0, #1 + adds r1, r2, r0 + ldr r0, _0801E80C @ =0x000004E2 + strh r0, [r1] + movs r3, #0xbd + lsls r3, r3, #1 + adds r1, r2, r3 + adds r0, #0x14 + strh r0, [r1] + movs r4, #0xc0 + lsls r4, r4, #1 + adds r1, r2, r4 + movs r0, #0xc8 + lsls r0, r0, #3 + strh r0, [r1] + movs r5, #0xc1 + lsls r5, r5, #1 + adds r1, r2, r5 + subs r0, #0xf0 + strh r0, [r1] + movs r0, #0xbe + lsls r0, r0, #1 + adds r1, r2, r0 + ldr r0, _0801E810 @ =0x0000055A + strh r0, [r1] + adds r3, #4 + adds r1, r2, r3 + adds r0, #0xf0 + strh r0, [r1] + b _0801EC32 + .align 2, 0 _0801E80C: .4byte 0x000004E2 _0801E810: .4byte 0x0000055A _0801E814: - movs r6, #0 - ldr r4, _0801E8C0 @ =0x020314E0 - mov sb, r4 - movs r5, #0xc8 - lsls r5, r5, #1 - mov r8, r5 - ldr r0, _0801E8C4 @ =0x00004E20 - mov sl, r0 + movs r6, #0 + ldr r4, _0801E8C0 @ =0x020314E0 + mov sb, r4 + movs r5, #0xc8 + lsls r5, r5, #1 + mov r8, r5 + ldr r0, _0801E8C4 @ =0x00004E20 + mov sl, r0 _0801E824: - mov r1, sb - ldr r4, [r1] - movs r2, #0xa4 - lsls r2, r2, #2 - adds r0, r4, r2 - ldr r0, [r0] - movs r3, #0x7f - ands r3, r0 - lsls r3, r3, #9 - lsls r1, r6, #0x10 - asrs r7, r1, #0x10 - lsls r6, r7, #2 - adds r1, r6, r7 - lsls r2, r1, #4 - adds r1, r1, r2 - lsls r2, r1, #8 - adds r1, r1, r2 - adds r3, r3, r1 - lsls r3, r3, #0x10 - lsrs r5, r3, #0x10 - movs r1, #0x3c - bl __umodsi3 - subs r0, #0x1e - lsls r0, r0, #0x10 - mov r3, r8 - adds r1, r4, r3 - movs r0, #0xb4 - strh r0, [r1] - adds r0, r5, #0 - bl sub_C74 - mov r4, sb - ldr r1, [r4] - adds r4, r1, r6 - add r1, r8 - movs r2, #0 - ldrsh r1, [r1, r2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - mov r1, sl - bl __divsi3 - ldr r3, _0801E8C8 @ =0x00000564 - adds r0, r0, r3 - movs r1, #0xbc - lsls r1, r1, #1 - adds r4, r4, r1 - strh r0, [r4] - adds r0, r5, #0 - bl sub_C24 - mov r2, sb - ldr r1, [r2] - adds r4, r1, r6 - add r1, r8 - movs r3, #0 - ldrsh r1, [r1, r3] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - mov r1, sl - bl __divsi3 - ldr r5, _0801E8CC @ =0x000005DC - adds r0, r0, r5 - movs r2, #0xbd - lsls r2, r2, #1 - adds r1, r4, r2 - strh r0, [r1] - adds r0, r7, #1 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _0801E824 - b _0801EC32 - .align 2, 0 + mov r1, sb + ldr r4, [r1] + movs r2, #0xa4 + lsls r2, r2, #2 + adds r0, r4, r2 + ldr r0, [r0] + movs r3, #0x7f + ands r3, r0 + lsls r3, r3, #9 + lsls r1, r6, #0x10 + asrs r7, r1, #0x10 + lsls r6, r7, #2 + adds r1, r6, r7 + lsls r2, r1, #4 + adds r1, r1, r2 + lsls r2, r1, #8 + adds r1, r1, r2 + adds r3, r3, r1 + lsls r3, r3, #0x10 + lsrs r5, r3, #0x10 + movs r1, #0x3c + bl __umodsi3 + subs r0, #0x1e + lsls r0, r0, #0x10 + mov r3, r8 + adds r1, r4, r3 + movs r0, #0xb4 + strh r0, [r1] + adds r0, r5, #0 + bl sub_C74 + mov r4, sb + ldr r1, [r4] + adds r4, r1, r6 + add r1, r8 + movs r2, #0 + ldrsh r1, [r1, r2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + mov r1, sl + bl __divsi3 + ldr r3, _0801E8C8 @ =0x00000564 + adds r0, r0, r3 + movs r1, #0xbc + lsls r1, r1, #1 + adds r4, r4, r1 + strh r0, [r4] + adds r0, r5, #0 + bl sub_C24 + mov r2, sb + ldr r1, [r2] + adds r4, r1, r6 + add r1, r8 + movs r3, #0 + ldrsh r1, [r1, r3] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + mov r1, sl + bl __divsi3 + ldr r5, _0801E8CC @ =0x000005DC + adds r0, r0, r5 + movs r2, #0xbd + lsls r2, r2, #1 + adds r1, r4, r2 + strh r0, [r1] + adds r0, r7, #1 + lsls r0, r0, #0x10 + lsrs r6, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _0801E824 + b _0801EC32 + .align 2, 0 _0801E8C0: .4byte 0x020314E0 _0801E8C4: .4byte 0x00004E20 _0801E8C8: .4byte 0x00000564 _0801E8CC: .4byte 0x000005DC _0801E8D0: - movs r6, #0 - ldr r3, _0801E984 @ =0x020314E0 - mov sb, r3 - movs r4, #0xc8 - lsls r4, r4, #1 - mov r8, r4 - ldr r5, _0801E988 @ =0x00004E20 - mov sl, r5 + movs r6, #0 + ldr r3, _0801E984 @ =0x020314E0 + mov sb, r3 + movs r4, #0xc8 + lsls r4, r4, #1 + mov r8, r4 + ldr r5, _0801E988 @ =0x00004E20 + mov sl, r5 _0801E8E0: - mov r0, sb - ldr r4, [r0] - movs r1, #0xa4 - lsls r1, r1, #2 - adds r0, r4, r1 - ldr r0, [r0] - movs r3, #0x7f - ands r3, r0 - lsls r3, r3, #9 - lsls r1, r6, #0x10 - asrs r7, r1, #0x10 - lsls r6, r7, #2 - adds r1, r6, r7 - lsls r2, r1, #4 - adds r1, r1, r2 - lsls r2, r1, #8 - adds r1, r1, r2 - adds r3, r3, r1 - ldr r2, _0801E98C @ =0x00002710 - adds r1, r2, #0 - subs r1, r1, r3 - lsls r1, r1, #0x10 - lsrs r5, r1, #0x10 - movs r1, #0x3c - bl __umodsi3 - subs r0, #0x1e - lsls r0, r0, #0x10 - mov r3, r8 - adds r1, r4, r3 - movs r0, #0xb4 - strh r0, [r1] - adds r0, r5, #0 - bl sub_C74 - mov r4, sb - ldr r1, [r4] - adds r4, r1, r6 - add r1, r8 - movs r2, #0 - ldrsh r1, [r1, r2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - mov r1, sl - bl __divsi3 - ldr r3, _0801E990 @ =0x00000564 - adds r0, r0, r3 - movs r1, #0xbc - lsls r1, r1, #1 - adds r4, r4, r1 - strh r0, [r4] - adds r0, r5, #0 - bl sub_C24 - mov r2, sb - ldr r1, [r2] - adds r4, r1, r6 - add r1, r8 - movs r3, #0 - ldrsh r1, [r1, r3] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - muls r0, r1, r0 - mov r1, sl - bl __divsi3 - ldr r5, _0801E994 @ =0x000005DC - adds r0, r0, r5 - movs r2, #0xbd - lsls r2, r2, #1 - adds r1, r4, r2 - strh r0, [r1] - adds r0, r7, #1 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _0801E8E0 - b _0801EC32 - .align 2, 0 + mov r0, sb + ldr r4, [r0] + movs r1, #0xa4 + lsls r1, r1, #2 + adds r0, r4, r1 + ldr r0, [r0] + movs r3, #0x7f + ands r3, r0 + lsls r3, r3, #9 + lsls r1, r6, #0x10 + asrs r7, r1, #0x10 + lsls r6, r7, #2 + adds r1, r6, r7 + lsls r2, r1, #4 + adds r1, r1, r2 + lsls r2, r1, #8 + adds r1, r1, r2 + adds r3, r3, r1 + ldr r2, _0801E98C @ =0x00002710 + adds r1, r2, #0 + subs r1, r1, r3 + lsls r1, r1, #0x10 + lsrs r5, r1, #0x10 + movs r1, #0x3c + bl __umodsi3 + subs r0, #0x1e + lsls r0, r0, #0x10 + mov r3, r8 + adds r1, r4, r3 + movs r0, #0xb4 + strh r0, [r1] + adds r0, r5, #0 + bl sub_C74 + mov r4, sb + ldr r1, [r4] + adds r4, r1, r6 + add r1, r8 + movs r2, #0 + ldrsh r1, [r1, r2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + mov r1, sl + bl __divsi3 + ldr r3, _0801E990 @ =0x00000564 + adds r0, r0, r3 + movs r1, #0xbc + lsls r1, r1, #1 + adds r4, r4, r1 + strh r0, [r4] + adds r0, r5, #0 + bl sub_C24 + mov r2, sb + ldr r1, [r2] + adds r4, r1, r6 + add r1, r8 + movs r3, #0 + ldrsh r1, [r1, r3] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + muls r0, r1, r0 + mov r1, sl + bl __divsi3 + ldr r5, _0801E994 @ =0x000005DC + adds r0, r0, r5 + movs r2, #0xbd + lsls r2, r2, #1 + adds r1, r4, r2 + strh r0, [r1] + adds r0, r7, #1 + lsls r0, r0, #0x10 + lsrs r6, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _0801E8E0 + b _0801EC32 + .align 2, 0 _0801E984: .4byte 0x020314E0 _0801E988: .4byte 0x00004E20 _0801E98C: .4byte 0x00002710 _0801E990: .4byte 0x00000564 _0801E994: .4byte 0x000005DC _0801E998: - movs r6, #0 + movs r6, #0 _0801E99A: - mov r3, sl - ldr r5, [r3] - movs r4, #0xa4 - lsls r4, r4, #2 - adds r0, r5, r4 - ldr r0, [r0] - movs r1, #0x2e - bl __umodsi3 - movs r7, #0x17 - subs r0, r7, r0 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - bge _0801E9C0 - rsbs r0, r0, #0 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 + mov r3, sl + ldr r5, [r3] + movs r4, #0xa4 + lsls r4, r4, #2 + adds r0, r5, r4 + ldr r0, [r0] + movs r1, #0x2e + bl __umodsi3 + movs r7, #0x17 + subs r0, r7, r0 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + bge _0801E9C0 + rsbs r0, r0, #0 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 _0801E9C0: - lsls r1, r6, #0x10 - asrs r1, r1, #0x10 - adds r2, r1, #1 - lsls r0, r2, #2 - adds r3, r5, r0 - lsls r0, r1, #5 - adds r0, r0, r1 - adds r0, #0x79 - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r1, r1, #1 - movs r5, #0xbc - lsls r5, r5, #1 - adds r0, r3, r5 - strh r1, [r0] - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #2 - adds r1, r1, r0 - ldr r0, _0801EA44 @ =0x0000053C - adds r1, r1, r0 - movs r4, #0xbd - lsls r4, r4, #1 - adds r3, r3, r4 - strh r1, [r3] - lsls r2, r2, #0x10 - lsrs r6, r2, #0x10 - asrs r2, r2, #0x10 - cmp r2, #1 - ble _0801E99A - mov r0, sl - ldr r5, [r0] - movs r1, #0xa4 - lsls r1, r1, #2 - adds r0, r5, r1 - ldr r0, [r0] - adds r0, #0x17 - movs r1, #0x2e - bl __umodsi3 - subs r0, r7, r0 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - bge _0801EA22 - rsbs r0, r0, #0 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 + lsls r1, r6, #0x10 + asrs r1, r1, #0x10 + adds r2, r1, #1 + lsls r0, r2, #2 + adds r3, r5, r0 + lsls r0, r1, #5 + adds r0, r0, r1 + adds r0, #0x79 + lsls r1, r0, #2 + adds r1, r1, r0 + lsls r1, r1, #1 + movs r5, #0xbc + lsls r5, r5, #1 + adds r0, r3, r5 + strh r1, [r0] + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #2 + adds r1, r1, r0 + ldr r0, _0801EA44 @ =0x0000053C + adds r1, r1, r0 + movs r4, #0xbd + lsls r4, r4, #1 + adds r3, r3, r4 + strh r1, [r3] + lsls r2, r2, #0x10 + lsrs r6, r2, #0x10 + asrs r2, r2, #0x10 + cmp r2, #1 + ble _0801E99A + mov r0, sl + ldr r5, [r0] + movs r1, #0xa4 + lsls r1, r1, #2 + adds r0, r5, r1 + ldr r0, [r0] + adds r0, #0x17 + movs r1, #0x2e + bl __umodsi3 + subs r0, r7, r0 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + bge _0801EA22 + rsbs r0, r0, #0 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 _0801EA22: - movs r2, #0xbc - lsls r2, r2, #1 - adds r1, r5, r2 - ldr r0, _0801EA48 @ =0x0000055A - strh r0, [r1] - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #2 - adds r1, r1, r0 - ldr r3, _0801EA4C @ =0x00000654 - adds r1, r1, r3 - movs r4, #0xbd - lsls r4, r4, #1 - adds r2, r5, r4 - strh r1, [r2] - b _0801EC32 - .align 2, 0 + movs r2, #0xbc + lsls r2, r2, #1 + adds r1, r5, r2 + ldr r0, _0801EA48 @ =0x0000055A + strh r0, [r1] + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #2 + adds r1, r1, r0 + ldr r3, _0801EA4C @ =0x00000654 + adds r1, r1, r3 + movs r4, #0xbd + lsls r4, r4, #1 + adds r2, r5, r4 + strh r1, [r2] + b _0801EC32 + .align 2, 0 _0801EA44: .4byte 0x0000053C _0801EA48: .4byte 0x0000055A _0801EA4C: .4byte 0x00000654 _0801EA50: - mov r5, sl - ldr r6, [r5] - movs r0, #0xbc - lsls r0, r0, #1 - adds r1, r6, r0 - ldr r0, _0801EAE8 @ =0x000004BA - strh r0, [r1] - ldr r5, _0801EAEC @ =0x0813798C - movs r1, #0xa4 - lsls r1, r1, #2 - adds r4, r6, r1 - ldr r0, [r4] - movs r1, #0x3c - bl __umodsi3 - movs r1, #0xa - bl __udivsi3 - lsls r0, r0, #1 - adds r0, r0, r5 - ldr r2, _0801EAF0 @ =0x00000514 - adds r1, r2, #0 - ldrh r0, [r0] - adds r1, r1, r0 - movs r3, #0xbd - lsls r3, r3, #1 - adds r0, r6, r3 - strh r1, [r0] - movs r0, #0xbe - lsls r0, r0, #1 - adds r1, r6, r0 - movs r0, #0xc8 - lsls r0, r0, #3 - strh r0, [r1] - ldr r0, [r4] - adds r0, #0x14 - movs r1, #0x3c - bl __umodsi3 - movs r1, #0xa - bl __udivsi3 - lsls r0, r0, #1 - adds r0, r0, r5 - ldr r2, _0801EAF4 @ =0x00000582 - adds r1, r2, #0 - ldrh r0, [r0] - adds r1, r1, r0 - movs r3, #0xbf - lsls r3, r3, #1 - adds r0, r6, r3 - strh r1, [r0] - movs r0, #0xc0 - lsls r0, r0, #1 - adds r1, r6, r0 - ldr r0, _0801EAF8 @ =0x0000055A - strh r0, [r1] - ldr r0, [r4] - adds r0, #0x28 - movs r1, #0x3c - bl __umodsi3 - movs r1, #0xa - bl __udivsi3 - lsls r0, r0, #1 - adds r0, r0, r5 - ldr r2, _0801EAFC @ =0x0000067C - adds r1, r2, #0 - ldrh r0, [r0] - adds r1, r1, r0 - movs r3, #0xc1 - lsls r3, r3, #1 - adds r0, r6, r3 - b _0801EC30 - .align 2, 0 + mov r5, sl + ldr r6, [r5] + movs r0, #0xbc + lsls r0, r0, #1 + adds r1, r6, r0 + ldr r0, _0801EAE8 @ =0x000004BA + strh r0, [r1] + ldr r5, _0801EAEC @ =0x0813798C + movs r1, #0xa4 + lsls r1, r1, #2 + adds r4, r6, r1 + ldr r0, [r4] + movs r1, #0x3c + bl __umodsi3 + movs r1, #0xa + bl __udivsi3 + lsls r0, r0, #1 + adds r0, r0, r5 + ldr r2, _0801EAF0 @ =0x00000514 + adds r1, r2, #0 + ldrh r0, [r0] + adds r1, r1, r0 + movs r3, #0xbd + lsls r3, r3, #1 + adds r0, r6, r3 + strh r1, [r0] + movs r0, #0xbe + lsls r0, r0, #1 + adds r1, r6, r0 + movs r0, #0xc8 + lsls r0, r0, #3 + strh r0, [r1] + ldr r0, [r4] + adds r0, #0x14 + movs r1, #0x3c + bl __umodsi3 + movs r1, #0xa + bl __udivsi3 + lsls r0, r0, #1 + adds r0, r0, r5 + ldr r2, _0801EAF4 @ =0x00000582 + adds r1, r2, #0 + ldrh r0, [r0] + adds r1, r1, r0 + movs r3, #0xbf + lsls r3, r3, #1 + adds r0, r6, r3 + strh r1, [r0] + movs r0, #0xc0 + lsls r0, r0, #1 + adds r1, r6, r0 + ldr r0, _0801EAF8 @ =0x0000055A + strh r0, [r1] + ldr r0, [r4] + adds r0, #0x28 + movs r1, #0x3c + bl __umodsi3 + movs r1, #0xa + bl __udivsi3 + lsls r0, r0, #1 + adds r0, r0, r5 + ldr r2, _0801EAFC @ =0x0000067C + adds r1, r2, #0 + ldrh r0, [r0] + adds r1, r1, r0 + movs r3, #0xc1 + lsls r3, r3, #1 + adds r0, r6, r3 + b _0801EC30 + .align 2, 0 _0801EAE8: .4byte 0x000004BA _0801EAEC: .4byte 0x0813798C _0801EAF0: .4byte 0x00000514 @@ -60551,321 +60551,321 @@ _0801EAF4: .4byte 0x00000582 _0801EAF8: .4byte 0x0000055A _0801EAFC: .4byte 0x0000067C _0801EB00: - ldr r0, _0801EBF0 @ =0x086AD9DC - mov r4, sl - ldr r3, [r4] - movs r5, #0xb7 - lsls r5, r5, #1 - adds r1, r3, r5 - movs r2, #0 - ldrsb r2, [r1, r2] - lsls r2, r2, #2 - adds r2, r2, r0 - movs r0, #0 - ldrsh r1, [r2, r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r5, #0xa - adds r1, r3, r5 - movs r4, #0 - ldrsh r1, [r1, r4] - subs r1, r0, r1 - str r1, [sp] - movs r0, #2 - ldrsh r1, [r2, r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - movs r1, #0xbd - lsls r1, r1, #1 - mov sb, r1 - add r3, sb - movs r2, #0 - ldrsh r1, [r3, r2] - subs r1, r0, r1 - str r1, [sp, #4] - ldr r4, [sp] - adds r3, r4, #0 - muls r3, r4, r3 - mov r8, r3 - adds r0, r1, #0 - muls r0, r1, r0 - add r8, r0 - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - rsbs r1, r1, #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 - lsls r1, r0, #3 - subs r1, r1, r0 - ldr r6, _0801EBF4 @ =0x00004E20 - adds r0, r1, #0 - adds r1, r6, #0 - bl __divsi3 - str r0, [sp, #8] - adds r0, r4, #0 - bl sub_C24 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #3 - subs r0, r0, r1 - adds r1, r6, #0 - bl __divsi3 - str r0, [sp, #0xc] - mov r0, sl - ldr r1, [r0] - adds r5, r1, r5 - ldrh r0, [r5] - ldr r2, [sp, #8] - adds r0, r2, r0 - movs r4, #0 - strh r0, [r5] - add r1, sb - ldrh r0, [r1] - ldr r3, [sp, #0xc] - adds r0, r3, r0 - strh r0, [r1] - ldr r0, _0801EBF8 @ =0x000009C3 - cmp r8, r0 - bgt _0801EBCA - bl sub_C00 - mov r5, sl - ldr r2, [r5] - movs r1, #3 - ands r1, r0 - movs r3, #0xb7 - lsls r3, r3, #1 - adds r0, r2, r3 - strb r1, [r0] + ldr r0, _0801EBF0 @ =0x086AD9DC + mov r4, sl + ldr r3, [r4] + movs r5, #0xb7 + lsls r5, r5, #1 + adds r1, r3, r5 + movs r2, #0 + ldrsb r2, [r1, r2] + lsls r2, r2, #2 + adds r2, r2, r0 + movs r0, #0 + ldrsh r1, [r2, r0] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r5, #0xa + adds r1, r3, r5 + movs r4, #0 + ldrsh r1, [r1, r4] + subs r1, r0, r1 + str r1, [sp] + movs r0, #2 + ldrsh r1, [r2, r0] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #1 + movs r1, #0xbd + lsls r1, r1, #1 + mov sb, r1 + add r3, sb + movs r2, #0 + ldrsh r1, [r3, r2] + subs r1, r0, r1 + str r1, [sp, #4] + ldr r4, [sp] + adds r3, r4, #0 + muls r3, r4, r3 + mov r8, r3 + adds r0, r1, #0 + muls r0, r1, r0 + add r8, r0 + lsls r0, r4, #0x10 + asrs r0, r0, #0x10 + rsbs r1, r1, #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 + lsls r1, r0, #3 + subs r1, r1, r0 + ldr r6, _0801EBF4 @ =0x00004E20 + adds r0, r1, #0 + adds r1, r6, #0 + bl __divsi3 + str r0, [sp, #8] + adds r0, r4, #0 + bl sub_C24 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #3 + subs r0, r0, r1 + adds r1, r6, #0 + bl __divsi3 + str r0, [sp, #0xc] + mov r0, sl + ldr r1, [r0] + adds r5, r1, r5 + ldrh r0, [r5] + ldr r2, [sp, #8] + adds r0, r2, r0 + movs r4, #0 + strh r0, [r5] + add r1, sb + ldrh r0, [r1] + ldr r3, [sp, #0xc] + adds r0, r3, r0 + strh r0, [r1] + ldr r0, _0801EBF8 @ =0x000009C3 + cmp r8, r0 + bgt _0801EBCA + bl sub_C00 + mov r5, sl + ldr r2, [r5] + movs r1, #3 + ands r1, r0 + movs r3, #0xb7 + lsls r3, r3, #1 + adds r0, r2, r3 + strb r1, [r0] _0801EBCA: - mov r5, sl - ldr r2, [r5] - movs r1, #0xbe - lsls r1, r1, #1 - adds r0, r2, r1 - strh r4, [r0] - movs r3, #0xbf - lsls r3, r3, #1 - adds r0, r2, r3 - ldr r1, _0801EBFC @ =0x0000FED4 - strh r1, [r0] - movs r5, #0xc0 - lsls r5, r5, #1 - adds r0, r2, r5 - strh r4, [r0] - adds r3, #4 - adds r0, r2, r3 - b _0801EC30 - .align 2, 0 + mov r5, sl + ldr r2, [r5] + movs r1, #0xbe + lsls r1, r1, #1 + adds r0, r2, r1 + strh r4, [r0] + movs r3, #0xbf + lsls r3, r3, #1 + adds r0, r2, r3 + ldr r1, _0801EBFC @ =0x0000FED4 + strh r1, [r0] + movs r5, #0xc0 + lsls r5, r5, #1 + adds r0, r2, r5 + strh r4, [r0] + adds r3, #4 + adds r0, r2, r3 + b _0801EC30 + .align 2, 0 _0801EBF0: .4byte 0x086AD9DC _0801EBF4: .4byte 0x00004E20 _0801EBF8: .4byte 0x000009C3 _0801EBFC: .4byte 0x0000FED4 _0801EC00: - mov r4, sl - ldr r3, [r4] - movs r5, #0xbc - lsls r5, r5, #1 - adds r0, r3, r5 - movs r2, #0 - strh r2, [r0] - movs r1, #0xbd - lsls r1, r1, #1 - adds r0, r3, r1 - ldr r1, _0801EC44 @ =0x0000FED4 - strh r1, [r0] - movs r4, #0xbe - lsls r4, r4, #1 - adds r0, r3, r4 - strh r2, [r0] - adds r5, #6 - adds r0, r3, r5 - strh r1, [r0] - adds r4, #4 - adds r0, r3, r4 - strh r2, [r0] - adds r5, #4 - adds r0, r3, r5 + mov r4, sl + ldr r3, [r4] + movs r5, #0xbc + lsls r5, r5, #1 + adds r0, r3, r5 + movs r2, #0 + strh r2, [r0] + movs r1, #0xbd + lsls r1, r1, #1 + adds r0, r3, r1 + ldr r1, _0801EC44 @ =0x0000FED4 + strh r1, [r0] + movs r4, #0xbe + lsls r4, r4, #1 + adds r0, r3, r4 + strh r2, [r0] + adds r5, #6 + adds r0, r3, r5 + strh r1, [r0] + adds r4, #4 + adds r0, r3, r4 + strh r2, [r0] + adds r5, #4 + adds r0, r3, r5 _0801EC30: - strh r1, [r0] + strh r1, [r0] _0801EC32: - 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 + 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 _0801EC44: .4byte 0x0000FED4 - thumb_func_start sub_1EC48 + thumb_func_start sub_1EC48 sub_1EC48: @ 0x0801EC48 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r1, _0801ECAC @ =0x020314E0 - ldr r3, [r1] - ldr r2, _0801ECB0 @ =0x00000624 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bgt _0801EC66 - b _0801EE4A + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r1, _0801ECAC @ =0x020314E0 + ldr r3, [r1] + ldr r2, _0801ECB0 @ =0x00000624 + adds r0, r3, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bgt _0801EC66 + b _0801EE4A _0801EC66: - cmp r0, #2 - beq _0801EC6C - b _0801EE3C + cmp r0, #2 + beq _0801EC6C + b _0801EE3C _0801EC6C: - movs r0, #0xfa - lsls r0, r0, #1 - str r0, [r3, #0x3c] - movs r0, #0xb6 - bl m4aSongNumStart - movs r0, #7 - bl sub_11B0 - ldr r3, _0801ECAC @ =0x020314E0 - ldr r1, [r3] - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #4 - beq _0801EC8C - b _0801EE1E + movs r0, #0xfa + lsls r0, r0, #1 + str r0, [r3, #0x3c] + movs r0, #0xb6 + bl m4aSongNumStart + movs r0, #7 + bl sub_11B0 + ldr r3, _0801ECAC @ =0x020314E0 + ldr r1, [r3] + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #4 + beq _0801EC8C + b _0801EE1E _0801EC8C: - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #5 - beq _0801EC96 - b _0801EE1E + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #5 + beq _0801EC96 + b _0801EE1E _0801EC96: - ldr r5, _0801ECB4 @ =0x00000625 - adds r1, r1, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #5 - ble _0801ECA4 - b _0801EE1E + ldr r5, _0801ECB4 @ =0x00000625 + adds r1, r1, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #5 + ble _0801ECA4 + b _0801EE1E _0801ECA4: - cmp r0, #0 - bne _0801ECB8 - movs r0, #1 - b _0801ECC2 - .align 2, 0 + cmp r0, #0 + bne _0801ECB8 + movs r0, #1 + b _0801ECC2 + .align 2, 0 _0801ECAC: .4byte 0x020314E0 _0801ECB0: .4byte 0x00000624 _0801ECB4: .4byte 0x00000625 _0801ECB8: - cmp r0, #1 - bne _0801ECC0 - movs r0, #3 - b _0801ECC2 + cmp r0, #1 + bne _0801ECC0 + movs r0, #3 + b _0801ECC2 _0801ECC0: - movs r0, #6 + movs r0, #6 _0801ECC2: - strb r0, [r1] - ldr r6, _0801ED70 @ =0x020314E0 - ldr r5, [r6] - ldr r1, _0801ED74 @ =0x00000625 - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov sb, r0 - cmp r0, #6 - beq _0801ECDA - b _0801EE1E + strb r0, [r1] + ldr r6, _0801ED70 @ =0x020314E0 + ldr r5, [r6] + ldr r1, _0801ED74 @ =0x00000625 + adds r0, r5, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov sb, r0 + cmp r0, #6 + beq _0801ECDA + b _0801EE1E _0801ECDA: - ldr r2, _0801ED78 @ =0x000006C6 - adds r0, r5, r2 - movs r7, #0 - ldrsb r7, [r0, r7] - cmp r7, #0 - beq _0801ECE8 - b _0801EE1E + ldr r2, _0801ED78 @ =0x000006C6 + adds r0, r5, r2 + movs r7, #0 + ldrsb r7, [r0, r7] + cmp r7, #0 + beq _0801ECE8 + b _0801EE1E _0801ECE8: - movs r3, #0xb6 - lsls r3, r3, #1 - adds r0, r5, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov r8, r0 - cmp r0, #4 - bne _0801ED98 - ldr r2, _0801ED7C @ =0x0200B0C0 - ldrb r1, [r2, #0xf] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #0xf] - adds r0, r5, #0 - adds r0, #0xea - movs r4, #0 - movs r3, #0x32 - strh r3, [r0] - adds r1, r5, #0 - adds r1, #0xec - movs r0, #0x96 - lsls r0, r0, #2 - strh r0, [r1] - subs r1, #4 - movs r0, #0xec - strh r0, [r1] - adds r0, r5, #0 - adds r0, #0xe6 - strh r7, [r0] - adds r0, #8 - mov r1, r8 - strh r1, [r0] - adds r0, #4 - mov r5, sb - strb r5, [r0] - ldr r0, [r6] - adds r0, #0xfa - movs r1, #1 - strb r1, [r0] - ldr r0, [r6] - adds r0, #0xfb - strb r4, [r0] - ldr r4, [r6] - adds r1, r4, #0 - adds r1, #0xf4 - movs r0, #0x50 - strh r0, [r1] - adds r1, #2 - ldr r0, _0801ED80 @ =0x0000F63C - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xf0 - strh r3, [r0] - adds r0, #8 - strh r7, [r0] - ldr r1, _0801ED84 @ =0x040000D4 - ldr r0, _0801ED88 @ =0x086ACEF8 - ldr r0, [r0, #0x18] - str r0, [r1] - ldr r0, _0801ED8C @ =0x06015800 - str r0, [r1, #4] - ldr r0, _0801ED90 @ =0x80001200 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0801ED94 @ =0x086ACF18 - ldr r0, [r0, #0x18] - b _0801EE0C - .align 2, 0 + movs r3, #0xb6 + lsls r3, r3, #1 + adds r0, r5, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov r8, r0 + cmp r0, #4 + bne _0801ED98 + ldr r2, _0801ED7C @ =0x0200B0C0 + ldrb r1, [r2, #0xf] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #0xf] + adds r0, r5, #0 + adds r0, #0xea + movs r4, #0 + movs r3, #0x32 + strh r3, [r0] + adds r1, r5, #0 + adds r1, #0xec + movs r0, #0x96 + lsls r0, r0, #2 + strh r0, [r1] + subs r1, #4 + movs r0, #0xec + strh r0, [r1] + adds r0, r5, #0 + adds r0, #0xe6 + strh r7, [r0] + adds r0, #8 + mov r1, r8 + strh r1, [r0] + adds r0, #4 + mov r5, sb + strb r5, [r0] + ldr r0, [r6] + adds r0, #0xfa + movs r1, #1 + strb r1, [r0] + ldr r0, [r6] + adds r0, #0xfb + strb r4, [r0] + ldr r4, [r6] + adds r1, r4, #0 + adds r1, #0xf4 + movs r0, #0x50 + strh r0, [r1] + adds r1, #2 + ldr r0, _0801ED80 @ =0x0000F63C + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xf0 + strh r3, [r0] + adds r0, #8 + strh r7, [r0] + ldr r1, _0801ED84 @ =0x040000D4 + ldr r0, _0801ED88 @ =0x086ACEF8 + ldr r0, [r0, #0x18] + str r0, [r1] + ldr r0, _0801ED8C @ =0x06015800 + str r0, [r1, #4] + ldr r0, _0801ED90 @ =0x80001200 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0801ED94 @ =0x086ACF18 + ldr r0, [r0, #0x18] + b _0801EE0C + .align 2, 0 _0801ED70: .4byte 0x020314E0 _0801ED74: .4byte 0x00000625 _0801ED78: .4byte 0x000006C6 @@ -60877,149 +60877,149 @@ _0801ED8C: .4byte 0x06015800 _0801ED90: .4byte 0x80001200 _0801ED94: .4byte 0x086ACF18 _0801ED98: - ldr r2, _0801EEA8 @ =0x0200B0C0 - ldrb r1, [r2, #0xf] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #0xf] - adds r0, r5, #0 - adds r0, #0xea - movs r4, #0 - movs r3, #0x32 - strh r3, [r0] - adds r1, r5, #0 - adds r1, #0xec - movs r0, #0x96 - lsls r0, r0, #2 - strh r0, [r1] - subs r1, #4 - movs r0, #0xec - strh r0, [r1] - adds r0, r5, #0 - adds r0, #0xe6 - strh r7, [r0] - adds r1, #6 - movs r0, #4 - strh r0, [r1] - adds r0, r5, #0 - adds r0, #0xf2 - movs r1, #1 - strb r1, [r0] - ldr r0, [r6] - adds r0, #0xfa - strb r1, [r0] - ldr r0, [r6] - adds r0, #0xfb - strb r4, [r0] - ldr r4, [r6] - adds r1, r4, #0 - adds r1, #0xf4 - movs r0, #0x50 - strh r0, [r1] - adds r1, #2 - ldr r0, _0801EEAC @ =0x0000F63C - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xf0 - strh r3, [r0] - adds r0, #8 - strh r7, [r0] - ldr r1, _0801EEB0 @ =0x040000D4 - ldr r0, _0801EEB4 @ =0x086ACEF8 - ldr r0, [r0, #4] - str r0, [r1] - ldr r0, _0801EEB8 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _0801EEBC @ =0x80001200 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0801EEC0 @ =0x086ACF18 - ldr r0, [r0, #4] + ldr r2, _0801EEA8 @ =0x0200B0C0 + ldrb r1, [r2, #0xf] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #0xf] + adds r0, r5, #0 + adds r0, #0xea + movs r4, #0 + movs r3, #0x32 + strh r3, [r0] + adds r1, r5, #0 + adds r1, #0xec + movs r0, #0x96 + lsls r0, r0, #2 + strh r0, [r1] + subs r1, #4 + movs r0, #0xec + strh r0, [r1] + adds r0, r5, #0 + adds r0, #0xe6 + strh r7, [r0] + adds r1, #6 + movs r0, #4 + strh r0, [r1] + adds r0, r5, #0 + adds r0, #0xf2 + movs r1, #1 + strb r1, [r0] + ldr r0, [r6] + adds r0, #0xfa + strb r1, [r0] + ldr r0, [r6] + adds r0, #0xfb + strb r4, [r0] + ldr r4, [r6] + adds r1, r4, #0 + adds r1, #0xf4 + movs r0, #0x50 + strh r0, [r1] + adds r1, #2 + ldr r0, _0801EEAC @ =0x0000F63C + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xf0 + strh r3, [r0] + adds r0, #8 + strh r7, [r0] + ldr r1, _0801EEB0 @ =0x040000D4 + ldr r0, _0801EEB4 @ =0x086ACEF8 + ldr r0, [r0, #4] + str r0, [r1] + ldr r0, _0801EEB8 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _0801EEBC @ =0x80001200 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0801EEC0 @ =0x086ACF18 + ldr r0, [r0, #4] _0801EE0C: - str r0, [r1] - ldr r0, _0801EEC4 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _0801EEC8 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldrh r0, [r2, #0x38] - movs r0, #0xce - strh r0, [r2, #0x38] + str r0, [r1] + ldr r0, _0801EEC4 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _0801EEC8 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldrh r0, [r2, #0x38] + movs r0, #0xce + strh r0, [r2, #0x38] _0801EE1E: - ldr r2, _0801EECC @ =0x020314E0 - ldr r0, [r2] - movs r6, #0xbb - lsls r6, r6, #1 - adds r1, r0, r6 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r1, [r2] - movs r0, #0xc2 - lsls r0, r0, #2 - adds r1, r1, r0 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] + ldr r2, _0801EECC @ =0x020314E0 + ldr r0, [r2] + movs r6, #0xbb + lsls r6, r6, #1 + adds r1, r0, r6 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r1, [r2] + movs r0, #0xc2 + lsls r0, r0, #2 + adds r1, r1, r0 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] _0801EE3C: - ldr r2, _0801EECC @ =0x020314E0 - ldr r1, [r2] - ldr r3, _0801EED0 @ =0x00000624 - adds r1, r1, r3 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] + ldr r2, _0801EECC @ =0x020314E0 + ldr r1, [r2] + ldr r3, _0801EED0 @ =0x00000624 + adds r1, r1, r3 + ldrb r0, [r1] + subs r0, #1 + strb r0, [r1] _0801EE4A: - ldr r5, _0801EED4 @ =0x0200E048 - mov sl, r5 - ldr r6, _0801EECC @ =0x020314E0 - ldr r0, [r6] - movs r1, #0xb6 - lsls r1, r1, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bne _0801EF4C - movs r6, #0 - ldr r2, _0801EED8 @ =0x0844928C - mov sb, r2 - ldr r3, _0801EECC @ =0x020314E0 - mov r8, r3 - movs r7, #0xb8 - lsls r7, r7, #1 - ldr r5, _0801EEB0 @ =0x040000D4 + ldr r5, _0801EED4 @ =0x0200E048 + mov sl, r5 + ldr r6, _0801EECC @ =0x020314E0 + ldr r0, [r6] + movs r1, #0xb6 + lsls r1, r1, #1 + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bne _0801EF4C + movs r6, #0 + ldr r2, _0801EED8 @ =0x0844928C + mov sb, r2 + ldr r3, _0801EECC @ =0x020314E0 + mov r8, r3 + movs r7, #0xb8 + lsls r7, r7, #1 + ldr r5, _0801EEB0 @ =0x040000D4 _0801EE72: - mov r0, r8 - ldr r3, [r0] - lsls r0, r6, #0x10 - asrs r4, r0, #0x10 - adds r0, r3, r7 - adds r2, r0, r4 - ldrb r0, [r2] - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #0 - beq _0801EEE2 - cmp r1, #0x64 - ble _0801EEDC - subs r0, #1 - movs r3, #0 - strb r0, [r2] - mov r1, r8 - ldr r0, [r1] - adds r0, r0, r7 - adds r1, r0, r4 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x64 - bne _0801EEA4 - strb r3, [r1] + mov r0, r8 + ldr r3, [r0] + lsls r0, r6, #0x10 + asrs r4, r0, #0x10 + adds r0, r3, r7 + adds r2, r0, r4 + ldrb r0, [r2] + movs r1, #0 + ldrsb r1, [r2, r1] + cmp r1, #0 + beq _0801EEE2 + cmp r1, #0x64 + ble _0801EEDC + subs r0, #1 + movs r3, #0 + strb r0, [r2] + mov r1, r8 + ldr r0, [r1] + adds r0, r0, r7 + adds r1, r0, r4 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x64 + bne _0801EEA4 + strb r3, [r1] _0801EEA4: - movs r1, #8 - b _0801EEFA - .align 2, 0 + movs r1, #8 + b _0801EEFA + .align 2, 0 _0801EEA8: .4byte 0x0200B0C0 _0801EEAC: .4byte 0x0000F63C _0801EEB0: .4byte 0x040000D4 @@ -61034,299 +61034,299 @@ _0801EED0: .4byte 0x00000624 _0801EED4: .4byte 0x0200E048 _0801EED8: .4byte 0x0844928C _0801EEDC: - movs r0, #0 - ldrsb r0, [r2, r0] - b _0801EEF6 + movs r0, #0 + ldrsb r0, [r2, r0] + b _0801EEF6 _0801EEE2: - movs r2, #0xa4 - lsls r2, r2, #2 - adds r0, r3, r2 - ldr r0, [r0] - movs r1, #0x32 - bl __umodsi3 - movs r1, #0x19 - bl __udivsi3 + movs r2, #0xa4 + lsls r2, r2, #2 + adds r0, r3, r2 + ldr r0, [r0] + movs r1, #0x32 + bl __umodsi3 + movs r1, #0x19 + bl __udivsi3 _0801EEF6: - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 _0801EEFA: - lsls r0, r1, #0x10 - asrs r0, r0, #8 - add r0, sb - str r0, [r5] - lsls r1, r6, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #8 - ldr r3, _0801EF38 @ =0x06012E80 - adds r0, r0, r3 - str r0, [r5, #4] - ldr r0, _0801EF3C @ =0x80000080 - str r0, [r5, #8] - ldr r0, [r5, #8] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r6, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #2 - ble _0801EE72 - ldr r2, _0801EF40 @ =0x040000D4 - ldr r5, _0801EF44 @ =0x020314E0 - ldr r0, [r5] - adds r0, #0x6f - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #5 - ldr r6, _0801EF48 @ =0x081379B8 - b _0801F006 - .align 2, 0 + lsls r0, r1, #0x10 + asrs r0, r0, #8 + add r0, sb + str r0, [r5] + lsls r1, r6, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #8 + ldr r3, _0801EF38 @ =0x06012E80 + adds r0, r0, r3 + str r0, [r5, #4] + ldr r0, _0801EF3C @ =0x80000080 + str r0, [r5, #8] + ldr r0, [r5, #8] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r6, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #2 + ble _0801EE72 + ldr r2, _0801EF40 @ =0x040000D4 + ldr r5, _0801EF44 @ =0x020314E0 + ldr r0, [r5] + adds r0, #0x6f + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #5 + ldr r6, _0801EF48 @ =0x081379B8 + b _0801F006 + .align 2, 0 _0801EF38: .4byte 0x06012E80 _0801EF3C: .4byte 0x80000080 _0801EF40: .4byte 0x040000D4 _0801EF44: .4byte 0x020314E0 _0801EF48: .4byte 0x081379B8 _0801EF4C: - movs r6, #0 - movs r0, #0xb8 - lsls r0, r0, #1 - mov sb, r0 - ldr r1, _0801EFA0 @ =0x040000D4 - mov r8, r1 + movs r6, #0 + movs r0, #0xb8 + lsls r0, r0, #1 + mov sb, r0 + ldr r1, _0801EFA0 @ =0x040000D4 + mov r8, r1 _0801EF58: - ldr r2, _0801EFA4 @ =0x020314E0 - ldr r1, [r2] - lsls r0, r6, #0x10 - asrs r5, r0, #0x10 - mov r3, sb - adds r0, r1, r3 - adds r4, r0, r5 - ldrb r7, [r4] - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - beq _0801EFAE - cmp r0, #0x64 - ble _0801EFA8 - movs r1, #0x69 - bl __divsi3 - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r1, #9 - subs r1, r1, r0 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - subs r0, r7, #1 - movs r3, #0 - strb r0, [r4] - ldr r2, _0801EFA4 @ =0x020314E0 - ldr r0, [r2] - add r0, sb - adds r2, r0, r5 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0x64 - bne _0801EFC6 - strb r3, [r2] - b _0801EFC6 - .align 2, 0 + ldr r2, _0801EFA4 @ =0x020314E0 + ldr r1, [r2] + lsls r0, r6, #0x10 + asrs r5, r0, #0x10 + mov r3, sb + adds r0, r1, r3 + adds r4, r0, r5 + ldrb r7, [r4] + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + beq _0801EFAE + cmp r0, #0x64 + ble _0801EFA8 + movs r1, #0x69 + bl __divsi3 + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + movs r1, #9 + subs r1, r1, r0 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + subs r0, r7, #1 + movs r3, #0 + strb r0, [r4] + ldr r2, _0801EFA4 @ =0x020314E0 + ldr r0, [r2] + add r0, sb + adds r2, r0, r5 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0x64 + bne _0801EFC6 + strb r3, [r2] + b _0801EFC6 + .align 2, 0 _0801EFA0: .4byte 0x040000D4 _0801EFA4: .4byte 0x020314E0 _0801EFA8: - movs r0, #0 - ldrsb r0, [r4, r0] - b _0801EFC2 + movs r0, #0 + ldrsb r0, [r4, r0] + b _0801EFC2 _0801EFAE: - movs r3, #0xa4 - lsls r3, r3, #2 - adds r0, r1, r3 - ldr r0, [r0] - movs r1, #0x32 - bl __umodsi3 - movs r1, #0x19 - bl __udivsi3 + movs r3, #0xa4 + lsls r3, r3, #2 + adds r0, r1, r3 + ldr r0, [r0] + movs r1, #0x32 + bl __umodsi3 + movs r1, #0x19 + bl __udivsi3 _0801EFC2: - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 _0801EFC6: - lsls r0, r1, #0x10 - asrs r0, r0, #8 - ldr r5, _0801F128 @ =0x083C806C - adds r0, r0, r5 - mov r1, r8 - str r0, [r1] - lsls r1, r6, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #8 - ldr r2, _0801F12C @ =0x06012E80 - adds r0, r0, r2 - mov r3, r8 - str r0, [r3, #4] - ldr r0, _0801F130 @ =0x80000080 - str r0, [r3, #8] - ldr r0, [r3, #8] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r6, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #2 - ble _0801EF58 - ldr r2, _0801F134 @ =0x040000D4 - ldr r5, _0801F138 @ =0x020314E0 - ldr r0, [r5] - adds r0, #0x6f - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #5 - ldr r6, _0801F13C @ =0x08137998 + lsls r0, r1, #0x10 + asrs r0, r0, #8 + ldr r5, _0801F128 @ =0x083C806C + adds r0, r0, r5 + mov r1, r8 + str r0, [r1] + lsls r1, r6, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #8 + ldr r2, _0801F12C @ =0x06012E80 + adds r0, r0, r2 + mov r3, r8 + str r0, [r3, #4] + ldr r0, _0801F130 @ =0x80000080 + str r0, [r3, #8] + ldr r0, [r3, #8] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r6, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #2 + ble _0801EF58 + ldr r2, _0801F134 @ =0x040000D4 + ldr r5, _0801F138 @ =0x020314E0 + ldr r0, [r5] + adds r0, #0x6f + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #5 + ldr r6, _0801F13C @ =0x08137998 _0801F006: - adds r0, r0, r6 - str r0, [r2] - ldr r0, _0801F140 @ =0x05000320 - str r0, [r2, #4] - ldr r0, _0801F144 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r6, #0 + adds r0, r0, r6 + str r0, [r2] + ldr r0, _0801F140 @ =0x05000320 + str r0, [r2, #4] + ldr r0, _0801F144 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r6, #0 _0801F016: - ldr r0, _0801F138 @ =0x020314E0 - ldr r4, [r0] - lsls r6, r6, #0x10 - asrs r1, r6, #0x10 - mov sb, r1 - lsls r0, r1, #2 - adds r7, r4, r0 - movs r2, #0xbc - lsls r2, r2, #1 - adds r5, r7, r2 - movs r3, #0 - ldrsh r0, [r5, r3] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - subs r0, #8 - mov r1, sl - strh r0, [r1, #2] - movs r2, #0xbd - lsls r2, r2, #1 - adds r2, r2, r7 - mov r8, r2 - movs r3, #0 - ldrsh r0, [r2, r3] - movs r1, #0xa - bl __divsi3 - adds r4, #0x5a - ldrh r1, [r4] - subs r0, r0, r1 - subs r0, #4 - mov r1, sl - strh r0, [r1, #4] - movs r2, #0 - ldrsh r0, [r5, r2] - movs r1, #0xa - bl __divsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - rsbs r0, r0, #0 - adds r0, #8 - lsls r0, r0, #1 - movs r3, #0xc2 - lsls r3, r3, #1 - adds r1, r7, r3 - strh r0, [r1] - mov r5, r8 - movs r1, #0 - ldrsh r0, [r5, r1] - movs r1, #0xa - bl __divsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - rsbs r0, r0, #0 - adds r0, #7 - lsls r0, r0, #1 - movs r2, #0xc3 - lsls r2, r2, #1 - adds r1, r7, r2 - strh r0, [r1] - mov r3, sl - movs r5, #4 - ldrsh r1, [r3, r5] - movs r0, #0x28 - rsbs r0, r0, #0 - mov r8, r6 - cmp r1, r0 - bge _0801F0AE - ldr r0, _0801F148 @ =0x0000FFD8 - strh r0, [r3, #4] + ldr r0, _0801F138 @ =0x020314E0 + ldr r4, [r0] + lsls r6, r6, #0x10 + asrs r1, r6, #0x10 + mov sb, r1 + lsls r0, r1, #2 + adds r7, r4, r0 + movs r2, #0xbc + lsls r2, r2, #1 + adds r5, r7, r2 + movs r3, #0 + ldrsh r0, [r5, r3] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + subs r0, #8 + mov r1, sl + strh r0, [r1, #2] + movs r2, #0xbd + lsls r2, r2, #1 + adds r2, r2, r7 + mov r8, r2 + movs r3, #0 + ldrsh r0, [r2, r3] + movs r1, #0xa + bl __divsi3 + adds r4, #0x5a + ldrh r1, [r4] + subs r0, r0, r1 + subs r0, #4 + mov r1, sl + strh r0, [r1, #4] + movs r2, #0 + ldrsh r0, [r5, r2] + movs r1, #0xa + bl __divsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + rsbs r0, r0, #0 + adds r0, #8 + lsls r0, r0, #1 + movs r3, #0xc2 + lsls r3, r3, #1 + adds r1, r7, r3 + strh r0, [r1] + mov r5, r8 + movs r1, #0 + ldrsh r0, [r5, r1] + movs r1, #0xa + bl __divsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + rsbs r0, r0, #0 + adds r0, #7 + lsls r0, r0, #1 + movs r2, #0xc3 + lsls r2, r2, #1 + adds r1, r7, r2 + strh r0, [r1] + mov r3, sl + movs r5, #4 + ldrsh r1, [r3, r5] + movs r0, #0x28 + rsbs r0, r0, #0 + mov r8, r6 + cmp r1, r0 + bge _0801F0AE + ldr r0, _0801F148 @ =0x0000FFD8 + strh r0, [r3, #4] _0801F0AE: - movs r0, #0 - mov r6, sb - lsls r6, r6, #1 - mov ip, r6 - ldr r7, _0801F14C @ =0x03005000 - ldr r1, _0801F150 @ =0xFFFFFE00 - mov sb, r1 + movs r0, #0 + mov r6, sb + lsls r6, r6, #1 + mov ip, r6 + ldr r7, _0801F14C @ =0x03005000 + ldr r1, _0801F150 @ =0xFFFFFE00 + mov sb, r1 _0801F0BC: - lsls r4, r0, #0x10 - asrs r4, r4, #0x10 - mov r3, ip - adds r2, r4, r3 - lsls r2, r2, #3 - adds r2, #8 - add r2, sl - ldrh r3, [r2] - lsls r3, r3, #3 - adds r3, r3, r7 - movs r5, #2 - ldrsh r1, [r2, r5] - mov r6, sl - movs r5, #2 - ldrsh r0, [r6, r5] - adds r1, r1, r0 - ldr r6, _0801F154 @ =0x000001FF - adds r0, r6, #0 - ands r1, r0 - ldrh r5, [r3, #2] - mov r0, sb - ands r0, r5 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r2] - lsls r1, r1, #3 - adds r1, r1, r7 - mov r3, sl - ldrb r0, [r3, #4] - ldrb r2, [r2, #4] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #1 - lsls r4, r4, #0x10 - lsrs r0, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #1 - ble _0801F0BC - movs r0, #0x80 - lsls r0, r0, #9 - add r0, r8 - lsrs r6, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - bgt _0801F118 - b _0801F016 + lsls r4, r0, #0x10 + asrs r4, r4, #0x10 + mov r3, ip + adds r2, r4, r3 + lsls r2, r2, #3 + adds r2, #8 + add r2, sl + ldrh r3, [r2] + lsls r3, r3, #3 + adds r3, r3, r7 + movs r5, #2 + ldrsh r1, [r2, r5] + mov r6, sl + movs r5, #2 + ldrsh r0, [r6, r5] + adds r1, r1, r0 + ldr r6, _0801F154 @ =0x000001FF + adds r0, r6, #0 + ands r1, r0 + ldrh r5, [r3, #2] + mov r0, sb + ands r0, r5 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r2] + lsls r1, r1, #3 + adds r1, r1, r7 + mov r3, sl + ldrb r0, [r3, #4] + ldrb r2, [r2, #4] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #1 + lsls r4, r4, #0x10 + lsrs r0, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #1 + ble _0801F0BC + movs r0, #0x80 + lsls r0, r0, #9 + add r0, r8 + lsrs r6, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + bgt _0801F118 + b _0801F016 _0801F118: - 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 + 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 _0801F128: .4byte 0x083C806C _0801F12C: .4byte 0x06012E80 _0801F130: .4byte 0x80000080 @@ -61340,148 +61340,148 @@ _0801F14C: .4byte 0x03005000 _0801F150: .4byte 0xFFFFFE00 _0801F154: .4byte 0x000001FF - thumb_func_start sub_1F158 + thumb_func_start sub_1F158 sub_1F158: @ 0x0801F158 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r4, _0801F270 @ =0x0200B0C0 - ldr r0, [r4, #0x4c] - movs r1, #0x37 - bl __umodsi3 - movs r1, #0xb - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - ldr r0, _0801F274 @ =0x00002ED0 - adds r7, r4, r0 - ldr r2, _0801F278 @ =0x040000D4 - ldr r6, _0801F27C @ =0x020314E0 - ldr r3, [r6] - ldr r0, _0801F280 @ =0x000002F5 - adds r4, r3, r0 - movs r1, #0 - ldrsb r1, [r4, r1] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - subs r0, r0, r1 - lsls r0, r0, #5 - ldr r1, _0801F284 @ =0x084F5ACC - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0801F288 @ =0x06012C20 - str r0, [r2, #4] - ldr r0, _0801F28C @ =0x80000130 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r2, #0xbd - lsls r2, r2, #2 - adds r3, r3, r2 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - beq _0801F1B4 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r4, _0801F270 @ =0x0200B0C0 + ldr r0, [r4, #0x4c] + movs r1, #0x37 + bl __umodsi3 + movs r1, #0xb + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + ldr r0, _0801F274 @ =0x00002ED0 + adds r7, r4, r0 + ldr r2, _0801F278 @ =0x040000D4 + ldr r6, _0801F27C @ =0x020314E0 + ldr r3, [r6] + ldr r0, _0801F280 @ =0x000002F5 + adds r4, r3, r0 + movs r1, #0 + ldrsb r1, [r4, r1] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #2 + subs r0, r0, r1 + lsls r0, r0, #5 + ldr r1, _0801F284 @ =0x084F5ACC + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0801F288 @ =0x06012C20 + str r0, [r2, #4] + ldr r0, _0801F28C @ =0x80000130 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r2, #0xbd + lsls r2, r2, #2 + adds r3, r3, r2 + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #0 + beq _0801F1B4 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 _0801F1B4: - ldr r2, _0801F290 @ =0x086AD9FC - lsls r0, r5, #0x10 - asrs r0, r0, #0xe - adds r1, r0, r2 - ldrh r3, [r1] - adds r2, #2 - adds r0, r0, r2 - ldrh r0, [r0] - strb r0, [r4] - ldr r1, [r6] - adds r0, r1, #0 - adds r0, #0x58 - ldrh r2, [r0] - movs r0, #0xb3 - subs r0, r0, r2 - strh r0, [r7, #2] - adds r1, #0x5a - ldrh r1, [r1] - movs r0, #0xae - subs r0, r0, r1 - strh r0, [r7, #4] - movs r1, #0 - ldr r5, _0801F294 @ =0x086B3A04 - mov sb, r5 - ldr r6, _0801F298 @ =0x03005000 - lsls r3, r3, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, r0, r3 - lsls r0, r0, #1 - mov ip, r0 - ldr r0, _0801F29C @ =0xFFFFFE00 - mov r8, r0 + ldr r2, _0801F290 @ =0x086AD9FC + lsls r0, r5, #0x10 + asrs r0, r0, #0xe + adds r1, r0, r2 + ldrh r3, [r1] + adds r2, #2 + adds r0, r0, r2 + ldrh r0, [r0] + strb r0, [r4] + ldr r1, [r6] + adds r0, r1, #0 + adds r0, #0x58 + ldrh r2, [r0] + movs r0, #0xb3 + subs r0, r0, r2 + strh r0, [r7, #2] + adds r1, #0x5a + ldrh r1, [r1] + movs r0, #0xae + subs r0, r0, r1 + strh r0, [r7, #4] + movs r1, #0 + ldr r5, _0801F294 @ =0x086B3A04 + mov sb, r5 + ldr r6, _0801F298 @ =0x03005000 + lsls r3, r3, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, r0, r3 + lsls r0, r0, #1 + mov ip, r0 + ldr r0, _0801F29C @ =0xFFFFFE00 + mov r8, r0 _0801F1F6: - lsls r3, r1, #0x10 - asrs r3, r3, #0x10 - lsls r4, r3, #3 - adds r4, #8 - adds r4, r7, r4 - 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, sb - 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 r5, [r2, #2] - mov sl, r5 - mov r0, sl - lsls r1, r0, #0x17 - lsrs r1, r1, #0x17 - movs r5, #2 - ldrsh r0, [r7, r5] - adds r1, r1, r0 - ldr r5, _0801F2A0 @ =0x000001FF - adds r0, r5, #0 - ands r1, r0 - mov r0, r8 - mov r5, sl - ands r0, r5 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r0, [r7, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r1, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #2 - ble _0801F1F6 - 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 + lsls r3, r1, #0x10 + asrs r3, r3, #0x10 + lsls r4, r3, #3 + adds r4, #8 + adds r4, r7, r4 + 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, sb + 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 r5, [r2, #2] + mov sl, r5 + mov r0, sl + lsls r1, r0, #0x17 + lsrs r1, r1, #0x17 + movs r5, #2 + ldrsh r0, [r7, r5] + adds r1, r1, r0 + ldr r5, _0801F2A0 @ =0x000001FF + adds r0, r5, #0 + ands r1, r0 + mov r0, r8 + mov r5, sl + ands r0, r5 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r0, [r7, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r1, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #2 + ble _0801F1F6 + 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 _0801F270: .4byte 0x0200B0C0 _0801F274: .4byte 0x00002ED0 _0801F278: .4byte 0x040000D4 @@ -61496,173 +61496,173 @@ _0801F298: .4byte 0x03005000 _0801F29C: .4byte 0xFFFFFE00 _0801F2A0: .4byte 0x000001FF - thumb_func_start sub_1F2A4 + thumb_func_start sub_1F2A4 sub_1F2A4: @ 0x0801F2A4 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r5, _0801F3E8 @ =0x020314E0 - ldr r4, [r5] - movs r1, #0xe3 - lsls r1, r1, #1 - adds r0, r4, r1 - movs r2, #0xe4 - lsls r2, r2, #1 - mov sb, r2 - adds r2, r4, r2 - movs r3, #0 - ldrsh r1, [r0, r3] - ldrh r3, [r2] - movs r6, #0 - ldrsh r0, [r2, r6] - cmp r1, r0 - beq _0801F39A - adds r0, r3, #2 - strh r0, [r2] - movs r1, #0 - ldrsh r0, [r2, r1] - movs r1, #0xe - bl __divsi3 - movs r6, #0xe5 - lsls r6, r6, #1 - adds r2, r4, r6 - strh r0, [r2] - movs r3, #0xe8 - lsls r3, r3, #1 - mov r8, r3 - adds r1, r4, r3 - movs r0, #0x50 - strh r0, [r1] - movs r0, #0xec - lsls r0, r0, #1 - mov ip, r0 - adds r0, r4, r0 - subs r3, #0xd0 - strh r3, [r0] - movs r7, #0xed - lsls r7, r7, #1 - adds r0, r4, r7 - strh r3, [r0] - movs r1, #0 - ldrsh r0, [r2, r1] - cmp r0, #0xb - bne _0801F314 - movs r2, #0xe7 - lsls r2, r2, #1 - adds r1, r4, r2 - movs r0, #0x78 - strh r0, [r1] + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r5, _0801F3E8 @ =0x020314E0 + ldr r4, [r5] + movs r1, #0xe3 + lsls r1, r1, #1 + adds r0, r4, r1 + movs r2, #0xe4 + lsls r2, r2, #1 + mov sb, r2 + adds r2, r4, r2 + movs r3, #0 + ldrsh r1, [r0, r3] + ldrh r3, [r2] + movs r6, #0 + ldrsh r0, [r2, r6] + cmp r1, r0 + beq _0801F39A + adds r0, r3, #2 + strh r0, [r2] + movs r1, #0 + ldrsh r0, [r2, r1] + movs r1, #0xe + bl __divsi3 + movs r6, #0xe5 + lsls r6, r6, #1 + adds r2, r4, r6 + strh r0, [r2] + movs r3, #0xe8 + lsls r3, r3, #1 + mov r8, r3 + adds r1, r4, r3 + movs r0, #0x50 + strh r0, [r1] + movs r0, #0xec + lsls r0, r0, #1 + mov ip, r0 + adds r0, r4, r0 + subs r3, #0xd0 + strh r3, [r0] + movs r7, #0xed + lsls r7, r7, #1 + adds r0, r4, r7 + strh r3, [r0] + movs r1, #0 + ldrsh r0, [r2, r1] + cmp r0, #0xb + bne _0801F314 + movs r2, #0xe7 + lsls r2, r2, #1 + adds r1, r4, r2 + movs r0, #0x78 + strh r0, [r1] _0801F314: - ldr r2, [r5] - adds r1, r2, r6 - movs r4, #0 - ldrsh r0, [r1, r4] - cmp r0, #0xb - ble _0801F336 - movs r0, #0xc - strh r0, [r1] - mov r6, r8 - adds r1, r2, r6 - movs r0, #0x78 - strh r0, [r1] - mov r1, ip - adds r0, r2, r1 - strh r3, [r0] - adds r0, r2, r7 - strh r3, [r0] + ldr r2, [r5] + adds r1, r2, r6 + movs r4, #0 + ldrsh r0, [r1, r4] + cmp r0, #0xb + ble _0801F336 + movs r0, #0xc + strh r0, [r1] + mov r6, r8 + adds r1, r2, r6 + movs r0, #0x78 + strh r0, [r1] + mov r1, ip + adds r0, r2, r1 + strh r3, [r0] + adds r0, r2, r7 + strh r3, [r0] _0801F336: - ldr r0, [r5] - mov r3, sb - adds r2, r0, r3 - movs r4, #0 - ldrsh r0, [r2, r4] - cmp r0, #0xa7 - bgt _0801F368 - ldrh r0, [r2] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _0801F368 - movs r5, #0 - ldrsh r0, [r2, r5] - movs r1, #0x15 - bl __divsi3 - lsls r0, r0, #0x18 - asrs r0, r0, #8 - movs r6, #0xa8 - lsls r6, r6, #0x10 - adds r0, r0, r6 - lsrs r0, r0, #0x10 - bl m4aSongNumStart + ldr r0, [r5] + mov r3, sb + adds r2, r0, r3 + movs r4, #0 + ldrsh r0, [r2, r4] + cmp r0, #0xa7 + bgt _0801F368 + ldrh r0, [r2] + movs r1, #7 + ands r0, r1 + cmp r0, #0 + bne _0801F368 + movs r5, #0 + ldrsh r0, [r2, r5] + movs r1, #0x15 + bl __divsi3 + lsls r0, r0, #0x18 + asrs r0, r0, #8 + movs r6, #0xa8 + lsls r6, r6, #0x10 + adds r0, r0, r6 + lsrs r0, r0, #0x10 + bl m4aSongNumStart _0801F368: - ldr r4, _0801F3E8 @ =0x020314E0 - ldr r1, [r4] - movs r2, #0xe3 - lsls r2, r2, #1 - adds r0, r1, r2 - movs r3, #0xe4 - lsls r3, r3, #1 - adds r2, r1, r3 - ldrh r3, [r0] - movs r5, #0 - ldrsh r1, [r0, r5] - movs r6, #0 - ldrsh r0, [r2, r6] - cmp r1, r0 - bgt _0801F39A - strh r3, [r2] - cmp r1, #0xa7 - ble _0801F39A - ldr r0, _0801F3EC @ =0x02032F20 - ldr r1, _0801F3F0 @ =0x0869F2A0 - bl MPlayStart - ldr r1, [r4] - ldr r0, _0801F3F4 @ =0x00000BB8 - str r0, [r1, #0x3c] + ldr r4, _0801F3E8 @ =0x020314E0 + ldr r1, [r4] + movs r2, #0xe3 + lsls r2, r2, #1 + adds r0, r1, r2 + movs r3, #0xe4 + lsls r3, r3, #1 + adds r2, r1, r3 + ldrh r3, [r0] + movs r5, #0 + ldrsh r1, [r0, r5] + movs r6, #0 + ldrsh r0, [r2, r6] + cmp r1, r0 + bgt _0801F39A + strh r3, [r2] + cmp r1, #0xa7 + ble _0801F39A + ldr r0, _0801F3EC @ =0x02032F20 + ldr r1, _0801F3F0 @ =0x0869F2A0 + bl MPlayStart + ldr r1, [r4] + ldr r0, _0801F3F4 @ =0x00000BB8 + str r0, [r1, #0x3c] _0801F39A: - ldr r5, _0801F3E8 @ =0x020314E0 - ldr r0, [r5] - ldr r2, _0801F3F8 @ =0x00000616 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, #0 - beq _0801F3AC - subs r0, #1 - strh r0, [r1] + ldr r5, _0801F3E8 @ =0x020314E0 + ldr r0, [r5] + ldr r2, _0801F3F8 @ =0x00000616 + adds r1, r0, r2 + ldrh r0, [r1] + cmp r0, #0 + beq _0801F3AC + subs r0, #1 + strh r0, [r1] _0801F3AC: - ldr r4, [r5] - ldr r3, _0801F3FC @ =0x00000614 - adds r2, r4, r3 - ldrh r0, [r2] - movs r6, #0 - ldrsh r1, [r2, r6] - cmp r1, #0 - ble _0801F478 - subs r0, #3 - movs r3, #0 - strh r0, [r2] - lsls r0, r0, #0x10 - cmp r0, #0 - bge _0801F3CA - strh r3, [r2] + ldr r4, [r5] + ldr r3, _0801F3FC @ =0x00000614 + adds r2, r4, r3 + ldrh r0, [r2] + movs r6, #0 + ldrsh r1, [r2, r6] + cmp r1, #0 + ble _0801F478 + subs r0, #3 + movs r3, #0 + strh r0, [r2] + lsls r0, r0, #0x10 + cmp r0, #0 + bge _0801F3CA + strh r3, [r2] _0801F3CA: - ldr r0, [r5] - movs r2, #0xc3 - lsls r2, r2, #3 - adds r1, r0, r2 - ldrh r2, [r1] - ldr r4, _0801F400 @ =0x0000061A - adds r0, r0, r4 - movs r6, #0 - ldrsh r0, [r0, r6] - subs r0, #1 - cmp r2, r0 - bge _0801F404 - adds r0, r2, #1 - strh r0, [r1] - b _0801F44E - .align 2, 0 + ldr r0, [r5] + movs r2, #0xc3 + lsls r2, r2, #3 + adds r1, r0, r2 + ldrh r2, [r1] + ldr r4, _0801F400 @ =0x0000061A + adds r0, r0, r4 + movs r6, #0 + ldrsh r0, [r0, r6] + subs r0, #1 + cmp r2, r0 + bge _0801F404 + adds r0, r2, #1 + strh r0, [r1] + b _0801F44E + .align 2, 0 _0801F3E8: .4byte 0x020314E0 _0801F3EC: .4byte 0x02032F20 _0801F3F0: .4byte 0x0869F2A0 @@ -61671,162 +61671,162 @@ _0801F3F8: .4byte 0x00000616 _0801F3FC: .4byte 0x00000614 _0801F400: .4byte 0x0000061A _0801F404: - strh r3, [r1] - ldr r0, _0801F464 @ =0x02032FB0 - ldr r1, _0801F468 @ =0x0869F240 - bl MPlayStart - ldr r2, [r5] - movs r0, #0x64 - str r0, [r2, #0x3c] - movs r1, #0xe5 - lsls r1, r1, #1 - adds r0, r2, r1 - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r0, #0xb - bgt _0801F44E - ldr r4, _0801F46C @ =0x0000061C - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0801F44E - movs r5, #0xe8 - lsls r5, r5, #1 - adds r1, r2, r5 - movs r0, #0x50 - strh r0, [r1] - movs r6, #0xec - lsls r6, r6, #1 - adds r0, r2, r6 - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r0] - movs r3, #0xed - lsls r3, r3, #1 - adds r0, r2, r3 - strh r1, [r0] + strh r3, [r1] + ldr r0, _0801F464 @ =0x02032FB0 + ldr r1, _0801F468 @ =0x0869F240 + bl MPlayStart + ldr r2, [r5] + movs r0, #0x64 + str r0, [r2, #0x3c] + movs r1, #0xe5 + lsls r1, r1, #1 + adds r0, r2, r1 + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r0, #0xb + bgt _0801F44E + ldr r4, _0801F46C @ =0x0000061C + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0801F44E + movs r5, #0xe8 + lsls r5, r5, #1 + adds r1, r2, r5 + movs r0, #0x50 + strh r0, [r1] + movs r6, #0xec + lsls r6, r6, #1 + adds r0, r2, r6 + movs r1, #0x80 + lsls r1, r1, #1 + strh r1, [r0] + movs r3, #0xed + lsls r3, r3, #1 + adds r0, r2, r3 + strh r1, [r0] _0801F44E: - ldr r5, _0801F470 @ =0x020314E0 - ldr r4, [r5] - ldr r6, _0801F474 @ =0x00000614 - adds r0, r4, r6 - movs r2, #0 - ldrsh r1, [r0, r2] - movs r0, #0xe1 - lsls r0, r0, #1 - subs r0, r0, r1 - b _0801F508 - .align 2, 0 + ldr r5, _0801F470 @ =0x020314E0 + ldr r4, [r5] + ldr r6, _0801F474 @ =0x00000614 + adds r0, r4, r6 + movs r2, #0 + ldrsh r1, [r0, r2] + movs r0, #0xe1 + lsls r0, r0, #1 + subs r0, r0, r1 + b _0801F508 + .align 2, 0 _0801F464: .4byte 0x02032FB0 _0801F468: .4byte 0x0869F240 _0801F46C: .4byte 0x0000061C _0801F470: .4byte 0x020314E0 _0801F474: .4byte 0x00000614 _0801F478: - cmp r1, #0 - bge _0801F55C - adds r0, #3 - movs r3, #0 - strh r0, [r2] - lsls r0, r0, #0x10 - cmp r0, #0 - ble _0801F48A - strh r3, [r2] + cmp r1, #0 + bge _0801F55C + adds r0, #3 + movs r3, #0 + strh r0, [r2] + lsls r0, r0, #0x10 + cmp r0, #0 + ble _0801F48A + strh r3, [r2] _0801F48A: - ldr r0, [r5] - movs r2, #0xc3 - lsls r2, r2, #3 - adds r1, r0, r2 - ldrh r2, [r1] - ldr r4, _0801F4A8 @ =0x0000061A - adds r0, r0, r4 - movs r6, #0 - ldrsh r0, [r0, r6] - subs r0, #1 - cmp r2, r0 - bge _0801F4AC - adds r0, r2, #1 - strh r0, [r1] - b _0801F4F6 - .align 2, 0 + ldr r0, [r5] + movs r2, #0xc3 + lsls r2, r2, #3 + adds r1, r0, r2 + ldrh r2, [r1] + ldr r4, _0801F4A8 @ =0x0000061A + adds r0, r0, r4 + movs r6, #0 + ldrsh r0, [r0, r6] + subs r0, #1 + cmp r2, r0 + bge _0801F4AC + adds r0, r2, #1 + strh r0, [r1] + b _0801F4F6 + .align 2, 0 _0801F4A8: .4byte 0x0000061A _0801F4AC: - strh r3, [r1] - ldr r0, _0801F540 @ =0x02032FB0 - ldr r1, _0801F544 @ =0x0869F240 - bl MPlayStart - ldr r2, [r5] - movs r0, #0x64 - str r0, [r2, #0x3c] - movs r1, #0xe5 - lsls r1, r1, #1 - adds r0, r2, r1 - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r0, #0xb - bgt _0801F4F6 - ldr r4, _0801F548 @ =0x0000061C - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0801F4F6 - movs r5, #0xe8 - lsls r5, r5, #1 - adds r1, r2, r5 - movs r0, #0x50 - strh r0, [r1] - movs r6, #0xec - lsls r6, r6, #1 - adds r0, r2, r6 - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r0] - movs r3, #0xed - lsls r3, r3, #1 - adds r0, r2, r3 - strh r1, [r0] + strh r3, [r1] + ldr r0, _0801F540 @ =0x02032FB0 + ldr r1, _0801F544 @ =0x0869F240 + bl MPlayStart + ldr r2, [r5] + movs r0, #0x64 + str r0, [r2, #0x3c] + movs r1, #0xe5 + lsls r1, r1, #1 + adds r0, r2, r1 + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r0, #0xb + bgt _0801F4F6 + ldr r4, _0801F548 @ =0x0000061C + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0801F4F6 + movs r5, #0xe8 + lsls r5, r5, #1 + adds r1, r2, r5 + movs r0, #0x50 + strh r0, [r1] + movs r6, #0xec + lsls r6, r6, #1 + adds r0, r2, r6 + movs r1, #0x80 + lsls r1, r1, #1 + strh r1, [r0] + movs r3, #0xed + lsls r3, r3, #1 + adds r0, r2, r3 + strh r1, [r0] _0801F4F6: - ldr r5, _0801F54C @ =0x020314E0 - ldr r4, [r5] - ldr r6, _0801F550 @ =0x00000614 - adds r0, r4, r6 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r2, #0xe1 - lsls r2, r2, #1 - adds r0, r0, r2 + ldr r5, _0801F54C @ =0x020314E0 + ldr r4, [r5] + ldr r6, _0801F550 @ =0x00000614 + adds r0, r4, r6 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r2, #0xe1 + lsls r2, r2, #1 + adds r0, r0, r2 _0801F508: - movs r1, #0xa - bl __divsi3 - ldr r1, _0801F554 @ =0x0000061A - adds r4, r4, r1 - strh r0, [r4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #4 - bgt _0801F520 - movs r0, #5 - strh r0, [r4] + movs r1, #0xa + bl __divsi3 + ldr r1, _0801F554 @ =0x0000061A + adds r4, r4, r1 + strh r0, [r4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #4 + bgt _0801F520 + movs r0, #5 + strh r0, [r4] _0801F520: - ldr r4, [r5] - movs r3, #0xc3 - lsls r3, r3, #3 - adds r0, r4, r3 - ldrh r0, [r0] - lsls r0, r0, #4 - adds r1, r4, r1 - movs r5, #0 - ldrsh r1, [r1, r5] - bl __divsi3 - ldr r6, _0801F558 @ =0x000001E5 - adds r1, r4, r6 - strb r0, [r1] - b _0801F58A - .align 2, 0 + ldr r4, [r5] + movs r3, #0xc3 + lsls r3, r3, #3 + adds r0, r4, r3 + ldrh r0, [r0] + lsls r0, r0, #4 + adds r1, r4, r1 + movs r5, #0 + ldrsh r1, [r1, r5] + bl __divsi3 + ldr r6, _0801F558 @ =0x000001E5 + adds r1, r4, r6 + strb r0, [r1] + b _0801F58A + .align 2, 0 _0801F540: .4byte 0x02032FB0 _0801F544: .4byte 0x0869F240 _0801F548: .4byte 0x0000061C @@ -61835,150 +61835,150 @@ _0801F550: .4byte 0x00000614 _0801F554: .4byte 0x0000061A _0801F558: .4byte 0x000001E5 _0801F55C: - ldr r0, _0801F598 @ =0x000001E5 - adds r5, r4, r0 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - ble _0801F58A - movs r1, #0xc3 - lsls r1, r1, #3 - adds r4, r4, r1 - ldrh r0, [r4] - adds r0, #1 - strh r0, [r4] - ldrh r0, [r4] - movs r1, #0x28 - bl __umodsi3 - strh r0, [r4] - ldrh r0, [r4] - lsls r0, r0, #4 - movs r1, #0x28 - bl __divsi3 - strb r0, [r5] + ldr r0, _0801F598 @ =0x000001E5 + adds r5, r4, r0 + movs r0, #0 + ldrsb r0, [r5, r0] + cmp r0, #0 + ble _0801F58A + movs r1, #0xc3 + lsls r1, r1, #3 + adds r4, r4, r1 + ldrh r0, [r4] + adds r0, #1 + strh r0, [r4] + ldrh r0, [r4] + movs r1, #0x28 + bl __umodsi3 + strh r0, [r4] + ldrh r0, [r4] + lsls r0, r0, #4 + movs r1, #0x28 + bl __divsi3 + strb r0, [r5] _0801F58A: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0801F598: .4byte 0x000001E5 - thumb_func_start sub_1F59C + thumb_func_start sub_1F59C sub_1F59C: @ 0x0801F59C - push {r4, r5, r6, r7, lr} - ldr r3, _0801F5D4 @ =0x020314E0 - ldr r4, [r3] - ldr r1, _0801F5D8 @ =0x000001E5 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - ldr r2, _0801F5DC @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r6, [r0, #0x7c] - adds r0, r4, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xce - subs r0, r0, r1 - strh r0, [r6, #2] - ldrb r0, [r2, #4] - cmp r0, #0 - bne _0801F5E0 - adds r0, r4, #0 - adds r0, #0x5a - ldrh r1, [r0] - movs r0, #0xae - b _0801F5E8 - .align 2, 0 + push {r4, r5, r6, r7, lr} + ldr r3, _0801F5D4 @ =0x020314E0 + ldr r4, [r3] + ldr r1, _0801F5D8 @ =0x000001E5 + adds r0, r4, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + ldr r2, _0801F5DC @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r6, [r0, #0x7c] + adds r0, r4, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xce + subs r0, r0, r1 + strh r0, [r6, #2] + ldrb r0, [r2, #4] + cmp r0, #0 + bne _0801F5E0 + adds r0, r4, #0 + adds r0, #0x5a + ldrh r1, [r0] + movs r0, #0xae + b _0801F5E8 + .align 2, 0 _0801F5D4: .4byte 0x020314E0 _0801F5D8: .4byte 0x000001E5 _0801F5DC: .4byte 0x0200B0C0 _0801F5E0: - adds r0, r4, #0 - adds r0, #0x5a - ldrh r1, [r0] - movs r0, #0x9a + adds r0, r4, #0 + adds r0, #0x5a + ldrh r1, [r0] + movs r0, #0x9a _0801F5E8: - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r1, [r3] - ldr r2, _0801F678 @ =0x000001E5 - adds r0, r1, r2 - movs r3, #0xf3 - lsls r3, r3, #1 - adds r2, r1, r3 - ldrb r3, [r0] - movs r1, #0 - ldrsb r1, [r0, r1] - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r1, r0 - beq _0801F624 - strb r3, [r2] - ldr r2, _0801F67C @ =0x040000D4 - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #5 - ldr r1, _0801F680 @ =0x084FA48C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0801F684 @ =0x06010780 - str r0, [r2, #4] - ldr r0, _0801F688 @ =0x80000090 - str r0, [r2, #8] - ldr r0, [r2, #8] + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r1, [r3] + ldr r2, _0801F678 @ =0x000001E5 + adds r0, r1, r2 + movs r3, #0xf3 + lsls r3, r3, #1 + adds r2, r1, r3 + ldrb r3, [r0] + movs r1, #0 + ldrsb r1, [r0, r1] + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r1, r0 + beq _0801F624 + strb r3, [r2] + ldr r2, _0801F67C @ =0x040000D4 + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #5 + ldr r1, _0801F680 @ =0x084FA48C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0801F684 @ =0x06010780 + str r0, [r2, #4] + ldr r0, _0801F688 @ =0x80000090 + str r0, [r2, #8] + ldr r0, [r2, #8] _0801F624: - movs r0, #0 - ldr r7, _0801F68C @ =0x03005000 - ldr r1, _0801F690 @ =0xFFFFFE00 - mov ip, r1 + movs r0, #0 + ldr r7, _0801F68C @ =0x03005000 + ldr r1, _0801F690 @ =0xFFFFFE00 + mov ip, r1 _0801F62C: - 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, _0801F694 @ =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 _0801F62C - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + 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, _0801F694 @ =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 _0801F62C + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0801F678: .4byte 0x000001E5 _0801F67C: .4byte 0x040000D4 _0801F680: .4byte 0x084FA48C @@ -61988,50 +61988,50 @@ _0801F68C: .4byte 0x03005000 _0801F690: .4byte 0xFFFFFE00 _0801F694: .4byte 0x000001FF - thumb_func_start sub_1F698 + thumb_func_start sub_1F698 sub_1F698: @ 0x0801F698 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - movs r2, #0 - ldr r7, _0801F6EC @ =0x0200BDC8 - ldr r0, _0801F6F0 @ =0x020314E0 - ldr r4, [r0] - movs r1, #0xaf - lsls r1, r1, #2 - adds r3, r4, r1 - ldrh r1, [r3] - mov sb, r0 - cmp r1, #0x3b - bhi _0801F712 - adds r0, r1, #0 - subs r0, #0x1b - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x13 - bhi _0801F704 - ldrh r0, [r3] - subs r0, #0x1b - movs r1, #5 - bl __divsi3 - ldr r2, _0801F6F4 @ =0x040000D4 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, _0801F6F8 @ =0x083C562C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0801F6FC @ =0x06014280 - str r0, [r2, #4] - ldr r0, _0801F700 @ =0x80000080 - str r0, [r2, #8] - ldr r0, [r2, #8] - adds r0, r4, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xb0 - b _0801F760 - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + movs r2, #0 + ldr r7, _0801F6EC @ =0x0200BDC8 + ldr r0, _0801F6F0 @ =0x020314E0 + ldr r4, [r0] + movs r1, #0xaf + lsls r1, r1, #2 + adds r3, r4, r1 + ldrh r1, [r3] + mov sb, r0 + cmp r1, #0x3b + bhi _0801F712 + adds r0, r1, #0 + subs r0, #0x1b + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x13 + bhi _0801F704 + ldrh r0, [r3] + subs r0, #0x1b + movs r1, #5 + bl __divsi3 + ldr r2, _0801F6F4 @ =0x040000D4 + lsls r0, r0, #0x10 + asrs r0, r0, #8 + ldr r1, _0801F6F8 @ =0x083C562C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0801F6FC @ =0x06014280 + str r0, [r2, #4] + ldr r0, _0801F700 @ =0x80000080 + str r0, [r2, #8] + ldr r0, [r2, #8] + adds r0, r4, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xb0 + b _0801F760 + .align 2, 0 _0801F6EC: .4byte 0x0200BDC8 _0801F6F0: .4byte 0x020314E0 _0801F6F4: .4byte 0x040000D4 @@ -62039,198 +62039,198 @@ _0801F6F8: .4byte 0x083C562C _0801F6FC: .4byte 0x06014280 _0801F700: .4byte 0x80000080 _0801F704: - strh r2, [r7] - mov r2, sb - ldr r0, [r2] - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xb0 - b _0801F760 + strh r2, [r7] + mov r2, sb + ldr r0, [r2] + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xb0 + b _0801F760 _0801F712: - adds r0, r1, #0 - subs r0, #0x64 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x13 - bhi _0801F754 - ldrh r0, [r3] - subs r0, #0x64 - movs r1, #5 - bl __divsi3 - ldr r2, _0801F744 @ =0x040000D4 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, _0801F748 @ =0x083C562C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0801F74C @ =0x06014280 - str r0, [r2, #4] - ldr r0, _0801F750 @ =0x80000080 - str r0, [r2, #8] - ldr r0, [r2, #8] - adds r0, r4, #0 - b _0801F75A - .align 2, 0 + adds r0, r1, #0 + subs r0, #0x64 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x13 + bhi _0801F754 + ldrh r0, [r3] + subs r0, #0x64 + movs r1, #5 + bl __divsi3 + ldr r2, _0801F744 @ =0x040000D4 + lsls r0, r0, #0x10 + asrs r0, r0, #8 + ldr r1, _0801F748 @ =0x083C562C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0801F74C @ =0x06014280 + str r0, [r2, #4] + ldr r0, _0801F750 @ =0x80000080 + str r0, [r2, #8] + ldr r0, [r2, #8] + adds r0, r4, #0 + b _0801F75A + .align 2, 0 _0801F744: .4byte 0x040000D4 _0801F748: .4byte 0x083C562C _0801F74C: .4byte 0x06014280 _0801F750: .4byte 0x80000080 _0801F754: - strh r2, [r7] - mov r3, sb - ldr r0, [r3] + strh r2, [r7] + mov r3, sb + ldr r0, [r3] _0801F75A: - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x20 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x20 _0801F760: - subs r0, r0, r1 - strh r0, [r7, #2] - ldrh r0, [r7] - ldr r1, _0801F880 @ =0x0200BD10 - mov r8, r1 - cmp r0, #0 - beq _0801F7D8 - mov r2, sb - ldr r0, [r2] - adds r0, #0x5a - ldrh r1, [r0] - movs r3, #0x94 - lsls r3, r3, #1 - adds r0, r3, #0 - subs r0, r0, r1 - strh r0, [r7, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb4 - ble _0801F78C - movs r0, #0xb4 - strh r0, [r7, #4] + subs r0, r0, r1 + strh r0, [r7, #2] + ldrh r0, [r7] + ldr r1, _0801F880 @ =0x0200BD10 + mov r8, r1 + cmp r0, #0 + beq _0801F7D8 + mov r2, sb + ldr r0, [r2] + adds r0, #0x5a + ldrh r1, [r0] + movs r3, #0x94 + lsls r3, r3, #1 + adds r0, r3, #0 + subs r0, r0, r1 + strh r0, [r7, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb4 + ble _0801F78C + movs r0, #0xb4 + strh r0, [r7, #4] _0801F78C: - movs r0, #0 - ldr r6, _0801F884 @ =0x03005000 - ldr r1, _0801F888 @ =0xFFFFFE00 - mov ip, r1 + movs r0, #0 + ldr r6, _0801F884 @ =0x03005000 + ldr r1, _0801F888 @ =0xFFFFFE00 + mov ip, r1 _0801F794: - 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, _0801F88C @ =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, #1 - ble _0801F794 + 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, _0801F88C @ =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, #1 + ble _0801F794 _0801F7D8: - mov r7, r8 - ldrh r0, [r7] - cmp r0, #0 - bne _0801F7E2 - b _0801FA26 + mov r7, r8 + ldrh r0, [r7] + cmp r0, #0 + bne _0801F7E2 + b _0801FA26 _0801F7E2: - mov r0, sb - ldr r3, [r0] - movs r6, #0xaf - lsls r6, r6, #2 - adds r1, r3, r6 - ldrh r0, [r1] - cmp r0, #0x77 - bls _0801F7F4 - b _0801F990 + mov r0, sb + ldr r3, [r0] + movs r6, #0xaf + lsls r6, r6, #2 + adds r1, r3, r6 + ldrh r0, [r1] + cmp r0, #0x77 + bls _0801F7F4 + b _0801F990 _0801F7F4: - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _0801F802 - movs r0, #0xc6 - bl m4aSongNumStart + movs r1, #7 + ands r0, r1 + cmp r0, #0 + bne _0801F802 + movs r0, #0xc6 + bl m4aSongNumStart _0801F802: - mov r1, sb - ldr r0, [r1] - adds r0, r0, r6 - ldrh r0, [r0] - movs r1, #0xf - ands r0, r1 - ldr r2, _0801F890 @ =0x040000D4 - lsrs r0, r0, #2 - lsls r0, r0, #7 - ldr r1, _0801F894 @ =0x083C542C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0801F898 @ =0x06014200 - str r0, [r2, #4] - ldr r0, _0801F89C @ =0x80000040 - str r0, [r2, #8] - ldr r0, [r2, #8] - mov r2, sb - ldr r4, [r2] - adds r5, r4, r6 - ldrh r0, [r5] - lsls r0, r0, #0x10 - movs r1, #0x5a - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - movs r3, #0xae - lsls r3, r3, #2 - adds r0, r4, r3 - ldrh r1, [r0] - subs r1, #2 - strh r1, [r0] - movs r0, #0xad - lsls r0, r0, #2 - adds r4, r4, r0 - ldrh r0, [r4] - adds r0, r0, r1 - strh r0, [r4] - ldrh r0, [r5] - cmp r0, #0x1d - bhi _0801F8A8 - adds r0, r2, #0 - bl sub_C24 - adds r1, r0, #0 - mov r2, sb - ldr r4, [r2] - adds r5, r4, r6 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - ldr r1, _0801F8A0 @ =0x00004E20 - bl __divsi3 - ldrh r1, [r5] - adds r1, r1, r0 - ldr r3, _0801F8A4 @ =0x000002B6 - adds r4, r4, r3 - strh r1, [r4] - b _0801F8CC - .align 2, 0 + mov r1, sb + ldr r0, [r1] + adds r0, r0, r6 + ldrh r0, [r0] + movs r1, #0xf + ands r0, r1 + ldr r2, _0801F890 @ =0x040000D4 + lsrs r0, r0, #2 + lsls r0, r0, #7 + ldr r1, _0801F894 @ =0x083C542C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0801F898 @ =0x06014200 + str r0, [r2, #4] + ldr r0, _0801F89C @ =0x80000040 + str r0, [r2, #8] + ldr r0, [r2, #8] + mov r2, sb + ldr r4, [r2] + adds r5, r4, r6 + ldrh r0, [r5] + lsls r0, r0, #0x10 + movs r1, #0x5a + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + movs r3, #0xae + lsls r3, r3, #2 + adds r0, r4, r3 + ldrh r1, [r0] + subs r1, #2 + strh r1, [r0] + movs r0, #0xad + lsls r0, r0, #2 + adds r4, r4, r0 + ldrh r0, [r4] + adds r0, r0, r1 + strh r0, [r4] + ldrh r0, [r5] + cmp r0, #0x1d + bhi _0801F8A8 + adds r0, r2, #0 + bl sub_C24 + adds r1, r0, #0 + mov r2, sb + ldr r4, [r2] + adds r5, r4, r6 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + ldr r1, _0801F8A0 @ =0x00004E20 + bl __divsi3 + ldrh r1, [r5] + adds r1, r1, r0 + ldr r3, _0801F8A4 @ =0x000002B6 + adds r4, r4, r3 + strh r1, [r4] + b _0801F8CC + .align 2, 0 _0801F880: .4byte 0x0200BD10 _0801F884: .4byte 0x03005000 _0801F888: .4byte 0xFFFFFE00 @@ -62242,276 +62242,276 @@ _0801F89C: .4byte 0x80000040 _0801F8A0: .4byte 0x00004E20 _0801F8A4: .4byte 0x000002B6 _0801F8A8: - adds r0, r2, #0 - bl sub_C24 - adds r1, r0, #0 - mov r0, sb - ldr r4, [r0] - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - ldr r1, _0801F910 @ =0x00004E20 - bl __divsi3 - adds r0, #0x1e - ldr r1, _0801F914 @ =0x000002B6 - adds r4, r4, r1 - strh r0, [r4] + adds r0, r2, #0 + bl sub_C24 + adds r1, r0, #0 + mov r0, sb + ldr r4, [r0] + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + ldr r1, _0801F910 @ =0x00004E20 + bl __divsi3 + adds r0, #0x1e + ldr r1, _0801F914 @ =0x000002B6 + adds r4, r4, r1 + strh r0, [r4] _0801F8CC: - ldr r2, _0801F918 @ =0x020314E0 - ldr r1, [r2] - movs r3, #0xaf - lsls r3, r3, #2 - adds r1, r1, r3 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sb, r2 - cmp r0, #0x1b - bne _0801F934 - ldr r0, _0801F91C @ =0x0200B0C0 - ldr r1, _0801F920 @ =0x00000D08 - adds r0, r0, r1 - movs r1, #1 - strh r1, [r0] - movs r0, #0xc7 - bl m4aSongNumStart - mov r2, sb - ldr r0, [r2] - movs r3, #0xb9 - lsls r3, r3, #2 - adds r1, r0, r3 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - ble _0801F924 - adds r0, r2, #1 - strb r0, [r1] - b _0801F934 - .align 2, 0 + ldr r2, _0801F918 @ =0x020314E0 + ldr r1, [r2] + movs r3, #0xaf + lsls r3, r3, #2 + adds r1, r1, r3 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov sb, r2 + cmp r0, #0x1b + bne _0801F934 + ldr r0, _0801F91C @ =0x0200B0C0 + ldr r1, _0801F920 @ =0x00000D08 + adds r0, r0, r1 + movs r1, #1 + strh r1, [r0] + movs r0, #0xc7 + bl m4aSongNumStart + mov r2, sb + ldr r0, [r2] + movs r3, #0xb9 + lsls r3, r3, #2 + adds r1, r0, r3 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + ble _0801F924 + adds r0, r2, #1 + strb r0, [r1] + b _0801F934 + .align 2, 0 _0801F910: .4byte 0x00004E20 _0801F914: .4byte 0x000002B6 _0801F918: .4byte 0x020314E0 _0801F91C: .4byte 0x0200B0C0 _0801F920: .4byte 0x00000D08 _0801F924: - movs r0, #2 - strb r0, [r1] - mov r1, sb - ldr r0, [r1] - ldr r2, _0801F96C @ =0x000002EA - adds r0, r0, r2 - movs r1, #0xbe - strh r1, [r0] + movs r0, #2 + strb r0, [r1] + mov r1, sb + ldr r0, [r1] + ldr r2, _0801F96C @ =0x000002EA + adds r0, r0, r2 + movs r1, #0xbe + strh r1, [r0] _0801F934: - mov r3, sb - ldr r0, [r3] - movs r1, #0xaf - lsls r1, r1, #2 - adds r0, r0, r1 - ldrh r0, [r0] - cmp r0, #0x64 - bne _0801F9B6 - ldr r0, _0801F970 @ =0x0200B0C0 - ldr r2, _0801F974 @ =0x00000D08 - adds r0, r0, r2 - movs r1, #1 - strh r1, [r0] - movs r0, #0xc7 - bl m4aSongNumStart - mov r3, sb - ldr r0, [r3] - ldr r2, _0801F978 @ =0x000002E3 - adds r1, r0, r2 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - ble _0801F97C - adds r0, r2, #1 - strb r0, [r1] - b _0801F9B6 - .align 2, 0 + mov r3, sb + ldr r0, [r3] + movs r1, #0xaf + lsls r1, r1, #2 + adds r0, r0, r1 + ldrh r0, [r0] + cmp r0, #0x64 + bne _0801F9B6 + ldr r0, _0801F970 @ =0x0200B0C0 + ldr r2, _0801F974 @ =0x00000D08 + adds r0, r0, r2 + movs r1, #1 + strh r1, [r0] + movs r0, #0xc7 + bl m4aSongNumStart + mov r3, sb + ldr r0, [r3] + ldr r2, _0801F978 @ =0x000002E3 + adds r1, r0, r2 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + ble _0801F97C + adds r0, r2, #1 + strb r0, [r1] + b _0801F9B6 + .align 2, 0 _0801F96C: .4byte 0x000002EA _0801F970: .4byte 0x0200B0C0 _0801F974: .4byte 0x00000D08 _0801F978: .4byte 0x000002E3 _0801F97C: - movs r0, #2 - strb r0, [r1] - mov r3, sb - ldr r0, [r3] - movs r1, #0xba - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #0xbe - strh r1, [r0] - b _0801F9B6 + movs r0, #2 + strb r0, [r1] + mov r3, sb + ldr r0, [r3] + movs r1, #0xba + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #0xbe + strh r1, [r0] + b _0801F9B6 _0801F990: - movs r2, #0 - strh r2, [r1] - movs r1, #0xad - lsls r1, r1, #2 - adds r0, r3, r1 - strh r2, [r0] - ldr r0, _0801FA34 @ =0x000002B6 - adds r1, r3, r0 - movs r0, #0xbe - strh r0, [r1] - movs r0, #0xae - lsls r0, r0, #2 - adds r1, r3, r0 - movs r0, #0x64 - strh r0, [r1] - ldr r1, _0801FA38 @ =0x000002BA - adds r0, r3, r1 - strh r2, [r0] - strh r2, [r7] + movs r2, #0 + strh r2, [r1] + movs r1, #0xad + lsls r1, r1, #2 + adds r0, r3, r1 + strh r2, [r0] + ldr r0, _0801FA34 @ =0x000002B6 + adds r1, r3, r0 + movs r0, #0xbe + strh r0, [r1] + movs r0, #0xae + lsls r0, r0, #2 + adds r1, r3, r0 + movs r0, #0x64 + strh r0, [r1] + ldr r1, _0801FA38 @ =0x000002BA + adds r0, r3, r1 + strh r2, [r0] + strh r2, [r7] _0801F9B6: - mov r2, sb - ldr r4, [r2] - movs r3, #0xad - lsls r3, r3, #2 - adds r0, r4, r3 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #0x14 - bl __divsi3 - adds r0, #0x47 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r7, #2] - ldr r2, _0801FA34 @ =0x000002B6 - adds r0, r4, r2 - ldrh r0, [r0] - adds r0, #0xf8 - adds r4, #0x5a - ldrh r1, [r4] - subs r0, r0, r1 - strh r0, [r7, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xbe - ble _0801F9F2 - movs r0, #0xbe - strh r0, [r7, #4] + mov r2, sb + ldr r4, [r2] + movs r3, #0xad + lsls r3, r3, #2 + adds r0, r4, r3 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r1, #0x14 + bl __divsi3 + adds r0, #0x47 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r7, #2] + ldr r2, _0801FA34 @ =0x000002B6 + adds r0, r4, r2 + ldrh r0, [r0] + adds r0, #0xf8 + adds r4, #0x5a + ldrh r1, [r4] + subs r0, r0, r1 + strh r0, [r7, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xbe + ble _0801F9F2 + movs r0, #0xbe + strh r0, [r7, #4] _0801F9F2: - adds r5, r7, #0 - adds r5, #8 - ldr r4, _0801FA3C @ =0x03005000 - ldrh r2, [r7, #8] - lsls r2, r2, #3 - adds r2, r2, r4 - movs r3, #2 - ldrsh r1, [r5, r3] - movs r3, #2 - ldrsh r0, [r7, r3] - adds r1, r1, r0 - ldr r3, _0801FA40 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _0801FA44 @ =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 r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] + adds r5, r7, #0 + adds r5, #8 + ldr r4, _0801FA3C @ =0x03005000 + ldrh r2, [r7, #8] + lsls r2, r2, #3 + adds r2, r2, r4 + movs r3, #2 + ldrsh r1, [r5, r3] + movs r3, #2 + ldrsh r0, [r7, r3] + adds r1, r1, r0 + ldr r3, _0801FA40 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _0801FA44 @ =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 r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] _0801FA26: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0801FA34: .4byte 0x000002B6 _0801FA38: .4byte 0x000002BA _0801FA3C: .4byte 0x03005000 _0801FA40: .4byte 0x000001FF _0801FA44: .4byte 0xFFFFFE00 - thumb_func_start sub_1FA48 + thumb_func_start sub_1FA48 sub_1FA48: @ 0x0801FA48 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r7, _0801FAD0 @ =0x0200D9D0 - ldr r0, _0801FAD4 @ =0x020314E0 - ldr r6, [r0] - ldr r1, _0801FAD8 @ =0x000002B2 - mov sb, r1 - adds r1, r6, r1 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - mov sl, r0 - cmp r1, #0 - beq _0801FAF0 - ldr r5, _0801FADC @ =0x086ADA58 - movs r2, #0xac - lsls r2, r2, #2 - mov r8, r2 - adds r0, r6, r2 - ldrh r4, [r0] - adds r0, r4, #0 - movs r1, #5 - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0xf - adds r0, r0, r5 - ldrh r3, [r0] - cmp r4, #0x28 - bne _0801FABA - movs r1, #0xaf - lsls r1, r1, #2 - adds r0, r6, r1 - movs r1, #0 - strh r1, [r0] - movs r2, #0xad - lsls r2, r2, #2 - adds r0, r6, r2 - strh r1, [r0] - adds r2, #2 - adds r0, r6, r2 - strh r1, [r0] - movs r0, #0xae - lsls r0, r0, #2 - adds r2, r6, r0 - movs r0, #0x64 - strh r0, [r2] - ldr r2, _0801FAE0 @ =0x000002BA - adds r0, r6, r2 - strh r1, [r0] - ldr r0, _0801FAE4 @ =0xFFFFE340 - adds r1, r7, r0 - movs r0, #1 - strh r0, [r1] + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r7, _0801FAD0 @ =0x0200D9D0 + ldr r0, _0801FAD4 @ =0x020314E0 + ldr r6, [r0] + ldr r1, _0801FAD8 @ =0x000002B2 + mov sb, r1 + adds r1, r6, r1 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + mov sl, r0 + cmp r1, #0 + beq _0801FAF0 + ldr r5, _0801FADC @ =0x086ADA58 + movs r2, #0xac + lsls r2, r2, #2 + mov r8, r2 + adds r0, r6, r2 + ldrh r4, [r0] + adds r0, r4, #0 + movs r1, #5 + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0xf + adds r0, r0, r5 + ldrh r3, [r0] + cmp r4, #0x28 + bne _0801FABA + movs r1, #0xaf + lsls r1, r1, #2 + adds r0, r6, r1 + movs r1, #0 + strh r1, [r0] + movs r2, #0xad + lsls r2, r2, #2 + adds r0, r6, r2 + strh r1, [r0] + adds r2, #2 + adds r0, r6, r2 + strh r1, [r0] + movs r0, #0xae + lsls r0, r0, #2 + adds r2, r6, r0 + movs r0, #0x64 + strh r0, [r2] + ldr r2, _0801FAE0 @ =0x000002BA + adds r0, r6, r2 + strh r1, [r0] + ldr r0, _0801FAE4 @ =0xFFFFE340 + adds r1, r7, r0 + movs r0, #1 + strh r0, [r1] _0801FABA: - mov r2, sl - ldr r1, [r2] - mov r0, r8 - adds r2, r1, r0 - ldrh r0, [r2] - cmp r0, #0x35 - bhi _0801FAE8 - adds r0, #1 - strh r0, [r2] - b _0801FB12 - .align 2, 0 + mov r2, sl + ldr r1, [r2] + mov r0, r8 + adds r2, r1, r0 + ldrh r0, [r2] + cmp r0, #0x35 + bhi _0801FAE8 + adds r0, #1 + strh r0, [r2] + b _0801FB12 + .align 2, 0 _0801FAD0: .4byte 0x0200D9D0 _0801FAD4: .4byte 0x020314E0 _0801FAD8: .4byte 0x000002B2 @@ -62519,102 +62519,102 @@ _0801FADC: .4byte 0x086ADA58 _0801FAE0: .4byte 0x000002BA _0801FAE4: .4byte 0xFFFFE340 _0801FAE8: - add r1, sb - movs r0, #0 - strb r0, [r1] - b _0801FB12 + add r1, sb + movs r0, #0 + strb r0, [r1] + b _0801FB12 _0801FAF0: - ldr r1, _0801FBA4 @ =0xFFFFD6F0 - adds r0, r7, r1 - ldr r0, [r0, #0x4c] - movs r1, #0x32 - bl __umodsi3 - movs r1, #0x19 - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - movs r2, #0xde - lsls r2, r2, #1 - adds r0, r6, r2 - ldrh r0, [r0] - cmp r0, #1 - bne _0801FB2E + ldr r1, _0801FBA4 @ =0xFFFFD6F0 + adds r0, r7, r1 + ldr r0, [r0, #0x4c] + movs r1, #0x32 + bl __umodsi3 + movs r1, #0x19 + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + movs r2, #0xde + lsls r2, r2, #1 + adds r0, r6, r2 + ldrh r0, [r0] + cmp r0, #1 + bne _0801FB2E _0801FB12: - ldr r2, _0801FBA8 @ =0x040000D4 - lsls r1, r3, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _0801FBAC @ =0x083C3C2C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0801FBB0 @ =0x06012720 - str r0, [r2, #4] - ldr r0, _0801FBB4 @ =0x80000180 - str r0, [r2, #8] - ldr r0, [r2, #8] + ldr r2, _0801FBA8 @ =0x040000D4 + lsls r1, r3, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _0801FBAC @ =0x083C3C2C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0801FBB0 @ =0x06012720 + str r0, [r2, #4] + ldr r0, _0801FBB4 @ =0x80000180 + str r0, [r2, #8] + ldr r0, [r2, #8] _0801FB2E: - mov r0, sl - ldr r1, [r0] - adds r0, r1, #0 - adds r0, #0x58 - ldrh r2, [r0] - movs r0, #0x37 - subs r0, r0, r2 - strh r0, [r7, #2] - adds r1, #0x5a - ldrh r1, [r1] - movs r0, #0xdd - subs r0, r0, r1 - strh r0, [r7, #4] - movs r0, #0 - ldr r6, _0801FBB8 @ =0x03005000 - ldr r1, _0801FBBC @ =0xFFFFFE00 - mov ip, r1 + mov r0, sl + ldr r1, [r0] + adds r0, r1, #0 + adds r0, #0x58 + ldrh r2, [r0] + movs r0, #0x37 + subs r0, r0, r2 + strh r0, [r7, #2] + adds r1, #0x5a + ldrh r1, [r1] + movs r0, #0xdd + subs r0, r0, r1 + strh r0, [r7, #4] + movs r0, #0 + ldr r6, _0801FBB8 @ =0x03005000 + ldr r1, _0801FBBC @ =0xFFFFFE00 + mov ip, r1 _0801FB50: - lsls r5, r0, #0x10 - asrs r5, r5, #0x10 - lsls r3, r5, #3 - adds r3, #8 - adds r3, r7, r3 - ldrh r4, [r3] - lsls r4, r4, #3 - adds r4, r4, r6 - movs r2, #2 - ldrsh r1, [r3, r2] - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - ldr r2, _0801FBC0 @ =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, r6 - ldrb r0, [r7, #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, #1 - ble _0801FB50 - 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 + lsls r5, r0, #0x10 + asrs r5, r5, #0x10 + lsls r3, r5, #3 + adds r3, #8 + adds r3, r7, r3 + ldrh r4, [r3] + lsls r4, r4, #3 + adds r4, r4, r6 + movs r2, #2 + ldrsh r1, [r3, r2] + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + ldr r2, _0801FBC0 @ =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, r6 + ldrb r0, [r7, #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, #1 + ble _0801FB50 + 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 _0801FBA4: .4byte 0xFFFFD6F0 _0801FBA8: .4byte 0x040000D4 _0801FBAC: .4byte 0x083C3C2C @@ -62624,98 +62624,98 @@ _0801FBB8: .4byte 0x03005000 _0801FBBC: .4byte 0xFFFFFE00 _0801FBC0: .4byte 0x000001FF - thumb_func_start sub_1FBC4 + thumb_func_start sub_1FBC4 sub_1FBC4: @ 0x0801FBC4 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r4, _0801FC74 @ =0x020314E0 - ldr r2, [r4] - ldr r5, _0801FC78 @ =0x000002C2 - adds r3, r2, r5 - movs r1, #0 - ldrsb r1, [r3, r1] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r1, _0801FC7C @ =0x086ADA6E - adds r7, r0, r1 - ldr r0, _0801FC80 @ =0x0200DCB0 - mov sb, r0 - adds r0, r2, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #9 - subs r0, r0, r1 - movs r1, #0 - mov r8, r1 - mov r6, sb - strh r0, [r6, #2] - adds r0, r2, #0 - adds r0, #0x5a - ldrh r1, [r0] - movs r6, #0x90 - lsls r6, r6, #1 - adds r0, r6, #0 - subs r0, r0, r1 - mov r1, sb - strh r0, [r1, #4] - ldr r6, _0801FC84 @ =0x000002BE - mov ip, r6 - adds r1, r2, r6 - ldr r6, _0801FC88 @ =0x000006BD - adds r0, r2, r6 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - ble _0801FCDC - ldr r0, _0801FC8C @ =0x000006BE - mov sl, r0 - adds r0, r2, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0801FC38 - b _0801FDFC + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r4, _0801FC74 @ =0x020314E0 + ldr r2, [r4] + ldr r5, _0801FC78 @ =0x000002C2 + adds r3, r2, r5 + movs r1, #0 + ldrsb r1, [r3, r1] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #1 + ldr r1, _0801FC7C @ =0x086ADA6E + adds r7, r0, r1 + ldr r0, _0801FC80 @ =0x0200DCB0 + mov sb, r0 + adds r0, r2, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #9 + subs r0, r0, r1 + movs r1, #0 + mov r8, r1 + mov r6, sb + strh r0, [r6, #2] + adds r0, r2, #0 + adds r0, #0x5a + ldrh r1, [r0] + movs r6, #0x90 + lsls r6, r6, #1 + adds r0, r6, #0 + subs r0, r0, r1 + mov r1, sb + strh r0, [r1, #4] + ldr r6, _0801FC84 @ =0x000002BE + mov ip, r6 + adds r1, r2, r6 + ldr r6, _0801FC88 @ =0x000006BD + adds r0, r2, r6 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + ble _0801FCDC + ldr r0, _0801FC8C @ =0x000006BE + mov sl, r0 + adds r0, r2, r0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0801FC38 + b _0801FDFC _0801FC38: - adds r6, #3 - adds r0, r2, r6 - ldrh r0, [r0] - cmp r0, #0 - bne _0801FC5A - movs r0, #0x3b - strb r0, [r3] - ldr r1, [r4] - movs r2, #0xb0 - lsls r2, r2, #2 - adds r0, r1, r2 - movs r3, #0 - strh r3, [r0] - adds r1, r1, r6 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] + adds r6, #3 + adds r0, r2, r6 + ldrh r0, [r0] + cmp r0, #0 + bne _0801FC5A + movs r0, #0x3b + strb r0, [r3] + ldr r1, [r4] + movs r2, #0xb0 + lsls r2, r2, #2 + adds r0, r1, r2 + movs r3, #0 + strh r3, [r0] + adds r1, r1, r6 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] _0801FC5A: - movs r1, #2 - ldrsh r0, [r7, r1] - ldr r1, [r4] - movs r3, #0xb0 - lsls r3, r3, #2 - adds r2, r1, r3 - ldrh r3, [r2] - cmp r0, r3 - ble _0801FC90 - adds r0, r3, #1 - strh r0, [r2] - b _0801FDFC - .align 2, 0 + movs r1, #2 + ldrsh r0, [r7, r1] + ldr r1, [r4] + movs r3, #0xb0 + lsls r3, r3, #2 + adds r2, r1, r3 + ldrh r3, [r2] + cmp r0, r3 + ble _0801FC90 + adds r0, r3, #1 + strh r0, [r2] + b _0801FDFC + .align 2, 0 _0801FC74: .4byte 0x020314E0 _0801FC78: .4byte 0x000002C2 _0801FC7C: .4byte 0x086ADA6E @@ -62724,320 +62724,320 @@ _0801FC84: .4byte 0x000002BE _0801FC88: .4byte 0x000006BD _0801FC8C: .4byte 0x000006BE _0801FC90: - movs r0, #1 - strh r0, [r2] - adds r1, r1, r5 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, [r4] - adds r1, r0, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x54 - bne _0801FCC2 - mov r0, r8 - strb r0, [r1] - ldr r0, [r4] - add r0, sl - mov r1, r8 - strb r1, [r0] - ldr r0, [r4] - adds r1, r0, r6 - movs r2, #0 - strh r2, [r1] - add r0, ip - mov r3, r8 - strb r3, [r0] + movs r0, #1 + strh r0, [r2] + adds r1, r1, r5 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r0, [r4] + adds r1, r0, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x54 + bne _0801FCC2 + mov r0, r8 + strb r0, [r1] + ldr r0, [r4] + add r0, sl + mov r1, r8 + strb r1, [r0] + ldr r0, [r4] + adds r1, r0, r6 + movs r2, #0 + strh r2, [r1] + add r0, ip + mov r3, r8 + strb r3, [r0] _0801FCC2: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x3c - beq _0801FD8E - cmp r0, #0x45 - beq _0801FD8E - cmp r0, #0x4e - beq _0801FCDA - b _0801FDFC + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x3c + beq _0801FD8E + cmp r0, #0x45 + beq _0801FD8E + cmp r0, #0x4e + beq _0801FCDA + b _0801FDFC _0801FCDA: - b _0801FD8E + b _0801FD8E _0801FCDC: - cmp r1, r0 - bge _0801FD96 - movs r1, #2 - ldrsh r0, [r7, r1] - mov r8, r0 - movs r0, #0xb0 - lsls r0, r0, #2 - adds r1, r2, r0 - ldrh r2, [r1] - cmp r8, r2 - bgt _0801FDAC - movs r0, #1 - strh r0, [r1] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r1, [r4] - adds r0, r1, r6 - movs r2, #0 - ldrsb r2, [r0, r2] - cmp r2, #1 - bne _0801FD32 - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #9 - bne _0801FD22 - add r1, ip - movs r0, #1 - strb r0, [r1] - ldr r0, [r4] - adds r0, r0, r5 - movs r1, #0x54 - strb r1, [r0] + cmp r1, r0 + bge _0801FD96 + movs r1, #2 + ldrsh r0, [r7, r1] + mov r8, r0 + movs r0, #0xb0 + lsls r0, r0, #2 + adds r1, r2, r0 + ldrh r2, [r1] + cmp r8, r2 + bgt _0801FDAC + movs r0, #1 + strh r0, [r1] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r1, [r4] + adds r0, r1, r6 + movs r2, #0 + ldrsb r2, [r0, r2] + cmp r2, #1 + bne _0801FD32 + adds r0, r1, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #9 + bne _0801FD22 + add r1, ip + movs r0, #1 + strb r0, [r1] + ldr r0, [r4] + adds r0, r0, r5 + movs r1, #0x54 + strb r1, [r0] _0801FD22: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #6 - bne _0801FDFC - b _0801FD8E + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #6 + bne _0801FDFC + b _0801FD8E _0801FD32: - cmp r2, #2 - bne _0801FD60 - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x17 - bne _0801FD50 - mov r3, ip - adds r0, r1, r3 - strb r2, [r0] - ldr r0, [r4] - adds r0, r0, r5 - movs r1, #0x5f - strb r1, [r0] + cmp r2, #2 + bne _0801FD60 + adds r0, r1, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x17 + bne _0801FD50 + mov r3, ip + adds r0, r1, r3 + strb r2, [r0] + ldr r0, [r4] + adds r0, r0, r5 + movs r1, #0x5f + strb r1, [r0] _0801FD50: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x14 - bne _0801FDFC - b _0801FD8E + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x14 + bne _0801FDFC + b _0801FD8E _0801FD60: - cmp r2, #3 - bne _0801FDFC - adds r0, r1, r5 - movs r3, #0 - ldrsb r3, [r0, r3] - cmp r3, #0x23 - bne _0801FD80 - mov r6, ip - adds r0, r1, r6 - strb r2, [r0] - ldr r0, [r4] - adds r0, r0, r5 - strb r3, [r0] - movs r0, #7 - bl sub_19B64 + cmp r2, #3 + bne _0801FDFC + adds r0, r1, r5 + movs r3, #0 + ldrsb r3, [r0, r3] + cmp r3, #0x23 + bne _0801FD80 + mov r6, ip + adds r0, r1, r6 + strb r2, [r0] + ldr r0, [r4] + adds r0, r0, r5 + strb r3, [r0] + movs r0, #7 + bl sub_19B64 _0801FD80: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x20 - bne _0801FDFC + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x20 + bne _0801FDFC _0801FD8E: - movs r0, #0xd2 - bl m4aSongNumStart - b _0801FDFC + movs r0, #0xd2 + bl m4aSongNumStart + b _0801FDFC _0801FD96: - cmp r0, #0 - beq _0801FDFC - movs r1, #2 - ldrsh r0, [r7, r1] - mov r8, r0 - movs r0, #0xb0 - lsls r0, r0, #2 - adds r1, r2, r0 - ldrh r2, [r1] - cmp r8, r2 - ble _0801FDB2 + cmp r0, #0 + beq _0801FDFC + movs r1, #2 + ldrsh r0, [r7, r1] + mov r8, r0 + movs r0, #0xb0 + lsls r0, r0, #2 + adds r1, r2, r0 + ldrh r2, [r1] + cmp r8, r2 + ble _0801FDB2 _0801FDAC: - adds r0, r2, #1 - strh r0, [r1] - b _0801FDFC + adds r0, r2, #1 + strh r0, [r1] + b _0801FDFC _0801FDB2: - movs r0, #1 - strh r0, [r1] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r1, [r4] - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _0801FDD8 - adds r1, r1, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x5f - bne _0801FDFC - movs r0, #0x54 - b _0801FDFA + movs r0, #1 + strh r0, [r1] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r1, [r4] + adds r0, r1, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _0801FDD8 + adds r1, r1, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x5f + bne _0801FDFC + movs r0, #0x54 + b _0801FDFA _0801FDD8: - cmp r0, #2 - bne _0801FDEA - adds r1, r1, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x6d - bne _0801FDFC - movs r0, #0x5f - b _0801FDFA + cmp r0, #2 + bne _0801FDEA + adds r1, r1, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x6d + bne _0801FDFC + movs r0, #0x5f + b _0801FDFA _0801FDEA: - cmp r0, #3 - bne _0801FDFC - adds r1, r1, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x3c - bne _0801FDFC - movs r0, #0x23 + cmp r0, #3 + bne _0801FDFC + adds r1, r1, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x3c + bne _0801FDFC + movs r0, #0x23 _0801FDFA: - strb r0, [r1] + strb r0, [r1] _0801FDFC: - ldrh r5, [r7] - ldr r2, _0801FEE4 @ =0x040000D4 - movs r3, #4 - ldrsh r1, [r7, r3] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r4, _0801FEE8 @ =0x08447A8C - adds r0, r0, r4 - str r0, [r2] - ldr r0, _0801FEEC @ =0x06013B80 - str r0, [r2, #4] - ldr r3, _0801FEF0 @ =0x800000C0 - str r3, [r2, #8] - ldr r0, [r2, #8] - movs r6, #6 - ldrsh r1, [r7, r6] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #7 - adds r0, r0, r4 - str r0, [r2] - ldr r0, _0801FEF4 @ =0x06013A00 - str r0, [r2, #4] - str r3, [r2, #8] - ldr r0, [r2, #8] - movs r0, #8 - ldrsh r1, [r7, r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #7 - adds r0, r0, r4 - str r0, [r2] - ldr r0, _0801FEF8 @ =0x06013880 - str r0, [r2, #4] - str r3, [r2, #8] - ldr r0, [r2, #8] - movs r1, #0 - ldr r2, _0801FEFC @ =0x03005000 - mov ip, r2 - ldr r3, _0801FF00 @ =0x086B2FC0 - mov sl, r3 - lsls r5, r5, #0x10 - asrs r5, r5, #0x10 - lsls r0, r5, #3 - adds r0, r0, r5 - lsls r6, r0, #2 - ldr r5, _0801FF04 @ =0xFFFFFE00 - mov r8, r5 + ldrh r5, [r7] + ldr r2, _0801FEE4 @ =0x040000D4 + movs r3, #4 + ldrsh r1, [r7, r3] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r4, _0801FEE8 @ =0x08447A8C + adds r0, r0, r4 + str r0, [r2] + ldr r0, _0801FEEC @ =0x06013B80 + str r0, [r2, #4] + ldr r3, _0801FEF0 @ =0x800000C0 + str r3, [r2, #8] + ldr r0, [r2, #8] + movs r6, #6 + ldrsh r1, [r7, r6] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #7 + adds r0, r0, r4 + str r0, [r2] + ldr r0, _0801FEF4 @ =0x06013A00 + str r0, [r2, #4] + str r3, [r2, #8] + ldr r0, [r2, #8] + movs r0, #8 + ldrsh r1, [r7, r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #7 + adds r0, r0, r4 + str r0, [r2] + ldr r0, _0801FEF8 @ =0x06013880 + str r0, [r2, #4] + str r3, [r2, #8] + ldr r0, [r2, #8] + movs r1, #0 + ldr r2, _0801FEFC @ =0x03005000 + mov ip, r2 + ldr r3, _0801FF00 @ =0x086B2FC0 + mov sl, r3 + lsls r5, r5, #0x10 + asrs r5, r5, #0x10 + lsls r0, r5, #3 + adds r0, r0, r5 + lsls r6, r0, #2 + ldr r5, _0801FF04 @ =0xFFFFFE00 + mov r8, r5 _0801FE5E: - lsls r3, r1, #0x10 - asrs r3, r3, #0x10 - lsls r4, r3, #3 - adds r4, #8 - add r4, sb - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, ip - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - adds r0, r0, r6 - add r0, sl - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - adds r0, r0, r6 - add r0, sl - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - adds r1, r1, r6 - add r1, sl - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, ip - ldrh r7, [r2, #2] - lsls r1, r7, #0x17 - lsrs r1, r1, #0x17 - mov r5, sb - movs r7, #2 - ldrsh r0, [r5, r7] - adds r1, r1, r0 - ldr r5, _0801FF08 @ =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 - add r1, ip - mov r2, sb - ldrb r0, [r2, #4] - ldrb r5, [r1] - adds r0, r0, r5 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r1, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #5 - ble _0801FE5E - 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 + lsls r3, r1, #0x10 + asrs r3, r3, #0x10 + lsls r4, r3, #3 + adds r4, #8 + add r4, sb + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, ip + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + adds r0, r0, r6 + add r0, sl + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + adds r0, r0, r6 + add r0, sl + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + adds r1, r1, r6 + add r1, sl + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, ip + ldrh r7, [r2, #2] + lsls r1, r7, #0x17 + lsrs r1, r1, #0x17 + mov r5, sb + movs r7, #2 + ldrsh r0, [r5, r7] + adds r1, r1, r0 + ldr r5, _0801FF08 @ =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 + add r1, ip + mov r2, sb + ldrb r0, [r2, #4] + ldrb r5, [r1] + adds r0, r0, r5 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r1, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #5 + ble _0801FE5E + 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 _0801FEE4: .4byte 0x040000D4 _0801FEE8: .4byte 0x08447A8C _0801FEEC: .4byte 0x06013B80 @@ -63049,342 +63049,342 @@ _0801FF00: .4byte 0x086B2FC0 _0801FF04: .4byte 0xFFFFFE00 _0801FF08: .4byte 0x000001FF - thumb_func_start sub_1FF0C + thumb_func_start sub_1FF0C sub_1FF0C: @ 0x0801FF0C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - movs r1, #0 - ldr r6, _0801FF70 @ =0x020314E0 - mov sb, r6 - ldr r0, _0801FF74 @ =0x000002E3 - mov sl, r0 - movs r2, #0xba - lsls r2, r2, #2 - mov r8, r2 - movs r3, #0xbb - lsls r3, r3, #2 - mov ip, r3 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + movs r1, #0 + ldr r6, _0801FF70 @ =0x020314E0 + mov sb, r6 + ldr r0, _0801FF74 @ =0x000002E3 + mov sl, r0 + movs r2, #0xba + lsls r2, r2, #2 + mov r8, r2 + movs r3, #0xbb + lsls r3, r3, #2 + mov ip, r3 _0801FF2E: - mov r4, sb - ldr r3, [r4] - lsls r0, r1, #0x10 - asrs r5, r0, #0x10 - mov r7, sl - adds r1, r3, r7 - adds r1, r1, r5 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - str r0, [sp] - cmp r1, #0 - ble _08020012 - ldr r1, _0801FF78 @ =0x000002E5 - adds r0, r3, r1 - adds r4, r0, r5 - movs r1, #0 - ldrsb r1, [r4, r1] - lsls r1, r1, #2 - ldr r2, _0801FF7C @ =0x086ADEB2 - adds r1, r1, r2 - lsls r2, r5, #1 - mov r7, r8 - adds r0, r3, r7 - adds r2, r0, r2 - ldrh r3, [r2] - ldrh r0, [r1] - cmp r0, r3 - bls _0801FF80 - adds r0, r3, #1 - strh r0, [r2] - b _0801FFAE - .align 2, 0 + mov r4, sb + ldr r3, [r4] + lsls r0, r1, #0x10 + asrs r5, r0, #0x10 + mov r7, sl + adds r1, r3, r7 + adds r1, r1, r5 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + str r0, [sp] + cmp r1, #0 + ble _08020012 + ldr r1, _0801FF78 @ =0x000002E5 + adds r0, r3, r1 + adds r4, r0, r5 + movs r1, #0 + ldrsb r1, [r4, r1] + lsls r1, r1, #2 + ldr r2, _0801FF7C @ =0x086ADEB2 + adds r1, r1, r2 + lsls r2, r5, #1 + mov r7, r8 + adds r0, r3, r7 + adds r2, r0, r2 + ldrh r3, [r2] + ldrh r0, [r1] + cmp r0, r3 + bls _0801FF80 + adds r0, r3, #1 + strh r0, [r2] + b _0801FFAE + .align 2, 0 _0801FF70: .4byte 0x020314E0 _0801FF74: .4byte 0x000002E3 _0801FF78: .4byte 0x000002E5 _0801FF7C: .4byte 0x086ADEB2 _0801FF80: - movs r3, #0 - movs r0, #0 - strh r0, [r2] - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - mov r1, sb - ldr r0, [r1] - ldr r2, _08020070 @ =0x000002E5 - adds r0, r0, r2 - adds r1, r0, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xb - ble _0801FFAE - strb r3, [r1] - mov r3, sb - ldr r1, [r3] - add r1, sl - adds r1, r1, r5 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] + movs r3, #0 + movs r0, #0 + strh r0, [r2] + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] + mov r1, sb + ldr r0, [r1] + ldr r2, _08020070 @ =0x000002E5 + adds r0, r0, r2 + adds r1, r0, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0xb + ble _0801FFAE + strb r3, [r1] + mov r3, sb + ldr r1, [r3] + add r1, sl + adds r1, r1, r5 + ldrb r0, [r1] + subs r0, #1 + strb r0, [r1] _0801FFAE: - ldr r3, [r6] - ldr r7, [sp] - asrs r4, r7, #0x10 - ldr r5, _08020070 @ =0x000002E5 - adds r0, r3, r5 - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _0801FFD8 - lsls r2, r4, #1 - mov r0, ip - adds r1, r3, r0 - adds r1, r1, r2 - mov r7, r8 - adds r0, r3, r7 - adds r0, r0, r2 - ldrh r0, [r0] - lsrs r0, r0, #1 - strh r0, [r1] + ldr r3, [r6] + ldr r7, [sp] + asrs r4, r7, #0x10 + ldr r5, _08020070 @ =0x000002E5 + adds r0, r3, r5 + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _0801FFD8 + lsls r2, r4, #1 + mov r0, ip + adds r1, r3, r0 + adds r1, r1, r2 + mov r7, r8 + adds r0, r3, r7 + adds r0, r0, r2 + ldrh r0, [r0] + lsrs r0, r0, #1 + strh r0, [r1] _0801FFD8: - ldr r1, [r6] - adds r0, r1, r5 - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r3, r4, #1 - cmp r0, #0xb - bne _08020000 - mov r0, ip - adds r2, r1, r0 - adds r2, r2, r3 - mov r4, r8 - adds r0, r1, r4 - adds r0, r0, r3 - ldrh r1, [r0] - lsrs r1, r1, #1 - movs r0, #0xe - subs r0, r0, r1 - strh r0, [r2] + ldr r1, [r6] + adds r0, r1, r5 + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r3, r4, #1 + cmp r0, #0xb + bne _08020000 + mov r0, ip + adds r2, r1, r0 + adds r2, r2, r3 + mov r4, r8 + adds r0, r1, r4 + adds r0, r0, r3 + ldrh r1, [r0] + lsrs r1, r1, #1 + movs r0, #0xe + subs r0, r0, r1 + strh r0, [r2] _08020000: - ldr r0, [r6] - add r0, ip - adds r2, r0, r3 - movs r7, #0 - ldrsh r0, [r2, r7] - cmp r0, #2 - bgt _08020012 - movs r0, #3 - strh r0, [r2] + ldr r0, [r6] + add r0, ip + adds r2, r0, r3 + movs r7, #0 + ldrsh r0, [r2, r7] + cmp r0, #2 + bgt _08020012 + movs r0, #3 + strh r0, [r2] _08020012: - ldr r1, [sp] - movs r2, #0x80 - lsls r2, r2, #9 - adds r0, r1, r2 - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - ble _0801FF2E - ldr r1, [r6] - ldr r3, _08020074 @ =0x000002E2 - adds r0, r1, r3 - movs r3, #0 - ldrsb r3, [r0, r3] - cmp r3, #0 - bne _08020032 - b _0802018E + ldr r1, [sp] + movs r2, #0x80 + lsls r2, r2, #9 + adds r0, r1, r2 + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + ble _0801FF2E + ldr r1, [r6] + ldr r3, _08020074 @ =0x000002E2 + adds r0, r1, r3 + movs r3, #0 + ldrsb r3, [r0, r3] + cmp r3, #0 + bne _08020032 + b _0802018E _08020032: - cmp r3, #1 - bne _08020120 - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #7 - bne _08020040 - b _08020136 + cmp r3, #1 + bne _08020120 + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #7 + bne _08020040 + b _08020136 _08020040: - cmp r0, #2 - bgt _080200C4 - ldr r4, _08020078 @ =0x000006BD - adds r1, r1, r4 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #2 - bgt _08020136 - adds r0, r2, #1 - movs r2, #0 - strb r0, [r1] - ldr r1, [r6] - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08020080 - ldr r7, _0802007C @ =0x000002C2 - adds r0, r1, r7 - strb r2, [r0] - b _08020110 - .align 2, 0 + cmp r0, #2 + bgt _080200C4 + ldr r4, _08020078 @ =0x000006BD + adds r1, r1, r4 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #2 + bgt _08020136 + adds r0, r2, #1 + movs r2, #0 + strb r0, [r1] + ldr r1, [r6] + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08020080 + ldr r7, _0802007C @ =0x000002C2 + adds r0, r1, r7 + strb r2, [r0] + b _08020110 + .align 2, 0 _08020070: .4byte 0x000002E5 _08020074: .4byte 0x000002E2 _08020078: .4byte 0x000006BD _0802007C: .4byte 0x000002C2 _08020080: - cmp r0, #2 - bne _0802009C - ldr r3, _08020098 @ =0x000002C2 - adds r1, r1, r3 - movs r0, #0xc - strb r0, [r1] - ldr r0, [r6] - movs r4, #0xb0 - lsls r4, r4, #2 - adds r0, r0, r4 - strh r2, [r0] - b _08020136 - .align 2, 0 + cmp r0, #2 + bne _0802009C + ldr r3, _08020098 @ =0x000002C2 + adds r1, r1, r3 + movs r0, #0xc + strb r0, [r1] + ldr r0, [r6] + movs r4, #0xb0 + lsls r4, r4, #2 + adds r0, r0, r4 + strh r2, [r0] + b _08020136 + .align 2, 0 _08020098: .4byte 0x000002C2 _0802009C: - cmp r0, #3 - bne _08020136 - ldr r7, _080200BC @ =0x000002C2 - adds r1, r1, r7 - movs r0, #0x18 - strb r0, [r1] - ldr r0, [r6] - movs r4, #0xb0 - lsls r4, r4, #2 - adds r1, r0, r4 - strh r2, [r1] - ldr r7, _080200C0 @ =0x000006C2 - adds r0, r0, r7 - strh r3, [r0] - b _08020136 - .align 2, 0 + cmp r0, #3 + bne _08020136 + ldr r7, _080200BC @ =0x000002C2 + adds r1, r1, r7 + movs r0, #0x18 + strb r0, [r1] + ldr r0, [r6] + movs r4, #0xb0 + lsls r4, r4, #2 + adds r1, r0, r4 + strh r2, [r1] + ldr r7, _080200C0 @ =0x000006C2 + adds r0, r0, r7 + strh r3, [r0] + b _08020136 + .align 2, 0 _080200BC: .4byte 0x000002C2 _080200C0: .4byte 0x000006C2 _080200C4: - ldr r0, _080200FC @ =0x000006BD - adds r1, r1, r0 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #1 - bgt _08020136 - adds r0, r2, #1 - movs r2, #0 - strb r0, [r1] - ldr r1, [r6] - ldr r3, _080200FC @ =0x000006BD - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08020104 - ldr r4, _08020100 @ =0x000002C2 - adds r0, r1, r4 - strb r2, [r0] - ldr r0, [r6] - movs r7, #0xb0 - lsls r7, r7, #2 - adds r0, r0, r7 - strh r2, [r0] - b _08020136 - .align 2, 0 + ldr r0, _080200FC @ =0x000006BD + adds r1, r1, r0 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #1 + bgt _08020136 + adds r0, r2, #1 + movs r2, #0 + strb r0, [r1] + ldr r1, [r6] + ldr r3, _080200FC @ =0x000006BD + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08020104 + ldr r4, _08020100 @ =0x000002C2 + adds r0, r1, r4 + strb r2, [r0] + ldr r0, [r6] + movs r7, #0xb0 + lsls r7, r7, #2 + adds r0, r0, r7 + strh r2, [r0] + b _08020136 + .align 2, 0 _080200FC: .4byte 0x000006BD _08020100: .4byte 0x000002C2 _08020104: - cmp r0, #2 - bne _08020136 - ldr r0, _0802011C @ =0x000002C2 - adds r1, r1, r0 - movs r0, #0xc - strb r0, [r1] + cmp r0, #2 + bne _08020136 + ldr r0, _0802011C @ =0x000002C2 + adds r1, r1, r0 + movs r0, #0xc + strb r0, [r1] _08020110: - ldr r0, [r6] - movs r1, #0xb0 - lsls r1, r1, #2 - adds r0, r0, r1 - strh r2, [r0] - b _08020136 - .align 2, 0 + ldr r0, [r6] + movs r1, #0xb0 + lsls r1, r1, #2 + adds r0, r0, r1 + strh r2, [r0] + b _08020136 + .align 2, 0 _0802011C: .4byte 0x000002C2 _08020120: - movs r2, #0xc0 - lsls r2, r2, #2 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bne _08020132 - movs r0, #1 - b _08020134 + movs r2, #0xc0 + lsls r2, r2, #2 + adds r1, r1, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + bne _08020132 + movs r0, #1 + b _08020134 _08020132: - movs r0, #0 + movs r0, #0 _08020134: - strb r0, [r1] + strb r0, [r1] _08020136: - ldr r0, [r6] - ldr r3, _080201A0 @ =0x000002E3 - adds r0, r0, r3 - movs r4, #0 - strb r4, [r0] - ldr r0, [r6] - movs r7, #0xb9 - lsls r7, r7, #2 - adds r0, r0, r7 - strb r4, [r0] - ldr r0, [r6] - ldr r1, _080201A4 @ =0x000002E2 - adds r0, r0, r1 - strb r4, [r0] - movs r0, #7 - bl sub_11B0 - movs r0, #0xb7 - bl m4aSongNumStart - ldr r0, [r6] - ldr r1, _080201A8 @ =0x00000BB8 - str r1, [r0, #0x3c] - ldr r2, _080201AC @ =0x000002E5 - adds r0, r0, r2 - strb r4, [r0] - ldr r0, [r6] - ldr r3, _080201B0 @ =0x000002E6 - adds r0, r0, r3 - strb r4, [r0] - ldr r1, [r6] - adds r7, #4 - adds r0, r1, r7 - strh r4, [r0] - adds r2, #5 - adds r0, r1, r2 - strh r4, [r0] - adds r3, #6 - adds r0, r1, r3 - movs r2, #3 - strh r2, [r0] - ldr r4, _080201B4 @ =0x000002EE - adds r1, r1, r4 - strh r2, [r1] + ldr r0, [r6] + ldr r3, _080201A0 @ =0x000002E3 + adds r0, r0, r3 + movs r4, #0 + strb r4, [r0] + ldr r0, [r6] + movs r7, #0xb9 + lsls r7, r7, #2 + adds r0, r0, r7 + strb r4, [r0] + ldr r0, [r6] + ldr r1, _080201A4 @ =0x000002E2 + adds r0, r0, r1 + strb r4, [r0] + movs r0, #7 + bl sub_11B0 + movs r0, #0xb7 + bl m4aSongNumStart + ldr r0, [r6] + ldr r1, _080201A8 @ =0x00000BB8 + str r1, [r0, #0x3c] + ldr r2, _080201AC @ =0x000002E5 + adds r0, r0, r2 + strb r4, [r0] + ldr r0, [r6] + ldr r3, _080201B0 @ =0x000002E6 + adds r0, r0, r3 + strb r4, [r0] + ldr r1, [r6] + adds r7, #4 + adds r0, r1, r7 + strh r4, [r0] + adds r2, #5 + adds r0, r1, r2 + strh r4, [r0] + adds r3, #6 + adds r0, r1, r3 + movs r2, #3 + strh r2, [r0] + ldr r4, _080201B4 @ =0x000002EE + adds r1, r1, r4 + strh r2, [r1] _0802018E: - 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 + 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 _080201A0: .4byte 0x000002E3 _080201A4: .4byte 0x000002E2 _080201A8: .4byte 0x00000BB8 @@ -63392,151 +63392,151 @@ _080201AC: .4byte 0x000002E5 _080201B0: .4byte 0x000002E6 _080201B4: .4byte 0x000002EE - thumb_func_start sub_201B8 + thumb_func_start sub_201B8 sub_201B8: @ 0x080201B8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - movs r1, #0 - ldr r0, _080202D0 @ =0x020314E0 - mov sl, r0 - ldr r2, _080202D4 @ =0x040000D4 - mov r8, r2 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + movs r1, #0 + ldr r0, _080202D0 @ =0x020314E0 + mov sl, r0 + ldr r2, _080202D4 @ =0x040000D4 + mov r8, r2 _080201CC: - mov r3, sl - ldr r0, [r3] - lsls r1, r1, #0x10 - asrs r3, r1, #0x10 - ldr r4, _080202D8 @ =0x000002E5 - adds r0, r0, r4 - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - ldr r5, _080202DC @ =0x086ADEB0 - adds r0, r0, r5 - movs r2, #0 - ldrsh r0, [r0, r2] - lsls r0, r0, #8 - ldr r4, _080202E0 @ =0x0847FD0C - adds r0, r0, r4 - mov r5, r8 - str r0, [r5] - lsls r0, r3, #8 - ldr r2, _080202E4 @ =0x06012A20 - adds r0, r0, r2 - str r0, [r5, #4] - ldr r0, _080202E8 @ =0x80000080 - str r0, [r5, #8] - ldr r0, [r5, #8] - movs r0, #0xb8 - muls r0, r3, r0 - ldr r4, _080202EC @ =0x0200DE20 - adds r6, r0, r4 - ldrh r0, [r6] - mov sb, r1 - cmp r0, #0 - beq _0802029A - lsls r1, r3, #4 - subs r1, r1, r3 - lsls r1, r1, #3 - adds r1, #0x30 - mov r5, sl - ldr r4, [r5] - adds r0, r4, #0 - adds r0, #0x58 - ldrh r0, [r0] - subs r1, r1, r0 - lsls r3, r3, #1 - movs r2, #1 - subs r2, r2, r3 - movs r5, #0xbb - lsls r5, r5, #2 - adds r0, r4, r5 - adds r0, r0, r3 - movs r3, #0 - ldrsh r0, [r0, r3] - subs r0, #0xe - muls r0, r2, r0 - adds r1, r1, r0 - strh r1, [r6, #2] - adds r0, r4, #0 - adds r0, #0x5a - ldrh r1, [r0] - ldr r4, _080202F0 @ =0x0000012D - adds r0, r4, #0 - subs r0, r0, r1 - strh r0, [r6, #4] - movs r0, #0 - ldr r7, _080202F4 @ =0x03005000 - ldr r5, _080202F8 @ =0xFFFFFE00 - mov ip, r5 + mov r3, sl + ldr r0, [r3] + lsls r1, r1, #0x10 + asrs r3, r1, #0x10 + ldr r4, _080202D8 @ =0x000002E5 + adds r0, r0, r4 + adds r0, r0, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + ldr r5, _080202DC @ =0x086ADEB0 + adds r0, r0, r5 + movs r2, #0 + ldrsh r0, [r0, r2] + lsls r0, r0, #8 + ldr r4, _080202E0 @ =0x0847FD0C + adds r0, r0, r4 + mov r5, r8 + str r0, [r5] + lsls r0, r3, #8 + ldr r2, _080202E4 @ =0x06012A20 + adds r0, r0, r2 + str r0, [r5, #4] + ldr r0, _080202E8 @ =0x80000080 + str r0, [r5, #8] + ldr r0, [r5, #8] + movs r0, #0xb8 + muls r0, r3, r0 + ldr r4, _080202EC @ =0x0200DE20 + adds r6, r0, r4 + ldrh r0, [r6] + mov sb, r1 + cmp r0, #0 + beq _0802029A + lsls r1, r3, #4 + subs r1, r1, r3 + lsls r1, r1, #3 + adds r1, #0x30 + mov r5, sl + ldr r4, [r5] + adds r0, r4, #0 + adds r0, #0x58 + ldrh r0, [r0] + subs r1, r1, r0 + lsls r3, r3, #1 + movs r2, #1 + subs r2, r2, r3 + movs r5, #0xbb + lsls r5, r5, #2 + adds r0, r4, r5 + adds r0, r0, r3 + movs r3, #0 + ldrsh r0, [r0, r3] + subs r0, #0xe + muls r0, r2, r0 + adds r1, r1, r0 + strh r1, [r6, #2] + adds r0, r4, #0 + adds r0, #0x5a + ldrh r1, [r0] + ldr r4, _080202F0 @ =0x0000012D + adds r0, r4, #0 + subs r0, r0, r1 + strh r0, [r6, #4] + movs r0, #0 + ldr r7, _080202F4 @ =0x03005000 + ldr r5, _080202F8 @ =0xFFFFFE00 + mov ip, r5 _08020256: - lsls r3, r0, #0x10 - asrs r3, r3, #0x10 - lsls r5, r3, #3 - adds r5, #8 - adds r5, r6, r5 - ldrh r2, [r5] - lsls r2, r2, #3 - adds r2, r2, r7 - movs r0, #2 - ldrsh r1, [r5, r0] - movs r4, #2 - ldrsh r0, [r6, r4] - adds r1, r1, r0 - ldr r4, _080202FC @ =0x000001FF - adds r0, r4, #0 - ands r1, r0 - ldrh r4, [r2, #2] - mov r0, ip - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #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 r3, #1 - lsls r3, r3, #0x10 - lsrs r0, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #2 - ble _08020256 + lsls r3, r0, #0x10 + asrs r3, r3, #0x10 + lsls r5, r3, #3 + adds r5, #8 + adds r5, r6, r5 + ldrh r2, [r5] + lsls r2, r2, #3 + adds r2, r2, r7 + movs r0, #2 + ldrsh r1, [r5, r0] + movs r4, #2 + ldrsh r0, [r6, r4] + adds r1, r1, r0 + ldr r4, _080202FC @ =0x000001FF + adds r0, r4, #0 + ands r1, r0 + ldrh r4, [r2, #2] + mov r0, ip + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #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 r3, #1 + lsls r3, r3, #0x10 + lsrs r0, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #2 + ble _08020256 _0802029A: - movs r0, #0x80 - lsls r0, r0, #9 - add r0, sb - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - ble _080201CC - mov r5, sl - ldr r2, [r5] - ldr r0, _08020300 @ =0x000006C2 - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, #0 - beq _08020398 - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08020398 - adds r2, #0xe4 - ldrb r0, [r2] - cmp r0, #0 - beq _08020304 - movs r0, #1 - strh r0, [r1] - b _08020308 - .align 2, 0 + movs r0, #0x80 + lsls r0, r0, #9 + add r0, sb + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + ble _080201CC + mov r5, sl + ldr r2, [r5] + ldr r0, _08020300 @ =0x000006C2 + adds r1, r2, r0 + ldrh r0, [r1] + cmp r0, #0 + beq _08020398 + subs r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08020398 + adds r2, #0xe4 + ldrb r0, [r2] + cmp r0, #0 + beq _08020304 + movs r0, #1 + strh r0, [r1] + b _08020308 + .align 2, 0 _080202D0: .4byte 0x020314E0 _080202D4: .4byte 0x040000D4 _080202D8: .4byte 0x000002E5 @@ -63551,90 +63551,90 @@ _080202F8: .4byte 0xFFFFFE00 _080202FC: .4byte 0x000001FF _08020300: .4byte 0x000006C2 _08020304: - movs r0, #4 - strb r0, [r2] + movs r0, #4 + strb r0, [r2] _08020308: - mov r1, sl - ldr r4, [r1] - ldr r2, _080203A8 @ =0x000006C2 - adds r0, r4, r2 - ldrh r5, [r0] - cmp r5, #0 - bne _08020398 - ldr r2, _080203AC @ =0x0200B0C0 - ldrb r1, [r2, #0xf] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #0xf] - adds r1, r4, #0 - adds r1, #0xea - movs r3, #0 - movs r0, #0x46 - strh r0, [r1] - adds r1, #2 - movs r0, #0xa0 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xe8 - strh r5, [r0] - subs r0, #2 - strh r5, [r0] - adds r0, #8 - strh r5, [r0] - adds r1, #6 - movs r0, #4 - strb r0, [r1] - mov r4, sl - ldr r0, [r4] - adds r0, #0xfa - movs r1, #1 - strb r1, [r0] - ldr r0, [r4] - adds r0, #0xfb - strb r3, [r0] - ldr r3, [r4] - adds r1, r3, #0 - adds r1, #0xf4 - movs r0, #0x78 - strh r0, [r1] - adds r0, r3, #0 - adds r0, #0xf6 - strh r5, [r0] - subs r1, #4 - movs r0, #0x32 - strh r0, [r1] - adds r0, r3, #0 - adds r0, #0xf8 - strh r5, [r0] - ldr r1, _080203B0 @ =0x040000D4 - ldr r0, _080203B4 @ =0x086ACEF8 - ldr r0, [r0, #0x10] - str r0, [r1] - ldr r0, _080203B8 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _080203BC @ =0x80001200 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _080203C0 @ =0x086ACF18 - ldr r0, [r0, #0x10] - str r0, [r1] - ldr r0, _080203C4 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _080203C8 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldrh r0, [r2, #0x38] - movs r0, #0xce - strh r0, [r2, #0x38] + mov r1, sl + ldr r4, [r1] + ldr r2, _080203A8 @ =0x000006C2 + adds r0, r4, r2 + ldrh r5, [r0] + cmp r5, #0 + bne _08020398 + ldr r2, _080203AC @ =0x0200B0C0 + ldrb r1, [r2, #0xf] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #0xf] + adds r1, r4, #0 + adds r1, #0xea + movs r3, #0 + movs r0, #0x46 + strh r0, [r1] + adds r1, #2 + movs r0, #0xa0 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xe8 + strh r5, [r0] + subs r0, #2 + strh r5, [r0] + adds r0, #8 + strh r5, [r0] + adds r1, #6 + movs r0, #4 + strb r0, [r1] + mov r4, sl + ldr r0, [r4] + adds r0, #0xfa + movs r1, #1 + strb r1, [r0] + ldr r0, [r4] + adds r0, #0xfb + strb r3, [r0] + ldr r3, [r4] + adds r1, r3, #0 + adds r1, #0xf4 + movs r0, #0x78 + strh r0, [r1] + adds r0, r3, #0 + adds r0, #0xf6 + strh r5, [r0] + subs r1, #4 + movs r0, #0x32 + strh r0, [r1] + adds r0, r3, #0 + adds r0, #0xf8 + strh r5, [r0] + ldr r1, _080203B0 @ =0x040000D4 + ldr r0, _080203B4 @ =0x086ACEF8 + ldr r0, [r0, #0x10] + str r0, [r1] + ldr r0, _080203B8 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _080203BC @ =0x80001200 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _080203C0 @ =0x086ACF18 + ldr r0, [r0, #0x10] + str r0, [r1] + ldr r0, _080203C4 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _080203C8 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldrh r0, [r2, #0x38] + movs r0, #0xce + strh r0, [r2, #0x38] _08020398: - 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 + 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 _080203A8: .4byte 0x000006C2 _080203AC: .4byte 0x0200B0C0 _080203B0: .4byte 0x040000D4 @@ -63645,290 +63645,290 @@ _080203C0: .4byte 0x086ACF18 _080203C4: .4byte 0x050003C0 _080203C8: .4byte 0x80000010 - thumb_func_start sub_203CC + thumb_func_start sub_203CC sub_203CC: @ 0x080203CC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - bl sub_20EC0 - ldr r6, _0802042C @ =0x020314E0 - ldr r5, [r6] - movs r1, #0xe3 - lsls r1, r1, #1 - adds r0, r5, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #0xa7 - ble _0802044C - ldr r4, _08020430 @ =0x086ADF48 - ldr r0, _08020434 @ =0x0200B0C0 - ldr r0, [r0, #0x50] - movs r1, #0xa0 - bl __umodsi3 - movs r1, #5 - bl __udivsi3 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r1, [r0] - ldr r3, _08020438 @ =0x00000744 - adds r0, r5, r3 - strb r1, [r0] - ldr r2, [r6] - movs r4, #0xf1 - lsls r4, r4, #1 - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08020440 - adds r0, r2, r3 - ldrb r0, [r0] - adds r0, #6 - ldr r5, _0802043C @ =0x00000745 - adds r1, r2, r5 - strb r0, [r1] - b _0802049C - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + bl sub_20EC0 + ldr r6, _0802042C @ =0x020314E0 + ldr r5, [r6] + movs r1, #0xe3 + lsls r1, r1, #1 + adds r0, r5, r1 + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r0, #0xa7 + ble _0802044C + ldr r4, _08020430 @ =0x086ADF48 + ldr r0, _08020434 @ =0x0200B0C0 + ldr r0, [r0, #0x50] + movs r1, #0xa0 + bl __umodsi3 + movs r1, #5 + bl __udivsi3 + lsls r0, r0, #1 + adds r0, r0, r4 + ldrh r1, [r0] + ldr r3, _08020438 @ =0x00000744 + adds r0, r5, r3 + strb r1, [r0] + ldr r2, [r6] + movs r4, #0xf1 + lsls r4, r4, #1 + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _08020440 + adds r0, r2, r3 + ldrb r0, [r0] + adds r0, #6 + ldr r5, _0802043C @ =0x00000745 + adds r1, r2, r5 + strb r0, [r1] + b _0802049C + .align 2, 0 _0802042C: .4byte 0x020314E0 _08020430: .4byte 0x086ADF48 _08020434: .4byte 0x0200B0C0 _08020438: .4byte 0x00000744 _0802043C: .4byte 0x00000745 _08020440: - ldr r7, _08020448 @ =0x00000744 - adds r0, r2, r7 - b _08020494 - .align 2, 0 + ldr r7, _08020448 @ =0x00000744 + adds r0, r2, r7 + b _08020494 + .align 2, 0 _08020448: .4byte 0x00000744 _0802044C: - ldr r0, _08020484 @ =0x0200B0C0 - ldr r0, [r0, #0x50] - movs r1, #0x32 - bl __umodsi3 - movs r1, #0x19 - bl __udivsi3 - ldr r4, _08020488 @ =0x00000744 - adds r1, r5, r4 - strb r0, [r1] - ldr r2, [r6] - movs r5, #0xf1 - lsls r5, r5, #1 - adds r0, r2, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08020490 - adds r0, r2, r4 - ldrb r0, [r0] - adds r0, #9 - ldr r7, _0802048C @ =0x00000745 - adds r1, r2, r7 - strb r0, [r1] - b _0802049C - .align 2, 0 + ldr r0, _08020484 @ =0x0200B0C0 + ldr r0, [r0, #0x50] + movs r1, #0x32 + bl __umodsi3 + movs r1, #0x19 + bl __udivsi3 + ldr r4, _08020488 @ =0x00000744 + adds r1, r5, r4 + strb r0, [r1] + ldr r2, [r6] + movs r5, #0xf1 + lsls r5, r5, #1 + adds r0, r2, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _08020490 + adds r0, r2, r4 + ldrb r0, [r0] + adds r0, #9 + ldr r7, _0802048C @ =0x00000745 + adds r1, r2, r7 + strb r0, [r1] + b _0802049C + .align 2, 0 _08020484: .4byte 0x0200B0C0 _08020488: .4byte 0x00000744 _0802048C: .4byte 0x00000745 _08020490: - ldr r1, _080204C8 @ =0x00000744 - adds r0, r2, r1 + ldr r1, _080204C8 @ =0x00000744 + adds r0, r2, r1 _08020494: - ldrb r1, [r0] - ldr r3, _080204CC @ =0x00000745 - adds r0, r2, r3 - strb r1, [r0] + ldrb r1, [r0] + ldr r3, _080204CC @ =0x00000745 + adds r0, r2, r3 + strb r1, [r0] _0802049C: - ldr r1, _080204D0 @ =0x020314E0 - ldr r5, [r1] - movs r4, #0xf1 - lsls r4, r4, #1 - adds r3, r5, r4 - movs r0, #0 - ldrsb r0, [r3, r0] - mov sl, r1 - cmp r0, #2 - bne _080204D8 - ldr r7, _080204D4 @ =0x000001E3 - adds r0, r5, r7 - movs r1, #1 - strb r1, [r0] - mov r2, sl - ldr r0, [r2] - movs r3, #0xf2 - lsls r3, r3, #1 - adds r0, r0, r3 - strb r1, [r0] - b _08020500 - .align 2, 0 + ldr r1, _080204D0 @ =0x020314E0 + ldr r5, [r1] + movs r4, #0xf1 + lsls r4, r4, #1 + adds r3, r5, r4 + movs r0, #0 + ldrsb r0, [r3, r0] + mov sl, r1 + cmp r0, #2 + bne _080204D8 + ldr r7, _080204D4 @ =0x000001E3 + adds r0, r5, r7 + movs r1, #1 + strb r1, [r0] + mov r2, sl + ldr r0, [r2] + movs r3, #0xf2 + lsls r3, r3, #1 + adds r0, r0, r3 + strb r1, [r0] + b _08020500 + .align 2, 0 _080204C8: .4byte 0x00000744 _080204CC: .4byte 0x00000745 _080204D0: .4byte 0x020314E0 _080204D4: .4byte 0x000001E3 _080204D8: - movs r1, #0 - ldrsb r1, [r3, r1] - ldr r3, _0802060C @ =0x000001E3 - adds r0, r5, r3 - adds r0, r0, r1 - movs r4, #0 - movs r2, #1 - strb r2, [r0] - mov r5, sl - ldr r0, [r5] - movs r7, #0xf1 - lsls r7, r7, #1 - adds r1, r0, r7 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - subs r2, r2, r1 - adds r0, r0, r3 - adds r0, r0, r2 - strb r4, [r0] + movs r1, #0 + ldrsb r1, [r3, r1] + ldr r3, _0802060C @ =0x000001E3 + adds r0, r5, r3 + adds r0, r0, r1 + movs r4, #0 + movs r2, #1 + strb r2, [r0] + mov r5, sl + ldr r0, [r5] + movs r7, #0xf1 + lsls r7, r7, #1 + adds r1, r0, r7 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + subs r2, r2, r1 + adds r0, r0, r3 + adds r0, r0, r2 + strb r4, [r0] _08020500: - mov r0, sl - ldr r1, [r0] - movs r3, #0xe2 - lsls r3, r3, #1 - adds r2, r1, r3 - ldrh r4, [r2] - cmp r4, #0 - bne _08020512 - b _0802073A + mov r0, sl + ldr r1, [r0] + movs r3, #0xe2 + lsls r3, r3, #1 + adds r2, r1, r3 + ldrh r4, [r2] + cmp r4, #0 + bne _08020512 + b _0802073A _08020512: - cmp r4, #0x78 - beq _08020518 - b _080206CC + cmp r4, #0x78 + beq _08020518 + b _080206CC _08020518: - movs r5, #0xe1 - lsls r5, r5, #1 - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, r1, r0 - movs r7, #0xf1 - lsls r7, r7, #1 - adds r0, r0, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08020538 - b _080206CC + movs r5, #0xe1 + lsls r5, r5, #1 + adds r0, r1, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, r1, r0 + movs r7, #0xf1 + lsls r7, r7, #1 + adds r0, r0, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08020538 + b _080206CC _08020538: - movs r6, #0xe3 - lsls r6, r6, #1 - adds r0, r1, r6 - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r0, #0xa7 - ble _08020630 - movs r5, #0 - movs r3, #1 - strb r3, [r1, #0x1f] - mov r7, sl - ldr r0, [r7] - ldr r1, _08020610 @ =0x0000061C - adds r0, r0, r1 - strb r3, [r0] - ldr r1, [r7] - movs r7, #0xef - lsls r7, r7, #1 - adds r2, r1, r7 - movs r0, #0 - mov r8, r0 - strh r4, [r2] - adds r7, #2 - adds r0, r1, r7 - strh r4, [r0] - ldrh r2, [r2] - ldr r4, _08020614 @ =0x0000061E - adds r0, r1, r4 - strh r2, [r0] - ldr r7, _08020618 @ =0x000005F7 - adds r1, r1, r7 - strb r3, [r1] - mov r1, sl - ldr r0, [r1] - movs r2, #0x82 - lsls r2, r2, #2 - adds r1, r0, r2 - strh r5, [r1] - ldr r3, _0802061C @ =0x0000020A - adds r0, r0, r3 - mov r4, r8 - strb r4, [r0] - mov r7, sl - ldr r2, [r7] - movs r1, #0xf1 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - beq _080205E4 - adds r0, r2, r6 - strh r5, [r0] - subs r3, #0x42 - adds r0, r2, r3 - strh r5, [r0] - movs r4, #0xe6 - lsls r4, r4, #1 - adds r0, r2, r4 - strh r5, [r0] - movs r7, #0xe5 - lsls r7, r7, #1 - adds r0, r2, r7 - strh r5, [r0] - subs r1, #0xe - adds r0, r2, r1 - strh r5, [r0] - adds r3, #0xe - adds r1, r2, r3 - ldr r0, _08020620 @ =0x0000FFFC - strh r0, [r1] - adds r4, #0xc - adds r0, r2, r4 - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r0] - adds r7, #0x10 - adds r0, r2, r7 - strh r1, [r0] - adds r1, #0xce - adds r0, r2, r1 - strh r5, [r0] - subs r3, #6 - adds r0, r2, r3 - strh r5, [r0] + movs r6, #0xe3 + lsls r6, r6, #1 + adds r0, r1, r6 + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r0, #0xa7 + ble _08020630 + movs r5, #0 + movs r3, #1 + strb r3, [r1, #0x1f] + mov r7, sl + ldr r0, [r7] + ldr r1, _08020610 @ =0x0000061C + adds r0, r0, r1 + strb r3, [r0] + ldr r1, [r7] + movs r7, #0xef + lsls r7, r7, #1 + adds r2, r1, r7 + movs r0, #0 + mov r8, r0 + strh r4, [r2] + adds r7, #2 + adds r0, r1, r7 + strh r4, [r0] + ldrh r2, [r2] + ldr r4, _08020614 @ =0x0000061E + adds r0, r1, r4 + strh r2, [r0] + ldr r7, _08020618 @ =0x000005F7 + adds r1, r1, r7 + strb r3, [r1] + mov r1, sl + ldr r0, [r1] + movs r2, #0x82 + lsls r2, r2, #2 + adds r1, r0, r2 + strh r5, [r1] + ldr r3, _0802061C @ =0x0000020A + adds r0, r0, r3 + mov r4, r8 + strb r4, [r0] + mov r7, sl + ldr r2, [r7] + movs r1, #0xf1 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + beq _080205E4 + adds r0, r2, r6 + strh r5, [r0] + subs r3, #0x42 + adds r0, r2, r3 + strh r5, [r0] + movs r4, #0xe6 + lsls r4, r4, #1 + adds r0, r2, r4 + strh r5, [r0] + movs r7, #0xe5 + lsls r7, r7, #1 + adds r0, r2, r7 + strh r5, [r0] + subs r1, #0xe + adds r0, r2, r1 + strh r5, [r0] + adds r3, #0xe + adds r1, r2, r3 + ldr r0, _08020620 @ =0x0000FFFC + strh r0, [r1] + adds r4, #0xc + adds r0, r2, r4 + movs r1, #0x80 + lsls r1, r1, #1 + strh r1, [r0] + adds r7, #0x10 + adds r0, r2, r7 + strh r1, [r0] + adds r1, #0xce + adds r0, r2, r1 + strh r5, [r0] + subs r3, #6 + adds r0, r2, r3 + strh r5, [r0] _080205E4: - mov r4, sl - ldr r1, [r4] - movs r5, #0xc4 - lsls r5, r5, #3 - adds r2, r1, r5 - ldr r7, _08020624 @ =0x0000132C - adds r0, r1, r7 - ldr r0, [r0] - ldr r0, [r0, #0x28] - str r0, [r2] - ldr r0, _08020628 @ =0x00007530 - str r0, [r1, #0x3c] - ldr r0, _0802062C @ =0x0000062E - adds r1, r1, r0 - ldrb r0, [r1] - cmp r0, #0x62 - bhi _0802063C - adds r0, #1 - strb r0, [r1] - b _0802063C - .align 2, 0 + mov r4, sl + ldr r1, [r4] + movs r5, #0xc4 + lsls r5, r5, #3 + adds r2, r1, r5 + ldr r7, _08020624 @ =0x0000132C + adds r0, r1, r7 + ldr r0, [r0] + ldr r0, [r0, #0x28] + str r0, [r2] + ldr r0, _08020628 @ =0x00007530 + str r0, [r1, #0x3c] + ldr r0, _0802062C @ =0x0000062E + adds r1, r1, r0 + ldrb r0, [r1] + cmp r0, #0x62 + bhi _0802063C + adds r0, #1 + strb r0, [r1] + b _0802063C + .align 2, 0 _0802060C: .4byte 0x000001E3 _08020610: .4byte 0x0000061C _08020614: .4byte 0x0000061E @@ -63939,353 +63939,353 @@ _08020624: .4byte 0x0000132C _08020628: .4byte 0x00007530 _0802062C: .4byte 0x0000062E _08020630: - movs r0, #0x3c - strh r0, [r2] - ldr r0, _0802067C @ =0x02032F20 - ldr r1, _08020680 @ =0x086A2FA0 - bl MPlayStart + movs r0, #0x3c + strh r0, [r2] + ldr r0, _0802067C @ =0x02032F20 + ldr r1, _08020680 @ =0x086A2FA0 + bl MPlayStart _0802063C: - ldr r0, _08020684 @ =0x020314E0 - ldr r5, [r0] - movs r2, #0xe1 - lsls r2, r2, #1 - adds r1, r5, r2 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - subs r1, #1 - lsls r1, r1, #0x10 - lsrs r2, r1, #0x10 - movs r3, #0xf1 - lsls r3, r3, #1 - adds r1, r5, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - mov sl, r0 - cmp r1, #2 - bne _0802068C - lsls r3, r2, #0x10 - asrs r1, r3, #0x10 - ldr r4, _08020688 @ =0x00000744 - adds r2, r5, r4 - adds r2, r2, r1 - lsls r0, r1, #3 - subs r0, r0, r1 - adds r0, #2 - strb r0, [r2] - mov r8, r3 - b _0802069C - .align 2, 0 + ldr r0, _08020684 @ =0x020314E0 + ldr r5, [r0] + movs r2, #0xe1 + lsls r2, r2, #1 + adds r1, r5, r2 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + subs r1, #1 + lsls r1, r1, #0x10 + lsrs r2, r1, #0x10 + movs r3, #0xf1 + lsls r3, r3, #1 + adds r1, r5, r3 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + mov sl, r0 + cmp r1, #2 + bne _0802068C + lsls r3, r2, #0x10 + asrs r1, r3, #0x10 + ldr r4, _08020688 @ =0x00000744 + adds r2, r5, r4 + adds r2, r2, r1 + lsls r0, r1, #3 + subs r0, r0, r1 + adds r0, #2 + strb r0, [r2] + mov r8, r3 + b _0802069C + .align 2, 0 _0802067C: .4byte 0x02032F20 _08020680: .4byte 0x086A2FA0 _08020684: .4byte 0x020314E0 _08020688: .4byte 0x00000744 _0802068C: - lsls r2, r2, #0x10 - asrs r1, r2, #0x10 - ldr r7, _08020700 @ =0x00000744 - adds r0, r5, r7 - adds r0, r0, r1 - movs r1, #2 - strb r1, [r0] - mov r8, r2 + lsls r2, r2, #0x10 + asrs r1, r2, #0x10 + ldr r7, _08020700 @ =0x00000744 + adds r0, r5, r7 + adds r0, r0, r1 + movs r1, #2 + strb r1, [r0] + mov r8, r2 _0802069C: - ldr r3, _08020704 @ =0x040000D4 - mov r1, sl - ldr r0, [r1] - mov r4, r8 - asrs r2, r4, #0x10 - ldr r5, _08020700 @ =0x00000744 - adds r0, r0, r5 - adds r0, r0, r2 - ldrb r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _08020708 @ =0x084C07EC - adds r0, r0, r1 - str r0, [r3] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #7 - ldr r7, _0802070C @ =0x06010480 - adds r0, r0, r7 - str r0, [r3, #4] - ldr r0, _08020710 @ =0x800000C0 - str r0, [r3, #8] - ldr r0, [r3, #8] + ldr r3, _08020704 @ =0x040000D4 + mov r1, sl + ldr r0, [r1] + mov r4, r8 + asrs r2, r4, #0x10 + ldr r5, _08020700 @ =0x00000744 + adds r0, r0, r5 + adds r0, r0, r2 + ldrb r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _08020708 @ =0x084C07EC + adds r0, r0, r1 + str r0, [r3] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #7 + ldr r7, _0802070C @ =0x06010480 + adds r0, r0, r7 + str r0, [r3, #4] + ldr r0, _08020710 @ =0x800000C0 + str r0, [r3, #8] + ldr r0, [r3, #8] _080206CC: - mov r0, sl - ldr r2, [r0] - movs r1, #0xf1 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08020714 - movs r3, #0xe1 - lsls r3, r3, #1 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #1 - ldr r4, _08020700 @ =0x00000744 - adds r2, r2, r4 - adds r2, r2, r0 - lsls r1, r0, #3 - subs r1, r1, r0 - adds r1, #2 - strb r1, [r2] - b _0802072A - .align 2, 0 + mov r0, sl + ldr r2, [r0] + movs r1, #0xf1 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _08020714 + movs r3, #0xe1 + lsls r3, r3, #1 + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r0, #1 + ldr r4, _08020700 @ =0x00000744 + adds r2, r2, r4 + adds r2, r2, r0 + lsls r1, r0, #3 + subs r1, r1, r0 + adds r1, #2 + strb r1, [r2] + b _0802072A + .align 2, 0 _08020700: .4byte 0x00000744 _08020704: .4byte 0x040000D4 _08020708: .4byte 0x084C07EC _0802070C: .4byte 0x06010480 _08020710: .4byte 0x800000C0 _08020714: - movs r5, #0xe1 - lsls r5, r5, #1 - adds r0, r2, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, r2, r0 - ldr r7, _080207B4 @ =0x00000743 - adds r0, r0, r7 - movs r1, #2 - strb r1, [r0] + movs r5, #0xe1 + lsls r5, r5, #1 + adds r0, r2, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, r2, r0 + ldr r7, _080207B4 @ =0x00000743 + adds r0, r0, r7 + movs r1, #2 + strb r1, [r0] _0802072A: - mov r0, sl - ldr r1, [r0] - movs r2, #0xe2 - lsls r2, r2, #1 - adds r1, r1, r2 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] + mov r0, sl + ldr r1, [r0] + movs r2, #0xe2 + lsls r2, r2, #1 + adds r1, r1, r2 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] _0802073A: - mov r3, sl - ldr r5, [r3] - ldr r4, _080207B8 @ =0x0000061C - adds r0, r5, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0802074E - b _08020D82 + mov r3, sl + ldr r5, [r3] + ldr r4, _080207B8 @ =0x0000061C + adds r0, r5, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0802074E + b _08020D82 _0802074E: - ldr r7, _080207BC @ =0x0000061E - mov sb, r7 - mov r0, sb - adds r6, r5, r0 - ldrh r7, [r6] - mov r8, r7 - mov r1, r8 - cmp r1, #1 - bhi _08020762 - b _08020928 + ldr r7, _080207BC @ =0x0000061E + mov sb, r7 + mov r0, sb + adds r6, r5, r0 + ldrh r7, [r6] + mov r8, r7 + mov r1, r8 + cmp r1, #1 + bhi _08020762 + b _08020928 _08020762: - movs r2, #0xef - lsls r2, r2, #1 - adds r4, r5, r2 - ldrh r0, [r4] - lsls r0, r0, #0x10 - movs r1, #0xa - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - subs r0, r7, #1 - strh r0, [r6] - ldrh r0, [r4] - cmp r0, #0 - beq _08020796 - subs r0, #1 - strh r0, [r4] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x28 - bne _08020796 - ldrh r0, [r6] - cmp r0, #0x28 - bls _08020796 - movs r0, #0x3c - strh r0, [r4] + movs r2, #0xef + lsls r2, r2, #1 + adds r4, r5, r2 + ldrh r0, [r4] + lsls r0, r0, #0x10 + movs r1, #0xa + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + subs r0, r7, #1 + strh r0, [r6] + ldrh r0, [r4] + cmp r0, #0 + beq _08020796 + subs r0, #1 + strh r0, [r4] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x28 + bne _08020796 + ldrh r0, [r6] + cmp r0, #0x28 + bls _08020796 + movs r0, #0x3c + strh r0, [r4] _08020796: - ldr r3, _080207C0 @ =0x020314E0 - ldr r1, [r3] - ldr r4, _080207BC @ =0x0000061E - adds r2, r1, r4 - ldrh r0, [r2] - cmp r0, #0x74 - bne _08020832 - adds r1, #0xe4 - ldrb r0, [r1] - cmp r0, #0 - beq _080207C4 - movs r0, #0x78 - strh r0, [r2] - b _08020832 - .align 2, 0 + ldr r3, _080207C0 @ =0x020314E0 + ldr r1, [r3] + ldr r4, _080207BC @ =0x0000061E + adds r2, r1, r4 + ldrh r0, [r2] + cmp r0, #0x74 + bne _08020832 + adds r1, #0xe4 + ldrb r0, [r1] + cmp r0, #0 + beq _080207C4 + movs r0, #0x78 + strh r0, [r2] + b _08020832 + .align 2, 0 _080207B4: .4byte 0x00000743 _080207B8: .4byte 0x0000061C _080207BC: .4byte 0x0000061E _080207C0: .4byte 0x020314E0 _080207C4: - movs r0, #1 - strb r0, [r1] - ldr r1, [r3] - movs r7, #0xf1 - lsls r7, r7, #1 - adds r0, r1, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08020820 - movs r2, #0xe1 - lsls r2, r2, #1 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _080207FC - ldr r0, _080207F4 @ =0x02032F20 - ldr r1, _080207F8 @ =0x086A0328 - bl MPlayStart - b _08020804 - .align 2, 0 + movs r0, #1 + strb r0, [r1] + ldr r1, [r3] + movs r7, #0xf1 + lsls r7, r7, #1 + adds r0, r1, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _08020820 + movs r2, #0xe1 + lsls r2, r2, #1 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _080207FC + ldr r0, _080207F4 @ =0x02032F20 + ldr r1, _080207F8 @ =0x086A0328 + bl MPlayStart + b _08020804 + .align 2, 0 _080207F4: .4byte 0x02032F20 _080207F8: .4byte 0x086A0328 _080207FC: - ldr r0, _08020810 @ =0x02032F20 - ldr r1, _08020814 @ =0x086A0368 - bl MPlayStart + ldr r0, _08020810 @ =0x02032F20 + ldr r1, _08020814 @ =0x086A0368 + bl MPlayStart _08020804: - ldr r0, _08020818 @ =0x02032EE0 - ldr r1, _0802081C @ =0x0000FFFF - movs r2, #0x40 - bl m4aMPlayVolumeControl - b _08020832 - .align 2, 0 + ldr r0, _08020818 @ =0x02032EE0 + ldr r1, _0802081C @ =0x0000FFFF + movs r2, #0x40 + bl m4aMPlayVolumeControl + b _08020832 + .align 2, 0 _08020810: .4byte 0x02032F20 _08020814: .4byte 0x086A0368 _08020818: .4byte 0x02032EE0 _0802081C: .4byte 0x0000FFFF _08020820: - ldr r0, _08020900 @ =0x02032F20 - ldr r1, _08020904 @ =0x086A0328 - bl MPlayStart - ldr r0, _08020908 @ =0x02032EE0 - ldr r1, _0802090C @ =0x0000FFFF - movs r2, #0x40 - bl m4aMPlayVolumeControl + ldr r0, _08020900 @ =0x02032F20 + ldr r1, _08020904 @ =0x086A0328 + bl MPlayStart + ldr r0, _08020908 @ =0x02032EE0 + ldr r1, _0802090C @ =0x0000FFFF + movs r2, #0x40 + bl m4aMPlayVolumeControl _08020832: - ldr r0, _08020910 @ =0x020314E0 - ldr r1, [r0] - ldr r3, _08020914 @ =0x0000061E - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, #0x73 - bne _08020856 - adds r0, r1, #0 - adds r0, #0xe4 - ldrb r0, [r0] - cmp r0, #1 - bne _08020856 - ldr r0, _08020900 @ =0x02032F20 - ldr r1, _0802090C @ =0x0000FFFF - movs r2, #0x80 - lsls r2, r2, #2 - bl m4aMPlayVolumeControl + ldr r0, _08020910 @ =0x020314E0 + ldr r1, [r0] + ldr r3, _08020914 @ =0x0000061E + adds r0, r1, r3 + ldrh r0, [r0] + cmp r0, #0x73 + bne _08020856 + adds r0, r1, #0 + adds r0, #0xe4 + ldrb r0, [r0] + cmp r0, #1 + bne _08020856 + ldr r0, _08020900 @ =0x02032F20 + ldr r1, _0802090C @ =0x0000FFFF + movs r2, #0x80 + lsls r2, r2, #2 + bl m4aMPlayVolumeControl _08020856: - adds r0, r5, #0 - bl sub_C24 - adds r1, r0, #0 - ldr r0, _08020910 @ =0x020314E0 - ldr r4, [r0] - ldr r5, _08020918 @ =0x0000132C - adds r5, r5, r4 - mov r8, r5 - ldr r7, [r5] - mov sb, r7 - movs r0, #0xc4 - lsls r0, r0, #3 - adds r6, r4, r0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r1, _0802091C @ =0x00004E20 - bl __divsi3 - ldrh r5, [r6] - adds r5, r5, r0 - ldr r1, _08020920 @ =0x086ADF8A - movs r2, #0xe1 - lsls r2, r2, #1 - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #1 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r3, #0 - ldrsh r2, [r0, r3] - lsls r2, r2, #1 - movs r7, #0 - ldrsh r0, [r6, r7] - subs r2, r2, r0 - movs r0, #0xf0 - lsls r0, r0, #1 - adds r6, r4, r0 - ldrh r1, [r6] - movs r3, #0xef - lsls r3, r3, #1 - adds r7, r4, r3 - ldrh r0, [r7] - subs r0, r1, r0 - muls r0, r2, r0 - bl __divsi3 - adds r5, r5, r0 - mov r0, sb - strh r5, [r0, #0x28] - ldrh r1, [r6] - ldrh r2, [r7] - subs r2, r1, r2 - lsls r0, r2, #2 - adds r0, r0, r2 - lsls r0, r0, #3 - bl __divsi3 - mov r1, r8 - ldr r2, [r1] - ldr r3, _08020924 @ =0x00000622 - adds r4, r4, r3 - ldrh r1, [r4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - subs r1, r1, r0 - strh r1, [r2, #0x2a] - mov r4, r8 - ldr r1, [r4] - movs r5, #0x28 - ldrsh r0, [r1, r5] - lsls r0, r0, #7 - str r0, [r1, #0x34] - ldr r1, [r4] - movs r7, #0x2a - ldrsh r0, [r1, r7] - lsls r0, r0, #7 - str r0, [r1, #0x38] - b _080209FE - .align 2, 0 + adds r0, r5, #0 + bl sub_C24 + adds r1, r0, #0 + ldr r0, _08020910 @ =0x020314E0 + ldr r4, [r0] + ldr r5, _08020918 @ =0x0000132C + adds r5, r5, r4 + mov r8, r5 + ldr r7, [r5] + mov sb, r7 + movs r0, #0xc4 + lsls r0, r0, #3 + adds r6, r4, r0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + ldr r1, _0802091C @ =0x00004E20 + bl __divsi3 + ldrh r5, [r6] + adds r5, r5, r0 + ldr r1, _08020920 @ =0x086ADF8A + movs r2, #0xe1 + lsls r2, r2, #1 + adds r0, r4, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r0, #1 + lsls r0, r0, #1 + adds r0, r0, r1 + movs r3, #0 + ldrsh r2, [r0, r3] + lsls r2, r2, #1 + movs r7, #0 + ldrsh r0, [r6, r7] + subs r2, r2, r0 + movs r0, #0xf0 + lsls r0, r0, #1 + adds r6, r4, r0 + ldrh r1, [r6] + movs r3, #0xef + lsls r3, r3, #1 + adds r7, r4, r3 + ldrh r0, [r7] + subs r0, r1, r0 + muls r0, r2, r0 + bl __divsi3 + adds r5, r5, r0 + mov r0, sb + strh r5, [r0, #0x28] + ldrh r1, [r6] + ldrh r2, [r7] + subs r2, r1, r2 + lsls r0, r2, #2 + adds r0, r0, r2 + lsls r0, r0, #3 + bl __divsi3 + mov r1, r8 + ldr r2, [r1] + ldr r3, _08020924 @ =0x00000622 + adds r4, r4, r3 + ldrh r1, [r4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + subs r1, r1, r0 + strh r1, [r2, #0x2a] + mov r4, r8 + ldr r1, [r4] + movs r5, #0x28 + ldrsh r0, [r1, r5] + lsls r0, r0, #7 + str r0, [r1, #0x34] + ldr r1, [r4] + movs r7, #0x2a + ldrsh r0, [r1, r7] + lsls r0, r0, #7 + str r0, [r1, #0x38] + b _080209FE + .align 2, 0 _08020900: .4byte 0x02032F20 _08020904: .4byte 0x086A0328 _08020908: .4byte 0x02032EE0 @@ -64297,145 +64297,145 @@ _0802091C: .4byte 0x00004E20 _08020920: .4byte 0x086ADF8A _08020924: .4byte 0x00000622 _08020928: - mov r0, r8 - cmp r0, #1 - bne _080209FE - ldr r1, _08020A3C @ =0x0000132C - adds r2, r5, r1 - ldr r3, [r2] - ldr r1, _08020A40 @ =0x086ADF8A - movs r4, #0xe1 - lsls r4, r4, #1 - adds r0, r5, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #1 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r5, #0 - ldrsh r0, [r0, r5] - lsls r0, r0, #1 - movs r6, #0 - movs r5, #0 - strh r0, [r3, #0x28] - ldr r1, [r2] - ldr r0, _08020A44 @ =0x000002BE - strh r0, [r1, #0x2a] - ldr r1, [r2] - movs r7, #0x28 - ldrsh r0, [r1, r7] - lsls r0, r0, #7 - str r0, [r1, #0x34] - ldr r1, [r2] - movs r3, #0x2a - ldrsh r0, [r1, r3] - lsls r0, r0, #7 - str r0, [r1, #0x38] - ldr r0, [r2] - strh r5, [r0, #0x30] - ldr r1, [r2] - ldr r0, _08020A48 @ =0x0000FED4 - strh r0, [r1, #0x32] - movs r0, #0x7c - bl m4aSongNumStart - mov r7, sl - ldr r1, [r7] - mov r2, sb - adds r0, r1, r2 - strh r5, [r0] - strb r6, [r1, #0x1f] - ldr r0, [r7] - ldr r3, _08020A4C @ =0x000005F7 - adds r0, r0, r3 - strb r6, [r0] - ldr r2, [r7] - adds r4, r2, r4 - movs r0, #0 - ldrsb r0, [r4, r0] - subs r0, #1 - lsls r1, r0, #1 - adds r1, r1, r0 - movs r4, #0xe2 - lsls r4, r4, #3 - adds r2, r2, r4 - adds r2, r2, r1 - mov r5, r8 - strb r5, [r2] - ldr r3, [r7] - ldr r7, _08020A50 @ =0x00000714 - adds r4, r3, r7 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _080209F8 - movs r1, #0xe2 - lsls r1, r1, #3 - adds r0, r3, r1 - ldr r2, _08020A54 @ =0x00000711 - adds r1, r3, r2 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - ldr r5, _08020A58 @ =0x00000712 - adds r1, r3, r5 - ldrb r1, [r1] - ands r0, r1 - subs r7, #1 - adds r1, r3, r7 - ldrb r1, [r1] - ands r0, r1 - cmp r0, #0 - beq _080209F8 - mov r0, r8 - strb r0, [r4] - mov r1, sl - ldr r0, [r1] - ldr r2, _08020A5C @ =0x00000715 - adds r0, r0, r2 - movs r1, #0x7e - strb r1, [r0] - mov r3, sl - ldr r1, [r3] - movs r0, #0xfa - lsls r0, r0, #4 - str r0, [r1, #0x3c] + mov r0, r8 + cmp r0, #1 + bne _080209FE + ldr r1, _08020A3C @ =0x0000132C + adds r2, r5, r1 + ldr r3, [r2] + ldr r1, _08020A40 @ =0x086ADF8A + movs r4, #0xe1 + lsls r4, r4, #1 + adds r0, r5, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r0, #1 + lsls r0, r0, #1 + adds r0, r0, r1 + movs r5, #0 + ldrsh r0, [r0, r5] + lsls r0, r0, #1 + movs r6, #0 + movs r5, #0 + strh r0, [r3, #0x28] + ldr r1, [r2] + ldr r0, _08020A44 @ =0x000002BE + strh r0, [r1, #0x2a] + ldr r1, [r2] + movs r7, #0x28 + ldrsh r0, [r1, r7] + lsls r0, r0, #7 + str r0, [r1, #0x34] + ldr r1, [r2] + movs r3, #0x2a + ldrsh r0, [r1, r3] + lsls r0, r0, #7 + str r0, [r1, #0x38] + ldr r0, [r2] + strh r5, [r0, #0x30] + ldr r1, [r2] + ldr r0, _08020A48 @ =0x0000FED4 + strh r0, [r1, #0x32] + movs r0, #0x7c + bl m4aSongNumStart + mov r7, sl + ldr r1, [r7] + mov r2, sb + adds r0, r1, r2 + strh r5, [r0] + strb r6, [r1, #0x1f] + ldr r0, [r7] + ldr r3, _08020A4C @ =0x000005F7 + adds r0, r0, r3 + strb r6, [r0] + ldr r2, [r7] + adds r4, r2, r4 + movs r0, #0 + ldrsb r0, [r4, r0] + subs r0, #1 + lsls r1, r0, #1 + adds r1, r1, r0 + movs r4, #0xe2 + lsls r4, r4, #3 + adds r2, r2, r4 + adds r2, r2, r1 + mov r5, r8 + strb r5, [r2] + ldr r3, [r7] + ldr r7, _08020A50 @ =0x00000714 + adds r4, r3, r7 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + bne _080209F8 + movs r1, #0xe2 + lsls r1, r1, #3 + adds r0, r3, r1 + ldr r2, _08020A54 @ =0x00000711 + adds r1, r3, r2 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + ldr r5, _08020A58 @ =0x00000712 + adds r1, r3, r5 + ldrb r1, [r1] + ands r0, r1 + subs r7, #1 + adds r1, r3, r7 + ldrb r1, [r1] + ands r0, r1 + cmp r0, #0 + beq _080209F8 + mov r0, r8 + strb r0, [r4] + mov r1, sl + ldr r0, [r1] + ldr r2, _08020A5C @ =0x00000715 + adds r0, r0, r2 + movs r1, #0x7e + strb r1, [r0] + mov r3, sl + ldr r1, [r3] + movs r0, #0xfa + lsls r0, r0, #4 + str r0, [r1, #0x3c] _080209F8: - movs r0, #0xb - bl sub_11B0 + movs r0, #0xb + bl sub_11B0 _080209FE: - ldr r0, _08020A60 @ =0x020314E0 - ldr r3, [r0] - ldr r4, _08020A64 @ =0x0000061E - adds r1, r3, r4 - ldrh r1, [r1] - mov sl, r0 - cmp r1, #0x63 - bls _08020AFC - movs r5, #0xf1 - lsls r5, r5, #1 - adds r0, r3, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08020A6C - movs r7, #0xe1 - lsls r7, r7, #1 - adds r0, r3, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #1 - ldr r1, _08020A68 @ =0x00000744 - adds r2, r3, r1 - adds r2, r2, r0 - lsls r1, r0, #3 - subs r1, r1, r0 - adds r1, #2 - strb r1, [r2] - b _08020A82 - .align 2, 0 + ldr r0, _08020A60 @ =0x020314E0 + ldr r3, [r0] + ldr r4, _08020A64 @ =0x0000061E + adds r1, r3, r4 + ldrh r1, [r1] + mov sl, r0 + cmp r1, #0x63 + bls _08020AFC + movs r5, #0xf1 + lsls r5, r5, #1 + adds r0, r3, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _08020A6C + movs r7, #0xe1 + lsls r7, r7, #1 + adds r0, r3, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r0, #1 + ldr r1, _08020A68 @ =0x00000744 + adds r2, r3, r1 + adds r2, r2, r0 + lsls r1, r0, #3 + subs r1, r1, r0 + adds r1, #2 + strb r1, [r2] + b _08020A82 + .align 2, 0 _08020A3C: .4byte 0x0000132C _08020A40: .4byte 0x086ADF8A _08020A44: .4byte 0x000002BE @@ -64449,172 +64449,172 @@ _08020A60: .4byte 0x020314E0 _08020A64: .4byte 0x0000061E _08020A68: .4byte 0x00000744 _08020A6C: - movs r2, #0xe1 - lsls r2, r2, #1 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, r3, r0 - ldr r3, _08020AC4 @ =0x00000743 - adds r0, r0, r3 - movs r1, #2 - strb r1, [r0] + movs r2, #0xe1 + lsls r2, r2, #1 + adds r0, r3, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, r3, r0 + ldr r3, _08020AC4 @ =0x00000743 + adds r0, r0, r3 + movs r1, #2 + strb r1, [r0] _08020A82: - mov r4, sl - ldr r2, [r4] - ldr r5, _08020AC8 @ =0x0000061E - adds r0, r2, r5 - ldrh r0, [r0] - cmp r0, #0x64 - beq _08020A92 - b _08020D82 + mov r4, sl + ldr r2, [r4] + ldr r5, _08020AC8 @ =0x0000061E + adds r0, r2, r5 + ldrh r0, [r0] + cmp r0, #0x64 + beq _08020A92 + b _08020D82 _08020A92: - ldr r0, _08020ACC @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0x98 - ldr r1, [r0] - movs r0, #1 - strh r0, [r1] - movs r7, #0xf1 - lsls r7, r7, #1 - adds r0, r2, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08020AD8 - movs r1, #0xe1 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08020AD8 - ldr r1, _08020AD0 @ =0x040000D4 - ldr r0, _08020AD4 @ =0x08395A4C - b _08020ADC - .align 2, 0 + ldr r0, _08020ACC @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0x98 + ldr r1, [r0] + movs r0, #1 + strh r0, [r1] + movs r7, #0xf1 + lsls r7, r7, #1 + adds r0, r2, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _08020AD8 + movs r1, #0xe1 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _08020AD8 + ldr r1, _08020AD0 @ =0x040000D4 + ldr r0, _08020AD4 @ =0x08395A4C + b _08020ADC + .align 2, 0 _08020AC4: .4byte 0x00000743 _08020AC8: .4byte 0x0000061E _08020ACC: .4byte 0x0200B0C0 _08020AD0: .4byte 0x040000D4 _08020AD4: .4byte 0x08395A4C _08020AD8: - ldr r1, _08020AEC @ =0x040000D4 - ldr r0, _08020AF0 @ =0x08397E6C + ldr r1, _08020AEC @ =0x040000D4 + ldr r0, _08020AF0 @ =0x08397E6C _08020ADC: - str r0, [r1] - ldr r0, _08020AF4 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _08020AF8 @ =0x80001200 - str r0, [r1, #8] - ldr r0, [r1, #8] - b _08020D82 - .align 2, 0 + str r0, [r1] + ldr r0, _08020AF4 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _08020AF8 @ =0x80001200 + str r0, [r1, #8] + ldr r0, [r1, #8] + b _08020D82 + .align 2, 0 _08020AEC: .4byte 0x040000D4 _08020AF0: .4byte 0x08397E6C _08020AF4: .4byte 0x06015800 _08020AF8: .4byte 0x80001200 _08020AFC: - ldr r2, _08020B24 @ =0x086ADEE0 - ldr r6, _08020B28 @ =0x0000020A - adds r4, r3, r6 - movs r0, #0 - ldrsb r0, [r4, r0] - lsls r0, r0, #2 - adds r1, r2, #2 - adds r0, r0, r1 - movs r5, #0x82 - lsls r5, r5, #2 - adds r1, r3, r5 - ldrh r3, [r1] - ldrh r0, [r0] - mov r8, r2 - cmp r0, r3 - bls _08020B2C - adds r0, r3, #1 - strh r0, [r1] - b _08020C1C - .align 2, 0 + ldr r2, _08020B24 @ =0x086ADEE0 + ldr r6, _08020B28 @ =0x0000020A + adds r4, r3, r6 + movs r0, #0 + ldrsb r0, [r4, r0] + lsls r0, r0, #2 + adds r1, r2, #2 + adds r0, r0, r1 + movs r5, #0x82 + lsls r5, r5, #2 + adds r1, r3, r5 + ldrh r3, [r1] + ldrh r0, [r0] + mov r8, r2 + cmp r0, r3 + bls _08020B2C + adds r0, r3, #1 + strh r0, [r1] + b _08020C1C + .align 2, 0 _08020B24: .4byte 0x086ADEE0 _08020B28: .4byte 0x0000020A _08020B2C: - movs r5, #0 - movs r7, #0 - strh r7, [r1] - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - mov r1, sl - ldr r0, [r1] - ldr r2, _08020BC0 @ =0x0000020A - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x17 - bne _08020B5C - movs r0, #0x7c - bl m4aSongNumStop - ldr r0, _08020BC4 @ =0x02032EE0 - ldr r1, _08020BC8 @ =0x0000FFFF - movs r2, #0x80 - lsls r2, r2, #1 - bl m4aMPlayVolumeControl + movs r5, #0 + movs r7, #0 + strh r7, [r1] + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] + mov r1, sl + ldr r0, [r1] + ldr r2, _08020BC0 @ =0x0000020A + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x17 + bne _08020B5C + movs r0, #0x7c + bl m4aSongNumStop + ldr r0, _08020BC4 @ =0x02032EE0 + ldr r1, _08020BC8 @ =0x0000FFFF + movs r2, #0x80 + lsls r2, r2, #1 + bl m4aMPlayVolumeControl _08020B5C: - mov r3, sl - ldr r0, [r3] - adds r1, r0, r6 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x19 - ble _08020C1C - movs r0, #0x19 - strb r0, [r1] - mov r4, sl - ldr r0, [r4] - ldr r1, _08020BCC @ =0x0000061C - adds r0, r0, r1 - strb r5, [r0] - ldr r2, _08020BD0 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - adds r0, #0x98 - ldr r0, [r0] - strh r7, [r0] - ldr r0, [r4] - adds r0, #0xe4 - strb r5, [r0] - ldr r4, [r4] - movs r3, #0xe1 - lsls r3, r3, #1 - adds r0, r4, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - movs r7, #0xf1 - lsls r7, r7, #1 - adds r0, r4, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08020BD8 - lsls r3, r2, #0x10 - asrs r1, r3, #0x10 - ldr r0, _08020BD4 @ =0x00000744 - adds r2, r4, r0 - adds r2, r2, r1 - lsls r0, r1, #3 - adds r0, r0, r1 - strb r0, [r2] - mov r8, r3 - b _08020BE6 - .align 2, 0 + mov r3, sl + ldr r0, [r3] + adds r1, r0, r6 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x19 + ble _08020C1C + movs r0, #0x19 + strb r0, [r1] + mov r4, sl + ldr r0, [r4] + ldr r1, _08020BCC @ =0x0000061C + adds r0, r0, r1 + strb r5, [r0] + ldr r2, _08020BD0 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + adds r0, #0x98 + ldr r0, [r0] + strh r7, [r0] + ldr r0, [r4] + adds r0, #0xe4 + strb r5, [r0] + ldr r4, [r4] + movs r3, #0xe1 + lsls r3, r3, #1 + adds r0, r4, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r0, #1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + movs r7, #0xf1 + lsls r7, r7, #1 + adds r0, r4, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _08020BD8 + lsls r3, r2, #0x10 + asrs r1, r3, #0x10 + ldr r0, _08020BD4 @ =0x00000744 + adds r2, r4, r0 + adds r2, r2, r1 + lsls r0, r1, #3 + adds r0, r0, r1 + strb r0, [r2] + mov r8, r3 + b _08020BE6 + .align 2, 0 _08020BC0: .4byte 0x0000020A _08020BC4: .4byte 0x02032EE0 _08020BC8: .4byte 0x0000FFFF @@ -64622,64 +64622,64 @@ _08020BCC: .4byte 0x0000061C _08020BD0: .4byte 0x0200B0C0 _08020BD4: .4byte 0x00000744 _08020BD8: - lsls r2, r2, #0x10 - asrs r1, r2, #0x10 - ldr r3, _08020C48 @ =0x00000744 - adds r0, r4, r3 - adds r0, r0, r1 - strb r5, [r0] - mov r8, r2 + lsls r2, r2, #0x10 + asrs r1, r2, #0x10 + ldr r3, _08020C48 @ =0x00000744 + adds r0, r4, r3 + adds r0, r0, r1 + strb r5, [r0] + mov r8, r2 _08020BE6: - ldr r3, _08020C4C @ =0x040000D4 - ldr r4, _08020C50 @ =0x020314E0 - ldr r0, [r4] - mov r5, r8 - asrs r2, r5, #0x10 - ldr r7, _08020C48 @ =0x00000744 - adds r0, r0, r7 - adds r0, r0, r2 - ldrb r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _08020C54 @ =0x084C07EC - adds r0, r0, r1 - str r0, [r3] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #7 - ldr r1, _08020C58 @ =0x06010480 - adds r0, r0, r1 - str r0, [r3, #4] - ldr r0, _08020C5C @ =0x800000C0 - str r0, [r3, #8] - ldr r0, [r3, #8] - mov sl, r4 - ldr r2, _08020C60 @ =0x086ADEE0 - mov r8, r2 + ldr r3, _08020C4C @ =0x040000D4 + ldr r4, _08020C50 @ =0x020314E0 + ldr r0, [r4] + mov r5, r8 + asrs r2, r5, #0x10 + ldr r7, _08020C48 @ =0x00000744 + adds r0, r0, r7 + adds r0, r0, r2 + ldrb r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _08020C54 @ =0x084C07EC + adds r0, r0, r1 + str r0, [r3] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #7 + ldr r1, _08020C58 @ =0x06010480 + adds r0, r0, r1 + str r0, [r3, #4] + ldr r0, _08020C5C @ =0x800000C0 + str r0, [r3, #8] + ldr r0, [r3, #8] + mov sl, r4 + ldr r2, _08020C60 @ =0x086ADEE0 + mov r8, r2 _08020C1C: - mov r3, sl - ldr r1, [r3] - ldr r4, _08020C64 @ =0x0000020A - adds r0, r1, r4 - ldrb r0, [r0] - subs r0, #0x11 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #6 - bhi _08020C76 - ldr r5, _08020C68 @ =0x0200B0C0 - ldr r0, [r5, #0x4c] - movs r2, #3 - ands r0, r2 - lsrs r0, r0, #1 - cmp r0, #0 - beq _08020C70 - adds r1, #0x4c - ldr r0, _08020C6C @ =0x0000FFFD - strh r0, [r1] - b _08020C76 - .align 2, 0 + mov r3, sl + ldr r1, [r3] + ldr r4, _08020C64 @ =0x0000020A + adds r0, r1, r4 + ldrb r0, [r0] + subs r0, #0x11 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #6 + bhi _08020C76 + ldr r5, _08020C68 @ =0x0200B0C0 + ldr r0, [r5, #0x4c] + movs r2, #3 + ands r0, r2 + lsrs r0, r0, #1 + cmp r0, #0 + beq _08020C70 + adds r1, #0x4c + ldr r0, _08020C6C @ =0x0000FFFD + strh r0, [r1] + b _08020C76 + .align 2, 0 _08020C48: .4byte 0x00000744 _08020C4C: .4byte 0x040000D4 _08020C50: .4byte 0x020314E0 @@ -64691,221 +64691,221 @@ _08020C64: .4byte 0x0000020A _08020C68: .4byte 0x0200B0C0 _08020C6C: .4byte 0x0000FFFD _08020C70: - adds r0, r1, #0 - adds r0, #0x4c - strh r2, [r0] + adds r0, r1, #0 + adds r0, #0x4c + strh r2, [r0] _08020C76: - mov r7, sl - ldr r3, [r7] - ldr r1, _08020CD8 @ =0x0000020A - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - add r0, r8 - ldrh r5, [r0] - movs r2, #0xe1 - lsls r2, r2, #1 - adds r0, r3, r2 - movs r1, #0 - ldrsb r1, [r0, r1] - ldr r4, _08020CDC @ =0x0200B0C0 - ldr r0, [r4, #0x44] - adds r0, #0x98 - ldr r6, [r0] - subs r2, r1, #1 - movs r0, #0xb1 - adds r1, r2, #0 - muls r1, r0, r1 - adds r0, r3, #0 - adds r0, #0x58 - ldrh r0, [r0] - subs r0, #0x10 - subs r1, r1, r0 - strh r1, [r6, #2] - ldr r7, _08020CE0 @ =0x0000061C - adds r0, r3, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08020CE8 - adds r0, r3, #0 - adds r0, #0x5a - ldrh r1, [r0] - movs r4, #0xbe - lsls r4, r4, #1 - adds r0, r4, #0 - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r7, _08020CE4 @ =0x000001E3 - adds r0, r3, r7 - adds r0, r0, r2 - movs r1, #0 - b _08020CF4 - .align 2, 0 + mov r7, sl + ldr r3, [r7] + ldr r1, _08020CD8 @ =0x0000020A + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + add r0, r8 + ldrh r5, [r0] + movs r2, #0xe1 + lsls r2, r2, #1 + adds r0, r3, r2 + movs r1, #0 + ldrsb r1, [r0, r1] + ldr r4, _08020CDC @ =0x0200B0C0 + ldr r0, [r4, #0x44] + adds r0, #0x98 + ldr r6, [r0] + subs r2, r1, #1 + movs r0, #0xb1 + adds r1, r2, #0 + muls r1, r0, r1 + adds r0, r3, #0 + adds r0, #0x58 + ldrh r0, [r0] + subs r0, #0x10 + subs r1, r1, r0 + strh r1, [r6, #2] + ldr r7, _08020CE0 @ =0x0000061C + adds r0, r3, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08020CE8 + adds r0, r3, #0 + adds r0, #0x5a + ldrh r1, [r0] + movs r4, #0xbe + lsls r4, r4, #1 + adds r0, r4, #0 + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r7, _08020CE4 @ =0x000001E3 + adds r0, r3, r7 + adds r0, r0, r2 + movs r1, #0 + b _08020CF4 + .align 2, 0 _08020CD8: .4byte 0x0000020A _08020CDC: .4byte 0x0200B0C0 _08020CE0: .4byte 0x0000061C _08020CE4: .4byte 0x000001E3 _08020CE8: - movs r0, #0xb4 - strh r0, [r6, #4] - ldr r1, _08020E14 @ =0x000001E3 - adds r0, r3, r1 - adds r0, r0, r2 - movs r1, #1 + movs r0, #0xb4 + strh r0, [r6, #4] + ldr r1, _08020E14 @ =0x000001E3 + adds r0, r3, r1 + adds r0, r0, r2 + movs r1, #1 _08020CF4: - strb r1, [r0] - movs r4, #0 - lsls r1, r5, #0x10 - ldr r2, _08020E18 @ =0x03005000 - mov sb, r2 - ldr r3, _08020E1C @ =0x086B4922 - mov r8, r3 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - mov ip, r0 - ldr r5, _08020E20 @ =0xFFFFFE00 - mov sl, r5 + strb r1, [r0] + movs r4, #0 + lsls r1, r5, #0x10 + ldr r2, _08020E18 @ =0x03005000 + mov sb, r2 + ldr r3, _08020E1C @ =0x086B4922 + mov r8, r3 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + mov ip, r0 + ldr r5, _08020E20 @ =0xFFFFFE00 + mov sl, r5 _08020D10: - lsls r3, r4, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r2, [r5] - lsls r2, r2, #3 - add r2, sb - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - add r0, ip - add r0, r8 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - add r0, ip - add r0, r8 - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - add r1, ip - add r1, r8 - ldrh r0, [r1] - 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 r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _08020E24 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, sl - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r6, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r4, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #3 - ble _08020D10 + lsls r3, r4, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r2, [r5] + lsls r2, r2, #3 + add r2, sb + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + add r0, ip + add r0, r8 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + add r0, ip + add r0, r8 + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + add r1, ip + add r1, r8 + ldrh r0, [r1] + 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 r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _08020E24 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, sl + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r6, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r4, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #3 + ble _08020D10 _08020D82: - ldr r0, _08020E28 @ =0x0200B0C0 - ldr r1, [r0, #0x44] - ldr r6, [r1, #0x74] - ldrh r1, [r6] - cmp r1, #0 - bne _08020D90 - b _08020EA4 + ldr r0, _08020E28 @ =0x0200B0C0 + ldr r1, [r0, #0x44] + ldr r6, [r1, #0x74] + ldrh r1, [r6] + cmp r1, #0 + bne _08020D90 + b _08020EA4 _08020D90: - movs r2, #0 - ldr r3, _08020E2C @ =0x040000D4 - mov sl, r3 + movs r2, #0 + ldr r3, _08020E2C @ =0x040000D4 + mov sl, r3 _08020D96: - lsls r2, r2, #0x10 - asrs r5, r2, #0x10 - ldr r4, _08020E28 @ =0x0200B0C0 - ldr r1, [r4, #0x44] - lsls r0, r5, #2 - adds r0, r0, r1 - ldr r6, [r0, #0x74] - movs r0, #0xb1 - adds r1, r5, #0 - muls r1, r0, r1 - ldr r7, _08020E30 @ =0x020314E0 - ldr r4, [r7] - adds r0, r4, #0 - adds r0, #0x58 - ldrh r0, [r0] - subs r0, #0x10 - subs r1, r1, r0 - strh r1, [r6, #2] - ldr r1, _08020E14 @ =0x000001E3 - adds r0, r4, r1 - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov r8, r2 - cmp r0, #0 - beq _08020E44 - ldr r2, _08020E28 @ =0x0200B0C0 - ldr r0, [r2, #0x50] - movs r1, #5 - bl __umodsi3 - cmp r0, #0 - bne _08020E02 - ldr r3, _08020E34 @ =0x00000744 - adds r0, r4, r3 - adds r0, r0, r5 - ldrb r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _08020E38 @ =0x084C07EC - adds r0, r0, r1 - mov r4, sl - str r0, [r4] - lsls r0, r5, #1 - adds r0, r0, r5 - lsls r0, r0, #7 - ldr r5, _08020E3C @ =0x06010480 - adds r0, r0, r5 - str r0, [r4, #4] - ldr r0, _08020E40 @ =0x800000C0 - str r0, [r4, #8] - ldr r0, [r4, #8] + lsls r2, r2, #0x10 + asrs r5, r2, #0x10 + ldr r4, _08020E28 @ =0x0200B0C0 + ldr r1, [r4, #0x44] + lsls r0, r5, #2 + adds r0, r0, r1 + ldr r6, [r0, #0x74] + movs r0, #0xb1 + adds r1, r5, #0 + muls r1, r0, r1 + ldr r7, _08020E30 @ =0x020314E0 + ldr r4, [r7] + adds r0, r4, #0 + adds r0, #0x58 + ldrh r0, [r0] + subs r0, #0x10 + subs r1, r1, r0 + strh r1, [r6, #2] + ldr r1, _08020E14 @ =0x000001E3 + adds r0, r4, r1 + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov r8, r2 + cmp r0, #0 + beq _08020E44 + ldr r2, _08020E28 @ =0x0200B0C0 + ldr r0, [r2, #0x50] + movs r1, #5 + bl __umodsi3 + cmp r0, #0 + bne _08020E02 + ldr r3, _08020E34 @ =0x00000744 + adds r0, r4, r3 + adds r0, r0, r5 + ldrb r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _08020E38 @ =0x084C07EC + adds r0, r0, r1 + mov r4, sl + str r0, [r4] + lsls r0, r5, #1 + adds r0, r0, r5 + lsls r0, r0, #7 + ldr r5, _08020E3C @ =0x06010480 + adds r0, r0, r5 + str r0, [r4, #4] + ldr r0, _08020E40 @ =0x800000C0 + str r0, [r4, #8] + ldr r0, [r4, #8] _08020E02: - ldr r7, _08020E30 @ =0x020314E0 - ldr r0, [r7] - adds r0, #0x5a - ldrh r1, [r0] - movs r2, #0xbe - lsls r2, r2, #1 - adds r0, r2, #0 - subs r0, r0, r1 - b _08020E46 - .align 2, 0 + ldr r7, _08020E30 @ =0x020314E0 + ldr r0, [r7] + adds r0, #0x5a + ldrh r1, [r0] + movs r2, #0xbe + lsls r2, r2, #1 + adds r0, r2, #0 + subs r0, r0, r1 + b _08020E46 + .align 2, 0 _08020E14: .4byte 0x000001E3 _08020E18: .4byte 0x03005000 _08020E1C: .4byte 0x086B4922 @@ -64919,288 +64919,288 @@ _08020E38: .4byte 0x084C07EC _08020E3C: .4byte 0x06010480 _08020E40: .4byte 0x800000C0 _08020E44: - movs r0, #0xc8 + movs r0, #0xc8 _08020E46: - strh r0, [r6, #4] - movs r4, #0 - ldr r7, _08020EB4 @ =0x03005000 - ldr r3, _08020EB8 @ =0xFFFFFE00 - mov sb, r3 + strh r0, [r6, #4] + movs r4, #0 + ldr r7, _08020EB4 @ =0x03005000 + ldr r3, _08020EB8 @ =0xFFFFFE00 + mov sb, r3 _08020E50: - lsls r3, r4, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r2, [r5] - lsls r2, r2, #3 - adds r2, r2, r7 - movs r4, #2 - ldrsh r1, [r5, r4] - movs r4, #2 - ldrsh r0, [r6, r4] - adds r1, r1, r0 - ldr r4, _08020EBC @ =0x000001FF - adds r0, r4, #0 - ands r1, r0 - ldrh r4, [r2, #2] - mov r0, sb - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #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 r3, #1 - lsls r3, r3, #0x10 - lsrs r4, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #1 - ble _08020E50 - movs r0, #0x80 - lsls r0, r0, #9 - add r0, r8 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - bgt _08020EA4 - b _08020D96 + lsls r3, r4, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r2, [r5] + lsls r2, r2, #3 + adds r2, r2, r7 + movs r4, #2 + ldrsh r1, [r5, r4] + movs r4, #2 + ldrsh r0, [r6, r4] + adds r1, r1, r0 + ldr r4, _08020EBC @ =0x000001FF + adds r0, r4, #0 + ands r1, r0 + ldrh r4, [r2, #2] + mov r0, sb + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #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 r3, #1 + lsls r3, r3, #0x10 + lsrs r4, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #1 + ble _08020E50 + movs r0, #0x80 + lsls r0, r0, #9 + add r0, r8 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + bgt _08020EA4 + b _08020D96 _08020EA4: - 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 + 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 _08020EB4: .4byte 0x03005000 _08020EB8: .4byte 0xFFFFFE00 _08020EBC: .4byte 0x000001FF - thumb_func_start sub_20EC0 + thumb_func_start sub_20EC0 sub_20EC0: @ 0x08020EC0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0xc - ldr r0, _08020F24 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0xa4 - ldr r7, [r0] - ldr r0, _08020F28 @ =0x020314E0 - ldr r2, [r0] - movs r1, #0xe0 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrh r1, [r0] - cmp r1, #0 - bne _08020EE6 - b _08021220 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0xc + ldr r0, _08020F24 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0xa4 + ldr r7, [r0] + ldr r0, _08020F28 @ =0x020314E0 + ldr r2, [r0] + movs r1, #0xe0 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrh r1, [r0] + cmp r1, #0 + bne _08020EE6 + b _08021220 _08020EE6: - movs r0, #0xc8 - lsls r0, r0, #2 - cmp r1, r0 - bne _08020F5C - movs r0, #1 - strh r0, [r7] - movs r1, #0xdf - lsls r1, r1, #1 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08020F34 - movs r0, #0xfe - lsls r0, r0, #1 - adds r1, r2, r0 - ldr r0, _08020F2C @ =0x00000442 - str r0, [r1] - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - ldr r0, _08020F30 @ =0x00001248 - str r0, [r1] - movs r0, #0x81 - lsls r0, r0, #2 - adds r1, r2, r0 - movs r0, #0 - strb r0, [r1] - b _08021210 - .align 2, 0 + movs r0, #0xc8 + lsls r0, r0, #2 + cmp r1, r0 + bne _08020F5C + movs r0, #1 + strh r0, [r7] + movs r1, #0xdf + lsls r1, r1, #1 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08020F34 + movs r0, #0xfe + lsls r0, r0, #1 + adds r1, r2, r0 + ldr r0, _08020F2C @ =0x00000442 + str r0, [r1] + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + ldr r0, _08020F30 @ =0x00001248 + str r0, [r1] + movs r0, #0x81 + lsls r0, r0, #2 + adds r1, r2, r0 + movs r0, #0 + strb r0, [r1] + b _08021210 + .align 2, 0 _08020F24: .4byte 0x0200B0C0 _08020F28: .4byte 0x020314E0 _08020F2C: .4byte 0x00000442 _08020F30: .4byte 0x00001248 _08020F34: - movs r0, #0xfe - lsls r0, r0, #1 - adds r1, r2, r0 - movs r0, #0xfa - lsls r0, r0, #3 - str r0, [r1] - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - ldr r0, _08020F58 @ =0x00000EEC - str r0, [r1] - movs r0, #0x81 - lsls r0, r0, #2 - adds r1, r2, r0 - movs r0, #4 - strb r0, [r1] - b _08021210 - .align 2, 0 + movs r0, #0xfe + lsls r0, r0, #1 + adds r1, r2, r0 + movs r0, #0xfa + lsls r0, r0, #3 + str r0, [r1] + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + ldr r0, _08020F58 @ =0x00000EEC + str r0, [r1] + movs r0, #0x81 + lsls r0, r0, #2 + adds r1, r2, r0 + movs r0, #4 + strb r0, [r1] + b _08021210 + .align 2, 0 _08020F58: .4byte 0x00000EEC _08020F5C: - ldr r0, _08021084 @ =0x0000031F - cmp r1, r0 - bne _08020F82 - movs r1, #0xdf - lsls r1, r1, #1 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - beq _08020F82 - ldr r1, _08021088 @ =0x040000D4 - ldr r0, _0802108C @ =0x084C07EC - str r0, [r1] - ldr r0, _08021090 @ =0x06010600 - str r0, [r1, #4] - ldr r0, _08021094 @ =0x800000C0 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r0, _08021084 @ =0x0000031F + cmp r1, r0 + bne _08020F82 + movs r1, #0xdf + lsls r1, r1, #1 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + beq _08020F82 + ldr r1, _08021088 @ =0x040000D4 + ldr r0, _0802108C @ =0x084C07EC + str r0, [r1] + ldr r0, _08021090 @ =0x06010600 + str r0, [r1, #4] + ldr r0, _08021094 @ =0x800000C0 + str r0, [r1, #8] + ldr r0, [r1, #8] _08020F82: - ldr r4, _08021098 @ =0x086ADF90 - ldr r2, _0802109C @ =0x020314E0 - mov sl, r2 - ldr r3, [r2] - movs r1, #0x81 - lsls r1, r1, #2 - adds r0, r3, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #3 - adds r0, r2, r4 - mov r8, r0 - subs r1, #8 - mov sb, r1 - adds r0, r3, r1 - ldr r0, [r0] - adds r0, #0x78 - mov ip, r0 - mov r0, r8 - ldr r0, [r0] - mov r1, ip - subs r5, r0, r1 - adds r4, #4 - adds r2, r2, r4 - movs r0, #0x80 - lsls r0, r0, #2 - mov r8, r0 - add r3, r8 - ldr r0, [r3] - adds r0, #0xa0 - ldr r1, [r2] - subs r6, r1, r0 - adds r1, r5, #0 - muls r1, r5, r1 - adds r0, r6, #0 - muls r0, r6, r0 - adds r1, r1, r0 - str r1, [sp, #8] - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - rsbs r1, r6, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - bl ArcTan2 - adds r4, r0, #0 - lsls r4, r4, #0x10 - lsrs r5, r4, #0x10 - adds r0, r5, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #3 - subs r1, r1, r0 - ldr r6, _080210A0 @ =0x00004E20 - adds r0, r1, #0 - adds r1, r6, #0 - bl __divsi3 - str r0, [sp] - adds r0, r5, #0 - bl sub_C24 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #3 - subs r0, r0, r1 - adds r1, r6, #0 - bl __divsi3 - str r0, [sp, #4] - ldr r0, _080210A4 @ =0x086AD788 - lsrs r4, r4, #0x1d - lsls r4, r4, #1 - adds r4, r4, r0 - ldr r0, _080210A8 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #0x18 - bl __umodsi3 - lsrs r0, r0, #3 - ldrh r4, [r4] - adds r0, r0, r4 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - mov r1, sl - ldr r5, [r1] - mov r2, sb - adds r1, r5, r2 - ldr r0, [r1] - ldr r2, [sp] - adds r0, r0, r2 - str r0, [r1] - mov r0, r8 - adds r4, r5, r0 - ldr r0, [r4] - ldr r2, [sp, #4] - adds r0, r0, r2 - str r0, [r4] - ldrh r0, [r7] - cmp r0, #0 - beq _0802114A - ldr r0, [r1] - movs r1, #0xa - bl __divsi3 - adds r1, r5, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r7, #2] - ldr r0, [r4] - movs r1, #0xa - bl __divsi3 - adds r1, r5, #0 - adds r1, #0x5a - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r7, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb4 - ble _080210AC - movs r0, #0xb4 - strh r0, [r7, #4] - b _080210B6 - .align 2, 0 + ldr r4, _08021098 @ =0x086ADF90 + ldr r2, _0802109C @ =0x020314E0 + mov sl, r2 + ldr r3, [r2] + movs r1, #0x81 + lsls r1, r1, #2 + adds r0, r3, r1 + movs r2, #0 + ldrsb r2, [r0, r2] + lsls r2, r2, #3 + adds r0, r2, r4 + mov r8, r0 + subs r1, #8 + mov sb, r1 + adds r0, r3, r1 + ldr r0, [r0] + adds r0, #0x78 + mov ip, r0 + mov r0, r8 + ldr r0, [r0] + mov r1, ip + subs r5, r0, r1 + adds r4, #4 + adds r2, r2, r4 + movs r0, #0x80 + lsls r0, r0, #2 + mov r8, r0 + add r3, r8 + ldr r0, [r3] + adds r0, #0xa0 + ldr r1, [r2] + subs r6, r1, r0 + adds r1, r5, #0 + muls r1, r5, r1 + adds r0, r6, #0 + muls r0, r6, r0 + adds r1, r1, r0 + str r1, [sp, #8] + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + rsbs r1, r6, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + bl ArcTan2 + adds r4, r0, #0 + lsls r4, r4, #0x10 + lsrs r5, r4, #0x10 + adds r0, r5, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #3 + subs r1, r1, r0 + ldr r6, _080210A0 @ =0x00004E20 + adds r0, r1, #0 + adds r1, r6, #0 + bl __divsi3 + str r0, [sp] + adds r0, r5, #0 + bl sub_C24 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #3 + subs r0, r0, r1 + adds r1, r6, #0 + bl __divsi3 + str r0, [sp, #4] + ldr r0, _080210A4 @ =0x086AD788 + lsrs r4, r4, #0x1d + lsls r4, r4, #1 + adds r4, r4, r0 + ldr r0, _080210A8 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #0x18 + bl __umodsi3 + lsrs r0, r0, #3 + ldrh r4, [r4] + adds r0, r0, r4 + lsls r0, r0, #0x10 + lsrs r6, r0, #0x10 + mov r1, sl + ldr r5, [r1] + mov r2, sb + adds r1, r5, r2 + ldr r0, [r1] + ldr r2, [sp] + adds r0, r0, r2 + str r0, [r1] + mov r0, r8 + adds r4, r5, r0 + ldr r0, [r4] + ldr r2, [sp, #4] + adds r0, r0, r2 + str r0, [r4] + ldrh r0, [r7] + cmp r0, #0 + beq _0802114A + ldr r0, [r1] + movs r1, #0xa + bl __divsi3 + adds r1, r5, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r7, #2] + ldr r0, [r4] + movs r1, #0xa + bl __divsi3 + adds r1, r5, #0 + adds r1, #0x5a + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r7, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb4 + ble _080210AC + movs r0, #0xb4 + strh r0, [r7, #4] + b _080210B6 + .align 2, 0 _08021084: .4byte 0x0000031F _08021088: .4byte 0x040000D4 _0802108C: .4byte 0x084C07EC @@ -65212,143 +65212,143 @@ _080210A0: .4byte 0x00004E20 _080210A4: .4byte 0x086AD788 _080210A8: .4byte 0x0200B0C0 _080210AC: - movs r1, #0x1e - rsbs r1, r1, #0 - cmp r0, r1 - bge _080210B6 - strh r1, [r7, #4] + movs r1, #0x1e + rsbs r1, r1, #0 + cmp r0, r1 + bge _080210B6 + strh r1, [r7, #4] _080210B6: - ldr r2, _080211B8 @ =0x040000D4 - lsls r1, r6, #0x10 - asrs r1, r1, #0x10 - adds r1, #0x1e - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #5 - ldr r1, _080211BC @ =0x083E85AC - adds r0, r0, r1 - str r0, [r2] - ldr r0, _080211C0 @ =0x060112A0 - str r0, [r2, #4] - ldr r0, _080211C4 @ =0x80000090 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r0, #0 - ldr r6, _080211C8 @ =0x03005000 - movs r1, #0xd - rsbs r1, r1, #0 - mov sb, r1 - ldr r2, _080211CC @ =0xFFFFFE00 - mov r8, r2 + ldr r2, _080211B8 @ =0x040000D4 + lsls r1, r6, #0x10 + asrs r1, r1, #0x10 + adds r1, #0x1e + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #5 + ldr r1, _080211BC @ =0x083E85AC + adds r0, r0, r1 + str r0, [r2] + ldr r0, _080211C0 @ =0x060112A0 + str r0, [r2, #4] + ldr r0, _080211C4 @ =0x80000090 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r0, #0 + ldr r6, _080211C8 @ =0x03005000 + movs r1, #0xd + rsbs r1, r1, #0 + mov sb, r1 + ldr r2, _080211CC @ =0xFFFFFE00 + mov r8, r2 _080210E2: - lsls r5, r0, #0x10 - asrs r5, r5, #0x10 - lsls r4, r5, #3 - adds r4, #8 - adds r4, r7, r4 - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #5] - mov r0, sb - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #5] - movs r0, #0xf - ands r0, r1 - movs r1, #0x30 - orrs r0, r1 - strb r0, [r2, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r0, #2 - ldrsh r1, [r4, r0] - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - ldr r2, _080211D0 @ =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, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r0, [r7, #4] - ldrb r4, [r4, #4] - adds r0, r0, r4 - strb r0, [r1] - adds r5, #1 - lsls r5, r5, #0x10 - lsrs r0, r5, #0x10 - asrs r5, r5, #0x10 - cmp r5, #3 - ble _080210E2 + lsls r5, r0, #0x10 + asrs r5, r5, #0x10 + lsls r4, r5, #3 + adds r4, #8 + adds r4, r7, r4 + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #5] + mov r0, sb + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #5] + movs r0, #0xf + ands r0, r1 + movs r1, #0x30 + orrs r0, r1 + strb r0, [r2, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r0, #2 + ldrsh r1, [r4, r0] + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + ldr r2, _080211D0 @ =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, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r0, [r7, #4] + ldrb r4, [r4, #4] + adds r0, r0, r4 + strb r0, [r1] + adds r5, #1 + lsls r5, r5, #0x10 + lsrs r0, r5, #0x10 + asrs r5, r5, #0x10 + cmp r5, #3 + ble _080210E2 _0802114A: - ldr r0, _080211D4 @ =0x000009C3 - ldr r1, [sp, #8] - cmp r1, r0 - bgt _08021210 - ldr r3, _080211D8 @ =0x020314E0 - ldr r1, [r3] - movs r2, #0x81 - lsls r2, r2, #2 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, #1 - movs r5, #0 - strb r0, [r1] - ldr r2, [r3] - movs r1, #0xdf - lsls r1, r1, #1 - adds r0, r2, r1 - movs r4, #0 - ldrsb r4, [r0, r4] - cmp r4, #1 - bne _080211EC - adds r1, #0x46 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bne _08021210 - ldr r1, _080211B8 @ =0x040000D4 - ldr r0, _080211DC @ =0x084C156C - str r0, [r1] - ldr r0, _080211E0 @ =0x06010600 - str r0, [r1, #4] - ldr r0, _080211E4 @ =0x800000C0 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r0, #0xf1 - lsls r0, r0, #1 - adds r1, r2, r0 - movs r0, #2 - strb r0, [r1] - ldr r0, _080211E8 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0xa4 - ldr r0, [r0] - strh r5, [r0] - ldr r0, [r3] - movs r1, #0xe0 - lsls r1, r1, #1 - adds r0, r0, r1 - strh r4, [r0] - movs r0, #0x75 - bl m4aSongNumStart - b _08021210 - .align 2, 0 + ldr r0, _080211D4 @ =0x000009C3 + ldr r1, [sp, #8] + cmp r1, r0 + bgt _08021210 + ldr r3, _080211D8 @ =0x020314E0 + ldr r1, [r3] + movs r2, #0x81 + lsls r2, r2, #2 + adds r1, r1, r2 + ldrb r0, [r1] + adds r0, #1 + movs r5, #0 + strb r0, [r1] + ldr r2, [r3] + movs r1, #0xdf + lsls r1, r1, #1 + adds r0, r2, r1 + movs r4, #0 + ldrsb r4, [r0, r4] + cmp r4, #1 + bne _080211EC + adds r1, #0x46 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bne _08021210 + ldr r1, _080211B8 @ =0x040000D4 + ldr r0, _080211DC @ =0x084C156C + str r0, [r1] + ldr r0, _080211E0 @ =0x06010600 + str r0, [r1, #4] + ldr r0, _080211E4 @ =0x800000C0 + str r0, [r1, #8] + ldr r0, [r1, #8] + movs r0, #0xf1 + lsls r0, r0, #1 + adds r1, r2, r0 + movs r0, #2 + strb r0, [r1] + ldr r0, _080211E8 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0xa4 + ldr r0, [r0] + strh r5, [r0] + ldr r0, [r3] + movs r1, #0xe0 + lsls r1, r1, #1 + adds r0, r0, r1 + strh r4, [r0] + movs r0, #0x75 + bl m4aSongNumStart + b _08021210 + .align 2, 0 _080211B8: .4byte 0x040000D4 _080211BC: .4byte 0x083E85AC _080211C0: .4byte 0x060112A0 @@ -65363,136 +65363,136 @@ _080211E0: .4byte 0x06010600 _080211E4: .4byte 0x800000C0 _080211E8: .4byte 0x0200B0C0 _080211EC: - movs r1, #0x81 - lsls r1, r1, #2 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #7 - bne _08021210 - ldr r0, _08021230 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0xa4 - ldr r0, [r0] - strh r5, [r0] - movs r0, #0xe0 - lsls r0, r0, #1 - adds r1, r2, r0 - movs r0, #1 - strh r0, [r1] + movs r1, #0x81 + lsls r1, r1, #2 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #7 + bne _08021210 + ldr r0, _08021230 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0xa4 + ldr r0, [r0] + strh r5, [r0] + movs r0, #0xe0 + lsls r0, r0, #1 + adds r1, r2, r0 + movs r0, #1 + strh r0, [r1] _08021210: - ldr r0, _08021234 @ =0x020314E0 - ldr r1, [r0] - movs r2, #0xe0 - lsls r2, r2, #1 - adds r1, r1, r2 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] + ldr r0, _08021234 @ =0x020314E0 + ldr r1, [r0] + movs r2, #0xe0 + lsls r2, r2, #1 + adds r1, r1, r2 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] _08021220: - add sp, #0xc - 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 + add sp, #0xc + 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 _08021230: .4byte 0x0200B0C0 _08021234: .4byte 0x020314E0 - thumb_func_start sub_21238 + thumb_func_start sub_21238 sub_21238: @ 0x08021238 - push {r4, r5, lr} - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0802127A - ldr r3, _080212E0 @ =0x020314E0 - ldr r0, [r3] - ldr r1, _080212E4 @ =0x00000714 - adds r0, r0, r1 - movs r1, #0 - strb r1, [r0] - ldr r0, [r3] - movs r2, #0xe2 - lsls r2, r2, #3 - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r3] - adds r1, r0, r2 - ldrb r1, [r1] - ldr r4, _080212E8 @ =0x00000711 - adds r0, r0, r4 - strb r1, [r0] - ldr r0, [r3] - adds r1, r0, r2 - ldrb r1, [r1] - adds r4, #1 - adds r0, r0, r4 - strb r1, [r0] - ldr r0, [r3] - adds r2, r0, r2 - ldrb r1, [r2] - ldr r2, _080212EC @ =0x00000713 - adds r0, r0, r2 - strb r1, [r0] + push {r4, r5, lr} + lsls r0, r0, #0x10 + cmp r0, #0 + beq _0802127A + ldr r3, _080212E0 @ =0x020314E0 + ldr r0, [r3] + ldr r1, _080212E4 @ =0x00000714 + adds r0, r0, r1 + movs r1, #0 + strb r1, [r0] + ldr r0, [r3] + movs r2, #0xe2 + lsls r2, r2, #3 + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r3] + adds r1, r0, r2 + ldrb r1, [r1] + ldr r4, _080212E8 @ =0x00000711 + adds r0, r0, r4 + strb r1, [r0] + ldr r0, [r3] + adds r1, r0, r2 + ldrb r1, [r1] + adds r4, #1 + adds r0, r0, r4 + strb r1, [r0] + ldr r0, [r3] + adds r2, r0, r2 + ldrb r1, [r2] + ldr r2, _080212EC @ =0x00000713 + adds r0, r0, r2 + strb r1, [r0] _0802127A: - ldr r5, _080212E0 @ =0x020314E0 - ldr r0, [r5] - movs r4, #0xe6 - lsls r4, r4, #3 - adds r0, r0, r4 - movs r1, #0 - strb r1, [r0] - ldr r0, [r5] - ldr r2, _080212F0 @ =0x000005F3 - adds r0, r0, r2 - strb r1, [r0] - ldr r1, [r5] - movs r0, #0x16 - ldrsb r0, [r1, r0] - cmp r0, #2 - bne _080212A2 - movs r0, #0x14 - ldrsb r0, [r1, r0] - cmp r0, #2 - bgt _080212C0 + ldr r5, _080212E0 @ =0x020314E0 + ldr r0, [r5] + movs r4, #0xe6 + lsls r4, r4, #3 + adds r0, r0, r4 + movs r1, #0 + strb r1, [r0] + ldr r0, [r5] + ldr r2, _080212F0 @ =0x000005F3 + adds r0, r0, r2 + strb r1, [r0] + ldr r1, [r5] + movs r0, #0x16 + ldrsb r0, [r1, r0] + cmp r0, #2 + bne _080212A2 + movs r0, #0x14 + ldrsb r0, [r1, r0] + cmp r0, #2 + bgt _080212C0 _080212A2: - adds r0, r1, #0 - adds r0, #0x72 - ldrb r0, [r0] - movs r4, #0xf - ands r4, r0 - cmp r4, #0 - bne _080212C0 - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 - ldr r0, [r5] - ldr r1, _080212F4 @ =0x000006C4 - adds r0, r0, r1 - strb r4, [r0] + adds r0, r1, #0 + adds r0, #0x72 + ldrb r0, [r0] + movs r4, #0xf + ands r4, r0 + cmp r4, #0 + bne _080212C0 + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 + ldr r0, [r5] + ldr r1, _080212F4 @ =0x000006C4 + adds r0, r0, r1 + strb r4, [r0] _080212C0: - ldr r0, _080212E0 @ =0x020314E0 - ldr r2, [r0] - ldr r0, [r2, #0x14] - ldr r1, _080212F8 @ =0x00FF00FF - ands r0, r1 - ldr r1, _080212FC @ =0x00020006 - cmp r0, r1 - bne _080212DA - movs r4, #0xbc - lsls r4, r4, #2 - adds r1, r2, r4 - movs r0, #0 - strb r0, [r1] + ldr r0, _080212E0 @ =0x020314E0 + ldr r2, [r0] + ldr r0, [r2, #0x14] + ldr r1, _080212F8 @ =0x00FF00FF + ands r0, r1 + ldr r1, _080212FC @ =0x00020006 + cmp r0, r1 + bne _080212DA + movs r4, #0xbc + lsls r4, r4, #2 + adds r1, r2, r4 + movs r0, #0 + strb r0, [r1] _080212DA: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _080212E0: .4byte 0x020314E0 _080212E4: .4byte 0x00000714 _080212E8: .4byte 0x00000711 @@ -65502,858 +65502,858 @@ _080212F4: .4byte 0x000006C4 _080212F8: .4byte 0x00FF00FF _080212FC: .4byte 0x00020006 - thumb_func_start sub_21300 + thumb_func_start sub_21300 sub_21300: @ 0x08021300 - ldr r2, _08021318 @ =0x020314E0 - ldr r1, [r2] - movs r3, #0 - movs r0, #1 - strb r0, [r1, #0x17] - ldr r0, [r2] - movs r1, #0 - strh r3, [r0, #0x18] - ldr r2, _0802131C @ =0x000006DD - adds r0, r0, r2 - strb r1, [r0] - bx lr - .align 2, 0 + ldr r2, _08021318 @ =0x020314E0 + ldr r1, [r2] + movs r3, #0 + movs r0, #1 + strb r0, [r1, #0x17] + ldr r0, [r2] + movs r1, #0 + strh r3, [r0, #0x18] + ldr r2, _0802131C @ =0x000006DD + adds r0, r0, r2 + strb r1, [r0] + bx lr + .align 2, 0 _08021318: .4byte 0x020314E0 _0802131C: .4byte 0x000006DD - thumb_func_start sub_21320 + thumb_func_start sub_21320 sub_21320: @ 0x08021320 - push {r4, lr} - ldr r1, _08021340 @ =0x020314E0 - ldr r0, [r1] - ldrb r0, [r0, #0x17] - subs r0, #1 - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r4, r1, #0 - cmp r0, #6 - bls _08021336 - b _0802150C + push {r4, lr} + ldr r1, _08021340 @ =0x020314E0 + ldr r0, [r1] + ldrb r0, [r0, #0x17] + subs r0, #1 + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r4, r1, #0 + cmp r0, #6 + bls _08021336 + b _0802150C _08021336: - lsls r0, r0, #2 - ldr r1, _08021344 @ =_08021348 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08021344 @ =_08021348 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08021340: .4byte 0x020314E0 _08021344: .4byte _08021348 _08021348: @ jump table - .4byte _08021364 @ case 0 - .4byte _080213B2 @ case 1 - .4byte _080213E8 @ case 2 - .4byte _0802144C @ case 3 - .4byte _080214CC @ case 4 - .4byte _080214E0 @ case 5 - .4byte _080214F8 @ case 6 + .4byte _08021364 @ case 0 + .4byte _080213B2 @ case 1 + .4byte _080213E8 @ case 2 + .4byte _0802144C @ case 3 + .4byte _080214CC @ case 4 + .4byte _080214E0 @ case 5 + .4byte _080214F8 @ case 6 _08021364: - ldr r1, [r4] - ldrh r0, [r1, #0x18] - cmp r0, #8 - bls _0802136E - b _0802150C + ldr r1, [r4] + ldrh r0, [r1, #0x18] + cmp r0, #8 + bls _0802136E + b _0802150C _0802136E: - adds r0, #1 - strh r0, [r1, #0x18] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #7 - bhi _08021386 - movs r0, #0xe6 - lsls r0, r0, #3 - adds r1, r1, r0 - movs r0, #1 - strb r0, [r1] - b _0802150C + adds r0, #1 + strh r0, [r1, #0x18] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #7 + bhi _08021386 + movs r0, #0xe6 + lsls r0, r0, #3 + adds r1, r1, r0 + movs r0, #1 + strb r0, [r1] + b _0802150C _08021386: - cmp r0, #8 - beq _0802138C - b _0802150C + cmp r0, #8 + beq _0802138C + b _0802150C _0802138C: - bl sub_219A8 - ldr r0, [r4] - movs r1, #0xe6 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r1, #2 - strb r1, [r0] - ldr r0, [r4] - movs r2, #0xe1 - lsls r2, r2, #3 - adds r0, r0, r2 - movs r1, #0 - str r1, [r0] - movs r0, #1 - bl sub_1C7F4 - ldr r1, [r4] - b _080214EA + bl sub_219A8 + ldr r0, [r4] + movs r1, #0xe6 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r1, #2 + strb r1, [r0] + ldr r0, [r4] + movs r2, #0xe1 + lsls r2, r2, #3 + adds r0, r0, r2 + movs r1, #0 + str r1, [r0] + movs r0, #1 + bl sub_1C7F4 + ldr r1, [r4] + b _080214EA _080213B2: - bl sub_219EC - ldr r4, _080213E4 @ =0x020314E0 - ldr r0, [r4] - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _080213CE - movs r0, #1 - movs r1, #0 - bl sub_1C7F4 + bl sub_219EC + ldr r4, _080213E4 @ =0x020314E0 + ldr r0, [r4] + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _080213CE + movs r0, #1 + movs r1, #0 + bl sub_1C7F4 _080213CE: - ldr r1, [r4] - adds r0, r1, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - beq _080213E0 - b _0802150C + ldr r1, [r4] + adds r0, r1, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + beq _080213E0 + b _0802150C _080213E0: - b _080214EA - .align 2, 0 + b _080214EA + .align 2, 0 _080213E4: .4byte 0x020314E0 _080213E8: - ldr r0, [r4] - ldr r3, _08021440 @ =0x00000714 - adds r0, r0, r3 - movs r1, #0 - strb r1, [r0] - ldr r0, [r4] - movs r2, #0xe2 - lsls r2, r2, #3 - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r1, r0, r2 - ldrb r1, [r1] - subs r3, #3 - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r4] - adds r1, r0, r2 - ldrb r1, [r1] - adds r3, #1 - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r4] - adds r2, r0, r2 - ldrb r1, [r2] - ldr r2, _08021444 @ =0x00000713 - adds r0, r0, r2 - strb r1, [r0] - ldr r1, [r4] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - bl sub_29D9C - ldr r0, [r4] - ldr r3, _08021448 @ =0x0000062D - adds r1, r0, r3 - ldrb r0, [r1] - cmp r0, #0x62 - bhi _0802150C - adds r0, #1 - strb r0, [r1] - b _0802150C - .align 2, 0 + ldr r0, [r4] + ldr r3, _08021440 @ =0x00000714 + adds r0, r0, r3 + movs r1, #0 + strb r1, [r0] + ldr r0, [r4] + movs r2, #0xe2 + lsls r2, r2, #3 + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r4] + adds r1, r0, r2 + ldrb r1, [r1] + subs r3, #3 + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r4] + adds r1, r0, r2 + ldrb r1, [r1] + adds r3, #1 + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r4] + adds r2, r0, r2 + ldrb r1, [r2] + ldr r2, _08021444 @ =0x00000713 + adds r0, r0, r2 + strb r1, [r0] + ldr r1, [r4] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + bl sub_29D9C + ldr r0, [r4] + ldr r3, _08021448 @ =0x0000062D + adds r1, r0, r3 + ldrb r0, [r1] + cmp r0, #0x62 + bhi _0802150C + adds r0, #1 + strb r0, [r1] + b _0802150C + .align 2, 0 _08021440: .4byte 0x00000714 _08021444: .4byte 0x00000713 _08021448: .4byte 0x0000062D _0802144C: - ldr r0, _08021464 @ =0x020314E0 - ldr r2, [r0] - ldrh r0, [r2, #0x28] - adds r1, r0, #0 - cmp r1, #0x94 - bne _08021468 - adds r0, #1 - strh r0, [r2, #0x28] - bl sub_2A054 - b _08021484 - .align 2, 0 + ldr r0, _08021464 @ =0x020314E0 + ldr r2, [r0] + ldrh r0, [r2, #0x28] + adds r1, r0, #0 + cmp r1, #0x94 + bne _08021468 + adds r0, #1 + strh r0, [r2, #0x28] + bl sub_2A054 + b _08021484 + .align 2, 0 _08021464: .4byte 0x020314E0 _08021468: - cmp r1, #0x8b - beq _08021484 - cmp r1, #0x18 - bne _0802147A - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 - b _08021484 + cmp r1, #0x8b + beq _08021484 + cmp r1, #0x18 + bne _0802147A + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 + b _08021484 _0802147A: - cmp r1, #0 - bne _08021484 - ldrb r0, [r2, #0x17] - adds r0, #1 - strb r0, [r2, #0x17] + cmp r1, #0 + bne _08021484 + ldrb r0, [r2, #0x17] + adds r0, #1 + strb r0, [r2, #0x17] _08021484: - ldr r4, _080214C0 @ =0x020314E0 - ldr r0, [r4] - ldr r1, _080214C4 @ =0x000006DD - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _080214B4 - bl sub_2A354 - ldr r1, [r4] - ldr r3, _080214C8 @ =0x000006DE - adds r2, r1, r3 - ldrh r0, [r2] - cmp r0, #0xb3 - bhi _080214B4 - movs r0, #0x8c - strh r0, [r1, #0x28] - ldrh r0, [r2] - cmp r0, #0xb3 - bne _080214B4 - movs r0, #0x1e - strh r0, [r1, #0x28] + ldr r4, _080214C0 @ =0x020314E0 + ldr r0, [r4] + ldr r1, _080214C4 @ =0x000006DD + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _080214B4 + bl sub_2A354 + ldr r1, [r4] + ldr r3, _080214C8 @ =0x000006DE + adds r2, r1, r3 + ldrh r0, [r2] + cmp r0, #0xb3 + bhi _080214B4 + movs r0, #0x8c + strh r0, [r1, #0x28] + ldrh r0, [r2] + cmp r0, #0xb3 + bne _080214B4 + movs r0, #0x1e + strh r0, [r1, #0x28] _080214B4: - ldr r0, _080214C0 @ =0x020314E0 - ldr r1, [r0] - movs r0, #0 - strh r0, [r1, #0x18] - b _0802150C - .align 2, 0 + ldr r0, _080214C0 @ =0x020314E0 + ldr r1, [r0] + movs r0, #0 + strh r0, [r1, #0x18] + b _0802150C + .align 2, 0 _080214C0: .4byte 0x020314E0 _080214C4: .4byte 0x000006DD _080214C8: .4byte 0x000006DE _080214CC: - bl sub_219EC - ldr r0, _080214DC @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r1, [r0, #0x34] - movs r0, #0 - strh r0, [r1] - b _080214E6 - .align 2, 0 + bl sub_219EC + ldr r0, _080214DC @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r1, [r0, #0x34] + movs r0, #0 + strh r0, [r1] + b _080214E6 + .align 2, 0 _080214DC: .4byte 0x0200B0C0 _080214E0: - movs r0, #1 - bl sub_21238 + movs r0, #1 + bl sub_21238 _080214E6: - ldr r0, _080214F4 @ =0x020314E0 - ldr r1, [r0] + ldr r0, _080214F4 @ =0x020314E0 + ldr r1, [r0] _080214EA: - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - b _0802150C - .align 2, 0 + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + b _0802150C + .align 2, 0 _080214F4: .4byte 0x020314E0 _080214F8: - ldr r1, [r4] - ldrh r0, [r1, #0x18] - cmp r0, #0 - beq _08021506 - subs r0, #1 - strh r0, [r1, #0x18] - b _0802150C + ldr r1, [r4] + ldrh r0, [r1, #0x18] + cmp r0, #0 + beq _08021506 + subs r0, #1 + strh r0, [r1, #0x18] + b _0802150C _08021506: - movs r0, #1 - bl sub_19B64 + movs r0, #1 + bl sub_19B64 _0802150C: - pop {r4} - pop {r0} - bx r0 + pop {r4} + pop {r0} + bx r0 - thumb_func_start sub_21514 + thumb_func_start sub_21514 sub_21514: @ 0x08021514 - push {r4, r5, lr} - ldr r5, _0802156C @ =0x020314E0 - ldr r0, [r5] - movs r1, #0xe6 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r4, #0 - strb r4, [r0] - ldr r0, [r5] - ldr r1, _08021570 @ =0x000005F3 - adds r0, r0, r1 - strb r4, [r0] - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 - ldr r0, [r5] - ldr r1, _08021574 @ =0x000006C4 - adds r0, r0, r1 - strb r4, [r0] - ldr r0, [r5] - adds r1, #0x5f - adds r0, r0, r1 - strb r4, [r0] - ldr r0, [r5] - subs r1, #3 - adds r0, r0, r1 - strb r4, [r0] - ldr r0, [r5] - subs r1, #3 - adds r0, r0, r1 - strb r4, [r0] - ldr r0, [r5] - adds r1, #1 - adds r0, r0, r1 - strb r4, [r0] - ldr r0, [r5] - adds r1, #1 - adds r0, r0, r1 - strb r4, [r0] - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, lr} + ldr r5, _0802156C @ =0x020314E0 + ldr r0, [r5] + movs r1, #0xe6 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r4, #0 + strb r4, [r0] + ldr r0, [r5] + ldr r1, _08021570 @ =0x000005F3 + adds r0, r0, r1 + strb r4, [r0] + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 + ldr r0, [r5] + ldr r1, _08021574 @ =0x000006C4 + adds r0, r0, r1 + strb r4, [r0] + ldr r0, [r5] + adds r1, #0x5f + adds r0, r0, r1 + strb r4, [r0] + ldr r0, [r5] + subs r1, #3 + adds r0, r0, r1 + strb r4, [r0] + ldr r0, [r5] + subs r1, #3 + adds r0, r0, r1 + strb r4, [r0] + ldr r0, [r5] + adds r1, #1 + adds r0, r0, r1 + strb r4, [r0] + ldr r0, [r5] + adds r1, #1 + adds r0, r0, r1 + strb r4, [r0] + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0802156C: .4byte 0x020314E0 _08021570: .4byte 0x000005F3 _08021574: .4byte 0x000006C4 - thumb_func_start sub_21578 + thumb_func_start sub_21578 sub_21578: @ 0x08021578 - push {r4, lr} - ldr r0, _080215A8 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _0802161C - ldr r4, _080215AC @ =0x020314E0 - ldr r0, [r4] - ldr r1, _080215B0 @ =0x00000283 - adds r0, r0, r1 - ldrb r0, [r0] - movs r1, #5 - bl __umodsi3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #4 - bls _0802159C - b _080216AE + push {r4, lr} + ldr r0, _080215A8 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #0 + bne _0802161C + ldr r4, _080215AC @ =0x020314E0 + ldr r0, [r4] + ldr r1, _080215B0 @ =0x00000283 + adds r0, r0, r1 + ldrb r0, [r0] + movs r1, #5 + bl __umodsi3 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #4 + bls _0802159C + b _080216AE _0802159C: - lsls r0, r0, #2 - ldr r1, _080215B4 @ =_080215B8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _080215B4 @ =_080215B8 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080215A8: .4byte 0x0200B0C0 _080215AC: .4byte 0x020314E0 _080215B0: .4byte 0x00000283 _080215B4: .4byte _080215B8 _080215B8: @ jump table - .4byte _080215CC @ case 0 - .4byte _080215E8 @ case 1 - .4byte _080215CC @ case 2 - .4byte _080215E8 @ case 3 - .4byte _08021604 @ case 4 + .4byte _080215CC @ case 0 + .4byte _080215E8 @ case 1 + .4byte _080215CC @ case 2 + .4byte _080215E8 @ case 3 + .4byte _08021604 @ case 4 _080215CC: - ldr r0, [r4] - ldr r2, _080215E4 @ =0x000006EC - adds r0, r0, r2 - movs r1, #0x2a - strb r1, [r0] - ldr r0, [r4] - movs r1, #0xa1 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #3 - b _080216AC - .align 2, 0 + ldr r0, [r4] + ldr r2, _080215E4 @ =0x000006EC + adds r0, r0, r2 + movs r1, #0x2a + strb r1, [r0] + ldr r0, [r4] + movs r1, #0xa1 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #3 + b _080216AC + .align 2, 0 _080215E4: .4byte 0x000006EC _080215E8: - ldr r0, [r4] - ldr r2, _08021600 @ =0x000006EC - adds r0, r0, r2 - movs r1, #0x2c - strb r1, [r0] - ldr r0, [r4] - movs r1, #0xa1 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #5 - b _080216AC - .align 2, 0 + ldr r0, [r4] + ldr r2, _08021600 @ =0x000006EC + adds r0, r0, r2 + movs r1, #0x2c + strb r1, [r0] + ldr r0, [r4] + movs r1, #0xa1 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #5 + b _080216AC + .align 2, 0 _08021600: .4byte 0x000006EC _08021604: - ldr r0, [r4] - ldr r2, _08021618 @ =0x000006EC - adds r0, r0, r2 - movs r1, #0x2d - strb r1, [r0] - ldr r0, [r4] - movs r1, #0xa1 - lsls r1, r1, #2 - adds r0, r0, r1 - b _080216AA - .align 2, 0 + ldr r0, [r4] + ldr r2, _08021618 @ =0x000006EC + adds r0, r0, r2 + movs r1, #0x2d + strb r1, [r0] + ldr r0, [r4] + movs r1, #0xa1 + lsls r1, r1, #2 + adds r0, r0, r1 + b _080216AA + .align 2, 0 _08021618: .4byte 0x000006EC _0802161C: - ldr r4, _08021640 @ =0x020314E0 - ldr r0, [r4] - ldr r2, _08021644 @ =0x00000283 - adds r0, r0, r2 - ldrb r0, [r0] - movs r1, #5 - bl __umodsi3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #4 - bhi _080216AE - lsls r0, r0, #2 - ldr r1, _08021648 @ =_0802164C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + ldr r4, _08021640 @ =0x020314E0 + ldr r0, [r4] + ldr r2, _08021644 @ =0x00000283 + adds r0, r0, r2 + ldrb r0, [r0] + movs r1, #5 + bl __umodsi3 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #4 + bhi _080216AE + lsls r0, r0, #2 + ldr r1, _08021648 @ =_0802164C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08021640: .4byte 0x020314E0 _08021644: .4byte 0x00000283 _08021648: .4byte _0802164C _0802164C: @ jump table - .4byte _08021660 @ case 0 - .4byte _0802167C @ case 1 - .4byte _08021660 @ case 2 - .4byte _0802167C @ case 3 - .4byte _08021698 @ case 4 + .4byte _08021660 @ case 0 + .4byte _0802167C @ case 1 + .4byte _08021660 @ case 2 + .4byte _0802167C @ case 3 + .4byte _08021698 @ case 4 _08021660: - ldr r0, [r4] - ldr r1, _08021678 @ =0x000006EC - adds r0, r0, r1 - movs r1, #0x29 - strb r1, [r0] - ldr r0, [r4] - movs r2, #0xa1 - lsls r2, r2, #2 - adds r0, r0, r2 - movs r1, #2 - b _080216AC - .align 2, 0 + ldr r0, [r4] + ldr r1, _08021678 @ =0x000006EC + adds r0, r0, r1 + movs r1, #0x29 + strb r1, [r0] + ldr r0, [r4] + movs r2, #0xa1 + lsls r2, r2, #2 + adds r0, r0, r2 + movs r1, #2 + b _080216AC + .align 2, 0 _08021678: .4byte 0x000006EC _0802167C: - ldr r0, [r4] - ldr r1, _08021694 @ =0x000006EC - adds r0, r0, r1 - movs r1, #0x2b - strb r1, [r0] - ldr r0, [r4] - movs r2, #0xa1 - lsls r2, r2, #2 - adds r0, r0, r2 - movs r1, #4 - b _080216AC - .align 2, 0 + ldr r0, [r4] + ldr r1, _08021694 @ =0x000006EC + adds r0, r0, r1 + movs r1, #0x2b + strb r1, [r0] + ldr r0, [r4] + movs r2, #0xa1 + lsls r2, r2, #2 + adds r0, r0, r2 + movs r1, #4 + b _080216AC + .align 2, 0 _08021694: .4byte 0x000006EC _08021698: - ldr r0, [r4] - ldr r1, _080216D8 @ =0x000006EC - adds r0, r0, r1 - movs r1, #0x2d - strb r1, [r0] - ldr r0, [r4] - movs r2, #0xa1 - lsls r2, r2, #2 - adds r0, r0, r2 + ldr r0, [r4] + ldr r1, _080216D8 @ =0x000006EC + adds r0, r0, r1 + movs r1, #0x2d + strb r1, [r0] + ldr r0, [r4] + movs r2, #0xa1 + lsls r2, r2, #2 + adds r0, r0, r2 _080216AA: - movs r1, #6 + movs r1, #6 _080216AC: - strb r1, [r0] + strb r1, [r0] _080216AE: - ldr r2, [r4] - adds r0, r2, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bne _080216DC - movs r0, #0x15 - ldrsb r0, [r2, r0] - cmp r0, #2 - bne _080216DC - movs r1, #0 - movs r0, #0x96 - strh r0, [r2, #0x28] - movs r0, #3 - strb r0, [r2, #0x17] - ldr r0, [r4] - strh r1, [r0, #0x18] - b _080216F4 - .align 2, 0 + ldr r2, [r4] + adds r0, r2, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bne _080216DC + movs r0, #0x15 + ldrsb r0, [r2, r0] + cmp r0, #2 + bne _080216DC + movs r1, #0 + movs r0, #0x96 + strh r0, [r2, #0x28] + movs r0, #3 + strb r0, [r2, #0x17] + ldr r0, [r4] + strh r1, [r0, #0x18] + b _080216F4 + .align 2, 0 _080216D8: .4byte 0x000006EC _080216DC: - ldr r0, [r4] - movs r1, #0 - strb r1, [r0, #0x17] - ldr r0, [r4] - strh r1, [r0, #0x18] - movs r2, #0xe1 - lsls r2, r2, #3 - adds r0, r0, r2 - str r1, [r0] - movs r0, #7 - bl sub_1C7F4 + ldr r0, [r4] + movs r1, #0 + strb r1, [r0, #0x17] + ldr r0, [r4] + strh r1, [r0, #0x18] + movs r2, #0xe1 + lsls r2, r2, #3 + adds r0, r0, r2 + str r1, [r0] + movs r0, #7 + bl sub_1C7F4 _080216F4: - pop {r4} - pop {r0} - bx r0 + pop {r4} + pop {r0} + bx r0 - thumb_func_start sub_216FC + thumb_func_start sub_216FC sub_216FC: @ 0x080216FC - push {r4, lr} - ldr r1, _0802171C @ =0x020314E0 - ldr r0, [r1] - ldrb r0, [r0, #0x17] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r3, r1, #0 - cmp r0, #8 - bls _08021710 - b _080219A2 + push {r4, lr} + ldr r1, _0802171C @ =0x020314E0 + ldr r0, [r1] + ldrb r0, [r0, #0x17] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r3, r1, #0 + cmp r0, #8 + bls _08021710 + b _080219A2 _08021710: - lsls r0, r0, #2 - ldr r1, _08021720 @ =_08021724 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08021720 @ =_08021724 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0802171C: .4byte 0x020314E0 _08021720: .4byte _08021724 _08021724: @ jump table - .4byte _08021748 @ case 0 - .4byte _0802175C @ case 1 - .4byte _080217FC @ case 2 - .4byte _08021824 @ case 3 - .4byte _08021850 @ case 4 - .4byte _08021938 @ case 5 - .4byte _08021960 @ case 6 - .4byte _08021988 @ case 7 - .4byte _0802199C @ case 8 + .4byte _08021748 @ case 0 + .4byte _0802175C @ case 1 + .4byte _080217FC @ case 2 + .4byte _08021824 @ case 3 + .4byte _08021850 @ case 4 + .4byte _08021938 @ case 5 + .4byte _08021960 @ case 6 + .4byte _08021988 @ case 7 + .4byte _0802199C @ case 8 _08021748: - ldr r1, [r3] - ldrh r0, [r1, #0x18] - cmp r0, #0x3b - bhi _08021756 - adds r0, #1 - strh r0, [r1, #0x18] - b _080219A2 + ldr r1, [r3] + ldrh r0, [r1, #0x18] + cmp r0, #0x3b + bhi _08021756 + adds r0, #1 + strh r0, [r1, #0x18] + b _080219A2 _08021756: - movs r0, #0 - strh r0, [r1, #0x18] - b _08021990 + movs r0, #0 + strh r0, [r1, #0x18] + b _08021990 _0802175C: - ldr r1, [r3] - ldrh r0, [r1, #0x18] - cmp r0, #8 - bls _08021766 - b _080219A2 + ldr r1, [r3] + ldrh r0, [r1, #0x18] + cmp r0, #8 + bls _08021766 + b _080219A2 _08021766: - adds r0, #1 - strh r0, [r1, #0x18] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #7 - bhi _0802177E - movs r0, #0xe6 - lsls r0, r0, #3 - adds r1, r1, r0 - movs r0, #1 - strb r0, [r1] - b _080219A2 + adds r0, #1 + strh r0, [r1, #0x18] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #7 + bhi _0802177E + movs r0, #0xe6 + lsls r0, r0, #3 + adds r1, r1, r0 + movs r0, #1 + strb r0, [r1] + b _080219A2 _0802177E: - cmp r0, #8 - beq _08021784 - b _080219A2 + cmp r0, #8 + beq _08021784 + b _080219A2 _08021784: - ldr r2, _080217A4 @ =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 _080217CE - lsls r0, r0, #2 - ldr r1, _080217A8 @ =_080217AC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + ldr r2, _080217A4 @ =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 _080217CE + lsls r0, r0, #2 + ldr r1, _080217A8 @ =_080217AC + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080217A4: .4byte 0x00000283 _080217A8: .4byte _080217AC _080217AC: @ jump table - .4byte _080217C0 @ case 0 - .4byte _080217C8 @ case 1 - .4byte _080217C0 @ case 2 - .4byte _080217C8 @ case 3 - .4byte _080217C8 @ case 4 + .4byte _080217C0 @ case 0 + .4byte _080217C8 @ case 1 + .4byte _080217C0 @ case 2 + .4byte _080217C8 @ case 3 + .4byte _080217C8 @ case 4 _080217C0: - movs r0, #0xe - bl m4aSongNumStart - b _080217CE + movs r0, #0xe + bl m4aSongNumStart + b _080217CE _080217C8: - movs r0, #0xf - bl m4aSongNumStart + movs r0, #0xf + bl m4aSongNumStart _080217CE: - bl sub_219A8 - ldr r2, _080217F8 @ =0x020314E0 - ldr r0, [r2] - movs r3, #0xe6 - lsls r3, r3, #3 - adds r0, r0, r3 - movs r3, #0 - movs r1, #2 - strb r1, [r0] - ldr r1, [r2] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - ldr r0, [r2] - movs r1, #0xe1 - lsls r1, r1, #3 - adds r0, r0, r1 - str r3, [r0] - b _080219A2 - .align 2, 0 + bl sub_219A8 + ldr r2, _080217F8 @ =0x020314E0 + ldr r0, [r2] + movs r3, #0xe6 + lsls r3, r3, #3 + adds r0, r0, r3 + movs r3, #0 + movs r1, #2 + strb r1, [r0] + ldr r1, [r2] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + ldr r0, [r2] + movs r1, #0xe1 + lsls r1, r1, #3 + adds r0, r0, r1 + str r3, [r0] + b _080219A2 + .align 2, 0 _080217F8: .4byte 0x020314E0 _080217FC: - bl sub_219EC - movs r0, #7 - movs r1, #0 - bl sub_1C7F4 - ldr r0, _08021820 @ =0x020314E0 - ldr r1, [r0] - adds r0, r1, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - beq _0802181C - b _080219A2 + bl sub_219EC + movs r0, #7 + movs r1, #0 + bl sub_1C7F4 + ldr r0, _08021820 @ =0x020314E0 + ldr r1, [r0] + adds r0, r1, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + beq _0802181C + b _080219A2 _0802181C: - b _08021990 - .align 2, 0 + b _08021990 + .align 2, 0 _08021820: .4byte 0x020314E0 _08021824: - ldr r1, [r3] - ldrb r0, [r1, #0x17] - adds r0, #1 - movs r2, #0 - strb r0, [r1, #0x17] - ldr r0, [r3] - strh r2, [r0, #0x18] - movs r3, #0xe1 - lsls r3, r3, #3 - adds r1, r0, r3 - str r2, [r1] - ldr r1, _0802184C @ =0x000006EC - adds r0, r0, r1 - movs r1, #0x2e - strb r1, [r0] - movs r0, #7 - movs r1, #0 - bl sub_1C7F4 - b _080219A2 - .align 2, 0 + ldr r1, [r3] + ldrb r0, [r1, #0x17] + adds r0, #1 + movs r2, #0 + strb r0, [r1, #0x17] + ldr r0, [r3] + strh r2, [r0, #0x18] + movs r3, #0xe1 + lsls r3, r3, #3 + adds r1, r0, r3 + str r2, [r1] + ldr r1, _0802184C @ =0x000006EC + adds r0, r0, r1 + movs r1, #0x2e + strb r1, [r0] + movs r0, #7 + movs r1, #0 + bl sub_1C7F4 + b _080219A2 + .align 2, 0 _0802184C: .4byte 0x000006EC _08021850: - ldr r4, _08021874 @ =0x020314E0 - ldr r1, [r4] - ldrh r0, [r1, #0x28] - cmp r0, #0x91 - bne _080218C4 - adds r0, #1 - strh r0, [r1, #0x28] - ldr r0, _08021878 @ =0x0200B0C0 - ldrh r2, [r0, #0x18] - movs r0, #1 - ands r0, r2 - cmp r0, #0 - beq _0802187C - movs r0, #0x90 - strh r0, [r1, #0x28] - bl m4aMPlayAllStop - b _080218B0 - .align 2, 0 + ldr r4, _08021874 @ =0x020314E0 + ldr r1, [r4] + ldrh r0, [r1, #0x28] + cmp r0, #0x91 + bne _080218C4 + adds r0, #1 + strh r0, [r1, #0x28] + ldr r0, _08021878 @ =0x0200B0C0 + ldrh r2, [r0, #0x18] + movs r0, #1 + ands r0, r2 + cmp r0, #0 + beq _0802187C + movs r0, #0x90 + strh r0, [r1, #0x28] + bl m4aMPlayAllStop + b _080218B0 + .align 2, 0 _08021874: .4byte 0x020314E0 _08021878: .4byte 0x0200B0C0 _0802187C: - movs r0, #2 - ands r0, r2 - cmp r0, #0 - beq _080218B0 - bl m4aMPlayAllStop - movs r0, #0x66 - bl m4aSongNumStart - ldr r1, [r4] - movs r0, #0x3c - strh r0, [r1, #0x28] - movs r0, #6 - strb r0, [r1, #0x17] - ldr r1, [r4] - ldr r2, _08021924 @ =0x00000714 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _080218B0 - ldr r3, _08021928 @ =0x000006EE - adds r1, r1, r3 - movs r0, #0x78 - strh r0, [r1] + movs r0, #2 + ands r0, r2 + cmp r0, #0 + beq _080218B0 + bl m4aMPlayAllStop + movs r0, #0x66 + bl m4aSongNumStart + ldr r1, [r4] + movs r0, #0x3c + strh r0, [r1, #0x28] + movs r0, #6 + strb r0, [r1, #0x17] + ldr r1, [r4] + ldr r2, _08021924 @ =0x00000714 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _080218B0 + ldr r3, _08021928 @ =0x000006EE + adds r1, r1, r3 + movs r0, #0x78 + strh r0, [r1] _080218B0: - ldr r0, _0802192C @ =0x020314E0 - ldr r0, [r0] - ldr r1, _08021930 @ =0x000006EC - adds r0, r0, r1 - movs r1, #0x2e - strb r1, [r0] - movs r0, #7 - movs r1, #0 - bl sub_1C7F4 + ldr r0, _0802192C @ =0x020314E0 + ldr r0, [r0] + ldr r1, _08021930 @ =0x000006EC + adds r0, r0, r1 + movs r1, #0x2e + strb r1, [r0] + movs r0, #7 + movs r1, #0 + bl sub_1C7F4 _080218C4: - ldr r4, _0802192C @ =0x020314E0 - ldr r0, [r4] - ldrh r0, [r0, #0x28] - cmp r0, #0x82 - bne _080218E2 - movs r0, #0x9f - bl m4aSongNumStart - ldr r1, [r4] - movs r0, #0x41 - strh r0, [r1, #0x18] - ldr r1, _08021934 @ =0x0200B0C0 - ldrh r0, [r1, #0x38] - movs r0, #0x9f - strh r0, [r1, #0x38] + ldr r4, _0802192C @ =0x020314E0 + ldr r0, [r4] + ldrh r0, [r0, #0x28] + cmp r0, #0x82 + bne _080218E2 + movs r0, #0x9f + bl m4aSongNumStart + ldr r1, [r4] + movs r0, #0x41 + strh r0, [r1, #0x18] + ldr r1, _08021934 @ =0x0200B0C0 + ldrh r0, [r1, #0x38] + movs r0, #0x9f + strh r0, [r1, #0x38] _080218E2: - ldr r1, [r4] - ldrh r0, [r1, #0x28] - cmp r0, #0x7d - bne _080218EE - adds r0, #1 - strh r0, [r1, #0x28] + ldr r1, [r4] + ldrh r0, [r1, #0x28] + cmp r0, #0x7d + bne _080218EE + adds r0, #1 + strh r0, [r1, #0x28] _080218EE: - ldr r1, [r4] - ldrh r0, [r1, #0x18] - cmp r0, #0 - beq _080219A2 - movs r2, #0x88 - lsls r2, r2, #5 - adds r1, r1, r2 - movs r0, #1 - strb r0, [r1] - ldr r3, [r4] - ldrh r0, [r3, #0x18] - subs r0, #1 - strh r0, [r3, #0x18] - ldr r2, _08021934 @ =0x0200B0C0 - 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 _080219A2 - ldrb r0, [r3, #0x17] - adds r0, #1 - strb r0, [r3, #0x17] - b _080219A2 - .align 2, 0 + ldr r1, [r4] + ldrh r0, [r1, #0x18] + cmp r0, #0 + beq _080219A2 + movs r2, #0x88 + lsls r2, r2, #5 + adds r1, r1, r2 + movs r0, #1 + strb r0, [r1] + ldr r3, [r4] + ldrh r0, [r3, #0x18] + subs r0, #1 + strh r0, [r3, #0x18] + ldr r2, _08021934 @ =0x0200B0C0 + 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 _080219A2 + ldrb r0, [r3, #0x17] + adds r0, #1 + strb r0, [r3, #0x17] + b _080219A2 + .align 2, 0 _08021924: .4byte 0x00000714 _08021928: .4byte 0x000006EE _0802192C: .4byte 0x020314E0 _08021930: .4byte 0x000006EC _08021934: .4byte 0x0200B0C0 _08021938: - ldr r2, [r3] - ldrh r0, [r2, #0x18] - cmp r0, #0x1d - bhi _08021946 - adds r0, #1 - strh r0, [r2, #0x18] - b _080219A2 + ldr r2, [r3] + ldrh r0, [r2, #0x18] + cmp r0, #0x1d + bhi _08021946 + adds r0, #1 + strh r0, [r2, #0x18] + b _080219A2 _08021946: - movs r1, #0 - movs r0, #0 - strh r0, [r2, #0x18] - strb r1, [r2, #0x17] - ldr r0, [r3] - ldr r3, _0802195C @ =0x00000282 - adds r0, r0, r3 - strb r1, [r0] - bl sub_1C73C - b _080219A2 - .align 2, 0 + movs r1, #0 + movs r0, #0 + strh r0, [r2, #0x18] + strb r1, [r2, #0x17] + ldr r0, [r3] + ldr r3, _0802195C @ =0x00000282 + adds r0, r0, r3 + strb r1, [r0] + bl sub_1C73C + b _080219A2 + .align 2, 0 _0802195C: .4byte 0x00000282 _08021960: - bl sub_219EC - ldr r0, _08021980 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r0, [r0, #0x34] - movs r3, #0 - strh r3, [r0] - ldr r2, _08021984 @ =0x020314E0 - ldr r1, [r2] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - ldr r0, [r2] - strh r3, [r0, #0x18] - b _080219A2 - .align 2, 0 + bl sub_219EC + ldr r0, _08021980 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r0, [r0, #0x34] + movs r3, #0 + strh r3, [r0] + ldr r2, _08021984 @ =0x020314E0 + ldr r1, [r2] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + ldr r0, [r2] + strh r3, [r0, #0x18] + b _080219A2 + .align 2, 0 _08021980: .4byte 0x0200B0C0 _08021984: .4byte 0x020314E0 _08021988: - bl sub_21514 - ldr r0, _08021998 @ =0x020314E0 - ldr r1, [r0] + bl sub_21514 + ldr r0, _08021998 @ =0x020314E0 + ldr r1, [r0] _08021990: - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - b _080219A2 - .align 2, 0 + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + b _080219A2 + .align 2, 0 _08021998: .4byte 0x020314E0 _0802199C: - movs r0, #1 - bl sub_19B64 + movs r0, #1 + bl sub_19B64 _080219A2: - pop {r4} - pop {r0} - bx r0 + pop {r4} + pop {r0} + bx r0 - thumb_func_start sub_219A8 + thumb_func_start sub_219A8 sub_219A8: @ 0x080219A8 - ldr r1, _080219D0 @ =0x040000D4 - ldr r0, _080219D4 @ =0x0844838C - str r0, [r1] - ldr r0, _080219D8 @ =0x060113C0 - str r0, [r1, #4] - ldr r0, _080219DC @ =0x80000180 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _080219E0 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r1, [r0, #0x34] - movs r2, #1 - movs r0, #1 - strh r0, [r1] - ldr r0, _080219E4 @ =0x020314E0 - ldr r0, [r0] - ldr r1, _080219E8 @ =0x000005F3 - adds r0, r0, r1 - strb r2, [r0] - bx lr - .align 2, 0 + ldr r1, _080219D0 @ =0x040000D4 + ldr r0, _080219D4 @ =0x0844838C + str r0, [r1] + ldr r0, _080219D8 @ =0x060113C0 + str r0, [r1, #4] + ldr r0, _080219DC @ =0x80000180 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _080219E0 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r1, [r0, #0x34] + movs r2, #1 + movs r0, #1 + strh r0, [r1] + ldr r0, _080219E4 @ =0x020314E0 + ldr r0, [r0] + ldr r1, _080219E8 @ =0x000005F3 + adds r0, r0, r1 + strb r2, [r0] + bx lr + .align 2, 0 _080219D0: .4byte 0x040000D4 _080219D4: .4byte 0x0844838C _080219D8: .4byte 0x060113C0 @@ -66362,138 +66362,138 @@ _080219E0: .4byte 0x0200B0C0 _080219E4: .4byte 0x020314E0 _080219E8: .4byte 0x000005F3 - thumb_func_start sub_219EC + thumb_func_start sub_219EC sub_219EC: @ 0x080219EC - push {r4, r5, r6, r7, lr} - ldr r0, _08021A58 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r6, [r0, #0x34] - ldr r5, _08021A5C @ =0x020314E0 - ldr r4, [r5] - movs r1, #0xa4 - lsls r1, r1, #2 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, #0x23 - bl __umodsi3 - movs r1, #7 - bl __udivsi3 - ldr r3, _08021A60 @ =0x0000020B - adds r4, r4, r3 - strb r0, [r4] - ldrh r0, [r6] - cmp r0, #0 - beq _08021AE8 - 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 r1, [r1] - movs r2, #0x8c - lsls r2, r2, #1 - adds r0, r2, #0 - subs r0, r0, r1 - strh r0, [r6, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc7 - ble _08021A40 - movs r0, #0xc8 - strh r0, [r6, #4] + push {r4, r5, r6, r7, lr} + ldr r0, _08021A58 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r6, [r0, #0x34] + ldr r5, _08021A5C @ =0x020314E0 + ldr r4, [r5] + movs r1, #0xa4 + lsls r1, r1, #2 + adds r0, r4, r1 + ldr r0, [r0] + movs r1, #0x23 + bl __umodsi3 + movs r1, #7 + bl __udivsi3 + ldr r3, _08021A60 @ =0x0000020B + adds r4, r4, r3 + strb r0, [r4] + ldrh r0, [r6] + cmp r0, #0 + beq _08021AE8 + 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 r1, [r1] + movs r2, #0x8c + lsls r2, r2, #1 + adds r0, r2, #0 + subs r0, r0, r1 + strh r0, [r6, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xc7 + ble _08021A40 + movs r0, #0xc8 + strh r0, [r6, #4] _08021A40: - ldr r4, [r5] - adds r0, r4, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - bne _08021A64 - movs r0, #0xc8 - strh r0, [r6, #4] - b _08021A9C - .align 2, 0 + ldr r4, [r5] + adds r0, r4, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + bne _08021A64 + movs r0, #0xc8 + strh r0, [r6, #4] + b _08021A9C + .align 2, 0 _08021A58: .4byte 0x0200B0C0 _08021A5C: .4byte 0x020314E0 _08021A60: .4byte 0x0000020B _08021A64: - adds r3, r4, r3 - movs r1, #0x83 - lsls r1, r1, #2 - adds r0, r4, r1 - movs r1, #0 - ldrsb r1, [r3, r1] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - beq _08021A9C - ldr r2, _08021AF0 @ =0x040000D4 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _08021AF4 @ =0x0844838C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08021AF8 @ =0x060113C0 - str r0, [r2, #4] - ldr r0, _08021AFC @ =0x80000180 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldrb r1, [r3] - movs r2, #0x83 - lsls r2, r2, #2 - adds r0, r4, r2 - strb r1, [r0] + adds r3, r4, r3 + movs r1, #0x83 + lsls r1, r1, #2 + adds r0, r4, r1 + movs r1, #0 + ldrsb r1, [r3, r1] + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + beq _08021A9C + ldr r2, _08021AF0 @ =0x040000D4 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _08021AF4 @ =0x0844838C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08021AF8 @ =0x060113C0 + str r0, [r2, #4] + ldr r0, _08021AFC @ =0x80000180 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldrb r1, [r3] + movs r2, #0x83 + lsls r2, r2, #2 + adds r0, r4, r2 + strb r1, [r0] _08021A9C: - movs r0, #0 - ldr r7, _08021B00 @ =0x03005000 - ldr r1, _08021B04 @ =0xFFFFFE00 - mov ip, r1 + movs r0, #0 + ldr r7, _08021B00 @ =0x03005000 + ldr r1, _08021B04 @ =0xFFFFFE00 + mov ip, r1 _08021AA4: - 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, _08021B08 @ =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 _08021AA4 + 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, _08021B08 @ =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 _08021AA4 _08021AE8: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08021AF0: .4byte 0x040000D4 _08021AF4: .4byte 0x0844838C _08021AF8: .4byte 0x060113C0 @@ -66502,440 +66502,440 @@ _08021B00: .4byte 0x03005000 _08021B04: .4byte 0xFFFFFE00 _08021B08: .4byte 0x000001FF - thumb_func_start sub_21B0C + thumb_func_start sub_21B0C sub_21B0C: @ 0x08021B0C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #8 - ldr r0, _08021BE8 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r7, [r0, #0x44] - mov r0, sp - movs r1, #0 - movs r2, #6 - bl memset - ldr r5, _08021BEC @ =0x020314E0 - ldr r6, [r5] - movs r0, #0xe5 - lsls r0, r0, #1 - adds r3, r6, r0 - movs r1, #0xe6 - lsls r1, r1, #1 - adds r4, r6, r1 - movs r2, #0 - ldrsh r1, [r3, r2] - movs r2, #0 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08021B44 - b _08021C5C + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + sub sp, #8 + ldr r0, _08021BE8 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r7, [r0, #0x44] + mov r0, sp + movs r1, #0 + movs r2, #6 + bl memset + ldr r5, _08021BEC @ =0x020314E0 + ldr r6, [r5] + movs r0, #0xe5 + lsls r0, r0, #1 + adds r3, r6, r0 + movs r1, #0xe6 + lsls r1, r1, #1 + adds r4, r6, r1 + movs r2, #0 + ldrsh r1, [r3, r2] + movs r2, #0 + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _08021B44 + b _08021C5C _08021B44: - cmp r1, #0xc - bne _08021C40 - movs r0, #0xe7 - lsls r0, r0, #1 - mov sb, r0 - adds r1, r6, r0 - ldrh r0, [r1] - adds r2, r0, #0 - cmp r2, #0 - beq _08021BF0 - subs r0, #1 - strh r0, [r1] - ldrh r4, [r1] - adds r0, r4, #0 - movs r1, #0x14 - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #0xa - bl __udivsi3 - adds r0, #0xc - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r8, r0 - cmp r4, #0x28 - bhi _08021C14 - cmp r4, #2 - bls _08021B98 - movs r1, #0xea - lsls r1, r1, #1 - adds r0, r6, r1 - ldrh r1, [r0] - adds r1, #3 - strh r1, [r0] - movs r2, #0xeb - lsls r2, r2, #1 - adds r1, r6, r2 - ldrh r0, [r1] - adds r0, #2 - strh r0, [r1] + cmp r1, #0xc + bne _08021C40 + movs r0, #0xe7 + lsls r0, r0, #1 + mov sb, r0 + adds r1, r6, r0 + ldrh r0, [r1] + adds r2, r0, #0 + cmp r2, #0 + beq _08021BF0 + subs r0, #1 + strh r0, [r1] + ldrh r4, [r1] + adds r0, r4, #0 + movs r1, #0x14 + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r1, #0xa + bl __udivsi3 + adds r0, #0xc + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov r8, r0 + cmp r4, #0x28 + bhi _08021C14 + cmp r4, #2 + bls _08021B98 + movs r1, #0xea + lsls r1, r1, #1 + adds r0, r6, r1 + ldrh r1, [r0] + adds r1, #3 + strh r1, [r0] + movs r2, #0xeb + lsls r2, r2, #1 + adds r1, r6, r2 + ldrh r0, [r1] + adds r0, #2 + strh r0, [r1] _08021B98: - ldr r5, [r5] - mov r0, sb - adds r6, r5, r0 - ldrh r0, [r6] - lsls r0, r0, #7 - movs r4, #0x28 - movs r1, #0x28 - bl __divsi3 - adds r0, #0x80 - movs r2, #0xed - lsls r2, r2, #1 - adds r1, r5, r2 - strh r0, [r1] - movs r1, #0xec - lsls r1, r1, #1 - adds r5, r5, r1 - strh r0, [r5] - mov r5, sp - ldrh r0, [r6] - subs r0, r4, r0 - lsls r0, r0, #4 - movs r1, #0x28 - bl __divsi3 - strh r0, [r5, #2] - mov r5, sp - ldrh r0, [r6] - subs r4, r4, r0 - lsls r4, r4, #4 - rsbs r4, r4, #0 - adds r0, r4, #0 - movs r1, #0x28 - bl __divsi3 - strh r0, [r5] - mov r1, sp - movs r0, #0 - strh r0, [r1, #4] - b _08021C14 - .align 2, 0 + ldr r5, [r5] + mov r0, sb + adds r6, r5, r0 + ldrh r0, [r6] + lsls r0, r0, #7 + movs r4, #0x28 + movs r1, #0x28 + bl __divsi3 + adds r0, #0x80 + movs r2, #0xed + lsls r2, r2, #1 + adds r1, r5, r2 + strh r0, [r1] + movs r1, #0xec + lsls r1, r1, #1 + adds r5, r5, r1 + strh r0, [r5] + mov r5, sp + ldrh r0, [r6] + subs r0, r4, r0 + lsls r0, r0, #4 + movs r1, #0x28 + bl __divsi3 + strh r0, [r5, #2] + mov r5, sp + ldrh r0, [r6] + subs r4, r4, r0 + lsls r4, r4, #4 + rsbs r4, r4, #0 + adds r0, r4, #0 + movs r1, #0x28 + bl __divsi3 + strh r0, [r5] + mov r1, sp + movs r0, #0 + strh r0, [r1, #4] + b _08021C14 + .align 2, 0 _08021BE8: .4byte 0x0200B0C0 _08021BEC: .4byte 0x020314E0 _08021BF0: - movs r0, #0xd - strh r0, [r4] - strh r0, [r3] - mov r8, r0 - movs r1, #0xe8 - lsls r1, r1, #1 - adds r0, r6, r1 - strh r2, [r0] - movs r2, #0xeb - lsls r2, r2, #1 - adds r1, r6, r2 - movs r0, #0x78 - strh r0, [r1] - movs r0, #0xee - lsls r0, r0, #1 - adds r1, r6, r0 - movs r0, #0x3c - strh r0, [r1] + movs r0, #0xd + strh r0, [r4] + strh r0, [r3] + mov r8, r0 + movs r1, #0xe8 + lsls r1, r1, #1 + adds r0, r6, r1 + strh r2, [r0] + movs r2, #0xeb + lsls r2, r2, #1 + adds r1, r6, r2 + movs r0, #0x78 + strh r0, [r1] + movs r0, #0xee + lsls r0, r0, #1 + adds r1, r6, r0 + movs r0, #0x3c + strh r0, [r1] _08021C14: - ldr r2, _08021C30 @ =0x040000D4 - mov r1, r8 - lsls r0, r1, #0x10 - asrs r0, r0, #9 - ldr r1, _08021C34 @ =0x084C00EC - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08021C38 @ =0x06010AE0 - str r0, [r2, #4] - ldr r0, _08021C3C @ =0x80000040 - str r0, [r2, #8] - ldr r0, [r2, #8] - b _08021C5C - .align 2, 0 + ldr r2, _08021C30 @ =0x040000D4 + mov r1, r8 + lsls r0, r1, #0x10 + asrs r0, r0, #9 + ldr r1, _08021C34 @ =0x084C00EC + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08021C38 @ =0x06010AE0 + str r0, [r2, #4] + ldr r0, _08021C3C @ =0x80000040 + str r0, [r2, #8] + ldr r0, [r2, #8] + b _08021C5C + .align 2, 0 _08021C30: .4byte 0x040000D4 _08021C34: .4byte 0x084C00EC _08021C38: .4byte 0x06010AE0 _08021C3C: .4byte 0x80000040 _08021C40: - ldr r2, _08021C98 @ =0x040000D4 - movs r1, #0 - ldrsh r0, [r3, r1] - lsls r0, r0, #7 - ldr r1, _08021C9C @ =0x084C00EC - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08021CA0 @ =0x06010AE0 - str r0, [r2, #4] - ldr r0, _08021CA4 @ =0x80000040 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldrh r0, [r3] - strh r0, [r4] + ldr r2, _08021C98 @ =0x040000D4 + movs r1, #0 + ldrsh r0, [r3, r1] + lsls r0, r0, #7 + ldr r1, _08021C9C @ =0x084C00EC + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08021CA0 @ =0x06010AE0 + str r0, [r2, #4] + ldr r0, _08021CA4 @ =0x80000040 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldrh r0, [r3] + strh r0, [r4] _08021C5C: - ldr r0, _08021CA8 @ =0x020314E0 - ldr r3, [r0] - movs r2, #0xe8 - lsls r2, r2, #1 - adds r1, r3, r2 - ldrh r2, [r1] - adds r4, r0, #0 - cmp r2, #0 - beq _08021CAC - subs r0, r2, #1 - strh r0, [r1] - movs r2, #0xeb - lsls r2, r2, #1 - adds r0, r3, r2 - ldrh r0, [r0] - adds r0, #0x50 - strh r0, [r7, #4] - ldrh r0, [r1] - cmp r0, #0x13 - bhi _08021CB0 - adds r1, r0, #0 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, #0x10 - adds r2, #4 - adds r1, r3, r2 - strh r0, [r1] - b _08021CB0 - .align 2, 0 + ldr r0, _08021CA8 @ =0x020314E0 + ldr r3, [r0] + movs r2, #0xe8 + lsls r2, r2, #1 + adds r1, r3, r2 + ldrh r2, [r1] + adds r4, r0, #0 + cmp r2, #0 + beq _08021CAC + subs r0, r2, #1 + strh r0, [r1] + movs r2, #0xeb + lsls r2, r2, #1 + adds r0, r3, r2 + ldrh r0, [r0] + adds r0, #0x50 + strh r0, [r7, #4] + ldrh r0, [r1] + cmp r0, #0x13 + bhi _08021CB0 + adds r1, r0, #0 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + adds r0, #0x10 + adds r2, #4 + adds r1, r3, r2 + strh r0, [r1] + b _08021CB0 + .align 2, 0 _08021C98: .4byte 0x040000D4 _08021C9C: .4byte 0x084C00EC _08021CA0: .4byte 0x06010AE0 _08021CA4: .4byte 0x80000040 _08021CA8: .4byte 0x020314E0 _08021CAC: - movs r0, #0xb4 - strh r0, [r7, #4] + movs r0, #0xb4 + strh r0, [r7, #4] _08021CB0: - ldr r1, [r4] - movs r2, #0xea - lsls r2, r2, #1 - adds r0, r1, r2 - ldrh r0, [r0] - adds r0, #0x77 - strh r0, [r7, #2] - adds r2, #4 - adds r0, r1, r2 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r2, #0xed - lsls r2, r2, #1 - adds r1, r1, r2 - movs r2, #0 - ldrsh r1, [r1, r2] - movs r2, #1 - bl sub_7C0 - movs r0, #0 - ldr r6, _08021D6C @ =0x03005000 - ldr r1, _08021D70 @ =0xFFFFFE00 - mov ip, r1 - movs r2, #4 - rsbs r2, r2, #0 - mov sb, r2 - movs r1, #0xf - rsbs r1, r1, #0 - mov r8, r1 + ldr r1, [r4] + movs r2, #0xea + lsls r2, r2, #1 + adds r0, r1, r2 + ldrh r0, [r0] + adds r0, #0x77 + strh r0, [r7, #2] + adds r2, #4 + adds r0, r1, r2 + movs r2, #0 + ldrsh r0, [r0, r2] + movs r2, #0xed + lsls r2, r2, #1 + adds r1, r1, r2 + movs r2, #0 + ldrsh r1, [r1, r2] + movs r2, #1 + bl sub_7C0 + movs r0, #0 + ldr r6, _08021D6C @ =0x03005000 + ldr r1, _08021D70 @ =0xFFFFFE00 + mov ip, r1 + movs r2, #4 + rsbs r2, r2, #0 + mov sb, r2 + movs r1, #0xf + rsbs r1, r1, #0 + mov r8, r1 _08021CEA: - lsls r5, r0, #0x10 - asrs r5, r5, #0x10 - lsls r4, r5, #3 - adds r4, #8 - adds r4, r7, r4 - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r2, #2 - ldrsh r1, [r4, r2] - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - lsls r0, r5, #1 - add r0, sp - movs r2, #0 - ldrsh r0, [r0, r2] - adds r1, r1, r0 - ldr r2, _08021D74 @ =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, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r0, [r7, #4] - ldrb r2, [r4, #4] - adds r0, r0, r2 - strb r0, [r1] - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #1] - mov r0, sb - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #1] - ldrh r2, [r4] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #3] - mov r0, r8 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2, #3] - adds r5, #1 - lsls r5, r5, #0x10 - lsrs r0, r5, #0x10 - asrs r5, r5, #0x10 - cmp r5, #2 - ble _08021CEA - add sp, #8 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + lsls r5, r0, #0x10 + asrs r5, r5, #0x10 + lsls r4, r5, #3 + adds r4, #8 + adds r4, r7, r4 + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r2, #2 + ldrsh r1, [r4, r2] + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + lsls r0, r5, #1 + add r0, sp + movs r2, #0 + ldrsh r0, [r0, r2] + adds r1, r1, r0 + ldr r2, _08021D74 @ =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, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r0, [r7, #4] + ldrb r2, [r4, #4] + adds r0, r0, r2 + strb r0, [r1] + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #1] + mov r0, sb + ands r0, r1 + movs r1, #1 + orrs r0, r1 + strb r0, [r2, #1] + ldrh r2, [r4] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #3] + mov r0, r8 + ands r0, r1 + movs r1, #2 + orrs r0, r1 + strb r0, [r2, #3] + adds r5, #1 + lsls r5, r5, #0x10 + lsrs r0, r5, #0x10 + asrs r5, r5, #0x10 + cmp r5, #2 + ble _08021CEA + add sp, #8 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08021D6C: .4byte 0x03005000 _08021D70: .4byte 0xFFFFFE00 _08021D74: .4byte 0x000001FF - thumb_func_start sub_21D78 + thumb_func_start sub_21D78 sub_21D78: @ 0x08021D78 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r7, _08021DD8 @ =0x0200EBC8 - ldr r4, _08021DDC @ =0x020314E0 - ldr r6, [r4] - movs r0, #0xd2 - lsls r0, r0, #1 - adds r2, r6, r0 - movs r3, #0 - ldrsb r3, [r2, r3] - cmp r3, #0 - bne _08021E2C - ldr r1, _08021DE0 @ =0x0000072E - adds r0, r6, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - ble _08021DEC - ldr r1, _08021DE4 @ =0x00000281 - adds r0, r6, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bgt _08021DB0 - b _08021F86 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r7, _08021DD8 @ =0x0200EBC8 + ldr r4, _08021DDC @ =0x020314E0 + ldr r6, [r4] + movs r0, #0xd2 + lsls r0, r0, #1 + adds r2, r6, r0 + movs r3, #0 + ldrsb r3, [r2, r3] + cmp r3, #0 + bne _08021E2C + ldr r1, _08021DE0 @ =0x0000072E + adds r0, r6, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + ble _08021DEC + ldr r1, _08021DE4 @ =0x00000281 + adds r0, r6, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bgt _08021DB0 + b _08021F86 _08021DB0: - subs r1, #0xdc - adds r0, r6, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08021DC0 - b _08021F86 + subs r1, #0xdc + adds r0, r6, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08021DC0 + b _08021F86 _08021DC0: - movs r1, #1 - strb r1, [r2] - ldr r2, [r4] - movs r4, #0xda - lsls r4, r4, #1 - adds r0, r2, r4 - strh r3, [r0] - ldr r3, _08021DE8 @ =0x000001A5 - adds r0, r2, r3 - strb r1, [r0] - b _08021F86 - .align 2, 0 + movs r1, #1 + strb r1, [r2] + ldr r2, [r4] + movs r4, #0xda + lsls r4, r4, #1 + adds r0, r2, r4 + strh r3, [r0] + ldr r3, _08021DE8 @ =0x000001A5 + adds r0, r2, r3 + strb r1, [r0] + b _08021F86 + .align 2, 0 _08021DD8: .4byte 0x0200EBC8 _08021DDC: .4byte 0x020314E0 _08021DE0: .4byte 0x0000072E _08021DE4: .4byte 0x00000281 _08021DE8: .4byte 0x000001A5 _08021DEC: - movs r0, #0x13 - ldrsb r0, [r6, r0] - cmp r0, #6 - bne _08021DF6 - b _08021F86 + movs r0, #0x13 + ldrsb r0, [r6, r0] + cmp r0, #6 + bne _08021DF6 + b _08021F86 _08021DF6: - ldr r5, _08021E28 @ =0x000001A5 - adds r0, r6, r5 - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #1 - beq _08021E04 - b _08021F86 + ldr r5, _08021E28 @ =0x000001A5 + adds r0, r6, r5 + movs r1, #0 + ldrsb r1, [r0, r1] + cmp r1, #1 + beq _08021E04 + b _08021F86 _08021E04: - adds r0, r6, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bne _08021E14 - b _08021F86 + adds r0, r6, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bne _08021E14 + b _08021F86 _08021E14: - strb r1, [r2] - ldr r0, [r4] - movs r4, #0xda - lsls r4, r4, #1 - adds r1, r0, r4 - movs r2, #0 - strh r3, [r1] - adds r0, r0, r5 - strb r2, [r0] - b _08021F86 - .align 2, 0 + strb r1, [r2] + ldr r0, [r4] + movs r4, #0xda + lsls r4, r4, #1 + adds r1, r0, r4 + movs r2, #0 + strh r3, [r1] + adds r0, r0, r5 + strb r2, [r0] + b _08021F86 + .align 2, 0 _08021E28: .4byte 0x000001A5 _08021E2C: - ldr r5, _08021E7C @ =0x086AD456 - movs r1, #0xda - lsls r1, r1, #1 - adds r0, r6, r1 - ldrh r4, [r0] - adds r0, r4, #0 - 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, _08021E80 @ =0x000001A5 - adds r1, r6, r2 - movs r2, #0 - ldrsb r2, [r1, r2] - lsls r1, r2, #3 - subs r1, r1, r2 - lsls r1, r1, #1 - adds r0, r0, r1 - adds r0, r0, r5 - ldrh r5, [r0] - cmp r4, #0 - bne _08021E94 - movs r0, #1 - strh r0, [r7] - ldr r1, _08021E84 @ =0x040000D4 - ldr r0, _08021E88 @ =0x083A8A8C - str r0, [r1] - ldr r0, _08021E8C @ =0x05000240 - str r0, [r1, #4] - ldr r0, _08021E90 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - b _08021E9E - .align 2, 0 + ldr r5, _08021E7C @ =0x086AD456 + movs r1, #0xda + lsls r1, r1, #1 + adds r0, r6, r1 + ldrh r4, [r0] + adds r0, r4, #0 + 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, _08021E80 @ =0x000001A5 + adds r1, r6, r2 + movs r2, #0 + ldrsb r2, [r1, r2] + lsls r1, r2, #3 + subs r1, r1, r2 + lsls r1, r1, #1 + adds r0, r0, r1 + adds r0, r0, r5 + ldrh r5, [r0] + cmp r4, #0 + bne _08021E94 + movs r0, #1 + strh r0, [r7] + ldr r1, _08021E84 @ =0x040000D4 + ldr r0, _08021E88 @ =0x083A8A8C + str r0, [r1] + ldr r0, _08021E8C @ =0x05000240 + str r0, [r1, #4] + ldr r0, _08021E90 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + b _08021E9E + .align 2, 0 _08021E7C: .4byte 0x086AD456 _08021E80: .4byte 0x000001A5 _08021E84: .4byte 0x040000D4 @@ -66943,135 +66943,135 @@ _08021E88: .4byte 0x083A8A8C _08021E8C: .4byte 0x05000240 _08021E90: .4byte 0x80000010 _08021E94: - cmp r4, #0x25 - bne _08021E9E - movs r0, #0xca - bl m4aSongNumStart + cmp r4, #0x25 + bne _08021E9E + movs r0, #0xca + bl m4aSongNumStart _08021E9E: - ldr r4, _08021F90 @ =0x020314E0 - ldr r0, [r4] - movs r3, #0xda - lsls r3, r3, #1 - adds r0, r0, r3 - ldrh r0, [r0] - movs r1, #6 - bl __umodsi3 - lsls r0, r0, #0x10 - mov r8, r4 - cmp r0, #0 - bne _08021ED4 - ldr r2, _08021F94 @ =0x040000D4 - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _08021F98 @ =0x084F6B0C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08021F9C @ =0x06013D00 - str r0, [r2, #4] - ldr r0, _08021FA0 @ =0x80000280 - str r0, [r2, #8] - ldr r0, [r2, #8] + ldr r4, _08021F90 @ =0x020314E0 + ldr r0, [r4] + movs r3, #0xda + lsls r3, r3, #1 + adds r0, r0, r3 + ldrh r0, [r0] + movs r1, #6 + bl __umodsi3 + lsls r0, r0, #0x10 + mov r8, r4 + cmp r0, #0 + bne _08021ED4 + ldr r2, _08021F94 @ =0x040000D4 + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _08021F98 @ =0x084F6B0C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08021F9C @ =0x06013D00 + str r0, [r2, #4] + ldr r0, _08021FA0 @ =0x80000280 + str r0, [r2, #8] + ldr r0, [r2, #8] _08021ED4: - mov r4, r8 - ldr r1, [r4] - adds r0, r1, #0 - adds r0, #0x58 - ldrh r2, [r0] - movs r0, #0xb5 - subs r0, r0, r2 - strh r0, [r7, #2] - adds r1, #0x5a - ldrh r1, [r1] - movs r0, #0x30 - subs r0, r0, r1 - strh r0, [r7, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x32 - rsbs r1, r1, #0 - cmp r0, r1 - bge _08021EFC - strh r1, [r7, #4] + mov r4, r8 + ldr r1, [r4] + adds r0, r1, #0 + adds r0, #0x58 + ldrh r2, [r0] + movs r0, #0xb5 + subs r0, r0, r2 + strh r0, [r7, #2] + adds r1, #0x5a + ldrh r1, [r1] + movs r0, #0x30 + subs r0, r0, r1 + strh r0, [r7, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0x32 + rsbs r1, r1, #0 + cmp r0, r1 + bge _08021EFC + strh r1, [r7, #4] _08021EFC: - movs r0, #0 - ldr r6, _08021FA4 @ =0x03005000 - ldr r1, _08021FA8 @ =0xFFFFFE00 - mov ip, r1 + movs r0, #0 + ldr r6, _08021FA4 @ =0x03005000 + ldr r1, _08021FA8 @ =0xFFFFFE00 + mov ip, r1 _08021F04: - lsls r5, r0, #0x10 - asrs r5, r5, #0x10 - lsls r3, r5, #3 - adds r3, #8 - adds r3, r7, r3 - ldrh r4, [r3] - lsls r4, r4, #3 - adds r4, r4, r6 - movs r2, #2 - ldrsh r1, [r3, r2] - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - ldr r2, _08021FAC @ =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, r6 - ldrb r0, [r7, #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, #2 - ble _08021F04 - mov r3, r8 - ldr r2, [r3] - movs r4, #0xda - lsls r4, r4, #1 - adds r1, r2, r4 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x28 - bls _08021F86 - ldr r1, _08021FB0 @ =0x000001A5 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - bl sub_4E9F0 - mov r2, r8 - ldr r0, [r2] - movs r3, #0xd2 - lsls r3, r3, #1 - adds r0, r0, r3 - movs r1, #0 - strb r1, [r0] - ldr r0, _08021FB4 @ =0x0200B0C0 - ldr r4, _08021FB8 @ =0x00003B08 - adds r0, r0, r4 - movs r1, #0 - strh r1, [r0] + lsls r5, r0, #0x10 + asrs r5, r5, #0x10 + lsls r3, r5, #3 + adds r3, #8 + adds r3, r7, r3 + ldrh r4, [r3] + lsls r4, r4, #3 + adds r4, r4, r6 + movs r2, #2 + ldrsh r1, [r3, r2] + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + ldr r2, _08021FAC @ =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, r6 + ldrb r0, [r7, #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, #2 + ble _08021F04 + mov r3, r8 + ldr r2, [r3] + movs r4, #0xda + lsls r4, r4, #1 + adds r1, r2, r4 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x28 + bls _08021F86 + ldr r1, _08021FB0 @ =0x000001A5 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + bl sub_4E9F0 + mov r2, r8 + ldr r0, [r2] + movs r3, #0xd2 + lsls r3, r3, #1 + adds r0, r0, r3 + movs r1, #0 + strb r1, [r0] + ldr r0, _08021FB4 @ =0x0200B0C0 + ldr r4, _08021FB8 @ =0x00003B08 + adds r0, r0, r4 + movs r1, #0 + strh r1, [r0] _08021F86: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08021F90: .4byte 0x020314E0 _08021F94: .4byte 0x040000D4 _08021F98: .4byte 0x084F6B0C @@ -67084,226 +67084,226 @@ _08021FB0: .4byte 0x000001A5 _08021FB4: .4byte 0x0200B0C0 _08021FB8: .4byte 0x00003B08 - thumb_func_start sub_21FBC + thumb_func_start sub_21FBC sub_21FBC: @ 0x08021FBC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0xc - ldr r5, _08022168 @ =0x0200B0C0 - ldr r1, [r5, #0x44] - ldr r7, [r1, #0x1c] - ldr r3, _0802216C @ =0x086AD2DE - ldr r4, _08022170 @ =0x020314E0 - ldr r1, [r4] - movs r2, #0xd3 - lsls r2, r2, #1 - adds r1, r1, r2 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - lsls r1, r1, #1 - adds r1, r1, r3 - ldrh r1, [r1] - lsls r1, r1, #3 - ldr r2, _08022174 @ =0x086AD000 - adds r1, r1, r2 - mov r8, r1 - lsls r0, r0, #0x10 - mov sl, r4 - cmp r0, #0 - beq _0802202E - ldrh r0, [r1, #6] - movs r1, #0xa - bl __udivsi3 - ldr r4, _08022178 @ =0x040000D4 - lsls r0, r0, #0x10 - asrs r0, r0, #0xa - ldr r6, _0802217C @ =0x08480E0C - adds r0, r0, r6 - str r0, [r4] - ldr r0, _08022180 @ =0x06015DA0 - str r0, [r4, #4] - ldr r5, _08022184 @ =0x80000020 - str r5, [r4, #8] - ldr r0, [r4, #8] - mov r3, r8 - ldrh r0, [r3, #6] - movs r1, #0xa - bl __umodsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0xa - adds r0, r0, r6 - str r0, [r4] - ldr r0, _08022188 @ =0x06015E60 - str r0, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0xc + ldr r5, _08022168 @ =0x0200B0C0 + ldr r1, [r5, #0x44] + ldr r7, [r1, #0x1c] + ldr r3, _0802216C @ =0x086AD2DE + ldr r4, _08022170 @ =0x020314E0 + ldr r1, [r4] + movs r2, #0xd3 + lsls r2, r2, #1 + adds r1, r1, r2 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + lsls r1, r1, #1 + adds r1, r1, r3 + ldrh r1, [r1] + lsls r1, r1, #3 + ldr r2, _08022174 @ =0x086AD000 + adds r1, r1, r2 + mov r8, r1 + lsls r0, r0, #0x10 + mov sl, r4 + cmp r0, #0 + beq _0802202E + ldrh r0, [r1, #6] + movs r1, #0xa + bl __udivsi3 + ldr r4, _08022178 @ =0x040000D4 + lsls r0, r0, #0x10 + asrs r0, r0, #0xa + ldr r6, _0802217C @ =0x08480E0C + adds r0, r0, r6 + str r0, [r4] + ldr r0, _08022180 @ =0x06015DA0 + str r0, [r4, #4] + ldr r5, _08022184 @ =0x80000020 + str r5, [r4, #8] + ldr r0, [r4, #8] + mov r3, r8 + ldrh r0, [r3, #6] + movs r1, #0xa + bl __umodsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0xa + adds r0, r0, r6 + str r0, [r4] + ldr r0, _08022188 @ =0x06015E60 + str r0, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] _0802202E: - ldrh r0, [r7] - cmp r0, #0 - beq _08022094 - mov r4, sl - ldr r0, [r4] - movs r6, #0xdb - lsls r6, r6, #1 - adds r0, r0, r6 - ldrh r0, [r0] - adds r0, #0x9c - strh r0, [r7, #2] - movs r0, #0x60 - strh r0, [r7, #4] - movs r5, #0 - ldr r6, _0802218C @ =0x03005000 - ldr r0, _08022190 @ =0xFFFFFE00 - mov r8, r0 + ldrh r0, [r7] + cmp r0, #0 + beq _08022094 + mov r4, sl + ldr r0, [r4] + movs r6, #0xdb + lsls r6, r6, #1 + adds r0, r0, r6 + ldrh r0, [r0] + adds r0, #0x9c + strh r0, [r7, #2] + movs r0, #0x60 + strh r0, [r7, #4] + movs r5, #0 + ldr r6, _0802218C @ =0x03005000 + ldr r0, _08022190 @ =0xFFFFFE00 + mov r8, r0 _08022050: - lsls r4, r5, #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, _08022194 @ =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 r5, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #3 - ble _08022050 + lsls r4, r5, #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, _08022194 @ =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 r5, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #3 + ble _08022050 _08022094: - ldr r3, _08022168 @ =0x0200B0C0 - ldr r0, [r3, #0x44] - ldr r7, [r0, #0x20] - mov r4, sl - ldr r2, [r4] - ldr r6, _08022198 @ =0x000001A5 - adds r0, r2, r6 - movs r1, #0 - ldrsb r1, [r0, r1] - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r1, r0, #0x1f - ldrh r0, [r7] - cmp r0, #0 - beq _0802214C - movs r3, #0xdb - lsls r3, r3, #1 - adds r0, r2, r3 - ldrh r0, [r0] - adds r0, #0x88 - strh r0, [r7, #2] - movs r0, #0x58 - strh r0, [r7, #4] - movs r5, #0 - ldr r4, _0802218C @ =0x03005000 - mov r8, r4 - ldr r6, _0802219C @ =0x086B47DE - mov ip, r6 - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #1 - str r0, [sp, #8] - ldr r0, _08022190 @ =0xFFFFFE00 - mov sb, r0 + ldr r3, _08022168 @ =0x0200B0C0 + ldr r0, [r3, #0x44] + ldr r7, [r0, #0x20] + mov r4, sl + ldr r2, [r4] + ldr r6, _08022198 @ =0x000001A5 + adds r0, r2, r6 + movs r1, #0 + ldrsb r1, [r0, r1] + rsbs r0, r1, #0 + orrs r0, r1 + lsrs r1, r0, #0x1f + ldrh r0, [r7] + cmp r0, #0 + beq _0802214C + movs r3, #0xdb + lsls r3, r3, #1 + adds r0, r2, r3 + ldrh r0, [r0] + adds r0, #0x88 + strh r0, [r7, #2] + movs r0, #0x58 + strh r0, [r7, #4] + movs r5, #0 + ldr r4, _0802218C @ =0x03005000 + mov r8, r4 + ldr r6, _0802219C @ =0x086B47DE + mov ip, r6 + lsls r0, r1, #4 + subs r0, r0, r1 + lsls r0, r0, #1 + str r0, [sp, #8] + ldr r0, _08022190 @ =0xFFFFFE00 + mov sb, r0 _080220D8: - lsls r3, r5, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r7, r0 - ldrh r2, [r5] - lsls r2, r2, #3 - add r2, r8 - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - ldr r4, [sp, #8] - adds r0, r0, r4 - add r0, ip - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - adds r0, r0, r4 - add r0, ip - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - adds r1, r1, r4 - add r1, ip - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r5] - lsls r2, r2, #3 - add r2, r8 - 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, _08022194 @ =0x000001FF - adds r0, r6, #0 - ands r1, r0 - mov r0, sb - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, r8 - ldrb r0, [r7, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r5, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #4 - ble _080220D8 + lsls r3, r5, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r7, r0 + ldrh r2, [r5] + lsls r2, r2, #3 + add r2, r8 + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + ldr r4, [sp, #8] + adds r0, r0, r4 + add r0, ip + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + adds r0, r0, r4 + add r0, ip + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + adds r1, r1, r4 + add r1, ip + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r5] + lsls r2, r2, #3 + add r2, r8 + 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, _08022194 @ =0x000001FF + adds r0, r6, #0 + ands r1, r0 + mov r0, sb + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, r8 + ldrb r0, [r7, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r5, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #4 + ble _080220D8 _0802214C: - ldr r3, _08022168 @ =0x0200B0C0 - ldr r0, [r3, #0x44] - ldr r7, [r0, #0x18] - ldrh r0, [r7] - cmp r0, #0 - bne _0802215A - b _08022470 + ldr r3, _08022168 @ =0x0200B0C0 + ldr r0, [r3, #0x44] + ldr r7, [r0, #0x18] + ldrh r0, [r7] + cmp r0, #0 + bne _0802215A + b _08022470 _0802215A: - movs r4, #0x2a - ldrsh r0, [r3, r4] - cmp r0, #0x13 - bgt _080221A0 - movs r0, #0xb4 - b _080221A2 - .align 2, 0 + movs r4, #0x2a + ldrsh r0, [r3, r4] + cmp r0, #0x13 + bgt _080221A0 + movs r0, #0xb4 + b _080221A2 + .align 2, 0 _08022168: .4byte 0x0200B0C0 _0802216C: .4byte 0x086AD2DE _08022170: .4byte 0x020314E0 @@ -67319,97 +67319,97 @@ _08022194: .4byte 0x000001FF _08022198: .4byte 0x000001A5 _0802219C: .4byte 0x086B47DE _080221A0: - movs r0, #0x56 + movs r0, #0x56 _080221A2: - strh r0, [r7, #4] - mov r5, sp - ldr r4, _08022254 @ =0x086ADFC8 - ldr r6, _08022258 @ =0x0200B0C0 - ldr r0, [r6, #0x4c] - movs r1, #0x1e - bl __umodsi3 - movs r1, #5 - bl __udivsi3 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r1, [r0] - rsbs r0, r1, #0 - strh r0, [r5] - mov r0, sp - strh r1, [r0, #2] - add r1, sp, #4 - ldrh r0, [r0] - strh r0, [r1] - mov r0, sp - ldrh r0, [r0, #2] - strh r0, [r1, #2] - mov r0, sl - ldr r2, [r0] - ldr r3, _0802225C @ =0x000001A5 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0802226C - movs r5, #0 - movs r4, #0x28 - adds r4, r4, r7 - mov ip, r4 - movs r6, #0x30 - adds r6, r6, r7 - mov sb, r6 - ldr r6, _08022260 @ =0x03005000 - ldr r0, _08022264 @ =0xFFFFFE00 - mov r8, r0 + strh r0, [r7, #4] + mov r5, sp + ldr r4, _08022254 @ =0x086ADFC8 + ldr r6, _08022258 @ =0x0200B0C0 + ldr r0, [r6, #0x4c] + movs r1, #0x1e + bl __umodsi3 + movs r1, #5 + bl __udivsi3 + lsls r0, r0, #1 + adds r0, r0, r4 + ldrh r1, [r0] + rsbs r0, r1, #0 + strh r0, [r5] + mov r0, sp + strh r1, [r0, #2] + add r1, sp, #4 + ldrh r0, [r0] + strh r0, [r1] + mov r0, sp + ldrh r0, [r0, #2] + strh r0, [r1, #2] + mov r0, sl + ldr r2, [r0] + ldr r3, _0802225C @ =0x000001A5 + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _0802226C + movs r5, #0 + movs r4, #0x28 + adds r4, r4, r7 + mov ip, r4 + movs r6, #0x30 + adds r6, r6, r7 + mov sb, r6 + ldr r6, _08022260 @ =0x03005000 + ldr r0, _08022264 @ =0xFFFFFE00 + mov r8, r0 _080221F8: - lsls r0, r5, #0x10 - asrs r4, r0, #0x10 - lsrs r0, r0, #0x1f - adds r0, r4, r0 - asrs r0, r0, #1 - lsls r1, r0, #1 - adds r0, r1, r0 - lsls r0, r0, #3 - add r1, sp - ldrh r1, [r1] - adds r1, #0x24 - adds r0, r0, r1 - strh r0, [r7, #2] - 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, _08022268 @ =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 r5, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #3 - ble _080221F8 - b _0802233E - .align 2, 0 + lsls r0, r5, #0x10 + asrs r4, r0, #0x10 + lsrs r0, r0, #0x1f + adds r0, r4, r0 + asrs r0, r0, #1 + lsls r1, r0, #1 + adds r0, r1, r0 + lsls r0, r0, #3 + add r1, sp + ldrh r1, [r1] + adds r1, #0x24 + adds r0, r0, r1 + strh r0, [r7, #2] + 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, _08022268 @ =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 r5, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #3 + ble _080221F8 + b _0802233E + .align 2, 0 _08022254: .4byte 0x086ADFC8 _08022258: .4byte 0x0200B0C0 _0802225C: .4byte 0x000001A5 @@ -67417,443 +67417,443 @@ _08022260: .4byte 0x03005000 _08022264: .4byte 0xFFFFFE00 _08022268: .4byte 0x000001FF _0802226C: - ldr r3, _080222EC @ =0x00000281 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - ble _080222FC - movs r5, #0 - movs r4, #0x28 - adds r4, r4, r7 - mov ip, r4 - movs r6, #0x30 - adds r6, r6, r7 - mov sb, r6 - ldr r6, _080222F0 @ =0x03005000 - ldr r0, _080222F4 @ =0xFFFFFE00 - mov r8, r0 + ldr r3, _080222EC @ =0x00000281 + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + ble _080222FC + movs r5, #0 + movs r4, #0x28 + adds r4, r4, r7 + mov ip, r4 + movs r6, #0x30 + adds r6, r6, r7 + mov sb, r6 + ldr r6, _080222F0 @ =0x03005000 + ldr r0, _080222F4 @ =0xFFFFFE00 + mov r8, r0 _0802228E: - lsls r0, r5, #0x10 - asrs r4, r0, #0x10 - lsrs r0, r0, #0x1f - adds r0, r4, r0 - asrs r0, r0, #1 - lsls r1, r0, #1 - adds r0, r1, r0 - lsls r0, r0, #3 - add r1, sp - ldrh r1, [r1] - adds r1, #0x24 - adds r0, r0, r1 - strh r0, [r7, #2] - 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, _080222F8 @ =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 r5, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #3 - ble _0802228E - b _0802233E - .align 2, 0 + lsls r0, r5, #0x10 + asrs r4, r0, #0x10 + lsrs r0, r0, #0x1f + adds r0, r4, r0 + asrs r0, r0, #1 + lsls r1, r0, #1 + adds r0, r1, r0 + lsls r0, r0, #3 + add r1, sp + ldrh r1, [r1] + adds r1, #0x24 + adds r0, r0, r1 + strh r0, [r7, #2] + 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, _080222F8 @ =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 r5, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #3 + ble _0802228E + b _0802233E + .align 2, 0 _080222EC: .4byte 0x00000281 _080222F0: .4byte 0x03005000 _080222F4: .4byte 0xFFFFFE00 _080222F8: .4byte 0x000001FF _080222FC: - movs r5, #0 - movs r3, #0x28 - adds r3, r3, r7 - mov ip, r3 - movs r4, #0x30 - adds r4, r4, r7 - mov sb, r4 - ldr r4, _08022354 @ =0x03005000 - ldr r6, _08022358 @ =0xFFFFFE00 - mov r8, r6 - movs r6, #0xb4 + movs r5, #0 + movs r3, #0x28 + adds r3, r3, r7 + mov ip, r3 + movs r4, #0x30 + adds r4, r4, r7 + mov sb, r4 + ldr r4, _08022354 @ =0x03005000 + ldr r6, _08022358 @ =0xFFFFFE00 + mov r8, r6 + movs r6, #0xb4 _08022312: - lsls r2, r5, #0x10 - asrs r2, r2, #0x10 - lsls r0, r2, #3 - adds r0, #8 - adds r5, r7, r0 - ldrh r1, [r5] - lsls r1, r1, #3 - adds r1, r1, r4 - ldrh r3, [r1, #2] - mov r0, r8 - ands r0, r3 - strh r0, [r1, #2] - ldrh r0, [r5] - lsls r0, r0, #3 - adds r0, r0, r4 - strb r6, [r0] - adds r2, #1 - lsls r2, r2, #0x10 - lsrs r5, r2, #0x10 - asrs r2, r2, #0x10 - cmp r2, #3 - ble _08022312 + lsls r2, r5, #0x10 + asrs r2, r2, #0x10 + lsls r0, r2, #3 + adds r0, #8 + adds r5, r7, r0 + ldrh r1, [r5] + lsls r1, r1, #3 + adds r1, r1, r4 + ldrh r3, [r1, #2] + mov r0, r8 + ands r0, r3 + strh r0, [r1, #2] + ldrh r0, [r5] + lsls r0, r0, #3 + adds r0, r0, r4 + strb r6, [r0] + adds r2, #1 + lsls r2, r2, #0x10 + lsrs r5, r2, #0x10 + asrs r2, r2, #0x10 + cmp r2, #3 + ble _08022312 _0802233E: - mov r1, sl - ldr r0, [r1] - ldr r2, _0802235C @ =0x000001A5 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08022360 - movs r0, #0xb4 - b _08022376 - .align 2, 0 + mov r1, sl + ldr r0, [r1] + ldr r2, _0802235C @ =0x000001A5 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08022360 + movs r0, #0xb4 + b _08022376 + .align 2, 0 _08022354: .4byte 0x03005000 _08022358: .4byte 0xFFFFFE00 _0802235C: .4byte 0x000001A5 _08022360: - ldr r3, _08022370 @ =0x0200B0C0 - movs r4, #0x2a - ldrsh r0, [r3, r4] - cmp r0, #0x13 - bgt _08022374 - movs r0, #0xb4 - b _08022376 - .align 2, 0 + ldr r3, _08022370 @ =0x0200B0C0 + movs r4, #0x2a + ldrsh r0, [r3, r4] + cmp r0, #0x13 + bgt _08022374 + movs r0, #0xb4 + b _08022376 + .align 2, 0 _08022370: .4byte 0x0200B0C0 _08022374: - movs r0, #0x56 + movs r0, #0x56 _08022376: - strh r0, [r7, #4] - movs r0, #0x30 - strh r0, [r7, #2] - mov r6, sl - ldr r0, [r6] - movs r2, #0x97 - lsls r2, r2, #2 - adds r1, r0, r2 - ldr r3, _080223D0 @ =0x0000025D - adds r0, r0, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - bge _080223DC - mov r5, ip - ldrh r2, [r7, #0x28] - lsls r2, r2, #3 - ldr r4, _080223D4 @ =0x03005000 - adds r2, r2, r4 - movs r6, #2 - ldrsh r1, [r5, r6] - adds r1, #0x30 - subs r3, #0x5e - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _080223D8 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r2, [r7, #0x28] - lsls r2, r2, #3 - adds r2, r2, r4 - ldrb r1, [r7, #4] - ldrb r5, [r5, #4] - adds r1, r1, r5 - mov r4, sp - ldrb r0, [r4, #4] - adds r0, r0, r1 - strb r0, [r2] - b _080223F6 - .align 2, 0 + strh r0, [r7, #4] + movs r0, #0x30 + strh r0, [r7, #2] + mov r6, sl + ldr r0, [r6] + movs r2, #0x97 + lsls r2, r2, #2 + adds r1, r0, r2 + ldr r3, _080223D0 @ =0x0000025D + adds r0, r0, r3 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + bge _080223DC + mov r5, ip + ldrh r2, [r7, #0x28] + lsls r2, r2, #3 + ldr r4, _080223D4 @ =0x03005000 + adds r2, r2, r4 + movs r6, #2 + ldrsh r1, [r5, r6] + adds r1, #0x30 + subs r3, #0x5e + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _080223D8 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r2, [r7, #0x28] + lsls r2, r2, #3 + adds r2, r2, r4 + ldrb r1, [r7, #4] + ldrb r5, [r5, #4] + adds r1, r1, r5 + mov r4, sp + ldrb r0, [r4, #4] + adds r0, r0, r1 + strb r0, [r2] + b _080223F6 + .align 2, 0 _080223D0: .4byte 0x0000025D _080223D4: .4byte 0x03005000 _080223D8: .4byte 0xFFFFFE00 _080223DC: - ldrh r1, [r7, #0x28] - lsls r1, r1, #3 - ldr r6, _08022448 @ =0x03005000 - adds r1, r1, r6 - ldrh r2, [r1, #2] - ldr r0, _0802244C @ =0xFFFFFE00 - ands r0, r2 - strh r0, [r1, #2] - ldrh r0, [r7, #0x28] - lsls r0, r0, #3 - adds r0, r0, r6 - movs r1, #0xb4 - strb r1, [r0] + ldrh r1, [r7, #0x28] + lsls r1, r1, #3 + ldr r6, _08022448 @ =0x03005000 + adds r1, r1, r6 + ldrh r2, [r1, #2] + ldr r0, _0802244C @ =0xFFFFFE00 + ands r0, r2 + strh r0, [r1, #2] + ldrh r0, [r7, #0x28] + lsls r0, r0, #3 + adds r0, r0, r6 + movs r1, #0xb4 + strb r1, [r0] _080223F6: - mov r1, sl - ldr r0, [r1] - movs r2, #0x97 - lsls r2, r2, #2 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _08022454 - mov r5, sb - ldrh r2, [r7, #0x30] - lsls r2, r2, #3 - ldr r3, _08022448 @ =0x03005000 - adds r2, r2, r3 - movs r4, #2 - ldrsh r1, [r5, r4] - movs r6, #2 - ldrsh r0, [r7, r6] - adds r1, r1, r0 - ldr r3, _08022450 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _0802244C @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r2, [r7, #0x30] - lsls r2, r2, #3 - ldr r4, _08022448 @ =0x03005000 - adds r2, r2, r4 - ldrb r1, [r7, #4] - ldrb r5, [r5, #4] - adds r1, r1, r5 - mov r6, sp - ldrh r0, [r6, #6] - adds r0, r0, r1 - strb r0, [r2] - b _08022470 - .align 2, 0 + mov r1, sl + ldr r0, [r1] + movs r2, #0x97 + lsls r2, r2, #2 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _08022454 + mov r5, sb + ldrh r2, [r7, #0x30] + lsls r2, r2, #3 + ldr r3, _08022448 @ =0x03005000 + adds r2, r2, r3 + movs r4, #2 + ldrsh r1, [r5, r4] + movs r6, #2 + ldrsh r0, [r7, r6] + adds r1, r1, r0 + ldr r3, _08022450 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _0802244C @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r2, [r7, #0x30] + lsls r2, r2, #3 + ldr r4, _08022448 @ =0x03005000 + adds r2, r2, r4 + ldrb r1, [r7, #4] + ldrb r5, [r5, #4] + adds r1, r1, r5 + mov r6, sp + ldrh r0, [r6, #6] + adds r0, r0, r1 + strb r0, [r2] + b _08022470 + .align 2, 0 _08022448: .4byte 0x03005000 _0802244C: .4byte 0xFFFFFE00 _08022450: .4byte 0x000001FF _08022454: - ldrh r1, [r7, #0x30] - lsls r1, r1, #3 - ldr r0, _08022490 @ =0x03005000 - adds r1, r1, r0 - ldrh r2, [r1, #2] - ldr r0, _08022494 @ =0xFFFFFE00 - ands r0, r2 - strh r0, [r1, #2] - ldrh r0, [r7, #0x30] - lsls r0, r0, #3 - ldr r1, _08022490 @ =0x03005000 - adds r0, r0, r1 - movs r1, #0xb4 - strb r1, [r0] + ldrh r1, [r7, #0x30] + lsls r1, r1, #3 + ldr r0, _08022490 @ =0x03005000 + adds r1, r1, r0 + ldrh r2, [r1, #2] + ldr r0, _08022494 @ =0xFFFFFE00 + ands r0, r2 + strh r0, [r1, #2] + ldrh r0, [r7, #0x30] + lsls r0, r0, #3 + ldr r1, _08022490 @ =0x03005000 + adds r0, r0, r1 + movs r1, #0xb4 + strb r1, [r0] _08022470: - ldr r2, _08022498 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r7, [r0, #0x24] - ldrh r0, [r7] - cmp r0, #0 - bne _0802247E - b _080225BE + ldr r2, _08022498 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r7, [r0, #0x24] + ldrh r0, [r7] + cmp r0, #0 + bne _0802247E + b _080225BE _0802247E: - movs r0, #0x30 - strh r0, [r7, #2] - movs r3, #0x2a - ldrsh r0, [r2, r3] - cmp r0, #0x13 - bgt _0802249C - movs r0, #0xb4 - b _0802249E - .align 2, 0 + movs r0, #0x30 + strh r0, [r7, #2] + movs r3, #0x2a + ldrsh r0, [r2, r3] + cmp r0, #0x13 + bgt _0802249C + movs r0, #0xb4 + b _0802249E + .align 2, 0 _08022490: .4byte 0x03005000 _08022494: .4byte 0xFFFFFE00 _08022498: .4byte 0x0200B0C0 _0802249C: - movs r0, #0x58 + movs r0, #0x58 _0802249E: - strh r0, [r7, #4] - mov r4, sl - ldr r1, [r4] - movs r6, #0xd3 - lsls r6, r6, #1 - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - ldr r2, _080224EC @ =0x086AD2DE - adds r0, r0, r2 - ldrh r3, [r0] - cmp r3, #4 - bne _080224F8 - ldr r3, _080224F0 @ =0x000001AF - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, #0 - beq _080224DC - movs r4, #0xdc - lsls r4, r4, #1 - adds r0, r1, r4 - movs r6, #0 - ldrsh r0, [r0, r6] - movs r1, #5 - bl __divsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - beq _08022522 + strh r0, [r7, #4] + mov r4, sl + ldr r1, [r4] + movs r6, #0xd3 + lsls r6, r6, #1 + adds r0, r1, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + ldr r2, _080224EC @ =0x086AD2DE + adds r0, r0, r2 + ldrh r3, [r0] + cmp r3, #4 + bne _080224F8 + ldr r3, _080224F0 @ =0x000001AF + adds r0, r1, r3 + ldrb r0, [r0] + cmp r0, #0 + beq _080224DC + movs r4, #0xdc + lsls r4, r4, #1 + adds r0, r1, r4 + movs r6, #0 + ldrsh r0, [r0, r6] + movs r1, #5 + bl __divsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + beq _08022522 _080224DC: - ldr r4, _080224F4 @ =0x086ADFD4 - mov r1, sl - ldr r0, [r1] - movs r2, #0xdc - lsls r2, r2, #1 - adds r0, r0, r2 - b _08022544 - .align 2, 0 + ldr r4, _080224F4 @ =0x086ADFD4 + mov r1, sl + ldr r0, [r1] + movs r2, #0xdc + lsls r2, r2, #1 + adds r0, r0, r2 + b _08022544 + .align 2, 0 _080224EC: .4byte 0x086AD2DE _080224F0: .4byte 0x000001AF _080224F4: .4byte 0x086ADFD4 _080224F8: - cmp r3, #3 - bne _0802253C - movs r4, #0xd5 - lsls r4, r4, #1 - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08022526 - movs r6, #0xdc - lsls r6, r6, #1 - adds r0, r1, r6 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #5 - bl __divsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08022526 + cmp r3, #3 + bne _0802253C + movs r4, #0xd5 + lsls r4, r4, #1 + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08022526 + movs r6, #0xdc + lsls r6, r6, #1 + adds r0, r1, r6 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r1, #5 + bl __divsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08022526 _08022522: - movs r1, #4 - b _08022556 + movs r1, #4 + b _08022556 _08022526: - ldr r4, _08022538 @ =0x086ADFD4 - mov r2, sl - ldr r0, [r2] - movs r3, #0xdc - lsls r3, r3, #1 - adds r0, r0, r3 - movs r6, #0 - ldrsh r0, [r0, r6] - b _08022548 - .align 2, 0 + ldr r4, _08022538 @ =0x086ADFD4 + mov r2, sl + ldr r0, [r2] + movs r3, #0xdc + lsls r3, r3, #1 + adds r0, r0, r3 + movs r6, #0 + ldrsh r0, [r0, r6] + b _08022548 + .align 2, 0 _08022538: .4byte 0x086ADFD4 _0802253C: - ldr r4, _080225D0 @ =0x086ADFD4 - movs r2, #0xdc - lsls r2, r2, #1 - adds r0, r1, r2 + ldr r4, _080225D0 @ =0x086ADFD4 + movs r2, #0xdc + lsls r2, r2, #1 + adds r0, r1, r2 _08022544: - movs r3, #0 - ldrsh r0, [r0, r3] + movs r3, #0 + ldrsh r0, [r0, r3] _08022548: - movs r1, #5 - bl __divsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0xf - adds r0, r0, r4 - ldrh r1, [r0] + movs r1, #5 + bl __divsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0xf + adds r0, r0, r4 + ldrh r1, [r0] _08022556: - ldr r2, _080225D4 @ =0x040000D4 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _080225D8 @ =0x0847FF0C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _080225DC @ =0x06016220 - str r0, [r2, #4] - ldr r0, _080225E0 @ =0x80000180 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r5, #0 - ldr r6, _080225E4 @ =0x03005000 - ldr r4, _080225E8 @ =0xFFFFFE00 - mov r8, r4 + ldr r2, _080225D4 @ =0x040000D4 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _080225D8 @ =0x0847FF0C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _080225DC @ =0x06016220 + str r0, [r2, #4] + ldr r0, _080225E0 @ =0x80000180 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r5, #0 + ldr r6, _080225E4 @ =0x03005000 + ldr r4, _080225E8 @ =0xFFFFFE00 + mov r8, r4 _0802257A: - lsls r4, r5, #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, _080225EC @ =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 r5, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #1 - ble _0802257A + lsls r4, r5, #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, _080225EC @ =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 r5, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #1 + ble _0802257A _080225BE: - add sp, #0xc - 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 + add sp, #0xc + 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 _080225D0: .4byte 0x086ADFD4 _080225D4: .4byte 0x040000D4 _080225D8: .4byte 0x0847FF0C @@ -67863,529 +67863,529 @@ _080225E4: .4byte 0x03005000 _080225E8: .4byte 0xFFFFFE00 _080225EC: .4byte 0x000001FF - thumb_func_start sub_225F0 + thumb_func_start sub_225F0 sub_225F0: @ 0x080225F0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r5, _08022680 @ =0x0200B0C0 - ldr r0, [r5, #0x44] - adds r0, #0x9c - ldr r7, [r0] - ldr r2, _08022684 @ =0x020314E0 - ldr r3, [r2] - movs r1, #0xcb - lsls r1, r1, #1 - adds r0, r3, r1 - ldrh r4, [r0] - movs r6, #0xca - lsls r6, r6, #1 - adds r0, r3, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #1 - lsls r1, r0, #3 - adds r1, r1, r0 - adds r1, #0x13 - mov sl, r2 - cmp r4, r1 - blt _0802262A - b _08022958 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r5, _08022680 @ =0x0200B0C0 + ldr r0, [r5, #0x44] + adds r0, #0x9c + ldr r7, [r0] + ldr r2, _08022684 @ =0x020314E0 + ldr r3, [r2] + movs r1, #0xcb + lsls r1, r1, #1 + adds r0, r3, r1 + ldrh r4, [r0] + movs r6, #0xca + lsls r6, r6, #1 + adds r0, r3, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r0, #1 + lsls r1, r0, #3 + adds r1, r1, r0 + adds r1, #0x13 + mov sl, r2 + cmp r4, r1 + blt _0802262A + b _08022958 _0802262A: - cmp r4, #0 - bne _08022690 - movs r1, #0 - movs r0, #1 - strh r0, [r7] - ldr r2, _08022688 @ =0x00000193 - adds r0, r3, r2 - strb r1, [r0] - movs r2, #0 + cmp r4, #0 + bne _08022690 + movs r1, #0 + movs r0, #1 + strh r0, [r7] + ldr r2, _08022688 @ =0x00000193 + adds r0, r3, r2 + strb r1, [r0] + movs r2, #0 _0802263C: - mov r3, sl - ldr r4, [r3] - lsls r1, r2, #0x10 - asrs r1, r1, #0x10 - lsls r2, r1, #1 - movs r5, #0xcc - lsls r5, r5, #1 - adds r0, r4, r5 - adds r0, r0, r2 - movs r5, #0 - strh r5, [r0] - lsls r0, r1, #2 - adds r3, r4, r0 - movs r6, #0xce - lsls r6, r6, #1 - adds r2, r3, r6 - movs r0, #0x46 - strh r0, [r2] - movs r0, #0xcf - lsls r0, r0, #1 - adds r2, r3, r0 - movs r0, #0xb4 - strh r0, [r2] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r2, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #1 - ble _0802263C - ldr r1, _0802268C @ =0x00000195 - adds r0, r4, r1 - strb r5, [r0] - b _08022908 - .align 2, 0 + mov r3, sl + ldr r4, [r3] + lsls r1, r2, #0x10 + asrs r1, r1, #0x10 + lsls r2, r1, #1 + movs r5, #0xcc + lsls r5, r5, #1 + adds r0, r4, r5 + adds r0, r0, r2 + movs r5, #0 + strh r5, [r0] + lsls r0, r1, #2 + adds r3, r4, r0 + movs r6, #0xce + lsls r6, r6, #1 + adds r2, r3, r6 + movs r0, #0x46 + strh r0, [r2] + movs r0, #0xcf + lsls r0, r0, #1 + adds r2, r3, r0 + movs r0, #0xb4 + strh r0, [r2] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r2, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #1 + ble _0802263C + ldr r1, _0802268C @ =0x00000195 + adds r0, r4, r1 + strb r5, [r0] + b _08022908 + .align 2, 0 _08022680: .4byte 0x0200B0C0 _08022684: .4byte 0x020314E0 _08022688: .4byte 0x00000193 _0802268C: .4byte 0x00000195 _08022690: - adds r0, r3, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bne _080226B6 - ldrb r0, [r3, #5] - cmp r0, #0 - bne _080226AE - ldrh r1, [r5, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080226B6 + adds r0, r3, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bne _080226B6 + ldrb r0, [r3, #5] + cmp r0, #0 + bne _080226AE + ldrh r1, [r5, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _080226B6 _080226AE: - ldr r2, _0802279C @ =0x00000195 - adds r1, r3, r2 - movs r0, #1 - strb r0, [r1] + ldr r2, _0802279C @ =0x00000195 + adds r1, r3, r2 + movs r0, #1 + strb r0, [r1] _080226B6: - mov r3, sl - ldr r5, [r3] - ldr r4, _080227A0 @ =0x00000193 - mov sb, r4 - adds r6, r5, r4 - movs r0, #0xca - lsls r0, r0, #1 - mov r8, r0 - adds r0, r5, r0 - movs r1, #0 - ldrsb r1, [r6, r1] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - blt _080226D8 - b _0802280E + mov r3, sl + ldr r5, [r3] + ldr r4, _080227A0 @ =0x00000193 + mov sb, r4 + adds r6, r5, r4 + movs r0, #0xca + lsls r0, r0, #1 + mov r8, r0 + adds r0, r5, r0 + movs r1, #0 + ldrsb r1, [r6, r1] + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + blt _080226D8 + b _0802280E _080226D8: - movs r1, #0xcb - lsls r1, r1, #1 - adds r0, r5, r1 - ldrh r0, [r0] - subs r4, r0, #1 - adds r0, r4, #0 - movs r1, #9 - bl __modsi3 - cmp r0, #0 - beq _080226F0 - b _0802280E + movs r1, #0xcb + lsls r1, r1, #1 + adds r0, r5, r1 + ldrh r0, [r0] + subs r4, r0, #1 + adds r0, r4, #0 + movs r1, #9 + bl __modsi3 + cmp r0, #0 + beq _080226F0 + b _0802280E _080226F0: - ldr r2, _0802279C @ =0x00000195 - adds r0, r5, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _080227A4 - adds r0, r4, #0 - movs r1, #0x12 - bl __modsi3 - movs r1, #9 - bl __divsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r2, r0, #1 - movs r3, #0xcc - lsls r3, r3, #1 - adds r1, r5, r3 - adds r1, r1, r2 - movs r2, #0x11 - strh r2, [r1] - lsls r0, r0, #2 - adds r2, r5, r0 - movs r4, #0xce - lsls r4, r4, #1 - adds r1, r2, r4 - movs r0, #0xbc - strh r0, [r1] - movs r5, #0xcf - lsls r5, r5, #1 - adds r1, r2, r5 - movs r0, #0x8c - strh r0, [r1] - movs r0, #0x7e - bl m4aSongNumStart - mov r6, sl - ldr r1, [r6] - movs r3, #0xc9 - lsls r3, r3, #1 - adds r2, r1, r3 - mov r4, r8 - adds r0, r1, r4 - add r1, sb - ldrb r0, [r0] - ldrb r1, [r1] - subs r0, r0, r1 - ldrb r5, [r2] - adds r0, r0, r5 - strb r0, [r2] - ldr r0, [r6] - adds r1, r0, r3 - ldrb r0, [r1] - cmp r0, #0x63 - bls _08022766 - movs r0, #0x63 - strb r0, [r1] + ldr r2, _0802279C @ =0x00000195 + adds r0, r5, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _080227A4 + adds r0, r4, #0 + movs r1, #0x12 + bl __modsi3 + movs r1, #9 + bl __divsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r2, r0, #1 + movs r3, #0xcc + lsls r3, r3, #1 + adds r1, r5, r3 + adds r1, r1, r2 + movs r2, #0x11 + strh r2, [r1] + lsls r0, r0, #2 + adds r2, r5, r0 + movs r4, #0xce + lsls r4, r4, #1 + adds r1, r2, r4 + movs r0, #0xbc + strh r0, [r1] + movs r5, #0xcf + lsls r5, r5, #1 + adds r1, r2, r5 + movs r0, #0x8c + strh r0, [r1] + movs r0, #0x7e + bl m4aSongNumStart + mov r6, sl + ldr r1, [r6] + movs r3, #0xc9 + lsls r3, r3, #1 + adds r2, r1, r3 + mov r4, r8 + adds r0, r1, r4 + add r1, sb + ldrb r0, [r0] + ldrb r1, [r1] + subs r0, r0, r1 + ldrb r5, [r2] + adds r0, r0, r5 + strb r0, [r2] + ldr r0, [r6] + adds r1, r0, r3 + ldrb r0, [r1] + cmp r0, #0x63 + bls _08022766 + movs r0, #0x63 + strb r0, [r1] _08022766: - mov r6, sl - ldr r2, [r6] - mov r0, r8 - adds r3, r2, r0 - movs r1, #0 - ldrsb r1, [r3, r1] - mov r5, sb - adds r4, r2, r5 - movs r0, #0 - ldrsb r0, [r4, r0] - subs r1, r1, r0 - movs r0, #0x64 - muls r0, r1, r0 - str r0, [r2, #0x3c] - movs r1, #0 - ldrsb r1, [r3, r1] - lsls r0, r1, #3 - adds r0, r0, r1 - adds r0, #1 - movs r6, #0xcb - lsls r6, r6, #1 - adds r2, r2, r6 - strh r0, [r2] - ldrb r0, [r3] - strb r0, [r4] - b _0802280E - .align 2, 0 + mov r6, sl + ldr r2, [r6] + mov r0, r8 + adds r3, r2, r0 + movs r1, #0 + ldrsb r1, [r3, r1] + mov r5, sb + adds r4, r2, r5 + movs r0, #0 + ldrsb r0, [r4, r0] + subs r1, r1, r0 + movs r0, #0x64 + muls r0, r1, r0 + str r0, [r2, #0x3c] + movs r1, #0 + ldrsb r1, [r3, r1] + lsls r0, r1, #3 + adds r0, r0, r1 + adds r0, #1 + movs r6, #0xcb + lsls r6, r6, #1 + adds r2, r2, r6 + strh r0, [r2] + ldrb r0, [r3] + strb r0, [r4] + b _0802280E + .align 2, 0 _0802279C: .4byte 0x00000195 _080227A0: .4byte 0x00000193 _080227A4: - adds r0, r4, #0 - movs r1, #0x12 - bl __modsi3 - movs r1, #9 - bl __divsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r2, r0, #1 - movs r3, #0xcc - lsls r3, r3, #1 - adds r1, r5, r3 - adds r1, r1, r2 - movs r2, #0x11 - strh r2, [r1] - lsls r0, r0, #2 - adds r2, r5, r0 - movs r4, #0xce - lsls r4, r4, #1 - adds r1, r2, r4 - movs r0, #0xbc - strh r0, [r1] - movs r5, #0xcf - lsls r5, r5, #1 - adds r1, r2, r5 - movs r0, #0x8c - strh r0, [r1] - ldrb r0, [r6] - adds r0, #1 - strb r0, [r6] - movs r0, #0x7e - bl m4aSongNumStart - mov r6, sl - ldr r1, [r6] - movs r2, #0xc9 - lsls r2, r2, #1 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, [r6] - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, #0x63 - bls _08022806 - movs r0, #0x63 - strb r0, [r1] + adds r0, r4, #0 + movs r1, #0x12 + bl __modsi3 + movs r1, #9 + bl __divsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r2, r0, #1 + movs r3, #0xcc + lsls r3, r3, #1 + adds r1, r5, r3 + adds r1, r1, r2 + movs r2, #0x11 + strh r2, [r1] + lsls r0, r0, #2 + adds r2, r5, r0 + movs r4, #0xce + lsls r4, r4, #1 + adds r1, r2, r4 + movs r0, #0xbc + strh r0, [r1] + movs r5, #0xcf + lsls r5, r5, #1 + adds r1, r2, r5 + movs r0, #0x8c + strh r0, [r1] + ldrb r0, [r6] + adds r0, #1 + strb r0, [r6] + movs r0, #0x7e + bl m4aSongNumStart + mov r6, sl + ldr r1, [r6] + movs r2, #0xc9 + lsls r2, r2, #1 + adds r1, r1, r2 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r0, [r6] + adds r1, r0, r2 + ldrb r0, [r1] + cmp r0, #0x63 + bls _08022806 + movs r0, #0x63 + strb r0, [r1] _08022806: - mov r0, sl - ldr r1, [r0] - movs r0, #0x64 - str r0, [r1, #0x3c] + mov r0, sl + ldr r1, [r0] + movs r0, #0x64 + str r0, [r1, #0x3c] _0802280E: - movs r2, #0 - ldr r1, _08022848 @ =0x086B481A - mov r8, r1 - ldr r3, _0802284C @ =0x03005000 - mov ip, r3 + movs r2, #0 + ldr r1, _08022848 @ =0x086B481A + mov r8, r1 + ldr r3, _0802284C @ =0x03005000 + mov ip, r3 _08022818: - mov r5, sl - ldr r4, [r5] - lsls r1, r2, #0x10 - asrs r3, r1, #0x10 - lsls r0, r3, #2 - adds r2, r4, r0 - movs r6, #0xce - lsls r6, r6, #1 - adds r0, r2, r6 - ldrh r0, [r0] - strh r0, [r7, #2] - movs r0, #0xcf - lsls r0, r0, #1 - adds r2, r2, r0 - ldrh r0, [r2] - strh r0, [r7, #4] - movs r5, #0 - ldrsh r0, [r2, r5] - mov sb, r1 - cmp r0, #0xa0 - ble _08022850 - movs r0, #0 - b _0802286A - .align 2, 0 + mov r5, sl + ldr r4, [r5] + lsls r1, r2, #0x10 + asrs r3, r1, #0x10 + lsls r0, r3, #2 + adds r2, r4, r0 + movs r6, #0xce + lsls r6, r6, #1 + adds r0, r2, r6 + ldrh r0, [r0] + strh r0, [r7, #2] + movs r0, #0xcf + lsls r0, r0, #1 + adds r2, r2, r0 + ldrh r0, [r2] + strh r0, [r7, #4] + movs r5, #0 + ldrsh r0, [r2, r5] + mov sb, r1 + cmp r0, #0xa0 + ble _08022850 + movs r0, #0 + b _0802286A + .align 2, 0 _08022848: .4byte 0x086B481A _0802284C: .4byte 0x03005000 _08022850: - lsls r1, r3, #1 - movs r6, #0xcc - lsls r6, r6, #1 - adds r0, r4, r6 - adds r0, r0, r1 - movs r2, #0 - ldrsh r1, [r0, r2] - movs r0, #0x11 - subs r0, r0, r1 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - lsls r0, r0, #0xf - lsrs r0, r0, #0x10 + lsls r1, r3, #1 + movs r6, #0xcc + lsls r6, r6, #1 + adds r0, r4, r6 + adds r0, r0, r1 + movs r2, #0 + ldrsh r1, [r0, r2] + movs r0, #0x11 + subs r0, r0, r1 + lsrs r1, r0, #0x1f + adds r0, r0, r1 + lsls r0, r0, #0xf + lsrs r0, r0, #0x10 _0802286A: - mov r3, sb - asrs r5, r3, #0x10 - lsls r3, r5, #3 - adds r3, #8 - adds r3, r7, r3 - ldrh r2, [r3] - lsls r2, r2, #3 - add r2, ip - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #1 - add r1, r8 - 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, [r3] - lsls r2, r2, #3 - add r2, ip - 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, _08022968 @ =0x000001FF - adds r0, r6, #0 - ands r1, r0 - ldr r0, _0802296C @ =0xFFFFFE00 - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r3] - lsls r1, r1, #3 - add r1, ip - ldrb r0, [r7, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - mov r4, sl - ldr r3, [r4] - lsls r1, r5, #1 - subs r6, #0x67 - adds r0, r3, r6 - adds r1, r0, r1 - ldrh r2, [r1] - movs r4, #0 - ldrsh r0, [r1, r4] - cmp r0, #0 - ble _080228FA - subs r0, r2, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080228FA - lsls r0, r5, #2 - adds r2, r3, r0 - movs r5, #0xce - lsls r5, r5, #1 - adds r1, r2, r5 - movs r0, #0x46 - strh r0, [r1] - adds r6, #6 - adds r1, r2, r6 - movs r0, #0xb4 - strh r0, [r1] + mov r3, sb + asrs r5, r3, #0x10 + lsls r3, r5, #3 + adds r3, #8 + adds r3, r7, r3 + ldrh r2, [r3] + lsls r2, r2, #3 + add r2, ip + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #1 + adds r1, r1, r0 + lsls r1, r1, #1 + add r1, r8 + 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, [r3] + lsls r2, r2, #3 + add r2, ip + 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, _08022968 @ =0x000001FF + adds r0, r6, #0 + ands r1, r0 + ldr r0, _0802296C @ =0xFFFFFE00 + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r3] + lsls r1, r1, #3 + add r1, ip + ldrb r0, [r7, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + mov r4, sl + ldr r3, [r4] + lsls r1, r5, #1 + subs r6, #0x67 + adds r0, r3, r6 + adds r1, r0, r1 + ldrh r2, [r1] + movs r4, #0 + ldrsh r0, [r1, r4] + cmp r0, #0 + ble _080228FA + subs r0, r2, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _080228FA + lsls r0, r5, #2 + adds r2, r3, r0 + movs r5, #0xce + lsls r5, r5, #1 + adds r1, r2, r5 + movs r0, #0x46 + strh r0, [r1] + adds r6, #6 + adds r1, r2, r6 + movs r0, #0xb4 + strh r0, [r1] _080228FA: - movs r0, #0x80 - lsls r0, r0, #9 - add r0, sb - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - ble _08022818 + movs r0, #0x80 + lsls r0, r0, #9 + add r0, sb + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + ble _08022818 _08022908: - mov r0, sl - ldr r3, [r0] - movs r2, #0xcb - lsls r2, r2, #1 - adds r1, r3, r2 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - ldrh r2, [r1] - movs r4, #0xca - lsls r4, r4, #1 - adds r3, r3, r4 - movs r1, #0 - ldrsb r1, [r3, r1] - subs r1, #1 - lsls r0, r1, #3 - adds r0, r0, r1 - adds r0, #0x13 - cmp r2, r0 - bne _08022958 - ldr r0, _08022970 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0x9c - ldr r1, [r0] - movs r0, #0 - strh r0, [r1] - strb r0, [r3] - mov r5, sl - ldr r1, [r5] - adds r0, r1, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bne _08022958 - ldr r6, _08022974 @ =0x000006DE - adds r1, r1, r6 - movs r0, #0xaa - strh r0, [r1] + mov r0, sl + ldr r3, [r0] + movs r2, #0xcb + lsls r2, r2, #1 + adds r1, r3, r2 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + ldrh r2, [r1] + movs r4, #0xca + lsls r4, r4, #1 + adds r3, r3, r4 + movs r1, #0 + ldrsb r1, [r3, r1] + subs r1, #1 + lsls r0, r1, #3 + adds r0, r0, r1 + adds r0, #0x13 + cmp r2, r0 + bne _08022958 + ldr r0, _08022970 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0x9c + ldr r1, [r0] + movs r0, #0 + strh r0, [r1] + strb r0, [r3] + mov r5, sl + ldr r1, [r5] + adds r0, r1, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bne _08022958 + ldr r6, _08022974 @ =0x000006DE + adds r1, r1, r6 + movs r0, #0xaa + strh r0, [r1] _08022958: - 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 + 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 _08022968: .4byte 0x000001FF _0802296C: .4byte 0xFFFFFE00 _08022970: .4byte 0x0200B0C0 _08022974: .4byte 0x000006DE - thumb_func_start sub_22978 + thumb_func_start sub_22978 sub_22978: @ 0x08022978 - push {r4, r5, lr} - ldr r3, _08022A00 @ =0x020314E0 - ldr r1, [r3] - movs r0, #0xb2 - lsls r0, r0, #2 - adds r2, r1, r0 - movs r4, #0 - movs r5, #0 - movs r0, #0xc8 - lsls r0, r0, #3 - strh r0, [r2] - ldr r0, _08022A04 @ =0x000002CA - adds r2, r1, r0 - movs r0, #0x82 - lsls r0, r0, #4 - strh r0, [r2] - ldr r0, _08022A08 @ =0x000002C3 - adds r1, r1, r0 - strb r4, [r1] - ldr r4, [r3] - movs r1, #0xb1 - lsls r1, r1, #2 - adds r0, r4, r1 - strh r5, [r0] - ldr r0, _08022A0C @ =0x0200B0C0 - ldr r1, _08022A10 @ =0x00003DE8 - adds r0, r0, r1 - movs r2, #1 - movs r1, #1 - strh r1, [r0] - movs r1, #0xf6 - lsls r1, r1, #1 - adds r0, r4, r1 - strb r2, [r0] - ldr r2, [r3] - movs r0, #0xfa - lsls r0, r0, #1 - adds r1, r2, r0 - movs r0, #0xf0 - strh r0, [r1] - movs r0, #0xfb - lsls r0, r0, #1 - adds r1, r2, r0 - movs r0, #0xa0 - strh r0, [r1] - adds r1, r2, #0 - adds r1, #0xe4 - movs r0, #3 - strb r0, [r1] - ldr r1, _08022A14 @ =0x040000D4 - ldr r0, _08022A18 @ =0x083A808C - str r0, [r1] - ldr r0, _08022A1C @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _08022A20 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08022A24 @ =0x0848FD8C - str r0, [r1] - ldr r0, _08022A28 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _08022A2C @ =0x80000650 - str r0, [r1, #8] - ldr r0, [r1, #8] - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, lr} + ldr r3, _08022A00 @ =0x020314E0 + ldr r1, [r3] + movs r0, #0xb2 + lsls r0, r0, #2 + adds r2, r1, r0 + movs r4, #0 + movs r5, #0 + movs r0, #0xc8 + lsls r0, r0, #3 + strh r0, [r2] + ldr r0, _08022A04 @ =0x000002CA + adds r2, r1, r0 + movs r0, #0x82 + lsls r0, r0, #4 + strh r0, [r2] + ldr r0, _08022A08 @ =0x000002C3 + adds r1, r1, r0 + strb r4, [r1] + ldr r4, [r3] + movs r1, #0xb1 + lsls r1, r1, #2 + adds r0, r4, r1 + strh r5, [r0] + ldr r0, _08022A0C @ =0x0200B0C0 + ldr r1, _08022A10 @ =0x00003DE8 + adds r0, r0, r1 + movs r2, #1 + movs r1, #1 + strh r1, [r0] + movs r1, #0xf6 + lsls r1, r1, #1 + adds r0, r4, r1 + strb r2, [r0] + ldr r2, [r3] + movs r0, #0xfa + lsls r0, r0, #1 + adds r1, r2, r0 + movs r0, #0xf0 + strh r0, [r1] + movs r0, #0xfb + lsls r0, r0, #1 + adds r1, r2, r0 + movs r0, #0xa0 + strh r0, [r1] + adds r1, r2, #0 + adds r1, #0xe4 + movs r0, #3 + strb r0, [r1] + ldr r1, _08022A14 @ =0x040000D4 + ldr r0, _08022A18 @ =0x083A808C + str r0, [r1] + ldr r0, _08022A1C @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _08022A20 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08022A24 @ =0x0848FD8C + str r0, [r1] + ldr r0, _08022A28 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _08022A2C @ =0x80000650 + str r0, [r1, #8] + ldr r0, [r1, #8] + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08022A00: .4byte 0x020314E0 _08022A04: .4byte 0x000002CA _08022A08: .4byte 0x000002C3 @@ -68399,262 +68399,262 @@ _08022A24: .4byte 0x0848FD8C _08022A28: .4byte 0x06015800 _08022A2C: .4byte 0x80000650 - thumb_func_start sub_22A30 + thumb_func_start sub_22A30 sub_22A30: @ 0x08022A30 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - movs r6, #0 - ldr r7, _08022A68 @ =0x0200EEA8 - ldr r1, _08022A6C @ =0x086ADFE2 - ldr r4, _08022A70 @ =0x020314E0 - ldr r2, [r4] - ldr r5, _08022A74 @ =0x000002C3 - adds r3, r2, r5 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - adds r1, #2 - adds r0, r0, r1 - movs r1, #0xb1 - lsls r1, r1, #2 - adds r2, r2, r1 - ldrh r1, [r2] - ldrh r0, [r0] - cmp r0, r1 - bls _08022A78 - adds r0, r1, #1 - strh r0, [r2] - b _08022B2E - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + movs r6, #0 + ldr r7, _08022A68 @ =0x0200EEA8 + ldr r1, _08022A6C @ =0x086ADFE2 + ldr r4, _08022A70 @ =0x020314E0 + ldr r2, [r4] + ldr r5, _08022A74 @ =0x000002C3 + adds r3, r2, r5 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #2 + adds r1, #2 + adds r0, r0, r1 + movs r1, #0xb1 + lsls r1, r1, #2 + adds r2, r2, r1 + ldrh r1, [r2] + ldrh r0, [r0] + cmp r0, r1 + bls _08022A78 + adds r0, r1, #1 + strh r0, [r2] + b _08022B2E + .align 2, 0 _08022A68: .4byte 0x0200EEA8 _08022A6C: .4byte 0x086ADFE2 _08022A70: .4byte 0x020314E0 _08022A74: .4byte 0x000002C3 _08022A78: - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r1, [r4] - movs r2, #0xb1 - lsls r2, r2, #2 - adds r0, r1, r2 - strh r6, [r0] - ldr r3, _08022C30 @ =0x000002C3 - adds r1, r1, r3 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x29 - bne _08022AAE - movs r0, #0x28 - strb r0, [r1] - strh r6, [r7] - ldr r0, [r4] - movs r1, #0xb4 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #2 - strb r1, [r0] - ldr r0, [r4] - adds r0, #0xe4 - movs r1, #0 - strb r1, [r0] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r1, [r4] + movs r2, #0xb1 + lsls r2, r2, #2 + adds r0, r1, r2 + strh r6, [r0] + ldr r3, _08022C30 @ =0x000002C3 + adds r1, r1, r3 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x29 + bne _08022AAE + movs r0, #0x28 + strb r0, [r1] + strh r6, [r7] + ldr r0, [r4] + movs r1, #0xb4 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #2 + strb r1, [r0] + ldr r0, [r4] + adds r0, #0xe4 + movs r1, #0 + strb r1, [r0] _08022AAE: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08022AC4 - movs r0, #0xa3 - lsls r0, r0, #1 - bl m4aSongNumStart + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08022AC4 + movs r0, #0xa3 + lsls r0, r0, #1 + bl m4aSongNumStart _08022AC4: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #7 - bne _08022AD8 - ldr r0, _08022C34 @ =0x00000147 - bl m4aSongNumStart + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #7 + bne _08022AD8 + ldr r0, _08022C34 @ =0x00000147 + bl m4aSongNumStart _08022AD8: - ldr r0, [r4] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xd - bne _08022AEE - movs r0, #0xa4 - lsls r0, r0, #1 - bl m4aSongNumStart + ldr r0, [r4] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xd + bne _08022AEE + movs r0, #0xa4 + lsls r0, r0, #1 + bl m4aSongNumStart _08022AEE: - ldr r1, [r4] - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x27 - bne _08022B1C - movs r2, #0xfa - lsls r2, r2, #1 - adds r0, r1, r2 - strh r6, [r0] - movs r3, #0xfb - lsls r3, r3, #1 - adds r0, r1, r3 - strh r6, [r0] - ldr r1, _08022C38 @ =0x040000D4 - ldr r0, _08022C3C @ =0x084FD18C - str r0, [r1] - ldr r0, _08022C40 @ =0x06011CE0 - str r0, [r1, #4] - ldr r0, _08022C44 @ =0x80000100 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r1, [r4] + adds r0, r1, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x27 + bne _08022B1C + movs r2, #0xfa + lsls r2, r2, #1 + adds r0, r1, r2 + strh r6, [r0] + movs r3, #0xfb + lsls r3, r3, #1 + adds r0, r1, r3 + strh r6, [r0] + ldr r1, _08022C38 @ =0x040000D4 + ldr r0, _08022C3C @ =0x084FD18C + str r0, [r1] + ldr r0, _08022C40 @ =0x06011CE0 + str r0, [r1, #4] + ldr r0, _08022C44 @ =0x80000100 + str r0, [r1, #8] + ldr r0, [r1, #8] _08022B1C: - ldr r1, [r4] - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xe - bne _08022B2E - ldr r0, _08022C48 @ =0x001E8480 - str r0, [r1, #0x3c] + ldr r1, [r4] + adds r0, r1, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xe + bne _08022B2E + ldr r0, _08022C48 @ =0x001E8480 + str r0, [r1, #0x3c] _08022B2E: - ldr r0, _08022C4C @ =0x020314E0 - ldr r1, [r0] - ldr r5, _08022C30 @ =0x000002C3 - adds r0, r1, r5 - ldrb r0, [r0] - subs r0, #0xe - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x17 - bhi _08022B5A - movs r2, #0xa4 - lsls r2, r2, #2 - adds r0, r1, r2 - ldr r0, [r0] - movs r1, #7 - bl __umodsi3 - cmp r0, #0 - bne _08022B5A - ldr r0, _08022C50 @ =0x00000149 - bl m4aSongNumStart + ldr r0, _08022C4C @ =0x020314E0 + ldr r1, [r0] + ldr r5, _08022C30 @ =0x000002C3 + adds r0, r1, r5 + ldrb r0, [r0] + subs r0, #0xe + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #0x17 + bhi _08022B5A + movs r2, #0xa4 + lsls r2, r2, #2 + adds r0, r1, r2 + ldr r0, [r0] + movs r1, #7 + bl __umodsi3 + cmp r0, #0 + bne _08022B5A + ldr r0, _08022C50 @ =0x00000149 + bl m4aSongNumStart _08022B5A: - ldr r0, _08022C4C @ =0x020314E0 - ldr r4, [r0] - movs r3, #0xb2 - lsls r3, r3, #2 - adds r0, r4, r3 - movs r5, #0 - ldrsh r0, [r0, r5] - movs r1, #0x14 - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r7, #2] - ldr r1, _08022C54 @ =0x000002CA - adds r0, r4, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r1, #0x14 - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x5a - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r7, #4] - ldr r1, _08022C58 @ =0x086ADFE2 - ldr r3, _08022C30 @ =0x000002C3 - adds r4, r4, r3 - movs r0, #0 - ldrsb r0, [r4, r0] - lsls r0, r0, #2 - adds r0, r0, r1 - movs r2, #0 - ldr r5, _08022C5C @ =0x086B28A0 - mov sb, r5 - ldr r6, _08022C60 @ =0x03005000 - movs r3, #0 - ldrsh r1, [r0, r3] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #2 - mov ip, r0 - ldr r5, _08022C64 @ =0xFFFFFE00 - mov r8, r5 + ldr r0, _08022C4C @ =0x020314E0 + ldr r4, [r0] + movs r3, #0xb2 + lsls r3, r3, #2 + adds r0, r4, r3 + movs r5, #0 + ldrsh r0, [r0, r5] + movs r1, #0x14 + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r7, #2] + ldr r1, _08022C54 @ =0x000002CA + adds r0, r4, r1 + movs r2, #0 + ldrsh r0, [r0, r2] + movs r1, #0x14 + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x5a + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r7, #4] + ldr r1, _08022C58 @ =0x086ADFE2 + ldr r3, _08022C30 @ =0x000002C3 + adds r4, r4, r3 + movs r0, #0 + ldrsb r0, [r4, r0] + lsls r0, r0, #2 + adds r0, r0, r1 + movs r2, #0 + ldr r5, _08022C5C @ =0x086B28A0 + mov sb, r5 + ldr r6, _08022C60 @ =0x03005000 + movs r3, #0 + ldrsh r1, [r0, r3] + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #2 + mov ip, r0 + ldr r5, _08022C64 @ =0xFFFFFE00 + mov r8, r5 _08022BB6: - lsls r3, r2, #0x10 - asrs r3, r3, #0x10 - lsls r4, r3, #3 - adds r4, #8 - adds r4, r7, r4 - 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, sb - 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] - mov sl, r0 - mov r5, sl - lsls r1, r5, #0x17 - lsrs r1, r1, #0x17 - movs r5, #2 - ldrsh r0, [r7, r5] - adds r1, r1, r0 - ldr r5, _08022C68 @ =0x000001FF - adds r0, r5, #0 - ands r1, r0 - mov r0, r8 - mov r5, sl - ands r0, r5 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - 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 _08022BB6 - 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 + lsls r3, r2, #0x10 + asrs r3, r3, #0x10 + lsls r4, r3, #3 + adds r4, #8 + adds r4, r7, r4 + 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, sb + 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] + mov sl, r0 + mov r5, sl + lsls r1, r5, #0x17 + lsrs r1, r1, #0x17 + movs r5, #2 + ldrsh r0, [r7, r5] + adds r1, r1, r0 + ldr r5, _08022C68 @ =0x000001FF + adds r0, r5, #0 + ands r1, r0 + mov r0, r8 + mov r5, sl + ands r0, r5 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + 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 _08022BB6 + 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 _08022C30: .4byte 0x000002C3 _08022C34: .4byte 0x00000147 _08022C38: .4byte 0x040000D4 @@ -68671,90 +68671,90 @@ _08022C60: .4byte 0x03005000 _08022C64: .4byte 0xFFFFFE00 _08022C68: .4byte 0x000001FF - thumb_func_start sub_22C6C + thumb_func_start sub_22C6C sub_22C6C: @ 0x08022C6C - push {r4, r5, r6, lr} - ldr r4, _08022D14 @ =0x020314E0 - ldr r2, [r4] - ldr r0, _08022D18 @ =0x000002C6 - adds r1, r2, r0 - movs r0, #0 - strh r0, [r1] - movs r5, #0xb2 - lsls r5, r5, #2 - adds r1, r2, r5 - movs r0, #0xe1 - lsls r0, r0, #4 - strh r0, [r1] - ldr r6, _08022D1C @ =0x000002CA - adds r1, r2, r6 - ldr r0, _08022D20 @ =0x0000FFD8 - strh r0, [r1] - movs r0, #0xb3 - lsls r0, r0, #2 - adds r1, r2, r0 - ldr r0, _08022D24 @ =0x0000FFDC - strh r0, [r1] - ldr r0, _08022D28 @ =0x000002CE - adds r1, r2, r0 - movs r0, #0x3c - strh r0, [r1] - ldr r0, _08022D2C @ =0x0200B0C0 - ldr r1, _08022D30 @ =0x00000B98 - adds r0, r0, r1 - movs r3, #1 - movs r1, #1 - strh r1, [r0] - movs r0, #0xf6 - lsls r0, r0, #1 - adds r2, r2, r0 - strb r3, [r2] - ldr r4, [r4] - adds r5, r4, r5 - movs r1, #0 - ldrsh r0, [r5, r1] - movs r1, #0x14 - bl __divsi3 - ldr r5, _08022D34 @ =0x086AE088 - ldrh r1, [r5] - subs r0, r0, r1 - movs r2, #0xfa - lsls r2, r2, #1 - adds r1, r4, r2 - strh r0, [r1] - adds r6, r4, r6 - movs r1, #0 - ldrsh r0, [r6, r1] - movs r1, #0x14 - bl __divsi3 - ldrh r1, [r5, #2] - subs r0, r0, r1 - movs r2, #0xfb - lsls r2, r2, #1 - adds r1, r4, r2 - strh r0, [r1] - adds r4, #0xe4 - movs r0, #2 - strb r0, [r4] - ldr r1, _08022D38 @ =0x040000D4 - ldr r0, _08022D3C @ =0x083A806C - str r0, [r1] - ldr r0, _08022D40 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _08022D44 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08022D48 @ =0x083A704C - str r0, [r1] - ldr r0, _08022D4C @ =0x06015800 - str r0, [r1, #4] - ldr r0, _08022D50 @ =0x80000800 - str r0, [r1, #8] - ldr r0, [r1, #8] - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + ldr r4, _08022D14 @ =0x020314E0 + ldr r2, [r4] + ldr r0, _08022D18 @ =0x000002C6 + adds r1, r2, r0 + movs r0, #0 + strh r0, [r1] + movs r5, #0xb2 + lsls r5, r5, #2 + adds r1, r2, r5 + movs r0, #0xe1 + lsls r0, r0, #4 + strh r0, [r1] + ldr r6, _08022D1C @ =0x000002CA + adds r1, r2, r6 + ldr r0, _08022D20 @ =0x0000FFD8 + strh r0, [r1] + movs r0, #0xb3 + lsls r0, r0, #2 + adds r1, r2, r0 + ldr r0, _08022D24 @ =0x0000FFDC + strh r0, [r1] + ldr r0, _08022D28 @ =0x000002CE + adds r1, r2, r0 + movs r0, #0x3c + strh r0, [r1] + ldr r0, _08022D2C @ =0x0200B0C0 + ldr r1, _08022D30 @ =0x00000B98 + adds r0, r0, r1 + movs r3, #1 + movs r1, #1 + strh r1, [r0] + movs r0, #0xf6 + lsls r0, r0, #1 + adds r2, r2, r0 + strb r3, [r2] + ldr r4, [r4] + adds r5, r4, r5 + movs r1, #0 + ldrsh r0, [r5, r1] + movs r1, #0x14 + bl __divsi3 + ldr r5, _08022D34 @ =0x086AE088 + ldrh r1, [r5] + subs r0, r0, r1 + movs r2, #0xfa + lsls r2, r2, #1 + adds r1, r4, r2 + strh r0, [r1] + adds r6, r4, r6 + movs r1, #0 + ldrsh r0, [r6, r1] + movs r1, #0x14 + bl __divsi3 + ldrh r1, [r5, #2] + subs r0, r0, r1 + movs r2, #0xfb + lsls r2, r2, #1 + adds r1, r4, r2 + strh r0, [r1] + adds r4, #0xe4 + movs r0, #2 + strb r0, [r4] + ldr r1, _08022D38 @ =0x040000D4 + ldr r0, _08022D3C @ =0x083A806C + str r0, [r1] + ldr r0, _08022D40 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _08022D44 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08022D48 @ =0x083A704C + str r0, [r1] + ldr r0, _08022D4C @ =0x06015800 + str r0, [r1, #4] + ldr r0, _08022D50 @ =0x80000800 + str r0, [r1, #8] + ldr r0, [r1, #8] + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08022D14: .4byte 0x020314E0 _08022D18: .4byte 0x000002C6 _08022D1C: .4byte 0x000002CA @@ -68772,120 +68772,120 @@ _08022D48: .4byte 0x083A704C _08022D4C: .4byte 0x06015800 _08022D50: .4byte 0x80000800 - thumb_func_start sub_22D54 + thumb_func_start sub_22D54 sub_22D54: @ 0x08022D54 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r4, _08022E38 @ =0x020314E0 - ldr r5, [r4] - ldr r0, _08022E3C @ =0x000002C6 - mov sb, r0 - adds r0, r5, r0 - ldrh r6, [r0] - adds r0, r6, #0 - movs r1, #0x38 - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x13 - ldr r1, _08022E40 @ =0x0200BC58 - mov r8, r1 - mov sl, r4 - cmp r6, #0x81 - bls _08022D82 - b _08022EA0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r4, _08022E38 @ =0x020314E0 + ldr r5, [r4] + ldr r0, _08022E3C @ =0x000002C6 + mov sb, r0 + adds r0, r5, r0 + ldrh r6, [r0] + adds r0, r6, #0 + movs r1, #0x38 + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x13 + ldr r1, _08022E40 @ =0x0200BC58 + mov r8, r1 + mov sl, r4 + cmp r6, #0x81 + bls _08022D82 + b _08022EA0 _08022D82: - adds r0, r6, #0 - movs r1, #0x24 - bl __umodsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08022D96 - movs r0, #0xb8 - bl m4aSongNumStart + adds r0, r6, #0 + movs r1, #0x24 + bl __umodsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08022D96 + movs r0, #0xb8 + bl m4aSongNumStart _08022D96: - mov r2, sl - ldr r1, [r2] - mov r3, sb - adds r2, r1, r3 - ldrh r0, [r2] - adds r0, #1 - strh r0, [r2] - movs r5, #0xb2 - lsls r5, r5, #2 - adds r2, r1, r5 - movs r3, #0xb3 - lsls r3, r3, #2 - adds r0, r1, r3 - ldrh r0, [r0] - ldrh r5, [r2] - adds r0, r0, r5 - strh r0, [r2] - ldr r0, _08022E44 @ =0x000002CA - adds r2, r1, r0 - adds r3, #2 - adds r4, r1, r3 - ldrh r0, [r4] - ldrh r5, [r2] - adds r0, r0, r5 - strh r0, [r2] - ldrh r6, [r4] - movs r1, #0 - ldrsh r0, [r4, r1] - cmp r0, #7 - bgt _08022DE2 - ldr r0, _08022E48 @ =0xFFFFF468 - add r0, r8 - ldr r0, [r0, #0x4c] - movs r1, #3 - bl __umodsi3 - cmp r0, #0 - bne _08022DE6 + mov r2, sl + ldr r1, [r2] + mov r3, sb + adds r2, r1, r3 + ldrh r0, [r2] + adds r0, #1 + strh r0, [r2] + movs r5, #0xb2 + lsls r5, r5, #2 + adds r2, r1, r5 + movs r3, #0xb3 + lsls r3, r3, #2 + adds r0, r1, r3 + ldrh r0, [r0] + ldrh r5, [r2] + adds r0, r0, r5 + strh r0, [r2] + ldr r0, _08022E44 @ =0x000002CA + adds r2, r1, r0 + adds r3, #2 + adds r4, r1, r3 + ldrh r0, [r4] + ldrh r5, [r2] + adds r0, r0, r5 + strh r0, [r2] + ldrh r6, [r4] + movs r1, #0 + ldrsh r0, [r4, r1] + cmp r0, #7 + bgt _08022DE2 + ldr r0, _08022E48 @ =0xFFFFF468 + add r0, r8 + ldr r0, [r0, #0x4c] + movs r1, #3 + bl __umodsi3 + cmp r0, #0 + bne _08022DE6 _08022DE2: - subs r0, r6, #1 - strh r0, [r4] + subs r0, r6, #1 + strh r0, [r4] _08022DE6: - ldr r0, _08022E38 @ =0x020314E0 - ldr r6, [r0] - ldr r2, _08022E3C @ =0x000002C6 - adds r1, r6, r2 - ldrh r1, [r1] - mov sl, r0 - cmp r1, #0x4d - bhi _08022E50 - movs r3, #0xb2 - lsls r3, r3, #2 - adds r0, r6, r3 - movs r5, #0 - ldrsh r0, [r0, r5] - movs r1, #0x14 - bl __divsi3 - ldr r1, _08022E4C @ =0x086AE088 - lsls r5, r7, #0x10 - lsrs r4, r5, #0xe - adds r4, r4, r1 - ldrh r1, [r4] - subs r0, r0, r1 - movs r7, #0xfa - lsls r7, r7, #1 - adds r1, r6, r7 - strh r0, [r1] - ldr r1, _08022E44 @ =0x000002CA - adds r0, r6, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r1, #0x14 - bl __divsi3 - ldrh r1, [r4, #2] - subs r0, r0, r1 - movs r3, #0xfb - lsls r3, r3, #1 - adds r1, r6, r3 - strh r0, [r1] - b _08022E64 - .align 2, 0 + ldr r0, _08022E38 @ =0x020314E0 + ldr r6, [r0] + ldr r2, _08022E3C @ =0x000002C6 + adds r1, r6, r2 + ldrh r1, [r1] + mov sl, r0 + cmp r1, #0x4d + bhi _08022E50 + movs r3, #0xb2 + lsls r3, r3, #2 + adds r0, r6, r3 + movs r5, #0 + ldrsh r0, [r0, r5] + movs r1, #0x14 + bl __divsi3 + ldr r1, _08022E4C @ =0x086AE088 + lsls r5, r7, #0x10 + lsrs r4, r5, #0xe + adds r4, r4, r1 + ldrh r1, [r4] + subs r0, r0, r1 + movs r7, #0xfa + lsls r7, r7, #1 + adds r1, r6, r7 + strh r0, [r1] + ldr r1, _08022E44 @ =0x000002CA + adds r0, r6, r1 + movs r2, #0 + ldrsh r0, [r0, r2] + movs r1, #0x14 + bl __divsi3 + ldrh r1, [r4, #2] + subs r0, r0, r1 + movs r3, #0xfb + lsls r3, r3, #1 + adds r1, r6, r3 + strh r0, [r1] + b _08022E64 + .align 2, 0 _08022E38: .4byte 0x020314E0 _08022E3C: .4byte 0x000002C6 _08022E40: .4byte 0x0200BC58 @@ -68893,37 +68893,37 @@ _08022E44: .4byte 0x000002CA _08022E48: .4byte 0xFFFFF468 _08022E4C: .4byte 0x086AE088 _08022E50: - movs r5, #0xfa - lsls r5, r5, #1 - adds r0, r6, r5 - movs r1, #0 - strh r1, [r0] - movs r2, #0xfb - lsls r2, r2, #1 - adds r0, r6, r2 - strh r1, [r0] - lsls r5, r7, #0x10 + movs r5, #0xfa + lsls r5, r5, #1 + adds r0, r6, r5 + movs r1, #0 + strh r1, [r0] + movs r2, #0xfb + lsls r2, r2, #1 + adds r0, r6, r2 + strh r1, [r0] + lsls r5, r7, #0x10 _08022E64: - mov r3, sl - ldr r1, [r3] - ldr r7, _08022E88 @ =0x000002C6 - adds r0, r1, r7 - ldrh r0, [r0] - cmp r0, #0x4e - bne _08022E76 - ldr r0, _08022E8C @ =0x000186A0 - str r0, [r1, #0x3c] + mov r3, sl + ldr r1, [r3] + ldr r7, _08022E88 @ =0x000002C6 + adds r0, r1, r7 + ldrh r0, [r0] + cmp r0, #0x4e + bne _08022E76 + ldr r0, _08022E8C @ =0x000186A0 + str r0, [r1, #0x3c] _08022E76: - ldr r1, _08022E90 @ =0x040000D4 - ldr r0, _08022E94 @ =0x084FD18C - str r0, [r1] - ldr r0, _08022E98 @ =0x06011CE0 - str r0, [r1, #4] - ldr r0, _08022E9C @ =0x80000100 - str r0, [r1, #8] - ldr r0, [r1, #8] - b _08022EBA - .align 2, 0 + ldr r1, _08022E90 @ =0x040000D4 + ldr r0, _08022E94 @ =0x084FD18C + str r0, [r1] + ldr r0, _08022E98 @ =0x06011CE0 + str r0, [r1, #4] + ldr r0, _08022E9C @ =0x80000100 + str r0, [r1, #8] + ldr r0, [r1, #8] + b _08022EBA + .align 2, 0 _08022E88: .4byte 0x000002C6 _08022E8C: .4byte 0x000186A0 _08022E90: .4byte 0x040000D4 @@ -68931,195 +68931,195 @@ _08022E94: .4byte 0x084FD18C _08022E98: .4byte 0x06011CE0 _08022E9C: .4byte 0x80000100 _08022EA0: - movs r2, #0 - mov r0, r8 - strh r2, [r0] - movs r3, #0xb4 - lsls r3, r3, #2 - adds r1, r5, r3 - movs r0, #2 - strb r0, [r1] - mov r5, sl - ldr r0, [r5] - adds r0, #0xe4 - strb r2, [r0] - lsls r5, r7, #0x10 + movs r2, #0 + mov r0, r8 + strh r2, [r0] + movs r3, #0xb4 + lsls r3, r3, #2 + adds r1, r5, r3 + movs r0, #2 + strb r0, [r1] + mov r5, sl + ldr r0, [r5] + adds r0, #0xe4 + strb r2, [r0] + lsls r5, r7, #0x10 _08022EBA: - mov r7, sl - ldr r4, [r7] - movs r1, #0xb2 - lsls r1, r1, #2 - adds r0, r4, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r1, #0x14 - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - mov r3, r8 - strh r0, [r3, #2] - ldr r7, _08022F90 @ =0x000002CA - adds r0, r4, r7 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #0x14 - bl __divsi3 - adds r4, #0x5a - ldrh r1, [r4] - subs r0, r0, r1 - mov r2, r8 - strh r0, [r2, #4] - movs r2, #0 - ldr r3, _08022F94 @ =0x03005000 - mov ip, r3 - ldr r7, _08022F98 @ =0x086B4850 - mov sl, r7 - asrs r1, r5, #0x10 - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r6, r0, #1 - ldr r0, _08022F9C @ =0xFFFFFE00 - mov sb, r0 + mov r7, sl + ldr r4, [r7] + movs r1, #0xb2 + lsls r1, r1, #2 + adds r0, r4, r1 + movs r2, #0 + ldrsh r0, [r0, r2] + movs r1, #0x14 + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + mov r3, r8 + strh r0, [r3, #2] + ldr r7, _08022F90 @ =0x000002CA + adds r0, r4, r7 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r1, #0x14 + bl __divsi3 + adds r4, #0x5a + ldrh r1, [r4] + subs r0, r0, r1 + mov r2, r8 + strh r0, [r2, #4] + movs r2, #0 + ldr r3, _08022F94 @ =0x03005000 + mov ip, r3 + ldr r7, _08022F98 @ =0x086B4850 + mov sl, r7 + asrs r1, r5, #0x10 + lsls r0, r1, #4 + subs r0, r0, r1 + lsls r6, r0, #1 + ldr r0, _08022F9C @ =0xFFFFFE00 + mov sb, r0 _08022F08: - lsls r3, r2, #0x10 - asrs r3, r3, #0x10 - lsls r4, r3, #3 - adds r4, #8 - add r4, r8 - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, ip - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - adds r0, r0, r6 - add r0, sl - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - adds r0, r0, r6 - add r0, sl - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - adds r1, r1, r6 - add r1, sl - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, ip - ldrh r5, [r2, #2] - lsls r1, r5, #0x17 - lsrs r1, r1, #0x17 - mov r7, r8 - movs r5, #2 - ldrsh r0, [r7, r5] - adds r1, r1, r0 - ldr r7, _08022FA0 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, sb - ldrh r5, [r2, #2] - ands r0, r5 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, ip - mov r7, r8 - 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, #4 - ble _08022F08 - 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 + lsls r3, r2, #0x10 + asrs r3, r3, #0x10 + lsls r4, r3, #3 + adds r4, #8 + add r4, r8 + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, ip + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + adds r0, r0, r6 + add r0, sl + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + adds r0, r0, r6 + add r0, sl + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + adds r1, r1, r6 + add r1, sl + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, ip + ldrh r5, [r2, #2] + lsls r1, r5, #0x17 + lsrs r1, r1, #0x17 + mov r7, r8 + movs r5, #2 + ldrsh r0, [r7, r5] + adds r1, r1, r0 + ldr r7, _08022FA0 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, sb + ldrh r5, [r2, #2] + ands r0, r5 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, ip + mov r7, r8 + 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, #4 + ble _08022F08 + 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 _08022F90: .4byte 0x000002CA _08022F94: .4byte 0x03005000 _08022F98: .4byte 0x086B4850 _08022F9C: .4byte 0xFFFFFE00 _08022FA0: .4byte 0x000001FF - thumb_func_start sub_22FA4 + thumb_func_start sub_22FA4 sub_22FA4: @ 0x08022FA4 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r4, _0802301C @ =0x020314E0 - ldr r0, [r4] - ldr r1, _08023020 @ =0x0000020E - adds r0, r0, r1 - movs r1, #0 - strh r1, [r0] - movs r0, #9 - bl sub_1C7F4 - ldr r0, [r4] - adds r0, #0xe4 - movs r1, #0xe - strb r1, [r0] - ldr r0, _08023024 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r1, [r0, #0x10] - movs r0, #1 - strh r0, [r1] - movs r2, #0 - mov r8, r4 - ldr r7, _08023028 @ =0x086A3707 - mov ip, r7 - ldr r4, _0802302C @ =0x040000D4 - ldr r0, _08023030 @ =0x06015800 - mov sb, r0 - ldr r6, _08023034 @ =0x80000020 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r4, _0802301C @ =0x020314E0 + ldr r0, [r4] + ldr r1, _08023020 @ =0x0000020E + adds r0, r0, r1 + movs r1, #0 + strh r1, [r0] + movs r0, #9 + bl sub_1C7F4 + ldr r0, [r4] + adds r0, #0xe4 + movs r1, #0xe + strb r1, [r0] + ldr r0, _08023024 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r1, [r0, #0x10] + movs r0, #1 + strh r0, [r1] + movs r2, #0 + mov r8, r4 + ldr r7, _08023028 @ =0x086A3707 + mov ip, r7 + ldr r4, _0802302C @ =0x040000D4 + ldr r0, _08023030 @ =0x06015800 + mov sb, r0 + ldr r6, _08023034 @ =0x80000020 _08022FE0: - lsls r2, r2, #0x10 - asrs r3, r2, #0x10 - mov r1, r8 - ldr r5, [r1] - movs r7, #0xb3 - lsls r7, r7, #3 - adds r0, r5, r7 - 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 _0802303C - ldr r0, _08023038 @ =0x083FFD4C - str r0, [r4] - lsls r0, r3, #6 - add r0, sb - str r0, [r4, #4] - str r6, [r4, #8] - ldr r0, [r4, #8] - ldr r0, _08023020 @ =0x0000020E - adds r1, r5, r0 - ldrh r0, [r1] - adds r0, #4 - strh r0, [r1] - b _08023052 - .align 2, 0 + lsls r2, r2, #0x10 + asrs r3, r2, #0x10 + mov r1, r8 + ldr r5, [r1] + movs r7, #0xb3 + lsls r7, r7, #3 + adds r0, r5, r7 + 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 _0802303C + ldr r0, _08023038 @ =0x083FFD4C + str r0, [r4] + lsls r0, r3, #6 + add r0, sb + str r0, [r4, #4] + str r6, [r4, #8] + ldr r0, [r4, #8] + ldr r0, _08023020 @ =0x0000020E + adds r1, r5, r0 + ldrh r0, [r1] + adds r0, #4 + strh r0, [r1] + b _08023052 + .align 2, 0 _0802301C: .4byte 0x020314E0 _08023020: .4byte 0x0000020E _08023024: .4byte 0x0200B0C0 @@ -69129,104 +69129,104 @@ _08023030: .4byte 0x06015800 _08023034: .4byte 0x80000020 _08023038: .4byte 0x083FFD4C _0802303C: - ldrb r0, [r1] - subs r0, #0x41 - lsls r0, r0, #6 - ldr r1, _0802306C @ =0x083FF04C - adds r0, r0, r1 - str r0, [r4] - lsls r0, r3, #6 - add r0, sb - str r0, [r4, #4] - str r6, [r4, #8] - ldr r0, [r4, #8] + ldrb r0, [r1] + subs r0, #0x41 + lsls r0, r0, #6 + ldr r1, _0802306C @ =0x083FF04C + adds r0, r0, r1 + str r0, [r4] + lsls r0, r3, #6 + add r0, sb + str r0, [r4, #4] + str r6, [r4, #8] + ldr r0, [r4, #8] _08023052: - movs r1, #0x80 - lsls r1, r1, #9 - adds r0, r2, r1 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #9 - ble _08022FE0 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + movs r1, #0x80 + lsls r1, r1, #9 + adds r0, r2, r1 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #9 + ble _08022FE0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0802306C: .4byte 0x083FF04C - thumb_func_start sub_23070 + thumb_func_start sub_23070 sub_23070: @ 0x08023070 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r0, _080230F4 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r6, [r0, #0x10] - movs r0, #0 - ldr r1, _080230F8 @ =0x020314E0 - mov r8, r1 - ldr r7, _080230FC @ =0x03005000 - ldr r2, _08023100 @ =0xFFFFFE00 - mov ip, r2 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r0, _080230F4 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r6, [r0, #0x10] + movs r0, #0 + ldr r1, _080230F8 @ =0x020314E0 + mov r8, r1 + ldr r7, _080230FC @ =0x03005000 + ldr r2, _08023100 @ =0xFFFFFE00 + mov ip, r2 _08023088: - lsls r5, r0, #0x10 - asrs r5, r5, #0x10 - lsls r4, r5, #3 - mov r3, r8 - ldr r1, [r3] - ldr r2, _08023104 @ =0x0000020E - adds r0, r1, r2 - ldrh r0, [r0] - adds r0, #0x98 - movs r3, #0xdb - lsls r3, r3, #1 - adds r2, r1, r3 - adds r0, r4, r0 - ldrh r2, [r2] - adds r0, r0, r2 - strh r0, [r6, #2] - movs r0, #0x60 - strh r0, [r6, #4] - adds r4, #8 - adds r4, r6, r4 - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r7 - movs r0, #2 - ldrsh r1, [r4, r0] - movs r2, #2 - ldrsh r0, [r6, r2] - adds r1, r1, r0 - ldr r2, _08023108 @ =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, [r4] - lsls r1, r1, #3 - adds r1, r1, r7 - ldrb r0, [r6, #4] - ldrb r4, [r4, #4] - adds r0, r0, r4 - strb r0, [r1] - adds r5, #1 - lsls r5, r5, #0x10 - lsrs r0, r5, #0x10 - asrs r5, r5, #0x10 - cmp r5, #9 - ble _08023088 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + lsls r5, r0, #0x10 + asrs r5, r5, #0x10 + lsls r4, r5, #3 + mov r3, r8 + ldr r1, [r3] + ldr r2, _08023104 @ =0x0000020E + adds r0, r1, r2 + ldrh r0, [r0] + adds r0, #0x98 + movs r3, #0xdb + lsls r3, r3, #1 + adds r2, r1, r3 + adds r0, r4, r0 + ldrh r2, [r2] + adds r0, r0, r2 + strh r0, [r6, #2] + movs r0, #0x60 + strh r0, [r6, #4] + adds r4, #8 + adds r4, r6, r4 + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r7 + movs r0, #2 + ldrsh r1, [r4, r0] + movs r2, #2 + ldrsh r0, [r6, r2] + adds r1, r1, r0 + ldr r2, _08023108 @ =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, [r4] + lsls r1, r1, #3 + adds r1, r1, r7 + ldrb r0, [r6, #4] + ldrb r4, [r4, #4] + adds r0, r0, r4 + strb r0, [r1] + adds r5, #1 + lsls r5, r5, #0x10 + lsrs r0, r5, #0x10 + asrs r5, r5, #0x10 + cmp r5, #9 + ble _08023088 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _080230F4: .4byte 0x0200B0C0 _080230F8: .4byte 0x020314E0 _080230FC: .4byte 0x03005000 @@ -69234,96 +69234,96 @@ _08023100: .4byte 0xFFFFFE00 _08023104: .4byte 0x0000020E _08023108: .4byte 0x000001FF - thumb_func_start sub_2310C + thumb_func_start sub_2310C sub_2310C: @ 0x0802310C - ldr r0, _08023124 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r1, [r0, #0x10] - movs r2, #0 - movs r0, #0 - strh r0, [r1] - ldr r0, _08023128 @ =0x020314E0 - ldr r0, [r0] - adds r0, #0xe4 - strb r2, [r0] - bx lr - .align 2, 0 + ldr r0, _08023124 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r1, [r0, #0x10] + movs r2, #0 + movs r0, #0 + strh r0, [r1] + ldr r0, _08023128 @ =0x020314E0 + ldr r0, [r0] + adds r0, #0xe4 + strb r2, [r0] + bx lr + .align 2, 0 _08023124: .4byte 0x0200B0C0 _08023128: .4byte 0x020314E0 - thumb_func_start sub_2312C + thumb_func_start sub_2312C sub_2312C: @ 0x0802312C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r4, _080231B8 @ =0x020314E0 - ldr r0, [r4] - ldr r2, _080231BC @ =0x0000020E - adds r1, r0, r2 - movs r2, #0 - movs r3, #0 - strh r3, [r1] - ldr r7, _080231C0 @ =0x000006DB - adds r0, r0, r7 - strb r2, [r0] - ldr r0, [r4] - movs r1, #0x84 - lsls r1, r1, #2 - adds r0, r0, r1 - strh r3, [r0] - movs r0, #3 - movs r1, #0 - bl sub_1C7F4 - ldr r0, [r4] - adds r0, #0xe4 - movs r1, #0xd - strb r1, [r0] - ldr r0, _080231C4 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r1, [r0, #0x10] - movs r0, #1 - strh r0, [r1] - movs r5, #0 - mov r8, r4 - ldr r2, _080231C8 @ =0x086A3707 - mov ip, r2 - ldr r3, _080231CC @ =0x040000D4 - ldr r7, _080231D0 @ =0x06015800 - mov sb, r7 - ldr r6, _080231D4 @ =0x80000020 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r4, _080231B8 @ =0x020314E0 + ldr r0, [r4] + ldr r2, _080231BC @ =0x0000020E + adds r1, r0, r2 + movs r2, #0 + movs r3, #0 + strh r3, [r1] + ldr r7, _080231C0 @ =0x000006DB + adds r0, r0, r7 + strb r2, [r0] + ldr r0, [r4] + movs r1, #0x84 + lsls r1, r1, #2 + adds r0, r0, r1 + strh r3, [r0] + movs r0, #3 + movs r1, #0 + bl sub_1C7F4 + ldr r0, [r4] + adds r0, #0xe4 + movs r1, #0xd + strb r1, [r0] + ldr r0, _080231C4 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r1, [r0, #0x10] + movs r0, #1 + strh r0, [r1] + movs r5, #0 + mov r8, r4 + ldr r2, _080231C8 @ =0x086A3707 + mov ip, r2 + ldr r3, _080231CC @ =0x040000D4 + ldr r7, _080231D0 @ =0x06015800 + mov sb, r7 + ldr r6, _080231D4 @ =0x80000020 _0802317C: - lsls r0, r5, #0x10 - asrs r2, r0, #0x10 - mov r0, r8 - ldr r4, [r0] - movs r1, #0xb3 - lsls r1, r1, #3 - adds r0, r4, r1 - ldrh r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r2, r0 - mov r7, ip - adds r1, r0, r7 - ldrb r0, [r1] - cmp r0, #0x20 - bne _080231DC - ldr r0, _080231D8 @ =0x083FFD4C - str r0, [r3] - lsls r0, r2, #6 - add r0, sb - str r0, [r3, #4] - str r6, [r3, #8] - ldr r0, [r3, #8] - ldr r0, _080231BC @ =0x0000020E - adds r1, r4, r0 - ldrh r0, [r1] - adds r0, #4 - strh r0, [r1] - b _080231F2 - .align 2, 0 + lsls r0, r5, #0x10 + asrs r2, r0, #0x10 + mov r0, r8 + ldr r4, [r0] + movs r1, #0xb3 + lsls r1, r1, #3 + adds r0, r4, r1 + ldrh r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r2, r0 + mov r7, ip + adds r1, r0, r7 + ldrb r0, [r1] + cmp r0, #0x20 + bne _080231DC + ldr r0, _080231D8 @ =0x083FFD4C + str r0, [r3] + lsls r0, r2, #6 + add r0, sb + str r0, [r3, #4] + str r6, [r3, #8] + ldr r0, [r3, #8] + ldr r0, _080231BC @ =0x0000020E + adds r1, r4, r0 + ldrh r0, [r1] + adds r0, #4 + strh r0, [r1] + b _080231F2 + .align 2, 0 _080231B8: .4byte 0x020314E0 _080231BC: .4byte 0x0000020E _080231C0: .4byte 0x000006DB @@ -69334,50 +69334,50 @@ _080231D0: .4byte 0x06015800 _080231D4: .4byte 0x80000020 _080231D8: .4byte 0x083FFD4C _080231DC: - ldrb r0, [r1] - subs r0, #0x41 - lsls r0, r0, #6 - ldr r1, _08023230 @ =0x083FF04C - adds r0, r0, r1 - str r0, [r3] - lsls r0, r2, #6 - add r0, sb - str r0, [r3, #4] - str r6, [r3, #8] - ldr r0, [r3, #8] + ldrb r0, [r1] + subs r0, #0x41 + lsls r0, r0, #6 + ldr r1, _08023230 @ =0x083FF04C + adds r0, r0, r1 + str r0, [r3] + lsls r0, r2, #6 + add r0, sb + str r0, [r3, #4] + str r6, [r3, #8] + ldr r0, [r3, #8] _080231F2: - 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, #9 - ble _0802317C - ldr r0, _08023234 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r1, [r0, #0x14] - movs r0, #1 - strh r0, [r1] - movs r5, #0 - ldr r2, _08023238 @ =0x086ACFE0 - mov r8, r2 - ldr r3, _0802323C @ =0x040000D4 - ldr r6, _08023240 @ =0x06015800 - ldr r4, _08023244 @ =0x80000020 + 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, #9 + ble _0802317C + ldr r0, _08023234 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r1, [r0, #0x14] + movs r0, #1 + strh r0, [r1] + movs r5, #0 + ldr r2, _08023238 @ =0x086ACFE0 + mov r8, r2 + ldr r3, _0802323C @ =0x040000D4 + ldr r6, _08023240 @ =0x06015800 + ldr r4, _08023244 @ =0x80000020 _08023218: - lsls r0, r5, #0x10 - asrs r2, r0, #0x10 - lsls r0, r2, #1 - mov r7, r8 - adds r1, r0, r7 - movs r7, #0 - ldrsh r0, [r1, r7] - cmp r0, #0x20 - bne _0802324C - ldr r0, _08023248 @ =0x083FFD4C - b _08023258 - .align 2, 0 + lsls r0, r5, #0x10 + asrs r2, r0, #0x10 + lsls r0, r2, #1 + mov r7, r8 + adds r1, r0, r7 + movs r7, #0 + ldrsh r0, [r1, r7] + cmp r0, #0x20 + bne _0802324C + ldr r0, _08023248 @ =0x083FFD4C + b _08023258 + .align 2, 0 _08023230: .4byte 0x083FF04C _08023234: .4byte 0x0200B0C0 _08023238: .4byte 0x086ACFE0 @@ -69386,214 +69386,214 @@ _08023240: .4byte 0x06015800 _08023244: .4byte 0x80000020 _08023248: .4byte 0x083FFD4C _0802324C: - movs r7, #0 - ldrsh r0, [r1, r7] - subs r0, #0x41 - lsls r0, r0, #6 - ldr r1, _080232EC @ =0x083FF04C - adds r0, r0, r1 + movs r7, #0 + ldrsh r0, [r1, r7] + subs r0, #0x41 + lsls r0, r0, #6 + ldr r1, _080232EC @ =0x083FF04C + adds r0, r0, r1 _08023258: - str r0, [r3] - adds r0, r2, #0 - adds r0, #0xa - lsls r0, r0, #6 - adds r0, r0, r6 - str r0, [r3, #4] - str r4, [r3, #8] - ldr r0, [r3, #8] - 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, #9 - ble _08023218 - movs r5, #0 - ldr r2, _080232F0 @ =0x020314E0 - mov ip, r2 - ldr r7, _080232F4 @ =0x00000212 - movs r6, #0 - movs r4, #0x8a - lsls r4, r4, #2 + str r0, [r3] + adds r0, r2, #0 + adds r0, #0xa + lsls r0, r0, #6 + adds r0, r0, r6 + str r0, [r3, #4] + str r4, [r3, #8] + ldr r0, [r3, #8] + 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, #9 + ble _08023218 + movs r5, #0 + ldr r2, _080232F0 @ =0x020314E0 + mov ip, r2 + ldr r7, _080232F4 @ =0x00000212 + movs r6, #0 + movs r4, #0x8a + lsls r4, r4, #2 _08023286: - mov r0, ip - ldr r2, [r0] - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - lsls r3, r1, #1 - adds r0, r2, r7 - adds r0, r0, r3 - strh r3, [r0] - lsls r0, r1, #2 - adds r2, r2, r0 - adds r2, r2, r4 - strh r6, [r2] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r5, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #9 - ble _08023286 - movs r5, #0 - ldr r1, _080232F0 @ =0x020314E0 - mov ip, r1 - movs r7, #0 - ldr r6, _080232F8 @ =0x000013D4 - ldr r4, _080232FC @ =0x000013E8 + mov r0, ip + ldr r2, [r0] + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + lsls r3, r1, #1 + adds r0, r2, r7 + adds r0, r0, r3 + strh r3, [r0] + lsls r0, r1, #2 + adds r2, r2, r0 + adds r2, r2, r4 + strh r6, [r2] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r5, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #9 + ble _08023286 + movs r5, #0 + ldr r1, _080232F0 @ =0x020314E0 + mov ip, r1 + movs r7, #0 + ldr r6, _080232F8 @ =0x000013D4 + ldr r4, _080232FC @ =0x000013E8 _080232B6: - mov r2, ip - ldr r3, [r2] - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r2, r3, r6 - adds r2, r2, r0 - adds r0, r1, #0 - adds r0, #0xa - lsls r0, r0, #1 - strh r0, [r2] - lsls r0, r1, #2 - adds r3, r3, r0 - adds r3, r3, r4 - strh r7, [r3] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r5, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #9 - ble _080232B6 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + mov r2, ip + ldr r3, [r2] + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r2, r3, r6 + adds r2, r2, r0 + adds r0, r1, #0 + adds r0, #0xa + lsls r0, r0, #1 + strh r0, [r2] + lsls r0, r1, #2 + adds r3, r3, r0 + adds r3, r3, r4 + strh r7, [r3] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r5, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #9 + ble _080232B6 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _080232EC: .4byte 0x083FF04C _080232F0: .4byte 0x020314E0 _080232F4: .4byte 0x00000212 _080232F8: .4byte 0x000013D4 _080232FC: .4byte 0x000013E8 - thumb_func_start sub_23300 + thumb_func_start sub_23300 sub_23300: @ 0x08023300 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r0, _080233E4 @ =0x020314E0 - ldr r1, [r0] - ldr r2, _080233E8 @ =0x000006C4 - adds r1, r1, r2 - movs r4, #0 - strb r4, [r1] - ldr r1, [r0] - movs r3, #0x84 - lsls r3, r3, #2 - adds r1, r1, r3 - ldrh r2, [r1] - adds r3, r2, #0 - mov r8, r0 - cmp r3, #0 - bne _080233FC - adds r0, r2, #1 - strh r0, [r1] - ldr r1, _080233EC @ =0x0200B0C0 - ldr r0, [r1, #0x44] - ldr r7, [r0, #0x10] - strh r4, [r7, #2] - movs r0, #0xb4 - strh r0, [r7, #4] - movs r5, #0 - ldr r6, _080233F0 @ =0x03005000 - ldr r4, _080233F4 @ =0xFFFFFE00 - mov r8, r4 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r0, _080233E4 @ =0x020314E0 + ldr r1, [r0] + ldr r2, _080233E8 @ =0x000006C4 + adds r1, r1, r2 + movs r4, #0 + strb r4, [r1] + ldr r1, [r0] + movs r3, #0x84 + lsls r3, r3, #2 + adds r1, r1, r3 + ldrh r2, [r1] + adds r3, r2, #0 + mov r8, r0 + cmp r3, #0 + bne _080233FC + adds r0, r2, #1 + strh r0, [r1] + ldr r1, _080233EC @ =0x0200B0C0 + ldr r0, [r1, #0x44] + ldr r7, [r0, #0x10] + strh r4, [r7, #2] + movs r0, #0xb4 + strh r0, [r7, #4] + movs r5, #0 + ldr r6, _080233F0 @ =0x03005000 + ldr r4, _080233F4 @ =0xFFFFFE00 + mov r8, r4 _08023342: - lsls r4, r5, #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, _080233F8 @ =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 r5, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #9 - ble _08023342 - ldr r3, _080233EC @ =0x0200B0C0 - ldr r0, [r3, #0x44] - ldr r7, [r0, #0x14] - movs r0, #0 - strh r0, [r7, #2] - movs r0, #0xb4 - strh r0, [r7, #4] - movs r5, #0 - ldr r6, _080233F0 @ =0x03005000 - ldr r4, _080233F4 @ =0xFFFFFE00 - mov r8, r4 + lsls r4, r5, #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, _080233F8 @ =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 r5, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #9 + ble _08023342 + ldr r3, _080233EC @ =0x0200B0C0 + ldr r0, [r3, #0x44] + ldr r7, [r0, #0x14] + movs r0, #0 + strh r0, [r7, #2] + movs r0, #0xb4 + strh r0, [r7, #4] + movs r5, #0 + ldr r6, _080233F0 @ =0x03005000 + ldr r4, _080233F4 @ =0xFFFFFE00 + mov r8, r4 _0802339C: - lsls r4, r5, #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, _080233F8 @ =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 r5, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #9 - ble _0802339C - b _08023934 - .align 2, 0 + lsls r4, r5, #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, _080233F8 @ =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 r5, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #9 + ble _0802339C + b _08023934 + .align 2, 0 _080233E4: .4byte 0x020314E0 _080233E8: .4byte 0x000006C4 _080233EC: .4byte 0x0200B0C0 @@ -69601,162 +69601,162 @@ _080233F0: .4byte 0x03005000 _080233F4: .4byte 0xFFFFFE00 _080233F8: .4byte 0x000001FF _080233FC: - cmp r3, #0xc2 - bls _08023402 - b _0802385C + cmp r3, #0xc2 + bls _08023402 + b _0802385C _08023402: - adds r0, r2, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x9b - bls _08023410 - b _08023688 + adds r0, r2, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x9b + bls _08023410 + b _08023688 _08023410: - ldr r1, _0802343C @ =0x0200B0C0 - ldr r0, [r1, #0x44] - ldr r7, [r0, #0x10] - movs r5, #0 - ldr r3, _08023440 @ =0x03005000 - mov sb, r3 - ldr r4, _08023444 @ =0x00000637 - mov sl, r4 + ldr r1, _0802343C @ =0x0200B0C0 + ldr r0, [r1, #0x44] + ldr r7, [r0, #0x10] + movs r5, #0 + ldr r3, _08023440 @ =0x03005000 + mov sb, r3 + ldr r4, _08023444 @ =0x00000637 + mov sl, r4 _08023420: - mov r0, r8 - ldr r3, [r0] - lsls r0, r5, #0x10 - asrs r2, r0, #0x10 - lsls r1, r2, #1 - ldr r4, _08023448 @ =0x00000212 - adds r0, r3, r4 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, #0 - beq _0802344C - subs r0, #1 - strh r0, [r1] - b _0802347C - .align 2, 0 + mov r0, r8 + ldr r3, [r0] + lsls r0, r5, #0x10 + asrs r2, r0, #0x10 + lsls r1, r2, #1 + ldr r4, _08023448 @ =0x00000212 + adds r0, r3, r4 + adds r1, r0, r1 + ldrh r0, [r1] + cmp r0, #0 + beq _0802344C + subs r0, #1 + strh r0, [r1] + b _0802347C + .align 2, 0 _0802343C: .4byte 0x0200B0C0 _08023440: .4byte 0x03005000 _08023444: .4byte 0x00000637 _08023448: .4byte 0x00000212 _0802344C: - lsls r0, r2, #2 - adds r0, r3, r0 - movs r1, #0x8a - lsls r1, r1, #2 - adds r4, r0, r1 - movs r2, #0 - ldrsh r1, [r4, r2] - movs r6, #0xc8 - lsls r6, r6, #3 - subs r1, r6, r1 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - movs r1, #0x64 - bl __divsi3 - ldrh r1, [r4] - adds r1, r1, r0 - strh r1, [r4] - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, sl - ble _0802347C - strh r6, [r4] + lsls r0, r2, #2 + adds r0, r3, r0 + movs r1, #0x8a + lsls r1, r1, #2 + adds r4, r0, r1 + movs r2, #0 + ldrsh r1, [r4, r2] + movs r6, #0xc8 + lsls r6, r6, #3 + subs r1, r6, r1 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + movs r1, #0x64 + bl __divsi3 + ldrh r1, [r4] + adds r1, r1, r0 + strh r1, [r4] + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, sl + ble _0802347C + strh r6, [r4] _0802347C: - lsls r6, r5, #0x10 - asrs r6, r6, #0x10 - lsls r2, r6, #3 - adds r4, r2, #0 - adds r4, #0x50 - mov r3, r8 - ldr r5, [r3] - adds r0, r5, #0 - adds r0, #0x58 - ldrh r0, [r0] - subs r4, r4, r0 - lsls r0, r6, #2 - adds r0, r5, r0 - movs r1, #0x8a - lsls r1, r1, #2 - adds r0, r0, r1 - movs r3, #0 - ldrsh r0, [r0, r3] - movs r1, #0xa - str r2, [sp] - bl __divsi3 - subs r0, #0xa0 - ldr r3, _08023530 @ =0x0000020E - adds r1, r5, r3 - subs r4, r4, r0 - ldrh r1, [r1] - adds r4, r4, r1 - strh r4, [r7, #2] - ldr r4, _08023534 @ =0x000006E6 - adds r5, r5, r4 - ldrh r0, [r5] - adds r0, #0x24 - strh r0, [r7, #4] - ldr r2, [sp] - adds r2, #8 - adds r5, r7, r2 - ldrh r3, [r5] - lsls r3, r3, #3 - add r3, sb - movs r0, #2 - ldrsh r2, [r5, r0] - movs r1, #2 - ldrsh r0, [r7, r1] - adds r2, r2, r0 - ldr r4, _08023538 @ =0x000001FF - adds r0, r4, #0 - ands r2, r0 - ldrh r0, [r3, #2] - ldr r4, _0802353C @ =0xFFFFFE00 - adds r1, r4, #0 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r7, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] - adds r6, #1 - lsls r6, r6, #0x10 - lsrs r5, r6, #0x10 - asrs r6, r6, #0x10 - cmp r6, #9 - ble _08023420 - ldr r5, _08023540 @ =0x0200B0C0 - ldr r0, [r5, #0x44] - ldr r7, [r0, #0x14] - movs r5, #0 - ldr r0, _08023544 @ =0x00000637 - mov sl, r0 - ldr r1, _08023548 @ =0x03005000 - mov sb, r1 + lsls r6, r5, #0x10 + asrs r6, r6, #0x10 + lsls r2, r6, #3 + adds r4, r2, #0 + adds r4, #0x50 + mov r3, r8 + ldr r5, [r3] + adds r0, r5, #0 + adds r0, #0x58 + ldrh r0, [r0] + subs r4, r4, r0 + lsls r0, r6, #2 + adds r0, r5, r0 + movs r1, #0x8a + lsls r1, r1, #2 + adds r0, r0, r1 + movs r3, #0 + ldrsh r0, [r0, r3] + movs r1, #0xa + str r2, [sp] + bl __divsi3 + subs r0, #0xa0 + ldr r3, _08023530 @ =0x0000020E + adds r1, r5, r3 + subs r4, r4, r0 + ldrh r1, [r1] + adds r4, r4, r1 + strh r4, [r7, #2] + ldr r4, _08023534 @ =0x000006E6 + adds r5, r5, r4 + ldrh r0, [r5] + adds r0, #0x24 + strh r0, [r7, #4] + ldr r2, [sp] + adds r2, #8 + adds r5, r7, r2 + ldrh r3, [r5] + lsls r3, r3, #3 + add r3, sb + movs r0, #2 + ldrsh r2, [r5, r0] + movs r1, #2 + ldrsh r0, [r7, r1] + adds r2, r2, r0 + ldr r4, _08023538 @ =0x000001FF + adds r0, r4, #0 + ands r2, r0 + ldrh r0, [r3, #2] + ldr r4, _0802353C @ =0xFFFFFE00 + adds r1, r4, #0 + ands r0, r1 + orrs r0, r2 + strh r0, [r3, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r7, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] + adds r6, #1 + lsls r6, r6, #0x10 + lsrs r5, r6, #0x10 + asrs r6, r6, #0x10 + cmp r6, #9 + ble _08023420 + ldr r5, _08023540 @ =0x0200B0C0 + ldr r0, [r5, #0x44] + ldr r7, [r0, #0x14] + movs r5, #0 + ldr r0, _08023544 @ =0x00000637 + mov sl, r0 + ldr r1, _08023548 @ =0x03005000 + mov sb, r1 _08023512: - mov r2, r8 - ldr r4, [r2] - lsls r2, r5, #0x10 - asrs r3, r2, #0x10 - lsls r1, r3, #1 - ldr r5, _0802354C @ =0x000013D4 - adds r0, r4, r5 - adds r1, r0, r1 - ldrh r0, [r1] - adds r6, r2, #0 - cmp r0, #0 - beq _08023550 - subs r0, #1 - strh r0, [r1] - b _0802357E - .align 2, 0 + mov r2, r8 + ldr r4, [r2] + lsls r2, r5, #0x10 + asrs r3, r2, #0x10 + lsls r1, r3, #1 + ldr r5, _0802354C @ =0x000013D4 + adds r0, r4, r5 + adds r1, r0, r1 + ldrh r0, [r1] + adds r6, r2, #0 + cmp r0, #0 + beq _08023550 + subs r0, #1 + strh r0, [r1] + b _0802357E + .align 2, 0 _08023530: .4byte 0x0000020E _08023534: .4byte 0x000006E6 _08023538: .4byte 0x000001FF @@ -69766,150 +69766,150 @@ _08023544: .4byte 0x00000637 _08023548: .4byte 0x03005000 _0802354C: .4byte 0x000013D4 _08023550: - lsls r0, r3, #2 - adds r0, r4, r0 - ldr r1, _0802366C @ =0x000013E8 - adds r4, r0, r1 - movs r2, #0 - ldrsh r1, [r4, r2] - movs r5, #0xc8 - lsls r5, r5, #3 - subs r1, r5, r1 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - movs r1, #0x64 - bl __divsi3 - ldrh r1, [r4] - adds r1, r1, r0 - strh r1, [r4] - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, sl - ble _0802357E - strh r5, [r4] + lsls r0, r3, #2 + adds r0, r4, r0 + ldr r1, _0802366C @ =0x000013E8 + adds r4, r0, r1 + movs r2, #0 + ldrsh r1, [r4, r2] + movs r5, #0xc8 + lsls r5, r5, #3 + subs r1, r5, r1 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + movs r1, #0x64 + bl __divsi3 + ldrh r1, [r4] + adds r1, r1, r0 + strh r1, [r4] + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, sl + ble _0802357E + strh r5, [r4] _0802357E: - asrs r6, r6, #0x10 - lsls r2, r6, #3 - adds r4, r2, #0 - adds r4, #0x50 - mov r3, r8 - ldr r5, [r3] - adds r0, r5, #0 - adds r0, #0x58 - ldrh r0, [r0] - subs r4, r4, r0 - lsls r0, r6, #2 - adds r0, r5, r0 - ldr r1, _0802366C @ =0x000013E8 - adds r0, r0, r1 - movs r3, #0 - ldrsh r0, [r0, r3] - movs r1, #0xa - str r2, [sp] - bl __divsi3 - subs r0, #0xa0 - subs r4, r4, r0 - strh r4, [r7, #2] - ldr r4, _08023670 @ =0x000006E6 - adds r5, r5, r4 - ldrh r0, [r5] - adds r0, #0x34 - strh r0, [r7, #4] - ldr r2, [sp] - adds r2, #8 - adds r5, r7, r2 - ldrh r3, [r5] - lsls r3, r3, #3 - add r3, sb - movs r0, #2 - ldrsh r2, [r5, r0] - movs r1, #2 - ldrsh r0, [r7, r1] - adds r2, r2, r0 - ldr r4, _08023674 @ =0x000001FF - adds r0, r4, #0 - ands r2, r0 - ldrh r0, [r3, #2] - ldr r4, _08023678 @ =0xFFFFFE00 - adds r1, r4, #0 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r7, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] - adds r6, #1 - lsls r6, r6, #0x10 - lsrs r5, r6, #0x10 - asrs r6, r6, #0x10 - cmp r6, #9 - ble _08023512 - mov r5, r8 - ldr r0, [r5] - movs r1, #0x84 - lsls r1, r1, #2 - adds r0, r0, r1 - ldrh r0, [r0] - cmp r0, #0x9b - beq _0802360A - b _08023934 + asrs r6, r6, #0x10 + lsls r2, r6, #3 + adds r4, r2, #0 + adds r4, #0x50 + mov r3, r8 + ldr r5, [r3] + adds r0, r5, #0 + adds r0, #0x58 + ldrh r0, [r0] + subs r4, r4, r0 + lsls r0, r6, #2 + adds r0, r5, r0 + ldr r1, _0802366C @ =0x000013E8 + adds r0, r0, r1 + movs r3, #0 + ldrsh r0, [r0, r3] + movs r1, #0xa + str r2, [sp] + bl __divsi3 + subs r0, #0xa0 + subs r4, r4, r0 + strh r4, [r7, #2] + ldr r4, _08023670 @ =0x000006E6 + adds r5, r5, r4 + ldrh r0, [r5] + adds r0, #0x34 + strh r0, [r7, #4] + ldr r2, [sp] + adds r2, #8 + adds r5, r7, r2 + ldrh r3, [r5] + lsls r3, r3, #3 + add r3, sb + movs r0, #2 + ldrsh r2, [r5, r0] + movs r1, #2 + ldrsh r0, [r7, r1] + adds r2, r2, r0 + ldr r4, _08023674 @ =0x000001FF + adds r0, r4, #0 + ands r2, r0 + ldrh r0, [r3, #2] + ldr r4, _08023678 @ =0xFFFFFE00 + adds r1, r4, #0 + ands r0, r1 + orrs r0, r2 + strh r0, [r3, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r7, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] + adds r6, #1 + lsls r6, r6, #0x10 + lsrs r5, r6, #0x10 + asrs r6, r6, #0x10 + cmp r6, #9 + ble _08023512 + mov r5, r8 + ldr r0, [r5] + movs r1, #0x84 + lsls r1, r1, #2 + adds r0, r0, r1 + ldrh r0, [r0] + cmp r0, #0x9b + beq _0802360A + b _08023934 _0802360A: - movs r0, #0 - ldr r7, _0802367C @ =0x00000212 - movs r6, #0 - movs r4, #0x8a - lsls r4, r4, #2 + movs r0, #0 + ldr r7, _0802367C @ =0x00000212 + movs r6, #0 + movs r4, #0x8a + lsls r4, r4, #2 _08023614: - ldr r2, [r5] - lsls r1, r0, #0x10 - asrs r1, r1, #0x10 - lsls r3, r1, #1 - adds r0, r2, r7 - adds r0, r0, r3 - strh r3, [r0] - lsls r0, r1, #2 - adds r2, r2, r0 - adds r2, r2, r4 - strh r6, [r2] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #9 - ble _08023614 - movs r0, #0 - ldr r7, _08023680 @ =0x020314E0 - movs r6, #0 - ldr r5, _08023684 @ =0x000013D4 - ldr r4, _0802366C @ =0x000013E8 + ldr r2, [r5] + lsls r1, r0, #0x10 + asrs r1, r1, #0x10 + lsls r3, r1, #1 + adds r0, r2, r7 + adds r0, r0, r3 + strh r3, [r0] + lsls r0, r1, #2 + adds r2, r2, r0 + adds r2, r2, r4 + strh r6, [r2] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #9 + ble _08023614 + movs r0, #0 + ldr r7, _08023680 @ =0x020314E0 + movs r6, #0 + ldr r5, _08023684 @ =0x000013D4 + ldr r4, _0802366C @ =0x000013E8 _08023640: - ldr r3, [r7] - lsls r1, r0, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r2, r3, r5 - adds r2, r2, r0 - adds r0, r1, #0 - adds r0, #0xa - lsls r0, r0, #1 - strh r0, [r2] - lsls r0, r1, #2 - adds r3, r3, r0 - adds r3, r3, r4 - strh r6, [r3] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #9 - ble _08023640 - b _08023934 - .align 2, 0 + ldr r3, [r7] + lsls r1, r0, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r2, r3, r5 + adds r2, r2, r0 + adds r0, r1, #0 + adds r0, #0xa + lsls r0, r0, #1 + strh r0, [r2] + lsls r0, r1, #2 + adds r3, r3, r0 + adds r3, r3, r4 + strh r6, [r3] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #9 + ble _08023640 + b _08023934 + .align 2, 0 _0802366C: .4byte 0x000013E8 _08023670: .4byte 0x000006E6 _08023674: .4byte 0x000001FF @@ -69918,139 +69918,139 @@ _0802367C: .4byte 0x00000212 _08023680: .4byte 0x020314E0 _08023684: .4byte 0x000013D4 _08023688: - ldr r1, _080236B0 @ =0x0200B0C0 - ldr r0, [r1, #0x44] - ldr r7, [r0, #0x10] - movs r5, #0 - ldr r2, _080236B4 @ =0x03005000 - mov sb, r2 + ldr r1, _080236B0 @ =0x0200B0C0 + ldr r0, [r1, #0x44] + ldr r7, [r0, #0x10] + movs r5, #0 + ldr r2, _080236B4 @ =0x03005000 + mov sb, r2 _08023694: - mov r3, r8 - ldr r2, [r3] - lsls r0, r5, #0x10 - asrs r4, r0, #0x10 - lsls r1, r4, #1 - ldr r3, _080236B8 @ =0x00000212 - adds r0, r2, r3 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, #0 - beq _080236BC - subs r0, #1 - strh r0, [r1] - b _080236E2 - .align 2, 0 + mov r3, r8 + ldr r2, [r3] + lsls r0, r5, #0x10 + asrs r4, r0, #0x10 + lsls r1, r4, #1 + ldr r3, _080236B8 @ =0x00000212 + adds r0, r2, r3 + adds r1, r0, r1 + ldrh r0, [r1] + cmp r0, #0 + beq _080236BC + subs r0, #1 + strh r0, [r1] + b _080236E2 + .align 2, 0 _080236B0: .4byte 0x0200B0C0 _080236B4: .4byte 0x03005000 _080236B8: .4byte 0x00000212 _080236BC: - lsls r4, r4, #2 - adds r4, r2, r4 - movs r0, #0x8a - lsls r0, r0, #2 - adds r4, r4, r0 - movs r1, #0 - ldrsh r0, [r4, r1] - movs r1, #0xfa - lsls r1, r1, #3 - subs r1, r1, r0 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - movs r1, #0x64 - bl __divsi3 - ldrh r1, [r4] - adds r1, r1, r0 - strh r1, [r4] + lsls r4, r4, #2 + adds r4, r2, r4 + movs r0, #0x8a + lsls r0, r0, #2 + adds r4, r4, r0 + movs r1, #0 + ldrsh r0, [r4, r1] + movs r1, #0xfa + lsls r1, r1, #3 + subs r1, r1, r0 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + movs r1, #0x64 + bl __divsi3 + ldrh r1, [r4] + adds r1, r1, r0 + strh r1, [r4] _080236E2: - lsls r6, r5, #0x10 - asrs r6, r6, #0x10 - lsls r2, r6, #3 - adds r4, r2, #0 - adds r4, #0x50 - mov r3, r8 - ldr r5, [r3] - adds r0, r5, #0 - adds r0, #0x58 - ldrh r0, [r0] - subs r4, r4, r0 - lsls r0, r6, #2 - adds r0, r5, r0 - movs r1, #0x8a - lsls r1, r1, #2 - adds r0, r0, r1 - movs r3, #0 - ldrsh r0, [r0, r3] - movs r1, #0xa - str r2, [sp] - bl __divsi3 - ldr r3, _08023790 @ =0x0000020E - adds r1, r5, r3 - subs r4, r4, r0 - ldrh r1, [r1] - adds r4, r4, r1 - strh r4, [r7, #2] - ldr r4, _08023794 @ =0x000006E6 - adds r5, r5, r4 - ldrh r0, [r5] - adds r0, #0x24 - strh r0, [r7, #4] - ldr r2, [sp] - adds r2, #8 - adds r5, r7, r2 - ldrh r3, [r5] - lsls r3, r3, #3 - add r3, sb - movs r0, #2 - ldrsh r2, [r5, r0] - movs r1, #2 - ldrsh r0, [r7, r1] - adds r2, r2, r0 - ldr r4, _08023798 @ =0x000001FF - adds r0, r4, #0 - ands r2, r0 - ldrh r0, [r3, #2] - ldr r4, _0802379C @ =0xFFFFFE00 - adds r1, r4, #0 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r7, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] - adds r6, #1 - lsls r6, r6, #0x10 - lsrs r5, r6, #0x10 - asrs r6, r6, #0x10 - cmp r6, #9 - ble _08023694 - ldr r5, _080237A0 @ =0x0200B0C0 - ldr r0, [r5, #0x44] - ldr r7, [r0, #0x14] - movs r5, #0 - ldr r0, _080237A4 @ =0x03005000 - mov sb, r0 + lsls r6, r5, #0x10 + asrs r6, r6, #0x10 + lsls r2, r6, #3 + adds r4, r2, #0 + adds r4, #0x50 + mov r3, r8 + ldr r5, [r3] + adds r0, r5, #0 + adds r0, #0x58 + ldrh r0, [r0] + subs r4, r4, r0 + lsls r0, r6, #2 + adds r0, r5, r0 + movs r1, #0x8a + lsls r1, r1, #2 + adds r0, r0, r1 + movs r3, #0 + ldrsh r0, [r0, r3] + movs r1, #0xa + str r2, [sp] + bl __divsi3 + ldr r3, _08023790 @ =0x0000020E + adds r1, r5, r3 + subs r4, r4, r0 + ldrh r1, [r1] + adds r4, r4, r1 + strh r4, [r7, #2] + ldr r4, _08023794 @ =0x000006E6 + adds r5, r5, r4 + ldrh r0, [r5] + adds r0, #0x24 + strh r0, [r7, #4] + ldr r2, [sp] + adds r2, #8 + adds r5, r7, r2 + ldrh r3, [r5] + lsls r3, r3, #3 + add r3, sb + movs r0, #2 + ldrsh r2, [r5, r0] + movs r1, #2 + ldrsh r0, [r7, r1] + adds r2, r2, r0 + ldr r4, _08023798 @ =0x000001FF + adds r0, r4, #0 + ands r2, r0 + ldrh r0, [r3, #2] + ldr r4, _0802379C @ =0xFFFFFE00 + adds r1, r4, #0 + ands r0, r1 + orrs r0, r2 + strh r0, [r3, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r7, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] + adds r6, #1 + lsls r6, r6, #0x10 + lsrs r5, r6, #0x10 + asrs r6, r6, #0x10 + cmp r6, #9 + ble _08023694 + ldr r5, _080237A0 @ =0x0200B0C0 + ldr r0, [r5, #0x44] + ldr r7, [r0, #0x14] + movs r5, #0 + ldr r0, _080237A4 @ =0x03005000 + mov sb, r0 _08023772: - mov r1, r8 - ldr r3, [r1] - lsls r2, r5, #0x10 - asrs r4, r2, #0x10 - lsls r1, r4, #1 - ldr r5, _080237A8 @ =0x000013D4 - adds r0, r3, r5 - adds r1, r0, r1 - ldrh r0, [r1] - adds r6, r2, #0 - cmp r0, #0 - beq _080237AC - subs r0, #1 - strh r0, [r1] - b _080237D0 - .align 2, 0 + mov r1, r8 + ldr r3, [r1] + lsls r2, r5, #0x10 + asrs r4, r2, #0x10 + lsls r1, r4, #1 + ldr r5, _080237A8 @ =0x000013D4 + adds r0, r3, r5 + adds r1, r0, r1 + ldrh r0, [r1] + adds r6, r2, #0 + cmp r0, #0 + beq _080237AC + subs r0, #1 + strh r0, [r1] + b _080237D0 + .align 2, 0 _08023790: .4byte 0x0000020E _08023794: .4byte 0x000006E6 _08023798: .4byte 0x000001FF @@ -70059,413 +70059,413 @@ _080237A0: .4byte 0x0200B0C0 _080237A4: .4byte 0x03005000 _080237A8: .4byte 0x000013D4 _080237AC: - lsls r4, r4, #2 - adds r4, r3, r4 - ldr r0, _0802384C @ =0x000013E8 - adds r4, r4, r0 - movs r1, #0 - ldrsh r0, [r4, r1] - movs r1, #0xfa - lsls r1, r1, #3 - subs r1, r1, r0 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - movs r1, #0x64 - bl __divsi3 - ldrh r1, [r4] - adds r1, r1, r0 - strh r1, [r4] + lsls r4, r4, #2 + adds r4, r3, r4 + ldr r0, _0802384C @ =0x000013E8 + adds r4, r4, r0 + movs r1, #0 + ldrsh r0, [r4, r1] + movs r1, #0xfa + lsls r1, r1, #3 + subs r1, r1, r0 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + movs r1, #0x64 + bl __divsi3 + ldrh r1, [r4] + adds r1, r1, r0 + strh r1, [r4] _080237D0: - asrs r6, r6, #0x10 - lsls r2, r6, #3 - adds r4, r2, #0 - adds r4, #0x50 - mov r3, r8 - ldr r5, [r3] - adds r0, r5, #0 - adds r0, #0x58 - ldrh r0, [r0] - subs r4, r4, r0 - lsls r0, r6, #2 - adds r0, r5, r0 - ldr r1, _0802384C @ =0x000013E8 - adds r0, r0, r1 - movs r3, #0 - ldrsh r0, [r0, r3] - movs r1, #0xa - str r2, [sp] - bl __divsi3 - subs r4, r4, r0 - strh r4, [r7, #2] - ldr r4, _08023850 @ =0x000006E6 - adds r5, r5, r4 - ldrh r0, [r5] - adds r0, #0x34 - strh r0, [r7, #4] - ldr r2, [sp] - adds r2, #8 - adds r5, r7, r2 - ldrh r3, [r5] - lsls r3, r3, #3 - add r3, sb - movs r0, #2 - ldrsh r2, [r5, r0] - movs r1, #2 - ldrsh r0, [r7, r1] - adds r2, r2, r0 - ldr r4, _08023854 @ =0x000001FF - adds r0, r4, #0 - ands r2, r0 - ldrh r0, [r3, #2] - ldr r4, _08023858 @ =0xFFFFFE00 - adds r1, r4, #0 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r7, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] - adds r6, #1 - lsls r6, r6, #0x10 - lsrs r5, r6, #0x10 - asrs r6, r6, #0x10 - cmp r6, #9 - ble _08023772 - b _08023934 - .align 2, 0 + asrs r6, r6, #0x10 + lsls r2, r6, #3 + adds r4, r2, #0 + adds r4, #0x50 + mov r3, r8 + ldr r5, [r3] + adds r0, r5, #0 + adds r0, #0x58 + ldrh r0, [r0] + subs r4, r4, r0 + lsls r0, r6, #2 + adds r0, r5, r0 + ldr r1, _0802384C @ =0x000013E8 + adds r0, r0, r1 + movs r3, #0 + ldrsh r0, [r0, r3] + movs r1, #0xa + str r2, [sp] + bl __divsi3 + subs r4, r4, r0 + strh r4, [r7, #2] + ldr r4, _08023850 @ =0x000006E6 + adds r5, r5, r4 + ldrh r0, [r5] + adds r0, #0x34 + strh r0, [r7, #4] + ldr r2, [sp] + adds r2, #8 + adds r5, r7, r2 + ldrh r3, [r5] + lsls r3, r3, #3 + add r3, sb + movs r0, #2 + ldrsh r2, [r5, r0] + movs r1, #2 + ldrsh r0, [r7, r1] + adds r2, r2, r0 + ldr r4, _08023854 @ =0x000001FF + adds r0, r4, #0 + ands r2, r0 + ldrh r0, [r3, #2] + ldr r4, _08023858 @ =0xFFFFFE00 + adds r1, r4, #0 + ands r0, r1 + orrs r0, r2 + strh r0, [r3, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r7, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] + adds r6, #1 + lsls r6, r6, #0x10 + lsrs r5, r6, #0x10 + asrs r6, r6, #0x10 + cmp r6, #9 + ble _08023772 + b _08023934 + .align 2, 0 _0802384C: .4byte 0x000013E8 _08023850: .4byte 0x000006E6 _08023854: .4byte 0x000001FF _08023858: .4byte 0xFFFFFE00 _0802385C: - ldr r0, _08023944 @ =0x0200B0C0 - ldr r1, [r0, #0x44] - ldr r7, [r1, #0x10] - ldrh r1, [r7] - cmp r1, #0 - beq _080238BA - strh r4, [r7, #2] - movs r0, #0xb4 - strh r0, [r7, #4] - movs r5, #0 - ldr r6, _08023948 @ =0x03005000 - ldr r0, _0802394C @ =0xFFFFFE00 - mov sb, r0 + ldr r0, _08023944 @ =0x0200B0C0 + ldr r1, [r0, #0x44] + ldr r7, [r1, #0x10] + ldrh r1, [r7] + cmp r1, #0 + beq _080238BA + strh r4, [r7, #2] + movs r0, #0xb4 + strh r0, [r7, #4] + movs r5, #0 + ldr r6, _08023948 @ =0x03005000 + ldr r0, _0802394C @ =0xFFFFFE00 + mov sb, r0 _08023876: - lsls r4, r5, #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, _08023950 @ =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 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 r5, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #9 - ble _08023876 + lsls r4, r5, #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, _08023950 @ =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 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 r5, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #9 + ble _08023876 _080238BA: - ldr r3, _08023944 @ =0x0200B0C0 - ldr r0, [r3, #0x44] - ldr r7, [r0, #0x14] - ldrh r0, [r7] - cmp r0, #0 - beq _0802391A - movs r0, #0 - strh r0, [r7, #2] - movs r0, #0xb4 - strh r0, [r7, #4] - movs r5, #0 - ldr r6, _08023948 @ =0x03005000 - ldr r4, _0802394C @ =0xFFFFFE00 - mov sb, r4 + ldr r3, _08023944 @ =0x0200B0C0 + ldr r0, [r3, #0x44] + ldr r7, [r0, #0x14] + ldrh r0, [r7] + cmp r0, #0 + beq _0802391A + movs r0, #0 + strh r0, [r7, #2] + movs r0, #0xb4 + strh r0, [r7, #4] + movs r5, #0 + ldr r6, _08023948 @ =0x03005000 + ldr r4, _0802394C @ =0xFFFFFE00 + mov sb, r4 _080238D6: - lsls r4, r5, #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, _08023950 @ =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 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 r5, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #9 - ble _080238D6 + lsls r4, r5, #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, _08023950 @ =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 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 r5, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #9 + ble _080238D6 _0802391A: - ldr r3, _08023944 @ =0x0200B0C0 - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x10] - movs r2, #0 - movs r1, #0 - strh r1, [r0] - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x14] - strh r1, [r0] - mov r4, r8 - ldr r0, [r4] - adds r0, #0xe4 - strb r2, [r0] + ldr r3, _08023944 @ =0x0200B0C0 + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x10] + movs r2, #0 + movs r1, #0 + strh r1, [r0] + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x14] + strh r1, [r0] + mov r4, r8 + ldr r0, [r4] + adds r0, #0xe4 + strb r2, [r0] _08023934: - 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 + 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 _08023944: .4byte 0x0200B0C0 _08023948: .4byte 0x03005000 _0802394C: .4byte 0xFFFFFE00 _08023950: .4byte 0x000001FF - thumb_func_start sub_23954 + thumb_func_start sub_23954 sub_23954: @ 0x08023954 - push {r4, lr} - ldr r2, _08023998 @ =0x020314E0 - ldr r0, [r2] - movs r1, #0xf6 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r3, #0 - movs r1, #1 - strb r1, [r0] - ldr r0, [r2] - movs r4, #0xf7 - lsls r4, r4, #1 - adds r0, r0, r4 - strb r3, [r0] - ldr r0, [r2] - ldr r1, _0802399C @ =0x000001ED - adds r0, r0, r1 - strb r3, [r0] - ldr r0, [r2] - adds r4, #2 - adds r1, r0, r4 - movs r4, #0 - strh r3, [r1] - ldr r1, _080239A0 @ =0x000002DA - adds r0, r0, r1 - strb r4, [r0] - ldr r0, [r2] - subs r1, #1 - adds r0, r0, r1 - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + push {r4, lr} + ldr r2, _08023998 @ =0x020314E0 + ldr r0, [r2] + movs r1, #0xf6 + lsls r1, r1, #1 + adds r0, r0, r1 + movs r3, #0 + movs r1, #1 + strb r1, [r0] + ldr r0, [r2] + movs r4, #0xf7 + lsls r4, r4, #1 + adds r0, r0, r4 + strb r3, [r0] + ldr r0, [r2] + ldr r1, _0802399C @ =0x000001ED + adds r0, r0, r1 + strb r3, [r0] + ldr r0, [r2] + adds r4, #2 + adds r1, r0, r4 + movs r4, #0 + strh r3, [r1] + ldr r1, _080239A0 @ =0x000002DA + adds r0, r0, r1 + strb r4, [r0] + ldr r0, [r2] + subs r1, #1 + adds r0, r0, r1 + strb r4, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08023998: .4byte 0x020314E0 _0802399C: .4byte 0x000001ED _080239A0: .4byte 0x000002DA - thumb_func_start sub_239A4 + thumb_func_start sub_239A4 sub_239A4: @ 0x080239A4 - 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 r8, r0 - movs r7, #0 - movs r6, #0 - ldr r1, _080239DC @ =0x0200D638 - mov sb, r1 - mov ip, r6 - ldr r1, _080239E0 @ =0x020314E0 - ldr r0, [r1] - movs r2, #0xf6 - lsls r2, r2, #1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #5 - bhi _08023A22 - lsls r0, r0, #2 - ldr r1, _080239E4 @ =_080239E8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + 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 r8, r0 + movs r7, #0 + movs r6, #0 + ldr r1, _080239DC @ =0x0200D638 + mov sb, r1 + mov ip, r6 + ldr r1, _080239E0 @ =0x020314E0 + ldr r0, [r1] + movs r2, #0xf6 + lsls r2, r2, #1 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #5 + bhi _08023A22 + lsls r0, r0, #2 + ldr r1, _080239E4 @ =_080239E8 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080239DC: .4byte 0x0200D638 _080239E0: .4byte 0x020314E0 _080239E4: .4byte _080239E8 _080239E8: @ jump table - .4byte _08023A22 @ case 0 - .4byte _08023A22 @ case 1 - .4byte _08023A00 @ case 2 - .4byte _08023A06 @ case 3 - .4byte _08023A10 @ case 4 - .4byte _08023A1A @ case 5 + .4byte _08023A22 @ case 0 + .4byte _08023A22 @ case 1 + .4byte _08023A00 @ case 2 + .4byte _08023A06 @ case 3 + .4byte _08023A10 @ case 4 + .4byte _08023A1A @ case 5 _08023A00: - movs r3, #4 - mov r8, r3 - b _08023A0A + movs r3, #4 + mov r8, r3 + b _08023A0A _08023A06: - movs r4, #8 - mov r8, r4 + movs r4, #8 + mov r8, r4 _08023A0A: - movs r7, #4 - movs r6, #3 - b _08023A22 + movs r7, #4 + movs r6, #3 + b _08023A22 _08023A10: - movs r6, #0xc - mov r8, r6 - movs r7, #0xc - movs r6, #5 - b _08023A22 + movs r6, #0xc + mov r8, r6 + movs r7, #0xc + movs r6, #5 + b _08023A22 _08023A1A: - movs r0, #0x21 - mov r8, r0 - movs r7, #0 - movs r6, #0 + movs r0, #0x21 + mov r8, r0 + movs r7, #0 + movs r6, #0 _08023A22: - ldr r1, _08023AD4 @ =0x020314E0 - ldr r0, [r1] - movs r2, #0xf7 - lsls r2, r2, #1 - adds r1, r0, r2 - ldr r5, _08023AD8 @ =0x000001ED - adds r2, r0, r5 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r1, r0 - beq _08023A9A - ldr r3, _08023ADC @ =0x086AD2EE - lsls r0, r0, #3 - adds r1, r3, #4 - adds r0, r0, r1 - ldr r2, _08023AE0 @ =0x040000D4 - movs r4, #0 - ldrsh r1, [r0, r4] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _08023AE4 @ =0x084FB68C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08023AE8 @ =0x060122A0 - str r0, [r2, #4] - ldr r0, _08023AEC @ =0x80000240 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r1, _08023AD4 @ =0x020314E0 - ldr r0, [r1] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #3 - adds r3, #6 - adds r0, r0, r3 - movs r3, #0 - ldrsh r0, [r0, r3] - lsls r0, r0, #9 - ldr r1, _08023AF0 @ =0x084FD18C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08023AF4 @ =0x06011CE0 - str r0, [r2, #4] - ldr r0, _08023AF8 @ =0x80000100 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r4, _08023AD4 @ =0x020314E0 - ldr r1, [r4] - adds r0, r1, r5 - ldrb r0, [r0] - movs r2, #0xf7 - lsls r2, r2, #1 - adds r1, r1, r2 - strb r0, [r1] + ldr r1, _08023AD4 @ =0x020314E0 + ldr r0, [r1] + movs r2, #0xf7 + lsls r2, r2, #1 + adds r1, r0, r2 + ldr r5, _08023AD8 @ =0x000001ED + adds r2, r0, r5 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r1, r0 + beq _08023A9A + ldr r3, _08023ADC @ =0x086AD2EE + lsls r0, r0, #3 + adds r1, r3, #4 + adds r0, r0, r1 + ldr r2, _08023AE0 @ =0x040000D4 + movs r4, #0 + ldrsh r1, [r0, r4] + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _08023AE4 @ =0x084FB68C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08023AE8 @ =0x060122A0 + str r0, [r2, #4] + ldr r0, _08023AEC @ =0x80000240 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r1, _08023AD4 @ =0x020314E0 + ldr r0, [r1] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #3 + adds r3, #6 + adds r0, r0, r3 + movs r3, #0 + ldrsh r0, [r0, r3] + lsls r0, r0, #9 + ldr r1, _08023AF0 @ =0x084FD18C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08023AF4 @ =0x06011CE0 + str r0, [r2, #4] + ldr r0, _08023AF8 @ =0x80000100 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r4, _08023AD4 @ =0x020314E0 + ldr r1, [r4] + adds r0, r1, r5 + ldrb r0, [r0] + movs r2, #0xf7 + lsls r2, r2, #1 + adds r1, r1, r2 + strb r0, [r1] _08023A9A: - ldr r3, _08023AD4 @ =0x020314E0 - ldr r2, [r3] - movs r4, #0xf6 - lsls r4, r4, #1 - mov sl, r4 - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bgt _08023AB2 - b _08023C06 + ldr r3, _08023AD4 @ =0x020314E0 + ldr r2, [r3] + movs r4, #0xf6 + lsls r4, r4, #1 + mov sl, r4 + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bgt _08023AB2 + b _08023C06 _08023AB2: - ldr r0, _08023ADC @ =0x086AD2EE - adds r3, r2, r5 - movs r1, #0 - ldrsb r1, [r3, r1] - lsls r1, r1, #3 - adds r0, #2 - adds r1, r1, r0 - movs r0, #0xf8 - lsls r0, r0, #1 - adds r4, r2, r0 - ldrh r2, [r4] - ldrh r0, [r1] - cmp r0, r2 - bls _08023AFC - adds r0, r2, #1 - strh r0, [r4] - b _08023BEE - .align 2, 0 + ldr r0, _08023ADC @ =0x086AD2EE + adds r3, r2, r5 + movs r1, #0 + ldrsb r1, [r3, r1] + lsls r1, r1, #3 + adds r0, #2 + adds r1, r1, r0 + movs r0, #0xf8 + lsls r0, r0, #1 + adds r4, r2, r0 + ldrh r2, [r4] + ldrh r0, [r1] + cmp r0, r2 + bls _08023AFC + adds r0, r2, #1 + strh r0, [r4] + b _08023BEE + .align 2, 0 _08023AD4: .4byte 0x020314E0 _08023AD8: .4byte 0x000001ED _08023ADC: .4byte 0x086AD2EE @@ -70477,396 +70477,396 @@ _08023AF0: .4byte 0x084FD18C _08023AF4: .4byte 0x06011CE0 _08023AF8: .4byte 0x80000100 _08023AFC: - ldrb r0, [r3] - adds r0, #1 - movs r2, #0 - strb r0, [r3] - ldr r3, _08023C94 @ =0x020314E0 - ldr r1, [r3] - movs r4, #0xf8 - lsls r4, r4, #1 - adds r0, r1, r4 - strh r2, [r0] - adds r1, r1, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, r8 - blt _08023B22 - strb r7, [r1] - ldr r0, [r3] - add r0, sl - strb r6, [r0] + ldrb r0, [r3] + adds r0, #1 + movs r2, #0 + strb r0, [r3] + ldr r3, _08023C94 @ =0x020314E0 + ldr r1, [r3] + movs r4, #0xf8 + lsls r4, r4, #1 + adds r0, r1, r4 + strh r2, [r0] + adds r1, r1, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, r8 + blt _08023B22 + strb r7, [r1] + ldr r0, [r3] + add r0, sl + strb r6, [r0] _08023B22: - ldr r6, _08023C94 @ =0x020314E0 - ldr r0, [r6] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x12 - bne _08023B36 - bl sub_32484 + ldr r6, _08023C94 @ =0x020314E0 + ldr r0, [r6] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x12 + bne _08023B36 + bl sub_32484 _08023B36: - ldr r1, _08023C94 @ =0x020314E0 - ldr r0, [r1] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x13 - bne _08023B66 - bl sub_325E0 - ldr r0, _08023C98 @ =0x0200B0C0 - ldrb r0, [r0, #2] - cmp r0, #3 - beq _08023B66 - ldr r2, _08023C94 @ =0x020314E0 - ldr r0, [r2] - movs r3, #0xb3 - lsls r3, r3, #3 - adds r0, r0, r3 - movs r4, #0 - ldrsh r0, [r0, r4] - movs r1, #1 - bl sub_52BB0 + ldr r1, _08023C94 @ =0x020314E0 + ldr r0, [r1] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x13 + bne _08023B66 + bl sub_325E0 + ldr r0, _08023C98 @ =0x0200B0C0 + ldrb r0, [r0, #2] + cmp r0, #3 + beq _08023B66 + ldr r2, _08023C94 @ =0x020314E0 + ldr r0, [r2] + movs r3, #0xb3 + lsls r3, r3, #3 + adds r0, r0, r3 + movs r4, #0 + ldrsh r0, [r0, r4] + movs r1, #1 + bl sub_52BB0 _08023B66: - ldr r5, _08023C94 @ =0x020314E0 - ldr r0, [r5] - ldr r4, _08023C9C @ =0x000001ED - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x14 - bne _08023B7C - bl sub_28BFC + ldr r5, _08023C94 @ =0x020314E0 + ldr r0, [r5] + ldr r4, _08023C9C @ =0x000001ED + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x14 + bne _08023B7C + bl sub_28BFC _08023B7C: - ldr r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #8 - beq _08023B8E - cmp r0, #0x1b - bne _08023B9E + ldr r1, [r5] + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #8 + beq _08023B8E + cmp r0, #0x1b + bne _08023B9E _08023B8E: - movs r6, #0xf8 - lsls r6, r6, #1 - adds r0, r1, r6 - ldrh r0, [r0] - cmp r0, #0 - bne _08023B9E - bl m4aMPlayAllStop + movs r6, #0xf8 + lsls r6, r6, #1 + adds r0, r1, r6 + ldrh r0, [r0] + cmp r0, #0 + bne _08023B9E + bl m4aMPlayAllStop _08023B9E: - ldr r0, _08023C94 @ =0x020314E0 - ldr r1, [r0] - ldr r2, _08023C9C @ =0x000001ED - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xc - bne _08023BC2 - movs r3, #0xf8 - lsls r3, r3, #1 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, #0 - bne _08023BC2 - movs r0, #0x16 - bl m4aSongNumStart + ldr r0, _08023C94 @ =0x020314E0 + ldr r1, [r0] + ldr r2, _08023C9C @ =0x000001ED + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xc + bne _08023BC2 + movs r3, #0xf8 + lsls r3, r3, #1 + adds r0, r1, r3 + ldrh r0, [r0] + cmp r0, #0 + bne _08023BC2 + movs r0, #0x16 + bl m4aSongNumStart _08023BC2: - ldr r5, _08023C94 @ =0x020314E0 - ldr r0, [r5] - ldr r4, _08023C9C @ =0x000001ED - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x1d - bne _08023BDA - movs r0, #5 - bl sub_19B64 + ldr r5, _08023C94 @ =0x020314E0 + ldr r0, [r5] + ldr r4, _08023C9C @ =0x000001ED + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x1d + bne _08023BDA + movs r0, #5 + bl sub_19B64 _08023BDA: - ldr r0, [r5] - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x1c - bne _08023BEE - movs r0, #0x92 - bl m4aSongNumStart + ldr r0, [r5] + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x1c + bne _08023BEE + movs r0, #0x92 + bl m4aSongNumStart _08023BEE: - ldr r2, _08023CA0 @ =0x086AD2EE - ldr r1, _08023C94 @ =0x020314E0 - ldr r0, [r1] - ldr r4, _08023C9C @ =0x000001ED - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #3 - adds r0, r0, r2 - ldrh r0, [r0] - mov ip, r0 + ldr r2, _08023CA0 @ =0x086AD2EE + ldr r1, _08023C94 @ =0x020314E0 + ldr r0, [r1] + ldr r4, _08023C9C @ =0x000001ED + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #3 + adds r0, r0, r2 + ldrh r0, [r0] + mov ip, r0 _08023C06: - ldr r6, _08023C94 @ =0x020314E0 - ldr r3, [r6] - adds r0, r3, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x58 - subs r0, r0, r1 - movs r1, #0xf4 - lsls r1, r1, #1 - adds r2, r3, r1 - strh r0, [r2] - adds r0, r3, #0 - adds r0, #0x5a - ldrh r1, [r0] - movs r0, #0x90 - subs r0, r0, r1 - movs r6, #0xf5 - lsls r6, r6, #1 - adds r4, r3, r6 - strh r0, [r4] - movs r1, #0xfa - lsls r1, r1, #1 - adds r0, r3, r1 - ldrh r0, [r0] - ldrh r2, [r2] - adds r0, r0, r2 - mov r2, sb - strh r0, [r2, #2] - adds r6, #2 - adds r0, r3, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _08023CC4 - subs r1, #7 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x20 - bne _08023CA4 - movs r2, #0xf8 - lsls r2, r2, #1 - adds r1, r3, r2 - ldrh r0, [r1] - cmp r0, #0xd0 - bls _08023CA4 - adds r1, r0, #0 - movs r0, #0x80 - lsls r0, r0, #1 - subs r0, r0, r1 - cmp r0, #0 - bge _08023C74 - adds r0, #0xf + ldr r6, _08023C94 @ =0x020314E0 + ldr r3, [r6] + adds r0, r3, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x58 + subs r0, r0, r1 + movs r1, #0xf4 + lsls r1, r1, #1 + adds r2, r3, r1 + strh r0, [r2] + adds r0, r3, #0 + adds r0, #0x5a + ldrh r1, [r0] + movs r0, #0x90 + subs r0, r0, r1 + movs r6, #0xf5 + lsls r6, r6, #1 + adds r4, r3, r6 + strh r0, [r4] + movs r1, #0xfa + lsls r1, r1, #1 + adds r0, r3, r1 + ldrh r0, [r0] + ldrh r2, [r2] + adds r0, r0, r2 + mov r2, sb + strh r0, [r2, #2] + adds r6, #2 + adds r0, r3, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _08023CC4 + subs r1, #7 + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x20 + bne _08023CA4 + movs r2, #0xf8 + lsls r2, r2, #1 + adds r1, r3, r2 + ldrh r0, [r1] + cmp r0, #0xd0 + bls _08023CA4 + adds r1, r0, #0 + movs r0, #0x80 + lsls r0, r0, #1 + subs r0, r0, r1 + cmp r0, #0 + bge _08023C74 + adds r0, #0xf _08023C74: - asrs r0, r0, #4 - ldr r1, _08023C98 @ =0x0200B0C0 - adds r0, #1 - lsls r0, r0, #1 - ldr r1, [r1, #0x4c] - ands r1, r0 - cmp r1, #0 - beq _08023CC4 - movs r6, #0xfb - lsls r6, r6, #1 - adds r0, r3, r6 - ldrh r0, [r0] - ldrh r4, [r4] - adds r0, r0, r4 - b _08023CBA - .align 2, 0 + asrs r0, r0, #4 + ldr r1, _08023C98 @ =0x0200B0C0 + adds r0, #1 + lsls r0, r0, #1 + ldr r1, [r1, #0x4c] + ands r1, r0 + cmp r1, #0 + beq _08023CC4 + movs r6, #0xfb + lsls r6, r6, #1 + adds r0, r3, r6 + ldrh r0, [r0] + ldrh r4, [r4] + adds r0, r0, r4 + b _08023CBA + .align 2, 0 _08023C94: .4byte 0x020314E0 _08023C98: .4byte 0x0200B0C0 _08023C9C: .4byte 0x000001ED _08023CA0: .4byte 0x086AD2EE _08023CA4: - ldr r3, _08023CC0 @ =0x020314E0 - ldr r0, [r3] - movs r4, #0xf5 - lsls r4, r4, #1 - adds r1, r0, r4 - movs r6, #0xfb - lsls r6, r6, #1 - adds r0, r0, r6 - ldrh r0, [r0] - ldrh r1, [r1] - adds r0, r0, r1 + ldr r3, _08023CC0 @ =0x020314E0 + ldr r0, [r3] + movs r4, #0xf5 + lsls r4, r4, #1 + adds r1, r0, r4 + movs r6, #0xfb + lsls r6, r6, #1 + adds r0, r0, r6 + ldrh r0, [r0] + ldrh r1, [r1] + adds r0, r0, r1 _08023CBA: - mov r1, sb - strh r0, [r1, #4] - b _08023CCA - .align 2, 0 + mov r1, sb + strh r0, [r1, #4] + b _08023CCA + .align 2, 0 _08023CC0: .4byte 0x020314E0 _08023CC4: - movs r0, #0xc8 - mov r2, sb - strh r0, [r2, #4] + movs r0, #0xc8 + mov r2, sb + strh r0, [r2, #4] _08023CCA: - movs r2, #0 - mov r3, ip - lsls r1, r3, #0x10 - ldr r7, _08023DFC @ =0x03005000 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - mov sl, r0 + movs r2, #0 + mov r3, ip + lsls r1, r3, #0x10 + ldr r7, _08023DFC @ =0x03005000 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + mov sl, r0 _08023CDC: - lsls r3, r2, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - mov r4, sb - adds r5, r4, r0 - ldrh r2, [r5] - lsls r2, r2, #3 - adds r2, r2, r7 - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r0, r0, #1 - ldr r6, _08023E00 @ =0x086B4D4E - adds r0, r0, r6 - 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 r1, [r5] - lsls r1, r1, #3 - adds r1, r1, r7 - movs r0, #1 - lsls r0, r0, #2 - str r0, [sp] - ldrb r2, [r1, #5] - movs r4, #0xd - rsbs r4, r4, #0 - mov r8, r4 - mov r0, r8 - ands r0, r2 - ldr r6, [sp] - orrs r0, r6 - strb r0, [r1, #5] - ldrh r2, [r5] - lsls r2, r2, #3 - adds r2, r2, r7 - ldrh r4, [r2, #2] - lsls r1, r4, #0x17 - lsrs r1, r1, #0x17 - mov ip, r1 - mov r1, sb - movs r6, #2 - ldrsh r0, [r1, r6] - mov r6, ip - adds r1, r6, r0 - ldr r6, _08023E04 @ =0x000001FF - adds r0, r6, #0 - ands r1, r0 - ldr r0, _08023E08 @ =0xFFFFFE00 - mov ip, r0 - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - adds r1, r1, r7 - 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 _08023CDC - ldr r6, _08023E0C @ =0x0200D918 - mov sb, r6 - ldr r1, _08023E10 @ =0x020314E0 - ldr r0, [r1] - movs r2, #0xf4 - lsls r2, r2, #1 - adds r0, r0, r2 - ldrh r0, [r0] - strh r0, [r6, #2] - ldr r0, [r1] - movs r3, #0xf5 - lsls r3, r3, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r6, #4] - movs r2, #0 - ldr r7, _08023DFC @ =0x03005000 - mov sl, r8 - mov r8, ip + lsls r3, r2, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + mov r4, sb + adds r5, r4, r0 + ldrh r2, [r5] + lsls r2, r2, #3 + adds r2, r2, r7 + lsls r0, r3, #1 + adds r0, r0, r3 + lsls r0, r0, #1 + ldr r6, _08023E00 @ =0x086B4D4E + adds r0, r0, r6 + 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 r1, [r5] + lsls r1, r1, #3 + adds r1, r1, r7 + movs r0, #1 + lsls r0, r0, #2 + str r0, [sp] + ldrb r2, [r1, #5] + movs r4, #0xd + rsbs r4, r4, #0 + mov r8, r4 + mov r0, r8 + ands r0, r2 + ldr r6, [sp] + orrs r0, r6 + strb r0, [r1, #5] + ldrh r2, [r5] + lsls r2, r2, #3 + adds r2, r2, r7 + ldrh r4, [r2, #2] + lsls r1, r4, #0x17 + lsrs r1, r1, #0x17 + mov ip, r1 + mov r1, sb + movs r6, #2 + ldrsh r0, [r1, r6] + mov r6, ip + adds r1, r6, r0 + ldr r6, _08023E04 @ =0x000001FF + adds r0, r6, #0 + ands r1, r0 + ldr r0, _08023E08 @ =0xFFFFFE00 + mov ip, r0 + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + adds r1, r1, r7 + 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 _08023CDC + ldr r6, _08023E0C @ =0x0200D918 + mov sb, r6 + ldr r1, _08023E10 @ =0x020314E0 + ldr r0, [r1] + movs r2, #0xf4 + lsls r2, r2, #1 + adds r0, r0, r2 + ldrh r0, [r0] + strh r0, [r6, #2] + ldr r0, [r1] + movs r3, #0xf5 + lsls r3, r3, #1 + adds r0, r0, r3 + ldrh r0, [r0] + strh r0, [r6, #4] + movs r2, #0 + ldr r7, _08023DFC @ =0x03005000 + mov sl, r8 + mov r8, ip _08023D92: - lsls r4, r2, #0x10 - asrs r4, r4, #0x10 - lsls r0, r4, #3 - ldr r6, _08023E14 @ =0x0200D920 - adds r5, r0, r6 - ldrh r1, [r5] - lsls r1, r1, #3 - adds r1, r1, r7 - ldrb r2, [r1, #5] - mov r0, sl - ands r0, r2 - ldr r2, [sp] - orrs r0, r2 - strb r0, [r1, #5] - ldrh r3, [r5] - lsls r3, r3, #3 - adds r3, r3, r7 - movs r6, #2 - ldrsh r1, [r5, r6] - mov r2, sb - movs r6, #2 - ldrsh r0, [r2, r6] - adds r1, r1, r0 - ldr r2, _08023E04 @ =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 - mov r3, sb - ldrb r0, [r3, #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, #3 - ble _08023D92 - 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 + lsls r4, r2, #0x10 + asrs r4, r4, #0x10 + lsls r0, r4, #3 + ldr r6, _08023E14 @ =0x0200D920 + adds r5, r0, r6 + ldrh r1, [r5] + lsls r1, r1, #3 + adds r1, r1, r7 + ldrb r2, [r1, #5] + mov r0, sl + ands r0, r2 + ldr r2, [sp] + orrs r0, r2 + strb r0, [r1, #5] + ldrh r3, [r5] + lsls r3, r3, #3 + adds r3, r3, r7 + movs r6, #2 + ldrsh r1, [r5, r6] + mov r2, sb + movs r6, #2 + ldrsh r0, [r2, r6] + adds r1, r1, r0 + ldr r2, _08023E04 @ =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 + mov r3, sb + ldrb r0, [r3, #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, #3 + ble _08023D92 + 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 _08023DFC: .4byte 0x03005000 _08023E00: .4byte 0x086B4D4E _08023E04: .4byte 0x000001FF @@ -70875,122 +70875,122 @@ _08023E0C: .4byte 0x0200D918 _08023E10: .4byte 0x020314E0 _08023E14: .4byte 0x0200D920 - thumb_func_start sub_23E18 + thumb_func_start sub_23E18 sub_23E18: @ 0x08023E18 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - movs r0, #1 - str r0, [sp] - ldr r1, _08023F00 @ =0x0200D860 - mov sl, r1 - ldr r5, _08023F04 @ =0xFFFFD860 - add r5, sl - ldr r0, [r5, #0x4c] - movs r1, #0x24 - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - ldr r7, _08023F08 @ =0x020314E0 - ldr r0, [r7] - ldr r2, _08023F0C @ =0x00000746 - mov sb, r2 - add r0, sb - movs r3, #0 - mov r8, r3 - mov r6, r8 - strb r6, [r0] - ldr r0, [r7] - movs r1, #0xb6 - lsls r1, r1, #2 - adds r0, r0, r1 - mov r2, sp - ldrb r2, [r2] - strb r2, [r0] - ldr r6, [r7] - ldr r3, _08023F10 @ =0x000002DA - adds r0, r6, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _08023F30 - ldr r5, _08023F14 @ =0x086AE0B4 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - adds r0, r4, #0 - movs r1, #6 - bl __divsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0xf - adds r0, r0, r5 - ldrh r1, [r0] - ldr r2, _08023F0C @ =0x00000746 - adds r0, r6, r2 - strb r1, [r0] - ldr r5, [r7] - ldr r2, _08023F18 @ =0x086AE0A4 - ldr r3, _08023F10 @ =0x000002DA - adds r1, r5, r3 - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0] - movs r6, #0xb5 - lsls r6, r6, #2 - adds r3, r5, r6 - strh r0, [r3] - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0, #2] - ldr r7, _08023F1C @ =0x000002D6 - adds r2, r5, r7 - strh r0, [r2] - adds r1, r5, #0 - adds r1, #0x58 - ldrh r0, [r3] - ldrh r1, [r1] - subs r0, r0, r1 - mov r1, sl - strh r0, [r1, #2] - adds r1, r5, #0 - adds r1, #0x5a - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r0, r1 - mov r2, sl - strh r0, [r2, #4] - adds r0, r4, #0 - movs r1, #6 - bl __modsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - beq _08023EDE - b _08024226 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + movs r0, #1 + str r0, [sp] + ldr r1, _08023F00 @ =0x0200D860 + mov sl, r1 + ldr r5, _08023F04 @ =0xFFFFD860 + add r5, sl + ldr r0, [r5, #0x4c] + movs r1, #0x24 + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + ldr r7, _08023F08 @ =0x020314E0 + ldr r0, [r7] + ldr r2, _08023F0C @ =0x00000746 + mov sb, r2 + add r0, sb + movs r3, #0 + mov r8, r3 + mov r6, r8 + strb r6, [r0] + ldr r0, [r7] + movs r1, #0xb6 + lsls r1, r1, #2 + adds r0, r0, r1 + mov r2, sp + ldrb r2, [r2] + strb r2, [r0] + ldr r6, [r7] + ldr r3, _08023F10 @ =0x000002DA + adds r0, r6, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bgt _08023F30 + ldr r5, _08023F14 @ =0x086AE0B4 + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + adds r0, r4, #0 + movs r1, #6 + bl __divsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0xf + adds r0, r0, r5 + ldrh r1, [r0] + ldr r2, _08023F0C @ =0x00000746 + adds r0, r6, r2 + strb r1, [r0] + ldr r5, [r7] + ldr r2, _08023F18 @ =0x086AE0A4 + ldr r3, _08023F10 @ =0x000002DA + adds r1, r5, r3 + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0] + movs r6, #0xb5 + lsls r6, r6, #2 + adds r3, r5, r6 + strh r0, [r3] + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0, #2] + ldr r7, _08023F1C @ =0x000002D6 + adds r2, r5, r7 + strh r0, [r2] + adds r1, r5, #0 + adds r1, #0x58 + ldrh r0, [r3] + ldrh r1, [r1] + subs r0, r0, r1 + mov r1, sl + strh r0, [r1, #2] + adds r1, r5, #0 + adds r1, #0x5a + ldrh r0, [r2] + ldrh r1, [r1] + subs r0, r0, r1 + mov r2, sl + strh r0, [r2, #4] + adds r0, r4, #0 + movs r1, #6 + bl __modsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + beq _08023EDE + b _08024226 _08023EDE: - ldr r2, _08023F20 @ =0x040000D4 - mov r3, sb - adds r0, r5, r3 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _08023F24 @ =0x08449D8C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08023F28 @ =0x06013300 - str r0, [r2, #4] - ldr r0, _08023F2C @ =0x80000140 - str r0, [r2, #8] - ldr r0, [r2, #8] - b _08024226 - .align 2, 0 + ldr r2, _08023F20 @ =0x040000D4 + mov r3, sb + adds r0, r5, r3 + ldrb r1, [r0] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _08023F24 @ =0x08449D8C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08023F28 @ =0x06013300 + str r0, [r2, #4] + ldr r0, _08023F2C @ =0x80000140 + str r0, [r2, #8] + ldr r0, [r2, #8] + b _08024226 + .align 2, 0 _08023F00: .4byte 0x0200D860 _08023F04: .4byte 0xFFFFD860 _08023F08: .4byte 0x020314E0 @@ -71004,103 +71004,103 @@ _08023F24: .4byte 0x08449D8C _08023F28: .4byte 0x06013300 _08023F2C: .4byte 0x80000140 _08023F30: - cmp r0, #3 - beq _08023F36 - b _080241D4 + cmp r0, #3 + beq _08023F36 + b _080241D4 _08023F36: - movs r1, #0xb4 - lsls r1, r1, #2 - adds r0, r6, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - beq _08024004 - movs r2, #0xf6 - lsls r2, r2, #1 - adds r4, r6, r2 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #1 - bne _08023FCA - movs r3, #2 - strb r3, [r4] - ldr r0, [r7] - add r0, sb - mov r6, sp - ldrb r6, [r6] - strb r6, [r0] - ldr r2, _08023FEC @ =0x040000D4 - ldr r4, [r7] - mov r1, sb - adds r0, r4, r1 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _08023FF0 @ =0x08449D8C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08023FF4 @ =0x06013300 - str r0, [r2, #4] - ldr r0, _08023FF8 @ =0x80000140 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldrb r0, [r5, #0xf] - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0xf] - adds r0, r4, #0 - adds r0, #0xea - movs r2, #0 - mov r6, r8 - strh r6, [r0] - adds r1, r4, #0 - adds r1, #0xec - movs r0, #0x3c - strh r0, [r1] - subs r1, #4 - movs r0, #0x48 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xe6 - strh r6, [r0] - adds r0, #8 - strh r3, [r0] - adds r0, #4 - strb r2, [r0] - ldr r0, [r7] - adds r0, #0xfa - mov r1, sp - ldrb r1, [r1] - strb r1, [r0] - ldr r0, [r7] - adds r0, #0xfb - strb r2, [r0] - ldr r0, [r7] - ldr r2, _08023FFC @ =0x000002DE - adds r0, r0, r2 - movs r1, #0x30 - strh r1, [r0] + movs r1, #0xb4 + lsls r1, r1, #2 + adds r0, r6, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + beq _08024004 + movs r2, #0xf6 + lsls r2, r2, #1 + adds r4, r6, r2 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #1 + bne _08023FCA + movs r3, #2 + strb r3, [r4] + ldr r0, [r7] + add r0, sb + mov r6, sp + ldrb r6, [r6] + strb r6, [r0] + ldr r2, _08023FEC @ =0x040000D4 + ldr r4, [r7] + mov r1, sb + adds r0, r4, r1 + ldrb r1, [r0] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _08023FF0 @ =0x08449D8C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08023FF4 @ =0x06013300 + str r0, [r2, #4] + ldr r0, _08023FF8 @ =0x80000140 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldrb r0, [r5, #0xf] + movs r1, #1 + orrs r0, r1 + strb r0, [r5, #0xf] + adds r0, r4, #0 + adds r0, #0xea + movs r2, #0 + mov r6, r8 + strh r6, [r0] + adds r1, r4, #0 + adds r1, #0xec + movs r0, #0x3c + strh r0, [r1] + subs r1, #4 + movs r0, #0x48 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xe6 + strh r6, [r0] + adds r0, #8 + strh r3, [r0] + adds r0, #4 + strb r2, [r0] + ldr r0, [r7] + adds r0, #0xfa + mov r1, sp + ldrb r1, [r1] + strb r1, [r0] + ldr r0, [r7] + adds r0, #0xfb + strb r2, [r0] + ldr r0, [r7] + ldr r2, _08023FFC @ =0x000002DE + adds r0, r0, r2 + movs r1, #0x30 + strh r1, [r0] _08023FCA: - ldr r0, [r7] - ldr r3, _08024000 @ =0x000002D9 - adds r1, r0, r3 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bne _08023FDA - b _080240FA + ldr r0, [r7] + ldr r3, _08024000 @ =0x000002D9 + adds r1, r0, r3 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + bne _08023FDA + b _080240FA _08023FDA: - mov r6, r8 - strb r6, [r1] - ldr r0, [r7] - ldr r7, _08023FFC @ =0x000002DE - adds r0, r0, r7 - movs r1, #0x30 - strh r1, [r0] - b _080240FA - .align 2, 0 + mov r6, r8 + strb r6, [r1] + ldr r0, [r7] + ldr r7, _08023FFC @ =0x000002DE + adds r0, r0, r7 + movs r1, #0x30 + strh r1, [r0] + b _080240FA + .align 2, 0 _08023FEC: .4byte 0x040000D4 _08023FF0: .4byte 0x08449D8C _08023FF4: .4byte 0x06013300 @@ -71108,194 +71108,194 @@ _08023FF8: .4byte 0x80000140 _08023FFC: .4byte 0x000002DE _08024000: .4byte 0x000002D9 _08024004: - ldr r0, _0802407C @ =0x000002DE - adds r2, r6, r0 - ldrh r0, [r2] - cmp r0, #0 - bne _080240A8 - movs r5, #0xb8 - lsls r5, r5, #2 - adds r0, r6, r5 - ldrh r0, [r0] - cmp r0, #0x1e - bne _0802406A - mov r1, r8 - strb r1, [r6, #0x1f] - ldr r1, [r7] - movs r4, #0 - movs r0, #0x3c - strh r0, [r1, #0x26] - ldr r2, _08024080 @ =0x0000132C - adds r1, r1, r2 - ldr r2, [r1] - movs r0, #0x14 - strh r0, [r2, #0x30] - ldr r2, [r1] - movs r0, #0xc8 - strh r0, [r2, #0x32] - ldr r2, [r1] - movs r0, #0x58 - strh r0, [r2, #0x10] - ldr r2, [r1] - movs r0, #0xa3 - strh r0, [r2, #0x12] - ldr r0, [r1] - mov r3, r8 - strh r3, [r0, #6] - ldr r2, [r1] - movs r6, #0x10 - ldrsh r0, [r2, r6] - lsls r0, r0, #1 - strh r0, [r2, #0x28] - ldr r1, [r1] - movs r2, #0x12 - ldrsh r0, [r1, r2] - lsls r0, r0, #1 - strh r0, [r1, #0x2a] - movs r0, #0xb9 - bl m4aSongNumStart - ldr r0, [r7] - ldr r3, _08024084 @ =0x000005FA - adds r0, r0, r3 - strb r4, [r0] + ldr r0, _0802407C @ =0x000002DE + adds r2, r6, r0 + ldrh r0, [r2] + cmp r0, #0 + bne _080240A8 + movs r5, #0xb8 + lsls r5, r5, #2 + adds r0, r6, r5 + ldrh r0, [r0] + cmp r0, #0x1e + bne _0802406A + mov r1, r8 + strb r1, [r6, #0x1f] + ldr r1, [r7] + movs r4, #0 + movs r0, #0x3c + strh r0, [r1, #0x26] + ldr r2, _08024080 @ =0x0000132C + adds r1, r1, r2 + ldr r2, [r1] + movs r0, #0x14 + strh r0, [r2, #0x30] + ldr r2, [r1] + movs r0, #0xc8 + strh r0, [r2, #0x32] + ldr r2, [r1] + movs r0, #0x58 + strh r0, [r2, #0x10] + ldr r2, [r1] + movs r0, #0xa3 + strh r0, [r2, #0x12] + ldr r0, [r1] + mov r3, r8 + strh r3, [r0, #6] + ldr r2, [r1] + movs r6, #0x10 + ldrsh r0, [r2, r6] + lsls r0, r0, #1 + strh r0, [r2, #0x28] + ldr r1, [r1] + movs r2, #0x12 + ldrsh r0, [r1, r2] + lsls r0, r0, #1 + strh r0, [r1, #0x2a] + movs r0, #0xb9 + bl m4aSongNumStart + ldr r0, [r7] + ldr r3, _08024084 @ =0x000005FA + adds r0, r0, r3 + strb r4, [r0] _0802406A: - ldr r0, [r7] - adds r1, r0, r5 - ldrh r0, [r1] - cmp r0, #0 - beq _08024088 - subs r0, #1 - strh r0, [r1] - b _080240FA - .align 2, 0 + ldr r0, [r7] + adds r1, r0, r5 + ldrh r0, [r1] + cmp r0, #0 + beq _08024088 + subs r0, #1 + strh r0, [r1] + b _080240FA + .align 2, 0 _0802407C: .4byte 0x000002DE _08024080: .4byte 0x0000132C _08024084: .4byte 0x000005FA _08024088: - bl sub_23954 - ldr r0, [r7] - ldr r6, _080240A4 @ =0x000002DA - adds r0, r0, r6 - mov r1, r8 - strb r1, [r0] - ldr r0, [r7] - movs r2, #0xb4 - lsls r2, r2, #2 - adds r0, r0, r2 - strb r1, [r0] - b _080240FA - .align 2, 0 + bl sub_23954 + ldr r0, [r7] + ldr r6, _080240A4 @ =0x000002DA + adds r0, r0, r6 + mov r1, r8 + strb r1, [r0] + ldr r0, [r7] + movs r2, #0xb4 + lsls r2, r2, #2 + adds r0, r0, r2 + strb r1, [r0] + b _080240FA + .align 2, 0 _080240A4: .4byte 0x000002DA _080240A8: - ldr r3, _08024184 @ =0x0000132C - adds r4, r6, r3 - ldr r1, [r4] - movs r0, #0x58 - strh r0, [r1, #0x10] - ldr r5, [r4] - ldrh r0, [r2] - movs r1, #3 - bl __udivsi3 - movs r1, #0xa3 - subs r1, r1, r0 - strh r1, [r5, #0x12] - ldr r0, [r4] - mov r7, r8 - strh r7, [r0, #6] - ldr r1, [r4] - movs r2, #0x10 - ldrsh r0, [r1, r2] - 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] - movs r7, #0x10 - ldrsh r0, [r1, r7] - lsls r0, r0, #8 - str r0, [r1, #0x34] - ldr r1, [r4] - movs r2, #0x12 - ldrsh r0, [r1, r2] - lsls r0, r0, #8 - str r0, [r1, #0x38] - ldr r3, _08024188 @ =0x000005FA - adds r0, r6, r3 - mov r6, sp - ldrb r6, [r6] - strb r6, [r0] + ldr r3, _08024184 @ =0x0000132C + adds r4, r6, r3 + ldr r1, [r4] + movs r0, #0x58 + strh r0, [r1, #0x10] + ldr r5, [r4] + ldrh r0, [r2] + movs r1, #3 + bl __udivsi3 + movs r1, #0xa3 + subs r1, r1, r0 + strh r1, [r5, #0x12] + ldr r0, [r4] + mov r7, r8 + strh r7, [r0, #6] + ldr r1, [r4] + movs r2, #0x10 + ldrsh r0, [r1, r2] + 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] + movs r7, #0x10 + ldrsh r0, [r1, r7] + lsls r0, r0, #8 + str r0, [r1, #0x34] + ldr r1, [r4] + movs r2, #0x12 + ldrsh r0, [r1, r2] + lsls r0, r0, #8 + str r0, [r1, #0x38] + ldr r3, _08024188 @ =0x000005FA + adds r0, r6, r3 + mov r6, sp + ldrb r6, [r6] + strb r6, [r0] _080240FA: - ldr r6, _0802418C @ =0x020314E0 - ldr r7, [r6] - ldr r1, _08024190 @ =0x086AE0A4 - ldr r0, _08024194 @ =0x000002DA - adds r0, r0, r7 - mov r8, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - adds r0, r0, r1 - ldrh r0, [r0] - movs r2, #0xb5 - lsls r2, r2, #2 - adds r5, r7, r2 - strh r0, [r5] - mov r3, r8 - movs r4, #0 - ldrsb r4, [r3, r4] - lsls r4, r4, #2 - adds r4, r4, r1 - ldr r1, _08024198 @ =0x000002DE - adds r0, r7, r1 - ldrh r0, [r0] - movs r1, #3 - bl __udivsi3 - ldrh r1, [r4, #2] - subs r1, r1, r0 - ldr r3, _0802419C @ =0x000002D6 - adds r2, r7, r3 - strh r1, [r2] - adds r1, r7, #0 - adds r1, #0x58 - ldrh r0, [r5] - ldrh r1, [r1] - subs r0, r0, r1 - mov r1, sl - strh r0, [r1, #2] - adds r1, r7, #0 - adds r1, #0x5a - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r0, r1 - mov r2, sl - strh r0, [r2, #4] - movs r0, #0x13 - ldrsb r0, [r7, r0] - cmp r0, #2 - bgt _080241AE - mov r3, r8 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #3 - bne _080241A0 - movs r1, #0xb4 - lsls r1, r1, #2 - adds r0, r7, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - beq _080241A0 - movs r2, #0xe5 - lsls r2, r2, #3 - adds r1, r7, r2 - movs r0, #1 - b _080241B6 - .align 2, 0 + ldr r6, _0802418C @ =0x020314E0 + ldr r7, [r6] + ldr r1, _08024190 @ =0x086AE0A4 + ldr r0, _08024194 @ =0x000002DA + adds r0, r0, r7 + mov r8, r0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + adds r0, r0, r1 + ldrh r0, [r0] + movs r2, #0xb5 + lsls r2, r2, #2 + adds r5, r7, r2 + strh r0, [r5] + mov r3, r8 + movs r4, #0 + ldrsb r4, [r3, r4] + lsls r4, r4, #2 + adds r4, r4, r1 + ldr r1, _08024198 @ =0x000002DE + adds r0, r7, r1 + ldrh r0, [r0] + movs r1, #3 + bl __udivsi3 + ldrh r1, [r4, #2] + subs r1, r1, r0 + ldr r3, _0802419C @ =0x000002D6 + adds r2, r7, r3 + strh r1, [r2] + adds r1, r7, #0 + adds r1, #0x58 + ldrh r0, [r5] + ldrh r1, [r1] + subs r0, r0, r1 + mov r1, sl + strh r0, [r1, #2] + adds r1, r7, #0 + adds r1, #0x5a + ldrh r0, [r2] + ldrh r1, [r1] + subs r0, r0, r1 + mov r2, sl + strh r0, [r2, #4] + movs r0, #0x13 + ldrsb r0, [r7, r0] + cmp r0, #2 + bgt _080241AE + mov r3, r8 + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #3 + bne _080241A0 + movs r1, #0xb4 + lsls r1, r1, #2 + adds r0, r7, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + beq _080241A0 + movs r2, #0xe5 + lsls r2, r2, #3 + adds r1, r7, r2 + movs r0, #1 + b _080241B6 + .align 2, 0 _08024184: .4byte 0x0000132C _08024188: .4byte 0x000005FA _0802418C: .4byte 0x020314E0 @@ -71304,204 +71304,204 @@ _08024194: .4byte 0x000002DA _08024198: .4byte 0x000002DE _0802419C: .4byte 0x000002D6 _080241A0: - ldr r0, [r6] - movs r3, #0xe5 - lsls r3, r3, #3 - adds r0, r0, r3 - movs r1, #0 - strb r1, [r0] - b _080241B8 + ldr r0, [r6] + movs r3, #0xe5 + lsls r3, r3, #3 + adds r0, r0, r3 + movs r1, #0 + strb r1, [r0] + b _080241B8 _080241AE: - movs r0, #0xe5 - lsls r0, r0, #3 - adds r1, r7, r0 - movs r0, #0 + movs r0, #0xe5 + lsls r0, r0, #3 + adds r1, r7, r0 + movs r0, #0 _080241B6: - strb r0, [r1] + strb r0, [r1] _080241B8: - ldr r0, [r6] - ldr r1, _080241D0 @ =0x000002DE - adds r6, r0, r1 - ldrh r0, [r6] - cmp r0, #0 - beq _08024226 - subs r0, #1 - strh r0, [r6] - movs r2, #2 - str r2, [sp] - b _08024226 - .align 2, 0 + ldr r0, [r6] + ldr r1, _080241D0 @ =0x000002DE + adds r6, r0, r1 + ldrh r0, [r6] + cmp r0, #0 + beq _08024226 + subs r0, #1 + strh r0, [r6] + movs r2, #2 + str r2, [sp] + b _08024226 + .align 2, 0 _080241D0: .4byte 0x000002DE _080241D4: - movs r3, #0xf6 - lsls r3, r3, #1 - adds r0, r6, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - bne _0802420C - movs r1, #0xe5 - lsls r1, r1, #3 - adds r0, r6, r1 - mov r2, r8 - strb r2, [r0] - ldr r0, [r7] - adds r0, r0, r3 - movs r1, #4 - strb r1, [r0] - ldr r0, [r7] - adds r3, #1 - adds r1, r0, r3 - movs r0, #8 - strb r0, [r1] - ldr r0, [r7] - movs r6, #0xf8 - lsls r6, r6, #1 - adds r0, r0, r6 - mov r1, r8 - strh r1, [r0] + movs r3, #0xf6 + lsls r3, r3, #1 + adds r0, r6, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + bne _0802420C + movs r1, #0xe5 + lsls r1, r1, #3 + adds r0, r6, r1 + mov r2, r8 + strb r2, [r0] + ldr r0, [r7] + adds r0, r0, r3 + movs r1, #4 + strb r1, [r0] + ldr r0, [r7] + adds r3, #1 + adds r1, r0, r3 + movs r0, #8 + strb r0, [r1] + ldr r0, [r7] + movs r6, #0xf8 + lsls r6, r6, #1 + adds r0, r0, r6 + mov r1, r8 + strh r1, [r0] _0802420C: - ldr r0, [r7] - movs r2, #0xb5 - lsls r2, r2, #2 - adds r1, r0, r2 - mov r3, r8 - strh r3, [r1] - ldr r6, _080242A4 @ =0x000002D6 - adds r0, r0, r6 - strh r3, [r0] - mov r7, sl - strh r3, [r7, #2] - movs r0, #0xa0 - strh r0, [r7, #4] + ldr r0, [r7] + movs r2, #0xb5 + lsls r2, r2, #2 + adds r1, r0, r2 + mov r3, r8 + strh r3, [r1] + ldr r6, _080242A4 @ =0x000002D6 + adds r0, r0, r6 + strh r3, [r0] + mov r7, sl + strh r3, [r7, #2] + movs r0, #0xa0 + strh r0, [r7, #4] _08024226: - movs r0, #0 - ldr r6, _080242A8 @ =0x03005000 - ldr r1, [sp] - lsls r1, r1, #2 - mov ip, r1 - movs r2, #0xd - rsbs r2, r2, #0 - mov sb, r2 - ldr r3, _080242AC @ =0xFFFFFE00 - mov r8, r3 + movs r0, #0 + ldr r6, _080242A8 @ =0x03005000 + ldr r1, [sp] + lsls r1, r1, #2 + mov ip, r1 + movs r2, #0xd + rsbs r2, r2, #0 + mov sb, r2 + ldr r3, _080242AC @ =0xFFFFFE00 + mov r8, r3 _0802423A: - lsls r5, r0, #0x10 - asrs r5, r5, #0x10 - lsls r4, r5, #3 - adds r4, #8 - add r4, sl - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #5] - mov r0, sb - ands r0, r2 - mov r7, ip - orrs r0, r7 - strb r0, [r1, #5] - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r0, #2 - ldrsh r1, [r4, r0] - mov r2, sl - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _080242B0 @ =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, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - mov r3, sl - ldrb r0, [r3, #4] - ldrb r4, [r4, #4] - adds r0, r0, r4 - strb r0, [r1] - adds r5, #1 - lsls r5, r5, #0x10 - lsrs r0, r5, #0x10 - asrs r5, r5, #0x10 - cmp r5, #1 - ble _0802423A - 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 + lsls r5, r0, #0x10 + asrs r5, r5, #0x10 + lsls r4, r5, #3 + adds r4, #8 + add r4, sl + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #5] + mov r0, sb + ands r0, r2 + mov r7, ip + orrs r0, r7 + strb r0, [r1, #5] + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r0, #2 + ldrsh r1, [r4, r0] + mov r2, sl + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _080242B0 @ =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, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + mov r3, sl + ldrb r0, [r3, #4] + ldrb r4, [r4, #4] + adds r0, r0, r4 + strb r0, [r1] + adds r5, #1 + lsls r5, r5, #0x10 + lsrs r0, r5, #0x10 + asrs r5, r5, #0x10 + cmp r5, #1 + ble _0802423A + 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 _080242A4: .4byte 0x000002D6 _080242A8: .4byte 0x03005000 _080242AC: .4byte 0xFFFFFE00 _080242B0: .4byte 0x000001FF - thumb_func_start sub_242B4 + thumb_func_start sub_242B4 sub_242B4: @ 0x080242B4 - push {r4, r5, lr} - ldr r0, _080242C8 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _080242D0 - ldr r0, _080242CC @ =0x020314E0 - ldr r0, [r0] - movs r1, #0xb4 - lsls r1, r1, #2 - b _080242D6 - .align 2, 0 + push {r4, r5, lr} + ldr r0, _080242C8 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #0 + bne _080242D0 + ldr r0, _080242CC @ =0x020314E0 + ldr r0, [r0] + movs r1, #0xb4 + lsls r1, r1, #2 + b _080242D6 + .align 2, 0 _080242C8: .4byte 0x0200B0C0 _080242CC: .4byte 0x020314E0 _080242D0: - ldr r0, _0802431C @ =0x020314E0 - ldr r0, [r0] - ldr r1, _08024320 @ =0x00000343 + ldr r0, _0802431C @ =0x020314E0 + ldr r0, [r0] + ldr r1, _08024320 @ =0x00000343 _080242D6: - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - ldr r5, _0802431C @ =0x020314E0 - ldr r0, [r5] - ldr r1, _08024324 @ =0x000005A5 - adds r0, r0, r1 - movs r4, #0 - strb r4, [r0] - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 - ldr r0, [r5] - ldr r1, _08024328 @ =0x000006C4 - adds r0, r0, r1 - strb r4, [r0] - movs r2, #0 - ldr r5, _0802432C @ =0x0000071D + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + ldr r5, _0802431C @ =0x020314E0 + ldr r0, [r5] + ldr r1, _08024324 @ =0x000005A5 + adds r0, r0, r1 + movs r4, #0 + strb r4, [r0] + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 + ldr r0, [r5] + ldr r1, _08024328 @ =0x000006C4 + adds r0, r0, r1 + strb r4, [r0] + movs r2, #0 + ldr r5, _0802432C @ =0x0000071D _080242FC: - ldr r0, _0802431C @ =0x020314E0 - ldr r3, [r0] - ldr r0, _08024330 @ =0x00000723 - adds r1, r3, r0 - lsls r0, r2, #0x10 - asrs r2, r0, #0x10 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r4, r0, #0 - cmp r2, r1 - bge _08024334 - adds r0, r3, r5 - adds r0, r0, r2 - movs r1, #1 - b _0802433A - .align 2, 0 + ldr r0, _0802431C @ =0x020314E0 + ldr r3, [r0] + ldr r0, _08024330 @ =0x00000723 + adds r1, r3, r0 + lsls r0, r2, #0x10 + asrs r2, r0, #0x10 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + adds r4, r0, #0 + cmp r2, r1 + bge _08024334 + adds r0, r3, r5 + adds r0, r0, r2 + movs r1, #1 + b _0802433A + .align 2, 0 _0802431C: .4byte 0x020314E0 _08024320: .4byte 0x00000343 _08024324: .4byte 0x000005A5 @@ -71509,304 +71509,304 @@ _08024328: .4byte 0x000006C4 _0802432C: .4byte 0x0000071D _08024330: .4byte 0x00000723 _08024334: - adds r0, r3, r5 - adds r0, r0, r2 - movs r1, #0 + adds r0, r3, r5 + adds r0, r0, r2 + movs r1, #0 _0802433A: - strb r1, [r0] - movs r1, #0x80 - lsls r1, r1, #9 - adds r0, r4, r1 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _080242FC - pop {r4, r5} - pop {r0} - bx r0 - - thumb_func_start sub_24350 + strb r1, [r0] + movs r1, #0x80 + lsls r1, r1, #9 + adds r0, r4, r1 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _080242FC + pop {r4, r5} + pop {r0} + bx r0 + + thumb_func_start sub_24350 sub_24350: @ 0x08024350 - push {r4, r5, lr} - ldr r4, _0802439C @ =0x020314E0 - ldr r0, [r4] - movs r3, #0 - strb r3, [r0, #0x17] - ldr r1, [r4] - movs r5, #0 - strh r3, [r1, #0x18] - ldr r0, _080243A0 @ =0x00000724 - adds r2, r1, r0 - subs r0, #0x1c - strh r0, [r2] - ldr r0, _080243A4 @ =0x000005A5 - adds r1, r1, r0 - strb r5, [r1] - ldr r2, [r4] - movs r1, #0xfc - lsls r1, r1, #1 - adds r0, r2, r1 - strh r3, [r0] - adds r1, #2 - adds r0, r2, r1 - strh r3, [r0] - ldr r0, _080243A8 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _080243B0 - movs r3, #0xfe - lsls r3, r3, #1 - adds r1, r2, r3 - ldr r0, _080243AC @ =0x000002EE - str r0, [r1] - subs r0, #0xee - adds r1, r2, r0 - movs r0, #0x82 - lsls r0, r0, #3 - b _080243C4 - .align 2, 0 + push {r4, r5, lr} + ldr r4, _0802439C @ =0x020314E0 + ldr r0, [r4] + movs r3, #0 + strb r3, [r0, #0x17] + ldr r1, [r4] + movs r5, #0 + strh r3, [r1, #0x18] + ldr r0, _080243A0 @ =0x00000724 + adds r2, r1, r0 + subs r0, #0x1c + strh r0, [r2] + ldr r0, _080243A4 @ =0x000005A5 + adds r1, r1, r0 + strb r5, [r1] + ldr r2, [r4] + movs r1, #0xfc + lsls r1, r1, #1 + adds r0, r2, r1 + strh r3, [r0] + adds r1, #2 + adds r0, r2, r1 + strh r3, [r0] + ldr r0, _080243A8 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #0 + bne _080243B0 + movs r3, #0xfe + lsls r3, r3, #1 + adds r1, r2, r3 + ldr r0, _080243AC @ =0x000002EE + str r0, [r1] + subs r0, #0xee + adds r1, r2, r0 + movs r0, #0x82 + lsls r0, r0, #3 + b _080243C4 + .align 2, 0 _0802439C: .4byte 0x020314E0 _080243A0: .4byte 0x00000724 _080243A4: .4byte 0x000005A5 _080243A8: .4byte 0x0200B0C0 _080243AC: .4byte 0x000002EE _080243B0: - movs r3, #0xfe - lsls r3, r3, #1 - adds r1, r2, r3 - movs r0, #0xf5 - lsls r0, r0, #3 - str r0, [r1] - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r2, r0 - subs r0, #0xd4 + movs r3, #0xfe + lsls r3, r3, #1 + adds r1, r2, r3 + movs r0, #0xf5 + lsls r0, r0, #3 + str r0, [r1] + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r2, r0 + subs r0, #0xd4 _080243C4: - str r0, [r1] - ldr r0, [r4] - movs r1, #0x81 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0 - strb r2, [r0] - ldr r0, [r4] - ldr r3, _080243FC @ =0x00000206 - adds r1, r0, r3 - movs r3, #0 - strh r2, [r1] - movs r4, #0xfc - lsls r4, r4, #1 - adds r1, r0, r4 - strh r2, [r1] - adds r4, #2 - adds r1, r0, r4 - strh r2, [r1] - ldr r4, _08024400 @ =0x000005AA - adds r1, r0, r4 - strh r2, [r1] - ldr r1, _08024404 @ =0x000005A9 - adds r0, r0, r1 - strb r3, [r0] - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + str r0, [r1] + ldr r0, [r4] + movs r1, #0x81 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r2, #0 + strb r2, [r0] + ldr r0, [r4] + ldr r3, _080243FC @ =0x00000206 + adds r1, r0, r3 + movs r3, #0 + strh r2, [r1] + movs r4, #0xfc + lsls r4, r4, #1 + adds r1, r0, r4 + strh r2, [r1] + adds r4, #2 + adds r1, r0, r4 + strh r2, [r1] + ldr r4, _08024400 @ =0x000005AA + adds r1, r0, r4 + strh r2, [r1] + ldr r1, _08024404 @ =0x000005A9 + adds r0, r0, r1 + strb r3, [r0] + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _080243FC: .4byte 0x00000206 _08024400: .4byte 0x000005AA _08024404: .4byte 0x000005A9 - thumb_func_start sub_24408 + thumb_func_start sub_24408 sub_24408: @ 0x08024408 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x10 - ldr r2, _08024440 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - adds r0, #0xa4 - ldr r0, [r0] - mov sb, r0 - movs r0, #1 - mov sl, r0 - ldr r1, _08024444 @ =0x020314E0 - ldr r0, [r1] - ldrb r0, [r0, #0x17] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #8 - bls _08024434 - bl _080252F6 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x10 + ldr r2, _08024440 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + adds r0, #0xa4 + ldr r0, [r0] + mov sb, r0 + movs r0, #1 + mov sl, r0 + ldr r1, _08024444 @ =0x020314E0 + ldr r0, [r1] + ldrb r0, [r0, #0x17] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #8 + bls _08024434 + bl _080252F6 _08024434: - lsls r0, r0, #2 - ldr r1, _08024448 @ =_0802444C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08024448 @ =_0802444C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08024440: .4byte 0x0200B0C0 _08024444: .4byte 0x020314E0 _08024448: .4byte _0802444C _0802444C: @ jump table - .4byte _08024470 @ case 0 - .4byte _080244A0 @ case 1 - .4byte _08024784 @ case 2 - .4byte _08024AB4 @ case 3 - .4byte _08024EFC @ case 4 - .4byte _080250E4 @ case 5 - .4byte _08025208 @ case 6 - .4byte _08025294 @ case 7 - .4byte _080252B8 @ case 8 + .4byte _08024470 @ case 0 + .4byte _080244A0 @ case 1 + .4byte _08024784 @ case 2 + .4byte _08024AB4 @ case 3 + .4byte _08024EFC @ case 4 + .4byte _080250E4 @ case 5 + .4byte _08025208 @ case 6 + .4byte _08025294 @ case 7 + .4byte _080252B8 @ case 8 _08024470: - ldr r1, _08024494 @ =0x020314E0 - ldr r0, [r1] - ldr r2, _08024498 @ =0x000006C4 - adds r0, r0, r2 - movs r1, #3 - strb r1, [r0] - ldr r3, _0802449C @ =0x0200B0C0 - ldr r0, [r3, #0x44] - adds r0, #0xa4 - ldr r1, [r0] - movs r0, #1 - strh r0, [r1] - ldr r4, _08024494 @ =0x020314E0 - ldr r1, [r4] - ldrb r0, [r1, #0x17] - adds r0, #1 - bl _080252F4 - .align 2, 0 + ldr r1, _08024494 @ =0x020314E0 + ldr r0, [r1] + ldr r2, _08024498 @ =0x000006C4 + adds r0, r0, r2 + movs r1, #3 + strb r1, [r0] + ldr r3, _0802449C @ =0x0200B0C0 + ldr r0, [r3, #0x44] + adds r0, #0xa4 + ldr r1, [r0] + movs r0, #1 + strh r0, [r1] + ldr r4, _08024494 @ =0x020314E0 + ldr r1, [r4] + ldrb r0, [r1, #0x17] + adds r0, #1 + bl _080252F4 + .align 2, 0 _08024494: .4byte 0x020314E0 _08024498: .4byte 0x000006C4 _0802449C: .4byte 0x0200B0C0 _080244A0: - ldr r3, _080244D0 @ =0x086AD52C - ldr r5, _080244D4 @ =0x020314E0 - ldr r2, [r5] - movs r6, #0x81 - lsls r6, r6, #2 - adds r4, r2, r6 - movs r1, #0 - ldrsb r1, [r4, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r1, r3, #2 - adds r0, r0, r1 - movs r7, #0 - ldrsh r0, [r0, r7] - ldr r7, _080244D8 @ =0x00000206 - adds r2, r2, r7 - ldrh r1, [r2] - cmp r0, r1 - ble _080244DC - adds r0, r1, #1 - strh r0, [r2] - b _080245FE - .align 2, 0 + ldr r3, _080244D0 @ =0x086AD52C + ldr r5, _080244D4 @ =0x020314E0 + ldr r2, [r5] + movs r6, #0x81 + lsls r6, r6, #2 + adds r4, r2, r6 + movs r1, #0 + ldrsb r1, [r4, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r1, r3, #2 + adds r0, r0, r1 + movs r7, #0 + ldrsh r0, [r0, r7] + ldr r7, _080244D8 @ =0x00000206 + adds r2, r2, r7 + ldrh r1, [r2] + cmp r0, r1 + ble _080244DC + adds r0, r1, #1 + strh r0, [r2] + b _080245FE + .align 2, 0 _080244D0: .4byte 0x086AD52C _080244D4: .4byte 0x020314E0 _080244D8: .4byte 0x00000206 _080244DC: - ldrb r0, [r4] - adds r0, #1 - movs r5, #0 - strb r0, [r4] - ldr r0, _0802459C @ =0x020314E0 - ldr r1, [r0] - ldr r4, _080245A0 @ =0x00000206 - adds r2, r1, r4 - strh r5, [r2] - ldr r4, _080245A4 @ =0x0200B0C0 - ldrb r0, [r4, #4] - cmp r0, #0 - bne _080245D4 - adds r1, r1, r6 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xd - ble _08024520 - movs r0, #0 - strb r0, [r1] - ldr r0, _0802459C @ =0x020314E0 - ldr r1, [r0] - movs r0, #3 - strb r0, [r1, #0x17] - ldr r2, _0802459C @ =0x020314E0 - ldr r1, [r2] - movs r3, #0xfc - lsls r3, r3, #1 - adds r0, r1, r3 - strh r5, [r0] - movs r4, #0xfd - lsls r4, r4, #1 - adds r0, r1, r4 - strh r5, [r0] + ldrb r0, [r4] + adds r0, #1 + movs r5, #0 + strb r0, [r4] + ldr r0, _0802459C @ =0x020314E0 + ldr r1, [r0] + ldr r4, _080245A0 @ =0x00000206 + adds r2, r1, r4 + strh r5, [r2] + ldr r4, _080245A4 @ =0x0200B0C0 + ldrb r0, [r4, #4] + cmp r0, #0 + bne _080245D4 + adds r1, r1, r6 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0xd + ble _08024520 + movs r0, #0 + strb r0, [r1] + ldr r0, _0802459C @ =0x020314E0 + ldr r1, [r0] + movs r0, #3 + strb r0, [r1, #0x17] + ldr r2, _0802459C @ =0x020314E0 + ldr r1, [r2] + movs r3, #0xfc + lsls r3, r3, #1 + adds r0, r1, r3 + strh r5, [r0] + movs r4, #0xfd + lsls r4, r4, #1 + adds r0, r1, r4 + strh r5, [r0] _08024520: - ldr r5, _0802459C @ =0x020314E0 - ldr r1, [r5] - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xc - bne _0802453E - adds r0, r1, r7 - ldrh r0, [r0] - cmp r0, #0 - bne _0802453E - movs r0, #0x15 - bl m4aSongNumStart + ldr r5, _0802459C @ =0x020314E0 + ldr r1, [r5] + adds r0, r1, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xc + bne _0802453E + adds r0, r1, r7 + ldrh r0, [r0] + cmp r0, #0 + bne _0802453E + movs r0, #0x15 + bl m4aSongNumStart _0802453E: - ldr r4, _0802459C @ =0x020314E0 - ldr r3, [r4] - movs r5, #0x81 - lsls r5, r5, #2 - adds r0, r3, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xa - bne _08024576 - movs r6, #0xa7 - lsls r6, r6, #2 - adds r1, r3, r6 - movs r0, #0x8c - strh r0, [r1] - ldr r2, _080245A8 @ =0x086A3700 - movs r7, #0xb3 - lsls r7, r7, #3 - adds r0, r3, r7 - ldrh r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r2 - ldrh r0, [r0] - movs r1, #0 - bl sub_528DC + ldr r4, _0802459C @ =0x020314E0 + ldr r3, [r4] + movs r5, #0x81 + lsls r5, r5, #2 + adds r0, r3, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xa + bne _08024576 + movs r6, #0xa7 + lsls r6, r6, #2 + adds r1, r3, r6 + movs r0, #0x8c + strh r0, [r1] + ldr r2, _080245A8 @ =0x086A3700 + movs r7, #0xb3 + lsls r7, r7, #3 + adds r0, r3, r7 + ldrh r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r2 + ldrh r0, [r0] + movs r1, #0 + bl sub_528DC _08024576: - ldr r2, [r4] - adds r0, r2, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xc - bne _080245B8 - movs r1, #0xfc - lsls r1, r1, #1 - adds r0, r2, r1 - ldr r1, _080245AC @ =0x0000FFF8 - strh r1, [r0] - movs r3, #0xfd - lsls r3, r3, #1 - adds r1, r2, r3 - ldr r0, _080245B0 @ =0x0000FFE2 - strh r0, [r1] - ldr r3, _080245B4 @ =0x086AD52C - b _080245FE - .align 2, 0 + ldr r2, [r4] + adds r0, r2, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xc + bne _080245B8 + movs r1, #0xfc + lsls r1, r1, #1 + adds r0, r2, r1 + ldr r1, _080245AC @ =0x0000FFF8 + strh r1, [r0] + movs r3, #0xfd + lsls r3, r3, #1 + adds r1, r2, r3 + ldr r0, _080245B0 @ =0x0000FFE2 + strh r0, [r1] + ldr r3, _080245B4 @ =0x086AD52C + b _080245FE + .align 2, 0 _0802459C: .4byte 0x020314E0 _080245A0: .4byte 0x00000206 _080245A4: .4byte 0x0200B0C0 @@ -71815,212 +71815,212 @@ _080245AC: .4byte 0x0000FFF8 _080245B0: .4byte 0x0000FFE2 _080245B4: .4byte 0x086AD52C _080245B8: - movs r5, #0xfc - lsls r5, r5, #1 - adds r0, r2, r5 - movs r1, #0 - strh r1, [r0] - movs r6, #0xfd - lsls r6, r6, #1 - adds r0, r2, r6 - strh r1, [r0] - ldr r3, _080245D0 @ =0x086AD52C - b _080245FE - .align 2, 0 + movs r5, #0xfc + lsls r5, r5, #1 + adds r0, r2, r5 + movs r1, #0 + strh r1, [r0] + movs r6, #0xfd + lsls r6, r6, #1 + adds r0, r2, r6 + strh r1, [r0] + ldr r3, _080245D0 @ =0x086AD52C + b _080245FE + .align 2, 0 _080245D0: .4byte 0x086AD52C _080245D4: - adds r1, r1, r6 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #9 - ble _080245FE - strh r5, [r2] - movs r0, #0xa - strb r0, [r1] - ldr r7, _08024754 @ =0x020314E0 - ldr r1, [r7] - movs r0, #2 - strb r0, [r1, #0x17] - ldr r1, [r7] - movs r2, #0xfc - lsls r2, r2, #1 - adds r0, r1, r2 - strh r5, [r0] - movs r4, #0xfd - lsls r4, r4, #1 - adds r0, r1, r4 - strh r5, [r0] + adds r1, r1, r6 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #9 + ble _080245FE + strh r5, [r2] + movs r0, #0xa + strb r0, [r1] + ldr r7, _08024754 @ =0x020314E0 + ldr r1, [r7] + movs r0, #2 + strb r0, [r1, #0x17] + ldr r1, [r7] + movs r2, #0xfc + lsls r2, r2, #1 + adds r0, r1, r2 + strh r5, [r0] + movs r4, #0xfd + lsls r4, r4, #1 + adds r0, r1, r4 + strh r5, [r0] _080245FE: - ldr r5, _08024754 @ =0x020314E0 - ldr r4, [r5] - movs r6, #0x81 - lsls r6, r6, #2 - adds r2, r4, r6 - movs r1, #0 - ldrsb r1, [r2, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r1, r0, r3 - ldrh r5, [r1] - adds r1, r3, #4 - adds r0, r0, r1 - ldrh r6, [r0] - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0xc - bne _08024656 - movs r7, #0xfd - lsls r7, r7, #1 - adds r3, r4, r7 - ldrh r0, [r3] - adds r0, #2 - strh r0, [r3] - movs r0, #0xfe - lsls r0, r0, #1 - adds r2, r4, r0 - movs r1, #0xfc - lsls r1, r1, #1 - adds r0, r4, r1 - movs r7, #0 - ldrsh r1, [r0, r7] - ldr r0, [r2] - adds r0, r0, r1 - str r0, [r2] - movs r0, #0x80 - lsls r0, r0, #2 - adds r2, r4, r0 - movs r4, #0 - ldrsh r1, [r3, r4] - ldr r0, [r2] - adds r0, r0, r1 - str r0, [r2] + ldr r5, _08024754 @ =0x020314E0 + ldr r4, [r5] + movs r6, #0x81 + lsls r6, r6, #2 + adds r2, r4, r6 + movs r1, #0 + ldrsb r1, [r2, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r1, r0, r3 + ldrh r5, [r1] + adds r1, r3, #4 + adds r0, r0, r1 + ldrh r6, [r0] + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0xc + bne _08024656 + movs r7, #0xfd + lsls r7, r7, #1 + adds r3, r4, r7 + ldrh r0, [r3] + adds r0, #2 + strh r0, [r3] + movs r0, #0xfe + lsls r0, r0, #1 + adds r2, r4, r0 + movs r1, #0xfc + lsls r1, r1, #1 + adds r0, r4, r1 + movs r7, #0 + ldrsh r1, [r0, r7] + ldr r0, [r2] + adds r0, r0, r1 + str r0, [r2] + movs r0, #0x80 + lsls r0, r0, #2 + adds r2, r4, r0 + movs r4, #0 + ldrsh r1, [r3, r4] + ldr r0, [r2] + adds r0, r0, r1 + str r0, [r2] _08024656: - ldr r7, _08024754 @ =0x020314E0 - ldr r4, [r7] - movs r1, #0xfe - lsls r1, r1, #1 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - mov r2, sb - strh r0, [r2, #2] - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r4, r3 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x5a - ldrh r1, [r1] - subs r0, r0, r1 - mov r4, sb - strh r0, [r4, #4] - ldr r2, _08024758 @ =0x040000D4 - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #5 - ldr r1, _0802475C @ =0x0202C7A0 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08024760 @ =0x060112A0 - str r0, [r2, #4] - ldr r0, _08024764 @ =0x80000090 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r0, _08024768 @ =0x020315D0 - str r0, [r2] - ldr r0, _0802476C @ =0x050003A0 - str r0, [r2, #4] - ldr r0, _08024770 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r2, #0 - lsls r1, r6, #0x10 - ldr r5, _08024774 @ =0x086B4B0E - mov r8, r5 - ldr r6, _08024778 @ =0x03005000 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - mov ip, r0 + ldr r7, _08024754 @ =0x020314E0 + ldr r4, [r7] + movs r1, #0xfe + lsls r1, r1, #1 + adds r0, r4, r1 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + mov r2, sb + strh r0, [r2, #2] + movs r3, #0x80 + lsls r3, r3, #2 + adds r0, r4, r3 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x5a + ldrh r1, [r1] + subs r0, r0, r1 + mov r4, sb + strh r0, [r4, #4] + ldr r2, _08024758 @ =0x040000D4 + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #5 + ldr r1, _0802475C @ =0x0202C7A0 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08024760 @ =0x060112A0 + str r0, [r2, #4] + ldr r0, _08024764 @ =0x80000090 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r0, _08024768 @ =0x020315D0 + str r0, [r2] + ldr r0, _0802476C @ =0x050003A0 + str r0, [r2, #4] + ldr r0, _08024770 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r2, #0 + lsls r1, r6, #0x10 + ldr r5, _08024774 @ =0x086B4B0E + mov r8, r5 + ldr r6, _08024778 @ =0x03005000 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + mov ip, r0 _080246CC: - lsls r3, r2, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - mov r7, sb - 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, r8 - 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 r4, [r2, #2] - lsls r1, r4, #0x17 - lsrs r1, r1, #0x17 - str r1, [sp, #0xc] - movs r1, #2 - ldrsh r0, [r7, r1] - ldr r7, [sp, #0xc] - adds r1, r7, r0 - ldr r7, _0802477C @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - ldr r0, _08024780 @ =0xFFFFFE00 - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - 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] - ldrh r1, [r5] - lsls r1, r1, #3 - adds r1, r1, r6 - mov r5, sl - lsls r4, r5, #2 - ldrb r2, [r1, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1, #5] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r2, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #3 - ble _080246CC - bl _080252F6 - .align 2, 0 + lsls r3, r2, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + mov r7, sb + 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, r8 + 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 r4, [r2, #2] + lsls r1, r4, #0x17 + lsrs r1, r1, #0x17 + str r1, [sp, #0xc] + movs r1, #2 + ldrsh r0, [r7, r1] + ldr r7, [sp, #0xc] + adds r1, r7, r0 + ldr r7, _0802477C @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + ldr r0, _08024780 @ =0xFFFFFE00 + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + 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] + ldrh r1, [r5] + lsls r1, r1, #3 + adds r1, r1, r6 + mov r5, sl + lsls r4, r5, #2 + ldrb r2, [r1, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r2 + orrs r0, r4 + strb r0, [r1, #5] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r2, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #3 + ble _080246CC + bl _080252F6 + .align 2, 0 _08024754: .4byte 0x020314E0 _08024758: .4byte 0x040000D4 _0802475C: .4byte 0x0202C7A0 @@ -72034,316 +72034,316 @@ _08024778: .4byte 0x03005000 _0802477C: .4byte 0x000001FF _08024780: .4byte 0xFFFFFE00 _08024784: - ldr r0, _080247B0 @ =0x020314E0 - mov sl, r0 - ldr r4, [r0] - ldr r1, _080247B4 @ =0x00000206 - adds r0, r4, r1 - ldrh r0, [r0] - cmp r0, #0xef - bhi _080247BC - movs r2, #1 - mov sl, r2 - cmp r0, #0 - bne _080247AA - ldr r3, _080247B8 @ =0x00000346 - adds r1, r4, r3 - movs r0, #3 - strb r0, [r1] - movs r0, #0xdd - bl m4aSongNumStart + ldr r0, _080247B0 @ =0x020314E0 + mov sl, r0 + ldr r4, [r0] + ldr r1, _080247B4 @ =0x00000206 + adds r0, r4, r1 + ldrh r0, [r0] + cmp r0, #0xef + bhi _080247BC + movs r2, #1 + mov sl, r2 + cmp r0, #0 + bne _080247AA + ldr r3, _080247B8 @ =0x00000346 + adds r1, r4, r3 + movs r0, #3 + strb r0, [r1] + movs r0, #0xdd + bl m4aSongNumStart _080247AA: - movs r5, #0 - b _0802499E - .align 2, 0 + movs r5, #0 + b _0802499E + .align 2, 0 _080247B0: .4byte 0x020314E0 _080247B4: .4byte 0x00000206 _080247B8: .4byte 0x00000346 _080247BC: - cmp r0, #0xf0 - bne _080247F4 - movs r5, #0xfe - lsls r5, r5, #1 - adds r1, r4, r5 - ldr r0, _080247F0 @ =0x000008D4 - str r0, [r1] - movs r6, #0x80 - lsls r6, r6, #2 - adds r1, r4, r6 - movs r0, #0xb9 - lsls r0, r0, #2 - str r0, [r1] - movs r7, #0x81 - lsls r7, r7, #2 - adds r1, r4, r7 - movs r0, #0 - strb r0, [r1] - movs r0, #2 - mov sl, r0 - movs r5, #0 - movs r0, #0x15 - bl m4aSongNumStart - b _0802499E - .align 2, 0 + cmp r0, #0xf0 + bne _080247F4 + movs r5, #0xfe + lsls r5, r5, #1 + adds r1, r4, r5 + ldr r0, _080247F0 @ =0x000008D4 + str r0, [r1] + movs r6, #0x80 + lsls r6, r6, #2 + adds r1, r4, r6 + movs r0, #0xb9 + lsls r0, r0, #2 + str r0, [r1] + movs r7, #0x81 + lsls r7, r7, #2 + adds r1, r4, r7 + movs r0, #0 + strb r0, [r1] + movs r0, #2 + mov sl, r0 + movs r5, #0 + movs r0, #0x15 + bl m4aSongNumStart + b _0802499E + .align 2, 0 _080247F0: .4byte 0x000008D4 _080247F4: - ldr r3, _080248A0 @ =0x086AD750 - movs r1, #0x81 - lsls r1, r1, #2 - adds r0, r4, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #3 - adds r1, r2, r3 - movs r5, #0xfe - lsls r5, r5, #1 - adds r0, r4, r5 - ldr r0, [r0] - adds r0, #0x78 - ldr r1, [r1] - subs r6, r1, r0 - adds r3, #4 - adds r2, r2, r3 - movs r1, #0x80 - lsls r1, r1, #2 - adds r0, r4, r1 - ldr r0, [r0] - adds r0, #0xa0 - ldr r1, [r2] - subs r7, r1, r0 - adds r1, r6, #0 - muls r1, r6, r1 - adds r0, r7, #0 - muls r0, r7, r0 - adds r1, r1, r0 - str r1, [sp, #8] - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - rsbs r1, r7, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - bl ArcTan2 - lsls r4, r0, #0x10 - lsrs r2, r4, #0x10 - mov r8, r2 - mov r3, sl - ldr r2, [r3] - adds r5, #0xa - adds r0, r2, r5 - ldrh r1, [r0] - ldr r0, _080248A4 @ =0x00000143 - movs r6, #1 - mov sl, r6 - cmp r1, r0 - bhi _0802485C - movs r7, #2 - mov sl, r7 + ldr r3, _080248A0 @ =0x086AD750 + movs r1, #0x81 + lsls r1, r1, #2 + adds r0, r4, r1 + movs r2, #0 + ldrsb r2, [r0, r2] + lsls r2, r2, #3 + adds r1, r2, r3 + movs r5, #0xfe + lsls r5, r5, #1 + adds r0, r4, r5 + ldr r0, [r0] + adds r0, #0x78 + ldr r1, [r1] + subs r6, r1, r0 + adds r3, #4 + adds r2, r2, r3 + movs r1, #0x80 + lsls r1, r1, #2 + adds r0, r4, r1 + ldr r0, [r0] + adds r0, #0xa0 + ldr r1, [r2] + subs r7, r1, r0 + adds r1, r6, #0 + muls r1, r6, r1 + adds r0, r7, #0 + muls r0, r7, r0 + adds r1, r1, r0 + str r1, [sp, #8] + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + rsbs r1, r7, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + bl ArcTan2 + lsls r4, r0, #0x10 + lsrs r2, r4, #0x10 + mov r8, r2 + mov r3, sl + ldr r2, [r3] + adds r5, #0xa + adds r0, r2, r5 + ldrh r1, [r0] + ldr r0, _080248A4 @ =0x00000143 + movs r6, #1 + mov sl, r6 + cmp r1, r0 + bhi _0802485C + movs r7, #2 + mov sl, r7 _0802485C: - movs r1, #0x81 - lsls r1, r1, #2 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - bgt _080248AC - movs r5, #0 - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #3 - subs r1, r1, r0 - lsls r1, r1, #1 - ldr r4, _080248A8 @ =0x00004E20 - adds r0, r1, #0 - adds r1, r4, #0 - bl __divsi3 - str r0, [sp] - mov r0, r8 - bl sub_C24 - adds r1, r0, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #1 - rsbs r0, r0, #0 - b _080248F0 - .align 2, 0 + movs r1, #0x81 + lsls r1, r1, #2 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + bgt _080248AC + movs r5, #0 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #3 + subs r1, r1, r0 + lsls r1, r1, #1 + ldr r4, _080248A8 @ =0x00004E20 + adds r0, r1, #0 + adds r1, r4, #0 + bl __divsi3 + str r0, [sp] + mov r0, r8 + bl sub_C24 + adds r1, r0, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #1 + rsbs r0, r0, #0 + b _080248F0 + .align 2, 0 _080248A0: .4byte 0x086AD750 _080248A4: .4byte 0x00000143 _080248A8: .4byte 0x00004E20 _080248AC: - ldr r0, _08024934 @ =0x086AD788 - lsrs r4, r4, #0x1d - lsls r4, r4, #1 - adds r4, r4, r0 - ldr r0, _08024938 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #0x18 - bl __umodsi3 - lsrs r0, r0, #3 - ldrh r4, [r4] - adds r0, r0, r4 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #3 - subs r1, r1, r0 - ldr r4, _0802493C @ =0x00004E20 - adds r0, r1, #0 - adds r1, r4, #0 - bl __divsi3 - str r0, [sp] - mov r0, r8 - bl sub_C24 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #3 - subs r0, r0, r1 + ldr r0, _08024934 @ =0x086AD788 + lsrs r4, r4, #0x1d + lsls r4, r4, #1 + adds r4, r4, r0 + ldr r0, _08024938 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #0x18 + bl __umodsi3 + lsrs r0, r0, #3 + ldrh r4, [r4] + adds r0, r0, r4 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #3 + subs r1, r1, r0 + ldr r4, _0802493C @ =0x00004E20 + adds r0, r1, #0 + adds r1, r4, #0 + bl __divsi3 + str r0, [sp] + mov r0, r8 + bl sub_C24 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #3 + subs r0, r0, r1 _080248F0: - adds r1, r4, #0 - bl __divsi3 - str r0, [sp, #4] - ldr r4, _08024940 @ =0x020314E0 - ldr r2, [r4] - movs r3, #0xfe - lsls r3, r3, #1 - adds r1, r2, r3 - ldr r0, [r1] - ldr r6, [sp] - adds r0, r0, r6 - str r0, [r1] - movs r7, #0x80 - lsls r7, r7, #2 - adds r1, r2, r7 - ldr r0, [r1] - ldr r3, [sp, #4] - adds r0, r0, r3 - str r0, [r1] - ldr r0, _08024944 @ =0x000009C3 - ldr r6, [sp, #8] - cmp r6, r0 - bgt _08024964 - adds r7, #4 - adds r3, r2, r7 - ldrb r1, [r3] - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #5 - bgt _08024948 - adds r0, r1, #1 - strb r0, [r3] - b _08024964 - .align 2, 0 + adds r1, r4, #0 + bl __divsi3 + str r0, [sp, #4] + ldr r4, _08024940 @ =0x020314E0 + ldr r2, [r4] + movs r3, #0xfe + lsls r3, r3, #1 + adds r1, r2, r3 + ldr r0, [r1] + ldr r6, [sp] + adds r0, r0, r6 + str r0, [r1] + movs r7, #0x80 + lsls r7, r7, #2 + adds r1, r2, r7 + ldr r0, [r1] + ldr r3, [sp, #4] + adds r0, r0, r3 + str r0, [r1] + ldr r0, _08024944 @ =0x000009C3 + ldr r6, [sp, #8] + cmp r6, r0 + bgt _08024964 + adds r7, #4 + adds r3, r2, r7 + ldrb r1, [r3] + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #5 + bgt _08024948 + adds r0, r1, #1 + strb r0, [r3] + b _08024964 + .align 2, 0 _08024934: .4byte 0x086AD788 _08024938: .4byte 0x0200B0C0 _0802493C: .4byte 0x00004E20 _08024940: .4byte 0x020314E0 _08024944: .4byte 0x000009C3 _08024948: - movs r2, #0 - movs r1, #3 - strb r1, [r3] - ldr r0, [r4] - strb r1, [r0, #0x17] - ldr r1, [r4] - movs r3, #0xfc - lsls r3, r3, #1 - adds r0, r1, r3 - strh r2, [r0] - movs r4, #0xfd - lsls r4, r4, #1 - adds r0, r1, r4 - strh r2, [r0] + movs r2, #0 + movs r1, #3 + strb r1, [r3] + ldr r0, [r4] + strb r1, [r0, #0x17] + ldr r1, [r4] + movs r3, #0xfc + lsls r3, r3, #1 + adds r0, r1, r3 + strh r2, [r0] + movs r4, #0xfd + lsls r4, r4, #1 + adds r0, r1, r4 + strh r2, [r0] _08024964: - ldr r0, _0802497C @ =0x020314E0 - ldr r1, [r0] - ldr r6, _08024980 @ =0x00000206 - adds r0, r1, r6 - ldrh r2, [r0] - ldr r0, _08024984 @ =0x0000017B - cmp r2, r0 - bhi _08024988 - adds r1, #0xe6 - ldrh r0, [r1] - adds r0, #1 - b _0802499C - .align 2, 0 + ldr r0, _0802497C @ =0x020314E0 + ldr r1, [r0] + ldr r6, _08024980 @ =0x00000206 + adds r0, r1, r6 + ldrh r2, [r0] + ldr r0, _08024984 @ =0x0000017B + cmp r2, r0 + bhi _08024988 + adds r1, #0xe6 + ldrh r0, [r1] + adds r0, #1 + b _0802499C + .align 2, 0 _0802497C: .4byte 0x020314E0 _08024980: .4byte 0x00000206 _08024984: .4byte 0x0000017B _08024988: - ldr r0, _08024A0C @ =0x0000018F - cmp r2, r0 - bls _0802499E - adds r1, #0xe6 - ldrh r2, [r1] - movs r7, #0 - ldrsh r0, [r1, r7] - cmp r0, #0 - ble _0802499E - subs r0, r2, #1 + ldr r0, _08024A0C @ =0x0000018F + cmp r2, r0 + bls _0802499E + adds r1, #0xe6 + ldrh r2, [r1] + movs r7, #0 + ldrsh r0, [r1, r7] + cmp r0, #0 + ble _0802499E + subs r0, r2, #1 _0802499C: - strh r0, [r1] + strh r0, [r1] _0802499E: - ldr r2, _08024A10 @ =0x040000D4 - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #5 - ldr r1, _08024A14 @ =0x0202C7A0 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08024A18 @ =0x060112A0 - str r0, [r2, #4] - ldr r0, _08024A1C @ =0x80000090 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r0, _08024A20 @ =0x020314E0 - ldr r4, [r0] - ldr r0, _08024A24 @ =0x00000206 - adds r1, r4, r0 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - movs r1, #0xfe - lsls r1, r1, #1 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - mov r2, sb - strh r0, [r2, #2] - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r4, r3 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x5a - ldrh r1, [r1] - subs r0, r0, r1 - mov r4, sb - strh r0, [r4, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb4 - ble _08024A28 - movs r0, #0xb4 - strh r0, [r4, #4] - b _08024A34 - .align 2, 0 + ldr r2, _08024A10 @ =0x040000D4 + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #5 + ldr r1, _08024A14 @ =0x0202C7A0 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08024A18 @ =0x060112A0 + str r0, [r2, #4] + ldr r0, _08024A1C @ =0x80000090 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r0, _08024A20 @ =0x020314E0 + ldr r4, [r0] + ldr r0, _08024A24 @ =0x00000206 + adds r1, r4, r0 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + movs r1, #0xfe + lsls r1, r1, #1 + adds r0, r4, r1 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + mov r2, sb + strh r0, [r2, #2] + movs r3, #0x80 + lsls r3, r3, #2 + adds r0, r4, r3 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x5a + ldrh r1, [r1] + subs r0, r0, r1 + mov r4, sb + strh r0, [r4, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb4 + ble _08024A28 + movs r0, #0xb4 + strh r0, [r4, #4] + b _08024A34 + .align 2, 0 _08024A0C: .4byte 0x0000018F _08024A10: .4byte 0x040000D4 _08024A14: .4byte 0x0202C7A0 @@ -72352,438 +72352,438 @@ _08024A1C: .4byte 0x80000090 _08024A20: .4byte 0x020314E0 _08024A24: .4byte 0x00000206 _08024A28: - movs r1, #0x1e - rsbs r1, r1, #0 - cmp r0, r1 - bge _08024A34 - mov r5, sb - strh r1, [r5, #4] + movs r1, #0x1e + rsbs r1, r1, #0 + cmp r0, r1 + bge _08024A34 + mov r5, sb + strh r1, [r5, #4] _08024A34: - movs r2, #0 - ldr r6, _08024AA8 @ =0x03005000 - mov r7, sl - lsls r7, r7, #2 - mov ip, r7 - movs r0, #0xd - rsbs r0, r0, #0 - mov sl, r0 - ldr r1, _08024AAC @ =0xFFFFFE00 - mov r8, r1 + movs r2, #0 + ldr r6, _08024AA8 @ =0x03005000 + mov r7, sl + lsls r7, r7, #2 + mov ip, r7 + movs r0, #0xd + rsbs r0, r0, #0 + mov sl, r0 + ldr r1, _08024AAC @ =0xFFFFFE00 + mov r8, r1 _08024A48: - lsls r4, r2, #0x10 - asrs r4, r4, #0x10 - lsls r0, r4, #3 - adds r0, #8 - mov r2, sb - adds r5, r2, r0 - ldrh r1, [r5] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #5] - mov r0, sl - ands r0, r2 - mov r3, ip - orrs r0, r3 - strb r0, [r1, #5] - ldrh r3, [r5] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r7, #2 - ldrsh r1, [r5, r7] - mov r2, sb - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _08024AB0 @ =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 - mov r3, sb - ldrb r0, [r3, #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, #3 - ble _08024A48 - bl _080252F6 - .align 2, 0 + lsls r4, r2, #0x10 + asrs r4, r4, #0x10 + lsls r0, r4, #3 + adds r0, #8 + mov r2, sb + adds r5, r2, r0 + ldrh r1, [r5] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #5] + mov r0, sl + ands r0, r2 + mov r3, ip + orrs r0, r3 + strb r0, [r1, #5] + ldrh r3, [r5] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r7, #2 + ldrsh r1, [r5, r7] + mov r2, sb + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _08024AB0 @ =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 + mov r3, sb + ldrb r0, [r3, #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, #3 + ble _08024A48 + bl _080252F6 + .align 2, 0 _08024AA8: .4byte 0x03005000 _08024AAC: .4byte 0xFFFFFE00 _08024AB0: .4byte 0x000001FF _08024AB4: - ldr r3, _08024B5C @ =0x086AD580 - ldr r5, _08024B60 @ =0x020314E0 - ldr r4, [r5] - movs r1, #0x81 - lsls r1, r1, #2 - adds r0, r4, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #3 - ldr r5, _08024B64 @ =0x0200B0C0 - ldrb r1, [r5, #4] - movs r0, #0xe8 - muls r0, r1, r0 - adds r2, r2, r0 - adds r1, r2, r3 - movs r5, #0xfe - lsls r5, r5, #1 - adds r0, r4, r5 - ldr r0, [r0] - adds r0, #0x78 - ldr r1, [r1] - subs r6, r1, r0 - adds r3, #4 - adds r2, r2, r3 - movs r1, #0x80 - lsls r1, r1, #2 - adds r0, r4, r1 - ldr r0, [r0] - adds r0, #0xa0 - ldr r1, [r2] - subs r7, r1, r0 - adds r1, r6, #0 - muls r1, r6, r1 - adds r0, r7, #0 - muls r0, r7, r0 - adds r1, r1, r0 - str r1, [sp, #8] - 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 sl, r0 - mov r2, sl - lsrs r2, r2, #0x10 - mov r8, r2 - mov r0, r8 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #3 - subs r1, r1, r0 - ldr r4, _08024B68 @ =0x00004E20 - adds r0, r1, #0 - adds r1, r4, #0 - bl __divsi3 - str r0, [sp] - mov r0, r8 - bl sub_C24 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #3 - subs r0, r0, r1 - adds r1, r4, #0 - bl __divsi3 - str r0, [sp, #4] - ldr r3, _08024B60 @ =0x020314E0 - ldr r5, [r3] - ldr r4, _08024B6C @ =0x000005A9 - adds r1, r5, r4 - ldrb r0, [r1] - cmp r0, #0 - beq _08024B70 - subs r0, #1 - strb r0, [r1] - movs r5, #0xe - b _08024BFA - .align 2, 0 + ldr r3, _08024B5C @ =0x086AD580 + ldr r5, _08024B60 @ =0x020314E0 + ldr r4, [r5] + movs r1, #0x81 + lsls r1, r1, #2 + adds r0, r4, r1 + movs r2, #0 + ldrsb r2, [r0, r2] + lsls r2, r2, #3 + ldr r5, _08024B64 @ =0x0200B0C0 + ldrb r1, [r5, #4] + movs r0, #0xe8 + muls r0, r1, r0 + adds r2, r2, r0 + adds r1, r2, r3 + movs r5, #0xfe + lsls r5, r5, #1 + adds r0, r4, r5 + ldr r0, [r0] + adds r0, #0x78 + ldr r1, [r1] + subs r6, r1, r0 + adds r3, #4 + adds r2, r2, r3 + movs r1, #0x80 + lsls r1, r1, #2 + adds r0, r4, r1 + ldr r0, [r0] + adds r0, #0xa0 + ldr r1, [r2] + subs r7, r1, r0 + adds r1, r6, #0 + muls r1, r6, r1 + adds r0, r7, #0 + muls r0, r7, r0 + adds r1, r1, r0 + str r1, [sp, #8] + 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 sl, r0 + mov r2, sl + lsrs r2, r2, #0x10 + mov r8, r2 + mov r0, r8 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #3 + subs r1, r1, r0 + ldr r4, _08024B68 @ =0x00004E20 + adds r0, r1, #0 + adds r1, r4, #0 + bl __divsi3 + str r0, [sp] + mov r0, r8 + bl sub_C24 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #3 + subs r0, r0, r1 + adds r1, r4, #0 + bl __divsi3 + str r0, [sp, #4] + ldr r3, _08024B60 @ =0x020314E0 + ldr r5, [r3] + ldr r4, _08024B6C @ =0x000005A9 + adds r1, r5, r4 + ldrb r0, [r1] + cmp r0, #0 + beq _08024B70 + subs r0, #1 + strb r0, [r1] + movs r5, #0xe + b _08024BFA + .align 2, 0 _08024B5C: .4byte 0x086AD580 _08024B60: .4byte 0x020314E0 _08024B64: .4byte 0x0200B0C0 _08024B68: .4byte 0x00004E20 _08024B6C: .4byte 0x000005A9 _08024B70: - ldr r2, _08024BA8 @ =0x086A3700 - movs r1, #0xb3 - lsls r1, r1, #3 - adds r0, r5, r1 - ldrh r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r2 - ldrb r0, [r0, #0x13] - cmp r0, #0 - beq _08024BB4 - ldr r0, _08024BAC @ =0x086AD788 - mov r2, sl - lsrs r4, r2, #0x1d - lsls r4, r4, #1 - adds r4, r4, r0 - ldr r3, _08024BB0 @ =0x0200B0C0 - ldr r0, [r3, #0x4c] - movs r1, #0x18 - bl __umodsi3 - lsrs r0, r0, #3 - ldrh r4, [r4] - adds r0, r0, r4 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - b _08024BDA - .align 2, 0 + ldr r2, _08024BA8 @ =0x086A3700 + movs r1, #0xb3 + lsls r1, r1, #3 + adds r0, r5, r1 + ldrh r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r2 + ldrb r0, [r0, #0x13] + cmp r0, #0 + beq _08024BB4 + ldr r0, _08024BAC @ =0x086AD788 + mov r2, sl + lsrs r4, r2, #0x1d + lsls r4, r4, #1 + adds r4, r4, r0 + ldr r3, _08024BB0 @ =0x0200B0C0 + ldr r0, [r3, #0x4c] + movs r1, #0x18 + bl __umodsi3 + lsrs r0, r0, #3 + ldrh r4, [r4] + adds r0, r0, r4 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + b _08024BDA + .align 2, 0 _08024BA8: .4byte 0x086A3700 _08024BAC: .4byte 0x086AD788 _08024BB0: .4byte 0x0200B0C0 _08024BB4: - ldr r0, _08024C1C @ =0x086AD788 - mov r4, sl - lsrs r2, r4, #0x1d - lsls r2, r2, #1 - adds r2, r2, r0 - ldr r5, _08024C20 @ =0x0200B0C0 - ldr r0, [r5, #0x4c] - movs r1, #0x1f - ands r0, r1 - lsrs r4, r0, #3 - ldrh r2, [r2] - adds r4, r4, r2 - movs r1, #0x18 - bl __udivsi3 - lsls r0, r0, #1 - subs r4, r4, r0 - lsls r4, r4, #0x10 - lsrs r5, r4, #0x10 + ldr r0, _08024C1C @ =0x086AD788 + mov r4, sl + lsrs r2, r4, #0x1d + lsls r2, r2, #1 + adds r2, r2, r0 + ldr r5, _08024C20 @ =0x0200B0C0 + ldr r0, [r5, #0x4c] + movs r1, #0x1f + ands r0, r1 + lsrs r4, r0, #3 + ldrh r2, [r2] + adds r4, r4, r2 + movs r1, #0x18 + bl __udivsi3 + lsls r0, r0, #1 + subs r4, r4, r0 + lsls r4, r4, #0x10 + lsrs r5, r4, #0x10 _08024BDA: - ldr r0, _08024C24 @ =0x020314E0 - ldr r2, [r0] - movs r0, #0xfe - lsls r0, r0, #1 - adds r1, r2, r0 - ldr r0, [r1] - ldr r3, [sp] - adds r0, r0, r3 - str r0, [r1] - movs r4, #0x80 - lsls r4, r4, #2 - adds r1, r2, r4 - ldr r0, [r1] - ldr r2, [sp, #4] - adds r0, r0, r2 - str r0, [r1] + ldr r0, _08024C24 @ =0x020314E0 + ldr r2, [r0] + movs r0, #0xfe + lsls r0, r0, #1 + adds r1, r2, r0 + ldr r0, [r1] + ldr r3, [sp] + adds r0, r0, r3 + str r0, [r1] + movs r4, #0x80 + lsls r4, r4, #2 + adds r1, r2, r4 + ldr r0, [r1] + ldr r2, [sp, #4] + adds r0, r0, r2 + str r0, [r1] _08024BFA: - ldr r0, _08024C28 @ =0x000009C3 - ldr r3, [sp, #8] - cmp r3, r0 - bgt _08024C40 - ldr r4, _08024C24 @ =0x020314E0 - ldr r0, [r4] - movs r2, #0x81 - lsls r2, r2, #2 - adds r1, r0, r2 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x1b - bgt _08024C2C - adds r0, r2, #1 - strb r0, [r1] - b _08024C40 - .align 2, 0 + ldr r0, _08024C28 @ =0x000009C3 + ldr r3, [sp, #8] + cmp r3, r0 + bgt _08024C40 + ldr r4, _08024C24 @ =0x020314E0 + ldr r0, [r4] + movs r2, #0x81 + lsls r2, r2, #2 + adds r1, r0, r2 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x1b + bgt _08024C2C + adds r0, r2, #1 + strb r0, [r1] + b _08024C40 + .align 2, 0 _08024C1C: .4byte 0x086AD788 _08024C20: .4byte 0x0200B0C0 _08024C24: .4byte 0x020314E0 _08024C28: .4byte 0x000009C3 _08024C2C: - bl m4aMPlayAllStop - movs r0, #0xd - bl m4aSongNumStart - ldr r0, [r4] - movs r1, #0xc8 - strh r1, [r0, #0x18] - movs r1, #6 - strb r1, [r0, #0x17] + bl m4aMPlayAllStop + movs r0, #0xd + bl m4aSongNumStart + ldr r0, [r4] + movs r1, #0xc8 + strh r1, [r0, #0x18] + movs r1, #6 + strb r1, [r0, #0x17] _08024C40: - ldr r0, _08024C68 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _08024C70 - ldr r0, _08024C6C @ =0x020314E0 - ldr r1, [r0] - movs r3, #0x81 - lsls r3, r3, #2 - adds r1, r1, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - movs r4, #1 - mov sl, r4 - cmp r1, #0x1a - ble _08024CA0 - movs r0, #2 - mov sl, r0 - b _08024CA0 - .align 2, 0 + ldr r0, _08024C68 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #0 + bne _08024C70 + ldr r0, _08024C6C @ =0x020314E0 + ldr r1, [r0] + movs r3, #0x81 + lsls r3, r3, #2 + adds r1, r1, r3 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + movs r4, #1 + mov sl, r4 + cmp r1, #0x1a + ble _08024CA0 + movs r0, #2 + mov sl, r0 + b _08024CA0 + .align 2, 0 _08024C68: .4byte 0x0200B0C0 _08024C6C: .4byte 0x020314E0 _08024C70: - ldr r0, _08024C94 @ =0x020314E0 - ldr r3, [r0] - movs r2, #0x81 - lsls r2, r2, #2 - adds r1, r3, r2 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - cmp r1, #0x1b - ble _08024C9C - movs r4, #3 - mov sl, r4 - ldr r0, _08024C98 @ =0x00000367 - adds r1, r3, r0 - movs r0, #1 - strb r0, [r1] - b _08024CA0 - .align 2, 0 + ldr r0, _08024C94 @ =0x020314E0 + ldr r3, [r0] + movs r2, #0x81 + lsls r2, r2, #2 + adds r1, r3, r2 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + cmp r1, #0x1b + ble _08024C9C + movs r4, #3 + mov sl, r4 + ldr r0, _08024C98 @ =0x00000367 + adds r1, r3, r0 + movs r0, #1 + strb r0, [r1] + b _08024CA0 + .align 2, 0 _08024C94: .4byte 0x020314E0 _08024C98: .4byte 0x00000367 _08024C9C: - movs r1, #1 - mov sl, r1 + movs r1, #1 + mov sl, r1 _08024CA0: - ldr r2, _08024CE8 @ =0x020314E0 - ldr r4, [r2] - movs r3, #0xfe - lsls r3, r3, #1 - adds r0, r4, r3 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - mov r1, sb - strh r0, [r1, #2] - movs r2, #0x80 - lsls r2, r2, #2 - adds r0, r4, r2 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x5a - ldrh r1, [r1] - subs r0, r0, r1 - mov r3, sb - strh r0, [r3, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb4 - ble _08024CEC - movs r0, #0xb4 - strh r0, [r3, #4] - b _08024CF8 - .align 2, 0 + ldr r2, _08024CE8 @ =0x020314E0 + ldr r4, [r2] + movs r3, #0xfe + lsls r3, r3, #1 + adds r0, r4, r3 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + mov r1, sb + strh r0, [r1, #2] + movs r2, #0x80 + lsls r2, r2, #2 + adds r0, r4, r2 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x5a + ldrh r1, [r1] + subs r0, r0, r1 + mov r3, sb + strh r0, [r3, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb4 + ble _08024CEC + movs r0, #0xb4 + strh r0, [r3, #4] + b _08024CF8 + .align 2, 0 _08024CE8: .4byte 0x020314E0 _08024CEC: - movs r1, #0x1e - rsbs r1, r1, #0 - cmp r0, r1 - bge _08024CF8 - mov r4, sb - strh r1, [r4, #4] + movs r1, #0x1e + rsbs r1, r1, #0 + cmp r0, r1 + bge _08024CF8 + mov r4, sb + strh r1, [r4, #4] _08024CF8: - ldr r2, _08024DA0 @ =0x040000D4 - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #5 - ldr r1, _08024DA4 @ =0x0202C7A0 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08024DA8 @ =0x060112A0 - str r0, [r2, #4] - ldr r0, _08024DAC @ =0x80000090 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r2, #0 - ldr r5, _08024DB0 @ =0x03005000 - mov r8, r5 - mov r0, sl - lsls r0, r0, #2 - mov sl, r0 - ldr r1, _08024DB4 @ =0xFFFFFE00 - mov ip, r1 + ldr r2, _08024DA0 @ =0x040000D4 + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #5 + ldr r1, _08024DA4 @ =0x0202C7A0 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08024DA8 @ =0x060112A0 + str r0, [r2, #4] + ldr r0, _08024DAC @ =0x80000090 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r2, #0 + ldr r5, _08024DB0 @ =0x03005000 + mov r8, r5 + mov r0, sl + lsls r0, r0, #2 + mov sl, r0 + ldr r1, _08024DB4 @ =0xFFFFFE00 + mov ip, r1 _08024D24: - lsls r4, r2, #0x10 - asrs r4, r4, #0x10 - lsls r0, r4, #3 - adds r0, #8 - mov r2, sb - adds r5, r2, r0 - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, r8 - ldrb r2, [r1, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 - mov r3, sl - orrs r0, r3 - strb r0, [r1, #5] - ldrh r3, [r5] - lsls r3, r3, #3 - add r3, r8 - movs r1, #2 - ldrsh r0, [r5, r1] - str r0, [sp, #0xc] - mov r2, sb - movs r1, #2 - ldrsh r0, [r2, r1] - ldr r2, [sp, #0xc] - adds r1, r2, r0 - ldr r2, _08024DB8 @ =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 - add r1, r8 - mov r3, sb - ldrb r0, [r3, #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, #3 - ble _08024D24 - ldr r4, _08024DBC @ =0x020314E0 - ldr r4, [r4] - mov r8, r4 - ldr r5, _08024DC0 @ =0x000005AA - mov sl, r5 - mov r1, r8 - add r1, sl - ldrh r0, [r1] - cmp r0, #0 - beq _08024DC4 - subs r0, #1 - strh r0, [r1] - b _080252F6 - .align 2, 0 + lsls r4, r2, #0x10 + asrs r4, r4, #0x10 + lsls r0, r4, #3 + adds r0, #8 + mov r2, sb + adds r5, r2, r0 + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, r8 + ldrb r2, [r1, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r2 + mov r3, sl + orrs r0, r3 + strb r0, [r1, #5] + ldrh r3, [r5] + lsls r3, r3, #3 + add r3, r8 + movs r1, #2 + ldrsh r0, [r5, r1] + str r0, [sp, #0xc] + mov r2, sb + movs r1, #2 + ldrsh r0, [r2, r1] + ldr r2, [sp, #0xc] + adds r1, r2, r0 + ldr r2, _08024DB8 @ =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 + add r1, r8 + mov r3, sb + ldrb r0, [r3, #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, #3 + ble _08024D24 + ldr r4, _08024DBC @ =0x020314E0 + ldr r4, [r4] + mov r8, r4 + ldr r5, _08024DC0 @ =0x000005AA + mov sl, r5 + mov r1, r8 + add r1, sl + ldrh r0, [r1] + cmp r0, #0 + beq _08024DC4 + subs r0, #1 + strh r0, [r1] + b _080252F6 + .align 2, 0 _08024DA0: .4byte 0x040000D4 _08024DA4: .4byte 0x0202C7A0 _08024DA8: .4byte 0x060112A0 @@ -72794,351 +72794,351 @@ _08024DB8: .4byte 0x000001FF _08024DBC: .4byte 0x020314E0 _08024DC0: .4byte 0x000005AA _08024DC4: - ldr r0, _08024EA0 @ =0x0000132C - mov sb, r0 - mov r0, r8 - add r0, sb - ldr r5, [r0] - movs r1, #0x10 - ldrsh r4, [r5, r1] - subs r4, #0xc - movs r0, #0xfe - lsls r0, r0, #1 - add r0, r8 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - subs r6, r4, r0 - movs r2, #0x12 - ldrsh r4, [r5, r2] - subs r4, #0xe - movs r0, #0x80 - lsls r0, r0, #2 - add r0, r8 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - subs r7, r4, r0 - adds r1, r6, #0 - muls r1, r6, r1 - adds r0, r7, #0 - muls r0, r7, r0 - adds r1, r1, r0 - cmp r1, #0x51 - ble _08024E0A - b _080252F6 + ldr r0, _08024EA0 @ =0x0000132C + mov sb, r0 + mov r0, r8 + add r0, sb + ldr r5, [r0] + movs r1, #0x10 + ldrsh r4, [r5, r1] + subs r4, #0xc + movs r0, #0xfe + lsls r0, r0, #1 + add r0, r8 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + subs r6, r4, r0 + movs r2, #0x12 + ldrsh r4, [r5, r2] + subs r4, #0xe + movs r0, #0x80 + lsls r0, r0, #2 + add r0, r8 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + subs r7, r4, r0 + adds r1, r6, #0 + muls r1, r6, r1 + adds r0, r7, #0 + muls r0, r7, r0 + adds r1, r1, r0 + cmp r1, #0x51 + ble _08024E0A + b _080252F6 _08024E0A: - ldr r4, _08024EA4 @ =0x000005A5 - mov r3, r8 - adds r1, r3, r4 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r5, _08024EA8 @ =0x020314E0 - ldr r1, [r5] - mov r6, sl - adds r2, r1, r6 - movs r0, #4 - strh r0, [r2] - ldr r7, _08024EAC @ =0x000005A9 - adds r1, r1, r7 - movs r0, #0x14 - strb r0, [r1] - ldr r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, #1 - bls _08024E38 - movs r0, #4 - strb r0, [r1, #0x17] + ldr r4, _08024EA4 @ =0x000005A5 + mov r3, r8 + adds r1, r3, r4 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r5, _08024EA8 @ =0x020314E0 + ldr r1, [r5] + mov r6, sl + adds r2, r1, r6 + movs r0, #4 + strh r0, [r2] + ldr r7, _08024EAC @ =0x000005A9 + adds r1, r1, r7 + movs r0, #0x14 + strb r0, [r1] + ldr r1, [r5] + adds r0, r1, r4 + ldrb r0, [r0] + cmp r0, #1 + bls _08024E38 + movs r0, #4 + strb r0, [r1, #0x17] _08024E38: - movs r0, #0x75 - bl m4aSongNumStart - ldr r1, _08024EA8 @ =0x020314E0 - ldr r0, [r1] - add r0, sb - ldr r1, [r0] - ldrh r0, [r1, #0x30] - rsbs r0, r0, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r2, #0x32 - ldrsh r1, [r1, r2] - bl ArcTan2 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - ldr r3, _08024EA8 @ =0x020314E0 - ldr r0, [r3] - adds r0, r0, r4 - ldrb r0, [r0] - cmp r0, #1 - bls _08024EB0 - adds r0, r5, #0 - bl sub_C74 - ldr r4, _08024EA8 @ =0x020314E0 - ldr r1, [r4] - add r1, sb - ldr r4, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x32 - bl __divsi3 - strh r0, [r4, #0x30] - adds r0, r5, #0 - bl sub_C24 - adds r1, r0, #0 - ldr r5, _08024EA8 @ =0x020314E0 - ldr r0, [r5] - add r0, sb - ldr r4, [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 - b _08024EE2 - .align 2, 0 + movs r0, #0x75 + bl m4aSongNumStart + ldr r1, _08024EA8 @ =0x020314E0 + ldr r0, [r1] + add r0, sb + ldr r1, [r0] + ldrh r0, [r1, #0x30] + rsbs r0, r0, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r2, #0x32 + ldrsh r1, [r1, r2] + bl ArcTan2 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + ldr r3, _08024EA8 @ =0x020314E0 + ldr r0, [r3] + adds r0, r0, r4 + ldrb r0, [r0] + cmp r0, #1 + bls _08024EB0 + adds r0, r5, #0 + bl sub_C74 + ldr r4, _08024EA8 @ =0x020314E0 + ldr r1, [r4] + add r1, sb + ldr r4, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0x32 + bl __divsi3 + strh r0, [r4, #0x30] + adds r0, r5, #0 + bl sub_C24 + adds r1, r0, #0 + ldr r5, _08024EA8 @ =0x020314E0 + ldr r0, [r5] + add r0, sb + ldr r4, [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 + b _08024EE2 + .align 2, 0 _08024EA0: .4byte 0x0000132C _08024EA4: .4byte 0x000005A5 _08024EA8: .4byte 0x020314E0 _08024EAC: .4byte 0x000005A9 _08024EB0: - adds r0, r5, #0 - bl sub_C74 - ldr r6, _08024EF4 @ =0x020314E0 - ldr r1, [r6] - add r1, sb - ldr r4, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x7d - bl __divsi3 - strh r0, [r4, #0x30] - adds r0, r5, #0 - bl sub_C24 - adds r1, r0, #0 - ldr r0, [r6] - add r0, sb - ldr r4, [r0] - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #5 + adds r0, r5, #0 + bl sub_C74 + ldr r6, _08024EF4 @ =0x020314E0 + ldr r1, [r6] + add r1, sb + ldr r4, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0x7d + bl __divsi3 + strh r0, [r4, #0x30] + adds r0, r5, #0 + bl sub_C24 + adds r1, r0, #0 + ldr r0, [r6] + add r0, sb + ldr r4, [r0] + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #5 _08024EE2: - rsbs r0, r0, #0 - ldr r1, _08024EF8 @ =0x00004E20 - bl __divsi3 - strh r0, [r4, #0x32] - movs r0, #7 - bl sub_11B0 - b _080252F6 - .align 2, 0 + rsbs r0, r0, #0 + ldr r1, _08024EF8 @ =0x00004E20 + bl __divsi3 + strh r0, [r4, #0x32] + movs r0, #7 + bl sub_11B0 + b _080252F6 + .align 2, 0 _08024EF4: .4byte 0x020314E0 _08024EF8: .4byte 0x00004E20 _08024EFC: - ldr r7, _0802508C @ =0x020314E0 - ldr r0, [r7] - adds r0, #0xe4 - movs r5, #0 - movs r1, #9 - strb r1, [r0] - ldr r1, _08025090 @ =0x040000D4 - ldr r0, _08025094 @ =0x086ACF80 - str r0, [r1] - ldr r0, _08025098 @ =0x050003E0 - str r0, [r1, #4] - ldr r0, _0802509C @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _080250A0 @ =0x081428D4 - str r0, [r1] - ldr r0, _080250A4 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _080250A8 @ =0x80000E00 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, [r7] - ldr r2, _080250AC @ =0x000005F6 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #9 - ldr r4, _080250B0 @ =0x08138014 - adds r0, r0, r4 - str r0, [r1] - ldr r0, _080250B4 @ =0x060164C0 - str r0, [r1, #4] - ldr r3, _080250B8 @ =0x80000040 - str r3, [r1, #8] - ldr r0, [r1, #8] - ldr r0, [r7] - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #3 - adds r0, #4 - lsls r0, r0, #6 - adds r0, r0, r4 - str r0, [r1] - ldr r0, _080250BC @ =0x06016760 - str r0, [r1, #4] - str r3, [r1, #8] - ldr r0, [r1, #8] - ldr r0, [r7] - subs r2, #0x50 - adds r1, r0, r2 - strh r5, [r1] - ldr r3, _080250C0 @ =0x000005A4 - adds r0, r0, r3 - movs r1, #2 - strb r1, [r0] - ldr r4, [r7] - movs r5, #0xfe - lsls r5, r5, #1 - adds r0, r4, r5 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - adds r0, #8 - movs r6, #0xa2 - lsls r6, r6, #2 - adds r1, r4, r6 - strh r0, [r1] - movs r7, #0x80 - lsls r7, r7, #2 - adds r0, r4, r7 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - subs r0, #0x1f - ldr r2, _080250C4 @ =0x0000028A - adds r1, r4, r2 - strh r0, [r1] - movs r2, #0 - ldr r5, _0802508C @ =0x020314E0 - ldr r4, _080250C8 @ =0x000006D3 - movs r3, #0xd + ldr r7, _0802508C @ =0x020314E0 + ldr r0, [r7] + adds r0, #0xe4 + movs r5, #0 + movs r1, #9 + strb r1, [r0] + ldr r1, _08025090 @ =0x040000D4 + ldr r0, _08025094 @ =0x086ACF80 + str r0, [r1] + ldr r0, _08025098 @ =0x050003E0 + str r0, [r1, #4] + ldr r0, _0802509C @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _080250A0 @ =0x081428D4 + str r0, [r1] + ldr r0, _080250A4 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _080250A8 @ =0x80000E00 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, [r7] + ldr r2, _080250AC @ =0x000005F6 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #9 + ldr r4, _080250B0 @ =0x08138014 + adds r0, r0, r4 + str r0, [r1] + ldr r0, _080250B4 @ =0x060164C0 + str r0, [r1, #4] + ldr r3, _080250B8 @ =0x80000040 + str r3, [r1, #8] + ldr r0, [r1, #8] + ldr r0, [r7] + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #3 + adds r0, #4 + lsls r0, r0, #6 + adds r0, r0, r4 + str r0, [r1] + ldr r0, _080250BC @ =0x06016760 + str r0, [r1, #4] + str r3, [r1, #8] + ldr r0, [r1, #8] + ldr r0, [r7] + subs r2, #0x50 + adds r1, r0, r2 + strh r5, [r1] + ldr r3, _080250C0 @ =0x000005A4 + adds r0, r0, r3 + movs r1, #2 + strb r1, [r0] + ldr r4, [r7] + movs r5, #0xfe + lsls r5, r5, #1 + adds r0, r4, r5 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + adds r0, #8 + movs r6, #0xa2 + lsls r6, r6, #2 + adds r1, r4, r6 + strh r0, [r1] + movs r7, #0x80 + lsls r7, r7, #2 + adds r0, r4, r7 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + subs r0, #0x1f + ldr r2, _080250C4 @ =0x0000028A + adds r1, r4, r2 + strh r0, [r1] + movs r2, #0 + ldr r5, _0802508C @ =0x020314E0 + ldr r4, _080250C8 @ =0x000006D3 + movs r3, #0xd _08024FA8: - 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, #5 - ble _08024FA8 - ldr r3, _0802508C @ =0x020314E0 - ldr r1, [r3] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - ldr r4, [r3] - movs r5, #0xfe - lsls r5, r5, #1 - adds r0, r4, r5 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - mov r6, sb - strh r0, [r6, #2] - movs r7, #0x80 - lsls r7, r7, #2 - adds r0, r4, r7 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x5a - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r6, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb4 - ble _0802500A - movs r0, #0xb4 - strh r0, [r6, #4] + 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, #5 + ble _08024FA8 + ldr r3, _0802508C @ =0x020314E0 + ldr r1, [r3] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + ldr r4, [r3] + movs r5, #0xfe + lsls r5, r5, #1 + adds r0, r4, r5 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + mov r6, sb + strh r0, [r6, #2] + movs r7, #0x80 + lsls r7, r7, #2 + adds r0, r4, r7 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x5a + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r6, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb4 + ble _0802500A + movs r0, #0xb4 + strh r0, [r6, #4] _0802500A: - ldr r1, _08025090 @ =0x040000D4 - ldr r0, _080250CC @ =0x0202D760 - str r0, [r1] - ldr r0, _080250D0 @ =0x060112A0 - str r0, [r1, #4] - ldr r0, _080250D4 @ =0x80000090 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r2, #0 - ldr r6, _080250D8 @ =0x03005000 - movs r1, #0xd - rsbs r1, r1, #0 - mov r8, r1 - ldr r3, _080250DC @ =0xFFFFFE00 - mov sl, r3 + ldr r1, _08025090 @ =0x040000D4 + ldr r0, _080250CC @ =0x0202D760 + str r0, [r1] + ldr r0, _080250D0 @ =0x060112A0 + str r0, [r1, #4] + ldr r0, _080250D4 @ =0x80000090 + str r0, [r1, #8] + ldr r0, [r1, #8] + movs r2, #0 + ldr r6, _080250D8 @ =0x03005000 + movs r1, #0xd + rsbs r1, r1, #0 + mov r8, r1 + ldr r3, _080250DC @ =0xFFFFFE00 + mov sl, r3 _08025028: - lsls r4, r2, #0x10 - asrs r4, r4, #0x10 - lsls r0, r4, #3 - adds r0, #8 - mov r7, sb - adds r5, r7, r0 - ldrh r2, [r5] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrb r1, [r2, #5] - mov r0, r8 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2, #5] - 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 r7, _080250E0 @ =0x000001FF - adds r0, r7, #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, r6 - mov r2, sb - ldrb r0, [r2, #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, #3 - ble _08025028 - ldr r3, _0802508C @ =0x020314E0 - ldr r1, [r3] - movs r0, #0 - strh r0, [r1, #0x18] - b _080252F6 - .align 2, 0 + lsls r4, r2, #0x10 + asrs r4, r4, #0x10 + lsls r0, r4, #3 + adds r0, #8 + mov r7, sb + adds r5, r7, r0 + ldrh r2, [r5] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrb r1, [r2, #5] + mov r0, r8 + ands r0, r1 + movs r1, #8 + orrs r0, r1 + strb r0, [r2, #5] + 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 r7, _080250E0 @ =0x000001FF + adds r0, r7, #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, r6 + mov r2, sb + ldrb r0, [r2, #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, #3 + ble _08025028 + ldr r3, _0802508C @ =0x020314E0 + ldr r1, [r3] + movs r0, #0 + strh r0, [r1, #0x18] + b _080252F6 + .align 2, 0 _0802508C: .4byte 0x020314E0 _08025090: .4byte 0x040000D4 _08025094: .4byte 0x086ACF80 @@ -73162,136 +73162,136 @@ _080250D8: .4byte 0x03005000 _080250DC: .4byte 0xFFFFFE00 _080250E0: .4byte 0x000001FF _080250E4: - ldr r5, _080251E4 @ =0x020314E0 - ldr r4, [r5] - movs r6, #0xb5 - lsls r6, r6, #3 - adds r0, r4, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r7, #0 - mov sl, r7 - cmp r0, #0x10 - bgt _08025100 - movs r0, #2 - mov sl, r0 + ldr r5, _080251E4 @ =0x020314E0 + ldr r4, [r5] + movs r6, #0xb5 + lsls r6, r6, #3 + adds r0, r4, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + movs r7, #0 + mov sl, r7 + cmp r0, #0x10 + bgt _08025100 + movs r0, #2 + mov sl, r0 _08025100: - mov r1, sb - ldrh r0, [r1] - cmp r0, #0 - bne _0802510A - b _080252F6 + mov r1, sb + ldrh r0, [r1] + cmp r0, #0 + bne _0802510A + b _080252F6 _0802510A: - movs r2, #0xfe - lsls r2, r2, #1 - adds r0, r4, r2 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - mov r3, sb - strh r0, [r3, #2] - movs r5, #0x80 - lsls r5, r5, #2 - adds r0, r4, r5 - ldr r0, [r0] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x5a - ldrh r1, [r1] - subs r0, r0, r1 - mov r6, sb - strh r0, [r6, #4] - movs r2, #0 - ldr r6, _080251E8 @ =0x03005000 - mov r7, sl - lsls r7, r7, #2 - mov ip, r7 - movs r0, #0xd - rsbs r0, r0, #0 - mov sl, r0 - ldr r1, _080251EC @ =0xFFFFFE00 - mov r8, r1 + movs r2, #0xfe + lsls r2, r2, #1 + adds r0, r4, r2 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + mov r3, sb + strh r0, [r3, #2] + movs r5, #0x80 + lsls r5, r5, #2 + adds r0, r4, r5 + ldr r0, [r0] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x5a + ldrh r1, [r1] + subs r0, r0, r1 + mov r6, sb + strh r0, [r6, #4] + movs r2, #0 + ldr r6, _080251E8 @ =0x03005000 + mov r7, sl + lsls r7, r7, #2 + mov ip, r7 + movs r0, #0xd + rsbs r0, r0, #0 + mov sl, r0 + ldr r1, _080251EC @ =0xFFFFFE00 + mov r8, r1 _08025152: - lsls r4, r2, #0x10 - asrs r4, r4, #0x10 - lsls r0, r4, #3 - adds r0, #8 - mov r2, sb - adds r5, r2, r0 - ldrh r1, [r5] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #5] - mov r0, sl - ands r0, r2 - mov r3, ip - orrs r0, r3 - strb r0, [r1, #5] - ldrh r3, [r5] - lsls r3, r3, #3 - adds r3, r3, r6 - movs r7, #2 - ldrsh r1, [r5, r7] - mov r2, sb - movs r7, #2 - ldrsh r0, [r2, r7] - adds r1, r1, r0 - ldr r2, _080251F0 @ =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 - mov r3, sb - ldrb r0, [r3, #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, #3 - ble _08025152 - ldr r1, _080251F4 @ =0x040000D4 - ldr r4, _080251F8 @ =0x0202D760 - str r4, [r1] - ldr r0, _080251FC @ =0x060112A0 - str r0, [r1, #4] - ldr r0, _08025200 @ =0x80000090 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r5, _080251E4 @ =0x020314E0 - ldr r0, [r5] - movs r6, #0xb5 - lsls r6, r6, #3 - adds r0, r0, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x17 - beq _080251D4 - b _080252F6 + lsls r4, r2, #0x10 + asrs r4, r4, #0x10 + lsls r0, r4, #3 + adds r0, #8 + mov r2, sb + adds r5, r2, r0 + ldrh r1, [r5] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #5] + mov r0, sl + ands r0, r2 + mov r3, ip + orrs r0, r3 + strb r0, [r1, #5] + ldrh r3, [r5] + lsls r3, r3, #3 + adds r3, r3, r6 + movs r7, #2 + ldrsh r1, [r5, r7] + mov r2, sb + movs r7, #2 + ldrsh r0, [r2, r7] + adds r1, r1, r0 + ldr r2, _080251F0 @ =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 + mov r3, sb + ldrb r0, [r3, #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, #3 + ble _08025152 + ldr r1, _080251F4 @ =0x040000D4 + ldr r4, _080251F8 @ =0x0202D760 + str r4, [r1] + ldr r0, _080251FC @ =0x060112A0 + str r0, [r1, #4] + ldr r0, _08025200 @ =0x80000090 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r5, _080251E4 @ =0x020314E0 + ldr r0, [r5] + movs r6, #0xb5 + lsls r6, r6, #3 + adds r0, r0, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x17 + beq _080251D4 + b _080252F6 _080251D4: - ldr r7, _08025204 @ =0x0200B0C0 - ldr r0, [r7, #0x44] - adds r0, #0xa4 - ldr r1, [r0] - movs r0, #0 - strh r0, [r1] - b _080252F6 - .align 2, 0 + ldr r7, _08025204 @ =0x0200B0C0 + ldr r0, [r7, #0x44] + adds r0, #0xa4 + ldr r1, [r0] + movs r0, #0 + strh r0, [r1] + b _080252F6 + .align 2, 0 _080251E4: .4byte 0x020314E0 _080251E8: .4byte 0x03005000 _080251EC: .4byte 0xFFFFFE00 @@ -73302,336 +73302,336 @@ _080251FC: .4byte 0x060112A0 _08025200: .4byte 0x80000090 _08025204: .4byte 0x0200B0C0 _08025208: - mov r1, sb - ldrh r0, [r1] - cmp r0, #0 - beq _08025268 - movs r0, #0 - strh r0, [r1, #2] - movs r0, #0xc8 - strh r0, [r1, #4] - movs r2, #0 - ldr r6, _08025280 @ =0x03005000 - ldr r3, _08025284 @ =0xFFFFFE00 - mov r8, r3 + mov r1, sb + ldrh r0, [r1] + cmp r0, #0 + beq _08025268 + movs r0, #0 + strh r0, [r1, #2] + movs r0, #0xc8 + strh r0, [r1, #4] + movs r2, #0 + ldr r6, _08025280 @ =0x03005000 + ldr r3, _08025284 @ =0xFFFFFE00 + mov r8, r3 _08025220: - lsls r4, r2, #0x10 - asrs r4, r4, #0x10 - lsls r0, r4, #3 - adds r0, #8 - mov r7, sb - 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 r7, _08025288 @ =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, [r5] - lsls r1, r1, #3 - adds r1, r1, r6 - mov r2, sb - ldrb r0, [r2, #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, #3 - ble _08025220 + lsls r4, r2, #0x10 + asrs r4, r4, #0x10 + lsls r0, r4, #3 + adds r0, #8 + mov r7, sb + 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 r7, _08025288 @ =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, [r5] + lsls r1, r1, #3 + adds r1, r1, r6 + mov r2, sb + ldrb r0, [r2, #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, #3 + ble _08025220 _08025268: - ldr r3, _0802528C @ =0x0200B0C0 - ldr r0, [r3, #0x44] - adds r0, #0xa4 - ldr r1, [r0] - movs r0, #0 - strh r0, [r1] - ldr r4, _08025290 @ =0x020314E0 - ldr r1, [r4] - ldrb r0, [r1, #0x17] - adds r0, #1 - b _080252F4 - .align 2, 0 + ldr r3, _0802528C @ =0x0200B0C0 + ldr r0, [r3, #0x44] + adds r0, #0xa4 + ldr r1, [r0] + movs r0, #0 + strh r0, [r1] + ldr r4, _08025290 @ =0x020314E0 + ldr r1, [r4] + ldrb r0, [r1, #0x17] + adds r0, #1 + b _080252F4 + .align 2, 0 _08025280: .4byte 0x03005000 _08025284: .4byte 0xFFFFFE00 _08025288: .4byte 0x000001FF _0802528C: .4byte 0x0200B0C0 _08025290: .4byte 0x020314E0 _08025294: - bl sub_242B4 - ldr r2, _080252B0 @ =0x020314E0 - ldr r1, [r2] - ldrb r0, [r1, #0x17] - adds r0, #1 - movs r3, #0 - strb r0, [r1, #0x17] - ldr r0, [r2] - ldr r5, _080252B4 @ =0x00000367 - adds r0, r0, r5 - strb r3, [r0] - b _080252F6 - .align 2, 0 + bl sub_242B4 + ldr r2, _080252B0 @ =0x020314E0 + ldr r1, [r2] + ldrb r0, [r1, #0x17] + adds r0, #1 + movs r3, #0 + strb r0, [r1, #0x17] + ldr r0, [r2] + ldr r5, _080252B4 @ =0x00000367 + adds r0, r0, r5 + strb r3, [r0] + b _080252F6 + .align 2, 0 _080252B0: .4byte 0x020314E0 _080252B4: .4byte 0x00000367 _080252B8: - ldr r6, _080252C8 @ =0x020314E0 - ldr r1, [r6] - ldrh r0, [r1, #0x18] - cmp r0, #0 - beq _080252CC - subs r0, #1 - strh r0, [r1, #0x18] - b _080252F6 - .align 2, 0 + ldr r6, _080252C8 @ =0x020314E0 + ldr r1, [r6] + ldrh r0, [r1, #0x18] + cmp r0, #0 + beq _080252CC + subs r0, #1 + strh r0, [r1, #0x18] + b _080252F6 + .align 2, 0 _080252C8: .4byte 0x020314E0 _080252CC: - ldr r7, _080252E4 @ =0x0000071F - adds r0, r1, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _080252E8 - movs r0, #3 - bl sub_19B64 - b _080252EE - .align 2, 0 + ldr r7, _080252E4 @ =0x0000071F + adds r0, r1, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _080252E8 + movs r0, #3 + bl sub_19B64 + b _080252EE + .align 2, 0 _080252E4: .4byte 0x0000071F _080252E8: - movs r0, #1 - bl sub_19B64 + movs r0, #1 + bl sub_19B64 _080252EE: - ldr r0, _08025308 @ =0x020314E0 - ldr r1, [r0] - movs r0, #0 + ldr r0, _08025308 @ =0x020314E0 + ldr r1, [r0] + movs r0, #0 _080252F4: - strb r0, [r1, #0x17] + strb r0, [r1, #0x17] _080252F6: - 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 + 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 _08025308: .4byte 0x020314E0 - thumb_func_start sub_2530C + thumb_func_start sub_2530C sub_2530C: @ 0x0802530C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r0, _080253D0 @ =0x0200B0C0 - ldr r1, [r0, #0x44] - ldr r5, [r1, #0x48] - ldrh r1, [r5] - mov r8, r0 - ldr r0, _080253D4 @ =0x020314E0 - mov sb, r0 - cmp r1, #0 - beq _08025360 - movs r0, #0 - ldr r6, _080253D8 @ =0x03005000 - ldr r1, _080253DC @ =0xFFFFFE00 - mov ip, r1 - movs r7, #0xc8 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r0, _080253D0 @ =0x0200B0C0 + ldr r1, [r0, #0x44] + ldr r5, [r1, #0x48] + ldrh r1, [r5] + mov r8, r0 + ldr r0, _080253D4 @ =0x020314E0 + mov sb, r0 + cmp r1, #0 + beq _08025360 + movs r0, #0 + ldr r6, _080253D8 @ =0x03005000 + ldr r1, _080253DC @ =0xFFFFFE00 + mov ip, r1 + movs r7, #0xc8 _08025330: - lsls r2, r0, #0x10 - asrs r2, r2, #0x10 - lsls r0, r2, #3 - adds r0, #8 - adds r4, r5, r0 - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrh r3, [r1, #2] - mov r0, ip - ands r0, r3 - orrs r0, r7 - strh r0, [r1, #2] - ldrh r0, [r4] - lsls r0, r0, #3 - adds r0, r0, r6 - movs r1, #0xb4 - strb r1, [r0] - adds r2, #1 - lsls r2, r2, #0x10 - lsrs r0, r2, #0x10 - asrs r2, r2, #0x10 - cmp r2, #5 - ble _08025330 + lsls r2, r0, #0x10 + asrs r2, r2, #0x10 + lsls r0, r2, #3 + adds r0, #8 + adds r4, r5, r0 + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrh r3, [r1, #2] + mov r0, ip + ands r0, r3 + orrs r0, r7 + strh r0, [r1, #2] + ldrh r0, [r4] + lsls r0, r0, #3 + adds r0, r0, r6 + movs r1, #0xb4 + strb r1, [r0] + adds r2, #1 + lsls r2, r2, #0x10 + lsrs r0, r2, #0x10 + asrs r2, r2, #0x10 + cmp r2, #5 + ble _08025330 _08025360: - mov r1, r8 - ldr r0, [r1, #0x44] - ldr r1, [r0, #0x48] - movs r0, #0 - strh r0, [r1] - mov r1, r8 - ldr r0, [r1, #0x44] - ldr r5, [r0, #0x30] - ldrh r0, [r5] - cmp r0, #0 - beq _080253B0 - movs r0, #0 - ldr r6, _080253D8 @ =0x03005000 - ldr r1, _080253DC @ =0xFFFFFE00 - mov ip, r1 - movs r7, #0xc8 + mov r1, r8 + ldr r0, [r1, #0x44] + ldr r1, [r0, #0x48] + movs r0, #0 + strh r0, [r1] + mov r1, r8 + ldr r0, [r1, #0x44] + ldr r5, [r0, #0x30] + ldrh r0, [r5] + cmp r0, #0 + beq _080253B0 + movs r0, #0 + ldr r6, _080253D8 @ =0x03005000 + ldr r1, _080253DC @ =0xFFFFFE00 + mov ip, r1 + movs r7, #0xc8 _08025380: - lsls r2, r0, #0x10 - asrs r2, r2, #0x10 - lsls r0, r2, #3 - adds r0, #8 - adds r4, r5, r0 - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrh r3, [r1, #2] - mov r0, ip - ands r0, r3 - orrs r0, r7 - strh r0, [r1, #2] - ldrh r0, [r4] - lsls r0, r0, #3 - adds r0, r0, r6 - movs r1, #0xb4 - strb r1, [r0] - adds r2, #1 - lsls r2, r2, #0x10 - lsrs r0, r2, #0x10 - asrs r2, r2, #0x10 - cmp r2, #5 - ble _08025380 + lsls r2, r0, #0x10 + asrs r2, r2, #0x10 + lsls r0, r2, #3 + adds r0, #8 + adds r4, r5, r0 + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrh r3, [r1, #2] + mov r0, ip + ands r0, r3 + orrs r0, r7 + strh r0, [r1, #2] + ldrh r0, [r4] + lsls r0, r0, #3 + adds r0, r0, r6 + movs r1, #0xb4 + strb r1, [r0] + adds r2, #1 + lsls r2, r2, #0x10 + lsrs r0, r2, #0x10 + asrs r2, r2, #0x10 + cmp r2, #5 + ble _08025380 _080253B0: - mov r1, r8 - ldr r0, [r1, #0x44] - ldr r1, [r0, #0x30] - movs r2, #0 - movs r0, #0 - strh r0, [r1] - mov r1, sb - ldr r0, [r1] - adds r0, #0xe4 - strb r2, [r0] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + mov r1, r8 + ldr r0, [r1, #0x44] + ldr r1, [r0, #0x30] + movs r2, #0 + movs r0, #0 + strh r0, [r1] + mov r1, sb + ldr r0, [r1] + adds r0, #0xe4 + strb r2, [r0] + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _080253D0: .4byte 0x0200B0C0 _080253D4: .4byte 0x020314E0 _080253D8: .4byte 0x03005000 _080253DC: .4byte 0xFFFFFE00 - thumb_func_start sub_253E0 + thumb_func_start sub_253E0 sub_253E0: @ 0x080253E0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - movs r0, #1 - mov r8, r0 - ldr r0, _08025490 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r0, [r0, #0x48] - mov r1, r8 - strh r1, [r0] - ldr r4, _08025494 @ =0x020314E0 - ldr r0, [r4] - ldr r5, _08025498 @ =0x000006CC - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _08025410 - bl sub_2971C + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + movs r0, #1 + mov r8, r0 + ldr r0, _08025490 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r0, [r0, #0x48] + mov r1, r8 + strh r1, [r0] + ldr r4, _08025494 @ =0x020314E0 + ldr r0, [r4] + ldr r5, _08025498 @ =0x000006CC + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _08025410 + bl sub_2971C _08025410: - ldr r3, [r4] - ldr r2, _0802549C @ =0x000006C7 - adds r0, r3, r2 - ldr r4, _080254A0 @ =0x000006C6 - adds r1, r3, r4 - movs r2, #0 - ldrsb r2, [r0, r2] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r2, r0 - blt _08025428 - b _0802564C + ldr r3, [r4] + ldr r2, _0802549C @ =0x000006C7 + adds r0, r3, r2 + ldr r4, _080254A0 @ =0x000006C6 + adds r1, r3, r4 + movs r2, #0 + ldrsb r2, [r0, r2] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r2, r0 + blt _08025428 + b _0802564C _08025428: - adds r0, r3, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08025464 - ldr r1, _080254A4 @ =0x000006CA - adds r0, r3, r1 - ldrh r0, [r0] - cmp r0, #0 - bne _08025464 - adds r1, r3, #0 - adds r1, #0xe4 - movs r0, #0xb - strb r0, [r1] - ldr r1, _080254A8 @ =0x040000D4 - ldr r0, _080254AC @ =0x083A05CC - str r0, [r1] - ldr r0, _080254B0 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _080254B4 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _080254B8 @ =0x0839DDAC - str r0, [r1] - ldr r0, _080254BC @ =0x06015800 - str r0, [r1, #4] - ldr r0, _080254C0 @ =0x80001400 - str r0, [r1, #8] - ldr r0, [r1, #8] + adds r0, r3, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08025464 + ldr r1, _080254A4 @ =0x000006CA + adds r0, r3, r1 + ldrh r0, [r0] + cmp r0, #0 + bne _08025464 + adds r1, r3, #0 + adds r1, #0xe4 + movs r0, #0xb + strb r0, [r1] + ldr r1, _080254A8 @ =0x040000D4 + ldr r0, _080254AC @ =0x083A05CC + str r0, [r1] + ldr r0, _080254B0 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _080254B4 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _080254B8 @ =0x0839DDAC + str r0, [r1] + ldr r0, _080254BC @ =0x06015800 + str r0, [r1, #4] + ldr r0, _080254C0 @ =0x80001400 + str r0, [r1, #8] + ldr r0, [r1, #8] _08025464: - ldr r1, _080254C4 @ =0x086AD3FE - ldr r3, _08025494 @ =0x020314E0 - ldr r2, [r3] - ldr r6, _08025498 @ =0x000006CC - adds r4, r2, r6 - movs r0, #0 - ldrsb r0, [r4, r0] - lsls r0, r0, #2 - adds r1, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - ldr r1, _080254A4 @ =0x000006CA - adds r2, r2, r1 - ldrh r1, [r2] - adds r5, r3, #0 - cmp r0, r1 - ble _080254C8 - adds r0, r1, #1 - strh r0, [r2] - b _08025650 - .align 2, 0 + ldr r1, _080254C4 @ =0x086AD3FE + ldr r3, _08025494 @ =0x020314E0 + ldr r2, [r3] + ldr r6, _08025498 @ =0x000006CC + adds r4, r2, r6 + movs r0, #0 + ldrsb r0, [r4, r0] + lsls r0, r0, #2 + adds r1, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + ldr r1, _080254A4 @ =0x000006CA + adds r2, r2, r1 + ldrh r1, [r2] + adds r5, r3, #0 + cmp r0, r1 + ble _080254C8 + adds r0, r1, #1 + strh r0, [r2] + b _08025650 + .align 2, 0 _08025490: .4byte 0x0200B0C0 _08025494: .4byte 0x020314E0 _08025498: .4byte 0x000006CC @@ -73647,116 +73647,116 @@ _080254BC: .4byte 0x06015800 _080254C0: .4byte 0x80001400 _080254C4: .4byte 0x086AD3FE _080254C8: - movs r7, #0 - movs r0, #0 - strh r0, [r2] - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - ldr r3, [r5] - ldr r2, _0802559C @ =0x000006CC - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xc - bgt _080254E6 - b _0802562C + movs r7, #0 + movs r0, #0 + strh r0, [r2] + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] + ldr r3, [r5] + ldr r2, _0802559C @ =0x000006CC + adds r0, r3, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xc + bgt _080254E6 + b _0802562C _080254E6: - subs r2, #5 - adds r1, r3, r2 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, [r5] - adds r0, r0, r6 - strb r7, [r0] - movs r3, #0 - mov r8, r3 - ldr r1, [r5] - ldr r4, _080255A0 @ =0x000006C9 - adds r1, r1, r4 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - ldr r3, [r5] - adds r2, r3, r2 - ldr r1, _080255A4 @ =0x000006C6 - 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 - bne _0802552E - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - blt _0802553A - adds r0, r3, #0 - adds r0, #0xe4 - strb r7, [r0] + subs r2, #5 + adds r1, r3, r2 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r0, [r5] + adds r0, r0, r6 + strb r7, [r0] + movs r3, #0 + mov r8, r3 + ldr r1, [r5] + ldr r4, _080255A0 @ =0x000006C9 + adds r1, r1, r4 + ldrb r0, [r1] + subs r0, #1 + strb r0, [r1] + ldr r3, [r5] + adds r2, r3, r2 + ldr r1, _080255A4 @ =0x000006C6 + 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 + bne _0802552E + adds r0, r3, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + blt _0802553A + adds r0, r3, #0 + adds r0, #0xe4 + strb r7, [r0] _0802552E: - ldr r0, [r5] - adds r1, r0, r4 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bge _080255B4 + ldr r0, [r5] + adds r1, r0, r4 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + bge _080255B4 _0802553A: - ldr r0, [r5] - ldr r2, _080255A4 @ =0x000006C6 - adds r0, r0, r2 - movs r1, #0 - strb r1, [r0] - ldr r0, [r5] - ldr r3, _080255A8 @ =0x000006C7 - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r5] - ldr r4, _080255AC @ =0x00000625 - adds r0, r0, r4 - strb r1, [r0] - movs r2, #0 - ldr r6, _080255B0 @ =0x0200B0C0 - adds r4, r5, #0 - adds r3, #6 + ldr r0, [r5] + ldr r2, _080255A4 @ =0x000006C6 + adds r0, r0, r2 + movs r1, #0 + strb r1, [r0] + ldr r0, [r5] + ldr r3, _080255A8 @ =0x000006C7 + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r5] + ldr r4, _080255AC @ =0x00000625 + adds r0, r0, r4 + strb r1, [r0] + movs r2, #0 + ldr r6, _080255B0 @ =0x0200B0C0 + adds r4, r5, #0 + adds r3, #6 _0802555C: - ldr r1, [r4] - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - adds r1, r1, r3 - adds r1, r1, r0 - strb r2, [r1] - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #5 - ble _0802555C - ldr r0, [r6, #0x4c] - movs r1, #6 - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - ldr r0, [r5] - ldr r1, _080255A0 @ =0x000006C9 - adds r0, r0, r1 - movs r2, #0 - movs r1, #5 - strb r1, [r0] - ldr r1, [r5] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - ldr r0, [r6, #0x44] - ldr r0, [r0, #0x48] - strh r2, [r0] - b _080255CE - .align 2, 0 + ldr r1, [r4] + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + adds r1, r1, r3 + adds r1, r1, r0 + strb r2, [r1] + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #5 + ble _0802555C + ldr r0, [r6, #0x4c] + movs r1, #6 + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + ldr r0, [r5] + ldr r1, _080255A0 @ =0x000006C9 + adds r0, r0, r1 + movs r2, #0 + movs r1, #5 + strb r1, [r0] + ldr r1, [r5] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + ldr r0, [r6, #0x44] + ldr r0, [r0, #0x48] + strh r2, [r0] + b _080255CE + .align 2, 0 _0802559C: .4byte 0x000006CC _080255A0: .4byte 0x000006C9 _080255A4: .4byte 0x000006C6 @@ -73764,290 +73764,290 @@ _080255A8: .4byte 0x000006C7 _080255AC: .4byte 0x00000625 _080255B0: .4byte 0x0200B0C0 _080255B4: - cmp r0, #0 - bne _080255BC - movs r3, #0 - b _080255CE + cmp r0, #0 + bne _080255BC + movs r3, #0 + b _080255CE _080255BC: - ldr r0, _08025620 @ =0x0200B0C0 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - ldr r0, [r0, #0x4c] - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 + ldr r0, _08025620 @ =0x0200B0C0 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + ldr r0, [r0, #0x4c] + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 _080255CE: - ldr r1, [r5] - lsls r3, r3, #0x10 - asrs r2, r3, #0x10 - ldr r7, _08025624 @ =0x000006CD - adds r0, r1, r7 - adds r0, r0, r2 - ldrb r0, [r0] - movs r2, #0xd9 - lsls r2, r2, #3 - adds r1, r1, r2 - strb r0, [r1] - ldr r0, [r5] - ldr r6, _08025628 @ =0x000006C9 - adds r0, r0, r6 - asrs r1, r3, #0x10 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - bge _08025650 - adds r4, r5, #0 - adds r5, r7, #0 + ldr r1, [r5] + lsls r3, r3, #0x10 + asrs r2, r3, #0x10 + ldr r7, _08025624 @ =0x000006CD + adds r0, r1, r7 + adds r0, r0, r2 + ldrb r0, [r0] + movs r2, #0xd9 + lsls r2, r2, #3 + adds r1, r1, r2 + strb r0, [r1] + ldr r0, [r5] + ldr r6, _08025628 @ =0x000006C9 + adds r0, r0, r6 + asrs r1, r3, #0x10 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + bge _08025650 + adds r4, r5, #0 + adds r5, r7, #0 _080255FA: - ldr r0, [r4] - asrs r1, r3, #0x10 - adds r0, r0, r5 - adds r2, r0, r1 - adds r1, #1 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r2] - ldr r0, [r4] - adds r0, r0, r6 - lsls r3, r1, #0x10 - asrs r1, r3, #0x10 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - blt _080255FA - b _08025650 - .align 2, 0 + ldr r0, [r4] + asrs r1, r3, #0x10 + adds r0, r0, r5 + adds r2, r0, r1 + adds r1, #1 + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r2] + ldr r0, [r4] + adds r0, r0, r6 + lsls r3, r1, #0x10 + asrs r1, r3, #0x10 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + blt _080255FA + b _08025650 + .align 2, 0 _08025620: .4byte 0x0200B0C0 _08025624: .4byte 0x000006CD _08025628: .4byte 0x000006C9 _0802562C: - cmp r0, #1 - bne _0802566C - movs r4, #0xd9 - lsls r4, r4, #3 - adds r0, r3, r4 - movs r1, #0 - ldrsb r1, [r0, r1] - ldr r2, _08025648 @ =0x000006D3 - adds r0, r3, r2 - adds r0, r0, r1 - movs r1, #0xd - strb r1, [r0] - b _08025650 - .align 2, 0 + cmp r0, #1 + bne _0802566C + movs r4, #0xd9 + lsls r4, r4, #3 + adds r0, r3, r4 + movs r1, #0 + ldrsb r1, [r0, r1] + ldr r2, _08025648 @ =0x000006D3 + adds r0, r3, r2 + adds r0, r0, r1 + movs r1, #0xd + strb r1, [r0] + b _08025650 + .align 2, 0 _08025648: .4byte 0x000006D3 _0802564C: - movs r3, #0 - mov r8, r3 + movs r3, #0 + mov r8, r3 _08025650: - ldr r0, _080256CC @ =0x020314E0 - ldr r0, [r0] - ldr r4, _080256D0 @ =0x000006CC - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _0802566C - movs r0, #0x8c - bl m4aSongNumStart - bl sub_29664 + ldr r0, _080256CC @ =0x020314E0 + ldr r0, [r0] + ldr r4, _080256D0 @ =0x000006CC + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _0802566C + movs r0, #0x8c + bl m4aSongNumStart + bl sub_29664 _0802566C: - ldr r0, _080256CC @ =0x020314E0 - ldr r5, [r0] - ldr r1, _080256D0 @ =0x000006CC - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xc - bne _08025682 - movs r2, #0 - mov r8, r2 + ldr r0, _080256CC @ =0x020314E0 + ldr r5, [r0] + ldr r1, _080256D0 @ =0x000006CC + adds r0, r5, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xc + bne _08025682 + movs r2, #0 + mov r8, r2 _08025682: - ldr r0, _080256D4 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r7, [r0, #0x48] - mov r3, r8 - cmp r3, #0 - beq _080256DC - movs r0, #0xd9 - lsls r0, r0, #3 - adds r4, r5, r0 - movs r0, #0 - ldrsb r0, [r4, r0] - movs r1, #3 - bl __modsi3 - lsls r0, r0, #0x18 - asrs r0, r0, #0x14 - adds r1, r5, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r1, #0x60 - subs r0, r0, r1 - strh r0, [r7, #2] - movs r0, #0 - ldrsb r0, [r4, r0] - movs r1, #3 - bl __divsi3 - lsls r0, r0, #0x18 - asrs r0, r0, #0x14 - adds r2, r5, #0 - adds r2, #0x5a - ldr r3, _080256D8 @ =0xFFFFFED4 - adds r1, r3, #0 - ldrh r2, [r2] - adds r1, r1, r2 - subs r0, r0, r1 - b _080256DE - .align 2, 0 + ldr r0, _080256D4 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r7, [r0, #0x48] + mov r3, r8 + cmp r3, #0 + beq _080256DC + movs r0, #0xd9 + lsls r0, r0, #3 + adds r4, r5, r0 + movs r0, #0 + ldrsb r0, [r4, r0] + movs r1, #3 + bl __modsi3 + lsls r0, r0, #0x18 + asrs r0, r0, #0x14 + adds r1, r5, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r1, #0x60 + subs r0, r0, r1 + strh r0, [r7, #2] + movs r0, #0 + ldrsb r0, [r4, r0] + movs r1, #3 + bl __divsi3 + lsls r0, r0, #0x18 + asrs r0, r0, #0x14 + adds r2, r5, #0 + adds r2, #0x5a + ldr r3, _080256D8 @ =0xFFFFFED4 + adds r1, r3, #0 + ldrh r2, [r2] + adds r1, r1, r2 + subs r0, r0, r1 + b _080256DE + .align 2, 0 _080256CC: .4byte 0x020314E0 _080256D0: .4byte 0x000006CC _080256D4: .4byte 0x0200B0C0 _080256D8: .4byte 0xFFFFFED4 _080256DC: - movs r0, #0xc8 + movs r0, #0xc8 _080256DE: - strh r0, [r7, #4] - movs r4, #4 - ldrsh r0, [r7, r4] - cmp r0, #0xc7 - ble _080256EC - movs r0, #0xc8 - strh r0, [r7, #4] + strh r0, [r7, #4] + movs r4, #4 + ldrsh r0, [r7, r4] + cmp r0, #0xc7 + ble _080256EC + movs r0, #0xc8 + strh r0, [r7, #4] _080256EC: - movs r2, #0 - ldr r0, _080257EC @ =0x03005000 - mov ip, r0 - ldr r1, _080257F0 @ =0x086AD3FE - mov sl, r1 - ldr r3, _080257F4 @ =0x020314E0 - mov sb, r3 - ldr r4, _080257F8 @ =0x000006CC - mov r8, r4 + movs r2, #0 + ldr r0, _080257EC @ =0x03005000 + mov ip, r0 + ldr r1, _080257F0 @ =0x086AD3FE + mov sl, r1 + ldr r3, _080257F4 @ =0x020314E0 + mov sb, r3 + ldr r4, _080257F8 @ =0x000006CC + mov r8, r4 _080256FE: - lsls r5, r2, #0x10 - asrs r5, r5, #0x10 - lsls r6, r5, #3 - adds r6, #8 - adds r6, r7, r6 - ldrh r4, [r6] - lsls r4, r4, #3 - add r4, ip - lsls r3, r5, #1 - adds r3, r3, r5 - lsls r0, r3, #1 - str r0, [sp] - mov r1, sb - ldr r0, [r1] - add r0, r8 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - add r0, sl - movs r2, #0 - ldrsh r1, [r0, r2] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, [sp] - adds r2, r1, r0 - ldr r0, _080257FC @ =0x086B53E4 - adds r2, r2, r0 - ldrh r0, [r2] - strh r0, [r4] - adds r4, #2 - adds r2, r3, #1 - lsls r2, r2, #1 - str r2, [sp] - mov r1, sb - ldr r0, [r1] - add r0, r8 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - add r0, sl - movs r2, #0 - ldrsh r1, [r0, r2] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, [sp] - adds r2, r1, r0 - ldr r0, _080257FC @ =0x086B53E4 - adds r2, r2, r0 - ldrh r0, [r2] - strh r0, [r4] - adds r3, #2 - lsls r3, r3, #1 - mov r1, sb - ldr r0, [r1] - add r0, r8 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - add r0, sl - movs r2, #0 - ldrsh r1, [r0, r2] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r3, r3, r0 - ldr r0, _080257FC @ =0x086B53E4 - adds r3, r3, r0 - ldrh r0, [r3] - strh r0, [r4, #2] - ldrh r2, [r6] - lsls r2, r2, #3 - add r2, ip - ldrb r0, [r2, #5] - movs r1, #0xc - orrs r0, r1 - strb r0, [r2, #5] - ldrh r2, [r6] - lsls r2, r2, #3 - add r2, ip - 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, _08025800 @ =0x000001FF - adds r0, r4, #0 - ands r1, r0 - ldr r0, _08025804 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r6] - lsls r1, r1, #3 - add r1, ip - ldrb r0, [r7, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - adds r5, #1 - lsls r5, r5, #0x10 - lsrs r2, r5, #0x10 - asrs r5, r5, #0x10 - cmp r5, #5 - ble _080256FE - 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 + lsls r5, r2, #0x10 + asrs r5, r5, #0x10 + lsls r6, r5, #3 + adds r6, #8 + adds r6, r7, r6 + ldrh r4, [r6] + lsls r4, r4, #3 + add r4, ip + lsls r3, r5, #1 + adds r3, r3, r5 + lsls r0, r3, #1 + str r0, [sp] + mov r1, sb + ldr r0, [r1] + add r0, r8 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + add r0, sl + movs r2, #0 + ldrsh r1, [r0, r2] + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #2 + ldr r1, [sp] + adds r2, r1, r0 + ldr r0, _080257FC @ =0x086B53E4 + adds r2, r2, r0 + ldrh r0, [r2] + strh r0, [r4] + adds r4, #2 + adds r2, r3, #1 + lsls r2, r2, #1 + str r2, [sp] + mov r1, sb + ldr r0, [r1] + add r0, r8 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + add r0, sl + movs r2, #0 + ldrsh r1, [r0, r2] + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #2 + ldr r1, [sp] + adds r2, r1, r0 + ldr r0, _080257FC @ =0x086B53E4 + adds r2, r2, r0 + ldrh r0, [r2] + strh r0, [r4] + adds r3, #2 + lsls r3, r3, #1 + mov r1, sb + ldr r0, [r1] + add r0, r8 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + add r0, sl + movs r2, #0 + ldrsh r1, [r0, r2] + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #2 + adds r3, r3, r0 + ldr r0, _080257FC @ =0x086B53E4 + adds r3, r3, r0 + ldrh r0, [r3] + strh r0, [r4, #2] + ldrh r2, [r6] + lsls r2, r2, #3 + add r2, ip + ldrb r0, [r2, #5] + movs r1, #0xc + orrs r0, r1 + strb r0, [r2, #5] + ldrh r2, [r6] + lsls r2, r2, #3 + add r2, ip + 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, _08025800 @ =0x000001FF + adds r0, r4, #0 + ands r1, r0 + ldr r0, _08025804 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r6] + lsls r1, r1, #3 + add r1, ip + ldrb r0, [r7, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + adds r5, #1 + lsls r5, r5, #0x10 + lsrs r2, r5, #0x10 + asrs r5, r5, #0x10 + cmp r5, #5 + ble _080256FE + 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 _080257EC: .4byte 0x03005000 _080257F0: .4byte 0x086AD3FE _080257F4: .4byte 0x020314E0 @@ -74056,122 +74056,122 @@ _080257FC: .4byte 0x086B53E4 _08025800: .4byte 0x000001FF _08025804: .4byte 0xFFFFFE00 - thumb_func_start sub_25808 + thumb_func_start sub_25808 sub_25808: @ 0x08025808 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r1, _08025834 @ =0x020314E0 - ldr r0, [r1] - ldr r2, _08025838 @ =0x00000602 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r7, r1, #0 - cmp r0, #8 - bls _08025828 - b _08025F36 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r1, _08025834 @ =0x020314E0 + ldr r0, [r1] + ldr r2, _08025838 @ =0x00000602 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r7, r1, #0 + cmp r0, #8 + bls _08025828 + b _08025F36 _08025828: - lsls r0, r0, #2 - ldr r1, _0802583C @ =_08025840 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0802583C @ =_08025840 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08025834: .4byte 0x020314E0 _08025838: .4byte 0x00000602 _0802583C: .4byte _08025840 _08025840: @ jump table - .4byte _08025864 @ case 0 - .4byte _080258A8 @ case 1 - .4byte _0802592C @ case 2 - .4byte _08025A7C @ case 3 - .4byte _08025AF8 @ case 4 - .4byte _08025C18 @ case 5 - .4byte _08025C78 @ case 6 - .4byte _08025D60 @ case 7 - .4byte _08025DD0 @ case 8 + .4byte _08025864 @ case 0 + .4byte _080258A8 @ case 1 + .4byte _0802592C @ case 2 + .4byte _08025A7C @ case 3 + .4byte _08025AF8 @ case 4 + .4byte _08025C18 @ case 5 + .4byte _08025C78 @ case 6 + .4byte _08025D60 @ case 7 + .4byte _08025DD0 @ case 8 _08025864: - ldr r1, [r7] - ldr r3, _08025878 @ =0x00000604 - adds r2, r1, r3 - ldrh r0, [r2] - cmp r0, #0x3b - bhi _0802587C - adds r0, #1 - strh r0, [r2] - b _08025890 - .align 2, 0 + ldr r1, [r7] + ldr r3, _08025878 @ =0x00000604 + adds r2, r1, r3 + ldrh r0, [r2] + cmp r0, #0x3b + bhi _0802587C + adds r0, #1 + strh r0, [r2] + b _08025890 + .align 2, 0 _08025878: .4byte 0x00000604 _0802587C: - ldr r4, _0802589C @ =0x00000602 - adds r1, r1, r4 - ldrb r0, [r1] - adds r0, #1 - movs r2, #0 - strb r0, [r1] - ldr r0, [r7] - ldr r6, _080258A0 @ =0x00000604 - adds r0, r0, r6 - strh r2, [r0] + ldr r4, _0802589C @ =0x00000602 + adds r1, r1, r4 + ldrb r0, [r1] + adds r0, #1 + movs r2, #0 + strb r0, [r1] + ldr r0, [r7] + ldr r6, _080258A0 @ =0x00000604 + adds r0, r0, r6 + strh r2, [r0] _08025890: - ldr r0, _080258A4 @ =0x0200B0C0 - ldrh r1, [r0, #0x38] - movs r1, #0xce - strh r1, [r0, #0x38] - b _08025F36 - .align 2, 0 + ldr r0, _080258A4 @ =0x0200B0C0 + ldrh r1, [r0, #0x38] + movs r1, #0xce + strh r1, [r0, #0x38] + b _08025F36 + .align 2, 0 _0802589C: .4byte 0x00000602 _080258A0: .4byte 0x00000604 _080258A4: .4byte 0x0200B0C0 _080258A8: - ldr r0, [r7] - adds r0, #0xe4 - movs r5, #0 - movs r1, #5 - strb r1, [r0] - ldr r1, _08025900 @ =0x040000D4 - ldr r0, _08025904 @ =0x083A07CC - str r0, [r1] - ldr r0, _08025908 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _0802590C @ =0x80001000 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08025910 @ =0x083A27EC - str r0, [r1] - ldr r0, _08025914 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _08025918 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0802591C @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0x8c - ldr r1, [r0] - movs r4, #0 - movs r0, #1 - strh r0, [r1] - movs r0, #0x8d - bl m4aSongNumStart - ldr r1, [r7] - ldr r0, _08025920 @ =0x00000602 - adds r1, r1, r0 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, [r7] - ldr r2, _08025924 @ =0x00000604 - adds r1, r0, r2 - strh r5, [r1] - ldr r3, _08025928 @ =0x00000603 - adds r0, r0, r3 - strb r4, [r0] - b _08025F36 - .align 2, 0 + ldr r0, [r7] + adds r0, #0xe4 + movs r5, #0 + movs r1, #5 + strb r1, [r0] + ldr r1, _08025900 @ =0x040000D4 + ldr r0, _08025904 @ =0x083A07CC + str r0, [r1] + ldr r0, _08025908 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _0802590C @ =0x80001000 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08025910 @ =0x083A27EC + str r0, [r1] + ldr r0, _08025914 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _08025918 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0802591C @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0x8c + ldr r1, [r0] + movs r4, #0 + movs r0, #1 + strh r0, [r1] + movs r0, #0x8d + bl m4aSongNumStart + ldr r1, [r7] + ldr r0, _08025920 @ =0x00000602 + adds r1, r1, r0 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r0, [r7] + ldr r2, _08025924 @ =0x00000604 + adds r1, r0, r2 + strh r5, [r1] + ldr r3, _08025928 @ =0x00000603 + adds r0, r0, r3 + strb r4, [r0] + b _08025F36 + .align 2, 0 _08025900: .4byte 0x040000D4 _08025904: .4byte 0x083A07CC _08025908: .4byte 0x06015800 @@ -74184,160 +74184,160 @@ _08025920: .4byte 0x00000602 _08025924: .4byte 0x00000604 _08025928: .4byte 0x00000603 _0802592C: - ldr r2, _08025954 @ =0x086AE0C0 - ldr r1, [r7] - ldr r4, _08025958 @ =0x00000603 - adds r3, r1, r4 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #1 - adds r0, r0, r2 - movs r6, #0 - ldrsh r0, [r0, r6] - ldr r2, _0802595C @ =0x00000604 - adds r1, r1, r2 - ldrh r2, [r1] - cmp r0, r2 - ble _08025964 - adds r0, r2, #1 - strh r0, [r1] - ldr r3, _08025960 @ =0x0200B0C0 - b _08025996 - .align 2, 0 + ldr r2, _08025954 @ =0x086AE0C0 + ldr r1, [r7] + ldr r4, _08025958 @ =0x00000603 + adds r3, r1, r4 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #1 + adds r0, r0, r2 + movs r6, #0 + ldrsh r0, [r0, r6] + ldr r2, _0802595C @ =0x00000604 + adds r1, r1, r2 + ldrh r2, [r1] + cmp r0, r2 + ble _08025964 + adds r0, r2, #1 + strh r0, [r1] + ldr r3, _08025960 @ =0x0200B0C0 + b _08025996 + .align 2, 0 _08025954: .4byte 0x086AE0C0 _08025958: .4byte 0x00000603 _0802595C: .4byte 0x00000604 _08025960: .4byte 0x0200B0C0 _08025964: - movs r2, #0 - strh r2, [r1] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r0, [r7] - ldr r3, _08025A60 @ =0x00000603 - adds r1, r0, r3 - movs r0, #0 - ldrsb r0, [r1, r0] - ldr r3, _08025A64 @ =0x0200B0C0 - cmp r0, #7 - ble _08025996 - movs r0, #7 - strb r0, [r1] - ldr r1, [r7] - ldr r4, _08025A68 @ =0x00000602 - adds r1, r1, r4 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, [r3, #0x44] - adds r0, #0x8c - ldr r0, [r0] - strh r2, [r0] + movs r2, #0 + strh r2, [r1] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r0, [r7] + ldr r3, _08025A60 @ =0x00000603 + adds r1, r0, r3 + movs r0, #0 + ldrsb r0, [r1, r0] + ldr r3, _08025A64 @ =0x0200B0C0 + cmp r0, #7 + ble _08025996 + movs r0, #7 + strb r0, [r1] + ldr r1, [r7] + ldr r4, _08025A68 @ =0x00000602 + adds r1, r1, r4 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r0, [r3, #0x44] + adds r0, #0x8c + ldr r0, [r0] + strh r2, [r0] _08025996: - ldr r2, [r7] - ldr r6, _08025A60 @ =0x00000603 - adds r0, r2, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - ldr r0, [r3, #0x44] - adds r0, #0x8c - ldr r6, [r0] - adds r0, r2, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x7c - subs r0, r0, r1 - strh r0, [r6, #2] - adds r2, #0x5a - ldrh r1, [r2] - movs r0, #0xf4 - subs r0, r0, r1 - strh r0, [r6, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc7 - ble _080259CE - movs r0, #0xc8 - strh r0, [r6, #4] + ldr r2, [r7] + ldr r6, _08025A60 @ =0x00000603 + adds r0, r2, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + ldr r0, [r3, #0x44] + adds r0, #0x8c + ldr r6, [r0] + adds r0, r2, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x7c + subs r0, r0, r1 + strh r0, [r6, #2] + adds r2, #0x5a + ldrh r1, [r2] + movs r0, #0xf4 + subs r0, r0, r1 + strh r0, [r6, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xc7 + ble _080259CE + movs r0, #0xc8 + strh r0, [r6, #4] _080259CE: - movs r2, #0 - lsls r0, r5, #0x10 - ldr r7, _08025A6C @ =0x03005000 - mov r8, r7 - ldr r1, _08025A70 @ =0x086B50AE - mov ip, r1 - asrs r1, r0, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #2 - mov sl, r0 - ldr r3, _08025A74 @ =0xFFFFFE00 - mov sb, r3 + movs r2, #0 + lsls r0, r5, #0x10 + ldr r7, _08025A6C @ =0x03005000 + mov r8, r7 + ldr r1, _08025A70 @ =0x086B50AE + mov ip, r1 + asrs r1, r0, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #2 + mov sl, r0 + ldr r3, _08025A74 @ =0xFFFFFE00 + mov sb, r3 _080259E8: - lsls r3, r2, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r0, [r5] - lsls r0, r0, #3 - mov r4, r8 - adds r2, r0, r4 - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - add r0, sl - add r0, ip - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - add r0, sl - add r0, ip - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - add r1, sl - add r1, ip - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r5] - lsls r2, r2, #3 - add r2, r8 - ldrh r4, [r2, #2] - lsls r1, r4, #0x17 - lsrs r1, r1, #0x17 - movs r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _08025A78 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, sb - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, r8 - ldrb r0, [r6, #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 _080259E8 - b _08025F36 - .align 2, 0 + lsls r3, r2, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r0, [r5] + lsls r0, r0, #3 + mov r4, r8 + adds r2, r0, r4 + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + add r0, sl + add r0, ip + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + add r0, sl + add r0, ip + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + add r1, sl + add r1, ip + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r5] + lsls r2, r2, #3 + add r2, r8 + ldrh r4, [r2, #2] + lsls r1, r4, #0x17 + lsrs r1, r1, #0x17 + movs r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _08025A78 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, sb + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, r8 + ldrb r0, [r6, #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 _080259E8 + b _08025F36 + .align 2, 0 _08025A60: .4byte 0x00000603 _08025A64: .4byte 0x0200B0C0 _08025A68: .4byte 0x00000602 @@ -74346,49 +74346,49 @@ _08025A70: .4byte 0x086B50AE _08025A74: .4byte 0xFFFFFE00 _08025A78: .4byte 0x000001FF _08025A7C: - ldr r0, [r7] - adds r0, #0xe4 - movs r3, #0 - movs r1, #6 - strb r1, [r0] - ldr r1, _08025AD0 @ =0x040000D4 - ldr r0, _08025AD4 @ =0x083A29EC - str r0, [r1] - ldr r0, _08025AD8 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _08025ADC @ =0x80000400 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08025AE0 @ =0x083A320C - str r0, [r1] - ldr r0, _08025AE4 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _08025AE8 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08025AEC @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0x90 - ldr r1, [r0] - movs r2, #1 - movs r0, #1 - strh r0, [r1] - ldr r1, [r7] - ldr r4, _08025AF0 @ =0x00000602 - adds r1, r1, r4 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, [r7] - ldr r6, _08025AF4 @ =0x00000604 - adds r1, r0, r6 - strh r3, [r1] - movs r7, #0x88 - lsls r7, r7, #5 - adds r0, r0, r7 - strb r2, [r0] - b _08025F36 - .align 2, 0 + ldr r0, [r7] + adds r0, #0xe4 + movs r3, #0 + movs r1, #6 + strb r1, [r0] + ldr r1, _08025AD0 @ =0x040000D4 + ldr r0, _08025AD4 @ =0x083A29EC + str r0, [r1] + ldr r0, _08025AD8 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _08025ADC @ =0x80000400 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08025AE0 @ =0x083A320C + str r0, [r1] + ldr r0, _08025AE4 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _08025AE8 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08025AEC @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0x90 + ldr r1, [r0] + movs r2, #1 + movs r0, #1 + strh r0, [r1] + ldr r1, [r7] + ldr r4, _08025AF0 @ =0x00000602 + adds r1, r1, r4 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r0, [r7] + ldr r6, _08025AF4 @ =0x00000604 + adds r1, r0, r6 + strh r3, [r1] + movs r7, #0x88 + lsls r7, r7, #5 + adds r0, r0, r7 + strb r2, [r0] + b _08025F36 + .align 2, 0 _08025AD0: .4byte 0x040000D4 _08025AD4: .4byte 0x083A29EC _08025AD8: .4byte 0x06015800 @@ -74400,139 +74400,139 @@ _08025AEC: .4byte 0x0200B0C0 _08025AF0: .4byte 0x00000602 _08025AF4: .4byte 0x00000604 _08025AF8: - ldr r1, [r7] - ldr r0, _08025B10 @ =0x00000604 - adds r2, r1, r0 - ldrh r0, [r2] - lsrs r5, r0, #1 - cmp r0, #0xe - bhi _08025B18 - adds r0, #1 - strh r0, [r2] - ldr r3, _08025B14 @ =0x0200B0C0 - b _08025B3E - .align 2, 0 + ldr r1, [r7] + ldr r0, _08025B10 @ =0x00000604 + adds r2, r1, r0 + ldrh r0, [r2] + lsrs r5, r0, #1 + cmp r0, #0xe + bhi _08025B18 + adds r0, #1 + strh r0, [r2] + ldr r3, _08025B14 @ =0x0200B0C0 + b _08025B3E + .align 2, 0 _08025B10: .4byte 0x00000604 _08025B14: .4byte 0x0200B0C0 _08025B18: - ldr r3, _08025BFC @ =0x0200B0C0 - ldr r0, [r3, #0x44] - adds r0, #0x90 - ldr r0, [r0] - movs r4, #0 - movs r2, #0 - strh r2, [r0] - ldr r6, _08025C00 @ =0x00000602 - adds r1, r1, r6 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, [r7] - adds r6, #2 - adds r1, r0, r6 - strh r2, [r1] - ldr r1, _08025C04 @ =0x00000603 - adds r0, r0, r1 - strb r4, [r0] + ldr r3, _08025BFC @ =0x0200B0C0 + ldr r0, [r3, #0x44] + adds r0, #0x90 + ldr r0, [r0] + movs r4, #0 + movs r2, #0 + strh r2, [r0] + ldr r6, _08025C00 @ =0x00000602 + adds r1, r1, r6 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r0, [r7] + adds r6, #2 + adds r1, r0, r6 + strh r2, [r1] + ldr r1, _08025C04 @ =0x00000603 + adds r0, r0, r1 + strb r4, [r0] _08025B3E: - ldr r0, [r3, #0x44] - adds r0, #0x90 - ldr r6, [r0] - ldr r1, [r7] - adds r0, r1, #0 - adds r0, #0x58 - ldrh r2, [r0] - movs r0, #0x60 - subs r0, r0, r2 - strh r0, [r6, #2] - adds r1, #0x5a - ldrh r1, [r1] - movs r2, #0x96 - lsls r2, r2, #1 - adds r0, r2, #0 - subs r0, r0, r1 - strh r0, [r6, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc7 - ble _08025B6C - movs r0, #0xc8 - strh r0, [r6, #4] + ldr r0, [r3, #0x44] + adds r0, #0x90 + ldr r6, [r0] + ldr r1, [r7] + adds r0, r1, #0 + adds r0, #0x58 + ldrh r2, [r0] + movs r0, #0x60 + subs r0, r0, r2 + strh r0, [r6, #2] + adds r1, #0x5a + ldrh r1, [r1] + movs r2, #0x96 + lsls r2, r2, #1 + adds r0, r2, #0 + subs r0, r0, r1 + strh r0, [r6, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xc7 + ble _08025B6C + movs r0, #0xc8 + strh r0, [r6, #4] _08025B6C: - movs r2, #0 - lsls r0, r5, #0x10 - ldr r3, _08025C08 @ =0x03005000 - mov r8, r3 - ldr r4, _08025C0C @ =0x086B4F6A - mov ip, r4 - asrs r1, r0, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #2 - mov sl, r0 - ldr r7, _08025C10 @ =0xFFFFFE00 - mov sb, r7 + movs r2, #0 + lsls r0, r5, #0x10 + ldr r3, _08025C08 @ =0x03005000 + mov r8, r3 + ldr r4, _08025C0C @ =0x086B4F6A + mov ip, r4 + asrs r1, r0, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #2 + mov sl, r0 + ldr r7, _08025C10 @ =0xFFFFFE00 + mov sb, r7 _08025B86: - lsls r3, r2, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r0, [r5] - lsls r0, r0, #3 - mov r1, r8 - adds r2, r0, r1 - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - add r0, sl - add r0, ip - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - add r0, sl - add r0, ip - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - add r1, sl - add r1, ip - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r5] - lsls r2, r2, #3 - add r2, r8 - ldrh r4, [r2, #2] - lsls r1, r4, #0x17 - lsrs r1, r1, #0x17 - movs r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _08025C14 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, sb - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, r8 - ldrb r0, [r6, #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 _08025B86 - b _08025F36 - .align 2, 0 + lsls r3, r2, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r0, [r5] + lsls r0, r0, #3 + mov r1, r8 + adds r2, r0, r1 + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + add r0, sl + add r0, ip + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + add r0, sl + add r0, ip + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + add r1, sl + add r1, ip + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r5] + lsls r2, r2, #3 + add r2, r8 + ldrh r4, [r2, #2] + lsls r1, r4, #0x17 + lsrs r1, r1, #0x17 + movs r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _08025C14 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, sb + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, r8 + ldrb r0, [r6, #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 _08025B86 + b _08025F36 + .align 2, 0 _08025BFC: .4byte 0x0200B0C0 _08025C00: .4byte 0x00000602 _08025C04: .4byte 0x00000603 @@ -74541,36 +74541,36 @@ _08025C0C: .4byte 0x086B4F6A _08025C10: .4byte 0xFFFFFE00 _08025C14: .4byte 0x000001FF _08025C18: - ldr r0, [r7] - adds r0, #0xe4 - movs r1, #7 - strb r1, [r0] - ldr r1, _08025C58 @ =0x040000D4 - ldr r0, _08025C5C @ =0x083A340C - str r0, [r1] - ldr r0, _08025C60 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _08025C64 @ =0x80001000 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08025C68 @ =0x083A542C - str r0, [r1] - ldr r0, _08025C6C @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _08025C70 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r1, [r7] - ldr r3, _08025C74 @ =0x00000602 - adds r1, r1, r3 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - bl sub_29924 - movs r0, #0x8e - bl m4aSongNumStart - b _08025F36 - .align 2, 0 + ldr r0, [r7] + adds r0, #0xe4 + movs r1, #7 + strb r1, [r0] + ldr r1, _08025C58 @ =0x040000D4 + ldr r0, _08025C5C @ =0x083A340C + str r0, [r1] + ldr r0, _08025C60 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _08025C64 @ =0x80001000 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08025C68 @ =0x083A542C + str r0, [r1] + ldr r0, _08025C6C @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _08025C70 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r1, [r7] + ldr r3, _08025C74 @ =0x00000602 + adds r1, r1, r3 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + bl sub_29924 + movs r0, #0x8e + bl m4aSongNumStart + b _08025F36 + .align 2, 0 _08025C58: .4byte 0x040000D4 _08025C5C: .4byte 0x083A340C _08025C60: .4byte 0x06015800 @@ -74580,162 +74580,162 @@ _08025C6C: .4byte 0x050003C0 _08025C70: .4byte 0x80000010 _08025C74: .4byte 0x00000602 _08025C78: - ldr r2, _08025CB0 @ =0x0200B0C0 - ldrh r0, [r2, #0x3c] - movs r0, #0 - strh r0, [r2, #0x3c] - movs r0, #0x80 - lsls r0, r0, #0x13 - ldrh r1, [r0] - movs r0, #0xf8 - lsls r0, r0, #5 - ands r0, r1 - lsrs r0, r0, #8 - movs r1, #0xa0 - ldrh r3, [r2, #0x38] - orrs r0, r1 - strh r0, [r2, #0x38] - ldr r0, [r7] - ldr r4, _08025CB4 @ =0x00000604 - adds r0, r0, r4 - ldrh r0, [r0] - adds r3, r2, #0 - cmp r0, #0x48 - bhi _08025CF2 - cmp r0, #7 - bhi _08025CB8 - ldrh r0, [r3, #0x3c] - movs r0, #0x10 - b _08025CF0 - .align 2, 0 + ldr r2, _08025CB0 @ =0x0200B0C0 + ldrh r0, [r2, #0x3c] + movs r0, #0 + strh r0, [r2, #0x3c] + movs r0, #0x80 + lsls r0, r0, #0x13 + ldrh r1, [r0] + movs r0, #0xf8 + lsls r0, r0, #5 + ands r0, r1 + lsrs r0, r0, #8 + movs r1, #0xa0 + ldrh r3, [r2, #0x38] + orrs r0, r1 + strh r0, [r2, #0x38] + ldr r0, [r7] + ldr r4, _08025CB4 @ =0x00000604 + adds r0, r0, r4 + ldrh r0, [r0] + adds r3, r2, #0 + cmp r0, #0x48 + bhi _08025CF2 + cmp r0, #7 + bhi _08025CB8 + ldrh r0, [r3, #0x3c] + movs r0, #0x10 + b _08025CF0 + .align 2, 0 _08025CB0: .4byte 0x0200B0C0 _08025CB4: .4byte 0x00000604 _08025CB8: - movs r2, #0 - adds r6, r7, #0 - ldr r5, _08025D04 @ =0x000006D3 - movs r4, #0xd + movs r2, #0 + adds r6, r7, #0 + ldr r5, _08025D04 @ =0x000006D3 + movs r4, #0xd _08025CC0: - ldr r1, [r6] - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - adds r1, r1, r5 - adds r1, r1, r0 - strb r4, [r1] - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #5 - ble _08025CC0 - ldr r0, [r7] - ldr r6, _08025D08 @ =0x00000604 - adds r0, r0, r6 - ldrh r1, [r0] - movs r0, #8 - subs r0, r0, r1 - cmp r0, #0 - bge _08025CEA - adds r0, #3 + ldr r1, [r6] + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + adds r1, r1, r5 + adds r1, r1, r0 + strb r4, [r1] + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #5 + ble _08025CC0 + ldr r0, [r7] + ldr r6, _08025D08 @ =0x00000604 + adds r0, r0, r6 + ldrh r1, [r0] + movs r0, #8 + subs r0, r0, r1 + cmp r0, #0 + bge _08025CEA + adds r0, #3 _08025CEA: - asrs r0, r0, #2 - adds r0, #0x10 - ldrh r1, [r3, #0x3c] + asrs r0, r0, #2 + adds r0, #0x10 + ldrh r1, [r3, #0x3c] _08025CF0: - strh r0, [r3, #0x3c] + strh r0, [r3, #0x3c] _08025CF2: - ldr r1, [r7] - ldr r0, _08025D08 @ =0x00000604 - adds r2, r1, r0 - ldrh r0, [r2] - cmp r0, #0x47 - bhi _08025D0C - adds r0, #1 - strh r0, [r2] - b _08025D28 - .align 2, 0 + ldr r1, [r7] + ldr r0, _08025D08 @ =0x00000604 + adds r2, r1, r0 + ldrh r0, [r2] + cmp r0, #0x47 + bhi _08025D0C + adds r0, #1 + strh r0, [r2] + b _08025D28 + .align 2, 0 _08025D04: .4byte 0x000006D3 _08025D08: .4byte 0x00000604 _08025D0C: - ldr r2, _08025D4C @ =0x00000602 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, #1 - movs r3, #0 - strb r0, [r1] - ldr r0, [r7] - ldr r4, _08025D50 @ =0x00000604 - adds r1, r0, r4 - movs r2, #0 - strh r3, [r1] - ldr r6, _08025D54 @ =0x00000603 - adds r0, r0, r6 - strb r2, [r0] + ldr r2, _08025D4C @ =0x00000602 + adds r1, r1, r2 + ldrb r0, [r1] + adds r0, #1 + movs r3, #0 + strb r0, [r1] + ldr r0, [r7] + ldr r4, _08025D50 @ =0x00000604 + adds r1, r0, r4 + movs r2, #0 + strh r3, [r1] + ldr r6, _08025D54 @ =0x00000603 + adds r0, r0, r6 + strb r2, [r0] _08025D28: - ldr r1, [r7] - ldr r7, _08025D50 @ =0x00000604 - adds r0, r1, r7 - ldrh r0, [r0] - cmp r0, #8 - bhi _08025D36 - b _08025F36 + ldr r1, [r7] + ldr r7, _08025D50 @ =0x00000604 + adds r0, r1, r7 + ldrh r0, [r0] + cmp r0, #8 + bhi _08025D36 + b _08025F36 _08025D36: - ldr r2, _08025D58 @ =0x000006CA - adds r0, r1, r2 - ldrh r1, [r0] - ldr r0, _08025D5C @ =0x00006FFF - cmp r1, r0 - bls _08025D44 - b _08025F36 + ldr r2, _08025D58 @ =0x000006CA + adds r0, r1, r2 + ldrh r1, [r0] + ldr r0, _08025D5C @ =0x00006FFF + cmp r1, r0 + bls _08025D44 + b _08025F36 _08025D44: - bl sub_29A6C - b _08025F36 - .align 2, 0 + bl sub_29A6C + b _08025F36 + .align 2, 0 _08025D4C: .4byte 0x00000602 _08025D50: .4byte 0x00000604 _08025D54: .4byte 0x00000603 _08025D58: .4byte 0x000006CA _08025D5C: .4byte 0x00006FFF _08025D60: - ldr r0, [r7] - adds r0, #0xe4 - movs r1, #8 - strb r1, [r0] - ldr r1, _08025DAC @ =0x040000D4 - ldr r0, _08025DB0 @ =0x083A562C - str r0, [r1] - ldr r0, _08025DB4 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _08025DB8 @ =0x80000C00 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08025DBC @ =0x083A6E4C - str r0, [r1] - ldr r0, _08025DC0 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _08025DC4 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08025DC8 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0x94 - ldr r1, [r0] - movs r2, #0 - movs r0, #1 - strh r0, [r1] - ldr r1, [r7] - ldr r3, _08025DCC @ =0x00000602 - adds r1, r1, r3 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, [r7] - movs r4, #0x88 - lsls r4, r4, #5 - adds r0, r0, r4 - strb r2, [r0] - b _08025F36 - .align 2, 0 + ldr r0, [r7] + adds r0, #0xe4 + movs r1, #8 + strb r1, [r0] + ldr r1, _08025DAC @ =0x040000D4 + ldr r0, _08025DB0 @ =0x083A562C + str r0, [r1] + ldr r0, _08025DB4 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _08025DB8 @ =0x80000C00 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08025DBC @ =0x083A6E4C + str r0, [r1] + ldr r0, _08025DC0 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _08025DC4 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08025DC8 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0x94 + ldr r1, [r0] + movs r2, #0 + movs r0, #1 + strh r0, [r1] + ldr r1, [r7] + ldr r3, _08025DCC @ =0x00000602 + adds r1, r1, r3 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r0, [r7] + movs r4, #0x88 + lsls r4, r4, #5 + adds r0, r0, r4 + strb r2, [r0] + b _08025F36 + .align 2, 0 _08025DAC: .4byte 0x040000D4 _08025DB0: .4byte 0x083A562C _08025DB4: .4byte 0x06015800 @@ -74746,194 +74746,194 @@ _08025DC4: .4byte 0x80000010 _08025DC8: .4byte 0x0200B0C0 _08025DCC: .4byte 0x00000602 _08025DD0: - ldr r2, _08025DF8 @ =0x086AE0D0 - ldr r1, [r7] - ldr r5, _08025DFC @ =0x00000603 - adds r3, r1, r5 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #1 - adds r0, r0, r2 - movs r6, #0 - ldrsh r0, [r0, r6] - ldr r2, _08025E00 @ =0x00000604 - adds r1, r1, r2 - ldrh r2, [r1] - cmp r0, r2 - ble _08025E08 - adds r0, r2, #1 - strh r0, [r1] - ldr r3, _08025E04 @ =0x0200B0C0 - b _08025E6C - .align 2, 0 + ldr r2, _08025DF8 @ =0x086AE0D0 + ldr r1, [r7] + ldr r5, _08025DFC @ =0x00000603 + adds r3, r1, r5 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #1 + adds r0, r0, r2 + movs r6, #0 + ldrsh r0, [r0, r6] + ldr r2, _08025E00 @ =0x00000604 + adds r1, r1, r2 + ldrh r2, [r1] + cmp r0, r2 + ble _08025E08 + adds r0, r2, #1 + strh r0, [r1] + ldr r3, _08025E04 @ =0x0200B0C0 + b _08025E6C + .align 2, 0 _08025DF8: .4byte 0x086AE0D0 _08025DFC: .4byte 0x00000603 _08025E00: .4byte 0x00000604 _08025E04: .4byte 0x0200B0C0 _08025E08: - movs r4, #0 - movs r2, #0 - strh r2, [r1] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r1, [r7] - ldr r3, _08025F44 @ =0x00000603 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r3, _08025F48 @ =0x0200B0C0 - cmp r0, #0xa - ble _08025E6C - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - ldr r0, [r3, #0x44] - adds r0, #0x94 - ldr r0, [r0] - strh r2, [r0] - ldr r0, [r7] - ldr r6, _08025F4C @ =0x000006C6 - adds r0, r0, r6 - strb r4, [r0] - ldr r0, [r7] - ldr r1, _08025F50 @ =0x000006C7 - adds r0, r0, r1 - strb r4, [r0] - ldr r0, [r7] - subs r6, #0xa1 - adds r0, r0, r6 - strb r4, [r0] - ldrh r0, [r3, #0x38] - movs r0, #0xce - strh r0, [r3, #0x38] - ldrh r0, [r3, #0x3c] - strh r2, [r3, #0x3c] - ldr r0, [r3, #0x44] - adds r0, #0x94 - ldr r0, [r0] - strh r2, [r0] - ldr r0, [r7] - adds r0, r0, r5 - movs r1, #0xa - strb r1, [r0] - ldr r0, [r7] - adds r0, #0xe4 - strb r4, [r0] + movs r4, #0 + movs r2, #0 + strh r2, [r1] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r1, [r7] + ldr r3, _08025F44 @ =0x00000603 + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldr r3, _08025F48 @ =0x0200B0C0 + cmp r0, #0xa + ble _08025E6C + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + ldr r0, [r3, #0x44] + adds r0, #0x94 + ldr r0, [r0] + strh r2, [r0] + ldr r0, [r7] + ldr r6, _08025F4C @ =0x000006C6 + adds r0, r0, r6 + strb r4, [r0] + ldr r0, [r7] + ldr r1, _08025F50 @ =0x000006C7 + adds r0, r0, r1 + strb r4, [r0] + ldr r0, [r7] + subs r6, #0xa1 + adds r0, r0, r6 + strb r4, [r0] + ldrh r0, [r3, #0x38] + movs r0, #0xce + strh r0, [r3, #0x38] + ldrh r0, [r3, #0x3c] + strh r2, [r3, #0x3c] + ldr r0, [r3, #0x44] + adds r0, #0x94 + ldr r0, [r0] + strh r2, [r0] + ldr r0, [r7] + adds r0, r0, r5 + movs r1, #0xa + strb r1, [r0] + ldr r0, [r7] + adds r0, #0xe4 + strb r4, [r0] _08025E6C: - ldr r2, [r7] - ldr r7, _08025F44 @ =0x00000603 - adds r0, r2, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - ldr r0, [r3, #0x44] - adds r0, #0x94 - ldr r6, [r0] - adds r0, r2, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x60 - subs r0, r0, r1 - strh r0, [r6, #2] - adds r2, #0x5a - ldrh r1, [r2] - movs r2, #0x96 - lsls r2, r2, #1 - adds r0, r2, #0 - subs r0, r0, r1 - strh r0, [r6, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc7 - ble _08025EA8 - movs r0, #0xc8 - strh r0, [r6, #4] + ldr r2, [r7] + ldr r7, _08025F44 @ =0x00000603 + adds r0, r2, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + ldr r0, [r3, #0x44] + adds r0, #0x94 + ldr r6, [r0] + adds r0, r2, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x60 + subs r0, r0, r1 + strh r0, [r6, #2] + adds r2, #0x5a + ldrh r1, [r2] + movs r2, #0x96 + lsls r2, r2, #1 + adds r0, r2, #0 + subs r0, r0, r1 + strh r0, [r6, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xc7 + ble _08025EA8 + movs r0, #0xc8 + strh r0, [r6, #4] _08025EA8: - movs r2, #0 - lsls r0, r5, #0x10 - ldr r3, _08025F54 @ =0x03005000 - mov r8, r3 - ldr r4, _08025F58 @ =0x086B4E62 - mov ip, r4 - asrs r1, r0, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - mov sl, r0 - ldr r7, _08025F5C @ =0xFFFFFE00 - mov sb, r7 + movs r2, #0 + lsls r0, r5, #0x10 + ldr r3, _08025F54 @ =0x03005000 + mov r8, r3 + ldr r4, _08025F58 @ =0x086B4E62 + mov ip, r4 + asrs r1, r0, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + mov sl, r0 + ldr r7, _08025F5C @ =0xFFFFFE00 + mov sb, r7 _08025EC2: - lsls r3, r2, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r0, [r5] - lsls r0, r0, #3 - mov r1, r8 - adds r2, r0, r1 - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - add r0, sl - add r0, ip - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - add r0, sl - add r0, ip - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - add r1, sl - add r1, ip - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r5] - lsls r2, r2, #3 - add r2, r8 - ldrh r4, [r2, #2] - lsls r1, r4, #0x17 - lsrs r1, r1, #0x17 - movs r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _08025F60 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, sb - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, r8 - ldrb r0, [r6, #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, #3 - ble _08025EC2 + lsls r3, r2, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r0, [r5] + lsls r0, r0, #3 + mov r1, r8 + adds r2, r0, r1 + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + add r0, sl + add r0, ip + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + add r0, sl + add r0, ip + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + add r1, sl + add r1, ip + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r5] + lsls r2, r2, #3 + add r2, r8 + ldrh r4, [r2, #2] + lsls r1, r4, #0x17 + lsrs r1, r1, #0x17 + movs r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _08025F60 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, sb + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, r8 + ldrb r0, [r6, #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, #3 + ble _08025EC2 _08025F36: - 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 + 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 _08025F44: .4byte 0x00000603 _08025F48: .4byte 0x0200B0C0 _08025F4C: .4byte 0x000006C6 @@ -74943,145 +74943,145 @@ _08025F58: .4byte 0x086B4E62 _08025F5C: .4byte 0xFFFFFE00 _08025F60: .4byte 0x000001FF - thumb_func_start sub_25F64 + thumb_func_start sub_25F64 sub_25F64: @ 0x08025F64 - push {r4, r5, r6, lr} - mov r6, sb - mov r5, r8 - push {r5, r6} - ldr r5, _0802607C @ =0x020314E0 - ldr r1, [r5] - movs r2, #0 - movs r0, #1 - strb r0, [r1, #0x17] - ldr r0, [r5] - movs r3, #0 - strh r2, [r0, #0x18] - ldr r1, _08026080 @ =0x000006DB - adds r0, r0, r1 - movs r1, #3 - strb r1, [r0] - ldr r0, [r5] - adds r0, #0x36 - strb r3, [r0] - bl sub_C00 - ldr r4, [r5] - ldr r6, _08026084 @ =0x0200B0C0 - ldr r1, [r6, #0x4c] - adds r0, r0, r1 - movs r1, #6 - bl __umodsi3 - adds r4, #0x32 - strb r0, [r4] - ldr r2, [r5] - ldr r0, _08026088 @ =0x08055A68 - mov sb, r0 - adds r0, r2, #0 - adds r0, #0x32 - movs r3, #0 - ldrsb r3, [r0, r3] - ldrb r1, [r6, #4] - lsls r0, r1, #3 - subs r0, r0, r1 - adds r0, r0, r3 - lsls r0, r0, #1 - add r0, sb - ldrh r0, [r0] - adds r2, #0x35 - strb r0, [r2] - ldr r1, [r5] - ldr r2, _0802608C @ =0x08137928 - mov r8, r2 - adds r0, r1, #0 - adds r0, #0x35 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - add r0, r8 - ldrh r0, [r0] - ldr r2, _08026090 @ =0x000006DA - adds r1, r1, r2 - strb r0, [r1] - ldr r4, [r5] - adds r0, r4, #0 - adds r0, #0x32 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #1 - movs r1, #6 - bl __modsi3 - ldrb r2, [r6, #4] - lsls r1, r2, #3 - subs r1, r1, r2 - adds r1, r1, r0 - lsls r1, r1, #1 - add r1, sb - ldrh r0, [r1] - adds r4, #0x35 - strb r0, [r4] - ldr r1, [r5] - adds r0, r1, #0 - adds r0, #0x35 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - add r0, r8 - ldrh r0, [r0] - ldr r2, _08026094 @ =0x000006D9 - adds r1, r1, r2 - strb r0, [r1] - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 - movs r0, #0 - movs r1, #1 - bl sub_1C7F4 - movs r2, #0 - ldr r4, _08026098 @ =0x000006D3 - movs r3, #0xd - adds r6, r5, #0 + push {r4, r5, r6, lr} + mov r6, sb + mov r5, r8 + push {r5, r6} + ldr r5, _0802607C @ =0x020314E0 + ldr r1, [r5] + movs r2, #0 + movs r0, #1 + strb r0, [r1, #0x17] + ldr r0, [r5] + movs r3, #0 + strh r2, [r0, #0x18] + ldr r1, _08026080 @ =0x000006DB + adds r0, r0, r1 + movs r1, #3 + strb r1, [r0] + ldr r0, [r5] + adds r0, #0x36 + strb r3, [r0] + bl sub_C00 + ldr r4, [r5] + ldr r6, _08026084 @ =0x0200B0C0 + ldr r1, [r6, #0x4c] + adds r0, r0, r1 + movs r1, #6 + bl __umodsi3 + adds r4, #0x32 + strb r0, [r4] + ldr r2, [r5] + ldr r0, _08026088 @ =0x08055A68 + mov sb, r0 + adds r0, r2, #0 + adds r0, #0x32 + movs r3, #0 + ldrsb r3, [r0, r3] + ldrb r1, [r6, #4] + lsls r0, r1, #3 + subs r0, r0, r1 + adds r0, r0, r3 + lsls r0, r0, #1 + add r0, sb + ldrh r0, [r0] + adds r2, #0x35 + strb r0, [r2] + ldr r1, [r5] + ldr r2, _0802608C @ =0x08137928 + mov r8, r2 + adds r0, r1, #0 + adds r0, #0x35 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + add r0, r8 + ldrh r0, [r0] + ldr r2, _08026090 @ =0x000006DA + adds r1, r1, r2 + strb r0, [r1] + ldr r4, [r5] + adds r0, r4, #0 + adds r0, #0x32 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #1 + movs r1, #6 + bl __modsi3 + ldrb r2, [r6, #4] + lsls r1, r2, #3 + subs r1, r1, r2 + adds r1, r1, r0 + lsls r1, r1, #1 + add r1, sb + ldrh r0, [r1] + adds r4, #0x35 + strb r0, [r4] + ldr r1, [r5] + adds r0, r1, #0 + adds r0, #0x35 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + add r0, r8 + ldrh r0, [r0] + ldr r2, _08026094 @ =0x000006D9 + adds r1, r1, r2 + strb r0, [r1] + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 + movs r0, #0 + movs r1, #1 + bl sub_1C7F4 + movs r2, #0 + ldr r4, _08026098 @ =0x000006D3 + movs r3, #0xd + adds r6, r5, #0 _08026032: - 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, #5 - ble _08026032 - ldr r1, _0802609C @ =0x040000D4 - ldr r0, _080260A0 @ =0x083A8AAC - str r0, [r1] - ldr r0, _080260A4 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _080260A8 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _080260AC @ =0x084FA20C - str r0, [r1] - ldr r0, _080260B0 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _080260B4 @ =0x80000140 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, [r6] - adds r0, #0xe4 - movs r1, #0xc - strb r1, [r0] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + 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, #5 + ble _08026032 + ldr r1, _0802609C @ =0x040000D4 + ldr r0, _080260A0 @ =0x083A8AAC + str r0, [r1] + ldr r0, _080260A4 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _080260A8 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _080260AC @ =0x084FA20C + str r0, [r1] + ldr r0, _080260B0 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _080260B4 @ =0x80000140 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, [r6] + adds r0, #0xe4 + movs r1, #0xc + strb r1, [r0] + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0802607C: .4byte 0x020314E0 _08026080: .4byte 0x000006DB _08026084: .4byte 0x0200B0C0 @@ -75098,116 +75098,116 @@ _080260AC: .4byte 0x084FA20C _080260B0: .4byte 0x06015800 _080260B4: .4byte 0x80000140 - thumb_func_start sub_260B8 + thumb_func_start sub_260B8 sub_260B8: @ 0x080260B8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r1, _080260E4 @ =0x020314E0 - ldr r0, [r1] - ldrb r0, [r0, #0x17] - subs r0, #1 - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov sb, r1 - cmp r0, #5 - bls _080260D8 - b _0802674E + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r1, _080260E4 @ =0x020314E0 + ldr r0, [r1] + ldrb r0, [r0, #0x17] + subs r0, #1 + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov sb, r1 + cmp r0, #5 + bls _080260D8 + b _0802674E _080260D8: - lsls r0, r0, #2 - ldr r1, _080260E8 @ =_080260EC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _080260E8 @ =_080260EC + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080260E4: .4byte 0x020314E0 _080260E8: .4byte _080260EC _080260EC: @ jump table - .4byte _08026104 @ case 0 - .4byte _080261E0 @ case 1 - .4byte _080262E4 @ case 2 - .4byte _08026318 @ case 3 - .4byte _08026318 @ case 4 - .4byte _08026608 @ case 5 + .4byte _08026104 @ case 0 + .4byte _080261E0 @ case 1 + .4byte _080262E4 @ case 2 + .4byte _08026318 @ case 3 + .4byte _08026318 @ case 4 + .4byte _08026608 @ case 5 _08026104: - ldr r3, _08026198 @ =0x0200B0C0 - ldrh r0, [r3, #0x38] - movs r5, #0 - movs r4, #0 - ldr r0, _0802619C @ =0x00001C10 - strh r0, [r3, #0x38] - ldrh r0, [r3, #0x3a] - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r3, #0x3a] - mov r0, sb - ldr r1, [r0] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - mov r2, sb - ldr r1, [r2] - movs r6, #0xdc - lsls r6, r6, #3 - adds r0, r1, r6 - strh r4, [r0] - ldr r7, _080261A0 @ =0x000005FE - adds r0, r1, r7 - strh r4, [r0] - ldr r0, _080261A4 @ =0x000005FB - adds r1, r1, r0 - movs r2, #1 - strb r2, [r1] - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x50] - strh r2, [r0] - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x54] - strh r2, [r0] - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x5c] - strh r2, [r0] - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x58] - strh r2, [r0] - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x4c] - strh r2, [r0] - mov r1, sb - ldr r2, [r1] - adds r6, #0x10 - adds r0, r2, r6 - movs r1, #0x1e - strh r1, [r0] - adds r7, #0xf4 - adds r0, r2, r7 - strh r1, [r0] - ldr r1, _080261A8 @ =0x000006F4 - adds r0, r2, r1 - strh r4, [r0] - ldrb r0, [r3, #4] - cmp r0, #0 - bne _080261B0 - movs r3, #0xb8 - lsls r3, r3, #1 - adds r0, r2, r3 - movs r1, #0xa - strb r1, [r0] - mov r4, sb - ldr r0, [r4] - ldr r5, _080261AC @ =0x00000171 - adds r0, r0, r5 - strb r1, [r0] - ldr r0, [r4] - movs r6, #0xb9 - lsls r6, r6, #1 - adds r0, r0, r6 - strb r1, [r0] - b _080261CC - .align 2, 0 + ldr r3, _08026198 @ =0x0200B0C0 + ldrh r0, [r3, #0x38] + movs r5, #0 + movs r4, #0 + ldr r0, _0802619C @ =0x00001C10 + strh r0, [r3, #0x38] + ldrh r0, [r3, #0x3a] + movs r0, #0x80 + lsls r0, r0, #5 + strh r0, [r3, #0x3a] + mov r0, sb + ldr r1, [r0] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + mov r2, sb + ldr r1, [r2] + movs r6, #0xdc + lsls r6, r6, #3 + adds r0, r1, r6 + strh r4, [r0] + ldr r7, _080261A0 @ =0x000005FE + adds r0, r1, r7 + strh r4, [r0] + ldr r0, _080261A4 @ =0x000005FB + adds r1, r1, r0 + movs r2, #1 + strb r2, [r1] + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x50] + strh r2, [r0] + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x54] + strh r2, [r0] + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x5c] + strh r2, [r0] + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x58] + strh r2, [r0] + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x4c] + strh r2, [r0] + mov r1, sb + ldr r2, [r1] + adds r6, #0x10 + adds r0, r2, r6 + movs r1, #0x1e + strh r1, [r0] + adds r7, #0xf4 + adds r0, r2, r7 + strh r1, [r0] + ldr r1, _080261A8 @ =0x000006F4 + adds r0, r2, r1 + strh r4, [r0] + ldrb r0, [r3, #4] + cmp r0, #0 + bne _080261B0 + movs r3, #0xb8 + lsls r3, r3, #1 + adds r0, r2, r3 + movs r1, #0xa + strb r1, [r0] + mov r4, sb + ldr r0, [r4] + ldr r5, _080261AC @ =0x00000171 + adds r0, r0, r5 + strb r1, [r0] + ldr r0, [r4] + movs r6, #0xb9 + lsls r6, r6, #1 + adds r0, r0, r6 + strb r1, [r0] + b _080261CC + .align 2, 0 _08026198: .4byte 0x0200B0C0 _0802619C: .4byte 0x00001C10 _080261A0: .4byte 0x000005FE @@ -75215,156 +75215,156 @@ _080261A4: .4byte 0x000005FB _080261A8: .4byte 0x000006F4 _080261AC: .4byte 0x00000171 _080261B0: - movs r7, #0xb8 - lsls r7, r7, #1 - adds r0, r2, r7 - strb r5, [r0] - mov r1, sb - ldr r0, [r1] - ldr r2, _080261DC @ =0x00000171 - adds r0, r0, r2 - strb r5, [r0] - ldr r0, [r1] - movs r3, #0xb9 - lsls r3, r3, #1 - adds r0, r0, r3 - strb r5, [r0] + movs r7, #0xb8 + lsls r7, r7, #1 + adds r0, r2, r7 + strb r5, [r0] + mov r1, sb + ldr r0, [r1] + ldr r2, _080261DC @ =0x00000171 + adds r0, r0, r2 + strb r5, [r0] + ldr r0, [r1] + movs r3, #0xb9 + lsls r3, r3, #1 + adds r0, r0, r3 + strb r5, [r0] _080261CC: - mov r4, sb - ldr r0, [r4] - movs r5, #0xba - lsls r5, r5, #1 - adds r0, r0, r5 - movs r1, #0 - strh r1, [r0] - b _0802674E - .align 2, 0 + mov r4, sb + ldr r0, [r4] + movs r5, #0xba + lsls r5, r5, #1 + adds r0, r0, r5 + movs r1, #0 + strh r1, [r0] + b _0802674E + .align 2, 0 _080261DC: .4byte 0x00000171 _080261E0: - mov r6, sb - ldr r1, [r6] - ldr r7, _080262CC @ =0x000005FC - adds r0, r1, r7 - movs r3, #0 - ldrsh r2, [r0, r3] - cmp r2, #0 - bne _080261FA - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - ldr r0, [r6] - strh r2, [r0, #0x18] + mov r6, sb + ldr r1, [r6] + ldr r7, _080262CC @ =0x000005FC + adds r0, r1, r7 + movs r3, #0 + ldrsh r2, [r0, r3] + cmp r2, #0 + bne _080261FA + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + ldr r0, [r6] + strh r2, [r0, #0x18] _080261FA: - ldr r0, _080262D0 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _08026296 - mov r4, sb - ldr r3, [r4] - movs r4, #0xba - lsls r4, r4, #1 - adds r2, r3, r4 - ldrh r0, [r2] - cmp r0, #0x8e - bhi _08026224 - ldr r1, _080262D4 @ =0x08137944 - lsrs r0, r0, #3 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - movs r5, #0xb8 - lsls r5, r5, #1 - adds r0, r3, r5 - strb r1, [r0] + ldr r0, _080262D0 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #0 + bne _08026296 + mov r4, sb + ldr r3, [r4] + movs r4, #0xba + lsls r4, r4, #1 + adds r2, r3, r4 + ldrh r0, [r2] + cmp r0, #0x8e + bhi _08026224 + ldr r1, _080262D4 @ =0x08137944 + lsrs r0, r0, #3 + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r1, [r0] + movs r5, #0xb8 + lsls r5, r5, #1 + adds r0, r3, r5 + strb r1, [r0] _08026224: - mov r6, sb - ldr r2, [r6] - adds r1, r2, r4 - ldrh r0, [r1] - subs r0, #0x12 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x8e - bhi _08026254 - ldr r3, _080262D4 @ =0x08137944 - ldrh r1, [r1] - adds r0, r1, #0 - subs r0, #0x12 - cmp r0, #0 - bge _08026244 - adds r0, #7 + mov r6, sb + ldr r2, [r6] + adds r1, r2, r4 + ldrh r0, [r1] + subs r0, #0x12 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x8e + bhi _08026254 + ldr r3, _080262D4 @ =0x08137944 + ldrh r1, [r1] + adds r0, r1, #0 + subs r0, #0x12 + cmp r0, #0 + bge _08026244 + adds r0, #7 _08026244: - asrs r0, r0, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - movs r7, #0xb9 - lsls r7, r7, #1 - adds r1, r2, r7 - strb r0, [r1] + asrs r0, r0, #3 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + movs r7, #0xb9 + lsls r7, r7, #1 + adds r1, r2, r7 + strb r0, [r1] _08026254: - mov r0, sb - ldr r2, [r0] - movs r3, #0xba - lsls r3, r3, #1 - adds r1, r2, r3 - ldrh r0, [r1] - subs r0, #0x24 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x8e - bhi _08026286 - ldr r3, _080262D4 @ =0x08137944 - ldrh r1, [r1] - adds r0, r1, #0 - subs r0, #0x24 - cmp r0, #0 - bge _08026278 - adds r0, #7 + mov r0, sb + ldr r2, [r0] + movs r3, #0xba + lsls r3, r3, #1 + adds r1, r2, r3 + ldrh r0, [r1] + subs r0, #0x24 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x8e + bhi _08026286 + ldr r3, _080262D4 @ =0x08137944 + ldrh r1, [r1] + adds r0, r1, #0 + subs r0, #0x24 + cmp r0, #0 + bge _08026278 + adds r0, #7 _08026278: - asrs r0, r0, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - ldr r4, _080262D8 @ =0x00000171 - adds r1, r2, r4 - strb r0, [r1] + asrs r0, r0, #3 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + ldr r4, _080262D8 @ =0x00000171 + adds r1, r2, r4 + strb r0, [r1] _08026286: - mov r5, sb - ldr r1, [r5] - movs r6, #0xba - lsls r6, r6, #1 - adds r1, r1, r6 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] + mov r5, sb + ldr r1, [r5] + movs r6, #0xba + lsls r6, r6, #1 + adds r1, r1, r6 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] _08026296: - mov r7, sb - ldr r4, [r7] - movs r1, #0xde - lsls r1, r1, #3 - adds r0, r4, r1 - ldrh r0, [r0] - lsls r0, r0, #5 - ldr r2, _080262DC @ =0x000006F2 - adds r1, r4, r2 - ldrh r1, [r1] - bl __divsi3 - movs r3, #0xdc - lsls r3, r3, #3 - adds r1, r4, r3 - strh r0, [r1] - ldr r5, _080262E0 @ =0x000006C4 - adds r4, r4, r5 - movs r0, #1 - strb r0, [r4] - ldr r1, [r7] - ldrh r0, [r1, #0x18] - adds r0, #1 - strh r0, [r1, #0x18] - bl sub_26778 - b _0802674E - .align 2, 0 + mov r7, sb + ldr r4, [r7] + movs r1, #0xde + lsls r1, r1, #3 + adds r0, r4, r1 + ldrh r0, [r0] + lsls r0, r0, #5 + ldr r2, _080262DC @ =0x000006F2 + adds r1, r4, r2 + ldrh r1, [r1] + bl __divsi3 + movs r3, #0xdc + lsls r3, r3, #3 + adds r1, r4, r3 + strh r0, [r1] + ldr r5, _080262E0 @ =0x000006C4 + adds r4, r4, r5 + movs r0, #1 + strb r0, [r4] + ldr r1, [r7] + ldrh r0, [r1, #0x18] + adds r0, #1 + strh r0, [r1, #0x18] + bl sub_26778 + b _0802674E + .align 2, 0 _080262CC: .4byte 0x000005FC _080262D0: .4byte 0x0200B0C0 _080262D4: .4byte 0x08137944 @@ -75372,172 +75372,172 @@ _080262D8: .4byte 0x00000171 _080262DC: .4byte 0x000006F2 _080262E0: .4byte 0x000006C4 _080262E4: - ldr r1, _08026338 @ =0x020314E0 - ldr r2, [r1] - ldrh r0, [r2, #0x18] - cmp r0, #0xe - bhi _08026312 - adds r0, #1 - strh r0, [r2, #0x18] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xf - bne _08026312 - ldrb r0, [r2, #0x17] - adds r0, #1 - strb r0, [r2, #0x17] - ldr r1, [r1] - ldr r6, _0802633C @ =0x000006F2 - adds r2, r1, r6 - movs r0, #6 - strh r0, [r2] - ldr r7, _08026340 @ =0x000006F4 - adds r1, r1, r7 - movs r0, #0 - strh r0, [r1] + ldr r1, _08026338 @ =0x020314E0 + ldr r2, [r1] + ldrh r0, [r2, #0x18] + cmp r0, #0xe + bhi _08026312 + adds r0, #1 + strh r0, [r2, #0x18] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0xf + bne _08026312 + ldrb r0, [r2, #0x17] + adds r0, #1 + strb r0, [r2, #0x17] + ldr r1, [r1] + ldr r6, _0802633C @ =0x000006F2 + adds r2, r1, r6 + movs r0, #6 + strh r0, [r2] + ldr r7, _08026340 @ =0x000006F4 + adds r1, r1, r7 + movs r0, #0 + strh r0, [r1] _08026312: - movs r0, #0 - bl sub_26820 + movs r0, #0 + bl sub_26820 _08026318: - ldr r0, _08026338 @ =0x020314E0 - ldr r5, [r0] - movs r2, #0x17 - ldrsb r2, [r5, r2] - mov sb, r0 - cmp r2, #3 - bne _08026344 - movs r0, #0xde - lsls r0, r0, #3 - adds r4, r5, r0 - ldrh r0, [r4] - subs r0, #1 - strh r0, [r4] - ldr r2, _0802633C @ =0x000006F2 - adds r1, r5, r2 - b _0802647C - .align 2, 0 + ldr r0, _08026338 @ =0x020314E0 + ldr r5, [r0] + movs r2, #0x17 + ldrsb r2, [r5, r2] + mov sb, r0 + cmp r2, #3 + bne _08026344 + movs r0, #0xde + lsls r0, r0, #3 + adds r4, r5, r0 + ldrh r0, [r4] + subs r0, #1 + strh r0, [r4] + ldr r2, _0802633C @ =0x000006F2 + adds r1, r5, r2 + b _0802647C + .align 2, 0 _08026338: .4byte 0x020314E0 _0802633C: .4byte 0x000006F2 _08026340: .4byte 0x000006F4 _08026344: - cmp r2, #4 - beq _0802634A - b _08026494 + cmp r2, #4 + beq _0802634A + b _08026494 _0802634A: - movs r3, #0xde - lsls r3, r3, #3 - adds r0, r5, r3 - ldrh r1, [r0] - adds r1, #1 - strh r1, [r0] - ldrb r0, [r5, #5] - cmp r0, #0 - beq _080263C0 - movs r0, #0x17 - ldrsb r0, [r5, r0] - cmp r0, #4 - bne _080263C0 - ldr r4, _08026380 @ =0x000006F4 - adds r1, r5, r4 - ldrh r0, [r1] - cmp r0, #0 - bne _080263CE - ldr r0, _08026384 @ =0x0200B0C0 - ldrb r0, [r0, #0xa] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08026388 - movs r0, #0x30 - b _0802638A - .align 2, 0 + movs r3, #0xde + lsls r3, r3, #3 + adds r0, r5, r3 + ldrh r1, [r0] + adds r1, #1 + strh r1, [r0] + ldrb r0, [r5, #5] + cmp r0, #0 + beq _080263C0 + movs r0, #0x17 + ldrsb r0, [r5, r0] + cmp r0, #4 + bne _080263C0 + ldr r4, _08026380 @ =0x000006F4 + adds r1, r5, r4 + ldrh r0, [r1] + cmp r0, #0 + bne _080263CE + ldr r0, _08026384 @ =0x0200B0C0 + ldrb r0, [r0, #0xa] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08026388 + movs r0, #0x30 + b _0802638A + .align 2, 0 _08026380: .4byte 0x000006F4 _08026384: .4byte 0x0200B0C0 _08026388: - movs r0, #1 + movs r0, #1 _0802638A: - strh r0, [r1] - mov r5, sb - ldr r1, [r5] - ldr r6, _08026428 @ =0x000006F4 - adds r0, r1, r6 - ldrh r2, [r0] - ldr r7, _0802642C @ =0x000006F6 - adds r0, r1, r7 - strh r2, [r0] - ldr r2, _08026430 @ =0x00000163 - adds r0, r1, r2 - movs r1, #1 - strb r1, [r0] - ldr r0, [r5] - adds r0, #0x21 - strb r1, [r0] - ldr r1, [r5] - ldr r3, _08026434 @ =0x00000724 - adds r2, r1, r3 - movs r0, #0xe1 - lsls r0, r0, #4 - strh r0, [r2] - movs r4, #0xb6 - lsls r4, r4, #1 - adds r1, r1, r4 - movs r0, #2 - strb r0, [r1] + strh r0, [r1] + mov r5, sb + ldr r1, [r5] + ldr r6, _08026428 @ =0x000006F4 + adds r0, r1, r6 + ldrh r2, [r0] + ldr r7, _0802642C @ =0x000006F6 + adds r0, r1, r7 + strh r2, [r0] + ldr r2, _08026430 @ =0x00000163 + adds r0, r1, r2 + movs r1, #1 + strb r1, [r0] + ldr r0, [r5] + adds r0, #0x21 + strb r1, [r0] + ldr r1, [r5] + ldr r3, _08026434 @ =0x00000724 + adds r2, r1, r3 + movs r0, #0xe1 + lsls r0, r0, #4 + strh r0, [r2] + movs r4, #0xb6 + lsls r4, r4, #1 + adds r1, r1, r4 + movs r0, #2 + strb r0, [r1] _080263C0: - mov r5, sb - ldr r0, [r5] - ldr r6, _08026428 @ =0x000006F4 - adds r0, r0, r6 - ldrh r0, [r0] - cmp r0, #0 - beq _0802646E + mov r5, sb + ldr r0, [r5] + ldr r6, _08026428 @ =0x000006F4 + adds r0, r0, r6 + ldrh r0, [r0] + cmp r0, #0 + beq _0802646E _080263CE: - mov r7, sb - ldr r2, [r7] - ldr r0, _08026428 @ =0x000006F4 - adds r1, r2, r0 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - ldr r0, _08026438 @ =0x0200B0C0 - ldrb r0, [r0, #0xa] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08026412 - ldr r1, _0802643C @ =0x00000283 - adds r0, r2, r1 - movs r1, #4 - strb r1, [r0] - ldr r2, [r7] - ldr r3, _08026428 @ =0x000006F4 - adds r1, r2, r3 - ldrh r0, [r1] - cmp r0, #0x17 - bhi _08026412 - movs r0, #0x18 - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0x32 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #6 - bne _08026412 - movs r0, #0 - strh r0, [r1] + mov r7, sb + ldr r2, [r7] + ldr r0, _08026428 @ =0x000006F4 + adds r1, r2, r0 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] + ldr r0, _08026438 @ =0x0200B0C0 + ldrb r0, [r0, #0xa] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08026412 + ldr r1, _0802643C @ =0x00000283 + adds r0, r2, r1 + movs r1, #4 + strb r1, [r0] + ldr r2, [r7] + ldr r3, _08026428 @ =0x000006F4 + adds r1, r2, r3 + ldrh r0, [r1] + cmp r0, #0x17 + bhi _08026412 + movs r0, #0x18 + strh r0, [r1] + adds r0, r2, #0 + adds r0, #0x32 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #6 + bne _08026412 + movs r0, #0 + strh r0, [r1] _08026412: - mov r5, sb - ldr r4, [r5] - ldr r6, _08026428 @ =0x000006F4 - adds r1, r4, r6 - ldrh r0, [r1] - cmp r0, #0 - bne _08026440 - movs r0, #5 - strb r0, [r4, #0x17] - b _0802646E - .align 2, 0 + mov r5, sb + ldr r4, [r5] + ldr r6, _08026428 @ =0x000006F4 + adds r1, r4, r6 + ldrh r0, [r1] + cmp r0, #0 + bne _08026440 + movs r0, #5 + strb r0, [r4, #0x17] + b _0802646E + .align 2, 0 _08026428: .4byte 0x000006F4 _0802642C: .4byte 0x000006F6 _08026430: .4byte 0x00000163 @@ -75545,399 +75545,399 @@ _08026434: .4byte 0x00000724 _08026438: .4byte 0x0200B0C0 _0802643C: .4byte 0x00000283 _08026440: - movs r7, #0xde - lsls r7, r7, #3 - adds r6, r4, r7 - ldr r0, _08026488 @ =0x000006F2 - adds r5, r4, r0 - ldrh r0, [r6] - ldrh r2, [r5] - cmp r0, r2 - bne _0802646E - ldrh r1, [r1] - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #1 - ldr r3, _0802648C @ =0x000006F6 - adds r1, r4, r3 - ldrh r1, [r1] - bl __divsi3 - movs r1, #0x28 - subs r1, r1, r0 - movs r0, #0 - strh r1, [r5] - strh r0, [r6] + movs r7, #0xde + lsls r7, r7, #3 + adds r6, r4, r7 + ldr r0, _08026488 @ =0x000006F2 + adds r5, r4, r0 + ldrh r0, [r6] + ldrh r2, [r5] + cmp r0, r2 + bne _0802646E + ldrh r1, [r1] + lsls r0, r1, #4 + subs r0, r0, r1 + lsls r0, r0, #1 + ldr r3, _0802648C @ =0x000006F6 + adds r1, r4, r3 + ldrh r1, [r1] + bl __divsi3 + movs r1, #0x28 + subs r1, r1, r0 + movs r0, #0 + strh r1, [r5] + strh r0, [r6] _0802646E: - ldr r0, _08026490 @ =0x020314E0 - ldr r1, [r0] - movs r5, #0xde - lsls r5, r5, #3 - adds r4, r1, r5 - ldr r6, _08026488 @ =0x000006F2 - adds r1, r1, r6 + ldr r0, _08026490 @ =0x020314E0 + ldr r1, [r0] + movs r5, #0xde + lsls r5, r5, #3 + adds r4, r1, r5 + ldr r6, _08026488 @ =0x000006F2 + adds r1, r1, r6 _0802647C: - ldrh r0, [r4] - ldrh r1, [r1] - bl __umodsi3 - strh r0, [r4] - b _080264E2 - .align 2, 0 + ldrh r0, [r4] + ldrh r1, [r1] + bl __umodsi3 + strh r0, [r4] + b _080264E2 + .align 2, 0 _08026488: .4byte 0x000006F2 _0802648C: .4byte 0x000006F6 _08026490: .4byte 0x020314E0 _08026494: - movs r7, #0xde - lsls r7, r7, #3 - adds r4, r5, r7 - ldrh r0, [r4] - adds r0, #1 - strh r0, [r4] - ldr r0, _08026554 @ =0x000006F2 - adds r1, r5, r0 - ldrh r0, [r4] - ldrh r1, [r1] - bl __umodsi3 - strh r0, [r4] - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - cmp r2, #0 - bne _080264E2 - strh r2, [r5, #0x18] - ldrb r0, [r5, #0x17] - adds r0, #1 - strb r0, [r5, #0x17] - ldr r1, _08026558 @ =0x0200B0C0 - ldr r0, [r1, #0x44] - ldr r0, [r0, #0x5c] - strh r2, [r0] - ldr r0, [r1, #0x44] - ldr r0, [r0, #0x50] - strh r2, [r0] - ldr r0, [r1, #0x44] - ldr r0, [r0, #0x54] - strh r2, [r0] - ldr r0, [r1, #0x44] - adds r0, #0x88 - ldr r1, [r0] - movs r0, #1 - strh r0, [r1] - movs r0, #0x93 - bl m4aSongNumStart + movs r7, #0xde + lsls r7, r7, #3 + adds r4, r5, r7 + ldrh r0, [r4] + adds r0, #1 + strh r0, [r4] + ldr r0, _08026554 @ =0x000006F2 + adds r1, r5, r0 + ldrh r0, [r4] + ldrh r1, [r1] + bl __umodsi3 + strh r0, [r4] + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + cmp r2, #0 + bne _080264E2 + strh r2, [r5, #0x18] + ldrb r0, [r5, #0x17] + adds r0, #1 + strb r0, [r5, #0x17] + ldr r1, _08026558 @ =0x0200B0C0 + ldr r0, [r1, #0x44] + ldr r0, [r0, #0x5c] + strh r2, [r0] + ldr r0, [r1, #0x44] + ldr r0, [r0, #0x50] + strh r2, [r0] + ldr r0, [r1, #0x44] + ldr r0, [r0, #0x54] + strh r2, [r0] + ldr r0, [r1, #0x44] + adds r0, #0x88 + ldr r1, [r0] + movs r0, #1 + strh r0, [r1] + movs r0, #0x93 + bl m4aSongNumStart _080264E2: - ldr r6, _0802655C @ =0x020314E0 - ldr r5, [r6] - movs r7, #0xde - lsls r7, r7, #3 - adds r4, r5, r7 - ldrh r0, [r4] - lsls r0, r0, #5 - ldr r2, _08026554 @ =0x000006F2 - adds r1, r5, r2 - ldrh r1, [r1] - bl __divsi3 - movs r3, #0xdc - lsls r3, r3, #3 - adds r1, r5, r3 - strh r0, [r1] - ldrh r0, [r4] - cmp r0, #0 - bne _0802651C - ldr r4, _08026560 @ =0x000006DA - adds r0, r5, r4 - ldrb r1, [r0] - ldr r2, _08026564 @ =0x000006D9 - adds r0, r5, r2 - strb r1, [r0] - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 + ldr r6, _0802655C @ =0x020314E0 + ldr r5, [r6] + movs r7, #0xde + lsls r7, r7, #3 + adds r4, r5, r7 + ldrh r0, [r4] + lsls r0, r0, #5 + ldr r2, _08026554 @ =0x000006F2 + adds r1, r5, r2 + ldrh r1, [r1] + bl __divsi3 + movs r3, #0xdc + lsls r3, r3, #3 + adds r1, r5, r3 + strh r0, [r1] + ldrh r0, [r4] + cmp r0, #0 + bne _0802651C + ldr r4, _08026560 @ =0x000006DA + adds r0, r5, r4 + ldrb r1, [r0] + ldr r2, _08026564 @ =0x000006D9 + adds r0, r5, r2 + strb r1, [r0] + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 _0802651C: - ldr r4, [r6] - adds r0, r4, r7 - ldrh r5, [r0] - cmp r5, #1 - beq _08026528 - b _0802674E + ldr r4, [r6] + adds r0, r4, r7 + ldrh r5, [r0] + cmp r5, #1 + beq _08026528 + b _0802674E _08026528: - ldr r0, _08026558 @ =0x0200B0C0 - movs r1, #0xa - ldrsb r1, [r0, r1] - cmp r1, #0 - beq _08026568 - adds r4, #0x32 - movs r0, #0 - ldrsb r0, [r4, r0] - adds r0, #1 - movs r1, #7 - bl __modsi3 - strb r0, [r4] - ldr r0, [r6] - adds r0, #0x33 - movs r1, #0 - strb r1, [r0] - ldr r0, [r6] - adds r0, #0x34 - strb r5, [r0] - b _080265A8 - .align 2, 0 + ldr r0, _08026558 @ =0x0200B0C0 + movs r1, #0xa + ldrsb r1, [r0, r1] + cmp r1, #0 + beq _08026568 + adds r4, #0x32 + movs r0, #0 + ldrsb r0, [r4, r0] + adds r0, #1 + movs r1, #7 + bl __modsi3 + strb r0, [r4] + ldr r0, [r6] + adds r0, #0x33 + movs r1, #0 + strb r1, [r0] + ldr r0, [r6] + adds r0, #0x34 + strb r5, [r0] + b _080265A8 + .align 2, 0 _08026554: .4byte 0x000006F2 _08026558: .4byte 0x0200B0C0 _0802655C: .4byte 0x020314E0 _08026560: .4byte 0x000006DA _08026564: .4byte 0x000006D9 _08026568: - adds r4, #0x32 - movs r0, #0 - ldrsb r0, [r4, r0] - adds r0, #1 - movs r1, #6 - bl __modsi3 - strb r0, [r4] - ldr r4, [r6] - adds r0, r4, #0 - adds r0, #0x32 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #1 - movs r1, #6 - bl __modsi3 - adds r4, #0x33 - strb r0, [r4] - ldr r4, [r6] - adds r0, r4, #0 - adds r0, #0x32 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #2 - movs r1, #6 - bl __modsi3 - adds r4, #0x34 - strb r0, [r4] + adds r4, #0x32 + movs r0, #0 + ldrsb r0, [r4, r0] + adds r0, #1 + movs r1, #6 + bl __modsi3 + strb r0, [r4] + ldr r4, [r6] + adds r0, r4, #0 + adds r0, #0x32 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #1 + movs r1, #6 + bl __modsi3 + adds r4, #0x33 + strb r0, [r4] + ldr r4, [r6] + adds r0, r4, #0 + adds r0, #0x32 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #2 + movs r1, #6 + bl __modsi3 + adds r4, #0x34 + strb r0, [r4] _080265A8: - ldr r5, _080265F4 @ =0x020314E0 - ldr r2, [r5] - ldr r4, _080265F8 @ =0x08055A68 - adds r0, r2, #0 - adds r0, #0x32 - movs r3, #0 - ldrsb r3, [r0, r3] - ldr r6, _080265FC @ =0x0200B0C0 - ldrb r1, [r6, #4] - lsls r0, r1, #3 - subs r0, r0, r1 - adds r0, r0, r3 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - adds r2, #0x35 - strb r0, [r2] - ldr r1, [r5] - ldr r2, _08026600 @ =0x08137928 - adds r0, r1, #0 - adds r0, #0x35 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r7, _08026604 @ =0x000006DA - adds r1, r1, r7 - strb r0, [r1] - movs r0, #0 - movs r1, #1 - bl sub_1C7F4 - movs r0, #0x81 - bl m4aSongNumStart - b _0802674E - .align 2, 0 + ldr r5, _080265F4 @ =0x020314E0 + ldr r2, [r5] + ldr r4, _080265F8 @ =0x08055A68 + adds r0, r2, #0 + adds r0, #0x32 + movs r3, #0 + ldrsb r3, [r0, r3] + ldr r6, _080265FC @ =0x0200B0C0 + ldrb r1, [r6, #4] + lsls r0, r1, #3 + subs r0, r0, r1 + adds r0, r0, r3 + lsls r0, r0, #1 + adds r0, r0, r4 + ldrh r0, [r0] + adds r2, #0x35 + strb r0, [r2] + ldr r1, [r5] + ldr r2, _08026600 @ =0x08137928 + adds r0, r1, #0 + adds r0, #0x35 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r7, _08026604 @ =0x000006DA + adds r1, r1, r7 + strb r0, [r1] + movs r0, #0 + movs r1, #1 + bl sub_1C7F4 + movs r0, #0x81 + bl m4aSongNumStart + b _0802674E + .align 2, 0 _080265F4: .4byte 0x020314E0 _080265F8: .4byte 0x08055A68 _080265FC: .4byte 0x0200B0C0 _08026600: .4byte 0x08137928 _08026604: .4byte 0x000006DA _08026608: - ldr r0, _08026640 @ =0x020314E0 - ldr r1, [r0] - ldrh r0, [r1, #0x18] - cmp r0, #0x31 - bhi _08026628 - adds r0, #1 - strh r0, [r1, #0x18] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x32 - bne _08026628 - movs r0, #0 - strb r0, [r1, #0x17] - movs r0, #1 - bl sub_19B64 + ldr r0, _08026640 @ =0x020314E0 + ldr r1, [r0] + ldrh r0, [r1, #0x18] + cmp r0, #0x31 + bhi _08026628 + adds r0, #1 + strh r0, [r1, #0x18] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x32 + bne _08026628 + movs r0, #0 + strb r0, [r1, #0x17] + movs r0, #1 + bl sub_19B64 _08026628: - ldr r0, _08026640 @ =0x020314E0 - ldr r2, [r0] - ldrh r3, [r2, #0x18] - mov sb, r0 - cmp r3, #0x1c - bls _08026636 - b _08026742 + ldr r0, _08026640 @ =0x020314E0 + ldr r2, [r0] + ldrh r3, [r2, #0x18] + mov sb, r0 + cmp r3, #0x1c + bls _08026636 + b _08026742 _08026636: - cmp r3, #7 - bhi _08026644 - adds r0, r3, #0 - lsrs r3, r0, #2 - b _08026654 - .align 2, 0 + cmp r3, #7 + bhi _08026644 + adds r0, r3, #0 + lsrs r3, r0, #2 + b _08026654 + .align 2, 0 _08026640: .4byte 0x020314E0 _08026644: - ldrh r0, [r2, #0x18] - subs r0, #8 - movs r1, #3 - bl __divsi3 - adds r0, #2 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 + ldrh r0, [r2, #0x18] + subs r0, #8 + movs r1, #3 + bl __divsi3 + adds r0, #2 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 _08026654: - ldr r0, _08026760 @ =0x0200B0C0 - ldr r1, [r0, #0x44] - adds r1, #0x88 - ldr r6, [r1] - ldrh r1, [r6] - cmp r1, #0 - beq _08026724 - mov r0, sb - ldr r1, [r0] - adds r0, r1, #0 - adds r0, #0x58 - ldrh r2, [r0] - movs r0, #0x60 - subs r0, r0, r2 - strh r0, [r6, #2] - movs r4, #0xdc - lsls r4, r4, #3 - adds r2, r1, r4 - movs r5, #0x96 - lsls r5, r5, #1 - adds r0, r5, #0 - ldrh r2, [r2] - adds r0, r0, r2 - adds r1, #0x5a - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r6, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc7 - ble _08026696 - movs r0, #0xc8 - strh r0, [r6, #4] + ldr r0, _08026760 @ =0x0200B0C0 + ldr r1, [r0, #0x44] + adds r1, #0x88 + ldr r6, [r1] + ldrh r1, [r6] + cmp r1, #0 + beq _08026724 + mov r0, sb + ldr r1, [r0] + adds r0, r1, #0 + adds r0, #0x58 + ldrh r2, [r0] + movs r0, #0x60 + subs r0, r0, r2 + strh r0, [r6, #2] + movs r4, #0xdc + lsls r4, r4, #3 + adds r2, r1, r4 + movs r5, #0x96 + lsls r5, r5, #1 + adds r0, r5, #0 + ldrh r2, [r2] + adds r0, r0, r2 + adds r1, #0x5a + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r6, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xc7 + ble _08026696 + movs r0, #0xc8 + strh r0, [r6, #4] _08026696: - movs r2, #0 - lsls r1, r3, #0x10 - ldr r7, _08026764 @ =0x03005000 - mov r8, r7 - ldr r0, _08026768 @ =0x086B51CE - mov ip, r0 - asrs r1, r1, #0x10 - movs r0, #0x36 - adds r3, r1, #0 - muls r3, r0, r3 - str r3, [sp] - ldr r4, _0802676C @ =0xFFFFFE00 - mov sl, r4 + movs r2, #0 + lsls r1, r3, #0x10 + ldr r7, _08026764 @ =0x03005000 + mov r8, r7 + ldr r0, _08026768 @ =0x086B51CE + mov ip, r0 + asrs r1, r1, #0x10 + movs r0, #0x36 + adds r3, r1, #0 + muls r3, r0, r3 + str r3, [sp] + ldr r4, _0802676C @ =0xFFFFFE00 + mov sl, r4 _080266B0: - lsls r3, r2, #0x10 - asrs r3, r3, #0x10 - lsls r4, r3, #3 - adds r4, #8 - adds r4, r6, r4 - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, r8 - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - ldr r5, [sp] - adds r0, r0, r5 - add r0, ip - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - adds r0, r0, r5 - add r0, ip - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - adds r1, r1, r5 - add r1, ip - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, r8 - ldrh r5, [r2, #2] - lsls r1, r5, #0x17 - lsrs r1, r1, #0x17 - movs r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _08026770 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, sl - ands r0, r5 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, r8 - ldrb r0, [r6, #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, #8 - ble _080266B0 + lsls r3, r2, #0x10 + asrs r3, r3, #0x10 + lsls r4, r3, #3 + adds r4, #8 + adds r4, r6, r4 + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, r8 + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + ldr r5, [sp] + adds r0, r0, r5 + add r0, ip + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + adds r0, r0, r5 + add r0, ip + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + adds r1, r1, r5 + add r1, ip + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, r8 + ldrh r5, [r2, #2] + lsls r1, r5, #0x17 + lsrs r1, r1, #0x17 + movs r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _08026770 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, sl + ands r0, r5 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, r8 + ldrb r0, [r6, #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, #8 + ble _080266B0 _08026724: - mov r4, sb - ldr r3, [r4] - ldrh r0, [r3, #0x18] - cmp r0, #0x1c - bne _08026742 - ldr r5, _08026760 @ =0x0200B0C0 - ldr r0, [r5, #0x44] - adds r0, #0x88 - ldr r1, [r0] - movs r2, #0 - movs r0, #0 - strh r0, [r1] - adds r0, r3, #0 - adds r0, #0xe4 - strb r2, [r0] + mov r4, sb + ldr r3, [r4] + ldrh r0, [r3, #0x18] + cmp r0, #0x1c + bne _08026742 + ldr r5, _08026760 @ =0x0200B0C0 + ldr r0, [r5, #0x44] + adds r0, #0x88 + ldr r1, [r0] + movs r2, #0 + movs r0, #0 + strh r0, [r1] + adds r0, r3, #0 + adds r0, #0xe4 + strb r2, [r0] _08026742: - mov r6, sb - ldr r0, [r6] - ldr r7, _08026774 @ =0x000006C4 - adds r0, r0, r7 - movs r1, #0 - strb r1, [r0] + mov r6, sb + ldr r0, [r6] + ldr r7, _08026774 @ =0x000006C4 + adds r0, r0, r7 + movs r1, #0 + strb r1, [r0] _0802674E: - 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 + 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 _08026760: .4byte 0x0200B0C0 _08026764: .4byte 0x03005000 _08026768: .4byte 0x086B51CE @@ -75945,60 +75945,60 @@ _0802676C: .4byte 0xFFFFFE00 _08026770: .4byte 0x000001FF _08026774: .4byte 0x000006C4 - thumb_func_start sub_26778 + thumb_func_start sub_26778 sub_26778: @ 0x08026778 - push {r4, r5, lr} - ldr r0, _080267E0 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #0x64 - bl __umodsi3 - movs r1, #0xa - bl __udivsi3 - ldr r4, _080267E4 @ =0x020314E0 - ldr r2, [r4] - ldr r1, _080267E8 @ =0x0000070C - adds r3, r2, r1 - movs r5, #0 - movs r1, #0 - strh r1, [r3] - ldr r1, _080267EC @ =0x08137AB8 - lsls r0, r0, #0x10 - asrs r3, r0, #0x10 - lsls r0, r3, #1 - adds r0, r0, r1 - ldrh r1, [r0] - ldr r0, _080267F0 @ =0x0000072F - adds r2, r2, r0 - strb r1, [r2] - ldr r0, [r4] - ldr r2, _080267F4 @ =0x0000072E - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r4] - subs r2, #3 - adds r0, r0, r2 - strb r1, [r0] - cmp r3, #7 - beq _080267C2 - cmp r3, #9 - bne _080267FC + push {r4, r5, lr} + ldr r0, _080267E0 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #0x64 + bl __umodsi3 + movs r1, #0xa + bl __udivsi3 + ldr r4, _080267E4 @ =0x020314E0 + ldr r2, [r4] + ldr r1, _080267E8 @ =0x0000070C + adds r3, r2, r1 + movs r5, #0 + movs r1, #0 + strh r1, [r3] + ldr r1, _080267EC @ =0x08137AB8 + lsls r0, r0, #0x10 + asrs r3, r0, #0x10 + lsls r0, r3, #1 + adds r0, r0, r1 + ldrh r1, [r0] + ldr r0, _080267F0 @ =0x0000072F + adds r2, r2, r0 + strb r1, [r2] + ldr r0, [r4] + ldr r2, _080267F4 @ =0x0000072E + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r4] + subs r2, #3 + adds r0, r0, r2 + strb r1, [r0] + cmp r3, #7 + beq _080267C2 + cmp r3, #9 + bne _080267FC _080267C2: - ldr r0, [r4] - movs r1, #0xe5 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - ldr r0, [r4] - ldr r2, _080267F8 @ =0x0000072A - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r4] - subs r2, #1 - adds r0, r0, r2 - strb r1, [r0] - b _08026816 - .align 2, 0 + ldr r0, [r4] + movs r1, #0xe5 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + ldr r0, [r4] + ldr r2, _080267F8 @ =0x0000072A + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r4] + subs r2, #1 + adds r0, r0, r2 + strb r1, [r0] + b _08026816 + .align 2, 0 _080267E0: .4byte 0x0200B0C0 _080267E4: .4byte 0x020314E0 _080267E8: .4byte 0x0000070C @@ -76007,198 +76007,198 @@ _080267F0: .4byte 0x0000072F _080267F4: .4byte 0x0000072E _080267F8: .4byte 0x0000072A _080267FC: - ldr r0, [r4] - movs r1, #0xe5 - lsls r1, r1, #3 - adds r0, r0, r1 - strb r5, [r0] - ldr r0, [r4] - ldr r2, _0802681C @ =0x0000072A - adds r0, r0, r2 - strb r5, [r0] - ldr r0, [r4] - adds r1, #1 - adds r0, r0, r1 - strb r5, [r0] + ldr r0, [r4] + movs r1, #0xe5 + lsls r1, r1, #3 + adds r0, r0, r1 + strb r5, [r0] + ldr r0, [r4] + ldr r2, _0802681C @ =0x0000072A + adds r0, r0, r2 + strb r5, [r0] + ldr r0, [r4] + adds r1, #1 + adds r0, r0, r1 + strb r5, [r0] _08026816: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0802681C: .4byte 0x0000072A - thumb_func_start sub_26820 + thumb_func_start sub_26820 sub_26820: @ 0x08026820 - push {r4, lr} - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - cmp r1, #0 - beq _08026878 - ldr r2, _0802686C @ =0x020314E0 - ldr r0, [r2] - ldr r1, _08026870 @ =0x0000072A - adds r0, r0, r1 - movs r3, #1 - strb r3, [r0] - ldr r0, [r2] - movs r4, #0xe5 - lsls r4, r4, #3 - adds r0, r0, r4 - strb r3, [r0] - ldr r0, [r2] - adds r1, #7 - adds r0, r0, r1 - strb r3, [r0] - ldr r0, [r2] - adds r4, #6 - adds r0, r0, r4 - movs r1, #3 - strb r1, [r0] - ldr r0, [r2] - subs r4, #3 - adds r0, r0, r4 - strb r1, [r0] - ldr r0, [r2] - adds r4, #4 - adds r0, r0, r4 - strb r1, [r0] - ldr r0, [r2] - ldr r1, _08026874 @ =0x00000729 - adds r0, r0, r1 - strb r3, [r0] - b _080268AC - .align 2, 0 + push {r4, lr} + lsls r0, r0, #0x10 + asrs r1, r0, #0x10 + cmp r1, #0 + beq _08026878 + ldr r2, _0802686C @ =0x020314E0 + ldr r0, [r2] + ldr r1, _08026870 @ =0x0000072A + adds r0, r0, r1 + movs r3, #1 + strb r3, [r0] + ldr r0, [r2] + movs r4, #0xe5 + lsls r4, r4, #3 + adds r0, r0, r4 + strb r3, [r0] + ldr r0, [r2] + adds r1, #7 + adds r0, r0, r1 + strb r3, [r0] + ldr r0, [r2] + adds r4, #6 + adds r0, r0, r4 + movs r1, #3 + strb r1, [r0] + ldr r0, [r2] + subs r4, #3 + adds r0, r0, r4 + strb r1, [r0] + ldr r0, [r2] + adds r4, #4 + adds r0, r0, r4 + strb r1, [r0] + ldr r0, [r2] + ldr r1, _08026874 @ =0x00000729 + adds r0, r0, r1 + strb r3, [r0] + b _080268AC + .align 2, 0 _0802686C: .4byte 0x020314E0 _08026870: .4byte 0x0000072A _08026874: .4byte 0x00000729 _08026878: - ldr r2, _080268BC @ =0x020314E0 - ldr r0, [r2] - ldr r3, _080268C0 @ =0x00000729 - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r2] - ldr r4, _080268C4 @ =0x0000072A - adds r0, r0, r4 - strb r1, [r0] - ldr r0, [r2] - subs r3, #1 - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r2] - adds r4, #4 - adds r0, r0, r4 - strb r1, [r0] - ldr r0, [r2] - adds r3, #3 - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r2] - adds r4, #1 - adds r0, r0, r4 - movs r1, #2 - strb r1, [r0] + ldr r2, _080268BC @ =0x020314E0 + ldr r0, [r2] + ldr r3, _080268C0 @ =0x00000729 + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r2] + ldr r4, _080268C4 @ =0x0000072A + adds r0, r0, r4 + strb r1, [r0] + ldr r0, [r2] + subs r3, #1 + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r2] + adds r4, #4 + adds r0, r0, r4 + strb r1, [r0] + ldr r0, [r2] + adds r3, #3 + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r2] + adds r4, #1 + adds r0, r0, r4 + movs r1, #2 + strb r1, [r0] _080268AC: - ldr r0, [r2] - ldr r1, _080268C8 @ =0x0000070E - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + ldr r0, [r2] + ldr r1, _080268C8 @ =0x0000070E + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _080268BC: .4byte 0x020314E0 _080268C0: .4byte 0x00000729 _080268C4: .4byte 0x0000072A _080268C8: .4byte 0x0000070E - thumb_func_start sub_268CC + thumb_func_start sub_268CC sub_268CC: @ 0x080268CC - push {r4, r5, r6, r7, lr} - ldr r5, _08026974 @ =0x020314E0 - ldr r0, [r5] - ldr r1, _08026978 @ =0x000006BC - adds r0, r0, r1 - movs r6, #0 - strb r6, [r0] - ldr r0, [r5] - ldr r2, _0802697C @ =0x000006BD - adds r0, r0, r2 - strb r6, [r0] - ldr r7, _08026980 @ =0x0200B0C0 - ldrb r0, [r7, #4] - cmp r0, #0 - bne _08026902 - ldr r0, [r5] - ldr r1, _08026984 @ =0x000002BE - adds r0, r0, r1 - strb r6, [r0] - ldr r0, [r5] - ldr r2, _08026988 @ =0x000002C2 - adds r0, r0, r2 - strb r6, [r0] - ldr r0, [r5] - adds r1, #2 - adds r0, r0, r1 - strh r6, [r0] + push {r4, r5, r6, r7, lr} + ldr r5, _08026974 @ =0x020314E0 + ldr r0, [r5] + ldr r1, _08026978 @ =0x000006BC + adds r0, r0, r1 + movs r6, #0 + strb r6, [r0] + ldr r0, [r5] + ldr r2, _0802697C @ =0x000006BD + adds r0, r0, r2 + strb r6, [r0] + ldr r7, _08026980 @ =0x0200B0C0 + ldrb r0, [r7, #4] + cmp r0, #0 + bne _08026902 + ldr r0, [r5] + ldr r1, _08026984 @ =0x000002BE + adds r0, r0, r1 + strb r6, [r0] + ldr r0, [r5] + ldr r2, _08026988 @ =0x000002C2 + adds r0, r0, r2 + strb r6, [r0] + ldr r0, [r5] + adds r1, #2 + adds r0, r0, r1 + strh r6, [r0] _08026902: - ldr r0, [r5] - ldr r2, _0802698C @ =0x000006BE - adds r0, r0, r2 - movs r1, #1 - strb r1, [r0] - ldr r0, [r5] - movs r1, #0xd8 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r4, #0 - strh r6, [r0] - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 - ldr r0, [r5] - ldr r2, _08026990 @ =0x000006C4 - adds r0, r0, r2 - strb r4, [r0] - ldr r0, [r7, #0x44] - ldr r0, [r0, #0x34] - strh r6, [r0] - ldr r0, [r5] - movs r1, #0xe6 - lsls r1, r1, #3 - adds r0, r0, r1 - strb r4, [r0] - ldr r0, [r5] - subs r2, #0xd1 - adds r0, r0, r2 - strb r4, [r0] - ldr r0, [r5] - ldr r2, _08026994 @ =0x00000736 - adds r1, r0, r2 - strb r4, [r1] - ldr r1, _08026998 @ =0x00000739 - adds r0, r0, r1 - strb r4, [r0] - ldr r0, [r5] - adds r2, #1 - adds r1, r0, r2 - strb r4, [r1] - ldr r1, _0802699C @ =0x0000073A - adds r0, r0, r1 - strb r4, [r0] - ldr r0, [r5] - adds r2, #1 - adds r1, r0, r2 - strb r4, [r1] - ldr r1, _080269A0 @ =0x0000073B - adds r0, r0, r1 - strb r4, [r0] - bl sub_4D648 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + ldr r0, [r5] + ldr r2, _0802698C @ =0x000006BE + adds r0, r0, r2 + movs r1, #1 + strb r1, [r0] + ldr r0, [r5] + movs r1, #0xd8 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r4, #0 + strh r6, [r0] + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 + ldr r0, [r5] + ldr r2, _08026990 @ =0x000006C4 + adds r0, r0, r2 + strb r4, [r0] + ldr r0, [r7, #0x44] + ldr r0, [r0, #0x34] + strh r6, [r0] + ldr r0, [r5] + movs r1, #0xe6 + lsls r1, r1, #3 + adds r0, r0, r1 + strb r4, [r0] + ldr r0, [r5] + subs r2, #0xd1 + adds r0, r0, r2 + strb r4, [r0] + ldr r0, [r5] + ldr r2, _08026994 @ =0x00000736 + adds r1, r0, r2 + strb r4, [r1] + ldr r1, _08026998 @ =0x00000739 + adds r0, r0, r1 + strb r4, [r0] + ldr r0, [r5] + adds r2, #1 + adds r1, r0, r2 + strb r4, [r1] + ldr r1, _0802699C @ =0x0000073A + adds r0, r0, r1 + strb r4, [r0] + ldr r0, [r5] + adds r2, #1 + adds r1, r0, r2 + strb r4, [r1] + ldr r1, _080269A0 @ =0x0000073B + adds r0, r0, r1 + strb r4, [r0] + bl sub_4D648 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08026974: .4byte 0x020314E0 _08026978: .4byte 0x000006BC _0802697C: .4byte 0x000006BD @@ -76212,48 +76212,48 @@ _08026998: .4byte 0x00000739 _0802699C: .4byte 0x0000073A _080269A0: .4byte 0x0000073B - thumb_func_start sub_269A4 + thumb_func_start sub_269A4 sub_269A4: @ 0x080269A4 - push {r4, r5, lr} - ldr r2, _080269F4 @ =0x020314E0 - ldr r0, [r2] - movs r3, #0 - strb r3, [r0, #0x17] - ldr r0, [r2] - strh r3, [r0, #0x18] - movs r1, #0xa5 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #2 - strb r1, [r0] - ldr r2, [r2] - adds r4, r2, #0 - adds r4, #0x6c - movs r5, #0xe1 - lsls r5, r5, #4 - adds r0, r5, #0 - ldrh r1, [r4] - adds r0, r0, r1 - ldr r5, _080269F8 @ =0x00000296 - adds r1, r2, r5 - strh r0, [r1] - strh r3, [r4] - ldr r0, _080269FC @ =0x00000724 - adds r2, r2, r0 - subs r0, #0x1c - strh r0, [r2] - ldr r1, _08026A00 @ =0x040000D4 - ldr r0, _08026A04 @ =0x081C0064 - str r0, [r1] - ldr r0, _08026A08 @ =0x05000180 - str r0, [r1, #4] - ldr r0, _08026A0C @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, lr} + ldr r2, _080269F4 @ =0x020314E0 + ldr r0, [r2] + movs r3, #0 + strb r3, [r0, #0x17] + ldr r0, [r2] + strh r3, [r0, #0x18] + movs r1, #0xa5 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #2 + strb r1, [r0] + ldr r2, [r2] + adds r4, r2, #0 + adds r4, #0x6c + movs r5, #0xe1 + lsls r5, r5, #4 + adds r0, r5, #0 + ldrh r1, [r4] + adds r0, r0, r1 + ldr r5, _080269F8 @ =0x00000296 + adds r1, r2, r5 + strh r0, [r1] + strh r3, [r4] + ldr r0, _080269FC @ =0x00000724 + adds r2, r2, r0 + subs r0, #0x1c + strh r0, [r2] + ldr r1, _08026A00 @ =0x040000D4 + ldr r0, _08026A04 @ =0x081C0064 + str r0, [r1] + ldr r0, _08026A08 @ =0x05000180 + str r0, [r1, #4] + ldr r0, _08026A0C @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _080269F4: .4byte 0x020314E0 _080269F8: .4byte 0x00000296 _080269FC: .4byte 0x00000724 @@ -76262,165 +76262,165 @@ _08026A04: .4byte 0x081C0064 _08026A08: .4byte 0x05000180 _08026A0C: .4byte 0x80000010 - thumb_func_start sub_26A10 + thumb_func_start sub_26A10 sub_26A10: @ 0x08026A10 - push {r4, r5, r6, lr} - ldr r4, _08026A68 @ =0x020314E0 - ldr r1, [r4] - 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 _08026A4C - ldr r3, _08026A6C @ =0x00000296 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, #1 - bhi _08026A4C - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #5 - bgt _08026A4C - bl m4aMPlayAllStop - movs r0, #0x13 - bl m4aSongNumStart - ldr r0, [r4] - movs r1, #0xc8 - strh r1, [r0, #0x18] - movs r1, #6 - strb r1, [r0, #0x17] + push {r4, r5, r6, lr} + ldr r4, _08026A68 @ =0x020314E0 + ldr r1, [r4] + 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 _08026A4C + ldr r3, _08026A6C @ =0x00000296 + adds r0, r1, r3 + ldrh r0, [r0] + cmp r0, #1 + bhi _08026A4C + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #5 + bgt _08026A4C + bl m4aMPlayAllStop + movs r0, #0x13 + bl m4aSongNumStart + ldr r0, [r4] + movs r1, #0xc8 + strh r1, [r0, #0x18] + movs r1, #6 + strb r1, [r0, #0x17] _08026A4C: - ldr r1, _08026A68 @ =0x020314E0 - ldr r0, [r1] - ldrb r0, [r0, #0x17] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r5, r1, #0 - cmp r0, #7 - bls _08026A5E - b _08026E9E + ldr r1, _08026A68 @ =0x020314E0 + ldr r0, [r1] + ldrb r0, [r0, #0x17] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r5, r1, #0 + cmp r0, #7 + bls _08026A5E + b _08026E9E _08026A5E: - lsls r0, r0, #2 - ldr r1, _08026A70 @ =_08026A74 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08026A70 @ =_08026A74 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08026A68: .4byte 0x020314E0 _08026A6C: .4byte 0x00000296 _08026A70: .4byte _08026A74 _08026A74: @ jump table - .4byte _08026A94 @ case 0 - .4byte _08026AC4 @ case 1 - .4byte _08026C10 @ case 2 - .4byte _08026C68 @ case 3 - .4byte _08026C88 @ case 4 - .4byte _08026CC0 @ case 5 - .4byte _08026E5C @ case 6 - .4byte _08026E84 @ case 7 + .4byte _08026A94 @ case 0 + .4byte _08026AC4 @ case 1 + .4byte _08026C10 @ case 2 + .4byte _08026C68 @ case 3 + .4byte _08026C88 @ case 4 + .4byte _08026CC0 @ case 5 + .4byte _08026E5C @ case 6 + .4byte _08026E84 @ case 7 _08026A94: - ldr r0, _08026ABC @ =0x0200B0C0 - ldrb r2, [r0, #0xf] - cmp r2, #0 - bne _08026AAE - ldr r0, [r5] - ldrb r1, [r0, #0x17] - adds r1, #1 - strb r1, [r0, #0x17] - ldr r0, [r5] - movs r1, #0xe1 - lsls r1, r1, #3 - adds r0, r0, r1 - str r2, [r0] + ldr r0, _08026ABC @ =0x0200B0C0 + ldrb r2, [r0, #0xf] + cmp r2, #0 + bne _08026AAE + ldr r0, [r5] + ldrb r1, [r0, #0x17] + adds r1, #1 + strb r1, [r0, #0x17] + ldr r0, [r5] + movs r1, #0xe1 + lsls r1, r1, #3 + adds r0, r0, r1 + str r2, [r0] _08026AAE: - ldr r0, [r5] - ldr r2, _08026AC0 @ =0x000006BC - adds r0, r0, r2 - movs r1, #0 - strb r1, [r0] - b _08026E9E - .align 2, 0 + ldr r0, [r5] + ldr r2, _08026AC0 @ =0x000006BC + adds r0, r0, r2 + movs r1, #0 + strb r1, [r0] + b _08026E9E + .align 2, 0 _08026ABC: .4byte 0x0200B0C0 _08026AC0: .4byte 0x000006BC _08026AC4: - movs r0, #4 - movs r1, #0 - bl sub_1C7F4 - ldr r4, _08026B5C @ =0x020314E0 - ldr r0, [r4] - ldrh r0, [r0, #0x18] - cmp r0, #0x23 - bne _08026ADC - movs r0, #0x17 - bl m4aSongNumStart + movs r0, #4 + movs r1, #0 + bl sub_1C7F4 + ldr r4, _08026B5C @ =0x020314E0 + ldr r0, [r4] + ldrh r0, [r0, #0x18] + cmp r0, #0x23 + bne _08026ADC + movs r0, #0x17 + bl m4aSongNumStart _08026ADC: - ldr r1, [r4] - ldr r3, _08026B60 @ =0x000006BC - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08026B1E - ldrb r0, [r1, #0x17] - adds r0, #1 - movs r5, #0 - strb r0, [r1, #0x17] - ldr r0, [r4] - ldrh r0, [r0, #0x18] - cmp r0, #0x22 - bhi _08026B02 - movs r0, #0x17 - bl m4aSongNumStart + ldr r1, [r4] + ldr r3, _08026B60 @ =0x000006BC + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08026B1E + ldrb r0, [r1, #0x17] + adds r0, #1 + movs r5, #0 + strb r0, [r1, #0x17] + ldr r0, [r4] + ldrh r0, [r0, #0x18] + cmp r0, #0x22 + bhi _08026B02 + movs r0, #0x17 + bl m4aSongNumStart _08026B02: - ldr r0, [r4] - ldr r1, _08026B64 @ =0x000006BD - adds r0, r0, r1 - strb r5, [r0] - ldr r0, [r4] - ldr r2, _08026B68 @ =0x000006BE - adds r0, r0, r2 - movs r1, #1 - strb r1, [r0] - ldr r0, [r4] - movs r3, #0xd8 - lsls r3, r3, #3 - adds r0, r0, r3 - strh r5, [r0] + ldr r0, [r4] + ldr r1, _08026B64 @ =0x000006BD + adds r0, r0, r1 + strb r5, [r0] + ldr r0, [r4] + ldr r2, _08026B68 @ =0x000006BE + adds r0, r0, r2 + movs r1, #1 + strb r1, [r0] + ldr r0, [r4] + movs r3, #0xd8 + lsls r3, r3, #3 + adds r0, r0, r3 + strh r5, [r0] _08026B1E: - ldr r5, _08026B5C @ =0x020314E0 - ldr r6, [r5] - ldrh r4, [r6, #0x18] - adds r0, r4, #0 - movs r1, #0x28 - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #0xa - bl __udivsi3 - adds r4, #1 - movs r3, #0 - strh r4, [r6, #0x18] - lsls r0, r0, #0x10 - asrs r2, r0, #0x10 - cmp r2, #0 - bne _08026B74 - ldr r1, _08026B6C @ =0x00000736 - adds r0, r6, r1 - strb r3, [r0] - ldr r0, [r5] - ldr r2, _08026B70 @ =0x00000737 - adds r0, r0, r2 - strb r3, [r0] - ldr r0, [r5] - adds r1, #2 - adds r0, r0, r1 - strb r3, [r0] - b _08026BD8 - .align 2, 0 + ldr r5, _08026B5C @ =0x020314E0 + ldr r6, [r5] + ldrh r4, [r6, #0x18] + adds r0, r4, #0 + movs r1, #0x28 + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r1, #0xa + bl __udivsi3 + adds r4, #1 + movs r3, #0 + strh r4, [r6, #0x18] + lsls r0, r0, #0x10 + asrs r2, r0, #0x10 + cmp r2, #0 + bne _08026B74 + ldr r1, _08026B6C @ =0x00000736 + adds r0, r6, r1 + strb r3, [r0] + ldr r0, [r5] + ldr r2, _08026B70 @ =0x00000737 + adds r0, r0, r2 + strb r3, [r0] + ldr r0, [r5] + adds r1, #2 + adds r0, r0, r1 + strb r3, [r0] + b _08026BD8 + .align 2, 0 _08026B5C: .4byte 0x020314E0 _08026B60: .4byte 0x000006BC _08026B64: .4byte 0x000006BD @@ -76428,335 +76428,335 @@ _08026B68: .4byte 0x000006BE _08026B6C: .4byte 0x00000736 _08026B70: .4byte 0x00000737 _08026B74: - cmp r2, #1 - bne _08026B9C - ldr r0, _08026B94 @ =0x00000736 - adds r1, r6, r0 - movs r0, #3 - strb r0, [r1] - ldr r0, [r5] - ldr r1, _08026B98 @ =0x00000737 - adds r0, r0, r1 - strb r2, [r0] - ldr r0, [r5] - movs r2, #0xe7 - lsls r2, r2, #3 - adds r0, r0, r2 - strb r3, [r0] - b _08026BD8 - .align 2, 0 + cmp r2, #1 + bne _08026B9C + ldr r0, _08026B94 @ =0x00000736 + adds r1, r6, r0 + movs r0, #3 + strb r0, [r1] + ldr r0, [r5] + ldr r1, _08026B98 @ =0x00000737 + adds r0, r0, r1 + strb r2, [r0] + ldr r0, [r5] + movs r2, #0xe7 + lsls r2, r2, #3 + adds r0, r0, r2 + strb r3, [r0] + b _08026BD8 + .align 2, 0 _08026B94: .4byte 0x00000736 _08026B98: .4byte 0x00000737 _08026B9C: - cmp r2, #2 - bne _08026BC0 - ldr r3, _08026BBC @ =0x00000736 - adds r0, r6, r3 - movs r1, #3 - strb r1, [r0] - ldr r0, [r5] - adds r3, #1 - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r5] - movs r1, #0xe7 - lsls r1, r1, #3 - adds r0, r0, r1 - strb r2, [r0] - b _08026BD8 - .align 2, 0 + cmp r2, #2 + bne _08026BC0 + ldr r3, _08026BBC @ =0x00000736 + adds r0, r6, r3 + movs r1, #3 + strb r1, [r0] + ldr r0, [r5] + adds r3, #1 + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r5] + movs r1, #0xe7 + lsls r1, r1, #3 + adds r0, r0, r1 + strb r2, [r0] + b _08026BD8 + .align 2, 0 _08026BBC: .4byte 0x00000736 _08026BC0: - ldr r2, _08026C04 @ =0x00000736 - adds r0, r6, r2 - movs r1, #3 - strb r1, [r0] - ldr r0, [r5] - ldr r3, _08026C08 @ =0x00000737 - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r5] - adds r2, #2 - adds r0, r0, r2 - strb r1, [r0] + ldr r2, _08026C04 @ =0x00000736 + adds r0, r6, r2 + movs r1, #3 + strb r1, [r0] + ldr r0, [r5] + ldr r3, _08026C08 @ =0x00000737 + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r5] + adds r2, #2 + adds r0, r0, r2 + strb r1, [r0] _08026BD8: - ldr r0, [r5] - ldr r3, _08026C04 @ =0x00000736 - adds r1, r0, r3 - ldrb r1, [r1] - ldr r2, _08026C0C @ =0x00000739 - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r5] - adds r3, #1 - adds r1, r0, r3 - ldrb r1, [r1] - adds r2, #1 - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r5] - adds r3, #1 - adds r1, r0, r3 - ldrb r1, [r1] - adds r2, #1 - adds r0, r0, r2 - strb r1, [r0] - b _08026E9E - .align 2, 0 + ldr r0, [r5] + ldr r3, _08026C04 @ =0x00000736 + adds r1, r0, r3 + ldrb r1, [r1] + ldr r2, _08026C0C @ =0x00000739 + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r5] + adds r3, #1 + adds r1, r0, r3 + ldrb r1, [r1] + adds r2, #1 + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r5] + adds r3, #1 + adds r1, r0, r3 + ldrb r1, [r1] + adds r2, #1 + adds r0, r0, r2 + strb r1, [r0] + b _08026E9E + .align 2, 0 _08026C04: .4byte 0x00000736 _08026C08: .4byte 0x00000737 _08026C0C: .4byte 0x00000739 _08026C10: - bl sub_219A8 - ldr r5, _08026C5C @ =0x020314E0 - ldr r0, [r5] - movs r3, #0xe6 - lsls r3, r3, #3 - adds r0, r0, r3 - movs r4, #0 - movs r1, #2 - strb r1, [r0] - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 - ldr r0, [r5] - ldr r2, _08026C60 @ =0x00000736 - adds r1, r0, r2 - strb r4, [r1] - ldr r3, _08026C64 @ =0x00000739 - adds r0, r0, r3 - strb r4, [r0] - ldr r0, [r5] - adds r2, #1 - adds r1, r0, r2 - strb r4, [r1] - adds r3, #1 - adds r0, r0, r3 - strb r4, [r0] - ldr r0, [r5] - adds r2, #1 - adds r1, r0, r2 - strb r4, [r1] - adds r3, #1 - adds r0, r0, r3 - strb r4, [r0] - ldr r1, [r5] - b _08026E72 - .align 2, 0 + bl sub_219A8 + ldr r5, _08026C5C @ =0x020314E0 + ldr r0, [r5] + movs r3, #0xe6 + lsls r3, r3, #3 + adds r0, r0, r3 + movs r4, #0 + movs r1, #2 + strb r1, [r0] + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 + ldr r0, [r5] + ldr r2, _08026C60 @ =0x00000736 + adds r1, r0, r2 + strb r4, [r1] + ldr r3, _08026C64 @ =0x00000739 + adds r0, r0, r3 + strb r4, [r0] + ldr r0, [r5] + adds r2, #1 + adds r1, r0, r2 + strb r4, [r1] + adds r3, #1 + adds r0, r0, r3 + strb r4, [r0] + ldr r0, [r5] + adds r2, #1 + adds r1, r0, r2 + strb r4, [r1] + adds r3, #1 + adds r0, r0, r3 + strb r4, [r0] + ldr r1, [r5] + b _08026E72 + .align 2, 0 _08026C5C: .4byte 0x020314E0 _08026C60: .4byte 0x00000736 _08026C64: .4byte 0x00000739 _08026C68: - bl sub_219EC - ldr r0, _08026C84 @ =0x020314E0 - ldr r1, [r0] - adds r0, r1, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - beq _08026C80 - b _08026E9E + bl sub_219EC + ldr r0, _08026C84 @ =0x020314E0 + ldr r1, [r0] + adds r0, r1, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + beq _08026C80 + b _08026E9E _08026C80: - b _08026E72 - .align 2, 0 + b _08026E72 + .align 2, 0 _08026C84: .4byte 0x020314E0 _08026C88: - ldr r0, [r5] - movs r1, #0xa5 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0 - movs r1, #3 - strb r1, [r0] - ldr r1, [r5] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - ldr r0, [r5] - strh r2, [r0, #0x18] - movs r3, #0xe1 - lsls r3, r3, #3 - adds r1, r0, r3 - str r2, [r1] - ldr r1, _08026CBC @ =0x000006EC - adds r0, r0, r1 - movs r1, #0x2f - strb r1, [r0] - movs r0, #7 - movs r1, #0 - bl sub_1C7F4 - b _08026E9E - .align 2, 0 + ldr r0, [r5] + movs r1, #0xa5 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r2, #0 + movs r1, #3 + strb r1, [r0] + ldr r1, [r5] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + ldr r0, [r5] + strh r2, [r0, #0x18] + movs r3, #0xe1 + lsls r3, r3, #3 + adds r1, r0, r3 + str r2, [r1] + ldr r1, _08026CBC @ =0x000006EC + adds r0, r0, r1 + movs r1, #0x2f + strb r1, [r0] + movs r0, #7 + movs r1, #0 + bl sub_1C7F4 + b _08026E9E + .align 2, 0 _08026CBC: .4byte 0x000006EC _08026CC0: - ldr r4, _08026D34 @ =0x020314E0 - ldr r1, [r4] - ldrh r0, [r1, #0x28] - cmp r0, #0x91 - beq _08026CCC - b _08026DC6 + ldr r4, _08026D34 @ =0x020314E0 + ldr r1, [r4] + ldrh r0, [r1, #0x28] + cmp r0, #0x91 + beq _08026CCC + b _08026DC6 _08026CCC: - adds r0, #1 - strh r0, [r1, #0x28] - ldr r2, _08026D38 @ =0x000006EC - adds r1, r1, r2 - movs r0, #0x2f - strb r0, [r1] - movs r0, #7 - movs r1, #0 - bl sub_1C7F4 - ldr r0, _08026D3C @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08026D92 - ldr r0, [r4] - movs r1, #0x90 - strh r1, [r0, #0x28] - bl m4aMPlayAllStop - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 - ldr r2, [r4] - adds r0, r2, #0 - adds r0, #0x36 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bgt _08026D80 - adds r1, r2, #0 - adds r1, #0x34 - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - ldr r3, _08026D40 @ =0x000006BC - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08026D44 - adds r0, r2, #0 - adds r0, #0x33 - ldrb r1, [r0] - subs r0, #1 - b _08026D4A - .align 2, 0 + adds r0, #1 + strh r0, [r1, #0x28] + ldr r2, _08026D38 @ =0x000006EC + adds r1, r1, r2 + movs r0, #0x2f + strb r0, [r1] + movs r0, #7 + movs r1, #0 + bl sub_1C7F4 + ldr r0, _08026D3C @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _08026D92 + ldr r0, [r4] + movs r1, #0x90 + strh r1, [r0, #0x28] + bl m4aMPlayAllStop + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 + ldr r2, [r4] + adds r0, r2, #0 + adds r0, #0x36 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bgt _08026D80 + adds r1, r2, #0 + adds r1, #0x34 + movs r0, #0 + ldrsb r0, [r1, r0] + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 + ldr r3, _08026D40 @ =0x000006BC + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08026D44 + adds r0, r2, #0 + adds r0, #0x33 + ldrb r1, [r0] + subs r0, #1 + b _08026D4A + .align 2, 0 _08026D34: .4byte 0x020314E0 _08026D38: .4byte 0x000006EC _08026D3C: .4byte 0x0200B0C0 _08026D40: .4byte 0x000006BC _08026D44: - ldrb r1, [r1] - adds r0, r2, #0 - adds r0, #0x32 + ldrb r1, [r1] + adds r0, r2, #0 + adds r0, #0x32 _08026D4A: - strb r1, [r0] - ldr r6, _08026D7C @ =0x020314E0 - ldr r5, [r6] - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - adds r0, r4, #1 - movs r1, #6 - bl __modsi3 - adds r5, #0x33 - strb r0, [r5] - ldr r5, [r6] - adds r4, #2 - adds r0, r4, #0 - movs r1, #6 - bl __modsi3 - adds r5, #0x34 - strb r0, [r5] - ldr r1, [r6] - adds r1, #0x36 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - b _08026DC6 - .align 2, 0 + strb r1, [r0] + ldr r6, _08026D7C @ =0x020314E0 + ldr r5, [r6] + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + adds r0, r4, #1 + movs r1, #6 + bl __modsi3 + adds r5, #0x33 + strb r0, [r5] + ldr r5, [r6] + adds r4, #2 + adds r0, r4, #0 + movs r1, #6 + bl __modsi3 + adds r5, #0x34 + strb r0, [r5] + ldr r1, [r6] + adds r1, #0x36 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + b _08026DC6 + .align 2, 0 _08026D7C: .4byte 0x020314E0 _08026D80: - adds r1, r2, #0 - adds r1, #0x32 - movs r0, #6 - strb r0, [r1] - ldr r0, [r4] - adds r0, #0x36 - movs r1, #0 - strb r1, [r0] - b _08026DC6 + adds r1, r2, #0 + adds r1, #0x32 + movs r0, #6 + strb r0, [r1] + ldr r0, [r4] + adds r0, #0x36 + movs r1, #0 + strb r1, [r0] + b _08026DC6 _08026D92: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08026DC6 - bl m4aMPlayAllStop - movs r0, #0x66 - bl m4aSongNumStart - ldr r1, [r4] - movs r0, #0x3c - strh r0, [r1, #0x28] - movs r0, #6 - strb r0, [r1, #0x17] - ldr r1, [r4] - ldr r2, _08026E14 @ =0x00000714 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08026DC6 - ldr r3, _08026E18 @ =0x000006EE - adds r1, r1, r3 - movs r0, #0x78 - strh r0, [r1] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _08026DC6 + bl m4aMPlayAllStop + movs r0, #0x66 + bl m4aSongNumStart + ldr r1, [r4] + movs r0, #0x3c + strh r0, [r1, #0x28] + movs r0, #6 + strb r0, [r1, #0x17] + ldr r1, [r4] + ldr r2, _08026E14 @ =0x00000714 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08026DC6 + ldr r3, _08026E18 @ =0x000006EE + adds r1, r1, r3 + movs r0, #0x78 + strh r0, [r1] _08026DC6: - ldr r0, _08026E1C @ =0x020314E0 - ldr r3, [r0] - ldrh r4, [r3, #0x28] - adds r2, r4, #0 - adds r5, r0, #0 - cmp r2, #0x82 - bne _08026E3A - adds r0, r4, #1 - strh r0, [r3, #0x28] - ldrh r1, [r3, #0x18] - ldr r0, _08026E20 @ =0x000001E9 - cmp r1, r0 - bhi _08026E2C - bl sub_2E094 - ldr r5, [r5] - ldrb r0, [r5, #0x1c] - cmp r0, #0 - beq _08026DF8 - ldrh r1, [r5, #0x18] - ldr r0, _08026E24 @ =0x000001AB - cmp r1, r0 - bls _08026DF8 - adds r0, #1 - strh r0, [r5, #0x18] + ldr r0, _08026E1C @ =0x020314E0 + ldr r3, [r0] + ldrh r4, [r3, #0x28] + adds r2, r4, #0 + adds r5, r0, #0 + cmp r2, #0x82 + bne _08026E3A + adds r0, r4, #1 + strh r0, [r3, #0x28] + ldrh r1, [r3, #0x18] + ldr r0, _08026E20 @ =0x000001E9 + cmp r1, r0 + bhi _08026E2C + bl sub_2E094 + ldr r5, [r5] + ldrb r0, [r5, #0x1c] + cmp r0, #0 + beq _08026DF8 + ldrh r1, [r5, #0x18] + ldr r0, _08026E24 @ =0x000001AB + cmp r1, r0 + bls _08026DF8 + adds r0, #1 + strh r0, [r5, #0x18] _08026DF8: - ldr r0, _08026E1C @ =0x020314E0 - ldr r3, [r0] - ldrh r2, [r3, #0x18] - movs r1, #0xc5 - lsls r1, r1, #1 - adds r5, r0, #0 - cmp r2, r1 - bne _08026E30 - movs r0, #1 - strb r0, [r3, #0x1c] - ldr r1, [r5] - ldr r0, _08026E28 @ =0x0007A120 - str r0, [r1, #0x3c] - b _08026E30 - .align 2, 0 + ldr r0, _08026E1C @ =0x020314E0 + ldr r3, [r0] + ldrh r2, [r3, #0x18] + movs r1, #0xc5 + lsls r1, r1, #1 + adds r5, r0, #0 + cmp r2, r1 + bne _08026E30 + movs r0, #1 + strb r0, [r3, #0x1c] + ldr r1, [r5] + ldr r0, _08026E28 @ =0x0007A120 + str r0, [r1, #0x3c] + b _08026E30 + .align 2, 0 _08026E14: .4byte 0x00000714 _08026E18: .4byte 0x000006EE _08026E1C: .4byte 0x020314E0 @@ -76764,284 +76764,284 @@ _08026E20: .4byte 0x000001E9 _08026E24: .4byte 0x000001AB _08026E28: .4byte 0x0007A120 _08026E2C: - movs r0, #0x78 - strh r0, [r3, #0x28] + movs r0, #0x78 + strh r0, [r3, #0x28] _08026E30: - ldr r1, [r5] - ldrh r0, [r1, #0x18] - adds r0, #1 - strh r0, [r1, #0x18] - b _08026E9E + ldr r1, [r5] + ldrh r0, [r1, #0x18] + adds r0, #1 + strh r0, [r1, #0x18] + b _08026E9E _08026E3A: - cmp r2, #0 - bne _08026E9E - ldrb r0, [r3, #0x17] - adds r0, #1 - strb r0, [r3, #0x17] - ldr r0, [r5] - strh r2, [r0, #0x18] - ldr r2, _08026E58 @ =0x0000062C - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, #0x62 - bhi _08026E9E - adds r0, #1 - strb r0, [r1] - b _08026E9E - .align 2, 0 + cmp r2, #0 + bne _08026E9E + ldrb r0, [r3, #0x17] + adds r0, #1 + strb r0, [r3, #0x17] + ldr r0, [r5] + strh r2, [r0, #0x18] + ldr r2, _08026E58 @ =0x0000062C + adds r1, r0, r2 + ldrb r0, [r1] + cmp r0, #0x62 + bhi _08026E9E + adds r0, #1 + strb r0, [r1] + b _08026E9E + .align 2, 0 _08026E58: .4byte 0x0000062C _08026E5C: - bl sub_219EC - ldr r0, _08026E7C @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r1, [r0, #0x34] - movs r0, #0 - strh r0, [r1] - bl sub_268CC - ldr r0, _08026E80 @ =0x020314E0 - ldr r1, [r0] + bl sub_219EC + ldr r0, _08026E7C @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r1, [r0, #0x34] + movs r0, #0 + strh r0, [r1] + bl sub_268CC + ldr r0, _08026E80 @ =0x020314E0 + ldr r1, [r0] _08026E72: - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - b _08026E9E - .align 2, 0 + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + b _08026E9E + .align 2, 0 _08026E7C: .4byte 0x0200B0C0 _08026E80: .4byte 0x020314E0 _08026E84: - ldr r1, [r5] - ldrh r0, [r1, #0x18] - adds r4, r0, #0 - cmp r4, #0 - beq _08026E94 - subs r0, #1 - strh r0, [r1, #0x18] - b _08026E9E + ldr r1, [r5] + ldrh r0, [r1, #0x18] + adds r4, r0, #0 + cmp r4, #0 + beq _08026E94 + subs r0, #1 + strh r0, [r1, #0x18] + b _08026E9E _08026E94: - movs r0, #1 - bl sub_19B64 - ldr r0, [r5] - strb r4, [r0, #0x17] + movs r0, #1 + bl sub_19B64 + ldr r0, [r5] + strb r4, [r0, #0x17] _08026E9E: - pop {r4, r5, r6} - pop {r0} - bx r0 + pop {r4, r5, r6} + pop {r0} + bx r0 - thumb_func_start sub_26EA4 + thumb_func_start sub_26EA4 sub_26EA4: @ 0x08026EA4 - push {r4, r5, r6, lr} - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 - ldr r0, _08026EE0 @ =0x020314E0 - ldr r1, [r0] - ldr r2, _08026EE4 @ =0x000006C4 - adds r1, r1, r2 - movs r2, #0 - strb r2, [r1] - adds r6, r0, #0 - ldr r5, _08026EE8 @ =0x0000071D + push {r4, r5, r6, lr} + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 + ldr r0, _08026EE0 @ =0x020314E0 + ldr r1, [r0] + ldr r2, _08026EE4 @ =0x000006C4 + adds r1, r1, r2 + movs r2, #0 + strb r2, [r1] + adds r6, r0, #0 + ldr r5, _08026EE8 @ =0x0000071D _08026EBE: - ldr r0, _08026EE0 @ =0x020314E0 - ldr r3, [r0] - ldr r0, _08026EEC @ =0x00000723 - adds r1, r3, r0 - lsls r0, r2, #0x10 - asrs r2, r0, #0x10 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r4, r0, #0 - cmp r2, r1 - bge _08026EF0 - adds r0, r3, r5 - adds r0, r0, r2 - movs r1, #1 - b _08026EF6 - .align 2, 0 + ldr r0, _08026EE0 @ =0x020314E0 + ldr r3, [r0] + ldr r0, _08026EEC @ =0x00000723 + adds r1, r3, r0 + lsls r0, r2, #0x10 + asrs r2, r0, #0x10 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + adds r4, r0, #0 + cmp r2, r1 + bge _08026EF0 + adds r0, r3, r5 + adds r0, r0, r2 + movs r1, #1 + b _08026EF6 + .align 2, 0 _08026EE0: .4byte 0x020314E0 _08026EE4: .4byte 0x000006C4 _08026EE8: .4byte 0x0000071D _08026EEC: .4byte 0x00000723 _08026EF0: - adds r0, r3, r5 - adds r0, r0, r2 - movs r1, #0 + adds r0, r3, r5 + adds r0, r0, r2 + movs r1, #0 _08026EF6: - strb r1, [r0] - movs r1, #0x80 - lsls r1, r1, #9 - adds r0, r4, r1 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _08026EBE - ldr r0, _08026F30 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r1, [r0, #0x34] - movs r2, #0 - movs r0, #0 - strh r0, [r1] - ldr r0, [r6] - movs r1, #0xe6 - lsls r1, r1, #3 - adds r0, r0, r1 - strb r2, [r0] - ldr r0, [r6] - ldr r1, _08026F34 @ =0x000005F3 - adds r0, r0, r1 - strb r2, [r0] - bl sub_4D648 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + strb r1, [r0] + movs r1, #0x80 + lsls r1, r1, #9 + adds r0, r4, r1 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _08026EBE + ldr r0, _08026F30 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r1, [r0, #0x34] + movs r2, #0 + movs r0, #0 + strh r0, [r1] + ldr r0, [r6] + movs r1, #0xe6 + lsls r1, r1, #3 + adds r0, r0, r1 + strb r2, [r0] + ldr r0, [r6] + ldr r1, _08026F34 @ =0x000005F3 + adds r0, r0, r1 + strb r2, [r0] + bl sub_4D648 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08026F30: .4byte 0x0200B0C0 _08026F34: .4byte 0x000005F3 - thumb_func_start sub_26F38 + thumb_func_start sub_26F38 sub_26F38: @ 0x08026F38 - push {r4, r5, r6, r7, lr} - ldr r4, _08026F88 @ =0x020314E0 - ldr r0, [r4] - movs r3, #0 - strb r3, [r0, #0x17] - ldr r0, [r4] - movs r6, #0 - strh r3, [r0, #0x18] - movs r1, #0xa5 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #2 - strb r1, [r0] - ldr r5, [r4] - adds r2, r5, #0 - adds r2, #0x6c - movs r7, #0xe1 - lsls r7, r7, #5 - adds r0, r7, #0 - ldrh r1, [r2] - adds r0, r0, r1 - ldr r7, _08026F8C @ =0x00000296 - adds r1, r5, r7 - strh r0, [r1] - strh r3, [r2] - ldr r0, _08026F90 @ =0x00000724 - adds r1, r5, r0 - movs r0, #0xe1 - lsls r0, r0, #4 - strh r0, [r1] - movs r2, #0xb3 - lsls r2, r2, #3 - adds r1, r5, r2 - ldrh r0, [r1] - cmp r0, #0xd - bne _08026F94 - subs r7, #0x37 - adds r0, r5, r7 - strb r6, [r0] - b _08026FFC - .align 2, 0 + push {r4, r5, r6, r7, lr} + ldr r4, _08026F88 @ =0x020314E0 + ldr r0, [r4] + movs r3, #0 + strb r3, [r0, #0x17] + ldr r0, [r4] + movs r6, #0 + strh r3, [r0, #0x18] + movs r1, #0xa5 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #2 + strb r1, [r0] + ldr r5, [r4] + adds r2, r5, #0 + adds r2, #0x6c + movs r7, #0xe1 + lsls r7, r7, #5 + adds r0, r7, #0 + ldrh r1, [r2] + adds r0, r0, r1 + ldr r7, _08026F8C @ =0x00000296 + adds r1, r5, r7 + strh r0, [r1] + strh r3, [r2] + ldr r0, _08026F90 @ =0x00000724 + adds r1, r5, r0 + movs r0, #0xe1 + lsls r0, r0, #4 + strh r0, [r1] + movs r2, #0xb3 + lsls r2, r2, #3 + adds r1, r5, r2 + ldrh r0, [r1] + cmp r0, #0xd + bne _08026F94 + subs r7, #0x37 + adds r0, r5, r7 + strb r6, [r0] + b _08026FFC + .align 2, 0 _08026F88: .4byte 0x020314E0 _08026F8C: .4byte 0x00000296 _08026F90: .4byte 0x00000724 _08026F94: - cmp r0, #0x58 - bne _08026FC4 - ldr r0, _08026FAC @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _08026FB4 - ldr r0, _08026FB0 @ =0x0000025F - adds r1, r5, r0 - movs r0, #1 - strb r0, [r1] - b _08026FFC - .align 2, 0 + cmp r0, #0x58 + bne _08026FC4 + ldr r0, _08026FAC @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #0 + bne _08026FB4 + ldr r0, _08026FB0 @ =0x0000025F + adds r1, r5, r0 + movs r0, #1 + strb r0, [r1] + b _08026FFC + .align 2, 0 _08026FAC: .4byte 0x0200B0C0 _08026FB0: .4byte 0x0000025F _08026FB4: - ldr r2, _08026FC0 @ =0x0000025F - adds r1, r5, r2 - movs r0, #7 - strb r0, [r1] - b _08026FFC - .align 2, 0 + ldr r2, _08026FC0 @ =0x0000025F + adds r1, r5, r2 + movs r0, #7 + strb r0, [r1] + b _08026FFC + .align 2, 0 _08026FC0: .4byte 0x0000025F _08026FC4: - cmp r0, #0xaf - bne _08026FD8 - ldr r7, _08026FD4 @ =0x0000025F - adds r1, r5, r7 - movs r0, #3 - strb r0, [r1] - b _08026FFC - .align 2, 0 + cmp r0, #0xaf + bne _08026FD8 + ldr r7, _08026FD4 @ =0x0000025F + adds r1, r5, r7 + movs r0, #3 + strb r0, [r1] + b _08026FFC + .align 2, 0 _08026FD4: .4byte 0x0000025F _08026FD8: - ldr r2, _08027054 @ =0x086A3700 - ldrh r1, [r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r2 - ldrb r0, [r0, #0x14] - subs r0, #1 - ldr r2, _08027058 @ =0x0000025F - adds r1, r5, r2 - strb r0, [r1] - ldr r0, [r4] - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bge _08026FFC - strb r6, [r1] + ldr r2, _08027054 @ =0x086A3700 + ldrh r1, [r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r2 + ldrb r0, [r0, #0x14] + subs r0, #1 + ldr r2, _08027058 @ =0x0000025F + adds r1, r5, r2 + strb r0, [r1] + ldr r0, [r4] + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + bge _08026FFC + strb r6, [r1] _08026FFC: - ldr r1, _0802705C @ =0x040000D4 - ldr r0, _08027060 @ =0x081C0064 - str r0, [r1] - ldr r0, _08027064 @ =0x05000180 - str r0, [r1, #4] - ldr r0, _08027068 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, [r4] - ldr r1, _0802706C @ =0x0000072E - adds r0, r0, r1 - movs r3, #0 - strb r3, [r0] - ldr r0, [r4] - ldr r2, _08027070 @ =0x0000072A - adds r0, r0, r2 - strb r3, [r0] - ldr r0, [r4] - ldr r7, _08027074 @ =0x00000252 - adds r1, r0, r7 - movs r2, #0 - strh r3, [r1] - ldr r1, _08027078 @ =0x0000025E - adds r0, r0, r1 - strb r2, [r0] - ldr r0, [r4] - adds r7, #0x19 - adds r0, r0, r7 - strb r2, [r0] - ldr r0, [r4] - adds r1, #0xe - adds r0, r0, r1 - strb r2, [r0] - ldr r0, [r4] - ldr r2, _0802707C @ =0x0000026E - adds r0, r0, r2 - strh r3, [r0] - movs r0, #3 - movs r1, #0 - bl sub_1C7F4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + ldr r1, _0802705C @ =0x040000D4 + ldr r0, _08027060 @ =0x081C0064 + str r0, [r1] + ldr r0, _08027064 @ =0x05000180 + str r0, [r1, #4] + ldr r0, _08027068 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, [r4] + ldr r1, _0802706C @ =0x0000072E + adds r0, r0, r1 + movs r3, #0 + strb r3, [r0] + ldr r0, [r4] + ldr r2, _08027070 @ =0x0000072A + adds r0, r0, r2 + strb r3, [r0] + ldr r0, [r4] + ldr r7, _08027074 @ =0x00000252 + adds r1, r0, r7 + movs r2, #0 + strh r3, [r1] + ldr r1, _08027078 @ =0x0000025E + adds r0, r0, r1 + strb r2, [r0] + ldr r0, [r4] + adds r7, #0x19 + adds r0, r0, r7 + strb r2, [r0] + ldr r0, [r4] + adds r1, #0xe + adds r0, r0, r1 + strb r2, [r0] + ldr r0, [r4] + ldr r2, _0802707C @ =0x0000026E + adds r0, r0, r2 + strh r3, [r0] + movs r0, #3 + movs r1, #0 + bl sub_1C7F4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08027054: .4byte 0x086A3700 _08027058: .4byte 0x0000025F _0802705C: .4byte 0x040000D4 @@ -77054,375 +77054,375 @@ _08027074: .4byte 0x00000252 _08027078: .4byte 0x0000025E _0802707C: .4byte 0x0000026E - thumb_func_start sub_27080 + thumb_func_start sub_27080 sub_27080: @ 0x08027080 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r4, _080270E0 @ =0x020314E0 - ldr r1, [r4] - 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 _080270C0 - ldr r3, _080270E4 @ =0x00000296 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, #1 - bhi _080270C0 - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #7 - bgt _080270C0 - bl m4aMPlayAllStop - movs r0, #0x13 - bl m4aSongNumStart - ldr r0, [r4] - movs r1, #0xc8 - strh r1, [r0, #0x18] - movs r1, #8 - strb r1, [r0, #0x17] + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r4, _080270E0 @ =0x020314E0 + ldr r1, [r4] + 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 _080270C0 + ldr r3, _080270E4 @ =0x00000296 + adds r0, r1, r3 + ldrh r0, [r0] + cmp r0, #1 + bhi _080270C0 + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #7 + bgt _080270C0 + bl m4aMPlayAllStop + movs r0, #0x13 + bl m4aSongNumStart + ldr r0, [r4] + movs r1, #0xc8 + strh r1, [r0, #0x18] + movs r1, #8 + strb r1, [r0, #0x17] _080270C0: - ldr r1, _080270E0 @ =0x020314E0 - ldr r0, [r1] - ldrb r0, [r0, #0x17] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r6, r1, #0 - cmp r0, #0xa - bls _080270D4 - bl _080278E6 + ldr r1, _080270E0 @ =0x020314E0 + ldr r0, [r1] + ldrb r0, [r0, #0x17] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r6, r1, #0 + cmp r0, #0xa + bls _080270D4 + bl _080278E6 _080270D4: - lsls r0, r0, #2 - ldr r1, _080270E8 @ =_080270EC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _080270E8 @ =_080270EC + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080270E0: .4byte 0x020314E0 _080270E4: .4byte 0x00000296 _080270E8: .4byte _080270EC _080270EC: @ jump table - .4byte _08027118 @ case 0 - .4byte _08027390 @ case 1 - .4byte _08027414 @ case 2 - .4byte _08027424 @ case 3 - .4byte _08027452 @ case 4 - .4byte _08027474 @ case 5 - .4byte _080274B4 @ case 6 - .4byte _08027506 @ case 7 - .4byte _080277D8 @ case 8 - .4byte _0802789C @ case 9 - .4byte _080278B0 @ case 10 + .4byte _08027118 @ case 0 + .4byte _08027390 @ case 1 + .4byte _08027414 @ case 2 + .4byte _08027424 @ case 3 + .4byte _08027452 @ case 4 + .4byte _08027474 @ case 5 + .4byte _080274B4 @ case 6 + .4byte _08027506 @ case 7 + .4byte _080277D8 @ case 8 + .4byte _0802789C @ case 9 + .4byte _080278B0 @ case 10 _08027118: - ldr r0, [r6] - movs r5, #0x94 - lsls r5, r5, #2 - adds r0, r0, r5 - ldrh r0, [r0] - cmp r0, #1 - bhi _08027208 - movs r2, #0 - adds r3, r6, #0 - ldr r4, _080271F4 @ =0x00000263 + ldr r0, [r6] + movs r5, #0x94 + lsls r5, r5, #2 + adds r0, r0, r5 + ldrh r0, [r0] + cmp r0, #1 + bhi _08027208 + movs r2, #0 + adds r3, r6, #0 + ldr r4, _080271F4 @ =0x00000263 _0802712C: - ldr r1, [r3] - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - adds r1, r1, r4 - adds r1, r1, r0 - strb r2, [r1] - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #7 - ble _0802712C - bl sub_C00 - ldr r1, _080271F8 @ =0x0200B0C0 - ldr r1, [r1, #0x4c] - adds r0, r0, r1 - movs r1, #5 - bl __umodsi3 - ldr r5, _080271FC @ =0x020314E0 - ldr r2, [r5] - lsls r0, r0, #0x10 - asrs r3, r0, #0x10 - ldr r4, _080271F4 @ =0x00000263 - adds r1, r2, r4 - adds r1, r1, r3 - ldrb r1, [r1] - movs r6, #0x98 - lsls r6, r6, #2 - adds r2, r2, r6 - strb r1, [r2] - adds r1, r0, #0 - asrs r0, r1, #0x10 - cmp r0, #6 - bgt _0802718E - adds r3, r4, #0 + ldr r1, [r3] + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + adds r1, r1, r4 + adds r1, r1, r0 + strb r2, [r1] + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #7 + ble _0802712C + bl sub_C00 + ldr r1, _080271F8 @ =0x0200B0C0 + ldr r1, [r1, #0x4c] + adds r0, r0, r1 + movs r1, #5 + bl __umodsi3 + ldr r5, _080271FC @ =0x020314E0 + ldr r2, [r5] + lsls r0, r0, #0x10 + asrs r3, r0, #0x10 + ldr r4, _080271F4 @ =0x00000263 + adds r1, r2, r4 + adds r1, r1, r3 + ldrb r1, [r1] + movs r6, #0x98 + lsls r6, r6, #2 + adds r2, r2, r6 + strb r1, [r2] + adds r1, r0, #0 + asrs r0, r1, #0x10 + cmp r0, #6 + bgt _0802718E + adds r3, r4, #0 _08027176: - ldr r0, [r5] - asrs r1, r1, #0x10 - adds r0, r0, r3 - adds r2, r0, r1 - adds r1, #1 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, r1, #0x10 - asrs r0, r1, #0x10 - cmp r0, #6 - ble _08027176 + ldr r0, [r5] + asrs r1, r1, #0x10 + adds r0, r0, r3 + adds r2, r0, r1 + adds r1, #1 + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r2] + lsls r1, r1, #0x10 + asrs r0, r1, #0x10 + cmp r0, #6 + ble _08027176 _0802718E: - bl sub_C00 - ldr r1, _080271F8 @ =0x0200B0C0 - ldr r1, [r1, #0x4c] - adds r2, r0, r1 - movs r0, #3 - ands r2, r0 - ldr r4, _080271FC @ =0x020314E0 - ldr r1, [r4] - ldr r3, _080271F4 @ =0x00000263 - adds r0, r1, r3 - adds r0, r2, r0 - ldrb r0, [r0] - ldr r7, _08027200 @ =0x00000261 - adds r1, r1, r7 - strb r0, [r1] - lsls r1, r2, #0x10 - cmp r2, #5 - bgt _080271CC + bl sub_C00 + ldr r1, _080271F8 @ =0x0200B0C0 + ldr r1, [r1, #0x4c] + adds r2, r0, r1 + movs r0, #3 + ands r2, r0 + ldr r4, _080271FC @ =0x020314E0 + ldr r1, [r4] + ldr r3, _080271F4 @ =0x00000263 + adds r0, r1, r3 + adds r0, r2, r0 + ldrb r0, [r0] + ldr r7, _08027200 @ =0x00000261 + adds r1, r1, r7 + strb r0, [r1] + lsls r1, r2, #0x10 + cmp r2, #5 + bgt _080271CC _080271B4: - ldr r0, [r4] - asrs r1, r1, #0x10 - adds r0, r0, r3 - adds r2, r0, r1 - adds r1, #1 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, r1, #0x10 - asrs r0, r1, #0x10 - cmp r0, #5 - ble _080271B4 + ldr r0, [r4] + asrs r1, r1, #0x10 + adds r0, r0, r3 + adds r2, r0, r1 + adds r1, #1 + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r2] + lsls r1, r1, #0x10 + asrs r0, r1, #0x10 + cmp r0, #5 + ble _080271B4 _080271CC: - bl sub_C00 - ldr r1, _080271F8 @ =0x0200B0C0 - ldr r1, [r1, #0x4c] - adds r0, r0, r1 - movs r1, #3 - bl __umodsi3 - ldr r1, _080271FC @ =0x020314E0 - ldr r2, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldr r3, _080271F4 @ =0x00000263 - adds r1, r2, r3 - adds r1, r1, r0 - ldrb r0, [r1] - ldr r5, _08027204 @ =0x00000262 - adds r2, r2, r5 - strb r0, [r2] - b _08027362 - .align 2, 0 + bl sub_C00 + ldr r1, _080271F8 @ =0x0200B0C0 + ldr r1, [r1, #0x4c] + adds r0, r0, r1 + movs r1, #3 + bl __umodsi3 + ldr r1, _080271FC @ =0x020314E0 + ldr r2, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldr r3, _080271F4 @ =0x00000263 + adds r1, r2, r3 + adds r1, r1, r0 + ldrb r0, [r1] + ldr r5, _08027204 @ =0x00000262 + adds r2, r2, r5 + strb r0, [r2] + b _08027362 + .align 2, 0 _080271F4: .4byte 0x00000263 _080271F8: .4byte 0x0200B0C0 _080271FC: .4byte 0x020314E0 _08027200: .4byte 0x00000261 _08027204: .4byte 0x00000262 _08027208: - movs r2, #0 - adds r3, r6, #0 - ldr r4, _08027378 @ =0x00000263 + movs r2, #0 + adds r3, r6, #0 + ldr r4, _08027378 @ =0x00000263 _0802720E: - ldr r1, [r3] - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - adds r1, r1, r4 - adds r1, r1, r0 - strb r2, [r1] - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #7 - ble _0802720E - bl sub_C00 - ldr r1, _0802737C @ =0x0200B0C0 - ldr r1, [r1, #0x4c] - adds r0, r0, r1 - movs r1, #6 - bl __umodsi3 - ldr r5, _08027380 @ =0x020314E0 - ldr r2, [r5] - lsls r0, r0, #0x10 - asrs r3, r0, #0x10 - ldr r4, _08027378 @ =0x00000263 - adds r1, r2, r4 - adds r1, r1, r3 - ldrb r1, [r1] - movs r6, #0x98 - lsls r6, r6, #2 - adds r2, r2, r6 - strb r1, [r2] - adds r1, r0, #0 - asrs r0, r1, #0x10 - cmp r0, #6 - bgt _08027270 - adds r3, r4, #0 + ldr r1, [r3] + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + adds r1, r1, r4 + adds r1, r1, r0 + strb r2, [r1] + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #7 + ble _0802720E + bl sub_C00 + ldr r1, _0802737C @ =0x0200B0C0 + ldr r1, [r1, #0x4c] + adds r0, r0, r1 + movs r1, #6 + bl __umodsi3 + ldr r5, _08027380 @ =0x020314E0 + ldr r2, [r5] + lsls r0, r0, #0x10 + asrs r3, r0, #0x10 + ldr r4, _08027378 @ =0x00000263 + adds r1, r2, r4 + adds r1, r1, r3 + ldrb r1, [r1] + movs r6, #0x98 + lsls r6, r6, #2 + adds r2, r2, r6 + strb r1, [r2] + adds r1, r0, #0 + asrs r0, r1, #0x10 + cmp r0, #6 + bgt _08027270 + adds r3, r4, #0 _08027258: - ldr r0, [r5] - asrs r1, r1, #0x10 - adds r0, r0, r3 - adds r2, r0, r1 - adds r1, #1 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, r1, #0x10 - asrs r0, r1, #0x10 - cmp r0, #6 - ble _08027258 + ldr r0, [r5] + asrs r1, r1, #0x10 + adds r0, r0, r3 + adds r2, r0, r1 + adds r1, #1 + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r2] + lsls r1, r1, #0x10 + asrs r0, r1, #0x10 + cmp r0, #6 + ble _08027258 _08027270: - bl sub_C00 - ldr r1, _0802737C @ =0x0200B0C0 - ldr r1, [r1, #0x4c] - adds r0, r0, r1 - movs r1, #7 - bl __umodsi3 - ldr r5, _08027380 @ =0x020314E0 - ldr r2, [r5] - lsls r0, r0, #0x10 - asrs r3, r0, #0x10 - ldr r4, _08027378 @ =0x00000263 - adds r1, r2, r4 - adds r1, r1, r3 - ldrb r1, [r1] - ldr r7, _08027384 @ =0x00000261 - adds r2, r2, r7 - strb r1, [r2] - adds r1, r0, #0 - asrs r0, r1, #0x10 - cmp r0, #5 - bgt _080272B8 - adds r3, r4, #0 + bl sub_C00 + ldr r1, _0802737C @ =0x0200B0C0 + ldr r1, [r1, #0x4c] + adds r0, r0, r1 + movs r1, #7 + bl __umodsi3 + ldr r5, _08027380 @ =0x020314E0 + ldr r2, [r5] + lsls r0, r0, #0x10 + asrs r3, r0, #0x10 + ldr r4, _08027378 @ =0x00000263 + adds r1, r2, r4 + adds r1, r1, r3 + ldrb r1, [r1] + ldr r7, _08027384 @ =0x00000261 + adds r2, r2, r7 + strb r1, [r2] + adds r1, r0, #0 + asrs r0, r1, #0x10 + cmp r0, #5 + bgt _080272B8 + adds r3, r4, #0 _080272A0: - ldr r0, [r5] - asrs r1, r1, #0x10 - adds r0, r0, r3 - adds r2, r0, r1 - adds r1, #1 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, r1, #0x10 - asrs r0, r1, #0x10 - cmp r0, #5 - ble _080272A0 + ldr r0, [r5] + asrs r1, r1, #0x10 + adds r0, r0, r3 + adds r2, r0, r1 + adds r1, #1 + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r2] + lsls r1, r1, #0x10 + asrs r0, r1, #0x10 + cmp r0, #5 + ble _080272A0 _080272B8: - bl sub_C00 - ldr r1, _0802737C @ =0x0200B0C0 - ldr r1, [r1, #0x4c] - adds r0, r0, r1 - movs r1, #6 - bl __umodsi3 - ldr r5, _08027380 @ =0x020314E0 - ldr r2, [r5] - lsls r0, r0, #0x10 - asrs r3, r0, #0x10 - ldr r4, _08027378 @ =0x00000263 - adds r1, r2, r4 - adds r1, r1, r3 - ldrb r1, [r1] - ldr r3, _08027388 @ =0x00000262 - adds r2, r2, r3 - strb r1, [r2] - adds r1, r0, #0 - asrs r0, r1, #0x10 - cmp r0, #4 - bgt _08027300 - adds r3, r4, #0 + bl sub_C00 + ldr r1, _0802737C @ =0x0200B0C0 + ldr r1, [r1, #0x4c] + adds r0, r0, r1 + movs r1, #6 + bl __umodsi3 + ldr r5, _08027380 @ =0x020314E0 + ldr r2, [r5] + lsls r0, r0, #0x10 + asrs r3, r0, #0x10 + ldr r4, _08027378 @ =0x00000263 + adds r1, r2, r4 + adds r1, r1, r3 + ldrb r1, [r1] + ldr r3, _08027388 @ =0x00000262 + adds r2, r2, r3 + strb r1, [r2] + adds r1, r0, #0 + asrs r0, r1, #0x10 + cmp r0, #4 + bgt _08027300 + adds r3, r4, #0 _080272E8: - ldr r0, [r5] - asrs r1, r1, #0x10 - adds r0, r0, r3 - adds r2, r0, r1 - adds r1, #1 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, r1, #0x10 - asrs r0, r1, #0x10 - cmp r0, #4 - ble _080272E8 + ldr r0, [r5] + asrs r1, r1, #0x10 + adds r0, r0, r3 + adds r2, r0, r1 + adds r1, #1 + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r2] + lsls r1, r1, #0x10 + asrs r0, r1, #0x10 + cmp r0, #4 + ble _080272E8 _08027300: - ldr r0, _0802737C @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #1 - bne _08027362 - ldr r1, _08027380 @ =0x020314E0 - ldr r0, [r1] - ldr r5, _0802738C @ =0x00000283 - adds r0, r0, r5 - ldrb r0, [r0] - cmp r0, #4 - bhi _08027362 - movs r2, #0 - adds r5, r1, #0 + ldr r0, _0802737C @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #1 + bne _08027362 + ldr r1, _08027380 @ =0x020314E0 + ldr r0, [r1] + ldr r5, _0802738C @ =0x00000283 + adds r0, r0, r5 + ldrb r0, [r0] + cmp r0, #4 + bhi _08027362 + movs r2, #0 + adds r5, r1, #0 _0802731A: - ldr r0, [r5] - lsls r1, r2, #0x10 - asrs r4, r1, #0x10 - movs r6, #0x98 - lsls r6, r6, #2 - adds r0, r0, r6 - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #5 - bne _08027356 - bl sub_C00 - ldr r1, _0802737C @ =0x0200B0C0 - ldr r1, [r1, #0x4c] - adds r0, r0, r1 - movs r1, #5 - bl __umodsi3 - ldr r1, [r5] - adds r2, r1, r6 - adds r2, r2, r4 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldr r7, _08027378 @ =0x00000263 - adds r1, r1, r7 - adds r1, r1, r0 - ldrb r0, [r1] - strb r0, [r2] + ldr r0, [r5] + lsls r1, r2, #0x10 + asrs r4, r1, #0x10 + movs r6, #0x98 + lsls r6, r6, #2 + adds r0, r0, r6 + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #5 + bne _08027356 + bl sub_C00 + ldr r1, _0802737C @ =0x0200B0C0 + ldr r1, [r1, #0x4c] + adds r0, r0, r1 + movs r1, #5 + bl __umodsi3 + ldr r1, [r5] + adds r2, r1, r6 + adds r2, r2, r4 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldr r7, _08027378 @ =0x00000263 + adds r1, r1, r7 + adds r1, r1, r0 + ldrb r0, [r1] + strb r0, [r2] _08027356: - adds r0, r4, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _0802731A + adds r0, r4, #1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _0802731A _08027362: - ldr r0, _08027380 @ =0x020314E0 - ldr r1, [r0] - movs r0, #0x94 - lsls r0, r0, #2 - adds r2, r1, r0 - ldrh r0, [r2] - adds r0, #1 - strh r0, [r2] - ldrb r0, [r1, #0x17] - adds r0, #1 - b _080278E4 - .align 2, 0 + ldr r0, _08027380 @ =0x020314E0 + ldr r1, [r0] + movs r0, #0x94 + lsls r0, r0, #2 + adds r2, r1, r0 + ldrh r0, [r2] + adds r0, #1 + strh r0, [r2] + ldrb r0, [r1, #0x17] + adds r0, #1 + b _080278E4 + .align 2, 0 _08027378: .4byte 0x00000263 _0802737C: .4byte 0x0200B0C0 _08027380: .4byte 0x020314E0 @@ -77430,60 +77430,60 @@ _08027384: .4byte 0x00000261 _08027388: .4byte 0x00000262 _0802738C: .4byte 0x00000283 _08027390: - ldr r1, [r6] - ldr r2, _080273FC @ =0x0000026B - adds r0, r1, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - movs r3, #0x98 - lsls r3, r3, #2 - adds r0, r1, r3 - adds r0, r0, r2 - ldrb r0, [r0] - ldr r2, _08027400 @ =0x0000025E - adds r1, r1, r2 - strb r0, [r1] - ldr r3, [r6] - ldr r5, _08027404 @ =0x086ACFA0 - adds r2, r3, r2 - movs r1, #0 - ldrsb r1, [r2, r1] - lsls r1, r1, #2 - ldr r4, _08027408 @ =0x0200B0C0 - ldrb r0, [r4, #4] - lsls r0, r0, #5 - adds r1, r1, r0 - adds r1, r1, r5 - ldrh r1, [r1] - movs r6, #0x96 - lsls r6, r6, #2 - adds r0, r3, r6 - strh r1, [r0] - movs r0, #0 - ldrsb r0, [r2, r0] - lsls r0, r0, #2 - ldrb r1, [r4, #4] - lsls r1, r1, #5 - adds r0, r0, r1 - adds r0, r0, r5 - ldrh r1, [r0, #2] - ldr r7, _0802740C @ =0x0000025A - adds r0, r3, r7 - strh r1, [r0] - ldr r0, _08027410 @ =0x0000026E - adds r1, r3, r0 - movs r0, #0x50 - strh r0, [r1] - ldr r0, [r4, #0x44] - adds r0, #0xa0 - ldr r1, [r0] - movs r0, #1 - strh r0, [r1] - ldrb r0, [r3, #0x17] - adds r0, #1 - strb r0, [r3, #0x17] - b _080278E6 - .align 2, 0 + ldr r1, [r6] + ldr r2, _080273FC @ =0x0000026B + adds r0, r1, r2 + movs r2, #0 + ldrsb r2, [r0, r2] + movs r3, #0x98 + lsls r3, r3, #2 + adds r0, r1, r3 + adds r0, r0, r2 + ldrb r0, [r0] + ldr r2, _08027400 @ =0x0000025E + adds r1, r1, r2 + strb r0, [r1] + ldr r3, [r6] + ldr r5, _08027404 @ =0x086ACFA0 + adds r2, r3, r2 + movs r1, #0 + ldrsb r1, [r2, r1] + lsls r1, r1, #2 + ldr r4, _08027408 @ =0x0200B0C0 + ldrb r0, [r4, #4] + lsls r0, r0, #5 + adds r1, r1, r0 + adds r1, r1, r5 + ldrh r1, [r1] + movs r6, #0x96 + lsls r6, r6, #2 + adds r0, r3, r6 + strh r1, [r0] + movs r0, #0 + ldrsb r0, [r2, r0] + lsls r0, r0, #2 + ldrb r1, [r4, #4] + lsls r1, r1, #5 + adds r0, r0, r1 + adds r0, r0, r5 + ldrh r1, [r0, #2] + ldr r7, _0802740C @ =0x0000025A + adds r0, r3, r7 + strh r1, [r0] + ldr r0, _08027410 @ =0x0000026E + adds r1, r3, r0 + movs r0, #0x50 + strh r0, [r1] + ldr r0, [r4, #0x44] + adds r0, #0xa0 + ldr r1, [r0] + movs r0, #1 + strh r0, [r1] + ldrb r0, [r3, #0x17] + adds r0, #1 + strb r0, [r3, #0x17] + b _080278E6 + .align 2, 0 _080273FC: .4byte 0x0000026B _08027400: .4byte 0x0000025E _08027404: .4byte 0x086ACFA0 @@ -77491,339 +77491,339 @@ _08027408: .4byte 0x0200B0C0 _0802740C: .4byte 0x0000025A _08027410: .4byte 0x0000026E _08027414: - bl sub_278F4 - ldr r0, _08027420 @ =0x020314E0 - ldr r1, [r0] - b _080277B8 - .align 2, 0 + bl sub_278F4 + ldr r0, _08027420 @ =0x020314E0 + ldr r1, [r0] + b _080277B8 + .align 2, 0 _08027420: .4byte 0x020314E0 _08027424: - ldr r0, [r6] - movs r1, #0xe6 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - ldr r1, [r6] - ldrh r0, [r1, #0x18] - cmp r0, #7 - bhi _0802743A - b _08027684 + ldr r0, [r6] + movs r1, #0xe6 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + ldr r1, [r6] + ldrh r0, [r1, #0x18] + cmp r0, #7 + bhi _0802743A + b _08027684 _0802743A: - bl sub_219A8 - ldr r0, [r6] - movs r2, #0xe6 - lsls r2, r2, #3 - adds r0, r0, r2 - movs r1, #2 - strb r1, [r0] - ldr r1, [r6] - ldrb r0, [r1, #0x17] - adds r0, #1 - b _080278E4 + bl sub_219A8 + ldr r0, [r6] + movs r2, #0xe6 + lsls r2, r2, #3 + adds r0, r0, r2 + movs r1, #2 + strb r1, [r0] + ldr r1, [r6] + ldrb r0, [r1, #0x17] + adds r0, #1 + b _080278E4 _08027452: - bl sub_219EC - ldr r0, _08027470 @ =0x020314E0 - ldr r1, [r0] - adds r0, r1, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - beq _0802746A - b _080278E6 + bl sub_219EC + ldr r0, _08027470 @ =0x020314E0 + ldr r1, [r0] + adds r0, r1, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + beq _0802746A + b _080278E6 _0802746A: - ldrb r0, [r1, #0x17] - adds r0, #1 - b _080278E4 - .align 2, 0 + ldrb r0, [r1, #0x17] + adds r0, #1 + b _080278E4 + .align 2, 0 _08027470: .4byte 0x020314E0 _08027474: - ldr r0, [r6] - movs r3, #0xa5 - lsls r3, r3, #2 - adds r0, r0, r3 - movs r5, #0 - movs r1, #3 - strb r1, [r0] - ldr r0, [r6] - movs r4, #0xb3 - lsls r4, r4, #3 - adds r1, r0, r4 - ldrh r1, [r1] - movs r7, #0xb4 - lsls r7, r7, #3 - adds r0, r0, r7 - strh r1, [r0] - movs r0, #1 - bl sub_31CF8 - ldr r1, [r6] - adds r4, r1, r4 - ldrh r2, [r4] - ldr r3, _080274B0 @ =0x000005A2 - adds r0, r1, r3 - strh r2, [r0] - strh r5, [r1, #0x18] - ldrb r0, [r1, #0x17] - adds r0, #1 - b _080278E4 - .align 2, 0 + ldr r0, [r6] + movs r3, #0xa5 + lsls r3, r3, #2 + adds r0, r0, r3 + movs r5, #0 + movs r1, #3 + strb r1, [r0] + ldr r0, [r6] + movs r4, #0xb3 + lsls r4, r4, #3 + adds r1, r0, r4 + ldrh r1, [r1] + movs r7, #0xb4 + lsls r7, r7, #3 + adds r0, r0, r7 + strh r1, [r0] + movs r0, #1 + bl sub_31CF8 + ldr r1, [r6] + adds r4, r1, r4 + ldrh r2, [r4] + ldr r3, _080274B0 @ =0x000005A2 + adds r0, r1, r3 + strh r2, [r0] + strh r5, [r1, #0x18] + ldrb r0, [r1, #0x17] + adds r0, #1 + b _080278E4 + .align 2, 0 _080274B0: .4byte 0x000005A2 _080274B4: - ldr r1, [r6] - ldrh r0, [r1, #0x28] - cmp r0, #0x94 - beq _080274BE - b _080278E6 + ldr r1, [r6] + ldrh r0, [r1, #0x28] + cmp r0, #0x94 + beq _080274BE + b _080278E6 _080274BE: - adds r0, #1 - strh r0, [r1, #0x28] - ldr r0, _080274F0 @ =0x0200B0C0 - movs r5, #0xc5 - lsls r5, r5, #4 - adds r0, r0, r5 - ldrh r0, [r0] - cmp r0, #0 - beq _080274F4 - movs r7, #0xaf - lsls r7, r7, #2 - adds r0, r1, r7 - ldrh r0, [r0] - cmp r0, #0x4f - bhi _080274DE - b _080278E6 + adds r0, #1 + strh r0, [r1, #0x28] + ldr r0, _080274F0 @ =0x0200B0C0 + movs r5, #0xc5 + lsls r5, r5, #4 + adds r0, r0, r5 + ldrh r0, [r0] + cmp r0, #0 + beq _080274F4 + movs r7, #0xaf + lsls r7, r7, #2 + adds r0, r1, r7 + ldrh r0, [r0] + cmp r0, #0x4f + bhi _080274DE + b _080278E6 _080274DE: - bl sub_2D204 - ldr r1, [r6] - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #6 - beq _080274EE - b _080278E6 + bl sub_2D204 + ldr r1, [r6] + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #6 + beq _080274EE + b _080278E6 _080274EE: - b _08027682 - .align 2, 0 + b _08027682 + .align 2, 0 _080274F0: .4byte 0x0200B0C0 _080274F4: - bl sub_2D204 - ldr r1, [r6] - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #6 - beq _08027504 - b _080278E6 + bl sub_2D204 + ldr r1, [r6] + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #6 + beq _08027504 + b _080278E6 _08027504: - b _08027682 + b _08027682 _08027506: - ldr r3, [r6] - ldrh r0, [r3, #0x28] - adds r1, r0, #0 - cmp r1, #0x94 - beq _08027512 - b _080276BA + ldr r3, [r6] + ldrh r0, [r3, #0x28] + adds r1, r0, #0 + cmp r1, #0x94 + beq _08027512 + b _080276BA _08027512: - adds r0, #1 - strh r0, [r3, #0x28] - ldrh r1, [r3, #0x18] - ldr r0, _08027530 @ =0x00000117 - cmp r1, r0 - bls _08027520 - b _080276B4 + adds r0, #1 + strh r0, [r3, #0x28] + ldrh r1, [r3, #0x18] + ldr r0, _08027530 @ =0x00000117 + cmp r1, r0 + bls _08027520 + b _080276B4 _08027520: - cmp r1, #0 - bne _08027534 - bl sub_2312C - movs r0, #0x12 - bl m4aSongNumStart - b _0802758E - .align 2, 0 + cmp r1, #0 + bne _08027534 + bl sub_2312C + movs r0, #0x12 + bl m4aSongNumStart + b _0802758E + .align 2, 0 _08027530: .4byte 0x00000117 _08027534: - bl sub_23300 - ldr r1, [r6] - ldrh r0, [r1, #0x18] - cmp r0, #0xe5 - bhi _08027550 - movs r0, #0x84 - lsls r0, r0, #2 - adds r1, r1, r0 - ldrh r0, [r1] - cmp r0, #0x96 - bne _08027550 - subs r0, #1 - strh r0, [r1] + bl sub_23300 + ldr r1, [r6] + ldrh r0, [r1, #0x18] + cmp r0, #0xe5 + bhi _08027550 + movs r0, #0x84 + lsls r0, r0, #2 + adds r1, r1, r0 + ldrh r0, [r1] + cmp r0, #0x96 + bne _08027550 + subs r0, #1 + strh r0, [r1] _08027550: - ldr r4, _0802768C @ =0x020314E0 - ldr r0, [r4] - ldrh r1, [r0, #0x18] - movs r0, #0x87 - lsls r0, r0, #1 - cmp r1, r0 - bne _08027570 - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 - ldr r0, [r4] - ldr r1, _08027690 @ =0x000006C4 - adds r0, r0, r1 - movs r1, #0 - strb r1, [r0] + ldr r4, _0802768C @ =0x020314E0 + ldr r0, [r4] + ldrh r1, [r0, #0x18] + movs r0, #0x87 + lsls r0, r0, #1 + cmp r1, r0 + bne _08027570 + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 + ldr r0, [r4] + ldr r1, _08027690 @ =0x000006C4 + adds r0, r0, r1 + movs r1, #0 + strb r1, [r0] _08027570: - ldr r1, [r4] - ldrb r0, [r1, #0x1c] - cmp r0, #0 - beq _0802757C - movs r0, #0xb5 - strh r0, [r1, #0x18] + ldr r1, [r4] + ldrb r0, [r1, #0x1c] + cmp r0, #0 + beq _0802757C + movs r0, #0xb5 + strh r0, [r1, #0x18] _0802757C: - ldr r1, [r4] - ldrh r0, [r1, #0x18] - cmp r0, #0xb4 - bne _0802758E - movs r0, #1 - strb r0, [r1, #0x1c] - ldr r1, [r4] - ldr r0, _08027694 @ =0x004C4B40 - str r0, [r1, #0x3c] + ldr r1, [r4] + ldrh r0, [r1, #0x18] + cmp r0, #0xb4 + bne _0802758E + movs r0, #1 + strb r0, [r1, #0x1c] + ldr r1, [r4] + ldr r0, _08027694 @ =0x004C4B40 + str r0, [r1, #0x3c] _0802758E: - ldr r0, _0802768C @ =0x020314E0 - ldr r2, [r0] - ldrh r1, [r2, #0x18] - adds r6, r0, #0 - cmp r1, #0x1d - bhi _08027600 - ldr r1, _08027698 @ =0x0200B0C0 - movs r0, #1 - strh r0, [r1, #0x2c] - ldrh r1, [r2, #0x18] - movs r3, #0xa6 - lsls r3, r3, #2 - adds r0, r2, r3 - strh r1, [r0] - movs r2, #0 - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - ldr r5, _0802769C @ =0x03005C00 - mov r8, r5 - cmp r2, r0 - bgt _080275F0 - adds r7, r0, #0 - movs r4, #0xc1 - lsls r4, r4, #8 + ldr r0, _0802768C @ =0x020314E0 + ldr r2, [r0] + ldrh r1, [r2, #0x18] + adds r6, r0, #0 + cmp r1, #0x1d + bhi _08027600 + ldr r1, _08027698 @ =0x0200B0C0 + movs r0, #1 + strh r0, [r1, #0x2c] + ldrh r1, [r2, #0x18] + movs r3, #0xa6 + lsls r3, r3, #2 + adds r0, r2, r3 + strh r1, [r0] + movs r2, #0 + lsls r0, r1, #0x10 + asrs r0, r0, #0x10 + ldr r5, _0802769C @ =0x03005C00 + mov r8, r5 + cmp r2, r0 + bgt _080275F0 + adds r7, r0, #0 + movs r4, #0xc1 + lsls r4, r4, #8 _080275BE: - movs r0, #2 - lsls r2, r2, #0x10 - asrs r3, r2, #0x10 + movs r0, #2 + lsls r2, r2, #0x10 + asrs r3, r2, #0x10 _080275C4: - lsls r1, r0, #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, r5 - strh r4, [r0] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #0xb - ble _080275C4 - movs r1, #0x80 - lsls r1, r1, #9 - adds r0, r2, r1 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, r7 - ble _080275BE + lsls r1, r0, #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, r5 + strh r4, [r0] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #0xb + ble _080275C4 + movs r1, #0x80 + lsls r1, r1, #9 + adds r0, r2, r1 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, r7 + ble _080275BE _080275F0: - ldr r1, _080276A0 @ =0x040000D4 - mov r2, r8 - str r2, [r1] - ldr r0, _080276A4 @ =0x06002000 - str r0, [r1, #4] - ldr r0, _080276A8 @ =0x80000400 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r1, _080276A0 @ =0x040000D4 + mov r2, r8 + str r2, [r1] + ldr r0, _080276A4 @ =0x06002000 + str r0, [r1, #4] + ldr r0, _080276A8 @ =0x80000400 + str r0, [r1, #8] + ldr r0, [r1, #8] _08027600: - ldr r0, [r6] - ldrh r0, [r0, #0x18] - subs r0, #0xf0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x1d - bhi _08027680 - movs r2, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldr r3, _0802769C @ =0x03005C00 - mov r8, r3 - cmp r2, r0 - bgt _08027654 - mov r5, r8 - ldr r4, _080276AC @ =0x000001FF - adds r7, r0, #0 + ldr r0, [r6] + ldrh r0, [r0, #0x18] + subs r0, #0xf0 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x1d + bhi _08027680 + movs r2, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldr r3, _0802769C @ =0x03005C00 + mov r8, r3 + cmp r2, r0 + bgt _08027654 + mov r5, r8 + ldr r4, _080276AC @ =0x000001FF + adds r7, r0, #0 _08027622: - movs r0, #2 - lsls r2, r2, #0x10 - asrs r3, r2, #0x10 + movs r0, #2 + lsls r2, r2, #0x10 + asrs r3, r2, #0x10 _08027628: - lsls r1, r0, #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, r5 - strh r4, [r0] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #0xb - ble _08027628 - movs r1, #0x80 - lsls r1, r1, #9 - adds r0, r2, r1 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, r7 - ble _08027622 + lsls r1, r0, #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, r5 + strh r4, [r0] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #0xb + ble _08027628 + movs r1, #0x80 + lsls r1, r1, #9 + adds r0, r2, r1 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, r7 + ble _08027622 _08027654: - ldr r1, _080276A0 @ =0x040000D4 - mov r2, r8 - str r2, [r1] - ldr r0, _080276A4 @ =0x06002000 - str r0, [r1, #4] - ldr r0, _080276A8 @ =0x80000400 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, [r6] - ldrh r1, [r0, #0x18] - ldr r0, _080276B0 @ =0x0000010D - cmp r1, r0 - bne _08027680 - ldr r0, _08027698 @ =0x0200B0C0 - movs r1, #0 - strh r1, [r0, #0x2c] - ldrh r2, [r0, #0x38] - strh r1, [r0, #0x38] - ldrh r2, [r0, #0x3c] - strh r1, [r0, #0x3c] - ldrh r2, [r0, #0x3a] - strh r1, [r0, #0x3a] + ldr r1, _080276A0 @ =0x040000D4 + mov r2, r8 + str r2, [r1] + ldr r0, _080276A4 @ =0x06002000 + str r0, [r1, #4] + ldr r0, _080276A8 @ =0x80000400 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, [r6] + ldrh r1, [r0, #0x18] + ldr r0, _080276B0 @ =0x0000010D + cmp r1, r0 + bne _08027680 + ldr r0, _08027698 @ =0x0200B0C0 + movs r1, #0 + strh r1, [r0, #0x2c] + ldrh r2, [r0, #0x38] + strh r1, [r0, #0x38] + ldrh r2, [r0, #0x3c] + strh r1, [r0, #0x3c] + ldrh r2, [r0, #0x3a] + strh r1, [r0, #0x3a] _08027680: - ldr r1, [r6] + ldr r1, [r6] _08027682: - ldrh r0, [r1, #0x18] + ldrh r0, [r1, #0x18] _08027684: - adds r0, #1 - strh r0, [r1, #0x18] - b _080278E6 - .align 2, 0 + adds r0, #1 + strh r0, [r1, #0x18] + b _080278E6 + .align 2, 0 _0802768C: .4byte 0x020314E0 _08027690: .4byte 0x000006C4 _08027694: .4byte 0x004C4B40 @@ -77835,148 +77835,148 @@ _080276A8: .4byte 0x80000400 _080276AC: .4byte 0x000001FF _080276B0: .4byte 0x0000010D _080276B4: - movs r0, #0x28 - strh r0, [r3, #0x28] - b _080278E6 + movs r0, #0x28 + strh r0, [r3, #0x28] + b _080278E6 _080276BA: - cmp r1, #0x18 - beq _080276C0 - b _080278E6 + cmp r1, #0x18 + beq _080276C0 + b _080278E6 _080276C0: - ldr r5, _080277C0 @ =0x00000723 - adds r0, r3, r5 - ldrb r1, [r0] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _08027748 - ldr r2, _080277C4 @ =0x00000721 - adds r0, r3, r2 - strb r1, [r0] - ldr r0, [r6] - adds r1, r0, r5 - ldrb r1, [r1] - ldr r3, _080277C8 @ =0x00000722 - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r6] - adds r2, r0, r2 - movs r1, #0 - ldrsb r1, [r2, r1] - ldr r7, _080277CC @ =0x0000071D - adds r0, r0, r7 - adds r0, r0, r1 - movs r4, #1 - strb r4, [r0] - ldr r0, [r6] - movs r1, #0xe4 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r3, #0x78 - strb r3, [r0] - ldr r1, [r6] - adds r1, r1, r5 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r1, [r6] - adds r0, r1, r5 - ldrb r2, [r0] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _08027748 - adds r7, #5 - adds r0, r1, r7 - strb r2, [r0] - ldr r0, [r6] - adds r2, r7, #0 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - subs r7, #5 - adds r0, r0, r7 - adds r0, r0, r1 - strb r4, [r0] - ldr r0, [r6] - movs r1, #0xe4 - lsls r1, r1, #3 - adds r0, r0, r1 - strb r3, [r0] - ldr r1, [r6] - adds r1, r1, r5 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldr r5, _080277C0 @ =0x00000723 + adds r0, r3, r5 + ldrb r1, [r0] + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bgt _08027748 + ldr r2, _080277C4 @ =0x00000721 + adds r0, r3, r2 + strb r1, [r0] + ldr r0, [r6] + adds r1, r0, r5 + ldrb r1, [r1] + ldr r3, _080277C8 @ =0x00000722 + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r6] + adds r2, r0, r2 + movs r1, #0 + ldrsb r1, [r2, r1] + ldr r7, _080277CC @ =0x0000071D + adds r0, r0, r7 + adds r0, r0, r1 + movs r4, #1 + strb r4, [r0] + ldr r0, [r6] + movs r1, #0xe4 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r3, #0x78 + strb r3, [r0] + ldr r1, [r6] + adds r1, r1, r5 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r1, [r6] + adds r0, r1, r5 + ldrb r2, [r0] + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bgt _08027748 + adds r7, #5 + adds r0, r1, r7 + strb r2, [r0] + ldr r0, [r6] + adds r2, r7, #0 + adds r1, r0, r2 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + subs r7, #5 + adds r0, r0, r7 + adds r0, r0, r1 + strb r4, [r0] + ldr r0, [r6] + movs r1, #0xe4 + lsls r1, r1, #3 + adds r0, r0, r1 + strb r3, [r0] + ldr r1, [r6] + adds r1, r1, r5 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _08027748: - ldr r2, [r6] - movs r3, #0xb3 - lsls r3, r3, #3 - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, #0x2a - bne _08027780 - adds r3, #0x58 - adds r1, r2, r3 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - ldr r5, _080277D0 @ =0x0000062B - adds r1, r2, r5 - ldrb r0, [r1] - cmp r0, #0x62 - bhi _0802776E - adds r0, #1 - strb r0, [r1] + ldr r2, [r6] + movs r3, #0xb3 + lsls r3, r3, #3 + adds r0, r2, r3 + ldrh r0, [r0] + cmp r0, #0x2a + bne _08027780 + adds r3, #0x58 + adds r1, r2, r3 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + ldr r5, _080277D0 @ =0x0000062B + adds r1, r2, r5 + ldrb r0, [r1] + cmp r0, #0x62 + bhi _0802776E + adds r0, #1 + strb r0, [r1] _0802776E: - ldr r1, [r6] - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, #0xf - bne _08027780 - ldr r7, _080277D4 @ =0x00000286 - adds r1, r1, r7 - movs r0, #0x5c - strh r0, [r1] + ldr r1, [r6] + adds r0, r1, r3 + ldrh r0, [r0] + cmp r0, #0xf + bne _08027780 + ldr r7, _080277D4 @ =0x00000286 + adds r1, r1, r7 + movs r0, #0x5c + strh r0, [r1] _08027780: - ldr r2, [r6] - movs r0, #0xbe - lsls r0, r0, #3 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xf - bne _0802779E - ldr r3, _080277D4 @ =0x00000286 - adds r1, r2, r3 - movs r0, #0x5c - strh r0, [r1] + ldr r2, [r6] + movs r0, #0xbe + lsls r0, r0, #3 + adds r1, r2, r0 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0xf + bne _0802779E + ldr r3, _080277D4 @ =0x00000286 + adds r1, r2, r3 + movs r0, #0x5c + strh r0, [r1] _0802779E: - ldr r0, [r6] - ldr r5, _080277D0 @ =0x0000062B - adds r1, r0, r5 - ldrb r0, [r1] - cmp r0, #0x62 - bhi _080277AE - adds r0, #1 - strb r0, [r1] + ldr r0, [r6] + ldr r5, _080277D0 @ =0x0000062B + adds r1, r0, r5 + ldrb r0, [r1] + cmp r0, #0x62 + bhi _080277AE + adds r0, #1 + strb r0, [r1] _080277AE: - ldr r1, [r6] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - ldr r1, [r6] + ldr r1, [r6] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + ldr r1, [r6] _080277B8: - movs r0, #0 - strh r0, [r1, #0x18] - b _080278E6 - .align 2, 0 + movs r0, #0 + strh r0, [r1, #0x18] + b _080278E6 + .align 2, 0 _080277C0: .4byte 0x00000723 _080277C4: .4byte 0x00000721 _080277C8: .4byte 0x00000722 @@ -77984,86 +77984,86 @@ _080277CC: .4byte 0x0000071D _080277D0: .4byte 0x0000062B _080277D4: .4byte 0x00000286 _080277D8: - ldr r6, _0802787C @ =0x0200B0C0 - ldr r0, [r6, #0x44] - adds r0, #0x80 - ldr r4, [r0] - movs r7, #8 - adds r7, r7, r4 - ldr r5, _08027880 @ =0x03005000 - ldrh r1, [r4, #8] - lsls r1, r1, #3 - adds r1, r1, r5 - movs r0, #2 - ldrsh r2, [r7, r0] - ldr r3, _08027884 @ =0x000001FF - adds r0, r3, #0 - ands r2, r0 - ldrh r3, [r1, #2] - ldr r0, _08027888 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, #2] - ldrh r1, [r4, #8] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r0, [r7, #4] - subs r0, #0x38 - movs r5, #0 - strb r0, [r1] - ldr r0, [r6, #0x44] - adds r0, #0x80 - ldr r0, [r0] - movs r7, #0 - mov r8, r7 - strh r5, [r0] - bl sub_278F4 - ldr r0, [r6, #0x44] - adds r0, #0xa0 - ldr r0, [r0] - strh r5, [r0] - ldr r4, _0802788C @ =0x020314E0 - ldr r0, [r4] - adds r0, #0xe4 - mov r1, r8 - strb r1, [r0] - bl sub_219EC - ldr r0, [r6, #0x44] - ldr r0, [r0, #0x34] - strh r5, [r0] - ldr r0, [r4] - movs r2, #0xd2 - lsls r2, r2, #1 - adds r0, r0, r2 - movs r1, #1 - strb r1, [r0] - ldr r1, [r4] - movs r3, #0xda - lsls r3, r3, #1 - adds r0, r1, r3 - strh r5, [r0] - ldr r5, _08027890 @ =0x000001A5 - adds r0, r1, r5 - mov r6, r8 - strb r6, [r0] - ldr r1, [r4] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - ldr r1, [r4] - ldr r7, _08027894 @ =0x00000714 - adds r0, r1, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _080278E6 - ldr r0, _08027898 @ =0x000006EE - adds r1, r1, r0 - movs r0, #0x78 - strh r0, [r1] - b _080278E6 - .align 2, 0 + ldr r6, _0802787C @ =0x0200B0C0 + ldr r0, [r6, #0x44] + adds r0, #0x80 + ldr r4, [r0] + movs r7, #8 + adds r7, r7, r4 + ldr r5, _08027880 @ =0x03005000 + ldrh r1, [r4, #8] + lsls r1, r1, #3 + adds r1, r1, r5 + movs r0, #2 + ldrsh r2, [r7, r0] + ldr r3, _08027884 @ =0x000001FF + adds r0, r3, #0 + ands r2, r0 + ldrh r3, [r1, #2] + ldr r0, _08027888 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r2 + strh r0, [r1, #2] + ldrh r1, [r4, #8] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r0, [r7, #4] + subs r0, #0x38 + movs r5, #0 + strb r0, [r1] + ldr r0, [r6, #0x44] + adds r0, #0x80 + ldr r0, [r0] + movs r7, #0 + mov r8, r7 + strh r5, [r0] + bl sub_278F4 + ldr r0, [r6, #0x44] + adds r0, #0xa0 + ldr r0, [r0] + strh r5, [r0] + ldr r4, _0802788C @ =0x020314E0 + ldr r0, [r4] + adds r0, #0xe4 + mov r1, r8 + strb r1, [r0] + bl sub_219EC + ldr r0, [r6, #0x44] + ldr r0, [r0, #0x34] + strh r5, [r0] + ldr r0, [r4] + movs r2, #0xd2 + lsls r2, r2, #1 + adds r0, r0, r2 + movs r1, #1 + strb r1, [r0] + ldr r1, [r4] + movs r3, #0xda + lsls r3, r3, #1 + adds r0, r1, r3 + strh r5, [r0] + ldr r5, _08027890 @ =0x000001A5 + adds r0, r1, r5 + mov r6, r8 + strb r6, [r0] + ldr r1, [r4] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + ldr r1, [r4] + ldr r7, _08027894 @ =0x00000714 + adds r0, r1, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _080278E6 + ldr r0, _08027898 @ =0x000006EE + adds r1, r1, r0 + movs r0, #0x78 + strh r0, [r1] + b _080278E6 + .align 2, 0 _0802787C: .4byte 0x0200B0C0 _08027880: .4byte 0x03005000 _08027884: .4byte 0x000001FF @@ -78073,159 +78073,159 @@ _08027890: .4byte 0x000001A5 _08027894: .4byte 0x00000714 _08027898: .4byte 0x000006EE _0802789C: - bl sub_26EA4 - ldr r0, _080278AC @ =0x020314E0 - ldr r1, [r0] - ldrb r0, [r1, #0x17] - adds r0, #1 - b _080278E4 - .align 2, 0 + bl sub_26EA4 + ldr r0, _080278AC @ =0x020314E0 + ldr r1, [r0] + ldrb r0, [r1, #0x17] + adds r0, #1 + b _080278E4 + .align 2, 0 _080278AC: .4byte 0x020314E0 _080278B0: - ldr r1, [r6] - ldrh r0, [r1, #0x18] - cmp r0, #0 - beq _080278BE - subs r0, #1 - strh r0, [r1, #0x18] - b _080278E6 + ldr r1, [r6] + ldrh r0, [r1, #0x18] + cmp r0, #0 + beq _080278BE + subs r0, #1 + strh r0, [r1, #0x18] + b _080278E6 _080278BE: - ldr r2, _080278D4 @ =0x0000071F - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _080278D8 - movs r0, #3 - bl sub_19B64 - b _080278DE - .align 2, 0 + ldr r2, _080278D4 @ =0x0000071F + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _080278D8 + movs r0, #3 + bl sub_19B64 + b _080278DE + .align 2, 0 _080278D4: .4byte 0x0000071F _080278D8: - movs r0, #1 - bl sub_19B64 + movs r0, #1 + bl sub_19B64 _080278DE: - ldr r0, _080278F0 @ =0x020314E0 - ldr r1, [r0] - movs r0, #0 + ldr r0, _080278F0 @ =0x020314E0 + ldr r1, [r0] + movs r0, #0 _080278E4: - strb r0, [r1, #0x17] + strb r0, [r1, #0x17] _080278E6: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _080278F0: .4byte 0x020314E0 - thumb_func_start sub_278F4 + thumb_func_start sub_278F4 sub_278F4: @ 0x080278F4 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r0, _080279C4 @ =0x0200B0C0 - mov sl, r0 - ldr r0, [r0, #0x4c] - movs r1, #0x4b - bl __umodsi3 - movs r1, #3 - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r8, r0 - mov r1, sl - ldr r2, [r1, #0x44] - adds r0, r2, #0 - adds r0, #0x80 - ldr r7, [r0] - ldr r6, _080279C8 @ =0x020314E0 - ldr r3, [r6] - ldr r0, _080279CC @ =0x0000026E - mov sb, r0 - adds r0, r3, r0 - ldrh r1, [r0] - cmp r1, #0 - bne _08027932 - b _08027B74 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r0, _080279C4 @ =0x0200B0C0 + mov sl, r0 + ldr r0, [r0, #0x4c] + movs r1, #0x4b + bl __umodsi3 + movs r1, #3 + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov r8, r0 + mov r1, sl + ldr r2, [r1, #0x44] + adds r0, r2, #0 + adds r0, #0x80 + ldr r7, [r0] + ldr r6, _080279C8 @ =0x020314E0 + ldr r3, [r6] + ldr r0, _080279CC @ =0x0000026E + mov sb, r0 + adds r0, r3, r0 + ldrh r1, [r0] + cmp r1, #0 + bne _08027932 + b _08027B74 _08027932: - adds r0, r2, #0 - adds r0, #0xa0 - ldr r7, [r0] - cmp r1, #0x50 - bne _0802798C - adds r1, r3, #0 - adds r1, #0xe4 - movs r5, #0 - movs r0, #0xf - strb r0, [r1] - ldr r2, _080279D0 @ =0x040000D4 - ldr r1, _080279D4 @ =0x086AD474 - ldr r3, [r6] - ldr r0, _080279D8 @ =0x0000025F - adds r4, r3, r0 - movs r0, #0 - ldrsb r0, [r4, r0] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r2] - ldr r0, _080279DC @ =0x06015800 - str r0, [r2, #4] - ldr r0, _080279E0 @ =0x80000E00 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r0, #0 - ldrsb r0, [r4, r0] - lsls r0, r0, #5 - ldr r1, _080279E4 @ =0x0815C4C4 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _080279E8 @ =0x050003E0 - str r0, [r2, #4] - ldr r0, _080279EC @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r1, _080279F0 @ =0x00000626 - adds r3, r3, r1 - strb r5, [r3] - ldr r0, [r6] - movs r2, #0xc5 - lsls r2, r2, #3 - adds r0, r0, r2 - strh r5, [r0] + adds r0, r2, #0 + adds r0, #0xa0 + ldr r7, [r0] + cmp r1, #0x50 + bne _0802798C + adds r1, r3, #0 + adds r1, #0xe4 + movs r5, #0 + movs r0, #0xf + strb r0, [r1] + ldr r2, _080279D0 @ =0x040000D4 + ldr r1, _080279D4 @ =0x086AD474 + ldr r3, [r6] + ldr r0, _080279D8 @ =0x0000025F + adds r4, r3, r0 + movs r0, #0 + ldrsb r0, [r4, r0] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + str r0, [r2] + ldr r0, _080279DC @ =0x06015800 + str r0, [r2, #4] + ldr r0, _080279E0 @ =0x80000E00 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r0, #0 + ldrsb r0, [r4, r0] + lsls r0, r0, #5 + ldr r1, _080279E4 @ =0x0815C4C4 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _080279E8 @ =0x050003E0 + str r0, [r2, #4] + ldr r0, _080279EC @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r1, _080279F0 @ =0x00000626 + adds r3, r3, r1 + strb r5, [r3] + ldr r0, [r6] + movs r2, #0xc5 + lsls r2, r2, #3 + adds r0, r0, r2 + strh r5, [r0] _0802798C: - ldr r0, [r6] - add r0, sb - ldrh r0, [r0] - cmp r0, #0x3c - bne _0802799E - ldr r0, _080279F4 @ =0x02032F20 - ldr r1, _080279F8 @ =0x0869F58C - bl MPlayStart + ldr r0, [r6] + add r0, sb + ldrh r0, [r0] + cmp r0, #0x3c + bne _0802799E + ldr r0, _080279F4 @ =0x02032F20 + ldr r1, _080279F8 @ =0x0869F58C + bl MPlayStart _0802799E: - ldr r2, _080279FC @ =0x086AE0E6 - ldr r1, [r6] - ldr r5, _080279F0 @ =0x00000626 - adds r3, r1, r5 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #1 - adds r0, r0, r2 - movs r2, #0 - ldrsh r0, [r0, r2] - adds r5, #2 - adds r1, r1, r5 - ldrh r2, [r1] - cmp r0, r2 - ble _08027A00 - adds r0, r2, #1 - strh r0, [r1] - b _08027A46 - .align 2, 0 + ldr r2, _080279FC @ =0x086AE0E6 + ldr r1, [r6] + ldr r5, _080279F0 @ =0x00000626 + adds r3, r1, r5 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #1 + adds r0, r0, r2 + movs r2, #0 + ldrsh r0, [r0, r2] + adds r5, #2 + adds r1, r1, r5 + ldrh r2, [r1] + cmp r0, r2 + ble _08027A00 + adds r0, r2, #1 + strh r0, [r1] + b _08027A46 + .align 2, 0 _080279C4: .4byte 0x0200B0C0 _080279C8: .4byte 0x020314E0 _080279CC: .4byte 0x0000026E @@ -78242,174 +78242,174 @@ _080279F4: .4byte 0x02032F20 _080279F8: .4byte 0x0869F58C _080279FC: .4byte 0x086AE0E6 _08027A00: - movs r2, #1 - strh r2, [r1] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r0, [r6] - ldr r3, _08027B48 @ =0x00000626 - adds r1, r0, r3 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x1d - bne _08027A46 - movs r0, #0x1c - strb r0, [r1] - ldr r0, [r6] - add r0, sb - strh r2, [r0] - mov r5, sl - ldr r0, [r5, #0x44] - adds r0, #0xa0 - ldr r1, [r0] - movs r0, #0 - strh r0, [r1] - ldr r0, [r5, #0x44] - adds r0, #0x80 - ldr r0, [r0] - strh r2, [r0] - ldr r0, _08027B4C @ =0x02032F20 - ldr r1, _08027B50 @ =0x0869F5C8 - bl MPlayStart - ldr r0, [r6] - adds r0, #0xe4 - movs r1, #0 - strb r1, [r0] + movs r2, #1 + strh r2, [r1] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r0, [r6] + ldr r3, _08027B48 @ =0x00000626 + adds r1, r0, r3 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x1d + bne _08027A46 + movs r0, #0x1c + strb r0, [r1] + ldr r0, [r6] + add r0, sb + strh r2, [r0] + mov r5, sl + ldr r0, [r5, #0x44] + adds r0, #0xa0 + ldr r1, [r0] + movs r0, #0 + strh r0, [r1] + ldr r0, [r5, #0x44] + adds r0, #0x80 + ldr r0, [r0] + strh r2, [r0] + ldr r0, _08027B4C @ =0x02032F20 + ldr r1, _08027B50 @ =0x0869F5C8 + bl MPlayStart + ldr r0, [r6] + adds r0, #0xe4 + movs r1, #0 + strb r1, [r0] _08027A46: - ldr r3, _08027B54 @ =0x020314E0 - ldr r2, [r3] - movs r6, #0x96 - lsls r6, r6, #2 - adds r0, r2, r6 - adds r1, r2, #0 - adds r1, #0x58 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r0, r1 - adds r0, #8 - strh r0, [r7, #2] - ldr r1, _08027B58 @ =0x0000025A - adds r0, r2, r1 - adds r2, #0x5a - ldrh r0, [r0] - ldrh r1, [r2] - subs r0, r0, r1 - adds r0, #8 - strh r0, [r7, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x1e - rsbs r1, r1, #0 - cmp r0, r1 - bge _08027A7E - ldr r0, _08027B5C @ =0x0000FFE2 - strh r0, [r7, #4] + ldr r3, _08027B54 @ =0x020314E0 + ldr r2, [r3] + movs r6, #0x96 + lsls r6, r6, #2 + adds r0, r2, r6 + adds r1, r2, #0 + adds r1, #0x58 + ldrh r0, [r0] + ldrh r1, [r1] + subs r0, r0, r1 + adds r0, #8 + strh r0, [r7, #2] + ldr r1, _08027B58 @ =0x0000025A + adds r0, r2, r1 + adds r2, #0x5a + ldrh r0, [r0] + ldrh r1, [r2] + subs r0, r0, r1 + adds r0, #8 + strh r0, [r7, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0x1e + rsbs r1, r1, #0 + cmp r0, r1 + bge _08027A7E + ldr r0, _08027B5C @ =0x0000FFE2 + strh r0, [r7, #4] _08027A7E: - movs r2, #4 - ldrsh r0, [r7, r2] - cmp r0, #0xc8 - ble _08027A8A - movs r0, #0xc8 - strh r0, [r7, #4] + movs r2, #4 + ldrsh r0, [r7, r2] + cmp r0, #0xc8 + ble _08027A8A + movs r0, #0xc8 + strh r0, [r7, #4] _08027A8A: - movs r0, #0 - ldr r3, _08027B60 @ =0x03005000 - mov sl, r3 - ldr r5, _08027B64 @ =0x086B4202 - mov sb, r5 - ldr r6, _08027B54 @ =0x020314E0 - mov r8, r6 - ldr r1, _08027B48 @ =0x00000626 - mov ip, r1 + movs r0, #0 + ldr r3, _08027B60 @ =0x03005000 + mov sl, r3 + ldr r5, _08027B64 @ =0x086B4202 + mov sb, r5 + ldr r6, _08027B54 @ =0x020314E0 + mov r8, r6 + ldr r1, _08027B48 @ =0x00000626 + mov ip, r1 _08027A9C: - lsls r4, r0, #0x10 - asrs r4, r4, #0x10 - lsls r0, r4, #3 - adds r0, #8 - adds r6, r7, r0 - ldrh r2, [r6] - lsls r2, r2, #3 - add r2, sl - lsls r3, r4, #1 - adds r3, r3, r4 - mov r5, r8 - ldr r0, [r5] - add r0, ip - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #4 - subs r0, r0, r1 - adds r0, r0, r3 - lsls r0, r0, #1 - add r0, sb - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r5, r3, #1 - mov r1, r8 - ldr r0, [r1] - add r0, ip - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #4 - subs r0, r0, r1 - adds r0, r0, r5 - lsls r0, r0, #1 - add r0, sb - ldrh r0, [r0] - strh r0, [r2] - adds r3, #2 - mov r5, r8 - ldr r0, [r5] - add r0, ip - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #4 - subs r0, r0, r1 - adds r0, r0, r3 - lsls r0, r0, #1 - add r0, sb - ldrh r0, [r0] - strh r0, [r2, #2] - ldrh r2, [r6] - lsls r2, r2, #3 - add r2, sl - ldrh r3, [r2, #2] - lsls r1, r3, #0x17 - lsrs r1, r1, #0x17 - movs r5, #2 - ldrsh r0, [r7, r5] - adds r1, r1, r0 - ldr r5, _08027B68 @ =0x000001FF - adds r0, r5, #0 - ands r1, r0 - ldr r0, _08027B6C @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r6] - lsls r1, r1, #3 - add r1, sl - ldrb r0, [r7, #4] - ldrb r6, [r1] - adds r0, r0, r6 - strb r0, [r1] - adds r4, #1 - lsls r4, r4, #0x10 - lsrs r0, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #4 - ble _08027A9C - ldr r0, _08027B54 @ =0x020314E0 - ldr r1, [r0] - ldr r2, _08027B70 @ =0x0000026E - adds r1, r1, r2 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - b _08027CE8 - .align 2, 0 + lsls r4, r0, #0x10 + asrs r4, r4, #0x10 + lsls r0, r4, #3 + adds r0, #8 + adds r6, r7, r0 + ldrh r2, [r6] + lsls r2, r2, #3 + add r2, sl + lsls r3, r4, #1 + adds r3, r3, r4 + mov r5, r8 + ldr r0, [r5] + add r0, ip + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #4 + subs r0, r0, r1 + adds r0, r0, r3 + lsls r0, r0, #1 + add r0, sb + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r5, r3, #1 + mov r1, r8 + ldr r0, [r1] + add r0, ip + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #4 + subs r0, r0, r1 + adds r0, r0, r5 + lsls r0, r0, #1 + add r0, sb + ldrh r0, [r0] + strh r0, [r2] + adds r3, #2 + mov r5, r8 + ldr r0, [r5] + add r0, ip + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #4 + subs r0, r0, r1 + adds r0, r0, r3 + lsls r0, r0, #1 + add r0, sb + ldrh r0, [r0] + strh r0, [r2, #2] + ldrh r2, [r6] + lsls r2, r2, #3 + add r2, sl + ldrh r3, [r2, #2] + lsls r1, r3, #0x17 + lsrs r1, r1, #0x17 + movs r5, #2 + ldrsh r0, [r7, r5] + adds r1, r1, r0 + ldr r5, _08027B68 @ =0x000001FF + adds r0, r5, #0 + ands r1, r0 + ldr r0, _08027B6C @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r6] + lsls r1, r1, #3 + add r1, sl + ldrb r0, [r7, #4] + ldrb r6, [r1] + adds r0, r0, r6 + strb r0, [r1] + adds r4, #1 + lsls r4, r4, #0x10 + lsrs r0, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #4 + ble _08027A9C + ldr r0, _08027B54 @ =0x020314E0 + ldr r1, [r0] + ldr r2, _08027B70 @ =0x0000026E + adds r1, r1, r2 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] + b _08027CE8 + .align 2, 0 _08027B48: .4byte 0x00000626 _08027B4C: .4byte 0x02032F20 _08027B50: .4byte 0x0869F5C8 @@ -78422,206 +78422,206 @@ _08027B68: .4byte 0x000001FF _08027B6C: .4byte 0xFFFFFE00 _08027B70: .4byte 0x0000026E _08027B74: - ldr r6, _08027CF8 @ =0x0000132C - adds r0, r3, r6 - ldr r2, [r0] - movs r1, #0x10 - ldrsh r0, [r2, r1] - subs r0, #8 - movs r6, #0x96 - lsls r6, r6, #2 - adds r1, r3, r6 - movs r6, #0 - ldrsh r1, [r1, r6] - subs r4, r0, r1 - movs r1, #0x12 - ldrsh r0, [r2, r1] - subs r0, #8 - ldr r2, _08027CFC @ =0x0000025A - adds r1, r3, r2 - movs r6, #0 - ldrsh r1, [r1, r6] - subs r5, r0, r1 - adds r0, r4, #0 - muls r0, r4, r0 - adds r1, r5, #0 - muls r1, r5, r1 - adds r0, r0, r1 - cmp r0, #0x51 - bgt _08027C38 - adds r0, r3, #0 - adds r0, #0x24 - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #0 - bne _08027BC4 - adds r2, #4 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #5 - ble _08027BD6 + ldr r6, _08027CF8 @ =0x0000132C + adds r0, r3, r6 + ldr r2, [r0] + movs r1, #0x10 + ldrsh r0, [r2, r1] + subs r0, #8 + movs r6, #0x96 + lsls r6, r6, #2 + adds r1, r3, r6 + movs r6, #0 + ldrsh r1, [r1, r6] + subs r4, r0, r1 + movs r1, #0x12 + ldrsh r0, [r2, r1] + subs r0, #8 + ldr r2, _08027CFC @ =0x0000025A + adds r1, r3, r2 + movs r6, #0 + ldrsh r1, [r1, r6] + subs r5, r0, r1 + adds r0, r4, #0 + muls r0, r4, r0 + adds r1, r5, #0 + muls r1, r5, r1 + adds r0, r0, r1 + cmp r0, #0x51 + bgt _08027C38 + adds r0, r3, #0 + adds r0, #0x24 + movs r1, #0 + ldrsb r1, [r0, r1] + cmp r1, #0 + bne _08027BC4 + adds r2, #4 + adds r0, r3, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #5 + ble _08027BD6 _08027BC4: - cmp r1, #2 - bne _08027C38 - ldr r5, _08027D00 @ =0x0000025E - adds r0, r3, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #5 - ble _08027C38 + cmp r1, #2 + bne _08027C38 + ldr r5, _08027D00 @ =0x0000025E + adds r0, r3, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #5 + ble _08027C38 _08027BD6: - ldr r4, _08027D04 @ =0x020314E0 - ldr r1, [r4] - ldr r6, _08027D08 @ =0x0000026B - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _08027C38 - ldr r0, _08027D0C @ =0x00002710 - str r0, [r1, #0x3c] - ldr r0, _08027D10 @ =0x02032F20 - ldr r1, _08027D14 @ =0x0869F618 - bl MPlayStart - ldr r1, [r4] - movs r2, #0 - movs r0, #1 - strb r0, [r1, #0x17] - ldr r0, [r4] - adds r1, r0, r6 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - ldr r3, _08027D18 @ =0x0000071D - adds r0, r0, r3 - adds r0, r0, r1 - movs r1, #5 - strb r1, [r0] - ldr r1, [r4] - adds r1, r1, r6 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, _08027D1C @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0x80 - ldr r0, [r0] - strh r2, [r0] - ldr r0, [r4] - adds r2, r0, r6 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #3 - bne _08027C38 - movs r0, #0 - strb r0, [r2] - ldr r0, [r4] - strb r1, [r0, #0x17] + ldr r4, _08027D04 @ =0x020314E0 + ldr r1, [r4] + ldr r6, _08027D08 @ =0x0000026B + adds r0, r1, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bgt _08027C38 + ldr r0, _08027D0C @ =0x00002710 + str r0, [r1, #0x3c] + ldr r0, _08027D10 @ =0x02032F20 + ldr r1, _08027D14 @ =0x0869F618 + bl MPlayStart + ldr r1, [r4] + movs r2, #0 + movs r0, #1 + strb r0, [r1, #0x17] + ldr r0, [r4] + adds r1, r0, r6 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + ldr r3, _08027D18 @ =0x0000071D + adds r0, r0, r3 + adds r0, r0, r1 + movs r1, #5 + strb r1, [r0] + ldr r1, [r4] + adds r1, r1, r6 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r0, _08027D1C @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0x80 + ldr r0, [r0] + strh r2, [r0] + ldr r0, [r4] + adds r2, r0, r6 + movs r1, #0 + ldrsb r1, [r2, r1] + cmp r1, #3 + bne _08027C38 + movs r0, #0 + strb r0, [r2] + ldr r0, [r4] + strb r1, [r0, #0x17] _08027C38: - ldr r3, _08027D04 @ =0x020314E0 - ldr r2, [r3] - movs r5, #0x96 - lsls r5, r5, #2 - adds r0, r2, r5 - adds r1, r2, #0 - adds r1, #0x58 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r0, r1 - subs r0, #8 - strh r0, [r7, #2] - ldr r6, _08027CFC @ =0x0000025A - adds r0, r2, r6 - adds r2, #0x5a - ldrh r0, [r0] - ldrh r1, [r2] - subs r0, r0, r1 - subs r0, #8 - strh r0, [r7, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x1e - rsbs r1, r1, #0 - cmp r0, r1 - bge _08027C70 - ldr r0, _08027D20 @ =0x0000FFE2 - strh r0, [r7, #4] + ldr r3, _08027D04 @ =0x020314E0 + ldr r2, [r3] + movs r5, #0x96 + lsls r5, r5, #2 + adds r0, r2, r5 + adds r1, r2, #0 + adds r1, #0x58 + ldrh r0, [r0] + ldrh r1, [r1] + subs r0, r0, r1 + subs r0, #8 + strh r0, [r7, #2] + ldr r6, _08027CFC @ =0x0000025A + adds r0, r2, r6 + adds r2, #0x5a + ldrh r0, [r0] + ldrh r1, [r2] + subs r0, r0, r1 + subs r0, #8 + strh r0, [r7, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0x1e + rsbs r1, r1, #0 + cmp r0, r1 + bge _08027C70 + ldr r0, _08027D20 @ =0x0000FFE2 + strh r0, [r7, #4] _08027C70: - movs r1, #4 - ldrsh r0, [r7, r1] - cmp r0, #0xc8 - ble _08027C7C - movs r0, #0xc8 - strh r0, [r7, #4] + movs r1, #4 + ldrsh r0, [r7, r1] + cmp r0, #0xc8 + ble _08027C7C + movs r0, #0xc8 + strh r0, [r7, #4] _08027C7C: - mov r2, r8 - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xe - ble _08027C8A - movs r5, #0xe - mov r8, r5 + mov r2, r8 + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xe + ble _08027C8A + movs r5, #0xe + mov r8, r5 _08027C8A: - ldr r2, _08027D24 @ =0x040000D4 - ldr r1, _08027D28 @ =0x086AD49C - ldr r0, [r3] - ldr r6, _08027D2C @ =0x0000025F - adds r0, r0, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - adds r0, r0, r1 - mov r3, r8 - lsls r1, r3, #0x10 - asrs r1, r1, #7 - ldr r0, [r0] - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08027D30 @ =0x060116C0 - str r0, [r2, #4] - ldr r0, _08027D34 @ =0x80000100 - str r0, [r2, #8] - ldr r0, [r2, #8] - adds r6, r7, #0 - adds r6, #8 - ldr r4, _08027D38 @ =0x03005000 - ldrh r2, [r7, #8] - lsls r2, r2, #3 - adds r2, r2, r4 - movs r5, #2 - ldrsh r1, [r6, r5] - movs r3, #2 - ldrsh r0, [r7, r3] - adds r1, r1, r0 - ldr r5, _08027D3C @ =0x000001FF - adds r0, r5, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _08027D40 @ =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 r2, _08027D24 @ =0x040000D4 + ldr r1, _08027D28 @ =0x086AD49C + ldr r0, [r3] + ldr r6, _08027D2C @ =0x0000025F + adds r0, r0, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + adds r0, r0, r1 + mov r3, r8 + lsls r1, r3, #0x10 + asrs r1, r1, #7 + ldr r0, [r0] + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08027D30 @ =0x060116C0 + str r0, [r2, #4] + ldr r0, _08027D34 @ =0x80000100 + str r0, [r2, #8] + ldr r0, [r2, #8] + adds r6, r7, #0 + adds r6, #8 + ldr r4, _08027D38 @ =0x03005000 + ldrh r2, [r7, #8] + lsls r2, r2, #3 + adds r2, r2, r4 + movs r5, #2 + ldrsh r1, [r6, r5] + movs r3, #2 + ldrsh r0, [r7, r3] + adds r1, r1, r0 + ldr r5, _08027D3C @ =0x000001FF + adds r0, r5, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _08027D40 @ =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] _08027CE8: - 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 + 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 _08027CF8: .4byte 0x0000132C _08027CFC: .4byte 0x0000025A _08027D00: .4byte 0x0000025E @@ -78642,75 +78642,75 @@ _08027D38: .4byte 0x03005000 _08027D3C: .4byte 0x000001FF _08027D40: .4byte 0xFFFFFE00 - thumb_func_start sub_27D44 + thumb_func_start sub_27D44 sub_27D44: @ 0x08027D44 - push {r4, r5, r6, lr} - ldr r4, _08027DC8 @ =0x020314E0 - ldr r0, [r4] - ldr r1, _08027DCC @ =0x000005A5 - adds r0, r0, r1 - movs r1, #0 - strb r1, [r0] - ldr r0, [r4] - ldr r2, _08027DD0 @ =0x000005A9 - adds r0, r0, r2 - strb r1, [r0] - ldr r2, _08027DD4 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x48] - movs r5, #0 - strh r1, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x30] - strh r1, [r0] - ldr r0, [r4] - ldr r1, _08027DD8 @ =0x000005F2 - adds r0, r0, r1 - strb r5, [r0] - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 - ldr r0, [r4] - ldr r2, _08027DDC @ =0x000006C4 - adds r0, r0, r2 - strb r5, [r0] - bl sub_4D648 - movs r2, #0 - ldr r5, _08027DE0 @ =0x000006D3 - movs r3, #0xd - adds r6, r4, #0 + push {r4, r5, r6, lr} + ldr r4, _08027DC8 @ =0x020314E0 + ldr r0, [r4] + ldr r1, _08027DCC @ =0x000005A5 + adds r0, r0, r1 + movs r1, #0 + strb r1, [r0] + ldr r0, [r4] + ldr r2, _08027DD0 @ =0x000005A9 + adds r0, r0, r2 + strb r1, [r0] + ldr r2, _08027DD4 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x48] + movs r5, #0 + strh r1, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x30] + strh r1, [r0] + ldr r0, [r4] + ldr r1, _08027DD8 @ =0x000005F2 + adds r0, r0, r1 + strb r5, [r0] + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 + ldr r0, [r4] + ldr r2, _08027DDC @ =0x000006C4 + adds r0, r0, r2 + strb r5, [r0] + bl sub_4D648 + movs r2, #0 + ldr r5, _08027DE0 @ =0x000006D3 + movs r3, #0xd + adds r6, r4, #0 _08027D8E: - ldr r1, [r4] - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - adds r1, r1, r5 - adds r1, r1, r0 - strb r3, [r1] - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #5 - ble _08027D8E - movs r2, #0 - ldr r5, _08027DE4 @ =0x0000071D + ldr r1, [r4] + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + adds r1, r1, r5 + adds r1, r1, r0 + strb r3, [r1] + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #5 + ble _08027D8E + movs r2, #0 + ldr r5, _08027DE4 @ =0x0000071D _08027DAA: - ldr r3, [r6] - ldr r1, _08027DE8 @ =0x00000723 - adds r0, r3, r1 - lsls r1, r2, #0x10 - asrs r2, r1, #0x10 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r4, r1, #0 - cmp r2, r0 - bge _08027DEC - adds r0, r3, r5 - adds r0, r0, r2 - movs r1, #1 - b _08027DF2 - .align 2, 0 + ldr r3, [r6] + ldr r1, _08027DE8 @ =0x00000723 + adds r0, r3, r1 + lsls r1, r2, #0x10 + asrs r2, r1, #0x10 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r4, r1, #0 + cmp r2, r0 + bge _08027DEC + adds r0, r3, r5 + adds r0, r0, r2 + movs r1, #1 + b _08027DF2 + .align 2, 0 _08027DC8: .4byte 0x020314E0 _08027DCC: .4byte 0x000005A5 _08027DD0: .4byte 0x000005A9 @@ -78721,98 +78721,98 @@ _08027DE0: .4byte 0x000006D3 _08027DE4: .4byte 0x0000071D _08027DE8: .4byte 0x00000723 _08027DEC: - adds r0, r3, r5 - adds r0, r0, r2 - movs r1, #0 + adds r0, r3, r5 + adds r0, r0, r2 + movs r1, #0 _08027DF2: - strb r1, [r0] - movs r2, #0x80 - lsls r2, r2, #9 - adds r0, r4, r2 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _08027DAA - pop {r4, r5, r6} - pop {r0} - bx r0 - - thumb_func_start sub_27E08 + strb r1, [r0] + movs r2, #0x80 + lsls r2, r2, #9 + adds r0, r4, r2 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + ble _08027DAA + pop {r4, r5, r6} + pop {r0} + bx r0 + + thumb_func_start sub_27E08 sub_27E08: @ 0x08027E08 - push {r4, r5, r6, r7, lr} - ldr r3, _08027E9C @ =0x020314E0 - ldr r0, [r3] - movs r5, #0 - strb r5, [r0, #0x17] - ldr r0, [r3] - movs r6, #0 - strh r5, [r0, #0x18] - movs r1, #0xa5 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #1 - strb r1, [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, _08027EA0 @ =0x00000296 - adds r1, r2, r7 - strh r0, [r1] - strh r5, [r4] - ldr r0, _08027EA4 @ =0x000005A5 - adds r2, r2, r0 - strb r6, [r2] - ldr r0, [r3] - ldr r2, _08027EA8 @ =0x000005AA - adds r1, r0, r2 - strh r5, [r1] - ldr r7, _08027EAC @ =0x000005A9 - adds r0, r0, r7 - strb r6, [r0] - ldr r0, [r3] - ldr r1, _08027EB0 @ =0x000006C6 - adds r0, r0, r1 - strb r6, [r0] - ldr r0, [r3] - ldr r2, _08027EB4 @ =0x000006C7 - adds r0, r0, r2 - strb r6, [r0] - ldr r0, [r3] - adds r7, #0x7c - adds r0, r0, r7 - strb r6, [r0] - ldr r0, [r3] - adds r2, #3 - adds r1, r0, r2 - strh r5, [r1] - adds r7, #0xa7 - adds r0, r0, r7 - strb r6, [r0] - ldr r0, [r3] - ldr r1, _08027EB8 @ =0x0000072F - adds r0, r0, r1 - strb r6, [r0] - ldr r0, [r3] - adds r2, #0x67 - adds r0, r0, r2 - strb r6, [r0] - ldr r1, [r3] - ldr r7, _08027EBC @ =0x0000029A - adds r0, r1, r7 - ldrh r0, [r0] - adds r5, r3, #0 - cmp r0, #0 - bne _08027EC8 - ldr r0, _08027EC0 @ =0x00000724 - adds r1, r1, r0 - ldr r0, _08027EC4 @ =0x00001770 - b _08027ECE - .align 2, 0 + push {r4, r5, r6, r7, lr} + ldr r3, _08027E9C @ =0x020314E0 + ldr r0, [r3] + movs r5, #0 + strb r5, [r0, #0x17] + ldr r0, [r3] + movs r6, #0 + strh r5, [r0, #0x18] + movs r1, #0xa5 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #1 + strb r1, [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, _08027EA0 @ =0x00000296 + adds r1, r2, r7 + strh r0, [r1] + strh r5, [r4] + ldr r0, _08027EA4 @ =0x000005A5 + adds r2, r2, r0 + strb r6, [r2] + ldr r0, [r3] + ldr r2, _08027EA8 @ =0x000005AA + adds r1, r0, r2 + strh r5, [r1] + ldr r7, _08027EAC @ =0x000005A9 + adds r0, r0, r7 + strb r6, [r0] + ldr r0, [r3] + ldr r1, _08027EB0 @ =0x000006C6 + adds r0, r0, r1 + strb r6, [r0] + ldr r0, [r3] + ldr r2, _08027EB4 @ =0x000006C7 + adds r0, r0, r2 + strb r6, [r0] + ldr r0, [r3] + adds r7, #0x7c + adds r0, r0, r7 + strb r6, [r0] + ldr r0, [r3] + adds r2, #3 + adds r1, r0, r2 + strh r5, [r1] + adds r7, #0xa7 + adds r0, r0, r7 + strb r6, [r0] + ldr r0, [r3] + ldr r1, _08027EB8 @ =0x0000072F + adds r0, r0, r1 + strb r6, [r0] + ldr r0, [r3] + adds r2, #0x67 + adds r0, r0, r2 + strb r6, [r0] + ldr r1, [r3] + ldr r7, _08027EBC @ =0x0000029A + adds r0, r1, r7 + ldrh r0, [r0] + adds r5, r3, #0 + cmp r0, #0 + bne _08027EC8 + ldr r0, _08027EC0 @ =0x00000724 + adds r1, r1, r0 + ldr r0, _08027EC4 @ =0x00001770 + b _08027ECE + .align 2, 0 _08027E9C: .4byte 0x020314E0 _08027EA0: .4byte 0x00000296 _08027EA4: .4byte 0x000005A5 @@ -78825,91 +78825,91 @@ _08027EBC: .4byte 0x0000029A _08027EC0: .4byte 0x00000724 _08027EC4: .4byte 0x00001770 _08027EC8: - ldr r2, _08027F6C @ =0x00000724 - adds r1, r1, r2 - ldr r0, _08027F70 @ =0x00001068 + ldr r2, _08027F6C @ =0x00000724 + adds r1, r1, r2 + ldr r0, _08027F70 @ =0x00001068 _08027ECE: - strh r0, [r1] - ldr r1, [r5] - ldr r7, _08027F74 @ =0x0000029A - adds r1, r1, r7 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - ldr r1, _08027F78 @ =0x040000D4 - ldr r0, _08027F7C @ =0x081C0064 - str r0, [r1] - ldr r0, _08027F80 @ =0x05000180 - str r0, [r1, #4] - ldr r0, _08027F84 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r2, #0 - ldr r6, _08027F88 @ =0x0200B0C0 - adds r4, r5, #0 - ldr r3, _08027F8C @ =0x000006CD + strh r0, [r1] + ldr r1, [r5] + ldr r7, _08027F74 @ =0x0000029A + adds r1, r1, r7 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + ldr r1, _08027F78 @ =0x040000D4 + ldr r0, _08027F7C @ =0x081C0064 + str r0, [r1] + ldr r0, _08027F80 @ =0x05000180 + str r0, [r1, #4] + ldr r0, _08027F84 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + movs r2, #0 + ldr r6, _08027F88 @ =0x0200B0C0 + adds r4, r5, #0 + ldr r3, _08027F8C @ =0x000006CD _08027EF4: - ldr r1, [r4] - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - adds r1, r1, r3 - adds r1, r1, r0 - strb r2, [r1] - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #5 - ble _08027EF4 - ldr r4, [r5] - ldr r0, [r6, #0x4c] - movs r1, #6 - bl __umodsi3 - movs r2, #0xd9 - lsls r2, r2, #3 - adds r4, r4, r2 - strb r0, [r4] - ldr r0, [r5] - ldr r4, _08027F90 @ =0x000006C9 - adds r0, r0, r4 - movs r1, #5 - strb r1, [r0] - ldr r0, [r5] - adds r2, r0, r2 - movs r1, #0 - ldrsb r1, [r2, r1] - adds r0, r0, r4 - lsls r2, r1, #0x10 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - bge _08027F64 - adds r3, r5, #0 - ldr r5, _08027F8C @ =0x000006CD + ldr r1, [r4] + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + adds r1, r1, r3 + adds r1, r1, r0 + strb r2, [r1] + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #5 + ble _08027EF4 + ldr r4, [r5] + ldr r0, [r6, #0x4c] + movs r1, #6 + bl __umodsi3 + movs r2, #0xd9 + lsls r2, r2, #3 + adds r4, r4, r2 + strb r0, [r4] + ldr r0, [r5] + ldr r4, _08027F90 @ =0x000006C9 + adds r0, r0, r4 + movs r1, #5 + strb r1, [r0] + ldr r0, [r5] + adds r2, r0, r2 + movs r1, #0 + ldrsb r1, [r2, r1] + adds r0, r0, r4 + lsls r2, r1, #0x10 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + bge _08027F64 + adds r3, r5, #0 + ldr r5, _08027F8C @ =0x000006CD _08027F42: - ldr r0, [r3] - asrs r1, r2, #0x10 - adds r0, r0, r5 - adds r2, r0, r1 - adds r1, #1 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r2] - ldr r0, [r3] - adds r0, r0, r4 - lsls r2, r1, #0x10 - asrs r1, r2, #0x10 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - blt _08027F42 + ldr r0, [r3] + asrs r1, r2, #0x10 + adds r0, r0, r5 + adds r2, r0, r1 + adds r1, #1 + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r2] + ldr r0, [r3] + adds r0, r0, r4 + lsls r2, r1, #0x10 + asrs r1, r2, #0x10 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + blt _08027F42 _08027F64: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08027F6C: .4byte 0x00000724 _08027F70: .4byte 0x00001068 _08027F74: .4byte 0x0000029A @@ -78921,264 +78921,264 @@ _08027F88: .4byte 0x0200B0C0 _08027F8C: .4byte 0x000006CD _08027F90: .4byte 0x000006C9 - thumb_func_start sub_27F94 + thumb_func_start sub_27F94 sub_27F94: @ 0x08027F94 - push {r4, r5, lr} - ldr r4, _08027FEC @ =0x020314E0 - ldr r1, [r4] - 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 _08027FD0 - ldr r3, _08027FF0 @ =0x00000296 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, #1 - bhi _08027FD0 - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #9 - bgt _08027FD0 - bl m4aMPlayAllStop - movs r0, #0x13 - bl m4aSongNumStart - ldr r0, [r4] - movs r1, #0xc8 - strh r1, [r0, #0x18] - movs r1, #0xa - strb r1, [r0, #0x17] + push {r4, r5, lr} + ldr r4, _08027FEC @ =0x020314E0 + ldr r1, [r4] + 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 _08027FD0 + ldr r3, _08027FF0 @ =0x00000296 + adds r0, r1, r3 + ldrh r0, [r0] + cmp r0, #1 + bhi _08027FD0 + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #9 + bgt _08027FD0 + bl m4aMPlayAllStop + movs r0, #0x13 + bl m4aSongNumStart + ldr r0, [r4] + movs r1, #0xc8 + strh r1, [r0, #0x18] + movs r1, #0xa + strb r1, [r0, #0x17] _08027FD0: - ldr r1, _08027FEC @ =0x020314E0 - ldr r0, [r1] - ldrb r0, [r0, #0x17] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r5, r1, #0 - cmp r0, #0xc - bls _08027FE2 - b _080283FA + ldr r1, _08027FEC @ =0x020314E0 + ldr r0, [r1] + ldrb r0, [r0, #0x17] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r5, r1, #0 + cmp r0, #0xc + bls _08027FE2 + b _080283FA _08027FE2: - lsls r0, r0, #2 - ldr r1, _08027FF4 @ =_08027FF8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08027FF4 @ =_08027FF8 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08027FEC: .4byte 0x020314E0 _08027FF0: .4byte 0x00000296 _08027FF4: .4byte _08027FF8 _08027FF8: @ jump table - .4byte _0802802C @ case 0 - .4byte _08028040 @ case 1 - .4byte _08028074 @ case 2 - .4byte _08028094 @ case 3 - .4byte _080280E8 @ case 4 - .4byte _080281FC @ case 5 - .4byte _08028214 @ case 6 - .4byte _08028284 @ case 7 - .4byte _0802828A @ case 8 - .4byte _08028358 @ case 9 - .4byte _08028388 @ case 10 - .4byte _080283A0 @ case 11 - .4byte _080283B4 @ case 12 + .4byte _0802802C @ case 0 + .4byte _08028040 @ case 1 + .4byte _08028074 @ case 2 + .4byte _08028094 @ case 3 + .4byte _080280E8 @ case 4 + .4byte _080281FC @ case 5 + .4byte _08028214 @ case 6 + .4byte _08028284 @ case 7 + .4byte _0802828A @ case 8 + .4byte _08028358 @ case 9 + .4byte _08028388 @ case 10 + .4byte _080283A0 @ case 11 + .4byte _080283B4 @ case 12 _0802802C: - bl sub_31F6C - ldr r0, _0802803C @ =0x020314E0 - ldr r1, [r0] - ldrb r0, [r1, #0x17] - adds r0, #1 - b _080283F8 - .align 2, 0 + bl sub_31F6C + ldr r0, _0802803C @ =0x020314E0 + ldr r1, [r0] + ldrb r0, [r1, #0x17] + adds r0, #1 + b _080283F8 + .align 2, 0 _0802803C: .4byte 0x020314E0 _08028040: - bl sub_3219C - ldr r0, _0802806C @ =0x0200B0C0 - ldrb r0, [r0, #2] - cmp r0, #3 - beq _08028060 - ldr r0, _08028070 @ =0x020314E0 - ldr r0, [r0] - movs r1, #0xb3 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r1, #1 - bl sub_52BB0 + bl sub_3219C + ldr r0, _0802806C @ =0x0200B0C0 + ldrb r0, [r0, #2] + cmp r0, #3 + beq _08028060 + ldr r0, _08028070 @ =0x020314E0 + ldr r0, [r0] + movs r1, #0xb3 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r2, #0 + ldrsh r0, [r0, r2] + movs r1, #1 + bl sub_52BB0 _08028060: - ldr r0, _08028070 @ =0x020314E0 - ldr r1, [r0] - ldrb r0, [r1, #0x17] - adds r0, #1 - b _080283F8 - .align 2, 0 + ldr r0, _08028070 @ =0x020314E0 + ldr r1, [r0] + ldrb r0, [r1, #0x17] + adds r0, #1 + b _080283F8 + .align 2, 0 _0802806C: .4byte 0x0200B0C0 _08028070: .4byte 0x020314E0 _08028074: - bl sub_28AE0 - ldr r2, _0802808C @ =0x020314E0 - ldr r0, [r2] - ldr r3, _08028090 @ =0x0000073D - adds r0, r0, r3 - movs r1, #0 - strb r1, [r0] - ldr r1, [r2] - ldrb r0, [r1, #0x17] - adds r0, #1 - b _080283F8 - .align 2, 0 + bl sub_28AE0 + ldr r2, _0802808C @ =0x020314E0 + ldr r0, [r2] + ldr r3, _08028090 @ =0x0000073D + adds r0, r0, r3 + movs r1, #0 + strb r1, [r0] + ldr r1, [r2] + ldrb r0, [r1, #0x17] + adds r0, #1 + b _080283F8 + .align 2, 0 _0802808C: .4byte 0x020314E0 _08028090: .4byte 0x0000073D _08028094: - movs r0, #3 - movs r1, #0 - bl sub_1C7F4 - ldr r2, _080280D8 @ =0x020314E0 - ldr r0, [r2] - ldr r1, _080280DC @ =0x000006C5 - adds r0, r0, r1 - movs r1, #0 - strb r1, [r0] - ldr r0, [r2] - ldr r3, _080280E0 @ =0x00000602 - adds r0, r0, r3 - strb r1, [r0] - ldr r1, [r2] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - movs r3, #0 - ldr r5, _080280E4 @ =0x000006D3 - movs r4, #0xf + movs r0, #3 + movs r1, #0 + bl sub_1C7F4 + ldr r2, _080280D8 @ =0x020314E0 + ldr r0, [r2] + ldr r1, _080280DC @ =0x000006C5 + adds r0, r0, r1 + movs r1, #0 + strb r1, [r0] + ldr r0, [r2] + ldr r3, _080280E0 @ =0x00000602 + adds r0, r0, r3 + strb r1, [r0] + ldr r1, [r2] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + movs r3, #0 + ldr r5, _080280E4 @ =0x000006D3 + movs r4, #0xf _080280BE: - ldr r1, [r2] - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - adds r1, r1, r5 - adds r1, r1, r0 - strb r4, [r1] - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #5 - ble _080280BE - b _080283FA - .align 2, 0 + ldr r1, [r2] + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + adds r1, r1, r5 + adds r1, r1, r0 + strb r4, [r1] + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #5 + ble _080280BE + b _080283FA + .align 2, 0 _080280D8: .4byte 0x020314E0 _080280DC: .4byte 0x000006C5 _080280E0: .4byte 0x00000602 _080280E4: .4byte 0x000006D3 _080280E8: - ldr r4, _08028114 @ =0x0200B0C0 - ldrb r1, [r4, #0xf] - adds r3, r1, #0 - cmp r3, #0 - beq _080280F4 - b _080281F6 + ldr r4, _08028114 @ =0x0200B0C0 + ldrb r1, [r4, #0xf] + adds r3, r1, #0 + cmp r3, #0 + beq _080280F4 + b _080281F6 _080280F4: - ldrb r0, [r4, #4] - cmp r0, #0 - bne _08028124 - ldr r2, [r5] - ldrh r0, [r2, #0x28] - cmp r0, #0x5e - beq _0802812C - cmp r0, #0x5d - beq _08028136 - cmp r0, #0x49 - bne _08028118 - movs r0, #0x1d - bl m4aSongNumStart - b _080281F6 - .align 2, 0 + ldrb r0, [r4, #4] + cmp r0, #0 + bne _08028124 + ldr r2, [r5] + ldrh r0, [r2, #0x28] + cmp r0, #0x5e + beq _0802812C + cmp r0, #0x5d + beq _08028136 + cmp r0, #0x49 + bne _08028118 + movs r0, #0x1d + bl m4aSongNumStart + b _080281F6 + .align 2, 0 _08028114: .4byte 0x0200B0C0 _08028118: - cmp r0, #0x10 - bhi _080281F6 - movs r0, #0xa5 - lsls r0, r0, #2 - adds r1, r2, r0 - b _080281EA + cmp r0, #0x10 + bhi _080281F6 + movs r0, #0xa5 + lsls r0, r0, #2 + adds r1, r2, r0 + b _080281EA _08028124: - ldr r2, [r5] - ldrh r0, [r2, #0x28] - cmp r0, #0x44 - bne _08028132 + ldr r2, [r5] + ldrh r0, [r2, #0x28] + cmp r0, #0x44 + bne _08028132 _0802812C: - bl m4aMPlayAllStop - b _080281F6 + bl m4aMPlayAllStop + b _080281F6 _08028132: - cmp r0, #0x43 - bne _080281D4 + cmp r0, #0x43 + bne _080281D4 _08028136: - movs r0, #1 - orrs r0, r1 - strb r0, [r4, #0xf] - adds r0, r2, #0 - adds r0, #0xea - strh r3, [r0] - adds r1, r2, #0 - adds r1, #0xec - movs r0, #0x78 - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0xe8 - strh r3, [r0] - subs r0, #2 - strh r3, [r0] - adds r0, #8 - strh r3, [r0] - adds r1, #6 - movs r0, #2 - strb r0, [r1] - ldr r0, [r5] - adds r0, #0xfa - movs r1, #1 - strb r1, [r0] - ldr r0, [r5] - adds r0, #0xfb - strb r1, [r0] - ldr r2, [r5] - adds r1, r2, #0 - adds r1, #0xf4 - movs r0, #0x50 - strh r0, [r1] - adds r1, #2 - ldr r0, _080281B4 @ =0x0000F63C - strh r0, [r1] - subs r1, #6 - movs r0, #0x32 - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0xf8 - strh r3, [r0] - ldr r1, _080281B8 @ =0x040000D4 - ldr r0, _080281BC @ =0x086ACEF8 - ldr r0, [r0, #8] - str r0, [r1] - ldr r0, _080281C0 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _080281C4 @ =0x80001200 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _080281C8 @ =0x086ACF18 - ldr r0, [r0, #8] - str r0, [r1] - ldr r0, _080281CC @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _080281D0 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldrh r0, [r4, #0x38] - movs r0, #0xce - strh r0, [r4, #0x38] - b _080281F6 - .align 2, 0 + movs r0, #1 + orrs r0, r1 + strb r0, [r4, #0xf] + adds r0, r2, #0 + adds r0, #0xea + strh r3, [r0] + adds r1, r2, #0 + adds r1, #0xec + movs r0, #0x78 + strh r0, [r1] + adds r0, r2, #0 + adds r0, #0xe8 + strh r3, [r0] + subs r0, #2 + strh r3, [r0] + adds r0, #8 + strh r3, [r0] + adds r1, #6 + movs r0, #2 + strb r0, [r1] + ldr r0, [r5] + adds r0, #0xfa + movs r1, #1 + strb r1, [r0] + ldr r0, [r5] + adds r0, #0xfb + strb r1, [r0] + ldr r2, [r5] + adds r1, r2, #0 + adds r1, #0xf4 + movs r0, #0x50 + strh r0, [r1] + adds r1, #2 + ldr r0, _080281B4 @ =0x0000F63C + strh r0, [r1] + subs r1, #6 + movs r0, #0x32 + strh r0, [r1] + adds r0, r2, #0 + adds r0, #0xf8 + strh r3, [r0] + ldr r1, _080281B8 @ =0x040000D4 + ldr r0, _080281BC @ =0x086ACEF8 + ldr r0, [r0, #8] + str r0, [r1] + ldr r0, _080281C0 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _080281C4 @ =0x80001200 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _080281C8 @ =0x086ACF18 + ldr r0, [r0, #8] + str r0, [r1] + ldr r0, _080281CC @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _080281D0 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldrh r0, [r4, #0x38] + movs r0, #0xce + strh r0, [r4, #0x38] + b _080281F6 + .align 2, 0 _080281B4: .4byte 0x0000F63C _080281B8: .4byte 0x040000D4 _080281BC: .4byte 0x086ACEF8 @@ -79188,83 +79188,83 @@ _080281C8: .4byte 0x086ACF18 _080281CC: .4byte 0x050003C0 _080281D0: .4byte 0x80000010 _080281D4: - cmp r0, #0x2f - bne _080281E0 - movs r0, #0x21 - bl m4aSongNumStart - b _080281F6 + cmp r0, #0x2f + bne _080281E0 + movs r0, #0x21 + bl m4aSongNumStart + b _080281F6 _080281E0: - cmp r0, #0 - bne _080281F6 - movs r3, #0xa5 - lsls r3, r3, #2 - adds r1, r2, r3 + cmp r0, #0 + bne _080281F6 + movs r3, #0xa5 + lsls r3, r3, #2 + adds r1, r2, r3 _080281EA: - movs r0, #2 - strb r0, [r1] - ldr r1, [r5] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] + movs r0, #2 + strb r0, [r1] + ldr r1, [r5] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] _080281F6: - bl sub_29334 - b _080283FA + bl sub_29334 + b _080283FA _080281FC: - ldr r0, [r5] - ldr r1, _08028210 @ =0x00000729 - adds r0, r0, r1 - movs r4, #0 - movs r1, #1 - strb r1, [r0] - bl sub_29334 - b _08028262 - .align 2, 0 + ldr r0, [r5] + ldr r1, _08028210 @ =0x00000729 + adds r0, r0, r1 + movs r4, #0 + movs r1, #1 + strb r1, [r0] + bl sub_29334 + b _08028262 + .align 2, 0 _08028210: .4byte 0x00000729 _08028214: - ldr r0, [r5] - ldr r2, _0802822C @ =0x00000729 - adds r0, r0, r2 - movs r4, #0 - strb r4, [r0] - ldr r1, [r5] - ldrh r0, [r1, #0x18] - cmp r0, #0 - bne _08028230 - adds r0, #1 - strh r0, [r1, #0x18] - b _080283FA - .align 2, 0 + ldr r0, [r5] + ldr r2, _0802822C @ =0x00000729 + adds r0, r0, r2 + movs r4, #0 + strb r4, [r0] + ldr r1, [r5] + ldrh r0, [r1, #0x18] + cmp r0, #0 + bne _08028230 + adds r0, #1 + strh r0, [r1, #0x18] + b _080283FA + .align 2, 0 _0802822C: .4byte 0x00000729 _08028230: - adds r1, #0xe4 - movs r0, #0xa - strb r0, [r1] - ldr r1, _08028268 @ =0x040000D4 - ldr r0, _0802826C @ =0x0839C78C - str r0, [r1] - ldr r0, _08028270 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _08028274 @ =0x80000A00 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08028278 @ =0x0839DBAC - str r0, [r1] - ldr r0, _0802827C @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _08028280 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r0, #0xa7 - bl m4aSongNumStart - ldr r1, [r5] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] + adds r1, #0xe4 + movs r0, #0xa + strb r0, [r1] + ldr r1, _08028268 @ =0x040000D4 + ldr r0, _0802826C @ =0x0839C78C + str r0, [r1] + ldr r0, _08028270 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _08028274 @ =0x80000A00 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08028278 @ =0x0839DBAC + str r0, [r1] + ldr r0, _0802827C @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _08028280 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + movs r0, #0xa7 + bl m4aSongNumStart + ldr r1, [r5] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] _08028262: - ldr r0, [r5] - strh r4, [r0, #0x18] - b _080283FA - .align 2, 0 + ldr r0, [r5] + strh r4, [r0, #0x18] + b _080283FA + .align 2, 0 _08028268: .4byte 0x040000D4 _0802826C: .4byte 0x0839C78C _08028270: .4byte 0x06015800 @@ -79273,87 +79273,87 @@ _08028278: .4byte 0x0839DBAC _0802827C: .4byte 0x050003C0 _08028280: .4byte 0x80000010 _08028284: - bl sub_293D8 - b _080283FA + bl sub_293D8 + b _080283FA _0802828A: - bl sub_29624 - ldr r0, _0802832C @ =0x040000D4 - ldr r1, _08028330 @ =0x086ACF80 - str r1, [r0] - ldr r1, _08028334 @ =0x050003E0 - str r1, [r0, #4] - ldr r2, _08028338 @ =0x80000010 - str r2, [r0, #8] - ldr r1, [r0, #8] - ldr r1, _0802833C @ =0x020306D0 - str r1, [r0] - ldr r1, _08028340 @ =0x050003A0 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r0, [r0, #8] - ldr r4, _08028344 @ =0x020314E0 - ldr r1, [r4] - movs r3, #0xa2 - lsls r3, r3, #2 - adds r2, r1, r3 - movs r3, #0 - movs r5, #0 - movs r0, #0x76 - strh r0, [r2] - ldr r0, _08028348 @ =0x0000028A - adds r2, r1, r0 - movs r0, #0x84 - lsls r0, r0, #1 - strh r0, [r2] - movs r2, #0xe4 - lsls r2, r2, #3 - adds r1, r1, r2 - strb r3, [r1] - ldr r0, [r4] - ldr r3, _0802834C @ =0x0000071D - adds r0, r0, r3 - movs r1, #2 - strb r1, [r0] - ldr r0, [r4] - subs r2, #2 - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r3, #2 - adds r0, r0, r3 - strb r1, [r0] - bl sub_28C90 - ldr r0, [r4] - ldr r1, _08028350 @ =0x000005F2 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - ldr r1, [r4] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - ldr r1, [r4] - movs r3, #0xa7 - lsls r3, r3, #2 - adds r2, r1, r3 - movs r0, #0x8c - strh r0, [r2] - ldr r2, _08028354 @ =0x086A3700 - movs r0, #0xb3 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrh r1, [r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r2 - ldrh r0, [r0] - movs r1, #0 - bl sub_528DC - ldr r0, [r4] - strh r5, [r0, #0x18] - b _080283FA - .align 2, 0 + bl sub_29624 + ldr r0, _0802832C @ =0x040000D4 + ldr r1, _08028330 @ =0x086ACF80 + str r1, [r0] + ldr r1, _08028334 @ =0x050003E0 + str r1, [r0, #4] + ldr r2, _08028338 @ =0x80000010 + str r2, [r0, #8] + ldr r1, [r0, #8] + ldr r1, _0802833C @ =0x020306D0 + str r1, [r0] + ldr r1, _08028340 @ =0x050003A0 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r0, [r0, #8] + ldr r4, _08028344 @ =0x020314E0 + ldr r1, [r4] + movs r3, #0xa2 + lsls r3, r3, #2 + adds r2, r1, r3 + movs r3, #0 + movs r5, #0 + movs r0, #0x76 + strh r0, [r2] + ldr r0, _08028348 @ =0x0000028A + adds r2, r1, r0 + movs r0, #0x84 + lsls r0, r0, #1 + strh r0, [r2] + movs r2, #0xe4 + lsls r2, r2, #3 + adds r1, r1, r2 + strb r3, [r1] + ldr r0, [r4] + ldr r3, _0802834C @ =0x0000071D + adds r0, r0, r3 + movs r1, #2 + strb r1, [r0] + ldr r0, [r4] + subs r2, #2 + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r4] + adds r3, #2 + adds r0, r0, r3 + strb r1, [r0] + bl sub_28C90 + ldr r0, [r4] + ldr r1, _08028350 @ =0x000005F2 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + ldr r1, [r4] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + ldr r1, [r4] + movs r3, #0xa7 + lsls r3, r3, #2 + adds r2, r1, r3 + movs r0, #0x8c + strh r0, [r2] + ldr r2, _08028354 @ =0x086A3700 + movs r0, #0xb3 + lsls r0, r0, #3 + adds r1, r1, r0 + ldrh r1, [r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r2 + ldrh r0, [r0] + movs r1, #0 + bl sub_528DC + ldr r0, [r4] + strh r5, [r0, #0x18] + b _080283FA + .align 2, 0 _0802832C: .4byte 0x040000D4 _08028330: .4byte 0x086ACF80 _08028334: .4byte 0x050003E0 @@ -79366,221 +79366,221 @@ _0802834C: .4byte 0x0000071D _08028350: .4byte 0x000005F2 _08028354: .4byte 0x086A3700 _08028358: - ldr r1, [r5] - ldrh r2, [r1, #0x18] - cmp r2, #0 - bne _0802836C - adds r0, r1, #0 - adds r0, #0xec - strh r2, [r0] - ldrh r0, [r1, #0x18] - adds r0, #1 - strh r0, [r1, #0x18] + ldr r1, [r5] + ldrh r2, [r1, #0x18] + cmp r2, #0 + bne _0802836C + adds r0, r1, #0 + adds r0, #0xec + strh r2, [r0] + ldrh r0, [r1, #0x18] + adds r0, #1 + strh r0, [r1, #0x18] _0802836C: - bl sub_28C90 - ldr r0, [r5] - ldr r2, _08028384 @ =0x000005AA - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, #0 - beq _080283FA - subs r0, #1 - strh r0, [r1] - b _080283FA - .align 2, 0 + bl sub_28C90 + ldr r0, [r5] + ldr r2, _08028384 @ =0x000005AA + adds r1, r0, r2 + ldrh r0, [r1] + cmp r0, #0 + beq _080283FA + subs r0, #1 + strh r0, [r1] + b _080283FA + .align 2, 0 _08028384: .4byte 0x000005AA _08028388: - bl sub_28E2C - bl sub_2530C - ldr r0, _0802839C @ =0x020314E0 - ldr r1, [r0] - ldrb r0, [r1, #0x17] - adds r0, #1 - b _080283F8 - .align 2, 0 + bl sub_28E2C + bl sub_2530C + ldr r0, _0802839C @ =0x020314E0 + ldr r1, [r0] + ldrb r0, [r1, #0x17] + adds r0, #1 + b _080283F8 + .align 2, 0 _0802839C: .4byte 0x020314E0 _080283A0: - bl sub_27D44 - ldr r0, _080283B0 @ =0x020314E0 - ldr r1, [r0] - ldrb r0, [r1, #0x17] - adds r0, #1 - b _080283F8 - .align 2, 0 + bl sub_27D44 + ldr r0, _080283B0 @ =0x020314E0 + ldr r1, [r0] + ldrb r0, [r1, #0x17] + adds r0, #1 + b _080283F8 + .align 2, 0 _080283B0: .4byte 0x020314E0 _080283B4: - ldr r0, [r5] - ldr r3, _080283CC @ =0x00000729 - adds r0, r0, r3 - movs r1, #0 - strb r1, [r0] - ldr r1, [r5] - ldrh r0, [r1, #0x18] - cmp r0, #0 - beq _080283D0 - subs r0, #1 - strh r0, [r1, #0x18] - b _080283FA - .align 2, 0 + ldr r0, [r5] + ldr r3, _080283CC @ =0x00000729 + adds r0, r0, r3 + movs r1, #0 + strb r1, [r0] + ldr r1, [r5] + ldrh r0, [r1, #0x18] + cmp r0, #0 + beq _080283D0 + subs r0, #1 + strh r0, [r1, #0x18] + b _080283FA + .align 2, 0 _080283CC: .4byte 0x00000729 _080283D0: - ldr r2, _080283E8 @ =0x0000071F - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _080283EC - movs r0, #3 - bl sub_19B64 - b _080283F2 - .align 2, 0 + ldr r2, _080283E8 @ =0x0000071F + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _080283EC + movs r0, #3 + bl sub_19B64 + b _080283F2 + .align 2, 0 _080283E8: .4byte 0x0000071F _080283EC: - movs r0, #1 - bl sub_19B64 + movs r0, #1 + bl sub_19B64 _080283F2: - ldr r0, _08028400 @ =0x020314E0 - ldr r1, [r0] - movs r0, #0 + ldr r0, _08028400 @ =0x020314E0 + ldr r1, [r0] + movs r0, #0 _080283F8: - strb r0, [r1, #0x17] + strb r0, [r1, #0x17] _080283FA: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08028400: .4byte 0x020314E0 - thumb_func_start sub_28404 + thumb_func_start sub_28404 sub_28404: @ 0x08028404 - push {r4, r5, r6, r7, lr} - ldr r5, _08028500 @ =0x020314E0 - ldr r0, [r5] - movs r3, #0 - strb r3, [r0, #0x17] - ldr r0, [r5] - movs r6, #0 - strh r3, [r0, #0x18] - movs r1, #0xa5 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - ldr r2, [r5] - adds r4, r2, #0 - adds r4, #0x6c - movs r7, #0xe1 - lsls r7, r7, #3 - adds r0, r7, #0 - ldrh r1, [r4] - adds r0, r0, r1 - ldr r7, _08028504 @ =0x00000296 - adds r1, r2, r7 - strh r0, [r1] - strh r3, [r4] - ldr r0, _08028508 @ =0x000005A5 - adds r2, r2, r0 - strb r6, [r2] - ldr r0, [r5] - ldr r2, _0802850C @ =0x000005AA - adds r1, r0, r2 - strh r3, [r1] - ldr r7, _08028510 @ =0x000005A9 - adds r0, r0, r7 - strb r6, [r0] - ldr r2, [r5] - adds r0, r2, #0 - adds r0, #0x7c - strh r3, [r0] - adds r1, r2, #0 - adds r1, #0x80 - movs r0, #0xe1 - lsls r0, r0, #2 - strh r0, [r1] - adds r1, #2 - ldr r0, _08028514 @ =0x0000FA88 - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0x73 - strb r6, [r0] - ldr r1, [r5] - adds r0, r1, #0 - adds r0, #0xbc - strh r3, [r0] - adds r0, #2 - strh r3, [r0] - adds r0, #2 - strh r3, [r0] - adds r0, #2 - strh r3, [r0] - adds r0, #2 - strh r3, [r0] - adds r0, #2 - strh r3, [r0] - ldr r2, _08028518 @ =0x0000072F - adds r0, r1, r2 - strb r6, [r0] - ldr r0, [r5] - ldr r7, _0802851C @ =0x00000731 - adds r0, r0, r7 - strb r6, [r0] - ldr r2, [r5] - adds r0, r2, #0 - adds r0, #0x74 - strh r3, [r0] - adds r1, r2, #0 - adds r1, #0x76 - movs r0, #0xa - strh r0, [r1] - adds r1, #2 - movs r0, #0x14 - strh r0, [r1] - adds r1, #2 - movs r0, #0x1e - strh r0, [r1] - ldr r0, _08028520 @ =0x00000724 - adds r1, r2, r0 - ldr r0, _08028524 @ =0x00000CA8 - strh r0, [r1] - ldr r1, _08028528 @ =0x00000714 - adds r0, r2, r1 - strb r6, [r0] - ldr r0, [r5] - movs r2, #0xe2 - lsls r2, r2, #3 - adds r0, r0, r2 - strb r6, [r0] - ldr r0, [r5] - adds r1, r0, r2 - ldrb r1, [r1] - ldr r3, _0802852C @ =0x00000711 - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r5] - adds r1, r0, r2 - ldrb r1, [r1] - subs r7, #0x1f - adds r0, r0, r7 - strb r1, [r0] - ldr r0, [r5] - adds r2, r0, r2 - ldrb r1, [r2] - ldr r2, _08028530 @ =0x00000713 - adds r0, r0, r2 - strb r1, [r0] - ldr r1, _08028534 @ =0x040000D4 - ldr r0, _08028538 @ =0x081C0064 - str r0, [r1] - ldr r0, _0802853C @ =0x05000180 - str r0, [r1, #4] - ldr r0, _08028540 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, r7, lr} + ldr r5, _08028500 @ =0x020314E0 + ldr r0, [r5] + movs r3, #0 + strb r3, [r0, #0x17] + ldr r0, [r5] + movs r6, #0 + strh r3, [r0, #0x18] + movs r1, #0xa5 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + ldr r2, [r5] + adds r4, r2, #0 + adds r4, #0x6c + movs r7, #0xe1 + lsls r7, r7, #3 + adds r0, r7, #0 + ldrh r1, [r4] + adds r0, r0, r1 + ldr r7, _08028504 @ =0x00000296 + adds r1, r2, r7 + strh r0, [r1] + strh r3, [r4] + ldr r0, _08028508 @ =0x000005A5 + adds r2, r2, r0 + strb r6, [r2] + ldr r0, [r5] + ldr r2, _0802850C @ =0x000005AA + adds r1, r0, r2 + strh r3, [r1] + ldr r7, _08028510 @ =0x000005A9 + adds r0, r0, r7 + strb r6, [r0] + ldr r2, [r5] + adds r0, r2, #0 + adds r0, #0x7c + strh r3, [r0] + adds r1, r2, #0 + adds r1, #0x80 + movs r0, #0xe1 + lsls r0, r0, #2 + strh r0, [r1] + adds r1, #2 + ldr r0, _08028514 @ =0x0000FA88 + strh r0, [r1] + adds r0, r2, #0 + adds r0, #0x73 + strb r6, [r0] + ldr r1, [r5] + adds r0, r1, #0 + adds r0, #0xbc + strh r3, [r0] + adds r0, #2 + strh r3, [r0] + adds r0, #2 + strh r3, [r0] + adds r0, #2 + strh r3, [r0] + adds r0, #2 + strh r3, [r0] + adds r0, #2 + strh r3, [r0] + ldr r2, _08028518 @ =0x0000072F + adds r0, r1, r2 + strb r6, [r0] + ldr r0, [r5] + ldr r7, _0802851C @ =0x00000731 + adds r0, r0, r7 + strb r6, [r0] + ldr r2, [r5] + adds r0, r2, #0 + adds r0, #0x74 + strh r3, [r0] + adds r1, r2, #0 + adds r1, #0x76 + movs r0, #0xa + strh r0, [r1] + adds r1, #2 + movs r0, #0x14 + strh r0, [r1] + adds r1, #2 + movs r0, #0x1e + strh r0, [r1] + ldr r0, _08028520 @ =0x00000724 + adds r1, r2, r0 + ldr r0, _08028524 @ =0x00000CA8 + strh r0, [r1] + ldr r1, _08028528 @ =0x00000714 + adds r0, r2, r1 + strb r6, [r0] + ldr r0, [r5] + movs r2, #0xe2 + lsls r2, r2, #3 + adds r0, r0, r2 + strb r6, [r0] + ldr r0, [r5] + adds r1, r0, r2 + ldrb r1, [r1] + ldr r3, _0802852C @ =0x00000711 + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r5] + adds r1, r0, r2 + ldrb r1, [r1] + subs r7, #0x1f + adds r0, r0, r7 + strb r1, [r0] + ldr r0, [r5] + adds r2, r0, r2 + ldrb r1, [r2] + ldr r2, _08028530 @ =0x00000713 + adds r0, r0, r2 + strb r1, [r0] + ldr r1, _08028534 @ =0x040000D4 + ldr r0, _08028538 @ =0x081C0064 + str r0, [r1] + ldr r0, _0802853C @ =0x05000180 + str r0, [r1, #4] + ldr r0, _08028540 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08028500: .4byte 0x020314E0 _08028504: .4byte 0x00000296 _08028508: .4byte 0x000005A5 @@ -79599,150 +79599,150 @@ _08028538: .4byte 0x081C0064 _0802853C: .4byte 0x05000180 _08028540: .4byte 0x80000010 - thumb_func_start sub_28544 + thumb_func_start sub_28544 sub_28544: @ 0x08028544 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r1, _08028568 @ =0x020314E0 - ldr r0, [r1] - ldrb r0, [r0, #0x17] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov r8, r1 - cmp r0, #6 - bls _0802855C - b _08028AD2 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r1, _08028568 @ =0x020314E0 + ldr r0, [r1] + ldrb r0, [r0, #0x17] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov r8, r1 + cmp r0, #6 + bls _0802855C + b _08028AD2 _0802855C: - lsls r0, r0, #2 - ldr r1, _0802856C @ =_08028570 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0802856C @ =_08028570 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08028568: .4byte 0x020314E0 _0802856C: .4byte _08028570 _08028570: @ jump table - .4byte _0802858C @ case 0 - .4byte _080285A8 @ case 1 - .4byte _080286C8 @ case 2 - .4byte _080287E0 @ case 3 - .4byte _08028A2C @ case 4 - .4byte _08028A60 @ case 5 - .4byte _08028A88 @ case 6 + .4byte _0802858C @ case 0 + .4byte _080285A8 @ case 1 + .4byte _080286C8 @ case 2 + .4byte _080287E0 @ case 3 + .4byte _08028A2C @ case 4 + .4byte _08028A60 @ case 5 + .4byte _08028A88 @ case 6 _0802858C: - mov r1, r8 - ldr r0, [r1] - movs r2, #0xb3 - lsls r2, r2, #3 - adds r0, r0, r2 - movs r1, #0xc8 - strh r1, [r0] - bl sub_28AE0 - mov r3, r8 - ldr r1, [r3] - ldrb r0, [r1, #0x17] - adds r0, #1 - b _08028AD0 + mov r1, r8 + ldr r0, [r1] + movs r2, #0xb3 + lsls r2, r2, #3 + adds r0, r0, r2 + movs r1, #0xc8 + strh r1, [r0] + bl sub_28AE0 + mov r3, r8 + ldr r1, [r3] + ldrb r0, [r1, #0x17] + adds r0, #1 + b _08028AD0 _080285A8: - ldr r4, _080285CC @ =0x0200B0C0 - ldrb r1, [r4, #0xf] - adds r3, r1, #0 - cmp r3, #0 - bne _0802869E - ldrb r0, [r4, #4] - cmp r0, #0 - bne _080285D0 - mov r5, r8 - ldr r2, [r5] - ldrh r0, [r2, #0x28] - cmp r0, #0x5e - beq _080285DA - cmp r0, #0x5d - beq _080285E4 - cmp r0, #0x49 - beq _08028688 - b _08028690 - .align 2, 0 + ldr r4, _080285CC @ =0x0200B0C0 + ldrb r1, [r4, #0xf] + adds r3, r1, #0 + cmp r3, #0 + bne _0802869E + ldrb r0, [r4, #4] + cmp r0, #0 + bne _080285D0 + mov r5, r8 + ldr r2, [r5] + ldrh r0, [r2, #0x28] + cmp r0, #0x5e + beq _080285DA + cmp r0, #0x5d + beq _080285E4 + cmp r0, #0x49 + beq _08028688 + b _08028690 + .align 2, 0 _080285CC: .4byte 0x0200B0C0 _080285D0: - mov r5, r8 - ldr r2, [r5] - ldrh r0, [r2, #0x28] - cmp r0, #0x44 - bne _080285E0 + mov r5, r8 + ldr r2, [r5] + ldrh r0, [r2, #0x28] + cmp r0, #0x44 + bne _080285E0 _080285DA: - bl m4aMPlayAllStop - b _08028AD2 + bl m4aMPlayAllStop + b _08028AD2 _080285E0: - cmp r0, #0x43 - bne _08028684 + cmp r0, #0x43 + bne _08028684 _080285E4: - movs r0, #1 - orrs r0, r1 - strb r0, [r4, #0xf] - adds r0, r2, #0 - adds r0, #0xea - strh r3, [r0] - adds r1, r2, #0 - adds r1, #0xec - movs r0, #0x78 - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0xe8 - strh r3, [r0] - subs r0, #2 - strh r3, [r0] - adds r0, #8 - strh r3, [r0] - adds r1, #6 - movs r0, #5 - strb r0, [r1] - mov r1, r8 - ldr r0, [r1] - adds r0, #0xfa - movs r1, #1 - strb r1, [r0] - mov r2, r8 - ldr r0, [r2] - adds r0, #0xfb - strb r1, [r0] - ldr r2, [r2] - adds r1, r2, #0 - adds r1, #0xf4 - movs r0, #0x50 - strh r0, [r1] - adds r1, #2 - ldr r0, _08028664 @ =0x0000F63C - strh r0, [r1] - subs r1, #6 - movs r0, #0x32 - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0xf8 - strh r3, [r0] - ldr r1, _08028668 @ =0x040000D4 - ldr r0, _0802866C @ =0x086ACEF8 - ldr r0, [r0, #0x14] - str r0, [r1] - ldr r0, _08028670 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _08028674 @ =0x80001200 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08028678 @ =0x086ACF18 - ldr r0, [r0, #0x14] - str r0, [r1] - ldr r0, _0802867C @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _08028680 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldrh r0, [r4, #0x38] - movs r0, #0xce - strh r0, [r4, #0x38] - b _08028AD2 - .align 2, 0 + movs r0, #1 + orrs r0, r1 + strb r0, [r4, #0xf] + adds r0, r2, #0 + adds r0, #0xea + strh r3, [r0] + adds r1, r2, #0 + adds r1, #0xec + movs r0, #0x78 + strh r0, [r1] + adds r0, r2, #0 + adds r0, #0xe8 + strh r3, [r0] + subs r0, #2 + strh r3, [r0] + adds r0, #8 + strh r3, [r0] + adds r1, #6 + movs r0, #5 + strb r0, [r1] + mov r1, r8 + ldr r0, [r1] + adds r0, #0xfa + movs r1, #1 + strb r1, [r0] + mov r2, r8 + ldr r0, [r2] + adds r0, #0xfb + strb r1, [r0] + ldr r2, [r2] + adds r1, r2, #0 + adds r1, #0xf4 + movs r0, #0x50 + strh r0, [r1] + adds r1, #2 + ldr r0, _08028664 @ =0x0000F63C + strh r0, [r1] + subs r1, #6 + movs r0, #0x32 + strh r0, [r1] + adds r0, r2, #0 + adds r0, #0xf8 + strh r3, [r0] + ldr r1, _08028668 @ =0x040000D4 + ldr r0, _0802866C @ =0x086ACEF8 + ldr r0, [r0, #0x14] + str r0, [r1] + ldr r0, _08028670 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _08028674 @ =0x80001200 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08028678 @ =0x086ACF18 + ldr r0, [r0, #0x14] + str r0, [r1] + ldr r0, _0802867C @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _08028680 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldrh r0, [r4, #0x38] + movs r0, #0xce + strh r0, [r4, #0x38] + b _08028AD2 + .align 2, 0 _08028664: .4byte 0x0000F63C _08028668: .4byte 0x040000D4 _0802866C: .4byte 0x086ACEF8 @@ -79752,155 +79752,155 @@ _08028678: .4byte 0x086ACF18 _0802867C: .4byte 0x050003C0 _08028680: .4byte 0x80000010 _08028684: - cmp r0, #0x2f - bne _08028690 + cmp r0, #0x2f + bne _08028690 _08028688: - movs r0, #0x2f - bl m4aSongNumStart - b _08028AD2 + movs r0, #0x2f + bl m4aSongNumStart + b _08028AD2 _08028690: - cmp r0, #0x28 - beq _08028696 - b _08028AD2 + cmp r0, #0x28 + beq _08028696 + b _08028AD2 _08028696: - ldrb r0, [r2, #0x17] - adds r0, #1 - strb r0, [r2, #0x17] - b _08028AD2 + ldrb r0, [r2, #0x17] + adds r0, #1 + strb r0, [r2, #0x17] + b _08028AD2 _0802869E: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080286A8 - b _08028AD2 + movs r0, #1 + ands r0, r1 + cmp r0, #0 + bne _080286A8 + b _08028AD2 _080286A8: - mov r3, r8 - ldr r1, [r3] - adds r0, r1, #0 - adds r0, #0xf0 - ldrh r0, [r0] - cmp r0, #1 - beq _080286B8 - b _08028AD2 + mov r3, r8 + ldr r1, [r3] + adds r0, r1, #0 + adds r0, #0xf0 + ldrh r0, [r0] + cmp r0, #1 + beq _080286B8 + b _08028AD2 _080286B8: - ldr r4, _080286C4 @ =0x000006C4 - adds r1, r1, r4 - movs r0, #3 - strb r0, [r1] - b _08028AD2 - .align 2, 0 + ldr r4, _080286C4 @ =0x000006C4 + adds r1, r1, r4 + movs r0, #3 + strb r0, [r1] + b _08028AD2 + .align 2, 0 _080286C4: .4byte 0x000006C4 _080286C8: - ldr r2, _080287A4 @ =0x040000D4 - ldr r0, _080287A8 @ =0x086ACF80 - str r0, [r2] - ldr r0, _080287AC @ =0x050003E0 - str r0, [r2, #4] - ldr r1, _080287B0 @ =0x80000010 - str r1, [r2, #8] - ldr r0, [r2, #8] - ldr r0, _080287B4 @ =0x020306D0 - str r0, [r2] - ldr r0, _080287B8 @ =0x050003A0 - str r0, [r2, #4] - str r1, [r2, #8] - ldr r0, [r2, #8] - mov r5, r8 - ldr r0, [r5] - movs r1, #0xe4 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r4, #0 - strb r4, [r0] - ldr r0, [r5] - ldr r3, _080287BC @ =0x0000071D - adds r0, r0, r3 - movs r1, #2 - strb r1, [r0] - ldr r0, [r5] - ldr r5, _080287C0 @ =0x0000071E - adds r0, r0, r5 - strb r1, [r0] - mov r3, r8 - ldr r0, [r3] - adds r5, #1 - adds r0, r0, r5 - strb r1, [r0] - ldr r0, [r3] - ldr r1, _080287C4 @ =0x000005F2 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - ldr r0, _080287C8 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0x84 - ldr r0, [r0] - movs r3, #0 - strh r1, [r0] - ldr r0, _080287CC @ =0x02030760 - str r0, [r2] - ldr r0, _080287D0 @ =0x06010CA0 - str r0, [r2, #4] - ldr r0, _080287D4 @ =0x80000240 - str r0, [r2, #8] - ldr r0, [r2, #8] - mov r5, r8 - ldr r2, [r5] - movs r0, #0x28 - strh r0, [r2, #0x28] - adds r1, r2, #0 - adds r1, #0x80 - movs r0, #0xe1 - lsls r0, r0, #2 - strh r0, [r1] - adds r1, #2 - ldr r0, _080287D8 @ =0x0000FA88 - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0x73 - strb r3, [r0] - ldr r3, [r5] - ldr r2, _080287DC @ =0x086AE124 - adds r5, r3, #0 - adds r5, #0x73 - movs r0, #0 - ldrsb r0, [r5, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r1, [r0] - adds r0, r3, #0 - adds r0, #0xbc - strh r1, [r0] - movs r0, #0 - ldrsb r0, [r5, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0, #2] - adds r1, r3, #0 - adds r1, #0xbe - strh r0, [r1] - strh r4, [r3, #0x18] - movs r0, #0xa2 - lsls r0, r0, #1 - bl m4aSongNumStart - mov r0, r8 - ldr r1, [r0] - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - mov r1, r8 - ldr r2, [r1] - adds r0, r2, #0 - adds r0, #0x80 - ldrh r1, [r0] - adds r0, #0x40 - strh r1, [r0] - subs r0, #0x3e - ldrh r1, [r0] - adds r0, #0x40 - strh r1, [r0] - b _08028AD2 - .align 2, 0 + ldr r2, _080287A4 @ =0x040000D4 + ldr r0, _080287A8 @ =0x086ACF80 + str r0, [r2] + ldr r0, _080287AC @ =0x050003E0 + str r0, [r2, #4] + ldr r1, _080287B0 @ =0x80000010 + str r1, [r2, #8] + ldr r0, [r2, #8] + ldr r0, _080287B4 @ =0x020306D0 + str r0, [r2] + ldr r0, _080287B8 @ =0x050003A0 + str r0, [r2, #4] + str r1, [r2, #8] + ldr r0, [r2, #8] + mov r5, r8 + ldr r0, [r5] + movs r1, #0xe4 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r4, #0 + strb r4, [r0] + ldr r0, [r5] + ldr r3, _080287BC @ =0x0000071D + adds r0, r0, r3 + movs r1, #2 + strb r1, [r0] + ldr r0, [r5] + ldr r5, _080287C0 @ =0x0000071E + adds r0, r0, r5 + strb r1, [r0] + mov r3, r8 + ldr r0, [r3] + adds r5, #1 + adds r0, r0, r5 + strb r1, [r0] + ldr r0, [r3] + ldr r1, _080287C4 @ =0x000005F2 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + ldr r0, _080287C8 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0x84 + ldr r0, [r0] + movs r3, #0 + strh r1, [r0] + ldr r0, _080287CC @ =0x02030760 + str r0, [r2] + ldr r0, _080287D0 @ =0x06010CA0 + str r0, [r2, #4] + ldr r0, _080287D4 @ =0x80000240 + str r0, [r2, #8] + ldr r0, [r2, #8] + mov r5, r8 + ldr r2, [r5] + movs r0, #0x28 + strh r0, [r2, #0x28] + adds r1, r2, #0 + adds r1, #0x80 + movs r0, #0xe1 + lsls r0, r0, #2 + strh r0, [r1] + adds r1, #2 + ldr r0, _080287D8 @ =0x0000FA88 + strh r0, [r1] + adds r0, r2, #0 + adds r0, #0x73 + strb r3, [r0] + ldr r3, [r5] + ldr r2, _080287DC @ =0x086AE124 + adds r5, r3, #0 + adds r5, #0x73 + movs r0, #0 + ldrsb r0, [r5, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r1, [r0] + adds r0, r3, #0 + adds r0, #0xbc + strh r1, [r0] + movs r0, #0 + ldrsb r0, [r5, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0, #2] + adds r1, r3, #0 + adds r1, #0xbe + strh r0, [r1] + strh r4, [r3, #0x18] + movs r0, #0xa2 + lsls r0, r0, #1 + bl m4aSongNumStart + mov r0, r8 + ldr r1, [r0] + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + mov r1, r8 + ldr r2, [r1] + adds r0, r2, #0 + adds r0, #0x80 + ldrh r1, [r0] + adds r0, #0x40 + strh r1, [r0] + subs r0, #0x3e + ldrh r1, [r0] + adds r0, #0x40 + strh r1, [r0] + b _08028AD2 + .align 2, 0 _080287A4: .4byte 0x040000D4 _080287A8: .4byte 0x086ACF80 _080287AC: .4byte 0x050003E0 @@ -79917,275 +79917,275 @@ _080287D4: .4byte 0x80000240 _080287D8: .4byte 0x0000FA88 _080287DC: .4byte 0x086AE124 _080287E0: - ldr r4, _08028824 @ =0x020314E0 - mov r8, r4 - ldr r4, [r4] - ldr r5, _08028828 @ =0x000005A4 - adds r0, r4, r5 - ldrb r0, [r0] - cmp r0, #2 - bne _08028830 - adds r0, r4, #0 - adds r0, #0xc0 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #0xa - bl __divsi3 - adds r0, #0x76 - movs r2, #0xa2 - lsls r2, r2, #2 - adds r1, r4, r2 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xc2 - movs r3, #0 - ldrsh r0, [r0, r3] - movs r1, #0xa - bl __divsi3 - movs r5, #0x88 - lsls r5, r5, #1 - adds r0, r0, r5 - ldr r2, _0802882C @ =0x0000028A - adds r1, r4, r2 - strh r0, [r1] - b _08028974 - .align 2, 0 + ldr r4, _08028824 @ =0x020314E0 + mov r8, r4 + ldr r4, [r4] + ldr r5, _08028828 @ =0x000005A4 + adds r0, r4, r5 + ldrb r0, [r0] + cmp r0, #2 + bne _08028830 + adds r0, r4, #0 + adds r0, #0xc0 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r1, #0xa + bl __divsi3 + adds r0, #0x76 + movs r2, #0xa2 + lsls r2, r2, #2 + adds r1, r4, r2 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xc2 + movs r3, #0 + ldrsh r0, [r0, r3] + movs r1, #0xa + bl __divsi3 + movs r5, #0x88 + lsls r5, r5, #1 + adds r0, r0, r5 + ldr r2, _0802882C @ =0x0000028A + adds r1, r4, r2 + strh r0, [r1] + b _08028974 + .align 2, 0 _08028824: .4byte 0x020314E0 _08028828: .4byte 0x000005A4 _0802882C: .4byte 0x0000028A _08028830: - adds r0, r4, #0 - adds r0, #0xbc - movs r5, #0 - ldrsh r1, [r0, r5] - subs r0, #0x3c - movs r5, #0 - ldrsh r0, [r0, r5] - subs r2, r1, r0 - adds r0, r4, #0 - adds r0, #0xbe - movs r5, #0 - ldrsh r1, [r0, r5] - subs r0, #0x3c - movs r4, #0 - ldrsh r0, [r0, r4] - subs r3, r1, r0 - adds r4, r2, #0 - muls r4, r2, r4 - adds r0, r3, #0 - muls r0, r3, r0 - adds r4, r4, r0 - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - rsbs r1, r3, #0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - bl ArcTan2 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - ldr r0, _0802888C @ =0x000009C3 - cmp r4, r0 - bgt _080288E8 - movs r6, #0 - movs r7, #0 - mov r5, r8 - ldr r2, [r5] - adds r1, r2, #0 - adds r1, #0x7c - ldrh r0, [r1] - cmp r0, #0xc7 - bhi _08028890 - adds r0, #1 - strh r0, [r1] - b _08028918 - .align 2, 0 + adds r0, r4, #0 + adds r0, #0xbc + movs r5, #0 + ldrsh r1, [r0, r5] + subs r0, #0x3c + movs r5, #0 + ldrsh r0, [r0, r5] + subs r2, r1, r0 + adds r0, r4, #0 + adds r0, #0xbe + movs r5, #0 + ldrsh r1, [r0, r5] + subs r0, #0x3c + movs r4, #0 + ldrsh r0, [r0, r4] + subs r3, r1, r0 + adds r4, r2, #0 + muls r4, r2, r4 + adds r0, r3, #0 + muls r0, r3, r0 + adds r4, r4, r0 + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + rsbs r1, r3, #0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + bl ArcTan2 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + ldr r0, _0802888C @ =0x000009C3 + cmp r4, r0 + bgt _080288E8 + movs r6, #0 + movs r7, #0 + mov r5, r8 + ldr r2, [r5] + adds r1, r2, #0 + adds r1, #0x7c + ldrh r0, [r1] + cmp r0, #0xc7 + bhi _08028890 + adds r0, #1 + strh r0, [r1] + b _08028918 + .align 2, 0 _0802888C: .4byte 0x000009C3 _08028890: - movs r0, #0 - strh r0, [r1] - adds r1, r2, #0 - adds r1, #0x73 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xa - bgt _080288A6 - adds r0, r2, #1 - b _080288A8 + movs r0, #0 + strh r0, [r1] + adds r1, r2, #0 + adds r1, #0x73 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0xa + bgt _080288A6 + adds r0, r2, #1 + b _080288A8 _080288A6: - movs r0, #0 + movs r0, #0 _080288A8: - strb r0, [r1] - movs r0, #0xa2 - lsls r0, r0, #1 - bl m4aSongNumStart - ldr r0, _080288E0 @ =0x020314E0 - ldr r3, [r0] - ldr r2, _080288E4 @ =0x086AE124 - adds r4, r3, #0 - adds r4, #0x73 - movs r0, #0 - ldrsb r0, [r4, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r1, [r0] - adds r0, r3, #0 - adds r0, #0xbc - strh r1, [r0] - movs r0, #0 - ldrsb r0, [r4, r0] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r1, [r0, #2] - adds r0, r3, #0 - adds r0, #0xbe - strh r1, [r0] - b _08028918 - .align 2, 0 + strb r0, [r1] + movs r0, #0xa2 + lsls r0, r0, #1 + bl m4aSongNumStart + ldr r0, _080288E0 @ =0x020314E0 + ldr r3, [r0] + ldr r2, _080288E4 @ =0x086AE124 + adds r4, r3, #0 + adds r4, #0x73 + movs r0, #0 + ldrsb r0, [r4, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r1, [r0] + adds r0, r3, #0 + adds r0, #0xbc + strh r1, [r0] + movs r0, #0 + ldrsb r0, [r4, r0] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r1, [r0, #2] + adds r0, r3, #0 + adds r0, #0xbe + strh r1, [r0] + b _08028918 + .align 2, 0 _080288E0: .4byte 0x020314E0 _080288E4: .4byte 0x086AE124 _080288E8: - adds r0, r5, #0 - bl sub_C74 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #3 - subs r1, r1, r0 - ldr r4, _08028A0C @ =0x00004E20 - adds r0, r1, #0 - adds r1, r4, #0 - bl __divsi3 - adds r6, r0, #0 - adds r0, r5, #0 - bl sub_C24 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #3 - subs r0, r0, r1 - adds r1, r4, #0 - bl __divsi3 - adds r7, r0, #0 + adds r0, r5, #0 + bl sub_C74 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #3 + subs r1, r1, r0 + ldr r4, _08028A0C @ =0x00004E20 + adds r0, r1, #0 + adds r1, r4, #0 + bl __divsi3 + adds r6, r0, #0 + adds r0, r5, #0 + bl sub_C24 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #3 + subs r0, r0, r1 + adds r1, r4, #0 + bl __divsi3 + adds r7, r0, #0 _08028918: - ldr r5, _08028A10 @ =0x020314E0 - ldr r0, [r5] - mov r8, r0 - mov r4, r8 - adds r4, #0x80 - ldrh r0, [r4] - adds r0, r6, r0 - strh r0, [r4] - mov r1, r8 - adds r1, #0x82 - ldrh r0, [r1] - adds r0, r7, r0 - strh r0, [r1] - mov r1, r8 - ldrh r0, [r1, #0x18] - movs r1, #0x50 - bl __umodsi3 - lsls r0, r0, #0x10 - movs r1, #0x50 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldrh r2, [r4] - mov r1, r8 - adds r1, #0xc0 - strh r2, [r1] - bl sub_C24 - adds r1, r0, #0 - ldr r4, [r5] - adds r5, r4, #0 - adds r5, #0x82 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _08028A0C @ =0x00004E20 - bl __divsi3 - ldrh r1, [r5] - adds r1, r1, r0 - adds r4, #0xc2 - strh r1, [r4] + ldr r5, _08028A10 @ =0x020314E0 + ldr r0, [r5] + mov r8, r0 + mov r4, r8 + adds r4, #0x80 + ldrh r0, [r4] + adds r0, r6, r0 + strh r0, [r4] + mov r1, r8 + adds r1, #0x82 + ldrh r0, [r1] + adds r0, r7, r0 + strh r0, [r1] + mov r1, r8 + ldrh r0, [r1, #0x18] + movs r1, #0x50 + bl __umodsi3 + lsls r0, r0, #0x10 + movs r1, #0x50 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldrh r2, [r4] + mov r1, r8 + adds r1, #0xc0 + strh r2, [r1] + bl sub_C24 + adds r1, r0, #0 + ldr r4, [r5] + adds r5, r4, #0 + adds r5, #0x82 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #4 + subs r0, r0, r1 + lsls r0, r0, #2 + ldr r1, _08028A0C @ =0x00004E20 + bl __divsi3 + ldrh r1, [r5] + adds r1, r1, r0 + adds r4, #0xc2 + strh r1, [r4] _08028974: - ldr r0, _08028A10 @ =0x020314E0 - ldr r1, [r0] - ldrh r2, [r1, #0x18] - ldr r3, _08028A14 @ =0x000001F3 - mov r8, r0 - cmp r2, r3 - bhi _08028994 - movs r0, #0x28 - strh r0, [r1, #0x28] - cmp r2, r3 - bne _08028994 - movs r2, #0xa5 - lsls r2, r2, #2 - adds r1, r1, r2 - movs r0, #2 - strb r0, [r1] + ldr r0, _08028A10 @ =0x020314E0 + ldr r1, [r0] + ldrh r2, [r1, #0x18] + ldr r3, _08028A14 @ =0x000001F3 + mov r8, r0 + cmp r2, r3 + bhi _08028994 + movs r0, #0x28 + strh r0, [r1, #0x28] + cmp r2, r3 + bne _08028994 + movs r2, #0xa5 + lsls r2, r2, #2 + adds r1, r1, r2 + movs r0, #2 + strb r0, [r1] _08028994: - mov r3, r8 - ldr r0, [r3] - ldrh r1, [r0, #0x18] - adds r1, #1 - strh r1, [r0, #0x18] - bl sub_28EA0 - mov r4, r8 - ldr r0, [r4] - ldr r5, _08028A18 @ =0x000005AA - adds r1, r0, r5 - ldrh r0, [r1] - cmp r0, #0 - beq _080289B4 - subs r0, #1 - strh r0, [r1] + mov r3, r8 + ldr r0, [r3] + ldrh r1, [r0, #0x18] + adds r1, #1 + strh r1, [r0, #0x18] + bl sub_28EA0 + mov r4, r8 + ldr r0, [r4] + ldr r5, _08028A18 @ =0x000005AA + adds r1, r0, r5 + ldrh r0, [r1] + cmp r0, #0 + beq _080289B4 + subs r0, #1 + strh r0, [r1] _080289B4: - mov r0, r8 - 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 - bne _080289CA - b _08028AD2 + mov r0, r8 + 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 + bne _080289CA + b _08028AD2 _080289CA: - ldr r3, _08028A1C @ =0x00000296 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, #1 - bls _080289D6 - b _08028AD2 + ldr r3, _08028A1C @ =0x00000296 + adds r0, r1, r3 + ldrh r0, [r0] + cmp r0, #1 + bls _080289D6 + b _08028AD2 _080289D6: - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #4 - ble _080289E0 - b _08028AD2 + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #4 + ble _080289E0 + b _08028AD2 _080289E0: - bl m4aMPlayAllStop - movs r0, #0x13 - bl m4aSongNumStart - mov r4, r8 - ldr r1, [r4] - movs r0, #4 - strb r0, [r1, #0x17] - ldr r0, [r4] - movs r1, #0x96 - strh r1, [r0, #0x18] - ldr r5, _08028A20 @ =0x000005F2 - adds r0, r0, r5 - movs r1, #0 - strb r1, [r0] - ldr r0, _08028A24 @ =0x02032F20 - ldr r1, _08028A28 @ =0x0869F58C - bl MPlayStart - b _08028AD2 - .align 2, 0 + bl m4aMPlayAllStop + movs r0, #0x13 + bl m4aSongNumStart + mov r4, r8 + ldr r1, [r4] + movs r0, #4 + strb r0, [r1, #0x17] + ldr r0, [r4] + movs r1, #0x96 + strh r1, [r0, #0x18] + ldr r5, _08028A20 @ =0x000005F2 + adds r0, r0, r5 + movs r1, #0 + strb r1, [r0] + ldr r0, _08028A24 @ =0x02032F20 + ldr r1, _08028A28 @ =0x0869F58C + bl MPlayStart + b _08028AD2 + .align 2, 0 _08028A0C: .4byte 0x00004E20 _08028A10: .4byte 0x020314E0 _08028A14: .4byte 0x000001F3 @@ -80195,222 +80195,222 @@ _08028A20: .4byte 0x000005F2 _08028A24: .4byte 0x02032F20 _08028A28: .4byte 0x0869F58C _08028A2C: - mov r0, r8 - ldr r1, [r0] - ldrh r0, [r1, #0x18] - cmp r0, #0 - beq _08028A3C - subs r0, #1 - strh r0, [r1, #0x18] - b _08028A40 + mov r0, r8 + ldr r1, [r0] + ldrh r0, [r1, #0x18] + cmp r0, #0 + beq _08028A3C + subs r0, #1 + strh r0, [r1, #0x18] + b _08028A40 _08028A3C: - movs r0, #5 - strb r0, [r1, #0x17] + movs r0, #5 + strb r0, [r1, #0x17] _08028A40: - bl sub_28EA0 - ldr r0, _08028A58 @ =0x020314E0 - ldr r0, [r0] - ldr r2, _08028A5C @ =0x000005AA - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, #0 - beq _08028AD2 - subs r0, #1 - strh r0, [r1] - b _08028AD2 - .align 2, 0 + bl sub_28EA0 + ldr r0, _08028A58 @ =0x020314E0 + ldr r0, [r0] + ldr r2, _08028A5C @ =0x000005AA + adds r1, r0, r2 + ldrh r0, [r1] + cmp r0, #0 + beq _08028AD2 + subs r0, #1 + strh r0, [r1] + b _08028AD2 + .align 2, 0 _08028A58: .4byte 0x020314E0 _08028A5C: .4byte 0x000005AA _08028A60: - bl sub_28EA0 - bl sub_292A0 - bl sub_27D44 - ldr r2, _08028A84 @ =0x020314E0 - ldr r0, [r2] - adds r0, #0x72 - movs r3, #0 - movs r1, #0xf0 - strb r1, [r0] - ldr r1, [r2] - movs r0, #6 - strb r0, [r1, #0x17] - ldr r0, [r2] - strh r3, [r0, #0x18] - b _08028AD2 - .align 2, 0 + bl sub_28EA0 + bl sub_292A0 + bl sub_27D44 + ldr r2, _08028A84 @ =0x020314E0 + ldr r0, [r2] + adds r0, #0x72 + movs r3, #0 + movs r1, #0xf0 + strb r1, [r0] + ldr r1, [r2] + movs r0, #6 + strb r0, [r1, #0x17] + ldr r0, [r2] + strh r3, [r0, #0x18] + b _08028AD2 + .align 2, 0 _08028A84: .4byte 0x020314E0 _08028A88: - mov r3, r8 - ldr r0, [r3] - ldr r4, _08028AA4 @ =0x00000729 - adds r0, r0, r4 - movs r1, #0 - strb r1, [r0] - ldr r1, [r3] - ldrh r0, [r1, #0x18] - cmp r0, #0 - beq _08028AA8 - subs r0, #1 - strh r0, [r1, #0x18] - b _08028AD2 - .align 2, 0 + mov r3, r8 + ldr r0, [r3] + ldr r4, _08028AA4 @ =0x00000729 + adds r0, r0, r4 + movs r1, #0 + strb r1, [r0] + ldr r1, [r3] + ldrh r0, [r1, #0x18] + cmp r0, #0 + beq _08028AA8 + subs r0, #1 + strh r0, [r1, #0x18] + b _08028AD2 + .align 2, 0 _08028AA4: .4byte 0x00000729 _08028AA8: - ldr r5, _08028AC0 @ =0x0000071F - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08028AC4 - movs r0, #3 - bl sub_19B64 - b _08028ACA - .align 2, 0 + ldr r5, _08028AC0 @ =0x0000071F + adds r0, r1, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08028AC4 + movs r0, #3 + bl sub_19B64 + b _08028ACA + .align 2, 0 _08028AC0: .4byte 0x0000071F _08028AC4: - movs r0, #1 - bl sub_19B64 + movs r0, #1 + bl sub_19B64 _08028ACA: - ldr r0, _08028ADC @ =0x020314E0 - ldr r1, [r0] - movs r0, #0 + ldr r0, _08028ADC @ =0x020314E0 + ldr r1, [r0] + movs r0, #0 _08028AD0: - strb r0, [r1, #0x17] + strb r0, [r1, #0x17] _08028AD2: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08028ADC: .4byte 0x020314E0 - thumb_func_start sub_28AE0 + thumb_func_start sub_28AE0 sub_28AE0: @ 0x08028AE0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x18 - ldr r2, _08028BD4 @ =0x086A3700 - ldr r0, _08028BD8 @ =0x020314E0 - ldr r0, [r0] - movs r1, #0xb3 - lsls r1, r1, #3 - adds r0, r0, r1 - ldrh r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r2 - movs r7, #0 - ldr r6, _08028BDC @ =0x086BB6F4 - add r3, sp, #0xc - mov r8, r3 - ldr r4, _08028BE0 @ =0x02030760 - mov sl, r4 - ldr r1, _08028BE4 @ =0x020306D0 - mov sb, r1 - ldrb r5, [r0, #0x11] - adds r0, r5, #0 - movs r1, #5 - bl __divsi3 - adds r4, r0, #0 - adds r0, r5, #0 - movs r1, #5 - bl __modsi3 - lsls r4, r4, #0x10 - asrs r4, r4, #0xe - adds r6, r4, r6 - lsls r0, r0, #0x10 - asrs r5, r0, #0x10 - ldr r6, [r6] - mov ip, r6 - ldr r3, _08028BE8 @ =0x086B15B4 - adds r4, r4, r3 - ldr r6, [r4] + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x18 + ldr r2, _08028BD4 @ =0x086A3700 + ldr r0, _08028BD8 @ =0x020314E0 + ldr r0, [r0] + movs r1, #0xb3 + lsls r1, r1, #3 + adds r0, r0, r1 + ldrh r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r2 + movs r7, #0 + ldr r6, _08028BDC @ =0x086BB6F4 + add r3, sp, #0xc + mov r8, r3 + ldr r4, _08028BE0 @ =0x02030760 + mov sl, r4 + ldr r1, _08028BE4 @ =0x020306D0 + mov sb, r1 + ldrb r5, [r0, #0x11] + adds r0, r5, #0 + movs r1, #5 + bl __divsi3 + adds r4, r0, #0 + adds r0, r5, #0 + movs r1, #5 + bl __modsi3 + lsls r4, r4, #0x10 + asrs r4, r4, #0xe + adds r6, r4, r6 + lsls r0, r0, #0x10 + asrs r5, r0, #0x10 + ldr r6, [r6] + mov ip, r6 + ldr r3, _08028BE8 @ =0x086B15B4 + adds r4, r4, r3 + ldr r6, [r4] _08028B3A: - lsls r3, r7, #0x10 - asrs r3, r3, #0x10 - lsls r2, r3, #2 - mov r0, sp - adds r4, r0, r2 - lsls r1, r5, #1 - adds r1, r1, r5 - adds r1, r3, r1 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #7 - add r0, ip - str r0, [r4] - mov r1, r8 - adds r0, r1, r2 - adds r2, r2, r3 - adds r2, r2, r5 - lsls r2, r2, #5 - adds r2, r6, r2 - str r2, [r0] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r7, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #2 - ble _08028B3A - movs r7, #0 - ldr r3, _08028BEC @ =0x040000D4 + lsls r3, r7, #0x10 + asrs r3, r3, #0x10 + lsls r2, r3, #2 + mov r0, sp + adds r4, r0, r2 + lsls r1, r5, #1 + adds r1, r1, r5 + adds r1, r3, r1 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #7 + add r0, ip + str r0, [r4] + mov r1, r8 + adds r0, r1, r2 + adds r2, r2, r3 + adds r2, r2, r5 + lsls r2, r2, #5 + adds r2, r6, r2 + str r2, [r0] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r7, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #2 + ble _08028B3A + movs r7, #0 + ldr r3, _08028BEC @ =0x040000D4 _08028B72: - lsls r1, r7, #0x10 - asrs r1, r1, #0x10 - lsls r2, r1, #2 - mov r4, sp - adds r0, r4, r2 - ldr r0, [r0] - str r0, [r3] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #7 - add r0, sl - str r0, [r3, #4] - ldr r0, _08028BF0 @ =0x80000240 - str r0, [r3, #8] - ldr r0, [r3, #8] - add r2, r8 - ldr r0, [r2] - str r0, [r3] - lsls r0, r1, #5 - add r0, sb - str r0, [r3, #4] - ldr r2, _08028BF4 @ =0x80000010 - str r2, [r3, #8] - ldr r0, [r3, #8] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r7, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #2 - ble _08028B72 - ldr r0, _08028BEC @ =0x040000D4 - ldr r3, _08028BE8 @ =0x086B15B4 - ldr r1, [r3] - movs r4, #0xf0 - lsls r4, r4, #1 - adds r1, r1, r4 - str r1, [r0] - ldr r1, _08028BF8 @ =0x02030730 - str r1, [r0, #4] - str r2, [r0, #8] - ldr r0, [r0, #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 + lsls r1, r7, #0x10 + asrs r1, r1, #0x10 + lsls r2, r1, #2 + mov r4, sp + adds r0, r4, r2 + ldr r0, [r0] + str r0, [r3] + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #7 + add r0, sl + str r0, [r3, #4] + ldr r0, _08028BF0 @ =0x80000240 + str r0, [r3, #8] + ldr r0, [r3, #8] + add r2, r8 + ldr r0, [r2] + str r0, [r3] + lsls r0, r1, #5 + add r0, sb + str r0, [r3, #4] + ldr r2, _08028BF4 @ =0x80000010 + str r2, [r3, #8] + ldr r0, [r3, #8] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r7, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #2 + ble _08028B72 + ldr r0, _08028BEC @ =0x040000D4 + ldr r3, _08028BE8 @ =0x086B15B4 + ldr r1, [r3] + movs r4, #0xf0 + lsls r4, r4, #1 + adds r1, r1, r4 + str r1, [r0] + ldr r1, _08028BF8 @ =0x02030730 + str r1, [r0, #4] + str r2, [r0, #8] + ldr r0, [r0, #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 _08028BD4: .4byte 0x086A3700 _08028BD8: .4byte 0x020314E0 _08028BDC: .4byte 0x086BB6F4 @@ -80422,63 +80422,63 @@ _08028BF0: .4byte 0x80000240 _08028BF4: .4byte 0x80000010 _08028BF8: .4byte 0x02030730 - thumb_func_start sub_28BFC + thumb_func_start sub_28BFC sub_28BFC: @ 0x08028BFC - push {r4, r5, r6, lr} - ldr r2, _08028C6C @ =0x086A3700 - ldr r0, _08028C70 @ =0x020314E0 - ldr r0, [r0] - movs r1, #0xb3 - lsls r1, r1, #3 - adds r0, r0, r1 - ldrh r1, [r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r2 - ldr r5, _08028C74 @ =0x086BB6DC - ldrb r6, [r0, #0x12] - adds r0, r6, #0 - movs r1, #6 - bl __divsi3 - adds r4, r0, #0 - lsls r4, r4, #0x10 - asrs r4, r4, #0xe - adds r5, r4, r5 - adds r0, r6, #0 - movs r1, #6 - bl __modsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #4 - adds r1, r1, r0 - lsls r1, r1, #3 - subs r1, r1, r0 - lsls r1, r1, #5 - ldr r2, [r5] - adds r2, r2, r1 - ldr r1, _08028C78 @ =0x086B159C - adds r4, r4, r1 - lsls r0, r0, #5 - ldr r3, [r4] - adds r3, r3, r0 - ldr r0, _08028C7C @ =0x040000D4 - str r2, [r0] - ldr r1, _08028C80 @ =0x0202C7A0 - str r1, [r0, #4] - ldr r1, _08028C84 @ =0x80000870 - str r1, [r0, #8] - ldr r1, [r0, #8] - str r3, [r0] - ldr r1, _08028C88 @ =0x020315D0 - str r1, [r0, #4] - ldr r1, _08028C8C @ =0x80000010 - str r1, [r0, #8] - ldr r0, [r0, #8] - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, r6, lr} + ldr r2, _08028C6C @ =0x086A3700 + ldr r0, _08028C70 @ =0x020314E0 + ldr r0, [r0] + movs r1, #0xb3 + lsls r1, r1, #3 + adds r0, r0, r1 + ldrh r1, [r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r2 + ldr r5, _08028C74 @ =0x086BB6DC + ldrb r6, [r0, #0x12] + adds r0, r6, #0 + movs r1, #6 + bl __divsi3 + adds r4, r0, #0 + lsls r4, r4, #0x10 + asrs r4, r4, #0xe + adds r5, r4, r5 + adds r0, r6, #0 + movs r1, #6 + bl __modsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #4 + adds r1, r1, r0 + lsls r1, r1, #3 + subs r1, r1, r0 + lsls r1, r1, #5 + ldr r2, [r5] + adds r2, r2, r1 + ldr r1, _08028C78 @ =0x086B159C + adds r4, r4, r1 + lsls r0, r0, #5 + ldr r3, [r4] + adds r3, r3, r0 + ldr r0, _08028C7C @ =0x040000D4 + str r2, [r0] + ldr r1, _08028C80 @ =0x0202C7A0 + str r1, [r0, #4] + ldr r1, _08028C84 @ =0x80000870 + str r1, [r0, #8] + ldr r1, [r0, #8] + str r3, [r0] + ldr r1, _08028C88 @ =0x020315D0 + str r1, [r0, #4] + ldr r1, _08028C8C @ =0x80000010 + str r1, [r0, #8] + ldr r0, [r0, #8] + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08028C6C: .4byte 0x086A3700 _08028C70: .4byte 0x020314E0 _08028C74: .4byte 0x086BB6DC @@ -80489,90 +80489,90 @@ _08028C84: .4byte 0x80000870 _08028C88: .4byte 0x020315D0 _08028C8C: .4byte 0x80000010 - thumb_func_start sub_28C90 + thumb_func_start sub_28C90 sub_28C90: @ 0x08028C90 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r4, _08028D30 @ =0x0200B0C0 - ldr r0, [r4, #0x50] - movs r1, #0x32 - bl __umodsi3 - movs r1, #0x19 - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - ldr r0, [r4, #0x44] - adds r0, #0x84 - ldr r6, [r0] - ldrh r0, [r6] - cmp r0, #0 - bne _08028CBA - b _08028E02 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r4, _08028D30 @ =0x0200B0C0 + ldr r0, [r4, #0x50] + movs r1, #0x32 + bl __umodsi3 + movs r1, #0x19 + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + ldr r0, [r4, #0x44] + adds r0, #0x84 + ldr r6, [r0] + ldrh r0, [r6] + cmp r0, #0 + bne _08028CBA + b _08028E02 _08028CBA: - ldr r3, _08028D34 @ =0x020314E0 - ldr r4, [r3] - adds r1, r4, #0 - adds r1, #0xc4 - movs r2, #0x60 - movs r0, #0x60 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xc6 - movs r1, #0x90 - lsls r1, r1, #1 - strh r1, [r0] - subs r0, #0x6e - ldrh r0, [r0] - subs r2, r2, r0 - strh r2, [r6, #2] - adds r0, r4, #0 - adds r0, #0x5a - ldrh r0, [r0] - subs r1, r1, r0 - strh r1, [r6, #4] - ldr r1, _08028D38 @ =0x000005A9 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, #4 - bls _08028D50 - cmp r0, #0x14 - beq _08028CF6 - cmp r0, #0xc8 - bne _08028D06 + ldr r3, _08028D34 @ =0x020314E0 + ldr r4, [r3] + adds r1, r4, #0 + adds r1, #0xc4 + movs r2, #0x60 + movs r0, #0x60 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xc6 + movs r1, #0x90 + lsls r1, r1, #1 + strh r1, [r0] + subs r0, #0x6e + ldrh r0, [r0] + subs r2, r2, r0 + strh r2, [r6, #2] + adds r0, r4, #0 + adds r0, #0x5a + ldrh r0, [r0] + subs r1, r1, r0 + strh r1, [r6, #4] + ldr r1, _08028D38 @ =0x000005A9 + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, #4 + bls _08028D50 + cmp r0, #0x14 + beq _08028CF6 + cmp r0, #0xc8 + bne _08028D06 _08028CF6: - ldr r1, _08028D3C @ =0x040000D4 - ldr r0, _08028D40 @ =0x02031060 - str r0, [r1] - ldr r0, _08028D44 @ =0x06010CA0 - str r0, [r1, #4] - ldr r0, _08028D48 @ =0x80000240 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r1, _08028D3C @ =0x040000D4 + ldr r0, _08028D40 @ =0x02031060 + str r0, [r1] + ldr r0, _08028D44 @ =0x06010CA0 + str r0, [r1, #4] + ldr r0, _08028D48 @ =0x80000240 + str r0, [r1, #8] + ldr r0, [r1, #8] _08028D06: - ldr r0, [r3] - ldr r2, _08028D38 @ =0x000005A9 - adds r0, r0, r2 - ldrb r0, [r0] - cmp r0, #0x18 - bne _08028D22 - ldr r1, _08028D3C @ =0x040000D4 - ldr r0, _08028D4C @ =0x02030760 - str r0, [r1] - ldr r0, _08028D44 @ =0x06010CA0 - str r0, [r1, #4] - ldr r0, _08028D48 @ =0x80000240 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r0, [r3] + ldr r2, _08028D38 @ =0x000005A9 + adds r0, r0, r2 + ldrb r0, [r0] + cmp r0, #0x18 + bne _08028D22 + ldr r1, _08028D3C @ =0x040000D4 + ldr r0, _08028D4C @ =0x02030760 + str r0, [r1] + ldr r0, _08028D44 @ =0x06010CA0 + str r0, [r1, #4] + ldr r0, _08028D48 @ =0x80000240 + str r0, [r1, #8] + ldr r0, [r1, #8] _08028D22: - ldr r1, [r3] - adds r1, r1, r2 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - b _08028D78 - .align 2, 0 + ldr r1, [r3] + adds r1, r1, r2 + ldrb r0, [r1] + subs r0, #1 + strb r0, [r1] + b _08028D78 + .align 2, 0 _08028D30: .4byte 0x0200B0C0 _08028D34: .4byte 0x020314E0 _08028D38: .4byte 0x000005A9 @@ -80582,107 +80582,107 @@ _08028D44: .4byte 0x06010CA0 _08028D48: .4byte 0x80000240 _08028D4C: .4byte 0x02030760 _08028D50: - movs r2, #0xde - lsls r2, r2, #1 - adds r0, r4, r2 - ldrh r0, [r0] - cmp r0, #5 - bne _08028D78 - ldr r2, _08028E10 @ =0x040000D4 - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _08028E14 @ =0x02030760 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08028E18 @ =0x06010CA0 - str r0, [r2, #4] - ldr r0, _08028E1C @ =0x80000240 - str r0, [r2, #8] - ldr r0, [r2, #8] + movs r2, #0xde + lsls r2, r2, #1 + adds r0, r4, r2 + ldrh r0, [r0] + cmp r0, #5 + bne _08028D78 + ldr r2, _08028E10 @ =0x040000D4 + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _08028E14 @ =0x02030760 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08028E18 @ =0x06010CA0 + str r0, [r2, #4] + ldr r0, _08028E1C @ =0x80000240 + str r0, [r2, #8] + ldr r0, [r2, #8] _08028D78: - ldr r0, [r3] - movs r1, #0xb5 - lsls r1, r1, #3 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r1, #1 - cmp r0, #0xc - bgt _08028D8E - movs r1, #2 + ldr r0, [r3] + movs r1, #0xb5 + lsls r1, r1, #3 + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + movs r1, #1 + cmp r0, #0xc + bgt _08028D8E + movs r1, #2 _08028D8E: - movs r2, #4 - ldrsh r0, [r6, r2] - cmp r0, #0xc7 - ble _08028D9A - movs r0, #0xc8 - strh r0, [r6, #4] + movs r2, #4 + ldrsh r0, [r6, r2] + cmp r0, #0xc7 + ble _08028D9A + movs r0, #0xc8 + strh r0, [r6, #4] _08028D9A: - movs r0, #0 - ldr r7, _08028E20 @ =0x03005000 - ldr r2, _08028E24 @ =0xFFFFFE00 - mov sb, r2 - lsls r1, r1, #2 - mov ip, r1 - movs r1, #0xd - rsbs r1, r1, #0 - mov r8, r1 + movs r0, #0 + ldr r7, _08028E20 @ =0x03005000 + ldr r2, _08028E24 @ =0xFFFFFE00 + mov sb, r2 + lsls r1, r1, #2 + mov ip, r1 + movs r1, #0xd + rsbs r1, r1, #0 + mov r8, r1 _08028DAC: - 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, _08028E28 @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r4, #2] - mov r0, sb - 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 r2, [r3, #4] - adds r0, r0, r2 - strb r0, [r1] - ldrh r1, [r3] - lsls r1, r1, #3 - adds r1, r1, r7 - ldrb r2, [r1, #5] - mov r0, r8 - ands r0, r2 - mov r2, ip - orrs r0, r2 - strb r0, [r1, #5] - adds r5, #1 - lsls r5, r5, #0x10 - lsrs r0, r5, #0x10 - asrs r5, r5, #0x10 - cmp r5, #3 - ble _08028DAC + 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, _08028E28 @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r4, #2] + mov r0, sb + 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 r2, [r3, #4] + adds r0, r0, r2 + strb r0, [r1] + ldrh r1, [r3] + lsls r1, r1, #3 + adds r1, r1, r7 + ldrb r2, [r1, #5] + mov r0, r8 + ands r0, r2 + mov r2, ip + orrs r0, r2 + strb r0, [r1, #5] + adds r5, #1 + lsls r5, r5, #0x10 + lsrs r0, r5, #0x10 + asrs r5, r5, #0x10 + cmp r5, #3 + ble _08028DAC _08028E02: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08028E10: .4byte 0x040000D4 _08028E14: .4byte 0x02030760 _08028E18: .4byte 0x06010CA0 @@ -80691,214 +80691,214 @@ _08028E20: .4byte 0x03005000 _08028E24: .4byte 0xFFFFFE00 _08028E28: .4byte 0x000001FF - thumb_func_start sub_28E2C + thumb_func_start sub_28E2C sub_28E2C: @ 0x08028E2C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r0, _08028E94 @ =0x0200B0C0 - ldr r1, [r0, #0x44] - adds r1, #0x84 - ldr r5, [r1] - ldrh r1, [r5] - mov r8, r0 - cmp r1, #0 - beq _08028E7C - movs r0, #0 - ldr r6, _08028E98 @ =0x03005000 - ldr r1, _08028E9C @ =0xFFFFFE00 - mov ip, r1 - movs r7, #0xc8 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r0, _08028E94 @ =0x0200B0C0 + ldr r1, [r0, #0x44] + adds r1, #0x84 + ldr r5, [r1] + ldrh r1, [r5] + mov r8, r0 + cmp r1, #0 + beq _08028E7C + movs r0, #0 + ldr r6, _08028E98 @ =0x03005000 + ldr r1, _08028E9C @ =0xFFFFFE00 + mov ip, r1 + movs r7, #0xc8 _08028E4C: - lsls r2, r0, #0x10 - asrs r2, r2, #0x10 - lsls r4, r2, #3 - adds r4, #8 - adds r4, r5, r4 - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrh r3, [r1, #2] - mov r0, ip - ands r0, r3 - orrs r0, r7 - strh r0, [r1, #2] - ldrh r0, [r4] - lsls r0, r0, #3 - adds r0, r0, r6 - movs r1, #0xb4 - strb r1, [r0] - adds r2, #1 - lsls r2, r2, #0x10 - lsrs r0, r2, #0x10 - asrs r2, r2, #0x10 - cmp r2, #3 - ble _08028E4C + lsls r2, r0, #0x10 + asrs r2, r2, #0x10 + lsls r4, r2, #3 + adds r4, #8 + adds r4, r5, r4 + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrh r3, [r1, #2] + mov r0, ip + ands r0, r3 + orrs r0, r7 + strh r0, [r1, #2] + ldrh r0, [r4] + lsls r0, r0, #3 + adds r0, r0, r6 + movs r1, #0xb4 + strb r1, [r0] + adds r2, #1 + lsls r2, r2, #0x10 + lsrs r0, r2, #0x10 + asrs r2, r2, #0x10 + cmp r2, #3 + ble _08028E4C _08028E7C: - mov r1, r8 - ldr r0, [r1, #0x44] - adds r0, #0x84 - ldr r1, [r0] - movs r0, #0 - strh r0, [r1] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + mov r1, r8 + ldr r0, [r1, #0x44] + adds r0, #0x84 + ldr r1, [r0] + movs r0, #0 + strh r0, [r1] + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08028E94: .4byte 0x0200B0C0 _08028E98: .4byte 0x03005000 _08028E9C: .4byte 0xFFFFFE00 - thumb_func_start sub_28EA0 + thumb_func_start sub_28EA0 sub_28EA0: @ 0x08028EA0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r4, _08028F64 @ =0x0200B0C0 - ldr r0, [r4, #0x50] - movs r1, #0x32 - bl __umodsi3 - movs r1, #0x19 - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sb, r0 - ldr r0, [r4, #0x44] - adds r0, #0x84 - ldr r7, [r0] - ldrh r0, [r7] - ldr r1, _08028F68 @ =0x020314E0 - mov sl, r1 - cmp r0, #0 - bne _08028ED4 - b _080290C4 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r4, _08028F64 @ =0x0200B0C0 + ldr r0, [r4, #0x50] + movs r1, #0x32 + bl __umodsi3 + movs r1, #0x19 + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov sb, r0 + ldr r0, [r4, #0x44] + adds r0, #0x84 + ldr r7, [r0] + ldrh r0, [r7] + ldr r1, _08028F68 @ =0x020314E0 + mov sl, r1 + cmp r0, #0 + bne _08028ED4 + b _080290C4 _08028ED4: - ldr r6, [r1] - adds r4, r6, #0 - adds r4, #0xc0 - movs r2, #0 - ldrsh r0, [r4, r2] - movs r1, #0xa - bl __divsi3 - adds r0, #0x60 - adds r1, r6, #0 - adds r1, #0xc4 - strh r0, [r1] - movs r0, #0xc2 - adds r0, r0, r6 - mov r8, r0 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #0xa - bl __divsi3 - movs r2, #0x90 - lsls r2, r2, #1 - adds r5, r2, #0 - adds r0, r0, r5 - adds r1, r6, #0 - adds r1, #0xc6 - strh r0, [r1] - movs r1, #0 - ldrsh r0, [r4, r1] - movs r1, #0xa - bl __divsi3 - adds r0, #0x60 - adds r1, r6, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r7, #2] - mov r2, r8 - movs r1, #0 - ldrsh r0, [r2, r1] - movs r1, #0xa - bl __divsi3 - adds r0, r0, r5 - adds r1, r6, #0 - adds r1, #0x5a - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r7, #4] - movs r0, #0x17 - ldrsb r0, [r6, r0] - cmp r0, #3 - ble _08028F7A - ldrh r0, [r6, #0x18] - cmp r0, #0x59 - bls _08028F74 - adds r1, r0, #0 - movs r0, #0x96 - subs r0, r0, r1 - cmp r0, #0 - bge _08028F52 - adds r0, #3 + ldr r6, [r1] + adds r4, r6, #0 + adds r4, #0xc0 + movs r2, #0 + ldrsh r0, [r4, r2] + movs r1, #0xa + bl __divsi3 + adds r0, #0x60 + adds r1, r6, #0 + adds r1, #0xc4 + strh r0, [r1] + movs r0, #0xc2 + adds r0, r0, r6 + mov r8, r0 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r1, #0xa + bl __divsi3 + movs r2, #0x90 + lsls r2, r2, #1 + adds r5, r2, #0 + adds r0, r0, r5 + adds r1, r6, #0 + adds r1, #0xc6 + strh r0, [r1] + movs r1, #0 + ldrsh r0, [r4, r1] + movs r1, #0xa + bl __divsi3 + adds r0, #0x60 + adds r1, r6, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r7, #2] + mov r2, r8 + movs r1, #0 + ldrsh r0, [r2, r1] + movs r1, #0xa + bl __divsi3 + adds r0, r0, r5 + adds r1, r6, #0 + adds r1, #0x5a + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r7, #4] + movs r0, #0x17 + ldrsb r0, [r6, r0] + cmp r0, #3 + ble _08028F7A + ldrh r0, [r6, #0x18] + cmp r0, #0x59 + bls _08028F74 + adds r1, r0, #0 + movs r0, #0x96 + subs r0, r0, r1 + cmp r0, #0 + bge _08028F52 + adds r0, #3 _08028F52: - lsls r1, r0, #0xe - ldr r2, _08028F6C @ =0x040000D4 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _08028F70 @ =0x0844AA0C - b _08028FFC - .align 2, 0 + lsls r1, r0, #0xe + ldr r2, _08028F6C @ =0x040000D4 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _08028F70 @ =0x0844AA0C + b _08028FFC + .align 2, 0 _08028F64: .4byte 0x0200B0C0 _08028F68: .4byte 0x020314E0 _08028F6C: .4byte 0x040000D4 _08028F70: .4byte 0x0844AA0C _08028F74: - movs r0, #0xbe - strh r0, [r7, #4] - b _0802900A + movs r0, #0xbe + strh r0, [r7, #4] + b _0802900A _08028F7A: - ldr r2, _08028FC8 @ =0x000005A9 - adds r0, r6, r2 - ldrb r0, [r0] - cmp r0, #4 - bls _08028FE0 - cmp r0, #0x14 - beq _08028F8C - cmp r0, #0xc8 - bne _08028F9C + ldr r2, _08028FC8 @ =0x000005A9 + adds r0, r6, r2 + ldrb r0, [r0] + cmp r0, #4 + bls _08028FE0 + cmp r0, #0x14 + beq _08028F8C + cmp r0, #0xc8 + bne _08028F9C _08028F8C: - ldr r1, _08028FCC @ =0x040000D4 - ldr r0, _08028FD0 @ =0x02031060 - str r0, [r1] - ldr r0, _08028FD4 @ =0x06010CA0 - str r0, [r1, #4] - ldr r0, _08028FD8 @ =0x80000240 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r1, _08028FCC @ =0x040000D4 + ldr r0, _08028FD0 @ =0x02031060 + str r0, [r1] + ldr r0, _08028FD4 @ =0x06010CA0 + str r0, [r1, #4] + ldr r0, _08028FD8 @ =0x80000240 + str r0, [r1, #8] + ldr r0, [r1, #8] _08028F9C: - mov r6, sl - ldr r0, [r6] - ldr r2, _08028FC8 @ =0x000005A9 - adds r0, r0, r2 - ldrb r0, [r0] - cmp r0, #0x18 - bne _08028FBA - ldr r1, _08028FCC @ =0x040000D4 - ldr r0, _08028FDC @ =0x02030760 - str r0, [r1] - ldr r0, _08028FD4 @ =0x06010CA0 - str r0, [r1, #4] - ldr r0, _08028FD8 @ =0x80000240 - str r0, [r1, #8] - ldr r0, [r1, #8] + mov r6, sl + ldr r0, [r6] + ldr r2, _08028FC8 @ =0x000005A9 + adds r0, r0, r2 + ldrb r0, [r0] + cmp r0, #0x18 + bne _08028FBA + ldr r1, _08028FCC @ =0x040000D4 + ldr r0, _08028FDC @ =0x02030760 + str r0, [r1] + ldr r0, _08028FD4 @ =0x06010CA0 + str r0, [r1, #4] + ldr r0, _08028FD8 @ =0x80000240 + str r0, [r1, #8] + ldr r0, [r1, #8] _08028FBA: - mov r0, sl - ldr r1, [r0] - adds r1, r1, r2 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - b _0802900A - .align 2, 0 + mov r0, sl + ldr r1, [r0] + adds r1, r1, r2 + ldrb r0, [r1] + subs r0, #1 + strb r0, [r1] + b _0802900A + .align 2, 0 _08028FC8: .4byte 0x000005A9 _08028FCC: .4byte 0x040000D4 _08028FD0: .4byte 0x02031060 @@ -80906,178 +80906,178 @@ _08028FD4: .4byte 0x06010CA0 _08028FD8: .4byte 0x80000240 _08028FDC: .4byte 0x02030760 _08028FE0: - movs r1, #0xde - lsls r1, r1, #1 - adds r0, r6, r1 - ldrh r0, [r0] - cmp r0, #5 - bne _0802900A - ldr r2, _0802901C @ =0x040000D4 - mov r6, sb - lsls r1, r6, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _08029020 @ =0x02030760 + movs r1, #0xde + lsls r1, r1, #1 + adds r0, r6, r1 + ldrh r0, [r0] + cmp r0, #5 + bne _0802900A + ldr r2, _0802901C @ =0x040000D4 + mov r6, sb + lsls r1, r6, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _08029020 @ =0x02030760 _08028FFC: - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08029024 @ =0x06010CA0 - str r0, [r2, #4] - ldr r0, _08029028 @ =0x80000240 - str r0, [r2, #8] - ldr r0, [r2, #8] + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08029024 @ =0x06010CA0 + str r0, [r2, #4] + ldr r0, _08029028 @ =0x80000240 + str r0, [r2, #8] + ldr r0, [r2, #8] _0802900A: - mov r0, sl - ldr r1, [r0] - ldr r2, _0802902C @ =0x000005A4 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, #2 - beq _08029030 - movs r3, #1 - b _08029044 - .align 2, 0 + mov r0, sl + ldr r1, [r0] + ldr r2, _0802902C @ =0x000005A4 + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, #2 + beq _08029030 + movs r3, #1 + b _08029044 + .align 2, 0 _0802901C: .4byte 0x040000D4 _08029020: .4byte 0x02030760 _08029024: .4byte 0x06010CA0 _08029028: .4byte 0x80000240 _0802902C: .4byte 0x000005A4 _08029030: - movs r6, #0xb5 - lsls r6, r6, #3 - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r3, #1 - cmp r0, #0xc - bgt _08029044 - movs r3, #2 + movs r6, #0xb5 + lsls r6, r6, #3 + adds r0, r1, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + movs r3, #1 + cmp r0, #0xc + bgt _08029044 + movs r3, #2 _08029044: - movs r1, #4 - ldrsh r0, [r7, r1] - cmp r0, #0xc7 - ble _08029052 - movs r0, #0xc8 - strh r0, [r7, #4] - b _0802905C + movs r1, #4 + ldrsh r0, [r7, r1] + cmp r0, #0xc7 + ble _08029052 + movs r0, #0xc8 + strh r0, [r7, #4] + b _0802905C _08029052: - movs r1, #0x3c - rsbs r1, r1, #0 - cmp r0, r1 - bge _0802905C - strh r1, [r7, #4] + movs r1, #0x3c + rsbs r1, r1, #0 + cmp r0, r1 + bge _0802905C + strh r1, [r7, #4] _0802905C: - movs r2, #0 - ldr r6, _0802912C @ =0x03005000 - ldr r0, _08029130 @ =0xFFFFFE00 - mov sl, r0 - lsls r3, r3, #2 - mov r8, r3 - movs r1, #0xd - rsbs r1, r1, #0 - mov sb, r1 + movs r2, #0 + ldr r6, _0802912C @ =0x03005000 + ldr r0, _08029130 @ =0xFFFFFE00 + mov sl, r0 + lsls r3, r3, #2 + mov r8, r3 + movs r1, #0xd + rsbs r1, r1, #0 + mov sb, r1 _0802906E: - 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 r2, #2 - ldrsh r1, [r5, r2] - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - ldr r2, _08029134 @ =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, r6 - ldrb r0, [r7, #4] - ldrb r2, [r5, #4] - adds r0, r0, r2 - strb r0, [r1] - ldrh r1, [r5] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrb r2, [r1, #5] - mov r0, sb - ands r0, r2 - mov r2, r8 - orrs r0, r2 - strb r0, [r1, #5] - adds r4, #1 - lsls r4, r4, #0x10 - lsrs r2, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #3 - ble _0802906E + 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 r2, #2 + ldrsh r1, [r5, r2] + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + ldr r2, _08029134 @ =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, r6 + ldrb r0, [r7, #4] + ldrb r2, [r5, #4] + adds r0, r0, r2 + strb r0, [r1] + ldrh r1, [r5] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrb r2, [r1, #5] + mov r0, sb + ands r0, r2 + mov r2, r8 + orrs r0, r2 + strb r0, [r1, #5] + adds r4, #1 + lsls r4, r4, #0x10 + lsrs r2, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #3 + ble _0802906E _080290C4: - movs r1, #0 + movs r1, #0 _080290C6: - lsls r0, r1, #0x10 - asrs r5, r0, #0x10 - ldr r6, _08029138 @ =0x0200B0C0 - ldr r1, [r6, #0x44] - lsls r4, r5, #2 - adds r1, r4, r1 - adds r1, #0xb4 - ldr r7, [r1] - ldrh r1, [r7] - mov r8, r0 - cmp r1, #0 - beq _080291D2 - ldr r0, _0802913C @ =0x020314E0 - ldr r2, [r0] - adds r3, r2, r4 - adds r0, r3, #0 - adds r0, #0x84 - adds r1, r2, #0 - adds r1, #0x58 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r7, #2] - adds r3, #0x86 - adds r0, r2, #0 - adds r0, #0x5a - ldrh r3, [r3] - ldrh r0, [r0] - subs r3, r3, r0 - strh r3, [r7, #4] - lsls r0, r5, #1 - adds r2, #0x74 - adds r2, r2, r0 - ldrh r0, [r2] - lsrs r0, r0, #2 - movs r1, #9 - subs r1, r1, r0 - lsls r1, r1, #1 - adds r0, r4, r5 - lsls r0, r0, #2 - adds r1, r1, r0 - ldr r2, _08029140 @ =0x086AE154 - adds r1, r1, r2 - ldrh r1, [r1] - lsls r3, r3, #0x10 - asrs r0, r3, #0x10 - cmp r0, #0xc7 - ble _08029144 - movs r0, #0xc8 - strh r0, [r7, #4] - b _0802914E - .align 2, 0 + lsls r0, r1, #0x10 + asrs r5, r0, #0x10 + ldr r6, _08029138 @ =0x0200B0C0 + ldr r1, [r6, #0x44] + lsls r4, r5, #2 + adds r1, r4, r1 + adds r1, #0xb4 + ldr r7, [r1] + ldrh r1, [r7] + mov r8, r0 + cmp r1, #0 + beq _080291D2 + ldr r0, _0802913C @ =0x020314E0 + ldr r2, [r0] + adds r3, r2, r4 + adds r0, r3, #0 + adds r0, #0x84 + adds r1, r2, #0 + adds r1, #0x58 + ldrh r0, [r0] + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r7, #2] + adds r3, #0x86 + adds r0, r2, #0 + adds r0, #0x5a + ldrh r3, [r3] + ldrh r0, [r0] + subs r3, r3, r0 + strh r3, [r7, #4] + lsls r0, r5, #1 + adds r2, #0x74 + adds r2, r2, r0 + ldrh r0, [r2] + lsrs r0, r0, #2 + movs r1, #9 + subs r1, r1, r0 + lsls r1, r1, #1 + adds r0, r4, r5 + lsls r0, r0, #2 + adds r1, r1, r0 + ldr r2, _08029140 @ =0x086AE154 + adds r1, r1, r2 + ldrh r1, [r1] + lsls r3, r3, #0x10 + asrs r0, r3, #0x10 + cmp r0, #0xc7 + ble _08029144 + movs r0, #0xc8 + strh r0, [r7, #4] + b _0802914E + .align 2, 0 _0802912C: .4byte 0x03005000 _08029130: .4byte 0xFFFFFE00 _08029134: .4byte 0x000001FF @@ -81085,174 +81085,174 @@ _08029138: .4byte 0x0200B0C0 _0802913C: .4byte 0x020314E0 _08029140: .4byte 0x086AE154 _08029144: - movs r2, #0x3c - rsbs r2, r2, #0 - cmp r0, r2 - bge _0802914E - strh r2, [r7, #4] + movs r2, #0x3c + rsbs r2, r2, #0 + cmp r0, r2 + bge _0802914E + strh r2, [r7, #4] _0802914E: - movs r2, #0 - lsls r1, r1, #0x10 - ldr r6, _08029284 @ =0x086B263C - mov sl, r6 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #1 - mov ip, r0 - ldr r0, _08029288 @ =0xFFFFFE00 - mov sb, r0 + movs r2, #0 + lsls r1, r1, #0x10 + ldr r6, _08029284 @ =0x086B263C + mov sl, r6 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #1 + mov ip, r0 + ldr r0, _08029288 @ =0xFFFFFE00 + mov sb, r0 _08029164: - 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 - ldr r1, _0802928C @ =0x03005000 - adds r2, r2, r1 - 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 - ldr r6, _0802928C @ =0x03005000 - adds r2, r2, r6 - ldrh r4, [r2, #2] - lsls r1, r4, #0x17 - lsrs r1, r1, #0x17 - str r1, [sp] - movs r1, #2 - ldrsh r0, [r7, r1] - ldr r6, [sp] - adds r1, r6, r0 - ldr r6, _08029290 @ =0x000001FF - adds r0, r6, #0 - ands r1, r0 - mov r0, sb - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - ldr r0, _0802928C @ =0x03005000 - 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, #2 - ble _08029164 + 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 + ldr r1, _0802928C @ =0x03005000 + adds r2, r2, r1 + 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 + ldr r6, _0802928C @ =0x03005000 + adds r2, r2, r6 + ldrh r4, [r2, #2] + lsls r1, r4, #0x17 + lsrs r1, r1, #0x17 + str r1, [sp] + movs r1, #2 + ldrsh r0, [r7, r1] + ldr r6, [sp] + adds r1, r6, r0 + ldr r6, _08029290 @ =0x000001FF + adds r0, r6, #0 + ands r1, r0 + mov r0, sb + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + ldr r0, _0802928C @ =0x03005000 + 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, #2 + ble _08029164 _080291D2: - ldr r6, _08029294 @ =0x020314E0 - ldr r4, [r6] - ldr r1, _08029298 @ =0x000005A4 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, #2 - beq _08029228 - movs r0, #0x17 - ldrsb r0, [r4, r0] - cmp r0, #3 - bgt _08029228 - mov r2, r8 - asrs r3, r2, #0x10 - lsls r0, r3, #1 - adds r1, r4, #0 - adds r1, #0x74 - adds r1, r1, r0 - ldrh r0, [r1] - cmp r0, #0 - bne _0802923A - movs r0, #0x28 - strh r0, [r1] - lsls r3, r3, #2 - adds r2, r4, r3 - adds r0, r4, #0 - adds r0, #0xc4 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x84 - strh r1, [r0] - adds r0, r4, #0 - adds r0, #0xc6 - ldrh r0, [r0] - adds r0, #0x10 - adds r2, #0x86 - strh r0, [r2] - ldr r6, _0802929C @ =0x0200B0C0 - ldr r0, [r6, #0x44] - adds r3, r3, r0 - adds r3, #0xb4 - ldr r1, [r3] - movs r0, #1 - strh r0, [r1] + ldr r6, _08029294 @ =0x020314E0 + ldr r4, [r6] + ldr r1, _08029298 @ =0x000005A4 + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, #2 + beq _08029228 + movs r0, #0x17 + ldrsb r0, [r4, r0] + cmp r0, #3 + bgt _08029228 + mov r2, r8 + asrs r3, r2, #0x10 + lsls r0, r3, #1 + adds r1, r4, #0 + adds r1, #0x74 + adds r1, r1, r0 + ldrh r0, [r1] + cmp r0, #0 + bne _0802923A + movs r0, #0x28 + strh r0, [r1] + lsls r3, r3, #2 + adds r2, r4, r3 + adds r0, r4, #0 + adds r0, #0xc4 + ldrh r1, [r0] + adds r0, r2, #0 + adds r0, #0x84 + strh r1, [r0] + adds r0, r4, #0 + adds r0, #0xc6 + ldrh r0, [r0] + adds r0, #0x10 + adds r2, #0x86 + strh r0, [r2] + ldr r6, _0802929C @ =0x0200B0C0 + ldr r0, [r6, #0x44] + adds r3, r3, r0 + adds r3, #0xb4 + ldr r1, [r3] + movs r0, #1 + strh r0, [r1] _08029228: - ldr r1, _08029294 @ =0x020314E0 - ldr r0, [r1] - mov r2, r8 - asrs r1, r2, #0xf - adds r0, #0x74 - adds r0, r0, r1 - ldrh r0, [r0] - cmp r0, #0 - beq _08029264 + ldr r1, _08029294 @ =0x020314E0 + ldr r0, [r1] + mov r2, r8 + asrs r1, r2, #0xf + adds r0, #0x74 + adds r0, r0, r1 + ldrh r0, [r0] + cmp r0, #0 + beq _08029264 _0802923A: - ldr r6, _08029294 @ =0x020314E0 - ldr r0, [r6] - mov r1, r8 - asrs r3, r1, #0x10 - lsls r1, r3, #1 - adds r0, #0x74 - adds r0, r0, r1 - ldrh r1, [r0] - subs r1, #1 - strh r1, [r0] - lsls r1, r1, #0x10 - lsrs r2, r1, #0x10 - cmp r2, #0 - bne _08029264 - ldr r6, _0802929C @ =0x0200B0C0 - ldr r0, [r6, #0x44] - lsls r1, r3, #2 - adds r1, r1, r0 - adds r1, #0xb4 - ldr r0, [r1] - strh r2, [r0] + ldr r6, _08029294 @ =0x020314E0 + ldr r0, [r6] + mov r1, r8 + asrs r3, r1, #0x10 + lsls r1, r3, #1 + adds r0, #0x74 + adds r0, r0, r1 + ldrh r1, [r0] + subs r1, #1 + strh r1, [r0] + lsls r1, r1, #0x10 + lsrs r2, r1, #0x10 + cmp r2, #0 + bne _08029264 + ldr r6, _0802929C @ =0x0200B0C0 + ldr r0, [r6, #0x44] + lsls r1, r3, #2 + adds r1, r1, r0 + adds r1, #0xb4 + ldr r0, [r1] + strh r2, [r0] _08029264: - movs r0, #0x80 - lsls r0, r0, #9 - add r0, r8 - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #3 - bgt _08029274 - b _080290C6 + movs r0, #0x80 + lsls r0, r0, #9 + add r0, r8 + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #3 + bgt _08029274 + b _080290C6 _08029274: - 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 + 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 _08029284: .4byte 0x086B263C _08029288: .4byte 0xFFFFFE00 _0802928C: .4byte 0x03005000 @@ -81261,434 +81261,434 @@ _08029294: .4byte 0x020314E0 _08029298: .4byte 0x000005A4 _0802929C: .4byte 0x0200B0C0 - thumb_func_start sub_292A0 + thumb_func_start sub_292A0 sub_292A0: @ 0x080292A0 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r0, _08029328 @ =0x0200B0C0 - ldr r1, [r0, #0x44] - adds r1, #0x84 - ldr r5, [r1] - ldrh r1, [r5] - mov r8, r0 - cmp r1, #0 - beq _080292F0 - movs r0, #0 - ldr r6, _0802932C @ =0x03005000 - ldr r1, _08029330 @ =0xFFFFFE00 - mov ip, r1 - movs r7, #0xc8 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r0, _08029328 @ =0x0200B0C0 + ldr r1, [r0, #0x44] + adds r1, #0x84 + ldr r5, [r1] + ldrh r1, [r5] + mov r8, r0 + cmp r1, #0 + beq _080292F0 + movs r0, #0 + ldr r6, _0802932C @ =0x03005000 + ldr r1, _08029330 @ =0xFFFFFE00 + mov ip, r1 + movs r7, #0xc8 _080292C0: - lsls r2, r0, #0x10 - asrs r2, r2, #0x10 - lsls r4, r2, #3 - adds r4, #8 - adds r4, r5, r4 - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldrh r3, [r1, #2] - mov r0, ip - ands r0, r3 - orrs r0, r7 - strh r0, [r1, #2] - ldrh r0, [r4] - lsls r0, r0, #3 - adds r0, r0, r6 - movs r1, #0xb4 - strb r1, [r0] - adds r2, #1 - lsls r2, r2, #0x10 - lsrs r0, r2, #0x10 - asrs r2, r2, #0x10 - cmp r2, #3 - ble _080292C0 + lsls r2, r0, #0x10 + asrs r2, r2, #0x10 + lsls r4, r2, #3 + adds r4, #8 + adds r4, r5, r4 + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldrh r3, [r1, #2] + mov r0, ip + ands r0, r3 + orrs r0, r7 + strh r0, [r1, #2] + ldrh r0, [r4] + lsls r0, r0, #3 + adds r0, r0, r6 + movs r1, #0xb4 + strb r1, [r0] + adds r2, #1 + lsls r2, r2, #0x10 + lsrs r0, r2, #0x10 + asrs r2, r2, #0x10 + cmp r2, #3 + ble _080292C0 _080292F0: - mov r1, r8 - ldr r0, [r1, #0x44] - adds r0, #0x84 - ldr r1, [r0] - movs r0, #0 - strh r0, [r1] - mov r4, r8 - movs r3, #0 + mov r1, r8 + ldr r0, [r1, #0x44] + adds r0, #0x84 + ldr r1, [r0] + movs r0, #0 + strh r0, [r1] + mov r4, r8 + movs r3, #0 _08029300: - lsls r1, r0, #0x10 - asrs r1, r1, #0x10 - ldr r2, [r4, #0x44] - lsls r0, r1, #2 - adds r0, r0, r2 - adds r0, #0xb4 - ldr r0, [r0] - strh r3, [r0] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #3 - ble _08029300 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + lsls r1, r0, #0x10 + asrs r1, r1, #0x10 + ldr r2, [r4, #0x44] + lsls r0, r1, #2 + adds r0, r0, r2 + adds r0, #0xb4 + ldr r0, [r0] + strh r3, [r0] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #3 + ble _08029300 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08029328: .4byte 0x0200B0C0 _0802932C: .4byte 0x03005000 _08029330: .4byte 0xFFFFFE00 - thumb_func_start sub_29334 + thumb_func_start sub_29334 sub_29334: @ 0x08029334 - push {r4, r5, lr} - ldr r0, _08029384 @ =0x020314E0 - ldr r2, [r0] - adds r1, r2, #0 - adds r1, #0x68 - movs r3, #0 - ldrsh r1, [r1, r3] - adds r4, r0, #0 - cmp r1, #0x8a - ble _080293A6 - ldr r5, _08029388 @ =0x000006C5 - adds r3, r2, r5 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - bne _08029398 - ldr r0, _0802938C @ =0x00000625 - adds r1, r2, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - ble _08029398 - adds r5, #1 - adds r0, r2, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #6 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - cmp r0, r1 - bne _08029394 - movs r0, #2 - strb r0, [r3] - ldr r1, [r4] - ldr r0, _08029390 @ =0x000493E0 - str r0, [r1, #0x3c] - b _08029398 - .align 2, 0 + push {r4, r5, lr} + ldr r0, _08029384 @ =0x020314E0 + ldr r2, [r0] + adds r1, r2, #0 + adds r1, #0x68 + movs r3, #0 + ldrsh r1, [r1, r3] + adds r4, r0, #0 + cmp r1, #0x8a + ble _080293A6 + ldr r5, _08029388 @ =0x000006C5 + adds r3, r2, r5 + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #0 + bne _08029398 + ldr r0, _0802938C @ =0x00000625 + adds r1, r2, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + ble _08029398 + adds r5, #1 + adds r0, r2, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #6 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + cmp r0, r1 + bne _08029394 + movs r0, #2 + strb r0, [r3] + ldr r1, [r4] + ldr r0, _08029390 @ =0x000493E0 + str r0, [r1, #0x3c] + b _08029398 + .align 2, 0 _08029384: .4byte 0x020314E0 _08029388: .4byte 0x000006C5 _0802938C: .4byte 0x00000625 _08029390: .4byte 0x000493E0 _08029394: - movs r0, #1 - strb r0, [r3] + movs r0, #1 + strb r0, [r3] _08029398: - ldr r0, [r4] - ldr r2, _080293BC @ =0x00000625 - adds r1, r0, r2 - ldrb r1, [r1] - ldr r3, _080293C0 @ =0x000006C6 - adds r0, r0, r3 - strb r1, [r0] + ldr r0, [r4] + ldr r2, _080293BC @ =0x00000625 + adds r1, r0, r2 + ldrb r1, [r1] + ldr r3, _080293C0 @ =0x000006C6 + adds r0, r0, r3 + strb r1, [r0] _080293A6: - ldr r0, [r4] - ldr r5, _080293C4 @ =0x000006C5 - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _080293C8 - bl sub_25808 - b _080293D0 - .align 2, 0 + ldr r0, [r4] + ldr r5, _080293C4 @ =0x000006C5 + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _080293C8 + bl sub_25808 + b _080293D0 + .align 2, 0 _080293BC: .4byte 0x00000625 _080293C0: .4byte 0x000006C6 _080293C4: .4byte 0x000006C5 _080293C8: - cmp r0, #1 - bne _080293D0 - bl sub_253E0 + cmp r0, #1 + bne _080293D0 + bl sub_253E0 _080293D0: - pop {r4, r5} - pop {r0} - bx r0 + pop {r4, r5} + pop {r0} + bx r0 - thumb_func_start sub_293D8 + thumb_func_start sub_293D8 sub_293D8: @ 0x080293D8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r1, _0802940C @ =0x086AD436 - ldr r3, _08029410 @ =0x020314E0 - ldr r2, [r3] - ldr r0, _08029414 @ =0x000006CC - adds r4, r2, r0 - movs r0, #0 - ldrsb r0, [r4, r0] - lsls r0, r0, #2 - adds r1, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - ldr r1, _08029418 @ =0x000006CA - adds r2, r2, r1 - ldrh r1, [r2] - cmp r0, r1 - ble _0802941C - adds r0, r1, #1 - strh r0, [r2] - b _08029426 - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r1, _0802940C @ =0x086AD436 + ldr r3, _08029410 @ =0x020314E0 + ldr r2, [r3] + ldr r0, _08029414 @ =0x000006CC + adds r4, r2, r0 + movs r0, #0 + ldrsb r0, [r4, r0] + lsls r0, r0, #2 + adds r1, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + ldr r1, _08029418 @ =0x000006CA + adds r2, r2, r1 + ldrh r1, [r2] + cmp r0, r1 + ble _0802941C + adds r0, r1, #1 + strh r0, [r2] + b _08029426 + .align 2, 0 _0802940C: .4byte 0x086AD436 _08029410: .4byte 0x020314E0 _08029414: .4byte 0x000006CC _08029418: .4byte 0x000006CA _0802941C: - movs r0, #0 - strh r0, [r2] - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] + movs r0, #0 + strh r0, [r2] + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] _08029426: - ldr r2, _080295E4 @ =0x020314E0 - ldr r1, [r2] - ldr r4, _080295E8 @ =0x000006CC - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08029456 - ldr r2, _080295EC @ =0x000006CA - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #3 - bls _08029456 - subs r4, #8 - adds r1, r1, r4 - movs r0, #3 - strb r0, [r1] - ldr r0, _080295F0 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0x84 - ldr r1, [r0] - movs r0, #1 - strh r0, [r1] + ldr r2, _080295E4 @ =0x020314E0 + ldr r1, [r2] + ldr r4, _080295E8 @ =0x000006CC + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _08029456 + ldr r2, _080295EC @ =0x000006CA + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #3 + bls _08029456 + subs r4, #8 + adds r1, r1, r4 + movs r0, #3 + strb r0, [r1] + ldr r0, _080295F0 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0x84 + ldr r1, [r0] + movs r0, #1 + strh r0, [r1] _08029456: - ldr r4, _080295E4 @ =0x020314E0 - ldr r0, [r4] - ldr r5, _080295E8 @ =0x000006CC - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - ble _0802948A - ldr r1, _080295F4 @ =0x040000D4 - ldr r0, _080295F8 @ =0x020306D0 - str r0, [r1] - ldr r0, _080295FC @ =0x050003A0 - str r0, [r1, #4] - ldr r0, _08029600 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08029604 @ =0x02030760 - str r0, [r1] - ldr r0, _08029608 @ =0x06010CA0 - str r0, [r1, #4] - ldr r0, _0802960C @ =0x80000240 - str r0, [r1, #8] - ldr r0, [r1, #8] - bl sub_28C90 + ldr r4, _080295E4 @ =0x020314E0 + ldr r0, [r4] + ldr r5, _080295E8 @ =0x000006CC + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + ble _0802948A + ldr r1, _080295F4 @ =0x040000D4 + ldr r0, _080295F8 @ =0x020306D0 + str r0, [r1] + ldr r0, _080295FC @ =0x050003A0 + str r0, [r1, #4] + ldr r0, _08029600 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08029604 @ =0x02030760 + str r0, [r1] + ldr r0, _08029608 @ =0x06010CA0 + str r0, [r1, #4] + ldr r0, _0802960C @ =0x80000240 + str r0, [r1, #8] + ldr r0, [r1, #8] + bl sub_28C90 _0802948A: - ldr r0, _080295F0 @ =0x0200B0C0 - ldr r1, [r0, #0x44] - ldr r7, [r1, #0x48] - ldrh r1, [r7] - cmp r1, #0 - bne _08029498 - b _080295A0 + ldr r0, _080295F0 @ =0x0200B0C0 + ldr r1, [r0, #0x44] + ldr r7, [r1, #0x48] + ldrh r1, [r7] + cmp r1, #0 + bne _08029498 + b _080295A0 _08029498: - ldr r0, _080295E4 @ =0x020314E0 - ldr r1, [r0] - adds r0, r1, #0 - adds r0, #0x58 - ldrh r2, [r0] - movs r0, #0x60 - subs r0, r0, r2 - strh r0, [r7, #2] - adds r1, #0x5a - ldrh r1, [r1] - movs r2, #0x94 - lsls r2, r2, #1 - adds r0, r2, #0 - subs r0, r0, r1 - strh r0, [r7, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc7 - ble _080294C2 - movs r0, #0xc8 - strh r0, [r7, #4] + ldr r0, _080295E4 @ =0x020314E0 + ldr r1, [r0] + adds r0, r1, #0 + adds r0, #0x58 + ldrh r2, [r0] + movs r0, #0x60 + subs r0, r0, r2 + strh r0, [r7, #2] + adds r1, #0x5a + ldrh r1, [r1] + movs r2, #0x94 + lsls r2, r2, #1 + adds r0, r2, #0 + subs r0, r0, r1 + strh r0, [r7, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xc7 + ble _080294C2 + movs r0, #0xc8 + strh r0, [r7, #4] _080294C2: - movs r0, #0 - ldr r4, _08029610 @ =0x086B55DC - mov sl, r4 - ldr r1, _08029614 @ =0x086AD436 - mov sb, r1 - ldr r2, _080295E4 @ =0x020314E0 - mov r8, r2 - mov ip, r5 + movs r0, #0 + ldr r4, _08029610 @ =0x086B55DC + mov sl, r4 + ldr r1, _08029614 @ =0x086AD436 + mov sb, r1 + ldr r2, _080295E4 @ =0x020314E0 + mov r8, r2 + mov ip, r5 _080294D2: - lsls r5, r0, #0x10 - asrs r5, r5, #0x10 - lsls r6, r5, #3 - adds r6, #8 - adds r6, r7, r6 - ldrh r4, [r6] - lsls r4, r4, #3 - ldr r0, _08029618 @ =0x03005000 - adds r4, r4, r0 - lsls r3, r5, #1 - adds r3, r3, r5 - lsls r1, r3, #1 - str r1, [sp] - mov r2, r8 - ldr r0, [r2] - add r0, ip - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - add r0, sb - movs r2, #0 - ldrsh r1, [r0, r2] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, [sp] - adds r2, r1, r0 - add r2, sl - ldrh r0, [r2] - strh r0, [r4] - adds r4, #2 - adds r2, r3, #1 - lsls r2, r2, #1 - str r2, [sp] - mov r2, r8 - ldr r0, [r2] - add r0, ip - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - add r0, sb - movs r2, #0 - ldrsh r1, [r0, r2] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, [sp] - adds r2, r1, r0 - add r2, sl - ldrh r0, [r2] - strh r0, [r4] - adds r3, #2 - lsls r3, r3, #1 - mov r2, r8 - ldr r0, [r2] - add r0, ip - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - add r0, sb - movs r2, #0 - ldrsh r1, [r0, r2] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r3, r3, r0 - add r3, sl - ldrh r0, [r3] - strh r0, [r4, #2] - ldrh r2, [r6] - lsls r2, r2, #3 - ldr r4, _08029618 @ =0x03005000 - adds r2, r2, r4 - 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, _0802961C @ =0x000001FF - adds r0, r4, #0 - ands r1, r0 - ldr r0, _08029620 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r6] - lsls r1, r1, #3 - ldr r0, _08029618 @ =0x03005000 - adds r1, r1, r0 - ldrb r0, [r7, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - adds r5, #1 - lsls r5, r5, #0x10 - lsrs r0, r5, #0x10 - asrs r5, r5, #0x10 - cmp r5, #5 - ble _080294D2 + lsls r5, r0, #0x10 + asrs r5, r5, #0x10 + lsls r6, r5, #3 + adds r6, #8 + adds r6, r7, r6 + ldrh r4, [r6] + lsls r4, r4, #3 + ldr r0, _08029618 @ =0x03005000 + adds r4, r4, r0 + lsls r3, r5, #1 + adds r3, r3, r5 + lsls r1, r3, #1 + str r1, [sp] + mov r2, r8 + ldr r0, [r2] + add r0, ip + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + add r0, sb + movs r2, #0 + ldrsh r1, [r0, r2] + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #2 + ldr r1, [sp] + adds r2, r1, r0 + add r2, sl + ldrh r0, [r2] + strh r0, [r4] + adds r4, #2 + adds r2, r3, #1 + lsls r2, r2, #1 + str r2, [sp] + mov r2, r8 + ldr r0, [r2] + add r0, ip + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + add r0, sb + movs r2, #0 + ldrsh r1, [r0, r2] + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #2 + ldr r1, [sp] + adds r2, r1, r0 + add r2, sl + ldrh r0, [r2] + strh r0, [r4] + adds r3, #2 + lsls r3, r3, #1 + mov r2, r8 + ldr r0, [r2] + add r0, ip + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + add r0, sb + movs r2, #0 + ldrsh r1, [r0, r2] + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #2 + adds r3, r3, r0 + add r3, sl + ldrh r0, [r3] + strh r0, [r4, #2] + ldrh r2, [r6] + lsls r2, r2, #3 + ldr r4, _08029618 @ =0x03005000 + adds r2, r2, r4 + 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, _0802961C @ =0x000001FF + adds r0, r4, #0 + ands r1, r0 + ldr r0, _08029620 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r6] + lsls r1, r1, #3 + ldr r0, _08029618 @ =0x03005000 + adds r1, r1, r0 + ldrb r0, [r7, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + adds r5, #1 + lsls r5, r5, #0x10 + lsrs r0, r5, #0x10 + asrs r5, r5, #0x10 + cmp r5, #5 + ble _080294D2 _080295A0: - ldr r4, _080295F0 @ =0x0200B0C0 - ldr r0, [r4, #0x44] - ldr r1, [r0, #0x48] - movs r0, #1 - strh r0, [r1] - ldr r0, _080295E4 @ =0x020314E0 - ldr r1, [r0] - ldr r2, _080295E8 @ =0x000006CC - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #6 - ble _080295D4 - ldrb r0, [r1, #0x17] - adds r0, #1 - strb r0, [r1, #0x17] - ldr r0, [r4, #0x44] - ldr r1, [r0, #0x48] - movs r0, #0 - strh r0, [r1] - ldr r4, _080295E4 @ =0x020314E0 - ldr r0, [r4] - adds r0, #0xe4 - movs r1, #0 - strb r1, [r0] + ldr r4, _080295F0 @ =0x0200B0C0 + ldr r0, [r4, #0x44] + ldr r1, [r0, #0x48] + movs r0, #1 + strh r0, [r1] + ldr r0, _080295E4 @ =0x020314E0 + ldr r1, [r0] + ldr r2, _080295E8 @ =0x000006CC + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #6 + ble _080295D4 + ldrb r0, [r1, #0x17] + adds r0, #1 + strb r0, [r1, #0x17] + ldr r0, [r4, #0x44] + ldr r1, [r0, #0x48] + movs r0, #0 + strh r0, [r1] + ldr r4, _080295E4 @ =0x020314E0 + ldr r0, [r4] + adds r0, #0xe4 + movs r1, #0 + strb r1, [r0] _080295D4: - 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 + 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 _080295E4: .4byte 0x020314E0 _080295E8: .4byte 0x000006CC _080295EC: .4byte 0x000006CA @@ -81706,115 +81706,115 @@ _08029618: .4byte 0x03005000 _0802961C: .4byte 0x000001FF _08029620: .4byte 0xFFFFFE00 - thumb_func_start sub_29624 + thumb_func_start sub_29624 sub_29624: @ 0x08029624 - push {r4, r5, lr} - ldr r0, _08029658 @ =0x020314E0 - ldr r1, [r0] - ldr r2, _0802965C @ =0x000006CC - adds r1, r1, r2 - movs r2, #0 - strb r2, [r1] - adds r5, r0, #0 - ldr r4, _08029660 @ =0x000006D3 - movs r3, #0xd + push {r4, r5, lr} + ldr r0, _08029658 @ =0x020314E0 + ldr r1, [r0] + ldr r2, _0802965C @ =0x000006CC + adds r1, r1, r2 + movs r2, #0 + strb r2, [r1] + adds r5, r0, #0 + ldr r4, _08029660 @ =0x000006D3 + movs r3, #0xd _08029638: - 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, #5 - ble _08029638 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + 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, #5 + ble _08029638 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08029658: .4byte 0x020314E0 _0802965C: .4byte 0x000006CC _08029660: .4byte 0x000006D3 - thumb_func_start sub_29664 + thumb_func_start sub_29664 sub_29664: @ 0x08029664 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - movs r0, #0 - ldr r7, _08029700 @ =0x020314E0 - mov r8, r0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + movs r0, #0 + ldr r7, _08029700 @ =0x020314E0 + mov r8, r0 _08029670: - ldr r1, [r7] - lsls r5, r0, #0x10 - asrs r5, r5, #0x10 - lsls r6, r5, #2 - adds r1, r1, r6 - movs r2, #0xb8 - lsls r2, r2, #3 - adds r0, r1, r2 - mov r2, r8 - strh r2, [r0] - ldr r0, _08029704 @ =0x000005C2 - adds r1, r1, r0 - strh r2, [r1] - bl sub_C00 - ldr r4, [r7] - adds r4, r4, r6 - movs r1, #0xc8 - lsls r1, r1, #1 - bl __umodsi3 - movs r1, #0xc8 - subs r1, r1, r0 - movs r2, #0xbb - lsls r2, r2, #3 - adds r4, r4, r2 - strh r1, [r4] - bl sub_C00 - ldr r4, [r7] - adds r4, r4, r6 - ldr r1, _08029708 @ =0x00000226 - bl __umodsi3 - movs r1, #0x50 - subs r1, r1, r0 - ldr r0, _0802970C @ =0x000005DA - adds r4, r4, r0 - strh r1, [r4] - bl sub_C00 - ldr r4, [r7] - ldr r1, _08029710 @ =0x000005B9 - adds r4, r4, r1 - adds r4, r4, r5 - movs r1, #0xf - bl __umodsi3 - adds r0, #0xa - strb r0, [r4] - adds r5, #1 - lsls r5, r5, #0x10 - lsrs r0, r5, #0x10 - asrs r5, r5, #0x10 - cmp r5, #5 - ble _08029670 - ldr r0, _08029700 @ =0x020314E0 - ldr r0, [r0] - ldr r2, _08029714 @ =0x00000606 - adds r0, r0, r2 - movs r1, #0 - strh r1, [r0] - ldr r0, _08029718 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r1, [r0, #0x30] - movs r0, #1 - strh r0, [r1] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + ldr r1, [r7] + lsls r5, r0, #0x10 + asrs r5, r5, #0x10 + lsls r6, r5, #2 + adds r1, r1, r6 + movs r2, #0xb8 + lsls r2, r2, #3 + adds r0, r1, r2 + mov r2, r8 + strh r2, [r0] + ldr r0, _08029704 @ =0x000005C2 + adds r1, r1, r0 + strh r2, [r1] + bl sub_C00 + ldr r4, [r7] + adds r4, r4, r6 + movs r1, #0xc8 + lsls r1, r1, #1 + bl __umodsi3 + movs r1, #0xc8 + subs r1, r1, r0 + movs r2, #0xbb + lsls r2, r2, #3 + adds r4, r4, r2 + strh r1, [r4] + bl sub_C00 + ldr r4, [r7] + adds r4, r4, r6 + ldr r1, _08029708 @ =0x00000226 + bl __umodsi3 + movs r1, #0x50 + subs r1, r1, r0 + ldr r0, _0802970C @ =0x000005DA + adds r4, r4, r0 + strh r1, [r4] + bl sub_C00 + ldr r4, [r7] + ldr r1, _08029710 @ =0x000005B9 + adds r4, r4, r1 + adds r4, r4, r5 + movs r1, #0xf + bl __umodsi3 + adds r0, #0xa + strb r0, [r4] + adds r5, #1 + lsls r5, r5, #0x10 + lsrs r0, r5, #0x10 + asrs r5, r5, #0x10 + cmp r5, #5 + ble _08029670 + ldr r0, _08029700 @ =0x020314E0 + ldr r0, [r0] + ldr r2, _08029714 @ =0x00000606 + adds r0, r0, r2 + movs r1, #0 + strh r1, [r0] + ldr r0, _08029718 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r1, [r0, #0x30] + movs r0, #1 + strh r0, [r1] + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08029700: .4byte 0x020314E0 _08029704: .4byte 0x000005C2 _08029708: .4byte 0x00000226 @@ -81823,215 +81823,215 @@ _08029710: .4byte 0x000005B9 _08029714: .4byte 0x00000606 _08029718: .4byte 0x0200B0C0 - thumb_func_start sub_2971C + thumb_func_start sub_2971C sub_2971C: @ 0x0802971C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r0, _080298B8 @ =0x0200B0C0 - ldr r1, [r0, #0x44] - ldr r1, [r1, #0x30] - str r1, [sp] - ldrh r1, [r1] - cmp r1, #0 - bne _08029738 - b _080298A2 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r0, _080298B8 @ =0x0200B0C0 + ldr r1, [r0, #0x44] + ldr r1, [r1, #0x30] + str r1, [sp] + ldrh r1, [r1] + cmp r1, #0 + bne _08029738 + b _080298A2 _08029738: - movs r3, #0 + movs r3, #0 _0802973A: - ldr r0, _080298BC @ =0x020314E0 - ldr r2, [r0] - ldr r1, _080298C0 @ =0x00000606 - adds r0, r2, r1 - ldrh r1, [r0] - lsrs r1, r1, #2 - lsls r1, r1, #1 - lsls r0, r3, #0x10 - asrs r0, r0, #0x10 - mov sb, r0 - lsls r0, r0, #1 - add r0, sb - lsls r0, r0, #3 - adds r1, r1, r0 - ldr r3, _080298C4 @ =0x086AE1A4 - adds r1, r1, r3 - ldrh r1, [r1] - mov sl, r1 - mov r6, sb - lsls r5, r6, #2 - adds r3, r2, r5 - ldr r0, _080298C8 @ =0x000005DA - adds r4, r3, r0 - ldr r1, _080298CC @ =0x000005B9 - adds r2, r2, r1 - add r2, sb - movs r0, #0 - ldrsb r0, [r2, r0] - ldrh r2, [r4] - adds r0, r0, r2 - strh r0, [r4] - ldr r6, _080298D0 @ =0x000005C2 - adds r2, r3, r6 - movs r0, #0 - ldrsh r1, [r2, r0] - ldr r0, _080298D4 @ =0x000036AF - cmp r1, r0 - bgt _0802979E - subs r6, #2 - adds r1, r3, r6 - adds r6, #0x18 - adds r0, r3, r6 - ldrh r0, [r0] - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - ldrh r0, [r4] - ldrh r6, [r2] - adds r0, r0, r6 - strh r0, [r2] + ldr r0, _080298BC @ =0x020314E0 + ldr r2, [r0] + ldr r1, _080298C0 @ =0x00000606 + adds r0, r2, r1 + ldrh r1, [r0] + lsrs r1, r1, #2 + lsls r1, r1, #1 + lsls r0, r3, #0x10 + asrs r0, r0, #0x10 + mov sb, r0 + lsls r0, r0, #1 + add r0, sb + lsls r0, r0, #3 + adds r1, r1, r0 + ldr r3, _080298C4 @ =0x086AE1A4 + adds r1, r1, r3 + ldrh r1, [r1] + mov sl, r1 + mov r6, sb + lsls r5, r6, #2 + adds r3, r2, r5 + ldr r0, _080298C8 @ =0x000005DA + adds r4, r3, r0 + ldr r1, _080298CC @ =0x000005B9 + adds r2, r2, r1 + add r2, sb + movs r0, #0 + ldrsb r0, [r2, r0] + ldrh r2, [r4] + adds r0, r0, r2 + strh r0, [r4] + ldr r6, _080298D0 @ =0x000005C2 + adds r2, r3, r6 + movs r0, #0 + ldrsh r1, [r2, r0] + ldr r0, _080298D4 @ =0x000036AF + cmp r1, r0 + bgt _0802979E + subs r6, #2 + adds r1, r3, r6 + adds r6, #0x18 + adds r0, r3, r6 + ldrh r0, [r0] + ldrh r3, [r1] + adds r0, r0, r3 + strh r0, [r1] + ldrh r0, [r4] + ldrh r6, [r2] + adds r0, r0, r6 + strh r0, [r2] _0802979E: - ldr r0, _080298BC @ =0x020314E0 - ldr r6, [r0] - movs r1, #0xd9 - lsls r1, r1, #3 - adds r0, r6, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov r8, r0 - movs r1, #3 - bl __modsi3 - adds r4, r0, #0 - lsls r4, r4, #0x18 - asrs r4, r4, #0x14 - adds r0, r6, #0 - adds r0, #0x58 - ldrh r0, [r0] - subs r0, #0x60 - subs r4, r4, r0 - adds r5, r6, r5 - movs r2, #0xb8 - lsls r2, r2, #3 - adds r0, r5, r2 - movs r3, #0 - ldrsh r0, [r0, r3] - movs r1, #0x64 - bl __divsi3 - adds r4, r4, r0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - ldr r0, _080298D8 @ =0xFFFF0000 - ands r7, r0 - orrs r7, r4 - mov r0, r8 - movs r1, #3 - bl __divsi3 - adds r4, r0, #0 - lsls r4, r4, #0x18 - asrs r4, r4, #0x14 - adds r6, #0x5a - ldr r1, _080298DC @ =0xFFFFFED4 - adds r0, r1, #0 - ldrh r6, [r6] - adds r0, r0, r6 - subs r4, r4, r0 - ldr r2, _080298D0 @ =0x000005C2 - adds r5, r5, r2 - movs r3, #0 - ldrsh r0, [r5, r3] - movs r1, #0x64 - bl __divsi3 - adds r4, r4, r0 - lsls r4, r4, #0x10 - ldr r0, _080298E0 @ =0x0000FFFF - ands r7, r0 - orrs r7, r4 - asrs r4, r4, #0x10 - cmp r4, #0xc7 - ble _08029824 - ands r7, r0 - movs r0, #0xc8 - lsls r0, r0, #0x10 - orrs r7, r0 + ldr r0, _080298BC @ =0x020314E0 + ldr r6, [r0] + movs r1, #0xd9 + lsls r1, r1, #3 + adds r0, r6, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov r8, r0 + movs r1, #3 + bl __modsi3 + adds r4, r0, #0 + lsls r4, r4, #0x18 + asrs r4, r4, #0x14 + adds r0, r6, #0 + adds r0, #0x58 + ldrh r0, [r0] + subs r0, #0x60 + subs r4, r4, r0 + adds r5, r6, r5 + movs r2, #0xb8 + lsls r2, r2, #3 + adds r0, r5, r2 + movs r3, #0 + ldrsh r0, [r0, r3] + movs r1, #0x64 + bl __divsi3 + adds r4, r4, r0 + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + ldr r0, _080298D8 @ =0xFFFF0000 + ands r7, r0 + orrs r7, r4 + mov r0, r8 + movs r1, #3 + bl __divsi3 + adds r4, r0, #0 + lsls r4, r4, #0x18 + asrs r4, r4, #0x14 + adds r6, #0x5a + ldr r1, _080298DC @ =0xFFFFFED4 + adds r0, r1, #0 + ldrh r6, [r6] + adds r0, r0, r6 + subs r4, r4, r0 + ldr r2, _080298D0 @ =0x000005C2 + adds r5, r5, r2 + movs r3, #0 + ldrsh r0, [r5, r3] + movs r1, #0x64 + bl __divsi3 + adds r4, r4, r0 + lsls r4, r4, #0x10 + ldr r0, _080298E0 @ =0x0000FFFF + ands r7, r0 + orrs r7, r4 + asrs r4, r4, #0x10 + cmp r4, #0xc7 + ble _08029824 + ands r7, r0 + movs r0, #0xc8 + lsls r0, r0, #0x10 + orrs r7, r0 _08029824: - mov r5, sb - lsls r4, r5, #3 - adds r4, #8 - ldr r6, [sp] - adds r4, r6, r4 - ldrh r2, [r4] - lsls r2, r2, #3 - ldr r0, _080298E4 @ =0x03005000 - adds r2, r2, r0 - mov r1, sl - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #1 - ldr r3, _080298E8 @ =0x086B53B4 - adds r0, r1, r3 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r3, #0 - adds r0, #2 - adds r0, r1, r0 - ldrh r0, [r0] - strh r0, [r2] - ldr r5, _080298EC @ =0x086B53B8 - adds r1, r1, r5 - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r3, [r4] - lsls r3, r3, #3 - ldr r6, _080298E4 @ =0x03005000 - adds r3, r3, r6 - ldrh r2, [r3, #2] - lsls r1, r2, #0x17 - lsrs r1, r1, #0x17 - lsls r0, r7, #0x10 - asrs r0, r0, #0x10 - adds r1, r1, r0 - ldr r5, _080298F0 @ =0x000001FF - adds r0, r5, #0 - ands r1, r0 - ldr r6, _080298F4 @ =0xFFFFFE00 - adds r0, r6, #0 - ands r2, r0 - orrs r2, r1 - strh r2, [r3, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - ldr r0, _080298E4 @ =0x03005000 - adds r1, r1, r0 - asrs r0, r7, #0x10 - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - mov r0, sb - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #5 - bgt _080298A2 - b _0802973A + mov r5, sb + lsls r4, r5, #3 + adds r4, #8 + ldr r6, [sp] + adds r4, r6, r4 + ldrh r2, [r4] + lsls r2, r2, #3 + ldr r0, _080298E4 @ =0x03005000 + adds r2, r2, r0 + mov r1, sl + lsls r0, r1, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #1 + adds r1, r1, r0 + lsls r1, r1, #1 + ldr r3, _080298E8 @ =0x086B53B4 + adds r0, r1, r3 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r3, #0 + adds r0, #2 + adds r0, r1, r0 + ldrh r0, [r0] + strh r0, [r2] + ldr r5, _080298EC @ =0x086B53B8 + adds r1, r1, r5 + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r3, [r4] + lsls r3, r3, #3 + ldr r6, _080298E4 @ =0x03005000 + adds r3, r3, r6 + ldrh r2, [r3, #2] + lsls r1, r2, #0x17 + lsrs r1, r1, #0x17 + lsls r0, r7, #0x10 + asrs r0, r0, #0x10 + adds r1, r1, r0 + ldr r5, _080298F0 @ =0x000001FF + adds r0, r5, #0 + ands r1, r0 + ldr r6, _080298F4 @ =0xFFFFFE00 + adds r0, r6, #0 + ands r2, r0 + orrs r2, r1 + strh r2, [r3, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + ldr r0, _080298E4 @ =0x03005000 + adds r1, r1, r0 + asrs r0, r7, #0x10 + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + mov r0, sb + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #5 + bgt _080298A2 + b _0802973A _080298A2: - ldr r3, _080298BC @ =0x020314E0 - ldr r1, [r3] - ldr r5, _080298C0 @ =0x00000606 - adds r2, r1, r5 - ldrh r0, [r2] - cmp r0, #0x2f - bhi _080298F8 - adds r0, #1 - strh r0, [r2] - b _0802990C - .align 2, 0 + ldr r3, _080298BC @ =0x020314E0 + ldr r1, [r3] + ldr r5, _080298C0 @ =0x00000606 + adds r2, r1, r5 + ldrh r0, [r2] + cmp r0, #0x2f + bhi _080298F8 + adds r0, #1 + strh r0, [r2] + b _0802990C + .align 2, 0 _080298B8: .4byte 0x0200B0C0 _080298BC: .4byte 0x020314E0 _080298C0: .4byte 0x00000606 @@ -82049,162 +82049,162 @@ _080298EC: .4byte 0x086B53B8 _080298F0: .4byte 0x000001FF _080298F4: .4byte 0xFFFFFE00 _080298F8: - ldr r6, _0802991C @ =0x000006CA - adds r1, r1, r6 - movs r2, #0 - movs r0, #0xe2 - lsls r0, r0, #7 - strh r0, [r1] - ldr r1, _08029920 @ =0x0200B0C0 - ldr r0, [r1, #0x44] - ldr r0, [r0, #0x30] - strh r2, [r0] + ldr r6, _0802991C @ =0x000006CA + adds r1, r1, r6 + movs r2, #0 + movs r0, #0xe2 + lsls r0, r0, #7 + strh r0, [r1] + ldr r1, _08029920 @ =0x0200B0C0 + ldr r0, [r1, #0x44] + ldr r0, [r0, #0x30] + strh r2, [r0] _0802990C: - 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 + 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 _0802991C: .4byte 0x000006CA _08029920: .4byte 0x0200B0C0 - thumb_func_start sub_29924 + thumb_func_start sub_29924 sub_29924: @ 0x08029924 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - movs r0, #0 - ldr r7, _08029A34 @ =0x020314E0 - movs r1, #0x64 - mov sb, r1 - ldr r2, _08029A38 @ =0x086AE2F4 - mov sl, r2 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + movs r0, #0 + ldr r7, _08029A34 @ =0x020314E0 + movs r1, #0x64 + mov sb, r1 + ldr r2, _08029A38 @ =0x086AE2F4 + mov sl, r2 _0802993A: - ldr r4, [r7] - lsls r5, r0, #0x10 - asrs r5, r5, #0x10 - lsls r6, r5, #2 - adds r4, r4, r6 - adds r0, r5, #0 - movs r1, #3 - bl __modsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0xc - subs r0, #0x18 - mov r1, sb - muls r1, r0, r1 - movs r2, #0xb8 - lsls r2, r2, #3 - adds r0, r4, r2 - strh r1, [r0] - adds r0, r5, #0 - movs r1, #3 - bl __divsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0xc - subs r0, #0x1c - mov r1, sb - muls r1, r0, r1 - adds r0, r1, #0 - ldr r2, _08029A3C @ =0x000005C2 - adds r4, r4, r2 - strh r0, [r4] - bl sub_C00 - ldr r4, [r7] - adds r4, r4, r6 - adds r1, r6, #0 - add r1, sl - mov r8, r1 - movs r1, #0xc8 - bl __umodsi3 - subs r0, #0x3c - mov r2, r8 - ldrh r1, [r2] - subs r1, r1, r0 - movs r0, #0xbb - lsls r0, r0, #3 - adds r4, r4, r0 - strh r1, [r4] - bl sub_C00 - ldr r4, [r7] - adds r4, r4, r6 - ldr r1, _08029A40 @ =0x086AE2F6 - adds r6, r6, r1 - movs r1, #0xc8 - bl __umodsi3 - subs r0, #0x3c - ldrh r1, [r6] - subs r1, r1, r0 - ldr r2, _08029A44 @ =0x000005DA - adds r4, r4, r2 - strh r1, [r4] - bl sub_C00 - ldr r1, [r7] - ldr r2, _08029A48 @ =0x000005B9 - adds r1, r1, r2 - adds r1, r1, r5 - movs r2, #3 - ands r0, r2 - adds r0, #1 - strb r0, [r1] - adds r5, #1 - lsls r5, r5, #0x10 - lsrs r0, r5, #0x10 - asrs r5, r5, #0x10 - cmp r5, #5 - ble _0802993A - ldr r3, _08029A34 @ =0x020314E0 - ldr r1, [r3] - movs r0, #0xb8 - lsls r0, r0, #3 - adds r2, r1, r0 - movs r5, #0 - ldr r0, _08029A4C @ =0x0000EA20 - strh r0, [r2] - ldr r0, _08029A3C @ =0x000005C2 - adds r2, r1, r0 - ldr r0, _08029A50 @ =0x0000E890 - strh r0, [r2] - ldr r2, _08029A48 @ =0x000005B9 - adds r1, r1, r2 - movs r4, #3 - strb r4, [r1] - ldr r1, [r3] - movs r0, #0xba - lsls r0, r0, #3 - adds r2, r1, r0 - ldr r0, _08029A54 @ =0x0000F060 - strh r0, [r2] - ldr r0, _08029A58 @ =0x000005D2 - adds r2, r1, r0 - ldr r0, _08029A5C @ =0x0000EED0 - strh r0, [r2] - ldr r2, _08029A60 @ =0x000005BD - adds r1, r1, r2 - strb r4, [r1] - ldr r0, [r3] - ldr r1, _08029A64 @ =0x00000606 - adds r0, r0, r1 - strh r5, [r0] - ldr r0, _08029A68 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r1, [r0, #0x30] - movs 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 + ldr r4, [r7] + lsls r5, r0, #0x10 + asrs r5, r5, #0x10 + lsls r6, r5, #2 + adds r4, r4, r6 + adds r0, r5, #0 + movs r1, #3 + bl __modsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0xc + subs r0, #0x18 + mov r1, sb + muls r1, r0, r1 + movs r2, #0xb8 + lsls r2, r2, #3 + adds r0, r4, r2 + strh r1, [r0] + adds r0, r5, #0 + movs r1, #3 + bl __divsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0xc + subs r0, #0x1c + mov r1, sb + muls r1, r0, r1 + adds r0, r1, #0 + ldr r2, _08029A3C @ =0x000005C2 + adds r4, r4, r2 + strh r0, [r4] + bl sub_C00 + ldr r4, [r7] + adds r4, r4, r6 + adds r1, r6, #0 + add r1, sl + mov r8, r1 + movs r1, #0xc8 + bl __umodsi3 + subs r0, #0x3c + mov r2, r8 + ldrh r1, [r2] + subs r1, r1, r0 + movs r0, #0xbb + lsls r0, r0, #3 + adds r4, r4, r0 + strh r1, [r4] + bl sub_C00 + ldr r4, [r7] + adds r4, r4, r6 + ldr r1, _08029A40 @ =0x086AE2F6 + adds r6, r6, r1 + movs r1, #0xc8 + bl __umodsi3 + subs r0, #0x3c + ldrh r1, [r6] + subs r1, r1, r0 + ldr r2, _08029A44 @ =0x000005DA + adds r4, r4, r2 + strh r1, [r4] + bl sub_C00 + ldr r1, [r7] + ldr r2, _08029A48 @ =0x000005B9 + adds r1, r1, r2 + adds r1, r1, r5 + movs r2, #3 + ands r0, r2 + adds r0, #1 + strb r0, [r1] + adds r5, #1 + lsls r5, r5, #0x10 + lsrs r0, r5, #0x10 + asrs r5, r5, #0x10 + cmp r5, #5 + ble _0802993A + ldr r3, _08029A34 @ =0x020314E0 + ldr r1, [r3] + movs r0, #0xb8 + lsls r0, r0, #3 + adds r2, r1, r0 + movs r5, #0 + ldr r0, _08029A4C @ =0x0000EA20 + strh r0, [r2] + ldr r0, _08029A3C @ =0x000005C2 + adds r2, r1, r0 + ldr r0, _08029A50 @ =0x0000E890 + strh r0, [r2] + ldr r2, _08029A48 @ =0x000005B9 + adds r1, r1, r2 + movs r4, #3 + strb r4, [r1] + ldr r1, [r3] + movs r0, #0xba + lsls r0, r0, #3 + adds r2, r1, r0 + ldr r0, _08029A54 @ =0x0000F060 + strh r0, [r2] + ldr r0, _08029A58 @ =0x000005D2 + adds r2, r1, r0 + ldr r0, _08029A5C @ =0x0000EED0 + strh r0, [r2] + ldr r2, _08029A60 @ =0x000005BD + adds r1, r1, r2 + strb r4, [r1] + ldr r0, [r3] + ldr r1, _08029A64 @ =0x00000606 + adds r0, r0, r1 + strh r5, [r0] + ldr r0, _08029A68 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r1, [r0, #0x30] + movs 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 _08029A34: .4byte 0x020314E0 _08029A38: .4byte 0x086AE2F4 _08029A3C: .4byte 0x000005C2 @@ -82220,361 +82220,361 @@ _08029A60: .4byte 0x000005BD _08029A64: .4byte 0x00000606 _08029A68: .4byte 0x0200B0C0 - thumb_func_start sub_29A6C + thumb_func_start sub_29A6C sub_29A6C: @ 0x08029A6C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0xc - ldr r0, _08029D2C @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r0, [r0, #0x30] - mov sb, r0 - ldrh r0, [r0] - cmp r0, #0 - bne _08029A88 - b _08029C52 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0xc + ldr r0, _08029D2C @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r0, [r0, #0x30] + mov sb, r0 + ldrh r0, [r0] + cmp r0, #0 + bne _08029A88 + b _08029C52 _08029A88: - movs r5, #0 - ldr r0, _08029D30 @ =0x03005000 - mov r8, r0 - ldr r1, _08029D34 @ =0x086B4E3E - mov sl, r1 + movs r5, #0 + ldr r0, _08029D30 @ =0x03005000 + mov r8, r0 + ldr r1, _08029D34 @ =0x086B4E3E + mov sl, r1 _08029A92: - ldr r2, _08029D38 @ =0x020314E0 - ldr r6, [r2] - ldr r0, _08029D3C @ =0x00000606 - adds r4, r6, r0 - ldrh r0, [r4] - movs r1, #5 - bl __udivsi3 - lsls r3, r5, #0x10 - asrs r5, r3, #0x10 - lsls r1, r5, #1 - add r1, sp - mov ip, r1 - lsls r0, r0, #0x10 - asrs r0, r0, #0xf - lsls r1, r5, #5 - adds r0, r0, r1 - ldr r1, _08029D40 @ =0x086AE234 - adds r0, r0, r1 - ldrh r0, [r0] - mov r2, ip - strh r0, [r2] - ldrh r0, [r4] - mov ip, r3 - cmp r0, #4 - bls _08029B22 - lsls r2, r5, #2 - adds r0, r6, r2 - ldr r3, _08029D44 @ =0x000005DA - adds r0, r0, r3 - ldr r4, _08029D48 @ =0x000005B9 - adds r1, r6, r4 - adds r1, r1, r5 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - ldrh r4, [r0] - adds r1, r1, r4 - strh r1, [r0] - cmp r5, #4 - bne _08029AFC - movs r0, #0xbd - lsls r0, r0, #3 - adds r1, r6, r0 - ldr r4, _08029D4C @ =0x000005BD - adds r0, r6, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - ldrh r4, [r1] - adds r0, r0, r4 - strh r0, [r1] + ldr r2, _08029D38 @ =0x020314E0 + ldr r6, [r2] + ldr r0, _08029D3C @ =0x00000606 + adds r4, r6, r0 + ldrh r0, [r4] + movs r1, #5 + bl __udivsi3 + lsls r3, r5, #0x10 + asrs r5, r3, #0x10 + lsls r1, r5, #1 + add r1, sp + mov ip, r1 + lsls r0, r0, #0x10 + asrs r0, r0, #0xf + lsls r1, r5, #5 + adds r0, r0, r1 + ldr r1, _08029D40 @ =0x086AE234 + adds r0, r0, r1 + ldrh r0, [r0] + mov r2, ip + strh r0, [r2] + ldrh r0, [r4] + mov ip, r3 + cmp r0, #4 + bls _08029B22 + lsls r2, r5, #2 + adds r0, r6, r2 + ldr r3, _08029D44 @ =0x000005DA + adds r0, r0, r3 + ldr r4, _08029D48 @ =0x000005B9 + adds r1, r6, r4 + adds r1, r1, r5 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + ldrh r4, [r0] + adds r1, r1, r4 + strh r1, [r0] + cmp r5, #4 + bne _08029AFC + movs r0, #0xbd + lsls r0, r0, #3 + adds r1, r6, r0 + ldr r4, _08029D4C @ =0x000005BD + adds r0, r6, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + ldrh r4, [r1] + adds r0, r0, r4 + strh r0, [r1] _08029AFC: - ldr r0, _08029D38 @ =0x020314E0 - ldr r1, [r0] - adds r1, r1, r2 - movs r4, #0xb8 - lsls r4, r4, #3 - adds r2, r1, r4 - adds r4, #0x18 - adds r0, r1, r4 - ldrh r0, [r0] - ldrh r4, [r2] - adds r0, r0, r4 - strh r0, [r2] - ldr r0, _08029D50 @ =0x000005C2 - adds r2, r1, r0 - adds r1, r1, r3 - ldrh r0, [r1] - ldrh r1, [r2] - adds r0, r0, r1 - strh r0, [r2] + ldr r0, _08029D38 @ =0x020314E0 + ldr r1, [r0] + adds r1, r1, r2 + movs r4, #0xb8 + lsls r4, r4, #3 + adds r2, r1, r4 + adds r4, #0x18 + adds r0, r1, r4 + ldrh r0, [r0] + ldrh r4, [r2] + adds r0, r0, r4 + strh r0, [r2] + ldr r0, _08029D50 @ =0x000005C2 + adds r2, r1, r0 + adds r1, r1, r3 + ldrh r0, [r1] + ldrh r1, [r2] + adds r0, r0, r1 + strh r0, [r2] _08029B22: - ldr r2, _08029D38 @ =0x020314E0 - ldr r5, [r2] - mov r4, ip - asrs r6, r4, #0x10 - lsls r4, r6, #2 - adds r4, r5, r4 - movs r1, #0xb8 - lsls r1, r1, #3 - adds r0, r4, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r1, #0x64 - bl __divsi3 - adds r0, #0x60 - adds r1, r5, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08029D54 @ =0xFFFF0000 - ands r7, r1 - orrs r7, r0 - ldr r0, _08029D50 @ =0x000005C2 - adds r4, r4, r0 - movs r1, #0 - ldrsh r0, [r4, r1] - movs r1, #0x64 - bl __divsi3 - movs r2, #0x98 - lsls r2, r2, #1 - adds r0, r0, r2 - adds r5, #0x5a - ldrh r1, [r5] - subs r0, r0, r1 - lsls r0, r0, #0x10 - ldr r1, _08029D58 @ =0x0000FFFF - ands r7, r1 - orrs r7, r0 - asrs r0, r0, #0x10 - cmp r0, #0x9f - ble _08029B82 - ands r7, r1 - movs r0, #0xa0 - lsls r0, r0, #0x10 - orrs r7, r0 + ldr r2, _08029D38 @ =0x020314E0 + ldr r5, [r2] + mov r4, ip + asrs r6, r4, #0x10 + lsls r4, r6, #2 + adds r4, r5, r4 + movs r1, #0xb8 + lsls r1, r1, #3 + adds r0, r4, r1 + movs r2, #0 + ldrsh r0, [r0, r2] + movs r1, #0x64 + bl __divsi3 + adds r0, #0x60 + adds r1, r5, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + ldr r1, _08029D54 @ =0xFFFF0000 + ands r7, r1 + orrs r7, r0 + ldr r0, _08029D50 @ =0x000005C2 + adds r4, r4, r0 + movs r1, #0 + ldrsh r0, [r4, r1] + movs r1, #0x64 + bl __divsi3 + movs r2, #0x98 + lsls r2, r2, #1 + adds r0, r0, r2 + adds r5, #0x5a + ldrh r1, [r5] + subs r0, r0, r1 + lsls r0, r0, #0x10 + ldr r1, _08029D58 @ =0x0000FFFF + ands r7, r1 + orrs r7, r0 + asrs r0, r0, #0x10 + cmp r0, #0x9f + ble _08029B82 + ands r7, r1 + movs r0, #0xa0 + lsls r0, r0, #0x10 + orrs r7, r0 _08029B82: - lsls r4, r6, #3 - adds r4, #8 - add r4, sb - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, r8 - lsls r5, r6, #1 - mov r0, sp - adds r3, r0, r5 - movs r0, #0 - ldrsh r1, [r3, r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - add r0, sl - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - movs r0, #0 - ldrsh r1, [r3, r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - mov r1, sl - adds r1, #2 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r2] - movs r0, #0 - ldrsh r1, [r3, r0] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r1, _08029D5C @ =0x086B4E42 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r2, #2] - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, r8 - ldrh r2, [r3, #2] - lsls r1, r2, #0x17 - lsrs r1, r1, #0x17 - lsls r0, r7, #0x10 - asrs r0, r0, #0x10 - adds r1, r1, r0 - ldr r0, _08029D60 @ =0x000001FF - mov ip, r0 - mov r0, ip - ands r1, r0 - ldr r0, _08029D64 @ =0xFFFFFE00 - mov ip, r0 - mov r0, ip - ands r2, r0 - orrs r2, r1 - strh r2, [r3, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, r8 - asrs r0, r7, #0x10 - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, r8 - ldr r1, _08029D68 @ =0x086AE30C - adds r0, r5, r1 - movs r1, #0 - ldrsh r2, [r0, r1] - movs r0, #3 - ands r2, r0 - ldrb r0, [r3, #1] - movs r1, #4 - rsbs r1, r1, #0 - mov ip, r1 - mov r1, ip - ands r0, r1 - orrs r0, r2 - strb r0, [r3, #1] - ldrh r3, [r4] - lsls r3, r3, #3 - add r3, r8 - ldr r2, _08029D6C @ =0x086AE318 - adds r5, r5, r2 - movs r4, #0 - ldrsh r2, [r5, r4] - movs r0, #7 - ands r2, r0 - lsls r2, r2, #1 - ldrb r0, [r3, #3] - movs r4, #0xf - rsbs r4, r4, #0 - adds r1, r4, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, #3] - adds r0, r6, #1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #5 - bgt _08029C52 - b _08029A92 + lsls r4, r6, #3 + adds r4, #8 + add r4, sb + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, r8 + lsls r5, r6, #1 + mov r0, sp + adds r3, r0, r5 + movs r0, #0 + ldrsh r1, [r3, r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + add r0, sl + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + movs r0, #0 + ldrsh r1, [r3, r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + mov r1, sl + adds r1, #2 + adds r0, r0, r1 + ldrh r0, [r0] + strh r0, [r2] + movs r0, #0 + ldrsh r1, [r3, r0] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + ldr r1, _08029D5C @ =0x086B4E42 + adds r0, r0, r1 + ldrh r0, [r0] + strh r0, [r2, #2] + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, r8 + ldrh r2, [r3, #2] + lsls r1, r2, #0x17 + lsrs r1, r1, #0x17 + lsls r0, r7, #0x10 + asrs r0, r0, #0x10 + adds r1, r1, r0 + ldr r0, _08029D60 @ =0x000001FF + mov ip, r0 + mov r0, ip + ands r1, r0 + ldr r0, _08029D64 @ =0xFFFFFE00 + mov ip, r0 + mov r0, ip + ands r2, r0 + orrs r2, r1 + strh r2, [r3, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, r8 + asrs r0, r7, #0x10 + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, r8 + ldr r1, _08029D68 @ =0x086AE30C + adds r0, r5, r1 + movs r1, #0 + ldrsh r2, [r0, r1] + movs r0, #3 + ands r2, r0 + ldrb r0, [r3, #1] + movs r1, #4 + rsbs r1, r1, #0 + mov ip, r1 + mov r1, ip + ands r0, r1 + orrs r0, r2 + strb r0, [r3, #1] + ldrh r3, [r4] + lsls r3, r3, #3 + add r3, r8 + ldr r2, _08029D6C @ =0x086AE318 + adds r5, r5, r2 + movs r4, #0 + ldrsh r2, [r5, r4] + movs r0, #7 + ands r2, r0 + lsls r2, r2, #1 + ldrb r0, [r3, #3] + movs r4, #0xf + rsbs r4, r4, #0 + adds r1, r4, #0 + ands r0, r1 + orrs r0, r2 + strb r0, [r3, #3] + adds r0, r6, #1 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #5 + bgt _08029C52 + b _08029A92 _08029C52: - ldr r4, _08029D38 @ =0x020314E0 - ldr r0, [r4] - ldr r6, _08029D3C @ =0x00000606 - adds r0, r0, r6 - ldrh r0, [r0] - adds r1, r0, #0 - muls r1, r0, r1 - movs r0, #0xd0 - muls r0, r1, r0 - movs r5, #0xa2 - lsls r5, r5, #3 - adds r1, r5, #0 - bl __divsi3 - adds r0, #0x80 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - mov r0, sp - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #4 - bne _08029C84 - lsls r0, r1, #0x10 - rsbs r0, r0, #0 - lsrs r1, r0, #0x10 + ldr r4, _08029D38 @ =0x020314E0 + ldr r0, [r4] + ldr r6, _08029D3C @ =0x00000606 + adds r0, r0, r6 + ldrh r0, [r0] + adds r1, r0, #0 + muls r1, r0, r1 + movs r0, #0xd0 + muls r0, r1, r0 + movs r5, #0xa2 + lsls r5, r5, #3 + adds r1, r5, #0 + bl __divsi3 + adds r0, #0x80 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + mov r0, sp + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r0, #4 + bne _08029C84 + lsls r0, r1, #0x10 + rsbs r0, r0, #0 + lsrs r1, r0, #0x10 _08029C84: - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - adds r0, r1, #0 - movs r2, #2 - bl sub_7C0 - movs r1, #0x80 - mov r0, sp - ldrh r0, [r0, #2] - cmp r0, #4 - bne _08029CA0 - rsbs r0, r1, #0 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + adds r0, r1, #0 + movs r2, #2 + bl sub_7C0 + movs r1, #0x80 + mov r0, sp + ldrh r0, [r0, #2] + cmp r0, #4 + bne _08029CA0 + rsbs r0, r1, #0 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 _08029CA0: - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - adds r0, r1, #0 - movs r2, #3 - bl sub_7C0 - ldr r0, [r4] - adds r0, r0, r6 - ldrh r0, [r0] - adds r1, r0, #0 - muls r1, r0, r1 - adds r0, r1, #0 - lsls r0, r0, #8 - adds r1, r5, #0 - bl __divsi3 - adds r0, #0x80 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - mov r0, sp - movs r2, #6 - ldrsh r0, [r0, r2] - cmp r0, #4 - bne _08029CD6 - lsls r0, r1, #0x10 - rsbs r0, r0, #0 - lsrs r1, r0, #0x10 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + adds r0, r1, #0 + movs r2, #3 + bl sub_7C0 + ldr r0, [r4] + adds r0, r0, r6 + ldrh r0, [r0] + adds r1, r0, #0 + muls r1, r0, r1 + adds r0, r1, #0 + lsls r0, r0, #8 + adds r1, r5, #0 + bl __divsi3 + adds r0, #0x80 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + mov r0, sp + movs r2, #6 + ldrsh r0, [r0, r2] + cmp r0, #4 + bne _08029CD6 + lsls r0, r1, #0x10 + rsbs r0, r0, #0 + lsrs r1, r0, #0x10 _08029CD6: - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - adds r0, r1, #0 - movs r2, #4 - bl sub_7C0 - ldr r0, [r4] - adds r0, r0, r6 - ldrh r0, [r0] - adds r1, r0, #0 - muls r1, r0, r1 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #6 - adds r1, r5, #0 - bl __divsi3 - adds r0, #0x40 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - mov r0, sp - movs r4, #8 - ldrsh r0, [r0, r4] - cmp r0, #4 - bne _08029D0E - lsls r0, r1, #0x10 - rsbs r0, r0, #0 - lsrs r1, r0, #0x10 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + adds r0, r1, #0 + movs r2, #4 + bl sub_7C0 + ldr r0, [r4] + adds r0, r0, r6 + ldrh r0, [r0] + adds r1, r0, #0 + muls r1, r0, r1 + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #6 + adds r1, r5, #0 + bl __divsi3 + adds r0, #0x40 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + mov r0, sp + movs r4, #8 + ldrsh r0, [r0, r4] + cmp r0, #4 + bne _08029D0E + lsls r0, r1, #0x10 + rsbs r0, r0, #0 + lsrs r1, r0, #0x10 _08029D0E: - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - adds r0, r1, #0 - movs r2, #5 - bl sub_7C0 - ldr r0, _08029D38 @ =0x020314E0 - ldr r1, [r0] - adds r2, r1, r6 - ldrh r0, [r2] - cmp r0, #0x2e - bhi _08029D70 - adds r0, #1 - strh r0, [r2] - b _08029D84 - .align 2, 0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + adds r0, r1, #0 + movs r2, #5 + bl sub_7C0 + ldr r0, _08029D38 @ =0x020314E0 + ldr r1, [r0] + adds r2, r1, r6 + ldrh r0, [r2] + cmp r0, #0x2e + bhi _08029D70 + adds r0, #1 + strh r0, [r2] + b _08029D84 + .align 2, 0 _08029D2C: .4byte 0x0200B0C0 _08029D30: .4byte 0x03005000 _08029D34: .4byte 0x086B4E3E @@ -82593,133 +82593,133 @@ _08029D64: .4byte 0xFFFFFE00 _08029D68: .4byte 0x086AE30C _08029D6C: .4byte 0x086AE318 _08029D70: - ldr r2, _08029D94 @ =0x000006CA - adds r1, r1, r2 - movs r2, #0 - movs r0, #0xe2 - lsls r0, r0, #7 - strh r0, [r1] - ldr r0, _08029D98 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r0, [r0, #0x30] - strh r2, [r0] + ldr r2, _08029D94 @ =0x000006CA + adds r1, r1, r2 + movs r2, #0 + movs r0, #0xe2 + lsls r0, r0, #7 + strh r0, [r1] + ldr r0, _08029D98 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r0, [r0, #0x30] + strh r2, [r0] _08029D84: - add sp, #0xc - 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 + add sp, #0xc + 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 _08029D94: .4byte 0x000006CA _08029D98: .4byte 0x0200B0C0 - thumb_func_start sub_29D9C + thumb_func_start sub_29D9C sub_29D9C: @ 0x08029D9C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r3, _08029E60 @ =0x0200B0C0 - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x5c] - movs r2, #0 - movs r5, #0 - movs r1, #1 - strh r1, [r0] - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x50] - strh r1, [r0] - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x54] - strh r1, [r0] - ldrh r0, [r3, #0x38] - ldr r0, _08029E64 @ =0x00001C10 - strh r0, [r3, #0x38] - ldrh r0, [r3, #0x3a] - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r3, #0x3a] - ldr r4, _08029E68 @ =0x020314E0 - ldr r0, [r4] - movs r1, #0xdd - lsls r1, r1, #3 - adds r0, r0, r1 - strb r2, [r0] - ldr r1, [r4] - ldr r0, _08029E6C @ =0x000006F2 - adds r2, r1, r0 - movs r0, #8 - strh r0, [r2] - ldr r2, _08029E70 @ =0x000006F4 - adds r0, r1, r2 - strh r5, [r0] - subs r2, #0x14 - adds r0, r1, r2 - strh r5, [r0] - ldr r0, _08029E74 @ =0x000006E9 - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - mov r8, r3 - adds r7, r4, #0 - cmp r0, #0x19 - bne _08029E02 - movs r0, #0xa - strb r0, [r1] + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r3, _08029E60 @ =0x0200B0C0 + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x5c] + movs r2, #0 + movs r5, #0 + movs r1, #1 + strh r1, [r0] + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x50] + strh r1, [r0] + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x54] + strh r1, [r0] + ldrh r0, [r3, #0x38] + ldr r0, _08029E64 @ =0x00001C10 + strh r0, [r3, #0x38] + ldrh r0, [r3, #0x3a] + movs r0, #0x80 + lsls r0, r0, #5 + strh r0, [r3, #0x3a] + ldr r4, _08029E68 @ =0x020314E0 + ldr r0, [r4] + movs r1, #0xdd + lsls r1, r1, #3 + adds r0, r0, r1 + strb r2, [r0] + ldr r1, [r4] + ldr r0, _08029E6C @ =0x000006F2 + adds r2, r1, r0 + movs r0, #8 + strh r0, [r2] + ldr r2, _08029E70 @ =0x000006F4 + adds r0, r1, r2 + strh r5, [r0] + subs r2, #0x14 + adds r0, r1, r2 + strh r5, [r0] + ldr r0, _08029E74 @ =0x000006E9 + adds r1, r1, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + mov r8, r3 + adds r7, r4, #0 + cmp r0, #0x19 + bne _08029E02 + movs r0, #0xa + strb r0, [r1] _08029E02: - movs r3, #0 - ldr r1, _08029E78 @ =0x086AD180 - mov sb, r1 + movs r3, #0 + ldr r1, _08029E78 @ =0x086AD180 + mov sb, r1 _08029E08: - ldr r5, [r7] - lsls r3, r3, #0x10 - asrs r2, r3, #0xf - movs r1, #0xdf - lsls r1, r1, #3 - adds r0, r5, r1 - adds r4, r0, r2 - subs r1, #0xf - adds r0, r5, r1 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #1 - adds r2, r2, r0 - add r2, sb - ldrh r0, [r2] - strh r0, [r4] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r6, r3, #0 - cmp r0, #0x29 - beq _08029E38 - b _08029F2E + ldr r5, [r7] + lsls r3, r3, #0x10 + asrs r2, r3, #0xf + movs r1, #0xdf + lsls r1, r1, #3 + adds r0, r5, r1 + adds r4, r0, r2 + subs r1, #0xf + adds r0, r5, r1 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #1 + adds r2, r2, r0 + add r2, sb + ldrh r0, [r2] + strh r0, [r4] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r6, r3, #0 + cmp r0, #0x29 + beq _08029E38 + b _08029F2E _08029E38: - mov r2, r8 - ldrb r0, [r2, #4] - cmp r0, #0 - bne _08029EBC - ldr r1, _08029E7C @ =0x00000283 - adds r0, r5, r1 - ldrb r0, [r0] - movs r1, #5 - bl __umodsi3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #4 - bls _08029E56 - b _08029F9E + mov r2, r8 + ldrb r0, [r2, #4] + cmp r0, #0 + bne _08029EBC + ldr r1, _08029E7C @ =0x00000283 + adds r0, r5, r1 + ldrb r0, [r0] + movs r1, #5 + bl __umodsi3 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #4 + bls _08029E56 + b _08029F9E _08029E56: - lsls r0, r0, #2 - ldr r1, _08029E80 @ =_08029E84 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _08029E80 @ =_08029E84 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08029E60: .4byte 0x0200B0C0 _08029E64: .4byte 0x00001C10 _08029E68: .4byte 0x020314E0 @@ -82730,351 +82730,351 @@ _08029E78: .4byte 0x086AD180 _08029E7C: .4byte 0x00000283 _08029E80: .4byte _08029E84 _08029E84: @ jump table - .4byte _08029E98 @ case 0 - .4byte _08029EAA @ case 1 - .4byte _08029E98 @ case 2 - .4byte _08029EAA @ case 3 - .4byte _08029F1C @ case 4 + .4byte _08029E98 @ case 0 + .4byte _08029EAA @ case 1 + .4byte _08029E98 @ case 2 + .4byte _08029EAA @ case 3 + .4byte _08029F1C @ case 4 _08029E98: - ldr r0, [r7] - asrs r1, r6, #0xf - movs r2, #0xdf - lsls r2, r2, #3 - adds r0, r0, r2 - adds r0, r0, r1 - movs r1, #0x2a - strh r1, [r0] - b _08029F9E + ldr r0, [r7] + asrs r1, r6, #0xf + movs r2, #0xdf + lsls r2, r2, #3 + adds r0, r0, r2 + adds r0, r0, r1 + movs r1, #0x2a + strh r1, [r0] + b _08029F9E _08029EAA: - ldr r0, [r7] - asrs r1, r6, #0xf - movs r2, #0xdf - lsls r2, r2, #3 - adds r0, r0, r2 - adds r0, r0, r1 - movs r1, #0x2c - strh r1, [r0] - b _08029F9E + ldr r0, [r7] + asrs r1, r6, #0xf + movs r2, #0xdf + lsls r2, r2, #3 + adds r0, r0, r2 + adds r0, r0, r1 + movs r1, #0x2c + strh r1, [r0] + b _08029F9E _08029EBC: - ldr r1, _08029EDC @ =0x00000283 - adds r0, r5, r1 - ldrb r0, [r0] - movs r1, #5 - bl __umodsi3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #4 - bhi _08029F9E - lsls r0, r0, #2 - ldr r1, _08029EE0 @ =_08029EE4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + ldr r1, _08029EDC @ =0x00000283 + adds r0, r5, r1 + ldrb r0, [r0] + movs r1, #5 + bl __umodsi3 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #4 + bhi _08029F9E + lsls r0, r0, #2 + ldr r1, _08029EE0 @ =_08029EE4 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08029EDC: .4byte 0x00000283 _08029EE0: .4byte _08029EE4 _08029EE4: @ jump table - .4byte _08029EF8 @ case 0 - .4byte _08029F0A @ case 1 - .4byte _08029EF8 @ case 2 - .4byte _08029F0A @ case 3 - .4byte _08029F1C @ case 4 + .4byte _08029EF8 @ case 0 + .4byte _08029F0A @ case 1 + .4byte _08029EF8 @ case 2 + .4byte _08029F0A @ case 3 + .4byte _08029F1C @ case 4 _08029EF8: - ldr r0, [r7] - asrs r1, r6, #0xf - movs r2, #0xdf - lsls r2, r2, #3 - adds r0, r0, r2 - adds r0, r0, r1 - movs r1, #0x29 - strh r1, [r0] - b _08029F9E + ldr r0, [r7] + asrs r1, r6, #0xf + movs r2, #0xdf + lsls r2, r2, #3 + adds r0, r0, r2 + adds r0, r0, r1 + movs r1, #0x29 + strh r1, [r0] + b _08029F9E _08029F0A: - ldr r0, [r7] - asrs r1, r6, #0xf - movs r2, #0xdf - lsls r2, r2, #3 - adds r0, r0, r2 - adds r0, r0, r1 - movs r1, #0x2b - strh r1, [r0] - b _08029F9E + ldr r0, [r7] + asrs r1, r6, #0xf + movs r2, #0xdf + lsls r2, r2, #3 + adds r0, r0, r2 + adds r0, r0, r1 + movs r1, #0x2b + strh r1, [r0] + b _08029F9E _08029F1C: - ldr r0, [r7] - asrs r1, r6, #0xf - movs r2, #0xdf - lsls r2, r2, #3 - adds r0, r0, r2 - adds r0, r0, r1 - movs r1, #0x2d - strh r1, [r0] - b _08029F9E + ldr r0, [r7] + asrs r1, r6, #0xf + movs r2, #0xdf + lsls r2, r2, #3 + adds r0, r0, r2 + adds r0, r0, r1 + movs r1, #0x2d + strh r1, [r0] + b _08029F9E _08029F2E: - cmp r0, #0xa - bne _08029F4C - ldr r0, _08029F44 @ =0x000005F6 - adds r1, r5, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #2 - bgt _08029F48 - adds r0, #0xa - b _08029F9C - .align 2, 0 + cmp r0, #0xa + bne _08029F4C + ldr r0, _08029F44 @ =0x000005F6 + adds r1, r5, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #2 + bgt _08029F48 + adds r0, #0xa + b _08029F9C + .align 2, 0 _08029F44: .4byte 0x000005F6 _08029F48: - movs r0, #0xc - b _08029F9C + movs r0, #0xc + b _08029F9C _08029F4C: - cmp r0, #3 - bne _08029F88 - movs r1, #0xf1 - lsls r1, r1, #1 - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08029F9E - mov r2, r8 - ldr r0, [r2, #0x4c] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08029F84 - ldr r0, _08029F7C @ =0x000005F6 - adds r1, r5, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #2 - bgt _08029F80 - adds r0, #0xa - b _08029F9C - .align 2, 0 + cmp r0, #3 + bne _08029F88 + movs r1, #0xf1 + lsls r1, r1, #1 + adds r0, r5, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bne _08029F9E + mov r2, r8 + ldr r0, [r2, #0x4c] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + beq _08029F84 + ldr r0, _08029F7C @ =0x000005F6 + adds r1, r5, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #2 + bgt _08029F80 + adds r0, #0xa + b _08029F9C + .align 2, 0 _08029F7C: .4byte 0x000005F6 _08029F80: - movs r0, #0xc - b _08029F9C + movs r0, #0xc + b _08029F9C _08029F84: - strh r1, [r4] - b _08029F9E + strh r1, [r4] + b _08029F9E _08029F88: - cmp r0, #9 - bne _08029F9E - ldr r1, _0802A040 @ =0x00000281 - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bgt _08029F9E - movs r0, #8 + cmp r0, #9 + bne _08029F9E + ldr r1, _0802A040 @ =0x00000281 + adds r0, r5, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bgt _08029F9E + movs r0, #8 _08029F9C: - strh r0, [r4] + strh r0, [r4] _08029F9E: - movs r2, #0x80 - lsls r2, r2, #9 - adds r0, r6, r2 - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #5 - bgt _08029FAE - b _08029E08 + movs r2, #0x80 + lsls r2, r2, #9 + adds r0, r6, r2 + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #5 + bgt _08029FAE + b _08029E08 _08029FAE: - ldr r2, [r7] - ldr r0, _0802A044 @ =0x00000704 - adds r1, r2, r0 - movs r0, #0x15 - strh r0, [r1] - ldr r1, _0802A048 @ =0x000006E9 - adds r2, r2, r1 - ldrb r1, [r2] - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0x18 - bgt _08029FCA - adds r0, r1, #1 - strb r0, [r2] + ldr r2, [r7] + ldr r0, _0802A044 @ =0x00000704 + adds r1, r2, r0 + movs r0, #0x15 + strh r0, [r1] + ldr r1, _0802A048 @ =0x000006E9 + adds r2, r2, r1 + ldrb r1, [r2] + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0x18 + bgt _08029FCA + adds r0, r1, #1 + strb r0, [r2] _08029FCA: - ldr r0, [r7] - ldr r3, _0802A04C @ =0x000006EA - adds r0, r0, r3 - movs r1, #5 - strb r1, [r0] - ldr r2, [r7] - adds r0, r2, #0 - adds r0, #0x72 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r1, #0xf0 - ands r0, r1 - cmp r0, #0 - bne _08029FFE - adds r0, r2, #0 - adds r0, #0x35 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xb - ble _08029FFE - adds r1, r2, r3 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + ldr r0, [r7] + ldr r3, _0802A04C @ =0x000006EA + adds r0, r0, r3 + movs r1, #5 + strb r1, [r0] + ldr r2, [r7] + adds r0, r2, #0 + adds r0, #0x72 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + movs r1, #0xf0 + ands r0, r1 + cmp r0, #0 + bne _08029FFE + adds r0, r2, #0 + adds r0, #0x35 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xb + ble _08029FFE + adds r1, r2, r3 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _08029FFE: - ldr r0, [r7] - ldr r2, _0802A050 @ =0x000006EB - adds r0, r0, r2 - movs r1, #1 - strb r1, [r0] - ldr r0, [r7] - adds r2, #0xd - adds r1, r0, r2 - ldrh r1, [r1] - subs r2, #0xc - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r7] - adds r2, #0xe - adds r1, r0, r2 - ldrh r1, [r1] - subs r2, #0xd - adds r0, r0, r2 - strb r1, [r0] - movs r0, #2 - movs r1, #0 - bl sub_1C7F4 - movs r0, #2 - movs r1, #1 - bl sub_1C7F4 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + ldr r0, [r7] + ldr r2, _0802A050 @ =0x000006EB + adds r0, r0, r2 + movs r1, #1 + strb r1, [r0] + ldr r0, [r7] + adds r2, #0xd + adds r1, r0, r2 + ldrh r1, [r1] + subs r2, #0xc + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r7] + adds r2, #0xe + adds r1, r0, r2 + ldrh r1, [r1] + subs r2, #0xd + adds r0, r0, r2 + strb r1, [r0] + movs r0, #2 + movs r1, #0 + bl sub_1C7F4 + movs r0, #2 + movs r1, #1 + bl sub_1C7F4 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0802A040: .4byte 0x00000281 _0802A044: .4byte 0x00000704 _0802A048: .4byte 0x000006E9 _0802A04C: .4byte 0x000006EA _0802A050: .4byte 0x000006EB - thumb_func_start sub_2A054 + thumb_func_start sub_2A054 sub_2A054: @ 0x0802A054 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r0, _0802A128 @ =0x0200B0C0 - ldrb r3, [r0, #4] - mov r8, r0 - ldr r0, _0802A12C @ =0x020314E0 - mov sb, r0 - cmp r3, #1 - bne _0802A0E4 - ldr r2, [r0] - movs r4, #0xdd - lsls r4, r4, #3 - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0802A07E - b _0802A20C + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r0, _0802A128 @ =0x0200B0C0 + ldrb r3, [r0, #4] + mov r8, r0 + ldr r0, _0802A12C @ =0x020314E0 + mov sb, r0 + cmp r3, #1 + bne _0802A0E4 + ldr r2, [r0] + movs r4, #0xdd + lsls r4, r4, #3 + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0802A07E + b _0802A20C _0802A07E: - ldrb r0, [r2, #5] - cmp r0, #0 - bne _0802A090 - mov r5, r8 - ldrh r1, [r5, #0x18] - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _0802A0E4 + ldrb r0, [r2, #5] + cmp r0, #0 + bne _0802A090 + mov r5, r8 + ldrh r1, [r5, #0x18] + adds r0, r3, #0 + ands r0, r1 + cmp r0, #0 + beq _0802A0E4 _0802A090: - movs r1, #0xdf - lsls r1, r1, #2 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0802A0E4 - movs r5, #0xde - lsls r5, r5, #2 - adds r1, r2, r5 - movs r0, #2 - strb r0, [r1] - mov r0, sb - ldr r2, [r0] - movs r1, #0xdc - lsls r1, r1, #3 - adds r0, r2, r1 - movs r5, #0 - ldrsh r0, [r0, r5] - cmp r0, #0x10 - bgt _0802A0C8 - adds r1, #0xc - adds r0, r2, r1 - ldrb r1, [r0] - ldr r5, _0802A130 @ =0x000006ED - adds r0, r2, r5 - strb r1, [r0] + movs r1, #0xdf + lsls r1, r1, #2 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0802A0E4 + movs r5, #0xde + lsls r5, r5, #2 + adds r1, r2, r5 + movs r0, #2 + strb r0, [r1] + mov r0, sb + ldr r2, [r0] + movs r1, #0xdc + lsls r1, r1, #3 + adds r0, r2, r1 + movs r5, #0 + ldrsh r0, [r0, r5] + cmp r0, #0x10 + bgt _0802A0C8 + adds r1, #0xc + adds r0, r2, r1 + ldrb r1, [r0] + ldr r5, _0802A130 @ =0x000006ED + adds r0, r2, r5 + strb r1, [r0] _0802A0C8: - mov r1, sb - ldr r0, [r1] - adds r0, r0, r4 - strb r3, [r0] - ldr r1, [r1] - ldr r3, _0802A134 @ =0x000006F2 - adds r2, r1, r3 - movs r0, #0x28 - strh r0, [r2] - movs r5, #0xde - lsls r5, r5, #3 - adds r1, r1, r5 - movs r0, #0x27 - strh r0, [r1] + mov r1, sb + ldr r0, [r1] + adds r0, r0, r4 + strb r3, [r0] + ldr r1, [r1] + ldr r3, _0802A134 @ =0x000006F2 + adds r2, r1, r3 + movs r0, #0x28 + strh r0, [r2] + movs r5, #0xde + lsls r5, r5, #3 + adds r1, r1, r5 + movs r0, #0x27 + strh r0, [r1] _0802A0E4: - mov r0, sb - ldr r2, [r0] - movs r1, #0xdd - lsls r1, r1, #3 - adds r0, r2, r1 - movs r6, #0 - ldrsb r6, [r0, r6] - cmp r6, #0 - beq _0802A0F8 - b _0802A20C + mov r0, sb + ldr r2, [r0] + movs r1, #0xdd + lsls r1, r1, #3 + adds r0, r2, r1 + movs r6, #0 + ldrsb r6, [r0, r6] + cmp r6, #0 + beq _0802A0F8 + b _0802A20C _0802A0F8: - ldr r3, _0802A138 @ =0x000006C4 - adds r0, r2, r3 - movs r5, #1 - strb r5, [r0] - mov r0, sb - ldr r2, [r0] - adds r3, #0x2c - adds r4, r2, r3 - ldrh r0, [r4] - adds r0, #1 - strh r0, [r4] - ldr r7, _0802A13C @ =0x000006F4 - adds r3, r2, r7 - ldrh r0, [r3] - cmp r0, #0 - beq _0802A170 - subs r0, #1 - strh r0, [r3] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0802A140 - adds r0, r2, r1 - strb r5, [r0] - b _0802A1CA - .align 2, 0 + ldr r3, _0802A138 @ =0x000006C4 + adds r0, r2, r3 + movs r5, #1 + strb r5, [r0] + mov r0, sb + ldr r2, [r0] + adds r3, #0x2c + adds r4, r2, r3 + ldrh r0, [r4] + adds r0, #1 + strh r0, [r4] + ldr r7, _0802A13C @ =0x000006F4 + adds r3, r2, r7 + ldrh r0, [r3] + cmp r0, #0 + beq _0802A170 + subs r0, #1 + strh r0, [r3] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0802A140 + adds r0, r2, r1 + strb r5, [r0] + b _0802A1CA + .align 2, 0 _0802A128: .4byte 0x0200B0C0 _0802A12C: .4byte 0x020314E0 _0802A130: .4byte 0x000006ED @@ -83082,204 +83082,204 @@ _0802A134: .4byte 0x000006F2 _0802A138: .4byte 0x000006C4 _0802A13C: .4byte 0x000006F4 _0802A140: - ldr r0, _0802A168 @ =0x000006F2 - adds r5, r2, r0 - ldrh r0, [r4] - ldrh r1, [r5] - cmp r0, r1 - bne _0802A1CA - ldrh r1, [r3] - lsls r0, r1, #4 - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r3, _0802A16C @ =0x000006F6 - adds r1, r2, r3 - ldrh r1, [r1] - bl __divsi3 - movs r1, #0x28 - subs r1, r1, r0 - strh r1, [r5] - strh r6, [r4] - b _0802A1CA - .align 2, 0 + ldr r0, _0802A168 @ =0x000006F2 + adds r5, r2, r0 + ldrh r0, [r4] + ldrh r1, [r5] + cmp r0, r1 + bne _0802A1CA + ldrh r1, [r3] + lsls r0, r1, #4 + adds r0, r0, r1 + lsls r0, r0, #1 + ldr r3, _0802A16C @ =0x000006F6 + adds r1, r2, r3 + ldrh r1, [r1] + bl __divsi3 + movs r1, #0x28 + subs r1, r1, r0 + strh r1, [r5] + strh r6, [r4] + b _0802A1CA + .align 2, 0 _0802A168: .4byte 0x000006F2 _0802A16C: .4byte 0x000006F6 _0802A170: - ldrb r0, [r2, #5] - cmp r0, #0 - bne _0802A182 - mov r0, r8 - ldrh r1, [r0, #0x18] - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _0802A1CA + ldrb r0, [r2, #5] + cmp r0, #0 + bne _0802A182 + mov r0, r8 + ldrh r1, [r0, #0x18] + adds r0, r5, #0 + ands r0, r1 + cmp r0, #0 + beq _0802A1CA _0802A182: - bl sub_C00 - mov r1, sb - ldr r4, [r1] - movs r1, #0xc8 - bl __umodsi3 - adds r0, #0x64 - adds r2, r4, r7 - strh r0, [r2] - ldr r0, _0802A1F8 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #1 - bne _0802A1BA - movs r3, #0xde - lsls r3, r3, #2 - adds r0, r4, r3 - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #1 - bne _0802A1BA - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r2] - movs r5, #0xdf - lsls r5, r5, #2 - adds r0, r4, r5 - strb r1, [r0] + bl sub_C00 + mov r1, sb + ldr r4, [r1] + movs r1, #0xc8 + bl __umodsi3 + adds r0, #0x64 + adds r2, r4, r7 + strh r0, [r2] + ldr r0, _0802A1F8 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #1 + bne _0802A1BA + movs r3, #0xde + lsls r3, r3, #2 + adds r0, r4, r3 + movs r1, #0 + ldrsb r1, [r0, r1] + cmp r1, #1 + bne _0802A1BA + movs r0, #0xa0 + lsls r0, r0, #1 + strh r0, [r2] + movs r5, #0xdf + lsls r5, r5, #2 + adds r0, r4, r5 + strb r1, [r0] _0802A1BA: - ldr r0, _0802A1FC @ =0x020314E0 - ldr r0, [r0] - ldr r2, _0802A200 @ =0x000006F4 - adds r1, r0, r2 - ldrh r1, [r1] - ldr r3, _0802A204 @ =0x000006F6 - adds r0, r0, r3 - strh r1, [r0] + ldr r0, _0802A1FC @ =0x020314E0 + ldr r0, [r0] + ldr r2, _0802A200 @ =0x000006F4 + adds r1, r0, r2 + ldrh r1, [r1] + ldr r3, _0802A204 @ =0x000006F6 + adds r0, r0, r3 + strh r1, [r0] _0802A1CA: - ldr r0, _0802A1FC @ =0x020314E0 - ldr r5, [r0] - movs r0, #0xde - lsls r0, r0, #3 - adds r4, r5, r0 - ldr r1, _0802A208 @ =0x000006F2 - adds r6, r5, r1 - ldrh r0, [r4] - ldrh r1, [r6] - bl __umodsi3 - strh r0, [r4] - ldrh r0, [r4] - lsls r0, r0, #5 - ldrh r1, [r6] - bl __divsi3 - movs r2, #0xdc - lsls r2, r2, #3 - adds r5, r5, r2 - strh r0, [r5] - b _0802A27C - .align 2, 0 + ldr r0, _0802A1FC @ =0x020314E0 + ldr r5, [r0] + movs r0, #0xde + lsls r0, r0, #3 + adds r4, r5, r0 + ldr r1, _0802A208 @ =0x000006F2 + adds r6, r5, r1 + ldrh r0, [r4] + ldrh r1, [r6] + bl __umodsi3 + strh r0, [r4] + ldrh r0, [r4] + lsls r0, r0, #5 + ldrh r1, [r6] + bl __divsi3 + movs r2, #0xdc + lsls r2, r2, #3 + adds r5, r5, r2 + strh r0, [r5] + b _0802A27C + .align 2, 0 _0802A1F8: .4byte 0x0200B0C0 _0802A1FC: .4byte 0x020314E0 _0802A200: .4byte 0x000006F4 _0802A204: .4byte 0x000006F6 _0802A208: .4byte 0x000006F2 _0802A20C: - ldr r7, _0802A2DC @ =0x020314E0 - ldr r6, [r7] - movs r3, #0xde - lsls r3, r3, #3 - adds r4, r6, r3 - ldrh r0, [r4] - adds r0, #1 - strh r0, [r4] - ldr r0, _0802A2E0 @ =0x000006F2 - adds r5, r6, r0 - ldrh r0, [r4] - ldrh r1, [r5] - bl __umodsi3 - strh r0, [r4] - ldrh r0, [r4] - lsls r0, r0, #5 - ldrh r1, [r5] - bl __divsi3 - movs r2, #0xdc - lsls r2, r2, #3 - adds r1, r6, r2 - strh r0, [r1] - ldrh r4, [r4] - cmp r4, #0 - bne _0802A2AC - movs r0, #0x8c - strh r0, [r6, #0x28] - mov r3, r8 - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x5c] - strh r4, [r0] - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x50] - strh r4, [r0] - ldr r0, [r3, #0x44] - ldr r0, [r0, #0x54] - strh r4, [r0] - strh r4, [r1] - ldr r5, _0802A2E4 @ =0x000006C4 - adds r1, r6, r5 - movs r0, #0 - strb r0, [r1] - ldr r0, _0802A2E8 @ =0x02032EE0 - bl m4aMPlayStop - ldr r0, [r7] - ldr r1, _0802A2EC @ =0x000006DD - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - ldr r0, [r7] - ldr r2, _0802A2F0 @ =0x000006DE - adds r0, r0, r2 - strh r4, [r0] + ldr r7, _0802A2DC @ =0x020314E0 + ldr r6, [r7] + movs r3, #0xde + lsls r3, r3, #3 + adds r4, r6, r3 + ldrh r0, [r4] + adds r0, #1 + strh r0, [r4] + ldr r0, _0802A2E0 @ =0x000006F2 + adds r5, r6, r0 + ldrh r0, [r4] + ldrh r1, [r5] + bl __umodsi3 + strh r0, [r4] + ldrh r0, [r4] + lsls r0, r0, #5 + ldrh r1, [r5] + bl __divsi3 + movs r2, #0xdc + lsls r2, r2, #3 + adds r1, r6, r2 + strh r0, [r1] + ldrh r4, [r4] + cmp r4, #0 + bne _0802A2AC + movs r0, #0x8c + strh r0, [r6, #0x28] + mov r3, r8 + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x5c] + strh r4, [r0] + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x50] + strh r4, [r0] + ldr r0, [r3, #0x44] + ldr r0, [r0, #0x54] + strh r4, [r0] + strh r4, [r1] + ldr r5, _0802A2E4 @ =0x000006C4 + adds r1, r6, r5 + movs r0, #0 + strb r0, [r1] + ldr r0, _0802A2E8 @ =0x02032EE0 + bl m4aMPlayStop + ldr r0, [r7] + ldr r1, _0802A2EC @ =0x000006DD + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + ldr r0, [r7] + ldr r2, _0802A2F0 @ =0x000006DE + adds r0, r0, r2 + strh r4, [r0] _0802A27C: - ldr r5, _0802A2DC @ =0x020314E0 - ldr r2, [r5] - movs r3, #0xde - lsls r3, r3, #3 - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, #0 - bne _0802A2AC - ldr r1, _0802A2F4 @ =0x000006ED - adds r0, r2, r1 - ldrb r1, [r0] - ldr r4, _0802A2F8 @ =0x000006EC - adds r0, r2, r4 - strb r1, [r0] - movs r0, #2 - movs r1, #0 - bl sub_1C7F4 - ldr r0, [r5] - adds r4, r0, r4 - ldrb r1, [r4] - ldr r2, _0802A2FC @ =0x000006DC - adds r0, r0, r2 - strb r1, [r0] + ldr r5, _0802A2DC @ =0x020314E0 + ldr r2, [r5] + movs r3, #0xde + lsls r3, r3, #3 + adds r0, r2, r3 + ldrh r0, [r0] + cmp r0, #0 + bne _0802A2AC + ldr r1, _0802A2F4 @ =0x000006ED + adds r0, r2, r1 + ldrb r1, [r0] + ldr r4, _0802A2F8 @ =0x000006EC + adds r0, r2, r4 + strb r1, [r0] + movs r0, #2 + movs r1, #0 + bl sub_1C7F4 + ldr r0, [r5] + adds r4, r0, r4 + ldrb r1, [r4] + ldr r2, _0802A2FC @ =0x000006DC + adds r0, r0, r2 + strb r1, [r0] _0802A2AC: - ldr r0, _0802A2DC @ =0x020314E0 - ldr r3, [r0] - movs r5, #0xde - lsls r5, r5, #3 - adds r1, r3, r5 - ldrh r1, [r1] - mov sb, r0 - cmp r1, #1 - bne _0802A33A - ldr r0, _0802A300 @ =0x000006EB - adds r2, r3, r0 - ldr r1, _0802A304 @ =0x000006EA - adds r0, r3, r1 - ldrb r3, [r2] - movs r1, #0 - ldrsb r1, [r2, r1] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - bge _0802A308 - adds r0, r3, #1 - b _0802A30A - .align 2, 0 + ldr r0, _0802A2DC @ =0x020314E0 + ldr r3, [r0] + movs r5, #0xde + lsls r5, r5, #3 + adds r1, r3, r5 + ldrh r1, [r1] + mov sb, r0 + cmp r1, #1 + bne _0802A33A + ldr r0, _0802A300 @ =0x000006EB + adds r2, r3, r0 + ldr r1, _0802A304 @ =0x000006EA + adds r0, r3, r1 + ldrb r3, [r2] + movs r1, #0 + ldrsb r1, [r2, r1] + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + bge _0802A308 + adds r0, r3, #1 + b _0802A30A + .align 2, 0 _0802A2DC: .4byte 0x020314E0 _0802A2E0: .4byte 0x000006F2 _0802A2E4: .4byte 0x000006C4 @@ -83292,262 +83292,262 @@ _0802A2FC: .4byte 0x000006DC _0802A300: .4byte 0x000006EB _0802A304: .4byte 0x000006EA _0802A308: - movs r0, #0 + movs r0, #0 _0802A30A: - strb r0, [r2] - mov r3, sb - ldr r2, [r3] - ldr r5, _0802A348 @ =0x000006EB - adds r0, r2, r5 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r1, r1, #1 - movs r3, #0xdf - lsls r3, r3, #3 - adds r0, r2, r3 - adds r0, r0, r1 - ldrh r0, [r0] - adds r5, #2 - adds r2, r2, r5 - strb r0, [r2] - movs r0, #2 - movs r1, #1 - bl sub_1C7F4 - ldr r0, _0802A34C @ =0x02032F20 - ldr r1, _0802A350 @ =0x0869F45C - bl MPlayStart + strb r0, [r2] + mov r3, sb + ldr r2, [r3] + ldr r5, _0802A348 @ =0x000006EB + adds r0, r2, r5 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r1, r1, #1 + movs r3, #0xdf + lsls r3, r3, #3 + adds r0, r2, r3 + adds r0, r0, r1 + ldrh r0, [r0] + adds r5, #2 + adds r2, r2, r5 + strb r0, [r2] + movs r0, #2 + movs r1, #1 + bl sub_1C7F4 + ldr r0, _0802A34C @ =0x02032F20 + ldr r1, _0802A350 @ =0x0869F45C + bl MPlayStart _0802A33A: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0802A348: .4byte 0x000006EB _0802A34C: .4byte 0x02032F20 _0802A350: .4byte 0x0869F45C - thumb_func_start sub_2A354 + thumb_func_start sub_2A354 sub_2A354: @ 0x0802A354 - push {r4, r5, r6, r7, lr} - ldr r4, _0802A3C4 @ =0x020314E0 - ldr r0, [r4] - ldr r5, _0802A3C8 @ =0x000006DE - adds r0, r0, r5 - ldrh r0, [r0] - cmp r0, #0xb3 - bhi _0802A3A6 - cmp r0, #4 - bne _0802A36E - movs r0, #0x14 - bl m4aSongNumStart + push {r4, r5, r6, r7, lr} + ldr r4, _0802A3C4 @ =0x020314E0 + ldr r0, [r4] + ldr r5, _0802A3C8 @ =0x000006DE + adds r0, r0, r5 + ldrh r0, [r0] + cmp r0, #0xb3 + bhi _0802A3A6 + cmp r0, #4 + bne _0802A36E + movs r0, #0x14 + bl m4aSongNumStart _0802A36E: - ldr r1, [r4] - ldr r2, _0802A3CC @ =0x000006DC - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, #3 - bne _0802A388 - adds r0, r1, r5 - ldrh r0, [r0] - cmp r0, #0x78 - bne _0802A388 - movs r0, #0xb2 - bl m4aSongNumStart + ldr r1, [r4] + ldr r2, _0802A3CC @ =0x000006DC + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, #3 + bne _0802A388 + adds r0, r1, r5 + ldrh r0, [r0] + cmp r0, #0x78 + bne _0802A388 + movs r0, #0xb2 + bl m4aSongNumStart _0802A388: - ldr r0, _0802A3C4 @ =0x020314E0 - ldr r1, [r0] - ldr r3, _0802A3C8 @ =0x000006DE - adds r1, r1, r3 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x4f - bhi _0802A3A6 - movs r0, #8 - movs r1, #0 - bl sub_1C7F4 + ldr r0, _0802A3C4 @ =0x020314E0 + ldr r1, [r0] + ldr r3, _0802A3C8 @ =0x000006DE + adds r1, r1, r3 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x4f + bhi _0802A3A6 + movs r0, #8 + movs r1, #0 + bl sub_1C7F4 _0802A3A6: - ldr r1, _0802A3C4 @ =0x020314E0 - ldr r0, [r1] - ldr r4, _0802A3CC @ =0x000006DC - adds r0, r0, r4 - ldrb r0, [r0] - adds r5, r1, #0 - cmp r0, #0x2d - bls _0802A3B8 - b _0802AAD2 + ldr r1, _0802A3C4 @ =0x020314E0 + ldr r0, [r1] + ldr r4, _0802A3CC @ =0x000006DC + adds r0, r0, r4 + ldrb r0, [r0] + adds r5, r1, #0 + cmp r0, #0x2d + bls _0802A3B8 + b _0802AAD2 _0802A3B8: - lsls r0, r0, #2 - ldr r1, _0802A3D0 @ =_0802A3D4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0802A3D0 @ =_0802A3D4 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0802A3C4: .4byte 0x020314E0 _0802A3C8: .4byte 0x000006DE _0802A3CC: .4byte 0x000006DC _0802A3D0: .4byte _0802A3D4 _0802A3D4: @ jump table - .4byte _0802A48C @ case 0 - .4byte _0802A48C @ case 1 - .4byte _0802A48C @ case 2 - .4byte _0802A4B0 @ case 3 - .4byte _0802A648 @ case 4 - .4byte _0802A668 @ case 5 - .4byte _0802A690 @ case 6 - .4byte _0802A718 @ case 7 - .4byte _0802A778 @ case 8 - .4byte _0802A798 @ case 9 - .4byte _0802A830 @ case 10 - .4byte _0802A830 @ case 11 - .4byte _0802A830 @ case 12 - .4byte _0802A864 @ case 13 - .4byte _0802AAD2 @ case 14 - .4byte _0802AAD2 @ case 15 - .4byte _0802AAD2 @ case 16 - .4byte _0802A8CC @ case 17 - .4byte _0802A8CC @ case 18 - .4byte _0802A8CC @ case 19 - .4byte _0802A924 @ case 20 - .4byte _0802A940 @ case 21 - .4byte _0802A964 @ case 22 - .4byte _0802A9A8 @ case 23 - .4byte _0802A9E0 @ case 24 - .4byte _0802A9E0 @ case 25 - .4byte _0802A9E0 @ case 26 - .4byte _0802A9E0 @ case 27 - .4byte _0802A9E0 @ case 28 - .4byte _0802A9E0 @ case 29 - .4byte _0802A9E0 @ case 30 - .4byte _0802A9E0 @ case 31 - .4byte _0802A9E0 @ case 32 - .4byte _0802AA24 @ case 33 - .4byte _0802AA44 @ case 34 - .4byte _0802AA64 @ case 35 - .4byte _0802AA84 @ case 36 - .4byte _0802AA84 @ case 37 - .4byte _0802AA84 @ case 38 - .4byte _0802AA84 @ case 39 - .4byte _0802AA84 @ case 40 - .4byte _0802AAC0 @ case 41 - .4byte _0802AAC0 @ case 42 - .4byte _0802AAC0 @ case 43 - .4byte _0802AAC0 @ case 44 - .4byte _0802AAC0 @ case 45 + .4byte _0802A48C @ case 0 + .4byte _0802A48C @ case 1 + .4byte _0802A48C @ case 2 + .4byte _0802A4B0 @ case 3 + .4byte _0802A648 @ case 4 + .4byte _0802A668 @ case 5 + .4byte _0802A690 @ case 6 + .4byte _0802A718 @ case 7 + .4byte _0802A778 @ case 8 + .4byte _0802A798 @ case 9 + .4byte _0802A830 @ case 10 + .4byte _0802A830 @ case 11 + .4byte _0802A830 @ case 12 + .4byte _0802A864 @ case 13 + .4byte _0802AAD2 @ case 14 + .4byte _0802AAD2 @ case 15 + .4byte _0802AAD2 @ case 16 + .4byte _0802A8CC @ case 17 + .4byte _0802A8CC @ case 18 + .4byte _0802A8CC @ case 19 + .4byte _0802A924 @ case 20 + .4byte _0802A940 @ case 21 + .4byte _0802A964 @ case 22 + .4byte _0802A9A8 @ case 23 + .4byte _0802A9E0 @ case 24 + .4byte _0802A9E0 @ case 25 + .4byte _0802A9E0 @ case 26 + .4byte _0802A9E0 @ case 27 + .4byte _0802A9E0 @ case 28 + .4byte _0802A9E0 @ case 29 + .4byte _0802A9E0 @ case 30 + .4byte _0802A9E0 @ case 31 + .4byte _0802A9E0 @ case 32 + .4byte _0802AA24 @ case 33 + .4byte _0802AA44 @ case 34 + .4byte _0802AA64 @ case 35 + .4byte _0802AA84 @ case 36 + .4byte _0802AA84 @ case 37 + .4byte _0802AA84 @ case 38 + .4byte _0802AA84 @ case 39 + .4byte _0802AA84 @ case 40 + .4byte _0802AAC0 @ case 41 + .4byte _0802AAC0 @ case 42 + .4byte _0802AAC0 @ case 43 + .4byte _0802AAC0 @ case 44 + .4byte _0802AAC0 @ case 45 _0802A48C: - ldr r2, [r5] - ldr r1, _0802A4A8 @ =0x000006DC - adds r0, r2, r1 - ldrb r1, [r0] - adds r1, #1 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #5 - adds r0, r0, r1 - lsls r0, r0, #3 - ldr r3, _0802A4AC @ =0x00000724 - adds r2, r2, r3 - strh r0, [r2] - b _0802AAD2 - .align 2, 0 + ldr r2, [r5] + ldr r1, _0802A4A8 @ =0x000006DC + adds r0, r2, r1 + ldrb r1, [r0] + adds r1, #1 + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #5 + adds r0, r0, r1 + lsls r0, r0, #3 + ldr r3, _0802A4AC @ =0x00000724 + adds r2, r2, r3 + strh r0, [r2] + b _0802AAD2 + .align 2, 0 _0802A4A8: .4byte 0x000006DC _0802A4AC: .4byte 0x00000724 _0802A4B0: - ldr r4, [r5] - adds r0, r4, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - bne _0802A578 - ldr r2, _0802A560 @ =0x000006DE - adds r0, r4, r2 - ldrh r0, [r0] - cmp r0, #0x7c - bls _0802A4E2 - movs r0, #0xd7 - lsls r0, r0, #1 - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, #0x63 - bhi _0802A4E2 - adds r0, #1 - strb r0, [r1] - ldr r0, [r5] - adds r0, r0, r2 - movs r1, #0x7c - strh r1, [r0] + ldr r4, [r5] + adds r0, r4, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + bne _0802A578 + ldr r2, _0802A560 @ =0x000006DE + adds r0, r4, r2 + ldrh r0, [r0] + cmp r0, #0x7c + bls _0802A4E2 + movs r0, #0xd7 + lsls r0, r0, #1 + adds r1, r4, r0 + ldrb r0, [r1] + cmp r0, #0x63 + bhi _0802A4E2 + adds r0, #1 + strb r0, [r1] + ldr r0, [r5] + adds r0, r0, r2 + movs r1, #0x7c + strh r1, [r0] _0802A4E2: - ldr r3, [r5] - ldr r1, _0802A560 @ =0x000006DE - adds r0, r3, r1 - ldrh r0, [r0] - cmp r0, #4 - beq _0802A4F0 - b _0802AAD2 + ldr r3, [r5] + ldr r1, _0802A560 @ =0x000006DE + adds r0, r3, r1 + ldrh r0, [r0] + cmp r0, #4 + beq _0802A4F0 + b _0802AAD2 _0802A4F0: - movs r2, #0xe3 - lsls r2, r2, #1 - adds r0, r3, r2 - movs r2, #0 - movs r1, #0xa8 - strh r1, [r0] - movs r4, #0xe4 - lsls r4, r4, #1 - adds r0, r3, r4 - strh r1, [r0] - movs r1, #0xe6 - lsls r1, r1, #1 - adds r0, r3, r1 - movs r1, #0xd - strh r1, [r0] - adds r4, #2 - adds r0, r3, r4 - strh r1, [r0] - movs r1, #0xe8 - lsls r1, r1, #1 - adds r0, r3, r1 - strh r2, [r0] - adds r4, #0xc - adds r1, r3, r4 - movs r0, #0x78 - strh r0, [r1] - movs r0, #0xee - lsls r0, r0, #1 - adds r1, r3, r0 - movs r0, #0x3c - strh r0, [r1] - ldr r1, _0802A564 @ =0x040000D4 - ldr r0, _0802A568 @ =0x084C156C - str r0, [r1] - ldr r0, _0802A56C @ =0x06010600 - str r0, [r1, #4] - ldr r0, _0802A570 @ =0x800000C0 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, [r5] - movs r3, #0xf1 - lsls r3, r3, #1 - adds r1, r0, r3 - movs r0, #2 - strb r0, [r1] - ldr r0, _0802A574 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0xa4 - ldr r0, [r0] - strh r2, [r0] - ldr r0, [r5] - subs r4, #0x16 - adds r0, r0, r4 - movs r1, #1 - strh r1, [r0] - b _0802AAD2 - .align 2, 0 + movs r2, #0xe3 + lsls r2, r2, #1 + adds r0, r3, r2 + movs r2, #0 + movs r1, #0xa8 + strh r1, [r0] + movs r4, #0xe4 + lsls r4, r4, #1 + adds r0, r3, r4 + strh r1, [r0] + movs r1, #0xe6 + lsls r1, r1, #1 + adds r0, r3, r1 + movs r1, #0xd + strh r1, [r0] + adds r4, #2 + adds r0, r3, r4 + strh r1, [r0] + movs r1, #0xe8 + lsls r1, r1, #1 + adds r0, r3, r1 + strh r2, [r0] + adds r4, #0xc + adds r1, r3, r4 + movs r0, #0x78 + strh r0, [r1] + movs r0, #0xee + lsls r0, r0, #1 + adds r1, r3, r0 + movs r0, #0x3c + strh r0, [r1] + ldr r1, _0802A564 @ =0x040000D4 + ldr r0, _0802A568 @ =0x084C156C + str r0, [r1] + ldr r0, _0802A56C @ =0x06010600 + str r0, [r1, #4] + ldr r0, _0802A570 @ =0x800000C0 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, [r5] + movs r3, #0xf1 + lsls r3, r3, #1 + adds r1, r0, r3 + movs r0, #2 + strb r0, [r1] + ldr r0, _0802A574 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0xa4 + ldr r0, [r0] + strh r2, [r0] + ldr r0, [r5] + subs r4, #0x16 + adds r0, r0, r4 + movs r1, #1 + strh r1, [r0] + b _0802AAD2 + .align 2, 0 _0802A560: .4byte 0x000006DE _0802A564: .4byte 0x040000D4 _0802A568: .4byte 0x084C156C @@ -83555,343 +83555,343 @@ _0802A56C: .4byte 0x06010600 _0802A570: .4byte 0x800000C0 _0802A574: .4byte 0x0200B0C0 _0802A578: - ldr r7, _0802A640 @ =0x000006DE - adds r0, r4, r7 - ldrh r6, [r0] - cmp r6, #0x78 - bne _0802A61E - ldr r2, _0802A644 @ =0x0200B0C0 - ldrb r1, [r2, #0xf] - movs r0, #1 - movs r3, #0 - orrs r0, r1 - strb r0, [r2, #0xf] - adds r0, r4, #0 - adds r0, #0xea - movs r2, #0 - strh r3, [r0] - adds r1, r4, #0 - adds r1, #0xec - movs r0, #0xfa - strh r0, [r1] - subs r1, #4 - adds r0, #0x16 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xe6 - strh r3, [r0] - adds r1, #6 - movs r0, #2 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xf2 - strb r2, [r0] - ldr r0, [r5] - adds r0, #0xfa - movs r1, #1 - strb r1, [r0] - ldr r0, [r5] - adds r0, #0xfb - strb r2, [r0] - ldr r0, [r5] - movs r4, #0xdf - lsls r4, r4, #1 - adds r0, r0, r4 - strb r1, [r0] - ldr r4, [r5] - movs r0, #0xe0 - lsls r0, r0, #1 - adds r1, r4, r0 - movs r0, #0xc8 - lsls r0, r0, #2 - strh r0, [r1] - movs r1, #0xf1 - lsls r1, r1, #1 - adds r0, r4, r1 - strb r2, [r0] - ldr r2, [r5] - movs r4, #0xe3 - lsls r4, r4, #1 - adds r0, r2, r4 - movs r1, #0xa8 - strh r1, [r0] - adds r4, #2 - adds r0, r2, r4 - strh r1, [r0] - movs r1, #0xe6 - lsls r1, r1, #1 - adds r0, r2, r1 - movs r1, #0xd - strh r1, [r0] - adds r4, #2 - adds r0, r2, r4 - strh r1, [r0] - movs r1, #0xe8 - lsls r1, r1, #1 - adds r0, r2, r1 - strh r3, [r0] - movs r3, #0xeb - lsls r3, r3, #1 - adds r0, r2, r3 - strh r6, [r0] - adds r4, #0x12 - adds r1, r2, r4 - movs r0, #0x3c - strh r0, [r1] + ldr r7, _0802A640 @ =0x000006DE + adds r0, r4, r7 + ldrh r6, [r0] + cmp r6, #0x78 + bne _0802A61E + ldr r2, _0802A644 @ =0x0200B0C0 + ldrb r1, [r2, #0xf] + movs r0, #1 + movs r3, #0 + orrs r0, r1 + strb r0, [r2, #0xf] + adds r0, r4, #0 + adds r0, #0xea + movs r2, #0 + strh r3, [r0] + adds r1, r4, #0 + adds r1, #0xec + movs r0, #0xfa + strh r0, [r1] + subs r1, #4 + adds r0, #0x16 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xe6 + strh r3, [r0] + adds r1, #6 + movs r0, #2 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xf2 + strb r2, [r0] + ldr r0, [r5] + adds r0, #0xfa + movs r1, #1 + strb r1, [r0] + ldr r0, [r5] + adds r0, #0xfb + strb r2, [r0] + ldr r0, [r5] + movs r4, #0xdf + lsls r4, r4, #1 + adds r0, r0, r4 + strb r1, [r0] + ldr r4, [r5] + movs r0, #0xe0 + lsls r0, r0, #1 + adds r1, r4, r0 + movs r0, #0xc8 + lsls r0, r0, #2 + strh r0, [r1] + movs r1, #0xf1 + lsls r1, r1, #1 + adds r0, r4, r1 + strb r2, [r0] + ldr r2, [r5] + movs r4, #0xe3 + lsls r4, r4, #1 + adds r0, r2, r4 + movs r1, #0xa8 + strh r1, [r0] + adds r4, #2 + adds r0, r2, r4 + strh r1, [r0] + movs r1, #0xe6 + lsls r1, r1, #1 + adds r0, r2, r1 + movs r1, #0xd + strh r1, [r0] + adds r4, #2 + adds r0, r2, r4 + strh r1, [r0] + movs r1, #0xe8 + lsls r1, r1, #1 + adds r0, r2, r1 + strh r3, [r0] + movs r3, #0xeb + lsls r3, r3, #1 + adds r0, r2, r3 + strh r6, [r0] + adds r4, #0x12 + adds r1, r2, r4 + movs r0, #0x3c + strh r0, [r1] _0802A61E: - ldr r1, [r5] - movs r2, #0xe0 - lsls r2, r2, #1 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #0 - bne _0802A62E - b _0802AAD2 + ldr r1, [r5] + movs r2, #0xe0 + lsls r2, r2, #1 + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #0 + bne _0802A62E + b _0802AAD2 _0802A62E: - adds r1, r1, r7 - ldrh r0, [r1] - cmp r0, #0xaf - bhi _0802A638 - b _0802AAD2 + adds r1, r1, r7 + ldrh r0, [r1] + cmp r0, #0xaf + bhi _0802A638 + b _0802AAD2 _0802A638: - movs r0, #0xb0 - strh r0, [r1] - b _0802AAD2 - .align 2, 0 + movs r0, #0xb0 + strh r0, [r1] + b _0802AAD2 + .align 2, 0 _0802A640: .4byte 0x000006DE _0802A644: .4byte 0x0200B0C0 _0802A648: - ldr r1, [r5] - ldr r3, _0802A660 @ =0x000006DE - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, #0x82 - beq _0802A656 - b _0802AAD2 + ldr r1, [r5] + ldr r3, _0802A660 @ =0x000006DE + adds r0, r1, r3 + ldrh r0, [r0] + cmp r0, #0x82 + beq _0802A656 + b _0802AAD2 _0802A656: - ldr r4, _0802A664 @ =0x00000286 - adds r1, r1, r4 - movs r0, #0x5a - strh r0, [r1] - b _0802AAD2 - .align 2, 0 + ldr r4, _0802A664 @ =0x00000286 + adds r1, r1, r4 + movs r0, #0x5a + strh r0, [r1] + b _0802AAD2 + .align 2, 0 _0802A660: .4byte 0x000006DE _0802A664: .4byte 0x00000286 _0802A668: - ldr r4, [r5] - ldr r0, _0802A688 @ =0x000006DE - adds r1, r4, r0 - ldrh r0, [r1] - cmp r0, #0x5f - beq _0802A676 - b _0802AAD2 + ldr r4, [r5] + ldr r0, _0802A688 @ =0x000006DE + adds r1, r4, r0 + ldrh r0, [r1] + cmp r0, #0x5f + beq _0802A676 + b _0802AAD2 _0802A676: - movs r0, #0xc - strh r0, [r1] - ldr r0, _0802A68C @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #3 - bl __umodsi3 - adds r0, #0x21 - b _0802A744 - .align 2, 0 + movs r0, #0xc + strh r0, [r1] + ldr r0, _0802A68C @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #3 + bl __umodsi3 + adds r0, #0x21 + b _0802A744 + .align 2, 0 _0802A688: .4byte 0x000006DE _0802A68C: .4byte 0x0200B0C0 _0802A690: - ldr r4, [r5] - ldr r3, _0802A6BC @ =0x000006DE - adds r1, r4, r3 - ldrh r0, [r1] - cmp r0, #0x5f - beq _0802A69E - b _0802AAD2 + ldr r4, [r5] + ldr r3, _0802A6BC @ =0x000006DE + adds r1, r4, r3 + ldrh r0, [r1] + cmp r0, #0x5f + beq _0802A69E + b _0802AAD2 _0802A69E: - movs r0, #0xc - strh r0, [r1] - ldr r0, _0802A6C0 @ =0x000006E9 - adds r1, r4, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #5 - bgt _0802A6C8 - ldr r0, _0802A6C4 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #3 - bl __umodsi3 - adds r0, #0x18 - b _0802A744 - .align 2, 0 + movs r0, #0xc + strh r0, [r1] + ldr r0, _0802A6C0 @ =0x000006E9 + adds r1, r4, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #5 + bgt _0802A6C8 + ldr r0, _0802A6C4 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #3 + bl __umodsi3 + adds r0, #0x18 + b _0802A744 + .align 2, 0 _0802A6BC: .4byte 0x000006DE _0802A6C0: .4byte 0x000006E9 _0802A6C4: .4byte 0x0200B0C0 _0802A6C8: - cmp r0, #0xa - bgt _0802A6E0 - ldr r0, _0802A6DC @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #5 - bl __umodsi3 - adds r0, #0x18 - b _0802A768 - .align 2, 0 + cmp r0, #0xa + bgt _0802A6E0 + ldr r0, _0802A6DC @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #5 + bl __umodsi3 + adds r0, #0x18 + b _0802A768 + .align 2, 0 _0802A6DC: .4byte 0x0200B0C0 _0802A6E0: - movs r0, #0 - ldrsb r0, [r1, r0] - movs r1, #5 - bl __modsi3 - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802A704 - ldr r0, _0802A700 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #5 - bl __umodsi3 - adds r0, #0x1c - b _0802A744 - .align 2, 0 + movs r0, #0 + ldrsb r0, [r1, r0] + movs r1, #5 + bl __modsi3 + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0802A704 + ldr r0, _0802A700 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #5 + bl __umodsi3 + adds r0, #0x1c + b _0802A744 + .align 2, 0 _0802A700: .4byte 0x0200B0C0 _0802A704: - ldr r0, _0802A714 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #7 - bl __umodsi3 - adds r0, #0x18 - b _0802A768 - .align 2, 0 + ldr r0, _0802A714 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #7 + bl __umodsi3 + adds r0, #0x18 + b _0802A768 + .align 2, 0 _0802A714: .4byte 0x0200B0C0 _0802A718: - ldr r4, [r5] - ldr r0, _0802A74C @ =0x000006DE - adds r1, r4, r0 - ldrh r0, [r1] - cmp r0, #0x5f - beq _0802A726 - b _0802AAD2 + ldr r4, [r5] + ldr r0, _0802A74C @ =0x000006DE + adds r1, r4, r0 + ldrh r0, [r1] + cmp r0, #0x5f + beq _0802A726 + b _0802AAD2 _0802A726: - movs r0, #0xc - strh r0, [r1] - ldr r1, _0802A750 @ =0x000006E9 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #9 - bgt _0802A75C - ldr r0, _0802A754 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #3 - bl __umodsi3 - adds r0, #0x24 + movs r0, #0xc + strh r0, [r1] + ldr r1, _0802A750 @ =0x000006E9 + adds r0, r4, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #9 + bgt _0802A75C + ldr r0, _0802A754 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #3 + bl __umodsi3 + adds r0, #0x24 _0802A744: - ldr r2, _0802A758 @ =0x000006DC - adds r1, r4, r2 - strb r0, [r1] - b _0802AAD2 - .align 2, 0 + ldr r2, _0802A758 @ =0x000006DC + adds r1, r4, r2 + strb r0, [r1] + b _0802AAD2 + .align 2, 0 _0802A74C: .4byte 0x000006DE _0802A750: .4byte 0x000006E9 _0802A754: .4byte 0x0200B0C0 _0802A758: .4byte 0x000006DC _0802A75C: - ldr r0, _0802A770 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #5 - bl __umodsi3 - adds r0, #0x24 + ldr r0, _0802A770 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #5 + bl __umodsi3 + adds r0, #0x24 _0802A768: - ldr r3, _0802A774 @ =0x000006DC - adds r1, r4, r3 - strb r0, [r1] - b _0802AAD2 - .align 2, 0 + ldr r3, _0802A774 @ =0x000006DC + adds r1, r4, r3 + strb r0, [r1] + b _0802AAD2 + .align 2, 0 _0802A770: .4byte 0x0200B0C0 _0802A774: .4byte 0x000006DC _0802A778: - ldr r0, [r5] - ldr r4, _0802A794 @ =0x000006DE - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0x96 - beq _0802A786 - b _0802AAD2 + ldr r0, [r5] + ldr r4, _0802A794 @ =0x000006DE + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0x96 + beq _0802A786 + b _0802AAD2 _0802A786: - movs r0, #4 - bl sub_19B64 - ldr r1, [r5] - movs r0, #0x64 - strh r0, [r1, #0x28] - b _0802AAD2 - .align 2, 0 + movs r0, #4 + bl sub_19B64 + ldr r1, [r5] + movs r0, #0x64 + strh r0, [r1, #0x28] + b _0802AAD2 + .align 2, 0 _0802A794: .4byte 0x000006DE _0802A798: - ldr r1, [r5] - ldr r2, _0802A818 @ =0x00000281 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bgt _0802A7AA - b _0802AAD2 + ldr r1, [r5] + ldr r2, _0802A818 @ =0x00000281 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bgt _0802A7AA + b _0802AAD2 _0802A7AA: - ldr r4, _0802A81C @ =0x000006DE - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, #0x95 - bne _0802A7C6 - movs r3, #0xdd - lsls r3, r3, #1 - adds r2, r1, r3 - movs r0, #0xb4 - strh r0, [r2] - ldr r0, _0802A820 @ =0x000006C4 - adds r1, r1, r0 - movs r0, #3 - strb r0, [r1] + ldr r4, _0802A81C @ =0x000006DE + adds r0, r1, r4 + ldrh r0, [r0] + cmp r0, #0x95 + bne _0802A7C6 + movs r3, #0xdd + lsls r3, r3, #1 + adds r2, r1, r3 + movs r0, #0xb4 + strh r0, [r2] + ldr r0, _0802A820 @ =0x000006C4 + adds r1, r1, r0 + movs r0, #3 + strb r0, [r1] _0802A7C6: - ldr r2, [r5] - adds r1, r2, r4 - ldrh r0, [r1] - cmp r0, #0x96 - bne _0802A7F2 - movs r0, #0x95 - strh r0, [r1] - ldr r3, _0802A824 @ =0x000001A5 - adds r1, r2, r3 - movs r0, #1 - strb r0, [r1] - bl sub_1B140 - ldr r0, [r5] - ldr r1, _0802A828 @ =0x0000036A - adds r0, r0, r1 - movs r1, #3 - strb r1, [r0] - ldr r0, [r5] - ldr r2, _0802A82C @ =0x0000036B - adds r0, r0, r2 - strb r1, [r0] + ldr r2, [r5] + adds r1, r2, r4 + ldrh r0, [r1] + cmp r0, #0x96 + bne _0802A7F2 + movs r0, #0x95 + strh r0, [r1] + ldr r3, _0802A824 @ =0x000001A5 + adds r1, r2, r3 + movs r0, #1 + strb r0, [r1] + bl sub_1B140 + ldr r0, [r5] + ldr r1, _0802A828 @ =0x0000036A + adds r0, r0, r1 + movs r1, #3 + strb r1, [r0] + ldr r0, [r5] + ldr r2, _0802A82C @ =0x0000036B + adds r0, r0, r2 + strb r1, [r0] _0802A7F2: - ldr r1, [r5] - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, #0xaa - beq _0802A7FE - b _0802AAD2 + ldr r1, [r5] + adds r0, r1, r4 + ldrh r0, [r0] + cmp r0, #0xaa + beq _0802A7FE + b _0802AAD2 _0802A7FE: - movs r3, #0xbc - lsls r3, r3, #2 - adds r0, r1, r3 - movs r1, #0 - strb r1, [r0] - ldr r0, [r5] - ldr r4, _0802A824 @ =0x000001A5 - adds r0, r0, r4 - strb r1, [r0] - movs r0, #6 - bl sub_19B64 - b _0802AAD2 - .align 2, 0 + movs r3, #0xbc + lsls r3, r3, #2 + adds r0, r1, r3 + movs r1, #0 + strb r1, [r0] + ldr r0, [r5] + ldr r4, _0802A824 @ =0x000001A5 + adds r0, r0, r4 + strb r1, [r0] + movs r0, #6 + bl sub_19B64 + b _0802AAD2 + .align 2, 0 _0802A818: .4byte 0x00000281 _0802A81C: .4byte 0x000006DE _0802A820: .4byte 0x000006C4 @@ -83899,73 +83899,73 @@ _0802A824: .4byte 0x000001A5 _0802A828: .4byte 0x0000036A _0802A82C: .4byte 0x0000036B _0802A830: - ldr r1, [r5] - ldr r2, _0802A85C @ =0x000006DE - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #0x82 - beq _0802A83E - b _0802AAD2 + ldr r1, [r5] + ldr r2, _0802A85C @ =0x000006DE + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #0x82 + beq _0802A83E + b _0802AAD2 _0802A83E: - ldr r4, _0802A860 @ =0x000005F6 - adds r1, r1, r4 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #2 - bgt _0802A850 - adds r0, r2, #1 - strb r0, [r1] + ldr r4, _0802A860 @ =0x000005F6 + adds r1, r1, r4 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #2 + bgt _0802A850 + adds r0, r2, #1 + strb r0, [r1] _0802A850: - ldr r0, [r5] - movs r3, #0xbf - lsls r3, r3, #3 - adds r0, r0, r3 - b _0802A882 - .align 2, 0 + ldr r0, [r5] + movs r3, #0xbf + lsls r3, r3, #3 + adds r0, r0, r3 + b _0802A882 + .align 2, 0 _0802A85C: .4byte 0x000006DE _0802A860: .4byte 0x000005F6 _0802A864: - ldr r1, [r5] - ldr r4, _0802A8B0 @ =0x000006DE - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, #0x82 - beq _0802A872 - b _0802AAD2 + ldr r1, [r5] + ldr r4, _0802A8B0 @ =0x000006DE + adds r0, r1, r4 + ldrh r0, [r0] + cmp r0, #0x82 + beq _0802A872 + b _0802AAD2 _0802A872: - subs r4, #0xe8 - adds r1, r1, r4 - movs r0, #3 - strb r0, [r1] - ldr r0, [r5] - movs r1, #0xbf - lsls r1, r1, #3 - adds r0, r0, r1 + subs r4, #0xe8 + adds r1, r1, r4 + movs r0, #3 + strb r0, [r1] + ldr r0, [r5] + movs r1, #0xbf + lsls r1, r1, #3 + adds r0, r0, r1 _0802A882: - movs r1, #0xe1 - lsls r1, r1, #4 - strh r1, [r0] - ldr r0, _0802A8B4 @ =0x02032F20 - ldr r1, _0802A8B8 @ =0x0869F664 - bl MPlayStart - ldr r2, _0802A8BC @ =0x040000D4 - ldr r0, [r5] - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #5 - ldr r1, _0802A8C0 @ =0x08137E14 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802A8C4 @ =0x05000220 - str r0, [r2, #4] - ldr r0, _0802A8C8 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - b _0802AAD2 - .align 2, 0 + movs r1, #0xe1 + lsls r1, r1, #4 + strh r1, [r0] + ldr r0, _0802A8B4 @ =0x02032F20 + ldr r1, _0802A8B8 @ =0x0869F664 + bl MPlayStart + ldr r2, _0802A8BC @ =0x040000D4 + ldr r0, [r5] + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #5 + ldr r1, _0802A8C0 @ =0x08137E14 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802A8C4 @ =0x05000220 + str r0, [r2, #4] + ldr r0, _0802A8C8 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + b _0802AAD2 + .align 2, 0 _0802A8B0: .4byte 0x000006DE _0802A8B4: .4byte 0x02032F20 _0802A8B8: .4byte 0x0869F664 @@ -83974,495 +83974,495 @@ _0802A8C0: .4byte 0x08137E14 _0802A8C4: .4byte 0x05000220 _0802A8C8: .4byte 0x80000010 _0802A8CC: - ldr r1, [r5] - ldr r4, _0802A918 @ =0x000006DE - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, #0x82 - bne _0802A906 - ldr r2, _0802A91C @ =0x0000072B - adds r1, r1, r2 - movs r3, #0 - movs r0, #1 - strb r0, [r1] - ldr r2, [r5] - ldr r1, _0802A920 @ =0x000006DC - adds r0, r2, r1 - ldrb r1, [r0] - subs r1, #0x11 - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, #0xa - movs r1, #0xca - lsls r1, r1, #1 - adds r2, r2, r1 - strb r0, [r2] - ldr r0, [r5] - movs r2, #0xcb - lsls r2, r2, #1 - adds r0, r0, r2 - strh r3, [r0] + ldr r1, [r5] + ldr r4, _0802A918 @ =0x000006DE + adds r0, r1, r4 + ldrh r0, [r0] + cmp r0, #0x82 + bne _0802A906 + ldr r2, _0802A91C @ =0x0000072B + adds r1, r1, r2 + movs r3, #0 + movs r0, #1 + strb r0, [r1] + ldr r2, [r5] + ldr r1, _0802A920 @ =0x000006DC + adds r0, r2, r1 + ldrb r1, [r0] + subs r1, #0x11 + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #2 + adds r0, #0xa + movs r1, #0xca + lsls r1, r1, #1 + adds r2, r2, r1 + strb r0, [r2] + ldr r0, [r5] + movs r2, #0xcb + lsls r2, r2, #1 + adds r0, r0, r2 + strh r3, [r0] _0802A906: - ldr r0, [r5] - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, #0x8c - beq _0802A912 - b _0802AAD2 + ldr r0, [r5] + adds r1, r0, r4 + ldrh r0, [r1] + cmp r0, #0x8c + beq _0802A912 + b _0802AAD2 _0802A912: - movs r0, #0x8b - strh r0, [r1] - b _0802AAD2 - .align 2, 0 + movs r0, #0x8b + strh r0, [r1] + b _0802AAD2 + .align 2, 0 _0802A918: .4byte 0x000006DE _0802A91C: .4byte 0x0000072B _0802A920: .4byte 0x000006DC _0802A924: - ldr r1, [r5] - ldr r3, _0802A93C @ =0x000006DE - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, #0x82 - beq _0802A932 - b _0802AAD2 + ldr r1, [r5] + ldr r3, _0802A93C @ =0x000006DE + adds r0, r1, r3 + ldrh r0, [r0] + cmp r0, #0x82 + beq _0802A932 + b _0802AAD2 _0802A932: - adds r1, #0x6c - movs r0, #0xe1 - lsls r0, r0, #3 - strh r0, [r1] - b _0802AAD2 - .align 2, 0 + adds r1, #0x6c + movs r0, #0xe1 + lsls r0, r0, #3 + strh r0, [r1] + b _0802AAD2 + .align 2, 0 _0802A93C: .4byte 0x000006DE _0802A940: - ldr r1, [r5] - ldr r4, _0802A960 @ =0x000006DE - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, #0x96 - beq _0802A94E - b _0802AAD2 + ldr r1, [r5] + ldr r4, _0802A960 @ =0x000006DE + adds r0, r1, r4 + ldrh r0, [r0] + cmp r0, #0x96 + beq _0802A94E + b _0802AAD2 _0802A94E: - movs r0, #0x64 - strh r0, [r1, #0x28] - adds r1, #0x72 - movs r0, #0xf - strb r0, [r1] - movs r0, #8 - bl sub_19B64 - b _0802AAD2 - .align 2, 0 + movs r0, #0x64 + strh r0, [r1, #0x28] + adds r1, #0x72 + movs r0, #0xf + strb r0, [r1] + movs r0, #8 + bl sub_19B64 + b _0802AAD2 + .align 2, 0 _0802A960: .4byte 0x000006DE _0802A964: - ldr r1, [r5] - ldr r2, _0802A9A0 @ =0x000006DE - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #0x96 - beq _0802A972 - b _0802AAD2 + ldr r1, [r5] + ldr r2, _0802A9A0 @ =0x000006DE + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #0x96 + beq _0802A972 + b _0802AAD2 _0802A972: - movs r3, #0xa9 - lsls r3, r3, #2 - adds r0, r1, r3 - movs r2, #0 - ldrsb r2, [r0, r2] - cmp r2, #0 - beq _0802A982 - b _0802AAD2 + movs r3, #0xa9 + lsls r3, r3, #2 + adds r0, r1, r3 + movs r2, #0 + ldrsb r2, [r0, r2] + cmp r2, #0 + beq _0802A982 + b _0802AAD2 _0802A982: - movs r4, #0xba - lsls r4, r4, #1 - adds r0, r1, r4 - strh r2, [r0] - ldr r2, _0802A9A4 @ =0x0000016F - adds r0, r1, r2 - movs r1, #1 - strb r1, [r0] - ldr r0, [r5] - movs r3, #0xb1 - lsls r3, r3, #1 - adds r0, r0, r3 - strb r1, [r0] - b _0802AAD2 - .align 2, 0 + movs r4, #0xba + lsls r4, r4, #1 + adds r0, r1, r4 + strh r2, [r0] + ldr r2, _0802A9A4 @ =0x0000016F + adds r0, r1, r2 + movs r1, #1 + strb r1, [r0] + ldr r0, [r5] + movs r3, #0xb1 + lsls r3, r3, #1 + adds r0, r0, r3 + strb r1, [r0] + b _0802AAD2 + .align 2, 0 _0802A9A0: .4byte 0x000006DE _0802A9A4: .4byte 0x0000016F _0802A9A8: - ldr r2, [r5] - ldr r4, _0802A9D8 @ =0x000006DE - adds r0, r2, r4 - ldrh r0, [r0] - cmp r0, #0x96 - beq _0802A9B6 - b _0802AAD2 + ldr r2, [r5] + ldr r4, _0802A9D8 @ =0x000006DE + adds r0, r2, r4 + ldrh r0, [r0] + cmp r0, #0x96 + beq _0802A9B6 + b _0802AAD2 _0802A9B6: - movs r0, #0xc2 - lsls r0, r0, #2 - adds r1, r2, r0 - movs r0, #0x64 - strh r0, [r1] - movs r3, #0xc3 - lsls r3, r3, #2 - adds r1, r2, r3 - movs r0, #0xe1 - lsls r0, r0, #3 - strh r0, [r1] - ldr r4, _0802A9DC @ =0x00000306 - adds r1, r2, r4 - movs r0, #1 - strb r0, [r1] - b _0802AAD2 - .align 2, 0 + movs r0, #0xc2 + lsls r0, r0, #2 + adds r1, r2, r0 + movs r0, #0x64 + strh r0, [r1] + movs r3, #0xc3 + lsls r3, r3, #2 + adds r1, r2, r3 + movs r0, #0xe1 + lsls r0, r0, #3 + strh r0, [r1] + ldr r4, _0802A9DC @ =0x00000306 + adds r1, r2, r4 + movs r0, #1 + strb r0, [r1] + b _0802AAD2 + .align 2, 0 _0802A9D8: .4byte 0x000006DE _0802A9DC: .4byte 0x00000306 _0802A9E0: - ldr r1, [r5] - ldrb r0, [r1, #0x1c] - cmp r0, #0 - beq _0802A9F0 - ldr r0, _0802AA1C @ =0x000006DE - adds r1, r1, r0 - movs r0, #0x51 - strh r0, [r1] + ldr r1, [r5] + ldrb r0, [r1, #0x1c] + cmp r0, #0 + beq _0802A9F0 + ldr r0, _0802AA1C @ =0x000006DE + adds r1, r1, r0 + movs r0, #0x51 + strh r0, [r1] _0802A9F0: - ldr r1, [r5] - ldr r2, _0802AA1C @ =0x000006DE - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #0x46 - bne _0802AAD2 - movs r0, #1 - strb r0, [r1, #0x1c] - ldr r3, [r5] - ldr r4, _0802AA20 @ =0x000006DC - adds r0, r3, r4 - ldrb r2, [r0] - subs r2, #0x17 - 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 - str r0, [r3, #0x3c] - b _0802AAD2 - .align 2, 0 + ldr r1, [r5] + ldr r2, _0802AA1C @ =0x000006DE + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #0x46 + bne _0802AAD2 + movs r0, #1 + strb r0, [r1, #0x1c] + ldr r3, [r5] + ldr r4, _0802AA20 @ =0x000006DC + adds r0, r3, r4 + ldrb r2, [r0] + subs r2, #0x17 + 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 + str r0, [r3, #0x3c] + b _0802AAD2 + .align 2, 0 _0802AA1C: .4byte 0x000006DE _0802AA20: .4byte 0x000006DC _0802AA24: - ldr r0, [r5] - ldr r1, _0802AA40 @ =0x000006DE - adds r0, r0, r1 - ldrh r0, [r0] - cmp r0, #0x46 - bne _0802AAD2 - movs r0, #0x91 - bl m4aSongNumStart - ldr r1, [r5] - movs r0, #0x64 - str r0, [r1, #0x3c] - b _0802AAD2 - .align 2, 0 + ldr r0, [r5] + ldr r1, _0802AA40 @ =0x000006DE + adds r0, r0, r1 + ldrh r0, [r0] + cmp r0, #0x46 + bne _0802AAD2 + movs r0, #0x91 + bl m4aSongNumStart + ldr r1, [r5] + movs r0, #0x64 + str r0, [r1, #0x3c] + b _0802AAD2 + .align 2, 0 _0802AA40: .4byte 0x000006DE _0802AA44: - ldr r0, [r5] - ldr r2, _0802AA60 @ =0x000006DE - adds r0, r0, r2 - ldrh r0, [r0] - cmp r0, #0x46 - bne _0802AAD2 - movs r0, #0x91 - bl m4aSongNumStart - ldr r1, [r5] - movs r0, #0xfa - lsls r0, r0, #1 - str r0, [r1, #0x3c] - b _0802AAD2 - .align 2, 0 + ldr r0, [r5] + ldr r2, _0802AA60 @ =0x000006DE + adds r0, r0, r2 + ldrh r0, [r0] + cmp r0, #0x46 + bne _0802AAD2 + movs r0, #0x91 + bl m4aSongNumStart + ldr r1, [r5] + movs r0, #0xfa + lsls r0, r0, #1 + str r0, [r1, #0x3c] + b _0802AAD2 + .align 2, 0 _0802AA60: .4byte 0x000006DE _0802AA64: - ldr r0, [r5] - ldr r3, _0802AA80 @ =0x000006DE - adds r0, r0, r3 - ldrh r0, [r0] - cmp r0, #0x46 - bne _0802AAD2 - movs r0, #0x91 - bl m4aSongNumStart - ldr r1, [r5] - movs r0, #0xe1 - lsls r0, r0, #2 - str r0, [r1, #0x3c] - b _0802AAD2 - .align 2, 0 + ldr r0, [r5] + ldr r3, _0802AA80 @ =0x000006DE + adds r0, r0, r3 + ldrh r0, [r0] + cmp r0, #0x46 + bne _0802AAD2 + movs r0, #0x91 + bl m4aSongNumStart + ldr r1, [r5] + movs r0, #0xe1 + lsls r0, r0, #2 + str r0, [r1, #0x3c] + b _0802AAD2 + .align 2, 0 _0802AA80: .4byte 0x000006DE _0802AA84: - ldr r4, [r5] - ldr r1, _0802AAB4 @ =0x000006DE - adds r0, r4, r1 - ldrh r0, [r0] - cmp r0, #0x46 - bne _0802AAD2 - ldr r2, _0802AAB8 @ =0x0000070E - adds r1, r4, r2 - ldr r3, _0802AABC @ =0x000006DC - adds r0, r4, r3 - ldrb r0, [r0] - adds r0, #0xdd - ldrb r4, [r1] - adds r0, r0, r4 - strb r0, [r1] - ldr r0, [r5] - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x63 - ble _0802AAD2 - movs r0, #0x63 - strb r0, [r1] - b _0802AAD2 - .align 2, 0 + ldr r4, [r5] + ldr r1, _0802AAB4 @ =0x000006DE + adds r0, r4, r1 + ldrh r0, [r0] + cmp r0, #0x46 + bne _0802AAD2 + ldr r2, _0802AAB8 @ =0x0000070E + adds r1, r4, r2 + ldr r3, _0802AABC @ =0x000006DC + adds r0, r4, r3 + ldrb r0, [r0] + adds r0, #0xdd + ldrb r4, [r1] + adds r0, r0, r4 + strb r0, [r1] + ldr r0, [r5] + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x63 + ble _0802AAD2 + movs r0, #0x63 + strb r0, [r1] + b _0802AAD2 + .align 2, 0 _0802AAB4: .4byte 0x000006DE _0802AAB8: .4byte 0x0000070E _0802AABC: .4byte 0x000006DC _0802AAC0: - ldr r0, [r5] - ldr r1, _0802AAD8 @ =0x000006DE - adds r0, r0, r1 - ldrh r0, [r0] - cmp r0, #0x96 - bne _0802AAD2 - movs r0, #3 - bl sub_19B64 + ldr r0, [r5] + ldr r1, _0802AAD8 @ =0x000006DE + adds r0, r0, r1 + ldrh r0, [r0] + cmp r0, #0x96 + bne _0802AAD2 + movs r0, #3 + bl sub_19B64 _0802AAD2: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0802AAD8: .4byte 0x000006DE - thumb_func_start sub_2AADC + thumb_func_start sub_2AADC sub_2AADC: @ 0x0802AADC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r0, _0802AB5C @ =0x020314E0 - ldr r3, [r0] - ldrb r5, [r3, #0x1e] - cmp r5, #0 - beq _0802AAF6 - bl sub_2C518 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r0, _0802AB5C @ =0x020314E0 + ldr r3, [r0] + ldrb r5, [r3, #0x1e] + cmp r5, #0 + beq _0802AAF6 + bl sub_2C518 _0802AAF6: - ldr r0, _0802AB60 @ =0x000005A6 - adds r4, r3, r0 - ldrh r1, [r4] - ldr r6, _0802AB64 @ =0x086ACF38 - adds r0, #2 - adds r2, r3, r0 - movs r0, #0 - ldrsb r0, [r2, r0] - lsls r0, r0, #1 - adds r0, r0, r6 - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r1, r0 - bge _0802AB38 - adds r0, r1, #1 - strh r0, [r4] - ldrh r1, [r4] - movs r0, #0 - ldrsb r0, [r2, r0] - lsls r0, r0, #1 - adds r0, r0, r6 - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r1, r0 - blt _0802AB38 - strh r5, [r4] - ldrb r1, [r2] - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0x22 - bgt _0802AB38 - adds r0, r1, #1 - strb r0, [r2] + ldr r0, _0802AB60 @ =0x000005A6 + adds r4, r3, r0 + ldrh r1, [r4] + ldr r6, _0802AB64 @ =0x086ACF38 + adds r0, #2 + adds r2, r3, r0 + movs r0, #0 + ldrsb r0, [r2, r0] + lsls r0, r0, #1 + adds r0, r0, r6 + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r1, r0 + bge _0802AB38 + adds r0, r1, #1 + strh r0, [r4] + ldrh r1, [r4] + movs r0, #0 + ldrsb r0, [r2, r0] + lsls r0, r0, #1 + adds r0, r0, r6 + movs r3, #0 + ldrsh r0, [r0, r3] + cmp r1, r0 + blt _0802AB38 + strh r5, [r4] + ldrb r1, [r2] + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #0x22 + bgt _0802AB38 + adds r0, r1, #1 + strb r0, [r2] _0802AB38: - ldr r4, _0802AB5C @ =0x020314E0 - ldr r0, [r4] - movs r1, #0xb5 - lsls r1, r1, #3 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x22 - bls _0802AB50 - bl _0802C4D2 + ldr r4, _0802AB5C @ =0x020314E0 + ldr r0, [r4] + movs r1, #0xb5 + lsls r1, r1, #3 + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x22 + bls _0802AB50 + bl _0802C4D2 _0802AB50: - lsls r0, r0, #2 - ldr r1, _0802AB68 @ =_0802AB6C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0802AB68 @ =_0802AB6C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0802AB5C: .4byte 0x020314E0 _0802AB60: .4byte 0x000005A6 _0802AB64: .4byte 0x086ACF38 _0802AB68: .4byte _0802AB6C _0802AB6C: @ jump table - .4byte _0802ABF8 @ case 0 - .4byte _0802AD18 @ case 1 - .4byte _0802ADB4 @ case 2 - .4byte _0802AE98 @ case 3 - .4byte _0802AF6C @ case 4 - .4byte _0802AF6C @ case 5 - .4byte _0802AF6C @ case 6 - .4byte _0802AF6C @ case 7 - .4byte _0802AF6C @ case 8 - .4byte _0802AF6C @ case 9 - .4byte _0802AF6C @ case 10 - .4byte _0802B200 @ case 11 - .4byte _0802B33C @ case 12 - .4byte _0802B42C @ case 13 - .4byte _0802B460 @ case 14 - .4byte _0802B4B8 @ case 15 - .4byte _0802B510 @ case 16 - .4byte _0802B574 @ case 17 - .4byte _0802B574 @ case 18 - .4byte _0802B574 @ case 19 - .4byte _0802B574 @ case 20 - .4byte _0802B574 @ case 21 - .4byte _0802B574 @ case 22 - .4byte _0802B574 @ case 23 - .4byte _0802B574 @ case 24 - .4byte _0802B574 @ case 25 - .4byte _0802B8D0 @ case 26 - .4byte _0802B574 @ case 27 - .4byte _0802B574 @ case 28 - .4byte _0802BA7C @ case 29 - .4byte _0802BB4C @ case 30 - .4byte _0802BE94 @ case 31 - .4byte _0802BEB4 @ case 32 - .4byte _0802C04C @ case 33 - .4byte _0802C314 @ case 34 + .4byte _0802ABF8 @ case 0 + .4byte _0802AD18 @ case 1 + .4byte _0802ADB4 @ case 2 + .4byte _0802AE98 @ case 3 + .4byte _0802AF6C @ case 4 + .4byte _0802AF6C @ case 5 + .4byte _0802AF6C @ case 6 + .4byte _0802AF6C @ case 7 + .4byte _0802AF6C @ case 8 + .4byte _0802AF6C @ case 9 + .4byte _0802AF6C @ case 10 + .4byte _0802B200 @ case 11 + .4byte _0802B33C @ case 12 + .4byte _0802B42C @ case 13 + .4byte _0802B460 @ case 14 + .4byte _0802B4B8 @ case 15 + .4byte _0802B510 @ case 16 + .4byte _0802B574 @ case 17 + .4byte _0802B574 @ case 18 + .4byte _0802B574 @ case 19 + .4byte _0802B574 @ case 20 + .4byte _0802B574 @ case 21 + .4byte _0802B574 @ case 22 + .4byte _0802B574 @ case 23 + .4byte _0802B574 @ case 24 + .4byte _0802B574 @ case 25 + .4byte _0802B8D0 @ case 26 + .4byte _0802B574 @ case 27 + .4byte _0802B574 @ case 28 + .4byte _0802BA7C @ case 29 + .4byte _0802BB4C @ case 30 + .4byte _0802BE94 @ case 31 + .4byte _0802BEB4 @ case 32 + .4byte _0802C04C @ case 33 + .4byte _0802C314 @ case 34 _0802ABF8: - ldr r0, _0802ACDC @ =0x0200B0C0 - ldrh r1, [r0, #0x38] - movs r1, #0xce - strh r1, [r0, #0x38] - ldrb r0, [r0, #4] - cmp r0, #1 - bhi _0802AC20 - ldr r2, _0802ACE0 @ =0x020314E0 - ldr r0, [r2] - movs r3, #0x13 - ldrsb r3, [r0, r3] - cmp r3, #4 - beq _0802AC16 - cmp r3, #8 - bne _0802AC20 + ldr r0, _0802ACDC @ =0x0200B0C0 + ldrh r1, [r0, #0x38] + movs r1, #0xce + strh r1, [r0, #0x38] + ldrb r0, [r0, #4] + cmp r0, #1 + bhi _0802AC20 + ldr r2, _0802ACE0 @ =0x020314E0 + ldr r0, [r2] + movs r3, #0x13 + ldrsb r3, [r0, r3] + cmp r3, #4 + beq _0802AC16 + cmp r3, #8 + bne _0802AC20 _0802AC16: - movs r3, #0xa5 - lsls r3, r3, #2 - adds r1, r0, r3 - movs r0, #1 - strb r0, [r1] + movs r3, #0xa5 + lsls r3, r3, #2 + adds r1, r0, r3 + movs r0, #1 + strb r0, [r1] _0802AC20: - ldr r7, _0802ACE0 @ =0x020314E0 - ldr r0, [r7] - movs r4, #1 - mov r8, r4 - mov r1, r8 - strb r1, [r0, #0x1f] - ldr r6, [r7] - ldr r2, _0802ACE4 @ =0x0000132C - adds r4, r6, r2 - ldr r5, [r4] - movs r3, #0x30 - ldrsh r0, [r5, r3] - lsls r0, r0, #2 - movs r1, #5 - bl __divsi3 - strh r0, [r5, #0x30] - ldr r5, [r4] - movs r1, #0x32 - ldrsh r0, [r5, r1] - lsls r0, r0, #2 - movs r1, #5 - bl __divsi3 - strh r0, [r5, #0x32] - ldr r1, [r4] - movs r3, #0x30 - ldrsh r2, [r1, r3] - ldr r0, [r1, #0x34] - adds r0, r0, r2 - str r0, [r1, #0x34] - ldr r1, [r4] - movs r4, #0x32 - ldrsh r2, [r1, r4] - ldr r0, [r1, #0x38] - adds r0, r0, r2 - str r0, [r1, #0x38] - adds r6, #0xe4 - movs r0, #9 - strb r0, [r6] - ldr r1, _0802ACE8 @ =0x040000D4 - ldr r0, _0802ACEC @ =0x081428D4 - str r0, [r1] - ldr r0, _0802ACF0 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _0802ACF4 @ =0x80000E00 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r2, [r7] - ldr r0, _0802ACF8 @ =0x000005F6 - adds r3, r2, r0 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #9 - ldr r5, _0802ACFC @ =0x08138014 - adds r0, r0, r5 - str r0, [r1] - ldr r0, _0802AD00 @ =0x060164C0 - str r0, [r1, #4] - ldr r4, _0802AD04 @ =0x80000040 - str r4, [r1, #8] - ldr r0, [r1, #8] - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #3 - adds r0, #4 - lsls r0, r0, #6 - adds r0, r0, r5 - str r0, [r1] - ldr r0, _0802AD08 @ =0x06016760 - str r0, [r1, #4] - str r4, [r1, #8] - ldr r0, [r1, #8] - ldr r1, _0802AD0C @ =0x000005F7 - adds r2, r2, r1 - mov r3, r8 - strb r3, [r2] - ldr r0, [r7] - ldr r4, _0802AD10 @ =0x000005A6 - adds r0, r0, r4 - ldrh r4, [r0] - cmp r4, #1 - beq _0802ACCA - bl _0802C4D2 + ldr r7, _0802ACE0 @ =0x020314E0 + ldr r0, [r7] + movs r4, #1 + mov r8, r4 + mov r1, r8 + strb r1, [r0, #0x1f] + ldr r6, [r7] + ldr r2, _0802ACE4 @ =0x0000132C + adds r4, r6, r2 + ldr r5, [r4] + movs r3, #0x30 + ldrsh r0, [r5, r3] + lsls r0, r0, #2 + movs r1, #5 + bl __divsi3 + strh r0, [r5, #0x30] + ldr r5, [r4] + movs r1, #0x32 + ldrsh r0, [r5, r1] + lsls r0, r0, #2 + movs r1, #5 + bl __divsi3 + strh r0, [r5, #0x32] + ldr r1, [r4] + movs r3, #0x30 + ldrsh r2, [r1, r3] + ldr r0, [r1, #0x34] + adds r0, r0, r2 + str r0, [r1, #0x34] + ldr r1, [r4] + movs r4, #0x32 + ldrsh r2, [r1, r4] + ldr r0, [r1, #0x38] + adds r0, r0, r2 + str r0, [r1, #0x38] + adds r6, #0xe4 + movs r0, #9 + strb r0, [r6] + ldr r1, _0802ACE8 @ =0x040000D4 + ldr r0, _0802ACEC @ =0x081428D4 + str r0, [r1] + ldr r0, _0802ACF0 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _0802ACF4 @ =0x80000E00 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r2, [r7] + ldr r0, _0802ACF8 @ =0x000005F6 + adds r3, r2, r0 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #9 + ldr r5, _0802ACFC @ =0x08138014 + adds r0, r0, r5 + str r0, [r1] + ldr r0, _0802AD00 @ =0x060164C0 + str r0, [r1, #4] + ldr r4, _0802AD04 @ =0x80000040 + str r4, [r1, #8] + ldr r0, [r1, #8] + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #3 + adds r0, #4 + lsls r0, r0, #6 + adds r0, r0, r5 + str r0, [r1] + ldr r0, _0802AD08 @ =0x06016760 + str r0, [r1, #4] + str r4, [r1, #8] + ldr r0, [r1, #8] + ldr r1, _0802AD0C @ =0x000005F7 + adds r2, r2, r1 + mov r3, r8 + strb r3, [r2] + ldr r0, [r7] + ldr r4, _0802AD10 @ =0x000005A6 + adds r0, r0, r4 + ldrh r4, [r0] + cmp r4, #1 + beq _0802ACCA + bl _0802C4D2 _0802ACCA: - ldr r0, _0802AD14 @ =0x02032EE0 - bl m4aMPlayStop - ldr r0, [r7] - adds r0, #0x71 - strb r4, [r0] - bl _0802C4D2 - .align 2, 0 + ldr r0, _0802AD14 @ =0x02032EE0 + bl m4aMPlayStop + ldr r0, [r7] + adds r0, #0x71 + strb r4, [r0] + bl _0802C4D2 + .align 2, 0 _0802ACDC: .4byte 0x0200B0C0 _0802ACE0: .4byte 0x020314E0 _0802ACE4: .4byte 0x0000132C @@ -84479,67 +84479,67 @@ _0802AD0C: .4byte 0x000005F7 _0802AD10: .4byte 0x000005A6 _0802AD14: .4byte 0x02032EE0 _0802AD18: - ldr r4, _0802AD94 @ =0x020314E0 - ldr r1, [r4] - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #4 - bne _0802AD48 - movs r7, #0xe4 - lsls r7, r7, #3 - adds r1, r1, r7 - movs r0, #0 - strb r0, [r1] - ldr r0, [r4] - ldr r1, _0802AD98 @ =0x0000071D - adds r0, r0, r1 - movs r1, #2 - strb r1, [r0] - ldr r0, [r4] - ldr r2, _0802AD9C @ =0x0000071E - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r4] - ldr r3, _0802ADA0 @ =0x0000071F - adds r0, r0, r3 - strb r1, [r0] + ldr r4, _0802AD94 @ =0x020314E0 + ldr r1, [r4] + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #4 + bne _0802AD48 + movs r7, #0xe4 + lsls r7, r7, #3 + adds r1, r1, r7 + movs r0, #0 + strb r0, [r1] + ldr r0, [r4] + ldr r1, _0802AD98 @ =0x0000071D + adds r0, r0, r1 + movs r1, #2 + strb r1, [r0] + ldr r0, [r4] + ldr r2, _0802AD9C @ =0x0000071E + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r4] + ldr r3, _0802ADA0 @ =0x0000071F + adds r0, r0, r3 + strb r1, [r0] _0802AD48: - ldr r0, [r4] - ldr r2, _0802ADA4 @ =0x0000132C - adds r0, r0, r2 - ldr r0, [r0] - movs r1, #0 - strb r1, [r0, #1] - ldr r4, [r4] - adds r2, r4, r2 - ldr r0, [r2] - strh r1, [r0, #0x30] - ldr r0, [r2] - strh r1, [r0, #0x32] - ldr r1, [r2] - movs r7, #0x30 - ldrsh r3, [r1, r7] - ldr r0, [r1, #0x34] - adds r0, r0, r3 - str r0, [r1, #0x34] - ldr r1, [r2] - movs r0, #0x32 - ldrsh r2, [r1, r0] - ldr r0, [r1, #0x38] - adds r0, r0, r2 - str r0, [r1, #0x38] - ldr r1, _0802ADA8 @ =0x000005A6 - adds r4, r4, r1 - ldrh r0, [r4] - cmp r0, #0 - beq _0802AD86 - bl _0802C4D2 + ldr r0, [r4] + ldr r2, _0802ADA4 @ =0x0000132C + adds r0, r0, r2 + ldr r0, [r0] + movs r1, #0 + strb r1, [r0, #1] + ldr r4, [r4] + adds r2, r4, r2 + ldr r0, [r2] + strh r1, [r0, #0x30] + ldr r0, [r2] + strh r1, [r0, #0x32] + ldr r1, [r2] + movs r7, #0x30 + ldrsh r3, [r1, r7] + ldr r0, [r1, #0x34] + adds r0, r0, r3 + str r0, [r1, #0x34] + ldr r1, [r2] + movs r0, #0x32 + ldrsh r2, [r1, r0] + ldr r0, [r1, #0x38] + adds r0, r0, r2 + str r0, [r1, #0x38] + ldr r1, _0802ADA8 @ =0x000005A6 + adds r4, r4, r1 + ldrh r0, [r4] + cmp r0, #0 + beq _0802AD86 + bl _0802C4D2 _0802AD86: - ldr r0, _0802ADAC @ =0x02032F20 - ldr r1, _0802ADB0 @ =0x0869FCE4 - bl MPlayStart - bl _0802C4D2 - .align 2, 0 + ldr r0, _0802ADAC @ =0x02032F20 + ldr r1, _0802ADB0 @ =0x0869FCE4 + bl MPlayStart + bl _0802C4D2 + .align 2, 0 _0802AD94: .4byte 0x020314E0 _0802AD98: .4byte 0x0000071D _0802AD9C: .4byte 0x0000071E @@ -84549,55 +84549,55 @@ _0802ADA8: .4byte 0x000005A6 _0802ADAC: .4byte 0x02032F20 _0802ADB0: .4byte 0x0869FCE4 _0802ADB4: - ldr r2, _0802AE14 @ =0x040000D4 - ldr r3, _0802AE18 @ =0x020314E0 - ldr r0, [r3] - ldr r4, _0802AE1C @ =0x000005F6 - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - lsls r0, r0, #5 - ldr r1, _0802AE20 @ =0x08137E14 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802AE24 @ =0x05000220 - str r0, [r2, #4] - ldr r5, _0802AE28 @ =0x80000010 - str r5, [r2, #8] - ldr r0, [r2, #8] - ldr r4, _0802AE2C @ =0x0200B0C0 - ldrh r0, [r4, #0x3c] - movs r0, #4 - strh r0, [r4, #0x3c] - ldr r0, [r3] - ldr r7, _0802AE30 @ =0x000005A6 - adds r0, r0, r7 - ldrh r0, [r0] - cmp r0, #1 - bhi _0802ADF0 - bl _0802C4D2 + ldr r2, _0802AE14 @ =0x040000D4 + ldr r3, _0802AE18 @ =0x020314E0 + ldr r0, [r3] + ldr r4, _0802AE1C @ =0x000005F6 + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #4 + lsls r0, r0, #5 + ldr r1, _0802AE20 @ =0x08137E14 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802AE24 @ =0x05000220 + str r0, [r2, #4] + ldr r5, _0802AE28 @ =0x80000010 + str r5, [r2, #8] + ldr r0, [r2, #8] + ldr r4, _0802AE2C @ =0x0200B0C0 + ldrh r0, [r4, #0x3c] + movs r0, #4 + strh r0, [r4, #0x3c] + ldr r0, [r3] + ldr r7, _0802AE30 @ =0x000005A6 + adds r0, r0, r7 + ldrh r0, [r0] + cmp r0, #1 + bhi _0802ADF0 + bl _0802C4D2 _0802ADF0: - ldr r1, _0802AE34 @ =0x02031520 - ldr r3, [r1, #0x30] - str r3, [r2] - ldr r0, _0802AE38 @ =0x05000200 - str r0, [r2, #4] - str r5, [r2, #8] - ldr r0, [r2, #8] - ldrb r0, [r4, #4] - adds r4, r1, #0 - cmp r0, #1 - bne _0802AE44 - adds r0, r3, #0 - adds r0, #0x40 - str r0, [r2] - ldr r0, _0802AE3C @ =0x05000240 - str r0, [r2, #4] - ldr r0, _0802AE40 @ =0x80000060 - b _0802AE50 - .align 2, 0 + ldr r1, _0802AE34 @ =0x02031520 + ldr r3, [r1, #0x30] + str r3, [r2] + ldr r0, _0802AE38 @ =0x05000200 + str r0, [r2, #4] + str r5, [r2, #8] + ldr r0, [r2, #8] + ldrb r0, [r4, #4] + adds r4, r1, #0 + cmp r0, #1 + bne _0802AE44 + adds r0, r3, #0 + adds r0, #0x40 + str r0, [r2] + ldr r0, _0802AE3C @ =0x05000240 + str r0, [r2, #4] + ldr r0, _0802AE40 @ =0x80000060 + b _0802AE50 + .align 2, 0 _0802AE14: .4byte 0x040000D4 _0802AE18: .4byte 0x020314E0 _0802AE1C: .4byte 0x000005F6 @@ -84611,36 +84611,36 @@ _0802AE38: .4byte 0x05000200 _0802AE3C: .4byte 0x05000240 _0802AE40: .4byte 0x80000060 _0802AE44: - adds r0, r3, #0 - adds r0, #0x40 - str r0, [r2] - ldr r0, _0802AE80 @ =0x05000240 - str r0, [r2, #4] - ldr r0, _0802AE84 @ =0x80000070 + adds r0, r3, #0 + adds r0, #0x40 + str r0, [r2] + ldr r0, _0802AE80 @ =0x05000240 + str r0, [r2, #4] + ldr r0, _0802AE84 @ =0x80000070 _0802AE50: - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r1, _0802AE88 @ =0x040000D4 - ldr r0, [r4, #0x30] - movs r2, #0xa0 - lsls r2, r2, #1 - adds r0, r0, r2 - str r0, [r1] - ldr r0, _0802AE8C @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0802AE90 @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r2, _0802AE94 @ =0x020314E0 - ldr r0, [r2] - adds r0, #0x6f - movs r1, #1 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x70 - strb r1, [r0] - bl _0802C4D2 - .align 2, 0 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r1, _0802AE88 @ =0x040000D4 + ldr r0, [r4, #0x30] + movs r2, #0xa0 + lsls r2, r2, #1 + adds r0, r0, r2 + str r0, [r1] + ldr r0, _0802AE8C @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0802AE90 @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r2, _0802AE94 @ =0x020314E0 + ldr r0, [r2] + adds r0, #0x6f + movs r1, #1 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x70 + strb r1, [r0] + bl _0802C4D2 + .align 2, 0 _0802AE80: .4byte 0x05000240 _0802AE84: .4byte 0x80000070 _0802AE88: .4byte 0x040000D4 @@ -84648,38 +84648,38 @@ _0802AE8C: .4byte 0x05000340 _0802AE90: .4byte 0x80000030 _0802AE94: .4byte 0x020314E0 _0802AE98: - ldr r4, _0802AED8 @ =0x0200B0C0 - ldrh r0, [r4, #0x3c] - movs r0, #7 - strh r0, [r4, #0x3c] - ldr r3, _0802AEDC @ =0x020314E0 - ldr r0, [r3] - ldr r7, _0802AEE0 @ =0x000005A6 - adds r0, r0, r7 - ldrh r0, [r0] - cmp r0, #1 - bls _0802AF34 - ldr r2, _0802AEE4 @ =0x040000D4 - ldr r1, _0802AEE8 @ =0x02031520 - ldr r3, [r1, #0x34] - str r3, [r2] - ldr r0, _0802AEEC @ =0x05000200 - str r0, [r2, #4] - ldr r0, _0802AEF0 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldrb r0, [r4, #4] - adds r4, r1, #0 - cmp r0, #1 - bne _0802AEFC - adds r0, r3, #0 - adds r0, #0x40 - str r0, [r2] - ldr r0, _0802AEF4 @ =0x05000240 - str r0, [r2, #4] - ldr r0, _0802AEF8 @ =0x80000060 - b _0802AF08 - .align 2, 0 + ldr r4, _0802AED8 @ =0x0200B0C0 + ldrh r0, [r4, #0x3c] + movs r0, #7 + strh r0, [r4, #0x3c] + ldr r3, _0802AEDC @ =0x020314E0 + ldr r0, [r3] + ldr r7, _0802AEE0 @ =0x000005A6 + adds r0, r0, r7 + ldrh r0, [r0] + cmp r0, #1 + bls _0802AF34 + ldr r2, _0802AEE4 @ =0x040000D4 + ldr r1, _0802AEE8 @ =0x02031520 + ldr r3, [r1, #0x34] + str r3, [r2] + ldr r0, _0802AEEC @ =0x05000200 + str r0, [r2, #4] + ldr r0, _0802AEF0 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldrb r0, [r4, #4] + adds r4, r1, #0 + cmp r0, #1 + bne _0802AEFC + adds r0, r3, #0 + adds r0, #0x40 + str r0, [r2] + ldr r0, _0802AEF4 @ =0x05000240 + str r0, [r2, #4] + ldr r0, _0802AEF8 @ =0x80000060 + b _0802AF08 + .align 2, 0 _0802AED8: .4byte 0x0200B0C0 _0802AEDC: .4byte 0x020314E0 _0802AEE0: .4byte 0x000005A6 @@ -84690,46 +84690,46 @@ _0802AEF0: .4byte 0x80000010 _0802AEF4: .4byte 0x05000240 _0802AEF8: .4byte 0x80000060 _0802AEFC: - adds r0, r3, #0 - adds r0, #0x40 - str r0, [r2] - ldr r0, _0802AF48 @ =0x05000240 - str r0, [r2, #4] - ldr r0, _0802AF4C @ =0x80000070 + adds r0, r3, #0 + adds r0, #0x40 + str r0, [r2] + ldr r0, _0802AF48 @ =0x05000240 + str r0, [r2, #4] + ldr r0, _0802AF4C @ =0x80000070 _0802AF08: - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r1, _0802AF50 @ =0x040000D4 - ldr r0, [r4, #0x34] - movs r2, #0xa0 - lsls r2, r2, #1 - adds r0, r0, r2 - str r0, [r1] - ldr r0, _0802AF54 @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0802AF58 @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r2, _0802AF5C @ =0x020314E0 - ldr r0, [r2] - adds r0, #0x6f - movs r1, #2 - strb r1, [r0] - ldr r0, [r2] - adds r0, #0x70 - movs r1, #1 - strb r1, [r0] + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r1, _0802AF50 @ =0x040000D4 + ldr r0, [r4, #0x34] + movs r2, #0xa0 + lsls r2, r2, #1 + adds r0, r0, r2 + str r0, [r1] + ldr r0, _0802AF54 @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0802AF58 @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r2, _0802AF5C @ =0x020314E0 + ldr r0, [r2] + adds r0, #0x6f + movs r1, #2 + strb r1, [r0] + ldr r0, [r2] + adds r0, #0x70 + movs r1, #1 + strb r1, [r0] _0802AF34: - ldr r1, _0802AF50 @ =0x040000D4 - ldr r0, _0802AF60 @ =0x08137F14 - str r0, [r1] - ldr r0, _0802AF64 @ =0x05000220 - str r0, [r1, #4] - ldr r0, _0802AF68 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - bl _0802C4D2 - .align 2, 0 + ldr r1, _0802AF50 @ =0x040000D4 + ldr r0, _0802AF60 @ =0x08137F14 + str r0, [r1] + ldr r0, _0802AF64 @ =0x05000220 + str r0, [r1, #4] + ldr r0, _0802AF68 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + bl _0802C4D2 + .align 2, 0 _0802AF48: .4byte 0x05000240 _0802AF4C: .4byte 0x80000070 _0802AF50: .4byte 0x040000D4 @@ -84740,67 +84740,67 @@ _0802AF60: .4byte 0x08137F14 _0802AF64: .4byte 0x05000220 _0802AF68: .4byte 0x80000010 _0802AF6C: - ldr r3, _0802AFDC @ =0x020314E0 - ldr r4, [r3] - movs r7, #0xb5 - lsls r7, r7, #3 - adds r0, r4, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #4 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - beq _0802AF8C - cmp r0, #6 - bne _0802AFFC + ldr r3, _0802AFDC @ =0x020314E0 + ldr r4, [r3] + movs r7, #0xb5 + lsls r7, r7, #3 + adds r0, r4, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r0, #4 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + beq _0802AF8C + cmp r0, #6 + bne _0802AFFC _0802AF8C: - ldr r0, _0802AFE0 @ =0x0200B0C0 - ldrb r1, [r0, #4] - mov ip, r0 - cmp r1, #3 - bhi _0802AFC2 - movs r1, #0x13 - ldrsb r1, [r4, r1] - cmp r1, #4 - bne _0802AFA6 - movs r0, #0x17 - ldrsb r0, [r4, r0] - cmp r0, #9 - beq _0802AFB2 + ldr r0, _0802AFE0 @ =0x0200B0C0 + ldrb r1, [r0, #4] + mov ip, r0 + cmp r1, #3 + bhi _0802AFC2 + movs r1, #0x13 + ldrsb r1, [r4, r1] + cmp r1, #4 + bne _0802AFA6 + movs r0, #0x17 + ldrsb r0, [r4, r0] + cmp r0, #9 + beq _0802AFB2 _0802AFA6: - cmp r1, #8 - bne _0802AFC2 - movs r0, #0x17 - ldrsb r0, [r4, r0] - cmp r0, #3 - bne _0802AFC2 + cmp r1, #8 + bne _0802AFC2 + movs r0, #0x17 + ldrsb r0, [r4, r0] + cmp r0, #3 + bne _0802AFC2 _0802AFB2: - ldr r1, _0802AFE4 @ =0x040000D4 - ldr r0, _0802AFE8 @ =0x02030710 - str r0, [r1] - ldr r0, _0802AFEC @ =0x050003A0 - str r0, [r1, #4] - ldr r0, _0802AFF0 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r1, _0802AFE4 @ =0x040000D4 + ldr r0, _0802AFE8 @ =0x02030710 + str r0, [r1] + ldr r0, _0802AFEC @ =0x050003A0 + str r0, [r1, #4] + ldr r0, _0802AFF0 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] _0802AFC2: - ldr r1, _0802AFE4 @ =0x040000D4 - ldr r0, _0802AFF4 @ =0x08137F14 - str r0, [r1] - ldr r0, _0802AFF8 @ =0x05000220 - str r0, [r1, #4] - ldr r0, _0802AFF0 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - mov r1, ip - ldrh r0, [r1, #0x3c] - movs r0, #6 - strh r0, [r1, #0x3c] - b _0802B026 - .align 2, 0 + ldr r1, _0802AFE4 @ =0x040000D4 + ldr r0, _0802AFF4 @ =0x08137F14 + str r0, [r1] + ldr r0, _0802AFF8 @ =0x05000220 + str r0, [r1, #4] + ldr r0, _0802AFF0 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + mov r1, ip + ldrh r0, [r1, #0x3c] + movs r0, #6 + strh r0, [r1, #0x3c] + b _0802B026 + .align 2, 0 _0802AFDC: .4byte 0x020314E0 _0802AFE0: .4byte 0x0200B0C0 _0802AFE4: .4byte 0x040000D4 @@ -84810,130 +84810,130 @@ _0802AFF0: .4byte 0x80000010 _0802AFF4: .4byte 0x08137F14 _0802AFF8: .4byte 0x05000220 _0802AFFC: - ldr r2, _0802B0EC @ =0x040000D4 - ldr r7, _0802B0F0 @ =0x000005F6 - adds r0, r4, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - lsls r0, r0, #5 - ldr r1, _0802B0F4 @ =0x08137E14 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802B0F8 @ =0x05000220 - str r0, [r2, #4] - ldr r0, _0802B0FC @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r0, _0802B100 @ =0x0200B0C0 - ldrh r1, [r0, #0x3c] - movs r1, #7 - strh r1, [r0, #0x3c] - mov ip, r0 + ldr r2, _0802B0EC @ =0x040000D4 + ldr r7, _0802B0F0 @ =0x000005F6 + adds r0, r4, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #4 + lsls r0, r0, #5 + ldr r1, _0802B0F4 @ =0x08137E14 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802B0F8 @ =0x05000220 + str r0, [r2, #4] + ldr r0, _0802B0FC @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r0, _0802B100 @ =0x0200B0C0 + ldrh r1, [r0, #0x3c] + movs r1, #7 + strh r1, [r0, #0x3c] + mov ip, r0 _0802B026: - mov r1, ip - ldr r0, [r1, #0x44] - ldr r6, [r0, #0xc] - ldrh r0, [r6] - cmp r0, #0 - bne _0802B034 - b _0802B1AC + mov r1, ip + ldr r0, [r1, #0x44] + ldr r6, [r0, #0xc] + ldrh r0, [r6] + cmp r0, #0 + bne _0802B034 + b _0802B1AC _0802B034: - ldr r4, _0802B104 @ =0x020314E0 - ldr r2, [r4] - ldr r7, _0802B108 @ =0x0000132C - adds r1, r2, r7 - ldr r0, [r1] - ldrh r0, [r0, #0x24] - strh r0, [r6, #2] - ldr r0, [r1] - ldrh r0, [r0, #0x26] - strh r0, [r6, #4] - movs r0, #0x13 - ldrsb r0, [r2, r0] - cmp r0, #5 - bne _0802B11C - movs r5, #0 - lsls r0, r3, #0x10 - ldr r1, _0802B10C @ =0x03005000 - mov r8, r1 - ldr r2, _0802B110 @ =0x081B0FE4 - mov sb, r2 - asrs r1, r0, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #5 - mov sl, r0 + ldr r4, _0802B104 @ =0x020314E0 + ldr r2, [r4] + ldr r7, _0802B108 @ =0x0000132C + adds r1, r2, r7 + ldr r0, [r1] + ldrh r0, [r0, #0x24] + strh r0, [r6, #2] + ldr r0, [r1] + ldrh r0, [r0, #0x26] + strh r0, [r6, #4] + movs r0, #0x13 + ldrsb r0, [r2, r0] + cmp r0, #5 + bne _0802B11C + movs r5, #0 + lsls r0, r3, #0x10 + ldr r1, _0802B10C @ =0x03005000 + mov r8, r1 + ldr r2, _0802B110 @ =0x081B0FE4 + mov sb, r2 + asrs r1, r0, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #5 + mov sl, r0 _0802B066: - lsls r3, r5, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r0, [r5] - lsls r0, r0, #3 - mov r4, r8 - adds r2, r0, r4 - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - add r0, sl - add r0, sb - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - add r0, sl - add r0, sb - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - add r1, sl - add r1, sb - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r5] - lsls r2, r2, #3 - add r2, r8 - ldrh r4, [r2, #2] - lsls r1, r4, #0x17 - lsrs r1, r1, #0x17 - movs r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _0802B114 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - ldr r0, _0802B118 @ =0xFFFFFE00 - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, r8 - ldrb r0, [r6, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, r8 - ldrb r2, [r1, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r1, #5] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r5, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #0xf - ble _0802B066 - b _0802B1AC - .align 2, 0 + lsls r3, r5, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r0, [r5] + lsls r0, r0, #3 + mov r4, r8 + adds r2, r0, r4 + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + add r0, sl + add r0, sb + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + add r0, sl + add r0, sb + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + add r1, sl + add r1, sb + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r5] + lsls r2, r2, #3 + add r2, r8 + ldrh r4, [r2, #2] + lsls r1, r4, #0x17 + lsrs r1, r1, #0x17 + movs r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _0802B114 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + ldr r0, _0802B118 @ =0xFFFFFE00 + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, r8 + ldrb r0, [r6, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, r8 + ldrb r2, [r1, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r2 + strb r0, [r1, #5] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r5, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #0xf + ble _0802B066 + b _0802B1AC + .align 2, 0 _0802B0EC: .4byte 0x040000D4 _0802B0F0: .4byte 0x000005F6 _0802B0F4: .4byte 0x08137E14 @@ -84947,110 +84947,110 @@ _0802B110: .4byte 0x081B0FE4 _0802B114: .4byte 0x000001FF _0802B118: .4byte 0xFFFFFE00 _0802B11C: - movs r5, #0 - lsls r0, r3, #0x10 - ldr r3, _0802B1E8 @ =0x03005000 - mov sb, r3 - ldr r4, _0802B1EC @ =0x081B0FE4 - mov r8, r4 - asrs r1, r0, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #5 - str r0, [sp] - ldr r7, _0802B1F0 @ =0xFFFFFE00 - mov sl, r7 + movs r5, #0 + lsls r0, r3, #0x10 + ldr r3, _0802B1E8 @ =0x03005000 + mov sb, r3 + ldr r4, _0802B1EC @ =0x081B0FE4 + mov r8, r4 + asrs r1, r0, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #5 + str r0, [sp] + ldr r7, _0802B1F0 @ =0xFFFFFE00 + mov sl, r7 _0802B136: - lsls r3, r5, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r0, [r5] - lsls r0, r0, #3 - mov r1, sb - adds r2, r0, r1 - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - ldr r4, [sp] - adds r0, r0, r4 - add r0, r8 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - adds r0, r0, r4 - add r0, r8 - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - adds r1, r1, r4 - add r1, r8 - ldrh r0, [r1] - 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 r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _0802B1F4 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, sl - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r6, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r5, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #0xf - ble _0802B136 + lsls r3, r5, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r0, [r5] + lsls r0, r0, #3 + mov r1, sb + adds r2, r0, r1 + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + ldr r4, [sp] + adds r0, r0, r4 + add r0, r8 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + adds r0, r0, r4 + add r0, r8 + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + adds r1, r1, r4 + add r1, r8 + ldrh r0, [r1] + 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 r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _0802B1F4 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, sl + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r6, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r5, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #0xf + ble _0802B136 _0802B1AC: - mov r3, ip - ldr r0, [r3, #0x44] - ldr r1, [r0, #0xc] - movs r0, #1 - strh r0, [r1] - ldr r0, _0802B1F8 @ =0x020314E0 - ldr r1, [r0] - movs r4, #0xb5 - lsls r4, r4, #3 - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xa - beq _0802B1CE - bl _0802C4D2 + mov r3, ip + ldr r0, [r3, #0x44] + ldr r1, [r0, #0xc] + movs r0, #1 + strh r0, [r1] + ldr r0, _0802B1F8 @ =0x020314E0 + ldr r1, [r0] + movs r4, #0xb5 + lsls r4, r4, #3 + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xa + beq _0802B1CE + bl _0802C4D2 _0802B1CE: - ldr r7, _0802B1FC @ =0x000005A6 - adds r0, r1, r7 - ldrh r0, [r0] - cmp r0, #3 - beq _0802B1DC - bl _0802C4D2 + ldr r7, _0802B1FC @ =0x000005A6 + adds r0, r1, r7 + ldrh r0, [r0] + cmp r0, #3 + beq _0802B1DC + bl _0802C4D2 _0802B1DC: - ldr r0, [r3, #0x44] - ldr r1, [r0, #0xc] - movs r0, #0 - strh r0, [r1] - bl _0802C4D2 - .align 2, 0 + ldr r0, [r3, #0x44] + ldr r1, [r0, #0xc] + movs r0, #0 + strh r0, [r1] + bl _0802C4D2 + .align 2, 0 _0802B1E8: .4byte 0x03005000 _0802B1EC: .4byte 0x081B0FE4 _0802B1F0: .4byte 0xFFFFFE00 @@ -85058,83 +85058,83 @@ _0802B1F4: .4byte 0x000001FF _0802B1F8: .4byte 0x020314E0 _0802B1FC: .4byte 0x000005A6 _0802B200: - ldr r2, _0802B29C @ =0x040000D4 - ldr r6, _0802B2A0 @ =0x020314E0 - ldr r3, [r6] - ldr r1, _0802B2A4 @ =0x000005F6 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - lsls r0, r0, #5 - ldr r1, _0802B2A8 @ =0x08137E14 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802B2AC @ =0x05000220 - str r0, [r2, #4] - ldr r0, _0802B2B0 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r2, #0xa2 - lsls r2, r2, #2 - adds r0, r3, r2 - ldrh r2, [r0] - lsls r2, r2, #8 - ldr r4, _0802B2B4 @ =0x0000132C - adds r0, r3, r4 - ldr r1, [r0] - ldr r0, [r1, #0x34] - subs r2, r2, r0 - lsls r2, r2, #0x10 - ldr r7, _0802B2B8 @ =0x0000028A - adds r0, r3, r7 - ldrh r0, [r0] - lsls r0, r0, #8 - ldr r1, [r1, #0x38] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r7, r2, #0x10 - orrs r7, r0 - ldr r5, _0802B2BC @ =0x000005AC - adds r3, r3, r5 - lsls r0, r7, #0x10 - asrs r0, r0, #0x10 - adds r1, r0, #0 - muls r1, r0, r1 - adds r0, r1, #0 - asrs r4, r7, #0x10 - adds r1, r4, #0 - muls r1, r4, r1 - adds r0, r0, r1 - str r0, [r3] - lsls r0, r0, #2 - bl Sqrt - ldr r1, [r6] - adds r1, r1, r5 - 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, r4, #0 - bl ArcTan2 - ldr r6, [r6] - movs r2, #0xb6 - lsls r2, r2, #3 - adds r1, r6, r2 - strh r0, [r1] - ldr r0, _0802B2C0 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #3 - bls _0802B2C8 - ldr r3, _0802B2C4 @ =0x00000389 - adds r1, r6, r3 - movs r0, #0 - strb r0, [r1] - b _0802B2F4 - .align 2, 0 + ldr r2, _0802B29C @ =0x040000D4 + ldr r6, _0802B2A0 @ =0x020314E0 + ldr r3, [r6] + ldr r1, _0802B2A4 @ =0x000005F6 + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #4 + lsls r0, r0, #5 + ldr r1, _0802B2A8 @ =0x08137E14 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802B2AC @ =0x05000220 + str r0, [r2, #4] + ldr r0, _0802B2B0 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r2, #0xa2 + lsls r2, r2, #2 + adds r0, r3, r2 + ldrh r2, [r0] + lsls r2, r2, #8 + ldr r4, _0802B2B4 @ =0x0000132C + adds r0, r3, r4 + ldr r1, [r0] + ldr r0, [r1, #0x34] + subs r2, r2, r0 + lsls r2, r2, #0x10 + ldr r7, _0802B2B8 @ =0x0000028A + adds r0, r3, r7 + ldrh r0, [r0] + lsls r0, r0, #8 + ldr r1, [r1, #0x38] + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r7, r2, #0x10 + orrs r7, r0 + ldr r5, _0802B2BC @ =0x000005AC + adds r3, r3, r5 + lsls r0, r7, #0x10 + asrs r0, r0, #0x10 + adds r1, r0, #0 + muls r1, r0, r1 + adds r0, r1, #0 + asrs r4, r7, #0x10 + adds r1, r4, #0 + muls r1, r4, r1 + adds r0, r0, r1 + str r0, [r3] + lsls r0, r0, #2 + bl Sqrt + ldr r1, [r6] + adds r1, r1, r5 + 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, r4, #0 + bl ArcTan2 + ldr r6, [r6] + movs r2, #0xb6 + lsls r2, r2, #3 + adds r1, r6, r2 + strh r0, [r1] + ldr r0, _0802B2C0 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #3 + bls _0802B2C8 + ldr r3, _0802B2C4 @ =0x00000389 + adds r1, r6, r3 + movs r0, #0 + strb r0, [r1] + b _0802B2F4 + .align 2, 0 _0802B29C: .4byte 0x040000D4 _0802B2A0: .4byte 0x020314E0 _0802B2A4: .4byte 0x000005F6 @@ -85147,56 +85147,56 @@ _0802B2BC: .4byte 0x000005AC _0802B2C0: .4byte 0x0200B0C0 _0802B2C4: .4byte 0x00000389 _0802B2C8: - movs r1, #0x13 - ldrsb r1, [r6, r1] - cmp r1, #4 - bne _0802B2D8 - movs r0, #0x17 - ldrsb r0, [r6, r0] - cmp r0, #9 - beq _0802B2E4 + movs r1, #0x13 + ldrsb r1, [r6, r1] + cmp r1, #4 + bne _0802B2D8 + movs r0, #0x17 + ldrsb r0, [r6, r0] + cmp r0, #9 + beq _0802B2E4 _0802B2D8: - cmp r1, #8 - bne _0802B2F4 - movs r0, #0x17 - ldrsb r0, [r6, r0] - cmp r0, #3 - bne _0802B2F4 + cmp r1, #8 + bne _0802B2F4 + movs r0, #0x17 + ldrsb r0, [r6, r0] + cmp r0, #3 + bne _0802B2F4 _0802B2E4: - ldr r1, _0802B324 @ =0x040000D4 - ldr r0, _0802B328 @ =0x020306D0 - str r0, [r1] - ldr r0, _0802B32C @ =0x050003A0 - str r0, [r1, #4] - ldr r0, _0802B330 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r1, _0802B324 @ =0x040000D4 + ldr r0, _0802B328 @ =0x020306D0 + str r0, [r1] + ldr r0, _0802B32C @ =0x050003A0 + str r0, [r1, #4] + ldr r0, _0802B330 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] _0802B2F4: - movs r5, #0 - ldr r7, _0802B334 @ =0x020314E0 - ldr r6, _0802B338 @ =0x0000132C + movs r5, #0 + ldr r7, _0802B334 @ =0x020314E0 + ldr r6, _0802B338 @ =0x0000132C _0802B2FA: - ldr r4, [r7] - adds r4, r4, r6 - ldr r0, [r4] - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - lsls r2, r1, #2 - adds r3, r0, r2 - ldrh r0, [r0, #0x10] - strh r0, [r3, #0x14] - ldr r0, [r4] - adds r2, r0, r2 - ldrh r0, [r0, #0x12] - strh r0, [r2, #0x16] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r5, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #3 - ble _0802B2FA - bl _0802C4D2 - .align 2, 0 + ldr r4, [r7] + adds r4, r4, r6 + ldr r0, [r4] + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + lsls r2, r1, #2 + adds r3, r0, r2 + ldrh r0, [r0, #0x10] + strh r0, [r3, #0x14] + ldr r0, [r4] + adds r2, r0, r2 + ldrh r0, [r0, #0x12] + strh r0, [r2, #0x16] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r5, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #3 + ble _0802B2FA + bl _0802C4D2 + .align 2, 0 _0802B324: .4byte 0x040000D4 _0802B328: .4byte 0x020306D0 _0802B32C: .4byte 0x050003A0 @@ -85204,106 +85204,106 @@ _0802B330: .4byte 0x80000010 _0802B334: .4byte 0x020314E0 _0802B338: .4byte 0x0000132C _0802B33C: - ldr r4, _0802B410 @ =0x020314E0 - mov sl, r4 - ldr r5, [r4] - ldr r7, _0802B414 @ =0x000005A6 - adds r0, r5, r7 - ldrh r0, [r0] - movs r4, #0x63 - subs r4, r4, r0 - movs r0, #0xb6 - lsls r0, r0, #3 - adds r6, r5, r0 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - lsls r0, r4, #0xd - movs r1, #0x64 - bl __divsi3 - ldr r1, _0802B418 @ =0xFFFFE000 - adds r2, r1, #0 - adds r0, r0, r2 - ldrh r1, [r6] - subs r1, r1, r0 - strh r1, [r6] - ldr r7, _0802B41C @ =0x0000132C - adds r1, r5, r7 - ldr r0, [r1] - ldrh r3, [r0, #0xa] - adds r2, r2, r3 - strh r2, [r0, #0xa] - subs r4, #0x14 - lsls r4, r4, #0x10 - lsrs r5, r4, #0x10 - cmp r4, #0 - bge _0802B388 - movs r5, #0 - ldr r1, [r1] - movs r0, #0 - strb r0, [r1] + ldr r4, _0802B410 @ =0x020314E0 + mov sl, r4 + ldr r5, [r4] + ldr r7, _0802B414 @ =0x000005A6 + adds r0, r5, r7 + ldrh r0, [r0] + movs r4, #0x63 + subs r4, r4, r0 + movs r0, #0xb6 + lsls r0, r0, #3 + adds r6, r5, r0 + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + lsls r0, r4, #0xd + movs r1, #0x64 + bl __divsi3 + ldr r1, _0802B418 @ =0xFFFFE000 + adds r2, r1, #0 + adds r0, r0, r2 + ldrh r1, [r6] + subs r1, r1, r0 + strh r1, [r6] + ldr r7, _0802B41C @ =0x0000132C + adds r1, r5, r7 + ldr r0, [r1] + ldrh r3, [r0, #0xa] + adds r2, r2, r3 + strh r2, [r0, #0xa] + subs r4, #0x14 + lsls r4, r4, #0x10 + lsrs r5, r4, #0x10 + cmp r4, #0 + bge _0802B388 + movs r5, #0 + ldr r1, [r1] + movs r0, #0 + strb r0, [r1] _0802B388: - mov r0, sl - ldr r4, [r0] - ldr r2, _0802B420 @ =0x000005AC - adds r1, r4, r2 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - ldr r1, [r1] - muls r0, r1, r0 - movs r1, #0x50 - bl __divsi3 - mov sb, r0 - movs r3, #0xb6 - lsls r3, r3, #3 - adds r4, r4, r3 - ldrh r0, [r4] - bl sub_C74 - mov r4, sl - ldr r5, [r4] - adds r1, r5, r7 - ldr r6, [r1] - movs r2, #0xa2 - lsls r2, r2, #2 - adds r1, r5, r2 - movs r3, #0 - ldrsh r4, [r1, r3] - lsls r4, r4, #8 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - mov r1, sb - muls r1, r0, r1 - adds r0, r1, #0 - ldr r2, _0802B424 @ =0x00004E20 - mov r8, r2 - mov r1, r8 - bl __divsi3 - adds r4, r4, r0 - str r4, [r6, #0x34] - movs r3, #0xb6 - lsls r3, r3, #3 - adds r5, r5, r3 - ldrh r0, [r5] - bl sub_C24 - mov r4, sl - ldr r1, [r4] - adds r2, r1, r7 - ldr r5, [r2] - ldr r7, _0802B428 @ =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, sb - muls r3, r0, r3 - adds r0, r3, #0 - mov r1, r8 - bl __divsi3 - subs r4, r4, r0 - str r4, [r5, #0x38] - bl _0802C4D2 - .align 2, 0 + mov r0, sl + ldr r4, [r0] + ldr r2, _0802B420 @ =0x000005AC + adds r1, r4, r2 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + ldr r1, [r1] + muls r0, r1, r0 + movs r1, #0x50 + bl __divsi3 + mov sb, r0 + movs r3, #0xb6 + lsls r3, r3, #3 + adds r4, r4, r3 + ldrh r0, [r4] + bl sub_C74 + mov r4, sl + ldr r5, [r4] + adds r1, r5, r7 + ldr r6, [r1] + movs r2, #0xa2 + lsls r2, r2, #2 + adds r1, r5, r2 + movs r3, #0 + ldrsh r4, [r1, r3] + lsls r4, r4, #8 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + mov r1, sb + muls r1, r0, r1 + adds r0, r1, #0 + ldr r2, _0802B424 @ =0x00004E20 + mov r8, r2 + mov r1, r8 + bl __divsi3 + adds r4, r4, r0 + str r4, [r6, #0x34] + movs r3, #0xb6 + lsls r3, r3, #3 + adds r5, r5, r3 + ldrh r0, [r5] + bl sub_C24 + mov r4, sl + ldr r1, [r4] + adds r2, r1, r7 + ldr r5, [r2] + ldr r7, _0802B428 @ =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, sb + muls r3, r0, r3 + adds r0, r3, #0 + mov r1, r8 + bl __divsi3 + subs r4, r4, r0 + str r4, [r5, #0x38] + bl _0802C4D2 + .align 2, 0 _0802B410: .4byte 0x020314E0 _0802B414: .4byte 0x000005A6 _0802B418: .4byte 0xFFFFE000 @@ -85312,57 +85312,57 @@ _0802B420: .4byte 0x000005AC _0802B424: .4byte 0x00004E20 _0802B428: .4byte 0x0000028A _0802B42C: - ldr r5, _0802B454 @ =0x020314E0 - ldr r1, [r5] - ldr r4, _0802B458 @ =0x0000132C - adds r0, r1, r4 - ldr r2, [r0] - movs r3, #0 - movs r0, #0 - strh r0, [r2, #6] - adds r1, #0x71 - strb r3, [r1] - ldr r0, [r5] - adds r0, r0, r4 - ldr r1, [r0] - ldr r4, _0802B45C @ =0xFFFFE000 - adds r0, r4, #0 - ldrh r7, [r1, #0xa] - adds r0, r0, r7 - strh r0, [r1, #0xa] - bl _0802C4D2 - .align 2, 0 + ldr r5, _0802B454 @ =0x020314E0 + ldr r1, [r5] + ldr r4, _0802B458 @ =0x0000132C + adds r0, r1, r4 + ldr r2, [r0] + movs r3, #0 + movs r0, #0 + strh r0, [r2, #6] + adds r1, #0x71 + strb r3, [r1] + ldr r0, [r5] + adds r0, r0, r4 + ldr r1, [r0] + ldr r4, _0802B45C @ =0xFFFFE000 + adds r0, r4, #0 + ldrh r7, [r1, #0xa] + adds r0, r0, r7 + strh r0, [r1, #0xa] + bl _0802C4D2 + .align 2, 0 _0802B454: .4byte 0x020314E0 _0802B458: .4byte 0x0000132C _0802B45C: .4byte 0xFFFFE000 _0802B460: - ldr r2, _0802B498 @ =0x040000D4 - ldr r0, _0802B49C @ =0x020314E0 - ldr r3, [r0] - ldr r1, _0802B4A0 @ =0x000005F6 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #5 - ldr r1, _0802B4A4 @ =0x08137E14 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802B4A8 @ =0x05000220 - str r0, [r2, #4] - ldr r0, _0802B4AC @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r2, _0802B4B0 @ =0x0000132C - adds r3, r3, r2 - ldr r1, [r3] - ldr r3, _0802B4B4 @ =0xFFFFE000 - adds r0, r3, #0 - ldrh r4, [r1, #0xa] - adds r0, r0, r4 - strh r0, [r1, #0xa] - bl _0802C4D2 - .align 2, 0 + ldr r2, _0802B498 @ =0x040000D4 + ldr r0, _0802B49C @ =0x020314E0 + ldr r3, [r0] + ldr r1, _0802B4A0 @ =0x000005F6 + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #5 + ldr r1, _0802B4A4 @ =0x08137E14 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802B4A8 @ =0x05000220 + str r0, [r2, #4] + ldr r0, _0802B4AC @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r2, _0802B4B0 @ =0x0000132C + adds r3, r3, r2 + ldr r1, [r3] + ldr r3, _0802B4B4 @ =0xFFFFE000 + adds r0, r3, #0 + ldrh r4, [r1, #0xa] + adds r0, r0, r4 + strh r0, [r1, #0xa] + bl _0802C4D2 + .align 2, 0 _0802B498: .4byte 0x040000D4 _0802B49C: .4byte 0x020314E0 _0802B4A0: .4byte 0x000005F6 @@ -85372,34 +85372,34 @@ _0802B4AC: .4byte 0x80000010 _0802B4B0: .4byte 0x0000132C _0802B4B4: .4byte 0xFFFFE000 _0802B4B8: - ldr r2, _0802B4F0 @ =0x040000D4 - ldr r0, _0802B4F4 @ =0x020314E0 - ldr r3, [r0] - ldr r7, _0802B4F8 @ =0x000005F6 - adds r0, r3, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - lsls r0, r0, #5 - ldr r1, _0802B4FC @ =0x08137E14 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802B500 @ =0x05000220 - str r0, [r2, #4] - ldr r0, _0802B504 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r0, _0802B508 @ =0x0000132C - adds r3, r3, r0 - ldr r1, [r3] - ldr r2, _0802B50C @ =0xFFFFE000 - adds r0, r2, #0 - ldrh r3, [r1, #0xa] - adds r0, r0, r3 - strh r0, [r1, #0xa] - bl _0802C4D2 - .align 2, 0 + ldr r2, _0802B4F0 @ =0x040000D4 + ldr r0, _0802B4F4 @ =0x020314E0 + ldr r3, [r0] + ldr r7, _0802B4F8 @ =0x000005F6 + adds r0, r3, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #4 + lsls r0, r0, #5 + ldr r1, _0802B4FC @ =0x08137E14 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802B500 @ =0x05000220 + str r0, [r2, #4] + ldr r0, _0802B504 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r0, _0802B508 @ =0x0000132C + adds r3, r3, r0 + ldr r1, [r3] + ldr r2, _0802B50C @ =0xFFFFE000 + adds r0, r2, #0 + ldrh r3, [r1, #0xa] + adds r0, r0, r3 + strh r0, [r1, #0xa] + bl _0802C4D2 + .align 2, 0 _0802B4F0: .4byte 0x040000D4 _0802B4F4: .4byte 0x020314E0 _0802B4F8: .4byte 0x000005F6 @@ -85409,40 +85409,40 @@ _0802B504: .4byte 0x80000010 _0802B508: .4byte 0x0000132C _0802B50C: .4byte 0xFFFFE000 _0802B510: - ldr r4, _0802B554 @ =0x020314E0 - ldr r0, [r4] - ldr r7, _0802B558 @ =0x000005A6 - adds r0, r0, r7 - ldrh r0, [r0] - cmp r0, #0 - bne _0802B524 - movs r0, #0x9b - bl m4aSongNumStart + ldr r4, _0802B554 @ =0x020314E0 + ldr r0, [r4] + ldr r7, _0802B558 @ =0x000005A6 + adds r0, r0, r7 + ldrh r0, [r0] + cmp r0, #0 + bne _0802B524 + movs r0, #0x9b + bl m4aSongNumStart _0802B524: - ldr r2, _0802B55C @ =0x040000D4 - ldr r3, [r4] - ldr r1, _0802B560 @ =0x000005F6 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #5 - ldr r1, _0802B564 @ =0x08137E14 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802B568 @ =0x05000220 - str r0, [r2, #4] - ldr r0, _0802B56C @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r2, _0802B570 @ =0x0000132C - adds r3, r3, r2 - ldr r1, [r3] - movs r0, #0xe0 - lsls r0, r0, #7 - strh r0, [r1, #0xa] - bl _0802C4D2 - .align 2, 0 + ldr r2, _0802B55C @ =0x040000D4 + ldr r3, [r4] + ldr r1, _0802B560 @ =0x000005F6 + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #5 + ldr r1, _0802B564 @ =0x08137E14 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802B568 @ =0x05000220 + str r0, [r2, #4] + ldr r0, _0802B56C @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r2, _0802B570 @ =0x0000132C + adds r3, r3, r2 + ldr r1, [r3] + movs r0, #0xe0 + lsls r0, r0, #7 + strh r0, [r1, #0xa] + bl _0802C4D2 + .align 2, 0 _0802B554: .4byte 0x020314E0 _0802B558: .4byte 0x000005A6 _0802B55C: .4byte 0x040000D4 @@ -85452,129 +85452,129 @@ _0802B568: .4byte 0x05000220 _0802B56C: .4byte 0x80000010 _0802B570: .4byte 0x0000132C _0802B574: - ldr r0, _0802B664 @ =0x0200B0C0 - ldr r1, [r0, #0x44] - ldr r6, [r1, #0xc] - ldrh r1, [r6] - mov ip, r0 - cmp r1, #0 - bne _0802B584 - b _0802B714 + ldr r0, _0802B664 @ =0x0200B0C0 + ldr r1, [r0, #0x44] + ldr r6, [r1, #0xc] + ldrh r1, [r6] + mov ip, r0 + cmp r1, #0 + bne _0802B584 + b _0802B714 _0802B584: - ldr r3, _0802B668 @ =0x020314E0 - ldr r0, [r3] - ldr r1, _0802B66C @ =0x0000132C - adds r0, r0, r1 - ldr r2, [r0] - movs r0, #1 - strb r0, [r2] - ldr r2, [r3] - adds r1, r2, r1 - ldr r0, [r1] - ldrh r0, [r0, #0x24] - strh r0, [r6, #2] - ldr r0, [r1] - ldrh r0, [r0, #0x26] - strh r0, [r6, #4] - ldr r1, _0802B670 @ =0x086ACFF4 - movs r4, #0xb5 - lsls r4, r4, #3 - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #0x11 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #7 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - movs r0, #0x13 - ldrsb r0, [r2, r0] - cmp r0, #5 - bne _0802B684 - movs r5, #0 - lsls r0, r3, #0x10 - ldr r7, _0802B674 @ =0x03005000 - mov r8, r7 - ldr r1, _0802B678 @ =0x081B0FE4 - mov sb, r1 - asrs r1, r0, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #5 - mov sl, r0 + ldr r3, _0802B668 @ =0x020314E0 + ldr r0, [r3] + ldr r1, _0802B66C @ =0x0000132C + adds r0, r0, r1 + ldr r2, [r0] + movs r0, #1 + strb r0, [r2] + ldr r2, [r3] + adds r1, r2, r1 + ldr r0, [r1] + ldrh r0, [r0, #0x24] + strh r0, [r6, #2] + ldr r0, [r1] + ldrh r0, [r0, #0x26] + strh r0, [r6, #4] + ldr r1, _0802B670 @ =0x086ACFF4 + movs r4, #0xb5 + lsls r4, r4, #3 + adds r0, r2, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r0, #0x11 + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #7 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + movs r0, #0x13 + ldrsb r0, [r2, r0] + cmp r0, #5 + bne _0802B684 + movs r5, #0 + lsls r0, r3, #0x10 + ldr r7, _0802B674 @ =0x03005000 + mov r8, r7 + ldr r1, _0802B678 @ =0x081B0FE4 + mov sb, r1 + asrs r1, r0, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #5 + mov sl, r0 _0802B5DE: - lsls r3, r5, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r0, [r5] - lsls r0, r0, #3 - mov r4, r8 - adds r2, r0, r4 - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - add r0, sl - add r0, sb - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - add r0, sl - add r0, sb - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - add r1, sl - add r1, sb - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r5] - lsls r2, r2, #3 - add r2, r8 - ldrh r4, [r2, #2] - lsls r1, r4, #0x17 - lsrs r1, r1, #0x17 - movs r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _0802B67C @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - ldr r0, _0802B680 @ =0xFFFFFE00 - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, r8 - ldrb r0, [r6, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, r8 - ldrb r2, [r1, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r1, #5] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r5, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #0xf - ble _0802B5DE - b _0802B714 - .align 2, 0 + lsls r3, r5, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r0, [r5] + lsls r0, r0, #3 + mov r4, r8 + adds r2, r0, r4 + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + add r0, sl + add r0, sb + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + add r0, sl + add r0, sb + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + add r1, sl + add r1, sb + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r5] + lsls r2, r2, #3 + add r2, r8 + ldrh r4, [r2, #2] + lsls r1, r4, #0x17 + lsrs r1, r1, #0x17 + movs r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _0802B67C @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + ldr r0, _0802B680 @ =0xFFFFFE00 + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, r8 + ldrb r0, [r6, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, r8 + ldrb r2, [r1, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r2 + strb r0, [r1, #5] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r5, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #0xf + ble _0802B5DE + b _0802B714 + .align 2, 0 _0802B664: .4byte 0x0200B0C0 _0802B668: .4byte 0x020314E0 _0802B66C: .4byte 0x0000132C @@ -85584,118 +85584,118 @@ _0802B678: .4byte 0x081B0FE4 _0802B67C: .4byte 0x000001FF _0802B680: .4byte 0xFFFFFE00 _0802B684: - movs r5, #0 - lsls r0, r3, #0x10 - ldr r3, _0802B75C @ =0x03005000 - mov sb, r3 - ldr r4, _0802B760 @ =0x081B0FE4 - mov r8, r4 - asrs r1, r0, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #5 - str r0, [sp] - ldr r7, _0802B764 @ =0xFFFFFE00 - mov sl, r7 + movs r5, #0 + lsls r0, r3, #0x10 + ldr r3, _0802B75C @ =0x03005000 + mov sb, r3 + ldr r4, _0802B760 @ =0x081B0FE4 + mov r8, r4 + asrs r1, r0, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #5 + str r0, [sp] + ldr r7, _0802B764 @ =0xFFFFFE00 + mov sl, r7 _0802B69E: - lsls r3, r5, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r0, [r5] - lsls r0, r0, #3 - mov r1, sb - adds r2, r0, r1 - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - ldr r4, [sp] - adds r0, r0, r4 - add r0, r8 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - adds r0, r0, r4 - add r0, r8 - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - adds r1, r1, r4 - add r1, r8 - ldrh r0, [r1] - 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 r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _0802B768 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, sl - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r6, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r5, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #0xf - ble _0802B69E + lsls r3, r5, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r0, [r5] + lsls r0, r0, #3 + mov r1, sb + adds r2, r0, r1 + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + ldr r4, [sp] + adds r0, r0, r4 + add r0, r8 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + adds r0, r0, r4 + add r0, r8 + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + adds r1, r1, r4 + add r1, r8 + ldrh r0, [r1] + 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 r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _0802B768 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, sl + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r6, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r5, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #0xf + ble _0802B69E _0802B714: - mov r3, ip - ldr r0, [r3, #0x44] - ldr r1, [r0, #0xc] - movs r0, #1 - strh r0, [r1] - ldr r4, _0802B76C @ =0x020314E0 - ldr r1, [r4] - movs r7, #0xb5 - lsls r7, r7, #3 - adds r0, r1, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x12 - beq _0802B73A - cmp r0, #0x14 - beq _0802B73A - cmp r0, #0x15 - bne _0802B7AC + mov r3, ip + ldr r0, [r3, #0x44] + ldr r1, [r0, #0xc] + movs r0, #1 + strh r0, [r1] + ldr r4, _0802B76C @ =0x020314E0 + ldr r1, [r4] + movs r7, #0xb5 + lsls r7, r7, #3 + adds r0, r1, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x12 + beq _0802B73A + cmp r0, #0x14 + beq _0802B73A + cmp r0, #0x15 + bne _0802B7AC _0802B73A: - ldr r1, _0802B76C @ =0x020314E0 - ldr r0, [r1] - ldr r2, _0802B770 @ =0x000005A9 - adds r0, r0, r2 - movs r1, #0xc8 - strb r1, [r0] - mov r3, ip - ldrb r0, [r3, #4] - cmp r0, #3 - bls _0802B778 - ldr r4, _0802B76C @ =0x020314E0 - ldr r0, [r4] - ldr r7, _0802B774 @ =0x00000389 - adds r0, r0, r7 - movs r1, #1 - strb r1, [r0] - b _0802B7F8 - .align 2, 0 + ldr r1, _0802B76C @ =0x020314E0 + ldr r0, [r1] + ldr r2, _0802B770 @ =0x000005A9 + adds r0, r0, r2 + movs r1, #0xc8 + strb r1, [r0] + mov r3, ip + ldrb r0, [r3, #4] + cmp r0, #3 + bls _0802B778 + ldr r4, _0802B76C @ =0x020314E0 + ldr r0, [r4] + ldr r7, _0802B774 @ =0x00000389 + adds r0, r0, r7 + movs r1, #1 + strb r1, [r0] + b _0802B7F8 + .align 2, 0 _0802B75C: .4byte 0x03005000 _0802B760: .4byte 0x081B0FE4 _0802B764: .4byte 0xFFFFFE00 @@ -85704,95 +85704,95 @@ _0802B76C: .4byte 0x020314E0 _0802B770: .4byte 0x000005A9 _0802B774: .4byte 0x00000389 _0802B778: - ldr r0, _0802B7A0 @ =0x020314E0 - ldr r1, [r0] - movs r2, #0x13 - ldrsb r2, [r1, r2] - cmp r2, #4 - bne _0802B78C - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #9 - beq _0802B798 + ldr r0, _0802B7A0 @ =0x020314E0 + ldr r1, [r0] + movs r2, #0x13 + ldrsb r2, [r1, r2] + cmp r2, #4 + bne _0802B78C + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #9 + beq _0802B798 _0802B78C: - cmp r2, #8 - bne _0802B7F8 - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #3 - bne _0802B7F8 + cmp r2, #8 + bne _0802B7F8 + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #3 + bne _0802B7F8 _0802B798: - ldr r1, _0802B7A4 @ =0x040000D4 - ldr r0, _0802B7A8 @ =0x020306F0 - b _0802B7EC - .align 2, 0 + ldr r1, _0802B7A4 @ =0x040000D4 + ldr r0, _0802B7A8 @ =0x020306F0 + b _0802B7EC + .align 2, 0 _0802B7A0: .4byte 0x020314E0 _0802B7A4: .4byte 0x040000D4 _0802B7A8: .4byte 0x020306F0 _0802B7AC: - cmp r0, #0x13 - beq _0802B7B4 - cmp r0, #0x16 - bne _0802B7F8 + cmp r0, #0x13 + beq _0802B7B4 + cmp r0, #0x16 + bne _0802B7F8 _0802B7B4: - mov r2, ip - ldrb r0, [r2, #4] - cmp r0, #3 - bls _0802B7CC - ldr r3, _0802B7C8 @ =0x00000389 - adds r1, r1, r3 - movs r0, #3 - strb r0, [r1] - b _0802B7F8 - .align 2, 0 + mov r2, ip + ldrb r0, [r2, #4] + cmp r0, #3 + bls _0802B7CC + ldr r3, _0802B7C8 @ =0x00000389 + adds r1, r1, r3 + movs r0, #3 + strb r0, [r1] + b _0802B7F8 + .align 2, 0 _0802B7C8: .4byte 0x00000389 _0802B7CC: - movs r2, #0x13 - ldrsb r2, [r1, r2] - cmp r2, #4 - bne _0802B7DC - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #9 - beq _0802B7E8 + movs r2, #0x13 + ldrsb r2, [r1, r2] + cmp r2, #4 + bne _0802B7DC + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #9 + beq _0802B7E8 _0802B7DC: - cmp r2, #8 - bne _0802B7F8 - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #3 - bne _0802B7F8 + cmp r2, #8 + bne _0802B7F8 + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #3 + bne _0802B7F8 _0802B7E8: - ldr r1, _0802B820 @ =0x040000D4 - ldr r0, _0802B824 @ =0x02030730 + ldr r1, _0802B820 @ =0x040000D4 + ldr r0, _0802B824 @ =0x02030730 _0802B7EC: - str r0, [r1] - ldr r0, _0802B828 @ =0x050003A0 - str r0, [r1, #4] - ldr r0, _0802B82C @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] + str r0, [r1] + ldr r0, _0802B828 @ =0x050003A0 + str r0, [r1, #4] + ldr r0, _0802B82C @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] _0802B7F8: - ldr r4, _0802B830 @ =0x020314E0 - ldr r1, [r4] - movs r7, #0xb5 - lsls r7, r7, #3 - adds r0, r1, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x17 - bne _0802B880 - mov r2, ip - ldrb r0, [r2, #4] - cmp r0, #3 - bls _0802B838 - ldr r3, _0802B834 @ =0x00000389 - adds r1, r1, r3 - movs r0, #0xa - strb r0, [r1] - b _0802B880 - .align 2, 0 + ldr r4, _0802B830 @ =0x020314E0 + ldr r1, [r4] + movs r7, #0xb5 + lsls r7, r7, #3 + adds r0, r1, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x17 + bne _0802B880 + mov r2, ip + ldrb r0, [r2, #4] + cmp r0, #3 + bls _0802B838 + ldr r3, _0802B834 @ =0x00000389 + adds r1, r1, r3 + movs r0, #0xa + strb r0, [r1] + b _0802B880 + .align 2, 0 _0802B820: .4byte 0x040000D4 _0802B824: .4byte 0x02030730 _0802B828: .4byte 0x050003A0 @@ -85800,193 +85800,193 @@ _0802B82C: .4byte 0x80000010 _0802B830: .4byte 0x020314E0 _0802B834: .4byte 0x00000389 _0802B838: - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #4 - bne _0802B85A - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #9 - bne _0802B85A - bl sub_28E2C - ldr r0, [r4] - ldr r4, _0802B8C4 @ =0x000005F2 - adds r0, r0, r4 - movs r1, #0 - strb r1, [r0] - bl m4aMPlayAllStop + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #4 + bne _0802B85A + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #9 + bne _0802B85A + bl sub_28E2C + ldr r0, [r4] + ldr r4, _0802B8C4 @ =0x000005F2 + adds r0, r0, r4 + movs r1, #0 + strb r1, [r0] + bl m4aMPlayAllStop _0802B85A: - ldr r4, _0802B8C8 @ =0x020314E0 - ldr r1, [r4] - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #8 - bne _0802B880 - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #3 - bne _0802B880 - bl sub_292A0 - ldr r0, [r4] - ldr r7, _0802B8C4 @ =0x000005F2 - adds r0, r0, r7 - movs r1, #0 - strb r1, [r0] - bl m4aMPlayAllStop + ldr r4, _0802B8C8 @ =0x020314E0 + ldr r1, [r4] + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #8 + bne _0802B880 + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #3 + bne _0802B880 + bl sub_292A0 + ldr r0, [r4] + ldr r7, _0802B8C4 @ =0x000005F2 + adds r0, r0, r7 + movs r1, #0 + strb r1, [r0] + bl m4aMPlayAllStop _0802B880: - ldr r5, _0802B8C8 @ =0x020314E0 - ldr r1, [r5] - movs r2, #0xb5 - lsls r2, r2, #3 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x1c - beq _0802B898 - bl _0802C4D2 + ldr r5, _0802B8C8 @ =0x020314E0 + ldr r1, [r5] + movs r2, #0xb5 + lsls r2, r2, #3 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x1c + beq _0802B898 + bl _0802C4D2 _0802B898: - ldr r4, _0802B8CC @ =0x000005A6 - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, #0 - bne _0802B8AC - bl m4aMPlayAllStop - movs r0, #8 - bl sub_11B0 + ldr r4, _0802B8CC @ =0x000005A6 + adds r0, r1, r4 + ldrh r0, [r0] + cmp r0, #0 + bne _0802B8AC + bl m4aMPlayAllStop + movs r0, #8 + bl sub_11B0 _0802B8AC: - ldr r0, [r5] - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #2 - beq _0802B8BA - bl _0802C4D2 + ldr r0, [r5] + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #2 + beq _0802B8BA + bl _0802C4D2 _0802B8BA: - movs r0, #0x9c - bl m4aSongNumStart - bl _0802C4D2 - .align 2, 0 + movs r0, #0x9c + bl m4aSongNumStart + bl _0802C4D2 + .align 2, 0 _0802B8C4: .4byte 0x000005F2 _0802B8C8: .4byte 0x020314E0 _0802B8CC: .4byte 0x000005A6 _0802B8D0: - ldr r0, _0802B9B8 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - ldr r6, [r0, #0xc] - ldrh r0, [r6] - cmp r0, #0 - bne _0802B8E0 - bl _0802C4D2 + ldr r0, _0802B9B8 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + ldr r6, [r0, #0xc] + ldrh r0, [r6] + cmp r0, #0 + bne _0802B8E0 + bl _0802C4D2 _0802B8E0: - ldr r3, _0802B9BC @ =0x020314E0 - ldr r2, [r3] - ldr r4, _0802B9C0 @ =0x0000132C - adds r1, r2, r4 - ldr r0, [r1] - ldrh r0, [r0, #0x24] - strh r0, [r6, #2] - ldr r0, [r1] - ldrh r0, [r0, #0x26] - strh r0, [r6, #4] - ldr r1, _0802B9C4 @ =0x086ACFF4 - movs r7, #0xb5 - lsls r7, r7, #3 - adds r0, r2, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #0x11 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #7 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - movs r0, #0x13 - ldrsb r0, [r2, r0] - cmp r0, #5 - bne _0802B9D8 - movs r5, #0 - lsls r0, r3, #0x10 - ldr r1, _0802B9C8 @ =0x03005000 - mov r8, r1 - ldr r2, _0802B9CC @ =0x081B0FE4 - mov sb, r2 - asrs r1, r0, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #5 - mov sl, r0 + ldr r3, _0802B9BC @ =0x020314E0 + ldr r2, [r3] + ldr r4, _0802B9C0 @ =0x0000132C + adds r1, r2, r4 + ldr r0, [r1] + ldrh r0, [r0, #0x24] + strh r0, [r6, #2] + ldr r0, [r1] + ldrh r0, [r0, #0x26] + strh r0, [r6, #4] + ldr r1, _0802B9C4 @ =0x086ACFF4 + movs r7, #0xb5 + lsls r7, r7, #3 + adds r0, r2, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + subs r0, #0x11 + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r0, #7 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + movs r0, #0x13 + ldrsb r0, [r2, r0] + cmp r0, #5 + bne _0802B9D8 + movs r5, #0 + lsls r0, r3, #0x10 + ldr r1, _0802B9C8 @ =0x03005000 + mov r8, r1 + ldr r2, _0802B9CC @ =0x081B0FE4 + mov sb, r2 + asrs r1, r0, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #5 + mov sl, r0 _0802B930: - lsls r3, r5, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r0, [r5] - lsls r0, r0, #3 - mov r4, r8 - adds r2, r0, r4 - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - add r0, sl - add r0, sb - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - add r0, sl - add r0, sb - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - add r1, sl - add r1, sb - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r5] - lsls r2, r2, #3 - add r2, r8 - ldrh r4, [r2, #2] - lsls r1, r4, #0x17 - lsrs r1, r1, #0x17 - movs r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _0802B9D0 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - ldr r0, _0802B9D4 @ =0xFFFFFE00 - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, r8 - ldrb r0, [r6, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, r8 - ldrb r2, [r1, #5] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r1, #5] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r5, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #0xf - ble _0802B930 - bl _0802C4D2 - .align 2, 0 + lsls r3, r5, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r0, [r5] + lsls r0, r0, #3 + mov r4, r8 + adds r2, r0, r4 + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + add r0, sl + add r0, sb + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + add r0, sl + add r0, sb + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + add r1, sl + add r1, sb + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r5] + lsls r2, r2, #3 + add r2, r8 + ldrh r4, [r2, #2] + lsls r1, r4, #0x17 + lsrs r1, r1, #0x17 + movs r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _0802B9D0 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + ldr r0, _0802B9D4 @ =0xFFFFFE00 + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, r8 + ldrb r0, [r6, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, r8 + ldrb r2, [r1, #5] + movs r0, #0xd + rsbs r0, r0, #0 + ands r0, r2 + strb r0, [r1, #5] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r5, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #0xf + ble _0802B930 + bl _0802C4D2 + .align 2, 0 _0802B9B8: .4byte 0x0200B0C0 _0802B9BC: .4byte 0x020314E0 _0802B9C0: .4byte 0x0000132C @@ -85996,172 +85996,172 @@ _0802B9CC: .4byte 0x081B0FE4 _0802B9D0: .4byte 0x000001FF _0802B9D4: .4byte 0xFFFFFE00 _0802B9D8: - movs r5, #0 - lsls r0, r3, #0x10 - ldr r3, _0802BA6C @ =0x03005000 - mov sb, r3 - ldr r4, _0802BA70 @ =0x081B0FE4 - mov r8, r4 - asrs r1, r0, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #5 - mov ip, r0 - ldr r7, _0802BA74 @ =0xFFFFFE00 - mov sl, r7 + movs r5, #0 + lsls r0, r3, #0x10 + ldr r3, _0802BA6C @ =0x03005000 + mov sb, r3 + ldr r4, _0802BA70 @ =0x081B0FE4 + mov r8, r4 + asrs r1, r0, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #5 + mov ip, r0 + ldr r7, _0802BA74 @ =0xFFFFFE00 + mov sl, r7 _0802B9F2: - lsls r3, r5, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r0, [r5] - lsls r0, r0, #3 - mov r1, sb - adds r2, r0, r1 - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - add r0, ip - add r0, r8 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - add r0, ip - add r0, r8 - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - add r1, ip - add r1, r8 - ldrh r0, [r1] - 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 r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _0802BA78 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, sl - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r6, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r5, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #0xf - ble _0802B9F2 - bl _0802C4D2 - .align 2, 0 + lsls r3, r5, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r0, [r5] + lsls r0, r0, #3 + mov r1, sb + adds r2, r0, r1 + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + add r0, ip + add r0, r8 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + add r0, ip + add r0, r8 + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + add r1, ip + add r1, r8 + ldrh r0, [r1] + 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 r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _0802BA78 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, sl + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r6, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r5, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #0xf + ble _0802B9F2 + bl _0802C4D2 + .align 2, 0 _0802BA6C: .4byte 0x03005000 _0802BA70: .4byte 0x081B0FE4 _0802BA74: .4byte 0xFFFFFE00 _0802BA78: .4byte 0x000001FF _0802BA7C: - ldr r3, _0802BB28 @ =0x0200B0C0 - ldrh r0, [r3, #0x3c] - movs r0, #4 - strh r0, [r3, #0x3c] - ldr r2, _0802BB2C @ =0x040000D4 - ldr r4, _0802BB30 @ =0x020314E0 - ldr r0, [r4] - ldr r7, _0802BB34 @ =0x000005F6 - adds r0, r0, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #5 - ldr r1, _0802BB38 @ =0x08137E14 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802BB3C @ =0x05000220 - str r0, [r2, #4] - ldr r0, _0802BB40 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r0, [r3, #0x44] - ldr r6, [r0, #0xc] - ldrh r0, [r6] - mov ip, r3 - cmp r0, #0 - beq _0802BAD6 - movs r5, #0 - ldr r3, _0802BB44 @ =0x03005000 - movs r2, #0xbe + ldr r3, _0802BB28 @ =0x0200B0C0 + ldrh r0, [r3, #0x3c] + movs r0, #4 + strh r0, [r3, #0x3c] + ldr r2, _0802BB2C @ =0x040000D4 + ldr r4, _0802BB30 @ =0x020314E0 + ldr r0, [r4] + ldr r7, _0802BB34 @ =0x000005F6 + adds r0, r0, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #5 + ldr r1, _0802BB38 @ =0x08137E14 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802BB3C @ =0x05000220 + str r0, [r2, #4] + ldr r0, _0802BB40 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r0, [r3, #0x44] + ldr r6, [r0, #0xc] + ldrh r0, [r6] + mov ip, r3 + cmp r0, #0 + beq _0802BAD6 + movs r5, #0 + ldr r3, _0802BB44 @ =0x03005000 + movs r2, #0xbe _0802BAB8: - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #3 - adds r1, #8 - adds r5, r6, r1 - ldrh r1, [r5] - lsls r1, r1, #3 - adds r1, r1, r3 - strb r2, [r1] - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x15 - ble _0802BAB8 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #3 + adds r1, #8 + adds r5, r6, r1 + ldrh r1, [r5] + lsls r1, r1, #3 + adds r1, r1, r3 + strb r2, [r1] + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x15 + ble _0802BAB8 _0802BAD6: - mov r1, ip - ldr r0, [r1, #0x44] - ldr r1, [r0, #0xc] - movs r5, #0 - movs r0, #0 - strh r0, [r1] - ldr r1, _0802BB30 @ =0x020314E0 - ldr r0, [r1] - ldr r2, _0802BB48 @ =0x0000132C - adds r0, r0, r2 - ldr r0, [r0] - strb r5, [r0] - ldr r4, [r1] - adds r2, r4, r2 - ldr r1, [r2] - movs r0, #0xff - lsls r0, r0, #8 - strh r0, [r1, #0x32] - ldr r1, [r2] - movs r0, #0x28 - strh r0, [r1, #0x30] - ldr r1, [r2] - adds r0, #0xd8 - strh r0, [r1, #6] - ldr r1, [r2] - movs r7, #0x32 - ldrsh r3, [r1, r7] - ldr r0, [r1, #0x38] - adds r0, r0, r3 - str r0, [r1, #0x38] - ldr r1, [r2] - movs r0, #0x30 - ldrsh r2, [r1, r0] - ldr r0, [r1, #0x34] - adds r0, r0, r2 - str r0, [r1, #0x34] - adds r4, #0xe4 - strb r5, [r4] - bl _0802C4D2 - .align 2, 0 + mov r1, ip + ldr r0, [r1, #0x44] + ldr r1, [r0, #0xc] + movs r5, #0 + movs r0, #0 + strh r0, [r1] + ldr r1, _0802BB30 @ =0x020314E0 + ldr r0, [r1] + ldr r2, _0802BB48 @ =0x0000132C + adds r0, r0, r2 + ldr r0, [r0] + strb r5, [r0] + ldr r4, [r1] + adds r2, r4, r2 + ldr r1, [r2] + movs r0, #0xff + lsls r0, r0, #8 + strh r0, [r1, #0x32] + ldr r1, [r2] + movs r0, #0x28 + strh r0, [r1, #0x30] + ldr r1, [r2] + adds r0, #0xd8 + strh r0, [r1, #6] + ldr r1, [r2] + movs r7, #0x32 + ldrsh r3, [r1, r7] + ldr r0, [r1, #0x38] + adds r0, r0, r3 + str r0, [r1, #0x38] + ldr r1, [r2] + movs r0, #0x30 + ldrsh r2, [r1, r0] + ldr r0, [r1, #0x34] + adds r0, r0, r2 + str r0, [r1, #0x34] + adds r4, #0xe4 + strb r5, [r4] + bl _0802C4D2 + .align 2, 0 _0802BB28: .4byte 0x0200B0C0 _0802BB2C: .4byte 0x040000D4 _0802BB30: .4byte 0x020314E0 @@ -86172,43 +86172,43 @@ _0802BB40: .4byte 0x80000010 _0802BB44: .4byte 0x03005000 _0802BB48: .4byte 0x0000132C _0802BB4C: - ldr r1, _0802BB90 @ =0x020314E0 - ldr r0, [r1] - ldr r2, _0802BB94 @ =0x000005A6 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, #7 - bls _0802BB5C - b _0802BC92 + ldr r1, _0802BB90 @ =0x020314E0 + ldr r0, [r1] + ldr r2, _0802BB94 @ =0x000005A6 + adds r1, r0, r2 + ldrh r0, [r1] + cmp r0, #7 + bls _0802BB5C + b _0802BC92 _0802BB5C: - cmp r0, #3 - bhi _0802BC04 - cmp r0, #0 - beq _0802BB66 - b _0802BC92 + cmp r0, #3 + bhi _0802BC04 + cmp r0, #0 + beq _0802BB66 + b _0802BC92 _0802BB66: - ldr r2, _0802BB98 @ =0x040000D4 - ldr r1, _0802BB9C @ =0x02031520 - ldr r3, [r1, #0x30] - str r3, [r2] - ldr r0, _0802BBA0 @ =0x05000200 - str r0, [r2, #4] - ldr r0, _0802BBA4 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r0, _0802BBA8 @ =0x0200B0C0 - ldrb r0, [r0, #4] - adds r4, r1, #0 - cmp r0, #1 - bne _0802BBB4 - adds r0, r3, #0 - adds r0, #0x40 - str r0, [r2] - ldr r0, _0802BBAC @ =0x05000240 - str r0, [r2, #4] - ldr r0, _0802BBB0 @ =0x80000060 - b _0802BBC0 - .align 2, 0 + ldr r2, _0802BB98 @ =0x040000D4 + ldr r1, _0802BB9C @ =0x02031520 + ldr r3, [r1, #0x30] + str r3, [r2] + ldr r0, _0802BBA0 @ =0x05000200 + str r0, [r2, #4] + ldr r0, _0802BBA4 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r0, _0802BBA8 @ =0x0200B0C0 + ldrb r0, [r0, #4] + adds r4, r1, #0 + cmp r0, #1 + bne _0802BBB4 + adds r0, r3, #0 + adds r0, #0x40 + str r0, [r2] + ldr r0, _0802BBAC @ =0x05000240 + str r0, [r2, #4] + ldr r0, _0802BBB0 @ =0x80000060 + b _0802BBC0 + .align 2, 0 _0802BB90: .4byte 0x020314E0 _0802BB94: .4byte 0x000005A6 _0802BB98: .4byte 0x040000D4 @@ -86219,35 +86219,35 @@ _0802BBA8: .4byte 0x0200B0C0 _0802BBAC: .4byte 0x05000240 _0802BBB0: .4byte 0x80000060 _0802BBB4: - adds r0, r3, #0 - adds r0, #0x40 - str r0, [r2] - ldr r0, _0802BBEC @ =0x05000240 - str r0, [r2, #4] - ldr r0, _0802BBF0 @ =0x80000070 + adds r0, r3, #0 + adds r0, #0x40 + str r0, [r2] + ldr r0, _0802BBEC @ =0x05000240 + str r0, [r2, #4] + ldr r0, _0802BBF0 @ =0x80000070 _0802BBC0: - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r1, _0802BBF4 @ =0x040000D4 - ldr r0, [r4, #0x30] - movs r3, #0xa0 - lsls r3, r3, #1 - adds r0, r0, r3 - str r0, [r1] - ldr r0, _0802BBF8 @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0802BBFC @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r4, _0802BC00 @ =0x020314E0 - ldr r0, [r4] - adds r0, #0x6f - movs r1, #1 - strb r1, [r0] - ldr r0, [r4] - adds r0, #0x70 - b _0802BC90 - .align 2, 0 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r1, _0802BBF4 @ =0x040000D4 + ldr r0, [r4, #0x30] + movs r3, #0xa0 + lsls r3, r3, #1 + adds r0, r0, r3 + str r0, [r1] + ldr r0, _0802BBF8 @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0802BBFC @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r4, _0802BC00 @ =0x020314E0 + ldr r0, [r4] + adds r0, #0x6f + movs r1, #1 + strb r1, [r0] + ldr r0, [r4] + adds r0, #0x70 + b _0802BC90 + .align 2, 0 _0802BBEC: .4byte 0x05000240 _0802BBF0: .4byte 0x80000070 _0802BBF4: .4byte 0x040000D4 @@ -86255,34 +86255,34 @@ _0802BBF8: .4byte 0x05000340 _0802BBFC: .4byte 0x80000030 _0802BC00: .4byte 0x020314E0 _0802BC04: - ldr r4, _0802BC3C @ =0x0200B0C0 - ldrh r0, [r4, #0x3c] - movs r0, #0 - strh r0, [r4, #0x3c] - ldrh r0, [r1] - cmp r0, #4 - bls _0802BC92 - ldr r2, _0802BC40 @ =0x040000D4 - ldr r1, _0802BC44 @ =0x02031520 - ldr r3, [r1, #0x2c] - str r3, [r2] - ldr r0, _0802BC48 @ =0x05000200 - str r0, [r2, #4] - ldr r0, _0802BC4C @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldrb r0, [r4, #4] - adds r4, r1, #0 - cmp r0, #1 - bne _0802BC58 - adds r0, r3, #0 - adds r0, #0x40 - str r0, [r2] - ldr r0, _0802BC50 @ =0x05000240 - str r0, [r2, #4] - ldr r0, _0802BC54 @ =0x80000060 - b _0802BC64 - .align 2, 0 + ldr r4, _0802BC3C @ =0x0200B0C0 + ldrh r0, [r4, #0x3c] + movs r0, #0 + strh r0, [r4, #0x3c] + ldrh r0, [r1] + cmp r0, #4 + bls _0802BC92 + ldr r2, _0802BC40 @ =0x040000D4 + ldr r1, _0802BC44 @ =0x02031520 + ldr r3, [r1, #0x2c] + str r3, [r2] + ldr r0, _0802BC48 @ =0x05000200 + str r0, [r2, #4] + ldr r0, _0802BC4C @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldrb r0, [r4, #4] + adds r4, r1, #0 + cmp r0, #1 + bne _0802BC58 + adds r0, r3, #0 + adds r0, #0x40 + str r0, [r2] + ldr r0, _0802BC50 @ =0x05000240 + str r0, [r2, #4] + ldr r0, _0802BC54 @ =0x80000060 + b _0802BC64 + .align 2, 0 _0802BC3C: .4byte 0x0200B0C0 _0802BC40: .4byte 0x040000D4 _0802BC44: .4byte 0x02031520 @@ -86291,174 +86291,174 @@ _0802BC4C: .4byte 0x80000010 _0802BC50: .4byte 0x05000240 _0802BC54: .4byte 0x80000060 _0802BC58: - adds r0, r3, #0 - adds r0, #0x40 - str r0, [r2] - ldr r0, _0802BDA0 @ =0x05000240 - str r0, [r2, #4] - ldr r0, _0802BDA4 @ =0x80000070 + adds r0, r3, #0 + adds r0, #0x40 + str r0, [r2] + ldr r0, _0802BDA0 @ =0x05000240 + str r0, [r2, #4] + ldr r0, _0802BDA4 @ =0x80000070 _0802BC64: - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r1, _0802BDA8 @ =0x040000D4 - ldr r0, [r4, #0x2c] - movs r7, #0xa0 - lsls r7, r7, #1 - adds r0, r0, r7 - str r0, [r1] - ldr r0, _0802BDAC @ =0x05000340 - str r0, [r1, #4] - ldr r0, _0802BDB0 @ =0x80000030 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r1, _0802BDB4 @ =0x020314E0 - ldr r0, [r1] - adds r0, #0x6f - movs r1, #0 - strb r1, [r0] - ldr r2, _0802BDB4 @ =0x020314E0 - ldr r0, [r2] - adds r0, #0x70 - movs r1, #1 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r1, _0802BDA8 @ =0x040000D4 + ldr r0, [r4, #0x2c] + movs r7, #0xa0 + lsls r7, r7, #1 + adds r0, r0, r7 + str r0, [r1] + ldr r0, _0802BDAC @ =0x05000340 + str r0, [r1, #4] + ldr r0, _0802BDB0 @ =0x80000030 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r1, _0802BDB4 @ =0x020314E0 + ldr r0, [r1] + adds r0, #0x6f + movs r1, #0 + strb r1, [r0] + ldr r2, _0802BDB4 @ =0x020314E0 + ldr r0, [r2] + adds r0, #0x70 + movs r1, #1 _0802BC90: - strb r1, [r0] + strb r1, [r0] _0802BC92: - ldr r3, _0802BDB4 @ =0x020314E0 - ldr r5, [r3] - movs r0, #0x13 - ldrsb r0, [r5, r0] - cmp r0, #5 - beq _0802BCA4 - cmp r0, #8 - beq _0802BCA4 - b _0802BDC4 + ldr r3, _0802BDB4 @ =0x020314E0 + ldr r5, [r3] + movs r0, #0x13 + ldrsb r0, [r5, r0] + cmp r0, #5 + beq _0802BCA4 + cmp r0, #8 + beq _0802BCA4 + b _0802BDC4 _0802BCA4: - ldr r7, _0802BDB8 @ =0x0000132C - adds r5, r5, r7 - ldr r1, [r5] - ldrh r0, [r1, #0x32] - adds r0, #0x10 - strh r0, [r1, #0x32] - ldr r1, [r5] - movs r4, #0x32 - ldrsh r2, [r1, r4] - ldr r0, [r1, #0x38] - adds r0, r0, r2 - str r0, [r1, #0x38] - ldr r6, [r5] - ldr r4, [r6, #0x34] - movs r0, #0xec - lsls r0, r0, #7 - subs r0, r0, r4 - movs r1, #0x1e - bl __divsi3 - adds r4, r4, r0 - str r4, [r6, #0x34] - ldr r3, [r5] - ldr r1, [r3, #0x38] - ldr r0, _0802BDBC @ =0x000139FF - cmp r1, r0 - ble _0802BD70 - movs r1, #0x32 - ldrsh r0, [r3, r1] - cmp r0, #0x31 - ble _0802BCE8 - movs r0, #0x9d - bl m4aSongNumStart + ldr r7, _0802BDB8 @ =0x0000132C + adds r5, r5, r7 + ldr r1, [r5] + ldrh r0, [r1, #0x32] + adds r0, #0x10 + strh r0, [r1, #0x32] + ldr r1, [r5] + movs r4, #0x32 + ldrsh r2, [r1, r4] + ldr r0, [r1, #0x38] + adds r0, r0, r2 + str r0, [r1, #0x38] + ldr r6, [r5] + ldr r4, [r6, #0x34] + movs r0, #0xec + lsls r0, r0, #7 + subs r0, r0, r4 + movs r1, #0x1e + bl __divsi3 + adds r4, r4, r0 + str r4, [r6, #0x34] + ldr r3, [r5] + ldr r1, [r3, #0x38] + ldr r0, _0802BDBC @ =0x000139FF + cmp r1, r0 + ble _0802BD70 + movs r1, #0x32 + ldrsh r0, [r3, r1] + cmp r0, #0x31 + ble _0802BCE8 + movs r0, #0x9d + bl m4aSongNumStart _0802BCE8: - ldr r2, _0802BDB4 @ =0x020314E0 - ldr r0, [r2] - adds r0, r0, r7 - ldr r0, [r0] - movs r3, #0x32 - ldrsh r1, [r0, r3] - movs r0, #0x32 - rsbs r0, r0, #0 - cmp r1, r0 - bgt _0802BD02 - movs r0, #0x9d - bl m4aSongNumStart + ldr r2, _0802BDB4 @ =0x020314E0 + ldr r0, [r2] + adds r0, r0, r7 + ldr r0, [r0] + movs r3, #0x32 + ldrsh r1, [r0, r3] + movs r0, #0x32 + rsbs r0, r0, #0 + cmp r1, r0 + bgt _0802BD02 + movs r0, #0x9d + bl m4aSongNumStart _0802BD02: - ldr r0, _0802BDB4 @ =0x020314E0 - ldr r4, [r0] - adds r4, r4, r7 - ldr r1, [r4] - movs r0, #0x9d - lsls r0, r0, #9 - str r0, [r1, #0x38] - ldr r5, [r4] - movs r2, #0x32 - ldrsh r1, [r5, r2] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r1, r0, #4 - subs r0, r0, r1 - movs r1, #0x64 - bl __divsi3 - strh r0, [r5, #0x32] - ldr r5, [r4] - movs r3, #6 - ldrsh r1, [r5, r3] - lsls r0, r1, #3 - subs r0, r0, r1 - movs r1, #0xa - bl __divsi3 - strh r0, [r5, #6] - ldr r4, [r4] - ldrh r1, [r4, #6] - movs r2, #6 - ldrsh r0, [r4, r2] - cmp r0, #0 - ble _0802BD48 - rsbs r0, r1, #0 - strh r0, [r4, #6] + ldr r0, _0802BDB4 @ =0x020314E0 + ldr r4, [r0] + adds r4, r4, r7 + ldr r1, [r4] + movs r0, #0x9d + lsls r0, r0, #9 + str r0, [r1, #0x38] + ldr r5, [r4] + movs r2, #0x32 + ldrsh r1, [r5, r2] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r1, r0, #4 + subs r0, r0, r1 + movs r1, #0x64 + bl __divsi3 + strh r0, [r5, #0x32] + ldr r5, [r4] + movs r3, #6 + ldrsh r1, [r5, r3] + lsls r0, r1, #3 + subs r0, r0, r1 + movs r1, #0xa + bl __divsi3 + strh r0, [r5, #6] + ldr r4, [r4] + ldrh r1, [r4, #6] + movs r2, #6 + ldrsh r0, [r4, r2] + cmp r0, #0 + ble _0802BD48 + rsbs r0, r1, #0 + strh r0, [r4, #6] _0802BD48: - ldr r3, _0802BDB4 @ =0x020314E0 - ldr r4, [r3] - adds r4, r4, r7 - ldr r5, [r4] - movs r7, #0x30 - ldrsh r1, [r5, r7] - lsls r0, r1, #3 - subs r0, r0, r1 - movs r1, #0xa - bl __divsi3 - strh r0, [r5, #0x30] - ldr r4, [r4] - ldrh r1, [r4, #0x30] - movs r2, #0x30 - ldrsh r0, [r4, r2] - cmp r0, #0 - ble _0802BD70 - rsbs r0, r1, #0 - strh r0, [r4, #0x30] + ldr r3, _0802BDB4 @ =0x020314E0 + ldr r4, [r3] + adds r4, r4, r7 + ldr r5, [r4] + movs r7, #0x30 + ldrsh r1, [r5, r7] + lsls r0, r1, #3 + subs r0, r0, r1 + movs r1, #0xa + bl __divsi3 + strh r0, [r5, #0x30] + ldr r4, [r4] + ldrh r1, [r4, #0x30] + movs r2, #0x30 + ldrsh r0, [r4, r2] + cmp r0, #0 + ble _0802BD70 + rsbs r0, r1, #0 + strh r0, [r4, #0x30] _0802BD70: - ldr r3, _0802BDB4 @ =0x020314E0 - ldr r2, [r3] - ldr r4, _0802BDB8 @ =0x0000132C - adds r0, r2, r4 - ldr r0, [r0] - ldrh r1, [r0, #0x32] - movs r7, #0x32 - ldrsh r0, [r0, r7] - cmp r0, #0 - bge _0802BD8A - rsbs r0, r0, #0 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 + ldr r3, _0802BDB4 @ =0x020314E0 + ldr r2, [r3] + ldr r4, _0802BDB8 @ =0x0000132C + adds r0, r2, r4 + ldr r0, [r0] + ldrh r1, [r0, #0x32] + movs r7, #0x32 + ldrsh r0, [r0, r7] + cmp r0, #0 + bge _0802BD8A + rsbs r0, r0, #0 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 _0802BD8A: - lsls r1, r1, #0x10 - movs r0, #0x80 - lsls r0, r0, #0x11 - cmp r1, r0 - ble _0802BE78 - ldr r0, _0802BDC0 @ =0x000005A6 - adds r1, r2, r0 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - b _0802BE78 - .align 2, 0 + lsls r1, r1, #0x10 + movs r0, #0x80 + lsls r0, r0, #0x11 + cmp r1, r0 + ble _0802BE78 + ldr r0, _0802BDC0 @ =0x000005A6 + adds r1, r2, r0 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] + b _0802BE78 + .align 2, 0 _0802BDA0: .4byte 0x05000240 _0802BDA4: .4byte 0x80000070 _0802BDA8: .4byte 0x040000D4 @@ -86469,561 +86469,561 @@ _0802BDB8: .4byte 0x0000132C _0802BDBC: .4byte 0x000139FF _0802BDC0: .4byte 0x000005A6 _0802BDC4: - ldr r6, _0802BE88 @ =0x0000132C - adds r3, r5, r6 - ldr r1, [r3] - ldrh r0, [r1, #0x32] - adds r0, #0x10 - strh r0, [r1, #0x32] - ldr r1, [r3] - movs r4, #0x32 - ldrsh r2, [r1, r4] - ldr r0, [r1, #0x38] - adds r0, r0, r2 - str r0, [r1, #0x38] - ldr r1, [r3] - movs r7, #0x30 - ldrsh r2, [r1, r7] - ldr r0, [r1, #0x34] - adds r0, r0, r2 - str r0, [r1, #0x34] - ldr r1, [r3] - ldr r2, _0802BE8C @ =0x0000028A - adds r0, r5, r2 - movs r3, #0 - ldrsh r0, [r0, r3] - adds r0, #0x32 - lsls r0, r0, #8 - ldr r1, [r1, #0x38] - cmp r1, r0 - blt _0802BE78 - movs r0, #0x9d - bl m4aSongNumStart - ldr r4, _0802BE90 @ =0x020314E0 - ldr r0, [r4] - adds r5, r0, r6 - ldr r1, [r5] - ldr r7, _0802BE8C @ =0x0000028A - adds r0, r0, r7 - movs r2, #0 - ldrsh r0, [r0, r2] - adds r0, #0x32 - lsls r0, r0, #8 - str r0, [r1, #0x38] - ldr r4, [r5] - movs r3, #0x32 - ldrsh r1, [r4, r3] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r1, r0, #4 - subs r0, r0, r1 - movs r1, #0x64 - bl __divsi3 - strh r0, [r4, #0x32] - ldr r4, [r5] - movs r7, #6 - ldrsh r1, [r4, r7] - lsls r0, r1, #3 - subs r0, r0, r1 - movs r1, #0xa - bl __divsi3 - strh r0, [r4, #6] - ldr r5, [r5] - ldrh r1, [r5, #6] - movs r2, #6 - ldrsh r0, [r5, r2] - cmp r0, #0 - ble _0802BE50 - rsbs r0, r1, #0 - strh r0, [r5, #6] + ldr r6, _0802BE88 @ =0x0000132C + adds r3, r5, r6 + ldr r1, [r3] + ldrh r0, [r1, #0x32] + adds r0, #0x10 + strh r0, [r1, #0x32] + ldr r1, [r3] + movs r4, #0x32 + ldrsh r2, [r1, r4] + ldr r0, [r1, #0x38] + adds r0, r0, r2 + str r0, [r1, #0x38] + ldr r1, [r3] + movs r7, #0x30 + ldrsh r2, [r1, r7] + ldr r0, [r1, #0x34] + adds r0, r0, r2 + str r0, [r1, #0x34] + ldr r1, [r3] + ldr r2, _0802BE8C @ =0x0000028A + adds r0, r5, r2 + movs r3, #0 + ldrsh r0, [r0, r3] + adds r0, #0x32 + lsls r0, r0, #8 + ldr r1, [r1, #0x38] + cmp r1, r0 + blt _0802BE78 + movs r0, #0x9d + bl m4aSongNumStart + ldr r4, _0802BE90 @ =0x020314E0 + ldr r0, [r4] + adds r5, r0, r6 + ldr r1, [r5] + ldr r7, _0802BE8C @ =0x0000028A + adds r0, r0, r7 + movs r2, #0 + ldrsh r0, [r0, r2] + adds r0, #0x32 + lsls r0, r0, #8 + str r0, [r1, #0x38] + ldr r4, [r5] + movs r3, #0x32 + ldrsh r1, [r4, r3] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r1, r0, #4 + subs r0, r0, r1 + movs r1, #0x64 + bl __divsi3 + strh r0, [r4, #0x32] + ldr r4, [r5] + movs r7, #6 + ldrsh r1, [r4, r7] + lsls r0, r1, #3 + subs r0, r0, r1 + movs r1, #0xa + bl __divsi3 + strh r0, [r4, #6] + ldr r5, [r5] + ldrh r1, [r5, #6] + movs r2, #6 + ldrsh r0, [r5, r2] + cmp r0, #0 + ble _0802BE50 + rsbs r0, r1, #0 + strh r0, [r5, #6] _0802BE50: - ldr r3, _0802BE90 @ =0x020314E0 - ldr r4, [r3] - adds r4, r4, r6 - ldr r5, [r4] - movs r7, #0x30 - ldrsh r1, [r5, r7] - lsls r0, r1, #3 - subs r0, r0, r1 - movs r1, #0xa - bl __divsi3 - strh r0, [r5, #0x30] - ldr r1, [r4] - ldrh r2, [r1, #0x30] - movs r3, #0x30 - ldrsh r0, [r1, r3] - cmp r0, #0 - ble _0802BE78 - rsbs r0, r2, #0 - strh r0, [r1, #0x30] + ldr r3, _0802BE90 @ =0x020314E0 + ldr r4, [r3] + adds r4, r4, r6 + ldr r5, [r4] + movs r7, #0x30 + ldrsh r1, [r5, r7] + lsls r0, r1, #3 + subs r0, r0, r1 + movs r1, #0xa + bl __divsi3 + strh r0, [r5, #0x30] + ldr r1, [r4] + ldrh r2, [r1, #0x30] + movs r3, #0x30 + ldrsh r0, [r1, r3] + cmp r0, #0 + ble _0802BE78 + rsbs r0, r2, #0 + strh r0, [r1, #0x30] _0802BE78: - ldr r0, _0802BE90 @ =0x020314E0 - ldr r0, [r0] - movs r4, #0xb6 - lsls r4, r4, #3 - adds r0, r0, r4 - movs r1, #0 - strh r1, [r0] - b _0802C4D2 - .align 2, 0 + ldr r0, _0802BE90 @ =0x020314E0 + ldr r0, [r0] + movs r4, #0xb6 + lsls r4, r4, #3 + adds r0, r0, r4 + movs r1, #0 + strh r1, [r0] + b _0802C4D2 + .align 2, 0 _0802BE88: .4byte 0x0000132C _0802BE8C: .4byte 0x0000028A _0802BE90: .4byte 0x020314E0 _0802BE94: - ldr r0, _0802BEAC @ =0x020314E0 - ldr r1, [r0] - ldr r7, _0802BEB0 @ =0x0000132C - adds r1, r1, r7 - ldr r0, [r1] - movs r2, #0 - strh r2, [r0, #0x30] - ldr r0, [r1] - strh r2, [r0, #0x32] - ldr r0, [r1] - strh r2, [r0, #6] - b _0802C4D2 - .align 2, 0 + ldr r0, _0802BEAC @ =0x020314E0 + ldr r1, [r0] + ldr r7, _0802BEB0 @ =0x0000132C + adds r1, r1, r7 + ldr r0, [r1] + movs r2, #0 + strh r2, [r0, #0x30] + ldr r0, [r1] + strh r2, [r0, #0x32] + ldr r0, [r1] + strh r2, [r0, #6] + b _0802C4D2 + .align 2, 0 _0802BEAC: .4byte 0x020314E0 _0802BEB0: .4byte 0x0000132C _0802BEB4: - ldr r6, _0802BF00 @ =0x020314E0 - ldr r2, [r6] - ldr r1, _0802BF04 @ =0x000005A6 - adds r0, r2, r1 - ldrh r1, [r0] - movs r0, #0xed - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - asrs r4, r0, #0x10 - cmp r4, #0xbf - ble _0802BECE - b _0802C036 + ldr r6, _0802BF00 @ =0x020314E0 + ldr r2, [r6] + ldr r1, _0802BF04 @ =0x000005A6 + adds r0, r2, r1 + ldrh r1, [r0] + movs r0, #0xed + subs r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + asrs r4, r0, #0x10 + cmp r4, #0xbf + ble _0802BECE + b _0802C036 _0802BECE: - cmp r4, #0xb7 - ble _0802BF10 - cmp r4, #0xb9 - bne _0802BEDC - movs r0, #6 - bl sub_11B0 + cmp r4, #0xb7 + ble _0802BF10 + cmp r4, #0xb9 + bne _0802BEDC + movs r0, #6 + bl sub_11B0 _0802BEDC: - cmp r4, #0xb8 - bne _0802BEE6 - movs r0, #0x9e - bl m4aSongNumStart + cmp r4, #0xb8 + bne _0802BEE6 + movs r0, #0x9e + bl m4aSongNumStart _0802BEE6: - ldr r1, [r6] - ldr r2, _0802BF08 @ =0x0000132C - adds r1, r1, r2 - ldr r2, [r1] - ldr r0, [r2, #0x34] - subs r0, #0x60 - str r0, [r2, #0x34] - ldr r1, [r1] - ldr r3, _0802BF0C @ =0xFFFFFC00 - adds r0, r3, #0 - ldrh r4, [r1, #0xa] - adds r0, r0, r4 - b _0802C034 - .align 2, 0 + ldr r1, [r6] + ldr r2, _0802BF08 @ =0x0000132C + adds r1, r1, r2 + ldr r2, [r1] + ldr r0, [r2, #0x34] + subs r0, #0x60 + str r0, [r2, #0x34] + ldr r1, [r1] + ldr r3, _0802BF0C @ =0xFFFFFC00 + adds r0, r3, #0 + ldrh r4, [r1, #0xa] + adds r0, r0, r4 + b _0802C034 + .align 2, 0 _0802BF00: .4byte 0x020314E0 _0802BF04: .4byte 0x000005A6 _0802BF08: .4byte 0x0000132C _0802BF0C: .4byte 0xFFFFFC00 _0802BF10: - cmp r4, #0xaf - ble _0802BF20 - ldr r7, _0802BF1C @ =0x0000132C - adds r2, r2, r7 - b _0802C020 - .align 2, 0 + cmp r4, #0xaf + ble _0802BF20 + ldr r7, _0802BF1C @ =0x0000132C + adds r2, r2, r7 + b _0802C020 + .align 2, 0 _0802BF1C: .4byte 0x0000132C _0802BF20: - cmp r4, #0xa7 - ble _0802BF5C - cmp r4, #0xa9 - bne _0802BF2E - movs r0, #6 - bl sub_11B0 + cmp r4, #0xa7 + ble _0802BF5C + cmp r4, #0xa9 + bne _0802BF2E + movs r0, #6 + bl sub_11B0 _0802BF2E: - cmp r4, #0xa8 - bne _0802BF38 - movs r0, #0x9e - bl m4aSongNumStart + cmp r4, #0xa8 + bne _0802BF38 + movs r0, #0x9e + bl m4aSongNumStart _0802BF38: - ldr r1, [r6] - ldr r4, _0802BF54 @ =0x0000132C - adds r1, r1, r4 - ldr r2, [r1] - ldr r0, [r2, #0x34] - subs r0, #0x60 - str r0, [r2, #0x34] - ldr r1, [r1] - ldr r7, _0802BF58 @ =0xFFFFFC00 - adds r0, r7, #0 - ldrh r2, [r1, #0xa] - adds r0, r0, r2 - b _0802C034 - .align 2, 0 + ldr r1, [r6] + ldr r4, _0802BF54 @ =0x0000132C + adds r1, r1, r4 + ldr r2, [r1] + ldr r0, [r2, #0x34] + subs r0, #0x60 + str r0, [r2, #0x34] + ldr r1, [r1] + ldr r7, _0802BF58 @ =0xFFFFFC00 + adds r0, r7, #0 + ldrh r2, [r1, #0xa] + adds r0, r0, r2 + b _0802C034 + .align 2, 0 _0802BF54: .4byte 0x0000132C _0802BF58: .4byte 0xFFFFFC00 _0802BF5C: - cmp r4, #0x9f - ble _0802BF80 - ldr r3, _0802BF7C @ =0x0000132C - adds r2, r2, r3 - ldr r1, [r2] - ldr r0, [r1, #0x34] - adds r0, #0x60 - str r0, [r1, #0x34] - ldr r1, [r2] - movs r4, #0x80 - lsls r4, r4, #3 - adds r0, r4, #0 - ldrh r7, [r1, #0xa] - adds r0, r0, r7 - b _0802C034 - .align 2, 0 + cmp r4, #0x9f + ble _0802BF80 + ldr r3, _0802BF7C @ =0x0000132C + adds r2, r2, r3 + ldr r1, [r2] + ldr r0, [r1, #0x34] + adds r0, #0x60 + str r0, [r1, #0x34] + ldr r1, [r2] + movs r4, #0x80 + lsls r4, r4, #3 + adds r0, r4, #0 + ldrh r7, [r1, #0xa] + adds r0, r0, r7 + b _0802C034 + .align 2, 0 _0802BF7C: .4byte 0x0000132C _0802BF80: - cmp r4, #0x7b - bgt _0802C036 - cmp r4, #0x73 - ble _0802BFB8 - cmp r4, #0x75 - bne _0802BF92 - movs r0, #6 - bl sub_11B0 + cmp r4, #0x7b + bgt _0802C036 + cmp r4, #0x73 + ble _0802BFB8 + cmp r4, #0x75 + bne _0802BF92 + movs r0, #6 + bl sub_11B0 _0802BF92: - cmp r4, #0x74 - bne _0802BF9C - movs r0, #0x9e - bl m4aSongNumStart + cmp r4, #0x74 + bne _0802BF9C + movs r0, #0x9e + bl m4aSongNumStart _0802BF9C: - ldr r1, [r6] - ldr r0, _0802BFB0 @ =0x0000132C - adds r1, r1, r0 - ldr r2, [r1] - ldr r0, [r2, #0x34] - subs r0, #0x60 - str r0, [r2, #0x34] - ldr r1, [r1] - ldr r2, _0802BFB4 @ =0xFFFFFC00 - b _0802C02E - .align 2, 0 + ldr r1, [r6] + ldr r0, _0802BFB0 @ =0x0000132C + adds r1, r1, r0 + ldr r2, [r1] + ldr r0, [r2, #0x34] + subs r0, #0x60 + str r0, [r2, #0x34] + ldr r1, [r1] + ldr r2, _0802BFB4 @ =0xFFFFFC00 + b _0802C02E + .align 2, 0 _0802BFB0: .4byte 0x0000132C _0802BFB4: .4byte 0xFFFFFC00 _0802BFB8: - cmp r4, #0x6b - ble _0802BFDC - ldr r4, _0802BFD8 @ =0x0000132C - adds r2, r2, r4 - ldr r1, [r2] - ldr r0, [r1, #0x34] - adds r0, #0x60 - str r0, [r1, #0x34] - ldr r1, [r2] - movs r7, #0x80 - lsls r7, r7, #3 - adds r0, r7, #0 - ldrh r2, [r1, #0xa] - adds r0, r0, r2 - b _0802C034 - .align 2, 0 + cmp r4, #0x6b + ble _0802BFDC + ldr r4, _0802BFD8 @ =0x0000132C + adds r2, r2, r4 + ldr r1, [r2] + ldr r0, [r1, #0x34] + adds r0, #0x60 + str r0, [r1, #0x34] + ldr r1, [r2] + movs r7, #0x80 + lsls r7, r7, #3 + adds r0, r7, #0 + ldrh r2, [r1, #0xa] + adds r0, r0, r2 + b _0802C034 + .align 2, 0 _0802BFD8: .4byte 0x0000132C _0802BFDC: - cmp r4, #0x63 - ble _0802C018 - cmp r4, #0x65 - bne _0802BFEA - movs r0, #6 - bl sub_11B0 + cmp r4, #0x63 + ble _0802C018 + cmp r4, #0x65 + bne _0802BFEA + movs r0, #6 + bl sub_11B0 _0802BFEA: - cmp r4, #0x64 - bne _0802BFF4 - movs r0, #0x9e - bl m4aSongNumStart + cmp r4, #0x64 + bne _0802BFF4 + movs r0, #0x9e + bl m4aSongNumStart _0802BFF4: - ldr r1, [r6] - ldr r3, _0802C010 @ =0x0000132C - adds r1, r1, r3 - ldr r2, [r1] - ldr r0, [r2, #0x34] - subs r0, #0x60 - str r0, [r2, #0x34] - ldr r1, [r1] - ldr r4, _0802C014 @ =0xFFFFFC00 - adds r0, r4, #0 - ldrh r7, [r1, #0xa] - adds r0, r0, r7 - b _0802C034 - .align 2, 0 + ldr r1, [r6] + ldr r3, _0802C010 @ =0x0000132C + adds r1, r1, r3 + ldr r2, [r1] + ldr r0, [r2, #0x34] + subs r0, #0x60 + str r0, [r2, #0x34] + ldr r1, [r1] + ldr r4, _0802C014 @ =0xFFFFFC00 + adds r0, r4, #0 + ldrh r7, [r1, #0xa] + adds r0, r0, r7 + b _0802C034 + .align 2, 0 _0802C010: .4byte 0x0000132C _0802C014: .4byte 0xFFFFFC00 _0802C018: - cmp r4, #0x5b - ble _0802C036 - ldr r0, _0802C048 @ =0x0000132C - adds r2, r2, r0 + cmp r4, #0x5b + ble _0802C036 + ldr r0, _0802C048 @ =0x0000132C + adds r2, r2, r0 _0802C020: - ldr r1, [r2] - ldr r0, [r1, #0x34] - adds r0, #0x60 - str r0, [r1, #0x34] - ldr r1, [r2] - movs r2, #0x80 - lsls r2, r2, #3 + ldr r1, [r2] + ldr r0, [r1, #0x34] + adds r0, #0x60 + str r0, [r1, #0x34] + ldr r1, [r2] + movs r2, #0x80 + lsls r2, r2, #3 _0802C02E: - adds r0, r2, #0 - ldrh r3, [r1, #0xa] - adds r0, r0, r3 + adds r0, r2, #0 + ldrh r3, [r1, #0xa] + adds r0, r0, r3 _0802C034: - strh r0, [r1, #0xa] + strh r0, [r1, #0xa] _0802C036: - cmp r5, #0 - beq _0802C03C - b _0802C4D2 + cmp r5, #0 + beq _0802C03C + b _0802C4D2 _0802C03C: - movs r0, #0x11 - bl m4aSongNumStart - bl sub_2312C - b _0802C4D2 - .align 2, 0 + movs r0, #0x11 + bl m4aSongNumStart + bl sub_2312C + b _0802C4D2 + .align 2, 0 _0802C048: .4byte 0x0000132C _0802C04C: - ldr r4, _0802C208 @ =0x020314E0 - ldr r0, [r4] - ldr r7, _0802C20C @ =0x0000132C - adds r0, r0, r7 - ldr r1, [r0] - movs r0, #3 - strb r0, [r1, #1] - bl sub_23300 - ldr r4, [r4] - ldr r1, _0802C210 @ =0x000005A6 - adds r0, r4, r1 - ldrh r0, [r0] - cmp r0, #0xe5 - bhi _0802C07A - movs r2, #0x84 - lsls r2, r2, #2 - adds r4, r4, r2 - ldrh r0, [r4] - cmp r0, #0x96 - bne _0802C07A - subs r0, #1 - strh r0, [r4] + ldr r4, _0802C208 @ =0x020314E0 + ldr r0, [r4] + ldr r7, _0802C20C @ =0x0000132C + adds r0, r0, r7 + ldr r1, [r0] + movs r0, #3 + strb r0, [r1, #1] + bl sub_23300 + ldr r4, [r4] + ldr r1, _0802C210 @ =0x000005A6 + adds r0, r4, r1 + ldrh r0, [r0] + cmp r0, #0xe5 + bhi _0802C07A + movs r2, #0x84 + lsls r2, r2, #2 + adds r4, r4, r2 + ldrh r0, [r4] + cmp r0, #0x96 + bne _0802C07A + subs r0, #1 + strh r0, [r4] _0802C07A: - ldr r4, _0802C208 @ =0x020314E0 - ldr r0, [r4] - ldr r3, _0802C210 @ =0x000005A6 - adds r0, r0, r3 - ldrh r1, [r0] - movs r0, #0x87 - lsls r0, r0, #1 - cmp r1, r0 - bne _0802C0A6 - ldr r0, _0802C214 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #1 - bhi _0802C0A6 - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 - ldr r0, [r4] - ldr r4, _0802C218 @ =0x000006C4 - adds r0, r0, r4 - movs r1, #0 - strb r1, [r0] + ldr r4, _0802C208 @ =0x020314E0 + ldr r0, [r4] + ldr r3, _0802C210 @ =0x000005A6 + adds r0, r0, r3 + ldrh r1, [r0] + movs r0, #0x87 + lsls r0, r0, #1 + cmp r1, r0 + bne _0802C0A6 + ldr r0, _0802C214 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #1 + bhi _0802C0A6 + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 + ldr r0, [r4] + ldr r4, _0802C218 @ =0x000006C4 + adds r0, r0, r4 + movs r1, #0 + strb r1, [r0] _0802C0A6: - ldr r1, _0802C208 @ =0x020314E0 - ldr r3, [r1] - ldr r7, _0802C210 @ =0x000005A6 - adds r4, r3, r7 - ldrh r0, [r4] - cmp r0, #0x1d - bhi _0802C11C - ldr r1, _0802C214 @ =0x0200B0C0 - movs r0, #1 - strh r0, [r1, #0x2c] - ldrh r5, [r4] - movs r1, #0xa6 - lsls r1, r1, #2 - adds r0, r3, r1 - strh r5, [r0] - movs r1, #0 - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - ldr r2, _0802C21C @ =0x03005C00 - mov r8, r2 - cmp r1, r0 - bgt _0802C10C - mov r7, r8 - adds r4, r0, #0 - movs r6, #0xc1 - lsls r6, r6, #8 + ldr r1, _0802C208 @ =0x020314E0 + ldr r3, [r1] + ldr r7, _0802C210 @ =0x000005A6 + adds r4, r3, r7 + ldrh r0, [r4] + cmp r0, #0x1d + bhi _0802C11C + ldr r1, _0802C214 @ =0x0200B0C0 + movs r0, #1 + strh r0, [r1, #0x2c] + ldrh r5, [r4] + movs r1, #0xa6 + lsls r1, r1, #2 + adds r0, r3, r1 + strh r5, [r0] + movs r1, #0 + lsls r0, r5, #0x10 + asrs r0, r0, #0x10 + ldr r2, _0802C21C @ =0x03005C00 + mov r8, r2 + cmp r1, r0 + bgt _0802C10C + mov r7, r8 + adds r4, r0, #0 + movs r6, #0xc1 + lsls r6, r6, #8 _0802C0DA: - movs r5, #1 - lsls r2, r1, #0x10 - asrs r3, r2, #0x10 + movs r5, #1 + lsls r2, r1, #0x10 + asrs r3, r2, #0x10 _0802C0E0: - 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, r7 - strh r6, [r0] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r5, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #0xa - ble _0802C0E0 - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r2, r3 - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, r4 - ble _0802C0DA + 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, r7 + strh r6, [r0] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r5, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #0xa + ble _0802C0E0 + movs r3, #0x80 + lsls r3, r3, #9 + adds r0, r2, r3 + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, r4 + ble _0802C0DA _0802C10C: - ldr r1, _0802C220 @ =0x040000D4 - mov r4, r8 - str r4, [r1] - ldr r0, _0802C224 @ =0x06002000 - str r0, [r1, #4] - ldr r0, _0802C228 @ =0x80000400 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r1, _0802C220 @ =0x040000D4 + mov r4, r8 + str r4, [r1] + ldr r0, _0802C224 @ =0x06002000 + str r0, [r1, #4] + ldr r0, _0802C228 @ =0x80000400 + str r0, [r1, #8] + ldr r0, [r1, #8] _0802C11C: - ldr r7, _0802C208 @ =0x020314E0 - ldr r0, [r7] - ldr r1, _0802C210 @ =0x000005A6 - adds r0, r0, r1 - ldrh r0, [r0] - subs r0, #0xf0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x1d - bhi _0802C1AE - movs r1, #0 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldr r2, _0802C21C @ =0x03005C00 - mov r8, r2 - cmp r1, r0 - bgt _0802C176 - mov r6, r8 - ldr r4, _0802C22C @ =0x000001FF - adds r7, r0, #0 + ldr r7, _0802C208 @ =0x020314E0 + ldr r0, [r7] + ldr r1, _0802C210 @ =0x000005A6 + adds r0, r0, r1 + ldrh r0, [r0] + subs r0, #0xf0 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x1d + bhi _0802C1AE + movs r1, #0 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldr r2, _0802C21C @ =0x03005C00 + mov r8, r2 + cmp r1, r0 + bgt _0802C176 + mov r6, r8 + ldr r4, _0802C22C @ =0x000001FF + adds r7, r0, #0 _0802C144: - movs r5, #1 - lsls r2, r1, #0x10 - asrs r3, r2, #0x10 + movs r5, #1 + lsls r2, r1, #0x10 + asrs r3, r2, #0x10 _0802C14A: - 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 _0802C14A - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r2, r3 - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, r7 - ble _0802C144 + 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 _0802C14A + movs r3, #0x80 + lsls r3, r3, #9 + adds r0, r2, r3 + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, r7 + ble _0802C144 _0802C176: - ldr r1, _0802C220 @ =0x040000D4 - mov r4, r8 - str r4, [r1] - ldr r0, _0802C224 @ =0x06002000 - str r0, [r1, #4] - ldr r0, _0802C228 @ =0x80000400 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r7, _0802C208 @ =0x020314E0 - ldr r0, [r7] - ldr r1, _0802C210 @ =0x000005A6 - adds r0, r0, r1 - ldrh r1, [r0] - ldr r0, _0802C230 @ =0x0000010D - cmp r1, r0 - bne _0802C1AE - ldr r1, _0802C214 @ =0x0200B0C0 - movs r2, #0 - strh r2, [r1, #0x2c] - ldrb r0, [r1, #4] - cmp r0, #1 - bhi _0802C1AE - ldrh r0, [r1, #0x38] - strh r2, [r1, #0x38] - ldrh r0, [r1, #0x3c] - strh r2, [r1, #0x3c] - ldrh r0, [r1, #0x3a] - strh r2, [r1, #0x3a] + ldr r1, _0802C220 @ =0x040000D4 + mov r4, r8 + str r4, [r1] + ldr r0, _0802C224 @ =0x06002000 + str r0, [r1, #4] + ldr r0, _0802C228 @ =0x80000400 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r7, _0802C208 @ =0x020314E0 + ldr r0, [r7] + ldr r1, _0802C210 @ =0x000005A6 + adds r0, r0, r1 + ldrh r1, [r0] + ldr r0, _0802C230 @ =0x0000010D + cmp r1, r0 + bne _0802C1AE + ldr r1, _0802C214 @ =0x0200B0C0 + movs r2, #0 + strh r2, [r1, #0x2c] + ldrb r0, [r1, #4] + cmp r0, #1 + bhi _0802C1AE + ldrh r0, [r1, #0x38] + strh r2, [r1, #0x38] + ldrh r0, [r1, #0x3c] + strh r2, [r1, #0x3c] + ldrh r0, [r1, #0x3a] + strh r2, [r1, #0x3a] _0802C1AE: - ldr r2, _0802C208 @ =0x020314E0 - ldr r1, [r2] - ldrb r0, [r1, #0x1c] - cmp r0, #0 - beq _0802C1C0 - ldr r3, _0802C210 @ =0x000005A6 - adds r1, r1, r3 - movs r0, #0xb5 - strh r0, [r1] + ldr r2, _0802C208 @ =0x020314E0 + ldr r1, [r2] + ldrb r0, [r1, #0x1c] + cmp r0, #0 + beq _0802C1C0 + ldr r3, _0802C210 @ =0x000005A6 + adds r1, r1, r3 + movs r0, #0xb5 + strh r0, [r1] _0802C1C0: - ldr r4, _0802C208 @ =0x020314E0 - ldr r1, [r4] - ldr r7, _0802C210 @ =0x000005A6 - adds r0, r1, r7 - ldrh r0, [r0] - cmp r0, #0xb4 - beq _0802C1D0 - b _0802C4D2 + ldr r4, _0802C208 @ =0x020314E0 + ldr r1, [r4] + ldr r7, _0802C210 @ =0x000005A6 + adds r0, r1, r7 + ldrh r0, [r0] + cmp r0, #0xb4 + beq _0802C1D0 + b _0802C4D2 _0802C1D0: - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #4 - beq _0802C1DC - cmp r0, #8 - bne _0802C28C + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #4 + beq _0802C1DC + cmp r0, #8 + bne _0802C28C _0802C1DC: - movs r0, #1 - strb r0, [r1, #0x1c] - ldr r0, _0802C208 @ =0x020314E0 - ldr r1, [r0] - movs r2, #0xb3 - lsls r2, r2, #3 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #0x8d - beq _0802C268 - cmp r0, #0x8d - bgt _0802C23E - cmp r0, #0x84 - beq _0802C268 - cmp r0, #0x84 - bgt _0802C234 - cmp r0, #0x3b - beq _0802C268 - cmp r0, #0x72 - beq _0802C268 - b _0802C284 - .align 2, 0 + movs r0, #1 + strb r0, [r1, #0x1c] + ldr r0, _0802C208 @ =0x020314E0 + ldr r1, [r0] + movs r2, #0xb3 + lsls r2, r2, #3 + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #0x8d + beq _0802C268 + cmp r0, #0x8d + bgt _0802C23E + cmp r0, #0x84 + beq _0802C268 + cmp r0, #0x84 + bgt _0802C234 + cmp r0, #0x3b + beq _0802C268 + cmp r0, #0x72 + beq _0802C268 + b _0802C284 + .align 2, 0 _0802C208: .4byte 0x020314E0 _0802C20C: .4byte 0x0000132C _0802C210: .4byte 0x000005A6 @@ -87036,180 +87036,180 @@ _0802C228: .4byte 0x80000400 _0802C22C: .4byte 0x000001FF _0802C230: .4byte 0x0000010D _0802C234: - cmp r0, #0x86 - beq _0802C268 - cmp r0, #0x8b - beq _0802C268 - b _0802C284 + cmp r0, #0x86 + beq _0802C268 + cmp r0, #0x8b + beq _0802C268 + b _0802C284 _0802C23E: - cmp r0, #0xa0 - beq _0802C268 - cmp r0, #0xa0 - bgt _0802C250 - cmp r0, #0x90 - beq _0802C268 - cmp r0, #0x97 - beq _0802C268 - b _0802C284 + cmp r0, #0xa0 + beq _0802C268 + cmp r0, #0xa0 + bgt _0802C250 + cmp r0, #0x90 + beq _0802C268 + cmp r0, #0x97 + beq _0802C268 + b _0802C284 _0802C250: - cmp r0, #0xc4 - bgt _0802C284 - cmp r0, #0xc3 - blt _0802C284 - ldr r0, _0802C260 @ =0x000222E0 - str r0, [r1, #0x38] - ldr r0, _0802C264 @ =0x00989680 - b _0802C28A - .align 2, 0 + cmp r0, #0xc4 + bgt _0802C284 + cmp r0, #0xc3 + blt _0802C284 + ldr r0, _0802C260 @ =0x000222E0 + str r0, [r1, #0x38] + ldr r0, _0802C264 @ =0x00989680 + b _0802C28A + .align 2, 0 _0802C260: .4byte 0x000222E0 _0802C264: .4byte 0x00989680 _0802C268: - ldr r3, _0802C278 @ =0x020314E0 - ldr r0, [r3] - ldr r1, _0802C27C @ =0x00013880 - str r1, [r0, #0x38] - ldr r1, _0802C280 @ =0x004C4B40 - str r1, [r0, #0x3c] - b _0802C28C - .align 2, 0 + ldr r3, _0802C278 @ =0x020314E0 + ldr r0, [r3] + ldr r1, _0802C27C @ =0x00013880 + str r1, [r0, #0x38] + ldr r1, _0802C280 @ =0x004C4B40 + str r1, [r0, #0x3c] + b _0802C28C + .align 2, 0 _0802C278: .4byte 0x020314E0 _0802C27C: .4byte 0x00013880 _0802C280: .4byte 0x004C4B40 _0802C284: - ldr r4, _0802C2B4 @ =0x020314E0 - ldr r1, [r4] - ldr r0, _0802C2B8 @ =0x000F4240 + ldr r4, _0802C2B4 @ =0x020314E0 + ldr r1, [r4] + ldr r0, _0802C2B8 @ =0x000F4240 _0802C28A: - str r0, [r1, #0x3c] + str r0, [r1, #0x3c] _0802C28C: - ldr r7, _0802C2B4 @ =0x020314E0 - ldr r1, [r7] - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #5 - bne _0802C2C8 - movs r0, #1 - strb r0, [r1, #0x1c] - ldr r1, [r7] - movs r2, #0xb3 - lsls r2, r2, #3 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #0x9a - bne _0802C2C4 - ldr r0, _0802C2BC @ =0x000222E0 - str r0, [r1, #0x38] - ldr r0, _0802C2C0 @ =0x00989680 - b _0802C2C6 - .align 2, 0 + ldr r7, _0802C2B4 @ =0x020314E0 + ldr r1, [r7] + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #5 + bne _0802C2C8 + movs r0, #1 + strb r0, [r1, #0x1c] + ldr r1, [r7] + movs r2, #0xb3 + lsls r2, r2, #3 + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #0x9a + bne _0802C2C4 + ldr r0, _0802C2BC @ =0x000222E0 + str r0, [r1, #0x38] + ldr r0, _0802C2C0 @ =0x00989680 + b _0802C2C6 + .align 2, 0 _0802C2B4: .4byte 0x020314E0 _0802C2B8: .4byte 0x000F4240 _0802C2BC: .4byte 0x000222E0 _0802C2C0: .4byte 0x00989680 _0802C2C4: - ldr r0, _0802C2EC @ =0x002DC6C0 + ldr r0, _0802C2EC @ =0x002DC6C0 _0802C2C6: - str r0, [r1, #0x3c] + str r0, [r1, #0x3c] _0802C2C8: - ldr r3, _0802C2F0 @ =0x0200B0C0 - ldrb r0, [r3, #4] - cmp r0, #2 - bhi _0802C2D2 - b _0802C4D2 + ldr r3, _0802C2F0 @ =0x0200B0C0 + ldrb r0, [r3, #4] + cmp r0, #2 + bhi _0802C2D2 + b _0802C4D2 _0802C2D2: - ldr r2, _0802C2F4 @ =0x020314E0 - ldr r0, [r2] - movs r1, #1 - strb r1, [r0, #0x1c] - ldrb r0, [r3, #4] - cmp r0, #6 - bne _0802C300 - ldr r0, [r2] - ldr r1, _0802C2F8 @ =0x00061A80 - str r1, [r0, #0x38] - ldr r1, _0802C2FC @ =0x01C9C380 - str r1, [r0, #0x3c] - b _0802C4D2 - .align 2, 0 + ldr r2, _0802C2F4 @ =0x020314E0 + ldr r0, [r2] + movs r1, #1 + strb r1, [r0, #0x1c] + ldrb r0, [r3, #4] + cmp r0, #6 + bne _0802C300 + ldr r0, [r2] + ldr r1, _0802C2F8 @ =0x00061A80 + str r1, [r0, #0x38] + ldr r1, _0802C2FC @ =0x01C9C380 + str r1, [r0, #0x3c] + b _0802C4D2 + .align 2, 0 _0802C2EC: .4byte 0x002DC6C0 _0802C2F0: .4byte 0x0200B0C0 _0802C2F4: .4byte 0x020314E0 _0802C2F8: .4byte 0x00061A80 _0802C2FC: .4byte 0x01C9C380 _0802C300: - ldr r0, [r2] - ldr r1, _0802C30C @ =0x00061A80 - str r1, [r0, #0x38] - ldr r1, _0802C310 @ =0x00989680 - str r1, [r0, #0x3c] - b _0802C4D2 - .align 2, 0 + ldr r0, [r2] + ldr r1, _0802C30C @ =0x00061A80 + str r1, [r0, #0x38] + ldr r1, _0802C310 @ =0x00989680 + str r1, [r0, #0x3c] + b _0802C4D2 + .align 2, 0 _0802C30C: .4byte 0x00061A80 _0802C310: .4byte 0x00989680 _0802C314: - ldr r3, _0802C38C @ =0x020314E0 - ldr r0, [r3] - ldr r4, _0802C390 @ =0x000005F7 - adds r0, r0, r4 - movs r3, #0 - strb r3, [r0] - ldr r7, _0802C38C @ =0x020314E0 - ldr r0, [r7] - ldr r1, _0802C394 @ =0x0000132C - adds r0, r0, r1 - ldr r0, [r0] - movs r4, #3 - strb r4, [r0, #1] - ldr r0, [r7] - ldr r2, _0802C398 @ =0x000005A4 - adds r0, r0, r2 - strb r3, [r0] - ldr r0, [r7] - ldr r7, _0802C39C @ =0x000005A6 - adds r1, r0, r7 - movs r2, #0 - strh r3, [r1] - movs r1, #0xb5 - lsls r1, r1, #3 - adds r0, r0, r1 - strb r2, [r0] - ldr r0, _0802C3A0 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #1 - bls _0802C352 - b _0802C48C + ldr r3, _0802C38C @ =0x020314E0 + ldr r0, [r3] + ldr r4, _0802C390 @ =0x000005F7 + adds r0, r0, r4 + movs r3, #0 + strb r3, [r0] + ldr r7, _0802C38C @ =0x020314E0 + ldr r0, [r7] + ldr r1, _0802C394 @ =0x0000132C + adds r0, r0, r1 + ldr r0, [r0] + movs r4, #3 + strb r4, [r0, #1] + ldr r0, [r7] + ldr r2, _0802C398 @ =0x000005A4 + adds r0, r0, r2 + strb r3, [r0] + ldr r0, [r7] + ldr r7, _0802C39C @ =0x000005A6 + adds r1, r0, r7 + movs r2, #0 + strh r3, [r1] + movs r1, #0xb5 + lsls r1, r1, #3 + adds r0, r0, r1 + strb r2, [r0] + ldr r0, _0802C3A0 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #1 + bls _0802C352 + b _0802C48C _0802C352: - ldr r3, _0802C38C @ =0x020314E0 - ldr r0, [r3] - strb r2, [r0, #0x1f] - ldr r0, [r3] - ldr r4, _0802C394 @ =0x0000132C - adds r0, r0, r4 - ldr r2, [r0] - ldr r1, _0802C3A4 @ =0x0000FFF6 - strh r1, [r2, #0x32] - ldr r1, [r0] - movs r0, #0x14 - strh r0, [r1, #0x30] - movs r5, #0 - ldr r3, _0802C3A8 @ =0x0000071D + ldr r3, _0802C38C @ =0x020314E0 + ldr r0, [r3] + strb r2, [r0, #0x1f] + ldr r0, [r3] + ldr r4, _0802C394 @ =0x0000132C + adds r0, r0, r4 + ldr r2, [r0] + ldr r1, _0802C3A4 @ =0x0000FFF6 + strh r1, [r2, #0x32] + ldr r1, [r0] + movs r0, #0x14 + strh r0, [r1, #0x30] + movs r5, #0 + ldr r3, _0802C3A8 @ =0x0000071D _0802C36E: - ldr r7, _0802C38C @ =0x020314E0 - ldr r2, [r7] - ldr r1, _0802C3AC @ =0x00000723 - adds r0, r2, r1 - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - bge _0802C3B0 - adds r0, r2, r3 - adds r0, r0, r1 - movs r1, #1 - b _0802C3B6 - .align 2, 0 + ldr r7, _0802C38C @ =0x020314E0 + ldr r2, [r7] + ldr r1, _0802C3AC @ =0x00000723 + adds r0, r2, r1 + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + bge _0802C3B0 + adds r0, r2, r3 + adds r0, r0, r1 + movs r1, #1 + b _0802C3B6 + .align 2, 0 _0802C38C: .4byte 0x020314E0 _0802C390: .4byte 0x000005F7 _0802C394: .4byte 0x0000132C @@ -87220,111 +87220,111 @@ _0802C3A4: .4byte 0x0000FFF6 _0802C3A8: .4byte 0x0000071D _0802C3AC: .4byte 0x00000723 _0802C3B0: - adds r0, r2, r3 - adds r0, r0, r1 - movs r1, #0 + adds r0, r2, r3 + adds r0, r0, r1 + movs r1, #0 _0802C3B6: - strb r1, [r0] - 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, #2 - ble _0802C36E - ldr r4, _0802C474 @ =0x020314E0 - ldr r1, [r4] - ldr r3, _0802C478 @ =0x00000723 - adds r0, r1, r3 - ldrb r3, [r0] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _0802C41A - ldr r2, _0802C47C @ =0x00000721 - adds r0, r1, r2 - strb r3, [r0] - ldr r0, [r4] - ldr r7, _0802C478 @ =0x00000723 - adds r1, r0, r7 - ldrb r1, [r1] - ldr r3, _0802C480 @ =0x00000722 - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r4] - adds r2, r0, r2 - movs r1, #0 - ldrsb r1, [r2, r1] - subs r7, #6 - adds r0, r0, r7 - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0] - ldr r0, [r4] - movs r1, #0xe4 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r1, #0x78 - strb r1, [r0] - ldr r1, [r4] - ldr r2, _0802C478 @ =0x00000723 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] + strb r1, [r0] + 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, #2 + ble _0802C36E + ldr r4, _0802C474 @ =0x020314E0 + ldr r1, [r4] + ldr r3, _0802C478 @ =0x00000723 + adds r0, r1, r3 + ldrb r3, [r0] + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bgt _0802C41A + ldr r2, _0802C47C @ =0x00000721 + adds r0, r1, r2 + strb r3, [r0] + ldr r0, [r4] + ldr r7, _0802C478 @ =0x00000723 + adds r1, r0, r7 + ldrb r1, [r1] + ldr r3, _0802C480 @ =0x00000722 + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r4] + adds r2, r0, r2 + movs r1, #0 + ldrsb r1, [r2, r1] + subs r7, #6 + adds r0, r0, r7 + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0] + ldr r0, [r4] + movs r1, #0xe4 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r1, #0x78 + strb r1, [r0] + ldr r1, [r4] + ldr r2, _0802C478 @ =0x00000723 + adds r1, r1, r2 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] _0802C41A: - ldr r2, [r4] - movs r3, #0xbe - lsls r3, r3, #3 - adds r1, r2, r3 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xf - bne _0802C438 - ldr r7, _0802C484 @ =0x00000286 - adds r1, r2, r7 - movs r0, #0x5a - strh r0, [r1] + ldr r2, [r4] + movs r3, #0xbe + lsls r3, r3, #3 + adds r1, r2, r3 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0xf + bne _0802C438 + ldr r7, _0802C484 @ =0x00000286 + adds r1, r2, r7 + movs r0, #0x5a + strh r0, [r1] _0802C438: - ldr r0, [r4] - ldr r2, _0802C488 @ =0x0000062A - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, #0x62 - bhi _0802C448 - adds r0, #1 - strb r0, [r1] + ldr r0, [r4] + ldr r2, _0802C488 @ =0x0000062A + adds r1, r0, r2 + ldrb r0, [r1] + cmp r0, #0x62 + bhi _0802C448 + adds r0, #1 + strb r0, [r1] _0802C448: - ldr r1, [r4] - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #4 - bne _0802C456 - movs r0, #0xa - strb r0, [r1, #0x17] + ldr r1, [r4] + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #4 + bne _0802C456 + movs r0, #0xa + strb r0, [r1, #0x17] _0802C456: - ldr r1, [r4] - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #8 - bne _0802C464 - movs r0, #5 - strb r0, [r1, #0x17] + ldr r1, [r4] + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #8 + bne _0802C464 + movs r0, #5 + strb r0, [r1, #0x17] _0802C464: - ldr r1, [r4] - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #5 - bne _0802C4CC - movs r0, #6 - strb r0, [r1, #0x17] - b _0802C4CC - .align 2, 0 + ldr r1, [r4] + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #5 + bne _0802C4CC + movs r0, #6 + strb r0, [r1, #0x17] + b _0802C4CC + .align 2, 0 _0802C474: .4byte 0x020314E0 _0802C478: .4byte 0x00000723 _0802C47C: .4byte 0x00000721 @@ -87332,625 +87332,625 @@ _0802C480: .4byte 0x00000722 _0802C484: .4byte 0x00000286 _0802C488: .4byte 0x0000062A _0802C48C: - ldr r7, _0802C528 @ =0x020314E0 - ldr r1, [r7] - movs r0, #1 - strb r0, [r1, #0x1f] - ldr r1, [r7] - ldr r0, _0802C52C @ =0x0000132C - adds r2, r1, r0 - ldr r0, [r2] - strh r3, [r0, #0x32] - ldr r0, [r2] - strh r3, [r0, #0x30] - ldr r2, _0802C530 @ =0x000006C4 - adds r1, r1, r2 - strb r4, [r1] - ldr r1, [r7] - movs r0, #4 - strb r0, [r1, #0x13] - ldr r2, [r7] - movs r3, #0xbe - lsls r3, r3, #3 - adds r1, r2, r3 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xf - bne _0802C4CC - ldr r4, _0802C534 @ =0x00000286 - adds r1, r2, r4 - movs r0, #0x5b - strh r0, [r1] + ldr r7, _0802C528 @ =0x020314E0 + ldr r1, [r7] + movs r0, #1 + strb r0, [r1, #0x1f] + ldr r1, [r7] + ldr r0, _0802C52C @ =0x0000132C + adds r2, r1, r0 + ldr r0, [r2] + strh r3, [r0, #0x32] + ldr r0, [r2] + strh r3, [r0, #0x30] + ldr r2, _0802C530 @ =0x000006C4 + adds r1, r1, r2 + strb r4, [r1] + ldr r1, [r7] + movs r0, #4 + strb r0, [r1, #0x13] + ldr r2, [r7] + movs r3, #0xbe + lsls r3, r3, #3 + adds r1, r2, r3 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0xf + bne _0802C4CC + ldr r4, _0802C534 @ =0x00000286 + adds r1, r2, r4 + movs r0, #0x5b + strh r0, [r1] _0802C4CC: - movs r0, #0 - bl sub_31CF8 + movs r0, #0 + bl sub_31CF8 _0802C4D2: - ldr r4, _0802C528 @ =0x020314E0 - ldr r1, [r4] - ldr r3, _0802C52C @ =0x0000132C - adds r1, r1, r3 - ldr r2, [r1] - ldrh r0, [r2, #0x10] - strh r0, [r2, #0x14] - ldr r1, [r1] - ldrh r0, [r1, #0x12] - strh r0, [r1, #0x16] - movs r5, #2 - adds r7, r4, #0 - adds r6, r3, #0 + ldr r4, _0802C528 @ =0x020314E0 + ldr r1, [r4] + ldr r3, _0802C52C @ =0x0000132C + adds r1, r1, r3 + ldr r2, [r1] + ldrh r0, [r2, #0x10] + strh r0, [r2, #0x14] + ldr r1, [r1] + ldrh r0, [r1, #0x12] + strh r0, [r1, #0x16] + movs r5, #2 + adds r7, r4, #0 + adds r6, r3, #0 _0802C4EC: - ldr r3, [r7] - adds r3, r3, r6 - ldr r0, [r3] - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - adds r2, r1, #1 - lsls r2, r2, #2 - adds r4, r0, r2 - lsls r5, r1, #2 - adds r0, r0, r5 - ldrh r0, [r0, #0x14] - strh r0, [r4, #0x14] - ldr r0, [r3] - adds r2, r0, r2 - adds r0, r0, r5 - ldrh r0, [r0, #0x16] - strh r0, [r2, #0x16] - subs r1, #1 - lsls r1, r1, #0x10 - lsrs r5, r1, #0x10 - cmp r1, #0 - bge _0802C4EC - - thumb_func_start sub_2C518 + ldr r3, [r7] + adds r3, r3, r6 + ldr r0, [r3] + lsls r1, r5, #0x10 + asrs r1, r1, #0x10 + adds r2, r1, #1 + lsls r2, r2, #2 + adds r4, r0, r2 + lsls r5, r1, #2 + adds r0, r0, r5 + ldrh r0, [r0, #0x14] + strh r0, [r4, #0x14] + ldr r0, [r3] + adds r2, r0, r2 + adds r0, r0, r5 + ldrh r0, [r0, #0x16] + strh r0, [r2, #0x16] + subs r1, #1 + lsls r1, r1, #0x10 + lsrs r5, r1, #0x10 + cmp r1, #0 + bge _0802C4EC + + thumb_func_start sub_2C518 sub_2C518: @ 0x0802C518 - 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 + 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 _0802C528: .4byte 0x020314E0 _0802C52C: .4byte 0x0000132C _0802C530: .4byte 0x000006C4 _0802C534: .4byte 0x00000286 - thumb_func_start sub_2C538 + thumb_func_start sub_2C538 sub_2C538: @ 0x0802C538 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - movs r0, #0 - mov sb, r0 - ldr r1, _0802C568 @ =0x020314E0 - ldr r0, [r1] - movs r2, #0xc0 - lsls r2, r2, #2 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r7, r1, #0 - cmp r0, #5 - bls _0802C55C - b _0802C784 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + movs r0, #0 + mov sb, r0 + ldr r1, _0802C568 @ =0x020314E0 + ldr r0, [r1] + movs r2, #0xc0 + lsls r2, r2, #2 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r7, r1, #0 + cmp r0, #5 + bls _0802C55C + b _0802C784 _0802C55C: - lsls r0, r0, #2 - ldr r1, _0802C56C @ =_0802C570 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0802C56C @ =_0802C570 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0802C568: .4byte 0x020314E0 _0802C56C: .4byte _0802C570 _0802C570: @ jump table - .4byte _0802C588 @ case 0 - .4byte _0802C5BC @ case 1 - .4byte _0802C614 @ case 2 - .4byte _0802C650 @ case 3 - .4byte _0802C6C0 @ case 4 - .4byte _0802C708 @ case 5 + .4byte _0802C588 @ case 0 + .4byte _0802C5BC @ case 1 + .4byte _0802C614 @ case 2 + .4byte _0802C650 @ case 3 + .4byte _0802C6C0 @ case 4 + .4byte _0802C708 @ case 5 _0802C588: - ldr r5, [r7] - movs r3, #0xc1 - lsls r3, r3, #2 - adds r6, r5, r3 - ldrh r4, [r6] - adds r0, r4, #0 - movs r1, #0x24 - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #0x12 - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sb, r0 - adds r4, #1 - movs r0, #0 - strh r4, [r6] - ldr r1, _0802C5B8 @ =0x00000301 - adds r5, r5, r1 - strb r0, [r5] - b _0802C784 - .align 2, 0 + ldr r5, [r7] + movs r3, #0xc1 + lsls r3, r3, #2 + adds r6, r5, r3 + ldrh r4, [r6] + adds r0, r4, #0 + movs r1, #0x24 + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r1, #0x12 + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov sb, r0 + adds r4, #1 + movs r0, #0 + strh r4, [r6] + ldr r1, _0802C5B8 @ =0x00000301 + adds r5, r5, r1 + strb r0, [r5] + b _0802C784 + .align 2, 0 _0802C5B8: .4byte 0x00000301 _0802C5BC: - ldr r6, [r7] - movs r2, #0xc1 - lsls r2, r2, #2 - adds r5, r6, r2 - ldrh r4, [r5] - adds r0, r4, #0 - movs r1, #0x24 - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #0x12 - bl __udivsi3 - adds r0, #2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sb, r0 - adds r4, #1 - strh r4, [r5] - ldr r2, _0802C610 @ =0x00000301 - adds r0, r6, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0802C608 - movs r3, #0xc0 - lsls r3, r3, #2 - adds r1, r6, r3 - movs r0, #2 - strb r0, [r1] - ldr r0, [r7] - movs r1, #0xc1 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #0 - strh r1, [r0] + ldr r6, [r7] + movs r2, #0xc1 + lsls r2, r2, #2 + adds r5, r6, r2 + ldrh r4, [r5] + adds r0, r4, #0 + movs r1, #0x24 + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r1, #0x12 + bl __udivsi3 + adds r0, #2 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov sb, r0 + adds r4, #1 + strh r4, [r5] + ldr r2, _0802C610 @ =0x00000301 + adds r0, r6, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0802C608 + movs r3, #0xc0 + lsls r3, r3, #2 + adds r1, r6, r3 + movs r0, #2 + strb r0, [r1] + ldr r0, [r7] + movs r1, #0xc1 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #0 + strh r1, [r0] _0802C608: - ldr r0, [r7] - adds r0, r0, r2 - b _0802C780 - .align 2, 0 + ldr r0, [r7] + adds r0, r0, r2 + b _0802C780 + .align 2, 0 _0802C610: .4byte 0x00000301 _0802C614: - ldr r6, [r7] - movs r2, #0xc1 - lsls r2, r2, #2 - adds r5, r6, r2 - ldrh r4, [r5] - adds r0, r4, #0 - movs r1, #9 - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #3 - bl __udivsi3 - adds r0, #4 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sb, r0 - adds r4, #1 - strh r4, [r5] - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - cmp r4, #9 - beq _0802C646 - b _0802C784 + ldr r6, [r7] + movs r2, #0xc1 + lsls r2, r2, #2 + adds r5, r6, r2 + ldrh r4, [r5] + adds r0, r4, #0 + movs r1, #9 + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r1, #3 + bl __udivsi3 + adds r0, #4 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov sb, r0 + adds r4, #1 + strh r4, [r5] + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + cmp r4, #9 + beq _0802C646 + b _0802C784 _0802C646: - movs r3, #0xc0 - lsls r3, r3, #2 - adds r1, r6, r3 - movs r0, #3 - b _0802C6F8 + movs r3, #0xc0 + lsls r3, r3, #2 + adds r1, r6, r3 + movs r0, #3 + b _0802C6F8 _0802C650: - ldr r6, [r7] - movs r2, #0xc1 - lsls r2, r2, #2 - mov r8, r2 - adds r5, r6, r2 - ldrh r4, [r5] - adds r0, r4, #0 - movs r1, #0x24 - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #0x12 - bl __udivsi3 - adds r0, #2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sb, r0 - adds r4, #1 - movs r2, #0 - strh r4, [r5] - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - cmp r4, #0x41 - bls _0802C698 - movs r3, #0xc0 - lsls r3, r3, #2 - adds r1, r6, r3 - movs r0, #1 - strb r0, [r1] - ldr r0, [r7] - movs r1, #0xc1 - lsls r1, r1, #2 - adds r0, r0, r1 - strh r2, [r0] + ldr r6, [r7] + movs r2, #0xc1 + lsls r2, r2, #2 + mov r8, r2 + adds r5, r6, r2 + ldrh r4, [r5] + adds r0, r4, #0 + movs r1, #0x24 + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r1, #0x12 + bl __udivsi3 + adds r0, #2 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov sb, r0 + adds r4, #1 + movs r2, #0 + strh r4, [r5] + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + cmp r4, #0x41 + bls _0802C698 + movs r3, #0xc0 + lsls r3, r3, #2 + adds r1, r6, r3 + movs r0, #1 + strb r0, [r1] + ldr r0, [r7] + movs r1, #0xc1 + lsls r1, r1, #2 + adds r0, r0, r1 + strh r2, [r0] _0802C698: - ldr r1, [r7] - mov r3, r8 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, #6 - bls _0802C784 - ldr r3, _0802C6BC @ =0x00000301 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0802C784 - movs r0, #0xc0 - lsls r0, r0, #2 - adds r1, r1, r0 - movs r0, #4 - b _0802C772 - .align 2, 0 + ldr r1, [r7] + mov r3, r8 + adds r0, r1, r3 + ldrh r0, [r0] + cmp r0, #6 + bls _0802C784 + ldr r3, _0802C6BC @ =0x00000301 + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0802C784 + movs r0, #0xc0 + lsls r0, r0, #2 + adds r1, r1, r0 + movs r0, #4 + b _0802C772 + .align 2, 0 _0802C6BC: .4byte 0x00000301 _0802C6C0: - ldr r6, [r7] - movs r2, #0xc1 - lsls r2, r2, #2 - adds r5, r6, r2 - ldrh r4, [r5] - adds r0, r4, #0 - movs r1, #9 - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #3 - bl __udivsi3 - adds r0, #7 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sb, r0 - adds r4, #1 - strh r4, [r5] - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - cmp r4, #9 - bne _0802C784 - movs r3, #0xc0 - lsls r3, r3, #2 - adds r1, r6, r3 - movs r0, #5 + ldr r6, [r7] + movs r2, #0xc1 + lsls r2, r2, #2 + adds r5, r6, r2 + ldrh r4, [r5] + adds r0, r4, #0 + movs r1, #9 + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r1, #3 + bl __udivsi3 + adds r0, #7 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov sb, r0 + adds r4, #1 + strh r4, [r5] + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + cmp r4, #9 + bne _0802C784 + movs r3, #0xc0 + lsls r3, r3, #2 + adds r1, r6, r3 + movs r0, #5 _0802C6F8: - strb r0, [r1] - ldr r0, [r7] - movs r1, #0xc1 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #0 - strh r1, [r0] - b _0802C784 + strb r0, [r1] + ldr r0, [r7] + movs r1, #0xc1 + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #0 + strh r1, [r0] + b _0802C784 _0802C708: - ldr r6, [r7] - movs r2, #0xc1 - lsls r2, r2, #2 - mov r8, r2 - adds r5, r6, r2 - ldrh r4, [r5] - adds r0, r4, #0 - movs r1, #0x24 - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #0x12 - bl __udivsi3 - adds r0, #2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sb, r0 - adds r4, #1 - movs r2, #0 - strh r4, [r5] - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - cmp r4, #0x41 - bls _0802C750 - movs r3, #0xc0 - lsls r3, r3, #2 - adds r1, r6, r3 - movs r0, #1 - strb r0, [r1] - ldr r0, [r7] - movs r1, #0xc1 - lsls r1, r1, #2 - adds r0, r0, r1 - strh r2, [r0] + ldr r6, [r7] + movs r2, #0xc1 + lsls r2, r2, #2 + mov r8, r2 + adds r5, r6, r2 + ldrh r4, [r5] + adds r0, r4, #0 + movs r1, #0x24 + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r1, #0x12 + bl __udivsi3 + adds r0, #2 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov sb, r0 + adds r4, #1 + movs r2, #0 + strh r4, [r5] + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + cmp r4, #0x41 + bls _0802C750 + movs r3, #0xc0 + lsls r3, r3, #2 + adds r1, r6, r3 + movs r0, #1 + strb r0, [r1] + ldr r0, [r7] + movs r1, #0xc1 + lsls r1, r1, #2 + adds r0, r0, r1 + strh r2, [r0] _0802C750: - ldr r1, [r7] - mov r3, r8 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, #6 - bls _0802C784 - ldr r3, _0802C7B8 @ =0x00000301 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0802C784 - movs r0, #0xc0 - lsls r0, r0, #2 - adds r1, r1, r0 - movs r0, #2 + ldr r1, [r7] + mov r3, r8 + adds r0, r1, r3 + ldrh r0, [r0] + cmp r0, #6 + bls _0802C784 + ldr r3, _0802C7B8 @ =0x00000301 + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0802C784 + movs r0, #0xc0 + lsls r0, r0, #2 + adds r1, r1, r0 + movs r0, #2 _0802C772: - strb r0, [r1] - ldr r0, [r7] - mov r3, r8 - adds r1, r0, r3 - strh r2, [r1] - ldr r1, _0802C7B8 @ =0x00000301 - adds r0, r0, r1 + strb r0, [r1] + ldr r0, [r7] + mov r3, r8 + adds r1, r0, r3 + strh r2, [r1] + ldr r1, _0802C7B8 @ =0x00000301 + adds r0, r0, r1 _0802C780: - movs r1, #0 - strb r1, [r0] + movs r1, #0 + strb r1, [r0] _0802C784: - ldr r6, _0802C7BC @ =0x0200E498 - ldrh r0, [r6] - cmp r0, #0 - beq _0802C83C - ldr r1, [r7] - movs r2, #0xc0 - lsls r2, r2, #2 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _0802C7C4 - adds r0, r1, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xbc - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r0, [r7] - adds r0, #0x5a - ldrh r1, [r0] - ldr r3, _0802C7C0 @ =0x00000119 - adds r0, r3, #0 - b _0802C7DC - .align 2, 0 + ldr r6, _0802C7BC @ =0x0200E498 + ldrh r0, [r6] + cmp r0, #0 + beq _0802C83C + ldr r1, [r7] + movs r2, #0xc0 + lsls r2, r2, #2 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + bgt _0802C7C4 + adds r0, r1, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xbc + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r0, [r7] + adds r0, #0x5a + ldrh r1, [r0] + ldr r3, _0802C7C0 @ =0x00000119 + adds r0, r3, #0 + b _0802C7DC + .align 2, 0 _0802C7B8: .4byte 0x00000301 _0802C7BC: .4byte 0x0200E498 _0802C7C0: .4byte 0x00000119 _0802C7C4: - adds r0, r1, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xc0 - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r0, [r7] - adds r0, #0x5a - ldrh r1, [r0] - movs r2, #0x8b - lsls r2, r2, #1 - adds r0, r2, #0 + adds r0, r1, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xc0 + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r0, [r7] + adds r0, #0x5a + ldrh r1, [r0] + movs r2, #0x8b + lsls r2, r2, #1 + adds r0, r2, #0 _0802C7DC: - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r0, [r7] - ldr r3, _0802C95C @ =0x00000302 - adds r1, r0, r3 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - ble _0802C808 - subs r0, r2, #1 - strb r0, [r1] - ldr r0, [r7] - adds r0, r0, r3 - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #0 - bne _0802C808 - ldr r0, _0802C960 @ =0x0200B0C0 - ldr r2, _0802C964 @ =0x000033D8 - adds r0, r0, r2 - strh r1, [r0] + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r0, [r7] + ldr r3, _0802C95C @ =0x00000302 + adds r1, r0, r3 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + ble _0802C808 + subs r0, r2, #1 + strb r0, [r1] + ldr r0, [r7] + adds r0, r0, r3 + movs r1, #0 + ldrsb r1, [r0, r1] + cmp r1, #0 + bne _0802C808 + ldr r0, _0802C960 @ =0x0200B0C0 + ldr r2, _0802C964 @ =0x000033D8 + adds r0, r0, r2 + strh r1, [r0] _0802C808: - adds r5, r6, #0 - adds r5, #8 - ldr r4, _0802C968 @ =0x03005000 - 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, _0802C96C @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _0802C970 @ =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] + adds r5, r6, #0 + adds r5, #8 + ldr r4, _0802C968 @ =0x03005000 + 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, _0802C96C @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _0802C970 @ =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] _0802C83C: - ldr r2, [r7] - movs r1, #0xc0 - lsls r1, r1, #2 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - beq _0802C852 - cmp r0, #2 - bne _0802C8C0 + ldr r2, [r7] + movs r1, #0xc0 + lsls r1, r1, #2 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + beq _0802C852 + cmp r0, #2 + bne _0802C8C0 _0802C852: - ldr r4, _0802C974 @ =0x0000132C - adds r0, r2, r4 - ldr r0, [r0] - movs r3, #0x10 - ldrsh r1, [r0, r3] - subs r1, #0xbe - movs r3, #0x12 - ldrsh r0, [r0, r3] - ldr r3, _0802C978 @ =0xFFFFFEE3 - adds r0, r0, r3 - adds r3, r1, #0 - muls r3, r1, r3 - adds r1, r3, #0 - adds r3, r0, #0 - muls r3, r0, r3 - adds r0, r3, #0 - adds r1, r1, r0 - cmp r1, #0x8c - bhi _0802C8C0 - ldr r1, _0802C95C @ =0x00000302 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bgt _0802C8C0 - movs r0, #0xc5 - bl m4aSongNumStart - ldr r1, [r7] - ldr r0, _0802C97C @ =0x00002710 - str r0, [r1, #0x3c] - adds r1, r1, r4 - ldr r2, [r1] - movs r3, #0 - ldr r0, _0802C980 @ =0x0000FDA8 - strh r0, [r2, #0x30] - ldr r2, [r1] - ldr r0, _0802C984 @ =0x0000FED4 - strh r0, [r2, #0x32] - ldr r0, [r1] - strh r3, [r0, #6] - ldr r0, _0802C960 @ =0x0200B0C0 - ldr r2, _0802C964 @ =0x000033D8 - adds r0, r0, r2 - movs r1, #1 - strh r1, [r0] - ldr r0, [r7] - ldr r3, _0802C95C @ =0x00000302 - adds r0, r0, r3 - movs r1, #6 - strb r1, [r0] - movs r0, #8 - bl sub_11B0 + ldr r4, _0802C974 @ =0x0000132C + adds r0, r2, r4 + ldr r0, [r0] + movs r3, #0x10 + ldrsh r1, [r0, r3] + subs r1, #0xbe + movs r3, #0x12 + ldrsh r0, [r0, r3] + ldr r3, _0802C978 @ =0xFFFFFEE3 + adds r0, r0, r3 + adds r3, r1, #0 + muls r3, r1, r3 + adds r1, r3, #0 + adds r3, r0, #0 + muls r3, r0, r3 + adds r0, r3, #0 + adds r1, r1, r0 + cmp r1, #0x8c + bhi _0802C8C0 + ldr r1, _0802C95C @ =0x00000302 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bgt _0802C8C0 + movs r0, #0xc5 + bl m4aSongNumStart + ldr r1, [r7] + ldr r0, _0802C97C @ =0x00002710 + str r0, [r1, #0x3c] + adds r1, r1, r4 + ldr r2, [r1] + movs r3, #0 + ldr r0, _0802C980 @ =0x0000FDA8 + strh r0, [r2, #0x30] + ldr r2, [r1] + ldr r0, _0802C984 @ =0x0000FED4 + strh r0, [r2, #0x32] + ldr r0, [r1] + strh r3, [r0, #6] + ldr r0, _0802C960 @ =0x0200B0C0 + ldr r2, _0802C964 @ =0x000033D8 + adds r0, r0, r2 + movs r1, #1 + strh r1, [r0] + ldr r0, [r7] + ldr r3, _0802C95C @ =0x00000302 + adds r0, r0, r3 + movs r1, #6 + strb r1, [r0] + movs r0, #8 + bl sub_11B0 _0802C8C0: - ldr r6, _0802C988 @ =0x0200DD68 - ldrh r0, [r6] - cmp r0, #0 - beq _0802C94E - ldr r2, _0802C98C @ =0x020314E0 - ldr r0, [r2] - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xb8 - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r0, [r2] - adds r0, #0x5a - ldrh r1, [r0] - ldr r2, _0802C990 @ =0x00000115 - adds r0, r2, #0 - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r2, _0802C994 @ =0x040000D4 - mov r3, sb - lsls r1, r3, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _0802C998 @ =0x0847DF0C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802C99C @ =0x06013580 - str r0, [r2, #4] - ldr r0, _0802C9A0 @ =0x80000180 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r0, #0 - ldr r7, _0802C968 @ =0x03005000 - ldr r1, _0802C970 @ =0xFFFFFE00 - mov r8, r1 + ldr r6, _0802C988 @ =0x0200DD68 + ldrh r0, [r6] + cmp r0, #0 + beq _0802C94E + ldr r2, _0802C98C @ =0x020314E0 + ldr r0, [r2] + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xb8 + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r0, [r2] + adds r0, #0x5a + ldrh r1, [r0] + ldr r2, _0802C990 @ =0x00000115 + adds r0, r2, #0 + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r2, _0802C994 @ =0x040000D4 + mov r3, sb + lsls r1, r3, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _0802C998 @ =0x0847DF0C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802C99C @ =0x06013580 + str r0, [r2, #4] + ldr r0, _0802C9A0 @ =0x80000180 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r0, #0 + ldr r7, _0802C968 @ =0x03005000 + ldr r1, _0802C970 @ =0xFFFFFE00 + mov r8, r1 _0802C90A: - 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, _0802C96C @ =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, #2 - ble _0802C90A + 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, _0802C96C @ =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, #2 + ble _0802C90A _0802C94E: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0802C95C: .4byte 0x00000302 _0802C960: .4byte 0x0200B0C0 _0802C964: .4byte 0x000033D8 @@ -87970,120 +87970,120 @@ _0802C998: .4byte 0x0847DF0C _0802C99C: .4byte 0x06013580 _0802C9A0: .4byte 0x80000180 - thumb_func_start sub_2C9A4 + thumb_func_start sub_2C9A4 sub_2C9A4: @ 0x0802C9A4 - push {r4, r5, r6, lr} - ldr r6, _0802C9E0 @ =0x0200E328 - ldrh r0, [r6] - cmp r0, #0 - beq _0802CA7A - ldr r0, _0802C9E4 @ =0x020314E0 - ldr r2, [r0] - ldr r3, _0802C9E8 @ =0x0000029F - adds r1, r2, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r3, r0, #0 - cmp r1, #0 - beq _0802C9EC - movs r1, #0xa4 - lsls r1, r1, #2 - adds r0, r2, r1 - ldr r1, [r0] - movs r0, #0x1f - ands r1, r0 - lsrs r1, r1, #3 - adds r0, r2, #0 - adds r0, #0x5a - ldrh r0, [r0] - subs r0, #0x34 - subs r1, r1, r0 - strh r1, [r6, #4] - b _0802C9F0 - .align 2, 0 + push {r4, r5, r6, lr} + ldr r6, _0802C9E0 @ =0x0200E328 + ldrh r0, [r6] + cmp r0, #0 + beq _0802CA7A + ldr r0, _0802C9E4 @ =0x020314E0 + ldr r2, [r0] + ldr r3, _0802C9E8 @ =0x0000029F + adds r1, r2, r3 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + adds r3, r0, #0 + cmp r1, #0 + beq _0802C9EC + movs r1, #0xa4 + lsls r1, r1, #2 + adds r0, r2, r1 + ldr r1, [r0] + movs r0, #0x1f + ands r1, r0 + lsrs r1, r1, #3 + adds r0, r2, #0 + adds r0, #0x5a + ldrh r0, [r0] + subs r0, #0x34 + subs r1, r1, r0 + strh r1, [r6, #4] + b _0802C9F0 + .align 2, 0 _0802C9E0: .4byte 0x0200E328 _0802C9E4: .4byte 0x020314E0 _0802C9E8: .4byte 0x0000029F _0802C9EC: - movs r0, #0xb4 - strh r0, [r6, #4] + movs r0, #0xb4 + strh r0, [r6, #4] _0802C9F0: - ldr r2, [r3] - adds r0, r2, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x78 - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r3, _0802CA20 @ =0x0000029F - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _0802CA24 - movs r1, #0xa4 - lsls r1, r1, #2 - adds r0, r2, r1 - ldr r0, [r0] - movs r1, #0x1f - ands r0, r1 - lsrs r0, r0, #3 - adds r0, #4 - b _0802CA32 - .align 2, 0 + ldr r2, [r3] + adds r0, r2, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x78 + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r3, _0802CA20 @ =0x0000029F + adds r0, r2, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _0802CA24 + movs r1, #0xa4 + lsls r1, r1, #2 + adds r0, r2, r1 + ldr r0, [r0] + movs r1, #0x1f + ands r0, r1 + lsrs r0, r0, #3 + adds r0, #4 + b _0802CA32 + .align 2, 0 _0802CA20: .4byte 0x0000029F _0802CA24: - movs r3, #0xa4 - lsls r3, r3, #2 - adds r0, r2, r3 - ldr r0, [r0] - movs r1, #0x1f - ands r0, r1 - lsrs r0, r0, #3 + movs r3, #0xa4 + lsls r3, r3, #2 + adds r0, r2, r3 + ldr r0, [r0] + movs r1, #0x1f + ands r0, r1 + lsrs r0, r0, #3 _0802CA32: - ldr r2, _0802CA80 @ =0x040000D4 - lsls r0, r0, #7 - ldr r1, _0802CA84 @ =0x084FEF0C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802CA88 @ =0x06014B00 - str r0, [r2, #4] - ldr r0, _0802CA8C @ =0x80000040 - str r0, [r2, #8] - ldr r0, [r2, #8] - adds r5, r6, #0 - adds r5, #8 - ldr r4, _0802CA90 @ =0x03005000 - 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, _0802CA94 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _0802CA98 @ =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] + ldr r2, _0802CA80 @ =0x040000D4 + lsls r0, r0, #7 + ldr r1, _0802CA84 @ =0x084FEF0C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802CA88 @ =0x06014B00 + str r0, [r2, #4] + ldr r0, _0802CA8C @ =0x80000040 + str r0, [r2, #8] + ldr r0, [r2, #8] + adds r5, r6, #0 + adds r5, #8 + ldr r4, _0802CA90 @ =0x03005000 + 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, _0802CA94 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _0802CA98 @ =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] _0802CA7A: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0802CA80: .4byte 0x040000D4 _0802CA84: .4byte 0x084FEF0C _0802CA88: .4byte 0x06014B00 @@ -88092,268 +88092,268 @@ _0802CA90: .4byte 0x03005000 _0802CA94: .4byte 0x000001FF _0802CA98: .4byte 0xFFFFFE00 - thumb_func_start sub_2CA9C + thumb_func_start sub_2CA9C sub_2CA9C: @ 0x0802CA9C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - movs r0, #0 - mov ip, r0 - ldr r0, _0802CADC @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0xc8 - ldr r6, [r0] - ldrh r0, [r6] - cmp r0, #0 - bne _0802CAB8 - b _0802CCF2 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + movs r0, #0 + mov ip, r0 + ldr r0, _0802CADC @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0xc8 + ldr r6, [r0] + ldrh r0, [r6] + cmp r0, #0 + bne _0802CAB8 + b _0802CCF2 _0802CAB8: - movs r0, #0xca - strh r0, [r6, #2] - ldr r0, _0802CAE0 @ =0x020314E0 - ldr r0, [r0] - ldr r1, _0802CAE4 @ =0x00000286 - adds r0, r0, r1 - ldrh r0, [r0] - cmp r0, #0x30 - bls _0802CB44 - subs r0, #0x30 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x21 - ble _0802CAE8 - movs r1, #0x2a - subs r1, r1, r0 - lsls r1, r1, #1 - b _0802CB12 - .align 2, 0 + movs r0, #0xca + strh r0, [r6, #2] + ldr r0, _0802CAE0 @ =0x020314E0 + ldr r0, [r0] + ldr r1, _0802CAE4 @ =0x00000286 + adds r0, r0, r1 + ldrh r0, [r0] + cmp r0, #0x30 + bls _0802CB44 + subs r0, #0x30 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x21 + ble _0802CAE8 + movs r1, #0x2a + subs r1, r1, r0 + lsls r1, r1, #1 + b _0802CB12 + .align 2, 0 _0802CADC: .4byte 0x0200B0C0 _0802CAE0: .4byte 0x020314E0 _0802CAE4: .4byte 0x00000286 _0802CAE8: - cmp r0, #0x17 - ble _0802CAFC - movs r0, #0x82 - strh r0, [r6, #4] - movs r0, #1 - ldr r3, _0802CAF8 @ =0x0000FFF7 - mov ip, r3 - b _0802CB1A - .align 2, 0 + cmp r0, #0x17 + ble _0802CAFC + movs r0, #0x82 + strh r0, [r6, #4] + movs r0, #1 + ldr r3, _0802CAF8 @ =0x0000FFF7 + mov ip, r3 + b _0802CB1A + .align 2, 0 _0802CAF8: .4byte 0x0000FFF7 _0802CAFC: - cmp r0, #7 - ble _0802CB10 - movs r0, #0x82 - strh r0, [r6, #4] - movs r0, #2 - ldr r1, _0802CB0C @ =0x0000FFFC - mov ip, r1 - b _0802CB1A - .align 2, 0 + cmp r0, #7 + ble _0802CB10 + movs r0, #0x82 + strh r0, [r6, #4] + movs r0, #2 + ldr r1, _0802CB0C @ =0x0000FFFC + mov ip, r1 + b _0802CB1A + .align 2, 0 _0802CB0C: .4byte 0x0000FFFC _0802CB10: - lsls r1, r0, #1 + lsls r1, r0, #1 _0802CB12: - movs r0, #0x92 - subs r0, r0, r1 - strh r0, [r6, #4] - movs r0, #0 + movs r0, #0x92 + subs r0, r0, r1 + strh r0, [r6, #4] + movs r0, #0 _0802CB1A: - ldr r2, _0802CB34 @ =0x040000D4 - lsls r0, r0, #0x10 - asrs r0, r0, #7 - ldr r1, _0802CB38 @ =0x08455E8C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802CB3C @ =0x060152A0 - str r0, [r2, #4] - ldr r0, _0802CB40 @ =0x80000100 - str r0, [r2, #8] - ldr r0, [r2, #8] - b _0802CB48 - .align 2, 0 + ldr r2, _0802CB34 @ =0x040000D4 + lsls r0, r0, #0x10 + asrs r0, r0, #7 + ldr r1, _0802CB38 @ =0x08455E8C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802CB3C @ =0x060152A0 + str r0, [r2, #4] + ldr r0, _0802CB40 @ =0x80000100 + str r0, [r2, #8] + ldr r0, [r2, #8] + b _0802CB48 + .align 2, 0 _0802CB34: .4byte 0x040000D4 _0802CB38: .4byte 0x08455E8C _0802CB3C: .4byte 0x060152A0 _0802CB40: .4byte 0x80000100 _0802CB44: - movs r0, #0xb4 - strh r0, [r6, #4] + movs r0, #0xb4 + strh r0, [r6, #4] _0802CB48: - adds r5, r6, #0 - adds r5, #8 - ldr r4, _0802CB90 @ =0x03005000 - 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, _0802CB94 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _0802CB98 @ =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] - ldr r0, _0802CB9C @ =0x020314E0 - ldr r0, [r0] - ldr r1, _0802CBA0 @ =0x00000286 - adds r0, r0, r1 - ldrh r0, [r0] - cmp r0, #0x38 - bls _0802CBA4 - movs r7, #0x80 - lsls r7, r7, #1 - b _0802CBD6 - .align 2, 0 + adds r5, r6, #0 + adds r5, #8 + ldr r4, _0802CB90 @ =0x03005000 + 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, _0802CB94 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _0802CB98 @ =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] + ldr r0, _0802CB9C @ =0x020314E0 + ldr r0, [r0] + ldr r1, _0802CBA0 @ =0x00000286 + adds r0, r0, r1 + ldrh r0, [r0] + cmp r0, #0x38 + bls _0802CBA4 + movs r7, #0x80 + lsls r7, r7, #1 + b _0802CBD6 + .align 2, 0 _0802CB90: .4byte 0x03005000 _0802CB94: .4byte 0x000001FF _0802CB98: .4byte 0xFFFFFE00 _0802CB9C: .4byte 0x020314E0 _0802CBA0: .4byte 0x00000286 _0802CBA4: - subs r0, #0x24 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - blt _0802CBCC - lsls r0, r0, #7 - movs r1, #0x14 - bl __divsi3 - adds r0, #0x80 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - movs r0, #0x82 - strh r0, [r6, #4] - ldr r3, _0802CBC8 @ =0x0000FFFE - mov ip, r3 - b _0802CBD6 - .align 2, 0 + subs r0, #0x24 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + blt _0802CBCC + lsls r0, r0, #7 + movs r1, #0x14 + bl __divsi3 + adds r0, #0x80 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + movs r0, #0x82 + strh r0, [r6, #4] + ldr r3, _0802CBC8 @ =0x0000FFFE + mov ip, r3 + b _0802CBD6 + .align 2, 0 _0802CBC8: .4byte 0x0000FFFE _0802CBCC: - movs r7, #0x80 - movs r0, #0xb4 - strh r0, [r6, #4] - movs r0, #0 - mov ip, r0 + movs r7, #0x80 + movs r0, #0xb4 + strh r0, [r6, #4] + movs r0, #0 + mov ip, r0 _0802CBD6: - adds r5, r6, #0 - adds r5, #0x10 - ldrh r2, [r6, #0x10] - 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 r0, _0802CCA8 @ =0x000001FF - mov r8, r0 - mov r3, r8 - ands r1, r3 - ldrh r3, [r2, #2] - ldr r0, _0802CCAC @ =0xFFFFFE00 - mov sb, r0 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r6, #0x10] - lsls r1, r1, #3 - adds r1, r1, r4 - ldrb r0, [r6, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - add r0, ip - strb r0, [r1] - ldrh r2, [r6, #0x10] - lsls r2, r2, #3 - adds r2, r2, r4 - ldrb r1, [r2, #1] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #1] - ldrh r2, [r6, #0x10] - lsls r2, r2, #3 - adds r2, r2, r4 - ldrb r1, [r2, #3] - movs r0, #0xf - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0xc - orrs r0, r1 - strb r0, [r2, #3] - lsls r1, r7, #0x10 - asrs r1, r1, #0x10 - adds r0, r1, #0 - movs r2, #6 - bl sub_7C0 - ldr r0, _0802CCB0 @ =0x020314E0 - ldr r1, [r0] - ldr r0, _0802CCB4 @ =0x00000286 - adds r3, r1, r0 - ldrh r0, [r3] - cmp r0, #0x39 - bhi _0802CCC8 - adds r0, r1, #0 - adds r0, #0x30 - movs r2, #0 - ldrsb r2, [r0, r2] - ldrh r1, [r3] - movs r0, #0xf - ands r1, r0 - lsrs r1, r1, #3 - lsls r0, r1, #3 - adds r0, r0, r1 - subs r0, #1 - ldr r1, _0802CCB8 @ =0x040000D4 - adds r2, r2, r0 - lsls r2, r2, #6 - ldr r0, _0802CCBC @ =0x0845648C - adds r2, r2, r0 - str r2, [r1] - ldr r0, _0802CCC0 @ =0x06015520 - str r0, [r1, #4] - ldr r0, _0802CCC4 @ =0x80000020 - str r0, [r1, #8] - ldr r0, [r1, #8] - adds r5, r6, #0 - adds r5, #0x18 - ldrh r2, [r6, #0x18] - lsls r2, r2, #3 - adds r2, r2, r4 - movs r3, #2 - ldrsh r1, [r5, r3] - adds r1, #0xd8 - 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, [r6, #0x18] - lsls r1, r1, #3 - adds r1, r1, r4 - ldrb r0, [r5, #4] - subs r0, #0x70 - b _0802CCF0 - .align 2, 0 + adds r5, r6, #0 + adds r5, #0x10 + ldrh r2, [r6, #0x10] + 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 r0, _0802CCA8 @ =0x000001FF + mov r8, r0 + mov r3, r8 + ands r1, r3 + ldrh r3, [r2, #2] + ldr r0, _0802CCAC @ =0xFFFFFE00 + mov sb, r0 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r6, #0x10] + lsls r1, r1, #3 + adds r1, r1, r4 + ldrb r0, [r6, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + add r0, ip + strb r0, [r1] + ldrh r2, [r6, #0x10] + lsls r2, r2, #3 + adds r2, r2, r4 + ldrb r1, [r2, #1] + movs r0, #4 + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #1 + orrs r0, r1 + strb r0, [r2, #1] + ldrh r2, [r6, #0x10] + lsls r2, r2, #3 + adds r2, r2, r4 + ldrb r1, [r2, #3] + movs r0, #0xf + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #0xc + orrs r0, r1 + strb r0, [r2, #3] + lsls r1, r7, #0x10 + asrs r1, r1, #0x10 + adds r0, r1, #0 + movs r2, #6 + bl sub_7C0 + ldr r0, _0802CCB0 @ =0x020314E0 + ldr r1, [r0] + ldr r0, _0802CCB4 @ =0x00000286 + adds r3, r1, r0 + ldrh r0, [r3] + cmp r0, #0x39 + bhi _0802CCC8 + adds r0, r1, #0 + adds r0, #0x30 + movs r2, #0 + ldrsb r2, [r0, r2] + ldrh r1, [r3] + movs r0, #0xf + ands r1, r0 + lsrs r1, r1, #3 + lsls r0, r1, #3 + adds r0, r0, r1 + subs r0, #1 + ldr r1, _0802CCB8 @ =0x040000D4 + adds r2, r2, r0 + lsls r2, r2, #6 + ldr r0, _0802CCBC @ =0x0845648C + adds r2, r2, r0 + str r2, [r1] + ldr r0, _0802CCC0 @ =0x06015520 + str r0, [r1, #4] + ldr r0, _0802CCC4 @ =0x80000020 + str r0, [r1, #8] + ldr r0, [r1, #8] + adds r5, r6, #0 + adds r5, #0x18 + ldrh r2, [r6, #0x18] + lsls r2, r2, #3 + adds r2, r2, r4 + movs r3, #2 + ldrsh r1, [r5, r3] + adds r1, #0xd8 + 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, [r6, #0x18] + lsls r1, r1, #3 + adds r1, r1, r4 + ldrb r0, [r5, #4] + subs r0, #0x70 + b _0802CCF0 + .align 2, 0 _0802CCA8: .4byte 0x000001FF _0802CCAC: .4byte 0xFFFFFE00 _0802CCB0: .4byte 0x020314E0 @@ -88363,97 +88363,97 @@ _0802CCBC: .4byte 0x0845648C _0802CCC0: .4byte 0x06015520 _0802CCC4: .4byte 0x80000020 _0802CCC8: - adds r5, r6, #0 - adds r5, #0x18 - ldrh r2, [r6, #0x18] - lsls r2, r2, #3 - adds r2, r2, r4 - movs r3, #2 - ldrsh r1, [r5, r3] - adds r1, #0xd8 - 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, [r6, #0x18] - lsls r1, r1, #3 - adds r1, r1, r4 - ldrb r0, [r5, #4] - subs r0, #0x4c + adds r5, r6, #0 + adds r5, #0x18 + ldrh r2, [r6, #0x18] + lsls r2, r2, #3 + adds r2, r2, r4 + movs r3, #2 + ldrsh r1, [r5, r3] + adds r1, #0xd8 + 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, [r6, #0x18] + lsls r1, r1, #3 + adds r1, r1, r4 + ldrb r0, [r5, #4] + subs r0, #0x4c _0802CCF0: - strb r0, [r1] + strb r0, [r1] _0802CCF2: - ldr r5, _0802CD74 @ =0x020314E0 - ldr r0, [r5] - ldr r4, _0802CD78 @ =0x00000286 - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0 - beq _0802CD68 - cmp r0, #0x5a - bne _0802CD18 - movs r0, #1 - strh r0, [r6] - ldr r1, _0802CD7C @ =0x040000D4 - ldr r0, _0802CD80 @ =0x086AE324 - str r0, [r1] - ldr r0, _0802CD84 @ =0x05000380 - str r0, [r1, #4] - ldr r0, _0802CD88 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] + ldr r5, _0802CD74 @ =0x020314E0 + ldr r0, [r5] + ldr r4, _0802CD78 @ =0x00000286 + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0 + beq _0802CD68 + cmp r0, #0x5a + bne _0802CD18 + movs r0, #1 + strh r0, [r6] + ldr r1, _0802CD7C @ =0x040000D4 + ldr r0, _0802CD80 @ =0x086AE324 + str r0, [r1] + ldr r0, _0802CD84 @ =0x05000380 + str r0, [r1, #4] + ldr r0, _0802CD88 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] _0802CD18: - ldr r0, [r5] - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0x55 - bne _0802CD2A - ldr r0, _0802CD8C @ =0x02032F20 - ldr r1, _0802CD90 @ =0x086A1ABC - bl MPlayStart + ldr r0, [r5] + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0x55 + bne _0802CD2A + ldr r0, _0802CD8C @ =0x02032F20 + ldr r1, _0802CD90 @ =0x086A1ABC + bl MPlayStart _0802CD2A: - ldr r0, [r5] - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0x3a - bne _0802CD50 - ldr r0, _0802CD8C @ =0x02032F20 - ldr r1, _0802CD94 @ =0x0869F2A0 - bl MPlayStart - ldr r0, [r5] - adds r1, r0, #0 - adds r1, #0x30 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #8 - bgt _0802CD50 - adds r0, r2, #1 - strb r0, [r1] + ldr r0, [r5] + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0x3a + bne _0802CD50 + ldr r0, _0802CD8C @ =0x02032F20 + ldr r1, _0802CD94 @ =0x0869F2A0 + bl MPlayStart + ldr r0, [r5] + adds r1, r0, #0 + adds r1, #0x30 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #8 + bgt _0802CD50 + adds r0, r2, #1 + strb r0, [r1] _0802CD50: - ldr r0, _0802CD74 @ =0x020314E0 - ldr r1, [r0] - ldr r3, _0802CD78 @ =0x00000286 - adds r1, r1, r3 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0 - bne _0802CD68 - strh r0, [r6] + ldr r0, _0802CD74 @ =0x020314E0 + ldr r1, [r0] + ldr r3, _0802CD78 @ =0x00000286 + adds r1, r1, r3 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0 + bne _0802CD68 + strh r0, [r6] _0802CD68: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0802CD74: .4byte 0x020314E0 _0802CD78: .4byte 0x00000286 _0802CD7C: .4byte 0x040000D4 @@ -88464,159 +88464,159 @@ _0802CD8C: .4byte 0x02032F20 _0802CD90: .4byte 0x086A1ABC _0802CD94: .4byte 0x0869F2A0 - thumb_func_start sub_2CD98 + thumb_func_start sub_2CD98 sub_2CD98: @ 0x0802CD98 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r0, _0802CE6C @ =0x0200B0C0 - ldr r1, [r0, #0x44] - ldr r6, [r1, #0x28] - ldrh r1, [r6] - mov sb, r0 - ldr r0, _0802CE70 @ =0x020314E0 - mov ip, r0 - cmp r1, #0 - beq _0802CE0E - ldr r0, [r0] - movs r1, #0xb5 - lsls r1, r1, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r6, #2] - movs r0, #0x2c - strh r0, [r6, #4] - movs r0, #0 - ldr r7, _0802CE74 @ =0x03005000 - ldr r2, _0802CE78 @ =0xFFFFFE00 - mov r8, r2 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r0, _0802CE6C @ =0x0200B0C0 + ldr r1, [r0, #0x44] + ldr r6, [r1, #0x28] + ldrh r1, [r6] + mov sb, r0 + ldr r0, _0802CE70 @ =0x020314E0 + mov ip, r0 + cmp r1, #0 + beq _0802CE0E + ldr r0, [r0] + movs r1, #0xb5 + lsls r1, r1, #1 + adds r0, r0, r1 + ldrh r0, [r0] + strh r0, [r6, #2] + movs r0, #0x2c + strh r0, [r6, #4] + movs r0, #0 + ldr r7, _0802CE74 @ =0x03005000 + ldr r2, _0802CE78 @ =0xFFFFFE00 + mov r8, r2 _0802CDCA: - 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 r0, #2 - ldrsh r1, [r3, r0] - movs r2, #2 - ldrsh r0, [r6, r2] - adds r1, r1, r0 - ldr r2, _0802CE7C @ =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, #6 - ble _0802CDCA + 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 r0, #2 + ldrsh r1, [r3, r0] + movs r2, #2 + ldrsh r0, [r6, r2] + adds r1, r1, r0 + ldr r2, _0802CE7C @ =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, #6 + ble _0802CDCA _0802CE0E: - mov r4, ip - ldr r0, [r4] - adds r0, #0xf4 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0 - ble _0802CE5E - cmp r0, #0x78 - bne _0802CE2A - mov r2, sb - ldr r0, [r2, #0x44] - ldr r1, [r0, #0x28] - movs r0, #1 - strh r0, [r1] + mov r4, ip + ldr r0, [r4] + adds r0, #0xf4 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #0 + ble _0802CE5E + cmp r0, #0x78 + bne _0802CE2A + mov r2, sb + ldr r0, [r2, #0x44] + ldr r1, [r0, #0x28] + movs r0, #1 + strh r0, [r1] _0802CE2A: - mov r4, ip - ldr r3, [r4] - adds r2, r3, #0 - adds r2, #0xf4 - movs r0, #0 - ldrsh r1, [r2, r0] - movs r0, #0x78 - subs r0, r0, r1 - lsls r1, r0, #1 - adds r1, r1, r0 - movs r4, #0x87 - lsls r4, r4, #1 - adds r0, r4, #0 - subs r0, r0, r1 - adds r4, #0x5c - adds r1, r3, r4 - strh r0, [r1] - movs r1, #0 - ldrsh r0, [r2, r1] - cmp r0, #1 - bne _0802CE5E - mov r2, sb - ldr r0, [r2, #0x44] - ldr r1, [r0, #0x28] - movs r0, #0 - strh r0, [r1] + mov r4, ip + ldr r3, [r4] + adds r2, r3, #0 + adds r2, #0xf4 + movs r0, #0 + ldrsh r1, [r2, r0] + movs r0, #0x78 + subs r0, r0, r1 + lsls r1, r0, #1 + adds r1, r1, r0 + movs r4, #0x87 + lsls r4, r4, #1 + adds r0, r4, #0 + subs r0, r0, r1 + adds r4, #0x5c + adds r1, r3, r4 + strh r0, [r1] + movs r1, #0 + ldrsh r0, [r2, r1] + cmp r0, #1 + bne _0802CE5E + mov r2, sb + ldr r0, [r2, #0x44] + ldr r1, [r0, #0x28] + movs r0, #0 + strh r0, [r1] _0802CE5E: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0802CE6C: .4byte 0x0200B0C0 _0802CE70: .4byte 0x020314E0 _0802CE74: .4byte 0x03005000 _0802CE78: .4byte 0xFFFFFE00 _0802CE7C: .4byte 0x000001FF - thumb_func_start sub_2CE80 + thumb_func_start sub_2CE80 sub_2CE80: @ 0x0802CE80 - push {r4, r5, lr} - ldr r0, _0802CEC0 @ =0x020314E0 - ldr r4, [r0] - adds r1, r4, #0 - adds r1, #0x68 - movs r2, #0 - ldrsh r1, [r1, r2] - adds r5, r0, #0 - cmp r1, #0xa9 - bgt _0802CED8 - ldr r3, _0802CEC4 @ =0x040000D4 - ldr r0, _0802CEC8 @ =0x0200B0C0 - ldrb r0, [r0, #4] - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #6 - adds r0, r4, #0 - adds r0, #0x6f - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #6 - ldr r2, _0802CECC @ =0x08137B3C - adds r0, r0, r2 - adds r1, r1, r0 - str r1, [r3] - ldr r0, _0802CED0 @ =0x05000360 - str r0, [r3, #4] - ldr r0, _0802CED4 @ =0x80000010 - str r0, [r3, #8] - ldr r0, [r3, #8] - b _0802CF02 - .align 2, 0 + push {r4, r5, lr} + ldr r0, _0802CEC0 @ =0x020314E0 + ldr r4, [r0] + adds r1, r4, #0 + adds r1, #0x68 + movs r2, #0 + ldrsh r1, [r1, r2] + adds r5, r0, #0 + cmp r1, #0xa9 + bgt _0802CED8 + ldr r3, _0802CEC4 @ =0x040000D4 + ldr r0, _0802CEC8 @ =0x0200B0C0 + ldrb r0, [r0, #4] + lsls r1, r0, #1 + adds r1, r1, r0 + lsls r1, r1, #6 + adds r0, r4, #0 + adds r0, #0x6f + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #6 + ldr r2, _0802CECC @ =0x08137B3C + adds r0, r0, r2 + adds r1, r1, r0 + str r1, [r3] + ldr r0, _0802CED0 @ =0x05000360 + str r0, [r3, #4] + ldr r0, _0802CED4 @ =0x80000010 + str r0, [r3, #8] + ldr r0, [r3, #8] + b _0802CF02 + .align 2, 0 _0802CEC0: .4byte 0x020314E0 _0802CEC4: .4byte 0x040000D4 _0802CEC8: .4byte 0x0200B0C0 @@ -88624,44 +88624,44 @@ _0802CECC: .4byte 0x08137B3C _0802CED0: .4byte 0x05000360 _0802CED4: .4byte 0x80000010 _0802CED8: - ldr r2, _0802CF20 @ =0x040000D4 - ldr r0, _0802CF24 @ =0x0200B0C0 - ldrb r0, [r0, #4] - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #6 - ldr r0, _0802CF28 @ =0x08137B5C - adds r1, r1, r0 - adds r0, r4, #0 - adds r0, #0x6f - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #6 - adds r1, r1, r0 - str r1, [r2] - ldr r0, _0802CF2C @ =0x05000360 - str r0, [r2, #4] - ldr r0, _0802CF30 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] + ldr r2, _0802CF20 @ =0x040000D4 + ldr r0, _0802CF24 @ =0x0200B0C0 + ldrb r0, [r0, #4] + lsls r1, r0, #1 + adds r1, r1, r0 + lsls r1, r1, #6 + ldr r0, _0802CF28 @ =0x08137B5C + adds r1, r1, r0 + adds r0, r4, #0 + adds r0, #0x6f + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #6 + adds r1, r1, r0 + str r1, [r2] + ldr r0, _0802CF2C @ =0x05000360 + str r0, [r2, #4] + ldr r0, _0802CF30 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] _0802CF02: - ldr r0, [r5] - ldr r3, _0802CF34 @ =0x00000163 - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bls _0802CF14 - b _0802D0FA + ldr r0, [r5] + ldr r3, _0802CF34 @ =0x00000163 + adds r0, r0, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bls _0802CF14 + b _0802D0FA _0802CF14: - lsls r0, r0, #2 - ldr r1, _0802CF38 @ =_0802CF3C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0802CF38 @ =_0802CF3C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0802CF20: .4byte 0x040000D4 _0802CF24: .4byte 0x0200B0C0 _0802CF28: .4byte 0x08137B5C @@ -88670,355 +88670,355 @@ _0802CF30: .4byte 0x80000010 _0802CF34: .4byte 0x00000163 _0802CF38: .4byte _0802CF3C _0802CF3C: @ jump table - .4byte _0802CF50 @ case 0 - .4byte _0802CFAC @ case 1 - .4byte _0802D02C @ case 2 - .4byte _0802D074 @ case 3 - .4byte _0802D0A4 @ case 4 + .4byte _0802CF50 @ case 0 + .4byte _0802CFAC @ case 1 + .4byte _0802D02C @ case 2 + .4byte _0802D074 @ case 3 + .4byte _0802D0A4 @ case 4 _0802CF50: - ldr r0, [r5] - movs r4, #0xb2 - lsls r4, r4, #1 - adds r0, r0, r4 - movs r1, #0 - strb r1, [r0] - ldr r4, [r5] - movs r2, #0xb4 - lsls r2, r2, #1 - adds r0, r4, r2 - strh r1, [r0] - ldr r3, _0802CF90 @ =0x00000165 - adds r0, r4, r3 - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #0 - beq _0802CF94 - movs r1, #0xa4 - lsls r1, r1, #2 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, #0x1e - bl __umodsi3 - movs r1, #0xf - bl __udivsi3 - movs r2, #0xb3 - lsls r2, r2, #1 - adds r1, r4, r2 - strh r0, [r1] - b _0802CF9C - .align 2, 0 + ldr r0, [r5] + movs r4, #0xb2 + lsls r4, r4, #1 + adds r0, r0, r4 + movs r1, #0 + strb r1, [r0] + ldr r4, [r5] + movs r2, #0xb4 + lsls r2, r2, #1 + adds r0, r4, r2 + strh r1, [r0] + ldr r3, _0802CF90 @ =0x00000165 + adds r0, r4, r3 + movs r1, #0 + ldrsb r1, [r0, r1] + cmp r1, #0 + beq _0802CF94 + movs r1, #0xa4 + lsls r1, r1, #2 + adds r0, r4, r1 + ldr r0, [r0] + movs r1, #0x1e + bl __umodsi3 + movs r1, #0xf + bl __udivsi3 + movs r2, #0xb3 + lsls r2, r2, #1 + adds r1, r4, r2 + strh r0, [r1] + b _0802CF9C + .align 2, 0 _0802CF90: .4byte 0x00000165 _0802CF94: - movs r3, #0xb3 - lsls r3, r3, #1 - adds r0, r4, r3 - strh r1, [r0] + movs r3, #0xb3 + lsls r3, r3, #1 + adds r0, r4, r3 + strh r1, [r0] _0802CF9C: - ldr r0, [r5] - ldr r4, _0802CFA8 @ =0x00000165 - adds r1, r0, r4 - movs r0, #0 - strb r0, [r1] - b _0802D0FA - .align 2, 0 + ldr r0, [r5] + ldr r4, _0802CFA8 @ =0x00000165 + adds r1, r0, r4 + movs r0, #0 + strb r0, [r1] + b _0802D0FA + .align 2, 0 _0802CFA8: .4byte 0x00000165 _0802CFAC: - ldr r1, [r5] - movs r2, #0xb4 - lsls r2, r2, #1 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #4 - bhi _0802D00A - cmp r0, #1 - bhi _0802CFD4 - movs r3, #0xb2 - lsls r3, r3, #1 - adds r1, r1, r3 - movs r0, #2 - strb r0, [r1] - ldr r0, [r5] - movs r4, #0xb3 - lsls r4, r4, #1 - adds r1, r0, r4 - movs r0, #3 - b _0802CFE8 + ldr r1, [r5] + movs r2, #0xb4 + lsls r2, r2, #1 + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #4 + bhi _0802D00A + cmp r0, #1 + bhi _0802CFD4 + movs r3, #0xb2 + lsls r3, r3, #1 + adds r1, r1, r3 + movs r0, #2 + strb r0, [r1] + ldr r0, [r5] + movs r4, #0xb3 + lsls r4, r4, #1 + adds r1, r0, r4 + movs r0, #3 + b _0802CFE8 _0802CFD4: - movs r0, #0xb2 - lsls r0, r0, #1 - adds r1, r1, r0 - movs r0, #3 - strb r0, [r1] - ldr r0, [r5] - movs r2, #0xb3 - lsls r2, r2, #1 - adds r1, r0, r2 - movs r0, #5 + movs r0, #0xb2 + lsls r0, r0, #1 + adds r1, r1, r0 + movs r0, #3 + strb r0, [r1] + ldr r0, [r5] + movs r2, #0xb3 + lsls r2, r2, #1 + adds r1, r0, r2 + movs r0, #5 _0802CFE8: - strh r0, [r1] - ldr r0, [r5] - movs r4, #0xb4 - lsls r4, r4, #1 - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0 - bne _0802CFFE - movs r0, #0xcc - bl m4aSongNumStart + strh r0, [r1] + ldr r0, [r5] + movs r4, #0xb4 + lsls r4, r4, #1 + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0 + bne _0802CFFE + movs r0, #0xcc + bl m4aSongNumStart _0802CFFE: - ldr r1, [r5] - adds r1, r1, r4 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - b _0802D0FA + ldr r1, [r5] + adds r1, r1, r4 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + b _0802D0FA _0802D00A: - ldr r3, _0802D028 @ =0x00000163 - adds r1, r1, r3 - movs r2, #0 - movs r0, #2 - strb r0, [r1] - ldr r0, [r5] - movs r4, #0xb2 - lsls r4, r4, #1 - adds r0, r0, r4 - movs r1, #4 - strb r1, [r0] - ldr r0, [r5] - movs r1, #0xb4 - lsls r1, r1, #1 - b _0802D09A - .align 2, 0 + ldr r3, _0802D028 @ =0x00000163 + adds r1, r1, r3 + movs r2, #0 + movs r0, #2 + strb r0, [r1] + ldr r0, [r5] + movs r4, #0xb2 + lsls r4, r4, #1 + adds r0, r0, r4 + movs r1, #4 + strb r1, [r0] + ldr r0, [r5] + movs r1, #0xb4 + lsls r1, r1, #1 + b _0802D09A + .align 2, 0 _0802D028: .4byte 0x00000163 _0802D02C: - ldr r0, _0802D070 @ =0x086AE344 - ldr r2, [r5] - movs r4, #0xb2 - lsls r4, r4, #1 - adds r3, r2, r4 - movs r1, #0 - ldrsb r1, [r3, r1] - lsls r1, r1, #2 - adds r0, #2 - adds r1, r1, r0 - movs r4, #0 - ldrsh r0, [r1, r4] - movs r4, #0xb4 - lsls r4, r4, #1 - adds r1, r2, r4 - ldrh r2, [r1] - cmp r0, r2 - bgt _0802D0C8 - movs r0, #0 - strh r0, [r1] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r0, [r5] - movs r2, #0xb2 - lsls r2, r2, #1 - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #7 - ble _0802D0FA - movs r0, #4 - strb r0, [r1] - b _0802D0FA - .align 2, 0 + ldr r0, _0802D070 @ =0x086AE344 + ldr r2, [r5] + movs r4, #0xb2 + lsls r4, r4, #1 + adds r3, r2, r4 + movs r1, #0 + ldrsb r1, [r3, r1] + lsls r1, r1, #2 + adds r0, #2 + adds r1, r1, r0 + movs r4, #0 + ldrsh r0, [r1, r4] + movs r4, #0xb4 + lsls r4, r4, #1 + adds r1, r2, r4 + ldrh r2, [r1] + cmp r0, r2 + bgt _0802D0C8 + movs r0, #0 + strh r0, [r1] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r0, [r5] + movs r2, #0xb2 + lsls r2, r2, #1 + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #7 + ble _0802D0FA + movs r0, #4 + strb r0, [r1] + b _0802D0FA + .align 2, 0 _0802D070: .4byte 0x086AE344 _0802D074: - ldr r0, [r5] - movs r3, #0xb2 - lsls r3, r3, #1 - adds r0, r0, r3 - movs r2, #0 - movs r1, #8 - strb r1, [r0] - ldr r1, [r5] - movs r4, #0xb4 - lsls r4, r4, #1 - adds r0, r1, r4 - strh r2, [r0] - ldr r0, _0802D0A0 @ =0x00000163 - adds r1, r1, r0 - movs r0, #4 - strb r0, [r1] - ldr r0, [r5] - movs r1, #0xb3 - lsls r1, r1, #1 + ldr r0, [r5] + movs r3, #0xb2 + lsls r3, r3, #1 + adds r0, r0, r3 + movs r2, #0 + movs r1, #8 + strb r1, [r0] + ldr r1, [r5] + movs r4, #0xb4 + lsls r4, r4, #1 + adds r0, r1, r4 + strh r2, [r0] + ldr r0, _0802D0A0 @ =0x00000163 + adds r1, r1, r0 + movs r0, #4 + strb r0, [r1] + ldr r0, [r5] + movs r1, #0xb3 + lsls r1, r1, #1 _0802D09A: - adds r0, r0, r1 - strh r2, [r0] - b _0802D0FA - .align 2, 0 + adds r0, r0, r1 + strh r2, [r0] + b _0802D0FA + .align 2, 0 _0802D0A0: .4byte 0x00000163 _0802D0A4: - ldr r0, _0802D0D0 @ =0x086AE344 - ldr r2, [r5] - movs r4, #0xb2 - lsls r4, r4, #1 - adds r3, r2, r4 - movs r1, #0 - ldrsb r1, [r3, r1] - lsls r1, r1, #2 - adds r0, #2 - adds r1, r1, r0 - movs r4, #0 - ldrsh r0, [r1, r4] - movs r4, #0xb4 - lsls r4, r4, #1 - adds r1, r2, r4 - ldrh r2, [r1] - cmp r0, r2 - ble _0802D0D4 + ldr r0, _0802D0D0 @ =0x086AE344 + ldr r2, [r5] + movs r4, #0xb2 + lsls r4, r4, #1 + adds r3, r2, r4 + movs r1, #0 + ldrsb r1, [r3, r1] + lsls r1, r1, #2 + adds r0, #2 + adds r1, r1, r0 + movs r4, #0 + ldrsh r0, [r1, r4] + movs r4, #0xb4 + lsls r4, r4, #1 + adds r1, r2, r4 + ldrh r2, [r1] + cmp r0, r2 + ble _0802D0D4 _0802D0C8: - adds r0, r2, #1 - strh r0, [r1] - b _0802D0FA - .align 2, 0 + adds r0, r2, #1 + strh r0, [r1] + b _0802D0FA + .align 2, 0 _0802D0D0: .4byte 0x086AE344 _0802D0D4: - movs r2, #0 - movs r0, #0 - strh r0, [r1] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r0, [r5] - movs r3, #0xb2 - lsls r3, r3, #1 - adds r1, r0, r3 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x13 - ble _0802D0FA - strb r2, [r1] - ldr r0, [r5] - ldr r4, _0802D100 @ =0x00000163 - adds r0, r0, r4 - strb r2, [r0] + movs r2, #0 + movs r0, #0 + strh r0, [r1] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r0, [r5] + movs r3, #0xb2 + lsls r3, r3, #1 + adds r1, r0, r3 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x13 + ble _0802D0FA + strb r2, [r1] + ldr r0, [r5] + ldr r4, _0802D100 @ =0x00000163 + adds r0, r0, r4 + strb r2, [r0] _0802D0FA: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0802D100: .4byte 0x00000163 - thumb_func_start sub_2D104 + thumb_func_start sub_2D104 sub_2D104: @ 0x0802D104 - push {r4, r5, r6, r7, lr} - ldr r0, _0802D144 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0xb0 - ldr r6, [r0] - ldrh r0, [r6] - cmp r0, #0 - beq _0802D1DC - ldr r1, _0802D148 @ =0x020314E0 - ldr r3, [r1] - movs r0, #0xb2 - lsls r0, r0, #1 - adds r2, r3, r0 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r4, r1, #0 - cmp r0, #0 - bne _0802D14C - movs r1, #0xa4 - lsls r1, r1, #2 - adds r0, r3, r1 - ldr r0, [r0] - movs r1, #0x1e - bl __umodsi3 - movs r1, #0xf - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - b _0802D158 - .align 2, 0 + push {r4, r5, r6, r7, lr} + ldr r0, _0802D144 @ =0x0200B0C0 + ldr r0, [r0, #0x44] + adds r0, #0xb0 + ldr r6, [r0] + ldrh r0, [r6] + cmp r0, #0 + beq _0802D1DC + ldr r1, _0802D148 @ =0x020314E0 + ldr r3, [r1] + movs r0, #0xb2 + lsls r0, r0, #1 + adds r2, r3, r0 + movs r0, #0 + ldrsb r0, [r2, r0] + adds r4, r1, #0 + cmp r0, #0 + bne _0802D14C + movs r1, #0xa4 + lsls r1, r1, #2 + adds r0, r3, r1 + ldr r0, [r0] + movs r1, #0x1e + bl __umodsi3 + movs r1, #0xf + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + b _0802D158 + .align 2, 0 _0802D144: .4byte 0x0200B0C0 _0802D148: .4byte 0x020314E0 _0802D14C: - ldr r1, _0802D1E4 @ =0x086AE344 - movs r0, #0 - ldrsb r0, [r2, r0] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrh r0, [r0] + ldr r1, _0802D1E4 @ =0x086AE344 + movs r0, #0 + ldrsb r0, [r2, r0] + lsls r0, r0, #2 + adds r0, r0, r1 + ldrh r0, [r0] _0802D158: - ldr r2, _0802D1E8 @ =0x040000D4 - lsls r1, r0, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #6 - ldr r1, _0802D1EC @ =0x083C076C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802D1F0 @ =0x060120E0 - str r0, [r2, #4] - ldr r0, _0802D1F4 @ =0x800000E0 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r1, [r4] - adds r0, r1, #0 - adds r0, #0x58 - ldrh r2, [r0] - movs r0, #0xe7 - subs r0, r0, r2 - strh r0, [r6, #2] - adds r1, #0x5a - ldrh r1, [r1] - movs r2, #0xbc - lsls r2, r2, #1 - adds r0, r2, #0 - subs r0, r0, r1 - strh r0, [r6, #4] - movs r0, #0 - ldr r7, _0802D1F8 @ =0x03005000 - ldr r1, _0802D1FC @ =0xFFFFFE00 - mov ip, r1 + ldr r2, _0802D1E8 @ =0x040000D4 + lsls r1, r0, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #6 + ldr r1, _0802D1EC @ =0x083C076C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802D1F0 @ =0x060120E0 + str r0, [r2, #4] + ldr r0, _0802D1F4 @ =0x800000E0 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r1, [r4] + adds r0, r1, #0 + adds r0, #0x58 + ldrh r2, [r0] + movs r0, #0xe7 + subs r0, r0, r2 + strh r0, [r6, #2] + adds r1, #0x5a + ldrh r1, [r1] + movs r2, #0xbc + lsls r2, r2, #1 + adds r0, r2, #0 + subs r0, r0, r1 + strh r0, [r6, #4] + movs r0, #0 + ldr r7, _0802D1F8 @ =0x03005000 + ldr r1, _0802D1FC @ =0xFFFFFE00 + mov ip, r1 _0802D198: - 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, _0802D200 @ =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, #2 - ble _0802D198 + 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, _0802D200 @ =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, #2 + ble _0802D198 _0802D1DC: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0802D1E4: .4byte 0x086AE344 _0802D1E8: .4byte 0x040000D4 _0802D1EC: .4byte 0x083C076C @@ -89028,185 +89028,185 @@ _0802D1F8: .4byte 0x03005000 _0802D1FC: .4byte 0xFFFFFE00 _0802D200: .4byte 0x000001FF - thumb_func_start sub_2D204 + thumb_func_start sub_2D204 sub_2D204: @ 0x0802D204 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r4, _0802D358 @ =0xFFFFFDE0 - add sp, r4 - ldr r1, _0802D35C @ =0x020314E0 - ldr r2, [r1] - ldrh r3, [r2, #0x18] - adds r4, r3, #0 - movs r0, #0xb4 - lsls r0, r0, #1 - cmp r4, r0 - bls _0802D226 - bl sub_2DE54 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r4, _0802D358 @ =0xFFFFFDE0 + add sp, r4 + ldr r1, _0802D35C @ =0x020314E0 + ldr r2, [r1] + ldrh r3, [r2, #0x18] + adds r4, r3, #0 + movs r0, #0xb4 + lsls r0, r0, #1 + cmp r4, r0 + bls _0802D226 + bl sub_2DE54 _0802D226: - cmp r4, #0 - bne _0802D254 - bl m4aMPlayAllStop - ldr r1, _0802D360 @ =0x040000D4 - ldr r0, _0802D364 @ =0x05000200 - str r0, [r1] - ldr r2, _0802D35C @ =0x020314E0 - ldr r0, [r2] - ldr r3, _0802D368 @ =0x0000111A - adds r0, r0, r3 - str r0, [r1, #4] - ldr r0, _0802D36C @ =0x80000100 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, [r2] - ldr r1, _0802D370 @ =0x000006DB - adds r0, r0, r1 - strb r4, [r0] - ldr r0, [r2] - ldr r2, _0802D374 @ =0x000005FA - adds r0, r0, r2 - strb r4, [r0] + cmp r4, #0 + bne _0802D254 + bl m4aMPlayAllStop + ldr r1, _0802D360 @ =0x040000D4 + ldr r0, _0802D364 @ =0x05000200 + str r0, [r1] + ldr r2, _0802D35C @ =0x020314E0 + ldr r0, [r2] + ldr r3, _0802D368 @ =0x0000111A + adds r0, r0, r3 + str r0, [r1, #4] + ldr r0, _0802D36C @ =0x80000100 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, [r2] + ldr r1, _0802D370 @ =0x000006DB + adds r0, r0, r1 + strb r4, [r0] + ldr r0, [r2] + ldr r2, _0802D374 @ =0x000005FA + adds r0, r0, r2 + strb r4, [r0] _0802D254: - ldr r3, _0802D35C @ =0x020314E0 - ldr r1, [r3] - ldrh r0, [r1, #0x18] - cmp r0, #0xa - bne _0802D2AA - adds r1, #0xe4 - movs r0, #0x10 - strb r0, [r1] - ldr r1, _0802D360 @ =0x040000D4 - ldr r0, _0802D378 @ =0x08158284 - str r0, [r1] - ldr r0, _0802D37C @ =0x06015800 - str r0, [r1, #4] - ldr r0, _0802D380 @ =0x80001200 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0802D384 @ =0x0815A6A4 - str r0, [r1] - ldr r0, _0802D388 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _0802D38C @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r2, _0802D390 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x60] - movs r1, #1 - strh r1, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x64] - strh r1, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x68] - strh r1, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x6c] - strh r1, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x70] - strh r1, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x3c] - strh r1, [r0] + ldr r3, _0802D35C @ =0x020314E0 + ldr r1, [r3] + ldrh r0, [r1, #0x18] + cmp r0, #0xa + bne _0802D2AA + adds r1, #0xe4 + movs r0, #0x10 + strb r0, [r1] + ldr r1, _0802D360 @ =0x040000D4 + ldr r0, _0802D378 @ =0x08158284 + str r0, [r1] + ldr r0, _0802D37C @ =0x06015800 + str r0, [r1, #4] + ldr r0, _0802D380 @ =0x80001200 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0802D384 @ =0x0815A6A4 + str r0, [r1] + ldr r0, _0802D388 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _0802D38C @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r2, _0802D390 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x60] + movs r1, #1 + strh r1, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x64] + strh r1, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x68] + strh r1, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x6c] + strh r1, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x70] + strh r1, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x3c] + strh r1, [r0] _0802D2AA: - ldr r4, _0802D35C @ =0x020314E0 - ldr r1, [r4] - adds r0, r1, #0 - adds r0, #0xcc - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #0xeb - bgt _0802D2C2 - ldrh r0, [r1, #0x18] - lsrs r0, r0, #1 - adds r1, #0xe6 - strh r0, [r1] + ldr r4, _0802D35C @ =0x020314E0 + ldr r1, [r4] + adds r0, r1, #0 + adds r0, #0xcc + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r0, #0xeb + bgt _0802D2C2 + ldrh r0, [r1, #0x18] + lsrs r0, r0, #1 + adds r1, #0xe6 + strh r0, [r1] _0802D2C2: - ldr r3, _0802D35C @ =0x020314E0 - ldr r0, [r3] - ldrh r0, [r0, #0x18] - adds r3, r0, #0 - cmp r3, #0x23 - bhi _0802D2D0 - b _0802D3F6 + ldr r3, _0802D35C @ =0x020314E0 + ldr r0, [r3] + ldrh r0, [r0, #0x18] + adds r3, r0, #0 + cmp r3, #0x23 + bhi _0802D2D0 + b _0802D3F6 _0802D2D0: - cmp r3, #0x43 - bhi _0802D3A0 - subs r0, #0x24 - lsls r0, r0, #0x10 - movs r3, #0 - lsrs r5, r0, #0x10 - asrs r0, r0, #0x10 - ldr r4, _0802D394 @ =0x03005C00 - mov sb, r4 - cmp r3, r0 - bgt _0802D320 - mov r2, sb - mov r8, r0 - movs r7, #0xc1 - lsls r7, r7, #8 + cmp r3, #0x43 + bhi _0802D3A0 + subs r0, #0x24 + lsls r0, r0, #0x10 + movs r3, #0 + lsrs r5, r0, #0x10 + asrs r0, r0, #0x10 + ldr r4, _0802D394 @ =0x03005C00 + mov sb, r4 + cmp r3, r0 + bgt _0802D320 + mov r2, sb + mov r8, r0 + movs r7, #0xc1 + lsls r7, r7, #8 _0802D2EE: - movs r6, #1 - lsls r3, r3, #0x10 - asrs r4, r3, #0x10 + movs r6, #1 + lsls r3, r3, #0x10 + asrs r4, r3, #0x10 _0802D2F4: - lsls r1, r6, #0x10 - asrs r1, r1, #0x10 - adds r0, r1, #0 - adds r0, #0xf - lsls r0, r0, #5 - adds r0, r0, r4 - lsls r0, r0, #1 - adds r0, r0, r2 - strh r7, [r0] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r6, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #0xa - ble _0802D2F4 - movs r1, #0x80 - lsls r1, r1, #9 - adds r0, r3, r1 - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, r8 - ble _0802D2EE + lsls r1, r6, #0x10 + asrs r1, r1, #0x10 + adds r0, r1, #0 + adds r0, #0xf + lsls r0, r0, #5 + adds r0, r0, r4 + lsls r0, r0, #1 + adds r0, r0, r2 + strh r7, [r0] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r6, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #0xa + ble _0802D2F4 + movs r1, #0x80 + lsls r1, r1, #9 + adds r0, r3, r1 + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, r8 + ble _0802D2EE _0802D320: - ldr r1, _0802D360 @ =0x040000D4 - mov r2, sb - str r2, [r1] - ldr r0, _0802D398 @ =0x06002000 - str r0, [r1, #4] - ldr r0, _0802D39C @ =0x80000400 - str r0, [r1, #8] - ldr r0, [r1, #8] - cmp r5, #0x1e - bne _0802D33A - movs r0, #0x1a - bl m4aSongNumStart + ldr r1, _0802D360 @ =0x040000D4 + mov r2, sb + str r2, [r1] + ldr r0, _0802D398 @ =0x06002000 + str r0, [r1, #4] + ldr r0, _0802D39C @ =0x80000400 + str r0, [r1, #8] + ldr r0, [r1, #8] + cmp r5, #0x1e + bne _0802D33A + movs r0, #0x1a + bl m4aSongNumStart _0802D33A: - ldr r0, _0802D390 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #1 - bne _0802D3F6 - ldr r0, _0802D35C @ =0x020314E0 - ldr r1, [r0] - ldrh r0, [r1, #0x18] - cmp r0, #0x43 - bne _0802D3F6 - movs r3, #0xe0 - lsls r3, r3, #2 - adds r1, r1, r3 - movs r0, #0x78 - strh r0, [r1] - b _0802D3F6 - .align 2, 0 + ldr r0, _0802D390 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #1 + bne _0802D3F6 + ldr r0, _0802D35C @ =0x020314E0 + ldr r1, [r0] + ldrh r0, [r1, #0x18] + cmp r0, #0x43 + bne _0802D3F6 + movs r3, #0xe0 + lsls r3, r3, #2 + adds r1, r1, r3 + movs r0, #0x78 + strh r0, [r1] + b _0802D3F6 + .align 2, 0 _0802D358: .4byte 0xFFFFFDE0 _0802D35C: .4byte 0x020314E0 _0802D360: .4byte 0x040000D4 @@ -89226,125 +89226,125 @@ _0802D394: .4byte 0x03005C00 _0802D398: .4byte 0x06002000 _0802D39C: .4byte 0x80000400 _0802D3A0: - movs r0, #0xac - lsls r0, r0, #1 - cmp r3, r0 - bhi _0802D3F6 - movs r3, #0 - ldr r4, _0802D484 @ =0x03005C00 - mov sb, r4 - mov r5, sb - movs r4, #0xc1 - lsls r4, r4, #8 + movs r0, #0xac + lsls r0, r0, #1 + cmp r3, r0 + bhi _0802D3F6 + movs r3, #0 + ldr r4, _0802D484 @ =0x03005C00 + mov sb, r4 + mov r5, sb + movs r4, #0xc1 + lsls r4, r4, #8 _0802D3B4: - movs r6, #1 - lsls r3, r3, #0x10 - asrs r2, r3, #0x10 + movs r6, #1 + lsls r3, r3, #0x10 + asrs r2, r3, #0x10 _0802D3BA: - lsls r1, r6, #0x10 - asrs r1, r1, #0x10 - adds r0, r1, #0 - adds r0, #0xf - lsls r0, r0, #5 - adds r0, r0, r2 - lsls r0, r0, #1 - adds r0, r0, r5 - strh r4, [r0] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r6, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #0xa - ble _0802D3BA - movs r1, #0x80 - lsls r1, r1, #9 - adds r0, r3, r1 - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x1e - ble _0802D3B4 - ldr r1, _0802D488 @ =0x040000D4 - mov r2, sb - str r2, [r1] - ldr r0, _0802D48C @ =0x06002000 - str r0, [r1, #4] - ldr r0, _0802D490 @ =0x80000400 - str r0, [r1, #8] - ldr r0, [r1, #8] + lsls r1, r6, #0x10 + asrs r1, r1, #0x10 + adds r0, r1, #0 + adds r0, #0xf + lsls r0, r0, #5 + adds r0, r0, r2 + lsls r0, r0, #1 + adds r0, r0, r5 + strh r4, [r0] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r6, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #0xa + ble _0802D3BA + movs r1, #0x80 + lsls r1, r1, #9 + adds r0, r3, r1 + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x1e + ble _0802D3B4 + ldr r1, _0802D488 @ =0x040000D4 + mov r2, sb + str r2, [r1] + ldr r0, _0802D48C @ =0x06002000 + str r0, [r1, #4] + ldr r0, _0802D490 @ =0x80000400 + str r0, [r1, #8] + ldr r0, [r1, #8] _0802D3F6: - ldr r2, _0802D494 @ =0x020314E0 - ldr r1, [r2] - ldr r3, _0802D498 @ =0xFFFFFEF2 - adds r0, r3, #0 - ldrh r1, [r1, #0x18] - adds r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x1e - bls _0802D40C - b _0802D54C + ldr r2, _0802D494 @ =0x020314E0 + ldr r1, [r2] + ldr r3, _0802D498 @ =0xFFFFFEF2 + adds r0, r3, #0 + ldrh r1, [r1, #0x18] + adds r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x1e + bls _0802D40C + b _0802D54C _0802D40C: - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - cmp r1, #0 - bne _0802D4A4 - movs r6, #0 - mov sl, r0 - ldr r4, _0802D49C @ =0x020028A8 - mov sb, r4 - adds r0, r2, #0 - mov r8, r0 - ldr r7, _0802D4A0 @ =0x000012BA - movs r1, #2 - add r1, sb - mov ip, r1 + lsls r0, r0, #0x10 + asrs r1, r0, #0x10 + cmp r1, #0 + bne _0802D4A4 + movs r6, #0 + mov sl, r0 + ldr r4, _0802D49C @ =0x020028A8 + mov sb, r4 + adds r0, r2, #0 + mov r8, r0 + ldr r7, _0802D4A0 @ =0x000012BA + movs r1, #2 + add r1, sb + mov ip, r1 _0802D428: - lsls r2, r6, #0x10 - asrs r2, r2, #0x10 - lsls r5, r2, #1 - adds r4, r5, r2 - mov r0, sb - adds r3, r4, r0 - mov r1, r8 - ldr r0, [r1] - adds r0, r0, r7 - adds r0, r0, r5 - ldrb r1, [r0] - movs r0, #0x1f - ands r0, r1 - strb r0, [r3] - mov r3, sb - adds r3, #1 - adds r3, r4, r3 - mov r1, r8 - ldr r0, [r1] - adds r0, r0, r7 - adds r0, r0, r5 - ldrh r1, [r0] - movs r0, #0xf8 - lsls r0, r0, #2 - ands r0, r1 - lsrs r0, r0, #5 - strb r0, [r3] - add r4, ip - mov r3, r8 - ldr r0, [r3] - adds r0, r0, r7 - adds r0, r0, r5 - ldrh r1, [r0] - movs r0, #0xf8 - lsls r0, r0, #7 - ands r0, r1 - lsrs r0, r0, #0xa - strb r0, [r4] - adds r2, #1 - lsls r2, r2, #0x10 - lsrs r6, r2, #0x10 - asrs r2, r2, #0x10 - cmp r2, #0xf - ble _0802D428 - b _0802D53E - .align 2, 0 + lsls r2, r6, #0x10 + asrs r2, r2, #0x10 + lsls r5, r2, #1 + adds r4, r5, r2 + mov r0, sb + adds r3, r4, r0 + mov r1, r8 + ldr r0, [r1] + adds r0, r0, r7 + adds r0, r0, r5 + ldrb r1, [r0] + movs r0, #0x1f + ands r0, r1 + strb r0, [r3] + mov r3, sb + adds r3, #1 + adds r3, r4, r3 + mov r1, r8 + ldr r0, [r1] + adds r0, r0, r7 + adds r0, r0, r5 + ldrh r1, [r0] + movs r0, #0xf8 + lsls r0, r0, #2 + ands r0, r1 + lsrs r0, r0, #5 + strb r0, [r3] + add r4, ip + mov r3, r8 + ldr r0, [r3] + adds r0, r0, r7 + adds r0, r0, r5 + ldrh r1, [r0] + movs r0, #0xf8 + lsls r0, r0, #7 + ands r0, r1 + lsrs r0, r0, #0xa + strb r0, [r4] + adds r2, #1 + lsls r2, r2, #0x10 + lsrs r6, r2, #0x10 + asrs r2, r2, #0x10 + cmp r2, #0xf + ble _0802D428 + b _0802D53E + .align 2, 0 _0802D484: .4byte 0x03005C00 _0802D488: .4byte 0x040000D4 _0802D48C: .4byte 0x06002000 @@ -89354,144 +89354,144 @@ _0802D498: .4byte 0xFFFFFEF2 _0802D49C: .4byte 0x020028A8 _0802D4A0: .4byte 0x000012BA _0802D4A4: - movs r6, #0 - mov sl, r0 - movs r4, #0xd8 - lsls r4, r4, #1 - add r4, sp - str r4, [sp, #0x214] - add r7, sp, #0x210 - mov sb, r1 + movs r6, #0 + mov sl, r0 + movs r4, #0xd8 + lsls r4, r4, #1 + add r4, sp + str r4, [sp, #0x214] + add r7, sp, #0x210 + mov sb, r1 _0802D4B4: - lsls r5, r6, #0x10 - asrs r5, r5, #0x10 - lsls r0, r5, #1 - mov r8, r0 - adds r6, r0, r5 - ldr r1, _0802D5B8 @ =0x020028A8 - adds r0, r6, r1 - ldrb r4, [r0] - movs r2, #0x1f - subs r0, r2, r4 - mov r3, sb - muls r3, r0, r3 - adds r0, r3, #0 - movs r1, #0x1e - bl __divsi3 - adds r4, r4, r0 - strb r4, [r7] - ldr r0, _0802D5B8 @ =0x020028A8 - adds r0, #1 - adds r0, r6, r0 - ldrb r4, [r0] - movs r1, #0x1f - subs r0, r1, r4 - mov r2, sb - muls r2, r0, r2 - adds r0, r2, #0 - movs r1, #0x1e - bl __divsi3 - adds r4, r4, r0 - strb r4, [r7, #1] - ldr r3, _0802D5BC @ =0x020028AA - adds r6, r6, r3 - ldrb r4, [r6] - movs r1, #0x1f - subs r0, r1, r4 - mov r2, sb - muls r2, r0, r2 - adds r0, r2, #0 - movs r1, #0x1e - bl __divsi3 - adds r4, r4, r0 - strb r4, [r7, #2] - ldr r3, [sp, #0x214] - add r8, r3 - ldrb r1, [r7] - ldrb r0, [r7, #1] - lsls r0, r0, #5 - orrs r1, r0 - ldrb r0, [r7, #2] - lsls r0, r0, #0xa - orrs r1, r0 - mov r4, r8 - strh r1, [r4] - adds r5, #1 - lsls r5, r5, #0x10 - lsrs r6, r5, #0x10 - asrs r5, r5, #0x10 - cmp r5, #0xf - ble _0802D4B4 - ldr r1, _0802D5C0 @ =0x040000D4 - str r3, [r1] - ldr r0, _0802D5C4 @ =0x050003A0 - str r0, [r1, #4] - ldr r0, _0802D5C8 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] + lsls r5, r6, #0x10 + asrs r5, r5, #0x10 + lsls r0, r5, #1 + mov r8, r0 + adds r6, r0, r5 + ldr r1, _0802D5B8 @ =0x020028A8 + adds r0, r6, r1 + ldrb r4, [r0] + movs r2, #0x1f + subs r0, r2, r4 + mov r3, sb + muls r3, r0, r3 + adds r0, r3, #0 + movs r1, #0x1e + bl __divsi3 + adds r4, r4, r0 + strb r4, [r7] + ldr r0, _0802D5B8 @ =0x020028A8 + adds r0, #1 + adds r0, r6, r0 + ldrb r4, [r0] + movs r1, #0x1f + subs r0, r1, r4 + mov r2, sb + muls r2, r0, r2 + adds r0, r2, #0 + movs r1, #0x1e + bl __divsi3 + adds r4, r4, r0 + strb r4, [r7, #1] + ldr r3, _0802D5BC @ =0x020028AA + adds r6, r6, r3 + ldrb r4, [r6] + movs r1, #0x1f + subs r0, r1, r4 + mov r2, sb + muls r2, r0, r2 + adds r0, r2, #0 + movs r1, #0x1e + bl __divsi3 + adds r4, r4, r0 + strb r4, [r7, #2] + ldr r3, [sp, #0x214] + add r8, r3 + ldrb r1, [r7] + ldrb r0, [r7, #1] + lsls r0, r0, #5 + orrs r1, r0 + ldrb r0, [r7, #2] + lsls r0, r0, #0xa + orrs r1, r0 + mov r4, r8 + strh r1, [r4] + adds r5, #1 + lsls r5, r5, #0x10 + lsrs r6, r5, #0x10 + asrs r5, r5, #0x10 + cmp r5, #0xf + ble _0802D4B4 + ldr r1, _0802D5C0 @ =0x040000D4 + str r3, [r1] + ldr r0, _0802D5C4 @ =0x050003A0 + str r0, [r1, #4] + ldr r0, _0802D5C8 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] _0802D53E: - mov r1, sl - asrs r0, r1, #0x10 - cmp r0, #0xa - bne _0802D54C - movs r0, #0xb0 - bl m4aSongNumStart + mov r1, sl + asrs r0, r1, #0x10 + cmp r0, #0xa + bne _0802D54C + movs r0, #0xb0 + bl m4aSongNumStart _0802D54C: - ldr r1, _0802D5CC @ =0x020314E0 - ldr r3, [r1] - ldr r4, _0802D5D0 @ =0xFFFFFED4 - adds r2, r4, #0 - ldrh r4, [r3, #0x18] - adds r0, r2, r4 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x10 - bhi _0802D582 - movs r0, #0x88 - lsls r0, r0, #5 - adds r1, r3, r0 - movs r0, #1 - strb r0, [r1] - ldr r1, _0802D5CC @ =0x020314E0 - ldr r0, [r1] - ldrh r0, [r0, #0x18] - adds r0, r2, r0 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - ldr r0, _0802D5D4 @ =0x0200B0C0 - ldrh r1, [r0, #0x38] - movs r1, #0x9f - strh r1, [r0, #0x38] - ldrh r1, [r0, #0x3c] - strh r5, [r0, #0x3c] + ldr r1, _0802D5CC @ =0x020314E0 + ldr r3, [r1] + ldr r4, _0802D5D0 @ =0xFFFFFED4 + adds r2, r4, #0 + ldrh r4, [r3, #0x18] + adds r0, r2, r4 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x10 + bhi _0802D582 + movs r0, #0x88 + lsls r0, r0, #5 + adds r1, r3, r0 + movs r0, #1 + strb r0, [r1] + ldr r1, _0802D5CC @ =0x020314E0 + ldr r0, [r1] + ldrh r0, [r0, #0x18] + adds r0, r2, r0 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + ldr r0, _0802D5D4 @ =0x0200B0C0 + ldrh r1, [r0, #0x38] + movs r1, #0x9f + strh r1, [r0, #0x38] + ldrh r1, [r0, #0x3c] + strh r5, [r0, #0x3c] _0802D582: - ldr r2, _0802D5CC @ =0x020314E0 - ldr r0, [r2] - ldrh r2, [r0, #0x18] - cmp r2, #0xa - bhi _0802D58E - b _0802DD32 + ldr r2, _0802D5CC @ =0x020314E0 + ldr r0, [r2] + ldrh r2, [r0, #0x18] + cmp r2, #0xa + bhi _0802D58E + b _0802DD32 _0802D58E: - ldr r1, _0802D5D4 @ =0x0200B0C0 - ldr r0, [r1, #0x44] - ldr r7, [r0, #0x60] - ldr r3, _0802D5D8 @ =0x0000FF88 - adds r0, r2, r3 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x15 - ble _0802D5DC - mov r4, sp - subs r0, #0x16 - movs r1, #0x66 - bl __modsi3 - lsls r1, r0, #1 - adds r1, r1, r0 - subs r1, #0xa0 - strh r1, [r4] - b _0802D5E2 - .align 2, 0 + ldr r1, _0802D5D4 @ =0x0200B0C0 + ldr r0, [r1, #0x44] + ldr r7, [r0, #0x60] + ldr r3, _0802D5D8 @ =0x0000FF88 + adds r0, r2, r3 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x15 + ble _0802D5DC + mov r4, sp + subs r0, #0x16 + movs r1, #0x66 + bl __modsi3 + lsls r1, r0, #1 + adds r1, r1, r0 + subs r1, #0xa0 + strh r1, [r4] + b _0802D5E2 + .align 2, 0 _0802D5B8: .4byte 0x020028A8 _0802D5BC: .4byte 0x020028AA _0802D5C0: .4byte 0x040000D4 @@ -89502,150 +89502,150 @@ _0802D5D0: .4byte 0xFFFFFED4 _0802D5D4: .4byte 0x0200B0C0 _0802D5D8: .4byte 0x0000FF88 _0802D5DC: - mov r1, sp - ldr r0, _0802D604 @ =0x0000FF5E - strh r0, [r1] + mov r1, sp + ldr r0, _0802D604 @ =0x0000FF5E + strh r0, [r1] _0802D5E2: - lsls r0, r5, #0x10 - asrs r1, r0, #0x10 - mov sl, r0 - cmp r1, #0 - blt _0802D608 - mov r4, sp - adds r0, r1, #0 - movs r1, #0x66 - bl __modsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #1 - adds r1, r1, r0 - subs r1, #0xa2 - strh r1, [r4, #2] - b _0802D60E - .align 2, 0 + lsls r0, r5, #0x10 + asrs r1, r0, #0x10 + mov sl, r0 + cmp r1, #0 + blt _0802D608 + mov r4, sp + adds r0, r1, #0 + movs r1, #0x66 + bl __modsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #1 + adds r1, r1, r0 + subs r1, #0xa2 + strh r1, [r4, #2] + b _0802D60E + .align 2, 0 _0802D604: .4byte 0x0000FF5E _0802D608: - mov r1, sp - ldr r0, _0802D62C @ =0x0000FF5E - strh r0, [r1, #2] + mov r1, sp + ldr r0, _0802D62C @ =0x0000FF5E + strh r0, [r1, #2] _0802D60E: - mov r4, sl - asrs r0, r4, #0x10 - cmp r0, #0x47 - ble _0802D630 - mov r4, sp - subs r0, #0x48 - movs r1, #0x66 - bl __modsi3 - lsls r1, r0, #1 - adds r1, r1, r0 - subs r1, #0xa2 - strh r1, [r4, #4] - b _0802D636 - .align 2, 0 + mov r4, sl + asrs r0, r4, #0x10 + cmp r0, #0x47 + ble _0802D630 + mov r4, sp + subs r0, #0x48 + movs r1, #0x66 + bl __modsi3 + lsls r1, r0, #1 + adds r1, r1, r0 + subs r1, #0xa2 + strh r1, [r4, #4] + b _0802D636 + .align 2, 0 _0802D62C: .4byte 0x0000FF5E _0802D630: - mov r1, sp - ldr r0, _0802D654 @ =0x0000FF5E - strh r0, [r1, #4] + mov r1, sp + ldr r0, _0802D654 @ =0x0000FF5E + strh r0, [r1, #4] _0802D636: - mov r1, sl - asrs r0, r1, #0x10 - cmp r0, #0x32 - ble _0802D658 - mov r4, sp - subs r0, #0x33 - movs r1, #0x66 - bl __modsi3 - lsls r1, r0, #1 - adds r1, r1, r0 - subs r1, #0xa1 - strh r1, [r4, #6] - b _0802D65E - .align 2, 0 + mov r1, sl + asrs r0, r1, #0x10 + cmp r0, #0x32 + ble _0802D658 + mov r4, sp + subs r0, #0x33 + movs r1, #0x66 + bl __modsi3 + lsls r1, r0, #1 + adds r1, r1, r0 + subs r1, #0xa1 + strh r1, [r4, #6] + b _0802D65E + .align 2, 0 _0802D654: .4byte 0x0000FF5E _0802D658: - mov r1, sp - ldr r0, _0802D6F8 @ =0x0000FF5F - strh r0, [r1, #6] + mov r1, sp + ldr r0, _0802D6F8 @ =0x0000FF5F + strh r0, [r1, #6] _0802D65E: - ldr r2, _0802D6FC @ =0x020314E0 - ldr r1, [r2] - adds r0, r1, #0 - adds r0, #0x58 - ldrh r2, [r0] - movs r0, #0x60 - subs r0, r0, r2 - strh r0, [r7, #2] - adds r1, #0x5a - ldrh r1, [r1] - movs r3, #0x9a - lsls r3, r3, #1 - adds r0, r3, #0 - subs r0, r0, r1 - strh r0, [r7, #4] - movs r6, #0 - ldr r5, _0802D700 @ =0x03005000 - ldr r4, _0802D704 @ =0xFFFFFE00 - mov r8, r4 + ldr r2, _0802D6FC @ =0x020314E0 + ldr r1, [r2] + adds r0, r1, #0 + adds r0, #0x58 + ldrh r2, [r0] + movs r0, #0x60 + subs r0, r0, r2 + strh r0, [r7, #2] + adds r1, #0x5a + ldrh r1, [r1] + movs r3, #0x9a + lsls r3, r3, #1 + adds r0, r3, #0 + subs r0, r0, r1 + strh r0, [r7, #4] + movs r6, #0 + ldr r5, _0802D700 @ =0x03005000 + ldr r4, _0802D704 @ =0xFFFFFE00 + mov r8, r4 _0802D684: - lsls r3, r6, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r6, r7, r0 - ldrh r4, [r6] - lsls r4, r4, #3 - adds r4, r4, r5 - movs r0, #2 - ldrsh r2, [r7, r0] - lsls r0, r3, #1 - add r0, sp - movs r1, #0 - ldrsh r0, [r0, r1] - adds r2, r2, r0 - ldr r1, _0802D708 @ =0x000001FF - adds r0, r1, #0 - ands r2, r0 - ldrh r1, [r4, #2] - mov r0, r8 - ands r0, r1 - orrs r0, r2 - strh r0, [r4, #2] - ldrh r1, [r6] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r0, [r7, #4] - ldrb r6, [r6, #4] - adds r0, r0, r6 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r6, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #3 - ble _0802D684 - ldr r2, _0802D6FC @ =0x020314E0 - ldr r1, [r2] - ldr r3, _0802D70C @ =0x0000FFC4 - adds r0, r3, #0 - ldrh r1, [r1, #0x18] - adds r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x15 - ble _0802D710 - mov r4, sp - subs r0, #0x16 - movs r1, #0x66 - bl __modsi3 - lsls r1, r0, #1 - adds r1, r1, r0 - subs r1, #0xa0 - strh r1, [r4] - b _0802D716 - .align 2, 0 + lsls r3, r6, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r6, r7, r0 + ldrh r4, [r6] + lsls r4, r4, #3 + adds r4, r4, r5 + movs r0, #2 + ldrsh r2, [r7, r0] + lsls r0, r3, #1 + add r0, sp + movs r1, #0 + ldrsh r0, [r0, r1] + adds r2, r2, r0 + ldr r1, _0802D708 @ =0x000001FF + adds r0, r1, #0 + ands r2, r0 + ldrh r1, [r4, #2] + mov r0, r8 + ands r0, r1 + orrs r0, r2 + strh r0, [r4, #2] + ldrh r1, [r6] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r0, [r7, #4] + ldrb r6, [r6, #4] + adds r0, r0, r6 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r6, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #3 + ble _0802D684 + ldr r2, _0802D6FC @ =0x020314E0 + ldr r1, [r2] + ldr r3, _0802D70C @ =0x0000FFC4 + adds r0, r3, #0 + ldrh r1, [r1, #0x18] + adds r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x15 + ble _0802D710 + mov r4, sp + subs r0, #0x16 + movs r1, #0x66 + bl __modsi3 + lsls r1, r0, #1 + adds r1, r1, r0 + subs r1, #0xa0 + strh r1, [r4] + b _0802D716 + .align 2, 0 _0802D6F8: .4byte 0x0000FF5F _0802D6FC: .4byte 0x020314E0 _0802D700: .4byte 0x03005000 @@ -89653,155 +89653,155 @@ _0802D704: .4byte 0xFFFFFE00 _0802D708: .4byte 0x000001FF _0802D70C: .4byte 0x0000FFC4 _0802D710: - mov r1, sp - ldr r0, _0802D738 @ =0x0000FF5E - strh r0, [r1] + mov r1, sp + ldr r0, _0802D738 @ =0x0000FF5E + strh r0, [r1] _0802D716: - lsls r0, r5, #0x10 - asrs r1, r0, #0x10 - mov sl, r0 - cmp r1, #0 - blt _0802D73C - mov r4, sp - adds r0, r1, #0 - movs r1, #0x66 - bl __modsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #1 - adds r1, r1, r0 - subs r1, #0xa2 - strh r1, [r4, #2] - b _0802D742 - .align 2, 0 + lsls r0, r5, #0x10 + asrs r1, r0, #0x10 + mov sl, r0 + cmp r1, #0 + blt _0802D73C + mov r4, sp + adds r0, r1, #0 + movs r1, #0x66 + bl __modsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #1 + adds r1, r1, r0 + subs r1, #0xa2 + strh r1, [r4, #2] + b _0802D742 + .align 2, 0 _0802D738: .4byte 0x0000FF5E _0802D73C: - mov r1, sp - ldr r0, _0802D760 @ =0x0000FF5E - strh r0, [r1, #2] + mov r1, sp + ldr r0, _0802D760 @ =0x0000FF5E + strh r0, [r1, #2] _0802D742: - mov r4, sl - asrs r0, r4, #0x10 - cmp r0, #0x47 - ble _0802D764 - mov r4, sp - subs r0, #0x48 - movs r1, #0x66 - bl __modsi3 - lsls r1, r0, #1 - adds r1, r1, r0 - subs r1, #0xa2 - strh r1, [r4, #4] - b _0802D76A - .align 2, 0 + mov r4, sl + asrs r0, r4, #0x10 + cmp r0, #0x47 + ble _0802D764 + mov r4, sp + subs r0, #0x48 + movs r1, #0x66 + bl __modsi3 + lsls r1, r0, #1 + adds r1, r1, r0 + subs r1, #0xa2 + strh r1, [r4, #4] + b _0802D76A + .align 2, 0 _0802D760: .4byte 0x0000FF5E _0802D764: - mov r1, sp - ldr r0, _0802D788 @ =0x0000FF5E - strh r0, [r1, #4] + mov r1, sp + ldr r0, _0802D788 @ =0x0000FF5E + strh r0, [r1, #4] _0802D76A: - mov r1, sl - asrs r0, r1, #0x10 - cmp r0, #0x32 - ble _0802D78C - mov r4, sp - subs r0, #0x33 - movs r1, #0x66 - bl __modsi3 - lsls r1, r0, #1 - adds r1, r1, r0 - subs r1, #0xa1 - strh r1, [r4, #6] - b _0802D792 - .align 2, 0 + mov r1, sl + asrs r0, r1, #0x10 + cmp r0, #0x32 + ble _0802D78C + mov r4, sp + subs r0, #0x33 + movs r1, #0x66 + bl __modsi3 + lsls r1, r0, #1 + adds r1, r1, r0 + subs r1, #0xa1 + strh r1, [r4, #6] + b _0802D792 + .align 2, 0 _0802D788: .4byte 0x0000FF5E _0802D78C: - mov r1, sp - ldr r0, _0802D834 @ =0x0000FF5F - strh r0, [r1, #6] + mov r1, sp + ldr r0, _0802D834 @ =0x0000FF5F + strh r0, [r1, #6] _0802D792: - ldr r2, _0802D838 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r7, [r0, #0x64] - ldr r3, _0802D83C @ =0x020314E0 - ldr r1, [r3] - adds r0, r1, #0 - adds r0, #0x58 - ldrh r2, [r0] - movs r0, #0x60 - subs r0, r0, r2 - strh r0, [r7, #2] - adds r1, #0x5a - ldrh r1, [r1] - movs r4, #0x9a - lsls r4, r4, #1 - adds r0, r4, #0 - subs r0, r0, r1 - strh r0, [r7, #4] - movs r6, #0 - ldr r5, _0802D840 @ =0x03005000 - ldr r0, _0802D844 @ =0xFFFFFE00 - mov r8, r0 + ldr r2, _0802D838 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r7, [r0, #0x64] + ldr r3, _0802D83C @ =0x020314E0 + ldr r1, [r3] + adds r0, r1, #0 + adds r0, #0x58 + ldrh r2, [r0] + movs r0, #0x60 + subs r0, r0, r2 + strh r0, [r7, #2] + adds r1, #0x5a + ldrh r1, [r1] + movs r4, #0x9a + lsls r4, r4, #1 + adds r0, r4, #0 + subs r0, r0, r1 + strh r0, [r7, #4] + movs r6, #0 + ldr r5, _0802D840 @ =0x03005000 + ldr r0, _0802D844 @ =0xFFFFFE00 + mov r8, r0 _0802D7BE: - lsls r3, r6, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r6, r7, r0 - ldrh r4, [r6] - lsls r4, r4, #3 - adds r4, r4, r5 - movs r1, #2 - ldrsh r2, [r7, r1] - lsls r0, r3, #1 - add r0, sp - movs r1, #0 - ldrsh r0, [r0, r1] - adds r2, r2, r0 - ldr r1, _0802D848 @ =0x000001FF - adds r0, r1, #0 - ands r2, r0 - ldrh r1, [r4, #2] - mov r0, r8 - ands r0, r1 - orrs r0, r2 - strh r0, [r4, #2] - ldrh r1, [r6] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r0, [r7, #4] - ldrb r6, [r6, #4] - adds r0, r0, r6 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r6, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #3 - ble _0802D7BE - ldr r2, _0802D838 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r7, [r0, #0x68] - ldr r3, _0802D83C @ =0x020314E0 - ldr r1, [r3] - ldr r4, _0802D84C @ =0x0000FF9C - adds r0, r4, #0 - ldrh r1, [r1, #0x18] - adds r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - blt _0802D850 - mov r4, sp - movs r1, #0x98 - bl __modsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0xf - subs r0, #0xa0 - strh r0, [r4] - b _0802D856 - .align 2, 0 + lsls r3, r6, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r6, r7, r0 + ldrh r4, [r6] + lsls r4, r4, #3 + adds r4, r4, r5 + movs r1, #2 + ldrsh r2, [r7, r1] + lsls r0, r3, #1 + add r0, sp + movs r1, #0 + ldrsh r0, [r0, r1] + adds r2, r2, r0 + ldr r1, _0802D848 @ =0x000001FF + adds r0, r1, #0 + ands r2, r0 + ldrh r1, [r4, #2] + mov r0, r8 + ands r0, r1 + orrs r0, r2 + strh r0, [r4, #2] + ldrh r1, [r6] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r0, [r7, #4] + ldrb r6, [r6, #4] + adds r0, r0, r6 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r6, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #3 + ble _0802D7BE + ldr r2, _0802D838 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r7, [r0, #0x68] + ldr r3, _0802D83C @ =0x020314E0 + ldr r1, [r3] + ldr r4, _0802D84C @ =0x0000FF9C + adds r0, r4, #0 + ldrh r1, [r1, #0x18] + adds r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + blt _0802D850 + mov r4, sp + movs r1, #0x98 + bl __modsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0xf + subs r0, #0xa0 + strh r0, [r4] + b _0802D856 + .align 2, 0 _0802D834: .4byte 0x0000FF5F _0802D838: .4byte 0x0200B0C0 _0802D83C: .4byte 0x020314E0 @@ -89810,148 +89810,148 @@ _0802D844: .4byte 0xFFFFFE00 _0802D848: .4byte 0x000001FF _0802D84C: .4byte 0x0000FF9C _0802D850: - mov r1, sp - ldr r0, _0802D874 @ =0x0000FF60 - strh r0, [r1] + mov r1, sp + ldr r0, _0802D874 @ =0x0000FF60 + strh r0, [r1] _0802D856: - lsls r0, r5, #0x10 - asrs r1, r0, #0x10 - mov sl, r0 - cmp r1, #0x25 - ble _0802D878 - mov r4, sp - adds r0, r1, #0 - subs r0, #0x26 - movs r1, #0x98 - bl __modsi3 - lsls r0, r0, #1 - subs r0, #0xa0 - strh r0, [r4, #2] - b _0802D87E - .align 2, 0 + lsls r0, r5, #0x10 + asrs r1, r0, #0x10 + mov sl, r0 + cmp r1, #0x25 + ble _0802D878 + mov r4, sp + adds r0, r1, #0 + subs r0, #0x26 + movs r1, #0x98 + bl __modsi3 + lsls r0, r0, #1 + subs r0, #0xa0 + strh r0, [r4, #2] + b _0802D87E + .align 2, 0 _0802D874: .4byte 0x0000FF60 _0802D878: - mov r1, sp - ldr r0, _0802D898 @ =0x0000FF60 - strh r0, [r1, #2] + mov r1, sp + ldr r0, _0802D898 @ =0x0000FF60 + strh r0, [r1, #2] _0802D87E: - mov r1, sl - asrs r0, r1, #0x10 - cmp r0, #0x4b - ble _0802D89C - mov r4, sp - subs r0, #0x4c - movs r1, #0x98 - bl __modsi3 - lsls r0, r0, #1 - subs r0, #0xa0 - strh r0, [r4, #4] - b _0802D8A2 - .align 2, 0 + mov r1, sl + asrs r0, r1, #0x10 + cmp r0, #0x4b + ble _0802D89C + mov r4, sp + subs r0, #0x4c + movs r1, #0x98 + bl __modsi3 + lsls r0, r0, #1 + subs r0, #0xa0 + strh r0, [r4, #4] + b _0802D8A2 + .align 2, 0 _0802D898: .4byte 0x0000FF60 _0802D89C: - mov r1, sp - ldr r0, _0802D8BC @ =0x0000FF60 - strh r0, [r1, #4] + mov r1, sp + ldr r0, _0802D8BC @ =0x0000FF60 + strh r0, [r1, #4] _0802D8A2: - mov r2, sl - asrs r0, r2, #0x10 - cmp r0, #0x71 - ble _0802D8C0 - mov r4, sp - subs r0, #0x72 - movs r1, #0x98 - bl __modsi3 - lsls r0, r0, #1 - subs r0, #0xa0 - strh r0, [r4, #6] - b _0802D8C6 - .align 2, 0 + mov r2, sl + asrs r0, r2, #0x10 + cmp r0, #0x71 + ble _0802D8C0 + mov r4, sp + subs r0, #0x72 + movs r1, #0x98 + bl __modsi3 + lsls r0, r0, #1 + subs r0, #0xa0 + strh r0, [r4, #6] + b _0802D8C6 + .align 2, 0 _0802D8BC: .4byte 0x0000FF60 _0802D8C0: - mov r1, sp - ldr r0, _0802D964 @ =0x0000FF60 - strh r0, [r1, #6] + mov r1, sp + ldr r0, _0802D964 @ =0x0000FF60 + strh r0, [r1, #6] _0802D8C6: - ldr r3, _0802D968 @ =0x020314E0 - ldr r1, [r3] - adds r0, r1, #0 - adds r0, #0x58 - ldrh r2, [r0] - movs r0, #0x60 - subs r0, r0, r2 - strh r0, [r7, #2] - adds r1, #0x5a - ldrh r1, [r1] - movs r4, #0x9a - lsls r4, r4, #1 - adds r0, r4, #0 - subs r0, r0, r1 - strh r0, [r7, #4] - movs r6, #0 - ldr r5, _0802D96C @ =0x03005000 - ldr r0, _0802D970 @ =0xFFFFFE00 - mov r8, r0 + ldr r3, _0802D968 @ =0x020314E0 + ldr r1, [r3] + adds r0, r1, #0 + adds r0, #0x58 + ldrh r2, [r0] + movs r0, #0x60 + subs r0, r0, r2 + strh r0, [r7, #2] + adds r1, #0x5a + ldrh r1, [r1] + movs r4, #0x9a + lsls r4, r4, #1 + adds r0, r4, #0 + subs r0, r0, r1 + strh r0, [r7, #4] + movs r6, #0 + ldr r5, _0802D96C @ =0x03005000 + ldr r0, _0802D970 @ =0xFFFFFE00 + mov r8, r0 _0802D8EC: - lsls r3, r6, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r6, r7, r0 - ldrh r4, [r6] - lsls r4, r4, #3 - adds r4, r4, r5 - movs r1, #2 - ldrsh r2, [r7, r1] - lsls r0, r3, #1 - add r0, sp - movs r1, #0 - ldrsh r0, [r0, r1] - adds r2, r2, r0 - ldr r1, _0802D974 @ =0x000001FF - adds r0, r1, #0 - ands r2, r0 - ldrh r1, [r4, #2] - mov r0, r8 - ands r0, r1 - orrs r0, r2 - strh r0, [r4, #2] - ldrh r1, [r6] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r0, [r7, #4] - ldrb r6, [r6, #4] - adds r0, r0, r6 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r6, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #3 - ble _0802D8EC - ldr r2, _0802D978 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r7, [r0, #0x6c] - ldr r3, _0802D968 @ =0x020314E0 - ldr r1, [r3] - ldr r4, _0802D97C @ =0x0000FFB0 - adds r0, r4, #0 - ldrh r1, [r1, #0x18] - adds r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - blt _0802D980 - mov r4, sp - movs r1, #0x98 - bl __modsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0xf - subs r0, #0xa0 - strh r0, [r4] - b _0802D986 - .align 2, 0 + lsls r3, r6, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r6, r7, r0 + ldrh r4, [r6] + lsls r4, r4, #3 + adds r4, r4, r5 + movs r1, #2 + ldrsh r2, [r7, r1] + lsls r0, r3, #1 + add r0, sp + movs r1, #0 + ldrsh r0, [r0, r1] + adds r2, r2, r0 + ldr r1, _0802D974 @ =0x000001FF + adds r0, r1, #0 + ands r2, r0 + ldrh r1, [r4, #2] + mov r0, r8 + ands r0, r1 + orrs r0, r2 + strh r0, [r4, #2] + ldrh r1, [r6] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r0, [r7, #4] + ldrb r6, [r6, #4] + adds r0, r0, r6 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r6, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #3 + ble _0802D8EC + ldr r2, _0802D978 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r7, [r0, #0x6c] + ldr r3, _0802D968 @ =0x020314E0 + ldr r1, [r3] + ldr r4, _0802D97C @ =0x0000FFB0 + adds r0, r4, #0 + ldrh r1, [r1, #0x18] + adds r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + blt _0802D980 + mov r4, sp + movs r1, #0x98 + bl __modsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0xf + subs r0, #0xa0 + strh r0, [r4] + b _0802D986 + .align 2, 0 _0802D964: .4byte 0x0000FF60 _0802D968: .4byte 0x020314E0 _0802D96C: .4byte 0x03005000 @@ -89960,145 +89960,145 @@ _0802D974: .4byte 0x000001FF _0802D978: .4byte 0x0200B0C0 _0802D97C: .4byte 0x0000FFB0 _0802D980: - mov r1, sp - ldr r0, _0802D9A4 @ =0x0000FF60 - strh r0, [r1] + mov r1, sp + ldr r0, _0802D9A4 @ =0x0000FF60 + strh r0, [r1] _0802D986: - lsls r0, r5, #0x10 - asrs r1, r0, #0x10 - mov sl, r0 - cmp r1, #0x25 - ble _0802D9A8 - mov r4, sp - adds r0, r1, #0 - subs r0, #0x26 - movs r1, #0x98 - bl __modsi3 - lsls r0, r0, #1 - subs r0, #0xa0 - strh r0, [r4, #2] - b _0802D9AE - .align 2, 0 + lsls r0, r5, #0x10 + asrs r1, r0, #0x10 + mov sl, r0 + cmp r1, #0x25 + ble _0802D9A8 + mov r4, sp + adds r0, r1, #0 + subs r0, #0x26 + movs r1, #0x98 + bl __modsi3 + lsls r0, r0, #1 + subs r0, #0xa0 + strh r0, [r4, #2] + b _0802D9AE + .align 2, 0 _0802D9A4: .4byte 0x0000FF60 _0802D9A8: - mov r1, sp - ldr r0, _0802D9C8 @ =0x0000FF60 - strh r0, [r1, #2] + mov r1, sp + ldr r0, _0802D9C8 @ =0x0000FF60 + strh r0, [r1, #2] _0802D9AE: - mov r1, sl - asrs r0, r1, #0x10 - cmp r0, #0x4b - ble _0802D9CC - mov r4, sp - subs r0, #0x4c - movs r1, #0x98 - bl __modsi3 - lsls r0, r0, #1 - subs r0, #0xa0 - strh r0, [r4, #4] - b _0802D9D2 - .align 2, 0 + mov r1, sl + asrs r0, r1, #0x10 + cmp r0, #0x4b + ble _0802D9CC + mov r4, sp + subs r0, #0x4c + movs r1, #0x98 + bl __modsi3 + lsls r0, r0, #1 + subs r0, #0xa0 + strh r0, [r4, #4] + b _0802D9D2 + .align 2, 0 _0802D9C8: .4byte 0x0000FF60 _0802D9CC: - mov r1, sp - ldr r0, _0802D9EC @ =0x0000FF60 - strh r0, [r1, #4] + mov r1, sp + ldr r0, _0802D9EC @ =0x0000FF60 + strh r0, [r1, #4] _0802D9D2: - mov r2, sl - asrs r0, r2, #0x10 - cmp r0, #0x71 - ble _0802D9F0 - mov r4, sp - subs r0, #0x72 - movs r1, #0x98 - bl __modsi3 - lsls r0, r0, #1 - subs r0, #0xa0 - strh r0, [r4, #6] - b _0802D9F6 - .align 2, 0 + mov r2, sl + asrs r0, r2, #0x10 + cmp r0, #0x71 + ble _0802D9F0 + mov r4, sp + subs r0, #0x72 + movs r1, #0x98 + bl __modsi3 + lsls r0, r0, #1 + subs r0, #0xa0 + strh r0, [r4, #6] + b _0802D9F6 + .align 2, 0 _0802D9EC: .4byte 0x0000FF60 _0802D9F0: - mov r1, sp - ldr r0, _0802DA8C @ =0x0000FF60 - strh r0, [r1, #6] + mov r1, sp + ldr r0, _0802DA8C @ =0x0000FF60 + strh r0, [r1, #6] _0802D9F6: - ldr r3, _0802DA90 @ =0x020314E0 - ldr r1, [r3] - adds r0, r1, #0 - adds r0, #0x58 - ldrh r2, [r0] - movs r0, #0x60 - subs r0, r0, r2 - strh r0, [r7, #2] - adds r1, #0x5a - ldrh r1, [r1] - movs r4, #0x9a - lsls r4, r4, #1 - adds r0, r4, #0 - subs r0, r0, r1 - strh r0, [r7, #4] - movs r6, #0 - ldr r5, _0802DA94 @ =0x03005000 - ldr r0, _0802DA98 @ =0xFFFFFE00 - mov r8, r0 + ldr r3, _0802DA90 @ =0x020314E0 + ldr r1, [r3] + adds r0, r1, #0 + adds r0, #0x58 + ldrh r2, [r0] + movs r0, #0x60 + subs r0, r0, r2 + strh r0, [r7, #2] + adds r1, #0x5a + ldrh r1, [r1] + movs r4, #0x9a + lsls r4, r4, #1 + adds r0, r4, #0 + subs r0, r0, r1 + strh r0, [r7, #4] + movs r6, #0 + ldr r5, _0802DA94 @ =0x03005000 + ldr r0, _0802DA98 @ =0xFFFFFE00 + mov r8, r0 _0802DA1C: - lsls r3, r6, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r6, r7, r0 - ldrh r4, [r6] - lsls r4, r4, #3 - adds r4, r4, r5 - movs r1, #2 - ldrsh r2, [r7, r1] - lsls r0, r3, #1 - add r0, sp - movs r1, #0 - ldrsh r0, [r0, r1] - adds r2, r2, r0 - ldr r1, _0802DA9C @ =0x000001FF - adds r0, r1, #0 - ands r2, r0 - ldrh r1, [r4, #2] - mov r0, r8 - ands r0, r1 - orrs r0, r2 - strh r0, [r4, #2] - ldrh r1, [r6] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r0, [r7, #4] - ldrb r6, [r6, #4] - adds r0, r0, r6 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r6, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #3 - ble _0802DA1C - ldr r2, _0802DA90 @ =0x020314E0 - ldr r1, [r2] - ldr r3, _0802DAA0 @ =0x0000FFA6 - adds r0, r3, #0 - ldrh r1, [r1, #0x18] - adds r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xeb - ble _0802DAA4 - mov r4, sp - subs r0, #0xec - movs r1, #0x88 - lsls r1, r1, #1 - bl __modsi3 - subs r0, #0x80 - strh r0, [r4] - b _0802DAAA - .align 2, 0 + lsls r3, r6, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r6, r7, r0 + ldrh r4, [r6] + lsls r4, r4, #3 + adds r4, r4, r5 + movs r1, #2 + ldrsh r2, [r7, r1] + lsls r0, r3, #1 + add r0, sp + movs r1, #0 + ldrsh r0, [r0, r1] + adds r2, r2, r0 + ldr r1, _0802DA9C @ =0x000001FF + adds r0, r1, #0 + ands r2, r0 + ldrh r1, [r4, #2] + mov r0, r8 + ands r0, r1 + orrs r0, r2 + strh r0, [r4, #2] + ldrh r1, [r6] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r0, [r7, #4] + ldrb r6, [r6, #4] + adds r0, r0, r6 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r6, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #3 + ble _0802DA1C + ldr r2, _0802DA90 @ =0x020314E0 + ldr r1, [r2] + ldr r3, _0802DAA0 @ =0x0000FFA6 + adds r0, r3, #0 + ldrh r1, [r1, #0x18] + adds r0, r0, r1 + lsls r0, r0, #0x10 + lsrs r5, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xeb + ble _0802DAA4 + mov r4, sp + subs r0, #0xec + movs r1, #0x88 + lsls r1, r1, #1 + bl __modsi3 + subs r0, #0x80 + strh r0, [r4] + b _0802DAAA + .align 2, 0 _0802DA8C: .4byte 0x0000FF60 _0802DA90: .4byte 0x020314E0 _0802DA94: .4byte 0x03005000 @@ -90106,244 +90106,244 @@ _0802DA98: .4byte 0xFFFFFE00 _0802DA9C: .4byte 0x000001FF _0802DAA0: .4byte 0x0000FFA6 _0802DAA4: - mov r1, sp - ldr r0, _0802DAC8 @ =0x0000FF80 - strh r0, [r1] + mov r1, sp + ldr r0, _0802DAC8 @ =0x0000FF80 + strh r0, [r1] _0802DAAA: - lsls r0, r5, #0x10 - asrs r1, r0, #0x10 - mov sl, r0 - cmp r1, #0xcb - ble _0802DACC - mov r4, sp - adds r0, r1, #0 - subs r0, #0xcc - movs r1, #0x88 - lsls r1, r1, #1 - bl __modsi3 - subs r0, #0x80 - strh r0, [r4, #2] - b _0802DAD2 - .align 2, 0 + lsls r0, r5, #0x10 + asrs r1, r0, #0x10 + mov sl, r0 + cmp r1, #0xcb + ble _0802DACC + mov r4, sp + adds r0, r1, #0 + subs r0, #0xcc + movs r1, #0x88 + lsls r1, r1, #1 + bl __modsi3 + subs r0, #0x80 + strh r0, [r4, #2] + b _0802DAD2 + .align 2, 0 _0802DAC8: .4byte 0x0000FF80 _0802DACC: - mov r1, sp - ldr r0, _0802DAEC @ =0x0000FF80 - strh r0, [r1, #2] + mov r1, sp + ldr r0, _0802DAEC @ =0x0000FF80 + strh r0, [r1, #2] _0802DAD2: - mov r4, sl - asrs r0, r4, #0x10 - cmp r0, #0xa7 - ble _0802DAF0 - mov r4, sp - subs r0, #0xa8 - movs r1, #0x88 - lsls r1, r1, #1 - bl __modsi3 - subs r0, #0x80 - strh r0, [r4, #4] - b _0802DAF6 - .align 2, 0 + mov r4, sl + asrs r0, r4, #0x10 + cmp r0, #0xa7 + ble _0802DAF0 + mov r4, sp + subs r0, #0xa8 + movs r1, #0x88 + lsls r1, r1, #1 + bl __modsi3 + subs r0, #0x80 + strh r0, [r4, #4] + b _0802DAF6 + .align 2, 0 _0802DAEC: .4byte 0x0000FF80 _0802DAF0: - mov r1, sp - ldr r0, _0802DB10 @ =0x0000FF80 - strh r0, [r1, #4] + mov r1, sp + ldr r0, _0802DB10 @ =0x0000FF80 + strh r0, [r1, #4] _0802DAF6: - mov r1, sl - asrs r0, r1, #0x10 - cmp r0, #0x87 - ble _0802DB14 - mov r4, sp - subs r0, #0x88 - movs r1, #0x88 - lsls r1, r1, #1 - bl __modsi3 - subs r0, #0x80 - strh r0, [r4, #6] - b _0802DB1A - .align 2, 0 + mov r1, sl + asrs r0, r1, #0x10 + cmp r0, #0x87 + ble _0802DB14 + mov r4, sp + subs r0, #0x88 + movs r1, #0x88 + lsls r1, r1, #1 + bl __modsi3 + subs r0, #0x80 + strh r0, [r4, #6] + b _0802DB1A + .align 2, 0 _0802DB10: .4byte 0x0000FF80 _0802DB14: - mov r1, sp - ldr r0, _0802DB34 @ =0x0000FF80 - strh r0, [r1, #6] + mov r1, sp + ldr r0, _0802DB34 @ =0x0000FF80 + strh r0, [r1, #6] _0802DB1A: - mov r2, sl - asrs r0, r2, #0x10 - cmp r0, #0x63 - ble _0802DB38 - mov r4, sp - subs r0, #0x64 - movs r1, #0x88 - lsls r1, r1, #1 - bl __modsi3 - subs r0, #0x80 - strh r0, [r4, #8] - b _0802DB3E - .align 2, 0 + mov r2, sl + asrs r0, r2, #0x10 + cmp r0, #0x63 + ble _0802DB38 + mov r4, sp + subs r0, #0x64 + movs r1, #0x88 + lsls r1, r1, #1 + bl __modsi3 + subs r0, #0x80 + strh r0, [r4, #8] + b _0802DB3E + .align 2, 0 _0802DB34: .4byte 0x0000FF80 _0802DB38: - mov r1, sp - ldr r0, _0802DB58 @ =0x0000FF80 - strh r0, [r1, #8] + mov r1, sp + ldr r0, _0802DB58 @ =0x0000FF80 + strh r0, [r1, #8] _0802DB3E: - mov r3, sl - asrs r0, r3, #0x10 - cmp r0, #0x43 - ble _0802DB5C - mov r4, sp - subs r0, #0x44 - movs r1, #0x88 - lsls r1, r1, #1 - bl __modsi3 - subs r0, #0x80 - strh r0, [r4, #0xa] - b _0802DB62 - .align 2, 0 + mov r3, sl + asrs r0, r3, #0x10 + cmp r0, #0x43 + ble _0802DB5C + mov r4, sp + subs r0, #0x44 + movs r1, #0x88 + lsls r1, r1, #1 + bl __modsi3 + subs r0, #0x80 + strh r0, [r4, #0xa] + b _0802DB62 + .align 2, 0 _0802DB58: .4byte 0x0000FF80 _0802DB5C: - mov r1, sp - ldr r0, _0802DB7C @ =0x0000FF80 - strh r0, [r1, #0xa] + mov r1, sp + ldr r0, _0802DB7C @ =0x0000FF80 + strh r0, [r1, #0xa] _0802DB62: - mov r4, sl - asrs r0, r4, #0x10 - cmp r0, #0x1f - ble _0802DB80 - mov r4, sp - subs r0, #0x20 - movs r1, #0x88 - lsls r1, r1, #1 - bl __modsi3 - subs r0, #0x80 - strh r0, [r4, #0xc] - b _0802DB86 - .align 2, 0 + mov r4, sl + asrs r0, r4, #0x10 + cmp r0, #0x1f + ble _0802DB80 + mov r4, sp + subs r0, #0x20 + movs r1, #0x88 + lsls r1, r1, #1 + bl __modsi3 + subs r0, #0x80 + strh r0, [r4, #0xc] + b _0802DB86 + .align 2, 0 _0802DB7C: .4byte 0x0000FF80 _0802DB80: - mov r1, sp - ldr r0, _0802DBA0 @ =0x0000FF80 - strh r0, [r1, #0xc] + mov r1, sp + ldr r0, _0802DBA0 @ =0x0000FF80 + strh r0, [r1, #0xc] _0802DB86: - mov r1, sl - asrs r0, r1, #0x10 - cmp r0, #0 - blt _0802DBA4 - mov r4, sp - movs r1, #0x88 - lsls r1, r1, #1 - bl __modsi3 - subs r0, #0x80 - strh r0, [r4, #0xe] - b _0802DBAA - .align 2, 0 + mov r1, sl + asrs r0, r1, #0x10 + cmp r0, #0 + blt _0802DBA4 + mov r4, sp + movs r1, #0x88 + lsls r1, r1, #1 + bl __modsi3 + subs r0, #0x80 + strh r0, [r4, #0xe] + b _0802DBAA + .align 2, 0 _0802DBA0: .4byte 0x0000FF80 _0802DBA4: - mov r1, sp - ldr r0, _0802DC74 @ =0x0000FF80 - strh r0, [r1, #0xe] + mov r1, sp + ldr r0, _0802DC74 @ =0x0000FF80 + strh r0, [r1, #0xe] _0802DBAA: - ldr r2, _0802DC78 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r7, [r0, #0x70] - ldr r3, _0802DC7C @ =0x020314E0 - ldr r1, [r3] - adds r0, r1, #0 - adds r0, #0x58 - ldrh r2, [r0] - movs r0, #0x60 - subs r0, r0, r2 - strh r0, [r7, #2] - adds r1, #0x5a - ldrh r1, [r1] - movs r4, #0x9a - lsls r4, r4, #1 - adds r0, r4, #0 - subs r0, r0, r1 - strh r0, [r7, #4] - movs r6, #0 - ldr r5, _0802DC80 @ =0x03005000 - ldr r0, _0802DC84 @ =0xFFFFFE00 - mov r8, r0 + ldr r2, _0802DC78 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r7, [r0, #0x70] + ldr r3, _0802DC7C @ =0x020314E0 + ldr r1, [r3] + adds r0, r1, #0 + adds r0, #0x58 + ldrh r2, [r0] + movs r0, #0x60 + subs r0, r0, r2 + strh r0, [r7, #2] + adds r1, #0x5a + ldrh r1, [r1] + movs r4, #0x9a + lsls r4, r4, #1 + adds r0, r4, #0 + subs r0, r0, r1 + strh r0, [r7, #4] + movs r6, #0 + ldr r5, _0802DC80 @ =0x03005000 + ldr r0, _0802DC84 @ =0xFFFFFE00 + mov r8, r0 _0802DBD6: - lsls r3, r6, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r6, r7, r0 - ldrh r4, [r6] - lsls r4, r4, #3 - adds r4, r4, r5 - movs r1, #2 - ldrsh r2, [r7, r1] - lsls r0, r3, #1 - add r0, sp - movs r1, #0 - ldrsh r0, [r0, r1] - adds r2, r2, r0 - ldr r1, _0802DC88 @ =0x000001FF - adds r0, r1, #0 - ands r2, r0 - ldrh r1, [r4, #2] - mov r0, r8 - ands r0, r1 - orrs r0, r2 - strh r0, [r4, #2] - ldrh r1, [r6] - lsls r1, r1, #3 - adds r1, r1, r5 - ldrb r0, [r7, #4] - ldrb r6, [r6, #4] - adds r0, r0, r6 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r6, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #7 - ble _0802DBD6 - ldr r2, _0802DC78 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r7, [r0, #0x3c] - ldr r3, _0802DC7C @ =0x020314E0 - ldr r2, [r3] - adds r0, r2, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x60 - subs r0, r0, r1 - strh r0, [r7, #2] - adds r0, r2, #0 - adds r0, #0x5a - ldrh r1, [r0] - movs r4, #0x9a - lsls r4, r4, #1 - adds r0, r4, #0 - subs r0, r0, r1 - strh r0, [r7, #4] - ldr r1, _0802DC8C @ =0x0000FF88 - adds r0, r1, #0 - ldrh r2, [r2, #0x18] - adds r0, r0, r2 - lsls r0, r0, #0x10 - asrs r2, r0, #0x10 - cmp r2, #0 - ble _0802DC90 - mov r1, sp - movs r0, #0 - strh r0, [r1] - adds r0, r2, #0 - movs r1, #0x46 - bl __modsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #7 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - b _0802DC98 - .align 2, 0 + lsls r3, r6, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r6, r7, r0 + ldrh r4, [r6] + lsls r4, r4, #3 + adds r4, r4, r5 + movs r1, #2 + ldrsh r2, [r7, r1] + lsls r0, r3, #1 + add r0, sp + movs r1, #0 + ldrsh r0, [r0, r1] + adds r2, r2, r0 + ldr r1, _0802DC88 @ =0x000001FF + adds r0, r1, #0 + ands r2, r0 + ldrh r1, [r4, #2] + mov r0, r8 + ands r0, r1 + orrs r0, r2 + strh r0, [r4, #2] + ldrh r1, [r6] + lsls r1, r1, #3 + adds r1, r1, r5 + ldrb r0, [r7, #4] + ldrb r6, [r6, #4] + adds r0, r0, r6 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r6, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #7 + ble _0802DBD6 + ldr r2, _0802DC78 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r7, [r0, #0x3c] + ldr r3, _0802DC7C @ =0x020314E0 + ldr r2, [r3] + adds r0, r2, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x60 + subs r0, r0, r1 + strh r0, [r7, #2] + adds r0, r2, #0 + adds r0, #0x5a + ldrh r1, [r0] + movs r4, #0x9a + lsls r4, r4, #1 + adds r0, r4, #0 + subs r0, r0, r1 + strh r0, [r7, #4] + ldr r1, _0802DC8C @ =0x0000FF88 + adds r0, r1, #0 + ldrh r2, [r2, #0x18] + adds r0, r0, r2 + lsls r0, r0, #0x10 + asrs r2, r0, #0x10 + cmp r2, #0 + ble _0802DC90 + mov r1, sp + movs r0, #0 + strh r0, [r1] + adds r0, r2, #0 + movs r1, #0x46 + bl __modsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #7 + bl __divsi3 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + b _0802DC98 + .align 2, 0 _0802DC74: .4byte 0x0000FF80 _0802DC78: .4byte 0x0200B0C0 _0802DC7C: .4byte 0x020314E0 @@ -90352,198 +90352,198 @@ _0802DC84: .4byte 0xFFFFFE00 _0802DC88: .4byte 0x000001FF _0802DC8C: .4byte 0x0000FF88 _0802DC90: - mov r1, sp - ldr r0, _0802DE04 @ =0x0000FF60 - strh r0, [r1] - movs r3, #0 + mov r1, sp + ldr r0, _0802DE04 @ =0x0000FF60 + strh r0, [r1] + movs r3, #0 _0802DC98: - movs r6, #0 - lsls r0, r3, #0x10 - ldr r2, _0802DE08 @ =0x03005000 - mov sl, r2 - ldr r3, _0802DE0C @ =0x086B4112 - mov sb, r3 - asrs r1, r0, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - mov r8, r0 - ldr r4, _0802DE10 @ =0xFFFFFE00 - mov ip, r4 + movs r6, #0 + lsls r0, r3, #0x10 + ldr r2, _0802DE08 @ =0x03005000 + mov sl, r2 + ldr r3, _0802DE0C @ =0x086B4112 + mov sb, r3 + asrs r1, r0, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + mov r8, r0 + ldr r4, _0802DE10 @ =0xFFFFFE00 + mov ip, r4 _0802DCB2: - lsls r4, r6, #0x10 - asrs r4, r4, #0x10 - lsls r0, r4, #3 - adds r0, #8 - adds r6, r7, r0 - ldrh r0, [r6] - lsls r0, r0, #3 - mov r1, sl - adds r2, r0, r1 - lsls r1, r4, #1 - adds r1, r1, r4 - lsls r0, r1, #1 - add r0, r8 - add r0, sb - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - add r0, r8 - add r0, sb - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - add r1, r8 - add r1, sb - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r3, [r6] - lsls r3, r3, #3 - add r3, sl - ldrh r5, [r3, #2] - lsls r2, r5, #0x17 - lsrs r2, r2, #0x17 - str r2, [sp, #0x218] - movs r2, #2 - ldrsh r1, [r7, r2] - mov r0, sp - movs r2, #0 - ldrsh r0, [r0, r2] - adds r1, r1, r0 - ldr r0, [sp, #0x218] - adds r2, r0, r1 - ldr r1, _0802DE14 @ =0x000001FF - adds r0, r1, #0 - ands r2, r0 - mov r0, ip - ands r0, r5 - orrs r0, r2 - strh r0, [r3, #2] - ldrh r1, [r6] - lsls r1, r1, #3 - add r1, sl - ldrb r0, [r7, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - adds r4, #1 - lsls r4, r4, #0x10 - lsrs r6, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #3 - ble _0802DCB2 + lsls r4, r6, #0x10 + asrs r4, r4, #0x10 + lsls r0, r4, #3 + adds r0, #8 + adds r6, r7, r0 + ldrh r0, [r6] + lsls r0, r0, #3 + mov r1, sl + adds r2, r0, r1 + lsls r1, r4, #1 + adds r1, r1, r4 + lsls r0, r1, #1 + add r0, r8 + add r0, sb + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + add r0, r8 + add r0, sb + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + add r1, r8 + add r1, sb + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r3, [r6] + lsls r3, r3, #3 + add r3, sl + ldrh r5, [r3, #2] + lsls r2, r5, #0x17 + lsrs r2, r2, #0x17 + str r2, [sp, #0x218] + movs r2, #2 + ldrsh r1, [r7, r2] + mov r0, sp + movs r2, #0 + ldrsh r0, [r0, r2] + adds r1, r1, r0 + ldr r0, [sp, #0x218] + adds r2, r0, r1 + ldr r1, _0802DE14 @ =0x000001FF + adds r0, r1, #0 + ands r2, r0 + mov r0, ip + ands r0, r5 + orrs r0, r2 + strh r0, [r3, #2] + ldrh r1, [r6] + lsls r1, r1, #3 + add r1, sl + ldrb r0, [r7, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + adds r4, #1 + lsls r4, r4, #0x10 + lsrs r6, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #3 + ble _0802DCB2 _0802DD32: - ldr r3, _0802DE18 @ =0x020314E0 - ldr r0, [r3] - ldrh r1, [r0, #0x18] - movs r0, #0xaf - lsls r0, r0, #1 - cmp r1, r0 - bne _0802DD84 - movs r1, #0xf0 - lsls r1, r1, #0x11 - ldr r4, _0802DE1C @ =0x03005C00 - mov sb, r4 - ldr r3, _0802DE14 @ =0x000001FF - ldr r2, _0802DE20 @ =0x0000033F + ldr r3, _0802DE18 @ =0x020314E0 + ldr r0, [r3] + ldrh r1, [r0, #0x18] + movs r0, #0xaf + lsls r0, r0, #1 + cmp r1, r0 + bne _0802DD84 + movs r1, #0xf0 + lsls r1, r1, #0x11 + ldr r4, _0802DE1C @ =0x03005C00 + mov sb, r4 + ldr r3, _0802DE14 @ =0x000001FF + ldr r2, _0802DE20 @ =0x0000033F _0802DD4C: - asrs r0, r1, #0x10 - lsls r1, r0, #1 - adds r1, r1, r4 - strh r3, [r1] - adds r0, #1 - lsls r1, r0, #0x10 - asrs r0, r1, #0x10 - cmp r0, r2 - ble _0802DD4C - ldr r1, _0802DE24 @ =0x040000D4 - mov r0, sb - str r0, [r1] - ldr r0, _0802DE28 @ =0x06002000 - str r0, [r1, #4] - ldr r0, _0802DE2C @ =0x80000400 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r1, _0802DE30 @ =0x0200B0C0 - ldrb r0, [r1, #4] - cmp r0, #1 - bne _0802DD84 - ldr r2, _0802DE18 @ =0x020314E0 - ldr r0, [r2] - movs r3, #0xe0 - lsls r3, r3, #2 - adds r0, r0, r3 - movs r1, #0 - strh r1, [r0] + asrs r0, r1, #0x10 + lsls r1, r0, #1 + adds r1, r1, r4 + strh r3, [r1] + adds r0, #1 + lsls r1, r0, #0x10 + asrs r0, r1, #0x10 + cmp r0, r2 + ble _0802DD4C + ldr r1, _0802DE24 @ =0x040000D4 + mov r0, sb + str r0, [r1] + ldr r0, _0802DE28 @ =0x06002000 + str r0, [r1, #4] + ldr r0, _0802DE2C @ =0x80000400 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r1, _0802DE30 @ =0x0200B0C0 + ldrb r0, [r1, #4] + cmp r0, #1 + bne _0802DD84 + ldr r2, _0802DE18 @ =0x020314E0 + ldr r0, [r2] + movs r3, #0xe0 + lsls r3, r3, #2 + adds r0, r0, r3 + movs r1, #0 + strh r1, [r0] _0802DD84: - ldr r4, _0802DE18 @ =0x020314E0 - ldr r3, [r4] - ldrh r1, [r3, #0x18] - movs r0, #0xb4 - lsls r0, r0, #1 - cmp r1, r0 - beq _0802DD94 - b _0802E052 + ldr r4, _0802DE18 @ =0x020314E0 + ldr r3, [r4] + ldrh r1, [r3, #0x18] + movs r0, #0xb4 + lsls r0, r0, #1 + cmp r1, r0 + beq _0802DD94 + b _0802E052 _0802DD94: - ldr r2, _0802DE30 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x60] - movs r1, #0 - strh r1, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x64] - strh r1, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x68] - strh r1, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x6c] - strh r1, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x70] - strh r1, [r0] - ldr r0, [r2, #0x44] - ldr r0, [r0, #0x3c] - strh r1, [r0] - ldr r1, _0802DE34 @ =0x000005A2 - adds r0, r3, r1 - ldrh r1, [r0] - movs r2, #0xb3 - lsls r2, r2, #3 - adds r0, r3, r2 - strh r1, [r0] - movs r0, #3 - movs r1, #0 - bl sub_1C7F4 - ldr r0, [r4] - adds r0, #0xe4 - movs r1, #0x11 - strb r1, [r0] - ldr r1, _0802DE24 @ =0x040000D4 - ldr r0, _0802DE38 @ =0x083A562C - str r0, [r1] - ldr r0, _0802DE3C @ =0x06015800 - str r0, [r1, #4] - ldr r0, _0802DE40 @ =0x80000C00 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0802DE44 @ =0x083A6E4C - str r0, [r1] - ldr r0, _0802DE48 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _0802DE4C @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, [r4] - ldr r3, _0802DE50 @ =0x000006DB - adds r0, r0, r3 - movs r1, #3 - strb r1, [r0] - b _0802E052 - .align 2, 0 + ldr r2, _0802DE30 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x60] + movs r1, #0 + strh r1, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x64] + strh r1, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x68] + strh r1, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x6c] + strh r1, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x70] + strh r1, [r0] + ldr r0, [r2, #0x44] + ldr r0, [r0, #0x3c] + strh r1, [r0] + ldr r1, _0802DE34 @ =0x000005A2 + adds r0, r3, r1 + ldrh r1, [r0] + movs r2, #0xb3 + lsls r2, r2, #3 + adds r0, r3, r2 + strh r1, [r0] + movs r0, #3 + movs r1, #0 + bl sub_1C7F4 + ldr r0, [r4] + adds r0, #0xe4 + movs r1, #0x11 + strb r1, [r0] + ldr r1, _0802DE24 @ =0x040000D4 + ldr r0, _0802DE38 @ =0x083A562C + str r0, [r1] + ldr r0, _0802DE3C @ =0x06015800 + str r0, [r1, #4] + ldr r0, _0802DE40 @ =0x80000C00 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0802DE44 @ =0x083A6E4C + str r0, [r1] + ldr r0, _0802DE48 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _0802DE4C @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, [r4] + ldr r3, _0802DE50 @ =0x000006DB + adds r0, r0, r3 + movs r1, #3 + strb r1, [r0] + b _0802E052 + .align 2, 0 _0802DE04: .4byte 0x0000FF60 _0802DE08: .4byte 0x03005000 _0802DE0C: .4byte 0x086B4112 @@ -90565,75 +90565,75 @@ _0802DE48: .4byte 0x050003C0 _0802DE4C: .4byte 0x80000010 _0802DE50: .4byte 0x000006DB - thumb_func_start sub_2DE54 + thumb_func_start sub_2DE54 sub_2DE54: @ 0x0802DE54 - ldr r4, _0802DED4 @ =0xFFFFFE98 - adds r0, r3, r4 - lsls r0, r0, #0x10 - asrs r4, r0, #0x10 - cmp r4, #0x40 - bgt _0802DEF0 - cmp r4, #1 - bne _0802DE6A - ldr r0, _0802DED8 @ =0x02032EE0 - bl m4aMPlayStop + ldr r4, _0802DED4 @ =0xFFFFFE98 + adds r0, r3, r4 + lsls r0, r0, #0x10 + asrs r4, r0, #0x10 + cmp r4, #0x40 + bgt _0802DEF0 + cmp r4, #1 + bne _0802DE6A + ldr r0, _0802DED8 @ =0x02032EE0 + bl m4aMPlayStop _0802DE6A: - ldr r5, _0802DEDC @ =0x0200B0C0 - ldrh r0, [r5, #0x38] - movs r0, #0x9f - strh r0, [r5, #0x38] - adds r0, r4, #0 - cmp r4, #0 - bge _0802DE7A - adds r0, r4, #3 + ldr r5, _0802DEDC @ =0x0200B0C0 + ldrh r0, [r5, #0x38] + movs r0, #0x9f + strh r0, [r5, #0x38] + adds r0, r4, #0 + cmp r4, #0 + bge _0802DE7A + adds r0, r4, #3 _0802DE7A: - asrs r0, r0, #2 - movs r1, #0x10 - subs r1, r1, r0 - ldrh r0, [r5, #0x3c] - strh r1, [r5, #0x3c] - cmp r4, #0x20 - bne _0802DEB0 - ldr r0, _0802DEE0 @ =0x020314E0 - ldr r1, [r0] - movs r3, #0xa7 - lsls r3, r3, #2 - adds r2, r1, r3 - movs r0, #0x8c - strh r0, [r2] - ldr r2, _0802DEE4 @ =0x086A3700 - movs r0, #0xb3 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrh r1, [r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r2 - ldrh r0, [r0] - movs r1, #0 - bl sub_528DC + asrs r0, r0, #2 + movs r1, #0x10 + subs r1, r1, r0 + ldrh r0, [r5, #0x3c] + strh r1, [r5, #0x3c] + cmp r4, #0x20 + bne _0802DEB0 + ldr r0, _0802DEE0 @ =0x020314E0 + ldr r1, [r0] + movs r3, #0xa7 + lsls r3, r3, #2 + adds r2, r1, r3 + movs r0, #0x8c + strh r0, [r2] + ldr r2, _0802DEE4 @ =0x086A3700 + movs r0, #0xb3 + lsls r0, r0, #3 + adds r1, r1, r0 + ldrh r1, [r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r2 + ldrh r0, [r0] + movs r1, #0 + bl sub_528DC _0802DEB0: - cmp r4, #0x40 - beq _0802DEB6 - b _0802E052 + cmp r4, #0x40 + beq _0802DEB6 + b _0802E052 _0802DEB6: - ldr r2, _0802DEE0 @ =0x020314E0 - ldr r1, [r2] - ldr r3, _0802DEE8 @ =0x00000604 - adds r2, r1, r3 - movs r0, #0 - strh r0, [r2] - ldr r4, _0802DEEC @ =0x00000603 - adds r1, r1, r4 - strb r0, [r1] - ldr r0, [r5, #0x44] - adds r0, #0x94 - ldr r1, [r0] - movs r0, #1 - strh r0, [r1] - b _0802E052 - .align 2, 0 + ldr r2, _0802DEE0 @ =0x020314E0 + ldr r1, [r2] + ldr r3, _0802DEE8 @ =0x00000604 + adds r2, r1, r3 + movs r0, #0 + strh r0, [r2] + ldr r4, _0802DEEC @ =0x00000603 + adds r1, r1, r4 + strb r0, [r1] + ldr r0, [r5, #0x44] + adds r0, #0x94 + ldr r1, [r0] + movs r0, #1 + strh r0, [r1] + b _0802E052 + .align 2, 0 _0802DED4: .4byte 0xFFFFFE98 _0802DED8: .4byte 0x02032EE0 _0802DEDC: .4byte 0x0200B0C0 @@ -90642,196 +90642,196 @@ _0802DEE4: .4byte 0x086A3700 _0802DEE8: .4byte 0x00000604 _0802DEEC: .4byte 0x00000603 _0802DEF0: - movs r1, #0x88 - lsls r1, r1, #5 - adds r0, r2, r1 - movs r4, #0 - strb r4, [r0] - ldr r2, _0802DF20 @ =0x086AE0D0 - ldr r3, _0802DF24 @ =0x020314E0 - ldr r1, [r3] - ldr r0, _0802DF28 @ =0x00000603 - adds r3, r1, r0 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #1 - adds r0, r0, r2 - movs r2, #0 - ldrsh r0, [r0, r2] - ldr r2, _0802DF2C @ =0x00000604 - adds r1, r1, r2 - ldrh r2, [r1] - cmp r0, r2 - ble _0802DF30 - adds r0, r2, #1 - strh r0, [r1] - b _0802DF80 - .align 2, 0 + movs r1, #0x88 + lsls r1, r1, #5 + adds r0, r2, r1 + movs r4, #0 + strb r4, [r0] + ldr r2, _0802DF20 @ =0x086AE0D0 + ldr r3, _0802DF24 @ =0x020314E0 + ldr r1, [r3] + ldr r0, _0802DF28 @ =0x00000603 + adds r3, r1, r0 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #1 + adds r0, r0, r2 + movs r2, #0 + ldrsh r0, [r0, r2] + ldr r2, _0802DF2C @ =0x00000604 + adds r1, r1, r2 + ldrh r2, [r1] + cmp r0, r2 + ble _0802DF30 + adds r0, r2, #1 + strh r0, [r1] + b _0802DF80 + .align 2, 0 _0802DF20: .4byte 0x086AE0D0 _0802DF24: .4byte 0x020314E0 _0802DF28: .4byte 0x00000603 _0802DF2C: .4byte 0x00000604 _0802DF30: - strh r4, [r1] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r3, _0802E068 @ =0x020314E0 - ldr r0, [r3] - ldr r2, _0802E06C @ =0x00000603 - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xa - ble _0802DF80 - ldr r3, _0802E070 @ =0x0200B0C0 - ldr r0, [r3, #0x44] - adds r0, #0x94 - ldr r0, [r0] - strh r4, [r0] - movs r0, #0xa - strb r0, [r1] - ldr r0, _0802E068 @ =0x020314E0 - 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 r0, [r2] - ldr r3, _0802E078 @ =0x0000111A - adds r0, r0, r3 - str r0, [r1] - ldr r0, _0802E07C @ =0x05000200 - str r0, [r1, #4] - ldr r0, _0802E080 @ =0x800000C0 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, [r2] - adds r0, #0xe4 - movs r1, #0 - strb r1, [r0] + strh r4, [r1] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r3, _0802E068 @ =0x020314E0 + ldr r0, [r3] + ldr r2, _0802E06C @ =0x00000603 + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0xa + ble _0802DF80 + ldr r3, _0802E070 @ =0x0200B0C0 + ldr r0, [r3, #0x44] + adds r0, #0x94 + ldr r0, [r0] + strh r4, [r0] + movs r0, #0xa + strb r0, [r1] + ldr r0, _0802E068 @ =0x020314E0 + 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 r0, [r2] + ldr r3, _0802E078 @ =0x0000111A + adds r0, r0, r3 + str r0, [r1] + ldr r0, _0802E07C @ =0x05000200 + str r0, [r1, #4] + ldr r0, _0802E080 @ =0x800000C0 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, [r2] + adds r0, #0xe4 + movs r1, #0 + strb r1, [r0] _0802DF80: - ldr r4, _0802E068 @ =0x020314E0 - ldr r2, [r4] - ldr r1, _0802E06C @ =0x00000603 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - ldr r4, _0802E070 @ =0x0200B0C0 - ldr r0, [r4, #0x44] - adds r0, #0x94 - ldr r7, [r0] - adds r0, r2, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x60 - subs r0, r0, r1 - strh r0, [r7, #2] - adds r2, #0x5a - ldrh r1, [r2] - movs r2, #0x96 - lsls r2, r2, #1 - adds r0, r2, #0 - subs r0, r0, r1 - strh r0, [r7, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc7 - ble _0802DFC0 - movs r0, #0xc8 - strh r0, [r7, #4] + ldr r4, _0802E068 @ =0x020314E0 + ldr r2, [r4] + ldr r1, _0802E06C @ =0x00000603 + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + ldr r4, _0802E070 @ =0x0200B0C0 + ldr r0, [r4, #0x44] + adds r0, #0x94 + ldr r7, [r0] + adds r0, r2, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x60 + subs r0, r0, r1 + strh r0, [r7, #2] + adds r2, #0x5a + ldrh r1, [r2] + movs r2, #0x96 + lsls r2, r2, #1 + adds r0, r2, #0 + subs r0, r0, r1 + strh r0, [r7, #4] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xc7 + ble _0802DFC0 + movs r0, #0xc8 + strh r0, [r7, #4] _0802DFC0: - movs r6, #0 - lsls r0, r3, #0x10 - ldr r3, _0802E084 @ =0x03005000 - mov sb, r3 - ldr r4, _0802E088 @ =0x086B4E62 - mov r8, r4 - asrs r1, r0, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r5, r0, #3 - ldr r0, _0802E08C @ =0xFFFFFE00 - mov sl, r0 + movs r6, #0 + lsls r0, r3, #0x10 + ldr r3, _0802E084 @ =0x03005000 + mov sb, r3 + ldr r4, _0802E088 @ =0x086B4E62 + mov r8, r4 + asrs r1, r0, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r5, r0, #3 + ldr r0, _0802E08C @ =0xFFFFFE00 + mov sl, r0 _0802DFD8: - lsls r3, r6, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r6, r7, r0 - ldrh r0, [r6] - lsls r0, r0, #3 - mov r1, sb - adds r2, r0, r1 - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - adds r0, r0, r5 - add r0, r8 - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - adds r0, r0, r5 - add r0, r8 - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - adds r1, r1, r5 - add r1, r8 - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r6] - lsls r2, r2, #3 - add r2, sb - ldrh r4, [r2, #2] - lsls r1, r4, #0x17 - lsrs r1, r1, #0x17 - mov ip, r1 - movs r1, #2 - ldrsh r0, [r7, r1] - adds r1, r0, #0 - add r1, ip - ldr r0, _0802E090 @ =0x000001FF - mov ip, r0 - mov r0, ip - ands r1, r0 - mov r0, sl - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r6] - 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 r6, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #3 - ble _0802DFD8 + lsls r3, r6, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r6, r7, r0 + ldrh r0, [r6] + lsls r0, r0, #3 + mov r1, sb + adds r2, r0, r1 + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + adds r0, r0, r5 + add r0, r8 + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + adds r0, r0, r5 + add r0, r8 + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + adds r1, r1, r5 + add r1, r8 + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r6] + lsls r2, r2, #3 + add r2, sb + ldrh r4, [r2, #2] + lsls r1, r4, #0x17 + lsrs r1, r1, #0x17 + mov ip, r1 + movs r1, #2 + ldrsh r0, [r7, r1] + adds r1, r0, #0 + add r1, ip + ldr r0, _0802E090 @ =0x000001FF + mov ip, r0 + mov r0, ip + ands r1, r0 + mov r0, sl + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r6] + 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 r6, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #3 + ble _0802DFD8 _0802E052: - movs r3, #0x88 - 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 - .align 2, 0 + movs r3, #0x88 + 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 + .align 2, 0 _0802E068: .4byte 0x020314E0 _0802E06C: .4byte 0x00000603 _0802E070: .4byte 0x0200B0C0 @@ -90844,60 +90844,60 @@ _0802E088: .4byte 0x086B4E62 _0802E08C: .4byte 0xFFFFFE00 _0802E090: .4byte 0x000001FF - thumb_func_start sub_2E094 + thumb_func_start sub_2E094 sub_2E094: @ 0x0802E094 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - movs r7, #0 - ldr r0, _0802E0FC @ =0x020314E0 - ldr r6, [r0] - ldrh r3, [r6, #0x18] - adds r2, r3, #0 - mov sb, r0 - cmp r2, #0 - bne _0802E180 - ldr r2, _0802E100 @ =0x0200B0C0 - ldr r0, [r2, #0x44] - ldr r1, [r0, #0x40] - movs r0, #1 - strh r0, [r1] - ldr r0, _0802E104 @ =0x0000060C - adds r1, r6, r0 - subs r0, #0x94 - strh r0, [r1] - ldr r3, _0802E108 @ =0x0000060E - adds r1, r6, r3 - ldr r0, _0802E10C @ =0x0000FDA8 - strh r0, [r1] - adds r1, r6, #0 - adds r1, #0xe4 - movs r0, #0x15 - strb r0, [r1] - ldrb r0, [r2, #4] - cmp r0, #0 - bne _0802E130 - ldr r1, _0802E110 @ =0x040000D4 - ldr r0, _0802E114 @ =0x081BCAA4 - str r0, [r1] - ldr r2, _0802E118 @ =0x06015800 - str r2, [r1, #4] - ldr r0, _0802E11C @ =0x80000C00 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0802E120 @ =0x081BE2C4 - str r0, [r1] - ldr r0, _0802E124 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _0802E128 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0802E12C @ =0x08483D8C - b _0802E150 - .align 2, 0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + movs r7, #0 + ldr r0, _0802E0FC @ =0x020314E0 + ldr r6, [r0] + ldrh r3, [r6, #0x18] + adds r2, r3, #0 + mov sb, r0 + cmp r2, #0 + bne _0802E180 + ldr r2, _0802E100 @ =0x0200B0C0 + ldr r0, [r2, #0x44] + ldr r1, [r0, #0x40] + movs r0, #1 + strh r0, [r1] + ldr r0, _0802E104 @ =0x0000060C + adds r1, r6, r0 + subs r0, #0x94 + strh r0, [r1] + ldr r3, _0802E108 @ =0x0000060E + adds r1, r6, r3 + ldr r0, _0802E10C @ =0x0000FDA8 + strh r0, [r1] + adds r1, r6, #0 + adds r1, #0xe4 + movs r0, #0x15 + strb r0, [r1] + ldrb r0, [r2, #4] + cmp r0, #0 + bne _0802E130 + ldr r1, _0802E110 @ =0x040000D4 + ldr r0, _0802E114 @ =0x081BCAA4 + str r0, [r1] + ldr r2, _0802E118 @ =0x06015800 + str r2, [r1, #4] + ldr r0, _0802E11C @ =0x80000C00 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0802E120 @ =0x081BE2C4 + str r0, [r1] + ldr r0, _0802E124 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _0802E128 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0802E12C @ =0x08483D8C + b _0802E150 + .align 2, 0 _0802E0FC: .4byte 0x020314E0 _0802E100: .4byte 0x0200B0C0 _0802E104: .4byte 0x0000060C @@ -90912,30 +90912,30 @@ _0802E124: .4byte 0x050003C0 _0802E128: .4byte 0x80000010 _0802E12C: .4byte 0x08483D8C _0802E130: - ldr r1, _0802E15C @ =0x040000D4 - ldr r0, _0802E160 @ =0x081BE4C4 - str r0, [r1] - ldr r2, _0802E164 @ =0x06015800 - str r2, [r1, #4] - ldr r0, _0802E168 @ =0x80000C00 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0802E16C @ =0x081BFCE4 - str r0, [r1] - ldr r0, _0802E170 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _0802E174 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0802E178 @ =0x08488A0C + ldr r1, _0802E15C @ =0x040000D4 + ldr r0, _0802E160 @ =0x081BE4C4 + str r0, [r1] + ldr r2, _0802E164 @ =0x06015800 + str r2, [r1, #4] + ldr r0, _0802E168 @ =0x80000C00 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0802E16C @ =0x081BFCE4 + str r0, [r1] + ldr r0, _0802E170 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _0802E174 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0802E178 @ =0x08488A0C _0802E150: - str r0, [r1] - str r2, [r1, #4] - ldr r0, _0802E17C @ =0x80000240 - str r0, [r1, #8] - ldr r0, [r1, #8] - b _0802E610 - .align 2, 0 + str r0, [r1] + str r2, [r1, #4] + ldr r0, _0802E17C @ =0x80000240 + str r0, [r1, #8] + ldr r0, [r1, #8] + b _0802E610 + .align 2, 0 _0802E15C: .4byte 0x040000D4 _0802E160: .4byte 0x081BE4C4 _0802E164: .4byte 0x06015800 @@ -90946,77 +90946,77 @@ _0802E174: .4byte 0x80000010 _0802E178: .4byte 0x08488A0C _0802E17C: .4byte 0x80000240 _0802E180: - cmp r2, #0x3b - bhi _0802E234 - ldrh r0, [r6, #0x18] - lsls r0, r0, #0xe - movs r1, #0x3c - bl __divsi3 - adds r4, r0, #0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - adds r0, r4, #0 - bl sub_C74 - adds r1, r0, #0 - mov r6, sb - ldr r5, [r6] - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #5 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r6, _0802E218 @ =0x00004E20 - adds r1, r6, #0 - bl __divsi3 - ldr r7, _0802E21C @ =0x000001E7 - adds r0, r0, r7 - ldr r1, _0802E220 @ =0x0000060C - adds r5, r5, r1 - strh r0, [r5] - adds r0, r4, #0 - bl sub_C24 - mov r2, sb - ldr r4, [r2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #3 - adds r1, r6, #0 - bl __divsi3 - ldr r3, _0802E224 @ =0xFFFFFD8B - adds r0, r0, r3 - ldr r5, _0802E228 @ =0x0000060E - adds r1, r4, r5 - strh r0, [r1] - movs r6, #0xc2 - lsls r6, r6, #3 - adds r1, r4, r6 - ldr r0, _0802E22C @ =0x0000FFEF - strh r0, [r1] - ldr r7, _0802E230 @ =0x00000612 - adds r1, r4, r7 - subs r0, #0xd - strh r0, [r1] - ldrh r0, [r4, #0x18] - movs r1, #3 - ands r1, r0 - lsrs r7, r1, #1 - movs r1, #0xa - bl __umodsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0802E210 - b _0802E4E0 + cmp r2, #0x3b + bhi _0802E234 + ldrh r0, [r6, #0x18] + lsls r0, r0, #0xe + movs r1, #0x3c + bl __divsi3 + adds r4, r0, #0 + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + adds r0, r4, #0 + bl sub_C74 + adds r1, r0, #0 + mov r6, sb + ldr r5, [r6] + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #5 + adds r0, r0, r1 + lsls r0, r0, #2 + ldr r6, _0802E218 @ =0x00004E20 + adds r1, r6, #0 + bl __divsi3 + ldr r7, _0802E21C @ =0x000001E7 + adds r0, r0, r7 + ldr r1, _0802E220 @ =0x0000060C + adds r5, r5, r1 + strh r0, [r5] + adds r0, r4, #0 + bl sub_C24 + mov r2, sb + ldr r4, [r2] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #2 + adds r1, r1, r0 + lsls r0, r1, #4 + subs r0, r0, r1 + lsls r0, r0, #3 + adds r1, r6, #0 + bl __divsi3 + ldr r3, _0802E224 @ =0xFFFFFD8B + adds r0, r0, r3 + ldr r5, _0802E228 @ =0x0000060E + adds r1, r4, r5 + strh r0, [r1] + movs r6, #0xc2 + lsls r6, r6, #3 + adds r1, r4, r6 + ldr r0, _0802E22C @ =0x0000FFEF + strh r0, [r1] + ldr r7, _0802E230 @ =0x00000612 + adds r1, r4, r7 + subs r0, #0xd + strh r0, [r1] + ldrh r0, [r4, #0x18] + movs r1, #3 + ands r1, r0 + lsrs r7, r1, #1 + movs r1, #0xa + bl __umodsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + beq _0802E210 + b _0802E4E0 _0802E210: - movs r0, #0x97 - bl m4aSongNumStart - b _0802E4E0 - .align 2, 0 + movs r0, #0x97 + bl m4aSongNumStart + b _0802E4E0 + .align 2, 0 _0802E218: .4byte 0x00004E20 _0802E21C: .4byte 0x000001E7 _0802E220: .4byte 0x0000060C @@ -91025,205 +91025,205 @@ _0802E228: .4byte 0x0000060E _0802E22C: .4byte 0x0000FFEF _0802E230: .4byte 0x00000612 _0802E234: - cmp r2, #0x59 - bhi _0802E2D0 - adds r0, r3, #0 - subs r0, #0x3c - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xb - bgt _0802E25C - movs r1, #0xc - bl __modsi3 - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - lsrs r0, r0, #0x1f - adds r1, r1, r0 - asrs r1, r1, #1 - adds r1, #2 - lsls r1, r1, #0x10 - lsrs r7, r1, #0x10 - b _0802E278 + cmp r2, #0x59 + bhi _0802E2D0 + adds r0, r3, #0 + subs r0, #0x3c + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xb + bgt _0802E25C + movs r1, #0xc + bl __modsi3 + lsls r0, r0, #0x10 + asrs r1, r0, #0x10 + lsrs r0, r0, #0x1f + adds r1, r1, r0 + asrs r1, r1, #1 + adds r1, #2 + lsls r1, r1, #0x10 + lsrs r7, r1, #0x10 + b _0802E278 _0802E25C: - subs r0, #0xc - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x12 - bl __modsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #3 - bl __divsi3 - adds r0, #2 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 + subs r0, #0xc + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0x12 + bl __modsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #3 + bl __divsi3 + adds r0, #2 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 _0802E278: - ldr r4, _0802E2BC @ =0x020314E0 - ldr r1, [r4] - ldr r0, _0802E2C0 @ =0x00000612 - adds r3, r1, r0 - ldrh r0, [r3] - adds r0, #2 - movs r5, #0 - movs r2, #0 - mov r8, r2 - strh r0, [r3] - ldr r6, _0802E2C4 @ =0x0000060C - adds r2, r1, r6 - adds r6, #4 - adds r0, r1, r6 - ldrh r0, [r0] - ldrh r6, [r2] - adds r0, r0, r6 - strh r0, [r2] - ldr r0, _0802E2C8 @ =0x0000060E - adds r2, r1, r0 - ldrh r0, [r3] - ldrh r3, [r2] - adds r0, r0, r3 - strh r0, [r2] - ldr r6, _0802E2CC @ =0x0000060A - adds r1, r1, r6 - strb r5, [r1] - ldr r0, [r4] - movs r1, #0xc1 - lsls r1, r1, #3 - adds r0, r0, r1 - mov r2, r8 - strh r2, [r0] - b _0802E4E0 - .align 2, 0 + ldr r4, _0802E2BC @ =0x020314E0 + ldr r1, [r4] + ldr r0, _0802E2C0 @ =0x00000612 + adds r3, r1, r0 + ldrh r0, [r3] + adds r0, #2 + movs r5, #0 + movs r2, #0 + mov r8, r2 + strh r0, [r3] + ldr r6, _0802E2C4 @ =0x0000060C + adds r2, r1, r6 + adds r6, #4 + adds r0, r1, r6 + ldrh r0, [r0] + ldrh r6, [r2] + adds r0, r0, r6 + strh r0, [r2] + ldr r0, _0802E2C8 @ =0x0000060E + adds r2, r1, r0 + ldrh r0, [r3] + ldrh r3, [r2] + adds r0, r0, r3 + strh r0, [r2] + ldr r6, _0802E2CC @ =0x0000060A + adds r1, r1, r6 + strb r5, [r1] + ldr r0, [r4] + movs r1, #0xc1 + lsls r1, r1, #3 + adds r0, r0, r1 + mov r2, r8 + strh r2, [r0] + b _0802E4E0 + .align 2, 0 _0802E2BC: .4byte 0x020314E0 _0802E2C0: .4byte 0x00000612 _0802E2C4: .4byte 0x0000060C _0802E2C8: .4byte 0x0000060E _0802E2CC: .4byte 0x0000060A _0802E2D0: - cmp r2, #0xbd - bls _0802E2D6 - b _0802E41C + cmp r2, #0xbd + bls _0802E2D6 + b _0802E41C _0802E2D6: - ldr r2, _0802E300 @ =0x086AE394 - ldr r5, _0802E304 @ =0x0000060A - adds r3, r6, r5 - movs r1, #0 - ldrsb r1, [r3, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r2, #4 - adds r0, r0, r2 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r2, #0xc1 - lsls r2, r2, #3 - adds r1, r6, r2 - ldrh r2, [r1] - cmp r0, r2 - ble _0802E308 - adds r0, r2, #1 - strh r0, [r1] - b _0802E37A - .align 2, 0 + ldr r2, _0802E300 @ =0x086AE394 + ldr r5, _0802E304 @ =0x0000060A + adds r3, r6, r5 + movs r1, #0 + ldrsb r1, [r3, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r2, #4 + adds r0, r0, r2 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r2, #0xc1 + lsls r2, r2, #3 + adds r1, r6, r2 + ldrh r2, [r1] + cmp r0, r2 + ble _0802E308 + adds r0, r2, #1 + strh r0, [r1] + b _0802E37A + .align 2, 0 _0802E300: .4byte 0x086AE394 _0802E304: .4byte 0x0000060A _0802E308: - strh r7, [r1] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - mov r3, sb - ldr r4, [r3] - ldr r6, _0802E3C4 @ =0x0000060A - adds r0, r4, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #7 - bne _0802E366 - ldr r3, _0802E3C8 @ =0x08055A68 - adds r0, r4, #0 - adds r0, #0x32 - movs r2, #0 - ldrsb r2, [r0, r2] - ldr r0, _0802E3CC @ =0x0200B0C0 - ldrb r1, [r0, #4] - lsls r0, r1, #3 - subs r0, r0, r1 - adds r0, r0, r2 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x35 - strb r1, [r0] - mov r7, sb - ldr r1, [r7] - ldr r2, _0802E3D0 @ =0x08137928 - adds r0, r1, #0 - adds r0, #0x35 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r2, _0802E3D4 @ =0x000006D9 - adds r1, r1, r2 - strb r0, [r1] - movs r0, #0 - movs r1, #0 - bl sub_1C7F4 + strh r7, [r1] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + mov r3, sb + ldr r4, [r3] + ldr r6, _0802E3C4 @ =0x0000060A + adds r0, r4, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #7 + bne _0802E366 + ldr r3, _0802E3C8 @ =0x08055A68 + adds r0, r4, #0 + adds r0, #0x32 + movs r2, #0 + ldrsb r2, [r0, r2] + ldr r0, _0802E3CC @ =0x0200B0C0 + ldrb r1, [r0, #4] + lsls r0, r1, #3 + subs r0, r0, r1 + adds r0, r0, r2 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r1, [r0] + adds r0, r4, #0 + adds r0, #0x35 + strb r1, [r0] + mov r7, sb + ldr r1, [r7] + ldr r2, _0802E3D0 @ =0x08137928 + adds r0, r1, #0 + adds r0, #0x35 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + ldr r2, _0802E3D4 @ =0x000006D9 + adds r1, r1, r2 + strb r0, [r1] + movs r0, #0 + movs r1, #0 + bl sub_1C7F4 _0802E366: - mov r3, sb - ldr r1, [r3] - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xb - bne _0802E37A - movs r0, #0xbd - strh r0, [r1, #0x18] + mov r3, sb + ldr r1, [r3] + adds r0, r1, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xb + bne _0802E37A + movs r0, #0xbd + strh r0, [r1, #0x18] _0802E37A: - ldr r2, _0802E3D8 @ =0x086AE394 - ldr r0, _0802E3DC @ =0x020314E0 - ldr r3, [r0] - ldr r5, _0802E3C4 @ =0x0000060A - adds r0, r3, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #1 - adds r0, r2, #2 - adds r0, r1, r0 - ldrh r7, [r0] - adds r2, #4 - adds r1, r1, r2 - movs r6, #0 - ldrsh r0, [r1, r6] - cmp r0, #5 - bne _0802E3B4 - movs r1, #0xc1 - lsls r1, r1, #3 - adds r0, r3, r1 - ldrh r0, [r0] - cmp r0, #1 - bne _0802E3B4 - movs r0, #0x98 - bl m4aSongNumStart + ldr r2, _0802E3D8 @ =0x086AE394 + ldr r0, _0802E3DC @ =0x020314E0 + ldr r3, [r0] + ldr r5, _0802E3C4 @ =0x0000060A + adds r0, r3, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r1, r0, #1 + adds r1, r1, r0 + lsls r1, r1, #1 + adds r0, r2, #2 + adds r0, r1, r0 + ldrh r7, [r0] + adds r2, #4 + adds r1, r1, r2 + movs r6, #0 + ldrsh r0, [r1, r6] + cmp r0, #5 + bne _0802E3B4 + movs r1, #0xc1 + lsls r1, r1, #3 + adds r0, r3, r1 + ldrh r0, [r0] + cmp r0, #1 + bne _0802E3B4 + movs r0, #0x98 + bl m4aSongNumStart _0802E3B4: - cmp r7, #0x10 - bne _0802E3E8 - ldr r0, _0802E3DC @ =0x020314E0 - ldr r0, [r0] - ldr r2, _0802E3E0 @ =0x0000060C - adds r0, r0, r2 - ldr r1, _0802E3E4 @ =0x0000FFB0 - b _0802E3F2 - .align 2, 0 + cmp r7, #0x10 + bne _0802E3E8 + ldr r0, _0802E3DC @ =0x020314E0 + ldr r0, [r0] + ldr r2, _0802E3E0 @ =0x0000060C + adds r0, r0, r2 + ldr r1, _0802E3E4 @ =0x0000FFB0 + b _0802E3F2 + .align 2, 0 _0802E3C4: .4byte 0x0000060A _0802E3C8: .4byte 0x08055A68 _0802E3CC: .4byte 0x0200B0C0 @@ -91234,142 +91234,142 @@ _0802E3DC: .4byte 0x020314E0 _0802E3E0: .4byte 0x0000060C _0802E3E4: .4byte 0x0000FFB0 _0802E3E8: - ldr r0, _0802E40C @ =0x020314E0 - ldr r0, [r0] - ldr r3, _0802E410 @ =0x0000060C - adds r0, r0, r3 - movs r1, #0 + ldr r0, _0802E40C @ =0x020314E0 + ldr r0, [r0] + ldr r3, _0802E410 @ =0x0000060C + adds r0, r0, r3 + movs r1, #0 _0802E3F2: - strh r1, [r0] - ldr r0, _0802E40C @ =0x020314E0 - ldr r1, [r0] - movs r5, #0xc2 - lsls r5, r5, #3 - adds r2, r1, r5 - ldr r0, _0802E414 @ =0x0000FFE8 - strh r0, [r2] - ldr r6, _0802E418 @ =0x00000612 - adds r1, r1, r6 - movs r0, #0xe - strh r0, [r1] - b _0802E4E0 - .align 2, 0 + strh r1, [r0] + ldr r0, _0802E40C @ =0x020314E0 + ldr r1, [r0] + movs r5, #0xc2 + lsls r5, r5, #3 + adds r2, r1, r5 + ldr r0, _0802E414 @ =0x0000FFE8 + strh r0, [r2] + ldr r6, _0802E418 @ =0x00000612 + adds r1, r1, r6 + movs r0, #0xe + strh r0, [r1] + b _0802E4E0 + .align 2, 0 _0802E40C: .4byte 0x020314E0 _0802E410: .4byte 0x0000060C _0802E414: .4byte 0x0000FFE8 _0802E418: .4byte 0x00000612 _0802E41C: - ldr r0, _0802E454 @ =0x000001AD - cmp r2, r0 - bhi _0802E496 - adds r0, r3, #0 - subs r0, #0xbe - lsls r0, r0, #0x10 - asrs r3, r0, #0x10 - cmp r3, #0x17 - bgt _0802E45C - lsls r0, r3, #3 - subs r0, r0, r3 - lsls r0, r0, #1 - rsbs r0, r0, #0 - ldr r7, _0802E458 @ =0x0000060C - adds r1, r6, r7 - strh r0, [r1] - adds r0, r3, #0 - movs r1, #0x18 - bl __modsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0 - bge _0802E44E - adds r0, #3 + ldr r0, _0802E454 @ =0x000001AD + cmp r2, r0 + bhi _0802E496 + adds r0, r3, #0 + subs r0, #0xbe + lsls r0, r0, #0x10 + asrs r3, r0, #0x10 + cmp r3, #0x17 + bgt _0802E45C + lsls r0, r3, #3 + subs r0, r0, r3 + lsls r0, r0, #1 + rsbs r0, r0, #0 + ldr r7, _0802E458 @ =0x0000060C + adds r1, r6, r7 + strh r0, [r1] + adds r0, r3, #0 + movs r1, #0x18 + bl __modsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0 + bge _0802E44E + adds r0, #3 _0802E44E: - asrs r0, r0, #2 - adds r0, #2 - b _0802E48C - .align 2, 0 + asrs r0, r0, #2 + adds r0, #2 + b _0802E48C + .align 2, 0 _0802E454: .4byte 0x000001AD _0802E458: .4byte 0x0000060C _0802E45C: - cmp r3, #0x1d - bgt _0802E46E - movs r7, #0xc - cmp r3, #0x18 - bne _0802E4E0 - movs r0, #0x11 - bl m4aSongNumStart - b _0802E4E0 + cmp r3, #0x1d + bgt _0802E46E + movs r7, #0xc + cmp r3, #0x18 + bne _0802E4E0 + movs r0, #0x11 + bl m4aSongNumStart + b _0802E4E0 _0802E46E: - cmp r3, #0x29 - bgt _0802E492 - adds r0, r3, #0 - subs r0, #0x1e - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0xc - bl __modsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #6 - bl __divsi3 - adds r0, #0xd + cmp r3, #0x29 + bgt _0802E492 + adds r0, r3, #0 + subs r0, #0x1e + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0xc + bl __modsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #6 + bl __divsi3 + adds r0, #0xd _0802E48C: - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - b _0802E4E0 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + b _0802E4E0 _0802E492: - movs r7, #0xf - b _0802E4E0 + movs r7, #0xf + b _0802E4E0 _0802E496: - ldr r0, _0802E4F8 @ =0x000001E9 - cmp r2, r0 - bhi _0802E4E0 - ldrh r0, [r6, #0x18] - movs r1, #3 - ands r0, r1 - lsrs r7, r0, #1 - ldr r0, _0802E4FC @ =0x00000612 - adds r2, r6, r0 - ldrh r0, [r2] - subs r0, #1 - strh r0, [r2] - ldr r3, _0802E500 @ =0x0000060C - adds r1, r6, r3 - movs r5, #0xc2 - lsls r5, r5, #3 - adds r0, r6, r5 - ldrh r0, [r0] - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - subs r5, #2 - adds r1, r6, r5 - ldrh r0, [r2] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - ldrh r0, [r6, #0x18] - movs r1, #0xa - bl __umodsi3 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0802E4E0 - movs r0, #0x97 - bl m4aSongNumStart + ldr r0, _0802E4F8 @ =0x000001E9 + cmp r2, r0 + bhi _0802E4E0 + ldrh r0, [r6, #0x18] + movs r1, #3 + ands r0, r1 + lsrs r7, r0, #1 + ldr r0, _0802E4FC @ =0x00000612 + adds r2, r6, r0 + ldrh r0, [r2] + subs r0, #1 + strh r0, [r2] + ldr r3, _0802E500 @ =0x0000060C + adds r1, r6, r3 + movs r5, #0xc2 + lsls r5, r5, #3 + adds r0, r6, r5 + ldrh r0, [r0] + ldrh r3, [r1] + adds r0, r0, r3 + strh r0, [r1] + subs r5, #2 + adds r1, r6, r5 + ldrh r0, [r2] + ldrh r2, [r1] + adds r0, r0, r2 + strh r0, [r1] + ldrh r0, [r6, #0x18] + movs r1, #0xa + bl __umodsi3 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0802E4E0 + movs r0, #0x97 + bl m4aSongNumStart _0802E4E0: - ldr r0, _0802E504 @ =0x0200B0C0 - ldrb r1, [r0, #4] - cmp r1, #0 - bne _0802E510 - ldr r2, _0802E508 @ =0x040000D4 - lsls r1, r7, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _0802E50C @ =0x08483D8C - b _0802E51E - .align 2, 0 + ldr r0, _0802E504 @ =0x0200B0C0 + ldrb r1, [r0, #4] + cmp r1, #0 + bne _0802E510 + ldr r2, _0802E508 @ =0x040000D4 + lsls r1, r7, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _0802E50C @ =0x08483D8C + b _0802E51E + .align 2, 0 _0802E4F8: .4byte 0x000001E9 _0802E4FC: .4byte 0x00000612 _0802E500: .4byte 0x0000060C @@ -91377,160 +91377,160 @@ _0802E504: .4byte 0x0200B0C0 _0802E508: .4byte 0x040000D4 _0802E50C: .4byte 0x08483D8C _0802E510: - ldr r2, _0802E640 @ =0x040000D4 - lsls r1, r7, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _0802E644 @ =0x08488A0C + ldr r2, _0802E640 @ =0x040000D4 + lsls r1, r7, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _0802E644 @ =0x08488A0C _0802E51E: - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802E648 @ =0x06015800 - str r0, [r2, #4] - ldr r0, _0802E64C @ =0x80000240 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r2, _0802E650 @ =0x086AE394 - ldr r5, _0802E654 @ =0x020314E0 - ldr r4, [r5] - ldr r3, _0802E658 @ =0x0000060A - adds r0, r4, r3 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r7, [r0] - ldr r6, _0802E65C @ =0x0200B0C0 - ldr r0, [r6, #0x44] - ldr r6, [r0, #0x40] - ldr r1, _0802E660 @ =0x0000060C - adds r0, r4, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r1, #0xa - bl __divsi3 - adds r0, #0x60 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r3, _0802E664 @ =0x0000060E - adds r0, r4, r3 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #0xa - bl __divsi3 - movs r2, #0x96 - lsls r2, r2, #1 - adds r0, r0, r2 - adds r4, #0x5a - ldrh r1, [r4] - subs r0, r0, r1 - strh r0, [r6, #4] - movs r2, #0 - mov sb, r5 - ldr r3, _0802E668 @ =0x03005000 - mov r8, r3 - ldr r5, _0802E66C @ =0x086B3FE6 - mov ip, r5 - lsls r1, r7, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #2 - str r0, [sp] - ldr r7, _0802E670 @ =0xFFFFFE00 - mov sl, r7 + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802E648 @ =0x06015800 + str r0, [r2, #4] + ldr r0, _0802E64C @ =0x80000240 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r2, _0802E650 @ =0x086AE394 + ldr r5, _0802E654 @ =0x020314E0 + ldr r4, [r5] + ldr r3, _0802E658 @ =0x0000060A + adds r0, r4, r3 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r7, [r0] + ldr r6, _0802E65C @ =0x0200B0C0 + ldr r0, [r6, #0x44] + ldr r6, [r0, #0x40] + ldr r1, _0802E660 @ =0x0000060C + adds r0, r4, r1 + movs r2, #0 + ldrsh r0, [r0, r2] + movs r1, #0xa + bl __divsi3 + adds r0, #0x60 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r3, _0802E664 @ =0x0000060E + adds r0, r4, r3 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r1, #0xa + bl __divsi3 + movs r2, #0x96 + lsls r2, r2, #1 + adds r0, r0, r2 + adds r4, #0x5a + ldrh r1, [r4] + subs r0, r0, r1 + strh r0, [r6, #4] + movs r2, #0 + mov sb, r5 + ldr r3, _0802E668 @ =0x03005000 + mov r8, r3 + ldr r5, _0802E66C @ =0x086B3FE6 + mov ip, r5 + lsls r1, r7, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #2 + str r0, [sp] + ldr r7, _0802E670 @ =0xFFFFFE00 + mov sl, r7 _0802E59C: - lsls r3, r2, #0x10 - asrs r3, r3, #0x10 - lsls r4, r3, #3 - adds r4, #8 - adds r4, r6, r4 - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, r8 - lsls r1, r3, #1 - adds r1, r1, r3 - lsls r0, r1, #1 - ldr r5, [sp] - adds r0, r0, r5 - add r0, ip - ldrh r0, [r0] - strh r0, [r2] - adds r2, #2 - adds r0, r1, #1 - lsls r0, r0, #1 - adds r0, r0, r5 - add r0, ip - ldrh r0, [r0] - strh r0, [r2] - adds r1, #2 - lsls r1, r1, #1 - adds r1, r1, r5 - add r1, ip - ldrh r0, [r1] - strh r0, [r2, #2] - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, r8 - ldrh r5, [r2, #2] - lsls r1, r5, #0x17 - lsrs r1, r1, #0x17 - movs r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _0802E674 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, sl - ands r0, r5 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, r8 - ldrb r0, [r6, #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 _0802E59C + lsls r3, r2, #0x10 + asrs r3, r3, #0x10 + lsls r4, r3, #3 + adds r4, #8 + adds r4, r6, r4 + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, r8 + lsls r1, r3, #1 + adds r1, r1, r3 + lsls r0, r1, #1 + ldr r5, [sp] + adds r0, r0, r5 + add r0, ip + ldrh r0, [r0] + strh r0, [r2] + adds r2, #2 + adds r0, r1, #1 + lsls r0, r0, #1 + adds r0, r0, r5 + add r0, ip + ldrh r0, [r0] + strh r0, [r2] + adds r1, #2 + lsls r1, r1, #1 + adds r1, r1, r5 + add r1, ip + ldrh r0, [r1] + strh r0, [r2, #2] + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, r8 + ldrh r5, [r2, #2] + lsls r1, r5, #0x17 + lsrs r1, r1, #0x17 + movs r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _0802E674 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, sl + ands r0, r5 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, r8 + ldrb r0, [r6, #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 _0802E59C _0802E610: - mov r3, sb - ldr r4, [r3] - ldrh r1, [r4, #0x18] - ldr r0, _0802E678 @ =0x000001E9 - cmp r1, r0 - bne _0802E62E - ldr r5, _0802E65C @ =0x0200B0C0 - ldr r0, [r5, #0x44] - ldr r1, [r0, #0x40] - movs r2, #0 - movs r0, #0 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xe4 - strb r2, [r0] + mov r3, sb + ldr r4, [r3] + ldrh r1, [r4, #0x18] + ldr r0, _0802E678 @ =0x000001E9 + cmp r1, r0 + bne _0802E62E + ldr r5, _0802E65C @ =0x0200B0C0 + ldr r0, [r5, #0x44] + ldr r1, [r0, #0x40] + movs r2, #0 + movs r0, #0 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xe4 + strb r2, [r0] _0802E62E: - 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 + 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 _0802E640: .4byte 0x040000D4 _0802E644: .4byte 0x08488A0C _0802E648: .4byte 0x06015800 @@ -91547,526 +91547,526 @@ _0802E670: .4byte 0xFFFFFE00 _0802E674: .4byte 0x000001FF _0802E678: .4byte 0x000001E9 - thumb_func_start sub_2E67C + thumb_func_start sub_2E67C sub_2E67C: @ 0x0802E67C - ldr r0, _0802E6A0 @ =0x020314E0 - ldr r1, [r0] - ldr r0, _0802E6A4 @ =0x00000306 - adds r3, r1, r0 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #1 - bne _0802E6AA - movs r0, #0xc3 - lsls r0, r0, #2 - adds r2, r1, r0 - ldrh r0, [r2] - adds r1, r0, #0 - cmp r1, #0 - beq _0802E6A8 - subs r0, #1 - strh r0, [r2] - b _0802E6AA - .align 2, 0 + ldr r0, _0802E6A0 @ =0x020314E0 + ldr r1, [r0] + ldr r0, _0802E6A4 @ =0x00000306 + adds r3, r1, r0 + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #1 + bne _0802E6AA + movs r0, #0xc3 + lsls r0, r0, #2 + adds r2, r1, r0 + ldrh r0, [r2] + adds r1, r0, #0 + cmp r1, #0 + beq _0802E6A8 + subs r0, #1 + strh r0, [r2] + b _0802E6AA + .align 2, 0 _0802E6A0: .4byte 0x020314E0 _0802E6A4: .4byte 0x00000306 _0802E6A8: - strb r1, [r3] + strb r1, [r3] _0802E6AA: - bx lr + bx lr - thumb_func_start sub_2E6AC + thumb_func_start sub_2E6AC sub_2E6AC: @ 0x0802E6AC - 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 r1, _0802E6E0 @ =0x020314E0 - ldr r0, [r1] - ldr r2, _0802E6E4 @ =0x00000306 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xa - bls _0802E6D6 - bl _0802EFFC + 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 r1, _0802E6E0 @ =0x020314E0 + ldr r0, [r1] + ldr r2, _0802E6E4 @ =0x00000306 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xa + bls _0802E6D6 + bl _0802EFFC _0802E6D6: - lsls r0, r0, #2 - ldr r1, _0802E6E8 @ =_0802E6EC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0802E6E8 @ =_0802E6EC + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0802E6E0: .4byte 0x020314E0 _0802E6E4: .4byte 0x00000306 _0802E6E8: .4byte _0802E6EC _0802E6EC: @ jump table - .4byte _0802E718 @ case 0 - .4byte _0802E75C @ case 1 - .4byte _0802E7CC @ case 2 - .4byte _0802E7D4 @ case 3 - .4byte _0802E8DC @ case 4 - .4byte _0802E99C @ case 5 - .4byte _0802EB2C @ case 6 - .4byte _0802EBE4 @ case 7 - .4byte _0802EC40 @ case 8 - .4byte _0802EEF8 @ case 9 - .4byte _0802EFDC @ case 10 + .4byte _0802E718 @ case 0 + .4byte _0802E75C @ case 1 + .4byte _0802E7CC @ case 2 + .4byte _0802E7D4 @ case 3 + .4byte _0802E8DC @ case 4 + .4byte _0802E99C @ case 5 + .4byte _0802EB2C @ case 6 + .4byte _0802EBE4 @ case 7 + .4byte _0802EC40 @ case 8 + .4byte _0802EEF8 @ case 9 + .4byte _0802EFDC @ case 10 _0802E718: - ldr r3, _0802E750 @ =0x020314E0 - ldr r4, [r3] - ldr r5, _0802E754 @ =0x0000030E - adds r0, r4, r5 - movs r5, #0 - strh r5, [r0] - movs r7, #0xa4 - lsls r7, r7, #2 - adds r0, r4, r7 - ldr r0, [r0] - movs r1, #0x32 - bl __umodsi3 - movs r1, #0x19 - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sl, r0 - movs r1, #0xc8 - lsls r1, r1, #2 - adds r0, r4, r1 - strh r5, [r0] - ldr r2, _0802E758 @ =0x00000322 - adds r4, r4, r2 - strh r5, [r4] - bl _0802EFFC - .align 2, 0 + ldr r3, _0802E750 @ =0x020314E0 + ldr r4, [r3] + ldr r5, _0802E754 @ =0x0000030E + adds r0, r4, r5 + movs r5, #0 + strh r5, [r0] + movs r7, #0xa4 + lsls r7, r7, #2 + adds r0, r4, r7 + ldr r0, [r0] + movs r1, #0x32 + bl __umodsi3 + movs r1, #0x19 + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov sl, r0 + movs r1, #0xc8 + lsls r1, r1, #2 + adds r0, r4, r1 + strh r5, [r0] + ldr r2, _0802E758 @ =0x00000322 + adds r4, r4, r2 + strh r5, [r4] + bl _0802EFFC + .align 2, 0 _0802E750: .4byte 0x020314E0 _0802E754: .4byte 0x0000030E _0802E758: .4byte 0x00000322 _0802E75C: - ldr r5, _0802E7B8 @ =0x086AE45A - ldr r3, _0802E7BC @ =0x020314E0 - ldr r4, [r3] - movs r7, #0xa4 - lsls r7, r7, #2 - adds r0, r4, r7 - ldr r0, [r0] - movs r1, #0x28 - bl __umodsi3 - movs r1, #0xa - bl __udivsi3 - lsls r0, r0, #1 - adds r0, r0, r5 - ldrh r0, [r0] - mov sl, r0 - movs r1, #0xc8 - lsls r1, r1, #2 - adds r0, r4, r1 - movs r2, #0 - movs r1, #0 - strh r1, [r0] - ldr r3, _0802E7C0 @ =0x00000322 - adds r0, r4, r3 - strh r1, [r0] - ldr r5, _0802E7C4 @ =0x00000307 - adds r4, r4, r5 - strb r2, [r4] - ldr r7, _0802E7BC @ =0x020314E0 - ldr r3, [r7] - ldr r4, _0802E7C8 @ =0x0000030A - adds r0, r3, r4 - strh r1, [r0] - movs r0, #0x13 - ldrsb r0, [r3, r0] - cmp r0, #2 - bgt _0802E7AC - bl _0802EFFC + ldr r5, _0802E7B8 @ =0x086AE45A + ldr r3, _0802E7BC @ =0x020314E0 + ldr r4, [r3] + movs r7, #0xa4 + lsls r7, r7, #2 + adds r0, r4, r7 + ldr r0, [r0] + movs r1, #0x28 + bl __umodsi3 + movs r1, #0xa + bl __udivsi3 + lsls r0, r0, #1 + adds r0, r0, r5 + ldrh r0, [r0] + mov sl, r0 + movs r1, #0xc8 + lsls r1, r1, #2 + adds r0, r4, r1 + movs r2, #0 + movs r1, #0 + strh r1, [r0] + ldr r3, _0802E7C0 @ =0x00000322 + adds r0, r4, r3 + strh r1, [r0] + ldr r5, _0802E7C4 @ =0x00000307 + adds r4, r4, r5 + strb r2, [r4] + ldr r7, _0802E7BC @ =0x020314E0 + ldr r3, [r7] + ldr r4, _0802E7C8 @ =0x0000030A + adds r0, r3, r4 + strh r1, [r0] + movs r0, #0x13 + ldrsb r0, [r3, r0] + cmp r0, #2 + bgt _0802E7AC + bl _0802EFFC _0802E7AC: - subs r5, #1 - adds r0, r3, r5 - strb r2, [r0] - mov sl, r1 - bl _0802EFFC - .align 2, 0 + subs r5, #1 + adds r0, r3, r5 + strb r2, [r0] + mov sl, r1 + bl _0802EFFC + .align 2, 0 _0802E7B8: .4byte 0x086AE45A _0802E7BC: .4byte 0x020314E0 _0802E7C0: .4byte 0x00000322 _0802E7C4: .4byte 0x00000307 _0802E7C8: .4byte 0x0000030A _0802E7CC: - movs r7, #4 - mov sl, r7 - bl _0802EFFC + movs r7, #4 + mov sl, r7 + bl _0802EFFC _0802E7D4: - ldr r0, _0802E83C @ =0x020314E0 - ldr r1, [r0] - movs r4, #0xc3 - lsls r4, r4, #2 - adds r0, r1, r4 - ldrh r2, [r0] - cmp r2, #2 - bhi _0802E84C - cmp r2, #0 - bne _0802E81A - ldr r3, _0802E840 @ =0x000005F7 - adds r0, r1, r3 - movs r1, #1 - strb r1, [r0] - ldr r5, _0802E83C @ =0x020314E0 - ldr r0, [r5] - strb r1, [r0, #0x1f] - ldr r0, [r5] - ldr r7, _0802E844 @ =0x0000132C - adds r0, r0, r7 - ldr r1, [r0] - strh r2, [r1, #0x30] - ldr r1, [r0] - strh r2, [r1, #0x32] - ldr r0, [r0] - strh r2, [r0, #6] - movs r0, #0xe2 - bl m4aSongNumStart - movs r0, #7 - bl sub_11B0 - ldr r1, [r5] - ldr r0, _0802E848 @ =0x000186A0 - str r0, [r1, #0x3c] + ldr r0, _0802E83C @ =0x020314E0 + ldr r1, [r0] + movs r4, #0xc3 + lsls r4, r4, #2 + adds r0, r1, r4 + ldrh r2, [r0] + cmp r2, #2 + bhi _0802E84C + cmp r2, #0 + bne _0802E81A + ldr r3, _0802E840 @ =0x000005F7 + adds r0, r1, r3 + movs r1, #1 + strb r1, [r0] + ldr r5, _0802E83C @ =0x020314E0 + ldr r0, [r5] + strb r1, [r0, #0x1f] + ldr r0, [r5] + ldr r7, _0802E844 @ =0x0000132C + adds r0, r0, r7 + ldr r1, [r0] + strh r2, [r1, #0x30] + ldr r1, [r0] + strh r2, [r1, #0x32] + ldr r0, [r0] + strh r2, [r0, #6] + movs r0, #0xe2 + bl m4aSongNumStart + movs r0, #7 + bl sub_11B0 + ldr r1, [r5] + ldr r0, _0802E848 @ =0x000186A0 + str r0, [r1, #0x3c] _0802E81A: - ldr r0, _0802E83C @ =0x020314E0 - ldr r1, [r0] - ldr r2, _0802E844 @ =0x0000132C - adds r3, r1, r2 - ldr r2, [r3] - movs r0, #0x9c - strh r0, [r2, #0x10] - ldr r2, [r3] - adds r1, r1, r4 - ldrh r0, [r1] - lsls r0, r0, #1 - adds r0, #0x79 - strh r0, [r2, #0x12] - movs r3, #4 - mov sl, r3 - b _0802E886 - .align 2, 0 + ldr r0, _0802E83C @ =0x020314E0 + ldr r1, [r0] + ldr r2, _0802E844 @ =0x0000132C + adds r3, r1, r2 + ldr r2, [r3] + movs r0, #0x9c + strh r0, [r2, #0x10] + ldr r2, [r3] + adds r1, r1, r4 + ldrh r0, [r1] + lsls r0, r0, #1 + adds r0, #0x79 + strh r0, [r2, #0x12] + movs r3, #4 + mov sl, r3 + b _0802E886 + .align 2, 0 _0802E83C: .4byte 0x020314E0 _0802E840: .4byte 0x000005F7 _0802E844: .4byte 0x0000132C _0802E848: .4byte 0x000186A0 _0802E84C: - cmp r2, #0x16 - bhi _0802E870 - ldr r4, _0802E86C @ =0x0000132C - adds r1, r1, r4 - ldr r2, [r1] - movs r0, #0x9d - strh r0, [r2, #0x10] - ldr r2, [r1] - movs r0, #0x86 - strh r0, [r2, #0x12] - ldr r1, [r1] - movs r0, #1 - strb r0, [r1] - movs r5, #5 - mov sl, r5 - b _0802E886 - .align 2, 0 + cmp r2, #0x16 + bhi _0802E870 + ldr r4, _0802E86C @ =0x0000132C + adds r1, r1, r4 + ldr r2, [r1] + movs r0, #0x9d + strh r0, [r2, #0x10] + ldr r2, [r1] + movs r0, #0x86 + strh r0, [r2, #0x12] + ldr r1, [r1] + movs r0, #1 + strb r0, [r1] + movs r5, #5 + mov sl, r5 + b _0802E886 + .align 2, 0 _0802E86C: .4byte 0x0000132C _0802E870: - ldr r7, _0802E8D0 @ =0x00000306 - adds r1, r1, r7 - movs r2, #0 - movs r0, #4 - strb r0, [r1] - ldr r1, _0802E8D4 @ =0x020314E0 - ldr r0, [r1] - adds r0, r0, r4 - strh r2, [r0] - movs r2, #2 - mov sl, r2 + ldr r7, _0802E8D0 @ =0x00000306 + adds r1, r1, r7 + movs r2, #0 + movs r0, #4 + strb r0, [r1] + ldr r1, _0802E8D4 @ =0x020314E0 + ldr r0, [r1] + adds r0, r0, r4 + strh r2, [r0] + movs r2, #2 + mov sl, r2 _0802E886: - ldr r4, _0802E8D4 @ =0x020314E0 - ldr r3, [r4] - ldr r5, _0802E8D8 @ =0x0000132C - adds r2, r3, r5 - ldr r1, [r2] - movs r7, #0x10 - ldrsh r0, [r1, r7] - lsls r0, r0, #1 - movs r4, #0 - strh r0, [r1, #0x28] - ldr r1, [r2] - movs r5, #0x12 - ldrsh r0, [r1, r5] - lsls r0, r0, #1 - strh r0, [r1, #0x2a] - ldr r1, [r2] - movs r7, #0x10 - ldrsh r0, [r1, r7] - lsls r0, r0, #8 - str r0, [r1, #0x34] - ldr r1, [r2] - movs r2, #0x12 - ldrsh r0, [r1, r2] - lsls r0, r0, #8 - str r0, [r1, #0x38] - movs r5, #0xc3 - lsls r5, r5, #2 - adds r1, r3, r5 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - movs r7, #0xc4 - lsls r7, r7, #2 - adds r3, r3, r7 - strh r4, [r3] - b _0802EFFC - .align 2, 0 + ldr r4, _0802E8D4 @ =0x020314E0 + ldr r3, [r4] + ldr r5, _0802E8D8 @ =0x0000132C + adds r2, r3, r5 + ldr r1, [r2] + movs r7, #0x10 + ldrsh r0, [r1, r7] + lsls r0, r0, #1 + movs r4, #0 + strh r0, [r1, #0x28] + ldr r1, [r2] + movs r5, #0x12 + ldrsh r0, [r1, r5] + lsls r0, r0, #1 + strh r0, [r1, #0x2a] + ldr r1, [r2] + movs r7, #0x10 + ldrsh r0, [r1, r7] + lsls r0, r0, #8 + str r0, [r1, #0x34] + ldr r1, [r2] + movs r2, #0x12 + ldrsh r0, [r1, r2] + lsls r0, r0, #8 + str r0, [r1, #0x38] + movs r5, #0xc3 + lsls r5, r5, #2 + adds r1, r3, r5 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + movs r7, #0xc4 + lsls r7, r7, #2 + adds r3, r3, r7 + strh r4, [r3] + b _0802EFFC + .align 2, 0 _0802E8D0: .4byte 0x00000306 _0802E8D4: .4byte 0x020314E0 _0802E8D8: .4byte 0x0000132C _0802E8DC: - ldr r2, _0802E908 @ =0x086AE3DC - ldr r5, _0802E90C @ =0x020314E0 - ldr r3, [r5] - ldr r6, _0802E910 @ =0x00000307 - adds r4, r3, r6 - movs r1, #0 - ldrsb r1, [r4, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r2, #4 - adds r0, r0, r2 - movs r1, #0 - ldrsh r0, [r0, r1] - ldr r2, _0802E914 @ =0x0000030A - adds r3, r3, r2 - ldrh r1, [r3] - cmp r0, r1 - ble _0802E918 - adds r0, r1, #1 - strh r0, [r3] - b _0802E95C - .align 2, 0 + ldr r2, _0802E908 @ =0x086AE3DC + ldr r5, _0802E90C @ =0x020314E0 + ldr r3, [r5] + ldr r6, _0802E910 @ =0x00000307 + adds r4, r3, r6 + movs r1, #0 + ldrsb r1, [r4, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r2, #4 + adds r0, r0, r2 + movs r1, #0 + ldrsh r0, [r0, r1] + ldr r2, _0802E914 @ =0x0000030A + adds r3, r3, r2 + ldrh r1, [r3] + cmp r0, r1 + ble _0802E918 + adds r0, r1, #1 + strh r0, [r3] + b _0802E95C + .align 2, 0 _0802E908: .4byte 0x086AE3DC _0802E90C: .4byte 0x020314E0 _0802E910: .4byte 0x00000307 _0802E914: .4byte 0x0000030A _0802E918: - movs r2, #0 - strh r2, [r3] - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - ldr r0, [r5] - ldr r3, _0802E98C @ =0x00000307 - adds r1, r0, r3 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x15 - bne _0802E948 - movs r0, #0x14 - strb r0, [r1] - ldr r0, [r5] - ldr r4, _0802E990 @ =0x00000306 - adds r0, r0, r4 - movs r1, #5 - strb r1, [r0] - ldr r0, [r5] - movs r7, #0xc3 - lsls r7, r7, #2 - adds r0, r0, r7 - strh r2, [r0] + movs r2, #0 + strh r2, [r3] + ldrb r0, [r4] + adds r0, #1 + strb r0, [r4] + ldr r0, [r5] + ldr r3, _0802E98C @ =0x00000307 + adds r1, r0, r3 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x15 + bne _0802E948 + movs r0, #0x14 + strb r0, [r1] + ldr r0, [r5] + ldr r4, _0802E990 @ =0x00000306 + adds r0, r0, r4 + movs r1, #5 + strb r1, [r0] + ldr r0, [r5] + movs r7, #0xc3 + lsls r7, r7, #2 + adds r0, r0, r7 + strh r2, [r0] _0802E948: - ldr r0, [r5] - adds r0, r0, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _0802E95C - movs r0, #0xe3 - bl m4aSongNumStart + ldr r0, [r5] + adds r0, r0, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _0802E95C + movs r0, #0xe3 + bl m4aSongNumStart _0802E95C: - ldr r2, _0802E994 @ =0x086AE3DC - ldr r0, _0802E998 @ =0x020314E0 - ldr r3, [r0] - ldr r1, _0802E98C @ =0x00000307 - adds r0, r3, r1 - 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, #2 - adds r0, r0, r2 - ldrh r0, [r0] - mov sl, r0 - movs r2, #0xc4 - lsls r2, r2, #2 - adds r3, r3, r2 - ldrh r0, [r3] - adds r1, r0, #1 - strh r1, [r3] - b _0802EB06 - .align 2, 0 + ldr r2, _0802E994 @ =0x086AE3DC + ldr r0, _0802E998 @ =0x020314E0 + ldr r3, [r0] + ldr r1, _0802E98C @ =0x00000307 + adds r0, r3, r1 + 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, #2 + adds r0, r0, r2 + ldrh r0, [r0] + mov sl, r0 + movs r2, #0xc4 + lsls r2, r2, #2 + adds r3, r3, r2 + ldrh r0, [r3] + adds r1, r0, #1 + strh r1, [r3] + b _0802EB06 + .align 2, 0 _0802E98C: .4byte 0x00000307 _0802E990: .4byte 0x00000306 _0802E994: .4byte 0x086AE3DC _0802E998: .4byte 0x020314E0 _0802E99C: - ldr r3, _0802EABC @ =0x020314E0 - ldr r2, [r3] - movs r4, #0xc3 - lsls r4, r4, #2 - adds r0, r2, r4 - ldrh r0, [r0] - cmp r0, #0 - bne _0802E9BE - movs r5, #0xc8 - lsls r5, r5, #2 - adds r1, r2, r5 - ldr r0, _0802EAC0 @ =0x0000FE98 - strh r0, [r1] - ldr r7, _0802EAC4 @ =0x00000322 - adds r1, r2, r7 - adds r0, #0xa0 - strh r0, [r1] + ldr r3, _0802EABC @ =0x020314E0 + ldr r2, [r3] + movs r4, #0xc3 + lsls r4, r4, #2 + adds r0, r2, r4 + ldrh r0, [r0] + cmp r0, #0 + bne _0802E9BE + movs r5, #0xc8 + lsls r5, r5, #2 + adds r1, r2, r5 + ldr r0, _0802EAC0 @ =0x0000FE98 + strh r0, [r1] + ldr r7, _0802EAC4 @ =0x00000322 + adds r1, r2, r7 + adds r0, #0xa0 + strh r0, [r1] _0802E9BE: - ldr r0, _0802EABC @ =0x020314E0 - ldr r7, [r0] - movs r1, #0xc3 - lsls r1, r1, #2 - adds r1, r1, r7 - mov sb, r1 - ldrh r0, [r1] - movs r1, #0x1a - bl __umodsi3 - ldr r2, _0802EAC8 @ =0x08137CBC - ldr r1, _0802EACC @ =0x0000FFFE - ands r0, r1 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov sl, r1 - adds r2, #1 - adds r0, r0, r2 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r2, _0802EAD0 @ =0x0000030E - adds r1, r7, r2 - strh r0, [r1] - movs r3, #0xc7 - lsls r3, r3, #2 - adds r2, r7, r3 - ldr r4, _0802EAD4 @ =0x0000FFF4 - mov r8, r4 - mov r5, r8 - strh r5, [r2] - ldr r0, _0802EAD8 @ =0x0000031E - adds r3, r7, r0 - ldr r0, _0802EADC @ =0x0000FFF6 - strh r0, [r3] - movs r4, #0xc8 - lsls r4, r4, #2 - adds r1, r7, r4 - ldrh r0, [r2] - ldrh r5, [r1] - adds r0, r0, r5 - strh r0, [r1] - ldr r0, _0802EAC4 @ =0x00000322 - adds r5, r7, r0 - ldrh r0, [r3] - ldrh r2, [r5] - adds r0, r0, r2 - strh r0, [r5] - ldr r3, _0802EAE0 @ =0x0000132C - adds r4, r7, r3 - ldr r6, [r4] - movs r2, #0 - ldrsh r0, [r1, r2] - movs r1, #0xa - bl __divsi3 - adds r0, #0x9d - strh r0, [r6, #0x10] - ldr r6, [r4] - movs r3, #0 - ldrsh r0, [r5, r3] - movs r1, #0xa - bl __divsi3 - adds r0, #0x86 - strh r0, [r6, #0x12] - ldr r1, [r4] - movs r5, #0x10 - ldrsh r0, [r1, r5] - 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] - movs r5, #0x12 - ldrsh r0, [r1, r5] - lsls r0, r0, #8 - str r0, [r1, #0x38] - mov r1, sb - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - ldr r0, [r4] - movs r2, #0x12 - ldrsh r0, [r0, r2] - mov r3, r8 - lsls r3, r3, #0x10 - asrs r3, r3, #0x10 - mov r8, r3 - cmp r0, r8 - bge _0802EAF6 - movs r4, #0xc2 - lsls r4, r4, #2 - adds r1, r7, r4 - ldrh r0, [r1] - cmp r0, #0x63 - bls _0802EAE8 - movs r5, #0 - strh r5, [r1] - ldr r0, _0802EAE4 @ =0x00000306 - adds r1, r7, r0 - movs r0, #6 - strb r0, [r1] - ldr r1, _0802EABC @ =0x020314E0 - ldr r0, [r1] - movs r2, #0xc3 - lsls r2, r2, #2 - adds r0, r0, r2 - movs r1, #0x41 - strh r1, [r0] - bl m4aMPlayAllStop - b _0802EAF6 - .align 2, 0 + ldr r0, _0802EABC @ =0x020314E0 + ldr r7, [r0] + movs r1, #0xc3 + lsls r1, r1, #2 + adds r1, r1, r7 + mov sb, r1 + ldrh r0, [r1] + movs r1, #0x1a + bl __umodsi3 + ldr r2, _0802EAC8 @ =0x08137CBC + ldr r1, _0802EACC @ =0x0000FFFE + ands r0, r1 + adds r1, r0, r2 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + mov sl, r1 + adds r2, #1 + adds r0, r0, r2 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #1 + ldr r2, _0802EAD0 @ =0x0000030E + adds r1, r7, r2 + strh r0, [r1] + movs r3, #0xc7 + lsls r3, r3, #2 + adds r2, r7, r3 + ldr r4, _0802EAD4 @ =0x0000FFF4 + mov r8, r4 + mov r5, r8 + strh r5, [r2] + ldr r0, _0802EAD8 @ =0x0000031E + adds r3, r7, r0 + ldr r0, _0802EADC @ =0x0000FFF6 + strh r0, [r3] + movs r4, #0xc8 + lsls r4, r4, #2 + adds r1, r7, r4 + ldrh r0, [r2] + ldrh r5, [r1] + adds r0, r0, r5 + strh r0, [r1] + ldr r0, _0802EAC4 @ =0x00000322 + adds r5, r7, r0 + ldrh r0, [r3] + ldrh r2, [r5] + adds r0, r0, r2 + strh r0, [r5] + ldr r3, _0802EAE0 @ =0x0000132C + adds r4, r7, r3 + ldr r6, [r4] + movs r2, #0 + ldrsh r0, [r1, r2] + movs r1, #0xa + bl __divsi3 + adds r0, #0x9d + strh r0, [r6, #0x10] + ldr r6, [r4] + movs r3, #0 + ldrsh r0, [r5, r3] + movs r1, #0xa + bl __divsi3 + adds r0, #0x86 + strh r0, [r6, #0x12] + ldr r1, [r4] + movs r5, #0x10 + ldrsh r0, [r1, r5] + 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] + movs r5, #0x12 + ldrsh r0, [r1, r5] + lsls r0, r0, #8 + str r0, [r1, #0x38] + mov r1, sb + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + ldr r0, [r4] + movs r2, #0x12 + ldrsh r0, [r0, r2] + mov r3, r8 + lsls r3, r3, #0x10 + asrs r3, r3, #0x10 + mov r8, r3 + cmp r0, r8 + bge _0802EAF6 + movs r4, #0xc2 + lsls r4, r4, #2 + adds r1, r7, r4 + ldrh r0, [r1] + cmp r0, #0x63 + bls _0802EAE8 + movs r5, #0 + strh r5, [r1] + ldr r0, _0802EAE4 @ =0x00000306 + adds r1, r7, r0 + movs r0, #6 + strb r0, [r1] + ldr r1, _0802EABC @ =0x020314E0 + ldr r0, [r1] + movs r2, #0xc3 + lsls r2, r2, #2 + adds r0, r0, r2 + movs r1, #0x41 + strh r1, [r0] + bl m4aMPlayAllStop + b _0802EAF6 + .align 2, 0 _0802EABC: .4byte 0x020314E0 _0802EAC0: .4byte 0x0000FE98 _0802EAC4: .4byte 0x00000322 @@ -92079,118 +92079,118 @@ _0802EADC: .4byte 0x0000FFF6 _0802EAE0: .4byte 0x0000132C _0802EAE4: .4byte 0x00000306 _0802EAE8: - movs r4, #0 - mov r3, sb - strh r4, [r3] - ldr r5, _0802EB24 @ =0x00000306 - adds r1, r7, r5 - movs r0, #7 - strb r0, [r1] + movs r4, #0 + mov r3, sb + strh r4, [r3] + ldr r5, _0802EB24 @ =0x00000306 + adds r1, r7, r5 + movs r0, #7 + strb r0, [r1] _0802EAF6: - ldr r0, _0802EB28 @ =0x020314E0 - ldr r1, [r0] - movs r7, #0xc4 - lsls r7, r7, #2 - adds r1, r1, r7 - ldrh r0, [r1] - adds r2, r0, #1 - strh r2, [r1] + ldr r0, _0802EB28 @ =0x020314E0 + ldr r1, [r0] + movs r7, #0xc4 + lsls r7, r7, #2 + adds r1, r1, r7 + ldrh r0, [r1] + adds r2, r0, #1 + strh r2, [r1] _0802EB06: - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x23 - bl __modsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x22 - beq _0802EB1A - b _0802EFFC + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0x23 + bl __modsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x22 + beq _0802EB1A + b _0802EFFC _0802EB1A: - movs r0, #0xe3 - bl m4aSongNumStart - b _0802EFFC - .align 2, 0 + movs r0, #0xe3 + bl m4aSongNumStart + b _0802EFFC + .align 2, 0 _0802EB24: .4byte 0x00000306 _0802EB28: .4byte 0x020314E0 _0802EB2C: - ldr r1, _0802EBC4 @ =0x020314E0 - ldr r0, [r1] - movs r2, #0x88 - lsls r2, r2, #5 - adds r0, r0, r2 - movs r1, #1 - strb r1, [r0] - ldr r0, _0802EBC8 @ =0x08137CBC - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sl, r0 - ldr r3, _0802EBC4 @ =0x020314E0 - ldr r0, [r3] - movs r5, #0xc3 - lsls r5, r5, #2 - adds r0, r0, r5 - ldrh r0, [r0] - cmp r0, #0x41 - bne _0802EB66 - movs r0, #0x9f - bl m4aSongNumStart - ldr r0, _0802EBCC @ =0x0200B0C0 - ldrh r1, [r0, #0x38] - movs r1, #0x9e - strh r1, [r0, #0x38] + ldr r1, _0802EBC4 @ =0x020314E0 + ldr r0, [r1] + movs r2, #0x88 + lsls r2, r2, #5 + adds r0, r0, r2 + movs r1, #1 + strb r1, [r0] + ldr r0, _0802EBC8 @ =0x08137CBC + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov sl, r0 + ldr r3, _0802EBC4 @ =0x020314E0 + ldr r0, [r3] + movs r5, #0xc3 + lsls r5, r5, #2 + adds r0, r0, r5 + ldrh r0, [r0] + cmp r0, #0x41 + bne _0802EB66 + movs r0, #0x9f + bl m4aSongNumStart + ldr r0, _0802EBCC @ =0x0200B0C0 + ldrh r1, [r0, #0x38] + movs r1, #0x9e + strh r1, [r0, #0x38] _0802EB66: - ldr r7, _0802EBC4 @ =0x020314E0 - ldr r4, [r7] - adds r3, r4, r5 - ldrh r0, [r3] - cmp r0, #0 - bne _0802EB74 - b _0802EFFC + ldr r7, _0802EBC4 @ =0x020314E0 + ldr r4, [r7] + adds r3, r4, r5 + ldrh r0, [r3] + cmp r0, #0 + bne _0802EB74 + b _0802EFFC _0802EB74: - subs r0, #1 - strh r0, [r3] - ldr r2, _0802EBCC @ =0x0200B0C0 - ldrh r0, [r3] - lsrs r0, r0, #2 - movs r1, #0x10 - subs r1, r1, r0 - ldrh r0, [r2, #0x3c] - strh r1, [r2, #0x3c] - ldrh r0, [r3] - cmp r0, #0 - beq _0802EB8E - b _0802EFFC + subs r0, #1 + strh r0, [r3] + ldr r2, _0802EBCC @ =0x0200B0C0 + ldrh r0, [r3] + lsrs r0, r0, #2 + movs r1, #0x10 + subs r1, r1, r0 + ldrh r0, [r2, #0x3c] + strh r1, [r2, #0x3c] + ldrh r0, [r3] + cmp r0, #0 + beq _0802EB8E + b _0802EFFC _0802EB8E: - movs r0, #0xa1 - lsls r0, r0, #2 - adds r1, r4, r0 - movs r0, #7 - strb r0, [r1] - ldr r0, [r7] - ldr r1, _0802EBD0 @ =0x00000282 - adds r0, r0, r1 - movs r1, #2 - strb r1, [r0] - ldr r0, [r7] - ldr r2, _0802EBD4 @ =0x0000072E - adds r1, r0, r2 - ldrb r1, [r1] - ldr r3, _0802EBD8 @ =0x0000073C - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r7] - ldr r4, _0802EBDC @ =0x0000072F - adds r1, r0, r4 - ldrb r1, [r1] - ldr r5, _0802EBE0 @ =0x0000073D - adds r0, r0, r5 - strb r1, [r0] - bl sub_1C73C - b _0802EFFC - .align 2, 0 + movs r0, #0xa1 + lsls r0, r0, #2 + adds r1, r4, r0 + movs r0, #7 + strb r0, [r1] + ldr r0, [r7] + ldr r1, _0802EBD0 @ =0x00000282 + adds r0, r0, r1 + movs r1, #2 + strb r1, [r0] + ldr r0, [r7] + ldr r2, _0802EBD4 @ =0x0000072E + adds r1, r0, r2 + ldrb r1, [r1] + ldr r3, _0802EBD8 @ =0x0000073C + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r7] + ldr r4, _0802EBDC @ =0x0000072F + adds r1, r0, r4 + ldrb r1, [r1] + ldr r5, _0802EBE0 @ =0x0000073D + adds r0, r0, r5 + strb r1, [r0] + bl sub_1C73C + b _0802EFFC + .align 2, 0 _0802EBC4: .4byte 0x020314E0 _0802EBC8: .4byte 0x08137CBC _0802EBCC: .4byte 0x0200B0C0 @@ -92200,40 +92200,40 @@ _0802EBD8: .4byte 0x0000073C _0802EBDC: .4byte 0x0000072F _0802EBE0: .4byte 0x0000073D _0802EBE4: - ldr r7, _0802EC28 @ =0x020314E0 - ldr r1, [r7] - movs r0, #0xc8 - lsls r0, r0, #2 - adds r2, r1, r0 - movs r3, #0 - ldr r0, _0802EC2C @ =0x0000F8A8 - strh r0, [r2] - ldr r4, _0802EC30 @ =0x00000322 - adds r2, r1, r4 - ldr r0, _0802EC34 @ =0x0000FCE0 - strh r0, [r2] - movs r5, #0xc7 - lsls r5, r5, #2 - adds r2, r1, r5 - movs r0, #0x52 - strh r0, [r2] - ldr r7, _0802EC38 @ =0x0000031E - adds r0, r1, r7 - strh r3, [r0] - movs r2, #0xc3 - lsls r2, r2, #2 - adds r0, r1, r2 - strh r3, [r0] - ldr r3, _0802EC3C @ =0x00000306 - adds r1, r1, r3 - movs r0, #8 - strb r0, [r1] - movs r4, #0xd - mov sl, r4 - movs r5, #9 - str r5, [sp] - b _0802EFFC - .align 2, 0 + ldr r7, _0802EC28 @ =0x020314E0 + ldr r1, [r7] + movs r0, #0xc8 + lsls r0, r0, #2 + adds r2, r1, r0 + movs r3, #0 + ldr r0, _0802EC2C @ =0x0000F8A8 + strh r0, [r2] + ldr r4, _0802EC30 @ =0x00000322 + adds r2, r1, r4 + ldr r0, _0802EC34 @ =0x0000FCE0 + strh r0, [r2] + movs r5, #0xc7 + lsls r5, r5, #2 + adds r2, r1, r5 + movs r0, #0x52 + strh r0, [r2] + ldr r7, _0802EC38 @ =0x0000031E + adds r0, r1, r7 + strh r3, [r0] + movs r2, #0xc3 + lsls r2, r2, #2 + adds r0, r1, r2 + strh r3, [r0] + ldr r3, _0802EC3C @ =0x00000306 + adds r1, r1, r3 + movs r0, #8 + strb r0, [r1] + movs r4, #0xd + mov sl, r4 + movs r5, #9 + str r5, [sp] + b _0802EFFC + .align 2, 0 _0802EC28: .4byte 0x020314E0 _0802EC2C: .4byte 0x0000F8A8 _0802EC30: .4byte 0x00000322 @@ -92241,215 +92241,215 @@ _0802EC34: .4byte 0x0000FCE0 _0802EC38: .4byte 0x0000031E _0802EC3C: .4byte 0x00000306 _0802EC40: - ldr r6, _0802ECCC @ =0x020314E0 - ldr r0, [r6] - movs r5, #0xc3 - lsls r5, r5, #2 - adds r0, r0, r5 - ldrh r4, [r0] - adds r0, r4, #0 - movs r1, #0x18 - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #6 - bl __udivsi3 - adds r0, #0xd - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sl, r0 - lsls r4, r4, #0x1a - lsrs r4, r4, #0x10 - adds r0, r4, #0 - bl sub_C24 - adds r1, r0, #0 - ldr r4, [r6] - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #4 - ldr r1, _0802ECD0 @ =0x00004E20 - bl __divsi3 - ldr r7, _0802ECD4 @ =0x0000030E - adds r1, r4, r7 - movs r7, #0 - strh r0, [r1] - adds r4, r4, r5 - ldrh r0, [r4] - cmp r0, #0 - bne _0802EC9A - movs r0, #0xe4 - bl m4aSongNumStart + ldr r6, _0802ECCC @ =0x020314E0 + ldr r0, [r6] + movs r5, #0xc3 + lsls r5, r5, #2 + adds r0, r0, r5 + ldrh r4, [r0] + adds r0, r4, #0 + movs r1, #0x18 + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r1, #6 + bl __udivsi3 + adds r0, #0xd + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + mov sl, r0 + lsls r4, r4, #0x1a + lsrs r4, r4, #0x10 + adds r0, r4, #0 + bl sub_C24 + adds r1, r0, #0 + ldr r4, [r6] + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #4 + subs r0, r0, r1 + lsls r0, r0, #4 + ldr r1, _0802ECD0 @ =0x00004E20 + bl __divsi3 + ldr r7, _0802ECD4 @ =0x0000030E + adds r1, r4, r7 + movs r7, #0 + strh r0, [r1] + adds r4, r4, r5 + ldrh r0, [r4] + cmp r0, #0 + bne _0802EC9A + movs r0, #0xe4 + bl m4aSongNumStart _0802EC9A: - ldr r2, [r6] - adds r1, r2, r5 - ldrh r0, [r1] - cmp r0, #0x27 - bhi _0802ECE0 - movs r0, #0xc8 - lsls r0, r0, #2 - adds r1, r2, r0 - movs r3, #0xc7 - lsls r3, r3, #2 - adds r0, r2, r3 - ldrh r0, [r0] - ldrh r4, [r1] - adds r0, r0, r4 - strh r0, [r1] - ldr r5, _0802ECD8 @ =0x00000322 - adds r1, r2, r5 - ldr r7, _0802ECDC @ =0x0000031E - adds r0, r2, r7 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - b _0802ED14 - .align 2, 0 + ldr r2, [r6] + adds r1, r2, r5 + ldrh r0, [r1] + cmp r0, #0x27 + bhi _0802ECE0 + movs r0, #0xc8 + lsls r0, r0, #2 + adds r1, r2, r0 + movs r3, #0xc7 + lsls r3, r3, #2 + adds r0, r2, r3 + ldrh r0, [r0] + ldrh r4, [r1] + adds r0, r0, r4 + strh r0, [r1] + ldr r5, _0802ECD8 @ =0x00000322 + adds r1, r2, r5 + ldr r7, _0802ECDC @ =0x0000031E + adds r0, r2, r7 + ldrh r0, [r0] + ldrh r2, [r1] + adds r0, r0, r2 + strh r0, [r1] + b _0802ED14 + .align 2, 0 _0802ECCC: .4byte 0x020314E0 _0802ECD0: .4byte 0x00004E20 _0802ECD4: .4byte 0x0000030E _0802ECD8: .4byte 0x00000322 _0802ECDC: .4byte 0x0000031E _0802ECE0: - cmp r0, #0x45 - bls _0802ED14 - strh r7, [r1] - ldr r3, _0802EDF4 @ =0x00000306 - adds r1, r2, r3 - movs r0, #9 - strb r0, [r1] - ldr r1, [r6] - movs r4, #0xc8 - lsls r4, r4, #2 - adds r2, r1, r4 - movs r0, #0x96 - lsls r0, r0, #3 - strh r0, [r2] - ldr r5, _0802EDF8 @ =0x00000322 - adds r1, r1, r5 - ldr r0, _0802EDFC @ =0x0000FC18 - strh r0, [r1] - movs r0, #0xe3 - bl m4aSongNumStart - ldr r0, [r6] - movs r1, #0xc4 - lsls r1, r1, #2 - adds r0, r0, r1 - strh r7, [r0] + cmp r0, #0x45 + bls _0802ED14 + strh r7, [r1] + ldr r3, _0802EDF4 @ =0x00000306 + adds r1, r2, r3 + movs r0, #9 + strb r0, [r1] + ldr r1, [r6] + movs r4, #0xc8 + lsls r4, r4, #2 + adds r2, r1, r4 + movs r0, #0x96 + lsls r0, r0, #3 + strh r0, [r2] + ldr r5, _0802EDF8 @ =0x00000322 + adds r1, r1, r5 + ldr r0, _0802EDFC @ =0x0000FC18 + strh r0, [r1] + movs r0, #0xe3 + bl m4aSongNumStart + ldr r0, [r6] + movs r1, #0xc4 + lsls r1, r1, #2 + adds r0, r0, r1 + strh r7, [r0] _0802ED14: - ldr r0, _0802EE00 @ =0x020314E0 - ldr r2, [r0] - movs r6, #0xc3 - lsls r6, r6, #2 - adds r1, r2, r6 - ldrh r1, [r1] - cmp r1, #0xd - bne _0802ED90 - ldr r5, _0802EE04 @ =0x0000132C - adds r0, r2, r5 - ldr r1, [r0] - movs r0, #0 - strb r0, [r1] - ldr r2, _0802EE00 @ =0x020314E0 - ldr r4, [r2] - movs r3, #0xc5 - lsls r3, r3, #2 - adds r1, r4, r3 - movs r0, #5 - strh r0, [r1] - ldr r7, _0802EE08 @ =0x00000316 - adds r1, r4, r7 - ldr r0, _0802EE0C @ =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] - adds r7, #0xc - 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, #0x86 - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r1, r1, #1 - ldr r2, _0802EE10 @ =0x0000031A - adds r0, r4, r2 - strh r1, [r0] - adds r4, r4, r5 - ldr r1, [r4] - movs r0, #1 - strb r0, [r1, #1] + ldr r0, _0802EE00 @ =0x020314E0 + ldr r2, [r0] + movs r6, #0xc3 + lsls r6, r6, #2 + adds r1, r2, r6 + ldrh r1, [r1] + cmp r1, #0xd + bne _0802ED90 + ldr r5, _0802EE04 @ =0x0000132C + adds r0, r2, r5 + ldr r1, [r0] + movs r0, #0 + strb r0, [r1] + ldr r2, _0802EE00 @ =0x020314E0 + ldr r4, [r2] + movs r3, #0xc5 + lsls r3, r3, #2 + adds r1, r4, r3 + movs r0, #5 + strh r0, [r1] + ldr r7, _0802EE08 @ =0x00000316 + adds r1, r4, r7 + ldr r0, _0802EE0C @ =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] + adds r7, #0xc + 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, #0x86 + lsls r1, r0, #2 + adds r1, r1, r0 + lsls r1, r1, #1 + ldr r2, _0802EE10 @ =0x0000031A + adds r0, r4, r2 + strh r1, [r0] + adds r4, r4, r5 + ldr r1, [r4] + movs r0, #1 + strb r0, [r1, #1] _0802ED90: - ldr r3, _0802EE00 @ =0x020314E0 - ldr r7, [r3] - ldrb r0, [r7, #0x1f] - cmp r0, #0 - bne _0802ED9C - b _0802EED8 + ldr r3, _0802EE00 @ =0x020314E0 + ldr r7, [r3] + ldrb r0, [r7, #0x1f] + cmp r0, #0 + bne _0802ED9C + b _0802EED8 _0802ED9C: - adds r0, r7, r6 - ldrh r0, [r0] - cmp r0, #0xc - bhi _0802EE14 - ldr r5, _0802EE04 @ =0x0000132C - adds r4, r7, r5 - ldr r5, [r4] - movs r1, #0xc8 - lsls r1, r1, #2 - adds r0, r7, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r1, #0xa - bl __divsi3 - adds r0, #0x9d - strh r0, [r5, #0x10] - ldr r5, [r4] - ldr r3, _0802EDF8 @ =0x00000322 - adds r0, r7, r3 - movs r7, #0 - ldrsh r0, [r0, r7] - movs r1, #0xa - bl __divsi3 - adds r0, #0x86 - strh r0, [r5, #0x12] - ldr r1, [r4] - movs r2, #0x10 - ldrsh r0, [r1, r2] - 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] - movs r5, #0x10 - ldrsh r0, [r1, r5] - lsls r0, r0, #8 - str r0, [r1, #0x34] - ldr r1, [r4] - b _0802EED0 - .align 2, 0 + adds r0, r7, r6 + ldrh r0, [r0] + cmp r0, #0xc + bhi _0802EE14 + ldr r5, _0802EE04 @ =0x0000132C + adds r4, r7, r5 + ldr r5, [r4] + movs r1, #0xc8 + lsls r1, r1, #2 + adds r0, r7, r1 + movs r2, #0 + ldrsh r0, [r0, r2] + movs r1, #0xa + bl __divsi3 + adds r0, #0x9d + strh r0, [r5, #0x10] + ldr r5, [r4] + ldr r3, _0802EDF8 @ =0x00000322 + adds r0, r7, r3 + movs r7, #0 + ldrsh r0, [r0, r7] + movs r1, #0xa + bl __divsi3 + adds r0, #0x86 + strh r0, [r5, #0x12] + ldr r1, [r4] + movs r2, #0x10 + ldrsh r0, [r1, r2] + 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] + movs r5, #0x10 + ldrsh r0, [r1, r5] + lsls r0, r0, #8 + str r0, [r1, #0x34] + ldr r1, [r4] + b _0802EED0 + .align 2, 0 _0802EDF4: .4byte 0x00000306 _0802EDF8: .4byte 0x00000322 _0802EDFC: .4byte 0x0000FC18 @@ -92459,168 +92459,168 @@ _0802EE08: .4byte 0x00000316 _0802EE0C: .4byte 0x0000FFE7 _0802EE10: .4byte 0x0000031A _0802EE14: - ldr r0, _0802EEE4 @ =0x00000316 - adds r1, r7, r0 - ldrh r0, [r1] - adds r0, #2 - movs r2, #0 - mov r8, r2 - strh r0, [r1] - movs r3, #0xc6 - lsls r3, r3, #2 - adds r2, r7, r3 - movs r4, #0xc5 - lsls r4, r4, #2 - adds r0, r7, r4 - ldrh r0, [r0] - ldrh r5, [r2] - adds r0, r0, r5 - strh r0, [r2] - ldr r0, _0802EEE8 @ =0x0000031A - adds r4, r7, r0 - ldrh r0, [r1] - ldrh r1, [r4] - adds r0, r0, r1 - strh r0, [r4] - ldr r3, _0802EEEC @ =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, #0x5a - ble _0802EEAA - movs r0, #0x5b - strh r0, [r5, #0x12] - ldr r4, _0802EEF0 @ =0x000005F7 - adds r0, r7, r4 - mov r5, r8 - strb r5, [r0] - ldr r7, _0802EEF4 @ =0x020314E0 - ldr r0, [r7] - strb r5, [r0, #0x1f] - ldr r1, [r7] - ldr r0, _0802EEEC @ =0x0000132C - adds r1, r1, r0 - ldr r2, [r1] - movs r0, #0x80 - strh r0, [r2, #0x30] - ldr r2, [r1] - adds r0, #0x80 - strh r0, [r2, #0x32] - ldr r1, [r1] - movs r0, #3 - strb r0, [r1, #1] - ldr r0, [r7] - adds r0, #0x24 - strb r5, [r0] - movs r0, #0xe5 - bl m4aSongNumStart - movs r0, #7 - bl sub_11B0 + ldr r0, _0802EEE4 @ =0x00000316 + adds r1, r7, r0 + ldrh r0, [r1] + adds r0, #2 + movs r2, #0 + mov r8, r2 + strh r0, [r1] + movs r3, #0xc6 + lsls r3, r3, #2 + adds r2, r7, r3 + movs r4, #0xc5 + lsls r4, r4, #2 + adds r0, r7, r4 + ldrh r0, [r0] + ldrh r5, [r2] + adds r0, r0, r5 + strh r0, [r2] + ldr r0, _0802EEE8 @ =0x0000031A + adds r4, r7, r0 + ldrh r0, [r1] + ldrh r1, [r4] + adds r0, r0, r1 + strh r0, [r4] + ldr r3, _0802EEEC @ =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, #0x5a + ble _0802EEAA + movs r0, #0x5b + strh r0, [r5, #0x12] + ldr r4, _0802EEF0 @ =0x000005F7 + adds r0, r7, r4 + mov r5, r8 + strb r5, [r0] + ldr r7, _0802EEF4 @ =0x020314E0 + ldr r0, [r7] + strb r5, [r0, #0x1f] + ldr r1, [r7] + ldr r0, _0802EEEC @ =0x0000132C + adds r1, r1, r0 + ldr r2, [r1] + movs r0, #0x80 + strh r0, [r2, #0x30] + ldr r2, [r1] + adds r0, #0x80 + strh r0, [r2, #0x32] + ldr r1, [r1] + movs r0, #3 + strb r0, [r1, #1] + ldr r0, [r7] + adds r0, #0x24 + strb r5, [r0] + movs r0, #0xe5 + bl m4aSongNumStart + movs r0, #7 + bl sub_11B0 _0802EEAA: - ldr r2, _0802EEF4 @ =0x020314E0 - ldr r1, [r2] - 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 r4, #0x12 - ldrsh r0, [r2, r4] - lsls r0, r0, #1 - strh r0, [r2, #0x2a] - ldr r2, [r1] - movs r5, #0x10 - ldrsh r0, [r2, r5] - lsls r0, r0, #8 - str r0, [r2, #0x34] - ldr r1, [r1] + ldr r2, _0802EEF4 @ =0x020314E0 + ldr r1, [r2] + 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 r4, #0x12 + ldrsh r0, [r2, r4] + lsls r0, r0, #1 + strh r0, [r2, #0x2a] + ldr r2, [r1] + movs r5, #0x10 + ldrsh r0, [r2, r5] + lsls r0, r0, #8 + str r0, [r2, #0x34] + ldr r1, [r1] _0802EED0: - movs r7, #0x12 - ldrsh r0, [r1, r7] - lsls r0, r0, #8 - str r0, [r1, #0x38] + movs r7, #0x12 + ldrsh r0, [r1, r7] + lsls r0, r0, #8 + str r0, [r1, #0x38] _0802EED8: - movs r0, #9 - str r0, [sp] - ldr r2, _0802EEF4 @ =0x020314E0 - ldr r1, [r2] - b _0802EFBC - .align 2, 0 + movs r0, #9 + str r0, [sp] + ldr r2, _0802EEF4 @ =0x020314E0 + ldr r1, [r2] + b _0802EFBC + .align 2, 0 _0802EEE4: .4byte 0x00000316 _0802EEE8: .4byte 0x0000031A _0802EEEC: .4byte 0x0000132C _0802EEF0: .4byte 0x000005F7 _0802EEF4: .4byte 0x020314E0 _0802EEF8: - ldr r0, _0802EF64 @ =0x020314E0 - ldr r4, [r0] - movs r7, #0xc3 - lsls r7, r7, #2 - adds r5, r4, r7 - ldrh r0, [r5] - movs r1, #0x1a - bl __umodsi3 - ldr r2, _0802EF68 @ =0x08137CBC - ldr r1, _0802EF6C @ =0x0000FFFE - ands r0, r1 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r1, #4 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov sl, r1 - adds r2, #1 - adds r0, r0, r2 - movs r1, #0 - ldrsb r1, [r0, r1] - ldr r2, _0802EF70 @ =0x0000030E - adds r0, r4, r2 - strh r1, [r0] - movs r3, #0xc7 - lsls r3, r3, #2 - adds r2, r4, r3 - ldr r0, _0802EF74 @ =0x0000FFF4 - strh r0, [r2] - adds r7, #0x12 - adds r3, r4, r7 - movs r0, #0xa - strh r0, [r3] - ldrh r0, [r5] - cmp r0, #0x63 - bhi _0802EF7C - movs r0, #0xc8 - lsls r0, r0, #2 - adds r1, r4, r0 - ldrh r0, [r2] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - ldr r5, _0802EF78 @ =0x00000322 - adds r1, r4, r5 - ldrh r0, [r3] - ldrh r7, [r1] - adds r0, r0, r7 - strh r0, [r1] - b _0802EF90 - .align 2, 0 + ldr r0, _0802EF64 @ =0x020314E0 + ldr r4, [r0] + movs r7, #0xc3 + lsls r7, r7, #2 + adds r5, r4, r7 + ldrh r0, [r5] + movs r1, #0x1a + bl __umodsi3 + ldr r2, _0802EF68 @ =0x08137CBC + ldr r1, _0802EF6C @ =0x0000FFFE + ands r0, r1 + adds r1, r0, r2 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + adds r1, #4 + lsls r1, r1, #0x10 + lsrs r1, r1, #0x10 + mov sl, r1 + adds r2, #1 + adds r0, r0, r2 + movs r1, #0 + ldrsb r1, [r0, r1] + ldr r2, _0802EF70 @ =0x0000030E + adds r0, r4, r2 + strh r1, [r0] + movs r3, #0xc7 + lsls r3, r3, #2 + adds r2, r4, r3 + ldr r0, _0802EF74 @ =0x0000FFF4 + strh r0, [r2] + adds r7, #0x12 + adds r3, r4, r7 + movs r0, #0xa + strh r0, [r3] + ldrh r0, [r5] + cmp r0, #0x63 + bhi _0802EF7C + movs r0, #0xc8 + lsls r0, r0, #2 + adds r1, r4, r0 + ldrh r0, [r2] + ldrh r2, [r1] + adds r0, r0, r2 + strh r0, [r1] + ldr r5, _0802EF78 @ =0x00000322 + adds r1, r4, r5 + ldrh r0, [r3] + ldrh r7, [r1] + adds r0, r0, r7 + strh r0, [r1] + b _0802EF90 + .align 2, 0 _0802EF64: .4byte 0x020314E0 _0802EF68: .4byte 0x08137CBC _0802EF6C: .4byte 0x0000FFFE @@ -92628,203 +92628,203 @@ _0802EF70: .4byte 0x0000030E _0802EF74: .4byte 0x0000FFF4 _0802EF78: .4byte 0x00000322 _0802EF7C: - movs r0, #0 - strh r0, [r5] - ldr r0, _0802EFCC @ =0x00000306 - adds r1, r4, r0 - movs r0, #0xa - strb r0, [r1] - ldr r0, _0802EFD0 @ =0x02032F20 - ldr r1, _0802EFD4 @ =0x086A11A4 - bl MPlayStart + movs r0, #0 + strh r0, [r5] + ldr r0, _0802EFCC @ =0x00000306 + adds r1, r4, r0 + movs r0, #0xa + strb r0, [r1] + ldr r0, _0802EFD0 @ =0x02032F20 + ldr r1, _0802EFD4 @ =0x086A11A4 + bl MPlayStart _0802EF90: - ldr r4, _0802EFD8 @ =0x020314E0 - ldr r1, [r4] - movs r2, #0xc4 - lsls r2, r2, #2 - adds r1, r1, r2 - ldrh r0, [r1] - adds r2, r0, #1 - strh r2, [r1] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x23 - bl __modsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x22 - bne _0802EFBA - ldr r0, _0802EFD0 @ =0x02032F20 - ldr r1, _0802EFD4 @ =0x086A11A4 - bl MPlayStart + ldr r4, _0802EFD8 @ =0x020314E0 + ldr r1, [r4] + movs r2, #0xc4 + lsls r2, r2, #2 + adds r1, r1, r2 + ldrh r0, [r1] + adds r2, r0, #1 + strh r2, [r1] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + movs r1, #0x23 + bl __modsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x22 + bne _0802EFBA + ldr r0, _0802EFD0 @ =0x02032F20 + ldr r1, _0802EFD4 @ =0x086A11A4 + bl MPlayStart _0802EFBA: - ldr r1, [r4] + ldr r1, [r4] _0802EFBC: - movs r3, #0xc3 - lsls r3, r3, #2 - adds r1, r1, r3 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - b _0802EFFC - .align 2, 0 + movs r3, #0xc3 + lsls r3, r3, #2 + adds r1, r1, r3 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + b _0802EFFC + .align 2, 0 _0802EFCC: .4byte 0x00000306 _0802EFD0: .4byte 0x02032F20 _0802EFD4: .4byte 0x086A11A4 _0802EFD8: .4byte 0x020314E0 _0802EFDC: - ldr r4, _0802F10C @ =0x020314E0 - ldr r0, [r4] - ldr r5, _0802F110 @ =0x0000030E - adds r1, r0, r5 - movs r2, #0 - movs r3, #0 - strh r3, [r1] - ldr r7, _0802F114 @ =0x00000306 - adds r0, r0, r7 - strb r2, [r0] - ldr r0, [r4] - movs r1, #0xc3 - lsls r1, r1, #2 - adds r0, r0, r1 - strh r3, [r0] - mov sl, r3 + ldr r4, _0802F10C @ =0x020314E0 + ldr r0, [r4] + ldr r5, _0802F110 @ =0x0000030E + adds r1, r0, r5 + movs r2, #0 + movs r3, #0 + strh r3, [r1] + ldr r7, _0802F114 @ =0x00000306 + adds r0, r0, r7 + strb r2, [r0] + ldr r0, [r4] + movs r1, #0xc3 + lsls r1, r1, #2 + adds r0, r0, r1 + strh r3, [r0] + mov sl, r3 _0802EFFC: - ldr r2, _0802F118 @ =0x0200DED8 - ldrh r0, [r2] - cmp r0, #0 - beq _0802F0FA - ldr r2, _0802F11C @ =0x040000D4 - mov r3, sl - lsls r1, r3, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _0802F120 @ =0x084BB16C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802F124 @ =0x060122A0 - str r0, [r2, #4] - ldr r0, _0802F128 @ =0x80000240 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r0, _0802F10C @ =0x020314E0 - ldr r4, [r0] - movs r5, #0xc8 - lsls r5, r5, #2 - adds r0, r4, r5 - movs r7, #0 - ldrsh r0, [r0, r7] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r1, #0x92 - subs r0, r0, r1 - ldr r1, _0802F118 @ =0x0200DED8 - strh r0, [r1, #2] - ldr r2, _0802F12C @ =0x00000322 - adds r0, r4, r2 - movs r3, #0 - ldrsh r0, [r0, r3] - 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 r7, _0802F110 @ =0x0000030E - adds r4, r4, r7 - movs r1, #0 - ldrsh r0, [r4, r1] - movs r1, #0xa - bl __divsi3 - adds r5, r5, r0 - ldr r2, _0802F118 @ =0x0200DED8 - strh r5, [r2, #4] - movs r2, #0 - ldr r3, [sp] - lsls r1, r3, #0x10 - ldr r4, _0802F130 @ =0x086B3EF6 - mov sb, r4 - ldr r6, _0802F134 @ =0x03005000 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - mov sl, r0 - ldr r5, _0802F138 @ =0xFFFFFE00 - mov r8, r5 + ldr r2, _0802F118 @ =0x0200DED8 + ldrh r0, [r2] + cmp r0, #0 + beq _0802F0FA + ldr r2, _0802F11C @ =0x040000D4 + mov r3, sl + lsls r1, r3, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _0802F120 @ =0x084BB16C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802F124 @ =0x060122A0 + str r0, [r2, #4] + ldr r0, _0802F128 @ =0x80000240 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r0, _0802F10C @ =0x020314E0 + ldr r4, [r0] + movs r5, #0xc8 + lsls r5, r5, #2 + adds r0, r4, r5 + movs r7, #0 + ldrsh r0, [r0, r7] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r1, #0x92 + subs r0, r0, r1 + ldr r1, _0802F118 @ =0x0200DED8 + strh r0, [r1, #2] + ldr r2, _0802F12C @ =0x00000322 + adds r0, r4, r2 + movs r3, #0 + ldrsh r0, [r0, r3] + 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 r7, _0802F110 @ =0x0000030E + adds r4, r4, r7 + movs r1, #0 + ldrsh r0, [r4, r1] + movs r1, #0xa + bl __divsi3 + adds r5, r5, r0 + ldr r2, _0802F118 @ =0x0200DED8 + strh r5, [r2, #4] + movs r2, #0 + ldr r3, [sp] + lsls r1, r3, #0x10 + ldr r4, _0802F130 @ =0x086B3EF6 + mov sb, r4 + ldr r6, _0802F134 @ =0x03005000 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + mov sl, r0 + ldr r5, _0802F138 @ =0xFFFFFE00 + mov r8, r5 _0802F08C: - lsls r3, r2, #0x10 - asrs r3, r3, #0x10 - lsls r4, r3, #3 - adds r4, #8 - ldr r7, _0802F118 @ =0x0200DED8 - adds r4, r7, r4 - 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, 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, [r4] - lsls r2, r2, #3 - adds r2, r2, r6 - ldrh r0, [r2, #2] - mov ip, r0 - mov r5, ip - lsls r1, r5, #0x17 - lsrs r1, r1, #0x17 - movs r5, #2 - ldrsh r0, [r7, r5] - adds r1, r1, r0 - ldr r7, _0802F13C @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, r8 - mov r5, ip - ands r0, r5 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r6 - ldr r7, _0802F118 @ =0x0200DED8 - 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, #3 - ble _0802F08C + lsls r3, r2, #0x10 + asrs r3, r3, #0x10 + lsls r4, r3, #3 + adds r4, #8 + ldr r7, _0802F118 @ =0x0200DED8 + adds r4, r7, r4 + 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, 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, [r4] + lsls r2, r2, #3 + adds r2, r2, r6 + ldrh r0, [r2, #2] + mov ip, r0 + mov r5, ip + lsls r1, r5, #0x17 + lsrs r1, r1, #0x17 + movs r5, #2 + ldrsh r0, [r7, r5] + adds r1, r1, r0 + ldr r7, _0802F13C @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, r8 + mov r5, ip + ands r0, r5 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r6 + ldr r7, _0802F118 @ =0x0200DED8 + 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, #3 + ble _0802F08C _0802F0FA: - 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 + 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 _0802F10C: .4byte 0x020314E0 _0802F110: .4byte 0x0000030E _0802F114: .4byte 0x00000306 @@ -92839,139 +92839,139 @@ _0802F134: .4byte 0x03005000 _0802F138: .4byte 0xFFFFFE00 _0802F13C: .4byte 0x000001FF - thumb_func_start sub_2F140 + thumb_func_start sub_2F140 sub_2F140: @ 0x0802F140 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r0, _0802F240 @ =0x020314E0 - ldr r5, [r0] - movs r1, #0xa4 - lsls r1, r1, #2 - adds r0, r5, r1 - ldr r0, [r0] - movs r1, #0x1f - ands r0, r1 - lsrs r4, r0, #4 - ldr r6, _0802F244 @ =0x0200E9A0 - movs r2, #0xbd - lsls r2, r2, #2 - adds r1, r5, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _0802F170 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r0, _0802F240 @ =0x020314E0 + ldr r5, [r0] + movs r1, #0xa4 + lsls r1, r1, #2 + adds r0, r5, r1 + ldr r0, [r0] + movs r1, #0x1f + ands r0, r1 + lsrs r4, r0, #4 + ldr r6, _0802F244 @ =0x0200E9A0 + movs r2, #0xbd + lsls r2, r2, #2 + adds r1, r5, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + beq _0802F170 + lsls r0, r0, #0x10 + lsrs r4, r0, #0x10 _0802F170: - ldr r2, _0802F248 @ =0x086AE462 - lsls r0, r4, #0x10 - asrs r0, r0, #0xe - adds r1, r0, r2 - ldrh r3, [r1] - adds r2, #2 - adds r0, r0, r2 - ldrh r4, [r0] - adds r0, r5, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xa4 - subs r0, r0, r1 - strh r0, [r6, #2] - adds r0, r5, #0 - adds r0, #0x5a - ldrh r1, [r0] - movs r0, #0xa6 - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r2, _0802F24C @ =0x040000D4 - lsls r1, r4, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _0802F250 @ =0x083FFD8C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802F254 @ =0x06012720 - str r0, [r2, #4] - ldr r0, _0802F258 @ =0x80000180 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r1, #0 - ldr r7, _0802F25C @ =0x086B4A72 - mov sb, r7 - ldr r0, _0802F260 @ =0x03005000 - mov sl, r0 - lsls r3, r3, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r0, r0, #2 - mov ip, r0 - ldr r2, _0802F264 @ =0xFFFFFE00 - mov r8, r2 + ldr r2, _0802F248 @ =0x086AE462 + lsls r0, r4, #0x10 + asrs r0, r0, #0xe + adds r1, r0, r2 + ldrh r3, [r1] + adds r2, #2 + adds r0, r0, r2 + ldrh r4, [r0] + adds r0, r5, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xa4 + subs r0, r0, r1 + strh r0, [r6, #2] + adds r0, r5, #0 + adds r0, #0x5a + ldrh r1, [r0] + movs r0, #0xa6 + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r2, _0802F24C @ =0x040000D4 + lsls r1, r4, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _0802F250 @ =0x083FFD8C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802F254 @ =0x06012720 + str r0, [r2, #4] + ldr r0, _0802F258 @ =0x80000180 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r1, #0 + ldr r7, _0802F25C @ =0x086B4A72 + mov sb, r7 + ldr r0, _0802F260 @ =0x03005000 + mov sl, r0 + lsls r3, r3, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #1 + adds r0, r0, r3 + lsls r0, r0, #2 + mov ip, r0 + ldr r2, _0802F264 @ =0xFFFFFE00 + mov r8, r2 _0802F1CE: - lsls r3, r1, #0x10 - asrs r3, r3, #0x10 - lsls r4, r3, #3 - adds r4, #8 - adds r4, r6, r4 - ldrh r2, [r4] - lsls r2, r2, #3 - add r2, sl - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r0, r0, #1 - add r0, sb - 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 - add r2, sl - ldrh r5, [r2, #2] - lsls r1, r5, #0x17 - lsrs r1, r1, #0x17 - movs r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _0802F268 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, r8 - ands r0, r5 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - add r1, sl - ldrb r0, [r6, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r1, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #1 - ble _0802F1CE - 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 + lsls r3, r1, #0x10 + asrs r3, r3, #0x10 + lsls r4, r3, #3 + adds r4, #8 + adds r4, r6, r4 + ldrh r2, [r4] + lsls r2, r2, #3 + add r2, sl + lsls r0, r3, #1 + adds r0, r0, r3 + lsls r0, r0, #1 + add r0, sb + 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 + add r2, sl + ldrh r5, [r2, #2] + lsls r1, r5, #0x17 + lsrs r1, r1, #0x17 + movs r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _0802F268 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, r8 + ands r0, r5 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + add r1, sl + ldrb r0, [r6, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r1, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #1 + ble _0802F1CE + 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 _0802F240: .4byte 0x020314E0 _0802F244: .4byte 0x0200E9A0 _0802F248: .4byte 0x086AE462 @@ -92984,192 +92984,192 @@ _0802F260: .4byte 0x03005000 _0802F264: .4byte 0xFFFFFE00 _0802F268: .4byte 0x000001FF - thumb_func_start sub_2F26C + thumb_func_start sub_2F26C sub_2F26C: @ 0x0802F26C - push {r4, r5, r6, lr} - ldr r1, _0802F290 @ =0x020314E0 - ldr r0, [r1] - movs r2, #0xde - lsls r2, r2, #2 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r5, r1, #0 - cmp r0, #4 - bls _0802F286 - b _0802F4FA + push {r4, r5, r6, lr} + ldr r1, _0802F290 @ =0x020314E0 + ldr r0, [r1] + movs r2, #0xde + lsls r2, r2, #2 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r5, r1, #0 + cmp r0, #4 + bls _0802F286 + b _0802F4FA _0802F286: - lsls r0, r0, #2 - ldr r1, _0802F294 @ =_0802F298 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0802F294 @ =_0802F298 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0802F290: .4byte 0x020314E0 _0802F294: .4byte _0802F298 _0802F298: @ jump table - .4byte _0802F2AC @ case 0 - .4byte _0802F2F0 @ case 1 - .4byte _0802F384 @ case 2 - .4byte _0802F408 @ case 3 - .4byte _0802F4DC @ case 4 + .4byte _0802F2AC @ case 0 + .4byte _0802F2F0 @ case 1 + .4byte _0802F384 @ case 2 + .4byte _0802F408 @ case 3 + .4byte _0802F4DC @ case 4 _0802F2AC: - ldr r4, [r5] - movs r3, #0xa4 - lsls r3, r3, #2 - adds r0, r4, r3 - ldr r0, [r0] - movs r1, #0x32 - bl __umodsi3 - movs r1, #0x19 - bl __udivsi3 - adds r0, #2 - ldr r2, _0802F2E8 @ =0x00000379 - adds r4, r4, r2 - movs r3, #0 - strb r0, [r4] - ldr r1, [r5] - adds r2, r1, r2 - ldrb r0, [r2] - adds r0, #1 - ldr r2, _0802F2EC @ =0x0000037A - adds r1, r1, r2 - strb r0, [r1] - ldr r0, [r5] - movs r1, #0xdf - lsls r1, r1, #2 - adds r0, r0, r1 - strb r3, [r0] - b _0802F4FA - .align 2, 0 + ldr r4, [r5] + movs r3, #0xa4 + lsls r3, r3, #2 + adds r0, r4, r3 + ldr r0, [r0] + movs r1, #0x32 + bl __umodsi3 + movs r1, #0x19 + bl __udivsi3 + adds r0, #2 + ldr r2, _0802F2E8 @ =0x00000379 + adds r4, r4, r2 + movs r3, #0 + strb r0, [r4] + ldr r1, [r5] + adds r2, r1, r2 + ldrb r0, [r2] + adds r0, #1 + ldr r2, _0802F2EC @ =0x0000037A + adds r1, r1, r2 + strb r0, [r1] + ldr r0, [r5] + movs r1, #0xdf + lsls r1, r1, #2 + adds r0, r0, r1 + strb r3, [r0] + b _0802F4FA + .align 2, 0 _0802F2E8: .4byte 0x00000379 _0802F2EC: .4byte 0x0000037A _0802F2F0: - ldr r4, [r5] - movs r2, #0xa4 - lsls r2, r2, #2 - adds r0, r4, r2 - ldr r0, [r0] - movs r1, #0x21 - bl __umodsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc - bgt _0802F320 - ldr r3, _0802F318 @ =0x00000379 - adds r0, r4, r3 - movs r1, #0 - strb r1, [r0] - ldr r0, [r5] - ldr r2, _0802F31C @ =0x0000037A - adds r0, r0, r2 - b _0802F360 - .align 2, 0 + ldr r4, [r5] + movs r2, #0xa4 + lsls r2, r2, #2 + adds r0, r4, r2 + ldr r0, [r0] + movs r1, #0x21 + bl __umodsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xc + bgt _0802F320 + ldr r3, _0802F318 @ =0x00000379 + adds r0, r4, r3 + movs r1, #0 + strb r1, [r0] + ldr r0, [r5] + ldr r2, _0802F31C @ =0x0000037A + adds r0, r0, r2 + b _0802F360 + .align 2, 0 _0802F318: .4byte 0x00000379 _0802F31C: .4byte 0x0000037A _0802F320: - cmp r0, #0x13 - bgt _0802F330 - ldr r3, _0802F32C @ =0x00000379 - adds r1, r4, r3 - b _0802F354 - .align 2, 0 + cmp r0, #0x13 + bgt _0802F330 + ldr r3, _0802F32C @ =0x00000379 + adds r1, r4, r3 + b _0802F354 + .align 2, 0 _0802F32C: .4byte 0x00000379 _0802F330: - cmp r0, #0x19 - bgt _0802F350 - ldr r2, _0802F348 @ =0x00000379 - adds r1, r4, r2 - movs r0, #1 - strb r0, [r1] - ldr r0, [r5] - ldr r3, _0802F34C @ =0x0000037A - adds r0, r0, r3 - movs r1, #2 - b _0802F360 - .align 2, 0 + cmp r0, #0x19 + bgt _0802F350 + ldr r2, _0802F348 @ =0x00000379 + adds r1, r4, r2 + movs r0, #1 + strb r0, [r1] + ldr r0, [r5] + ldr r3, _0802F34C @ =0x0000037A + adds r0, r0, r3 + movs r1, #2 + b _0802F360 + .align 2, 0 _0802F348: .4byte 0x00000379 _0802F34C: .4byte 0x0000037A _0802F350: - ldr r0, _0802F37C @ =0x00000379 - adds r1, r4, r0 + ldr r0, _0802F37C @ =0x00000379 + adds r1, r4, r0 _0802F354: - movs r0, #9 - strb r0, [r1] - ldr r0, [r5] - ldr r1, _0802F380 @ =0x0000037A - adds r0, r0, r1 - movs r1, #1 + movs r0, #9 + strb r0, [r1] + ldr r0, [r5] + ldr r1, _0802F380 @ =0x0000037A + adds r0, r0, r1 + movs r1, #1 _0802F360: - strb r1, [r0] - ldr r1, [r5] - adds r0, r1, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - bne _0802F374 - b _0802F4FA + strb r1, [r0] + ldr r1, [r5] + adds r0, r1, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + bne _0802F374 + b _0802F4FA _0802F374: - movs r2, #0xdf - lsls r2, r2, #2 - adds r1, r1, r2 - b _0802F4D0 - .align 2, 0 + movs r2, #0xdf + lsls r2, r2, #2 + adds r1, r1, r2 + b _0802F4D0 + .align 2, 0 _0802F37C: .4byte 0x00000379 _0802F380: .4byte 0x0000037A _0802F384: - ldr r0, [r5] - movs r3, #0xdf - lsls r3, r3, #2 - adds r0, r0, r3 - movs r2, #0 - strb r2, [r0] - ldr r0, [r5] - ldr r1, _0802F3E8 @ =0x0000037D - adds r0, r0, r1 - strb r2, [r0] - ldr r1, [r5] - adds r3, #2 - adds r0, r1, r3 - movs r3, #0 - strh r2, [r0] - movs r0, #0xde - lsls r0, r0, #2 - adds r1, r1, r0 - movs r0, #3 - strb r0, [r1] - ldr r0, [r5] - ldr r1, _0802F3EC @ =0x0000037B - adds r0, r0, r1 - strb r3, [r0] - ldr r0, _0802F3F0 @ =0x0200B0C0 - movs r2, #0xb3 - lsls r2, r2, #5 - adds r0, r0, r2 - movs r1, #1 - strh r1, [r0] - ldr r0, [r5] - adds r0, #0xe4 - movs r1, #0x16 - strb r1, [r0] - ldr r1, _0802F3F4 @ =0x040000D4 - ldr r0, _0802F3F8 @ =0x08526DCC - str r0, [r1] - ldr r0, _0802F3FC @ =0x06015800 - str r0, [r1, #4] - ldr r0, _0802F400 @ =0x80000600 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r0, #0xec - bl m4aSongNumStart - ldr r1, [r5] - ldr r0, _0802F404 @ =0x00001388 - str r0, [r1, #0x3c] - b _0802F4FA - .align 2, 0 + ldr r0, [r5] + movs r3, #0xdf + lsls r3, r3, #2 + adds r0, r0, r3 + movs r2, #0 + strb r2, [r0] + ldr r0, [r5] + ldr r1, _0802F3E8 @ =0x0000037D + adds r0, r0, r1 + strb r2, [r0] + ldr r1, [r5] + adds r3, #2 + adds r0, r1, r3 + movs r3, #0 + strh r2, [r0] + movs r0, #0xde + lsls r0, r0, #2 + adds r1, r1, r0 + movs r0, #3 + strb r0, [r1] + ldr r0, [r5] + ldr r1, _0802F3EC @ =0x0000037B + adds r0, r0, r1 + strb r3, [r0] + ldr r0, _0802F3F0 @ =0x0200B0C0 + movs r2, #0xb3 + lsls r2, r2, #5 + adds r0, r0, r2 + movs r1, #1 + strh r1, [r0] + ldr r0, [r5] + adds r0, #0xe4 + movs r1, #0x16 + strb r1, [r0] + ldr r1, _0802F3F4 @ =0x040000D4 + ldr r0, _0802F3F8 @ =0x08526DCC + str r0, [r1] + ldr r0, _0802F3FC @ =0x06015800 + str r0, [r1, #4] + ldr r0, _0802F400 @ =0x80000600 + str r0, [r1, #8] + ldr r0, [r1, #8] + movs r0, #0xec + bl m4aSongNumStart + ldr r1, [r5] + ldr r0, _0802F404 @ =0x00001388 + str r0, [r1, #0x3c] + b _0802F4FA + .align 2, 0 _0802F3E8: .4byte 0x0000037D _0802F3EC: .4byte 0x0000037B _0802F3F0: .4byte 0x0200B0C0 @@ -93179,391 +93179,391 @@ _0802F3FC: .4byte 0x06015800 _0802F400: .4byte 0x80000600 _0802F404: .4byte 0x00001388 _0802F408: - ldr r3, _0802F434 @ =0x086AE496 - ldr r2, [r5] - ldr r0, _0802F438 @ =0x0000037D - adds r4, r2, r0 - movs r1, #0 - ldrsb r1, [r4, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r1, r3, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - ldr r1, _0802F43C @ =0x0000037E - adds r2, r2, r1 - ldrh r1, [r2] - adds r6, r3, #0 - cmp r0, r1 - ble _0802F440 - adds r0, r1, #1 - strh r0, [r2] - b _0802F46C - .align 2, 0 + ldr r3, _0802F434 @ =0x086AE496 + ldr r2, [r5] + ldr r0, _0802F438 @ =0x0000037D + adds r4, r2, r0 + movs r1, #0 + ldrsb r1, [r4, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r1, r3, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + ldr r1, _0802F43C @ =0x0000037E + adds r2, r2, r1 + ldrh r1, [r2] + adds r6, r3, #0 + cmp r0, r1 + ble _0802F440 + adds r0, r1, #1 + strh r0, [r2] + b _0802F46C + .align 2, 0 _0802F434: .4byte 0x086AE496 _0802F438: .4byte 0x0000037D _0802F43C: .4byte 0x0000037E _0802F440: - ldrb r0, [r4] - adds r0, #1 - movs r2, #0 - strb r0, [r4] - ldr r1, [r5] - ldr r3, _0802F4B8 @ =0x0000037E - adds r0, r1, r3 - strh r2, [r0] - ldr r0, _0802F4BC @ =0x0000037D - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x10 - ble _0802F46C - movs r0, #0x10 - strb r0, [r1] - ldr r0, [r5] - movs r1, #0xde - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #4 - strb r1, [r0] + ldrb r0, [r4] + adds r0, #1 + movs r2, #0 + strb r0, [r4] + ldr r1, [r5] + ldr r3, _0802F4B8 @ =0x0000037E + adds r0, r1, r3 + strh r2, [r0] + ldr r0, _0802F4BC @ =0x0000037D + adds r1, r1, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x10 + ble _0802F46C + movs r0, #0x10 + strb r0, [r1] + ldr r0, [r5] + movs r1, #0xde + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #4 + strb r1, [r0] _0802F46C: - ldr r2, [r5] - ldr r3, _0802F4BC @ =0x0000037D - adds r0, r2, r3 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, r0, r6 - ldrh r0, [r0] - ldr r1, _0802F4C0 @ =0x0000037A - adds r2, r2, r1 - strb r0, [r2] - ldr r2, [r5] - adds r0, r2, r3 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r1, r6, #4 - adds r0, r0, r1 - ldrh r0, [r0] - ldr r1, _0802F4C4 @ =0x00000379 - adds r2, r2, r1 - strb r0, [r2] - ldr r2, [r5] - adds r3, r2, r3 - ldrb r1, [r3] - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #5 - bgt _0802F4CC - adds r1, #1 - ldr r3, _0802F4C8 @ =0x0000037B - adds r0, r2, r3 - strb r1, [r0] - b _0802F4FA - .align 2, 0 + ldr r2, [r5] + ldr r3, _0802F4BC @ =0x0000037D + adds r0, r2, r3 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, r0, r6 + ldrh r0, [r0] + ldr r1, _0802F4C0 @ =0x0000037A + adds r2, r2, r1 + strb r0, [r2] + ldr r2, [r5] + adds r0, r2, r3 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r1, r6, #4 + adds r0, r0, r1 + ldrh r0, [r0] + ldr r1, _0802F4C4 @ =0x00000379 + adds r2, r2, r1 + strb r0, [r2] + ldr r2, [r5] + adds r3, r2, r3 + ldrb r1, [r3] + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #5 + bgt _0802F4CC + adds r1, #1 + ldr r3, _0802F4C8 @ =0x0000037B + adds r0, r2, r3 + strb r1, [r0] + b _0802F4FA + .align 2, 0 _0802F4B8: .4byte 0x0000037E _0802F4BC: .4byte 0x0000037D _0802F4C0: .4byte 0x0000037A _0802F4C4: .4byte 0x00000379 _0802F4C8: .4byte 0x0000037B _0802F4CC: - ldr r0, _0802F4D8 @ =0x0000037B - adds r1, r2, r0 + ldr r0, _0802F4D8 @ =0x0000037B + adds r1, r2, r0 _0802F4D0: - movs r0, #0 - strb r0, [r1] - b _0802F4FA - .align 2, 0 + movs r0, #0 + strb r0, [r1] + b _0802F4FA + .align 2, 0 _0802F4D8: .4byte 0x0000037B _0802F4DC: - ldr r0, [r5] - adds r0, #0xe4 - movs r1, #0 - strb r1, [r0] - ldr r0, _0802F500 @ =0x0200B0C0 - movs r2, #0xb3 - lsls r2, r2, #5 - adds r0, r0, r2 - movs r2, #0 - strh r1, [r0] - ldr r0, [r5] - movs r3, #0xde - lsls r3, r3, #2 - adds r0, r0, r3 - strb r2, [r0] + ldr r0, [r5] + adds r0, #0xe4 + movs r1, #0 + strb r1, [r0] + ldr r0, _0802F500 @ =0x0200B0C0 + movs r2, #0xb3 + lsls r2, r2, #5 + adds r0, r0, r2 + movs r2, #0 + strh r1, [r0] + ldr r0, [r5] + movs r3, #0xde + lsls r3, r3, #2 + adds r0, r0, r3 + strb r2, [r0] _0802F4FA: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0802F500: .4byte 0x0200B0C0 - thumb_func_start sub_2F504 + thumb_func_start sub_2F504 sub_2F504: @ 0x0802F504 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r6, _0802F700 @ =0x0200C668 - ldrh r0, [r6] - movs r1, #0xb8 - adds r1, r1, r6 - mov sl, r1 - cmp r0, #0 - beq _0802F5EC - ldr r3, _0802F704 @ =0x020314E0 - ldr r0, [r3] - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xc6 - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r1, [r3] - movs r4, #0xe0 - lsls r4, r4, #2 - adds r2, r1, r4 - movs r7, #0x8e - lsls r7, r7, #1 - adds r0, r7, #0 - ldrh r2, [r2] - adds r0, r0, r2 - adds r1, #0x5a - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r3, [r3] - ldr r1, _0802F708 @ =0x00000379 - adds r0, r3, r1 - ldr r2, _0802F70C @ =0x040000D4 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _0802F710 @ =0x08512C4C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802F714 @ =0x06012A20 - str r0, [r2, #4] - ldr r0, _0802F718 @ =0x800001C0 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r2, _0802F71C @ =0x0000037A - adds r3, r3, r2 - movs r2, #0 - ldr r4, _0802F720 @ =0x086B3CA4 - mov sb, r4 - movs r1, #0 - ldrsb r1, [r3, r1] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #1 - mov ip, r0 - ldr r7, _0802F724 @ =0xFFFFFE00 - mov r8, r7 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r6, _0802F700 @ =0x0200C668 + ldrh r0, [r6] + movs r1, #0xb8 + adds r1, r1, r6 + mov sl, r1 + cmp r0, #0 + beq _0802F5EC + ldr r3, _0802F704 @ =0x020314E0 + ldr r0, [r3] + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xc6 + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r1, [r3] + movs r4, #0xe0 + lsls r4, r4, #2 + adds r2, r1, r4 + movs r7, #0x8e + lsls r7, r7, #1 + adds r0, r7, #0 + ldrh r2, [r2] + adds r0, r0, r2 + adds r1, #0x5a + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r3, [r3] + ldr r1, _0802F708 @ =0x00000379 + adds r0, r3, r1 + ldr r2, _0802F70C @ =0x040000D4 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #3 + subs r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _0802F710 @ =0x08512C4C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802F714 @ =0x06012A20 + str r0, [r2, #4] + ldr r0, _0802F718 @ =0x800001C0 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r2, _0802F71C @ =0x0000037A + adds r3, r3, r2 + movs r2, #0 + ldr r4, _0802F720 @ =0x086B3CA4 + mov sb, r4 + movs r1, #0 + ldrsb r1, [r3, r1] + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #1 + mov ip, r0 + ldr r7, _0802F724 @ =0xFFFFFE00 + mov r8, r7 _0802F580: - lsls r3, r2, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r0, [r5] - lsls r0, r0, #3 - ldr r1, _0802F728 @ =0x03005000 - adds r2, r0, r1 - 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, [r5] - lsls r2, r2, #3 - ldr r7, _0802F728 @ =0x03005000 - adds r2, r2, r7 - ldrh r4, [r2, #2] - lsls r1, r4, #0x17 - lsrs r1, r1, #0x17 - movs r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _0802F72C @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, r8 - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - ldr r0, _0802F728 @ =0x03005000 - adds r1, r1, r0 - ldrb r0, [r6, #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 _0802F580 + lsls r3, r2, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r0, [r5] + lsls r0, r0, #3 + ldr r1, _0802F728 @ =0x03005000 + adds r2, r0, r1 + 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, [r5] + lsls r2, r2, #3 + ldr r7, _0802F728 @ =0x03005000 + adds r2, r2, r7 + ldrh r4, [r2, #2] + lsls r1, r4, #0x17 + lsrs r1, r1, #0x17 + movs r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _0802F72C @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, r8 + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + ldr r0, _0802F728 @ =0x03005000 + adds r1, r1, r0 + ldrb r0, [r6, #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 _0802F580 _0802F5EC: - mov r6, sl - ldrh r0, [r6] - cmp r0, #0 - beq _0802F69A - ldr r2, _0802F704 @ =0x020314E0 - ldr r0, [r2] - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xc6 - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r0, [r2] - adds r0, #0x5a - ldrh r1, [r0] - movs r3, #0x8e - lsls r3, r3, #1 - adds r0, r3, #0 - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r0, [r2] - ldr r4, _0802F730 @ =0x0000037B - adds r0, r0, r4 - movs r2, #0 - ldr r7, _0802F734 @ =0x086B3B7E - mov sb, r7 - ldr r1, _0802F728 @ =0x03005000 - mov sl, r1 - movs r1, #0 - ldrsb r1, [r0, r1] - movs r0, #0x2a - adds r3, r1, #0 - muls r3, r0, r3 - mov ip, r3 - ldr r4, _0802F724 @ =0xFFFFFE00 - mov r8, r4 + mov r6, sl + ldrh r0, [r6] + cmp r0, #0 + beq _0802F69A + ldr r2, _0802F704 @ =0x020314E0 + ldr r0, [r2] + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xc6 + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r0, [r2] + adds r0, #0x5a + ldrh r1, [r0] + movs r3, #0x8e + lsls r3, r3, #1 + adds r0, r3, #0 + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r0, [r2] + ldr r4, _0802F730 @ =0x0000037B + adds r0, r0, r4 + movs r2, #0 + ldr r7, _0802F734 @ =0x086B3B7E + mov sb, r7 + ldr r1, _0802F728 @ =0x03005000 + mov sl, r1 + movs r1, #0 + ldrsb r1, [r0, r1] + movs r0, #0x2a + adds r3, r1, #0 + muls r3, r0, r3 + mov ip, r3 + ldr r4, _0802F724 @ =0xFFFFFE00 + mov r8, r4 _0802F632: - lsls r3, r2, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r0, [r5] - lsls r0, r0, #3 - mov r7, sl - adds r2, r0, r7 - 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, [r5] - lsls r2, r2, #3 - add r2, sl - ldrh r4, [r2, #2] - lsls r1, r4, #0x17 - lsrs r1, r1, #0x17 - movs r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _0802F72C @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - mov r0, r8 - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - add r1, sl - ldrb r0, [r6, #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, #6 - ble _0802F632 + lsls r3, r2, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r0, [r5] + lsls r0, r0, #3 + mov r7, sl + adds r2, r0, r7 + 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, [r5] + lsls r2, r2, #3 + add r2, sl + ldrh r4, [r2, #2] + lsls r1, r4, #0x17 + lsrs r1, r1, #0x17 + movs r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _0802F72C @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + mov r0, r8 + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + add r1, sl + ldrb r0, [r6, #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, #6 + ble _0802F632 _0802F69A: - ldr r6, _0802F738 @ =0x0200E608 - ldrh r0, [r6] - cmp r0, #0 - beq _0802F780 - ldr r2, _0802F704 @ =0x020314E0 - ldr r0, [r2] - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xce - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r1, [r2] - movs r3, #0xdf - lsls r3, r3, #2 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0802F748 - adds r0, r1, #0 - adds r0, #0x5a - ldrh r1, [r0] - movs r4, #0x82 - lsls r4, r4, #1 - adds r0, r4, #0 - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r0, [r2] - movs r7, #0xa4 - lsls r7, r7, #2 - adds r0, r0, r7 - ldr r0, [r0] - movs r1, #0x32 - bl __umodsi3 - movs r1, #0x19 - bl __udivsi3 - ldr r2, _0802F70C @ =0x040000D4 - lsls r0, r0, #0x10 - asrs r0, r0, #7 - ldr r1, _0802F73C @ =0x084ED6CC - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802F740 @ =0x06014FA0 - str r0, [r2, #4] - ldr r0, _0802F744 @ =0x80000100 - str r0, [r2, #8] - ldr r0, [r2, #8] - b _0802F74C - .align 2, 0 + ldr r6, _0802F738 @ =0x0200E608 + ldrh r0, [r6] + cmp r0, #0 + beq _0802F780 + ldr r2, _0802F704 @ =0x020314E0 + ldr r0, [r2] + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xce + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r1, [r2] + movs r3, #0xdf + lsls r3, r3, #2 + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0802F748 + adds r0, r1, #0 + adds r0, #0x5a + ldrh r1, [r0] + movs r4, #0x82 + lsls r4, r4, #1 + adds r0, r4, #0 + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r0, [r2] + movs r7, #0xa4 + lsls r7, r7, #2 + adds r0, r0, r7 + ldr r0, [r0] + movs r1, #0x32 + bl __umodsi3 + movs r1, #0x19 + bl __udivsi3 + ldr r2, _0802F70C @ =0x040000D4 + lsls r0, r0, #0x10 + asrs r0, r0, #7 + ldr r1, _0802F73C @ =0x084ED6CC + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802F740 @ =0x06014FA0 + str r0, [r2, #4] + ldr r0, _0802F744 @ =0x80000100 + str r0, [r2, #8] + ldr r0, [r2, #8] + b _0802F74C + .align 2, 0 _0802F700: .4byte 0x0200C668 _0802F704: .4byte 0x020314E0 _0802F708: .4byte 0x00000379 @@ -93583,633 +93583,633 @@ _0802F73C: .4byte 0x084ED6CC _0802F740: .4byte 0x06014FA0 _0802F744: .4byte 0x80000100 _0802F748: - movs r0, #0xc8 - strh r0, [r6, #4] + movs r0, #0xc8 + strh r0, [r6, #4] _0802F74C: - adds r5, r6, #0 - adds r5, #8 - ldr r4, _0802F790 @ =0x03005000 - 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 r7, _0802F794 @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _0802F798 @ =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] + adds r5, r6, #0 + adds r5, #8 + ldr r4, _0802F790 @ =0x03005000 + 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 r7, _0802F794 @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _0802F798 @ =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] _0802F780: - 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 + 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 _0802F790: .4byte 0x03005000 _0802F794: .4byte 0x000001FF _0802F798: .4byte 0xFFFFFE00 - thumb_func_start sub_2F79C + thumb_func_start sub_2F79C sub_2F79C: @ 0x0802F79C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - movs r1, #0 - ldr r0, _0802F7D0 @ =0x020314E0 - mov r8, r0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + movs r1, #0 + ldr r0, _0802F7D0 @ =0x020314E0 + mov r8, r0 _0802F7A8: - mov r2, r8 - ldr r0, [r2] - lsls r2, r1, #0x10 - asrs r1, r2, #0x10 - ldr r3, _0802F7D4 @ =0x0000036A - adds r0, r0, r3 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r6, r2, #0 - cmp r0, #5 - bls _0802F7C4 - b _0802FB26 + mov r2, r8 + ldr r0, [r2] + lsls r2, r1, #0x10 + asrs r1, r2, #0x10 + ldr r3, _0802F7D4 @ =0x0000036A + adds r0, r0, r3 + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r6, r2, #0 + cmp r0, #5 + bls _0802F7C4 + b _0802FB26 _0802F7C4: - lsls r0, r0, #2 - ldr r1, _0802F7D8 @ =_0802F7DC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _0802F7D8 @ =_0802F7DC + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0802F7D0: .4byte 0x020314E0 _0802F7D4: .4byte 0x0000036A _0802F7D8: .4byte _0802F7DC _0802F7DC: @ jump table - .4byte _0802F7F4 @ case 0 - .4byte _0802F87E @ case 1 - .4byte _0802F944 @ case 2 - .4byte _0802F9E4 @ case 3 - .4byte _0802FA28 @ case 4 - .4byte _0802FAA2 @ case 5 + .4byte _0802F7F4 @ case 0 + .4byte _0802F87E @ case 1 + .4byte _0802F944 @ case 2 + .4byte _0802F9E4 @ case 3 + .4byte _0802FA28 @ case 4 + .4byte _0802FAA2 @ case 5 _0802F7F4: - ldr r1, _0802F828 @ =0x086AE4FC - mov r4, r8 - ldr r2, [r4] - asrs r4, r6, #0x10 - movs r5, #0xdb - lsls r5, r5, #2 - adds r0, r2, r5 - adds r3, r0, r4 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - adds r1, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - lsls r5, r4, #1 - ldr r1, _0802F82C @ =0x0000036E - adds r2, r2, r1 - adds r2, r2, r5 - ldrh r1, [r2] - cmp r0, r1 - ble _0802F830 - adds r0, r1, #1 - strh r0, [r2] - b _0802F858 - .align 2, 0 + ldr r1, _0802F828 @ =0x086AE4FC + mov r4, r8 + ldr r2, [r4] + asrs r4, r6, #0x10 + movs r5, #0xdb + lsls r5, r5, #2 + adds r0, r2, r5 + adds r3, r0, r4 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #2 + adds r1, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + lsls r5, r4, #1 + ldr r1, _0802F82C @ =0x0000036E + adds r2, r2, r1 + adds r2, r2, r5 + ldrh r1, [r2] + cmp r0, r1 + ble _0802F830 + adds r0, r1, #1 + strh r0, [r2] + b _0802F858 + .align 2, 0 _0802F828: .4byte 0x086AE4FC _0802F82C: .4byte 0x0000036E _0802F830: - ldrb r0, [r3] - adds r0, #1 - movs r2, #0 - strb r0, [r3] - mov r3, r8 - ldr r1, [r3] - ldr r3, _0802F870 @ =0x0000036E - adds r0, r1, r3 - adds r0, r0, r5 - movs r3, #0 - strh r2, [r0] - movs r5, #0xdb - lsls r5, r5, #2 - adds r1, r1, r5 - adds r1, r1, r4 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #3 - ble _0802F858 - strb r3, [r1] + ldrb r0, [r3] + adds r0, #1 + movs r2, #0 + strb r0, [r3] + mov r3, r8 + ldr r1, [r3] + ldr r3, _0802F870 @ =0x0000036E + adds r0, r1, r3 + adds r0, r0, r5 + movs r3, #0 + strh r2, [r0] + movs r5, #0xdb + lsls r5, r5, #2 + adds r1, r1, r5 + adds r1, r1, r4 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #3 + ble _0802F858 + strb r3, [r1] _0802F858: - mov r1, r8 - ldr r0, [r1] - asrs r1, r6, #0xf - ldr r2, _0802F874 @ =0x00000372 - adds r0, r0, r2 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, #0x97 - bhi _0802F878 - adds r0, #1 - strh r0, [r1] - b _0802FB26 - .align 2, 0 + mov r1, r8 + ldr r0, [r1] + asrs r1, r6, #0xf + ldr r2, _0802F874 @ =0x00000372 + adds r0, r0, r2 + adds r1, r0, r1 + ldrh r0, [r1] + cmp r0, #0x97 + bhi _0802F878 + adds r0, #1 + strh r0, [r1] + b _0802FB26 + .align 2, 0 _0802F870: .4byte 0x0000036E _0802F874: .4byte 0x00000372 _0802F878: - movs r0, #0 - strh r0, [r1] - b _0802FB26 + movs r0, #0 + strh r0, [r1] + b _0802FB26 _0802F87E: - ldr r2, _0802F8B0 @ =0x086AE4FC - ldr r7, _0802F8B4 @ =0x020314E0 - ldr r1, [r7] - asrs r4, r6, #0x10 - movs r3, #0xdb - lsls r3, r3, #2 - adds r0, r1, r3 - adds r3, r0, r4 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - adds r2, #2 - adds r0, r0, r2 - movs r5, #0 - ldrsh r0, [r0, r5] - lsls r5, r4, #1 - ldr r2, _0802F8B8 @ =0x0000036E - adds r1, r1, r2 - adds r1, r1, r5 - ldrh r2, [r1] - cmp r0, r2 - ble _0802F8BC - adds r0, r2, #1 - strh r0, [r1] - b _0802F8EC - .align 2, 0 + ldr r2, _0802F8B0 @ =0x086AE4FC + ldr r7, _0802F8B4 @ =0x020314E0 + ldr r1, [r7] + asrs r4, r6, #0x10 + movs r3, #0xdb + lsls r3, r3, #2 + adds r0, r1, r3 + adds r3, r0, r4 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #2 + adds r2, #2 + adds r0, r0, r2 + movs r5, #0 + ldrsh r0, [r0, r5] + lsls r5, r4, #1 + ldr r2, _0802F8B8 @ =0x0000036E + adds r1, r1, r2 + adds r1, r1, r5 + ldrh r2, [r1] + cmp r0, r2 + ble _0802F8BC + adds r0, r2, #1 + strh r0, [r1] + b _0802F8EC + .align 2, 0 _0802F8B0: .4byte 0x086AE4FC _0802F8B4: .4byte 0x020314E0 _0802F8B8: .4byte 0x0000036E _0802F8BC: - ldrb r0, [r3] - adds r0, #1 - movs r2, #0 - strb r0, [r3] - ldr r1, [r7] - ldr r3, _0802F938 @ =0x0000036E - adds r0, r1, r3 - adds r0, r0, r5 - strh r2, [r0] - movs r5, #0xdb - lsls r5, r5, #2 - adds r1, r1, r5 - adds r1, r1, r4 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #5 - bne _0802F8EC - movs r0, #0xe6 - bl m4aSongNumStart - ldr r1, [r7] - movs r0, #0xfa - lsls r0, r0, #3 - str r0, [r1, #0x3c] + ldrb r0, [r3] + adds r0, #1 + movs r2, #0 + strb r0, [r3] + ldr r1, [r7] + ldr r3, _0802F938 @ =0x0000036E + adds r0, r1, r3 + adds r0, r0, r5 + strh r2, [r0] + movs r5, #0xdb + lsls r5, r5, #2 + adds r1, r1, r5 + adds r1, r1, r4 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #5 + bne _0802F8EC + movs r0, #0xe6 + bl m4aSongNumStart + ldr r1, [r7] + movs r0, #0xfa + lsls r0, r0, #3 + str r0, [r1, #0x3c] _0802F8EC: - ldr r0, _0802F93C @ =0x020314E0 - ldr r3, [r0] - asrs r2, r6, #0x10 - movs r4, #0xdb - lsls r4, r4, #2 - adds r1, r3, r4 - adds r5, r1, r2 - movs r1, #0 - ldrsb r1, [r5, r1] - mov r8, r0 - cmp r1, #6 - beq _0802F906 - b _0802FB16 + ldr r0, _0802F93C @ =0x020314E0 + ldr r3, [r0] + asrs r2, r6, #0x10 + movs r4, #0xdb + lsls r4, r4, #2 + adds r1, r3, r4 + adds r5, r1, r2 + movs r1, #0 + ldrsb r1, [r5, r1] + mov r8, r0 + cmp r1, #6 + beq _0802F906 + b _0802FB16 _0802F906: - ldr r1, _0802F940 @ =0x00000376 - adds r0, r3, r1 - ldrh r0, [r0] - cmp r0, #0 - beq _0802F926 - cmp r0, #1 - bne _0802F926 - movs r0, #7 - strb r0, [r5] - mov r3, r8 - ldr r0, [r3] - subs r4, #2 - adds r0, r0, r4 - adds r0, r0, r2 - movs r1, #2 - strb r1, [r0] + ldr r1, _0802F940 @ =0x00000376 + adds r0, r3, r1 + ldrh r0, [r0] + cmp r0, #0 + beq _0802F926 + cmp r0, #1 + bne _0802F926 + movs r0, #7 + strb r0, [r5] + mov r3, r8 + ldr r0, [r3] + subs r4, #2 + adds r0, r0, r4 + adds r0, r0, r2 + movs r1, #2 + strb r1, [r0] _0802F926: - mov r5, r8 - ldr r0, [r5] - asrs r1, r6, #0xf - ldr r2, _0802F938 @ =0x0000036E - adds r0, r0, r2 - adds r0, r0, r1 - movs r1, #0 - strh r1, [r0] - b _0802FB16 - .align 2, 0 + mov r5, r8 + ldr r0, [r5] + asrs r1, r6, #0xf + ldr r2, _0802F938 @ =0x0000036E + adds r0, r0, r2 + adds r0, r0, r1 + movs r1, #0 + strh r1, [r0] + b _0802FB16 + .align 2, 0 _0802F938: .4byte 0x0000036E _0802F93C: .4byte 0x020314E0 _0802F940: .4byte 0x00000376 _0802F944: - ldr r1, _0802F978 @ =0x086AE4FC - mov r5, r8 - ldr r2, [r5] - asrs r5, r6, #0x10 - movs r7, #0xdb - lsls r7, r7, #2 - adds r0, r2, r7 - adds r3, r0, r5 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - adds r1, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - lsls r4, r5, #1 - ldr r1, _0802F97C @ =0x0000036E - adds r2, r2, r1 - adds r2, r2, r4 - ldrh r1, [r2] - cmp r0, r1 - ble _0802F980 - adds r0, r1, #1 - strh r0, [r2] - b _0802F9CA - .align 2, 0 + ldr r1, _0802F978 @ =0x086AE4FC + mov r5, r8 + ldr r2, [r5] + asrs r5, r6, #0x10 + movs r7, #0xdb + lsls r7, r7, #2 + adds r0, r2, r7 + adds r3, r0, r5 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #2 + adds r1, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + lsls r4, r5, #1 + ldr r1, _0802F97C @ =0x0000036E + adds r2, r2, r1 + adds r2, r2, r4 + ldrh r1, [r2] + cmp r0, r1 + ble _0802F980 + adds r0, r1, #1 + strh r0, [r2] + b _0802F9CA + .align 2, 0 _0802F978: .4byte 0x086AE4FC _0802F97C: .4byte 0x0000036E _0802F980: - ldrb r0, [r3] - adds r0, #1 - movs r2, #0 - strb r0, [r3] - mov r3, r8 - ldr r1, [r3] - ldr r3, _0802F9D8 @ =0x0000036E - adds r0, r1, r3 - adds r0, r0, r4 - movs r4, #0 - strh r2, [r0] - movs r0, #0xdb - lsls r0, r0, #2 - adds r1, r1, r0 - adds r1, r1, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #8 - bne _0802F9AC - movs r0, #0xe7 - bl m4aSongNumStart + ldrb r0, [r3] + adds r0, #1 + movs r2, #0 + strb r0, [r3] + mov r3, r8 + ldr r1, [r3] + ldr r3, _0802F9D8 @ =0x0000036E + adds r0, r1, r3 + adds r0, r0, r4 + movs r4, #0 + strh r2, [r0] + movs r0, #0xdb + lsls r0, r0, #2 + adds r1, r1, r0 + adds r1, r1, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #8 + bne _0802F9AC + movs r0, #0xe7 + bl m4aSongNumStart _0802F9AC: - mov r1, r8 - ldr r0, [r1] - adds r0, r0, r7 - adds r1, r0, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #8 - ble _0802F9CA - strb r4, [r1] - mov r2, r8 - ldr r0, [r2] - ldr r3, _0802F9DC @ =0x0000036A - adds r0, r0, r3 - adds r0, r0, r5 - strb r4, [r0] + mov r1, r8 + ldr r0, [r1] + adds r0, r0, r7 + adds r1, r0, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #8 + ble _0802F9CA + strb r4, [r1] + mov r2, r8 + ldr r0, [r2] + ldr r3, _0802F9DC @ =0x0000036A + adds r0, r0, r3 + adds r0, r0, r5 + strb r4, [r0] _0802F9CA: - mov r4, r8 - ldr r0, [r4] - asrs r1, r6, #0xf - ldr r5, _0802F9E0 @ =0x00000372 - adds r0, r0, r5 - b _0802FB20 - .align 2, 0 + mov r4, r8 + ldr r0, [r4] + asrs r1, r6, #0xf + ldr r5, _0802F9E0 @ =0x00000372 + adds r0, r0, r5 + b _0802FB20 + .align 2, 0 _0802F9D8: .4byte 0x0000036E _0802F9DC: .4byte 0x0000036A _0802F9E0: .4byte 0x00000372 _0802F9E4: - mov r0, r8 - ldr r1, [r0] - asrs r2, r6, #0x10 - movs r3, #0xdb - lsls r3, r3, #2 - adds r1, r1, r3 - adds r1, r1, r2 - movs r4, #0 - movs r0, #9 - strb r0, [r1] - mov r5, r8 - ldr r1, [r5] - lsls r3, r2, #1 - ldr r5, _0802FA1C @ =0x0000036E - adds r0, r1, r5 - adds r0, r0, r3 - strh r4, [r0] - ldr r0, _0802FA20 @ =0x0000036A - adds r1, r1, r0 - adds r1, r1, r2 - movs r0, #4 - strb r0, [r1] - mov r1, r8 - ldr r0, [r1] - ldr r2, _0802FA24 @ =0x00000372 - adds r0, r0, r2 - adds r0, r0, r3 - b _0802FB22 - .align 2, 0 + mov r0, r8 + ldr r1, [r0] + asrs r2, r6, #0x10 + movs r3, #0xdb + lsls r3, r3, #2 + adds r1, r1, r3 + adds r1, r1, r2 + movs r4, #0 + movs r0, #9 + strb r0, [r1] + mov r5, r8 + ldr r1, [r5] + lsls r3, r2, #1 + ldr r5, _0802FA1C @ =0x0000036E + adds r0, r1, r5 + adds r0, r0, r3 + strh r4, [r0] + ldr r0, _0802FA20 @ =0x0000036A + adds r1, r1, r0 + adds r1, r1, r2 + movs r0, #4 + strb r0, [r1] + mov r1, r8 + ldr r0, [r1] + ldr r2, _0802FA24 @ =0x00000372 + adds r0, r0, r2 + adds r0, r0, r3 + b _0802FB22 + .align 2, 0 _0802FA1C: .4byte 0x0000036E _0802FA20: .4byte 0x0000036A _0802FA24: .4byte 0x00000372 _0802FA28: - ldr r1, _0802FA90 @ =0x086AE4FC - mov r3, r8 - ldr r2, [r3] - asrs r5, r6, #0x10 - movs r4, #0xdb - lsls r4, r4, #2 - adds r0, r2, r4 - adds r3, r0, r5 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - adds r1, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - lsls r4, r5, #1 - ldr r1, _0802FA94 @ =0x0000036E - adds r2, r2, r1 - adds r2, r2, r4 - ldrh r1, [r2] - cmp r0, r1 - bgt _0802FACE - ldrb r0, [r3] - adds r0, #1 - movs r1, #0 - strb r0, [r3] - mov r3, r8 - ldr r2, [r3] - ldr r3, _0802FA94 @ =0x0000036E - adds r0, r2, r3 - adds r0, r0, r4 - movs r3, #0 - strh r1, [r0] - movs r4, #0xdb - lsls r4, r4, #2 - adds r0, r2, r4 - adds r1, r0, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0x11 - ble _0802FB16 - movs r0, #0x13 - ldrsb r0, [r2, r0] - cmp r0, #6 - bne _0802FA9C - strb r3, [r1] - mov r1, r8 - ldr r0, [r1] - ldr r2, _0802FA98 @ =0x0000036A - adds r0, r0, r2 - adds r0, r0, r5 - b _0802FB14 - .align 2, 0 + ldr r1, _0802FA90 @ =0x086AE4FC + mov r3, r8 + ldr r2, [r3] + asrs r5, r6, #0x10 + movs r4, #0xdb + lsls r4, r4, #2 + adds r0, r2, r4 + adds r3, r0, r5 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #2 + adds r1, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + lsls r4, r5, #1 + ldr r1, _0802FA94 @ =0x0000036E + adds r2, r2, r1 + adds r2, r2, r4 + ldrh r1, [r2] + cmp r0, r1 + bgt _0802FACE + ldrb r0, [r3] + adds r0, #1 + movs r1, #0 + strb r0, [r3] + mov r3, r8 + ldr r2, [r3] + ldr r3, _0802FA94 @ =0x0000036E + adds r0, r2, r3 + adds r0, r0, r4 + movs r3, #0 + strh r1, [r0] + movs r4, #0xdb + lsls r4, r4, #2 + adds r0, r2, r4 + adds r1, r0, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0x11 + ble _0802FB16 + movs r0, #0x13 + ldrsb r0, [r2, r0] + cmp r0, #6 + bne _0802FA9C + strb r3, [r1] + mov r1, r8 + ldr r0, [r1] + ldr r2, _0802FA98 @ =0x0000036A + adds r0, r0, r2 + adds r0, r0, r5 + b _0802FB14 + .align 2, 0 _0802FA90: .4byte 0x086AE4FC _0802FA94: .4byte 0x0000036E _0802FA98: .4byte 0x0000036A _0802FA9C: - movs r0, #9 - strb r0, [r1] - b _0802FB16 + movs r0, #9 + strb r0, [r1] + b _0802FB16 _0802FAA2: - ldr r1, _0802FAD4 @ =0x086AE4FC - mov r5, r8 - ldr r2, [r5] - asrs r4, r6, #0x10 - movs r7, #0xdb - lsls r7, r7, #2 - adds r0, r2, r7 - adds r3, r0, r4 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - adds r1, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - lsls r5, r4, #1 - ldr r1, _0802FAD8 @ =0x0000036E - adds r2, r2, r1 - adds r2, r2, r5 - ldrh r1, [r2] - cmp r0, r1 - ble _0802FADC + ldr r1, _0802FAD4 @ =0x086AE4FC + mov r5, r8 + ldr r2, [r5] + asrs r4, r6, #0x10 + movs r7, #0xdb + lsls r7, r7, #2 + adds r0, r2, r7 + adds r3, r0, r4 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #2 + adds r1, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + lsls r5, r4, #1 + ldr r1, _0802FAD8 @ =0x0000036E + adds r2, r2, r1 + adds r2, r2, r5 + ldrh r1, [r2] + cmp r0, r1 + ble _0802FADC _0802FACE: - adds r0, r1, #1 - strh r0, [r2] - b _0802FB16 - .align 2, 0 + adds r0, r1, #1 + strh r0, [r2] + b _0802FB16 + .align 2, 0 _0802FAD4: .4byte 0x086AE4FC _0802FAD8: .4byte 0x0000036E _0802FADC: - ldrb r0, [r3] - adds r0, #1 - movs r1, #0 - strb r0, [r3] - mov r3, r8 - ldr r2, [r3] - ldr r3, _0802FC24 @ =0x0000036E - adds r0, r2, r3 - adds r0, r0, r5 - movs r3, #0 - strh r1, [r0] - movs r5, #0xdb - lsls r5, r5, #2 - adds r0, r2, r5 - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x11 - ble _0802FB16 - ldr r1, _0802FC28 @ =0x0000036A - adds r0, r2, r1 - adds r0, r0, r4 - strb r3, [r0] - mov r2, r8 - ldr r0, [r2] - adds r0, r0, r7 - adds r0, r0, r4 + ldrb r0, [r3] + adds r0, #1 + movs r1, #0 + strb r0, [r3] + mov r3, r8 + ldr r2, [r3] + ldr r3, _0802FC24 @ =0x0000036E + adds r0, r2, r3 + adds r0, r0, r5 + movs r3, #0 + strh r1, [r0] + movs r5, #0xdb + lsls r5, r5, #2 + adds r0, r2, r5 + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x11 + ble _0802FB16 + ldr r1, _0802FC28 @ =0x0000036A + adds r0, r2, r1 + adds r0, r0, r4 + strb r3, [r0] + mov r2, r8 + ldr r0, [r2] + adds r0, r0, r7 + adds r0, r0, r4 _0802FB14: - strb r3, [r0] + strb r3, [r0] _0802FB16: - mov r3, r8 - ldr r0, [r3] - asrs r1, r6, #0xf - ldr r4, _0802FC2C @ =0x00000372 - adds r0, r0, r4 + mov r3, r8 + ldr r0, [r3] + asrs r1, r6, #0xf + ldr r4, _0802FC2C @ =0x00000372 + adds r0, r0, r4 _0802FB20: - adds r0, r0, r1 + adds r0, r0, r1 _0802FB22: - movs r1, #0x14 - strh r1, [r0] + movs r1, #0x14 + strh r1, [r0] _0802FB26: - movs r5, #0x80 - lsls r5, r5, #9 - adds r0, r6, r5 - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - bgt _0802FB36 - b _0802F7A8 + movs r5, #0x80 + lsls r5, r5, #9 + adds r0, r6, r5 + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + bgt _0802FB36 + b _0802F7A8 _0802FB36: - mov r0, r8 - ldr r1, [r0] - adds r0, r1, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - beq _0802FB56 - ldr r2, _0802FC30 @ =0x00000376 - adds r1, r1, r2 - ldrh r0, [r1] - cmp r0, #0 - beq _0802FB56 - subs r0, #1 - strh r0, [r1] + mov r0, r8 + ldr r1, [r0] + adds r0, r1, #0 + adds r0, #0x25 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + beq _0802FB56 + ldr r2, _0802FC30 @ =0x00000376 + adds r1, r1, r2 + ldrh r0, [r1] + cmp r0, #0 + beq _0802FB56 + subs r0, #1 + strh r0, [r1] _0802FB56: - mov r3, r8 - ldr r2, [r3] - ldr r4, _0802FC34 @ =0x00001328 - adds r1, r2, r4 - ldrh r0, [r1] - cmp r0, #0 - beq _0802FB78 - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0802FB78 - ldr r5, _0802FC38 @ =0x00001330 - adds r1, r2, r5 - ldr r3, _0802FC3C @ =0x00001334 - adds r0, r2, r3 - str r0, [r1] + mov r3, r8 + ldr r2, [r3] + ldr r4, _0802FC34 @ =0x00001328 + adds r1, r2, r4 + ldrh r0, [r1] + cmp r0, #0 + beq _0802FB78 + subs r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0802FB78 + ldr r5, _0802FC38 @ =0x00001330 + adds r1, r2, r5 + ldr r3, _0802FC3C @ =0x00001334 + adds r0, r2, r3 + str r0, [r1] _0802FB78: - mov r4, r8 - ldr r0, [r4] - movs r6, #0xda - lsls r6, r6, #2 - adds r0, r0, r6 - ldrh r0, [r0] - cmp r0, #0 - beq _0802FBCE - cmp r0, #0x11 - bne _0802FB9E - movs r0, #0xe8 - bl m4aSongNumStart - ldr r1, [r4] - movs r0, #0xa - str r0, [r1, #0x3c] - movs r0, #0xd - bl sub_11B0 + mov r4, r8 + ldr r0, [r4] + movs r6, #0xda + lsls r6, r6, #2 + adds r0, r0, r6 + ldrh r0, [r0] + cmp r0, #0 + beq _0802FBCE + cmp r0, #0x11 + bne _0802FB9E + movs r0, #0xe8 + bl m4aSongNumStart + ldr r1, [r4] + movs r0, #0xa + str r0, [r1, #0x3c] + movs r0, #0xd + bl sub_11B0 _0802FB9E: - ldr r5, _0802FC40 @ =0x08137CD6 - mov r0, r8 - ldr r4, [r0] - adds r4, r4, r6 - ldrh r0, [r4] - movs r1, #3 - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0xf - adds r0, r0, r5 - movs r1, #0 - ldrsh r2, [r0, r1] - ldr r3, _0802FC44 @ =0x0400004C - lsls r0, r2, #0xc - lsls r1, r2, #8 - orrs r0, r1 - lsls r1, r2, #4 - orrs r0, r1 - orrs r0, r2 - strh r0, [r3] - ldrh r0, [r4] - subs r0, #1 - strh r0, [r4] + ldr r5, _0802FC40 @ =0x08137CD6 + mov r0, r8 + ldr r4, [r0] + adds r4, r4, r6 + ldrh r0, [r4] + movs r1, #3 + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0xf + adds r0, r0, r5 + movs r1, #0 + ldrsh r2, [r0, r1] + ldr r3, _0802FC44 @ =0x0400004C + lsls r0, r2, #0xc + lsls r1, r2, #8 + orrs r0, r1 + lsls r1, r2, #4 + orrs r0, r1 + orrs r0, r2 + strh r0, [r3] + ldrh r0, [r4] + subs r0, #1 + strh r0, [r4] _0802FBCE: - mov r3, r8 - ldr r1, [r3] - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #2 - ble _0802FC48 - cmp r0, #6 - beq _0802FCB8 - movs r1, #0 - movs r3, #0 + mov r3, r8 + ldr r1, [r3] + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #2 + ble _0802FC48 + cmp r0, #6 + beq _0802FCB8 + movs r1, #0 + movs r3, #0 _0802FBE2: - mov r2, r8 - ldr r0, [r2] - lsls r1, r1, #0x10 - asrs r2, r1, #0x10 - ldr r4, _0802FC28 @ =0x0000036A - adds r0, r0, r4 - adds r1, r0, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _0802FC14 - strb r3, [r1] - mov r5, r8 - ldr r0, [r5] - movs r1, #0xdb - lsls r1, r1, #2 - adds r0, r0, r1 - adds r0, r0, r2 - strb r3, [r0] - ldr r0, [r5] - lsls r1, r2, #1 - adds r4, #4 - adds r0, r0, r4 - adds r0, r0, r1 - strh r3, [r0] + mov r2, r8 + ldr r0, [r2] + lsls r1, r1, #0x10 + asrs r2, r1, #0x10 + ldr r4, _0802FC28 @ =0x0000036A + adds r0, r0, r4 + adds r1, r0, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + beq _0802FC14 + strb r3, [r1] + mov r5, r8 + ldr r0, [r5] + movs r1, #0xdb + lsls r1, r1, #2 + adds r0, r0, r1 + adds r0, r0, r2 + strb r3, [r0] + ldr r0, [r5] + lsls r1, r2, #1 + adds r4, #4 + adds r0, r0, r4 + adds r0, r0, r1 + strh r3, [r0] _0802FC14: - adds r0, r2, #1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - ble _0802FBE2 - b _0802FCB8 - .align 2, 0 + adds r0, r2, #1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + ble _0802FBE2 + b _0802FCB8 + .align 2, 0 _0802FC24: .4byte 0x0000036E _0802FC28: .4byte 0x0000036A _0802FC2C: .4byte 0x00000372 @@ -94220,202 +94220,202 @@ _0802FC3C: .4byte 0x00001334 _0802FC40: .4byte 0x08137CD6 _0802FC44: .4byte 0x0400004C _0802FC48: - ldr r5, _0802FC7C @ =0x0000072E - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - ble _0802FC8C - ldr r2, _0802FC80 @ =0x00000281 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _0802FCB8 - ldr r4, _0802FC84 @ =0x0000036A - adds r2, r1, r4 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #2 - bgt _0802FCB8 - movs r1, #3 - strb r1, [r2] - ldr r0, [r3] - ldr r5, _0802FC88 @ =0x0000036B - b _0802FCB4 - .align 2, 0 + ldr r5, _0802FC7C @ =0x0000072E + adds r0, r1, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + ble _0802FC8C + ldr r2, _0802FC80 @ =0x00000281 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _0802FCB8 + ldr r4, _0802FC84 @ =0x0000036A + adds r2, r1, r4 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #2 + bgt _0802FCB8 + movs r1, #3 + strb r1, [r2] + ldr r0, [r3] + ldr r5, _0802FC88 @ =0x0000036B + b _0802FCB4 + .align 2, 0 _0802FC7C: .4byte 0x0000072E _0802FC80: .4byte 0x00000281 _0802FC84: .4byte 0x0000036A _0802FC88: .4byte 0x0000036B _0802FC8C: - ldr r0, _0802FCC4 @ =0x0000036A - adds r2, r1, r0 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #2 - ble _0802FCB8 - movs r1, #0 - strb r1, [r2] - mov r2, r8 - ldr r0, [r2] - movs r3, #0xdb - lsls r3, r3, #2 - adds r0, r0, r3 - strb r1, [r0] - ldr r0, [r2] - ldr r4, _0802FCC8 @ =0x0000036B - adds r0, r0, r4 - strb r1, [r0] - ldr r0, [r2] - ldr r5, _0802FCCC @ =0x0000036D + ldr r0, _0802FCC4 @ =0x0000036A + adds r2, r1, r0 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #2 + ble _0802FCB8 + movs r1, #0 + strb r1, [r2] + mov r2, r8 + ldr r0, [r2] + movs r3, #0xdb + lsls r3, r3, #2 + adds r0, r0, r3 + strb r1, [r0] + ldr r0, [r2] + ldr r4, _0802FCC8 @ =0x0000036B + adds r0, r0, r4 + strb r1, [r0] + ldr r0, [r2] + ldr r5, _0802FCCC @ =0x0000036D _0802FCB4: - adds r0, r0, r5 - strb r1, [r0] + adds r0, r0, r5 + strb r1, [r0] _0802FCB8: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0802FCC4: .4byte 0x0000036A _0802FCC8: .4byte 0x0000036B _0802FCCC: .4byte 0x0000036D - thumb_func_start sub_2FCD0 + thumb_func_start sub_2FCD0 sub_2FCD0: @ 0x0802FCD0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r6, _0802FDCC @ =0x0200DF90 - ldrh r0, [r6] - cmp r0, #0 - bne _0802FCE4 - b _080300B2 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r6, _0802FDCC @ =0x0200DF90 + ldrh r0, [r6] + cmp r0, #0 + bne _0802FCE4 + b _080300B2 _0802FCE4: - ldr r3, _0802FDD0 @ =0x020314E0 - ldr r0, [r3] - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x44 - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r0, [r3] - adds r0, #0x5a - ldrh r1, [r0] - movs r0, #0x90 - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r4, _0802FDD4 @ =0x086AE4FC - ldr r0, [r3] - movs r1, #0xdb - lsls r1, r1, #2 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r2, _0802FDD8 @ =0x040000D4 - movs r5, #0 - ldrsh r1, [r0, r5] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r1, _0802FDDC @ =0x0847A40C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802FDE0 @ =0x06012DA0 - str r0, [r2, #4] - ldr r0, _0802FDE4 @ =0x80000140 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r0, #0 - mov ip, r3 - ldr r1, _0802FDE8 @ =0x03005000 - mov sb, r1 - ldr r2, _0802FDEC @ =0xFFFFFDD8 - adds r2, r2, r6 - mov sl, r2 - mov r7, sb - ldr r3, _0802FDF0 @ =0xFFFFFE00 - mov r8, r3 + ldr r3, _0802FDD0 @ =0x020314E0 + ldr r0, [r3] + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x44 + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r0, [r3] + adds r0, #0x5a + ldrh r1, [r0] + movs r0, #0x90 + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r4, _0802FDD4 @ =0x086AE4FC + ldr r0, [r3] + movs r1, #0xdb + lsls r1, r1, #2 + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + adds r0, r0, r4 + ldr r2, _0802FDD8 @ =0x040000D4 + movs r5, #0 + ldrsh r1, [r0, r5] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r1, _0802FDDC @ =0x0847A40C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802FDE0 @ =0x06012DA0 + str r0, [r2, #4] + ldr r0, _0802FDE4 @ =0x80000140 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r0, #0 + mov ip, r3 + ldr r1, _0802FDE8 @ =0x03005000 + mov sb, r1 + ldr r2, _0802FDEC @ =0xFFFFFDD8 + adds r2, r2, r6 + mov sl, r2 + mov r7, sb + ldr r3, _0802FDF0 @ =0xFFFFFE00 + mov r8, r3 _0802FD42: - 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, _0802FDF4 @ =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 _0802FD42 - mov r6, sl - mov r3, ip - ldr r0, [r3] - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x44 - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r1, [r3] - ldr r5, _0802FDF8 @ =0x00000372 - adds r0, r1, r5 - ldrh r0, [r0] - cmp r0, #0xd - bhi _0802FE08 - adds r0, r1, #0 - adds r0, #0x5a - ldrh r1, [r0] - movs r0, #0x90 - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r0, [r3] - adds r0, r0, r5 - ldrh r0, [r0] - ldr r2, _0802FDD8 @ =0x040000D4 - lsrs r0, r0, #1 - lsls r0, r0, #9 - ldr r1, _0802FDFC @ =0x0847D10C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802FE00 @ =0x06014720 - str r0, [r2, #4] - ldr r0, _0802FE04 @ =0x800000C0 - str r0, [r2, #8] - ldr r0, [r2, #8] - b _0802FE0C - .align 2, 0 + 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, _0802FDF4 @ =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 _0802FD42 + mov r6, sl + mov r3, ip + ldr r0, [r3] + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x44 + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r1, [r3] + ldr r5, _0802FDF8 @ =0x00000372 + adds r0, r1, r5 + ldrh r0, [r0] + cmp r0, #0xd + bhi _0802FE08 + adds r0, r1, #0 + adds r0, #0x5a + ldrh r1, [r0] + movs r0, #0x90 + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r0, [r3] + adds r0, r0, r5 + ldrh r0, [r0] + ldr r2, _0802FDD8 @ =0x040000D4 + lsrs r0, r0, #1 + lsls r0, r0, #9 + ldr r1, _0802FDFC @ =0x0847D10C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802FE00 @ =0x06014720 + str r0, [r2, #4] + ldr r0, _0802FE04 @ =0x800000C0 + str r0, [r2, #8] + ldr r0, [r2, #8] + b _0802FE0C + .align 2, 0 _0802FDCC: .4byte 0x0200DF90 _0802FDD0: .4byte 0x020314E0 _0802FDD4: .4byte 0x086AE4FC @@ -94432,147 +94432,147 @@ _0802FDFC: .4byte 0x0847D10C _0802FE00: .4byte 0x06014720 _0802FE04: .4byte 0x800000C0 _0802FE08: - movs r0, #0xc8 - strh r0, [r6, #4] + movs r0, #0xc8 + strh r0, [r6, #4] _0802FE0C: - adds r5, r6, #0 - adds r5, #8 - ldrh r2, [r6, #8] - lsls r2, r2, #3 - add r2, sb - movs r0, #2 - ldrsh r1, [r5, r0] - movs r3, #2 - ldrsh r0, [r6, r3] - adds r1, r1, r0 - ldr r3, _0802FF1C @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r4, _0802FF20 @ =0xFFFFFE00 - adds r0, r4, #0 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r6, #8] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r6, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] - ldr r6, _0802FF24 @ =0x0200E048 - mov r5, ip - ldr r0, [r5] - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x24 - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r0, [r5] - adds r0, #0x5a - ldrh r1, [r0] - movs r0, #0xa3 - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r0, [r5] - ldr r1, _0802FF28 @ =0x0000036D - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - ldr r2, _0802FF2C @ =0x086AE4FC - adds r0, r0, r2 - ldr r2, _0802FF30 @ =0x040000D4 - movs r3, #0 - ldrsh r1, [r0, r3] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #8 - ldr r5, _0802FF34 @ =0x084C1E6C - adds r0, r0, r5 - str r0, [r2] - ldr r0, _0802FF38 @ =0x060130A0 - str r0, [r2, #4] - ldr r0, _0802FF3C @ =0x80000140 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r0, #0 - mov r7, sb - mov r8, r4 + adds r5, r6, #0 + adds r5, #8 + ldrh r2, [r6, #8] + lsls r2, r2, #3 + add r2, sb + movs r0, #2 + ldrsh r1, [r5, r0] + movs r3, #2 + ldrsh r0, [r6, r3] + adds r1, r1, r0 + ldr r3, _0802FF1C @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r4, _0802FF20 @ =0xFFFFFE00 + adds r0, r4, #0 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r6, #8] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r6, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] + ldr r6, _0802FF24 @ =0x0200E048 + mov r5, ip + ldr r0, [r5] + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x24 + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r0, [r5] + adds r0, #0x5a + ldrh r1, [r0] + movs r0, #0xa3 + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r0, [r5] + ldr r1, _0802FF28 @ =0x0000036D + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + ldr r2, _0802FF2C @ =0x086AE4FC + adds r0, r0, r2 + ldr r2, _0802FF30 @ =0x040000D4 + movs r3, #0 + ldrsh r1, [r0, r3] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #8 + ldr r5, _0802FF34 @ =0x084C1E6C + adds r0, r0, r5 + str r0, [r2] + ldr r0, _0802FF38 @ =0x060130A0 + str r0, [r2, #4] + ldr r0, _0802FF3C @ =0x80000140 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r0, #0 + mov r7, sb + mov r8, r4 _0802FE90: - 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, _0802FF1C @ =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 _0802FE90 - ldr r6, _0802FF40 @ =0x0200DE20 - mov r3, ip - ldr r0, [r3] - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x24 - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r1, [r3] - movs r5, #0xdd - lsls r5, r5, #2 - adds r0, r1, r5 - ldrh r0, [r0] - cmp r0, #0xd - bhi _0802FF50 - adds r0, r1, #0 - adds r0, #0x5a - ldrh r1, [r0] - movs r0, #0xa3 - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r0, [r3] - adds r0, r0, r5 - ldrh r0, [r0] - ldr r2, _0802FF30 @ =0x040000D4 - lsrs r0, r0, #1 - lsls r0, r0, #9 - ldr r1, _0802FF44 @ =0x084C4B6C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0802FF48 @ =0x06014920 - str r0, [r2, #4] - ldr r0, _0802FF4C @ =0x800000C0 - str r0, [r2, #8] - ldr r0, [r2, #8] - b _0802FF54 - .align 2, 0 + 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, _0802FF1C @ =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 _0802FE90 + ldr r6, _0802FF40 @ =0x0200DE20 + mov r3, ip + ldr r0, [r3] + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x24 + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r1, [r3] + movs r5, #0xdd + lsls r5, r5, #2 + adds r0, r1, r5 + ldrh r0, [r0] + cmp r0, #0xd + bhi _0802FF50 + adds r0, r1, #0 + adds r0, #0x5a + ldrh r1, [r0] + movs r0, #0xa3 + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r0, [r3] + adds r0, r0, r5 + ldrh r0, [r0] + ldr r2, _0802FF30 @ =0x040000D4 + lsrs r0, r0, #1 + lsls r0, r0, #9 + ldr r1, _0802FF44 @ =0x084C4B6C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0802FF48 @ =0x06014920 + str r0, [r2, #4] + ldr r0, _0802FF4C @ =0x800000C0 + str r0, [r2, #8] + ldr r0, [r2, #8] + b _0802FF54 + .align 2, 0 _0802FF1C: .4byte 0x000001FF _0802FF20: .4byte 0xFFFFFE00 _0802FF24: .4byte 0x0200E048 @@ -94587,189 +94587,189 @@ _0802FF44: .4byte 0x084C4B6C _0802FF48: .4byte 0x06014920 _0802FF4C: .4byte 0x800000C0 _0802FF50: - movs r0, #0xc8 - strh r0, [r6, #4] + movs r0, #0xc8 + strh r0, [r6, #4] _0802FF54: - adds r5, r6, #0 - adds r5, #8 - ldrh r2, [r6, #8] - lsls r2, r2, #3 - add r2, sb - movs r0, #2 - ldrsh r1, [r5, r0] - movs r3, #2 - ldrsh r0, [r6, r3] - adds r1, r1, r0 - ldr r3, _0802FFBC @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _0802FFC0 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r6, #8] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r6, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] - ldr r6, _0802FFC4 @ =0x0200EA58 - mov r5, ip - ldr r0, [r5] - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x3d - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r0, [r5] - adds r0, #0x5a - ldrh r1, [r0] - movs r0, #0xba - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r1, [r5] - ldr r2, _0802FFC8 @ =0x00000367 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0802FFD0 - ldr r3, _0802FFCC @ =0x00000366 - adds r1, r1, r3 - movs r0, #3 - b _08030032 - .align 2, 0 + adds r5, r6, #0 + adds r5, #8 + ldrh r2, [r6, #8] + lsls r2, r2, #3 + add r2, sb + movs r0, #2 + ldrsh r1, [r5, r0] + movs r3, #2 + ldrsh r0, [r6, r3] + adds r1, r1, r0 + ldr r3, _0802FFBC @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _0802FFC0 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r6, #8] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r6, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] + ldr r6, _0802FFC4 @ =0x0200EA58 + mov r5, ip + ldr r0, [r5] + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x3d + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r0, [r5] + adds r0, #0x5a + ldrh r1, [r0] + movs r0, #0xba + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r1, [r5] + ldr r2, _0802FFC8 @ =0x00000367 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0802FFD0 + ldr r3, _0802FFCC @ =0x00000366 + adds r1, r1, r3 + movs r0, #3 + b _08030032 + .align 2, 0 _0802FFBC: .4byte 0x000001FF _0802FFC0: .4byte 0xFFFFFE00 _0802FFC4: .4byte 0x0200EA58 _0802FFC8: .4byte 0x00000367 _0802FFCC: .4byte 0x00000366 _0802FFD0: - ldr r5, _0802FFF4 @ =0x0000036A - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0803000C - ldr r2, _0802FFF8 @ =0x0000036B - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08030000 - ldr r3, _0802FFFC @ =0x00000366 - adds r1, r1, r3 - movs r0, #3 - b _08030032 - .align 2, 0 + ldr r5, _0802FFF4 @ =0x0000036A + adds r0, r1, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0803000C + ldr r2, _0802FFF8 @ =0x0000036B + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08030000 + ldr r3, _0802FFFC @ =0x00000366 + adds r1, r1, r3 + movs r0, #3 + b _08030032 + .align 2, 0 _0802FFF4: .4byte 0x0000036A _0802FFF8: .4byte 0x0000036B _0802FFFC: .4byte 0x00000366 _08030000: - ldr r5, _08030008 @ =0x00000366 - adds r1, r1, r5 - movs r0, #2 - b _08030032 - .align 2, 0 + ldr r5, _08030008 @ =0x00000366 + adds r1, r1, r5 + movs r0, #2 + b _08030032 + .align 2, 0 _08030008: .4byte 0x00000366 _0803000C: - ldr r2, _08030024 @ =0x0000036B - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0803002C - ldr r3, _08030028 @ =0x00000366 - adds r1, r1, r3 - movs r0, #1 - b _08030032 - .align 2, 0 + ldr r2, _08030024 @ =0x0000036B + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0803002C + ldr r3, _08030028 @ =0x00000366 + adds r1, r1, r3 + movs r0, #1 + b _08030032 + .align 2, 0 _08030024: .4byte 0x0000036B _08030028: .4byte 0x00000366 _0803002C: - ldr r5, _08030064 @ =0x00000366 - adds r1, r1, r5 - movs r0, #0 + ldr r5, _08030064 @ =0x00000366 + adds r1, r1, r5 + movs r0, #0 _08030032: - strb r0, [r1] - mov r0, ip - ldr r3, [r0] - ldr r2, _08030064 @ =0x00000366 - adds r1, r3, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #2 - bgt _08030068 - lsls r4, r0, #1 - adds r4, r4, r0 - movs r5, #0xa4 - lsls r5, r5, #2 - adds r0, r3, r5 - ldr r0, [r0] - movs r1, #0x1e - bl __umodsi3 - movs r1, #0xa - bl __udivsi3 - adds r4, r4, r0 - lsls r4, r4, #0x10 - lsrs r0, r4, #0x10 - b _0803006A - .align 2, 0 + strb r0, [r1] + mov r0, ip + ldr r3, [r0] + ldr r2, _08030064 @ =0x00000366 + adds r1, r3, r2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #2 + bgt _08030068 + lsls r4, r0, #1 + adds r4, r4, r0 + movs r5, #0xa4 + lsls r5, r5, #2 + adds r0, r3, r5 + ldr r0, [r0] + movs r1, #0x1e + bl __umodsi3 + movs r1, #0xa + bl __udivsi3 + adds r4, r4, r0 + lsls r4, r4, #0x10 + lsrs r0, r4, #0x10 + b _0803006A + .align 2, 0 _08030064: .4byte 0x00000366 _08030068: - movs r0, #9 + movs r0, #9 _0803006A: - ldr r1, _080300C0 @ =0x040000D4 - lsls r0, r0, #0x10 - asrs r0, r0, #9 - ldr r2, _080300C4 @ =0x084FEA0C - adds r0, r0, r2 - str r0, [r1] - ldr r0, _080300C8 @ =0x060146A0 - str r0, [r1, #4] - ldr r0, _080300CC @ =0x80000040 - str r0, [r1, #8] - ldr r0, [r1, #8] - adds r5, r6, #0 - adds r5, #8 - ldrh r2, [r6, #8] - lsls r2, r2, #3 - add r2, sb - movs r3, #2 - ldrsh r1, [r5, r3] - movs r3, #2 - ldrsh r0, [r6, r3] - adds r1, r1, r0 - ldr r3, _080300D0 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _080300D4 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r6, #8] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r6, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] + ldr r1, _080300C0 @ =0x040000D4 + lsls r0, r0, #0x10 + asrs r0, r0, #9 + ldr r2, _080300C4 @ =0x084FEA0C + adds r0, r0, r2 + str r0, [r1] + ldr r0, _080300C8 @ =0x060146A0 + str r0, [r1, #4] + ldr r0, _080300CC @ =0x80000040 + str r0, [r1, #8] + ldr r0, [r1, #8] + adds r5, r6, #0 + adds r5, #8 + ldrh r2, [r6, #8] + lsls r2, r2, #3 + add r2, sb + movs r3, #2 + ldrsh r1, [r5, r3] + movs r3, #2 + ldrsh r0, [r6, r3] + adds r1, r1, r0 + ldr r3, _080300D0 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _080300D4 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r6, #8] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r6, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] _080300B2: - 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 + 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 _080300C0: .4byte 0x040000D4 _080300C4: .4byte 0x084FEA0C _080300C8: .4byte 0x060146A0 @@ -94777,297 +94777,297 @@ _080300CC: .4byte 0x80000040 _080300D0: .4byte 0x000001FF _080300D4: .4byte 0xFFFFFE00 - thumb_func_start sub_300D8 + thumb_func_start sub_300D8 sub_300D8: @ 0x080300D8 - push {r4, r5, lr} - ldr r0, _08030170 @ =0x020314E0 - ldr r5, [r0] - movs r0, #0xbc - lsls r0, r0, #1 - adds r1, r5, r0 - movs r0, #0xe6 - lsls r0, r0, #2 - strh r0, [r1] - movs r2, #0xa4 - lsls r2, r2, #2 - adds r4, r5, r2 - ldr r0, [r4] - movs r1, #0x3c - bl __umodsi3 - movs r1, #0x1e - bl __udivsi3 - movs r1, #0x85 - subs r1, r1, r0 - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - movs r2, #0xbd - lsls r2, r2, #1 - adds r1, r5, r2 - strh r0, [r1] - movs r0, #0xbe - lsls r0, r0, #1 - adds r1, r5, r0 - ldr r0, _08030174 @ =0x000004EC - strh r0, [r1] - ldr r0, [r4] - adds r0, #0xa - movs r1, #0x3c - bl __umodsi3 - movs r1, #0x1e - bl __udivsi3 - movs r1, #0x83 - subs r1, r1, r0 - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - movs r2, #0xbf - lsls r2, r2, #1 - adds r1, r5, r2 - strh r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #1 - adds r1, r5, r0 - movs r0, #0x87 - lsls r0, r0, #3 - strh r0, [r1] - ldr r0, [r4] - adds r0, #0x14 - movs r1, #0x3c - bl __umodsi3 - movs r1, #0x1e - bl __udivsi3 - movs r1, #0xa1 - subs r1, r1, r0 - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - movs r2, #0xc1 - lsls r2, r2, #1 - adds r1, r5, r2 - strh r0, [r1] - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, lr} + ldr r0, _08030170 @ =0x020314E0 + ldr r5, [r0] + movs r0, #0xbc + lsls r0, r0, #1 + adds r1, r5, r0 + movs r0, #0xe6 + lsls r0, r0, #2 + strh r0, [r1] + movs r2, #0xa4 + lsls r2, r2, #2 + adds r4, r5, r2 + ldr r0, [r4] + movs r1, #0x3c + bl __umodsi3 + movs r1, #0x1e + bl __udivsi3 + movs r1, #0x85 + subs r1, r1, r0 + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #1 + movs r2, #0xbd + lsls r2, r2, #1 + adds r1, r5, r2 + strh r0, [r1] + movs r0, #0xbe + lsls r0, r0, #1 + adds r1, r5, r0 + ldr r0, _08030174 @ =0x000004EC + strh r0, [r1] + ldr r0, [r4] + adds r0, #0xa + movs r1, #0x3c + bl __umodsi3 + movs r1, #0x1e + bl __udivsi3 + movs r1, #0x83 + subs r1, r1, r0 + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #1 + movs r2, #0xbf + lsls r2, r2, #1 + adds r1, r5, r2 + strh r0, [r1] + movs r0, #0xc0 + lsls r0, r0, #1 + adds r1, r5, r0 + movs r0, #0x87 + lsls r0, r0, #3 + strh r0, [r1] + ldr r0, [r4] + adds r0, #0x14 + movs r1, #0x3c + bl __umodsi3 + movs r1, #0x1e + bl __udivsi3 + movs r1, #0xa1 + subs r1, r1, r0 + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #1 + movs r2, #0xc1 + lsls r2, r2, #1 + adds r1, r5, r2 + strh r0, [r1] + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08030170: .4byte 0x020314E0 _08030174: .4byte 0x000004EC - thumb_func_start sub_30178 + thumb_func_start sub_30178 sub_30178: @ 0x08030178 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r0, _080301DC @ =0x0200E100 - mov sl, r0 - ldr r1, _080301E0 @ =0x020314E0 - ldr r3, [r1] - ldr r2, _080301E4 @ =0x00000624 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bgt _0803019A - b _080302D4 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r0, _080301DC @ =0x0200E100 + mov sl, r0 + ldr r1, _080301E0 @ =0x020314E0 + ldr r3, [r1] + ldr r2, _080301E4 @ =0x00000624 + adds r0, r3, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bgt _0803019A + b _080302D4 _0803019A: - cmp r0, #2 - beq _080301A0 - b _080302C6 + cmp r0, #2 + beq _080301A0 + b _080302C6 _080301A0: - movs r0, #0xfa - lsls r0, r0, #1 - str r0, [r3, #0x3c] - movs r0, #0xb6 - bl m4aSongNumStart - movs r0, #7 - bl sub_11B0 - ldr r3, _080301E0 @ =0x020314E0 - ldr r1, [r3] - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #4 - bne _0803029C - movs r0, #0x17 - ldrsb r0, [r1, r0] - cmp r0, #5 - bne _0803029C - ldr r6, _080301E8 @ =0x00000625 - adds r1, r1, r6 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #5 - bgt _0803029C - cmp r0, #0 - bne _080301EC - movs r0, #1 - b _080301F6 - .align 2, 0 + movs r0, #0xfa + lsls r0, r0, #1 + str r0, [r3, #0x3c] + movs r0, #0xb6 + bl m4aSongNumStart + movs r0, #7 + bl sub_11B0 + ldr r3, _080301E0 @ =0x020314E0 + ldr r1, [r3] + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #4 + bne _0803029C + movs r0, #0x17 + ldrsb r0, [r1, r0] + cmp r0, #5 + bne _0803029C + ldr r6, _080301E8 @ =0x00000625 + adds r1, r1, r6 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #5 + bgt _0803029C + cmp r0, #0 + bne _080301EC + movs r0, #1 + b _080301F6 + .align 2, 0 _080301DC: .4byte 0x0200E100 _080301E0: .4byte 0x020314E0 _080301E4: .4byte 0x00000624 _080301E8: .4byte 0x00000625 _080301EC: - cmp r0, #1 - bne _080301F4 - movs r0, #3 - b _080301F6 + cmp r0, #1 + bne _080301F4 + movs r0, #3 + b _080301F6 _080301F4: - movs r0, #6 + movs r0, #6 _080301F6: - strb r0, [r1] - ldr r7, _08030318 @ =0x020314E0 - ldr r5, [r7] - ldr r1, _0803031C @ =0x00000625 - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #6 - bne _0803029C - ldr r2, _08030320 @ =0x000006C6 - adds r0, r5, r2 - movs r6, #0 - ldrsb r6, [r0, r6] - cmp r6, #0 - bne _0803029C - ldr r2, _08030324 @ =0x0200B0C0 - ldrb r1, [r2, #0xf] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #0xf] - adds r0, r5, #0 - adds r0, #0xea - movs r4, #0 - movs r3, #0x32 - strh r3, [r0] - adds r1, r5, #0 - adds r1, #0xec - movs r0, #0x96 - lsls r0, r0, #2 - strh r0, [r1] - subs r1, #4 - movs r0, #0xec - strh r0, [r1] - adds r0, r5, #0 - adds r0, #0xe6 - strh r6, [r0] - adds r1, #6 - movs r0, #4 - strh r0, [r1] - adds r1, #4 - movs r0, #7 - strb r0, [r1] - ldr r0, [r7] - adds r0, #0xfa - movs r1, #1 - strb r1, [r0] - ldr r0, [r7] - adds r0, #0xfb - strb r4, [r0] - ldr r4, [r7] - adds r1, r4, #0 - adds r1, #0xf4 - movs r0, #0x50 - strh r0, [r1] - adds r1, #2 - ldr r0, _08030328 @ =0x0000F63C - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xf0 - strh r3, [r0] - adds r0, #8 - strh r6, [r0] - ldr r1, _0803032C @ =0x040000D4 - ldr r0, _08030330 @ =0x086ACEF8 - ldr r0, [r0, #0x1c] - str r0, [r1] - ldr r0, _08030334 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _08030338 @ =0x80001200 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _0803033C @ =0x086ACF18 - ldr r0, [r0, #0x1c] - str r0, [r1] - ldr r0, _08030340 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _08030344 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldrh r0, [r2, #0x38] - movs r0, #0xce - strh r0, [r2, #0x38] + strb r0, [r1] + ldr r7, _08030318 @ =0x020314E0 + ldr r5, [r7] + ldr r1, _0803031C @ =0x00000625 + adds r0, r5, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #6 + bne _0803029C + ldr r2, _08030320 @ =0x000006C6 + adds r0, r5, r2 + movs r6, #0 + ldrsb r6, [r0, r6] + cmp r6, #0 + bne _0803029C + ldr r2, _08030324 @ =0x0200B0C0 + ldrb r1, [r2, #0xf] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #0xf] + adds r0, r5, #0 + adds r0, #0xea + movs r4, #0 + movs r3, #0x32 + strh r3, [r0] + adds r1, r5, #0 + adds r1, #0xec + movs r0, #0x96 + lsls r0, r0, #2 + strh r0, [r1] + subs r1, #4 + movs r0, #0xec + strh r0, [r1] + adds r0, r5, #0 + adds r0, #0xe6 + strh r6, [r0] + adds r1, #6 + movs r0, #4 + strh r0, [r1] + adds r1, #4 + movs r0, #7 + strb r0, [r1] + ldr r0, [r7] + adds r0, #0xfa + movs r1, #1 + strb r1, [r0] + ldr r0, [r7] + adds r0, #0xfb + strb r4, [r0] + ldr r4, [r7] + adds r1, r4, #0 + adds r1, #0xf4 + movs r0, #0x50 + strh r0, [r1] + adds r1, #2 + ldr r0, _08030328 @ =0x0000F63C + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xf0 + strh r3, [r0] + adds r0, #8 + strh r6, [r0] + ldr r1, _0803032C @ =0x040000D4 + ldr r0, _08030330 @ =0x086ACEF8 + ldr r0, [r0, #0x1c] + str r0, [r1] + ldr r0, _08030334 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _08030338 @ =0x80001200 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _0803033C @ =0x086ACF18 + ldr r0, [r0, #0x1c] + str r0, [r1] + ldr r0, _08030340 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _08030344 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldrh r0, [r2, #0x38] + movs r0, #0xce + strh r0, [r2, #0x38] _0803029C: - ldr r2, _08030318 @ =0x020314E0 - ldr r0, [r2] - movs r3, #0xbb - lsls r3, r3, #1 - adds r1, r0, r3 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r3, [r2] - movs r6, #0xc2 - lsls r6, r6, #2 - adds r1, r3, r6 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x64 - bne _080302C6 - ldr r0, _08030348 @ =0x0000C350 - str r0, [r3, #0x3c] + ldr r2, _08030318 @ =0x020314E0 + ldr r0, [r2] + movs r3, #0xbb + lsls r3, r3, #1 + adds r1, r0, r3 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + ldr r3, [r2] + movs r6, #0xc2 + lsls r6, r6, #2 + adds r1, r3, r6 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x64 + bne _080302C6 + ldr r0, _08030348 @ =0x0000C350 + str r0, [r3, #0x3c] _080302C6: - ldr r0, _08030318 @ =0x020314E0 - ldr r1, [r0] - ldr r2, _0803034C @ =0x00000624 - adds r1, r1, r2 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] + ldr r0, _08030318 @ =0x020314E0 + ldr r1, [r0] + ldr r2, _0803034C @ =0x00000624 + adds r1, r1, r2 + ldrb r0, [r1] + subs r0, #1 + strb r0, [r1] _080302D4: - mov r3, sl - ldrh r0, [r3] - cmp r0, #0 - bne _080302DE - b _08030456 + mov r3, sl + ldrh r0, [r3] + cmp r0, #0 + bne _080302DE + b _08030456 _080302DE: - movs r0, #0 - ldr r6, _0803032C @ =0x040000D4 - mov sb, r6 + movs r0, #0 + ldr r6, _0803032C @ =0x040000D4 + mov sb, r6 _080302E4: - ldr r1, _08030318 @ =0x020314E0 - ldr r4, [r1] - lsls r0, r0, #0x10 - asrs r2, r0, #0x10 - movs r3, #0xb8 - lsls r3, r3, #1 - adds r1, r4, r3 - adds r3, r1, r2 - ldrb r6, [r3] - movs r1, #0 - ldrsb r1, [r3, r1] - adds r5, r0, #0 - cmp r1, #0 - ble _08030350 - adds r0, r1, #0 - cmp r0, #0 - bge _08030308 - adds r0, #3 + ldr r1, _08030318 @ =0x020314E0 + ldr r4, [r1] + lsls r0, r0, #0x10 + asrs r2, r0, #0x10 + movs r3, #0xb8 + lsls r3, r3, #1 + adds r1, r4, r3 + adds r3, r1, r2 + ldrb r6, [r3] + movs r1, #0 + ldrsb r1, [r3, r1] + adds r5, r0, #0 + cmp r1, #0 + ble _08030350 + adds r0, r1, #0 + cmp r0, #0 + bge _08030308 + adds r0, #3 _08030308: - asrs r0, r0, #2 - adds r0, #2 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - subs r0, r6, #1 - strb r0, [r3] - b _08030370 - .align 2, 0 + asrs r0, r0, #2 + adds r0, #2 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + subs r0, r6, #1 + strb r0, [r3] + b _08030370 + .align 2, 0 _08030318: .4byte 0x020314E0 _0803031C: .4byte 0x00000625 _08030320: .4byte 0x000006C6 @@ -95083,141 +95083,141 @@ _08030344: .4byte 0x80000010 _08030348: .4byte 0x0000C350 _0803034C: .4byte 0x00000624 _08030350: - movs r6, #0xa4 - lsls r6, r6, #2 - adds r0, r4, r6 - lsls r1, r2, #2 - adds r1, r1, r2 - lsls r1, r1, #1 - ldr r0, [r0] - adds r0, r0, r1 - movs r1, #0x1e - bl __umodsi3 - movs r1, #0xf - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 + movs r6, #0xa4 + lsls r6, r6, #2 + adds r0, r4, r6 + lsls r1, r2, #2 + adds r1, r1, r2 + lsls r1, r1, #1 + ldr r0, [r0] + adds r0, r0, r1 + movs r1, #0x1e + bl __umodsi3 + movs r1, #0xf + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 _08030370: - lsls r0, r1, #0x10 - asrs r0, r0, #7 - ldr r1, _08030464 @ =0x0845690C - adds r0, r0, r1 - mov r2, sb - str r0, [r2] - asrs r5, r5, #0x10 - lsls r0, r5, #9 - ldr r3, _08030468 @ =0x060133A0 - adds r0, r0, r3 - str r0, [r2, #4] - ldr r0, _0803046C @ =0x80000100 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r6, _08030470 @ =0x020314E0 - ldr r4, [r6] - lsls r0, r5, #2 - adds r7, r4, r0 - movs r0, #0xbc - lsls r0, r0, #1 - adds r6, r7, r0 - movs r1, #0 - ldrsh r0, [r6, r1] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x58 - ldrh r1, [r1] - subs r0, r0, r1 - subs r0, #8 - mov r2, sl - strh r0, [r2, #2] - movs r3, #0xbd - lsls r3, r3, #1 - adds r3, r3, r7 - mov r8, r3 - movs r1, #0 - ldrsh r0, [r3, r1] - movs r1, #0xa - bl __divsi3 - adds r4, #0x5a - ldrh r1, [r4] - subs r0, r0, r1 - subs r0, #0xa - mov r2, sl - strh r0, [r2, #4] - movs r3, #0 - ldrsh r0, [r6, r3] - movs r1, #0xa - bl __divsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - rsbs r0, r0, #0 - adds r0, #8 - lsls r0, r0, #1 - movs r6, #0xc2 - lsls r6, r6, #1 - adds r1, r7, r6 - strh r0, [r1] - mov r1, r8 - movs r2, #0 - ldrsh r0, [r1, r2] - movs r1, #0xa - bl __divsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - rsbs r0, r0, #0 - adds r0, #3 - lsls r0, r0, #1 - movs r3, #0xc3 - lsls r3, r3, #1 - adds r1, r7, r3 - strh r0, [r1] - lsls r3, r5, #3 - adds r3, #8 - add r3, sl - ldrh r4, [r3] - lsls r4, r4, #3 - ldr r6, _08030474 @ =0x03005000 - adds r4, r4, r6 - movs r0, #2 - ldrsh r2, [r3, r0] - mov r1, sl - movs r6, #2 - ldrsh r0, [r1, r6] - adds r2, r2, r0 - ldr r1, _08030478 @ =0x000001FF - adds r0, r1, #0 - ands r2, r0 - ldrh r0, [r4, #2] - ldr r6, _0803047C @ =0xFFFFFE00 - adds r1, r6, #0 - ands r0, r1 - orrs r0, r2 - strh r0, [r4, #2] - ldrh r1, [r3] - lsls r1, r1, #3 - ldr r0, _08030474 @ =0x03005000 - adds r1, r1, r0 - mov r2, sl - ldrb r0, [r2, #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, #2 - bgt _08030456 - b _080302E4 + lsls r0, r1, #0x10 + asrs r0, r0, #7 + ldr r1, _08030464 @ =0x0845690C + adds r0, r0, r1 + mov r2, sb + str r0, [r2] + asrs r5, r5, #0x10 + lsls r0, r5, #9 + ldr r3, _08030468 @ =0x060133A0 + adds r0, r0, r3 + str r0, [r2, #4] + ldr r0, _0803046C @ =0x80000100 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r6, _08030470 @ =0x020314E0 + ldr r4, [r6] + lsls r0, r5, #2 + adds r7, r4, r0 + movs r0, #0xbc + lsls r0, r0, #1 + adds r6, r7, r0 + movs r1, #0 + ldrsh r0, [r6, r1] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x58 + ldrh r1, [r1] + subs r0, r0, r1 + subs r0, #8 + mov r2, sl + strh r0, [r2, #2] + movs r3, #0xbd + lsls r3, r3, #1 + adds r3, r3, r7 + mov r8, r3 + movs r1, #0 + ldrsh r0, [r3, r1] + movs r1, #0xa + bl __divsi3 + adds r4, #0x5a + ldrh r1, [r4] + subs r0, r0, r1 + subs r0, #0xa + mov r2, sl + strh r0, [r2, #4] + movs r3, #0 + ldrsh r0, [r6, r3] + movs r1, #0xa + bl __divsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + rsbs r0, r0, #0 + adds r0, #8 + lsls r0, r0, #1 + movs r6, #0xc2 + lsls r6, r6, #1 + adds r1, r7, r6 + strh r0, [r1] + mov r1, r8 + movs r2, #0 + ldrsh r0, [r1, r2] + movs r1, #0xa + bl __divsi3 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + rsbs r0, r0, #0 + adds r0, #3 + lsls r0, r0, #1 + movs r3, #0xc3 + lsls r3, r3, #1 + adds r1, r7, r3 + strh r0, [r1] + lsls r3, r5, #3 + adds r3, #8 + add r3, sl + ldrh r4, [r3] + lsls r4, r4, #3 + ldr r6, _08030474 @ =0x03005000 + adds r4, r4, r6 + movs r0, #2 + ldrsh r2, [r3, r0] + mov r1, sl + movs r6, #2 + ldrsh r0, [r1, r6] + adds r2, r2, r0 + ldr r1, _08030478 @ =0x000001FF + adds r0, r1, #0 + ands r2, r0 + ldrh r0, [r4, #2] + ldr r6, _0803047C @ =0xFFFFFE00 + adds r1, r6, #0 + ands r0, r1 + orrs r0, r2 + strh r0, [r4, #2] + ldrh r1, [r3] + lsls r1, r1, #3 + ldr r0, _08030474 @ =0x03005000 + adds r1, r1, r0 + mov r2, sl + ldrb r0, [r2, #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, #2 + bgt _08030456 + b _080302E4 _08030456: - 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 + 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 _08030464: .4byte 0x0845690C _08030468: .4byte 0x060133A0 _0803046C: .4byte 0x80000100 @@ -95226,182 +95226,182 @@ _08030474: .4byte 0x03005000 _08030478: .4byte 0x000001FF _0803047C: .4byte 0xFFFFFE00 - thumb_func_start sub_30480 + thumb_func_start sub_30480 sub_30480: @ 0x08030480 - ldr r2, _080304C4 @ =0x020314E0 - ldr r0, [r2] - movs r1, #0xf6 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r3, #0 - movs r1, #1 - strb r1, [r0] - ldr r0, [r2] - movs r1, #0xf7 - lsls r1, r1, #1 - adds r0, r0, r1 - strb r3, [r0] - ldr r0, [r2] - subs r1, #1 - adds r0, r0, r1 - strb r3, [r0] - ldr r2, [r2] - adds r1, #3 - adds r0, r2, r1 - strh r3, [r0] - movs r0, #0xfa - lsls r0, r0, #1 - adds r1, r2, r0 - movs r0, #0x82 - lsls r0, r0, #4 - strh r0, [r1] - movs r0, #0xfb - lsls r0, r0, #1 - adds r1, r2, r0 - adds r0, #0xc6 - strh r0, [r1] - bx lr - .align 2, 0 + ldr r2, _080304C4 @ =0x020314E0 + ldr r0, [r2] + movs r1, #0xf6 + lsls r1, r1, #1 + adds r0, r0, r1 + movs r3, #0 + movs r1, #1 + strb r1, [r0] + ldr r0, [r2] + movs r1, #0xf7 + lsls r1, r1, #1 + adds r0, r0, r1 + strb r3, [r0] + ldr r0, [r2] + subs r1, #1 + adds r0, r0, r1 + strb r3, [r0] + ldr r2, [r2] + adds r1, #3 + adds r0, r2, r1 + strh r3, [r0] + movs r0, #0xfa + lsls r0, r0, #1 + adds r1, r2, r0 + movs r0, #0x82 + lsls r0, r0, #4 + strh r0, [r1] + movs r0, #0xfb + lsls r0, r0, #1 + adds r1, r2, r0 + adds r0, #0xc6 + strh r0, [r1] + bx lr + .align 2, 0 _080304C4: .4byte 0x020314E0 - thumb_func_start sub_304C8 + thumb_func_start sub_304C8 sub_304C8: @ 0x080304C8 - 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 r8, r0 - mov ip, r0 - movs r6, #0 - ldr r7, _08030504 @ =0x0200D918 - movs r1, #0 - str r1, [sp] - ldr r1, _08030508 @ =0x020314E0 - ldr r0, [r1] - movs r2, #0xf6 - lsls r2, r2, #1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov sb, r1 - cmp r0, #5 - bhi _08030552 - lsls r0, r0, #2 - ldr r1, _0803050C @ =_08030510 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + 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 r8, r0 + mov ip, r0 + movs r6, #0 + ldr r7, _08030504 @ =0x0200D918 + movs r1, #0 + str r1, [sp] + ldr r1, _08030508 @ =0x020314E0 + ldr r0, [r1] + movs r2, #0xf6 + lsls r2, r2, #1 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov sb, r1 + cmp r0, #5 + bhi _08030552 + lsls r0, r0, #2 + ldr r1, _0803050C @ =_08030510 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _08030504: .4byte 0x0200D918 _08030508: .4byte 0x020314E0 _0803050C: .4byte _08030510 _08030510: @ jump table - .4byte _08030552 @ case 0 - .4byte _08030552 @ case 1 - .4byte _08030528 @ case 2 - .4byte _08030532 @ case 3 - .4byte _0803053E @ case 4 - .4byte _08030548 @ case 5 + .4byte _08030552 @ case 0 + .4byte _08030552 @ case 1 + .4byte _08030528 @ case 2 + .4byte _08030532 @ case 3 + .4byte _0803053E @ case 4 + .4byte _08030548 @ case 5 _08030528: - movs r3, #4 - mov r8, r3 - mov ip, r3 - movs r6, #3 - b _08030552 + movs r3, #4 + mov r8, r3 + mov ip, r3 + movs r6, #3 + b _08030552 _08030532: - movs r6, #8 - mov r8, r6 - movs r0, #4 - mov ip, r0 - movs r6, #3 - b _08030552 + movs r6, #8 + mov r8, r6 + movs r0, #4 + mov ip, r0 + movs r6, #3 + b _08030552 _0803053E: - movs r1, #0xc - mov r8, r1 - mov ip, r1 - movs r6, #5 - b _08030552 + movs r1, #0xc + mov r8, r1 + mov ip, r1 + movs r6, #5 + b _08030552 _08030548: - movs r2, #0x21 - mov r8, r2 - movs r3, #0 - mov ip, r3 - movs r6, #0 + movs r2, #0x21 + mov r8, r2 + movs r3, #0 + mov ip, r3 + movs r6, #0 _08030552: - mov r1, sb - ldr r0, [r1] - movs r2, #0xf7 - lsls r2, r2, #1 - adds r1, r0, r2 - ldr r5, _080305D8 @ =0x000001ED - adds r2, r0, r5 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r1, r0 - beq _0803059E - ldr r1, _080305DC @ =0x086AD2EE - lsls r0, r0, #3 - adds r1, #6 - adds r0, r0, r1 - ldr r2, _080305E0 @ =0x040000D4 - movs r3, #0 - ldrsh r0, [r0, r3] - lsls r0, r0, #9 - ldr r1, _080305E4 @ =0x084FD18C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _080305E8 @ =0x06011CE0 - str r0, [r2, #4] - ldr r0, _080305EC @ =0x80000100 - str r0, [r2, #8] - ldr r0, [r2, #8] - mov r0, sb - ldr r1, [r0] - adds r0, r1, r5 - ldrb r0, [r0] - movs r2, #0xf7 - lsls r2, r2, #1 - adds r1, r1, r2 - strb r0, [r1] + mov r1, sb + ldr r0, [r1] + movs r2, #0xf7 + lsls r2, r2, #1 + adds r1, r0, r2 + ldr r5, _080305D8 @ =0x000001ED + adds r2, r0, r5 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r1, r0 + beq _0803059E + ldr r1, _080305DC @ =0x086AD2EE + lsls r0, r0, #3 + adds r1, #6 + adds r0, r0, r1 + ldr r2, _080305E0 @ =0x040000D4 + movs r3, #0 + ldrsh r0, [r0, r3] + lsls r0, r0, #9 + ldr r1, _080305E4 @ =0x084FD18C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _080305E8 @ =0x06011CE0 + str r0, [r2, #4] + ldr r0, _080305EC @ =0x80000100 + str r0, [r2, #8] + ldr r0, [r2, #8] + mov r0, sb + ldr r1, [r0] + adds r0, r1, r5 + ldrb r0, [r0] + movs r2, #0xf7 + lsls r2, r2, #1 + adds r1, r1, r2 + strb r0, [r1] _0803059E: - mov r3, sb - ldr r2, [r3] - movs r0, #0xf6 - lsls r0, r0, #1 - mov sl, r0 - adds r0, r2, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bgt _080305B6 - b _08030700 + mov r3, sb + ldr r2, [r3] + movs r0, #0xf6 + lsls r0, r0, #1 + mov sl, r0 + adds r0, r2, r0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bgt _080305B6 + b _08030700 _080305B6: - ldr r0, _080305DC @ =0x086AD2EE - adds r3, r2, r5 - movs r1, #0 - ldrsb r1, [r3, r1] - lsls r1, r1, #3 - adds r0, #2 - adds r1, r1, r0 - movs r0, #0xf8 - lsls r0, r0, #1 - adds r4, r2, r0 - ldrh r2, [r4] - ldrh r0, [r1] - cmp r0, r2 - bls _080305F0 - adds r0, r2, #1 - strh r0, [r4] - b _080306E6 - .align 2, 0 + ldr r0, _080305DC @ =0x086AD2EE + adds r3, r2, r5 + movs r1, #0 + ldrsb r1, [r3, r1] + lsls r1, r1, #3 + adds r0, #2 + adds r1, r1, r0 + movs r0, #0xf8 + lsls r0, r0, #1 + adds r4, r2, r0 + ldrh r2, [r4] + ldrh r0, [r1] + cmp r0, r2 + bls _080305F0 + adds r0, r2, #1 + strh r0, [r4] + b _080306E6 + .align 2, 0 _080305D8: .4byte 0x000001ED _080305DC: .4byte 0x086AD2EE _080305E0: .4byte 0x040000D4 @@ -95409,328 +95409,328 @@ _080305E4: .4byte 0x084FD18C _080305E8: .4byte 0x06011CE0 _080305EC: .4byte 0x80000100 _080305F0: - ldrb r0, [r3] - adds r0, #1 - movs r2, #0 - strb r0, [r3] - mov r3, sb - ldr r1, [r3] - movs r3, #0xf8 - lsls r3, r3, #1 - adds r0, r1, r3 - strh r2, [r0] - adds r1, r1, r5 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, r8 - blt _0803061A - mov r0, ip - strb r0, [r1] - mov r1, sb - ldr r0, [r1] - add r0, sl - strb r6, [r0] + ldrb r0, [r3] + adds r0, #1 + movs r2, #0 + strb r0, [r3] + mov r3, sb + ldr r1, [r3] + movs r3, #0xf8 + lsls r3, r3, #1 + adds r0, r1, r3 + strh r2, [r0] + adds r1, r1, r5 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, r8 + blt _0803061A + mov r0, ip + strb r0, [r1] + mov r1, sb + ldr r0, [r1] + add r0, sl + strb r6, [r0] _0803061A: - mov r2, sb - ldr r0, [r2] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x12 - bne _0803062E - bl sub_32484 + mov r2, sb + ldr r0, [r2] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x12 + bne _0803062E + bl sub_32484 _0803062E: - mov r3, sb - ldr r0, [r3] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x13 - bne _0803065E - bl sub_325E0 - ldr r0, _08030780 @ =0x0200B0C0 - ldrb r0, [r0, #2] - cmp r0, #3 - beq _0803065E - mov r6, sb - ldr r0, [r6] - movs r1, #0xb3 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r1, #1 - bl sub_52BB0 + mov r3, sb + ldr r0, [r3] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x13 + bne _0803065E + bl sub_325E0 + ldr r0, _08030780 @ =0x0200B0C0 + ldrb r0, [r0, #2] + cmp r0, #3 + beq _0803065E + mov r6, sb + ldr r0, [r6] + movs r1, #0xb3 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r2, #0 + ldrsh r0, [r0, r2] + movs r1, #1 + bl sub_52BB0 _0803065E: - ldr r5, _08030784 @ =0x020314E0 - ldr r0, [r5] - ldr r4, _08030788 @ =0x000001ED - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x14 - bne _08030674 - bl sub_28BFC + ldr r5, _08030784 @ =0x020314E0 + ldr r0, [r5] + ldr r4, _08030788 @ =0x000001ED + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x14 + bne _08030674 + bl sub_28BFC _08030674: - ldr r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #8 - beq _08030686 - cmp r0, #0x1b - bne _08030696 + ldr r1, [r5] + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #8 + beq _08030686 + cmp r0, #0x1b + bne _08030696 _08030686: - movs r3, #0xf8 - lsls r3, r3, #1 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, #0 - bne _08030696 - bl m4aMPlayAllStop + movs r3, #0xf8 + lsls r3, r3, #1 + adds r0, r1, r3 + ldrh r0, [r0] + cmp r0, #0 + bne _08030696 + bl m4aMPlayAllStop _08030696: - ldr r0, _08030784 @ =0x020314E0 - ldr r1, [r0] - ldr r6, _08030788 @ =0x000001ED - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xc - bne _080306BA - movs r2, #0xf8 - lsls r2, r2, #1 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #0 - bne _080306BA - movs r0, #0x16 - bl m4aSongNumStart + ldr r0, _08030784 @ =0x020314E0 + ldr r1, [r0] + ldr r6, _08030788 @ =0x000001ED + adds r0, r1, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xc + bne _080306BA + movs r2, #0xf8 + lsls r2, r2, #1 + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #0 + bne _080306BA + movs r0, #0x16 + bl m4aSongNumStart _080306BA: - ldr r5, _08030784 @ =0x020314E0 - ldr r0, [r5] - ldr r4, _08030788 @ =0x000001ED - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x1d - bne _080306D2 - movs r0, #5 - bl sub_19B64 + ldr r5, _08030784 @ =0x020314E0 + ldr r0, [r5] + ldr r4, _08030788 @ =0x000001ED + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x1d + bne _080306D2 + movs r0, #5 + bl sub_19B64 _080306D2: - ldr r0, [r5] - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x1c - bne _080306E6 - movs r0, #0x92 - bl m4aSongNumStart + ldr r0, [r5] + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x1c + bne _080306E6 + movs r0, #0x92 + bl m4aSongNumStart _080306E6: - ldr r2, _0803078C @ =0x086AD2EE - ldr r1, _08030784 @ =0x020314E0 - ldr r0, [r1] - ldr r3, _08030788 @ =0x000001ED - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #3 - adds r0, r0, r2 - ldrh r0, [r0] - str r0, [sp] - mov sb, r1 + ldr r2, _0803078C @ =0x086AD2EE + ldr r1, _08030784 @ =0x020314E0 + ldr r0, [r1] + ldr r3, _08030788 @ =0x000001ED + adds r0, r0, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #3 + adds r0, r0, r2 + ldrh r0, [r0] + str r0, [sp] + mov sb, r1 _08030700: - mov r6, sb - ldr r4, [r6] - movs r1, #0xfa - lsls r1, r1, #1 - 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 - strh r0, [r7, #2] - movs r3, #0xf6 - lsls r3, r3, #1 - adds r0, r4, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _080307AC - ldr r6, _08030788 @ =0x000001ED - adds r0, r4, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x20 - bne _08030790 - movs r0, #0xf8 - lsls r0, r0, #1 - adds r1, r4, r0 - ldrh r0, [r1] - cmp r0, #0xd0 - bls _08030790 - adds r1, r0, #0 - movs r0, #0x80 - lsls r0, r0, #1 - subs r0, r0, r1 - cmp r0, #0 - bge _08030756 - adds r0, #0xf + mov r6, sb + ldr r4, [r6] + movs r1, #0xfa + lsls r1, r1, #1 + 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 + strh r0, [r7, #2] + movs r3, #0xf6 + lsls r3, r3, #1 + adds r0, r4, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + ble _080307AC + ldr r6, _08030788 @ =0x000001ED + adds r0, r4, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x20 + bne _08030790 + movs r0, #0xf8 + lsls r0, r0, #1 + adds r1, r4, r0 + ldrh r0, [r1] + cmp r0, #0xd0 + bls _08030790 + adds r1, r0, #0 + movs r0, #0x80 + lsls r0, r0, #1 + subs r0, r0, r1 + cmp r0, #0 + bge _08030756 + adds r0, #0xf _08030756: - asrs r0, r0, #4 - ldr r1, _08030780 @ =0x0200B0C0 - adds r0, #1 - lsls r0, r0, #1 - ldr r1, [r1, #0x4c] - ands r1, r0 - cmp r1, #0 - beq _080307AC - movs r1, #0xfb - lsls r1, r1, #1 - adds r0, r4, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r1, #0xa - bl __divsi3 - adds r1, r4, #0 - adds r1, #0x5a - ldrh r1, [r1] - subs r0, r0, r1 - b _080307AE - .align 2, 0 + asrs r0, r0, #4 + ldr r1, _08030780 @ =0x0200B0C0 + adds r0, #1 + lsls r0, r0, #1 + ldr r1, [r1, #0x4c] + ands r1, r0 + cmp r1, #0 + beq _080307AC + movs r1, #0xfb + lsls r1, r1, #1 + adds r0, r4, r1 + movs r2, #0 + ldrsh r0, [r0, r2] + movs r1, #0xa + bl __divsi3 + adds r1, r4, #0 + adds r1, #0x5a + ldrh r1, [r1] + subs r0, r0, r1 + b _080307AE + .align 2, 0 _08030780: .4byte 0x0200B0C0 _08030784: .4byte 0x020314E0 _08030788: .4byte 0x000001ED _0803078C: .4byte 0x086AD2EE _08030790: - mov r3, sb - ldr r4, [r3] - movs r6, #0xfb - lsls r6, r6, #1 - adds r0, r4, r6 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #0xa - bl __divsi3 - adds r4, #0x5a - ldrh r1, [r4] - subs r0, r0, r1 - b _080307AE + mov r3, sb + ldr r4, [r3] + movs r6, #0xfb + lsls r6, r6, #1 + adds r0, r4, r6 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r1, #0xa + bl __divsi3 + adds r4, #0x5a + ldrh r1, [r4] + subs r0, r0, r1 + b _080307AE _080307AC: - movs r0, #0xc8 + movs r0, #0xc8 _080307AE: - strh r0, [r7, #4] - movs r2, #0 - ldr r3, _08030870 @ =0x03005000 - mov sl, r3 - ldr r6, [sp] - lsls r1, r6, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - mov r8, r0 - ldr r0, _08030874 @ =0xFFFFFE00 - mov ip, r0 + strh r0, [r7, #4] + movs r2, #0 + ldr r3, _08030870 @ =0x03005000 + mov sl, r3 + ldr r6, [sp] + lsls r1, r6, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + mov r8, r0 + ldr r0, _08030874 @ =0xFFFFFE00 + mov ip, r0 _080307C8: - 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 - ldr r1, _08030870 @ =0x03005000 - adds r2, r2, r1 - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r0, r0, #1 - ldr r6, _08030878 @ =0x086B4D4E - adds r0, r0, r6 - add r0, r8 - 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 - ldr r0, _08030870 @ =0x03005000 - adds r2, r2, r0 - 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, _0803087C @ =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, _08030870 @ =0x03005000 - 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, #1 - ble _080307C8 - ldr r7, _08030880 @ =0x0200D860 - ldrh r0, [r7] - cmp r0, #0 - beq _080308C2 - mov r3, sb - ldr r0, [r3] - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xc0 - subs r0, r0, r1 - strh r0, [r7, #2] - ldr r1, [r3] - ldr r6, _08030884 @ =0x00000346 - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - ble _0803088C - ldr r2, _08030888 @ =0xFFFFD860 - adds r0, r7, r2 - ldrb r0, [r0, #0xf] - cmp r0, #0 - beq _0803088C - adds r0, r1, #0 - adds r0, #0x5a - ldrh r1, [r0] - movs r0, #0x38 - subs r0, r0, r1 - b _0803088E - .align 2, 0 + 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 + ldr r1, _08030870 @ =0x03005000 + adds r2, r2, r1 + lsls r0, r3, #1 + adds r0, r0, r3 + lsls r0, r0, #1 + ldr r6, _08030878 @ =0x086B4D4E + adds r0, r0, r6 + add r0, r8 + 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 + ldr r0, _08030870 @ =0x03005000 + adds r2, r2, r0 + 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, _0803087C @ =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, _08030870 @ =0x03005000 + 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, #1 + ble _080307C8 + ldr r7, _08030880 @ =0x0200D860 + ldrh r0, [r7] + cmp r0, #0 + beq _080308C2 + mov r3, sb + ldr r0, [r3] + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xc0 + subs r0, r0, r1 + strh r0, [r7, #2] + ldr r1, [r3] + ldr r6, _08030884 @ =0x00000346 + adds r0, r1, r6 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + ble _0803088C + ldr r2, _08030888 @ =0xFFFFD860 + adds r0, r7, r2 + ldrb r0, [r0, #0xf] + cmp r0, #0 + beq _0803088C + adds r0, r1, #0 + adds r0, #0x5a + ldrh r1, [r0] + movs r0, #0x38 + subs r0, r0, r1 + b _0803088E + .align 2, 0 _08030870: .4byte 0x03005000 _08030874: .4byte 0xFFFFFE00 _08030878: .4byte 0x086B4D4E @@ -95739,241 +95739,241 @@ _08030880: .4byte 0x0200D860 _08030884: .4byte 0x00000346 _08030888: .4byte 0xFFFFD860 _0803088C: - movs r0, #0xc8 + movs r0, #0xc8 _0803088E: - strh r0, [r7, #4] - adds r5, r7, #0 - adds r5, #8 - ldrh r2, [r7, #8] - lsls r2, r2, #3 - add r2, sl - movs r3, #2 - ldrsh r1, [r5, r3] - movs r6, #2 - ldrsh r0, [r7, r6] - adds r1, r1, r0 - ldr r3, _080308D4 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _080308D8 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r7, #8] - lsls r1, r1, #3 - add r1, sl - ldrb r0, [r7, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] + strh r0, [r7, #4] + adds r5, r7, #0 + adds r5, #8 + ldrh r2, [r7, #8] + lsls r2, r2, #3 + add r2, sl + movs r3, #2 + ldrsh r1, [r5, r3] + movs r6, #2 + ldrsh r0, [r7, r6] + adds r1, r1, r0 + ldr r3, _080308D4 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _080308D8 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r7, #8] + lsls r1, r1, #3 + add r1, sl + ldrb r0, [r7, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] _080308C2: - 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 + 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 _080308D4: .4byte 0x000001FF _080308D8: .4byte 0xFFFFFE00 - thumb_func_start sub_308DC + thumb_func_start sub_308DC sub_308DC: @ 0x080308DC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r0, _08030994 @ =0x020314E0 - ldr r3, [r0] - movs r2, #0xca - lsls r2, r2, #2 - adds r1, r3, r2 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r7, r0, #0 - cmp r1, #0 - bne _080308FE - b _08030A2A + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r0, _08030994 @ =0x020314E0 + ldr r3, [r0] + movs r2, #0xca + lsls r2, r2, #2 + adds r1, r3, r2 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + adds r7, r0, #0 + cmp r1, #0 + bne _080308FE + b _08030A2A _080308FE: - movs r0, #0x13 - ldrsb r0, [r3, r0] - cmp r0, #7 - bne _08030908 - b _08030A18 + movs r0, #0x13 + ldrsb r0, [r3, r0] + cmp r0, #7 + bne _08030908 + b _08030A18 _08030908: - cmp r0, #2 - bgt _080309A8 - ldr r5, _08030998 @ =0x000006BD - adds r4, r3, r5 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #2 - ble _0803091A - b _08030A18 + cmp r0, #2 + bgt _080309A8 + ldr r5, _08030998 @ =0x000006BD + adds r4, r3, r5 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #2 + ble _0803091A + b _08030A18 _0803091A: - lsls r0, r0, #1 - adds r2, #0x14 - adds r1, r3, r2 - adds r1, r1, r0 - movs r2, #0 - movs r5, #0 - ldr r0, _0803099C @ =0x0000FF9C - strh r0, [r1] - movs r1, #0 - ldrsb r1, [r4, r1] - ldr r4, _080309A0 @ =0x00000332 - adds r0, r3, r4 - adds r0, r0, r1 - strb r2, [r0] - ldr r1, [r7] - ldr r0, _08030998 @ =0x000006BD - adds r3, r1, r0 - movs r2, #0 - ldrsb r2, [r3, r2] - lsls r2, r2, #1 - adds r4, #4 - adds r0, r1, r4 - adds r0, r0, r2 - strh r5, [r0] - movs r0, #0 - ldrsb r0, [r3, r0] - movs r2, #0xcb - lsls r2, r2, #2 - adds r1, r1, r2 - adds r1, r1, r0 - movs r3, #1 - strb r3, [r1] - ldr r1, [r7] - ldr r0, _08030998 @ =0x000006BD - adds r2, r1, r0 - movs r0, #0 - ldrsb r0, [r2, r0] - lsls r0, r0, #1 - adds r1, r1, r4 - adds r1, r1, r0 - strh r5, [r1] - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - ldr r2, [r7] - subs r4, #0xc - adds r1, r2, r4 - movs r0, #0xe1 - lsls r0, r0, #3 - strh r0, [r1] - ldr r5, _08030998 @ =0x000006BD - adds r0, r2, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - bne _08030A18 - ldr r1, _080309A4 @ =0x000006C2 - adds r0, r2, r1 - strh r3, [r0] - b _08030A18 - .align 2, 0 + lsls r0, r0, #1 + adds r2, #0x14 + adds r1, r3, r2 + adds r1, r1, r0 + movs r2, #0 + movs r5, #0 + ldr r0, _0803099C @ =0x0000FF9C + strh r0, [r1] + movs r1, #0 + ldrsb r1, [r4, r1] + ldr r4, _080309A0 @ =0x00000332 + adds r0, r3, r4 + adds r0, r0, r1 + strb r2, [r0] + ldr r1, [r7] + ldr r0, _08030998 @ =0x000006BD + adds r3, r1, r0 + movs r2, #0 + ldrsb r2, [r3, r2] + lsls r2, r2, #1 + adds r4, #4 + adds r0, r1, r4 + adds r0, r0, r2 + strh r5, [r0] + movs r0, #0 + ldrsb r0, [r3, r0] + movs r2, #0xcb + lsls r2, r2, #2 + adds r1, r1, r2 + adds r1, r1, r0 + movs r3, #1 + strb r3, [r1] + ldr r1, [r7] + ldr r0, _08030998 @ =0x000006BD + adds r2, r1, r0 + movs r0, #0 + ldrsb r0, [r2, r0] + lsls r0, r0, #1 + adds r1, r1, r4 + adds r1, r1, r0 + strh r5, [r1] + ldrb r0, [r2] + adds r0, #1 + strb r0, [r2] + ldr r2, [r7] + subs r4, #0xc + adds r1, r2, r4 + movs r0, #0xe1 + lsls r0, r0, #3 + strh r0, [r1] + ldr r5, _08030998 @ =0x000006BD + adds r0, r2, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + bne _08030A18 + ldr r1, _080309A4 @ =0x000006C2 + adds r0, r2, r1 + strh r3, [r0] + b _08030A18 + .align 2, 0 _08030994: .4byte 0x020314E0 _08030998: .4byte 0x000006BD _0803099C: .4byte 0x0000FF9C _080309A0: .4byte 0x00000332 _080309A4: .4byte 0x000006C2 _080309A8: - ldr r2, _08030A54 @ =0x000006BD - adds r4, r3, r2 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #1 - bgt _08030A18 - lsls r0, r0, #1 - movs r5, #0xcf - lsls r5, r5, #2 - adds r1, r3, r5 - adds r1, r1, r0 - movs r2, #0 - movs r5, #0 - ldr r0, _08030A58 @ =0x0000FF9C - strh r0, [r1] - movs r1, #0 - ldrsb r1, [r4, r1] - ldr r4, _08030A5C @ =0x00000332 - adds r0, r3, r4 - adds r0, r0, r1 - strb r2, [r0] - ldr r1, [r7] - ldr r0, _08030A54 @ =0x000006BD - adds r4, r1, r0 - movs r2, #0 - ldrsb r2, [r4, r2] - lsls r2, r2, #1 - ldr r3, _08030A60 @ =0x00000336 - adds r0, r1, r3 - adds r0, r0, r2 - strh r5, [r0] - movs r0, #0 - ldrsb r0, [r4, r0] - movs r2, #0xcb - lsls r2, r2, #2 - adds r1, r1, r2 - adds r1, r1, r0 - movs r0, #1 - strb r0, [r1] - ldr r1, [r7] - ldr r4, _08030A54 @ =0x000006BD - adds r2, r1, r4 - movs r0, #0 - ldrsb r0, [r2, r0] - lsls r0, r0, #1 - adds r3, r1, r3 - adds r3, r3, r0 - strh r5, [r3] - ldr r5, _08030A64 @ =0x0000032A - adds r1, r1, r5 - movs r0, #0xe1 - lsls r0, r0, #3 - strh r0, [r1] - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] + ldr r2, _08030A54 @ =0x000006BD + adds r4, r3, r2 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #1 + bgt _08030A18 + lsls r0, r0, #1 + movs r5, #0xcf + lsls r5, r5, #2 + adds r1, r3, r5 + adds r1, r1, r0 + movs r2, #0 + movs r5, #0 + ldr r0, _08030A58 @ =0x0000FF9C + strh r0, [r1] + movs r1, #0 + ldrsb r1, [r4, r1] + ldr r4, _08030A5C @ =0x00000332 + adds r0, r3, r4 + adds r0, r0, r1 + strb r2, [r0] + ldr r1, [r7] + ldr r0, _08030A54 @ =0x000006BD + adds r4, r1, r0 + movs r2, #0 + ldrsb r2, [r4, r2] + lsls r2, r2, #1 + ldr r3, _08030A60 @ =0x00000336 + adds r0, r1, r3 + adds r0, r0, r2 + strh r5, [r0] + movs r0, #0 + ldrsb r0, [r4, r0] + movs r2, #0xcb + lsls r2, r2, #2 + adds r1, r1, r2 + adds r1, r1, r0 + movs r0, #1 + strb r0, [r1] + ldr r1, [r7] + ldr r4, _08030A54 @ =0x000006BD + adds r2, r1, r4 + movs r0, #0 + ldrsb r0, [r2, r0] + lsls r0, r0, #1 + adds r3, r1, r3 + adds r3, r3, r0 + strh r5, [r3] + ldr r5, _08030A64 @ =0x0000032A + adds r1, r1, r5 + movs r0, #0xe1 + lsls r0, r0, #3 + strh r0, [r1] + ldrb r0, [r2] + adds r0, #1 + strb r0, [r2] _08030A18: - ldr r0, [r7] - movs r1, #0xca - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #0 - strb r1, [r0] - ldr r1, [r7] - ldr r0, _08030A68 @ =0x00000BB8 - str r0, [r1, #0x3c] + ldr r0, [r7] + movs r1, #0xca + lsls r1, r1, #2 + adds r0, r0, r1 + movs r1, #0 + strb r1, [r0] + ldr r1, [r7] + ldr r0, _08030A68 @ =0x00000BB8 + str r0, [r1, #0x3c] _08030A2A: - movs r1, #0 - ldr r2, _08030A6C @ =0x020314E0 - mov sb, r2 + movs r1, #0 + ldr r2, _08030A6C @ =0x020314E0 + mov sb, r2 _08030A30: - mov r3, sb - ldr r5, [r3] - lsls r1, r1, #0x10 - asrs r6, r1, #0x10 - movs r4, #0xcb - lsls r4, r4, #2 - adds r0, r5, r4 - adds r2, r0, r6 - movs r4, #0 - ldrsb r4, [r2, r4] - mov sl, r1 - cmp r4, #1 - beq _08030AAC - cmp r4, #1 - bgt _08030A70 - cmp r4, #0 - beq _08030A7E - b _08030C98 - .align 2, 0 + mov r3, sb + ldr r5, [r3] + lsls r1, r1, #0x10 + asrs r6, r1, #0x10 + movs r4, #0xcb + lsls r4, r4, #2 + adds r0, r5, r4 + adds r2, r0, r6 + movs r4, #0 + ldrsb r4, [r2, r4] + mov sl, r1 + cmp r4, #1 + beq _08030AAC + cmp r4, #1 + bgt _08030A70 + cmp r4, #0 + beq _08030A7E + b _08030C98 + .align 2, 0 _08030A54: .4byte 0x000006BD _08030A58: .4byte 0x0000FF9C _08030A5C: .4byte 0x00000332 @@ -95982,469 +95982,469 @@ _08030A64: .4byte 0x0000032A _08030A68: .4byte 0x00000BB8 _08030A6C: .4byte 0x020314E0 _08030A70: - cmp r4, #2 - bne _08030A76 - b _08030B7C + cmp r4, #2 + bne _08030A76 + b _08030B7C _08030A76: - cmp r4, #3 - bne _08030A7C - b _08030BCE + cmp r4, #3 + bne _08030A7C + b _08030BCE _08030A7C: - b _08030C98 + b _08030C98 _08030A7E: - lsls r2, r6, #1 - movs r1, #0xcf - lsls r1, r1, #2 - adds r0, r5, r1 - adds r0, r0, r2 - ldr r1, _08030AA4 @ =0x0000FF9C - strh r1, [r0] - ldr r3, _08030AA8 @ =0x00000332 - adds r0, r5, r3 - adds r0, r0, r6 - movs r5, #0 - strb r5, [r0] - mov r1, sb - ldr r0, [r1] - adds r3, #4 - adds r0, r0, r3 - adds r0, r0, r2 - strh r4, [r0] - b _08030C98 - .align 2, 0 + lsls r2, r6, #1 + movs r1, #0xcf + lsls r1, r1, #2 + adds r0, r5, r1 + adds r0, r0, r2 + ldr r1, _08030AA4 @ =0x0000FF9C + strh r1, [r0] + ldr r3, _08030AA8 @ =0x00000332 + adds r0, r5, r3 + adds r0, r0, r6 + movs r5, #0 + strb r5, [r0] + mov r1, sb + ldr r0, [r1] + adds r3, #4 + adds r0, r0, r3 + adds r0, r0, r2 + strh r4, [r0] + b _08030C98 + .align 2, 0 _08030AA4: .4byte 0x0000FF9C _08030AA8: .4byte 0x00000332 _08030AAC: - lsls r7, r6, #1 - ldr r0, _08030B28 @ =0x00000336 - mov r8, r0 - adds r0, r5, r0 - adds r0, r0, r7 - ldrh r0, [r0] - cmp r0, #0x20 - bhi _08030B58 - cmp r0, #0 - bne _08030AC6 - movs r0, #0xe9 - bl m4aSongNumStart + lsls r7, r6, #1 + ldr r0, _08030B28 @ =0x00000336 + mov r8, r0 + adds r0, r5, r0 + adds r0, r0, r7 + ldrh r0, [r0] + cmp r0, #0x20 + bhi _08030B58 + cmp r0, #0 + bne _08030AC6 + movs r0, #0xe9 + bl m4aSongNumStart _08030AC6: - mov r1, sb - ldr r0, [r1] - add r0, r8 - adds r0, r0, r7 - ldrh r0, [r0] - cmp r0, #0x1a - bne _08030ADA - movs r0, #0xea - bl m4aSongNumStart + mov r1, sb + ldr r0, [r1] + add r0, r8 + adds r0, r0, r7 + ldrh r0, [r0] + cmp r0, #0x1a + bne _08030ADA + movs r0, #0xea + bl m4aSongNumStart _08030ADA: - mov r3, sb - ldr r2, [r3] - mov r5, r8 - adds r1, r2, r5 - adds r1, r1, r7 - ldrh r0, [r1] - adds r0, #1 - movs r3, #0 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x14 - bhi _08030B34 - ldr r1, _08030B2C @ =0x0000032F - adds r0, r2, r1 - adds r0, r0, r6 - strb r3, [r0] - mov r2, sb - ldr r3, [r2] - movs r4, #0xcf - lsls r4, r4, #2 - adds r2, r3, r4 - adds r2, r2, r7 - adds r1, r3, r5 - adds r1, r1, r7 - ldrh r0, [r1] - lsls r0, r0, #2 - subs r0, #0x50 - strh r0, [r2] - ldrh r0, [r1] - cmp r0, #0x14 - beq _08030B1C - b _08030C98 + mov r3, sb + ldr r2, [r3] + mov r5, r8 + adds r1, r2, r5 + adds r1, r1, r7 + ldrh r0, [r1] + adds r0, #1 + movs r3, #0 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x14 + bhi _08030B34 + ldr r1, _08030B2C @ =0x0000032F + adds r0, r2, r1 + adds r0, r0, r6 + strb r3, [r0] + mov r2, sb + ldr r3, [r2] + movs r4, #0xcf + lsls r4, r4, #2 + adds r2, r3, r4 + adds r2, r2, r7 + adds r1, r3, r5 + adds r1, r1, r7 + ldrh r0, [r1] + lsls r0, r0, #2 + subs r0, #0x50 + strh r0, [r2] + ldrh r0, [r1] + cmp r0, #0x14 + beq _08030B1C + b _08030C98 _08030B1C: - ldr r5, _08030B30 @ =0x00000326 - adds r1, r3, r5 - movs r0, #0x17 - strh r0, [r1] - b _08030C98 - .align 2, 0 + ldr r5, _08030B30 @ =0x00000326 + adds r1, r3, r5 + movs r0, #0x17 + strh r0, [r1] + b _08030C98 + .align 2, 0 _08030B28: .4byte 0x00000336 _08030B2C: .4byte 0x0000032F _08030B30: .4byte 0x00000326 _08030B34: - cmp r0, #0x18 - bhi _08030B48 - ldr r1, _08030B44 @ =0x0000032F - adds r0, r2, r1 - adds r0, r0, r6 - strb r4, [r0] - b _08030C98 - .align 2, 0 + cmp r0, #0x18 + bhi _08030B48 + ldr r1, _08030B44 @ =0x0000032F + adds r0, r2, r1 + adds r0, r0, r6 + strb r4, [r0] + b _08030C98 + .align 2, 0 _08030B44: .4byte 0x0000032F _08030B48: - ldr r3, _08030B54 @ =0x0000032F - adds r0, r2, r3 - adds r0, r0, r6 - movs r1, #2 - strb r1, [r0] - b _08030C98 - .align 2, 0 + ldr r3, _08030B54 @ =0x0000032F + adds r0, r2, r3 + adds r0, r0, r6 + movs r1, #2 + strb r1, [r0] + b _08030C98 + .align 2, 0 _08030B54: .4byte 0x0000032F _08030B58: - movs r1, #0 - movs r0, #2 - strb r0, [r2] - mov r4, sb - ldr r0, [r4] - ldr r5, _08030B78 @ =0x00000336 - adds r0, r0, r5 - adds r0, r0, r7 - strh r1, [r0] - cmp r6, #2 - beq _08030B70 - b _08030C98 + movs r1, #0 + movs r0, #2 + strb r0, [r2] + mov r4, sb + ldr r0, [r4] + ldr r5, _08030B78 @ =0x00000336 + adds r0, r0, r5 + adds r0, r0, r7 + strh r1, [r0] + cmp r6, #2 + beq _08030B70 + b _08030C98 _08030B70: - movs r0, #7 - bl sub_19B64 - b _08030C98 - .align 2, 0 + movs r0, #7 + bl sub_19B64 + b _08030C98 + .align 2, 0 _08030B78: .4byte 0x00000336 _08030B7C: - ldr r2, _08030BB8 @ =0x0000032F - adds r3, r5, r2 - adds r3, r3, r6 - movs r1, #0xa4 - lsls r1, r1, #2 - adds r0, r5, r1 - ldr r0, [r0] - movs r1, #0x1f - ands r0, r1 - lsrs r0, r0, #4 - lsls r0, r0, #1 - adds r0, #1 - movs r4, #0 - strb r0, [r3] - mov r5, sb - ldr r3, [r5] - adds r2, r3, r2 - adds r2, r2, r6 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #1 - bne _08030BC0 - lsls r0, r6, #1 - movs r2, #0xcf - lsls r2, r2, #2 - adds r1, r3, r2 - adds r1, r1, r0 - ldr r0, _08030BBC @ =0x0000FFFE - strh r0, [r1] - b _08030C98 - .align 2, 0 + ldr r2, _08030BB8 @ =0x0000032F + adds r3, r5, r2 + adds r3, r3, r6 + movs r1, #0xa4 + lsls r1, r1, #2 + adds r0, r5, r1 + ldr r0, [r0] + movs r1, #0x1f + ands r0, r1 + lsrs r0, r0, #4 + lsls r0, r0, #1 + adds r0, #1 + movs r4, #0 + strb r0, [r3] + mov r5, sb + ldr r3, [r5] + adds r2, r3, r2 + adds r2, r2, r6 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #1 + bne _08030BC0 + lsls r0, r6, #1 + movs r2, #0xcf + lsls r2, r2, #2 + adds r1, r3, r2 + adds r1, r1, r0 + ldr r0, _08030BBC @ =0x0000FFFE + strh r0, [r1] + b _08030C98 + .align 2, 0 _08030BB8: .4byte 0x0000032F _08030BBC: .4byte 0x0000FFFE _08030BC0: - lsls r1, r6, #1 - movs r5, #0xcf - lsls r5, r5, #2 - adds r0, r3, r5 - adds r0, r0, r1 - strh r4, [r0] - b _08030C98 + lsls r1, r6, #1 + movs r5, #0xcf + lsls r5, r5, #2 + adds r0, r3, r5 + adds r0, r0, r1 + strh r4, [r0] + b _08030C98 _08030BCE: - lsls r1, r6, #1 - ldr r3, _08030C04 @ =0x00000336 - adds r0, r5, r3 - adds r0, r0, r1 - movs r1, #0 - ldrsh r4, [r0, r1] - cmp r4, #0x1f - bgt _08030C10 - ldr r2, _08030C08 @ =0x0000032F - adds r0, r5, r2 - adds r3, r0, r6 - adds r0, r4, #0 - cmp r4, #0 - bge _08030BEC - adds r0, #0xf + lsls r1, r6, #1 + ldr r3, _08030C04 @ =0x00000336 + adds r0, r5, r3 + adds r0, r0, r1 + movs r1, #0 + ldrsh r4, [r0, r1] + cmp r4, #0x1f + bgt _08030C10 + ldr r2, _08030C08 @ =0x0000032F + adds r0, r5, r2 + adds r3, r0, r6 + adds r0, r4, #0 + cmp r4, #0 + bge _08030BEC + adds r0, #0xf _08030BEC: - asrs r2, r0, #4 - adds r0, r2, #4 - strb r0, [r3] - mov r3, sb - ldr r0, [r3] - ldr r5, _08030C0C @ =0x00000332 - adds r0, r0, r5 - adds r1, r0, r6 - adds r0, r2, #1 - strb r0, [r1] - b _08030C84 - .align 2, 0 + asrs r2, r0, #4 + adds r0, r2, #4 + strb r0, [r3] + mov r3, sb + ldr r0, [r3] + ldr r5, _08030C0C @ =0x00000332 + adds r0, r0, r5 + adds r1, r0, r6 + adds r0, r2, #1 + strb r0, [r1] + b _08030C84 + .align 2, 0 _08030C04: .4byte 0x00000336 _08030C08: .4byte 0x0000032F _08030C0C: .4byte 0x00000332 _08030C10: - cmp r4, #0x25 - bgt _08030C58 - cmp r4, #0x20 - bne _08030C28 - ldr r0, _08030C4C @ =0x0200B0C0 - ldrb r0, [r0, #0xf] - ands r4, r0 - cmp r4, #0 - bne _08030C28 - movs r0, #0xeb - bl m4aSongNumStart + cmp r4, #0x25 + bgt _08030C58 + cmp r4, #0x20 + bne _08030C28 + ldr r0, _08030C4C @ =0x0200B0C0 + ldrb r0, [r0, #0xf] + ands r4, r0 + cmp r4, #0 + bne _08030C28 + movs r0, #0xeb + bl m4aSongNumStart _08030C28: - mov r0, sb - ldr r1, [r0] - mov r3, sl - asrs r2, r3, #0x10 - ldr r4, _08030C50 @ =0x0000032F - adds r1, r1, r4 - adds r1, r1, r2 - movs r0, #6 - strb r0, [r1] - mov r5, sb - ldr r0, [r5] - ldr r1, _08030C54 @ =0x00000332 - adds r0, r0, r1 - adds r0, r0, r2 - movs r1, #3 - strb r1, [r0] - b _08030C84 - .align 2, 0 + mov r0, sb + ldr r1, [r0] + mov r3, sl + asrs r2, r3, #0x10 + ldr r4, _08030C50 @ =0x0000032F + adds r1, r1, r4 + adds r1, r1, r2 + movs r0, #6 + strb r0, [r1] + mov r5, sb + ldr r0, [r5] + ldr r1, _08030C54 @ =0x00000332 + adds r0, r0, r1 + adds r0, r0, r2 + movs r1, #3 + strb r1, [r0] + b _08030C84 + .align 2, 0 _08030C4C: .4byte 0x0200B0C0 _08030C50: .4byte 0x0000032F _08030C54: .4byte 0x00000332 _08030C58: - cmp r4, #0x2d - bgt _08030C6C - ldr r2, _08030C68 @ =0x00000332 - adds r0, r5, r2 - adds r0, r0, r6 - movs r1, #4 - strb r1, [r0] - b _08030C84 - .align 2, 0 + cmp r4, #0x2d + bgt _08030C6C + ldr r2, _08030C68 @ =0x00000332 + adds r0, r5, r2 + adds r0, r0, r6 + movs r1, #4 + strb r1, [r0] + b _08030C84 + .align 2, 0 _08030C68: .4byte 0x00000332 _08030C6C: - cmp r4, #0x35 - bgt _08030C80 - ldr r3, _08030C7C @ =0x00000332 - adds r0, r5, r3 - adds r0, r0, r6 - movs r1, #5 - strb r1, [r0] - b _08030C84 - .align 2, 0 + cmp r4, #0x35 + bgt _08030C80 + ldr r3, _08030C7C @ =0x00000332 + adds r0, r5, r3 + adds r0, r0, r6 + movs r1, #5 + strb r1, [r0] + b _08030C84 + .align 2, 0 _08030C7C: .4byte 0x00000332 _08030C80: - movs r0, #0 - strb r0, [r2] + movs r0, #0 + strb r0, [r2] _08030C84: - mov r4, sb - ldr r0, [r4] - mov r5, sl - asrs r1, r5, #0xf - ldr r2, _08030D00 @ =0x00000336 - adds r0, r0, r2 - adds r0, r0, r1 - ldrh r1, [r0] - adds r1, #1 - strh r1, [r0] + mov r4, sb + ldr r0, [r4] + mov r5, sl + asrs r1, r5, #0xf + ldr r2, _08030D00 @ =0x00000336 + adds r0, r0, r2 + adds r0, r0, r1 + ldrh r1, [r0] + adds r1, #1 + strh r1, [r0] _08030C98: - movs r0, #0x80 - lsls r0, r0, #9 - add r0, sl - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - bgt _08030CA8 - b _08030A30 + movs r0, #0x80 + lsls r0, r0, #9 + add r0, sl + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + bgt _08030CA8 + b _08030A30 _08030CA8: - ldr r1, _08030D04 @ =0x020314E0 - ldr r5, [r1] - ldr r4, _08030D08 @ =0x00000326 - adds r3, r5, r4 - ldrh r0, [r3] - adds r7, r1, #0 - cmp r0, #0 - beq _08030CDC - ldr r4, _08030D0C @ =0x086AE54A - movs r1, #6 - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0xf - adds r0, r0, r4 - ldrh r1, [r0] - movs r2, #0xc9 - lsls r2, r2, #2 - adds r0, r5, r2 - strb r1, [r0] - ldr r1, [r7] - ldr r3, _08030D08 @ =0x00000326 - adds r1, r1, r3 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] + ldr r1, _08030D04 @ =0x020314E0 + ldr r5, [r1] + ldr r4, _08030D08 @ =0x00000326 + adds r3, r5, r4 + ldrh r0, [r3] + adds r7, r1, #0 + cmp r0, #0 + beq _08030CDC + ldr r4, _08030D0C @ =0x086AE54A + movs r1, #6 + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0xf + adds r0, r0, r4 + ldrh r1, [r0] + movs r2, #0xc9 + lsls r2, r2, #2 + adds r0, r5, r2 + strb r1, [r0] + ldr r1, [r7] + ldr r3, _08030D08 @ =0x00000326 + adds r1, r1, r3 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] _08030CDC: - ldr r2, [r7] - ldr r4, _08030D10 @ =0x000006C2 - adds r1, r2, r4 - ldrh r0, [r1] - cmp r0, #0 - beq _08030DA4 - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08030DA4 - adds r2, #0xe4 - ldrb r0, [r2] - cmp r0, #0 - beq _08030D14 - movs r0, #1 - strh r0, [r1] - b _08030D18 - .align 2, 0 + ldr r2, [r7] + ldr r4, _08030D10 @ =0x000006C2 + adds r1, r2, r4 + ldrh r0, [r1] + cmp r0, #0 + beq _08030DA4 + subs r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08030DA4 + adds r2, #0xe4 + ldrb r0, [r2] + cmp r0, #0 + beq _08030D14 + movs r0, #1 + strh r0, [r1] + b _08030D18 + .align 2, 0 _08030D00: .4byte 0x00000336 _08030D04: .4byte 0x020314E0 _08030D08: .4byte 0x00000326 _08030D0C: .4byte 0x086AE54A _08030D10: .4byte 0x000006C2 _08030D14: - movs r0, #4 - strb r0, [r2] + movs r0, #4 + strb r0, [r2] _08030D18: - ldr r4, [r7] - ldr r5, _08030E04 @ =0x000006C2 - adds r0, r4, r5 - ldrh r5, [r0] - cmp r5, #0 - bne _08030DA4 - ldr r2, _08030E08 @ =0x0200B0C0 - ldrb r1, [r2, #0xf] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #0xf] - adds r1, r4, #0 - adds r1, #0xea - movs r3, #0 - movs r0, #0x46 - strh r0, [r1] - adds r1, #2 - movs r0, #0xa0 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xe8 - strh r5, [r0] - subs r0, #2 - strh r5, [r0] - adds r0, #8 - strh r5, [r0] - adds r1, #6 - movs r0, #4 - strb r0, [r1] - ldr r0, [r7] - adds r0, #0xfa - movs r1, #1 - strb r1, [r0] - ldr r0, [r7] - adds r0, #0xfb - strb r3, [r0] - ldr r3, [r7] - adds r1, r3, #0 - adds r1, #0xf4 - movs r0, #0x78 - strh r0, [r1] - adds r0, r3, #0 - adds r0, #0xf6 - strh r5, [r0] - subs r1, #4 - movs r0, #0x32 - strh r0, [r1] - adds r0, r3, #0 - adds r0, #0xf8 - strh r5, [r0] - ldr r1, _08030E0C @ =0x040000D4 - ldr r0, _08030E10 @ =0x086ACEF8 - ldr r0, [r0, #0x10] - str r0, [r1] - ldr r0, _08030E14 @ =0x06015800 - str r0, [r1, #4] - ldr r0, _08030E18 @ =0x80001200 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08030E1C @ =0x086ACF18 - ldr r0, [r0, #0x10] - str r0, [r1] - ldr r0, _08030E20 @ =0x050003C0 - str r0, [r1, #4] - ldr r0, _08030E24 @ =0x80000010 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldrh r0, [r2, #0x38] - movs r0, #0xce - strh r0, [r2, #0x38] + ldr r4, [r7] + ldr r5, _08030E04 @ =0x000006C2 + adds r0, r4, r5 + ldrh r5, [r0] + cmp r5, #0 + bne _08030DA4 + ldr r2, _08030E08 @ =0x0200B0C0 + ldrb r1, [r2, #0xf] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #0xf] + adds r1, r4, #0 + adds r1, #0xea + movs r3, #0 + movs r0, #0x46 + strh r0, [r1] + adds r1, #2 + movs r0, #0xa0 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xe8 + strh r5, [r0] + subs r0, #2 + strh r5, [r0] + adds r0, #8 + strh r5, [r0] + adds r1, #6 + movs r0, #4 + strb r0, [r1] + ldr r0, [r7] + adds r0, #0xfa + movs r1, #1 + strb r1, [r0] + ldr r0, [r7] + adds r0, #0xfb + strb r3, [r0] + ldr r3, [r7] + adds r1, r3, #0 + adds r1, #0xf4 + movs r0, #0x78 + strh r0, [r1] + adds r0, r3, #0 + adds r0, #0xf6 + strh r5, [r0] + subs r1, #4 + movs r0, #0x32 + strh r0, [r1] + adds r0, r3, #0 + adds r0, #0xf8 + strh r5, [r0] + ldr r1, _08030E0C @ =0x040000D4 + ldr r0, _08030E10 @ =0x086ACEF8 + ldr r0, [r0, #0x10] + str r0, [r1] + ldr r0, _08030E14 @ =0x06015800 + str r0, [r1, #4] + ldr r0, _08030E18 @ =0x80001200 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08030E1C @ =0x086ACF18 + ldr r0, [r0, #0x10] + str r0, [r1] + ldr r0, _08030E20 @ =0x050003C0 + str r0, [r1, #4] + ldr r0, _08030E24 @ =0x80000010 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldrh r0, [r2, #0x38] + movs r0, #0xce + strh r0, [r2, #0x38] _08030DA4: - ldr r5, [r7] - ldr r0, _08030E28 @ =0x000006BE - adds r3, r5, r0 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - beq _08030E3E - movs r1, #0xd8 - lsls r1, r1, #3 - adds r0, r5, r1 - ldrh r1, [r0] - adds r2, r1, #1 - strh r2, [r0] - lsls r1, r1, #0x10 - asrs r4, r1, #0x10 - cmp r4, #0x3c - bgt _08030E30 - adds r0, r4, #0 - movs r1, #0x1e - bl __modsi3 - lsls r0, r0, #0x10 - asrs r6, r0, #0x10 - cmp r6, #0 - bne _08030E3E - adds r0, r4, #0 - movs r1, #0x1e - bl __divsi3 - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - movs r2, #0xcb - lsls r2, r2, #2 - adds r0, r5, r2 - adds r2, r0, r1 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #2 - bne _08030E3E - movs r0, #3 - strb r0, [r2] - ldr r0, [r7] - lsls r1, r1, #1 - ldr r3, _08030E2C @ =0x00000336 - adds r0, r0, r3 - adds r0, r0, r1 - strh r6, [r0] - b _08030E3E - .align 2, 0 + ldr r5, [r7] + ldr r0, _08030E28 @ =0x000006BE + adds r3, r5, r0 + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #0 + beq _08030E3E + movs r1, #0xd8 + lsls r1, r1, #3 + adds r0, r5, r1 + ldrh r1, [r0] + adds r2, r1, #1 + strh r2, [r0] + lsls r1, r1, #0x10 + asrs r4, r1, #0x10 + cmp r4, #0x3c + bgt _08030E30 + adds r0, r4, #0 + movs r1, #0x1e + bl __modsi3 + lsls r0, r0, #0x10 + asrs r6, r0, #0x10 + cmp r6, #0 + bne _08030E3E + adds r0, r4, #0 + movs r1, #0x1e + bl __divsi3 + lsls r0, r0, #0x10 + asrs r1, r0, #0x10 + movs r2, #0xcb + lsls r2, r2, #2 + adds r0, r5, r2 + adds r2, r0, r1 + movs r0, #0 + ldrsb r0, [r2, r0] + cmp r0, #2 + bne _08030E3E + movs r0, #3 + strb r0, [r2] + ldr r0, [r7] + lsls r1, r1, #1 + ldr r3, _08030E2C @ =0x00000336 + adds r0, r0, r3 + adds r0, r0, r1 + strh r6, [r0] + b _08030E3E + .align 2, 0 _08030E04: .4byte 0x000006C2 _08030E08: .4byte 0x0200B0C0 _08030E0C: .4byte 0x040000D4 @@ -96457,249 +96457,249 @@ _08030E24: .4byte 0x80000010 _08030E28: .4byte 0x000006BE _08030E2C: .4byte 0x00000336 _08030E30: - movs r1, #0 - strb r1, [r3] - ldr r0, [r7] - movs r4, #0xd8 - lsls r4, r4, #3 - adds r0, r0, r4 - strh r1, [r0] + movs r1, #0 + strb r1, [r3] + ldr r0, [r7] + movs r4, #0xd8 + lsls r4, r4, #3 + adds r0, r0, r4 + strh r1, [r0] _08030E3E: - ldr r2, [r7] - ldr r4, _08030EA8 @ =0x0000032A - adds r1, r2, r4 - ldrh r0, [r1] - cmp r0, #0 - beq _08030E98 - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - cmp r3, #0 - bne _08030E98 - ldr r5, _08030EAC @ =0x000006BD - adds r2, r2, r5 - ldrb r0, [r2] - subs r1, r0, #1 - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _08030E98 - strb r1, [r2] - ldr r0, [r7] - adds r1, r0, r5 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - movs r2, #0xcb - lsls r2, r2, #2 - adds r0, r0, r2 - adds r0, r0, r1 - movs r1, #3 - strb r1, [r0] - ldr r2, [r7] - adds r0, r2, r5 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r1, r1, #1 - ldr r5, _08030EB0 @ =0x00000336 - adds r0, r2, r5 - adds r0, r0, r1 - strh r3, [r0] - adds r2, r2, r4 - movs r0, #0xe1 - lsls r0, r0, #3 - strh r0, [r2] + ldr r2, [r7] + ldr r4, _08030EA8 @ =0x0000032A + adds r1, r2, r4 + ldrh r0, [r1] + cmp r0, #0 + beq _08030E98 + subs r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + cmp r3, #0 + bne _08030E98 + ldr r5, _08030EAC @ =0x000006BD + adds r2, r2, r5 + ldrb r0, [r2] + subs r1, r0, #1 + lsls r0, r1, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #1 + bhi _08030E98 + strb r1, [r2] + ldr r0, [r7] + adds r1, r0, r5 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + movs r2, #0xcb + lsls r2, r2, #2 + adds r0, r0, r2 + adds r0, r0, r1 + movs r1, #3 + strb r1, [r0] + ldr r2, [r7] + adds r0, r2, r5 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r1, r1, #1 + ldr r5, _08030EB0 @ =0x00000336 + adds r0, r2, r5 + adds r0, r0, r1 + strh r3, [r0] + adds r2, r2, r4 + movs r0, #0xe1 + lsls r0, r0, #3 + strh r0, [r2] _08030E98: - 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 + 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 _08030EA8: .4byte 0x0000032A _08030EAC: .4byte 0x000006BD _08030EB0: .4byte 0x00000336 - thumb_func_start sub_30EB4 + thumb_func_start sub_30EB4 sub_30EB4: @ 0x08030EB4 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r6, _0803100C @ =0x0200E1B8 - ldrh r0, [r6] - cmp r0, #0 - bne _08030EC8 - b _0803110C + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r6, _0803100C @ =0x0200E1B8 + ldrh r0, [r6] + cmp r0, #0 + bne _08030EC8 + b _0803110C _08030EC8: - ldr r3, _08031010 @ =0x020314E0 - ldr r0, [r3] - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xa - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r0, [r3] - adds r0, #0x5a - ldrh r1, [r0] - movs r2, #0x95 - lsls r2, r2, #1 - adds r0, r2, #0 - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r0, [r3] - movs r7, #0xc9 - lsls r7, r7, #2 - adds r0, r0, r7 - ldr r2, _08031014 @ =0x040000D4 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _08031018 @ =0x0844F20C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0803101C @ =0x060139A0 - str r0, [r2, #4] - ldr r0, _08031020 @ =0x80000140 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r5, #0 - mov sl, r3 - ldr r0, _08031024 @ =0x03005000 - mov sb, r0 - mov r7, sb - ldr r1, _08031028 @ =0xFFFFFE00 - mov ip, r1 + ldr r3, _08031010 @ =0x020314E0 + ldr r0, [r3] + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xa + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r0, [r3] + adds r0, #0x5a + ldrh r1, [r0] + movs r2, #0x95 + lsls r2, r2, #1 + adds r0, r2, #0 + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r0, [r3] + movs r7, #0xc9 + lsls r7, r7, #2 + adds r0, r0, r7 + ldr r2, _08031014 @ =0x040000D4 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _08031018 @ =0x0844F20C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _0803101C @ =0x060139A0 + str r0, [r2, #4] + ldr r0, _08031020 @ =0x80000140 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r5, #0 + mov sl, r3 + ldr r0, _08031024 @ =0x03005000 + mov sb, r0 + mov r7, sb + ldr r1, _08031028 @ =0xFFFFFE00 + mov ip, r1 _08030F18: - lsls r4, r5, #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 r0, _0803102C @ =0x000001FF - mov r8, r0 - mov r2, r8 - ands r1, r2 - 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 r5, r4, #0x10 - asrs r4, r4, #0x10 - cmp r4, #1 - ble _08030F18 - ldr r6, _08031030 @ =0x0200E498 - mov r3, sl - ldr r0, [r3] - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0xa - subs r0, r0, r1 - strh r0, [r6, #2] - ldr r0, [r3] - adds r0, #0x5a - ldrh r1, [r0] - movs r7, #0x95 - lsls r7, r7, #1 - adds r0, r7, #0 - subs r0, r0, r1 - strh r0, [r6, #4] - adds r5, r6, #0 - adds r5, #8 - ldrh r2, [r6, #8] - lsls r2, r2, #3 - add r2, sb - movs r0, #2 - ldrsh r1, [r5, r0] - movs r3, #2 - ldrsh r0, [r6, r3] - adds r1, r1, r0 - mov r7, r8 - ands r1, r7 - ldrh r3, [r2, #2] - ldr r0, _08031028 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r6, #8] - lsls r1, r1, #3 - add r1, sb - ldrb r0, [r6, #4] - ldrb r5, [r5, #4] - adds r0, r0, r5 - strb r0, [r1] - movs r3, #0 - ldr r0, _08031014 @ =0x040000D4 - mov sl, r0 + lsls r4, r5, #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 r0, _0803102C @ =0x000001FF + mov r8, r0 + mov r2, r8 + ands r1, r2 + 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 r5, r4, #0x10 + asrs r4, r4, #0x10 + cmp r4, #1 + ble _08030F18 + ldr r6, _08031030 @ =0x0200E498 + mov r3, sl + ldr r0, [r3] + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0xa + subs r0, r0, r1 + strh r0, [r6, #2] + ldr r0, [r3] + adds r0, #0x5a + ldrh r1, [r0] + movs r7, #0x95 + lsls r7, r7, #1 + adds r0, r7, #0 + subs r0, r0, r1 + strh r0, [r6, #4] + adds r5, r6, #0 + adds r5, #8 + ldrh r2, [r6, #8] + lsls r2, r2, #3 + add r2, sb + movs r0, #2 + ldrsh r1, [r5, r0] + movs r3, #2 + ldrsh r0, [r6, r3] + adds r1, r1, r0 + mov r7, r8 + ands r1, r7 + ldrh r3, [r2, #2] + ldr r0, _08031028 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r6, #8] + lsls r1, r1, #3 + add r1, sb + ldrb r0, [r6, #4] + ldrb r5, [r5, #4] + adds r0, r0, r5 + strb r0, [r1] + movs r3, #0 + ldr r0, _08031014 @ =0x040000D4 + mov sl, r0 _08030FB4: - lsls r3, r3, #0x10 - asrs r2, r3, #0x10 - movs r0, #0xb8 - muls r0, r2, r0 - ldr r1, _08031034 @ =0x0200E270 - adds r6, r0, r1 - lsls r5, r2, #1 - ldr r7, _08031038 @ =0x086AE544 - adds r0, r5, r7 - ldrh r1, [r0] - subs r1, r1, r2 - ldr r0, _08031010 @ =0x020314E0 - ldr r4, [r0] - adds r0, r4, #0 - adds r0, #0x58 - ldrh r0, [r0] - subs r1, r1, r0 - strh r1, [r6, #2] - movs r1, #0xcb - lsls r1, r1, #2 - adds r0, r4, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov sb, r3 - cmp r0, #0 - ble _0803103C - movs r2, #0xcf - lsls r2, r2, #2 - adds r0, r4, r2 - adds r0, r0, r5 - movs r3, #0x92 - lsls r3, r3, #1 - adds r1, r3, #0 - ldrh r0, [r0] - adds r1, r1, r0 - adds r0, r4, #0 - adds r0, #0x5a - ldrh r0, [r0] - subs r1, r1, r0 - strh r1, [r6, #4] - b _08031040 - .align 2, 0 + lsls r3, r3, #0x10 + asrs r2, r3, #0x10 + movs r0, #0xb8 + muls r0, r2, r0 + ldr r1, _08031034 @ =0x0200E270 + adds r6, r0, r1 + lsls r5, r2, #1 + ldr r7, _08031038 @ =0x086AE544 + adds r0, r5, r7 + ldrh r1, [r0] + subs r1, r1, r2 + ldr r0, _08031010 @ =0x020314E0 + ldr r4, [r0] + adds r0, r4, #0 + adds r0, #0x58 + ldrh r0, [r0] + subs r1, r1, r0 + strh r1, [r6, #2] + movs r1, #0xcb + lsls r1, r1, #2 + adds r0, r4, r1 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + mov sb, r3 + cmp r0, #0 + ble _0803103C + movs r2, #0xcf + lsls r2, r2, #2 + adds r0, r4, r2 + adds r0, r0, r5 + movs r3, #0x92 + lsls r3, r3, #1 + adds r1, r3, #0 + ldrh r0, [r0] + adds r1, r1, r0 + adds r0, r4, #0 + adds r0, #0x5a + ldrh r0, [r0] + subs r1, r1, r0 + strh r1, [r6, #4] + b _08031040 + .align 2, 0 _0803100C: .4byte 0x0200E1B8 _08031010: .4byte 0x020314E0 _08031014: .4byte 0x040000D4 @@ -96713,121 +96713,121 @@ _08031030: .4byte 0x0200E498 _08031034: .4byte 0x0200E270 _08031038: .4byte 0x086AE544 _0803103C: - movs r0, #0xc8 - strh r0, [r6, #4] + movs r0, #0xc8 + strh r0, [r6, #4] _08031040: - ldr r7, _0803111C @ =0x020314E0 - ldr r3, [r7] - mov r0, sb - asrs r2, r0, #0x10 - ldr r1, _08031120 @ =0x0000032F - adds r0, r3, r1 - adds r0, r0, r2 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r7, _08031124 @ =0x084FDF8C - adds r0, r0, r7 - mov r1, sl - str r0, [r1] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #7 - ldr r7, _08031128 @ =0x06013C20 - adds r0, r0, r7 - str r0, [r1, #4] - ldr r0, _0803112C @ =0x800000B0 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, _08031130 @ =0x00000332 - adds r3, r3, r0 - adds r3, r3, r2 - movs r5, #0 - lsls r0, r2, #3 - adds r0, r0, r2 - lsls r0, r0, #3 - mov r8, r0 - movs r1, #0 - ldrsb r1, [r3, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - mov ip, r0 + ldr r7, _0803111C @ =0x020314E0 + ldr r3, [r7] + mov r0, sb + asrs r2, r0, #0x10 + ldr r1, _08031120 @ =0x0000032F + adds r0, r3, r1 + adds r0, r0, r2 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r7, _08031124 @ =0x084FDF8C + adds r0, r0, r7 + mov r1, sl + str r0, [r1] + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #7 + ldr r7, _08031128 @ =0x06013C20 + adds r0, r0, r7 + str r0, [r1, #4] + ldr r0, _0803112C @ =0x800000B0 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, _08031130 @ =0x00000332 + adds r3, r3, r0 + adds r3, r3, r2 + movs r5, #0 + lsls r0, r2, #3 + adds r0, r0, r2 + lsls r0, r0, #3 + mov r8, r0 + movs r1, #0 + ldrsb r1, [r3, r1] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + mov ip, r0 _0803108E: - lsls r3, r5, #0x10 - asrs r3, r3, #0x10 - lsls r0, r3, #3 - adds r0, #8 - adds r5, r6, r0 - ldrh r2, [r5] - lsls r2, r2, #3 - ldr r1, _08031134 @ =0x03005000 - adds r2, r2, r1 - ldr r1, _08031138 @ =0x086B3E1E - add r1, ip - add r1, r8 - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r0, r0, #1 - 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 r2, [r5] - lsls r2, r2, #3 - ldr r7, _08031134 @ =0x03005000 - adds r2, r2, r7 - ldrh r4, [r2, #2] - lsls r1, r4, #0x17 - lsrs r1, r1, #0x17 - movs r7, #2 - ldrsh r0, [r6, r7] - adds r1, r1, r0 - ldr r7, _0803113C @ =0x000001FF - adds r0, r7, #0 - ands r1, r0 - ldr r0, _08031140 @ =0xFFFFFE00 - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - ldr r0, _08031134 @ =0x03005000 - adds r1, r1, r0 - ldrb r0, [r6, #4] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - adds r3, #1 - lsls r3, r3, #0x10 - lsrs r5, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #1 - ble _0803108E - movs r0, #0x80 - lsls r0, r0, #9 - add r0, sb - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - bgt _0803110C - b _08030FB4 + lsls r3, r5, #0x10 + asrs r3, r3, #0x10 + lsls r0, r3, #3 + adds r0, #8 + adds r5, r6, r0 + ldrh r2, [r5] + lsls r2, r2, #3 + ldr r1, _08031134 @ =0x03005000 + adds r2, r2, r1 + ldr r1, _08031138 @ =0x086B3E1E + add r1, ip + add r1, r8 + lsls r0, r3, #1 + adds r0, r0, r3 + lsls r0, r0, #1 + 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 r2, [r5] + lsls r2, r2, #3 + ldr r7, _08031134 @ =0x03005000 + adds r2, r2, r7 + ldrh r4, [r2, #2] + lsls r1, r4, #0x17 + lsrs r1, r1, #0x17 + movs r7, #2 + ldrsh r0, [r6, r7] + adds r1, r1, r0 + ldr r7, _0803113C @ =0x000001FF + adds r0, r7, #0 + ands r1, r0 + ldr r0, _08031140 @ =0xFFFFFE00 + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + ldr r0, _08031134 @ =0x03005000 + adds r1, r1, r0 + ldrb r0, [r6, #4] + ldrb r2, [r1] + adds r0, r0, r2 + strb r0, [r1] + adds r3, #1 + lsls r3, r3, #0x10 + lsrs r5, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #1 + ble _0803108E + movs r0, #0x80 + lsls r0, r0, #9 + add r0, sb + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + bgt _0803110C + b _08030FB4 _0803110C: - 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 + 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 _0803111C: .4byte 0x020314E0 _08031120: .4byte 0x0000032F _08031124: .4byte 0x084FDF8C @@ -96839,422 +96839,422 @@ _08031138: .4byte 0x086B3E1E _0803113C: .4byte 0x000001FF _08031140: .4byte 0xFFFFFE00 - thumb_func_start sub_31144 + thumb_func_start sub_31144 sub_31144: @ 0x08031144 - push {r4, r5, r6, r7, lr} - ldr r1, _08031190 @ =0x020314E0 - ldr r5, [r1] - movs r2, #0xd2 - lsls r2, r2, #1 - adds r0, r5, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - adds r7, r1, #0 - cmp r2, #0 - beq _0803115C - b _080312D0 + push {r4, r5, r6, r7, lr} + ldr r1, _08031190 @ =0x020314E0 + ldr r5, [r1] + movs r2, #0xd2 + lsls r2, r2, #1 + adds r0, r5, r2 + movs r2, #0 + ldrsb r2, [r0, r2] + adds r7, r1, #0 + cmp r2, #0 + beq _0803115C + b _080312D0 _0803115C: - ldr r3, _08031194 @ =0x000001A5 - adds r0, r5, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _080311DC - movs r4, #0xda - lsls r4, r4, #1 - adds r0, r5, r4 - ldrh r1, [r0] - cmp r1, #0x5f - bhi _080311CC - cmp r1, #7 - bhi _0803119C - ldr r1, _08031198 @ =0x08137CF6 - ldrh r0, [r0] - lsrs r0, r0, #1 - lsls r0, r0, #1 - adds r1, #8 - adds r0, r0, r1 - ldrh r1, [r0] - movs r2, #0xd6 - lsls r2, r2, #1 - adds r0, r5, r2 - b _080311B4 - .align 2, 0 + ldr r3, _08031194 @ =0x000001A5 + adds r0, r5, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _080311DC + movs r4, #0xda + lsls r4, r4, #1 + adds r0, r5, r4 + ldrh r1, [r0] + cmp r1, #0x5f + bhi _080311CC + cmp r1, #7 + bhi _0803119C + ldr r1, _08031198 @ =0x08137CF6 + ldrh r0, [r0] + lsrs r0, r0, #1 + lsls r0, r0, #1 + adds r1, #8 + adds r0, r0, r1 + ldrh r1, [r0] + movs r2, #0xd6 + lsls r2, r2, #1 + adds r0, r5, r2 + b _080311B4 + .align 2, 0 _08031190: .4byte 0x020314E0 _08031194: .4byte 0x000001A5 _08031198: .4byte 0x08137CF6 _0803119C: - ldr r2, _080311C8 @ =0x08137CE2 - ldrh r0, [r0] - movs r1, #0x1f - ands r0, r1 - lsrs r0, r0, #3 - lsls r0, r0, #1 - adds r2, #0xa - adds r0, r0, r2 - ldrh r1, [r0] - movs r3, #0xd6 - lsls r3, r3, #1 - adds r0, r5, r3 + ldr r2, _080311C8 @ =0x08137CE2 + ldrh r0, [r0] + movs r1, #0x1f + ands r0, r1 + lsrs r0, r0, #3 + lsls r0, r0, #1 + adds r2, #0xa + adds r0, r0, r2 + ldrh r1, [r0] + movs r3, #0xd6 + lsls r3, r3, #1 + adds r0, r5, r3 _080311B4: - strb r1, [r0] - ldr r1, [r7] - movs r4, #0xda - lsls r4, r4, #1 - adds r1, r1, r4 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - b _080311CE - .align 2, 0 + strb r1, [r0] + ldr r1, [r7] + movs r4, #0xda + lsls r4, r4, #1 + adds r1, r1, r4 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + b _080311CE + .align 2, 0 _080311C8: .4byte 0x08137CE2 _080311CC: - strh r2, [r0] + strh r2, [r0] _080311CE: - ldr r0, [r7] - ldr r2, _080311D8 @ =0x000001AD - adds r1, r0, r2 - movs r0, #2 - b _0803123E - .align 2, 0 + ldr r0, [r7] + ldr r2, _080311D8 @ =0x000001AD + adds r1, r0, r2 + movs r0, #2 + b _0803123E + .align 2, 0 _080311D8: .4byte 0x000001AD _080311DC: - movs r3, #0xda - lsls r3, r3, #1 - adds r0, r5, r3 - ldrh r1, [r0] - cmp r1, #0x77 - bhi _08031234 - cmp r1, #7 - bhi _08031204 - ldr r1, _08031200 @ =0x08137CF6 - ldrh r0, [r0] - lsrs r0, r0, #1 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - movs r4, #0xd6 - lsls r4, r4, #1 - adds r0, r5, r4 - b _0803121E - .align 2, 0 + movs r3, #0xda + lsls r3, r3, #1 + adds r0, r5, r3 + ldrh r1, [r0] + cmp r1, #0x77 + bhi _08031234 + cmp r1, #7 + bhi _08031204 + ldr r1, _08031200 @ =0x08137CF6 + ldrh r0, [r0] + lsrs r0, r0, #1 + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r1, [r0] + movs r4, #0xd6 + lsls r4, r4, #1 + adds r0, r5, r4 + b _0803121E + .align 2, 0 _08031200: .4byte 0x08137CF6 _08031204: - ldr r4, _08031230 @ =0x08137CE2 - ldrh r0, [r0] - movs r1, #0x28 - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x13 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r1, [r0] - movs r2, #0xd6 - lsls r2, r2, #1 - adds r0, r5, r2 + ldr r4, _08031230 @ =0x08137CE2 + ldrh r0, [r0] + movs r1, #0x28 + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x13 + lsls r0, r0, #1 + adds r0, r0, r4 + ldrh r1, [r0] + movs r2, #0xd6 + lsls r2, r2, #1 + adds r0, r5, r2 _0803121E: - strb r1, [r0] - ldr r1, [r7] - movs r3, #0xda - lsls r3, r3, #1 - adds r1, r1, r3 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - b _08031236 - .align 2, 0 + strb r1, [r0] + ldr r1, [r7] + movs r3, #0xda + lsls r3, r3, #1 + adds r1, r1, r3 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + b _08031236 + .align 2, 0 _08031230: .4byte 0x08137CE2 _08031234: - strh r2, [r0] + strh r2, [r0] _08031236: - ldr r0, [r7] - ldr r4, _08031288 @ =0x000001AD - adds r1, r0, r4 - movs r0, #0 + ldr r0, [r7] + ldr r4, _08031288 @ =0x000001AD + adds r1, r0, r4 + movs r0, #0 _0803123E: - strb r0, [r1] - ldr r1, [r7] - ldr r2, _0803128C @ =0x0000072E - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - ble _08031298 - ldr r3, _08031290 @ =0x00000281 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bgt _08031260 - b _08031396 + strb r0, [r1] + ldr r1, [r7] + ldr r2, _0803128C @ =0x0000072E + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #2 + ble _08031298 + ldr r3, _08031290 @ =0x00000281 + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bgt _08031260 + b _08031396 _08031260: - ldr r4, _08031294 @ =0x000001A5 - adds r0, r1, r4 - movs r3, #0 - ldrsb r3, [r0, r3] - cmp r3, #0 - beq _0803126E - b _08031396 + ldr r4, _08031294 @ =0x000001A5 + adds r0, r1, r4 + movs r3, #0 + ldrsb r3, [r0, r3] + cmp r3, #0 + beq _0803126E + b _08031396 _0803126E: - movs r2, #0xd2 - lsls r2, r2, #1 - adds r0, r1, r2 - movs r1, #1 - strb r1, [r0] - ldr r2, [r7] - adds r4, #0xf - adds r0, r2, r4 - strh r3, [r0] - ldr r3, _08031294 @ =0x000001A5 - adds r0, r2, r3 - strb r1, [r0] - b _08031396 - .align 2, 0 + movs r2, #0xd2 + lsls r2, r2, #1 + adds r0, r1, r2 + movs r1, #1 + strb r1, [r0] + ldr r2, [r7] + adds r4, #0xf + adds r0, r2, r4 + strh r3, [r0] + ldr r3, _08031294 @ =0x000001A5 + adds r0, r2, r3 + strb r1, [r0] + b _08031396 + .align 2, 0 _08031288: .4byte 0x000001AD _0803128C: .4byte 0x0000072E _08031290: .4byte 0x00000281 _08031294: .4byte 0x000001A5 _08031298: - movs r0, #0x13 - ldrsb r0, [r1, r0] - cmp r0, #6 - bne _080312A2 - b _08031396 + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #6 + bne _080312A2 + b _08031396 _080312A2: - ldr r4, _080312CC @ =0x000001A5 - adds r0, r1, r4 - movs r3, #0 - ldrsb r3, [r0, r3] - cmp r3, #1 - bne _08031396 - movs r2, #0xd2 - lsls r2, r2, #1 - adds r0, r1, r2 - movs r2, #0 - strb r3, [r0] - ldr r3, [r7] - adds r4, #0xf - adds r0, r3, r4 - movs r1, #0 - strh r2, [r0] - ldr r2, _080312CC @ =0x000001A5 - adds r0, r3, r2 - strb r1, [r0] - b _08031396 - .align 2, 0 + ldr r4, _080312CC @ =0x000001A5 + adds r0, r1, r4 + movs r3, #0 + ldrsb r3, [r0, r3] + cmp r3, #1 + bne _08031396 + movs r2, #0xd2 + lsls r2, r2, #1 + adds r0, r1, r2 + movs r2, #0 + strb r3, [r0] + ldr r3, [r7] + adds r4, #0xf + adds r0, r3, r4 + movs r1, #0 + strh r2, [r0] + ldr r2, _080312CC @ =0x000001A5 + adds r0, r3, r2 + strb r1, [r0] + b _08031396 + .align 2, 0 _080312CC: .4byte 0x000001A5 _080312D0: - ldr r4, _0803131C @ =0x08137D06 - movs r6, #0xda - lsls r6, r6, #1 - adds r0, r5, r6 - ldrh r0, [r0] - movs r1, #3 - bl __udivsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0xf - ldr r3, _08031320 @ =0x000001A5 - adds r1, r5, r3 - movs r2, #0 - ldrsb r2, [r1, r2] - lsls r1, r2, #3 - subs r1, r1, r2 - lsls r1, r1, #2 - adds r0, r0, r1 - adds r0, r0, r4 - ldrh r2, [r0] - movs r0, #0xd6 - lsls r0, r0, #1 - adds r1, r5, r0 - movs r3, #0 - strb r2, [r1] - ldr r1, [r7] - adds r0, r1, r0 - ldrb r0, [r0] - subs r0, #4 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _08031328 - ldr r4, _08031324 @ =0x000001AD - adds r1, r1, r4 - movs r0, #1 - strb r0, [r1] - b _0803136A - .align 2, 0 + ldr r4, _0803131C @ =0x08137D06 + movs r6, #0xda + lsls r6, r6, #1 + adds r0, r5, r6 + ldrh r0, [r0] + movs r1, #3 + bl __udivsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0xf + ldr r3, _08031320 @ =0x000001A5 + adds r1, r5, r3 + movs r2, #0 + ldrsb r2, [r1, r2] + lsls r1, r2, #3 + subs r1, r1, r2 + lsls r1, r1, #2 + adds r0, r0, r1 + adds r0, r0, r4 + ldrh r2, [r0] + movs r0, #0xd6 + lsls r0, r0, #1 + adds r1, r5, r0 + movs r3, #0 + strb r2, [r1] + ldr r1, [r7] + adds r0, r1, r0 + ldrb r0, [r0] + subs r0, #4 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #1 + bhi _08031328 + ldr r4, _08031324 @ =0x000001AD + adds r1, r1, r4 + movs r0, #1 + strb r0, [r1] + b _0803136A + .align 2, 0 _0803131C: .4byte 0x08137D06 _08031320: .4byte 0x000001A5 _08031324: .4byte 0x000001AD _08031328: - ldr r2, _08031344 @ =0x000001A5 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _0803134C - adds r0, r1, r6 - ldrh r0, [r0] - cmp r0, #0xe - bls _08031364 - ldr r0, _08031348 @ =0x000001AD - adds r1, r1, r0 - b _08031358 - .align 2, 0 + ldr r2, _08031344 @ =0x000001A5 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _0803134C + adds r0, r1, r6 + ldrh r0, [r0] + cmp r0, #0xe + bls _08031364 + ldr r0, _08031348 @ =0x000001AD + adds r1, r1, r0 + b _08031358 + .align 2, 0 _08031344: .4byte 0x000001A5 _08031348: .4byte 0x000001AD _0803134C: - adds r0, r1, r6 - ldrh r0, [r0] - cmp r0, #0xe - bhi _08031364 - ldr r2, _08031360 @ =0x000001AD - adds r1, r1, r2 + adds r0, r1, r6 + ldrh r0, [r0] + cmp r0, #0xe + bhi _08031364 + ldr r2, _08031360 @ =0x000001AD + adds r1, r1, r2 _08031358: - movs r0, #2 - strb r0, [r1] - b _0803136A - .align 2, 0 + movs r0, #2 + strb r0, [r1] + b _0803136A + .align 2, 0 _08031360: .4byte 0x000001AD _08031364: - ldr r4, _0803139C @ =0x000001AD - adds r0, r1, r4 - strb r3, [r0] + ldr r4, _0803139C @ =0x000001AD + adds r0, r1, r4 + strb r3, [r0] _0803136A: - ldr r2, [r7] - movs r0, #0xda - lsls r0, r0, #1 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x2a - bne _08031396 - movs r3, #0xd2 - lsls r3, r3, #1 - adds r1, r2, r3 - movs r0, #0 - strb r0, [r1] - ldr r0, [r7] - movs r4, #0xda - lsls r4, r4, #1 - adds r0, r0, r4 - movs r1, #0 - strh r1, [r0] + ldr r2, [r7] + movs r0, #0xda + lsls r0, r0, #1 + adds r1, r2, r0 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x2a + bne _08031396 + movs r3, #0xd2 + lsls r3, r3, #1 + adds r1, r2, r3 + movs r0, #0 + strb r0, [r1] + ldr r0, [r7] + movs r4, #0xda + lsls r4, r4, #1 + adds r0, r0, r4 + movs r1, #0 + strh r1, [r0] _08031396: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0803139C: .4byte 0x000001AD - thumb_func_start sub_313A0 + thumb_func_start sub_313A0 sub_313A0: @ 0x080313A0 - push {r4, r5, r6, r7, lr} - ldr r6, _08031464 @ =0x0200E550 - ldrh r0, [r6] - cmp r0, #0 - beq _0803145C - ldr r0, _08031468 @ =0x020314E0 - ldr r3, [r0] - adds r0, r3, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r0, #0x10 - subs r0, r0, r1 - strh r0, [r6, #2] - adds r0, r3, #0 - adds r0, #0x5a - ldrh r1, [r0] - movs r0, #0x73 - subs r0, r0, r1 - strh r0, [r6, #4] - ldr r1, _0803146C @ =0x000001AD - adds r0, r3, r1 - movs r1, #0 - ldrsb r1, [r0, r1] - adds r0, r3, #0 - adds r0, #0x6f - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r0, r2, #1 - adds r0, r0, r2 - ldr r2, _08031470 @ =0x040000D4 - adds r1, r1, r0 - lsls r1, r1, #5 - ldr r0, _08031474 @ =0x081BC984 - adds r1, r1, r0 - str r1, [r2] - ldr r0, _08031478 @ =0x05000300 - str r0, [r2, #4] - ldr r0, _0803147C @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r1, #0xd6 - lsls r1, r1, #1 - adds r0, r3, r1 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #7 - ldr r1, _08031480 @ =0x0848108C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08031484 @ =0x06014B20 - str r0, [r2, #4] - ldr r0, _08031488 @ =0x80000240 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r0, #0 - ldr r7, _0803148C @ =0x03005000 - ldr r2, _08031490 @ =0xFFFFFE00 - mov ip, r2 + push {r4, r5, r6, r7, lr} + ldr r6, _08031464 @ =0x0200E550 + ldrh r0, [r6] + cmp r0, #0 + beq _0803145C + ldr r0, _08031468 @ =0x020314E0 + ldr r3, [r0] + adds r0, r3, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r0, #0x10 + subs r0, r0, r1 + strh r0, [r6, #2] + adds r0, r3, #0 + adds r0, #0x5a + ldrh r1, [r0] + movs r0, #0x73 + subs r0, r0, r1 + strh r0, [r6, #4] + ldr r1, _0803146C @ =0x000001AD + adds r0, r3, r1 + movs r1, #0 + ldrsb r1, [r0, r1] + adds r0, r3, #0 + adds r0, #0x6f + movs r2, #0 + ldrsb r2, [r0, r2] + lsls r0, r2, #1 + adds r0, r0, r2 + ldr r2, _08031470 @ =0x040000D4 + adds r1, r1, r0 + lsls r1, r1, #5 + ldr r0, _08031474 @ =0x081BC984 + adds r1, r1, r0 + str r1, [r2] + ldr r0, _08031478 @ =0x05000300 + str r0, [r2, #4] + ldr r0, _0803147C @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r1, #0xd6 + lsls r1, r1, #1 + adds r0, r3, r1 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #3 + adds r0, r0, r1 + lsls r0, r0, #7 + ldr r1, _08031480 @ =0x0848108C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08031484 @ =0x06014B20 + str r0, [r2, #4] + ldr r0, _08031488 @ =0x80000240 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r0, #0 + ldr r7, _0803148C @ =0x03005000 + ldr r2, _08031490 @ =0xFFFFFE00 + mov ip, r2 _08031418: - 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 r0, #2 - ldrsh r1, [r3, r0] - movs r2, #2 - ldrsh r0, [r6, r2] - adds r1, r1, r0 - ldr r2, _08031494 @ =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, #1 - ble _08031418 + 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 r0, #2 + ldrsh r1, [r3, r0] + movs r2, #2 + ldrsh r0, [r6, r2] + adds r1, r1, r0 + ldr r2, _08031494 @ =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, #1 + ble _08031418 _0803145C: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08031464: .4byte 0x0200E550 _08031468: .4byte 0x020314E0 _0803146C: .4byte 0x000001AD @@ -97269,171 +97269,171 @@ _0803148C: .4byte 0x03005000 _08031490: .4byte 0xFFFFFE00 _08031494: .4byte 0x000001FF - thumb_func_start sub_31498 + thumb_func_start sub_31498 sub_31498: @ 0x08031498 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r1, _080314C4 @ =0x020314E0 - ldr r0, [r1] - ldr r2, _080314C8 @ =0x00000346 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r5, r1, #0 - cmp r0, #6 - bls _080314B8 - b _080319AC + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r1, _080314C4 @ =0x020314E0 + ldr r0, [r1] + ldr r2, _080314C8 @ =0x00000346 + adds r0, r0, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r5, r1, #0 + cmp r0, #6 + bls _080314B8 + b _080319AC _080314B8: - lsls r0, r0, #2 - ldr r1, _080314CC @ =_080314D0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _080314CC @ =_080314D0 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080314C4: .4byte 0x020314E0 _080314C8: .4byte 0x00000346 _080314CC: .4byte _080314D0 _080314D0: @ jump table - .4byte _080314EC @ case 0 - .4byte _08031610 @ case 1 - .4byte _080319AC @ case 2 - .4byte _080316F4 @ case 3 - .4byte _080317E0 @ case 4 - .4byte _080318A8 @ case 5 - .4byte _08031988 @ case 6 + .4byte _080314EC @ case 0 + .4byte _08031610 @ case 1 + .4byte _080319AC @ case 2 + .4byte _080316F4 @ case 3 + .4byte _080317E0 @ case 4 + .4byte _080318A8 @ case 5 + .4byte _08031988 @ case 6 _080314EC: - ldr r4, [r5] - movs r3, #0xd1 - lsls r3, r3, #2 - adds r0, r4, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08031500 - b _080319AC + ldr r4, [r5] + movs r3, #0xd1 + lsls r3, r3, #2 + adds r0, r4, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + bne _08031500 + b _080319AC _08031500: - movs r0, #0x13 - ldrsb r0, [r4, r0] - cmp r0, #2 - bgt _080315A4 - ldr r7, _08031528 @ =0x00000345 - adds r1, r4, r7 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #2 - bgt _08031530 - adds r0, r2, #1 - strb r0, [r1] - ldr r1, [r5] - ldr r0, _0803152C @ =0x00004E20 - str r0, [r1, #0x3c] - movs r0, #0xde - bl m4aSongNumStart - b _080315C2 - .align 2, 0 + movs r0, #0x13 + ldrsb r0, [r4, r0] + cmp r0, #2 + bgt _080315A4 + ldr r7, _08031528 @ =0x00000345 + adds r1, r4, r7 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #2 + bgt _08031530 + adds r0, r2, #1 + strb r0, [r1] + ldr r1, [r5] + ldr r0, _0803152C @ =0x00004E20 + str r0, [r1, #0x3c] + movs r0, #0xde + bl m4aSongNumStart + b _080315C2 + .align 2, 0 _08031528: .4byte 0x00000345 _0803152C: .4byte 0x00004E20 _08031530: - ldr r2, _08031594 @ =0x0200B0C0 - ldrb r1, [r2, #0xf] - movs r0, #1 - movs r3, #0 - orrs r0, r1 - strb r0, [r2, #0xf] - adds r0, r4, #0 - adds r0, #0xea - movs r2, #0 - strh r3, [r0] - adds r1, r4, #0 - adds r1, #0xec - movs r0, #0xe6 - lsls r0, r0, #2 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xe8 - strh r3, [r0] - subs r0, #2 - strh r3, [r0] - adds r0, #8 - strh r3, [r0] - adds r0, #4 - strb r2, [r0] - ldr r0, [r5] - adds r0, #0xfa - movs r1, #1 - strb r1, [r0] - ldr r0, [r5] - adds r0, #0xfb - strb r2, [r0] - ldr r0, [r5] - ldr r2, _08031598 @ =0x00000346 - adds r0, r0, r2 - strb r1, [r0] - ldr r0, [r5] - movs r4, #0xd2 - lsls r4, r4, #2 - adds r0, r0, r4 - strh r3, [r0] - ldr r0, _0803159C @ =0x02032EE0 - bl m4aMPlayStop - ldr r1, [r5] - ldr r0, _080315A0 @ =0x00030D40 - str r0, [r1, #0x3c] - movs r0, #0xdf - bl m4aSongNumStart - b _080315C2 - .align 2, 0 + ldr r2, _08031594 @ =0x0200B0C0 + ldrb r1, [r2, #0xf] + movs r0, #1 + movs r3, #0 + orrs r0, r1 + strb r0, [r2, #0xf] + adds r0, r4, #0 + adds r0, #0xea + movs r2, #0 + strh r3, [r0] + adds r1, r4, #0 + adds r1, #0xec + movs r0, #0xe6 + lsls r0, r0, #2 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xe8 + strh r3, [r0] + subs r0, #2 + strh r3, [r0] + adds r0, #8 + strh r3, [r0] + adds r0, #4 + strb r2, [r0] + ldr r0, [r5] + adds r0, #0xfa + movs r1, #1 + strb r1, [r0] + ldr r0, [r5] + adds r0, #0xfb + strb r2, [r0] + ldr r0, [r5] + ldr r2, _08031598 @ =0x00000346 + adds r0, r0, r2 + strb r1, [r0] + ldr r0, [r5] + movs r4, #0xd2 + lsls r4, r4, #2 + adds r0, r0, r4 + strh r3, [r0] + ldr r0, _0803159C @ =0x02032EE0 + bl m4aMPlayStop + ldr r1, [r5] + ldr r0, _080315A0 @ =0x00030D40 + str r0, [r1, #0x3c] + movs r0, #0xdf + bl m4aSongNumStart + b _080315C2 + .align 2, 0 _08031594: .4byte 0x0200B0C0 _08031598: .4byte 0x00000346 _0803159C: .4byte 0x02032EE0 _080315A0: .4byte 0x00030D40 _080315A4: - ldr r7, _080315F4 @ =0x00000345 - adds r1, r4, r7 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #2 - bgt _080315C2 - adds r0, r2, #1 - strb r0, [r1] - ldr r1, [r5] - ldr r0, _080315F8 @ =0x00004E20 - str r0, [r1, #0x3c] - movs r0, #0xde - bl m4aSongNumStart + ldr r7, _080315F4 @ =0x00000345 + adds r1, r4, r7 + ldrb r2, [r1] + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #2 + bgt _080315C2 + adds r0, r2, #1 + strb r0, [r1] + ldr r1, [r5] + ldr r0, _080315F8 @ =0x00004E20 + str r0, [r1, #0x3c] + movs r0, #0xde + bl m4aSongNumStart _080315C2: - ldr r0, _080315FC @ =0x020314E0 - ldr r3, [r0] - ldr r1, _080315F4 @ =0x00000345 - adds r0, r3, r1 - ldr r2, _08031600 @ =0x040000D4 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r0, r1, #4 - adds r0, r0, r1 - lsls r0, r0, #6 - ldr r1, _08031604 @ =0x08490A4C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08031608 @ =0x0600D900 - str r0, [r2, #4] - ldr r0, _0803160C @ =0x80000220 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r2, #0xd1 - lsls r2, r2, #2 - adds r3, r3, r2 - movs r0, #0 - strb r0, [r3] - b _080319AC - .align 2, 0 + ldr r0, _080315FC @ =0x020314E0 + ldr r3, [r0] + ldr r1, _080315F4 @ =0x00000345 + adds r0, r3, r1 + ldr r2, _08031600 @ =0x040000D4 + movs r1, #0 + ldrsb r1, [r0, r1] + lsls r0, r1, #4 + adds r0, r0, r1 + lsls r0, r0, #6 + ldr r1, _08031604 @ =0x08490A4C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08031608 @ =0x0600D900 + str r0, [r2, #4] + ldr r0, _0803160C @ =0x80000220 + str r0, [r2, #8] + ldr r0, [r2, #8] + movs r2, #0xd1 + lsls r2, r2, #2 + adds r3, r3, r2 + movs r0, #0 + strb r0, [r3] + b _080319AC + .align 2, 0 _080315F4: .4byte 0x00000345 _080315F8: .4byte 0x00004E20 _080315FC: .4byte 0x020314E0 @@ -97442,102 +97442,102 @@ _08031604: .4byte 0x08490A4C _08031608: .4byte 0x0600D900 _0803160C: .4byte 0x80000220 _08031610: - ldr r0, [r5] - movs r3, #0xd2 - lsls r3, r3, #2 - adds r2, r0, r3 - ldrh r1, [r2] - ldr r0, _08031654 @ =0x0000010D - cmp r1, r0 - bhi _08031668 - adds r0, r1, #0 - movs r1, #0x3c - bl __umodsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #0x1e - bl __udivsi3 - adds r0, #4 - ldr r2, _08031658 @ =0x040000D4 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #4 - adds r1, r1, r0 - lsls r1, r1, #6 - ldr r0, _0803165C @ =0x08490A4C - adds r1, r1, r0 - str r1, [r2] - ldr r0, _08031660 @ =0x0600D900 - str r0, [r2, #4] - ldr r0, _08031664 @ =0x80000220 - str r0, [r2, #8] - ldr r0, [r2, #8] - b _0803168C - .align 2, 0 + ldr r0, [r5] + movs r3, #0xd2 + lsls r3, r3, #2 + adds r2, r0, r3 + ldrh r1, [r2] + ldr r0, _08031654 @ =0x0000010D + cmp r1, r0 + bhi _08031668 + adds r0, r1, #0 + movs r1, #0x3c + bl __umodsi3 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + movs r1, #0x1e + bl __udivsi3 + adds r0, #4 + ldr r2, _08031658 @ =0x040000D4 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #4 + adds r1, r1, r0 + lsls r1, r1, #6 + ldr r0, _0803165C @ =0x08490A4C + adds r1, r1, r0 + str r1, [r2] + ldr r0, _08031660 @ =0x0600D900 + str r0, [r2, #4] + ldr r0, _08031664 @ =0x80000220 + str r0, [r2, #8] + ldr r0, [r2, #8] + b _0803168C + .align 2, 0 _08031654: .4byte 0x0000010D _08031658: .4byte 0x040000D4 _0803165C: .4byte 0x08490A4C _08031660: .4byte 0x0600D900 _08031664: .4byte 0x80000220 _08031668: - ldr r1, _080316D8 @ =0x040000D4 - movs r2, #0 - ldr r0, _080316DC @ =0x08490A4C - str r0, [r1] - ldr r0, _080316E0 @ =0x0600D900 - str r0, [r1, #4] - ldr r0, _080316E4 @ =0x80000220 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r0, [r5] - ldr r4, _080316E8 @ =0x00000346 - adds r0, r0, r4 - movs r1, #2 - strb r1, [r0] - ldr r0, [r5] - ldr r7, _080316EC @ =0x00000345 - adds r0, r0, r7 - strb r2, [r0] + ldr r1, _080316D8 @ =0x040000D4 + movs r2, #0 + ldr r0, _080316DC @ =0x08490A4C + str r0, [r1] + ldr r0, _080316E0 @ =0x0600D900 + str r0, [r1, #4] + ldr r0, _080316E4 @ =0x80000220 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r0, [r5] + ldr r4, _080316E8 @ =0x00000346 + adds r0, r0, r4 + movs r1, #2 + strb r1, [r0] + ldr r0, [r5] + ldr r7, _080316EC @ =0x00000345 + adds r0, r0, r7 + strb r2, [r0] _0803168C: - ldr r0, [r5] - movs r4, #0xd2 - lsls r4, r4, #2 - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0x3c - bne _080316CC - movs r0, #0x16 - bl m4aSongNumStart - ldr r0, [r5] - movs r1, #0xe5 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r2, #0 - strb r2, [r0] - ldr r0, [r5] - movs r3, #0xf6 - lsls r3, r3, #1 - adds r0, r0, r3 - movs r1, #5 - strb r1, [r0] - ldr r0, [r5] - ldr r7, _080316F0 @ =0x000001ED - adds r1, r0, r7 - movs r0, #0xc - strb r0, [r1] - ldr r0, [r5] - movs r1, #0xf8 - lsls r1, r1, #1 - adds r0, r0, r1 - strh r2, [r0] + ldr r0, [r5] + movs r4, #0xd2 + lsls r4, r4, #2 + adds r0, r0, r4 + ldrh r0, [r0] + cmp r0, #0x3c + bne _080316CC + movs r0, #0x16 + bl m4aSongNumStart + ldr r0, [r5] + movs r1, #0xe5 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r2, #0 + strb r2, [r0] + ldr r0, [r5] + movs r3, #0xf6 + lsls r3, r3, #1 + adds r0, r0, r3 + movs r1, #5 + strb r1, [r0] + ldr r0, [r5] + ldr r7, _080316F0 @ =0x000001ED + adds r1, r0, r7 + movs r0, #0xc + strb r0, [r1] + ldr r0, [r5] + movs r1, #0xf8 + lsls r1, r1, #1 + adds r0, r0, r1 + strh r2, [r0] _080316CC: - ldr r1, [r5] - adds r1, r1, r4 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - b _080319AC - .align 2, 0 + ldr r1, [r5] + adds r1, r1, r4 + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + b _080319AC + .align 2, 0 _080316D8: .4byte 0x040000D4 _080316DC: .4byte 0x08490A4C _080316E0: .4byte 0x0600D900 @@ -97546,95 +97546,95 @@ _080316E8: .4byte 0x00000346 _080316EC: .4byte 0x00000345 _080316F0: .4byte 0x000001ED _080316F4: - ldr r6, _0803171C @ =0x086AE5A0 - ldr r2, [r5] - ldr r4, _08031720 @ =0x00000345 - adds r3, r2, r4 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - adds r1, r6, #2 - adds r0, r0, r1 - movs r7, #0 - ldrsh r0, [r0, r7] - movs r1, #0xd2 - lsls r1, r1, #2 - adds r2, r2, r1 - ldrh r1, [r2] - cmp r0, r1 - ble _08031724 - adds r0, r1, #1 - strh r0, [r2] - b _08031784 - .align 2, 0 + ldr r6, _0803171C @ =0x086AE5A0 + ldr r2, [r5] + ldr r4, _08031720 @ =0x00000345 + adds r3, r2, r4 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #2 + adds r1, r6, #2 + adds r0, r0, r1 + movs r7, #0 + ldrsh r0, [r0, r7] + movs r1, #0xd2 + lsls r1, r1, #2 + adds r2, r2, r1 + ldrh r1, [r2] + cmp r0, r1 + ble _08031724 + adds r0, r1, #1 + strh r0, [r2] + b _08031784 + .align 2, 0 _0803171C: .4byte 0x086AE5A0 _08031720: .4byte 0x00000345 _08031724: - movs r0, #0 - strh r0, [r2] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r1, [r5] - ldr r2, _080317A0 @ =0x00000345 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xa - bne _08031746 - ldr r3, _080317A4 @ =0x00000346 - adds r1, r1, r3 - movs r0, #4 - strb r0, [r1] + movs r0, #0 + strh r0, [r2] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r1, [r5] + ldr r2, _080317A0 @ =0x00000345 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xa + bne _08031746 + ldr r3, _080317A4 @ =0x00000346 + adds r1, r1, r3 + movs r0, #4 + strb r0, [r1] _08031746: - ldr r0, [r5] - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #6 - bne _0803175A - movs r0, #0xe0 - bl m4aSongNumStart + ldr r0, [r5] + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #6 + bne _0803175A + movs r0, #0xe0 + bl m4aSongNumStart _0803175A: - ldr r0, [r5] - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - adds r0, r0, r6 - ldr r2, _080317A8 @ =0x040000D4 - movs r4, #0 - ldrsh r1, [r0, r4] - lsls r0, r1, #4 - adds r0, r0, r1 - lsls r0, r0, #6 - ldr r1, _080317AC @ =0x08490A4C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _080317B0 @ =0x0600D900 - str r0, [r2, #4] - ldr r0, _080317B4 @ =0x80000220 - str r0, [r2, #8] - ldr r0, [r2, #8] + ldr r0, [r5] + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + adds r0, r0, r6 + ldr r2, _080317A8 @ =0x040000D4 + movs r4, #0 + ldrsh r1, [r0, r4] + lsls r0, r1, #4 + adds r0, r0, r1 + lsls r0, r0, #6 + ldr r1, _080317AC @ =0x08490A4C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _080317B0 @ =0x0600D900 + str r0, [r2, #4] + ldr r0, _080317B4 @ =0x80000220 + str r0, [r2, #8] + ldr r0, [r2, #8] _08031784: - ldr r1, [r5] - ldr r7, _080317A0 @ =0x00000345 - adds r0, r1, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #5 - bgt _080317B8 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r1, r0 - subs r0, #0xe8 - str r0, [r1] - b _080319AC - .align 2, 0 + ldr r1, [r5] + ldr r7, _080317A0 @ =0x00000345 + adds r0, r1, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #5 + bgt _080317B8 + movs r0, #0x80 + lsls r0, r0, #2 + adds r1, r1, r0 + subs r0, #0xe8 + str r0, [r1] + b _080319AC + .align 2, 0 _080317A0: .4byte 0x00000345 _080317A4: .4byte 0x00000346 _080317A8: .4byte 0x040000D4 @@ -97642,222 +97642,222 @@ _080317AC: .4byte 0x08490A4C _080317B0: .4byte 0x0600D900 _080317B4: .4byte 0x80000220 _080317B8: - movs r2, #0x80 - lsls r2, r2, #2 - adds r3, r1, r2 - ldr r2, [r3] - adds r0, r2, #6 - str r0, [r3] - ldr r4, _080317DC @ =0x00000346 - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #4 - beq _080317D4 - b _080319AC + movs r2, #0x80 + lsls r2, r2, #2 + adds r3, r1, r2 + ldr r2, [r3] + adds r0, r2, #6 + str r0, [r3] + ldr r4, _080317DC @ =0x00000346 + adds r0, r1, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #4 + beq _080317D4 + b _080319AC _080317D4: - adds r0, r2, #0 - adds r0, #0x1a - str r0, [r3] - b _080319AC - .align 2, 0 + adds r0, r2, #0 + adds r0, #0x1a + str r0, [r3] + b _080319AC + .align 2, 0 _080317DC: .4byte 0x00000346 _080317E0: - ldr r5, _08031894 @ =0x020314E0 - ldr r4, [r5] - ldr r7, _08031898 @ =0x00000343 - adds r0, r4, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08031882 - movs r1, #0xd1 - lsls r1, r1, #2 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08031882 - ldr r2, _0803189C @ =0x0200B0C0 - ldrb r1, [r2, #0xf] - movs r0, #1 - movs r3, #0 - orrs r0, r1 - strb r0, [r2, #0xf] - adds r0, r4, #0 - adds r0, #0xea - movs r2, #0 - strh r3, [r0] - adds r1, r4, #0 - adds r1, #0xec - movs r0, #0xa0 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0xe8 - strh r3, [r0] - subs r0, #2 - strh r3, [r0] - adds r0, #8 - strh r3, [r0] - adds r0, #4 - strb r2, [r0] - ldr r0, [r5] - adds r0, #0xfa - movs r4, #1 - strb r4, [r0] - ldr r0, [r5] - adds r0, #0xfb - strb r2, [r0] - ldr r0, [r5] - ldr r2, _080318A0 @ =0x00000346 - adds r0, r0, r2 - movs r1, #5 - strb r1, [r0] - ldr r0, [r5] - adds r7, #5 - adds r1, r0, r7 - strh r3, [r1] - ldr r1, _080318A4 @ =0x00000345 - adds r0, r0, r1 - movs r1, #0xa - strb r1, [r0] - movs r0, #0xe0 - bl m4aSongNumStart - ldr r0, [r5] - movs r2, #0xf6 - lsls r2, r2, #1 - adds r0, r0, r2 - strb r4, [r0] - ldr r2, [r5] - movs r3, #0xfa - lsls r3, r3, #1 - adds r1, r2, r3 - movs r0, #0x82 - lsls r0, r0, #4 - strh r0, [r1] - movs r4, #0xfb - lsls r4, r4, #1 - adds r1, r2, r4 - movs r0, #0xf0 - lsls r0, r0, #2 - strh r0, [r1] + ldr r5, _08031894 @ =0x020314E0 + ldr r4, [r5] + ldr r7, _08031898 @ =0x00000343 + adds r0, r4, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08031882 + movs r1, #0xd1 + lsls r1, r1, #2 + adds r0, r4, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08031882 + ldr r2, _0803189C @ =0x0200B0C0 + ldrb r1, [r2, #0xf] + movs r0, #1 + movs r3, #0 + orrs r0, r1 + strb r0, [r2, #0xf] + adds r0, r4, #0 + adds r0, #0xea + movs r2, #0 + strh r3, [r0] + adds r1, r4, #0 + adds r1, #0xec + movs r0, #0xa0 + strh r0, [r1] + adds r0, r4, #0 + adds r0, #0xe8 + strh r3, [r0] + subs r0, #2 + strh r3, [r0] + adds r0, #8 + strh r3, [r0] + adds r0, #4 + strb r2, [r0] + ldr r0, [r5] + adds r0, #0xfa + movs r4, #1 + strb r4, [r0] + ldr r0, [r5] + adds r0, #0xfb + strb r2, [r0] + ldr r0, [r5] + ldr r2, _080318A0 @ =0x00000346 + adds r0, r0, r2 + movs r1, #5 + strb r1, [r0] + ldr r0, [r5] + adds r7, #5 + adds r1, r0, r7 + strh r3, [r1] + ldr r1, _080318A4 @ =0x00000345 + adds r0, r0, r1 + movs r1, #0xa + strb r1, [r0] + movs r0, #0xe0 + bl m4aSongNumStart + ldr r0, [r5] + movs r2, #0xf6 + lsls r2, r2, #1 + adds r0, r0, r2 + strb r4, [r0] + ldr r2, [r5] + movs r3, #0xfa + lsls r3, r3, #1 + adds r1, r2, r3 + movs r0, #0x82 + lsls r0, r0, #4 + strh r0, [r1] + movs r4, #0xfb + lsls r4, r4, #1 + adds r1, r2, r4 + movs r0, #0xf0 + lsls r0, r0, #2 + strh r0, [r1] _08031882: - ldr r0, _08031894 @ =0x020314E0 - ldr r0, [r0] - movs r7, #0xd1 - lsls r7, r7, #2 - adds r0, r0, r7 - movs r1, #0 - strb r1, [r0] - b _080319AC - .align 2, 0 + ldr r0, _08031894 @ =0x020314E0 + ldr r0, [r0] + movs r7, #0xd1 + lsls r7, r7, #2 + adds r0, r0, r7 + movs r1, #0 + strb r1, [r0] + b _080319AC + .align 2, 0 _08031894: .4byte 0x020314E0 _08031898: .4byte 0x00000343 _0803189C: .4byte 0x0200B0C0 _080318A0: .4byte 0x00000346 _080318A4: .4byte 0x00000345 _080318A8: - ldr r6, _080318D0 @ =0x086AE5A0 - ldr r2, [r5] - ldr r4, _080318D4 @ =0x00000345 - adds r3, r2, r4 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - adds r1, r6, #2 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r7, #0xd2 - lsls r7, r7, #2 - adds r2, r2, r7 - ldrh r1, [r2] - cmp r0, r1 - ble _080318D8 - adds r0, r1, #1 - strh r0, [r2] - b _08031924 - .align 2, 0 + ldr r6, _080318D0 @ =0x086AE5A0 + ldr r2, [r5] + ldr r4, _080318D4 @ =0x00000345 + adds r3, r2, r4 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #2 + adds r1, r6, #2 + adds r0, r0, r1 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r7, #0xd2 + lsls r7, r7, #2 + adds r2, r2, r7 + ldrh r1, [r2] + cmp r0, r1 + ble _080318D8 + adds r0, r1, #1 + strh r0, [r2] + b _08031924 + .align 2, 0 _080318D0: .4byte 0x086AE5A0 _080318D4: .4byte 0x00000345 _080318D8: - movs r0, #0 - strh r0, [r2] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r1, [r5] - ldr r2, _08031968 @ =0x00000345 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xf - bne _080318FA - ldr r3, _0803196C @ =0x00000346 - adds r1, r1, r3 - movs r0, #6 - strb r0, [r1] + movs r0, #0 + strh r0, [r2] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r1, [r5] + ldr r2, _08031968 @ =0x00000345 + adds r0, r1, r2 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xf + bne _080318FA + ldr r3, _0803196C @ =0x00000346 + adds r1, r1, r3 + movs r0, #6 + strb r0, [r1] _080318FA: - ldr r0, [r5] - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - adds r0, r0, r6 - ldr r2, _08031970 @ =0x040000D4 - movs r4, #0 - ldrsh r1, [r0, r4] - lsls r0, r1, #4 - adds r0, r0, r1 - lsls r0, r0, #6 - ldr r1, _08031974 @ =0x08490A4C - adds r0, r0, r1 - str r0, [r2] - ldr r0, _08031978 @ =0x0600D900 - str r0, [r2, #4] - ldr r0, _0803197C @ =0x80000220 - str r0, [r2, #8] - ldr r0, [r2, #8] + ldr r0, [r5] + adds r0, r0, r4 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + adds r0, r0, r6 + ldr r2, _08031970 @ =0x040000D4 + movs r4, #0 + ldrsh r1, [r0, r4] + lsls r0, r1, #4 + adds r0, r0, r1 + lsls r0, r0, #6 + ldr r1, _08031974 @ =0x08490A4C + adds r0, r0, r1 + str r0, [r2] + ldr r0, _08031978 @ =0x0600D900 + str r0, [r2, #4] + ldr r0, _0803197C @ =0x80000220 + str r0, [r2, #8] + ldr r0, [r2, #8] _08031924: - ldr r0, _08031980 @ =0x020314E0 - ldr r1, [r0] - ldr r7, _08031968 @ =0x00000345 - adds r0, r1, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xe - bne _08031948 - movs r2, #0xd2 - lsls r2, r2, #2 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, #0xa - bne _08031948 - movs r0, #0xe1 - bl m4aSongNumStart + ldr r0, _08031980 @ =0x020314E0 + ldr r1, [r0] + ldr r7, _08031968 @ =0x00000345 + adds r0, r1, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0xe + bne _08031948 + movs r2, #0xd2 + lsls r2, r2, #2 + adds r0, r1, r2 + ldrh r0, [r0] + cmp r0, #0xa + bne _08031948 + movs r0, #0xe1 + bl m4aSongNumStart _08031948: - ldr r0, _08031980 @ =0x020314E0 - ldr r0, [r0] - movs r3, #0xfb - lsls r3, r3, #1 - adds r1, r0, r3 - ldrh r3, [r1] - movs r4, #0 - ldrsh r0, [r1, r4] - movs r2, #0xaf - lsls r2, r2, #2 - cmp r0, r2 - ble _08031984 - subs r0, r3, #5 - strh r0, [r1] - b _080319AC - .align 2, 0 + ldr r0, _08031980 @ =0x020314E0 + ldr r0, [r0] + movs r3, #0xfb + lsls r3, r3, #1 + adds r1, r0, r3 + ldrh r3, [r1] + movs r4, #0 + ldrsh r0, [r1, r4] + movs r2, #0xaf + lsls r2, r2, #2 + cmp r0, r2 + ble _08031984 + subs r0, r3, #5 + strh r0, [r1] + b _080319AC + .align 2, 0 _08031968: .4byte 0x00000345 _0803196C: .4byte 0x00000346 _08031970: .4byte 0x040000D4 @@ -97866,69 +97866,69 @@ _08031978: .4byte 0x0600D900 _0803197C: .4byte 0x80000220 _08031980: .4byte 0x020314E0 _08031984: - strh r2, [r1] - b _080319AC + strh r2, [r1] + b _080319AC _08031988: - ldr r0, [r5] - ldr r7, _080319F8 @ =0x00000345 - adds r0, r0, r7 - movs r2, #0 - strb r2, [r0] - ldr r0, [r5] - movs r3, #0xd2 - lsls r3, r3, #2 - adds r1, r0, r3 - movs r3, #0 - strh r2, [r1] - ldr r4, _080319FC @ =0x00000346 - adds r0, r0, r4 - strb r3, [r0] - ldr r0, [r5] - subs r7, #2 - adds r0, r0, r7 - strb r3, [r0] + ldr r0, [r5] + ldr r7, _080319F8 @ =0x00000345 + adds r0, r0, r7 + movs r2, #0 + strb r2, [r0] + ldr r0, [r5] + movs r3, #0xd2 + lsls r3, r3, #2 + adds r1, r0, r3 + movs r3, #0 + strh r2, [r1] + ldr r4, _080319FC @ =0x00000346 + adds r0, r0, r4 + strb r3, [r0] + ldr r0, [r5] + subs r7, #2 + adds r0, r0, r7 + strb r3, [r0] _080319AC: - movs r1, #0 - ldr r0, _08031A00 @ =0x040000D4 - mov sb, r0 - ldr r2, _08031A04 @ =0x086AE554 - mov sl, r2 + movs r1, #0 + ldr r0, _08031A00 @ =0x040000D4 + mov sb, r0 + ldr r2, _08031A04 @ =0x086AE554 + mov sl, r2 _080319B6: - lsls r1, r1, #0x10 - asrs r4, r1, #0x10 - movs r0, #0xb8 - muls r0, r4, r0 - ldr r3, _08031A08 @ =0x0200D580 - adds r6, r0, r3 - ldrh r0, [r6] - mov r8, r1 - cmp r0, #0 - bne _080319CC - b _08031AEA + lsls r1, r1, #0x10 + asrs r4, r1, #0x10 + movs r0, #0xb8 + muls r0, r4, r0 + ldr r3, _08031A08 @ =0x0200D580 + adds r6, r0, r3 + ldrh r0, [r6] + mov r8, r1 + cmp r0, #0 + bne _080319CC + b _08031AEA _080319CC: - ldr r5, _08031A0C @ =0x020314E0 - ldr r1, [r5] - ldr r7, _08031A10 @ =0x00000355 - adds r0, r1, r7 - adds r3, r0, r4 - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - ldr r2, _08031A14 @ =0x086AE58A - adds r0, r0, r2 - movs r7, #0 - ldrsh r2, [r0, r7] - lsls r0, r4, #1 - ldr r7, _08031A18 @ =0x0000035E - adds r1, r1, r7 - adds r1, r1, r0 - ldrh r0, [r1] - cmp r2, r0 - ble _08031A1C - adds r0, #1 - strh r0, [r1] - b _08031A3C - .align 2, 0 + ldr r5, _08031A0C @ =0x020314E0 + ldr r1, [r5] + ldr r7, _08031A10 @ =0x00000355 + adds r0, r1, r7 + adds r3, r0, r4 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #2 + ldr r2, _08031A14 @ =0x086AE58A + adds r0, r0, r2 + movs r7, #0 + ldrsh r2, [r0, r7] + lsls r0, r4, #1 + ldr r7, _08031A18 @ =0x0000035E + adds r1, r1, r7 + adds r1, r1, r0 + ldrh r0, [r1] + cmp r2, r0 + ble _08031A1C + adds r0, #1 + strh r0, [r1] + b _08031A3C + .align 2, 0 _080319F8: .4byte 0x00000345 _080319FC: .4byte 0x00000346 _08031A00: .4byte 0x040000D4 @@ -97939,129 +97939,129 @@ _08031A10: .4byte 0x00000355 _08031A14: .4byte 0x086AE58A _08031A18: .4byte 0x0000035E _08031A1C: - movs r2, #0 - strh r2, [r1] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r0, [r5] - ldr r1, _08031B08 @ =0x00000355 - adds r0, r0, r1 - adds r1, r0, r4 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #6 - bne _08031A3C - strh r2, [r6] - movs r0, #5 - strb r0, [r1] + movs r2, #0 + strh r2, [r1] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + ldr r0, [r5] + ldr r1, _08031B08 @ =0x00000355 + adds r0, r0, r1 + adds r1, r0, r4 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #6 + bne _08031A3C + strh r2, [r6] + movs r0, #5 + strb r0, [r1] _08031A3C: - ldr r2, _08031B0C @ =0x020314E0 - ldr r4, [r2] - mov r7, r8 - asrs r3, r7, #0x10 - ldr r1, _08031B08 @ =0x00000355 - adds r0, r4, r1 - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #2 - ldr r2, _08031B10 @ =0x086AE588 - adds r0, r0, r2 - movs r7, #0 - ldrsh r0, [r0, r7] - lsls r0, r0, #8 - ldr r1, _08031B14 @ =0x0845A08C - adds r0, r0, r1 - mov r1, sb - str r0, [r1] - lsls r0, r3, #8 - ldr r2, _08031B18 @ =0x060140A0 - adds r0, r0, r2 - str r0, [r1, #4] - ldr r0, _08031B1C @ =0x80000080 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r7, _08031B20 @ =0x00000359 - adds r2, r4, r7 - adds r2, r2, r3 - movs r0, #0 - ldrsb r0, [r2, r0] - lsls r0, r0, #2 - add r0, sl - adds r1, r4, #0 - adds r1, #0x58 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r6, #2] - movs r0, #0 - ldrsb r0, [r2, r0] - lsls r0, r0, #2 - add r0, sl - adds r4, #0x5a - ldrh r0, [r0, #2] - ldrh r1, [r4] - subs r0, r0, r1 - strh r0, [r6, #4] - movs r0, #0 - ldr r7, _08031B24 @ =0x03005000 - ldr r1, _08031B28 @ =0xFFFFFE00 - mov ip, r1 + ldr r2, _08031B0C @ =0x020314E0 + ldr r4, [r2] + mov r7, r8 + asrs r3, r7, #0x10 + ldr r1, _08031B08 @ =0x00000355 + adds r0, r4, r1 + adds r0, r0, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #2 + ldr r2, _08031B10 @ =0x086AE588 + adds r0, r0, r2 + movs r7, #0 + ldrsh r0, [r0, r7] + lsls r0, r0, #8 + ldr r1, _08031B14 @ =0x0845A08C + adds r0, r0, r1 + mov r1, sb + str r0, [r1] + lsls r0, r3, #8 + ldr r2, _08031B18 @ =0x060140A0 + adds r0, r0, r2 + str r0, [r1, #4] + ldr r0, _08031B1C @ =0x80000080 + str r0, [r1, #8] + ldr r0, [r1, #8] + ldr r7, _08031B20 @ =0x00000359 + adds r2, r4, r7 + adds r2, r2, r3 + movs r0, #0 + ldrsb r0, [r2, r0] + lsls r0, r0, #2 + add r0, sl + adds r1, r4, #0 + adds r1, #0x58 + ldrh r0, [r0] + ldrh r1, [r1] + subs r0, r0, r1 + strh r0, [r6, #2] + movs r0, #0 + ldrsb r0, [r2, r0] + lsls r0, r0, #2 + add r0, sl + adds r4, #0x5a + ldrh r0, [r0, #2] + ldrh r1, [r4] + subs r0, r0, r1 + strh r0, [r6, #4] + movs r0, #0 + ldr r7, _08031B24 @ =0x03005000 + ldr r1, _08031B28 @ =0xFFFFFE00 + mov ip, r1 _08031AA6: - lsls r3, r0, #0x10 - asrs r3, r3, #0x10 - lsls r5, r3, #3 - adds r5, #8 - adds r5, r6, r5 - ldrh r2, [r5] - lsls r2, r2, #3 - adds r2, r2, r7 - movs r4, #2 - ldrsh r1, [r5, r4] - movs r4, #2 - ldrsh r0, [r6, r4] - adds r1, r1, r0 - ldr r4, _08031B2C @ =0x000001FF - adds r0, r4, #0 - ands r1, r0 - ldrh r4, [r2, #2] - mov r0, ip - ands r0, r4 - orrs r0, r1 - strh r0, [r2, #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 r3, #1 - lsls r3, r3, #0x10 - lsrs r0, r3, #0x10 - asrs r3, r3, #0x10 - cmp r3, #2 - ble _08031AA6 + lsls r3, r0, #0x10 + asrs r3, r3, #0x10 + lsls r5, r3, #3 + adds r5, #8 + adds r5, r6, r5 + ldrh r2, [r5] + lsls r2, r2, #3 + adds r2, r2, r7 + movs r4, #2 + ldrsh r1, [r5, r4] + movs r4, #2 + ldrsh r0, [r6, r4] + adds r1, r1, r0 + ldr r4, _08031B2C @ =0x000001FF + adds r0, r4, #0 + ands r1, r0 + ldrh r4, [r2, #2] + mov r0, ip + ands r0, r4 + orrs r0, r1 + strh r0, [r2, #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 r3, #1 + lsls r3, r3, #0x10 + lsrs r0, r3, #0x10 + asrs r3, r3, #0x10 + cmp r3, #2 + ble _08031AA6 _08031AEA: - movs r0, #0x80 - lsls r0, r0, #9 - add r0, r8 - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #3 - bgt _08031AFA - b _080319B6 + movs r0, #0x80 + lsls r0, r0, #9 + add r0, r8 + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #3 + bgt _08031AFA + b _080319B6 _08031AFA: - 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 + 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 _08031B08: .4byte 0x00000355 _08031B0C: .4byte 0x020314E0 _08031B10: .4byte 0x086AE588 @@ -98073,149 +98073,149 @@ _08031B24: .4byte 0x03005000 _08031B28: .4byte 0xFFFFFE00 _08031B2C: .4byte 0x000001FF - thumb_func_start sub_31B30 + thumb_func_start sub_31B30 sub_31B30: @ 0x08031B30 - push {r4, r5, r6, r7, lr} - ldr r1, _08031B64 @ =0x0200B0C0 - ldrb r0, [r1, #4] - ldr r2, _08031B68 @ =0x00004010 - adds r6, r1, r2 - cmp r0, #0 - bne _08031B42 - ldr r0, _08031B6C @ =0x00003D30 - adds r6, r1, r0 + push {r4, r5, r6, r7, lr} + ldr r1, _08031B64 @ =0x0200B0C0 + ldrb r0, [r1, #4] + ldr r2, _08031B68 @ =0x00004010 + adds r6, r1, r2 + cmp r0, #0 + bne _08031B42 + ldr r0, _08031B6C @ =0x00003D30 + adds r6, r1, r0 _08031B42: - ldrh r0, [r6] - cmp r0, #0 - beq _08031BD6 - ldr r0, _08031B70 @ =0x020314E0 - ldr r1, [r0] - adds r0, r1, #0 - adds r0, #0x4c - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #7 - bgt _08031B74 - adds r0, r1, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r2, #8 - rsbs r2, r2, #0 - b _08031B7E - .align 2, 0 + ldrh r0, [r6] + cmp r0, #0 + beq _08031BD6 + ldr r0, _08031B70 @ =0x020314E0 + ldr r1, [r0] + adds r0, r1, #0 + adds r0, #0x4c + movs r2, #0 + ldrsh r0, [r0, r2] + cmp r0, #7 + bgt _08031B74 + adds r0, r1, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r2, #8 + rsbs r2, r2, #0 + b _08031B7E + .align 2, 0 _08031B64: .4byte 0x0200B0C0 _08031B68: .4byte 0x00004010 _08031B6C: .4byte 0x00003D30 _08031B70: .4byte 0x020314E0 _08031B74: - adds r0, r1, #0 - adds r0, #0x58 - ldrh r1, [r0] - movs r2, #0x80 - lsls r2, r2, #1 + adds r0, r1, #0 + adds r0, #0x58 + ldrh r1, [r0] + movs r2, #0x80 + lsls r2, r2, #1 _08031B7E: - adds r0, r2, #0 - subs r0, r0, r1 - strh r0, [r6, #2] - movs r0, #0 - strh r0, [r6, #4] - ldr r7, _08031BDC @ =0x03005000 - ldr r1, _08031BE0 @ =0xFFFFFE00 - mov ip, r1 + adds r0, r2, #0 + subs r0, r0, r1 + strh r0, [r6, #2] + movs r0, #0 + strh r0, [r6, #4] + ldr r7, _08031BDC @ =0x03005000 + ldr r1, _08031BE0 @ =0xFFFFFE00 + mov ip, r1 _08031B8E: - 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, _08031BE4 @ =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 r2, [r3] - lsls r2, r2, #3 - adds r2, r2, r7 - ldrb r0, [r6, #4] - ldrb r3, [r3, #4] - adds r0, r0, r3 - lsls r1, r5, #5 - adds r0, r0, r1 - strb r0, [r2] - adds r5, #1 - lsls r5, r5, #0x10 - lsrs r0, r5, #0x10 - asrs r5, r5, #0x10 - cmp r5, #4 - ble _08031B8E + 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, _08031BE4 @ =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 r2, [r3] + lsls r2, r2, #3 + adds r2, r2, r7 + ldrb r0, [r6, #4] + ldrb r3, [r3, #4] + adds r0, r0, r3 + lsls r1, r5, #5 + adds r0, r0, r1 + strb r0, [r2] + adds r5, #1 + lsls r5, r5, #0x10 + lsrs r0, r5, #0x10 + asrs r5, r5, #0x10 + cmp r5, #4 + ble _08031B8E _08031BD6: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08031BDC: .4byte 0x03005000 _08031BE0: .4byte 0xFFFFFE00 _08031BE4: .4byte 0x000001FF - thumb_func_start sub_31BE8 + thumb_func_start sub_31BE8 sub_31BE8: @ 0x08031BE8 - push {r4, r5, r6, r7, lr} - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - ldr r1, _08031C40 @ =0x020314E0 - 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 - cmp r0, #1 - bne _08031C1C - ldr r2, _08031C48 @ =0x040000D4 - lsls r0, r3, #0x10 - asrs r0, r0, #0xe - adds r1, r5, #0 - adds r1, #0x2c - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r2] - ldr r0, _08031C4C @ =0x05000200 - str r0, [r2, #4] - ldr r0, _08031C50 @ =0x80000010 - str r0, [r2, #8] - ldr r0, [r2, #8] + push {r4, r5, r6, r7, lr} + lsls r0, r0, #0x10 + lsrs r3, r0, #0x10 + ldr r1, _08031C40 @ =0x020314E0 + 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 + cmp r0, #1 + bne _08031C1C + ldr r2, _08031C48 @ =0x040000D4 + lsls r0, r3, #0x10 + asrs r0, r0, #0xe + adds r1, r5, #0 + adds r1, #0x2c + adds r0, r0, r1 + ldr r0, [r0] + str r0, [r2] + ldr r0, _08031C4C @ =0x05000200 + str r0, [r2, #4] + ldr r0, _08031C50 @ =0x80000010 + str r0, [r2, #8] + ldr r0, [r2, #8] _08031C1C: - ldr r0, _08031C54 @ =0x0200B0C0 - ldrb r1, [r0, #4] - adds r6, r0, #0 - cmp r1, #1 - bne _08031C60 - ldr r2, _08031C48 @ =0x040000D4 - lsls r3, r3, #0x10 - asrs r0, r3, #0xe - adds r1, r5, #0 - adds r1, #0x2c - adds r0, r0, r1 - ldr r0, [r0] - adds r0, #0x40 - str r0, [r2] - ldr r0, _08031C58 @ =0x05000240 - str r0, [r2, #4] - ldr r0, _08031C5C @ =0x80000060 - b _08031C78 - .align 2, 0 + ldr r0, _08031C54 @ =0x0200B0C0 + ldrb r1, [r0, #4] + adds r6, r0, #0 + cmp r1, #1 + bne _08031C60 + ldr r2, _08031C48 @ =0x040000D4 + lsls r3, r3, #0x10 + asrs r0, r3, #0xe + adds r1, r5, #0 + adds r1, #0x2c + adds r0, r0, r1 + ldr r0, [r0] + adds r0, #0x40 + str r0, [r2] + ldr r0, _08031C58 @ =0x05000240 + str r0, [r2, #4] + ldr r0, _08031C5C @ =0x80000060 + b _08031C78 + .align 2, 0 _08031C40: .4byte 0x020314E0 _08031C44: .4byte 0x02031520 _08031C48: .4byte 0x040000D4 @@ -98225,52 +98225,52 @@ _08031C54: .4byte 0x0200B0C0 _08031C58: .4byte 0x05000240 _08031C5C: .4byte 0x80000060 _08031C60: - ldr r2, _08031CB8 @ =0x040000D4 - lsls r3, r3, #0x10 - asrs r0, r3, #0xe - adds r1, r5, #0 - adds r1, #0x2c - adds r0, r0, r1 - ldr r0, [r0] - adds r0, #0x40 - str r0, [r2] - ldr r0, _08031CBC @ =0x05000240 - str r0, [r2, #4] - ldr r0, _08031CC0 @ =0x80000070 + ldr r2, _08031CB8 @ =0x040000D4 + lsls r3, r3, #0x10 + asrs r0, r3, #0xe + adds r1, r5, #0 + adds r1, #0x2c + adds r0, r0, r1 + ldr r0, [r0] + adds r0, #0x40 + str r0, [r2] + ldr r0, _08031CBC @ =0x05000240 + str r0, [r2, #4] + ldr r0, _08031CC0 @ =0x80000070 _08031C78: - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r4, _08031CB8 @ =0x040000D4 - asrs r3, r3, #0x10 - lsls r0, r3, #2 - adds r1, r5, #0 - adds r1, #0x2c - adds r0, r0, r1 - ldr r0, [r0] - movs r1, #0xa0 - lsls r1, r1, #1 - adds r0, r0, r1 - str r0, [r4] - ldr r0, _08031CC4 @ =0x05000340 - str r0, [r4, #4] - ldr r5, _08031CC8 @ =0x80000010 - str r5, [r4, #8] - ldr r0, [r4, #8] - ldr r0, [r7] - adds r0, #0x68 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0xa9 - bgt _08031CD0 - ldrb r1, [r6, #4] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #6 - lsls r1, r3, #6 - ldr r2, _08031CCC @ =0x08137B3C - adds r1, r1, r2 - b _08031CDE - .align 2, 0 + str r0, [r2, #8] + ldr r0, [r2, #8] + ldr r4, _08031CB8 @ =0x040000D4 + asrs r3, r3, #0x10 + lsls r0, r3, #2 + adds r1, r5, #0 + adds r1, #0x2c + adds r0, r0, r1 + ldr r0, [r0] + movs r1, #0xa0 + lsls r1, r1, #1 + adds r0, r0, r1 + str r0, [r4] + ldr r0, _08031CC4 @ =0x05000340 + str r0, [r4, #4] + ldr r5, _08031CC8 @ =0x80000010 + str r5, [r4, #8] + ldr r0, [r4, #8] + ldr r0, [r7] + adds r0, #0x68 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #0xa9 + bgt _08031CD0 + ldrb r1, [r6, #4] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #6 + lsls r1, r3, #6 + ldr r2, _08031CCC @ =0x08137B3C + adds r1, r1, r2 + b _08031CDE + .align 2, 0 _08031CB8: .4byte 0x040000D4 _08031CBC: .4byte 0x05000240 _08031CC0: .4byte 0x80000070 @@ -98278,2218 +98278,2218 @@ _08031CC4: .4byte 0x05000340 _08031CC8: .4byte 0x80000010 _08031CCC: .4byte 0x08137B3C _08031CD0: - ldrb r1, [r6, #4] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #6 - ldr r1, _08031CF0 @ =0x08137B5C - adds r0, r0, r1 - lsls r1, r3, #6 + ldrb r1, [r6, #4] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #6 + ldr r1, _08031CF0 @ =0x08137B5C + adds r0, r0, r1 + lsls r1, r3, #6 _08031CDE: - adds r0, r0, r1 - str r0, [r4] - ldr r0, _08031CF4 @ =0x05000360 - str r0, [r4, #4] - str r5, [r4, #8] - ldr r0, [r4, #8] - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + adds r0, r0, r1 + str r0, [r4] + ldr r0, _08031CF4 @ =0x05000360 + str r0, [r4, #4] + str r5, [r4, #8] + ldr r0, [r4, #8] + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08031CF0: .4byte 0x08137B5C _08031CF4: .4byte 0x05000360 - thumb_func_start sub_31CF8 + thumb_func_start sub_31CF8 sub_31CF8: @ 0x08031CF8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08031D90 - ldr r0, _08031D80 @ =0x0200B0C0 - ldrb r0, [r0, #2] - cmp r0, #3 - beq _08031D20 - ldr r0, _08031D84 @ =0x020314E0 - ldr r0, [r0] - movs r1, #0xb3 - lsls r1, r1, #3 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r1, #4 - bl sub_52BB0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08031D90 + ldr r0, _08031D80 @ =0x0200B0C0 + ldrb r0, [r0, #2] + cmp r0, #3 + beq _08031D20 + ldr r0, _08031D84 @ =0x020314E0 + ldr r0, [r0] + movs r1, #0xb3 + lsls r1, r1, #3 + adds r0, r0, r1 + movs r2, #0 + ldrsh r0, [r0, r2] + movs r1, #4 + bl sub_52BB0 _08031D20: - ldr r2, _08031D88 @ =0x086A3700 - ldr r1, _08031D84 @ =0x020314E0 - ldr r4, [r1] - movs r3, #0xb3 - lsls r3, r3, #3 - adds r0, r4, r3 - ldrh r3, [r0] - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r0, r0, #3 - adds r2, r0, r2 - movs r0, #0x14 - ldrsb r0, [r2, r0] - mov r8, r1 - cmp r0, #0 - bne _08031D42 - b _08031F5E + ldr r2, _08031D88 @ =0x086A3700 + ldr r1, _08031D84 @ =0x020314E0 + ldr r4, [r1] + movs r3, #0xb3 + lsls r3, r3, #3 + adds r0, r4, r3 + ldrh r3, [r0] + lsls r0, r3, #1 + adds r0, r0, r3 + lsls r0, r0, #3 + adds r2, r0, r2 + movs r0, #0x14 + ldrsb r0, [r2, r0] + mov r8, r1 + cmp r0, #0 + bne _08031D42 + b _08031F5E _08031D42: - ldrb r0, [r2, #0x15] - cmp r0, #0xcc - bls _08031D4A - b _08031F5E + ldrb r0, [r2, #0x15] + cmp r0, #0xcc + bls _08031D4A + b _08031F5E _08031D4A: - ldr r0, _08031D8C @ =0x00000281 - adds r1, r4, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xf - bgt _08031D58 - b _08031F00 + ldr r0, _08031D8C @ =0x00000281 + adds r1, r4, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0xf + bgt _08031D58 + b _08031F00 _08031D58: - movs r2, #0 - mov r4, r8 - movs r3, #0x9c - lsls r3, r3, #2 + movs r2, #0 + mov r4, r8 + movs r3, #0x9c + lsls r3, r3, #2 _08031D60: - ldr r1, [r4] - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - adds r1, r1, r3 - adds r2, r1, r0 - adds r0, #1 - adds r1, r1, r0 - ldrb r1, [r1] - strb r1, [r2] - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xf - ble _08031D60 - b _08031F4C - .align 2, 0 + ldr r1, [r4] + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + adds r1, r1, r3 + adds r2, r1, r0 + adds r0, #1 + adds r1, r1, r0 + ldrb r1, [r1] + strb r1, [r2] + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xf + ble _08031D60 + b _08031F4C + .align 2, 0 _08031D80: .4byte 0x0200B0C0 _08031D84: .4byte 0x020314E0 _08031D88: .4byte 0x086A3700 _08031D8C: .4byte 0x00000281 _08031D90: - ldr r2, _08031E10 @ =0x020314E0 - ldr r1, [r2] - ldr r6, _08031E14 @ =0x00000281 - adds r1, r1, r6 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - ldr r0, [r2] - movs r3, #0xa0 - lsls r3, r3, #2 - adds r1, r0, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r0, r0, r6 - lsls r3, r1, #0x10 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r4, _08031E18 @ =0x0200B0C0 - mov r8, r2 - cmp r1, r0 - bge _08031DE6 - mov r5, r8 - movs r7, #0x9c - lsls r7, r7, #2 + ldr r2, _08031E10 @ =0x020314E0 + ldr r1, [r2] + ldr r6, _08031E14 @ =0x00000281 + adds r1, r1, r6 + ldrb r0, [r1] + subs r0, #1 + strb r0, [r1] + ldr r0, [r2] + movs r3, #0xa0 + lsls r3, r3, #2 + adds r1, r0, r3 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + adds r0, r0, r6 + lsls r3, r1, #0x10 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldr r4, _08031E18 @ =0x0200B0C0 + mov r8, r2 + cmp r1, r0 + bge _08031DE6 + mov r5, r8 + movs r7, #0x9c + lsls r7, r7, #2 _08031DC4: - ldr r0, [r5] - asrs r1, r3, #0x10 - adds r0, r0, r7 - adds r2, r0, r1 - adds r1, #1 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r2] - ldr r0, [r5] - adds r0, r0, r6 - lsls r3, r1, #0x10 - asrs r1, r3, #0x10 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - blt _08031DC4 + ldr r0, [r5] + asrs r1, r3, #0x10 + adds r0, r0, r7 + adds r2, r0, r1 + adds r1, #1 + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r2] + ldr r0, [r5] + adds r0, r0, r6 + lsls r3, r1, #0x10 + asrs r1, r3, #0x10 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r1, r0 + blt _08031DC4 _08031DE6: - mov r1, r8 - ldr r0, [r1] - movs r5, #0xb3 - lsls r5, r5, #3 - adds r3, r0, r5 - ldrh r0, [r3] - cmp r0, #0xd - bne _08031E32 - ldr r0, [r4, #0x4c] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _08031E20 - adds r0, r4, #0 - adds r0, #0x74 - ldrb r0, [r0, #0xe] - cmp r0, #3 - bhi _08031E1C - movs r0, #0xe - b _08031EB2 - .align 2, 0 + mov r1, r8 + ldr r0, [r1] + movs r5, #0xb3 + lsls r5, r5, #3 + adds r3, r0, r5 + ldrh r0, [r3] + cmp r0, #0xd + bne _08031E32 + ldr r0, [r4, #0x4c] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + bne _08031E20 + adds r0, r4, #0 + adds r0, #0x74 + ldrb r0, [r0, #0xe] + cmp r0, #3 + bhi _08031E1C + movs r0, #0xe + b _08031EB2 + .align 2, 0 _08031E10: .4byte 0x020314E0 _08031E14: .4byte 0x00000281 _08031E18: .4byte 0x0200B0C0 _08031E1C: - movs r0, #0x10 - b _08031EB2 + movs r0, #0x10 + b _08031EB2 _08031E20: - adds r0, r4, #0 - adds r0, #0x74 - ldrb r0, [r0, #0x10] - cmp r0, #3 - bhi _08031E2E - movs r0, #0x10 - b _08031EB2 + adds r0, r4, #0 + adds r0, #0x74 + ldrb r0, [r0, #0x10] + cmp r0, #3 + bhi _08031E2E + movs r0, #0x10 + b _08031EB2 _08031E2E: - movs r0, #0xe - b _08031EB2 + movs r0, #0xe + b _08031EB2 _08031E32: - cmp r0, #0x58 - bne _08031E44 - ldrb r0, [r4, #4] - cmp r0, #0 - bne _08031E40 - movs r0, #0x59 - b _08031EB2 + cmp r0, #0x58 + bne _08031E44 + ldrb r0, [r4, #4] + cmp r0, #0 + bne _08031E40 + movs r0, #0x59 + b _08031EB2 _08031E40: - movs r0, #0x5a - b _08031EB2 + movs r0, #0x5a + b _08031EB2 _08031E44: - cmp r0, #0xaf - bne _08031E7C - ldr r0, [r4, #0x4c] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _08031E66 - movs r2, #0x92 - lsls r2, r2, #1 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, #3 - bhi _08031E62 - movs r0, #0xb0 - b _08031EB2 + cmp r0, #0xaf + bne _08031E7C + ldr r0, [r4, #0x4c] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + bne _08031E66 + movs r2, #0x92 + lsls r2, r2, #1 + adds r0, r4, r2 + ldrb r0, [r0] + cmp r0, #3 + bhi _08031E62 + movs r0, #0xb0 + b _08031EB2 _08031E62: - movs r0, #0xb1 - b _08031EB2 + movs r0, #0xb1 + b _08031EB2 _08031E66: - ldr r1, _08031E74 @ =0x00000125 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, #3 - bhi _08031E78 - movs r0, #0xb1 - b _08031EB2 - .align 2, 0 + ldr r1, _08031E74 @ =0x00000125 + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, #3 + bhi _08031E78 + movs r0, #0xb1 + b _08031EB2 + .align 2, 0 _08031E74: .4byte 0x00000125 _08031E78: - movs r0, #0xb0 - b _08031EB2 + movs r0, #0xb0 + b _08031EB2 _08031E7C: - cmp r0, #0x29 - bne _08031EA4 - movs r0, #0x2b - strh r0, [r3] - ldr r4, _08031EA0 @ =0x0200B0C0 - ldrb r0, [r4, #2] - cmp r0, #3 - beq _08031E94 - movs r0, #0x2b - movs r1, #4 - bl sub_52BB0 + cmp r0, #0x29 + bne _08031EA4 + movs r0, #0x2b + strh r0, [r3] + ldr r4, _08031EA0 @ =0x0200B0C0 + ldrb r0, [r4, #2] + cmp r0, #3 + beq _08031E94 + movs r0, #0x2b + movs r1, #4 + bl sub_52BB0 _08031E94: - mov r2, r8 - ldr r0, [r2] - adds r0, r0, r5 - movs r1, #0x2a - strh r1, [r0] - b _08031EB4 - .align 2, 0 + mov r2, r8 + ldr r0, [r2] + adds r0, r0, r5 + movs r1, #0x2a + strh r1, [r0] + b _08031EB4 + .align 2, 0 _08031EA0: .4byte 0x0200B0C0 _08031EA4: - ldr r2, _08031F1C @ =0x086A3700 - ldrh r1, [r3] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r2 - ldrb r0, [r0, #0x15] + ldr r2, _08031F1C @ =0x086A3700 + ldrh r1, [r3] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r2 + ldrb r0, [r0, #0x15] _08031EB2: - strh r0, [r3] + strh r0, [r3] _08031EB4: - ldrb r0, [r4, #2] - cmp r0, #3 - beq _08031ECE - ldr r0, _08031F20 @ =0x020314E0 - ldr r0, [r0] - movs r3, #0xb3 - lsls r3, r3, #3 - adds r0, r0, r3 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #4 - bl sub_52BB0 + ldrb r0, [r4, #2] + cmp r0, #3 + beq _08031ECE + ldr r0, _08031F20 @ =0x020314E0 + ldr r0, [r0] + movs r3, #0xb3 + lsls r3, r3, #3 + adds r0, r0, r3 + movs r1, #0 + ldrsh r0, [r0, r1] + movs r1, #4 + bl sub_52BB0 _08031ECE: - ldr r2, _08031F1C @ =0x086A3700 - ldr r1, _08031F20 @ =0x020314E0 - ldr r4, [r1] - movs r3, #0xb3 - lsls r3, r3, #3 - adds r0, r4, r3 - ldrh r3, [r0] - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r0, r0, #3 - adds r2, r0, r2 - movs r0, #0x14 - ldrsb r0, [r2, r0] - mov r8, r1 - cmp r0, #0 - beq _08031F5E - ldrb r0, [r2, #0x15] - cmp r0, #0xcc - bhi _08031F5E - ldr r0, _08031F24 @ =0x00000281 - adds r1, r4, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xf - bgt _08031F28 + ldr r2, _08031F1C @ =0x086A3700 + ldr r1, _08031F20 @ =0x020314E0 + ldr r4, [r1] + movs r3, #0xb3 + lsls r3, r3, #3 + adds r0, r4, r3 + ldrh r3, [r0] + lsls r0, r3, #1 + adds r0, r0, r3 + lsls r0, r0, #3 + adds r2, r0, r2 + movs r0, #0x14 + ldrsb r0, [r2, r0] + mov r8, r1 + cmp r0, #0 + beq _08031F5E + ldrb r0, [r2, #0x15] + cmp r0, #0xcc + bhi _08031F5E + ldr r0, _08031F24 @ =0x00000281 + adds r1, r4, r0 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0xf + bgt _08031F28 _08031F00: - adds r1, r0, #0 - movs r2, #0x9c - lsls r2, r2, #2 - adds r0, r4, r2 - adds r0, r0, r1 - strb r3, [r0] - mov r3, r8 - ldr r1, [r3] - ldr r0, _08031F24 @ =0x00000281 - adds r1, r1, r0 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - b _08031F5E - .align 2, 0 + adds r1, r0, #0 + movs r2, #0x9c + lsls r2, r2, #2 + adds r0, r4, r2 + adds r0, r0, r1 + strb r3, [r0] + mov r3, r8 + ldr r1, [r3] + ldr r0, _08031F24 @ =0x00000281 + adds r1, r1, r0 + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + b _08031F5E + .align 2, 0 _08031F1C: .4byte 0x086A3700 _08031F20: .4byte 0x020314E0 _08031F24: .4byte 0x00000281 _08031F28: - movs r2, #0 - mov r4, r8 - movs r3, #0x9c - lsls r3, r3, #2 + movs r2, #0 + mov r4, r8 + movs r3, #0x9c + lsls r3, r3, #2 _08031F30: - ldr r1, [r4] - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - adds r1, r1, r3 - adds r2, r1, r0 - adds r0, #1 - adds r1, r1, r0 - ldrb r1, [r1] - strb r1, [r2] - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xf - ble _08031F30 + ldr r1, [r4] + lsls r0, r2, #0x10 + asrs r0, r0, #0x10 + adds r1, r1, r3 + adds r2, r1, r0 + adds r0, #1 + adds r1, r1, r0 + ldrb r1, [r1] + strb r1, [r2] + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0xf + ble _08031F30 _08031F4C: - mov r1, r8 - ldr r0, [r1] - movs r2, #0xb3 - lsls r2, r2, #3 - adds r1, r0, r2 - ldrh r1, [r1] - ldr r3, _08031F68 @ =0x0000027F - adds r0, r0, r3 - strb r1, [r0] + mov r1, r8 + ldr r0, [r1] + movs r2, #0xb3 + lsls r2, r2, #3 + adds r1, r0, r2 + ldrh r1, [r1] + ldr r3, _08031F68 @ =0x0000027F + adds r0, r0, r3 + strb r1, [r0] _08031F5E: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08031F68: .4byte 0x0000027F - thumb_func_start sub_31F6C + thumb_func_start sub_31F6C sub_31F6C: @ 0x08031F6C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - ldr r4, _08031FE0 @ =0x020314E0 - ldr r0, [r4] - movs r1, #0x97 - lsls r1, r1, #1 - adds r3, r0, r1 - movs r1, #0 - strh r1, [r3] - ldr r3, _08031FE4 @ =0x0000073D - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #3 - bne _08031F96 - movs r1, #1 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #4 + ldr r4, _08031FE0 @ =0x020314E0 + ldr r0, [r4] + movs r1, #0x97 + lsls r1, r1, #1 + adds r3, r0, r1 + movs r1, #0 + strh r1, [r3] + ldr r3, _08031FE4 @ =0x0000073D + adds r0, r0, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #3 + bne _08031F96 + movs r1, #1 _08031F96: - movs r2, #0 - lsls r1, r1, #4 - str r1, [sp] - ldr r5, _08031FE8 @ =0x0200B134 - mov r8, r5 - mov sl, r4 + movs r2, #0 + lsls r1, r1, #4 + str r1, [sp] + ldr r5, _08031FE8 @ =0x0200B134 + mov r8, r5 + mov sl, r4 _08031FA2: - lsls r2, r2, #0x10 - asrs r1, r2, #0xf - ldr r0, [sp] - adds r1, r1, r0 - mov r3, sl - ldr r0, [r3] - adds r0, #0x35 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsls r0, r0, #5 - adds r1, r1, r0 - ldr r5, _08031FEC @ =0x08055A84 - adds r1, r1, r5 - ldrh r6, [r1] - movs r3, #0 - ldrsh r0, [r1, r3] - mov sb, r2 - cmp r0, #0x8d - beq _08032018 - cmp r0, #0x8d - bgt _08031FFA - cmp r0, #0x84 - beq _08032018 - cmp r0, #0x84 - bgt _08031FF0 - cmp r0, #0x3b - beq _08032018 - cmp r0, #0x72 - beq _08032018 - b _080320A8 - .align 2, 0 + lsls r2, r2, #0x10 + asrs r1, r2, #0xf + ldr r0, [sp] + adds r1, r1, r0 + mov r3, sl + ldr r0, [r3] + adds r0, #0x35 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + lsls r0, r0, #5 + adds r1, r1, r0 + ldr r5, _08031FEC @ =0x08055A84 + adds r1, r1, r5 + ldrh r6, [r1] + movs r3, #0 + ldrsh r0, [r1, r3] + mov sb, r2 + cmp r0, #0x8d + beq _08032018 + cmp r0, #0x8d + bgt _08031FFA + cmp r0, #0x84 + beq _08032018 + cmp r0, #0x84 + bgt _08031FF0 + cmp r0, #0x3b + beq _08032018 + cmp r0, #0x72 + beq _08032018 + b _080320A8 + .align 2, 0 _08031FE0: .4byte 0x020314E0 _08031FE4: .4byte 0x0000073D _08031FE8: .4byte 0x0200B134 _08031FEC: .4byte 0x08055A84 _08031FF0: - cmp r0, #0x86 - beq _08032018 - cmp r0, #0x8b - beq _08032018 - b _080320A8 + cmp r0, #0x86 + beq _08032018 + cmp r0, #0x8b + beq _08032018 + b _080320A8 _08031FFA: - cmp r0, #0xa0 - beq _08032018 - cmp r0, #0xa0 - bgt _0803200C - cmp r0, #0x90 - beq _08032018 - cmp r0, #0x97 - beq _08032018 - b _080320A8 + cmp r0, #0xa0 + beq _08032018 + cmp r0, #0xa0 + bgt _0803200C + cmp r0, #0x90 + beq _08032018 + cmp r0, #0x97 + beq _08032018 + b _080320A8 _0803200C: - cmp r0, #0xaf - beq _0803205E - cmp r0, #0xcd - bne _08032016 - b _08032138 + cmp r0, #0xaf + beq _0803205E + cmp r0, #0xcd + bne _08032016 + b _08032138 _08032016: - b _080320A8 + b _080320A8 _08032018: - ldr r0, _08032038 @ =0x0200B0C0 - ldrb r0, [r0, #8] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0803203C - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - add r0, r8 - ldrb r0, [r0] - movs r5, #4 - cmp r0, #1 - bhi _0803204C - movs r5, #2 - b _0803204C - .align 2, 0 + ldr r0, _08032038 @ =0x0200B0C0 + ldrb r0, [r0, #8] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _0803203C + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + add r0, r8 + ldrb r0, [r0] + movs r5, #4 + cmp r0, #1 + bhi _0803204C + movs r5, #2 + b _0803204C + .align 2, 0 _08032038: .4byte 0x0200B0C0 _0803203C: - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - add r0, r8 - ldrb r0, [r0] - movs r5, #2 - cmp r0, #1 - bhi _0803204C - movs r5, #1 + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + add r0, r8 + ldrb r0, [r0] + movs r5, #2 + cmp r0, #1 + bhi _0803204C + movs r5, #1 _0803204C: - mov r1, sl - ldr r0, [r1] - movs r3, #0xbe - lsls r3, r3, #3 - adds r0, r0, r3 - ldrh r0, [r0] - cmp r0, #0 - bne _0803213A - b _08032138 + mov r1, sl + ldr r0, [r1] + movs r3, #0xbe + lsls r3, r3, #3 + adds r0, r0, r3 + ldrh r0, [r0] + cmp r0, #0 + bne _0803213A + b _08032138 _0803205E: - ldr r4, _080320A0 @ =0x086AE5E0 - ldr r3, _080320A4 @ =0x0200B134 - adds r0, r3, #0 - adds r0, #0xaf - ldrb r1, [r0] - lsls r1, r1, #1 - adds r1, r1, r4 - adds r0, #1 - ldrb r0, [r0] - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r2, [r0] - ldrh r5, [r1] - movs r0, #0 - ldrsh r1, [r1, r0] - lsls r2, r2, #0x10 - asrs r0, r2, #0x10 - cmp r1, r0 - bge _08032086 - lsrs r5, r2, #0x10 + ldr r4, _080320A0 @ =0x086AE5E0 + ldr r3, _080320A4 @ =0x0200B134 + adds r0, r3, #0 + adds r0, #0xaf + ldrb r1, [r0] + lsls r1, r1, #1 + adds r1, r1, r4 + adds r0, #1 + ldrb r0, [r0] + lsls r0, r0, #1 + adds r0, r0, r4 + ldrh r2, [r0] + ldrh r5, [r1] + movs r0, #0 + ldrsh r1, [r1, r0] + lsls r2, r2, #0x10 + asrs r0, r2, #0x10 + cmp r1, r0 + bge _08032086 + lsrs r5, r2, #0x10 _08032086: - adds r0, r3, #0 - adds r0, #0xb1 - ldrb r0, [r0] - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r2, [r0] - lsls r0, r5, #0x10 - lsls r1, r2, #0x10 - cmp r0, r1 - bge _0803213A - lsrs r5, r1, #0x10 - b _0803213A - .align 2, 0 + adds r0, r3, #0 + adds r0, #0xb1 + ldrb r0, [r0] + lsls r0, r0, #1 + adds r0, r0, r4 + ldrh r2, [r0] + lsls r0, r5, #0x10 + lsls r1, r2, #0x10 + cmp r0, r1 + bge _0803213A + lsrs r5, r1, #0x10 + b _0803213A + .align 2, 0 _080320A0: .4byte 0x086AE5E0 _080320A4: .4byte 0x0200B134 _080320A8: - ldr r0, _0803218C @ =0x086AE5E0 - lsls r1, r6, #0x10 - asrs r1, r1, #0x10 - add r1, r8 - ldrb r1, [r1] - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r5, [r1] - movs r3, #0 - ldr r1, _08032190 @ =0x086A3700 - mov ip, r1 - mov r7, ip - adds r4, r0, #0 + ldr r0, _0803218C @ =0x086AE5E0 + lsls r1, r6, #0x10 + asrs r1, r1, #0x10 + add r1, r8 + ldrb r1, [r1] + lsls r1, r1, #1 + adds r1, r1, r0 + ldrh r5, [r1] + movs r3, #0 + ldr r1, _08032190 @ =0x086A3700 + mov ip, r1 + mov r7, ip + adds r4, r0, #0 _080320C2: - lsls r1, r6, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r0, r0, r7 - ldrb r6, [r0, #0x15] - adds r0, r6, #0 - cmp r0, #0xcc - bgt _080320FA - add r0, r8 - ldrb r0, [r0] - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r2, [r0] - lsls r0, r5, #0x10 - lsls r1, r2, #0x10 - cmp r0, r1 - bge _080320EA - lsrs r5, r1, #0x10 + lsls r1, r6, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #3 + adds r0, r0, r7 + ldrb r6, [r0, #0x15] + adds r0, r6, #0 + cmp r0, #0xcc + bgt _080320FA + add r0, r8 + ldrb r0, [r0] + lsls r0, r0, #1 + adds r0, r0, r4 + ldrh r2, [r0] + lsls r0, r5, #0x10 + lsls r1, r2, #0x10 + cmp r0, r1 + bge _080320EA + lsrs r5, r1, #0x10 _080320EA: - lsls r0, r3, #0x10 - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r0, r3 - lsrs r3, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #1 - ble _080320C2 + lsls r0, r3, #0x10 + movs r3, #0x80 + lsls r3, r3, #9 + adds r0, r0, r3 + lsrs r3, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #1 + ble _080320C2 _080320FA: - mov r0, sb - asrs r1, r0, #0xf - ldr r3, [sp] - adds r1, r1, r3 - mov r0, sl - ldr r2, [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 - ldr r3, _08032194 @ =0x08055A84 - adds r1, r1, r3 - ldrh r6, [r1] - movs r0, #0xbe - lsls r0, r0, #3 - adds r2, r2, r0 - ldrh r0, [r2] - cmp r0, #0 - bne _0803213A - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #3 - add r1, ip - ldrb r0, [r1, #0x15] - cmp r0, #0xcc - bls _0803213A + mov r0, sb + asrs r1, r0, #0xf + ldr r3, [sp] + adds r1, r1, r3 + mov r0, sl + ldr r2, [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 + ldr r3, _08032194 @ =0x08055A84 + adds r1, r1, r3 + ldrh r6, [r1] + movs r0, #0xbe + lsls r0, r0, #3 + adds r2, r2, r0 + ldrh r0, [r2] + cmp r0, #0 + bne _0803213A + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + lsls r1, r0, #1 + adds r1, r1, r0 + lsls r1, r1, #3 + add r1, ip + ldrb r0, [r1, #0x15] + cmp r0, #0xcc + bls _0803213A _08032138: - movs r5, #0 + movs r5, #0 _0803213A: - mov r1, sl - ldr r4, [r1] - ldr r3, _08032198 @ =0x0000059C - adds r0, r4, r3 - ldrh r1, [r0] - lsls r0, r6, #0x10 - asrs r0, r0, #0x10 - cmp r1, r0 - bne _0803214E - movs r5, #0 + mov r1, sl + ldr r4, [r1] + ldr r3, _08032198 @ =0x0000059C + adds r0, r4, r3 + ldrh r1, [r0] + lsls r0, r6, #0x10 + asrs r0, r0, #0x10 + cmp r1, r0 + bne _0803214E + movs r5, #0 _0803214E: - movs r1, #0x97 - lsls r1, r1, #1 - adds r0, r4, r1 - lsls r2, r5, #0x10 - asrs r2, r2, #0x10 - ldrh r3, [r0] - adds r2, r2, r3 - strh r2, [r0] - mov r5, sb - asrs r1, r5, #0x10 - lsls r3, r1, #1 - movs r5, #0x98 - lsls r5, r5, #1 - 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, #7 - bgt _0803217C - b _08031FA2 + movs r1, #0x97 + lsls r1, r1, #1 + adds r0, r4, r1 + lsls r2, r5, #0x10 + asrs r2, r2, #0x10 + ldrh r3, [r0] + adds r2, r2, r3 + strh r2, [r0] + mov r5, sb + asrs r1, r5, #0x10 + lsls r3, r1, #1 + movs r5, #0x98 + lsls r5, r5, #1 + 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, #7 + bgt _0803217C + b _08031FA2 _0803217C: - 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 + 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 _0803218C: .4byte 0x086AE5E0 _08032190: .4byte 0x086A3700 _08032194: .4byte 0x08055A84 _08032198: .4byte 0x0000059C - thumb_func_start sub_3219C + thumb_func_start sub_3219C sub_3219C: @ 0x0803219C - push {r4, r5, r6, r7, lr} - sub sp, #0xc - ldr r4, _080321C8 @ =0x0200B0C0 - movs r0, #7 - ldrsb r0, [r4, r0] - cmp r0, #0 - beq _08032208 - movs r0, #0 - strb r0, [r4, #7] - bl sub_C00 - 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 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + ldr r4, _080321C8 @ =0x0200B0C0 + movs r0, #7 + ldrsb r0, [r4, r0] + cmp r0, #0 + beq _08032208 + movs r0, #0 + strb r0, [r4, #7] + bl sub_C00 + 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 0x0200B0C0 _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 + 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 + 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 + 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 sub_C00 - 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 + bl sub_C00 + 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 + 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 + 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 + 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 + 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] + 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] + 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] + 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] + 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 @ =0x0200B0C0 - 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 + ldr r2, _08032348 @ =0x0200B0C0 + 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 0x0200B0C0 _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 + 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] + 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 sub_C00 - ldr r2, _080323BC @ =0x0200B0C0 - 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 + 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 sub_C00 + ldr r2, _080323BC @ =0x0200B0C0 + 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 0x0200B0C0 _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 + 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 sub_C00 - ldr r2, _08032474 @ =0x0200B0C0 - 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 + bl sub_C00 + ldr r2, _08032474 @ =0x0200B0C0 + 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 + 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 @ =0x08055A84 - 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 + ldr r0, _08032478 @ =0x020314E0 + ldr r2, [r0] + ldr r3, _0803247C @ =0x08055A84 + 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] + 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 + 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 0x0200B0C0 _08032478: .4byte 0x020314E0 _0803247C: .4byte 0x08055A84 _08032480: .4byte 0x0000059C - thumb_func_start sub_32484 + 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 @ =0x0200B0C0 - mov sb, r4 - mov ip, sb - ldr r5, _080324DC @ =0x086AE5E0 - mov sl, r5 + 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 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _080324DC: .4byte 0x086AE5E0 _080324E0: .4byte 0x086A4A38 _080324E4: - ldr r1, _080324F0 @ =0x0200B18E - ldrb r0, [r1] + ldr r1, _080324F0 @ =0x0200B18E + ldrb r0, [r1] _080324E8: - lsls r0, r0, #1 - add r0, sl - ldrh r3, [r0] - b _0803257C - .align 2, 0 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + thumb_func_start sub_325E0 sub_325E0: @ 0x080325E0 - push {r4, r5, r6, lr} - bl sub_C00 - ldr r3, _08032600 @ =0x0200B0C0 - 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 + push {r4, r5, r6, lr} + bl sub_C00 + ldr r3, _08032600 @ =0x0200B0C0 + 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 0x0200B0C0 _08032604: - adds r0, r2, #0 - movs r1, #0x32 + 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 + 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 + 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 + 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 + 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 sub_C00 - ldr r2, _080326E4 @ =0x0200B0C0 - 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 + bl sub_C00 + ldr r2, _080326E4 @ =0x0200B0C0 + 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 + 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 @ =0x0200B0C0 - 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] + ldr r5, _080326E8 @ =0x020314E0 + ldr r3, [r5] + ldr r4, _080326EC @ =0x086A4A38 + lsls r0, r6, #0x10 + asrs r0, r0, #0xf + ldr r1, _080326E4 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _080326E8: .4byte 0x020314E0 _080326EC: .4byte 0x086A4A38 _080326F0: .4byte 0x0000059E - thumb_func_start sub_326F4 + 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 + 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 + thumb_func_start sub_3276C sub_3276C: @ 0x0803276C - push {lr} - bl sub_19B90 - bl sub_327C0 - ldr r0, _080327B0 @ =0x0200B0C0 - ldrb r0, [r0, #0xf] - cmp r0, #0 - bne _08032782 - bl sub_328C8 + push {lr} + bl sub_19B90 + bl sub_327C0 + ldr r0, _080327B0 @ =0x0200B0C0 + 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 + 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 + pop {r0} + bx r0 + .align 2, 0 _080327B0: .4byte 0x0200B0C0 _080327B4: .4byte 0x020314E0 _080327B8: .4byte 0x02032EE0 _080327BC: .4byte 0x0000FFFF - thumb_func_start sub_327C0 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + bl sub_472E4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _080328C4: .4byte 0x020314E0 - thumb_func_start sub_328C8 + 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] + 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 @ =0x0200B0C0 - ldrb r1, [r0, #0xf] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - bne _08032906 - bl sub_2F79C + bl sub_2F26C + bl sub_2E67C + bl sub_31144 + ldr r0, _08032910 @ =0x0200B0C0 + 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 + pop {r0} + bx r0 + .align 2, 0 _0803290C: .4byte 0x020314E0 _08032910: .4byte 0x0200B0C0 - thumb_func_start sub_32914 + thumb_func_start sub_32914 sub_32914: @ 0x08032914 - push {lr} - ldr r0, _08032938 @ =0x0200B0C0 - 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 + push {lr} + ldr r0, _08032938 @ =0x0200B0C0 + 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 0x0200B0C0 _0803293C: .4byte 0x020314E0 _08032940: - cmp r0, #4 - beq _08032952 - b _08032956 + cmp r0, #4 + beq _08032952 + b _08032956 _08032946: - bl sub_32B74 - b _08032956 + bl sub_32B74 + b _08032956 _0803294C: - bl sub_329B0 - b _08032956 + bl sub_329B0 + b _08032956 _08032952: - bl sub_1C560 + bl sub_1C560 _08032956: - ldr r0, _08032964 @ =0x020314E0 - ldr r1, [r0] - movs r0, #0x3c - strh r0, [r1, #0x26] + ldr r0, _08032964 @ =0x020314E0 + ldr r1, [r0] + movs r0, #0x3c + strh r0, [r1, #0x26] _0803295E: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _08032964: .4byte 0x020314E0 - thumb_func_start sub_32968 + 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] + 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 + 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 + cmp r0, #4 + beq _080329A6 + b _080329AA _0803299A: - bl sub_32BE4 - b _080329AA + bl sub_32BE4 + b _080329AA _080329A0: - bl sub_329F4 - b _080329AA + bl sub_329F4 + b _080329AA _080329A6: - bl sub_1C5AC + bl sub_1C5AC _080329AA: - pop {r0} - bx r0 + pop {r0} + bx r0 - thumb_func_start sub_329B0 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 _080329F0: .4byte 0x000005F7 - thumb_func_start sub_329F4 + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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] + 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 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08032DE0: .4byte 0x0000132C _08032DE4: .4byte 0x0000FF9A _08032DE8: .4byte 0x000005F7 @@ -100497,389 +100497,389 @@ _08032DEC: .4byte 0x000005FE _08032DF0: .4byte 0x000005FB _08032DF4: .4byte 0x000005FA - thumb_func_start sub_32DF8 + 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] + 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] + 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] + 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] + 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 + 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 + 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 + 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 + 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 @@ -100897,76 +100897,76 @@ _08033124: .4byte 0x081B36A4 _08033128: .4byte 0x05000320 _0803312C: .4byte 0x80000010 - thumb_func_start sub_33130 + 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 + 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 + 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 + .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 + 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 @@ -100974,55 +100974,55 @@ _080331D0: .4byte 0x082EE0E0 _080331D4: .4byte 0x80000050 _080331D8: .4byte 0x0000FFE8 _080331DC: - adds r0, r4, #0 - adds r0, #0xe6 - strh r6, [r0] - ldr r1, _08033204 @ =0x0200B0C0 - 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 + adds r0, r4, #0 + adds r0, #0xe6 + strh r6, [r0] + ldr r1, _08033204 @ =0x0200B0C0 + 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 0x0200B0C0 _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 @ =0x0200B0C0 - ldrh r0, [r1, #0x38] - ldr r0, _08033248 @ =0x00001C10 - strh r0, [r1, #0x38] - ldrh r0, [r1, #0x3a] - ldr r0, _0803324C @ =0x0000030D - strh r0, [r1, #0x3a] + 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 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 @@ -101030,35 +101030,35 @@ _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 @ =0x0200B0C0 - 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 + ldr r3, _08033290 @ =0x020314E0 + ldr r1, [r3] + movs r0, #3 + strb r0, [r1, #0x13] + ldr r2, _08033294 @ =0x0200B0C0 + 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 0x0200B0C0 _08033298: .4byte 0x00000D08 @@ -101066,515 +101066,515 @@ _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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + bl sub_34450 + b _080333C4 + .align 2, 0 _080332D0: .4byte 0x020314E0 _080332D4: .4byte 0x00000386 _080332D8: .4byte 0x0200B0C0 _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 + 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 @ =0x0200B0C0 - 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 + movs r1, #0 + movs r0, #5 + strb r0, [r2, #0x13] + ldr r3, [r3] + strh r1, [r3, #0x18] + ldr r0, _08033330 @ =0x0200B0C0 + 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 0x0200B0C0 _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] + 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] + 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 + 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 + 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 + 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] + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 + 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 0x0200B0C0 - thumb_func_start sub_3342C + 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 + 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 @@ -101588,91 +101588,91 @@ _080336D4: .4byte 0x000003A9 _080336D8: .4byte 0x000003B6 _080336DC: .4byte 0x000003A6 - thumb_func_start sub_336E0 + 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 + 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 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 + 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 + 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 @@ -101680,160 +101680,160 @@ _08033788: .4byte 0x0200B0C0 _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 + .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 + 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 + 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 sub_C00 - 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 sub_C00 - 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 sub_C00 - 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 + 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 sub_C00 + 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 sub_C00 + 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 sub_C00 + 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 + 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 + 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 @@ -101847,507 +101847,507 @@ _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 sub_C00 - b _08033FD8 - .align 2, 0 + 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 sub_C00 + 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 + 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 @ =0x0200B0C0 - 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 + ldr r0, _080339B0 @ =0x0200B0C0 + 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 0x0200B0C0 _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] + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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 + 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] + 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 + 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] + 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 + 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 @@ -102356,387 +102356,387 @@ _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 + 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] + 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] + 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 + 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 + 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] + 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 + 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 + 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 + 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] + 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 + 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 + 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] + 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 + 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 + 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 + 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] + 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 + 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 @@ -102744,183 +102744,183 @@ _08034028: .4byte 0x086AE5EC _0803402C: .4byte 0x000003B6 _08034030: .4byte 0x00000385 _08034034: - movs r0, #7 + 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] + 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 + 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 + 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 + 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 + 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 + 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 @@ -102932,206 +102932,206 @@ _080341B4: .4byte 0x0200B8C0 _080341B8: .4byte 0x000003A6 _080341BC: .4byte 0x000003C6 _080341C0: - movs r0, #0xf0 - strh r0, [r6, #2] - movs r0, #0xb4 + 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 + 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 + 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 + 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 sub_7C0 - 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 @ =0x03005000 - 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 + 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 sub_7C0 + 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 @ =0x03005000 + 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 + 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 0x03005000 _08034354: .4byte 0x086BA0A0 _08034358: .4byte 0x000001FF @@ -103139,113 +103139,113 @@ _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 @ =0x03005000 - 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 + movs r2, #0 + mov r7, sb + lsls r0, r7, #0x10 + ldr r1, _08034438 @ =0x086BA0A0 + mov sb, r1 + ldr r3, _0803443C @ =0x03005000 + 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 + 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 + 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 + 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 0x03005000 _08034440: .4byte 0x000001FF @@ -103253,766 +103253,766 @@ _08034444: .4byte 0xFFFFFE00 _08034448: .4byte 0x000003FF _0803444C: .4byte 0xFFFFFC00 - thumb_func_start sub_34450 + 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 + 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 + 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 + .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 + 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 + 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 + 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] + 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 + 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 + 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 + 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] + 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 + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -104020,279 +104020,279 @@ _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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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] + 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] + 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 + 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 0x0200B0C0 _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 + 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] + 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] + 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] + 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 + 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 @@ -104304,179 +104304,179 @@ _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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _08034D28: .4byte 0x000003E6 _08034D2C: .4byte 0x00000392 _08034D30: - adds r0, #2 + 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 + 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] + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 @@ -104488,109 +104488,109 @@ _08034E54: .4byte 0x000003EA _08034E58: .4byte 0x000003F2 _08034E5C: .4byte 0x03005000 _08034E60: - ldr r3, _08034E68 @ =0x03005000 - ldr r0, [sp] - ldrh r2, [r0, #8] - b _08034E72 - .align 2, 0 + ldr r3, _08034E68 @ =0x03005000 + ldr r0, [sp] + ldrh r2, [r0, #8] + b _08034E72 + .align 2, 0 _08034E68: .4byte 0x03005000 _08034E6C: - ldr r3, _08034F28 @ =0x03005000 - ldr r1, [sp] - ldrh r2, [r1, #8] + ldr r3, _08034F28 @ =0x03005000 + 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 + 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] + 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 + 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 + 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 0x03005000 _08034F2C: .4byte 0x000001FF _08034F30: .4byte 0xFFFFFE00 @@ -104598,153 +104598,153 @@ _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] + movs r0, #0xf0 + ldr r3, [sp] + strh r0, [r3, #2] + movs r0, #0xa0 + strh r0, [r3, #4] _08034F4A: - ldr r3, _08035060 @ =0x0200B0C0 - 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 @ =0x03005000 - ldr r6, _08035078 @ =0xFFFFFE00 - mov sb, r6 + ldr r3, _08035060 @ =0x0200B0C0 + 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 @ =0x03005000 + 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 + 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 + 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 + 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 + 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 0x0200B0C0 _08035064: .4byte 0x040000D4 _08035068: .4byte 0x08494E4C @@ -104760,512 +104760,512 @@ _0803508C: .4byte 0x084FF30C _08035090: .4byte 0x060118A0 _08035094: .4byte 0x80000100 _08035098: - movs r0, #0xb4 - ldr r6, [sp] - strh r0, [r6, #4] + movs r0, #0xb4 + ldr r6, [sp] + strh r0, [r6, #4] _0803509E: - ldr r6, [sp] - adds r6, #8 - ldr r4, _080350E4 @ =0x03005000 - 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] + ldr r6, [sp] + adds r6, #8 + ldr r4, _080350E4 @ =0x03005000 + 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 + 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 0x03005000 _080350E8: .4byte 0x000001FF _080350EC: .4byte 0xFFFFFE00 - thumb_func_start sub_350F0 + 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 + 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 + cmp r4, #2 + beq _08035164 + b _080351A0 _08035122: - movs r0, #0x41 - strh r0, [r3, #0x18] - strb r1, [r3, #0x17] - ldr r1, _08035134 @ =0x0200B0C0 - ldrh r0, [r1, #0x38] - movs r0, #0x9f - strh r0, [r1, #0x38] - b _080351A0 - .align 2, 0 + movs r0, #0x41 + strh r0, [r3, #0x18] + strb r1, [r3, #0x17] + ldr r1, _08035134 @ =0x0200B0C0 + ldrh r0, [r1, #0x38] + movs r0, #0x9f + strh r0, [r1, #0x38] + b _080351A0 + .align 2, 0 _08035134: .4byte 0x0200B0C0 _08035138: - ldrh r0, [r3, #0x18] - cmp r0, #0 - beq _080351A0 - subs r0, #1 - strh r0, [r3, #0x18] - ldr r2, _08035160 @ =0x0200B0C0 - 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 + ldrh r0, [r3, #0x18] + cmp r0, #0 + beq _080351A0 + subs r0, #1 + strh r0, [r3, #0x18] + ldr r2, _08035160 @ =0x0200B0C0 + 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 0x0200B0C0 _08035164: - ldrh r0, [r3, #0x18] - cmp r0, #0x1d - bhi _08035170 - adds r0, #1 - strh r0, [r3, #0x18] - b _080351A0 + 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 @ =0x0200B0C0 - 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 + movs r0, #0 + strh r2, [r3, #0x18] + strb r0, [r3, #0x17] + ldr r1, _08035194 @ =0x0200B0C0 + 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 0x0200B0C0 _08035198: - bl sub_438 - ldr r0, [r5] - strb r4, [r0, #0x1d] + bl sub_438 + ldr r0, [r5] + strb r4, [r0, #0x1d] _080351A0: - pop {r4, r5} - pop {r0} - bx r0 + pop {r4, r5} + pop {r0} + bx r0 - thumb_func_start sub_351A8 + 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] + 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 @ =0x0200B0C0 - ldrb r0, [r1, #4] - subs r0, #2 - cmp r0, #4 - bls _080351EC - b _08035314 + ldr r1, _08035200 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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 + .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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + ldr r3, _080354A0 @ =0x05F5E0FF _08035312: - mov r8, r3 + 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 @ =0x03005000 - ldr r2, _080354BC @ =0xFFFFFE00 - mov ip, r2 + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r1, _080354BC @ =0xFFFFFE00 - mov ip, r1 + 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 @ =0x03005000 + 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 + 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 @ =0x0200B0C0 - ldrb r0, [r3, #4] - subs r0, #2 - cmp r0, #4 - bls _08035494 - b _08035678 + 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 @ =0x0200B0C0 + 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 + 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 @@ -105282,212 +105282,212 @@ _080354D0: .4byte 0x00002710 _080354D4: .4byte 0x0200B0C0 _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 + .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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 @@ -105495,211 +105495,211 @@ _08035694: .4byte 0x80000020 _08035698: .4byte 0x000005F6 _0803569C: .4byte 0x06017380 - thumb_func_start sub_356A0 + 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 + 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 + .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 + 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 @ =0x03005000 - 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] + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r1, _080357B0 @ =0xFFFFFE00 - mov ip, r1 + 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 @ =0x03005000 + 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 + 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 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _080357A4: .4byte 0x000003E6 _080357A8: .4byte 0x03005000 _080357AC: .4byte 0x000001FF _080357B0: .4byte 0xFFFFFE00 _080357B4: .4byte 0x0200BC58 - thumb_func_start sub_357B8 + thumb_func_start sub_357B8 sub_357B8: @ 0x080357B8 - push {r4, r5, lr} - bl m4aMPlayAllStop - bl sub_D10 - ldr r2, _08035844 @ =0x0200B0C0 - 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] + push {r4, r5, lr} + bl m4aMPlayAllStop + bl sub_D10 + ldr r2, _08035844 @ =0x0200B0C0 + 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] + 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 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08035844: .4byte 0x0200B0C0 _08035848: .4byte 0x020314E0 _0803584C: .4byte 0x00000296 @@ -105708,257 +105708,257 @@ _08035854: .4byte 0x000006C4 _08035858: .4byte 0x00000714 _0803585C: .4byte 0x000006EE - thumb_func_start sub_35860 + thumb_func_start sub_35860 sub_35860: @ 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 + 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 + 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 + 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 + 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 @@ -105978,319 +105978,319 @@ _08035A98: .4byte 0x081B36A4 _08035A9C: .4byte 0x05000320 _08035AA0: .4byte 0x80000010 - thumb_func_start sub_35AA4 + 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 + 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 + 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 + .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 + 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] + 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 + 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 @ =0x0200B0C0 - 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 + ldr r1, _08035B54 @ =0x0200B0C0 + 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 0x0200B0C0 _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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 _08035BAC: .4byte 0x00001C10 _08035BB0: - ldr r1, _08035BC0 @ =0x0200B0C0 - 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 + ldr r1, _08035BC0 @ =0x0200B0C0 + 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 0x0200B0C0 _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 + 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 @ =0x0200B0C0 - 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 + movs r1, #0 + movs r0, #3 + strb r0, [r3, #0x13] + ldr r2, [r2] + strh r1, [r2, #0x18] + ldr r3, _08035C20 @ =0x0200B0C0 + 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 0x0200B0C0 _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] + 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] + 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 + 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 + 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 + 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] + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 + 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 @@ -106298,320 +106298,320 @@ _08035D48: .4byte 0x0200B0C0 _08035D4C: .4byte 0x00000404 _08035D50: .4byte 0x00000406 - thumb_func_start sub_35D54 + 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 + 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 + 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 + .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 sub_C00 - mov r1, r8 - ldr r3, [r1] - ldr r2, _08035E2C @ =0x086AE9E4 - ldr r1, _08035E30 @ =0x0200B0C0 - 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 + 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 sub_C00 + mov r1, r8 + ldr r3, [r1] + ldr r2, _08035E2C @ =0x086AE9E4 + ldr r1, _08035E30 @ =0x0200B0C0 + 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 0x0200B0C0 _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 + 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] + 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 + 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] + 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 + 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 + 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 + 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 + 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 + 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] + 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 sub_C00 - ldr r1, _08035FEC @ =0x0200B0C0 - 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] + 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 sub_C00 + ldr r1, _08035FEC @ =0x0200B0C0 + 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 + 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 + 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 + 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 + ldr r0, _08035FF8 @ =0x02032F20 + ldr r1, _08036004 @ =0x086A1B9C + bl MPlayStart + bl _08036C9E + .align 2, 0 _08035FE8: .4byte 0x020314E0 _08035FEC: .4byte 0x0200B0C0 _08035FF0: .4byte 0x086AE9E4 @@ -106621,81 +106621,81 @@ _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 + 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 @@ -106703,101 +106703,101 @@ _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 + 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 @@ -106806,179 +106806,179 @@ _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 + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -106986,269 +106986,269 @@ _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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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] + 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 + 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 + 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 + ldr r0, _0803653C @ =0x02032F20 + ldr r1, _08036540 @ =0x086A1C00 + bl MPlayStart + b _08036C9E + .align 2, 0 _0803652C: .4byte 0x000003E2 _08036530: .4byte 0x020314E0 _08036534: .4byte 0x086AE718 @@ -107256,344 +107256,344 @@ _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 + 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 + 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 + 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] + 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] + 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 sub_C00 - ldr r1, _08036618 @ =0x0200B0C0 - 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 + bl sub_C00 + ldr r1, _08036618 @ =0x0200B0C0 + 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 0x0200B0C0 _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 + 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 + 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 + 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 + 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 + 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] + 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] + 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 sub_C00 - ldr r1, _08036708 @ =0x0200B0C0 - 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 + bl sub_C00 + ldr r1, _08036708 @ =0x0200B0C0 + 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 0x0200B0C0 _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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 _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 + 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 + 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 + 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 + 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] + 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 + 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 @@ -107601,123 +107601,123 @@ _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 + 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] + 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 + 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 + 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 + 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 + 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 @@ -107725,609 +107725,609 @@ _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 + 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 + 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 + 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 @ =0x0200B0C0 - 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 + movs r0, #0xa5 + lsls r0, r0, #2 + adds r1, r4, r0 + movs r0, #3 + strb r0, [r1] + ldr r1, _080369D8 @ =0x0200B0C0 + 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 0x0200B0C0 _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 + 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 + 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 + 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 sub_C00 - mov r5, r8 - ldr r2, [r5] - ldr r1, _08036A94 @ =0x0200B0C0 - 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 + 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 sub_C00 + mov r5, r8 + ldr r2, [r5] + ldr r1, _08036A94 @ =0x0200B0C0 + 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 0x0200B0C0 _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 + 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 + 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 sub_C00 - mov r1, r8 - ldr r2, [r1] - ldr r1, _08036B14 @ =0x0200B0C0 - 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 + 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 sub_C00 + mov r1, r8 + ldr r2, [r1] + ldr r1, _08036B14 @ =0x0200B0C0 + 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 0x0200B0C0 _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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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] + 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 + 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 + 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] + 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] + 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] + 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 + 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 + 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 + 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 + 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 @@ -108343,117 +108343,117 @@ _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 + 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 + 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] + 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 + 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 @@ -108462,121 +108462,121 @@ _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 + 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 + ldr r7, _08036FD8 @ =0x000003F7 _08036F16: - adds r1, r4, r7 - movs r0, #1 + adds r1, r4, r7 + movs r0, #1 _08036F1A: - strb r0, [r1] - movs r7, #0 - ldr r0, _08036FDC @ =0x03005000 - 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 + strb r0, [r1] + movs r7, #0 + ldr r0, _08036FDC @ =0x03005000 + 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 + 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 0x03005000 _08036FE0: .4byte 0x086B9DAC @@ -108585,159 +108585,159 @@ _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 + 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 + 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] + 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 + 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 @ =0x03005000 - mov ip, r0 - ldr r1, [sp, #4] - asrs r1, r1, #0x10 - mov sb, r1 - movs r2, #0xf - mov sl, r2 + 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 @ =0x03005000 + 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 + 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 @@ -108747,110 +108747,110 @@ _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 + 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 + 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] + 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 + 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 + 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 + 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 @@ -108860,305 +108860,305 @@ _0803721C: .4byte 0x06010BA0 _08037220: .4byte 0x80000080 _08037224: .4byte 0x000003EA _08037228: - movs r0, #0 - strh r0, [r5, #2] - movs r0, #0xb4 + 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 + 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 + 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] + 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 + 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 + 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 + 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 sub_C00 - 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] + ldr r3, _08037484 @ =0x0000040A + mov r8, r3 + adds r0, r1, r3 + ldrh r5, [r0] + cmp r5, #0 + bne _08037318 + bl sub_C00 + 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] + 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 + 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 + 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 + 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] + 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 + 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 + 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 @@ -109175,441 +109175,441 @@ _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 + 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] + mov r6, sl + strh r0, [r6, #2] + movs r0, #0xb4 + strh r0, [r6, #4] _080374C8: - mov r5, sl - adds r5, #8 - ldr r4, _08037510 @ =0x03005000 - 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] + mov r5, sl + adds r5, #8 + ldr r4, _08037510 @ =0x03005000 + 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 + 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 0x03005000 _08037514: .4byte 0x000001FF _08037518: .4byte 0xFFFFFE00 - thumb_func_start sub_3751C + 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 + 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] + 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 + 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 + 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] + ldr r3, _08037804 @ =0x000003F5 + adds r0, r1, r3 + strb r2, [r0] _080375AE: - ldr r3, _08037808 @ =0x0200B0C0 - 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 + ldr r3, _08037808 @ =0x0200B0C0 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 0x0200B0C0 _0803780C: .4byte 0x0000040E @@ -109630,495 +109630,495 @@ _08037844: .4byte 0x040000D4 _08037848: .4byte 0x06001000 _0803784C: .4byte 0x80000280 - thumb_func_start sub_37850 + 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 @ =0x03005000 - ldr r3, _08037C34 @ =0xFFFFFE00 - mov sb, r3 + 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 @ =0x03005000 + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 + 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 + 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 @ =0x03005000 - ldr r3, _08037C34 @ =0xFFFFFE00 - mov r8, r3 + 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 @ =0x03005000 + 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] + 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 + 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] + 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 @ =0x03005000 - 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 + movs r2, #0 + mov r3, sb + lsls r0, r3, #0x10 + ldr r5, _08037C30 @ =0x03005000 + 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 + 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] + 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 @ =0x03005000 - 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 + movs r2, #0 + mov r3, sb + lsls r0, r3, #0x10 + ldr r5, _08037C30 @ =0x03005000 + 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 + 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 @@ -110133,399 +110133,399 @@ _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 + 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] + 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 @ =0x03005000 - 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 + movs r2, #0 + mov r3, sb + lsls r0, r3, #0x10 + ldr r5, _08037F68 @ =0x03005000 + 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 + 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] + 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 @ =0x03005000 - 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 + movs r2, #0 + mov r3, sb + lsls r0, r3, #0x10 + ldr r5, _08037F68 @ =0x03005000 + 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] + 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 @ =0x03005000 - 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 + movs r2, #0 + mov r3, sb + lsls r0, r3, #0x10 + ldr r5, _08037F68 @ =0x03005000 + 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 @ =0x03005000 - 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 @ =0x03005000 - adds r0, r0, r2 - movs r1, #0xc8 - strb r1, [r0] - b _08037FA4 - .align 2, 0 + 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 @ =0x03005000 + 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 @ =0x03005000 + adds r0, r0, r2 + movs r1, #0xc8 + strb r1, [r0] + b _08037FA4 + .align 2, 0 _08037F58: .4byte 0x0200C5B0 _08037F5C: .4byte 0x020314E0 _08037F60: .4byte 0x0000041C @@ -110542,176 +110542,176 @@ _08037F88: .4byte 0x0000041F _08037F8C: .4byte 0x0200CAB8 _08037F90: .4byte 0x0000132C _08037F94: - ldrh r1, [r6, #8] - lsls r1, r1, #3 - ldr r3, _08037FC0 @ =0x03005000 - adds r1, r1, r3 - ldrb r0, [r6, #4] - ldrb r7, [r7, #4] - adds r0, r0, r7 - strb r0, [r1] + ldrh r1, [r6, #8] + lsls r1, r1, #3 + ldr r3, _08037FC0 @ =0x03005000 + 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 + 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 0x03005000 _08037FC4: .4byte 0x0200C890 _08037FC8: .4byte 0x020314E0 _08037FCC: - movs r0, #0 + movs r0, #0 _08037FCE: - strh r0, [r1] - movs r5, #0 - mov r8, r5 - ldr r0, _08038048 @ =0x020314E0 - mov sl, r0 - ldr r5, _0803804C @ =0x03005000 - ldr r1, _08038050 @ =0xFFFFFE00 - mov ip, r1 + strh r0, [r1] + movs r5, #0 + mov r8, r5 + ldr r0, _08038048 @ =0x020314E0 + mov sl, r0 + ldr r5, _0803804C @ =0x03005000 + 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 + 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 + 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 0x03005000 _08038050: .4byte 0xFFFFFE00 _08038054: .4byte 0x0000042A _08038058: .4byte 0x000005FC _0803805C: - movs r0, #0xf0 - strh r0, [r6, #2] - movs r0, #0xb4 + 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 + 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 @@ -110719,668 +110719,668 @@ _080380F4: .4byte 0x0200C948 _080380F8: .4byte 0x020314E0 _080380FC: .4byte 0x00000412 _08038100: - movs r0, #0 + movs r0, #0 _08038102: - strh r0, [r1] - movs r5, #0 - mov r8, r5 + 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 + 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 + 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 @ =0x03005000 - 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 @ =0x03005000 - 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 @ =0x03005000 + 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 @ =0x03005000 + 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 0x03005000 _08038208: .4byte 0x000001FF _0803820C: .4byte 0xFFFFFE00 _08038210: .4byte 0x000003FF _08038214: .4byte 0xFFFFFC00 - thumb_func_start sub_38218 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 sub_358 - 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 + 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 sub_358 + 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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -111408,134 +111408,134 @@ _08038690: .4byte 0x80000080 _08038694: .4byte 0x081B36A4 _08038698: .4byte 0x05000320 - thumb_func_start sub_3869C + 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 + 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 + 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 + .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 + 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] + 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 + 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 + movs r0, #0 + strb r0, [r4, #0x1a] + b _0803899C + .align 2, 0 _080387A4: .4byte 0x00000333 _080387A8: .4byte 0xFFFFFE0C _080387AC: .4byte 0x00000382 @@ -111545,61 +111545,61 @@ _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 + 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 + 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 @ =0x0200B0C0 - 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 + movs r1, #0 + movs r0, #3 + strb r0, [r3, #0x13] + ldr r2, [r2] + strh r1, [r2, #0x18] + ldr r3, _08038830 @ =0x0200B0C0 + 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 0x0200B0C0 _08038834: .4byte 0x040000D4 _08038838: .4byte 0x0813C874 @@ -111607,103 +111607,103 @@ _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] + 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] + 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 + 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 + 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] + 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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 _08038914: .4byte 0x040000D4 @@ -111711,226 +111711,226 @@ _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] + 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] + 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 + 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 + 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 + 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] + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 + 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 0x0200B0C0 - thumb_func_start sub_38A20 + 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] + 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] + 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 + 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 + 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 @@ -111941,112 +111941,112 @@ _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 + .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 + 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 + 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 @@ -112056,87 +112056,87 @@ _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] + 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] + 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] + 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 + 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 + subs r0, #1 + strh r0, [r1] + bl _08039562 + .align 2, 0 _08038CC0: .4byte 0x000003DD _08038CC4: .4byte 0x000003E1 _08038CC8: .4byte 0x081B0DE4 @@ -112146,70 +112146,70 @@ _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 + 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] + 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 + 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 + 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 @@ -112219,64 +112219,64 @@ _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 + 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] + 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 + 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 + 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 @@ -112285,232 +112285,232 @@ _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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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] + 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 + 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 + ldr r0, _08038FDC @ =0x02032F20 + ldr r1, _08038FE0 @ =0x086A1FE4 + bl MPlayStart + b _08039562 + .align 2, 0 _08038FC8: .4byte 0x000003E1 _08038FCC: .4byte 0x000003DD _08038FD0: .4byte 0x020314E0 @@ -112519,114 +112519,114 @@ _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 + 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] + 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] + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 + 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 + 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 @@ -112637,70 +112637,70 @@ _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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 @@ -112709,57 +112709,57 @@ _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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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] + 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 + 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 0x0200B0C0 _080391DC: .4byte 0x00000392 @@ -112768,66 +112768,66 @@ _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 + 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] + 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 + 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 + 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 @@ -112835,220 +112835,220 @@ _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 + 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] + 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] + 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] + 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 + 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 + 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 sub_C00 - 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 sub_C00 - 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] + 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 sub_C00 + 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 sub_C00 + 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 + 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 + 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] + 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] + 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 + 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 @@ -113056,190 +113056,190 @@ _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 + 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 + 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 + 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 + 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] + 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] + 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] + 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 + 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 + 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 + 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 + 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 @@ -113251,65 +113251,65 @@ _080395CC: .4byte 0x00001278 _080395D0: .4byte 0x02032EE0 _080395D4: .4byte 0x0000FFFF - thumb_func_start sub_395D8 + 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 + 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 + 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 @@ -113319,94 +113319,94 @@ _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 + 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 + 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 @@ -113416,325 +113416,325 @@ _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 + 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 + 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 @ =0x03005000 - ldr r3, _0803980C @ =0xFFFFFE00 - mov r8, r3 - movs r6, #0xb0 + 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 @ =0x03005000 + 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 + 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 0x03005000 _0803980C: .4byte 0xFFFFFE00 _08039810: - cmp r0, #1 - bne _0803981C - movs r3, #0xe - mov r4, r8 - lsls r0, r4, #0x10 - b _0803983C + 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 + 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 + 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 @ =0x03005000 - 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 + movs r2, #0 + lsls r3, r3, #4 + mov r8, r3 + ldr r3, _080399BC @ =0x086B92FC + mov sl, r3 + ldr r6, _080399C0 @ =0x03005000 + 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 + 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 + 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] + 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 @ =0x03005000 - ldr r4, _080399C4 @ =0xFFFFFE00 - mov r8, r4 + 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 @ =0x03005000 + 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 + 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 0x03005000 _080399C4: .4byte 0xFFFFFE00 @@ -113749,298 +113749,298 @@ _080399E4: .4byte 0x083C13AC _080399E8: .4byte 0x06012420 _080399EC: .4byte 0x80000060 _080399F0: - movs r1, #0 - strh r1, [r4] - ldr r0, _08039A00 @ =0x0200B0C0 - ldr r2, _08039A04 @ =0x000015A8 - adds r0, r0, r2 - strh r1, [r0] - b _08039A2C - .align 2, 0 + movs r1, #0 + strh r1, [r4] + ldr r0, _08039A00 @ =0x0200B0C0 + ldr r2, _08039A04 @ =0x000015A8 + adds r0, r0, r2 + strh r1, [r0] + b _08039A2C + .align 2, 0 _08039A00: .4byte 0x0200B0C0 _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] + 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 + 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 + 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 + 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 + 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] + 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] + 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 @ =0x03005000 - movs r0, #3 - mov r8, r0 - movs r1, #0xd - rsbs r1, r1, #0 - mov sb, r1 + 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 @ =0x03005000 + 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] + 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 @ =0x03005000 - movs r0, #3 - mov r8, r0 - movs r1, #0xd - rsbs r1, r1, #0 - mov sb, r1 - ldr r3, _08039C40 @ =0xFFFFFE00 - mov sl, r3 + movs r2, #0 + ldr r5, _08039C34 @ =0x03005000 + 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 + 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 + 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 + 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 + 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 @@ -114052,67 +114052,67 @@ _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 + .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 + 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 + 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 @@ -114125,66 +114125,66 @@ _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 + 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] + 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 + 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 + 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 @@ -114192,64 +114192,64 @@ _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 + 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] + 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 + 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 + 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 @@ -114257,65 +114257,65 @@ _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 + 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] + 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 + 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 + 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 @@ -114323,192 +114323,192 @@ _08039EA4: .4byte 0x00000449 _08039EA8: .4byte 0x00000446 _08039EAC: .4byte 0x00000447 _08039EB0: - ldr r0, _08039EE0 @ =0x0200B0C0 - ldr r6, _08039EE4 @ =0x00000E78 - adds r0, r0, r6 - movs r1, #0 - strh r1, [r0] + ldr r0, _08039EE0 @ =0x0200B0C0 + 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 + 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 + ldr r0, _08039EF0 @ =0x00000111 + bl m4aSongNumStart + b _08039FF4 + .align 2, 0 _08039EE0: .4byte 0x0200B0C0 _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 + 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 + 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] + 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] + 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 + 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 + 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 + 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 @@ -114521,175 +114521,175 @@ _0803A048: .4byte 0x80000010 _0803A04C: .4byte 0x00000383 _0803A050: .4byte 0x0000132C _0803A054: - ldr r4, _0803A194 @ =0x00000383 - adds r1, r3, r4 - movs r0, #0 - strb r0, [r1] + 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] + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 + 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 + movs r2, #0 - thumb_func_start sub_3A150 + 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 + 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 + 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 + 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 @@ -114707,120 +114707,120 @@ _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 + .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 + 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 + 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 sub_C00 - 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 @ =0x0200B0C0 - 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] + 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 sub_C00 + 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 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 @@ -114830,228 +114830,228 @@ _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 + 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 + 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] + 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 + 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 @@ -115065,193 +115065,193 @@ _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 + 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] + 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 + 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 + 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 + movs r0, #0xc + bl sub_11B0 + b _0803A8A2 + .align 2, 0 _0803A668: .4byte 0x020314E0 _0803A66C: .4byte 0x0000132C _0803A670: .4byte 0xFFFFE000 @@ -115261,172 +115261,172 @@ _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 + 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 + 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 @@ -115435,264 +115435,264 @@ _0803A7FC: .4byte 0x0000045C _0803A800: .4byte 0x0000045E _0803A804: .4byte 0x00004E20 _0803A808: - movs r3, #0 - strh r3, [r1] - ldr r3, [r6] - ldr r0, _0803A84C @ =0x0200B0C0 - 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 + movs r3, #0 + strh r3, [r1] + ldr r3, [r6] + ldr r0, _0803A84C @ =0x0200B0C0 + 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 0x0200B0C0 _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 + 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 + 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] + 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 sub_C00 - 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 @ =0x0200B0C0 - 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] + 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 sub_C00 + 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 @ =0x0200B0C0 + 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 + 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 @@ -115709,114 +115709,114 @@ _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] + 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 @ =0x03005000 - 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] + ldr r6, [sp] + adds r6, #8 + ldr r4, _0803AB38 @ =0x03005000 + 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 + 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 + 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 + 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 sub_7C0 - rsbs r4, r5, #0 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #2 - bl sub_7C0 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #3 - bl sub_7C0 - adds r0, r4, #0 - adds r1, r4, #0 - movs r2, #4 - bl sub_7C0 - 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 + lsls r5, r6, #0x10 + asrs r5, r5, #0x10 + adds r0, r5, #0 + adds r1, r5, #0 + movs r2, #1 + bl sub_7C0 + rsbs r4, r5, #0 + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + adds r0, r4, #0 + adds r1, r5, #0 + movs r2, #2 + bl sub_7C0 + adds r0, r5, #0 + adds r1, r4, #0 + movs r2, #3 + bl sub_7C0 + adds r0, r4, #0 + adds r1, r4, #0 + movs r2, #4 + bl sub_7C0 + 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 0x03005000 _0803AB3C: .4byte 0x000001FF _0803AB40: .4byte 0xFFFFFE00 @@ -115824,271 +115824,271 @@ _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 + 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 + 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] + 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 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 @ =0x03005000 - ldr r0, _0803AD7C @ =0xFFFFFE00 - mov sl, r0 - movs r1, #0xf - rsbs r1, r1, #0 - mov r8, r1 + 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 @ =0x03005000 + 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 + 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 @ =0x0200B0C0 - ldr r2, _0803AD98 @ =0x00000E78 - adds r4, r5, r2 - ldrh r0, [r4] - cmp r0, #0 - bne _0803AD2A - movs r0, #8 - bl sub_11B0 + 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 @ =0x0200B0C0 + 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 + 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] + 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 + 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 @@ -116109,120 +116109,120 @@ _0803AD94: .4byte 0x00000454 _0803AD98: .4byte 0x00000E78 _0803AD9C: .4byte 0x00001438 - thumb_func_start sub_3ADA0 + 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 @ =0x03005000 - ldr r1, _0803AE0C @ =0xFFFFFE00 - mov ip, r1 + 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 @ =0x03005000 + 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 + 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 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0803AE04: .4byte 0x0200C4F8 _0803AE08: .4byte 0x03005000 _0803AE0C: .4byte 0xFFFFFE00 _0803AE10: .4byte 0x000001FF - thumb_func_start sub_3AE14 + 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 + 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 @@ -116234,276 +116234,276 @@ _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] + 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 + 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 @ =0x0200B0C0 - 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 @ =0x03005000 - mov r0, sb - asrs r0, r0, #0xd - mov r8, r0 - ldr r1, _0803B108 @ =0x086AEEFE - mov sb, r1 - ldr r2, _0803B10C @ =0xFFFFFC00 - mov sl, r2 + 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 @ =0x0200B0C0 + 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 @ =0x03005000 + 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 + 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 @ =0x03005000 - ldr r3, _0803B118 @ =0xFFFFFE00 - mov r8, r3 + 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 @ =0x03005000 + 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 @ =0x0200B0C0 - movs r2, #0xdc - lsls r2, r2, #4 - adds r1, r0, r2 - movs r0, #0 - strh r0, [r1] + 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 @ =0x0200B0C0 + 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 + 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 @@ -116528,396 +116528,396 @@ _0803B114: .4byte 0x000001FF _0803B118: .4byte 0xFFFFFE00 _0803B11C: .4byte 0x0200BE80 - thumb_func_start sub_3B120 + 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 + 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 + 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 + 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 + 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 + 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 @@ -116947,157 +116947,157 @@ _0803B490: .4byte 0x081B36A4 _0803B494: .4byte 0x05000320 _0803B498: .4byte 0x80000010 - thumb_func_start sub_3B49C + 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 + 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 + 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 + .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 + 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] + 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 + 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 + 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 + 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 + 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 @ =0x0200B0C0 - 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 + movs r1, #0 + movs r0, #3 + strb r0, [r3, #0x13] + ldr r2, [r2] + strh r1, [r2, #0x18] + ldr r3, _0803B5D4 @ =0x0200B0C0 + 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 0x0200B0C0 _0803B5D8: .4byte 0x040000D4 _0803B5DC: .4byte 0x0813E894 @@ -117105,103 +117105,103 @@ _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] + 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] + 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 + 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 + 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] + 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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 _0803B6B8: .4byte 0x040000D4 @@ -117209,213 +117209,213 @@ _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] + 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] + 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 + 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 + 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 + 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] + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 + 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 0x0200B0C0 - thumb_func_start sub_3B7C4 + 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] + 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] + 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 + 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 + 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 @@ -117425,52 +117425,52 @@ _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 + .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 + 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 @@ -117478,245 +117478,245 @@ _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 + 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 + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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] + 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 + 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 + subs r0, #1 + bl _0803C474 + .align 2, 0 _0803BAF8: .4byte 0x000003DD _0803BAFC: .4byte 0x000003E1 _0803BB00: .4byte 0x020314E0 @@ -117731,362 +117731,362 @@ _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 + 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 + 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 + 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] + 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 + 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 + 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 + 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] + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 @ =0x0200B0C0 - 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 sub_C00 - 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] + 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 @ =0x0200B0C0 + 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 sub_C00 + 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 + 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 @@ -118103,195 +118103,195 @@ _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 + 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 + 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 + 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 + 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 + 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 + movs r0, #2 + strb r0, [r1] + ldr r0, [r5] + add r0, r8 + ldr r1, _0803BEEC @ =0x0000053C _0803BEC0: - strh r1, [r0] + 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 + 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 + 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 + 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] + 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 + 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 + 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 @ =0x0200B0C0 - 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 + ldr r0, _0803BFC0 @ =0x0200B0C0 + 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 @@ -118302,162 +118302,162 @@ _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 + 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] + 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 + 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 + 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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 @@ -118466,60 +118466,60 @@ _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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 + 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 + ldr r3, _0803C1B8 @ =0x00000486 + adds r1, r2, r3 + movs r0, #1 + b _0803C474 + .align 2, 0 _0803C19C: .4byte 0x000003E2 _0803C1A0: .4byte 0x00000387 _0803C1A4: .4byte 0x0200B0C0 @@ -118529,259 +118529,259 @@ _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 + 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 + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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] + 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 + 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] + 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 + 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 + 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 + 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 @@ -118789,136 +118789,136 @@ _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 + 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] + 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] + 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] + 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 + 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] + 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 + 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 + 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 @@ -118926,160 +118926,160 @@ _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 + 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] + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _0803C608: .4byte 0x000004CF @@ -119092,84 +119092,84 @@ _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 + 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] + 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] + 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 + 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 + 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 @@ -119178,166 +119178,166 @@ _0803C6D4: .4byte 0x000004C9 _0803C6D8: .4byte 0x02032EE0 _0803C6DC: .4byte 0x0000FFFF - thumb_func_start sub_3C6E0 + 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 + 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] + 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] + 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 @ =0x03005000 - ldr r3, _0803C848 @ =0xFFFFFE00 - mov r8, r3 - movs r6, #0xb0 + 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 @ =0x03005000 + 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 + 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 @@ -119350,406 +119350,406 @@ _0803C840: .4byte 0x00000389 _0803C844: .4byte 0x03005000 _0803C848: .4byte 0xFFFFFE00 _0803C84C: - cmp r0, #1 - bne _0803C8FC - movs r2, #0 - mov r4, r8 - lsls r0, r4, #0x10 - ldr r6, _0803C8EC @ =0x03005000 - 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 + cmp r0, #1 + bne _0803C8FC + movs r2, #0 + mov r4, r8 + lsls r0, r4, #0x10 + ldr r6, _0803C8EC @ =0x03005000 + 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 + 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 0x03005000 _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 @ =0x03005000 - 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 + cmp r0, #3 + bne _0803C9AC + movs r2, #0 + mov r6, r8 + lsls r0, r6, #0x10 + ldr r6, _0803C99C @ =0x03005000 + 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 + 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 0x03005000 _0803C9A0: .4byte 0xFFFFFE00 _0803C9A4: .4byte 0x086B65EA _0803C9A8: .4byte 0x000001FF _0803C9AC: - movs r2, #0 - mov r6, r8 - lsls r0, r6, #0x10 - ldr r1, _0803CB6C @ =0x03005000 - 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 + movs r2, #0 + mov r6, r8 + lsls r0, r6, #0x10 + ldr r1, _0803CB6C @ =0x03005000 + 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 + 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 + 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] + 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 + 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 + 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 @ =0x03005000 - 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 @ =0x03005000 - 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 @ =0x03005000 - 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 @ =0x0200B0C0 - 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 + 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 @ =0x03005000 + 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 @ =0x03005000 + 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 @ =0x03005000 + 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 @ =0x0200B0C0 + 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 0x03005000 _0803CB70: .4byte 0xFFFFFE00 _0803CB74: .4byte 0x086B65EA @@ -119762,270 +119762,270 @@ _0803CB8C: .4byte 0x086B6512 _0803CB90: .4byte 0x000005A4 _0803CB94: .4byte 0x0200B0C0 _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] + 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 + 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 + 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 + 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 + 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] + 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] + 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 @ =0x03005000 - movs r6, #3 - mov r8, r6 - movs r7, #0xd - rsbs r7, r7, #0 - mov sb, r7 + movs r2, #0 + ldr r4, _0803CDA0 @ =0x0200BA30 + mov ip, r4 + ldr r5, _0803CDA4 @ =0x03005000 + 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] + 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 @ =0x03005000 - movs r7, #3 - mov r8, r7 - movs r0, #0xd - rsbs r0, r0, #0 - mov sb, r0 - ldr r1, _0803CDB0 @ =0xFFFFFE00 - mov ip, r1 + movs r2, #0 + ldr r5, _0803CDA4 @ =0x03005000 + 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 + 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 + 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 + 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 @@ -120038,427 +120038,427 @@ _0803CDB4: .4byte 0x0200C4F8 _0803CDB8: .4byte 0x00000486 _0803CDBC: .4byte 0x00000257 _0803CDC0: - cmp r1, #5 - bgt _0803CDC6 - b _0803CEBE + 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 + 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 + 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 + 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] + 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 + 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] + 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 + 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 + 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 + 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 + ldrh r0, [r2, #4] + cmp r0, #0 + beq _0803CEC2 + movs r0, #0x3c + strh r0, [r1] + b _0803CEC2 _0803CEBE: - movs r6, #4 - mov sl, r6 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 _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] + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -120477,234 +120477,234 @@ _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 + 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 + 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 + ldrh r0, [r6] + adds r0, #0x78 _0803D1BC: - strh r0, [r6] + strh r0, [r6] _0803D1BE: - ldrh r0, [r7] - adds r0, #0xf0 + ldrh r0, [r7] + adds r0, #0xf0 _0803D1C2: - strh r0, [r7] - movs r0, #0x90 - lsls r0, r0, #1 - bl m4aSongNumStart + 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 @ =0x0200B0C0 - ldr r6, _0803D314 @ =0x000012C8 - adds r0, r0, r6 - strh r7, [r0] + 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 @ =0x0200B0C0 + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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] + 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 + 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 + 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 + 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 0x0200B0C0 @@ -120719,187 +120719,187 @@ _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 + .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 sub_C00 - 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 sub_C00 - 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 + 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 sub_C00 + 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 sub_C00 + 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] + 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 + 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] + 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 + 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 @@ -120913,73 +120913,73 @@ _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] + 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 + 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 + 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 + 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 @@ -120987,142 +120987,142 @@ _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 + 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 + 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] + 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 + 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 + 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 + 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 + 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 @@ -121132,123 +121132,123 @@ _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 + 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 + 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 + 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 + 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 + 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 @@ -121257,122 +121257,122 @@ _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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -121381,301 +121381,301 @@ _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 + 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 + 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 + 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 + 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] + 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 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 @ =0x03005000 - ldr r1, _0803DB44 @ =0xFFFFFE00 - mov r8, r1 + 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 @ =0x03005000 + 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] + 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 + 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] + 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 + 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 + 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 + 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 0x0200B0C0 @@ -121697,692 +121697,692 @@ _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 + .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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + ldr r0, _0803DEA4 @ =0x00000123 + bl m4aSongNumStart _0803DE98: - movs r0, #7 - bl sub_11B0 - b _0803DF08 - .align 2, 0 + 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 + 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 + 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 @ =0x0200B0C0 - 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] + ldr r2, _0803DF3C @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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 + 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] + 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] + 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] + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 + 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 @@ -122394,215 +122394,215 @@ _0803E108: .4byte 0x03005000 _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 @ =0x03005000 - 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 + movs r2, #0 + mov r5, sl + lsls r1, r5, #0x10 + ldr r6, _0803E1A0 @ =0x086B8AE0 + mov sb, r6 + ldr r5, _0803E1A4 @ =0x03005000 + 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 + 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 0x03005000 _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] + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 sub_7C0 - rsbs r4, r5, #0 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #2 - bl sub_7C0 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #3 - bl sub_7C0 - adds r0, r4, #0 - adds r1, r4, #0 - movs r2, #4 - bl sub_7C0 - 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 + lsls r5, r7, #0x10 + asrs r5, r5, #0x10 + adds r0, r5, #0 + adds r1, r5, #0 + movs r2, #1 + bl sub_7C0 + rsbs r4, r5, #0 + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + adds r0, r4, #0 + adds r1, r5, #0 + movs r2, #2 + bl sub_7C0 + adds r0, r5, #0 + adds r1, r4, #0 + movs r2, #3 + bl sub_7C0 + adds r0, r4, #0 + adds r1, r4, #0 + movs r2, #4 + bl sub_7C0 + 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 @@ -122610,353 +122610,353 @@ _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 + 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 + 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] + 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 @ =0x0200B0C0 - 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 + ldr r5, _0803E584 @ =0x020314E0 + ldr r0, [r5] + ldr r1, _0803E588 @ =0x00000456 + adds r0, r0, r1 + ldrh r0, [r0] + ldr r2, _0803E58C @ =0x0200B0C0 + 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] + 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 + 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] + 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 @ =0x03005000 - ldr r6, _0803E5B8 @ =0xFFFFFE00 - mov sb, r6 - movs r0, #0xf - rsbs r0, r0, #0 - mov r8, r0 + 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 @ =0x03005000 + 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 + 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 + 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 @ =0x0200B0C0 - 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] + ldr r2, _0803E58C @ =0x0200B0C0 + 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 + 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 0x0200B0C0 @@ -122977,209 +122977,209 @@ _0803E5C4: .4byte 0x086AEE20 _0803E5C8: .4byte 0x00004E20 _0803E5CC: .4byte 0x00001888 - thumb_func_start sub_3E5D0 + 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 @ =0x03005000 - ldr r1, _0803E63C @ =0xFFFFFE00 - mov ip, r1 + 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 @ =0x03005000 + 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 + 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 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0803E634: .4byte 0x0200C948 _0803E638: .4byte 0x03005000 _0803E63C: .4byte 0xFFFFFE00 _0803E640: .4byte 0x000001FF - thumb_func_start sub_3E644 + 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 @ =0x0200B0C0 - 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 @ =0x03005000 - 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 + 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 @ =0x0200B0C0 + 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 @ =0x03005000 + 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 + 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 + 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 0x0200B0C0 _0803E768: .4byte 0x040000D4 @@ -123196,402 +123196,402 @@ _0803E790: .4byte 0x000001FF _0803E794: .4byte 0xFFFFFE00 _0803E798: .4byte 0x000003FF - thumb_func_start sub_3E79C + thumb_func_start sub_3E79C sub_3E79C: @ 0x0803E79C - push {r4, r5, r6, r7, lr} - ldr r0, _0803E7FC @ =0x0200B0C0 - 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 + push {r4, r5, r6, r7, lr} + ldr r0, _0803E7FC @ =0x0200B0C0 + 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 sub_C00 - 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 + bl sub_C00 + 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 + 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 0x0200B0C0 _0803E800: .4byte 0x020314E0 _0803E804: .4byte 0x00000283 _0803E808: - movs r4, #0xe1 - lsls r4, r4, #2 - adds r1, r5, r4 - movs r0, #0xf + 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 + 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 + 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 + 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 @@ -123623,101 +123623,101 @@ _0803EB20: .4byte 0x081B36A4 _0803EB24: .4byte 0x05000320 _0803EB28: .4byte 0x80000010 - thumb_func_start sub_3EB2C + 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 + 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 + 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 + .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 + 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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 _0803EBF8: .4byte 0x040000D4 @@ -123726,103 +123726,103 @@ _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] + 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] + 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 + 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 + 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] + 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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 _0803ECD8: .4byte 0x040000D4 @@ -123830,217 +123830,217 @@ _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] + 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] + 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 + 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 + 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 + 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] + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 + 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 0x0200B0C0 - thumb_func_start sub_3EDF0 + 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] + 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] + 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 + 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 @@ -124049,148 +124049,148 @@ _0803EEAC: .4byte 0x00000385 _0803EEB0: .4byte 0x0000050C _0803EEB4: .4byte 0x00000387 _0803EEB8: - ldr r7, _0803EEE0 @ =0x00000387 - adds r1, r2, r7 - movs r0, #1 - strb r0, [r1] + 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 + 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 + 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 + .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 + 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] + 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] + 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 + 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 + 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 @@ -124198,541 +124198,541 @@ _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 + 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] + 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 + 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 + 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 + 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 + 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] + 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] + 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 + 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 + 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 + 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 + 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] + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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] + 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] + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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] + 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 + 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 + 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 @@ -124744,48 +124744,48 @@ _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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 @@ -124796,52 +124796,52 @@ _0803F4C8: .4byte 0x000012C8 _0803F4CC: .4byte 0x00001438 _0803F4D0: .4byte 0x000014F0 _0803F4D4: - ldr r0, _0803F530 @ =0x0200B0C0 - 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 + ldr r0, _0803F530 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _0803F534: .4byte 0x00001888 _0803F538: .4byte 0x020314E0 @@ -124851,154 +124851,154 @@ _0803F544: .4byte 0x00000526 _0803F548: .4byte 0x0000052A _0803F54C: .4byte 0x00000127 _0803F550: - ldr r7, _0803F578 @ =0x0200B0C0 - 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 + ldr r7, _0803F578 @ =0x0200B0C0 + 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 0x0200B0C0 _0803F57C: .4byte 0x000012C8 _0803F580: .4byte 0x00000524 _0803F584: .4byte 0x000012BF _0803F588: - movs r0, #0 - strh r0, [r5] + 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] + 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 + 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 + 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] + 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] + 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 + ldr r1, [r6] + ldr r0, _0803F680 @ =0x00000514 + adds r1, r1, r0 _0803F626: - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] + 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] + 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 + 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 + 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 @@ -125006,65 +125006,65 @@ _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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 @@ -125073,49 +125073,49 @@ _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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 + ldr r0, _0803F784 @ =0x00000486 + adds r1, r4, r0 + movs r0, #1 + strh r0, [r1] + b _0803FA78 + .align 2, 0 _0803F770: .4byte 0x000003E2 _0803F774: .4byte 0x0200B0C0 _0803F778: .4byte 0x00000392 @@ -125123,260 +125123,260 @@ _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 + 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 + 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] + 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 + 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 + 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 + 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] + 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] + 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 + 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 + 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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 @@ -125398,127 +125398,127 @@ _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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0803FAC0: .4byte 0x020314E0 _0803FAC4: .4byte 0x0000038E _0803FAC8: .4byte 0xFFFFFE0C @@ -125528,240 +125528,240 @@ _0803FAD4: .4byte 0x000012A8 _0803FAD8: .4byte 0x02032EE0 _0803FADC: .4byte 0x0000FFFF - thumb_func_start sub_3FAE0 + 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 @ =0x03005000 - ldr r0, _0803FB84 @ =0xFFFFFE00 - mov r8, r0 + 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 @ =0x03005000 + 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 + 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 0x03005000 _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] + 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 + 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 + 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 @ =0x03005000 - ldr r3, _0803FC50 @ =0xFFFFFE00 - mov r8, r3 + 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 @ =0x03005000 + 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 + 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 0x03005000 _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] + 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 + 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 @ =0x0200B0C0 - 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 + movs r0, #0 + strh r0, [r7] + ldr r0, _0803FCC8 @ =0x0200B0C0 + 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 @@ -125770,164 +125770,164 @@ _0803FCC8: .4byte 0x0200B0C0 _0803FCCC: .4byte 0x00002070 _0803FCD0: .4byte 0x00002350 _0803FCD4: - subs r7, #0xb8 - ldrh r0, [r7] - cmp r0, #0 - bne _0803FCDE - b _0803FF98 + 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 + 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 + 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] + 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] + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 @@ -125938,133 +125938,133 @@ _0803FE34: .4byte 0x00000389 _0803FE38: .4byte 0x03005000 _0803FE3C: .4byte 0xFFFFFE00 _0803FE40: - cmp r0, #1 - bne _0803FE4C - movs r2, #2 - mov sl, r2 - movs r3, #0xe - b _0803FE6C + 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 + 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 + 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] + 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 + 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 + cmp r0, #0x16 + bne _0803FE8E + movs r4, #9 + mov sl, r4 _0803FE8E: - ldrh r2, [r7, #8] - lsls r2, r2, #3 - ldr r6, _0803FF38 @ =0x03005000 - 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 + ldrh r2, [r7, #8] + lsls r2, r2, #3 + ldr r6, _0803FF38 @ =0x03005000 + 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 + 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 0x03005000 @@ -126075,59 +126075,59 @@ _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] + 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] + 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 + 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 + 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 @@ -126137,146 +126137,146 @@ _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 + 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] + 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 @ =0x03005000 - 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 + movs r2, #0 + ldr r3, [sp] + lsls r3, r3, #4 + mov sb, r3 + mov r4, sl + lsls r1, r4, #0x10 + ldr r0, _080400F0 @ =0x03005000 + 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 + 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 + 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 + 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 0x03005000 _080400F4: .4byte 0xFFFFFC00 _080400F8: .4byte 0x000001FF @@ -126287,170 +126287,170 @@ _08040108: .4byte 0x0200D410 _0804010C: .4byte 0x020314E0 _08040110: .4byte 0x0000051A _08040114: - cmp r0, #9 - ble _0804011A - movs r1, #9 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 _08040160: - ldr r2, _0804025C @ =0x0200B0C0 - 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] + ldr r2, _0804025C @ =0x0200B0C0 + 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 @ =0x03005000 - 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 @ =0x0200B0C0 - 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] + 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 @ =0x03005000 + 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 @ =0x0200B0C0 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _08040260: .4byte 0x00001E10 _08040264: .4byte 0x020314E0 @@ -126463,253 +126463,253 @@ _0804027C: .4byte 0x00002070 _08040280: .4byte 0x00002350 _08040284: .4byte 0x00001210 - thumb_func_start sub_40288 + 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 + 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 + 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] + 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] + 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 @ =0x03005000 - movs r4, #3 - mov sb, r4 - movs r0, #0xd - rsbs r0, r0, #0 - mov sl, r0 - ldr r1, _0804047C @ =0xFFFFFE00 - mov r8, r1 + movs r2, #0 + ldr r3, _08040474 @ =0x0200BA30 + mov ip, r3 + ldr r5, _08040478 @ =0x03005000 + 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] + 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 @ =0x03005000 - movs r3, #3 - mov sb, r3 - movs r4, #0xd - rsbs r4, r4, #0 - mov sl, r4 - ldr r0, _0804047C @ =0xFFFFFE00 - mov r8, r0 + movs r2, #0 + ldr r5, _08040478 @ =0x03005000 + 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 + 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 + 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 + 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 @@ -126721,389 +126721,389 @@ _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 + .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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + cmp r1, #0x29 + bls _0804055E + cmp r1, #0x37 + bhi _0804055A + ldrh r0, [r0] + subs r0, #0x2a + b _08040566 _0804055A: - cmp r1, #0x3c - bhi _08040562 + cmp r1, #0x3c + bhi _08040562 _0804055E: - movs r7, #7 - b _0804056E + movs r7, #7 + b _0804056E _08040562: - ldrh r0, [r0] - subs r0, #0x3d + ldrh r0, [r0] + subs r0, #0x3d _08040566: - lsrs r1, r0, #0x1f - adds r0, r0, r1 - lsls r0, r0, #0xf - lsrs r7, r0, #0x10 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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 sub_C00 - 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 sub_C00 - 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 + 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 sub_C00 + 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 sub_C00 + 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 + 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 + 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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 @@ -127114,364 +127114,364 @@ _080407B8: .4byte 0x0200B0C0 _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] + 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 + 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] + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 @ =0x0200B0C0 - movs r5, #0xf3 - lsls r5, r5, #4 - adds r0, r0, r5 - movs r1, #0 - strh r1, [r0] + 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 @ =0x0200B0C0 + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 @ =0x0200B0C0 - ldr r5, _08040AB4 @ =0x00000FE8 - adds r0, r0, r5 - movs r1, #0 - strh r1, [r0] + 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 @ =0x0200B0C0 + 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 + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 + 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 @@ -127490,219 +127490,219 @@ _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] + 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 @ =0x0200B0C0 - movs r3, #0x85 - lsls r3, r3, #5 - adds r0, r0, r3 - movs r1, #0 - strh r1, [r0] + 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 @ =0x0200B0C0 + 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 @ =0x03005000 - ldr r0, _08040C90 @ =0xFFFFFE00 - mov r8, r0 + 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 @ =0x03005000 + 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 + 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 @ =0x03005000 - ldr r3, _08040C90 @ =0xFFFFFE00 - mov r8, r3 + 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 @ =0x03005000 + 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 + 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 + 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 @@ -127716,408 +127716,408 @@ _08040C94: .4byte 0x0200C440 _08040C98: .4byte 0xFFFFFE98 _08040C9C: .4byte 0x0000132C _08040CA0: - ldr r7, _08040CE4 @ =0x0000132C - adds r0, r1, r7 - ldr r1, [r0] - movs r0, #2 + 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] + 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 + 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 + 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 + .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 + 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 + 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 + 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] + 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 + 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 @ =0x0200B0C0 - 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 + ldr r0, _08040FE8 @ =0x0200B0C0 + 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 + 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 + 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 + 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 + 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 0x0200B0C0 @@ -128137,221 +128137,221 @@ _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 + 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] + 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 + 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] + 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 + 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 + 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 @@ -128363,417 +128363,417 @@ _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 + 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 + 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] + 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 + 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 + 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 + 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 + 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] + 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 @ =0x03005000 - ldr r3, _08041564 @ =0xFFFFFE00 - mov r8, r3 + 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 @ =0x03005000 + 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] + 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] + 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 + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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] + 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] + 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 + 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 @@ -128791,66 +128791,66 @@ _08041574: .4byte 0x00000522 _08041578: .4byte 0x0000050E _0804157C: .4byte 0x086B5CC0 - thumb_func_start sub_41580 + 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 + 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 + 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 + 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 @@ -128858,244 +128858,244 @@ _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 + 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 + 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] + 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 + 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] + 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 + 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 + 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 + 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 + ldrh r0, [r5, #4] + cmp r0, #0 + beq _080416C6 + movs r0, #0x3c + strh r0, [r4] + b _080416C6 _080416C2: - movs r2, #8 - mov r8, r2 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 _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] + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 + 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 + 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 @@ -129103,500 +129103,500 @@ _080417EC: .4byte 0x03005000 _080417F0: .4byte 0xFFFFFE00 _080417F4: .4byte 0x000001FF - thumb_func_start sub_417F8 + 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 + 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 @ =0x03005000 - ldr r4, _08041BE0 @ =0xFFFFFE00 - mov r8, r4 + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r1, _08041BE0 @ =0xFFFFFE00 - mov r8, r1 + 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 @ =0x03005000 + 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 + 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 + 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 @ =0x03005000 - ldr r2, _08041BE0 @ =0xFFFFFE00 - mov r8, r2 + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r1, _08041BE0 @ =0xFFFFFE00 - mov r8, r1 + 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 @ =0x03005000 + 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 + 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 + 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 @ =0x03005000 - ldr r2, _08041BE0 @ =0xFFFFFE00 - mov r8, r2 + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r1, _08041BE0 @ =0xFFFFFE00 - mov r8, r1 + 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 @ =0x03005000 + 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 + 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 + 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 @ =0x03005000 - ldr r3, _08041BE0 @ =0xFFFFFE00 - mov r8, r3 + 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 @ =0x03005000 + 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 + 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 @@ -129608,485 +129608,485 @@ _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 @ =0x03005000 - ldr r2, _08041FBC @ =0xFFFFFE00 - mov r8, 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 _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 @ =0x03005000 + 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 + 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 + 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 @ =0x03005000 - ldr r3, _08041FBC @ =0xFFFFFE00 - mov r8, r3 + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r2, _08041FBC @ =0xFFFFFE00 - mov r8, r2 + 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 @ =0x03005000 + 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 + 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 + 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 @ =0x03005000 - ldr r3, _08041FBC @ =0xFFFFFE00 - mov r8, r3 + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r2, _08041FBC @ =0xFFFFFE00 - mov r8, r2 + 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 @ =0x03005000 + 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 + 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 @ =0x0200B0C0 - ldr r4, _08041FCC @ =0x000012C8 - adds r0, r3, r4 - ldrh r1, [r0] - cmp r1, #0 - bne _08041F0A - b _08042014 + ldr r3, _08041FC8 @ =0x0200B0C0 + 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 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 0x03005000 @@ -130106,313 +130106,313 @@ _08041FEC: .4byte 0x0000132C _08041FF0: .4byte 0x00001718 _08041FF4: .4byte 0x000017D0 _08041FF8: - bne _080420CC - ldr r0, _08042008 @ =0x0200B0C0 - ldr r2, _0804200C @ =0x00001718 - adds r1, r0, r2 - movs r2, #0 - strh r2, [r1] - ldr r3, _08042010 @ =0x000017D0 - b _080420C8 - .align 2, 0 + bne _080420CC + ldr r0, _08042008 @ =0x0200B0C0 + 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 0x0200B0C0 _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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 @ =0x0200B0C0 - ldr r2, _0804229C @ =0x00001B68 - adds r1, r0, r2 - movs r2, #0 - strh r2, [r1] - movs r3, #0xe1 - lsls r3, r3, #5 + ldr r0, [r4] + adds r0, r0, r3 + ldrh r0, [r0] + cmp r0, #0xe + bne _080420CC + ldr r0, _0804227C @ =0x0200B0C0 + 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] + 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 @ =0x0200B0C0 - movs r5, #0xdc - lsls r5, r5, #4 - adds r0, r4, r5 - strh r1, [r0] - bl sub_C00 - 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 + 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 @ =0x0200B0C0 + movs r5, #0xdc + lsls r5, r5, #4 + adds r0, r4, r5 + strh r1, [r0] + bl sub_C00 + 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 @ =0x0200B0C0 - ldr r5, _080422BC @ =0x00000E78 - adds r0, r4, r5 - strh r1, [r0] - bl sub_C00 - 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 + 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 @ =0x0200B0C0 + ldr r5, _080422BC @ =0x00000E78 + adds r0, r4, r5 + strh r1, [r0] + bl sub_C00 + 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 + 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 + 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 0x0200B0C0 @@ -130436,492 +130436,492 @@ _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 + 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 + 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 + 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] + 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] + 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] + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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 + 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 @@ -130938,99 +130938,99 @@ _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] + 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] + 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 @ =0x03005000 - ldr r2, _08042778 @ =0xFFFFFE00 - mov ip, r2 + movs r0, #0 + ldr r4, _08042770 @ =0x0200BC58 + mov sb, r4 + movs r1, #0xb8 + add r1, sb + mov sl, r1 + ldr r7, _08042774 @ =0x03005000 + 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 + 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 + 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 0x03005000 @@ -131039,94 +131039,94 @@ _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] + 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] + 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 @ =0x03005000 - ldr r4, _0804283C @ =0xFFFFFE00 - mov ip, r4 + movs r0, #0 + ldr r7, _08042838 @ =0x03005000 + 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 + 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 + 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 0x03005000 _0804283C: .4byte 0xFFFFFE00 @@ -131134,107 +131134,107 @@ _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] + 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] + 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 @ =0x03005000 - ldr r4, _08042914 @ =0xFFFFFE00 - mov ip, r4 + movs r0, #0 + ldr r7, _08042910 @ =0x03005000 + 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 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 0x03005000 _08042914: .4byte 0xFFFFFE00 @@ -131245,145 +131245,145 @@ _08042924: .4byte 0x00000B98 _08042928: .4byte 0x0200BDC8 _0804292C: .4byte 0x086AF784 _08042930: - ldrh r0, [r1] - movs r1, #3 - ands r0, r1 - lsrs r7, r0, #1 + 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] + 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] + 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 @ =0x03005000 - 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] + adds r5, r6, #0 + adds r5, #8 + ldr r4, _08042A48 @ =0x03005000 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 0x03005000 @@ -131397,103 +131397,103 @@ _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 + 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] + 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 @ =0x0200B0C0 - ldr r2, _08042B3C @ =0x00000D08 - adds r0, r0, r2 - movs r1, #0 - strh r1, [r0] + 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 @ =0x0200B0C0 + 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 + 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] + 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 @ =0x0200B0C0 - movs r1, #0xae - lsls r1, r1, #4 - adds r6, r0, r1 - ldrh r0, [r6] - ldr r2, _08042B38 @ =0x0200B0C0 - 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 + ldr r0, _08042B38 @ =0x0200B0C0 + movs r1, #0xae + lsls r1, r1, #4 + adds r6, r0, r1 + ldrh r0, [r6] + ldr r2, _08042B38 @ =0x0200B0C0 + 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 @@ -131503,193 +131503,193 @@ _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] + 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] + 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 @ =0x03005000 - ldr r4, _08042C0C @ =0xFFFFFE00 - mov ip, r4 + movs r0, #0 + ldr r3, _08042C04 @ =0x0200BC58 + mov sb, r3 + ldr r7, _08042C08 @ =0x03005000 + 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 + 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 + 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 0x03005000 _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] + 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] + 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 @ =0x03005000 - ldr r4, _08042CC4 @ =0xFFFFFE00 - mov ip, r4 + movs r0, #0 + ldr r7, _08042CC0 @ =0x03005000 + 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 + 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 + 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 + 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 0x03005000 @@ -131698,123 +131698,123 @@ _08042CC8: .4byte 0x000001FF _08042CCC: .4byte 0x0200BDC8 _08042CD0: .4byte 0x086AF784 _08042CD4: - ldrh r0, [r1] - movs r1, #3 - ands r0, r1 - lsrs r7, r0, #1 + 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] + 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] + 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 @ =0x03005000 - 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] + adds r5, r6, #0 + adds r5, #8 + ldr r4, _08042DC0 @ =0x03005000 + 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 + 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 0x03005000 @@ -131825,490 +131825,490 @@ _08042DD0: .4byte 0xFFFFFC00 _08042DD4: .4byte 0x00000516 _08042DD8: .4byte 0x00000416 _08042DDC: - movs r0, #1 + movs r0, #1 _08042DDE: - strb r0, [r2, #0x1a] - ldr r4, _08042E38 @ =0x0200B0C0 - 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 @ =0x0200B0C0 - 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 + strb r0, [r2, #0x1a] + ldr r4, _08042E38 @ =0x0200B0C0 + 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 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _08042E3C: .4byte 0x000002F2 _08042E40: .4byte 0x000002EE _08042E44: .4byte 0x000002F6 - thumb_func_start sub_42E48 + thumb_func_start sub_42E48 sub_42E48: @ 0x08042E48 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r0, _08043198 @ =0x0200B0C0 - ldr r1, [r0, #0x4c] - movs r0, #0xf - movs r5, #0 - ands r1, r0 - cmp r5, r1 - bge _08042E72 - adds r4, r1, #0 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r0, _08043198 @ =0x0200B0C0 + ldr r1, [r0, #0x4c] + movs r0, #0xf + movs r5, #0 + ands r1, r0 + cmp r5, r1 + bge _08042E72 + adds r4, r1, #0 _08042E5E: - bl sub_C00 - 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 + bl sub_C00 + 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 @ =0x0200B0C0 - 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 + ldr r1, _08043198 @ =0x0200B0C0 + 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 + 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 + 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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 + 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] + 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 + 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 0x0200B0C0 _0804319C: .4byte 0x020314E0 _080431A0: .4byte 0x00000296 @@ -132346,198 +132346,198 @@ _0804321C: .4byte 0x80000010 _08043220: .4byte 0x081B36A4 _08043224: .4byte 0x05000320 - thumb_func_start sub_43228 + 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 + 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 + 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 + .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] + 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] + 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 + 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 + 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 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 + adds r0, #1 + strh r0, [r1, #0x18] + b _080434BA + .align 2, 0 _08043324: .4byte 0x00000296 _08043328: .4byte 0x02032F20 _0804332C: .4byte 0x086A2E90 _08043330: .4byte 0x0200B0C0 _08043334: .4byte 0x00000392 _08043338: - movs r0, #2 - strb r0, [r1, #0x13] - ldr r0, [r5] - strh r4, [r0, #0x18] - b _080434BA + 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 + 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 + 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 @ =0x0200B0C0 - 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 + movs r1, #0 + movs r0, #3 + strb r0, [r2, #0x13] + ldr r0, [r5] + strh r1, [r0, #0x18] + ldr r2, _080433B0 @ =0x0200B0C0 + 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 0x0200B0C0 _080433B4: .4byte 0x000008B8 _080433B8: .4byte 0x00000A28 @@ -132548,227 +132548,227 @@ _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] + 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] + 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 @ =0x0200B0C0 - 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] + ldr r0, _08043444 @ =0x020314E0 + ldr r2, [r0] + ldrh r1, [r2, #0x18] + adds r5, r0, #0 + cmp r1, #0xbd + bls _08043426 + ldr r0, _08043450 @ =0x0200B0C0 + 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 + 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 + 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 0x0200B0C0 _08043454: .4byte 0x0000021B _08043458: - movs r0, #0 - strh r0, [r1, #0x18] - movs r0, #4 - strb r0, [r1, #0x13] + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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 @ =0x0200B0C0 - ldrb r0, [r0, #0xf] - cmp r0, #0 - bne _08043524 - bl sub_455D0 + 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 @ =0x0200B0C0 + 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 + 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 @ =0x0200B0C0 - ldrb r0, [r0, #0xf] - cmp r0, #0 - beq _0804353E - b _080436E8 + ldr r0, _08043598 @ =0x0200B0C0 + 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 + 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 + 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 + 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 0x0200B0C0 _0804359C: .4byte 0x086AFAE2 @@ -132776,283 +132776,283 @@ _080435A0: .4byte 0x02032F20 _080435A4: .4byte 0x086A2EAC _080435A8: .4byte 0x00001388 _080435AC: - cmp r2, #2 - beq _08043628 - cmp r2, #3 - beq _0804366C - b _080436D8 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + ldr r0, [r7] + adds r0, r0, r6 + adds r0, r0, r4 + movs r1, #1 _080436D6: - strb r1, [r0] + 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 + 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 + 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] + 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 @ =0x03005000 - 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] + 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 @ =0x03005000 + 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 + 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 @@ -133066,63 +133066,63 @@ _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] + 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 @ =0x03005000 - 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] + 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 @ =0x03005000 + 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 + 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 @@ -133132,110 +133132,110 @@ _08043870: .4byte 0x03005000 _08043874: .4byte 0x000001FF _08043878: .4byte 0xFFFFFE00 - thumb_func_start sub_4387C + 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 + 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 @ =0x0200B0C0 - ldrb r0, [r0, #0xf] - cmp r0, #0 - beq _080438A6 - bl _080448FC + ldr r0, _080438D8 @ =0x0200B0C0 + ldrb r0, [r0, #0xf] + cmp r0, #0 + beq _080438A6 + bl _080448FC _080438A6: - movs r0, #0 - str r0, [sp] + 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 + 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 + 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 0x0200B0C0 _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 + .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 + 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 @@ -133243,295 +133243,295 @@ _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 + 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 sub_C00 - adds r1, r0, #0 - ldr r6, _08043A34 @ =0x0200B0C0 - 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] + bl sub_C00 + adds r1, r0, #0 + ldr r6, _08043A34 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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] + 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 + 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 sub_C00 - 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 sub_C00 - 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 + bl sub_C00 + 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 sub_C00 + 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 sub_C00 - 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 + bl sub_C00 + 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 sub_C00 - 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 + 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 sub_C00 + 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 sub_C00 - 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 + bl sub_C00 + 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 + 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 + 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] + 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 + 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 @@ -133539,255 +133539,255 @@ _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 + 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] + 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 + 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 + 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 + 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] + 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 + 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 + 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] + 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 + 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 + 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 @@ -133796,295 +133796,295 @@ _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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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] + 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 + 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 + 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 @@ -134093,459 +134093,459 @@ _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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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] + 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 + 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 + 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 @@ -134556,115 +134556,115 @@ _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 + 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 + 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 @@ -134673,56 +134673,56 @@ _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 + 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] + 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 + 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 @@ -134730,112 +134730,112 @@ _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 + 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 + 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 + 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 @@ -134843,505 +134843,505 @@ _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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + ldr r2, _0804482C @ =0x0000055B + adds r0, r5, r2 _080447EC: - adds r0, r0, r4 - movs r1, #0x17 + 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] + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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] + 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 + 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] + 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 + 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 + 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 + 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 @ =0x03005000 - mov ip, r1 - adds r6, r4, #0 - asrs r0, r0, #0x10 - mov sl, r0 + 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 @ =0x03005000 + 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] + 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 + 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 @@ -135362,172 +135362,172 @@ _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] + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -135540,127 +135540,127 @@ _08044C44: .4byte 0x00000566 _08044C48: .4byte 0x0200BF38 _08044C4C: .4byte 0x0000055B _08044C50: - movs r7, #0 - str r7, [sp, #4] + 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 + 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 + 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 @ =0x03005000 - ldr r0, _08044D50 @ =0xFFFFFE00 - mov sl, r0 + 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 @ =0x03005000 + 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 + 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 + 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 + 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 @@ -135671,210 +135671,210 @@ _08044D4C: .4byte 0x03005000 _08044D50: .4byte 0xFFFFFE00 _08044D54: .4byte 0x000001FF - thumb_func_start sub_44D58 + 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 + 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 @ =0x03005000 - 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] + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r1, _08044F0C @ =0xFFFFFE00 - mov ip, r1 + 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 @ =0x03005000 + 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 + 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 @ =0x0200B0C0 - movs r3, #0xae - lsls r3, r3, #4 - adds r0, r0, r3 - strh r1, [r0] + ldr r4, _08044EE8 @ =0x020314E0 + ldr r0, [r4] + movs r1, #0x13 + ldrsb r1, [r0, r1] + cmp r1, #1 + bne _08044E88 + ldr r0, _08044F20 @ =0x0200B0C0 + 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 @ =0x0200B0C0 - 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 + ldr r1, [r4] + movs r0, #0x13 + ldrsb r0, [r1, r0] + cmp r0, #1 + bgt _08044EC8 + ldr r0, _08044F20 @ =0x0200B0C0 + 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 + 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 @ =0x0200B0C0 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _08044F30 - bl sub_44F3C - b _08044F34 - .align 2, 0 + ldr r0, _08044EE8 @ =0x020314E0 + ldr r0, [r0] + adds r0, #0x7e + ldrh r0, [r0] + cmp r0, #0 + beq _08044F34 + ldr r0, _08044F20 @ =0x0200B0C0 + 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 @@ -135895,122 +135895,122 @@ _08044F24: .4byte 0x02032F20 _08044F28: .4byte 0x086A2D94 _08044F2C: .4byte 0x086A2E70 _08044F30: - bl sub_45164 + bl sub_45164 _08044F34: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 - thumb_func_start sub_44F3C + 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 @ =0x03005000 - ldr r1, _08045034 @ =0xFFFFFE00 - mov ip, r1 + 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 @ =0x03005000 + 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 + 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 + 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 @@ -136024,314 +136024,314 @@ _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 @ =0x0200B0C0 - movs r2, #0x85 - lsls r2, r2, #5 - adds r0, r0, r2 - strh r1, [r0] + 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 @ =0x0200B0C0 + 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 @ =0x0200B0C0 - movs r3, #0x85 - lsls r3, r3, #5 - adds r0, r0, r3 - strh r7, [r0] - ldr r0, [r5] - adds r0, #0x7e - strh r7, [r0] + 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 @ =0x0200B0C0 + 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 + 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 + 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 + 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] + 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] + 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 + 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 0x0200B0C0 _0804515C: .4byte 0x0000132C _08045160: .4byte 0x0000FFA0 - thumb_func_start sub_45164 + 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 @ =0x03005000 - ldr r1, _080452C8 @ =0xFFFFFE00 - mov r8, r1 + 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 @ =0x03005000 + 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 + 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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 @@ -136353,196 +136353,196 @@ _080452E4: .4byte 0x0200B0C0 _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 + 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 + 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 @ =0x0200B0C0 - ldr r1, _08045480 @ =0x00001158 - adds r0, r0, r1 - movs r1, #0 - strh r1, [r0] + ldr r0, _0804547C @ =0x0200B0C0 + 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] + 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 + 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 + 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 0x0200B0C0 _08045480: .4byte 0x00001158 _08045484: .4byte 0x020314E0 @@ -136553,143 +136553,143 @@ _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 + 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] + 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] + 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] + 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 + 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 @@ -136699,413 +136699,413 @@ _080455C4: .4byte 0x0000FFF6 _080455C8: .4byte 0x000005FA _080455CC: .4byte 0x00000592 - thumb_func_start sub_455D0 + 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 + 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 + 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 + 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 + .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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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 + 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 @@ -137114,166 +137114,166 @@ _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 + 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 + 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] + 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 + 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 + 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 + movs r0, #0xc + strh r0, [r1] + b _08045DE0 + .align 2, 0 _08045A64: .4byte 0x0000132C _08045A68: .4byte 0x000064FF _08045A6C: .4byte 0x00000533 @@ -137282,334 +137282,334 @@ _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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + ldr r2, [r2] + ldr r1, [r2, #0x34] + movs r0, #0xf0 + lsls r0, r0, #7 + cmp r1, r0 + bgt _08045BCA _08045BC8: - strh r3, [r2, #0x30] + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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 @@ -137617,177 +137617,177 @@ _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 + 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 + ldr r2, [r2] + ldr r1, [r2, #0x34] + movs r0, #0xf0 + lsls r0, r0, #7 + cmp r1, r0 + bgt _08045D5A _08045D58: - strh r3, [r2, #0x30] + 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 + 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] + 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] + 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 + 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 + 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 + thumb_func_start sub_45E08 sub_45E08: @ 0x08045E08 - push {r4, r5, r6, r7, lr} - ldr r4, _08045E70 @ =0x086AEED6 - ldr r0, _08045E74 @ =0x0200B0C0 - 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 + push {r4, r5, r6, r7, lr} + ldr r4, _08045E70 @ =0x086AEED6 + ldr r0, _08045E74 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _08045E78: .4byte 0x03006C00 @@ -137797,131 +137797,131 @@ _08045E84: .4byte 0x000003FF _08045E88: .4byte 0x040000D4 _08045E8C: .4byte 0x80000400 - thumb_func_start sub_45E90 + 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 @ =0x0200B0C0 - rsbs r0, r0, #0 - adds r0, #4 - ldr r2, _08045ED8 @ =0x000002EE - adds r1, r1, r2 - strh r0, [r1] - b _08045F12 - .align 2, 0 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 _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] + 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 @ =0x0200B0C0 - 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] + ldr r0, _08045F84 @ =0x0200B0C0 + 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 @ =0x0200B0C0 - ldrh r0, [r1, #0x38] - ldr r0, _08045F90 @ =0x00001C42 - strh r0, [r1, #0x38] - ldrh r0, [r1, #0x3a] - ldr r0, _08045F94 @ =0x00000C04 - strh r0, [r1, #0x3a] + 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 @ =0x0200B0C0 + 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] + 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 + 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 0x0200B0C0 _08045F88: .4byte 0x020314E0 _08045F8C: .4byte 0x000002EE @@ -137931,513 +137931,513 @@ _08045F98: .4byte 0x0000053A _08045F9C: .4byte 0x0000052E _08045FA0: .4byte 0x0000052C _08045FA4: - movs r0, #0xf5 - lsls r0, r0, #1 - strh r0, [r3] + 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 + 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] + 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] + 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 + 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 @ =0x03005000 - ldr r0, _080463E4 @ =0xFFFFFE00 - mov ip, r0 + 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 @ =0x03005000 + 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 + 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 + 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] + 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 @ =0x03005000 - ldr r3, _08046404 @ =0x000003FF - mov sl, r3 - mov ip, r8 - ldr r0, _08046408 @ =0xFFFFFC00 - mov sb, r0 + 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 @ =0x03005000 + 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 + 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 + 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 + 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 @@ -138455,455 +138455,455 @@ _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] + 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 @ =0x03005000 - ldr r0, _080467BC @ =0x000003FF - mov sl, r0 - mov ip, r8 - ldr r2, _080467C0 @ =0xFFFFFC00 - mov sb, r2 + 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 @ =0x03005000 + 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 + 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 + 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 @ =0x03005000 - ldr r0, _080467C8 @ =0xFFFFFE00 - mov ip, r0 - ldr r2, _080467BC @ =0x000003FF - mov sl, r2 - ldr r3, _080467C0 @ =0xFFFFFC00 - mov sb, r3 + 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 @ =0x03005000 + 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 + 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 + 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 @@ -138923,141 +138923,141 @@ _080467E8: .4byte 0x00002710 _080467EC: .4byte 0x000005F6 _080467F0: .4byte 0x0200BAE8 - thumb_func_start sub_467F4 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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 + .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 + 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 @@ -139089,97 +139089,97 @@ _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 + 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 @@ -139211,70 +139211,70 @@ _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 + 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 @@ -139298,70 +139298,70 @@ _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 + 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 @@ -139385,64 +139385,64 @@ _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 + 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 @@ -139464,64 +139464,64 @@ _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 + 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 @@ -139543,71 +139543,71 @@ _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 + 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 @@ -139632,80 +139632,80 @@ _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 + 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] + str r0, [r4] + ldr r0, _08046FC8 @ =0x06010000 + str r0, [r4, #4] + str r2, [r4, #8] _08046F64: - ldr r0, [r4, #8] + 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 + 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 @@ -139730,88 +139730,88 @@ _08046FC8: .4byte 0x06010000 _08046FCC: .4byte 0x02031520 _08046FD0: .4byte 0x0816C3E4 - thumb_func_start sub_46FD4 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 - thumb_func_start sub_47030 + thumb_func_start sub_47030 sub_47030: @ 0x08047030 - push {r4, r5, lr} - ldr r0, _08047074 @ =0x0200B0C0 - 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 + push {r4, r5, lr} + ldr r0, _08047074 @ =0x0200B0C0 + 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 0x0200B0C0 _08047078: .4byte 0x000002F6 _0804707C: .4byte 0x086B0010 @@ -139819,106 +139819,106 @@ _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 + 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 + 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 + 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] + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -139926,377 +139926,377 @@ _08047154: .4byte 0x040000D4 _08047158: .4byte 0x06002000 _0804715C: .4byte 0x80000800 - thumb_func_start sub_47160 + thumb_func_start sub_47160 sub_47160: @ 0x08047160 - push {r4, r5, lr} - ldr r2, _0804719C @ =0x0200B0C0 - 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 + push {r4, r5, lr} + ldr r2, _0804719C @ =0x0200B0C0 + 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 0x0200B0C0 _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 + 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 @ =0x0200B0C0 - 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 + ldr r4, _080472B0 @ =0x0200B0C0 + 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 + 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 + 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] + 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 @ =0x0200B0C0 - 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] + ldr r4, _080472B0 @ =0x0200B0C0 + 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 + ldrb r1, [r4, #0xf] + adds r0, r5, #0 + ands r0, r1 + cmp r0, #0 + beq _08047274 + bl sub_49A34 _08047274: - ldr r0, _080472B0 @ =0x0200B0C0 - 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 + ldr r0, _080472B0 @ =0x0200B0C0 + 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 0x0200B0C0 _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 + ldrb r0, [r2, #0x11] + cmp r0, #8 + bne _080472CE + movs r0, #0x13 + b _080472D0 _080472CE: - movs r0, #0x14 + movs r0, #0x14 _080472D0: - strb r0, [r1] + strb r0, [r1] _080472D2: - ldrh r0, [r2, #0x14] - cmp r0, #0 - bne _080472DC - ldrb r0, [r2, #0x11] - strb r0, [r2, #0xf] + 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 + pop {r4, r5} + pop {r0} + bx r0 - thumb_func_start sub_472E4 + thumb_func_start sub_472E4 sub_472E4: @ 0x080472E4 - push {r4, lr} - ldr r4, _080472FC @ =0x0200B0C0 - 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 + push {r4, lr} + ldr r4, _080472FC @ =0x0200B0C0 + 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 0x0200B0C0 _08047300: - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0804730E - bl sub_47670 - b _08047338 + 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 + 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] + 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 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08047340: .4byte 0x020314E0 - thumb_func_start sub_47344 + 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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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] + 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 @ =0x0200B0C0 - 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] + ldr r2, _0804745C @ =0x0200B0C0 + 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 + 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 @@ -140305,68 +140305,68 @@ _08047458: .4byte 0x0000132C _0804745C: .4byte 0x0200B0C0 _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 + 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 + bl sub_47FF8 + b _08047482 _0804747E: - bl sub_48124 + bl sub_48124 _08047482: - ldr r0, _080474DC @ =0x08137E00 - ldr r1, _080474E0 @ =0x0200B0C0 - ldrb r1, [r1, #0x10] - adds r1, #0x1a - movs r2, #0 - bl sub_678 + ldr r0, _080474DC @ =0x08137E00 + ldr r1, _080474E0 @ =0x0200B0C0 + ldrb r1, [r1, #0x10] + adds r1, #0x1a + movs r2, #0 + bl sub_678 _08047490: - ldr r4, _080474E4 @ =0x03005C00 - ldr r5, _080474E0 @ =0x0200B0C0 - 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 + ldr r4, _080474E4 @ =0x03005C00 + ldr r5, _080474E0 @ =0x0200B0C0 + 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 + 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 + 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 0x0200B0C0 _080474E4: .4byte 0x03005C00 @@ -140374,175 +140374,175 @@ _080474E8: .4byte 0x040000D4 _080474EC: .4byte 0x06002000 _080474F0: .4byte 0x80000400 - thumb_func_start sub_474F4 + 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 @ =0x0200B0C0 - 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 @ =0x03005000 - ldr r0, _08047640 @ =0xFFFFFE00 - mov ip, r0 - adds r4, r5, #0 - adds r4, #8 - ldr r1, _08047644 @ =0x000001FF - mov r8, r1 - movs r6, #7 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r0, _08047638 @ =0x0200B0C0 + 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 @ =0x03005000 + 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 + 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 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 @ =0x0200B0C0 - 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 + adds r6, #1 + cmp r6, #7 + ble _08047562 + ldr r2, _08047638 @ =0x0200B0C0 + 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 sub_C00 - 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 + lsls r4, r6, #1 + strh r7, [r5] + ldr r0, _08047664 @ =0x020306C0 + adds r0, r4, r0 + mov r1, r8 + strh r1, [r0] + bl sub_C00 + 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 @ =0x0200B0C0 - 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] + ldr r0, _08047638 @ =0x0200B0C0 + 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] + 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 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08047638: .4byte 0x0200B0C0 _0804763C: .4byte 0x03005000 _08047640: .4byte 0xFFFFFE00 @@ -140558,96 +140558,96 @@ _08047664: .4byte 0x020306C0 _08047668: .4byte 0x0000FFCE _0804766C: .4byte 0x020314E0 - thumb_func_start sub_47670 + thumb_func_start sub_47670 sub_47670: @ 0x08047670 - push {r4, r5, r6, r7, lr} - ldr r4, _080476A4 @ =0x0200B0C0 - ldrh r0, [r4, #0x12] - cmp r0, #0 - bne _0804767C - b _080477C4 + push {r4, r5, r6, r7, lr} + ldr r4, _080476A4 @ =0x0200B0C0 + 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 + 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 + 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 0x0200B0C0 _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 + 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] + strh r0, [r1] _080476C4: - bl sub_48190 - ldr r2, _08047720 @ =0x0200B0C0 - 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 + bl sub_48190 + ldr r2, _08047720 @ =0x0200B0C0 + 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 0x0200B0C0 _08047724: .4byte 0x040000D4 @@ -140656,151 +140656,151 @@ _0804772C: .4byte 0x06015800 _08047730: .4byte 0x80001400 _08047734: .4byte 0x08521FAC _08047738: - ldr r0, _0804778C @ =0x08521FCC + 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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -140810,760 +140810,760 @@ _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 + .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 + movs r0, #0xe + bl m4aSongNumStart + b _080478AA _0804789C: - movs r0, #0xf - bl m4aSongNumStart - b _080478AA + movs r0, #0xf + bl m4aSongNumStart + b _080478AA _080478A4: - movs r0, #1 - bl sub_19B64 + 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 + 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 + 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 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 - thumb_func_start sub_478D8 + 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 @ =0x0200B0C0 - ldrh r0, [r7, #0x12] - cmp r0, #0 - bne _080478EE - b _08047F2E + 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 @ =0x0200B0C0 + 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 @ =0x03005000 - ldr r2, _08047AF8 @ =0xFFFFFE00 - mov sl, r2 - movs r3, #0xf - rsbs r3, r3, #0 - mov sb, r3 + 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 @ =0x03005000 + 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 + 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 @ =0x03005000 - 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] + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r2, _08047AF8 @ =0xFFFFFE00 - mov r8, r2 + 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 @ =0x03005000 + 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 + 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 @ =0x0200B0C0 - 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 + ldr r1, _08047AEC @ =0x0200B0C0 + 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 0x0200B0C0 _08047AF0: .4byte 0x020314E0 _08047AF4: .4byte 0x03005000 _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] + 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 @ =0x0200B0C0 - 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 + ldr r1, _08047B70 @ =0x0200B0C0 + 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 0x0200B0C0 _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] + 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 + 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 + 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] + 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 + movs r0, #0x80 + lsls r0, r0, #1 _08047BE4: - mov sl, r0 + mov sl, r0 _08047BE6: - adds r3, r6, #0 - ldrh r0, [r3, #0x12] - cmp r0, #0xca - bls _08047BF0 - b _08047DBA + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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] + 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 sub_7C0 - ldr r3, [sp] - lsls r1, r3, #0x10 - asrs r1, r1, #0x10 - adds r0, r1, #0 - movs r2, #4 - bl sub_7C0 - ldr r4, _08047E74 @ =0x0200B0C0 - ldrh r1, [r4, #0x12] - cmp r1, #0xcb - beq _08047DE2 - b _08047F18 + movs r0, #0x80 + lsls r0, r0, #1 + mov r2, sl + lsls r1, r2, #0x10 + asrs r1, r1, #0x10 + movs r2, #3 + bl sub_7C0 + ldr r3, [sp] + lsls r1, r3, #0x10 + asrs r1, r1, #0x10 + adds r0, r1, #0 + movs r2, #4 + bl sub_7C0 + ldr r4, _08047E74 @ =0x0200B0C0 + 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 + 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 @@ -141582,43 +141582,43 @@ _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] + 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 + 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 @@ -141629,612 +141629,612 @@ _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 + 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 + 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 + 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] + 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 + 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 + 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 + 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 + 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 + thumb_func_start sub_47FF8 sub_47FF8: @ 0x08047FF8 - push {r4, lr} - ldr r2, _08048068 @ =0x0200B0C0 - 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] + push {r4, lr} + ldr r2, _08048068 @ =0x0200B0C0 + 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] + 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] + 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 + 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 0x0200B0C0 _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] + 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] + 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] + 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 + 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] + 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 + 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 + 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 + 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 + thumb_func_start sub_48124 sub_48124: @ 0x08048124 - ldr r3, _08048188 @ =0x0200B0C0 - 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] + ldr r3, _08048188 @ =0x0200B0C0 + 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] + 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] + 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] + 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 + bx lr + .align 2, 0 _08048188: .4byte 0x0200B0C0 _0804818C: .4byte 0x020314E0 - thumb_func_start sub_48190 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 @ =0x0200B0C0 - ldrh r0, [r2, #0x12] - cmp r0, #0xb3 - bls _08048272 - b _08048412 + 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 @ =0x0200B0C0 + ldrh r0, [r2, #0x12] + cmp r0, #0xb3 + bls _08048272 + b _08048412 _08048272: - cmp r0, #0x32 - bhi _08048278 - b _08048412 + 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 + 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 + 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 @ =0x0200B0C0 - strh r0, [r1, #0x12] - movs r5, #0 - ldr r2, _080483A8 @ =0x020314E0 - adds r7, #8 - movs r3, #1 + 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 @ =0x0200B0C0 + 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 + 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 + 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 + 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 + 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 + 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 0x0200B0C0 _080483A8: .4byte 0x020314E0 @@ -142247,217 +142247,217 @@ _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 @ =0x0200B0C0 - 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 + ldr r4, _08048560 @ =0x0000063A + adds r0, r3, r4 + movs r5, #0 + strh r2, [r0] + movs r0, #0x33 + ldr r7, _08048564 @ =0x0200B0C0 + 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 + 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 @ =0x0200B0C0 - 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 + ldr r0, _08048564 @ =0x0200B0C0 + 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 + 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 + 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 + 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 @ =0x0200B0C0 - ldrh r0, [r7, #0x12] - cmp r0, #0x95 - bhi _080484B2 - adds r0, #1 - strh r0, [r7, #0x12] + ldr r7, _08048564 @ =0x0200B0C0 + 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 + 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 + 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 + 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 + 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] + 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 + 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 0x0200B0C0 _08048568: .4byte 0x000006B4 @@ -142467,564 +142467,564 @@ _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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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 + 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 + .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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -143032,128 +143032,128 @@ _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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -143162,140 +143162,140 @@ _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 + 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 + cmp r0, #0 + ble _08048B38 + cmp r0, #0xa + beq _08048B38 _08048B50: - movs r5, #0 - cmp r5, r4 - ble _08048B58 - b _0804908E + 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 + 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 + 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 + cmp r0, #5 + beq _08048B86 + b _08048CB8 _08048B86: - add r0, sp, #8 - mov sb, r0 - movs r1, #0 - mov r0, sp - adds r0, #9 + 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 + 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 @@ -143303,142 +143303,142 @@ _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 + 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 + cmp r0, #0 + ble _08048C70 + cmp r0, #0xa + beq _08048C70 _08048C88: - movs r5, #0 - cmp r5, r4 - ble _08048C90 - b _0804908E + 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 + 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 + 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 + 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 + 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 @@ -143446,299 +143446,299 @@ _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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -143752,98 +143752,98 @@ _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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 @ =0x0200B0C0 - 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 + ldr r0, _0804910C @ =0x0200B0C0 + 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 @@ -143853,96 +143853,96 @@ _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 + 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 + 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 @@ -143950,91 +143950,91 @@ _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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + ldr r7, _080492B0 @ =0x0000063A + adds r1, r1, r7 + movs r0, #0x64 + strh r0, [r1] _08049280: - ldr r0, _080492B4 @ =0x0200B0C0 - 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 + ldr r0, _080492B4 @ =0x0200B0C0 + 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 @@ -144043,170 +144043,170 @@ _080492B4: .4byte 0x0200B0C0 _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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -144216,171 +144216,171 @@ _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 + 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 + 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 + 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 + 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] + 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 @ =0x03005000 - ldr r0, _08049594 @ =0xFFFFFE00 - mov sl, r0 - adds r4, r6, #0 - adds r4, #8 - ldr r1, _08049598 @ =0x000001FF - mov sb, r1 - movs r5, #0xd + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r0, _08049594 @ =0xFFFFFE00 - mov sb, r0 - ldr r1, _08049598 @ =0x000001FF - mov r8, r1 + 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 @ =0x03005000 + 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 + 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 + 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 + 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 @@ -144389,38 +144389,38 @@ _08049594: .4byte 0xFFFFFE00 _08049598: .4byte 0x000001FF _0804959C: .4byte 0x0200B808 - thumb_func_start sub_495A0 + 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 + 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 @@ -144428,141 +144428,141 @@ _080495E8: .4byte 0x0000131C _080495EC: .4byte 0x02032EE0 _080495F0: .4byte 0x00000F4C _080495F4: - ldr r2, _08049628 @ =0x00000F4C - adds r0, r1, r2 - str r3, [r0] + ldr r2, _08049628 @ =0x00000F4C + adds r0, r1, r2 + str r3, [r0] _080495FA: - bl m4aMPlayAllStop - movs r0, #0xa5 - bl m4aSongNumStart - ldr r2, _0804962C @ =0x0200B0C0 - 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 + bl m4aMPlayAllStop + movs r0, #0xa5 + bl m4aSongNumStart + ldr r2, _0804962C @ =0x0200B0C0 + 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 0x0200B0C0 _08049630: .4byte 0x020314E0 _08049634: - cmp r0, #1 - bne _0804963C - bl sub_4F814 + cmp r0, #1 + bne _0804963C + bl sub_4F814 _0804963C: - ldr r4, _08049708 @ =0x020314E0 - ldr r2, [r4] - ldr r3, _0804970C @ =0x0200B0C0 - 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 + ldr r4, _08049708 @ =0x020314E0 + ldr r2, [r4] + ldr r3, _0804970C @ =0x0200B0C0 + 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 + 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 + 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 + 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 0x0200B0C0 _08049710: .4byte 0x00001106 @@ -144574,124 +144574,124 @@ _08049724: .4byte 0x05000200 _08049728: .4byte 0x0000111A _0804972C: .4byte 0x80000100 _08049730: - ldr r0, _08049770 @ =0x00007FFF - mov r1, sl - strh r0, [r1] + 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 @ =0x0200B0C0 - ldrb r3, [r0, #4] - cmp r3, #1 - bhi _08049784 - bl sub_1D4D0 - b _080497A0 - .align 2, 0 + 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 @ =0x0200B0C0 + 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 0x0200B0C0 _08049784: - cmp r3, #2 - bne _0804978E - bl sub_356A0 - b _080497A0 + cmp r3, #2 + bne _0804978E + bl sub_356A0 + b _080497A0 _0804978E: - cmp r3, #4 - bne _08049798 - bl sub_3ADA0 - b _080497A0 + cmp r3, #4 + bne _08049798 + bl sub_3ADA0 + b _080497A0 _08049798: - cmp r3, #5 - bne _080497A0 - bl sub_3E5D0 + 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 + 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 @ =0x0200B0C0 - 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 + push {lr} + ldr r1, _08049824 @ =0x0200B0C0 + 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 + movs r0, #0xa6 + bl m4aSongNumStart + movs r0, #0 + bl sub_11F0 + pop {r0} + bx r0 + .align 2, 0 _08049824: .4byte 0x0200B0C0 _08049828: .4byte 0x020314E0 _0804982C: .4byte 0x00001106 @@ -144704,499 +144704,499 @@ _08049844: .4byte 0x80000100 _08049848: .4byte 0x00000F4C _0804984C: .4byte 0x02032EE0 - thumb_func_start sub_49850 + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r1, _08049A2C @ =0xFFFFFE00 - mov sb, r1 - movs r3, #4 - rsbs r3, r3, #0 - mov r8, r3 - movs r7, #0xf - rsbs r7, r7, #0 + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r7, _08049A2C @ =0xFFFFFE00 + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r7, _08049A2C @ =0xFFFFFE00 + 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 @ =0x03005000 + 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 + 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 0x03005000 _08049A28: .4byte 0x000001FF _08049A2C: .4byte 0xFFFFFE00 _08049A30: .4byte 0x0200B528 - thumb_func_start sub_49A34 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + movs r0, #4 + ldr r5, _08049C18 @ =0x0000FFFC + mov sb, r5 + movs r1, #0x80 + lsls r1, r1, #1 _08049B46: - mov r8, r1 + 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 + 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 @ =0x03005000 - 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 + 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 @ =0x03005000 + 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 0x03005000 @@ -145210,297 +145210,297 @@ _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 + 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 @ =0x03005000 - mov ip, r2 - movs r3, #0xf - rsbs r3, r3, #0 - mov r8, r3 + 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 @ =0x03005000 + 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 @ =0x03005000 - mov ip, r1 - ldr r2, _08049EA0 @ =0xFFFFFE00 - mov sb, r2 - movs r3, #0xf - rsbs r3, r3, #0 - mov r8, r3 + 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 @ =0x03005000 + 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 + 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 sub_7C0 - 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 @ =0x03005000 - ldr r1, _08049EA0 @ =0xFFFFFE00 - mov r8, r1 + movs r0, #0x80 + lsls r0, r0, #1 + ldr r5, [sp, #0x10] + asrs r1, r5, #0x10 + movs r2, #5 + bl sub_7C0 + 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 @ =0x03005000 + 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 @ =0x03005000 - ldr r2, _08049EA0 @ =0xFFFFFE00 - mov r8, r2 + 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 @ =0x03005000 + 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 + 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 @@ -145514,157 +145514,157 @@ _08049EA8: .4byte 0x0200B528 _08049EAC: .4byte 0x020314E0 _08049EB0: .4byte 0x0000131C - thumb_func_start sub_49EB4 + thumb_func_start sub_49EB4 sub_49EB4: @ 0x08049EB4 - push {lr} - ldr r1, _08049ECC @ =0x08137E04 - ldr r0, _08049ED0 @ =0x0200B0C0 - 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 + push {lr} + ldr r1, _08049ECC @ =0x08137E04 + ldr r0, _08049ED0 @ =0x0200B0C0 + 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 0x0200B0C0 - thumb_func_start sub_49ED4 + thumb_func_start sub_49ED4 sub_49ED4: @ 0x08049ED4 - push {r4, r5, r6, r7, lr} - ldr r0, _08049F18 @ =0x0200B0C0 - ldr r1, [r0, #0x4c] - movs r0, #0xf - movs r5, #0 - ands r1, r0 - cmp r5, r1 - bge _08049EFA - adds r4, r1, #0 + push {r4, r5, r6, r7, lr} + ldr r0, _08049F18 @ =0x0200B0C0 + ldr r1, [r0, #0x4c] + movs r0, #0xf + movs r5, #0 + ands r1, r0 + cmp r5, r1 + bge _08049EFA + adds r4, r1, #0 _08049EE6: - bl sub_C00 - 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 + bl sub_C00 + 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 @ =0x0200B0C0 - movs r0, #0 - strb r0, [r1, #0xe] - ldrb r0, [r1, #0xd] - cmp r0, #0 - beq _08049F24 - movs r1, #0 - b _08049F36 - .align 2, 0 + bl sub_10C0 + ldr r1, _08049F1C @ =0x020314E0 + ldr r0, _08049F20 @ =0x02000000 + str r0, [r1] + bl sub_438 + ldr r1, _08049F18 @ =0x0200B0C0 + 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 0x0200B0C0 _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 + 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 + 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 + cmp r1, #1 + bgt _08049F4C + cmp r1, #0 + beq _08049F5A + b _0804A19C _08049F4C: - cmp r1, #2 - bne _08049F52 - b _0804A104 + cmp r1, #2 + bne _08049F52 + b _0804A104 _08049F52: - cmp r1, #3 - bne _08049F58 - b _0804A158 + cmp r1, #3 + bne _08049F58 + b _0804A158 _08049F58: - b _0804A19C + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 @ =0x0200B0C0 - ldrb r0, [r0, #2] - cmp r0, #3 - bne _0804A010 - movs r0, #2 - bl sub_4B678 - b _0804A016 - .align 2, 0 + 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 @ =0x0200B0C0 + 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 @@ -145677,98 +145677,98 @@ _0804A004: .4byte 0x05000220 _0804A008: .4byte 0x80000010 _0804A00C: .4byte 0x020028D8 _0804A010: - movs r0, #1 - bl sub_4B678 + movs r0, #1 + bl sub_4B678 _0804A016: - bl sub_4A270 - bl sub_4A90C - ldr r1, _0804A03C @ =0x086B085C - ldr r4, _0804A040 @ =0x0200B0C0 - 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 + bl sub_4A270 + bl sub_4A90C + ldr r1, _0804A03C @ =0x086B085C + ldr r4, _0804A040 @ =0x0200B0C0 + 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 0x0200B0C0 _0804A044: - cmp r0, #2 - bne _0804A04E - bl sub_356A0 - b _0804A19C + cmp r0, #2 + bne _0804A04E + bl sub_356A0 + b _0804A19C _0804A04E: - cmp r0, #4 - bne _0804A058 - bl sub_3ADA0 - b _0804A19C + cmp r0, #4 + bne _0804A058 + bl sub_3ADA0 + b _0804A19C _0804A058: - cmp r0, #5 - beq _0804A05E - b _0804A19C + cmp r0, #5 + beq _0804A05E + b _0804A19C _0804A05E: - bl sub_3E5D0 - b _0804A19C + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + 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 + 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 @@ -145781,142 +145781,142 @@ _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 @ =0x0200B0C0 - 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 + bl sub_4A270 + bl sub_4A6A0 + movs r0, #0 + bl sub_4B678 + bl sub_4A90C + ldr r1, _0804A148 @ =0x086B085C + ldr r4, _0804A14C @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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 + 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 + 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 + 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] + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 @ =0x0200B0C0 - 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 + ldr r0, _0804A248 @ =0x0200B0C0 + 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 @@ -145928,82 +145928,82 @@ _0804A248: .4byte 0x0200B0C0 _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] + ldrh r0, [r1, #0x38] + movs r0, #0xce + strh r0, [r1, #0x38] + ldrh r0, [r1, #0x3c] + strh r3, [r1, #0x3c] _0804A25E: - ldr r1, _0804A26C @ =0x0200B0C0 - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + ldr r1, _0804A26C @ =0x0200B0C0 + 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 0x0200B0C0 - thumb_func_start sub_4A270 + 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 @ =0x0200B0C0 - ldrb r1, [r0, #4] - adds r3, r0, #0 - cmp r1, #7 - bls _0804A28A - b _0804A4E8 + 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 @ =0x0200B0C0 + 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 + lsls r0, r1, #2 + ldr r1, _0804A298 @ =_0804A29C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _0804A294: .4byte 0x0200B0C0 _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 + .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 + 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 @@ -146011,32 +146011,32 @@ _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 + 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 @@ -146044,150 +146044,150 @@ _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 + 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 + 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 + 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 + 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 + 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 @@ -146195,62 +146195,62 @@ _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 + 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 + 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] + 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 + 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 @@ -146259,131 +146259,131 @@ _0804A50C: .4byte 0x04000008 _0804A510: .4byte 0x00008404 _0804A514: .4byte 0x0400004C - thumb_func_start sub_4A518 + thumb_func_start sub_4A518 sub_4A518: @ 0x0804A518 - push {r4, r5, r6, r7, lr} - sub sp, #4 - ldr r0, _0804A60C @ =0x0200B0C0 - 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 + push {r4, r5, r6, r7, lr} + sub sp, #4 + ldr r0, _0804A60C @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _0804A610: .4byte 0x020314E0 _0804A614: .4byte 0x040000D4 @@ -146393,356 +146393,356 @@ _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 + 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] + 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] + 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 + 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 + 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 + 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 + cmp r5, #2 + bne _0804A6CE + b _0804A7D0 _0804A6CE: - b _0804A83C + 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 @ =0x0200B0C0 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _0804A740 - bl sub_1A9E8 - b _0804A744 - .align 2, 0 + 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 @ =0x0200B0C0 + ldrb r0, [r0, #4] + cmp r0, #0 + bne _0804A740 + bl sub_1A9E8 + b _0804A744 + .align 2, 0 _0804A738: .4byte 0x0000132C _0804A73C: .4byte 0x0200B0C0 _0804A740: - bl sub_32968 + 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 + 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 + 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] + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 @@ -146754,338 +146754,338 @@ _0804A900: .4byte 0x000002F2 _0804A904: .4byte 0x000002F6 _0804A908: .4byte 0x000002EA - thumb_func_start sub_4A90C + 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 @ =0x0200B0C0 - ldrb r1, [r0, #4] - adds r4, r0, #0 - cmp r1, #7 - bls _0804A93A - b _0804AACC + 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 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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 + .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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + adds r0, r0, r1 + str r0, [r4, #0x44] _0804AACC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _0804AAD4: .4byte 0x086B03BC - thumb_func_start sub_4AAD8 + 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 + 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 + cmp r4, #2 + beq _0804ABB0 + b _0804ABB8 _0804AAFA: - movs r0, #1 - strb r0, [r1, #0x1d] - ldr r0, _0804AB04 @ =0x0200B0C0 - strb r4, [r0, #0xe] - b _0804ABB8 - .align 2, 0 + movs r0, #1 + strb r0, [r1, #0x1d] + ldr r0, _0804AB04 @ =0x0200B0C0 + strb r4, [r0, #0xe] + b _0804ABB8 + .align 2, 0 _0804AB04: .4byte 0x0200B0C0 _0804AB08: - ldr r1, _0804AB3C @ =0x086B085C - ldr r5, _0804AB40 @ =0x0200B0C0 - 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] + ldr r1, _0804AB3C @ =0x086B085C + ldr r5, _0804AB40 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _0804AB44: - cmp r0, #2 - bne _0804AB4E - bl sub_356A0 - b _0804AB60 + cmp r0, #2 + bne _0804AB4E + bl sub_356A0 + b _0804AB60 _0804AB4E: - cmp r0, #4 - bne _0804AB58 - bl sub_3ADA0 - b _0804AB60 + cmp r0, #4 + bne _0804AB58 + bl sub_3ADA0 + b _0804AB60 _0804AB58: - cmp r0, #5 - bne _0804AB60 - bl sub_3E5D0 + cmp r0, #5 + bne _0804AB60 + bl sub_3E5D0 _0804AB60: - ldr r4, _0804AB98 @ =0x0200B0C0 - 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] + ldr r4, _0804AB98 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _0804AB9C: .4byte 0x020314E0 _0804ABA0: .4byte 0x040000D4 @@ -147093,300 +147093,300 @@ _0804ABA4: .4byte 0x0000111A _0804ABA8: .4byte 0x05000200 _0804ABAC: .4byte 0x80000100 _0804ABB0: - ldr r1, _0804ABC4 @ =0x0200B0C0 - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] + ldr r1, _0804ABC4 @ =0x0200B0C0 + 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 + bl sub_11FC + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0804ABC4: .4byte 0x0200B0C0 - thumb_func_start sub_4ABC8 + 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 @ =0x0200B0C0 - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] + push {lr} + bl sub_111C + bl sub_1170 + cmp r0, #0 + beq _0804ABE2 + bl sub_1198 + ldr r1, _0804ABE8 @ =0x0200B0C0 + ldrb r0, [r1, #3] + adds r0, #1 + strb r0, [r1, #3] _0804ABE2: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _0804ABE8: .4byte 0x0200B0C0 - thumb_func_start sub_4ABEC + 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 @ =0x0200B0C0 - 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 + push {r4, r5, lr} + bl sub_4B280 + ldr r5, _0804AC50 @ =0x020028D8 + ldr r0, [r5, #0xc] + bl _call_via_r0 + ldr r4, _0804AC54 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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 + 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 + 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 + 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 + 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 + 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 + bl sub_47030 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0804ACE8: .4byte 0x020314E0 _0804ACEC: .4byte 0x020028D8 - thumb_func_start sub_4ACF0 + 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 @ =0x0200B0C0 - 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 + push {r4, r5, r6, r7, lr} + bl sub_4B334 + ldr r5, _0804AD54 @ =0x020028D8 + ldr r0, [r5, #0xc] + bl _call_via_r0 + ldr r4, _0804AD58 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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 + 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 + 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 + 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 + 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 + 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 @ =0x0200B0C0 - 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 + bl sub_47030 + ldr r0, _0804AE24 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 @@ -147395,37 +147395,37 @@ _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 + 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 + 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 + 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 @@ -147434,375 +147434,375 @@ _0804AE80: .4byte 0x040000D4 _0804AE84: .4byte 0x06002680 _0804AE88: .4byte 0x80000020 - thumb_func_start sub_4AE8C + 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 @ =0x0200B0C0 - ldrb r1, [r5, #0xf] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0804AEA8 - b _0804AFEA + push {r4, r5, r6, lr} + bl sub_4B280 + ldr r6, _0804AF0C @ =0x020028D8 + ldr r0, [r6, #0xc] + bl _call_via_r0 + ldr r5, _0804AF10 @ =0x0200B0C0 + 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 + 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 + 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 + 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 0x0200B0C0 _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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + thumb_func_start sub_4B000 sub_4B000: @ 0x0804B000 - push {r4, r5, r6, r7, lr} - bl sub_4B334 - ldr r5, _0804B07C @ =0x0200B0C0 - ldrb r1, [r5, #0xf] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0804B014 - b _0804B15A + push {r4, r5, r6, r7, lr} + bl sub_4B334 + ldr r5, _0804B07C @ =0x0200B0C0 + 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 + 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 + 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 + 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 0x0200B0C0 _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 + 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 + 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 + 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 + 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 + 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 + ldr r4, _0804B1A0 @ =0x020028D8 + ldr r0, [r4, #0x3c] + bl _call_via_r0 + ldr r0, [r4, #0x44] + bl _call_via_r0 _0804B15A: - ldr r0, _0804B1A4 @ =0x0200B0C0 - 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 + ldr r0, _0804B1A4 @ =0x0200B0C0 + 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 + 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 @@ -147813,37 +147813,37 @@ _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 + 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 + 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 + 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 @@ -147852,515 +147852,515 @@ _0804B200: .4byte 0x040000D4 _0804B204: .4byte 0x06002640 _0804B208: .4byte 0x80000020 - thumb_func_start sub_4B20C + thumb_func_start sub_4B20C sub_4B20C: @ 0x0804B20C - push {r4, lr} - ldr r4, _0804B250 @ =0x0200B0C0 - 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 + push {r4, lr} + ldr r4, _0804B250 @ =0x0200B0C0 + 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 sub_23C - b _0804B276 - .align 2, 0 + ldrb r0, [r4, #0xe] + cmp r0, #0 + bne _0804B262 + ldrb r0, [r4, #4] + cmp r0, #1 + bls _0804B258 + movs r0, #0xb + bl sub_23C + b _0804B276 + .align 2, 0 _0804B250: .4byte 0x0200B0C0 _0804B254: .4byte 0x020314E0 _0804B258: - ldr r0, [r4, #8] - ldr r1, _0804B26C @ =0x00FFFF00 - ands r0, r1 - cmp r0, #0 - beq _0804B270 + ldr r0, [r4, #8] + ldr r1, _0804B26C @ =0x00FFFF00 + ands r0, r1 + cmp r0, #0 + beq _0804B270 _0804B262: - movs r0, #0 - bl sub_23C - b _0804B276 - .align 2, 0 + movs r0, #0 + bl sub_23C + b _0804B276 + .align 2, 0 _0804B26C: .4byte 0x00FFFF00 _0804B270: - movs r0, #8 - bl sub_23C + movs r0, #8 + bl sub_23C _0804B276: - pop {r4} - pop {r0} - bx r0 + pop {r4} + pop {r0} + bx r0 - thumb_func_start nullsub_19 + thumb_func_start nullsub_19 nullsub_19: @ 0x0804B27C - bx lr + bx lr - thumb_func_start sub_4B280 + thumb_func_start sub_4B280 sub_4B280: @ 0x0804B280 - push {r4, r5, lr} - movs r3, #0 - ldr r4, _0804B2F8 @ =0x020314E0 - ldr r0, _0804B2FC @ =0x0200B0C0 - mov ip, r0 - adds r2, r4, #0 - movs r1, #0 + push {r4, r5, lr} + movs r3, #0 + ldr r4, _0804B2F8 @ =0x020314E0 + ldr r0, _0804B2FC @ =0x0200B0C0 + 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 + 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] + 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 + ldr r0, [r4] + adds r0, #0xe + adds r0, r0, r3 + strb r5, [r0] + b _0804B324 + .align 2, 0 _0804B2F8: .4byte 0x020314E0 _0804B2FC: .4byte 0x0200B0C0 _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] + 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] + 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 + 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 + pop {r4, r5} + pop {r0} + bx r0 - thumb_func_start sub_4B334 + 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 @ =0x0200B0C0 - mov sb, r1 - mov r2, r8 - movs r1, #0 + 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 @ =0x0200B0C0 + 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 + 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] + 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] + 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 + 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 0x0200B0C0 _0804B3FC: .4byte 0x02031510 _0804B400: .4byte 0x00000E0F _0804B404: .4byte 0x02031520 - thumb_func_start sub_4B408 + 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 + 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] + 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 @ =0x0200B0C0 - mov ip, r0 - lsls r4, r4, #0x10 - mov r8, r4 - mov r5, ip - adds r7, r6, #0 + movs r3, #0 + ldr r6, _0804B5EC @ =0x020314E0 + ldr r0, _0804B5F4 @ =0x0200B0C0 + 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 + 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 + 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 + 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 + 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 0x0200B0C0 @@ -148388,282 +148388,282 @@ _0804B648: .4byte 0x00001116 _0804B64C: .4byte 0x0000110E _0804B650: .4byte 0x000010F8 - thumb_func_start sub_4B654 + 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 + 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 + 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 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 + mov r3, r8 + cmp r3, #0 + bne _0804B74E + b _0804B8CC _0804B74E: - ldr r4, _0804B898 @ =0x0200B0C0 - 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 + ldr r4, _0804B898 @ =0x0200B0C0 + 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 + 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 @@ -148685,76 +148685,76 @@ _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] + 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 @ =0x0200B0C0 - 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 + ldr r5, _0804B958 @ =0x020314E0 + ldr r0, [r5] + movs r1, #0 + strb r1, [r0, #0x1d] + ldr r4, _0804B95C @ =0x0200B0C0 + 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 @ =0x0200B0C0 - 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 + ldr r0, _0804B95C @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _0804B960: .4byte 0x0000029E @@ -148763,109 +148763,109 @@ _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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -148876,108 +148876,108 @@ _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 + 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 + 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 + 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] + 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 @ =0x0200B0C0 - 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 + ldr r1, _0804BB20 @ =0x040000D4 + ldr r2, _0804BB2C @ =0x020314E0 + ldr r4, _0804BB30 @ =0x0200B0C0 + 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 @@ -148993,431 +148993,431 @@ _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 + .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 + 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 + bl sub_50AD4 + b _0804BBC0 _0804BB9E: - bl sub_50D48 - b _0804BBC0 + bl sub_50D48 + b _0804BBC0 _0804BBA4: - bl sub_50DE0 - b _0804BBC0 + bl sub_50DE0 + b _0804BBC0 _0804BBAA: - bl sub_50F04 - b _0804BBC0 + bl sub_50F04 + b _0804BBC0 _0804BBB0: - bl sub_50FD4 - b _0804BBC0 + bl sub_50FD4 + b _0804BBC0 _0804BBB6: - bl sub_51090 - b _0804BBC0 + bl sub_51090 + b _0804BBC0 _0804BBBC: - bl sub_51150 + bl sub_51150 _0804BBC0: - movs r5, #0 - ldr r4, _0804BC24 @ =0x020314E0 - mov sl, r4 - ldr r7, _0804BC28 @ =0x0200B0C0 - movs r0, #0xb8 - mov ip, r0 + movs r5, #0 + ldr r4, _0804BC24 @ =0x020314E0 + mov sl, r4 + ldr r7, _0804BC28 @ =0x0200B0C0 + 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 + 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 + 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 0x0200B0C0 _0804BC2C: .4byte 0x00000F68 _0804BC30: .4byte 0x0E000544 - thumb_func_start sub_4BC34 + 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 @ =0x0200B0C0 - 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 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + ldr r0, _0804BC50 @ =0x0200B0C0 + 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 0x0200B0C0 _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 + .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 + bl sub_4C290 + bl sub_4C808 + b _0804BCC6 _0804BC82: - bl sub_4C290 - bl sub_4CA18 - b _0804BCC6 + bl sub_4C290 + bl sub_4CA18 + b _0804BCC6 _0804BC8C: - bl nullsub_18 - bl sub_4CAE8 - b _0804BCC6 + bl nullsub_18 + bl sub_4CAE8 + b _0804BCC6 _0804BC96: - bl nullsub_18 - bl sub_4CB0C - b _0804BCC6 + bl nullsub_18 + bl sub_4CB0C + b _0804BCC6 _0804BCA0: - bl nullsub_18 - bl sub_4CB30 - b _0804BCC6 + bl nullsub_18 + bl sub_4CB30 + b _0804BCC6 _0804BCAA: - bl nullsub_18 - bl sub_4CBB4 - b _0804BCC6 + bl nullsub_18 + bl sub_4CBB4 + b _0804BCC6 _0804BCB4: - bl nullsub_18 - bl sub_4CC58 - b _0804BCC6 + bl nullsub_18 + bl sub_4CC58 + b _0804BCC6 _0804BCBE: - bl nullsub_18 - bl sub_4CD60 + 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 + 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 + 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 + .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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -149426,67 +149426,67 @@ _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 + 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 + 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 + 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 + 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 @@ -149494,46 +149494,46 @@ _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 + 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 + 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 + 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 @@ -149541,138 +149541,138 @@ _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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -149685,51 +149685,51 @@ _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 + 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 + 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 @ =0x0200B0C0 - 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 + ldr r0, _0804C20C @ =0x0200B0C0 + 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 0x0200B0C0 _0804C210: .4byte 0x040000D4 _0804C214: .4byte 0x081BCAA4 @@ -149739,21 +149739,21 @@ _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 + 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 @@ -149762,181 +149762,181 @@ _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 + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -149960,196 +149960,196 @@ _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 + .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 + 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 @ =0x086BB6A4 - mov r8, r5 - b _0804C528 - .align 2, 0 + 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 @ =0x086BB6A4 + mov r8, r5 + b _0804C528 + .align 2, 0 _0804C498: .4byte 0x0200B134 _0804C49C: .4byte 0x0000059A _0804C4A0: .4byte 0x00000749 _0804C4A4: .4byte 0x040000D4 _0804C4A8: .4byte 0x086BB6A4 _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 @ =0x086BB6A4 - 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 + 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 @ =0x086BB6A4 + 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 0x086BB6A4 _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 @ =0x086BB6A4 - mov r8, r5 - mov r3, sb - ldr r0, [r3] - adds r0, r0, r1 - adds r0, r0, r2 - b _0804C530 - .align 2, 0 + 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 @ =0x086BB6A4 + 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 0x086BB6A4 _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 @ =0x086BB6A4 - mov r8, r0 + 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 @ =0x086BB6A4 + mov r8, r0 _0804C528: - mov r1, sb - ldr r0, [r1] - adds r0, r0, r2 - adds r0, r0, r3 + 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] + 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 @ =0x086BB738 - 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 + ldr r2, _0804C5B8 @ =0x040000D4 + ldr r3, _0804C5C8 @ =0x086BB738 + 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 0x086BB6A4 @@ -150159,252 +150159,252 @@ _0804C5C8: .4byte 0x086BB738 _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 + 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] + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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 + 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] + 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 + 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 @@ -150423,138 +150423,138 @@ _0804C7FC: .4byte 0x06011CE0 _0804C800: .4byte 0x083BD36C _0804C804: .4byte 0x06011EE0 - thumb_func_start sub_4C808 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 + 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 @@ -150582,71 +150582,71 @@ _0804C968: .4byte 0x800000C0 _0804C96C: .4byte 0x000002DA _0804C970: .4byte 0x00000746 _0804C974: - ldr r2, _0804C9F8 @ =0x00000746 - adds r1, r1, r2 - movs r0, #1 + 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 + 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 @@ -150656,92 +150656,92 @@ _0804CA0C: .4byte 0x084F6B0C _0804CA10: .4byte 0x06013D00 _0804CA14: .4byte 0x80000280 - thumb_func_start sub_4CA18 + 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 + 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 + .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 + 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 + 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] + 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] + 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 + bx lr + .align 2, 0 _0804CAD0: .4byte 0x086AE5A0 _0804CAD4: .4byte 0x00000345 _0804CAD8: .4byte 0x040000D4 @@ -150749,89 +150749,89 @@ _0804CADC: .4byte 0x08490A4C _0804CAE0: .4byte 0x0600D900 _0804CAE4: .4byte 0x80000220 - thumb_func_start sub_4CAE8 + 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 + 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 + 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 + 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 + 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 @ =0x086BB738 - 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 + 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 @ =0x086BB738 + 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 @@ -150842,72 +150842,72 @@ _0804CBA8: .4byte 0x00000749 _0804CBAC: .4byte 0x06010CA0 _0804CBB0: .4byte 0x80000180 - thumb_func_start sub_4CBB4 + 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 + 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 + 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 @ =0x086BB738 - 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 + 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 @ =0x086BB738 + 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 @@ -150917,112 +150917,112 @@ _0804CC4C: .4byte 0x00000749 _0804CC50: .4byte 0x06010CA0 _0804CC54: .4byte 0x80000180 - thumb_func_start sub_4CC58 + 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 + 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 + 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 + 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] + 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 @ =0x086BB738 - 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 + ldr r6, _0804CD34 @ =0x040000D4 + ldr r0, _0804CD50 @ =0x086BB738 + 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 @@ -151035,139 +151035,139 @@ _0804CD54: .4byte 0x00000749 _0804CD58: .4byte 0x06010CA0 _0804CD5C: .4byte 0x80000180 - thumb_func_start sub_4CD60 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 + 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 + 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] + 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 + 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 + 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 0x0200B0C0 _0804CE64: .4byte 0x084B77EC @@ -151187,539 +151187,539 @@ _0804CE98: .4byte 0x000001FF _0804CE9C: .4byte 0x06015800 _0804CEA0: .4byte 0x80000400 - thumb_func_start nullsub_18 + thumb_func_start nullsub_18 nullsub_18: @ 0x0804CEA4 - bx lr + bx lr - thumb_func_start sub_4CEA8 + thumb_func_start sub_4CEA8 sub_4CEA8: @ 0x0804CEA8 - push {lr} - bl sub_4CEB4 - pop {r0} - bx r0 + push {lr} + bl sub_4CEB4 + pop {r0} + bx r0 - thumb_func_start sub_4CEB4 + 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 @ =0x0200B0C0 - cmp r0, #0 - bne _0804CEF6 - ldrh r1, [r4, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0804CF08 + 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 @ =0x0200B0C0 + 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] + 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 + 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 0x0200B0C0 _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 + 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] + 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 + 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 + ldr r0, _0804D2EC @ =0x0000270F + str r0, [r6, #0x48] + ldr r0, _0804D2F0 @ =0x05F5E0FF _0804CF9A: - str r0, [r6, #0x44] + 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 + 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 + 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 + 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 + 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 + 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] + 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] + 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] + 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 + 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 @@ -151746,57 +151746,57 @@ _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 + 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 + 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] + 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 + 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 @@ -151805,131 +151805,131 @@ _0804D3C4: .4byte 0x03006B80 _0804D3C8: .4byte 0x06002F80 _0804D3CC: .4byte 0x80000040 - thumb_func_start sub_4D3D0 + 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 + 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 + 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 @ =0x0200B0C0 - ldrb r0, [r0, #0xf] - cmp r0, #0 - bne _0804D40E - subs r0, r2, #1 - strh r0, [r1] + cmp r0, #2 + bne _0804D40E + ldr r0, _0804D4D0 @ =0x0200B0C0 + 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 + 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 + 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 0x0200B0C0 @@ -151942,76 +151942,76 @@ _0804D4E8: .4byte 0x040000D4 _0804D4EC: .4byte 0x060022C0 _0804D4F0: .4byte 0x80000040 _0804D4F4: - ldrh r0, [r7] - cmp r0, #0 - bne _0804D500 - bl sub_4D648 - b _0804D542 + ldrh r0, [r7] + cmp r0, #0 + bne _0804D500 + bl sub_4D648 + b _0804D542 _0804D500: - movs r1, #0 - ldr r4, _0804D578 @ =0x03005C00 + 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 + 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 + 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 + 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 @@ -152025,126 +152025,126 @@ _0804D59C: .4byte 0x020314E0 _0804D5A0: .4byte 0x00000296 _0804D5A4: .4byte 0x086B0884 _0804D5A8: - ldr r1, _0804D5D4 @ =0x040000D4 - ldr r0, _0804D5D8 @ =0x081C0064 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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 + 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 @@ -152155,126 +152155,126 @@ _0804D6B8: .4byte 0x040000D4 _0804D6BC: .4byte 0x060022C0 _0804D6C0: .4byte 0x80000040 - thumb_func_start sub_4D6C4 + 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 @ =0x0200B0C0 - 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 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + movs r0, #0 + mov ip, r0 + ldr r0, _0804D7B0 @ =0x0200B0C0 + 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 + 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 + 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 0x0200B0C0 _0804D7B4: .4byte 0x0000FFE8 _0804D7B8: .4byte 0x020314E0 @@ -152287,182 +152287,182 @@ _0804D7D0: .4byte 0x000002F6 _0804D7D4: .4byte 0x000002EE _0804D7D8: .4byte 0x00000283 _0804D7DC: - movs r0, #0x5b - bl m4aSongNumStart - b _0804D90E + 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 + 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 + 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 + 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 + 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 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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 @ =0x0200B0C0 - 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 + ldr r1, _0804D94C @ =0x0200B0C0 + 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 @@ -152473,232 +152473,232 @@ _0804D954: .4byte 0x000007FF _0804D958: .4byte 0x000002EA _0804D95C: .4byte 0x000002F6 - thumb_func_start sub_4D960 + thumb_func_start sub_4D960 sub_4D960: @ 0x0804D960 - push {r4, r5, r6, r7, lr} - movs r7, #0x80 - lsls r7, r7, #5 - ldr r0, _0804D9A4 @ =0x0200B0C0 - ldrb r0, [r0, #0xf] - cmp r0, #0 - bne _0804D972 - bl sub_4E2F8 + push {r4, r5, r6, r7, lr} + movs r7, #0x80 + lsls r7, r7, #5 + ldr r0, _0804D9A4 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _0804D9A8: .4byte 0x020314E0 _0804D9AC: .4byte 0x000005FB _0804D9B0: .4byte 0x000005FC _0804D9B4: .4byte 0x000005FE _0804D9B8: - adds r0, r3, #1 - strh r0, [r1] - b _0804D9C2 + adds r0, r3, #1 + strh r0, [r1] + b _0804D9C2 _0804D9BE: - movs r0, #0 - strb r0, [r4] + 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 + 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 + 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 + 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 + 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 + movs r0, #0x50 + rsbs r0, r0, #0 + cmp r1, r0 + ble _0804DA42 _0804DA40: - movs r1, #0 + 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 + 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 + 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 + 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 + 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 + cmp r0, #0 + bge _0804DAAC + movs r0, #0 _0804DAAA: - strh r0, [r1] + strh r0, [r1] _0804DAAC: - bl sub_4DFA0 - ldr r3, _0804DB14 @ =0x0200B0C0 - 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 + bl sub_4DFA0 + ldr r3, _0804DB14 @ =0x0200B0C0 + 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 0x0200B0C0 _0804DB18: .4byte 0x020314E0 _0804DB1C: .4byte 0x000002AA @@ -152706,99 +152706,99 @@ _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 + movs r0, #8 + rsbs r0, r0, #0 + cmp r1, r0 + bge _0804DB36 + ldr r2, _0804DBE0 @ =0x0000FFF8 _0804DB36: - ldr r3, _0804DBE4 @ =0x0200B0C0 - cmp r2, #0 - beq _0804DB46 - ldr r4, _0804DBE8 @ =0x000002F6 - adds r1, r3, r4 - ldrh r0, [r1] - subs r0, r0, r2 - strh r0, [r1] + ldr r3, _0804DBE4 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _0804DBE8: .4byte 0x000002F6 @@ -152807,204 +152807,204 @@ _0804DBF0: .4byte 0x000002AA _0804DBF4: .4byte 0x00000121 _0804DBF8: .4byte 0x000005FC - thumb_func_start sub_4DBFC + thumb_func_start sub_4DBFC sub_4DBFC: @ 0x0804DBFC - push {r4, r5, r6, r7, lr} - movs r6, #0x80 - lsls r6, r6, #5 - ldr r0, _0804DC48 @ =0x0200B0C0 - ldrb r0, [r0, #0xf] - movs r1, #0x41 - rsbs r1, r1, #0 - ands r0, r1 - cmp r0, #0 - bne _0804DC14 - bl sub_4E468 + push {r4, r5, r6, r7, lr} + movs r6, #0x80 + lsls r6, r6, #5 + ldr r0, _0804DC48 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _0804DC4C: .4byte 0x020314E0 _0804DC50: .4byte 0x000005FB _0804DC54: .4byte 0x000005FC _0804DC58: .4byte 0x000005FE _0804DC5C: - adds r0, r3, #1 - strh r0, [r1] - b _0804DC66 + adds r0, r3, #1 + strh r0, [r1] + b _0804DC66 _0804DC62: - movs r0, #0 - strb r0, [r4] + 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 + 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 + 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 + 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 + 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 + movs r0, #0x50 + rsbs r0, r0, #0 + cmp r1, r0 + ble _0804DCE6 _0804DCE4: - movs r1, #0 + 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 + 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] + asrs r1, r0, #8 + adds r0, r2, #0 + adds r0, #0x4e + strh r1, [r0] _0804DD0C: - bl sub_4DFA0 - ldr r2, _0804DD88 @ =0x0200B0C0 - 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 + bl sub_4DFA0 + ldr r2, _0804DD88 @ =0x0200B0C0 + 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 0x0200B0C0 @@ -153012,817 +153012,817 @@ _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 + 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] + 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 @ =0x0200B0C0 - 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 + ldr r1, _0804DDE4 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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 + .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 + 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 + 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 + 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 + 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 + 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 + adds r0, r4, r2 _0804DF16: - strh r1, [r0] + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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] + 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] + 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 + 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] + 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 + 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 + 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] + 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 + 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 + 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] + 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 + 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 + 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] + 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] + 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 + 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 + 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] + 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 + 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] + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 @@ -153832,102 +153832,102 @@ _0804E3F8: .4byte 0x02031520 _0804E3FC: .4byte 0x0200B0C0 _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] + 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 + 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 + 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 @ =0x0200B0C0 - 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 + 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 @ =0x0200B0C0 + 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 @@ -153935,90 +153935,90 @@ _0804E4D0: .4byte 0x02031520 _0804E4D4: .4byte 0x0200B0C0 _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] + 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] + 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] + 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 + 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 @@ -154027,199 +154027,199 @@ _0804E58C: .4byte 0x05000220 _0804E590: .4byte 0x80000010 _0804E594: .4byte 0x0000132C - thumb_func_start sub_4E598 + 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] + 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] + 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] + 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] + 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] + 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 @ =0x0200B0C0 - cmp r0, #2 - bne _0804E654 - movs r0, #9 - ldrsb r0, [r6, r0] - cmp r0, #0 - bne _0804E69C + 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 @ =0x0200B0C0 + 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] + 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 + 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 @@ -154237,89 +154237,89 @@ _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 + 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] + 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 + 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 @@ -154332,218 +154332,218 @@ _0804E808: .4byte 0x000002A5 _0804E80C: .4byte 0x0000016F _0804E810: .4byte 0x000002AA - thumb_func_start sub_4E814 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 + 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 + 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 @@ -154554,231 +154554,231 @@ _0804E9E4: .4byte 0x80000010 _0804E9E8: .4byte 0x80000020 _0804E9EC: .4byte 0x80000030 - thumb_func_start sub_4E9F0 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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 @@ -154787,128 +154787,128 @@ _0804EBC4: .4byte 0x086B09E8 _0804EBC8: .4byte 0x040000D4 _0804EBCC: .4byte 0x80000020 - thumb_func_start sub_4EBD0 + 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 + 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] + 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 + 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 + 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 @@ -154916,112 +154916,112 @@ _0804ECD0: .4byte 0x086B0BC4 _0804ECD4: .4byte 0x040000D4 _0804ECD8: .4byte 0x80000020 - thumb_func_start sub_4ECDC + 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 + 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 + 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 + movs r0, #1 + strb r0, [r1] + b _0804ED46 + .align 2, 0 _0804ED20: .4byte 0x00000726 _0804ED24: - ldr r0, _0804ED38 @ =0x0200B0C0 - 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 + ldr r0, _0804ED38 @ =0x0200B0C0 + 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 0x0200B0C0 _0804ED3C: .4byte 0x00000726 _0804ED40: - ldr r1, _0804EDA8 @ =0x00000726 - adds r0, r3, r1 - strb r2, [r0] + 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] + 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 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0804EDA8: .4byte 0x00000726 _0804EDAC: .4byte 0x086B0A90 _0804EDB0: .4byte 0x040000D4 @@ -155029,188 +155029,188 @@ _0804EDB4: .4byte 0x80000060 _0804EDB8: .4byte 0x80000050 _0804EDBC: .4byte 0x80000020 - thumb_func_start sub_4EDC0 + 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 + 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] + 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] + 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] + 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 + 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 + 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 + 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] + 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] + 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] + 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] + 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 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0804EF18: .4byte 0x020314E0 _0804EF1C: .4byte 0x00000729 _0804EF20: .4byte 0x00000734 @@ -155220,216 +155220,216 @@ _0804EF2C: .4byte 0x80000020 _0804EF30: .4byte 0x80000040 _0804EF34: .4byte 0x80000030 - thumb_func_start sub_4EF38 + 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 + 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] + 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 + 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 + 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] + 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] + 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 + 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 + 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] + 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 + 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] + 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 + 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 @@ -155440,136 +155440,136 @@ _0804F0E4: .4byte 0x040000D4 _0804F0E8: .4byte 0x80000020 _0804F0EC: .4byte 0x80000040 - thumb_func_start sub_4F0F0 + 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 + 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 + 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 @ =0x0200B0C0 - 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] + 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 @ =0x0200B0C0 + 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] + 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] + 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 + 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 @ =0x0200B0C0 - ldr r0, [r0, #0x44] - adds r0, #0xac - ldr r1, [r0] - movs r0, #1 - strh r0, [r1] + ldr r0, [r5] + adds r0, r0, r4 + ldrb r0, [r0] + cmp r0, #0x3c + bne _0804F1C2 + ldr r0, _0804F1F4 @ =0x0200B0C0 + 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 + 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 @@ -155585,559 +155585,559 @@ _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] + 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] + ldr r0, [r5] + adds r0, r0, r1 + strb r3, [r0] _0804F24C: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0804F254: .4byte 0x0000071A - thumb_func_start sub_4F258 + 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 + 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 + 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 + 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 + 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] + movs r0, #0 + strh r0, [r2] + ldrb r0, [r3] + subs r0, #1 + strb r0, [r3] _0804F306: - pop {r4, r5} - pop {r0} - bx r0 + pop {r4, r5} + pop {r0} + bx r0 - thumb_func_start sub_4F30C + 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 + 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 + 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 + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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] + 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] + 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] + 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 + add sp, #8 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0804F648: .4byte 0x00000739 _0804F64C: .4byte 0x0000073A _0804F650: .4byte 0x086B0C04 @@ -156145,220 +156145,220 @@ _0804F654: .4byte 0x00000107 _0804F658: .4byte 0x040000D4 _0804F65C: .4byte 0x80000030 - thumb_func_start sub_4F660 + 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 + 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 + 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 + 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 + 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 + 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] + 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] + 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] + 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] + 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 + add sp, #8 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0804F7F8: .4byte 0x00000736 _0804F7FC: .4byte 0x00000737 _0804F800: .4byte 0x086B0D6C @@ -156367,320 +156367,320 @@ _0804F808: .4byte 0x040000D4 _0804F80C: .4byte 0x80000030 _0804F810: .4byte 0x80000020 - thumb_func_start sub_4F814 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + 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] + 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 + 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 + 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 + 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 + 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 @@ -156691,112 +156691,112 @@ _0804FAB4: .4byte 0x80000010 _0804FAB8: .4byte 0x80000020 _0804FABC: .4byte 0x80000030 - thumb_func_start sub_4FAC0 + 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 + 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 + thumb_func_start sub_4FB08 sub_4FB08: @ 0x0804FB08 - push {r4, r5, lr} - ldr r0, _0804FB88 @ =0x0200B0C0 - 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] + push {r4, r5, lr} + ldr r0, _0804FB88 @ =0x0200B0C0 + 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] + 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] + 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 + 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 0x0200B0C0 _0804FB8C: .4byte 0x086B0F4C _0804FB90: .4byte 0x020314E0 @@ -156805,103 +156805,103 @@ _0804FB98: .4byte 0x80000020 _0804FB9C: .4byte 0x80000040 _0804FBA0: .4byte 0x80000030 - thumb_func_start sub_4FBA4 + 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] + 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 + 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 + 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 @@ -156910,128 +156910,128 @@ _0804FC70: .4byte 0x086B1124 _0804FC74: .4byte 0x040000D4 _0804FC78: .4byte 0x80000020 - thumb_func_start sub_4FC7C + 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 + 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] + 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 + 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 + 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 @@ -157039,112 +157039,112 @@ _0804FD7C: .4byte 0x086B1300 _0804FD80: .4byte 0x040000D4 _0804FD84: .4byte 0x80000020 - thumb_func_start sub_4FD88 + 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 + 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 + 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 + movs r0, #1 + strb r0, [r1] + b _0804FDF2 + .align 2, 0 _0804FDCC: .4byte 0x00000726 _0804FDD0: - ldr r0, _0804FDE4 @ =0x0200B0C0 - 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 + ldr r0, _0804FDE4 @ =0x0200B0C0 + 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 0x0200B0C0 _0804FDE8: .4byte 0x00000726 _0804FDEC: - ldr r1, _0804FE54 @ =0x00000726 - adds r0, r3, r1 - strb r2, [r0] + 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] + 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 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0804FE54: .4byte 0x00000726 _0804FE58: .4byte 0x086B11CC _0804FE5C: .4byte 0x040000D4 @@ -157152,204 +157152,204 @@ _0804FE60: .4byte 0x80000070 _0804FE64: .4byte 0x80000060 _0804FE68: .4byte 0x80000020 - thumb_func_start sub_4FE6C + 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 + 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 + 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 + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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 + add sp, #8 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _0804FFE4: .4byte 0x086B13F4 _0804FFE8: .4byte 0x040000D4 _0804FFEC: .4byte 0x80000020 @@ -157358,90 +157358,90 @@ _0804FFF4: .4byte 0x00000105 _0804FFF8: .4byte 0x086B146C _0804FFFC: .4byte 0x00000107 - thumb_func_start sub_50000 + 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 + 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] + 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] + 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] + 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 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _0805009C: .4byte 0x020314E0 _080500A0: .4byte 0x00000734 _080500A4: .4byte 0x086B11FC @@ -157449,81 +157449,81 @@ _080500A8: .4byte 0x040000D4 _080500AC: .4byte 0x80000020 _080500B0: .4byte 0x80000040 - thumb_func_start sub_500B4 + 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 + 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] + 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] + 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] + 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 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0805013C: .4byte 0x020314E0 _08050140: .4byte 0x00000729 _08050144: .4byte 0x00000734 @@ -157531,220 +157531,220 @@ _08050148: .4byte 0x086B122C _0805014C: .4byte 0x040000D4 _08050150: .4byte 0x80000040 - thumb_func_start sub_50154 + 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 + 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 + 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 + 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 + 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 + 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] + 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] + 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] + 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] + 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 + add sp, #8 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _080502F0: .4byte 0x00000739 _080502F4: .4byte 0x0000073A _080502F8: .4byte 0x086B1340 @@ -157753,220 +157753,220 @@ _08050300: .4byte 0x040000D4 _08050304: .4byte 0x80000030 _08050308: .4byte 0x80000020 - thumb_func_start sub_5030C + 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 + 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 + 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 + 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 + 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 + 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] + 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] + 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] + 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] + 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 + add sp, #8 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _080504A4: .4byte 0x00000736 _080504A8: .4byte 0x00000737 _080504AC: .4byte 0x086B14A8 @@ -157975,113 +157975,113 @@ _080504B4: .4byte 0x040000D4 _080504B8: .4byte 0x80000030 _080504BC: .4byte 0x80000020 - thumb_func_start sub_504C0 + 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] + 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 + 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] + 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] + 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] + 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] + 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 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08050584: .4byte 0x020314E0 _08050588: .4byte 0x00000731 _0805058C: .4byte 0x0000072F @@ -158091,243 +158091,243 @@ _08050598: .4byte 0x040000D4 _0805059C: .4byte 0x80000030 _080505A0: .4byte 0x80000040 - thumb_func_start sub_505A4 + 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 + 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] + 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 + 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 + 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] + 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] + 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] + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 @@ -158335,187 +158335,187 @@ _0805077C: .4byte 0x040000D4 _08050780: .4byte 0x086B0F9C _08050784: .4byte 0x80000020 _08050788: - movs r2, #0 + 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 + 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 + 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 + 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 + 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] + 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 + 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 + thumb_func_start sub_50848 sub_50848: @ 0x08050848 - push {r4, r5, r6, r7, lr} - movs r0, #0 - ldr r4, _080508E8 @ =0x0200B0C0 - ldr r7, _080508EC @ =0x086B155C - adds r6, r4, #0 - movs r5, #0xb8 - movs r3, #0xbe - lsls r3, r3, #2 - movs r2, #0 + push {r4, r5, r6, r7, lr} + movs r0, #0 + ldr r4, _080508E8 @ =0x0200B0C0 + 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 sub_358 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + 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 sub_358 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _080508E8: .4byte 0x0200B0C0 _080508EC: .4byte 0x086B155C _080508F0: .4byte 0x000030F8 @@ -158529,117 +158529,117 @@ _0805090C: .4byte 0x000027A0 _08050910: .4byte 0x00002ED0 _08050914: .4byte 0x00002858 - thumb_func_start sub_50918 + thumb_func_start sub_50918 sub_50918: @ 0x08050918 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r2, _080509EC @ =0x0200B0C0 - 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 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r2, _080509EC @ =0x0200B0C0 + 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] + 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] + 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 + 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 0x0200B0C0 _080509F0: .4byte 0x00000A28 _080509F4: .4byte 0x00002578 @@ -158652,87 +158652,87 @@ _08050A0C: .4byte 0x000027A0 _08050A10: .4byte 0x00002ED0 _08050A14: .4byte 0x000030F8 _08050A18: - ldr r3, _08050AB0 @ =0x00002F88 - adds r0, r5, r3 + ldr r3, _08050AB0 @ =0x00002F88 + adds r0, r5, r3 _08050A1C: - strh r1, [r0] + 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] + 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] + 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] + 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] + 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 sub_358 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + 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 sub_358 + 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 @@ -158743,77 +158743,77 @@ _08050AC8: .4byte 0x00002B38 _08050ACC: .4byte 0x000029C8 _08050AD0: .4byte 0x00000A28 - thumb_func_start sub_50AD4 + thumb_func_start sub_50AD4 sub_50AD4: @ 0x08050AD4 - push {r4, r5, r6, r7, lr} - movs r0, #0 - ldr r3, _08050B5C @ =0x0200B0C0 - ldr r7, _08050B60 @ =0x086B155C - adds r6, r3, #0 - movs r5, #0xb8 - movs r4, #0xbe - lsls r4, r4, #2 - movs r2, #0 + push {r4, r5, r6, r7, lr} + movs r0, #0 + ldr r3, _08050B5C @ =0x0200B0C0 + 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 sub_358 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + 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 sub_358 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08050B5C: .4byte 0x0200B0C0 _08050B60: .4byte 0x086B155C _08050B64: .4byte 0x000036B8 @@ -158824,198 +158824,198 @@ _08050B74: .4byte 0x00003828 _08050B78: .4byte 0x000014F0 _08050B7C: .4byte 0x00004010 - thumb_func_start sub_50B80 + 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 @ =0x0200B0C0 - mov sb, r1 - mov r5, sb - movs r4, #0xb8 - movs r3, #0xbe - lsls r3, r3, #2 - movs r2, #0 + 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 @ =0x0200B0C0 + 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] + 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] + 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] + 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] + 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] + 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] + 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] + 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 sub_358 - 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 + 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 sub_358 + 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 0x0200B0C0 _08050CF4: .4byte 0x00002858 _08050CF8: .4byte 0x000036B8 @@ -159039,220 +159039,220 @@ _08050D3C: .4byte 0x000031B0 _08050D40: .4byte 0x00002BF0 _08050D44: .4byte 0x086B155C - thumb_func_start sub_50D48 + thumb_func_start sub_50D48 sub_50D48: @ 0x08050D48 - push {r4, r5, r6, r7, lr} - movs r1, #0 - ldr r6, _08050D74 @ =0x0200B0C0 - ldr r0, _08050D78 @ =0x086B155C - mov ip, r0 - adds r5, r6, #0 - movs r4, #0xb8 - movs r2, #0xbe - lsls r2, r2, #2 - movs r7, #1 + push {r4, r5, r6, r7, lr} + movs r1, #0 + ldr r6, _08050D74 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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] + 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 sub_358 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_start sub_50DB8 + 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 sub_358 + 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 @ =0x0200B0C0 - 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 sub_358 - pop {r0} - bx r0 - .align 2, 0 + push {lr} + ldr r0, _08050DD8 @ =0x086B155C + ldr r2, _08050DDC @ =0x0200B0C0 + 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 sub_358 + pop {r0} + bx r0 + .align 2, 0 _08050DD8: .4byte 0x086B155C _08050DDC: .4byte 0x0200B0C0 - thumb_func_start sub_50DE0 + thumb_func_start sub_50DE0 sub_50DE0: @ 0x08050DE0 - push {r4, r5, r6, r7, lr} - movs r1, #0 - ldr r2, _08050E0C @ =0x0200B0C0 - ldr r0, _08050E10 @ =0x086B155C - mov ip, r0 - adds r6, r2, #0 - movs r5, #0xb8 - movs r4, #0xbe - lsls r4, r4, #2 - movs r7, #1 + push {r4, r5, r6, r7, lr} + movs r1, #0 + ldr r2, _08050E0C @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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] + 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 sub_358 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + 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 sub_358 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08050EE8: .4byte 0x00001438 _08050EEC: .4byte 0x00000E78 _08050EF0: .4byte 0x00000A28 @@ -159260,567 +159260,567 @@ _08050EF4: .4byte 0x00000FE8 _08050EF8: .4byte 0x000014F0 _08050EFC: .4byte 0x000017D0 - thumb_func_start nullsub_20 + thumb_func_start nullsub_20 nullsub_20: @ 0x08050F00 - bx lr + bx lr - thumb_func_start sub_50F04 + thumb_func_start sub_50F04 sub_50F04: @ 0x08050F04 - push {r4, r5, r6, r7, lr} - movs r1, #0 - ldr r2, _08050F30 @ =0x0200B0C0 - ldr r0, _08050F34 @ =0x086B155C - mov ip, r0 - adds r6, r2, #0 - movs r5, #0xb8 - movs r4, #0xbe - lsls r4, r4, #2 - movs r7, #1 + push {r4, r5, r6, r7, lr} + movs r1, #0 + ldr r2, _08050F30 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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] + 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 sub_358 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + 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 sub_358 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08050FA8: .4byte 0x00001210 - thumb_func_start sub_50FAC + thumb_func_start sub_50FAC sub_50FAC: @ 0x08050FAC - push {lr} - ldr r0, _08050FCC @ =0x086B155C - ldr r2, _08050FD0 @ =0x0200B0C0 - 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 sub_358 - pop {r0} - bx r0 - .align 2, 0 + push {lr} + ldr r0, _08050FCC @ =0x086B155C + ldr r2, _08050FD0 @ =0x0200B0C0 + 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 sub_358 + pop {r0} + bx r0 + .align 2, 0 _08050FCC: .4byte 0x086B155C _08050FD0: .4byte 0x0200B0C0 - thumb_func_start sub_50FD4 + thumb_func_start sub_50FD4 sub_50FD4: @ 0x08050FD4 - push {r4, r5, r6, r7, lr} - movs r1, #0 - ldr r2, _08051000 @ =0x0200B0C0 - ldr r0, _08051004 @ =0x086B155C - mov ip, r0 - adds r6, r2, #0 - movs r5, #0xb8 - movs r4, #0xbe - lsls r4, r4, #2 - movs r7, #1 + push {r4, r5, r6, r7, lr} + movs r1, #0 + ldr r2, _08051000 @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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] + 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 sub_358 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + 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 sub_358 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08051064: .4byte 0x000017D0 - thumb_func_start sub_51068 + thumb_func_start sub_51068 sub_51068: @ 0x08051068 - push {lr} - ldr r0, _08051088 @ =0x086B155C - ldr r2, _0805108C @ =0x0200B0C0 - 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 sub_358 - pop {r0} - bx r0 - .align 2, 0 + push {lr} + ldr r0, _08051088 @ =0x086B155C + ldr r2, _0805108C @ =0x0200B0C0 + 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 sub_358 + pop {r0} + bx r0 + .align 2, 0 _08051088: .4byte 0x086B155C _0805108C: .4byte 0x0200B0C0 - thumb_func_start sub_51090 + thumb_func_start sub_51090 sub_51090: @ 0x08051090 - push {r4, r5, r6, r7, lr} - movs r1, #0 - ldr r2, _080510BC @ =0x0200B0C0 - ldr r0, _080510C0 @ =0x086B155C - mov ip, r0 - adds r6, r2, #0 - movs r5, #0xb8 - movs r4, #0xbe - lsls r4, r4, #2 - movs r7, #1 + push {r4, r5, r6, r7, lr} + movs r1, #0 + ldr r2, _080510BC @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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] + 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 sub_358 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + 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 sub_358 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08051120: .4byte 0x00002128 _08051124: .4byte 0x00001210 - thumb_func_start sub_51128 + thumb_func_start sub_51128 sub_51128: @ 0x08051128 - push {lr} - ldr r0, _08051148 @ =0x086B155C - ldr r2, _0805114C @ =0x0200B0C0 - 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 sub_358 - pop {r0} - bx r0 - .align 2, 0 + push {lr} + ldr r0, _08051148 @ =0x086B155C + ldr r2, _0805114C @ =0x0200B0C0 + 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 sub_358 + pop {r0} + bx r0 + .align 2, 0 _08051148: .4byte 0x086B155C _0805114C: .4byte 0x0200B0C0 - thumb_func_start sub_51150 + thumb_func_start sub_51150 sub_51150: @ 0x08051150 - push {r4, r5, r6, r7, lr} - movs r1, #0 - ldr r2, _0805117C @ =0x0200B0C0 - ldr r0, _08051180 @ =0x086B155C - mov ip, r0 - adds r6, r2, #0 - movs r5, #0xb8 - movs r4, #0xbe - lsls r4, r4, #2 - movs r7, #1 + push {r4, r5, r6, r7, lr} + movs r1, #0 + ldr r2, _0805117C @ =0x0200B0C0 + 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 + 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 0x0200B0C0 _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] + 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 sub_358 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + 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 sub_358 + 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 + thumb_func_start sub_511F8 sub_511F8: @ 0x080511F8 - push {lr} - ldr r0, _08051218 @ =0x086B155C - ldr r2, _0805121C @ =0x0200B0C0 - 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 sub_358 - pop {r0} - bx r0 - .align 2, 0 + push {lr} + ldr r0, _08051218 @ =0x086B155C + ldr r2, _0805121C @ =0x0200B0C0 + 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 sub_358 + pop {r0} + bx r0 + .align 2, 0 _08051218: .4byte 0x086B155C _0805121C: .4byte 0x0200B0C0 - thumb_func_start sub_51220 + thumb_func_start sub_51220 sub_51220: @ 0x08051220 - push {lr} - ldr r1, _08051238 @ =0x08527F08 - ldr r0, _0805123C @ =0x0200B0C0 - 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 + push {lr} + ldr r1, _08051238 @ =0x08527F08 + ldr r0, _0805123C @ =0x0200B0C0 + 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 _08051238: .4byte 0x08527F08 _0805123C: .4byte 0x0200B0C0 - thumb_func_start sub_51240 + thumb_func_start sub_51240 sub_51240: @ 0x08051240 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #4 - bl sub_438 - movs r2, #0x80 - lsls r2, r2, #0x13 - movs r1, #0x84 - lsls r1, r1, #5 - adds r0, r1, #0 - strh r0, [r2] - ldr r1, _08051358 @ =0x04000008 - movs r0, #4 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0805135C @ =0x0400000A - adds r3, #9 - adds r0, r3, #0 - strh r0, [r1] - ldrh r0, [r2] - adds r3, #0xf7 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _08051360 @ =0x0200B0C0 - mov sb, r0 - ldrh r0, [r2] - mov r1, sb - strh r0, [r1, #0x16] - ldr r5, _08051364 @ =0x040000D4 - ldr r0, _08051368 @ =0x0852B468 - str r0, [r5] - movs r0, #0xa0 - lsls r0, r0, #0x13 - str r0, [r5, #4] - ldr r0, _0805136C @ =0x80000100 - str r0, [r5, #8] - ldr r0, [r5, #8] - ldr r0, _08051370 @ =0x08528828 - str r0, [r5] - ldr r0, _08051374 @ =0x06004000 - str r0, [r5, #4] - ldr r0, _08051378 @ =0x80000C00 - str r0, [r5, #8] - ldr r0, [r5, #8] - ldr r0, _0805137C @ =0x0852A848 - str r0, [r5] - ldr r0, _08051380 @ =0x06008000 - str r0, [r5, #4] - ldr r0, _08051384 @ =0x80000600 - str r0, [r5, #8] - ldr r0, [r5, #8] - ldr r0, _08051388 @ =0x08528028 - str r0, [r5] - ldr r7, _0805138C @ =0x03005C00 - str r7, [r5, #4] - ldr r6, _08051390 @ =0x80000400 - str r6, [r5, #8] - ldr r0, [r5, #8] - str r7, [r5] - movs r3, #0xc0 - lsls r3, r3, #0x13 - mov r8, r3 - str r3, [r5, #4] - str r6, [r5, #8] - ldr r0, [r5, #8] - ldr r0, _08051394 @ =0x02019C0C - ldr r0, [r0] - cmp r0, #1 - beq _080512F8 - movs r4, #2 - str r4, [sp] - movs r0, #0x12 - movs r1, #4 - movs r2, #2 - movs r3, #1 - bl sub_1068C - str r4, [sp] - movs r0, #0x12 - movs r1, #5 - movs r2, #3 - movs r3, #2 - bl sub_1068C + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + sub sp, #4 + bl sub_438 + movs r2, #0x80 + lsls r2, r2, #0x13 + movs r1, #0x84 + lsls r1, r1, #5 + adds r0, r1, #0 + strh r0, [r2] + ldr r1, _08051358 @ =0x04000008 + movs r0, #4 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #1 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0805135C @ =0x0400000A + adds r3, #9 + adds r0, r3, #0 + strh r0, [r1] + ldrh r0, [r2] + adds r3, #0xf7 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r0, _08051360 @ =0x0200B0C0 + mov sb, r0 + ldrh r0, [r2] + mov r1, sb + strh r0, [r1, #0x16] + ldr r5, _08051364 @ =0x040000D4 + ldr r0, _08051368 @ =0x0852B468 + str r0, [r5] + movs r0, #0xa0 + lsls r0, r0, #0x13 + str r0, [r5, #4] + ldr r0, _0805136C @ =0x80000100 + str r0, [r5, #8] + ldr r0, [r5, #8] + ldr r0, _08051370 @ =0x08528828 + str r0, [r5] + ldr r0, _08051374 @ =0x06004000 + str r0, [r5, #4] + ldr r0, _08051378 @ =0x80000C00 + str r0, [r5, #8] + ldr r0, [r5, #8] + ldr r0, _0805137C @ =0x0852A848 + str r0, [r5] + ldr r0, _08051380 @ =0x06008000 + str r0, [r5, #4] + ldr r0, _08051384 @ =0x80000600 + str r0, [r5, #8] + ldr r0, [r5, #8] + ldr r0, _08051388 @ =0x08528028 + str r0, [r5] + ldr r7, _0805138C @ =0x03005C00 + str r7, [r5, #4] + ldr r6, _08051390 @ =0x80000400 + str r6, [r5, #8] + ldr r0, [r5, #8] + str r7, [r5] + movs r3, #0xc0 + lsls r3, r3, #0x13 + mov r8, r3 + str r3, [r5, #4] + str r6, [r5, #8] + ldr r0, [r5, #8] + ldr r0, _08051394 @ =0x02019C0C + ldr r0, [r0] + cmp r0, #1 + beq _080512F8 + movs r4, #2 + str r4, [sp] + movs r0, #0x12 + movs r1, #4 + movs r2, #2 + movs r3, #1 + bl sub_1068C + str r4, [sp] + movs r0, #0x12 + movs r1, #5 + movs r2, #3 + movs r3, #2 + bl sub_1068C _080512F8: - str r7, [r5] - mov r0, r8 - str r0, [r5, #4] - str r6, [r5, #8] - ldr r0, [r5, #8] - ldr r0, _08051398 @ =0x0852A048 - str r0, [r5] - ldr r0, _0805139C @ =0x06000800 - str r0, [r5, #4] - str r6, [r5, #8] - ldr r0, [r5, #8] - ldr r0, _080513A0 @ =0x0852B668 - str r0, [r5] - ldr r0, _080513A4 @ =0x05000200 - str r0, [r5, #4] - ldr r0, _080513A8 @ =0x80000030 - str r0, [r5, #8] - ldr r0, [r5, #8] - ldr r0, _080513AC @ =0x0852B868 - str r0, [r5] - ldr r0, _080513B0 @ =0x06010000 - str r0, [r5, #4] - ldr r0, _080513B4 @ =0x80001010 - str r0, [r5, #8] - ldr r0, [r5, #8] - bl sub_513B8 - bl sub_51C9C - bl m4aMPlayAllStop - bl sub_CBC - bl sub_24C - bl sub_10C0 - mov r1, sb - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - add sp, #4 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 + str r7, [r5] + mov r0, r8 + str r0, [r5, #4] + str r6, [r5, #8] + ldr r0, [r5, #8] + ldr r0, _08051398 @ =0x0852A048 + str r0, [r5] + ldr r0, _0805139C @ =0x06000800 + str r0, [r5, #4] + str r6, [r5, #8] + ldr r0, [r5, #8] + ldr r0, _080513A0 @ =0x0852B668 + str r0, [r5] + ldr r0, _080513A4 @ =0x05000200 + str r0, [r5, #4] + ldr r0, _080513A8 @ =0x80000030 + str r0, [r5, #8] + ldr r0, [r5, #8] + ldr r0, _080513AC @ =0x0852B868 + str r0, [r5] + ldr r0, _080513B0 @ =0x06010000 + str r0, [r5, #4] + ldr r0, _080513B4 @ =0x80001010 + str r0, [r5, #8] + ldr r0, [r5, #8] + bl sub_513B8 + bl sub_51C9C + bl m4aMPlayAllStop + bl sub_CBC + bl sub_24C + bl sub_10C0 + mov r1, sb + ldrb r0, [r1, #3] + adds r0, #1 + strb r0, [r1, #3] + add sp, #4 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .align 2, 0 _08051358: .4byte 0x04000008 _0805135C: .4byte 0x0400000A _08051360: .4byte 0x0200B0C0 @@ -159846,1038 +159846,1038 @@ _080513AC: .4byte 0x0852B868 _080513B0: .4byte 0x06010000 _080513B4: .4byte 0x80001010 - thumb_func_start sub_513B8 + thumb_func_start sub_513B8 sub_513B8: @ 0x080513B8 - push {r4, r5, r6, lr} - ldr r0, _08051468 @ =0x02002920 - mov ip, r0 - movs r2, #0 - movs r1, #0 - strh r1, [r0] - strh r1, [r0, #2] - strh r1, [r0, #4] - movs r3, #1 - movs r0, #1 - mov r4, ip - strh r0, [r4, #6] - strh r1, [r4, #8] - strh r1, [r4, #0xa] - ldr r0, _0805146C @ =0x0200B134 - adds r0, #0xcf - ldrb r0, [r0] - strh r0, [r4, #0xc] - strh r1, [r4, #0xe] - strh r1, [r4, #0x10] - strb r2, [r4, #0x12] - strb r2, [r4, #0x13] - strb r3, [r4, #0x14] - strb r2, [r4, #0x15] - strb r2, [r4, #0x16] - strb r3, [r4, #0x17] - strh r1, [r4, #0x18] - mov r2, ip - movs r3, #0 - movs r1, #5 - adds r0, r2, #0 - adds r0, #0x1f + push {r4, r5, r6, lr} + ldr r0, _08051468 @ =0x02002920 + mov ip, r0 + movs r2, #0 + movs r1, #0 + strh r1, [r0] + strh r1, [r0, #2] + strh r1, [r0, #4] + movs r3, #1 + movs r0, #1 + mov r4, ip + strh r0, [r4, #6] + strh r1, [r4, #8] + strh r1, [r4, #0xa] + ldr r0, _0805146C @ =0x0200B134 + adds r0, #0xcf + ldrb r0, [r0] + strh r0, [r4, #0xc] + strh r1, [r4, #0xe] + strh r1, [r4, #0x10] + strb r2, [r4, #0x12] + strb r2, [r4, #0x13] + strb r3, [r4, #0x14] + strb r2, [r4, #0x15] + strb r2, [r4, #0x16] + strb r3, [r4, #0x17] + strh r1, [r4, #0x18] + mov r2, ip + movs r3, #0 + movs r1, #5 + adds r0, r2, #0 + adds r0, #0x1f _080513F8: - strb r3, [r0] - subs r0, #1 - subs r1, #1 - cmp r1, #0 - bge _080513F8 - movs r0, #0 - strh r0, [r2, #0x20] - strh r0, [r2, #0x22] - movs r3, #0xa - movs r1, #1 - adds r0, r2, #0 - adds r0, #0x26 + strb r3, [r0] + subs r0, #1 + subs r1, #1 + cmp r1, #0 + bge _080513F8 + movs r0, #0 + strh r0, [r2, #0x20] + strh r0, [r2, #0x22] + movs r3, #0xa + movs r1, #1 + adds r0, r2, #0 + adds r0, #0x26 _08051410: - strh r3, [r0] - subs r0, #2 - subs r1, #1 - cmp r1, #0 - bge _08051410 - movs r0, #0 - strh r0, [r2, #0x28] - movs r1, #0 - ldr r6, _08051470 @ =0x02031AF0 - ldr r5, _08051474 @ =0x08527ED6 + strh r3, [r0] + subs r0, #2 + subs r1, #1 + cmp r1, #0 + bge _08051410 + movs r0, #0 + strh r0, [r2, #0x28] + movs r1, #0 + ldr r6, _08051470 @ =0x02031AF0 + ldr r5, _08051474 @ =0x08527ED6 _08051424: - adds r4, r1, #1 - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r2, r0, r5 - adds r1, r0, r6 - movs r3, #9 + adds r4, r1, #1 + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r2, r0, r5 + adds r1, r0, r6 + movs r3, #9 _08051432: - ldrb r0, [r2] - strb r0, [r1] - adds r2, #1 - adds r1, #1 - subs r3, #1 - cmp r3, #0 - bge _08051432 - adds r1, r4, #0 - cmp r1, #3 - ble _08051424 - bl sub_52528 - ldr r0, _08051478 @ =0x02019C0C - ldr r4, [r0] - cmp r4, #1 - bne _0805147C - ldr r3, _08051468 @ =0x02002920 - ldr r0, _0805146C @ =0x0200B134 - adds r0, #0xcd - ldrb r1, [r0] - adds r2, r3, #0 - adds r2, #0x2a - strb r1, [r2] - strb r4, [r0] - adds r2, r3, #0 - b _0805148C - .align 2, 0 + ldrb r0, [r2] + strb r0, [r1] + adds r2, #1 + adds r1, #1 + subs r3, #1 + cmp r3, #0 + bge _08051432 + adds r1, r4, #0 + cmp r1, #3 + ble _08051424 + bl sub_52528 + ldr r0, _08051478 @ =0x02019C0C + ldr r4, [r0] + cmp r4, #1 + bne _0805147C + ldr r3, _08051468 @ =0x02002920 + ldr r0, _0805146C @ =0x0200B134 + adds r0, #0xcd + ldrb r1, [r0] + adds r2, r3, #0 + adds r2, #0x2a + strb r1, [r2] + strb r4, [r0] + adds r2, r3, #0 + b _0805148C + .align 2, 0 _08051468: .4byte 0x02002920 _0805146C: .4byte 0x0200B134 _08051470: .4byte 0x02031AF0 _08051474: .4byte 0x08527ED6 _08051478: .4byte 0x02019C0C _0805147C: - ldr r2, _080514B0 @ =0x02002920 - adds r0, r2, #0 - adds r0, #0x2a - movs r1, #0 - strb r1, [r0] - ldr r0, _080514B4 @ =0x0200B134 - adds r0, #0xcd - strb r1, [r0] + ldr r2, _080514B0 @ =0x02002920 + adds r0, r2, #0 + adds r0, #0x2a + movs r1, #0 + strb r1, [r0] + ldr r0, _080514B4 @ =0x0200B134 + adds r0, #0xcd + strb r1, [r0] _0805148C: - adds r1, r2, #0 - adds r1, #0x2e - movs r0, #0 - strb r0, [r1] - subs r1, #3 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #2 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + adds r1, r2, #0 + adds r1, #0x2e + movs r0, #0 + strb r0, [r1] + subs r1, #3 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #2 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _080514B0: .4byte 0x02002920 _080514B4: .4byte 0x0200B134 - thumb_func_start sub_514B8 + thumb_func_start sub_514B8 sub_514B8: @ 0x080514B8 - push {r4, r5, r6, r7, lr} - bl sub_51C9C - ldr r0, _080514D4 @ =0x02002920 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #4 - bls _080514CA - b _08051B98 + push {r4, r5, r6, r7, lr} + bl sub_51C9C + ldr r0, _080514D4 @ =0x02002920 + movs r1, #0 + ldrsh r0, [r0, r1] + cmp r0, #4 + bls _080514CA + b _08051B98 _080514CA: - lsls r0, r0, #2 - ldr r1, _080514D8 @ =_080514DC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _080514D8 @ =_080514DC + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080514D4: .4byte 0x02002920 _080514D8: .4byte _080514DC _080514DC: @ jump table - .4byte _080514F0 @ case 0 - .4byte _080517A8 @ case 1 - .4byte _080518D4 @ case 2 - .4byte _08051A08 @ case 3 - .4byte _08051AB8 @ case 4 + .4byte _080514F0 @ case 0 + .4byte _080517A8 @ case 1 + .4byte _080518D4 @ case 2 + .4byte _08051A08 @ case 3 + .4byte _08051AB8 @ case 4 _080514F0: - ldr r0, _08051514 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0805152C - ldr r4, _08051518 @ =0x02002920 - movs r2, #0xa - ldrsh r0, [r4, r2] - cmp r0, #0xd - beq _0805156C - cmp r0, #0xe - bne _0805151C - movs r0, #0x67 - bl m4aSongNumStart - movs r0, #0xd - b _0805156A - .align 2, 0 + ldr r0, _08051514 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _0805152C + ldr r4, _08051518 @ =0x02002920 + movs r2, #0xa + ldrsh r0, [r4, r2] + cmp r0, #0xd + beq _0805156C + cmp r0, #0xe + bne _0805151C + movs r0, #0x67 + bl m4aSongNumStart + movs r0, #0xd + b _0805156A + .align 2, 0 _08051514: .4byte 0x0200B0C0 _08051518: .4byte 0x02002920 _0805151C: - cmp r0, #0 - ble _0805156C - movs r0, #0x67 - bl m4aSongNumStart - ldrh r0, [r4, #0xa] - subs r0, #1 - b _0805156A + cmp r0, #0 + ble _0805156C + movs r0, #0x67 + bl m4aSongNumStart + ldrh r0, [r4, #0xa] + subs r0, #1 + b _0805156A _0805152C: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0805156C - ldr r4, _0805154C @ =0x02002920 - movs r3, #0xa - ldrsh r0, [r4, r3] - cmp r0, #5 - bgt _08051550 - movs r0, #0x67 - bl m4aSongNumStart - ldrh r0, [r4, #0xa] - adds r0, #1 - b _0805156A - .align 2, 0 + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _0805156C + ldr r4, _0805154C @ =0x02002920 + movs r3, #0xa + ldrsh r0, [r4, r3] + cmp r0, #5 + bgt _08051550 + movs r0, #0x67 + bl m4aSongNumStart + ldrh r0, [r4, #0xa] + adds r0, #1 + b _0805156A + .align 2, 0 _0805154C: .4byte 0x02002920 _08051550: - cmp r0, #0xd - bne _0805155E - movs r0, #0x67 - bl m4aSongNumStart - movs r0, #0xe - b _0805156A + cmp r0, #0xd + bne _0805155E + movs r0, #0x67 + bl m4aSongNumStart + movs r0, #0xe + b _0805156A _0805155E: - cmp r0, #0xe - bne _0805156C - movs r0, #0x67 - bl m4aSongNumStart - movs r0, #2 + cmp r0, #0xe + bne _0805156C + movs r0, #0x67 + bl m4aSongNumStart + movs r0, #2 _0805156A: - strh r0, [r4, #0xa] + strh r0, [r4, #0xa] _0805156C: - ldr r0, _080515E8 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08051594 - ldr r0, _080515EC @ =0x02019C0C - ldr r0, [r0] - cmp r0, #1 - bne _08051594 - ldr r4, _080515F0 @ =0x02002920 - ldrh r0, [r4, #0xa] - cmp r0, #1 - bhi _08051594 - movs r0, #0x67 - bl m4aSongNumStart - ldrh r0, [r4, #0xa] - adds r0, #0xd - strh r0, [r4, #0xa] + ldr r0, _080515E8 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x10 + ands r0, r1 + cmp r0, #0 + beq _08051594 + ldr r0, _080515EC @ =0x02019C0C + ldr r0, [r0] + cmp r0, #1 + bne _08051594 + ldr r4, _080515F0 @ =0x02002920 + ldrh r0, [r4, #0xa] + cmp r0, #1 + bhi _08051594 + movs r0, #0x67 + bl m4aSongNumStart + ldrh r0, [r4, #0xa] + adds r0, #0xd + strh r0, [r4, #0xa] _08051594: - ldr r0, _080515E8 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080515C2 - ldr r0, _080515EC @ =0x02019C0C - ldr r0, [r0] - cmp r0, #1 - bne _080515C2 - ldr r4, _080515F0 @ =0x02002920 - ldrh r0, [r4, #0xa] - subs r0, #0xd - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #1 - bhi _080515C2 - movs r0, #0x67 - bl m4aSongNumStart - ldrh r0, [r4, #0xa] - subs r0, #0xd - strh r0, [r4, #0xa] + ldr r0, _080515E8 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x20 + ands r0, r1 + cmp r0, #0 + beq _080515C2 + ldr r0, _080515EC @ =0x02019C0C + ldr r0, [r0] + cmp r0, #1 + bne _080515C2 + ldr r4, _080515F0 @ =0x02002920 + ldrh r0, [r4, #0xa] + subs r0, #0xd + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #1 + bhi _080515C2 + movs r0, #0x67 + bl m4aSongNumStart + ldrh r0, [r4, #0xa] + subs r0, #0xd + strh r0, [r4, #0xa] _080515C2: - ldr r4, _080515E8 @ =0x0200B0C0 - ldrh r1, [r4, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080515D0 - b _0805177C + ldr r4, _080515E8 @ =0x0200B0C0 + ldrh r1, [r4, #0x18] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + bne _080515D0 + b _0805177C _080515D0: - ldr r0, _080515F0 @ =0x02002920 - movs r6, #0xa - ldrsh r0, [r0, r6] - cmp r0, #0xe - bls _080515DC - b _08051A96 + ldr r0, _080515F0 @ =0x02002920 + movs r6, #0xa + ldrsh r0, [r0, r6] + cmp r0, #0xe + bls _080515DC + b _08051A96 _080515DC: - lsls r0, r0, #2 - ldr r1, _080515F4 @ =_080515F8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _080515F4 @ =_080515F8 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080515E8: .4byte 0x0200B0C0 _080515EC: .4byte 0x02019C0C _080515F0: .4byte 0x02002920 _080515F4: .4byte _080515F8 _080515F8: @ jump table - .4byte _08051634 @ case 0 - .4byte _08051674 @ case 1 - .4byte _080516B0 @ case 2 - .4byte _080516B0 @ case 3 - .4byte _080516B0 @ case 4 - .4byte _080516B0 @ case 5 - .4byte _080516D0 @ case 6 - .4byte _08051A96 @ case 7 - .4byte _08051A96 @ case 8 - .4byte _08051A96 @ case 9 - .4byte _08051A96 @ case 10 - .4byte _08051A96 @ case 11 - .4byte _08051A96 @ case 12 - .4byte _08051738 @ case 13 - .4byte _080516F8 @ case 14 + .4byte _08051634 @ case 0 + .4byte _08051674 @ case 1 + .4byte _080516B0 @ case 2 + .4byte _080516B0 @ case 3 + .4byte _080516B0 @ case 4 + .4byte _080516B0 @ case 5 + .4byte _080516D0 @ case 6 + .4byte _08051A96 @ case 7 + .4byte _08051A96 @ case 8 + .4byte _08051A96 @ case 9 + .4byte _08051A96 @ case 10 + .4byte _08051A96 @ case 11 + .4byte _08051A96 @ case 12 + .4byte _08051738 @ case 13 + .4byte _080516F8 @ case 14 _08051634: - movs r0, #0x65 - bl m4aSongNumStart - ldr r3, _08051670 @ =0x02002920 - movs r4, #0 - movs r1, #0 - movs r2, #1 - movs r0, #1 - strh r0, [r3] - strh r1, [r3, #0x18] - adds r0, r3, #0 - adds r0, #0x30 - strb r2, [r0] - adds r1, r3, #0 - adds r1, #0x2e - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #1 - beq _0805165C - b _08051A96 + movs r0, #0x65 + bl m4aSongNumStart + ldr r3, _08051670 @ =0x02002920 + movs r4, #0 + movs r1, #0 + movs r2, #1 + movs r0, #1 + strh r0, [r3] + strh r1, [r3, #0x18] + adds r0, r3, #0 + adds r0, #0x30 + strb r2, [r0] + adds r1, r3, #0 + adds r1, #0x2e + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #1 + beq _0805165C + b _08051A96 _0805165C: - adds r0, r3, #0 - adds r0, #0x2b - strb r4, [r0] - adds r0, #2 - strb r4, [r0] - subs r0, #1 - strb r4, [r0] - strb r4, [r1] - b _08051A96 - .align 2, 0 + adds r0, r3, #0 + adds r0, #0x2b + strb r4, [r0] + adds r0, #2 + strb r4, [r0] + subs r0, #1 + strb r4, [r0] + strb r4, [r1] + b _08051A96 + .align 2, 0 _08051670: .4byte 0x02002920 _08051674: - movs r0, #0x65 - bl m4aSongNumStart - ldr r2, _080516AC @ =0x02002920 - movs r3, #0 - movs r1, #0 - movs r0, #2 - strh r0, [r2] - strh r1, [r2, #0x18] - adds r1, r2, #0 - adds r1, #0x30 - movs r0, #1 - strb r0, [r1] - subs r1, #2 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #1 - beq _0805169A - b _08051A96 + movs r0, #0x65 + bl m4aSongNumStart + ldr r2, _080516AC @ =0x02002920 + movs r3, #0 + movs r1, #0 + movs r0, #2 + strh r0, [r2] + strh r1, [r2, #0x18] + adds r1, r2, #0 + adds r1, #0x30 + movs r0, #1 + strb r0, [r1] + subs r1, #2 + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #1 + beq _0805169A + b _08051A96 _0805169A: - adds r0, r2, #0 - adds r0, #0x2b - strb r3, [r0] - adds r0, #2 - strb r3, [r0] - subs r0, #1 - strb r3, [r0] - strb r3, [r1] - b _08051A96 - .align 2, 0 + adds r0, r2, #0 + adds r0, #0x2b + strb r3, [r0] + adds r0, #2 + strb r3, [r0] + subs r0, #1 + strb r3, [r0] + strb r3, [r1] + b _08051A96 + .align 2, 0 _080516AC: .4byte 0x02002920 _080516B0: - movs r0, #0x65 - bl m4aSongNumStart - ldr r0, _080516C8 @ =0x02002920 - ldrh r1, [r0, #0xa] - subs r1, #2 - strh r1, [r0, #0xc] - ldr r0, _080516CC @ =0x0200B134 - adds r0, #0xcf - strb r1, [r0] - b _08051A96 - .align 2, 0 + movs r0, #0x65 + bl m4aSongNumStart + ldr r0, _080516C8 @ =0x02002920 + ldrh r1, [r0, #0xa] + subs r1, #2 + strh r1, [r0, #0xc] + ldr r0, _080516CC @ =0x0200B134 + adds r0, #0xcf + strb r1, [r0] + b _08051A96 + .align 2, 0 _080516C8: .4byte 0x02002920 _080516CC: .4byte 0x0200B134 _080516D0: - movs r0, #0x65 - bl m4aSongNumStart - ldr r2, _080516F0 @ =0x02002920 - ldrh r1, [r2, #0xa] - subs r1, #2 - strh r1, [r2, #0xc] - ldr r0, _080516F4 @ =0x0200B134 - adds r0, #0xcf - strb r1, [r0] - movs r0, #7 - strh r0, [r2, #0xa] - movs r0, #3 - strh r0, [r2] - b _08051A96 - .align 2, 0 + movs r0, #0x65 + bl m4aSongNumStart + ldr r2, _080516F0 @ =0x02002920 + ldrh r1, [r2, #0xa] + subs r1, #2 + strh r1, [r2, #0xc] + ldr r0, _080516F4 @ =0x0200B134 + adds r0, #0xcf + strb r1, [r0] + movs r0, #7 + strh r0, [r2, #0xa] + movs r0, #3 + strh r0, [r2] + b _08051A96 + .align 2, 0 _080516F0: .4byte 0x02002920 _080516F4: .4byte 0x0200B134 _080516F8: - ldr r0, _08051730 @ =0x02019C0C - ldr r0, [r0] - cmp r0, #1 - beq _08051702 - b _08051A96 + ldr r0, _08051730 @ =0x02019C0C + ldr r0, [r0] + cmp r0, #1 + beq _08051702 + b _08051A96 _08051702: - movs r0, #0x65 - bl m4aSongNumStart - ldr r1, _08051734 @ =0x02002920 - adds r0, r1, #0 - adds r0, #0x2d - movs r2, #0 - strb r2, [r0] - adds r3, r1, #0 - adds r3, #0x2e - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #1 - bne _08051720 - strb r2, [r3] + movs r0, #0x65 + bl m4aSongNumStart + ldr r1, _08051734 @ =0x02002920 + adds r0, r1, #0 + adds r0, #0x2d + movs r2, #0 + strb r2, [r0] + adds r3, r1, #0 + adds r3, #0x2e + movs r0, #0 + ldrsb r0, [r3, r0] + cmp r0, #1 + bne _08051720 + strb r2, [r3] _08051720: - adds r0, r1, #0 - adds r0, #0x2b - strb r2, [r0] - adds r0, #1 - strb r2, [r0] - subs r0, #2 - strb r2, [r0] - b _08051A96 - .align 2, 0 + adds r0, r1, #0 + adds r0, #0x2b + strb r2, [r0] + adds r0, #1 + strb r2, [r0] + subs r0, #2 + strb r2, [r0] + b _08051A96 + .align 2, 0 _08051730: .4byte 0x02019C0C _08051734: .4byte 0x02002920 _08051738: - ldr r0, _08051774 @ =0x02019C0C - ldr r4, [r0] - cmp r4, #1 - beq _08051742 - b _08051A96 + ldr r0, _08051774 @ =0x02019C0C + ldr r4, [r0] + cmp r4, #1 + beq _08051742 + b _08051A96 _08051742: - movs r0, #0x65 - bl m4aSongNumStart - movs r0, #0xb - bl sub_11B0 - ldr r2, _08051778 @ =0x02002920 - adds r1, r2, #0 - adds r1, #0x2e - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bne _0805175E - strb r4, [r1] + movs r0, #0x65 + bl m4aSongNumStart + movs r0, #0xb + bl sub_11B0 + ldr r2, _08051778 @ =0x02002920 + adds r1, r2, #0 + adds r1, #0x2e + movs r0, #0 + ldrsb r0, [r1, r0] + cmp r0, #0 + bne _0805175E + strb r4, [r1] _0805175E: - adds r1, r2, #0 - adds r1, #0x2b - movs r0, #0 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x2a - strb r4, [r0] - b _08051A96 - .align 2, 0 + adds r1, r2, #0 + adds r1, #0x2b + movs r0, #0 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r0, r2, #0 + adds r0, #0x2a + strb r4, [r0] + b _08051A96 + .align 2, 0 _08051774: .4byte 0x02019C0C _08051778: .4byte 0x02002920 _0805177C: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08051786 - b _08051A96 + movs r0, #2 + ands r0, r1 + cmp r0, #0 + bne _08051786 + b _08051A96 _08051786: - movs r0, #0x66 - bl m4aSongNumStart - ldrb r0, [r4, #3] - adds r0, #1 - strb r0, [r4, #3] - ldr r7, _080517A4 @ =0x00000143 - adds r0, r4, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - bl sub_525CC - b _08051A96 - .align 2, 0 + movs r0, #0x66 + bl m4aSongNumStart + ldrb r0, [r4, #3] + adds r0, #1 + strb r0, [r4, #3] + ldr r7, _080517A4 @ =0x00000143 + adds r0, r4, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + bl sub_525CC + b _08051A96 + .align 2, 0 _080517A4: .4byte 0x00000143 _080517A8: - ldr r1, _080517C8 @ =0x0200B0C0 - ldrh r2, [r1, #0x1c] - movs r0, #0x20 - ands r0, r2 - adds r3, r1, #0 - cmp r0, #0 - beq _080517D0 - ldr r0, _080517CC @ =0x02002920 - movs r2, #0x18 - ldrsh r1, [r0, r2] - adds r4, r0, #0 - cmp r1, #0 - bne _080517EC - ldrh r0, [r4, #0xe] - subs r0, #1 - b _080517E6 - .align 2, 0 + ldr r1, _080517C8 @ =0x0200B0C0 + ldrh r2, [r1, #0x1c] + movs r0, #0x20 + ands r0, r2 + adds r3, r1, #0 + cmp r0, #0 + beq _080517D0 + ldr r0, _080517CC @ =0x02002920 + movs r2, #0x18 + ldrsh r1, [r0, r2] + adds r4, r0, #0 + cmp r1, #0 + bne _080517EC + ldrh r0, [r4, #0xe] + subs r0, #1 + b _080517E6 + .align 2, 0 _080517C8: .4byte 0x0200B0C0 _080517CC: .4byte 0x02002920 _080517D0: - movs r0, #0x10 - ands r0, r2 - ldr r4, _080517FC @ =0x02002920 - cmp r0, #0 - beq _080517EC - movs r6, #0x18 - ldrsh r0, [r4, r6] - cmp r0, #0 - bne _080517EC - ldrh r0, [r4, #0xe] - adds r0, #1 + movs r0, #0x10 + ands r0, r2 + ldr r4, _080517FC @ =0x02002920 + cmp r0, #0 + beq _080517EC + movs r6, #0x18 + ldrsh r0, [r4, r6] + cmp r0, #0 + bne _080517EC + ldrh r0, [r4, #0xe] + adds r0, #1 _080517E6: - strh r0, [r4, #0xe] - movs r0, #0xa - strh r0, [r4, #0x18] + strh r0, [r4, #0xe] + movs r0, #0xa + strh r0, [r4, #0x18] _080517EC: - ldrh r1, [r3, #0x18] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08051800 - ldrh r0, [r4, #0xe] - adds r0, #0xa - b _0805180C - .align 2, 0 + ldrh r1, [r3, #0x18] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _08051800 + ldrh r0, [r4, #0xe] + adds r0, #0xa + b _0805180C + .align 2, 0 _080517FC: .4byte 0x02002920 _08051800: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0805180E - ldrh r0, [r4, #0xe] - subs r0, #0xa + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _0805180E + ldrh r0, [r4, #0xe] + subs r0, #0xa _0805180C: - strh r0, [r4, #0xe] + strh r0, [r4, #0xe] _0805180E: - ldr r5, _08051880 @ =0x02002920 - movs r7, #0xe - ldrsh r0, [r5, r7] - cmp r0, #0 - bge _0805181C - movs r0, #0x21 - strh r0, [r5, #0xe] + ldr r5, _08051880 @ =0x02002920 + movs r7, #0xe + ldrsh r0, [r5, r7] + cmp r0, #0 + bge _0805181C + movs r0, #0x21 + strh r0, [r5, #0xe] _0805181C: - movs r1, #0xe - ldrsh r0, [r5, r1] - cmp r0, #0x21 - ble _08051828 - movs r0, #0 - strh r0, [r5, #0xe] + movs r1, #0xe + ldrsh r0, [r5, r1] + cmp r0, #0x21 + ble _08051828 + movs r0, #0 + strh r0, [r5, #0xe] _08051828: - ldrh r4, [r5, #0xe] - adds r4, #1 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - adds r0, r4, #0 - movs r1, #0x64 - bl __divsi3 - strb r0, [r5, #0x12] - adds r0, r4, #0 - movs r1, #0x64 - bl __modsi3 - adds r4, r0, #0 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - adds r0, r4, #0 - movs r1, #0xa - bl __divsi3 - strb r0, [r5, #0x13] - adds r0, r4, #0 - movs r1, #0xa - bl __modsi3 - strb r0, [r5, #0x14] - ldr r0, _08051884 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r4, #1 - ands r4, r1 - cmp r4, #0 - beq _0805188C - bl m4aMPlayAllStop - ldr r0, _08051888 @ =0x08527D22 - movs r2, #0xe - ldrsh r1, [r5, r2] - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - bl m4aSongNumStart - b _080518AA - .align 2, 0 + ldrh r4, [r5, #0xe] + adds r4, #1 + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + adds r0, r4, #0 + movs r1, #0x64 + bl __divsi3 + strb r0, [r5, #0x12] + adds r0, r4, #0 + movs r1, #0x64 + bl __modsi3 + adds r4, r0, #0 + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + adds r0, r4, #0 + movs r1, #0xa + bl __divsi3 + strb r0, [r5, #0x13] + adds r0, r4, #0 + movs r1, #0xa + bl __modsi3 + strb r0, [r5, #0x14] + ldr r0, _08051884 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r4, #1 + ands r4, r1 + cmp r4, #0 + beq _0805188C + bl m4aMPlayAllStop + ldr r0, _08051888 @ =0x08527D22 + movs r2, #0xe + ldrsh r1, [r5, r2] + lsls r1, r1, #1 + adds r1, r1, r0 + ldrh r0, [r1] + bl m4aSongNumStart + b _080518AA + .align 2, 0 _08051880: .4byte 0x02002920 _08051884: .4byte 0x0200B0C0 _08051888: .4byte 0x08527D22 _0805188C: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080518AA - bl m4aMPlayAllStop - movs r0, #0x66 - bl m4aSongNumStart - movs r1, #0 - strh r4, [r5, #4] - adds r0, r5, #0 - adds r0, #0x30 - strb r1, [r0] - strh r4, [r5] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _080518AA + bl m4aMPlayAllStop + movs r0, #0x66 + bl m4aSongNumStart + movs r1, #0 + strh r4, [r5, #4] + adds r0, r5, #0 + adds r0, #0x30 + strb r1, [r0] + strh r4, [r5] _080518AA: - ldr r0, _080518CC @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _080518C0 - ldr r2, _080518D0 @ =0x02002920 - ldrh r1, [r2, #4] - movs r0, #1 - subs r0, r0, r1 - strh r0, [r2, #4] + ldr r0, _080518CC @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #7 + ands r0, r1 + cmp r0, #0 + bne _080518C0 + ldr r2, _080518D0 @ =0x02002920 + ldrh r1, [r2, #4] + movs r0, #1 + subs r0, r0, r1 + strh r0, [r2, #4] _080518C0: - ldr r1, _080518D0 @ =0x02002920 - ldrh r2, [r1, #0x18] - movs r3, #0x18 - ldrsh r0, [r1, r3] - b _080519F4 - .align 2, 0 + ldr r1, _080518D0 @ =0x02002920 + ldrh r2, [r1, #0x18] + movs r3, #0x18 + ldrsh r0, [r1, r3] + b _080519F4 + .align 2, 0 _080518CC: .4byte 0x0200B0C0 _080518D0: .4byte 0x02002920 _080518D4: - ldr r1, _080518F4 @ =0x0200B0C0 - ldrh r2, [r1, #0x1c] - movs r0, #0x20 - ands r0, r2 - adds r3, r1, #0 - cmp r0, #0 - beq _080518FC - ldr r0, _080518F8 @ =0x02002920 - movs r6, #0x18 - ldrsh r1, [r0, r6] - adds r4, r0, #0 - cmp r1, #0 - bne _08051918 - ldrh r0, [r4, #0x10] - subs r0, #1 - b _08051912 - .align 2, 0 + ldr r1, _080518F4 @ =0x0200B0C0 + ldrh r2, [r1, #0x1c] + movs r0, #0x20 + ands r0, r2 + adds r3, r1, #0 + cmp r0, #0 + beq _080518FC + ldr r0, _080518F8 @ =0x02002920 + movs r6, #0x18 + ldrsh r1, [r0, r6] + adds r4, r0, #0 + cmp r1, #0 + bne _08051918 + ldrh r0, [r4, #0x10] + subs r0, #1 + b _08051912 + .align 2, 0 _080518F4: .4byte 0x0200B0C0 _080518F8: .4byte 0x02002920 _080518FC: - movs r0, #0x10 - ands r0, r2 - ldr r4, _08051928 @ =0x02002920 - cmp r0, #0 - beq _08051918 - movs r7, #0x18 - ldrsh r0, [r4, r7] - cmp r0, #0 - bne _08051918 - ldrh r0, [r4, #0x10] - adds r0, #1 + movs r0, #0x10 + ands r0, r2 + ldr r4, _08051928 @ =0x02002920 + cmp r0, #0 + beq _08051918 + movs r7, #0x18 + ldrsh r0, [r4, r7] + cmp r0, #0 + bne _08051918 + ldrh r0, [r4, #0x10] + adds r0, #1 _08051912: - strh r0, [r4, #0x10] - movs r0, #0xa - strh r0, [r4, #0x18] + strh r0, [r4, #0x10] + movs r0, #0xa + strh r0, [r4, #0x18] _08051918: - ldrh r1, [r3, #0x18] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0805192C - ldrh r0, [r4, #0x10] - adds r0, #0xa - b _08051938 - .align 2, 0 + ldrh r1, [r3, #0x18] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _0805192C + ldrh r0, [r4, #0x10] + adds r0, #0xa + b _08051938 + .align 2, 0 _08051928: .4byte 0x02002920 _0805192C: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0805193A - ldrh r0, [r4, #0x10] - subs r0, #0xa + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _0805193A + ldrh r0, [r4, #0x10] + subs r0, #0xa _08051938: - strh r0, [r4, #0x10] + strh r0, [r4, #0x10] _0805193A: - ldr r5, _080519AC @ =0x02002920 - movs r1, #0x10 - ldrsh r0, [r5, r1] - cmp r0, #0 - bge _08051948 - movs r0, #0xb7 - strh r0, [r5, #0x10] + ldr r5, _080519AC @ =0x02002920 + movs r1, #0x10 + ldrsh r0, [r5, r1] + cmp r0, #0 + bge _08051948 + movs r0, #0xb7 + strh r0, [r5, #0x10] _08051948: - movs r2, #0x10 - ldrsh r0, [r5, r2] - cmp r0, #0xb7 - ble _08051954 - movs r0, #0 - strh r0, [r5, #0x10] + movs r2, #0x10 + ldrsh r0, [r5, r2] + cmp r0, #0xb7 + ble _08051954 + movs r0, #0 + strh r0, [r5, #0x10] _08051954: - ldrh r4, [r5, #0x10] - adds r4, #1 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - adds r0, r4, #0 - movs r1, #0x64 - bl __divsi3 - strb r0, [r5, #0x15] - adds r0, r4, #0 - movs r1, #0x64 - bl __modsi3 - adds r4, r0, #0 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - adds r0, r4, #0 - movs r1, #0xa - bl __divsi3 - strb r0, [r5, #0x16] - adds r0, r4, #0 - movs r1, #0xa - bl __modsi3 - strb r0, [r5, #0x17] - ldr r0, _080519B0 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r4, #1 - ands r4, r1 - cmp r4, #0 - beq _080519B8 - bl m4aMPlayAllStop - ldr r0, _080519B4 @ =0x08527D66 - movs r3, #0x10 - ldrsh r1, [r5, r3] - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - bl m4aSongNumStart - b _080519D6 - .align 2, 0 + ldrh r4, [r5, #0x10] + adds r4, #1 + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + adds r0, r4, #0 + movs r1, #0x64 + bl __divsi3 + strb r0, [r5, #0x15] + adds r0, r4, #0 + movs r1, #0x64 + bl __modsi3 + adds r4, r0, #0 + lsls r4, r4, #0x10 + asrs r4, r4, #0x10 + adds r0, r4, #0 + movs r1, #0xa + bl __divsi3 + strb r0, [r5, #0x16] + adds r0, r4, #0 + movs r1, #0xa + bl __modsi3 + strb r0, [r5, #0x17] + ldr r0, _080519B0 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r4, #1 + ands r4, r1 + cmp r4, #0 + beq _080519B8 + bl m4aMPlayAllStop + ldr r0, _080519B4 @ =0x08527D66 + movs r3, #0x10 + ldrsh r1, [r5, r3] + lsls r1, r1, #1 + adds r1, r1, r0 + ldrh r0, [r1] + bl m4aSongNumStart + b _080519D6 + .align 2, 0 _080519AC: .4byte 0x02002920 _080519B0: .4byte 0x0200B0C0 _080519B4: .4byte 0x08527D66 _080519B8: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080519D6 - bl m4aMPlayAllStop - movs r0, #0x66 - bl m4aSongNumStart - movs r1, #0 - strh r4, [r5, #4] - adds r0, r5, #0 - adds r0, #0x30 - strb r1, [r0] - strh r4, [r5] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _080519D6 + bl m4aMPlayAllStop + movs r0, #0x66 + bl m4aSongNumStart + movs r1, #0 + strh r4, [r5, #4] + adds r0, r5, #0 + adds r0, #0x30 + strb r1, [r0] + strh r4, [r5] _080519D6: - ldr r0, _08051A00 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _080519EC - ldr r2, _08051A04 @ =0x02002920 - ldrh r1, [r2, #4] - movs r0, #1 - subs r0, r0, r1 - strh r0, [r2, #4] + ldr r0, _08051A00 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #7 + ands r0, r1 + cmp r0, #0 + bne _080519EC + ldr r2, _08051A04 @ =0x02002920 + ldrh r1, [r2, #4] + movs r0, #1 + subs r0, r0, r1 + strh r0, [r2, #4] _080519EC: - ldr r1, _08051A04 @ =0x02002920 - ldrh r2, [r1, #0x18] - movs r6, #0x18 - ldrsh r0, [r1, r6] + ldr r1, _08051A04 @ =0x02002920 + ldrh r2, [r1, #0x18] + movs r6, #0x18 + ldrsh r0, [r1, r6] _080519F4: - cmp r0, #0 - bgt _080519FA - b _08051B98 + cmp r0, #0 + bgt _080519FA + b _08051B98 _080519FA: - subs r0, r2, #1 - strh r0, [r1, #0x18] - b _08051B98 - .align 2, 0 + subs r0, r2, #1 + strh r0, [r1, #0x18] + b _08051B98 + .align 2, 0 _08051A00: .4byte 0x0200B0C0 _08051A04: .4byte 0x02002920 _08051A08: - ldr r0, _08051A2C @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08051A34 - ldr r4, _08051A30 @ =0x02002920 - movs r7, #0xa - ldrsh r0, [r4, r7] - cmp r0, #7 - ble _08051A52 - movs r0, #0x67 - bl m4aSongNumStart - ldrh r0, [r4, #0xa] - subs r0, #1 - b _08051A50 - .align 2, 0 + ldr r0, _08051A2C @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _08051A34 + ldr r4, _08051A30 @ =0x02002920 + movs r7, #0xa + ldrsh r0, [r4, r7] + cmp r0, #7 + ble _08051A52 + movs r0, #0x67 + bl m4aSongNumStart + ldrh r0, [r4, #0xa] + subs r0, #1 + b _08051A50 + .align 2, 0 _08051A2C: .4byte 0x0200B0C0 _08051A30: .4byte 0x02002920 _08051A34: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08051A52 - ldr r4, _08051A78 @ =0x02002920 - movs r1, #0xa - ldrsh r0, [r4, r1] - cmp r0, #0xa - bgt _08051A52 - movs r0, #0x67 - bl m4aSongNumStart - ldrh r0, [r4, #0xa] - adds r0, #1 + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _08051A52 + ldr r4, _08051A78 @ =0x02002920 + movs r1, #0xa + ldrsh r0, [r4, r1] + cmp r0, #0xa + bgt _08051A52 + movs r0, #0x67 + bl m4aSongNumStart + ldrh r0, [r4, #0xa] + adds r0, #1 _08051A50: - strh r0, [r4, #0xa] + strh r0, [r4, #0xa] _08051A52: - ldr r0, _08051A7C @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - movs r4, #1 - ands r4, r1 - cmp r4, #0 - beq _08051A80 - movs r0, #0x65 - bl m4aSongNumStart - ldr r0, _08051A78 @ =0x02002920 - movs r1, #4 - strh r1, [r0] - movs r2, #0xa - ldrsh r1, [r0, r2] - adds r0, r0, r1 - movs r1, #1 - strb r1, [r0, #0x13] - b _08051A96 - .align 2, 0 + ldr r0, _08051A7C @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + movs r4, #1 + ands r4, r1 + cmp r4, #0 + beq _08051A80 + movs r0, #0x65 + bl m4aSongNumStart + ldr r0, _08051A78 @ =0x02002920 + movs r1, #4 + strh r1, [r0] + movs r2, #0xa + ldrsh r1, [r0, r2] + adds r0, r0, r1 + movs r1, #1 + strb r1, [r0, #0x13] + b _08051A96 + .align 2, 0 _08051A78: .4byte 0x02002920 _08051A7C: .4byte 0x0200B0C0 _08051A80: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08051A96 - movs r0, #0x66 - bl m4aSongNumStart - ldr r1, _08051AB0 @ =0x02002920 - movs r0, #6 - strh r0, [r1, #0xa] - strh r4, [r1] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _08051A96 + movs r0, #0x66 + bl m4aSongNumStart + ldr r1, _08051AB0 @ =0x02002920 + movs r0, #6 + strh r0, [r1, #0xa] + strh r4, [r1] _08051A96: - ldr r0, _08051AB4 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _08051B98 - ldr r2, _08051AB0 @ =0x02002920 - ldrh r1, [r2, #2] - movs r0, #1 - subs r0, r0, r1 - strh r0, [r2, #2] - b _08051B98 - .align 2, 0 + ldr r0, _08051AB4 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #7 + ands r0, r1 + cmp r0, #0 + bne _08051B98 + ldr r2, _08051AB0 @ =0x02002920 + ldrh r1, [r2, #2] + movs r0, #1 + subs r0, r0, r1 + strh r0, [r2, #2] + b _08051B98 + .align 2, 0 _08051AB0: .4byte 0x02002920 _08051AB4: .4byte 0x0200B0C0 _08051AB8: - ldr r4, _08051BF4 @ =0x02002920 - ldrh r0, [r4, #8] - adds r0, #1 - movs r5, #0 - strh r0, [r4, #8] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x18 - ble _08051AD4 - strh r5, [r4, #8] - ldrh r1, [r4, #6] - movs r0, #1 - subs r0, r0, r1 - strh r0, [r4, #6] + ldr r4, _08051BF4 @ =0x02002920 + ldrh r0, [r4, #8] + adds r0, #1 + movs r5, #0 + strh r0, [r4, #8] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #0x18 + ble _08051AD4 + strh r5, [r4, #8] + ldrh r1, [r4, #6] + movs r0, #1 + subs r0, r0, r1 + strh r0, [r4, #6] _08051AD4: - ldr r0, _08051BF8 @ =0x0200B0C0 - ldrh r1, [r0, #0x18] - ldr r0, _08051BFC @ =0x000003F7 - ands r0, r1 - cmp r0, #0 - beq _08051B0E - movs r0, #0x65 - bl m4aSongNumStart - movs r0, #0xa - strh r0, [r4, #0x20] - strh r5, [r4, #0x22] - movs r0, #0 - adds r3, r4, #0 - adds r3, #0x24 - movs r2, #0xa + ldr r0, _08051BF8 @ =0x0200B0C0 + ldrh r1, [r0, #0x18] + ldr r0, _08051BFC @ =0x000003F7 + ands r0, r1 + cmp r0, #0 + beq _08051B0E + movs r0, #0x65 + bl m4aSongNumStart + movs r0, #0xa + strh r0, [r4, #0x20] + strh r5, [r4, #0x22] + movs r0, #0 + adds r3, r4, #0 + adds r3, #0x24 + movs r2, #0xa _08051AF4: - lsls r1, r0, #0x10 - asrs r1, r1, #0x10 - lsls r0, r1, #1 - adds r0, r0, r3 - strh r2, [r0] - adds r1, #1 - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #1 - ble _08051AF4 - movs r0, #0 - strh r0, [r4, #0x28] + lsls r1, r0, #0x10 + asrs r1, r1, #0x10 + lsls r0, r1, #1 + adds r0, r0, r3 + strh r2, [r0] + adds r1, #1 + lsls r1, r1, #0x10 + lsrs r0, r1, #0x10 + asrs r1, r1, #0x10 + cmp r1, #1 + ble _08051AF4 + movs r0, #0 + strh r0, [r4, #0x28] _08051B0E: - ldr r4, _08051BF4 @ =0x02002920 - movs r3, #0x20 - ldrsh r0, [r4, r3] - cmp r0, #0 - ble _08051B98 - bl sub_524BC - ldrh r0, [r4, #0x20] - subs r0, #1 - strh r0, [r4, #0x20] - lsls r0, r0, #0x10 - asrs r5, r0, #0x10 - cmp r5, #0 - bne _08051B98 - ldr r2, _08051C00 @ =0x02031AF0 - movs r6, #0xa - ldrsh r0, [r4, r6] - subs r0, #7 - lsls r0, r0, #1 - adds r2, #0x28 - adds r0, r0, r2 - ldrh r1, [r4, #0x24] - strb r1, [r0] - movs r7, #0xa - ldrsh r0, [r4, r7] - subs r0, #7 - lsls r0, r0, #1 - adds r0, #1 - adds r0, r0, r2 - ldrh r1, [r4, #0x26] - strb r1, [r0] - ldr r2, _08051C04 @ =0x0200B134 - movs r0, #0xa - ldrsh r1, [r4, r0] - subs r1, #7 - lsls r1, r1, #2 - adds r0, r2, #0 - adds r0, #0xd0 - adds r1, r1, r0 - ldr r3, _08051C08 @ =0x086BB910 - movs r6, #0x24 - ldrsh r0, [r4, r6] - lsls r0, r0, #3 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - movs r7, #0xa - ldrsh r1, [r4, r7] - subs r1, #7 - lsls r1, r1, #2 - adds r2, #0xd2 - adds r1, r1, r2 - movs r2, #0x26 - ldrsh r0, [r4, r2] - lsls r0, r0, #3 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - movs r0, #3 - strh r0, [r4] - movs r3, #0xa - ldrsh r0, [r4, r3] - adds r0, r4, r0 - adds r0, #0x13 - movs r1, #0 - strb r1, [r0] - strh r5, [r4, #8] - movs r0, #1 - strh r0, [r4, #6] + ldr r4, _08051BF4 @ =0x02002920 + movs r3, #0x20 + ldrsh r0, [r4, r3] + cmp r0, #0 + ble _08051B98 + bl sub_524BC + ldrh r0, [r4, #0x20] + subs r0, #1 + strh r0, [r4, #0x20] + lsls r0, r0, #0x10 + asrs r5, r0, #0x10 + cmp r5, #0 + bne _08051B98 + ldr r2, _08051C00 @ =0x02031AF0 + movs r6, #0xa + ldrsh r0, [r4, r6] + subs r0, #7 + lsls r0, r0, #1 + adds r2, #0x28 + adds r0, r0, r2 + ldrh r1, [r4, #0x24] + strb r1, [r0] + movs r7, #0xa + ldrsh r0, [r4, r7] + subs r0, #7 + lsls r0, r0, #1 + adds r0, #1 + adds r0, r0, r2 + ldrh r1, [r4, #0x26] + strb r1, [r0] + ldr r2, _08051C04 @ =0x0200B134 + movs r0, #0xa + ldrsh r1, [r4, r0] + subs r1, #7 + lsls r1, r1, #2 + adds r0, r2, #0 + adds r0, #0xd0 + adds r1, r1, r0 + ldr r3, _08051C08 @ =0x086BB910 + movs r6, #0x24 + ldrsh r0, [r4, r6] + lsls r0, r0, #3 + adds r0, r0, r3 + ldrh r0, [r0] + strh r0, [r1] + movs r7, #0xa + ldrsh r1, [r4, r7] + subs r1, #7 + lsls r1, r1, #2 + adds r2, #0xd2 + adds r1, r1, r2 + movs r2, #0x26 + ldrsh r0, [r4, r2] + lsls r0, r0, #3 + adds r0, r0, r3 + ldrh r0, [r0] + strh r0, [r1] + movs r0, #3 + strh r0, [r4] + movs r3, #0xa + ldrsh r0, [r4, r3] + adds r0, r4, r0 + adds r0, #0x13 + movs r1, #0 + strb r1, [r0] + strh r5, [r4, #8] + movs r0, #1 + strh r0, [r4, #6] _08051B98: - ldr r2, _08051BF4 @ =0x02002920 - movs r6, #0x2e - adds r6, r6, r2 - mov ip, r6 - movs r0, #0 - ldrsb r0, [r6, r0] - cmp r0, #1 - bne _08051C10 - adds r4, r2, #0 - adds r4, #0x2b - ldrb r0, [r4] - adds r0, #1 - movs r5, #0 - strb r0, [r4] - lsls r0, r0, #0x18 - ldr r6, _08051C0C @ =0x086BB9B4 - adds r3, r2, #0 - adds r3, #0x2c - movs r1, #0 - ldrsb r1, [r3, r1] - lsls r1, r1, #2 - adds r1, r1, r6 - asrs r0, r0, #0x18 - movs r7, #2 - ldrsh r1, [r1, r7] - cmp r0, r1 - ble _08051C30 - strb r5, [r4] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r2, #0x2d - cmp r0, #0xc - ble _08051BE8 - strb r5, [r3] - strb r5, [r2] - mov r0, ip - strb r5, [r0] + ldr r2, _08051BF4 @ =0x02002920 + movs r6, #0x2e + adds r6, r6, r2 + mov ip, r6 + movs r0, #0 + ldrsb r0, [r6, r0] + cmp r0, #1 + bne _08051C10 + adds r4, r2, #0 + adds r4, #0x2b + ldrb r0, [r4] + adds r0, #1 + movs r5, #0 + strb r0, [r4] + lsls r0, r0, #0x18 + ldr r6, _08051C0C @ =0x086BB9B4 + adds r3, r2, #0 + adds r3, #0x2c + movs r1, #0 + ldrsb r1, [r3, r1] + lsls r1, r1, #2 + adds r1, r1, r6 + asrs r0, r0, #0x18 + movs r7, #2 + ldrsh r1, [r1, r7] + cmp r0, r1 + ble _08051C30 + strb r5, [r4] + ldrb r0, [r3] + adds r0, #1 + strb r0, [r3] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r2, #0x2d + cmp r0, #0xc + ble _08051BE8 + strb r5, [r3] + strb r5, [r2] + mov r0, ip + strb r5, [r0] _08051BE8: - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - adds r0, r0, r6 - ldrb r0, [r0] - b _08051C2E - .align 2, 0 + movs r0, #0 + ldrsb r0, [r3, r0] + lsls r0, r0, #2 + adds r0, r0, r6 + ldrb r0, [r0] + b _08051C2E + .align 2, 0 _08051BF4: .4byte 0x02002920 _08051BF8: .4byte 0x0200B0C0 _08051BFC: .4byte 0x000003F7 @@ -160886,155 +160886,155 @@ _08051C04: .4byte 0x0200B134 _08051C08: .4byte 0x086BB910 _08051C0C: .4byte 0x086BB9B4 _08051C10: - adds r1, r2, #0 - adds r1, #0x2b - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x12 - ble _08051C30 - movs r0, #0 - strb r0, [r1] - adds r2, #0x2d - ldrb r1, [r2] - movs r0, #1 - subs r0, r0, r1 + adds r1, r2, #0 + adds r1, #0x2b + ldrb r0, [r1] + adds r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0x12 + ble _08051C30 + movs r0, #0 + strb r0, [r1] + adds r2, #0x2d + ldrb r1, [r2] + movs r0, #1 + subs r0, r0, r1 _08051C2E: - strb r0, [r2] + strb r0, [r2] _08051C30: - bl sub_11FC - pop {r4, r5, r6, r7} - pop {r0} - bx r0 + bl sub_11FC + pop {r4, r5, r6, r7} + pop {r0} + bx r0 - thumb_func_start sub_51C3C + thumb_func_start sub_51C3C sub_51C3C: @ 0x08051C3C - push {lr} - bl sub_111C - bl sub_1170 - cmp r0, #0 - beq _08051C56 - bl sub_1198 - ldr r1, _08051C5C @ =0x0200B0C0 - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] + push {lr} + bl sub_111C + bl sub_1170 + cmp r0, #0 + beq _08051C56 + bl sub_1198 + ldr r1, _08051C5C @ =0x0200B0C0 + ldrb r0, [r1, #3] + adds r0, #1 + strb r0, [r1, #3] _08051C56: - pop {r0} - bx r0 - .align 2, 0 + pop {r0} + bx r0 + .align 2, 0 _08051C5C: .4byte 0x0200B0C0 - thumb_func_start sub_51C60 + thumb_func_start sub_51C60 sub_51C60: @ 0x08051C60 - push {lr} - ldr r1, _08051C90 @ =0x0200B134 - ldr r0, _08051C94 @ =0x02002920 - adds r0, #0x2a - ldrb r0, [r0] - adds r1, #0xcd - strb r0, [r1] - bl sub_52B30 - bl sub_2B4 - bl m4aMPlayAllStop - bl sub_D10 - ldr r1, _08051C98 @ =0x0201A4B4 - movs r0, #1 - strb r0, [r1] - movs r0, #1 - bl sub_23C - pop {r0} - bx r0 - .align 2, 0 + push {lr} + ldr r1, _08051C90 @ =0x0200B134 + ldr r0, _08051C94 @ =0x02002920 + adds r0, #0x2a + ldrb r0, [r0] + adds r1, #0xcd + strb r0, [r1] + bl sub_52B30 + bl sub_2B4 + bl m4aMPlayAllStop + bl sub_D10 + ldr r1, _08051C98 @ =0x0201A4B4 + movs r0, #1 + strb r0, [r1] + movs r0, #1 + bl sub_23C + pop {r0} + bx r0 + .align 2, 0 _08051C90: .4byte 0x0200B134 _08051C94: .4byte 0x02002920 _08051C98: .4byte 0x0201A4B4 - thumb_func_start sub_51C9C + thumb_func_start sub_51C9C sub_51C9C: @ 0x08051C9C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x8c - ldr r0, _08051D38 @ =0x0200B3B8 - mov r8, r0 - ldr r2, _08051D3C @ =0x02002920 - movs r3, #4 - ldrsh r1, [r2, r3] - movs r0, #0xe6 - lsls r0, r0, #4 - muls r1, r0, r1 - movs r0, #0xa1 - lsls r0, r0, #3 - add r0, r8 - adds r1, r1, r0 - str r1, [sp, #0x60] - add r4, sp, #0xc - mov sl, r4 - mov r6, sp - adds r6, #0x18 - str r6, [sp, #0x6c] - mov r7, sp - adds r7, #0x1c - str r7, [sp, #0x74] - mov r0, sp - adds r0, #0x20 - str r0, [sp, #0x7c] - movs r0, #0xb8 - lsls r0, r0, #2 - add r0, r8 - mov r3, sl - mov r1, r8 - adds r1, #0xb8 - mov r2, sp - movs r4, #2 - mov ip, r4 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x8c + ldr r0, _08051D38 @ =0x0200B3B8 + mov r8, r0 + ldr r2, _08051D3C @ =0x02002920 + movs r3, #4 + ldrsh r1, [r2, r3] + movs r0, #0xe6 + lsls r0, r0, #4 + muls r1, r0, r1 + movs r0, #0xa1 + lsls r0, r0, #3 + add r0, r8 + adds r1, r1, r0 + str r1, [sp, #0x60] + add r4, sp, #0xc + mov sl, r4 + mov r6, sp + adds r6, #0x18 + str r6, [sp, #0x6c] + mov r7, sp + adds r7, #0x1c + str r7, [sp, #0x74] + mov r0, sp + adds r0, #0x20 + str r0, [sp, #0x7c] + movs r0, #0xb8 + lsls r0, r0, #2 + add r0, r8 + mov r3, sl + mov r1, r8 + adds r1, #0xb8 + mov r2, sp + movs r4, #2 + mov ip, r4 _08051CEA: - stm r2!, {r1} - stm r3!, {r0} - adds r0, #0xb8 - adds r1, #0xb8 - movs r6, #1 - rsbs r6, r6, #0 - add ip, r6 - mov r7, ip - cmp r7, #0 - bge _08051CEA - movs r0, #0 - mov ip, r0 - movs r1, #8 - add r1, r8 - mov sb, r1 - ldr r2, _08051D40 @ =0x0200B978 - adds r2, #8 - str r2, [sp, #0x70] - ldr r0, _08051D44 @ =0x0200BAE8 - adds r4, r0, #0 - adds r4, #0xb8 - adds r5, r0, #0 - movs r3, #0 - ldr r1, [sp, #0x6c] - adds r2, r5, #0 - subs r2, #0xb8 + stm r2!, {r1} + stm r3!, {r0} + adds r0, #0xb8 + adds r1, #0xb8 + movs r6, #1 + rsbs r6, r6, #0 + add ip, r6 + mov r7, ip + cmp r7, #0 + bge _08051CEA + movs r0, #0 + mov ip, r0 + movs r1, #8 + add r1, r8 + mov sb, r1 + ldr r2, _08051D40 @ =0x0200B978 + adds r2, #8 + str r2, [sp, #0x70] + ldr r0, _08051D44 @ =0x0200BAE8 + adds r4, r0, #0 + adds r4, #0xb8 + adds r5, r0, #0 + movs r3, #0 + ldr r1, [sp, #0x6c] + adds r2, r5, #0 + subs r2, #0xb8 _08051D1E: - ldr r0, _08051D48 @ =0x0200293A - add r0, ip - ldrb r0, [r0] - cmp r0, #1 - bne _08051D50 - ldr r6, _08051D3C @ =0x02002920 - movs r7, #6 - ldrsh r0, [r6, r7] - cmp r0, #1 - bne _08051D50 - ldr r0, _08051D4C @ =0x0200C7D8 - str r0, [r1] - b _08051D52 - .align 2, 0 + ldr r0, _08051D48 @ =0x0200293A + add r0, ip + ldrb r0, [r0] + cmp r0, #1 + bne _08051D50 + ldr r6, _08051D3C @ =0x02002920 + movs r7, #6 + ldrsh r0, [r6, r7] + cmp r0, #1 + bne _08051D50 + ldr r0, _08051D4C @ =0x0200C7D8 + str r0, [r1] + b _08051D52 + .align 2, 0 _08051D38: .4byte 0x0200B3B8 _08051D3C: .4byte 0x02002920 _08051D40: .4byte 0x0200B978 @@ -161042,278 +161042,278 @@ _08051D44: .4byte 0x0200BAE8 _08051D48: .4byte 0x0200293A _08051D4C: .4byte 0x0200C7D8 _08051D50: - str r2, [r1] + str r2, [r1] _08051D52: - ldr r6, [sp, #0x74] - adds r0, r6, r3 - str r5, [r0] - ldr r7, [sp, #0x7c] - adds r0, r7, r3 - str r4, [r0] - movs r0, #0x8a - lsls r0, r0, #2 - adds r4, r4, r0 - adds r5, r5, r0 - adds r2, r2, r0 - adds r3, #0xc - adds r1, #0xc - movs r6, #1 - add ip, r6 - mov r7, ip - cmp r7, #5 - ble _08051D1E - ldr r0, _08051F64 @ =0x0200C890 - str r0, [sp, #0x64] - movs r0, #1 - mov r1, r8 - strh r0, [r1] - movs r2, #1 - mov r1, sp - movs r3, #2 - mov ip, r3 + ldr r6, [sp, #0x74] + adds r0, r6, r3 + str r5, [r0] + ldr r7, [sp, #0x7c] + adds r0, r7, r3 + str r4, [r0] + movs r0, #0x8a + lsls r0, r0, #2 + adds r4, r4, r0 + adds r5, r5, r0 + adds r2, r2, r0 + adds r3, #0xc + adds r1, #0xc + movs r6, #1 + add ip, r6 + mov r7, ip + cmp r7, #5 + ble _08051D1E + ldr r0, _08051F64 @ =0x0200C890 + str r0, [sp, #0x64] + movs r0, #1 + mov r1, r8 + strh r0, [r1] + movs r2, #1 + mov r1, sp + movs r3, #2 + mov ip, r3 _08051D88: - ldm r1!, {r0} - strh r2, [r0] - movs r4, #1 - rsbs r4, r4, #0 - add ip, r4 - mov r6, ip - cmp r6, #0 - bge _08051D88 - ldr r7, [sp, #0x64] - adds r7, #8 - str r7, [sp, #0x78] - movs r2, #1 - mov r1, sl - movs r0, #2 - mov ip, r0 + ldm r1!, {r0} + strh r2, [r0] + movs r4, #1 + rsbs r4, r4, #0 + add ip, r4 + mov r6, ip + cmp r6, #0 + bge _08051D88 + ldr r7, [sp, #0x64] + adds r7, #8 + str r7, [sp, #0x78] + movs r2, #1 + mov r1, sl + movs r0, #2 + mov ip, r0 _08051DA6: - ldm r1!, {r0} - strh r2, [r0] - movs r3, #1 - rsbs r3, r3, #0 - add ip, r3 - mov r4, ip - cmp r4, #0 - bge _08051DA6 - movs r0, #1 - ldr r6, [sp, #0x60] - strh r0, [r6] - ldr r7, _08051F68 @ =0x0200B978 - strh r0, [r7] - movs r0, #0 - mov ip, r0 - ldr r6, [sp, #0x6c] - movs r3, #1 - movs r2, #0 + ldm r1!, {r0} + strh r2, [r0] + movs r3, #1 + rsbs r3, r3, #0 + add ip, r3 + mov r4, ip + cmp r4, #0 + bge _08051DA6 + movs r0, #1 + ldr r6, [sp, #0x60] + strh r0, [r6] + ldr r7, _08051F68 @ =0x0200B978 + strh r0, [r7] + movs r0, #0 + mov ip, r0 + ldr r6, [sp, #0x6c] + movs r3, #1 + movs r2, #0 _08051DCA: - adds r1, r2, r6 - movs r5, #2 + adds r1, r2, r6 + movs r5, #2 _08051DCE: - ldm r1!, {r0} - strh r3, [r0] - subs r5, #1 - cmp r5, #0 - bge _08051DCE - adds r2, #0xc - movs r1, #1 - add ip, r1 - mov r4, ip - cmp r4, #5 - ble _08051DCA - movs r0, #1 - ldr r6, [sp, #0x64] - strh r0, [r6] - ldr r7, _08051F6C @ =0x0200C948 - strh r0, [r7] - ldr r5, _08051F70 @ =0x02002920 - adds r0, r5, #0 - adds r0, #0x30 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r1, _08051F74 @ =0x0200CA00 - strh r0, [r1] - ldr r0, _08051F78 @ =0x086BB9EC - movs r1, #0x20 - ldr r2, _08051F7C @ =0x0200B3B8 - bl sub_358 - ldr r2, _08051F80 @ =0x086BB968 - movs r3, #0xa - ldrsh r1, [r5, r3] - lsls r1, r1, #2 - adds r1, r1, r2 - ldrh r0, [r5, #2] - ldrh r1, [r1] - adds r0, r0, r1 - mov r4, r8 - strh r0, [r4, #2] - movs r6, #0xa - ldrsh r0, [r5, r6] - lsls r0, r0, #2 - adds r0, r0, r2 - ldrh r0, [r0, #2] - strh r0, [r4, #4] - mov r7, sb - ldr r4, _08051F84 @ =0x03005000 - mov r0, r8 - ldrh r2, [r0, #8] - lsls r2, r2, #3 - adds r2, r2, r4 - movs r3, #2 - ldrsh r1, [r7, r3] - movs r6, #2 - ldrsh r0, [r0, r6] - adds r1, r1, r0 - ldr r3, _08051F88 @ =0x000001FF - adds r0, r3, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r6, _08051F8C @ =0xFFFFFE00 - adds r0, r6, #0 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - mov r0, r8 - ldrh r1, [r0, #8] - lsls r1, r1, #3 - adds r1, r1, r4 - ldrb r0, [r0, #4] - ldrb r7, [r7, #4] - adds r0, r0, r7 - strb r0, [r1] - movs r1, #0 - mov ip, r1 - mov r8, r4 - mov r5, sp - movs r2, #0x48 - mov sb, r2 + ldm r1!, {r0} + strh r3, [r0] + subs r5, #1 + cmp r5, #0 + bge _08051DCE + adds r2, #0xc + movs r1, #1 + add ip, r1 + mov r4, ip + cmp r4, #5 + ble _08051DCA + movs r0, #1 + ldr r6, [sp, #0x64] + strh r0, [r6] + ldr r7, _08051F6C @ =0x0200C948 + strh r0, [r7] + ldr r5, _08051F70 @ =0x02002920 + adds r0, r5, #0 + adds r0, #0x30 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldr r1, _08051F74 @ =0x0200CA00 + strh r0, [r1] + ldr r0, _08051F78 @ =0x086BB9EC + movs r1, #0x20 + ldr r2, _08051F7C @ =0x0200B3B8 + bl sub_358 + ldr r2, _08051F80 @ =0x086BB968 + movs r3, #0xa + ldrsh r1, [r5, r3] + lsls r1, r1, #2 + adds r1, r1, r2 + ldrh r0, [r5, #2] + ldrh r1, [r1] + adds r0, r0, r1 + mov r4, r8 + strh r0, [r4, #2] + movs r6, #0xa + ldrsh r0, [r5, r6] + lsls r0, r0, #2 + adds r0, r0, r2 + ldrh r0, [r0, #2] + strh r0, [r4, #4] + mov r7, sb + ldr r4, _08051F84 @ =0x03005000 + mov r0, r8 + ldrh r2, [r0, #8] + lsls r2, r2, #3 + adds r2, r2, r4 + movs r3, #2 + ldrsh r1, [r7, r3] + movs r6, #2 + ldrsh r0, [r0, r6] + adds r1, r1, r0 + ldr r3, _08051F88 @ =0x000001FF + adds r0, r3, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r6, _08051F8C @ =0xFFFFFE00 + adds r0, r6, #0 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + mov r0, r8 + ldrh r1, [r0, #8] + lsls r1, r1, #3 + adds r1, r1, r4 + ldrb r0, [r0, #4] + ldrb r7, [r7, #4] + adds r0, r0, r7 + strb r0, [r1] + movs r1, #0 + mov ip, r1 + mov r8, r4 + mov r5, sp + movs r2, #0x48 + mov sb, r2 _08051E6C: - ldr r0, [r5] - mov r3, sb - strh r3, [r0, #2] - ldr r1, [r5] - movs r0, #0x20 - strh r0, [r1, #4] - ldr r4, [r5] - adds r7, r4, #0 - adds r7, #8 - ldrh r2, [r4, #8] - lsls r2, r2, #3 - add r2, r8 - ldr r0, _08051F90 @ =0x02002932 - add r0, ip - ldrb r1, [r0] - adds r1, #0x16 - ldrh r3, [r2, #4] - ldr r0, _08051F94 @ =0xFFFFFC00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #4] - ldrh r3, [r4, #8] - lsls r3, r3, #3 - add r3, r8 - movs r0, #2 - ldrsh r1, [r7, r0] - ldr r0, [r5] - movs r2, #2 - ldrsh r0, [r0, r2] - adds r1, r1, r0 - ldr r2, _08051F88 @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #2] - adds r0, r6, #0 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4, #8] - lsls r1, r1, #3 - add r1, r8 - ldm r5!, {r0} - ldrb r0, [r0, #4] - ldrb r7, [r7, #4] - adds r0, r0, r7 - strb r0, [r1] - movs r3, #7 - add sb, r3 - movs r4, #1 - add ip, r4 - mov r7, ip - cmp r7, #2 - ble _08051E6C - movs r0, #0 - mov ip, r0 - ldr r1, _08051F84 @ =0x03005000 - mov r8, r1 - movs r6, #0x48 - mov r5, sl + ldr r0, [r5] + mov r3, sb + strh r3, [r0, #2] + ldr r1, [r5] + movs r0, #0x20 + strh r0, [r1, #4] + ldr r4, [r5] + adds r7, r4, #0 + adds r7, #8 + ldrh r2, [r4, #8] + lsls r2, r2, #3 + add r2, r8 + ldr r0, _08051F90 @ =0x02002932 + add r0, ip + ldrb r1, [r0] + adds r1, #0x16 + ldrh r3, [r2, #4] + ldr r0, _08051F94 @ =0xFFFFFC00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #4] + ldrh r3, [r4, #8] + lsls r3, r3, #3 + add r3, r8 + movs r0, #2 + ldrsh r1, [r7, r0] + ldr r0, [r5] + movs r2, #2 + ldrsh r0, [r0, r2] + adds r1, r1, r0 + ldr r2, _08051F88 @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #2] + adds r0, r6, #0 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4, #8] + lsls r1, r1, #3 + add r1, r8 + ldm r5!, {r0} + ldrb r0, [r0, #4] + ldrb r7, [r7, #4] + adds r0, r0, r7 + strb r0, [r1] + movs r3, #7 + add sb, r3 + movs r4, #1 + add ip, r4 + mov r7, ip + cmp r7, #2 + ble _08051E6C + movs r0, #0 + mov ip, r0 + ldr r1, _08051F84 @ =0x03005000 + mov r8, r1 + movs r6, #0x48 + mov r5, sl _08051EE2: - ldr r0, [r5] - strh r6, [r0, #2] - ldr r0, [r5] - movs r2, #0x2c - mov sb, r2 - mov r3, sb - strh r3, [r0, #4] - ldr r4, [r5] - adds r7, r4, #0 - adds r7, #8 - ldrh r2, [r4, #8] - lsls r2, r2, #3 - add r2, r8 - ldr r0, _08051F98 @ =0x02002935 - add r0, ip - ldrb r1, [r0] - adds r1, #0x16 - ldrh r3, [r2, #4] - ldr r0, _08051F94 @ =0xFFFFFC00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #4] - ldrh r3, [r4, #8] - lsls r3, r3, #3 - add r3, r8 - movs r0, #2 - ldrsh r1, [r7, r0] - ldr r0, [r5] - movs r2, #2 - ldrsh r0, [r0, r2] - adds r1, r1, r0 - ldr r2, _08051F88 @ =0x000001FF - adds r0, r2, #0 - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _08051F8C @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4, #8] - lsls r1, r1, #3 - add r1, r8 - ldm r5!, {r0} - ldrb r0, [r0, #4] - ldrb r7, [r7, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r6, #7 - movs r3, #1 - add ip, r3 - mov r4, ip - cmp r4, #2 - ble _08051EE2 - movs r0, #0x48 - ldr r6, [sp, #0x60] - strh r0, [r6, #2] - ldr r7, _08051F70 @ =0x02002920 - movs r1, #0xa - ldrsh r0, [r7, r1] - cmp r0, #0 - bne _08051F9C - movs r0, #0x20 - strh r0, [r6, #4] - b _08051FA6 - .align 2, 0 + ldr r0, [r5] + strh r6, [r0, #2] + ldr r0, [r5] + movs r2, #0x2c + mov sb, r2 + mov r3, sb + strh r3, [r0, #4] + ldr r4, [r5] + adds r7, r4, #0 + adds r7, #8 + ldrh r2, [r4, #8] + lsls r2, r2, #3 + add r2, r8 + ldr r0, _08051F98 @ =0x02002935 + add r0, ip + ldrb r1, [r0] + adds r1, #0x16 + ldrh r3, [r2, #4] + ldr r0, _08051F94 @ =0xFFFFFC00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #4] + ldrh r3, [r4, #8] + lsls r3, r3, #3 + add r3, r8 + movs r0, #2 + ldrsh r1, [r7, r0] + ldr r0, [r5] + movs r2, #2 + ldrsh r0, [r0, r2] + adds r1, r1, r0 + ldr r2, _08051F88 @ =0x000001FF + adds r0, r2, #0 + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _08051F8C @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4, #8] + lsls r1, r1, #3 + add r1, r8 + ldm r5!, {r0} + ldrb r0, [r0, #4] + ldrb r7, [r7, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r6, #7 + movs r3, #1 + add ip, r3 + mov r4, ip + cmp r4, #2 + ble _08051EE2 + movs r0, #0x48 + ldr r6, [sp, #0x60] + strh r0, [r6, #2] + ldr r7, _08051F70 @ =0x02002920 + movs r1, #0xa + ldrsh r0, [r7, r1] + cmp r0, #0 + bne _08051F9C + movs r0, #0x20 + strh r0, [r6, #4] + b _08051FA6 + .align 2, 0 _08051F64: .4byte 0x0200C890 _08051F68: .4byte 0x0200B978 _08051F6C: .4byte 0x0200C948 @@ -161329,166 +161329,166 @@ _08051F90: .4byte 0x02002932 _08051F94: .4byte 0xFFFFFC00 _08051F98: .4byte 0x02002935 _08051F9C: - cmp r0, #1 - bne _08051FA6 - mov r3, sb - ldr r2, [sp, #0x60] - strh r3, [r2, #4] + cmp r0, #1 + bne _08051FA6 + mov r3, sb + ldr r2, [sp, #0x60] + strh r3, [r2, #4] _08051FA6: - ldr r5, _080520D0 @ =0x03005000 - ldr r7, _080520D4 @ =0xFFFFFE00 - ldr r4, [sp, #0x60] - adds r4, #8 - movs r6, #1 - mov ip, r6 + ldr r5, _080520D0 @ =0x03005000 + ldr r7, _080520D4 @ =0xFFFFFE00 + ldr r4, [sp, #0x60] + adds r4, #8 + movs r6, #1 + mov ip, r6 _08051FB2: - ldrh r3, [r4] - lsls r3, r3, #3 - adds r3, r3, r5 - movs r0, #2 - ldrsh r1, [r4, r0] - ldr r2, [sp, #0x60] - movs r6, #2 - ldrsh r0, [r2, r6] - adds r1, r1, r0 - ldr r0, _080520D8 @ =0x000001FF - adds r6, r0, #0 - ands r1, r6 - ldrh r2, [r3, #2] - adds r0, r7, #0 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4] - lsls r1, r1, #3 - adds r1, r1, r5 - ldr r2, [sp, #0x60] - ldrb r0, [r2, #4] - ldrb r3, [r4, #4] - adds r0, r0, r3 - strb r0, [r1] - adds r4, #8 - movs r0, #1 - rsbs r0, r0, #0 - add ip, r0 - mov r1, ip - cmp r1, #0 - bge _08051FB2 - movs r0, #0x48 - ldr r2, _080520DC @ =0x0200B978 - strh r0, [r2, #2] - ldr r3, _080520E0 @ =0x02002920 - movs r4, #0xc - ldrsh r0, [r3, r4] - lsls r0, r0, #1 - ldr r7, _080520E4 @ =0x086BB9A8 - adds r0, r0, r7 - ldrh r0, [r0] - strh r0, [r2, #4] - ldr r7, [sp, #0x70] - ldrh r2, [r2, #8] - lsls r2, r2, #3 - ldr r0, _080520D0 @ =0x03005000 - adds r2, r2, r0 - movs r3, #2 - ldrsh r1, [r7, r3] - adds r1, #0x48 - ands r1, r6 - ldrh r3, [r2, #2] - ldr r0, _080520D4 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldr r4, _080520DC @ =0x0200B978 - ldrh r1, [r4, #8] - lsls r1, r1, #3 - ldr r6, _080520D0 @ =0x03005000 - adds r1, r1, r6 - ldrb r0, [r4, #4] - ldrb r7, [r7, #4] - adds r0, r0, r7 - strb r0, [r1] - movs r7, #0 - mov ip, r7 - ldr r0, _080520E0 @ =0x02002920 - str r0, [sp, #0x68] - movs r1, #0x54 - str r1, [sp, #0x80] - movs r2, #0 - str r2, [sp, #0x84] - movs r3, #0 - str r3, [sp, #0x88] - ldr r4, [sp, #0x6c] - mov r8, r4 + ldrh r3, [r4] + lsls r3, r3, #3 + adds r3, r3, r5 + movs r0, #2 + ldrsh r1, [r4, r0] + ldr r2, [sp, #0x60] + movs r6, #2 + ldrsh r0, [r2, r6] + adds r1, r1, r0 + ldr r0, _080520D8 @ =0x000001FF + adds r6, r0, #0 + ands r1, r6 + ldrh r2, [r3, #2] + adds r0, r7, #0 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4] + lsls r1, r1, #3 + adds r1, r1, r5 + ldr r2, [sp, #0x60] + ldrb r0, [r2, #4] + ldrb r3, [r4, #4] + adds r0, r0, r3 + strb r0, [r1] + adds r4, #8 + movs r0, #1 + rsbs r0, r0, #0 + add ip, r0 + mov r1, ip + cmp r1, #0 + bge _08051FB2 + movs r0, #0x48 + ldr r2, _080520DC @ =0x0200B978 + strh r0, [r2, #2] + ldr r3, _080520E0 @ =0x02002920 + movs r4, #0xc + ldrsh r0, [r3, r4] + lsls r0, r0, #1 + ldr r7, _080520E4 @ =0x086BB9A8 + adds r0, r0, r7 + ldrh r0, [r0] + strh r0, [r2, #4] + ldr r7, [sp, #0x70] + ldrh r2, [r2, #8] + lsls r2, r2, #3 + ldr r0, _080520D0 @ =0x03005000 + adds r2, r2, r0 + movs r3, #2 + ldrsh r1, [r7, r3] + adds r1, #0x48 + ands r1, r6 + ldrh r3, [r2, #2] + ldr r0, _080520D4 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldr r4, _080520DC @ =0x0200B978 + ldrh r1, [r4, #8] + lsls r1, r1, #3 + ldr r6, _080520D0 @ =0x03005000 + adds r1, r1, r6 + ldrb r0, [r4, #4] + ldrb r7, [r7, #4] + adds r0, r0, r7 + strb r0, [r1] + movs r7, #0 + mov ip, r7 + ldr r0, _080520E0 @ =0x02002920 + str r0, [sp, #0x68] + movs r1, #0x54 + str r1, [sp, #0x80] + movs r2, #0 + str r2, [sp, #0x84] + movs r3, #0 + str r3, [sp, #0x88] + ldr r4, [sp, #0x6c] + mov r8, r4 _0805204E: - ldr r0, [sp, #0x68] - adds r0, #0x1a - add r0, ip - ldrb r0, [r0] - cmp r0, #1 - bne _080520E8 - mov r6, r8 - ldr r1, [r6] - movs r0, #0x9c - strh r0, [r1, #2] - ldr r0, [r6] - add r7, sp, #0x80 - ldrh r7, [r7] - strh r7, [r0, #4] - movs r5, #0 - ldr r1, [sp, #0x68] - movs r2, #6 - ldrsh r0, [r1, r2] - adds r0, #1 - cmp r5, r0 - blt _0805207A - b _080522E2 + ldr r0, [sp, #0x68] + adds r0, #0x1a + add r0, ip + ldrb r0, [r0] + cmp r0, #1 + bne _080520E8 + mov r6, r8 + ldr r1, [r6] + movs r0, #0x9c + strh r0, [r1, #2] + ldr r0, [r6] + add r7, sp, #0x80 + ldrh r7, [r7] + strh r7, [r0, #4] + movs r5, #0 + ldr r1, [sp, #0x68] + movs r2, #6 + ldrsh r0, [r1, r2] + adds r0, #1 + cmp r5, r0 + blt _0805207A + b _080522E2 _0805207A: - ldr r3, [sp, #0x6c] - ldr r6, [sp, #0x84] - adds r4, r3, r6 - ldr r7, _080520D0 @ =0x03005000 - mov sb, r7 - movs r6, #8 - ldr r0, _080520D4 @ =0xFFFFFE00 - mov sl, r0 + ldr r3, [sp, #0x6c] + ldr r6, [sp, #0x84] + adds r4, r3, r6 + ldr r7, _080520D0 @ =0x03005000 + mov sb, r7 + movs r6, #8 + ldr r0, _080520D4 @ =0xFFFFFE00 + mov sl, r0 _0805208A: - ldr r0, [r4] - adds r7, r0, r6 - ldrh r2, [r7] - lsls r2, r2, #3 - add r2, sb - movs r3, #2 - ldrsh r1, [r7, r3] - movs r3, #2 - ldrsh r0, [r0, r3] - adds r1, r1, r0 - ldr r3, _080520D8 @ =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, sb - ldr r0, [r4] - ldrb r0, [r0, #4] - ldrb r7, [r7, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r6, #8 - adds r5, #1 - ldr r7, [sp, #0x68] - movs r1, #6 - ldrsh r0, [r7, r1] - adds r0, #1 - cmp r5, r0 - blt _0805208A - b _080522E2 - .align 2, 0 + ldr r0, [r4] + adds r7, r0, r6 + ldrh r2, [r7] + lsls r2, r2, #3 + add r2, sb + movs r3, #2 + ldrsh r1, [r7, r3] + movs r3, #2 + ldrsh r0, [r0, r3] + adds r1, r1, r0 + ldr r3, _080520D8 @ =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, sb + ldr r0, [r4] + ldrb r0, [r0, #4] + ldrb r7, [r7, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r6, #8 + adds r5, #1 + ldr r7, [sp, #0x68] + movs r1, #6 + ldrsh r0, [r7, r1] + adds r0, #1 + cmp r5, r0 + blt _0805208A + b _080522E2 + .align 2, 0 _080520D0: .4byte 0x03005000 _080520D4: .4byte 0xFFFFFE00 _080520D8: .4byte 0x000001FF @@ -161496,481 +161496,481 @@ _080520DC: .4byte 0x0200B978 _080520E0: .4byte 0x02002920 _080520E4: .4byte 0x086BB9A8 _080520E8: - mov r2, r8 - ldr r1, [r2] - movs r0, #0x9c - strh r0, [r1, #2] - ldr r0, [r2] - add r3, sp, #0x80 - ldrh r3, [r3] - strh r3, [r0, #4] - ldr r4, [r2] - adds r7, r4, #0 - adds r7, #8 - ldr r6, [sp, #0x68] - movs r0, #0xc - ldrsh r1, [r6, r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r1, [sp, #0x88] - adds r0, r1, r0 - ldr r2, _08052490 @ =0x02031AF0 - adds r0, r0, r2 - ldrb r0, [r0] - ldrh r2, [r4, #8] - lsls r2, r2, #3 - ldr r3, _08052494 @ =0x03005000 - adds r2, r2, r3 - lsls r0, r0, #3 - ldr r1, _08052498 @ =0x086BB910 - adds r6, r0, r1 - ldrh r0, [r6, #2] - ldr r1, _0805249C @ =0x000003FF - ands r1, r0 - ldrh r3, [r2, #4] - ldr r0, _080524A0 @ =0xFFFFFC00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #4] - ldrh r1, [r4, #8] - lsls r1, r1, #3 - ldr r2, _08052494 @ =0x03005000 - adds r1, r1, r2 - ldrb r2, [r6, #4] - lsls r2, r2, #6 - ldrb r3, [r1, #1] - movs r0, #0x3f - mov sl, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, #1] - ldrh r2, [r4, #8] - lsls r2, r2, #3 - ldr r1, _08052494 @ =0x03005000 - adds r2, r2, r1 - ldrb r1, [r6, #5] - lsls r1, r1, #6 - ldrb r3, [r2, #3] - mov r0, sl - ands r0, r3 - orrs r0, r1 - strb r0, [r2, #3] - ldrh r2, [r4, #8] - lsls r2, r2, #3 - ldr r3, _08052494 @ =0x03005000 - adds r2, r2, r3 - movs r0, #2 - ldrsh r1, [r7, r0] - mov r3, r8 - ldr r0, [r3] - movs r3, #2 - ldrsh r0, [r0, r3] - adds r1, r1, r0 - ldr r0, _080524A4 @ =0x000001FF - ands r1, r0 - ldrh r3, [r2, #2] - ldr r0, _080524A8 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldrh r1, [r4, #8] - lsls r1, r1, #3 - ldr r2, _08052494 @ =0x03005000 - adds r1, r1, r2 - mov r3, r8 - ldr r0, [r3] - ldrb r0, [r0, #4] - ldrb r7, [r7, #4] - adds r0, r0, r7 - strb r0, [r1] - ldr r4, [sp, #0x68] - movs r7, #0xc - ldrsh r1, [r4, r7] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r0, #1 - ldr r1, [sp, #0x88] - adds r0, r1, r0 - ldr r2, _08052490 @ =0x02031AF0 - adds r0, r0, r2 - ldrb r0, [r0] - mov sb, r0 - cmp r0, #0xa - bne _080521B8 - b _080522E2 + mov r2, r8 + ldr r1, [r2] + movs r0, #0x9c + strh r0, [r1, #2] + ldr r0, [r2] + add r3, sp, #0x80 + ldrh r3, [r3] + strh r3, [r0, #4] + ldr r4, [r2] + adds r7, r4, #0 + adds r7, #8 + ldr r6, [sp, #0x68] + movs r0, #0xc + ldrsh r1, [r6, r0] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #1 + ldr r1, [sp, #0x88] + adds r0, r1, r0 + ldr r2, _08052490 @ =0x02031AF0 + adds r0, r0, r2 + ldrb r0, [r0] + ldrh r2, [r4, #8] + lsls r2, r2, #3 + ldr r3, _08052494 @ =0x03005000 + adds r2, r2, r3 + lsls r0, r0, #3 + ldr r1, _08052498 @ =0x086BB910 + adds r6, r0, r1 + ldrh r0, [r6, #2] + ldr r1, _0805249C @ =0x000003FF + ands r1, r0 + ldrh r3, [r2, #4] + ldr r0, _080524A0 @ =0xFFFFFC00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #4] + ldrh r1, [r4, #8] + lsls r1, r1, #3 + ldr r2, _08052494 @ =0x03005000 + adds r1, r1, r2 + ldrb r2, [r6, #4] + lsls r2, r2, #6 + ldrb r3, [r1, #1] + movs r0, #0x3f + mov sl, r0 + ands r0, r3 + orrs r0, r2 + strb r0, [r1, #1] + ldrh r2, [r4, #8] + lsls r2, r2, #3 + ldr r1, _08052494 @ =0x03005000 + adds r2, r2, r1 + ldrb r1, [r6, #5] + lsls r1, r1, #6 + ldrb r3, [r2, #3] + mov r0, sl + ands r0, r3 + orrs r0, r1 + strb r0, [r2, #3] + ldrh r2, [r4, #8] + lsls r2, r2, #3 + ldr r3, _08052494 @ =0x03005000 + adds r2, r2, r3 + movs r0, #2 + ldrsh r1, [r7, r0] + mov r3, r8 + ldr r0, [r3] + movs r3, #2 + ldrsh r0, [r0, r3] + adds r1, r1, r0 + ldr r0, _080524A4 @ =0x000001FF + ands r1, r0 + ldrh r3, [r2, #2] + ldr r0, _080524A8 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldrh r1, [r4, #8] + lsls r1, r1, #3 + ldr r2, _08052494 @ =0x03005000 + adds r1, r1, r2 + mov r3, r8 + ldr r0, [r3] + ldrb r0, [r0, #4] + ldrb r7, [r7, #4] + adds r0, r0, r7 + strb r0, [r1] + ldr r4, [sp, #0x68] + movs r7, #0xc + ldrsh r1, [r4, r7] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r0, #1 + ldr r1, [sp, #0x88] + adds r0, r1, r0 + ldr r2, _08052490 @ =0x02031AF0 + adds r0, r0, r2 + ldrb r0, [r0] + mov sb, r0 + cmp r0, #0xa + bne _080521B8 + b _080522E2 _080521B8: - ldr r3, [sp, #0x74] - ldr r4, [sp, #0x84] - adds r5, r3, r4 - ldr r1, [r5] - mov r7, r8 - ldr r0, [r7] - ldrh r0, [r0, #2] - ldrb r6, [r6, #6] - adds r0, r0, r6 - strh r0, [r1, #2] - ldr r1, [r5] - ldr r0, [r7] - ldrh r0, [r0, #4] - strh r0, [r1, #4] - ldr r4, [r5] - adds r7, r4, #0 - adds r7, #8 - ldrh r2, [r4, #8] - lsls r2, r2, #3 - ldr r0, _08052494 @ =0x03005000 - adds r2, r2, r0 - ldrh r1, [r2, #4] - ldr r0, _080524A0 @ =0xFFFFFC00 - ands r0, r1 - movs r1, #0x2a - orrs r0, r1 - strh r0, [r2, #4] - ldrh r1, [r4, #8] - lsls r1, r1, #3 - ldr r2, _08052494 @ =0x03005000 - adds r1, r1, r2 - ldrb r2, [r1, #1] - mov r0, sl - ands r0, r2 - strb r0, [r1, #1] - ldrh r1, [r4, #8] - lsls r1, r1, #3 - ldr r3, _08052494 @ =0x03005000 - adds r1, r1, r3 - ldrb r2, [r1, #3] - mov r0, sl - ands r0, r2 - strb r0, [r1, #3] - ldrh r3, [r4, #8] - lsls r3, r3, #3 - ldr r6, _08052494 @ =0x03005000 - adds r3, r3, r6 - movs r0, #2 - ldrsh r1, [r7, r0] - ldr r0, [r5] - movs r2, #2 - ldrsh r0, [r0, r2] - adds r1, r1, r0 - ldr r6, _080524A4 @ =0x000001FF - ands r1, r6 - ldrh r2, [r3, #2] - ldr r0, _080524A8 @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r4, #8] - lsls r1, r1, #3 - ldr r0, _08052494 @ =0x03005000 - adds r1, r1, r0 - ldr r0, [r5] - ldrb r0, [r0, #4] - ldrb r7, [r7, #4] - adds r0, r0, r7 - strb r0, [r1] - ldr r1, [sp, #0x7c] - ldr r2, [sp, #0x84] - adds r6, r1, r2 - ldr r1, [r6] - ldr r0, [r5] - ldrh r0, [r0, #2] - adds r0, #8 - strh r0, [r1, #2] - ldr r1, [r6] - mov r3, r8 - ldr r0, [r3] - ldrh r0, [r0, #4] - strh r0, [r1, #4] - ldr r5, [r6] - adds r7, r5, #0 - adds r7, #8 - ldrh r3, [r5, #8] - lsls r3, r3, #3 - ldr r4, _08052494 @ =0x03005000 - adds r3, r3, r4 - mov r0, sb - lsls r4, r0, #3 - ldr r1, _08052498 @ =0x086BB910 - adds r4, r4, r1 - ldrh r0, [r4, #2] - ldr r1, _0805249C @ =0x000003FF - ands r1, r0 - ldrh r2, [r3, #4] - ldr r0, _080524A0 @ =0xFFFFFC00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #4] - ldrh r2, [r5, #8] - lsls r2, r2, #3 - ldr r3, _08052494 @ =0x03005000 - adds r2, r2, r3 - ldrb r1, [r4, #4] - lsls r1, r1, #6 - ldrb r3, [r2, #1] - mov r0, sl - ands r0, r3 - orrs r0, r1 - strb r0, [r2, #1] - ldrh r2, [r5, #8] - lsls r2, r2, #3 - ldr r0, _08052494 @ =0x03005000 - adds r2, r2, r0 - ldrb r1, [r4, #5] - lsls r1, r1, #6 - ldrb r3, [r2, #3] - mov r0, sl - ands r0, r3 - orrs r0, r1 - strb r0, [r2, #3] - ldrh r3, [r5, #8] - lsls r3, r3, #3 - ldr r1, _08052494 @ =0x03005000 - adds r3, r3, r1 - movs r2, #2 - ldrsh r1, [r7, r2] - ldr r0, [r6] - movs r4, #2 - ldrsh r0, [r0, r4] - adds r1, r1, r0 - ldr r0, _080524A4 @ =0x000001FF - ands r1, r0 - ldrh r2, [r3, #2] - ldr r0, _080524A8 @ =0xFFFFFE00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r5, #8] - lsls r1, r1, #3 - ldr r2, _08052494 @ =0x03005000 - adds r1, r1, r2 - ldr r0, [r6] - ldrb r0, [r0, #4] - ldrb r7, [r7, #4] - adds r0, r0, r7 - strb r0, [r1] + ldr r3, [sp, #0x74] + ldr r4, [sp, #0x84] + adds r5, r3, r4 + ldr r1, [r5] + mov r7, r8 + ldr r0, [r7] + ldrh r0, [r0, #2] + ldrb r6, [r6, #6] + adds r0, r0, r6 + strh r0, [r1, #2] + ldr r1, [r5] + ldr r0, [r7] + ldrh r0, [r0, #4] + strh r0, [r1, #4] + ldr r4, [r5] + adds r7, r4, #0 + adds r7, #8 + ldrh r2, [r4, #8] + lsls r2, r2, #3 + ldr r0, _08052494 @ =0x03005000 + adds r2, r2, r0 + ldrh r1, [r2, #4] + ldr r0, _080524A0 @ =0xFFFFFC00 + ands r0, r1 + movs r1, #0x2a + orrs r0, r1 + strh r0, [r2, #4] + ldrh r1, [r4, #8] + lsls r1, r1, #3 + ldr r2, _08052494 @ =0x03005000 + adds r1, r1, r2 + ldrb r2, [r1, #1] + mov r0, sl + ands r0, r2 + strb r0, [r1, #1] + ldrh r1, [r4, #8] + lsls r1, r1, #3 + ldr r3, _08052494 @ =0x03005000 + adds r1, r1, r3 + ldrb r2, [r1, #3] + mov r0, sl + ands r0, r2 + strb r0, [r1, #3] + ldrh r3, [r4, #8] + lsls r3, r3, #3 + ldr r6, _08052494 @ =0x03005000 + adds r3, r3, r6 + movs r0, #2 + ldrsh r1, [r7, r0] + ldr r0, [r5] + movs r2, #2 + ldrsh r0, [r0, r2] + adds r1, r1, r0 + ldr r6, _080524A4 @ =0x000001FF + ands r1, r6 + ldrh r2, [r3, #2] + ldr r0, _080524A8 @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r4, #8] + lsls r1, r1, #3 + ldr r0, _08052494 @ =0x03005000 + adds r1, r1, r0 + ldr r0, [r5] + ldrb r0, [r0, #4] + ldrb r7, [r7, #4] + adds r0, r0, r7 + strb r0, [r1] + ldr r1, [sp, #0x7c] + ldr r2, [sp, #0x84] + adds r6, r1, r2 + ldr r1, [r6] + ldr r0, [r5] + ldrh r0, [r0, #2] + adds r0, #8 + strh r0, [r1, #2] + ldr r1, [r6] + mov r3, r8 + ldr r0, [r3] + ldrh r0, [r0, #4] + strh r0, [r1, #4] + ldr r5, [r6] + adds r7, r5, #0 + adds r7, #8 + ldrh r3, [r5, #8] + lsls r3, r3, #3 + ldr r4, _08052494 @ =0x03005000 + adds r3, r3, r4 + mov r0, sb + lsls r4, r0, #3 + ldr r1, _08052498 @ =0x086BB910 + adds r4, r4, r1 + ldrh r0, [r4, #2] + ldr r1, _0805249C @ =0x000003FF + ands r1, r0 + ldrh r2, [r3, #4] + ldr r0, _080524A0 @ =0xFFFFFC00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #4] + ldrh r2, [r5, #8] + lsls r2, r2, #3 + ldr r3, _08052494 @ =0x03005000 + adds r2, r2, r3 + ldrb r1, [r4, #4] + lsls r1, r1, #6 + ldrb r3, [r2, #1] + mov r0, sl + ands r0, r3 + orrs r0, r1 + strb r0, [r2, #1] + ldrh r2, [r5, #8] + lsls r2, r2, #3 + ldr r0, _08052494 @ =0x03005000 + adds r2, r2, r0 + ldrb r1, [r4, #5] + lsls r1, r1, #6 + ldrb r3, [r2, #3] + mov r0, sl + ands r0, r3 + orrs r0, r1 + strb r0, [r2, #3] + ldrh r3, [r5, #8] + lsls r3, r3, #3 + ldr r1, _08052494 @ =0x03005000 + adds r3, r3, r1 + movs r2, #2 + ldrsh r1, [r7, r2] + ldr r0, [r6] + movs r4, #2 + ldrsh r0, [r0, r4] + adds r1, r1, r0 + ldr r0, _080524A4 @ =0x000001FF + ands r1, r0 + ldrh r2, [r3, #2] + ldr r0, _080524A8 @ =0xFFFFFE00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r5, #8] + lsls r1, r1, #3 + ldr r2, _08052494 @ =0x03005000 + adds r1, r1, r2 + ldr r0, [r6] + ldrb r0, [r0, #4] + ldrb r7, [r7, #4] + adds r0, r0, r7 + strb r0, [r1] _080522E2: - ldr r3, [sp, #0x80] - adds r3, #0xc - str r3, [sp, #0x80] - ldr r4, [sp, #0x84] - adds r4, #0xc - str r4, [sp, #0x84] - ldr r6, [sp, #0x88] - adds r6, #2 - str r6, [sp, #0x88] - movs r7, #0xc - add r8, r7 - movs r0, #1 - add ip, r0 - mov r1, ip - cmp r1, #4 - bgt _08052304 - b _0805204E + ldr r3, [sp, #0x80] + adds r3, #0xc + str r3, [sp, #0x80] + ldr r4, [sp, #0x84] + adds r4, #0xc + str r4, [sp, #0x84] + ldr r6, [sp, #0x88] + adds r6, #2 + str r6, [sp, #0x88] + movs r7, #0xc + add r8, r7 + movs r0, #1 + add ip, r0 + mov r1, ip + cmp r1, #4 + bgt _08052304 + b _0805204E _08052304: - movs r5, #8 - movs r0, #0xaa - ldr r2, [sp, #0x64] - strh r0, [r2, #2] - ldr r0, _080524AC @ =0x02002920 - adds r0, #0x2a - ldrb r0, [r0] - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - movs r0, #0x2c - subs r0, r0, r1 - strh r0, [r2, #4] - ldr r7, [sp, #0x78] - ldrh r2, [r2, #8] - lsls r2, r2, #3 - ldr r3, _08052494 @ =0x03005000 - adds r2, r2, r3 - movs r4, #2 - ldrsh r1, [r7, r4] - adds r1, #0xaa - ldr r6, _080524A4 @ =0x000001FF - adds r0, r6, #0 - ands r1, r0 - ldrh r3, [r2, #2] - ldr r4, _080524A8 @ =0xFFFFFE00 - adds r0, r4, #0 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldr r0, [sp, #0x64] - ldrh r1, [r0, #8] - lsls r1, r1, #3 - ldr r2, _08052494 @ =0x03005000 - adds r1, r1, r2 - ldrb r0, [r0, #4] - ldrb r7, [r7, #4] - adds r0, r0, r7 - strb r0, [r1] - movs r0, #0xc0 - ldr r3, _080524B0 @ =0x0200C948 - strh r0, [r3, #2] - strh r5, [r3, #4] - ldr r6, _080524AC @ =0x02002920 - adds r6, #0x2d - mov sl, r6 - adds r5, r3, #0 - adds r5, #8 - movs r6, #0x40 - mov sb, r4 - movs r7, #1 - mov ip, r7 + movs r5, #8 + movs r0, #0xaa + ldr r2, [sp, #0x64] + strh r0, [r2, #2] + ldr r0, _080524AC @ =0x02002920 + adds r0, #0x2a + ldrb r0, [r0] + lsls r1, r0, #1 + adds r1, r1, r0 + lsls r1, r1, #2 + movs r0, #0x2c + subs r0, r0, r1 + strh r0, [r2, #4] + ldr r7, [sp, #0x78] + ldrh r2, [r2, #8] + lsls r2, r2, #3 + ldr r3, _08052494 @ =0x03005000 + adds r2, r2, r3 + movs r4, #2 + ldrsh r1, [r7, r4] + adds r1, #0xaa + ldr r6, _080524A4 @ =0x000001FF + adds r0, r6, #0 + ands r1, r0 + ldrh r3, [r2, #2] + ldr r4, _080524A8 @ =0xFFFFFE00 + adds r0, r4, #0 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldr r0, [sp, #0x64] + ldrh r1, [r0, #8] + lsls r1, r1, #3 + ldr r2, _08052494 @ =0x03005000 + adds r1, r1, r2 + ldrb r0, [r0, #4] + ldrb r7, [r7, #4] + adds r0, r0, r7 + strb r0, [r1] + movs r0, #0xc0 + ldr r3, _080524B0 @ =0x0200C948 + strh r0, [r3, #2] + strh r5, [r3, #4] + ldr r6, _080524AC @ =0x02002920 + adds r6, #0x2d + mov sl, r6 + adds r5, r3, #0 + adds r5, #8 + movs r6, #0x40 + mov sb, r4 + movs r7, #1 + mov ip, r7 _0805236C: - ldrh r3, [r5] - lsls r3, r3, #3 - ldr r0, _08052494 @ =0x03005000 - adds r3, r3, r0 - mov r2, sl - movs r1, #0 - ldrsb r1, [r2, r1] - lsls r1, r1, #2 - adds r1, r6, r1 - ldr r7, _0805249C @ =0x000003FF - adds r4, r7, #0 - ands r1, r4 - ldrh r2, [r3, #4] - ldr r0, _080524A0 @ =0xFFFFFC00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #4] - ldrh r3, [r5] - lsls r3, r3, #3 - ldr r0, _08052494 @ =0x03005000 - adds r3, r3, r0 - movs r2, #2 - ldrsh r1, [r5, r2] - ldr r7, _080524B0 @ =0x0200C948 - movs r2, #2 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - ldr r7, _080524A4 @ =0x000001FF - mov r8, r7 - mov r0, r8 - ands r1, r0 - ldrh r2, [r3, #2] - mov r0, sb - ands r0, r2 - orrs r0, r1 - strh r0, [r3, #2] - ldrh r1, [r5] - lsls r1, r1, #3 - ldr r2, _08052494 @ =0x03005000 - adds r1, r1, r2 - ldr r3, _080524B0 @ =0x0200C948 - ldrb r0, [r3, #4] - ldrb r7, [r5, #4] - adds r0, r0, r7 - strb r0, [r1] - adds r5, #8 - adds r6, #0x80 - movs r0, #1 - rsbs r0, r0, #0 - add ip, r0 - mov r1, ip - cmp r1, #0 - bge _0805236C - ldr r2, _080524B4 @ =0x0200CA00 - ldrh r0, [r2] - cmp r0, #1 - bne _08052454 - movs r0, #0xb0 - strh r0, [r2, #2] - movs r0, #8 - strh r0, [r2, #4] - adds r7, r2, #0 - adds r7, #8 - ldrh r2, [r2, #8] - lsls r2, r2, #3 - ldr r3, _08052494 @ =0x03005000 - adds r2, r2, r3 - ldr r5, _080524AC @ =0x02002920 - adds r5, #0x2f - movs r1, #0 - ldrsb r1, [r5, r1] - lsls r1, r1, #6 - adds r1, #0x54 - ands r1, r4 - ldrh r3, [r2, #4] - ldr r0, _080524A0 @ =0xFFFFFC00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #4] - ldr r4, _080524B4 @ =0x0200CA00 - ldrh r2, [r4, #8] - lsls r2, r2, #3 - ldr r6, _08052494 @ =0x03005000 - adds r2, r2, r6 - movs r0, #2 - ldrsh r1, [r7, r0] - movs r3, #2 - ldrsh r0, [r4, r3] - adds r1, r1, r0 - mov r4, r8 - ands r1, r4 - ldrh r3, [r2, #2] - ldr r0, _080524A8 @ =0xFFFFFE00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, #2] - ldr r6, _080524B4 @ =0x0200CA00 - ldrh r1, [r6, #8] - lsls r1, r1, #3 - ldr r0, _08052494 @ =0x03005000 - adds r1, r1, r0 - ldrb r0, [r6, #4] - ldrb r7, [r7, #4] - adds r0, r0, r7 - strb r0, [r1] - ldr r0, _080524B8 @ =0x0200B0C0 - ldr r0, [r0, #0x4c] - movs r1, #0x12 - bl __umodsi3 - cmp r0, #0 - bne _08052454 - ldrb r1, [r5] - movs r0, #1 - subs r0, r0, r1 - strb r0, [r5] + ldrh r3, [r5] + lsls r3, r3, #3 + ldr r0, _08052494 @ =0x03005000 + adds r3, r3, r0 + mov r2, sl + movs r1, #0 + ldrsb r1, [r2, r1] + lsls r1, r1, #2 + adds r1, r6, r1 + ldr r7, _0805249C @ =0x000003FF + adds r4, r7, #0 + ands r1, r4 + ldrh r2, [r3, #4] + ldr r0, _080524A0 @ =0xFFFFFC00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #4] + ldrh r3, [r5] + lsls r3, r3, #3 + ldr r0, _08052494 @ =0x03005000 + adds r3, r3, r0 + movs r2, #2 + ldrsh r1, [r5, r2] + ldr r7, _080524B0 @ =0x0200C948 + movs r2, #2 + ldrsh r0, [r7, r2] + adds r1, r1, r0 + ldr r7, _080524A4 @ =0x000001FF + mov r8, r7 + mov r0, r8 + ands r1, r0 + ldrh r2, [r3, #2] + mov r0, sb + ands r0, r2 + orrs r0, r1 + strh r0, [r3, #2] + ldrh r1, [r5] + lsls r1, r1, #3 + ldr r2, _08052494 @ =0x03005000 + adds r1, r1, r2 + ldr r3, _080524B0 @ =0x0200C948 + ldrb r0, [r3, #4] + ldrb r7, [r5, #4] + adds r0, r0, r7 + strb r0, [r1] + adds r5, #8 + adds r6, #0x80 + movs r0, #1 + rsbs r0, r0, #0 + add ip, r0 + mov r1, ip + cmp r1, #0 + bge _0805236C + ldr r2, _080524B4 @ =0x0200CA00 + ldrh r0, [r2] + cmp r0, #1 + bne _08052454 + movs r0, #0xb0 + strh r0, [r2, #2] + movs r0, #8 + strh r0, [r2, #4] + adds r7, r2, #0 + adds r7, #8 + ldrh r2, [r2, #8] + lsls r2, r2, #3 + ldr r3, _08052494 @ =0x03005000 + adds r2, r2, r3 + ldr r5, _080524AC @ =0x02002920 + adds r5, #0x2f + movs r1, #0 + ldrsb r1, [r5, r1] + lsls r1, r1, #6 + adds r1, #0x54 + ands r1, r4 + ldrh r3, [r2, #4] + ldr r0, _080524A0 @ =0xFFFFFC00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #4] + ldr r4, _080524B4 @ =0x0200CA00 + ldrh r2, [r4, #8] + lsls r2, r2, #3 + ldr r6, _08052494 @ =0x03005000 + adds r2, r2, r6 + movs r0, #2 + ldrsh r1, [r7, r0] + movs r3, #2 + ldrsh r0, [r4, r3] + adds r1, r1, r0 + mov r4, r8 + ands r1, r4 + ldrh r3, [r2, #2] + ldr r0, _080524A8 @ =0xFFFFFE00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, #2] + ldr r6, _080524B4 @ =0x0200CA00 + ldrh r1, [r6, #8] + lsls r1, r1, #3 + ldr r0, _08052494 @ =0x03005000 + adds r1, r1, r0 + ldrb r0, [r6, #4] + ldrb r7, [r7, #4] + adds r0, r0, r7 + strb r0, [r1] + ldr r0, _080524B8 @ =0x0200B0C0 + ldr r0, [r0, #0x4c] + movs r1, #0x12 + bl __umodsi3 + cmp r0, #0 + bne _08052454 + ldrb r1, [r5] + movs r0, #1 + subs r0, r0, r1 + strb r0, [r5] _08052454: - movs r0, #0 - ldr r1, [sp, #0x60] - strh r0, [r1] - mov ip, r0 - ldr r4, [sp, #0x6c] - movs r3, #0 + movs r0, #0 + ldr r1, [sp, #0x60] + strh r0, [r1] + mov ip, r0 + ldr r4, [sp, #0x6c] + movs r3, #0 _08052460: - mov r2, ip - adds r2, #1 - mov r6, ip - lsls r0, r6, #1 - add r0, ip - lsls r0, r0, #2 - adds r1, r0, r4 - movs r5, #2 + mov r2, ip + adds r2, #1 + mov r6, ip + lsls r0, r6, #1 + add r0, ip + lsls r0, r0, #2 + adds r1, r0, r4 + movs r5, #2 _08052470: - ldm r1!, {r0} - strh r3, [r0] - subs r5, #1 - cmp r5, #0 - bge _08052470 - mov ip, r2 - cmp r2, #5 - ble _08052460 - add sp, #0x8c - 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 + ldm r1!, {r0} + strh r3, [r0] + subs r5, #1 + cmp r5, #0 + bge _08052470 + mov ip, r2 + cmp r2, #5 + ble _08052460 + add sp, #0x8c + 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 _08052490: .4byte 0x02031AF0 _08052494: .4byte 0x03005000 _08052498: .4byte 0x086BB910 @@ -161983,1049 +161983,1049 @@ _080524B0: .4byte 0x0200C948 _080524B4: .4byte 0x0200CA00 _080524B8: .4byte 0x0200B0C0 - thumb_func_start sub_524BC + thumb_func_start sub_524BC sub_524BC: @ 0x080524BC - push {r4, r5, lr} - ldr r1, _0805251C @ =0x02002920 - movs r2, #0x28 - ldrsh r0, [r1, r2] - adds r2, r1, #0 - cmp r0, #1 - bgt _08052514 - ldr r0, _08052520 @ =0x0200B0C0 - ldrh r0, [r0, #0x1c] - ldr r4, _08052524 @ =0x000003F7 - ands r4, r0 - cmp r4, #0 - beq _08052514 - movs r3, #0 + push {r4, r5, lr} + ldr r1, _0805251C @ =0x02002920 + movs r2, #0x28 + ldrsh r0, [r1, r2] + adds r2, r1, #0 + cmp r0, #1 + bgt _08052514 + ldr r0, _08052520 @ =0x0200B0C0 + ldrh r0, [r0, #0x1c] + ldr r4, _08052524 @ =0x000003F7 + ands r4, r0 + cmp r4, #0 + beq _08052514 + movs r3, #0 _080524D8: - movs r1, #1 - lsls r1, r3 - ands r1, r4 - cmp r1, #0 - beq _0805250E - movs r5, #0x22 - ldrsh r0, [r2, r5] - ands r0, r1 - cmp r0, #0 - bne _0805250E - ldrh r0, [r2, #0x22] - orrs r1, r0 - strh r1, [r2, #0x22] - movs r1, #0x28 - ldrsh r0, [r2, r1] - lsls r0, r0, #1 - adds r1, r2, #0 - adds r1, #0x24 - adds r0, r0, r1 - strh r3, [r0] - ldrh r0, [r2, #0x28] - adds r0, #1 - strh r0, [r2, #0x28] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - beq _08052514 + movs r1, #1 + lsls r1, r3 + ands r1, r4 + cmp r1, #0 + beq _0805250E + movs r5, #0x22 + ldrsh r0, [r2, r5] + ands r0, r1 + cmp r0, #0 + bne _0805250E + ldrh r0, [r2, #0x22] + orrs r1, r0 + strh r1, [r2, #0x22] + movs r1, #0x28 + ldrsh r0, [r2, r1] + lsls r0, r0, #1 + adds r1, r2, #0 + adds r1, #0x24 + adds r0, r0, r1 + strh r3, [r0] + ldrh r0, [r2, #0x28] + adds r0, #1 + strh r0, [r2, #0x28] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #2 + beq _08052514 _0805250E: - adds r3, #1 - cmp r3, #9 - ble _080524D8 + adds r3, #1 + cmp r3, #9 + ble _080524D8 _08052514: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _0805251C: .4byte 0x02002920 _08052520: .4byte 0x0200B0C0 _08052524: .4byte 0x000003F7 - thumb_func_start sub_52528 + thumb_func_start sub_52528 sub_52528: @ 0x08052528 - push {r4, r5, r6, r7, lr} - movs r0, #0 - ldr r1, _0805255C @ =0x0200B204 - mov ip, r1 - ldr r6, _08052560 @ =0x02031B18 + push {r4, r5, r6, r7, lr} + movs r0, #0 + ldr r1, _0805255C @ =0x0200B204 + mov ip, r1 + ldr r6, _08052560 @ =0x02031B18 _08052532: - movs r2, #0 - lsls r4, r0, #2 - lsls r3, r0, #1 - adds r5, r0, #1 + movs r2, #0 + lsls r4, r0, #2 + lsls r3, r0, #1 + adds r5, r0, #1 _0805253A: - lsls r0, r2, #1 - adds r0, r0, r4 - add r0, ip - movs r7, #0 - ldrsh r1, [r0, r7] - cmp r1, #0x10 - beq _0805259A - cmp r1, #0x10 - bgt _0805256A - cmp r1, #2 - beq _08052592 - cmp r1, #2 - bgt _08052564 - cmp r1, #1 - beq _0805258E - b _080525B2 - .align 2, 0 + lsls r0, r2, #1 + adds r0, r0, r4 + add r0, ip + movs r7, #0 + ldrsh r1, [r0, r7] + cmp r1, #0x10 + beq _0805259A + cmp r1, #0x10 + bgt _0805256A + cmp r1, #2 + beq _08052592 + cmp r1, #2 + bgt _08052564 + cmp r1, #1 + beq _0805258E + b _080525B2 + .align 2, 0 _0805255C: .4byte 0x0200B204 _08052560: .4byte 0x02031B18 _08052564: - cmp r1, #4 - beq _08052596 - b _080525B2 + cmp r1, #4 + beq _08052596 + b _080525B2 _0805256A: - cmp r1, #0x80 - beq _080525A6 - cmp r1, #0x80 - bgt _0805257C - cmp r1, #0x20 - beq _0805259E - cmp r1, #0x40 - beq _080525A2 - b _080525B2 + cmp r1, #0x80 + beq _080525A6 + cmp r1, #0x80 + bgt _0805257C + cmp r1, #0x20 + beq _0805259E + cmp r1, #0x40 + beq _080525A2 + b _080525B2 _0805257C: - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - beq _080525AA - movs r0, #0x80 - lsls r0, r0, #2 - cmp r1, r0 - beq _080525AE - b _080525B2 + movs r0, #0x80 + lsls r0, r0, #1 + cmp r1, r0 + beq _080525AA + movs r0, #0x80 + lsls r0, r0, #2 + cmp r1, r0 + beq _080525AE + b _080525B2 _0805258E: - movs r1, #0 - b _080525B4 + movs r1, #0 + b _080525B4 _08052592: - movs r1, #1 - b _080525B4 + movs r1, #1 + b _080525B4 _08052596: - movs r1, #2 - b _080525B4 + movs r1, #2 + b _080525B4 _0805259A: - movs r1, #4 - b _080525B4 + movs r1, #4 + b _080525B4 _0805259E: - movs r1, #5 - b _080525B4 + movs r1, #5 + b _080525B4 _080525A2: - movs r1, #6 - b _080525B4 + movs r1, #6 + b _080525B4 _080525A6: - movs r1, #7 - b _080525B4 + movs r1, #7 + b _080525B4 _080525AA: - movs r1, #8 - b _080525B4 + movs r1, #8 + b _080525B4 _080525AE: - movs r1, #9 - b _080525B4 + movs r1, #9 + b _080525B4 _080525B2: - movs r1, #0xa + movs r1, #0xa _080525B4: - adds r0, r3, r2 - adds r0, r0, r6 - strb r1, [r0] - adds r2, #1 - cmp r2, #1 - ble _0805253A - adds r0, r5, #0 - cmp r0, #4 - ble _08052532 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_start sub_525CC + adds r0, r3, r2 + adds r0, r0, r6 + strb r1, [r0] + adds r2, #1 + cmp r2, #1 + ble _0805253A + adds r0, r5, #0 + cmp r0, #4 + ble _08052532 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_start sub_525CC sub_525CC: @ 0x080525CC - push {r4, r5, r6, lr} - lsls r0, r0, #0x18 - movs r1, #0x80 - lsls r1, r1, #0x11 - adds r0, r0, r1 - asrs r0, r0, #0x18 - cmp r0, #5 - bls _080525DE - b _080528A2 + push {r4, r5, r6, lr} + lsls r0, r0, #0x18 + movs r1, #0x80 + lsls r1, r1, #0x11 + adds r0, r0, r1 + asrs r0, r0, #0x18 + cmp r0, #5 + bls _080525DE + b _080528A2 _080525DE: - lsls r0, r0, #2 - ldr r1, _080525E8 @ =_080525EC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 + lsls r0, r0, #2 + ldr r1, _080525E8 @ =_080525EC + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 _080525E8: .4byte _080525EC _080525EC: @ jump table - .4byte _08052604 @ case 0 - .4byte _080526CC @ case 1 - .4byte _08052720 @ case 2 - .4byte _08052770 @ case 3 - .4byte _080527C0 @ case 4 - .4byte _08052814 @ case 5 + .4byte _08052604 @ case 0 + .4byte _080526CC @ case 1 + .4byte _08052720 @ case 2 + .4byte _08052770 @ case 3 + .4byte _080527C0 @ case 4 + .4byte _08052814 @ case 5 _08052604: - ldr r0, _080526BC @ =0x0200B0C0 - mov ip, r0 - ldr r6, _080526C0 @ =0x086BB910 - ldrh r5, [r6, #0x28] - adds r0, #0x60 - strh r5, [r0] - adds r0, r6, #0 - adds r0, #0x50 - ldrh r2, [r0] - mov r0, ip - adds r0, #0x62 - strh r2, [r0] - ldrh r4, [r6] - adds r0, #2 - strh r4, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, r6, #0 - adds r0, #0x48 - ldrh r3, [r0] - mov r0, ip - adds r0, #0x68 - strh r3, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, r6, #0 - adds r0, #0x40 - ldrh r1, [r0] - mov r0, ip - adds r0, #0x6c - strh r1, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r3, [r0] - adds r0, #2 - strh r1, [r0] - ldrh r1, [r6, #8] - movs r0, #0xa2 - lsls r0, r0, #1 - add r0, ip - strh r1, [r0] - movs r0, #0xa3 - lsls r0, r0, #1 - add r0, ip - strh r2, [r0] - movs r0, #0xa4 - lsls r0, r0, #1 - add r0, ip - strh r4, [r0] - movs r0, #0xa5 - lsls r0, r0, #1 - add r0, ip - strh r2, [r0] - movs r0, #0xa6 - lsls r0, r0, #1 - add r0, ip - strh r5, [r0] - movs r0, #0xa7 - lsls r0, r0, #1 - add r0, ip - strh r2, [r0] - ldrh r1, [r6, #0x20] - movs r0, #0xa8 - lsls r0, r0, #1 - add r0, ip - strh r1, [r0] - movs r0, #0xa9 - lsls r0, r0, #1 - add r0, ip - strh r2, [r0] - ldrh r1, [r6, #0x30] - movs r0, #0xaa - lsls r0, r0, #1 - add r0, ip - strh r1, [r0] - movs r0, #0xab - lsls r0, r0, #1 - add r0, ip - strh r2, [r0] - movs r2, #0 - ldr r4, _080526C4 @ =0x02031B18 - ldr r3, _080526C8 @ =0x08527EFE + ldr r0, _080526BC @ =0x0200B0C0 + mov ip, r0 + ldr r6, _080526C0 @ =0x086BB910 + ldrh r5, [r6, #0x28] + adds r0, #0x60 + strh r5, [r0] + adds r0, r6, #0 + adds r0, #0x50 + ldrh r2, [r0] + mov r0, ip + adds r0, #0x62 + strh r2, [r0] + ldrh r4, [r6] + adds r0, #2 + strh r4, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, r6, #0 + adds r0, #0x48 + ldrh r3, [r0] + mov r0, ip + adds r0, #0x68 + strh r3, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, r6, #0 + adds r0, #0x40 + ldrh r1, [r0] + mov r0, ip + adds r0, #0x6c + strh r1, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r3, [r0] + adds r0, #2 + strh r1, [r0] + ldrh r1, [r6, #8] + movs r0, #0xa2 + lsls r0, r0, #1 + add r0, ip + strh r1, [r0] + movs r0, #0xa3 + lsls r0, r0, #1 + add r0, ip + strh r2, [r0] + movs r0, #0xa4 + lsls r0, r0, #1 + add r0, ip + strh r4, [r0] + movs r0, #0xa5 + lsls r0, r0, #1 + add r0, ip + strh r2, [r0] + movs r0, #0xa6 + lsls r0, r0, #1 + add r0, ip + strh r5, [r0] + movs r0, #0xa7 + lsls r0, r0, #1 + add r0, ip + strh r2, [r0] + ldrh r1, [r6, #0x20] + movs r0, #0xa8 + lsls r0, r0, #1 + add r0, ip + strh r1, [r0] + movs r0, #0xa9 + lsls r0, r0, #1 + add r0, ip + strh r2, [r0] + ldrh r1, [r6, #0x30] + movs r0, #0xaa + lsls r0, r0, #1 + add r0, ip + strh r1, [r0] + movs r0, #0xab + lsls r0, r0, #1 + add r0, ip + strh r2, [r0] + movs r2, #0 + ldr r4, _080526C4 @ =0x02031B18 + ldr r3, _080526C8 @ =0x08527EFE _080526AA: - adds r0, r2, r4 - adds r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r2, #1 - cmp r2, #9 - ble _080526AA - b _080528A2 - .align 2, 0 + adds r0, r2, r4 + adds r1, r2, r3 + ldrb r1, [r1] + strb r1, [r0] + adds r2, #1 + cmp r2, #9 + ble _080526AA + b _080528A2 + .align 2, 0 _080526BC: .4byte 0x0200B0C0 _080526C0: .4byte 0x086BB910 _080526C4: .4byte 0x02031B18 _080526C8: .4byte 0x08527EFE _080526CC: - ldr r4, _08052718 @ =0x0200B0C0 - ldr r5, _0805271C @ =0x086BB910 - ldrh r1, [r5, #0x28] - adds r0, r4, #0 - adds r0, #0x60 - strh r1, [r0] - adds r0, r5, #0 - adds r0, #0x50 - ldrh r2, [r0] - adds r0, r4, #0 - adds r0, #0x62 - strh r2, [r0] - ldrh r1, [r5] - adds r0, #2 - strh r1, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, r5, #0 - adds r0, #0x48 - ldrh r3, [r0] - adds r0, r4, #0 - adds r0, #0x68 - strh r3, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, r5, #0 - adds r0, #0x40 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x6c - strh r1, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r3, [r0] - adds r0, #2 - b _080528A0 - .align 2, 0 + ldr r4, _08052718 @ =0x0200B0C0 + ldr r5, _0805271C @ =0x086BB910 + ldrh r1, [r5, #0x28] + adds r0, r4, #0 + adds r0, #0x60 + strh r1, [r0] + adds r0, r5, #0 + adds r0, #0x50 + ldrh r2, [r0] + adds r0, r4, #0 + adds r0, #0x62 + strh r2, [r0] + ldrh r1, [r5] + adds r0, #2 + strh r1, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, r5, #0 + adds r0, #0x48 + ldrh r3, [r0] + adds r0, r4, #0 + adds r0, #0x68 + strh r3, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, r5, #0 + adds r0, #0x40 + ldrh r1, [r0] + adds r0, r4, #0 + adds r0, #0x6c + strh r1, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r3, [r0] + adds r0, #2 + b _080528A0 + .align 2, 0 _08052718: .4byte 0x0200B0C0 _0805271C: .4byte 0x086BB910 _08052720: - ldr r3, _08052768 @ =0x0200B0C0 - ldr r4, _0805276C @ =0x086BB910 - ldrh r1, [r4, #0x28] - adds r0, r3, #0 - adds r0, #0x60 - strh r1, [r0] - adds r0, r4, #0 - adds r0, #0x50 - ldrh r2, [r0] - adds r0, r3, #0 - adds r0, #0x62 - strh r2, [r0] - ldrh r1, [r4] - adds r0, #2 - strh r1, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, r4, #0 - adds r0, #0x48 - ldrh r1, [r0] - adds r0, r3, #0 - adds r0, #0x68 - strh r1, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, r4, #0 - adds r0, #0x40 - ldrh r1, [r0] - adds r0, r3, #0 - adds r0, #0x6c - strh r1, [r0] - adds r0, #2 - strh r2, [r0] - ldrh r1, [r4, #8] - b _08052802 - .align 2, 0 + ldr r3, _08052768 @ =0x0200B0C0 + ldr r4, _0805276C @ =0x086BB910 + ldrh r1, [r4, #0x28] + adds r0, r3, #0 + adds r0, #0x60 + strh r1, [r0] + adds r0, r4, #0 + adds r0, #0x50 + ldrh r2, [r0] + adds r0, r3, #0 + adds r0, #0x62 + strh r2, [r0] + ldrh r1, [r4] + adds r0, #2 + strh r1, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, r4, #0 + adds r0, #0x48 + ldrh r1, [r0] + adds r0, r3, #0 + adds r0, #0x68 + strh r1, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, r4, #0 + adds r0, #0x40 + ldrh r1, [r0] + adds r0, r3, #0 + adds r0, #0x6c + strh r1, [r0] + adds r0, #2 + strh r2, [r0] + ldrh r1, [r4, #8] + b _08052802 + .align 2, 0 _08052768: .4byte 0x0200B0C0 _0805276C: .4byte 0x086BB910 _08052770: - ldr r4, _080527B8 @ =0x0200B0C0 - ldr r5, _080527BC @ =0x086BB910 - adds r0, r5, #0 - adds r0, #0x48 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x60 - strh r1, [r0] - adds r0, r5, #0 - adds r0, #0x50 - ldrh r2, [r0] - adds r0, r4, #0 - adds r0, #0x62 - strh r2, [r0] - adds r0, r5, #0 - adds r0, #0x40 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x64 - strh r1, [r0] - adds r0, #2 - strh r2, [r0] - ldrh r3, [r5, #0x28] - adds r0, #2 - strh r3, [r0] - adds r0, #2 - strh r2, [r0] - ldrh r1, [r5] - adds r0, #2 - strh r1, [r0] - adds r0, #2 - strh r2, [r0] - adds r0, #2 - strh r3, [r0] - adds r0, #2 - b _080528A0 - .align 2, 0 + ldr r4, _080527B8 @ =0x0200B0C0 + ldr r5, _080527BC @ =0x086BB910 + adds r0, r5, #0 + adds r0, #0x48 + ldrh r1, [r0] + adds r0, r4, #0 + adds r0, #0x60 + strh r1, [r0] + adds r0, r5, #0 + adds r0, #0x50 + ldrh r2, [r0] + adds r0, r4, #0 + adds r0, #0x62 + strh r2, [r0] + adds r0, r5, #0 + adds r0, #0x40 + ldrh r1, [r0] + adds r0, r4, #0 + adds r0, #0x64 + strh r1, [r0] + adds r0, #2 + strh r2, [r0] + ldrh r3, [r5, #0x28] + adds r0, #2 + strh r3, [r0] + adds r0, #2 + strh r2, [r0] + ldrh r1, [r5] + adds r0, #2 + strh r1, [r0] + adds r0, #2 + strh r2, [r0] + adds r0, #2 + strh r3, [r0] + adds r0, #2 + b _080528A0 + .align 2, 0 _080527B8: .4byte 0x0200B0C0 _080527BC: .4byte 0x086BB910 _080527C0: - ldr r3, _0805280C @ =0x0200B0C0 - ldr r4, _08052810 @ =0x086BB910 - adds r0, r4, #0 - adds r0, #0x48 - ldrh r1, [r0] - adds r0, r3, #0 - adds r0, #0x60 - strh r1, [r0] - adds r0, r4, #0 - adds r0, #0x50 - ldrh r2, [r0] - adds r0, r3, #0 - adds r0, #0x62 - strh r2, [r0] - adds r0, r4, #0 - adds r0, #0x40 - ldrh r1, [r0] - adds r0, r3, #0 - adds r0, #0x64 - strh r1, [r0] - adds r0, #2 - strh r2, [r0] - ldrh r1, [r4, #0x28] - adds r0, #2 - strh r1, [r0] - adds r0, #2 - strh r2, [r0] - ldrh r1, [r4, #0x20] - adds r0, #2 - strh r1, [r0] - adds r0, #2 - strh r2, [r0] - ldrh r1, [r4, #0x30] + ldr r3, _0805280C @ =0x0200B0C0 + ldr r4, _08052810 @ =0x086BB910 + adds r0, r4, #0 + adds r0, #0x48 + ldrh r1, [r0] + adds r0, r3, #0 + adds r0, #0x60 + strh r1, [r0] + adds r0, r4, #0 + adds r0, #0x50 + ldrh r2, [r0] + adds r0, r3, #0 + adds r0, #0x62 + strh r2, [r0] + adds r0, r4, #0 + adds r0, #0x40 + ldrh r1, [r0] + adds r0, r3, #0 + adds r0, #0x64 + strh r1, [r0] + adds r0, #2 + strh r2, [r0] + ldrh r1, [r4, #0x28] + adds r0, #2 + strh r1, [r0] + adds r0, #2 + strh r2, [r0] + ldrh r1, [r4, #0x20] + adds r0, #2 + strh r1, [r0] + adds r0, #2 + strh r2, [r0] + ldrh r1, [r4, #0x30] _08052802: - adds r0, #2 - strh r1, [r0] - adds r0, #2 - strh r2, [r0] - b _080528A2 - .align 2, 0 + adds r0, #2 + strh r1, [r0] + adds r0, #2 + strh r2, [r0] + b _080528A2 + .align 2, 0 _0805280C: .4byte 0x0200B0C0 _08052810: .4byte 0x086BB910 _08052814: - ldr r2, _080528A8 @ =0x0200B0C0 - movs r1, #0xa2 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x60 - strh r1, [r0] - movs r1, #0xa3 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrh r0, [r0] - adds r1, r2, #0 - adds r1, #0x62 - strh r0, [r1] - movs r1, #0xa4 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x64 - strh r1, [r0] - movs r1, #0xa5 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrh r0, [r0] - adds r1, r2, #0 - adds r1, #0x66 - strh r0, [r1] - movs r1, #0xa6 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x68 - strh r1, [r0] - movs r1, #0xa7 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrh r0, [r0] - adds r1, r2, #0 - adds r1, #0x6a - strh r0, [r1] - movs r1, #0xa8 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x6c - strh r1, [r0] - movs r1, #0xa9 - lsls r1, r1, #1 - adds r0, r2, r1 - ldrh r0, [r0] - adds r1, r2, #0 - adds r1, #0x6e - strh r0, [r1] - movs r1, #0xaa - lsls r1, r1, #1 - adds r0, r2, r1 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x70 - strh r1, [r0] - movs r1, #0xab - lsls r1, r1, #1 - adds r0, r2, r1 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x72 + ldr r2, _080528A8 @ =0x0200B0C0 + movs r1, #0xa2 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrh r1, [r0] + adds r0, r2, #0 + adds r0, #0x60 + strh r1, [r0] + movs r1, #0xa3 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrh r0, [r0] + adds r1, r2, #0 + adds r1, #0x62 + strh r0, [r1] + movs r1, #0xa4 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrh r1, [r0] + adds r0, r2, #0 + adds r0, #0x64 + strh r1, [r0] + movs r1, #0xa5 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrh r0, [r0] + adds r1, r2, #0 + adds r1, #0x66 + strh r0, [r1] + movs r1, #0xa6 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrh r1, [r0] + adds r0, r2, #0 + adds r0, #0x68 + strh r1, [r0] + movs r1, #0xa7 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrh r0, [r0] + adds r1, r2, #0 + adds r1, #0x6a + strh r0, [r1] + movs r1, #0xa8 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrh r1, [r0] + adds r0, r2, #0 + adds r0, #0x6c + strh r1, [r0] + movs r1, #0xa9 + lsls r1, r1, #1 + adds r0, r2, r1 + ldrh r0, [r0] + adds r1, r2, #0 + adds r1, #0x6e + strh r0, [r1] + movs r1, #0xaa + lsls r1, r1, #1 + adds r0, r2, r1 + ldrh r1, [r0] + adds r0, r2, #0 + adds r0, #0x70 + strh r1, [r0] + movs r1, #0xab + lsls r1, r1, #1 + adds r0, r2, r1 + ldrh r1, [r0] + adds r0, r2, #0 + adds r0, #0x72 _080528A0: - strh r1, [r0] + strh r1, [r0] _080528A2: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _080528A8: .4byte 0x0200B0C0 - thumb_func_start sub_528AC + thumb_func_start sub_528AC sub_528AC: @ 0x080528AC - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - adds r1, r0, #0 - cmp r0, #0xfa - bls _080528DA - ldr r0, _080528CC @ =0x00000113 - cmp r1, r0 - bls _080528D8 - ldr r0, _080528D0 @ =0x08527F18 - ldr r2, _080528D4 @ =0xFFFFFEEC - adds r1, r1, r2 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - b _080528DA - .align 2, 0 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + adds r1, r0, #0 + cmp r0, #0xfa + bls _080528DA + ldr r0, _080528CC @ =0x00000113 + cmp r1, r0 + bls _080528D8 + ldr r0, _080528D0 @ =0x08527F18 + ldr r2, _080528D4 @ =0xFFFFFEEC + adds r1, r1, r2 + lsls r1, r1, #1 + adds r1, r1, r0 + ldrh r0, [r1] + b _080528DA + .align 2, 0 _080528CC: .4byte 0x00000113 _080528D0: .4byte 0x08527F18 _080528D4: .4byte 0xFFFFFEEC _080528D8: - movs r0, #0xc8 + movs r0, #0xc8 _080528DA: - bx lr + bx lr - thumb_func_start sub_528DC + thumb_func_start sub_528DC sub_528DC: @ 0x080528DC - push {r4, r5, lr} - sub sp, #4 - adds r5, r0, #0 - adds r4, r1, #0 - lsls r5, r5, #0x10 - lsrs r5, r5, #0x10 - lsls r4, r4, #0x18 - lsrs r4, r4, #0x18 - ldr r0, _08052914 @ =0x02032EE0 - ldr r1, _08052918 @ =0x0000FFFF - movs r2, #0x99 - bl m4aMPlayVolumeControl - lsls r4, r4, #0x18 - asrs r4, r4, #0x18 - movs r0, #0 - str r0, [sp] - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0x7d - movs r3, #0xa - bl sub_52940 - add sp, #4 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + push {r4, r5, lr} + sub sp, #4 + adds r5, r0, #0 + adds r4, r1, #0 + lsls r5, r5, #0x10 + lsrs r5, r5, #0x10 + lsls r4, r4, #0x18 + lsrs r4, r4, #0x18 + ldr r0, _08052914 @ =0x02032EE0 + ldr r1, _08052918 @ =0x0000FFFF + movs r2, #0x99 + bl m4aMPlayVolumeControl + lsls r4, r4, #0x18 + asrs r4, r4, #0x18 + movs r0, #0 + str r0, [sp] + adds r0, r5, #0 + adds r1, r4, #0 + movs r2, #0x7d + movs r3, #0xa + bl sub_52940 + add sp, #4 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08052914: .4byte 0x02032EE0 _08052918: .4byte 0x0000FFFF - thumb_func_start sub_5291C + thumb_func_start sub_5291C sub_5291C: @ 0x0805291C - push {r4, lr} - sub sp, #4 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - lsls r3, r3, #0x18 - lsrs r3, r3, #0x18 - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - movs r4, #0 - str r4, [sp] - bl sub_52940 - add sp, #4 - pop {r4} - pop {r0} - bx r0 - - thumb_func_start sub_52940 + push {r4, lr} + sub sp, #4 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + lsls r3, r3, #0x18 + lsrs r3, r3, #0x18 + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + lsls r2, r2, #0x18 + asrs r2, r2, #0x18 + movs r4, #0 + str r4, [sp] + bl sub_52940 + add sp, #4 + pop {r4} + pop {r0} + bx r0 + + thumb_func_start sub_52940 sub_52940: @ 0x08052940 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - adds r5, r0, #0 - adds r4, r1, #0 - adds r0, r2, #0 - adds r6, r3, #0 - lsls r5, r5, #0x10 - lsls r4, r4, #0x18 - lsrs r4, r4, #0x18 - lsls r6, r6, #0x18 - lsrs r6, r6, #0x18 - ldr r1, _080529BC @ =0xFFFF0000 - adds r5, r5, r1 - lsrs r5, r5, #0x10 - movs r1, #0xf0 - lsls r1, r1, #6 - mov r8, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - bl SetPokemonCryVolume - lsls r4, r4, #0x18 - asrs r4, r4, #0x18 - adds r0, r4, #0 - bl SetPokemonCryPanpot - mov r0, r8 - bl SetPokemonCryPitch - movs r0, #0x8c - bl SetPokemonCryLength - movs r0, #0 - bl SetPokemonCryProgress - movs r0, #0 - bl SetPokemonCryRelease - movs r0, #0 - bl SetPokemonCryChorus - adds r0, r6, #0 - bl SetPokemonCryPriority - adds r0, r5, #0 - bl sub_528AC - movs r1, #0x7f - ands r1, r0 - lsrs r0, r0, #7 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r2, r0, #0 - cmp r0, #1 - beq _080529D8 - cmp r0, #1 - bgt _080529C0 - cmp r0, #0 - beq _080529CA - b _08052A0A - .align 2, 0 + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + adds r5, r0, #0 + adds r4, r1, #0 + adds r0, r2, #0 + adds r6, r3, #0 + lsls r5, r5, #0x10 + lsls r4, r4, #0x18 + lsrs r4, r4, #0x18 + lsls r6, r6, #0x18 + lsrs r6, r6, #0x18 + ldr r1, _080529BC @ =0xFFFF0000 + adds r5, r5, r1 + lsrs r5, r5, #0x10 + movs r1, #0xf0 + lsls r1, r1, #6 + mov r8, r1 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + bl SetPokemonCryVolume + lsls r4, r4, #0x18 + asrs r4, r4, #0x18 + adds r0, r4, #0 + bl SetPokemonCryPanpot + mov r0, r8 + bl SetPokemonCryPitch + movs r0, #0x8c + bl SetPokemonCryLength + movs r0, #0 + bl SetPokemonCryProgress + movs r0, #0 + bl SetPokemonCryRelease + movs r0, #0 + bl SetPokemonCryChorus + adds r0, r6, #0 + bl SetPokemonCryPriority + adds r0, r5, #0 + bl sub_528AC + movs r1, #0x7f + ands r1, r0 + lsrs r0, r0, #7 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + adds r2, r0, #0 + cmp r0, #1 + beq _080529D8 + cmp r0, #1 + bgt _080529C0 + cmp r0, #0 + beq _080529CA + b _08052A0A + .align 2, 0 _080529BC: .4byte 0xFFFF0000 _080529C0: - cmp r2, #2 - beq _080529E8 - cmp r2, #3 - beq _080529FC - b _08052A0A + cmp r2, #2 + beq _080529E8 + cmp r2, #3 + beq _080529FC + b _08052A0A _080529CA: - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _080529D4 @ =0x08532D6C - b _080529F0 - .align 2, 0 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + ldr r1, _080529D4 @ =0x08532D6C + b _080529F0 + .align 2, 0 _080529D4: .4byte 0x08532D6C _080529D8: - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _080529E4 @ =0x08533360 - b _080529F0 - .align 2, 0 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + ldr r1, _080529E4 @ =0x08533360 + b _080529F0 + .align 2, 0 _080529E4: .4byte 0x08533360 _080529E8: - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _080529F8 @ =0x08533960 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + ldr r1, _080529F8 @ =0x08533960 _080529F0: - adds r0, r0, r1 - bl SetPokemonCryTone - b _08052A0A - .align 2, 0 + adds r0, r0, r1 + bl SetPokemonCryTone + b _08052A0A + .align 2, 0 _080529F8: .4byte 0x08533960 _080529FC: - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _08052A14 @ =0x08533F60 - adds r0, r0, r1 - bl SetPokemonCryTone + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + ldr r1, _08052A14 @ =0x08533F60 + adds r0, r0, r1 + bl SetPokemonCryTone _08052A0A: - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08052A14: .4byte 0x08533F60 - thumb_func_start sub_52A18 + thumb_func_start sub_52A18 sub_52A18: @ 0x08052A18 - push {r4, lr} - bl sub_555BC - ldr r4, _08052A4C @ =0x0200B0C0 - movs r0, #0 - strb r0, [r4, #0xc] - bl sub_52A68 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08052A50 - bl sub_52C64 - bl sub_52B30 - bl sub_52A68 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08052A5E - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_52C64 - b _08052A5E - .align 2, 0 + push {r4, lr} + bl sub_555BC + ldr r4, _08052A4C @ =0x0200B0C0 + movs r0, #0 + strb r0, [r4, #0xc] + bl sub_52A68 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08052A50 + bl sub_52C64 + bl sub_52B30 + bl sub_52A68 + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08052A5E + movs r0, #1 + strb r0, [r4, #0xc] + bl sub_52C64 + b _08052A5E + .align 2, 0 _08052A4C: .4byte 0x0200B0C0 _08052A50: - ldr r1, _08052A64 @ =0x00000143 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - bl sub_525CC + ldr r1, _08052A64 @ =0x00000143 + adds r0, r4, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + bl sub_525CC _08052A5E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 _08052A64: .4byte 0x00000143 - thumb_func_start sub_52A68 + thumb_func_start sub_52A68 sub_52A68: @ 0x08052A68 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - movs r0, #0 - mov r8, r0 - movs r7, #0 - ldr r1, _08052B04 @ =0x02032FF0 - mov sb, r1 + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + movs r0, #0 + mov r8, r0 + movs r7, #0 + ldr r1, _08052B04 @ =0x02032FF0 + mov sb, r1 _08052A7A: - ldr r5, _08052B08 @ =0x0200B134 - movs r4, #0x9d - lsls r4, r4, #2 - lsls r0, r7, #2 - adds r0, r0, r7 - lsls r0, r0, #2 - adds r0, r0, r7 - lsls r0, r0, #5 - ldr r3, _08052B0C @ =0x0E000004 - adds r0, r0, r3 - mov r6, sb - ldr r3, [r6] - adds r1, r5, #0 - adds r2, r4, #0 - bl _call_via_r3 - movs r2, #0 - movs r0, #0x99 - lsls r0, r0, #2 - adds r3, r5, r0 - movs r0, #0 - ldrsb r0, [r3, r0] - ldr r1, _08052B10 @ =0x086BBA6C - ldrb r6, [r1] - cmp r0, r6 - bne _08052ACA - adds r6, r3, #0 - adds r3, r1, #0 + ldr r5, _08052B08 @ =0x0200B134 + movs r4, #0x9d + lsls r4, r4, #2 + lsls r0, r7, #2 + adds r0, r0, r7 + lsls r0, r0, #2 + adds r0, r0, r7 + lsls r0, r0, #5 + ldr r3, _08052B0C @ =0x0E000004 + adds r0, r0, r3 + mov r6, sb + ldr r3, [r6] + adds r1, r5, #0 + adds r2, r4, #0 + bl _call_via_r3 + movs r2, #0 + movs r0, #0x99 + lsls r0, r0, #2 + adds r3, r5, r0 + movs r0, #0 + ldrsb r0, [r3, r0] + ldr r1, _08052B10 @ =0x086BBA6C + ldrb r6, [r1] + cmp r0, r6 + bne _08052ACA + adds r6, r3, #0 + adds r3, r1, #0 _08052AB2: - adds r0, r2, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - cmp r2, #9 - bhi _08052ACA - adds r0, r2, r6 - movs r1, #0 - ldrsb r1, [r0, r1] - adds r0, r2, r3 - ldrb r0, [r0] - cmp r1, r0 - beq _08052AB2 + adds r0, r2, #1 + lsls r0, r0, #0x10 + lsrs r2, r0, #0x10 + cmp r2, #9 + bhi _08052ACA + adds r0, r2, r6 + movs r1, #0 + ldrsb r1, [r0, r1] + adds r0, r2, r3 + ldrb r0, [r0] + cmp r1, r0 + beq _08052AB2 _08052ACA: - cmp r2, #0xa - bne _08052B18 - movs r2, #0 - cmp r4, #1 - bls _08052AE0 + cmp r2, #0xa + bne _08052B18 + movs r2, #0 + cmp r4, #1 + bls _08052AE0 _08052AD4: - ldrh r0, [r5] - adds r2, r2, r0 - adds r5, #2 - subs r4, #2 - cmp r4, #1 - bhi _08052AD4 + ldrh r0, [r5] + adds r2, r2, r0 + adds r5, #2 + subs r4, #2 + cmp r4, #1 + bhi _08052AD4 _08052AE0: - cmp r4, #0 - beq _08052AF0 - ldrh r1, [r5] - movs r3, #0xff - lsls r3, r3, #8 - adds r0, r3, #0 - ands r0, r1 - adds r2, r2, r0 + cmp r4, #0 + beq _08052AF0 + ldrh r1, [r5] + movs r3, #0xff + lsls r3, r3, #8 + adds r0, r3, #0 + ands r0, r1 + adds r2, r2, r0 _08052AF0: - ldr r0, _08052B14 @ =0x0000FFFF - adds r1, r2, #0 - ands r1, r0 - lsrs r2, r2, #0x10 - adds r2, r1, r2 - cmp r2, r0 - bne _08052B18 - movs r6, #1 - mov r8, r6 - b _08052B22 - .align 2, 0 + ldr r0, _08052B14 @ =0x0000FFFF + adds r1, r2, #0 + ands r1, r0 + lsrs r2, r2, #0x10 + adds r2, r1, r2 + cmp r2, r0 + bne _08052B18 + movs r6, #1 + mov r8, r6 + b _08052B22 + .align 2, 0 _08052B04: .4byte 0x02032FF0 _08052B08: .4byte 0x0200B134 _08052B0C: .4byte 0x0E000004 _08052B10: .4byte 0x086BBA6C _08052B14: .4byte 0x0000FFFF _08052B18: - adds r0, r7, #1 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - cmp r7, #1 - bls _08052A7A + adds r0, r7, #1 + lsls r0, r0, #0x10 + lsrs r7, r0, #0x10 + cmp r7, #1 + bls _08052A7A _08052B22: - mov r0, r8 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_start sub_52B30 + mov r0, r8 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + + thumb_func_start sub_52B30 sub_52B30: @ 0x08052B30 - push {r4, r5, lr} - ldr r3, _08052B9C @ =0x0200B134 - movs r4, #0x9d - lsls r4, r4, #2 - movs r0, #0x9c - lsls r0, r0, #2 - adds r1, r3, r0 - ldr r0, [r1] - adds r0, #1 - str r0, [r1] - ldr r2, _08052BA0 @ =0x0000026E - adds r1, r3, r2 - movs r0, #0 - strh r0, [r1] - movs r2, #0 - adds r5, r3, #0 + push {r4, r5, lr} + ldr r3, _08052B9C @ =0x0200B134 + movs r4, #0x9d + lsls r4, r4, #2 + movs r0, #0x9c + lsls r0, r0, #2 + adds r1, r3, r0 + ldr r0, [r1] + adds r0, #1 + str r0, [r1] + ldr r2, _08052BA0 @ =0x0000026E + adds r1, r3, r2 + movs r0, #0 + strh r0, [r1] + movs r2, #0 + adds r5, r3, #0 _08052B50: - ldrh r0, [r3] - adds r2, r2, r0 - adds r3, #2 - subs r4, #2 - cmp r4, #1 - bhi _08052B50 - cmp r4, #0 - beq _08052B6A - ldrh r1, [r3] - movs r0, #0xff - lsls r0, r0, #8 - ands r0, r1 - adds r2, r2, r0 + ldrh r0, [r3] + adds r2, r2, r0 + adds r3, #2 + subs r4, #2 + cmp r4, #1 + bhi _08052B50 + cmp r4, #0 + beq _08052B6A + ldrh r1, [r3] + movs r0, #0xff + lsls r0, r0, #8 + ands r0, r1 + adds r2, r2, r0 _08052B6A: - ldr r0, _08052BA4 @ =0x0000FFFF - ands r0, r2 - lsrs r1, r2, #0x10 - adds r2, r0, r1 - lsrs r0, r2, #0x10 - adds r0, r0, r2 - mvns r0, r0 - ldr r2, _08052BA0 @ =0x0000026E - adds r1, r5, r2 - strh r0, [r1] - ldr r1, _08052BA8 @ =0x0E000004 - movs r4, #0x9d - lsls r4, r4, #2 - adds r0, r5, #0 - adds r2, r4, #0 - bl sub_55654 - ldr r1, _08052BAC @ =0x0E0002A4 - adds r0, r5, #0 - adds r2, r4, #0 - bl sub_55654 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + ldr r0, _08052BA4 @ =0x0000FFFF + ands r0, r2 + lsrs r1, r2, #0x10 + adds r2, r0, r1 + lsrs r0, r2, #0x10 + adds r0, r0, r2 + mvns r0, r0 + ldr r2, _08052BA0 @ =0x0000026E + adds r1, r5, r2 + strh r0, [r1] + ldr r1, _08052BA8 @ =0x0E000004 + movs r4, #0x9d + lsls r4, r4, #2 + adds r0, r5, #0 + adds r2, r4, #0 + bl sub_55654 + ldr r1, _08052BAC @ =0x0E0002A4 + adds r0, r5, #0 + adds r2, r4, #0 + bl sub_55654 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08052B9C: .4byte 0x0200B134 _08052BA0: .4byte 0x0000026E _08052BA4: .4byte 0x0000FFFF _08052BA8: .4byte 0x0E000004 _08052BAC: .4byte 0x0E0002A4 - thumb_func_start sub_52BB0 + thumb_func_start sub_52BB0 sub_52BB0: @ 0x08052BB0 - push {r4, r5, r6, lr} - lsls r1, r1, #0x18 - lsrs r5, r1, #0x18 - ldr r3, _08052C30 @ =0x0200B134 - movs r4, #0x9d - lsls r4, r4, #2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r2, r0, r3 - ldrb r0, [r2] - adds r6, r3, #0 - cmp r0, r5 - bhs _08052C28 - movs r0, #0x9c - lsls r0, r0, #2 - adds r1, r6, r0 - ldr r0, [r1] - adds r0, #1 - str r0, [r1] - movs r1, #0 - strb r5, [r2] - ldr r2, _08052C34 @ =0x0000026E - adds r0, r6, r2 - strh r1, [r0] - movs r2, #0 + push {r4, r5, r6, lr} + lsls r1, r1, #0x18 + lsrs r5, r1, #0x18 + ldr r3, _08052C30 @ =0x0200B134 + movs r4, #0x9d + lsls r4, r4, #2 + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + adds r2, r0, r3 + ldrb r0, [r2] + adds r6, r3, #0 + cmp r0, r5 + bhs _08052C28 + movs r0, #0x9c + lsls r0, r0, #2 + adds r1, r6, r0 + ldr r0, [r1] + adds r0, #1 + str r0, [r1] + movs r1, #0 + strb r5, [r2] + ldr r2, _08052C34 @ =0x0000026E + adds r0, r6, r2 + strh r1, [r0] + movs r2, #0 _08052BE2: - ldrh r0, [r3] - adds r2, r2, r0 - adds r3, #2 - subs r4, #2 - cmp r4, #1 - bhi _08052BE2 - cmp r4, #0 - beq _08052BFC - ldrh r1, [r3] - movs r0, #0xff - lsls r0, r0, #8 - ands r0, r1 - adds r2, r2, r0 + ldrh r0, [r3] + adds r2, r2, r0 + adds r3, #2 + subs r4, #2 + cmp r4, #1 + bhi _08052BE2 + cmp r4, #0 + beq _08052BFC + ldrh r1, [r3] + movs r0, #0xff + lsls r0, r0, #8 + ands r0, r1 + adds r2, r2, r0 _08052BFC: - ldr r0, _08052C38 @ =0x0000FFFF - ands r0, r2 - lsrs r1, r2, #0x10 - adds r2, r0, r1 - lsrs r0, r2, #0x10 - adds r0, r0, r2 - mvns r0, r0 - ldr r2, _08052C34 @ =0x0000026E - adds r1, r6, r2 - strh r0, [r1] - ldr r1, _08052C3C @ =0x0E000004 - movs r4, #0x9d - lsls r4, r4, #2 - adds r0, r6, #0 - adds r2, r4, #0 - bl sub_55654 - ldr r1, _08052C40 @ =0x0E0002A4 - adds r0, r6, #0 - adds r2, r4, #0 - bl sub_55654 + ldr r0, _08052C38 @ =0x0000FFFF + ands r0, r2 + lsrs r1, r2, #0x10 + adds r2, r0, r1 + lsrs r0, r2, #0x10 + adds r0, r0, r2 + mvns r0, r0 + ldr r2, _08052C34 @ =0x0000026E + adds r1, r6, r2 + strh r0, [r1] + ldr r1, _08052C3C @ =0x0E000004 + movs r4, #0x9d + lsls r4, r4, #2 + adds r0, r6, #0 + adds r2, r4, #0 + bl sub_55654 + ldr r1, _08052C40 @ =0x0E0002A4 + adds r0, r6, #0 + adds r2, r4, #0 + bl sub_55654 _08052C28: - pop {r4, r5, r6} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5, r6} + pop {r0} + bx r0 + .align 2, 0 _08052C30: .4byte 0x0200B134 _08052C34: .4byte 0x0000026E _08052C38: .4byte 0x0000FFFF _08052C3C: .4byte 0x0E000004 _08052C40: .4byte 0x0E0002A4 - thumb_func_start sub_52C44 + thumb_func_start sub_52C44 sub_52C44: @ 0x08052C44 - push {lr} - ldr r2, _08052C58 @ =0x02032FF0 - ldr r0, _08052C5C @ =0x0E000544 - ldr r1, _08052C60 @ =0x0200B100 - ldr r3, [r2] - movs r2, #4 - bl _call_via_r3 - pop {r0} - bx r0 - .align 2, 0 + push {lr} + ldr r2, _08052C58 @ =0x02032FF0 + ldr r0, _08052C5C @ =0x0E000544 + ldr r1, _08052C60 @ =0x0200B100 + ldr r3, [r2] + movs r2, #4 + bl _call_via_r3 + pop {r0} + bx r0 + .align 2, 0 _08052C58: .4byte 0x02032FF0 _08052C5C: .4byte 0x0E000544 _08052C60: .4byte 0x0200B100 - thumb_func_start sub_52C64 + thumb_func_start sub_52C64 sub_52C64: @ 0x08052C64 - push {r4, r5, lr} - movs r1, #0 - ldr r5, _08052CBC @ =0x0200B134 - movs r0, #0x99 - lsls r0, r0, #2 - adds r4, r5, r0 - ldr r3, _08052CC0 @ =0x086BBA6C + push {r4, r5, lr} + movs r1, #0 + ldr r5, _08052CBC @ =0x0200B134 + movs r0, #0x99 + lsls r0, r0, #2 + adds r4, r5, r0 + ldr r3, _08052CC0 @ =0x086BBA6C _08052C72: - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - adds r2, r0, r4 - adds r1, r0, r3 - ldrb r1, [r1] - strb r1, [r2] - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #9 - ble _08052C72 - movs r1, #0x9c - lsls r1, r1, #2 - adds r0, r5, r1 - movs r4, #0 - str r4, [r0] - adds r0, r5, #0 - adds r0, #0xcd - strb r4, [r0] - adds r0, #1 - strb r4, [r0] - movs r0, #1 - rsbs r0, r0, #0 - bl sub_525CC - bl sub_F6E0 - bl sub_8ABC - adds r0, r5, #0 - adds r0, #0xcf - strb r4, [r0] - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + lsls r0, r1, #0x10 + asrs r0, r0, #0x10 + adds r2, r0, r4 + adds r1, r0, r3 + ldrb r1, [r1] + strb r1, [r2] + adds r0, #1 + lsls r0, r0, #0x10 + lsrs r1, r0, #0x10 + asrs r0, r0, #0x10 + cmp r0, #9 + ble _08052C72 + movs r1, #0x9c + lsls r1, r1, #2 + adds r0, r5, r1 + movs r4, #0 + str r4, [r0] + adds r0, r5, #0 + adds r0, #0xcd + strb r4, [r0] + adds r0, #1 + strb r4, [r0] + movs r0, #1 + rsbs r0, r0, #0 + bl sub_525CC + bl sub_F6E0 + bl sub_8ABC + adds r0, r5, #0 + adds r0, #0xcf + strb r4, [r0] + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08052CBC: .4byte 0x0200B134 _08052CC0: .4byte 0x086BBA6C diff --git a/asm/start.s b/asm/start.s index ec036b0..ab124f4 100755 --- a/asm/start.s +++ b/asm/start.s @@ -1,112 +1,112 @@ - .include "constants/gba_constants.inc" + .include "constants/gba_constants.inc" - .syntax unified - .arm + .syntax unified + .arm Start: @ 8000000 - b Init + b Init .incbin "baserom.gba", 0x4, 0xBC - .arm - .align 2 + .arm + .align 2 Init: @ 80000C0 - mov r0, #0x12 - msr cpsr_cf, r0 - ldr sp, sp_irq - mov r0, #0x1F - msr cpsr_cf, r0 - ldr sp, sp_sys - ldr r1, =INTR_VECTOR - adr r0, IntrMain - str r0, [r1] - ldr r1, =0x800095C + 1 - mov lr, pc - bx r1 - b Init + mov r0, #0x12 + msr cpsr_cf, r0 + ldr sp, sp_irq + mov r0, #0x1F + msr cpsr_cf, r0 + ldr sp, sp_sys + ldr r1, =INTR_VECTOR + adr r0, IntrMain + str r0, [r1] + ldr r1, =0x800095C + 1 + mov lr, pc + bx r1 + b Init sp_sys: .4byte IWRAM_END - 0x100 sp_irq: .4byte IWRAM_END - 0x60 - .pool + .pool - .global IntrMain + .global IntrMain IntrMain: @ 8000104 - mov r3, REG_BASE - add r3, r3, OFFSET_REG_IE - ldr r2, [r3] - ldrh r1, [r3, OFFSET_REG_IME - OFFSET_REG_IE] - mrs r0, spsr - stmdb sp!, {r0-r3,lr} - mov r0, 1 - strh r0, [r3, OFFSET_REG_IME - OFFSET_REG_IE] - and r1, r2, r2, lsr 16 - mov r12, 0 - ands r0, r1, INTR_FLAG_SERIAL - bne IntrMain_FoundIntr - add r12, r12, 4 - ands r0, r1, INTR_FLAG_TIMER3 - bne IntrMain_FoundIntr - add r12, r12, 4 - ands r0, r1, INTR_FLAG_VBLANK - bne IntrMain_FoundIntr - add r12, r12, 4 - ands r0, r1, INTR_FLAG_HBLANK - bne IntrMain_FoundIntr - add r12, r12, 4 - ands r0, r1, INTR_FLAG_VCOUNT - bne IntrMain_FoundIntr - add r12, r12, 4 - ands r0, r1, INTR_FLAG_TIMER0 - bne IntrMain_FoundIntr - add r12, r12, 4 - ands r0, r1, INTR_FLAG_TIMER1 - bne IntrMain_FoundIntr - add r12, r12, 4 - ands r0, r1, INTR_FLAG_TIMER2 - bne IntrMain_FoundIntr - add r12, r12, 4 - ands r0, r1, INTR_FLAG_DMA0 - bne IntrMain_FoundIntr - add r12, r12, 4 - ands r0, r1, INTR_FLAG_DMA1 - bne IntrMain_FoundIntr - add r12, r12, 4 - ands r0, r1, INTR_FLAG_DMA2 - bne IntrMain_FoundIntr - add r12, r12, 4 - ands r0, r1, INTR_FLAG_DMA3 - bne IntrMain_FoundIntr - add r12, r12, 4 - ands r0, r1, INTR_FLAG_KEYPAD - bne IntrMain_FoundIntr - add r12, r12, 4 - ands r0, r1, INTR_FLAG_GAMEPAK - strbne r0, [r3, OFFSET_REG_SOUNDCNT_X - OFFSET_REG_IE] - bne . @ spin + mov r3, REG_BASE + add r3, r3, OFFSET_REG_IE + ldr r2, [r3] + ldrh r1, [r3, OFFSET_REG_IME - OFFSET_REG_IE] + mrs r0, spsr + stmdb sp!, {r0-r3,lr} + mov r0, 1 + strh r0, [r3, OFFSET_REG_IME - OFFSET_REG_IE] + and r1, r2, r2, lsr 16 + mov r12, 0 + ands r0, r1, INTR_FLAG_SERIAL + bne IntrMain_FoundIntr + add r12, r12, 4 + ands r0, r1, INTR_FLAG_TIMER3 + bne IntrMain_FoundIntr + add r12, r12, 4 + ands r0, r1, INTR_FLAG_VBLANK + bne IntrMain_FoundIntr + add r12, r12, 4 + ands r0, r1, INTR_FLAG_HBLANK + bne IntrMain_FoundIntr + add r12, r12, 4 + ands r0, r1, INTR_FLAG_VCOUNT + bne IntrMain_FoundIntr + add r12, r12, 4 + ands r0, r1, INTR_FLAG_TIMER0 + bne IntrMain_FoundIntr + add r12, r12, 4 + ands r0, r1, INTR_FLAG_TIMER1 + bne IntrMain_FoundIntr + add r12, r12, 4 + ands r0, r1, INTR_FLAG_TIMER2 + bne IntrMain_FoundIntr + add r12, r12, 4 + ands r0, r1, INTR_FLAG_DMA0 + bne IntrMain_FoundIntr + add r12, r12, 4 + ands r0, r1, INTR_FLAG_DMA1 + bne IntrMain_FoundIntr + add r12, r12, 4 + ands r0, r1, INTR_FLAG_DMA2 + bne IntrMain_FoundIntr + add r12, r12, 4 + ands r0, r1, INTR_FLAG_DMA3 + bne IntrMain_FoundIntr + add r12, r12, 4 + ands r0, r1, INTR_FLAG_KEYPAD + bne IntrMain_FoundIntr + add r12, r12, 4 + ands r0, r1, INTR_FLAG_GAMEPAK + strbne r0, [r3, OFFSET_REG_SOUNDCNT_X - OFFSET_REG_IE] + bne . @ spin IntrMain_FoundIntr: @ 80001D4 - strh r0, [r3, OFFSET_REG_IF - OFFSET_REG_IE] - mov r1, INTR_FLAG_GAMEPAK | INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL - bic r2, r2, r0 - and r1, r1, r2 - strh r1, [r3] - mrs r3, cpsr - bic r3, r3, PSR_I_BIT | PSR_F_BIT | PSR_MODE_MASK - orr r3, r3, PSR_SYS_MODE - msr cpsr_cf, r3 - ldr r1, =gIntrTable - add r1, r1, r12 - ldr r0, [r1] - stmdb sp!, {lr} - adr lr, IntrMain_RetAddr - bx r0 + strh r0, [r3, OFFSET_REG_IF - OFFSET_REG_IE] + mov r1, INTR_FLAG_GAMEPAK | INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL + bic r2, r2, r0 + and r1, r1, r2 + strh r1, [r3] + mrs r3, cpsr + bic r3, r3, PSR_I_BIT | PSR_F_BIT | PSR_MODE_MASK + orr r3, r3, PSR_SYS_MODE + msr cpsr_cf, r3 + ldr r1, =gIntrTable + add r1, r1, r12 + ldr r0, [r1] + stmdb sp!, {lr} + adr lr, IntrMain_RetAddr + bx r0 IntrMain_RetAddr: @ 8000210 - ldmfd sp!, {lr} - mrs r3, cpsr - bic r3, r3, PSR_I_BIT | PSR_F_BIT | PSR_MODE_MASK - orr r3, r3, PSR_I_BIT | PSR_IRQ_MODE - msr cpsr_cf, r3 - ldmfd sp!, {r0-r3,lr} - strh r2, [r3] - strh r1, [r3, OFFSET_REG_IME - OFFSET_REG_IE] - msr spsr_cf, r0 - bx lr - .pool + ldmfd sp!, {lr} + mrs r3, cpsr + bic r3, r3, PSR_I_BIT | PSR_F_BIT | PSR_MODE_MASK + orr r3, r3, PSR_I_BIT | PSR_IRQ_MODE + msr cpsr_cf, r3 + ldmfd sp!, {r0-r3,lr} + strh r2, [r3] + strh r1, [r3, OFFSET_REG_IME - OFFSET_REG_IE] + msr spsr_cf, r0 + bx lr + .pool diff --git a/asm/unknown_lib.s b/asm/unknown_lib.s index 2f0d30c..04a2df0 100755 --- a/asm/unknown_lib.s +++ b/asm/unknown_lib.s @@ -1,230 +1,230 @@ - .include "asm/macros.inc" - .include "constants/gba_constants.inc" + .include "asm/macros.inc" + .include "constants/gba_constants.inc" - @ extern + @ extern - .syntax unified + .syntax unified - .text + .text - thumb_func_start sub_554F0 + thumb_func_start sub_554F0 sub_554F0: @ 0x080554F0 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r3, r2, #0 - ldr r2, _08055528 @ =0x04000204 - ldrh r0, [r2] - ldr r1, _0805552C @ =0x0000FFFC - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strh r0, [r2] - subs r3, #1 - movs r0, #1 - rsbs r0, r0, #0 - cmp r3, r0 - beq _08055520 - adds r1, r0, #0 + push {r4, r5, lr} + adds r5, r0, #0 + adds r4, r1, #0 + adds r3, r2, #0 + ldr r2, _08055528 @ =0x04000204 + ldrh r0, [r2] + ldr r1, _0805552C @ =0x0000FFFC + ands r0, r1 + movs r1, #3 + orrs r0, r1 + strh r0, [r2] + subs r3, #1 + movs r0, #1 + rsbs r0, r0, #0 + cmp r3, r0 + beq _08055520 + adds r1, r0, #0 _08055512: - ldrb r0, [r5] - strb r0, [r4] - adds r5, #1 - adds r4, #1 - subs r3, #1 - cmp r3, r1 - bne _08055512 + ldrb r0, [r5] + strb r0, [r4] + adds r5, #1 + adds r4, #1 + subs r3, #1 + cmp r3, r1 + bne _08055512 _08055520: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08055528: .4byte 0x04000204 _0805552C: .4byte 0x0000FFFC - thumb_func_start sub_55530 + thumb_func_start sub_55530 sub_55530: @ 0x08055530 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r3, r2, #0 - ldr r2, _08055568 @ =0x04000204 - ldrh r0, [r2] - ldr r1, _0805556C @ =0x0000FFFC - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strh r0, [r2] - subs r3, #1 - movs r0, #1 - rsbs r0, r0, #0 - cmp r3, r0 - beq _08055560 - adds r1, r0, #0 + push {r4, r5, lr} + adds r5, r0, #0 + adds r4, r1, #0 + adds r3, r2, #0 + ldr r2, _08055568 @ =0x04000204 + ldrh r0, [r2] + ldr r1, _0805556C @ =0x0000FFFC + ands r0, r1 + movs r1, #3 + orrs r0, r1 + strh r0, [r2] + subs r3, #1 + movs r0, #1 + rsbs r0, r0, #0 + cmp r3, r0 + beq _08055560 + adds r1, r0, #0 _08055552: - ldrb r0, [r5] - strb r0, [r4] - adds r5, #1 - adds r4, #1 - subs r3, #1 - cmp r3, r1 - bne _08055552 + ldrb r0, [r5] + strb r0, [r4] + adds r5, #1 + adds r4, #1 + subs r3, #1 + cmp r3, r1 + bne _08055552 _08055560: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 _08055568: .4byte 0x04000204 _0805556C: .4byte 0x0000FFFC - thumb_func_start sub_55570 + thumb_func_start sub_55570 sub_55570: @ 0x08055570 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r3, r2, #0 - ldr r2, _080555A4 @ =0x04000204 - ldrh r0, [r2] - ldr r1, _080555A8 @ =0x0000FFFC - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strh r0, [r2] - subs r3, #1 - movs r0, #1 - rsbs r0, r0, #0 - cmp r3, r0 - beq _080555B2 - adds r2, r0, #0 + push {r4, r5, lr} + adds r5, r0, #0 + adds r4, r1, #0 + adds r3, r2, #0 + ldr r2, _080555A4 @ =0x04000204 + ldrh r0, [r2] + ldr r1, _080555A8 @ =0x0000FFFC + ands r0, r1 + movs r1, #3 + orrs r0, r1 + strh r0, [r2] + subs r3, #1 + movs r0, #1 + rsbs r0, r0, #0 + cmp r3, r0 + beq _080555B2 + adds r2, r0, #0 _08055592: - ldrb r1, [r4] - ldrb r0, [r5] - adds r5, #1 - adds r4, #1 - cmp r1, r0 - beq _080555AC - subs r0, r4, #1 - b _080555B4 - .align 2, 0 + ldrb r1, [r4] + ldrb r0, [r5] + adds r5, #1 + adds r4, #1 + cmp r1, r0 + beq _080555AC + subs r0, r4, #1 + b _080555B4 + .align 2, 0 _080555A4: .4byte 0x04000204 _080555A8: .4byte 0x0000FFFC _080555AC: - subs r3, #1 - cmp r3, r2 - bne _08055592 + subs r3, #1 + cmp r3, r2 + bne _08055592 _080555B2: - movs r0, #0 + movs r0, #0 _080555B4: - pop {r4, r5} - pop {r1} - bx r1 + pop {r4, r5} + pop {r1} + bx r1 - thumb_func_start sub_555BC + thumb_func_start sub_555BC sub_555BC: @ 0x080555BC - ldr r2, _080555D0 @ =0x080554F1 - movs r0, #1 - eors r2, r0 - ldr r3, _080555D4 @ =0x02002FD8 - ldr r0, _080555D8 @ =0x08055531 - ldr r1, _080555D0 @ =0x080554F1 - subs r0, r0, r1 - lsls r0, r0, #0xf - b _080555E8 - .align 2, 0 + ldr r2, _080555D0 @ =0x080554F1 + movs r0, #1 + eors r2, r0 + ldr r3, _080555D4 @ =0x02002FD8 + ldr r0, _080555D8 @ =0x08055531 + ldr r1, _080555D0 @ =0x080554F1 + subs r0, r0, r1 + lsls r0, r0, #0xf + b _080555E8 + .align 2, 0 _080555D0: .4byte 0x080554F1 _080555D4: .4byte 0x02002FD8 _080555D8: .4byte 0x08055531 _080555DC: - ldrh r0, [r2] - strh r0, [r3] - adds r2, #2 - adds r3, #2 - subs r0, r1, #1 - lsls r0, r0, #0x10 + ldrh r0, [r2] + strh r0, [r3] + adds r2, #2 + adds r3, #2 + subs r0, r1, #1 + lsls r0, r0, #0x10 _080555E8: - lsrs r1, r0, #0x10 - cmp r1, #0 - bne _080555DC - ldr r1, _08055608 @ =0x02032FF0 - ldr r0, _0805560C @ =0x02002FD9 - str r0, [r1] - ldr r2, _08055610 @ =0x08055571 - movs r0, #1 - eors r2, r0 - ldr r3, _08055614 @ =0x02002F38 - ldr r0, _08055618 @ =0x080555BD - ldr r1, _08055610 @ =0x08055571 - subs r0, r0, r1 - lsls r0, r0, #0xf - b _08055628 - .align 2, 0 + lsrs r1, r0, #0x10 + cmp r1, #0 + bne _080555DC + ldr r1, _08055608 @ =0x02032FF0 + ldr r0, _0805560C @ =0x02002FD9 + str r0, [r1] + ldr r2, _08055610 @ =0x08055571 + movs r0, #1 + eors r2, r0 + ldr r3, _08055614 @ =0x02002F38 + ldr r0, _08055618 @ =0x080555BD + ldr r1, _08055610 @ =0x08055571 + subs r0, r0, r1 + lsls r0, r0, #0xf + b _08055628 + .align 2, 0 _08055608: .4byte 0x02032FF0 _0805560C: .4byte 0x02002FD9 _08055610: .4byte 0x08055571 _08055614: .4byte 0x02002F38 _08055618: .4byte 0x080555BD _0805561C: - ldrh r0, [r2] - strh r0, [r3] - adds r2, #2 - adds r3, #2 - subs r0, r1, #1 - lsls r0, r0, #0x10 + ldrh r0, [r2] + strh r0, [r3] + adds r2, #2 + adds r3, #2 + subs r0, r1, #1 + lsls r0, r0, #0x10 _08055628: - lsrs r1, r0, #0x10 - cmp r1, #0 - bne _0805561C - ldr r1, _08055644 @ =0x02032FF4 - ldr r0, _08055648 @ =0x02002F39 - str r0, [r1] - ldr r2, _0805564C @ =0x04000204 - ldrh r0, [r2] - ldr r1, _08055650 @ =0x0000FFFC - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strh r0, [r2] - bx lr - .align 2, 0 + lsrs r1, r0, #0x10 + cmp r1, #0 + bne _0805561C + ldr r1, _08055644 @ =0x02032FF4 + ldr r0, _08055648 @ =0x02002F39 + str r0, [r1] + ldr r2, _0805564C @ =0x04000204 + ldrh r0, [r2] + ldr r1, _08055650 @ =0x0000FFFC + ands r0, r1 + movs r1, #3 + orrs r0, r1 + strh r0, [r2] + bx lr + .align 2, 0 _08055644: .4byte 0x02032FF4 _08055648: .4byte 0x02002F39 _0805564C: .4byte 0x04000204 _08055650: .4byte 0x0000FFFC - thumb_func_start sub_55654 + thumb_func_start sub_55654 sub_55654: @ 0x08055654 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r5, r1, #0 - adds r4, r2, #0 - movs r7, #0 - b _08055666 + push {r4, r5, r6, r7, lr} + adds r6, r0, #0 + adds r5, r1, #0 + adds r4, r2, #0 + movs r7, #0 + b _08055666 _08055660: - adds r0, r7, #1 - lsls r0, r0, #0x18 - lsrs r7, r0, #0x18 + adds r0, r7, #1 + lsls r0, r0, #0x18 + lsrs r7, r0, #0x18 _08055666: - cmp r7, #2 - bhi _08055688 - adds r0, r6, #0 - adds r1, r5, #0 - adds r2, r4, #0 - bl sub_55530 - ldr r0, _08055690 @ =0x02032FF4 - ldr r3, [r0] - adds r0, r6, #0 - adds r1, r5, #0 - adds r2, r4, #0 - bl _call_via_r3 - adds r3, r0, #0 - cmp r3, #0 - bne _08055660 + cmp r7, #2 + bhi _08055688 + adds r0, r6, #0 + adds r1, r5, #0 + adds r2, r4, #0 + bl sub_55530 + ldr r0, _08055690 @ =0x02032FF4 + ldr r3, [r0] + adds r0, r6, #0 + adds r1, r5, #0 + adds r2, r4, #0 + bl _call_via_r3 + adds r3, r0, #0 + cmp r3, #0 + bne _08055660 _08055688: - adds r0, r3, #0 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - .align 2, 0 + adds r0, r3, #0 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 + .align 2, 0 _08055690: .4byte 0x02032FF4 - .align 2, 0 @ Don't pad with nop. + .align 2, 0 @ Don't pad with nop. diff --git a/asm/unknown_lib_2.s b/asm/unknown_lib_2.s index c106f13..8d72a45 100755 --- a/asm/unknown_lib_2.s +++ b/asm/unknown_lib_2.s @@ -1,46 +1,46 @@ .include "asm/macros.inc" - .syntax unified + .syntax unified - .text + .text - thumb_func_start sub_55A24 + thumb_func_start sub_55A24 sub_55A24: @ 0x08055A24 - push {r4, r5, lr} - adds r1, r0, #0 - adds r5, r1, #0 - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _08055A5C - adds r2, r1, #0 - ldr r1, [r2] - ldr r4, _08055A40 @ =0xFEFEFEFF - adds r0, r1, r4 - bics r0, r1 - ldr r3, _08055A44 @ =0x80808080 - b _08055A50 - .align 2, 0 + push {r4, r5, lr} + adds r1, r0, #0 + adds r5, r1, #0 + movs r0, #3 + ands r0, r1 + cmp r0, #0 + bne _08055A5C + adds r2, r1, #0 + ldr r1, [r2] + ldr r4, _08055A40 @ =0xFEFEFEFF + adds r0, r1, r4 + bics r0, r1 + ldr r3, _08055A44 @ =0x80808080 + b _08055A50 + .align 2, 0 _08055A40: .4byte 0xFEFEFEFF _08055A44: .4byte 0x80808080 _08055A48: - adds r2, #4 - ldr r1, [r2] - adds r0, r1, r4 - bics r0, r1 + adds r2, #4 + ldr r1, [r2] + adds r0, r1, r4 + bics r0, r1 _08055A50: - ands r0, r3 - cmp r0, #0 - beq _08055A48 - adds r1, r2, #0 - b _08055A5C + ands r0, r3 + cmp r0, #0 + beq _08055A48 + adds r1, r2, #0 + b _08055A5C _08055A5A: - adds r1, #1 + adds r1, #1 _08055A5C: - ldrb r0, [r1] - cmp r0, #0 - bne _08055A5A - subs r0, r1, r5 - pop {r4, r5, pc} + ldrb r0, [r1] + cmp r0, #0 + bne _08055A5A + subs r0, r1, r5 + pop {r4, r5, pc} - .align 2, 0 @ Don't pad with nop. + .align 2, 0 @ Don't pad with nop. |