summaryrefslogtreecommitdiff
path: root/asm/item_use.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/item_use.s')
-rw-r--r--asm/item_use.s2410
1 files changed, 2410 insertions, 0 deletions
diff --git a/asm/item_use.s b/asm/item_use.s
new file mode 100644
index 000000000..a5abaf387
--- /dev/null
+++ b/asm/item_use.s
@@ -0,0 +1,2410 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_80A0FBC
+sub_80A0FBC: @ 80A0FBC
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _080A0FD8 @ =gUnknown_203AD30
+ ldrh r0, [r1]
+ cmp r0, 0xAF
+ bne _080A0FE0
+ ldr r0, _080A0FDC @ =gUnknown_3005090
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldrb r0, [r1, 0x10]
+ b _080A0FE6
+ .align 2, 0
+_080A0FD8: .4byte gUnknown_203AD30
+_080A0FDC: .4byte gUnknown_3005090
+_080A0FE0:
+ ldrh r0, [r1]
+ bl sub_809A9FC
+_080A0FE6:
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A1010 @ =gUnknown_203AD30
+ ldrh r0, [r0]
+ bl sub_809A260
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bne _080A1018
+ ldr r0, _080A1014 @ =gUnknown_83E2954
+ lsls r1, r4, 2
+ adds r1, r0
+ ldr r0, [r1]
+ bl sub_813D934
+ adds r0, r5, 0
+ bl sub_813D808
+ b _080A1032
+ .align 2, 0
+_080A1010: .4byte gUnknown_203AD30
+_080A1014: .4byte gUnknown_83E2954
+_080A1018:
+ ldr r0, _080A1038 @ =gUnknown_83E2954
+ lsls r1, r4, 2
+ adds r1, r0
+ ldr r0, [r1]
+ bl sub_8108EE0
+ cmp r4, 0x1
+ bne _080A102C
+ bl sub_8108CB4
+_080A102C:
+ adds r0, r5, 0
+ bl sub_8108B50
+_080A1032:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1038: .4byte gUnknown_83E2954
+ thumb_func_end sub_80A0FBC
+
+ thumb_func_start sub_80A103C
+sub_80A103C: @ 80A103C
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r1, _080A1064 @ =gUnknown_3005090
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0xE
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x1
+ beq _080A1070
+ ldr r1, _080A1068 @ =gUnknown_3005020
+ ldr r0, _080A106C @ =sub_80A1084
+ str r0, [r1]
+ adds r0, r2, 0
+ bl sub_80A0FBC
+ b _080A107A
+ .align 2, 0
+_080A1064: .4byte gUnknown_3005090
+_080A1068: .4byte gUnknown_3005020
+_080A106C: .4byte sub_80A1084
+_080A1070:
+ ldr r0, _080A1080 @ =gUnknown_2039998
+ ldr r1, [r0]
+ adds r0, r2, 0
+ bl _call_via_r1
+_080A107A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1080: .4byte gUnknown_2039998
+ thumb_func_end sub_80A103C
+
+ thumb_func_start sub_80A1084
+sub_80A1084: @ 80A1084
+ push {lr}
+ bl sub_807DC00
+ ldr r0, _080A1098 @ =sub_80A109C
+ movs r1, 0x8
+ bl sub_807741C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1098: .4byte sub_80A109C
+ thumb_func_end sub_80A1084
+
+ thumb_func_start sub_80A109C
+sub_80A109C: @ 80A109C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_807AA70
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A10B8
+ ldr r0, _080A10C0 @ =gUnknown_2039998
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl _call_via_r1
+_080A10B8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A10C0: .4byte gUnknown_2039998
+ thumb_func_end sub_80A109C
+
+ thumb_func_start sub_80A10C4
+sub_80A10C4: @ 80A10C4
+ push {r4-r7,lr}
+ adds r4, r1, 0
+ adds r1, r3, 0
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r2, 24
+ lsrs r6, r2, 24
+ ldr r5, _080A10F0 @ =gUnknown_2021D18
+ adds r0, r5, 0
+ bl sub_8008FCC
+ cmp r4, 0
+ bne _080A10F8
+ ldr r3, _080A10F4 @ =sub_810A1F8
+ adds r0, r7, 0
+ adds r1, r6, 0
+ adds r2, r5, 0
+ bl sub_8108E70
+ b _080A1104
+ .align 2, 0
+_080A10F0: .4byte gUnknown_2021D18
+_080A10F4: .4byte sub_810A1F8
+_080A10F8:
+ ldr r3, _080A110C @ =sub_80A112C
+ adds r0, r7, 0
+ adds r1, r6, 0
+ adds r2, r5, 0
+ bl sub_80F7808
+_080A1104:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A110C: .4byte sub_80A112C
+ thumb_func_end sub_80A10C4
+
+ thumb_func_start sub_80A1110
+sub_80A1110: @ 80A1110
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r3, _080A1128 @ =gUnknown_8416425
+ movs r2, 0x4
+ bl sub_80A10C4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1128: .4byte gUnknown_8416425
+ thumb_func_end sub_80A1110
+
+ thumb_func_start sub_80A112C
+sub_80A112C: @ 80A112C
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_80F6F54
+ adds r0, r4, 0
+ bl sub_8077508
+ bl sub_80696C0
+ bl sub_806994C
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A112C
+
+ thumb_func_start sub_80A1150
+sub_80A1150: @ 80A1150
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r4, r0, 16
+ adds r0, r4, 0
+ bl sub_809A9D8
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x4
+ bne _080A1168
+ movs r0, 0x1
+ b _080A117E
+_080A1168:
+ adds r0, r4, 0
+ bl sub_809AA20
+ ldr r1, _080A1178 @ =sub_80A1750
+ cmp r0, r1
+ beq _080A117C
+ movs r0, 0
+ b _080A117E
+ .align 2, 0
+_080A1178: .4byte sub_80A1750
+_080A117C:
+ movs r0, 0x2
+_080A117E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A1150
+
+ thumb_func_start sub_80A1184
+sub_80A1184: @ 80A1184
+ ldr r1, _080A118C @ =gUnknown_3005024
+ ldr r0, _080A1190 @ =sub_80A1194
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_080A118C: .4byte gUnknown_3005024
+_080A1190: .4byte sub_80A1194
+ thumb_func_end sub_80A1184
+
+ thumb_func_start sub_80A1194
+sub_80A1194: @ 80A1194
+ push {lr}
+ bl sub_8068974
+ bl sub_8069940
+ bl sub_807DC00
+ ldr r0, _080A11B8 @ =sub_80A11C0
+ movs r1, 0xA
+ bl sub_807741C
+ ldr r1, _080A11BC @ =gUnknown_2031DE0
+ movs r0, 0
+ strb r0, [r1]
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A11B8: .4byte sub_80A11C0
+_080A11BC: .4byte gUnknown_2031DE0
+ thumb_func_end sub_80A1194
+
+ thumb_func_start sub_80A11C0
+sub_80A11C0: @ 80A11C0
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_807AA70
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A11E0
+ bl sub_8068A5C
+ bl sub_806994C
+ adds r0, r4, 0
+ bl sub_8077508
+_080A11E0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A11C0
+
+ thumb_func_start sub_80A11E8
+sub_80A11E8: @ 80A11E8
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080A1204 @ =sub_80A1208
+ bl sub_8108EE0
+ adds r0, r4, 0
+ bl sub_8108B50
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1204: .4byte sub_80A1208
+ thumb_func_end sub_80A11E8
+
+ thumb_func_start sub_80A1208
+sub_80A1208: @ 80A1208
+ push {lr}
+ sub sp, 0x24
+ mov r1, sp
+ ldr r0, _080A1224 @ =gUnknown_203AD30
+ ldrh r0, [r0]
+ strh r0, [r1, 0x20]
+ ldr r1, _080A1228 @ =sub_8107EB8
+ mov r0, sp
+ movs r2, 0
+ bl sub_80BEBEC
+ add sp, 0x24
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1224: .4byte gUnknown_203AD30
+_080A1228: .4byte sub_8107EB8
+ thumb_func_end sub_80A1208
+
+ thumb_func_start sub_80A122C
+sub_80A122C: @ 80A122C
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ mov r4, sp
+ adds r4, 0x2
+ mov r0, sp
+ adds r1, r4, 0
+ bl sub_805C538
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r2, 0
+ ldrsh r1, [r4, r2]
+ bl sub_8058F78
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x83
+ lsls r0, 4
+ bl sub_806E6D0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080A129A
+ adds r0, r4, 0
+ bl sub_805A218
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080A129A
+ adds r0, r4, 0
+ bl sub_805A21C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080A129A
+ adds r0, r4, 0
+ bl sub_805A210
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080A129A
+ adds r0, r4, 0
+ bl sub_805A214
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A12BC
+_080A129A:
+ ldr r1, _080A12B4 @ =gUnknown_3005090
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldrb r1, [r0, 0xE]
+ ldr r3, _080A12B8 @ =gUnknown_8416451
+ adds r0, r5, 0
+ movs r2, 0x2
+ bl sub_80A10C4
+ b _080A12F6
+ .align 2, 0
+_080A12B4: .4byte gUnknown_3005090
+_080A12B8: .4byte gUnknown_8416451
+_080A12BC:
+ bl sub_8055C9C
+ cmp r0, 0x1
+ bne _080A12E4
+ bl sub_80BD540
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A12E4
+ ldr r1, _080A12DC @ =gUnknown_2039998
+ ldr r0, _080A12E0 @ =sub_80A1304
+ str r0, [r1]
+ adds r0, r5, 0
+ bl sub_80A103C
+ b _080A12F6
+ .align 2, 0
+_080A12DC: .4byte gUnknown_2039998
+_080A12E0: .4byte sub_80A1304
+_080A12E4:
+ ldr r0, _080A1300 @ =gUnknown_3005090
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldrb r1, [r1, 0xE]
+ adds r0, r5, 0
+ bl sub_80A1110
+_080A12F6:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1300: .4byte gUnknown_3005090
+ thumb_func_end sub_80A122C
+
+ thumb_func_start sub_80A1304
+sub_80A1304: @ 80A1304
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x6
+ bl sub_805C74C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A131C
+ movs r0, 0xB
+ bl sub_80722CC
+_080A131C:
+ movs r0, 0x6
+ bl sub_80BD5C8
+ bl sub_80696C0
+ bl sub_806994C
+ adds r0, r4, 0
+ bl sub_8077508
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A1304
+
+ thumb_func_start sub_80A1338
+sub_80A1338: @ 80A1338
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_80A137C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A1360
+ ldr r1, _080A1358 @ =gUnknown_2039998
+ ldr r0, _080A135C @ =sub_80A1410
+ str r0, [r1]
+ adds r0, r4, 0
+ bl sub_80A103C
+ b _080A1372
+ .align 2, 0
+_080A1358: .4byte gUnknown_2039998
+_080A135C: .4byte sub_80A1410
+_080A1360:
+ ldr r0, _080A1378 @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldrb r1, [r1, 0xE]
+ adds r0, r4, 0
+ bl sub_80A1110
+_080A1372:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1378: .4byte gUnknown_3005090
+ thumb_func_end sub_80A1338
+
+ thumb_func_start sub_80A137C
+sub_80A137C: @ 80A137C
+ push {r4-r6,lr}
+ sub sp, 0x4
+ mov r4, sp
+ adds r4, 0x2
+ mov r0, sp
+ adds r1, r4, 0
+ bl sub_805C4F4
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r2, 0
+ ldrsh r1, [r4, r2]
+ bl sub_8058F78
+ lsls r0, 16
+ lsrs r6, r0, 16
+ lsls r0, r6, 24
+ lsrs r5, r0, 24
+ adds r0, r5, 0
+ bl sub_805A104
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A1404
+ movs r0, 0x10
+ bl sub_805C74C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A1404
+ movs r0, 0x8
+ bl sub_805C74C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A13D4
+ bl sub_805C8B0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A1404
+_080A13D0:
+ movs r0, 0x1
+ b _080A1406
+_080A13D4:
+ adds r0, r5, 0
+ bl sub_8059CA4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A13F4
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r2, 0
+ ldrsh r1, [r4, r2]
+ bl sub_8058DC4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A13D0
+_080A13F4:
+ lsls r0, r6, 24
+ lsrs r0, 24
+ bl sub_8059F58
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080A13D0
+_080A1404:
+ movs r0, 0
+_080A1406:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A137C
+
+ thumb_func_start sub_80A1410
+sub_80A1410: @ 80A1410
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080A1434 @ =gUnknown_203AD30
+ ldrh r0, [r0]
+ bl sub_809AA8C
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_805D2C0
+ adds r0, r4, 0
+ bl sub_8077508
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1434: .4byte gUnknown_203AD30
+ thumb_func_end sub_80A1410
+
+ thumb_func_start sub_80A1438
+sub_80A1438: @ 80A1438
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x27
+ bl sub_8054E90
+ ldr r1, _080A1458 @ =gUnknown_2039998
+ ldr r0, _080A145C @ =sub_813EC8C
+ str r0, [r1]
+ adds r0, r4, 0
+ bl sub_80A103C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1458: .4byte gUnknown_2039998
+_080A145C: .4byte sub_813EC8C
+ thumb_func_end sub_80A1438
+
+ thumb_func_start sub_80A1460
+sub_80A1460: @ 80A1460
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r4, _080A14B4 @ =gUnknown_2021CD0
+ bl sub_80D0554
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r4, 0
+ movs r2, 0
+ movs r3, 0x4
+ bl sub_8008E78
+ ldr r4, _080A14B8 @ =gUnknown_2021D18
+ ldr r1, _080A14BC @ =gUnknown_8416537
+ adds r0, r4, 0
+ bl sub_8008FCC
+ ldr r0, _080A14C0 @ =gUnknown_203AD30
+ ldrh r2, [r0]
+ ldr r3, _080A14C4 @ =0x0000ffff
+ movs r0, 0x4
+ movs r1, 0
+ bl sub_80A2294
+ ldr r1, _080A14C8 @ =gUnknown_3005090
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0xE
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _080A14D0
+ ldr r3, _080A14CC @ =sub_810A1F8
+ adds r0, r5, 0
+ movs r1, 0x2
+ adds r2, r4, 0
+ bl sub_8108E70
+ b _080A14DC
+ .align 2, 0
+_080A14B4: .4byte gUnknown_2021CD0
+_080A14B8: .4byte gUnknown_2021D18
+_080A14BC: .4byte gUnknown_8416537
+_080A14C0: .4byte gUnknown_203AD30
+_080A14C4: .4byte 0x0000ffff
+_080A14C8: .4byte gUnknown_3005090
+_080A14CC: .4byte sub_810A1F8
+_080A14D0:
+ ldr r3, _080A14E4 @ =sub_80A112C
+ adds r0, r5, 0
+ movs r1, 0x2
+ adds r2, r4, 0
+ bl sub_80F7808
+_080A14DC:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A14E4: .4byte sub_80A112C
+ thumb_func_end sub_80A1460
+
+ thumb_func_start sub_80A14E8
+sub_80A14E8: @ 80A14E8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r4, _080A1538 @ =gUnknown_2021CD0
+ bl sub_815EFA0
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0
+ movs r3, 0x5
+ bl sub_8008E78
+ ldr r4, _080A153C @ =gUnknown_2021D18
+ ldr r1, _080A1540 @ =gUnknown_8416644
+ adds r0, r4, 0
+ bl sub_8008FCC
+ ldr r0, _080A1544 @ =gUnknown_203AD30
+ ldrh r2, [r0]
+ ldr r3, _080A1548 @ =0x0000ffff
+ movs r0, 0x4
+ movs r1, 0
+ bl sub_80A2294
+ ldr r1, _080A154C @ =gUnknown_3005090
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0xE
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _080A1554
+ ldr r3, _080A1550 @ =sub_810A1F8
+ adds r0, r5, 0
+ movs r1, 0x2
+ adds r2, r4, 0
+ bl sub_8108E70
+ b _080A1560
+ .align 2, 0
+_080A1538: .4byte gUnknown_2021CD0
+_080A153C: .4byte gUnknown_2021D18
+_080A1540: .4byte gUnknown_8416644
+_080A1544: .4byte gUnknown_203AD30
+_080A1548: .4byte 0x0000ffff
+_080A154C: .4byte gUnknown_3005090
+_080A1550: .4byte sub_810A1F8
+_080A1554:
+ ldr r3, _080A1568 @ =sub_80A112C
+ adds r0, r5, 0
+ movs r1, 0x2
+ adds r2, r4, 0
+ bl sub_80F7808
+_080A1560:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1568: .4byte sub_80A112C
+ thumb_func_end sub_80A14E8
+
+ thumb_func_start sub_80A156C
+sub_80A156C: @ 80A156C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r6, 0
+ movs r4, 0
+ b _080A1598
+_080A1578:
+ movs r0, 0x64
+ muls r0, r4
+ ldr r1, _080A15D0 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x11
+ adds r2, r4, 0
+ movs r3, 0
+ bl sub_80413C0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A1592
+ movs r6, 0x1
+_080A1592:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+_080A1598:
+ bl sub_8040C3C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bcc _080A1578
+ cmp r6, 0
+ beq _080A1600
+ ldr r0, _080A15D4 @ =gUnknown_203AD30
+ ldrh r2, [r0]
+ ldr r3, _080A15D8 @ =0x0000ffff
+ movs r0, 0x4
+ movs r1, 0
+ bl sub_80A2294
+ ldr r1, _080A15DC @ =gUnknown_3005090
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0xE
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _080A15E8
+ ldr r2, _080A15E0 @ =gUnknown_8416690
+ ldr r3, _080A15E4 @ =sub_80A1648
+ b _080A1616
+ .align 2, 0
+_080A15D0: .4byte gUnknown_2024284
+_080A15D4: .4byte gUnknown_203AD30
+_080A15D8: .4byte 0x0000ffff
+_080A15DC: .4byte gUnknown_3005090
+_080A15E0: .4byte gUnknown_8416690
+_080A15E4: .4byte sub_80A1648
+_080A15E8:
+ ldr r2, _080A15F8 @ =gUnknown_8416690
+ ldr r3, _080A15FC @ =sub_80A1648
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl sub_80F7808
+ b _080A1638
+ .align 2, 0
+_080A15F8: .4byte gUnknown_8416690
+_080A15FC: .4byte sub_80A1648
+_080A1600:
+ ldr r0, _080A1620 @ =gUnknown_3005090
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _080A162C
+ ldr r2, _080A1624 @ =gUnknown_841665C
+ ldr r3, _080A1628 @ =sub_810A1F8
+_080A1616:
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl sub_8108E70
+ b _080A1638
+ .align 2, 0
+_080A1620: .4byte gUnknown_3005090
+_080A1624: .4byte gUnknown_841665C
+_080A1628: .4byte sub_810A1F8
+_080A162C:
+ ldr r2, _080A1640 @ =gUnknown_841665C
+ ldr r3, _080A1644 @ =sub_80A112C
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl sub_80F7808
+_080A1638:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1640: .4byte gUnknown_841665C
+_080A1644: .4byte sub_80A112C
+ thumb_func_end sub_80A156C
+
+ thumb_func_start sub_80A1648
+sub_80A1648: @ 80A1648
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0xB
+ bl sub_8071BC4
+ ldr r1, _080A166C @ =gUnknown_3005090
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080A1670 @ =sub_80A1674
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A166C: .4byte gUnknown_3005090
+_080A1670: .4byte sub_80A1674
+ thumb_func_end sub_80A1648
+
+ thumb_func_start sub_80A1674
+sub_80A1674: @ 80A1674
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r5, r4, 0
+ movs r0, 0
+ bl sub_8071C10
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A16C0
+ ldr r0, _080A16A8 @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _080A16B4
+ ldr r2, _080A16AC @ =gUnknown_84166A7
+ ldr r3, _080A16B0 @ =sub_810A1F8
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl sub_8108E70
+ b _080A16C0
+ .align 2, 0
+_080A16A8: .4byte gUnknown_3005090
+_080A16AC: .4byte gUnknown_84166A7
+_080A16B0: .4byte sub_810A1F8
+_080A16B4:
+ ldr r2, _080A16C8 @ =gUnknown_84166A7
+ ldr r3, _080A16CC @ =sub_80A112C
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl sub_80F7808
+_080A16C0:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A16C8: .4byte gUnknown_84166A7
+_080A16CC: .4byte sub_80A112C
+ thumb_func_end sub_80A1674
+
+ thumb_func_start sub_80A16D0
+sub_80A16D0: @ 80A16D0
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80A0FBC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A16D0
+
+ thumb_func_start sub_80A16E0
+sub_80A16E0: @ 80A16E0
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A16F4 @ =gUnknown_3005E98
+ ldr r1, _080A16F8 @ =sub_81252D0
+ str r1, [r2]
+ bl sub_80A16D0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A16F4: .4byte gUnknown_3005E98
+_080A16F8: .4byte sub_81252D0
+ thumb_func_end sub_80A16E0
+
+ thumb_func_start sub_80A16FC
+sub_80A16FC: @ 80A16FC
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A1710 @ =gUnknown_3005E98
+ ldr r1, _080A1714 @ =sub_81256F8
+ str r1, [r2]
+ bl sub_80A16D0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1710: .4byte gUnknown_3005E98
+_080A1714: .4byte sub_81256F8
+ thumb_func_end sub_80A16FC
+
+ thumb_func_start sub_80A1718
+sub_80A1718: @ 80A1718
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A172C @ =gUnknown_3005E98
+ ldr r1, _080A1730 @ =sub_8125A3C
+ str r1, [r2]
+ bl sub_80A16D0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A172C: .4byte gUnknown_3005E98
+_080A1730: .4byte sub_8125A3C
+ thumb_func_end sub_80A1718
+
+ thumb_func_start sub_80A1734
+sub_80A1734: @ 80A1734
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A1748 @ =gUnknown_3005E98
+ ldr r1, _080A174C @ =sub_81262AC
+ str r1, [r2]
+ bl sub_80A16D0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1748: .4byte gUnknown_3005E98
+_080A174C: .4byte sub_81262AC
+ thumb_func_end sub_80A1734
+
+ thumb_func_start sub_80A1750
+sub_80A1750: @ 80A1750
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A1764 @ =gUnknown_3005E98
+ ldr r1, _080A1768 @ =sub_8126B60
+ str r1, [r2]
+ bl sub_80A16D0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1764: .4byte gUnknown_3005E98
+_080A1768: .4byte sub_8126B60
+ thumb_func_end sub_80A1750
+
+ thumb_func_start sub_80A176C
+sub_80A176C: @ 80A176C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A1780 @ =gUnknown_3005E98
+ ldr r1, _080A1784 @ =sub_8126894
+ str r1, [r2]
+ bl sub_80A0FBC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1780: .4byte gUnknown_3005E98
+_080A1784: .4byte sub_8126894
+ thumb_func_end sub_80A176C
+
+ thumb_func_start sub_80A1788
+sub_80A1788: @ 80A1788
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _080A17B0 @ =gUnknown_3005090
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r5, r0, r1
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _080A17B8
+ ldr r0, _080A17B4 @ =sub_80A17D4
+ bl sub_8108EE0
+ adds r0, r4, 0
+ bl sub_8108B50
+ b _080A17C8
+ .align 2, 0
+_080A17B0: .4byte gUnknown_3005090
+_080A17B4: .4byte sub_80A17D4
+_080A17B8:
+ bl sub_80CCB68
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_807A818
+ ldr r0, _080A17D0 @ =sub_80A17E8
+ str r0, [r5]
+_080A17C8:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A17D0: .4byte sub_80A17E8
+ thumb_func_end sub_80A1788
+
+ thumb_func_start sub_80A17D4
+sub_80A17D4: @ 80A17D4
+ push {lr}
+ ldr r1, _080A17E4 @ =sub_8107EB8
+ movs r0, 0
+ movs r2, 0
+ bl sub_81317F8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A17E4: .4byte sub_8107EB8
+ thumb_func_end sub_80A17D4
+
+ thumb_func_start sub_80A17E8
+sub_80A17E8: @ 80A17E8
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A1818 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080A1812
+ bl sub_80563F0
+ bl sub_80A1184
+ ldr r1, _080A181C @ =sub_80567DC
+ movs r0, 0
+ movs r2, 0x1
+ bl sub_81317F8
+ adds r0, r4, 0
+ bl sub_8077508
+_080A1812:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1818: .4byte gUnknown_2037AB8
+_080A181C: .4byte sub_80567DC
+ thumb_func_end sub_80A17E8
+
+ thumb_func_start sub_80A1820
+sub_80A1820: @ 80A1820
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _080A1848 @ =gUnknown_3005090
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r5, r0, r1
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _080A1850
+ ldr r0, _080A184C @ =sub_80A186C
+ bl sub_8108EE0
+ adds r0, r4, 0
+ bl sub_8108B50
+ b _080A1860
+ .align 2, 0
+_080A1848: .4byte gUnknown_3005090
+_080A184C: .4byte sub_80A186C
+_080A1850:
+ bl sub_80CCB68
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_807A818
+ ldr r0, _080A1868 @ =sub_80A1880
+ str r0, [r5]
+_080A1860:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1868: .4byte sub_80A1880
+ thumb_func_end sub_80A1820
+
+ thumb_func_start sub_80A186C
+sub_80A186C: @ 80A186C
+ push {lr}
+ ldr r1, _080A187C @ =sub_8107EB8
+ movs r0, 0
+ movs r2, 0
+ bl sub_813CD50
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A187C: .4byte sub_8107EB8
+ thumb_func_end sub_80A186C
+
+ thumb_func_start sub_80A1880
+sub_80A1880: @ 80A1880
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A18B0 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080A18AA
+ bl sub_80563F0
+ bl sub_80A1184
+ ldr r1, _080A18B4 @ =sub_80567DC
+ movs r0, 0
+ movs r2, 0x1
+ bl sub_813CD50
+ adds r0, r4, 0
+ bl sub_8077508
+_080A18AA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A18B0: .4byte gUnknown_2037AB8
+_080A18B4: .4byte sub_80567DC
+ thumb_func_end sub_80A1880
+
+ thumb_func_start sub_80A18B8
+sub_80A18B8: @ 80A18B8
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080A18D4 @ =sub_80A18D8
+ bl sub_8108EE0
+ adds r0, r4, 0
+ bl sub_8108B50
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A18D4: .4byte sub_80A18D8
+ thumb_func_end sub_80A18B8
+
+ thumb_func_start sub_80A18D8
+sub_80A18D8: @ 80A18D8
+ push {lr}
+ ldr r1, _080A18E8 @ =sub_8107ECC
+ movs r0, 0x4
+ movs r2, 0
+ bl sub_813CD50
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A18E8: .4byte sub_8107ECC
+ thumb_func_end sub_80A18D8
+
+ thumb_func_start sub_80A18EC
+sub_80A18EC: @ 80A18EC
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A1920 @ =gUnknown_203AD30
+ ldrh r2, [r0]
+ ldr r3, _080A1924 @ =0x0000ffff
+ movs r0, 0x4
+ movs r1, 0
+ bl sub_80A2294
+ ldr r1, _080A1928 @ =gUnknown_3005090
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r5, r0, r1
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _080A1930
+ ldr r0, _080A192C @ =sub_80A194C
+ bl sub_8108EE0
+ adds r0, r4, 0
+ bl sub_8108B50
+ b _080A1940
+ .align 2, 0
+_080A1920: .4byte gUnknown_203AD30
+_080A1924: .4byte 0x0000ffff
+_080A1928: .4byte gUnknown_3005090
+_080A192C: .4byte sub_80A194C
+_080A1930:
+ bl sub_80CCB68
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_807A818
+ ldr r0, _080A1948 @ =sub_80A1960
+ str r0, [r5]
+_080A1940:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1948: .4byte sub_80A1960
+ thumb_func_end sub_80A18EC
+
+ thumb_func_start sub_80A194C
+sub_80A194C: @ 80A194C
+ push {lr}
+ ldr r1, _080A195C @ =sub_8107EB8
+ movs r0, 0
+ bl sub_815ABC4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A195C: .4byte sub_8107EB8
+ thumb_func_end sub_80A194C
+
+ thumb_func_start sub_80A1960
+sub_80A1960: @ 80A1960
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A1990 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080A1988
+ bl sub_80563F0
+ bl sub_80A1184
+ ldr r1, _080A1994 @ =sub_80567DC
+ movs r0, 0
+ bl sub_815ABC4
+ adds r0, r4, 0
+ bl sub_8077508
+_080A1988:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1990: .4byte gUnknown_2037AB8
+_080A1994: .4byte sub_80567DC
+ thumb_func_end sub_80A1960
+
+ thumb_func_start sub_80A1998
+sub_80A1998: @ 80A1998
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A19C0 @ =0x00004020
+ bl sub_806E568
+ lsls r0, 16
+ cmp r0, 0
+ bne _080A19CC
+ movs r0, 0x29
+ bl sub_80722CC
+ ldr r0, _080A19C4 @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080A19C8 @ =sub_80A19E8
+ str r0, [r1]
+ b _080A19D8
+ .align 2, 0
+_080A19C0: .4byte 0x00004020
+_080A19C4: .4byte gUnknown_3005090
+_080A19C8: .4byte sub_80A19E8
+_080A19CC:
+ ldr r2, _080A19E0 @ =gUnknown_841659E
+ ldr r3, _080A19E4 @ =sub_810A1F8
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl sub_8108E70
+_080A19D8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A19E0: .4byte gUnknown_841659E
+_080A19E4: .4byte sub_810A1F8
+ thumb_func_end sub_80A1998
+
+ thumb_func_start sub_80A19E8
+sub_80A19E8: @ 80A19E8
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ bl sub_80723E0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A1A2A
+ ldr r4, _080A1A30 @ =gUnknown_203AD30
+ ldrh r2, [r4]
+ ldr r3, _080A1A34 @ =0x0000ffff
+ movs r0, 0x4
+ movs r1, 0
+ bl sub_80A2294
+ ldr r5, _080A1A38 @ =0x00004020
+ ldrh r0, [r4]
+ bl sub_809A948
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r5, 0
+ bl sub_806E584
+ bl sub_80A1A44
+ ldr r2, _080A1A3C @ =gUnknown_2021D18
+ ldr r3, _080A1A40 @ =sub_810A1F8
+ adds r0, r6, 0
+ movs r1, 0x2
+ bl sub_8108E70
+_080A1A2A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1A30: .4byte gUnknown_203AD30
+_080A1A34: .4byte 0x0000ffff
+_080A1A38: .4byte 0x00004020
+_080A1A3C: .4byte gUnknown_2021D18
+_080A1A40: .4byte sub_810A1F8
+ thumb_func_end sub_80A19E8
+
+ thumb_func_start sub_80A1A44
+sub_80A1A44: @ 80A1A44
+ push {r4,lr}
+ ldr r4, _080A1A84 @ =gUnknown_203AD30
+ ldrh r0, [r4]
+ movs r1, 0x1
+ bl sub_809A1D8
+ ldrh r0, [r4]
+ bl sub_809A9D8
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8108DC8
+ ldrh r0, [r4]
+ bl sub_809A9D8
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_81089F4
+ ldrh r0, [r4]
+ ldr r1, _080A1A88 @ =gUnknown_2021CF0
+ bl sub_8099E90
+ ldr r0, _080A1A8C @ =gUnknown_2021D18
+ ldr r1, _080A1A90 @ =gUnknown_841658C
+ bl sub_8008FCC
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1A84: .4byte gUnknown_203AD30
+_080A1A88: .4byte gUnknown_2021CF0
+_080A1A8C: .4byte gUnknown_2021D18
+_080A1A90: .4byte gUnknown_841658C
+ thumb_func_end sub_80A1A44
+
+ thumb_func_start sub_80A1A94
+sub_80A1A94: @ 80A1A94
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r6, r4, 0
+ ldr r5, _080A1AD4 @ =gUnknown_203AD30
+ ldrh r2, [r5]
+ ldr r3, _080A1AD8 @ =0x0000ffff
+ movs r0, 0x4
+ movs r1, 0
+ bl sub_80A2294
+ ldrh r0, [r5]
+ cmp r0, 0x2B
+ bne _080A1AF4
+ ldr r0, _080A1ADC @ =0x00000803
+ bl sub_806E680
+ ldr r0, _080A1AE0 @ =0x00000804
+ bl sub_806E6A8
+ ldrh r0, [r5]
+ ldr r1, _080A1AE4 @ =gUnknown_2021CF0
+ bl sub_8099E90
+ ldr r0, _080A1AE8 @ =gUnknown_2021D18
+ ldr r1, _080A1AEC @ =gUnknown_84165D2
+ bl sub_8008FCC
+ ldr r1, _080A1AF0 @ =gUnknown_3005090
+ lsls r0, r4, 2
+ adds r0, r4
+ b _080A1B1A
+ .align 2, 0
+_080A1AD4: .4byte gUnknown_203AD30
+_080A1AD8: .4byte 0x0000ffff
+_080A1ADC: .4byte 0x00000803
+_080A1AE0: .4byte 0x00000804
+_080A1AE4: .4byte gUnknown_2021CF0
+_080A1AE8: .4byte gUnknown_2021D18
+_080A1AEC: .4byte gUnknown_84165D2
+_080A1AF0: .4byte gUnknown_3005090
+_080A1AF4:
+ cmp r0, 0x2A
+ bne _080A1B26
+ ldr r0, _080A1B2C @ =0x00000804
+ bl sub_806E680
+ ldr r0, _080A1B30 @ =0x00000803
+ bl sub_806E6A8
+ ldrh r0, [r5]
+ ldr r1, _080A1B34 @ =gUnknown_2021CF0
+ bl sub_8099E90
+ ldr r0, _080A1B38 @ =gUnknown_2021D18
+ ldr r1, _080A1B3C @ =gUnknown_8416600
+ bl sub_8008FCC
+ ldr r1, _080A1B40 @ =gUnknown_3005090
+ lsls r0, r6, 2
+ adds r0, r6
+_080A1B1A:
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _080A1B44 @ =sub_80A1B48
+ str r1, [r0]
+ movs r1, 0
+ strh r1, [r0, 0x18]
+_080A1B26:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1B2C: .4byte 0x00000804
+_080A1B30: .4byte 0x00000803
+_080A1B34: .4byte gUnknown_2021CF0
+_080A1B38: .4byte gUnknown_2021D18
+_080A1B3C: .4byte gUnknown_8416600
+_080A1B40: .4byte gUnknown_3005090
+_080A1B44: .4byte sub_80A1B48
+ thumb_func_end sub_80A1A94
+
+ thumb_func_start sub_80A1B48
+sub_80A1B48: @ 80A1B48
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A1B80 @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x18]
+ adds r0, 0x1
+ strh r0, [r1, 0x18]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7
+ ble _080A1B78
+ movs r0, 0x6E
+ bl sub_80722CC
+ ldr r2, _080A1B84 @ =gUnknown_2021D18
+ ldr r3, _080A1B88 @ =sub_810A1F8
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl sub_8108E70
+_080A1B78:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1B80: .4byte gUnknown_3005090
+_080A1B84: .4byte gUnknown_2021D18
+_080A1B88: .4byte sub_810A1F8
+ thumb_func_end sub_80A1B48
+
+ thumb_func_start sub_80A1B8C
+sub_80A1B8C: @ 80A1B8C
+ push {lr}
+ ldr r0, _080A1BA0 @ =gUnknown_2036DFC
+ ldrb r1, [r0, 0x19]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080A1BA4
+ movs r0, 0
+ b _080A1BA6
+ .align 2, 0
+_080A1BA0: .4byte gUnknown_2036DFC
+_080A1BA4:
+ movs r0, 0x1
+_080A1BA6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A1B8C
+
+ thumb_func_start sub_80A1BAC
+sub_80A1BAC: @ 80A1BAC
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_80A1B8C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A1BEC
+ ldr r0, _080A1BDC @ =gUnknown_203AD30
+ ldrh r2, [r0]
+ ldr r0, _080A1BE0 @ =gUnknown_2036DFC
+ ldrb r3, [r0, 0x14]
+ movs r0, 0x4
+ movs r1, 0
+ bl sub_80A2294
+ ldr r1, _080A1BE4 @ =gUnknown_2039998
+ ldr r0, _080A1BE8 @ =sub_80A1C08
+ str r0, [r1]
+ adds r0, r4, 0
+ bl sub_80A103C
+ b _080A1BFE
+ .align 2, 0
+_080A1BDC: .4byte gUnknown_203AD30
+_080A1BE0: .4byte gUnknown_2036DFC
+_080A1BE4: .4byte gUnknown_2039998
+_080A1BE8: .4byte sub_80A1C08
+_080A1BEC:
+ ldr r0, _080A1C04 @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldrb r1, [r1, 0xE]
+ adds r0, r4, 0
+ bl sub_80A1110
+_080A1BFE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1C04: .4byte gUnknown_3005090
+ thumb_func_end sub_80A1BAC
+
+ thumb_func_start sub_80A1C08
+sub_80A1C08: @ 80A1C08
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_8054D70
+ bl sub_80A1A44
+ ldr r1, _080A1C38 @ =gUnknown_3005090
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x8]
+ ldr r2, _080A1C3C @ =gUnknown_2021D18
+ ldr r3, _080A1C40 @ =sub_80A1C44
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl sub_80F7808
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1C38: .4byte gUnknown_3005090
+_080A1C3C: .4byte gUnknown_2021D18
+_080A1C40: .4byte sub_80A1C44
+ thumb_func_end sub_80A1C08
+
+ thumb_func_start sub_80A1C44
+sub_80A1C44: @ 80A1C44
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_80559E4
+ bl sub_8085620
+ adds r0, r4, 0
+ bl sub_8077508
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A1C44
+
+ thumb_func_start sub_80A1C60
+sub_80A1C60: @ 80A1C60
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _080A1C88 @ =gUnknown_3005090
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r5, r0, r1
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _080A1C90
+ ldr r0, _080A1C8C @ =sub_80A1CAC
+ bl sub_8108EE0
+ adds r0, r4, 0
+ bl sub_8108B50
+ b _080A1CA0
+ .align 2, 0
+_080A1C88: .4byte gUnknown_3005090
+_080A1C8C: .4byte sub_80A1CAC
+_080A1C90:
+ bl sub_80CCB68
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_807A818
+ ldr r0, _080A1CA8 @ =sub_80A1CC0
+ str r0, [r5]
+_080A1CA0:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1CA8: .4byte sub_80A1CC0
+ thumb_func_end sub_80A1C60
+
+ thumb_func_start sub_80A1CAC
+sub_80A1CAC: @ 80A1CAC
+ push {lr}
+ ldr r1, _080A1CBC @ =sub_8107EB8
+ movs r0, 0
+ bl sub_80BFF50
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1CBC: .4byte sub_8107EB8
+ thumb_func_end sub_80A1CAC
+
+ thumb_func_start sub_80A1CC0
+sub_80A1CC0: @ 80A1CC0
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A1CF0 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080A1CE8
+ bl sub_80563F0
+ bl sub_80A1184
+ ldr r1, _080A1CF4 @ =sub_80567DC
+ movs r0, 0
+ bl sub_80BFF50
+ adds r0, r4, 0
+ bl sub_8077508
+_080A1CE8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1CF0: .4byte gUnknown_2037AB8
+_080A1CF4: .4byte sub_80567DC
+ thumb_func_end sub_80A1CC0
+
+ thumb_func_start sub_80A1CF8
+sub_80A1CF8: @ 80A1CF8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A1D2C @ =gUnknown_203AD30
+ ldrh r2, [r0]
+ ldr r3, _080A1D30 @ =0x0000ffff
+ movs r0, 0x4
+ movs r1, 0
+ bl sub_80A2294
+ ldr r1, _080A1D34 @ =gUnknown_3005090
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r5, r0, r1
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _080A1D3C
+ ldr r0, _080A1D38 @ =sub_80A1D58
+ bl sub_8108EE0
+ adds r0, r4, 0
+ bl sub_8108B50
+ b _080A1D4C
+ .align 2, 0
+_080A1D2C: .4byte gUnknown_203AD30
+_080A1D30: .4byte 0x0000ffff
+_080A1D34: .4byte gUnknown_3005090
+_080A1D38: .4byte sub_80A1D58
+_080A1D3C:
+ bl sub_80CCB68
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_807A818
+ ldr r0, _080A1D54 @ =sub_80A1D68
+ str r0, [r5]
+_080A1D4C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1D54: .4byte sub_80A1D68
+ thumb_func_end sub_80A1CF8
+
+ thumb_func_start sub_80A1D58
+sub_80A1D58: @ 80A1D58
+ push {lr}
+ ldr r0, _080A1D64 @ =sub_8107EB8
+ bl sub_812C3AC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1D64: .4byte sub_8107EB8
+ thumb_func_end sub_80A1D58
+
+ thumb_func_start sub_80A1D68
+sub_80A1D68: @ 80A1D68
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A1D94 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080A1D8E
+ bl sub_80563F0
+ bl sub_80A1184
+ ldr r0, _080A1D98 @ =sub_80567DC
+ bl sub_812C3AC
+ adds r0, r4, 0
+ bl sub_8077508
+_080A1D8E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1D94: .4byte gUnknown_2037AB8
+_080A1D98: .4byte sub_80567DC
+ thumb_func_end sub_80A1D68
+
+ thumb_func_start sub_80A1D9C
+sub_80A1D9C: @ 80A1D9C
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _080A1DE8 @ =gUnknown_2036DFC
+ ldrb r0, [r0, 0x17]
+ cmp r0, 0x3
+ beq _080A1DB2
+ cmp r0, 0x1
+ beq _080A1DB2
+ cmp r0, 0x2
+ bne _080A1DD2
+_080A1DB2:
+ ldr r0, _080A1DEC @ =gUnknown_3005008
+ ldr r1, [r0]
+ movs r0, 0x4
+ ldrsb r0, [r1, r0]
+ cmp r0, 0x1
+ bne _080A1DF4
+ movs r0, 0x5
+ ldrsb r0, [r1, r0]
+ cmp r0, 0
+ beq _080A1DD2
+ cmp r0, 0x61
+ beq _080A1DD2
+ cmp r0, 0x6D
+ beq _080A1DD2
+ cmp r0, 0x79
+ bne _080A1DF4
+_080A1DD2:
+ ldr r0, _080A1DF0 @ =gUnknown_3005090
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldrb r1, [r1, 0xE]
+ adds r0, r2, 0
+ bl sub_80A1110
+ b _080A1E00
+ .align 2, 0
+_080A1DE8: .4byte gUnknown_2036DFC
+_080A1DEC: .4byte gUnknown_3005008
+_080A1DF0: .4byte gUnknown_3005090
+_080A1DF4:
+ ldr r1, _080A1E04 @ =gUnknown_2039998
+ ldr r0, _080A1E08 @ =sub_810C670
+ str r0, [r1]
+ adds r0, r2, 0
+ bl sub_80A103C
+_080A1E00:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1E04: .4byte gUnknown_2039998
+_080A1E08: .4byte sub_810C670
+ thumb_func_end sub_80A1D9C
+
+ thumb_func_start sub_80A1E0C
+sub_80A1E0C: @ 80A1E0C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80A112C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A1E0C
+
+ thumb_func_start sub_80A1E1C
+sub_80A1E1C: @ 80A1E1C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_8040F6C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080A1E48
+ ldr r0, _080A1E44 @ =gUnknown_203AD30
+ ldrh r0, [r0]
+ movs r1, 0x1
+ bl sub_809A1D8
+ bl sub_8108CB4
+ adds r0, r4, 0
+ bl sub_8108B50
+ b _080A1E54
+ .align 2, 0
+_080A1E44: .4byte gUnknown_203AD30
+_080A1E48:
+ ldr r2, _080A1E5C @ =gUnknown_8416631
+ ldr r3, _080A1E60 @ =sub_810A1F8
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl sub_8108E70
+_080A1E54:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1E5C: .4byte gUnknown_8416631
+_080A1E60: .4byte sub_810A1F8
+ thumb_func_end sub_80A1E1C
+
+ thumb_func_start sub_80A1E64
+sub_80A1E64: @ 80A1E64
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_8108CB4
+ adds r0, r4, 0
+ bl sub_8108B50
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A1E64
+
+ thumb_func_start sub_80A1E7C
+sub_80A1E7C: @ 80A1E7C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _080A1EBC @ =gUnknown_2023BCE
+ ldr r0, _080A1EC0 @ =gUnknown_2024004
+ ldrb r0, [r0]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r2, [r0]
+ movs r0, 0x64
+ muls r0, r2
+ ldr r1, _080A1EC4 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080A1EC8 @ =gUnknown_203AD30
+ ldrh r1, [r1]
+ lsls r2, 24
+ lsrs r2, 24
+ movs r3, 0
+ bl sub_80413C0
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ beq _080A1ED4
+ ldr r2, _080A1ECC @ =gUnknown_84169DC
+ ldr r3, _080A1ED0 @ =sub_810A1F8
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl sub_8108E70
+ b _080A1EE4
+ .align 2, 0
+_080A1EBC: .4byte gUnknown_2023BCE
+_080A1EC0: .4byte gUnknown_2024004
+_080A1EC4: .4byte gUnknown_2024284
+_080A1EC8: .4byte gUnknown_203AD30
+_080A1ECC: .4byte gUnknown_84169DC
+_080A1ED0: .4byte sub_810A1F8
+_080A1ED4:
+ ldr r0, _080A1EEC @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ strh r2, [r1, 0x18]
+ ldr r0, _080A1EF0 @ =sub_80A1EF4
+ str r0, [r1]
+_080A1EE4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1EEC: .4byte gUnknown_3005090
+_080A1EF0: .4byte sub_80A1EF4
+ thumb_func_end sub_80A1E7C
+
+ thumb_func_start sub_80A1EF4
+sub_80A1EF4: @ 80A1EF4
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ ldr r0, _080A1F3C @ =gUnknown_3005098
+ adds r1, r0
+ ldrh r0, [r1, 0x10]
+ adds r0, 0x1
+ strh r0, [r1, 0x10]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7
+ ble _080A1F36
+ ldr r0, _080A1F40 @ =gUnknown_203AD30
+ ldrh r4, [r0]
+ movs r0, 0x1
+ bl sub_80722CC
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_809A1D8
+ adds r0, r4, 0
+ bl sub_8042DA4
+ adds r2, r0, 0
+ ldr r3, _080A1F44 @ =sub_80A1F48
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl sub_8108E70
+_080A1F36:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1F3C: .4byte gUnknown_3005098
+_080A1F40: .4byte gUnknown_203AD30
+_080A1F44: .4byte sub_80A1F48
+ thumb_func_end sub_80A1EF4
+
+ thumb_func_start sub_80A1F48
+sub_80A1F48: @ 80A1F48
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A1F74 @ =gUnknown_30030F0
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080A1F62
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080A1F6C
+_080A1F62:
+ bl sub_8108CB4
+ adds r0, r4, 0
+ bl sub_8108B50
+_080A1F6C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1F74: .4byte gUnknown_30030F0
+ thumb_func_end sub_80A1F48
+
+ thumb_func_start sub_80A1F78
+sub_80A1F78: @ 80A1F78
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A1F9C @ =gUnknown_203AD30
+ ldrh r0, [r0]
+ bl sub_809A260
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bne _080A1FA4
+ ldr r0, _080A1FA0 @ =sub_81279E0
+ bl sub_813D934
+ adds r0, r4, 0
+ bl sub_813D808
+ b _080A1FB0
+ .align 2, 0
+_080A1F9C: .4byte gUnknown_203AD30
+_080A1FA0: .4byte sub_81279E0
+_080A1FA4:
+ ldr r0, _080A1FB8 @ =sub_81279E0
+ bl sub_8108EE0
+ adds r0, r4, 0
+ bl sub_8108B50
+_080A1FB0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1FB8: .4byte sub_81279E0
+ thumb_func_end sub_80A1F78
+
+ thumb_func_start sub_80A1FBC
+sub_80A1FBC: @ 80A1FBC
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A1FD0 @ =gUnknown_3005E98
+ ldr r1, _080A1FD4 @ =sub_81253B0
+ str r1, [r2]
+ bl sub_80A1F78
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1FD0: .4byte gUnknown_3005E98
+_080A1FD4: .4byte sub_81253B0
+ thumb_func_end sub_80A1FBC
+
+ thumb_func_start sub_80A1FD8
+sub_80A1FD8: @ 80A1FD8
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A1FEC @ =gUnknown_3005E98
+ ldr r1, _080A1FF0 @ =sub_8126894
+ str r1, [r2]
+ bl sub_80A1F78
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A1FEC: .4byte gUnknown_3005E98
+_080A1FF0: .4byte sub_8126894
+ thumb_func_end sub_80A1FD8
+
+ thumb_func_start sub_80A1FF4
+sub_80A1FF4: @ 80A1FF4
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A2008 @ =gUnknown_3005E98
+ ldr r1, _080A200C @ =sub_81256F8
+ str r1, [r2]
+ bl sub_80A1F78
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A2008: .4byte gUnknown_3005E98
+_080A200C: .4byte sub_81256F8
+ thumb_func_end sub_80A1FF4
+
+ thumb_func_start sub_80A2010
+sub_80A2010: @ 80A2010
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A2044 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _080A2058
+ bl sub_80A1A44
+ ldr r0, _080A2048 @ =gUnknown_203AD30
+ ldrh r2, [r0]
+ ldr r3, _080A204C @ =0x0000ffff
+ movs r0, 0x4
+ movs r1, 0
+ bl sub_80A2294
+ ldr r2, _080A2050 @ =gUnknown_2021D18
+ ldr r3, _080A2054 @ =sub_8108B50
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl sub_8108E70
+ b _080A2060
+ .align 2, 0
+_080A2044: .4byte gUnknown_2022B4C
+_080A2048: .4byte gUnknown_203AD30
+_080A204C: .4byte 0x0000ffff
+_080A2050: .4byte gUnknown_2021D18
+_080A2054: .4byte sub_8108B50
+_080A2058:
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_80A1110
+_080A2060:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A2010
+
+ thumb_func_start sub_80A2068
+sub_80A2068: @ 80A2068
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A208C @ =gUnknown_203AD30
+ ldrh r0, [r0]
+ bl sub_8126C68
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x1
+ cmp r0, 0x14
+ bls _080A2082
+ b _080A2174
+_080A2082:
+ lsls r0, 2
+ ldr r1, _080A2090 @ =_080A2094
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080A208C: .4byte gUnknown_203AD30
+_080A2090: .4byte _080A2094
+ .align 2, 0
+_080A2094:
+ .4byte _080A2120
+ .4byte _080A20E8
+ .4byte _080A20E8
+ .4byte _080A20E8
+ .4byte _080A20E8
+ .4byte _080A20E8
+ .4byte _080A20E8
+ .4byte _080A2174
+ .4byte _080A2174
+ .4byte _080A2104
+ .4byte _080A20E8
+ .4byte _080A20E8
+ .4byte _080A20E8
+ .4byte _080A20E8
+ .4byte _080A20E8
+ .4byte _080A20E8
+ .4byte _080A20E8
+ .4byte _080A2174
+ .4byte _080A213C
+ .4byte _080A213C
+ .4byte _080A2158
+_080A20E8:
+ ldr r0, _080A2100 @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x1
+ strh r0, [r1, 0x10]
+ adds r0, r4, 0
+ bl sub_80A16E0
+ b _080A2188
+ .align 2, 0
+_080A2100: .4byte gUnknown_3005090
+_080A2104:
+ ldr r0, _080A211C @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x1
+ strh r0, [r1, 0x10]
+ adds r0, r4, 0
+ bl sub_80A176C
+ b _080A2188
+ .align 2, 0
+_080A211C: .4byte gUnknown_3005090
+_080A2120:
+ ldr r0, _080A2138 @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x1
+ strh r0, [r1, 0x10]
+ adds r0, r4, 0
+ bl sub_80A1734
+ b _080A2188
+ .align 2, 0
+_080A2138: .4byte gUnknown_3005090
+_080A213C:
+ ldr r0, _080A2154 @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x1
+ strh r0, [r1, 0x10]
+ adds r0, r4, 0
+ bl sub_80A1718
+ b _080A2188
+ .align 2, 0
+_080A2154: .4byte gUnknown_3005090
+_080A2158:
+ ldr r0, _080A2170 @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x1
+ strh r0, [r1, 0x10]
+ adds r0, r4, 0
+ bl sub_80A16FC
+ b _080A2188
+ .align 2, 0
+_080A2170: .4byte gUnknown_3005090
+_080A2174:
+ ldr r0, _080A2190 @ =gUnknown_3005090
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x4
+ strh r0, [r1, 0x10]
+ adds r0, r4, 0
+ bl sub_80A2238
+_080A2188:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A2190: .4byte gUnknown_3005090
+ thumb_func_end sub_80A2068
+
+ thumb_func_start sub_80A2194
+sub_80A2194: @ 80A2194
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080A21B4 @ =gUnknown_203AD30
+ ldrh r0, [r0]
+ bl sub_8126C68
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x15
+ bhi _080A222C
+ lsls r0, 2
+ ldr r1, _080A21B8 @ =_080A21BC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080A21B4: .4byte gUnknown_203AD30
+_080A21B8: .4byte _080A21BC
+ .align 2, 0
+_080A21BC:
+ .4byte _080A2214
+ .4byte _080A222C
+ .4byte _080A221C
+ .4byte _080A221C
+ .4byte _080A221C
+ .4byte _080A221C
+ .4byte _080A221C
+ .4byte _080A221C
+ .4byte _080A221C
+ .4byte _080A221C
+ .4byte _080A222C
+ .4byte _080A221C
+ .4byte _080A222C
+ .4byte _080A222C
+ .4byte _080A222C
+ .4byte _080A222C
+ .4byte _080A222C
+ .4byte _080A222C
+ .4byte _080A222C
+ .4byte _080A222C
+ .4byte _080A222C
+ .4byte _080A2224
+_080A2214:
+ adds r0, r4, 0
+ bl sub_80A1E7C
+ b _080A2232
+_080A221C:
+ adds r0, r4, 0
+ bl sub_80A1FBC
+ b _080A2232
+_080A2224:
+ adds r0, r4, 0
+ bl sub_80A1FF4
+ b _080A2232
+_080A222C:
+ adds r0, r4, 0
+ bl sub_80A2238
+_080A2232:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A2194
+
+ thumb_func_start sub_80A2238
+sub_80A2238: @ 80A2238
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _080A2268 @ =gUnknown_203AD30
+ ldrh r0, [r0]
+ bl sub_809A260
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bne _080A2278
+ ldr r4, _080A226C @ =gUnknown_2021D18
+ ldr r1, _080A2270 @ =gUnknown_8416425
+ adds r0, r4, 0
+ bl sub_8008FCC
+ ldr r3, _080A2274 @ =sub_813E2B8
+ adds r0, r5, 0
+ movs r1, 0x4
+ adds r2, r4, 0
+ bl sub_813EB20
+ b _080A228A
+ .align 2, 0
+_080A2268: .4byte gUnknown_203AD30
+_080A226C: .4byte gUnknown_2021D18
+_080A2270: .4byte gUnknown_8416425
+_080A2274: .4byte sub_813E2B8
+_080A2278:
+ ldr r0, _080A2290 @ =gUnknown_3005090
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldrb r1, [r1, 0xE]
+ adds r0, r5, 0
+ bl sub_80A1110
+_080A228A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A2290: .4byte gUnknown_3005090
+ thumb_func_end sub_80A2238
+
+ thumb_func_start sub_80A2294
+sub_80A2294: @ 80A2294
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r7, r1, 0
+ adds r4, r2, 0
+ adds r5, r3, 0
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r5, 16
+ lsrs r5, 16
+ movs r0, 0x8
+ bl sub_8002B9C
+ adds r6, r0, 0
+ strh r4, [r6]
+ strh r5, [r6, 0x6]
+ cmp r7, 0
+ beq _080A22C8
+ adds r0, r7, 0
+ movs r1, 0x41
+ bl sub_803FBE8
+ b _080A22CA
+_080A22C8:
+ ldr r0, _080A22E4 @ =0x0000ffff
+_080A22CA:
+ strh r0, [r6, 0x4]
+ mov r0, r8
+ adds r1, r6, 0
+ bl sub_8113550
+ adds r0, r6, 0
+ bl sub_8002BC4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A22E4: .4byte 0x0000ffff
+ thumb_func_end sub_80A2294
+
+ .align 2, 0 @ Don't pad with nop.