summaryrefslogtreecommitdiff
path: root/asm/code.s
diff options
context:
space:
mode:
authorsceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-11 00:18:19 -0800
committersceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-11 00:18:19 -0800
commit7c4bc430c2997e80683612229cfa6b10d08cf512 (patch)
treeac1b2d0cd7a16fb83e8c0466c2f9c16c17570fde /asm/code.s
parentd07afbc0818370f03ef840419e0bf4f654753ab8 (diff)
split random.s
Diffstat (limited to 'asm/code.s')
-rw-r--r--asm/code.s11403
1 files changed, 0 insertions, 11403 deletions
diff --git a/asm/code.s b/asm/code.s
index d78fb77..633eb5b 100644
--- a/asm/code.s
+++ b/asm/code.s
@@ -12752,11407 +12752,4 @@ _08006140: .4byte gUnknown_2026E4E
_08006144: .4byte gUnknown_2026E38
thumb_func_end sub_80060EC
- thumb_func_start SeedRng
-SeedRng:
- push {r4,lr}
- ldr r4, _08006170
- ldrb r2, [r0]
- ldrb r1, [r0, 0x1]
- muls r2, r1
- ldrb r3, [r0, 0x2]
- ldrb r1, [r0, 0x3]
- muls r1, r3
- ldr r3, _08006174
- adds r1, r3
- adds r2, r1
- ldrb r1, [r0, 0x4]
- ldrb r0, [r0, 0x5]
- muls r0, r1
- adds r2, r0
- str r2, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08006170: .4byte gUnknown_203B07C
-_08006174: .4byte 0x0000d305
- thumb_func_end SeedRng
-
- thumb_func_start Random16
-Random16:
- ldr r2, _08006188
- ldr r1, [r2]
- ldr r0, _0800618C
- muls r0, r1
- adds r0, 0x1
- str r0, [r2]
- asrs r0, 16
- bx lr
- .align 2, 0
-_08006188: .4byte gUnknown_203B07C
-_0800618C: .4byte 0x5d588b65
- thumb_func_end Random16
-
- thumb_func_start Random
-Random:
- push {r4,lr}
- bl Random16
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- bl Random16
- lsls r0, 16
- asrs r0, 16
- lsls r4, 16
- orrs r4, r0
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end Random
-
- thumb_func_start RandomCapped
-RandomCapped:
- push {r4,lr}
- adds r4, r0, 0
- bl Random
- ldr r1, _080061C8
- ands r0, r1
- muls r0, r4
- asrs r0, 16
- ands r0, r1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080061C8: .4byte 0x0000ffff
- thumb_func_end RandomCapped
-
- thumb_func_start RandomRange
-RandomRange:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- cmp r5, r4
- beq _080061EC
- cmp r5, r4
- blt _080061E4
- subs r0, r5, r4
- bl RandomCapped
- adds r0, r4
- b _080061EC
-_080061E4:
- subs r0, r4, r5
- bl RandomCapped
- adds r0, r5
-_080061EC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end RandomRange
-
- thumb_func_start GetRngState
-GetRngState:
- ldr r0, _080061FC
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080061FC: .4byte gUnknown_203B07C
- thumb_func_end GetRngState
-
- thumb_func_start ReseedRng
-ReseedRng:
- push {r4,lr}
- ldr r4, _08006214
- str r0, [r4]
- bl Random
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08006214: .4byte gUnknown_203B07C
- thumb_func_end ReseedRng
-
- thumb_func_start sub_8006218
-sub_8006218:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r1, _080062F4
- movs r0, 0
- str r0, [r1]
- ldr r0, _080062F8
- ldr r5, _080062FC
- adds r1, r5, 0
- bl sub_800A9EC
- ldr r4, _08006300
- str r0, [r4]
- ldr r0, _08006304
- adds r1, r5, 0
- bl sub_800A9EC
- str r0, [r4, 0x4]
- ldr r2, _08006308
- ldr r1, [r4]
- ldr r1, [r1, 0x4]
- str r1, [r2]
- ldr r0, [r0, 0x4]
- str r0, [r2, 0x4]
- ldr r1, _0800630C
- movs r0, 0xB
- str r0, [r1]
- movs r0, 0xC
- str r0, [r1, 0x4]
- ldr r0, _08006310
- movs r4, 0
- movs r3, 0
- adds r2, r0, 0
- adds r2, 0x46
- adds r0, 0x4
- movs r1, 0x3
-_08006264:
- strh r3, [r0]
- strh r3, [r0, 0x4]
- strb r4, [r2]
- adds r2, 0x48
- adds r0, 0x48
- subs r1, 0x1
- cmp r1, 0
- bge _08006264
- ldr r1, _08006314
- movs r0, 0
- strh r0, [r1]
- movs r3, 0
- ldr r0, _08006318
- mov r9, r0
- ldr r1, _0800631C
- mov r10, r1
- ldr r7, _08006320
- ldr r2, _08006324
- mov r8, r2
- movs r0, 0x80
- lsls r0, 4
- adds r6, r7, r0
- ldr r4, _08006328
- movs r5, 0
- mov r12, r6
-_08006296:
- lsls r0, r3, 6
- adds r2, r0, r7
- mov r1, r8
- strh r1, [r2]
- adds r1, r0, r6
- strh r4, [r1]
- adds r3, 0x1
- add r0, r12
- adds r0, 0x2
- adds r2, 0x2
- movs r1, 0x1E
-_080062AC:
- strh r5, [r2]
- strh r4, [r0]
- adds r0, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080062AC
- cmp r3, 0x13
- ble _08006296
- movs r1, 0
- movs r0, 0x1
- mov r2, r9
- strb r0, [r2]
- ldr r0, _0800632C
- mov r2, r10
- str r0, [r2]
- ldr r0, _08006330
- str r1, [r0]
- ldr r2, _08006334
- strb r1, [r2]
- movs r0, 0x1
- ldr r1, _08006338
- str r0, [r1]
- movs r0, 0x14
- ldr r2, _0800633C
- str r0, [r2]
- movs r0, 0
- bl xxx_update_some_bg_tiles
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080062F4: .4byte gUnknown_20274AC
-_080062F8: .4byte gUnknown_80B87B4
-_080062FC: .4byte gUnknown_8300500
-_08006300: .4byte gUnknown_202AFB4
-_08006304: .4byte gUnknown_80B87BC
-_08006308: .4byte gUnknown_2027490
-_0800630C: .4byte gUnknown_202B028
-_08006310: .4byte gUnknown_2027370
-_08006314: .4byte gUnknown_2027498
-_08006318: .4byte gUnknown_202B034
-_0800631C: .4byte gUnknown_202B030
-_08006320: .4byte gUnknown_202B038
-_08006324: .4byte 0x0000f279
-_08006328: .4byte 0x0000f27a
-_0800632C: .4byte 0x88888888
-_08006330: .4byte gUnknown_203B078
-_08006334: .4byte gUnknown_20274A5
-_08006338: .4byte gUnknown_202B020
-_0800633C: .4byte gUnknown_202B024
- thumb_func_end sub_8006218
-
- thumb_func_start xxx_update_some_bg_tiles
-xxx_update_some_bg_tiles:
- push {r4,r5,lr}
- adds r1, r0, 0
- ldr r0, _08006360
- ldr r5, [r0]
- ldr r4, _08006364
- str r1, [r0]
- cmp r1, 0
- beq _08006354
- cmp r1, 0x2
- bne _0800636C
-_08006354:
- movs r0, 0x2
- bl sub_800CDA8
- ldr r2, _08006368
- b _08006374
- .align 2, 0
-_08006360: .4byte gUnknown_20274B0
-_08006364: .4byte 0x06004f40
-_08006368: .4byte gUnknown_80B87C4
-_0800636C:
- movs r0, 0x1
- bl sub_800CDA8
- ldr r2, _080063A4
-_08006374:
- ldr r1, _080063A8
- ldr r0, _080063AC
- str r0, [r1]
- ldm r2!, {r0}
- stm r4!, {r0}
- ldm r2!, {r0}
- stm r4!, {r0}
- ldm r2!, {r0}
- stm r4!, {r0}
- ldm r2!, {r0}
- stm r4!, {r0}
- ldm r2!, {r0}
- stm r4!, {r0}
- ldm r2!, {r0}
- stm r4!, {r0}
- ldm r2!, {r0}
- stm r4!, {r0}
- ldr r0, [r2]
- str r0, [r4]
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080063A4: .4byte gUnknown_80B87E4
-_080063A8: .4byte gUnknown_202B030
-_080063AC: .4byte 0x88888888
- thumb_func_end xxx_update_some_bg_tiles
-
- thumb_func_start sub_80063B0
-sub_80063B0:
- ldr r0, _080063B8
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080063B8: .4byte gUnknown_20274B0
- thumb_func_end sub_80063B0
-
- thumb_func_start sub_80063BC
-sub_80063BC:
- ldr r1, _080063C8
- ldrb r2, [r1]
- strb r0, [r1]
- adds r0, r2, 0
- bx lr
- .align 2, 0
-_080063C8: .4byte gUnknown_202B034
- thumb_func_end sub_80063BC
-
- thumb_func_start sub_80063CC
-sub_80063CC:
- ldr r1, _080063D4
- str r0, [r1]
- bx lr
- .align 2, 0
-_080063D4: .4byte gUnknown_20274AC
- thumb_func_end sub_80063CC
-
- thumb_func_start sub_80063D8
-sub_80063D8:
- push {lr}
- adds r1, r0, 0
- cmp r1, 0
- bne _080063F0
- ldr r0, _080063E8
- ldr r0, [r0]
- ldr r2, _080063EC
- b _08006410
- .align 2, 0
-_080063E8: .4byte gUnknown_20274B0
-_080063EC: .4byte 0x88888888
-_080063F0:
- movs r0, 0xF
- ands r0, r1
- lsls r2, r0, 4
- orrs r2, r0
- lsls r1, r0, 8
- orrs r2, r1
- lsls r1, r0, 12
- orrs r2, r1
- lsls r1, r0, 16
- orrs r2, r1
- lsls r1, r0, 20
- orrs r2, r1
- lsls r1, r0, 24
- orrs r2, r1
- lsls r0, 28
- orrs r2, r0
-_08006410:
- ldr r0, _08006418
- str r2, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_08006418: .4byte gUnknown_202B030
- thumb_func_end sub_80063D8
-
- thumb_func_start sub_800641C
-sub_800641C:
- push {lr}
- sub sp, 0x4
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- str r3, [sp]
- mov r3, sp
- bl sub_8006438
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_800641C
-
- thumb_func_start sub_8006438
-sub_8006438:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- adds r4, r0, 0
- mov r8, r3
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x2
- mov r9, r0
- cmp r4, 0
- bne _0800645C
- ldr r4, _080064F0
-_0800645C:
- cmp r2, 0
- beq _08006464
- bl sub_8009388
-_08006464:
- bl sub_800898C
- movs r6, 0
- adds r5, r4, 0
- adds r5, 0xC
- ldr r1, _080064F4
- str r1, [sp, 0x18]
-_08006472:
- ldr r0, [sp, 0x18]
- adds r1, r4, 0
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080064C4
- ldr r1, _080064F8
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp]
- str r4, [sp, 0x4]
- mov r2, r10
- str r2, [sp, 0x8]
- mov r3, r9
- str r3, [sp, 0xC]
- mov r7, r8
- str r7, [sp, 0x10]
- movs r0, 0
- str r0, [sp, 0x14]
- ldr r0, _080064FC
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, _08006500
- ldr r3, _08006504
- bl sub_8006554
- adds r0, r4, 0
- mov r1, r8
- bl sub_80089AC
- movs r0, 0
- ldrsh r1, [r5, r0]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- muls r0, r1
- add r9, r0
-_080064C4:
- adds r5, 0x18
- adds r4, 0x18
- ldr r3, [sp, 0x18]
- adds r3, 0x18
- str r3, [sp, 0x18]
- adds r6, 0x1
- cmp r6, 0x3
- ble _08006472
- ldr r2, _08006508
- ldr r0, _0800650C
- ldr r1, _08006510
- str r0, [r2]
- movs r0, 0x1
- strb r0, [r1]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080064F0: .4byte gUnknown_80B857C
-_080064F4: .4byte gUnknown_202AFC0
-_080064F8: .4byte gUnknown_80B8804
-_080064FC: .4byte gUnknown_2027370
-_08006500: .4byte gUnknown_20274B4
-_08006504: .4byte gUnknown_202B038
-_08006508: .4byte gUnknown_203B078
-_0800650C: .4byte gUnknown_3000E94
-_08006510: .4byte gUnknown_20274A5
- thumb_func_end sub_8006438
-
- thumb_func_start nullsub_152
-nullsub_152:
- bx lr
- thumb_func_end nullsub_152
-
- thumb_func_start sub_8006518
-sub_8006518:
- push {r4-r7,lr}
- ldr r4, _0800653C
- adds r2, r0, 0
- movs r3, 0x3
-_08006520:
- adds r1, r2, 0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r4, 0x18
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _08006520
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800653C: .4byte gUnknown_202AFC0
- thumb_func_end sub_8006518
-
- thumb_func_start nullsub_153
-nullsub_153:
- bx lr
- thumb_func_end nullsub_153
-
- thumb_func_start sub_8006544
-sub_8006544:
- ldr r1, _08006550
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08006550: .4byte gUnknown_80B8814
- thumb_func_end sub_8006544
-
- thumb_func_start sub_8006554
-sub_8006554:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r0, [sp, 0x4]
- adds r7, r1, 0
- adds r6, r2, 0
- str r3, [sp, 0x8]
- ldr r1, [sp, 0x4C]
- ldr r3, [sp, 0x50]
- ldr r2, [sp, 0x54]
- ldr r0, [sp, 0x58]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0xC]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- ldr r1, [sp, 0x44]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 3
- ldr r4, [sp, 0x4]
- adds r5, r4, r0
- ldr r0, [sp, 0x48]
- movs r4, 0x8
- ldrsh r1, [r0, r4]
- movs r4, 0
- ldrsh r0, [r2, r4]
- adds r1, r0
- str r1, [sp, 0x14]
- ldr r0, [sp, 0x48]
- movs r4, 0xA
- ldrsh r1, [r0, r4]
- movs r4, 0x2
- ldrsh r0, [r2, r4]
- adds r4, r1, r0
- mov r0, sp
- ldrh r0, [r0, 0x14]
- strh r0, [r5]
- strh r4, [r5, 0x2]
- ldr r1, [sp, 0x48]
- ldrh r0, [r1, 0xC]
- strh r0, [r5, 0x4]
- ldrh r0, [r1, 0x10]
- strh r0, [r5, 0x8]
- ldrh r0, [r1, 0xE]
- strh r0, [r5, 0x6]
- ldr r0, [r1, 0x4]
- str r0, [r5, 0xC]
- str r3, [r5, 0x10]
- cmp r0, 0x6
- bne _080065C6
- str r3, [r5, 0x14]
- b _080065D6
-_080065C6:
- ldr r2, [sp, 0x48]
- movs r0, 0x12
- ldrsh r1, [r2, r0]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- muls r0, r1
- adds r0, r3, r0
- str r0, [r5, 0x14]
-_080065D6:
- ldr r0, [r5, 0x10]
- lsls r0, 5
- adds r0, r6, r0
- str r0, [r5, 0x18]
- ldr r0, [r5, 0x14]
- lsls r0, 5
- adds r1, r6, r0
- str r1, [r5, 0x1C]
- ldr r3, [sp, 0x48]
- movs r6, 0x12
- ldrsh r1, [r3, r6]
- str r1, [r5, 0x24]
- adds r0, r7, r0
- str r0, [r5, 0x28]
- ldr r3, [r5, 0xC]
- cmp r3, 0x6
- bne _0800660C
- movs r7, 0x4
- ldrsh r2, [r5, r7]
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- ldr r6, [sp, 0x48]
- movs r7, 0x12
- ldrsh r1, [r6, r7]
- adds r0, r1
- muls r0, r2
- b _08006616
-_0800660C:
- movs r0, 0x4
- ldrsh r1, [r5, r0]
- movs r2, 0x6
- ldrsh r0, [r5, r2]
- muls r0, r1
-_08006616:
- lsls r0, 5
- str r0, [r5, 0x2C]
- movs r0, 0
- str r0, [r5, 0x30]
- str r0, [r5, 0x34]
- str r0, [r5, 0x38]
- movs r6, 0x4
- ldrsh r0, [r5, r6]
- lsls r0, 3
- subs r0, 0x8
- str r0, [r5, 0x20]
- movs r1, 0
- cmp r3, 0
- bne _08006634
- movs r1, 0x1
-_08006634:
- adds r0, r5, 0
- adds r0, 0x45
- strb r1, [r0]
- movs r7, 0x8
- ldrsh r0, [r5, r7]
- cmp r0, 0
- bne _08006644
- b _0800676C
-_08006644:
- ldr r0, [sp, 0x48]
- ldrb r1, [r0]
- movs r0, 0xA0
- ands r0, r1
- adds r1, r5, 0
- adds r1, 0x46
- str r1, [sp, 0x1C]
- cmp r0, 0x80
- beq _08006752
- subs r7, r4, 0x1
- ldr r0, [r5, 0xC]
- cmp r0, 0x6
- bne _080066A8
- movs r2, 0
- mov r8, r2
- ldr r3, [sp, 0xC]
- cmp r3, 0
- beq _0800666C
- ldr r6, [r5, 0x14]
- mov r8, r6
-_0800666C:
- ldr r0, [sp, 0x48]
- ldr r3, [r0, 0x14]
- ldr r1, [sp, 0x8]
- str r1, [sp]
- adds r0, r5, 0
- adds r1, r7, 0
- mov r2, r8
- bl sub_8006E94
- adds r7, r4, 0x2
- ldr r2, [sp, 0xC]
- cmp r2, 0
- beq _0800669A
- movs r3, 0x4
- ldrsh r1, [r5, r3]
- ldr r4, [sp, 0x48]
- movs r6, 0x12
- ldrsh r0, [r4, r6]
- adds r0, 0x2
- muls r1, r0
- ldr r0, [r5, 0x14]
- adds r0, r1
- b _0800669C
-_0800669A:
- movs r0, 0
-_0800669C:
- mov r8, r0
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- subs r0, 0x2
- str r0, [sp, 0x18]
- b _080066CA
-_080066A8:
- adds r0, r5, 0
- adds r1, r7, 0
- ldr r2, [sp, 0x8]
- ldr r3, [sp, 0x10]
- bl sub_800677C
- adds r7, r4, 0
- movs r2, 0
- mov r8, r2
- ldr r3, [sp, 0xC]
- cmp r3, 0
- beq _080066C4
- ldr r4, [r5, 0x14]
- mov r8, r4
-_080066C4:
- movs r0, 0x6
- ldrsh r6, [r5, r0]
- str r6, [sp, 0x18]
-_080066CA:
- movs r1, 0
- mov r9, r1
- adds r2, r5, 0
- adds r2, 0x46
- str r2, [sp, 0x1C]
- ldr r3, [sp, 0x18]
- cmp r9, r3
- bge _08006746
-_080066DA:
- ldr r4, [sp, 0x14]
- subs r4, 0x1
- ldr r6, [sp, 0x8]
- str r6, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- mov r3, r9
- bl sub_80069CC
- ldr r4, [sp, 0x14]
- movs r6, 0
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- adds r2, r7, 0x1
- mov r10, r2
- mov r3, r9
- adds r3, 0x1
- str r3, [sp, 0x20]
- cmp r6, r0
- bge _0800672A
-_08006704:
- ldr r0, [sp, 0x8]
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_8006AC4
- adds r4, 0x1
- ldr r1, [sp, 0xC]
- cmp r1, 0
- beq _08006720
- movs r2, 0x1
- add r8, r2
-_08006720:
- adds r6, 0x1
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- cmp r6, r0
- blt _08006704
-_0800672A:
- ldr r6, [sp, 0x8]
- str r6, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- mov r3, r9
- bl sub_8006B70
- mov r7, r10
- ldr r0, [sp, 0x20]
- mov r9, r0
- ldr r1, [sp, 0x18]
- cmp r9, r1
- blt _080066DA
-_08006746:
- adds r0, r5, 0
- adds r1, r7, 0
- ldr r2, [sp, 0x8]
- ldr r3, [sp, 0x10]
- bl sub_8006C44
-_08006752:
- ldr r2, [sp, 0x48]
- ldrb r1, [r2]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08006766
- ldr r0, [sp, 0x4]
- ldr r1, [sp, 0x44]
- bl sub_8008C6C
-_08006766:
- movs r0, 0
- ldr r3, [sp, 0x1C]
- strb r0, [r3]
-_0800676C:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8006554
-
- thumb_func_start sub_800677C
-sub_800677C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- adds r4, r1, 0
- str r2, [sp]
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- movs r1, 0
- ldrsh r0, [r6, r1]
- subs r3, r0, 0x1
- cmp r4, 0x1C
- ble _080067A0
- b _080069AE
-_080067A0:
- cmp r4, 0
- bge _080067A6
- b _080069AE
-_080067A6:
- ldr r0, [r6, 0xC]
- cmp r0, 0x7
- bls _080067AE
- b _080069AE
-_080067AE:
- lsls r0, 2
- ldr r1, _080067B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080067B8: .4byte _080067BC
- .align 2, 0
-_080067BC:
- .4byte _080069AE
- .4byte _080069AE
- .4byte _080069AE
- .4byte _080067DC
- .4byte _0800689C
- .4byte _08006920
- .4byte _080069AE
- .4byte _0800696C
-_080067DC:
- lsls r1, r3, 1
- lsls r2, r4, 6
- ldr r4, [sp]
- adds r0, r2, r4
- adds r1, r0
- ldr r7, _08006800
- adds r0, r7, 0
- strh r0, [r1]
- adds r5, r2, 0
- mov r0, r9
- cmp r0, 0
- beq _08006808
- movs r2, 0x80
- lsls r2, 4
- adds r1, r2
- ldr r4, _08006804
- adds r0, r4, 0
- b _08006812
- .align 2, 0
-_08006800: .4byte 0x0000f2d8
-_08006804: .4byte 0x0000f293
-_08006808:
- movs r7, 0x80
- lsls r7, 4
- adds r1, r7
- ldr r2, _08006878
- adds r0, r2, 0
-_08006812:
- strh r0, [r1]
- adds r3, 0x1
- movs r4, 0
- movs r7, 0x4
- ldrsh r0, [r6, r7]
- cmp r4, r0
- bge _08006856
- ldr r0, _0800687C
- mov r8, r0
- lsls r0, r3, 1
- ldr r2, [sp]
- movs r7, 0x80
- lsls r7, 4
- adds r1, r2, r7
- adds r1, r5, r1
- adds r2, r0, r1
- ldr r7, [sp]
- adds r1, r5, r7
- adds r1, r0, r1
- ldr r0, _08006878
- mov r12, r0
-_0800683C:
- mov r7, r8
- strh r7, [r1]
- mov r0, r12
- strh r0, [r2]
- adds r2, 0x2
- adds r1, 0x2
- adds r3, 0x1
- adds r4, 0x1
- movs r0, 0x4
- ldrsh r7, [r6, r0]
- mov r10, r7
- cmp r4, r10
- blt _0800683C
-_08006856:
- lsls r0, r3, 1
- ldr r2, [sp]
- adds r1, r5, r2
- adds r1, r0, r1
- ldr r4, _08006880
- adds r0, r4, 0
- strh r0, [r1]
- mov r7, r9
- cmp r7, 0
- beq _08006888
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- ldr r2, _08006884
- adds r0, r2, 0
- strh r0, [r1]
- b _080069AE
- .align 2, 0
-_08006878: .4byte 0x0000f2db
-_0800687C: .4byte 0x0000f2d9
-_08006880: .4byte 0x0000f6d8
-_08006884: .4byte 0x0000f693
-_08006888:
- movs r4, 0x80
- lsls r4, 4
- adds r1, r4
- ldr r7, _08006898
- adds r0, r7, 0
- strh r0, [r1]
- b _080069AE
- .align 2, 0
-_08006898: .4byte 0x0000f2db
-_0800689C:
- lsls r1, r3, 1
- lsls r2, r4, 6
- ldr r0, [sp]
- adds r0, r2
- mov r12, r0
- add r1, r12
- ldr r4, _08006910
- adds r0, r4, 0
- strh r0, [r1]
- movs r7, 0x80
- lsls r7, 4
- mov r8, r7
- add r1, r8
- ldr r0, _08006914
- mov r9, r0
- strh r0, [r1]
- adds r3, 0x1
- movs r4, 0
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- adds r5, r2, 0
- cmp r4, r0
- bge _080068F6
- ldr r2, _08006918
- mov r10, r2
- lsls r1, r3, 1
- ldr r0, [sp]
- add r0, r8
- adds r0, r5, r0
- adds r2, r1, r0
- add r1, r12
- mov r12, r9
-_080068DC:
- mov r7, r10
- strh r7, [r1]
- mov r0, r12
- strh r0, [r2]
- adds r2, 0x2
- adds r1, 0x2
- adds r3, 0x1
- adds r4, 0x1
- movs r0, 0x4
- ldrsh r7, [r6, r0]
- mov r8, r7
- cmp r4, r8
- blt _080068DC
-_080068F6:
- lsls r0, r3, 1
- ldr r2, [sp]
- adds r1, r5, r2
- adds r0, r1
- ldr r4, _0800691C
- adds r1, r4, 0
- strh r1, [r0]
- movs r7, 0x80
- lsls r7, 4
- adds r0, r7
- ldr r2, _08006914
- adds r1, r2, 0
- b _080069AC
- .align 2, 0
-_08006910: .4byte 0x0000f2e8
-_08006914: .4byte 0x0000f2db
-_08006918: .4byte 0x0000f2e9
-_0800691C: .4byte 0x0000f6e8
-_08006920:
- lsls r0, r3, 1
- lsls r2, r4, 6
- ldr r4, [sp]
- adds r4, r2
- mov r12, r4
- add r0, r12
- ldr r7, _08006960
- adds r1, r7, 0
- strh r1, [r0]
- adds r3, 0x1
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- adds r5, r2, 0
- cmp r0, 0
- ble _08006954
- ldr r2, _08006964
- adds r1, r2, 0
- adds r4, r0, 0
- lsls r0, r3, 1
- add r0, r12
-_08006948:
- strh r1, [r0]
- adds r0, 0x2
- adds r3, 0x1
- subs r4, 0x1
- cmp r4, 0
- bne _08006948
-_08006954:
- lsls r0, r3, 1
- ldr r4, [sp]
- adds r1, r5, r4
- adds r0, r1
- ldr r7, _08006968
- b _080069AA
- .align 2, 0
-_08006960: .4byte 0x0000f2dc
-_08006964: .4byte 0x0000f2dd
-_08006968: .4byte 0x0000f6dc
-_0800696C:
- lsls r0, r3, 1
- lsls r2, r4, 6
- ldr r1, [sp]
- adds r1, r2
- mov r12, r1
- add r0, r12
- ldr r4, _080069C0
- adds r1, r4, 0
- strh r1, [r0]
- adds r3, 0x1
- movs r7, 0x4
- ldrsh r0, [r6, r7]
- adds r5, r2, 0
- cmp r0, 0
- ble _080069A0
- ldr r2, _080069C4
- adds r1, r2, 0
- adds r4, r0, 0
- lsls r0, r3, 1
- add r0, r12
-_08006994:
- strh r1, [r0]
- adds r0, 0x2
- adds r3, 0x1
- subs r4, 0x1
- cmp r4, 0
- bne _08006994
-_080069A0:
- lsls r0, r3, 1
- ldr r4, [sp]
- adds r1, r5, r4
- adds r0, r1
- ldr r7, _080069C8
-_080069AA:
- adds r1, r7, 0
-_080069AC:
- strh r1, [r0]
-_080069AE:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080069C0: .4byte 0x0000f293
-_080069C4: .4byte 0x0000f297
-_080069C8: .4byte 0x0000f693
- thumb_func_end sub_800677C
-
- thumb_func_start sub_80069CC
-sub_80069CC:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r3, 0
- ldr r3, [sp, 0x10]
- cmp r2, 0x1C
- bgt _08006ABA
- cmp r2, 0
- blt _08006ABA
- ldr r0, [r6, 0xC]
- cmp r0, 0x7
- bhi _08006ABA
- lsls r0, 2
- ldr r1, _080069F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080069F0: .4byte _080069F4
- .align 2, 0
-_080069F4:
- .4byte _08006A14
- .4byte _08006ABA
- .4byte _08006ABA
- .4byte _08006A60
- .4byte _08006A7C
- .4byte _08006A9C
- .4byte _08006A60
- .4byte _08006AAC
-_08006A14:
- cmp r5, 0
- bne _08006A34
- lsls r1, r4, 1
- lsls r0, r2, 6
- adds r0, r3
- adds r1, r0
- ldr r2, _08006A30
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- adds r2, 0x44
- b _08006A92
- .align 2, 0
-_08006A30: .4byte 0x0000f297
-_08006A34:
- movs r1, 0x6
- ldrsh r0, [r6, r1]
- subs r0, 0x1
- cmp r5, r0
- bne _08006A60
- lsls r1, r4, 1
- lsls r0, r2, 6
- adds r0, r3
- adds r1, r0
- ldr r2, _08006A58
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- ldr r2, _08006A5C
- b _08006A92
- .align 2, 0
-_08006A58: .4byte 0x0000fa97
-_08006A5C: .4byte 0x0000f2db
-_08006A60:
- lsls r1, r4, 1
- lsls r0, r2, 6
- adds r0, r3
- adds r1, r0
- ldr r2, _08006A78
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- adds r2, 0x1
- b _08006A92
- .align 2, 0
-_08006A78: .4byte 0x0000f2da
-_08006A7C:
- lsls r1, r4, 1
- lsls r0, r2, 6
- adds r0, r3
- adds r1, r0
- ldr r2, _08006A98
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- subs r2, 0xF
-_08006A92:
- adds r0, r2, 0
- strh r0, [r1]
- b _08006ABA
- .align 2, 0
-_08006A98: .4byte 0x0000f2ea
-_08006A9C:
- lsls r0, r4, 1
- lsls r1, r2, 6
- adds r1, r3
- adds r0, r1
- ldr r2, _08006AA8
- b _08006AB6
- .align 2, 0
-_08006AA8: .4byte 0x0000f2de
-_08006AAC:
- lsls r0, r4, 1
- lsls r1, r2, 6
- adds r1, r3
- adds r0, r1
- ldr r2, _08006AC0
-_08006AB6:
- adds r1, r2, 0
- strh r1, [r0]
-_08006ABA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08006AC0: .4byte 0x0000f2b6
- thumb_func_end sub_80069CC
-
- thumb_func_start sub_8006AC4
-sub_8006AC4:
- push {r4,r5,lr}
- adds r4, r1, 0
- ldr r5, [sp, 0xC]
- cmp r2, 0x1C
- bgt _08006B64
- cmp r2, 0
- blt _08006B64
- ldr r0, [r0, 0xC]
- cmp r0, 0x7
- bhi _08006B64
- lsls r0, 2
- ldr r1, _08006AE4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08006AE4: .4byte _08006AE8
- .align 2, 0
-_08006AE8:
- .4byte _08006B2C
- .4byte _08006B2C
- .4byte _08006B08
- .4byte _08006B2C
- .4byte _08006B2C
- .4byte _08006B54
- .4byte _08006B2C
- .4byte _08006B54
-_08006B08:
- lsls r1, r4, 1
- lsls r0, r2, 6
- adds r0, r5
- adds r1, r0
- ldr r2, _08006B24
- adds r0, r2, 0
- orrs r3, r0
- strh r3, [r1]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- ldr r2, _08006B28
- b _08006B44
- .align 2, 0
-_08006B24: .4byte 0xfffff000
-_08006B28: .4byte 0x0000f278
-_08006B2C:
- lsls r1, r4, 1
- lsls r0, r2, 6
- adds r0, r5
- adds r1, r0
- ldr r2, _08006B4C
- adds r0, r2, 0
- orrs r3, r0
- strh r3, [r1]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- ldr r2, _08006B50
-_08006B44:
- adds r0, r2, 0
- strh r0, [r1]
- b _08006B64
- .align 2, 0
-_08006B4C: .4byte 0xfffff000
-_08006B50: .4byte 0x0000f2db
-_08006B54:
- lsls r0, r4, 1
- lsls r1, r2, 6
- adds r1, r5
- adds r0, r1
- ldr r2, _08006B6C
- adds r1, r2, 0
- orrs r3, r1
- strh r3, [r0]
-_08006B64:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08006B6C: .4byte 0xfffff000
- thumb_func_end sub_8006AC4
-
- thumb_func_start sub_8006B70
-sub_8006B70:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r3, 0
- ldr r3, [sp, 0x10]
- cmp r2, 0x1C
- bgt _08006C3A
- cmp r2, 0
- blt _08006C3A
- ldr r0, [r6, 0xC]
- cmp r0, 0x7
- bhi _08006C3A
- lsls r0, 2
- ldr r1, _08006B94
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08006B94: .4byte _08006B98
- .align 2, 0
-_08006B98:
- .4byte _08006BB8
- .4byte _08006C3A
- .4byte _08006C3A
- .4byte _08006BE8
- .4byte _08006BF8
- .4byte _08006C1C
- .4byte _08006BE8
- .4byte _08006C2C
-_08006BB8:
- cmp r5, 0
- bne _08006BCC
- lsls r1, r4, 1
- lsls r0, r2, 6
- adds r0, r3
- adds r1, r0
- ldr r2, _08006BC8
- b _08006C02
- .align 2, 0
-_08006BC8: .4byte 0x0000f697
-_08006BCC:
- movs r1, 0x6
- ldrsh r0, [r6, r1]
- subs r0, 0x1
- cmp r5, r0
- bne _08006BE8
- lsls r1, r4, 1
- lsls r0, r2, 6
- adds r0, r3
- adds r1, r0
- ldr r2, _08006BE4
- b _08006C02
- .align 2, 0
-_08006BE4: .4byte 0x0000fe97
-_08006BE8:
- lsls r1, r4, 1
- lsls r0, r2, 6
- adds r0, r3
- adds r1, r0
- ldr r2, _08006BF4
- b _08006C02
- .align 2, 0
-_08006BF4: .4byte 0x0000f6da
-_08006BF8:
- lsls r1, r4, 1
- lsls r0, r2, 6
- adds r0, r3
- adds r1, r0
- ldr r2, _08006C14
-_08006C02:
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- ldr r2, _08006C18
- adds r0, r2, 0
- strh r0, [r1]
- b _08006C3A
- .align 2, 0
-_08006C14: .4byte 0x0000f6ea
-_08006C18: .4byte 0x0000f2db
-_08006C1C:
- lsls r0, r4, 1
- lsls r1, r2, 6
- adds r1, r3
- adds r0, r1
- ldr r2, _08006C28
- b _08006C36
- .align 2, 0
-_08006C28: .4byte 0x0000f6de
-_08006C2C:
- lsls r0, r4, 1
- lsls r1, r2, 6
- adds r1, r3
- adds r0, r1
- ldr r2, _08006C40
-_08006C36:
- adds r1, r2, 0
- strh r1, [r0]
-_08006C3A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08006C40: .4byte 0x0000f6b6
- thumb_func_end sub_8006B70
-
- thumb_func_start sub_8006C44
-sub_8006C44:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- adds r4, r1, 0
- str r2, [sp]
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- movs r1, 0
- ldrsh r0, [r6, r1]
- subs r3, r0, 0x1
- cmp r4, 0x1C
- ble _08006C68
- b _08006E76
-_08006C68:
- cmp r4, 0
- bge _08006C6E
- b _08006E76
-_08006C6E:
- ldr r0, [r6, 0xC]
- cmp r0, 0x7
- bls _08006C76
- b _08006E76
-_08006C76:
- lsls r0, 2
- ldr r1, _08006C80
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08006C80: .4byte _08006C84
- .align 2, 0
-_08006C84:
- .4byte _08006E76
- .4byte _08006E76
- .4byte _08006E76
- .4byte _08006CA4
- .4byte _08006D64
- .4byte _08006DE8
- .4byte _08006CA4
- .4byte _08006E34
-_08006CA4:
- lsls r1, r3, 1
- lsls r2, r4, 6
- ldr r4, [sp]
- adds r0, r2, r4
- adds r1, r0
- ldr r7, _08006CC8
- adds r0, r7, 0
- strh r0, [r1]
- adds r5, r2, 0
- mov r0, r9
- cmp r0, 0
- beq _08006CD0
- movs r2, 0x80
- lsls r2, 4
- adds r1, r2
- ldr r4, _08006CCC
- adds r0, r4, 0
- b _08006CDA
- .align 2, 0
-_08006CC8: .4byte 0x0000fad8
-_08006CCC: .4byte 0x0000fa93
-_08006CD0:
- movs r7, 0x80
- lsls r7, 4
- adds r1, r7
- ldr r2, _08006D40
- adds r0, r2, 0
-_08006CDA:
- strh r0, [r1]
- adds r3, 0x1
- movs r4, 0
- movs r7, 0x4
- ldrsh r0, [r6, r7]
- cmp r4, r0
- bge _08006D1E
- ldr r0, _08006D44
- mov r8, r0
- lsls r0, r3, 1
- ldr r2, [sp]
- movs r7, 0x80
- lsls r7, 4
- adds r1, r2, r7
- adds r1, r5, r1
- adds r2, r0, r1
- ldr r7, [sp]
- adds r1, r5, r7
- adds r1, r0, r1
- ldr r0, _08006D40
- mov r12, r0
-_08006D04:
- mov r7, r8
- strh r7, [r1]
- mov r0, r12
- strh r0, [r2]
- adds r2, 0x2
- adds r1, 0x2
- adds r3, 0x1
- adds r4, 0x1
- movs r0, 0x4
- ldrsh r7, [r6, r0]
- mov r10, r7
- cmp r4, r10
- blt _08006D04
-_08006D1E:
- lsls r0, r3, 1
- ldr r2, [sp]
- adds r1, r5, r2
- adds r1, r0, r1
- ldr r4, _08006D48
- adds r0, r4, 0
- strh r0, [r1]
- mov r7, r9
- cmp r7, 0
- beq _08006D50
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- ldr r2, _08006D4C
- adds r0, r2, 0
- strh r0, [r1]
- b _08006E76
- .align 2, 0
-_08006D40: .4byte 0x0000f2db
-_08006D44: .4byte 0x0000fad9
-_08006D48: .4byte 0x0000fed8
-_08006D4C: .4byte 0x0000fe93
-_08006D50:
- movs r4, 0x80
- lsls r4, 4
- adds r1, r4
- ldr r7, _08006D60
- adds r0, r7, 0
- strh r0, [r1]
- b _08006E76
- .align 2, 0
-_08006D60: .4byte 0x0000f2db
-_08006D64:
- lsls r1, r3, 1
- lsls r2, r4, 6
- ldr r0, [sp]
- adds r0, r2
- mov r12, r0
- add r1, r12
- ldr r4, _08006DD8
- adds r0, r4, 0
- strh r0, [r1]
- movs r7, 0x80
- lsls r7, 4
- mov r8, r7
- add r1, r8
- ldr r0, _08006DDC
- mov r9, r0
- strh r0, [r1]
- adds r3, 0x1
- movs r4, 0
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- adds r5, r2, 0
- cmp r4, r0
- bge _08006DBE
- ldr r2, _08006DE0
- mov r10, r2
- lsls r1, r3, 1
- ldr r0, [sp]
- add r0, r8
- adds r0, r5, r0
- adds r2, r1, r0
- add r1, r12
- mov r12, r9
-_08006DA4:
- mov r7, r10
- strh r7, [r1]
- mov r0, r12
- strh r0, [r2]
- adds r2, 0x2
- adds r1, 0x2
- adds r3, 0x1
- adds r4, 0x1
- movs r0, 0x4
- ldrsh r7, [r6, r0]
- mov r8, r7
- cmp r4, r8
- blt _08006DA4
-_08006DBE:
- lsls r0, r3, 1
- ldr r2, [sp]
- adds r1, r5, r2
- adds r0, r1
- ldr r4, _08006DE4
- adds r1, r4, 0
- strh r1, [r0]
- movs r7, 0x80
- lsls r7, 4
- adds r0, r7
- ldr r2, _08006DDC
- adds r1, r2, 0
- b _08006E74
- .align 2, 0
-_08006DD8: .4byte 0x0000fae8
-_08006DDC: .4byte 0x0000f2db
-_08006DE0: .4byte 0x0000fae9
-_08006DE4: .4byte 0x0000fee8
-_08006DE8:
- lsls r0, r3, 1
- lsls r2, r4, 6
- ldr r4, [sp]
- adds r4, r2
- mov r12, r4
- add r0, r12
- ldr r7, _08006E28
- adds r1, r7, 0
- strh r1, [r0]
- adds r3, 0x1
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- adds r5, r2, 0
- cmp r0, 0
- ble _08006E1C
- ldr r2, _08006E2C
- adds r1, r2, 0
- adds r4, r0, 0
- lsls r0, r3, 1
- add r0, r12
-_08006E10:
- strh r1, [r0]
- adds r0, 0x2
- adds r3, 0x1
- subs r4, 0x1
- cmp r4, 0
- bne _08006E10
-_08006E1C:
- lsls r0, r3, 1
- ldr r4, [sp]
- adds r1, r5, r4
- adds r0, r1
- ldr r7, _08006E30
- b _08006E72
- .align 2, 0
-_08006E28: .4byte 0x0000fadc
-_08006E2C: .4byte 0x0000fadd
-_08006E30: .4byte 0x0000fedc
-_08006E34:
- lsls r0, r3, 1
- lsls r2, r4, 6
- ldr r1, [sp]
- adds r1, r2
- mov r12, r1
- add r0, r12
- ldr r4, _08006E88
- adds r1, r4, 0
- strh r1, [r0]
- adds r3, 0x1
- movs r7, 0x4
- ldrsh r0, [r6, r7]
- adds r5, r2, 0
- cmp r0, 0
- ble _08006E68
- ldr r2, _08006E8C
- adds r1, r2, 0
- adds r4, r0, 0
- lsls r0, r3, 1
- add r0, r12
-_08006E5C:
- strh r1, [r0]
- adds r0, 0x2
- adds r3, 0x1
- subs r4, 0x1
- cmp r4, 0
- bne _08006E5C
-_08006E68:
- lsls r0, r3, 1
- ldr r4, [sp]
- adds r1, r5, r4
- adds r0, r1
- ldr r7, _08006E90
-_08006E72:
- adds r1, r7, 0
-_08006E74:
- strh r1, [r0]
-_08006E76:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08006E88: .4byte 0x0000fa93
-_08006E8C: .4byte 0x0000fa97
-_08006E90: .4byte 0x0000fe93
- thumb_func_end sub_8006C44
-
- thumb_func_start sub_8006E94
-sub_8006E94:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- str r0, [sp]
- adds r4, r1, 0
- adds r7, r2, 0
- str r3, [sp, 0x4]
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r10, r0
- movs r2, 0x1
- negs r2, r2
- add r2, r10
- movs r3, 0
- str r3, [sp, 0x8]
- cmp r4, 0x1C
- ble _08006EBE
- b _080072FE
-_08006EBE:
- cmp r4, 0
- bge _08006EC4
- b _080072FE
-_08006EC4:
- lsls r1, r2, 1
- lsls r4, 6
- ldr r6, [sp, 0x50]
- adds r5, r4, r6
- adds r1, r5
- ldr r0, _08006F9C
- adds r3, r0, 0
- strh r3, [r1]
- movs r2, 0x80
- lsls r2, 4
- adds r0, r1, r2
- ldr r6, _08006FA0
- adds r2, r6, 0
- strh r2, [r0]
- adds r0, r1, 0
- adds r0, 0x40
- strh r3, [r0]
- movs r0, 0x84
- lsls r0, 4
- adds r0, r1, r0
- strh r2, [r0]
- adds r2, r1, 0
- adds r2, 0x80
- ldr r3, _08006FA4
- adds r0, r3, 0
- strh r0, [r2]
- movs r6, 0x88
- lsls r6, 4
- adds r1, r6
- ldr r2, _08006FA8
- adds r0, r2, 0
- strh r0, [r1]
- mov r12, r10
- movs r3, 0
- str r4, [sp, 0x18]
- ldr r4, [sp, 0x4]
- ldrb r4, [r4]
- cmp r3, r4
- blt _08006F14
- b _08007238
-_08006F14:
- adds r2, r5, 0
- mov r5, r12
- lsls r1, r5, 1
- ldr r0, [sp, 0x50]
- adds r0, 0x80
- ldr r6, [sp, 0x18]
- adds r0, r6, r0
- adds r0, r1
- mov r9, r0
- ldr r0, [sp, 0x50]
- adds r0, 0x40
- adds r0, r6, r0
- adds r0, r1
- mov r8, r0
- ldr r4, [sp, 0x50]
- movs r5, 0x80
- lsls r5, 4
- adds r0, r4, r5
- adds r0, r6, r0
- adds r0, r1, r0
- str r0, [sp, 0x20]
- movs r6, 0x84
- lsls r6, 4
- adds r0, r4, r6
- ldr r4, [sp, 0x18]
- adds r0, r4, r0
- adds r0, r1
- mov r10, r0
- adds r4, r1, r2
- ldr r5, [sp, 0x18]
- str r5, [sp, 0x10]
- str r2, [sp, 0x1C]
- str r1, [sp, 0x24]
-_08006F56:
- ldr r6, [sp, 0x4]
- ldrb r6, [r6, 0x1]
- cmp r3, r6
- bne _08006F60
- b _080070C8
-_08006F60:
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bne _08007008
- ldr r1, [sp, 0x4]
- ldrb r0, [r1, 0x3]
- asrs r0, r3
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08006FB8
- movs r1, 0x1F
- cmp r3, 0
- bne _08006F7C
- movs r1, 0x1B
-_08006F7C:
- movs r2, 0x9E
- lsls r2, 2
- adds r0, r1, r2
- ldr r5, _08006FAC
- adds r1, r5, 0
- orrs r0, r1
- strh r0, [r4]
- ldr r6, _08006FB0
- adds r0, r6, 0
- mov r1, r8
- strh r0, [r1]
- ldr r5, _08006FB4
- mov r2, r9
- strh r5, [r2]
- b _08006FDC
- .align 2, 0
-_08006F9C: .4byte 0x0000f278
-_08006FA0: .4byte 0x0000f27a
-_08006FA4: .4byte 0x0000f2d8
-_08006FA8: .4byte 0x0000f2db
-_08006FAC: .4byte 0xfffff400
-_08006FB0: .4byte 0x0000f2b6
-_08006FB4: .4byte 0x0000f2d9
-_08006FB8:
- movs r1, 0x6B
- cmp r3, 0
- bne _08006FC0
- movs r1, 0x67
-_08006FC0:
- movs r6, 0x9E
- lsls r6, 2
- adds r0, r1, r6
- ldr r2, _08006FF4
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r4]
- ldr r5, _08006FF8
- adds r0, r5, 0
- mov r6, r8
- strh r0, [r6]
- ldr r1, _08006FFC
- mov r0, r9
- strh r1, [r0]
-_08006FDC:
- ldr r2, _08007000
- adds r0, r2, 0
- ldr r5, [sp, 0x20]
- strh r0, [r5]
- ldr r0, _08007004
- mov r6, r10
- strh r0, [r6]
- movs r1, 0x88
- lsls r1, 4
- adds r0, r4, r1
- adds r2, 0x61
- b _0800708E
- .align 2, 0
-_08006FF4: .4byte 0xfffff400
-_08006FF8: .4byte 0x0000f2ef
-_08006FFC: .4byte 0x0000f2d9
-_08007000: .4byte 0x0000f27a
-_08007004: .4byte 0x0000f2db
-_08007008:
- ldr r5, [sp, 0x4]
- ldrb r0, [r5, 0x3]
- asrs r0, r3
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0800704C
- ldrb r0, [r5]
- subs r0, 0x1
- movs r1, 0x1F
- cmp r3, r0
- bne _08007022
- movs r1, 0x1B
-_08007022:
- movs r6, 0x9E
- lsls r6, 2
- adds r0, r1, r6
- ldr r2, _08007040
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r4]
- ldr r5, _08007044
- adds r0, r5, 0
- mov r6, r8
- strh r0, [r6]
- ldr r1, _08007048
- mov r0, r9
- strh r1, [r0]
- b _08007076
- .align 2, 0
-_08007040: .4byte 0xfffff000
-_08007044: .4byte 0x0000f6b6
-_08007048: .4byte 0x0000f2d9
-_0800704C:
- ldr r2, [sp, 0x4]
- ldrb r0, [r2]
- subs r0, 0x1
- movs r1, 0x6B
- cmp r3, r0
- bne _0800705A
- movs r1, 0x67
-_0800705A:
- movs r5, 0x9E
- lsls r5, 2
- adds r0, r1, r5
- ldr r6, _080070B0
- adds r1, r6, 0
- orrs r0, r1
- strh r0, [r4]
- ldr r1, _080070B4
- adds r0, r1, 0
- mov r2, r8
- strh r0, [r2]
- ldr r6, _080070B8
- mov r5, r9
- strh r6, [r5]
-_08007076:
- ldr r1, _080070BC
- adds r0, r1, 0
- ldr r2, [sp, 0x20]
- strh r0, [r2]
- ldr r5, _080070C0
- adds r0, r5, 0
- mov r6, r10
- strh r0, [r6]
- movs r1, 0x88
- lsls r1, 4
- adds r0, r4, r1
- ldr r2, _080070C4
-_0800708E:
- strh r2, [r0]
- movs r5, 0x2
- add r9, r5
- add r8, r5
- ldr r6, [sp, 0x20]
- adds r6, 0x2
- str r6, [sp, 0x20]
- add r10, r5
- adds r4, 0x2
- ldr r0, [sp, 0x24]
- adds r0, 0x2
- str r0, [sp, 0x24]
- movs r1, 0x1
- add r12, r1
- adds r3, 0x1
- str r3, [sp, 0x14]
- b _08007226
- .align 2, 0
-_080070B0: .4byte 0xfffff000
-_080070B4: .4byte 0x0000f6ef
-_080070B8: .4byte 0x0000f2d9
-_080070BC: .4byte 0x0000f27a
-_080070C0: .4byte 0x0000f6db
-_080070C4: .4byte 0x0000f2db
-_080070C8:
- movs r2, 0x1
- str r2, [sp, 0x8]
- ldr r5, _08007128
- adds r0, r5, 0
- strh r0, [r4]
- ldr r6, _0800712C
- adds r0, r6, 0
- ldr r1, [sp, 0x20]
- strh r0, [r1]
- ldr r2, _08007130
- adds r0, r2, 0
- mov r5, r8
- strh r0, [r5]
- ldr r0, _08007134
- mov r6, r10
- strh r0, [r6]
- ldr r1, _08007138
- adds r0, r1, 0
- mov r2, r9
- strh r0, [r2]
- movs r5, 0x88
- lsls r5, 4
- adds r0, r4, r5
- ldr r6, _08007134
- strh r6, [r0]
- movs r0, 0x2
- add r9, r0
- add r8, r0
- ldr r1, [sp, 0x20]
- adds r1, 0x2
- str r1, [sp, 0x20]
- add r10, r0
- adds r4, 0x2
- ldr r2, [sp, 0x24]
- adds r2, 0x2
- str r2, [sp, 0x24]
- movs r5, 0x1
- add r12, r5
- cmp r7, 0
- beq _0800713C
- adds r7, 0x1
- cmp r7, 0
- beq _0800713C
- ldr r6, [sp]
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- adds r2, r7, r0
- b _0800713E
- .align 2, 0
-_08007128: .4byte 0x0000f2e0
-_0800712C: .4byte 0x0000f2e2
-_08007130: .4byte 0x0000f2da
-_08007134: .4byte 0x0000f2db
-_08007138: .4byte 0x0000f6e7
-_0800713C:
- movs r2, 0
-_0800713E:
- movs r5, 0
- str r5, [sp, 0xC]
- adds r3, 0x1
- str r3, [sp, 0x14]
- ldr r6, [sp, 0x4]
- ldrb r6, [r6, 0x2]
- cmp r5, r6
- bge _080071E0
- ldr r0, [sp, 0x50]
- adds r0, 0x80
- ldr r1, [sp, 0x10]
- adds r0, r1, r0
- ldr r3, [sp, 0x24]
- adds r0, r3, r0
- str r0, [sp, 0x2C]
- ldr r0, [sp, 0x50]
- adds r0, 0x40
- adds r0, r1, r0
- adds r5, r3, r0
- ldr r6, [sp, 0x1C]
- adds r3, r6
-_08007168:
- ldr r1, _08007310
- adds r0, r1, 0
- strh r0, [r3]
- movs r6, 0x80
- lsls r6, 4
- adds r6, r3, r6
- str r6, [sp, 0x28]
- adds r1, 0x1
- adds r0, r1, 0
- strh r0, [r6]
- adds r0, r7, 0
- ldr r6, _08007314
- orrs r0, r6
- strh r0, [r5]
- movs r1, 0x84
- lsls r1, 4
- adds r0, r3, r1
- ldr r6, _08007318
- strh r6, [r0]
- adds r0, r2, 0
- ldr r1, _08007314
- orrs r0, r1
- ldr r6, [sp, 0x2C]
- strh r0, [r6]
- movs r1, 0x88
- lsls r1, 4
- adds r0, r3, r1
- ldr r6, _08007318
- strh r6, [r0]
- ldr r0, [sp, 0x2C]
- adds r0, 0x2
- str r0, [sp, 0x2C]
- adds r5, 0x2
- adds r3, 0x2
- movs r1, 0x2
- add r9, r1
- add r8, r1
- ldr r6, [sp, 0x20]
- adds r6, 0x2
- str r6, [sp, 0x20]
- add r10, r1
- adds r4, 0x2
- ldr r0, [sp, 0x24]
- adds r0, 0x2
- str r0, [sp, 0x24]
- movs r1, 0x1
- add r12, r1
- cmp r7, 0
- beq _080071CC
- adds r7, 0x1
-_080071CC:
- cmp r2, 0
- beq _080071D2
- adds r2, 0x1
-_080071D2:
- ldr r6, [sp, 0xC]
- adds r6, 0x1
- str r6, [sp, 0xC]
- ldr r0, [sp, 0x4]
- ldrb r0, [r0, 0x2]
- cmp r6, r0
- blt _08007168
-_080071E0:
- ldr r1, _0800731C
- adds r0, r1, 0
- strh r0, [r4]
- ldr r2, _08007320
- adds r0, r2, 0
- ldr r3, [sp, 0x20]
- strh r0, [r3]
- ldr r5, _08007324
- adds r0, r5, 0
- mov r6, r8
- strh r0, [r6]
- ldr r1, _08007318
- mov r0, r10
- strh r1, [r0]
- adds r2, 0x5
- adds r0, r2, 0
- mov r3, r9
- strh r0, [r3]
- movs r5, 0x88
- lsls r5, 4
- adds r0, r4, r5
- strh r1, [r0]
- movs r6, 0x2
- add r9, r6
- add r8, r6
- ldr r0, [sp, 0x20]
- adds r0, 0x2
- str r0, [sp, 0x20]
- add r10, r6
- adds r4, 0x2
- ldr r1, [sp, 0x24]
- adds r1, 0x2
- str r1, [sp, 0x24]
- movs r2, 0x1
- add r12, r2
-_08007226:
- cmp r7, 0
- beq _0800722C
- adds r7, 0x1
-_0800722C:
- ldr r3, [sp, 0x14]
- ldr r5, [sp, 0x4]
- ldrb r5, [r5]
- cmp r3, r5
- bge _08007238
- b _08006F56
-_08007238:
- ldr r6, [sp]
- movs r0, 0
- ldrsh r1, [r6, r0]
- movs r2, 0x4
- ldrsh r0, [r6, r2]
- adds r0, r1, r0
- cmp r12, r0
- bge _080072BC
- ldr r3, _08007328
- adds r4, r3, 0
- mov r8, r0
- mov r5, r12
- lsls r1, r5, 1
- ldr r0, [sp, 0x50]
- adds r0, 0x80
- ldr r6, [sp, 0x18]
- adds r0, r6, r0
- adds r5, r1, r0
- ldr r0, [sp, 0x50]
- adds r0, 0x40
- adds r0, r6, r0
- adds r3, r1, r0
- ldr r0, [sp, 0x50]
- adds r6, r0
- adds r2, r1, r6
- movs r1, 0x80
- lsls r1, 4
- mov r10, r1
- movs r6, 0x84
- lsls r6, 4
- mov r9, r6
- mov r0, r8
- mov r1, r12
- subs r0, r1
- mov r12, r0
-_0800727E:
- strh r4, [r2]
- mov r6, r10
- adds r0, r2, r6
- ldr r1, _0800732C
- strh r1, [r0]
- strh r4, [r3]
- mov r6, r9
- adds r0, r2, r6
- strh r1, [r0]
- adds r1, 0x5F
- adds r0, r1, 0
- strh r0, [r5]
- movs r6, 0x88
- lsls r6, 4
- adds r1, r2, r6
- ldr r6, _08007318
- adds r0, r6, 0
- strh r0, [r1]
- adds r5, 0x2
- adds r3, 0x2
- adds r2, 0x2
- movs r0, 0x1
- negs r0, r0
- add r12, r0
- cmp r7, 0
- beq _080072B4
- adds r7, 0x1
-_080072B4:
- mov r1, r12
- cmp r1, 0
- bne _0800727E
- mov r12, r8
-_080072BC:
- mov r2, r12
- lsls r1, r2, 1
- ldr r3, [sp, 0x18]
- ldr r4, [sp, 0x50]
- adds r0, r3, r4
- adds r1, r0
- ldr r5, _08007328
- adds r3, r5, 0
- strh r3, [r1]
- movs r6, 0x80
- lsls r6, 4
- adds r0, r1, r6
- ldr r4, _0800732C
- adds r2, r4, 0
- strh r2, [r0]
- adds r0, r1, 0
- adds r0, 0x40
- strh r3, [r0]
- movs r5, 0x84
- lsls r5, 4
- adds r0, r1, r5
- strh r2, [r0]
- adds r2, r1, 0
- adds r2, 0x80
- ldr r6, _08007330
- adds r0, r6, 0
- strh r0, [r2]
- movs r0, 0x88
- lsls r0, 4
- adds r1, r0
- ldr r2, _08007318
- adds r0, r2, 0
- strh r0, [r1]
-_080072FE:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08007310: .4byte 0x0000f2e1
-_08007314: .4byte 0xfffff000
-_08007318: .4byte 0x0000f2db
-_0800731C: .4byte 0x0000f6e0
-_08007320: .4byte 0x0000f2e2
-_08007324: .4byte 0x0000f6da
-_08007328: .4byte 0x0000f278
-_0800732C: .4byte 0x0000f27a
-_08007330: .4byte 0x0000f6d8
- thumb_func_end sub_8006E94
-
- thumb_func_start sub_8007334
-sub_8007334:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- ldr r0, _080073AC
- adds r3, r1, r0
- ldr r5, [r3, 0x14]
- movs r0, 0x2
- ldrsh r6, [r3, r0]
- movs r2, 0
- movs r1, 0x6
- ldrsh r0, [r3, r1]
- cmp r2, r0
- bge _080073A0
- ldr r7, _080073B0
- mov r9, r7
-_0800735A:
- movs r0, 0
- ldrsh r1, [r3, r0]
- movs r4, 0
- movs r7, 0x4
- ldrsh r0, [r3, r7]
- adds r7, r6, 0x1
- adds r2, 0x1
- mov r12, r2
- cmp r4, r0
- bge _08007394
- movs r0, 0xFC
- lsls r0, 8
- mov r8, r0
- lsls r1, 1
- lsls r0, r6, 6
- add r0, r9
- adds r2, r1, r0
-_0800737C:
- ldrh r0, [r2]
- mov r1, r8
- ands r1, r0
- orrs r1, r5
- strh r1, [r2]
- adds r2, 0x2
- adds r5, 0x1
- adds r4, 0x1
- movs r1, 0x4
- ldrsh r0, [r3, r1]
- cmp r4, r0
- blt _0800737C
-_08007394:
- adds r6, r7, 0
- mov r2, r12
- movs r7, 0x6
- ldrsh r0, [r3, r7]
- cmp r2, r0
- blt _0800735A
-_080073A0:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080073AC: .4byte gUnknown_2027370
-_080073B0: .4byte gUnknown_202B038
- thumb_func_end sub_8007334
-
- thumb_func_start nullsub_154
-nullsub_154:
- bx lr
- thumb_func_end nullsub_154
-
- thumb_func_start sub_80073B8
-sub_80073B8:
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- ldr r0, _080073D8
- adds r1, r0
- ldr r0, [r1, 0x2C]
- lsrs r0, 2
- lsls r0, 2
- ldr r2, [r1, 0x1C]
- adds r0, r2, r0
- str r0, [r1, 0x3C]
- str r2, [r1, 0x40]
- adds r1, 0x46
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080073D8: .4byte gUnknown_2027370
- thumb_func_end sub_80073B8
-
- thumb_func_start nullsub_155
-nullsub_155:
- bx lr
- thumb_func_end nullsub_155
-
- thumb_func_start sub_80073E0
-sub_80073E0:
- push {r4,lr}
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- ldr r0, _08007434
- adds r3, r1, r0
- adds r0, r3, 0
- adds r0, 0x44
- ldrb r4, [r0]
- cmp r4, 0
- bne _08007424
- ldr r2, [r3, 0x3C]
- ldr r0, [r3, 0x1C]
- subs r0, r2, r0
- asrs r0, 2
- lsls r0, 2
- ldr r1, [r3, 0x28]
- adds r1, r0
- str r1, [r3, 0x30]
- str r2, [r3, 0x34]
- ldr r0, [r3, 0x40]
- subs r0, r2
- asrs r0, 2
- adds r0, 0x1
- lsls r0, 2
- str r0, [r3, 0x38]
- ldr r1, [r3, 0x2C]
- cmp r0, r1
- blt _0800741C
- str r1, [r3, 0x38]
-_0800741C:
- ldr r0, [r3, 0x38]
- cmp r0, 0
- bge _08007424
- str r4, [r3, 0x38]
-_08007424:
- adds r1, r3, 0
- adds r1, 0x46
- movs r0, 0
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08007434: .4byte gUnknown_2027370
- thumb_func_end sub_80073E0
-
- thumb_func_start nullsub_156
-nullsub_156:
- bx lr
- thumb_func_end nullsub_156
-
- thumb_func_start sub_800743C
-sub_800743C:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, _08007460
- str r3, [sp]
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl xxx_draw_char
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08007460: .4byte gUnknown_2027370
- thumb_func_end sub_800743C
-
- thumb_func_start sub_8007464
-sub_8007464:
- movs r0, 0
- bx lr
- thumb_func_end sub_8007464
-
- thumb_func_start xxx_draw_char
-xxx_draw_char:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- adds r6, r1, 0
- mov r10, r2
- adds r4, r3, 0
- ldr r2, [sp, 0x48]
- ldr r3, [sp, 0x4C]
- lsls r1, r3, 3
- adds r1, r3
- lsls r1, 3
- adds r5, r0, r1
- ldr r1, _080074B8
- movs r0, 0xF
- ands r2, r0
- lsls r2, 2
- adds r2, r1
- ldr r2, [r2]
- str r2, [sp, 0x18]
- ldr r0, _080074BC
- ldr r0, [r0]
- cmp r0, 0x1
- bne _080074CC
- cmp r4, 0x70
- beq _080074B0
- cmp r4, 0x6A
- beq _080074B0
- cmp r4, 0x71
- beq _080074B0
- cmp r4, 0x79
- beq _080074B0
- cmp r4, 0x67
- bne _080074C0
-_080074B0:
- movs r0, 0x2
- add r10, r0
- b _080074CC
- .align 2, 0
-_080074B8: .4byte gUnknown_80B853C
-_080074BC: .4byte gUnknown_20274AC
-_080074C0:
- ldr r0, _080074F8
- cmp r4, r0
- bne _080074CC
- movs r1, 0x2
- negs r1, r1
- add r10, r1
-_080074CC:
- adds r0, r4, 0
- bl sub_8008584
- str r0, [sp]
- ldr r2, [r0]
- str r2, [sp, 0x4]
- str r2, [sp, 0xC]
- adds r3, r2, 0
- subs r3, 0x6
- str r3, [sp, 0x8]
- ldr r0, _080074FC
- ldrb r0, [r0]
- cmp r0, 0
- beq _08007500
- ldr r4, [sp]
- ldrb r1, [r4, 0xA]
- lsrs r7, r1, 1
- movs r0, 0x1
- adds r2, r7, 0
- ands r2, r0
- str r2, [sp, 0x1C]
- b _08007508
- .align 2, 0
-_080074F8: .4byte 0x00008199
-_080074FC: .4byte gUnknown_202B034
-_08007500:
- movs r3, 0
- str r3, [sp, 0x1C]
- ldr r4, [sp]
- ldrb r1, [r4, 0xA]
-_08007508:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08007512
- b _08007670
-_08007512:
- mov r0, r10
- cmp r0, 0
- bge _0800751A
- adds r0, 0x7
-_0800751A:
- asrs r4, r0, 3
- movs r7, 0x4
- ldrsh r0, [r5, r7]
- muls r0, r4
- adds r2, r6, 0
- cmp r6, 0
- bge _0800752A
- adds r2, r6, 0x7
-_0800752A:
- asrs r2, 3
- adds r0, r2
- lsls r0, 5
- ldr r1, [r5, 0x18]
- adds r3, r1, r0
- lsls r0, r4, 3
- mov r1, r10
- subs r0, r1, r0
- lsls r0, 2
- adds r3, r0
- lsls r0, r2, 3
- subs r0, r6, r0
- lsls r0, 4
- ldr r1, _08007664
- adds r0, r1
- mov r12, r0
- mov r9, r2
- str r4, [sp, 0x14]
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- cmp r4, r0
- blt _08007558
- b _0800786C
-_08007558:
- movs r4, 0
- str r4, [sp, 0x10]
- ldr r2, _08007668
- ldr r1, _0800766C
- ldr r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- cmp r4, r0
- blt _0800756E
- b _0800786C
-_0800756E:
- adds r4, r2, 0
-_08007570:
- ldr r6, [sp, 0x4]
- ldrh r0, [r6, 0x2]
- lsls r2, r0, 16
- ldrh r0, [r6]
- orrs r2, r0
- cmp r2, 0
- beq _080075CC
- movs r7, 0x4
- ldrsh r0, [r5, r7]
- cmp r9, r0
- bge _080075A6
- mov r0, r12
- ldr r1, [r0]
- ands r1, r2
- ldr r0, [r0, 0x8]
- lsls r1, r0
- ldr r0, [r3]
- orrs r0, r1
- str r0, [r3]
- ldr r0, [r5, 0x3C]
- cmp r0, r3
- bls _0800759E
- str r3, [r5, 0x3C]
-_0800759E:
- ldr r0, [r5, 0x40]
- cmp r0, r3
- bcs _080075A6
- str r3, [r5, 0x40]
-_080075A6:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- subs r0, 0x1
- cmp r9, r0
- bge _080075CC
- adds r3, 0x20
- mov r6, r12
- ldr r0, [r6, 0x4]
- ands r2, r0
- ldr r0, [r6, 0xC]
- lsrs r2, r0
- ldr r0, [r3]
- orrs r0, r2
- str r0, [r3]
- ldr r0, [r5, 0x40]
- cmp r0, r3
- bcs _080075CA
- str r3, [r5, 0x40]
-_080075CA:
- subs r3, 0x20
-_080075CC:
- ldr r7, [sp, 0x4]
- ldrh r2, [r7, 0x4]
- cmp r2, 0
- beq _08007620
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- subs r0, 0x1
- cmp r9, r0
- bge _080075FA
- adds r3, 0x20
- mov r6, r12
- ldr r1, [r6]
- ands r1, r2
- ldr r0, [r6, 0x8]
- lsls r1, r0
- ldr r0, [r3]
- orrs r0, r1
- str r0, [r3]
- ldr r0, [r5, 0x40]
- cmp r0, r3
- bcs _080075F8
- str r3, [r5, 0x40]
-_080075F8:
- subs r3, 0x20
-_080075FA:
- movs r7, 0x4
- ldrsh r0, [r5, r7]
- subs r0, 0x2
- cmp r9, r0
- bge _08007620
- adds r3, 0x40
- mov r1, r12
- ldr r0, [r1, 0x4]
- ands r2, r0
- ldr r0, [r1, 0xC]
- lsrs r2, r0
- ldr r0, [r3]
- orrs r0, r2
- str r0, [r3]
- ldr r0, [r5, 0x40]
- cmp r0, r3
- bcs _0800761E
- str r3, [r5, 0x40]
-_0800761E:
- subs r3, 0x40
-_08007620:
- ldr r2, [sp, 0x4]
- adds r2, 0x6
- str r2, [sp, 0x4]
- adds r3, 0x4
- movs r6, 0x1
- add r10, r6
- movs r0, 0x7
- mov r7, r10
- ands r0, r7
- cmp r0, 0
- bne _0800764E
- ldr r0, [r5, 0x20]
- lsls r0, 2
- adds r3, r0
- ldr r0, [sp, 0x14]
- adds r0, 0x1
- str r0, [sp, 0x14]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- ldr r2, [sp, 0x14]
- cmp r2, r0
- blt _0800764E
- b _0800786C
-_0800764E:
- ldr r6, [sp, 0x10]
- adds r6, 0x1
- str r6, [sp, 0x10]
- ldr r7, _0800766C
- ldr r0, [r7]
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- cmp r6, r0
- blt _08007570
- b _0800786C
- .align 2, 0
-_08007664: .4byte gUnknown_80B85DC
-_08007668: .4byte gUnknown_202B028
-_0800766C: .4byte gUnknown_20274AC
-_08007670:
- movs r0, 0
- str r0, [sp, 0x20]
- mov r0, r10
- cmp r0, 0
- bge _0800767C
- adds r0, 0x7
-_0800767C:
- asrs r4, r0, 3
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- adds r1, r4, 0
- muls r1, r0
- adds r0, r6, 0
- cmp r6, 0
- bge _0800768E
- adds r0, r6, 0x7
-_0800768E:
- asrs r2, r0, 3
- adds r0, r1, r2
- lsls r0, 5
- ldr r1, [r5, 0x18]
- adds r3, r1, r0
- lsls r0, r4, 3
- mov r7, r10
- subs r0, r7, r0
- lsls r0, 2
- adds r3, r0
- lsls r0, r2, 3
- subs r0, r6, r0
- lsls r0, 4
- ldr r1, _0800788C
- adds r0, r1
- mov r12, r0
- mov r9, r2
- str r4, [sp, 0x14]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r4, r0
- blt _080076BC
- b _0800786C
-_080076BC:
- movs r2, 0
- str r2, [sp, 0x10]
- ldr r2, _08007890
- ldr r1, _08007894
- ldr r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldr r4, [sp, 0x10]
- cmp r4, r0
- blt _080076D4
- b _0800786C
-_080076D4:
- ldr r6, [sp, 0x4]
- ldrh r0, [r6, 0x2]
- lsls r4, r0, 16
- ldrh r0, [r6]
- orrs r4, r0
- ldr r1, _08007898
- ands r1, r4
- ldr r0, [sp, 0x18]
- ands r0, r4
- adds r2, r1, r0
- ldr r7, [sp, 0x1C]
- cmp r7, 0
- beq _08007724
- ldr r1, [sp, 0xC]
- ldrh r0, [r1, 0x2]
- lsls r0, 16
- ldrh r1, [r1]
- orrs r0, r1
- lsls r1, r0, 4
- mvns r6, r4
- mov r8, r6
- bics r1, r4
- ldr r7, _0800789C
- ldr r6, [r7]
- ands r1, r6
- orrs r2, r1
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _08007724
- ldr r1, [sp, 0x8]
- ldrh r0, [r1, 0x2]
- lsls r0, 16
- ldrh r1, [r1]
- orrs r0, r1
- lsls r1, r0, 4
- eors r1, r4
- mov r4, r8
- ands r1, r4
- ands r1, r6
- orrs r2, r1
-_08007724:
- cmp r2, 0
- beq _08007776
- movs r6, 0x4
- ldrsh r0, [r5, r6]
- cmp r9, r0
- bge _08007750
- mov r7, r12
- ldr r1, [r7]
- ands r1, r2
- ldr r0, [r7, 0x8]
- lsls r1, r0
- ldr r0, [r3]
- orrs r0, r1
- str r0, [r3]
- ldr r0, [r5, 0x3C]
- cmp r0, r3
- bls _08007748
- str r3, [r5, 0x3C]
-_08007748:
- ldr r0, [r5, 0x40]
- cmp r0, r3
- bcs _08007750
- str r3, [r5, 0x40]
-_08007750:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- subs r0, 0x1
- cmp r9, r0
- bge _08007776
- adds r3, 0x20
- mov r4, r12
- ldr r0, [r4, 0x4]
- ands r2, r0
- ldr r0, [r4, 0xC]
- lsrs r2, r0
- ldr r0, [r3]
- orrs r0, r2
- str r0, [r3]
- ldr r0, [r5, 0x40]
- cmp r0, r3
- bcs _08007774
- str r3, [r5, 0x40]
-_08007774:
- subs r3, 0x20
-_08007776:
- ldr r6, [sp, 0x4]
- ldrh r4, [r6, 0x4]
- ldr r1, _08007898
- ands r1, r4
- ldr r0, [sp, 0x18]
- ands r0, r4
- adds r2, r1, r0
- ldr r7, [sp, 0x1C]
- cmp r7, 0
- beq _080077CC
- ldr r1, [sp, 0xC]
- ldrh r0, [r1, 0x4]
- lsls r1, r0, 4
- ldr r6, [sp, 0xC]
- ldrh r0, [r6, 0x2]
- movs r7, 0xF
- mov r8, r7
- lsrs r0, 12
- orrs r1, r0
- mvns r0, r4
- str r0, [sp, 0x24]
- bics r1, r4
- ldr r7, _0800789C
- ldr r6, [r7]
- ands r1, r6
- orrs r2, r1
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _080077CC
- ldr r1, [sp, 0x8]
- ldrh r0, [r1, 0x4]
- lsls r1, r0, 4
- ldr r7, [sp, 0x8]
- ldrh r0, [r7, 0x2]
- lsrs r0, 12
- mov r7, r8
- ands r0, r7
- orrs r1, r0
- eors r1, r4
- ldr r0, [sp, 0x24]
- ands r1, r0
- ands r1, r6
- orrs r2, r1
-_080077CC:
- cmp r2, 0
- beq _0800781C
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- subs r0, 0x1
- cmp r9, r0
- bge _080077F6
- adds r3, 0x20
- mov r4, r12
- ldr r1, [r4]
- ands r1, r2
- ldr r0, [r4, 0x8]
- lsls r1, r0
- ldr r0, [r3]
- orrs r0, r1
- str r0, [r3]
- ldr r0, [r5, 0x40]
- cmp r0, r3
- bcs _080077F4
- str r3, [r5, 0x40]
-_080077F4:
- subs r3, 0x20
-_080077F6:
- movs r6, 0x4
- ldrsh r0, [r5, r6]
- subs r0, 0x2
- cmp r9, r0
- bge _0800781C
- adds r3, 0x40
- mov r7, r12
- ldr r0, [r7, 0x4]
- ands r2, r0
- ldr r0, [r7, 0xC]
- lsrs r2, r0
- ldr r0, [r3]
- orrs r0, r2
- str r0, [r3]
- ldr r0, [r5, 0x40]
- cmp r0, r3
- bcs _0800781A
- str r3, [r5, 0x40]
-_0800781A:
- subs r3, 0x40
-_0800781C:
- movs r0, 0x1
- str r0, [sp, 0x20]
- ldr r1, [sp, 0x4]
- adds r1, 0x6
- str r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- adds r2, 0x6
- str r2, [sp, 0x8]
- ldr r4, [sp, 0xC]
- adds r4, 0x6
- str r4, [sp, 0xC]
- adds r3, 0x4
- add r10, r0
- movs r0, 0x7
- mov r6, r10
- ands r0, r6
- cmp r0, 0
- bne _08007854
- ldr r0, [r5, 0x20]
- lsls r0, 2
- adds r3, r0
- ldr r7, [sp, 0x14]
- adds r7, 0x1
- str r7, [sp, 0x14]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r7, r0
- bge _0800786C
-_08007854:
- ldr r2, [sp, 0x10]
- adds r2, 0x1
- str r2, [sp, 0x10]
- ldr r4, _08007894
- ldr r0, [r4]
- lsls r0, 2
- ldr r6, _08007890
- adds r0, r6
- ldr r0, [r0]
- cmp r2, r0
- bge _0800786C
- b _080076D4
-_0800786C:
- ldr r7, [sp]
- movs r1, 0x6
- ldrsh r0, [r7, r1]
- ldr r2, _080078A0
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0800788C: .4byte gUnknown_80B85DC
-_08007890: .4byte gUnknown_202B028
-_08007894: .4byte gUnknown_20274AC
-_08007898: .4byte 0x11111111
-_0800789C: .4byte gUnknown_202B030
-_080078A0: .4byte gUnknown_2027498
- thumb_func_end xxx_draw_char
-
- thumb_func_start sub_80078A4
-sub_80078A4:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- adds r4, r2, 0
- mov r8, r3
- ldr r0, [sp, 0x18]
- str r0, [sp]
- adds r0, r5, 0
- bl sub_800792C
- adds r4, 0x1
- ldr r0, _080078E4
- ldr r0, [r0]
- movs r1, 0xF
- ands r0, r1
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- mov r3, r8
- bl sub_800792C
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080078E4: .4byte gUnknown_202B030
- thumb_func_end sub_80078A4
-
- thumb_func_start sub_80078E8
-sub_80078E8:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- adds r4, r2, 0
- mov r8, r3
- ldr r0, [sp, 0x18]
- str r0, [sp]
- adds r0, r5, 0
- bl nullsub_129
- adds r4, 0x1
- ldr r0, _08007928
- ldr r0, [r0]
- movs r1, 0xF
- ands r0, r1
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- mov r3, r8
- bl nullsub_129
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08007928: .4byte gUnknown_202B030
- thumb_func_end sub_80078E8
-
- thumb_func_start sub_800792C
-sub_800792C:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, _08007950
- str r3, [sp]
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8007958
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08007950: .4byte gUnknown_2027370
- thumb_func_end sub_800792C
-
- thumb_func_start nullsub_129
-nullsub_129:
- bx lr
- thumb_func_end nullsub_129
-
- thumb_func_start sub_8007958
-sub_8007958:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x24
- mov r8, r2
- adds r7, r3, 0
- ldr r2, [sp, 0x40]
- mov r12, r2
- ldr r3, [sp, 0x44]
- lsls r2, r1, 3
- adds r2, r1
- lsls r2, 3
- adds r5, r0, r2
- ldr r1, _08007A68
- movs r0, 0xF
- ands r3, r0
- lsls r3, 2
- adds r3, r1
- ldr r3, [r3]
- mov r9, r3
- adds r0, r7, 0
- cmp r7, 0
- bge _0800798A
- adds r0, r7, 0x7
-_0800798A:
- asrs r4, r0, 3
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- muls r0, r4
- mov r2, r8
- cmp r2, 0
- bge _0800799A
- adds r2, 0x7
-_0800799A:
- asrs r2, 3
- adds r0, r2
- lsls r0, 5
- ldr r1, [r5, 0x18]
- adds r3, r1, r0
- lsls r0, r4, 3
- subs r0, r7, r0
- lsls r0, 2
- adds r3, r0
- adds r6, r2, 0
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- cmp r4, r0
- bge _08007A58
- mov r1, sp
- ldr r0, _08007A6C
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- mov r4, r12
- cmp r4, 0
- ble _08007A58
- ldr r7, _08007A70
-_080079CE:
- mov r1, r12
- cmp r1, 0x7
- ble _080079D6
- movs r1, 0x8
-_080079D6:
- mov r0, r8
- cmp r0, 0
- bge _080079DE
- adds r0, 0x7
-_080079DE:
- asrs r0, 3
- lsls r0, 3
- mov r2, r8
- subs r0, r2, r0
- lsls r0, 4
- adds r4, r0, r7
- lsls r0, r1, 2
- add r0, sp
- ldr r2, [r0]
- ldr r1, _08007A74
- ands r1, r2
- mov r0, r9
- ands r0, r2
- adds r2, r1, r0
- cmp r2, 0
- beq _08007A48
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r6, r0
- bge _08007A24
- ldr r1, [r4]
- ands r1, r2
- ldr r0, [r4, 0x8]
- lsls r1, r0
- ldr r0, [r3]
- orrs r0, r1
- str r0, [r3]
- ldr r0, [r5, 0x3C]
- cmp r0, r3
- bls _08007A1C
- str r3, [r5, 0x3C]
-_08007A1C:
- ldr r0, [r5, 0x40]
- cmp r0, r3
- bcs _08007A24
- str r3, [r5, 0x40]
-_08007A24:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- subs r0, 0x1
- cmp r6, r0
- bge _08007A48
- adds r3, 0x20
- ldr r0, [r4, 0x4]
- ands r2, r0
- ldr r0, [r4, 0xC]
- lsrs r2, r0
- ldr r0, [r3]
- orrs r0, r2
- str r0, [r3]
- ldr r0, [r5, 0x40]
- cmp r0, r3
- bcs _08007A46
- str r3, [r5, 0x40]
-_08007A46:
- subs r3, 0x20
-_08007A48:
- adds r6, 0x1
- adds r3, 0x20
- movs r2, 0x8
- negs r2, r2
- add r12, r2
- mov r4, r12
- cmp r4, 0
- bgt _080079CE
-_08007A58:
- add sp, 0x24
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08007A68: .4byte gUnknown_80B853C
-_08007A6C: .4byte gUnknown_80B8824
-_08007A70: .4byte gUnknown_80B85DC
-_08007A74: .4byte 0x11111111
- thumb_func_end sub_8007958
-
- thumb_func_start sub_8007A78
-sub_8007A78:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, _08007A9C
- str r3, [sp]
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8007AA4
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08007A9C: .4byte gUnknown_2027370
- thumb_func_end sub_8007A78
-
- thumb_func_start nullsub_157
-nullsub_157:
- bx lr
- thumb_func_end nullsub_157
-
- thumb_func_start sub_8007AA4
-sub_8007AA4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x20
- mov r9, r2
- adds r5, r3, 0
- ldr r7, [sp, 0x3C]
- ldr r3, [sp, 0x40]
- lsls r2, r1, 3
- adds r2, r1
- lsls r2, 3
- adds r4, r0, r2
- ldr r1, _08007B28
- movs r0, 0xF
- ands r3, r0
- lsls r3, 2
- adds r3, r1
- ldr r0, [r3]
- ldr r1, _08007B2C
- adds r1, r0
- mov r12, r1
- mov r1, sp
- ldr r0, _08007B30
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- adds r0, r5, 0
- cmp r5, 0
- bge _08007AE8
- adds r0, r5, 0x7
-_08007AE8:
- asrs r3, r0, 3
- movs r0, 0x4
- ldrsh r6, [r4, r0]
- mov r8, r6
- mov r0, r8
- muls r0, r3
- mov r2, r9
- cmp r2, 0
- bge _08007AFC
- adds r2, 0x7
-_08007AFC:
- asrs r2, 3
- adds r0, r2
- lsls r0, 5
- ldr r1, [r4, 0x18]
- adds r1, r0
- lsls r0, r3, 3
- subs r0, r5, r0
- lsls r0, 2
- adds r1, r0
- movs r0, 0x7
- mov r6, r9
- ands r0, r6
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- mov r6, r12
- ands r6, r0
- mov r12, r6
- cmp r2, r8
- bge _08007B6E
- b _08007B48
- .align 2, 0
-_08007B28: .4byte gUnknown_80B853C
-_08007B2C: .4byte 0x11111111
-_08007B30: .4byte gUnknown_80B8848
-_08007B34:
- adds r5, 0x1
- adds r1, 0x4
- movs r0, 0x7
- ands r0, r5
- cmp r0, 0
- bne _08007B46
- ldr r0, [r4, 0x20]
- lsls r0, 2
- adds r1, r0
-_08007B46:
- subs r7, 0x1
-_08007B48:
- cmp r7, 0
- ble _08007B6E
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r3, r0
- bge _08007B6E
- ldr r0, [r1]
- mov r6, r12
- orrs r0, r6
- str r0, [r1]
- ldr r0, [r4, 0x3C]
- cmp r0, r1
- bls _08007B64
- str r1, [r4, 0x3C]
-_08007B64:
- ldr r0, [r4, 0x40]
- cmp r0, r1
- bcs _08007B34
- str r1, [r4, 0x40]
- b _08007B34
-_08007B6E:
- add sp, 0x20
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8007AA4
-
- thumb_func_start sub_8007B7C
-sub_8007B7C:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, _08007BA0
- str r3, [sp]
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8007BA8
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08007BA0: .4byte gUnknown_2027370
- thumb_func_end sub_8007B7C
-
- thumb_func_start nullsub_158
-nullsub_158:
- bx lr
- thumb_func_end nullsub_158
-
- thumb_func_start sub_8007BA8
-sub_8007BA8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- str r2, [sp]
- lsls r2, r1, 3
- adds r2, r1
- lsls r2, 3
- adds r0, r2
- mov r12, r0
- adds r0, r3, 0
- cmp r3, 0
- bge _08007BC8
- adds r0, r3, 0x7
-_08007BC8:
- asrs r0, 3
- str r0, [sp, 0x8]
- mov r1, r12
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- ldr r4, [sp, 0x8]
- cmp r4, r0
- bge _08007CC4
- movs r7, 0x4
- ldrsh r0, [r1, r7]
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [sp]
- cmp r0, 0
- bge _08007BE8
- adds r0, 0x7
-_08007BE8:
- asrs r0, 3
- adds r0, r1, r0
- lsls r0, 5
- mov r2, r12
- ldr r1, [r2, 0x18]
- adds r4, r1, r0
- ldr r7, [sp, 0x8]
- lsls r0, r7, 3
- subs r0, r3, r0
- lsls r0, 2
- adds r4, r0
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r1, [sp, 0x44]
- cmp r0, r1
- bge _08007CC4
-_08007C08:
- adds r2, r4, 0
- ldr r0, [sp]
- cmp r0, 0
- bge _08007C12
- adds r0, 0x7
-_08007C12:
- asrs r1, r0, 3
- movs r7, 0
- mov r8, r7
- adds r3, 0x1
- str r3, [sp, 0xC]
- adds r4, 0x4
- str r4, [sp, 0x14]
- ldr r0, [sp, 0x40]
- cmp r8, r0
- bge _08007C94
-_08007C26:
- mov r3, r12
- movs r4, 0x4
- ldrsh r0, [r3, r4]
- cmp r1, r0
- bge _08007C94
- movs r6, 0xF0
- lsls r6, 24
- movs r5, 0xE0
- lsls r5, 24
- movs r7, 0
- str r7, [sp, 0x1C]
- ldr r4, [r2]
- adds r3, r4, 0
- mov r0, r12
- ldr r0, [r0, 0x3C]
- mov r9, r0
- mov r7, r12
- ldr r7, [r7, 0x40]
- mov r10, r7
- adds r1, 0x1
- str r1, [sp, 0x10]
- adds r0, r2, 0
- adds r0, 0x20
- str r0, [sp, 0x18]
- movs r1, 0x8
- add r8, r1
- movs r1, 0x7
-_08007C5C:
- adds r0, r4, 0
- ands r0, r6
- cmp r0, 0
- bne _08007C6A
- ldr r7, [sp, 0x1C]
- orrs r7, r5
- str r7, [sp, 0x1C]
-_08007C6A:
- lsrs r6, 4
- lsrs r5, 4
- subs r1, 0x1
- cmp r1, 0
- bge _08007C5C
- ldr r0, [sp, 0x1C]
- orrs r3, r0
- str r3, [r2]
- cmp r9, r2
- bls _08007C82
- mov r1, r12
- str r2, [r1, 0x3C]
-_08007C82:
- cmp r10, r2
- bcs _08007C8A
- mov r3, r12
- str r2, [r3, 0x40]
-_08007C8A:
- ldr r1, [sp, 0x10]
- ldr r2, [sp, 0x18]
- ldr r4, [sp, 0x40]
- cmp r8, r4
- blt _08007C26
-_08007C94:
- ldr r3, [sp, 0xC]
- ldr r4, [sp, 0x14]
- movs r0, 0x7
- ands r0, r3
- cmp r0, 0
- bne _08007CB8
- mov r7, r12
- ldr r0, [r7, 0x20]
- lsls r0, 2
- adds r4, r0
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- str r0, [sp, 0x8]
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- ldr r2, [sp, 0x8]
- cmp r2, r0
- bge _08007CC4
-_08007CB8:
- ldr r7, [sp, 0x4]
- adds r7, 0x1
- str r7, [sp, 0x4]
- ldr r0, [sp, 0x44]
- cmp r7, r0
- blt _08007C08
-_08007CC4:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8007BA8
-
- thumb_func_start sub_8007CD4
-sub_8007CD4:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, _08007CF8
- str r3, [sp]
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8007D00
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08007CF8: .4byte gUnknown_2027370
- thumb_func_end sub_8007CD4
-
- thumb_func_start nullsub_159
-nullsub_159:
- bx lr
- thumb_func_end nullsub_159
-
- thumb_func_start sub_8007D00
-sub_8007D00:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- str r2, [sp]
- lsls r2, r1, 3
- adds r2, r1
- lsls r2, 3
- adds r0, r2
- mov r12, r0
- adds r0, r3, 0
- cmp r3, 0
- bge _08007D20
- adds r0, r3, 0x7
-_08007D20:
- asrs r0, 3
- str r0, [sp, 0x8]
- mov r1, r12
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- ldr r4, [sp, 0x8]
- cmp r4, r0
- bge _08007E0E
- movs r5, 0x4
- ldrsh r0, [r1, r5]
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [sp]
- cmp r0, 0
- bge _08007D40
- adds r0, 0x7
-_08007D40:
- asrs r0, 3
- adds r0, r1, r0
- lsls r0, 5
- mov r2, r12
- ldr r1, [r2, 0x18]
- adds r4, r1, r0
- ldr r5, [sp, 0x8]
- lsls r0, r5, 3
- subs r0, r3, r0
- lsls r0, 2
- adds r4, r0
- movs r0, 0
- b _08007E06
-_08007D5A:
- adds r2, r4, 0
- ldr r0, [sp]
- cmp r0, 0
- bge _08007D64
- adds r0, 0x7
-_08007D64:
- asrs r1, r0, 3
- movs r5, 0
- mov r8, r5
- adds r3, 0x1
- str r3, [sp, 0xC]
- adds r4, 0x4
- str r4, [sp, 0x14]
- ldr r0, [sp, 0x40]
- cmp r8, r0
- bge _08007DE0
-_08007D78:
- mov r3, r12
- movs r4, 0x4
- ldrsh r0, [r3, r4]
- cmp r1, r0
- bge _08007DE0
- movs r4, 0xF0
- lsls r4, 24
- movs r6, 0xE0
- lsls r6, 24
- movs r7, 0
- ldr r5, [r2]
- str r5, [sp, 0x1C]
- adds r3, r5, 0
- mov r0, r12
- ldr r0, [r0, 0x3C]
- mov r9, r0
- mov r5, r12
- ldr r5, [r5, 0x40]
- mov r10, r5
- adds r1, 0x1
- str r1, [sp, 0x10]
- adds r0, r2, 0
- adds r0, 0x20
- str r0, [sp, 0x18]
- movs r1, 0x8
- add r8, r1
- movs r1, 0x7
-_08007DAE:
- ldr r0, [sp, 0x1C]
- ands r0, r4
- cmp r0, r6
- bne _08007DB8
- orrs r7, r4
-_08007DB8:
- lsrs r4, 4
- lsrs r6, 4
- subs r1, 0x1
- cmp r1, 0
- bge _08007DAE
- bics r3, r7
- str r3, [r2]
- cmp r9, r2
- bls _08007DCE
- mov r3, r12
- str r2, [r3, 0x3C]
-_08007DCE:
- cmp r10, r2
- bcs _08007DD6
- mov r4, r12
- str r2, [r4, 0x40]
-_08007DD6:
- ldr r1, [sp, 0x10]
- ldr r2, [sp, 0x18]
- ldr r5, [sp, 0x40]
- cmp r8, r5
- blt _08007D78
-_08007DE0:
- ldr r3, [sp, 0xC]
- ldr r4, [sp, 0x14]
- movs r0, 0x7
- ands r0, r3
- cmp r0, 0
- bne _08007E02
- mov r1, r12
- ldr r0, [r1, 0x20]
- lsls r0, 2
- adds r4, r0
- ldr r2, [sp, 0x8]
- adds r2, 0x1
- str r2, [sp, 0x8]
- movs r5, 0x8
- ldrsh r0, [r1, r5]
- cmp r2, r0
- bge _08007E0E
-_08007E02:
- ldr r0, [sp, 0x4]
- adds r0, 0x1
-_08007E06:
- str r0, [sp, 0x4]
- ldr r1, [sp, 0x44]
- cmp r0, r1
- blt _08007D5A
-_08007E0E:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8007D00
-
- thumb_func_start sub_8007E20
-sub_8007E20:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x14
- mov r8, r0
- mov r9, r1
- ldr r4, [sp, 0x2C]
- ldr r5, [sp, 0x30]
- ldr r6, [sp, 0x34]
- ldr r0, _08007E58
- ldr r1, _08007E5C
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- str r6, [sp, 0x10]
- mov r2, r8
- mov r3, r9
- bl sub_8007E64
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08007E58: .4byte gUnknown_2027370
-_08007E5C: .4byte gUnknown_202B038
- thumb_func_end sub_8007E20
-
- thumb_func_start nullsub_160
-nullsub_160:
- bx lr
- thumb_func_end nullsub_160
-
- thumb_func_start sub_8007E64
-sub_8007E64:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r1, [sp]
- str r3, [sp, 0x4]
- ldr r7, [sp, 0x30]
- ldr r1, [sp, 0x34]
- mov r9, r1
- ldr r1, [sp, 0x38]
- mov r10, r1
- ldr r5, [sp, 0x3C]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 3
- adds r4, r0, r1
- adds r0, r3, 0
- cmp r0, 0
- bge _08007E90
- adds r0, 0x7
-_08007E90:
- asrs r0, 3
- str r0, [sp, 0x4]
- adds r0, r7, 0
- cmp r7, 0
- bge _08007E9C
- adds r0, r7, 0x7
-_08007E9C:
- asrs r7, r0, 3
- mov r0, r9
- cmp r0, 0
- bge _08007EA6
- adds r0, 0x7
-_08007EA6:
- asrs r0, 3
- mov r9, r0
- mov r0, r10
- cmp r0, 0
- bge _08007EB2
- adds r0, 0x7
-_08007EB2:
- asrs r0, 3
- mov r10, r0
- ldr r2, [sp, 0x40]
- lsls r2, 12
- str r2, [sp, 0x40]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r7, r0
- bge _08007F98
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- muls r0, r7
- ldr r1, [sp, 0x4]
- adds r0, r1
- lsls r0, 5
- ldr r1, [r4, 0x18]
- adds r1, r0
- mov r8, r1
- movs r2, 0
- b _08007F92
-_08007EDA:
- ldr r6, [sp, 0x4]
- mov r3, r8
- adds r0, r7, 0x1
- str r0, [sp, 0xC]
- mov r1, r9
- cmp r1, 0
- ble _08007F7A
- mov r12, r9
-_08007EEA:
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r6, r0
- bge _08007F68
- ldr r0, [r4, 0x3C]
- cmp r0, r3
- bls _08007EFA
- str r3, [r4, 0x3C]
-_08007EFA:
- ldm r5!, {r0}
- stm r3!, {r0}
- ldm r5!, {r0}
- stm r3!, {r0}
- ldm r5!, {r0}
- stm r3!, {r0}
- ldm r5!, {r0}
- stm r3!, {r0}
- ldm r5!, {r0}
- stm r3!, {r0}
- ldm r5!, {r0}
- stm r3!, {r0}
- ldm r5!, {r0}
- stm r3!, {r0}
- ldr r0, [r5]
- stm r3!, {r0}
- ldr r0, [r4, 0x40]
- cmp r0, r3
- bcs _08007F22
- str r3, [r4, 0x40]
-_08007F22:
- adds r5, 0x4
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- adds r0, r7
- movs r2, 0
- ldrsh r1, [r4, r2]
- adds r1, r6
- lsls r1, 1
- lsls r0, 6
- ldr r2, [sp]
- adds r0, r2
- adds r1, r0
- ldrh r2, [r1]
- ldr r0, _08007F64
- ands r0, r2
- strh r0, [r1]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- adds r0, r7
- movs r2, 0
- ldrsh r1, [r4, r2]
- adds r1, r6
- lsls r1, 1
- lsls r0, 6
- ldr r2, [sp]
- adds r0, r2
- adds r1, r0
- ldrh r2, [r1]
- ldr r0, [sp, 0x40]
- orrs r0, r2
- strh r0, [r1]
- b _08007F6C
- .align 2, 0
-_08007F64: .4byte 0x00000fff
-_08007F68:
- adds r3, 0x20
- adds r5, 0x20
-_08007F6C:
- adds r6, 0x1
- movs r0, 0x1
- negs r0, r0
- add r12, r0
- mov r1, r12
- cmp r1, 0
- bne _08007EEA
-_08007F7A:
- ldr r7, [sp, 0xC]
- ldr r0, [r4, 0x20]
- lsls r0, 2
- add r8, r0
- movs r2, 0x20
- add r8, r2
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r7, r0
- bge _08007F98
- ldr r2, [sp, 0x8]
- adds r2, 0x1
-_08007F92:
- str r2, [sp, 0x8]
- cmp r2, r10
- blt _08007EDA
-_08007F98:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8007E64
-
- thumb_func_start sub_8007FA8
-sub_8007FA8:
- adds r3, r0, 0
- lsrs r0, r3, 28
- lsrs r1, r3, 20
- movs r2, 0xF0
- ands r1, r2
- orrs r0, r1
- lsrs r1, r3, 12
- movs r2, 0xF0
- lsls r2, 4
- ands r1, r2
- orrs r0, r1
- lsrs r1, r3, 4
- movs r2, 0xF0
- lsls r2, 8
- ands r1, r2
- orrs r0, r1
- lsls r1, r3, 4
- movs r2, 0xF0
- lsls r2, 12
- ands r1, r2
- orrs r0, r1
- lsls r1, r3, 12
- movs r2, 0xF0
- lsls r2, 16
- ands r1, r2
- orrs r0, r1
- lsls r1, r3, 20
- movs r2, 0xF0
- lsls r2, 20
- ands r1, r2
- orrs r0, r1
- lsls r3, 28
- orrs r0, r3
- bx lr
- thumb_func_end sub_8007FA8
-
- thumb_func_start sub_8007FEC
-sub_8007FEC:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x14
- mov r8, r0
- mov r9, r1
- ldr r4, [sp, 0x2C]
- ldr r5, [sp, 0x30]
- ldr r6, [sp, 0x34]
- ldr r0, _08008024
- ldr r1, _08008028
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- str r6, [sp, 0x10]
- mov r2, r8
- mov r3, r9
- bl sub_8008030
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08008024: .4byte gUnknown_2027370
-_08008028: .4byte gUnknown_202B038
- thumb_func_end sub_8007FEC
-
- thumb_func_start nullsub_161
-nullsub_161:
- bx lr
- thumb_func_end nullsub_161
-
- thumb_func_start sub_8008030
-sub_8008030:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r1, [sp]
- ldr r1, [sp, 0x30]
- mov r8, r1
- ldr r6, [sp, 0x3C]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 3
- adds r5, r0, r1
- adds r0, r3, 0
- cmp r3, 0
- bge _08008054
- adds r0, r3, 0x7
-_08008054:
- asrs r3, r0, 3
- mov r0, r8
- cmp r0, 0
- bge _0800805E
- adds r0, 0x7
-_0800805E:
- asrs r0, 3
- mov r8, r0
- ldr r0, [sp, 0x34]
- cmp r0, 0
- bge _0800806A
- adds r0, 0x7
-_0800806A:
- asrs r0, 3
- str r0, [sp, 0x34]
- ldr r0, [sp, 0x38]
- cmp r0, 0
- bge _08008076
- adds r0, 0x7
-_08008076:
- asrs r0, 3
- str r0, [sp, 0x38]
- ldr r2, [sp, 0x40]
- lsls r2, 12
- str r2, [sp, 0x40]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r8, r0
- blt _0800808A
- b _08008194
-_0800808A:
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r1, [sp, 0x34]
- adds r2, r3, r1
- adds r0, r2
- lsls r0, 5
- ldr r1, [r5, 0x18]
- adds r1, r0
- mov r10, r1
- movs r3, 0
- str r3, [sp, 0x4]
- str r2, [sp, 0xC]
- ldr r0, [sp, 0x38]
- cmp r3, r0
- bge _08008194
-_080080AE:
- ldr r7, [sp, 0xC]
- mov r4, r10
- mov r1, r8
- adds r1, 0x1
- str r1, [sp, 0x8]
- ldr r2, [sp, 0x34]
- cmp r2, 0
- ble _08008172
- mov r9, r2
-_080080C0:
- subs r7, 0x1
- subs r4, 0x20
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- cmp r7, r0
- bge _08008164
- ldr r0, [r5, 0x3C]
- cmp r0, r4
- bls _080080D4
- str r4, [r5, 0x3C]
-_080080D4:
- ldm r6!, {r0}
- bl sub_8007FA8
- str r0, [r4]
- ldm r6!, {r0}
- bl sub_8007FA8
- str r0, [r4, 0x4]
- ldm r6!, {r0}
- bl sub_8007FA8
- str r0, [r4, 0x8]
- ldm r6!, {r0}
- bl sub_8007FA8
- str r0, [r4, 0xC]
- ldm r6!, {r0}
- bl sub_8007FA8
- str r0, [r4, 0x10]
- ldm r6!, {r0}
- bl sub_8007FA8
- str r0, [r4, 0x14]
- ldm r6!, {r0}
- bl sub_8007FA8
- str r0, [r4, 0x18]
- ldm r6!, {r0}
- bl sub_8007FA8
- str r0, [r4, 0x1C]
- adds r1, r4, 0
- adds r1, 0x20
- ldr r0, [r5, 0x40]
- cmp r0, r1
- bcs _08008120
- str r1, [r5, 0x40]
-_08008120:
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- add r0, r8
- movs r2, 0
- ldrsh r1, [r5, r2]
- adds r1, r7
- lsls r1, 1
- lsls r0, 6
- ldr r3, [sp]
- adds r0, r3
- adds r1, r0
- ldrh r0, [r1]
- ldr r3, _08008160
- adds r2, r3, 0
- ands r0, r2
- strh r0, [r1]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- add r0, r8
- movs r2, 0
- ldrsh r1, [r5, r2]
- adds r1, r7
- lsls r1, 1
- lsls r0, 6
- ldr r3, [sp]
- adds r0, r3
- adds r1, r0
- ldrh r2, [r1]
- ldr r0, [sp, 0x40]
- orrs r0, r2
- strh r0, [r1]
- b _08008166
- .align 2, 0
-_08008160: .4byte 0x00000fff
-_08008164:
- adds r6, 0x20
-_08008166:
- movs r0, 0x1
- negs r0, r0
- add r9, r0
- mov r1, r9
- cmp r1, 0
- bne _080080C0
-_08008172:
- ldr r2, [sp, 0x8]
- mov r8, r2
- ldr r0, [r5, 0x20]
- lsls r0, 2
- add r10, r0
- movs r3, 0x20
- add r10, r3
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r8, r0
- bge _08008194
- ldr r2, [sp, 0x4]
- adds r2, 0x1
- str r2, [sp, 0x4]
- ldr r3, [sp, 0x38]
- cmp r2, r3
- blt _080080AE
-_08008194:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8008030
-
- thumb_func_start sub_80081A4
-sub_80081A4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r1, [sp]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- ldr r0, _08008234
- adds r6, r1, r0
- lsls r3, 7
- ldr r0, _08008238
- adds r3, r0
- ldr r0, [sp]
- cmp r0, 0
- bge _080081CA
- adds r0, 0x7
-_080081CA:
- asrs r0, 3
- str r0, [sp]
- adds r0, r2, 0
- cmp r2, 0
- bge _080081D6
- adds r0, r2, 0x7
-_080081D6:
- asrs r2, r0, 3
- movs r0, 0x2
- mov r9, r0
- mov r10, r0
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- cmp r2, r0
- bge _08008262
- movs r7, 0x4
- ldrsh r0, [r6, r7]
- muls r0, r2
- ldr r1, [sp]
- adds r0, r1
- lsls r0, 5
- ldr r1, [r6, 0x28]
- adds r5, r1, r0
- movs r7, 0
- mov r8, r7
-_080081FA:
- ldr r4, [sp]
- adds r1, r5, 0
- adds r2, 0x1
- mov r12, r2
- mov r0, r9
- cmp r0, 0
- beq _08008248
- mov r2, r9
-_0800820A:
- movs r7, 0x4
- ldrsh r0, [r6, r7]
- cmp r4, r0
- bge _0800823C
- ldm r3!, {r0}
- stm r1!, {r0}
- ldm r3!, {r0}
- stm r1!, {r0}
- ldm r3!, {r0}
- stm r1!, {r0}
- ldm r3!, {r0}
- stm r1!, {r0}
- ldm r3!, {r0}
- stm r1!, {r0}
- ldm r3!, {r0}
- stm r1!, {r0}
- ldm r3!, {r0}
- stm r1!, {r0}
- ldm r3!, {r0}
- stm r1!, {r0}
- b _08008240
- .align 2, 0
-_08008234: .4byte gUnknown_2027370
-_08008238: .4byte gUnknown_80B86B4
-_0800823C:
- adds r1, 0x20
- adds r3, 0x20
-_08008240:
- adds r4, 0x1
- subs r2, 0x1
- cmp r2, 0
- bne _0800820A
-_08008248:
- mov r2, r12
- ldr r0, [r6, 0x20]
- lsls r0, 2
- adds r5, r0
- adds r5, 0x20
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- cmp r2, r0
- bge _08008262
- movs r7, 0x1
- add r8, r7
- cmp r8, r10
- blt _080081FA
-_08008262:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80081A4
-
- thumb_func_start sub_8008274
-sub_8008274:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r3, r1, 0
- ldr r0, _08008290
- ldr r1, _08008294
- str r2, [sp]
- adds r2, r4, 0
- bl sub_800829C
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08008290: .4byte gUnknown_2027370
-_08008294: .4byte gUnknown_202B038
- thumb_func_end sub_8008274
-
- thumb_func_start nullsub_162
-nullsub_162:
- bx lr
- thumb_func_end nullsub_162
-
- thumb_func_start sub_800829C
-sub_800829C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r1
- ldr r7, [sp, 0x18]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 3
- adds r4, r0, r1
- lsls r7, 12
- ldr r0, [r4, 0x18]
- movs r1, 0x4
- ldrsh r2, [r4, r1]
- movs r5, 0x8
- ldrsh r1, [r4, r5]
- lsls r1, 5
- muls r1, r2
- adds r2, r3, 0
- bl sub_800AAB4
- movs r2, 0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r2, r0
- bge _08008312
- movs r0, 0x4
- ldrsh r5, [r4, r0]
- mov r12, r5
-_080082D4:
- adds r5, r2, 0x1
- mov r1, r12
- cmp r1, 0
- ble _08008308
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- adds r1, r2
- movs r2, 0
- ldrsh r0, [r4, r2]
- lsls r1, 6
- ldr r6, _08008330
- lsls r0, 1
- adds r0, r1
- mov r1, r8
- adds r2, r0, r1
- movs r0, 0x4
- ldrsh r3, [r4, r0]
-_080082F6:
- ldrh r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- orrs r0, r7
- strh r0, [r2]
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bne _080082F6
-_08008308:
- adds r2, r5, 0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r2, r0
- blt _080082D4
-_08008312:
- ldr r0, [r4, 0x28]
- str r0, [r4, 0x30]
- ldr r0, [r4, 0x1C]
- str r0, [r4, 0x34]
- ldr r0, [r4, 0x2C]
- str r0, [r4, 0x38]
- adds r1, r4, 0
- adds r1, 0x44
- movs r0, 0x1
- strb r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08008330: .4byte 0x00000fff
- thumb_func_end sub_800829C
-
- thumb_func_start sub_8008334
-sub_8008334:
- push {r4-r7,lr}
- adds r7, r0, 0
- mov r12, r1
- ldr r4, [r7]
- ldr r1, [r1]
- movs r3, 0
- movs r2, 0
- movs r6, 0xF
- movs r5, 0x1C
-_08008346:
- lsls r2, 4
- lsls r3, 4
- adds r0, r4, 0
- ands r0, r6
- orrs r2, r0
- adds r0, r1, 0
- ands r0, r6
- orrs r3, r0
- lsrs r4, 4
- lsrs r1, 4
- subs r5, 0x4
- cmp r5, 0
- bge _08008346
- str r3, [r7]
- mov r0, r12
- str r2, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8008334
-
- thumb_func_start sub_800836C
-sub_800836C:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- ldr r0, _08008384
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_800838C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08008384: .4byte gUnknown_2027370
- thumb_func_end sub_800836C
-
- thumb_func_start nullsub_163
-nullsub_163:
- bx lr
- thumb_func_end nullsub_163
-
- thumb_func_start sub_800838C
-sub_800838C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r4, r1, 3
- adds r4, r1
- lsls r4, 3
- adds r7, r0, r4
- adds r0, r1, 0
- adds r1, r2, 0
- adds r2, r3, 0
- bl sub_8008274
- movs r0, 0
- mov r9, r0
- b _08008452
-_080083AE:
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- mov r8, r0
- ldrh r1, [r7, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080083C8
- movs r0, 0x1
- add r8, r0
-_080083C8:
- movs r6, 0
- movs r1, 0x1
- add r1, r9
- mov r10, r1
- cmp r6, r8
- bge _08008450
-_080083D4:
- movs r0, 0x4
- ldrsh r1, [r7, r0]
- mov r0, r9
- muls r0, r1
- adds r4, r0, r6
- lsls r4, 5
- ldr r5, [r7, 0x18]
- adds r4, r5, r4
- subs r0, 0x1
- subs r1, r6
- adds r0, r1
- lsls r0, 5
- adds r5, r0
- adds r0, r4, 0
- adds r4, 0x4
- adds r1, r5, 0
- adds r5, 0x4
- bl sub_8008334
- adds r0, r4, 0
- adds r4, 0x4
- adds r1, r5, 0
- adds r5, 0x4
- bl sub_8008334
- adds r0, r4, 0
- adds r4, 0x4
- adds r1, r5, 0
- adds r5, 0x4
- bl sub_8008334
- adds r0, r4, 0
- adds r4, 0x4
- adds r1, r5, 0
- adds r5, 0x4
- bl sub_8008334
- adds r0, r4, 0
- adds r4, 0x4
- adds r1, r5, 0
- adds r5, 0x4
- bl sub_8008334
- adds r0, r4, 0
- adds r4, 0x4
- adds r1, r5, 0
- adds r5, 0x4
- bl sub_8008334
- adds r0, r4, 0
- adds r4, 0x4
- adds r1, r5, 0
- adds r5, 0x4
- bl sub_8008334
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8008334
- adds r6, 0x1
- cmp r6, r8
- blt _080083D4
-_08008450:
- mov r9, r10
-_08008452:
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- cmp r9, r0
- blt _080083AE
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800838C
-
- thumb_func_start sub_8008468
-sub_8008468:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x10
- adds r6, r0, 0
- mov r8, r1
- ldr r4, [sp, 0x24]
- ldr r5, [sp, 0x28]
- ldr r0, _08008498
- ldr r1, _0800849C
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- adds r2, r6, 0
- mov r3, r8
- bl sub_80084A4
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08008498: .4byte gUnknown_2027370
-_0800849C: .4byte gUnknown_202B038
- thumb_func_end sub_8008468
-
- thumb_func_start nullsub_164
-nullsub_164:
- bx lr
- thumb_func_end nullsub_164
-
- thumb_func_start sub_80084A4
-sub_80084A4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r1, [sp]
- mov r10, r3
- ldr r6, [sp, 0x24]
- ldr r7, [sp, 0x28]
- ldr r1, [sp, 0x2C]
- mov r12, r1
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 3
- adds r4, r0, r1
- mov r0, r10
- cmp r0, 0
- bge _080084CC
- adds r0, 0x7
-_080084CC:
- asrs r0, 3
- mov r10, r0
- adds r0, r6, 0
- cmp r6, 0
- bge _080084D8
- adds r0, r6, 0x7
-_080084D8:
- asrs r6, r0, 3
- adds r0, r7, 0
- cmp r7, 0
- bge _080084E2
- adds r0, r7, 0x7
-_080084E2:
- asrs r7, r0, 3
- mov r0, r12
- cmp r0, 0
- bge _080084EC
- adds r0, 0x7
-_080084EC:
- asrs r0, 3
- mov r12, r0
- ldr r2, [sp, 0x30]
- lsls r2, 12
- str r2, [sp, 0x30]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r6, r0
- bge _08008570
- movs r2, 0
- mov r8, r2
- cmp r8, r12
- bge _08008570
-_08008506:
- mov r3, r10
- adds r0, r6, 0x1
- mov r9, r0
- cmp r7, 0
- ble _0800855E
- adds r5, r7, 0
-_08008512:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bge _08008556
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- adds r0, r6
- movs r2, 0
- ldrsh r1, [r4, r2]
- adds r1, r3
- lsls r1, 1
- lsls r0, 6
- ldr r2, [sp]
- adds r0, r2
- adds r1, r0
- ldrh r2, [r1]
- ldr r0, _08008580
- ands r0, r2
- strh r0, [r1]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- adds r0, r6
- movs r2, 0
- ldrsh r1, [r4, r2]
- adds r1, r3
- lsls r1, 1
- lsls r0, 6
- ldr r2, [sp]
- adds r0, r2
- adds r1, r0
- ldrh r2, [r1]
- ldr r0, [sp, 0x30]
- orrs r0, r2
- strh r0, [r1]
-_08008556:
- adds r3, 0x1
- subs r5, 0x1
- cmp r5, 0
- bne _08008512
-_0800855E:
- mov r6, r9
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r6, r0
- bge _08008570
- movs r2, 0x1
- add r8, r2
- cmp r8, r12
- blt _08008506
-_08008570:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08008580: .4byte 0x00000fff
- thumb_func_end sub_80084A4
-
- thumb_func_start sub_8008584
-sub_8008584:
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r1, _080085C4
- ldr r0, _080085C8
- ldr r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- ldr r5, [r2, 0x4]
- ldr r0, _080085CC
- adds r1, r3, r0
- ldr r0, _080085D0
- cmp r1, r0
- bhi _080085D4
- movs r2, 0xFF
- ands r2, r3
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r3
- asrs r1, 8
- subs r2, 0x20
- subs r1, 0xF8
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 5
- adds r0, r2
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5, r1
- b _08008624
- .align 2, 0
-_080085C4: .4byte gUnknown_2027490
-_080085C8: .4byte gUnknown_20274AC
-_080085CC: .4byte 0xffff0800
-_080085D0: .4byte 0x000007fe
-_080085D4:
- movs r4, 0
- ldr r0, [r2]
- subs r2, r0, 0x1
- cmp r4, r2
- bge _08008614
- lsrs r0, r2, 31
- adds r0, r2, r0
- b _08008602
-_080085E4:
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x4]
- cmp r0, r3
- bge _080085F6
- adds r4, r1, 0x1
- b _080085F8
-_080085F6:
- adds r2, r1, 0
-_080085F8:
- cmp r4, r2
- bge _08008614
- adds r0, r4, r2
- lsrs r1, r0, 31
- adds r0, r1
-_08008602:
- asrs r1, r0, 1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x4]
- cmp r0, r3
- bne _080085E4
- adds r4, r1, 0
-_08008614:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r1, r5, r0
- ldrh r0, [r1, 0x4]
- cmp r0, r3
- beq _08008624
- ldr r1, _0800862C
-_08008624:
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0800862C: .4byte gUnknown_80B86A4
- thumb_func_end sub_8008584
-
- thumb_func_start sub_8008630
-sub_8008630:
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- adds r3, r1, 0
- adds r2, r1, 0
- subs r2, 0x30
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r0, 0x9
- bhi _08008648
- adds r0, r2, 0
- b _0800865C
-_08008648:
- adds r0, r1, 0
- subs r0, 0x61
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _08008658
- movs r0, 0x1
- b _0800865C
-_08008658:
- adds r0, r3, 0
- subs r0, 0x57
-_0800865C:
- pop {r1}
- bx r1
- thumb_func_end sub_8008630
-
- thumb_func_start xxx_get_next_char_from_string
-xxx_get_next_char_from_string:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r1, [r5]
- cmp r1, 0x7E
- bne _08008696
- adds r5, 0x1
- ldrb r0, [r5]
- bl sub_8008630
- adds r4, r0, 0
- ldrb r0, [r5, 0x1]
- bl sub_8008630
- lsls r4, 4
- adds r4, r0
- ldrb r0, [r5]
- cmp r0, 0
- beq _08008690
- adds r5, 0x1
- ldrb r0, [r5]
- cmp r0, 0
- beq _08008690
- adds r5, 0x1
-_08008690:
- str r4, [r6]
- adds r0, r5, 0
- b _080086B2
-_08008696:
- adds r0, r1, 0
- subs r0, 0x81
- cmp r0, 0x3
- bls _080086A2
- cmp r1, 0x87
- bne _080086AE
-_080086A2:
- ldrb r0, [r5, 0x1]
- lsls r1, 8
- orrs r0, r1
- str r0, [r6]
- adds r0, r5, 0x2
- b _080086B2
-_080086AE:
- str r1, [r6]
- adds r0, r5, 0x1
-_080086B2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end xxx_get_next_char_from_string
-
- thumb_func_start nullsub_165
-nullsub_165:
- bx lr
- thumb_func_end nullsub_165
-
- thumb_func_start nullsub_166
-nullsub_166:
- bx lr
- thumb_func_end nullsub_166
-
- thumb_func_start nullsub_167
-nullsub_167:
- bx lr
- thumb_func_end nullsub_167
-
- thumb_func_start nullsub_168
-nullsub_168:
- bx lr
- thumb_func_end nullsub_168
-
- thumb_func_start sub_80086C8
-sub_80086C8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r9, r2
- ldr r7, [sp, 0x30]
- lsls r2, r1, 3
- adds r2, r1
- lsls r2, 3
- adds r0, r2
- mov r12, r0
- mov r0, r9
- cmp r0, 0
- bge _080086F2
- ldr r1, [sp, 0x2C]
- add r1, r9
- str r1, [sp, 0x2C]
- movs r2, 0
- mov r9, r2
-_080086F2:
- cmp r3, 0
- bge _080086FA
- adds r7, r3
- movs r3, 0
-_080086FA:
- ldr r0, [sp, 0x2C]
- add r0, r9
- mov r4, r12
- movs r5, 0x4
- ldrsh r2, [r4, r5]
- lsls r1, r2, 3
- cmp r0, r1
- ble _08008710
- mov r0, r9
- subs r0, r1, r0
- str r0, [sp, 0x2C]
-_08008710:
- adds r1, r3, r7
- mov r4, r12
- movs r5, 0x8
- ldrsh r0, [r4, r5]
- lsls r0, 3
- cmp r1, r0
- ble _08008720
- subs r7, r0, r3
-_08008720:
- adds r1, r3, 0
- cmp r3, 0
- bge _08008728
- adds r1, r3, 0x7
-_08008728:
- asrs r1, 3
- muls r2, r1
- mov r0, r9
- cmp r0, 0
- bge _08008734
- adds r0, 0x7
-_08008734:
- asrs r0, 3
- adds r0, r2, r0
- lsls r0, 3
- lsls r1, 3
- subs r1, r3, r1
- adds r0, r1
- lsls r0, 2
- mov r2, r12
- ldr r1, [r2, 0x18]
- b _080087D6
-_08008748:
- adds r2, r5, 0
- ldr r4, [sp, 0x2C]
- mov r6, r9
- mov r1, r12
- ldr r0, [r1, 0x3C]
- cmp r0, r5
- bls _08008758
- str r5, [r1, 0x3C]
-_08008758:
- subs r0, r7, 0x1
- str r0, [sp, 0x4]
- adds r3, 0x1
- str r3, [sp, 0x8]
- mov r1, r12
- ldr r1, [r1, 0x40]
- str r1, [sp]
- adds r0, r5, 0x4
- mov r10, r0
- cmp r4, 0
- ble _080087B6
- ldr r1, _0800878C
- mov r8, r1
- movs r7, 0x7
-_08008774:
- cmp r4, 0x7
- bgt _08008790
- adds r3, r4, 0
- adds r0, r4, 0
- ands r0, r7
- adds r0, 0x8
- lsls r0, 2
- add r0, r8
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- b _080087AA
- .align 2, 0
-_0800878C: .4byte gUnknown_80B8868
-_08008790:
- adds r1, r6, 0
- ands r1, r7
- cmp r1, 0
- beq _080087A8
- movs r0, 0x8
- subs r3, r0, r1
- lsls r0, r1, 2
- add r0, r8
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- b _080087AA
-_080087A8:
- movs r3, 0x8
-_080087AA:
- str r1, [r2]
- adds r2, 0x20
- subs r4, r3
- adds r6, r3
- cmp r4, 0
- bgt _08008774
-_080087B6:
- ldr r7, [sp, 0x4]
- ldr r3, [sp, 0x8]
- ldr r2, [sp]
- cmp r2, r5
- bcs _080087C4
- mov r4, r12
- str r5, [r4, 0x40]
-_080087C4:
- mov r5, r10
- movs r0, 0x7
- ands r0, r3
- cmp r0, 0
- bne _080087D8
- mov r5, r12
- ldr r0, [r5, 0x20]
- lsls r0, 2
- mov r1, r10
-_080087D6:
- adds r5, r1, r0
-_080087D8:
- cmp r7, 0
- bgt _08008748
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80086C8
-
- thumb_func_start sub_80087EC
-sub_80087EC:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, _08008810
- str r3, [sp]
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8008818
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08008810: .4byte gUnknown_2027370
- thumb_func_end sub_80087EC
-
- thumb_func_start nullsub_176
-nullsub_176:
- bx lr
- thumb_func_end nullsub_176
-
- thumb_func_start sub_8008818
-sub_8008818:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r3, 0
- ldr r7, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- mov r12, r3
- lsls r3, r1, 3
- adds r3, r1
- lsls r3, 3
- adds r4, r0, r3
- cmp r2, 0
- bge _08008834
- adds r2, 0x7
-_08008834:
- asrs r2, 3
- mov r8, r2
- adds r3, r5, 0
- cmp r3, 0
- bge _08008840
- adds r3, 0x7
-_08008840:
- asrs r3, 3
- movs r2, 0
- cmp r2, r12
- bge _08008892
-_08008848:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- muls r0, r3
- add r0, r8
- lsls r0, 5
- ldr r1, [r4, 0x18]
- adds r1, r0
- movs r5, 0
- adds r3, 0x1
- adds r6, r2, 0
- adds r6, 0x8
- cmp r5, r7
- bge _0800888C
- movs r2, 0
-_08008864:
- ldr r0, [r4, 0x3C]
- cmp r0, r1
- bls _0800886C
- str r1, [r4, 0x3C]
-_0800886C:
- stm r1!, {r2}
- stm r1!, {r2}
- stm r1!, {r2}
- stm r1!, {r2}
- stm r1!, {r2}
- stm r1!, {r2}
- stm r1!, {r2}
- str r2, [r1]
- ldr r0, [r4, 0x40]
- cmp r0, r1
- bcs _08008884
- str r1, [r4, 0x40]
-_08008884:
- adds r1, 0x4
- adds r5, 0x8
- cmp r5, r7
- blt _08008864
-_0800888C:
- adds r2, r6, 0
- cmp r2, r12
- blt _08008848
-_08008892:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8008818
-
- thumb_func_start xxx_call_update_bg_vram
-xxx_call_update_bg_vram:
- push {lr}
- movs r1, 0
- ldr r2, _080088C0
- ldrb r0, [r2]
- cmp r0, 0
- beq _080088AE
- strb r1, [r2]
- bl sub_80099C0
-_080088AE:
- ldr r0, _080088C4
- bl xxx_update_bg_vram
- lsls r0, 24
- lsrs r1, r0, 24
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080088C0: .4byte gUnknown_20274A5
-_080088C4: .4byte gUnknown_2027370
- thumb_func_end xxx_call_update_bg_vram
-
- thumb_func_start xxx_update_bg_vram
-xxx_update_bg_vram:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- movs r2, 0
- movs r1, 0
- movs r7, 0xD0
- lsls r7, 4
-_080088D8:
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 3
- mov r3, r8
- adds r4, r3, r0
- movs r5, 0x4
- ldrsh r0, [r4, r5]
- adds r6, r1, 0x1
- cmp r0, 0
- beq _0800897A
- ldr r5, [r4, 0x38]
- cmp r5, 0
- beq _0800897A
- adds r0, r4, 0
- adds r0, 0x45
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800894C
- ldr r0, [r4, 0x28]
- ldr r1, [r4, 0x18]
- adds r2, r7, 0
- bl CpuCopy
- ldr r0, [r4, 0x18]
- adds r2, r0, r7
- ldr r0, [r4, 0x28]
- adds r1, r0, r7
- movs r3, 0
- b _08008938
-_08008912:
- ldm r2!, {r0}
- stm r1!, {r0}
- ldm r2!, {r0}
- stm r1!, {r0}
- ldm r2!, {r0}
- stm r1!, {r0}
- ldm r2!, {r0}
- stm r1!, {r0}
- ldm r2!, {r0}
- stm r1!, {r0}
- ldr r0, _08008944
- stm r1!, {r0}
- ldr r0, _08008948
- stm r1!, {r0}
- movs r0, 0x1
- negs r0, r0
- stm r1!, {r0}
- adds r2, 0xC
- adds r3, 0x1
-_08008938:
- movs r5, 0x4
- ldrsh r0, [r4, r5]
- cmp r3, r0
- blt _08008912
- movs r0, 0
- b _0800896A
- .align 2, 0
-_08008944: .4byte 0xdddddddd
-_08008948: .4byte 0xeeeeeeee
-_0800894C:
- ldr r0, [r4, 0x30]
- ldr r1, [r4, 0x34]
- adds r2, r5, 0
- bl CpuCopy
- lsrs r1, r5, 2
- lsls r1, 2
- ldr r0, [r4, 0x34]
- adds r0, r1
- str r0, [r4, 0x34]
- ldr r0, [r4, 0x30]
- adds r0, r5
- str r0, [r4, 0x30]
- ldr r0, [r4, 0x38]
- subs r0, r5
-_0800896A:
- str r0, [r4, 0x38]
- ldr r1, [r4, 0x38]
- cmp r1, 0
- bne _08008978
- adds r0, r4, 0
- adds r0, 0x44
- strb r1, [r0]
-_08008978:
- movs r2, 0x1
-_0800897A:
- adds r1, r6, 0
- cmp r1, 0x3
- ble _080088D8
- adds r0, r2, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end xxx_update_bg_vram
-
- thumb_func_start sub_800898C
-sub_800898C:
- push {lr}
- ldr r1, _080089A4
- ldr r2, _080089A8
- movs r3, 0xA0
- lsls r3, 1
- adds r0, r1, r3
-_08008998:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _08008998
- pop {r0}
- bx r0
- .align 2, 0
-_080089A4: .4byte gUnknown_3000E94
-_080089A8: .4byte 0x0000f0f0
- thumb_func_end sub_800898C
-
- thumb_func_start sub_80089AC
-sub_80089AC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r1, [r4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080089C8
- b _08008C44
-_080089C8:
- ldr r6, _08008A3C
- ldr r7, [r4, 0x4]
- cmp r7, 0x1
- bne _08008A60
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- movs r1, 0
- ldrsh r0, [r5, r1]
- adds r2, r0
- lsls r3, r2, 3
- mov r12, r3
- movs r7, 0xA
- ldrsh r1, [r4, r7]
- movs r3, 0x2
- ldrsh r0, [r5, r3]
- adds r1, r0
- lsls r5, r1, 3
- movs r7, 0xC
- ldrsh r0, [r4, r7]
- adds r2, r0
- lsls r7, r2, 3
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- adds r1, r0
- lsls r2, r1, 3
- cmp r0, 0
- bne _08008A00
- b _08008C44
-_08008A00:
- cmp r5, 0
- bge _08008A06
- movs r5, 0
-_08008A06:
- cmp r2, 0
- bge _08008A0C
- movs r2, 0
-_08008A0C:
- cmp r5, 0xA0
- ble _08008A12
- movs r5, 0xA0
-_08008A12:
- cmp r2, 0xA0
- ble _08008A18
- movs r2, 0xA0
-_08008A18:
- cmp r5, r2
- blt _08008A1E
- b _08008C44
-_08008A1E:
- lsls r3, r5, 1
- adds r1, r6, r3
- ldrb r0, [r1]
- cmp r0, 0xF0
- bne _08008A40
- ldrb r0, [r1, 0x1]
- cmp r0, 0xF0
- bne _08008A40
- strb r7, [r1]
- adds r3, 0x1
- adds r0, r6, r3
- mov r1, r12
- strb r1, [r0]
- b _08008A58
- .align 2, 0
-_08008A3C: .4byte gUnknown_3000E94
-_08008A40:
- adds r1, r6, r3
- ldrb r0, [r1]
- cmp r0, r7
- bge _08008A4A
- strb r7, [r1]
-_08008A4A:
- adds r3, 0x1
- adds r3, r6, r3
- ldrb r0, [r3]
- cmp r0, r12
- ble _08008A58
- mov r0, r12
- strb r0, [r3]
-_08008A58:
- adds r5, 0x1
- cmp r5, r2
- blt _08008A1E
- b _08008C44
-_08008A60:
- cmp r7, 0x6
- beq _08008A66
- b _08008BA8
-_08008A66:
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- movs r3, 0
- ldrsh r0, [r5, r3]
- adds r1, r0
- lsls r3, r1, 3
- subs r7, r3, 0x5
- mov r9, r7
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- movs r7, 0x2
- ldrsh r2, [r5, r7]
- adds r0, r2
- lsls r2, r0, 3
- subs r5, r2, 0x4
- movs r7, 0xC
- ldrsh r2, [r4, r7]
- adds r1, r2
- lsls r1, 3
- adds r1, 0x5
- str r1, [sp]
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- adds r0, r1
- lsls r0, 3
- adds r0, 0x5
- mov r8, r0
- adds r3, 0x3
- mov r12, r3
- ldr r2, [r4, 0x14]
- ldrb r1, [r2, 0x2]
- subs r0, r1, 0x1
- ldrb r3, [r2]
- adds r0, r3
- adds r0, 0x2
- lsls r0, 3
- add r0, r12
- subs r0, 0x4
- mov r10, r0
- ldrb r0, [r2, 0x1]
- adds r0, 0x1
- lsls r0, 3
- mov r7, r9
- adds r4, r7, r0
- adds r1, 0x2
- lsls r1, 3
- adds r1, r4, r1
- subs r7, r1, 0x4
- cmp r5, 0
- bge _08008ACC
- movs r5, 0
-_08008ACC:
- mov r0, r8
- cmp r0, 0
- bge _08008AD6
- movs r1, 0
- mov r8, r1
-_08008AD6:
- cmp r5, 0xA0
- ble _08008ADC
- movs r5, 0xA0
-_08008ADC:
- mov r2, r8
- cmp r2, 0xA0
- ble _08008AE6
- movs r3, 0xA0
- mov r8, r3
-_08008AE6:
- movs r3, 0x3
-_08008AE8:
- lsls r2, r5, 1
- adds r1, r6, r2
- ldrb r0, [r1]
- cmp r0, 0xF0
- bne _08008B02
- ldrb r0, [r1, 0x1]
- cmp r0, 0xF0
- bne _08008B02
- strb r7, [r1]
- adds r2, 0x1
- adds r0, r6, r2
- strb r4, [r0]
- b _08008B18
-_08008B02:
- adds r1, r6, r2
- ldrb r0, [r1]
- cmp r0, r7
- bge _08008B0C
- strb r7, [r1]
-_08008B0C:
- adds r2, 0x1
- adds r2, r6, r2
- ldrb r0, [r2]
- cmp r0, r4
- ble _08008B18
- strb r4, [r2]
-_08008B18:
- adds r5, 0x1
- subs r3, 0x1
- cmp r3, 0
- bge _08008AE8
- movs r3, 0x7
-_08008B22:
- lsls r1, r5, 1
- adds r2, r6, r1
- ldrb r0, [r2]
- cmp r0, 0xF0
- bne _08008B40
- ldrb r0, [r2, 0x1]
- cmp r0, 0xF0
- bne _08008B40
- mov r7, r10
- strb r7, [r2]
- adds r1, 0x1
- adds r0, r6, r1
- mov r1, r12
- strb r1, [r0]
- b _08008B5A
-_08008B40:
- adds r2, r6, r1
- ldrb r0, [r2]
- cmp r0, r10
- bge _08008B4C
- mov r7, r10
- strb r7, [r2]
-_08008B4C:
- adds r1, 0x1
- adds r1, r6, r1
- ldrb r0, [r1]
- cmp r0, r12
- ble _08008B5A
- mov r0, r12
- strb r0, [r1]
-_08008B5A:
- adds r5, 0x1
- subs r3, 0x1
- cmp r3, 0
- bge _08008B22
- cmp r5, r8
- bge _08008C44
-_08008B66:
- lsls r1, r5, 1
- adds r2, r6, r1
- ldrb r0, [r2]
- cmp r0, 0xF0
- bne _08008B86
- ldrb r0, [r2, 0x1]
- cmp r0, 0xF0
- bne _08008B86
- mov r3, sp
- ldrb r3, [r3]
- strb r3, [r2]
- adds r1, 0x1
- adds r0, r6, r1
- mov r7, r9
- strb r7, [r0]
- b _08008BA0
-_08008B86:
- adds r2, r6, r1
- ldrb r0, [r2]
- ldr r3, [sp]
- cmp r0, r3
- bge _08008B92
- strb r3, [r2]
-_08008B92:
- adds r1, 0x1
- adds r1, r6, r1
- ldrb r0, [r1]
- cmp r0, r9
- ble _08008BA0
- mov r0, r9
- strb r0, [r1]
-_08008BA0:
- adds r5, 0x1
- cmp r5, r8
- blt _08008B66
- b _08008C44
-_08008BA8:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- adds r0, r1
- lsls r1, r0, 3
- subs r1, 0x5
- mov r8, r1
- movs r3, 0xA
- ldrsh r2, [r4, r3]
- movs r3, 0x2
- ldrsh r1, [r5, r3]
- adds r2, r1
- lsls r5, r2, 3
- mov r9, r5
- mov r3, r9
- subs r3, 0x5
- movs r5, 0xC
- ldrsh r1, [r4, r5]
- adds r0, r1
- lsls r0, 3
- adds r0, 0x5
- mov r12, r0
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- adds r2, r0
- lsls r1, r2, 3
- adds r5, r1, 0x5
- cmp r0, 0
- beq _08008C44
- cmp r7, 0
- bne _08008BEC
- adds r3, 0x8
- subs r5, r1, 0x3
-_08008BEC:
- cmp r3, 0
- bge _08008BF2
- movs r3, 0
-_08008BF2:
- cmp r5, 0
- bge _08008BF8
- movs r5, 0
-_08008BF8:
- cmp r3, 0xA0
- ble _08008BFE
- movs r3, 0xA0
-_08008BFE:
- cmp r5, 0xA0
- ble _08008C40
- movs r5, 0xA0
- b _08008C40
-_08008C06:
- lsls r1, r3, 1
- adds r2, r6, r1
- ldrb r0, [r2]
- cmp r0, 0xF0
- bne _08008C24
- ldrb r0, [r2, 0x1]
- cmp r0, 0xF0
- bne _08008C24
- mov r7, r12
- strb r7, [r2]
- adds r1, 0x1
- adds r0, r6, r1
- mov r1, r8
- strb r1, [r0]
- b _08008C3E
-_08008C24:
- adds r2, r6, r1
- ldrb r0, [r2]
- cmp r0, r12
- bge _08008C30
- mov r7, r12
- strb r7, [r2]
-_08008C30:
- adds r1, 0x1
- adds r1, r6, r1
- ldrb r0, [r1]
- cmp r0, r8
- ble _08008C3E
- mov r0, r8
- strb r0, [r1]
-_08008C3E:
- adds r3, 0x1
-_08008C40:
- cmp r3, r5
- blt _08008C06
-_08008C44:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80089AC
-
- thumb_func_start sub_8008C54
-sub_8008C54:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08008C64
- bl sub_8008C6C
- pop {r0}
- bx r0
- .align 2, 0
-_08008C64: .4byte gUnknown_2027370
- thumb_func_end sub_8008C54
-
- thumb_func_start nullsub_169
-nullsub_169:
- bx lr
- thumb_func_end nullsub_169
-
- thumb_func_start sub_8008C6C
-sub_8008C6C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r9, r0
- mov r8, r1
- lsls r0, r1, 3
- add r0, r8
- lsls r0, 3
- mov r1, r9
- adds r6, r1, r0
- adds r0, r6, 0
- adds r0, 0x45
- ldrb r0, [r0]
- cmp r0, 0
- bne _08008CBE
- movs r2, 0x4
- ldrsh r0, [r6, r2]
- movs r7, 0x8
- ldrsh r1, [r6, r7]
- muls r0, r1
- lsls r4, r0, 5
- movs r5, 0
- movs r0, 0x44
- adds r0, r6
- mov r10, r0
- cmp r5, r4
- bge _08008D1E
-_08008CA8:
- lsrs r1, r5, 2
- lsls r1, 2
- ldr r0, [r6, 0x18]
- adds r0, r1
- movs r1, 0x20
- bl CpuClear
- adds r5, 0x20
- cmp r5, r4
- blt _08008CA8
- b _08008D1E
-_08008CBE:
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- movs r2, 0x8
- ldrsh r1, [r6, r2]
- subs r1, 0x1
- muls r1, r0
- lsls r1, 5
- str r1, [sp, 0x8]
- ldr r4, [r6, 0x18]
- movs r5, 0
- movs r7, 0x44
- adds r7, r6
- mov r10, r7
- cmp r5, r0
- bge _08008D04
- movs r0, 0x1
- negs r0, r0
- mov r12, r0
- movs r1, 0
- ldr r3, _08008D84
- ldr r2, _08008D88
-_08008CE8:
- mov r7, r12
- stm r4!, {r7}
- stm r4!, {r3}
- stm r4!, {r2}
- stm r4!, {r1}
- stm r4!, {r1}
- stm r4!, {r1}
- stm r4!, {r1}
- stm r4!, {r1}
- adds r5, 0x1
- movs r7, 0x4
- ldrsh r0, [r6, r7]
- cmp r5, r0
- blt _08008CE8
-_08008D04:
- movs r5, 0
- ldr r0, [sp, 0x8]
- cmp r5, r0
- bge _08008D1E
-_08008D0C:
- adds r0, r4, 0
- movs r1, 0x20
- bl CpuClear
- adds r4, 0x20
- adds r5, 0x20
- ldr r1, [sp, 0x8]
- cmp r5, r1
- blt _08008D0C
-_08008D1E:
- ldr r0, [r6, 0xC]
- cmp r0, 0x6
- bne _08008D60
- adds r5, r6, 0
- adds r5, 0x46
- movs r4, 0
- movs r0, 0x1
- strb r0, [r5]
- movs r2, 0x4
- ldrsh r0, [r6, r2]
- lsls r0, 3
- str r0, [sp]
- movs r0, 0xE
- str r0, [sp, 0x4]
- mov r0, r9
- mov r1, r8
- movs r2, 0
- movs r3, 0xA
- bl sub_8007958
- movs r7, 0x4
- ldrsh r0, [r6, r7]
- lsls r0, 3
- str r0, [sp]
- movs r0, 0xD
- str r0, [sp, 0x4]
- mov r0, r9
- mov r1, r8
- movs r2, 0
- movs r3, 0xB
- bl sub_8007958
- strb r4, [r5]
-_08008D60:
- ldr r0, [r6, 0x28]
- str r0, [r6, 0x30]
- ldr r0, [r6, 0x1C]
- str r0, [r6, 0x34]
- ldr r0, [r6, 0x2C]
- str r0, [r6, 0x38]
- movs r0, 0x1
- mov r1, r10
- strb r0, [r1]
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08008D84: .4byte 0xeeeeeeee
-_08008D88: .4byte 0xdddddddd
- thumb_func_end sub_8008C6C
-
- thumb_func_start sub_8008D8C
-sub_8008D8C:
- push {lr}
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- ldr r0, _08008DA4
- adds r1, r0
- ldr r0, [r1, 0x38]
- cmp r0, 0
- beq _08008DA0
- movs r0, 0x1
-_08008DA0:
- pop {r1}
- bx r1
- .align 2, 0
-_08008DA4: .4byte gUnknown_2027370
- thumb_func_end sub_8008D8C
-
- thumb_func_start sub_8008DA8
-sub_8008DA8:
- movs r0, 0
- bx lr
- thumb_func_end sub_8008DA8
-
- thumb_func_start sub_8008DAC
-sub_8008DAC:
- ldr r3, _08008DC0
- lsls r0, 1
- lsls r1, 6
- adds r0, r1
- adds r0, r3
- strh r2, [r0]
- ldr r1, _08008DC4
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08008DC0: .4byte gUnknown_202B038
-_08008DC4: .4byte gUnknown_20274A5
- thumb_func_end sub_8008DAC
-
- thumb_func_start sub_8008DC8
-sub_8008DC8:
- push {r4,lr}
- ldr r4, _08008DEC
- lsls r0, 1
- lsls r1, 6
- adds r0, r1
- adds r1, r0, r4
- strh r2, [r1]
- movs r1, 0x80
- lsls r1, 4
- adds r4, r1
- adds r0, r4
- strh r3, [r0]
- ldr r1, _08008DF0
- movs r0, 0x1
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08008DEC: .4byte gUnknown_202B038
-_08008DF0: .4byte gUnknown_20274A5
- thumb_func_end sub_8008DC8
-
- thumb_func_start sub_8008DF4
-sub_8008DF4:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- ldrb r0, [r3]
- ldr r1, _08008E4C
- mov r12, r1
- cmp r0, 0
- beq _08008E3E
- ldr r6, _08008E50
-_08008E08:
- ldrb r1, [r3]
- adds r0, r1, 0
- subs r0, 0x61
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x19
- bhi _08008E1E
- adds r0, r1, 0
- subs r0, 0x20
- lsls r0, 24
- lsrs r1, r0, 24
-_08008E1E:
- lsls r2, r4, 1
- lsls r0, r5, 6
- adds r2, r0
- adds r2, r6
- movs r7, 0x96
- lsls r7, 2
- adds r0, r1, r7
- ldr r7, _08008E54
- adds r1, r7, 0
- orrs r0, r1
- strh r0, [r2]
- adds r3, 0x1
- adds r4, 0x1
- ldrb r0, [r3]
- cmp r0, 0
- bne _08008E08
-_08008E3E:
- movs r0, 0x1
- mov r1, r12
- strb r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08008E4C: .4byte gUnknown_20274A5
-_08008E50: .4byte gUnknown_202B038
-_08008E54: .4byte 0xfffff000
- thumb_func_end sub_8008DF4
-
- thumb_func_start sub_8008E58
-sub_8008E58:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- mov r8, r1
- adds r4, r2, 0
- ldrb r0, [r4]
- ldr r7, _08008EC4
- cmp r0, 0
- beq _08008EB4
- adds r1, r0, 0
- cmp r3, 0
- beq _08008EB4
- ldr r0, _08008EC8
- mov r12, r0
-_08008E76:
- adds r0, r1, 0
- subs r0, 0x61
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x19
- bhi _08008E8A
- adds r0, r1, 0
- subs r0, 0x20
- lsls r0, 24
- lsrs r1, r0, 24
-_08008E8A:
- lsls r2, r5, 1
- mov r6, r8
- lsls r0, r6, 6
- adds r2, r0
- add r2, r12
- movs r6, 0x96
- lsls r6, 2
- adds r0, r1, r6
- ldr r6, _08008ECC
- adds r1, r6, 0
- orrs r0, r1
- strh r0, [r2]
- adds r4, 0x1
- adds r5, 0x1
- subs r3, 0x1
- ldrb r0, [r4]
- cmp r0, 0
- beq _08008EB4
- adds r1, r0, 0
- cmp r3, 0
- bne _08008E76
-_08008EB4:
- movs r0, 0x1
- strb r0, [r7]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08008EC4: .4byte gUnknown_20274A5
-_08008EC8: .4byte gUnknown_202B038
-_08008ECC: .4byte 0xfffff000
- thumb_func_end sub_8008E58
-
- thumb_func_start sub_8008ED0
-sub_8008ED0:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r5, 0
- b _08008F64
-_08008EDA:
- ldr r0, _08008F18
- cmp r1, r0
- beq _08008F64
- adds r0, 0x2
- cmp r1, r0
- beq _08008F64
- cmp r1, 0x1B
- beq _08008F7E
- cmp r1, 0x23
- bne _08008F44
- ldrb r0, [r2]
- cmp r0, 0x6E
- beq _08008F7E
- cmp r0, 0x5B
- beq _08008F7E
- cmp r0, 0x50
- beq _08008F7E
- cmp r0, 0x57
- beq _08008F40
- cmp r0, 0x57
- bgt _08008F22
- cmp r0, 0x43
- beq _08008F38
- cmp r0, 0x43
- bgt _08008F1C
- cmp r0, 0x2B
- beq _08008F40
- cmp r0, 0x3D
- beq _08008F34
- b _08008F64
- .align 2, 0
-_08008F18: .4byte 0x000082a0
-_08008F1C:
- cmp r0, 0x52
- beq _08008F3C
- b _08008F64
-_08008F22:
- cmp r0, 0x72
- beq _08008F3C
- cmp r0, 0x72
- bgt _08008F30
- cmp r0, 0x63
- beq _08008F38
- b _08008F64
-_08008F30:
- cmp r0, 0x7E
- bne _08008F64
-_08008F34:
- adds r4, r2, 0x2
- b _08008F64
-_08008F38:
- adds r4, 0x2
- b _08008F64
-_08008F3C:
- adds r4, 0x1
- b _08008F64
-_08008F40:
- adds r4, r2, 0x1
- b _08008F64
-_08008F44:
- cmp r1, 0x60
- bne _08008F4C
- adds r5, 0x6
- b _08008F64
-_08008F4C:
- adds r0, r1, 0
- bl sub_8008584
- cmp r0, 0
- beq _08008F64
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- ldr r1, _08008F88
- movs r2, 0
- ldrsh r1, [r1, r2]
- adds r0, r1
- adds r5, r0
-_08008F64:
- adds r0, r4, 0
- mov r1, sp
- bl xxx_get_next_char_from_string
- adds r2, r0, 0
- adds r4, r2, 0
- ldr r1, [sp]
- cmp r1, 0
- beq _08008F7E
- cmp r1, 0xD
- beq _08008F7E
- cmp r1, 0xA
- bne _08008EDA
-_08008F7E:
- adds r0, r5, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08008F88: .4byte gUnknown_2027498
- thumb_func_end sub_8008ED0
-
- thumb_func_start sub_8008F8C
-sub_8008F8C:
- push {r4-r6,lr}
- sub sp, 0x10
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x20]
- ldr r2, [sp, 0x24]
- ldr r0, _08008FB8
- str r3, [sp]
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl xxx_draw_string
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08008FB8: .4byte gUnknown_2027370
- thumb_func_end sub_8008F8C
-
- thumb_func_start xxx_call_draw_string
-xxx_call_draw_string:
- push {r4-r6,lr}
- sub sp, 0x10
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x20]
- ldr r0, _08008FE8
- str r3, [sp]
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0xD
- str r1, [sp, 0xC]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl xxx_draw_string
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08008FE8: .4byte gUnknown_2027370
- thumb_func_end xxx_call_draw_string
-
- thumb_func_start nullsub_170
-nullsub_170:
- bx lr
- thumb_func_end nullsub_170
-
- thumb_func_start sub_8008FF0
-sub_8008FF0:
- push {r4-r6,lr}
- sub sp, 0x10
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x20]
- ldr r0, _0800901C
- str r3, [sp]
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0xD
- str r1, [sp, 0xC]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl xxx_draw_string
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800901C: .4byte gUnknown_2027370
- thumb_func_end sub_8008FF0
-
- thumb_func_start nullsub_171
-nullsub_171:
- bx lr
- thumb_func_end nullsub_171
-
- thumb_func_start xxx_draw_string
-xxx_draw_string:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x40
- adds r5, r0, 0
- adds r4, r3, 0
- ldr r0, [sp, 0x5C]
- mov r8, r0
- ldr r7, [sp, 0x64]
- add r0, sp, 0x8
- strh r1, [r0]
- strh r2, [r0, 0x2]
- str r1, [sp, 0x14]
- movs r0, 0x7
- str r0, [sp, 0x18]
- add r2, sp, 0x3C
- mov r9, r2
- b _08009128
-_0800904A:
- ldr r0, _08009058
- cmp r3, r0
- bne _08009060
- ldr r1, _0800905C
- movs r0, 0
- str r0, [r1]
- b _08009128
- .align 2, 0
-_08009058: .4byte 0x000082a0
-_0800905C: .4byte gUnknown_20274AC
-_08009060:
- ldr r0, _08009070
- cmp r3, r0
- bne _08009078
- ldr r1, _08009074
- movs r0, 0x1
- str r0, [r1]
- b _08009128
- .align 2, 0
-_08009070: .4byte 0x000082a2
-_08009074: .4byte gUnknown_20274AC
-_08009078:
- cmp r3, 0x1B
- beq _0800914A
- cmp r3, 0xD
- beq _08009084
- cmp r3, 0xA
- bne _08009096
-_08009084:
- add r1, sp, 0x8
- ldr r0, [sp, 0x14]
- strh r0, [r1]
- adds r0, r1, 0
- ldrh r0, [r0, 0x2]
- ldr r3, [sp, 0x68]
- adds r0, r3
- strh r0, [r1, 0x2]
- b _08009128
-_08009096:
- cmp r3, 0x1D
- bne _080090AA
- add r1, sp, 0x8
- ldr r0, [sp, 0x14]
- strh r0, [r1]
- adds r0, r1, 0
- ldrh r0, [r0, 0x2]
- adds r0, 0x5
- strh r0, [r1, 0x2]
- b _08009128
-_080090AA:
- cmp r3, 0x60
- bne _080090B8
- add r1, sp, 0x8
- adds r0, r1, 0
- ldrh r0, [r0]
- adds r0, 0x6
- b _08009126
-_080090B8:
- cmp r7, 0
- bne _080090E0
- add r0, sp, 0x8
- movs r6, 0
- ldrsh r1, [r0, r6]
- movs r6, 0x2
- ldrsh r2, [r0, r6]
- ldr r0, [sp, 0x18]
- str r0, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- adds r0, r5, 0
- bl xxx_draw_char
- add r2, sp, 0x8
- adds r1, r2, 0
- ldrh r1, [r1]
- adds r1, r0
- strh r1, [r2]
- b _08009128
-_080090E0:
- adds r0, r3, 0
- bl sub_8008584
- adds r2, r0, 0
- cmp r2, 0
- beq _08009128
- add r0, sp, 0x8
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r0, _08009158
- movs r6, 0
- ldrsh r0, [r0, r6]
- adds r0, 0xA
- movs r3, 0x6
- ldrsh r2, [r2, r3]
- subs r0, r2
- lsrs r2, r0, 31
- adds r0, r2
- asrs r0, 1
- adds r1, r0
- add r0, sp, 0x8
- movs r6, 0x2
- ldrsh r2, [r0, r6]
- ldr r3, [sp, 0x3C]
- ldr r0, [sp, 0x18]
- str r0, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- adds r0, r5, 0
- bl xxx_draw_char
- add r1, sp, 0x8
- adds r0, r1, 0
- ldrh r0, [r0]
- adds r0, r7
-_08009126:
- strh r0, [r1]
-_08009128:
- adds r0, r5, 0
- adds r1, r4, 0
- add r2, sp, 0x8
- bl sub_80091AC
- adds r4, r0, 0
- mov r1, r9
- bl xxx_get_next_char_from_string
- adds r4, r0, 0
- ldr r3, [sp, 0x3C]
- cmp r3, 0
- beq _0800914A
- ldr r2, [sp, 0x60]
- cmp r3, r2
- beq _0800914A
- b _0800904A
-_0800914A:
- add sp, 0x40
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08009158: .4byte gUnknown_2027498
- thumb_func_end xxx_draw_string
-
- thumb_func_start sub_800915C
-sub_800915C:
- push {r4,lr}
- adds r3, r0, 0
- movs r2, 0
-_08009162:
- ldrb r0, [r1]
- cmp r0, 0x2E
- beq _08009184
- subs r0, 0x30
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bhi _08009186
- lsls r0, r2, 2
- adds r0, r2
- lsls r2, r0, 1
- adds r0, r2, 0
- subs r0, 0x30
- ldrb r4, [r1]
- adds r2, r0, r4
- adds r1, 0x1
- b _08009162
-_08009184:
- adds r1, 0x1
-_08009186:
- strh r2, [r3]
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800915C
-
- thumb_func_start sub_8009190
-sub_8009190:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _080091A4
- adds r1, r3, 0
- bl sub_80091AC
- pop {r1}
- bx r1
- .align 2, 0
-_080091A4: .4byte gUnknown_2027370
- thumb_func_end sub_8009190
-
- thumb_func_start sub_80091A8
-sub_80091A8:
- adds r0, 0x1
- bx lr
- thumb_func_end sub_80091A8
-
- thumb_func_start sub_80091AC
-sub_80091AC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- adds r4, r1, 0
- adds r5, r2, 0
- movs r0, 0
- mov r9, r0
- movs r7, 0x1
-_080091C0:
- ldrb r0, [r4]
- cmp r0, 0x23
- beq _080091C8
- b _0800937A
-_080091C8:
- ldrb r0, [r4, 0x1]
- adds r1, r0, 0
- cmp r1, 0x5B
- bne _08009216
- adds r2, r4, 0
- adds r4, 0x2
- adds r0, r5, 0
- adds r0, 0x21
- mov r1, r9
- strb r1, [r0]
- ldrb r1, [r4]
- adds r6, r0, 0
- cmp r1, 0
- beq _080091F6
- cmp r1, 0x5D
- beq _080091F4
-_080091E8:
- adds r4, 0x1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080091F6
- cmp r0, 0x5D
- bne _080091E8
-_080091F4:
- adds r4, 0x1
-_080091F6:
- ldr r3, [r5, 0x24]
- cmp r3, 0
- beq _0800920C
- adds r0, r2, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl _call_via_r3
- cmp r0, 0
- beq _0800920C
- adds r4, r0, 0
-_0800920C:
- ldrb r0, [r6]
- cmp r0, 0
- beq _08009214
- b _0800937A
-_08009214:
- b _080091C0
-_08009216:
- cmp r1, 0x3D
- bne _08009220
- ldrb r0, [r4, 0x2]
- strh r0, [r5]
- b _080092BA
-_08009220:
- cmp r1, 0x79
- bne _0800922A
- ldrb r0, [r4, 0x2]
- strh r0, [r5, 0x2]
- b _080092BA
-_0800922A:
- cmp r1, 0x3E
- bne _0800923A
- adds r1, r4, 0x2
- adds r0, r5, 0
- bl sub_800915C
- adds r4, r0, 0
- b _080091C0
-_0800923A:
- cmp r1, 0x2E
- bne _08009246
- ldrh r0, [r5]
- ldrb r2, [r4, 0x2]
- adds r0, r2
- b _0800926E
-_08009246:
- cmp r1, 0x6E
- bne _08009258
- ldr r0, [r5, 0xC]
- strh r0, [r5]
- ldrh r0, [r5, 0x2]
- adds r0, 0xB
- strh r0, [r5, 0x2]
- adds r4, 0x2
- b _080091C0
-_08009258:
- cmp r1, 0x3A
- bne _08009264
- ldrh r0, [r5]
- strh r0, [r5, 0x4]
- adds r4, 0x2
- b _080091C0
-_08009264:
- cmp r1, 0x3B
- bne _08009274
- ldrh r0, [r5, 0x4]
- ldrb r3, [r4, 0x2]
- adds r0, r3
-_0800926E:
- strh r0, [r5]
- adds r4, 0x3
- b _080091C0
-_08009274:
- cmp r1, 0x2B
- bne _0800929A
- adds r4, 0x2
- adds r0, r4, 0
- bl sub_8008ED0
- mov r2, r8
- movs r3, 0x4
- ldrsh r1, [r2, r3]
- lsls r1, 3
- subs r1, r0
- strh r1, [r5]
- movs r1, 0
- ldrsh r0, [r5, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r5]
- b _080091C0
-_0800929A:
- cmp r1, 0x43
- bne _080092A4
- ldr r0, [r5, 0x10]
- str r0, [r5, 0x14]
- b _080092DC
-_080092A4:
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5F
- bne _080092CC
- ldr r0, [r5, 0x10]
- str r0, [r5, 0x14]
- ldr r1, _080092C8
- ldrb r0, [r4, 0x2]
- adds r0, r1
- ldrb r0, [r0]
- str r0, [r5, 0x10]
-_080092BA:
- adds r4, 0x3
- ldrb r0, [r4]
- cmp r0, 0x2E
- beq _080092C4
- b _080091C0
-_080092C4:
- adds r4, 0x1
- b _080091C0
- .align 2, 0
-_080092C8: .4byte gUnknown_202749A
-_080092CC:
- cmp r0, 0x52
- bne _080092D4
- ldr r0, [r5, 0x14]
- b _080092EE
-_080092D4:
- cmp r0, 0x63
- bne _080092E8
- ldr r0, [r5, 0x10]
- str r0, [r5, 0x18]
-_080092DC:
- ldrb r0, [r4, 0x2]
- bl sub_800963C
- str r0, [r5, 0x10]
- adds r4, 0x3
- b _080091C0
-_080092E8:
- cmp r0, 0x72
- bne _080092F4
- ldr r0, [r5, 0x18]
-_080092EE:
- str r0, [r5, 0x10]
- adds r4, 0x2
- b _080091C0
-_080092F4:
- cmp r0, 0x53
- bne _08009314
- ldr r3, _08009310
- ldrb r2, [r4, 0x2]
- movs r0, 0x7F
- adds r1, r0, 0
- ands r1, r2
- adds r1, r3
- ldrb r2, [r4, 0x3]
- ands r0, r2
- strb r0, [r1]
- adds r4, 0x4
- b _080091C0
- .align 2, 0
-_08009310: .4byte gUnknown_20274A6
-_08009314:
- cmp r0, 0x57
- bne _0800933A
- adds r4, 0x2
- mov r2, r8
- movs r3, 0
- ldrsh r0, [r2, r3]
- lsls r0, 3
- ldrh r1, [r5]
- adds r0, r1
- subs r0, 0x2
- strh r0, [r5, 0x8]
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- lsls r0, 3
- ldrh r1, [r5, 0x2]
- adds r0, r1
- adds r0, 0x3
- strh r0, [r5, 0xA]
- b _0800935C
-_0800933A:
- cmp r0, 0x50
- bne _08009350
- adds r4, 0x2
- ldr r0, _0800934C
- strh r0, [r5, 0x2]
- mov r2, r9
- str r2, [r5, 0x1C]
- b _0800935C
- .align 2, 0
-_0800934C: .4byte 0x0000270f
-_08009350:
- cmp r0, 0x70
- bne _08009368
- adds r4, 0x2
- ldr r0, _08009364
- strh r0, [r5, 0x2]
- str r7, [r5, 0x1C]
-_0800935C:
- adds r0, r5, 0
- adds r0, 0x20
- strb r7, [r0]
- b _0800937A
- .align 2, 0
-_08009364: .4byte 0x0000270f
-_08009368:
- cmp r0, 0x7E
- bne _0800937A
- ldrb r0, [r4, 0x2]
- str r0, [r5, 0x2C]
- adds r0, r5, 0
- adds r0, 0x21
- strb r7, [r0]
- adds r4, 0x3
- b _080091C0
-_0800937A:
- adds r0, r4, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80091AC
-
- thumb_func_start sub_8009388
-sub_8009388:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r2, _080093F4
- ldr r6, _080093F8
- strh r6, [r2]
- movs r0, 0x80
- lsls r0, 4
- adds r5, r2, r0
- ldr r4, _080093FC
- strh r4, [r5]
- ldr r0, _08009400
- ldr r3, [r0]
- ldr r0, _08009404
- ldr r1, [r0]
- mov r9, r0
- cmp r3, r1
- bge _080093E6
- mov r8, r2
- mov r12, r6
- adds r6, r5, 0
- movs r5, 0
- adds r7, r6, 0
-_080093B8:
- lsls r0, r3, 6
- mov r1, r8
- adds r2, r0, r1
- mov r1, r12
- strh r1, [r2]
- adds r1, r0, r6
- strh r4, [r1]
- adds r3, 0x1
- adds r0, r7
- adds r0, 0x2
- adds r2, 0x2
- movs r1, 0x1E
-_080093D0:
- strh r5, [r2]
- strh r4, [r0]
- adds r0, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080093D0
- mov r1, r9
- ldr r0, [r1]
- cmp r3, r0
- blt _080093B8
-_080093E6:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080093F4: .4byte gUnknown_202B038
-_080093F8: .4byte 0x0000f279
-_080093FC: .4byte 0x0000f27a
-_08009400: .4byte gUnknown_202B020
-_08009404: .4byte gUnknown_202B024
- thumb_func_end sub_8009388
-
- thumb_func_start sub_8009408
-sub_8009408:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r1, 0
- ldr r1, _08009478
- ldr r6, _0800947C
- strh r6, [r1]
- movs r2, 0x80
- lsls r2, 4
- adds r4, r1, r2
- ldr r2, _08009480
- strh r2, [r4]
- adds r3, r0, 0
- ldr r0, _08009484
- mov r10, r0
- cmp r3, r5
- bge _08009464
- mov r9, r1
- mov r8, r6
- adds r7, r4, 0
- adds r4, r2, 0
- movs r6, 0
- mov r12, r7
-_0800943A:
- lsls r0, r3, 6
- mov r1, r9
- adds r2, r0, r1
- mov r1, r8
- strh r1, [r2]
- adds r1, r0, r7
- strh r4, [r1]
- adds r3, 0x1
- add r0, r12
- adds r0, 0x2
- adds r2, 0x2
- movs r1, 0x1E
-_08009452:
- strh r6, [r2]
- strh r4, [r0]
- adds r0, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08009452
- cmp r3, r5
- blt _0800943A
-_08009464:
- movs r0, 0x1
- mov r2, r10
- strb r0, [r2]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08009478: .4byte gUnknown_202B038
-_0800947C: .4byte 0x0000f279
-_08009480: .4byte 0x0000f27a
-_08009484: .4byte gUnknown_20274A5
- thumb_func_end sub_8009408
-
- thumb_func_start sub_8009488
-sub_8009488:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- ldr r0, _08009514
- adds r4, r1, r0
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r3, 0
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r3, r0
- bge _08009506
- ldr r6, _08009518
- mov r9, r6
- ldr r0, _0800951C
- mov r8, r0
- movs r2, 0x80
- lsls r2, 4
- add r2, r8
- mov r10, r2
-_080094BA:
- movs r6, 0
- ldrsh r2, [r4, r6]
- movs r5, 0
- movs r6, 0x4
- ldrsh r0, [r4, r6]
- adds r6, r1, 0x1
- adds r7, r3, 0x1
- cmp r5, r0
- bge _080094FA
- movs r0, 0xFC
- lsls r0, 8
- mov r12, r0
- lsls r2, 1
- lsls r1, 6
- mov r3, r10
- adds r0, r1, r3
- adds r3, r2, r0
- add r1, r8
- adds r2, r1
-_080094E0:
- ldrh r0, [r2]
- mov r1, r12
- ands r1, r0
- strh r1, [r2]
- mov r0, r9
- strh r0, [r3]
- adds r3, 0x2
- adds r2, 0x2
- adds r5, 0x1
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _080094E0
-_080094FA:
- adds r1, r6, 0
- adds r3, r7, 0
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r3, r0
- blt _080094BA
-_08009506:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08009514: .4byte gUnknown_2027370
-_08009518: .4byte 0x0000f27a
-_0800951C: .4byte gUnknown_202B038
- thumb_func_end sub_8009488
-
- thumb_func_start nullsub_172
-nullsub_172:
- bx lr
- thumb_func_end nullsub_172
-
- thumb_func_start sub_8009524
-sub_8009524:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- ldr r0, _080095BC
- adds r4, r1, r0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- subs r1, r0, 0x1
- movs r3, 0
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- adds r0, 0x2
- cmp r3, r0
- bge _080095AE
- ldr r6, _080095C0
- mov r9, r6
- ldr r0, _080095C4
- mov r8, r0
- movs r2, 0x80
- lsls r2, 4
- add r2, r8
- mov r10, r2
-_0800955A:
- movs r6, 0
- ldrsh r0, [r4, r6]
- subs r2, r0, 0x1
- movs r5, 0
- movs r6, 0x4
- ldrsh r0, [r4, r6]
- adds r0, 0x2
- adds r6, r1, 0x1
- adds r7, r3, 0x1
- cmp r5, r0
- bge _080095A0
- movs r0, 0xFC
- lsls r0, 8
- mov r12, r0
- lsls r2, 1
- lsls r1, 6
- mov r3, r10
- adds r0, r1, r3
- adds r3, r2, r0
- add r1, r8
- adds r2, r1
-_08009584:
- ldrh r0, [r2]
- mov r1, r12
- ands r1, r0
- strh r1, [r2]
- mov r0, r9
- strh r0, [r3]
- adds r3, 0x2
- adds r2, 0x2
- adds r5, 0x1
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- adds r0, 0x2
- cmp r5, r0
- blt _08009584
-_080095A0:
- adds r1, r6, 0
- adds r3, r7, 0
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- adds r0, 0x2
- cmp r3, r0
- blt _0800955A
-_080095AE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080095BC: .4byte gUnknown_2027370
-_080095C0: .4byte 0x0000f27a
-_080095C4: .4byte gUnknown_202B038
- thumb_func_end sub_8009524
-
- thumb_func_start nullsub_173
-nullsub_173:
- bx lr
- thumb_func_end nullsub_173
-
- thumb_func_start sub_80095CC
-sub_80095CC:
- ldr r2, _080095D8
- str r0, [r2]
- ldr r0, _080095DC
- str r1, [r0]
- bx lr
- .align 2, 0
-_080095D8: .4byte gUnknown_202B020
-_080095DC: .4byte gUnknown_202B024
- thumb_func_end sub_80095CC
-
- thumb_func_start nullsub_174
-nullsub_174:
- bx lr
- thumb_func_end nullsub_174
-
- thumb_func_start sub_80095E4
-sub_80095E4:
- push {lr}
- cmp r1, 0
- bne _080095EC
- movs r1, 0xA
-_080095EC:
- muls r1, r0
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08009604
- adds r0, r1, 0
- cmp r1, 0
- bge _080095FE
- adds r0, r1, 0x7
-_080095FE:
- asrs r0, 3
- adds r0, 0x1
- b _0800960E
-_08009604:
- adds r0, r1, 0
- cmp r0, 0
- bge _0800960C
- adds r0, 0x7
-_0800960C:
- asrs r0, 3
-_0800960E:
- pop {r1}
- bx r1
- thumb_func_end sub_80095E4
-
- thumb_func_start sub_8009614
-sub_8009614:
- push {lr}
- muls r1, r0
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _0800962E
- adds r0, r1, 0
- cmp r1, 0
- bge _08009628
- adds r0, r1, 0x7
-_08009628:
- asrs r0, 3
- adds r0, 0x1
- b _08009638
-_0800962E:
- adds r0, r1, 0
- cmp r0, 0
- bge _08009636
- adds r0, 0x7
-_08009636:
- asrs r0, 3
-_08009638:
- pop {r1}
- bx r1
- thumb_func_end sub_8009614
-
- thumb_func_start sub_800963C
-sub_800963C:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- cmp r0, 0xF
- bls _080096DA
- adds r1, r0, 0
- subs r1, 0x30
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0xF
- bhi _08009658
- adds r0, r1, 0
- b _080096DA
-_08009658:
- adds r0, r2, 0
- subs r0, 0x43
- cmp r0, 0x14
- bhi _080096D8
- lsls r0, 2
- ldr r1, _0800966C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0800966C: .4byte _08009670
- .align 2, 0
-_08009670:
- .4byte _080096D0
- .4byte _080096D0
- .4byte _080096C8
- .4byte _080096D8
- .4byte _080096CC
- .4byte _080096C4
- .4byte _080096C4
- .4byte _080096D8
- .4byte _080096D8
- .4byte _080096D8
- .4byte _080096CC
- .4byte _080096D0
- .4byte _080096D8
- .4byte _080096D8
- .4byte _080096D8
- .4byte _080096D8
- .4byte _080096C8
- .4byte _080096C8
- .4byte _080096D8
- .4byte _080096D8
- .4byte _080096D4
-_080096C4:
- movs r0, 0x4
- b _080096DA
-_080096C8:
- movs r0, 0xF
- b _080096DA
-_080096CC:
- movs r0, 0x5
- b _080096DA
-_080096D0:
- movs r0, 0x6
- b _080096DA
-_080096D4:
- movs r0, 0x2
- b _080096DA
-_080096D8:
- movs r0, 0x7
-_080096DA:
- pop {r1}
- bx r1
- thumb_func_end sub_800963C
-
- thumb_func_start sub_80096E0
-sub_80096E0:
- push {r4-r6,lr}
- ldr r1, _0800978C
- movs r0, 0x1
- strb r0, [r1]
- movs r1, 0xC0
- lsls r1, 19
- movs r5, 0
- ldr r3, _08009790
- ldr r0, _08009794
- movs r2, 0
-_080096F4:
- stm r1!, {r2}
- adds r5, 0x1
- cmp r5, r3
- bls _080096F4
- movs r1, 0xA0
- lsls r1, 19
- movs r5, 0
- movs r2, 0
-_08009704:
- stm r1!, {r2}
- adds r5, 0x1
- cmp r5, 0xFF
- bls _08009704
- movs r1, 0xE0
- lsls r1, 19
- movs r5, 0
- ldr r2, _08009798
-_08009714:
- stm r1!, {r2}
- adds r5, 0x1
- cmp r5, 0xFF
- bls _08009714
- ldr r4, _0800979C
- adds r1, r4, 0
- bl sub_800A9EC
- adds r6, r0, 0
- ldr r1, [r6, 0x4]
- ldm r1!, {r5}
- ldr r0, _080097A0
- lsls r2, r5, 5
- bl CpuCopy
- adds r0, r6, 0
- bl sub_800AA14
- ldr r0, _080097A4
- adds r1, r4, 0
- bl sub_800A9EC
- adds r6, r0, 0
- ldr r1, [r6, 0x4]
- ldm r1!, {r5}
- ldr r0, _080097A8
- lsls r2, r5, 5
- bl CpuCopy
- adds r0, r6, 0
- bl sub_800AA14
- bl sub_80097B0
- ldr r0, _080097AC
- adds r1, r4, 0
- bl sub_800A9EC
- adds r6, r0, 0
- ldr r4, [r6, 0x4]
- movs r5, 0
-_08009766:
- movs r1, 0xF8
- lsls r1, 1
- adds r0, r5, r1
- adds r1, r4, 0
- bl SetBGPaletteBufferColorArray
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, 0xF
- ble _08009766
- adds r0, r6, 0
- bl sub_800AA14
- bl TransferBGPaletteBuffer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800978C: .4byte gUnknown_203B090
-_08009790: .4byte 0x00005fff
-_08009794: .4byte gUnknown_80B88B0
-_08009798: .4byte 0x00a000a0
-_0800979C: .4byte gUnknown_8300500
-_080097A0: .4byte 0x06004f00
-_080097A4: .4byte gUnknown_80B88B8
-_080097A8: .4byte 0x06017e00
-_080097AC: .4byte gUnknown_80B88C0
- thumb_func_end sub_80096E0
-
- thumb_func_start sub_80097B0
-sub_80097B0:
- push {r4-r6,lr}
- ldr r0, _080097F8
- ldr r1, _080097FC
- bl sub_800A9EC
- adds r6, r0, 0
- ldr r4, _08009800
- ldr r1, [r6, 0x4]
- movs r2, 0x80
- lsls r2, 2
- adds r0, r4, 0
- bl CpuCopy
- bl sub_80063B0
- adds r5, r4, 0
- adds r5, 0x40
- cmp r0, 0x1
- bne _080097D8
- adds r5, r4, 0
-_080097D8:
- movs r4, 0
-_080097DA:
- adds r0, r4, 0
- adds r0, 0xF0
- adds r1, r5, 0
- bl SetBGPaletteBufferColorArray
- adds r5, 0x4
- adds r4, 0x1
- cmp r4, 0xF
- ble _080097DA
- adds r0, r6, 0
- bl sub_800AA14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080097F8: .4byte gUnknown_80B88CC
-_080097FC: .4byte gUnknown_8300500
-_08009800: .4byte gUnknown_202D038
- thumb_func_end sub_80097B0
-
- thumb_func_start sub_8009804
-sub_8009804:
- push {lr}
- movs r1, 0xC0
- lsls r1, 19
- movs r0, 0
- ldr r3, _0800987C
- movs r2, 0
-_08009810:
- stm r1!, {r2}
- adds r0, 0x1
- cmp r0, r3
- bls _08009810
- ldr r1, _08009880
- movs r0, 0
- ldr r3, _08009884
- movs r2, 0
-_08009820:
- stm r1!, {r2}
- adds r0, 0x1
- cmp r0, r3
- bls _08009820
- ldr r1, _08009888
- movs r0, 0
- ldr r3, _0800988C
- movs r2, 0
-_08009830:
- stm r1!, {r2}
- adds r0, 0x1
- cmp r0, r3
- bls _08009830
- ldr r1, _08009890
- movs r0, 0
- ldr r3, _08009894
- movs r2, 0
-_08009840:
- stm r1!, {r2}
- adds r0, 0x1
- cmp r0, r3
- bls _08009840
- movs r1, 0xA0
- lsls r1, 19
- movs r0, 0
- movs r2, 0
-_08009850:
- stm r1!, {r2}
- adds r0, 0x1
- cmp r0, 0x77
- bls _08009850
- ldr r1, _08009898
- movs r0, 0
- movs r2, 0
-_0800985E:
- stm r1!, {r2}
- adds r0, 0x1
- cmp r0, 0x77
- bls _0800985E
- movs r1, 0xE0
- lsls r1, 19
- movs r0, 0
- ldr r2, _0800989C
-_0800986E:
- stm r1!, {r2}
- adds r0, 0x1
- cmp r0, 0xFF
- bls _0800986E
- pop {r0}
- bx r0
- .align 2, 0
-_0800987C: .4byte 0x000013bf
-_08009880: .4byte 0x06007000
-_08009884: .4byte 0x000003ff
-_08009888: .4byte 0x06008000
-_0800988C: .4byte 0x00001fff
-_08009890: .4byte 0x06010000
-_08009894: .4byte 0x00001f7f
-_08009898: .4byte 0x05000200
-_0800989C: .4byte 0x00a000a0
- thumb_func_end sub_8009804
-
- thumb_func_start sub_80098A0
-sub_80098A0:
- ldr r0, _080098B4
- movs r1, 0
- str r1, [r0]
- ldr r0, _080098B8
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strb r1, [r0, 0x2]
- strb r1, [r0, 0x3]
- bx lr
- .align 2, 0
-_080098B4: .4byte gUnknown_202D23C
-_080098B8: .4byte gUnknown_202D238
- thumb_func_end sub_80098A0
-
- thumb_func_start sub_80098BC
-sub_80098BC:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r7, _080098F0
- ldr r3, [r7]
- cmp r3, 0x7
- bgt _080098E8
- ldr r2, _080098F4
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r0, r1, r2
- str r4, [r0]
- adds r0, r2, 0x4
- adds r0, r1, r0
- str r5, [r0]
- adds r2, 0x8
- adds r1, r2
- str r6, [r1]
- adds r0, r3, 0x1
- str r0, [r7]
-_080098E8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080098F0: .4byte gUnknown_202D23C
-_080098F4: .4byte gUnknown_202D240
- thumb_func_end sub_80098BC
-
- thumb_func_start sub_80098F8
-sub_80098F8:
- ldr r1, _08009904
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- bx lr
- .align 2, 0
-_08009904: .4byte gUnknown_202D238
- thumb_func_end sub_80098F8
-
- thumb_func_start sub_8009908
-sub_8009908:
- push {r4-r7,lr}
- movs r5, 0
- ldr r0, _08009994
- ldr r0, [r0]
- cmp r5, r0
- bge _08009936
- ldr r4, _08009998
- adds r7, r4, 0
- movs r6, 0
-_0800991A:
- ldr r0, [r4]
- adds r1, r7, 0x4
- adds r1, r6, r1
- ldr r1, [r1]
- ldr r2, [r4, 0x8]
- bl CpuCopy
- adds r4, 0xC
- adds r6, 0xC
- adds r5, 0x1
- ldr r0, _08009994
- ldr r0, [r0]
- cmp r5, r0
- blt _0800991A
-_08009936:
- ldr r0, _08009994
- movs r5, 0
- str r5, [r0]
- ldr r4, _0800999C
- ldrb r0, [r4]
- cmp r0, 0
- beq _08009952
- strb r5, [r4]
- ldr r0, _080099A0
- ldr r1, _080099A4
- movs r2, 0x80
- lsls r2, 4
- bl CpuCopy
-_08009952:
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08009966
- strb r5, [r4, 0x1]
- ldr r0, _080099A8
- ldr r1, _080099AC
- movs r2, 0x80
- lsls r2, 4
- bl CpuCopy
-_08009966:
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _0800997A
- strb r5, [r4, 0x2]
- ldr r0, _080099B0
- ldr r1, _080099B4
- movs r2, 0x80
- lsls r2, 4
- bl CpuCopy
-_0800997A:
- ldrb r0, [r4, 0x3]
- cmp r0, 0
- beq _0800998E
- strb r5, [r4, 0x3]
- ldr r0, _080099B8
- ldr r1, _080099BC
- movs r2, 0x80
- lsls r2, 4
- bl CpuCopy
-_0800998E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08009994: .4byte gUnknown_202D23C
-_08009998: .4byte gUnknown_202D240
-_0800999C: .4byte gUnknown_202D238
-_080099A0: .4byte 0x06006000
-_080099A4: .4byte gUnknown_202B038
-_080099A8: .4byte 0x06006800
-_080099AC: .4byte gUnknown_202B838
-_080099B0: .4byte 0x06007000
-_080099B4: .4byte gUnknown_202C038
-_080099B8: .4byte 0x06007800
-_080099BC: .4byte gUnknown_202C838
- thumb_func_end sub_8009908
-
- thumb_func_start sub_80099C0
-sub_80099C0:
- push {r4,r5,lr}
- ldr r0, _080099E4
- ldr r4, _080099E8
- movs r5, 0x80
- lsls r5, 4
- adds r1, r4, 0
- adds r2, r5, 0
- bl CpuCopy
- ldr r0, _080099EC
- adds r4, r5
- adds r1, r4, 0
- adds r2, r5, 0
- bl CpuCopy
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080099E4: .4byte 0x06006000
-_080099E8: .4byte gUnknown_202B038
-_080099EC: .4byte 0x06006800
- thumb_func_end sub_80099C0
-
- thumb_func_start sub_80099F0
-sub_80099F0:
- push {lr}
- adds r2, r0, 0
- ldr r0, _08009A0C
- movs r1, 0x7
- movs r3, 0xE2
- lsls r3, 1
- adds r0, r3
-_080099FE:
- str r2, [r0]
- subs r0, 0x40
- subs r1, 0x1
- cmp r1, 0
- bge _080099FE
- pop {r0}
- bx r0
- .align 2, 0
-_08009A0C: .4byte gUnknown_202D038
- thumb_func_end sub_80099F0
-
- thumb_func_start sub_8009A10
-sub_8009A10:
- push {lr}
- ldr r0, [r0, 0x4]
- bl sub_8009A1C
- pop {r0}
- bx r0
- thumb_func_end sub_8009A10
-
- thumb_func_start sub_8009A1C
-sub_8009A1C:
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, _08009A30
- str r3, [r0]
- ldr r3, [r6, 0xC]
- movs r0, 0xC0
- lsls r0, 19
- adds r2, r0
- movs r5, 0
- b _08009A56
- .align 2, 0
-_08009A30: .4byte gUnknown_202D2A0
-_08009A34:
- ldm r3!, {r0}
- stm r2!, {r0}
- ldm r3!, {r0}
- stm r2!, {r0}
- ldm r3!, {r0}
- stm r2!, {r0}
- ldm r3!, {r0}
- stm r2!, {r0}
- ldm r3!, {r0}
- stm r2!, {r0}
- ldm r3!, {r0}
- stm r2!, {r0}
- ldm r3!, {r0}
- stm r2!, {r0}
- ldm r3!, {r0}
- stm r2!, {r0}
- adds r5, 0x1
-_08009A56:
- ldr r0, [r6, 0x8]
- cmp r5, r0
- ble _08009A34
- movs r5, 0
- lsls r4, r1, 6
-_08009A60:
- adds r0, r5, 0
- adds r0, 0xE0
- ldr r1, [r6, 0x10]
- adds r1, r4
- bl SetBGPaletteBufferColorArray
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, 0xF
- ble _08009A60
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8009A1C
-
- thumb_func_start sub_8009A7C
-sub_8009A7C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- str r0, [sp]
- adds r5, r1, 0
- str r2, [sp, 0x4]
- str r3, [sp, 0x8]
- ldr r0, [sp, 0x38]
- ldr r3, [sp, 0x40]
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08009AB4
- ldr r1, [r0]
- movs r2, 0
- str r2, [sp, 0x10]
- cmp r1, 0
- bne _08009AA8
- movs r7, 0x1
- str r7, [sp, 0x10]
-_08009AA8:
- ldr r1, [sp]
- ldr r0, [r1]
- cmp r5, r0
- blt _08009AB8
- movs r0, 0
- b _08009BCE
- .align 2, 0
-_08009AB4: .4byte gUnknown_202D2A0
-_08009AB8:
- lsls r5, 2
- mov r8, r5
- cmp r4, 0
- beq _08009AFA
- movs r0, 0
- ldr r2, _08009B74
- mov r10, r2
- ldr r4, _08009B78
- mov r9, r4
- ldr r1, [sp, 0x10]
- lsls r7, r1, 1
-_08009ACE:
- ldr r2, [sp, 0x10]
- adds r4, r0, 0x1
- mov r12, r4
- cmp r2, 0x1D
- bgt _08009AF4
- mov r6, r10
- mov r5, r9
- movs r4, 0
- lsls r0, 6
- adds r1, r7, r0
-_08009AE2:
- ldr r0, [r5]
- lsls r0, 11
- adds r0, r1, r0
- adds r0, r6
- strh r4, [r0]
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x1D
- ble _08009AE2
-_08009AF4:
- mov r0, r12
- cmp r0, 0x13
- ble _08009ACE
-_08009AFA:
- ldr r7, [sp]
- ldr r0, [r7, 0x4]
- add r0, r8
- ldr r5, [r0]
- ldrh r0, [r5, 0x4]
- mov r9, r0
- ldrh r1, [r5, 0x6]
- str r1, [sp, 0xC]
- ldr r2, [sp, 0x3C]
- cmp r2, 0
- beq _08009B14
- ldrh r0, [r5, 0x8]
- str r0, [r2]
-_08009B14:
- cmp r3, 0
- beq _08009B28
- ldrh r0, [r5, 0xA]
- strh r0, [r3]
- ldrh r0, [r5, 0xC]
- strh r0, [r3, 0x2]
- ldrh r0, [r5, 0xE]
- strh r0, [r3, 0x4]
- ldrh r0, [r5, 0x10]
- strh r0, [r3, 0x6]
-_08009B28:
- adds r5, 0x14
- ldr r4, [sp, 0x8]
- str r4, [sp, 0x14]
- movs r6, 0
- movs r0, 0
- ldr r7, [sp, 0xC]
- cmp r0, r7
- bge _08009BC4
- cmp r4, 0x13
- bgt _08009BC4
-_08009B3C:
- ldr r3, [sp, 0x4]
- adds r0, 0x1
- mov r12, r0
- ldr r0, [sp, 0x14]
- adds r0, 0x1
- mov r8, r0
- mov r1, r9
- cmp r1, 0
- beq _08009BB4
- ldr r2, _08009B74
- mov r10, r2
- mov r2, r9
-_08009B54:
- cmp r6, 0
- bne _08009B80
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r1, 0
- movs r4, 0xF0
- lsls r4, 8
- ands r0, r4
- cmp r0, 0
- bne _08009B6E
- ldr r6, _08009B7C
- ands r6, r1
- movs r1, 0
-_08009B6E:
- adds r4, r1, 0
- b _08009B82
- .align 2, 0
-_08009B74: .4byte gUnknown_202B038
-_08009B78: .4byte gUnknown_202D2A0
-_08009B7C: .4byte 0x000003ff
-_08009B80:
- movs r4, 0
-_08009B82:
- cmp r6, 0
- beq _08009B88
- subs r6, 0x1
-_08009B88:
- ldr r7, [sp, 0x10]
- cmp r3, r7
- blt _08009BAC
- cmp r3, 0x1D
- bgt _08009BAC
- ldr r0, [sp, 0x14]
- cmp r0, 0
- blt _08009BAC
- lsls r0, r3, 1
- ldr r7, [sp, 0x14]
- lsls r1, r7, 6
- adds r0, r1
- ldr r7, _08009BE0
- ldr r1, [r7]
- lsls r1, 11
- adds r0, r1
- add r0, r10
- strh r4, [r0]
-_08009BAC:
- subs r2, 0x1
- adds r3, 0x1
- cmp r2, 0
- bne _08009B54
-_08009BB4:
- mov r0, r12
- mov r1, r8
- str r1, [sp, 0x14]
- ldr r2, [sp, 0xC]
- cmp r0, r2
- bge _08009BC4
- cmp r1, 0x13
- ble _08009B3C
-_08009BC4:
- ldr r4, _08009BE0
- ldr r0, [r4]
- bl sub_80098F8
- movs r0, 0x1
-_08009BCE:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08009BE0: .4byte gUnknown_202D2A0
- thumb_func_end sub_8009A7C
-
- thumb_func_start sub_8009BE4
-sub_8009BE4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0x20
- mov r12, r0
- ldr r0, _08009C54
- ldr r1, [r0]
- movs r2, 0
- mov r10, r2
- mov r9, r0
- cmp r1, 0
- bne _08009C04
- movs r7, 0x1
- mov r10, r7
-_08009C04:
- movs r0, 0
- mov r1, r10
- lsls r1, 1
- mov r8, r1
-_08009C0C:
- mov r1, r10
- adds r3, r0, 0x1
- cmp r1, r12
- bge _08009C36
- ldr r6, _08009C58
- ldr r5, _08009C54
- movs r4, 0
- lsls r0, 6
- mov r7, r8
- adds r2, r7, r0
- mov r0, r12
- subs r1, r0, r1
-_08009C24:
- ldr r0, [r5]
- lsls r0, 11
- adds r0, r2, r0
- adds r0, r6
- strh r4, [r0]
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _08009C24
-_08009C36:
- adds r0, r3, 0
- cmp r0, 0x1F
- ble _08009C0C
- mov r1, r9
- ldr r0, [r1]
- bl sub_80098F8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08009C54: .4byte gUnknown_202D2A0
-_08009C58: .4byte gUnknown_202B038
- thumb_func_end sub_8009BE4
-
- thumb_func_start sub_8009C5C
-sub_8009C5C:
- push {lr}
- adds r1, r0, 0
- cmp r1, 0xFF
- ble _08009C6C
- movs r1, 0x3
- bl __modsi3
- b _08009C72
-_08009C6C:
- ldr r0, _08009C78
- adds r0, r1, r0
- ldrb r0, [r0]
-_08009C72:
- pop {r1}
- bx r1
- .align 2, 0
-_08009C78: .4byte gUnknown_80B88E4
- thumb_func_end sub_8009C5C
-
- thumb_func_start sub_8009C7C
-sub_8009C7C:
- push {lr}
- adds r2, r0, 0
- movs r3, 0xC0
- lsls r3, 4
- adds r1, r2, 0
- ands r1, r3
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- beq _08009CB8
- cmp r1, r0
- bgt _08009C9A
- cmp r1, 0
- beq _08009CA8
- b _08009CFC
-_08009C9A:
- movs r0, 0x80
- lsls r0, 4
- cmp r1, r0
- beq _08009CD0
- cmp r1, r3
- beq _08009CE0
- b _08009CFC
-_08009CA8:
- ldr r0, _08009CB0
- ldr r1, _08009CB4
- ands r1, r2
- b _08009CBE
- .align 2, 0
-_08009CB0: .4byte gUnknown_80B8AE4
-_08009CB4: .4byte 0x000003ff
-_08009CB8:
- ldr r0, _08009CC8
- ldr r1, _08009CCC
- bics r1, r2
-_08009CBE:
- lsls r1, 1
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- b _08009CFE
- .align 2, 0
-_08009CC8: .4byte gUnknown_80B8AE4
-_08009CCC: .4byte 0x000003ff
-_08009CD0:
- ldr r0, _08009CD8
- ldr r1, _08009CDC
- ands r1, r2
- b _08009CE6
- .align 2, 0
-_08009CD8: .4byte gUnknown_80B8AE4
-_08009CDC: .4byte 0x000003ff
-_08009CE0:
- ldr r0, _08009CF4
- ldr r1, _08009CF8
- bics r1, r2
-_08009CE6:
- lsls r1, 1
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- negs r0, r0
- b _08009CFE
- .align 2, 0
-_08009CF4: .4byte gUnknown_80B8AE4
-_08009CF8: .4byte 0x000003ff
-_08009CFC:
- movs r0, 0
-_08009CFE:
- pop {r1}
- bx r1
- thumb_func_end sub_8009C7C
-
- thumb_func_start sub_8009D04
-sub_8009D04:
- push {lr}
- adds r2, r0, 0
- movs r3, 0xC0
- lsls r3, 4
- adds r1, r2, 0
- ands r1, r3
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- beq _08009D40
- cmp r1, r0
- bgt _08009D22
- cmp r1, 0
- beq _08009D30
- b _08009D84
-_08009D22:
- movs r0, 0x80
- lsls r0, 4
- cmp r1, r0
- beq _08009D50
- cmp r1, r3
- beq _08009D6C
- b _08009D84
-_08009D30:
- ldr r0, _08009D38
- ldr r1, _08009D3C
- bics r1, r2
- b _08009D72
- .align 2, 0
-_08009D38: .4byte gUnknown_80B8AE4
-_08009D3C: .4byte 0x000003ff
-_08009D40:
- ldr r0, _08009D48
- ldr r1, _08009D4C
- ands r1, r2
- b _08009D56
- .align 2, 0
-_08009D48: .4byte gUnknown_80B8AE4
-_08009D4C: .4byte 0x000003ff
-_08009D50:
- ldr r0, _08009D64
- ldr r1, _08009D68
- bics r1, r2
-_08009D56:
- lsls r1, 1
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- negs r0, r0
- b _08009D86
- .align 2, 0
-_08009D64: .4byte gUnknown_80B8AE4
-_08009D68: .4byte 0x000003ff
-_08009D6C:
- ldr r0, _08009D7C
- ldr r1, _08009D80
- ands r1, r2
-_08009D72:
- lsls r1, 1
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- b _08009D86
- .align 2, 0
-_08009D7C: .4byte gUnknown_80B8AE4
-_08009D80: .4byte 0x000003ff
-_08009D84:
- movs r0, 0
-_08009D86:
- pop {r1}
- bx r1
- thumb_func_end sub_8009D04
-
- thumb_func_start sub_8009D8C
-sub_8009D8C:
- push {lr}
- cmp r0, r2
- bcc _08009D9A
- cmp r0, r2
- bhi _08009D9E
- cmp r1, r3
- bcs _08009D9E
-_08009D9A:
- movs r0, 0x1
- b _08009DA0
-_08009D9E:
- movs r0, 0
-_08009DA0:
- pop {r1}
- bx r1
- thumb_func_end sub_8009D8C
-
- thumb_func_start sub_8009DA4
-sub_8009DA4:
- push {r4,r5,lr}
- lsrs r2, r0, 31
- adds r5, r2, 0
- lsrs r3, r1, 31
- adds r4, r3, 0
- cmp r0, 0
- beq _08009DB6
- cmp r1, 0
- bne _08009DBA
-_08009DB6:
- movs r0, 0
- b _08009DD0
-_08009DBA:
- cmp r2, 0
- beq _08009DC0
- negs r0, r0
-_08009DC0:
- cmp r3, 0
- beq _08009DC6
- negs r1, r1
-_08009DC6:
- bl sub_8009E14
- cmp r5, r4
- beq _08009DD0
- negs r0, r0
-_08009DD0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8009DA4
-
- thumb_func_start sub_8009DD8
-sub_8009DD8:
- push {r4,r5,lr}
- lsrs r2, r0, 31
- adds r5, r2, 0
- lsrs r3, r1, 31
- adds r4, r3, 0
- cmp r1, 0
- bne _08009DF0
- ldr r0, _08009DEC
- b _08009E0E
- .align 2, 0
-_08009DEC: .4byte 0x7fffffff
-_08009DF0:
- cmp r0, 0
- bne _08009DF8
- movs r0, 0
- b _08009E0E
-_08009DF8:
- cmp r2, 0
- beq _08009DFE
- negs r0, r0
-_08009DFE:
- cmp r3, 0
- beq _08009E04
- negs r1, r1
-_08009E04:
- bl sub_8009EA0
- cmp r5, r4
- beq _08009E0E
- negs r0, r0
-_08009E0E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8009DD8
-
- thumb_func_start sub_8009E14
-sub_8009E14:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- cmp r0, 0
- beq _08009E24
- cmp r1, 0
- bne _08009E28
-_08009E24:
- movs r0, 0
- b _08009E94
-_08009E28:
- movs r5, 0
- adds r3, r0, 0
- mov r12, r5
- movs r6, 0
- movs r4, 0
- movs r0, 0x80
- lsls r0, 24
- mov r8, r0
- movs r7, 0x3F
- mov r9, r7
-_08009E3C:
- adds r2, r4, 0
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08009E50
- adds r4, r3
- adds r6, r5
- cmp r2, r4
- bls _08009E50
- adds r6, 0x1
-_08009E50:
- lsrs r1, 1
- movs r2, 0x1
- mov r0, r12
- ands r0, r2
- cmp r0, 0
- beq _08009E60
- mov r0, r8
- orrs r1, r0
-_08009E60:
- mov r7, r12
- lsrs r7, 1
- mov r12, r7
- lsls r5, 1
- adds r0, r3, 0
- mov r7, r8
- ands r0, r7
- cmp r0, 0
- beq _08009E74
- orrs r5, r2
-_08009E74:
- lsls r3, 1
- movs r0, 0x1
- negs r0, r0
- add r9, r0
- mov r7, r9
- cmp r7, 0
- bge _08009E3C
- lsrs r1, r4, 7
- ands r1, r2
- lsrs r4, 8
- lsls r0, r6, 24
- orrs r4, r0
- cmp r1, 0
- beq _08009E92
- adds r4, 0x1
-_08009E92:
- adds r0, r4, 0
-_08009E94:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8009E14
-
- thumb_func_start sub_8009EA0
-sub_8009EA0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- cmp r1, 0
- bne _08009EB8
- ldr r0, _08009EB4
- b _08009F58
- .align 2, 0
-_08009EB4: .4byte 0x7fffffff
-_08009EB8:
- cmp r0, 0
- bne _08009EC0
- movs r0, 0
- b _08009F58
-_08009EC0:
- lsrs r7, r0, 24
- lsls r6, r0, 8
- mov r10, r1
- movs r0, 0
- mov r9, r0
- movs r5, 0
- movs r4, 0
- movs r1, 0x1
- mov r8, r1
- movs r2, 0x3F
- str r2, [sp]
-_08009ED6:
- lsls r5, 1
- adds r0, r4, 0
- movs r1, 0x80
- lsls r1, 24
- ands r0, r1
- cmp r0, 0
- beq _08009EE8
- mov r2, r8
- orrs r5, r2
-_08009EE8:
- movs r1, 0x2
- negs r1, r1
- lsls r4, 1
- adds r0, r7, 0
- movs r2, 0x80
- lsls r2, 24
- ands r0, r2
- cmp r0, 0
- beq _08009EFE
- mov r0, r8
- orrs r4, r0
-_08009EFE:
- lsls r7, 1
- adds r0, r6, 0
- movs r2, 0x80
- lsls r2, 24
- ands r0, r2
- cmp r0, 0
- beq _08009F10
- mov r0, r8
- orrs r7, r0
-_08009F10:
- lsls r6, 1
- ands r6, r1
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- mov r3, r10
- bl sub_8009D8C
- lsls r0, 24
- cmp r0, 0
- bne _08009F3A
- adds r0, r4, 0
- movs r1, 0x1
- mov r2, r10
- subs r4, r2
- movs r2, 0
- subs r5, r2
- cmp r0, r4
- bcs _08009F3C
- subs r5, 0x1
- b _08009F3C
-_08009F3A:
- movs r1, 0
-_08009F3C:
- mov r0, r9
- lsls r0, 1
- mov r9, r0
- cmp r1, 0
- beq _08009F4C
- mov r1, r8
- orrs r0, r1
- mov r9, r0
-_08009F4C:
- ldr r2, [sp]
- subs r2, 0x1
- str r2, [sp]
- cmp r2, 0
- bge _08009ED6
- mov r0, r9
-_08009F58:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8009EA0
-
- thumb_func_start sub_8009F68
-sub_8009F68:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- adds r4, r6, 0
- cmp r6, 0
- bge _08009F76
- negs r4, r6
-_08009F76:
- movs r7, 0x80
- lsls r7, 1
- cmp r4, 0
- beq _08009FA0
-_08009F7E:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08009F90
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_8009DA4
- adds r7, r0, 0
-_08009F90:
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_8009DA4
- adds r5, r0, 0
- asrs r4, 1
- cmp r4, 0
- bne _08009F7E
-_08009FA0:
- cmp r6, 0
- bge _08009FB0
- movs r0, 0x80
- lsls r0, 1
- adds r1, r7, 0
- bl sub_8009DD8
- b _08009FB2
-_08009FB0:
- adds r0, r7, 0
-_08009FB2:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8009F68
-
- thumb_func_start sub_8009FB8
-sub_8009FB8:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- cmp r5, 0
- bge _08009FC4
- negs r5, r5
-_08009FC4:
- cmp r6, 0
- bge _08009FCA
- negs r6, r6
-_08009FCA:
- cmp r5, r6
- bge _08009FD4
- adds r4, r5, 0
- adds r5, r6, 0
- adds r6, r4, 0
-_08009FD4:
- cmp r6, 0
- beq _0800A016
- movs r7, 0x2
-_08009FDA:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8009DD8
- adds r4, r0, 0
- adds r1, r4, 0
- bl sub_8009DA4
- adds r4, r0, 0
- movs r0, 0x80
- lsls r0, 3
- adds r1, r4, r0
- adds r0, r4, 0
- bl sub_8009DD8
- adds r4, r0, 0
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8009DA4
- lsls r0, 1
- adds r5, r0
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8009DA4
- adds r6, r0, 0
- subs r7, 0x1
- cmp r7, 0
- bge _08009FDA
-_0800A016:
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8009FB8
-
- thumb_func_start sub_800A020
-sub_800A020:
- push {r4,lr}
- adds r3, r0, 0
- ldr r4, _0800A044
- lsrs r2, r1, 16
- str r2, [r3]
- lsls r0, r1, 16
- str r0, [r3, 0x4]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _0800A03C
- orrs r2, r4
- str r2, [r3]
-_0800A03C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A044: .4byte 0xffff0000
- thumb_func_end sub_800A020
-
- thumb_func_start sub_800A048
-sub_800A048:
- push {lr}
- ldrh r1, [r0]
- lsls r2, r1, 16
- ldr r0, [r0, 0x4]
- lsrs r1, r0, 16
- orrs r2, r1
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0800A060
- adds r2, 0x1
-_0800A060:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_800A048
-
- thumb_func_start sub_800A068
-sub_800A068:
- push {lr}
- ldrb r1, [r0]
- lsls r2, r1, 24
- ldr r0, [r0, 0x4]
- lsrs r1, r0, 8
- orrs r2, r1
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0800A080
- adds r2, 0x1
-_0800A080:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_800A068
-
- thumb_func_start sub_800A088
-sub_800A088:
- push {lr}
- adds r2, r0, 0
- lsls r0, r1, 8
- str r0, [r2, 0x4]
- asrs r1, 24
- str r1, [r2]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0800A0A4
- movs r0, 0x80
- negs r0, r0
- orrs r1, r0
- b _0800A0A8
-_0800A0A4:
- movs r0, 0x7F
- ands r1, r0
-_0800A0A8:
- str r1, [r2]
- pop {r0}
- bx r0
- thumb_func_end sub_800A088
-
- thumb_func_start sub_800A0B0
-sub_800A0B0:
- push {lr}
- ldr r2, [r0, 0x4]
- ldr r3, [r0]
- cmp r2, 0
- bne _0800A0C2
- cmp r3, 0
- bne _0800A0C2
- movs r0, 0
- b _0800A254
-_0800A0C2:
- cmp r2, 0
- ble _0800A18C
- cmp r3, 0
- ble _0800A124
- cmp r2, r3
- bge _0800A0F0
- asrs r1, r3, 8
- cmp r1, 0
- beq _0800A0FE
- adds r0, r2, 0
- bl __divsi3
- adds r2, r0, 0
- cmp r2, 0xFF
- ble _0800A0E2
- movs r2, 0xFF
-_0800A0E2:
- ldr r0, _0800A0EC
- lsls r1, r2, 2
- adds r1, r0
- ldr r0, [r1]
- b _0800A252
- .align 2, 0
-_0800A0EC: .4byte gUnknown_80B92E4
-_0800A0F0:
- adds r1, r2, 0
- cmp r2, 0
- bge _0800A0F8
- adds r1, 0xFF
-_0800A0F8:
- asrs r1, 8
- cmp r1, 0
- bne _0800A104
-_0800A0FE:
- movs r0, 0x80
- lsls r0, 2
- b _0800A254
-_0800A104:
- adds r0, r3, 0
- bl __divsi3
- adds r2, r0, 0
- cmp r2, 0xFF
- ble _0800A112
- movs r2, 0xFF
-_0800A112:
- ldr r1, _0800A120
- lsls r0, r2, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x40
- b _0800A250
- .align 2, 0
-_0800A120: .4byte gUnknown_80B92E4
-_0800A124:
- negs r3, r3
- cmp r2, r3
- bge _0800A158
- adds r1, r3, 0
- cmp r3, 0
- bge _0800A132
- adds r1, 0xFF
-_0800A132:
- asrs r1, 8
- cmp r1, 0
- beq _0800A166
- adds r0, r2, 0
- bl __divsi3
- adds r2, r0, 0
- cmp r2, 0xFF
- ble _0800A146
- movs r2, 0xFF
-_0800A146:
- ldr r1, _0800A154
- lsls r0, r2, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x80
- b _0800A250
- .align 2, 0
-_0800A154: .4byte gUnknown_80B92E4
-_0800A158:
- adds r1, r2, 0
- cmp r2, 0
- bge _0800A160
- adds r1, 0xFF
-_0800A160:
- asrs r1, 8
- cmp r1, 0
- bne _0800A16C
-_0800A166:
- movs r0, 0xC0
- lsls r0, 3
- b _0800A254
-_0800A16C:
- adds r0, r3, 0
- bl __divsi3
- adds r2, r0, 0
- cmp r2, 0xFF
- ble _0800A17A
- movs r2, 0xFF
-_0800A17A:
- ldr r0, _0800A188
- lsls r1, r2, 2
- adds r1, r0
- ldr r0, [r1]
- adds r0, 0x40
- b _0800A252
- .align 2, 0
-_0800A188: .4byte gUnknown_80B92E4
-_0800A18C:
- negs r2, r2
- cmp r3, 0
- ble _0800A1F0
- cmp r2, r3
- bge _0800A1BC
- asrs r1, r3, 8
- cmp r1, 0
- beq _0800A1CA
- adds r0, r2, 0
- bl __divsi3
- adds r2, r0, 0
- cmp r2, 0xFF
- ble _0800A1AA
- movs r2, 0xFF
-_0800A1AA:
- ldr r1, _0800A1B8
- lsls r0, r2, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- b _0800A250
- .align 2, 0
-_0800A1B8: .4byte gUnknown_80B92E4
-_0800A1BC:
- adds r1, r2, 0
- cmp r2, 0
- bge _0800A1C4
- adds r1, 0xFF
-_0800A1C4:
- asrs r1, 8
- cmp r1, 0
- bne _0800A1D0
-_0800A1CA:
- movs r0, 0xE0
- lsls r0, 4
- b _0800A254
-_0800A1D0:
- adds r0, r3, 0
- bl __divsi3
- adds r2, r0, 0
- cmp r2, 0xFF
- ble _0800A1DE
- movs r2, 0xFF
-_0800A1DE:
- ldr r0, _0800A1EC
- lsls r1, r2, 2
- adds r1, r0
- ldr r0, [r1]
- adds r0, 0xC0
- b _0800A252
- .align 2, 0
-_0800A1EC: .4byte gUnknown_80B92E4
-_0800A1F0:
- negs r3, r3
- cmp r2, r3
- bge _0800A224
- adds r1, r3, 0
- cmp r3, 0
- bge _0800A1FE
- adds r1, 0xFF
-_0800A1FE:
- asrs r1, 8
- cmp r1, 0
- beq _0800A232
- adds r0, r2, 0
- bl __divsi3
- adds r2, r0, 0
- cmp r2, 0xFF
- ble _0800A212
- movs r2, 0xFF
-_0800A212:
- ldr r0, _0800A220
- lsls r1, r2, 2
- adds r1, r0
- ldr r0, [r1]
- adds r0, 0x80
- b _0800A252
- .align 2, 0
-_0800A220: .4byte gUnknown_80B92E4
-_0800A224:
- adds r0, r2, 0
- cmp r0, 0
- bge _0800A22C
- adds r0, 0xFF
-_0800A22C:
- asrs r1, r0, 8
- cmp r1, 0
- bne _0800A238
-_0800A232:
- movs r0, 0xA0
- lsls r0, 4
- b _0800A254
-_0800A238:
- adds r0, r3, 0
- bl __divsi3
- adds r2, r0, 0
- cmp r2, 0xFF
- ble _0800A246
- movs r2, 0xFF
-_0800A246:
- ldr r1, _0800A258
- lsls r0, r2, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0xC0
-_0800A250:
- subs r0, r1
-_0800A252:
- lsls r0, 4
-_0800A254:
- pop {r1}
- bx r1
- .align 2, 0
-_0800A258: .4byte gUnknown_80B92E4
- thumb_func_end sub_800A0B0
-
- thumb_func_start sub_800A25C
-sub_800A25C:
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1]
- mvns r2, r0
- str r2, [r1]
- ldr r0, [r1, 0x4]
- mvns r0, r0
- adds r0, 0x1
- str r0, [r1, 0x4]
- cmp r0, 0
- bne _0800A276
- adds r0, r2, 0x1
- str r0, [r1]
-_0800A276:
- pop {r0}
- bx r0
- thumb_func_end sub_800A25C
-
- thumb_func_start sub_800A27C
-sub_800A27C:
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1]
- cmp r0, 0
- bge _0800A29A
- mvns r2, r0
- str r2, [r1]
- ldr r0, [r1, 0x4]
- mvns r0, r0
- adds r0, 0x1
- str r0, [r1, 0x4]
- cmp r0, 0
- bne _0800A29A
- adds r0, r2, 0x1
- str r0, [r1]
-_0800A29A:
- pop {r0}
- bx r0
- thumb_func_end sub_800A27C
-
- thumb_func_start sub_800A2A0
-sub_800A2A0:
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1]
- cmp r0, 0
- bne _0800A2B4
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bne _0800A2B4
- movs r0, 0x1
- b _0800A2B6
-_0800A2B4:
- movs r0, 0
-_0800A2B6:
- pop {r1}
- bx r1
- thumb_func_end sub_800A2A0
-
- thumb_func_start sub_800A2BC
-sub_800A2BC:
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- ldr r1, [r2]
- ldr r0, [r3]
- cmp r1, r0
- bne _0800A2D6
- ldr r1, [r2, 0x4]
- ldr r0, [r3, 0x4]
- cmp r1, r0
- bne _0800A2D6
- movs r0, 0x1
- b _0800A2D8
-_0800A2D6:
- movs r0, 0
-_0800A2D8:
- pop {r1}
- bx r1
- thumb_func_end sub_800A2BC
-
- thumb_func_start sub_800A2DC
-sub_800A2DC:
- push {lr}
- ldr r0, [r0]
- cmp r0, 0
- blt _0800A2E8
- movs r0, 0
- b _0800A2EA
-_0800A2E8:
- movs r0, 0x1
-_0800A2EA:
- pop {r1}
- bx r1
- thumb_func_end sub_800A2DC
-
- thumb_func_start sub_800A2F0
-sub_800A2F0:
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r4, [r3]
- lsrs r1, r4, 31
- ldr r5, [r2]
- cmp r5, 0
- bge _0800A304
- movs r0, 0x2
- orrs r1, r0
-_0800A304:
- cmp r1, 0x1
- beq _0800A326
- cmp r1, 0x1
- ble _0800A314
- cmp r1, 0x2
- beq _0800A32A
- cmp r1, 0x3
- beq _0800A32E
-_0800A314:
- ldr r1, [r3, 0x4]
- ldr r3, [r2, 0x4]
- adds r0, r4, 0
- adds r2, r5, 0
- bl sub_8009D8C
- lsls r0, 24
- lsrs r0, 24
- b _0800A346
-_0800A326:
- movs r0, 0x1
- b _0800A346
-_0800A32A:
- movs r0, 0
- b _0800A346
-_0800A32E:
- ldr r1, [r3, 0x4]
- ldr r3, [r2, 0x4]
- adds r0, r4, 0
- adds r2, r5, 0
- bl sub_8009D8C
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _0800A344
- movs r1, 0x1
-_0800A344:
- adds r0, r1, 0
-_0800A346:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_800A2F0
-
- thumb_func_start sub_800A34C
-sub_800A34C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r6, r0, 0
- ldr r0, [r1]
- str r0, [sp]
- ldr r0, [r1, 0x4]
- str r0, [sp, 0x4]
- ldr r0, [r2]
- str r0, [sp, 0x8]
- ldr r0, [r2, 0x4]
- add r5, sp, 0x8
- str r0, [r5, 0x4]
- mov r0, sp
- bl sub_800A2DC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r10, r8
- adds r0, r5, 0
- bl sub_800A2DC
- lsls r0, 24
- lsrs r7, r0, 24
- mov r9, r7
- mov r0, sp
- bl sub_800A2A0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0800A39A
- movs r0, 0
- str r0, [r6]
- b _0800A3DE
-_0800A39A:
- adds r0, r5, 0
- bl sub_800A2A0
- lsls r0, 24
- cmp r0, 0
- beq _0800A3AC
- str r4, [r6]
- str r4, [r6, 0x4]
- b _0800A3E0
-_0800A3AC:
- mov r0, r8
- cmp r0, 0
- beq _0800A3B8
- mov r0, sp
- bl sub_800A25C
-_0800A3B8:
- cmp r7, 0
- beq _0800A3C2
- adds r0, r5, 0
- bl sub_800A25C
-_0800A3C2:
- add r4, sp, 0x10
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- bl sub_800A4E4
- cmp r10, r9
- beq _0800A3D8
- adds r0, r4, 0
- bl sub_800A25C
-_0800A3D8:
- ldr r0, [sp, 0x10]
- str r0, [r6]
- ldr r0, [r4, 0x4]
-_0800A3DE:
- str r0, [r6, 0x4]
-_0800A3E0:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800A34C
-
- thumb_func_start sub_800A3F0
-sub_800A3F0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r6, r0, 0
- ldr r0, [r1]
- str r0, [sp]
- ldr r0, [r1, 0x4]
- str r0, [sp, 0x4]
- ldr r0, [r2]
- str r0, [sp, 0x8]
- ldr r0, [r2, 0x4]
- add r5, sp, 0x8
- str r0, [r5, 0x4]
- mov r0, sp
- bl sub_800A2DC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r10, r8
- adds r0, r5, 0
- bl sub_800A2DC
- lsls r0, 24
- lsrs r7, r0, 24
- mov r9, r7
- adds r0, r5, 0
- bl sub_800A2A0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0800A448
- ldr r0, _0800A444
- str r0, [r6]
- movs r0, 0x1
- negs r0, r0
- b _0800A48C
- .align 2, 0
-_0800A444: .4byte 0x7fffffff
-_0800A448:
- mov r0, sp
- bl sub_800A2A0
- lsls r0, 24
- cmp r0, 0
- beq _0800A45A
- str r4, [r6]
- str r4, [r6, 0x4]
- b _0800A48E
-_0800A45A:
- mov r0, r8
- cmp r0, 0
- beq _0800A466
- mov r0, sp
- bl sub_800A25C
-_0800A466:
- cmp r7, 0
- beq _0800A470
- adds r0, r5, 0
- bl sub_800A25C
-_0800A470:
- add r4, sp, 0x10
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- bl sub_800A5A4
- cmp r10, r9
- beq _0800A486
- adds r0, r4, 0
- bl sub_800A25C
-_0800A486:
- ldr r0, [sp, 0x10]
- str r0, [r6]
- ldr r0, [r4, 0x4]
-_0800A48C:
- str r0, [r6, 0x4]
-_0800A48E:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800A3F0
-
- thumb_func_start sub_800A4A0
-sub_800A4A0:
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- ldr r0, [r5]
- str r0, [sp]
- ldr r0, [r5, 0x4]
- str r0, [sp, 0x4]
- mov r0, sp
- bl sub_800A2A0
- lsls r0, 24
- cmp r0, 0
- beq _0800A4C0
- movs r0, 0
- str r0, [r5]
- b _0800A4D8
-_0800A4C0:
- mov r0, sp
- bl sub_800A27C
- add r4, sp, 0x8
- adds r0, r4, 0
- mov r1, sp
- mov r2, sp
- bl sub_800A4E4
- ldr r0, [sp, 0x8]
- str r0, [r5]
- ldr r0, [r4, 0x4]
-_0800A4D8:
- str r0, [r5, 0x4]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_800A4A0
-
- thumb_func_start sub_800A4E4
-sub_800A4E4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r0, r5, 0
- bl sub_800A2A0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0800A50C
- movs r0, 0
- mov r1, r8
- str r0, [r1]
- str r0, [r1, 0x4]
- b _0800A596
-_0800A50C:
- adds r0, r6, 0
- bl sub_800A2A0
- lsls r0, 24
- cmp r0, 0
- beq _0800A520
- mov r7, r8
- str r4, [r7]
- str r4, [r7, 0x4]
- b _0800A596
-_0800A520:
- ldr r1, [r5]
- ldr r4, [r5, 0x4]
- ldr r0, [r6]
- mov r10, r0
- ldr r2, [r6, 0x4]
- movs r6, 0
- movs r5, 0
- movs r7, 0x80
- lsls r7, 24
- mov r9, r7
- movs r0, 0x3F
- mov r12, r0
-_0800A538:
- adds r3, r5, 0
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _0800A54C
- adds r5, r4
- adds r6, r1
- cmp r3, r5
- bls _0800A54C
- adds r6, 0x1
-_0800A54C:
- lsrs r2, 1
- movs r3, 0x1
- mov r0, r10
- ands r0, r3
- cmp r0, 0
- beq _0800A55C
- mov r7, r9
- orrs r2, r7
-_0800A55C:
- mov r0, r10
- lsrs r0, 1
- mov r10, r0
- lsls r1, 1
- adds r0, r4, 0
- mov r7, r9
- ands r0, r7
- cmp r0, 0
- beq _0800A570
- orrs r1, r3
-_0800A570:
- lsls r4, 1
- movs r0, 0x1
- negs r0, r0
- add r12, r0
- mov r7, r12
- cmp r7, 0
- bge _0800A538
- lsrs r1, r5, 15
- ands r1, r3
- lsrs r5, 16
- lsls r0, r6, 16
- orrs r5, r0
- lsrs r6, 16
- cmp r1, 0
- beq _0800A590
- adds r5, 0x1
-_0800A590:
- mov r0, r8
- str r6, [r0]
- str r5, [r0, 0x4]
-_0800A596:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800A4E4
-
- thumb_func_start sub_800A5A4
-sub_800A5A4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- str r0, [sp]
- adds r5, r1, 0
- mov r8, r2
- mov r0, r8
- bl sub_800A2A0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0800A5D8
- ldr r0, _0800A5D4
- ldr r1, [sp]
- str r0, [r1]
- movs r0, 0x1
- negs r0, r0
- str r0, [r1, 0x4]
- b _0800A6BE
- .align 2, 0
-_0800A5D4: .4byte 0x7fffffff
-_0800A5D8:
- adds r0, r5, 0
- bl sub_800A2A0
- lsls r0, 24
- cmp r0, 0
- beq _0800A5EC
- ldr r2, [sp]
- str r4, [r2]
- str r4, [r2, 0x4]
- b _0800A6BE
-_0800A5EC:
- ldr r0, [r5]
- lsls r7, r0, 16
- ldr r1, [r5, 0x4]
- lsrs r0, r1, 16
- orrs r7, r0
- lsls r6, r1, 16
- movs r0, 0x80
- lsls r0, 8
- orrs r6, r0
- mov r0, r8
- ldr r0, [r0]
- str r0, [sp, 0x4]
- mov r1, r8
- ldr r1, [r1, 0x4]
- str r1, [sp, 0x8]
- movs r2, 0
- str r2, [sp, 0xC]
- mov r9, r2
- movs r5, 0
- movs r4, 0
- movs r0, 0x80
- lsls r0, 24
- mov r10, r0
- movs r1, 0x1
- mov r8, r1
- movs r2, 0x3F
- str r2, [sp, 0x10]
-_0800A622:
- lsls r5, 1
- adds r0, r4, 0
- mov r1, r10
- ands r0, r1
- cmp r0, 0
- beq _0800A632
- mov r2, r8
- orrs r5, r2
-_0800A632:
- movs r1, 0x2
- negs r1, r1
- lsls r4, 1
- adds r0, r7, 0
- mov r2, r10
- ands r0, r2
- cmp r0, 0
- beq _0800A646
- mov r0, r8
- orrs r4, r0
-_0800A646:
- lsls r7, 1
- adds r0, r6, 0
- mov r2, r10
- ands r0, r2
- cmp r0, 0
- beq _0800A656
- mov r0, r8
- orrs r7, r0
-_0800A656:
- lsls r6, 1
- ands r6, r1
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, [sp, 0x4]
- ldr r3, [sp, 0x8]
- bl sub_8009D8C
- lsls r0, 24
- cmp r0, 0
- bne _0800A680
- adds r0, r4, 0
- movs r1, 0x1
- ldr r2, [sp, 0x8]
- subs r4, r2
- ldr r2, [sp, 0x4]
- subs r5, r2
- cmp r0, r4
- bcs _0800A682
- subs r5, 0x1
- b _0800A682
-_0800A680:
- movs r1, 0
-_0800A682:
- ldr r0, [sp, 0xC]
- lsls r0, 1
- str r0, [sp, 0xC]
- mov r0, r9
- mov r2, r10
- ands r0, r2
- cmp r0, 0
- beq _0800A69A
- ldr r0, [sp, 0xC]
- mov r2, r8
- orrs r0, r2
- str r0, [sp, 0xC]
-_0800A69A:
- mov r0, r9
- lsls r0, 1
- mov r9, r0
- cmp r1, 0
- beq _0800A6AA
- mov r1, r8
- orrs r0, r1
- mov r9, r0
-_0800A6AA:
- ldr r2, [sp, 0x10]
- subs r2, 0x1
- str r2, [sp, 0x10]
- cmp r2, 0
- bge _0800A622
- ldr r0, [sp, 0xC]
- ldr r1, [sp]
- str r0, [r1]
- mov r2, r9
- str r2, [r1, 0x4]
-_0800A6BE:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800A5A4
-
- thumb_func_start sub_800A6D0
-sub_800A6D0:
- push {r4,lr}
- adds r4, r0, 0
- ldr r3, [r1]
- ldr r0, [r2]
- adds r3, r0
- ldr r1, [r1, 0x4]
- ldr r0, [r2, 0x4]
- adds r0, r1, r0
- cmp r0, r1
- bcs _0800A6E6
- adds r3, 0x1
-_0800A6E6:
- str r3, [r4]
- str r0, [r4, 0x4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_800A6D0
-
- thumb_func_start sub_800A6F0
-sub_800A6F0:
- push {r4,lr}
- adds r4, r0, 0
- ldr r3, [r1]
- ldr r0, [r2]
- subs r3, r0
- ldr r1, [r1, 0x4]
- ldr r0, [r2, 0x4]
- subs r0, r1, r0
- cmp r0, r1
- bls _0800A706
- subs r3, 0x1
-_0800A706:
- str r3, [r4]
- str r0, [r4, 0x4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_800A6F0
-
- thumb_func_start sub_800A710
-sub_800A710:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- mov r8, r0
- adds r6, r2, 0
- ldr r0, [r1]
- str r0, [sp]
- ldr r0, [r1, 0x4]
- str r0, [sp, 0x4]
- adds r4, r6, 0
- cmp r6, 0
- bge _0800A72C
- negs r4, r6
-_0800A72C:
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0x80
- lsls r1, 9
- add r0, sp, 0x8
- str r1, [r0, 0x4]
- adds r7, r0, 0
- cmp r4, 0
- beq _0800A75E
- adds r5, r7, 0
-_0800A740:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0800A752
- adds r0, r5, 0
- adds r1, r5, 0
- mov r2, sp
- bl sub_800A34C
-_0800A752:
- mov r0, sp
- bl sub_800A4A0
- asrs r4, 1
- cmp r4, 0
- bne _0800A740
-_0800A75E:
- cmp r6, 0
- bge _0800A776
- movs r0, 0
- str r0, [sp, 0x10]
- movs r0, 0x80
- lsls r0, 9
- add r1, sp, 0x10
- str r0, [r1, 0x4]
- adds r0, r7, 0
- adds r2, r7, 0
- bl sub_800A3F0
-_0800A776:
- ldr r0, [sp, 0x8]
- mov r1, r8
- str r0, [r1]
- ldr r0, [r7, 0x4]
- str r0, [r1, 0x4]
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800A710
-
- thumb_func_start sub_800A78C
-sub_800A78C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r10, r0
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- mov r0, sp
- bl sub_800A27C
- add r4, sp, 0x8
- adds r0, r4, 0
- bl sub_800A27C
- mov r0, sp
- adds r1, r4, 0
- bl sub_800A2F0
- lsls r0, 24
- mov r8, r4
- cmp r0, 0
- beq _0800A7DC
- ldr r2, [sp]
- ldr r3, [sp, 0x4]
- str r2, [sp, 0x10]
- str r3, [sp, 0x14]
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0xC]
- str r0, [sp]
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
-_0800A7DC:
- mov r0, r8
- bl sub_800A2A0
- lsls r0, 24
- cmp r0, 0
- bne _0800A878
- movs r0, 0
- mov r9, r0
- add r7, sp, 0x10
- add r6, sp, 0x18
- b _0800A800
-_0800A7F2:
- mov r0, r8
- mov r1, r8
- adds r2, r7, 0
- bl sub_800A34C
- movs r2, 0x1
- add r9, r2
-_0800A800:
- adds r4, r7, 0
- mov r1, r8
- adds r0, r4, 0
- mov r2, sp
- bl sub_800A3F0
- adds r0, r4, 0
- bl sub_800A4A0
- ldr r0, [sp, 0x10]
- str r0, [sp, 0x18]
- ldr r1, [r4, 0x4]
- movs r0, 0x80
- lsls r0, 11
- adds r1, r0
- adds r5, r6, 0
- str r1, [r5, 0x4]
- ldr r0, [r4, 0x4]
- cmp r1, r0
- bcs _0800A82E
- ldr r0, [sp, 0x18]
- adds r0, 0x1
- str r0, [sp, 0x18]
-_0800A82E:
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_800A3F0
- adds r0, r5, 0
- mov r1, sp
- adds r2, r4, 0
- bl sub_800A34C
- ldr r0, [sp, 0x18]
- lsls r1, r0, 1
- str r1, [sp, 0x18]
- ldr r0, [r5, 0x4]
- cmp r0, 0
- bge _0800A854
- movs r0, 0x1
- orrs r1, r0
- str r1, [sp, 0x18]
-_0800A854:
- ldr r0, [r6, 0x4]
- lsls r0, 1
- str r0, [r6, 0x4]
- ldr r2, [sp, 0x4]
- ldr r1, [sp]
- ldr r0, [sp, 0x18]
- adds r1, r0
- str r1, [sp]
- ldr r0, [r6, 0x4]
- adds r0, r2, r0
- str r0, [sp, 0x4]
- cmp r2, r0
- bls _0800A872
- adds r0, r1, 0x1
- str r0, [sp]
-_0800A872:
- mov r2, r9
- cmp r2, 0x2
- bne _0800A7F2
-_0800A878:
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- mov r2, r10
- str r0, [r2]
- str r1, [r2, 0x4]
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800A78C
-
- thumb_func_start sub_800A894
-sub_800A894:
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- cmp r0, 0
- bgt _0800A8A0
- movs r0, 0x1
-_0800A8A0:
- ldr r1, _0800A8BC
- cmp r0, r1
- ble _0800A8A8
- adds r0, r1, 0
-_0800A8A8:
- ldr r1, _0800A8C0
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2, 0x4]
- movs r0, 0
- str r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_0800A8BC: .4byte 0x0000012b
-_0800A8C0: .4byte gUnknown_80B96E4
- thumb_func_end sub_800A894
-
- thumb_func_start sub_800A8C4
-sub_800A8C4:
- push {r4,lr}
- ldr r3, _0800A8EC
- ldr r4, _0800A8F0
- movs r2, 0
- ldr r0, _0800A8F4
- movs r1, 0x3F
-_0800A8D0:
- str r2, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- subs r1, 0x1
- cmp r1, 0
- bge _0800A8D0
- movs r0, 0
- str r0, [r3]
- movs r0, 0x1
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A8EC: .4byte gUnknown_203B094
-_0800A8F0: .4byte gUnknown_202D2A4
-_0800A8F4: .4byte gUnknown_202D2A8
- thumb_func_end sub_800A8C4
-
- thumb_func_start sub_800A8F8
-sub_800A8F8:
- ldr r1, _0800A904
- ldr r2, [r1]
- str r0, [r1]
- adds r0, r2, 0
- bx lr
- .align 2, 0
-_0800A904: .4byte gUnknown_202D2A4
- thumb_func_end sub_800A8F8
-
- thumb_func_start sub_800A908
-sub_800A908:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x12C
- mov r8, r0
- adds r4, r1, 0
- ldr r1, _0800A93C
- adds r0, r4, 0
- bl strcmp
- cmp r0, 0
- beq _0800A922
- movs r0, 0x1
-_0800A922:
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _0800A92C
- movs r1, 0x1
-_0800A92C:
- cmp r1, 0
- beq _0800A9B6
- ldr r7, [r4, 0xC]
- movs r6, 0
- ldr r0, [r4, 0x8]
- subs r5, r0, 0x1
- b _0800A94A
- .align 2, 0
-_0800A93C: .4byte gUnknown_80B9B94
-_0800A940:
- cmp r0, 0
- bge _0800A948
- adds r6, r4, 0x1
- b _0800A94A
-_0800A948:
- adds r5, r4, 0
-_0800A94A:
- cmp r6, r5
- bge _0800A968
- adds r0, r6, r5
- lsrs r1, r0, 31
- adds r0, r1
- asrs r4, r0, 1
- lsls r0, r4, 3
- adds r0, r7
- ldr r0, [r0]
- mov r1, r8
- bl strcmp
- cmp r0, 0
- bne _0800A940
- adds r6, r4, 0
-_0800A968:
- lsls r0, r6, 3
- adds r6, r7, r0
- ldr r0, [r6]
- mov r1, r8
- bl strcmp
- cmp r0, 0
- beq _0800A994
- ldr r1, _0800A984
- mov r0, sp
- mov r2, r8
- bl sprintf
- b _0800A9B6
- .align 2, 0
-_0800A984: .4byte gUnknown_80B9B9C
-_0800A988:
- str r6, [r2]
- adds r0, r7, 0x4
- adds r0, r3, r0
- str r1, [r0]
- adds r0, r2, 0
- b _0800A9B8
-_0800A994:
- ldr r0, _0800A9C4
- ldr r0, [r0]
- movs r4, 0
- ldr r5, _0800A9C8
- adds r7, r5, 0
-_0800A99E:
- adds r0, 0x1
- cmp r0, 0x3F
- ble _0800A9A6
- movs r0, 0
-_0800A9A6:
- lsls r3, r0, 3
- adds r2, r3, r5
- ldr r1, [r2]
- cmp r1, 0
- beq _0800A988
- adds r4, 0x1
- cmp r4, 0x3F
- ble _0800A99E
-_0800A9B6:
- movs r0, 0
-_0800A9B8:
- add sp, 0x12C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0800A9C4: .4byte gUnknown_203B094
-_0800A9C8: .4byte gUnknown_202D2A8
- thumb_func_end sub_800A908
-
- thumb_func_start sub_800A9CC
-sub_800A9CC:
- ldr r1, [r0]
- ldr r1, [r1, 0x4]
- str r1, [r0, 0x4]
- adds r0, r1, 0
- bx lr
- thumb_func_end sub_800A9CC
-
- thumb_func_start sub_800A9D8
-sub_800A9D8:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_800A9CC
- adds r0, r4, 0
- bl sub_800AA48
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800A9D8
-
- thumb_func_start sub_800A9EC
-sub_800A9EC:
- push {r4,lr}
- bl sub_800A908
- adds r4, r0, 0
- cmp r4, 0
- beq _0800A9FE
- movs r1, 0
- bl sub_800A9D8
-_0800A9FE:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800A9EC
-
- thumb_func_start sub_800AA08
-sub_800AA08:
- push {lr}
- bl sub_800A9EC
- pop {r1}
- bx r1
- thumb_func_end sub_800AA08
-
- thumb_func_start sub_800AA14
-sub_800AA14:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0
- ldr r0, _0800AA30
- movs r3, 0
- ldr r5, _0800AA34
- adds r2, r0, 0x4
-_0800AA22:
- cmp r0, r4
- bne _0800AA38
- str r3, [r0]
- str r3, [r2]
- str r1, [r5]
- b _0800AA42
- .align 2, 0
-_0800AA30: .4byte gUnknown_202D2A8
-_0800AA34: .4byte gUnknown_203B094
-_0800AA38:
- adds r2, 0x8
- adds r0, 0x8
- adds r1, 0x1
- cmp r1, 0x3F
- ble _0800AA22
-_0800AA42:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_800AA14
-
- thumb_func_start sub_800AA48
-sub_800AA48:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, [r5, 0x4]
- ldr r1, [r4]
- ldr r0, _0800AA60
- cmp r1, r0
- beq _0800AA68
- ldr r0, _0800AA64
- cmp r1, r0
- beq _0800AA6E
- adds r0, r4, 0
- b _0800AA72
- .align 2, 0
-_0800AA60: .4byte 0x30524953
-_0800AA64: .4byte 0x4f524953
-_0800AA68:
- adds r0, r4, 0
- bl nullsub_15
-_0800AA6E:
- ldr r0, [r4, 0x4]
- str r0, [r5, 0x4]
-_0800AA72:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_800AA48
-
- thumb_func_start sub_800AA78
-sub_800AA78:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, [r4]
- ldr r0, _0800AA90
- cmp r1, r0
- bne _0800AA94
- adds r0, r4, 0
- bl nullsub_15
- ldr r0, [r4, 0x4]
- b _0800AA96
- .align 2, 0
-_0800AA90: .4byte 0x30524953
-_0800AA94:
- adds r0, r4, 0
-_0800AA96:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800AA78
-
- thumb_func_start nullsub_15
-nullsub_15:
- bx lr
- thumb_func_end nullsub_15
-
- thumb_func_start nullsub_16
-nullsub_16:
- bx lr
- thumb_func_end nullsub_16
-
- thumb_func_start nullsub_175
-nullsub_175:
- bx lr
- thumb_func_end nullsub_175
-
- thumb_func_start sub_800AAA8
-sub_800AAA8:
- push {lr}
- ldr r2, [r2, 0x4]
- bl sub_800AAB4
- pop {r1}
- bx r1
- thumb_func_end sub_800AAA8
-
- thumb_func_start sub_800AAB4
-sub_800AAB4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r12, r0
- str r1, [sp, 0x24]
- mov r8, r2
- ldrb r0, [r2, 0x5]
- ldrb r1, [r2, 0x6]
- lsls r1, 8
- adds r0, r1
- str r0, [sp, 0x28]
- movs r6, 0
- mov r10, r6
- movs r0, 0x8
- mov r9, r0
- ldrb r0, [r2]
- cmp r0, 0x41
- bne _0800AB04
- ldrb r0, [r2, 0x1]
- adds r1, r0, 0
- cmp r1, 0x54
- bne _0800AB0C
- ldrb r0, [r2, 0x2]
- cmp r0, 0x34
- bne _0800AB0C
- ldrb r0, [r2, 0x3]
- cmp r0, 0x50
- bne _0800AB0C
- ldrb r1, [r2, 0x10]
- ldrb r0, [r2, 0x11]
- lsls r0, 8
- adds r1, r0
- ldr r2, [sp, 0x24]
- cmp r2, 0
- beq _0800AB08
- cmp r2, r1
- beq _0800AB08
-_0800AB04:
- movs r0, 0
- b _0800AE16
-_0800AB08:
- movs r1, 0x12
- b _0800AB26
-_0800AB0C:
- mov r3, r8
- ldrb r0, [r3]
- cmp r0, 0x41
- bne _0800AB04
- cmp r1, 0x54
- bne _0800AB04
- ldrb r0, [r3, 0x2]
- cmp r0, 0x33
- bne _0800AB04
- ldrb r0, [r3, 0x3]
- cmp r0, 0x50
- bne _0800AB04
- movs r1, 0x10
-_0800AB26:
- mov r2, r8
- ldrb r0, [r2, 0x4]
- cmp r0, 0x4E
- bne _0800AB4A
- movs r7, 0
- b _0800AB40
-_0800AB32:
- mov r1, r12
- adds r0, r1, r7
- mov r2, r8
- adds r1, r7, r2
- ldrb r1, [r1, 0x7]
- strb r1, [r0]
- adds r7, 0x1
-_0800AB40:
- ldr r3, [sp, 0x28]
- cmp r7, r3
- blt _0800AB32
- adds r0, r7, 0
- b _0800AE16
-_0800AB4A:
- mov r2, r8
- ldrb r0, [r2, 0x7]
- adds r0, 0x3
- str r0, [sp]
- ldrb r0, [r2, 0x8]
- adds r0, 0x3
- str r0, [sp, 0x4]
- ldrb r0, [r2, 0x9]
- adds r0, 0x3
- str r0, [sp, 0x8]
- ldrb r0, [r2, 0xA]
- adds r0, 0x3
- str r0, [sp, 0xC]
- ldrb r0, [r2, 0xB]
- adds r0, 0x3
- str r0, [sp, 0x10]
- ldrb r0, [r2, 0xC]
- adds r0, 0x3
- str r0, [sp, 0x14]
- ldrb r0, [r2, 0xD]
- adds r0, 0x3
- str r0, [sp, 0x18]
- ldrb r0, [r2, 0xE]
- adds r0, 0x3
- str r0, [sp, 0x1C]
- ldrb r0, [r2, 0xF]
- adds r0, 0x3
- str r0, [sp, 0x20]
- adds r7, r1, 0
- ldr r3, [sp, 0x28]
- cmp r7, r3
- blt _0800AB8C
- b _0800AE14
-_0800AB8C:
- ldr r0, [sp, 0x24]
- cmp r0, 0
- beq _0800AB96
- cmp r6, r0
- bge _0800AB04
-_0800AB96:
- mov r1, r9
- cmp r1, 0x8
- bne _0800ABAA
- mov r2, r8
- adds r0, r2, r7
- ldrb r0, [r0]
- mov r10, r0
- adds r7, 0x1
- movs r3, 0
- mov r9, r3
-_0800ABAA:
- movs r0, 0x80
- mov r1, r10
- ands r0, r1
- cmp r0, 0
- beq _0800ABB6
- b _0800ADF0
-_0800ABB6:
- mov r3, r8
- adds r2, r3, r7
- ldrb r1, [r2]
- lsrs r0, r1, 4
- adds r3, r0, 0x3
- movs r0, 0xF
- ands r0, r1
- lsls r5, r0, 8
- ldr r0, [sp]
- cmp r3, r0
- bne _0800ABCE
- movs r3, 0x1F
-_0800ABCE:
- ldr r0, [sp, 0x4]
- cmp r3, r0
- bne _0800ABD6
- movs r3, 0x1E
-_0800ABD6:
- ldr r0, [sp, 0x8]
- cmp r3, r0
- bne _0800ABDE
- movs r3, 0x1D
-_0800ABDE:
- ldr r0, [sp, 0xC]
- cmp r3, r0
- bne _0800ABE6
- movs r3, 0x1C
-_0800ABE6:
- ldr r0, [sp, 0x10]
- cmp r3, r0
- bne _0800ABEE
- movs r3, 0x1B
-_0800ABEE:
- ldr r0, [sp, 0x14]
- cmp r3, r0
- bne _0800ABF6
- movs r3, 0x1A
-_0800ABF6:
- ldr r0, [sp, 0x18]
- cmp r3, r0
- bne _0800ABFE
- movs r3, 0x19
-_0800ABFE:
- ldr r0, [sp, 0x1C]
- cmp r3, r0
- bne _0800AC06
- movs r3, 0x18
-_0800AC06:
- ldr r0, [sp, 0x20]
- cmp r3, r0
- bne _0800AC0E
- movs r3, 0x17
-_0800AC0E:
- adds r0, r3, 0
- subs r0, 0x17
- cmp r0, 0x8
- bls _0800AC18
- b _0800ADB0
-_0800AC18:
- lsls r0, 2
- ldr r1, _0800AC24
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0800AC24: .4byte _0800AC28
- .align 2, 0
-_0800AC28:
- .4byte _0800AD7C
- .4byte _0800AD48
- .4byte _0800AD20
- .4byte _0800ACFA
- .4byte _0800ACD6
- .4byte _0800ACB4
- .4byte _0800AC8C
- .4byte _0800AC66
- .4byte _0800AC4C
-_0800AC4C:
- ldrb r1, [r2]
- movs r0, 0xF
- adds r7, 0x1
- mov r3, r12
- adds r2, r3, r6
- ands r0, r1
- lsls r1, r0, 4
- orrs r1, r0
- strb r1, [r2]
- adds r6, 0x1
- adds r0, r3, r6
- strb r1, [r0]
- b _0800ADA4
-_0800AC66:
- ldrb r0, [r2]
- movs r5, 0xF
- ands r5, r0
- adds r7, 0x1
- mov r1, r12
- adds r3, r1, r6
- movs r2, 0xF
- lsls r0, r5, 4
- adds r1, r5, 0x1
- ands r1, r2
- orrs r0, r1
- strb r0, [r3]
- adds r6, 0x1
- mov r3, r12
- adds r2, r3, r6
- lsls r0, r1, 4
- orrs r0, r1
- strb r0, [r2]
- b _0800ADA4
-_0800AC8C:
- ldrb r0, [r2]
- movs r3, 0xF
- movs r5, 0xF
- ands r5, r0
- adds r7, 0x1
- mov r1, r12
- adds r4, r1, r6
- adds r2, r5, 0
- ands r2, r3
- lsls r1, r2, 4
- subs r0, r5, 0x1
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- adds r6, 0x1
- mov r3, r12
- adds r0, r3, r6
- orrs r1, r2
- strb r1, [r0]
- b _0800ADA4
-_0800ACB4:
- ldrb r0, [r2]
- movs r3, 0xF
- movs r5, 0xF
- ands r5, r0
- adds r7, 0x1
- mov r1, r12
- adds r2, r1, r6
- adds r1, r5, 0
- ands r1, r3
- lsls r0, r1, 4
- orrs r0, r1
- strb r0, [r2]
- adds r6, 0x1
- mov r0, r12
- adds r2, r0, r6
- subs r0, r5, 0x1
- b _0800AD68
-_0800ACD6:
- ldrb r0, [r2]
- movs r4, 0xF
- movs r5, 0xF
- ands r5, r0
- adds r7, 0x1
- mov r2, r12
- adds r3, r2, r6
- adds r1, r5, 0
- ands r1, r4
- lsls r2, r1, 4
- adds r0, r2, 0
- orrs r0, r1
- strb r0, [r3]
- adds r6, 0x1
- mov r3, r12
- adds r1, r3, r6
- subs r0, r5, 0x1
- b _0800AD9E
-_0800ACFA:
- ldrb r0, [r2]
- movs r5, 0xF
- ands r5, r0
- adds r7, 0x1
- mov r1, r12
- adds r3, r1, r6
- movs r2, 0xF
- lsls r0, r5, 4
- subs r1, r5, 0x1
- ands r1, r2
- orrs r0, r1
- strb r0, [r3]
- adds r6, 0x1
- mov r3, r12
- adds r2, r3, r6
- lsls r0, r1, 4
- orrs r0, r1
- strb r0, [r2]
- b _0800ADA4
-_0800AD20:
- ldrb r0, [r2]
- movs r3, 0xF
- movs r5, 0xF
- ands r5, r0
- adds r7, 0x1
- mov r1, r12
- adds r4, r1, r6
- adds r2, r5, 0
- ands r2, r3
- lsls r1, r2, 4
- adds r0, r5, 0x1
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- adds r6, 0x1
- mov r3, r12
- adds r0, r3, r6
- orrs r1, r2
- strb r1, [r0]
- b _0800ADA4
-_0800AD48:
- ldrb r0, [r2]
- movs r3, 0xF
- movs r5, 0xF
- ands r5, r0
- adds r7, 0x1
- mov r1, r12
- adds r2, r1, r6
- adds r1, r5, 0
- ands r1, r3
- lsls r0, r1, 4
- orrs r0, r1
- strb r0, [r2]
- adds r6, 0x1
- mov r0, r12
- adds r2, r0, r6
- adds r0, r5, 0x1
-_0800AD68:
- ands r0, r3
- lsls r0, 4
- orrs r0, r1
- strb r0, [r2]
- adds r6, 0x1
- mov r4, r9
- adds r4, 0x1
- mov r1, r10
- lsls r2, r1, 1
- b _0800AE08
-_0800AD7C:
- ldrb r0, [r2]
- movs r4, 0xF
- movs r5, 0xF
- ands r5, r0
- adds r7, 0x1
- mov r2, r12
- adds r3, r2, r6
- adds r1, r5, 0
- ands r1, r4
- lsls r2, r1, 4
- adds r0, r2, 0
- orrs r0, r1
- strb r0, [r3]
- adds r6, 0x1
- mov r3, r12
- adds r1, r3, r6
- adds r0, r5, 0x1
-_0800AD9E:
- ands r0, r4
- orrs r2, r0
- strb r2, [r1]
-_0800ADA4:
- adds r6, 0x1
- mov r4, r9
- adds r4, 0x1
- mov r0, r10
- lsls r2, r0, 1
- b _0800AE08
-_0800ADB0:
- adds r7, 0x1
- mov r1, r8
- adds r0, r1, r7
- ldrb r0, [r0]
- adds r5, r0
- adds r7, 0x1
- ldr r2, _0800ADEC
- adds r0, r5, r2
- adds r5, r0, r6
- mov r4, r9
- adds r4, 0x1
- mov r0, r10
- lsls r2, r0, 1
- cmp r3, 0
- beq _0800AE08
-_0800ADCE:
- mov r1, r12
- adds r1, r6
- mov r10, r1
- mov r0, r12
- adds r0, r5
- ldrb r1, [r0]
- mov r0, r10
- strb r1, [r0]
- adds r6, 0x1
- adds r5, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _0800ADCE
- b _0800AE08
- .align 2, 0
-_0800ADEC: .4byte 0xfffff000
-_0800ADF0:
- mov r1, r12
- adds r0, r1, r6
- mov r2, r8
- adds r1, r2, r7
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- adds r7, 0x1
- mov r4, r9
- adds r4, 0x1
- mov r3, r10
- lsls r2, r3, 1
-_0800AE08:
- mov r9, r4
- mov r10, r2
- ldr r0, [sp, 0x28]
- cmp r7, r0
- bge _0800AE14
- b _0800AB8C
-_0800AE14:
- adds r0, r6, 0
-_0800AE16:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800AAB4
-
- thumb_func_start sub_800AE28
-sub_800AE28:
- push {lr}
- ldr r2, [r2, 0x4]
- bl sub_800AE34
- pop {r1}
- bx r1
- thumb_func_end sub_800AE28
-
- thumb_func_start sub_800AE34
-sub_800AE34:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- str r1, [sp, 0x24]
- mov r10, r2
- ldrb r2, [r2, 0x5]
- mov r3, r10
- ldrb r1, [r3, 0x6]
- lsls r1, 8
- adds r2, r1
- str r2, [sp, 0x28]
- movs r1, 0
- mov r9, r1
- movs r2, 0
- str r2, [sp, 0x2C]
- movs r3, 0x8
- str r3, [sp, 0x30]
- bl sub_800B1BC
- mov r1, r10
- ldrb r0, [r1]
- cmp r0, 0x41
- bne _0800AE90
- ldrb r0, [r1, 0x1]
- adds r1, r0, 0
- cmp r1, 0x54
- bne _0800AE98
- mov r2, r10
- ldrb r0, [r2, 0x2]
- cmp r0, 0x34
- bne _0800AE98
- ldrb r0, [r2, 0x3]
- cmp r0, 0x50
- bne _0800AE98
- ldrb r1, [r2, 0x10]
- ldrb r0, [r2, 0x11]
- lsls r0, 8
- adds r1, r0
- ldr r3, [sp, 0x24]
- cmp r3, 0
- beq _0800AE94
- cmp r3, r1
- beq _0800AE94
-_0800AE90:
- movs r0, 0
- b _0800B1AA
-_0800AE94:
- movs r1, 0x12
- b _0800AEB2
-_0800AE98:
- mov r2, r10
- ldrb r0, [r2]
- cmp r0, 0x41
- bne _0800AE90
- cmp r1, 0x54
- bne _0800AE90
- ldrb r0, [r2, 0x2]
- cmp r0, 0x33
- bne _0800AE90
- ldrb r0, [r2, 0x3]
- cmp r0, 0x50
- bne _0800AE90
- movs r1, 0x10
-_0800AEB2:
- mov r3, r10
- ldrb r0, [r3, 0x4]
- cmp r0, 0x4E
- bne _0800AEE0
- movs r0, 0
- mov r8, r0
- ldr r1, [sp, 0x28]
- cmp r8, r1
- bge _0800AED8
-_0800AEC4:
- mov r0, r8
- add r0, r10
- ldrb r0, [r0, 0x7]
- bl sub_800B220
- movs r2, 0x1
- add r8, r2
- ldr r3, [sp, 0x28]
- cmp r8, r3
- blt _0800AEC4
-_0800AED8:
- bl sub_800B270
- mov r0, r8
- b _0800B1AA
-_0800AEE0:
- mov r2, r10
- ldrb r0, [r2, 0x7]
- adds r0, 0x3
- str r0, [sp]
- ldrb r0, [r2, 0x8]
- adds r0, 0x3
- str r0, [sp, 0x4]
- ldrb r0, [r2, 0x9]
- adds r0, 0x3
- str r0, [sp, 0x8]
- ldrb r0, [r2, 0xA]
- adds r0, 0x3
- str r0, [sp, 0xC]
- ldrb r0, [r2, 0xB]
- adds r0, 0x3
- str r0, [sp, 0x10]
- ldrb r0, [r2, 0xC]
- adds r0, 0x3
- str r0, [sp, 0x14]
- ldrb r0, [r2, 0xD]
- adds r0, 0x3
- str r0, [sp, 0x18]
- ldrb r0, [r2, 0xE]
- adds r0, 0x3
- str r0, [sp, 0x1C]
- ldrb r0, [r2, 0xF]
- adds r0, 0x3
- str r0, [sp, 0x20]
- mov r8, r1
- ldr r3, [sp, 0x28]
- cmp r8, r3
- blt _0800AF22
- b _0800B1A4
-_0800AF22:
- ldr r0, [sp, 0x24]
- cmp r0, 0
- beq _0800AF2C
- cmp r9, r0
- bge _0800AE90
-_0800AF2C:
- ldr r1, [sp, 0x30]
- cmp r1, 0x8
- bne _0800AF42
- mov r0, r10
- add r0, r8
- ldrb r0, [r0]
- str r0, [sp, 0x2C]
- movs r2, 0x1
- add r8, r2
- movs r3, 0
- str r3, [sp, 0x30]
-_0800AF42:
- movs r0, 0x80
- ldr r1, [sp, 0x2C]
- ands r0, r1
- cmp r0, 0
- beq _0800AF4E
- b _0800B180
-_0800AF4E:
- mov r2, r10
- add r2, r8
- ldrb r1, [r2]
- lsrs r0, r1, 4
- adds r3, r0, 0x3
- movs r0, 0xF
- ands r0, r1
- lsls r7, r0, 8
- ldr r0, [sp]
- cmp r3, r0
- bne _0800AF66
- movs r3, 0x1F
-_0800AF66:
- ldr r0, [sp, 0x4]
- cmp r3, r0
- bne _0800AF6E
- movs r3, 0x1E
-_0800AF6E:
- ldr r0, [sp, 0x8]
- cmp r3, r0
- bne _0800AF76
- movs r3, 0x1D
-_0800AF76:
- ldr r0, [sp, 0xC]
- cmp r3, r0
- bne _0800AF7E
- movs r3, 0x1C
-_0800AF7E:
- ldr r0, [sp, 0x10]
- cmp r3, r0
- bne _0800AF86
- movs r3, 0x1B
-_0800AF86:
- ldr r0, [sp, 0x14]
- cmp r3, r0
- bne _0800AF8E
- movs r3, 0x1A
-_0800AF8E:
- ldr r0, [sp, 0x18]
- cmp r3, r0
- bne _0800AF96
- movs r3, 0x19
-_0800AF96:
- ldr r0, [sp, 0x1C]
- cmp r3, r0
- bne _0800AF9E
- movs r3, 0x18
-_0800AF9E:
- ldr r0, [sp, 0x20]
- cmp r3, r0
- bne _0800AFA6
- movs r3, 0x17
-_0800AFA6:
- adds r0, r3, 0
- subs r0, 0x17
- cmp r0, 0x8
- bls _0800AFB0
- b _0800B13C
-_0800AFB0:
- lsls r0, 2
- ldr r1, _0800AFBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0800AFBC: .4byte _0800AFC0
- .align 2, 0
-_0800AFC0:
- .4byte _0800B104
- .4byte _0800B0DE
- .4byte _0800B0BA
- .4byte _0800B090
- .4byte _0800B06E
- .4byte _0800B048
- .4byte _0800B024
- .4byte _0800AFFE
- .4byte _0800AFE4
-_0800AFE4:
- ldrb r0, [r2]
- movs r1, 0xF
- movs r2, 0x1
- add r8, r2
- ands r1, r0
- lsls r4, r1, 4
- orrs r4, r1
- adds r0, r4, 0
- bl sub_800B220
- movs r3, 0x1
- add r9, r3
- b _0800B128
-_0800AFFE:
- ldrb r0, [r2]
- movs r6, 0xF
- ands r6, r0
- movs r2, 0x1
- add r8, r2
- movs r1, 0xF
- lsls r0, r6, 4
- adds r4, r6, 0x1
- ands r4, r1
- orrs r0, r4
- bl sub_800B220
- movs r3, 0x1
- add r9, r3
- lsls r0, r4, 4
- orrs r0, r4
- lsls r0, 24
- lsrs r0, 24
- b _0800B12A
-_0800B024:
- ldrb r0, [r2]
- movs r1, 0xF
- movs r6, 0xF
- ands r6, r0
- movs r2, 0x1
- add r8, r2
- adds r5, r6, 0
- ands r5, r1
- lsls r4, r5, 4
- subs r0, r6, 0x1
- ands r0, r1
- orrs r0, r4
- bl sub_800B220
- movs r3, 0x1
- add r9, r3
- orrs r4, r5
- b _0800B128
-_0800B048:
- ldrb r0, [r2]
- movs r5, 0xF
- movs r6, 0xF
- ands r6, r0
- movs r2, 0x1
- add r8, r2
- adds r4, r6, 0
- ands r4, r5
- lsls r0, r4, 4
- orrs r0, r4
- bl sub_800B220
- movs r3, 0x1
- add r9, r3
- subs r0, r6, 0x1
- ands r0, r5
- lsls r0, 4
- orrs r0, r4
- b _0800B12A
-_0800B06E:
- ldrb r0, [r2]
- movs r5, 0xF
- movs r6, 0xF
- ands r6, r0
- movs r2, 0x1
- add r8, r2
- adds r1, r6, 0
- ands r1, r5
- lsls r4, r1, 4
- adds r0, r4, 0
- orrs r0, r1
- bl sub_800B220
- movs r3, 0x1
- add r9, r3
- subs r0, r6, 0x1
- b _0800B124
-_0800B090:
- ldrb r0, [r2]
- movs r6, 0xF
- ands r6, r0
- movs r2, 0x1
- add r8, r2
- movs r1, 0xF
- lsls r0, r6, 4
- subs r4, r6, 0x1
- ands r4, r1
- orrs r0, r4
- lsls r0, 24
- lsrs r0, 24
- bl sub_800B220
- movs r3, 0x1
- add r9, r3
- lsls r0, r4, 4
- orrs r0, r4
- lsls r0, 24
- lsrs r0, 24
- b _0800B12A
-_0800B0BA:
- ldrb r0, [r2]
- movs r1, 0xF
- movs r6, 0xF
- ands r6, r0
- movs r2, 0x1
- add r8, r2
- adds r5, r6, 0
- ands r5, r1
- lsls r4, r5, 4
- adds r0, r6, 0x1
- ands r0, r1
- orrs r0, r4
- bl sub_800B220
- movs r3, 0x1
- add r9, r3
- orrs r4, r5
- b _0800B128
-_0800B0DE:
- ldrb r0, [r2]
- movs r5, 0xF
- movs r6, 0xF
- ands r6, r0
- movs r2, 0x1
- add r8, r2
- adds r4, r6, 0
- ands r4, r5
- lsls r0, r4, 4
- orrs r0, r4
- bl sub_800B220
- movs r3, 0x1
- add r9, r3
- adds r0, r6, 0x1
- ands r0, r5
- lsls r0, 4
- orrs r0, r4
- b _0800B12A
-_0800B104:
- ldrb r0, [r2]
- movs r5, 0xF
- movs r6, 0xF
- ands r6, r0
- movs r2, 0x1
- add r8, r2
- adds r1, r6, 0
- ands r1, r5
- lsls r4, r1, 4
- adds r0, r4, 0
- orrs r0, r1
- bl sub_800B220
- movs r3, 0x1
- add r9, r3
- adds r0, r6, 0x1
-_0800B124:
- ands r0, r5
- orrs r4, r0
-_0800B128:
- adds r0, r4, 0
-_0800B12A:
- bl sub_800B220
- movs r0, 0x1
- add r9, r0
- ldr r5, [sp, 0x30]
- adds r5, 0x1
- ldr r1, [sp, 0x2C]
- lsls r4, r1, 1
- b _0800B198
-_0800B13C:
- movs r2, 0x1
- add r8, r2
- mov r0, r10
- add r0, r8
- ldrb r0, [r0]
- adds r7, r0
- add r8, r2
- ldr r1, _0800B17C
- adds r0, r7, r1
- mov r2, r9
- adds r7, r0, r2
- ldr r5, [sp, 0x30]
- adds r5, 0x1
- ldr r0, [sp, 0x2C]
- lsls r4, r0, 1
- cmp r3, 0
- beq _0800B198
- adds r6, r3, 0
-_0800B160:
- adds r0, r7, 0
- bl sub_800B1E0
- lsls r0, 24
- lsrs r0, 24
- bl sub_800B220
- movs r1, 0x1
- add r9, r1
- adds r7, 0x1
- subs r6, 0x1
- cmp r6, 0
- bne _0800B160
- b _0800B198
- .align 2, 0
-_0800B17C: .4byte 0xfffff000
-_0800B180:
- mov r0, r10
- add r0, r8
- ldrb r0, [r0]
- bl sub_800B220
- movs r2, 0x1
- add r9, r2
- add r8, r2
- ldr r5, [sp, 0x30]
- adds r5, 0x1
- ldr r3, [sp, 0x2C]
- lsls r4, r3, 1
-_0800B198:
- str r5, [sp, 0x30]
- str r4, [sp, 0x2C]
- ldr r0, [sp, 0x28]
- cmp r8, r0
- bge _0800B1A4
- b _0800AF22
-_0800B1A4:
- bl sub_800B270
- mov r0, r9
-_0800B1AA:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800AE34
-
- thumb_func_start sub_800B1BC
-sub_800B1BC:
- ldr r1, _0800B1D0
- str r0, [r1]
- ldr r1, _0800B1D4
- str r0, [r1]
- ldr r0, _0800B1D8
- movs r1, 0
- str r1, [r0]
- ldr r0, _0800B1DC
- str r1, [r0]
- bx lr
- .align 2, 0
-_0800B1D0: .4byte gUnknown_202D4A8
-_0800B1D4: .4byte gUnknown_202D4AC
-_0800B1D8: .4byte gUnknown_202D4B0
-_0800B1DC: .4byte gUnknown_202D4B4
- thumb_func_end sub_800B1BC
-
- thumb_func_start sub_800B1E0
-sub_800B1E0:
- push {lr}
- adds r2, r0, 0
- cmp r2, 0
- bge _0800B1EA
- adds r0, r2, 0x3
-_0800B1EA:
- asrs r0, 2
- ldr r1, _0800B20C
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- ands r1, r2
- cmp r1, 0x1
- beq _0800B210
- cmp r1, 0x1
- ble _0800B216
- cmp r1, 0x2
- beq _0800B214
- cmp r1, 0x3
- beq _0800B218
- b _0800B216
- .align 2, 0
-_0800B20C: .4byte gUnknown_202D4AC
-_0800B210:
- lsrs r0, 8
- b _0800B216
-_0800B214:
- lsrs r0, 16
-_0800B216:
- lsls r0, 24
-_0800B218:
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_800B1E0
-
- thumb_func_start sub_800B220
-sub_800B220:
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _0800B260
- ldr r2, _0800B264
- ldr r3, _0800B268
- ldr r1, [r3]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- lsls r0, r1
- ldr r1, [r4]
- orrs r1, r0
- str r1, [r4]
- ldr r2, _0800B26C
- ldr r0, [r2]
- str r1, [r0]
- ldr r0, [r3]
- adds r0, 0x1
- str r0, [r3]
- cmp r0, 0x4
- bne _0800B258
- ldr r0, [r2]
- adds r0, 0x4
- str r0, [r2]
- movs r0, 0
- str r0, [r4]
- str r0, [r3]
-_0800B258:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B260: .4byte gUnknown_202D4B0
-_0800B264: .4byte gUnknown_80B9BB8
-_0800B268: .4byte gUnknown_202D4B4
-_0800B26C: .4byte gUnknown_202D4A8
- thumb_func_end sub_800B220
-
- thumb_func_start sub_800B270
-sub_800B270:
- push {lr}
- ldr r0, _0800B288
- ldr r0, [r0]
- cmp r0, 0
- beq _0800B284
- ldr r0, _0800B28C
- ldr r1, [r0]
- ldr r0, _0800B290
- ldr r0, [r0]
- str r0, [r1]
-_0800B284:
- pop {r0}
- bx r0
- .align 2, 0
-_0800B288: .4byte gUnknown_202D4B4
-_0800B28C: .4byte gUnknown_202D4A8
-_0800B290: .4byte gUnknown_202D4B0
- thumb_func_end sub_800B270
-
- thumb_func_start sub_800B294
-sub_800B294:
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x41
- bne _0800B2CC
- ldrb r0, [r1, 0x1]
- adds r2, r0, 0
- cmp r2, 0x54
- bne _0800B2B2
- ldrb r0, [r1, 0x2]
- cmp r0, 0x34
- bne _0800B2B2
- ldrb r0, [r1, 0x3]
- cmp r0, 0x50
- beq _0800B2C8
-_0800B2B2:
- ldrb r0, [r1]
- cmp r0, 0x41
- bne _0800B2CC
- cmp r2, 0x54
- bne _0800B2CC
- ldrb r0, [r1, 0x2]
- cmp r0, 0x33
- bne _0800B2CC
- ldrb r0, [r1, 0x3]
- cmp r0, 0x50
- bne _0800B2CC
-_0800B2C8:
- movs r0, 0x1
- b _0800B2CE
-_0800B2CC:
- movs r0, 0
-_0800B2CE:
- pop {r1}
- bx r1
- thumb_func_end sub_800B294
-
- thumb_func_start sub_800B2D4
-sub_800B2D4:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- movs r2, 0
- cmp r2, r4
- bge _0800B324
-_0800B2E2:
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r0, r5, r2
- ldrb r3, [r0]
- adds r0, r1, 0
- subs r0, 0x41
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x19
- bhi _0800B2FE
- adds r0, r1, 0
- adds r0, 0x20
- lsls r0, 24
- lsrs r1, r0, 24
-_0800B2FE:
- adds r0, r3, 0
- subs r0, 0x41
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x19
- bhi _0800B312
- adds r0, r3, 0
- adds r0, 0x20
- lsls r0, 24
- lsrs r3, r0, 24
-_0800B312:
- cmp r1, r3
- beq _0800B31A
- movs r0, 0x1
- b _0800B326
-_0800B31A:
- cmp r1, 0
- beq _0800B324
- adds r2, 0x1
- cmp r2, r4
- blt _0800B2E2
-_0800B324:
- movs r0, 0
-_0800B326:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_800B2D4
-
.align 2, 0 @ Don't pad with nop.