summaryrefslogtreecommitdiff
path: root/asm/new_menu_helpers.s
diff options
context:
space:
mode:
authorsceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-16 23:54:22 -0800
committersceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-16 23:54:22 -0800
commit670fef77ac4d9116d5fdc28c0da40622919a062b (patch)
tree61c0e925f059404473826ac775305ba5e2706ab1 /asm/new_menu_helpers.s
first commit
Diffstat (limited to 'asm/new_menu_helpers.s')
-rw-r--r--asm/new_menu_helpers.s2497
1 files changed, 2497 insertions, 0 deletions
diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s
new file mode 100644
index 000000000..983e4eb09
--- /dev/null
+++ b/asm/new_menu_helpers.s
@@ -0,0 +1,2497 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_80F6790
+sub_80F6790: @ 80F6790
+ push {lr}
+ ldr r0, _080F67A0 @ =gUnknown_203AB58
+ movs r1, 0
+ movs r2, 0x4
+ bl memset
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F67A0: .4byte gUnknown_203AB58
+ thumb_func_end sub_80F6790
+
+ thumb_func_start sub_80F67A4
+sub_80F67A4: @ 80F67A4
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080F67B4 @ =gUnknown_203AB58
+ adds r0, r1
+ movs r1, 0x1
+ strb r1, [r0]
+ bx lr
+ .align 2, 0
+_080F67B4: .4byte gUnknown_203AB58
+ thumb_func_end sub_80F67A4
+
+ thumb_func_start sub_80F67B8
+sub_80F67B8: @ 80F67B8
+ push {r4,lr}
+ ldr r4, _080F6804 @ =gUnknown_203AB58
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ bne _080F67CC
+ movs r0, 0
+ bl sub_80020BC
+ movs r0, 0
+ strb r0, [r4]
+_080F67CC:
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x1
+ bne _080F67DC
+ movs r0, 0x1
+ bl sub_80020BC
+ movs r0, 0
+ strb r0, [r4, 0x1]
+_080F67DC:
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0x1
+ bne _080F67EC
+ movs r0, 0x2
+ bl sub_80020BC
+ movs r0, 0
+ strb r0, [r4, 0x2]
+_080F67EC:
+ ldrb r0, [r4, 0x3]
+ cmp r0, 0x1
+ bne _080F67FC
+ movs r0, 0x3
+ bl sub_80020BC
+ movs r0, 0
+ strb r0, [r4, 0x3]
+_080F67FC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F6804: .4byte gUnknown_203AB58
+ thumb_func_end sub_80F67B8
+
+ thumb_func_start sub_80F6808
+sub_80F6808: @ 80F6808
+ push {lr}
+ ldr r3, _080F6824 @ =gUnknown_203AB5C
+ ldr r1, _080F6828 @ =gUnknown_203AB60
+ movs r2, 0
+ adds r0, r1, 0
+ adds r0, 0x7C
+_080F6814:
+ str r2, [r0]
+ subs r0, 0x4
+ cmp r0, r1
+ bge _080F6814
+ movs r0, 0
+ strh r0, [r3]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F6824: .4byte gUnknown_203AB5C
+_080F6828: .4byte gUnknown_203AB60
+ thumb_func_end sub_80F6808
+
+ thumb_func_start sub_80F682C
+sub_80F682C: @ 80F682C
+ push {r4-r6,lr}
+ bl sub_8001960
+ lsls r0, 24
+ cmp r0, 0
+ bne _080F6870
+ ldr r1, _080F6868 @ =gUnknown_203AB5C
+ ldrh r0, [r1]
+ cmp r0, 0
+ beq _080F6864
+ movs r4, 0
+ ldrh r1, [r1]
+ cmp r4, r1
+ bge _080F685E
+ ldr r5, _080F686C @ =gUnknown_203AB60
+ movs r6, 0
+_080F684C:
+ ldr r0, [r5]
+ bl sub_8002BC4
+ stm r5!, {r6}
+ adds r4, 0x1
+ ldr r0, _080F6868 @ =gUnknown_203AB5C
+ ldrh r0, [r0]
+ cmp r4, r0
+ blt _080F684C
+_080F685E:
+ ldr r1, _080F6868 @ =gUnknown_203AB5C
+ movs r0, 0
+ strh r0, [r1]
+_080F6864:
+ movs r0, 0
+ b _080F6872
+ .align 2, 0
+_080F6868: .4byte gUnknown_203AB5C
+_080F686C: .4byte gUnknown_203AB60
+_080F6870:
+ movs r0, 0x1
+_080F6872:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80F682C
+
+ thumb_func_start sub_80F6878
+sub_80F6878: @ 80F6878
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x8
+ adds r4, r1, 0
+ adds r5, r2, 0
+ ldr r1, [sp, 0x24]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r3, 16
+ lsrs r3, 16
+ mov r9, r3
+ lsls r1, 24
+ lsrs r7, r1, 24
+ ldr r6, _080F68D8 @ =gUnknown_203AB5C
+ ldrh r0, [r6]
+ cmp r0, 0x1F
+ bhi _080F68E0
+ adds r0, r4, 0
+ add r1, sp, 0x4
+ bl sub_80F6AA0
+ adds r4, r0, 0
+ cmp r5, 0
+ bne _080F68B0
+ ldr r5, [sp, 0x4]
+_080F68B0:
+ cmp r4, 0
+ beq _080F68D4
+ lsls r2, r5, 16
+ lsrs r2, 16
+ str r7, [sp]
+ mov r0, r8
+ adds r1, r4, 0
+ mov r3, r9
+ bl sub_80F6AD0
+ ldr r2, _080F68DC @ =gUnknown_203AB60
+ ldrh r0, [r6]
+ adds r1, r0, 0x1
+ strh r1, [r6]
+ lsls r0, 16
+ lsrs r0, 14
+ adds r0, r2
+ str r4, [r0]
+_080F68D4:
+ adds r0, r4, 0
+ b _080F68E2
+ .align 2, 0
+_080F68D8: .4byte gUnknown_203AB5C
+_080F68DC: .4byte gUnknown_203AB60
+_080F68E0:
+ movs r0, 0
+_080F68E2:
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80F6878
+
+ thumb_func_start sub_80F68F0
+sub_80F68F0: @ 80F68F0
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x8
+ adds r4, r1, 0
+ adds r6, r2, 0
+ ldr r1, [sp, 0x24]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r3, 16
+ lsrs r3, 16
+ mov r9, r3
+ lsls r1, 24
+ lsrs r7, r1, 24
+ ldr r5, _080F6954 @ =gUnknown_203AB5C
+ ldrh r0, [r5]
+ cmp r0, 0x1F
+ bhi _080F695C
+ adds r0, r4, 0
+ add r1, sp, 0x4
+ bl sub_80F6AA0
+ adds r4, r0, 0
+ ldr r0, [sp, 0x4]
+ cmp r0, r6
+ bls _080F692A
+ str r6, [sp, 0x4]
+_080F692A:
+ cmp r4, 0
+ beq _080F6950
+ ldr r2, [sp, 0x4]
+ lsls r2, 16
+ lsrs r2, 16
+ str r7, [sp]
+ mov r0, r8
+ adds r1, r4, 0
+ mov r3, r9
+ bl sub_80F6AD0
+ ldr r2, _080F6958 @ =gUnknown_203AB60
+ ldrh r0, [r5]
+ adds r1, r0, 0x1
+ strh r1, [r5]
+ lsls r0, 16
+ lsrs r0, 14
+ adds r0, r2
+ str r4, [r0]
+_080F6950:
+ adds r0, r4, 0
+ b _080F695E
+ .align 2, 0
+_080F6954: .4byte gUnknown_203AB5C
+_080F6958: .4byte gUnknown_203AB60
+_080F695C:
+ movs r0, 0
+_080F695E:
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80F68F0
+
+ thumb_func_start sub_80F696C
+sub_80F696C: @ 80F696C
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x8
+ adds r5, r2, 0
+ ldr r2, [sp, 0x24]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r3, 16
+ lsrs r3, 16
+ mov r9, r3
+ lsls r2, 24
+ lsrs r7, r2, 24
+ adds r0, r1, 0
+ add r1, sp, 0x4
+ bl sub_80F6AA0
+ adds r6, r0, 0
+ cmp r5, 0
+ bne _080F699A
+ ldr r5, [sp, 0x4]
+_080F699A:
+ cmp r6, 0
+ beq _080F69D2
+ ldr r0, _080F69E0 @ =sub_80F6A64
+ movs r1, 0
+ bl sub_807741C
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r2, r5, 16
+ lsrs r2, 16
+ str r7, [sp]
+ mov r0, r8
+ adds r1, r6, 0
+ mov r3, r9
+ bl sub_80F6AD0
+ ldr r2, _080F69E4 @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r2
+ strh r0, [r1, 0x8]
+ adds r0, r4, 0
+ movs r1, 0x1
+ adds r2, r6, 0
+ bl sub_80776E8
+_080F69D2:
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F69E0: .4byte sub_80F6A64
+_080F69E4: .4byte gUnknown_3005090
+ thumb_func_end sub_80F696C
+
+ thumb_func_start sub_80F69E8
+sub_80F69E8: @ 80F69E8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ adds r4, r2, 0
+ ldr r2, [sp, 0x20]
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r3, 16
+ lsrs r3, 16
+ mov r8, r3
+ lsls r2, 24
+ lsrs r6, r2, 24
+ adds r0, r1, 0
+ add r1, sp, 0x4
+ bl sub_80F6AA0
+ adds r5, r0, 0
+ ldr r0, [sp, 0x4]
+ cmp r0, r4
+ bls _080F6A14
+ str r4, [sp, 0x4]
+_080F6A14:
+ cmp r5, 0
+ beq _080F6A4E
+ ldr r0, _080F6A5C @ =sub_80F6A64
+ movs r1, 0
+ bl sub_807741C
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r2, [sp, 0x4]
+ lsls r2, 16
+ lsrs r2, 16
+ str r6, [sp]
+ adds r0, r7, 0
+ adds r1, r5, 0
+ mov r3, r8
+ bl sub_80F6AD0
+ ldr r2, _080F6A60 @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r2
+ strh r0, [r1, 0x8]
+ adds r0, r4, 0
+ movs r1, 0x1
+ adds r2, r5, 0
+ bl sub_80776E8
+_080F6A4E:
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F6A5C: .4byte sub_80F6A64
+_080F6A60: .4byte gUnknown_3005090
+ thumb_func_end sub_80F69E8
+
+ thumb_func_start sub_80F6A64
+sub_80F6A64: @ 80F6A64
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _080F6A9C @ =gUnknown_3005090
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ bl sub_8000FE8
+ lsls r0, 16
+ cmp r0, 0
+ bne _080F6A94
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8077720
+ bl sub_8002BC4
+ adds r0, r4, 0
+ bl sub_8077508
+_080F6A94:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F6A9C: .4byte gUnknown_3005090
+ thumb_func_end sub_80F6A64
+
+ thumb_func_start sub_80F6AA0
+sub_80F6AA0: @ 80F6AA0
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldrb r0, [r5, 0x1]
+ strb r0, [r1]
+ ldrb r0, [r5, 0x2]
+ strb r0, [r1, 0x1]
+ ldrb r0, [r5, 0x3]
+ strb r0, [r1, 0x2]
+ movs r0, 0
+ strb r0, [r1, 0x3]
+ ldr r0, [r1]
+ bl sub_8002B9C
+ adds r4, r0, 0
+ cmp r4, 0
+ beq _080F6AC8
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl LZ77UnCompWram
+_080F6AC8:
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80F6AA0
+
+ thumb_func_start sub_80F6AD0
+sub_80F6AD0: @ 80F6AD0
+ push {r4,lr}
+ adds r4, r1, 0
+ ldr r1, [sp, 0x8]
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r2, 16
+ lsrs r2, 16
+ lsls r3, 16
+ lsrs r3, 16
+ lsls r1, 24
+ lsrs r1, 24
+ cmp r1, 0
+ beq _080F6AEE
+ cmp r1, 0x1
+ beq _080F6AF6
+_080F6AEE:
+ adds r1, r4, 0
+ bl sub_80017D0
+ b _080F6AFC
+_080F6AF6:
+ adds r1, r4, 0
+ bl sub_8001888
+_080F6AFC:
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80F6AD0
+
+ thumb_func_start sub_80F6B08
+sub_80F6B08: @ 80F6B08
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ adds r5, r2, 0
+ ldr r4, [sp, 0x28]
+ ldr r2, [sp, 0x2C]
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ str r1, [sp]
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r3, 24
+ lsrs r3, 24
+ str r3, [sp, 0x4]
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r2, 24
+ lsrs r2, 24
+ mov r10, r2
+ bl sub_8002008
+ mov r8, r0
+ adds r0, r5, r4
+ cmp r5, r0
+ bge _080F6B80
+ mov r9, r0
+_080F6B46:
+ ldr r3, [sp]
+ ldr r1, [sp, 0x4]
+ adds r0, r3, r1
+ adds r7, r5, 0x1
+ cmp r3, r0
+ bge _080F6B78
+ lsls r6, r5, 5
+ ldr r1, _080F6B90 @ =0x00000fff
+ mov r12, r1
+ mov r1, r10
+ lsls r5, r1, 12
+ adds r4, r0, 0
+_080F6B5E:
+ adds r1, r6, r3
+ lsls r1, 1
+ add r1, r8
+ ldrh r2, [r1]
+ mov r0, r12
+ ands r0, r2
+ orrs r0, r5
+ strh r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, r4
+ blt _080F6B5E
+_080F6B78:
+ lsls r0, r7, 24
+ lsrs r5, r0, 24
+ cmp r5, r9
+ blt _080F6B46
+_080F6B80:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F6B90: .4byte 0x00000fff
+ thumb_func_end sub_80F6B08
+
+ thumb_func_start sub_80F6B94
+sub_80F6B94: @ 80F6B94
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ mov r10, r1
+ ldr r1, [sp, 0x24]
+ ldr r4, [sp, 0x28]
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r2, 24
+ lsrs r2, 24
+ mov r9, r2
+ lsls r3, 24
+ lsrs r3, 24
+ str r3, [sp]
+ lsls r1, 24
+ lsrs r5, r1, 24
+ lsls r4, 24
+ lsrs r4, 24
+ mov r8, r4
+ bl sub_8002008
+ adds r7, r0, 0
+ movs r0, 0
+ cmp r0, r8
+ bcs _080F6C02
+_080F6BCC:
+ movs r2, 0
+ adds r6, r0, 0x1
+ cmp r2, r5
+ bcs _080F6BFA
+ adds r4, r0, 0
+ muls r4, r5
+ ldr r1, [sp]
+ adds r0, r1
+ lsls r3, r0, 5
+_080F6BDE:
+ adds r1, r4, r2
+ lsls r1, 1
+ add r1, r10
+ adds r0, r3, r2
+ add r0, r9
+ lsls r0, 1
+ adds r0, r7
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, r5
+ bcc _080F6BDE
+_080F6BFA:
+ lsls r0, r6, 24
+ lsrs r0, 24
+ cmp r0, r8
+ bcc _080F6BCC
+_080F6C02:
+ 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_80F6B94
+
+ thumb_func_start sub_80F6C14
+sub_80F6C14: @ 80F6C14
+ push {lr}
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl sub_8001B90
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl sub_8001B90
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl sub_8001B90
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl sub_8001B90
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl sub_8001D08
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl sub_8001D08
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl sub_8001D08
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl sub_8001D08
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80F6C14
+
+ thumb_func_start sub_80F6C6C
+sub_80F6C6C: @ 80F6C6C
+ push {lr}
+ ldr r0, _080F6C84 @ =gUnknown_841F42C
+ bl sub_8003B24
+ ldr r1, _080F6C88 @ =gUnknown_203ABE0
+ movs r0, 0xFF
+ strb r0, [r1]
+ bl sub_8112EA8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F6C84: .4byte gUnknown_841F42C
+_080F6C88: .4byte gUnknown_203ABE0
+ thumb_func_end sub_80F6C6C
+
+ thumb_func_start sub_80F6C8C
+sub_80F6C8C: @ 80F6C8C
+ push {lr}
+ bl sub_8003ECC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80F6C8C
+
+ thumb_func_start sub_80F6C98
+sub_80F6C98: @ 80F6C98
+ push {lr}
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl sub_8001B90
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl sub_8001D08
+ bl sub_8002C28
+ bl sub_80F6E9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80F6C98
+
+ thumb_func_start sub_80F6CBC
+sub_80F6CBC: @ 80F6CBC
+ push {lr}
+ bl sub_8002DE8
+ movs r0, 0
+ bl sub_8002E64
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80F6CBC
+
+ thumb_func_start sub_80F6CD0
+sub_80F6CD0: @ 80F6CD0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x10
+ ldr r7, [sp, 0x28]
+ ldr r4, [sp, 0x2C]
+ mov r8, r4
+ ldr r5, [sp, 0x30]
+ ldr r6, [sp, 0x34]
+ lsls r3, 24
+ lsrs r3, 24
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r6, 24
+ str r2, [sp]
+ mov r2, sp
+ movs r4, 0
+ strb r0, [r2, 0x4]
+ mov r0, sp
+ strb r1, [r0, 0x5]
+ strb r4, [r0, 0x6]
+ movs r1, 0x1
+ strb r1, [r0, 0x7]
+ strb r4, [r0, 0x8]
+ strb r1, [r0, 0x9]
+ strb r1, [r0, 0xA]
+ strb r1, [r0, 0xB]
+ mov r4, sp
+ ldrb r2, [r4, 0xC]
+ subs r1, 0x11
+ adds r0, r1, 0
+ ands r0, r2
+ strb r0, [r4, 0xC]
+ mov r0, sp
+ mov r2, r8
+ lsls r2, 4
+ movs r4, 0xF
+ strb r2, [r0, 0xC]
+ mov r2, sp
+ ands r5, r4
+ ldrb r0, [r2, 0xD]
+ ands r1, r0
+ orrs r1, r5
+ strb r1, [r2, 0xD]
+ mov r0, sp
+ lsrs r6, 20
+ ands r1, r4
+ orrs r1, r6
+ strb r1, [r0, 0xD]
+ ldr r2, _080F6D58 @ =gUnknown_3003E50
+ ldrb r1, [r2]
+ movs r0, 0x3
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ mov r0, sp
+ adds r1, r3, 0
+ adds r2, r7, 0
+ bl sub_8002CF4
+ lsls r0, 16
+ lsrs r0, 16
+ add sp, 0x10
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080F6D58: .4byte gUnknown_3003E50
+ thumb_func_end sub_80F6CD0
+
+ thumb_func_start sub_80F6D5C
+sub_80F6D5C: @ 80F6D5C
+ push {r4,r5,lr}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r0, 24
+ movs r5, 0
+ ldr r3, _080F6DA8 @ =gUnknown_3003E50
+ movs r4, 0x1
+ ands r0, r4
+ ldrb r2, [r3]
+ movs r1, 0x2
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3]
+ bl sub_80CBE00
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _080F6DB0
+ bl sub_80F78A8
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r2, _080F6DAC @ =gUnknown_2021D18
+ str r5, [sp]
+ movs r0, 0x8
+ str r0, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x4
+ bl sub_80F6CD0
+ b _080F6DFC
+ .align 2, 0
+_080F6DA8: .4byte gUnknown_3003E50
+_080F6DAC: .4byte gUnknown_2021D18
+_080F6DB0:
+ cmp r0, 0x1
+ bne _080F6DDC
+ bl sub_80F78A8
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r2, _080F6DD8 @ =gUnknown_2021D18
+ str r5, [sp]
+ movs r0, 0x4
+ str r0, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x5
+ bl sub_80F6CD0
+ b _080F6DFC
+ .align 2, 0
+_080F6DD8: .4byte gUnknown_2021D18
+_080F6DDC:
+ bl sub_80F78A8
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r2, _080F6E04 @ =gUnknown_2021D18
+ str r5, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x2
+ bl sub_80F6CD0
+_080F6DFC:
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F6E04: .4byte gUnknown_2021D18
+ thumb_func_end sub_80F6D5C
+
+ thumb_func_start sub_80F6E08
+sub_80F6E08: @ 80F6E08
+ push {r4,lr}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _080F6E4C @ =gUnknown_3003E50
+ movs r4, 0x1
+ ands r0, r4
+ ldrb r2, [r3]
+ movs r1, 0x2
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3]
+ bl sub_80F78A8
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r2, _080F6E50 @ =gUnknown_2021D18
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x2
+ bl sub_80F6CD0
+ add sp, 0x10
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F6E4C: .4byte gUnknown_3003E50
+_080F6E50: .4byte gUnknown_2021D18
+ thumb_func_end sub_80F6E08
+
+ thumb_func_start sub_80F6E54
+sub_80F6E54: @ 80F6E54
+ push {r4,r5,lr}
+ sub sp, 0x10
+ adds r3, r1, 0
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r4, _080F6E94 @ =gUnknown_3003E50
+ movs r5, 0x1
+ ands r0, r5
+ ldrb r2, [r4]
+ movs r1, 0x2
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r4]
+ ldr r2, _080F6E98 @ =gUnknown_2021D18
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x2
+ bl sub_80F6CD0
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F6E94: .4byte gUnknown_3003E50
+_080F6E98: .4byte gUnknown_2021D18
+ thumb_func_end sub_80F6E54
+
+ thumb_func_start sub_80F6E9C
+sub_80F6E9C: @ 80F6E9C
+ push {lr}
+ ldr r0, _080F6EBC @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _080F6EC4
+ ldr r2, _080F6EC0 @ =gUnknown_3003E50
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ movs r1, 0x80
+ lsls r1, 2
+ movs r0, 0
+ bl sub_814FF98
+ b _080F6ED4
+ .align 2, 0
+_080F6EBC: .4byte gUnknown_203ADFA
+_080F6EC0: .4byte gUnknown_3003E50
+_080F6EC4:
+ bl sub_80F77B8
+ movs r1, 0x80
+ lsls r1, 2
+ movs r0, 0
+ movs r2, 0xF0
+ bl sub_814FEAC
+_080F6ED4:
+ movs r1, 0x85
+ lsls r1, 2
+ movs r0, 0
+ movs r2, 0xE0
+ bl sub_815001C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80F6E9C
+
+ thumb_func_start sub_80F6EE4
+sub_80F6EE4: @ 80F6EE4
+ push {r4,r5,lr}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r1, _080F6F18 @ =sub_80F7124
+ adds r0, r5, 0
+ bl sub_800486C
+ adds r0, r5, 0
+ movs r1, 0x11
+ bl sub_800445C
+ adds r0, r5, 0
+ bl sub_8003FA0
+ cmp r4, 0x1
+ bne _080F6F12
+ adds r0, r5, 0
+ movs r1, 0x3
+ bl sub_8003F20
+_080F6F12:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F6F18: .4byte sub_80F7124
+ thumb_func_end sub_80F6EE4
+
+ thumb_func_start sub_80F6F1C
+sub_80F6F1C: @ 80F6F1C
+ push {r4,r5,lr}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r1, _080F6F50 @ =sub_80F6FD4
+ adds r0, r5, 0
+ bl sub_800486C
+ adds r0, r5, 0
+ movs r1, 0x11
+ bl sub_800445C
+ adds r0, r5, 0
+ bl sub_8003FA0
+ cmp r4, 0x1
+ bne _080F6F4A
+ adds r0, r5, 0
+ movs r1, 0x3
+ bl sub_8003F20
+_080F6F4A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F6F50: .4byte sub_80F6FD4
+ thumb_func_end sub_80F6F1C
+
+ thumb_func_start sub_80F6F54
+sub_80F6F54: @ 80F6F54
+ push {r4,r5,lr}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r1, _080F6F94 @ =sub_80F76CC
+ adds r0, r5, 0
+ bl sub_800486C
+ adds r0, r5, 0
+ movs r1, 0x11
+ bl sub_800445C
+ adds r0, r5, 0
+ bl sub_80040B8
+ cmp r4, 0x1
+ bne _080F6F82
+ adds r0, r5, 0
+ movs r1, 0x3
+ bl sub_8003F20
+_080F6F82:
+ ldr r0, _080F6F98 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _080F6F8E
+ bl sub_8111134
+_080F6F8E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F6F94: .4byte sub_80F76CC
+_080F6F98: .4byte gUnknown_203ADFA
+ thumb_func_end sub_80F6F54
+
+ thumb_func_start sub_80F6F9C
+sub_80F6F9C: @ 80F6F9C
+ push {r4,r5,lr}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r1, _080F6FD0 @ =sub_80F7684
+ adds r0, r5, 0
+ bl sub_800486C
+ adds r0, r5, 0
+ movs r1, 0x11
+ bl sub_800445C
+ adds r0, r5, 0
+ bl sub_80040B8
+ cmp r4, 0x1
+ bne _080F6FCA
+ adds r0, r5, 0
+ movs r1, 0x3
+ bl sub_8003F20
+_080F6FCA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F6FD0: .4byte sub_80F7684
+ thumb_func_end sub_80F6F9C
+
+ thumb_func_start sub_80F6FD4
+sub_80F6FD4: @ 80F6FD4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x1C
+ adds r4, r2, 0
+ ldr r2, [sp, 0x3C]
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r1, 24
+ lsls r4, 24
+ lsls r3, 24
+ lsrs r3, 24
+ str r3, [sp, 0x10]
+ lsls r2, 24
+ lsrs r2, 24
+ str r2, [sp, 0x14]
+ movs r3, 0x85
+ lsls r3, 2
+ lsrs r0, r1, 24
+ str r0, [sp, 0xC]
+ movs r2, 0xFF
+ lsls r2, 24
+ adds r2, r1
+ mov r8, r2
+ lsrs r2, 24
+ lsrs r0, r4, 24
+ mov r9, r0
+ movs r0, 0xFF
+ lsls r0, 24
+ adds r4, r0
+ lsrs r4, 24
+ movs r5, 0x1
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ movs r6, 0xE
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ adds r1, r3, 0
+ adds r3, r4, 0
+ bl sub_8002554
+ ldr r1, _080F710C @ =0x00000215
+ ldr r2, [sp, 0x10]
+ str r2, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0xC]
+ adds r3, r4, 0
+ bl sub_8002554
+ ldr r1, _080F7110 @ =0x00000216
+ ldr r3, [sp, 0xC]
+ ldr r2, [sp, 0x10]
+ adds r0, r3, r2
+ lsls r0, 24
+ mov r10, r0
+ lsrs r2, r0, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ adds r3, r4, 0
+ bl sub_8002554
+ mov r5, r9
+ ldr r0, [sp, 0x14]
+ add r0, r9
+ cmp r9, r0
+ bge _080F70A8
+ mov r3, r8
+ str r3, [sp, 0x18]
+ movs r6, 0x1
+ movs r0, 0xE
+ mov r8, r0
+_080F706E:
+ lsls r4, r5, 24
+ lsrs r4, 24
+ str r6, [sp]
+ str r6, [sp, 0x4]
+ mov r2, r8
+ str r2, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r1, _080F7114 @ =0x00000217
+ ldr r3, [sp, 0x18]
+ lsrs r2, r3, 24
+ adds r3, r4, 0
+ bl sub_8002554
+ str r6, [sp]
+ str r6, [sp, 0x4]
+ mov r0, r8
+ str r0, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r1, _080F7118 @ =0x00000219
+ mov r3, r10
+ lsrs r2, r3, 24
+ adds r3, r4, 0
+ bl sub_8002554
+ adds r5, 0x1
+ ldr r0, [sp, 0x14]
+ add r0, r9
+ cmp r5, r0
+ blt _080F706E
+_080F70A8:
+ ldr r1, _080F711C @ =0x0000021a
+ ldr r2, [sp, 0xC]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r4, [sp, 0x14]
+ add r4, r9
+ lsls r4, 24
+ lsrs r4, 24
+ movs r5, 0x1
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ movs r6, 0xE
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ adds r3, r4, 0
+ bl sub_8002554
+ ldr r1, _080F7120 @ =0x0000021b
+ ldr r0, [sp, 0x10]
+ str r0, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0xC]
+ adds r3, r4, 0
+ bl sub_8002554
+ movs r1, 0x87
+ lsls r1, 2
+ ldr r3, [sp, 0xC]
+ ldr r0, [sp, 0x10]
+ adds r2, r3, r0
+ lsls r2, 24
+ lsrs r2, 24
+ str r5, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ adds r3, r4, 0
+ bl sub_8002554
+ 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
+_080F710C: .4byte 0x00000215
+_080F7110: .4byte 0x00000216
+_080F7114: .4byte 0x00000217
+_080F7118: .4byte 0x00000219
+_080F711C: .4byte 0x0000021a
+_080F7120: .4byte 0x0000021b
+ thumb_func_end sub_80F6FD4
+
+ thumb_func_start sub_80F7124
+sub_80F7124: @ 80F7124
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x20
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ str r1, [sp, 0xC]
+ lsls r2, 24
+ lsrs r2, 24
+ str r2, [sp, 0x10]
+ lsls r3, 24
+ lsrs r3, 24
+ str r3, [sp, 0x14]
+ bl sub_8069A38
+ lsls r0, 24
+ cmp r0, 0
+ beq _080F715A
+ ldr r0, _080F7390 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _080F715A
+ b _080F73E8
+_080F715A:
+ movs r1, 0x80
+ lsls r1, 2
+ ldr r0, [sp, 0xC]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ ldr r5, [sp, 0x10]
+ subs r5, 0x1
+ lsls r5, 24
+ lsrs r5, 24
+ movs r4, 0x1
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ movs r6, 0xF
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r10
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7394 @ =0x00000201
+ ldr r2, [sp, 0xC]
+ subs r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ mov r9, r2
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7398 @ =0x00000202
+ ldr r0, [sp, 0x14]
+ str r0, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0xC]
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F739C @ =0x00000203
+ ldr r2, [sp, 0xC]
+ ldr r0, [sp, 0x14]
+ adds r2, r0
+ mov r8, r2
+ lsls r2, 24
+ lsrs r2, 24
+ str r2, [sp, 0x18]
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ adds r3, r5, 0
+ bl sub_8002554
+ movs r1, 0x81
+ lsls r1, 2
+ add r8, r4
+ mov r2, r8
+ lsls r2, 24
+ lsrs r2, 24
+ mov r8, r2
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73A0 @ =0x00000205
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r10
+ ldr r3, [sp, 0x10]
+ bl sub_8002554
+ ldr r1, _080F73A4 @ =0x00000206
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r9
+ ldr r3, [sp, 0x10]
+ bl sub_8002554
+ movs r1, 0x82
+ lsls r1, 2
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0x18]
+ ldr r3, [sp, 0x10]
+ bl sub_8002554
+ ldr r1, _080F73A8 @ =0x00000209
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r8
+ ldr r3, [sp, 0x10]
+ bl sub_8002554
+ ldr r1, _080F73AC @ =0x0000020a
+ ldr r5, [sp, 0x10]
+ adds r5, 0x1
+ lsls r5, 24
+ lsrs r5, 24
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r10
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73B0 @ =0x0000020b
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r9
+ adds r3, r5, 0
+ bl sub_8002554
+ movs r1, 0x83
+ lsls r1, 2
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0x18]
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73B4 @ =0x0000020d
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r8
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73B8 @ =0x00000a0a
+ ldr r5, [sp, 0x10]
+ adds r5, 0x2
+ lsls r5, 24
+ lsrs r5, 24
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r10
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73BC @ =0x00000a0b
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r9
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73C0 @ =0x00000a0c
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0x18]
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73C4 @ =0x00000a0d
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r8
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73C8 @ =0x00000a05
+ ldr r5, [sp, 0x10]
+ adds r5, 0x3
+ lsls r5, 24
+ lsrs r5, 24
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r10
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73CC @ =0x00000a06
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r9
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73D0 @ =0x00000a08
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0x18]
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73D4 @ =0x00000a09
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r8
+ adds r3, r5, 0
+ bl sub_8002554
+ movs r1, 0xA0
+ lsls r1, 4
+ ldr r5, [sp, 0x10]
+ adds r5, 0x4
+ lsls r5, 24
+ lsrs r5, 24
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r10
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73D8 @ =0x00000a01
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r9
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73DC @ =0x00000a02
+ ldr r0, [sp, 0x14]
+ str r0, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0xC]
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73E0 @ =0x00000a03
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0x18]
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F73E4 @ =0x00000a04
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r8
+ adds r3, r5, 0
+ bl sub_8002554
+ b _080F761E
+ .align 2, 0
+_080F7390: .4byte gUnknown_203ADFA
+_080F7394: .4byte 0x00000201
+_080F7398: .4byte 0x00000202
+_080F739C: .4byte 0x00000203
+_080F73A0: .4byte 0x00000205
+_080F73A4: .4byte 0x00000206
+_080F73A8: .4byte 0x00000209
+_080F73AC: .4byte 0x0000020a
+_080F73B0: .4byte 0x0000020b
+_080F73B4: .4byte 0x0000020d
+_080F73B8: .4byte 0x00000a0a
+_080F73BC: .4byte 0x00000a0b
+_080F73C0: .4byte 0x00000a0c
+_080F73C4: .4byte 0x00000a0d
+_080F73C8: .4byte 0x00000a05
+_080F73CC: .4byte 0x00000a06
+_080F73D0: .4byte 0x00000a08
+_080F73D4: .4byte 0x00000a09
+_080F73D8: .4byte 0x00000a01
+_080F73DC: .4byte 0x00000a02
+_080F73E0: .4byte 0x00000a03
+_080F73E4: .4byte 0x00000a04
+_080F73E8:
+ movs r1, 0x80
+ lsls r1, 2
+ ldr r2, [sp, 0xC]
+ subs r2, 0x2
+ lsls r2, 24
+ lsrs r2, 24
+ mov r10, r2
+ ldr r5, [sp, 0x10]
+ subs r5, 0x1
+ lsls r5, 24
+ lsrs r5, 24
+ movs r4, 0x1
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ movs r6, 0xF
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7630 @ =0x00000201
+ ldr r0, [sp, 0xC]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r9
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7634 @ =0x00000202
+ ldr r2, [sp, 0x14]
+ str r2, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0xC]
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7638 @ =0x00000203
+ ldr r0, [sp, 0xC]
+ ldr r2, [sp, 0x14]
+ adds r0, r2
+ mov r8, r0
+ lsls r2, r0, 24
+ lsrs r2, 24
+ str r2, [sp, 0x1C]
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ adds r3, r5, 0
+ bl sub_8002554
+ movs r1, 0x81
+ lsls r1, 2
+ add r8, r4
+ mov r0, r8
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r8
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F763C @ =0x00000205
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r10
+ ldr r3, [sp, 0x10]
+ bl sub_8002554
+ ldr r1, _080F7640 @ =0x00000206
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r9
+ ldr r3, [sp, 0x10]
+ bl sub_8002554
+ movs r1, 0x82
+ lsls r1, 2
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0x1C]
+ ldr r3, [sp, 0x10]
+ bl sub_8002554
+ ldr r1, _080F7644 @ =0x00000209
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r8
+ ldr r3, [sp, 0x10]
+ bl sub_8002554
+ ldr r1, _080F7648 @ =0x0000020a
+ ldr r5, [sp, 0x10]
+ adds r5, 0x1
+ lsls r5, 24
+ lsrs r5, 24
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r10
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F764C @ =0x0000020b
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r9
+ adds r3, r5, 0
+ bl sub_8002554
+ movs r1, 0x83
+ lsls r1, 2
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0x1C]
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7650 @ =0x0000020d
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r8
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7654 @ =0x00000a05
+ ldr r5, [sp, 0x10]
+ adds r5, 0x2
+ lsls r5, 24
+ lsrs r5, 24
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r10
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7658 @ =0x00000a06
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r9
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F765C @ =0x00000a08
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0x1C]
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7660 @ =0x00000a09
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r8
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7664 @ =0x00000a0a
+ ldr r5, [sp, 0x10]
+ adds r5, 0x3
+ lsls r5, 24
+ lsrs r5, 24
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r10
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7668 @ =0x00000a0b
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r9
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F766C @ =0x00000a0c
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0x1C]
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7670 @ =0x00000a0d
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r8
+ adds r3, r5, 0
+ bl sub_8002554
+ movs r1, 0xA0
+ lsls r1, 4
+ ldr r5, [sp, 0x10]
+ adds r5, 0x4
+ lsls r5, 24
+ lsrs r5, 24
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r10
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7674 @ =0x00000a01
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r9
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7678 @ =0x00000a02
+ ldr r2, [sp, 0x14]
+ str r2, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0xC]
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F767C @ =0x00000a03
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ ldr r2, [sp, 0x1C]
+ adds r3, r5, 0
+ bl sub_8002554
+ ldr r1, _080F7680 @ =0x00000a04
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r6, [sp, 0x8]
+ adds r0, r7, 0
+ mov r2, r8
+ adds r3, r5, 0
+ bl sub_8002554
+_080F761E:
+ add sp, 0x20
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F7630: .4byte 0x00000201
+_080F7634: .4byte 0x00000202
+_080F7638: .4byte 0x00000203
+_080F763C: .4byte 0x00000205
+_080F7640: .4byte 0x00000206
+_080F7644: .4byte 0x00000209
+_080F7648: .4byte 0x0000020a
+_080F764C: .4byte 0x0000020b
+_080F7650: .4byte 0x0000020d
+_080F7654: .4byte 0x00000a05
+_080F7658: .4byte 0x00000a06
+_080F765C: .4byte 0x00000a08
+_080F7660: .4byte 0x00000a09
+_080F7664: .4byte 0x00000a0a
+_080F7668: .4byte 0x00000a0b
+_080F766C: .4byte 0x00000a0c
+_080F7670: .4byte 0x00000a0d
+_080F7674: .4byte 0x00000a01
+_080F7678: .4byte 0x00000a02
+_080F767C: .4byte 0x00000a03
+_080F7680: .4byte 0x00000a04
+ thumb_func_end sub_80F7124
+
+ thumb_func_start sub_80F7684
+sub_80F7684: @ 80F7684
+ push {r4,r5,lr}
+ sub sp, 0xC
+ adds r4, r1, 0
+ adds r5, r2, 0
+ ldr r1, [sp, 0x18]
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, 24
+ lsls r5, 24
+ lsls r3, 24
+ lsls r1, 24
+ movs r2, 0xFF
+ lsls r2, 24
+ adds r4, r2
+ lsrs r4, 24
+ adds r5, r2
+ lsrs r5, 24
+ movs r2, 0x80
+ lsls r2, 18
+ adds r3, r2
+ lsrs r3, 24
+ str r3, [sp]
+ adds r1, r2
+ lsrs r1, 24
+ str r1, [sp, 0x4]
+ movs r1, 0xE
+ str r1, [sp, 0x8]
+ movs r1, 0
+ adds r2, r4, 0
+ adds r3, r5, 0
+ bl sub_8002554
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80F7684
+
+ thumb_func_start sub_80F76CC
+sub_80F76CC: @ 80F76CC
+ push {r4,r5,lr}
+ sub sp, 0xC
+ adds r4, r1, 0
+ adds r5, r2, 0
+ ldr r1, [sp, 0x18]
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, 24
+ lsls r5, 24
+ lsls r3, 24
+ lsls r1, 24
+ movs r2, 0xFE
+ lsls r2, 24
+ adds r4, r2
+ lsrs r4, 24
+ movs r2, 0xFF
+ lsls r2, 24
+ adds r5, r2
+ lsrs r5, 24
+ movs r2, 0x80
+ lsls r2, 19
+ adds r3, r2
+ lsrs r3, 24
+ str r3, [sp]
+ movs r2, 0x80
+ lsls r2, 18
+ adds r1, r2
+ lsrs r1, 24
+ str r1, [sp, 0x4]
+ movs r1, 0xE
+ str r1, [sp, 0x8]
+ movs r1, 0
+ adds r2, r4, 0
+ adds r3, r5, 0
+ bl sub_8002554
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80F76CC
+
+ thumb_func_start sub_80F771C
+sub_80F771C: @ 80F771C
+ push {r4,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x20
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ movs r0, 0x11
+ str r0, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl sub_8002554
+ cmp r4, 0x1
+ bne _080F7746
+ movs r0, 0
+ bl sub_80020BC
+_080F7746:
+ add sp, 0xC
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80F771C
+
+ thumb_func_start sub_80F7750
+sub_80F7750: @ 80F7750
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ movs r2, 0x85
+ lsls r2, 2
+ movs r3, 0xE
+ bl sub_810F2E8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80F7750
+
+ thumb_func_start sub_80F7768
+sub_80F7768: @ 80F7768
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ ldr r0, _080F7790 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _080F7798
+ ldr r2, _080F7794 @ =gUnknown_3003E50
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ movs r1, 0x80
+ lsls r1, 2
+ movs r0, 0
+ bl sub_814FF98
+ b _080F77A4
+ .align 2, 0
+_080F7790: .4byte gUnknown_203ADFA
+_080F7794: .4byte gUnknown_3003E50
+_080F7798:
+ movs r1, 0x80
+ lsls r1, 2
+ adds r0, r4, 0
+ movs r2, 0xF0
+ bl sub_814FEAC
+_080F77A4:
+ movs r2, 0x80
+ lsls r2, 2
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r3, 0xF
+ bl sub_810EDC4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80F7768
+
+ thumb_func_start sub_80F77B8
+sub_80F77B8: @ 80F77B8
+ push {lr}
+ ldr r0, _080F77C8 @ =gUnknown_841F408
+ movs r1, 0xE0
+ movs r2, 0x14
+ bl sub_80703EC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F77C8: .4byte gUnknown_841F408
+ thumb_func_end sub_80F77B8
+
+ thumb_func_start sub_80F77CC
+sub_80F77CC: @ 80F77CC
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r0, _080F77E0 @ =gUnknown_841F408
+ movs r2, 0x14
+ bl sub_80703EC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F77E0: .4byte gUnknown_841F408
+ thumb_func_end sub_80F77CC
+
+ thumb_func_start sub_80F77E4
+sub_80F77E4: @ 80F77E4
+ ldr r0, _080F77E8 @ =gUnknown_841F408
+ bx lr
+ .align 2, 0
+_080F77E8: .4byte gUnknown_841F408
+ thumb_func_end sub_80F77E4
+
+ thumb_func_start sub_80F77EC
+sub_80F77EC: @ 80F77EC
+ push {lr}
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0xF
+ bls _080F77F8
+ movs r1, 0
+_080F77F8:
+ ldr r0, _080F7804 @ =gUnknown_841F408
+ lsls r1, 1
+ adds r1, r0
+ ldrh r0, [r1]
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080F7804: .4byte gUnknown_841F408
+ thumb_func_end sub_80F77EC
+
+ thumb_func_start sub_80F7808
+sub_80F7808: @ 80F7808
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0x10
+ adds r5, r0, 0
+ adds r4, r1, 0
+ adds r6, r2, 0
+ mov r8, r3
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_80F6E9C
+ bl sub_80F78A8
+ lsls r0, 24
+ lsrs r0, 24
+ movs r2, 0x80
+ lsls r2, 2
+ str r4, [sp]
+ str r0, [sp, 0x4]
+ str r6, [sp, 0x8]
+ mov r0, r8
+ str r0, [sp, 0xC]
+ adds r0, r5, 0
+ movs r1, 0
+ movs r3, 0xF
+ bl sub_80BF474
+ movs r0, 0
+ movs r1, 0x3
+ bl sub_8003F20
+ add sp, 0x10
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80F7808
+
+ thumb_func_start sub_80F7858
+sub_80F7858: @ 80F7858
+ push {lr}
+ sub sp, 0xC
+ ldr r0, _080F787C @ =gUnknown_841F43C
+ movs r1, 0x85
+ lsls r1, 2
+ str r1, [sp]
+ movs r1, 0xE
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x2
+ movs r2, 0
+ movs r3, 0x2
+ bl sub_810FF60
+ add sp, 0xC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F787C: .4byte gUnknown_841F43C
+ thumb_func_end sub_80F7858
+
+ thumb_func_start sub_80F7880
+sub_80F7880: @ 80F7880
+ push {lr}
+ sub sp, 0xC
+ ldr r0, _080F78A4 @ =gUnknown_841F43C
+ movs r1, 0x85
+ lsls r1, 2
+ str r1, [sp]
+ movs r1, 0xE
+ str r1, [sp, 0x4]
+ movs r1, 0x1
+ str r1, [sp, 0x8]
+ movs r1, 0x2
+ movs r2, 0
+ movs r3, 0x2
+ bl sub_810FF60
+ add sp, 0xC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F78A4: .4byte gUnknown_841F43C
+ thumb_func_end sub_80F7880
+
+ thumb_func_start sub_80F78A8
+sub_80F78A8: @ 80F78A8
+ push {lr}
+ ldr r3, _080F78D8 @ =gUnknown_300500C
+ ldr r2, [r3]
+ ldrb r1, [r2, 0x14]
+ lsls r0, r1, 29
+ lsrs r0, 29
+ cmp r0, 0x2
+ bls _080F78C4
+ movs r0, 0x8
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r2, 0x14]
+_080F78C4:
+ ldr r1, _080F78DC @ =gUnknown_841F428
+ ldr r0, [r3]
+ ldrb r0, [r0, 0x14]
+ lsls r0, 29
+ lsrs r0, 29
+ adds r0, r1
+ ldrb r0, [r0]
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080F78D8: .4byte gUnknown_300500C
+_080F78DC: .4byte gUnknown_841F428
+ thumb_func_end sub_80F78A8
+
+ thumb_func_start sub_80F78E0
+sub_80F78E0: @ 80F78E0
+ push {r4,lr}
+ sub sp, 0x20
+ lsls r0, 24
+ lsrs r1, r0, 24
+ ldr r4, _080F7934 @ =gUnknown_203ABE0
+ ldrb r0, [r4]
+ cmp r0, 0xFF
+ bne _080F792A
+ movs r0, 0x7
+ str r0, [sp]
+ lsls r0, r1, 25
+ movs r1, 0xFF
+ lsls r1, 24
+ adds r0, r1
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ movs r0, 0xF
+ str r0, [sp, 0x8]
+ ldr r0, _080F7938 @ =0x0000013d
+ str r0, [sp, 0xC]
+ add r0, sp, 0x10
+ movs r1, 0
+ movs r2, 0x16
+ movs r3, 0x1
+ bl sub_810FE50
+ ldr r0, [sp, 0x10]
+ ldr r1, [sp, 0x14]
+ str r0, [sp, 0x18]
+ str r1, [sp, 0x1C]
+ add r0, sp, 0x18
+ bl sub_8003CE4
+ strb r0, [r4]
+ ldrb r0, [r4]
+ bl sub_8003FA0
+_080F792A:
+ ldrb r0, [r4]
+ add sp, 0x20
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080F7934: .4byte gUnknown_203ABE0
+_080F7938: .4byte 0x0000013d
+ thumb_func_end sub_80F78E0
+
+ thumb_func_start sub_80F793C
+sub_80F793C: @ 80F793C
+ ldr r0, _080F7944 @ =gUnknown_203ABE0
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_080F7944: .4byte gUnknown_203ABE0
+ thumb_func_end sub_80F793C
+
+ thumb_func_start sub_80F7948
+sub_80F7948: @ 80F7948
+ push {r4,lr}
+ ldr r4, _080F7960 @ =gUnknown_203ABE0
+ ldrb r0, [r4]
+ cmp r0, 0xFF
+ beq _080F795A
+ bl sub_8003E3C
+ movs r0, 0xFF
+ strb r0, [r4]
+_080F795A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F7960: .4byte gUnknown_203ABE0
+ thumb_func_end sub_80F7948
+
+ thumb_func_start sub_80F7964
+sub_80F7964: @ 80F7964
+ movs r0, 0x80
+ lsls r0, 2
+ bx lr
+ thumb_func_end sub_80F7964
+
+ thumb_func_start sub_80F796C
+sub_80F796C: @ 80F796C
+ movs r0, 0x85
+ lsls r0, 2
+ bx lr
+ thumb_func_end sub_80F796C
+
+ thumb_func_start sub_80F7974
+sub_80F7974: @ 80F7974
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8112EB4
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x80
+ lsls r1, 2
+ movs r2, 0xF0
+ bl sub_814FE6C
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl sub_8113018
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80F7974
+
+ thumb_func_start sub_80F7998
+sub_80F7998: @ 80F7998
+ push {lr}
+ movs r0, 0x2
+ bl sub_8112EDC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80F7998
+
+ thumb_func_start sub_80F79A4
+sub_80F79A4: @ 80F79A4
+ push {lr}
+ bl sub_80F77B8
+ movs r1, 0x80
+ lsls r1, 2
+ movs r0, 0
+ movs r2, 0xF0
+ bl sub_814FEEC
+ movs r1, 0x85
+ lsls r1, 2
+ movs r0, 0
+ movs r2, 0xE0
+ bl sub_815001C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80F79A4
+
+ thumb_func_start sub_80F79C8
+sub_80F79C8: @ 80F79C8
+ push {lr}
+ ldr r0, _080F79D4 @ =gUnknown_841F444
+ bl sub_8002C1C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080F79D4: .4byte gUnknown_841F444
+ thumb_func_end sub_80F79C8
+
+ thumb_func_start sub_80F79D8
+sub_80F79D8: @ 80F79D8
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0
+ cmp r1, 0x7
+ bhi _080F7AB6
+ lsls r0, r1, 2
+ ldr r1, _080F79F4 @ =_080F79F8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080F79F4: .4byte _080F79F8
+ .align 2, 0
+_080F79F8:
+ .4byte _080F7A18
+ .4byte _080F7A2C
+ .4byte _080F7A40
+ .4byte _080F7A54
+ .4byte _080F7A68
+ .4byte _080F7A7C
+ .4byte _080F7A90
+ .4byte _080F7AA8
+_080F7A18:
+ ldr r1, _080F7A28 @ =gUnknown_841F444
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x4]
+ b _080F7AB6
+ .align 2, 0
+_080F7A28: .4byte gUnknown_841F444
+_080F7A2C:
+ ldr r1, _080F7A3C @ =gUnknown_841F444
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x5]
+ b _080F7AB6
+ .align 2, 0
+_080F7A3C: .4byte gUnknown_841F444
+_080F7A40:
+ ldr r1, _080F7A50 @ =gUnknown_841F444
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x6]
+ b _080F7AB6
+ .align 2, 0
+_080F7A50: .4byte gUnknown_841F444
+_080F7A54:
+ ldr r1, _080F7A64 @ =gUnknown_841F444
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x7]
+ b _080F7AB6
+ .align 2, 0
+_080F7A64: .4byte gUnknown_841F444
+_080F7A68:
+ ldr r0, _080F7A78 @ =gUnknown_841F444
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x8]
+ b _080F7A9C
+ .align 2, 0
+_080F7A78: .4byte gUnknown_841F444
+_080F7A7C:
+ ldr r0, _080F7A8C @ =gUnknown_841F444
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x8]
+ b _080F7AB4
+ .align 2, 0
+_080F7A8C: .4byte gUnknown_841F444
+_080F7A90:
+ ldr r0, _080F7AA4 @ =gUnknown_841F444
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x9]
+_080F7A9C:
+ lsls r0, 28
+ lsrs r0, 28
+ b _080F7AB6
+ .align 2, 0
+_080F7AA4: .4byte gUnknown_841F444
+_080F7AA8:
+ ldr r0, _080F7ABC @ =gUnknown_841F444
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x9]
+_080F7AB4:
+ lsrs r0, 4
+_080F7AB6:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080F7ABC: .4byte gUnknown_841F444
+ thumb_func_end sub_80F79D8
+
+ thumb_func_start sub_80F7AC0
+sub_80F7AC0: @ 80F7AC0
+ lsls r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, _080F7AD4 @ =gUnknown_841F4A4
+ lsrs r0, 23
+ adds r1, r0
+ adds r1, r2
+ ldrb r0, [r1]
+ bx lr
+ .align 2, 0
+_080F7AD4: .4byte gUnknown_841F4A4
+ thumb_func_end sub_80F7AC0
+
+ .align 2, 0 @ Don't pad with nop.