summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnonymousRandomPerson <chenghanngan.us@gmail.com>2022-02-28 20:57:06 -0500
committerAnonymousRandomPerson <chenghanngan.us@gmail.com>2022-03-10 22:32:17 -0500
commit91c0a142ccf4783c65aecdd75a4faed33edf3ed6 (patch)
treeb0bfeddb426b59d995d6ac75f0e7aa046723843f
parent17a6ab37944e3cc9fc98ee93262bd4385bf4e626 (diff)
Decomped HasLastUsedMove()
-rw-r--r--asm/code_805D810.s24595
-rw-r--r--asm/code_805D8C8.s24563
-rw-r--r--include/constants/move.h11
-rw-r--r--include/status_checker_1.h9
-rwxr-xr-xld_script.txt2
-rw-r--r--src/moves.c6
-rw-r--r--src/moves_1.c4
-rw-r--r--src/status_checker.c2
-rw-r--r--src/status_checker_1.c21
-rw-r--r--src/status_checks_1.c2
10 files changed, 24612 insertions, 24603 deletions
diff --git a/asm/code_805D810.s b/asm/code_805D810.s
index 17228d2..3630c29 100644
--- a/asm/code_805D810.s
+++ b/asm/code_805D810.s
@@ -79,24599 +79,4 @@ _0805D880:
bx r1
thumb_func_end LastMoveOutOfPP
- thumb_func_start HasLastUsedMove
-HasLastUsedMove:
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r3, 0
- movs r6, 0x1
- movs r5, 0x10
- adds r2, r4, 0
-_0805D894:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0805D8A6
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0805D8C0
-_0805D8A6:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _0805D894
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0805D8C0
- movs r0, 0
- b _0805D8C2
-_0805D8C0:
- movs r0, 0x1
-_0805D8C2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end HasLastUsedMove
-
- thumb_func_start sub_805D8C8
-sub_805D8C8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r4, _0805D90C
- ldr r1, [r4]
- ldr r0, _0805D910
- adds r0, r1, r0
- str r0, [sp, 0x10]
- movs r2, 0x3
- str r2, [sp, 0xC]
- movs r5, 0
- movs r0, 0
- strh r0, [r1, 0x12]
- bl GetLeaderEntity
- movs r1, 0x1
- bl sub_806A2BC
- bl GetLeaderEntity
- bl sub_80701A4
- lsls r0, 24
- cmp r0, 0
- beq _0805D928
- movs r0, 0x3C
- movs r1, 0x10
- bl sub_803E708
- bl _0805E2B0
- .align 2, 0
-_0805D90C: .4byte gDungeonGlobalData
-_0805D910: .4byte 0x000181e8
-_0805D914:
- mov r1, r8
- adds r1, 0x44
- movs r2, 0
- movs r0, 0x2
- strh r0, [r1]
- mov r0, r8
- adds r0, 0x48
- strb r2, [r0]
- bl _0805E2B0
-_0805D928:
- ldr r0, [r4]
- ldr r3, _0805D9D4
- adds r0, r3
- strb r5, [r0]
- bl sub_8040A78
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _0805D976
- strb r5, [r1, 0x1]
- bl GetLeaderEntity
- movs r1, 0x1
- bl ShouldAvoidEnemiesAndShowEffect
- lsls r0, 24
- cmp r0, 0
- bne _0805D976
- movs r0, 0x1
- bl sub_8044C10
- bl sub_805E804
- bl GetLeaderEntity
- bl sub_80647F0
- bl ResetRepeatTimers
- bl ResetUnusedInputStruct
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- beq _0805D976
- bl _0805E2B0
-_0805D976:
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_806A914
-_0805D980:
- bl GetLeaderEntity
- mov r10, r0
- ldr r5, [r0, 0x70]
- mov r8, r5
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- bl sub_80978C8
- ldr r2, _0805D9D8
- ldr r0, [r2]
- ldr r3, _0805D9DC
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805D9AE
- bl sub_805E874
- lsls r0, 24
- cmp r0, 0
- bne _0805D914
- bl sub_805E804
-_0805D9AE:
- ldr r0, _0805D9E0
- movs r1, 0
- strb r1, [r0]
- ldr r0, _0805D9E4
- strb r1, [r0]
- ldr r5, _0805D9D8
- ldr r0, [r5]
- movs r1, 0xB8
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bge _0805D9CA
- b _0805DAE8
-_0805D9CA:
- ldr r0, _0805D9E8
- ands r6, r0
- movs r2, 0x1
- orrs r6, r2
- b _0805DAEC
- .align 2, 0
-_0805D9D4: .4byte 0x00000673
-_0805D9D8: .4byte gDungeonGlobalData
-_0805D9DC: .4byte 0x0000066c
-_0805D9E0: .4byte gUnknown_202F22D
-_0805D9E4: .4byte gUnknown_202F22C
-_0805D9E8: .4byte 0xffffff00
-_0805D9EC:
- movs r0, 0x1
- bl sub_8044C50
- ldr r3, _0805DA00
- ldr r0, [r3]
- ldr r5, _0805DA04
- adds r0, r5
- strb r4, [r0]
- b _0805E1AE
- .align 2, 0
-_0805DA00: .4byte gDungeonGlobalData
-_0805DA04: .4byte 0x00000673
-_0805DA08:
- ldr r0, _0805DA14
- ldr r1, [r0]
- mov r0, r10
- bl SendMessage
- b _0805DBDA
- .align 2, 0
-_0805DA14: .4byte gUnknown_80FD4B0
-_0805DA18:
- ldr r0, _0805DA1C
- b _0805DCBC
- .align 2, 0
-_0805DA1C: .4byte gUnknown_80F8A28
-_0805DA20:
- ldr r0, [sp, 0x1C]
- movs r1, 0x17
- bl SetAction
- b _0805E1AE
-_0805DA2A:
- ldr r0, _0805DA38
- ands r6, r0
- movs r3, 0x1
- orrs r6, r3
- ldr r0, _0805DA3C
- ands r6, r0
- b _0805DAD6
- .align 2, 0
-_0805DA38: .4byte 0xffffff00
-_0805DA3C: .4byte 0xffff00ff
-_0805DA40:
- ldr r5, _0805DA58
- ldr r0, [r5]
- movs r2, 0xB8
- lsls r2, 3
- adds r0, r2
- str r1, [r0]
- ldr r0, _0805DA5C
- ands r6, r0
- movs r3, 0x1
- orrs r6, r3
- b _0805DAA8
- .align 2, 0
-_0805DA58: .4byte gDungeonGlobalData
-_0805DA5C: .4byte 0xffffff00
-_0805DA60:
- ldr r5, _0805DA78
- ldr r0, [r5]
- movs r1, 0xB8
- lsls r1, 3
- adds r0, r1
- movs r2, 0x1
- str r2, [r0]
- ldr r0, _0805DA7C
- ands r6, r0
- orrs r6, r2
- b _0805DAA8
- .align 2, 0
-_0805DA78: .4byte gDungeonGlobalData
-_0805DA7C: .4byte 0xffffff00
-_0805DA80:
- ldr r3, _0805DA98
- ldr r0, [r3]
- movs r5, 0xB8
- lsls r5, 3
- adds r0, r5
- str r2, [r0]
- ldr r0, _0805DA9C
- ands r6, r0
- movs r0, 0x1
- orrs r6, r0
- b _0805DAA8
- .align 2, 0
-_0805DA98: .4byte gDungeonGlobalData
-_0805DA9C: .4byte 0xffffff00
-_0805DAA0:
- ldr r0, _0805DAB8
- ands r6, r0
- movs r1, 0x1
- orrs r6, r1
-_0805DAA8:
- ldr r0, _0805DABC
- ands r6, r0
- ldr r0, _0805DAC0
- ands r6, r0
- movs r0, 0x80
- lsls r0, 9
- orrs r6, r0
- b _0805E1AE
- .align 2, 0
-_0805DAB8: .4byte 0xffffff00
-_0805DABC: .4byte 0xffff00ff
-_0805DAC0: .4byte 0xff00ffff
-_0805DAC4:
- ldr r0, _0805DADC
- ands r6, r0
- movs r2, 0x1
- orrs r6, r2
- ldr r0, _0805DAE0
- ands r6, r0
- movs r0, 0x80
- lsls r0, 1
- orrs r6, r0
-_0805DAD6:
- ldr r0, _0805DAE4
- ands r6, r0
- b _0805E1AE
- .align 2, 0
-_0805DADC: .4byte 0xffffff00
-_0805DAE0: .4byte 0xffff00ff
-_0805DAE4: .4byte 0xff00ffff
-_0805DAE8:
- ldr r0, _0805DB3C
- ands r6, r0
-_0805DAEC:
- ldr r0, _0805DB40
- ands r6, r0
- ldr r0, _0805DB44
- ands r6, r0
- movs r3, 0
- str r3, [sp, 0x8]
- movs r0, 0
- bl sub_8044C50
- ldr r0, _0805DB48
- mov r5, sp
- ldrb r5, [r5, 0x8]
- strb r5, [r0]
- ldr r0, _0805DB4C
- mov r1, sp
- ldrb r1, [r1, 0x8]
- strb r1, [r0]
- lsls r0, r6, 24
- mov r2, r8
- adds r2, 0x44
- str r2, [sp, 0x1C]
- str r0, [sp, 0x14]
- ldr r3, [sp, 0x10]
- adds r3, 0x32
- str r3, [sp, 0x18]
- cmp r0, 0
- beq _0805DB24
- b _0805E1AE
-_0805DB24:
- ldr r0, _0805DB50
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- ldr r5, [sp, 0x18]
- ldrb r0, [r5]
- cmp r0, 0
- beq _0805DB54
- movs r0, 0
- str r0, [sp, 0x8]
- b _0805DB5A
- .align 2, 0
-_0805DB3C: .4byte 0xffffff00
-_0805DB40: .4byte 0xffff00ff
-_0805DB44: .4byte 0xff00ffff
-_0805DB48: .4byte gUnknown_202F230
-_0805DB4C: .4byte gUnknown_202F231
-_0805DB50: .4byte gUnknown_202F22E
-_0805DB54:
- ldr r1, [sp, 0x8]
- adds r1, 0x1
- str r1, [sp, 0x8]
-_0805DB5A:
- ldr r2, [sp, 0xC]
- cmp r2, 0
- beq _0805DB6E
- subs r2, 0x1
- str r2, [sp, 0xC]
- cmp r2, 0
- bne _0805DB6E
- movs r0, 0
- bl sub_8075680
-_0805DB6E:
- mov r0, r10
- bl sub_805E2C4
- movs r7, 0
- movs r1, 0
- add r0, sp, 0x4
-_0805DB7A:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _0805DB7A
- ldr r0, _0805DBEC
- ldrh r1, [r0]
- movs r4, 0x1
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805DBAA
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805DBAA
- movs r0, 0x9E
- lsls r0, 1
- add r0, r8
- ldr r0, [r0]
- bl RoundUpFixedPoint
- cmp r0, 0
- beq _0805DBAA
- b _0805D9EC
-_0805DBAA:
- movs r3, 0
- mov r9, r3
- ldr r4, _0805DBEC
- ldrh r1, [r4, 0x2]
- movs r5, 0x1
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0805DBBE
- b _0805DD02
-_0805DBBE:
- ldrh r1, [r4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805DBF8
- movs r0, 0x9E
- lsls r0, 1
- add r0, r8
- ldr r0, [r0]
- bl RoundUpFixedPoint
- cmp r0, 0
- bne _0805DBDA
- b _0805DD02
-_0805DBDA:
- movs r0, 0x1
- bl sub_8044C50
- ldr r1, _0805DBF0
- ldr r0, [r1]
- ldr r2, _0805DBF4
- adds r0, r2
- strb r5, [r0]
- b _0805E1AE
- .align 2, 0
-_0805DBEC: .4byte gRealInputs
-_0805DBF0: .4byte gDungeonGlobalData
-_0805DBF4: .4byte 0x00000673
-_0805DBF8:
- mov r0, r10
- movs r1, 0x1
- bl ShouldAvoidEnemiesAndShowEffect
- lsls r0, 24
- cmp r0, 0
- beq _0805DC08
- b _0805DA08
-_0805DC08:
- ldrh r0, [r4]
- movs r3, 0x80
- lsls r3, 2
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0805DCE8
- movs r4, 0
- movs r2, 0x8C
- lsls r2, 1
- add r2, r8
- movs r3, 0x8
-_0805DC20:
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805DC32
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0805DC3A
-_0805DC32:
- adds r2, 0x8
- adds r4, 0x1
- cmp r4, 0x3
- ble _0805DC20
-_0805DC3A:
- cmp r4, 0x4
- bne _0805DC40
- b _0805DA18
-_0805DC40:
- movs r3, 0
- movs r5, 0x8C
- lsls r5, 1
- movs r7, 0x1
- mov r2, r8
-_0805DC4A:
- lsls r0, r3, 3
- add r0, r8
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _0805DC66
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805DC6E
-_0805DC66:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _0805DC4A
-_0805DC6E:
- cmp r3, 0x4
- bne _0805DC74
- b _0805DA20
-_0805DC74:
- movs r7, 0
- adds r3, r4, 0
- cmp r4, 0x3
- bgt _0805DCB6
- lsls r0, r4, 3
- adds r2, r0, 0
- add r2, r8
- mov r12, r2
- movs r5, 0x8E
- lsls r5, 1
- adds r0, r5
- mov r1, r8
- adds r2, r0, r1
- movs r5, 0x2
-_0805DC90:
- ldrb r0, [r2]
- cmp r0, 0
- bne _0805DCCC
- movs r0, 0x8
- add r12, r0
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- bgt _0805DCB6
- cmp r3, r4
- beq _0805DC90
- movs r0, 0x8C
- lsls r0, 1
- add r0, r12
- ldrb r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0805DC90
-_0805DCB6:
- cmp r7, 0
- bne _0805DCCC
- ldr r0, _0805DCC8
-_0805DCBC:
- ldr r1, [r0]
- mov r0, r10
- bl SendMessage
- b _0805E1AE
- .align 2, 0
-_0805DCC8: .4byte gUnknown_80F8A4C
-_0805DCCC:
- ldr r0, [sp, 0x1C]
- movs r1, 0x14
- bl SetAction
- mov r0, r10
- bl sub_8045B60
- mov r1, r8
- adds r1, 0x48
- strb r0, [r1]
- mov r0, r8
- adds r0, 0x50
- strb r4, [r0]
- b _0805E1AE
-_0805DCE8:
- mov r0, r10
- mov r1, r8
- bl sub_805EF60
- lsls r0, 24
- cmp r0, 0
- beq _0805DCF8
- b _0805E1AE
-_0805DCF8:
- ldr r0, [sp, 0x1C]
- movs r1, 0x32
- bl SetAction
- b _0805E1AE
-_0805DD02:
- ldr r3, _0805DDC8
- ldrh r1, [r3, 0x6]
- movs r2, 0x2
- adds r0, r2, 0
- ands r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0805DD16
- b _0805DA2A
-_0805DD16:
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _0805DD20
- b _0805DA40
-_0805DD20:
- mov r0, sp
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _0805DD2A
- b _0805DA60
-_0805DD2A:
- mov r0, sp
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _0805DD34
- b _0805DA80
-_0805DD34:
- mov r0, sp
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _0805DD3E
- b _0805DAA0
-_0805DD3E:
- ldr r0, _0805DDCC
- ldr r1, [sp, 0x8]
- cmp r1, r0
- ble _0805DD48
- b _0805DAC4
-_0805DD48:
- ldr r0, _0805DDD0
- ldr r0, [r0]
- ldrb r4, [r0, 0x9]
- cmp r4, 0
- bne _0805DD7E
- ldrh r1, [r3, 0x2]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0805DD66
- cmp r7, 0
- bne _0805DD7E
- movs r2, 0
- cmp r2, 0
- beq _0805DD7E
-_0805DD66:
- ldr r3, [sp, 0x18]
- ldrb r0, [r3]
- cmp r0, 0
- beq _0805DD7E
- bl sub_804AA60
- ldr r0, _0805DDD4
- strb r4, [r0]
- bl ResetRepeatTimers
- bl ResetUnusedInputStruct
-_0805DD7E:
- ldr r2, _0805DDC8
- ldrh r0, [r2]
- movs r5, 0x80
- lsls r5, 2
- adds r1, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0805DDA4
- ldrh r1, [r2, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805DDA4
- bl sub_80532B4
- bl ResetRepeatTimers
- bl ResetUnusedInputStruct
-_0805DDA4:
- movs r4, 0
- ldr r0, _0805DDC8
- ldrh r0, [r0]
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0805DDFA
- ldr r1, _0805DDD8
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805DDC2
- ldr r0, _0805DDDC
- strh r4, [r0]
-_0805DDC2:
- movs r3, 0x1
- strb r3, [r1]
- b _0805DDFE
- .align 2, 0
-_0805DDC8: .4byte gRealInputs
-_0805DDCC: .4byte 0x00000707
-_0805DDD0: .4byte gUnknown_203B46C
-_0805DDD4: .4byte gUnknown_202F22D
-_0805DDD8: .4byte gUnknown_202F22C
-_0805DDDC: .4byte gUnknown_202F22E
-_0805DDE0:
- movs r0, 0xB
- bl sub_8044C50
- adds r2, r4, 0x1
- mov r0, r8
- adds r0, 0x48
- movs r1, 0
- strb r2, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- b _0805DE92
-_0805DDFA:
- ldr r0, _0805DEF8
- strb r4, [r0]
-_0805DDFE:
- movs r3, 0
- ldr r0, _0805DEFC
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- bne _0805DE2C
- ldr r2, _0805DF00
- ldrh r0, [r2, 0x6]
- movs r5, 0x80
- lsls r5, 1
- adds r1, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0805DE2A
- mov r0, r9
- cmp r0, 0
- bne _0805DE2A
- ldrh r1, [r2, 0x2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0805DE2C
-_0805DE2A:
- movs r3, 0x1
-_0805DE2C:
- cmp r3, 0
- beq _0805DE54
- mov r0, r10
- bl sub_805E738
- ldr r0, _0805DF04
- movs r1, 0x1
- strb r1, [r0]
- mov r0, r8
- adds r0, 0x46
- ldrb r0, [r0]
- ldr r1, [sp, 0x10]
- adds r1, 0x33
- strb r0, [r1]
- ldr r1, [sp, 0x10]
- adds r1, 0x34
- movs r0, 0xFF
- strb r0, [r1]
- bl ResetRepeatTimers
-_0805DE54:
- ldr r0, _0805DF00
- ldr r1, [r0]
- ldr r0, _0805DF08
- ands r1, r0
- cmp r1, r0
- bne _0805DE62
- movs r4, 0x1
-_0805DE62:
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805DE6C
- movs r4, 0x1
-_0805DE6C:
- cmp r4, 0
- beq _0805DE9C
- movs r4, 0
- ldr r0, _0805DF0C
- ldr r2, [r0]
- movs r3, 0x10
-_0805DE78:
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805DE8A
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0805DDE0
-_0805DE8A:
- adds r2, 0x4
- adds r4, 0x1
- cmp r4, 0x13
- ble _0805DE78
-_0805DE92:
- ldr r2, [sp, 0x1C]
- ldrh r0, [r2]
- cmp r0, 0
- beq _0805DE9C
- b _0805E1AE
-_0805DE9C:
- ldr r5, _0805DF10
- ldr r3, [r5]
- ldr r1, _0805DF14
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805DF82
- ldr r0, _0805DEFC
- ldr r2, [r0]
- ldrb r0, [r2, 0x4]
- cmp r0, 0x6
- beq _0805DF82
- ldr r0, _0805DF00
- ldrh r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805DF82
- ldrb r4, [r2, 0x4]
- ldr r0, _0805DF18
- movs r2, 0x1
- strb r2, [r0]
- ldr r5, _0805DF1C
- adds r0, r3, r5
- strb r2, [r0]
- bl sub_8094C48
- lsls r0, 24
- cmp r0, 0
- bne _0805DEDC
- bl sub_8094C88
-_0805DEDC:
- movs r0, 0x1
- bl sub_8052210
- bl sub_8040A84
- movs r0, 0x1E
- bl SetBGOBJEnableFlags
- movs r0, 0xA
- movs r1, 0x2F
- bl sub_803E708
- b _0805DF3A
- .align 2, 0
-_0805DEF8: .4byte gUnknown_202F22C
-_0805DEFC: .4byte gUnknown_203B46C
-_0805DF00: .4byte gRealInputs
-_0805DF04: .4byte gUnknown_202F22D
-_0805DF08: .4byte 0x01000200
-_0805DF0C: .4byte gTeamInventory_203B460
-_0805DF10: .4byte gDungeonGlobalData
-_0805DF14: .4byte 0x0001820a
-_0805DF18: .4byte gUnknown_202EE00
-_0805DF1C: .4byte 0x00018214
-_0805DF20:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805DF3A
- ldr r2, _0805DFA0
- movs r1, 0
- ldrb r0, [r2]
- cmp r0, 0
- bne _0805DF34
- movs r1, 0x1
-_0805DF34:
- strb r1, [r2]
- bl sub_8040A84
-_0805DF3A:
- movs r0, 0x2F
- bl sub_803E46C
- ldr r0, _0805DFA4
- ldrh r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0805DF54
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805DF20
-_0805DF54:
- ldr r1, _0805DFA8
- ldr r0, [r1]
- ldr r2, _0805DFAC
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- ldr r0, _0805DFB0
- ldr r0, [r0]
- strb r4, [r0, 0x4]
- ldr r0, _0805DFA0
- movs r3, 0x1
- strb r3, [r0]
- bl sub_8040A84
- movs r0, 0
- bl SetBGOBJEnableFlags
- movs r0, 0x2F
- bl sub_803E46C
- movs r0, 0x2F
- bl sub_803E46C
-_0805DF82:
- ldr r5, _0805DFA8
- ldr r0, [r5]
- ldr r1, _0805DFB4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805DFBC
- ldr r0, _0805DFB8
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805DFBC
- ldr r0, _0805DFA4
- ldrh r2, [r0, 0x2]
- adds r1, r2, 0
- b _0805DFCC
- .align 2, 0
-_0805DFA0: .4byte gUnknown_202EE00
-_0805DFA4: .4byte gRealInputs
-_0805DFA8: .4byte gDungeonGlobalData
-_0805DFAC: .4byte 0x00018214
-_0805DFB0: .4byte gUnknown_203B46C
-_0805DFB4: .4byte 0x0000066d
-_0805DFB8: .4byte gUnknown_202F22C
-_0805DFBC:
- ldr r3, _0805E05C
- ldrh r1, [r3]
- ldr r2, [sp, 0x18]
- ldrb r0, [r2]
- adds r2, r1, 0
- cmp r0, 0
- beq _0805DFCC
- ldrh r2, [r3, 0x2]
-_0805DFCC:
- movs r0, 0xF0
- ands r1, r0
- ands r2, r0
- movs r5, 0x1
- negs r5, r5
- cmp r1, 0x50
- bne _0805DFDC
- movs r5, 0x3
-_0805DFDC:
- cmp r1, 0x60
- bne _0805DFE2
- movs r5, 0x5
-_0805DFE2:
- cmp r1, 0x90
- bne _0805DFE8
- movs r5, 0x1
-_0805DFE8:
- cmp r1, 0xA0
- bne _0805DFEE
- movs r5, 0x7
-_0805DFEE:
- cmp r2, 0x40
- bne _0805DFF4
- movs r5, 0x4
-_0805DFF4:
- cmp r2, 0x80
- bne _0805DFFA
- movs r5, 0
-_0805DFFA:
- cmp r2, 0x10
- bne _0805E000
- movs r5, 0x2
-_0805E000:
- cmp r2, 0x20
- bne _0805E006
- movs r5, 0x6
-_0805E006:
- cmp r5, 0
- bge _0805E00C
- b _0805E1A0
-_0805E00C:
- ldr r0, _0805E060
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805E020
- adds r0, r5, 0
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- bne _0805E020
- b _0805E1A0
-_0805E020:
- mov r2, r8
- adds r2, 0x46
- ldrb r1, [r2]
- eors r1, r5
- negs r0, r1
- orrs r0, r1
- lsrs r7, r0, 31
- movs r1, 0x7
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
- ldr r0, _0805E064
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805E068
- ldr r0, [sp, 0x10]
- adds r0, 0x33
- strb r5, [r0]
- mov r0, r10
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r10
- adds r2, r5, 0
- bl sub_806CDD4
- b _0805E1A0
- .align 2, 0
-_0805E05C: .4byte gRealInputs
-_0805E060: .4byte gUnknown_202F22C
-_0805E064: .4byte gUnknown_202F22D
-_0805E068:
- movs r4, 0
- movs r3, 0
- mov r0, r10
- movs r1, 0x1
- str r3, [sp, 0x20]
- bl sub_805EC4C
- lsls r0, 24
- ldr r3, [sp, 0x20]
- cmp r0, 0
- beq _0805E080
- b _0805E1AE
-_0805E080:
- mov r0, r8
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0805E094
- ldr r0, _0805E090
- b _0805E0BE
- .align 2, 0
-_0805E090: .4byte gUnknown_80F8A84
-_0805E094:
- cmp r0, 0x7
- bne _0805E0A0
- ldr r0, _0805E09C
- b _0805E0BE
- .align 2, 0
-_0805E09C: .4byte gUnknown_80F8A6C
-_0805E0A0:
- cmp r0, 0x5
- bne _0805E0AC
- ldr r0, _0805E0A8
- b _0805E0BE
- .align 2, 0
-_0805E0A8: .4byte gUnknown_80F8AB0
-_0805E0AC:
- cmp r0, 0x3
- bne _0805E0B8
- ldr r0, _0805E0B4
- b _0805E0BE
- .align 2, 0
-_0805E0B4: .4byte gUnknown_80F8ADC
-_0805E0B8:
- cmp r0, 0x4
- bne _0805E0C2
- ldr r0, _0805E128
-_0805E0BE:
- ldr r3, [r0]
- movs r4, 0x1
-_0805E0C2:
- mov r0, r10
- adds r1, r5, 0
- str r3, [sp, 0x20]
- bl CanMoveInDirection
- lsls r0, 24
- ldr r3, [sp, 0x20]
- cmp r0, 0
- bne _0805E0D8
- movs r0, 0x2
- orrs r4, r0
-_0805E0D8:
- cmp r7, 0
- beq _0805E0F4
- mov r0, r10
- str r3, [sp, 0x20]
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r10
- adds r2, r5, 0
- bl sub_806CDD4
- ldr r3, [sp, 0x20]
-_0805E0F4:
- movs r7, 0x2
- adds r0, r4, 0
- ands r0, r7
- cmp r0, 0
- bne _0805E192
- movs r5, 0x1
- mov r9, r5
- ands r5, r4
- cmp r5, 0
- beq _0805E134
- cmp r3, 0
- beq _0805E114
- mov r0, r10
- adds r1, r3, 0
- bl SendMessage
-_0805E114:
- movs r0, 0x1
- bl sub_8044C50
- ldr r1, _0805E12C
- ldr r0, [r1]
- ldr r2, _0805E130
- adds r0, r2
- mov r3, r9
- strb r3, [r0]
- b _0805E1AE
- .align 2, 0
-_0805E128: .4byte gUnknown_80F8B0C
-_0805E12C: .4byte gDungeonGlobalData
-_0805E130: .4byte 0x00000673
-_0805E134:
- movs r0, 0x2
- bl sub_8044C50
- ldr r0, _0805E17C
- ldrh r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _0805E14C
- movs r0, 0
- cmp r0, 0
- beq _0805E188
-_0805E14C:
- movs r0, 0x9E
- lsls r0, 1
- add r0, r8
- ldr r0, [r0]
- bl RoundUpFixedPoint
- cmp r0, 0
- beq _0805E188
- mov r1, r10
- ldr r0, [r1, 0x70]
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0805E174
- ldr r2, _0805E180
- ldr r0, [r2]
- ldr r3, _0805E184
- adds r0, r3
- mov r1, r9
- strb r1, [r0]
-_0805E174:
- mov r0, r8
- adds r0, 0x48
- strb r5, [r0]
- b _0805E1AE
- .align 2, 0
-_0805E17C: .4byte gRealInputs
-_0805E180: .4byte gDungeonGlobalData
-_0805E184: .4byte 0x0000066c
-_0805E188:
- mov r0, r8
- adds r0, 0x48
- movs r2, 0x1
- strb r2, [r0]
- b _0805E1AE
-_0805E192:
- movs r3, 0x1
- ands r4, r3
- cmp r4, 0
- beq _0805E1A0
- movs r0, 0x23
- bl sub_803E724
-_0805E1A0:
- movs r0, 0xF
- bl sub_803E46C
- ldr r5, [sp, 0x14]
- cmp r5, 0
- bne _0805E1AE
- b _0805DB24
-_0805E1AE:
- ldr r1, [sp, 0x18]
- ldrb r0, [r1]
- cmp r0, 0
- beq _0805E1BA
- bl sub_804AA60
-_0805E1BA:
- ldr r4, [sp, 0x1C]
- ldrh r0, [r4]
- cmp r0, 0x2D
- beq _0805E1C6
- cmp r0, 0x13
- bne _0805E1E0
-_0805E1C6:
- mov r0, r10
- bl sub_8067510
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0805E2B0
- movs r0, 0
- bl sub_8044C50
- bl _0805D980
-_0805E1E0:
- lsls r0, r6, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0805E222
- ldr r2, _0805E210
- ldr r0, [r2]
- ldr r3, _0805E214
- adds r0, r3
- strb r1, [r0]
- ldrh r0, [r4]
- cmp r0, 0
- beq _0805E218
- mov r0, r10
- movs r1, 0
- bl IsNotAttacking
- lsls r0, 24
- cmp r0, 0
- bne _0805E2B0
- movs r0, 0xF
- bl sub_803E46C
- b _0805E2B0
- .align 2, 0
-_0805E210: .4byte gDungeonGlobalData
-_0805E214: .4byte 0x0000066d
-_0805E218:
- movs r0, 0xF
- bl sub_803E46C
- bl _0805D980
-_0805E222:
- movs r0, 0xF
- bl sub_803E46C
- bl sub_8047158
- movs r2, 0
- lsrs r0, r6, 8
- lsls r0, 24
- cmp r0, 0
- bne _0805E238
- movs r2, 0x1
-_0805E238:
- lsrs r1, r6, 16
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl ShowFieldMenu
- bl ResetRepeatTimers
- bl ResetUnusedInputStruct
- ldr r1, _0805E294
- movs r0, 0
- strb r0, [r1]
- movs r0, 0
- ldr r5, [sp, 0x18]
- strb r0, [r5]
- bl sub_804AA60
- bl sub_8044B28
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0805E2B0
- ldrh r0, [r4]
- cmp r0, 0
- beq _0805E29C
- cmp r0, 0x2B
- bne _0805E27E
- ldr r2, _0805E298
- ldr r0, [r2]
- movs r3, 0x1
- strb r3, [r0, 0x4]
- ldr r0, [r2]
- strb r3, [r0, 0x3]
-_0805E27E:
- ldr r5, [sp, 0x1C]
- ldrh r0, [r5]
- cmp r0, 0x2E
- bne _0805E2B0
- ldr r2, _0805E298
- ldr r0, [r2]
- movs r3, 0x1
- strb r3, [r0, 0x4]
- ldr r0, [r2]
- strb r1, [r0, 0x3]
- b _0805E2B0
- .align 2, 0
-_0805E294: .4byte gUnknown_202F22D
-_0805E298: .4byte gDungeonGlobalData
-_0805E29C:
- movs r0, 0xF
- bl sub_803E46C
- ldr r5, _0805E2C0
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _0805E2B0
- bl _0805D980
-_0805E2B0:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805E2C0: .4byte gDungeonGlobalData
- thumb_func_end sub_805D8C8
-
- thumb_func_start sub_805E2C4
-sub_805E2C4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- str r0, [sp, 0x10]
- ldr r0, _0805E47C
- ldr r1, [r0]
- ldr r0, _0805E480
- adds r0, r1, r0
- str r0, [sp, 0x14]
- ldr r0, _0805E484
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805E2E6
- b _0805E4C4
-_0805E2E6:
- movs r1, 0
- str r1, [sp, 0x18]
- mov r7, sp
- ldr r2, _0805E488
- mov r10, r2
-_0805E2F0:
- ldrh r0, [r7]
- ldr r3, _0805E48C
- adds r1, r3, 0
- ands r1, r0
- ldr r0, [sp]
- mov r4, r10
- ands r0, r4
- orrs r0, r1
- str r0, [sp]
- ldrh r1, [r7]
- mov r2, r10
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- ldrh r0, [r7]
- ldr r5, _0805E490
- adds r1, r5, 0
- ands r1, r0
- mov r0, r10
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldrh r2, [r7]
- mov r1, r10
- ands r1, r0
- orrs r1, r2
- str r1, [sp]
- ldrh r2, [r7]
- ldr r0, _0805E494
- ands r0, r2
- mov r3, r10
- ands r3, r1
- orrs r3, r0
- str r3, [sp]
- ldrh r1, [r7]
- movs r0, 0x80
- lsls r0, 3
- orrs r0, r1
- movs r6, 0
- orrs r0, r6
- mov r2, r10
- ands r2, r3
- orrs r2, r0
- str r2, [sp]
- ldrh r0, [r7]
- ldr r3, _0805E498
- adds r1, r3, 0
- ands r1, r0
- mov r0, r10
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldrh r1, [r7]
- mov r2, r10
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- ldrh r0, [r7]
- ldr r4, _0805E49C
- adds r1, r4, 0
- ands r1, r0
- mov r0, r10
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldrh r1, [r7]
- mov r2, r10
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- ldrh r1, [r7]
- ldr r0, _0805E4A0
- ands r0, r1
- mov r1, r10
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- ldrh r2, [r7]
- mov r0, r10
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- ldr r1, _0805E4A4
- ldr r5, [sp, 0x18]
- lsls r0, r5, 3
- adds r0, r1
- mov r12, r0
- ldrb r1, [r0, 0x4]
- negs r0, r1
- orrs r0, r1
- asrs r1, r0, 31
- movs r0, 0x8
- ands r1, r0
- mov r6, r12
- ldrb r0, [r6, 0x5]
- cmp r0, 0
- beq _0805E3B4
- adds r1, 0x10
-_0805E3B4:
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 9
- ldrh r3, [r7, 0x2]
- ldr r2, _0805E4A8
- adds r0, r2, 0
- ands r3, r0
- orrs r3, r1
- ldr r4, _0805E4A0
- ands r3, r4
- strh r3, [r7, 0x2]
- ldr r2, _0805E4AC
- ldrh r0, [r7, 0x4]
- movs r5, 0xFC
- lsls r5, 8
- adds r1, r5, 0
- ands r0, r1
- orrs r0, r2
- movs r6, 0
- orrs r0, r6
- movs r1, 0x80
- lsls r1, 4
- ldr r2, _0805E494
- ands r0, r2
- orrs r0, r1
- orrs r0, r6
- ldr r4, _0805E4B0
- mov r9, r4
- ands r0, r4
- strh r0, [r7, 0x4]
- ldrh r4, [r7, 0x6]
- ldr r5, _0805E4B4
- adds r0, r5, 0
- ands r4, r0
- ldr r6, _0805E4B8
- adds r0, r6, 0
- ands r4, r0
- strh r4, [r7, 0x6]
- mov r0, r12
- movs r1, 0
- ldrsh r5, [r0, r1]
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 1
- ldr r6, _0805E4BC
- mov r8, r6
- movs r1, 0
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r6, 0x7
- ands r0, r6
- muls r0, r5
- adds r0, r2
- adds r0, 0x74
- ldr r1, _0805E4C0
- ands r0, r1
- movs r2, 0xFE
- lsls r2, 8
- adds r1, r2, 0
- ands r3, r1
- orrs r3, r0
- strh r3, [r7, 0x2]
- mov r5, r12
- movs r0, 0x2
- ldrsh r3, [r5, r0]
- lsls r2, r3, 2
- adds r2, r3
- lsls r2, 1
- mov r1, r8
- movs r5, 0
- ldrsh r0, [r1, r5]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- ands r0, r6
- muls r0, r3
- adds r0, r2
- adds r0, 0x52
- mov r6, r9
- ands r0, r6
- lsls r0, 4
- movs r1, 0xF
- ands r4, r1
- orrs r4, r0
- strh r4, [r7, 0x6]
- mov r0, sp
- adds r1, 0xF1
- movs r2, 0
- movs r3, 0
- bl AddSprite
- ldr r2, [sp, 0x18]
- adds r2, 0x1
- str r2, [sp, 0x18]
- cmp r2, 0x3
- bgt _0805E47A
- b _0805E2F0
-_0805E47A:
- b _0805E6AC
- .align 2, 0
-_0805E47C: .4byte gDungeonGlobalData
-_0805E480: .4byte 0x000181e8
-_0805E484: .4byte gUnknown_202F22C
-_0805E488: .4byte 0xffff0000
-_0805E48C: .4byte 0x0000feff
-_0805E490: .4byte 0x0000fdff
-_0805E494: .4byte 0x0000f3ff
-_0805E498: .4byte 0x0000efff
-_0805E49C: .4byte 0x0000dfff
-_0805E4A0: .4byte 0x00003fff
-_0805E4A4: .4byte gUnknown_8106AC8
-_0805E4A8: .4byte 0x0000c1ff
-_0805E4AC: .4byte 0x00000213
-_0805E4B0: .4byte 0x00000fff
-_0805E4B4: .4byte 0x0000fffe
-_0805E4B8: .4byte 0x0000fffd
-_0805E4BC: .4byte gUnknown_202F22E
-_0805E4C0: .4byte 0x000001ff
-_0805E4C4:
- ldr r3, _0805E6E4
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805E4D0
- b _0805E6AC
-_0805E4D0:
- ldr r4, _0805E6E8
- adds r0, r1, r4
- ldrb r0, [r0]
- str r0, [sp, 0x1C]
- cmp r0, 0x7
- bls _0805E4DE
- b _0805E6AC
-_0805E4DE:
- ldr r0, _0805E6EC
- ldrb r0, [r0]
- movs r7, 0x1
- cmp r0, 0
- beq _0805E4F2
- ldr r0, _0805E6F0
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805E4F2
- movs r7, 0x3
-_0805E4F2:
- ldr r5, _0805E6F4
- mov r12, r5
- ldr r6, [sp, 0x1C]
- lsls r5, r6, 1
- adds r3, r5, r6
- lsls r3, 2
- add r3, r12
- movs r0, 0
- ldrsh r4, [r3, r0]
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 1
- ldr r0, _0805E6F8
- movs r6, 0
- ldrsh r2, [r0, r6]
- lsrs r0, r2, 31
- adds r2, r0
- asrs r2, 1
- movs r0, 0x7
- ands r2, r0
- adds r0, r4, 0
- muls r0, r2
- adds r0, r1
- adds r0, 0x74
- str r0, [sp, 0x20]
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- muls r0, r2
- adds r0, r1
- adds r0, 0x52
- mov r10, r0
- str r5, [sp, 0x24]
- cmp r7, 0
- bne _0805E53E
- b _0805E6AC
-_0805E53E:
- add r6, sp, 0x8
- ldr r2, _0805E6FC
- mov r8, r2
- mov r9, r7
-_0805E546:
- ldrh r0, [r6]
- ldr r3, _0805E700
- adds r1, r3, 0
- ands r1, r0
- ldr r0, [sp, 0x8]
- mov r4, r8
- ands r0, r4
- orrs r0, r1
- str r0, [sp, 0x8]
- ldrh r1, [r6]
- mov r2, r8
- ands r2, r0
- orrs r2, r1
- str r2, [sp, 0x8]
- ldrh r0, [r6]
- ldr r5, _0805E704
- adds r1, r5, 0
- ands r1, r0
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x8]
- ldrh r2, [r6]
- mov r1, r8
- ands r1, r0
- orrs r1, r2
- str r1, [sp, 0x8]
- ldrh r2, [r6]
- ldr r0, _0805E708
- ands r0, r2
- mov r3, r8
- ands r3, r1
- orrs r3, r0
- str r3, [sp, 0x8]
- ldrh r1, [r6]
- movs r0, 0x80
- lsls r0, 3
- orrs r0, r1
- movs r1, 0
- orrs r0, r1
- mov r2, r8
- ands r2, r3
- orrs r2, r0
- str r2, [sp, 0x8]
- ldrh r0, [r6]
- ldr r3, _0805E70C
- adds r1, r3, 0
- ands r1, r0
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x8]
- ldrh r1, [r6]
- mov r2, r8
- ands r2, r0
- orrs r2, r1
- str r2, [sp, 0x8]
- ldrh r0, [r6]
- ldr r4, _0805E710
- adds r1, r4, 0
- ands r1, r0
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x8]
- ldrh r1, [r6]
- mov r2, r8
- ands r2, r0
- orrs r2, r1
- str r2, [sp, 0x8]
- ldrh r1, [r6]
- ldr r0, _0805E714
- ands r0, r1
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x8]
- ldrh r2, [r6]
- mov r0, r8
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x8]
- ldr r5, [sp, 0x24]
- ldr r1, [sp, 0x1C]
- adds r0, r5, r1
- lsls r2, r0, 2
- ldr r3, _0805E6F4
- adds r7, r2, r3
- ldrb r1, [r7, 0x8]
- negs r0, r1
- orrs r0, r1
- asrs r1, r0, 31
- movs r0, 0x8
- ands r1, r0
- ldrb r0, [r7, 0x9]
- cmp r0, 0
- beq _0805E60A
- adds r1, 0x10
-_0805E60A:
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 9
- ldrh r3, [r6, 0x2]
- ldr r4, _0805E718
- adds r0, r4, 0
- ands r3, r0
- orrs r3, r1
- ldr r5, _0805E714
- ands r3, r5
- strh r3, [r6, 0x2]
- ldr r1, _0805E71C
- adds r0, r2, r1
- ldr r2, [r0]
- ldr r0, _0805E720
- ands r2, r0
- ldrh r0, [r6, 0x4]
- movs r4, 0xFC
- lsls r4, 8
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- movs r1, 0x80
- lsls r1, 4
- ldr r5, _0805E708
- ands r0, r5
- orrs r0, r1
- movs r1, 0
- orrs r0, r1
- movs r2, 0xF
- mov r12, r2
- ldr r4, _0805E724
- ands r0, r4
- strh r0, [r6, 0x4]
- ldrh r1, [r6, 0x6]
- ldr r5, _0805E728
- adds r0, r5, 0
- ands r1, r0
- ldr r2, _0805E72C
- adds r0, r2, 0
- ands r1, r0
- ldr r0, _0805E730
- ldr r5, [sp, 0x20]
- ands r0, r5
- movs r5, 0xFE
- lsls r5, 8
- adds r2, r5, 0
- ands r3, r2
- orrs r3, r0
- strh r3, [r6, 0x2]
- mov r0, r10
- ands r0, r4
- lsls r0, 4
- mov r2, r12
- ands r1, r2
- orrs r1, r0
- strh r1, [r6, 0x6]
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0
- movs r3, 0
- bl AddSprite
- movs r3, 0
- ldrsh r0, [r7, r3]
- lsls r0, 2
- ldr r4, [sp, 0x20]
- adds r4, r0
- str r4, [sp, 0x20]
- movs r5, 0x2
- ldrsh r0, [r7, r5]
- lsls r0, 2
- add r10, r0
- movs r0, 0x1
- negs r0, r0
- add r9, r0
- mov r1, r9
- cmp r1, 0
- beq _0805E6AC
- b _0805E546
-_0805E6AC:
- ldr r4, _0805E734
- ldrb r0, [r4]
- cmp r0, 0
- beq _0805E6D4
- ldr r2, [sp, 0x14]
- adds r2, 0x34
- ldr r3, [sp, 0x14]
- adds r3, 0x33
- ldrb r1, [r3]
- ldrb r0, [r2]
- cmp r0, r1
- beq _0805E6D4
- strb r1, [r2]
- ldr r0, [sp, 0x10]
- adds r0, 0x4
- ldrb r1, [r3]
- ldrb r3, [r4]
- movs r2, 0
- bl sub_804A728
-_0805E6D4:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805E6E4: .4byte 0x0001821a
-_0805E6E8: .4byte 0x0001821b
-_0805E6EC: .4byte gUnknown_202F231
-_0805E6F0: .4byte gUnknown_202F230
-_0805E6F4: .4byte gUnknown_8106AE8
-_0805E6F8: .4byte gUnknown_202F22E
-_0805E6FC: .4byte 0xffff0000
-_0805E700: .4byte 0x0000feff
-_0805E704: .4byte 0x0000fdff
-_0805E708: .4byte 0x0000f3ff
-_0805E70C: .4byte 0x0000efff
-_0805E710: .4byte 0x0000dfff
-_0805E714: .4byte 0x00003fff
-_0805E718: .4byte 0x0000c1ff
-_0805E71C: .4byte gUnknown_8106AEC
-_0805E720: .4byte 0x000003ff
-_0805E724: .4byte 0x00000fff
-_0805E728: .4byte 0x0000fffe
-_0805E72C: .4byte 0x0000fffd
-_0805E730: .4byte 0x000001ff
-_0805E734: .4byte gUnknown_202F22D
- thumb_func_end sub_805E2C4
-
- thumb_func_start sub_805E738
-sub_805E738:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- ldr r1, [r6, 0x70]
- adds r0, r1, 0
- adds r0, 0xE8
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0805E7F6
- movs r0, 0
- mov r8, r0
- adds r1, 0x46
- mov r10, r1
-_0805E75E:
- movs r1, 0
- mov r9, r1
- mov r3, r10
- ldrb r5, [r3]
- adds r5, 0x1
- movs r7, 0x1
-_0805E76A:
- movs r0, 0x7
- ands r5, r0
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- ldr r1, _0805E7E8
- lsls r2, r5, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r6, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl GetMapTile_1
- adds r4, r0, 0
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _0805E7B8
- bl GetEntityType
- cmp r0, 0x1
- bne _0805E7B8
- ldr r1, [r4, 0x10]
- ldr r4, [r1, 0x70]
- adds r0, r6, 0
- bl CanSee
- lsls r0, 24
- cmp r0, 0
- beq _0805E7B8
- mov r0, r8
- cmp r0, 0
- bne _0805E7C6
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- bne _0805E7C6
-_0805E7B8:
- adds r7, 0x1
- adds r5, 0x1
- cmp r7, 0x7
- ble _0805E76A
- mov r1, r9
- cmp r1, 0
- beq _0805E7EC
-_0805E7C6:
- ldr r1, [r6, 0x70]
- movs r2, 0x7
- adds r0, r5, 0
- ands r0, r2
- adds r1, 0x46
- strb r0, [r1]
- adds r0, r6, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- adds r2, r5, 0
- bl sub_806CDD4
- b _0805E7F6
- .align 2, 0
-_0805E7E8: .4byte gAdjacentTileOffsets
-_0805E7EC:
- movs r3, 0x1
- add r8, r3
- mov r0, r8
- cmp r0, 0
- ble _0805E75E
-_0805E7F6:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_805E738
-
- thumb_func_start sub_805E804
-sub_805E804:
- push {r4,r5,lr}
- ldr r2, _0805E864
- ldr r1, [r2]
- ldr r5, _0805E868
- adds r3, r1, r5
- ldr r4, _0805E86C
- adds r1, r4
- ldrb r0, [r3]
- ldrb r1, [r1]
- orrs r0, r1
- movs r1, 0
- strb r0, [r3]
- ldr r0, [r2]
- adds r0, r4
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805E85C
- ldr r0, _0805E870
- ldrh r1, [r0]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0805E85C
- adds r4, r2, 0
-_0805E83E:
- movs r0, 0x54
- bl sub_803E46C
- ldr r0, _0805E864
- ldr r0, [r0]
- ldr r1, _0805E868
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805E85C
- ldr r0, _0805E870
- ldrh r0, [r0]
- ands r0, r4
- cmp r0, 0
- bne _0805E83E
-_0805E85C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805E864: .4byte gDungeonGlobalData
-_0805E868: .4byte 0x0000066d
-_0805E86C: .4byte 0x0000066c
-_0805E870: .4byte gRealInputs
- thumb_func_end sub_805E804
-
- thumb_func_start sub_805E874
-sub_805E874:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r0, _0805E90C
- ldr r4, [r0]
- bl GetLeaderEntity
- mov r9, r0
- ldr r0, [r0, 0x70]
- adds r0, 0x46
- ldrb r0, [r0]
- str r0, [sp, 0x18]
- mov r0, r9
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- mov r10, r0
- mov r2, r9
- movs r3, 0x6
- ldrsh r2, [r2, r3]
- str r2, [sp, 0x1C]
- adds r1, r2, 0
- bl GetMapTile_1
- adds r5, r0, 0
- ldr r1, _0805E910
- ldr r2, [sp, 0x18]
- lsls r0, r2, 2
- adds r0, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- mov r2, r10
- adds r7, r2, r1
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- ldr r1, [sp, 0x1C]
- adds r6, r1, r0
- ldr r2, _0805E914
- adds r4, r2
- ldrb r0, [r4]
- cmp r0, 0
- beq _0805E906
- ldr r0, [r5, 0x14]
- cmp r0, 0
- bne _0805E906
- mov r0, r9
- mov r1, r10
- ldr r2, [sp, 0x1C]
- bl sub_805EC2C
- lsls r0, 24
- cmp r0, 0
- bne _0805E906
- mov r0, r9
- ldr r1, [sp, 0x18]
- bl sub_8070F14
- lsls r0, 24
- cmp r0, 0
- beq _0805E906
- ldrb r3, [r5, 0x9]
- str r3, [sp, 0x20]
- cmp r3, 0xFF
- bne _0805E918
- adds r0, r7, 0
- adds r1, r6, 0
- bl GetMapTile_1
- ldrb r0, [r0, 0x9]
- cmp r0, 0xFF
- beq _0805E922
-_0805E906:
- movs r0, 0
- b _0805EC1A
- .align 2, 0
-_0805E90C: .4byte gDungeonGlobalData
-_0805E910: .4byte gAdjacentTileOffsets
-_0805E914: .4byte 0x0000066c
-_0805E918:
- ldrh r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0805E906
-_0805E922:
- movs r4, 0x1
- negs r4, r4
- ldr r7, _0805EA54
- movs r5, 0x80
- lsls r5, 2
- adds r6, r5, 0
-_0805E92E:
- ldr r0, [sp, 0x18]
- adds r1, r0, r4
- movs r5, 0x7
- ands r1, r5
- lsls r1, 2
- adds r1, r7
- movs r2, 0
- ldrsh r0, [r1, r2]
- add r0, r10
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- ldr r2, [sp, 0x1C]
- adds r1, r2, r1
- bl GetMapTile_1
- adds r1, r0, 0
- ldr r0, [r1, 0x10]
- cmp r0, 0
- bne _0805E906
- ldrh r0, [r1]
- ands r0, r6
- cmp r0, 0
- bne _0805E906
- adds r4, 0x1
- cmp r4, 0x1
- ble _0805E92E
- ldr r4, _0805EA54
- ldr r3, [sp, 0x18]
- adds r3, 0x3
- ands r3, r5
- lsls r3, 2
- adds r3, r4
- movs r1, 0
- ldrsh r0, [r3, r1]
- add r0, r10
- str r0, [sp]
- ldr r2, [sp, 0x18]
- adds r2, 0x4
- ands r2, r5
- lsls r2, 2
- adds r2, r4
- movs r1, 0
- ldrsh r0, [r2, r1]
- add r0, r10
- str r0, [sp, 0x4]
- ldr r1, [sp, 0x18]
- adds r1, 0x5
- ands r1, r5
- lsls r1, 2
- adds r1, r4
- movs r4, 0
- ldrsh r0, [r1, r4]
- add r0, r10
- str r0, [sp, 0x8]
- add r4, sp, 0xC
- movs r5, 0x2
- ldrsh r0, [r3, r5]
- ldr r3, [sp, 0x1C]
- adds r0, r3, r0
- str r0, [sp, 0xC]
- movs r5, 0x2
- ldrsh r0, [r2, r5]
- adds r0, r3, r0
- str r0, [r4, 0x4]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, r3, r0
- str r0, [r4, 0x8]
- movs r3, 0x1
- negs r3, r3
- mov r8, r3
-_0805E9BC:
- movs r4, 0x1
- negs r4, r4
- mov r7, r10
- add r7, r8
- ldr r6, [sp, 0x1C]
- subs r6, 0x1
-_0805E9C8:
- adds r0, r7, 0
- adds r1, r6, 0
- bl GetMapTile_1
- adds r5, r0, 0
- ldr r0, [r5, 0x14]
- cmp r0, 0
- beq _0805EA14
- movs r2, 0
- ldr r0, [sp]
- cmp r7, r0
- bne _0805E9E6
- ldr r0, [sp, 0xC]
- cmp r6, r0
- beq _0805EA04
-_0805E9E6:
- adds r2, 0x1
- cmp r2, 0x2
- bgt _0805EA04
- lsls r1, r2, 2
- mov r3, sp
- adds r0, r3, r1
- ldr r0, [r0]
- cmp r7, r0
- bne _0805E9E6
- mov r0, sp
- adds r0, r1
- adds r0, 0xC
- ldr r0, [r0]
- cmp r6, r0
- bne _0805E9E6
-_0805EA04:
- cmp r2, 0x3
- bne _0805EA14
- ldr r0, [r5, 0x14]
- bl GetEntityType
- cmp r0, 0x3
- bne _0805EA14
- b _0805E906
-_0805EA14:
- movs r0, 0x1
- ldr r1, [sp, 0x18]
- ands r0, r1
- cmp r0, 0
- beq _0805EA60
- ldr r0, [r5, 0x14]
- cmp r0, 0
- beq _0805EA94
- bl GetEntityType
- cmp r0, 0x2
- bne _0805EA94
- ldr r0, [r5, 0x14]
- bl GetEntityType
- cmp r0, 0x2
- bne _0805EA94
- ldr r0, [r5, 0x14]
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805EA42
- b _0805E906
-_0805EA42:
- ldr r0, _0805EA58
- ldr r0, [r0]
- ldr r2, _0805EA5C
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805EA94
- b _0805E906
- .align 2, 0
-_0805EA54: .4byte gAdjacentTileOffsets
-_0805EA58: .4byte gDungeonGlobalData
-_0805EA5C: .4byte 0x0001820f
-_0805EA60:
- mov r3, r8
- cmp r3, 0
- beq _0805EA6A
- cmp r4, 0
- bne _0805EA94
-_0805EA6A:
- ldr r0, [r5, 0x14]
- cmp r0, 0
- beq _0805EA94
- bl GetEntityType
- cmp r0, 0x2
- bne _0805EA94
- ldr r0, [r5, 0x14]
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805EA84
- b _0805E906
-_0805EA84:
- ldr r0, _0805EAA0
- ldr r0, [r0]
- ldr r1, _0805EAA4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805EA94
- b _0805E906
-_0805EA94:
- mov r2, r8
- cmp r2, 0
- beq _0805EAA8
- cmp r4, 0
- bne _0805EAD6
- b _0805EAAC
- .align 2, 0
-_0805EAA0: .4byte gDungeonGlobalData
-_0805EAA4: .4byte 0x0001820f
-_0805EAA8:
- cmp r4, 0
- beq _0805EAD6
-_0805EAAC:
- ldr r0, [sp, 0x4]
- cmp r0, r7
- bne _0805EAB8
- ldr r0, [sp, 0x10]
- cmp r0, r6
- beq _0805EAD6
-_0805EAB8:
- mov r0, r9
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_805EC2C
- lsls r0, 24
- cmp r0, 0
- bne _0805EAD6
- ldr r3, [sp, 0x20]
- cmp r3, 0xFF
- beq _0805EAD6
- ldrb r5, [r5, 0x9]
- cmp r3, r5
- beq _0805EAD6
- b _0805E906
-_0805EAD6:
- adds r6, 0x1
- adds r4, 0x1
- cmp r4, 0x1
- bgt _0805EAE0
- b _0805E9C8
-_0805EAE0:
- movs r4, 0x1
- add r8, r4
- mov r5, r8
- cmp r5, 0x1
- bgt _0805EAEC
- b _0805E9BC
-_0805EAEC:
- movs r0, 0x1
- ldr r1, [sp, 0x18]
- ands r0, r1
- cmp r0, 0
- beq _0805EAF8
- b _0805EC18
-_0805EAF8:
- cmp r1, 0
- beq _0805EB00
- cmp r1, 0x4
- bne _0805EB8C
-_0805EB00:
- mov r4, r10
- subs r4, 0x1
- ldr r6, [sp, 0x1C]
- subs r6, 0x1
- mov r0, r9
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- adds r1, r4, 0
- ldr r2, [sp, 0x1C]
- bl sub_805EC2C
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r5, [sp, 0x1C]
- adds r5, 0x1
- mov r0, r9
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- adds r2, r6, 0
- cmp r7, 0
- bne _0805EB4C
- mov r3, r8
- cmp r3, 0
- beq _0805EB46
- b _0805E906
-_0805EB46:
- cmp r7, r0
- beq _0805EB4C
- b _0805E906
-_0805EB4C:
- mov r4, r10
- adds r4, 0x1
- mov r0, r9
- adds r1, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- adds r1, r4, 0
- ldr r2, [sp, 0x1C]
- bl sub_805EC2C
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r9
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- cmp r7, 0
- bne _0805EC18
- mov r4, r8
- cmp r4, 0
- beq _0805EB86
- b _0805E906
-_0805EB86:
- cmp r7, r0
- beq _0805EC18
- b _0805E906
-_0805EB8C:
- mov r6, r10
- subs r6, 0x1
- ldr r4, [sp, 0x1C]
- subs r4, 0x1
- mov r0, r9
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- mov r1, r10
- adds r2, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r7, r0, 24
- mov r5, r10
- adds r5, 0x1
- mov r0, r9
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r6, 0
- cmp r7, 0
- bne _0805EBD8
- mov r2, r8
- cmp r2, 0
- beq _0805EBD2
- b _0805E906
-_0805EBD2:
- cmp r7, r0
- beq _0805EBD8
- b _0805E906
-_0805EBD8:
- ldr r4, [sp, 0x1C]
- adds r4, 0x1
- mov r0, r9
- adds r2, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- mov r1, r10
- adds r2, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r9
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- cmp r7, 0
- bne _0805EC18
- mov r3, r8
- cmp r3, 0
- beq _0805EC12
- b _0805E906
-_0805EC12:
- cmp r7, r0
- beq _0805EC18
- b _0805E906
-_0805EC18:
- movs r0, 0x1
-_0805EC1A:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805E874
-
- thumb_func_start sub_805EC2C
-sub_805EC2C:
- push {lr}
- sub sp, 0x4
- lsls r1, 16
- lsls r2, 16
- lsrs r1, 16
- orrs r1, r2
- str r1, [sp]
- mov r1, sp
- bl sub_8070564
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_805EC2C
-
- thumb_func_start sub_805EC4C
-sub_805EC4C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r7, [r5, 0x70]
- ldr r1, _0805ECC8
- adds r0, r7, 0
- adds r0, 0x46
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- ldrh r3, [r5, 0x4]
- adds r1, r3
- lsls r1, 16
- ldrh r0, [r0, 0x2]
- ldrh r3, [r5, 0x6]
- adds r0, r3
- lsls r0, 16
- lsrs r2, r1, 16
- orrs r2, r0
- lsls r0, r2, 16
- asrs r0, 16
- asrs r1, r2, 16
- bl GetMapTile_1
- ldr r0, [r0, 0x10]
- mov r8, r0
- cmp r0, 0
- bne _0805EC94
- b _0805ED96
-_0805EC94:
- mov r0, r8
- bl GetEntityType
- cmp r0, 0x1
- bne _0805ED96
- mov r0, r8
- ldr r6, [r0, 0x70]
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- beq _0805ECDC
- ldrb r0, [r6, 0x8]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0805ECDC
- adds r0, r6, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _0805ECC2
- cmp r0, 0x47
- bne _0805ECCC
-_0805ECC2:
- movs r0, 0x1
- b _0805ECCE
- .align 2, 0
-_0805ECC8: .4byte gAdjacentTileOffsets
-_0805ECCC:
- movs r0, 0
-_0805ECCE:
- cmp r0, 0
- bne _0805ECDC
- adds r0, r6, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0805ED96
-_0805ECDC:
- adds r0, r7, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0805ED96
- cmp r0, 0x1
- beq _0805ED96
- cmp r0, 0x7
- beq _0805ED96
- cmp r0, 0x5
- beq _0805ED96
- cmp r0, 0x3
- beq _0805ED96
- cmp r0, 0x4
- beq _0805ED96
- adds r0, r6, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0805ED96
- cmp r0, 0x1
- beq _0805ED96
- cmp r0, 0x7
- beq _0805ED96
- cmp r0, 0x5
- beq _0805ED96
- cmp r0, 0x3
- beq _0805ED96
- cmp r0, 0x4
- beq _0805ED96
- adds r0, r7, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0805ED96
- adds r0, r6, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0805ED96
- adds r0, r6, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805ED3E
- cmp r0, 0x2
- beq _0805ED3E
- cmp r0, 0x4
- bne _0805ED96
-_0805ED3E:
- adds r0, r7, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805ED50
- cmp r0, 0x2
- beq _0805ED50
- cmp r0, 0x4
- bne _0805ED96
-_0805ED50:
- mov r0, r8
- movs r1, 0
- bl IsCharging
- lsls r0, 24
- cmp r0, 0
- bne _0805ED96
- adds r4, r7, 0
- adds r4, 0x46
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_8070F80
- lsls r0, 24
- mov r9, r4
- cmp r0, 0
- beq _0805ED96
- mov r1, r10
- cmp r1, 0
- beq _0805EDA0
- adds r1, r5, 0x4
- mov r0, r8
- bl sub_807049C
- lsls r0, 24
- cmp r0, 0
- beq _0805EDA0
- ldr r0, _0805ED9C
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- cmp r0, 0
- bne _0805EDA0
-_0805ED96:
- movs r0, 0
- b _0805EE1E
- .align 2, 0
-_0805ED9C: .4byte gUnknown_8100208
-_0805EDA0:
- adds r0, r7, 0
- adds r0, 0x44
- movs r1, 0x2
- bl SetAction
- ldr r0, _0805EDC0
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805EDC4
- adds r1, r7, 0
- adds r1, 0x48
- movs r0, 0
- b _0805EDCA
- .align 2, 0
-_0805EDC0: .4byte gRealInputs
-_0805EDC4:
- adds r1, r7, 0
- adds r1, 0x48
- movs r0, 0x1
-_0805EDCA:
- strb r0, [r1]
- ldrh r0, [r7]
- movs r2, 0x80
- lsls r2, 8
- adds r5, r2, 0
- movs r4, 0
- orrs r0, r5
- strh r0, [r7]
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x2
- bl SetAction
- adds r0, r6, 0
- adds r0, 0x48
- strb r4, [r0]
- mov r3, r9
- ldrb r0, [r3]
- adds r0, 0x4
- movs r1, 0x7
- ands r0, r1
- adds r1, r6, 0
- adds r1, 0x46
- strb r0, [r1]
- ldrh r0, [r6]
- orrs r0, r5
- strh r0, [r6]
- mov r0, r8
- ldrh r1, [r0, 0x4]
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r6, r2
- strh r1, [r0]
- mov r3, r8
- ldrh r0, [r3, 0x6]
- adds r2, 0x2
- adds r1, r6, r2
- strh r0, [r1]
- ldr r0, _0805EE2C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xE]
-_0805EE1E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805EE2C: .4byte gDungeonGlobalData
- thumb_func_end sub_805EC4C
-
- thumb_func_start sub_805EE30
-sub_805EE30:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- bl GetLeaderEntity
- adds r5, r0, 0
- cmp r5, 0
- bne _0805EE42
- b _0805EF52
-_0805EE42:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _0805EE4E
- b _0805EF52
-_0805EE4E:
- adds r0, r5, 0
- bl GetMapTileForDungeonEntity_2
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0xD
- bl HasIQSkill
- lsls r0, 24
- cmp r0, 0
- beq _0805EE82
- ldr r0, [r5, 0x70]
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _0805EE82
- adds r0, r5, 0
- movs r1, 0x9
- bl HasItem
- lsls r0, 24
- cmp r0, 0
- bne _0805EE82
- adds r0, r5, 0x4
- bl sub_804AE84
-_0805EE82:
- ldrh r1, [r4]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _0805EE96
- ldr r0, _0805EEB0
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x1]
-_0805EE96:
- ldr r4, [r4, 0x14]
- cmp r4, 0
- beq _0805EF52
- adds r0, r4, 0
- bl GetEntityType
- cmp r0, 0x5
- bhi _0805EF52
- lsls r0, 2
- ldr r1, _0805EEB4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0805EEB0: .4byte gDungeonGlobalData
-_0805EEB4: .4byte _0805EEB8
- .align 2, 0
-_0805EEB8:
- .4byte _0805EF52
- .4byte _0805EF52
- .4byte _0805EED0
- .4byte _0805EF2A
- .4byte _0805EF52
- .4byte _0805EF52
-_0805EED0:
- adds r0, r4, 0
- bl GetTrapData
- adds r6, r0, 0
- movs r0, 0
- mov r8, r0
- movs r7, 0
- adds r0, r5, 0
- movs r1, 0x13
- bl HasIQSkill
- lsls r0, 24
- cmp r0, 0
- beq _0805EF00
- adds r1, r4, 0
- adds r1, 0x20
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805EF00
- movs r0, 0x1
- strb r0, [r1]
- bl sub_8049ED4
- movs r7, 0x1
-_0805EF00:
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _0805EF18
- cmp r0, 0x1
- beq _0805EF52
- cmp r0, 0x2
- bne _0805EF12
- movs r1, 0x1
- mov r8, r1
-_0805EF12:
- mov r0, r8
- cmp r0, 0
- beq _0805EF52
-_0805EF18:
- cmp r7, 0
- bne _0805EF52
- adds r1, r5, 0x4
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_807FE9C
- b _0805EF52
-_0805EF2A:
- adds r0, r4, 0
- bl GetItemData
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0805EF44
- adds r0, r5, 0x4
- movs r1, 0x1
- bl sub_8045DB4
- b _0805EF52
-_0805EF44:
- ldr r0, _0805EF5C
- ldr r0, [r0]
- movs r1, 0xB8
- lsls r1, 3
- adds r0, r1
- movs r1, 0x4
- str r1, [r0]
-_0805EF52:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805EF5C: .4byte gDungeonGlobalData
- thumb_func_end sub_805EE30
-
- thumb_func_start sub_805EF60
-sub_805EF60:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- bl sub_80696A8
- adds r4, r0, 0
- cmp r4, 0
- beq _0805EF9E
- adds r0, r4, 0
- bl GetEntityType
- cmp r0, 0x1
- bne _0805EF9E
- adds r0, r5, 0
- bl sub_8070BC0
- lsls r0, 24
- cmp r0, 0
- beq _0805EF9E
- ldr r1, [r4, 0x70]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _0805EFA2
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0805EFA2
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- beq _0805EFA2
-_0805EF9E:
- movs r0, 0
- b _0805EFAE
-_0805EFA2:
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x13
- bl SetAction
- movs r0, 0x1
-_0805EFAE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_805EF60
-
- thumb_func_start sub_805EFB4
-sub_805EFB4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- bl sub_8083654
- adds r6, r0, 0
- cmp r7, 0
- beq _0805EFE2
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0805EFE2
- adds r0, r6, 0
- adds r0, 0x46
- ldrb r1, [r0]
- adds r1, 0x4
- movs r2, 0x7
- ands r1, r2
- strb r1, [r0]
- b _0805F020
-_0805EFE2:
- adds r0, r6, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0805F020
- movs r0, 0x8
- bl DungeonRandomCapped
- adds r4, r0, 0
- movs r5, 0
-_0805EFF6:
- cmp r7, 0
- bne _0805F008
- mov r0, r8
- adds r1, r4, 0
- bl CanMoveInDirection
- lsls r0, 24
- cmp r0, 0
- beq _0805F014
-_0805F008:
- movs r0, 0x7
- ands r4, r0
- adds r0, r6, 0
- adds r0, 0x46
- strb r4, [r0]
- b _0805F020
-_0805F014:
- adds r4, 0x1
- movs r0, 0x7
- ands r4, r0
- adds r5, 0x1
- cmp r5, 0x7
- ble _0805EFF6
-_0805F020:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_805EFB4
-
- thumb_func_start sub_805F02C
-sub_805F02C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r5, _0805F058
- ldr r0, [r5]
- adds r0, 0xBC
- ldr r7, [r0]
- bl GetLeaderEntity
- mov r9, r0
- ldr r0, [r7, 0x70]
- mov r8, r0
- mov r1, r9
- ldr r4, [r1, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0805F060
- ldr r0, _0805F05C
- b _0805F08E
- .align 2, 0
-_0805F058: .4byte gDungeonGlobalData
-_0805F05C: .4byte gUnknown_80F9BD8
-_0805F060:
- movs r0, 0x2
- bl sub_8047084
- lsls r0, 24
- cmp r0, 0
- bne _0805F076
- bl sub_807EF48
- lsls r0, 24
- cmp r0, 0
- beq _0805F080
-_0805F076:
- ldr r0, _0805F07C
- b _0805F08E
- .align 2, 0
-_0805F07C: .4byte gUnknown_80F9C08
-_0805F080:
- ldr r2, [r5]
- ldr r3, _0805F098
- adds r0, r2, r3
- ldrb r1, [r0]
- cmp r1, 0
- beq _0805F0A0
- ldr r0, _0805F09C
-_0805F08E:
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_805239C
- b _0805F184
- .align 2, 0
-_0805F098: .4byte 0x0000066e
-_0805F09C: .4byte gUnknown_80F9C2C
-_0805F0A0:
- ldr r5, _0805F114
- adds r0, r2, r5
- strb r1, [r0]
- movs r0, 0x1
- mov r2, r8
- strb r0, [r2, 0x7]
- strb r1, [r4, 0x7]
- movs r6, 0
- movs r3, 0x44
- add r3, r8
- mov r10, r3
- adds r5, r4, 0
- adds r5, 0x44
- str r5, [sp]
- adds r2, 0x64
- str r2, [sp, 0x4]
- adds r4, 0x64
- str r4, [sp, 0x8]
- ldr r3, _0805F118
- movs r2, 0x1
-_0805F0C8:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _0805F11C
- adds r0, r1
- ldr r1, [r3]
- adds r4, r1, r0
- movs r5, 0
- ldrb r1, [r4]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0805F12A
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- str r2, [sp, 0xC]
- str r3, [sp, 0x10]
- bl sub_806A538
- lsls r0, 24
- ldr r2, [sp, 0xC]
- ldr r3, [sp, 0x10]
- cmp r0, 0
- bne _0805F102
- movs r5, 0xA
- ldrsh r1, [r4, r5]
- movs r0, 0x58
- muls r1, r0
- ldr r0, [r3]
- adds r5, r0, r1
-_0805F102:
- mov r0, r8
- ldrb r0, [r0, 0xA]
- cmp r6, r0
- bne _0805F120
- strb r2, [r4, 0x2]
- cmp r5, 0
- beq _0805F12A
- strb r2, [r5, 0x2]
- b _0805F12A
- .align 2, 0
-_0805F114: .4byte 0x00000679
-_0805F118: .4byte gRecruitedPokemonRef
-_0805F11C: .4byte 0x00008df8
-_0805F120:
- movs r0, 0
- strb r0, [r4, 0x2]
- cmp r5, 0
- beq _0805F12A
- strb r0, [r5, 0x2]
-_0805F12A:
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805F0C8
- ldr r0, _0805F194
- movs r4, 0
- str r4, [r0]
- mov r1, r10
- ldr r0, [sp]
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- adds r0, r7, 0
- bl sub_803F508
- mov r0, r9
- bl sub_8041AD0
- bl GetLeaderEntity
- bl sub_8041AE0
- ldr r0, _0805F198
- adds r1, r7, 0
- movs r2, 0
- bl SetMessageArgument
- ldr r0, _0805F19C
- ldr r1, [r0]
- adds r0, r7, 0
- bl SendMessage
- movs r0, 0
- bl sub_807EC28
- ldr r0, [sp, 0x4]
- strb r4, [r0]
- ldr r1, [sp, 0x8]
- strb r4, [r1]
- mov r0, r9
- bl sub_806A6E8
- adds r0, r7, 0
- bl sub_806A6E8
-_0805F184:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805F194: .4byte gLeaderPokemon
-_0805F198: .4byte gAvailablePokemonNames
-_0805F19C: .4byte gUnknown_80F9BB0
- thumb_func_end sub_805F02C
-
- thumb_func_start sub_805F1A0
-sub_805F1A0:
- push {lr}
- bl sub_8083654
- adds r0, 0x44
- pop {r1}
- bx r1
- thumb_func_end sub_805F1A0
-
- thumb_func_start sub_805F1AC
-sub_805F1AC:
- push {lr}
- bl sub_8083654
- adds r0, 0x44
- ldrh r0, [r0]
- pop {r1}
- bx r1
- thumb_func_end sub_805F1AC
-
- thumb_func_start ShowFieldMenu
-ShowFieldMenu:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- ldr r0, _0805F208
- ldr r1, [r0]
- movs r0, 0xB8
- lsls r0, 3
- adds r1, r0
- ldr r3, [r1]
- mov r10, r3
- movs r0, 0
- str r0, [sp, 0x10]
- mvns r0, r3
- lsrs r0, 31
- str r0, [sp, 0x14]
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- cmp r3, 0
- blt _0805F1F8
- mov r1, r10
- str r1, [sp, 0x10]
-_0805F1F8:
- cmp r2, 0
- beq _0805F23C
- ldr r0, _0805F20C
- movs r1, 0x80
- lsls r1, 1
- bl sub_800C074
- b _0805F240
- .align 2, 0
-_0805F208: .4byte gDungeonGlobalData
-_0805F20C: .4byte 0x00000137
-_0805F210:
- bl GetLeaderEntity
- movs r1, 0x1
- bl sub_806675C
- b _0805F226
-_0805F21C:
- bl GetLeaderEntity
- movs r1, 0x1
- bl sub_806684C
-_0805F226:
- movs r0, 0x1
- bl sub_8044C10
- movs r0, 0x50
- movs r1, 0x4D
- bl sub_803E708
- movs r0, 0
- bl sub_8052210
- b _0805F92A
-_0805F23C:
- bl sub_8083D44
-_0805F240:
- mov r2, r10
- cmp r2, 0
- bge _0805F2FA
- movs r0, 0x1
- bl sub_8044C10
- ldr r0, _0805F388
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- ldr r0, [sp, 0xC]
- bl DrawFieldMenu
- bl GetLeaderEntity
- movs r1, 0
- bl sub_806A2BC
- ldr r4, _0805F38C
- ldr r5, _0805F390
- adds r6, r4, 0
- adds r6, 0x2A
-_0805F26C:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1D
- bl sub_803E46C
- ldrh r1, [r5, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0805F290
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_0805F290:
- ldrh r1, [r5, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0805F2A8
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_0805F2A8:
- ldrh r1, [r5, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0805F2BC
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805F2D0
-_0805F2BC:
- ldr r0, _0805F394
- movs r3, 0x18
- ldrsh r1, [r4, r3]
- adds r1, 0x1
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x7
- beq _0805F3A8
- bl sub_8083D30
-_0805F2D0:
- ldrh r1, [r5, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0805F2E0
- ldrb r0, [r6]
- cmp r0, 0
- beq _0805F26C
-_0805F2E0:
- bl sub_8083D30
- movs r0, 0x1
- negs r0, r0
-_0805F2E8:
- str r0, [sp, 0x10]
- ldr r0, _0805F38C
- bl AddMenuCursorSprite
- movs r0, 0x1D
- bl sub_803E46C
- movs r1, 0x1
- str r1, [sp, 0xC]
-_0805F2FA:
- ldr r2, [sp, 0x10]
- mov r10, r2
- cmp r2, 0x1
- beq _0805F304
- b _0805F428
-_0805F304:
- movs r0, 0x1
- bl sub_8044C10
- ldr r1, _0805F398
- ldr r0, [sp, 0x4]
- ands r0, r1
- ldr r1, _0805F39C
- ands r0, r1
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- ldr r1, _0805F3A0
- ands r0, r1
- ldr r1, _0805F3A4
- ands r0, r1
- str r0, [sp, 0x4]
- bl GetLeaderEntity
- add r1, sp, 0x4
- bl sub_805FD74
- lsls r0, 24
- cmp r0, 0
- beq _0805F33A
- movs r3, 0x1
- negs r3, r3
- mov r10, r3
-_0805F33A:
- add r0, sp, 0x4
- bl sub_805FD3C
- lsls r0, 24
- cmp r0, 0
- beq _0805F35C
- bl GetLeaderEntity
- add r1, sp, 0x4
- bl sub_805FD74
- lsls r0, 24
- cmp r0, 0
- beq _0805F35C
- movs r0, 0x1
- bl sub_8044C10
-_0805F35C:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC
- bne _0805F3B2
- bl GetLeaderEntity
- movs r1, 0
- movs r2, 0xC
- bl sub_8044D90
- ldrb r2, [r0]
- movs r1, 0x4
- orrs r1, r2
- strb r1, [r0]
- bl sub_805F1A0
- bl sub_8060D24
- b _0805F412
- .align 2, 0
-_0805F388: .4byte gUnknown_202F260
-_0805F38C: .4byte gUnknown_202EE10
-_0805F390: .4byte gRealInputs
-_0805F394: .4byte gUnknown_202749A
-_0805F398: .4byte 0xffffff00
-_0805F39C: .4byte 0xffff00ff
-_0805F3A0: .4byte 0xff00ffff
-_0805F3A4: .4byte 0x00ffffff
-_0805F3A8:
- bl sub_8083D08
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- b _0805F2E8
-_0805F3B2:
- cmp r0, 0x35
- bne _0805F3D0
- bl GetLeaderEntity
- movs r1, 0
- movs r2, 0xD
- bl sub_8044D90
- adds r4, r0, 0
- bl GetLeaderEntity
- adds r1, r4, 0
- bl sub_8048A68
- b _0805F40A
-_0805F3D0:
- cmp r0, 0x10
- bne _0805F3EE
- bl GetLeaderEntity
- movs r1, 0
- movs r2, 0xE
- bl sub_8044D90
- adds r4, r0, 0
- bl GetLeaderEntity
- adds r1, r4, 0
- bl sub_8048950
- b _0805F40A
-_0805F3EE:
- cmp r0, 0x2C
- bne _0805F41A
- bl GetLeaderEntity
- movs r1, 0
- movs r2, 0xF
- bl sub_8044D90
- adds r4, r0, 0
- bl GetLeaderEntity
- adds r1, r4, 0
- bl sub_8048B9C
-_0805F40A:
- lsls r0, 24
- cmp r0, 0
- beq _0805F412
- b _0805F72C
-_0805F412:
- movs r0, 0x1
- bl sub_8044C10
- b _0805F72C
-_0805F41A:
- cmp r0, 0x3C
- bne _0805F420
- b _0805F210
-_0805F420:
- cmp r0, 0x3D
- bne _0805F426
- b _0805F21C
-_0805F426:
- b _0805F72C
-_0805F428:
- ldr r2, [sp, 0x10]
- cmp r2, 0x2
- beq _0805F430
- b _0805F52E
-_0805F430:
- movs r0, 0x1
- bl sub_8044C10
- bl GetLeaderEntity
- bl sub_8060E38
- lsls r0, 24
- cmp r0, 0
- beq _0805F44A
- movs r3, 0x1
- negs r3, r3
- mov r10, r3
-_0805F44A:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1B
- bne _0805F45E
- bl sub_805F1A0
- movs r1, 0
- b _0805F4B2
-_0805F45E:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1C
- bne _0805F474
- bl sub_805F1A0
- bl sub_806752C
- b _0805F4B6
-_0805F474:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x34
- bne _0805F48A
- bl sub_805F1A0
- bl sub_8067768
- b _0805F4B6
-_0805F48A:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1A
- bne _0805F4A0
- bl sub_805F1A0
- bl sub_80615E8
- b _0805F4B6
-_0805F4A0:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x30
- bne _0805F4BE
- bl sub_805F1A0
- movs r1, 0x1
-_0805F4B2:
- bl sub_8061A38
-_0805F4B6:
- movs r0, 0x1
- bl sub_8044C10
- b _0805F72C
-_0805F4BE:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x19
- beq _0805F4CC
- b _0805F72C
-_0805F4CC:
- bl sub_805F1A0
- bl sub_8062D8C
- movs r6, 0
- movs r4, 0
-_0805F4D8:
- ldr r0, _0805F518
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _0805F51C
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _0805F526
- bl sub_805F1A0
- ldrb r0, [r0, 0x4]
- cmp r4, r0
- bne _0805F524
- ldr r0, _0805F520
- str r6, [r0]
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- bne _0805F50C
- b _0805F72C
-_0805F50C:
- adds r0, r5, 0
- movs r1, 0
- bl sub_806A2BC
- b _0805F72C
- .align 2, 0
-_0805F518: .4byte gDungeonGlobalData
-_0805F51C: .4byte 0x0001357c
-_0805F520: .4byte gUnknown_202F260
-_0805F524:
- adds r6, 0x1
-_0805F526:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0805F4D8
- b _0805F72C
-_0805F52E:
- ldr r3, [sp, 0x10]
- cmp r3, 0
- beq _0805F536
- b _0805F73A
-_0805F536:
- movs r7, 0
- movs r0, 0x1
- bl sub_8044C10
- movs r5, 0
- b _0805F544
-_0805F542:
- adds r5, 0x1
-_0805F544:
- cmp r5, 0x3
- bgt _0805F56C
- ldr r0, _0805F600
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0805F604
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _0805F542
- ldr r0, [r4, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0805F542
- adds r7, r5, 0
-_0805F56C:
- movs r0, 0
- bl sub_8044C10
-_0805F572:
- movs r6, 0
- mov r9, r6
- mov r8, r6
- movs r5, 0
-_0805F57A:
- ldr r0, _0805F600
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r3, _0805F604
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_8071A8C
- lsls r0, 24
- cmp r0, 0
- beq _0805F5A0
- cmp r5, r7
- bne _0805F59C
- mov r9, r8
- adds r6, r4, 0
-_0805F59C:
- movs r0, 0x1
- add r8, r0
-_0805F5A0:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0805F57A
- cmp r6, 0
- bne _0805F5B0
- bl GetLeaderEntity
- adds r6, r0, 0
-_0805F5B0:
- adds r0, r6, 0
- movs r1, 0
- bl sub_806A2BC
- adds r0, r6, 0x4
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
- bl sub_8083654
- adds r0, 0x48
- strb r7, [r0]
- movs r0, 0
- bl sub_8044C10
- mov r1, r8
- str r1, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x1
- mov r3, r9
- bl sub_8062F90
- lsls r0, 24
- cmp r0, 0
- beq _0805F5EE
- movs r2, 0x1
- negs r2, r2
- mov r10, r2
-_0805F5EE:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bne _0805F63C
- adds r4, r7, 0
- movs r5, 0
- b _0805F60A
- .align 2, 0
-_0805F600: .4byte gDungeonGlobalData
-_0805F604: .4byte 0x0001357c
-_0805F608:
- adds r5, 0x1
-_0805F60A:
- cmp r5, 0x3
- bgt _0805F676
- adds r7, 0x1
- cmp r7, 0x3
- ble _0805F616
- movs r7, 0
-_0805F616:
- ldr r0, _0805F634
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r3, _0805F638
- adds r0, r3
- adds r0, r1
- ldr r6, [r0]
- adds r0, r6, 0
- bl sub_8071A8C
- lsls r0, 24
- cmp r0, 0
- beq _0805F608
- b _0805F676
- .align 2, 0
-_0805F634: .4byte gDungeonGlobalData
-_0805F638: .4byte 0x0001357c
-_0805F63C:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7
- bne _0805F694
- adds r4, r7, 0
- movs r5, 0
- b _0805F650
-_0805F64E:
- adds r5, 0x1
-_0805F650:
- cmp r5, 0x3
- bgt _0805F676
- subs r7, 0x1
- cmp r7, 0
- bge _0805F65C
- movs r7, 0x3
-_0805F65C:
- ldr r0, _0805F68C
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r2, _0805F690
- adds r0, r2
- adds r0, r1
- ldr r6, [r0]
- adds r0, r6, 0
- bl sub_8071A8C
- lsls r0, 24
- cmp r0, 0
- beq _0805F64E
-_0805F676:
- bl sub_8083654
- adds r0, 0x48
- strb r7, [r0]
- cmp r4, r7
- bne _0805F684
- b _0805F572
-_0805F684:
- movs r0, 0
- bl sub_8083CE0
- b _0805F572
- .align 2, 0
-_0805F68C: .4byte gDungeonGlobalData
-_0805F690: .4byte 0x0001357c
-_0805F694:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bne _0805F6AA
- bl sub_805F1A0
- bl sub_80637E8
- b _0805F56C
-_0805F6AA:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- beq _0805F6C2
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x33
- bne _0805F6CE
-_0805F6C2:
- bl sub_805F1A0
- movs r1, 0
- bl sub_8063A70
- b _0805F56C
-_0805F6CE:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1F
- bne _0805F6E4
- bl sub_805F1A0
- bl sub_8063B54
- b _0805F56C
-_0805F6E4:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x20
- bne _0805F6FA
- bl sub_805F1A0
- bl sub_8063BB4
- b _0805F56C
-_0805F6FA:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x21
- bne _0805F712
- bl sub_805F1A0
- movs r1, 0
- bl sub_8063CF0
- b _0805F56C
-_0805F712:
- bl GetLeaderEntity
- movs r1, 0
- bl sub_806A2BC
- bl GetLeaderEntity
- adds r0, 0x4
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
-_0805F72C:
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- beq _0805F738
- b _0805F92A
-_0805F738:
- b _0805F904
-_0805F73A:
- ldr r3, [sp, 0x10]
- cmp r3, 0x4
- beq _0805F742
- b _0805F8E0
-_0805F742:
- bl GetLeaderEntity
- movs r1, 0x4
- ldrsh r2, [r0, r1]
- movs r3, 0x6
- ldrsh r1, [r0, r3]
- adds r0, r2, 0
- bl GetMapTile_1
- ldr r4, [r0, 0x14]
- cmp r4, 0
- bne _0805F75C
- b _0805F88C
-_0805F75C:
- adds r0, r4, 0
- bl GetEntityType
- cmp r0, 0x3
- beq _0805F768
- b _0805F872
-_0805F768:
- movs r0, 0x1
- bl sub_8044C10
- ldr r1, _0805F7F0
- ldr r0, [sp, 0x8]
- ands r0, r1
- ldr r1, _0805F7F4
- ands r0, r1
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- ldr r1, _0805F7F8
- ands r0, r1
- movs r1, 0x80
- lsls r1, 9
- orrs r0, r1
- ldr r1, _0805F7FC
- ands r0, r1
- adds r1, 0x1
- orrs r0, r1
- str r0, [sp, 0x8]
- bl GetLeaderEntity
- add r4, sp, 0x8
- adds r1, r4, 0
- bl sub_805FD74
- lsls r0, 24
- adds r0, r4, 0
- bl sub_805FD3C
- lsls r0, 24
- cmp r0, 0
- beq _0805F7C2
- bl GetLeaderEntity
- adds r1, r4, 0
- bl sub_805FD74
- lsls r0, 24
- cmp r0, 0
- beq _0805F7C2
- movs r0, 0x1
- bl sub_8044C10
-_0805F7C2:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, 0xC
- bne _0805F800
- bl GetLeaderEntity
- movs r1, 0
- movs r2, 0x10
- bl sub_8044D90
- ldrb r2, [r0]
- movs r1, 0x4
- orrs r1, r2
- strb r1, [r0]
- bl sub_805F1A0
- bl sub_8060D24
- b _0805F840
- .align 2, 0
-_0805F7F0: .4byte 0xffffff00
-_0805F7F4: .4byte 0xffff00ff
-_0805F7F8: .4byte 0xff00ffff
-_0805F7FC: .4byte 0x00ffffff
-_0805F800:
- cmp r0, 0x35
- bne _0805F81E
- bl GetLeaderEntity
- movs r1, 0
- movs r2, 0x11
- bl sub_8044D90
- adds r4, r0, 0
- bl GetLeaderEntity
- adds r1, r4, 0
- bl sub_8048A68
- b _0805F83A
-_0805F81E:
- cmp r0, 0x10
- bne _0805F848
- bl GetLeaderEntity
- movs r1, 0
- movs r2, 0x12
- bl sub_8044D90
- adds r4, r0, 0
- bl GetLeaderEntity
- adds r1, r4, 0
- bl sub_8048950
-_0805F83A:
- lsls r0, 24
- cmp r0, 0
- bne _0805F8A8
-_0805F840:
- movs r0, 0x1
- bl sub_8044C10
- b _0805F8A8
-_0805F848:
- cmp r1, 0x2C
- bne _0805F8A8
- bl GetLeaderEntity
- movs r1, 0
- movs r2, 0x13
- bl sub_8044D90
- adds r4, r0, 0
- bl GetLeaderEntity
- adds r1, r4, 0
- bl sub_8048B9C
- lsls r0, 24
- cmp r0, 0
- bne _0805F8A8
- movs r0, 0x1
- bl sub_8044C10
- b _0805F8A8
-_0805F872:
- adds r0, r4, 0
- bl GetEntityType
- cmp r0, 0x2
- bne _0805F8CE
- movs r0, 0x1
- bl sub_8044C10
- bl GetLeaderEntity
- bl sub_80643AC
- b _0805F8A8
-_0805F88C:
- ldrh r0, [r0]
- movs r2, 0x80
- lsls r2, 2
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0805F8B4
- movs r0, 0x1
- bl sub_8044C10
- bl GetLeaderEntity
- bl sub_80647F0
-_0805F8A8:
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- bne _0805F92A
- b _0805F8CE
-_0805F8B4:
- bl GetLeaderEntity
- adds r1, r0, 0
- ldr r0, _0805F8D8
- movs r2, 0
- bl SetMessageArgument
- ldr r0, _0805F8DC
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_0805F8CE:
- movs r3, 0x1
- negs r3, r3
- mov r10, r3
- b _0805F904
- .align 2, 0
-_0805F8D8: .4byte gAvailablePokemonNames
-_0805F8DC: .4byte gUnknown_80FDE18
-_0805F8E0:
- ldr r0, [sp, 0x10]
- cmp r0, 0x3
- bne _0805F904
- bl sub_8064BE0
- ldr r0, _0805F91C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _0805F92A
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- bne _0805F92A
- movs r1, 0x1
- negs r1, r1
- mov r10, r1
-_0805F904:
- ldr r2, [sp, 0x10]
- cmp r2, 0
- blt _0805F92A
- ldr r3, [sp, 0x14]
- cmp r3, 0
- bne _0805F920
- bl ResetRepeatTimers
- bl ResetUnusedInputStruct
- b _0805F240
- .align 2, 0
-_0805F91C: .4byte gDungeonGlobalData
-_0805F920:
- bl GetLeaderEntity
- movs r1, 0
- bl sub_806A2BC
-_0805F92A:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- bl ResetRepeatTimers
- bl ResetUnusedInputStruct
- 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 ShowFieldMenu
-
- thumb_func_start DrawFieldMenu
-DrawFieldMenu:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _0805F994
- movs r0, 0
- strh r0, [r4, 0x18]
- movs r1, 0x5
- strh r1, [r4, 0x1A]
- strh r1, [r4, 0x1C]
- strh r0, [r4, 0x1E]
- strh r0, [r4, 0x4]
- movs r1, 0x2
- strh r1, [r4, 0x6]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- str r0, [r4]
- strh r0, [r4, 0x14]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- adds r0, r4, 0
- movs r1, 0x38
- bl sub_80137B0
- cmp r5, 0
- beq _0805F998
- movs r0, 0x7
- movs r1, 0
- bl sub_803EAF0
- b _0805F9A0
- .align 2, 0
-_0805F994: .4byte gUnknown_202EE10
-_0805F998:
- movs r0, 0x6
- movs r1, 0
- bl sub_803EAF0
-_0805F9A0:
- movs r0, 0
- bl sub_80073B8
- bl GetLeaderEntity
- movs r1, 0x1
- bl ShouldAvoidEnemiesAndShowEffect
- lsls r0, 24
- cmp r0, 0
- beq _0805F9CC
- ldr r0, _0805F9C8
- movs r2, 0x2
- strb r2, [r0, 0x1]
- strb r2, [r0, 0x2]
- strb r2, [r0, 0x3]
- movs r1, 0x7
- strb r1, [r0, 0x4]
- strb r2, [r0, 0x5]
- b _0805F9DA
- .align 2, 0
-_0805F9C8: .4byte gUnknown_202749A
-_0805F9CC:
- ldr r1, _0805FBA0
- movs r0, 0x7
- strb r0, [r1, 0x1]
- strb r0, [r1, 0x2]
- strb r0, [r1, 0x3]
- strb r0, [r1, 0x4]
- strb r0, [r1, 0x5]
-_0805F9DA:
- ldr r4, _0805FBA4
- adds r0, r4, 0
- movs r1, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _0805FBA8
- ldr r2, [r0]
- movs r6, 0
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_call_draw_string
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _0805FBAC
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_call_draw_string
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _0805FBB0
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_call_draw_string
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _0805FBB4
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_call_draw_string
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _0805FBB8
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_call_draw_string
- movs r0, 0
- bl sub_80073E0
- cmp r5, 0
- bne _0805FA62
- b _0805FB92
-_0805FA62:
- bl GetLeaderEntity
- ldr r7, [r0, 0x70]
- bl sub_805317C
- adds r5, r0, 0
- bl sub_8008ED0
- movs r4, 0x88
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r4, 1
- movs r0, 0x1
- bl sub_80073B8
- str r6, [sp]
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r5, 0
- movs r3, 0x1
- bl xxx_call_draw_string
- movs r0, 0x1
- bl sub_80073E0
- movs r0, 0x2
- bl sub_80073B8
- ldr r0, _0805FBBC
- ldr r0, [r0]
- add r2, sp, 0x8
- add r3, sp, 0xC
- add r1, sp, 0x4
- bl DeconstructPlayTime
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r7, r1
- ldr r0, [r0]
- bl RoundUpFixedPoint
- ldr r4, _0805FBC0
- str r0, [r4]
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r7, r2
- ldr r0, [r0]
- bl RoundUpFixedPoint
- str r0, [r4, 0x4]
- ldr r0, _0805FBC4
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x73
- movs r1, 0
- movs r3, 0x2
- bl xxx_format_and_draw
- ldr r0, _0805FBC8
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r4]
- ldr r0, _0805FBCC
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x73
- movs r1, 0xC
- movs r3, 0x2
- bl xxx_format_and_draw
- ldr r5, _0805FBD0
- movs r0, 0
- bl GetWeather
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl GetWeatherName
- ldr r0, _0805FBD4
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x73
- movs r1, 0x18
- movs r3, 0x2
- bl xxx_format_and_draw
- ldr r0, [sp, 0x4]
- str r0, [r4]
- ldr r0, [sp, 0x8]
- str r0, [r4, 0x4]
- ldr r0, [sp, 0xC]
- str r0, [r4, 0x8]
- ldr r0, _0805FBD8
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x73
- movs r1, 0x24
- movs r3, 0x2
- bl xxx_format_and_draw
- movs r7, 0
- mov r8, r4
-_0805FB3A:
- ldr r0, _0805FBDC
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0805FBE0
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _0805FB86
- ldr r4, [r5, 0x70]
- ldr r0, _0805FBD0
- adds r1, r5, 0
- movs r2, 0
- bl SetMessageArgument
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- mov r2, r8
- str r0, [r2]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- str r0, [r2, 0x4]
- ldr r0, _0805FBE4
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r7, 0
- movs r3, 0x2
- bl xxx_format_and_draw
- adds r7, 0xC
- cmp r7, 0x2F
- bgt _0805FB8C
-_0805FB86:
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805FB3A
-_0805FB8C:
- movs r0, 0x2
- bl sub_80073E0
-_0805FB92:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805FBA0: .4byte gUnknown_202749A
-_0805FBA4: .4byte gUnknown_202EE10
-_0805FBA8: .4byte gFieldMenuMovesPtr
-_0805FBAC: .4byte gFieldMenuItemsPtr
-_0805FBB0: .4byte gFieldMenuTeamPtr
-_0805FBB4: .4byte gFieldMenuOthersPtr
-_0805FBB8: .4byte gFieldMenuGroundPtr
-_0805FBBC: .4byte gPlayTimeRef
-_0805FBC0: .4byte gUnknown_202DE30
-_0805FBC4: .4byte gUnknown_80F9174
-_0805FBC8: .4byte gTeamInventory_203B460
-_0805FBCC: .4byte gUnknown_80F9190
-_0805FBD0: .4byte gAvailablePokemonNames
-_0805FBD4: .4byte gUnknown_80F91A8
-_0805FBD8: .4byte gUnknown_80F91C8
-_0805FBDC: .4byte gDungeonGlobalData
-_0805FBE0: .4byte 0x0001357c
-_0805FBE4: .4byte gUnknown_80F91E0
- thumb_func_end DrawFieldMenu
-
- thumb_func_start sub_805FBE8
-sub_805FBE8:
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x8
- adds r1, r5, 0
- bl sub_803EAF0
-_0805FBF4:
- movs r0, 0xE
- bl sub_803E46C
- bl xxx_draw_string_80144C4
- bl sub_8016080
- adds r4, r0, 0
- cmp r4, 0
- beq _0805FBF4
- bl sub_80160D8
- movs r0, 0xE
- bl sub_803E46C
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- cmp r4, 0x3
- bne _0805FC28
- ldrb r0, [r5]
- cmp r0, 0
- beq _0805FC28
- movs r0, 0x1
- b _0805FC2A
-_0805FC28:
- movs r0, 0
-_0805FC2A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_805FBE8
-
- thumb_func_start sub_805FC30
-sub_805FC30:
- push {r4-r6,lr}
- sub sp, 0x78
- adds r4, r0, 0
- adds r6, r1, 0
- add r5, sp, 0x4
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r3, 0x3
- str r3, [sp, 0x8]
- str r3, [sp, 0x20]
- movs r2, 0
- movs r0, 0x16
- strh r0, [r5, 0x20]
- movs r1, 0x4
- strh r1, [r5, 0x22]
- movs r0, 0x6
- strh r0, [r5, 0x24]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x28]
- str r3, [sp, 0x38]
- str r3, [sp, 0x50]
- add r0, sp, 0x4
- ldm r4!, {r1,r3,r5}
- stm r0!, {r1,r3,r5}
- ldm r4!, {r1,r3,r5}
- stm r0!, {r1,r3,r5}
- add r1, sp, 0x4
- movs r0, 0x80
- strb r0, [r1]
- ldr r4, _0805FD30
- strh r2, [r4, 0x18]
- ldr r5, _0805FD34
- ldr r0, [r5]
- strh r0, [r4, 0x1C]
- strh r0, [r4, 0x1A]
- strh r2, [r4, 0x1E]
- strh r2, [r4, 0x20]
- strh r2, [r4, 0x4]
- strh r2, [r4, 0x6]
- movs r0, 0x1
- str r0, [r4]
- strh r2, [r4, 0xC]
- strh r2, [r4, 0xE]
- ldr r0, [r4, 0x8]
- str r0, [r4, 0x14]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- add r0, sp, 0x4
- strh r6, [r0, 0x20]
- adds r1, r0, 0
- movs r0, 0x1C
- subs r0, r6
- strh r0, [r1, 0x24]
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- movs r1, 0
- bl sub_80095E4
- add r2, sp, 0x4
- adds r1, r2, 0
- strh r0, [r1, 0x28]
- strh r0, [r2, 0x26]
- adds r0, r1, 0
- movs r1, 0
- bl sub_803ECB4
- add r0, sp, 0x4
- movs r2, 0x26
- ldrsh r1, [r0, r2]
- lsls r1, 3
- adds r0, r4, 0
- bl sub_80137B0
- movs r0, 0x1
- bl sub_80073B8
- movs r6, 0
- ldr r0, [r5]
- cmp r6, r0
- bge _0805FD20
- add r5, sp, 0x64
-_0805FCDC:
- adds r0, r6, 0
- bl sub_8044F3C
- lsls r0, 24
- movs r4, 0x2
- cmp r0, 0
- beq _0805FCEC
- movs r4, 0x7
-_0805FCEC:
- adds r0, r6, 0
- bl sub_8044EC8
- adds r3, r0, 0
- adds r0, r5, 0
- ldr r1, _0805FD38
- adds r2, r4, 0
- bl ExpandPlaceholdersBuffer
- ldr r0, _0805FD30
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- adds r2, r5, 0
- movs r3, 0x1
- bl xxx_call_draw_string
- adds r6, 0x1
- ldr r0, _0805FD34
- ldr r0, [r0]
- cmp r6, r0
- blt _0805FCDC
-_0805FD20:
- movs r0, 0x1
- bl sub_80073E0
- add sp, 0x78
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0805FD30: .4byte gUnknown_202EE10
-_0805FD34: .4byte gUnknown_202EE6C
-_0805FD38: .4byte gUnknown_8106B50
- thumb_func_end sub_805FC30
-
- thumb_func_start sub_805FD3C
-sub_805FD3C:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- adds r2, r0, 0
- movs r1, 0
- strb r1, [r4]
- strb r1, [r4, 0x1]
- strb r1, [r4, 0x2]
- strb r1, [r4, 0x3]
- cmp r2, 0xA
- bne _0805FD5E
- movs r0, 0x1
- strb r0, [r4]
- strb r0, [r4, 0x3]
-_0805FD5E:
- cmp r2, 0x3E
- bne _0805FD6A
- movs r0, 0x1
- strb r0, [r4]
- strb r1, [r4, 0x1]
- strb r0, [r4, 0x3]
-_0805FD6A:
- ldrb r0, [r4]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805FD3C
-
- thumb_func_start sub_805FD74
-sub_805FD74:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xE4
- mov r10, r0
- adds r7, r1, 0
- movs r0, 0
- mov r9, r0
- movs r1, 0x1
- str r1, [sp, 0xD0]
- movs r2, 0
- str r2, [sp, 0xD4]
- movs r5, 0
- str r5, [sp, 0xD8]
- str r0, [sp, 0xDC]
- mov r1, r10
- ldr r1, [r1, 0x70]
- str r1, [sp, 0xE0]
- add r4, sp, 0x68
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x6C]
- add r0, sp, 0x70
- movs r6, 0
- movs r1, 0x2
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r1, sp, 0x74
- movs r0, 0x12
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x76
- movs r1, 0x10
- strh r1, [r0]
- add r0, sp, 0x78
- strh r1, [r0]
- add r5, sp, 0xC8
- str r5, [sp, 0x7C]
- movs r1, 0x3
- str r1, [sp, 0x84]
- add r0, sp, 0x98
- str r1, [r0, 0x4]
- add r0, sp, 0xB0
- str r1, [r0, 0x4]
- add r0, sp, 0x8
- adds r1, r4, 0
- movs r2, 0x60
- bl memcpy
- ldr r0, _0805FE40
- strb r6, [r0]
- mov r2, r9
- strh r2, [r0, 0x4]
- strh r2, [r0, 0x6]
- cmp r7, 0
- beq _0805FE18
- ldrb r1, [r7]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- str r0, [sp, 0xD8]
- ldrb r1, [r7, 0x1]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- str r0, [sp, 0xD0]
- ldrb r1, [r7, 0x2]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- str r0, [sp, 0xD4]
- ldrb r1, [r7, 0x3]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- str r0, [sp, 0xDC]
-_0805FE18:
- ldr r0, _0805FE44
- mov r5, r10
- str r5, [sp]
- ldr r1, [sp, 0xD4]
- ldr r2, [sp, 0xD0]
- ldr r3, [sp, 0xDC]
- bl sub_8060D64
- ldr r1, _0805FE48
- str r0, [r1]
- cmp r0, 0
- bne _0805FEA6
- ldr r0, _0805FE4C
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- movs r0, 0x1
- b _080603BE
- .align 2, 0
-_0805FE40: .4byte gUnknown_202F238
-_0805FE44: .4byte gUnknown_202F248
-_0805FE48: .4byte gUnknown_202F258
-_0805FE4C: .4byte gUnknown_80F8B24
-_0805FE50:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0x1
- mov r9, r0
- b _0806039C
-_0805FE5E:
- ldr r0, [sp, 0xE0]
- adds r0, 0x44
- movs r1, 0xC
- bl SetAction
- ldr r0, _0805FE78
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- ldr r2, [sp, 0xE0]
- str r0, [r2, 0x48]
- str r1, [r2, 0x4C]
- b _0805FE88
- .align 2, 0
-_0805FE78: .4byte gUnknown_202F238
-_0805FE7C:
- ldr r0, _0805FE98
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- ldr r2, [sp, 0xE0]
- str r0, [r2, 0x50]
- str r1, [r2, 0x54]
-_0805FE88:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r5, 0
- mov r9, r5
- b _0806039C
- .align 2, 0
-_0805FE98: .4byte gUnknown_202F238
-_0805FE9C:
- ldr r1, [r1]
- ldr r0, [sp, 0xE0]
- adds r0, 0x50
- strb r1, [r0]
- b _0806033C
-_0805FEA6:
- movs r1, 0
- mov r8, r1
- ldr r0, _0805FFA8
- mov r2, r9
- str r2, [r0]
-_0805FEB0:
- movs r5, 0
- mov r9, r5
- movs r4, 0
- ldr r6, _0805FFAC
-_0805FEB8:
- lsls r1, r4, 2
- ldr r0, [r6]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805FEEC
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805FEEC
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- mov r8, r0
- adds r0, r4, 0
- movs r1, 0xA
- bl __modsi3
- ldr r1, _0805FFA8
- str r0, [r1]
-_0805FEEC:
- adds r4, 0x1
- cmp r4, 0x13
- ble _0805FEB8
- movs r6, 0
-_0805FEF4:
- ldr r0, _0805FFB0
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0805FFB4
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl EntityExists
- lsls r0, 24
- adds r5, r6, 0x1
- mov r12, r5
- cmp r0, 0
- beq _0805FF66
- ldr r0, [r4, 0x70]
- adds r2, r0, 0
- adds r2, 0x60
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805FF66
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805FF66
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r2]
- movs r4, 0
- ldr r0, _0805FFB8
- ldr r1, [r0]
- adds r5, r0, 0
- ldr r7, _0805FFA8
- cmp r4, r1
- bge _0805FF62
- ldr r0, _0805FFBC
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r3, r0, 0
- adds r2, r6, 0x4
- cmp r1, r2
- beq _0805FF60
-_0805FF4C:
- adds r4, 0x1
- ldr r0, [r5]
- cmp r4, r0
- bge _0805FF62
- lsls r0, r4, 1
- adds r0, r3
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, r2
- bne _0805FF4C
-_0805FF60:
- mov r8, r4
-_0805FF62:
- movs r0, 0
- str r0, [r7]
-_0805FF66:
- mov r6, r12
- cmp r6, 0x3
- ble _0805FEF4
- add r2, sp, 0x8
- str r2, [sp]
- add r5, sp, 0xC8
- str r5, [sp, 0x4]
- mov r0, r8
- mov r1, r10
- ldr r2, [sp, 0xD8]
- ldr r3, [sp, 0xD4]
- bl CreateFieldItemMenu
- ldr r1, _0805FFBC
- ldr r0, _0805FFC0
- movs r2, 0x1E
- ldrsh r0, [r0, r2]
- lsls r0, 1
- adds r0, r1
- movs r5, 0
- ldrsh r2, [r0, r5]
- cmp r2, 0x3
- ble _0805FFE6
- ldr r0, _0805FFB0
- ldr r1, [r0]
- subs r0, r2, 0x4
- lsls r0, 2
- ldr r2, _0805FFB4
- adds r1, r2
- adds r1, r0
- ldr r4, [r1]
- b _0805FFE8
- .align 2, 0
-_0805FFA8: .4byte gUnknown_202F240
-_0805FFAC: .4byte gTeamInventory_203B460
-_0805FFB0: .4byte gDungeonGlobalData
-_0805FFB4: .4byte 0x0001357c
-_0805FFB8: .4byte gUnknown_202F258
-_0805FFBC: .4byte gUnknown_202F248
-_0805FFC0: .4byte gUnknown_202EE10
-_0805FFC4:
- bl sub_8083D44
- mov r0, r10
- adds r0, 0x4
- bl sub_8060890
- movs r5, 0x3
- mov r9, r5
- b _08060200
-_0805FFD6:
- bl sub_8083D08
- ldr r0, [sp, 0xE0]
- adds r0, 0x44
- bl sub_8060CE8
- movs r0, 0
- b _080602F0
-_0805FFE6:
- mov r4, r10
-_0805FFE8:
- adds r0, r4, 0
- movs r1, 0
- bl sub_806A2BC
- adds r0, r4, 0x4
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
- ldr r6, _08060050
- adds r7, r6, 0
- adds r7, 0x2B
-_08060002:
- adds r0, r6, 0
- bl AddMenuCursorSprite
- movs r0, 0x14
- bl sub_803E46C
- ldr r1, [sp, 0xD4]
- cmp r1, 0
- beq _08060016
- b _080601F4
-_08060016:
- ldr r4, _08060054
- ldr r0, [r4]
- cmp r0, 0x1
- ble _0806008C
- ldr r0, _08060058
- ldrh r1, [r0, 0x2]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08060034
- adds r0, r6, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806005C
-_08060034:
- movs r0, 0
- bl sub_8083CE0
- movs r2, 0x1
- negs r2, r2
- add r8, r2
- mov r5, r8
- cmp r5, 0
- bge _0806007E
- ldr r0, [r4]
- subs r0, 0x1
- mov r8, r0
- b _0806007E
- .align 2, 0
-_08060050: .4byte gUnknown_202EE10
-_08060054: .4byte gUnknown_202F258
-_08060058: .4byte gRealInputs
-_0806005C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0806006A
- ldrb r0, [r7]
- cmp r0, 0
- beq _0806008C
-_0806006A:
- movs r0, 0
- bl sub_8083CE0
- movs r2, 0x1
- add r8, r2
- ldr r0, [r4]
- cmp r8, r0
- bne _0806007E
- movs r5, 0
- mov r8, r5
-_0806007E:
- ldr r0, [sp, 0xD4]
- ldr r1, _08060088
- str r0, [r1]
- b _08060200
- .align 2, 0
-_08060088: .4byte gUnknown_202F240
-_0806008C:
- ldr r0, _08060134
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080600B2
- mov r0, r8
- bl sub_8060860
- lsls r0, 24
- cmp r0, 0
- beq _080600B2
- movs r0, 0x1
- bl sub_8083CE0
- ldr r0, _08060138
- movs r1, 0x1
- bl sub_80136E0
-_080600B2:
- ldr r0, _08060134
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080600D8
- mov r0, r8
- bl sub_8060860
- lsls r0, 24
- cmp r0, 0
- beq _080600D8
- movs r0, 0x1
- bl sub_8083CE0
- ldr r0, _08060138
- movs r1, 0x1
- bl sub_8013744
-_080600D8:
- ldr r0, _08060134
- ldrh r2, [r0, 0x2]
- movs r1, 0x4
- ands r1, r2
- adds r2, r0, 0
- cmp r1, 0
- beq _080601A0
- ldr r4, _0806013C
- mov r5, r8
- lsls r0, r5, 1
- adds r0, r4
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bgt _080601A0
- movs r7, 0x1
- movs r0, 0x99
- lsls r0, 1
- bl PlaySoundEffect
- bl sub_8047158
- bl ConvertMoneyItemToMoney
- movs r0, 0
- ldr r2, _08060140
- str r0, [r2]
- mov r5, r10
- str r5, [sp]
- add r0, sp, 0x68
- ldr r1, [sp, 0xD4]
- ldr r2, [sp, 0xD0]
- ldr r3, [sp, 0xDC]
- bl sub_8060D64
- adds r3, r0, 0
- ldr r0, _08060144
- ldr r0, [r0]
- cmp r0, r3
- bne _08060164
- movs r6, 0
- cmp r6, r3
- bge _0806015E
- add r2, sp, 0x68
- b _08060152
- .align 2, 0
-_08060134: .4byte gRealInputs
-_08060138: .4byte gUnknown_202EE10
-_0806013C: .4byte gUnknown_202F248
-_08060140: .4byte gUnknown_202F240
-_08060144: .4byte gUnknown_202F258
-_08060148:
- adds r4, 0x2
- adds r2, 0x2
- adds r6, 0x1
- cmp r6, r3
- bge _0806015E
-_08060152:
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r5, 0
- ldrsh r0, [r4, r5]
- cmp r1, r0
- beq _08060148
-_0806015E:
- cmp r6, r3
- bne _08060164
- movs r7, 0
-_08060164:
- cmp r7, 0
- beq _08060200
- movs r0, 0
- mov r8, r0
- ldr r1, _08060194
- str r0, [r1]
- ldr r0, _08060198
- str r3, [r0]
- movs r6, 0
- adds r5, r0, 0
- cmp r6, r3
- bge _08060200
- adds r3, r5, 0
- add r1, sp, 0x68
- ldr r2, _0806019C
-_08060182:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- adds r6, 0x1
- ldr r0, [r3]
- cmp r6, r0
- blt _08060182
- b _08060200
- .align 2, 0
-_08060194: .4byte gUnknown_202F240
-_08060198: .4byte gUnknown_202F258
-_0806019C: .4byte gUnknown_202F248
-_080601A0:
- ldrh r1, [r2, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080601B6
- ldr r2, _080601C8
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _080601CC
-_080601B6:
- bl sub_8083D08
- mov r0, r10
- adds r0, 0x4
- bl sub_8060890
- movs r2, 0x1
- mov r9, r2
- b _08060200
- .align 2, 0
-_080601C8: .4byte gUnknown_202EE10
-_080601CC:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080601D6
- b _0805FFC4
-_080601D6:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080601EA
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080601EA
- b _08060002
-_080601EA:
- bl sub_8083D30
- movs r5, 0x2
- mov r9, r5
- b _08060200
-_080601F4:
- mov r0, r10
- adds r0, 0x4
- bl sub_8060890
- movs r0, 0x1
- mov r9, r0
-_08060200:
- ldr r4, _0806034C
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x14
- bl sub_803E46C
- ldr r1, _08060350
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, 0x1
- bgt _08060232
- ldr r0, _08060354
- ldr r0, [r0]
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08060232
- movs r0, 0x2
- mov r9, r0
-_08060232:
- mov r1, r9
- cmp r1, 0x2
- bne _0806023A
- b _0805FE50
-_0806023A:
- cmp r1, 0
- bne _08060240
- b _0805FEB0
-_08060240:
- cmp r1, 0x3
- bne _08060246
- b _0805FE5E
-_08060246:
- ldr r4, _0806034C
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- ldr r5, _08060358
- str r0, [r5]
- ldr r0, [sp, 0xD8]
- cmp r0, 0
- beq _08060258
- b _0805FE7C
-_08060258:
- mov r0, r10
- bl sub_8060900
- movs r2, 0x1E
- ldrsh r1, [r4, r2]
- add r0, sp, 0xC8
- bl sub_8060800
- add r0, sp, 0x8
- movs r1, 0x16
- bl sub_805FC30
- ldr r6, _0806035C
- adds r7, r4, 0
- adds r7, 0x2A
-_08060276:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x14
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0806029A
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_0806029A:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080602B2
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_080602B2:
- ldrh r1, [r6, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080602C6
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _080602DA
-_080602C6:
- movs r5, 0x18
- ldrsh r0, [r4, r5]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- beq _080602D6
- b _0805FFD6
-_080602D6:
- bl sub_8083D30
-_080602DA:
- ldrh r1, [r6, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080602EA
- ldrb r0, [r7]
- cmp r0, 0
- beq _08060276
-_080602EA:
- bl sub_8083D30
- movs r0, 0x1
-_080602F0:
- mov r9, r0
- ldr r0, _0806034C
- bl AddMenuCursorSprite
- movs r0, 0x14
- bl sub_803E46C
- ldr r0, _08060360
- ldr r0, [r0]
- ldr r1, _08060364
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- mov r2, r9
- cmp r2, 0x1
- bne _08060318
- ldr r5, [sp, 0xD4]
- cmp r5, 0
- bne _08060318
- b _0805FEB0
-_08060318:
- ldr r0, [sp, 0xE0]
- adds r0, 0x44
- ldrh r1, [r0]
- adds r0, r1, 0
- subs r0, 0x37
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _08060330
- adds r0, r1, 0
- cmp r0, 0x3E
- bne _0806036C
-_08060330:
- ldr r0, _08060368
- ldrb r0, [r0]
- subs r0, 0x90
- ldr r1, [sp, 0xE0]
- adds r1, 0x48
- strb r0, [r1]
-_0806033C:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0
- mov r9, r0
- b _0806039C
- .align 2, 0
-_0806034C: .4byte gUnknown_202EE10
-_08060350: .4byte gUnknown_202F248
-_08060354: .4byte gTeamInventory_203B460
-_08060358: .4byte gUnknown_202F240
-_0806035C: .4byte gRealInputs
-_08060360: .4byte gDungeonGlobalData
-_08060364: .4byte 0x00018212
-_08060368: .4byte gUnknown_202F238
-_0806036C:
- cmp r0, 0x36
- bne _08060390
- add r0, sp, 0xCC
- movs r1, 0x2
- bl DrawFieldGiveItemMenu
- add r1, sp, 0xCC
- cmp r0, 0
- beq _08060380
- b _0805FE9C
-_08060380:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0x1
- bl sub_8044C10
- b _0805FEB0
-_08060390:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r1, 0
- mov r9, r1
-_0806039C:
- ldr r0, _080603D0
- ldr r0, [r0]
- ldr r2, _080603D4
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x2
- movs r1, 0x61
- bl sub_803E708
- bl sub_804AA60
- movs r0, 0x2
- movs r1, 0x61
- bl sub_803E708
- mov r0, r9
-_080603BE:
- add sp, 0xE4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080603D0: .4byte gDungeonGlobalData
-_080603D4: .4byte 0x00018212
- thumb_func_end sub_805FD74
-
- thumb_func_start CreateFieldItemMenu
-CreateFieldItemMenu:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x78
- adds r7, r0, 0
- mov r9, r1
- ldr r6, [sp, 0x98]
- ldr r0, [sp, 0x9C]
- mov r8, r0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x6C]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x70]
- add r1, sp, 0x4
- ldr r0, _08060478
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- mov r0, r9
- ldr r0, [r0, 0x70]
- str r0, [sp, 0x74]
- mov r0, r8
- adds r1, r7, 0
- bl sub_8060800
- mov r10, r0
- ldr r5, _0806047C
- ldr r0, _08060480
- ldr r0, [r0]
- movs r4, 0
- movs r1, 0
- strh r0, [r5, 0x18]
- strh r1, [r5, 0x1A]
- strh r7, [r5, 0x1E]
- ldr r0, _08060484
- ldr r0, [r0]
- strh r0, [r5, 0x20]
- strh r1, [r5, 0x4]
- str r1, [r5]
- strh r1, [r5, 0x14]
- adds r0, r5, 0
- adds r0, 0x28
- bl sub_801317C
- ldr r3, _08060488
- ldr r0, [r3]
- ldr r2, _0806048C
- adds r0, r2
- strb r4, [r0]
- ldr r1, _08060490
- lsls r0, r7, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x2
- beq _08060494
- cmp r0, 0x2
- bgt _080604AA
- cmp r0, 0
- blt _080604AA
- movs r1, 0x10
- strh r1, [r6, 0x10]
- strh r1, [r6, 0xE]
- movs r0, 0xC
- mov r4, r8
- strb r0, [r4, 0x2]
- strh r1, [r5, 0x6]
- movs r0, 0xA
- strh r0, [r5, 0x1C]
- ldr r0, [r3]
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _080604C0
- .align 2, 0
-_08060478: .4byte gUnknown_8106B6C
-_0806047C: .4byte gUnknown_202EE10
-_08060480: .4byte gUnknown_202F240
-_08060484: .4byte gUnknown_202F258
-_08060488: .4byte gDungeonGlobalData
-_0806048C: .4byte 0x00018212
-_08060490: .4byte gUnknown_202F248
-_08060494:
- movs r0, 0x4
- strh r0, [r6, 0x10]
- strh r0, [r6, 0xE]
- movs r0, 0x6
- mov r1, r8
- strb r0, [r1, 0x2]
- movs r0, 0x12
- strh r0, [r5, 0x6]
- movs r0, 0x1
- strh r0, [r5, 0x1C]
- b _080604C0
-_080604AA:
- movs r0, 0x4
- strh r0, [r6, 0x10]
- strh r0, [r6, 0xE]
- movs r0, 0xC
- mov r2, r8
- strb r0, [r2, 0x2]
- ldr r1, _080604DC
- movs r0, 0x12
- strh r0, [r1, 0x6]
- movs r0, 0x1
- strh r0, [r1, 0x1C]
-_080604C0:
- ldr r3, [sp, 0x6C]
- cmp r3, 0
- beq _080604E0
- ldr r1, _080604DC
- ldrh r0, [r1, 0xC]
- adds r0, 0x40
- strh r0, [r1, 0xC]
- movs r0, 0xA
- strh r0, [r6, 0x8]
- adds r1, r6, 0
- adds r1, 0x18
- add r0, sp, 0x4
- b _080604EC
- .align 2, 0
-_080604DC: .4byte gUnknown_202EE10
-_080604E0:
- movs r0, 0x2
- strh r0, [r6, 0x8]
- adds r1, r6, 0
- adds r1, 0x18
- adds r0, r6, 0
- adds r0, 0x48
-_080604EC:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_803ECB4
- ldr r1, _0806054C
- ldr r5, _08060550
- movs r4, 0
- ldrsh r0, [r1, r4]
- adds r0, 0x10
- lsls r0, 3
- movs r2, 0
- mov r8, r2
- strh r0, [r5, 0xC]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r5, 0xE]
- adds r0, r5, 0
- movs r1, 0x70
- bl sub_80137B0
- movs r0, 0
- bl sub_80073B8
- mov r4, r10
- subs r0, r7, r4
- lsls r0, 3
- adds r6, r0, 0
- adds r6, 0xC
- ldr r0, _08060554
- lsls r1, r7, 1
- adds r0, r1, r0
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x1
- beq _080605CC
- cmp r0, 0x1
- bgt _08060558
- cmp r0, 0
- beq _08060564
- b _08060718
- .align 2, 0
-_0806054C: .4byte gUnknown_2027370
-_08060550: .4byte gUnknown_202EE10
-_08060554: .4byte gUnknown_202F248
-_08060558:
- cmp r0, 0x2
- beq _0806063C
- cmp r0, 0x3
- bne _08060562
- b _080606B0
-_08060562:
- b _08060718
-_08060564:
- ldr r0, _080605C0
- ldr r2, [r0]
- mov r3, r8
- str r3, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- movs r4, 0
- adds r6, r5, 0
- movs r7, 0
- add r5, sp, 0x1C
-_0806057E:
- lsls r1, r4, 2
- ldr r0, _080605C4
- ldr r0, [r0]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08060592
- b _08060794
-_08060592:
- ldrh r0, [r6, 0x1A]
- adds r0, 0x1
- strh r0, [r6, 0x1A]
- adds r0, r5, 0
- adds r1, r2, 0
- ldr r2, _080605C8
- bl sub_8090E14
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8013800
- adds r1, r0, 0
- str r7, [sp]
- movs r0, 0x8
- adds r2, r5, 0
- movs r3, 0
- bl xxx_format_and_draw
- adds r4, 0x1
- cmp r4, 0x9
- ble _0806057E
- b _08060794
- .align 2, 0
-_080605C0: .4byte gTeamToolboxAPtr
-_080605C4: .4byte gTeamInventory_203B460
-_080605C8: .4byte gUnknown_8106B60
-_080605CC:
- ldr r0, _08060630
- ldr r2, [r0]
- mov r4, r8
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- movs r4, 0
- adds r6, r5, 0
- movs r7, 0
- add r5, sp, 0x1C
-_080605E6:
- lsls r3, r4, 2
- ldr r0, _08060634
- ldr r2, [r0]
- adds r0, r3, r2
- adds r0, 0x28
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080605FC
- b _08060794
-_080605FC:
- ldrh r0, [r6, 0x1A]
- adds r0, 0x1
- strh r0, [r6, 0x1A]
- adds r1, r3, 0
- adds r1, 0x28
- adds r1, r2, r1
- adds r0, r5, 0
- ldr r2, _08060638
- bl sub_8090E14
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8013800
- adds r1, r0, 0
- str r7, [sp]
- movs r0, 0x8
- adds r2, r5, 0
- movs r3, 0
- bl xxx_format_and_draw
- adds r4, 0x1
- cmp r4, 0x9
- ble _080605E6
- b _08060794
- .align 2, 0
-_08060630: .4byte gTeamToolboxBPtr
-_08060634: .4byte gTeamInventory_203B460
-_08060638: .4byte gUnknown_8106B60
-_0806063C:
- mov r1, r9
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- movs r3, 0x6
- ldrsh r1, [r1, r3]
- bl GetMapTile_1
- ldr r0, [r0, 0x14]
- bl GetItemData
- adds r7, r0, 0
- ldr r0, _080606A8
- ldr r2, [r0]
- mov r4, r8
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- ldrb r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08060698
- ldrh r0, [r5, 0x1A]
- adds r0, 0x1
- strh r0, [r5, 0x1A]
- add r4, sp, 0x1C
- ldr r2, _080606AC
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_8090E14
- adds r0, r5, 0
- movs r1, 0
- bl sub_8013800
- adds r1, r0, 0
- mov r0, r8
- str r0, [sp]
- movs r0, 0x8
- adds r2, r4, 0
- movs r3, 0
- bl xxx_format_and_draw
-_08060698:
- ldr r1, [sp, 0x70]
- cmp r1, 0
- beq _08060794
- mov r2, r8
- strh r2, [r5, 0xA]
- strh r2, [r5, 0x8]
- b _08060794
- .align 2, 0
-_080606A8: .4byte gFieldItemMenuGroundTextPtr
-_080606AC: .4byte gUnknown_8106B60
-_080606B0:
- mov r3, r9
- ldr r0, [r3, 0x70]
- adds r7, r0, 0
- adds r7, 0x60
- ldr r0, _0806070C
- ldr r1, [sp, 0x74]
- movs r2, 0
- bl SetMessageArgument_2
- ldr r0, _08060710
- ldr r2, [r0]
- mov r4, r8
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- ldrb r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08060794
- ldrh r0, [r5, 0x1A]
- adds r0, 0x1
- strh r0, [r5, 0x1A]
- add r4, sp, 0x1C
- ldr r2, _08060714
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_8090E14
- adds r0, r5, 0
- movs r1, 0
- bl sub_8013800
- adds r1, r0, 0
- mov r0, r8
- str r0, [sp]
- movs r0, 0x8
- adds r2, r4, 0
- movs r3, 0
- bl xxx_format_and_draw
- b _08060794
- .align 2, 0
-_0806070C: .4byte gAvailablePokemonNames
-_08060710: .4byte gUnknown_80FE940
-_08060714: .4byte gUnknown_8106B60
-_08060718:
- ldr r0, _080607E0
- ldr r1, [r0]
- ldr r0, _080607E4
- adds r0, r2, r0
- movs r2, 0
- ldrsh r0, [r0, r2]
- subs r0, 0x4
- lsls r0, 2
- ldr r3, _080607E8
- adds r1, r3
- adds r1, r0
- ldr r4, [r1]
- adds r0, r4, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _08060794
- ldr r1, [r4, 0x70]
- adds r7, r1, 0
- adds r7, 0x60
- ldr r0, _080607EC
- movs r2, 0
- bl SetMessageArgument_2
- ldr r0, _080607F0
- ldr r2, [r0]
- movs r4, 0
- mov r8, r4
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- ldrb r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08060794
- ldr r4, _080607F4
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- add r5, sp, 0x1C
- ldr r2, _080607F8
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_8090E14
- adds r0, r4, 0
- movs r1, 0
- bl sub_8013800
- adds r1, r0, 0
- mov r0, r8
- str r0, [sp]
- movs r0, 0x8
- adds r2, r5, 0
- movs r3, 0
- bl xxx_format_and_draw
-_08060794:
- ldr r2, _080607F4
- movs r3, 0x18
- ldrsh r1, [r2, r3]
- movs r4, 0x1A
- ldrsh r0, [r2, r4]
- cmp r1, r0
- blt _080607A6
- movs r0, 0
- strh r0, [r2, 0x18]
-_080607A6:
- movs r0, 0
- bl sub_80073E0
- ldr r0, [sp, 0x6C]
- cmp r0, 0
- beq _080607D0
- movs r0, 0x1
- bl sub_80073B8
- ldr r0, _080607FC
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0x2
- movs r3, 0x1
- bl xxx_format_and_draw
- movs r0, 0x1
- bl sub_80073E0
-_080607D0:
- add sp, 0x78
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080607E0: .4byte gDungeonGlobalData
-_080607E4: .4byte gUnknown_202F248
-_080607E8: .4byte 0x0001357c
-_080607EC: .4byte gAvailablePokemonNames
-_080607F0: .4byte gUnknown_80FE940
-_080607F4: .4byte gUnknown_202EE10
-_080607F8: .4byte gUnknown_8106B60
-_080607FC: .4byte gWhichTextPtr1
- thumb_func_end CreateFieldItemMenu
-
- thumb_func_start sub_8060800
-sub_8060800:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0
- ldr r0, _0806083C
- ldr r2, [r0]
- mov r12, r0
- ldr r6, _08060840
- cmp r1, r2
- bge _08060828
- adds r3, r6, 0
-_08060816:
- movs r7, 0
- ldrsh r0, [r3, r7]
- cmp r0, 0x1
- bgt _08060820
- adds r1, 0x1
-_08060820:
- adds r3, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _08060816
-_08060828:
- lsls r0, r4, 1
- adds r0, r6
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x1
- bgt _08060844
- adds r3, r4, 0
- adds r2, r1, 0
- movs r1, 0
- b _0806084C
- .align 2, 0
-_0806083C: .4byte gUnknown_202F258
-_08060840: .4byte gUnknown_202F248
-_08060844:
- subs r3, r4, r1
- mov r7, r12
- ldr r0, [r7]
- subs r2, r0, r1
-_0806084C:
- cmp r5, 0
- beq _08060858
- movs r0, 0
- strb r2, [r5]
- strb r3, [r5, 0x1]
- strb r0, [r5, 0x3]
-_08060858:
- adds r0, r1, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8060800
-
- thumb_func_start sub_8060860
-sub_8060860:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08060880
- movs r2, 0x1A
- ldrsh r0, [r0, r2]
- cmp r0, 0x1
- ble _0806087C
- ldr r0, _08060884
- lsls r1, 1
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- ble _08060888
-_0806087C:
- movs r0, 0
- b _0806088A
- .align 2, 0
-_08060880: .4byte gUnknown_202EE10
-_08060884: .4byte gUnknown_202F248
-_08060888:
- movs r0, 0x1
-_0806088A:
- pop {r1}
- bx r1
- thumb_func_end sub_8060860
-
- thumb_func_start sub_8060890
-sub_8060890:
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, _080608B4
- ldr r2, _080608B8
- movs r4, 0x1E
- ldrsh r0, [r2, r4]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _080608D0
- cmp r0, 0x1
- bgt _080608BC
- cmp r0, 0
- beq _080608C2
- b _080608E8
- .align 2, 0
-_080608B4: .4byte gUnknown_202F248
-_080608B8: .4byte gUnknown_202EE10
-_080608BC:
- cmp r0, 0x2
- beq _080608DC
- b _080608E8
-_080608C2:
- ldr r1, _080608CC
- ldrb r0, [r2, 0x18]
- adds r0, 0x1
- b _080608EC
- .align 2, 0
-_080608CC: .4byte gUnknown_202F238
-_080608D0:
- ldr r1, _080608D8
- ldrb r0, [r2, 0x18]
- adds r0, 0xB
- b _080608EC
- .align 2, 0
-_080608D8: .4byte gUnknown_202F238
-_080608DC:
- ldr r1, _080608E4
- movs r0, 0x80
- b _080608EC
- .align 2, 0
-_080608E4: .4byte gUnknown_202F238
-_080608E8:
- ldr r1, _080608FC
- subs r0, 0x74
-_080608EC:
- strb r0, [r1]
- ldrh r0, [r3]
- strh r0, [r1, 0x4]
- ldrh r0, [r3, 0x2]
- strh r0, [r1, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080608FC: .4byte gUnknown_202F238
- thumb_func_end sub_8060890
-
- thumb_func_start sub_8060900
-sub_8060900:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- ldr r4, _08060964
- adds r1, r4, 0
- movs r2, 0xA
- bl sub_8044CC8
- adds r7, r0, 0
- mov r0, r9
- ldr r0, [r0, 0x70]
- mov r10, r0
- ldr r1, _08060968
- movs r0, 0
- str r0, [r1]
- ldrb r0, [r4]
- cmp r0, 0x8F
- bls _0806092C
- b _08060BD0
-_0806092C:
- cmp r0, 0x80
- bne _080609B0
- ldrb r1, [r7, 0x2]
- movs r0, 0x9
- bl sub_8044F5C
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08060992
- movs r2, 0
- ldr r0, _0806096C
- ldr r0, [r0]
- ldr r1, _08060970
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08060978
- ldr r0, _08060974
- ldr r0, [r0]
- adds r0, 0x4C
- ldrb r0, [r0]
- movs r2, 0x1
- ands r2, r0
- b _08060988
- .align 2, 0
-_08060964: .4byte gUnknown_202F238
-_08060968: .4byte gUnknown_202EE6C
-_0806096C: .4byte gDungeonGlobalData
-_08060970: .4byte 0x0000065b
-_08060974: .4byte gTeamInventory_203B460
-_08060978:
- mov r0, r10
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08060988
- movs r2, 0x1
-_08060988:
- cmp r2, 0
- beq _08060992
- movs r0, 0x9
- bl sub_8044FF0
-_08060992:
- ldr r0, _08060A20
- ldrb r0, [r0]
- cmp r0, 0x80
- bne _080609B0
- ldr r0, _08060A24
- ldr r0, [r0]
- ldr r2, _08060A28
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080609B0
- ldrb r1, [r7, 0x2]
- movs r0, 0xA
- bl sub_8044F5C
-_080609B0:
- adds r0, r7, 0
- bl sub_8044DC8
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080609E8
- ldrb r1, [r7, 0x2]
- adds r0, r4, 0
- bl sub_8044F5C
- ldrb r1, [r7]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080609D6
- adds r0, r4, 0
- bl sub_8044FF0
-_080609D6:
- adds r0, r7, 0
- bl sub_8046F00
- lsls r0, 24
- cmp r0, 0
- bne _080609E8
- adds r0, r4, 0
- bl sub_8044FF0
-_080609E8:
- ldr r0, _08060A20
- ldrb r0, [r0]
- cmp r0, 0x14
- bhi _08060A6C
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- cmp r0, 0
- beq _08060A0A
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08060A6C
-_08060A0A:
- ldrb r1, [r7]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08060A3A
- ldrb r1, [r7, 0x2]
- movs r0, 0x3D
- bl sub_8044F5C
- b _08060A42
- .align 2, 0
-_08060A20: .4byte gUnknown_202F238
-_08060A24: .4byte gDungeonGlobalData
-_08060A28: .4byte 0x0000065b
-_08060A2C:
- movs r0, 0x3C
- bl sub_8044FF0
- movs r0, 0x3D
- bl sub_8044FF0
- b _08060A6C
-_08060A3A:
- ldrb r1, [r7, 0x2]
- movs r0, 0x3C
- bl sub_8044F5C
-_08060A42:
- movs r3, 0
- ldr r0, _08060AD4
- ldr r2, [r0]
- movs r4, 0x1
-_08060A4A:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08060A64
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08060A64
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08060A2C
-_08060A64:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x13
- ble _08060A4A
-_08060A6C:
- ldr r0, _08060AD8
- ldrb r0, [r0]
- cmp r0, 0x81
- beq _08060AE8
- cmp r0, 0x80
- beq _08060B3C
- movs r3, 0
- mov r8, r3
- ldrb r1, [r7, 0x2]
- movs r0, 0x36
- bl sub_8044F5C
- movs r6, 0
-_08060A86:
- ldr r0, _08060ADC
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _08060AE0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _08060ABE
- ldr r0, [r4, 0x70]
- ldr r3, _08060AE4
- adds r5, r0, r3
- movs r0, 0
- strb r0, [r5]
- adds r0, r4, 0
- bl CannotUseItems
- lsls r0, 24
- cmp r0, 0
- bne _08060ABE
- movs r0, 0x1
- mov r8, r0
- mov r1, r8
- strb r1, [r5]
-_08060ABE:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08060A86
- mov r2, r8
- cmp r2, 0
- bne _08060B3C
- movs r0, 0x36
- bl sub_8044FF0
- b _08060B3C
- .align 2, 0
-_08060AD4: .4byte gTeamInventory_203B460
-_08060AD8: .4byte gUnknown_202F238
-_08060ADC: .4byte gDungeonGlobalData
-_08060AE0: .4byte 0x0001357c
-_08060AE4: .4byte 0x00000157
-_08060AE8:
- ldr r0, _08060B10
- ldr r0, [r0]
- ldr r3, _08060B14
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _08060B3C
- ldr r0, _08060B18
- ldr r0, [r0]
- adds r0, 0x4C
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08060B1C
- ldrb r1, [r7, 0x2]
- movs r0, 0x3E
- bl sub_8044F5C
- b _08060B24
- .align 2, 0
-_08060B10: .4byte gDungeonGlobalData
-_08060B14: .4byte 0x0000065b
-_08060B18: .4byte gTeamInventory_203B460
-_08060B1C:
- ldrb r1, [r7, 0x2]
- movs r0, 0x37
- bl sub_8044F5C
-_08060B24:
- mov r0, r9
- bl CannotUseItems
- lsls r0, 24
- cmp r0, 0
- beq _08060B3C
- movs r0, 0x37
- bl sub_8044FF0
- movs r0, 0x3E
- bl sub_8044FF0
-_08060B3C:
- ldr r0, _08060B64
- ldrb r0, [r0]
- cmp r0, 0x14
- bhi _08060B78
- mov r1, r9
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- movs r3, 0x6
- ldrsh r1, [r1, r3]
- bl GetMapTile_1
- ldr r0, [r0, 0x14]
- cmp r0, 0
- bne _08060B68
- ldrb r1, [r7, 0x2]
- movs r0, 0x8
- bl sub_8044F5C
- b _08060B78
- .align 2, 0
-_08060B64: .4byte gUnknown_202F238
-_08060B68:
- bl GetEntityType
- cmp r0, 0x3
- bne _08060B78
- ldrb r1, [r7, 0x2]
- movs r0, 0x3A
- bl sub_8044F5C
-_08060B78:
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- cmp r0, 0
- bne _08060B8E
- ldrb r1, [r7, 0x2]
- movs r0, 0x27
- bl sub_8044F5C
- b _08060BAE
-_08060B8E:
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08060BA6
- ldrb r1, [r7, 0x2]
- movs r0, 0x41
- bl sub_8044F5C
- b _08060BAE
-_08060BA6:
- ldrb r1, [r7, 0x2]
- movs r0, 0xB
- bl sub_8044F5C
-_08060BAE:
- mov r0, r10
- bl ToolboxEnabled
- lsls r0, 24
- cmp r0, 0
- beq _08060BBC
- b _08060CCC
-_08060BBC:
- movs r0, 0x27
- bl sub_8044FF0
- movs r0, 0x41
- bl sub_8044FF0
- movs r0, 0xB
- bl sub_8044FF0
- b _08060CCC
-_08060BD0:
- ldrb r1, [r4]
- subs r1, 0x90
- ldr r0, _08060C50
- mov r9, r0
- ldr r0, [r0]
- lsls r1, 2
- ldr r2, _08060C54
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _08060CCC
- ldr r3, [r4, 0x70]
- mov r8, r3
- movs r5, 0
- adds r0, r4, 0
- bl CannotUseItems
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r6, r1, 31
- ldr r0, _08060C58
- ldr r0, [r0]
- adds r0, 0x4C
- ldrb r0, [r0]
- movs r4, 0x1
- ands r4, r0
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _08060C22
- movs r5, 0x1
-_08060C22:
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bne _08060C32
- movs r5, 0x1
-_08060C32:
- mov r1, r9
- ldr r0, [r1]
- ldr r2, _08060C5C
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08060C78
- cmp r4, 0
- beq _08060C60
- ldrb r1, [r7, 0x2]
- movs r0, 0x3E
- bl sub_8044F5C
- b _08060C68
- .align 2, 0
-_08060C50: .4byte gDungeonGlobalData
-_08060C54: .4byte 0x0001357c
-_08060C58: .4byte gTeamInventory_203B460
-_08060C5C: .4byte 0x0000065b
-_08060C60:
- ldrb r1, [r7, 0x2]
- movs r0, 0x37
- bl sub_8044F5C
-_08060C68:
- cmp r6, 0
- beq _08060C78
- movs r0, 0x37
- bl sub_8044FF0
- movs r0, 0x3E
- bl sub_8044FF0
-_08060C78:
- mov r3, r8
- ldrb r0, [r3, 0x7]
- cmp r0, 0
- beq _08060CBA
- adds r0, r7, 0
- bl sub_8044DC8
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _08060CCC
- ldrb r1, [r7, 0x2]
- adds r0, r4, 0
- bl sub_8044F5C
- ldrb r1, [r7]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08060CA6
- adds r0, r4, 0
- bl sub_8044FF0
-_08060CA6:
- adds r0, r7, 0
- bl sub_8046F00
- lsls r0, 24
- cmp r0, 0
- bne _08060CCC
- adds r0, r4, 0
- bl sub_8044FF0
- b _08060CCC
-_08060CBA:
- ldrb r1, [r7, 0x2]
- movs r0, 0x38
- bl sub_8044F5C
- cmp r5, 0
- beq _08060CCC
- movs r0, 0x38
- bl sub_8044FF0
-_08060CCC:
- ldrb r1, [r7, 0x2]
- movs r0, 0xC
- bl sub_8044F5C
- bl sub_8045064
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8060900
-
- thumb_func_start sub_8060CE8
-sub_8060CE8:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08060D18
- ldr r0, _08060D1C
- movs r2, 0x18
- ldrsh r0, [r0, r2]
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r4, 0
- bl SetAction
- ldr r0, _08060D20
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r4, 0x4]
- str r1, [r4, 0x8]
- movs r0, 0
- strb r0, [r4, 0xC]
- strh r0, [r4, 0x10]
- strh r0, [r4, 0x12]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08060D18: .4byte gUnknown_202EE44
-_08060D1C: .4byte gUnknown_202EE10
-_08060D20: .4byte gUnknown_202F238
- thumb_func_end sub_8060CE8
-
- thumb_func_start sub_8060D24
-sub_8060D24:
- push {r4,lr}
- bl GetLeaderEntity
- movs r1, 0
- movs r2, 0xB
- bl sub_8044D90
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0
- bl sub_803ECB4
- adds r0, r4, 0
- bl sub_801B3C0
-_08060D42:
- movs r0, 0x16
- bl sub_803E46C
- bl sub_801B410
- cmp r0, 0
- beq _08060D42
- bl sub_801B450
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8060D24
-
- thumb_func_start sub_8060D64
-sub_8060D64:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- movs r7, 0
- ldr r0, _08060E28
- ldr r0, [r0]
- ldr r1, _08060E2C
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08060DB8
- cmp r6, 0
- bne _08060DB8
- ldr r5, _08060E30
- ldr r0, [r5]
- ldrb r1, [r0]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08060DA2
- strh r7, [r4]
- movs r7, 0x1
-_08060DA2:
- ldr r0, [r5]
- adds r0, 0x28
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08060DB8
- lsls r0, r7, 1
- adds r0, r4
- strh r3, [r0]
- adds r7, 0x1
-_08060DB8:
- cmp r2, 0
- beq _08060DD4
- ldr r0, [sp, 0x18]
- adds r0, 0x4
- bl sub_804ACE4
- lsls r0, 24
- cmp r0, 0
- beq _08060DD4
- lsls r0, r7, 1
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0]
- adds r7, 0x1
-_08060DD4:
- cmp r6, 0
- bne _08060E1A
- mov r2, r8
- cmp r2, 0
- bne _08060E1A
- movs r5, 0
- lsls r0, r7, 1
- adds r6, r0, r4
-_08060DE4:
- ldr r0, _08060E28
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08060E34
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _08060E14
- ldr r0, [r4, 0x70]
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08060E14
- adds r0, r5, 0x4
- strh r0, [r6]
- adds r6, 0x2
- adds r7, 0x1
-_08060E14:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08060DE4
-_08060E1A:
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08060E28: .4byte gDungeonGlobalData
-_08060E2C: .4byte 0x0000065b
-_08060E30: .4byte gTeamInventory_203B460
-_08060E34: .4byte 0x0001357c
- thumb_func_end sub_8060D64
-
- thumb_func_start sub_8060E38
-sub_8060E38:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x7C
- str r0, [sp, 0x78]
- add r4, sp, 0x18
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [r4, 0x4]
- movs r0, 0x2
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
- movs r0, 0xE
- strh r0, [r4, 0xC]
- movs r0, 0x10
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- ldr r0, _08061018
- str r0, [r4, 0x14]
- movs r0, 0x3
- str r0, [r4, 0x1C]
- str r0, [r4, 0x34]
- str r0, [r4, 0x4C]
- movs r5, 0
- mov r9, r4
- add r0, sp, 0x4
- mov r8, r0
-_08060E7A:
- ldr r6, _0806101C
- ldr r0, [r6]
- lsls r1, r5, 2
- ldr r2, _08061020
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _08060E9E
- ldr r0, [r4, 0x70]
- ldr r2, _08061024
- adds r1, r0, r2
- movs r0, 0x1
- strb r0, [r1]
-_08060E9E:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08060E7A
- ldr r0, [r6]
- ldr r1, _08061028
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08060EBC
- movs r0, 0x3
- mov r2, r9
- str r0, [r2, 0x4]
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
-_08060EBC:
- ldr r6, _0806102C
-_08060EBE:
- movs r7, 0
- mov r0, sp
- mov r1, r9
- movs r2, 0x1
- bl DrawFieldTeamMenu
- movs r0, 0
- mov r10, r0
-_08060ECE:
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- lsls r0, 2
- add r0, r8
- ldr r1, [r0]
- cmp r1, 0
- blt _08060F00
- ldr r0, _0806101C
- ldr r0, [r0]
- lsls r1, 2
- ldr r2, _08061020
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- movs r1, 0
- bl sub_806A2BC
- adds r4, 0x4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
-_08060F00:
- adds r0, r6, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- ldr r4, _08061030
- ldrh r1, [r4, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08060F26
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_80136E0
-_08060F26:
- ldrh r1, [r4, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08060F3E
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8013744
-_08060F3E:
- ldrh r1, [r4, 0x2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08060F5A
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- add r1, sp, 0x14
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08061046
- bl sub_8083D30
-_08060F5A:
- ldrh r1, [r4, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08060F6C
- ldr r2, _08061034
- ldrb r0, [r2]
- cmp r0, 0
- beq _08060F7E
-_08060F6C:
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- add r1, sp, 0x14
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08061040
- bl sub_8083D30
-_08060F7E:
- ldr r0, _08061030
- ldrh r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08060F92
- ldr r2, _08061038
- ldrb r0, [r2]
- cmp r0, 0
- beq _08060ECE
-_08060F92:
- bl sub_8083D30
- movs r7, 0x1
-_08060F98:
- ldr r5, _0806102C
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- lsls r0, 2
- add r0, r8
- ldr r1, [r0]
- cmp r1, 0
- blt _08060FCC
- ldr r0, _0806101C
- ldr r0, [r0]
- lsls r1, 2
- ldr r2, _08061020
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- movs r1, 0
- bl sub_806A2BC
- adds r4, 0x4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
-_08060FCC:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- bl sub_804AA60
- cmp r7, 0
- beq _08060FE2
- b _0806110C
-_08060FE2:
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- str r0, [sp]
- ldr r1, _0806103C
- movs r2, 0x18
- ldrsh r0, [r5, r2]
- str r0, [r1]
- mov r0, sp
- bl sub_806145C
- mov r0, r10
- cmp r0, 0
- beq _08061064
- ldr r1, [sp, 0x78]
- ldr r4, [r1, 0x70]
- adds r0, r4, 0
- adds r0, 0x44
- movs r1, 0x1B
- bl SetAction
- ldr r0, [sp]
- lsls r0, 2
- add r0, r8
- ldr r0, [r0]
- adds r4, 0x48
- strb r0, [r4]
- b _08061116
- .align 2, 0
-_08061018: .4byte gUnknown_202F270
-_0806101C: .4byte gDungeonGlobalData
-_08061020: .4byte 0x0001357c
-_08061024: .4byte 0x00000157
-_08061028: .4byte 0x0000065b
-_0806102C: .4byte gUnknown_202EE10
-_08061030: .4byte gRealInputs
-_08061034: .4byte gUnknown_202EE39
-_08061038: .4byte gUnknown_202EE3A
-_0806103C: .4byte gUnknown_202F260
-_08061040:
- bl sub_8083D08
- b _08060F98
-_08061046:
- bl sub_8083D44
- movs r2, 0x1
- mov r10, r2
- b _08060F98
-_08061050:
- ldr r1, [sp, 0x78]
- ldr r0, [r1, 0x70]
- adds r0, 0x44
- mov r1, sp
- bl sub_80615B4
- bl sub_8083D08
- movs r4, 0
- b _080610EA
-_08061064:
- mov r0, r9
- movs r1, 0x12
- bl sub_805FC30
- adds r4, r5, 0
- ldr r5, _08061100
- adds r7, r4, 0
- adds r7, 0x2A
-_08061074:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- ldrh r1, [r5, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08061098
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_08061098:
- ldrh r1, [r5, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080610B0
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_080610B0:
- ldrh r1, [r5, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080610C2
- ldr r2, _08061104
- ldrb r0, [r2]
- cmp r0, 0
- beq _080610D4
-_080610C2:
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- bne _08061050
- bl sub_8083D30
-_080610D4:
- ldrh r1, [r5, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080610E4
- ldrb r0, [r7]
- cmp r0, 0
- beq _08061074
-_080610E4:
- bl sub_8083D30
- movs r4, 0x1
-_080610EA:
- ldr r0, _08061108
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- cmp r4, 0x1
- bne _080610FC
- b _08060EBE
-_080610FC:
- movs r7, 0
- b _08061116
- .align 2, 0
-_08061100: .4byte gRealInputs
-_08061104: .4byte gUnknown_202EE39
-_08061108: .4byte gUnknown_202EE10
-_0806110C:
- bl GetLeaderEntity
- movs r1, 0
- bl sub_806A2BC
-_08061116:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- adds r0, r7, 0
- add sp, 0x7C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8060E38
-
- thumb_func_start DrawFieldTeamMenu
-DrawFieldTeamMenu:
- 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 r2, 24
- lsrs r2, 24
- str r2, [sp, 0x8]
- movs r7, 0
- movs r1, 0
- mov r2, r8
- ldr r0, [r2, 0x4]
- cmp r0, 0x6
- bne _08061154
- movs r1, 0x1
-_08061154:
- mov r10, r1
- bl GetLeaderEntity
- adds r1, r0, 0
- add r0, sp, 0x4
- bl sub_8069D18
- movs r6, 0
-_08061164:
- ldr r0, _08061318
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r3, _0806131C
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _080611AC
- lsls r1, r7, 2
- mov r0, r9
- adds r0, 0x4
- adds r0, r1
- str r6, [r0]
- ldr r0, [r4, 0x70]
- mov r1, r9
- adds r1, 0x14
- adds r1, r7
- ldr r5, _08061320
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, [sp, 0x4]
- ldr r0, [r4, 0x4]
- cmp r1, r0
- bne _080611AA
- ldr r1, _08061324
- ldr r0, [r1]
- cmp r0, 0
- bge _080611AA
- str r7, [r1]
-_080611AA:
- adds r7, 0x1
-_080611AC:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08061164
- ldr r0, _08061324
- ldr r1, [r0]
- adds r5, r0, 0
- cmp r1, r7
- blt _080611C0
- subs r0, r7, 0x1
- str r0, [r5]
-_080611C0:
- ldr r0, [r5]
- cmp r0, 0
- bge _080611CA
- movs r0, 0
- str r0, [r5]
-_080611CA:
- adds r6, r7, 0
- mov r0, r10
- negs r3, r0
- cmp r7, 0x3
- bgt _080611F4
- movs r1, 0x1
- negs r1, r1
- mov r12, r1
- mov r2, r9
- adds r2, 0x14
- movs r4, 0
- lsls r0, r7, 2
- adds r1, r0, 0x4
- add r1, r9
-_080611E6:
- mov r0, r12
- stm r1!, {r0}
- adds r0, r2, r6
- strb r4, [r0]
- adds r6, 0x1
- cmp r6, 0x3
- ble _080611E6
-_080611F4:
- ldr r1, _08061328
- movs r4, 0
- movs r0, 0x1
- strb r0, [r1]
- strb r4, [r1, 0x1]
- strb r4, [r1, 0x3]
- ldr r0, _0806132C
- ldr r1, [r5]
- strh r1, [r0, 0x18]
- strh r7, [r0, 0x1A]
- strh r7, [r0, 0x1C]
- strh r4, [r0, 0x1E]
- strh r4, [r0, 0x20]
- strh r4, [r0, 0x4]
- mov r1, r10
- orrs r3, r1
- asrs r1, r3, 31
- movs r2, 0x10
- ands r1, r2
- strh r1, [r0, 0x6]
- strh r4, [r0, 0xC]
- strh r4, [r0, 0xE]
- strh r4, [r0, 0x14]
- str r4, [r0]
- adds r0, 0x28
- bl sub_801317C
- adds r0, r7, 0
- movs r1, 0
- bl sub_80095E4
- mov r2, r10
- cmp r2, 0
- beq _0806123A
- adds r0, 0x2
-_0806123A:
- mov r3, r8
- strh r0, [r3, 0x10]
- strh r0, [r3, 0xE]
- movs r0, 0x8
- ldr r5, _08061328
- strb r0, [r5, 0x2]
- ldr r0, [sp, 0x8]
- cmp r0, 0
- beq _0806125C
- mov r1, r8
- adds r1, 0x18
- mov r0, r8
- adds r0, 0x48
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
-_0806125C:
- mov r0, r8
- movs r1, 0x1
- bl sub_803ECB4
- ldr r0, _0806132C
- movs r1, 0
- bl sub_80137B0
- movs r0, 0
- bl sub_80073B8
- mov r0, r10
- cmp r0, 0
- beq _08061286
- ldr r2, _08061330
- str r4, [sp]
- movs r0, 0xC
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
-_08061286:
- movs r6, 0
- cmp r6, r7
- blt _0806128E
- b _08061440
-_0806128E:
- lsls r1, r6, 2
- mov r0, r9
- adds r0, 0x4
- adds r0, r1
- ldr r1, [r0]
- cmp r1, 0
- bge _0806129E
- b _08061438
-_0806129E:
- ldr r0, _08061318
- ldr r0, [r0]
- lsls r1, 2
- ldr r2, _0806131C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- bne _080612BA
- b _08061438
-_080612BA:
- ldr r5, [r4, 0x70]
- mov r0, r9
- adds r0, 0x14
- adds r0, r6
- ldrb r0, [r0]
- movs r2, 0x2
- cmp r0, 0
- beq _080612CC
- movs r2, 0x6
-_080612CC:
- ldr r4, _08061334
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8070968
- ldr r0, _08061338
- ldr r1, [r0]
- ldrb r2, [r5, 0xA]
- movs r0, 0x64
- muls r0, r2
- adds r1, r0
- ldr r3, _0806133C
- adds r1, r3
- movs r2, 0
- ldrsh r0, [r1, r2]
- bl sub_806A538
- lsls r0, 24
- cmp r0, 0
- beq _08061388
- movs r3, 0x10
- ldrsh r2, [r5, r3]
- adds r1, r2, 0
- cmp r2, 0
- bge _08061300
- adds r1, r2, 0x3
-_08061300:
- movs r3, 0xE
- ldrsh r0, [r5, r3]
- asrs r1, 2
- cmp r0, r1
- bgt _08061344
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _08061340
- bl strcpy
- b _080613EE
- .align 2, 0
-_08061318: .4byte gDungeonGlobalData
-_0806131C: .4byte 0x0001357c
-_08061320: .4byte 0x00000157
-_08061324: .4byte gUnknown_202F260
-_08061328: .4byte gUnknown_202F270
-_0806132C: .4byte gUnknown_202EE10
-_08061330: .4byte gUnknown_8106BB0
-_08061334: .4byte gAvailablePokemonNames
-_08061338: .4byte gRecruitedPokemonRef
-_0806133C: .4byte 0x00008e02
-_08061340: .4byte gUnknown_8106BB4
-_08061344:
- movs r0, 0xE
- ldrsh r3, [r5, r0]
- lsls r0, r1, 1
- cmp r3, r0
- bgt _08061360
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _0806135C
- bl strcpy
- b _080613EE
- .align 2, 0
-_0806135C: .4byte gUnknown_8106BB8
-_08061360:
- adds r0, r1
- cmp r3, r0
- bgt _08061378
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _08061374
- bl strcpy
- b _080613EE
- .align 2, 0
-_08061374: .4byte gUnknown_8106BBC
-_08061378:
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _08061384
- bl strcpy
- b _080613EE
- .align 2, 0
-_08061384: .4byte gUnknown_8106BC0
-_08061388:
- movs r1, 0x10
- ldrsh r2, [r5, r1]
- adds r1, r2, 0
- cmp r2, 0
- bge _08061394
- adds r1, r2, 0x3
-_08061394:
- movs r3, 0xE
- ldrsh r0, [r5, r3]
- asrs r1, 2
- cmp r0, r1
- bgt _080613B0
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _080613AC
- bl strcpy
- b _080613EE
- .align 2, 0
-_080613AC: .4byte gUnknown_8106BC4
-_080613B0:
- movs r0, 0xE
- ldrsh r3, [r5, r0]
- lsls r0, r1, 1
- cmp r3, r0
- bgt _080613CC
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _080613C8
- bl strcpy
- b _080613EE
- .align 2, 0
-_080613C8: .4byte gUnknown_8106BC8
-_080613CC:
- adds r0, r1
- cmp r3, r0
- bgt _080613E4
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _080613E0
- bl strcpy
- b _080613EE
- .align 2, 0
-_080613E0: .4byte gUnknown_8106BCC
-_080613E4:
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _0806141C
- bl strcpy
-_080613EE:
- ldr r0, _08061420
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- str r1, [r0]
- movs r3, 0x10
- ldrsh r1, [r5, r3]
- str r1, [r0, 0x4]
- ldr r0, _08061424
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _0806142C
- movs r0, 0
- str r0, [sp]
- movs r0, 0x9
- ldr r2, _08061428
- movs r3, 0
- bl xxx_format_and_draw
- b _08061438
- .align 2, 0
-_0806141C: .4byte gUnknown_8106BD0
-_08061420: .4byte gUnknown_202DE30
-_08061424: .4byte gUnknown_202EE10
-_08061428: .4byte gUnknown_8106BD4
-_0806142C:
- str r0, [sp]
- movs r0, 0x9
- ldr r2, _08061458
- movs r3, 0
- bl xxx_format_and_draw
-_08061438:
- adds r6, 0x1
- cmp r6, r7
- bge _08061440
- b _0806128E
-_08061440:
- movs r0, 0
- bl sub_80073E0
- 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
-_08061458: .4byte gUnknown_8106BE0
- thumb_func_end DrawFieldTeamMenu
-
- thumb_func_start sub_806145C
-sub_806145C:
- push {r4-r6,lr}
- ldr r2, _08061560
- movs r1, 0
- str r1, [r2]
- ldr r5, _08061564
- ldr r2, [r5]
- ldr r1, _08061568
- movs r3, 0x18
- ldrsh r1, [r1, r3]
- lsls r1, 2
- adds r0, 0x4
- adds r0, r1
- ldr r0, [r0]
- lsls r0, 2
- ldr r1, _0806156C
- adds r2, r1
- adds r2, r0
- ldr r6, [r2]
- ldr r4, [r6, 0x70]
- movs r0, 0x1B
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0x19
- movs r1, 0
- bl sub_8044F5C
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- bne _080614C8
- ldr r2, [r5]
- ldr r3, _08061570
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080614C0
- adds r0, r4, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- bne _080614B8
- ldr r1, _08061574
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080614C0
-_080614B8:
- movs r0, 0x34
- movs r1, 0
- bl sub_8044F5C
-_080614C0:
- movs r0, 0x1C
- movs r1, 0
- bl sub_8044F5C
-_080614C8:
- movs r0, 0x30
- movs r1, 0
- bl sub_8044F5C
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- bne _0806154C
- movs r0, 0x1A
- movs r1, 0
- bl sub_8044F5C
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- bne _0806154C
- ldr r0, _08061564
- ldr r1, [r0]
- ldr r2, _08061574
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806154C
- ldr r3, _08061578
- adds r0, r1, r3
- ldrb r0, [r0]
- bl sub_8090158
- lsls r0, 24
- cmp r0, 0
- beq _0806154C
- movs r0, 0x3B
- movs r1, 0
- bl sub_8044F5C
- movs r5, 0x1
- ldrb r0, [r4, 0xA]
- cmp r0, 0x3
- bhi _08061530
- ldr r2, _0806157C
- ldrb r1, [r4, 0xA]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _08061580
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- bl sub_806A538
- lsls r0, 24
- cmp r0, 0
- beq _08061532
-_08061530:
- movs r5, 0
-_08061532:
- adds r0, r6, 0
- movs r1, 0
- bl CannotMove
- lsls r0, 24
- cmp r0, 0
- beq _08061542
- movs r5, 0
-_08061542:
- cmp r5, 0
- bne _0806154C
- movs r0, 0x3B
- bl sub_8044FF0
-_0806154C:
- adds r0, r4, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _0806155A
- cmp r0, 0x47
- bne _08061584
-_0806155A:
- movs r0, 0x1
- b _08061586
- .align 2, 0
-_08061560: .4byte gUnknown_202EE6C
-_08061564: .4byte gDungeonGlobalData
-_08061568: .4byte gUnknown_202EE10
-_0806156C: .4byte 0x0001357c
-_08061570: .4byte 0x0000065d
-_08061574: .4byte 0x0000065c
-_08061578: .4byte 0x00000644
-_0806157C: .4byte gRecruitedPokemonRef
-_08061580: .4byte 0x00008df8
-_08061584:
- movs r0, 0
-_08061586:
- cmp r0, 0
- beq _080615A8
- movs r0, 0x19
- bl sub_8044FF0
- movs r0, 0x3B
- bl sub_8044FF0
- movs r0, 0x1A
- bl sub_8044FF0
- movs r0, 0x30
- bl sub_8044FF0
- movs r0, 0x34
- bl sub_8044FF0
-_080615A8:
- bl sub_8045064
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806145C
-
- thumb_func_start sub_80615B4
-sub_80615B4:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _080615E0
- ldr r0, _080615E4
- movs r2, 0x18
- ldrsh r0, [r0, r2]
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r5, 0
- bl SetAction
- ldm r4!, {r0}
- lsls r0, 2
- adds r4, r0
- ldr r0, [r4]
- strb r0, [r5, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080615E0: .4byte gUnknown_202EE44
-_080615E4: .4byte gUnknown_202EE10
- thumb_func_end sub_80615B4
-
- thumb_func_start sub_80615E8
-sub_80615E8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x7C
- adds r5, r0, 0
- mov r4, sp
- mov r0, sp
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r1, 0x2
- strh r1, [r4, 0x8]
- strh r1, [r4, 0xA]
- movs r2, 0x12
- strh r2, [r4, 0xC]
- movs r0, 0xE
- strh r0, [r4, 0xE]
- strh r2, [r4, 0x10]
- strh r1, [r4, 0x12]
- ldr r0, _08061720
- str r0, [sp, 0x14]
- movs r0, 0x3
- str r0, [sp, 0x1C]
- str r0, [sp, 0x34]
- str r0, [sp, 0x4C]
- ldr r0, _08061724
- ldr r1, [r0]
- ldrb r0, [r5, 0x4]
- lsls r0, 2
- ldr r2, _08061728
- adds r1, r2
- adds r1, r0
- ldr r1, [r1]
- str r1, [sp, 0x74]
- ldr r0, [r1, 0x70]
- mov r8, r0
- movs r1, 0
- str r1, [sp, 0x70]
- movs r2, 0
- str r2, [sp, 0x6C]
- add r0, sp, 0x60
- mov r10, r0
-_08061646:
- movs r1, 0x1
- str r1, [sp, 0x78]
- movs r7, 0
- ldr r0, _08061720
- strb r1, [r0]
- strb r7, [r0, 0x1]
- movs r1, 0xA
- strb r1, [r0, 0x2]
- strb r7, [r0, 0x3]
- mov r0, sp
- movs r1, 0x1
- bl sub_803ECB4
- ldr r0, [sp, 0x6C]
- mov r1, r10
- mov r2, r8
- movs r3, 0
- bl sub_806195C
- movs r2, 0
- mov r1, r10
- ldrb r0, [r1]
- cmp r0, 0xB
- beq _08061684
-_08061676:
- adds r2, 0x1
- cmp r2, 0x7
- bgt _08061684
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xB
- bne _08061676
-_08061684:
- ldr r4, _0806172C
- movs r1, 0
- strh r2, [r4, 0x1A]
- movs r0, 0x8
- strh r0, [r4, 0x1C]
- strh r1, [r4, 0x1E]
- strh r1, [r4, 0x20]
- strh r1, [r4, 0x4]
- movs r0, 0x10
- strh r0, [r4, 0x6]
- strh r1, [r4, 0xC]
- strh r1, [r4, 0xE]
- strh r1, [r4, 0x14]
- str r1, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- add r2, sp, 0x70
- ldrh r2, [r2]
- strh r2, [r4, 0x18]
- mov r9, r4
- mov r6, r10
-_080616BA:
- mov r0, r9
- bl AddMenuCursorSprite
- ldrb r0, [r6, 0x8]
- cmp r0, 0xB
- beq _080616CA
- bl sub_80623B0
-_080616CA:
- ldr r0, [sp, 0x6C]
- cmp r0, 0
- beq _080616D4
- bl sub_8062230
-_080616D4:
- movs r0, 0x3D
- bl sub_803E46C
- ldr r0, _08061730
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08061740
- movs r0, 0x1
- bl sub_8083CE0
- mov r1, r9
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0x7
- bne _08061738
- ldrb r0, [r6, 0x8]
- cmp r0, 0xB
- beq _0806171A
- ldr r5, [sp, 0x6C]
- adds r5, 0x1
- ldr r6, _08061734
- movs r4, 0x5
-_08061704:
- ldr r1, [r6]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x3D
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061704
- str r5, [sp, 0x6C]
-_0806171A:
- movs r0, 0x7
- str r0, [sp, 0x70]
- b _08061926
- .align 2, 0
-_08061720: .4byte gUnknown_202F270
-_08061724: .4byte gDungeonGlobalData
-_08061728: .4byte 0x0001357c
-_0806172C: .4byte gUnknown_202EE10
-_08061730: .4byte gRealInputs
-_08061734: .4byte gUnknown_203B080
-_08061738:
- mov r0, r9
- movs r1, 0
- bl sub_80136E0
-_08061740:
- ldr r0, _08061788
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0806179C
- movs r0, 0x1
- bl sub_8083CE0
- ldr r1, _0806178C
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08061794
- ldr r0, [sp, 0x6C]
- cmp r0, 0
- beq _08061780
- adds r5, r0, 0
- subs r5, 0x1
- ldr r6, _08061790
- movs r4, 0x5
-_0806176A:
- ldr r1, [r6]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x3D
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _0806176A
- str r5, [sp, 0x6C]
-_08061780:
- movs r1, 0
- str r1, [sp, 0x70]
- b _08061926
- .align 2, 0
-_08061788: .4byte gRealInputs
-_0806178C: .4byte gUnknown_202EE10
-_08061790: .4byte gUnknown_203B084
-_08061794:
- adds r0, r1, 0
- movs r1, 0
- bl sub_8013744
-_0806179C:
- ldr r4, _080617C8
- ldrh r1, [r4, 0x2]
- movs r0, 0x8
- ands r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080617DE
- mov r2, r9
- movs r1, 0x18
- ldrsh r0, [r2, r1]
- mov r2, r10
- adds r1, r2, r0
- ldrb r4, [r1]
- str r0, [sp, 0x70]
- bl sub_8083D44
- adds r0, r4, 0
- bl sub_8062748
-_080617C4:
- movs r7, 0
- b _08061926
- .align 2, 0
-_080617C8: .4byte gRealInputs
-_080617CC:
- bl sub_8083D08
- mov r0, r9
- movs r1, 0x18
- ldrsh r4, [r0, r1]
- cmp r4, 0
- beq _080617DC
- b _08061900
-_080617DC:
- b _080618C4
-_080617DE:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080617F4
- ldr r2, _080618BC
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- bne _080617F4
- b _0806190C
-_080617F4:
- mov r2, r9
- movs r0, 0x18
- ldrsh r1, [r2, r0]
- mov r2, r10
- adds r0, r2, r1
- ldrb r7, [r0]
- str r1, [sp, 0x70]
- bl sub_8062D68
- bl sub_8083D08
- ldr r0, _080618C0
- str r5, [r0]
- movs r0, 0x2F
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0xC
- movs r1, 0
- bl sub_8044F5C
- ldr r0, [sp, 0x74]
- movs r1, 0x1
- bl CannotMove
- lsls r0, 24
- cmp r0, 0
- beq _08061832
- movs r0, 0x2F
- bl sub_8044FF0
-_08061832:
- mov r0, sp
- movs r1, 0x16
- bl sub_805FC30
- ldr r5, _080618BC
- adds r6, r4, 0
- adds r4, r5, 0
- adds r4, 0x2A
-_08061842:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x3D
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08061866
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80136E0
-_08061866:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0806187E
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8013744
-_0806187E:
- ldrh r1, [r6, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08061892
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _080618A4
-_08061892:
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- bne _080617CC
- bl sub_8083D30
-_080618A4:
- ldrh r1, [r6, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080618B4
- ldrb r0, [r4]
- cmp r0, 0
- beq _08061842
-_080618B4:
- bl sub_8083D30
- b _080617C4
- .align 2, 0
-_080618BC: .4byte gUnknown_202EE10
-_080618C0: .4byte gUnknown_202EE6C
-_080618C4:
- ldr r0, _080618FC
- bl PlaySoundEffect
- mov r0, r8
- adds r0, 0x94
- strb r7, [r0]
- mov r1, r8
- adds r1, 0x78
- movs r0, 0x6
- strb r0, [r1]
- mov r0, r8
- adds r0, 0x80
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- subs r0, 0x8
- strh r4, [r0]
- mov r2, r8
- ldrb r0, [r2, 0x7]
- cmp r0, 0
- beq _080618F0
- b _080617C4
-_080618F0:
- ldr r0, [sp, 0x74]
- movs r1, 0x1
- bl MoveIfPossible
- b _080617C4
- .align 2, 0
-_080618FC: .4byte 0x00000133
-_08061900:
- adds r0, r7, 0
- bl sub_8062748
- movs r0, 0
- str r0, [sp, 0x78]
- b _080617C4
-_0806190C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08061920
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- bne _08061920
- b _080616BA
-_08061920:
- bl sub_8083D30
- movs r7, 0x1
-_08061926:
- ldr r1, [sp, 0x78]
- cmp r1, 0
- beq _08061932
- ldr r0, _08061958
- bl AddMenuCursorSprite
-_08061932:
- movs r0, 0x3D
- bl sub_803E46C
- cmp r7, 0
- bne _0806193E
- b _08061646
-_0806193E:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0x7C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08061958: .4byte gUnknown_202EE10
- thumb_func_end sub_80615E8
-
- thumb_func_start sub_806195C
-sub_806195C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r5, r0, 0
- mov r9, r1
- str r2, [sp, 0x10]
- adds r7, r3, 0
- subs r5, 0x1
- adds r0, r7, 0
- bl sub_80073B8
- ldr r0, _080619B4
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- adds r3, r7, 0
- bl xxx_call_draw_string
- movs r0, 0x14
- mov r8, r0
- movs r1, 0xB
- mov r0, r9
- adds r0, 0x8
-_08061994:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r9
- bge _08061994
- bl sub_8083654
- ldrb r1, [r0, 0x9]
- add r0, sp, 0x4
- bl GetAvailTacticsforLvl
- movs r6, 0x1
- negs r6, r6
- movs r1, 0
- mov r10, r1
- b _080619FC
- .align 2, 0
-_080619B4: .4byte gUnknown_80FE954
-_080619B8:
- ldr r0, _080619DC
- adds r1, r4, 0
- bl CopyTacticsNameToBuffer
- ldr r0, [sp, 0x10]
- adds r0, 0x94
- ldrb r0, [r0]
- cmp r0, r4
- bne _080619E4
- mov r0, r10
- str r0, [sp]
- movs r0, 0x10
- mov r1, r8
- ldr r2, _080619E0
- adds r3, r7, 0
- bl xxx_format_and_draw
- b _080619F4
- .align 2, 0
-_080619DC: .4byte gAvailablePokemonNames
-_080619E0: .4byte gUnknown_8106BEC
-_080619E4:
- mov r1, r10
- str r1, [sp]
- movs r0, 0x10
- mov r1, r8
- ldr r2, _08061A34
- adds r3, r7, 0
- bl xxx_format_and_draw
-_080619F4:
- adds r6, 0x1
- movs r0, 0xC
- add r8, r0
- adds r5, 0x1
-_080619FC:
- cmp r6, 0x9
- bgt _08061A1E
- cmp r5, 0
- blt _080619F4
- cmp r5, 0xB
- bgt _080619F4
- mov r0, sp
- adds r0, r5
- adds r0, 0x4
- ldrb r4, [r0]
- cmp r6, 0x8
- bhi _08061A1A
- mov r1, r9
- adds r0, r1, r6
- strb r4, [r0]
-_08061A1A:
- cmp r4, 0xB
- bne _080619B8
-_08061A1E:
- adds r0, r7, 0
- bl sub_80073E0
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08061A34: .4byte gUnknown_8106BF4
- thumb_func_end sub_806195C
-
- thumb_func_start sub_8061A38
-sub_8061A38:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x130
- adds r5, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- add r4, sp, 0xB0
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [r4, 0x4]
- movs r1, 0x2
- strh r1, [r4, 0x8]
- strh r1, [r4, 0xA]
- movs r2, 0x12
- strh r2, [r4, 0xC]
- movs r0, 0xE
- strh r0, [r4, 0xE]
- strh r2, [r4, 0x10]
- strh r1, [r4, 0x12]
- ldr r0, _08061AA4
- str r0, [r4, 0x14]
- movs r0, 0x3
- str r0, [r4, 0x1C]
- str r0, [r4, 0x34]
- str r0, [r4, 0x4C]
- movs r0, 0
- str r0, [sp, 0x114]
- mov r8, r0
- ldr r0, _08061AA8
- ldr r1, [r0]
- ldrb r0, [r5, 0x4]
- lsls r0, 2
- ldr r2, _08061AAC
- adds r1, r2
- adds r1, r0
- ldr r1, [r1]
- str r1, [sp, 0x110]
- ldr r0, [r1, 0x70]
- str r0, [sp, 0x11C]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08061AA0
- cmp r0, 0x47
- bne _08061AB0
-_08061AA0:
- movs r0, 0x1
- b _08061AB2
- .align 2, 0
-_08061AA4: .4byte gUnknown_202F270
-_08061AA8: .4byte gDungeonGlobalData
-_08061AAC: .4byte 0x0001357c
-_08061AB0:
- movs r0, 0
-_08061AB2:
- adds r1, r0, 0
- cmp r1, 0
- beq _08061ACE
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r0, [sp, 0x10]
- str r0, [sp, 0x14]
- str r0, [sp, 0x18]
- movs r1, 0x1
- str r1, [sp, 0x118]
- b _08061AFE
-_08061ACE:
- cmp r6, 0
- beq _08061AE6
- movs r0, 0x4
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- str r1, [sp, 0x14]
- str r1, [sp, 0x18]
- movs r2, 0x1
- str r2, [sp, 0x118]
- b _08061AFE
-_08061AE6:
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0x5
- str r0, [sp, 0x10]
- str r6, [sp, 0x14]
- str r6, [sp, 0x18]
- movs r0, 0x4
- str r0, [sp, 0x118]
-_08061AFE:
- add r2, sp, 0x5C
- movs r0, 0
- strh r0, [r2]
- mov r1, sp
- adds r1, 0x72
- strh r0, [r1]
- ldr r3, _08061BB4
- strh r0, [r3, 0x18]
- subs r1, 0x56
- str r1, [sp, 0x12C]
- add r2, sp, 0x80
- mov r9, r2
- adds r7, r3, 0
-_08061B18:
- movs r0, 0
- mov r10, r0
- movs r1, 0
- str r1, [sp, 0x120]
- movs r2, 0
- str r2, [sp, 0x124]
- movs r0, 0x1
- str r0, [sp, 0x128]
- ldr r4, _08061BB8
- ldr r1, _08061BBC
- add r2, sp, 0x118
- ldrb r2, [r2]
- strb r2, [r1]
- add r0, sp, 0x114
- ldrb r0, [r0]
- strb r0, [r1, 0x1]
- movs r0, 0xA
- strb r0, [r1, 0x2]
- mov r2, r10
- strb r2, [r1, 0x3]
- add r0, sp, 0xB0
- movs r1, 0x1
- bl sub_803ECB4
- ldr r0, [sp, 0x12C]
- ldr r1, [sp, 0x110]
- bl sub_8069844
- ldr r1, [sp, 0x114]
- lsls r0, r1, 2
- mov r5, sp
- adds r5, r0
- adds r5, 0x4
- ldr r0, [r5]
- mov r2, r10
- str r2, [sp]
- ldr r2, [sp, 0x12C]
- add r3, sp, 0x80
- bl CreatePokemonInfoTabScreen
- add r0, sp, 0x114
- ldrh r0, [r0]
- strh r0, [r7, 0x1E]
- add r1, sp, 0x118
- ldrh r1, [r1]
- strh r1, [r7, 0x20]
- movs r2, 0
- ldrsh r0, [r4, r2]
- adds r0, 0xF
- lsls r0, 3
- strh r0, [r7, 0xC]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r7, 0xE]
- mov r2, r10
- strh r2, [r7, 0x14]
- strh r2, [r7, 0x4]
- movs r0, 0x10
- strh r0, [r7, 0x6]
- mov r0, r10
- str r0, [r7]
- adds r0, r7, 0
- adds r0, 0x28
- bl sub_801317C
- mov r1, r10
- strh r1, [r7, 0x18]
- strh r1, [r7, 0x1A]
- strh r1, [r7, 0x1C]
- ldr r5, [r5]
- cmp r5, 0x1
- bne _08061C10
- movs r2, 0
- add r1, sp, 0x8C
- b _08061BC8
- .align 2, 0
-_08061BB4: .4byte gUnknown_202EE10
-_08061BB8: .4byte gUnknown_2027370
-_08061BBC: .4byte gUnknown_202F270
-_08061BC0:
- adds r1, 0x4
- adds r2, 0x1
- cmp r2, 0x7
- bgt _08061BCE
-_08061BC8:
- ldr r0, [r1]
- cmp r0, 0
- bne _08061BC0
-_08061BCE:
- cmp r2, 0
- beq _08061C44
- movs r0, 0x1
- str r0, [sp, 0x124]
- strh r2, [r7, 0x1A]
- b _08061C38
-_08061BDA:
- movs r0, 0x18
- ldrsh r2, [r7, r0]
- lsls r1, r2, 2
- add r0, sp, 0x8C
- adds r0, r1
- ldr r4, [r0]
- mov r8, r2
- bl sub_8083D44
- adds r0, r4, 0
- bl sub_806285C
- movs r1, 0
- str r1, [sp, 0x128]
- b _080621E4
-_08061BF8:
- movs r2, 0x18
- ldrsh r0, [r7, r2]
- mov r2, r9
- adds r1, r2, r0
- ldrb r4, [r1]
- mov r8, r0
- bl sub_8083D44
- adds r0, r4, 0
- bl sub_806262C
- b _08062082
-_08061C10:
- cmp r5, 0x4
- bne _08061C48
- movs r1, 0
- add r2, sp, 0x80
- ldrb r0, [r2]
- cmp r0, 0
- beq _08061C2E
- mov r2, r9
-_08061C20:
- adds r1, 0x1
- cmp r1, 0x7
- bgt _08061C2E
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08061C20
-_08061C2E:
- cmp r1, 0
- beq _08061C44
- movs r0, 0x1
- str r0, [sp, 0x120]
- strh r1, [r7, 0x1A]
-_08061C38:
- movs r0, 0x8
- strh r0, [r7, 0x1C]
- adds r0, r7, 0
- movs r1, 0
- bl sub_80137B0
-_08061C44:
- mov r1, r8
- strh r1, [r7, 0x18]
-_08061C48:
- ldr r0, _08061CF8
- bl AddMenuCursorSprite
- movs r0, 0
- ldr r1, _08061CFC
- bl sub_8014140
- adds r4, r0, 0
- movs r5, 0
- movs r6, 0
- ldr r2, [sp, 0x120]
- cmp r2, 0
- beq _08061C80
- mov r1, r9
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _08061C70
- movs r5, 0x1
- bl sub_80623B0
-_08061C70:
- add r1, sp, 0x5C
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08061C80
- movs r6, 0x1
- bl sub_8062230
-_08061C80:
- ldr r2, [sp, 0x124]
- cmp r2, 0
- beq _08061CA6
- mov r1, r9
- ldr r0, [r1, 0x2C]
- cmp r0, 0
- beq _08061C94
- movs r5, 0x1
- bl sub_80623B0
-_08061C94:
- movs r1, 0x72
- add r1, sp
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08061CA6
- movs r6, 0x1
- bl sub_8062230
-_08061CA6:
- movs r0, 0x1C
- bl sub_803E46C
- ldr r0, _08061D00
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _08061D4E
- bl sub_80048C8
- lsls r0, 24
- cmp r0, 0
- bne _08061D4E
- ldr r0, _08061D04
- ldrh r1, [r0, 0x2]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08061CD6
- ldr r2, _08061CF8
- adds r0, r2, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _08061D08
-_08061CD6:
- movs r0, 0
- bl sub_8083CE0
- ldr r2, [sp, 0x114]
- adds r2, 0x1
- str r2, [sp, 0x114]
- lsls r0, r2, 2
- add r0, sp
- adds r0, 0x4
- ldr r0, [r0]
- cmp r0, 0
- beq _08061CF0
- b _080621E6
-_08061CF0:
- movs r0, 0
- str r0, [sp, 0x114]
- b _080621E6
- .align 2, 0
-_08061CF8: .4byte gUnknown_202EE10
-_08061CFC: .4byte gUnknown_8106B8C
-_08061D00: .4byte gUnknown_202F270
-_08061D04: .4byte gRealInputs
-_08061D08:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08061D1A
- adds r0, r2, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08061D4E
-_08061D1A:
- movs r0, 0
- bl sub_8083CE0
- ldr r1, [sp, 0x114]
- subs r1, 0x1
- str r1, [sp, 0x114]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08061D30
- b _080621E6
-_08061D30:
- movs r2, 0x5
- str r2, [sp, 0x114]
- ldr r0, [sp, 0x18]
- cmp r0, 0
- beq _08061D3C
- b _080621E6
-_08061D3C:
- add r1, sp, 0x18
-_08061D3E:
- subs r1, 0x4
- ldr r0, [sp, 0x114]
- subs r0, 0x1
- str r0, [sp, 0x114]
- ldr r0, [r1]
- cmp r0, 0
- beq _08061D3E
- b _080621E6
-_08061D4E:
- ldr r1, [sp, 0x124]
- cmp r1, 0
- bne _08061D56
- b _08061E8A
-_08061D56:
- cmp r4, 0x2
- bne _08061D98
- cmp r5, 0
- beq _08061D98
- movs r0, 0
- bl sub_8083CE0
- mov r2, r9
- ldr r0, [r2, 0x2C]
- cmp r0, 0
- beq _08061D8E
- ldr r5, _08061D94
- movs r4, 0x5
-_08061D70:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061D70
- movs r1, 0x72
- add r1, sp
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08061D8E:
- movs r2, 0x7
- mov r8, r2
- b _080621E6
- .align 2, 0
-_08061D94: .4byte gUnknown_203B080
-_08061D98:
- ldr r0, _08061DDC
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08061DF0
- movs r0, 0
- bl sub_8083CE0
- ldr r1, _08061DE0
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0x7
- bne _08061DE8
- mov r1, r9
- ldr r0, [r1, 0x2C]
- cmp r0, 0
- bne _08061DBE
- b _08061F04
-_08061DBE:
- ldr r5, _08061DE4
- movs r4, 0x5
-_08061DC2:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061DC2
- movs r2, 0x72
- add r2, sp
- b _08061EFE
- .align 2, 0
-_08061DDC: .4byte gRealInputs
-_08061DE0: .4byte gUnknown_202EE10
-_08061DE4: .4byte gUnknown_203B080
-_08061DE8:
- adds r0, r1, 0
- movs r1, 0
- bl sub_80136E0
-_08061DF0:
- cmp r4, 0x1
- bne _08061E28
- cmp r6, 0
- beq _08061E28
- movs r2, 0x72
- add r2, sp
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _08061E06
- b _08061F96
-_08061E06:
- ldr r5, _08061E24
- movs r4, 0x5
-_08061E0A:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061E0A
- movs r1, 0x72
- add r1, sp
- b _08061F90
- .align 2, 0
-_08061E24: .4byte gUnknown_203B084
-_08061E28:
- ldr r0, _08061E74
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08061E36
- b _08061FB0
-_08061E36:
- movs r0, 0x1
- bl sub_8083CE0
- ldr r1, _08061E78
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08061E80
- movs r2, 0x72
- add r2, sp
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _08061E54
- b _08061F96
-_08061E54:
- ldr r5, _08061E7C
- movs r4, 0x5
-_08061E58:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061E58
- movs r1, 0x72
- add r1, sp
- b _08061F90
- .align 2, 0
-_08061E74: .4byte gRealInputs
-_08061E78: .4byte gUnknown_202EE10
-_08061E7C: .4byte gUnknown_203B084
-_08061E80:
- adds r0, r1, 0
- movs r1, 0
- bl sub_8013744
- b _08061FB0
-_08061E8A:
- ldr r0, [sp, 0x120]
- cmp r0, 0
- bne _08061E92
- b _08061FB0
-_08061E92:
- cmp r4, 0x2
- bne _08061EC0
- cmp r5, 0
- beq _08061EC0
- mov r1, r9
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _08061F04
- ldr r5, _08061EBC
- movs r4, 0x5
-_08061EA6:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061EA6
- b _08061EFC
- .align 2, 0
-_08061EBC: .4byte gUnknown_203B080
-_08061EC0:
- ldr r0, _08061F0C
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08061F20
- movs r0, 0x1
- bl sub_8083CE0
- ldr r1, _08061F10
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0x7
- bne _08061F18
- mov r1, r9
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _08061F04
- ldr r5, _08061F14
- movs r4, 0x5
-_08061EE8:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061EE8
-_08061EFC:
- add r2, sp, 0x5C
-_08061EFE:
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_08061F04:
- movs r0, 0x7
- mov r8, r0
- b _080621E6
- .align 2, 0
-_08061F0C: .4byte gRealInputs
-_08061F10: .4byte gUnknown_202EE10
-_08061F14: .4byte gUnknown_203B080
-_08061F18:
- adds r0, r1, 0
- movs r1, 0
- bl sub_80136E0
-_08061F20:
- cmp r4, 0x1
- bne _08061F50
- cmp r6, 0
- beq _08061F50
- add r2, sp, 0x5C
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _08061F96
- ldr r5, _08061F4C
- movs r4, 0x5
-_08061F36:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061F36
- b _08061F8E
- .align 2, 0
-_08061F4C: .4byte gUnknown_203B084
-_08061F50:
- ldr r0, _08061F9C
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08061FB0
- movs r0, 0x1
- bl sub_8083CE0
- ldr r1, _08061FA0
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08061FA8
- add r2, sp, 0x5C
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _08061F96
- ldr r5, _08061FA4
- movs r4, 0x5
-_08061F7A:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061F7A
-_08061F8E:
- add r1, sp, 0x5C
-_08061F90:
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_08061F96:
- movs r2, 0
- mov r8, r2
- b _080621E6
- .align 2, 0
-_08061F9C: .4byte gRealInputs
-_08061FA0: .4byte gUnknown_202EE10
-_08061FA4: .4byte gUnknown_203B084
-_08061FA8:
- adds r0, r1, 0
- movs r1, 0
- bl sub_8013744
-_08061FB0:
- bl sub_80048C8
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08061FBE
- b _08061C48
-_08061FBE:
- ldr r5, _0806208C
- ldrh r1, [r5, 0x2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08061FDA
- ldr r0, [sp, 0x124]
- cmp r0, 0
- beq _08061FD2
- b _08061BDA
-_08061FD2:
- ldr r2, [sp, 0x120]
- cmp r2, 0
- beq _08061FDA
- b _08061BF8
-_08061FDA:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08061FF0
- ldr r2, _08062090
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- bne _08061FF0
- b _080621CA
-_08061FF0:
- ldr r0, [sp, 0x124]
- cmp r0, 0
- beq _080620BC
- movs r1, 0x18
- ldrsh r2, [r7, r1]
- lsls r1, r2, 2
- add r0, sp, 0x8C
- adds r0, r1
- ldr r6, [r0]
- mov r8, r2
- bl sub_8062D68
- ldr r0, _08062094
- str r4, [r0]
- bl sub_8083D08
- movs r0, 0xC
- movs r1, 0
- bl sub_8044F5C
- add r0, sp, 0xB0
- movs r1, 0x16
- bl sub_805FC30
- ldr r4, _08062090
- movs r2, 0x2A
- adds r2, r4
- mov r10, r2
-_08062028:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1C
- bl sub_803E46C
- ldrh r1, [r5, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0806204C
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_0806204C:
- ldrh r1, [r5, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08062064
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_08062064:
- ldrh r1, [r5, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062078
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08062098
-_08062078:
- bl sub_8083D08
- adds r0, r6, 0
- bl sub_806285C
-_08062082:
- movs r0, 0
- str r0, [sp, 0x128]
- mov r10, r0
- b _080621E6
- .align 2, 0
-_0806208C: .4byte gRealInputs
-_08062090: .4byte gUnknown_202EE10
-_08062094: .4byte gUnknown_202EE6C
-_08062098:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080620A8
- mov r1, r10
- ldrb r0, [r1]
- cmp r0, 0
- beq _08062028
-_080620A8:
- bl sub_8083D30
- b _080621BA
-_080620AE:
- bl sub_8083D08
- movs r1, 0x18
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bne _080621B0
- b _08062198
-_080620BC:
- ldr r2, [sp, 0x120]
- cmp r2, 0
- bne _080620C4
- b _080621C0
-_080620C4:
- movs r0, 0x18
- ldrsh r1, [r7, r0]
- mov r2, r9
- adds r0, r2, r1
- ldrb r6, [r0]
- mov r8, r1
- bl sub_8062D68
- ldr r0, _08062190
- ldr r1, [sp, 0x124]
- str r1, [r0]
- bl sub_8083D08
- movs r0, 0x28
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0xC
- movs r1, 0
- bl sub_8044F5C
- ldr r0, [sp, 0x110]
- movs r1, 0x1
- bl CannotMove
- lsls r0, 24
- cmp r0, 0
- beq _08062102
- movs r0, 0x28
- bl sub_8044FF0
-_08062102:
- add r0, sp, 0xB0
- movs r1, 0x16
- bl sub_805FC30
- ldr r4, _08062194
- movs r2, 0x2A
- adds r2, r4
- mov r10, r2
-_08062112:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1C
- bl sub_803E46C
- ldrh r1, [r5, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08062136
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_08062136:
- ldrh r1, [r5, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0806214E
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_0806214E:
- ldrh r1, [r5, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062162
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08062174
-_08062162:
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- bne _080620AE
- bl sub_8083D30
-_08062174:
- ldrh r1, [r5, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08062186
- mov r2, r10
- ldrb r0, [r2]
- cmp r0, 0
- beq _08062112
-_08062186:
- bl sub_8083D30
- movs r0, 0
- mov r10, r0
- b _080621E6
- .align 2, 0
-_08062190: .4byte gUnknown_202EE6C
-_08062194: .4byte gUnknown_202EE10
-_08062198:
- ldr r0, _080621AC
- bl PlaySoundEffect
- ldr r0, [sp, 0x11C]
- adds r0, 0x8C
- adds r1, r6, 0
- bl ToggleIQSkill
- b _080621BA
- .align 2, 0
-_080621AC: .4byte 0x00000133
-_080621B0:
- adds r0, r6, 0
- bl sub_806262C
- movs r1, 0
- str r1, [sp, 0x128]
-_080621BA:
- movs r2, 0
- mov r10, r2
- b _080621E6
-_080621C0:
- bl sub_8083D08
- movs r0, 0x1
- mov r10, r0
- b _080621E6
-_080621CA:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080621DE
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080621DE
- b _08061C48
-_080621DE:
- bl sub_8083D30
- movs r1, 0x1
-_080621E4:
- mov r10, r1
-_080621E6:
- ldr r2, [sp, 0x128]
- cmp r2, 0
- beq _08062204
- ldr r0, [sp, 0x120]
- cmp r0, 0
- bne _080621F8
- ldr r1, [sp, 0x124]
- cmp r1, 0
- beq _080621FE
-_080621F8:
- ldr r0, _0806222C
- bl AddMenuCursorSprite
-_080621FE:
- movs r0, 0x1C
- bl sub_803E46C
-_08062204:
- mov r2, r10
- cmp r2, 0
- bne _0806220C
- b _08061B18
-_0806220C:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- ldr r0, [sp, 0x110]
- bl LoadIQSkills
- add sp, 0x130
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806222C: .4byte gUnknown_202EE10
- thumb_func_end sub_8061A38
-
- thumb_func_start sub_8062230
-sub_8062230:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- ldr r0, _08062380
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08062248
- b _08062372
-_08062248:
- ldr r0, _08062384
- mov r9, r0
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _08062388
- ands r1, r0
- ldr r3, _0806238C
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r2, r3, 0
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08062390
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r6, _08062394
- mov r8, r6
- mov r0, r8
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08062398
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _0806239C
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- movs r4, 0x80
- lsls r4, 7
- mov r0, sp
- ldrh r1, [r0]
- ldr r6, _080623A0
- adds r0, r6, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- orrs r4, r0
- ands r3, r1
- orrs r3, r4
- str r3, [sp]
- movs r1, 0x80
- lsls r1, 6
- mov r5, sp
- ldrh r0, [r5, 0x2]
- ldr r2, _080623A4
- ands r2, r0
- orrs r2, r1
- ands r2, r6
- movs r3, 0xFC
- lsls r3, 2
- ldrh r1, [r5, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r3
- mov r1, r8
- ands r0, r1
- movs r3, 0xF
- movs r1, 0xF0
- lsls r1, 8
- ldr r4, _080623A8
- ands r0, r4
- orrs r0, r1
- strh r0, [r5, 0x4]
- mov r6, r9
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x8
- ands r0, r4
- lsls r0, 4
- ldrh r1, [r5, 0x6]
- ands r3, r1
- orrs r3, r0
- strh r3, [r5, 0x6]
- movs r3, 0
- ldrsh r0, [r6, r3]
- lsls r0, 3
- adds r0, 0x40
- ldr r1, _080623AC
- ands r0, r1
- movs r1, 0xFE
- lsls r1, 8
- ands r2, r1
- orrs r2, r0
- strh r2, [r5, 0x2]
- movs r1, 0x80
- lsls r1, 1
- mov r0, sp
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_08062372:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08062380: .4byte gUnknown_202EDCC
-_08062384: .4byte gUnknown_2027370
-_08062388: .4byte 0x0000feff
-_0806238C: .4byte 0xffff0000
-_08062390: .4byte 0x0000fdff
-_08062394: .4byte 0x0000f3ff
-_08062398: .4byte 0x0000efff
-_0806239C: .4byte 0x0000dfff
-_080623A0: .4byte 0x00003fff
-_080623A4: .4byte 0x0000c1ff
-_080623A8: .4byte 0x00000fff
-_080623AC: .4byte 0x000001ff
- thumb_func_end sub_8062230
-
- thumb_func_start sub_80623B0
-sub_80623B0:
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r0, _080624D4
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080623C2
- b _080624CA
-_080623C2:
- ldr r6, _080624D8
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _080624DC
- ands r1, r0
- ldr r3, _080624E0
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r2, r3, 0
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080624E4
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r5, _080624E8
- adds r0, r5, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080624EC
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080624F0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- movs r4, 0x80
- lsls r4, 7
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080624F4
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- orrs r4, r0
- ands r3, r1
- orrs r3, r4
- str r3, [sp]
- mov r3, sp
- movs r2, 0xFC
- lsls r2, 2
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r5
- movs r2, 0xF
- movs r1, 0xF0
- lsls r1, 8
- ldr r4, _080624F8
- ands r0, r4
- orrs r0, r1
- strh r0, [r3, 0x4]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x70
- ands r0, r4
- lsls r0, 4
- ldrh r1, [r3, 0x6]
- ands r2, r1
- orrs r2, r0
- strh r2, [r3, 0x6]
- movs r1, 0
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x40
- ldr r1, _080624FC
- ands r0, r1
- strh r0, [r3, 0x2]
- subs r1, 0xFF
- mov r0, sp
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_080624CA:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080624D4: .4byte gUnknown_202EDCC
-_080624D8: .4byte gUnknown_2027370
-_080624DC: .4byte 0x0000feff
-_080624E0: .4byte 0xffff0000
-_080624E4: .4byte 0x0000fdff
-_080624E8: .4byte 0x0000f3ff
-_080624EC: .4byte 0x0000efff
-_080624F0: .4byte 0x0000dfff
-_080624F4: .4byte 0x00003fff
-_080624F8: .4byte 0x00000fff
-_080624FC: .4byte 0x000001ff
- thumb_func_end sub_80623B0
-
- thumb_func_start sub_8062500
-sub_8062500:
- push {r4,r5,lr}
- ldr r0, _0806257C
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08062574
- ldr r5, _08062580
- ldr r0, _08062584
- ldrh r2, [r0]
- ldr r1, _08062588
- ands r1, r2
- ldr r2, _0806258C
- ands r1, r2
- ldr r4, _08062590
- ands r1, r4
- ldr r2, _08062594
- ands r1, r2
- ldr r2, _08062598
- ands r1, r2
- movs r3, 0x80
- lsls r3, 7
- ldr r2, _0806259C
- ands r1, r2
- orrs r1, r3
- strh r1, [r0]
- movs r3, 0xFC
- lsls r3, 2
- ldrh r2, [r0, 0x4]
- movs r1, 0xFC
- lsls r1, 8
- ands r1, r2
- orrs r1, r3
- ands r1, r4
- movs r3, 0xF
- movs r2, 0xF0
- lsls r2, 8
- ldr r4, _080625A0
- ands r1, r4
- orrs r1, r2
- strh r1, [r0, 0x4]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- lsls r1, 3
- adds r1, 0x60
- ands r1, r4
- lsls r1, 4
- ldrh r2, [r0, 0x6]
- ands r3, r2
- orrs r3, r1
- strh r3, [r0, 0x6]
- movs r1, 0x70
- strh r1, [r0, 0x2]
- adds r1, 0x90
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_08062574:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806257C: .4byte gUnknown_202EDCC
-_08062580: .4byte gUnknown_2027370
-_08062584: .4byte gUnknown_202F268
-_08062588: .4byte 0x0000feff
-_0806258C: .4byte 0x0000fdff
-_08062590: .4byte 0x0000f3ff
-_08062594: .4byte 0x0000efff
-_08062598: .4byte 0x0000dfff
-_0806259C: .4byte 0x00003fff
-_080625A0: .4byte 0x00000fff
- thumb_func_end sub_8062500
-
- thumb_func_start sub_80625A4
-sub_80625A4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- adds r7, r0, 0
- mov r9, r1
- mov r0, sp
- bl sub_801317C
- movs r4, 0
- cmp r4, r7
- bge _0806261A
- subs r0, r7, 0x1
- mov r8, r0
- mov r5, sp
-_080625C4:
- lsls r0, r4, 2
- add r0, r9
- ldr r0, [r0]
- mov r1, sp
- bl sub_80639E4
- adds r6, r4, 0x1
- b _080625E8
-_080625D4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080625E2
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- beq _080625E8
-_080625E2:
- bl sub_8083D30
- b _08062614
-_080625E8:
- cmp r4, r8
- bge _080625F0
- bl sub_8062500
-_080625F0:
- mov r0, sp
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _08062628
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062610
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _080625D4
-_08062610:
- bl sub_8083D08
-_08062614:
- adds r4, r6, 0
- cmp r4, r7
- blt _080625C4
-_0806261A:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08062628: .4byte gRealInputs
- thumb_func_end sub_80625A4
-
- thumb_func_start sub_806262C
-sub_806262C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x88
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- mov r0, sp
- adds r0, 0x70
- str r0, [sp, 0x84]
- add r0, sp, 0x10
- mov r8, r0
- movs r0, 0
- mov r9, r0
- add r7, sp, 0x4
- add r6, sp, 0x80
-_08062650:
- add r0, sp, 0x4
- bl sub_801317C
- mov r0, r8
- bl sub_80140B4
- mov r0, r8
- str r6, [r0, 0x14]
- movs r1, 0x1
- add r0, sp, 0x80
- strb r1, [r0]
- mov r0, r9
- strb r0, [r6, 0x1]
- movs r0, 0x10
- strb r0, [r6, 0x2]
- mov r0, r9
- strb r0, [r6, 0x3]
- mov r0, r8
- bl sub_803ECB4
- movs r0, 0
- bl sub_80073B8
- mov r0, r10
- bl GetIQSkillName
- adds r1, r0, 0
- ldr r0, _080626CC
- bl strcpy
- ldr r0, _080626D0
- ldr r2, [r0]
- mov r0, r9
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- mov r0, r10
- bl GetIQSkillDescription
- adds r2, r0, 0
- mov r0, r9
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x10
- movs r3, 0
- bl xxx_format_and_draw
- movs r0, 0
- bl sub_80073E0
- mov r0, r10
- bl GetIQSkillDescription
- ldr r1, [sp, 0x84]
- bl sub_8097DF0
- adds r5, r0, 0
- b _080626EA
- .align 2, 0
-_080626CC: .4byte gUnknown_202DE58
-_080626D0: .4byte gUnknown_80FE95C
-_080626D4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080626E2
- ldrb r0, [r7, 0x2]
- cmp r0, 0
- beq _080626EA
-_080626E2:
- movs r4, 0x1
- bl sub_8083D30
- b _08062718
-_080626EA:
- cmp r5, 0
- beq _080626F2
- bl sub_8062500
-_080626F2:
- add r0, sp, 0x4
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _0806272C
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062712
- ldrb r0, [r7, 0x1]
- cmp r0, 0
- beq _080626D4
-_08062712:
- movs r4, 0
- bl sub_8083D08
-_08062718:
- cmp r4, 0
- bne _08062730
- cmp r5, 0
- beq _08062730
- adds r0, r5, 0
- ldr r1, [sp, 0x84]
- bl sub_80625A4
- b _08062650
- .align 2, 0
-_0806272C: .4byte gRealInputs
-_08062730:
- movs r0, 0x4
- movs r1, 0x3E
- bl sub_803E708
- add sp, 0x88
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806262C
-
- thumb_func_start sub_8062748
-sub_8062748:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x88
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- mov r0, sp
- adds r0, 0x70
- str r0, [sp, 0x84]
- add r0, sp, 0x10
- mov r8, r0
- movs r0, 0
- mov r9, r0
- add r7, sp, 0x4
- add r6, sp, 0x80
-_0806276C:
- add r0, sp, 0x4
- bl sub_801317C
- mov r0, r8
- bl sub_80140B4
- mov r0, r8
- str r6, [r0, 0x14]
- movs r1, 0x1
- add r0, sp, 0x80
- strb r1, [r0]
- mov r0, r9
- strb r0, [r6, 0x1]
- movs r0, 0x10
- strb r0, [r6, 0x2]
- mov r0, r9
- strb r0, [r6, 0x3]
- mov r0, r8
- bl sub_803ECB4
- movs r0, 0
- bl sub_80073B8
- ldr r0, _080627E0
- mov r1, r10
- bl CopyTacticsNameToBuffer
- ldr r0, _080627E4
- ldr r2, [r0]
- mov r0, r9
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- mov r0, r10
- bl GetTacticsDescription
- adds r2, r0, 0
- mov r0, r9
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x10
- movs r3, 0
- bl xxx_format_and_draw
- movs r0, 0
- bl sub_80073E0
- mov r0, r10
- bl GetTacticsDescription
- ldr r1, [sp, 0x84]
- bl sub_8097DF0
- adds r5, r0, 0
- b _080627FE
- .align 2, 0
-_080627E0: .4byte gUnknown_202DE58
-_080627E4: .4byte gUnknown_80FE960
-_080627E8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080627F6
- ldrb r0, [r7, 0x2]
- cmp r0, 0
- beq _080627FE
-_080627F6:
- movs r4, 0x1
- bl sub_8083D30
- b _0806282C
-_080627FE:
- cmp r5, 0
- beq _08062806
- bl sub_8062500
-_08062806:
- add r0, sp, 0x4
- movs r1, 0
- bl nullsub_34
- movs r0, 0x3E
- bl sub_803E46C
- ldr r0, _08062840
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062826
- ldrb r0, [r7, 0x1]
- cmp r0, 0
- beq _080627E8
-_08062826:
- movs r4, 0
- bl sub_8083D08
-_0806282C:
- cmp r4, 0
- bne _08062844
- cmp r5, 0
- beq _08062844
- adds r0, r5, 0
- ldr r1, [sp, 0x84]
- bl sub_80625A4
- b _0806276C
- .align 2, 0
-_08062840: .4byte gRealInputs
-_08062844:
- movs r0, 0x4
- movs r1, 0x3E
- bl sub_803E708
- add sp, 0x88
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8062748
-
- thumb_func_start sub_806285C
-sub_806285C:
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0xD4
- mov r10, r0
- add r0, sp, 0x10
- mov r8, r0
- add r5, sp, 0x70
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x74]
- add r1, sp, 0x78
- movs r6, 0
- movs r0, 0
- mov r9, r0
- movs r0, 0x2
- strh r0, [r1]
- strh r0, [r1, 0x2]
- add r1, sp, 0x7C
- movs r0, 0x1A
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x7E
- movs r1, 0xC
- strh r1, [r0]
- add r0, sp, 0x80
- strh r1, [r0]
- add r0, sp, 0x84
- add r4, sp, 0xD0
- str r4, [r0]
- add r0, sp, 0x88
- movs r1, 0x3
- str r1, [r0, 0x4]
- add r0, sp, 0xA0
- str r1, [r0, 0x4]
- add r0, sp, 0xB8
- str r1, [r0, 0x4]
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0x60
- bl memcpy
- add r0, sp, 0x4
- bl sub_801317C
- movs r0, 0x1
- strb r0, [r4]
- strb r6, [r4, 0x1]
- movs r0, 0x10
- strb r0, [r4, 0x2]
- strb r6, [r4, 0x3]
- mov r0, r8
- movs r1, 0x1
- bl sub_803ECB4
- movs r0, 0
- bl sub_80073B8
- mov r0, r10
- bl sub_808E4FC
- adds r1, r0, 0
- ldr r0, _0806291C
- bl strcpy
- ldr r0, _08062920
- ldr r2, [r0]
- mov r0, r9
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- mov r0, r10
- bl sub_808E51C
- adds r2, r0, 0
- mov r0, r9
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x10
- movs r3, 0
- bl xxx_format_and_draw
- movs r0, 0
- bl sub_80073E0
- add r4, sp, 0x4
- b _08062938
- .align 2, 0
-_0806291C: .4byte gUnknown_202DE58
-_08062920: .4byte gUnknown_80FE964
-_08062924:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08062932
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _08062938
-_08062932:
- bl sub_8083D30
- b _0806295C
-_08062938:
- add r0, sp, 0x4
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _08062974
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062958
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08062924
-_08062958:
- bl sub_8083D08
-_0806295C:
- movs r0, 0x4
- movs r1, 0x3E
- bl sub_803E708
- add sp, 0xD4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08062974: .4byte gRealInputs
- thumb_func_end sub_806285C
-
- thumb_func_start DrawFieldGiveItemMenu
-DrawFieldGiveItemMenu:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x80
- mov r8, r0
- adds r6, r1, 0
- add r4, sp, 0x1C
- ldr r1, _080629AC
- adds r0, r4, 0
- movs r2, 0x60
- bl memcpy
- movs r0, 0
- str r0, [sp, 0x7C]
- mov r1, r8
- cmp r1, 0
- beq _080629A2
- subs r0, 0x1
- str r0, [r1]
-_080629A2:
- cmp r6, 0x1
- bne _080629BA
- add r1, sp, 0x4C
- ldr r0, _080629B0
- b _080629C2
- .align 2, 0
-_080629AC: .4byte gUnknown_8106C30
-_080629B0: .4byte gUnknown_8106C00
-_080629B4:
- bl sub_8083D08
- b _08062AF4
-_080629BA:
- cmp r6, 0x2
- bne _080629CA
- add r1, sp, 0x4C
- ldr r0, _08062A38
-_080629C2:
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
-_080629CA:
- add r0, sp, 0x4
- adds r1, r4, 0
- movs r2, 0
- bl DrawFieldTeamMenu
- movs r0, 0x1
- bl sub_80073B8
- ldr r0, _08062A3C
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0x3
- movs r3, 0x1
- bl xxx_call_draw_string
- movs r0, 0x1
- bl sub_80073E0
- ldr r0, _08062A40
- mov r9, r0
- add r7, sp, 0x8
- ldr r1, _08062A44
- mov r10, r1
-_080629FC:
- mov r2, r10
- movs r3, 0x18
- ldrsh r0, [r2, r3]
- lsls r0, 2
- adds r0, r7, r0
- ldr r5, [r0]
- cmp r5, 0
- blt _08062A70
- ldr r0, _08062A48
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08062A4C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _08062A5A
- cmp r9, r5
- beq _08062A5A
- cmp r6, 0x1
- bne _08062A50
- adds r0, r4, 0
- bl sub_8062B74
- b _08062A5A
- .align 2, 0
-_08062A38: .4byte gUnknown_8106C18
-_08062A3C: .4byte gWhichTextPtr2
-_08062A40: .4byte 0xfffffc27
-_08062A44: .4byte gUnknown_202EE10
-_08062A48: .4byte gDungeonGlobalData
-_08062A4C: .4byte 0x0001357c
-_08062A50:
- cmp r6, 0x2
- bne _08062A5A
- adds r0, r4, 0
- bl sub_8062CA8
-_08062A5A:
- mov r9, r5
- adds r0, r4, 0
- movs r1, 0
- bl sub_806A2BC
- adds r0, r4, 0x4
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
-_08062A70:
- ldr r5, _08062B40
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- ldr r4, _08062B44
- ldrh r1, [r4, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08062A98
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80136E0
-_08062A98:
- ldrh r1, [r4, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08062AB0
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8013744
-_08062AB0:
- ldrh r1, [r4, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062AC4
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08062AD8
-_08062AC4:
- movs r3, 0x18
- ldrsh r0, [r5, r3]
- add r1, sp, 0x18
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _08062AD4
- b _080629B4
-_08062AD4:
- bl sub_8083D30
-_08062AD8:
- ldr r0, _08062B44
- ldrh r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08062AEC
- ldr r5, _08062B48
- ldrb r0, [r5]
- cmp r0, 0
- beq _080629FC
-_08062AEC:
- bl sub_8083D30
- movs r0, 0x1
- str r0, [sp, 0x7C]
-_08062AF4:
- ldr r4, _08062B40
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- bl sub_804AA60
- bl GetLeaderEntity
- movs r1, 0
- bl sub_806A2BC
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0x4
- movs r1, 0x3E
- bl sub_803E708
- ldr r1, [sp, 0x7C]
- cmp r1, 0
- bne _08062B3C
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r7, r0
- ldr r5, [r0]
- mov r3, r8
- cmp r3, 0
- beq _08062B38
- str r5, [r3]
-_08062B38:
- cmp r5, 0
- bge _08062B4C
-_08062B3C:
- movs r0, 0
- b _08062B5A
- .align 2, 0
-_08062B40: .4byte gUnknown_202EE10
-_08062B44: .4byte gRealInputs
-_08062B48: .4byte gUnknown_202EE3A
-_08062B4C:
- ldr r0, _08062B6C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r5, _08062B70
- adds r0, r5
- adds r0, r1
- ldr r0, [r0]
-_08062B5A:
- add sp, 0x80
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08062B6C: .4byte gDungeonGlobalData
-_08062B70: .4byte 0x0001357c
- thumb_func_end DrawFieldGiveItemMenu
-
- thumb_func_start sub_8062B74
-sub_8062B74:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r10, r0
- ldr r0, [r0, 0x70]
- mov r9, r0
- movs r0, 0x2
- bl sub_8008C54
- movs r0, 0x2
- bl sub_80073B8
- ldr r0, _08062BD0
- mov r1, r10
- movs r2, 0
- bl SetMessageArgument
- ldr r0, _08062BD4
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- movs r1, 0
- movs r3, 0x2
- bl xxx_format_and_draw
- movs r1, 0x10
- mov r8, r1
- mov r0, r9
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08062BDE
- mov r0, r9
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08062BCA
- cmp r0, 0x47
- bne _08062BD8
-_08062BCA:
- movs r0, 0x1
- b _08062BDA
- .align 2, 0
-_08062BD0: .4byte gAvailablePokemonNames
-_08062BD4: .4byte gUnknown_80FE978
-_08062BD8:
- movs r0, 0
-_08062BDA:
- cmp r0, 0
- beq _08062BF4
-_08062BDE:
- ldr r2, _08062BF0
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- mov r1, r8
- movs r3, 0x2
- bl xxx_format_and_draw
- b _08062C8A
- .align 2, 0
-_08062BF0: .4byte gUnknown_8106C90
-_08062BF4:
- movs r7, 0
- movs r4, 0x8C
- lsls r4, 1
- add r4, r9
- adds r5, r4, 0
-_08062BFE:
- add r0, sp, 0x4
- movs r1, 0
- movs r2, 0xC
- bl memset
- movs r0, 0x6A
- str r0, [sp, 0x8]
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08062C80
- mov r1, r9
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _08062C22
- movs r0, 0x2
- b _08062C24
-_08062C22:
- movs r0, 0x4
-_08062C24:
- str r0, [sp, 0x4]
- mov r0, r10
- adds r1, r5, 0
- movs r2, 0x1
- bl IsMoveUsable_2
- add r1, sp, 0x4
- movs r2, 0
- lsls r0, 24
- cmp r0, 0
- bne _08062C3C
- movs r2, 0x1
-_08062C3C:
- strb r2, [r1, 0x8]
- ldr r0, _08062CA0
- adds r1, r5, 0
- add r2, sp, 0x4
- bl sub_80928C0
- ldrb r1, [r4]
- movs r0, 0x2
- ands r0, r1
- movs r6, 0xD
- cmp r0, 0
- bne _08062C6C
- movs r6, 0x8
- cmp r7, 0
- beq _08062C6C
- mov r2, r8
- subs r2, 0x2
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0x2
- movs r1, 0xC
- movs r3, 0x78
- bl sub_80078A4
-_08062C6C:
- movs r0, 0
- str r0, [sp]
- adds r0, r6, 0
- mov r1, r8
- ldr r2, _08062CA4
- movs r3, 0x2
- bl xxx_format_and_draw
- movs r0, 0xC
- add r8, r0
-_08062C80:
- adds r4, 0x8
- adds r5, 0x8
- adds r7, 0x1
- cmp r7, 0x3
- ble _08062BFE
-_08062C8A:
- movs r0, 0x2
- bl sub_80073E0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08062CA0: .4byte gUnknown_202DE58
-_08062CA4: .4byte gUnknown_8106C98
- thumb_func_end sub_8062B74
-
- thumb_func_start sub_8062CA8
-sub_8062CA8:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r5, [r4, 0x70]
- movs r0, 0x2
- bl sub_8008C54
- movs r0, 0x2
- bl sub_80073B8
- ldr r0, _08062CF8
- adds r1, r4, 0
- movs r2, 0
- bl SetMessageArgument
- ldr r0, _08062CFC
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- movs r1, 0
- movs r3, 0x2
- bl xxx_format_and_draw
- movs r7, 0x8
- movs r6, 0x12
- adds r0, r5, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08062D08
- adds r0, r5, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08062CF4
- cmp r0, 0x47
- bne _08062D00
-_08062CF4:
- movs r0, 0x1
- b _08062D02
- .align 2, 0
-_08062CF8: .4byte gAvailablePokemonNames
-_08062CFC: .4byte gUnknown_80FE940
-_08062D00:
- movs r0, 0
-_08062D02:
- adds r4, r0, 0
- cmp r4, 0
- beq _08062D18
-_08062D08:
- ldr r2, _08062D14
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- b _08062D2C
- .align 2, 0
-_08062D14: .4byte gUnknown_8106C90
-_08062D18:
- adds r2, r5, 0
- adds r2, 0x60
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062D3C
- ldr r2, _08062D38
- str r4, [sp]
- adds r0, r7, 0
-_08062D2C:
- adds r1, r6, 0
- movs r3, 0x2
- bl xxx_format_and_draw
- b _08062D52
- .align 2, 0
-_08062D38: .4byte gUnknown_8106C9C
-_08062D3C:
- ldr r0, _08062D60
- adds r1, r2, 0
- bl sub_8045C18
- ldr r2, _08062D64
- str r4, [sp]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r3, 0x2
- bl xxx_format_and_draw
-_08062D52:
- movs r0, 0x2
- bl sub_80073E0
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08062D60: .4byte gUnknown_202DE58
-_08062D64: .4byte gUnknown_8106C98
- thumb_func_end sub_8062CA8
-
- thumb_func_start sub_8062D68
-sub_8062D68:
- push {lr}
- ldr r0, _08062D84
- movs r1, 0
- strh r1, [r0, 0x1E]
- strh r1, [r0, 0x20]
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- strh r1, [r0, 0x14]
- adds r0, 0x28
- bl sub_801317C
- pop {r0}
- bx r0
- .align 2, 0
-_08062D84: .4byte gUnknown_202EE10
- thumb_func_end sub_8062D68
-
- thumb_func_start sub_8062D88
-sub_8062D88:
- movs r0, 0x1
- bx lr
- thumb_func_end sub_8062D88
-
- thumb_func_start sub_8062D8C
-sub_8062D8C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r10, r0
- ldrb r5, [r0, 0x4]
- ldr r0, _08062E24
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08062E28
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x4]
- adds r7, r0, 0
-_08062DAE:
- movs r0, 0
- mov r9, r0
- movs r6, 0
- movs r4, 0
- adds r2, r7, 0x4
- mov r8, r2
-_08062DBA:
- ldr r0, _08062E24
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _08062E28
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- bl sub_8071A8C
- lsls r0, 24
- cmp r0, 0
- beq _08062DDA
- cmp r4, r5
- bne _08062DD8
- mov r9, r6
-_08062DD8:
- adds r6, 0x1
-_08062DDA:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08062DBA
- adds r0, r7, 0
- movs r1, 0
- bl sub_806A2BC
- mov r0, r8
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
- movs r0, 0x1
- bl sub_8044C10
- str r6, [sp]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x1
- mov r3, r9
- bl sub_8062F90
- lsls r0, 24
- cmp r0, 0
- beq _08062E10
- b _08062F80
-_08062E10:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bne _08062E6C
- adds r6, r5, 0
- movs r4, 0
- b _08062E2E
- .align 2, 0
-_08062E24: .4byte gDungeonGlobalData
-_08062E28: .4byte 0x0001357c
-_08062E2C:
- adds r4, 0x1
-_08062E2E:
- cmp r4, 0x3
- bgt _08062E54
- adds r5, 0x1
- cmp r5, 0x3
- ble _08062E3A
- movs r5, 0
-_08062E3A:
- ldr r0, _08062E64
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08062E68
- adds r0, r2
- adds r0, r1
- ldr r7, [r0]
- adds r0, r7, 0
- bl sub_8071A8C
- lsls r0, 24
- cmp r0, 0
- beq _08062E2C
-_08062E54:
- mov r0, r10
- strb r5, [r0, 0x4]
- cmp r6, r5
- beq _08062F32
- movs r0, 0
- bl sub_8083CE0
- b _08062F32
- .align 2, 0
-_08062E64: .4byte gDungeonGlobalData
-_08062E68: .4byte 0x0001357c
-_08062E6C:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7
- bne _08062EC0
- adds r6, r5, 0
- movs r4, 0
- b _08062E80
-_08062E7E:
- adds r4, 0x1
-_08062E80:
- cmp r4, 0x3
- bgt _08062EA6
- subs r5, 0x1
- cmp r5, 0
- bge _08062E8C
- movs r5, 0x3
-_08062E8C:
- ldr r0, _08062EB8
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08062EBC
- adds r0, r2
- adds r0, r1
- ldr r7, [r0]
- adds r0, r7, 0
- bl sub_8071A8C
- lsls r0, 24
- cmp r0, 0
- beq _08062E7E
-_08062EA6:
- mov r0, r10
- strb r5, [r0, 0x4]
- cmp r6, r5
- beq _08062F32
- movs r0, 0
- bl sub_8083CE0
- b _08062F32
- .align 2, 0
-_08062EB8: .4byte gDungeonGlobalData
-_08062EBC: .4byte 0x0001357c
-_08062EC0:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bne _08062ED6
- bl sub_805F1A0
- bl sub_80637E8
- b _08062F32
-_08062ED6:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bne _08062EF6
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- bl sub_805F1A0
- movs r1, 0x1
- bl sub_8063A70
- b _08062F32
-_08062EF6:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x33
- bne _08062F16
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- bl sub_805F1A0
- movs r1, 0
- bl sub_8063A70
- b _08062F32
-_08062F16:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1F
- bne _08062F3A
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- bl sub_805F1A0
- bl sub_8063B54
-_08062F32:
- movs r0, 0x1
- bl sub_8044C10
- b _08062F5E
-_08062F3A:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x21
- bne _08062F5E
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- bl sub_805F1A0
- movs r1, 0x1
- bl sub_8063CF0
- movs r0, 0x1
- bl sub_8044C10
-_08062F5E:
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- bne _08062F6A
- b _08062DAE
-_08062F6A:
- ldr r0, [sp, 0x4]
- movs r1, 0
- bl sub_806A2BC
- ldr r0, [sp, 0x4]
- adds r0, 0x4
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
-_08062F80:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8062D8C
-
- thumb_func_start sub_8062F90
-sub_8062F90:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xE8
- mov r8, r0
- str r3, [sp, 0xDC]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0xD4]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0xD8]
- ldr r0, [r0, 0x70]
- mov r9, r0
- bl GetLeaderEntity
- ldr r0, [r0, 0x70]
- str r0, [sp, 0xE4]
- add r4, sp, 0x70
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x74]
- add r0, sp, 0x78
- movs r6, 0
- movs r1, 0x2
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r1, sp, 0x7C
- movs r0, 0x12
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x7E
- movs r1, 0x10
- strh r1, [r0]
- add r0, sp, 0x80
- strh r1, [r0]
- add r5, sp, 0xD0
- str r5, [sp, 0x84]
- movs r1, 0x3
- str r1, [sp, 0x8C]
- add r0, sp, 0xA0
- str r1, [r0, 0x4]
- add r0, sp, 0xB8
- str r1, [r0, 0x4]
- add r0, sp, 0x10
- adds r1, r4, 0
- movs r2, 0x60
- bl memcpy
- ldr r0, _080630A4
- str r6, [r0]
- movs r3, 0
- ldr r7, [sp, 0xE4]
- adds r7, 0x44
-_08063008:
- lsls r0, r3, 3
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- mov r1, r9
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08063032
- ldrb r1, [r2, 0x1]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08063032
- movs r0, 0xFD
- ands r0, r1
- strb r0, [r2, 0x1]
- ldr r0, _080630A4
- str r3, [r0]
-_08063032:
- adds r3, 0x1
- cmp r3, 0x3
- ble _08063008
-_08063038:
- movs r5, 0
- movs r2, 0
- str r2, [sp, 0xE0]
- mov r10, r2
- add r0, sp, 0xD0
- str r0, [sp]
- add r1, sp, 0x70
- str r1, [sp, 0x4]
- ldr r2, [sp, 0xDC]
- str r2, [sp, 0x8]
- ldr r0, [sp, 0x108]
- str r0, [sp, 0xC]
- mov r0, r8
- mov r1, r9
- ldr r2, [sp, 0xD4]
- add r3, sp, 0x10
- bl sub_80633E4
-_0806305C:
- ldr r0, _080630A8
- add r1, sp, 0x70
- bl AddMenuCursorSprite_
- movs r0, 0x1E
- bl sub_803E46C
- ldr r2, _080630AC
- ldrh r1, [r2, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080630DE
- ldrh r0, [r2]
- lsrs r0, 8
- movs r1, 0x1
- ands r0, r1
- ldr r1, _080630A8
- movs r2, 0x18
- ldrsh r6, [r1, r2]
- cmp r0, 0
- beq _080630BA
- movs r0, 0x8C
- lsls r0, 1
- add r0, r9
- adds r1, r6, 0
- bl sub_8092F80
- ldr r1, _080630A4
- str r0, [r1]
- cmp r6, r0
- beq _080630B0
- movs r0, 0
- bl sub_8083CE0
- b _080630B4
- .align 2, 0
-_080630A4: .4byte gUnknown_202F2D8
-_080630A8: .4byte gUnknown_202EE10
-_080630AC: .4byte gRealInputs
-_080630B0:
- bl sub_8083D30
-_080630B4:
- movs r0, 0x1
- mov r10, r0
- b _080631F4
-_080630BA:
- movs r0, 0x8C
- lsls r0, 1
- add r0, r9
- adds r1, r6, 0
- bl sub_8092D80
- adds r1, r0, 0
- ldr r0, _08063118
- bl sub_8013780
- ldr r1, _08063118
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r6, r0
- beq _080630DE
- movs r0, 0
- bl sub_8083CE0
-_080630DE:
- ldr r2, _0806311C
- ldrh r1, [r2, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08063150
- ldrh r0, [r2]
- lsrs r0, 8
- movs r1, 0x1
- ands r0, r1
- ldr r4, _08063118
- movs r1, 0x18
- ldrsh r6, [r4, r1]
- cmp r0, 0
- beq _0806312E
- movs r0, 0x8C
- lsls r0, 1
- add r0, r9
- adds r1, r6, 0
- bl sub_8093130
- ldr r1, _08063120
- str r0, [r1]
- cmp r6, r0
- beq _08063124
- movs r0, 0
- bl sub_8083CE0
- b _08063128
- .align 2, 0
-_08063118: .4byte gUnknown_202EE10
-_0806311C: .4byte gRealInputs
-_08063120: .4byte gUnknown_202F2D8
-_08063124:
- bl sub_8083D30
-_08063128:
- movs r2, 0x1
- mov r10, r2
- b _080631F4
-_0806312E:
- movs r0, 0x8C
- lsls r0, 1
- add r0, r9
- adds r1, r6, 0
- bl sub_8092DB8
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_8013780
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- cmp r6, r0
- beq _08063150
- movs r0, 0
- bl sub_8083CE0
-_08063150:
- ldr r4, _08063174
- ldrh r1, [r4, 0x4]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08063168
- ldr r6, _08063178
- adds r0, r6, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806317C
-_08063168:
- adds r0, r7, 0
- movs r1, 0x6
- bl SetAction
- b _080631F4
- .align 2, 0
-_08063174: .4byte gRealInputs
-_08063178: .4byte gUnknown_202EE10
-_0806317C:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0806318E
- adds r0, r6, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08063198
-_0806318E:
- adds r0, r7, 0
- movs r1, 0x7
- bl SetAction
- b _080631F4
-_08063198:
- bl sub_8062D88
- ldrh r1, [r4, 0x2]
- ands r0, r1
- cmp r0, 0
- bne _080631AE
- adds r0, r6, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _080631C8
-_080631AE:
- ldr r2, [sp, 0xD4]
- cmp r2, 0
- beq _080631C2
- ldrh r0, [r4]
- lsrs r0, 8
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080631C2
- movs r5, 0x3
-_080631C2:
- bl sub_8083D08
- b _080631F4
-_080631C8:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0806321C
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _08063214
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080631EC
- adds r0, r6, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080631EC
- b _0806305C
-_080631EC:
- bl sub_8083D30
- movs r0, 0x1
- str r0, [sp, 0xE0]
-_080631F4:
- ldr r4, _08063210
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1E
- bl sub_803E46C
- ldrh r0, [r7]
- subs r0, 0x6
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08063224
- b _080633CC
- .align 2, 0
-_08063210: .4byte gUnknown_202EE10
-_08063214:
- movs r5, 0x2
- bl sub_8083D44
- b _080631F4
-_0806321C:
- movs r5, 0x1
- bl sub_8083D44
- b _080631F4
-_08063224:
- mov r1, r10
- cmp r1, 0
- beq _0806322C
- b _08063038
-_0806322C:
- ldr r2, [sp, 0xE0]
- cmp r2, 0
- beq _08063234
- b _080633B6
-_08063234:
- ldr r6, _08063270
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- str r0, [r6]
- cmp r5, 0x1
- bne _08063274
- adds r0, r7, 0
- movs r1, 0x1D
- bl SetAction
- mov r0, r8
- adds r0, 0x24
- ldrb r1, [r0]
- ldr r0, [sp, 0xE4]
- adds r0, 0x48
- strb r1, [r0]
- ldr r1, [r6]
- ldr r0, [sp, 0xE4]
- adds r0, 0x50
- strb r1, [r0]
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0x8
- movs r1, 0x1B
- bl sub_803E708
- b _080633B6
- .align 2, 0
-_08063270: .4byte gUnknown_202F2D8
-_08063274:
- mov r0, r8
- ldr r1, [sp, 0xD4]
- ldr r2, [sp, 0xD8]
- bl sub_8063698
- cmp r5, 0x3
- bne _08063298
- movs r0, 0x20
- bl sub_8044FB4
- adds r6, r0, 0
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- bne _080632CC
- movs r0, 0x21
- b _080632BC
-_08063298:
- cmp r5, 0x2
- bne _080632DE
- mov r2, r9
- ldrb r0, [r2, 0x7]
- cmp r0, 0
- beq _080632BA
- movs r0, 0x1E
- bl sub_8044FB4
- adds r6, r0, 0
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- bne _080632CC
- movs r0, 0x33
- b _080632BC
-_080632BA:
- movs r0, 0x1F
-_080632BC:
- bl sub_8044FB4
- adds r6, r0, 0
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- beq _080632DE
-_080632CC:
- mov r0, r8
- bl sub_8045B60
- adds r2, r0, 0
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80637BC
- b _080633B6
-_080632DE:
- movs r0, 0x2
- bl sub_8009524
- add r0, sp, 0x10
- movs r1, 0x16
- bl sub_805FC30
- ldr r6, _0806337C
- ldr r5, _08063380
- movs r0, 0x2A
- adds r0, r6
- mov r10, r0
- adds r4, r7, 0
-_080632F8:
- adds r0, r6, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- ldrh r1, [r5, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0806331C
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_80136E0
-_0806331C:
- ldrh r1, [r5, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08063334
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8013744
-_08063334:
- bl sub_8062D88
- ldrh r1, [r5, 0x2]
- ands r1, r0
- cmp r1, 0
- bne _0806334A
- adds r0, r6, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08063388
-_0806334A:
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- beq _08063384
- mov r0, r8
- bl sub_8045B60
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_80637A4
- ldrh r0, [r4]
- subs r0, 0x14
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _08063376
- bl sub_8083D08
-_08063376:
- movs r6, 0
- b _080633A0
- .align 2, 0
-_0806337C: .4byte gUnknown_202EE10
-_08063380: .4byte gRealInputs
-_08063384:
- bl sub_8083D30
-_08063388:
- ldrh r1, [r5, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0806339A
- mov r2, r10
- ldrb r0, [r2]
- cmp r0, 0
- beq _080632F8
-_0806339A:
- bl sub_8083D30
- movs r6, 0x1
-_080633A0:
- ldr r0, _080633E0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- cmp r6, 0x1
- bne _080633B2
- b _08063038
-_080633B2:
- movs r0, 0
- str r0, [sp, 0xE0]
-_080633B6:
- movs r0, 0x1
- cmp r0, 0
- beq _080633CC
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0x8
- movs r1, 0x1E
- bl sub_803E708
-_080633CC:
- ldr r0, [sp, 0xE0]
- add sp, 0xE8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080633E0: .4byte gUnknown_202EE10
- thumb_func_end sub_8062F90
-
- thumb_func_start sub_80633E4
-sub_80633E4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r0, [sp, 0x20]
- adds r7, r1, 0
- adds r4, r3, 0
- ldr r0, [sp, 0x44]
- mov r8, r0
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- add r1, sp, 0x8
- ldr r0, _08063508
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- movs r0, 0
- add r5, sp, 0x50
- ldrb r6, [r5]
- mov r5, r8
- strb r6, [r5]
- add r6, sp, 0x4C
- ldrb r6, [r6]
- strb r6, [r5, 0x1]
- strb r0, [r5, 0x3]
- movs r6, 0
- ldr r5, _0806350C
- ldr r0, _08063510
- mov r9, r0
- movs r1, 0x1
- mov r12, r1
- movs r3, 0x8C
- lsls r3, 1
- adds r2, r7, r3
- movs r3, 0x3
-_08063432:
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- beq _0806343E
- adds r6, 0x1
-_0806343E:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08063432
- movs r3, 0x4
- mov r1, r9
- ldr r0, [r1]
- movs r1, 0
- strh r0, [r5, 0x18]
- strh r6, [r5, 0x1A]
- strh r3, [r5, 0x1C]
- add r2, sp, 0x4C
- ldrh r2, [r2]
- strh r2, [r5, 0x1E]
- add r3, sp, 0x50
- ldrh r3, [r3]
- strh r3, [r5, 0x20]
- strh r1, [r5, 0x4]
- movs r0, 0x10
- strh r0, [r5, 0x6]
- strh r1, [r5, 0x14]
- str r1, [r5]
- adds r0, r5, 0
- adds r0, 0x28
- bl sub_801317C
- movs r0, 0x4
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- strh r0, [r4, 0x10]
- strh r0, [r4, 0xE]
- movs r0, 0xD
- mov r6, r8
- strb r0, [r6, 0x2]
- movs r0, 0x2
- strh r0, [r4, 0x8]
- adds r1, r4, 0
- adds r1, 0x18
- adds r0, r4, 0
- adds r0, 0x48
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- adds r1, r4, 0
- adds r1, 0x30
- add r0, sp, 0x8
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r5, 0
- movs r1, 0
- bl sub_80137B0
- ldr r1, _08063514
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0x10
- lsls r0, 3
- strh r0, [r5, 0xC]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r5, 0xE]
- ldr r0, _08063518
- adds r1, r7, 0
- movs r2, 0
- bl SetMessageArgument_2
- movs r3, 0
- movs r5, 0x1
-_080634DE:
- lsls r1, r3, 3
- movs r4, 0x8C
- lsls r4, 1
- adds r1, r4
- adds r1, r7, r1
- ldr r6, [sp, 0x48]
- adds r4, r6, r3
- movs r0, 0
- strb r0, [r4]
- ldrb r1, [r1]
- adds r2, r5, 0
- ands r2, r1
- cmp r2, 0
- bne _0806351C
- ldr r1, _0806350C
- movs r4, 0x18
- ldrsh r0, [r1, r4]
- cmp r0, r3
- bne _08063526
- strh r2, [r1, 0x18]
- b _08063526
- .align 2, 0
-_08063508: .4byte gUnknown_8106CAC
-_0806350C: .4byte gUnknown_202EE10
-_08063510: .4byte gUnknown_202F2D8
-_08063514: .4byte gUnknown_2027370
-_08063518: .4byte gAvailablePokemonNames
-_0806351C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08063526
- strb r5, [r4]
-_08063526:
- adds r3, 0x1
- cmp r3, 0x3
- ble _080634DE
- movs r5, 0x8C
- lsls r5, 1
- adds r2, r7, r5
- mov r6, r10
- str r6, [sp]
- ldr r0, [sp, 0x4C]
- str r0, [sp, 0x4]
- movs r0, 0x4
- ldr r1, [sp, 0x20]
- movs r3, 0
- bl sub_8063578
- movs r0, 0x2
- bl sub_80073B8
- ldr r0, _08063574
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0
- movs r3, 0x2
- bl xxx_format_and_draw
- movs r0, 0x2
- bl sub_80073E0
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08063574: .4byte gUnknown_80FDFE8
- thumb_func_end sub_80633E4
-
- thumb_func_start sub_8063578
-sub_8063578:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- adds r5, r2, 0
- mov r8, r3
- ldr r0, [sp, 0x40]
- ldr r4, [sp, 0x44]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x18]
- ldr r0, [r1, 0x70]
- str r0, [sp, 0x1C]
- mov r0, r8
- bl sub_80073B8
- ldr r0, _080635FC
- ldr r1, [sp, 0x14]
- movs r2, 0
- bl SetMessageArgument
- lsls r4, 3
- adds r4, 0xA
- ldr r0, _08063600
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- mov r3, r8
- bl xxx_format_and_draw
- movs r1, 0
- mov r9, r1
- ldr r0, [sp, 0x10]
- cmp r9, r0
- bge _08063676
- add r1, sp, 0x4
- mov r10, r1
- adds r7, r5, 0
-_080635D0:
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0x6A
- str r0, [sp, 0x8]
- movs r0, 0
- mov r1, r10
- strb r0, [r1, 0x8]
- mov r1, sp
- ldrb r0, [r1, 0x18]
- mov r1, r10
- strb r0, [r1, 0x9]
- ldrb r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08063668
- ldr r1, [sp, 0x1C]
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _08063604
- movs r0, 0x2
- b _08063606
- .align 2, 0
-_080635FC: .4byte gAvailablePokemonNames
-_08063600: .4byte gUnknown_80FE978
-_08063604:
- movs r0, 0x4
-_08063606:
- str r0, [sp, 0x4]
- ldr r0, [sp, 0x14]
- adds r1, r5, 0
- movs r2, 0x1
- bl IsMoveUsable_2
- add r1, sp, 0x4
- movs r2, 0
- lsls r0, 24
- cmp r0, 0
- bne _0806361E
- movs r2, 0x1
-_0806361E:
- strb r2, [r1, 0x8]
- ldr r0, _0806368C
- adds r1, r5, 0
- add r2, sp, 0x4
- bl sub_80928C0
- ldr r0, _08063690
- mov r1, r9
- bl sub_8013800
- adds r4, r0, 0
- ldrb r1, [r7]
- movs r0, 0x2
- ands r0, r1
- movs r6, 0xD
- cmp r0, 0
- bne _08063658
- movs r6, 0x8
- mov r0, r9
- cmp r0, 0
- beq _08063658
- subs r2, r4, 0x2
- movs r0, 0x7
- str r0, [sp]
- mov r0, r8
- movs r1, 0xC
- movs r3, 0x78
- bl sub_80078A4
-_08063658:
- movs r1, 0
- str r1, [sp]
- adds r0, r6, 0
- adds r1, r4, 0
- ldr r2, _08063694
- mov r3, r8
- bl xxx_format_and_draw
-_08063668:
- adds r7, 0x8
- adds r5, 0x8
- movs r0, 0x1
- add r9, r0
- ldr r1, [sp, 0x10]
- cmp r9, r1
- blt _080635D0
-_08063676:
- mov r0, r8
- bl sub_80073E0
- 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
-_0806368C: .4byte gUnknown_202DE58
-_08063690: .4byte gUnknown_202EE10
-_08063694: .4byte gUnknown_8106CC4
- thumb_func_end sub_8063578
-
- thumb_func_start sub_8063698
-sub_8063698:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r4, [r0, 0x70]
- ldr r0, _080636E8
- ldr r0, [r0]
- lsls r0, 3
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- adds r5, r4, r0
- ldr r1, _080636EC
- movs r0, 0
- str r0, [r1]
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- beq _080636FA
- cmp r7, 0
- beq _080636D0
- movs r0, 0x14
- movs r1, 0
- bl sub_8044F5C
-_080636D0:
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08063702
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080636F0
- movs r0, 0x33
- b _080636F2
- .align 2, 0
-_080636E8: .4byte gUnknown_202F2D8
-_080636EC: .4byte gUnknown_202EE6C
-_080636F0:
- movs r0, 0x1E
-_080636F2:
- movs r1, 0
- bl sub_8044F5C
- b _08063702
-_080636FA:
- movs r0, 0x1F
- movs r1, 0
- bl sub_8044F5C
-_08063702:
- cmp r6, 0
- beq _08063716
- movs r0, 0x20
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0x21
- movs r1, 0
- bl sub_8044F5C
-_08063716:
- movs r0, 0x1D
- movs r1, 0
- bl sub_8044F5C
- cmp r6, 0
- bne _0806372A
- movs r0, 0x20
- bl sub_8044FF0
- b _08063754
-_0806372A:
- ldr r5, _080637A0
- ldr r1, [r5]
- adds r0, r4, 0
- bl sub_8063C88
- lsls r0, 24
- cmp r0, 0
- bne _08063740
- movs r0, 0x20
- bl sub_8044FF0
-_08063740:
- ldr r1, [r5]
- adds r0, r4, 0
- bl sub_8063DD4
- lsls r0, 24
- cmp r0, 0
- bne _08063754
- movs r0, 0x21
- bl sub_8044FF0
-_08063754:
- ldr r5, _080637A0
- ldr r1, [r5]
- adds r0, r4, 0
- bl sub_8063DD4
- lsls r0, 24
- cmp r0, 0
- bne _0806376A
- movs r0, 0x21
- bl sub_8044FF0
-_0806376A:
- cmp r7, 0
- beq _08063792
- movs r0, 0
- ldr r1, [r5]
- cmp r1, 0x3
- bgt _08063788
- mov r0, r8
- movs r2, 0x1
- bl IsMoveUsable_1
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r0, r1, 31
-_08063788:
- cmp r0, 0
- bne _08063792
- movs r0, 0x14
- bl sub_8044FF0
-_08063792:
- bl sub_8045064
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080637A0: .4byte gUnknown_202F2D8
- thumb_func_end sub_8063698
-
- thumb_func_start sub_80637A4
-sub_80637A4:
- push {lr}
- adds r2, r1, 0
- ldr r1, _080637B8
- movs r3, 0x18
- ldrsh r1, [r1, r3]
- bl sub_80637BC
- pop {r0}
- bx r0
- .align 2, 0
-_080637B8: .4byte gUnknown_202EE10
- thumb_func_end sub_80637A4
-
- thumb_func_start sub_80637BC
-sub_80637BC:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r2, 0
- ldr r0, _080637E0
- lsls r1, 2
- adds r1, r0
- ldrh r1, [r1]
- adds r0, r4, 0
- bl SetAction
- strb r5, [r4, 0x4]
- ldr r0, _080637E4
- ldr r0, [r0]
- strb r0, [r4, 0xC]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080637E0: .4byte gUnknown_202EE44
-_080637E4: .4byte gUnknown_202F2D8
- thumb_func_end sub_80637BC
-
- thumb_func_start sub_80637E8
-sub_80637E8:
- push {lr}
- adds r3, r0, 0
- ldr r0, _08063828
- ldr r1, [r0]
- ldrb r0, [r3, 0x4]
- lsls r0, 2
- ldr r2, _0806382C
- adds r1, r2
- adds r1, r0
- ldr r0, [r1]
- ldr r0, [r0, 0x70]
- ldrb r1, [r3, 0xC]
- lsls r1, 3
- adds r1, r0, r1
- ldr r2, _08063830
- adds r2, r1
- mov r12, r2
- ldrb r2, [r2]
- movs r1, 0x2
- orrs r1, r2
- mov r2, r12
- strb r1, [r2]
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- ldrb r1, [r3, 0xC]
- movs r2, 0x4
- bl sub_8063834
- pop {r0}
- bx r0
- .align 2, 0
-_08063828: .4byte gDungeonGlobalData
-_0806382C: .4byte 0x0001357c
-_08063830: .4byte 0x00000119
- thumb_func_end sub_80637E8
-
- thumb_func_start sub_8063834
-sub_8063834:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x7C
- str r0, [sp, 0x74]
- str r1, [sp, 0x78]
- adds r4, r2, 0
- mov r0, sp
- bl sub_80140B4
- add r0, sp, 0x70
- str r0, [sp, 0x14]
- movs r1, 0x1
- mov r9, r1
- ldr r3, [sp, 0x78]
- adds r3, 0x1
- add r2, sp, 0x60
- mov r10, r2
- cmp r3, r4
- bge _08063894
- lsls r0, r3, 3
- ldr r1, [sp, 0x74]
- adds r2, r0, r1
- ldrb r1, [r2]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _08063894
- movs r6, 0x2
- movs r5, 0x1
-_08063874:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08063894
- movs r0, 0x1
- add r9, r0
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r4
- bge _08063894
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08063874
-_08063894:
- movs r4, 0
- ldr r6, _0806393C
-_08063898:
- movs r7, 0
- mov r1, r9
- add r2, sp, 0x70
- strb r1, [r2]
- adds r1, r2, 0
- strb r4, [r1, 0x1]
- movs r0, 0xC
- strb r0, [r1, 0x2]
- strb r7, [r1, 0x3]
- strh r4, [r6, 0x1E]
- mov r0, r9
- strh r0, [r6, 0x20]
- ldr r1, _08063940
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0x17
- lsls r0, 3
- strh r0, [r6, 0xC]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r6, 0xE]
- strh r7, [r6, 0x14]
- strh r7, [r6, 0x4]
- movs r0, 0x10
- strh r0, [r6, 0x6]
- str r7, [r6]
- adds r0, r6, 0
- adds r0, 0x28
- bl sub_801317C
- strh r7, [r6, 0x18]
- strh r7, [r6, 0x1A]
- strh r7, [r6, 0x1C]
- mov r0, sp
- movs r1, 0x1
- bl sub_803ECB4
- ldr r0, [sp, 0x78]
- adds r1, r0, r4
- lsls r1, 3
- ldr r2, [sp, 0x74]
- adds r1, r2, r1
- adds r0, r4, 0
- movs r2, 0
- mov r3, r10
- bl sub_8093DE8
- mov r8, r0
-_080638FE:
- mov r0, r8
- cmp r0, 0
- beq _08063908
- bl sub_8062500
-_08063908:
- ldr r5, _08063944
- adds r0, r5, 0
- movs r1, 0
- bl nullsub_34
- movs r0, 0x1C
- bl sub_803E46C
- bl sub_8062D88
- ldr r1, _08063948
- ldrh r1, [r1, 0x2]
- ands r0, r1
- cmp r0, 0
- bne _0806392C
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _0806394C
-_0806392C:
- bl sub_8083D08
- movs r7, 0x1
- mov r1, r8
- cmp r1, 0
- beq _080639AE
- movs r7, 0x2
- b _080639AE
- .align 2, 0
-_0806393C: .4byte gUnknown_202EE10
-_08063940: .4byte gUnknown_2027370
-_08063944: .4byte gUnknown_202EE38
-_08063948: .4byte gRealInputs
-_0806394C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0806395A
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- beq _08063962
-_0806395A:
- bl sub_8083D30
- movs r7, 0x1
- b _080639AE
-_08063962:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08063970
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- beq _08063986
-_08063970:
- adds r0, r4, 0
- cmp r4, 0
- bne _08063978
- mov r4, r9
-_08063978:
- subs r4, 0x1
- cmp r0, r4
- beq _080639AE
- movs r0, 0
- bl sub_8083CE0
- b _080639AE
-_08063986:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08063994
- ldrb r0, [r5, 0x3]
- cmp r0, 0
- beq _080638FE
-_08063994:
- adds r1, r4, 0
- mov r0, r9
- subs r0, 0x1
- cmp r4, r0
- bne _080639A2
- movs r4, 0
- b _080639A4
-_080639A2:
- adds r4, 0x1
-_080639A4:
- cmp r1, r4
- beq _080639AE
- movs r0, 0
- bl sub_8083CE0
-_080639AE:
- cmp r7, 0x1
- beq _080639CA
- cmp r7, 0
- bne _080639B8
- b _08063898
-_080639B8:
- mov r2, r8
- cmp r2, 0
- bne _080639C0
- b _08063898
-_080639C0:
- mov r0, r8
- mov r1, r10
- bl sub_80625A4
- b _08063898
-_080639CA:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0x7C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8063834
-
- thumb_func_start sub_80639E4
-sub_80639E4:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, _08063A5C
- adds r0, r4, 0
- bl sub_80140B4
- ldr r0, _08063A60
- str r0, [r4, 0x14]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_803ECB4
- movs r0, 0
- bl sub_80073B8
- ldr r0, _08063A64
- ldr r1, [r5]
- bl strcpy
- ldr r2, _08063A68
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- ldr r2, [r5, 0x4]
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x10
- movs r3, 0
- bl xxx_format_and_draw
- movs r0, 0
- bl sub_80073E0
- ldr r0, _08063A6C
- strh r4, [r0, 0x1E]
- strh r4, [r0, 0x20]
- strh r4, [r0, 0xC]
- strh r4, [r0, 0xE]
- strh r4, [r0, 0x14]
- strh r4, [r0, 0x4]
- movs r1, 0x10
- strh r1, [r0, 0x6]
- str r4, [r0]
- strh r4, [r0, 0x18]
- strh r4, [r0, 0x1A]
- strh r4, [r0, 0x1C]
- adds r0, r6, 0
- bl sub_801317C
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08063A5C: .4byte gUnknown_202F278
-_08063A60: .4byte gUnknown_8106CC8
-_08063A64: .4byte gAvailablePokemonNames
-_08063A68: .4byte gUnknown_8106CCC
-_08063A6C: .4byte gUnknown_202EE10
- thumb_func_end sub_80639E4
-
- thumb_func_start sub_8063A70
-sub_8063A70:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r1, _08063B1C
- ldr r2, [r1]
- ldrb r1, [r0, 0x4]
- lsls r1, 2
- ldr r3, _08063B20
- adds r2, r3
- adds r2, r1
- ldr r6, [r2]
- ldr r5, [r6, 0x70]
- ldrb r0, [r0, 0xC]
- lsls r0, 3
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r2
- adds r4, r5, r0
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- negs r0, r0
- lsrs r0, 31
- mov r8, r0
- ldr r0, _08063B24
- mov r9, r0
- movs r1, 0x1
- mov r12, r1
- adds r2, r5, r2
- movs r7, 0xF7
- movs r3, 0x3
-_08063ABC:
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- beq _08063ACC
- adds r0, r7, 0
- ands r0, r1
- strb r0, [r2]
-_08063ACC:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08063ABC
- mov r0, r9
- adds r1, r4, 0
- movs r2, 0
- bl sub_80928C0
- mov r3, r8
- cmp r3, 0
- bne _08063AEC
- ldrb r1, [r4]
- movs r0, 0x8
- orrs r0, r1
- strb r0, [r4]
-_08063AEC:
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r5, r1
- bl sub_80936D8
- ldrb r1, [r4, 0x1]
- movs r0, 0x2
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _08063B28
- bl PlaySoundEffect
- mov r3, r10
- cmp r3, 0
- beq _08063B42
- mov r0, r8
- cmp r0, 0
- bne _08063B30
- ldr r0, _08063B2C
- ldr r1, [r0]
- adds r0, r6, 0
- bl SendMessage
- b _08063B3A
- .align 2, 0
-_08063B1C: .4byte gDungeonGlobalData
-_08063B20: .4byte 0x0001357c
-_08063B24: .4byte gUnknown_202DE58
-_08063B28: .4byte 0x00000133
-_08063B2C: .4byte gUnknown_80F8B40
-_08063B30:
- ldr r0, _08063B50
- ldr r1, [r0]
- adds r0, r6, 0
- bl SendMessage
-_08063B3A:
- movs r0, 0x78
- movs r1, 0x1F
- bl sub_803E708
-_08063B42:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08063B50: .4byte gUnknown_80F8B64
- thumb_func_end sub_8063A70
-
- thumb_func_start sub_8063B54
-sub_8063B54:
- push {r4-r6,lr}
- ldr r1, _08063BA4
- ldr r2, [r1]
- ldrb r1, [r0, 0x4]
- lsls r1, 2
- ldr r3, _08063BA8
- adds r2, r3
- adds r2, r1
- ldr r1, [r2]
- ldr r5, [r1, 0x70]
- ldrb r4, [r0, 0xC]
- lsls r4, 3
- movs r6, 0x8C
- lsls r6, 1
- adds r4, r6
- adds r4, r5, r4
- ldr r0, _08063BAC
- adds r1, r4, 0
- movs r2, 0
- bl sub_80928C0
- ldrb r0, [r4]
- movs r1, 0x4
- eors r0, r1
- strb r0, [r4]
- adds r5, r6
- adds r0, r5, 0
- bl sub_80936D8
- ldrb r1, [r4, 0x1]
- movs r0, 0x2
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _08063BB0
- bl PlaySoundEffect
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08063BA4: .4byte gDungeonGlobalData
-_08063BA8: .4byte 0x0001357c
-_08063BAC: .4byte gUnknown_202DE58
-_08063BB0: .4byte 0x00000133
- thumb_func_end sub_8063B54
-
- thumb_func_start sub_8063BB4
-sub_8063BB4:
- push {r4-r7,lr}
- ldr r1, _08063C70
- ldr r2, [r1]
- ldrb r1, [r0, 0x4]
- lsls r1, 2
- ldr r3, _08063C74
- adds r2, r3
- adds r2, r1
- ldr r1, [r2]
- ldr r6, [r1, 0x70]
- ldrb r5, [r0, 0xC]
- ldr r0, _08063C78
- lsls r4, r5, 3
- movs r7, 0x8C
- lsls r7, 1
- adds r1, r4, r7
- adds r1, r6, r1
- movs r2, 0
- bl sub_80928C0
- adds r4, r6, r4
- ldr r0, _08063C7C
- adds r2, r4, r0
- ldrb r1, [r2]
- movs r0, 0x2
- orrs r0, r1
- strb r0, [r2]
- movs r3, 0
- adds r5, 0x1
- cmp r5, 0x3
- bgt _08063C2C
- lsls r2, r5, 3
- adds r0, r2, r6
- adds r1, r7, 0
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08063C2C
- adds r0, r2, r7
- adds r2, r0, r6
- movs r4, 0x2
-_08063C0A:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08063C2C
- adds r3, 0x1
- cmp r3, 0x3
- bgt _08063C2C
- adds r2, 0x8
- adds r5, 0x1
- cmp r5, 0x3
- bgt _08063C2C
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08063C0A
-_08063C2C:
- lsls r0, r5, 3
- adds r0, r6
- movs r4, 0x8C
- lsls r4, 1
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08063C42
- movs r5, 0x4
-_08063C42:
- cmp r5, 0x3
- bgt _08063C5C
- lsls r1, r5, 3
- adds r1, r4
- adds r1, r6, r1
- ldrb r2, [r1]
- movs r0, 0x2
- orrs r0, r2
- strb r0, [r1]
- ldr r0, _08063C80
- movs r2, 0
- bl sub_80928C0
-_08063C5C:
- adds r0, r6, r4
- bl sub_80936D8
- ldr r0, _08063C84
- bl PlaySoundEffect
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08063C70: .4byte gDungeonGlobalData
-_08063C74: .4byte 0x0001357c
-_08063C78: .4byte gUnknown_202DE58
-_08063C7C: .4byte 0x00000119
-_08063C80: .4byte gUnknown_202DEA8
-_08063C84: .4byte 0x00000133
- thumb_func_end sub_8063BB4
-
- thumb_func_start sub_8063C88
-sub_8063C88:
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r7, 0
- adds r5, r1, 0
- lsls r0, r5, 3
- adds r0, r4, r0
- movs r1, 0x8D
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- bl DoesMoveCharge
- lsls r0, 24
- cmp r0, 0
- beq _08063CAE
-_08063CA6:
- movs r0, 0
- b _08063CEA
-_08063CAA:
- movs r7, 0x1
- b _08063CE8
-_08063CAE:
- adds r5, 0x1
- movs r6, 0
- lsls r0, r5, 3
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- adds r4, r0, r4
-_08063CBC:
- ldrh r0, [r4, 0x2]
- bl DoesMoveCharge
- lsls r0, 24
- cmp r0, 0
- bne _08063CA6
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08063CE8
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08063CAA
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x3
- bgt _08063CE8
- adds r6, 0x1
- cmp r6, 0x3
- ble _08063CBC
-_08063CE8:
- adds r0, r7, 0
-_08063CEA:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8063C88
-
- thumb_func_start sub_8063CF0
-sub_8063CF0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r1, _08063D98
- ldr r2, [r1]
- ldrb r1, [r0, 0x4]
- lsls r1, 2
- ldr r3, _08063D9C
- adds r2, r3
- adds r2, r1
- ldr r7, [r2]
- ldr r6, [r7, 0x70]
- ldrb r5, [r0, 0xC]
- movs r0, 0
- mov r8, r0
- ldr r0, _08063DA0
- lsls r4, r5, 3
- movs r1, 0x8C
- lsls r1, 1
- mov r9, r1
- adds r1, r4, r1
- adds r1, r6, r1
- movs r2, 0
- bl sub_80928C0
- adds r4, r6, r4
- ldr r3, _08063DA4
- adds r2, r4, r3
- ldrb r1, [r2]
- movs r0, 0x2
- orrs r0, r1
- strb r0, [r2]
- adds r5, 0x1
- movs r3, 0
- cmp r5, 0x3
- bgt _08063D70
- movs r0, 0x2
- mov r12, r0
- lsls r0, r5, 3
- add r0, r9
- adds r2, r0, r6
- movs r4, 0xFD
-_08063D4E:
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- beq _08063D70
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2]
- movs r1, 0x1
- mov r8, r1
- adds r2, 0x8
- adds r5, 0x1
- adds r3, 0x1
- cmp r3, 0x3
- bgt _08063D70
- cmp r5, 0x3
- ble _08063D4E
-_08063D70:
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r6, r2
- bl sub_80936D8
- ldr r0, _08063DA8
- bl PlaySoundEffect
- mov r3, r10
- cmp r3, 0
- beq _08063DC2
- mov r0, r8
- cmp r0, 0
- beq _08063DB0
- ldr r0, _08063DAC
- ldr r1, [r0]
- adds r0, r7, 0
- bl SendMessage
- b _08063DBA
- .align 2, 0
-_08063D98: .4byte gDungeonGlobalData
-_08063D9C: .4byte 0x0001357c
-_08063DA0: .4byte gUnknown_202DE58
-_08063DA4: .4byte 0x00000119
-_08063DA8: .4byte 0x00000133
-_08063DAC: .4byte gUnknown_80F8B88
-_08063DB0:
- ldr r0, _08063DD0
- ldr r1, [r0]
- adds r0, r7, 0
- bl SendMessage
-_08063DBA:
- movs r0, 0x78
- movs r1, 0x1F
- bl sub_803E708
-_08063DC2:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08063DD0: .4byte gUnknown_80F8BB4
- thumb_func_end sub_8063CF0
-
- thumb_func_start sub_8063DD4
-sub_8063DD4:
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- movs r5, 0
- adds r2, 0x1
- movs r4, 0
- cmp r2, 0x3
- bgt _08063E20
- lsls r0, r2, 3
- movs r6, 0x8C
- lsls r6, 1
- adds r0, r6
- adds r0, r3, r0
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08063E20
- movs r5, 0x1
- adds r2, 0x1
- movs r7, 0x2
- lsls r0, r2, 3
- adds r0, r6
- adds r3, r0, r3
-_08063E04:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _08063E20
- cmp r2, 0x3
- bgt _08063E20
- ldrb r1, [r3]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08063E20
- movs r5, 0x1
- adds r3, 0x8
- adds r2, 0x1
- b _08063E04
-_08063E20:
- cmp r5, 0
- bne _08063E28
- movs r0, 0
- b _08063E2A
-_08063E28:
- movs r0, 0x1
-_08063E2A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8063DD4
-
- thumb_func_start sub_8063E30
-sub_8063E30:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r1, 0x1
- movs r4, 0
- cmp r1, 0x7
- bgt _08063E62
- movs r7, 0x2
- movs r6, 0xFD
- lsls r0, r1, 3
- adds r3, r0, r5
-_08063E44:
- ldrb r2, [r3]
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- beq _08063E62
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r3]
- adds r3, 0x8
- adds r1, 0x1
- adds r4, 0x1
- cmp r4, 0x7
- bgt _08063E62
- cmp r1, 0x7
- ble _08063E44
-_08063E62:
- adds r0, r5, 0
- bl sub_80936F4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8063E30
-
- thumb_func_start sub_8063E70
-sub_8063E70:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xD0
- str r0, [sp, 0xC4]
- adds r7, r1, 0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0xC8]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xCC]
- add r4, sp, 0x60
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x64]
- add r0, sp, 0x68
- movs r6, 0
- movs r1, 0x2
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r1, sp, 0x6C
- movs r0, 0x12
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x6E
- movs r1, 0x10
- strh r1, [r0]
- add r0, sp, 0x70
- strh r1, [r0]
- add r5, sp, 0xC0
- str r5, [sp, 0x74]
- movs r1, 0x3
- str r1, [sp, 0x7C]
- add r0, sp, 0x90
- str r1, [r0, 0x4]
- add r0, sp, 0xA8
- str r1, [r0, 0x4]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x60
- bl memcpy
- ldr r0, _08063F80
- str r6, [r0]
- ldr r1, _08063F84
- mov r8, r1
- mov r9, r0
- ldr r2, _08063F88
- mov r10, r2
-_08063EE0:
- ldr r0, [sp, 0xC4]
- adds r1, r7, 0
- mov r2, sp
- add r3, sp, 0xC0
- bl sub_8064228
-_08063EEC:
- mov r0, r8
- bl AddMenuCursorSprite
- movs r0, 0x1E
- bl sub_803E46C
- mov r0, r10
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08063F2A
- mov r1, r8
- movs r2, 0x18
- ldrsh r4, [r1, r2]
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_8092E1C
- adds r1, r0, 0
- mov r0, r8
- bl sub_8013780
- mov r1, r8
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r4, r0
- beq _08063F2A
- movs r0, 0
- bl sub_8083CE0
-_08063F2A:
- mov r0, r10
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08063F5C
- mov r1, r8
- movs r2, 0x18
- ldrsh r4, [r1, r2]
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_8092E8C
- adds r1, r0, 0
- mov r0, r8
- bl sub_8013780
- mov r1, r8
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r4, r0
- beq _08063F5C
- movs r0, 0
- bl sub_8083CE0
-_08063F5C:
- bl sub_8062D88
- mov r2, r10
- ldrh r1, [r2, 0x2]
- ands r0, r1
- cmp r0, 0
- bne _08063F76
- ldr r2, _08063F84
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08063F8C
-_08063F76:
- bl sub_8083D08
- movs r4, 0
- b _08063FB2
- .align 2, 0
-_08063F80: .4byte gUnknown_202F2D8
-_08063F84: .4byte gUnknown_202EE10
-_08063F88: .4byte gRealInputs
-_08063F8C:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08063FD4
- ldr r0, [sp, 0xCC]
- cmp r0, 0
- beq _08063EEC
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08063FAC
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- beq _08063EEC
-_08063FAC:
- bl sub_8083D30
- movs r4, 0x1
-_08063FB2:
- ldr r5, _08063FD0
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x1E
- bl sub_803E46C
- cmp r4, 0x1
- bne _08063FDC
- movs r0, 0x1
- negs r0, r0
- mov r1, r9
- str r0, [r1]
- b _080640FA
- .align 2, 0
-_08063FD0: .4byte gUnknown_202EE10
-_08063FD4:
- bl sub_8083D44
- movs r4, 0x2
- b _08063FB2
-_08063FDC:
- ldr r6, _08064004
- movs r2, 0x18
- ldrsh r0, [r5, r2]
- str r0, [r6]
- cmp r4, 0x2
- bne _08064008
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0x8
- movs r1, 0x1B
- bl sub_803E708
- ldr r1, [r6]
- adds r0, r7, 0
- movs r2, 0x4
- bl sub_8063834
- b _08063EE0
- .align 2, 0
-_08064004: .4byte gUnknown_202F2D8
-_08064008:
- adds r0, r7, 0
- bl sub_8064310
- mov r0, sp
- movs r1, 0x16
- bl sub_805FC30
- adds r4, r5, 0
- ldr r6, _0806408C
- adds r5, 0x2A
-_0806401C:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08064040
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_08064040:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08064058
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_08064058:
- bl sub_8062D88
- ldrh r1, [r6, 0x2]
- ands r1, r0
- cmp r1, 0
- bne _0806406E
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806409C
-_0806406E:
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- beq _08064098
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0x2
- bne _08064090
- bl sub_8083D08
- b _08064094
- .align 2, 0
-_0806408C: .4byte gRealInputs
-_08064090:
- bl sub_8083D1C
-_08064094:
- movs r4, 0
- b _080640B2
-_08064098:
- bl sub_8083D30
-_0806409C:
- ldrh r1, [r6, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080640AC
- ldrb r0, [r5]
- cmp r0, 0
- beq _0806401C
-_080640AC:
- bl sub_8083D30
- movs r4, 0x1
-_080640B2:
- ldr r6, _080640E4
- adds r0, r6, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- cmp r4, 0x1
- bne _080640CE
- b _08063EE0
-_080640CE:
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- bne _080640E8
- mov r2, r9
- ldr r1, [r2]
- adds r0, r7, 0
- bl sub_8063E30
- b _08063EE0
- .align 2, 0
-_080640E4: .4byte gUnknown_202EE10
-_080640E8:
- cmp r0, 0x2
- bne _080640FA
- mov r0, r9
- ldr r1, [r0]
- adds r0, r7, 0
- movs r2, 0x8
- bl sub_8063834
- b _08063EE0
-_080640FA:
- ldr r1, _08064140
- ldr r2, [r1]
- cmp r2, 0
- bge _08064104
- b _08064214
-_08064104:
- ldr r0, [sp, 0xC8]
- cmp r0, 0
- beq _08064160
- movs r4, 0
- lsls r0, r2, 3
- adds r1, r7, r0
- adds r0, r2, 0x1
- cmp r0, 0x7
- bgt _08064130
- lsls r0, 3
- adds r0, r7
- ldrb r2, [r0]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08064130
- movs r0, 0x2
- ands r0, r2
- lsls r0, 24
- lsrs r0, 24
- negs r0, r0
- lsrs r4, r0, 31
-_08064130:
- ldr r0, _08064144
- movs r2, 0
- bl sub_80928C0
- cmp r4, 0
- beq _0806414C
- ldr r0, _08064148
- b _0806414E
- .align 2, 0
-_08064140: .4byte gUnknown_202F2D8
-_08064144: .4byte gUnknown_202DE58
-_08064148: .4byte gUnknown_80FDF00
-_0806414C:
- ldr r0, _0806415C
-_0806414E:
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- adds r3, r0, 0
- b _08064162
- .align 2, 0
-_0806415C: .4byte gUnknown_80FDF70
-_08064160:
- movs r3, 0x1
-_08064162:
- cmp r3, 0x1
- beq _08064168
- b _08063EE0
-_08064168:
- mov r1, r9
- ldr r0, [r1]
- lsls r0, 3
- adds r0, r7
- movs r1, 0
- strb r1, [r0]
- mov r2, r9
- ldr r0, [r2]
- adds r2, r0, 0x1
- cmp r2, 0x7
- bgt _080641BC
- lsls r0, r2, 3
- adds r4, r7, r0
- ldrb r1, [r4]
- ands r3, r1
- cmp r3, 0
- beq _080641BC
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080641BC
- movs r0, 0
- mov r12, r0
- movs r6, 0x1
- adds r3, r4, 0
- movs r5, 0x2
-_0806419C:
- mov r1, r12
- strb r1, [r4]
- adds r3, 0x8
- adds r2, 0x1
- cmp r2, 0x7
- bgt _080641BC
- adds r4, r3, 0
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080641BC
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0806419C
-_080641BC:
- movs r4, 0
- movs r6, 0x1
- adds r3, r7, 0
- add r5, sp, 0x60
- movs r2, 0x7
-_080641C6:
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080641D8
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- stm r5!, {r0,r1}
- adds r4, 0x1
-_080641D8:
- adds r3, 0x8
- subs r2, 0x1
- cmp r2, 0
- bge _080641C6
- cmp r4, 0x7
- bgt _080641F4
- movs r1, 0
-_080641E6:
- lsls r0, r4, 3
- add r0, sp
- adds r0, 0x60
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x7
- ble _080641E6
-_080641F4:
- add r4, sp, 0x60
- adds r3, r7, 0
- movs r2, 0x7
-_080641FA:
- ldm r4!, {r0,r1}
- stm r3!, {r0,r1}
- subs r2, 0x1
- cmp r2, 0
- bge _080641FA
- ldr r2, _08064210
- ldr r0, [r2]
- cmp r0, 0
- blt _08064214
- movs r0, 0x1
- b _08064216
- .align 2, 0
-_08064210: .4byte gUnknown_202F2D8
-_08064214:
- movs r0, 0
-_08064216:
- add sp, 0xD0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8063E70
-
- thumb_func_start sub_8064228
-sub_8064228:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r0
- mov r10, r1
- adds r5, r2, 0
- adds r7, r3, 0
- movs r1, 0
- movs r0, 0x1
- strb r0, [r7]
- strb r1, [r7, 0x1]
- strb r1, [r7, 0x3]
- mov r8, r1
- ldr r6, _08064304
- ldr r0, _08064308
- mov r12, r0
- movs r4, 0x1
- mov r2, r10
- movs r3, 0x7
-_08064254:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08064262
- movs r1, 0x1
- add r8, r1
-_08064262:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08064254
- mov r2, r12
- ldr r0, [r2]
- movs r4, 0
- strh r0, [r6, 0x18]
- mov r3, r8
- strh r3, [r6, 0x1A]
- strh r3, [r6, 0x1C]
- strh r4, [r6, 0x1E]
- strh r4, [r6, 0x20]
- strh r4, [r6, 0x4]
- movs r0, 0x10
- strh r0, [r6, 0x6]
- strh r4, [r6, 0xC]
- strh r4, [r6, 0xE]
- strh r4, [r6, 0x14]
- str r4, [r6]
- adds r0, r6, 0
- adds r0, 0x28
- bl sub_801317C
- mov r0, r8
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- strh r0, [r5, 0x10]
- strh r0, [r5, 0xE]
- movs r0, 0xE
- strb r0, [r7, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- adds r1, r5, 0
- adds r1, 0x18
- adds r0, r5, 0
- adds r0, 0x48
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r1, r5, 0
- adds r1, 0x30
- adds r0, r5, 0
- adds r0, 0x48
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r6, 0
- movs r1, 0
- bl sub_80137B0
- ldr r0, _0806430C
- mov r7, r9
- ldr r1, [r7, 0x70]
- movs r2, 0
- bl SetMessageArgument_2
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r0, r8
- mov r1, r9
- mov r2, r10
- movs r3, 0
- bl sub_8063578
- 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
-_08064304: .4byte gUnknown_202EE10
-_08064308: .4byte gUnknown_202F2D8
-_0806430C: .4byte gAvailablePokemonNames
- thumb_func_end sub_8064228
-
- thumb_func_start sub_8064310
-sub_8064310:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08064350
- movs r0, 0
- str r0, [r1]
- movs r0, 0x22
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0x21
- movs r1, 0
- bl sub_8044F5C
- ldr r0, _08064354
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_8064358
- lsls r0, 24
- cmp r0, 0
- bne _08064340
- movs r0, 0x21
- bl sub_8044FF0
-_08064340:
- movs r0, 0x1D
- movs r1, 0
- bl sub_8044F5C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08064350: .4byte gUnknown_202EE6C
-_08064354: .4byte gUnknown_202F2D8
- thumb_func_end sub_8064310
-
- thumb_func_start sub_8064358
-sub_8064358:
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- movs r5, 0
- adds r2, 0x1
- movs r4, 0
- cmp r2, 0x7
- bgt _0806439C
- lsls r0, r2, 3
- adds r0, r3, r0
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806439C
- movs r5, 0x1
- adds r2, 0x1
- movs r6, 0x2
- lsls r0, r2, 3
- adds r3, r0, r3
-_08064380:
- adds r4, 0x1
- cmp r4, 0x7
- bgt _0806439C
- cmp r2, 0x7
- bgt _0806439C
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0806439C
- movs r5, 0x1
- adds r3, 0x8
- adds r2, 0x1
- b _08064380
-_0806439C:
- cmp r5, 0
- bne _080643A4
- movs r0, 0
- b _080643A6
-_080643A4:
- movs r0, 0x1
-_080643A6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8064358
-
- thumb_func_start sub_80643AC
-sub_80643AC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xE4
- adds r7, r0, 0
- add r0, sp, 0x68
- mov r9, r0
- mov r1, sp
- adds r1, 0x6C
- str r1, [sp, 0xD0]
- mov r2, sp
- adds r2, 0x6E
- str r2, [sp, 0xD4]
- mov r0, sp
- adds r0, 0x70
- str r0, [sp, 0xD8]
- adds r1, 0xC
- str r1, [sp, 0xDC]
- adds r2, 0x22
- str r2, [sp, 0xE0]
- adds r0, 0x38
- str r0, [sp, 0xC8]
- subs r1, 0x18
- str r1, [sp, 0xC4]
- add r2, sp, 0xC0
- mov r10, r2
- ldr r5, _080644C8
- adds r0, r7, 0x4
- str r0, [sp, 0xCC]
- ldr r1, _080644CC
- mov r8, r1
- movs r6, 0
-_080643F0:
- movs r4, 0
- ldr r0, [sp, 0xC4]
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x64]
- movs r0, 0x2
- mov r2, r9
- strh r0, [r2]
- strh r0, [r2, 0x2]
- movs r0, 0x12
- ldr r1, [sp, 0xD0]
- strh r0, [r1]
- movs r0, 0x4
- ldr r2, [sp, 0xD4]
- strh r0, [r2]
- movs r0, 0x10
- ldr r1, [sp, 0xD8]
- strh r0, [r1]
- mov r2, r10
- str r2, [sp, 0x74]
- movs r0, 0x3
- ldr r1, [sp, 0xDC]
- str r0, [r1, 0x4]
- ldr r2, [sp, 0xE0]
- str r0, [r2, 0x4]
- ldr r1, [sp, 0xC8]
- str r0, [r1, 0x4]
- mov r0, sp
- ldr r1, [sp, 0xC4]
- movs r2, 0x60
- bl memcpy
- bl sub_8083D44
- adds r0, r7, 0x4
- mov r1, sp
- mov r2, r10
- bl sub_806455C
- movs r0, 0x2D
- bl sub_803E46C
- adds r0, r7, 0
- bl sub_80645D4
- strh r4, [r5, 0x8]
- strh r4, [r5, 0xA]
- mov r0, sp
- movs r1, 0x16
- bl sub_805FC30
-_0806445C:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x2D
- bl sub_803E46C
- mov r2, r8
- ldrh r1, [r2, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08064482
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80136E0
-_08064482:
- mov r0, r8
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0806449C
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8013744
-_0806449C:
- mov r2, r8
- ldrh r1, [r2, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080644B2
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08064510
-_080644B2:
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080644D0
- bl sub_8083D08
- ldr r0, [sp, 0xCC]
- bl sub_80645F8
- movs r4, 0x2
- b _0806452A
- .align 2, 0
-_080644C8: .4byte gUnknown_202EE10
-_080644CC: .4byte gRealInputs
-_080644D0:
- movs r2, 0x18
- ldrsh r0, [r5, r2]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- beq _0806450C
- ldr r4, [r7, 0x70]
- adds r4, 0x44
- ldr r1, _08064508
- movs r2, 0x18
- ldrsh r0, [r5, r2]
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r4, 0
- bl SetAction
- bl sub_8083D08
- strb r6, [r4, 0x4]
- strh r6, [r4, 0x8]
- strh r6, [r4, 0xA]
- strb r6, [r4, 0xC]
- strh r6, [r4, 0x10]
- strh r6, [r4, 0x12]
- movs r4, 0
- b _0806452A
- .align 2, 0
-_08064508: .4byte gUnknown_202EE44
-_0806450C:
- bl sub_8083D30
-_08064510:
- mov r0, r8
- ldrh r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064524
- ldr r1, _08064554
- ldrb r0, [r1]
- cmp r0, 0
- beq _0806445C
-_08064524:
- bl sub_8083D30
- movs r4, 0x1
-_0806452A:
- ldr r0, _08064558
- bl AddMenuCursorSprite
- movs r0, 0x2D
- bl sub_803E46C
- cmp r4, 0x2
- bne _0806453C
- b _080643F0
-_0806453C:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0xE4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08064554: .4byte gUnknown_202EE3A
-_08064558: .4byte gUnknown_202EE10
- thumb_func_end sub_80643AC
-
- thumb_func_start sub_806455C
-sub_806455C:
- push {r4,r5,lr}
- sub sp, 0x54
- adds r4, r0, 0
- adds r0, r1, 0
- movs r5, 0
- movs r1, 0x1
- strb r1, [r2]
- strb r5, [r2, 0x1]
- movs r1, 0xC
- strb r1, [r2, 0x2]
- strb r5, [r2, 0x3]
- movs r1, 0x1
- bl sub_803ECB4
- movs r0, 0
- bl sub_80073B8
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl GetMapTile_1
- adds r4, r0, 0
- ldr r0, _080645D0
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0xC
- movs r1, 0
- movs r3, 0
- bl xxx_call_draw_string
- ldr r0, [r4, 0x14]
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _080645C0
- ldr r1, [r4, 0x14]
- add r0, sp, 0x4
- movs r2, 0
- bl SetMessageArgument
- str r5, [sp]
- movs r0, 0x8
- movs r1, 0x12
- add r2, sp, 0x4
- movs r3, 0
- bl xxx_call_draw_string
-_080645C0:
- movs r0, 0
- bl sub_80073E0
- add sp, 0x54
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080645D0: .4byte gUnknown_80FE708
- thumb_func_end sub_806455C
-
- thumb_func_start sub_80645D4
-sub_80645D4:
- push {lr}
- ldr r1, _080645F4
- movs r0, 0
- str r0, [r1]
- movs r0, 0x25
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0xC
- movs r1, 0
- bl sub_8044F5C
- bl sub_8045064
- pop {r0}
- bx r0
- .align 2, 0
-_080645F4: .4byte gUnknown_202EE6C
- thumb_func_end sub_80645D4
-
- thumb_func_start sub_80645F8
-sub_80645F8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x110
- str r0, [sp, 0xE4]
- mov r0, sp
- adds r0, 0x84
- str r0, [sp, 0xF4]
- mov r1, sp
- adds r1, 0x88
- str r1, [sp, 0xF8]
- mov r2, sp
- adds r2, 0x8C
- str r2, [sp, 0xFC]
- mov r3, sp
- adds r3, 0x8E
- str r3, [sp, 0x100]
- adds r0, 0xC
- str r0, [sp, 0x104]
- adds r1, 0xC
- str r1, [sp, 0x108]
- adds r2, 0xC
- str r2, [sp, 0x10C]
- adds r3, 0x22
- str r3, [sp, 0xEC]
- adds r0, 0x38
- str r0, [sp, 0xF0]
- add r6, sp, 0x14
- subs r1, 0x74
- str r1, [sp, 0xE8]
- add r2, sp, 0x80
- mov r10, r2
- add r3, sp, 0xE0
- mov r9, r3
-_08064640:
- movs r7, 0
- mov r0, r10
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- ldr r1, [sp, 0xF4]
- str r0, [r1]
- movs r0, 0x2
- ldr r2, [sp, 0xF8]
- strh r0, [r2]
- strh r0, [r2, 0x2]
- movs r0, 0x1A
- ldr r3, [sp, 0xFC]
- strh r0, [r3]
- movs r0, 0xC
- ldr r1, [sp, 0x100]
- strh r0, [r1]
- ldr r2, [sp, 0x104]
- strh r0, [r2]
- mov r3, r9
- ldr r0, [sp, 0x108]
- str r3, [r0]
- movs r0, 0x3
- ldr r1, [sp, 0x10C]
- str r0, [r1, 0x4]
- ldr r2, [sp, 0xEC]
- str r0, [r2, 0x4]
- ldr r3, [sp, 0xF0]
- str r0, [r3, 0x4]
- ldr r0, [sp, 0xE8]
- mov r1, r10
- movs r2, 0x60
- bl memcpy
- adds r0, r6, 0
- bl sub_801317C
- movs r1, 0x1
- add r0, sp, 0xE0
- strb r1, [r0]
- movs r1, 0
- mov r0, r9
- strb r1, [r0, 0x1]
- movs r0, 0x10
- mov r2, r9
- strb r0, [r2, 0x2]
- strb r1, [r2, 0x3]
- ldr r3, [sp, 0xE4]
- movs r1, 0
- ldrsh r0, [r3, r1]
- movs r2, 0x2
- ldrsh r1, [r3, r2]
- bl GetMapTile_1
- ldr r4, [r0, 0x14]
- cmp r4, 0
- bne _080646B8
- b _080647D8
-_080646B8:
- adds r0, r4, 0
- bl GetEntityType
- cmp r0, 0x2
- beq _080646C4
- b _080647D8
-_080646C4:
- ldr r0, [sp, 0xE8]
- movs r1, 0
- bl sub_803ECB4
- adds r0, r4, 0
- bl GetTrapData
- adds r4, r0, 0
- ldrb r1, [r4]
- mov r0, r10
- bl GetTrapName
- movs r0, 0
- bl sub_80073B8
- str r7, [sp]
- movs r0, 0x10
- movs r1, 0
- mov r2, r10
- movs r3, 0
- bl xxx_call_draw_string
- ldr r5, _08064720
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r5
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r1, 0x18
- movs r3, 0
- bl xxx_call_draw_string
- movs r0, 0
- bl sub_80073E0
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- add r1, sp, 0x4
- bl sub_8097DF0
- adds r5, r0, 0
- b _08064738
- .align 2, 0
-_08064720: .4byte gTrapDescriptions
-_08064724:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064732
- ldrb r0, [r6, 0x2]
- cmp r0, 0
- beq _08064738
-_08064732:
- bl sub_8083D30
- b _080647D8
-_08064738:
- cmp r5, 0
- beq _08064740
- bl sub_8062500
-_08064740:
- adds r0, r6, 0
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _08064788
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064760
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08064724
-_08064760:
- bl sub_8083D08
- cmp r5, 0
- beq _080647D8
- movs r4, 0
- cmp r4, r5
- blt _08064770
- b _08064640
-_08064770:
- subs r3, r5, 0x1
- mov r8, r3
-_08064774:
- lsls r0, r4, 2
- add r0, sp
- adds r0, 0x4
- ldr r0, [r0]
- adds r1, r6, 0
- bl sub_80639E4
- adds r7, r4, 0x1
- b _080647A0
- .align 2, 0
-_08064788: .4byte gRealInputs
-_0806478C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0806479A
- ldrb r0, [r6, 0x2]
- cmp r0, 0
- beq _080647A0
-_0806479A:
- bl sub_8083D30
- b _080647CC
-_080647A0:
- cmp r4, r8
- bge _080647A8
- bl sub_8062500
-_080647A8:
- adds r0, r6, 0
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _080647D4
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080647C8
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _0806478C
-_080647C8:
- bl sub_8083D08
-_080647CC:
- adds r4, r7, 0
- cmp r4, r5
- blt _08064774
- b _08064640
- .align 2, 0
-_080647D4: .4byte gRealInputs
-_080647D8:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0x110
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80645F8
-
- thumb_func_start sub_80647F0
-sub_80647F0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xE4
- adds r7, r0, 0
- add r0, sp, 0x68
- mov r9, r0
- mov r1, sp
- adds r1, 0x6C
- str r1, [sp, 0xD0]
- mov r2, sp
- adds r2, 0x6E
- str r2, [sp, 0xD4]
- mov r0, sp
- adds r0, 0x70
- str r0, [sp, 0xD8]
- adds r1, 0xC
- str r1, [sp, 0xDC]
- adds r2, 0x22
- str r2, [sp, 0xE0]
- adds r0, 0x38
- str r0, [sp, 0xC8]
- subs r1, 0x18
- str r1, [sp, 0xC4]
- add r2, sp, 0xC0
- mov r10, r2
- ldr r5, _0806490C
- adds r0, r7, 0x4
- str r0, [sp, 0xCC]
- ldr r1, _08064910
- mov r8, r1
- movs r6, 0
-_08064834:
- movs r4, 0
- ldr r0, [sp, 0xC4]
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x64]
- movs r0, 0x2
- mov r2, r9
- strh r0, [r2]
- strh r0, [r2, 0x2]
- movs r0, 0x12
- ldr r1, [sp, 0xD0]
- strh r0, [r1]
- movs r0, 0x4
- ldr r2, [sp, 0xD4]
- strh r0, [r2]
- movs r0, 0x10
- ldr r1, [sp, 0xD8]
- strh r0, [r1]
- mov r2, r10
- str r2, [sp, 0x74]
- movs r0, 0x3
- ldr r1, [sp, 0xDC]
- str r0, [r1, 0x4]
- ldr r2, [sp, 0xE0]
- str r0, [r2, 0x4]
- ldr r1, [sp, 0xC8]
- str r0, [r1, 0x4]
- mov r0, sp
- ldr r1, [sp, 0xC4]
- movs r2, 0x60
- bl memcpy
- bl sub_8083D44
- adds r0, r7, 0x4
- mov r1, sp
- mov r2, r10
- bl sub_80649A0
- movs r0, 0x2E
- bl sub_803E46C
- adds r0, r7, 0
- bl sub_8064A18
- strh r4, [r5, 0x8]
- strh r4, [r5, 0xA]
- mov r0, sp
- movs r1, 0x16
- bl sub_805FC30
-_080648A0:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x2E
- bl sub_803E46C
- mov r2, r8
- ldrh r1, [r2, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080648C6
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80136E0
-_080648C6:
- mov r0, r8
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080648E0
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8013744
-_080648E0:
- mov r2, r8
- ldrh r1, [r2, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080648F6
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08064954
-_080648F6:
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _08064914
- bl sub_8083D08
- ldr r0, [sp, 0xCC]
- bl sub_8064A3C
- movs r4, 0x2
- b _0806496E
- .align 2, 0
-_0806490C: .4byte gUnknown_202EE10
-_08064910: .4byte gRealInputs
-_08064914:
- movs r2, 0x18
- ldrsh r0, [r5, r2]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- beq _08064950
- ldr r4, [r7, 0x70]
- adds r4, 0x44
- ldr r1, _0806494C
- movs r2, 0x18
- ldrsh r0, [r5, r2]
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r4, 0
- bl SetAction
- bl sub_8083D08
- strb r6, [r4, 0x4]
- strh r6, [r4, 0x8]
- strh r6, [r4, 0xA]
- strb r6, [r4, 0xC]
- strh r6, [r4, 0x10]
- strh r6, [r4, 0x12]
- movs r4, 0
- b _0806496E
- .align 2, 0
-_0806494C: .4byte gUnknown_202EE44
-_08064950:
- bl sub_8083D30
-_08064954:
- mov r0, r8
- ldrh r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064968
- ldr r1, _08064998
- ldrb r0, [r1]
- cmp r0, 0
- beq _080648A0
-_08064968:
- bl sub_8083D30
- movs r4, 0x1
-_0806496E:
- ldr r0, _0806499C
- bl AddMenuCursorSprite
- movs r0, 0x2E
- bl sub_803E46C
- cmp r4, 0x2
- bne _08064980
- b _08064834
-_08064980:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0xE4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08064998: .4byte gUnknown_202EE3A
-_0806499C: .4byte gUnknown_202EE10
- thumb_func_end sub_80647F0
-
- thumb_func_start sub_80649A0
-sub_80649A0:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r0, r1, 0
- movs r3, 0
- movs r1, 0x1
- strb r1, [r2]
- strb r3, [r2, 0x1]
- movs r1, 0xB
- strb r1, [r2, 0x2]
- strb r3, [r2, 0x3]
- movs r1, 0x1
- bl sub_803ECB4
- movs r0, 0
- bl sub_80073B8
- bl sub_8043D10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080649E4
- cmp r0, 0x1
- ble _080649D4
- cmp r0, 0x2
- beq _080649DC
-_080649D4:
- ldr r0, _080649D8
- b _080649E6
- .align 2, 0
-_080649D8: .4byte gUnknown_80FE70C
-_080649DC:
- ldr r0, _080649E0
- b _080649E6
- .align 2, 0
-_080649E0: .4byte gUnknown_80FE720
-_080649E4:
- ldr r0, _08064A14
-_080649E6:
- ldr r5, [r0]
- movs r4, 0
- str r4, [sp]
- movs r0, 0xC
- movs r1, 0
- adds r2, r5, 0
- movs r3, 0
- bl xxx_call_draw_string
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0x12
- adds r2, r5, 0
- movs r3, 0
- bl xxx_call_draw_string
- movs r0, 0
- bl sub_80073E0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08064A14: .4byte gUnknown_80FE724
- thumb_func_end sub_80649A0
-
- thumb_func_start sub_8064A18
-sub_8064A18:
- push {lr}
- ldr r1, _08064A38
- movs r0, 0
- str r0, [r1]
- movs r0, 0x26
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0xC
- movs r1, 0
- bl sub_8044F5C
- bl sub_8045064
- pop {r0}
- bx r0
- .align 2, 0
-_08064A38: .4byte gUnknown_202EE6C
- thumb_func_end sub_8064A18
-
- thumb_func_start sub_8064A3C
-sub_8064A3C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xE8
- mov r0, sp
- adds r0, 0x20
- str r0, [sp, 0xE4]
- add r1, sp, 0x80
- mov r10, r1
- add r0, sp, 0xE0
- mov r9, r0
- add r5, sp, 0x14
-_08064A58:
- mov r0, r10
- movs r1, 0
- movs r2, 0x60
- bl memset
- add r1, sp, 0x84
- movs r0, 0x6
- str r0, [r1]
- add r0, sp, 0x88
- movs r1, 0x2
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r1, sp, 0x8C
- movs r0, 0x1A
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x8E
- movs r1, 0xC
- strh r1, [r0]
- add r0, sp, 0x90
- strh r1, [r0]
- add r0, sp, 0x94
- mov r1, r9
- str r1, [r0]
- add r0, sp, 0x98
- movs r1, 0x3
- str r1, [r0, 0x4]
- add r0, sp, 0xB0
- str r1, [r0, 0x4]
- add r0, sp, 0xC8
- str r1, [r0, 0x4]
- ldr r0, [sp, 0xE4]
- mov r1, r10
- movs r2, 0x60
- bl memcpy
- add r0, sp, 0x14
- bl sub_801317C
- movs r0, 0x1
- mov r1, r9
- strb r0, [r1]
- movs r0, 0
- strb r0, [r1, 0x1]
- movs r0, 0x10
- strb r0, [r1, 0x2]
- movs r0, 0
- strb r0, [r1, 0x3]
- ldr r0, [sp, 0xE4]
- movs r1, 0
- bl sub_803ECB4
- bl sub_8043D10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80073B8
- ldr r0, _08064B0C
- lsls r4, 2
- adds r0, r4, r0
- ldr r2, [r0]
- movs r1, 0
- str r1, [sp]
- movs r0, 0x10
- movs r3, 0
- bl xxx_call_draw_string
- ldr r0, _08064B10
- adds r4, r0
- ldr r4, [r4]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x18
- adds r2, r4, 0
- movs r3, 0
- bl xxx_call_draw_string
- movs r0, 0
- bl sub_80073E0
- adds r0, r4, 0
- add r1, sp, 0x4
- bl sub_8097DF0
- adds r6, r0, 0
- b _08064B28
- .align 2, 0
-_08064B0C: .4byte gUnknown_80F8104
-_08064B10: .4byte gUnknown_80F7F70
-_08064B14:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064B22
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- beq _08064B28
-_08064B22:
- bl sub_8083D30
- b _08064BC8
-_08064B28:
- cmp r6, 0
- beq _08064B30
- bl sub_8062500
-_08064B30:
- adds r0, r5, 0
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _08064B78
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064B50
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _08064B14
-_08064B50:
- bl sub_8083D08
- cmp r6, 0
- beq _08064BC8
- movs r4, 0
- cmp r4, r6
- blt _08064B60
- b _08064A58
-_08064B60:
- subs r1, r6, 0x1
- mov r8, r1
-_08064B64:
- lsls r0, r4, 2
- add r0, sp
- adds r0, 0x4
- ldr r0, [r0]
- adds r1, r5, 0
- bl sub_80639E4
- adds r7, r4, 0x1
- b _08064B90
- .align 2, 0
-_08064B78: .4byte gRealInputs
-_08064B7C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064B8A
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- beq _08064B90
-_08064B8A:
- bl sub_8083D30
- b _08064BBC
-_08064B90:
- cmp r4, r8
- bge _08064B98
- bl sub_8062500
-_08064B98:
- adds r0, r5, 0
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _08064BC4
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064BB8
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _08064B7C
-_08064BB8:
- bl sub_8083D08
-_08064BBC:
- adds r4, r7, 0
- cmp r4, r6
- blt _08064B64
- b _08064A58
- .align 2, 0
-_08064BC4: .4byte gRealInputs
-_08064BC8:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0xE8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8064A3C
-
- thumb_func_start sub_8064BE0
-sub_8064BE0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _08064C94
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x4
- mov r9, r1
- cmp r0, 0
- beq _08064C02
- movs r0, 0x5
- mov r9, r0
-_08064C02:
- ldr r1, _08064C98
- movs r0, 0
- str r0, [r1]
- mov r10, r0
- ldr r6, _08064C9C
- ldr r7, _08064CA0
- movs r1, 0x2A
- adds r1, r6
- mov r8, r1
-_08064C14:
- movs r5, 0
- bl sub_8065250
-_08064C1A:
- adds r0, r6, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldrh r1, [r7, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08064C3E
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_80136E0
-_08064C3E:
- ldrh r1, [r7, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08064C56
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8013744
-_08064C56:
- ldrh r1, [r7, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064C6A
- adds r0, r6, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08064CAA
-_08064C6A:
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- cmp r0, 0x4
- bne _08064C8C
- ldr r0, _08064C94
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08064CA4
- bl IsBossBattle
- lsls r0, 24
- cmp r0, 0
- bne _08064CA4
-_08064C8C:
- bl sub_8083D08
- b _08064CC0
- .align 2, 0
-_08064C94: .4byte gDungeonGlobalData
-_08064C98: .4byte gUnknown_202F2E0
-_08064C9C: .4byte gUnknown_202EE10
-_08064CA0: .4byte gRealInputs
-_08064CA4:
- bl sub_8083D30
- b _08064CC0
-_08064CAA:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064CBA
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0
- beq _08064C1A
-_08064CBA:
- bl sub_8083D30
- movs r5, 0x1
-_08064CC0:
- ldr r4, _08064D68
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- mov r0, r10
- cmp r0, 0
- bne _08064C14
- cmp r5, 0
- bne _08064D4C
- ldr r5, _08064D6C
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- str r0, [r5]
- cmp r0, 0
- bne _08064CE8
- bl sub_8064D74
-_08064CE8:
- ldr r0, [r5]
- cmp r0, 0x1
- bne _08064CF2
- bl sub_80650C0
-_08064CF2:
- ldr r0, [r5]
- cmp r0, 0x2
- bne _08064CFC
- bl sub_80532B4
-_08064CFC:
- ldr r0, [r5]
- cmp r0, 0x3
- bne _08064D06
- bl sub_806519C
-_08064D06:
- ldr r0, _08064D70
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08064D2A
- bl IsBossBattle
- lsls r0, 24
- cmp r0, 0
- bne _08064D2A
- ldr r0, [r5]
- cmp r0, 0x4
- bne _08064D2A
- bl sub_8065FB4
-_08064D2A:
- ldr r0, _08064D6C
- ldr r0, [r0]
- cmp r0, r9
- bne _08064D36
- bl sub_8065BF4
-_08064D36:
- ldr r0, _08064D70
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _08064D4C
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- bne _08064D4C
- b _08064C14
-_08064D4C:
- bl sub_8040A84
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08064D68: .4byte gUnknown_202EE10
-_08064D6C: .4byte gUnknown_202F2E0
-_08064D70: .4byte gDungeonGlobalData
- thumb_func_end sub_8064BE0
-
- thumb_func_start sub_8064D74
-sub_8064D74:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, _08064DE0
- ldr r7, _08064DE4
- movs r0, 0x2A
- adds r0, r6
- mov r8, r0
-_08064D84:
- movs r5, 0
- bl CreateFieldGameOptionsMenu
-_08064D8A:
- adds r0, r6, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldrh r1, [r7, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08064DAE
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_80136E0
-_08064DAE:
- ldrh r1, [r7, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08064DC6
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8013744
-_08064DC6:
- ldrh r1, [r7, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064DDA
- adds r0, r6, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08064DE8
-_08064DDA:
- bl sub_8083D08
- b _08064DFE
- .align 2, 0
-_08064DE0: .4byte gUnknown_202EE10
-_08064DE4: .4byte gRealInputs
-_08064DE8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064DF8
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0
- beq _08064D8A
-_08064DF8:
- bl sub_8083D30
- movs r5, 0x1
-_08064DFE:
- ldr r4, _08064E2C
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- cmp r5, 0
- bne _08064E56
- ldr r0, _08064E30
- ldr r1, _08064E34
- ldr r0, [r0]
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08064E38
- bl sub_8064E68
- b _08064E40
- .align 2, 0
-_08064E2C: .4byte gUnknown_202EE10
-_08064E30: .4byte gUnknown_203B46C
-_08064E34: .4byte gUnknown_202F2E8
-_08064E38:
- cmp r0, 0x1
- bne _08064E4C
- bl sub_8064F50
-_08064E40:
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_8065040
- b _08064D84
-_08064E4C:
- cmp r0, 0x2
- bne _08064D84
- bl sub_806509C
- b _08064D84
-_08064E56:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8064D74
-
- thumb_func_start sub_8064E68
-sub_8064E68:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- ldr r0, _08064EDC
- strh r7, [r0, 0x18]
- adds r4, r0, 0
- ldr r6, _08064EE0
- movs r0, 0x2A
- adds r0, r4
- mov r8, r0
-_08064E7E:
- movs r7, 0
- movs r5, 0
- bl CreateFieldDungeonMenu
-_08064E86:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08064EAA
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_08064EAA:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08064EC2
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_08064EC2:
- ldrh r1, [r6, 0x4]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08064EE4
- movs r0, 0
- bl sub_8083CE0
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- bl sub_8065A8C
- b _08064F2E
- .align 2, 0
-_08064EDC: .4byte gUnknown_202EE10
-_08064EE0: .4byte gRealInputs
-_08064EE4:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08064EFC
- movs r0, 0
- bl sub_8083CE0
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- bl sub_8065B3C
- b _08064F2E
-_08064EFC:
- ldrh r1, [r6, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064F0E
- mov r2, r8
- ldrb r0, [r2]
- cmp r0, 0
- beq _08064F14
-_08064F0E:
- bl sub_8083D08
- b _08064F30
-_08064F14:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08064F24
- bl sub_8083D30
- movs r7, 0x1
- b _08064F30
-_08064F24:
- bl sub_8065BEC
- lsls r0, 24
- cmp r0, 0
- beq _08064E86
-_08064F2E:
- movs r5, 0x1
-_08064F30:
- ldr r0, _08064F4C
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- cmp r5, 0
- bne _08064E7E
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08064F4C: .4byte gUnknown_202EE10
- thumb_func_end sub_8064E68
-
- thumb_func_start sub_8064F50
-sub_8064F50:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- ldr r0, _08064FC8
- strh r7, [r0, 0x18]
- adds r4, r0, 0
- ldr r6, _08064FCC
- movs r0, 0x2A
- adds r0, r4
- mov r8, r0
-_08064F66:
- movs r7, 0
- movs r5, 0
- bl CreateFieldOthersMenu
-_08064F6E:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08064F92
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_08064F92:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08064FAA
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_08064FAA:
- ldrh r1, [r6, 0x4]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08064FD0
- movs r0, 0
- bl sub_8083CE0
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- adds r0, 0x5
- bl sub_8065A8C
- b _0806501C
- .align 2, 0
-_08064FC8: .4byte gUnknown_202EE10
-_08064FCC: .4byte gRealInputs
-_08064FD0:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08064FEA
- movs r0, 0
- bl sub_8083CE0
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- adds r0, 0x5
- bl sub_8065B3C
- b _0806501C
-_08064FEA:
- ldrh r1, [r6, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064FFC
- mov r2, r8
- ldrb r0, [r2]
- cmp r0, 0
- beq _08065002
-_08064FFC:
- bl sub_8083D08
- b _0806501E
-_08065002:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08065012
- bl sub_8083D30
- movs r7, 0x1
- b _0806501E
-_08065012:
- bl sub_8065BF0
- lsls r0, 24
- cmp r0, 0
- beq _08064F6E
-_0806501C:
- movs r5, 0x1
-_0806501E:
- ldr r0, _0806503C
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- cmp r5, 0
- bne _08064F66
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0806503C: .4byte gUnknown_202EE10
- thumb_func_end sub_8064F50
-
- thumb_func_start sub_8065040
-sub_8065040:
- push {r4,lr}
- lsls r0, 24
- movs r4, 0
- cmp r0, 0
- beq _0806505C
- ldr r0, _08065058
- bl GameOptionsNotChange
- lsls r0, 24
- cmp r0, 0
- bne _0806505E
- b _08065062
- .align 2, 0
-_08065058: .4byte gUnknown_202F2E8
-_0806505C:
- movs r4, 0x1
-_0806505E:
- cmp r4, 0
- beq _08065088
-_08065062:
- ldr r0, _08065090
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- bne _08065088
- ldr r0, _08065094
- ldr r1, [r0]
- ldr r0, _08065098
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- bl sub_803E13C
- bl sub_8040238
-_08065088:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08065090: .4byte gUnknown_80FEBF8
-_08065094: .4byte gUnknown_203B46C
-_08065098: .4byte gUnknown_202F2E8
- thumb_func_end sub_8065040
-
- thumb_func_start sub_806509C
-sub_806509C:
- push {lr}
- ldr r0, _080650BC
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- cmp r0, 0x1
- bne _080650B8
- movs r0, 0
- bl InitializeGameOptions
- bl sub_803E13C
-_080650B8:
- pop {r0}
- bx r0
- .align 2, 0
-_080650BC: .4byte gUnknown_80FEC28
- thumb_func_end sub_806509C
-
- thumb_func_start sub_80650C0
-sub_80650C0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r0, 0
- mov r9, r0
- ldr r5, _08065134
- ldr r6, _08065138
- movs r1, 0x2A
- adds r1, r5
- mov r8, r1
-_080650D6:
- movs r7, 0
- bl sub_806544C
-_080650DC:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08065100
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80136E0
-_08065100:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08065118
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8013744
-_08065118:
- ldrh r1, [r6, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0806512C
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806513C
-_0806512C:
- bl sub_8083D08
- b _08065152
- .align 2, 0
-_08065134: .4byte gUnknown_202EE10
-_08065138: .4byte gRealInputs
-_0806513C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0806514C
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0
- beq _080650DC
-_0806514C:
- bl sub_8083D30
- movs r7, 0x1
-_08065152:
- ldr r4, _08065178
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- mov r0, r9
- cmp r0, 0
- bne _080650D6
- cmp r7, 0
- bne _0806518E
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0806517C
- bl sub_80651D0
- b _08065184
- .align 2, 0
-_08065178: .4byte gUnknown_202EE10
-_0806517C:
- cmp r0, 0x1
- bne _08065184
- bl sub_80651FC
-_08065184:
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- beq _080650D6
-_0806518E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80650C0
-
- thumb_func_start sub_806519C
-sub_806519C:
- push {lr}
- ldr r0, _080651CC
- ldr r1, [r0]
- movs r2, 0xCF
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- subs r2, 0x34
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0
- bl sub_80319A4
-_080651B6:
- movs r0, 0x47
- bl sub_803E46C
- bl sub_80319F8
- cmp r0, 0
- beq _080651B6
- bl sub_8031A3C
- pop {r0}
- bx r0
- .align 2, 0
-_080651CC: .4byte gDungeonGlobalData
- thumb_func_end sub_806519C
-
- thumb_func_start sub_80651D0
-sub_80651D0:
- push {lr}
- ldr r0, _080651F0
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- cmp r0, 0x1
- bne _080651F4
- bl sub_805F1A0
- movs r1, 0x2B
- bl SetAction
- movs r0, 0
- b _080651F6
- .align 2, 0
-_080651F0: .4byte gUnknown_80FDE6C
-_080651F4:
- movs r0, 0x1
-_080651F6:
- pop {r1}
- bx r1
- thumb_func_end sub_80651D0
-
- thumb_func_start sub_80651FC
-sub_80651FC:
- push {r4,r5,lr}
- ldr r0, _08065238
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- adds r5, r0, 0
- cmp r5, 0x1
- bne _08065248
- bl sub_805F1A0
- movs r1, 0x2E
- bl SetAction
- ldr r4, _0806523C
- bl GetLeaderEntity
- adds r2, r0, 0
- adds r0, r4, 0
- movs r1, 0
- bl sub_8083AB0
- ldr r0, _08065240
- ldr r0, [r0]
- ldr r1, _08065244
- adds r0, r1
- strb r5, [r0]
- movs r0, 0
- b _0806524A
- .align 2, 0
-_08065238: .4byte gUnknown_80FDEB8
-_0806523C: .4byte 0x0000021b
-_08065240: .4byte gDungeonGlobalData
-_08065244: .4byte 0x00000654
-_08065248:
- movs r0, 0x1
-_0806524A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80651FC
-
- thumb_func_start sub_8065250
-sub_8065250:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC8
- add r5, sp, 0x64
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x68]
- add r0, sp, 0x6C
- movs r4, 0
- movs r7, 0
- movs r1, 0x2
- mov r9, r1
- mov r1, r9
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r0, sp, 0x70
- movs r1, 0x12
- mov r10, r1
- mov r1, r10
- strh r1, [r0]
- adds r0, 0x2
- movs r1, 0x10
- mov r8, r1
- mov r1, r8
- strh r1, [r0]
- add r0, sp, 0x74
- strh r1, [r0]
- add r6, sp, 0xC4
- str r6, [sp, 0x78]
- movs r1, 0x3
- str r1, [sp, 0x80]
- add r0, sp, 0x94
- str r1, [r0, 0x4]
- add r0, sp, 0xAC
- str r1, [r0, 0x4]
- add r0, sp, 0x4
- adds r1, r5, 0
- movs r2, 0x60
- bl memcpy
- movs r0, 0x1
- strb r0, [r6]
- strb r4, [r6, 0x1]
- strb r4, [r6, 0x3]
- ldr r4, _080653D0
- ldr r0, _080653D4
- ldr r0, [r0]
- strh r0, [r4, 0x18]
- ldr r1, _080653D8
- ldr r0, [r1]
- movs r1, 0xCB
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- movs r5, 0x5
- cmp r0, 0
- beq _080652D2
- movs r5, 0x6
-_080652D2:
- strh r5, [r4, 0x1A]
- strh r5, [r4, 0x1C]
- strh r7, [r4, 0x1E]
- strh r7, [r4, 0x20]
- strh r7, [r4, 0x4]
- mov r0, r8
- strh r0, [r4, 0x6]
- strh r7, [r4, 0xC]
- strh r7, [r4, 0xE]
- strh r7, [r4, 0x14]
- str r7, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- add r0, sp, 0x4
- mov r1, r10
- strh r1, [r0, 0xC]
- adds r0, r5, 0
- movs r1, 0xC
- bl sub_80095E4
- add r2, sp, 0x4
- adds r1, r2, 0
- adds r0, 0x2
- strh r0, [r1, 0x10]
- strh r0, [r2, 0xE]
- movs r0, 0xA
- strb r0, [r6, 0x2]
- adds r0, r1, 0
- mov r1, r9
- strh r1, [r0, 0x8]
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- movs r0, 0
- bl sub_80073B8
- movs r5, 0
- ldr r0, _080653DC
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- adds r0, r4, 0
- movs r1, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _080653E0
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _080653E4
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _080653E8
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- movs r5, 0x4
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _080653EC
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- ldr r1, _080653D8
- ldr r0, [r1]
- movs r1, 0xCB
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806540E
- bl IsBossBattle
- lsls r0, 24
- cmp r0, 0
- bne _080653F4
- movs r5, 0x5
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _080653F0
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- b _0806540E
- .align 2, 0
-_080653D0: .4byte gUnknown_202EE10
-_080653D4: .4byte gUnknown_202F2E0
-_080653D8: .4byte gDungeonGlobalData
-_080653DC: .4byte gUnknown_80FE8F8
-_080653E0: .4byte gUnknown_80FE9CC
-_080653E4: .4byte gUnknown_80FE9E8
-_080653E8: .4byte gUnknown_80FE9F8
-_080653EC: .4byte gUnknown_80FEA10
-_080653F0: .4byte gUnknown_80FEA28
-_080653F4:
- movs r5, 0x5
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _08065440
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
-_0806540E:
- ldr r0, _08065444
- adds r1, r5, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _08065448
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- movs r0, 0
- bl sub_80073E0
- add sp, 0xC8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08065440: .4byte gUnknown_80FEA44
-_08065444: .4byte gUnknown_202EE10
-_08065448: .4byte gUnknown_80FEA50
- thumb_func_end sub_8065250
-
- thumb_func_start sub_806544C
-sub_806544C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC8
- add r0, sp, 0x64
- mov r10, r0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x68]
- add r0, sp, 0x6C
- movs r4, 0
- movs r5, 0
- movs r1, 0x2
- mov r9, r1
- mov r2, r9
- strh r2, [r0]
- strh r2, [r0, 0x2]
- add r0, sp, 0x70
- movs r7, 0x12
- strh r7, [r0]
- adds r0, 0x2
- movs r6, 0x10
- strh r6, [r0]
- add r0, sp, 0x74
- strh r6, [r0]
- add r0, sp, 0xC4
- mov r8, r0
- str r0, [sp, 0x78]
- movs r1, 0x3
- str r1, [sp, 0x80]
- add r0, sp, 0x94
- str r1, [r0, 0x4]
- add r0, sp, 0xAC
- str r1, [r0, 0x4]
- add r0, sp, 0x4
- mov r1, r10
- movs r2, 0x60
- bl memcpy
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1]
- strb r4, [r1, 0x1]
- strb r4, [r1, 0x3]
- ldr r4, _08065568
- strh r5, [r4, 0x18]
- mov r2, r9
- strh r2, [r4, 0x1A]
- strh r2, [r4, 0x1C]
- strh r5, [r4, 0x1E]
- strh r5, [r4, 0x20]
- strh r5, [r4, 0x4]
- strh r6, [r4, 0x6]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- strh r5, [r4, 0x14]
- str r5, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- add r0, sp, 0x4
- strh r7, [r0, 0xC]
- movs r0, 0x2
- movs r1, 0xC
- bl sub_80095E4
- add r2, sp, 0x4
- adds r1, r2, 0
- adds r0, 0x2
- strh r0, [r1, 0x10]
- strh r0, [r2, 0xE]
- movs r0, 0xA
- mov r1, r8
- strb r0, [r1, 0x2]
- adds r0, r2, 0
- mov r2, r9
- strh r2, [r0, 0x8]
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- movs r0, 0
- bl sub_80073B8
- ldr r0, _0806556C
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- adds r0, r4, 0
- movs r1, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r6, _08065570
- movs r2, 0xAC
- lsls r2, 1
- adds r0, r6, r2
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013800
- adds r1, r0, 0
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r6, r2
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- movs r0, 0
- bl sub_80073E0
- add sp, 0xC8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08065568: .4byte gUnknown_202EE10
-_0806556C: .4byte gUnknown_80FE8F4
-_08065570: .4byte gUnknown_80F7C50
- thumb_func_end sub_806544C
-
- thumb_func_start CreateFieldGameOptionsMenu
-CreateFieldGameOptionsMenu:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xD4
- add r0, sp, 0x10
- mov r10, r0
- add r7, sp, 0x70
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x74]
- add r0, sp, 0x78
- movs r4, 0
- movs r6, 0
- movs r1, 0x2
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r0, sp, 0x7C
- movs r1, 0xC
- strh r1, [r0]
- adds r0, 0x2
- movs r1, 0x10
- mov r9, r1
- mov r1, r9
- strh r1, [r0]
- add r0, sp, 0x80
- strh r1, [r0]
- add r0, sp, 0x84
- add r1, sp, 0xD0
- mov r8, r1
- str r1, [r0]
- add r0, sp, 0x88
- movs r5, 0x3
- str r5, [r0, 0x4]
- add r0, sp, 0xA0
- str r5, [r0, 0x4]
- add r0, sp, 0xB8
- str r5, [r0, 0x4]
- mov r0, r10
- adds r1, r7, 0
- movs r2, 0x60
- bl memcpy
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1]
- strb r4, [r1, 0x1]
- strb r4, [r1, 0x3]
- ldr r4, _080656AC
- strh r6, [r4, 0x18]
- strh r5, [r4, 0x1A]
- strh r5, [r4, 0x1C]
- strh r6, [r4, 0x1E]
- strh r6, [r4, 0x20]
- strh r6, [r4, 0x4]
- mov r0, r9
- strh r0, [r4, 0x6]
- strh r6, [r4, 0xC]
- strh r6, [r4, 0xE]
- strh r6, [r4, 0x14]
- str r6, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- movs r0, 0xC
- mov r1, r10
- strh r0, [r1, 0xC]
- movs r0, 0x3
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- mov r1, r10
- strh r0, [r1, 0x10]
- strh r0, [r1, 0xE]
- movs r0, 0xA
- mov r1, r8
- strb r0, [r1, 0x2]
- movs r1, 0x2
- mov r0, r10
- strh r1, [r0, 0x8]
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- adds r0, r4, 0
- movs r1, 0
- bl sub_8013800
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013800
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8013800
- str r0, [sp, 0xC]
- movs r0, 0
- bl sub_80073B8
- ldr r0, _080656B0
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- ldr r1, [sp, 0x4]
- ldr r0, _080656B4
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- ldr r1, [sp, 0x8]
- ldr r0, _080656B8
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- ldr r1, [sp, 0xC]
- ldr r0, _080656BC
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- movs r0, 0
- bl sub_80073E0
- add sp, 0xD4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080656AC: .4byte gUnknown_202EE10
-_080656B0: .4byte gGameOptionsTextPtr
-_080656B4: .4byte gOptionsDungeonTextPtr
-_080656B8: .4byte gOptionsOthersTextPtr
-_080656BC: .4byte gUnknown_80FE748
- thumb_func_end CreateFieldGameOptionsMenu
-
- thumb_func_start CreateFieldDungeonMenu
-CreateFieldDungeonMenu:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xDC
- add r0, sp, 0x18
- mov r9, r0
- add r7, sp, 0x78
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x7C]
- add r0, sp, 0x80
- movs r5, 0
- movs r1, 0x2
- mov r10, r1
- mov r2, r10
- strh r2, [r0]
- strh r2, [r0, 0x2]
- add r1, sp, 0x84
- movs r0, 0x12
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x86
- movs r3, 0x10
- mov r8, r3
- mov r4, r8
- strh r4, [r0]
- add r0, sp, 0x88
- strh r4, [r0]
- add r0, sp, 0x8C
- add r6, sp, 0xD8
- str r6, [r0]
- add r0, sp, 0x90
- movs r1, 0x3
- str r1, [r0, 0x4]
- add r0, sp, 0xA8
- str r1, [r0, 0x4]
- add r0, sp, 0xC0
- str r1, [r0, 0x4]
- mov r0, r9
- adds r1, r7, 0
- movs r2, 0x60
- bl memcpy
- adds r1, r7, 0
- ldr r0, _0806583C
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r0, 0x1
- strb r0, [r6]
- movs r0, 0
- strb r0, [r6, 0x1]
- strb r0, [r6, 0x3]
- ldr r4, _08065840
- movs r0, 0x5
- strh r0, [r4, 0x1A]
- strh r0, [r4, 0x1C]
- strh r5, [r4, 0x1E]
- strh r5, [r4, 0x20]
- strh r5, [r4, 0x4]
- mov r1, r8
- strh r1, [r4, 0x6]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- strh r5, [r4, 0x14]
- str r5, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- movs r0, 0x18
- mov r2, r9
- strh r0, [r2, 0xC]
- movs r0, 0x5
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- mov r3, r9
- strh r0, [r3, 0x10]
- strh r0, [r3, 0xE]
- movs r0, 0xA
- strb r0, [r6, 0x2]
- mov r0, r10
- strh r0, [r3, 0x8]
- mov r0, r9
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- adds r0, r4, 0
- movs r1, 0
- bl sub_8013800
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013800
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8013800
- str r0, [sp, 0xC]
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_8013800
- str r0, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8013800
- str r0, [sp, 0x14]
- movs r0, 0
- bl sub_80073B8
- ldr r0, _08065844
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- ldr r1, [sp, 0x4]
- ldr r0, _08065848
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- ldr r1, [sp, 0x8]
- ldr r0, _0806584C
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- ldr r1, [sp, 0xC]
- ldr r0, _08065850
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- ldr r1, [sp, 0x10]
- ldr r0, _08065854
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- ldr r1, [sp, 0x14]
- ldr r0, _08065858
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- ldr r0, _0806585C
- ldrb r0, [r0]
- adds r4, r7, 0
- cmp r0, 0
- beq _08065860
- ldr r2, [sp, 0x4]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x88
- movs r3, 0x15
- bl sub_80078A4
- b _08065872
- .align 2, 0
-_0806583C: .4byte gUnknown_8106CE8
-_08065840: .4byte gUnknown_202EE10
-_08065844: .4byte gOptionsDungeonTextPtr
-_08065848: .4byte gUnknown_80FE764
-_0806584C: .4byte gUnknown_80FE788
-_08065850: .4byte gUnknown_80FE7A8
-_08065854: .4byte gUnknown_80FE7C0
-_08065858: .4byte gUnknown_80FE7E4
-_0806585C: .4byte gUnknown_202F2E8
-_08065860:
- ldr r2, [sp, 0x4]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x50
- movs r3, 0x16
- bl sub_80078A4
-_08065872:
- ldr r0, _08065890
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _08065894
- ldr r2, [sp, 0x8]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x88
- movs r3, 0x16
- bl sub_80078A4
- b _080658A6
- .align 2, 0
-_08065890: .4byte gUnknown_202F2E8
-_08065894:
- ldr r2, [sp, 0x8]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x50
- movs r3, 0x12
- bl sub_80078A4
-_080658A6:
- ldr r0, _080658C4
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _080658C8
- ldr r2, [sp, 0xC]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x88
- movs r3, 0x10
- bl sub_80078A4
- b _080658DA
- .align 2, 0
-_080658C4: .4byte gUnknown_202F2E8
-_080658C8:
- ldr r2, [sp, 0xC]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x50
- movs r3, 0xC
- bl sub_80078A4
-_080658DA:
- ldr r0, _080658F8
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _080658FC
- ldr r2, [sp, 0x10]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x88
- movs r3, 0xC
- bl sub_80078A4
- b _0806590E
- .align 2, 0
-_080658F8: .4byte gUnknown_202F2E8
-_080658FC:
- ldr r2, [sp, 0x10]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x50
- movs r3, 0x10
- bl sub_80078A4
-_0806590E:
- ldr r0, _08065944
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 2
- adds r1, r0, r1
- lsls r1, 3
- adds r1, 0x50
- ldr r2, [sp, 0x14]
- adds r2, 0xA
- adds r0, r4, r0
- ldr r3, [r0]
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- bl sub_80078A4
- movs r0, 0
- bl sub_80073E0
- add sp, 0xDC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08065944: .4byte gUnknown_202F2E8
- thumb_func_end CreateFieldDungeonMenu
-
- thumb_func_start CreateFieldOthersMenu
-CreateFieldOthersMenu:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xCC
- add r0, sp, 0x64
- mov r10, r0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x68]
- add r0, sp, 0x6C
- movs r4, 0
- movs r5, 0
- movs r1, 0x2
- mov r9, r1
- mov r2, r9
- strh r2, [r0]
- strh r2, [r0, 0x2]
- add r1, sp, 0x70
- movs r0, 0x12
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x72
- movs r6, 0x10
- strh r6, [r0]
- add r0, sp, 0x74
- strh r6, [r0]
- add r3, sp, 0xC4
- mov r8, r3
- str r3, [sp, 0x78]
- movs r1, 0x3
- str r1, [sp, 0x80]
- add r0, sp, 0x94
- str r1, [r0, 0x4]
- add r0, sp, 0xAC
- str r1, [r0, 0x4]
- add r0, sp, 0x4
- mov r1, r10
- movs r2, 0x60
- bl memcpy
- mov r1, r10
- ldr r0, _08065A78
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- movs r0, 0x1
- mov r7, r8
- strb r0, [r7]
- strb r4, [r7, 0x1]
- strb r4, [r7, 0x3]
- ldr r4, _08065A7C
- strh r0, [r4, 0x1A]
- strh r0, [r4, 0x1C]
- strh r5, [r4, 0x1E]
- strh r5, [r4, 0x20]
- strh r5, [r4, 0x4]
- strh r6, [r4, 0x6]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- strh r5, [r4, 0x14]
- str r5, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- add r1, sp, 0x4
- movs r0, 0x18
- strh r0, [r1, 0xC]
- movs r0, 0x1
- movs r1, 0xC
- bl sub_80095E4
- add r2, sp, 0x4
- adds r1, r2, 0
- adds r0, 0x2
- strh r0, [r1, 0x10]
- strh r0, [r2, 0xE]
- movs r0, 0xA
- strb r0, [r7, 0x2]
- adds r0, r1, 0
- mov r1, r9
- strh r1, [r0, 0x8]
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- movs r4, 0
- mov r7, r10
- add r6, sp, 0xC8
- adds r5, r6, 0
-_08065A0A:
- ldr r0, _08065A7C
- adds r1, r4, 0
- bl sub_8013800
- stm r5!, {r0}
- adds r4, 0x1
- cmp r4, 0
- ble _08065A0A
- movs r0, 0
- bl sub_80073B8
- ldr r0, _08065A80
- ldr r2, [r0]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- ldr r1, [r6]
- ldr r0, _08065A84
- ldr r2, [r0]
- str r4, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- ldr r0, _08065A88
- ldrb r1, [r0, 0x8]
- lsls r3, r1, 2
- adds r1, r3, r1
- lsls r1, 3
- adds r1, 0x50
- add r0, sp, 0xC8
- ldr r2, [r0]
- adds r2, 0xA
- adds r3, r7, r3
- ldr r3, [r3]
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- bl sub_80078A4
- movs r0, 0
- bl sub_80073E0
- add sp, 0xCC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08065A78: .4byte gUnknown_8106CF4
-_08065A7C: .4byte gUnknown_202EE10
-_08065A80: .4byte gOptionsOthersTextPtr
-_08065A84: .4byte gOptionsWindowColorPtr
-_08065A88: .4byte gUnknown_202F2E8
- thumb_func_end CreateFieldOthersMenu
-
- thumb_func_start sub_8065A8C
-sub_8065A8C:
- push {lr}
- cmp r0, 0x5
- bhi _08065B38
- lsls r0, 2
- ldr r1, _08065A9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08065A9C: .4byte _08065AA0
- .align 2, 0
-_08065AA0:
- .4byte _08065AB8
- .4byte _08065ACC
- .4byte _08065AE0
- .4byte _08065AF4
- .4byte _08065B08
- .4byte _08065B22
-_08065AB8:
- ldr r2, _08065AC8
- movs r1, 0
- ldrb r0, [r2]
- cmp r0, 0
- bne _08065AC4
- movs r1, 0x1
-_08065AC4:
- strb r1, [r2]
- b _08065B38
- .align 2, 0
-_08065AC8: .4byte gUnknown_202F2E8
-_08065ACC:
- ldr r2, _08065ADC
- movs r1, 0
- ldrb r0, [r2, 0x1]
- cmp r0, 0
- bne _08065AD8
- movs r1, 0x1
-_08065AD8:
- strb r1, [r2, 0x1]
- b _08065B38
- .align 2, 0
-_08065ADC: .4byte gUnknown_202F2E8
-_08065AE0:
- ldr r2, _08065AF0
- movs r1, 0
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _08065AEC
- movs r1, 0x1
-_08065AEC:
- strb r1, [r2, 0x2]
- b _08065B38
- .align 2, 0
-_08065AF0: .4byte gUnknown_202F2E8
-_08065AF4:
- ldr r2, _08065B04
- movs r1, 0
- ldrb r0, [r2, 0x3]
- cmp r0, 0
- bne _08065B00
- movs r1, 0x1
-_08065B00:
- strb r1, [r2, 0x3]
- b _08065B38
- .align 2, 0
-_08065B04: .4byte gUnknown_202F2E8
-_08065B08:
- ldr r1, _08065B18
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _08065B1C
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08065B38
- .align 2, 0
-_08065B18: .4byte gUnknown_202F2E8
-_08065B1C:
- subs r0, 0x1
- strb r0, [r1, 0x4]
- b _08065B38
-_08065B22:
- ldr r1, _08065B30
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- bne _08065B34
- movs r0, 0x2
- b _08065B36
- .align 2, 0
-_08065B30: .4byte gUnknown_202F2E8
-_08065B34:
- subs r0, 0x1
-_08065B36:
- strb r0, [r1, 0x8]
-_08065B38:
- pop {r0}
- bx r0
- thumb_func_end sub_8065A8C
-
- thumb_func_start sub_8065B3C
-sub_8065B3C:
- push {lr}
- cmp r0, 0x5
- bhi _08065BE8
- lsls r0, 2
- ldr r1, _08065B4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08065B4C: .4byte _08065B50
- .align 2, 0
-_08065B50:
- .4byte _08065B68
- .4byte _08065B7C
- .4byte _08065B90
- .4byte _08065BA4
- .4byte _08065BB8
- .4byte _08065BD2
-_08065B68:
- ldr r2, _08065B78
- movs r1, 0
- ldrb r0, [r2]
- cmp r0, 0
- bne _08065B74
- movs r1, 0x1
-_08065B74:
- strb r1, [r2]
- b _08065BE8
- .align 2, 0
-_08065B78: .4byte gUnknown_202F2E8
-_08065B7C:
- ldr r2, _08065B8C
- movs r1, 0
- ldrb r0, [r2, 0x1]
- cmp r0, 0
- bne _08065B88
- movs r1, 0x1
-_08065B88:
- strb r1, [r2, 0x1]
- b _08065BE8
- .align 2, 0
-_08065B8C: .4byte gUnknown_202F2E8
-_08065B90:
- ldr r2, _08065BA0
- movs r1, 0
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _08065B9C
- movs r1, 0x1
-_08065B9C:
- strb r1, [r2, 0x2]
- b _08065BE8
- .align 2, 0
-_08065BA0: .4byte gUnknown_202F2E8
-_08065BA4:
- ldr r2, _08065BB4
- movs r1, 0
- ldrb r0, [r2, 0x3]
- cmp r0, 0
- bne _08065BB0
- movs r1, 0x1
-_08065BB0:
- strb r1, [r2, 0x3]
- b _08065BE8
- .align 2, 0
-_08065BB4: .4byte gUnknown_202F2E8
-_08065BB8:
- ldr r1, _08065BC8
- ldrb r0, [r1, 0x4]
- cmp r0, 0x2
- bne _08065BCC
- movs r0, 0
- strb r0, [r1, 0x4]
- b _08065BE8
- .align 2, 0
-_08065BC8: .4byte gUnknown_202F2E8
-_08065BCC:
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _08065BE8
-_08065BD2:
- ldr r1, _08065BE0
- ldrb r0, [r1, 0x8]
- cmp r0, 0x2
- bne _08065BE4
- movs r0, 0
- b _08065BE6
- .align 2, 0
-_08065BE0: .4byte gUnknown_202F2E8
-_08065BE4:
- adds r0, 0x1
-_08065BE6:
- strb r0, [r1, 0x8]
-_08065BE8:
- pop {r0}
- bx r0
- thumb_func_end sub_8065B3C
-
- thumb_func_start sub_8065BEC
-sub_8065BEC:
- movs r0, 0
- bx lr
- thumb_func_end sub_8065BEC
-
- thumb_func_start sub_8065BF0
-sub_8065BF0:
- movs r0, 0
- bx lr
- thumb_func_end sub_8065BF0
-
- thumb_func_start sub_8065BF4
-sub_8065BF4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, _08065C60
- ldr r6, _08065C64
- movs r0, 0x2A
- adds r0, r5
- mov r8, r0
-_08065C04:
- movs r7, 0
- bl sub_8065CAC
-_08065C0A:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08065C2E
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80136E0
-_08065C2E:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08065C46
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8013744
-_08065C46:
- ldrh r1, [r6, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08065C5A
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08065C68
-_08065C5A:
- bl sub_8083D08
- b _08065C7E
- .align 2, 0
-_08065C60: .4byte gUnknown_202EE10
-_08065C64: .4byte gRealInputs
-_08065C68:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08065C78
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0
- beq _08065C0A
-_08065C78:
- bl sub_8083D30
- movs r7, 0x1
-_08065C7E:
- ldr r4, _08065C9C
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- cmp r7, 0
- bne _08065CA0
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- bl sub_8065DBC
- b _08065C04
- .align 2, 0
-_08065C9C: .4byte gUnknown_202EE10
-_08065CA0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8065BF4
-
- thumb_func_start sub_8065CAC
-sub_8065CAC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC8
- add r0, sp, 0x64
- mov r10, r0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x68]
- add r0, sp, 0x6C
- movs r4, 0
- movs r5, 0
- movs r1, 0x2
- mov r9, r1
- mov r1, r9
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r0, sp, 0x70
- movs r7, 0xC
- strh r7, [r0]
- adds r0, 0x2
- movs r6, 0x10
- strh r6, [r0]
- add r0, sp, 0x74
- strh r6, [r0]
- add r0, sp, 0xC4
- mov r8, r0
- str r0, [sp, 0x78]
- movs r1, 0x3
- str r1, [sp, 0x80]
- add r0, sp, 0x94
- str r1, [r0, 0x4]
- add r0, sp, 0xAC
- str r1, [r0, 0x4]
- add r0, sp, 0x4
- mov r1, r10
- movs r2, 0x60
- bl memcpy
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1]
- strb r4, [r1, 0x1]
- strb r4, [r1, 0x3]
- ldr r4, _08065DB0
- strh r5, [r4, 0x18]
- movs r0, 0x7
- strh r0, [r4, 0x1A]
- strh r0, [r4, 0x1C]
- strh r5, [r4, 0x1E]
- strh r5, [r4, 0x20]
- strh r5, [r4, 0x4]
- strh r6, [r4, 0x6]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- strh r5, [r4, 0x14]
- str r5, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- add r0, sp, 0x4
- strh r7, [r0, 0xC]
- movs r0, 0x7
- movs r1, 0xC
- bl sub_80095E4
- add r2, sp, 0x4
- adds r1, r2, 0
- adds r0, 0x2
- strh r0, [r1, 0x10]
- strh r0, [r2, 0xE]
- movs r0, 0xA
- mov r1, r8
- strb r0, [r1, 0x2]
- adds r0, r2, 0
- mov r1, r9
- strh r1, [r0, 0x8]
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- movs r0, 0
- bl sub_80073B8
- ldr r0, _08065DB4
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- movs r4, 0
- ldr r5, _08065DB8
-_08065D7A:
- ldr r0, _08065DB0
- adds r1, r4, 0
- bl sub_8013800
- adds r1, r0, 0
- ldm r5!, {r2}
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_format_and_draw
- adds r4, 0x1
- cmp r4, 0x6
- ble _08065D7A
- movs r0, 0
- bl sub_80073E0
- add sp, 0xC8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08065DB0: .4byte gUnknown_202EE10
-_08065DB4: .4byte gUnknown_80FF770
-_08065DB8: .4byte gUnknown_80FF774
- thumb_func_end sub_8065CAC
-
- thumb_func_start sub_8065DBC
-sub_8065DBC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xEC
- adds r6, r0, 0
- ldr r0, _08065F28
- ldr r0, [r0]
- ldrb r1, [r0, 0x9]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- str r0, [sp, 0xC8]
- mov r0, sp
- adds r0, 0x6C
- str r0, [sp, 0xD4]
- mov r1, sp
- adds r1, 0x70
- str r1, [sp, 0xD8]
- mov r2, sp
- adds r2, 0x72
- str r2, [sp, 0xDC]
- adds r0, 0x8
- str r0, [sp, 0xE0]
- adds r1, 0xC
- str r1, [sp, 0xE4]
- adds r2, 0x22
- str r2, [sp, 0xE8]
- adds r0, 0x38
- str r0, [sp, 0xD0]
- subs r1, 0x18
- str r1, [sp, 0xCC]
- movs r2, 0x10
- mov r10, r2
- ldr r5, _08065F2C
- add r0, sp, 0xC4
- mov r9, r0
- add r1, sp, 0x4
- mov r8, r1
-_08065E0C:
- movs r7, 0
- ldr r0, [sp, 0xCC]
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x68]
- movs r0, 0x2
- ldr r2, [sp, 0xD4]
- strh r0, [r2]
- strh r0, [r2, 0x2]
- movs r0, 0xC
- ldr r1, [sp, 0xD8]
- strh r0, [r1]
- mov r0, r10
- ldr r2, [sp, 0xDC]
- strh r0, [r2]
- ldr r1, [sp, 0xE0]
- strh r0, [r1]
- mov r2, r9
- str r2, [sp, 0x78]
- movs r0, 0x3
- ldr r1, [sp, 0xE4]
- str r0, [r1, 0x4]
- ldr r2, [sp, 0xE8]
- str r0, [r2, 0x4]
- ldr r1, [sp, 0xD0]
- str r0, [r1, 0x4]
- add r0, sp, 0x4
- ldr r1, [sp, 0xCC]
- movs r2, 0x60
- bl memcpy
- movs r1, 0x7
- add r0, sp, 0xC4
- strb r1, [r0]
- mov r2, r9
- strb r6, [r2, 0x1]
- movs r0, 0
- strb r0, [r2, 0x3]
- strh r6, [r5, 0x1E]
- strh r1, [r5, 0x20]
- strh r7, [r5, 0x1A]
- strh r7, [r5, 0x18]
- strh r7, [r5, 0x1C]
- strh r7, [r5, 0x4]
- mov r1, r10
- strh r1, [r5, 0x6]
- strh r7, [r5, 0x14]
- str r7, [r5]
- adds r0, r5, 0
- adds r0, 0x28
- bl sub_801317C
- movs r0, 0x18
- mov r2, r8
- strh r0, [r2, 0xC]
- movs r0, 0x8
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- mov r1, r8
- strh r0, [r1, 0x10]
- strh r0, [r1, 0xE]
- movs r0, 0xA
- mov r2, r9
- strb r0, [r2, 0x2]
- movs r0, 0x2
- strh r0, [r1, 0x8]
- add r0, sp, 0x4
- movs r1, 0x1
- bl sub_803ECB4
- ldr r1, _08065F30
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0x13
- lsls r0, 3
- strh r0, [r5, 0xC]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r5, 0xE]
- movs r0, 0
- bl sub_80073B8
- lsls r0, r6, 3
- adds r0, 0x10
- ldr r1, _08065F34
- lsls r4, r6, 2
- adds r1, r4, r1
- ldr r2, [r1]
- str r7, [sp]
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- ldr r1, _08065F38
- ldr r2, [sp, 0xC8]
- lsls r0, r2, 5
- adds r4, r0
- adds r4, r1
- ldr r2, [r4]
- str r7, [sp]
- movs r0, 0x8
- movs r1, 0x10
- movs r3, 0
- bl xxx_format_and_draw
- movs r0, 0
- bl sub_80073E0
-_08065EF4:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldr r0, _08065F3C
- ldrh r1, [r0, 0x2]
- mov r0, r10
- ands r0, r1
- cmp r0, 0
- bne _08065F16
- adds r0, r5, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _08065F40
-_08065F16:
- movs r0, 0
- bl sub_8083CE0
- adds r6, 0x1
- cmp r6, 0x7
- bne _08065F64
- movs r6, 0
- b _08065F64
- .align 2, 0
-_08065F28: .4byte gUnknown_203B46C
-_08065F2C: .4byte gUnknown_202EE10
-_08065F30: .4byte gUnknown_2027370
-_08065F34: .4byte gUnknown_80FF774
-_08065F38: .4byte gUnknown_80FF7EC
-_08065F3C: .4byte gRealInputs
-_08065F40:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08065F52
- adds r0, r5, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08065F68
-_08065F52:
- movs r0, 0
- bl sub_8083CE0
- subs r6, 0x1
- movs r0, 0x1
- negs r0, r0
- cmp r6, r0
- bne _08065F64
- movs r6, 0x6
-_08065F64:
- movs r7, 0x1
- b _08065F94
-_08065F68:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08065F7A
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08065F80
-_08065F7A:
- bl sub_8083D08
- b _08065F94
-_08065F80:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08065F90
- ldr r1, _08065FB0
- ldrb r0, [r1]
- cmp r0, 0
- beq _08065EF4
-_08065F90:
- bl sub_8083D30
-_08065F94:
- movs r0, 0x24
- bl sub_803E46C
- cmp r7, 0
- beq _08065FA0
- b _08065E0C
-_08065FA0:
- add sp, 0xEC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08065FB0: .4byte gUnknown_202EE3A
- thumb_func_end sub_8065DBC
-
- thumb_func_start sub_8065FB4
-sub_8065FB4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08065FE0
- add sp, r4
- movs r0, 0
- mov r10, r0
- ldr r4, _08065FE4
- ldr r0, [r4]
- ldr r1, _08065FE8
- adds r0, r1
- ldrb r0, [r0]
- bl GetRecruitable
- lsls r0, 24
- cmp r0, 0
- bne _08065FF0
- ldr r0, _08065FEC
- b _08065FFE
- .align 2, 0
-_08065FE0: .4byte 0xfffff608
-_08065FE4: .4byte gDungeonGlobalData
-_08065FE8: .4byte 0x00000644
-_08065FEC: .4byte gUnknown_80FA5F4
-_08065FF0:
- ldr r0, [r4]
- ldr r2, _0806600C
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08066014
- ldr r0, _08066010
-_08065FFE:
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _08066194
- .align 2, 0
-_0806600C: .4byte 0x0000065d
-_08066010: .4byte gUnknown_80FA61C
-_08066014:
- mov r0, sp
- bl sub_80664FC
- ldr r6, _08066130
-_0806601C:
- movs r0, 0
- mov r8, r0
- mov r1, r10
- lsls r0, r1, 2
- add r0, r10
- lsls r0, 6
- subs r0, r1
- lsls r0, 2
- add r0, sp
- mov r9, r0
- ldr r0, _08066134
- strb r1, [r0, 0x1]
- ldr r0, _08066138
- movs r1, 0x1
- bl sub_803ECB4
- mov r2, r8
- strh r2, [r6, 0x1A]
- strh r2, [r6, 0x18]
- strh r2, [r6, 0x1C]
- mov r0, r10
- strh r0, [r6, 0x1E]
- movs r0, 0x2
- strh r0, [r6, 0x20]
- strh r2, [r6, 0x4]
- movs r0, 0x10
- strh r0, [r6, 0x6]
- strh r2, [r6, 0x14]
- mov r1, r8
- str r1, [r6]
- adds r0, r6, 0
- adds r0, 0x28
- bl sub_801317C
- ldr r0, _0806613C
- mov r2, r8
- str r2, [r0]
- movs r1, 0
- ldr r0, _08066140
- strb r1, [r0]
- mov r0, r9
- mov r1, r10
- bl sub_80661AC
- ldr r1, _08066144
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0x10
- lsls r0, 3
- strh r0, [r6, 0xC]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r6, 0xE]
-_0806608C:
- movs r5, 0
- ldr r0, _08066140
- strb r5, [r0]
- movs r0, 0
- ldr r1, _08066148
- bl sub_8014140
- adds r4, r0, 0
- mov r0, r9
- adds r1, r4, 0
- bl sub_8066288
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- mov r0, r9
- adds r1, r4, 0
- bl sub_8066358
- lsls r0, 24
- cmp r0, 0
- beq _080660BE
- movs r5, 0x1
-_080660BE:
- cmp r5, 0
- bne _080660CE
- ldr r0, _08066130
- bl AddMenuCursorSprite
- movs r0, 0x45
- bl sub_803E46C
-_080660CE:
- ldr r2, _08066140
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080660E2
- movs r0, 0x1
- movs r1, 0x8
- bl sub_8066434
-_080660E2:
- ldr r0, _08066140
- ldrb r1, [r0]
- movs r7, 0x2
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080660F8
- movs r0, 0
- movs r1, 0x70
- bl sub_8066434
-_080660F8:
- ldr r5, _0806614C
- ldrh r1, [r5, 0x2]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- bne _0806611A
- ldr r4, _08066130
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806611A
- adds r0, r4, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _08066150
-_0806611A:
- movs r0, 0
- bl sub_8083CE0
- movs r0, 0
- mov r1, r10
- cmp r1, 0
- bne _0806612A
- movs r0, 0x1
-_0806612A:
- mov r10, r0
- b _08066184
- .align 2, 0
-_08066130: .4byte gUnknown_202EE10
-_08066134: .4byte gUnknown_203B43C
-_08066138: .4byte gUnknown_8106D08
-_0806613C: .4byte gUnknown_202F2F8
-_08066140: .4byte gUnknown_202F2FC
-_08066144: .4byte gUnknown_2027370
-_08066148: .4byte gUnknown_8106D68
-_0806614C: .4byte gRealInputs
-_08066150:
- bl sub_80048C8
- lsls r0, 24
- cmp r0, 0
- bne _0806608C
- ldrh r1, [r5, 0x2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _0806616E
- adds r0, r4, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- beq _08066174
-_0806616E:
- bl sub_8083D30
- b _0806618C
-_08066174:
- movs r0, 0xC
- ands r0, r1
- cmp r0, 0
- beq _0806608C
- bl sub_8083D08
- movs r2, 0x1
- mov r8, r2
-_08066184:
- mov r0, r8
- cmp r0, 0
- bne _0806618C
- b _0806601C
-_0806618C:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
-_08066194:
- ldr r3, _080661A8
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080661A8: .4byte 0x000009f8
- thumb_func_end sub_8065FB4
-
- thumb_func_start sub_80661AC
-sub_80661AC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x44
- adds r6, r0, 0
- adds r5, r1, 0
- ldr r0, _080661DC
- ldr r4, [r0]
- movs r0, 0x20
- mov r8, r0
- movs r0, 0
- bl sub_80073B8
- cmp r5, 0
- bne _080661E4
- ldr r0, _080661E0
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0xC
- movs r1, 0
- movs r3, 0
- bl xxx_call_draw_string
- b _080661F6
- .align 2, 0
-_080661DC: .4byte gUnknown_202F2F8
-_080661E0: .4byte gUnknown_80FEA68
-_080661E4:
- ldr r0, _08066254
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x14
- movs r1, 0
- movs r3, 0
- bl xxx_call_draw_string
-_080661F6:
- movs r1, 0x9F
- lsls r1, 3
- adds r0, r6, r1
- ldr r1, [r0]
- cmp r1, 0
- beq _08066260
- movs r7, 0x7
- lsls r0, r4, 1
- adds r5, r0, r6
-_08066208:
- cmp r4, 0
- blt _08066244
- movs r1, 0x9F
- lsls r1, 3
- adds r0, r6, r1
- ldr r0, [r0]
- cmp r4, r0
- bge _08066244
- movs r1, 0xD4
- lsls r1, 2
- adds r0, r6, r1
- adds r0, r4
- ldrb r2, [r0]
- add r0, sp, 0x4
- ldr r1, _08066258
- bl ExpandPlaceholdersBuffer
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldr r0, _0806625C
- bl sub_808D930
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- mov r1, r8
- add r2, sp, 0x4
- movs r3, 0
- bl xxx_format_and_draw
-_08066244:
- subs r7, 0x1
- adds r5, 0x2
- adds r4, 0x1
- movs r1, 0xC
- add r8, r1
- cmp r7, 0
- bge _08066208
- b _08066270
- .align 2, 0
-_08066254: .4byte gUnknown_80FEA80
-_08066258: .4byte gUnknown_8106D8C
-_0806625C: .4byte gAvailablePokemonNames
-_08066260:
- ldr r0, _08066284
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x8
- mov r1, r8
- movs r3, 0
- bl xxx_call_draw_string
-_08066270:
- movs r0, 0
- bl sub_80073E0
- add sp, 0x44
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08066284: .4byte gUnknown_80FEA8C
- thumb_func_end sub_80661AC
-
- thumb_func_start sub_8066288
-sub_8066288:
- push {r4,r5,lr}
- sub sp, 0x44
- adds r5, r0, 0
- adds r3, r1, 0
- ldr r0, _080662B8
- ldr r4, [r0]
- cmp r4, 0
- beq _080662B4
- subs r4, 0x1
- ldr r2, _080662BC
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080662C0
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080662C4
- cmp r3, 0x1
- beq _080662C4
-_080662B4:
- movs r0, 0
- b _0806633E
- .align 2, 0
-_080662B8: .4byte gUnknown_202F2F8
-_080662BC: .4byte gUnknown_202F2FC
-_080662C0: .4byte gRealInputs
-_080662C4:
- movs r0, 0
- bl sub_8083CE0
- movs r0, 0
- bl sub_80073B8
- movs r0, 0x10
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0x90
- bl sub_80087EC
- ldr r1, _08066348
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r5, r2
- adds r0, r4
- ldrb r2, [r0]
- add r0, sp, 0x4
- bl ExpandPlaceholdersBuffer
- ldr r0, _0806634C
- lsls r1, r4, 1
- adds r1, r5, r1
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl sub_808D930
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x14
- add r2, sp, 0x4
- movs r3, 0
- bl xxx_format_and_draw
- movs r0, 0
- bl sub_80073E0
- movs r0, 0x45
- bl sub_803E46C
- ldr r5, _08066350
- movs r4, 0x5
-_08066320:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x45
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08066320
- ldr r1, _08066354
- ldr r0, [r1]
- subs r0, 0x1
- str r0, [r1]
- movs r0, 0x1
-_0806633E:
- add sp, 0x44
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08066348: .4byte gUnknown_8106D8C
-_0806634C: .4byte gAvailablePokemonNames
-_08066350: .4byte gUnknown_203B084
-_08066354: .4byte gUnknown_202F2F8
- thumb_func_end sub_8066288
-
- thumb_func_start sub_8066358
-sub_8066358:
- push {r4-r6,lr}
- sub sp, 0x44
- adds r5, r0, 0
- adds r3, r1, 0
- ldr r0, _08066394
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0x8
- movs r6, 0x80
- movs r1, 0x9F
- lsls r1, 3
- adds r0, r5, r1
- ldr r0, [r0]
- cmp r0, r4
- ble _08066390
- ldr r2, _08066398
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _0806639C
- ldrh r1, [r0, 0x4]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _080663A0
- cmp r3, 0x2
- beq _080663A0
-_08066390:
- movs r0, 0
- b _0806641A
- .align 2, 0
-_08066394: .4byte gUnknown_202F2F8
-_08066398: .4byte gUnknown_202F2FC
-_0806639C: .4byte gRealInputs
-_080663A0:
- movs r0, 0
- bl sub_8083CE0
- movs r0, 0
- bl sub_80073B8
- movs r0, 0x10
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- adds r2, r6, 0
- movs r3, 0x48
- bl sub_80087EC
- ldr r1, _08066424
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r5, r2
- adds r0, r4
- ldrb r2, [r0]
- add r0, sp, 0x4
- bl ExpandPlaceholdersBuffer
- ldr r0, _08066428
- lsls r1, r4, 1
- adds r1, r5, r1
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl sub_808D930
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- adds r1, r6, 0
- add r2, sp, 0x4
- movs r3, 0
- bl xxx_format_and_draw
- movs r0, 0
- bl sub_80073E0
- movs r0, 0xD
- bl sub_803E46C
- ldr r5, _0806642C
- movs r4, 0x5
-_080663FC:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0xD
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _080663FC
- ldr r1, _08066430
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- movs r0, 0x1
-_0806641A:
- add sp, 0x44
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08066424: .4byte gUnknown_8106D8C
-_08066428: .4byte gAvailablePokemonNames
-_0806642C: .4byte gUnknown_203B080
-_08066430: .4byte gUnknown_202F2F8
- thumb_func_end sub_8066358
-
- thumb_func_start sub_8066434
-sub_8066434:
- push {r4-r7,lr}
- mov r12, r1
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r7, _080664C8
- ldr r0, _080664CC
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080664C0
- ldr r0, _080664D0
- ldrh r1, [r0]
- ldr r3, _080664D4
- ands r3, r1
- ldr r1, _080664D8
- ands r3, r1
- ldr r1, _080664DC
- ands r3, r1
- ldr r1, _080664E0
- ands r3, r1
- ldr r1, _080664E4
- ands r3, r1
- negs r1, r2
- orrs r1, r2
- asrs r1, 31
- movs r2, 0x80
- lsls r2, 6
- ands r2, r1
- ldrh r1, [r0, 0x2]
- ldr r4, _080664E8
- ands r4, r1
- orrs r4, r2
- movs r5, 0xF
- ldr r2, _080664EC
- movs r6, 0x2
- ldrsh r1, [r7, r6]
- lsls r1, 3
- add r1, r12
- ands r1, r2
- lsls r1, 4
- ldrh r2, [r0, 0x6]
- ands r5, r2
- orrs r5, r1
- strh r5, [r0, 0x6]
- movs r2, 0
- ldrsh r1, [r7, r2]
- lsls r1, 3
- adds r1, 0x40
- ldr r2, _080664F0
- ands r1, r2
- movs r2, 0xFE
- lsls r2, 8
- ands r4, r2
- orrs r4, r1
- movs r2, 0x80
- lsls r2, 7
- ldr r1, _080664F4
- ands r3, r1
- orrs r3, r2
- strh r3, [r0]
- ands r4, r1
- strh r4, [r0, 0x2]
- ldr r1, _080664F8
- strh r1, [r0, 0x4]
- movs r1, 0x7F
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_080664C0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080664C8: .4byte gUnknown_2027370
-_080664CC: .4byte gUnknown_202EDCC
-_080664D0: .4byte gUnknown_202F300
-_080664D4: .4byte 0x0000feff
-_080664D8: .4byte 0x0000fdff
-_080664DC: .4byte 0x0000f3ff
-_080664E0: .4byte 0x0000efff
-_080664E4: .4byte 0x0000dfff
-_080664E8: .4byte 0x0000c1ff
-_080664EC: .4byte 0x00000fff
-_080664F0: .4byte 0x000001ff
-_080664F4: .4byte 0x00003fff
-_080664F8: .4byte 0x0000f3f0
- thumb_func_end sub_8066434
-
- thumb_func_start sub_80664FC
-sub_80664FC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C0
- str r0, [sp, 0x1A8]
- movs r7, 0
- ldr r2, _08066604
- ldr r3, _08066608
- movs r1, 0
-_08066512:
- mov r4, sp
- adds r0, r4, r7
- strb r1, [r0]
- adds r7, 0x1
- cmp r7, r2
- ble _08066512
- movs r4, 0
- adds r1, r3, 0
- ldr r0, [r3]
- ldr r7, _0806660C
- adds r0, r7
- ldr r0, [r0]
- cmp r4, r0
- bge _08066578
- ldr r6, _08066610
-_08066530:
- movs r5, 0x1
- ldr r2, [r1]
- lsls r0, r4, 3
- adds r0, r2, r0
- ldr r7, _08066614
- adds r1, r0, r7
- movs r7, 0
- ldrsh r1, [r1, r7]
- movs r7, 0xD1
- lsls r7, 6
- adds r0, r7
- movs r7, 0
- ldrsh r0, [r0, r7]
- cmp r1, 0
- bne _08066554
- cmp r0, 0
- beq _08066566
- movs r5, 0x2
-_08066554:
- adds r0, r2, r6
- str r3, [sp, 0x1BC]
- bl ExtractSpeciesIndex
- lsls r0, 16
- asrs r0, 16
- add r0, sp
- strb r5, [r0]
- ldr r3, [sp, 0x1BC]
-_08066566:
- adds r6, 0x8
- adds r4, 0x1
- ldr r1, _08066608
- ldr r0, [r1]
- ldr r2, _0806660C
- adds r0, r2
- ldr r0, [r0]
- cmp r4, r0
- blt _08066530
-_08066578:
- ldr r0, [r3]
- ldr r4, _08066618
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806658A
- add r1, sp, 0x17C
- movs r0, 0x1
- strb r0, [r1]
-_0806658A:
- movs r0, 0x5
-_0806658C:
- subs r0, 0x1
- cmp r0, 0
- bge _0806658C
- movs r7, 0
-_08066594:
- movs r0, 0
- mov r8, r0
- movs r1, 0x1
- adds r2, r7, 0x1
- str r2, [sp, 0x1AC]
- lsls r4, r7, 2
- str r4, [sp, 0x1B0]
-_080665A2:
- lsls r0, r1, 16
- asrs r6, r0, 16
- movs r0, 0x7
- mov r10, r0
- movs r2, 0
- mov r9, r2
- mov r4, sp
- adds r0, r4, r6
- ldrb r0, [r0]
- adds r1, 0x1
- str r1, [sp, 0x1B4]
- cmp r0, 0
- bne _080665BE
- b _08066704
-_080665BE:
- cmp r7, 0
- bne _08066620
- adds r0, r6, 0
- bl sub_806F9BC
- lsls r0, 24
- cmp r0, 0
- bne _080665D0
- b _08066704
-_080665D0:
- adds r0, r6, 0
- bl IsExclusivePokemonUnlocked
- lsls r0, 24
- cmp r0, 0
- bne _080665DE
- b _08066704
-_080665DE:
- adds r0, r6, 0
- bl GetBaseRecruit
- lsls r0, 16
- ldr r1, _0806661C
- cmp r0, r1
- bne _080665EE
- b _08066704
-_080665EE:
- cmp r6, 0x97
- bne _0806669E
- movs r0, 0x7A
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- bne _08066600
- b _08066704
-_08066600:
- b _0806669E
- .align 2, 0
-_08066604: .4byte 0x000001a7
-_08066608: .4byte gDungeonGlobalData
-_0806660C: .4byte 0x000037e4
-_08066610: .4byte 0x0000343c
-_08066614: .4byte 0x0000343e
-_08066618: .4byte 0x0000066e
-_0806661C: .4byte 0xfc190000
-_08066620:
- movs r5, 0
- ldr r0, _080666CC
- ldr r2, [r0]
- movs r4, 0x1
- movs r3, 0xCE
- lsls r3, 1
-_0806662C:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0806663E
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, r6
- beq _08066646
-_0806663E:
- adds r2, 0x58
- adds r5, 0x1
- cmp r5, r3
- ble _0806662C
-_08066646:
- ldr r0, _080666D0
- cmp r5, r0
- beq _08066650
- movs r2, 0x1
- mov r9, r2
-_08066650:
- mov r4, r9
- cmp r4, 0
- bne _0806669E
- movs r5, 0
- ldr r2, _080666CC
-_0806665A:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _080666D4
- adds r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806668C
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- str r2, [sp, 0x1B8]
- bl sub_806A564
- lsls r0, 24
- ldr r2, [sp, 0x1B8]
- cmp r0, 0
- bne _0806668C
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, r6
- beq _08066692
-_0806668C:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0806665A
-_08066692:
- cmp r5, 0x4
- beq _0806669E
- movs r2, 0x1
- mov r9, r2
- movs r4, 0x6
- mov r10, r4
-_0806669E:
- cmp r7, 0
- bne _080666D8
- mov r1, sp
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080666B0
- movs r2, 0x2
- mov r10, r2
-_080666B0:
- mov r4, r8
- lsls r0, r4, 1
- ldr r1, [sp, 0x1A8]
- adds r0, r1, r0
- strh r6, [r0]
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r1, r2
- add r0, r8
- mov r4, r10
- strb r4, [r0]
- movs r0, 0x1
- add r8, r0
- b _08066704
- .align 2, 0
-_080666CC: .4byte gRecruitedPokemonRef
-_080666D0: .4byte 0x0000019d
-_080666D4: .4byte 0x00008df8
-_080666D8:
- mov r1, r9
- cmp r1, 0
- beq _08066704
- ldr r2, [sp, 0x1B0]
- adds r0, r2, r7
- lsls r0, 6
- subs r0, r7
- lsls r0, 2
- ldr r4, [sp, 0x1A8]
- adds r0, r4
- mov r2, r8
- lsls r1, r2, 1
- adds r1, r0, r1
- strh r6, [r1]
- movs r4, 0xD4
- lsls r4, 2
- adds r0, r4
- add r0, r8
- mov r1, r10
- strb r1, [r0]
- movs r2, 0x1
- add r8, r2
-_08066704:
- ldr r1, [sp, 0x1B4]
- ldr r0, _08066740
- cmp r1, r0
- bgt _0806670E
- b _080665A2
-_0806670E:
- ldr r4, [sp, 0x1B0]
- adds r0, r4, r7
- lsls r0, 6
- subs r0, r7
- lsls r0, 2
- ldr r7, [sp, 0x1A8]
- adds r0, r7
- movs r1, 0x9F
- lsls r1, 3
- adds r0, r1
- mov r2, r8
- str r2, [r0]
- ldr r7, [sp, 0x1AC]
- cmp r7, 0x1
- bgt _0806672E
- b _08066594
-_0806672E:
- add sp, 0x1C0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08066740: .4byte 0x000001a3
- thumb_func_end sub_80664FC
-
- thumb_func_start sub_8066744
-sub_8066744:
- push {lr}
- ldr r1, [r0, 0x70]
- adds r1, 0x48
- movs r2, 0x1
- strb r2, [r1]
- adds r0, 0x4
- movs r1, 0
- bl sub_8045DB4
- pop {r0}
- bx r0
- thumb_func_end sub_8066744
-
- thumb_func_start sub_806675C
-sub_806675C:
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- movs r1, 0
- movs r2, 0xFE
- bl sub_8044D90
- adds r4, r0, 0
- movs r3, 0
- ldr r6, _080667C0
-_08066772:
- lsls r1, r3, 2
- ldr r0, [r6]
- adds r1, r0, r1
- ldrb r2, [r1]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08066798
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _08066798
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- bne _080667EC
- movs r0, 0xEF
- ands r0, r2
- strb r0, [r1]
-_08066798:
- adds r3, 0x1
- cmp r3, 0x13
- ble _08066772
- ldr r0, _080667C4
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r0, _080667C8
- bl PlaySoundEffect
- cmp r7, 0
- beq _08066812
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080667D0
- ldr r0, _080667CC
- b _080667DE
- .align 2, 0
-_080667C0: .4byte gTeamInventory_203B460
-_080667C4: .4byte gUnknown_202DE58
-_080667C8: .4byte 0x00000133
-_080667CC: .4byte gUnknown_80F8D04
-_080667D0:
- ldrb r0, [r4, 0x2]
- bl GetItemType
- lsls r0, 24
- cmp r0, 0
- bne _08066808
- ldr r0, _080667E8
-_080667DE:
- ldr r1, [r0]
- adds r0, r5, 0
- bl SendMessage
- b _08066812
- .align 2, 0
-_080667E8: .4byte gUnknown_80F8CE4
-_080667EC:
- ldr r0, _08066800
- bl sub_8045BF8
- ldr r0, _08066804
- ldr r1, [r0]
- adds r0, r5, 0
- bl SendMessage
- b _08066838
- .align 2, 0
-_08066800: .4byte gUnknown_202DE58
-_08066804: .4byte gUnknown_80F8C7C
-_08066808:
- ldr r0, _08066840
- ldr r1, [r0]
- adds r0, r5, 0
- bl SendMessage
-_08066812:
- ldrb r0, [r4]
- movs r1, 0x10
- orrs r1, r0
- strb r1, [r4]
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _08066838
- cmp r7, 0
- beq _08066838
- ldr r0, _08066844
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r0, _08066848
- ldr r1, [r0]
- adds r0, r5, 0
- bl SendMessage
-_08066838:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08066840: .4byte gUnknown_80F8CE8
-_08066844: .4byte gUnknown_202DE58
-_08066848: .4byte gUnknown_80F8BE0
- thumb_func_end sub_806675C
-
- thumb_func_start sub_806684C
-sub_806684C:
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- movs r4, 0
-_08066856:
- ldr r0, _0806688C
- lsls r1, r4, 2
- ldr r0, [r0]
- adds r1, r0, r1
- ldrb r2, [r1]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080668B8
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _080668B8
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _08066898
- ldr r0, _08066890
- bl sub_8045BF8
- ldr r0, _08066894
- ldr r1, [r0]
- adds r0, r5, 0
- bl SendMessage
- b _080668BE
- .align 2, 0
-_0806688C: .4byte gTeamInventory_203B460
-_08066890: .4byte gUnknown_202DE58
-_08066894: .4byte gUnknown_80F8C7C
-_08066898:
- movs r0, 0xEF
- ands r0, r2
- strb r0, [r1]
- ldr r0, _080668C4
- bl sub_8045BF8
- ldr r0, _080668C8
- bl PlaySoundEffect
- cmp r6, 0
- beq _080668B8
- ldr r0, _080668CC
- ldr r1, [r0]
- adds r0, r5, 0
- bl SendMessage
-_080668B8:
- adds r4, 0x1
- cmp r4, 0x13
- ble _08066856
-_080668BE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080668C4: .4byte gUnknown_202DE58
-_080668C8: .4byte 0x00000133
-_080668CC: .4byte gUnknown_80F8D20
- thumb_func_end sub_806684C
-
- thumb_func_start sub_80668D0
-sub_80668D0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_8044DA4
- mov r8, r0
- ldr r4, [r6, 0x70]
- ldr r7, [r0, 0x70]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x2
- bl sub_8044D90
- adds r5, r0, 0
- adds r4, 0x48
- ldrb r0, [r4]
- movs r1, 0
- mov r9, r1
- cmp r0, 0x80
- bne _08066904
- movs r2, 0x1
- mov r9, r2
-_08066904:
- mov r0, r9
- cmp r0, 0
- bne _08066928
- ldrb r1, [r5]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0x18
- bne _08066928
- ldr r0, _08066920
- adds r1, r5, 0
- bl sub_8045BF8
- ldr r0, _08066924
- b _08066950
- .align 2, 0
-_08066920: .4byte gUnknown_202DEA8
-_08066924: .4byte gUnknown_80F8C44
-_08066928:
- ldr r0, _0806695C
- mov r1, r8
- movs r2, 0
- bl SetMessageArgument
- adds r1, r7, 0
- adds r1, 0x60
- ldrb r2, [r1]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08066A04
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _08066968
- ldr r0, _08066960
- bl sub_8045BF8
- ldr r0, _08066964
-_08066950:
- ldr r1, [r0]
- adds r0, r6, 0
- bl SendMessage
- b _08066A96
- .align 2, 0
-_0806695C: .4byte gUnknown_202DFE8
-_08066960: .4byte gUnknown_202DEA8
-_08066964: .4byte gUnknown_80F8C40
-_08066968:
- ldr r1, [r7, 0x60]
- str r1, [sp]
- ldr r2, [r5]
- str r2, [sp, 0x4]
- movs r4, 0xEF
- mov r0, sp
- ldrb r0, [r0]
- ands r0, r4
- ldr r3, _080669A8
- ands r1, r3
- orrs r1, r0
- str r1, [sp]
- add r5, sp, 0x4
- ldrb r0, [r5]
- ands r0, r4
- ands r2, r3
- orrs r2, r0
- str r2, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x64
- bl sub_8044DF0
- mov r1, r9
- cmp r1, 0
- beq _080669AC
- adds r0, r6, 0x4
- mov r1, sp
- movs r2, 0x1
- bl sub_80460F8
- b _080669B2
- .align 2, 0
-_080669A8: .4byte 0xffffff00
-_080669AC:
- mov r0, sp
- bl AddItemToInventory
-_080669B2:
- ldr r0, [sp, 0x4]
- str r0, [r7, 0x60]
- ldr r4, _080669F4
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8045BF8
- adds r4, 0x50
- adds r0, r4, 0
- mov r1, sp
- bl sub_8045BF8
- ldr r0, _080669F8
- bl PlaySoundEffect
- ldr r0, _080669FC
- ldr r1, [r0]
- adds r0, r6, 0
- bl SendMessage
- add r0, sp, 0x4
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08066A52
- ldr r0, _08066A00
- ldr r1, [r0]
- adds r0, r6, 0
- bl SendMessage
- b _08066A52
- .align 2, 0
-_080669F4: .4byte gUnknown_202DE58
-_080669F8: .4byte 0x0000014d
-_080669FC: .4byte gUnknown_80F8CA8
-_08066A00: .4byte gUnknown_80F8BE0
-_08066A04:
- ldr r2, [r5]
- str r2, [sp, 0x8]
- movs r1, 0xEF
- add r4, sp, 0x8
- ldrb r0, [r4]
- ands r0, r1
- ldr r1, _08066AA4
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x65
- bl sub_8044DF0
- ldr r0, [sp, 0x8]
- str r0, [r7, 0x60]
- ldr r0, _08066AA8
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r0, _08066AAC
- bl PlaySoundEffect
- ldr r0, _08066AB0
- ldr r1, [r0]
- adds r0, r6, 0
- bl SendMessage
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08066A52
- ldr r0, _08066AB4
- ldr r1, [r0]
- adds r0, r6, 0
- bl SendMessage
-_08066A52:
- mov r0, r8
- bl sub_806A6E8
- mov r1, r8
- adds r1, 0x4
- mov r0, r8
- bl sub_80706A4
- lsls r0, 24
- cmp r0, 0
- beq _08066A74
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_08066A74:
- ldrb r0, [r7, 0x7]
- cmp r0, 0
- bne _08066A86
- ldrh r1, [r7]
- movs r2, 0x80
- lsls r2, 7
- adds r0, r2, 0
- orrs r0, r1
- strh r0, [r7]
-_08066A86:
- ldr r0, _08066AB8
- ldr r0, [r0]
- ldr r1, _08066ABC
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_807AB38
-_08066A96:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08066AA4: .4byte 0xffffff00
-_08066AA8: .4byte gUnknown_202DE58
-_08066AAC: .4byte 0x0000014d
-_08066AB0: .4byte gUnknown_80F8D44
-_08066AB4: .4byte gUnknown_80F8BE0
-_08066AB8: .4byte gDungeonGlobalData
-_08066ABC: .4byte 0x00003a08
- thumb_func_end sub_80668D0
-
- thumb_func_start sub_8066AC0
-sub_8066AC0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r0, 0
- movs r1, 0
- bl sub_8044DA4
- adds r6, r0, 0
- ldr r2, [r6, 0x70]
- mov r8, r2
- adds r5, r2, 0
- adds r5, 0x60
- ldr r0, _08066AF0
- ldr r0, [r0]
- adds r0, 0x4C
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08066AF8
- ldr r0, _08066AF4
- b _08066B10
- .align 2, 0
-_08066AF0: .4byte gTeamInventory_203B460
-_08066AF4: .4byte gUnknown_80F8D60
-_08066AF8:
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08066B24
- ldr r0, _08066B1C
- adds r1, r5, 0
- bl sub_8045BF8
- ldr r0, _08066B20
-_08066B10:
- ldr r1, [r0]
- adds r0, r7, 0
- bl SendMessage
- b _08066BAC
- .align 2, 0
-_08066B1C: .4byte gUnknown_202DE58
-_08066B20: .4byte gUnknown_80F8BE0
-_08066B24:
- ldr r2, [r2, 0x60]
- str r2, [sp]
- movs r1, 0xEF
- mov r0, sp
- ldrb r0, [r0]
- ands r0, r1
- ldr r1, _08066BB8
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- ldr r0, _08066BBC
- mov r1, sp
- bl sub_8045BF8
- ldr r0, _08066BC0
- adds r1, r6, 0
- movs r2, 0
- bl SetMessageArgument
- strb r4, [r5, 0x2]
- strb r4, [r5, 0x1]
- strb r4, [r5]
- mov r0, sp
- bl AddItemToInventory
- ldr r0, _08066BC4
- bl PlaySoundEffect
- ldr r0, _08066BC8
- ldr r1, [r0]
- adds r0, r7, 0
- bl SendMessage
- adds r0, r6, 0
- bl sub_806A6E8
- adds r1, r6, 0x4
- adds r0, r6, 0
- bl sub_80706A4
- lsls r0, 24
- cmp r0, 0
- beq _08066B86
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_08066B86:
- mov r1, r8
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- bne _08066B9C
- ldrh r1, [r1]
- movs r2, 0x80
- lsls r2, 7
- adds r0, r2, 0
- orrs r0, r1
- mov r1, r8
- strh r0, [r1]
-_08066B9C:
- ldr r0, _08066BCC
- ldr r0, [r0]
- ldr r2, _08066BD0
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_807AB38
-_08066BAC:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08066BB8: .4byte 0xffffff00
-_08066BBC: .4byte gUnknown_202DE58
-_08066BC0: .4byte gAvailablePokemonNames
-_08066BC4: .4byte 0x0000014d
-_08066BC8: .4byte gUnknown_80F8D7C
-_08066BCC: .4byte gDungeonGlobalData
-_08066BD0: .4byte 0x00003a08
- thumb_func_end sub_8066AC0
-
- thumb_func_start sub_8066BD4
-sub_8066BD4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- movs r1, 0
- bl sub_8044DA4
- mov r9, r0
- ldr r0, [r0, 0x70]
- mov r8, r0
- mov r10, r8
- mov r6, r8
- adds r6, 0x60
- ldr r2, _08066C10
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_8044D90
- adds r5, r0, 0
- ldrb r2, [r6]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _08066C18
- ldr r0, _08066C14
- adds r1, r6, 0
- b _08066C26
- .align 2, 0
-_08066C10: .4byte 0x00001565
-_08066C14: .4byte gUnknown_202DE58
-_08066C18:
- ldrb r1, [r5]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0x18
- bne _08066C40
- ldr r0, _08066C38
- adds r1, r5, 0
-_08066C26:
- bl sub_8045BF8
- ldr r0, _08066C3C
- ldr r1, [r0]
- adds r0, r7, 0
- bl SendMessage
- b _08066CC8
- .align 2, 0
-_08066C38: .4byte gUnknown_202DE58
-_08066C3C: .4byte gUnknown_80F8BE0
-_08066C40:
- movs r1, 0xEF
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r6]
- ldrb r0, [r5]
- ands r1, r0
- strb r1, [r5]
- ldr r4, _08066CD8
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8045BF8
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8045BF8
- ldr r0, _08066CDC
- mov r1, r9
- movs r2, 0
- bl SetMessageArgument
- mov r2, r8
- ldr r1, [r2, 0x60]
- ldr r0, [r5]
- str r0, [r2, 0x60]
- str r1, [r5]
- ldr r0, _08066CE0
- bl PlaySoundEffect
- ldr r0, _08066CE4
- ldr r1, [r0]
- adds r0, r7, 0
- bl SendMessage
- mov r1, r9
- adds r1, 0x4
- mov r0, r9
- bl sub_80706A4
- lsls r0, 24
- cmp r0, 0
- beq _08066CA2
- adds r0, r7, 0
- mov r1, r9
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_08066CA2:
- mov r1, r10
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- bne _08066CB8
- ldrh r1, [r1]
- movs r2, 0x80
- lsls r2, 7
- adds r0, r2, 0
- orrs r0, r1
- mov r1, r10
- strh r0, [r1]
-_08066CB8:
- ldr r0, _08066CE8
- ldr r0, [r0]
- ldr r2, _08066CEC
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_807AB38
-_08066CC8:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08066CD8: .4byte gUnknown_202DE58
-_08066CDC: .4byte gUnknown_202DFE8
-_08066CE0: .4byte 0x0000014d
-_08066CE4: .4byte gUnknown_80F8DB4
-_08066CE8: .4byte gDungeonGlobalData
-_08066CEC: .4byte 0x00003a08
- thumb_func_end sub_8066BD4
-
- thumb_func_start sub_8066CF0
-sub_8066CF0:
- push {lr}
- movs r1, 0
- bl sub_8044DA4
- ldr r0, [r0, 0x70]
- adds r0, 0xFC
- movs r1, 0x1
- strb r1, [r0]
- pop {r0}
- bx r0
- thumb_func_end sub_8066CF0
-
- thumb_func_start sub_8066D04
-sub_8066D04:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, [r4, 0x70]
- movs r1, 0
- movs r2, 0x4
- bl sub_8044D90
- adds r5, r0, 0
- ldr r0, _08066D2C
- adds r1, r5, 0
- bl sub_8045BF8
- adds r0, r6, 0
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0x80
- bne _08066D34
- ldr r0, _08066D30
- b _08066DB2
- .align 2, 0
-_08066D2C: .4byte gUnknown_202DE58
-_08066D30: .4byte gUnknown_80F8DE0
-_08066D34:
- cmp r0, 0x14
- bhi _08066D4C
- ldrb r1, [r5]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0x18
- bne _08066D4C
- ldr r0, _08066D48
- b _08066DB2
- .align 2, 0
-_08066D48: .4byte gUnknown_80F8BE0
-_08066D4C:
- adds r0, r6, 0
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0x81
- bne _08066D68
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08066D68
- ldr r0, _08066D64
- b _08066DB2
- .align 2, 0
-_08066D64: .4byte gUnknown_80F8BE0
-_08066D68:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl GetMapTile_1
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- bne _08066DB0
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _08066DB0
- ldr r6, [r2, 0x14]
- cmp r6, 0
- bne _08066DB0
- ldrb r1, [r5]
- movs r0, 0xEF
- ands r0, r1
- strb r0, [r5]
- ldr r0, _08066DBC
- adds r1, r5, 0
- bl sub_8045BF8
- adds r0, r4, 0x4
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80460F8
- lsls r0, 24
- cmp r0, 0
- bne _08066DC4
-_08066DB0:
- ldr r0, _08066DC0
-_08066DB2:
- ldr r1, [r0]
- adds r0, r4, 0
- bl SendMessage
- b _08066DF8
- .align 2, 0
-_08066DBC: .4byte gUnknown_202DE58
-_08066DC0: .4byte gUnknown_80F8E04
-_08066DC4:
- strb r6, [r5, 0x2]
- strb r6, [r5, 0x1]
- strb r6, [r5]
- bl FillInventoryGaps
- ldr r0, _08066E00
- bl PlaySoundEffect
- ldr r0, _08066E04
- adds r1, r4, 0
- movs r2, 0
- bl SetMessageArgument
- ldr r0, _08066E08
- ldr r1, [r0]
- adds r0, r4, 0
- bl SendMessage
- ldr r0, _08066E0C
- ldr r0, [r0]
- ldr r1, _08066E10
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_807AB38
-_08066DF8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08066E00: .4byte 0x0000014d
-_08066E04: .4byte gAvailablePokemonNames
-_08066E08: .4byte gUnknown_80F8E28
-_08066E0C: .4byte gDungeonGlobalData
-_08066E10: .4byte 0x00003a08
- thumb_func_end sub_8066D04
-
- thumb_func_start sub_8066E14
-sub_8066E14:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r9, r0
- ldr r0, [r0, 0x70]
- mov r10, r0
- mov r0, r9
- movs r1, 0
- movs r2, 0x5
- bl sub_8044D90
- adds r6, r0, 0
- mov r0, r9
- movs r1, 0x1
- movs r2, 0x6
- bl sub_8044D90
- adds r2, r0, 0
- adds r7, r2, 0
- mov r0, r10
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0x80
- beq _08066E54
- ldr r0, _08066E50
- b _08066F1E
- .align 2, 0
-_08066E50: .4byte gUnknown_80F8E2C
-_08066E54:
- mov r0, r10
- adds r0, 0x50
- ldrb r1, [r0]
- str r0, [sp, 0x8]
- cmp r1, 0x14
- bhi _08066E80
- ldrb r1, [r2]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0x18
- bne _08066E80
- ldr r0, _08066E78
- adds r1, r2, 0
- bl sub_8045BF8
- ldr r0, _08066E7C
- b _08066F1E
- .align 2, 0
-_08066E78: .4byte gUnknown_202DE58
-_08066E7C: .4byte gUnknown_80F8BE0
-_08066E80:
- ldr r1, [sp, 0x8]
- ldrb r0, [r1]
- cmp r0, 0x81
- bne _08066EA8
- adds r2, r7, 0
- ldrb r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08066EA8
- ldr r0, _08066EA0
- adds r1, r2, 0
- bl sub_8045BF8
- ldr r0, _08066EA4
- b _08066F1E
- .align 2, 0
-_08066EA0: .4byte gUnknown_202DEA8
-_08066EA4: .4byte gUnknown_80F8C48
-_08066EA8:
- mov r2, r9
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- movs r3, 0x6
- ldrsh r1, [r2, r3]
- bl GetMapTile_1
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _08066ECC
- bl GetEntityType
- cmp r0, 0x3
- beq _08066ECC
- ldr r0, _08066EC8
- b _08066F1E
- .align 2, 0
-_08066EC8: .4byte gUnknown_80F8E54
-_08066ECC:
- adds r0, r6, 0
- ldr r5, [r0]
- str r5, [sp]
- adds r4, r7, 0
- ldr r6, [r4]
- mov r8, sp
- str r6, [sp, 0x4]
- movs r3, 0xEF
- mov r0, sp
- ldrb r2, [r0]
- ands r2, r3
- ldr r1, _08066F28
- adds r0, r1, 0
- ands r0, r5
- orrs r0, r2
- str r0, [sp]
- mov r2, r8
- ldrb r0, [r2, 0x4]
- ands r0, r3
- ands r1, r6
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r5, r10
- adds r5, 0x4C
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80461C8
- movs r0, 0
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x1]
- strb r0, [r4]
- add r1, sp, 0x4
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_80460F8
- lsls r0, 24
- cmp r0, 0
- bne _08066F30
- ldr r0, _08066F2C
-_08066F1E:
- ldr r1, [r0]
- mov r0, r9
- bl SendMessage
- b _08066F7E
- .align 2, 0
-_08066F28: .4byte 0xffffff00
-_08066F2C: .4byte gUnknown_80F8E78
-_08066F30:
- ldr r3, [sp, 0x8]
- ldrb r0, [r3]
- cmp r0, 0x81
- bne _08066F40
- ldr r0, [sp]
- mov r1, r10
- str r0, [r1, 0x60]
- b _08066F46
-_08066F40:
- mov r0, sp
- bl AddItemToInventory
-_08066F46:
- bl FillInventoryGaps
- ldr r4, _08066F90
- add r1, sp, 0x4
- adds r0, r4, 0
- bl sub_8045BF8
- adds r4, 0x50
- adds r0, r4, 0
- mov r1, sp
- bl sub_8045BF8
- ldr r0, _08066F94
- bl PlaySoundEffect
- ldr r0, _08066F98
- ldr r1, [r0]
- mov r0, r9
- bl SendMessage
- ldr r0, _08066F9C
- ldr r0, [r0]
- ldr r2, _08066FA0
- adds r0, r2
- ldrb r1, [r0]
- mov r0, r9
- bl sub_807AB38
-_08066F7E:
- 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
-_08066F90: .4byte gUnknown_202DE58
-_08066F94: .4byte 0x0000014d
-_08066F98: .4byte gUnknown_80F8EAC
-_08066F9C: .4byte gDungeonGlobalData
-_08066FA0: .4byte 0x00003a08
- thumb_func_end sub_8066E14
-
- thumb_func_start sub_8066FA4
-sub_8066FA4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r7, r0, 0
- ldr r0, [r7, 0x70]
- mov r9, r0
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- movs r2, 0x6
- ldrsh r1, [r7, r2]
- bl GetMapTile_1
- mov r10, r0
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x7
- bl sub_8044D90
- adds r4, r0, 0
- adds r5, r4, 0
- ldr r0, _08067000
- mov r8, r0
- adds r1, r4, 0
- bl sub_8045BF8
- mov r0, r9
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0x14
- bhi _08067008
- ldrb r1, [r4]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0x18
- bne _08067008
- mov r0, r8
- adds r0, 0x50
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r0, _08067004
- b _0806709E
- .align 2, 0
-_08067000: .4byte gUnknown_202DE58
-_08067004: .4byte gUnknown_80F8C48
-_08067008:
- mov r0, r9
- adds r0, 0x48
- ldrb r1, [r0]
- str r0, [sp, 0x8]
- cmp r1, 0x81
- bne _08067028
- adds r0, r5, 0
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08067028
- ldr r0, _08067024
- b _0806709E
- .align 2, 0
-_08067024: .4byte gUnknown_80F8C44
-_08067028:
- mov r1, r10
- ldr r0, [r1, 0x14]
- cmp r0, 0
- beq _08067040
- bl GetEntityType
- cmp r0, 0x3
- beq _08067040
- ldr r0, _0806703C
- b _0806709E
- .align 2, 0
-_0806703C: .4byte gUnknown_80F8E54
-_08067040:
- mov r2, r10
- ldr r0, [r2, 0x14]
- bl GetItemData
- adds r4, r0, 0
- ldr r0, _080670A8
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r6, [r5]
- str r6, [sp]
- ldr r4, [r4]
- mov r8, sp
- str r4, [sp, 0x4]
- movs r3, 0xEF
- mov r0, sp
- ldrb r2, [r0]
- ands r2, r3
- ldr r1, _080670AC
- adds r0, r1, 0
- ands r0, r6
- orrs r0, r2
- str r0, [sp]
- mov r2, r8
- ldrb r0, [r2, 0x4]
- ands r0, r3
- ands r1, r4
- orrs r1, r0
- str r1, [sp, 0x4]
- adds r4, r7, 0x4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80461C8
- movs r0, 0
- strb r0, [r5, 0x2]
- strb r0, [r5, 0x1]
- strb r0, [r5]
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_80460F8
- lsls r0, 24
- cmp r0, 0
- bne _080670B4
- ldr r0, _080670B0
-_0806709E:
- ldr r1, [r0]
- adds r0, r7, 0
- bl SendMessage
- b _080670EE
- .align 2, 0
-_080670A8: .4byte gUnknown_202DEA8
-_080670AC: .4byte 0xffffff00
-_080670B0: .4byte gUnknown_80F8E78
-_080670B4:
- ldr r1, [sp, 0x8]
- ldrb r0, [r1]
- cmp r0, 0x81
- bne _080670C4
- ldr r0, [sp, 0x4]
- mov r2, r9
- str r0, [r2, 0x60]
- b _080670CA
-_080670C4:
- add r0, sp, 0x4
- bl AddItemToInventory
-_080670CA:
- bl FillInventoryGaps
- ldr r0, _08067100
- bl PlaySoundEffect
- ldr r0, _08067104
- ldr r1, [r0]
- adds r0, r7, 0
- bl SendMessage
- ldr r0, _08067108
- ldr r0, [r0]
- ldr r1, _0806710C
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_807AB38
-_080670EE:
- 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
-_08067100: .4byte 0x0000014d
-_08067104: .4byte gUnknown_80F8EAC
-_08067108: .4byte gDungeonGlobalData
-_0806710C: .4byte 0x00003a08
- thumb_func_end sub_8066FA4
-
- thumb_func_start sub_8067110
-sub_8067110:
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- ldr r4, [r5, 0x70]
- movs r1, 0
- movs r2, 0x8
- bl sub_8044D90
- adds r6, r0, 0
- ldr r0, _08067190
- adds r1, r6, 0
- bl sub_8045BF8
- ldr r0, _08067194
- adds r1, r4, 0
- movs r2, 0
- bl SetMessageArgument_2
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8048D50
- lsls r0, 24
- cmp r0, 0
- beq _08067188
- adds r0, r6, 0
- bl sub_80464AC
- adds r1, r0, 0
- adds r0, r5, 0
- bl SendMessage
- ldr r0, [r6]
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x66
- bl sub_8044DF0
- movs r0, 0x1E
- movs r1, 0x11
- bl sub_803E708
- str r5, [sp]
- add r0, sp, 0x8
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- adds r3, r5, 0
- bl sub_80479B8
- ldr r0, _08067198
- ldr r0, [r0]
- ldr r1, _0806719C
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_807AB38
-_08067188:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08067190: .4byte gUnknown_202DE58
-_08067194: .4byte gAvailablePokemonNames
-_08067198: .4byte gDungeonGlobalData
-_0806719C: .4byte 0x00003a08
- thumb_func_end sub_8067110
-
- thumb_func_start sub_80671A0
-sub_80671A0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r6, r0, 0
- ldr r0, [r6, 0x70]
- mov r8, r0
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x9
- bl sub_8044D90
- adds r4, r0, 0
- mov r0, r8
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0x81
- bne _080671E8
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080671E8
- ldr r0, _080671E0
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r0, _080671E4
- b _08067230
- .align 2, 0
-_080671E0: .4byte gUnknown_202DE58
-_080671E4: .4byte gUnknown_80F8BE0
-_080671E8:
- ldrb r0, [r4, 0x2]
- bl GetItemType
- lsls r0, 24
- cmp r0, 0
- beq _08067202
- ldrb r0, [r4, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08067220
-_08067202:
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08067220
- ldr r0, _08067218
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r0, _0806721C
- b _08067230
- .align 2, 0
-_08067218: .4byte gUnknown_202DE58
-_0806721C: .4byte gUnknown_80F8BE0
-_08067220:
- adds r0, r6, 0
- movs r1, 0x1
- bl ShouldAvoidEnemiesAndShowEffect
- lsls r0, 24
- cmp r0, 0
- beq _08067248
- ldr r0, _08067244
-_08067230:
- ldr r1, [r0]
- adds r0, r6, 0
- bl SendMessage
- movs r0, 0x14
- movs r1, 0x4C
- bl sub_803E708
- b _080674F8
- .align 2, 0
-_08067244: .4byte gUnknown_80FF76C
-_08067248:
- ldr r2, [r4]
- str r2, [sp, 0x4]
- movs r1, 0xEF
- add r0, sp, 0x4
- ldrb r0, [r0]
- ands r0, r1
- ldr r1, _080672C0
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- mov r0, r8
- adds r0, 0x48
- ldrb r1, [r0]
- adds r5, r0, 0
- cmp r1, 0x80
- bne _08067272
- movs r4, 0
- adds r0, 0x4
- movs r1, 0x1
- bl sub_80461C8
-_08067272:
- movs r7, 0x1
- ldr r0, [sp, 0x4]
- lsrs r0, 16
- lsls r0, 24
- lsrs r0, 24
- bl GetItemType
- lsls r0, 24
- cmp r0, 0
- beq _0806729A
- ldr r0, [sp, 0x4]
- lsrs r0, 16
- lsls r0, 24
- lsrs r0, 24
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080672A8
-_0806729A:
- ldr r0, [sp, 0x4]
- lsrs r0, 8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080672A8
- movs r7, 0
-_080672A8:
- cmp r7, 0
- beq _080672C4
- ldrb r0, [r5]
- cmp r0, 0x80
- beq _080672F6
- movs r0, 0
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x1]
- strb r0, [r4]
- bl FillInventoryGaps
- b _080672F6
- .align 2, 0
-_080672C0: .4byte 0xffffff00
-_080672C4:
- ldrb r0, [r5]
- cmp r0, 0x80
- bne _080672F0
- ldr r2, [sp, 0x4]
- lsrs r0, r2, 8
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 16
- ldr r1, _080672EC
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- mov r0, r8
- adds r0, 0x4C
- add r1, sp, 0x4
- movs r2, 0x1
- bl sub_80460F8
- b _080672F6
- .align 2, 0
-_080672EC: .4byte 0xffff00ff
-_080672F0:
- ldrb r0, [r4, 0x1]
- subs r0, 0x1
- strb r0, [r4, 0x1]
-_080672F6:
- adds r0, r6, 0
- movs r1, 0x29
- bl HasItem
- lsls r0, 24
- cmp r0, 0
- beq _08067310
- movs r0, 0x8
- bl DungeonRandomCapped
- mov r1, r8
- adds r1, 0x46
- strb r0, [r1]
-_08067310:
- adds r0, r6, 0
- bl sub_8045888
- lsls r0, 24
- movs r1, 0xE0
- add r1, r8
- mov r10, r1
- adds r1, r6, 0x4
- str r1, [sp, 0x10]
- add r1, sp, 0xC
- mov r9, r1
- cmp r0, 0
- beq _08067364
- mov r0, r8
- adds r0, 0x46
- ldrb r4, [r0]
- movs r1, 0xB2
- lsls r1, 1
- adds r0, r6, 0
- bl sub_80421C0
- movs r7, 0x7
- movs r5, 0x7
-_0806733E:
- subs r4, 0x1
- ands r4, r7
- adds r0, r6, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_806CDD4
- movs r0, 0x2
- movs r1, 0x15
- bl sub_803E708
- subs r5, 0x1
- cmp r5, 0
- bge _0806733E
- movs r1, 0xB3
- lsls r1, 1
- add r1, r8
- movs r0, 0x4
- strb r0, [r1]
-_08067364:
- add r4, sp, 0x4
- ldrb r0, [r4, 0x2]
- bl GetItemType
- lsls r0, 24
- cmp r0, 0
- beq _08067380
- ldrb r0, [r4, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08067384
-_08067380:
- movs r0, 0x1
- strb r0, [r4, 0x1]
-_08067384:
- ldr r0, _080673B0
- add r4, sp, 0x4
- adds r1, r4, 0
- bl sub_8045C08
- ldr r0, _080673B4
- mov r1, r8
- movs r2, 0
- bl SetMessageArgument_2
- ldrb r0, [r4, 0x2]
- bl GetItemType
- lsls r0, 24
- cmp r0, 0
- bne _080673BC
- ldr r0, _080673B8
- ldr r1, [r0]
- adds r0, r6, 0
- bl SendMessage
- b _080673C6
- .align 2, 0
-_080673B0: .4byte gUnknown_202DE58
-_080673B4: .4byte gAvailablePokemonNames
-_080673B8: .4byte gUnknown_80F8EC8
-_080673BC:
- ldr r0, _080673F8
- ldr r1, [r0]
- adds r0, r6, 0
- bl SendMessage
-_080673C6:
- add r0, sp, 0x4
- ldrb r0, [r0, 0x2]
- bl GetItemType
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8042208
- adds r0, r6, 0
- movs r1, 0x27
- bl HasItem
- lsls r0, 24
- cmp r0, 0
- beq _08067400
- ldr r0, _080673FC
- ldr r1, [sp, 0xC]
- ands r1, r0
- movs r0, 0x80
- lsls r0, 1
- orrs r1, r0
- str r1, [sp, 0xC]
- b _08067408
- .align 2, 0
-_080673F8: .4byte gUnknown_80F8EC4
-_080673FC: .4byte 0xffff00ff
-_08067400:
- ldr r1, _0806741C
- ldr r0, [sp, 0xC]
- ands r0, r1
- str r0, [sp, 0xC]
-_08067408:
- mov r1, r10
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _08067440
- cmp r0, 0x1
- bgt _08067420
- cmp r0, 0
- beq _08067426
- b _08067462
- .align 2, 0
-_0806741C: .4byte 0xffff00ff
-_08067420:
- cmp r0, 0x2
- beq _0806744C
- b _08067462
-_08067426:
- ldr r1, _08067438
- ldr r0, [sp, 0xC]
- ands r0, r1
- ldr r1, _0806743C
- ands r0, r1
- movs r1, 0xA0
- lsls r1, 12
- b _0806745E
- .align 2, 0
-_08067438: .4byte 0xffffff00
-_0806743C: .4byte 0x0000ffff
-_08067440:
- ldr r1, _08067448
- ldr r0, [sp, 0xC]
- ands r0, r1
- b _08067456
- .align 2, 0
-_08067448: .4byte 0xffffff00
-_0806744C:
- ldr r1, _080674B4
- ldr r0, [sp, 0xC]
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
-_08067456:
- ldr r1, _080674B8
- ands r0, r1
- movs r1, 0xC6
- lsls r1, 15
-_0806745E:
- orrs r0, r1
- str r0, [sp, 0xC]
-_08067462:
- adds r0, r6, 0
- movs r1, 0xF
- bl HasItem
- lsls r0, 24
- cmp r0, 0
- beq _08067486
- ldr r1, _080674B4
- ldr r0, [sp, 0xC]
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- ldr r1, _080674B8
- ands r0, r1
- movs r1, 0xC6
- lsls r1, 15
- orrs r0, r1
- str r0, [sp, 0xC]
-_08067486:
- add r0, sp, 0x4
- ldrb r0, [r0, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080674BC
- add r4, sp, 0x8
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8083904
- mov r0, r9
- str r0, [sp]
- adds r0, r6, 0
- add r1, sp, 0x4
- ldr r2, [sp, 0x10]
- adds r3, r4, 0
- bl sub_80475C4
- b _080674D0
- .align 2, 0
-_080674B4: .4byte 0xffffff00
-_080674B8: .4byte 0x0000ffff
-_080674BC:
- mov r0, r8
- adds r0, 0x46
- ldrb r3, [r0]
- mov r1, r9
- str r1, [sp]
- adds r0, r6, 0
- add r1, sp, 0x4
- ldr r2, [sp, 0x10]
- bl sub_8047190
-_080674D0:
- adds r0, r6, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _080674F8
- mov r0, r8
- adds r0, 0x46
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_806CE68
- ldr r0, _08067508
- ldr r0, [r0]
- ldr r1, _0806750C
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_807AB38
-_080674F8:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08067508: .4byte gDungeonGlobalData
-_0806750C: .4byte 0x00003a08
- thumb_func_end sub_80671A0
-
- thumb_func_start sub_8067510
-sub_8067510:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_806773C
- adds r1, r0, 0
- movs r2, 0x1
- negs r2, r2
- adds r0, r4, 0
- bl sub_8067558
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8067510
-
- thumb_func_start sub_806752C
-sub_806752C:
- push {r4,lr}
- ldr r1, _08067550
- ldr r1, [r1]
- ldrb r0, [r0, 0x4]
- lsls r0, 2
- ldr r2, _08067554
- adds r1, r2
- adds r1, r0
- ldr r4, [r1]
- bl GetLeaderEntity
- adds r1, r4, 0
- movs r2, 0
- bl sub_8067558
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08067550: .4byte gDungeonGlobalData
-_08067554: .4byte 0x0001357c
- thumb_func_end sub_806752C
-
- thumb_func_start sub_8067558
-sub_8067558:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x12C
- adds r6, r0, 0
- adds r5, r1, 0
- mov r9, r2
- ldr r0, [r6, 0x70]
- mov r8, r0
- cmp r5, 0
- bne _0806757C
- ldr r0, _08067578
- ldr r1, [r0]
- movs r0, 0
- b _08067716
- .align 2, 0
-_08067578: .4byte gUnknown_80F8EE4
-_0806757C:
- adds r0, r6, 0
- bl sub_8070BC0
- lsls r0, 24
- cmp r0, 0
- bne _08067594
- ldr r0, _08067590
- ldr r1, [r0]
- movs r0, 0
- b _08067716
- .align 2, 0
-_08067590: .4byte gUnknown_80F8EE4
-_08067594:
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0
- bl CanTarget
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080675AA
- b _0806771E
-_080675AA:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0
- bl CanTarget
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080675C0
- b _0806771E
-_080675C0:
- ldr r7, [r5, 0x70]
- ldr r4, _08067608
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0
- bl SetMessageArgument_2
- adds r4, 0x50
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0x7
- bl SetMessageArgument_2
- bl sub_8084778
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_807A96C
- adds r0, r5, 0
- bl sub_8070BC0
- lsls r0, 24
- cmp r0, 0
- beq _08067600
- adds r0, r5, 0
- movs r1, 0x1
- bl CannotMove
- lsls r0, 24
- cmp r0, 0
- beq _08067610
-_08067600:
- ldr r0, _0806760C
- ldr r1, [r0]
- movs r0, 0
- b _08067716
- .align 2, 0
-_08067608: .4byte gAvailablePokemonNames
-_0806760C: .4byte gUnknown_80FE008
-_08067610:
- adds r0, r6, 0x4
- adds r1, r5, 0x4
- bl CalculateFacingDir
- adds r1, r0, 0
- adds r0, r6, 0
- bl sub_806CEFC
- mov r1, r9
- cmp r1, 0
- blt _0806762E
- adds r0, r5, 0
- bl sub_806CEFC
- b _0806763C
-_0806762E:
- mov r0, r8
- adds r0, 0x46
- ldrb r1, [r0]
- adds r1, 0x4
- adds r0, r5, 0
- bl sub_806CEFC
-_0806763C:
- ldrb r0, [r7, 0x8]
- cmp r0, 0x1
- bne _08067648
- bl sub_807EF84
- b _0806772A
-_08067648:
- adds r0, r7, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08067694
- ldr r0, _08067668
- ldr r1, [r0]
- ldr r2, _0806766C
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08067674
- ldr r0, _08067670
- ldr r1, [r0]
- movs r0, 0
- b _08067716
- .align 2, 0
-_08067668: .4byte gDungeonGlobalData
-_0806766C: .4byte 0x0000066e
-_08067670: .4byte gUnknown_80FF674
-_08067674:
- ldr r3, _08067688
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806768C
- adds r0, r5, 0
- bl sub_80845E0
- b _0806772A
- .align 2, 0
-_08067688: .4byte 0x00000677
-_0806768C:
- adds r0, r5, 0
- bl sub_8084448
- b _0806772A
-_08067694:
- movs r0, 0x4
- ldrsh r5, [r7, r0]
- movs r6, 0
- adds r0, r7, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- bne _080676AA
- movs r5, 0xD2
- lsls r5, 1
- b _080676CC
-_080676AA:
- cmp r0, 0x47
- bne _080676B8
- ldr r5, _080676B4
- b _080676CC
- .align 2, 0
-_080676B4: .4byte 0x000001a5
-_080676B8:
- cmp r0, 0x41
- bne _080676CC
- ldr r0, _080676E8
- ldr r0, [r0]
- ldr r1, _080676EC
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080676CC
- movs r6, 0x1
-_080676CC:
- movs r3, 0x10
- ldrsh r2, [r7, r3]
- adds r0, r2, 0
- cmp r2, 0
- bge _080676D8
- adds r0, r2, 0x3
-_080676D8:
- movs r3, 0xE
- ldrsh r1, [r7, r3]
- asrs r0, 2
- cmp r1, r0
- bgt _080676F0
- movs r2, 0x2
- b _08067708
- .align 2, 0
-_080676E8: .4byte gDungeonGlobalData
-_080676EC: .4byte 0x0000065c
-_080676F0:
- movs r0, 0xE
- ldrsh r4, [r7, r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 1
- movs r1, 0xA
- bl __divsi3
- movs r2, 0
- cmp r4, r0
- bgt _08067708
- movs r2, 0x1
-_08067708:
- mov r0, sp
- adds r1, r5, 0
- adds r3, r6, 0
- bl sub_806A3D4
- movs r0, 0
- mov r1, sp
-_08067716:
- movs r2, 0x1
- bl PrintFieldMessage
- b _0806772A
-_0806771E:
- ldr r0, _08067738
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_0806772A:
- add sp, 0x12C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08067738: .4byte gUnknown_80F8EE4
- thumb_func_end sub_8067558
-
- thumb_func_start sub_806773C
-sub_806773C:
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_80696A8
- adds r4, r0, 0
- cmp r4, 0
- beq _08067760
- adds r0, r4, 0
- bl GetEntityType
- cmp r0, 0x1
- bne _08067760
- ldr r0, [r5, 0x70]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _08067760
- adds r0, r4, 0
- b _08067762
-_08067760:
- movs r0, 0
-_08067762:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806773C
-
- thumb_func_start sub_8067768
-sub_8067768:
- push {r4,lr}
- ldr r1, _0806778C
- ldr r1, [r1]
- ldrb r0, [r0, 0x4]
- lsls r0, 2
- ldr r2, _08067790
- adds r1, r2
- adds r1, r0
- ldr r4, [r1]
- bl GetLeaderEntity
- adds r1, r4, 0
- movs r2, 0
- bl sub_8067794
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806778C: .4byte gDungeonGlobalData
-_08067790: .4byte 0x0001357c
- thumb_func_end sub_8067768
-
- thumb_func_start sub_8067794
-sub_8067794:
- push {r4-r7,lr}
- sub sp, 0x40
- adds r7, r1, 0
- ldr r4, [r7, 0x70]
- cmp r7, 0
- bne _080677B4
- ldr r0, _080677B0
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _0806786C
- .align 2, 0
-_080677B0: .4byte gUnknown_80F8F08
-_080677B4:
- ldr r0, _080677F0
- adds r1, r7, 0
- movs r2, 0
- bl SetMessageArgument
- ldr r0, _080677F4
- ldr r5, [r0]
- ldr r0, _080677F8
- ldr r6, [r0]
- ldrb r2, [r4, 0xA]
- cmp r2, 0
- blt _08067834
- ldr r1, _080677FC
- movs r0, 0x64
- muls r0, r2
- ldr r2, _08067800
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- bl sub_806A564
- lsls r0, 24
- cmp r0, 0
- beq _0806780C
- ldr r0, _08067804
- ldr r5, [r0]
- ldr r0, _08067808
- b _08067832
- .align 2, 0
-_080677F0: .4byte gAvailablePokemonNames
-_080677F4: .4byte gUnknown_80F9094
-_080677F8: .4byte gUnknown_80F913C
-_080677FC: .4byte gRecruitedPokemonRef
-_08067800: .4byte 0x00008df8
-_08067804: .4byte gUnknown_80F9114
-_08067808: .4byte gUnknown_80F9154
-_0806780C:
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- bl sub_806A58C
- lsls r0, 24
- cmp r0, 0
- beq _08067834
- bl sub_8044210
- lsls r0, 24
- cmp r0, 0
- beq _0806782C
- ldr r0, _08067828
- b _0806782E
- .align 2, 0
-_08067828: .4byte gUnknown_80F90DC
-_0806782C:
- ldr r0, _08067874
-_0806782E:
- ldr r5, [r0]
- ldr r0, _08067878
-_08067832:
- ldr r6, [r0]
-_08067834:
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_8052B8C
- cmp r0, 0x1
- bne _0806786C
- ldr r4, _0806787C
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x40
- bl strncpy
- ldr r1, _08067880
- adds r0, r7, 0
- movs r2, 0
- bl sub_8068FE0
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0x40
- bl strncpy
- movs r0, 0
- adds r1, r6, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_0806786C:
- add sp, 0x40
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08067874: .4byte gUnknown_80F90C8
-_08067878: .4byte gUnknown_80F9150
-_0806787C: .4byte gAvailablePokemonNames
-_08067880: .4byte 0x0000021d
- thumb_func_end sub_8067794
-
- thumb_func_start sub_8067884
-sub_8067884:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r6, 0
- b _0806789A
-_0806788E:
- ldr r1, _08067900
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080678C6
- adds r6, 0x1
-_0806789A:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8070828
- cmp r6, r0
- bge _080678C6
- ldr r4, [r5, 0x70]
- adds r0, r4, 0
- adds r0, 0x50
- ldrb r1, [r0]
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8055A00
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _0806788E
-_080678C6:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8057588
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _080678F6
- adds r0, r5, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _080678F0
- ldr r0, [r5, 0x70]
- adds r0, 0x50
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_806A9B4
-_080678F0:
- adds r0, r5, 0
- bl sub_806A1B0
-_080678F6:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08067900: .4byte 0x00000159
- thumb_func_end sub_8067884
-
- thumb_func_start sub_8067904
-sub_8067904:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r5, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldr r6, [r5, 0x70]
- ldr r1, _08067940
- movs r0, 0
- str r0, [r1]
- add r0, sp, 0x8
- mov r1, r9
- bl InitPokemonMove
- adds r0, r6, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806794C
- ldr r0, _08067944
- adds r1, r5, 0
- movs r2, 0
- bl SetMessageArgument
- ldr r0, _08067948
- b _08067962
- .align 2, 0
-_08067940: .4byte gUnknown_202F208
-_08067944: .4byte gAvailablePokemonNames
-_08067948: .4byte gUnknown_80F8F20
-_0806794C:
- adds r0, r6, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _08067974
- ldr r0, _0806796C
- adds r1, r5, 0
- movs r2, 0
- bl SetMessageArgument
- ldr r0, _08067970
-_08067962:
- ldr r1, [r0]
- adds r0, r5, 0
- bl SendMessage
- b _08067A56
- .align 2, 0
-_0806796C: .4byte gAvailablePokemonNames
-_08067970: .4byte gUnknown_80F8F38
-_08067974:
- movs r0, 0xB0
- lsls r0, 1
- movs r1, 0
- mov r10, r1
- cmp r9, r0
- bne _08067984
- movs r2, 0x1
- mov r10, r2
-_08067984:
- movs r0, 0
- mov r8, r0
- movs r7, 0
- add r4, sp, 0x8
- b _080679D2
-_0806798E:
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r6, r1
- strh r7, [r0]
- ldrb r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- orrs r0, r7
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0xA
- strb r0, [r4, 0x4]
- str r7, [sp]
- str r4, [sp, 0x4]
- adds r0, r5, 0
- mov r1, r10
- movs r2, 0
- movs r3, 0
- bl sub_8055FA0
- adds r0, r5, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _080679DE
- ldr r2, _08067A68
- adds r0, r6, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080679DE
- movs r0, 0x1
- add r8, r0
-_080679D2:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8070828
- cmp r8, r0
- blt _0806798E
-_080679DE:
- adds r0, r5, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _08067A56
- movs r0, 0xB0
- lsls r0, 1
- cmp r9, r0
- bne _08067A04
- ldr r0, _08067A6C
- ldr r0, [r0]
- cmp r0, 0
- bne _08067A04
- ldr r0, _08067A70
- ldr r1, [r0]
- adds r0, r5, 0
- bl SendMessage
-_08067A04:
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- beq _08067A50
- movs r0, 0xB0
- lsls r0, 1
- cmp r9, r0
- beq _08067A50
- ldr r4, _08067A74
- adds r3, r6, 0
- adds r3, 0x46
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0]
- ldrh r1, [r5, 0x4]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _08067A78
- ldr r1, [sp, 0x10]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x10]
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x2]
- ldrh r2, [r5, 0x6]
- adds r0, r2
- lsls r0, 16
- ldr r2, _08067A7C
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x10]
- add r0, sp, 0x10
- movs r1, 0x1
- bl sub_807FE44
-_08067A50:
- adds r0, r5, 0
- bl sub_8071DA4
-_08067A56:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08067A68: .4byte 0x00000159
-_08067A6C: .4byte gUnknown_202F208
-_08067A70: .4byte gUnknown_80FC690
-_08067A74: .4byte gAdjacentTileOffsets
-_08067A78: .4byte 0xffff0000
-_08067A7C: .4byte 0x0000ffff
- thumb_func_end sub_8067904
-
- thumb_func_start sub_8067A80
-sub_8067A80:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x6C
- str r1, [sp, 0x68]
- mov r8, r2
- mov r9, r3
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x64]
- ldr r1, _08067AC8
- add r0, sp, 0x4
- movs r2, 0x60
- bl memcpy
- ldr r1, _08067ACC
- movs r0, 0
- str r0, [r1]
- mov r10, r0
- cmp r10, r8
- blt _08067AB0
- b _08067ED8
-_08067AB0:
- ldr r5, _08067AD0
- mov r4, r9
- mov r3, r8
-_08067AB6:
- ldm r4!, {r2}
- ldrh r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- strh r0, [r2]
- subs r3, 0x1
- cmp r3, 0
- bne _08067AB6
- b _08067ED8
- .align 2, 0
-_08067AC8: .4byte gUnknown_8106DC8
-_08067ACC: .4byte gUnknown_202F30C
-_08067AD0: .4byte 0x00007fff
-_08067AD4:
- movs r7, 0
- ldr r1, _08067B98
- movs r0, 0x1
- strb r0, [r1]
- strb r7, [r1, 0x1]
- movs r0, 0xE
- strb r0, [r1, 0x2]
- strb r7, [r1, 0x3]
- add r0, sp, 0x4
- movs r1, 0x1
- bl sub_803ECB4
- ldr r5, _08067B9C
- ldr r2, [r5]
- ldr r0, [sp, 0x68]
- str r0, [sp]
- ldr r0, [sp, 0x64]
- mov r1, r9
- mov r3, r8
- bl sub_8067F00
- ldr r4, _08067BA0
- mov r0, r8
- cmp r0, 0x8
- ble _08067B08
- movs r0, 0x8
-_08067B08:
- strh r0, [r4, 0x1A]
- mov r1, r10
- strh r1, [r4, 0x18]
- movs r0, 0x8
- strh r0, [r4, 0x1C]
- strh r7, [r4, 0x1E]
- strh r7, [r4, 0x20]
- strh r7, [r4, 0x4]
- movs r0, 0x12
- strh r0, [r4, 0x6]
- strh r7, [r4, 0xC]
- strh r7, [r4, 0xE]
- strh r7, [r4, 0x14]
- str r7, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- adds r6, r5, 0
-_08067B36:
- ldr r0, _08067BA0
- bl AddMenuCursorSprite
- movs r5, 0
- movs r7, 0
- ldr r0, [r6]
- mov r2, r8
- subs r0, r2, r0
- cmp r0, 0x8
- ble _08067B50
- movs r5, 0x1
- bl sub_80684C4
-_08067B50:
- ldr r0, [r6]
- cmp r0, 0
- beq _08067B5C
- movs r7, 0x1
- bl sub_8068344
-_08067B5C:
- movs r0, 0
- ldr r1, _08067BA4
- bl sub_8014140
- adds r4, r0, 0
- movs r0, 0x37
- bl sub_803E46C
- cmp r4, 0x2
- bne _08067BAC
- cmp r5, 0
- beq _08067BAC
- ldr r0, [r6]
- mov r3, r8
- subs r0, r3, r0
- cmp r0, 0x8
- ble _08067BF0
- ldr r5, _08067BA8
- movs r4, 0x5
-_08067B82:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x37
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08067B82
- b _08067BEA
- .align 2, 0
-_08067B98: .4byte gUnknown_202F308
-_08067B9C: .4byte gUnknown_202F30C
-_08067BA0: .4byte gUnknown_202EE10
-_08067BA4: .4byte gUnknown_8106DA4
-_08067BA8: .4byte gUnknown_203B080
-_08067BAC:
- ldr r0, _08067BF8
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08067C0C
- movs r0, 0x1
- bl sub_8083CE0
- ldr r1, _08067BFC
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0x7
- bne _08067C04
- ldr r0, [r6]
- mov r3, r8
- subs r0, r3, r0
- cmp r0, 0x8
- ble _08067BF0
- ldr r5, _08067C00
- movs r4, 0x5
-_08067BD6:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x37
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08067BD6
-_08067BEA:
- ldr r0, [r6]
- adds r0, 0x1
- str r0, [r6]
-_08067BF0:
- movs r7, 0
- movs r0, 0x7
- mov r10, r0
- b _08067CF6
- .align 2, 0
-_08067BF8: .4byte gRealInputs
-_08067BFC: .4byte gUnknown_202EE10
-_08067C00: .4byte gUnknown_203B080
-_08067C04:
- adds r0, r1, 0
- movs r1, 0
- bl sub_80136E0
-_08067C0C:
- cmp r4, 0x1
- bne _08067C44
- cmp r7, 0
- beq _08067C44
- ldr r0, [r6]
- cmp r0, 0
- beq _08067C38
- ldr r5, _08067C40
- movs r4, 0x5
-_08067C1E:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x37
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08067C1E
- ldr r0, [r6]
- subs r0, 0x1
- str r0, [r6]
-_08067C38:
- movs r7, 0
- movs r1, 0
- mov r10, r1
- b _08067CF6
- .align 2, 0
-_08067C40: .4byte gUnknown_203B084
-_08067C44:
- ldr r0, _08067C8C
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08067CA0
- movs r0, 0x1
- bl sub_8083CE0
- ldr r1, _08067C90
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08067C98
- ldr r0, [r6]
- cmp r0, 0
- beq _08067C84
- ldr r5, _08067C94
- movs r4, 0x5
-_08067C6A:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x37
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08067C6A
- ldr r0, [r6]
- subs r0, 0x1
- str r0, [r6]
-_08067C84:
- movs r7, 0
- movs r3, 0
- mov r10, r3
- b _08067CF6
- .align 2, 0
-_08067C8C: .4byte gRealInputs
-_08067C90: .4byte gUnknown_202EE10
-_08067C94: .4byte gUnknown_203B084
-_08067C98:
- adds r0, r1, 0
- movs r1, 0
- bl sub_8013744
-_08067CA0:
- bl sub_80048C8
- lsls r0, 24
- cmp r0, 0
- beq _08067CAC
- b _08067B36
-_08067CAC:
- ldr r0, _08067CD4
- ldrh r1, [r0, 0x2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08067D40
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08067CCC
- ldr r2, _08067CD8
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08067CDC
-_08067CCC:
- bl sub_8083D08
- movs r7, 0x1
- b _08067CF6
- .align 2, 0
-_08067CD4: .4byte gRealInputs
-_08067CD8: .4byte gUnknown_202EE10
-_08067CDC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08067CF0
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- bne _08067CF0
- b _08067B36
-_08067CF0:
- bl sub_8083D30
- movs r7, 0x2
-_08067CF6:
- ldr r4, _08067D34
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x37
- bl sub_803E46C
- cmp r7, 0
- bne _08067D0A
- b _08067AD4
-_08067D0A:
- cmp r7, 0x2
- bne _08067D48
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- mov r10, r0
- ldr r0, _08067D38
- ldr r0, [r0]
- ldr r2, [sp, 0x68]
- cmp r0, r2
- bge _08067D20
- b _08067AD4
-_08067D20:
- ldr r0, _08067D3C
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- bne _08067D32
- b _08067ED8
-_08067D32:
- b _08067AD4
- .align 2, 0
-_08067D34: .4byte gUnknown_202EE10
-_08067D38: .4byte gUnknown_202F310
-_08067D3C: .4byte gUnknown_80FDFB8
-_08067D40:
- bl sub_8083D1C
- movs r7, 0x3
- b _08067CF6
-_08067D48:
- cmp r7, 0x3
- bne _08067D64
- movs r0, 0x18
- ldrsh r3, [r4, r0]
- mov r10, r3
- ldr r0, _08067D60
- ldr r0, [r0]
- add r0, r10
- lsls r0, 2
- add r0, r9
- b _08067ED0
- .align 2, 0
-_08067D60: .4byte gUnknown_202F30C
-_08067D64:
- movs r2, 0x18
- ldrsh r1, [r4, r2]
- mov r10, r1
- ldr r0, _08067DAC
- ldr r0, [r0]
- adds r4, r0, r1
- ldr r1, _08067DB0
- movs r0, 0
- str r0, [r1]
- movs r0, 0x29
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0x2A
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0x40
- movs r1, 0
- bl sub_8044F5C
- lsls r0, r4, 2
- add r0, r9
- ldr r0, [r0]
- ldrh r0, [r0]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08067DBC
- movs r0, 0x29
- bl sub_8044FF0
- b _08067DC2
- .align 2, 0
-_08067DAC: .4byte gUnknown_202F30C
-_08067DB0: .4byte gUnknown_202EE6C
-_08067DB4:
- bl sub_8083D08
- movs r7, 0x1
- b _08067E6E
-_08067DBC:
- movs r0, 0x2A
- bl sub_8044FF0
-_08067DC2:
- lsls r0, r4, 2
- mov r2, r9
- adds r1, r0, r2
- ldr r2, [r1]
- ldrb r1, [r2, 0x2]
- adds r6, r0, 0
- cmp r1, 0
- bne _08067DDC
- ldrb r1, [r2, 0x4]
- cmp r1, 0x40
- beq _08067DDC
- cmp r1, 0x41
- bne _08067DE2
-_08067DDC:
- movs r0, 0x29
- bl sub_8044FF0
-_08067DE2:
- bl sub_8045064
- add r0, sp, 0x4
- movs r1, 0x15
- bl sub_805FC30
- ldr r4, _08067EA0
- ldr r5, _08067EA4
- adds r7, r4, 0
- adds r7, 0x2A
-_08067DF6:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x37
- bl sub_803E46C
- ldrh r1, [r5, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08067E1A
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_08067E1A:
- ldrh r1, [r5, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08067E32
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_08067E32:
- ldrh r1, [r5, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08067E46
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08067E58
-_08067E46:
- movs r3, 0x18
- ldrsh r0, [r4, r3]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- bne _08067DB4
- bl sub_8083D30
-_08067E58:
- ldrh r1, [r5, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08067E68
- ldrb r0, [r7]
- cmp r0, 0
- beq _08067DF6
-_08067E68:
- bl sub_8083D30
- movs r7, 0
-_08067E6E:
- ldr r4, _08067EA0
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x37
- bl sub_803E46C
- cmp r7, 0
- bne _08067E82
- b _08067AD4
-_08067E82:
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08067EA8
- mov r2, r9
- adds r0, r6, r2
- ldr r1, [r0]
- ldrh r2, [r1]
- movs r3, 0x80
- lsls r3, 8
- adds r0, r3, 0
- orrs r0, r2
- strh r0, [r1]
- b _08067EBC
- .align 2, 0
-_08067EA0: .4byte gUnknown_202EE10
-_08067EA4: .4byte gRealInputs
-_08067EA8:
- cmp r0, 0x1
- bne _08067ECC
- mov r1, r9
- adds r0, r6, r1
- ldr r2, [r0]
- ldrh r0, [r2]
- ldr r3, _08067EC8
- adds r1, r3, 0
- ands r0, r1
- strh r0, [r2]
-_08067EBC:
- mov r0, r8
- mov r1, r9
- bl sub_8068310
- b _08067AD4
- .align 2, 0
-_08067EC8: .4byte 0x00007fff
-_08067ECC:
- mov r1, r9
- adds r0, r6, r1
-_08067ED0:
- ldr r0, [r0]
- bl sub_806806C
- b _08067AD4
-_08067ED8:
- mov r0, r8
- mov r1, r9
- bl sub_8068310
- ldr r0, _08067EFC
- ldr r0, [r0]
- ldr r2, [sp, 0x68]
- cmp r0, r2
- bge _08067EEC
- b _08067AD4
-_08067EEC:
- add sp, 0x6C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08067EFC: .4byte gUnknown_202F310
- thumb_func_end sub_8067A80
-
- thumb_func_start sub_8067F00
-sub_8067F00:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r4, r0, 0
- mov r9, r1
- str r3, [sp, 0x4]
- lsls r4, 24
- lsrs r4, 24
- subs r7, r2, 0x1
- movs r0, 0x16
- mov r8, r0
- movs r0, 0
- bl sub_80073B8
- ldr r0, _08067F44
- adds r1, r4, 0
- movs r2, 0
- bl sub_8092578
- ldr r2, _08067F48
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- movs r1, 0
- movs r3, 0
- bl xxx_format_and_draw
- movs r1, 0
- mov r10, r1
- b _08067FF6
- .align 2, 0
-_08067F44: .4byte gAvailablePokemonNames
-_08067F48: .4byte gUnknown_8106E28
-_08067F4C:
- ldr r4, _08067F8C
- lsls r6, r7, 2
- mov r0, r9
- adds r5, r6, r0
- ldr r1, [r5]
- adds r0, r4, 0
- movs r2, 0
- bl PrintColoredPokeNameToBuffer
- adds r4, 0x50
- ldr r0, [r5]
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- adds r0, r4, 0
- bl sub_808D930
- ldr r1, _08067F90
- adds r0, r7, 0x1
- str r0, [r1]
- ldr r0, [r5]
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08067F9C
- ldr r0, _08067F94
- ldr r1, _08067F98
- bl strcpy
- b _08067FA4
- .align 2, 0
-_08067F8C: .4byte gAvailablePokemonNames
-_08067F90: .4byte gUnknown_202DE30
-_08067F94: .4byte gUnknown_202DE58
-_08067F98: .4byte gUnknown_8106E2C
-_08067F9C:
- ldr r0, _08067FCC
- ldr r1, _08067FD0
- bl strcpy
-_08067FA4:
- mov r1, r9
- adds r0, r6, r1
- ldr r0, [r0]
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _08067FD8
- ldr r2, _08067FD4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x7
- mov r1, r8
- movs r3, 0
- bl xxx_format_and_draw
- b _08067FE6
- .align 2, 0
-_08067FCC: .4byte gUnknown_202DE58
-_08067FD0: .4byte gUnknown_8106E30
-_08067FD4: .4byte gUnknown_8106E34
-_08067FD8:
- ldr r2, _08068028
- str r0, [sp]
- movs r0, 0x7
- mov r1, r8
- movs r3, 0
- bl xxx_format_and_draw
-_08067FE6:
- movs r2, 0x1
- add r10, r2
- movs r0, 0xC
- add r8, r0
- adds r7, 0x1
- mov r1, r10
- cmp r1, 0x9
- bgt _08068000
-_08067FF6:
- cmp r7, 0
- blt _08067FE6
- ldr r2, [sp, 0x4]
- cmp r7, r2
- blt _08067F4C
-_08068000:
- movs r0, 0
- bl sub_80073E0
- movs r0, 0x1
- bl sub_80073B8
- ldr r0, _0806802C
- ldr r0, [r0]
- ldr r1, [sp, 0x28]
- cmp r0, r1
- blt _08068034
- ldr r2, _08068030
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x2
- movs r3, 0x1
- bl xxx_format_and_draw
- b _0806804C
- .align 2, 0
-_08068028: .4byte gUnknown_8106E48
-_0806802C: .4byte gUnknown_202F310
-_08068030: .4byte gUnknown_8106E5C
-_08068034:
- ldr r1, _08068064
- ldr r2, [sp, 0x28]
- subs r0, r2, r0
- str r0, [r1]
- ldr r2, _08068068
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x2
- movs r3, 0x1
- bl xxx_format_and_draw
-_0806804C:
- movs r0, 0x1
- bl sub_80073E0
- 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
-_08068064: .4byte gUnknown_202DE30
-_08068068: .4byte gUnknown_8106E6C
- thumb_func_end sub_8067F00
-
- thumb_func_start sub_806806C
-sub_806806C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x110
- str r0, [sp, 0x108]
- add r4, sp, 0x98
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [r4, 0x4]
- movs r1, 0x2
- strh r1, [r4, 0x8]
- strh r1, [r4, 0xA]
- movs r2, 0x12
- strh r2, [r4, 0xC]
- movs r0, 0xE
- strh r0, [r4, 0xE]
- strh r2, [r4, 0x10]
- strh r1, [r4, 0x12]
- ldr r0, _080681B4
- str r0, [r4, 0x14]
- movs r0, 0x3
- str r0, [r4, 0x1C]
- str r0, [r4, 0x34]
- str r0, [r4, 0x4C]
- movs r7, 0
- add r1, sp, 0x44
- strh r7, [r1]
- mov r0, sp
- adds r0, 0x5A
- strh r7, [r0]
- ldr r0, _080681B8
- strh r7, [r0, 0x18]
- mov r9, r1
- adds r1, 0xB4
- str r1, [sp, 0x10C]
- add r2, sp, 0x68
- mov r10, r2
- adds r6, r0, 0
-_080680C4:
- movs r3, 0
- mov r8, r3
- add r1, sp, 0xF8
- ldr r0, _080681BC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- ldr r1, _080681B4
- movs r2, 0x4
- strb r2, [r1]
- strb r7, [r1, 0x1]
- movs r0, 0xA
- strb r0, [r1, 0x2]
- mov r4, r8
- strb r4, [r1, 0x3]
- strh r7, [r6, 0x1E]
- strh r2, [r6, 0x20]
- mov r0, r8
- strh r0, [r6, 0x1A]
- strh r0, [r6, 0x18]
- strh r0, [r6, 0x1C]
- strh r0, [r6, 0x4]
- movs r0, 0x10
- strh r0, [r6, 0x6]
- mov r1, r8
- strh r1, [r6, 0x14]
- mov r2, r8
- str r2, [r6]
- adds r0, r6, 0
- adds r0, 0x28
- bl sub_801317C
- add r0, sp, 0x98
- movs r1, 0x1
- bl sub_803ECB4
- ldr r0, _080681C0
- ldr r0, [r0]
- ldr r3, _080681C4
- adds r0, r3
- ldrb r2, [r0]
- add r0, sp, 0x4
- ldr r1, [sp, 0x108]
- bl sub_808FF20
- lsls r4, r7, 2
- mov r0, sp
- adds r0, r4
- adds r0, 0xF8
- ldr r0, [r0]
- mov r1, r8
- str r1, [sp]
- adds r1, r7, 0
- add r2, sp, 0x4
- mov r3, r10
- bl CreatePokemonInfoTabScreen
- ldr r1, _080681C8
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0xF
- lsls r0, 3
- strh r0, [r6, 0xC]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r6, 0xE]
-_08068150:
- ldr r0, _080681B8
- bl AddMenuCursorSprite
- ldr r1, [sp, 0x10C]
- adds r0, r1, r4
- ldr r0, [r0]
- cmp r0, 0x4
- bne _0806817A
- mov r2, r10
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _0806816C
- bl sub_80684C4
-_0806816C:
- mov r3, r9
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _0806817A
- bl sub_8068344
-_0806817A:
- movs r0, 0
- ldr r1, _080681CC
- bl sub_8014140
- adds r5, r0, 0
- movs r0, 0x1C
- bl sub_803E46C
- ldr r3, _080681D0
- ldrh r1, [r3, 0x2]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080681A2
- ldr r2, _080681B8
- adds r0, r2, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _080681D4
-_080681A2:
- movs r0, 0
- bl sub_8083CE0
- adds r7, 0x1
- cmp r7, 0x4
- beq _080681B0
- b _080682E8
-_080681B0:
- movs r7, 0
- b _080682E8
- .align 2, 0
-_080681B4: .4byte gUnknown_202F308
-_080681B8: .4byte gUnknown_202EE10
-_080681BC: .4byte gUnknown_8106E80
-_080681C0: .4byte gDungeonGlobalData
-_080681C4: .4byte 0x0000065a
-_080681C8: .4byte gUnknown_2027370
-_080681CC: .4byte gUnknown_8106DA4
-_080681D0: .4byte gRealInputs
-_080681D4:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _080681E6
- adds r0, r2, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080681FA
-_080681E6:
- movs r0, 0
- bl sub_8083CE0
- subs r7, 0x1
- movs r0, 0x1
- negs r0, r0
- cmp r7, r0
- bne _080682E8
- movs r7, 0x3
- b _080682E8
-_080681FA:
- ldr r2, [sp, 0x10C]
- adds r0, r2, r4
- ldr r0, [r0]
- cmp r0, 0x4
- bne _08068294
- ldrh r1, [r3, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08068212
- cmp r5, 0x2
- bne _08068248
-_08068212:
- mov r3, r10
- ldrb r0, [r3, 0x8]
- cmp r0, 0
- beq _08068248
- movs r0, 0
- bl sub_8083CE0
- ldr r5, _08068244
- movs r4, 0x5
-_08068224:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08068224
- mov r4, r9
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080682E8
- .align 2, 0
-_08068244: .4byte gUnknown_203B080
-_08068248:
- ldr r0, _0806828C
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08068258
- cmp r5, 0x1
- bne _08068294
-_08068258:
- mov r1, r9
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08068294
- movs r0, 0
- bl sub_8083CE0
- ldr r5, _08068290
- movs r4, 0x5
-_0806826C:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _0806826C
- mov r3, r9
- ldrh r0, [r3]
- subs r0, 0x1
- strh r0, [r3]
- b _080682E8
- .align 2, 0
-_0806828C: .4byte gRealInputs
-_08068290: .4byte gUnknown_203B084
-_08068294:
- bl sub_80048C8
- lsls r0, 24
- cmp r0, 0
- beq _080682A0
- b _08068150
-_080682A0:
- ldr r0, _080682C4
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080682B8
- ldr r2, _080682C8
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _080682CC
-_080682B8:
- bl sub_8083D08
- movs r4, 0x1
- mov r8, r4
- b _080682E8
- .align 2, 0
-_080682C4: .4byte gRealInputs
-_080682C8: .4byte gUnknown_202EE10
-_080682CC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080682E0
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080682E0
- b _08068150
-_080682E0:
- bl sub_8083D30
- movs r0, 0x1
- mov r8, r0
-_080682E8:
- movs r0, 0x37
- bl sub_803E46C
- mov r1, r8
- cmp r1, 0
- bne _080682F6
- b _080680C4
-_080682F6:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0x110
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806806C
-
- thumb_func_start sub_8068310
-sub_8068310:
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, _08068340
- cmp r4, r0
- bge _08068338
- movs r5, 0x80
- lsls r5, 8
- adds r3, r1, 0
- adds r2, r0, 0
-_08068322:
- ldr r0, [r3]
- ldrh r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08068330
- adds r4, 0x1
-_08068330:
- adds r3, 0x4
- subs r2, 0x1
- cmp r2, 0
- bne _08068322
-_08068338:
- str r4, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08068340: .4byte gUnknown_202F310
- thumb_func_end sub_8068310
-
- thumb_func_start sub_8068344
-sub_8068344:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- ldr r0, _08068494
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0806835C
- b _08068486
-_0806835C:
- ldr r0, _08068498
- mov r9, r0
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _0806849C
- ands r1, r0
- ldr r3, _080684A0
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r2, r3, 0
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080684A4
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r6, _080684A8
- mov r8, r6
- mov r0, r8
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080684AC
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080684B0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- movs r4, 0x80
- lsls r4, 7
- mov r0, sp
- ldrh r1, [r0]
- ldr r6, _080684B4
- adds r0, r6, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- orrs r4, r0
- ands r3, r1
- orrs r3, r4
- str r3, [sp]
- movs r1, 0x80
- lsls r1, 6
- mov r5, sp
- ldrh r0, [r5, 0x2]
- ldr r2, _080684B8
- ands r2, r0
- orrs r2, r1
- ands r2, r6
- movs r3, 0xFC
- lsls r3, 2
- ldrh r1, [r5, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r3
- mov r1, r8
- ands r0, r1
- movs r3, 0xF
- movs r1, 0xF0
- lsls r1, 8
- ldr r4, _080684BC
- ands r0, r4
- orrs r0, r1
- strh r0, [r5, 0x4]
- mov r6, r9
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x8
- ands r0, r4
- lsls r0, 4
- ldrh r1, [r5, 0x6]
- ands r3, r1
- orrs r3, r0
- strh r3, [r5, 0x6]
- movs r3, 0
- ldrsh r0, [r6, r3]
- lsls r0, 3
- adds r0, 0x40
- ldr r1, _080684C0
- ands r0, r1
- movs r1, 0xFE
- lsls r1, 8
- ands r2, r1
- orrs r2, r0
- strh r2, [r5, 0x2]
- movs r1, 0x80
- lsls r1, 1
- mov r0, sp
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_08068486:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08068494: .4byte gUnknown_202EDCC
-_08068498: .4byte gUnknown_2027370
-_0806849C: .4byte 0x0000feff
-_080684A0: .4byte 0xffff0000
-_080684A4: .4byte 0x0000fdff
-_080684A8: .4byte 0x0000f3ff
-_080684AC: .4byte 0x0000efff
-_080684B0: .4byte 0x0000dfff
-_080684B4: .4byte 0x00003fff
-_080684B8: .4byte 0x0000c1ff
-_080684BC: .4byte 0x00000fff
-_080684C0: .4byte 0x000001ff
- thumb_func_end sub_8068344
-
- thumb_func_start sub_80684C4
-sub_80684C4:
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r0, _080685E8
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080684D6
- b _080685DE
-_080684D6:
- ldr r6, _080685EC
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _080685F0
- ands r1, r0
- ldr r3, _080685F4
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r2, r3, 0
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080685F8
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r5, _080685FC
- adds r0, r5, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08068600
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08068604
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- movs r4, 0x80
- lsls r4, 7
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08068608
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- orrs r4, r0
- ands r3, r1
- orrs r3, r4
- str r3, [sp]
- mov r3, sp
- movs r2, 0xFC
- lsls r2, 2
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r5
- movs r2, 0xF
- movs r1, 0xF0
- lsls r1, 8
- ldr r4, _0806860C
- ands r0, r4
- orrs r0, r1
- strh r0, [r3, 0x4]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x70
- ands r0, r4
- lsls r0, 4
- ldrh r1, [r3, 0x6]
- ands r2, r1
- orrs r2, r0
- strh r2, [r3, 0x6]
- movs r1, 0
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x40
- ldr r1, _08068610
- ands r0, r1
- strh r0, [r3, 0x2]
- subs r1, 0xFF
- mov r0, sp
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_080685DE:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080685E8: .4byte gUnknown_202EDCC
-_080685EC: .4byte gUnknown_2027370
-_080685F0: .4byte 0x0000feff
-_080685F4: .4byte 0xffff0000
-_080685F8: .4byte 0x0000fdff
-_080685FC: .4byte 0x0000f3ff
-_08068600: .4byte 0x0000efff
-_08068604: .4byte 0x0000dfff
-_08068608: .4byte 0x00003fff
-_0806860C: .4byte 0x00000fff
-_08068610: .4byte 0x000001ff
- thumb_func_end sub_80684C4
-
- thumb_func_start sub_8068614
-sub_8068614:
- push {lr}
- ldr r0, _0806862C
- ldr r1, _08068630
- bl OpenFileAndGetFileDataPtr
- ldr r1, _08068634
- ldr r1, [r1]
- ldr r2, _08068638
- adds r1, r2
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0806862C: .4byte gUnknown_8106E98
-_08068630: .4byte gMonsterFileArchive
-_08068634: .4byte gDungeonGlobalData
-_08068638: .4byte 0x000181e4
- thumb_func_end sub_8068614
-
- thumb_func_start sub_806863C
-sub_806863C:
- push {lr}
- ldr r0, _08068650
- ldr r0, [r0]
- ldr r1, _08068654
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- pop {r0}
- bx r0
- .align 2, 0
-_08068650: .4byte gDungeonGlobalData
-_08068654: .4byte 0x000181e4
- thumb_func_end sub_806863C
-
- thumb_func_start sub_8068658
-sub_8068658:
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, _08068740
- ldr r5, _08068744
- ldr r3, _08068748
- movs r2, 0
-_08068664:
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r0, r3
- adds r0, r1
- str r2, [r0]
- adds r4, 0x1
- cmp r4, r6
- ble _08068664
- ldr r0, _0806874C
- movs r1, 0x1
- bl sub_8068838
- movs r4, 0
- ldr r1, _08068744
- ldr r0, [r1]
- ldr r2, _08068750
- adds r0, r2
- ldr r0, [r0]
- cmp r4, r0
- bge _080686B2
- adds r6, r1, 0
- ldr r5, _08068754
-_08068690:
- ldr r0, [r6]
- adds r0, r5
- bl ExtractSpeciesIndex
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- bl sub_8068838
- adds r5, 0x8
- adds r4, 0x1
- ldr r0, [r6]
- ldr r1, _08068750
- adds r0, r1
- ldr r0, [r0]
- cmp r4, r0
- blt _08068690
-_080686B2:
- ldr r0, _08068744
- ldr r0, [r0]
- movs r2, 0xD1
- lsls r2, 3
- adds r1, r0, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080686CA
- movs r1, 0x1
- bl sub_8068838
-_080686CA:
- movs r4, 0
- ldr r6, _08068758
- movs r5, 0x1
-_080686D0:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _0806875C
- adds r0, r1
- ldr r1, [r6]
- adds r1, r0
- ldrh r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _080686F8
- lsrs r0, r2, 1
- ands r0, r5
- cmp r0, 0
- beq _080686F8
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- movs r1, 0
- bl sub_8068838
-_080686F8:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080686D0
- ldr r0, _08068744
- ldr r0, [r0]
- ldr r1, _08068760
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x31
- bne _08068738
- movs r4, 0
- ldr r5, _08068758
-_08068712:
- movs r0, 0x58
- muls r0, r4
- ldr r1, _08068764
- adds r0, r1
- ldr r1, [r5]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068732
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- movs r1, 0x1
- bl sub_8068838
-_08068732:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08068712
-_08068738:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08068740: .4byte 0x000001a7
-_08068744: .4byte gDungeonGlobalData
-_08068748: .4byte 0x00017b44
-_0806874C: .4byte 0x000001a5
-_08068750: .4byte 0x000037e4
-_08068754: .4byte 0x0000343c
-_08068758: .4byte gRecruitedPokemonRef
-_0806875C: .4byte 0x00008df8
-_08068760: .4byte 0x00003a14
-_08068764: .4byte 0x00008f88
- thumb_func_end sub_8068658
-
- thumb_func_start sub_8068768
-sub_8068768:
- push {r4,r5,lr}
- movs r5, 0
-_0806876C:
- ldr r0, _080687A4
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080687A8
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _08068796
- adds r0, r4, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _08068796
- ldr r0, [r4, 0x70]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- movs r1, 0
- bl sub_8068838
-_08068796:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0806876C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080687A4: .4byte gDungeonGlobalData
-_080687A8: .4byte 0x000135cc
- thumb_func_end sub_8068768
-
- thumb_func_start sub_80687AC
-sub_80687AC:
- ldr r0, _080687C4
- ldr r1, [r0]
- ldr r0, _080687C8
- adds r2, r1, r0
- movs r0, 0x80
- lsls r0, 3
- str r0, [r2]
- ldr r0, _080687CC
- adds r1, r0
- movs r0, 0xA
- str r0, [r1]
- bx lr
- .align 2, 0
-_080687C4: .4byte gDungeonGlobalData
-_080687C8: .4byte 0x000037f0
-_080687CC: .4byte 0x000037f4
- thumb_func_end sub_80687AC
-
- thumb_func_start sub_80687D0
-sub_80687D0:
- lsls r0, 16
- ldr r1, _080687E4
- ldr r1, [r1]
- asrs r0, 14
- ldr r2, _080687E8
- adds r1, r2
- adds r1, r0
- ldr r0, [r1]
- bx lr
- .align 2, 0
-_080687E4: .4byte gDungeonGlobalData
-_080687E8: .4byte 0x00017b44
- thumb_func_end sub_80687D0
-
- thumb_func_start sub_80687EC
-sub_80687EC:
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 16
- asrs r2, r0, 16
- ldr r5, _08068828
- ldr r0, [r5]
- lsls r4, r2, 2
- ldr r1, _0806882C
- adds r0, r1
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- bne _08068820
- ldr r1, _08068830
- mov r0, sp
- bl sprintf
- ldr r1, _08068834
- mov r0, sp
- bl OpenFileAndGetFileDataPtr
- ldr r1, [r5]
- ldr r2, _0806882C
- adds r1, r2
- adds r1, r4
- str r0, [r1]
-_08068820:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068828: .4byte gDungeonGlobalData
-_0806882C: .4byte 0x00017b44
-_08068830: .4byte gUnknown_8106EA0
-_08068834: .4byte gMonsterFileArchive
- thumb_func_end sub_80687EC
-
- thumb_func_start sub_8068838
-sub_8068838:
- push {r4,lr}
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 24
- cmp r1, 0
- bne _08068864
- movs r0, 0xCF
- lsls r0, 1
- cmp r4, r0
- beq _0806885E
- adds r0, 0x3
- cmp r4, r0
- beq _0806885E
- adds r0, 0x1
- cmp r4, r0
- beq _0806885E
- adds r0, 0x1
- cmp r4, r0
- bne _08068864
-_0806885E:
- bl sub_80688B0
- b _0806887A
-_08068864:
- adds r0, r4, 0
- bl sub_80687EC
- ldr r1, _08068880
- adds r0, r4, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bhi _0806887A
- bl sub_8068884
-_0806887A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08068880: .4byte 0xfffffe88
- thumb_func_end sub_8068838
-
- thumb_func_start sub_8068884
-sub_8068884:
- push {lr}
- movs r0, 0xBC
- lsls r0, 1
- bl sub_80687EC
- ldr r0, _080688A8
- bl sub_80687EC
- movs r0, 0xBD
- lsls r0, 1
- bl sub_80687EC
- ldr r0, _080688AC
- bl sub_80687EC
- pop {r0}
- bx r0
- .align 2, 0
-_080688A8: .4byte 0x00000179
-_080688AC: .4byte 0x0000017b
- thumb_func_end sub_8068884
-
- thumb_func_start sub_80688B0
-sub_80688B0:
- push {lr}
- ldr r0, _080688C8
- ldr r0, [r0]
- movs r1, 0xE0
- lsls r1, 6
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80687EC
- pop {r0}
- bx r0
- .align 2, 0
-_080688C8: .4byte gDungeonGlobalData
- thumb_func_end sub_80688B0
-
- thumb_func_start sub_80688CC
-sub_80688CC:
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _08068900
-_080688D2:
- ldr r0, [r6]
- lsls r4, r5, 2
- ldr r1, _08068904
- adds r0, r1
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080688F2
- bl CloseFile
- ldr r0, [r6]
- ldr r1, _08068904
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080688F2:
- adds r5, 0x1
- ldr r0, _08068908
- cmp r5, r0
- ble _080688D2
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08068900: .4byte gDungeonGlobalData
-_08068904: .4byte 0x00017b44
-_08068908: .4byte 0x000001a7
- thumb_func_end sub_80688CC
-
- thumb_func_start sub_806890C
-sub_806890C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x64
- movs r0, 0
- mov r8, r0
- mov r10, r0
- ldr r6, _08068A60
- add r5, sp, 0x8
-_08068922:
- movs r0, 0x58
- mov r1, r10
- muls r1, r0
- adds r0, r1, 0
- ldr r2, [r6]
- adds r7, r2, r0
- ldrh r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068A1C
- lsrs r0, r1, 1
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- beq _08068A1C
- movs r0, 0x64
- mov r4, r8
- muls r4, r0
- ldr r0, _08068A64
- adds r0, r4
- mov r9, r0
- adds r0, r2, r0
- mov r1, r10
- bl xxx_pokemonstruct_index_to_pokemon2_808DE30
- ldr r0, _08068A68
- ldr r0, [r0]
- ldr r1, _08068A6C
- adds r0, r1
- ldrb r0, [r0]
- bl GetLevelCondition
- lsls r0, 24
- cmp r0, 0
- beq _08068A06
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp, 0x60]
- movs r2, 0x8
- ldrsh r1, [r7, r2]
- add r0, sp, 0x60
- str r0, [sp]
- movs r3, 0
- str r3, [sp, 0x4]
- add r0, sp, 0x8
- movs r2, 0
- bl sub_808CFD0
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r5, 0x3]
- ldr r2, _08068A70
- adds r0, r2
- strb r1, [r0]
- ldr r1, [r6]
- adds r1, r4
- ldrh r2, [r5, 0x14]
- movs r3, 0x8E
- lsls r3, 8
- adds r0, r1, r3
- strh r2, [r0]
- ldrh r2, [r5, 0x16]
- adds r3, 0x8
- adds r0, r1, r3
- strh r2, [r0]
- ldrh r2, [r5, 0x16]
- adds r3, 0x2
- adds r0, r1, r3
- strh r2, [r0]
- ldrb r0, [r5, 0x18]
- ldr r2, _08068A74
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r5, 0x19]
- adds r3, 0x3
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r5, 0x1A]
- adds r2, 0x2
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r5, 0x1B]
- adds r3, 0x2
- adds r0, r3
- strb r1, [r0]
- ldr r2, [r6]
- ldr r1, _08068A78
- adds r0, r2, r1
- adds r0, r4
- ldr r1, [sp, 0x24]
- str r1, [r0]
- adds r2, r4
- adds r3, 0x35
- adds r1, r2, r3
- ldr r0, [sp, 0x28]
- str r0, [r1]
- add r0, sp, 0x2C
- ldrb r0, [r0]
- ldr r1, _08068A7C
- adds r2, r1
- strb r0, [r2]
- ldr r0, [r6]
- add r0, r9
- adds r0, 0x1C
- add r1, sp, 0x34
- bl sub_8093F50
-_08068A06:
- ldr r0, [r6]
- adds r0, r4
- ldr r2, _08068A80
- adds r0, r2
- mov r3, r8
- strh r3, [r0]
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x4
- beq _08068A2A
-_08068A1C:
- movs r2, 0x1
- add r10, r2
- movs r0, 0xCE
- lsls r0, 1
- cmp r10, r0
- bgt _08068A2A
- b _08068922
-_08068A2A:
- mov r3, r8
- cmp r3, 0x3
- bgt _08068A50
- ldr r4, _08068A60
- ldr r3, _08068A64
- movs r2, 0
- movs r0, 0x64
- mov r1, r8
- muls r1, r0
-_08068A3C:
- ldr r0, [r4]
- adds r0, r1
- adds r0, r3
- strh r2, [r0]
- adds r1, 0x64
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _08068A3C
-_08068A50:
- add sp, 0x64
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08068A60: .4byte gRecruitedPokemonRef
-_08068A64: .4byte 0x00008df8
-_08068A68: .4byte gDungeonGlobalData
-_08068A6C: .4byte 0x00000644
-_08068A70: .4byte 0x00008dfb
-_08068A74: .4byte 0x00008e0c
-_08068A78: .4byte 0x00008e10
-_08068A7C: .4byte 0x00008e48
-_08068A80: .4byte 0x00008e04
- thumb_func_end sub_806890C
-
- thumb_func_start sub_8068A84
-sub_8068A84:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r4, 0
- movs r5, 0
- ldr r7, _08068AE0
-_08068A8E:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08068AE4
- adds r0, r1
- ldr r1, [r7]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068AB2
- movs r1, 0xE
- ldrsh r0, [r2, r1]
- bl GetPokemonSize
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0
-_08068AB2:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08068A8E
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- bl GetPokemonSize
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0
- cmp r4, 0x6
- ble _08068B04
- ldr r0, _08068AE8
- adds r1, r6, 0
- movs r2, 0
- bl PrintColoredPokeNameToBuffer
- ldrb r0, [r6, 0x4]
- cmp r0, 0x4A
- bne _08068AF0
- ldr r0, _08068AEC
- b _08068BB2
- .align 2, 0
-_08068AE0: .4byte gRecruitedPokemonRef
-_08068AE4: .4byte 0x00008df8
-_08068AE8: .4byte gAvailablePokemonNames
-_08068AEC: .4byte gUnknown_80FE0F4
-_08068AF0:
- cmp r0, 0x47
- bne _08068AFC
- ldr r0, _08068AF8
- b _08068BB2
- .align 2, 0
-_08068AF8: .4byte gUnknown_80FE0F8
-_08068AFC:
- ldr r0, _08068B00
- b _08068BB2
- .align 2, 0
-_08068B00: .4byte gUnknown_80FE0AC
-_08068B04:
- movs r5, 0
- ldr r2, _08068B6C
-_08068B08:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08068B70
- adds r0, r1
- ldr r1, [r2]
- adds r4, r1, r0
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08068B80
- adds r0, r4, 0
- adds r1, r6, 0
- ldr r2, _08068B74
- bl xxx_pokemonstruct_to_pokemon2_808DE50
- ldrh r0, [r4]
- movs r1, 0x1
- movs r2, 0
- orrs r1, r0
- strh r1, [r4]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x19
- bgt _08068B3E
- movs r0, 0x1A
- strh r0, [r4, 0x8]
-_08068B3E:
- ldrh r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strh r0, [r4]
- strh r5, [r4, 0xC]
- adds r0, r4, 0
- adds r0, 0x40
- strb r2, [r0, 0x2]
- strb r2, [r0, 0x1]
- strb r2, [r0]
- ldr r0, _08068B78
- adds r1, r6, 0
- movs r2, 0x6
- bl PrintColoredPokeNameToBuffer
- ldrb r0, [r6, 0x4]
- cmp r0, 0x4A
- beq _08068BB0
- cmp r0, 0x47
- beq _08068BD0
- ldr r0, _08068B7C
- b _08068BB2
- .align 2, 0
-_08068B6C: .4byte gRecruitedPokemonRef
-_08068B70: .4byte 0x00008df8
-_08068B74: .4byte 0x000055aa
-_08068B78: .4byte gAvailablePokemonNames
-_08068B7C: .4byte gUnknown_80FE134
-_08068B80:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08068B08
- ldr r0, _08068B9C
- adds r1, r6, 0
- movs r2, 0x6
- bl PrintColoredPokeNameToBuffer
- ldrb r0, [r6, 0x4]
- cmp r0, 0x4A
- bne _08068BA4
- ldr r0, _08068BA0
- b _08068BB2
- .align 2, 0
-_08068B9C: .4byte gAvailablePokemonNames
-_08068BA0: .4byte gUnknown_80FE0F4
-_08068BA4:
- cmp r0, 0x47
- bne _08068BC4
- ldr r0, _08068BAC
- b _08068BB2
- .align 2, 0
-_08068BAC: .4byte gUnknown_80FE0F8
-_08068BB0:
- ldr r0, _08068BC0
-_08068BB2:
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _08068BD0
- .align 2, 0
-_08068BC0: .4byte gUnknown_80FE168
-_08068BC4:
- ldr r0, _08068BD8
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_08068BD0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08068BD8: .4byte gUnknown_80FE0AC
- thumb_func_end sub_8068A84
-
- thumb_func_start sub_8068BDC
-sub_8068BDC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08068CC4
- add sp, r4
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x220]
- movs r1, 0
- mov r0, sp
- adds r0, 0x39
-_08068BF6:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _08068BF6
- movs r6, 0
- ldr r0, _08068CC8
- mov r8, r0
- movs r7, 0x1
-_08068C06:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _08068CCC
- adds r0, r1
- mov r2, r8
- ldr r1, [r2]
- adds r4, r1, r0
- ldrb r1, [r4]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08068C50
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- bl sub_806A564
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08068C50
- adds r4, 0x40
- ldrb r1, [r4]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08068C50
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _08068C50
- adds r0, r4, 0
- bl GetMoneyValue
- bl AddToTeamMoney
- strb r5, [r4, 0x2]
- strb r5, [r4, 0x1]
- strb r5, [r4]
-_08068C50:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08068C06
- movs r6, 0
- movs r5, 0x1
-_08068C5A:
- ldr r1, _08068CC8
- movs r0, 0x64
- muls r0, r6
- ldr r2, _08068CCC
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- ldrb r1, [r4]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08068CFE
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- bl sub_806A564
- lsls r0, 24
- cmp r0, 0
- bne _08068CFE
- ldr r1, _08068CD0
- adds r0, r1, 0
- ldrh r2, [r4, 0xE]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _08068C96
- movs r0, 0xBC
- lsls r0, 1
- strh r0, [r4, 0xE]
-_08068C96:
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- bl sub_806A58C
- lsls r0, 24
- cmp r0, 0
- beq _08068CE8
- ldr r0, _08068CD4
- ldr r0, [r0]
- ldr r1, _08068CD8
- adds r0, r1
- ldrb r0, [r0]
- bl GetLevelCondition
- lsls r0, 24
- cmp r0, 0
- beq _08068CDC
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- adds r1, r4, 0
- bl sub_808DFDC
- b _08068CFE
- .align 2, 0
-_08068CC4: .4byte 0xfffffdd8
-_08068CC8: .4byte gRecruitedPokemonRef
-_08068CCC: .4byte 0x00008df8
-_08068CD0: .4byte 0xfffffe87
-_08068CD4: .4byte gDungeonGlobalData
-_08068CD8: .4byte 0x00000644
-_08068CDC:
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- adds r1, r4, 0
- bl xxx_pokemon2_to_pokemonstruct_index_808DF2C
- b _08068CFE
-_08068CE8:
- ldr r0, [sp, 0x220]
- cmp r0, 0
- beq _08068CFE
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- bl GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- add r0, sp
- strb r5, [r0]
-_08068CFE:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08068C5A
- movs r1, 0
-_08068D06:
- lsls r0, r1, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, sp
- add r0, r8
- ldrb r0, [r0]
- adds r1, 0x1
- str r1, [sp, 0x224]
- cmp r0, 0
- bne _08068D1C
- b _08068F08
-_08068D1C:
- mov r0, r8
- add r1, sp, 0x1F0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8092404
- mov r0, r8
- add r1, sp, 0x214
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- movs r7, 0
- add r1, sp, 0x1F0
- ldrh r0, [r1]
- ldr r2, _08068E10
- cmp r0, r2
- beq _08068D60
- ldr r0, _08068E14
- ldr r3, [r0]
- adds r5, r2, 0
- add r2, sp, 0x3C
- movs r4, 0x58
-_08068D4A:
- ldrh r0, [r1]
- muls r0, r4
- adds r0, r3, r0
- stm r2!, {r0}
- adds r1, 0x2
- adds r7, 0x1
- cmp r7, 0x14
- bgt _08068D60
- ldrh r0, [r1]
- cmp r0, r5
- bne _08068D4A
-_08068D60:
- movs r6, 0
- ldr r2, _08068E14
- mov r10, r2
- movs r3, 0
- mov r9, r3
-_08068D6A:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _08068E18
- adds r0, r1
- mov r2, r10
- ldr r1, [r2]
- adds r5, r1, r0
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068DD6
- movs r3, 0xA
- ldrsh r0, [r5, r3]
- bl sub_806A5A4
- lsls r0, 24
- cmp r0, 0
- beq _08068DD6
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- bl GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r8
- bne _08068DD6
- ldr r2, [sp, 0x220]
- cmp r2, 0
- beq _08068DD6
- add r4, sp, 0x3C
- lsls r0, r7, 2
- adds r4, r0
- add r0, sp, 0x90
- movs r1, 0x58
- muls r1, r6
- adds r0, r1
- str r0, [r4]
- adds r1, r5, 0
- bl xxx_pokemon2_to_pokemonstruct_808DF44
- ldr r2, [r4]
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 7
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r0, [r4]
- mov r1, r9
- strb r1, [r0, 0xC]
- ldr r0, [r4]
- strb r1, [r0, 0x10]
- adds r7, 0x1
-_08068DD6:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08068D6A
- add r0, sp, 0x214
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r7, r0
- bgt _08068E1C
- cmp r7, 0
- bgt _08068DEC
- b _08068F08
-_08068DEC:
- add r5, sp, 0x3C
- movs r3, 0x80
- lsls r3, 7
- adds r6, r3, 0
- adds r4, r7, 0
-_08068DF6:
- ldr r1, [r5]
- ldrh r0, [r1]
- ands r0, r6
- cmp r0, 0
- beq _08068E06
- adds r0, r1, 0
- bl sub_808D1DC
-_08068E06:
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bne _08068DF6
- b _08068F08
- .align 2, 0
-_08068E10: .4byte 0x0000ffff
-_08068E14: .4byte gRecruitedPokemonRef
-_08068E18: .4byte 0x00008df8
-_08068E1C:
- ldr r0, _08068E78
- mov r1, r8
- movs r2, 0
- bl sub_8092578
- ldr r0, _08068E7C
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- add r4, sp, 0x3C
-_08068E34:
- add r0, sp, 0x214
- movs r2, 0
- ldrsh r1, [r0, r2]
- subs r1, r7, r1
- mov r0, r8
- adds r2, r7, 0
- adds r3, r4, 0
- bl sub_8067A80
- movs r6, 0
- cmp r6, r7
- bge _08068E8E
- movs r5, 0x80
- lsls r5, 8
- adds r3, r4, 0
-_08068E52:
- ldr r2, [r3]
- ldrh r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068E86
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08068E86
- ldrb r0, [r2, 0x4]
- subs r0, 0x44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08068E80
- movs r0, 0x1
- b _08068E82
- .align 2, 0
-_08068E78: .4byte gUnknown_202DE58
-_08068E7C: .4byte gUnknown_80FE1A4
-_08068E80:
- movs r0, 0
-_08068E82:
- cmp r0, 0
- bne _08068E8E
-_08068E86:
- adds r3, 0x4
- adds r6, 0x1
- cmp r6, r7
- blt _08068E52
-_08068E8E:
- cmp r6, r7
- beq _08068EA2
- ldr r0, _08068F24
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- bne _08068E34
-_08068EA2:
- cmp r7, 0
- ble _08068ED4
- movs r3, 0x80
- lsls r3, 8
- mov r9, r3
- adds r3, r4, 0
- movs r0, 0x1
- mov r8, r0
- movs r5, 0
- adds r6, r7, 0
-_08068EB6:
- ldr r2, [r3]
- ldrh r1, [r2]
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- beq _08068ECC
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _08068ECC
- strh r5, [r2]
-_08068ECC:
- adds r3, 0x4
- subs r6, 0x1
- cmp r6, 0
- bne _08068EB6
-_08068ED4:
- cmp r7, 0
- ble _08068F08
- movs r1, 0x80
- lsls r1, 7
- adds r5, r1, 0
- adds r6, r7, 0
-_08068EE0:
- ldr r2, [r4]
- ldrh r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068F00
- adds r0, r1, 0
- ands r0, r5
- cmp r0, 0
- beq _08068F00
- adds r0, r2, 0
- bl sub_808D1DC
- ldr r1, [r4]
- movs r0, 0
- strh r0, [r1]
-_08068F00:
- adds r4, 0x4
- subs r6, 0x1
- cmp r6, 0
- bne _08068EE0
-_08068F08:
- ldr r1, [sp, 0x224]
- cmp r1, 0x39
- bgt _08068F10
- b _08068D06
-_08068F10:
- movs r3, 0x8A
- lsls r3, 2
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08068F24: .4byte gUnknown_80FE20C
- thumb_func_end sub_8068BDC
-
- thumb_func_start sub_8068F28
-sub_8068F28:
- push {r4-r7,lr}
- movs r6, 0
- ldr r7, _08068F5C
-_08068F2E:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _08068F60
- adds r0, r1
- ldr r1, [r7]
- adds r4, r1, r0
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068F74
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- bl sub_806A564
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _08068F64
- movs r0, 0
- strh r0, [r4]
- b _08068F74
- .align 2, 0
-_08068F5C: .4byte gRecruitedPokemonRef
-_08068F60: .4byte 0x00008df8
-_08068F64:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- bl sub_806A538
- lsls r0, 24
- cmp r0, 0
- beq _08068F74
- strh r5, [r4]
-_08068F74:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08068F2E
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8068F28
-
- thumb_func_start sub_8068F80
-sub_8068F80:
- push {r4,r5,lr}
- bl GetLeaderEntity
- adds r5, r0, 0
- ldr r0, _08068FD4
- ldr r4, [r0]
- ldr r1, _08068FD8
- adds r0, r4, r1
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08068FDC
- adds r0, r4, r2
- strb r1, [r0]
- adds r2, 0x6
- adds r0, r4, r2
- strb r1, [r0]
- adds r0, r4, 0
- adds r0, 0xC0
- str r1, [r0]
- cmp r5, 0
- beq _08068FCC
- adds r0, r5, 0
- bl GetMapTileForDungeonEntity_2
- ldrh r0, [r0]
- lsrs r0, 5
- movs r1, 0x1
- ands r0, r1
- movs r2, 0xD3
- lsls r2, 3
- adds r1, r4, r2
- strb r0, [r1]
- adds r2, 0x1
- adds r1, r4, r2
- strb r0, [r1]
- adds r0, r5, 0x4
- bl sub_804AC20
-_08068FCC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068FD4: .4byte gDungeonGlobalData
-_08068FD8: .4byte 0x0000066c
-_08068FDC: .4byte 0x0000066d
- thumb_func_end sub_8068F80
-
- thumb_func_start sub_8068FE0
-sub_8068FE0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x84
- mov r8, r0
- str r2, [sp, 0x74]
- lsls r1, 16
- asrs r1, 16
- mov r9, r1
- ldr r7, [r0, 0x70]
- bl GetMapTileForDungeonEntity_2
- adds r4, r0, 0
- ldr r0, [sp, 0x74]
- cmp r0, 0
- bne _0806900E
- mov r0, sp
- bl sub_80457DC
- mov r1, sp
- str r1, [sp, 0x74]
-_0806900E:
- ldr r0, [r4, 0x10]
- cmp r0, r8
- bne _08069018
- movs r0, 0
- str r0, [r4, 0x10]
-_08069018:
- mov r2, r8
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- movs r3, 0x6
- ldrsh r1, [r2, r3]
- bl sub_80402AC
- movs r5, 0
- adds r6, r7, 0
- adds r6, 0xC8
- movs r0, 0xB0
- adds r0, r7
- mov r10, r0
- mov r1, r8
- adds r1, 0x22
- str r1, [sp, 0x80]
- mov r2, r8
- adds r2, 0x20
- str r2, [sp, 0x7C]
- adds r3, r7, 0
- adds r3, 0x40
- str r3, [sp, 0x78]
-_08069044:
- ldr r0, _080690E4
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080690E8
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _08069072
- adds r0, r4, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _08069072
- ldr r0, [r4, 0x70]
- adds r1, r0, 0
- adds r1, 0x80
- ldr r0, [r1]
- cmp r0, r8
- bne _08069072
- movs r0, 0
- str r0, [r1]
-_08069072:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08069044
- ldrb r0, [r6]
- cmp r0, 0x2
- bne _0806908A
- ldr r0, _080690E4
- ldr r0, [r0]
- ldr r3, _080690EC
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
-_0806908A:
- mov r1, r10
- ldrb r0, [r1]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080690A2
- adds r0, r7, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
-_080690A2:
- mov r0, r8
- bl sub_8078084
- movs r0, 0
- ldr r2, [sp, 0x80]
- strb r0, [r2]
- ldr r3, [sp, 0x7C]
- strb r0, [r3]
- ldr r1, _080690F0
- str r0, [r1]
- ldr r1, [sp, 0x78]
- ldrb r0, [r1]
- cmp r0, 0x41
- bne _080690FC
- ldr r3, _080690E4
- ldr r2, [r3]
- ldr r1, _080690F4
- adds r0, r2, r1
- ldrb r1, [r0]
- cmp r1, 0
- bne _080690FC
- movs r0, 0x1
- strb r0, [r2, 0x10]
- strh r1, [r7, 0xE]
- ldr r0, [r3]
- ldr r2, _080690F8
- adds r0, r2
- mov r1, r8
- movs r2, 0
- bl SetMessageArgument
- b _08069484
- .align 2, 0
-_080690E4: .4byte gDungeonGlobalData
-_080690E8: .4byte 0x000135cc
-_080690EC: .4byte 0x000037fc
-_080690F0: .4byte gLeaderPokemon
-_080690F4: .4byte 0x0000065c
-_080690F8: .4byte 0x000005f4
-_080690FC:
- ldrb r0, [r7, 0x7]
- cmp r0, 0
- bne _08069104
- b _0806928E
-_08069104:
- movs r0, 0x3C
- movs r1, 0x49
- bl sub_803E708
- bl sub_80532B4
- ldr r5, _08069198
- ldr r2, [r5]
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- bne _080691C8
- ldr r3, _0806919C
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080691E0
- movs r0, 0x87
- lsls r0, 2
- cmp r9, r0
- beq _080691E0
- adds r0, 0x6
- cmp r9, r0
- beq _080691E0
- subs r0, 0x4
- cmp r9, r0
- beq _080691E0
- ldr r1, _080691A0
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080691E0
- ldr r6, _080691A4
- adds r0, r2, r6
- movs r1, 0
- ldrsb r1, [r0, r1]
- cmp r1, 0
- blt _080691E0
- adds r3, 0xA
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080691E0
- cmp r1, 0
- ble _080691B4
- ldr r0, _080691A8
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- adds r4, r0, 0
- cmp r4, 0x1
- bne _080691E0
- ldr r0, _080691AC
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- ldr r0, [r5]
- strb r4, [r0, 0x4]
- ldr r0, [r5]
- strb r4, [r0, 0x6]
- ldr r0, [r5]
- ldr r1, _080691B0
- adds r0, r1
- strb r4, [r0]
- ldr r1, [r5]
- adds r1, r6
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- b _08069484
- .align 2, 0
-_08069198: .4byte gDungeonGlobalData
-_0806919C: .4byte 0x0000066e
-_080691A0: .4byte 0x00003a0d
-_080691A4: .4byte 0x0000067b
-_080691A8: .4byte gUnknown_80FE268
-_080691AC: .4byte gUnknown_80FE28C
-_080691B0: .4byte 0x00000654
-_080691B4:
- ldr r0, _080691C4
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _080691E0
- .align 2, 0
-_080691C4: .4byte gUnknown_80FE2D0
-_080691C8:
- movs r1, 0x1
- strb r1, [r2, 0x4]
- ldr r0, [r5]
- strb r1, [r0, 0x6]
- ldr r0, [r5]
- ldr r2, _080691DC
- adds r0, r2
- strb r1, [r0]
- b _08069484
- .align 2, 0
-_080691DC: .4byte 0x00000654
-_080691E0:
- mov r0, r9
- ldr r1, [sp, 0x74]
- mov r2, r8
- bl sub_8083AB0
- ldr r0, _080691F8
- cmp r9, r0
- bne _0806928E
- movs r6, 0
- movs r5, 0
- b _080691FE
- .align 2, 0
-_080691F8: .4byte 0x0000021f
-_080691FC:
- adds r5, 0x1
-_080691FE:
- cmp r5, 0x3
- bgt _08069228
- ldr r0, _080692C4
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r3, _080692C8
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl EntityExists
- lsls r0, 24
- cmp r0, 0
- beq _080691FC
- ldr r6, [r4, 0x70]
- adds r0, r6, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- bne _080691FC
-_08069228:
- cmp r6, 0
- beq _0806928E
- ldr r5, _080692CC
- ldrb r0, [r6, 0xA]
- movs r1, 0x64
- muls r1, r0
- ldr r2, _080692D0
- adds r1, r2
- ldr r2, [r5]
- adds r4, r2, r1
- adds r1, r6, 0
- bl sub_806C264
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- bl sub_806A58C
- lsls r0, 24
- cmp r0, 0
- beq _0806928A
- ldr r0, _080692C4
- ldr r0, [r0]
- ldr r1, _080692D4
- adds r0, r1
- ldrb r0, [r0]
- bl GetLevelCondition
- lsls r0, 24
- cmp r0, 0
- bne _0806926E
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- adds r1, r4, 0
- bl xxx_pokemon2_to_pokemonstruct_index_808DF2C
-_0806926E:
- bl sub_8044210
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0806928A
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- movs r0, 0x58
- muls r0, r1
- ldr r1, [r5]
- adds r0, r1
- adds r0, 0x28
- strb r2, [r0]
-_0806928A:
- movs r0, 0
- strh r0, [r4]
-_0806928E:
- ldrb r0, [r7, 0x6]
- cmp r0, 0
- beq _080692DC
- movs r5, 0
- movs r1, 0xB4
- lsls r1, 1
- adds r0, r7, r1
- movs r2, 0x98
- adds r2, r7
- mov r10, r2
- ldrb r3, [r0]
- cmp r5, r3
- bge _0806930A
- ldr r4, _080692D8
- subs r1, 0x1
- adds r2, r7, r1
- movs r3, 0
- adds r1, r0, 0
-_080692B2:
- ldrb r0, [r2]
- adds r0, r5
- adds r0, r4
- strb r3, [r0]
- adds r5, 0x1
- ldrb r0, [r1]
- cmp r5, r0
- blt _080692B2
- b _0806930A
- .align 2, 0
-_080692C4: .4byte gDungeonGlobalData
-_080692C8: .4byte 0x0001357c
-_080692CC: .4byte gRecruitedPokemonRef
-_080692D0: .4byte 0x00008df8
-_080692D4: .4byte 0x00000644
-_080692D8: .4byte gUnknown_202EE76
-_080692DC:
- movs r5, 0
- movs r1, 0xB4
- lsls r1, 1
- adds r0, r7, r1
- movs r2, 0x98
- adds r2, r7
- mov r10, r2
- ldrb r3, [r0]
- cmp r5, r3
- bge _0806930A
- ldr r4, _0806932C
- subs r1, 0x1
- adds r2, r7, r1
- movs r3, 0
- adds r1, r0, 0
-_080692FA:
- ldrb r0, [r2]
- adds r0, r5
- adds r0, r4
- strb r3, [r0]
- adds r5, 0x1
- ldrb r0, [r1]
- cmp r5, r0
- blt _080692FA
-_0806930A:
- ldr r1, [sp, 0x78]
- ldrb r0, [r1]
- cmp r0, 0x4A
- bne _08069338
- ldr r2, _08069330
- ldr r1, [r2]
- movs r0, 0x2
- strb r0, [r1, 0x10]
- ldr r0, [r2]
- ldr r2, _08069334
- adds r0, r2
- mov r1, r8
- movs r2, 0
- bl SetMessageArgument
- b _08069352
- .align 2, 0
-_0806932C: .4byte gUnknown_202EE70
-_08069330: .4byte gDungeonGlobalData
-_08069334: .4byte 0x000005f4
-_08069338:
- cmp r0, 0x47
- bne _08069352
- ldr r2, _08069494
- ldr r1, [r2]
- movs r0, 0x3
- strb r0, [r1, 0x10]
- ldr r0, [r2]
- ldr r3, _08069498
- adds r0, r3
- mov r1, r8
- movs r2, 0
- bl SetMessageArgument
-_08069352:
- bl GetLeaderEntity
- cmp r0, 0
- beq _080693C6
- movs r0, 0x87
- lsls r0, 2
- cmp r9, r0
- beq _080693C6
- ldrb r0, [r7, 0x7]
- cmp r0, 0
- bne _080693C6
- ldr r4, _08069494
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- bne _080693C6
- adds r0, r7, 0
- adds r0, 0xA4
- ldrb r1, [r0]
- movs r2, 0
- movs r0, 0xFA
- lsls r0, 1
- cmp r9, r0
- bne _08069384
- movs r2, 0x1
-_08069384:
- mov r0, r8
- bl sub_8084E00
- ldr r1, _0806949C
- adds r0, r1, 0
- ldrh r2, [r7, 0x4]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _080693C6
- bl IsBossBattle
- lsls r0, 24
- cmp r0, 0
- bne _080693C6
- ldrb r0, [r7, 0x6]
- cmp r0, 0
- beq _080693CC
- ldr r0, [r4]
- ldr r3, _080694A0
- adds r0, r3
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _080694A4
- ldr r1, [r0]
- mov r0, r8
- bl sub_805239C
- bl sub_803E178
- bl sub_8049ED4
-_080693C6:
- ldrb r0, [r7, 0x6]
- cmp r0, 0
- bne _08069466
-_080693CC:
- ldr r6, _080694A8
- ldrb r0, [r7, 0xA]
- movs r1, 0x64
- muls r1, r0
- ldr r2, _080694AC
- adds r1, r2
- ldr r2, [r6]
- adds r4, r2, r1
- adds r1, r7, 0
- bl sub_806C264
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- bl sub_806A58C
- lsls r0, 24
- cmp r0, 0
- beq _08069462
- ldr r5, _08069494
- ldr r0, [r5]
- ldr r1, _080694B0
- adds r0, r1
- ldrb r0, [r0]
- bl GetLevelCondition
- lsls r0, 24
- cmp r0, 0
- bne _0806940E
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- adds r1, r4, 0
- bl xxx_pokemon2_to_pokemonstruct_index_808DF2C
-_0806940E:
- bl sub_8044210
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0806942A
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- movs r0, 0x58
- muls r0, r1
- ldr r1, [r6]
- adds r0, r1
- adds r0, 0x28
- strb r2, [r0]
-_0806942A:
- ldrb r1, [r7, 0x7]
- negs r0, r1
- orrs r0, r1
- lsrs r1, r0, 31
- ldr r0, [r5]
- ldr r2, _080694B4
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08069448
- ldr r3, [sp, 0x78]
- ldrb r0, [r3]
- cmp r0, 0x41
- bne _08069448
- movs r1, 0x1
-_08069448:
- cmp r1, 0
- bne _08069462
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x58
- muls r1, r0
- ldr r0, _080694A8
- ldr r0, [r0]
- adds r1, r0
- ldrh r2, [r1]
- ldr r0, _080694B8
- ands r0, r2
- strh r0, [r1]
-_08069462:
- movs r0, 0
- strh r0, [r4]
-_08069466:
- mov r1, r10
- ldr r0, [r1]
- bl DeletePokemonDungeonSprite
- ldr r0, _080694BC
- movs r2, 0
- str r2, [r0]
- ldr r0, _08069494
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xC]
- mov r3, r8
- str r2, [r3]
- bl sub_8045ACC
-_08069484:
- add sp, 0x84
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08069494: .4byte gDungeonGlobalData
-_08069498: .4byte 0x000005f4
-_0806949C: .4byte 0xfffffe5f
-_080694A0: .4byte 0x000037fe
-_080694A4: .4byte gUnknown_80FA580
-_080694A8: .4byte gRecruitedPokemonRef
-_080694AC: .4byte 0x00008df8
-_080694B0: .4byte 0x00000644
-_080694B4: .4byte 0x0000065c
-_080694B8: .4byte 0x0000fffd
-_080694BC: .4byte gLeaderPokemon
- thumb_func_end sub_8068FE0
-
- thumb_func_start sub_80694C0
-sub_80694C0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- adds r0, r7, 0
- mov r1, r8
- bl GetMapTile_2
- mov r10, r0
- ldr r5, [r4, 0x70]
- adds r6, r5, 0
- adds r6, 0xB0
- ldrb r0, [r6]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080694FC
- adds r0, r5, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
-_080694FC:
- ldrb r0, [r6]
- cmp r0, 0x7
- beq _0806950A
- cmp r0, 0x5
- beq _0806950A
- cmp r0, 0x2
- bne _08069512
-_0806950A:
- adds r0, r4, 0
- adds r1, r4, 0
- bl SendImmobilizeEndMessage
-_08069512:
- movs r0, 0x4
- ldrsh r2, [r4, r0]
- cmp r7, r2
- bne _08069522
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r8, r0
- beq _080695DE
-_08069522:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- blt _08069552
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, 0
- blt _08069552
- adds r1, r0, 0
- adds r0, r2, 0
- bl GetMapTile_2
- adds r1, r0, 0
- ldr r0, [r1, 0x10]
- cmp r0, r4
- bne _08069546
- movs r0, 0
- str r0, [r1, 0x10]
-_08069546:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_80402AC
-_08069552:
- ldrh r0, [r4, 0x4]
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0x6]
- strh r0, [r4, 0xA]
- strh r7, [r4, 0x4]
- mov r0, r8
- strh r0, [r4, 0x6]
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _0806956E
- ldr r0, _0806959C
- strh r7, [r0]
- mov r1, r8
- strh r1, [r0, 0x2]
-_0806956E:
- mov r2, r10
- str r4, [r2, 0x10]
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _08069588
- ldr r0, _080695A0
- strh r7, [r0]
- mov r1, r8
- strh r1, [r0, 0x2]
- ldr r0, _080695A4
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x1]
-_08069588:
- adds r0, r7, 0
- mov r1, r8
- bl sub_80402AC
- mov r2, r9
- cmp r2, 0
- beq _080695A8
- cmp r2, 0x1
- beq _080695C4
- b _080695CE
- .align 2, 0
-_0806959C: .4byte gUnknown_203B410
-_080695A0: .4byte gUnknown_202EE0C
-_080695A4: .4byte gDungeonGlobalData
-_080695A8:
- ldr r0, [r5, 0x70]
- str r0, [r5, 0x74]
- ldr r0, [r5, 0x6C]
- str r0, [r5, 0x70]
- ldr r0, [r5, 0x68]
- str r0, [r5, 0x6C]
- adds r0, r5, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080695CE
- ldr r0, [r4, 0x8]
- str r0, [r5, 0x68]
- b _080695CE
-_080695C4:
- ldr r0, [r4, 0x4]
- str r0, [r5, 0x68]
- str r0, [r5, 0x6C]
- str r0, [r5, 0x70]
- str r0, [r5, 0x74]
-_080695CE:
- mov r1, r10
- ldrb r0, [r1, 0x9]
- adds r1, r4, 0
- adds r1, 0x25
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_806CF98
-_080695DE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80694C0
-
- thumb_func_start sub_80695EC
-sub_80695EC:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- ldr r1, [r4, 0x70]
- adds r5, r1, 0
- adds r0, r1, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08069612
- adds r0, r1, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
-_08069612:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r6, r0
- bne _08069622
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r7, r0
- beq _08069658
-_08069622:
- ldrh r0, [r4, 0x4]
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0x6]
- strh r0, [r4, 0xA]
- strh r6, [r4, 0x4]
- strh r7, [r4, 0x6]
- ldr r0, [r5, 0x70]
- str r0, [r5, 0x74]
- ldr r0, [r5, 0x6C]
- str r0, [r5, 0x70]
- ldr r0, [r5, 0x68]
- str r0, [r5, 0x6C]
- adds r0, r5, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08069648
- ldr r0, [r4, 0x8]
- str r0, [r5, 0x68]
-_08069648:
- adds r0, r6, 0
- adds r1, r7, 0
- bl GetMapTile_1
- ldrb r1, [r0, 0x9]
- adds r0, r4, 0
- adds r0, 0x25
- strb r1, [r0]
-_08069658:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80695EC
-
- thumb_func_start sub_8069660
-sub_8069660:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x70]
- adds r5, r0, 0
- adds r5, 0x46
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_8070F80
- lsls r0, 24
- cmp r0, 0
- bne _0806967C
- movs r0, 0
- b _0806969E
-_0806967C:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- ldr r1, _080696A4
- ldrb r2, [r5]
- lsls r2, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r4, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl GetMapTile_1
- ldr r0, [r0, 0x10]
-_0806969E:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080696A4: .4byte gAdjacentTileOffsets
- thumb_func_end sub_8069660
-
- thumb_func_start sub_80696A8
-sub_80696A8:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x70]
- adds r5, r0, 0
- adds r5, 0x46
- ldrb r1, [r5]
- adds r0, r4, 0
- bl CanAttackInFront
- lsls r0, 24
- cmp r0, 0
- beq _080696F4
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- ldr r1, _080696F0
- ldrb r2, [r5]
- lsls r2, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r4, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl GetMapTile_1
- ldr r1, [r0, 0x10]
- cmp r1, 0
- beq _080696F4
- ldr r0, [r1]
- cmp r0, 0x1
- bne _080696F4
- adds r0, r1, 0
- b _080696F6
- .align 2, 0
-_080696F0: .4byte gAdjacentTileOffsets
-_080696F4:
- movs r0, 0
-_080696F6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80696A8
-
- thumb_func_start sub_80696FC
-sub_80696FC:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r3, [r4, 0x70]
- ldr r5, _08069764
- adds r3, 0x46
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0]
- ldrh r1, [r4, 0x4]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08069768
- ldr r2, [sp]
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x6]
- adds r0, r1
- lsls r0, 16
- ldr r1, _0806976C
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- asrs r1, 16
- bl GetMapTile_1
- adds r5, r0, 0
- adds r0, r4, 0
- mov r1, sp
- bl sub_80705F0
- lsls r0, 24
- cmp r0, 0
- bne _08069770
- ldr r1, [r5, 0x10]
- cmp r1, 0
- beq _08069770
- ldr r0, [r1]
- cmp r0, 0x1
- bne _08069770
- adds r0, r1, 0
- b _08069772
- .align 2, 0
-_08069764: .4byte gAdjacentTileOffsets
-_08069768: .4byte 0xffff0000
-_0806976C: .4byte 0x0000ffff
-_08069770:
- movs r0, 0
-_08069772:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80696FC
-
- thumb_func_start sub_806977C
-sub_806977C:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, [r4, 0x70]
- ldr r7, _0806982C
- adds r5, r0, 0
- adds r5, 0x46
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r7
- ldrh r0, [r0]
- ldrh r1, [r4, 0x4]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08069830
- ldr r2, [sp]
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r7
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x6]
- adds r0, r1
- lsls r0, 16
- ldr r1, _08069834
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- asrs r1, 16
- bl GetMapTile_1
- mov r6, sp
- adds r0, r4, 0
- mov r1, sp
- bl sub_80705F0
- lsls r0, 24
- cmp r0, 0
- bne _08069838
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r7
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 1
- ldrh r2, [r4, 0x4]
- adds r0, r2
- mov r1, sp
- strh r0, [r1]
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r7
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- lsls r0, 1
- ldrh r2, [r4, 0x6]
- adds r0, r2
- strh r0, [r6, 0x2]
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl GetMapTile_1
- adds r5, r0, 0
- adds r0, r4, 0
- mov r1, sp
- bl sub_80705F0
- lsls r0, 24
- cmp r0, 0
- bne _08069838
- ldr r1, [r5, 0x10]
- cmp r1, 0
- beq _08069838
- ldr r0, [r1]
- cmp r0, 0x1
- bne _08069838
- adds r0, r1, 0
- b _0806983A
- .align 2, 0
-_0806982C: .4byte gAdjacentTileOffsets
-_08069830: .4byte 0xffff0000
-_08069834: .4byte 0x0000ffff
-_08069838:
- movs r0, 0
-_0806983A:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_806977C
-
- thumb_func_start sub_8069844
-sub_8069844:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- mov r8, r1
- ldr r5, [r1, 0x70]
- adds r0, r6, 0x2
- adds r1, r5, 0
- movs r2, 0
- bl SetMessageArgument_2
- ldrh r0, [r5, 0x2]
- strh r0, [r6]
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- str r0, [r6, 0x24]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- str r0, [r6, 0x28]
- ldrb r0, [r5, 0x9]
- str r0, [r6, 0x2C]
- ldr r0, [r5, 0x18]
- str r0, [r6, 0x30]
- movs r2, 0
-_08069874:
- adds r1, r6, 0
- adds r1, 0x34
- adds r1, r2
- adds r0, r5, 0
- adds r0, 0x14
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r6, 0
- adds r1, 0x36
- adds r1, r2
- adds r0, r5, 0
- adds r0, 0x16
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r6, 0
- adds r1, 0x16
- adds r1, r2
- adds r0, r5, 0
- adds r0, 0x5C
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r6, 0
- adds r1, 0x18
- adds r1, r2
- adds r0, r5, 0
- adds r0, 0x5E
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x1
- ble _08069874
- ldrb r2, [r5, 0x7]
- adds r1, r6, 0
- adds r1, 0x38
- movs r0, 0
- strb r2, [r1]
- adds r2, r6, 0
- adds r2, 0x39
- strb r0, [r2]
- adds r3, r6, 0
- adds r3, 0x3A
- strb r0, [r3]
- adds r4, r6, 0
- adds r4, 0x3B
- strb r0, [r4]
- movs r7, 0x3C
- adds r7, r6
- mov r12, r7
- strb r0, [r7]
- adds r0, r5, 0
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806995C
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0806995C
- adds r1, r5, 0
- adds r1, 0x62
- ldrb r0, [r1]
- cmp r0, 0x13
- bne _08069908
- ldr r0, _080699A4
- ldrb r0, [r0]
- ldrb r7, [r2]
- adds r0, r7
- strb r0, [r2]
-_08069908:
- ldrb r0, [r1]
- cmp r0, 0x2B
- bne _08069918
- ldr r0, _080699A8
- ldrb r0, [r0]
- ldrb r7, [r2]
- adds r0, r7
- strb r0, [r2]
-_08069918:
- ldrb r0, [r1]
- cmp r0, 0x21
- bne _08069928
- ldr r0, _080699AC
- ldrb r0, [r0]
- ldrb r2, [r3]
- adds r0, r2
- strb r0, [r3]
-_08069928:
- ldrb r0, [r1]
- cmp r0, 0x2B
- bne _08069938
- ldr r0, _080699A8
- ldrb r0, [r0]
- ldrb r7, [r3]
- adds r0, r7
- strb r0, [r3]
-_08069938:
- ldrb r0, [r1]
- cmp r0, 0x1E
- bne _08069948
- ldr r0, _080699B0
- ldrb r0, [r0]
- ldrb r2, [r4]
- adds r0, r2
- strb r0, [r4]
-_08069948:
- ldrb r0, [r1]
- cmp r0, 0x22
- bne _0806995C
- ldr r0, _080699B4
- ldrb r0, [r0]
- mov r7, r12
- ldrb r7, [r7]
- adds r0, r7
- mov r1, r12
- strb r0, [r1]
-_0806995C:
- adds r0, r5, 0
- adds r0, 0x94
- ldrb r1, [r0]
- adds r0, r6, 0
- adds r0, 0x54
- strb r1, [r0]
- ldr r0, [r5, 0x60]
- str r0, [r6, 0x20]
- ldrh r0, [r5, 0xC]
- movs r1, 0
- strh r0, [r6, 0x3E]
- ldr r0, [r5, 0x40]
- str r0, [r6, 0x1C]
- adds r0, r6, 0
- adds r0, 0x44
- strb r1, [r0]
- adds r0, 0x4
- strb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x8C
- ldr r0, [r0]
- str r0, [r6, 0x50]
- ldr r0, _080699B8
- ldr r0, [r0]
- ldr r2, _080699BC
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080699C0
- adds r0, r5, 0
- bl sub_806A4DC
- adds r1, r6, 0
- adds r1, 0x4C
- b _080699C6
- .align 2, 0
-_080699A4: .4byte gUnknown_810AC60
-_080699A8: .4byte gUnknown_810AC68
-_080699AC: .4byte gUnknown_810AC62
-_080699B0: .4byte gUnknown_810AC64
-_080699B4: .4byte gUnknown_810AC66
-_080699B8: .4byte gDungeonGlobalData
-_080699BC: .4byte 0x0000065a
-_080699C0:
- adds r1, r6, 0
- adds r1, 0x4C
- movs r0, 0x3
-_080699C6:
- strb r0, [r1]
- movs r4, 0
- movs r7, 0x10
- ldrsh r0, [r5, r7]
- cmp r0, 0
- bge _080699D4
- adds r0, 0x3
-_080699D4:
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- asrs r0, 2
- cmp r1, r0
- bgt _080699E8
- adds r1, r6, 0
- adds r1, 0x58
- movs r0, 0x6
- strb r0, [r1]
- movs r4, 0x1
-_080699E8:
- ldr r0, _08069A24
- ldr r0, [r0]
- ldr r7, _08069A28
- adds r0, r7
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069A02
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0xB
- strb r1, [r0]
- adds r4, 0x1
-_08069A02:
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- bl RoundUpFixedPoint
- cmp r0, 0
- bne _08069A38
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _08069A2C
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x13
- b _08069A34
- .align 2, 0
-_08069A24: .4byte gDungeonGlobalData
-_08069A28: .4byte 0x00000676
-_08069A2C:
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x3B
-_08069A34:
- strb r1, [r0]
- adds r4, 0x1
-_08069A38:
- mov r2, r8
- ldr r0, [r2, 0x70]
- movs r7, 0x82
- lsls r7, 1
- adds r2, r0, r7
- ldr r0, [r2]
- cmp r0, 0x1
- ble _08069A54
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x1B
- strb r1, [r0]
- adds r4, 0x1
-_08069A54:
- ldr r0, [r2]
- cmp r0, 0
- bgt _08069A66
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x28
- strb r1, [r0]
- adds r4, 0x1
-_08069A66:
- ldr r0, [r5, 0x2C]
- cmp r0, 0xFF
- ble _08069AAE
- ldr r0, [r5, 0x30]
- cmp r0, 0xFF
- ble _08069AAE
- ldr r0, [r5, 0x34]
- cmp r0, 0xFF
- ble _08069AAE
- ldr r0, [r5, 0x38]
- cmp r0, 0xFF
- ble _08069AAE
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- cmp r0, 0x9
- ble _08069AAE
- movs r2, 0x1E
- ldrsh r0, [r5, r2]
- cmp r0, 0x9
- ble _08069AAE
- movs r7, 0x20
- ldrsh r0, [r5, r7]
- cmp r0, 0x9
- ble _08069AAE
- movs r1, 0x22
- ldrsh r0, [r5, r1]
- cmp r0, 0x9
- ble _08069AAE
- movs r2, 0x24
- ldrsh r0, [r5, r2]
- cmp r0, 0x9
- ble _08069AAE
- movs r7, 0x26
- ldrsh r0, [r5, r7]
- cmp r0, 0x9
- bgt _08069ABA
-_08069AAE:
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x37
- strb r1, [r0]
- adds r4, 0x1
-_08069ABA:
- adds r0, r5, 0
- adds r0, 0xA8
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069AD2
- cmp r4, 0xB
- bgt _08069AD2
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- strb r1, [r0]
- adds r4, 0x1
-_08069AD2:
- adds r0, r5, 0
- adds r0, 0xAC
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069AEC
- cmp r4, 0xB
- bgt _08069AEC
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x6
- strb r1, [r0]
- adds r4, 0x1
-_08069AEC:
- adds r0, r5, 0
- adds r0, 0xB0
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069B06
- cmp r4, 0xB
- bgt _08069B06
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0xB
- strb r1, [r0]
- adds r4, 0x1
-_08069B06:
- adds r0, r5, 0
- adds r0, 0xBC
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069B20
- cmp r4, 0xB
- bgt _08069B20
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x13
- strb r1, [r0]
- adds r4, 0x1
-_08069B20:
- adds r0, r5, 0
- adds r0, 0xC0
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069B3A
- cmp r4, 0xB
- bgt _08069B3A
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x1B
- strb r1, [r0]
- adds r4, 0x1
-_08069B3A:
- adds r0, r5, 0
- adds r0, 0xC4
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069B54
- cmp r4, 0xB
- bgt _08069B54
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x28
- strb r1, [r0]
- adds r4, 0x1
-_08069B54:
- adds r0, r5, 0
- adds r0, 0xC8
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069B6E
- cmp r4, 0xB
- bgt _08069B6E
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x37
- strb r1, [r0]
- adds r4, 0x1
-_08069B6E:
- adds r0, r5, 0
- adds r0, 0xD0
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069B88
- cmp r4, 0xB
- bgt _08069B88
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x3B
- strb r1, [r0]
- adds r4, 0x1
-_08069B88:
- adds r0, r5, 0
- adds r0, 0xDC
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069BA2
- cmp r4, 0xB
- bgt _08069BA2
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x3E
- strb r1, [r0]
- adds r4, 0x1
-_08069BA2:
- adds r0, r5, 0
- adds r0, 0xE0
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069BBC
- cmp r4, 0xB
- bgt _08069BBC
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x43
- strb r1, [r0]
- adds r4, 0x1
-_08069BBC:
- adds r0, r5, 0
- adds r0, 0xE4
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069BD6
- cmp r4, 0xB
- bgt _08069BD6
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x46
- strb r1, [r0]
- adds r4, 0x1
-_08069BD6:
- adds r0, r5, 0
- adds r0, 0xE8
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069BF0
- cmp r4, 0xB
- bgt _08069BF0
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x4A
- strb r1, [r0]
- adds r4, 0x1
-_08069BF0:
- adds r0, r5, 0
- adds r0, 0xEC
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069C0A
- cmp r4, 0xB
- bgt _08069C0A
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x4E
- strb r1, [r0]
- adds r4, 0x1
-_08069C0A:
- movs r1, 0x89
- lsls r1, 1
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069C26
- cmp r4, 0xB
- bgt _08069C26
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x50
- strb r1, [r0]
- adds r4, 0x1
-_08069C26:
- adds r0, r5, 0
- adds r0, 0xF0
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069C40
- cmp r4, 0xB
- bgt _08069C40
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x51
- strb r1, [r0]
- adds r4, 0x1
-_08069C40:
- adds r0, r5, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069C5A
- cmp r4, 0xB
- bgt _08069C5A
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x52
- strb r1, [r0]
- adds r4, 0x1
-_08069C5A:
- adds r0, r5, 0
- adds r0, 0xF4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069C74
- cmp r4, 0xB
- bgt _08069C74
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x53
- strb r1, [r0]
- adds r4, 0x1
-_08069C74:
- adds r0, r5, 0
- adds r0, 0xF5
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069C8E
- cmp r4, 0xB
- bgt _08069C8E
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x54
- strb r1, [r0]
- adds r4, 0x1
-_08069C8E:
- mov r0, r8
- bl ShouldAvoidEnemies
- lsls r0, 24
- cmp r0, 0
- beq _08069CAA
- cmp r4, 0xB
- bgt _08069CAA
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x55
- strb r1, [r0]
- adds r4, 0x1
-_08069CAA:
- adds r0, r5, 0
- adds r0, 0xFD
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069CC4
- cmp r4, 0xB
- bgt _08069CC4
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x56
- strb r1, [r0]
- adds r4, 0x1
-_08069CC4:
- mov r0, r8
- movs r1, 0
- bl sub_8070828
- cmp r0, 0x1
- ble _08069CE0
- cmp r4, 0xB
- bgt _08069CE0
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x57
- strb r1, [r0]
- adds r4, 0x1
-_08069CE0:
- adds r0, r5, 0
- adds r0, 0xF2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069CFA
- cmp r4, 0xB
- bgt _08069D0E
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x58
- strb r1, [r0]
- adds r4, 0x1
-_08069CFA:
- cmp r4, 0xB
- bgt _08069D0E
- adds r1, r6, 0
- adds r1, 0x58
- movs r2, 0
-_08069D04:
- adds r0, r1, r4
- strb r2, [r0]
- adds r4, 0x1
- cmp r4, 0xB
- ble _08069D04
-_08069D0E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8069844
-
- thumb_func_start sub_8069D18
-sub_8069D18:
- push {r4,r5,lr}
- ldr r3, [r1, 0x70]
- ldr r4, _08069D48
- adds r3, 0x46
- ldrb r2, [r3]
- lsls r2, 2
- adds r2, r4
- ldrh r2, [r2]
- ldrh r5, [r1, 0x4]
- adds r2, r5
- strh r2, [r0]
- ldrb r2, [r3]
- lsls r2, 2
- adds r2, r4
- ldrh r2, [r2, 0x2]
- ldrh r1, [r1, 0x6]
- adds r2, r1
- strh r2, [r0, 0x2]
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08069D48: .4byte gAdjacentTileOffsets
- thumb_func_end sub_8069D18
-
- thumb_func_start sub_8069D4C
-sub_8069D4C:
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- ldr r4, [r1, 0x70]
- ldrh r0, [r4, 0x2]
- strh r0, [r5]
- ldr r0, [r1, 0x4]
- str r0, [r5, 0x4]
- adds r0, r4, 0
- adds r0, 0xF7
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069D6A
- ldrh r0, [r4, 0x12]
- b _08069D6C
-_08069D6A:
- ldrh r0, [r4, 0x10]
-_08069D6C:
- strh r0, [r5, 0x8]
- ldrb r0, [r4, 0x9]
- strh r0, [r5, 0xE]
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- ldrb r2, [r4, 0x9]
- mov r0, sp
- bl GetPokemonLevelData
- ldr r0, [sp]
- str r0, [r5, 0x10]
- ldrb r0, [r4, 0x14]
- strb r0, [r5, 0xA]
- ldrb r0, [r4, 0x15]
- strb r0, [r5, 0xB]
- ldrb r0, [r4, 0x16]
- strb r0, [r5, 0xC]
- ldrb r0, [r4, 0x17]
- strb r0, [r5, 0xD]
- ldr r0, [r4, 0x60]
- str r0, [r5, 0x1C]
- adds r1, r5, 0
- adds r1, 0x20
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r4, r2
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- movs r3, 0x9E
- lsls r3, 1
- adds r0, r4, r3
- ldr r0, [r0]
- str r0, [r5, 0x14]
- movs r6, 0xA0
- lsls r6, 1
- adds r0, r4, r6
- ldr r0, [r0]
- str r0, [r5, 0x18]
- ldr r0, [r4, 0x3C]
- str r0, [r5, 0x44]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8069D4C
-
.align 2, 0 \ No newline at end of file
diff --git a/asm/code_805D8C8.s b/asm/code_805D8C8.s
new file mode 100644
index 0000000..0f8f723
--- /dev/null
+++ b/asm/code_805D8C8.s
@@ -0,0 +1,24563 @@
+ #include "asm/constants/gba_constants.inc"
+ #include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_805D8C8
+sub_805D8C8:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x24
+ ldr r4, _0805D90C
+ ldr r1, [r4]
+ ldr r0, _0805D910
+ adds r0, r1, r0
+ str r0, [sp, 0x10]
+ movs r2, 0x3
+ str r2, [sp, 0xC]
+ movs r5, 0
+ movs r0, 0
+ strh r0, [r1, 0x12]
+ bl GetLeaderEntity
+ movs r1, 0x1
+ bl sub_806A2BC
+ bl GetLeaderEntity
+ bl sub_80701A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805D928
+ movs r0, 0x3C
+ movs r1, 0x10
+ bl sub_803E708
+ bl _0805E2B0
+ .align 2, 0
+_0805D90C: .4byte gDungeonGlobalData
+_0805D910: .4byte 0x000181e8
+_0805D914:
+ mov r1, r8
+ adds r1, 0x44
+ movs r2, 0
+ movs r0, 0x2
+ strh r0, [r1]
+ mov r0, r8
+ adds r0, 0x48
+ strb r2, [r0]
+ bl _0805E2B0
+_0805D928:
+ ldr r0, [r4]
+ ldr r3, _0805D9D4
+ adds r0, r3
+ strb r5, [r0]
+ bl sub_8040A78
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x1]
+ cmp r0, 0
+ beq _0805D976
+ strb r5, [r1, 0x1]
+ bl GetLeaderEntity
+ movs r1, 0x1
+ bl ShouldAvoidEnemiesAndShowEffect
+ lsls r0, 24
+ cmp r0, 0
+ bne _0805D976
+ movs r0, 0x1
+ bl sub_8044C10
+ bl sub_805E804
+ bl GetLeaderEntity
+ bl sub_80647F0
+ bl ResetRepeatTimers
+ bl ResetUnusedInputStruct
+ bl sub_805F1AC
+ lsls r0, 16
+ cmp r0, 0
+ beq _0805D976
+ bl _0805E2B0
+_0805D976:
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_806A914
+_0805D980:
+ bl GetLeaderEntity
+ mov r10, r0
+ ldr r5, [r0, 0x70]
+ mov r8, r5
+ movs r1, 0x2
+ ldrsh r0, [r5, r1]
+ bl sub_80978C8
+ ldr r2, _0805D9D8
+ ldr r0, [r2]
+ ldr r3, _0805D9DC
+ adds r0, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805D9AE
+ bl sub_805E874
+ lsls r0, 24
+ cmp r0, 0
+ bne _0805D914
+ bl sub_805E804
+_0805D9AE:
+ ldr r0, _0805D9E0
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, _0805D9E4
+ strb r1, [r0]
+ ldr r5, _0805D9D8
+ ldr r0, [r5]
+ movs r1, 0xB8
+ lsls r1, 3
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ bge _0805D9CA
+ b _0805DAE8
+_0805D9CA:
+ ldr r0, _0805D9E8
+ ands r6, r0
+ movs r2, 0x1
+ orrs r6, r2
+ b _0805DAEC
+ .align 2, 0
+_0805D9D4: .4byte 0x00000673
+_0805D9D8: .4byte gDungeonGlobalData
+_0805D9DC: .4byte 0x0000066c
+_0805D9E0: .4byte gUnknown_202F22D
+_0805D9E4: .4byte gUnknown_202F22C
+_0805D9E8: .4byte 0xffffff00
+_0805D9EC:
+ movs r0, 0x1
+ bl sub_8044C50
+ ldr r3, _0805DA00
+ ldr r0, [r3]
+ ldr r5, _0805DA04
+ adds r0, r5
+ strb r4, [r0]
+ b _0805E1AE
+ .align 2, 0
+_0805DA00: .4byte gDungeonGlobalData
+_0805DA04: .4byte 0x00000673
+_0805DA08:
+ ldr r0, _0805DA14
+ ldr r1, [r0]
+ mov r0, r10
+ bl SendMessage
+ b _0805DBDA
+ .align 2, 0
+_0805DA14: .4byte gUnknown_80FD4B0
+_0805DA18:
+ ldr r0, _0805DA1C
+ b _0805DCBC
+ .align 2, 0
+_0805DA1C: .4byte gUnknown_80F8A28
+_0805DA20:
+ ldr r0, [sp, 0x1C]
+ movs r1, 0x17
+ bl SetAction
+ b _0805E1AE
+_0805DA2A:
+ ldr r0, _0805DA38
+ ands r6, r0
+ movs r3, 0x1
+ orrs r6, r3
+ ldr r0, _0805DA3C
+ ands r6, r0
+ b _0805DAD6
+ .align 2, 0
+_0805DA38: .4byte 0xffffff00
+_0805DA3C: .4byte 0xffff00ff
+_0805DA40:
+ ldr r5, _0805DA58
+ ldr r0, [r5]
+ movs r2, 0xB8
+ lsls r2, 3
+ adds r0, r2
+ str r1, [r0]
+ ldr r0, _0805DA5C
+ ands r6, r0
+ movs r3, 0x1
+ orrs r6, r3
+ b _0805DAA8
+ .align 2, 0
+_0805DA58: .4byte gDungeonGlobalData
+_0805DA5C: .4byte 0xffffff00
+_0805DA60:
+ ldr r5, _0805DA78
+ ldr r0, [r5]
+ movs r1, 0xB8
+ lsls r1, 3
+ adds r0, r1
+ movs r2, 0x1
+ str r2, [r0]
+ ldr r0, _0805DA7C
+ ands r6, r0
+ orrs r6, r2
+ b _0805DAA8
+ .align 2, 0
+_0805DA78: .4byte gDungeonGlobalData
+_0805DA7C: .4byte 0xffffff00
+_0805DA80:
+ ldr r3, _0805DA98
+ ldr r0, [r3]
+ movs r5, 0xB8
+ lsls r5, 3
+ adds r0, r5
+ str r2, [r0]
+ ldr r0, _0805DA9C
+ ands r6, r0
+ movs r0, 0x1
+ orrs r6, r0
+ b _0805DAA8
+ .align 2, 0
+_0805DA98: .4byte gDungeonGlobalData
+_0805DA9C: .4byte 0xffffff00
+_0805DAA0:
+ ldr r0, _0805DAB8
+ ands r6, r0
+ movs r1, 0x1
+ orrs r6, r1
+_0805DAA8:
+ ldr r0, _0805DABC
+ ands r6, r0
+ ldr r0, _0805DAC0
+ ands r6, r0
+ movs r0, 0x80
+ lsls r0, 9
+ orrs r6, r0
+ b _0805E1AE
+ .align 2, 0
+_0805DAB8: .4byte 0xffffff00
+_0805DABC: .4byte 0xffff00ff
+_0805DAC0: .4byte 0xff00ffff
+_0805DAC4:
+ ldr r0, _0805DADC
+ ands r6, r0
+ movs r2, 0x1
+ orrs r6, r2
+ ldr r0, _0805DAE0
+ ands r6, r0
+ movs r0, 0x80
+ lsls r0, 1
+ orrs r6, r0
+_0805DAD6:
+ ldr r0, _0805DAE4
+ ands r6, r0
+ b _0805E1AE
+ .align 2, 0
+_0805DADC: .4byte 0xffffff00
+_0805DAE0: .4byte 0xffff00ff
+_0805DAE4: .4byte 0xff00ffff
+_0805DAE8:
+ ldr r0, _0805DB3C
+ ands r6, r0
+_0805DAEC:
+ ldr r0, _0805DB40
+ ands r6, r0
+ ldr r0, _0805DB44
+ ands r6, r0
+ movs r3, 0
+ str r3, [sp, 0x8]
+ movs r0, 0
+ bl sub_8044C50
+ ldr r0, _0805DB48
+ mov r5, sp
+ ldrb r5, [r5, 0x8]
+ strb r5, [r0]
+ ldr r0, _0805DB4C
+ mov r1, sp
+ ldrb r1, [r1, 0x8]
+ strb r1, [r0]
+ lsls r0, r6, 24
+ mov r2, r8
+ adds r2, 0x44
+ str r2, [sp, 0x1C]
+ str r0, [sp, 0x14]
+ ldr r3, [sp, 0x10]
+ adds r3, 0x32
+ str r3, [sp, 0x18]
+ cmp r0, 0
+ beq _0805DB24
+ b _0805E1AE
+_0805DB24:
+ ldr r0, _0805DB50
+ ldrh r1, [r0]
+ adds r1, 0x1
+ strh r1, [r0]
+ ldr r5, [sp, 0x18]
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _0805DB54
+ movs r0, 0
+ str r0, [sp, 0x8]
+ b _0805DB5A
+ .align 2, 0
+_0805DB3C: .4byte 0xffffff00
+_0805DB40: .4byte 0xffff00ff
+_0805DB44: .4byte 0xff00ffff
+_0805DB48: .4byte gUnknown_202F230
+_0805DB4C: .4byte gUnknown_202F231
+_0805DB50: .4byte gUnknown_202F22E
+_0805DB54:
+ ldr r1, [sp, 0x8]
+ adds r1, 0x1
+ str r1, [sp, 0x8]
+_0805DB5A:
+ ldr r2, [sp, 0xC]
+ cmp r2, 0
+ beq _0805DB6E
+ subs r2, 0x1
+ str r2, [sp, 0xC]
+ cmp r2, 0
+ bne _0805DB6E
+ movs r0, 0
+ bl sub_8075680
+_0805DB6E:
+ mov r0, r10
+ bl sub_805E2C4
+ movs r7, 0
+ movs r1, 0
+ add r0, sp, 0x4
+_0805DB7A:
+ strb r1, [r0]
+ subs r0, 0x1
+ cmp r0, sp
+ bge _0805DB7A
+ ldr r0, _0805DBEC
+ ldrh r1, [r0]
+ movs r4, 0x1
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DBAA
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DBAA
+ movs r0, 0x9E
+ lsls r0, 1
+ add r0, r8
+ ldr r0, [r0]
+ bl RoundUpFixedPoint
+ cmp r0, 0
+ beq _0805DBAA
+ b _0805D9EC
+_0805DBAA:
+ movs r3, 0
+ mov r9, r3
+ ldr r4, _0805DBEC
+ ldrh r1, [r4, 0x2]
+ movs r5, 0x1
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0805DBBE
+ b _0805DD02
+_0805DBBE:
+ ldrh r1, [r4]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DBF8
+ movs r0, 0x9E
+ lsls r0, 1
+ add r0, r8
+ ldr r0, [r0]
+ bl RoundUpFixedPoint
+ cmp r0, 0
+ bne _0805DBDA
+ b _0805DD02
+_0805DBDA:
+ movs r0, 0x1
+ bl sub_8044C50
+ ldr r1, _0805DBF0
+ ldr r0, [r1]
+ ldr r2, _0805DBF4
+ adds r0, r2
+ strb r5, [r0]
+ b _0805E1AE
+ .align 2, 0
+_0805DBEC: .4byte gRealInputs
+_0805DBF0: .4byte gDungeonGlobalData
+_0805DBF4: .4byte 0x00000673
+_0805DBF8:
+ mov r0, r10
+ movs r1, 0x1
+ bl ShouldAvoidEnemiesAndShowEffect
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805DC08
+ b _0805DA08
+_0805DC08:
+ ldrh r0, [r4]
+ movs r3, 0x80
+ lsls r3, 2
+ adds r1, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DCE8
+ movs r4, 0
+ movs r2, 0x8C
+ lsls r2, 1
+ add r2, r8
+ movs r3, 0x8
+_0805DC20:
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DC32
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _0805DC3A
+_0805DC32:
+ adds r2, 0x8
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _0805DC20
+_0805DC3A:
+ cmp r4, 0x4
+ bne _0805DC40
+ b _0805DA18
+_0805DC40:
+ movs r3, 0
+ movs r5, 0x8C
+ lsls r5, 1
+ movs r7, 0x1
+ mov r2, r8
+_0805DC4A:
+ lsls r0, r3, 3
+ add r0, r8
+ adds r0, r5
+ ldrb r1, [r0]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DC66
+ movs r1, 0x8E
+ lsls r1, 1
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0805DC6E
+_0805DC66:
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _0805DC4A
+_0805DC6E:
+ cmp r3, 0x4
+ bne _0805DC74
+ b _0805DA20
+_0805DC74:
+ movs r7, 0
+ adds r3, r4, 0
+ cmp r4, 0x3
+ bgt _0805DCB6
+ lsls r0, r4, 3
+ adds r2, r0, 0
+ add r2, r8
+ mov r12, r2
+ movs r5, 0x8E
+ lsls r5, 1
+ adds r0, r5
+ mov r1, r8
+ adds r2, r0, r1
+ movs r5, 0x2
+_0805DC90:
+ ldrb r0, [r2]
+ cmp r0, 0
+ bne _0805DCCC
+ movs r0, 0x8
+ add r12, r0
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, 0x3
+ bgt _0805DCB6
+ cmp r3, r4
+ beq _0805DC90
+ movs r0, 0x8C
+ lsls r0, 1
+ add r0, r12
+ ldrb r1, [r0]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _0805DC90
+_0805DCB6:
+ cmp r7, 0
+ bne _0805DCCC
+ ldr r0, _0805DCC8
+_0805DCBC:
+ ldr r1, [r0]
+ mov r0, r10
+ bl SendMessage
+ b _0805E1AE
+ .align 2, 0
+_0805DCC8: .4byte gUnknown_80F8A4C
+_0805DCCC:
+ ldr r0, [sp, 0x1C]
+ movs r1, 0x14
+ bl SetAction
+ mov r0, r10
+ bl sub_8045B60
+ mov r1, r8
+ adds r1, 0x48
+ strb r0, [r1]
+ mov r0, r8
+ adds r0, 0x50
+ strb r4, [r0]
+ b _0805E1AE
+_0805DCE8:
+ mov r0, r10
+ mov r1, r8
+ bl sub_805EF60
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805DCF8
+ b _0805E1AE
+_0805DCF8:
+ ldr r0, [sp, 0x1C]
+ movs r1, 0x32
+ bl SetAction
+ b _0805E1AE
+_0805DD02:
+ ldr r3, _0805DDC8
+ ldrh r1, [r3, 0x6]
+ movs r2, 0x2
+ adds r0, r2, 0
+ ands r0, r1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ beq _0805DD16
+ b _0805DA2A
+_0805DD16:
+ mov r0, sp
+ ldrb r0, [r0, 0x1]
+ cmp r0, 0
+ beq _0805DD20
+ b _0805DA40
+_0805DD20:
+ mov r0, sp
+ ldrb r0, [r0, 0x2]
+ cmp r0, 0
+ beq _0805DD2A
+ b _0805DA60
+_0805DD2A:
+ mov r0, sp
+ ldrb r0, [r0, 0x3]
+ cmp r0, 0
+ beq _0805DD34
+ b _0805DA80
+_0805DD34:
+ mov r0, sp
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _0805DD3E
+ b _0805DAA0
+_0805DD3E:
+ ldr r0, _0805DDCC
+ ldr r1, [sp, 0x8]
+ cmp r1, r0
+ ble _0805DD48
+ b _0805DAC4
+_0805DD48:
+ ldr r0, _0805DDD0
+ ldr r0, [r0]
+ ldrb r4, [r0, 0x9]
+ cmp r4, 0
+ bne _0805DD7E
+ ldrh r1, [r3, 0x2]
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _0805DD66
+ cmp r7, 0
+ bne _0805DD7E
+ movs r2, 0
+ cmp r2, 0
+ beq _0805DD7E
+_0805DD66:
+ ldr r3, [sp, 0x18]
+ ldrb r0, [r3]
+ cmp r0, 0
+ beq _0805DD7E
+ bl sub_804AA60
+ ldr r0, _0805DDD4
+ strb r4, [r0]
+ bl ResetRepeatTimers
+ bl ResetUnusedInputStruct
+_0805DD7E:
+ ldr r2, _0805DDC8
+ ldrh r0, [r2]
+ movs r5, 0x80
+ lsls r5, 2
+ adds r1, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DDA4
+ ldrh r1, [r2, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DDA4
+ bl sub_80532B4
+ bl ResetRepeatTimers
+ bl ResetUnusedInputStruct
+_0805DDA4:
+ movs r4, 0
+ ldr r0, _0805DDC8
+ ldrh r0, [r0]
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DDFA
+ ldr r1, _0805DDD8
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _0805DDC2
+ ldr r0, _0805DDDC
+ strh r4, [r0]
+_0805DDC2:
+ movs r3, 0x1
+ strb r3, [r1]
+ b _0805DDFE
+ .align 2, 0
+_0805DDC8: .4byte gRealInputs
+_0805DDCC: .4byte 0x00000707
+_0805DDD0: .4byte gUnknown_203B46C
+_0805DDD4: .4byte gUnknown_202F22D
+_0805DDD8: .4byte gUnknown_202F22C
+_0805DDDC: .4byte gUnknown_202F22E
+_0805DDE0:
+ movs r0, 0xB
+ bl sub_8044C50
+ adds r2, r4, 0x1
+ mov r0, r8
+ adds r0, 0x48
+ movs r1, 0
+ strb r2, [r0]
+ adds r0, 0x4
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ b _0805DE92
+_0805DDFA:
+ ldr r0, _0805DEF8
+ strb r4, [r0]
+_0805DDFE:
+ movs r3, 0
+ ldr r0, _0805DEFC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x9]
+ cmp r0, 0
+ bne _0805DE2C
+ ldr r2, _0805DF00
+ ldrh r0, [r2, 0x6]
+ movs r5, 0x80
+ lsls r5, 1
+ adds r1, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _0805DE2A
+ mov r0, r9
+ cmp r0, 0
+ bne _0805DE2A
+ ldrh r1, [r2, 0x2]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DE2C
+_0805DE2A:
+ movs r3, 0x1
+_0805DE2C:
+ cmp r3, 0
+ beq _0805DE54
+ mov r0, r10
+ bl sub_805E738
+ ldr r0, _0805DF04
+ movs r1, 0x1
+ strb r1, [r0]
+ mov r0, r8
+ adds r0, 0x46
+ ldrb r0, [r0]
+ ldr r1, [sp, 0x10]
+ adds r1, 0x33
+ strb r0, [r1]
+ ldr r1, [sp, 0x10]
+ adds r1, 0x34
+ movs r0, 0xFF
+ strb r0, [r1]
+ bl ResetRepeatTimers
+_0805DE54:
+ ldr r0, _0805DF00
+ ldr r1, [r0]
+ ldr r0, _0805DF08
+ ands r1, r0
+ cmp r1, r0
+ bne _0805DE62
+ movs r4, 0x1
+_0805DE62:
+ mov r0, sp
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805DE6C
+ movs r4, 0x1
+_0805DE6C:
+ cmp r4, 0
+ beq _0805DE9C
+ movs r4, 0
+ ldr r0, _0805DF0C
+ ldr r2, [r0]
+ movs r3, 0x10
+_0805DE78:
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DE8A
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _0805DDE0
+_0805DE8A:
+ adds r2, 0x4
+ adds r4, 0x1
+ cmp r4, 0x13
+ ble _0805DE78
+_0805DE92:
+ ldr r2, [sp, 0x1C]
+ ldrh r0, [r2]
+ cmp r0, 0
+ beq _0805DE9C
+ b _0805E1AE
+_0805DE9C:
+ ldr r5, _0805DF10
+ ldr r3, [r5]
+ ldr r1, _0805DF14
+ adds r0, r3, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0805DF82
+ ldr r0, _0805DEFC
+ ldr r2, [r0]
+ ldrb r0, [r2, 0x4]
+ cmp r0, 0x6
+ beq _0805DF82
+ ldr r0, _0805DF00
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DF82
+ ldrb r4, [r2, 0x4]
+ ldr r0, _0805DF18
+ movs r2, 0x1
+ strb r2, [r0]
+ ldr r5, _0805DF1C
+ adds r0, r3, r5
+ strb r2, [r0]
+ bl sub_8094C48
+ lsls r0, 24
+ cmp r0, 0
+ bne _0805DEDC
+ bl sub_8094C88
+_0805DEDC:
+ movs r0, 0x1
+ bl sub_8052210
+ bl sub_8040A84
+ movs r0, 0x1E
+ bl SetBGOBJEnableFlags
+ movs r0, 0xA
+ movs r1, 0x2F
+ bl sub_803E708
+ b _0805DF3A
+ .align 2, 0
+_0805DEF8: .4byte gUnknown_202F22C
+_0805DEFC: .4byte gUnknown_203B46C
+_0805DF00: .4byte gRealInputs
+_0805DF04: .4byte gUnknown_202F22D
+_0805DF08: .4byte 0x01000200
+_0805DF0C: .4byte gTeamInventory_203B460
+_0805DF10: .4byte gDungeonGlobalData
+_0805DF14: .4byte 0x0001820a
+_0805DF18: .4byte gUnknown_202EE00
+_0805DF1C: .4byte 0x00018214
+_0805DF20:
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DF3A
+ ldr r2, _0805DFA0
+ movs r1, 0
+ ldrb r0, [r2]
+ cmp r0, 0
+ bne _0805DF34
+ movs r1, 0x1
+_0805DF34:
+ strb r1, [r2]
+ bl sub_8040A84
+_0805DF3A:
+ movs r0, 0x2F
+ bl sub_803E46C
+ ldr r0, _0805DFA4
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ bne _0805DF54
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0805DF20
+_0805DF54:
+ ldr r1, _0805DFA8
+ ldr r0, [r1]
+ ldr r2, _0805DFAC
+ adds r0, r2
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, _0805DFB0
+ ldr r0, [r0]
+ strb r4, [r0, 0x4]
+ ldr r0, _0805DFA0
+ movs r3, 0x1
+ strb r3, [r0]
+ bl sub_8040A84
+ movs r0, 0
+ bl SetBGOBJEnableFlags
+ movs r0, 0x2F
+ bl sub_803E46C
+ movs r0, 0x2F
+ bl sub_803E46C
+_0805DF82:
+ ldr r5, _0805DFA8
+ ldr r0, [r5]
+ ldr r1, _0805DFB4
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805DFBC
+ ldr r0, _0805DFB8
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0805DFBC
+ ldr r0, _0805DFA4
+ ldrh r2, [r0, 0x2]
+ adds r1, r2, 0
+ b _0805DFCC
+ .align 2, 0
+_0805DFA0: .4byte gUnknown_202EE00
+_0805DFA4: .4byte gRealInputs
+_0805DFA8: .4byte gDungeonGlobalData
+_0805DFAC: .4byte 0x00018214
+_0805DFB0: .4byte gUnknown_203B46C
+_0805DFB4: .4byte 0x0000066d
+_0805DFB8: .4byte gUnknown_202F22C
+_0805DFBC:
+ ldr r3, _0805E05C
+ ldrh r1, [r3]
+ ldr r2, [sp, 0x18]
+ ldrb r0, [r2]
+ adds r2, r1, 0
+ cmp r0, 0
+ beq _0805DFCC
+ ldrh r2, [r3, 0x2]
+_0805DFCC:
+ movs r0, 0xF0
+ ands r1, r0
+ ands r2, r0
+ movs r5, 0x1
+ negs r5, r5
+ cmp r1, 0x50
+ bne _0805DFDC
+ movs r5, 0x3
+_0805DFDC:
+ cmp r1, 0x60
+ bne _0805DFE2
+ movs r5, 0x5
+_0805DFE2:
+ cmp r1, 0x90
+ bne _0805DFE8
+ movs r5, 0x1
+_0805DFE8:
+ cmp r1, 0xA0
+ bne _0805DFEE
+ movs r5, 0x7
+_0805DFEE:
+ cmp r2, 0x40
+ bne _0805DFF4
+ movs r5, 0x4
+_0805DFF4:
+ cmp r2, 0x80
+ bne _0805DFFA
+ movs r5, 0
+_0805DFFA:
+ cmp r2, 0x10
+ bne _0805E000
+ movs r5, 0x2
+_0805E000:
+ cmp r2, 0x20
+ bne _0805E006
+ movs r5, 0x6
+_0805E006:
+ cmp r5, 0
+ bge _0805E00C
+ b _0805E1A0
+_0805E00C:
+ ldr r0, _0805E060
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805E020
+ adds r0, r5, 0
+ movs r3, 0x1
+ ands r0, r3
+ cmp r0, 0
+ bne _0805E020
+ b _0805E1A0
+_0805E020:
+ mov r2, r8
+ adds r2, 0x46
+ ldrb r1, [r2]
+ eors r1, r5
+ negs r0, r1
+ orrs r0, r1
+ lsrs r7, r0, 31
+ movs r1, 0x7
+ adds r0, r5, 0
+ ands r0, r1
+ strb r0, [r2]
+ ldr r0, _0805E064
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805E068
+ ldr r0, [sp, 0x10]
+ adds r0, 0x33
+ strb r5, [r0]
+ mov r0, r10
+ bl sub_806CEBC
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r0, r10
+ adds r2, r5, 0
+ bl sub_806CDD4
+ b _0805E1A0
+ .align 2, 0
+_0805E05C: .4byte gRealInputs
+_0805E060: .4byte gUnknown_202F22C
+_0805E064: .4byte gUnknown_202F22D
+_0805E068:
+ movs r4, 0
+ movs r3, 0
+ mov r0, r10
+ movs r1, 0x1
+ str r3, [sp, 0x20]
+ bl sub_805EC4C
+ lsls r0, 24
+ ldr r3, [sp, 0x20]
+ cmp r0, 0
+ beq _0805E080
+ b _0805E1AE
+_0805E080:
+ mov r0, r8
+ adds r0, 0xB0
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _0805E094
+ ldr r0, _0805E090
+ b _0805E0BE
+ .align 2, 0
+_0805E090: .4byte gUnknown_80F8A84
+_0805E094:
+ cmp r0, 0x7
+ bne _0805E0A0
+ ldr r0, _0805E09C
+ b _0805E0BE
+ .align 2, 0
+_0805E09C: .4byte gUnknown_80F8A6C
+_0805E0A0:
+ cmp r0, 0x5
+ bne _0805E0AC
+ ldr r0, _0805E0A8
+ b _0805E0BE
+ .align 2, 0
+_0805E0A8: .4byte gUnknown_80F8AB0
+_0805E0AC:
+ cmp r0, 0x3
+ bne _0805E0B8
+ ldr r0, _0805E0B4
+ b _0805E0BE
+ .align 2, 0
+_0805E0B4: .4byte gUnknown_80F8ADC
+_0805E0B8:
+ cmp r0, 0x4
+ bne _0805E0C2
+ ldr r0, _0805E128
+_0805E0BE:
+ ldr r3, [r0]
+ movs r4, 0x1
+_0805E0C2:
+ mov r0, r10
+ adds r1, r5, 0
+ str r3, [sp, 0x20]
+ bl CanMoveInDirection
+ lsls r0, 24
+ ldr r3, [sp, 0x20]
+ cmp r0, 0
+ bne _0805E0D8
+ movs r0, 0x2
+ orrs r4, r0
+_0805E0D8:
+ cmp r7, 0
+ beq _0805E0F4
+ mov r0, r10
+ str r3, [sp, 0x20]
+ bl sub_806CEBC
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r0, r10
+ adds r2, r5, 0
+ bl sub_806CDD4
+ ldr r3, [sp, 0x20]
+_0805E0F4:
+ movs r7, 0x2
+ adds r0, r4, 0
+ ands r0, r7
+ cmp r0, 0
+ bne _0805E192
+ movs r5, 0x1
+ mov r9, r5
+ ands r5, r4
+ cmp r5, 0
+ beq _0805E134
+ cmp r3, 0
+ beq _0805E114
+ mov r0, r10
+ adds r1, r3, 0
+ bl SendMessage
+_0805E114:
+ movs r0, 0x1
+ bl sub_8044C50
+ ldr r1, _0805E12C
+ ldr r0, [r1]
+ ldr r2, _0805E130
+ adds r0, r2
+ mov r3, r9
+ strb r3, [r0]
+ b _0805E1AE
+ .align 2, 0
+_0805E128: .4byte gUnknown_80F8B0C
+_0805E12C: .4byte gDungeonGlobalData
+_0805E130: .4byte 0x00000673
+_0805E134:
+ movs r0, 0x2
+ bl sub_8044C50
+ ldr r0, _0805E17C
+ ldrh r1, [r0]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _0805E14C
+ movs r0, 0
+ cmp r0, 0
+ beq _0805E188
+_0805E14C:
+ movs r0, 0x9E
+ lsls r0, 1
+ add r0, r8
+ ldr r0, [r0]
+ bl RoundUpFixedPoint
+ cmp r0, 0
+ beq _0805E188
+ mov r1, r10
+ ldr r0, [r1, 0x70]
+ adds r0, 0xBC
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _0805E174
+ ldr r2, _0805E180
+ ldr r0, [r2]
+ ldr r3, _0805E184
+ adds r0, r3
+ mov r1, r9
+ strb r1, [r0]
+_0805E174:
+ mov r0, r8
+ adds r0, 0x48
+ strb r5, [r0]
+ b _0805E1AE
+ .align 2, 0
+_0805E17C: .4byte gRealInputs
+_0805E180: .4byte gDungeonGlobalData
+_0805E184: .4byte 0x0000066c
+_0805E188:
+ mov r0, r8
+ adds r0, 0x48
+ movs r2, 0x1
+ strb r2, [r0]
+ b _0805E1AE
+_0805E192:
+ movs r3, 0x1
+ ands r4, r3
+ cmp r4, 0
+ beq _0805E1A0
+ movs r0, 0x23
+ bl sub_803E724
+_0805E1A0:
+ movs r0, 0xF
+ bl sub_803E46C
+ ldr r5, [sp, 0x14]
+ cmp r5, 0
+ bne _0805E1AE
+ b _0805DB24
+_0805E1AE:
+ ldr r1, [sp, 0x18]
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _0805E1BA
+ bl sub_804AA60
+_0805E1BA:
+ ldr r4, [sp, 0x1C]
+ ldrh r0, [r4]
+ cmp r0, 0x2D
+ beq _0805E1C6
+ cmp r0, 0x13
+ bne _0805E1E0
+_0805E1C6:
+ mov r0, r10
+ bl sub_8067510
+ bl sub_8044B28
+ lsls r0, 24
+ cmp r0, 0
+ bne _0805E2B0
+ movs r0, 0
+ bl sub_8044C50
+ bl _0805D980
+_0805E1E0:
+ lsls r0, r6, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _0805E222
+ ldr r2, _0805E210
+ ldr r0, [r2]
+ ldr r3, _0805E214
+ adds r0, r3
+ strb r1, [r0]
+ ldrh r0, [r4]
+ cmp r0, 0
+ beq _0805E218
+ mov r0, r10
+ movs r1, 0
+ bl IsNotAttacking
+ lsls r0, 24
+ cmp r0, 0
+ bne _0805E2B0
+ movs r0, 0xF
+ bl sub_803E46C
+ b _0805E2B0
+ .align 2, 0
+_0805E210: .4byte gDungeonGlobalData
+_0805E214: .4byte 0x0000066d
+_0805E218:
+ movs r0, 0xF
+ bl sub_803E46C
+ bl _0805D980
+_0805E222:
+ movs r0, 0xF
+ bl sub_803E46C
+ bl sub_8047158
+ movs r2, 0
+ lsrs r0, r6, 8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0805E238
+ movs r2, 0x1
+_0805E238:
+ lsrs r1, r6, 16
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r2, 0
+ bl ShowFieldMenu
+ bl ResetRepeatTimers
+ bl ResetUnusedInputStruct
+ ldr r1, _0805E294
+ movs r0, 0
+ strb r0, [r1]
+ movs r0, 0
+ ldr r5, [sp, 0x18]
+ strb r0, [r5]
+ bl sub_804AA60
+ bl sub_8044B28
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _0805E2B0
+ ldrh r0, [r4]
+ cmp r0, 0
+ beq _0805E29C
+ cmp r0, 0x2B
+ bne _0805E27E
+ ldr r2, _0805E298
+ ldr r0, [r2]
+ movs r3, 0x1
+ strb r3, [r0, 0x4]
+ ldr r0, [r2]
+ strb r3, [r0, 0x3]
+_0805E27E:
+ ldr r5, [sp, 0x1C]
+ ldrh r0, [r5]
+ cmp r0, 0x2E
+ bne _0805E2B0
+ ldr r2, _0805E298
+ ldr r0, [r2]
+ movs r3, 0x1
+ strb r3, [r0, 0x4]
+ ldr r0, [r2]
+ strb r1, [r0, 0x3]
+ b _0805E2B0
+ .align 2, 0
+_0805E294: .4byte gUnknown_202F22D
+_0805E298: .4byte gDungeonGlobalData
+_0805E29C:
+ movs r0, 0xF
+ bl sub_803E46C
+ ldr r5, _0805E2C0
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ bne _0805E2B0
+ bl _0805D980
+_0805E2B0:
+ add sp, 0x24
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0805E2C0: .4byte gDungeonGlobalData
+ thumb_func_end sub_805D8C8
+
+ thumb_func_start sub_805E2C4
+sub_805E2C4:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x28
+ str r0, [sp, 0x10]
+ ldr r0, _0805E47C
+ ldr r1, [r0]
+ ldr r0, _0805E480
+ adds r0, r1, r0
+ str r0, [sp, 0x14]
+ ldr r0, _0805E484
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0805E2E6
+ b _0805E4C4
+_0805E2E6:
+ movs r1, 0
+ str r1, [sp, 0x18]
+ mov r7, sp
+ ldr r2, _0805E488
+ mov r10, r2
+_0805E2F0:
+ ldrh r0, [r7]
+ ldr r3, _0805E48C
+ adds r1, r3, 0
+ ands r1, r0
+ ldr r0, [sp]
+ mov r4, r10
+ ands r0, r4
+ orrs r0, r1
+ str r0, [sp]
+ ldrh r1, [r7]
+ mov r2, r10
+ ands r2, r0
+ orrs r2, r1
+ str r2, [sp]
+ ldrh r0, [r7]
+ ldr r5, _0805E490
+ adds r1, r5, 0
+ ands r1, r0
+ mov r0, r10
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp]
+ ldrh r2, [r7]
+ mov r1, r10
+ ands r1, r0
+ orrs r1, r2
+ str r1, [sp]
+ ldrh r2, [r7]
+ ldr r0, _0805E494
+ ands r0, r2
+ mov r3, r10
+ ands r3, r1
+ orrs r3, r0
+ str r3, [sp]
+ ldrh r1, [r7]
+ movs r0, 0x80
+ lsls r0, 3
+ orrs r0, r1
+ movs r6, 0
+ orrs r0, r6
+ mov r2, r10
+ ands r2, r3
+ orrs r2, r0
+ str r2, [sp]
+ ldrh r0, [r7]
+ ldr r3, _0805E498
+ adds r1, r3, 0
+ ands r1, r0
+ mov r0, r10
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp]
+ ldrh r1, [r7]
+ mov r2, r10
+ ands r2, r0
+ orrs r2, r1
+ str r2, [sp]
+ ldrh r0, [r7]
+ ldr r4, _0805E49C
+ adds r1, r4, 0
+ ands r1, r0
+ mov r0, r10
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp]
+ ldrh r1, [r7]
+ mov r2, r10
+ ands r2, r0
+ orrs r2, r1
+ str r2, [sp]
+ ldrh r1, [r7]
+ ldr r0, _0805E4A0
+ ands r0, r1
+ mov r1, r10
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ ldrh r2, [r7]
+ mov r0, r10
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp]
+ ldr r1, _0805E4A4
+ ldr r5, [sp, 0x18]
+ lsls r0, r5, 3
+ adds r0, r1
+ mov r12, r0
+ ldrb r1, [r0, 0x4]
+ negs r0, r1
+ orrs r0, r1
+ asrs r1, r0, 31
+ movs r0, 0x8
+ ands r1, r0
+ mov r6, r12
+ ldrb r0, [r6, 0x5]
+ cmp r0, 0
+ beq _0805E3B4
+ adds r1, 0x10
+_0805E3B4:
+ movs r0, 0x1F
+ ands r1, r0
+ lsls r1, 9
+ ldrh r3, [r7, 0x2]
+ ldr r2, _0805E4A8
+ adds r0, r2, 0
+ ands r3, r0
+ orrs r3, r1
+ ldr r4, _0805E4A0
+ ands r3, r4
+ strh r3, [r7, 0x2]
+ ldr r2, _0805E4AC
+ ldrh r0, [r7, 0x4]
+ movs r5, 0xFC
+ lsls r5, 8
+ adds r1, r5, 0
+ ands r0, r1
+ orrs r0, r2
+ movs r6, 0
+ orrs r0, r6
+ movs r1, 0x80
+ lsls r1, 4
+ ldr r2, _0805E494
+ ands r0, r2
+ orrs r0, r1
+ orrs r0, r6
+ ldr r4, _0805E4B0
+ mov r9, r4
+ ands r0, r4
+ strh r0, [r7, 0x4]
+ ldrh r4, [r7, 0x6]
+ ldr r5, _0805E4B4
+ adds r0, r5, 0
+ ands r4, r0
+ ldr r6, _0805E4B8
+ adds r0, r6, 0
+ ands r4, r0
+ strh r4, [r7, 0x6]
+ mov r0, r12
+ movs r1, 0
+ ldrsh r5, [r0, r1]
+ lsls r2, r5, 2
+ adds r2, r5
+ lsls r2, 1
+ ldr r6, _0805E4BC
+ mov r8, r6
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ movs r6, 0x7
+ ands r0, r6
+ muls r0, r5
+ adds r0, r2
+ adds r0, 0x74
+ ldr r1, _0805E4C0
+ ands r0, r1
+ movs r2, 0xFE
+ lsls r2, 8
+ adds r1, r2, 0
+ ands r3, r1
+ orrs r3, r0
+ strh r3, [r7, 0x2]
+ mov r5, r12
+ movs r0, 0x2
+ ldrsh r3, [r5, r0]
+ lsls r2, r3, 2
+ adds r2, r3
+ lsls r2, 1
+ mov r1, r8
+ movs r5, 0
+ ldrsh r0, [r1, r5]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ ands r0, r6
+ muls r0, r3
+ adds r0, r2
+ adds r0, 0x52
+ mov r6, r9
+ ands r0, r6
+ lsls r0, 4
+ movs r1, 0xF
+ ands r4, r1
+ orrs r4, r0
+ strh r4, [r7, 0x6]
+ mov r0, sp
+ adds r1, 0xF1
+ movs r2, 0
+ movs r3, 0
+ bl AddSprite
+ ldr r2, [sp, 0x18]
+ adds r2, 0x1
+ str r2, [sp, 0x18]
+ cmp r2, 0x3
+ bgt _0805E47A
+ b _0805E2F0
+_0805E47A:
+ b _0805E6AC
+ .align 2, 0
+_0805E47C: .4byte gDungeonGlobalData
+_0805E480: .4byte 0x000181e8
+_0805E484: .4byte gUnknown_202F22C
+_0805E488: .4byte 0xffff0000
+_0805E48C: .4byte 0x0000feff
+_0805E490: .4byte 0x0000fdff
+_0805E494: .4byte 0x0000f3ff
+_0805E498: .4byte 0x0000efff
+_0805E49C: .4byte 0x0000dfff
+_0805E4A0: .4byte 0x00003fff
+_0805E4A4: .4byte gUnknown_8106AC8
+_0805E4A8: .4byte 0x0000c1ff
+_0805E4AC: .4byte 0x00000213
+_0805E4B0: .4byte 0x00000fff
+_0805E4B4: .4byte 0x0000fffe
+_0805E4B8: .4byte 0x0000fffd
+_0805E4BC: .4byte gUnknown_202F22E
+_0805E4C0: .4byte 0x000001ff
+_0805E4C4:
+ ldr r3, _0805E6E4
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0805E4D0
+ b _0805E6AC
+_0805E4D0:
+ ldr r4, _0805E6E8
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ str r0, [sp, 0x1C]
+ cmp r0, 0x7
+ bls _0805E4DE
+ b _0805E6AC
+_0805E4DE:
+ ldr r0, _0805E6EC
+ ldrb r0, [r0]
+ movs r7, 0x1
+ cmp r0, 0
+ beq _0805E4F2
+ ldr r0, _0805E6F0
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805E4F2
+ movs r7, 0x3
+_0805E4F2:
+ ldr r5, _0805E6F4
+ mov r12, r5
+ ldr r6, [sp, 0x1C]
+ lsls r5, r6, 1
+ adds r3, r5, r6
+ lsls r3, 2
+ add r3, r12
+ movs r0, 0
+ ldrsh r4, [r3, r0]
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 1
+ ldr r0, _0805E6F8
+ movs r6, 0
+ ldrsh r2, [r0, r6]
+ lsrs r0, r2, 31
+ adds r2, r0
+ asrs r2, 1
+ movs r0, 0x7
+ ands r2, r0
+ adds r0, r4, 0
+ muls r0, r2
+ adds r0, r1
+ adds r0, 0x74
+ str r0, [sp, 0x20]
+ movs r1, 0x2
+ ldrsh r0, [r3, r1]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 1
+ muls r0, r2
+ adds r0, r1
+ adds r0, 0x52
+ mov r10, r0
+ str r5, [sp, 0x24]
+ cmp r7, 0
+ bne _0805E53E
+ b _0805E6AC
+_0805E53E:
+ add r6, sp, 0x8
+ ldr r2, _0805E6FC
+ mov r8, r2
+ mov r9, r7
+_0805E546:
+ ldrh r0, [r6]
+ ldr r3, _0805E700
+ adds r1, r3, 0
+ ands r1, r0
+ ldr r0, [sp, 0x8]
+ mov r4, r8
+ ands r0, r4
+ orrs r0, r1
+ str r0, [sp, 0x8]
+ ldrh r1, [r6]
+ mov r2, r8
+ ands r2, r0
+ orrs r2, r1
+ str r2, [sp, 0x8]
+ ldrh r0, [r6]
+ ldr r5, _0805E704
+ adds r1, r5, 0
+ ands r1, r0
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp, 0x8]
+ ldrh r2, [r6]
+ mov r1, r8
+ ands r1, r0
+ orrs r1, r2
+ str r1, [sp, 0x8]
+ ldrh r2, [r6]
+ ldr r0, _0805E708
+ ands r0, r2
+ mov r3, r8
+ ands r3, r1
+ orrs r3, r0
+ str r3, [sp, 0x8]
+ ldrh r1, [r6]
+ movs r0, 0x80
+ lsls r0, 3
+ orrs r0, r1
+ movs r1, 0
+ orrs r0, r1
+ mov r2, r8
+ ands r2, r3
+ orrs r2, r0
+ str r2, [sp, 0x8]
+ ldrh r0, [r6]
+ ldr r3, _0805E70C
+ adds r1, r3, 0
+ ands r1, r0
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp, 0x8]
+ ldrh r1, [r6]
+ mov r2, r8
+ ands r2, r0
+ orrs r2, r1
+ str r2, [sp, 0x8]
+ ldrh r0, [r6]
+ ldr r4, _0805E710
+ adds r1, r4, 0
+ ands r1, r0
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp, 0x8]
+ ldrh r1, [r6]
+ mov r2, r8
+ ands r2, r0
+ orrs r2, r1
+ str r2, [sp, 0x8]
+ ldrh r1, [r6]
+ ldr r0, _0805E714
+ ands r0, r1
+ mov r1, r8
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp, 0x8]
+ ldrh r2, [r6]
+ mov r0, r8
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp, 0x8]
+ ldr r5, [sp, 0x24]
+ ldr r1, [sp, 0x1C]
+ adds r0, r5, r1
+ lsls r2, r0, 2
+ ldr r3, _0805E6F4
+ adds r7, r2, r3
+ ldrb r1, [r7, 0x8]
+ negs r0, r1
+ orrs r0, r1
+ asrs r1, r0, 31
+ movs r0, 0x8
+ ands r1, r0
+ ldrb r0, [r7, 0x9]
+ cmp r0, 0
+ beq _0805E60A
+ adds r1, 0x10
+_0805E60A:
+ movs r0, 0x1F
+ ands r1, r0
+ lsls r1, 9
+ ldrh r3, [r6, 0x2]
+ ldr r4, _0805E718
+ adds r0, r4, 0
+ ands r3, r0
+ orrs r3, r1
+ ldr r5, _0805E714
+ ands r3, r5
+ strh r3, [r6, 0x2]
+ ldr r1, _0805E71C
+ adds r0, r2, r1
+ ldr r2, [r0]
+ ldr r0, _0805E720
+ ands r2, r0
+ ldrh r0, [r6, 0x4]
+ movs r4, 0xFC
+ lsls r4, 8
+ adds r1, r4, 0
+ ands r0, r1
+ orrs r0, r2
+ movs r1, 0x80
+ lsls r1, 4
+ ldr r5, _0805E708
+ ands r0, r5
+ orrs r0, r1
+ movs r1, 0
+ orrs r0, r1
+ movs r2, 0xF
+ mov r12, r2
+ ldr r4, _0805E724
+ ands r0, r4
+ strh r0, [r6, 0x4]
+ ldrh r1, [r6, 0x6]
+ ldr r5, _0805E728
+ adds r0, r5, 0
+ ands r1, r0
+ ldr r2, _0805E72C
+ adds r0, r2, 0
+ ands r1, r0
+ ldr r0, _0805E730
+ ldr r5, [sp, 0x20]
+ ands r0, r5
+ movs r5, 0xFE
+ lsls r5, 8
+ adds r2, r5, 0
+ ands r3, r2
+ orrs r3, r0
+ strh r3, [r6, 0x2]
+ mov r0, r10
+ ands r0, r4
+ lsls r0, 4
+ mov r2, r12
+ ands r1, r2
+ orrs r1, r0
+ strh r1, [r6, 0x6]
+ adds r0, r6, 0
+ movs r1, 0x80
+ lsls r1, 1
+ movs r2, 0
+ movs r3, 0
+ bl AddSprite
+ movs r3, 0
+ ldrsh r0, [r7, r3]
+ lsls r0, 2
+ ldr r4, [sp, 0x20]
+ adds r4, r0
+ str r4, [sp, 0x20]
+ movs r5, 0x2
+ ldrsh r0, [r7, r5]
+ lsls r0, 2
+ add r10, r0
+ movs r0, 0x1
+ negs r0, r0
+ add r9, r0
+ mov r1, r9
+ cmp r1, 0
+ beq _0805E6AC
+ b _0805E546
+_0805E6AC:
+ ldr r4, _0805E734
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _0805E6D4
+ ldr r2, [sp, 0x14]
+ adds r2, 0x34
+ ldr r3, [sp, 0x14]
+ adds r3, 0x33
+ ldrb r1, [r3]
+ ldrb r0, [r2]
+ cmp r0, r1
+ beq _0805E6D4
+ strb r1, [r2]
+ ldr r0, [sp, 0x10]
+ adds r0, 0x4
+ ldrb r1, [r3]
+ ldrb r3, [r4]
+ movs r2, 0
+ bl sub_804A728
+_0805E6D4:
+ add sp, 0x28
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0805E6E4: .4byte 0x0001821a
+_0805E6E8: .4byte 0x0001821b
+_0805E6EC: .4byte gUnknown_202F231
+_0805E6F0: .4byte gUnknown_202F230
+_0805E6F4: .4byte gUnknown_8106AE8
+_0805E6F8: .4byte gUnknown_202F22E
+_0805E6FC: .4byte 0xffff0000
+_0805E700: .4byte 0x0000feff
+_0805E704: .4byte 0x0000fdff
+_0805E708: .4byte 0x0000f3ff
+_0805E70C: .4byte 0x0000efff
+_0805E710: .4byte 0x0000dfff
+_0805E714: .4byte 0x00003fff
+_0805E718: .4byte 0x0000c1ff
+_0805E71C: .4byte gUnknown_8106AEC
+_0805E720: .4byte 0x000003ff
+_0805E724: .4byte 0x00000fff
+_0805E728: .4byte 0x0000fffe
+_0805E72C: .4byte 0x0000fffd
+_0805E730: .4byte 0x000001ff
+_0805E734: .4byte gUnknown_202F22D
+ thumb_func_end sub_805E2C4
+
+ thumb_func_start sub_805E738
+sub_805E738:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r6, r0, 0
+ ldr r1, [r6, 0x70]
+ adds r0, r1, 0
+ adds r0, 0xE8
+ ldrb r0, [r0]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _0805E7F6
+ movs r0, 0
+ mov r8, r0
+ adds r1, 0x46
+ mov r10, r1
+_0805E75E:
+ movs r1, 0
+ mov r9, r1
+ mov r3, r10
+ ldrb r5, [r3]
+ adds r5, 0x1
+ movs r7, 0x1
+_0805E76A:
+ movs r0, 0x7
+ ands r5, r0
+ movs r1, 0x4
+ ldrsh r0, [r6, r1]
+ ldr r1, _0805E7E8
+ lsls r2, r5, 2
+ adds r2, r1
+ movs r3, 0
+ ldrsh r1, [r2, r3]
+ adds r0, r1
+ movs r3, 0x6
+ ldrsh r1, [r6, r3]
+ movs r3, 0x2
+ ldrsh r2, [r2, r3]
+ adds r1, r2
+ bl GetMapTile_1
+ adds r4, r0, 0
+ ldr r0, [r4, 0x10]
+ cmp r0, 0
+ beq _0805E7B8
+ bl GetEntityType
+ cmp r0, 0x1
+ bne _0805E7B8
+ ldr r1, [r4, 0x10]
+ ldr r4, [r1, 0x70]
+ adds r0, r6, 0
+ bl CanSee
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805E7B8
+ mov r0, r8
+ cmp r0, 0
+ bne _0805E7C6
+ ldrb r0, [r4, 0x6]
+ cmp r0, 0
+ bne _0805E7C6
+_0805E7B8:
+ adds r7, 0x1
+ adds r5, 0x1
+ cmp r7, 0x7
+ ble _0805E76A
+ mov r1, r9
+ cmp r1, 0
+ beq _0805E7EC
+_0805E7C6:
+ ldr r1, [r6, 0x70]
+ movs r2, 0x7
+ adds r0, r5, 0
+ ands r0, r2
+ adds r1, 0x46
+ strb r0, [r1]
+ adds r0, r6, 0
+ bl sub_806CEBC
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r6, 0
+ adds r2, r5, 0
+ bl sub_806CDD4
+ b _0805E7F6
+ .align 2, 0
+_0805E7E8: .4byte gAdjacentTileOffsets
+_0805E7EC:
+ movs r3, 0x1
+ add r8, r3
+ mov r0, r8
+ cmp r0, 0
+ ble _0805E75E
+_0805E7F6:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_805E738
+
+ thumb_func_start sub_805E804
+sub_805E804:
+ push {r4,r5,lr}
+ ldr r2, _0805E864
+ ldr r1, [r2]
+ ldr r5, _0805E868
+ adds r3, r1, r5
+ ldr r4, _0805E86C
+ adds r1, r4
+ ldrb r0, [r3]
+ ldrb r1, [r1]
+ orrs r0, r1
+ movs r1, 0
+ strb r0, [r3]
+ ldr r0, [r2]
+ adds r0, r4
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805E85C
+ ldr r0, _0805E870
+ ldrh r1, [r0]
+ movs r2, 0x80
+ lsls r2, 1
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0805E85C
+ adds r4, r2, 0
+_0805E83E:
+ movs r0, 0x54
+ bl sub_803E46C
+ ldr r0, _0805E864
+ ldr r0, [r0]
+ ldr r1, _0805E868
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805E85C
+ ldr r0, _0805E870
+ ldrh r0, [r0]
+ ands r0, r4
+ cmp r0, 0
+ bne _0805E83E
+_0805E85C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0805E864: .4byte gDungeonGlobalData
+_0805E868: .4byte 0x0000066d
+_0805E86C: .4byte 0x0000066c
+_0805E870: .4byte gRealInputs
+ thumb_func_end sub_805E804
+
+ thumb_func_start sub_805E874
+sub_805E874:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x24
+ ldr r0, _0805E90C
+ ldr r4, [r0]
+ bl GetLeaderEntity
+ mov r9, r0
+ ldr r0, [r0, 0x70]
+ adds r0, 0x46
+ ldrb r0, [r0]
+ str r0, [sp, 0x18]
+ mov r0, r9
+ movs r1, 0x4
+ ldrsh r0, [r0, r1]
+ mov r10, r0
+ mov r2, r9
+ movs r3, 0x6
+ ldrsh r2, [r2, r3]
+ str r2, [sp, 0x1C]
+ adds r1, r2, 0
+ bl GetMapTile_1
+ adds r5, r0, 0
+ ldr r1, _0805E910
+ ldr r2, [sp, 0x18]
+ lsls r0, r2, 2
+ adds r0, r1
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ mov r2, r10
+ adds r7, r2, r1
+ movs r3, 0x2
+ ldrsh r0, [r0, r3]
+ ldr r1, [sp, 0x1C]
+ adds r6, r1, r0
+ ldr r2, _0805E914
+ adds r4, r2
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _0805E906
+ ldr r0, [r5, 0x14]
+ cmp r0, 0
+ bne _0805E906
+ mov r0, r9
+ mov r1, r10
+ ldr r2, [sp, 0x1C]
+ bl sub_805EC2C
+ lsls r0, 24
+ cmp r0, 0
+ bne _0805E906
+ mov r0, r9
+ ldr r1, [sp, 0x18]
+ bl sub_8070F14
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805E906
+ ldrb r3, [r5, 0x9]
+ str r3, [sp, 0x20]
+ cmp r3, 0xFF
+ bne _0805E918
+ adds r0, r7, 0
+ adds r1, r6, 0
+ bl GetMapTile_1
+ ldrb r0, [r0, 0x9]
+ cmp r0, 0xFF
+ beq _0805E922
+_0805E906:
+ movs r0, 0
+ b _0805EC1A
+ .align 2, 0
+_0805E90C: .4byte gDungeonGlobalData
+_0805E910: .4byte gAdjacentTileOffsets
+_0805E914: .4byte 0x0000066c
+_0805E918:
+ ldrh r1, [r5]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _0805E906
+_0805E922:
+ movs r4, 0x1
+ negs r4, r4
+ ldr r7, _0805EA54
+ movs r5, 0x80
+ lsls r5, 2
+ adds r6, r5, 0
+_0805E92E:
+ ldr r0, [sp, 0x18]
+ adds r1, r0, r4
+ movs r5, 0x7
+ ands r1, r5
+ lsls r1, 2
+ adds r1, r7
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ add r0, r10
+ movs r3, 0x2
+ ldrsh r1, [r1, r3]
+ ldr r2, [sp, 0x1C]
+ adds r1, r2, r1
+ bl GetMapTile_1
+ adds r1, r0, 0
+ ldr r0, [r1, 0x10]
+ cmp r0, 0
+ bne _0805E906
+ ldrh r0, [r1]
+ ands r0, r6
+ cmp r0, 0
+ bne _0805E906
+ adds r4, 0x1
+ cmp r4, 0x1
+ ble _0805E92E
+ ldr r4, _0805EA54
+ ldr r3, [sp, 0x18]
+ adds r3, 0x3
+ ands r3, r5
+ lsls r3, 2
+ adds r3, r4
+ movs r1, 0
+ ldrsh r0, [r3, r1]
+ add r0, r10
+ str r0, [sp]
+ ldr r2, [sp, 0x18]
+ adds r2, 0x4
+ ands r2, r5
+ lsls r2, 2
+ adds r2, r4
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ add r0, r10
+ str r0, [sp, 0x4]
+ ldr r1, [sp, 0x18]
+ adds r1, 0x5
+ ands r1, r5
+ lsls r1, 2
+ adds r1, r4
+ movs r4, 0
+ ldrsh r0, [r1, r4]
+ add r0, r10
+ str r0, [sp, 0x8]
+ add r4, sp, 0xC
+ movs r5, 0x2
+ ldrsh r0, [r3, r5]
+ ldr r3, [sp, 0x1C]
+ adds r0, r3, r0
+ str r0, [sp, 0xC]
+ movs r5, 0x2
+ ldrsh r0, [r2, r5]
+ adds r0, r3, r0
+ str r0, [r4, 0x4]
+ movs r2, 0x2
+ ldrsh r0, [r1, r2]
+ adds r0, r3, r0
+ str r0, [r4, 0x8]
+ movs r3, 0x1
+ negs r3, r3
+ mov r8, r3
+_0805E9BC:
+ movs r4, 0x1
+ negs r4, r4
+ mov r7, r10
+ add r7, r8
+ ldr r6, [sp, 0x1C]
+ subs r6, 0x1
+_0805E9C8:
+ adds r0, r7, 0
+ adds r1, r6, 0
+ bl GetMapTile_1
+ adds r5, r0, 0
+ ldr r0, [r5, 0x14]
+ cmp r0, 0
+ beq _0805EA14
+ movs r2, 0
+ ldr r0, [sp]
+ cmp r7, r0
+ bne _0805E9E6
+ ldr r0, [sp, 0xC]
+ cmp r6, r0
+ beq _0805EA04
+_0805E9E6:
+ adds r2, 0x1
+ cmp r2, 0x2
+ bgt _0805EA04
+ lsls r1, r2, 2
+ mov r3, sp
+ adds r0, r3, r1
+ ldr r0, [r0]
+ cmp r7, r0
+ bne _0805E9E6
+ mov r0, sp
+ adds r0, r1
+ adds r0, 0xC
+ ldr r0, [r0]
+ cmp r6, r0
+ bne _0805E9E6
+_0805EA04:
+ cmp r2, 0x3
+ bne _0805EA14
+ ldr r0, [r5, 0x14]
+ bl GetEntityType
+ cmp r0, 0x3
+ bne _0805EA14
+ b _0805E906
+_0805EA14:
+ movs r0, 0x1
+ ldr r1, [sp, 0x18]
+ ands r0, r1
+ cmp r0, 0
+ beq _0805EA60
+ ldr r0, [r5, 0x14]
+ cmp r0, 0
+ beq _0805EA94
+ bl GetEntityType
+ cmp r0, 0x2
+ bne _0805EA94
+ ldr r0, [r5, 0x14]
+ bl GetEntityType
+ cmp r0, 0x2
+ bne _0805EA94
+ ldr r0, [r5, 0x14]
+ adds r0, 0x20
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805EA42
+ b _0805E906
+_0805EA42:
+ ldr r0, _0805EA58
+ ldr r0, [r0]
+ ldr r2, _0805EA5C
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805EA94
+ b _0805E906
+ .align 2, 0
+_0805EA54: .4byte gAdjacentTileOffsets
+_0805EA58: .4byte gDungeonGlobalData
+_0805EA5C: .4byte 0x0001820f
+_0805EA60:
+ mov r3, r8
+ cmp r3, 0
+ beq _0805EA6A
+ cmp r4, 0
+ bne _0805EA94
+_0805EA6A:
+ ldr r0, [r5, 0x14]
+ cmp r0, 0
+ beq _0805EA94
+ bl GetEntityType
+ cmp r0, 0x2
+ bne _0805EA94
+ ldr r0, [r5, 0x14]
+ adds r0, 0x20
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805EA84
+ b _0805E906
+_0805EA84:
+ ldr r0, _0805EAA0
+ ldr r0, [r0]
+ ldr r1, _0805EAA4
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805EA94
+ b _0805E906
+_0805EA94:
+ mov r2, r8
+ cmp r2, 0
+ beq _0805EAA8
+ cmp r4, 0
+ bne _0805EAD6
+ b _0805EAAC
+ .align 2, 0
+_0805EAA0: .4byte gDungeonGlobalData
+_0805EAA4: .4byte 0x0001820f
+_0805EAA8:
+ cmp r4, 0
+ beq _0805EAD6
+_0805EAAC:
+ ldr r0, [sp, 0x4]
+ cmp r0, r7
+ bne _0805EAB8
+ ldr r0, [sp, 0x10]
+ cmp r0, r6
+ beq _0805EAD6
+_0805EAB8:
+ mov r0, r9
+ adds r1, r7, 0
+ adds r2, r6, 0
+ bl sub_805EC2C
+ lsls r0, 24
+ cmp r0, 0
+ bne _0805EAD6
+ ldr r3, [sp, 0x20]
+ cmp r3, 0xFF
+ beq _0805EAD6
+ ldrb r5, [r5, 0x9]
+ cmp r3, r5
+ beq _0805EAD6
+ b _0805E906
+_0805EAD6:
+ adds r6, 0x1
+ adds r4, 0x1
+ cmp r4, 0x1
+ bgt _0805EAE0
+ b _0805E9C8
+_0805EAE0:
+ movs r4, 0x1
+ add r8, r4
+ mov r5, r8
+ cmp r5, 0x1
+ bgt _0805EAEC
+ b _0805E9BC
+_0805EAEC:
+ movs r0, 0x1
+ ldr r1, [sp, 0x18]
+ ands r0, r1
+ cmp r0, 0
+ beq _0805EAF8
+ b _0805EC18
+_0805EAF8:
+ cmp r1, 0
+ beq _0805EB00
+ cmp r1, 0x4
+ bne _0805EB8C
+_0805EB00:
+ mov r4, r10
+ subs r4, 0x1
+ ldr r6, [sp, 0x1C]
+ subs r6, 0x1
+ mov r0, r9
+ adds r1, r4, 0
+ adds r2, r6, 0
+ bl sub_805EC2C
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ mov r0, r9
+ adds r1, r4, 0
+ ldr r2, [sp, 0x1C]
+ bl sub_805EC2C
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r5, [sp, 0x1C]
+ adds r5, 0x1
+ mov r0, r9
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_805EC2C
+ lsls r0, 24
+ lsrs r0, 24
+ adds r2, r6, 0
+ cmp r7, 0
+ bne _0805EB4C
+ mov r3, r8
+ cmp r3, 0
+ beq _0805EB46
+ b _0805E906
+_0805EB46:
+ cmp r7, r0
+ beq _0805EB4C
+ b _0805E906
+_0805EB4C:
+ mov r4, r10
+ adds r4, 0x1
+ mov r0, r9
+ adds r1, r4, 0
+ bl sub_805EC2C
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ mov r0, r9
+ adds r1, r4, 0
+ ldr r2, [sp, 0x1C]
+ bl sub_805EC2C
+ lsls r0, 24
+ lsrs r7, r0, 24
+ mov r0, r9
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_805EC2C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r7, 0
+ bne _0805EC18
+ mov r4, r8
+ cmp r4, 0
+ beq _0805EB86
+ b _0805E906
+_0805EB86:
+ cmp r7, r0
+ beq _0805EC18
+ b _0805E906
+_0805EB8C:
+ mov r6, r10
+ subs r6, 0x1
+ ldr r4, [sp, 0x1C]
+ subs r4, 0x1
+ mov r0, r9
+ adds r1, r6, 0
+ adds r2, r4, 0
+ bl sub_805EC2C
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ mov r0, r9
+ mov r1, r10
+ adds r2, r4, 0
+ bl sub_805EC2C
+ lsls r0, 24
+ lsrs r7, r0, 24
+ mov r5, r10
+ adds r5, 0x1
+ mov r0, r9
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl sub_805EC2C
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r6, 0
+ cmp r7, 0
+ bne _0805EBD8
+ mov r2, r8
+ cmp r2, 0
+ beq _0805EBD2
+ b _0805E906
+_0805EBD2:
+ cmp r7, r0
+ beq _0805EBD8
+ b _0805E906
+_0805EBD8:
+ ldr r4, [sp, 0x1C]
+ adds r4, 0x1
+ mov r0, r9
+ adds r2, r4, 0
+ bl sub_805EC2C
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ mov r0, r9
+ mov r1, r10
+ adds r2, r4, 0
+ bl sub_805EC2C
+ lsls r0, 24
+ lsrs r7, r0, 24
+ mov r0, r9
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl sub_805EC2C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r7, 0
+ bne _0805EC18
+ mov r3, r8
+ cmp r3, 0
+ beq _0805EC12
+ b _0805E906
+_0805EC12:
+ cmp r7, r0
+ beq _0805EC18
+ b _0805E906
+_0805EC18:
+ movs r0, 0x1
+_0805EC1A:
+ add sp, 0x24
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_805E874
+
+ thumb_func_start sub_805EC2C
+sub_805EC2C:
+ push {lr}
+ sub sp, 0x4
+ lsls r1, 16
+ lsls r2, 16
+ lsrs r1, 16
+ orrs r1, r2
+ str r1, [sp]
+ mov r1, sp
+ bl sub_8070564
+ lsls r0, 24
+ lsrs r0, 24
+ add sp, 0x4
+ pop {r1}
+ bx r1
+ thumb_func_end sub_805EC2C
+
+ thumb_func_start sub_805EC4C
+sub_805EC4C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r5, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r10, r1
+ ldr r7, [r5, 0x70]
+ ldr r1, _0805ECC8
+ adds r0, r7, 0
+ adds r0, 0x46
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r0]
+ ldrh r3, [r5, 0x4]
+ adds r1, r3
+ lsls r1, 16
+ ldrh r0, [r0, 0x2]
+ ldrh r3, [r5, 0x6]
+ adds r0, r3
+ lsls r0, 16
+ lsrs r2, r1, 16
+ orrs r2, r0
+ lsls r0, r2, 16
+ asrs r0, 16
+ asrs r1, r2, 16
+ bl GetMapTile_1
+ ldr r0, [r0, 0x10]
+ mov r8, r0
+ cmp r0, 0
+ bne _0805EC94
+ b _0805ED96
+_0805EC94:
+ mov r0, r8
+ bl GetEntityType
+ cmp r0, 0x1
+ bne _0805ED96
+ mov r0, r8
+ ldr r6, [r0, 0x70]
+ ldrb r0, [r6, 0x6]
+ cmp r0, 0
+ beq _0805ECDC
+ ldrb r0, [r6, 0x8]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _0805ECDC
+ adds r0, r6, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x4A
+ beq _0805ECC2
+ cmp r0, 0x47
+ bne _0805ECCC
+_0805ECC2:
+ movs r0, 0x1
+ b _0805ECCE
+ .align 2, 0
+_0805ECC8: .4byte gAdjacentTileOffsets
+_0805ECCC:
+ movs r0, 0
+_0805ECCE:
+ cmp r0, 0
+ bne _0805ECDC
+ adds r0, r6, 0
+ adds r0, 0xA4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0805ED96
+_0805ECDC:
+ adds r0, r7, 0
+ adds r0, 0xB0
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _0805ED96
+ cmp r0, 0x1
+ beq _0805ED96
+ cmp r0, 0x7
+ beq _0805ED96
+ cmp r0, 0x5
+ beq _0805ED96
+ cmp r0, 0x3
+ beq _0805ED96
+ cmp r0, 0x4
+ beq _0805ED96
+ adds r0, r6, 0
+ adds r0, 0xB0
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _0805ED96
+ cmp r0, 0x1
+ beq _0805ED96
+ cmp r0, 0x7
+ beq _0805ED96
+ cmp r0, 0x5
+ beq _0805ED96
+ cmp r0, 0x3
+ beq _0805ED96
+ cmp r0, 0x4
+ beq _0805ED96
+ adds r0, r7, 0
+ adds r0, 0xBC
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _0805ED96
+ adds r0, r6, 0
+ adds r0, 0xBC
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _0805ED96
+ adds r0, r6, 0
+ adds r0, 0xA8
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805ED3E
+ cmp r0, 0x2
+ beq _0805ED3E
+ cmp r0, 0x4
+ bne _0805ED96
+_0805ED3E:
+ adds r0, r7, 0
+ adds r0, 0xA8
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805ED50
+ cmp r0, 0x2
+ beq _0805ED50
+ cmp r0, 0x4
+ bne _0805ED96
+_0805ED50:
+ mov r0, r8
+ movs r1, 0
+ bl IsCharging
+ lsls r0, 24
+ cmp r0, 0
+ bne _0805ED96
+ adds r4, r7, 0
+ adds r4, 0x46
+ ldrb r1, [r4]
+ adds r0, r5, 0
+ bl sub_8070F80
+ lsls r0, 24
+ mov r9, r4
+ cmp r0, 0
+ beq _0805ED96
+ mov r1, r10
+ cmp r1, 0
+ beq _0805EDA0
+ adds r1, r5, 0x4
+ mov r0, r8
+ bl sub_807049C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805EDA0
+ ldr r0, _0805ED9C
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0
+ bl sub_8052B8C
+ cmp r0, 0
+ bne _0805EDA0
+_0805ED96:
+ movs r0, 0
+ b _0805EE1E
+ .align 2, 0
+_0805ED9C: .4byte gUnknown_8100208
+_0805EDA0:
+ adds r0, r7, 0
+ adds r0, 0x44
+ movs r1, 0x2
+ bl SetAction
+ ldr r0, _0805EDC0
+ ldrh r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0805EDC4
+ adds r1, r7, 0
+ adds r1, 0x48
+ movs r0, 0
+ b _0805EDCA
+ .align 2, 0
+_0805EDC0: .4byte gRealInputs
+_0805EDC4:
+ adds r1, r7, 0
+ adds r1, 0x48
+ movs r0, 0x1
+_0805EDCA:
+ strb r0, [r1]
+ ldrh r0, [r7]
+ movs r2, 0x80
+ lsls r2, 8
+ adds r5, r2, 0
+ movs r4, 0
+ orrs r0, r5
+ strh r0, [r7]
+ adds r0, r6, 0
+ adds r0, 0x44
+ movs r1, 0x2
+ bl SetAction
+ adds r0, r6, 0
+ adds r0, 0x48
+ strb r4, [r0]
+ mov r3, r9
+ ldrb r0, [r3]
+ adds r0, 0x4
+ movs r1, 0x7
+ ands r0, r1
+ adds r1, r6, 0
+ adds r1, 0x46
+ strb r0, [r1]
+ ldrh r0, [r6]
+ orrs r0, r5
+ strh r0, [r6]
+ mov r0, r8
+ ldrh r1, [r0, 0x4]
+ movs r2, 0xB6
+ lsls r2, 1
+ adds r0, r6, r2
+ strh r1, [r0]
+ mov r3, r8
+ ldrh r0, [r3, 0x6]
+ adds r2, 0x2
+ adds r1, r6, r2
+ strh r0, [r1]
+ ldr r0, _0805EE2C
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0xE]
+_0805EE1E:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0805EE2C: .4byte gDungeonGlobalData
+ thumb_func_end sub_805EC4C
+
+ thumb_func_start sub_805EE30
+sub_805EE30:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ bl GetLeaderEntity
+ adds r5, r0, 0
+ cmp r5, 0
+ bne _0805EE42
+ b _0805EF52
+_0805EE42:
+ bl sub_8044B28
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805EE4E
+ b _0805EF52
+_0805EE4E:
+ adds r0, r5, 0
+ bl GetMapTileForDungeonEntity_2
+ adds r4, r0, 0
+ adds r0, r5, 0
+ movs r1, 0xD
+ bl HasIQSkill
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805EE82
+ ldr r0, [r5, 0x70]
+ adds r0, 0xE4
+ ldrb r0, [r0]
+ cmp r0, 0x3
+ beq _0805EE82
+ adds r0, r5, 0
+ movs r1, 0x9
+ bl HasItem
+ lsls r0, 24
+ cmp r0, 0
+ bne _0805EE82
+ adds r0, r5, 0x4
+ bl sub_804AE84
+_0805EE82:
+ ldrh r1, [r4]
+ movs r0, 0x80
+ lsls r0, 2
+ ands r0, r1
+ cmp r0, 0
+ beq _0805EE96
+ ldr r0, _0805EEB0
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x1]
+_0805EE96:
+ ldr r4, [r4, 0x14]
+ cmp r4, 0
+ beq _0805EF52
+ adds r0, r4, 0
+ bl GetEntityType
+ cmp r0, 0x5
+ bhi _0805EF52
+ lsls r0, 2
+ ldr r1, _0805EEB4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0805EEB0: .4byte gDungeonGlobalData
+_0805EEB4: .4byte _0805EEB8
+ .align 2, 0
+_0805EEB8:
+ .4byte _0805EF52
+ .4byte _0805EF52
+ .4byte _0805EED0
+ .4byte _0805EF2A
+ .4byte _0805EF52
+ .4byte _0805EF52
+_0805EED0:
+ adds r0, r4, 0
+ bl GetTrapData
+ adds r6, r0, 0
+ movs r0, 0
+ mov r8, r0
+ movs r7, 0
+ adds r0, r5, 0
+ movs r1, 0x13
+ bl HasIQSkill
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805EF00
+ adds r1, r4, 0
+ adds r1, 0x20
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _0805EF00
+ movs r0, 0x1
+ strb r0, [r1]
+ bl sub_8049ED4
+ movs r7, 0x1
+_0805EF00:
+ ldrb r0, [r6, 0x1]
+ cmp r0, 0
+ beq _0805EF18
+ cmp r0, 0x1
+ beq _0805EF52
+ cmp r0, 0x2
+ bne _0805EF12
+ movs r1, 0x1
+ mov r8, r1
+_0805EF12:
+ mov r0, r8
+ cmp r0, 0
+ beq _0805EF52
+_0805EF18:
+ cmp r7, 0
+ bne _0805EF52
+ adds r1, r5, 0x4
+ adds r0, r5, 0
+ movs r2, 0
+ movs r3, 0x1
+ bl sub_807FE9C
+ b _0805EF52
+_0805EF2A:
+ adds r0, r4, 0
+ bl GetItemData
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _0805EF44
+ adds r0, r5, 0x4
+ movs r1, 0x1
+ bl sub_8045DB4
+ b _0805EF52
+_0805EF44:
+ ldr r0, _0805EF5C
+ ldr r0, [r0]
+ movs r1, 0xB8
+ lsls r1, 3
+ adds r0, r1
+ movs r1, 0x4
+ str r1, [r0]
+_0805EF52:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0805EF5C: .4byte gDungeonGlobalData
+ thumb_func_end sub_805EE30
+
+ thumb_func_start sub_805EF60
+sub_805EF60:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r6, r1, 0
+ bl sub_80696A8
+ adds r4, r0, 0
+ cmp r4, 0
+ beq _0805EF9E
+ adds r0, r4, 0
+ bl GetEntityType
+ cmp r0, 0x1
+ bne _0805EF9E
+ adds r0, r5, 0
+ bl sub_8070BC0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805EF9E
+ ldr r1, [r4, 0x70]
+ ldrb r0, [r1, 0x6]
+ cmp r0, 0
+ beq _0805EFA2
+ adds r0, r1, 0
+ adds r0, 0xA4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _0805EFA2
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0x1
+ beq _0805EFA2
+_0805EF9E:
+ movs r0, 0
+ b _0805EFAE
+_0805EFA2:
+ adds r0, r6, 0
+ adds r0, 0x44
+ movs r1, 0x13
+ bl SetAction
+ movs r0, 0x1
+_0805EFAE:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_805EF60
+
+ thumb_func_start sub_805EFB4
+sub_805EFB4:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ mov r8, r0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ bl sub_8083654
+ adds r6, r0, 0
+ cmp r7, 0
+ beq _0805EFE2
+ adds r0, 0xBC
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bne _0805EFE2
+ adds r0, r6, 0
+ adds r0, 0x46
+ ldrb r1, [r0]
+ adds r1, 0x4
+ movs r2, 0x7
+ ands r1, r2
+ strb r1, [r0]
+ b _0805F020
+_0805EFE2:
+ adds r0, r6, 0
+ adds r0, 0xBC
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _0805F020
+ movs r0, 0x8
+ bl DungeonRandomCapped
+ adds r4, r0, 0
+ movs r5, 0
+_0805EFF6:
+ cmp r7, 0
+ bne _0805F008
+ mov r0, r8
+ adds r1, r4, 0
+ bl CanMoveInDirection
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F014
+_0805F008:
+ movs r0, 0x7
+ ands r4, r0
+ adds r0, r6, 0
+ adds r0, 0x46
+ strb r4, [r0]
+ b _0805F020
+_0805F014:
+ adds r4, 0x1
+ movs r0, 0x7
+ ands r4, r0
+ adds r5, 0x1
+ cmp r5, 0x7
+ ble _0805EFF6
+_0805F020:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_805EFB4
+
+ thumb_func_start sub_805F02C
+sub_805F02C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ ldr r5, _0805F058
+ ldr r0, [r5]
+ adds r0, 0xBC
+ ldr r7, [r0]
+ bl GetLeaderEntity
+ mov r9, r0
+ ldr r0, [r7, 0x70]
+ mov r8, r0
+ mov r1, r9
+ ldr r4, [r1, 0x70]
+ ldrb r0, [r0, 0x7]
+ cmp r0, 0
+ beq _0805F060
+ ldr r0, _0805F05C
+ b _0805F08E
+ .align 2, 0
+_0805F058: .4byte gDungeonGlobalData
+_0805F05C: .4byte gUnknown_80F9BD8
+_0805F060:
+ movs r0, 0x2
+ bl sub_8047084
+ lsls r0, 24
+ cmp r0, 0
+ bne _0805F076
+ bl sub_807EF48
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F080
+_0805F076:
+ ldr r0, _0805F07C
+ b _0805F08E
+ .align 2, 0
+_0805F07C: .4byte gUnknown_80F9C08
+_0805F080:
+ ldr r2, [r5]
+ ldr r3, _0805F098
+ adds r0, r2, r3
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _0805F0A0
+ ldr r0, _0805F09C
+_0805F08E:
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl sub_805239C
+ b _0805F184
+ .align 2, 0
+_0805F098: .4byte 0x0000066e
+_0805F09C: .4byte gUnknown_80F9C2C
+_0805F0A0:
+ ldr r5, _0805F114
+ adds r0, r2, r5
+ strb r1, [r0]
+ movs r0, 0x1
+ mov r2, r8
+ strb r0, [r2, 0x7]
+ strb r1, [r4, 0x7]
+ movs r6, 0
+ movs r3, 0x44
+ add r3, r8
+ mov r10, r3
+ adds r5, r4, 0
+ adds r5, 0x44
+ str r5, [sp]
+ adds r2, 0x64
+ str r2, [sp, 0x4]
+ adds r4, 0x64
+ str r4, [sp, 0x8]
+ ldr r3, _0805F118
+ movs r2, 0x1
+_0805F0C8:
+ movs r0, 0x64
+ muls r0, r6
+ ldr r1, _0805F11C
+ adds r0, r1
+ ldr r1, [r3]
+ adds r4, r1, r0
+ movs r5, 0
+ ldrb r1, [r4]
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0805F12A
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ str r2, [sp, 0xC]
+ str r3, [sp, 0x10]
+ bl sub_806A538
+ lsls r0, 24
+ ldr r2, [sp, 0xC]
+ ldr r3, [sp, 0x10]
+ cmp r0, 0
+ bne _0805F102
+ movs r5, 0xA
+ ldrsh r1, [r4, r5]
+ movs r0, 0x58
+ muls r1, r0
+ ldr r0, [r3]
+ adds r5, r0, r1
+_0805F102:
+ mov r0, r8
+ ldrb r0, [r0, 0xA]
+ cmp r6, r0
+ bne _0805F120
+ strb r2, [r4, 0x2]
+ cmp r5, 0
+ beq _0805F12A
+ strb r2, [r5, 0x2]
+ b _0805F12A
+ .align 2, 0
+_0805F114: .4byte 0x00000679
+_0805F118: .4byte gRecruitedPokemonRef
+_0805F11C: .4byte 0x00008df8
+_0805F120:
+ movs r0, 0
+ strb r0, [r4, 0x2]
+ cmp r5, 0
+ beq _0805F12A
+ strb r0, [r5, 0x2]
+_0805F12A:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _0805F0C8
+ ldr r0, _0805F194
+ movs r4, 0
+ str r4, [r0]
+ mov r1, r10
+ ldr r0, [sp]
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ adds r0, r7, 0
+ bl sub_803F508
+ mov r0, r9
+ bl sub_8041AD0
+ bl GetLeaderEntity
+ bl sub_8041AE0
+ ldr r0, _0805F198
+ adds r1, r7, 0
+ movs r2, 0
+ bl SetMessageArgument
+ ldr r0, _0805F19C
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl SendMessage
+ movs r0, 0
+ bl sub_807EC28
+ ldr r0, [sp, 0x4]
+ strb r4, [r0]
+ ldr r1, [sp, 0x8]
+ strb r4, [r1]
+ mov r0, r9
+ bl sub_806A6E8
+ adds r0, r7, 0
+ bl sub_806A6E8
+_0805F184:
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0805F194: .4byte gLeaderPokemon
+_0805F198: .4byte gAvailablePokemonNames
+_0805F19C: .4byte gUnknown_80F9BB0
+ thumb_func_end sub_805F02C
+
+ thumb_func_start sub_805F1A0
+sub_805F1A0:
+ push {lr}
+ bl sub_8083654
+ adds r0, 0x44
+ pop {r1}
+ bx r1
+ thumb_func_end sub_805F1A0
+
+ thumb_func_start sub_805F1AC
+sub_805F1AC:
+ push {lr}
+ bl sub_8083654
+ adds r0, 0x44
+ ldrh r0, [r0]
+ pop {r1}
+ bx r1
+ thumb_func_end sub_805F1AC
+
+ thumb_func_start ShowFieldMenu
+ShowFieldMenu:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x18
+ lsls r0, 24
+ lsls r1, 24
+ lsrs r2, r1, 24
+ lsrs r0, 24
+ str r0, [sp, 0xC]
+ ldr r0, _0805F208
+ ldr r1, [r0]
+ movs r0, 0xB8
+ lsls r0, 3
+ adds r1, r0
+ ldr r3, [r1]
+ mov r10, r3
+ movs r0, 0
+ str r0, [sp, 0x10]
+ mvns r0, r3
+ lsrs r0, 31
+ str r0, [sp, 0x14]
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [r1]
+ cmp r3, 0
+ blt _0805F1F8
+ mov r1, r10
+ str r1, [sp, 0x10]
+_0805F1F8:
+ cmp r2, 0
+ beq _0805F23C
+ ldr r0, _0805F20C
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_800C074
+ b _0805F240
+ .align 2, 0
+_0805F208: .4byte gDungeonGlobalData
+_0805F20C: .4byte 0x00000137
+_0805F210:
+ bl GetLeaderEntity
+ movs r1, 0x1
+ bl sub_806675C
+ b _0805F226
+_0805F21C:
+ bl GetLeaderEntity
+ movs r1, 0x1
+ bl sub_806684C
+_0805F226:
+ movs r0, 0x1
+ bl sub_8044C10
+ movs r0, 0x50
+ movs r1, 0x4D
+ bl sub_803E708
+ movs r0, 0
+ bl sub_8052210
+ b _0805F92A
+_0805F23C:
+ bl sub_8083D44
+_0805F240:
+ mov r2, r10
+ cmp r2, 0
+ bge _0805F2FA
+ movs r0, 0x1
+ bl sub_8044C10
+ ldr r0, _0805F388
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0]
+ ldr r0, [sp, 0xC]
+ bl DrawFieldMenu
+ bl GetLeaderEntity
+ movs r1, 0
+ bl sub_806A2BC
+ ldr r4, _0805F38C
+ ldr r5, _0805F390
+ adds r6, r4, 0
+ adds r6, 0x2A
+_0805F26C:
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x1D
+ bl sub_803E46C
+ ldrh r1, [r5, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _0805F290
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_0805F290:
+ ldrh r1, [r5, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0805F2A8
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013744
+_0805F2A8:
+ ldrh r1, [r5, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0805F2BC
+ adds r0, r4, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0805F2D0
+_0805F2BC:
+ ldr r0, _0805F394
+ movs r3, 0x18
+ ldrsh r1, [r4, r3]
+ adds r1, 0x1
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0x7
+ beq _0805F3A8
+ bl sub_8083D30
+_0805F2D0:
+ ldrh r1, [r5, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _0805F2E0
+ ldrb r0, [r6]
+ cmp r0, 0
+ beq _0805F26C
+_0805F2E0:
+ bl sub_8083D30
+ movs r0, 0x1
+ negs r0, r0
+_0805F2E8:
+ str r0, [sp, 0x10]
+ ldr r0, _0805F38C
+ bl AddMenuCursorSprite
+ movs r0, 0x1D
+ bl sub_803E46C
+ movs r1, 0x1
+ str r1, [sp, 0xC]
+_0805F2FA:
+ ldr r2, [sp, 0x10]
+ mov r10, r2
+ cmp r2, 0x1
+ beq _0805F304
+ b _0805F428
+_0805F304:
+ movs r0, 0x1
+ bl sub_8044C10
+ ldr r1, _0805F398
+ ldr r0, [sp, 0x4]
+ ands r0, r1
+ ldr r1, _0805F39C
+ ands r0, r1
+ movs r1, 0x80
+ lsls r1, 1
+ orrs r0, r1
+ ldr r1, _0805F3A0
+ ands r0, r1
+ ldr r1, _0805F3A4
+ ands r0, r1
+ str r0, [sp, 0x4]
+ bl GetLeaderEntity
+ add r1, sp, 0x4
+ bl sub_805FD74
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F33A
+ movs r3, 0x1
+ negs r3, r3
+ mov r10, r3
+_0805F33A:
+ add r0, sp, 0x4
+ bl sub_805FD3C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F35C
+ bl GetLeaderEntity
+ add r1, sp, 0x4
+ bl sub_805FD74
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F35C
+ movs r0, 0x1
+ bl sub_8044C10
+_0805F35C:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0xC
+ bne _0805F3B2
+ bl GetLeaderEntity
+ movs r1, 0
+ movs r2, 0xC
+ bl sub_8044D90
+ ldrb r2, [r0]
+ movs r1, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+ bl sub_805F1A0
+ bl sub_8060D24
+ b _0805F412
+ .align 2, 0
+_0805F388: .4byte gUnknown_202F260
+_0805F38C: .4byte gUnknown_202EE10
+_0805F390: .4byte gRealInputs
+_0805F394: .4byte gUnknown_202749A
+_0805F398: .4byte 0xffffff00
+_0805F39C: .4byte 0xffff00ff
+_0805F3A0: .4byte 0xff00ffff
+_0805F3A4: .4byte 0x00ffffff
+_0805F3A8:
+ bl sub_8083D08
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ b _0805F2E8
+_0805F3B2:
+ cmp r0, 0x35
+ bne _0805F3D0
+ bl GetLeaderEntity
+ movs r1, 0
+ movs r2, 0xD
+ bl sub_8044D90
+ adds r4, r0, 0
+ bl GetLeaderEntity
+ adds r1, r4, 0
+ bl sub_8048A68
+ b _0805F40A
+_0805F3D0:
+ cmp r0, 0x10
+ bne _0805F3EE
+ bl GetLeaderEntity
+ movs r1, 0
+ movs r2, 0xE
+ bl sub_8044D90
+ adds r4, r0, 0
+ bl GetLeaderEntity
+ adds r1, r4, 0
+ bl sub_8048950
+ b _0805F40A
+_0805F3EE:
+ cmp r0, 0x2C
+ bne _0805F41A
+ bl GetLeaderEntity
+ movs r1, 0
+ movs r2, 0xF
+ bl sub_8044D90
+ adds r4, r0, 0
+ bl GetLeaderEntity
+ adds r1, r4, 0
+ bl sub_8048B9C
+_0805F40A:
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F412
+ b _0805F72C
+_0805F412:
+ movs r0, 0x1
+ bl sub_8044C10
+ b _0805F72C
+_0805F41A:
+ cmp r0, 0x3C
+ bne _0805F420
+ b _0805F210
+_0805F420:
+ cmp r0, 0x3D
+ bne _0805F426
+ b _0805F21C
+_0805F426:
+ b _0805F72C
+_0805F428:
+ ldr r2, [sp, 0x10]
+ cmp r2, 0x2
+ beq _0805F430
+ b _0805F52E
+_0805F430:
+ movs r0, 0x1
+ bl sub_8044C10
+ bl GetLeaderEntity
+ bl sub_8060E38
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F44A
+ movs r3, 0x1
+ negs r3, r3
+ mov r10, r3
+_0805F44A:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1B
+ bne _0805F45E
+ bl sub_805F1A0
+ movs r1, 0
+ b _0805F4B2
+_0805F45E:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1C
+ bne _0805F474
+ bl sub_805F1A0
+ bl sub_806752C
+ b _0805F4B6
+_0805F474:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x34
+ bne _0805F48A
+ bl sub_805F1A0
+ bl sub_8067768
+ b _0805F4B6
+_0805F48A:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1A
+ bne _0805F4A0
+ bl sub_805F1A0
+ bl sub_80615E8
+ b _0805F4B6
+_0805F4A0:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x30
+ bne _0805F4BE
+ bl sub_805F1A0
+ movs r1, 0x1
+_0805F4B2:
+ bl sub_8061A38
+_0805F4B6:
+ movs r0, 0x1
+ bl sub_8044C10
+ b _0805F72C
+_0805F4BE:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x19
+ beq _0805F4CC
+ b _0805F72C
+_0805F4CC:
+ bl sub_805F1A0
+ bl sub_8062D8C
+ movs r6, 0
+ movs r4, 0
+_0805F4D8:
+ ldr r0, _0805F518
+ ldr r0, [r0]
+ lsls r1, r4, 2
+ ldr r2, _0805F51C
+ adds r0, r2
+ adds r0, r1
+ ldr r5, [r0]
+ adds r0, r5, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F526
+ bl sub_805F1A0
+ ldrb r0, [r0, 0x4]
+ cmp r4, r0
+ bne _0805F524
+ ldr r0, _0805F520
+ str r6, [r0]
+ bl sub_805F1AC
+ lsls r0, 16
+ cmp r0, 0
+ bne _0805F50C
+ b _0805F72C
+_0805F50C:
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_806A2BC
+ b _0805F72C
+ .align 2, 0
+_0805F518: .4byte gDungeonGlobalData
+_0805F51C: .4byte 0x0001357c
+_0805F520: .4byte gUnknown_202F260
+_0805F524:
+ adds r6, 0x1
+_0805F526:
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _0805F4D8
+ b _0805F72C
+_0805F52E:
+ ldr r3, [sp, 0x10]
+ cmp r3, 0
+ beq _0805F536
+ b _0805F73A
+_0805F536:
+ movs r7, 0
+ movs r0, 0x1
+ bl sub_8044C10
+ movs r5, 0
+ b _0805F544
+_0805F542:
+ adds r5, 0x1
+_0805F544:
+ cmp r5, 0x3
+ bgt _0805F56C
+ ldr r0, _0805F600
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _0805F604
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F542
+ ldr r0, [r4, 0x70]
+ ldrb r0, [r0, 0x7]
+ cmp r0, 0
+ beq _0805F542
+ adds r7, r5, 0
+_0805F56C:
+ movs r0, 0
+ bl sub_8044C10
+_0805F572:
+ movs r6, 0
+ mov r9, r6
+ mov r8, r6
+ movs r5, 0
+_0805F57A:
+ ldr r0, _0805F600
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r3, _0805F604
+ adds r0, r3
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl sub_8071A8C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F5A0
+ cmp r5, r7
+ bne _0805F59C
+ mov r9, r8
+ adds r6, r4, 0
+_0805F59C:
+ movs r0, 0x1
+ add r8, r0
+_0805F5A0:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _0805F57A
+ cmp r6, 0
+ bne _0805F5B0
+ bl GetLeaderEntity
+ adds r6, r0, 0
+_0805F5B0:
+ adds r0, r6, 0
+ movs r1, 0
+ bl sub_806A2BC
+ adds r0, r6, 0x4
+ movs r1, 0
+ movs r2, 0x1
+ movs r3, 0x1
+ bl sub_804A728
+ bl sub_8083654
+ adds r0, 0x48
+ strb r7, [r0]
+ movs r0, 0
+ bl sub_8044C10
+ mov r1, r8
+ str r1, [sp]
+ adds r0, r6, 0
+ movs r1, 0
+ movs r2, 0x1
+ mov r3, r9
+ bl sub_8062F90
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F5EE
+ movs r2, 0x1
+ negs r2, r2
+ mov r10, r2
+_0805F5EE:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x6
+ bne _0805F63C
+ adds r4, r7, 0
+ movs r5, 0
+ b _0805F60A
+ .align 2, 0
+_0805F600: .4byte gDungeonGlobalData
+_0805F604: .4byte 0x0001357c
+_0805F608:
+ adds r5, 0x1
+_0805F60A:
+ cmp r5, 0x3
+ bgt _0805F676
+ adds r7, 0x1
+ cmp r7, 0x3
+ ble _0805F616
+ movs r7, 0
+_0805F616:
+ ldr r0, _0805F634
+ ldr r0, [r0]
+ lsls r1, r7, 2
+ ldr r3, _0805F638
+ adds r0, r3
+ adds r0, r1
+ ldr r6, [r0]
+ adds r0, r6, 0
+ bl sub_8071A8C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F608
+ b _0805F676
+ .align 2, 0
+_0805F634: .4byte gDungeonGlobalData
+_0805F638: .4byte 0x0001357c
+_0805F63C:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x7
+ bne _0805F694
+ adds r4, r7, 0
+ movs r5, 0
+ b _0805F650
+_0805F64E:
+ adds r5, 0x1
+_0805F650:
+ cmp r5, 0x3
+ bgt _0805F676
+ subs r7, 0x1
+ cmp r7, 0
+ bge _0805F65C
+ movs r7, 0x3
+_0805F65C:
+ ldr r0, _0805F68C
+ ldr r0, [r0]
+ lsls r1, r7, 2
+ ldr r2, _0805F690
+ adds r0, r2
+ adds r0, r1
+ ldr r6, [r0]
+ adds r0, r6, 0
+ bl sub_8071A8C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F64E
+_0805F676:
+ bl sub_8083654
+ adds r0, 0x48
+ strb r7, [r0]
+ cmp r4, r7
+ bne _0805F684
+ b _0805F572
+_0805F684:
+ movs r0, 0
+ bl sub_8083CE0
+ b _0805F572
+ .align 2, 0
+_0805F68C: .4byte gDungeonGlobalData
+_0805F690: .4byte 0x0001357c
+_0805F694:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1D
+ bne _0805F6AA
+ bl sub_805F1A0
+ bl sub_80637E8
+ b _0805F56C
+_0805F6AA:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1E
+ beq _0805F6C2
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x33
+ bne _0805F6CE
+_0805F6C2:
+ bl sub_805F1A0
+ movs r1, 0
+ bl sub_8063A70
+ b _0805F56C
+_0805F6CE:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1F
+ bne _0805F6E4
+ bl sub_805F1A0
+ bl sub_8063B54
+ b _0805F56C
+_0805F6E4:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x20
+ bne _0805F6FA
+ bl sub_805F1A0
+ bl sub_8063BB4
+ b _0805F56C
+_0805F6FA:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x21
+ bne _0805F712
+ bl sub_805F1A0
+ movs r1, 0
+ bl sub_8063CF0
+ b _0805F56C
+_0805F712:
+ bl GetLeaderEntity
+ movs r1, 0
+ bl sub_806A2BC
+ bl GetLeaderEntity
+ adds r0, 0x4
+ movs r1, 0
+ movs r2, 0x1
+ movs r3, 0x1
+ bl sub_804A728
+_0805F72C:
+ bl sub_805F1AC
+ lsls r0, 16
+ cmp r0, 0
+ beq _0805F738
+ b _0805F92A
+_0805F738:
+ b _0805F904
+_0805F73A:
+ ldr r3, [sp, 0x10]
+ cmp r3, 0x4
+ beq _0805F742
+ b _0805F8E0
+_0805F742:
+ bl GetLeaderEntity
+ movs r1, 0x4
+ ldrsh r2, [r0, r1]
+ movs r3, 0x6
+ ldrsh r1, [r0, r3]
+ adds r0, r2, 0
+ bl GetMapTile_1
+ ldr r4, [r0, 0x14]
+ cmp r4, 0
+ bne _0805F75C
+ b _0805F88C
+_0805F75C:
+ adds r0, r4, 0
+ bl GetEntityType
+ cmp r0, 0x3
+ beq _0805F768
+ b _0805F872
+_0805F768:
+ movs r0, 0x1
+ bl sub_8044C10
+ ldr r1, _0805F7F0
+ ldr r0, [sp, 0x8]
+ ands r0, r1
+ ldr r1, _0805F7F4
+ ands r0, r1
+ movs r1, 0x80
+ lsls r1, 1
+ orrs r0, r1
+ ldr r1, _0805F7F8
+ ands r0, r1
+ movs r1, 0x80
+ lsls r1, 9
+ orrs r0, r1
+ ldr r1, _0805F7FC
+ ands r0, r1
+ adds r1, 0x1
+ orrs r0, r1
+ str r0, [sp, 0x8]
+ bl GetLeaderEntity
+ add r4, sp, 0x8
+ adds r1, r4, 0
+ bl sub_805FD74
+ lsls r0, 24
+ adds r0, r4, 0
+ bl sub_805FD3C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F7C2
+ bl GetLeaderEntity
+ adds r1, r4, 0
+ bl sub_805FD74
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F7C2
+ movs r0, 0x1
+ bl sub_8044C10
+_0805F7C2:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ adds r1, r0, 0
+ cmp r0, 0xC
+ bne _0805F800
+ bl GetLeaderEntity
+ movs r1, 0
+ movs r2, 0x10
+ bl sub_8044D90
+ ldrb r2, [r0]
+ movs r1, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+ bl sub_805F1A0
+ bl sub_8060D24
+ b _0805F840
+ .align 2, 0
+_0805F7F0: .4byte 0xffffff00
+_0805F7F4: .4byte 0xffff00ff
+_0805F7F8: .4byte 0xff00ffff
+_0805F7FC: .4byte 0x00ffffff
+_0805F800:
+ cmp r0, 0x35
+ bne _0805F81E
+ bl GetLeaderEntity
+ movs r1, 0
+ movs r2, 0x11
+ bl sub_8044D90
+ adds r4, r0, 0
+ bl GetLeaderEntity
+ adds r1, r4, 0
+ bl sub_8048A68
+ b _0805F83A
+_0805F81E:
+ cmp r0, 0x10
+ bne _0805F848
+ bl GetLeaderEntity
+ movs r1, 0
+ movs r2, 0x12
+ bl sub_8044D90
+ adds r4, r0, 0
+ bl GetLeaderEntity
+ adds r1, r4, 0
+ bl sub_8048950
+_0805F83A:
+ lsls r0, 24
+ cmp r0, 0
+ bne _0805F8A8
+_0805F840:
+ movs r0, 0x1
+ bl sub_8044C10
+ b _0805F8A8
+_0805F848:
+ cmp r1, 0x2C
+ bne _0805F8A8
+ bl GetLeaderEntity
+ movs r1, 0
+ movs r2, 0x13
+ bl sub_8044D90
+ adds r4, r0, 0
+ bl GetLeaderEntity
+ adds r1, r4, 0
+ bl sub_8048B9C
+ lsls r0, 24
+ cmp r0, 0
+ bne _0805F8A8
+ movs r0, 0x1
+ bl sub_8044C10
+ b _0805F8A8
+_0805F872:
+ adds r0, r4, 0
+ bl GetEntityType
+ cmp r0, 0x2
+ bne _0805F8CE
+ movs r0, 0x1
+ bl sub_8044C10
+ bl GetLeaderEntity
+ bl sub_80643AC
+ b _0805F8A8
+_0805F88C:
+ ldrh r0, [r0]
+ movs r2, 0x80
+ lsls r2, 2
+ adds r1, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0805F8B4
+ movs r0, 0x1
+ bl sub_8044C10
+ bl GetLeaderEntity
+ bl sub_80647F0
+_0805F8A8:
+ bl sub_805F1AC
+ lsls r0, 16
+ cmp r0, 0
+ bne _0805F92A
+ b _0805F8CE
+_0805F8B4:
+ bl GetLeaderEntity
+ adds r1, r0, 0
+ ldr r0, _0805F8D8
+ movs r2, 0
+ bl SetMessageArgument
+ ldr r0, _0805F8DC
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+_0805F8CE:
+ movs r3, 0x1
+ negs r3, r3
+ mov r10, r3
+ b _0805F904
+ .align 2, 0
+_0805F8D8: .4byte gAvailablePokemonNames
+_0805F8DC: .4byte gUnknown_80FDE18
+_0805F8E0:
+ ldr r0, [sp, 0x10]
+ cmp r0, 0x3
+ bne _0805F904
+ bl sub_8064BE0
+ ldr r0, _0805F91C
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ bne _0805F92A
+ bl sub_805F1AC
+ lsls r0, 16
+ cmp r0, 0
+ bne _0805F92A
+ movs r1, 0x1
+ negs r1, r1
+ mov r10, r1
+_0805F904:
+ ldr r2, [sp, 0x10]
+ cmp r2, 0
+ blt _0805F92A
+ ldr r3, [sp, 0x14]
+ cmp r3, 0
+ bne _0805F920
+ bl ResetRepeatTimers
+ bl ResetUnusedInputStruct
+ b _0805F240
+ .align 2, 0
+_0805F91C: .4byte gDungeonGlobalData
+_0805F920:
+ bl GetLeaderEntity
+ movs r1, 0
+ bl sub_806A2BC
+_0805F92A:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ bl ResetRepeatTimers
+ bl ResetUnusedInputStruct
+ 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 ShowFieldMenu
+
+ thumb_func_start DrawFieldMenu
+DrawFieldMenu:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r4, _0805F994
+ movs r0, 0
+ strh r0, [r4, 0x18]
+ movs r1, 0x5
+ strh r1, [r4, 0x1A]
+ strh r1, [r4, 0x1C]
+ strh r0, [r4, 0x1E]
+ strh r0, [r4, 0x4]
+ movs r1, 0x2
+ strh r1, [r4, 0x6]
+ strh r0, [r4, 0xC]
+ strh r0, [r4, 0xE]
+ str r0, [r4]
+ strh r0, [r4, 0x14]
+ adds r0, r4, 0
+ adds r0, 0x28
+ bl sub_801317C
+ adds r0, r4, 0
+ movs r1, 0x38
+ bl sub_80137B0
+ cmp r5, 0
+ beq _0805F998
+ movs r0, 0x7
+ movs r1, 0
+ bl sub_803EAF0
+ b _0805F9A0
+ .align 2, 0
+_0805F994: .4byte gUnknown_202EE10
+_0805F998:
+ movs r0, 0x6
+ movs r1, 0
+ bl sub_803EAF0
+_0805F9A0:
+ movs r0, 0
+ bl sub_80073B8
+ bl GetLeaderEntity
+ movs r1, 0x1
+ bl ShouldAvoidEnemiesAndShowEffect
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805F9CC
+ ldr r0, _0805F9C8
+ movs r2, 0x2
+ strb r2, [r0, 0x1]
+ strb r2, [r0, 0x2]
+ strb r2, [r0, 0x3]
+ movs r1, 0x7
+ strb r1, [r0, 0x4]
+ strb r2, [r0, 0x5]
+ b _0805F9DA
+ .align 2, 0
+_0805F9C8: .4byte gUnknown_202749A
+_0805F9CC:
+ ldr r1, _0805FBA0
+ movs r0, 0x7
+ strb r0, [r1, 0x1]
+ strb r0, [r1, 0x2]
+ strb r0, [r1, 0x3]
+ strb r0, [r1, 0x4]
+ strb r0, [r1, 0x5]
+_0805F9DA:
+ ldr r4, _0805FBA4
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, _0805FBA8
+ ldr r2, [r0]
+ movs r6, 0
+ str r6, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_call_draw_string
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, _0805FBAC
+ ldr r2, [r0]
+ str r6, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_call_draw_string
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, _0805FBB0
+ ldr r2, [r0]
+ str r6, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_call_draw_string
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, _0805FBB4
+ ldr r2, [r0]
+ str r6, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_call_draw_string
+ adds r0, r4, 0
+ movs r1, 0x4
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, _0805FBB8
+ ldr r2, [r0]
+ str r6, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_call_draw_string
+ movs r0, 0
+ bl sub_80073E0
+ cmp r5, 0
+ bne _0805FA62
+ b _0805FB92
+_0805FA62:
+ bl GetLeaderEntity
+ ldr r7, [r0, 0x70]
+ bl sub_805317C
+ adds r5, r0, 0
+ bl sub_8008ED0
+ movs r4, 0x88
+ subs r4, r0
+ lsrs r0, r4, 31
+ adds r4, r0
+ asrs r4, 1
+ movs r0, 0x1
+ bl sub_80073B8
+ str r6, [sp]
+ adds r0, r4, 0
+ movs r1, 0x2
+ adds r2, r5, 0
+ movs r3, 0x1
+ bl xxx_call_draw_string
+ movs r0, 0x1
+ bl sub_80073E0
+ movs r0, 0x2
+ bl sub_80073B8
+ ldr r0, _0805FBBC
+ ldr r0, [r0]
+ add r2, sp, 0x8
+ add r3, sp, 0xC
+ add r1, sp, 0x4
+ bl DeconstructPlayTime
+ movs r1, 0x9E
+ lsls r1, 1
+ adds r0, r7, r1
+ ldr r0, [r0]
+ bl RoundUpFixedPoint
+ ldr r4, _0805FBC0
+ str r0, [r4]
+ movs r2, 0xA0
+ lsls r2, 1
+ adds r0, r7, r2
+ ldr r0, [r0]
+ bl RoundUpFixedPoint
+ str r0, [r4, 0x4]
+ ldr r0, _0805FBC4
+ ldr r2, [r0]
+ str r6, [sp]
+ movs r0, 0x73
+ movs r1, 0
+ movs r3, 0x2
+ bl xxx_format_and_draw
+ ldr r0, _0805FBC8
+ ldr r0, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ str r0, [r4]
+ ldr r0, _0805FBCC
+ ldr r2, [r0]
+ str r6, [sp]
+ movs r0, 0x73
+ movs r1, 0xC
+ movs r3, 0x2
+ bl xxx_format_and_draw
+ ldr r5, _0805FBD0
+ movs r0, 0
+ bl GetWeather
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r5, 0
+ bl GetWeatherName
+ ldr r0, _0805FBD4
+ ldr r2, [r0]
+ str r6, [sp]
+ movs r0, 0x73
+ movs r1, 0x18
+ movs r3, 0x2
+ bl xxx_format_and_draw
+ ldr r0, [sp, 0x4]
+ str r0, [r4]
+ ldr r0, [sp, 0x8]
+ str r0, [r4, 0x4]
+ ldr r0, [sp, 0xC]
+ str r0, [r4, 0x8]
+ ldr r0, _0805FBD8
+ ldr r2, [r0]
+ str r6, [sp]
+ movs r0, 0x73
+ movs r1, 0x24
+ movs r3, 0x2
+ bl xxx_format_and_draw
+ movs r7, 0
+ mov r8, r4
+_0805FB3A:
+ ldr r0, _0805FBDC
+ ldr r0, [r0]
+ lsls r1, r6, 2
+ ldr r2, _0805FBE0
+ adds r0, r2
+ adds r0, r1
+ ldr r5, [r0]
+ adds r0, r5, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _0805FB86
+ ldr r4, [r5, 0x70]
+ ldr r0, _0805FBD0
+ adds r1, r5, 0
+ movs r2, 0
+ bl SetMessageArgument
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ mov r2, r8
+ str r0, [r2]
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ str r0, [r2, 0x4]
+ ldr r0, _0805FBE4
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ adds r1, r7, 0
+ movs r3, 0x2
+ bl xxx_format_and_draw
+ adds r7, 0xC
+ cmp r7, 0x2F
+ bgt _0805FB8C
+_0805FB86:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _0805FB3A
+_0805FB8C:
+ movs r0, 0x2
+ bl sub_80073E0
+_0805FB92:
+ add sp, 0x10
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0805FBA0: .4byte gUnknown_202749A
+_0805FBA4: .4byte gUnknown_202EE10
+_0805FBA8: .4byte gFieldMenuMovesPtr
+_0805FBAC: .4byte gFieldMenuItemsPtr
+_0805FBB0: .4byte gFieldMenuTeamPtr
+_0805FBB4: .4byte gFieldMenuOthersPtr
+_0805FBB8: .4byte gFieldMenuGroundPtr
+_0805FBBC: .4byte gPlayTimeRef
+_0805FBC0: .4byte gUnknown_202DE30
+_0805FBC4: .4byte gUnknown_80F9174
+_0805FBC8: .4byte gTeamInventory_203B460
+_0805FBCC: .4byte gUnknown_80F9190
+_0805FBD0: .4byte gAvailablePokemonNames
+_0805FBD4: .4byte gUnknown_80F91A8
+_0805FBD8: .4byte gUnknown_80F91C8
+_0805FBDC: .4byte gDungeonGlobalData
+_0805FBE0: .4byte 0x0001357c
+_0805FBE4: .4byte gUnknown_80F91E0
+ thumb_func_end DrawFieldMenu
+
+ thumb_func_start sub_805FBE8
+sub_805FBE8:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r0, 0x8
+ adds r1, r5, 0
+ bl sub_803EAF0
+_0805FBF4:
+ movs r0, 0xE
+ bl sub_803E46C
+ bl xxx_draw_string_80144C4
+ bl sub_8016080
+ adds r4, r0, 0
+ cmp r4, 0
+ beq _0805FBF4
+ bl sub_80160D8
+ movs r0, 0xE
+ bl sub_803E46C
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ cmp r4, 0x3
+ bne _0805FC28
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _0805FC28
+ movs r0, 0x1
+ b _0805FC2A
+_0805FC28:
+ movs r0, 0
+_0805FC2A:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_805FBE8
+
+ thumb_func_start sub_805FC30
+sub_805FC30:
+ push {r4-r6,lr}
+ sub sp, 0x78
+ adds r4, r0, 0
+ adds r6, r1, 0
+ add r5, sp, 0x4
+ adds r0, r5, 0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r3, 0x3
+ str r3, [sp, 0x8]
+ str r3, [sp, 0x20]
+ movs r2, 0
+ movs r0, 0x16
+ strh r0, [r5, 0x20]
+ movs r1, 0x4
+ strh r1, [r5, 0x22]
+ movs r0, 0x6
+ strh r0, [r5, 0x24]
+ strh r1, [r5, 0x26]
+ strh r1, [r5, 0x28]
+ str r3, [sp, 0x38]
+ str r3, [sp, 0x50]
+ add r0, sp, 0x4
+ ldm r4!, {r1,r3,r5}
+ stm r0!, {r1,r3,r5}
+ ldm r4!, {r1,r3,r5}
+ stm r0!, {r1,r3,r5}
+ add r1, sp, 0x4
+ movs r0, 0x80
+ strb r0, [r1]
+ ldr r4, _0805FD30
+ strh r2, [r4, 0x18]
+ ldr r5, _0805FD34
+ ldr r0, [r5]
+ strh r0, [r4, 0x1C]
+ strh r0, [r4, 0x1A]
+ strh r2, [r4, 0x1E]
+ strh r2, [r4, 0x20]
+ strh r2, [r4, 0x4]
+ strh r2, [r4, 0x6]
+ movs r0, 0x1
+ str r0, [r4]
+ strh r2, [r4, 0xC]
+ strh r2, [r4, 0xE]
+ ldr r0, [r4, 0x8]
+ str r0, [r4, 0x14]
+ adds r0, r4, 0
+ adds r0, 0x28
+ bl sub_801317C
+ add r0, sp, 0x4
+ strh r6, [r0, 0x20]
+ adds r1, r0, 0
+ movs r0, 0x1C
+ subs r0, r6
+ strh r0, [r1, 0x24]
+ movs r1, 0x1C
+ ldrsh r0, [r4, r1]
+ movs r1, 0
+ bl sub_80095E4
+ add r2, sp, 0x4
+ adds r1, r2, 0
+ strh r0, [r1, 0x28]
+ strh r0, [r2, 0x26]
+ adds r0, r1, 0
+ movs r1, 0
+ bl sub_803ECB4
+ add r0, sp, 0x4
+ movs r2, 0x26
+ ldrsh r1, [r0, r2]
+ lsls r1, 3
+ adds r0, r4, 0
+ bl sub_80137B0
+ movs r0, 0x1
+ bl sub_80073B8
+ movs r6, 0
+ ldr r0, [r5]
+ cmp r6, r0
+ bge _0805FD20
+ add r5, sp, 0x64
+_0805FCDC:
+ adds r0, r6, 0
+ bl sub_8044F3C
+ lsls r0, 24
+ movs r4, 0x2
+ cmp r0, 0
+ beq _0805FCEC
+ movs r4, 0x7
+_0805FCEC:
+ adds r0, r6, 0
+ bl sub_8044EC8
+ adds r3, r0, 0
+ adds r0, r5, 0
+ ldr r1, _0805FD38
+ adds r2, r4, 0
+ bl ExpandPlaceholdersBuffer
+ ldr r0, _0805FD30
+ adds r1, r6, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ adds r2, r5, 0
+ movs r3, 0x1
+ bl xxx_call_draw_string
+ adds r6, 0x1
+ ldr r0, _0805FD34
+ ldr r0, [r0]
+ cmp r6, r0
+ blt _0805FCDC
+_0805FD20:
+ movs r0, 0x1
+ bl sub_80073E0
+ add sp, 0x78
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0805FD30: .4byte gUnknown_202EE10
+_0805FD34: .4byte gUnknown_202EE6C
+_0805FD38: .4byte gUnknown_8106B50
+ thumb_func_end sub_805FC30
+
+ thumb_func_start sub_805FD3C
+sub_805FD3C:
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ adds r2, r0, 0
+ movs r1, 0
+ strb r1, [r4]
+ strb r1, [r4, 0x1]
+ strb r1, [r4, 0x2]
+ strb r1, [r4, 0x3]
+ cmp r2, 0xA
+ bne _0805FD5E
+ movs r0, 0x1
+ strb r0, [r4]
+ strb r0, [r4, 0x3]
+_0805FD5E:
+ cmp r2, 0x3E
+ bne _0805FD6A
+ movs r0, 0x1
+ strb r0, [r4]
+ strb r1, [r4, 0x1]
+ strb r0, [r4, 0x3]
+_0805FD6A:
+ ldrb r0, [r4]
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_805FD3C
+
+ thumb_func_start sub_805FD74
+sub_805FD74:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xE4
+ mov r10, r0
+ adds r7, r1, 0
+ movs r0, 0
+ mov r9, r0
+ movs r1, 0x1
+ str r1, [sp, 0xD0]
+ movs r2, 0
+ str r2, [sp, 0xD4]
+ movs r5, 0
+ str r5, [sp, 0xD8]
+ str r0, [sp, 0xDC]
+ mov r1, r10
+ ldr r1, [r1, 0x70]
+ str r1, [sp, 0xE0]
+ add r4, sp, 0x68
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x6C]
+ add r0, sp, 0x70
+ movs r6, 0
+ movs r1, 0x2
+ strh r1, [r0]
+ strh r1, [r0, 0x2]
+ add r1, sp, 0x74
+ movs r0, 0x12
+ strh r0, [r1]
+ mov r0, sp
+ adds r0, 0x76
+ movs r1, 0x10
+ strh r1, [r0]
+ add r0, sp, 0x78
+ strh r1, [r0]
+ add r5, sp, 0xC8
+ str r5, [sp, 0x7C]
+ movs r1, 0x3
+ str r1, [sp, 0x84]
+ add r0, sp, 0x98
+ str r1, [r0, 0x4]
+ add r0, sp, 0xB0
+ str r1, [r0, 0x4]
+ add r0, sp, 0x8
+ adds r1, r4, 0
+ movs r2, 0x60
+ bl memcpy
+ ldr r0, _0805FE40
+ strb r6, [r0]
+ mov r2, r9
+ strh r2, [r0, 0x4]
+ strh r2, [r0, 0x6]
+ cmp r7, 0
+ beq _0805FE18
+ ldrb r1, [r7]
+ negs r0, r1
+ orrs r0, r1
+ lsrs r0, 31
+ str r0, [sp, 0xD8]
+ ldrb r1, [r7, 0x1]
+ negs r0, r1
+ orrs r0, r1
+ lsrs r0, 31
+ str r0, [sp, 0xD0]
+ ldrb r1, [r7, 0x2]
+ negs r0, r1
+ orrs r0, r1
+ lsrs r0, 31
+ str r0, [sp, 0xD4]
+ ldrb r1, [r7, 0x3]
+ negs r0, r1
+ orrs r0, r1
+ lsrs r0, 31
+ str r0, [sp, 0xDC]
+_0805FE18:
+ ldr r0, _0805FE44
+ mov r5, r10
+ str r5, [sp]
+ ldr r1, [sp, 0xD4]
+ ldr r2, [sp, 0xD0]
+ ldr r3, [sp, 0xDC]
+ bl sub_8060D64
+ ldr r1, _0805FE48
+ str r0, [r1]
+ cmp r0, 0
+ bne _0805FEA6
+ ldr r0, _0805FE4C
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+ movs r0, 0x1
+ b _080603BE
+ .align 2, 0
+_0805FE40: .4byte gUnknown_202F238
+_0805FE44: .4byte gUnknown_202F248
+_0805FE48: .4byte gUnknown_202F258
+_0805FE4C: .4byte gUnknown_80F8B24
+_0805FE50:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ movs r0, 0x1
+ mov r9, r0
+ b _0806039C
+_0805FE5E:
+ ldr r0, [sp, 0xE0]
+ adds r0, 0x44
+ movs r1, 0xC
+ bl SetAction
+ ldr r0, _0805FE78
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ ldr r2, [sp, 0xE0]
+ str r0, [r2, 0x48]
+ str r1, [r2, 0x4C]
+ b _0805FE88
+ .align 2, 0
+_0805FE78: .4byte gUnknown_202F238
+_0805FE7C:
+ ldr r0, _0805FE98
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ ldr r2, [sp, 0xE0]
+ str r0, [r2, 0x50]
+ str r1, [r2, 0x54]
+_0805FE88:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ movs r5, 0
+ mov r9, r5
+ b _0806039C
+ .align 2, 0
+_0805FE98: .4byte gUnknown_202F238
+_0805FE9C:
+ ldr r1, [r1]
+ ldr r0, [sp, 0xE0]
+ adds r0, 0x50
+ strb r1, [r0]
+ b _0806033C
+_0805FEA6:
+ movs r1, 0
+ mov r8, r1
+ ldr r0, _0805FFA8
+ mov r2, r9
+ str r2, [r0]
+_0805FEB0:
+ movs r5, 0
+ mov r9, r5
+ movs r4, 0
+ ldr r6, _0805FFAC
+_0805FEB8:
+ lsls r1, r4, 2
+ ldr r0, [r6]
+ adds r2, r0, r1
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0805FEEC
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0805FEEC
+ movs r0, 0xFB
+ ands r0, r1
+ strb r0, [r2]
+ adds r0, r4, 0
+ movs r1, 0xA
+ bl __divsi3
+ mov r8, r0
+ adds r0, r4, 0
+ movs r1, 0xA
+ bl __modsi3
+ ldr r1, _0805FFA8
+ str r0, [r1]
+_0805FEEC:
+ adds r4, 0x1
+ cmp r4, 0x13
+ ble _0805FEB8
+ movs r6, 0
+_0805FEF4:
+ ldr r0, _0805FFB0
+ ldr r0, [r0]
+ lsls r1, r6, 2
+ ldr r2, _0805FFB4
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl EntityExists
+ lsls r0, 24
+ adds r5, r6, 0x1
+ mov r12, r5
+ cmp r0, 0
+ beq _0805FF66
+ ldr r0, [r4, 0x70]
+ adds r2, r0, 0
+ adds r2, 0x60
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0805FF66
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0805FF66
+ movs r0, 0xFB
+ ands r0, r1
+ strb r0, [r2]
+ movs r4, 0
+ ldr r0, _0805FFB8
+ ldr r1, [r0]
+ adds r5, r0, 0
+ ldr r7, _0805FFA8
+ cmp r4, r1
+ bge _0805FF62
+ ldr r0, _0805FFBC
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ adds r3, r0, 0
+ adds r2, r6, 0x4
+ cmp r1, r2
+ beq _0805FF60
+_0805FF4C:
+ adds r4, 0x1
+ ldr r0, [r5]
+ cmp r4, r0
+ bge _0805FF62
+ lsls r0, r4, 1
+ adds r0, r3
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, r2
+ bne _0805FF4C
+_0805FF60:
+ mov r8, r4
+_0805FF62:
+ movs r0, 0
+ str r0, [r7]
+_0805FF66:
+ mov r6, r12
+ cmp r6, 0x3
+ ble _0805FEF4
+ add r2, sp, 0x8
+ str r2, [sp]
+ add r5, sp, 0xC8
+ str r5, [sp, 0x4]
+ mov r0, r8
+ mov r1, r10
+ ldr r2, [sp, 0xD8]
+ ldr r3, [sp, 0xD4]
+ bl CreateFieldItemMenu
+ ldr r1, _0805FFBC
+ ldr r0, _0805FFC0
+ movs r2, 0x1E
+ ldrsh r0, [r0, r2]
+ lsls r0, 1
+ adds r0, r1
+ movs r5, 0
+ ldrsh r2, [r0, r5]
+ cmp r2, 0x3
+ ble _0805FFE6
+ ldr r0, _0805FFB0
+ ldr r1, [r0]
+ subs r0, r2, 0x4
+ lsls r0, 2
+ ldr r2, _0805FFB4
+ adds r1, r2
+ adds r1, r0
+ ldr r4, [r1]
+ b _0805FFE8
+ .align 2, 0
+_0805FFA8: .4byte gUnknown_202F240
+_0805FFAC: .4byte gTeamInventory_203B460
+_0805FFB0: .4byte gDungeonGlobalData
+_0805FFB4: .4byte 0x0001357c
+_0805FFB8: .4byte gUnknown_202F258
+_0805FFBC: .4byte gUnknown_202F248
+_0805FFC0: .4byte gUnknown_202EE10
+_0805FFC4:
+ bl sub_8083D44
+ mov r0, r10
+ adds r0, 0x4
+ bl sub_8060890
+ movs r5, 0x3
+ mov r9, r5
+ b _08060200
+_0805FFD6:
+ bl sub_8083D08
+ ldr r0, [sp, 0xE0]
+ adds r0, 0x44
+ bl sub_8060CE8
+ movs r0, 0
+ b _080602F0
+_0805FFE6:
+ mov r4, r10
+_0805FFE8:
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_806A2BC
+ adds r0, r4, 0x4
+ movs r1, 0
+ movs r2, 0x1
+ movs r3, 0x1
+ bl sub_804A728
+ ldr r6, _08060050
+ adds r7, r6, 0
+ adds r7, 0x2B
+_08060002:
+ adds r0, r6, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x14
+ bl sub_803E46C
+ ldr r1, [sp, 0xD4]
+ cmp r1, 0
+ beq _08060016
+ b _080601F4
+_08060016:
+ ldr r4, _08060054
+ ldr r0, [r4]
+ cmp r0, 0x1
+ ble _0806008C
+ ldr r0, _08060058
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ bne _08060034
+ adds r0, r6, 0
+ adds r0, 0x2C
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0806005C
+_08060034:
+ movs r0, 0
+ bl sub_8083CE0
+ movs r2, 0x1
+ negs r2, r2
+ add r8, r2
+ mov r5, r8
+ cmp r5, 0
+ bge _0806007E
+ ldr r0, [r4]
+ subs r0, 0x1
+ mov r8, r0
+ b _0806007E
+ .align 2, 0
+_08060050: .4byte gUnknown_202EE10
+_08060054: .4byte gUnknown_202F258
+_08060058: .4byte gRealInputs
+_0806005C:
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ bne _0806006A
+ ldrb r0, [r7]
+ cmp r0, 0
+ beq _0806008C
+_0806006A:
+ movs r0, 0
+ bl sub_8083CE0
+ movs r2, 0x1
+ add r8, r2
+ ldr r0, [r4]
+ cmp r8, r0
+ bne _0806007E
+ movs r5, 0
+ mov r8, r5
+_0806007E:
+ ldr r0, [sp, 0xD4]
+ ldr r1, _08060088
+ str r0, [r1]
+ b _08060200
+ .align 2, 0
+_08060088: .4byte gUnknown_202F240
+_0806008C:
+ ldr r0, _08060134
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080600B2
+ mov r0, r8
+ bl sub_8060860
+ lsls r0, 24
+ cmp r0, 0
+ beq _080600B2
+ movs r0, 0x1
+ bl sub_8083CE0
+ ldr r0, _08060138
+ movs r1, 0x1
+ bl sub_80136E0
+_080600B2:
+ ldr r0, _08060134
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _080600D8
+ mov r0, r8
+ bl sub_8060860
+ lsls r0, 24
+ cmp r0, 0
+ beq _080600D8
+ movs r0, 0x1
+ bl sub_8083CE0
+ ldr r0, _08060138
+ movs r1, 0x1
+ bl sub_8013744
+_080600D8:
+ ldr r0, _08060134
+ ldrh r2, [r0, 0x2]
+ movs r1, 0x4
+ ands r1, r2
+ adds r2, r0, 0
+ cmp r1, 0
+ beq _080601A0
+ ldr r4, _0806013C
+ mov r5, r8
+ lsls r0, r5, 1
+ adds r0, r4
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x1
+ bgt _080601A0
+ movs r7, 0x1
+ movs r0, 0x99
+ lsls r0, 1
+ bl PlaySoundEffect
+ bl sub_8047158
+ bl ConvertMoneyItemToMoney
+ movs r0, 0
+ ldr r2, _08060140
+ str r0, [r2]
+ mov r5, r10
+ str r5, [sp]
+ add r0, sp, 0x68
+ ldr r1, [sp, 0xD4]
+ ldr r2, [sp, 0xD0]
+ ldr r3, [sp, 0xDC]
+ bl sub_8060D64
+ adds r3, r0, 0
+ ldr r0, _08060144
+ ldr r0, [r0]
+ cmp r0, r3
+ bne _08060164
+ movs r6, 0
+ cmp r6, r3
+ bge _0806015E
+ add r2, sp, 0x68
+ b _08060152
+ .align 2, 0
+_08060134: .4byte gRealInputs
+_08060138: .4byte gUnknown_202EE10
+_0806013C: .4byte gUnknown_202F248
+_08060140: .4byte gUnknown_202F240
+_08060144: .4byte gUnknown_202F258
+_08060148:
+ adds r4, 0x2
+ adds r2, 0x2
+ adds r6, 0x1
+ cmp r6, r3
+ bge _0806015E
+_08060152:
+ movs r0, 0
+ ldrsh r1, [r2, r0]
+ movs r5, 0
+ ldrsh r0, [r4, r5]
+ cmp r1, r0
+ beq _08060148
+_0806015E:
+ cmp r6, r3
+ bne _08060164
+ movs r7, 0
+_08060164:
+ cmp r7, 0
+ beq _08060200
+ movs r0, 0
+ mov r8, r0
+ ldr r1, _08060194
+ str r0, [r1]
+ ldr r0, _08060198
+ str r3, [r0]
+ movs r6, 0
+ adds r5, r0, 0
+ cmp r6, r3
+ bge _08060200
+ adds r3, r5, 0
+ add r1, sp, 0x68
+ ldr r2, _0806019C
+_08060182:
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, 0x2
+ adds r2, 0x2
+ adds r6, 0x1
+ ldr r0, [r3]
+ cmp r6, r0
+ blt _08060182
+ b _08060200
+ .align 2, 0
+_08060194: .4byte gUnknown_202F240
+_08060198: .4byte gUnknown_202F258
+_0806019C: .4byte gUnknown_202F248
+_080601A0:
+ ldrh r1, [r2, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080601B6
+ ldr r2, _080601C8
+ adds r0, r2, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080601CC
+_080601B6:
+ bl sub_8083D08
+ mov r0, r10
+ adds r0, 0x4
+ bl sub_8060890
+ movs r2, 0x1
+ mov r9, r2
+ b _08060200
+ .align 2, 0
+_080601C8: .4byte gUnknown_202EE10
+_080601CC:
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _080601D6
+ b _0805FFC4
+_080601D6:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080601EA
+ adds r0, r2, 0
+ adds r0, 0x2A
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080601EA
+ b _08060002
+_080601EA:
+ bl sub_8083D30
+ movs r5, 0x2
+ mov r9, r5
+ b _08060200
+_080601F4:
+ mov r0, r10
+ adds r0, 0x4
+ bl sub_8060890
+ movs r0, 0x1
+ mov r9, r0
+_08060200:
+ ldr r4, _0806034C
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x14
+ bl sub_803E46C
+ ldr r1, _08060350
+ movs r2, 0x1E
+ ldrsh r0, [r4, r2]
+ lsls r0, 1
+ adds r0, r1
+ movs r5, 0
+ ldrsh r0, [r0, r5]
+ cmp r0, 0x1
+ bgt _08060232
+ ldr r0, _08060354
+ ldr r0, [r0]
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08060232
+ movs r0, 0x2
+ mov r9, r0
+_08060232:
+ mov r1, r9
+ cmp r1, 0x2
+ bne _0806023A
+ b _0805FE50
+_0806023A:
+ cmp r1, 0
+ bne _08060240
+ b _0805FEB0
+_08060240:
+ cmp r1, 0x3
+ bne _08060246
+ b _0805FE5E
+_08060246:
+ ldr r4, _0806034C
+ movs r2, 0x18
+ ldrsh r0, [r4, r2]
+ ldr r5, _08060358
+ str r0, [r5]
+ ldr r0, [sp, 0xD8]
+ cmp r0, 0
+ beq _08060258
+ b _0805FE7C
+_08060258:
+ mov r0, r10
+ bl sub_8060900
+ movs r2, 0x1E
+ ldrsh r1, [r4, r2]
+ add r0, sp, 0xC8
+ bl sub_8060800
+ add r0, sp, 0x8
+ movs r1, 0x16
+ bl sub_805FC30
+ ldr r6, _0806035C
+ adds r7, r4, 0
+ adds r7, 0x2A
+_08060276:
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x14
+ bl sub_803E46C
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _0806029A
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_0806029A:
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _080602B2
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013744
+_080602B2:
+ ldrh r1, [r6, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080602C6
+ adds r0, r4, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080602DA
+_080602C6:
+ movs r5, 0x18
+ ldrsh r0, [r4, r5]
+ bl sub_8044F3C
+ lsls r0, 24
+ cmp r0, 0
+ beq _080602D6
+ b _0805FFD6
+_080602D6:
+ bl sub_8083D30
+_080602DA:
+ ldrh r1, [r6, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080602EA
+ ldrb r0, [r7]
+ cmp r0, 0
+ beq _08060276
+_080602EA:
+ bl sub_8083D30
+ movs r0, 0x1
+_080602F0:
+ mov r9, r0
+ ldr r0, _0806034C
+ bl AddMenuCursorSprite
+ movs r0, 0x14
+ bl sub_803E46C
+ ldr r0, _08060360
+ ldr r0, [r0]
+ ldr r1, _08060364
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ mov r2, r9
+ cmp r2, 0x1
+ bne _08060318
+ ldr r5, [sp, 0xD4]
+ cmp r5, 0
+ bne _08060318
+ b _0805FEB0
+_08060318:
+ ldr r0, [sp, 0xE0]
+ adds r0, 0x44
+ ldrh r1, [r0]
+ adds r0, r1, 0
+ subs r0, 0x37
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1
+ bls _08060330
+ adds r0, r1, 0
+ cmp r0, 0x3E
+ bne _0806036C
+_08060330:
+ ldr r0, _08060368
+ ldrb r0, [r0]
+ subs r0, 0x90
+ ldr r1, [sp, 0xE0]
+ adds r1, 0x48
+ strb r0, [r1]
+_0806033C:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ movs r0, 0
+ mov r9, r0
+ b _0806039C
+ .align 2, 0
+_0806034C: .4byte gUnknown_202EE10
+_08060350: .4byte gUnknown_202F248
+_08060354: .4byte gTeamInventory_203B460
+_08060358: .4byte gUnknown_202F240
+_0806035C: .4byte gRealInputs
+_08060360: .4byte gDungeonGlobalData
+_08060364: .4byte 0x00018212
+_08060368: .4byte gUnknown_202F238
+_0806036C:
+ cmp r0, 0x36
+ bne _08060390
+ add r0, sp, 0xCC
+ movs r1, 0x2
+ bl DrawFieldGiveItemMenu
+ add r1, sp, 0xCC
+ cmp r0, 0
+ beq _08060380
+ b _0805FE9C
+_08060380:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ movs r0, 0x1
+ bl sub_8044C10
+ b _0805FEB0
+_08060390:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ movs r1, 0
+ mov r9, r1
+_0806039C:
+ ldr r0, _080603D0
+ ldr r0, [r0]
+ ldr r2, _080603D4
+ adds r0, r2
+ movs r1, 0
+ strb r1, [r0]
+ movs r0, 0x2
+ movs r1, 0x61
+ bl sub_803E708
+ bl sub_804AA60
+ movs r0, 0x2
+ movs r1, 0x61
+ bl sub_803E708
+ mov r0, r9
+_080603BE:
+ add sp, 0xE4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080603D0: .4byte gDungeonGlobalData
+_080603D4: .4byte 0x00018212
+ thumb_func_end sub_805FD74
+
+ thumb_func_start CreateFieldItemMenu
+CreateFieldItemMenu:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x78
+ adds r7, r0, 0
+ mov r9, r1
+ ldr r6, [sp, 0x98]
+ ldr r0, [sp, 0x9C]
+ mov r8, r0
+ lsls r2, 24
+ lsrs r2, 24
+ str r2, [sp, 0x6C]
+ lsls r3, 24
+ lsrs r3, 24
+ str r3, [sp, 0x70]
+ add r1, sp, 0x4
+ ldr r0, _08060478
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ mov r0, r9
+ ldr r0, [r0, 0x70]
+ str r0, [sp, 0x74]
+ mov r0, r8
+ adds r1, r7, 0
+ bl sub_8060800
+ mov r10, r0
+ ldr r5, _0806047C
+ ldr r0, _08060480
+ ldr r0, [r0]
+ movs r4, 0
+ movs r1, 0
+ strh r0, [r5, 0x18]
+ strh r1, [r5, 0x1A]
+ strh r7, [r5, 0x1E]
+ ldr r0, _08060484
+ ldr r0, [r0]
+ strh r0, [r5, 0x20]
+ strh r1, [r5, 0x4]
+ str r1, [r5]
+ strh r1, [r5, 0x14]
+ adds r0, r5, 0
+ adds r0, 0x28
+ bl sub_801317C
+ ldr r3, _08060488
+ ldr r0, [r3]
+ ldr r2, _0806048C
+ adds r0, r2
+ strb r4, [r0]
+ ldr r1, _08060490
+ lsls r0, r7, 1
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x2
+ beq _08060494
+ cmp r0, 0x2
+ bgt _080604AA
+ cmp r0, 0
+ blt _080604AA
+ movs r1, 0x10
+ strh r1, [r6, 0x10]
+ strh r1, [r6, 0xE]
+ movs r0, 0xC
+ mov r4, r8
+ strb r0, [r4, 0x2]
+ strh r1, [r5, 0x6]
+ movs r0, 0xA
+ strh r0, [r5, 0x1C]
+ ldr r0, [r3]
+ adds r0, r2
+ movs r1, 0x1
+ strb r1, [r0]
+ b _080604C0
+ .align 2, 0
+_08060478: .4byte gUnknown_8106B6C
+_0806047C: .4byte gUnknown_202EE10
+_08060480: .4byte gUnknown_202F240
+_08060484: .4byte gUnknown_202F258
+_08060488: .4byte gDungeonGlobalData
+_0806048C: .4byte 0x00018212
+_08060490: .4byte gUnknown_202F248
+_08060494:
+ movs r0, 0x4
+ strh r0, [r6, 0x10]
+ strh r0, [r6, 0xE]
+ movs r0, 0x6
+ mov r1, r8
+ strb r0, [r1, 0x2]
+ movs r0, 0x12
+ strh r0, [r5, 0x6]
+ movs r0, 0x1
+ strh r0, [r5, 0x1C]
+ b _080604C0
+_080604AA:
+ movs r0, 0x4
+ strh r0, [r6, 0x10]
+ strh r0, [r6, 0xE]
+ movs r0, 0xC
+ mov r2, r8
+ strb r0, [r2, 0x2]
+ ldr r1, _080604DC
+ movs r0, 0x12
+ strh r0, [r1, 0x6]
+ movs r0, 0x1
+ strh r0, [r1, 0x1C]
+_080604C0:
+ ldr r3, [sp, 0x6C]
+ cmp r3, 0
+ beq _080604E0
+ ldr r1, _080604DC
+ ldrh r0, [r1, 0xC]
+ adds r0, 0x40
+ strh r0, [r1, 0xC]
+ movs r0, 0xA
+ strh r0, [r6, 0x8]
+ adds r1, r6, 0
+ adds r1, 0x18
+ add r0, sp, 0x4
+ b _080604EC
+ .align 2, 0
+_080604DC: .4byte gUnknown_202EE10
+_080604E0:
+ movs r0, 0x2
+ strh r0, [r6, 0x8]
+ adds r1, r6, 0
+ adds r1, 0x18
+ adds r0, r6, 0
+ adds r0, 0x48
+_080604EC:
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl sub_803ECB4
+ ldr r1, _0806054C
+ ldr r5, _08060550
+ movs r4, 0
+ ldrsh r0, [r1, r4]
+ adds r0, 0x10
+ lsls r0, 3
+ movs r2, 0
+ mov r8, r2
+ strh r0, [r5, 0xC]
+ movs r3, 0x2
+ ldrsh r0, [r1, r3]
+ adds r0, 0x1
+ lsls r0, 3
+ subs r0, 0x2
+ strh r0, [r5, 0xE]
+ adds r0, r5, 0
+ movs r1, 0x70
+ bl sub_80137B0
+ movs r0, 0
+ bl sub_80073B8
+ mov r4, r10
+ subs r0, r7, r4
+ lsls r0, 3
+ adds r6, r0, 0
+ adds r6, 0xC
+ ldr r0, _08060554
+ lsls r1, r7, 1
+ adds r0, r1, r0
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ adds r2, r1, 0
+ cmp r0, 0x1
+ beq _080605CC
+ cmp r0, 0x1
+ bgt _08060558
+ cmp r0, 0
+ beq _08060564
+ b _08060718
+ .align 2, 0
+_0806054C: .4byte gUnknown_2027370
+_08060550: .4byte gUnknown_202EE10
+_08060554: .4byte gUnknown_202F248
+_08060558:
+ cmp r0, 0x2
+ beq _0806063C
+ cmp r0, 0x3
+ bne _08060562
+ b _080606B0
+_08060562:
+ b _08060718
+_08060564:
+ ldr r0, _080605C0
+ ldr r2, [r0]
+ mov r3, r8
+ str r3, [sp]
+ adds r0, r6, 0
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r4, 0
+ adds r6, r5, 0
+ movs r7, 0
+ add r5, sp, 0x1C
+_0806057E:
+ lsls r1, r4, 2
+ ldr r0, _080605C4
+ ldr r0, [r0]
+ adds r2, r1, r0
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08060592
+ b _08060794
+_08060592:
+ ldrh r0, [r6, 0x1A]
+ adds r0, 0x1
+ strh r0, [r6, 0x1A]
+ adds r0, r5, 0
+ adds r1, r2, 0
+ ldr r2, _080605C8
+ bl sub_8090E14
+ adds r0, r6, 0
+ adds r1, r4, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ str r7, [sp]
+ movs r0, 0x8
+ adds r2, r5, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ adds r4, 0x1
+ cmp r4, 0x9
+ ble _0806057E
+ b _08060794
+ .align 2, 0
+_080605C0: .4byte gTeamToolboxAPtr
+_080605C4: .4byte gTeamInventory_203B460
+_080605C8: .4byte gUnknown_8106B60
+_080605CC:
+ ldr r0, _08060630
+ ldr r2, [r0]
+ mov r4, r8
+ str r4, [sp]
+ adds r0, r6, 0
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r4, 0
+ adds r6, r5, 0
+ movs r7, 0
+ add r5, sp, 0x1C
+_080605E6:
+ lsls r3, r4, 2
+ ldr r0, _08060634
+ ldr r2, [r0]
+ adds r0, r3, r2
+ adds r0, 0x28
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080605FC
+ b _08060794
+_080605FC:
+ ldrh r0, [r6, 0x1A]
+ adds r0, 0x1
+ strh r0, [r6, 0x1A]
+ adds r1, r3, 0
+ adds r1, 0x28
+ adds r1, r2, r1
+ adds r0, r5, 0
+ ldr r2, _08060638
+ bl sub_8090E14
+ adds r0, r6, 0
+ adds r1, r4, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ str r7, [sp]
+ movs r0, 0x8
+ adds r2, r5, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ adds r4, 0x1
+ cmp r4, 0x9
+ ble _080605E6
+ b _08060794
+ .align 2, 0
+_08060630: .4byte gTeamToolboxBPtr
+_08060634: .4byte gTeamInventory_203B460
+_08060638: .4byte gUnknown_8106B60
+_0806063C:
+ mov r1, r9
+ movs r2, 0x4
+ ldrsh r0, [r1, r2]
+ movs r3, 0x6
+ ldrsh r1, [r1, r3]
+ bl GetMapTile_1
+ ldr r0, [r0, 0x14]
+ bl GetItemData
+ adds r7, r0, 0
+ ldr r0, _080606A8
+ ldr r2, [r0]
+ mov r4, r8
+ str r4, [sp]
+ adds r0, r6, 0
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldrb r1, [r7]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08060698
+ ldrh r0, [r5, 0x1A]
+ adds r0, 0x1
+ strh r0, [r5, 0x1A]
+ add r4, sp, 0x1C
+ ldr r2, _080606AC
+ adds r0, r4, 0
+ adds r1, r7, 0
+ bl sub_8090E14
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ mov r0, r8
+ str r0, [sp]
+ movs r0, 0x8
+ adds r2, r4, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+_08060698:
+ ldr r1, [sp, 0x70]
+ cmp r1, 0
+ beq _08060794
+ mov r2, r8
+ strh r2, [r5, 0xA]
+ strh r2, [r5, 0x8]
+ b _08060794
+ .align 2, 0
+_080606A8: .4byte gFieldItemMenuGroundTextPtr
+_080606AC: .4byte gUnknown_8106B60
+_080606B0:
+ mov r3, r9
+ ldr r0, [r3, 0x70]
+ adds r7, r0, 0
+ adds r7, 0x60
+ ldr r0, _0806070C
+ ldr r1, [sp, 0x74]
+ movs r2, 0
+ bl SetMessageArgument_2
+ ldr r0, _08060710
+ ldr r2, [r0]
+ mov r4, r8
+ str r4, [sp]
+ adds r0, r6, 0
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldrb r1, [r7]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08060794
+ ldrh r0, [r5, 0x1A]
+ adds r0, 0x1
+ strh r0, [r5, 0x1A]
+ add r4, sp, 0x1C
+ ldr r2, _08060714
+ adds r0, r4, 0
+ adds r1, r7, 0
+ bl sub_8090E14
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ mov r0, r8
+ str r0, [sp]
+ movs r0, 0x8
+ adds r2, r4, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ b _08060794
+ .align 2, 0
+_0806070C: .4byte gAvailablePokemonNames
+_08060710: .4byte gUnknown_80FE940
+_08060714: .4byte gUnknown_8106B60
+_08060718:
+ ldr r0, _080607E0
+ ldr r1, [r0]
+ ldr r0, _080607E4
+ adds r0, r2, r0
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ subs r0, 0x4
+ lsls r0, 2
+ ldr r3, _080607E8
+ adds r1, r3
+ adds r1, r0
+ ldr r4, [r1]
+ adds r0, r4, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08060794
+ ldr r1, [r4, 0x70]
+ adds r7, r1, 0
+ adds r7, 0x60
+ ldr r0, _080607EC
+ movs r2, 0
+ bl SetMessageArgument_2
+ ldr r0, _080607F0
+ ldr r2, [r0]
+ movs r4, 0
+ mov r8, r4
+ str r4, [sp]
+ adds r0, r6, 0
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldrb r1, [r7]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08060794
+ ldr r4, _080607F4
+ ldrh r0, [r4, 0x1A]
+ adds r0, 0x1
+ strh r0, [r4, 0x1A]
+ add r5, sp, 0x1C
+ ldr r2, _080607F8
+ adds r0, r5, 0
+ adds r1, r7, 0
+ bl sub_8090E14
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ mov r0, r8
+ str r0, [sp]
+ movs r0, 0x8
+ adds r2, r5, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+_08060794:
+ ldr r2, _080607F4
+ movs r3, 0x18
+ ldrsh r1, [r2, r3]
+ movs r4, 0x1A
+ ldrsh r0, [r2, r4]
+ cmp r1, r0
+ blt _080607A6
+ movs r0, 0
+ strh r0, [r2, 0x18]
+_080607A6:
+ movs r0, 0
+ bl sub_80073E0
+ ldr r0, [sp, 0x6C]
+ cmp r0, 0
+ beq _080607D0
+ movs r0, 0x1
+ bl sub_80073B8
+ ldr r0, _080607FC
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ movs r1, 0x2
+ movs r3, 0x1
+ bl xxx_format_and_draw
+ movs r0, 0x1
+ bl sub_80073E0
+_080607D0:
+ add sp, 0x78
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080607E0: .4byte gDungeonGlobalData
+_080607E4: .4byte gUnknown_202F248
+_080607E8: .4byte 0x0001357c
+_080607EC: .4byte gAvailablePokemonNames
+_080607F0: .4byte gUnknown_80FE940
+_080607F4: .4byte gUnknown_202EE10
+_080607F8: .4byte gUnknown_8106B60
+_080607FC: .4byte gWhichTextPtr1
+ thumb_func_end CreateFieldItemMenu
+
+ thumb_func_start sub_8060800
+sub_8060800:
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ movs r1, 0
+ ldr r0, _0806083C
+ ldr r2, [r0]
+ mov r12, r0
+ ldr r6, _08060840
+ cmp r1, r2
+ bge _08060828
+ adds r3, r6, 0
+_08060816:
+ movs r7, 0
+ ldrsh r0, [r3, r7]
+ cmp r0, 0x1
+ bgt _08060820
+ adds r1, 0x1
+_08060820:
+ adds r3, 0x2
+ subs r2, 0x1
+ cmp r2, 0
+ bne _08060816
+_08060828:
+ lsls r0, r4, 1
+ adds r0, r6
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r0, 0x1
+ bgt _08060844
+ adds r3, r4, 0
+ adds r2, r1, 0
+ movs r1, 0
+ b _0806084C
+ .align 2, 0
+_0806083C: .4byte gUnknown_202F258
+_08060840: .4byte gUnknown_202F248
+_08060844:
+ subs r3, r4, r1
+ mov r7, r12
+ ldr r0, [r7]
+ subs r2, r0, r1
+_0806084C:
+ cmp r5, 0
+ beq _08060858
+ movs r0, 0
+ strb r2, [r5]
+ strb r3, [r5, 0x1]
+ strb r0, [r5, 0x3]
+_08060858:
+ adds r0, r1, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8060800
+
+ thumb_func_start sub_8060860
+sub_8060860:
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, _08060880
+ movs r2, 0x1A
+ ldrsh r0, [r0, r2]
+ cmp r0, 0x1
+ ble _0806087C
+ ldr r0, _08060884
+ lsls r1, 1
+ adds r1, r0
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x1
+ ble _08060888
+_0806087C:
+ movs r0, 0
+ b _0806088A
+ .align 2, 0
+_08060880: .4byte gUnknown_202EE10
+_08060884: .4byte gUnknown_202F248
+_08060888:
+ movs r0, 0x1
+_0806088A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8060860
+
+ thumb_func_start sub_8060890
+sub_8060890:
+ push {r4,lr}
+ adds r3, r0, 0
+ ldr r1, _080608B4
+ ldr r2, _080608B8
+ movs r4, 0x1E
+ ldrsh r0, [r2, r4]
+ lsls r0, 1
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x1
+ beq _080608D0
+ cmp r0, 0x1
+ bgt _080608BC
+ cmp r0, 0
+ beq _080608C2
+ b _080608E8
+ .align 2, 0
+_080608B4: .4byte gUnknown_202F248
+_080608B8: .4byte gUnknown_202EE10
+_080608BC:
+ cmp r0, 0x2
+ beq _080608DC
+ b _080608E8
+_080608C2:
+ ldr r1, _080608CC
+ ldrb r0, [r2, 0x18]
+ adds r0, 0x1
+ b _080608EC
+ .align 2, 0
+_080608CC: .4byte gUnknown_202F238
+_080608D0:
+ ldr r1, _080608D8
+ ldrb r0, [r2, 0x18]
+ adds r0, 0xB
+ b _080608EC
+ .align 2, 0
+_080608D8: .4byte gUnknown_202F238
+_080608DC:
+ ldr r1, _080608E4
+ movs r0, 0x80
+ b _080608EC
+ .align 2, 0
+_080608E4: .4byte gUnknown_202F238
+_080608E8:
+ ldr r1, _080608FC
+ subs r0, 0x74
+_080608EC:
+ strb r0, [r1]
+ ldrh r0, [r3]
+ strh r0, [r1, 0x4]
+ ldrh r0, [r3, 0x2]
+ strh r0, [r1, 0x6]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080608FC: .4byte gUnknown_202F238
+ thumb_func_end sub_8060890
+
+ thumb_func_start sub_8060900
+sub_8060900:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ mov r9, r0
+ ldr r4, _08060964
+ adds r1, r4, 0
+ movs r2, 0xA
+ bl sub_8044CC8
+ adds r7, r0, 0
+ mov r0, r9
+ ldr r0, [r0, 0x70]
+ mov r10, r0
+ ldr r1, _08060968
+ movs r0, 0
+ str r0, [r1]
+ ldrb r0, [r4]
+ cmp r0, 0x8F
+ bls _0806092C
+ b _08060BD0
+_0806092C:
+ cmp r0, 0x80
+ bne _080609B0
+ ldrb r1, [r7, 0x2]
+ movs r0, 0x9
+ bl sub_8044F5C
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x6
+ beq _08060992
+ movs r2, 0
+ ldr r0, _0806096C
+ ldr r0, [r0]
+ ldr r1, _08060970
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08060978
+ ldr r0, _08060974
+ ldr r0, [r0]
+ adds r0, 0x4C
+ ldrb r0, [r0]
+ movs r2, 0x1
+ ands r2, r0
+ b _08060988
+ .align 2, 0
+_08060964: .4byte gUnknown_202F238
+_08060968: .4byte gUnknown_202EE6C
+_0806096C: .4byte gDungeonGlobalData
+_08060970: .4byte 0x0000065b
+_08060974: .4byte gTeamInventory_203B460
+_08060978:
+ mov r0, r10
+ adds r0, 0x60
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08060988
+ movs r2, 0x1
+_08060988:
+ cmp r2, 0
+ beq _08060992
+ movs r0, 0x9
+ bl sub_8044FF0
+_08060992:
+ ldr r0, _08060A20
+ ldrb r0, [r0]
+ cmp r0, 0x80
+ bne _080609B0
+ ldr r0, _08060A24
+ ldr r0, [r0]
+ ldr r2, _08060A28
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080609B0
+ ldrb r1, [r7, 0x2]
+ movs r0, 0xA
+ bl sub_8044F5C
+_080609B0:
+ adds r0, r7, 0
+ bl sub_8044DC8
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0
+ beq _080609E8
+ ldrb r1, [r7, 0x2]
+ adds r0, r4, 0
+ bl sub_8044F5C
+ ldrb r1, [r7]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _080609D6
+ adds r0, r4, 0
+ bl sub_8044FF0
+_080609D6:
+ adds r0, r7, 0
+ bl sub_8046F00
+ lsls r0, 24
+ cmp r0, 0
+ bne _080609E8
+ adds r0, r4, 0
+ bl sub_8044FF0
+_080609E8:
+ ldr r0, _08060A20
+ ldrb r0, [r0]
+ cmp r0, 0x14
+ bhi _08060A6C
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ cmp r0, 0
+ beq _08060A0A
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08060A6C
+_08060A0A:
+ ldrb r1, [r7]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08060A3A
+ ldrb r1, [r7, 0x2]
+ movs r0, 0x3D
+ bl sub_8044F5C
+ b _08060A42
+ .align 2, 0
+_08060A20: .4byte gUnknown_202F238
+_08060A24: .4byte gDungeonGlobalData
+_08060A28: .4byte 0x0000065b
+_08060A2C:
+ movs r0, 0x3C
+ bl sub_8044FF0
+ movs r0, 0x3D
+ bl sub_8044FF0
+ b _08060A6C
+_08060A3A:
+ ldrb r1, [r7, 0x2]
+ movs r0, 0x3C
+ bl sub_8044F5C
+_08060A42:
+ movs r3, 0
+ ldr r0, _08060AD4
+ ldr r2, [r0]
+ movs r4, 0x1
+_08060A4A:
+ ldrb r1, [r2]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08060A64
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08060A64
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _08060A2C
+_08060A64:
+ adds r2, 0x4
+ adds r3, 0x1
+ cmp r3, 0x13
+ ble _08060A4A
+_08060A6C:
+ ldr r0, _08060AD8
+ ldrb r0, [r0]
+ cmp r0, 0x81
+ beq _08060AE8
+ cmp r0, 0x80
+ beq _08060B3C
+ movs r3, 0
+ mov r8, r3
+ ldrb r1, [r7, 0x2]
+ movs r0, 0x36
+ bl sub_8044F5C
+ movs r6, 0
+_08060A86:
+ ldr r0, _08060ADC
+ ldr r0, [r0]
+ lsls r1, r6, 2
+ ldr r2, _08060AE0
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08060ABE
+ ldr r0, [r4, 0x70]
+ ldr r3, _08060AE4
+ adds r5, r0, r3
+ movs r0, 0
+ strb r0, [r5]
+ adds r0, r4, 0
+ bl CannotUseItems
+ lsls r0, 24
+ cmp r0, 0
+ bne _08060ABE
+ movs r0, 0x1
+ mov r8, r0
+ mov r1, r8
+ strb r1, [r5]
+_08060ABE:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08060A86
+ mov r2, r8
+ cmp r2, 0
+ bne _08060B3C
+ movs r0, 0x36
+ bl sub_8044FF0
+ b _08060B3C
+ .align 2, 0
+_08060AD4: .4byte gTeamInventory_203B460
+_08060AD8: .4byte gUnknown_202F238
+_08060ADC: .4byte gDungeonGlobalData
+_08060AE0: .4byte 0x0001357c
+_08060AE4: .4byte 0x00000157
+_08060AE8:
+ ldr r0, _08060B10
+ ldr r0, [r0]
+ ldr r3, _08060B14
+ adds r0, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08060B3C
+ ldr r0, _08060B18
+ ldr r0, [r0]
+ adds r0, 0x4C
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08060B1C
+ ldrb r1, [r7, 0x2]
+ movs r0, 0x3E
+ bl sub_8044F5C
+ b _08060B24
+ .align 2, 0
+_08060B10: .4byte gDungeonGlobalData
+_08060B14: .4byte 0x0000065b
+_08060B18: .4byte gTeamInventory_203B460
+_08060B1C:
+ ldrb r1, [r7, 0x2]
+ movs r0, 0x37
+ bl sub_8044F5C
+_08060B24:
+ mov r0, r9
+ bl CannotUseItems
+ lsls r0, 24
+ cmp r0, 0
+ beq _08060B3C
+ movs r0, 0x37
+ bl sub_8044FF0
+ movs r0, 0x3E
+ bl sub_8044FF0
+_08060B3C:
+ ldr r0, _08060B64
+ ldrb r0, [r0]
+ cmp r0, 0x14
+ bhi _08060B78
+ mov r1, r9
+ movs r2, 0x4
+ ldrsh r0, [r1, r2]
+ movs r3, 0x6
+ ldrsh r1, [r1, r3]
+ bl GetMapTile_1
+ ldr r0, [r0, 0x14]
+ cmp r0, 0
+ bne _08060B68
+ ldrb r1, [r7, 0x2]
+ movs r0, 0x8
+ bl sub_8044F5C
+ b _08060B78
+ .align 2, 0
+_08060B64: .4byte gUnknown_202F238
+_08060B68:
+ bl GetEntityType
+ cmp r0, 0x3
+ bne _08060B78
+ ldrb r1, [r7, 0x2]
+ movs r0, 0x3A
+ bl sub_8044F5C
+_08060B78:
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ cmp r0, 0
+ bne _08060B8E
+ ldrb r1, [r7, 0x2]
+ movs r0, 0x27
+ bl sub_8044F5C
+ b _08060BAE
+_08060B8E:
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08060BA6
+ ldrb r1, [r7, 0x2]
+ movs r0, 0x41
+ bl sub_8044F5C
+ b _08060BAE
+_08060BA6:
+ ldrb r1, [r7, 0x2]
+ movs r0, 0xB
+ bl sub_8044F5C
+_08060BAE:
+ mov r0, r10
+ bl ToolboxEnabled
+ lsls r0, 24
+ cmp r0, 0
+ beq _08060BBC
+ b _08060CCC
+_08060BBC:
+ movs r0, 0x27
+ bl sub_8044FF0
+ movs r0, 0x41
+ bl sub_8044FF0
+ movs r0, 0xB
+ bl sub_8044FF0
+ b _08060CCC
+_08060BD0:
+ ldrb r1, [r4]
+ subs r1, 0x90
+ ldr r0, _08060C50
+ mov r9, r0
+ ldr r0, [r0]
+ lsls r1, 2
+ ldr r2, _08060C54
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08060CCC
+ ldr r3, [r4, 0x70]
+ mov r8, r3
+ movs r5, 0
+ adds r0, r4, 0
+ bl CannotUseItems
+ lsls r0, 24
+ lsrs r0, 24
+ negs r1, r0
+ orrs r1, r0
+ lsrs r6, r1, 31
+ ldr r0, _08060C58
+ ldr r0, [r0]
+ adds r0, 0x4C
+ ldrb r0, [r0]
+ movs r4, 0x1
+ ands r4, r0
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bne _08060C22
+ movs r5, 0x1
+_08060C22:
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x9
+ bne _08060C32
+ movs r5, 0x1
+_08060C32:
+ mov r1, r9
+ ldr r0, [r1]
+ ldr r2, _08060C5C
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08060C78
+ cmp r4, 0
+ beq _08060C60
+ ldrb r1, [r7, 0x2]
+ movs r0, 0x3E
+ bl sub_8044F5C
+ b _08060C68
+ .align 2, 0
+_08060C50: .4byte gDungeonGlobalData
+_08060C54: .4byte 0x0001357c
+_08060C58: .4byte gTeamInventory_203B460
+_08060C5C: .4byte 0x0000065b
+_08060C60:
+ ldrb r1, [r7, 0x2]
+ movs r0, 0x37
+ bl sub_8044F5C
+_08060C68:
+ cmp r6, 0
+ beq _08060C78
+ movs r0, 0x37
+ bl sub_8044FF0
+ movs r0, 0x3E
+ bl sub_8044FF0
+_08060C78:
+ mov r3, r8
+ ldrb r0, [r3, 0x7]
+ cmp r0, 0
+ beq _08060CBA
+ adds r0, r7, 0
+ bl sub_8044DC8
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0
+ beq _08060CCC
+ ldrb r1, [r7, 0x2]
+ adds r0, r4, 0
+ bl sub_8044F5C
+ ldrb r1, [r7]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08060CA6
+ adds r0, r4, 0
+ bl sub_8044FF0
+_08060CA6:
+ adds r0, r7, 0
+ bl sub_8046F00
+ lsls r0, 24
+ cmp r0, 0
+ bne _08060CCC
+ adds r0, r4, 0
+ bl sub_8044FF0
+ b _08060CCC
+_08060CBA:
+ ldrb r1, [r7, 0x2]
+ movs r0, 0x38
+ bl sub_8044F5C
+ cmp r5, 0
+ beq _08060CCC
+ movs r0, 0x38
+ bl sub_8044FF0
+_08060CCC:
+ ldrb r1, [r7, 0x2]
+ movs r0, 0xC
+ bl sub_8044F5C
+ bl sub_8045064
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8060900
+
+ thumb_func_start sub_8060CE8
+sub_8060CE8:
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r1, _08060D18
+ ldr r0, _08060D1C
+ movs r2, 0x18
+ ldrsh r0, [r0, r2]
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r0]
+ adds r0, r4, 0
+ bl SetAction
+ ldr r0, _08060D20
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [r4, 0x4]
+ str r1, [r4, 0x8]
+ movs r0, 0
+ strb r0, [r4, 0xC]
+ strh r0, [r4, 0x10]
+ strh r0, [r4, 0x12]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08060D18: .4byte gUnknown_202EE44
+_08060D1C: .4byte gUnknown_202EE10
+_08060D20: .4byte gUnknown_202F238
+ thumb_func_end sub_8060CE8
+
+ thumb_func_start sub_8060D24
+sub_8060D24:
+ push {r4,lr}
+ bl GetLeaderEntity
+ movs r1, 0
+ movs r2, 0xB
+ bl sub_8044D90
+ adds r4, r0, 0
+ movs r0, 0
+ movs r1, 0
+ bl sub_803ECB4
+ adds r0, r4, 0
+ bl sub_801B3C0
+_08060D42:
+ movs r0, 0x16
+ bl sub_803E46C
+ bl sub_801B410
+ cmp r0, 0
+ beq _08060D42
+ bl sub_801B450
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8060D24
+
+ thumb_func_start sub_8060D64
+sub_8060D64:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r4, r0, 0
+ lsls r1, 24
+ lsrs r6, r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ lsls r3, 24
+ lsrs r3, 24
+ mov r8, r3
+ movs r7, 0
+ ldr r0, _08060E28
+ ldr r0, [r0]
+ ldr r1, _08060E2C
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08060DB8
+ cmp r6, 0
+ bne _08060DB8
+ ldr r5, _08060E30
+ ldr r0, [r5]
+ ldrb r1, [r0]
+ movs r3, 0x1
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08060DA2
+ strh r7, [r4]
+ movs r7, 0x1
+_08060DA2:
+ ldr r0, [r5]
+ adds r0, 0x28
+ ldrb r1, [r0]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08060DB8
+ lsls r0, r7, 1
+ adds r0, r4
+ strh r3, [r0]
+ adds r7, 0x1
+_08060DB8:
+ cmp r2, 0
+ beq _08060DD4
+ ldr r0, [sp, 0x18]
+ adds r0, 0x4
+ bl sub_804ACE4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08060DD4
+ lsls r0, r7, 1
+ adds r0, r4
+ movs r1, 0x2
+ strh r1, [r0]
+ adds r7, 0x1
+_08060DD4:
+ cmp r6, 0
+ bne _08060E1A
+ mov r2, r8
+ cmp r2, 0
+ bne _08060E1A
+ movs r5, 0
+ lsls r0, r7, 1
+ adds r6, r0, r4
+_08060DE4:
+ ldr r0, _08060E28
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _08060E34
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08060E14
+ ldr r0, [r4, 0x70]
+ adds r0, 0x60
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08060E14
+ adds r0, r5, 0x4
+ strh r0, [r6]
+ adds r6, 0x2
+ adds r7, 0x1
+_08060E14:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _08060DE4
+_08060E1A:
+ adds r0, r7, 0
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08060E28: .4byte gDungeonGlobalData
+_08060E2C: .4byte 0x0000065b
+_08060E30: .4byte gTeamInventory_203B460
+_08060E34: .4byte 0x0001357c
+ thumb_func_end sub_8060D64
+
+ thumb_func_start sub_8060E38
+sub_8060E38:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x7C
+ str r0, [sp, 0x78]
+ add r4, sp, 0x18
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [r4, 0x4]
+ movs r0, 0x2
+ strh r0, [r4, 0x8]
+ strh r0, [r4, 0xA]
+ movs r0, 0xE
+ strh r0, [r4, 0xC]
+ movs r0, 0x10
+ strh r0, [r4, 0xE]
+ strh r0, [r4, 0x10]
+ ldr r0, _08061018
+ str r0, [r4, 0x14]
+ movs r0, 0x3
+ str r0, [r4, 0x1C]
+ str r0, [r4, 0x34]
+ str r0, [r4, 0x4C]
+ movs r5, 0
+ mov r9, r4
+ add r0, sp, 0x4
+ mov r8, r0
+_08060E7A:
+ ldr r6, _0806101C
+ ldr r0, [r6]
+ lsls r1, r5, 2
+ ldr r2, _08061020
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08060E9E
+ ldr r0, [r4, 0x70]
+ ldr r2, _08061024
+ adds r1, r0, r2
+ movs r0, 0x1
+ strb r0, [r1]
+_08060E9E:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _08060E7A
+ ldr r0, [r6]
+ ldr r1, _08061028
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08060EBC
+ movs r0, 0x3
+ mov r2, r9
+ str r0, [r2, 0x4]
+ ldrh r0, [r2, 0xA]
+ adds r0, 0x1
+ strh r0, [r2, 0xA]
+_08060EBC:
+ ldr r6, _0806102C
+_08060EBE:
+ movs r7, 0
+ mov r0, sp
+ mov r1, r9
+ movs r2, 0x1
+ bl DrawFieldTeamMenu
+ movs r0, 0
+ mov r10, r0
+_08060ECE:
+ movs r1, 0x18
+ ldrsh r0, [r6, r1]
+ lsls r0, 2
+ add r0, r8
+ ldr r1, [r0]
+ cmp r1, 0
+ blt _08060F00
+ ldr r0, _0806101C
+ ldr r0, [r0]
+ lsls r1, 2
+ ldr r2, _08061020
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_806A2BC
+ adds r4, 0x4
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x1
+ movs r3, 0x1
+ bl sub_804A728
+_08060F00:
+ adds r0, r6, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x1B
+ bl sub_803E46C
+ ldr r4, _08061030
+ ldrh r1, [r4, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08060F26
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08060F26:
+ ldrh r1, [r4, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08060F3E
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl sub_8013744
+_08060F3E:
+ ldrh r1, [r4, 0x2]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08060F5A
+ movs r1, 0x18
+ ldrsh r0, [r6, r1]
+ add r1, sp, 0x14
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08061046
+ bl sub_8083D30
+_08060F5A:
+ ldrh r1, [r4, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08060F6C
+ ldr r2, _08061034
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _08060F7E
+_08060F6C:
+ movs r1, 0x18
+ ldrsh r0, [r6, r1]
+ add r1, sp, 0x14
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08061040
+ bl sub_8083D30
+_08060F7E:
+ ldr r0, _08061030
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08060F92
+ ldr r2, _08061038
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _08060ECE
+_08060F92:
+ bl sub_8083D30
+ movs r7, 0x1
+_08060F98:
+ ldr r5, _0806102C
+ movs r1, 0x18
+ ldrsh r0, [r5, r1]
+ lsls r0, 2
+ add r0, r8
+ ldr r1, [r0]
+ cmp r1, 0
+ blt _08060FCC
+ ldr r0, _0806101C
+ ldr r0, [r0]
+ lsls r1, 2
+ ldr r2, _08061020
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_806A2BC
+ adds r4, 0x4
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x1
+ movs r3, 0x1
+ bl sub_804A728
+_08060FCC:
+ adds r0, r5, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x1B
+ bl sub_803E46C
+ bl sub_804AA60
+ cmp r7, 0
+ beq _08060FE2
+ b _0806110C
+_08060FE2:
+ movs r1, 0x18
+ ldrsh r0, [r5, r1]
+ str r0, [sp]
+ ldr r1, _0806103C
+ movs r2, 0x18
+ ldrsh r0, [r5, r2]
+ str r0, [r1]
+ mov r0, sp
+ bl sub_806145C
+ mov r0, r10
+ cmp r0, 0
+ beq _08061064
+ ldr r1, [sp, 0x78]
+ ldr r4, [r1, 0x70]
+ adds r0, r4, 0
+ adds r0, 0x44
+ movs r1, 0x1B
+ bl SetAction
+ ldr r0, [sp]
+ lsls r0, 2
+ add r0, r8
+ ldr r0, [r0]
+ adds r4, 0x48
+ strb r0, [r4]
+ b _08061116
+ .align 2, 0
+_08061018: .4byte gUnknown_202F270
+_0806101C: .4byte gDungeonGlobalData
+_08061020: .4byte 0x0001357c
+_08061024: .4byte 0x00000157
+_08061028: .4byte 0x0000065b
+_0806102C: .4byte gUnknown_202EE10
+_08061030: .4byte gRealInputs
+_08061034: .4byte gUnknown_202EE39
+_08061038: .4byte gUnknown_202EE3A
+_0806103C: .4byte gUnknown_202F260
+_08061040:
+ bl sub_8083D08
+ b _08060F98
+_08061046:
+ bl sub_8083D44
+ movs r2, 0x1
+ mov r10, r2
+ b _08060F98
+_08061050:
+ ldr r1, [sp, 0x78]
+ ldr r0, [r1, 0x70]
+ adds r0, 0x44
+ mov r1, sp
+ bl sub_80615B4
+ bl sub_8083D08
+ movs r4, 0
+ b _080610EA
+_08061064:
+ mov r0, r9
+ movs r1, 0x12
+ bl sub_805FC30
+ adds r4, r5, 0
+ ldr r5, _08061100
+ adds r7, r4, 0
+ adds r7, 0x2A
+_08061074:
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x1B
+ bl sub_803E46C
+ ldrh r1, [r5, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08061098
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08061098:
+ ldrh r1, [r5, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _080610B0
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013744
+_080610B0:
+ ldrh r1, [r5, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080610C2
+ ldr r2, _08061104
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _080610D4
+_080610C2:
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ bl sub_8044F3C
+ lsls r0, 24
+ cmp r0, 0
+ bne _08061050
+ bl sub_8083D30
+_080610D4:
+ ldrh r1, [r5, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080610E4
+ ldrb r0, [r7]
+ cmp r0, 0
+ beq _08061074
+_080610E4:
+ bl sub_8083D30
+ movs r4, 0x1
+_080610EA:
+ ldr r0, _08061108
+ bl AddMenuCursorSprite
+ movs r0, 0x1B
+ bl sub_803E46C
+ cmp r4, 0x1
+ bne _080610FC
+ b _08060EBE
+_080610FC:
+ movs r7, 0
+ b _08061116
+ .align 2, 0
+_08061100: .4byte gRealInputs
+_08061104: .4byte gUnknown_202EE39
+_08061108: .4byte gUnknown_202EE10
+_0806110C:
+ bl GetLeaderEntity
+ movs r1, 0
+ bl sub_806A2BC
+_08061116:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ adds r0, r7, 0
+ add sp, 0x7C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8060E38
+
+ thumb_func_start DrawFieldTeamMenu
+DrawFieldTeamMenu:
+ 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 r2, 24
+ lsrs r2, 24
+ str r2, [sp, 0x8]
+ movs r7, 0
+ movs r1, 0
+ mov r2, r8
+ ldr r0, [r2, 0x4]
+ cmp r0, 0x6
+ bne _08061154
+ movs r1, 0x1
+_08061154:
+ mov r10, r1
+ bl GetLeaderEntity
+ adds r1, r0, 0
+ add r0, sp, 0x4
+ bl sub_8069D18
+ movs r6, 0
+_08061164:
+ ldr r0, _08061318
+ ldr r0, [r0]
+ lsls r1, r6, 2
+ ldr r3, _0806131C
+ adds r0, r3
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _080611AC
+ lsls r1, r7, 2
+ mov r0, r9
+ adds r0, 0x4
+ adds r0, r1
+ str r6, [r0]
+ ldr r0, [r4, 0x70]
+ mov r1, r9
+ adds r1, 0x14
+ adds r1, r7
+ ldr r5, _08061320
+ adds r0, r5
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r1, [sp, 0x4]
+ ldr r0, [r4, 0x4]
+ cmp r1, r0
+ bne _080611AA
+ ldr r1, _08061324
+ ldr r0, [r1]
+ cmp r0, 0
+ bge _080611AA
+ str r7, [r1]
+_080611AA:
+ adds r7, 0x1
+_080611AC:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08061164
+ ldr r0, _08061324
+ ldr r1, [r0]
+ adds r5, r0, 0
+ cmp r1, r7
+ blt _080611C0
+ subs r0, r7, 0x1
+ str r0, [r5]
+_080611C0:
+ ldr r0, [r5]
+ cmp r0, 0
+ bge _080611CA
+ movs r0, 0
+ str r0, [r5]
+_080611CA:
+ adds r6, r7, 0
+ mov r0, r10
+ negs r3, r0
+ cmp r7, 0x3
+ bgt _080611F4
+ movs r1, 0x1
+ negs r1, r1
+ mov r12, r1
+ mov r2, r9
+ adds r2, 0x14
+ movs r4, 0
+ lsls r0, r7, 2
+ adds r1, r0, 0x4
+ add r1, r9
+_080611E6:
+ mov r0, r12
+ stm r1!, {r0}
+ adds r0, r2, r6
+ strb r4, [r0]
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _080611E6
+_080611F4:
+ ldr r1, _08061328
+ movs r4, 0
+ movs r0, 0x1
+ strb r0, [r1]
+ strb r4, [r1, 0x1]
+ strb r4, [r1, 0x3]
+ ldr r0, _0806132C
+ ldr r1, [r5]
+ strh r1, [r0, 0x18]
+ strh r7, [r0, 0x1A]
+ strh r7, [r0, 0x1C]
+ strh r4, [r0, 0x1E]
+ strh r4, [r0, 0x20]
+ strh r4, [r0, 0x4]
+ mov r1, r10
+ orrs r3, r1
+ asrs r1, r3, 31
+ movs r2, 0x10
+ ands r1, r2
+ strh r1, [r0, 0x6]
+ strh r4, [r0, 0xC]
+ strh r4, [r0, 0xE]
+ strh r4, [r0, 0x14]
+ str r4, [r0]
+ adds r0, 0x28
+ bl sub_801317C
+ adds r0, r7, 0
+ movs r1, 0
+ bl sub_80095E4
+ mov r2, r10
+ cmp r2, 0
+ beq _0806123A
+ adds r0, 0x2
+_0806123A:
+ mov r3, r8
+ strh r0, [r3, 0x10]
+ strh r0, [r3, 0xE]
+ movs r0, 0x8
+ ldr r5, _08061328
+ strb r0, [r5, 0x2]
+ ldr r0, [sp, 0x8]
+ cmp r0, 0
+ beq _0806125C
+ mov r1, r8
+ adds r1, 0x18
+ mov r0, r8
+ adds r0, 0x48
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+_0806125C:
+ mov r0, r8
+ movs r1, 0x1
+ bl sub_803ECB4
+ ldr r0, _0806132C
+ movs r1, 0
+ bl sub_80137B0
+ movs r0, 0
+ bl sub_80073B8
+ mov r0, r10
+ cmp r0, 0
+ beq _08061286
+ ldr r2, _08061330
+ str r4, [sp]
+ movs r0, 0xC
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+_08061286:
+ movs r6, 0
+ cmp r6, r7
+ blt _0806128E
+ b _08061440
+_0806128E:
+ lsls r1, r6, 2
+ mov r0, r9
+ adds r0, 0x4
+ adds r0, r1
+ ldr r1, [r0]
+ cmp r1, 0
+ bge _0806129E
+ b _08061438
+_0806129E:
+ ldr r0, _08061318
+ ldr r0, [r0]
+ lsls r1, 2
+ ldr r2, _0806131C
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ bne _080612BA
+ b _08061438
+_080612BA:
+ ldr r5, [r4, 0x70]
+ mov r0, r9
+ adds r0, 0x14
+ adds r0, r6
+ ldrb r0, [r0]
+ movs r2, 0x2
+ cmp r0, 0
+ beq _080612CC
+ movs r2, 0x6
+_080612CC:
+ ldr r4, _08061334
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8070968
+ ldr r0, _08061338
+ ldr r1, [r0]
+ ldrb r2, [r5, 0xA]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, r0
+ ldr r3, _0806133C
+ adds r1, r3
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ bl sub_806A538
+ lsls r0, 24
+ cmp r0, 0
+ beq _08061388
+ movs r3, 0x10
+ ldrsh r2, [r5, r3]
+ adds r1, r2, 0
+ cmp r2, 0
+ bge _08061300
+ adds r1, r2, 0x3
+_08061300:
+ movs r3, 0xE
+ ldrsh r0, [r5, r3]
+ asrs r1, 2
+ cmp r0, r1
+ bgt _08061344
+ adds r0, r4, 0
+ adds r0, 0x50
+ ldr r1, _08061340
+ bl strcpy
+ b _080613EE
+ .align 2, 0
+_08061318: .4byte gDungeonGlobalData
+_0806131C: .4byte 0x0001357c
+_08061320: .4byte 0x00000157
+_08061324: .4byte gUnknown_202F260
+_08061328: .4byte gUnknown_202F270
+_0806132C: .4byte gUnknown_202EE10
+_08061330: .4byte gUnknown_8106BB0
+_08061334: .4byte gAvailablePokemonNames
+_08061338: .4byte gRecruitedPokemonRef
+_0806133C: .4byte 0x00008e02
+_08061340: .4byte gUnknown_8106BB4
+_08061344:
+ movs r0, 0xE
+ ldrsh r3, [r5, r0]
+ lsls r0, r1, 1
+ cmp r3, r0
+ bgt _08061360
+ adds r0, r4, 0
+ adds r0, 0x50
+ ldr r1, _0806135C
+ bl strcpy
+ b _080613EE
+ .align 2, 0
+_0806135C: .4byte gUnknown_8106BB8
+_08061360:
+ adds r0, r1
+ cmp r3, r0
+ bgt _08061378
+ adds r0, r4, 0
+ adds r0, 0x50
+ ldr r1, _08061374
+ bl strcpy
+ b _080613EE
+ .align 2, 0
+_08061374: .4byte gUnknown_8106BBC
+_08061378:
+ adds r0, r4, 0
+ adds r0, 0x50
+ ldr r1, _08061384
+ bl strcpy
+ b _080613EE
+ .align 2, 0
+_08061384: .4byte gUnknown_8106BC0
+_08061388:
+ movs r1, 0x10
+ ldrsh r2, [r5, r1]
+ adds r1, r2, 0
+ cmp r2, 0
+ bge _08061394
+ adds r1, r2, 0x3
+_08061394:
+ movs r3, 0xE
+ ldrsh r0, [r5, r3]
+ asrs r1, 2
+ cmp r0, r1
+ bgt _080613B0
+ adds r0, r4, 0
+ adds r0, 0x50
+ ldr r1, _080613AC
+ bl strcpy
+ b _080613EE
+ .align 2, 0
+_080613AC: .4byte gUnknown_8106BC4
+_080613B0:
+ movs r0, 0xE
+ ldrsh r3, [r5, r0]
+ lsls r0, r1, 1
+ cmp r3, r0
+ bgt _080613CC
+ adds r0, r4, 0
+ adds r0, 0x50
+ ldr r1, _080613C8
+ bl strcpy
+ b _080613EE
+ .align 2, 0
+_080613C8: .4byte gUnknown_8106BC8
+_080613CC:
+ adds r0, r1
+ cmp r3, r0
+ bgt _080613E4
+ adds r0, r4, 0
+ adds r0, 0x50
+ ldr r1, _080613E0
+ bl strcpy
+ b _080613EE
+ .align 2, 0
+_080613E0: .4byte gUnknown_8106BCC
+_080613E4:
+ adds r0, r4, 0
+ adds r0, 0x50
+ ldr r1, _0806141C
+ bl strcpy
+_080613EE:
+ ldr r0, _08061420
+ movs r2, 0xE
+ ldrsh r1, [r5, r2]
+ str r1, [r0]
+ movs r3, 0x10
+ ldrsh r1, [r5, r3]
+ str r1, [r0, 0x4]
+ ldr r0, _08061424
+ adds r1, r6, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldrb r0, [r5, 0x7]
+ cmp r0, 0
+ beq _0806142C
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x9
+ ldr r2, _08061428
+ movs r3, 0
+ bl xxx_format_and_draw
+ b _08061438
+ .align 2, 0
+_0806141C: .4byte gUnknown_8106BD0
+_08061420: .4byte gUnknown_202DE30
+_08061424: .4byte gUnknown_202EE10
+_08061428: .4byte gUnknown_8106BD4
+_0806142C:
+ str r0, [sp]
+ movs r0, 0x9
+ ldr r2, _08061458
+ movs r3, 0
+ bl xxx_format_and_draw
+_08061438:
+ adds r6, 0x1
+ cmp r6, r7
+ bge _08061440
+ b _0806128E
+_08061440:
+ movs r0, 0
+ bl sub_80073E0
+ 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
+_08061458: .4byte gUnknown_8106BE0
+ thumb_func_end DrawFieldTeamMenu
+
+ thumb_func_start sub_806145C
+sub_806145C:
+ push {r4-r6,lr}
+ ldr r2, _08061560
+ movs r1, 0
+ str r1, [r2]
+ ldr r5, _08061564
+ ldr r2, [r5]
+ ldr r1, _08061568
+ movs r3, 0x18
+ ldrsh r1, [r1, r3]
+ lsls r1, 2
+ adds r0, 0x4
+ adds r0, r1
+ ldr r0, [r0]
+ lsls r0, 2
+ ldr r1, _0806156C
+ adds r2, r1
+ adds r2, r0
+ ldr r6, [r2]
+ ldr r4, [r6, 0x70]
+ movs r0, 0x1B
+ movs r1, 0
+ bl sub_8044F5C
+ movs r0, 0x19
+ movs r1, 0
+ bl sub_8044F5C
+ ldrb r0, [r4, 0x7]
+ cmp r0, 0
+ bne _080614C8
+ ldr r2, [r5]
+ ldr r3, _08061570
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080614C0
+ adds r0, r4, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x41
+ bne _080614B8
+ ldr r1, _08061574
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080614C0
+_080614B8:
+ movs r0, 0x34
+ movs r1, 0
+ bl sub_8044F5C
+_080614C0:
+ movs r0, 0x1C
+ movs r1, 0
+ bl sub_8044F5C
+_080614C8:
+ movs r0, 0x30
+ movs r1, 0
+ bl sub_8044F5C
+ ldrb r0, [r4, 0x7]
+ cmp r0, 0
+ bne _0806154C
+ movs r0, 0x1A
+ movs r1, 0
+ bl sub_8044F5C
+ ldrb r0, [r4, 0x7]
+ cmp r0, 0
+ bne _0806154C
+ ldr r0, _08061564
+ ldr r1, [r0]
+ ldr r2, _08061574
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0806154C
+ ldr r3, _08061578
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ bl sub_8090158
+ lsls r0, 24
+ cmp r0, 0
+ beq _0806154C
+ movs r0, 0x3B
+ movs r1, 0
+ bl sub_8044F5C
+ movs r5, 0x1
+ ldrb r0, [r4, 0xA]
+ cmp r0, 0x3
+ bhi _08061530
+ ldr r2, _0806157C
+ ldrb r1, [r4, 0xA]
+ movs r0, 0x64
+ muls r1, r0
+ ldr r0, _08061580
+ adds r1, r0
+ ldr r0, [r2]
+ adds r0, r1
+ movs r1, 0xA
+ ldrsh r0, [r0, r1]
+ bl sub_806A538
+ lsls r0, 24
+ cmp r0, 0
+ beq _08061532
+_08061530:
+ movs r5, 0
+_08061532:
+ adds r0, r6, 0
+ movs r1, 0
+ bl CannotMove
+ lsls r0, 24
+ cmp r0, 0
+ beq _08061542
+ movs r5, 0
+_08061542:
+ cmp r5, 0
+ bne _0806154C
+ movs r0, 0x3B
+ bl sub_8044FF0
+_0806154C:
+ adds r0, r4, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x4A
+ beq _0806155A
+ cmp r0, 0x47
+ bne _08061584
+_0806155A:
+ movs r0, 0x1
+ b _08061586
+ .align 2, 0
+_08061560: .4byte gUnknown_202EE6C
+_08061564: .4byte gDungeonGlobalData
+_08061568: .4byte gUnknown_202EE10
+_0806156C: .4byte 0x0001357c
+_08061570: .4byte 0x0000065d
+_08061574: .4byte 0x0000065c
+_08061578: .4byte 0x00000644
+_0806157C: .4byte gRecruitedPokemonRef
+_08061580: .4byte 0x00008df8
+_08061584:
+ movs r0, 0
+_08061586:
+ cmp r0, 0
+ beq _080615A8
+ movs r0, 0x19
+ bl sub_8044FF0
+ movs r0, 0x3B
+ bl sub_8044FF0
+ movs r0, 0x1A
+ bl sub_8044FF0
+ movs r0, 0x30
+ bl sub_8044FF0
+ movs r0, 0x34
+ bl sub_8044FF0
+_080615A8:
+ bl sub_8045064
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_806145C
+
+ thumb_func_start sub_80615B4
+sub_80615B4:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ ldr r1, _080615E0
+ ldr r0, _080615E4
+ movs r2, 0x18
+ ldrsh r0, [r0, r2]
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r0]
+ adds r0, r5, 0
+ bl SetAction
+ ldm r4!, {r0}
+ lsls r0, 2
+ adds r4, r0
+ ldr r0, [r4]
+ strb r0, [r5, 0x4]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080615E0: .4byte gUnknown_202EE44
+_080615E4: .4byte gUnknown_202EE10
+ thumb_func_end sub_80615B4
+
+ thumb_func_start sub_80615E8
+sub_80615E8:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x7C
+ adds r5, r0, 0
+ mov r4, sp
+ mov r0, sp
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x4]
+ movs r1, 0x2
+ strh r1, [r4, 0x8]
+ strh r1, [r4, 0xA]
+ movs r2, 0x12
+ strh r2, [r4, 0xC]
+ movs r0, 0xE
+ strh r0, [r4, 0xE]
+ strh r2, [r4, 0x10]
+ strh r1, [r4, 0x12]
+ ldr r0, _08061720
+ str r0, [sp, 0x14]
+ movs r0, 0x3
+ str r0, [sp, 0x1C]
+ str r0, [sp, 0x34]
+ str r0, [sp, 0x4C]
+ ldr r0, _08061724
+ ldr r1, [r0]
+ ldrb r0, [r5, 0x4]
+ lsls r0, 2
+ ldr r2, _08061728
+ adds r1, r2
+ adds r1, r0
+ ldr r1, [r1]
+ str r1, [sp, 0x74]
+ ldr r0, [r1, 0x70]
+ mov r8, r0
+ movs r1, 0
+ str r1, [sp, 0x70]
+ movs r2, 0
+ str r2, [sp, 0x6C]
+ add r0, sp, 0x60
+ mov r10, r0
+_08061646:
+ movs r1, 0x1
+ str r1, [sp, 0x78]
+ movs r7, 0
+ ldr r0, _08061720
+ strb r1, [r0]
+ strb r7, [r0, 0x1]
+ movs r1, 0xA
+ strb r1, [r0, 0x2]
+ strb r7, [r0, 0x3]
+ mov r0, sp
+ movs r1, 0x1
+ bl sub_803ECB4
+ ldr r0, [sp, 0x6C]
+ mov r1, r10
+ mov r2, r8
+ movs r3, 0
+ bl sub_806195C
+ movs r2, 0
+ mov r1, r10
+ ldrb r0, [r1]
+ cmp r0, 0xB
+ beq _08061684
+_08061676:
+ adds r2, 0x1
+ cmp r2, 0x7
+ bgt _08061684
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, 0xB
+ bne _08061676
+_08061684:
+ ldr r4, _0806172C
+ movs r1, 0
+ strh r2, [r4, 0x1A]
+ movs r0, 0x8
+ strh r0, [r4, 0x1C]
+ strh r1, [r4, 0x1E]
+ strh r1, [r4, 0x20]
+ strh r1, [r4, 0x4]
+ movs r0, 0x10
+ strh r0, [r4, 0x6]
+ strh r1, [r4, 0xC]
+ strh r1, [r4, 0xE]
+ strh r1, [r4, 0x14]
+ str r1, [r4]
+ adds r0, r4, 0
+ adds r0, 0x28
+ bl sub_801317C
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_80137B0
+ add r2, sp, 0x70
+ ldrh r2, [r2]
+ strh r2, [r4, 0x18]
+ mov r9, r4
+ mov r6, r10
+_080616BA:
+ mov r0, r9
+ bl AddMenuCursorSprite
+ ldrb r0, [r6, 0x8]
+ cmp r0, 0xB
+ beq _080616CA
+ bl sub_80623B0
+_080616CA:
+ ldr r0, [sp, 0x6C]
+ cmp r0, 0
+ beq _080616D4
+ bl sub_8062230
+_080616D4:
+ movs r0, 0x3D
+ bl sub_803E46C
+ ldr r0, _08061730
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08061740
+ movs r0, 0x1
+ bl sub_8083CE0
+ mov r1, r9
+ movs r2, 0x18
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x7
+ bne _08061738
+ ldrb r0, [r6, 0x8]
+ cmp r0, 0xB
+ beq _0806171A
+ ldr r5, [sp, 0x6C]
+ adds r5, 0x1
+ ldr r6, _08061734
+ movs r4, 0x5
+_08061704:
+ ldr r1, [r6]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x3D
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08061704
+ str r5, [sp, 0x6C]
+_0806171A:
+ movs r0, 0x7
+ str r0, [sp, 0x70]
+ b _08061926
+ .align 2, 0
+_08061720: .4byte gUnknown_202F270
+_08061724: .4byte gDungeonGlobalData
+_08061728: .4byte 0x0001357c
+_0806172C: .4byte gUnknown_202EE10
+_08061730: .4byte gRealInputs
+_08061734: .4byte gUnknown_203B080
+_08061738:
+ mov r0, r9
+ movs r1, 0
+ bl sub_80136E0
+_08061740:
+ ldr r0, _08061788
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0806179C
+ movs r0, 0x1
+ bl sub_8083CE0
+ ldr r1, _0806178C
+ movs r2, 0x18
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _08061794
+ ldr r0, [sp, 0x6C]
+ cmp r0, 0
+ beq _08061780
+ adds r5, r0, 0
+ subs r5, 0x1
+ ldr r6, _08061790
+ movs r4, 0x5
+_0806176A:
+ ldr r1, [r6]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x3D
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _0806176A
+ str r5, [sp, 0x6C]
+_08061780:
+ movs r1, 0
+ str r1, [sp, 0x70]
+ b _08061926
+ .align 2, 0
+_08061788: .4byte gRealInputs
+_0806178C: .4byte gUnknown_202EE10
+_08061790: .4byte gUnknown_203B084
+_08061794:
+ adds r0, r1, 0
+ movs r1, 0
+ bl sub_8013744
+_0806179C:
+ ldr r4, _080617C8
+ ldrh r1, [r4, 0x2]
+ movs r0, 0x8
+ ands r0, r1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0
+ beq _080617DE
+ mov r2, r9
+ movs r1, 0x18
+ ldrsh r0, [r2, r1]
+ mov r2, r10
+ adds r1, r2, r0
+ ldrb r4, [r1]
+ str r0, [sp, 0x70]
+ bl sub_8083D44
+ adds r0, r4, 0
+ bl sub_8062748
+_080617C4:
+ movs r7, 0
+ b _08061926
+ .align 2, 0
+_080617C8: .4byte gRealInputs
+_080617CC:
+ bl sub_8083D08
+ mov r0, r9
+ movs r1, 0x18
+ ldrsh r4, [r0, r1]
+ cmp r4, 0
+ beq _080617DC
+ b _08061900
+_080617DC:
+ b _080618C4
+_080617DE:
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080617F4
+ ldr r2, _080618BC
+ adds r0, r2, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080617F4
+ b _0806190C
+_080617F4:
+ mov r2, r9
+ movs r0, 0x18
+ ldrsh r1, [r2, r0]
+ mov r2, r10
+ adds r0, r2, r1
+ ldrb r7, [r0]
+ str r1, [sp, 0x70]
+ bl sub_8062D68
+ bl sub_8083D08
+ ldr r0, _080618C0
+ str r5, [r0]
+ movs r0, 0x2F
+ movs r1, 0
+ bl sub_8044F5C
+ movs r0, 0xC
+ movs r1, 0
+ bl sub_8044F5C
+ ldr r0, [sp, 0x74]
+ movs r1, 0x1
+ bl CannotMove
+ lsls r0, 24
+ cmp r0, 0
+ beq _08061832
+ movs r0, 0x2F
+ bl sub_8044FF0
+_08061832:
+ mov r0, sp
+ movs r1, 0x16
+ bl sub_805FC30
+ ldr r5, _080618BC
+ adds r6, r4, 0
+ adds r4, r5, 0
+ adds r4, 0x2A
+_08061842:
+ adds r0, r5, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x3D
+ bl sub_803E46C
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08061866
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08061866:
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0806187E
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_8013744
+_0806187E:
+ ldrh r1, [r6, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08061892
+ adds r0, r5, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080618A4
+_08061892:
+ movs r1, 0x18
+ ldrsh r0, [r5, r1]
+ bl sub_8044F3C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080617CC
+ bl sub_8083D30
+_080618A4:
+ ldrh r1, [r6, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080618B4
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _08061842
+_080618B4:
+ bl sub_8083D30
+ b _080617C4
+ .align 2, 0
+_080618BC: .4byte gUnknown_202EE10
+_080618C0: .4byte gUnknown_202EE6C
+_080618C4:
+ ldr r0, _080618FC
+ bl PlaySoundEffect
+ mov r0, r8
+ adds r0, 0x94
+ strb r7, [r0]
+ mov r1, r8
+ adds r1, 0x78
+ movs r0, 0x6
+ strb r0, [r1]
+ mov r0, r8
+ adds r0, 0x80
+ str r4, [r0]
+ adds r0, 0x4
+ str r4, [r0]
+ subs r0, 0x8
+ strh r4, [r0]
+ mov r2, r8
+ ldrb r0, [r2, 0x7]
+ cmp r0, 0
+ beq _080618F0
+ b _080617C4
+_080618F0:
+ ldr r0, [sp, 0x74]
+ movs r1, 0x1
+ bl MoveIfPossible
+ b _080617C4
+ .align 2, 0
+_080618FC: .4byte 0x00000133
+_08061900:
+ adds r0, r7, 0
+ bl sub_8062748
+ movs r0, 0
+ str r0, [sp, 0x78]
+ b _080617C4
+_0806190C:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08061920
+ adds r0, r2, 0
+ adds r0, 0x2A
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08061920
+ b _080616BA
+_08061920:
+ bl sub_8083D30
+ movs r7, 0x1
+_08061926:
+ ldr r1, [sp, 0x78]
+ cmp r1, 0
+ beq _08061932
+ ldr r0, _08061958
+ bl AddMenuCursorSprite
+_08061932:
+ movs r0, 0x3D
+ bl sub_803E46C
+ cmp r7, 0
+ bne _0806193E
+ b _08061646
+_0806193E:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ add sp, 0x7C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08061958: .4byte gUnknown_202EE10
+ thumb_func_end sub_80615E8
+
+ thumb_func_start sub_806195C
+sub_806195C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ adds r5, r0, 0
+ mov r9, r1
+ str r2, [sp, 0x10]
+ adds r7, r3, 0
+ subs r5, 0x1
+ adds r0, r7, 0
+ bl sub_80073B8
+ ldr r0, _080619B4
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ adds r3, r7, 0
+ bl xxx_call_draw_string
+ movs r0, 0x14
+ mov r8, r0
+ movs r1, 0xB
+ mov r0, r9
+ adds r0, 0x8
+_08061994:
+ strb r1, [r0]
+ subs r0, 0x1
+ cmp r0, r9
+ bge _08061994
+ bl sub_8083654
+ ldrb r1, [r0, 0x9]
+ add r0, sp, 0x4
+ bl GetAvailTacticsforLvl
+ movs r6, 0x1
+ negs r6, r6
+ movs r1, 0
+ mov r10, r1
+ b _080619FC
+ .align 2, 0
+_080619B4: .4byte gUnknown_80FE954
+_080619B8:
+ ldr r0, _080619DC
+ adds r1, r4, 0
+ bl CopyTacticsNameToBuffer
+ ldr r0, [sp, 0x10]
+ adds r0, 0x94
+ ldrb r0, [r0]
+ cmp r0, r4
+ bne _080619E4
+ mov r0, r10
+ str r0, [sp]
+ movs r0, 0x10
+ mov r1, r8
+ ldr r2, _080619E0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+ b _080619F4
+ .align 2, 0
+_080619DC: .4byte gAvailablePokemonNames
+_080619E0: .4byte gUnknown_8106BEC
+_080619E4:
+ mov r1, r10
+ str r1, [sp]
+ movs r0, 0x10
+ mov r1, r8
+ ldr r2, _08061A34
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+_080619F4:
+ adds r6, 0x1
+ movs r0, 0xC
+ add r8, r0
+ adds r5, 0x1
+_080619FC:
+ cmp r6, 0x9
+ bgt _08061A1E
+ cmp r5, 0
+ blt _080619F4
+ cmp r5, 0xB
+ bgt _080619F4
+ mov r0, sp
+ adds r0, r5
+ adds r0, 0x4
+ ldrb r4, [r0]
+ cmp r6, 0x8
+ bhi _08061A1A
+ mov r1, r9
+ adds r0, r1, r6
+ strb r4, [r0]
+_08061A1A:
+ cmp r4, 0xB
+ bne _080619B8
+_08061A1E:
+ adds r0, r7, 0
+ bl sub_80073E0
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08061A34: .4byte gUnknown_8106BF4
+ thumb_func_end sub_806195C
+
+ thumb_func_start sub_8061A38
+sub_8061A38:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x130
+ adds r5, r0, 0
+ lsls r1, 24
+ lsrs r6, r1, 24
+ add r4, sp, 0xB0
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [r4, 0x4]
+ movs r1, 0x2
+ strh r1, [r4, 0x8]
+ strh r1, [r4, 0xA]
+ movs r2, 0x12
+ strh r2, [r4, 0xC]
+ movs r0, 0xE
+ strh r0, [r4, 0xE]
+ strh r2, [r4, 0x10]
+ strh r1, [r4, 0x12]
+ ldr r0, _08061AA4
+ str r0, [r4, 0x14]
+ movs r0, 0x3
+ str r0, [r4, 0x1C]
+ str r0, [r4, 0x34]
+ str r0, [r4, 0x4C]
+ movs r0, 0
+ str r0, [sp, 0x114]
+ mov r8, r0
+ ldr r0, _08061AA8
+ ldr r1, [r0]
+ ldrb r0, [r5, 0x4]
+ lsls r0, 2
+ ldr r2, _08061AAC
+ adds r1, r2
+ adds r1, r0
+ ldr r1, [r1]
+ str r1, [sp, 0x110]
+ ldr r0, [r1, 0x70]
+ str r0, [sp, 0x11C]
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x4A
+ beq _08061AA0
+ cmp r0, 0x47
+ bne _08061AB0
+_08061AA0:
+ movs r0, 0x1
+ b _08061AB2
+ .align 2, 0
+_08061AA4: .4byte gUnknown_202F270
+_08061AA8: .4byte gDungeonGlobalData
+_08061AAC: .4byte 0x0001357c
+_08061AB0:
+ movs r0, 0
+_08061AB2:
+ adds r1, r0, 0
+ cmp r1, 0
+ beq _08061ACE
+ movs r0, 0x1
+ str r0, [sp, 0x4]
+ movs r0, 0
+ str r0, [sp, 0x8]
+ str r0, [sp, 0xC]
+ str r0, [sp, 0x10]
+ str r0, [sp, 0x14]
+ str r0, [sp, 0x18]
+ movs r1, 0x1
+ str r1, [sp, 0x118]
+ b _08061AFE
+_08061ACE:
+ cmp r6, 0
+ beq _08061AE6
+ movs r0, 0x4
+ str r0, [sp, 0x4]
+ str r1, [sp, 0x8]
+ str r1, [sp, 0xC]
+ str r1, [sp, 0x10]
+ str r1, [sp, 0x14]
+ str r1, [sp, 0x18]
+ movs r2, 0x1
+ str r2, [sp, 0x118]
+ b _08061AFE
+_08061AE6:
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ movs r0, 0x3
+ str r0, [sp, 0xC]
+ movs r0, 0x5
+ str r0, [sp, 0x10]
+ str r6, [sp, 0x14]
+ str r6, [sp, 0x18]
+ movs r0, 0x4
+ str r0, [sp, 0x118]
+_08061AFE:
+ add r2, sp, 0x5C
+ movs r0, 0
+ strh r0, [r2]
+ mov r1, sp
+ adds r1, 0x72
+ strh r0, [r1]
+ ldr r3, _08061BB4
+ strh r0, [r3, 0x18]
+ subs r1, 0x56
+ str r1, [sp, 0x12C]
+ add r2, sp, 0x80
+ mov r9, r2
+ adds r7, r3, 0
+_08061B18:
+ movs r0, 0
+ mov r10, r0
+ movs r1, 0
+ str r1, [sp, 0x120]
+ movs r2, 0
+ str r2, [sp, 0x124]
+ movs r0, 0x1
+ str r0, [sp, 0x128]
+ ldr r4, _08061BB8
+ ldr r1, _08061BBC
+ add r2, sp, 0x118
+ ldrb r2, [r2]
+ strb r2, [r1]
+ add r0, sp, 0x114
+ ldrb r0, [r0]
+ strb r0, [r1, 0x1]
+ movs r0, 0xA
+ strb r0, [r1, 0x2]
+ mov r2, r10
+ strb r2, [r1, 0x3]
+ add r0, sp, 0xB0
+ movs r1, 0x1
+ bl sub_803ECB4
+ ldr r0, [sp, 0x12C]
+ ldr r1, [sp, 0x110]
+ bl sub_8069844
+ ldr r1, [sp, 0x114]
+ lsls r0, r1, 2
+ mov r5, sp
+ adds r5, r0
+ adds r5, 0x4
+ ldr r0, [r5]
+ mov r2, r10
+ str r2, [sp]
+ ldr r2, [sp, 0x12C]
+ add r3, sp, 0x80
+ bl CreatePokemonInfoTabScreen
+ add r0, sp, 0x114
+ ldrh r0, [r0]
+ strh r0, [r7, 0x1E]
+ add r1, sp, 0x118
+ ldrh r1, [r1]
+ strh r1, [r7, 0x20]
+ movs r2, 0
+ ldrsh r0, [r4, r2]
+ adds r0, 0xF
+ lsls r0, 3
+ strh r0, [r7, 0xC]
+ movs r1, 0x2
+ ldrsh r0, [r4, r1]
+ adds r0, 0x1
+ lsls r0, 3
+ subs r0, 0x2
+ strh r0, [r7, 0xE]
+ mov r2, r10
+ strh r2, [r7, 0x14]
+ strh r2, [r7, 0x4]
+ movs r0, 0x10
+ strh r0, [r7, 0x6]
+ mov r0, r10
+ str r0, [r7]
+ adds r0, r7, 0
+ adds r0, 0x28
+ bl sub_801317C
+ mov r1, r10
+ strh r1, [r7, 0x18]
+ strh r1, [r7, 0x1A]
+ strh r1, [r7, 0x1C]
+ ldr r5, [r5]
+ cmp r5, 0x1
+ bne _08061C10
+ movs r2, 0
+ add r1, sp, 0x8C
+ b _08061BC8
+ .align 2, 0
+_08061BB4: .4byte gUnknown_202EE10
+_08061BB8: .4byte gUnknown_2027370
+_08061BBC: .4byte gUnknown_202F270
+_08061BC0:
+ adds r1, 0x4
+ adds r2, 0x1
+ cmp r2, 0x7
+ bgt _08061BCE
+_08061BC8:
+ ldr r0, [r1]
+ cmp r0, 0
+ bne _08061BC0
+_08061BCE:
+ cmp r2, 0
+ beq _08061C44
+ movs r0, 0x1
+ str r0, [sp, 0x124]
+ strh r2, [r7, 0x1A]
+ b _08061C38
+_08061BDA:
+ movs r0, 0x18
+ ldrsh r2, [r7, r0]
+ lsls r1, r2, 2
+ add r0, sp, 0x8C
+ adds r0, r1
+ ldr r4, [r0]
+ mov r8, r2
+ bl sub_8083D44
+ adds r0, r4, 0
+ bl sub_806285C
+ movs r1, 0
+ str r1, [sp, 0x128]
+ b _080621E4
+_08061BF8:
+ movs r2, 0x18
+ ldrsh r0, [r7, r2]
+ mov r2, r9
+ adds r1, r2, r0
+ ldrb r4, [r1]
+ mov r8, r0
+ bl sub_8083D44
+ adds r0, r4, 0
+ bl sub_806262C
+ b _08062082
+_08061C10:
+ cmp r5, 0x4
+ bne _08061C48
+ movs r1, 0
+ add r2, sp, 0x80
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _08061C2E
+ mov r2, r9
+_08061C20:
+ adds r1, 0x1
+ cmp r1, 0x7
+ bgt _08061C2E
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08061C20
+_08061C2E:
+ cmp r1, 0
+ beq _08061C44
+ movs r0, 0x1
+ str r0, [sp, 0x120]
+ strh r1, [r7, 0x1A]
+_08061C38:
+ movs r0, 0x8
+ strh r0, [r7, 0x1C]
+ adds r0, r7, 0
+ movs r1, 0
+ bl sub_80137B0
+_08061C44:
+ mov r1, r8
+ strh r1, [r7, 0x18]
+_08061C48:
+ ldr r0, _08061CF8
+ bl AddMenuCursorSprite
+ movs r0, 0
+ ldr r1, _08061CFC
+ bl sub_8014140
+ adds r4, r0, 0
+ movs r5, 0
+ movs r6, 0
+ ldr r2, [sp, 0x120]
+ cmp r2, 0
+ beq _08061C80
+ mov r1, r9
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0
+ beq _08061C70
+ movs r5, 0x1
+ bl sub_80623B0
+_08061C70:
+ add r1, sp, 0x5C
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _08061C80
+ movs r6, 0x1
+ bl sub_8062230
+_08061C80:
+ ldr r2, [sp, 0x124]
+ cmp r2, 0
+ beq _08061CA6
+ mov r1, r9
+ ldr r0, [r1, 0x2C]
+ cmp r0, 0
+ beq _08061C94
+ movs r5, 0x1
+ bl sub_80623B0
+_08061C94:
+ movs r1, 0x72
+ add r1, sp
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _08061CA6
+ movs r6, 0x1
+ bl sub_8062230
+_08061CA6:
+ movs r0, 0x1C
+ bl sub_803E46C
+ ldr r0, _08061D00
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bls _08061D4E
+ bl sub_80048C8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08061D4E
+ ldr r0, _08061D04
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ bne _08061CD6
+ ldr r2, _08061CF8
+ adds r0, r2, 0
+ adds r0, 0x2B
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08061D08
+_08061CD6:
+ movs r0, 0
+ bl sub_8083CE0
+ ldr r2, [sp, 0x114]
+ adds r2, 0x1
+ str r2, [sp, 0x114]
+ lsls r0, r2, 2
+ add r0, sp
+ adds r0, 0x4
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _08061CF0
+ b _080621E6
+_08061CF0:
+ movs r0, 0
+ str r0, [sp, 0x114]
+ b _080621E6
+ .align 2, 0
+_08061CF8: .4byte gUnknown_202EE10
+_08061CFC: .4byte gUnknown_8106B8C
+_08061D00: .4byte gUnknown_202F270
+_08061D04: .4byte gRealInputs
+_08061D08:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ bne _08061D1A
+ adds r0, r2, 0
+ adds r0, 0x2C
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08061D4E
+_08061D1A:
+ movs r0, 0
+ bl sub_8083CE0
+ ldr r1, [sp, 0x114]
+ subs r1, 0x1
+ str r1, [sp, 0x114]
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _08061D30
+ b _080621E6
+_08061D30:
+ movs r2, 0x5
+ str r2, [sp, 0x114]
+ ldr r0, [sp, 0x18]
+ cmp r0, 0
+ beq _08061D3C
+ b _080621E6
+_08061D3C:
+ add r1, sp, 0x18
+_08061D3E:
+ subs r1, 0x4
+ ldr r0, [sp, 0x114]
+ subs r0, 0x1
+ str r0, [sp, 0x114]
+ ldr r0, [r1]
+ cmp r0, 0
+ beq _08061D3E
+ b _080621E6
+_08061D4E:
+ ldr r1, [sp, 0x124]
+ cmp r1, 0
+ bne _08061D56
+ b _08061E8A
+_08061D56:
+ cmp r4, 0x2
+ bne _08061D98
+ cmp r5, 0
+ beq _08061D98
+ movs r0, 0
+ bl sub_8083CE0
+ mov r2, r9
+ ldr r0, [r2, 0x2C]
+ cmp r0, 0
+ beq _08061D8E
+ ldr r5, _08061D94
+ movs r4, 0x5
+_08061D70:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x1C
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08061D70
+ movs r1, 0x72
+ add r1, sp
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_08061D8E:
+ movs r2, 0x7
+ mov r8, r2
+ b _080621E6
+ .align 2, 0
+_08061D94: .4byte gUnknown_203B080
+_08061D98:
+ ldr r0, _08061DDC
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08061DF0
+ movs r0, 0
+ bl sub_8083CE0
+ ldr r1, _08061DE0
+ movs r2, 0x18
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x7
+ bne _08061DE8
+ mov r1, r9
+ ldr r0, [r1, 0x2C]
+ cmp r0, 0
+ bne _08061DBE
+ b _08061F04
+_08061DBE:
+ ldr r5, _08061DE4
+ movs r4, 0x5
+_08061DC2:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x1C
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08061DC2
+ movs r2, 0x72
+ add r2, sp
+ b _08061EFE
+ .align 2, 0
+_08061DDC: .4byte gRealInputs
+_08061DE0: .4byte gUnknown_202EE10
+_08061DE4: .4byte gUnknown_203B080
+_08061DE8:
+ adds r0, r1, 0
+ movs r1, 0
+ bl sub_80136E0
+_08061DF0:
+ cmp r4, 0x1
+ bne _08061E28
+ cmp r6, 0
+ beq _08061E28
+ movs r2, 0x72
+ add r2, sp
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ cmp r0, 0
+ bne _08061E06
+ b _08061F96
+_08061E06:
+ ldr r5, _08061E24
+ movs r4, 0x5
+_08061E0A:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x1C
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08061E0A
+ movs r1, 0x72
+ add r1, sp
+ b _08061F90
+ .align 2, 0
+_08061E24: .4byte gUnknown_203B084
+_08061E28:
+ ldr r0, _08061E74
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _08061E36
+ b _08061FB0
+_08061E36:
+ movs r0, 0x1
+ bl sub_8083CE0
+ ldr r1, _08061E78
+ movs r2, 0x18
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _08061E80
+ movs r2, 0x72
+ add r2, sp
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ cmp r0, 0
+ bne _08061E54
+ b _08061F96
+_08061E54:
+ ldr r5, _08061E7C
+ movs r4, 0x5
+_08061E58:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x1C
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08061E58
+ movs r1, 0x72
+ add r1, sp
+ b _08061F90
+ .align 2, 0
+_08061E74: .4byte gRealInputs
+_08061E78: .4byte gUnknown_202EE10
+_08061E7C: .4byte gUnknown_203B084
+_08061E80:
+ adds r0, r1, 0
+ movs r1, 0
+ bl sub_8013744
+ b _08061FB0
+_08061E8A:
+ ldr r0, [sp, 0x120]
+ cmp r0, 0
+ bne _08061E92
+ b _08061FB0
+_08061E92:
+ cmp r4, 0x2
+ bne _08061EC0
+ cmp r5, 0
+ beq _08061EC0
+ mov r1, r9
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0
+ beq _08061F04
+ ldr r5, _08061EBC
+ movs r4, 0x5
+_08061EA6:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x1C
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08061EA6
+ b _08061EFC
+ .align 2, 0
+_08061EBC: .4byte gUnknown_203B080
+_08061EC0:
+ ldr r0, _08061F0C
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08061F20
+ movs r0, 0x1
+ bl sub_8083CE0
+ ldr r1, _08061F10
+ movs r2, 0x18
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x7
+ bne _08061F18
+ mov r1, r9
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0
+ beq _08061F04
+ ldr r5, _08061F14
+ movs r4, 0x5
+_08061EE8:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x1C
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08061EE8
+_08061EFC:
+ add r2, sp, 0x5C
+_08061EFE:
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+_08061F04:
+ movs r0, 0x7
+ mov r8, r0
+ b _080621E6
+ .align 2, 0
+_08061F0C: .4byte gRealInputs
+_08061F10: .4byte gUnknown_202EE10
+_08061F14: .4byte gUnknown_203B080
+_08061F18:
+ adds r0, r1, 0
+ movs r1, 0
+ bl sub_80136E0
+_08061F20:
+ cmp r4, 0x1
+ bne _08061F50
+ cmp r6, 0
+ beq _08061F50
+ add r2, sp, 0x5C
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ cmp r0, 0
+ beq _08061F96
+ ldr r5, _08061F4C
+ movs r4, 0x5
+_08061F36:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x1C
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08061F36
+ b _08061F8E
+ .align 2, 0
+_08061F4C: .4byte gUnknown_203B084
+_08061F50:
+ ldr r0, _08061F9C
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08061FB0
+ movs r0, 0x1
+ bl sub_8083CE0
+ ldr r1, _08061FA0
+ movs r2, 0x18
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _08061FA8
+ add r2, sp, 0x5C
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ cmp r0, 0
+ beq _08061F96
+ ldr r5, _08061FA4
+ movs r4, 0x5
+_08061F7A:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x1C
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08061F7A
+_08061F8E:
+ add r1, sp, 0x5C
+_08061F90:
+ ldrh r0, [r1]
+ subs r0, 0x1
+ strh r0, [r1]
+_08061F96:
+ movs r2, 0
+ mov r8, r2
+ b _080621E6
+ .align 2, 0
+_08061F9C: .4byte gRealInputs
+_08061FA0: .4byte gUnknown_202EE10
+_08061FA4: .4byte gUnknown_203B084
+_08061FA8:
+ adds r0, r1, 0
+ movs r1, 0
+ bl sub_8013744
+_08061FB0:
+ bl sub_80048C8
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ beq _08061FBE
+ b _08061C48
+_08061FBE:
+ ldr r5, _0806208C
+ ldrh r1, [r5, 0x2]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08061FDA
+ ldr r0, [sp, 0x124]
+ cmp r0, 0
+ beq _08061FD2
+ b _08061BDA
+_08061FD2:
+ ldr r2, [sp, 0x120]
+ cmp r2, 0
+ beq _08061FDA
+ b _08061BF8
+_08061FDA:
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08061FF0
+ ldr r2, _08062090
+ adds r0, r2, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08061FF0
+ b _080621CA
+_08061FF0:
+ ldr r0, [sp, 0x124]
+ cmp r0, 0
+ beq _080620BC
+ movs r1, 0x18
+ ldrsh r2, [r7, r1]
+ lsls r1, r2, 2
+ add r0, sp, 0x8C
+ adds r0, r1
+ ldr r6, [r0]
+ mov r8, r2
+ bl sub_8062D68
+ ldr r0, _08062094
+ str r4, [r0]
+ bl sub_8083D08
+ movs r0, 0xC
+ movs r1, 0
+ bl sub_8044F5C
+ add r0, sp, 0xB0
+ movs r1, 0x16
+ bl sub_805FC30
+ ldr r4, _08062090
+ movs r2, 0x2A
+ adds r2, r4
+ mov r10, r2
+_08062028:
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x1C
+ bl sub_803E46C
+ ldrh r1, [r5, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _0806204C
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_0806204C:
+ ldrh r1, [r5, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08062064
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013744
+_08062064:
+ ldrh r1, [r5, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08062078
+ adds r0, r4, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08062098
+_08062078:
+ bl sub_8083D08
+ adds r0, r6, 0
+ bl sub_806285C
+_08062082:
+ movs r0, 0
+ str r0, [sp, 0x128]
+ mov r10, r0
+ b _080621E6
+ .align 2, 0
+_0806208C: .4byte gRealInputs
+_08062090: .4byte gUnknown_202EE10
+_08062094: .4byte gUnknown_202EE6C
+_08062098:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080620A8
+ mov r1, r10
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08062028
+_080620A8:
+ bl sub_8083D30
+ b _080621BA
+_080620AE:
+ bl sub_8083D08
+ movs r1, 0x18
+ ldrsh r0, [r7, r1]
+ cmp r0, 0
+ bne _080621B0
+ b _08062198
+_080620BC:
+ ldr r2, [sp, 0x120]
+ cmp r2, 0
+ bne _080620C4
+ b _080621C0
+_080620C4:
+ movs r0, 0x18
+ ldrsh r1, [r7, r0]
+ mov r2, r9
+ adds r0, r2, r1
+ ldrb r6, [r0]
+ mov r8, r1
+ bl sub_8062D68
+ ldr r0, _08062190
+ ldr r1, [sp, 0x124]
+ str r1, [r0]
+ bl sub_8083D08
+ movs r0, 0x28
+ movs r1, 0
+ bl sub_8044F5C
+ movs r0, 0xC
+ movs r1, 0
+ bl sub_8044F5C
+ ldr r0, [sp, 0x110]
+ movs r1, 0x1
+ bl CannotMove
+ lsls r0, 24
+ cmp r0, 0
+ beq _08062102
+ movs r0, 0x28
+ bl sub_8044FF0
+_08062102:
+ add r0, sp, 0xB0
+ movs r1, 0x16
+ bl sub_805FC30
+ ldr r4, _08062194
+ movs r2, 0x2A
+ adds r2, r4
+ mov r10, r2
+_08062112:
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x1C
+ bl sub_803E46C
+ ldrh r1, [r5, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08062136
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08062136:
+ ldrh r1, [r5, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0806214E
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013744
+_0806214E:
+ ldrh r1, [r5, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08062162
+ adds r0, r4, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08062174
+_08062162:
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ bl sub_8044F3C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080620AE
+ bl sub_8083D30
+_08062174:
+ ldrh r1, [r5, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08062186
+ mov r2, r10
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _08062112
+_08062186:
+ bl sub_8083D30
+ movs r0, 0
+ mov r10, r0
+ b _080621E6
+ .align 2, 0
+_08062190: .4byte gUnknown_202EE6C
+_08062194: .4byte gUnknown_202EE10
+_08062198:
+ ldr r0, _080621AC
+ bl PlaySoundEffect
+ ldr r0, [sp, 0x11C]
+ adds r0, 0x8C
+ adds r1, r6, 0
+ bl ToggleIQSkill
+ b _080621BA
+ .align 2, 0
+_080621AC: .4byte 0x00000133
+_080621B0:
+ adds r0, r6, 0
+ bl sub_806262C
+ movs r1, 0
+ str r1, [sp, 0x128]
+_080621BA:
+ movs r2, 0
+ mov r10, r2
+ b _080621E6
+_080621C0:
+ bl sub_8083D08
+ movs r0, 0x1
+ mov r10, r0
+ b _080621E6
+_080621CA:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080621DE
+ adds r0, r2, 0
+ adds r0, 0x2A
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080621DE
+ b _08061C48
+_080621DE:
+ bl sub_8083D30
+ movs r1, 0x1
+_080621E4:
+ mov r10, r1
+_080621E6:
+ ldr r2, [sp, 0x128]
+ cmp r2, 0
+ beq _08062204
+ ldr r0, [sp, 0x120]
+ cmp r0, 0
+ bne _080621F8
+ ldr r1, [sp, 0x124]
+ cmp r1, 0
+ beq _080621FE
+_080621F8:
+ ldr r0, _0806222C
+ bl AddMenuCursorSprite
+_080621FE:
+ movs r0, 0x1C
+ bl sub_803E46C
+_08062204:
+ mov r2, r10
+ cmp r2, 0
+ bne _0806220C
+ b _08061B18
+_0806220C:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ ldr r0, [sp, 0x110]
+ bl LoadIQSkills
+ add sp, 0x130
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0806222C: .4byte gUnknown_202EE10
+ thumb_func_end sub_8061A38
+
+ thumb_func_start sub_8062230
+sub_8062230:
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x8
+ ldr r0, _08062380
+ ldr r0, [r0]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _08062248
+ b _08062372
+_08062248:
+ ldr r0, _08062384
+ mov r9, r0
+ movs r0, 0
+ movs r1, 0
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ mov r0, sp
+ ldrh r0, [r0]
+ ldr r1, _08062388
+ ands r1, r0
+ ldr r3, _0806238C
+ ldr r0, [sp]
+ ands r0, r3
+ orrs r0, r1
+ str r0, [sp]
+ mov r1, sp
+ ldrh r1, [r1]
+ adds r2, r3, 0
+ ands r2, r0
+ orrs r2, r1
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _08062390
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r6, _08062394
+ mov r8, r6
+ mov r0, r8
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _08062398
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _0806239C
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ movs r4, 0x80
+ lsls r4, 7
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r6, _080623A0
+ adds r0, r6, 0
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ orrs r4, r0
+ ands r3, r1
+ orrs r3, r4
+ str r3, [sp]
+ movs r1, 0x80
+ lsls r1, 6
+ mov r5, sp
+ ldrh r0, [r5, 0x2]
+ ldr r2, _080623A4
+ ands r2, r0
+ orrs r2, r1
+ ands r2, r6
+ movs r3, 0xFC
+ lsls r3, 2
+ ldrh r1, [r5, 0x4]
+ movs r0, 0xFC
+ lsls r0, 8
+ ands r0, r1
+ orrs r0, r3
+ mov r1, r8
+ ands r0, r1
+ movs r3, 0xF
+ movs r1, 0xF0
+ lsls r1, 8
+ ldr r4, _080623A8
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r5, 0x4]
+ mov r6, r9
+ movs r1, 0x2
+ ldrsh r0, [r6, r1]
+ lsls r0, 3
+ adds r0, 0x8
+ ands r0, r4
+ lsls r0, 4
+ ldrh r1, [r5, 0x6]
+ ands r3, r1
+ orrs r3, r0
+ strh r3, [r5, 0x6]
+ movs r3, 0
+ ldrsh r0, [r6, r3]
+ lsls r0, 3
+ adds r0, 0x40
+ ldr r1, _080623AC
+ ands r0, r1
+ movs r1, 0xFE
+ lsls r1, 8
+ ands r2, r1
+ orrs r2, r0
+ strh r2, [r5, 0x2]
+ movs r1, 0x80
+ lsls r1, 1
+ mov r0, sp
+ movs r2, 0
+ movs r3, 0
+ bl AddSprite
+_08062372:
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08062380: .4byte gUnknown_202EDCC
+_08062384: .4byte gUnknown_2027370
+_08062388: .4byte 0x0000feff
+_0806238C: .4byte 0xffff0000
+_08062390: .4byte 0x0000fdff
+_08062394: .4byte 0x0000f3ff
+_08062398: .4byte 0x0000efff
+_0806239C: .4byte 0x0000dfff
+_080623A0: .4byte 0x00003fff
+_080623A4: .4byte 0x0000c1ff
+_080623A8: .4byte 0x00000fff
+_080623AC: .4byte 0x000001ff
+ thumb_func_end sub_8062230
+
+ thumb_func_start sub_80623B0
+sub_80623B0:
+ push {r4-r6,lr}
+ sub sp, 0x8
+ ldr r0, _080624D4
+ ldr r0, [r0]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _080623C2
+ b _080624CA
+_080623C2:
+ ldr r6, _080624D8
+ movs r0, 0
+ movs r1, 0
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ mov r0, sp
+ ldrh r0, [r0]
+ ldr r1, _080624DC
+ ands r1, r0
+ ldr r3, _080624E0
+ ldr r0, [sp]
+ ands r0, r3
+ orrs r0, r1
+ str r0, [sp]
+ mov r1, sp
+ ldrh r1, [r1]
+ adds r2, r3, 0
+ ands r2, r0
+ orrs r2, r1
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _080624E4
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r5, _080624E8
+ adds r0, r5, 0
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _080624EC
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _080624F0
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ movs r4, 0x80
+ lsls r4, 7
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _080624F4
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ orrs r4, r0
+ ands r3, r1
+ orrs r3, r4
+ str r3, [sp]
+ mov r3, sp
+ movs r2, 0xFC
+ lsls r2, 2
+ ldrh r1, [r3, 0x4]
+ movs r0, 0xFC
+ lsls r0, 8
+ ands r0, r1
+ orrs r0, r2
+ ands r0, r5
+ movs r2, 0xF
+ movs r1, 0xF0
+ lsls r1, 8
+ ldr r4, _080624F8
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r3, 0x4]
+ movs r1, 0x2
+ ldrsh r0, [r6, r1]
+ lsls r0, 3
+ adds r0, 0x70
+ ands r0, r4
+ lsls r0, 4
+ ldrh r1, [r3, 0x6]
+ ands r2, r1
+ orrs r2, r0
+ strh r2, [r3, 0x6]
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ lsls r0, 3
+ adds r0, 0x40
+ ldr r1, _080624FC
+ ands r0, r1
+ strh r0, [r3, 0x2]
+ subs r1, 0xFF
+ mov r0, sp
+ movs r2, 0
+ movs r3, 0
+ bl AddSprite
+_080624CA:
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080624D4: .4byte gUnknown_202EDCC
+_080624D8: .4byte gUnknown_2027370
+_080624DC: .4byte 0x0000feff
+_080624E0: .4byte 0xffff0000
+_080624E4: .4byte 0x0000fdff
+_080624E8: .4byte 0x0000f3ff
+_080624EC: .4byte 0x0000efff
+_080624F0: .4byte 0x0000dfff
+_080624F4: .4byte 0x00003fff
+_080624F8: .4byte 0x00000fff
+_080624FC: .4byte 0x000001ff
+ thumb_func_end sub_80623B0
+
+ thumb_func_start sub_8062500
+sub_8062500:
+ push {r4,r5,lr}
+ ldr r0, _0806257C
+ ldr r0, [r0]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08062574
+ ldr r5, _08062580
+ ldr r0, _08062584
+ ldrh r2, [r0]
+ ldr r1, _08062588
+ ands r1, r2
+ ldr r2, _0806258C
+ ands r1, r2
+ ldr r4, _08062590
+ ands r1, r4
+ ldr r2, _08062594
+ ands r1, r2
+ ldr r2, _08062598
+ ands r1, r2
+ movs r3, 0x80
+ lsls r3, 7
+ ldr r2, _0806259C
+ ands r1, r2
+ orrs r1, r3
+ strh r1, [r0]
+ movs r3, 0xFC
+ lsls r3, 2
+ ldrh r2, [r0, 0x4]
+ movs r1, 0xFC
+ lsls r1, 8
+ ands r1, r2
+ orrs r1, r3
+ ands r1, r4
+ movs r3, 0xF
+ movs r2, 0xF0
+ lsls r2, 8
+ ldr r4, _080625A0
+ ands r1, r4
+ orrs r1, r2
+ strh r1, [r0, 0x4]
+ movs r2, 0x2
+ ldrsh r1, [r5, r2]
+ lsls r1, 3
+ adds r1, 0x60
+ ands r1, r4
+ lsls r1, 4
+ ldrh r2, [r0, 0x6]
+ ands r3, r2
+ orrs r3, r1
+ strh r3, [r0, 0x6]
+ movs r1, 0x70
+ strh r1, [r0, 0x2]
+ adds r1, 0x90
+ movs r2, 0
+ movs r3, 0
+ bl AddSprite
+_08062574:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0806257C: .4byte gUnknown_202EDCC
+_08062580: .4byte gUnknown_2027370
+_08062584: .4byte gUnknown_202F268
+_08062588: .4byte 0x0000feff
+_0806258C: .4byte 0x0000fdff
+_08062590: .4byte 0x0000f3ff
+_08062594: .4byte 0x0000efff
+_08062598: .4byte 0x0000dfff
+_0806259C: .4byte 0x00003fff
+_080625A0: .4byte 0x00000fff
+ thumb_func_end sub_8062500
+
+ thumb_func_start sub_80625A4
+sub_80625A4:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0xC
+ adds r7, r0, 0
+ mov r9, r1
+ mov r0, sp
+ bl sub_801317C
+ movs r4, 0
+ cmp r4, r7
+ bge _0806261A
+ subs r0, r7, 0x1
+ mov r8, r0
+ mov r5, sp
+_080625C4:
+ lsls r0, r4, 2
+ add r0, r9
+ ldr r0, [r0]
+ mov r1, sp
+ bl sub_80639E4
+ adds r6, r4, 0x1
+ b _080625E8
+_080625D4:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080625E2
+ ldrb r0, [r5, 0x2]
+ cmp r0, 0
+ beq _080625E8
+_080625E2:
+ bl sub_8083D30
+ b _08062614
+_080625E8:
+ cmp r4, r8
+ bge _080625F0
+ bl sub_8062500
+_080625F0:
+ mov r0, sp
+ movs r1, 0
+ bl nullsub_34
+ movs r0, 0x16
+ bl sub_803E46C
+ ldr r0, _08062628
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08062610
+ ldrb r0, [r5, 0x1]
+ cmp r0, 0
+ beq _080625D4
+_08062610:
+ bl sub_8083D08
+_08062614:
+ adds r4, r6, 0
+ cmp r4, r7
+ blt _080625C4
+_0806261A:
+ add sp, 0xC
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08062628: .4byte gRealInputs
+ thumb_func_end sub_80625A4
+
+ thumb_func_start sub_806262C
+sub_806262C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x88
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ mov r0, sp
+ adds r0, 0x70
+ str r0, [sp, 0x84]
+ add r0, sp, 0x10
+ mov r8, r0
+ movs r0, 0
+ mov r9, r0
+ add r7, sp, 0x4
+ add r6, sp, 0x80
+_08062650:
+ add r0, sp, 0x4
+ bl sub_801317C
+ mov r0, r8
+ bl sub_80140B4
+ mov r0, r8
+ str r6, [r0, 0x14]
+ movs r1, 0x1
+ add r0, sp, 0x80
+ strb r1, [r0]
+ mov r0, r9
+ strb r0, [r6, 0x1]
+ movs r0, 0x10
+ strb r0, [r6, 0x2]
+ mov r0, r9
+ strb r0, [r6, 0x3]
+ mov r0, r8
+ bl sub_803ECB4
+ movs r0, 0
+ bl sub_80073B8
+ mov r0, r10
+ bl GetIQSkillName
+ adds r1, r0, 0
+ ldr r0, _080626CC
+ bl strcpy
+ ldr r0, _080626D0
+ ldr r2, [r0]
+ mov r0, r9
+ str r0, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ mov r0, r10
+ bl GetIQSkillDescription
+ adds r2, r0, 0
+ mov r0, r9
+ str r0, [sp]
+ movs r0, 0x8
+ movs r1, 0x10
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r0, 0
+ bl sub_80073E0
+ mov r0, r10
+ bl GetIQSkillDescription
+ ldr r1, [sp, 0x84]
+ bl sub_8097DF0
+ adds r5, r0, 0
+ b _080626EA
+ .align 2, 0
+_080626CC: .4byte gUnknown_202DE58
+_080626D0: .4byte gUnknown_80FE95C
+_080626D4:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080626E2
+ ldrb r0, [r7, 0x2]
+ cmp r0, 0
+ beq _080626EA
+_080626E2:
+ movs r4, 0x1
+ bl sub_8083D30
+ b _08062718
+_080626EA:
+ cmp r5, 0
+ beq _080626F2
+ bl sub_8062500
+_080626F2:
+ add r0, sp, 0x4
+ movs r1, 0
+ bl nullsub_34
+ movs r0, 0x16
+ bl sub_803E46C
+ ldr r0, _0806272C
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08062712
+ ldrb r0, [r7, 0x1]
+ cmp r0, 0
+ beq _080626D4
+_08062712:
+ movs r4, 0
+ bl sub_8083D08
+_08062718:
+ cmp r4, 0
+ bne _08062730
+ cmp r5, 0
+ beq _08062730
+ adds r0, r5, 0
+ ldr r1, [sp, 0x84]
+ bl sub_80625A4
+ b _08062650
+ .align 2, 0
+_0806272C: .4byte gRealInputs
+_08062730:
+ movs r0, 0x4
+ movs r1, 0x3E
+ bl sub_803E708
+ add sp, 0x88
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_806262C
+
+ thumb_func_start sub_8062748
+sub_8062748:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x88
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ mov r0, sp
+ adds r0, 0x70
+ str r0, [sp, 0x84]
+ add r0, sp, 0x10
+ mov r8, r0
+ movs r0, 0
+ mov r9, r0
+ add r7, sp, 0x4
+ add r6, sp, 0x80
+_0806276C:
+ add r0, sp, 0x4
+ bl sub_801317C
+ mov r0, r8
+ bl sub_80140B4
+ mov r0, r8
+ str r6, [r0, 0x14]
+ movs r1, 0x1
+ add r0, sp, 0x80
+ strb r1, [r0]
+ mov r0, r9
+ strb r0, [r6, 0x1]
+ movs r0, 0x10
+ strb r0, [r6, 0x2]
+ mov r0, r9
+ strb r0, [r6, 0x3]
+ mov r0, r8
+ bl sub_803ECB4
+ movs r0, 0
+ bl sub_80073B8
+ ldr r0, _080627E0
+ mov r1, r10
+ bl CopyTacticsNameToBuffer
+ ldr r0, _080627E4
+ ldr r2, [r0]
+ mov r0, r9
+ str r0, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ mov r0, r10
+ bl GetTacticsDescription
+ adds r2, r0, 0
+ mov r0, r9
+ str r0, [sp]
+ movs r0, 0x8
+ movs r1, 0x10
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r0, 0
+ bl sub_80073E0
+ mov r0, r10
+ bl GetTacticsDescription
+ ldr r1, [sp, 0x84]
+ bl sub_8097DF0
+ adds r5, r0, 0
+ b _080627FE
+ .align 2, 0
+_080627E0: .4byte gUnknown_202DE58
+_080627E4: .4byte gUnknown_80FE960
+_080627E8:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080627F6
+ ldrb r0, [r7, 0x2]
+ cmp r0, 0
+ beq _080627FE
+_080627F6:
+ movs r4, 0x1
+ bl sub_8083D30
+ b _0806282C
+_080627FE:
+ cmp r5, 0
+ beq _08062806
+ bl sub_8062500
+_08062806:
+ add r0, sp, 0x4
+ movs r1, 0
+ bl nullsub_34
+ movs r0, 0x3E
+ bl sub_803E46C
+ ldr r0, _08062840
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08062826
+ ldrb r0, [r7, 0x1]
+ cmp r0, 0
+ beq _080627E8
+_08062826:
+ movs r4, 0
+ bl sub_8083D08
+_0806282C:
+ cmp r4, 0
+ bne _08062844
+ cmp r5, 0
+ beq _08062844
+ adds r0, r5, 0
+ ldr r1, [sp, 0x84]
+ bl sub_80625A4
+ b _0806276C
+ .align 2, 0
+_08062840: .4byte gRealInputs
+_08062844:
+ movs r0, 0x4
+ movs r1, 0x3E
+ bl sub_803E708
+ add sp, 0x88
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8062748
+
+ thumb_func_start sub_806285C
+sub_806285C:
+ push {r4-r6,lr}
+ mov r6, r10
+ mov r5, r9
+ mov r4, r8
+ push {r4-r6}
+ sub sp, 0xD4
+ mov r10, r0
+ add r0, sp, 0x10
+ mov r8, r0
+ add r5, sp, 0x70
+ adds r0, r5, 0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x74]
+ add r1, sp, 0x78
+ movs r6, 0
+ movs r0, 0
+ mov r9, r0
+ movs r0, 0x2
+ strh r0, [r1]
+ strh r0, [r1, 0x2]
+ add r1, sp, 0x7C
+ movs r0, 0x1A
+ strh r0, [r1]
+ mov r0, sp
+ adds r0, 0x7E
+ movs r1, 0xC
+ strh r1, [r0]
+ add r0, sp, 0x80
+ strh r1, [r0]
+ add r0, sp, 0x84
+ add r4, sp, 0xD0
+ str r4, [r0]
+ add r0, sp, 0x88
+ movs r1, 0x3
+ str r1, [r0, 0x4]
+ add r0, sp, 0xA0
+ str r1, [r0, 0x4]
+ add r0, sp, 0xB8
+ str r1, [r0, 0x4]
+ mov r0, r8
+ adds r1, r5, 0
+ movs r2, 0x60
+ bl memcpy
+ add r0, sp, 0x4
+ bl sub_801317C
+ movs r0, 0x1
+ strb r0, [r4]
+ strb r6, [r4, 0x1]
+ movs r0, 0x10
+ strb r0, [r4, 0x2]
+ strb r6, [r4, 0x3]
+ mov r0, r8
+ movs r1, 0x1
+ bl sub_803ECB4
+ movs r0, 0
+ bl sub_80073B8
+ mov r0, r10
+ bl sub_808E4FC
+ adds r1, r0, 0
+ ldr r0, _0806291C
+ bl strcpy
+ ldr r0, _08062920
+ ldr r2, [r0]
+ mov r0, r9
+ str r0, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ mov r0, r10
+ bl sub_808E51C
+ adds r2, r0, 0
+ mov r0, r9
+ str r0, [sp]
+ movs r0, 0x8
+ movs r1, 0x10
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r0, 0
+ bl sub_80073E0
+ add r4, sp, 0x4
+ b _08062938
+ .align 2, 0
+_0806291C: .4byte gUnknown_202DE58
+_08062920: .4byte gUnknown_80FE964
+_08062924:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08062932
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0
+ beq _08062938
+_08062932:
+ bl sub_8083D30
+ b _0806295C
+_08062938:
+ add r0, sp, 0x4
+ movs r1, 0
+ bl nullsub_34
+ movs r0, 0x16
+ bl sub_803E46C
+ ldr r0, _08062974
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08062958
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0
+ beq _08062924
+_08062958:
+ bl sub_8083D08
+_0806295C:
+ movs r0, 0x4
+ movs r1, 0x3E
+ bl sub_803E708
+ add sp, 0xD4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08062974: .4byte gRealInputs
+ thumb_func_end sub_806285C
+
+ thumb_func_start DrawFieldGiveItemMenu
+DrawFieldGiveItemMenu:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x80
+ mov r8, r0
+ adds r6, r1, 0
+ add r4, sp, 0x1C
+ ldr r1, _080629AC
+ adds r0, r4, 0
+ movs r2, 0x60
+ bl memcpy
+ movs r0, 0
+ str r0, [sp, 0x7C]
+ mov r1, r8
+ cmp r1, 0
+ beq _080629A2
+ subs r0, 0x1
+ str r0, [r1]
+_080629A2:
+ cmp r6, 0x1
+ bne _080629BA
+ add r1, sp, 0x4C
+ ldr r0, _080629B0
+ b _080629C2
+ .align 2, 0
+_080629AC: .4byte gUnknown_8106C30
+_080629B0: .4byte gUnknown_8106C00
+_080629B4:
+ bl sub_8083D08
+ b _08062AF4
+_080629BA:
+ cmp r6, 0x2
+ bne _080629CA
+ add r1, sp, 0x4C
+ ldr r0, _08062A38
+_080629C2:
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+_080629CA:
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ movs r2, 0
+ bl DrawFieldTeamMenu
+ movs r0, 0x1
+ bl sub_80073B8
+ ldr r0, _08062A3C
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ movs r1, 0x3
+ movs r3, 0x1
+ bl xxx_call_draw_string
+ movs r0, 0x1
+ bl sub_80073E0
+ ldr r0, _08062A40
+ mov r9, r0
+ add r7, sp, 0x8
+ ldr r1, _08062A44
+ mov r10, r1
+_080629FC:
+ mov r2, r10
+ movs r3, 0x18
+ ldrsh r0, [r2, r3]
+ lsls r0, 2
+ adds r0, r7, r0
+ ldr r5, [r0]
+ cmp r5, 0
+ blt _08062A70
+ ldr r0, _08062A48
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _08062A4C
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08062A5A
+ cmp r9, r5
+ beq _08062A5A
+ cmp r6, 0x1
+ bne _08062A50
+ adds r0, r4, 0
+ bl sub_8062B74
+ b _08062A5A
+ .align 2, 0
+_08062A38: .4byte gUnknown_8106C18
+_08062A3C: .4byte gWhichTextPtr2
+_08062A40: .4byte 0xfffffc27
+_08062A44: .4byte gUnknown_202EE10
+_08062A48: .4byte gDungeonGlobalData
+_08062A4C: .4byte 0x0001357c
+_08062A50:
+ cmp r6, 0x2
+ bne _08062A5A
+ adds r0, r4, 0
+ bl sub_8062CA8
+_08062A5A:
+ mov r9, r5
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_806A2BC
+ adds r0, r4, 0x4
+ movs r1, 0
+ movs r2, 0x1
+ movs r3, 0x1
+ bl sub_804A728
+_08062A70:
+ ldr r5, _08062B40
+ adds r0, r5, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x1B
+ bl sub_803E46C
+ ldr r4, _08062B44
+ ldrh r1, [r4, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08062A98
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08062A98:
+ ldrh r1, [r4, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08062AB0
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_8013744
+_08062AB0:
+ ldrh r1, [r4, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08062AC4
+ adds r0, r5, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08062AD8
+_08062AC4:
+ movs r3, 0x18
+ ldrsh r0, [r5, r3]
+ add r1, sp, 0x18
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08062AD4
+ b _080629B4
+_08062AD4:
+ bl sub_8083D30
+_08062AD8:
+ ldr r0, _08062B44
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08062AEC
+ ldr r5, _08062B48
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _080629FC
+_08062AEC:
+ bl sub_8083D30
+ movs r0, 0x1
+ str r0, [sp, 0x7C]
+_08062AF4:
+ ldr r4, _08062B40
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x1B
+ bl sub_803E46C
+ bl sub_804AA60
+ bl GetLeaderEntity
+ movs r1, 0
+ bl sub_806A2BC
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ movs r0, 0x4
+ movs r1, 0x3E
+ bl sub_803E708
+ ldr r1, [sp, 0x7C]
+ cmp r1, 0
+ bne _08062B3C
+ movs r2, 0x18
+ ldrsh r0, [r4, r2]
+ lsls r0, 2
+ adds r0, r7, r0
+ ldr r5, [r0]
+ mov r3, r8
+ cmp r3, 0
+ beq _08062B38
+ str r5, [r3]
+_08062B38:
+ cmp r5, 0
+ bge _08062B4C
+_08062B3C:
+ movs r0, 0
+ b _08062B5A
+ .align 2, 0
+_08062B40: .4byte gUnknown_202EE10
+_08062B44: .4byte gRealInputs
+_08062B48: .4byte gUnknown_202EE3A
+_08062B4C:
+ ldr r0, _08062B6C
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r5, _08062B70
+ adds r0, r5
+ adds r0, r1
+ ldr r0, [r0]
+_08062B5A:
+ add sp, 0x80
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08062B6C: .4byte gDungeonGlobalData
+_08062B70: .4byte 0x0001357c
+ thumb_func_end DrawFieldGiveItemMenu
+
+ thumb_func_start sub_8062B74
+sub_8062B74:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ mov r10, r0
+ ldr r0, [r0, 0x70]
+ mov r9, r0
+ movs r0, 0x2
+ bl sub_8008C54
+ movs r0, 0x2
+ bl sub_80073B8
+ ldr r0, _08062BD0
+ mov r1, r10
+ movs r2, 0
+ bl SetMessageArgument
+ ldr r0, _08062BD4
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xC
+ movs r1, 0
+ movs r3, 0x2
+ bl xxx_format_and_draw
+ movs r1, 0x10
+ mov r8, r1
+ mov r0, r9
+ adds r0, 0xA4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08062BDE
+ mov r0, r9
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x4A
+ beq _08062BCA
+ cmp r0, 0x47
+ bne _08062BD8
+_08062BCA:
+ movs r0, 0x1
+ b _08062BDA
+ .align 2, 0
+_08062BD0: .4byte gAvailablePokemonNames
+_08062BD4: .4byte gUnknown_80FE978
+_08062BD8:
+ movs r0, 0
+_08062BDA:
+ cmp r0, 0
+ beq _08062BF4
+_08062BDE:
+ ldr r2, _08062BF0
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xC
+ mov r1, r8
+ movs r3, 0x2
+ bl xxx_format_and_draw
+ b _08062C8A
+ .align 2, 0
+_08062BF0: .4byte gUnknown_8106C90
+_08062BF4:
+ movs r7, 0
+ movs r4, 0x8C
+ lsls r4, 1
+ add r4, r9
+ adds r5, r4, 0
+_08062BFE:
+ add r0, sp, 0x4
+ movs r1, 0
+ movs r2, 0xC
+ bl memset
+ movs r0, 0x6A
+ str r0, [sp, 0x8]
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08062C80
+ mov r1, r9
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0
+ beq _08062C22
+ movs r0, 0x2
+ b _08062C24
+_08062C22:
+ movs r0, 0x4
+_08062C24:
+ str r0, [sp, 0x4]
+ mov r0, r10
+ adds r1, r5, 0
+ movs r2, 0x1
+ bl IsMoveUsable_2
+ add r1, sp, 0x4
+ movs r2, 0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08062C3C
+ movs r2, 0x1
+_08062C3C:
+ strb r2, [r1, 0x8]
+ ldr r0, _08062CA0
+ adds r1, r5, 0
+ add r2, sp, 0x4
+ bl sub_80928C0
+ ldrb r1, [r4]
+ movs r0, 0x2
+ ands r0, r1
+ movs r6, 0xD
+ cmp r0, 0
+ bne _08062C6C
+ movs r6, 0x8
+ cmp r7, 0
+ beq _08062C6C
+ mov r2, r8
+ subs r2, 0x2
+ movs r0, 0x7
+ str r0, [sp]
+ movs r0, 0x2
+ movs r1, 0xC
+ movs r3, 0x78
+ bl sub_80078A4
+_08062C6C:
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r6, 0
+ mov r1, r8
+ ldr r2, _08062CA4
+ movs r3, 0x2
+ bl xxx_format_and_draw
+ movs r0, 0xC
+ add r8, r0
+_08062C80:
+ adds r4, 0x8
+ adds r5, 0x8
+ adds r7, 0x1
+ cmp r7, 0x3
+ ble _08062BFE
+_08062C8A:
+ movs r0, 0x2
+ bl sub_80073E0
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08062CA0: .4byte gUnknown_202DE58
+_08062CA4: .4byte gUnknown_8106C98
+ thumb_func_end sub_8062B74
+
+ thumb_func_start sub_8062CA8
+sub_8062CA8:
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ ldr r5, [r4, 0x70]
+ movs r0, 0x2
+ bl sub_8008C54
+ movs r0, 0x2
+ bl sub_80073B8
+ ldr r0, _08062CF8
+ adds r1, r4, 0
+ movs r2, 0
+ bl SetMessageArgument
+ ldr r0, _08062CFC
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xC
+ movs r1, 0
+ movs r3, 0x2
+ bl xxx_format_and_draw
+ movs r7, 0x8
+ movs r6, 0x12
+ adds r0, r5, 0
+ adds r0, 0xA4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08062D08
+ adds r0, r5, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x4A
+ beq _08062CF4
+ cmp r0, 0x47
+ bne _08062D00
+_08062CF4:
+ movs r0, 0x1
+ b _08062D02
+ .align 2, 0
+_08062CF8: .4byte gAvailablePokemonNames
+_08062CFC: .4byte gUnknown_80FE940
+_08062D00:
+ movs r0, 0
+_08062D02:
+ adds r4, r0, 0
+ cmp r4, 0
+ beq _08062D18
+_08062D08:
+ ldr r2, _08062D14
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ b _08062D2C
+ .align 2, 0
+_08062D14: .4byte gUnknown_8106C90
+_08062D18:
+ adds r2, r5, 0
+ adds r2, 0x60
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08062D3C
+ ldr r2, _08062D38
+ str r4, [sp]
+ adds r0, r7, 0
+_08062D2C:
+ adds r1, r6, 0
+ movs r3, 0x2
+ bl xxx_format_and_draw
+ b _08062D52
+ .align 2, 0
+_08062D38: .4byte gUnknown_8106C9C
+_08062D3C:
+ ldr r0, _08062D60
+ adds r1, r2, 0
+ bl sub_8045C18
+ ldr r2, _08062D64
+ str r4, [sp]
+ adds r0, r7, 0
+ adds r1, r6, 0
+ movs r3, 0x2
+ bl xxx_format_and_draw
+_08062D52:
+ movs r0, 0x2
+ bl sub_80073E0
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08062D60: .4byte gUnknown_202DE58
+_08062D64: .4byte gUnknown_8106C98
+ thumb_func_end sub_8062CA8
+
+ thumb_func_start sub_8062D68
+sub_8062D68:
+ push {lr}
+ ldr r0, _08062D84
+ movs r1, 0
+ strh r1, [r0, 0x1E]
+ strh r1, [r0, 0x20]
+ strh r1, [r0, 0xC]
+ strh r1, [r0, 0xE]
+ strh r1, [r0, 0x14]
+ adds r0, 0x28
+ bl sub_801317C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08062D84: .4byte gUnknown_202EE10
+ thumb_func_end sub_8062D68
+
+ thumb_func_start sub_8062D88
+sub_8062D88:
+ movs r0, 0x1
+ bx lr
+ thumb_func_end sub_8062D88
+
+ thumb_func_start sub_8062D8C
+sub_8062D8C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ mov r10, r0
+ ldrb r5, [r0, 0x4]
+ ldr r0, _08062E24
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _08062E28
+ adds r0, r2
+ adds r0, r1
+ ldr r0, [r0]
+ str r0, [sp, 0x4]
+ adds r7, r0, 0
+_08062DAE:
+ movs r0, 0
+ mov r9, r0
+ movs r6, 0
+ movs r4, 0
+ adds r2, r7, 0x4
+ mov r8, r2
+_08062DBA:
+ ldr r0, _08062E24
+ ldr r0, [r0]
+ lsls r1, r4, 2
+ ldr r2, _08062E28
+ adds r0, r2
+ adds r0, r1
+ ldr r0, [r0]
+ bl sub_8071A8C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08062DDA
+ cmp r4, r5
+ bne _08062DD8
+ mov r9, r6
+_08062DD8:
+ adds r6, 0x1
+_08062DDA:
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _08062DBA
+ adds r0, r7, 0
+ movs r1, 0
+ bl sub_806A2BC
+ mov r0, r8
+ movs r1, 0
+ movs r2, 0x1
+ movs r3, 0x1
+ bl sub_804A728
+ movs r0, 0x1
+ bl sub_8044C10
+ str r6, [sp]
+ adds r0, r7, 0
+ movs r1, 0
+ movs r2, 0x1
+ mov r3, r9
+ bl sub_8062F90
+ lsls r0, 24
+ cmp r0, 0
+ beq _08062E10
+ b _08062F80
+_08062E10:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x6
+ bne _08062E6C
+ adds r6, r5, 0
+ movs r4, 0
+ b _08062E2E
+ .align 2, 0
+_08062E24: .4byte gDungeonGlobalData
+_08062E28: .4byte 0x0001357c
+_08062E2C:
+ adds r4, 0x1
+_08062E2E:
+ cmp r4, 0x3
+ bgt _08062E54
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _08062E3A
+ movs r5, 0
+_08062E3A:
+ ldr r0, _08062E64
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _08062E68
+ adds r0, r2
+ adds r0, r1
+ ldr r7, [r0]
+ adds r0, r7, 0
+ bl sub_8071A8C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08062E2C
+_08062E54:
+ mov r0, r10
+ strb r5, [r0, 0x4]
+ cmp r6, r5
+ beq _08062F32
+ movs r0, 0
+ bl sub_8083CE0
+ b _08062F32
+ .align 2, 0
+_08062E64: .4byte gDungeonGlobalData
+_08062E68: .4byte 0x0001357c
+_08062E6C:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x7
+ bne _08062EC0
+ adds r6, r5, 0
+ movs r4, 0
+ b _08062E80
+_08062E7E:
+ adds r4, 0x1
+_08062E80:
+ cmp r4, 0x3
+ bgt _08062EA6
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08062E8C
+ movs r5, 0x3
+_08062E8C:
+ ldr r0, _08062EB8
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _08062EBC
+ adds r0, r2
+ adds r0, r1
+ ldr r7, [r0]
+ adds r0, r7, 0
+ bl sub_8071A8C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08062E7E
+_08062EA6:
+ mov r0, r10
+ strb r5, [r0, 0x4]
+ cmp r6, r5
+ beq _08062F32
+ movs r0, 0
+ bl sub_8083CE0
+ b _08062F32
+ .align 2, 0
+_08062EB8: .4byte gDungeonGlobalData
+_08062EBC: .4byte 0x0001357c
+_08062EC0:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1D
+ bne _08062ED6
+ bl sub_805F1A0
+ bl sub_80637E8
+ b _08062F32
+_08062ED6:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1E
+ bne _08062EF6
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ bl sub_805F1A0
+ movs r1, 0x1
+ bl sub_8063A70
+ b _08062F32
+_08062EF6:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x33
+ bne _08062F16
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ bl sub_805F1A0
+ movs r1, 0
+ bl sub_8063A70
+ b _08062F32
+_08062F16:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1F
+ bne _08062F3A
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ bl sub_805F1A0
+ bl sub_8063B54
+_08062F32:
+ movs r0, 0x1
+ bl sub_8044C10
+ b _08062F5E
+_08062F3A:
+ bl sub_805F1AC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x21
+ bne _08062F5E
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ bl sub_805F1A0
+ movs r1, 0x1
+ bl sub_8063CF0
+ movs r0, 0x1
+ bl sub_8044C10
+_08062F5E:
+ bl sub_805F1AC
+ lsls r0, 16
+ cmp r0, 0
+ bne _08062F6A
+ b _08062DAE
+_08062F6A:
+ ldr r0, [sp, 0x4]
+ movs r1, 0
+ bl sub_806A2BC
+ ldr r0, [sp, 0x4]
+ adds r0, 0x4
+ movs r1, 0
+ movs r2, 0x1
+ movs r3, 0x1
+ bl sub_804A728
+_08062F80:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8062D8C
+
+ thumb_func_start sub_8062F90
+sub_8062F90:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xE8
+ mov r8, r0
+ str r3, [sp, 0xDC]
+ lsls r1, 24
+ lsrs r1, 24
+ str r1, [sp, 0xD4]
+ lsls r2, 24
+ lsrs r2, 24
+ str r2, [sp, 0xD8]
+ ldr r0, [r0, 0x70]
+ mov r9, r0
+ bl GetLeaderEntity
+ ldr r0, [r0, 0x70]
+ str r0, [sp, 0xE4]
+ add r4, sp, 0x70
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x74]
+ add r0, sp, 0x78
+ movs r6, 0
+ movs r1, 0x2
+ strh r1, [r0]
+ strh r1, [r0, 0x2]
+ add r1, sp, 0x7C
+ movs r0, 0x12
+ strh r0, [r1]
+ mov r0, sp
+ adds r0, 0x7E
+ movs r1, 0x10
+ strh r1, [r0]
+ add r0, sp, 0x80
+ strh r1, [r0]
+ add r5, sp, 0xD0
+ str r5, [sp, 0x84]
+ movs r1, 0x3
+ str r1, [sp, 0x8C]
+ add r0, sp, 0xA0
+ str r1, [r0, 0x4]
+ add r0, sp, 0xB8
+ str r1, [r0, 0x4]
+ add r0, sp, 0x10
+ adds r1, r4, 0
+ movs r2, 0x60
+ bl memcpy
+ ldr r0, _080630A4
+ str r6, [r0]
+ movs r3, 0
+ ldr r7, [sp, 0xE4]
+ adds r7, 0x44
+_08063008:
+ lsls r0, r3, 3
+ movs r1, 0x8C
+ lsls r1, 1
+ adds r0, r1
+ mov r1, r9
+ adds r2, r1, r0
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08063032
+ ldrb r1, [r2, 0x1]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08063032
+ movs r0, 0xFD
+ ands r0, r1
+ strb r0, [r2, 0x1]
+ ldr r0, _080630A4
+ str r3, [r0]
+_08063032:
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _08063008
+_08063038:
+ movs r5, 0
+ movs r2, 0
+ str r2, [sp, 0xE0]
+ mov r10, r2
+ add r0, sp, 0xD0
+ str r0, [sp]
+ add r1, sp, 0x70
+ str r1, [sp, 0x4]
+ ldr r2, [sp, 0xDC]
+ str r2, [sp, 0x8]
+ ldr r0, [sp, 0x108]
+ str r0, [sp, 0xC]
+ mov r0, r8
+ mov r1, r9
+ ldr r2, [sp, 0xD4]
+ add r3, sp, 0x10
+ bl sub_80633E4
+_0806305C:
+ ldr r0, _080630A8
+ add r1, sp, 0x70
+ bl AddMenuCursorSprite_
+ movs r0, 0x1E
+ bl sub_803E46C
+ ldr r2, _080630AC
+ ldrh r1, [r2, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080630DE
+ ldrh r0, [r2]
+ lsrs r0, 8
+ movs r1, 0x1
+ ands r0, r1
+ ldr r1, _080630A8
+ movs r2, 0x18
+ ldrsh r6, [r1, r2]
+ cmp r0, 0
+ beq _080630BA
+ movs r0, 0x8C
+ lsls r0, 1
+ add r0, r9
+ adds r1, r6, 0
+ bl sub_8092F80
+ ldr r1, _080630A4
+ str r0, [r1]
+ cmp r6, r0
+ beq _080630B0
+ movs r0, 0
+ bl sub_8083CE0
+ b _080630B4
+ .align 2, 0
+_080630A4: .4byte gUnknown_202F2D8
+_080630A8: .4byte gUnknown_202EE10
+_080630AC: .4byte gRealInputs
+_080630B0:
+ bl sub_8083D30
+_080630B4:
+ movs r0, 0x1
+ mov r10, r0
+ b _080631F4
+_080630BA:
+ movs r0, 0x8C
+ lsls r0, 1
+ add r0, r9
+ adds r1, r6, 0
+ bl sub_8092D80
+ adds r1, r0, 0
+ ldr r0, _08063118
+ bl sub_8013780
+ ldr r1, _08063118
+ movs r2, 0x18
+ ldrsh r0, [r1, r2]
+ cmp r6, r0
+ beq _080630DE
+ movs r0, 0
+ bl sub_8083CE0
+_080630DE:
+ ldr r2, _0806311C
+ ldrh r1, [r2, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08063150
+ ldrh r0, [r2]
+ lsrs r0, 8
+ movs r1, 0x1
+ ands r0, r1
+ ldr r4, _08063118
+ movs r1, 0x18
+ ldrsh r6, [r4, r1]
+ cmp r0, 0
+ beq _0806312E
+ movs r0, 0x8C
+ lsls r0, 1
+ add r0, r9
+ adds r1, r6, 0
+ bl sub_8093130
+ ldr r1, _08063120
+ str r0, [r1]
+ cmp r6, r0
+ beq _08063124
+ movs r0, 0
+ bl sub_8083CE0
+ b _08063128
+ .align 2, 0
+_08063118: .4byte gUnknown_202EE10
+_0806311C: .4byte gRealInputs
+_08063120: .4byte gUnknown_202F2D8
+_08063124:
+ bl sub_8083D30
+_08063128:
+ movs r2, 0x1
+ mov r10, r2
+ b _080631F4
+_0806312E:
+ movs r0, 0x8C
+ lsls r0, 1
+ add r0, r9
+ adds r1, r6, 0
+ bl sub_8092DB8
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_8013780
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ cmp r6, r0
+ beq _08063150
+ movs r0, 0
+ bl sub_8083CE0
+_08063150:
+ ldr r4, _08063174
+ ldrh r1, [r4, 0x4]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ bne _08063168
+ ldr r6, _08063178
+ adds r0, r6, 0
+ adds r0, 0x2B
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0806317C
+_08063168:
+ adds r0, r7, 0
+ movs r1, 0x6
+ bl SetAction
+ b _080631F4
+ .align 2, 0
+_08063174: .4byte gRealInputs
+_08063178: .4byte gUnknown_202EE10
+_0806317C:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ bne _0806318E
+ adds r0, r6, 0
+ adds r0, 0x2C
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08063198
+_0806318E:
+ adds r0, r7, 0
+ movs r1, 0x7
+ bl SetAction
+ b _080631F4
+_08063198:
+ bl sub_8062D88
+ ldrh r1, [r4, 0x2]
+ ands r0, r1
+ cmp r0, 0
+ bne _080631AE
+ adds r0, r6, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080631C8
+_080631AE:
+ ldr r2, [sp, 0xD4]
+ cmp r2, 0
+ beq _080631C2
+ ldrh r0, [r4]
+ lsrs r0, 8
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080631C2
+ movs r5, 0x3
+_080631C2:
+ bl sub_8083D08
+ b _080631F4
+_080631C8:
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _0806321C
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ bne _08063214
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080631EC
+ adds r0, r6, 0
+ adds r0, 0x2A
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080631EC
+ b _0806305C
+_080631EC:
+ bl sub_8083D30
+ movs r0, 0x1
+ str r0, [sp, 0xE0]
+_080631F4:
+ ldr r4, _08063210
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x1E
+ bl sub_803E46C
+ ldrh r0, [r7]
+ subs r0, 0x6
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1
+ bhi _08063224
+ b _080633CC
+ .align 2, 0
+_08063210: .4byte gUnknown_202EE10
+_08063214:
+ movs r5, 0x2
+ bl sub_8083D44
+ b _080631F4
+_0806321C:
+ movs r5, 0x1
+ bl sub_8083D44
+ b _080631F4
+_08063224:
+ mov r1, r10
+ cmp r1, 0
+ beq _0806322C
+ b _08063038
+_0806322C:
+ ldr r2, [sp, 0xE0]
+ cmp r2, 0
+ beq _08063234
+ b _080633B6
+_08063234:
+ ldr r6, _08063270
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ str r0, [r6]
+ cmp r5, 0x1
+ bne _08063274
+ adds r0, r7, 0
+ movs r1, 0x1D
+ bl SetAction
+ mov r0, r8
+ adds r0, 0x24
+ ldrb r1, [r0]
+ ldr r0, [sp, 0xE4]
+ adds r0, 0x48
+ strb r1, [r0]
+ ldr r1, [r6]
+ ldr r0, [sp, 0xE4]
+ adds r0, 0x50
+ strb r1, [r0]
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ movs r0, 0x8
+ movs r1, 0x1B
+ bl sub_803E708
+ b _080633B6
+ .align 2, 0
+_08063270: .4byte gUnknown_202F2D8
+_08063274:
+ mov r0, r8
+ ldr r1, [sp, 0xD4]
+ ldr r2, [sp, 0xD8]
+ bl sub_8063698
+ cmp r5, 0x3
+ bne _08063298
+ movs r0, 0x20
+ bl sub_8044FB4
+ adds r6, r0, 0
+ bl sub_8044F3C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080632CC
+ movs r0, 0x21
+ b _080632BC
+_08063298:
+ cmp r5, 0x2
+ bne _080632DE
+ mov r2, r9
+ ldrb r0, [r2, 0x7]
+ cmp r0, 0
+ beq _080632BA
+ movs r0, 0x1E
+ bl sub_8044FB4
+ adds r6, r0, 0
+ bl sub_8044F3C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080632CC
+ movs r0, 0x33
+ b _080632BC
+_080632BA:
+ movs r0, 0x1F
+_080632BC:
+ bl sub_8044FB4
+ adds r6, r0, 0
+ bl sub_8044F3C
+ lsls r0, 24
+ cmp r0, 0
+ beq _080632DE
+_080632CC:
+ mov r0, r8
+ bl sub_8045B60
+ adds r2, r0, 0
+ adds r0, r7, 0
+ adds r1, r6, 0
+ bl sub_80637BC
+ b _080633B6
+_080632DE:
+ movs r0, 0x2
+ bl sub_8009524
+ add r0, sp, 0x10
+ movs r1, 0x16
+ bl sub_805FC30
+ ldr r6, _0806337C
+ ldr r5, _08063380
+ movs r0, 0x2A
+ adds r0, r6
+ mov r10, r0
+ adds r4, r7, 0
+_080632F8:
+ adds r0, r6, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x1B
+ bl sub_803E46C
+ ldrh r1, [r5, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _0806331C
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_0806331C:
+ ldrh r1, [r5, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08063334
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl sub_8013744
+_08063334:
+ bl sub_8062D88
+ ldrh r1, [r5, 0x2]
+ ands r1, r0
+ cmp r1, 0
+ bne _0806334A
+ adds r0, r6, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08063388
+_0806334A:
+ movs r1, 0x18
+ ldrsh r0, [r6, r1]
+ bl sub_8044F3C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08063384
+ mov r0, r8
+ bl sub_8045B60
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_80637A4
+ ldrh r0, [r4]
+ subs r0, 0x14
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1
+ bls _08063376
+ bl sub_8083D08
+_08063376:
+ movs r6, 0
+ b _080633A0
+ .align 2, 0
+_0806337C: .4byte gUnknown_202EE10
+_08063380: .4byte gRealInputs
+_08063384:
+ bl sub_8083D30
+_08063388:
+ ldrh r1, [r5, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _0806339A
+ mov r2, r10
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _080632F8
+_0806339A:
+ bl sub_8083D30
+ movs r6, 0x1
+_080633A0:
+ ldr r0, _080633E0
+ bl AddMenuCursorSprite
+ movs r0, 0x1B
+ bl sub_803E46C
+ cmp r6, 0x1
+ bne _080633B2
+ b _08063038
+_080633B2:
+ movs r0, 0
+ str r0, [sp, 0xE0]
+_080633B6:
+ movs r0, 0x1
+ cmp r0, 0
+ beq _080633CC
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ movs r0, 0x8
+ movs r1, 0x1E
+ bl sub_803E708
+_080633CC:
+ ldr r0, [sp, 0xE0]
+ add sp, 0xE8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080633E0: .4byte gUnknown_202EE10
+ thumb_func_end sub_8062F90
+
+ thumb_func_start sub_80633E4
+sub_80633E4:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x24
+ str r0, [sp, 0x20]
+ adds r7, r1, 0
+ adds r4, r3, 0
+ ldr r0, [sp, 0x44]
+ mov r8, r0
+ lsls r2, 24
+ lsrs r2, 24
+ mov r10, r2
+ add r1, sp, 0x8
+ ldr r0, _08063508
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ movs r0, 0
+ add r5, sp, 0x50
+ ldrb r6, [r5]
+ mov r5, r8
+ strb r6, [r5]
+ add r6, sp, 0x4C
+ ldrb r6, [r6]
+ strb r6, [r5, 0x1]
+ strb r0, [r5, 0x3]
+ movs r6, 0
+ ldr r5, _0806350C
+ ldr r0, _08063510
+ mov r9, r0
+ movs r1, 0x1
+ mov r12, r1
+ movs r3, 0x8C
+ lsls r3, 1
+ adds r2, r7, r3
+ movs r3, 0x3
+_08063432:
+ ldrb r1, [r2]
+ mov r0, r12
+ ands r0, r1
+ cmp r0, 0
+ beq _0806343E
+ adds r6, 0x1
+_0806343E:
+ adds r2, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08063432
+ movs r3, 0x4
+ mov r1, r9
+ ldr r0, [r1]
+ movs r1, 0
+ strh r0, [r5, 0x18]
+ strh r6, [r5, 0x1A]
+ strh r3, [r5, 0x1C]
+ add r2, sp, 0x4C
+ ldrh r2, [r2]
+ strh r2, [r5, 0x1E]
+ add r3, sp, 0x50
+ ldrh r3, [r3]
+ strh r3, [r5, 0x20]
+ strh r1, [r5, 0x4]
+ movs r0, 0x10
+ strh r0, [r5, 0x6]
+ strh r1, [r5, 0x14]
+ str r1, [r5]
+ adds r0, r5, 0
+ adds r0, 0x28
+ bl sub_801317C
+ movs r0, 0x4
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ strh r0, [r4, 0x10]
+ strh r0, [r4, 0xE]
+ movs r0, 0xD
+ mov r6, r8
+ strb r0, [r6, 0x2]
+ movs r0, 0x2
+ strh r0, [r4, 0x8]
+ adds r1, r4, 0
+ adds r1, 0x18
+ adds r0, r4, 0
+ adds r0, 0x48
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ adds r1, r4, 0
+ adds r1, 0x30
+ add r0, sp, 0x8
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_803ECB4
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_80137B0
+ ldr r1, _08063514
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ adds r0, 0x10
+ lsls r0, 3
+ strh r0, [r5, 0xC]
+ movs r3, 0x2
+ ldrsh r0, [r1, r3]
+ adds r0, 0x1
+ lsls r0, 3
+ subs r0, 0x2
+ strh r0, [r5, 0xE]
+ ldr r0, _08063518
+ adds r1, r7, 0
+ movs r2, 0
+ bl SetMessageArgument_2
+ movs r3, 0
+ movs r5, 0x1
+_080634DE:
+ lsls r1, r3, 3
+ movs r4, 0x8C
+ lsls r4, 1
+ adds r1, r4
+ adds r1, r7, r1
+ ldr r6, [sp, 0x48]
+ adds r4, r6, r3
+ movs r0, 0
+ strb r0, [r4]
+ ldrb r1, [r1]
+ adds r2, r5, 0
+ ands r2, r1
+ cmp r2, 0
+ bne _0806351C
+ ldr r1, _0806350C
+ movs r4, 0x18
+ ldrsh r0, [r1, r4]
+ cmp r0, r3
+ bne _08063526
+ strh r2, [r1, 0x18]
+ b _08063526
+ .align 2, 0
+_08063508: .4byte gUnknown_8106CAC
+_0806350C: .4byte gUnknown_202EE10
+_08063510: .4byte gUnknown_202F2D8
+_08063514: .4byte gUnknown_2027370
+_08063518: .4byte gAvailablePokemonNames
+_0806351C:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08063526
+ strb r5, [r4]
+_08063526:
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _080634DE
+ movs r5, 0x8C
+ lsls r5, 1
+ adds r2, r7, r5
+ mov r6, r10
+ str r6, [sp]
+ ldr r0, [sp, 0x4C]
+ str r0, [sp, 0x4]
+ movs r0, 0x4
+ ldr r1, [sp, 0x20]
+ movs r3, 0
+ bl sub_8063578
+ movs r0, 0x2
+ bl sub_80073B8
+ ldr r0, _08063574
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ movs r1, 0
+ movs r3, 0x2
+ bl xxx_format_and_draw
+ movs r0, 0x2
+ bl sub_80073E0
+ add sp, 0x24
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08063574: .4byte gUnknown_80FDFE8
+ thumb_func_end sub_80633E4
+
+ thumb_func_start sub_8063578
+sub_8063578:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x20
+ str r0, [sp, 0x10]
+ str r1, [sp, 0x14]
+ adds r5, r2, 0
+ mov r8, r3
+ ldr r0, [sp, 0x40]
+ ldr r4, [sp, 0x44]
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x18]
+ ldr r0, [r1, 0x70]
+ str r0, [sp, 0x1C]
+ mov r0, r8
+ bl sub_80073B8
+ ldr r0, _080635FC
+ ldr r1, [sp, 0x14]
+ movs r2, 0
+ bl SetMessageArgument
+ lsls r4, 3
+ adds r4, 0xA
+ ldr r0, _08063600
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r1, 0
+ mov r3, r8
+ bl xxx_format_and_draw
+ movs r1, 0
+ mov r9, r1
+ ldr r0, [sp, 0x10]
+ cmp r9, r0
+ bge _08063676
+ add r1, sp, 0x4
+ mov r10, r1
+ adds r7, r5, 0
+_080635D0:
+ movs r0, 0
+ str r0, [sp, 0x4]
+ movs r0, 0x6A
+ str r0, [sp, 0x8]
+ movs r0, 0
+ mov r1, r10
+ strb r0, [r1, 0x8]
+ mov r1, sp
+ ldrb r0, [r1, 0x18]
+ mov r1, r10
+ strb r0, [r1, 0x9]
+ ldrb r1, [r7]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08063668
+ ldr r1, [sp, 0x1C]
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0
+ beq _08063604
+ movs r0, 0x2
+ b _08063606
+ .align 2, 0
+_080635FC: .4byte gAvailablePokemonNames
+_08063600: .4byte gUnknown_80FE978
+_08063604:
+ movs r0, 0x4
+_08063606:
+ str r0, [sp, 0x4]
+ ldr r0, [sp, 0x14]
+ adds r1, r5, 0
+ movs r2, 0x1
+ bl IsMoveUsable_2
+ add r1, sp, 0x4
+ movs r2, 0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0806361E
+ movs r2, 0x1
+_0806361E:
+ strb r2, [r1, 0x8]
+ ldr r0, _0806368C
+ adds r1, r5, 0
+ add r2, sp, 0x4
+ bl sub_80928C0
+ ldr r0, _08063690
+ mov r1, r9
+ bl sub_8013800
+ adds r4, r0, 0
+ ldrb r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ movs r6, 0xD
+ cmp r0, 0
+ bne _08063658
+ movs r6, 0x8
+ mov r0, r9
+ cmp r0, 0
+ beq _08063658
+ subs r2, r4, 0x2
+ movs r0, 0x7
+ str r0, [sp]
+ mov r0, r8
+ movs r1, 0xC
+ movs r3, 0x78
+ bl sub_80078A4
+_08063658:
+ movs r1, 0
+ str r1, [sp]
+ adds r0, r6, 0
+ adds r1, r4, 0
+ ldr r2, _08063694
+ mov r3, r8
+ bl xxx_format_and_draw
+_08063668:
+ adds r7, 0x8
+ adds r5, 0x8
+ movs r0, 0x1
+ add r9, r0
+ ldr r1, [sp, 0x10]
+ cmp r9, r1
+ blt _080635D0
+_08063676:
+ mov r0, r8
+ bl sub_80073E0
+ 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
+_0806368C: .4byte gUnknown_202DE58
+_08063690: .4byte gUnknown_202EE10
+_08063694: .4byte gUnknown_8106CC4
+ thumb_func_end sub_8063578
+
+ thumb_func_start sub_8063698
+sub_8063698:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ mov r8, r0
+ lsls r1, 24
+ lsrs r6, r1, 24
+ lsls r2, 24
+ lsrs r7, r2, 24
+ ldr r4, [r0, 0x70]
+ ldr r0, _080636E8
+ ldr r0, [r0]
+ lsls r0, 3
+ movs r1, 0x8C
+ lsls r1, 1
+ adds r0, r1
+ adds r5, r4, r0
+ ldr r1, _080636EC
+ movs r0, 0
+ str r0, [r1]
+ ldrb r0, [r4, 0x7]
+ cmp r0, 0
+ beq _080636FA
+ cmp r7, 0
+ beq _080636D0
+ movs r0, 0x14
+ movs r1, 0
+ bl sub_8044F5C
+_080636D0:
+ ldrb r1, [r5]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08063702
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _080636F0
+ movs r0, 0x33
+ b _080636F2
+ .align 2, 0
+_080636E8: .4byte gUnknown_202F2D8
+_080636EC: .4byte gUnknown_202EE6C
+_080636F0:
+ movs r0, 0x1E
+_080636F2:
+ movs r1, 0
+ bl sub_8044F5C
+ b _08063702
+_080636FA:
+ movs r0, 0x1F
+ movs r1, 0
+ bl sub_8044F5C
+_08063702:
+ cmp r6, 0
+ beq _08063716
+ movs r0, 0x20
+ movs r1, 0
+ bl sub_8044F5C
+ movs r0, 0x21
+ movs r1, 0
+ bl sub_8044F5C
+_08063716:
+ movs r0, 0x1D
+ movs r1, 0
+ bl sub_8044F5C
+ cmp r6, 0
+ bne _0806372A
+ movs r0, 0x20
+ bl sub_8044FF0
+ b _08063754
+_0806372A:
+ ldr r5, _080637A0
+ ldr r1, [r5]
+ adds r0, r4, 0
+ bl sub_8063C88
+ lsls r0, 24
+ cmp r0, 0
+ bne _08063740
+ movs r0, 0x20
+ bl sub_8044FF0
+_08063740:
+ ldr r1, [r5]
+ adds r0, r4, 0
+ bl sub_8063DD4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08063754
+ movs r0, 0x21
+ bl sub_8044FF0
+_08063754:
+ ldr r5, _080637A0
+ ldr r1, [r5]
+ adds r0, r4, 0
+ bl sub_8063DD4
+ lsls r0, 24
+ cmp r0, 0
+ bne _0806376A
+ movs r0, 0x21
+ bl sub_8044FF0
+_0806376A:
+ cmp r7, 0
+ beq _08063792
+ movs r0, 0
+ ldr r1, [r5]
+ cmp r1, 0x3
+ bgt _08063788
+ mov r0, r8
+ movs r2, 0x1
+ bl IsMoveUsable_1
+ lsls r0, 24
+ lsrs r0, 24
+ negs r1, r0
+ orrs r1, r0
+ lsrs r0, r1, 31
+_08063788:
+ cmp r0, 0
+ bne _08063792
+ movs r0, 0x14
+ bl sub_8044FF0
+_08063792:
+ bl sub_8045064
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080637A0: .4byte gUnknown_202F2D8
+ thumb_func_end sub_8063698
+
+ thumb_func_start sub_80637A4
+sub_80637A4:
+ push {lr}
+ adds r2, r1, 0
+ ldr r1, _080637B8
+ movs r3, 0x18
+ ldrsh r1, [r1, r3]
+ bl sub_80637BC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080637B8: .4byte gUnknown_202EE10
+ thumb_func_end sub_80637A4
+
+ thumb_func_start sub_80637BC
+sub_80637BC:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r2, 0
+ ldr r0, _080637E0
+ lsls r1, 2
+ adds r1, r0
+ ldrh r1, [r1]
+ adds r0, r4, 0
+ bl SetAction
+ strb r5, [r4, 0x4]
+ ldr r0, _080637E4
+ ldr r0, [r0]
+ strb r0, [r4, 0xC]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080637E0: .4byte gUnknown_202EE44
+_080637E4: .4byte gUnknown_202F2D8
+ thumb_func_end sub_80637BC
+
+ thumb_func_start sub_80637E8
+sub_80637E8:
+ push {lr}
+ adds r3, r0, 0
+ ldr r0, _08063828
+ ldr r1, [r0]
+ ldrb r0, [r3, 0x4]
+ lsls r0, 2
+ ldr r2, _0806382C
+ adds r1, r2
+ adds r1, r0
+ ldr r0, [r1]
+ ldr r0, [r0, 0x70]
+ ldrb r1, [r3, 0xC]
+ lsls r1, 3
+ adds r1, r0, r1
+ ldr r2, _08063830
+ adds r2, r1
+ mov r12, r2
+ ldrb r2, [r2]
+ movs r1, 0x2
+ orrs r1, r2
+ mov r2, r12
+ strb r1, [r2]
+ movs r1, 0x8C
+ lsls r1, 1
+ adds r0, r1
+ ldrb r1, [r3, 0xC]
+ movs r2, 0x4
+ bl sub_8063834
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08063828: .4byte gDungeonGlobalData
+_0806382C: .4byte 0x0001357c
+_08063830: .4byte 0x00000119
+ thumb_func_end sub_80637E8
+
+ thumb_func_start sub_8063834
+sub_8063834:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x7C
+ str r0, [sp, 0x74]
+ str r1, [sp, 0x78]
+ adds r4, r2, 0
+ mov r0, sp
+ bl sub_80140B4
+ add r0, sp, 0x70
+ str r0, [sp, 0x14]
+ movs r1, 0x1
+ mov r9, r1
+ ldr r3, [sp, 0x78]
+ adds r3, 0x1
+ add r2, sp, 0x60
+ mov r10, r2
+ cmp r3, r4
+ bge _08063894
+ lsls r0, r3, 3
+ ldr r1, [sp, 0x74]
+ adds r2, r0, r1
+ ldrb r1, [r2]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ beq _08063894
+ movs r6, 0x2
+ movs r5, 0x1
+_08063874:
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08063894
+ movs r0, 0x1
+ add r9, r0
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, r4
+ bge _08063894
+ ldrb r1, [r2]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08063874
+_08063894:
+ movs r4, 0
+ ldr r6, _0806393C
+_08063898:
+ movs r7, 0
+ mov r1, r9
+ add r2, sp, 0x70
+ strb r1, [r2]
+ adds r1, r2, 0
+ strb r4, [r1, 0x1]
+ movs r0, 0xC
+ strb r0, [r1, 0x2]
+ strb r7, [r1, 0x3]
+ strh r4, [r6, 0x1E]
+ mov r0, r9
+ strh r0, [r6, 0x20]
+ ldr r1, _08063940
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ adds r0, 0x17
+ lsls r0, 3
+ strh r0, [r6, 0xC]
+ movs r2, 0x2
+ ldrsh r0, [r1, r2]
+ adds r0, 0x1
+ lsls r0, 3
+ subs r0, 0x2
+ strh r0, [r6, 0xE]
+ strh r7, [r6, 0x14]
+ strh r7, [r6, 0x4]
+ movs r0, 0x10
+ strh r0, [r6, 0x6]
+ str r7, [r6]
+ adds r0, r6, 0
+ adds r0, 0x28
+ bl sub_801317C
+ strh r7, [r6, 0x18]
+ strh r7, [r6, 0x1A]
+ strh r7, [r6, 0x1C]
+ mov r0, sp
+ movs r1, 0x1
+ bl sub_803ECB4
+ ldr r0, [sp, 0x78]
+ adds r1, r0, r4
+ lsls r1, 3
+ ldr r2, [sp, 0x74]
+ adds r1, r2, r1
+ adds r0, r4, 0
+ movs r2, 0
+ mov r3, r10
+ bl sub_8093DE8
+ mov r8, r0
+_080638FE:
+ mov r0, r8
+ cmp r0, 0
+ beq _08063908
+ bl sub_8062500
+_08063908:
+ ldr r5, _08063944
+ adds r0, r5, 0
+ movs r1, 0
+ bl nullsub_34
+ movs r0, 0x1C
+ bl sub_803E46C
+ bl sub_8062D88
+ ldr r1, _08063948
+ ldrh r1, [r1, 0x2]
+ ands r0, r1
+ cmp r0, 0
+ bne _0806392C
+ ldrb r0, [r5, 0x1]
+ cmp r0, 0
+ beq _0806394C
+_0806392C:
+ bl sub_8083D08
+ movs r7, 0x1
+ mov r1, r8
+ cmp r1, 0
+ beq _080639AE
+ movs r7, 0x2
+ b _080639AE
+ .align 2, 0
+_0806393C: .4byte gUnknown_202EE10
+_08063940: .4byte gUnknown_2027370
+_08063944: .4byte gUnknown_202EE38
+_08063948: .4byte gRealInputs
+_0806394C:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _0806395A
+ ldrb r0, [r5, 0x2]
+ cmp r0, 0
+ beq _08063962
+_0806395A:
+ bl sub_8083D30
+ movs r7, 0x1
+ b _080639AE
+_08063962:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ bne _08063970
+ ldrb r0, [r5, 0x4]
+ cmp r0, 0
+ beq _08063986
+_08063970:
+ adds r0, r4, 0
+ cmp r4, 0
+ bne _08063978
+ mov r4, r9
+_08063978:
+ subs r4, 0x1
+ cmp r0, r4
+ beq _080639AE
+ movs r0, 0
+ bl sub_8083CE0
+ b _080639AE
+_08063986:
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ bne _08063994
+ ldrb r0, [r5, 0x3]
+ cmp r0, 0
+ beq _080638FE
+_08063994:
+ adds r1, r4, 0
+ mov r0, r9
+ subs r0, 0x1
+ cmp r4, r0
+ bne _080639A2
+ movs r4, 0
+ b _080639A4
+_080639A2:
+ adds r4, 0x1
+_080639A4:
+ cmp r1, r4
+ beq _080639AE
+ movs r0, 0
+ bl sub_8083CE0
+_080639AE:
+ cmp r7, 0x1
+ beq _080639CA
+ cmp r7, 0
+ bne _080639B8
+ b _08063898
+_080639B8:
+ mov r2, r8
+ cmp r2, 0
+ bne _080639C0
+ b _08063898
+_080639C0:
+ mov r0, r8
+ mov r1, r10
+ bl sub_80625A4
+ b _08063898
+_080639CA:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ add sp, 0x7C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8063834
+
+ thumb_func_start sub_80639E4
+sub_80639E4:
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ adds r6, r1, 0
+ ldr r4, _08063A5C
+ adds r0, r4, 0
+ bl sub_80140B4
+ ldr r0, _08063A60
+ str r0, [r4, 0x14]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_803ECB4
+ movs r0, 0
+ bl sub_80073B8
+ ldr r0, _08063A64
+ ldr r1, [r5]
+ bl strcpy
+ ldr r2, _08063A68
+ movs r4, 0
+ str r4, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r2, [r5, 0x4]
+ str r4, [sp]
+ movs r0, 0x4
+ movs r1, 0x10
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r0, 0
+ bl sub_80073E0
+ ldr r0, _08063A6C
+ strh r4, [r0, 0x1E]
+ strh r4, [r0, 0x20]
+ strh r4, [r0, 0xC]
+ strh r4, [r0, 0xE]
+ strh r4, [r0, 0x14]
+ strh r4, [r0, 0x4]
+ movs r1, 0x10
+ strh r1, [r0, 0x6]
+ str r4, [r0]
+ strh r4, [r0, 0x18]
+ strh r4, [r0, 0x1A]
+ strh r4, [r0, 0x1C]
+ adds r0, r6, 0
+ bl sub_801317C
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08063A5C: .4byte gUnknown_202F278
+_08063A60: .4byte gUnknown_8106CC8
+_08063A64: .4byte gAvailablePokemonNames
+_08063A68: .4byte gUnknown_8106CCC
+_08063A6C: .4byte gUnknown_202EE10
+ thumb_func_end sub_80639E4
+
+ thumb_func_start sub_8063A70
+sub_8063A70:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r1, 24
+ lsrs r1, 24
+ mov r10, r1
+ ldr r1, _08063B1C
+ ldr r2, [r1]
+ ldrb r1, [r0, 0x4]
+ lsls r1, 2
+ ldr r3, _08063B20
+ adds r2, r3
+ adds r2, r1
+ ldr r6, [r2]
+ ldr r5, [r6, 0x70]
+ ldrb r0, [r0, 0xC]
+ lsls r0, 3
+ movs r2, 0x8C
+ lsls r2, 1
+ adds r0, r2
+ adds r4, r5, r0
+ ldrb r1, [r4]
+ movs r0, 0x8
+ ands r0, r1
+ lsls r0, 24
+ lsrs r0, 24
+ negs r0, r0
+ lsrs r0, 31
+ mov r8, r0
+ ldr r0, _08063B24
+ mov r9, r0
+ movs r1, 0x1
+ mov r12, r1
+ adds r2, r5, r2
+ movs r7, 0xF7
+ movs r3, 0x3
+_08063ABC:
+ ldrb r1, [r2]
+ mov r0, r12
+ ands r0, r1
+ cmp r0, 0
+ beq _08063ACC
+ adds r0, r7, 0
+ ands r0, r1
+ strb r0, [r2]
+_08063ACC:
+ adds r2, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08063ABC
+ mov r0, r9
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_80928C0
+ mov r3, r8
+ cmp r3, 0
+ bne _08063AEC
+ ldrb r1, [r4]
+ movs r0, 0x8
+ orrs r0, r1
+ strb r0, [r4]
+_08063AEC:
+ movs r1, 0x8C
+ lsls r1, 1
+ adds r0, r5, r1
+ bl sub_80936D8
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x2
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldr r0, _08063B28
+ bl PlaySoundEffect
+ mov r3, r10
+ cmp r3, 0
+ beq _08063B42
+ mov r0, r8
+ cmp r0, 0
+ bne _08063B30
+ ldr r0, _08063B2C
+ ldr r1, [r0]
+ adds r0, r6, 0
+ bl SendMessage
+ b _08063B3A
+ .align 2, 0
+_08063B1C: .4byte gDungeonGlobalData
+_08063B20: .4byte 0x0001357c
+_08063B24: .4byte gUnknown_202DE58
+_08063B28: .4byte 0x00000133
+_08063B2C: .4byte gUnknown_80F8B40
+_08063B30:
+ ldr r0, _08063B50
+ ldr r1, [r0]
+ adds r0, r6, 0
+ bl SendMessage
+_08063B3A:
+ movs r0, 0x78
+ movs r1, 0x1F
+ bl sub_803E708
+_08063B42:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08063B50: .4byte gUnknown_80F8B64
+ thumb_func_end sub_8063A70
+
+ thumb_func_start sub_8063B54
+sub_8063B54:
+ push {r4-r6,lr}
+ ldr r1, _08063BA4
+ ldr r2, [r1]
+ ldrb r1, [r0, 0x4]
+ lsls r1, 2
+ ldr r3, _08063BA8
+ adds r2, r3
+ adds r2, r1
+ ldr r1, [r2]
+ ldr r5, [r1, 0x70]
+ ldrb r4, [r0, 0xC]
+ lsls r4, 3
+ movs r6, 0x8C
+ lsls r6, 1
+ adds r4, r6
+ adds r4, r5, r4
+ ldr r0, _08063BAC
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_80928C0
+ ldrb r0, [r4]
+ movs r1, 0x4
+ eors r0, r1
+ strb r0, [r4]
+ adds r5, r6
+ adds r0, r5, 0
+ bl sub_80936D8
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x2
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldr r0, _08063BB0
+ bl PlaySoundEffect
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08063BA4: .4byte gDungeonGlobalData
+_08063BA8: .4byte 0x0001357c
+_08063BAC: .4byte gUnknown_202DE58
+_08063BB0: .4byte 0x00000133
+ thumb_func_end sub_8063B54
+
+ thumb_func_start sub_8063BB4
+sub_8063BB4:
+ push {r4-r7,lr}
+ ldr r1, _08063C70
+ ldr r2, [r1]
+ ldrb r1, [r0, 0x4]
+ lsls r1, 2
+ ldr r3, _08063C74
+ adds r2, r3
+ adds r2, r1
+ ldr r1, [r2]
+ ldr r6, [r1, 0x70]
+ ldrb r5, [r0, 0xC]
+ ldr r0, _08063C78
+ lsls r4, r5, 3
+ movs r7, 0x8C
+ lsls r7, 1
+ adds r1, r4, r7
+ adds r1, r6, r1
+ movs r2, 0
+ bl sub_80928C0
+ adds r4, r6, r4
+ ldr r0, _08063C7C
+ adds r2, r4, r0
+ ldrb r1, [r2]
+ movs r0, 0x2
+ orrs r0, r1
+ strb r0, [r2]
+ movs r3, 0
+ adds r5, 0x1
+ cmp r5, 0x3
+ bgt _08063C2C
+ lsls r2, r5, 3
+ adds r0, r2, r6
+ adds r1, r7, 0
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08063C2C
+ adds r0, r2, r7
+ adds r2, r0, r6
+ movs r4, 0x2
+_08063C0A:
+ ldrb r1, [r2]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08063C2C
+ adds r3, 0x1
+ cmp r3, 0x3
+ bgt _08063C2C
+ adds r2, 0x8
+ adds r5, 0x1
+ cmp r5, 0x3
+ bgt _08063C2C
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08063C0A
+_08063C2C:
+ lsls r0, r5, 3
+ adds r0, r6
+ movs r4, 0x8C
+ lsls r4, 1
+ adds r0, r4
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08063C42
+ movs r5, 0x4
+_08063C42:
+ cmp r5, 0x3
+ bgt _08063C5C
+ lsls r1, r5, 3
+ adds r1, r4
+ adds r1, r6, r1
+ ldrb r2, [r1]
+ movs r0, 0x2
+ orrs r0, r2
+ strb r0, [r1]
+ ldr r0, _08063C80
+ movs r2, 0
+ bl sub_80928C0
+_08063C5C:
+ adds r0, r6, r4
+ bl sub_80936D8
+ ldr r0, _08063C84
+ bl PlaySoundEffect
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08063C70: .4byte gDungeonGlobalData
+_08063C74: .4byte 0x0001357c
+_08063C78: .4byte gUnknown_202DE58
+_08063C7C: .4byte 0x00000119
+_08063C80: .4byte gUnknown_202DEA8
+_08063C84: .4byte 0x00000133
+ thumb_func_end sub_8063BB4
+
+ thumb_func_start sub_8063C88
+sub_8063C88:
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ movs r7, 0
+ adds r5, r1, 0
+ lsls r0, r5, 3
+ adds r0, r4, r0
+ movs r1, 0x8D
+ lsls r1, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ bl DoesMoveCharge
+ lsls r0, 24
+ cmp r0, 0
+ beq _08063CAE
+_08063CA6:
+ movs r0, 0
+ b _08063CEA
+_08063CAA:
+ movs r7, 0x1
+ b _08063CE8
+_08063CAE:
+ adds r5, 0x1
+ movs r6, 0
+ lsls r0, r5, 3
+ movs r1, 0x8C
+ lsls r1, 1
+ adds r0, r1
+ adds r4, r0, r4
+_08063CBC:
+ ldrh r0, [r4, 0x2]
+ bl DoesMoveCharge
+ lsls r0, 24
+ cmp r0, 0
+ bne _08063CA6
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08063CE8
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08063CAA
+ adds r4, 0x8
+ adds r5, 0x1
+ cmp r5, 0x3
+ bgt _08063CE8
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08063CBC
+_08063CE8:
+ adds r0, r7, 0
+_08063CEA:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8063C88
+
+ thumb_func_start sub_8063CF0
+sub_8063CF0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r1, 24
+ lsrs r1, 24
+ mov r10, r1
+ ldr r1, _08063D98
+ ldr r2, [r1]
+ ldrb r1, [r0, 0x4]
+ lsls r1, 2
+ ldr r3, _08063D9C
+ adds r2, r3
+ adds r2, r1
+ ldr r7, [r2]
+ ldr r6, [r7, 0x70]
+ ldrb r5, [r0, 0xC]
+ movs r0, 0
+ mov r8, r0
+ ldr r0, _08063DA0
+ lsls r4, r5, 3
+ movs r1, 0x8C
+ lsls r1, 1
+ mov r9, r1
+ adds r1, r4, r1
+ adds r1, r6, r1
+ movs r2, 0
+ bl sub_80928C0
+ adds r4, r6, r4
+ ldr r3, _08063DA4
+ adds r2, r4, r3
+ ldrb r1, [r2]
+ movs r0, 0x2
+ orrs r0, r1
+ strb r0, [r2]
+ adds r5, 0x1
+ movs r3, 0
+ cmp r5, 0x3
+ bgt _08063D70
+ movs r0, 0x2
+ mov r12, r0
+ lsls r0, r5, 3
+ add r0, r9
+ adds r2, r0, r6
+ movs r4, 0xFD
+_08063D4E:
+ ldrb r1, [r2]
+ mov r0, r12
+ ands r0, r1
+ cmp r0, 0
+ beq _08063D70
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r2]
+ movs r1, 0x1
+ mov r8, r1
+ adds r2, 0x8
+ adds r5, 0x1
+ adds r3, 0x1
+ cmp r3, 0x3
+ bgt _08063D70
+ cmp r5, 0x3
+ ble _08063D4E
+_08063D70:
+ movs r2, 0x8C
+ lsls r2, 1
+ adds r0, r6, r2
+ bl sub_80936D8
+ ldr r0, _08063DA8
+ bl PlaySoundEffect
+ mov r3, r10
+ cmp r3, 0
+ beq _08063DC2
+ mov r0, r8
+ cmp r0, 0
+ beq _08063DB0
+ ldr r0, _08063DAC
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl SendMessage
+ b _08063DBA
+ .align 2, 0
+_08063D98: .4byte gDungeonGlobalData
+_08063D9C: .4byte 0x0001357c
+_08063DA0: .4byte gUnknown_202DE58
+_08063DA4: .4byte 0x00000119
+_08063DA8: .4byte 0x00000133
+_08063DAC: .4byte gUnknown_80F8B88
+_08063DB0:
+ ldr r0, _08063DD0
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl SendMessage
+_08063DBA:
+ movs r0, 0x78
+ movs r1, 0x1F
+ bl sub_803E708
+_08063DC2:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08063DD0: .4byte gUnknown_80F8BB4
+ thumb_func_end sub_8063CF0
+
+ thumb_func_start sub_8063DD4
+sub_8063DD4:
+ push {r4-r7,lr}
+ adds r3, r0, 0
+ adds r2, r1, 0
+ movs r5, 0
+ adds r2, 0x1
+ movs r4, 0
+ cmp r2, 0x3
+ bgt _08063E20
+ lsls r0, r2, 3
+ movs r6, 0x8C
+ lsls r6, 1
+ adds r0, r6
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08063E20
+ movs r5, 0x1
+ adds r2, 0x1
+ movs r7, 0x2
+ lsls r0, r2, 3
+ adds r0, r6
+ adds r3, r0, r3
+_08063E04:
+ adds r4, 0x1
+ cmp r4, 0x3
+ bgt _08063E20
+ cmp r2, 0x3
+ bgt _08063E20
+ ldrb r1, [r3]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08063E20
+ movs r5, 0x1
+ adds r3, 0x8
+ adds r2, 0x1
+ b _08063E04
+_08063E20:
+ cmp r5, 0
+ bne _08063E28
+ movs r0, 0
+ b _08063E2A
+_08063E28:
+ movs r0, 0x1
+_08063E2A:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8063DD4
+
+ thumb_func_start sub_8063E30
+sub_8063E30:
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ adds r1, 0x1
+ movs r4, 0
+ cmp r1, 0x7
+ bgt _08063E62
+ movs r7, 0x2
+ movs r6, 0xFD
+ lsls r0, r1, 3
+ adds r3, r0, r5
+_08063E44:
+ ldrb r2, [r3]
+ adds r0, r7, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _08063E62
+ adds r0, r6, 0
+ ands r0, r2
+ strb r0, [r3]
+ adds r3, 0x8
+ adds r1, 0x1
+ adds r4, 0x1
+ cmp r4, 0x7
+ bgt _08063E62
+ cmp r1, 0x7
+ ble _08063E44
+_08063E62:
+ adds r0, r5, 0
+ bl sub_80936F4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8063E30
+
+ thumb_func_start sub_8063E70
+sub_8063E70:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xD0
+ str r0, [sp, 0xC4]
+ adds r7, r1, 0
+ lsls r2, 24
+ lsrs r2, 24
+ str r2, [sp, 0xC8]
+ lsls r3, 24
+ lsrs r3, 24
+ str r3, [sp, 0xCC]
+ add r4, sp, 0x60
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x64]
+ add r0, sp, 0x68
+ movs r6, 0
+ movs r1, 0x2
+ strh r1, [r0]
+ strh r1, [r0, 0x2]
+ add r1, sp, 0x6C
+ movs r0, 0x12
+ strh r0, [r1]
+ mov r0, sp
+ adds r0, 0x6E
+ movs r1, 0x10
+ strh r1, [r0]
+ add r0, sp, 0x70
+ strh r1, [r0]
+ add r5, sp, 0xC0
+ str r5, [sp, 0x74]
+ movs r1, 0x3
+ str r1, [sp, 0x7C]
+ add r0, sp, 0x90
+ str r1, [r0, 0x4]
+ add r0, sp, 0xA8
+ str r1, [r0, 0x4]
+ mov r0, sp
+ adds r1, r4, 0
+ movs r2, 0x60
+ bl memcpy
+ ldr r0, _08063F80
+ str r6, [r0]
+ ldr r1, _08063F84
+ mov r8, r1
+ mov r9, r0
+ ldr r2, _08063F88
+ mov r10, r2
+_08063EE0:
+ ldr r0, [sp, 0xC4]
+ adds r1, r7, 0
+ mov r2, sp
+ add r3, sp, 0xC0
+ bl sub_8064228
+_08063EEC:
+ mov r0, r8
+ bl AddMenuCursorSprite
+ movs r0, 0x1E
+ bl sub_803E46C
+ mov r0, r10
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08063F2A
+ mov r1, r8
+ movs r2, 0x18
+ ldrsh r4, [r1, r2]
+ adds r0, r7, 0
+ adds r1, r4, 0
+ bl sub_8092E1C
+ adds r1, r0, 0
+ mov r0, r8
+ bl sub_8013780
+ mov r1, r8
+ movs r2, 0x18
+ ldrsh r0, [r1, r2]
+ cmp r4, r0
+ beq _08063F2A
+ movs r0, 0
+ bl sub_8083CE0
+_08063F2A:
+ mov r0, r10
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08063F5C
+ mov r1, r8
+ movs r2, 0x18
+ ldrsh r4, [r1, r2]
+ adds r0, r7, 0
+ adds r1, r4, 0
+ bl sub_8092E8C
+ adds r1, r0, 0
+ mov r0, r8
+ bl sub_8013780
+ mov r1, r8
+ movs r2, 0x18
+ ldrsh r0, [r1, r2]
+ cmp r4, r0
+ beq _08063F5C
+ movs r0, 0
+ bl sub_8083CE0
+_08063F5C:
+ bl sub_8062D88
+ mov r2, r10
+ ldrh r1, [r2, 0x2]
+ ands r0, r1
+ cmp r0, 0
+ bne _08063F76
+ ldr r2, _08063F84
+ adds r0, r2, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08063F8C
+_08063F76:
+ bl sub_8083D08
+ movs r4, 0
+ b _08063FB2
+ .align 2, 0
+_08063F80: .4byte gUnknown_202F2D8
+_08063F84: .4byte gUnknown_202EE10
+_08063F88: .4byte gRealInputs
+_08063F8C:
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _08063FD4
+ ldr r0, [sp, 0xCC]
+ cmp r0, 0
+ beq _08063EEC
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08063FAC
+ adds r0, r2, 0
+ adds r0, 0x2A
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08063EEC
+_08063FAC:
+ bl sub_8083D30
+ movs r4, 0x1
+_08063FB2:
+ ldr r5, _08063FD0
+ adds r0, r5, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x1E
+ bl sub_803E46C
+ cmp r4, 0x1
+ bne _08063FDC
+ movs r0, 0x1
+ negs r0, r0
+ mov r1, r9
+ str r0, [r1]
+ b _080640FA
+ .align 2, 0
+_08063FD0: .4byte gUnknown_202EE10
+_08063FD4:
+ bl sub_8083D44
+ movs r4, 0x2
+ b _08063FB2
+_08063FDC:
+ ldr r6, _08064004
+ movs r2, 0x18
+ ldrsh r0, [r5, r2]
+ str r0, [r6]
+ cmp r4, 0x2
+ bne _08064008
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ movs r0, 0x8
+ movs r1, 0x1B
+ bl sub_803E708
+ ldr r1, [r6]
+ adds r0, r7, 0
+ movs r2, 0x4
+ bl sub_8063834
+ b _08063EE0
+ .align 2, 0
+_08064004: .4byte gUnknown_202F2D8
+_08064008:
+ adds r0, r7, 0
+ bl sub_8064310
+ mov r0, sp
+ movs r1, 0x16
+ bl sub_805FC30
+ adds r4, r5, 0
+ ldr r6, _0806408C
+ adds r5, 0x2A
+_0806401C:
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x1B
+ bl sub_803E46C
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08064040
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08064040:
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08064058
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013744
+_08064058:
+ bl sub_8062D88
+ ldrh r1, [r6, 0x2]
+ ands r1, r0
+ cmp r1, 0
+ bne _0806406E
+ adds r0, r4, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0806409C
+_0806406E:
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ bl sub_8044F3C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08064098
+ movs r2, 0x18
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x2
+ bne _08064090
+ bl sub_8083D08
+ b _08064094
+ .align 2, 0
+_0806408C: .4byte gRealInputs
+_08064090:
+ bl sub_8083D1C
+_08064094:
+ movs r4, 0
+ b _080640B2
+_08064098:
+ bl sub_8083D30
+_0806409C:
+ ldrh r1, [r6, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080640AC
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _0806401C
+_080640AC:
+ bl sub_8083D30
+ movs r4, 0x1
+_080640B2:
+ ldr r6, _080640E4
+ adds r0, r6, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x1B
+ bl sub_803E46C
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ cmp r4, 0x1
+ bne _080640CE
+ b _08063EE0
+_080640CE:
+ movs r1, 0x18
+ ldrsh r0, [r6, r1]
+ cmp r0, 0x1
+ bne _080640E8
+ mov r2, r9
+ ldr r1, [r2]
+ adds r0, r7, 0
+ bl sub_8063E30
+ b _08063EE0
+ .align 2, 0
+_080640E4: .4byte gUnknown_202EE10
+_080640E8:
+ cmp r0, 0x2
+ bne _080640FA
+ mov r0, r9
+ ldr r1, [r0]
+ adds r0, r7, 0
+ movs r2, 0x8
+ bl sub_8063834
+ b _08063EE0
+_080640FA:
+ ldr r1, _08064140
+ ldr r2, [r1]
+ cmp r2, 0
+ bge _08064104
+ b _08064214
+_08064104:
+ ldr r0, [sp, 0xC8]
+ cmp r0, 0
+ beq _08064160
+ movs r4, 0
+ lsls r0, r2, 3
+ adds r1, r7, r0
+ adds r0, r2, 0x1
+ cmp r0, 0x7
+ bgt _08064130
+ lsls r0, 3
+ adds r0, r7
+ ldrb r2, [r0]
+ movs r0, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _08064130
+ movs r0, 0x2
+ ands r0, r2
+ lsls r0, 24
+ lsrs r0, 24
+ negs r0, r0
+ lsrs r4, r0, 31
+_08064130:
+ ldr r0, _08064144
+ movs r2, 0
+ bl sub_80928C0
+ cmp r4, 0
+ beq _0806414C
+ ldr r0, _08064148
+ b _0806414E
+ .align 2, 0
+_08064140: .4byte gUnknown_202F2D8
+_08064144: .4byte gUnknown_202DE58
+_08064148: .4byte gUnknown_80FDF00
+_0806414C:
+ ldr r0, _0806415C
+_0806414E:
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0
+ bl sub_8052B8C
+ adds r3, r0, 0
+ b _08064162
+ .align 2, 0
+_0806415C: .4byte gUnknown_80FDF70
+_08064160:
+ movs r3, 0x1
+_08064162:
+ cmp r3, 0x1
+ beq _08064168
+ b _08063EE0
+_08064168:
+ mov r1, r9
+ ldr r0, [r1]
+ lsls r0, 3
+ adds r0, r7
+ movs r1, 0
+ strb r1, [r0]
+ mov r2, r9
+ ldr r0, [r2]
+ adds r2, r0, 0x1
+ cmp r2, 0x7
+ bgt _080641BC
+ lsls r0, r2, 3
+ adds r4, r7, r0
+ ldrb r1, [r4]
+ ands r3, r1
+ cmp r3, 0
+ beq _080641BC
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080641BC
+ movs r0, 0
+ mov r12, r0
+ movs r6, 0x1
+ adds r3, r4, 0
+ movs r5, 0x2
+_0806419C:
+ mov r1, r12
+ strb r1, [r4]
+ adds r3, 0x8
+ adds r2, 0x1
+ cmp r2, 0x7
+ bgt _080641BC
+ adds r4, r3, 0
+ ldrb r1, [r3]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080641BC
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _0806419C
+_080641BC:
+ movs r4, 0
+ movs r6, 0x1
+ adds r3, r7, 0
+ add r5, sp, 0x60
+ movs r2, 0x7
+_080641C6:
+ ldrb r1, [r3]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080641D8
+ ldr r0, [r3]
+ ldr r1, [r3, 0x4]
+ stm r5!, {r0,r1}
+ adds r4, 0x1
+_080641D8:
+ adds r3, 0x8
+ subs r2, 0x1
+ cmp r2, 0
+ bge _080641C6
+ cmp r4, 0x7
+ bgt _080641F4
+ movs r1, 0
+_080641E6:
+ lsls r0, r4, 3
+ add r0, sp
+ adds r0, 0x60
+ strb r1, [r0]
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _080641E6
+_080641F4:
+ add r4, sp, 0x60
+ adds r3, r7, 0
+ movs r2, 0x7
+_080641FA:
+ ldm r4!, {r0,r1}
+ stm r3!, {r0,r1}
+ subs r2, 0x1
+ cmp r2, 0
+ bge _080641FA
+ ldr r2, _08064210
+ ldr r0, [r2]
+ cmp r0, 0
+ blt _08064214
+ movs r0, 0x1
+ b _08064216
+ .align 2, 0
+_08064210: .4byte gUnknown_202F2D8
+_08064214:
+ movs r0, 0
+_08064216:
+ add sp, 0xD0
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8063E70
+
+ thumb_func_start sub_8064228
+sub_8064228:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ mov r9, r0
+ mov r10, r1
+ adds r5, r2, 0
+ adds r7, r3, 0
+ movs r1, 0
+ movs r0, 0x1
+ strb r0, [r7]
+ strb r1, [r7, 0x1]
+ strb r1, [r7, 0x3]
+ mov r8, r1
+ ldr r6, _08064304
+ ldr r0, _08064308
+ mov r12, r0
+ movs r4, 0x1
+ mov r2, r10
+ movs r3, 0x7
+_08064254:
+ ldrb r1, [r2]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08064262
+ movs r1, 0x1
+ add r8, r1
+_08064262:
+ adds r2, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08064254
+ mov r2, r12
+ ldr r0, [r2]
+ movs r4, 0
+ strh r0, [r6, 0x18]
+ mov r3, r8
+ strh r3, [r6, 0x1A]
+ strh r3, [r6, 0x1C]
+ strh r4, [r6, 0x1E]
+ strh r4, [r6, 0x20]
+ strh r4, [r6, 0x4]
+ movs r0, 0x10
+ strh r0, [r6, 0x6]
+ strh r4, [r6, 0xC]
+ strh r4, [r6, 0xE]
+ strh r4, [r6, 0x14]
+ str r4, [r6]
+ adds r0, r6, 0
+ adds r0, 0x28
+ bl sub_801317C
+ mov r0, r8
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ strh r0, [r5, 0x10]
+ strh r0, [r5, 0xE]
+ movs r0, 0xE
+ strb r0, [r7, 0x2]
+ movs r0, 0x2
+ strh r0, [r5, 0x8]
+ adds r1, r5, 0
+ adds r1, 0x18
+ adds r0, r5, 0
+ adds r0, 0x48
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ adds r1, r5, 0
+ adds r1, 0x30
+ adds r0, r5, 0
+ adds r0, 0x48
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_803ECB4
+ adds r0, r6, 0
+ movs r1, 0
+ bl sub_80137B0
+ ldr r0, _0806430C
+ mov r7, r9
+ ldr r1, [r7, 0x70]
+ movs r2, 0
+ bl SetMessageArgument_2
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ mov r0, r8
+ mov r1, r9
+ mov r2, r10
+ movs r3, 0
+ bl sub_8063578
+ 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
+_08064304: .4byte gUnknown_202EE10
+_08064308: .4byte gUnknown_202F2D8
+_0806430C: .4byte gAvailablePokemonNames
+ thumb_func_end sub_8064228
+
+ thumb_func_start sub_8064310
+sub_8064310:
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r1, _08064350
+ movs r0, 0
+ str r0, [r1]
+ movs r0, 0x22
+ movs r1, 0
+ bl sub_8044F5C
+ movs r0, 0x21
+ movs r1, 0
+ bl sub_8044F5C
+ ldr r0, _08064354
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl sub_8064358
+ lsls r0, 24
+ cmp r0, 0
+ bne _08064340
+ movs r0, 0x21
+ bl sub_8044FF0
+_08064340:
+ movs r0, 0x1D
+ movs r1, 0
+ bl sub_8044F5C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08064350: .4byte gUnknown_202EE6C
+_08064354: .4byte gUnknown_202F2D8
+ thumb_func_end sub_8064310
+
+ thumb_func_start sub_8064358
+sub_8064358:
+ push {r4-r6,lr}
+ adds r3, r0, 0
+ adds r2, r1, 0
+ movs r5, 0
+ adds r2, 0x1
+ movs r4, 0
+ cmp r2, 0x7
+ bgt _0806439C
+ lsls r0, r2, 3
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0806439C
+ movs r5, 0x1
+ adds r2, 0x1
+ movs r6, 0x2
+ lsls r0, r2, 3
+ adds r3, r0, r3
+_08064380:
+ adds r4, 0x1
+ cmp r4, 0x7
+ bgt _0806439C
+ cmp r2, 0x7
+ bgt _0806439C
+ ldrb r1, [r3]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0806439C
+ movs r5, 0x1
+ adds r3, 0x8
+ adds r2, 0x1
+ b _08064380
+_0806439C:
+ cmp r5, 0
+ bne _080643A4
+ movs r0, 0
+ b _080643A6
+_080643A4:
+ movs r0, 0x1
+_080643A6:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8064358
+
+ thumb_func_start sub_80643AC
+sub_80643AC:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xE4
+ adds r7, r0, 0
+ add r0, sp, 0x68
+ mov r9, r0
+ mov r1, sp
+ adds r1, 0x6C
+ str r1, [sp, 0xD0]
+ mov r2, sp
+ adds r2, 0x6E
+ str r2, [sp, 0xD4]
+ mov r0, sp
+ adds r0, 0x70
+ str r0, [sp, 0xD8]
+ adds r1, 0xC
+ str r1, [sp, 0xDC]
+ adds r2, 0x22
+ str r2, [sp, 0xE0]
+ adds r0, 0x38
+ str r0, [sp, 0xC8]
+ subs r1, 0x18
+ str r1, [sp, 0xC4]
+ add r2, sp, 0xC0
+ mov r10, r2
+ ldr r5, _080644C8
+ adds r0, r7, 0x4
+ str r0, [sp, 0xCC]
+ ldr r1, _080644CC
+ mov r8, r1
+ movs r6, 0
+_080643F0:
+ movs r4, 0
+ ldr r0, [sp, 0xC4]
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x64]
+ movs r0, 0x2
+ mov r2, r9
+ strh r0, [r2]
+ strh r0, [r2, 0x2]
+ movs r0, 0x12
+ ldr r1, [sp, 0xD0]
+ strh r0, [r1]
+ movs r0, 0x4
+ ldr r2, [sp, 0xD4]
+ strh r0, [r2]
+ movs r0, 0x10
+ ldr r1, [sp, 0xD8]
+ strh r0, [r1]
+ mov r2, r10
+ str r2, [sp, 0x74]
+ movs r0, 0x3
+ ldr r1, [sp, 0xDC]
+ str r0, [r1, 0x4]
+ ldr r2, [sp, 0xE0]
+ str r0, [r2, 0x4]
+ ldr r1, [sp, 0xC8]
+ str r0, [r1, 0x4]
+ mov r0, sp
+ ldr r1, [sp, 0xC4]
+ movs r2, 0x60
+ bl memcpy
+ bl sub_8083D44
+ adds r0, r7, 0x4
+ mov r1, sp
+ mov r2, r10
+ bl sub_806455C
+ movs r0, 0x2D
+ bl sub_803E46C
+ adds r0, r7, 0
+ bl sub_80645D4
+ strh r4, [r5, 0x8]
+ strh r4, [r5, 0xA]
+ mov r0, sp
+ movs r1, 0x16
+ bl sub_805FC30
+_0806445C:
+ adds r0, r5, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x2D
+ bl sub_803E46C
+ mov r2, r8
+ ldrh r1, [r2, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08064482
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08064482:
+ mov r0, r8
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0806449C
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_8013744
+_0806449C:
+ mov r2, r8
+ ldrh r1, [r2, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080644B2
+ adds r0, r5, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08064510
+_080644B2:
+ movs r1, 0x18
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ bne _080644D0
+ bl sub_8083D08
+ ldr r0, [sp, 0xCC]
+ bl sub_80645F8
+ movs r4, 0x2
+ b _0806452A
+ .align 2, 0
+_080644C8: .4byte gUnknown_202EE10
+_080644CC: .4byte gRealInputs
+_080644D0:
+ movs r2, 0x18
+ ldrsh r0, [r5, r2]
+ bl sub_8044F3C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0806450C
+ ldr r4, [r7, 0x70]
+ adds r4, 0x44
+ ldr r1, _08064508
+ movs r2, 0x18
+ ldrsh r0, [r5, r2]
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r0]
+ adds r0, r4, 0
+ bl SetAction
+ bl sub_8083D08
+ strb r6, [r4, 0x4]
+ strh r6, [r4, 0x8]
+ strh r6, [r4, 0xA]
+ strb r6, [r4, 0xC]
+ strh r6, [r4, 0x10]
+ strh r6, [r4, 0x12]
+ movs r4, 0
+ b _0806452A
+ .align 2, 0
+_08064508: .4byte gUnknown_202EE44
+_0806450C:
+ bl sub_8083D30
+_08064510:
+ mov r0, r8
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08064524
+ ldr r1, _08064554
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _0806445C
+_08064524:
+ bl sub_8083D30
+ movs r4, 0x1
+_0806452A:
+ ldr r0, _08064558
+ bl AddMenuCursorSprite
+ movs r0, 0x2D
+ bl sub_803E46C
+ cmp r4, 0x2
+ bne _0806453C
+ b _080643F0
+_0806453C:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ add sp, 0xE4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08064554: .4byte gUnknown_202EE3A
+_08064558: .4byte gUnknown_202EE10
+ thumb_func_end sub_80643AC
+
+ thumb_func_start sub_806455C
+sub_806455C:
+ push {r4,r5,lr}
+ sub sp, 0x54
+ adds r4, r0, 0
+ adds r0, r1, 0
+ movs r5, 0
+ movs r1, 0x1
+ strb r1, [r2]
+ strb r5, [r2, 0x1]
+ movs r1, 0xC
+ strb r1, [r2, 0x2]
+ strb r5, [r2, 0x3]
+ movs r1, 0x1
+ bl sub_803ECB4
+ movs r0, 0
+ bl sub_80073B8
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ movs r2, 0x2
+ ldrsh r1, [r4, r2]
+ bl GetMapTile_1
+ adds r4, r0, 0
+ ldr r0, _080645D0
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0xC
+ movs r1, 0
+ movs r3, 0
+ bl xxx_call_draw_string
+ ldr r0, [r4, 0x14]
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _080645C0
+ ldr r1, [r4, 0x14]
+ add r0, sp, 0x4
+ movs r2, 0
+ bl SetMessageArgument
+ str r5, [sp]
+ movs r0, 0x8
+ movs r1, 0x12
+ add r2, sp, 0x4
+ movs r3, 0
+ bl xxx_call_draw_string
+_080645C0:
+ movs r0, 0
+ bl sub_80073E0
+ add sp, 0x54
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080645D0: .4byte gUnknown_80FE708
+ thumb_func_end sub_806455C
+
+ thumb_func_start sub_80645D4
+sub_80645D4:
+ push {lr}
+ ldr r1, _080645F4
+ movs r0, 0
+ str r0, [r1]
+ movs r0, 0x25
+ movs r1, 0
+ bl sub_8044F5C
+ movs r0, 0xC
+ movs r1, 0
+ bl sub_8044F5C
+ bl sub_8045064
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080645F4: .4byte gUnknown_202EE6C
+ thumb_func_end sub_80645D4
+
+ thumb_func_start sub_80645F8
+sub_80645F8:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x110
+ str r0, [sp, 0xE4]
+ mov r0, sp
+ adds r0, 0x84
+ str r0, [sp, 0xF4]
+ mov r1, sp
+ adds r1, 0x88
+ str r1, [sp, 0xF8]
+ mov r2, sp
+ adds r2, 0x8C
+ str r2, [sp, 0xFC]
+ mov r3, sp
+ adds r3, 0x8E
+ str r3, [sp, 0x100]
+ adds r0, 0xC
+ str r0, [sp, 0x104]
+ adds r1, 0xC
+ str r1, [sp, 0x108]
+ adds r2, 0xC
+ str r2, [sp, 0x10C]
+ adds r3, 0x22
+ str r3, [sp, 0xEC]
+ adds r0, 0x38
+ str r0, [sp, 0xF0]
+ add r6, sp, 0x14
+ subs r1, 0x74
+ str r1, [sp, 0xE8]
+ add r2, sp, 0x80
+ mov r10, r2
+ add r3, sp, 0xE0
+ mov r9, r3
+_08064640:
+ movs r7, 0
+ mov r0, r10
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ ldr r1, [sp, 0xF4]
+ str r0, [r1]
+ movs r0, 0x2
+ ldr r2, [sp, 0xF8]
+ strh r0, [r2]
+ strh r0, [r2, 0x2]
+ movs r0, 0x1A
+ ldr r3, [sp, 0xFC]
+ strh r0, [r3]
+ movs r0, 0xC
+ ldr r1, [sp, 0x100]
+ strh r0, [r1]
+ ldr r2, [sp, 0x104]
+ strh r0, [r2]
+ mov r3, r9
+ ldr r0, [sp, 0x108]
+ str r3, [r0]
+ movs r0, 0x3
+ ldr r1, [sp, 0x10C]
+ str r0, [r1, 0x4]
+ ldr r2, [sp, 0xEC]
+ str r0, [r2, 0x4]
+ ldr r3, [sp, 0xF0]
+ str r0, [r3, 0x4]
+ ldr r0, [sp, 0xE8]
+ mov r1, r10
+ movs r2, 0x60
+ bl memcpy
+ adds r0, r6, 0
+ bl sub_801317C
+ movs r1, 0x1
+ add r0, sp, 0xE0
+ strb r1, [r0]
+ movs r1, 0
+ mov r0, r9
+ strb r1, [r0, 0x1]
+ movs r0, 0x10
+ mov r2, r9
+ strb r0, [r2, 0x2]
+ strb r1, [r2, 0x3]
+ ldr r3, [sp, 0xE4]
+ movs r1, 0
+ ldrsh r0, [r3, r1]
+ movs r2, 0x2
+ ldrsh r1, [r3, r2]
+ bl GetMapTile_1
+ ldr r4, [r0, 0x14]
+ cmp r4, 0
+ bne _080646B8
+ b _080647D8
+_080646B8:
+ adds r0, r4, 0
+ bl GetEntityType
+ cmp r0, 0x2
+ beq _080646C4
+ b _080647D8
+_080646C4:
+ ldr r0, [sp, 0xE8]
+ movs r1, 0
+ bl sub_803ECB4
+ adds r0, r4, 0
+ bl GetTrapData
+ adds r4, r0, 0
+ ldrb r1, [r4]
+ mov r0, r10
+ bl GetTrapName
+ movs r0, 0
+ bl sub_80073B8
+ str r7, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ mov r2, r10
+ movs r3, 0
+ bl xxx_call_draw_string
+ ldr r5, _08064720
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r5
+ ldr r2, [r0]
+ str r7, [sp]
+ movs r0, 0x8
+ movs r1, 0x18
+ movs r3, 0
+ bl xxx_call_draw_string
+ movs r0, 0
+ bl sub_80073E0
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r5
+ ldr r0, [r0]
+ add r1, sp, 0x4
+ bl sub_8097DF0
+ adds r5, r0, 0
+ b _08064738
+ .align 2, 0
+_08064720: .4byte gTrapDescriptions
+_08064724:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08064732
+ ldrb r0, [r6, 0x2]
+ cmp r0, 0
+ beq _08064738
+_08064732:
+ bl sub_8083D30
+ b _080647D8
+_08064738:
+ cmp r5, 0
+ beq _08064740
+ bl sub_8062500
+_08064740:
+ adds r0, r6, 0
+ movs r1, 0
+ bl nullsub_34
+ movs r0, 0x16
+ bl sub_803E46C
+ ldr r0, _08064788
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08064760
+ ldrb r0, [r6, 0x1]
+ cmp r0, 0
+ beq _08064724
+_08064760:
+ bl sub_8083D08
+ cmp r5, 0
+ beq _080647D8
+ movs r4, 0
+ cmp r4, r5
+ blt _08064770
+ b _08064640
+_08064770:
+ subs r3, r5, 0x1
+ mov r8, r3
+_08064774:
+ lsls r0, r4, 2
+ add r0, sp
+ adds r0, 0x4
+ ldr r0, [r0]
+ adds r1, r6, 0
+ bl sub_80639E4
+ adds r7, r4, 0x1
+ b _080647A0
+ .align 2, 0
+_08064788: .4byte gRealInputs
+_0806478C:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _0806479A
+ ldrb r0, [r6, 0x2]
+ cmp r0, 0
+ beq _080647A0
+_0806479A:
+ bl sub_8083D30
+ b _080647CC
+_080647A0:
+ cmp r4, r8
+ bge _080647A8
+ bl sub_8062500
+_080647A8:
+ adds r0, r6, 0
+ movs r1, 0
+ bl nullsub_34
+ movs r0, 0x16
+ bl sub_803E46C
+ ldr r0, _080647D4
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080647C8
+ ldrb r0, [r6, 0x1]
+ cmp r0, 0
+ beq _0806478C
+_080647C8:
+ bl sub_8083D08
+_080647CC:
+ adds r4, r7, 0
+ cmp r4, r5
+ blt _08064774
+ b _08064640
+ .align 2, 0
+_080647D4: .4byte gRealInputs
+_080647D8:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ add sp, 0x110
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80645F8
+
+ thumb_func_start sub_80647F0
+sub_80647F0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xE4
+ adds r7, r0, 0
+ add r0, sp, 0x68
+ mov r9, r0
+ mov r1, sp
+ adds r1, 0x6C
+ str r1, [sp, 0xD0]
+ mov r2, sp
+ adds r2, 0x6E
+ str r2, [sp, 0xD4]
+ mov r0, sp
+ adds r0, 0x70
+ str r0, [sp, 0xD8]
+ adds r1, 0xC
+ str r1, [sp, 0xDC]
+ adds r2, 0x22
+ str r2, [sp, 0xE0]
+ adds r0, 0x38
+ str r0, [sp, 0xC8]
+ subs r1, 0x18
+ str r1, [sp, 0xC4]
+ add r2, sp, 0xC0
+ mov r10, r2
+ ldr r5, _0806490C
+ adds r0, r7, 0x4
+ str r0, [sp, 0xCC]
+ ldr r1, _08064910
+ mov r8, r1
+ movs r6, 0
+_08064834:
+ movs r4, 0
+ ldr r0, [sp, 0xC4]
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x64]
+ movs r0, 0x2
+ mov r2, r9
+ strh r0, [r2]
+ strh r0, [r2, 0x2]
+ movs r0, 0x12
+ ldr r1, [sp, 0xD0]
+ strh r0, [r1]
+ movs r0, 0x4
+ ldr r2, [sp, 0xD4]
+ strh r0, [r2]
+ movs r0, 0x10
+ ldr r1, [sp, 0xD8]
+ strh r0, [r1]
+ mov r2, r10
+ str r2, [sp, 0x74]
+ movs r0, 0x3
+ ldr r1, [sp, 0xDC]
+ str r0, [r1, 0x4]
+ ldr r2, [sp, 0xE0]
+ str r0, [r2, 0x4]
+ ldr r1, [sp, 0xC8]
+ str r0, [r1, 0x4]
+ mov r0, sp
+ ldr r1, [sp, 0xC4]
+ movs r2, 0x60
+ bl memcpy
+ bl sub_8083D44
+ adds r0, r7, 0x4
+ mov r1, sp
+ mov r2, r10
+ bl sub_80649A0
+ movs r0, 0x2E
+ bl sub_803E46C
+ adds r0, r7, 0
+ bl sub_8064A18
+ strh r4, [r5, 0x8]
+ strh r4, [r5, 0xA]
+ mov r0, sp
+ movs r1, 0x16
+ bl sub_805FC30
+_080648A0:
+ adds r0, r5, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x2E
+ bl sub_803E46C
+ mov r2, r8
+ ldrh r1, [r2, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080648C6
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_080648C6:
+ mov r0, r8
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _080648E0
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_8013744
+_080648E0:
+ mov r2, r8
+ ldrh r1, [r2, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080648F6
+ adds r0, r5, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08064954
+_080648F6:
+ movs r1, 0x18
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ bne _08064914
+ bl sub_8083D08
+ ldr r0, [sp, 0xCC]
+ bl sub_8064A3C
+ movs r4, 0x2
+ b _0806496E
+ .align 2, 0
+_0806490C: .4byte gUnknown_202EE10
+_08064910: .4byte gRealInputs
+_08064914:
+ movs r2, 0x18
+ ldrsh r0, [r5, r2]
+ bl sub_8044F3C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08064950
+ ldr r4, [r7, 0x70]
+ adds r4, 0x44
+ ldr r1, _0806494C
+ movs r2, 0x18
+ ldrsh r0, [r5, r2]
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r0]
+ adds r0, r4, 0
+ bl SetAction
+ bl sub_8083D08
+ strb r6, [r4, 0x4]
+ strh r6, [r4, 0x8]
+ strh r6, [r4, 0xA]
+ strb r6, [r4, 0xC]
+ strh r6, [r4, 0x10]
+ strh r6, [r4, 0x12]
+ movs r4, 0
+ b _0806496E
+ .align 2, 0
+_0806494C: .4byte gUnknown_202EE44
+_08064950:
+ bl sub_8083D30
+_08064954:
+ mov r0, r8
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08064968
+ ldr r1, _08064998
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _080648A0
+_08064968:
+ bl sub_8083D30
+ movs r4, 0x1
+_0806496E:
+ ldr r0, _0806499C
+ bl AddMenuCursorSprite
+ movs r0, 0x2E
+ bl sub_803E46C
+ cmp r4, 0x2
+ bne _08064980
+ b _08064834
+_08064980:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ add sp, 0xE4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08064998: .4byte gUnknown_202EE3A
+_0806499C: .4byte gUnknown_202EE10
+ thumb_func_end sub_80647F0
+
+ thumb_func_start sub_80649A0
+sub_80649A0:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r0, r1, 0
+ movs r3, 0
+ movs r1, 0x1
+ strb r1, [r2]
+ strb r3, [r2, 0x1]
+ movs r1, 0xB
+ strb r1, [r2, 0x2]
+ strb r3, [r2, 0x3]
+ movs r1, 0x1
+ bl sub_803ECB4
+ movs r0, 0
+ bl sub_80073B8
+ bl sub_8043D10
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080649E4
+ cmp r0, 0x1
+ ble _080649D4
+ cmp r0, 0x2
+ beq _080649DC
+_080649D4:
+ ldr r0, _080649D8
+ b _080649E6
+ .align 2, 0
+_080649D8: .4byte gUnknown_80FE70C
+_080649DC:
+ ldr r0, _080649E0
+ b _080649E6
+ .align 2, 0
+_080649E0: .4byte gUnknown_80FE720
+_080649E4:
+ ldr r0, _08064A14
+_080649E6:
+ ldr r5, [r0]
+ movs r4, 0
+ str r4, [sp]
+ movs r0, 0xC
+ movs r1, 0
+ adds r2, r5, 0
+ movs r3, 0
+ bl xxx_call_draw_string
+ str r4, [sp]
+ movs r0, 0x8
+ movs r1, 0x12
+ adds r2, r5, 0
+ movs r3, 0
+ bl xxx_call_draw_string
+ movs r0, 0
+ bl sub_80073E0
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08064A14: .4byte gUnknown_80FE724
+ thumb_func_end sub_80649A0
+
+ thumb_func_start sub_8064A18
+sub_8064A18:
+ push {lr}
+ ldr r1, _08064A38
+ movs r0, 0
+ str r0, [r1]
+ movs r0, 0x26
+ movs r1, 0
+ bl sub_8044F5C
+ movs r0, 0xC
+ movs r1, 0
+ bl sub_8044F5C
+ bl sub_8045064
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08064A38: .4byte gUnknown_202EE6C
+ thumb_func_end sub_8064A18
+
+ thumb_func_start sub_8064A3C
+sub_8064A3C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xE8
+ mov r0, sp
+ adds r0, 0x20
+ str r0, [sp, 0xE4]
+ add r1, sp, 0x80
+ mov r10, r1
+ add r0, sp, 0xE0
+ mov r9, r0
+ add r5, sp, 0x14
+_08064A58:
+ mov r0, r10
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ add r1, sp, 0x84
+ movs r0, 0x6
+ str r0, [r1]
+ add r0, sp, 0x88
+ movs r1, 0x2
+ strh r1, [r0]
+ strh r1, [r0, 0x2]
+ add r1, sp, 0x8C
+ movs r0, 0x1A
+ strh r0, [r1]
+ mov r0, sp
+ adds r0, 0x8E
+ movs r1, 0xC
+ strh r1, [r0]
+ add r0, sp, 0x90
+ strh r1, [r0]
+ add r0, sp, 0x94
+ mov r1, r9
+ str r1, [r0]
+ add r0, sp, 0x98
+ movs r1, 0x3
+ str r1, [r0, 0x4]
+ add r0, sp, 0xB0
+ str r1, [r0, 0x4]
+ add r0, sp, 0xC8
+ str r1, [r0, 0x4]
+ ldr r0, [sp, 0xE4]
+ mov r1, r10
+ movs r2, 0x60
+ bl memcpy
+ add r0, sp, 0x14
+ bl sub_801317C
+ movs r0, 0x1
+ mov r1, r9
+ strb r0, [r1]
+ movs r0, 0
+ strb r0, [r1, 0x1]
+ movs r0, 0x10
+ strb r0, [r1, 0x2]
+ movs r0, 0
+ strb r0, [r1, 0x3]
+ ldr r0, [sp, 0xE4]
+ movs r1, 0
+ bl sub_803ECB4
+ bl sub_8043D10
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0
+ bl sub_80073B8
+ ldr r0, _08064B0C
+ lsls r4, 2
+ adds r0, r4, r0
+ ldr r2, [r0]
+ movs r1, 0
+ str r1, [sp]
+ movs r0, 0x10
+ movs r3, 0
+ bl xxx_call_draw_string
+ ldr r0, _08064B10
+ adds r4, r0
+ ldr r4, [r4]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ movs r1, 0x18
+ adds r2, r4, 0
+ movs r3, 0
+ bl xxx_call_draw_string
+ movs r0, 0
+ bl sub_80073E0
+ adds r0, r4, 0
+ add r1, sp, 0x4
+ bl sub_8097DF0
+ adds r6, r0, 0
+ b _08064B28
+ .align 2, 0
+_08064B0C: .4byte gUnknown_80F8104
+_08064B10: .4byte gUnknown_80F7F70
+_08064B14:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08064B22
+ ldrb r0, [r5, 0x2]
+ cmp r0, 0
+ beq _08064B28
+_08064B22:
+ bl sub_8083D30
+ b _08064BC8
+_08064B28:
+ cmp r6, 0
+ beq _08064B30
+ bl sub_8062500
+_08064B30:
+ adds r0, r5, 0
+ movs r1, 0
+ bl nullsub_34
+ movs r0, 0x16
+ bl sub_803E46C
+ ldr r0, _08064B78
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08064B50
+ ldrb r0, [r5, 0x1]
+ cmp r0, 0
+ beq _08064B14
+_08064B50:
+ bl sub_8083D08
+ cmp r6, 0
+ beq _08064BC8
+ movs r4, 0
+ cmp r4, r6
+ blt _08064B60
+ b _08064A58
+_08064B60:
+ subs r1, r6, 0x1
+ mov r8, r1
+_08064B64:
+ lsls r0, r4, 2
+ add r0, sp
+ adds r0, 0x4
+ ldr r0, [r0]
+ adds r1, r5, 0
+ bl sub_80639E4
+ adds r7, r4, 0x1
+ b _08064B90
+ .align 2, 0
+_08064B78: .4byte gRealInputs
+_08064B7C:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08064B8A
+ ldrb r0, [r5, 0x2]
+ cmp r0, 0
+ beq _08064B90
+_08064B8A:
+ bl sub_8083D30
+ b _08064BBC
+_08064B90:
+ cmp r4, r8
+ bge _08064B98
+ bl sub_8062500
+_08064B98:
+ adds r0, r5, 0
+ movs r1, 0
+ bl nullsub_34
+ movs r0, 0x16
+ bl sub_803E46C
+ ldr r0, _08064BC4
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08064BB8
+ ldrb r0, [r5, 0x1]
+ cmp r0, 0
+ beq _08064B7C
+_08064BB8:
+ bl sub_8083D08
+_08064BBC:
+ adds r4, r7, 0
+ cmp r4, r6
+ blt _08064B64
+ b _08064A58
+ .align 2, 0
+_08064BC4: .4byte gRealInputs
+_08064BC8:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ add sp, 0xE8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8064A3C
+
+ thumb_func_start sub_8064BE0
+sub_8064BE0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r0, _08064C94
+ ldr r0, [r0]
+ movs r1, 0xCB
+ lsls r1, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r1, 0x4
+ mov r9, r1
+ cmp r0, 0
+ beq _08064C02
+ movs r0, 0x5
+ mov r9, r0
+_08064C02:
+ ldr r1, _08064C98
+ movs r0, 0
+ str r0, [r1]
+ mov r10, r0
+ ldr r6, _08064C9C
+ ldr r7, _08064CA0
+ movs r1, 0x2A
+ adds r1, r6
+ mov r8, r1
+_08064C14:
+ movs r5, 0
+ bl sub_8065250
+_08064C1A:
+ adds r0, r6, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x24
+ bl sub_803E46C
+ ldrh r1, [r7, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08064C3E
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08064C3E:
+ ldrh r1, [r7, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08064C56
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl sub_8013744
+_08064C56:
+ ldrh r1, [r7, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08064C6A
+ adds r0, r6, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08064CAA
+_08064C6A:
+ movs r1, 0x18
+ ldrsh r0, [r6, r1]
+ cmp r0, 0x4
+ bne _08064C8C
+ ldr r0, _08064C94
+ ldr r0, [r0]
+ movs r1, 0xCB
+ lsls r1, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08064CA4
+ bl IsBossBattle
+ lsls r0, 24
+ cmp r0, 0
+ bne _08064CA4
+_08064C8C:
+ bl sub_8083D08
+ b _08064CC0
+ .align 2, 0
+_08064C94: .4byte gDungeonGlobalData
+_08064C98: .4byte gUnknown_202F2E0
+_08064C9C: .4byte gUnknown_202EE10
+_08064CA0: .4byte gRealInputs
+_08064CA4:
+ bl sub_8083D30
+ b _08064CC0
+_08064CAA:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08064CBA
+ mov r1, r8
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08064C1A
+_08064CBA:
+ bl sub_8083D30
+ movs r5, 0x1
+_08064CC0:
+ ldr r4, _08064D68
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x24
+ bl sub_803E46C
+ mov r0, r10
+ cmp r0, 0
+ bne _08064C14
+ cmp r5, 0
+ bne _08064D4C
+ ldr r5, _08064D6C
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ str r0, [r5]
+ cmp r0, 0
+ bne _08064CE8
+ bl sub_8064D74
+_08064CE8:
+ ldr r0, [r5]
+ cmp r0, 0x1
+ bne _08064CF2
+ bl sub_80650C0
+_08064CF2:
+ ldr r0, [r5]
+ cmp r0, 0x2
+ bne _08064CFC
+ bl sub_80532B4
+_08064CFC:
+ ldr r0, [r5]
+ cmp r0, 0x3
+ bne _08064D06
+ bl sub_806519C
+_08064D06:
+ ldr r0, _08064D70
+ ldr r0, [r0]
+ movs r1, 0xCB
+ lsls r1, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08064D2A
+ bl IsBossBattle
+ lsls r0, 24
+ cmp r0, 0
+ bne _08064D2A
+ ldr r0, [r5]
+ cmp r0, 0x4
+ bne _08064D2A
+ bl sub_8065FB4
+_08064D2A:
+ ldr r0, _08064D6C
+ ldr r0, [r0]
+ cmp r0, r9
+ bne _08064D36
+ bl sub_8065BF4
+_08064D36:
+ ldr r0, _08064D70
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ bne _08064D4C
+ bl sub_805F1AC
+ lsls r0, 16
+ cmp r0, 0
+ bne _08064D4C
+ b _08064C14
+_08064D4C:
+ bl sub_8040A84
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08064D68: .4byte gUnknown_202EE10
+_08064D6C: .4byte gUnknown_202F2E0
+_08064D70: .4byte gDungeonGlobalData
+ thumb_func_end sub_8064BE0
+
+ thumb_func_start sub_8064D74
+sub_8064D74:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r6, _08064DE0
+ ldr r7, _08064DE4
+ movs r0, 0x2A
+ adds r0, r6
+ mov r8, r0
+_08064D84:
+ movs r5, 0
+ bl CreateFieldGameOptionsMenu
+_08064D8A:
+ adds r0, r6, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x24
+ bl sub_803E46C
+ ldrh r1, [r7, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08064DAE
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08064DAE:
+ ldrh r1, [r7, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08064DC6
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl sub_8013744
+_08064DC6:
+ ldrh r1, [r7, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08064DDA
+ adds r0, r6, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08064DE8
+_08064DDA:
+ bl sub_8083D08
+ b _08064DFE
+ .align 2, 0
+_08064DE0: .4byte gUnknown_202EE10
+_08064DE4: .4byte gRealInputs
+_08064DE8:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08064DF8
+ mov r1, r8
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08064D8A
+_08064DF8:
+ bl sub_8083D30
+ movs r5, 0x1
+_08064DFE:
+ ldr r4, _08064E2C
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x24
+ bl sub_803E46C
+ cmp r5, 0
+ bne _08064E56
+ ldr r0, _08064E30
+ ldr r1, _08064E34
+ ldr r0, [r0]
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08064E38
+ bl sub_8064E68
+ b _08064E40
+ .align 2, 0
+_08064E2C: .4byte gUnknown_202EE10
+_08064E30: .4byte gUnknown_203B46C
+_08064E34: .4byte gUnknown_202F2E8
+_08064E38:
+ cmp r0, 0x1
+ bne _08064E4C
+ bl sub_8064F50
+_08064E40:
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r5, 0
+ bl sub_8065040
+ b _08064D84
+_08064E4C:
+ cmp r0, 0x2
+ bne _08064D84
+ bl sub_806509C
+ b _08064D84
+_08064E56:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8064D74
+
+ thumb_func_start sub_8064E68
+sub_8064E68:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r7, 0
+ ldr r0, _08064EDC
+ strh r7, [r0, 0x18]
+ adds r4, r0, 0
+ ldr r6, _08064EE0
+ movs r0, 0x2A
+ adds r0, r4
+ mov r8, r0
+_08064E7E:
+ movs r7, 0
+ movs r5, 0
+ bl CreateFieldDungeonMenu
+_08064E86:
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x24
+ bl sub_803E46C
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08064EAA
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08064EAA:
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08064EC2
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013744
+_08064EC2:
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _08064EE4
+ movs r0, 0
+ bl sub_8083CE0
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ bl sub_8065A8C
+ b _08064F2E
+ .align 2, 0
+_08064EDC: .4byte gUnknown_202EE10
+_08064EE0: .4byte gRealInputs
+_08064EE4:
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08064EFC
+ movs r0, 0
+ bl sub_8083CE0
+ movs r2, 0x18
+ ldrsh r0, [r4, r2]
+ bl sub_8065B3C
+ b _08064F2E
+_08064EFC:
+ ldrh r1, [r6, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08064F0E
+ mov r2, r8
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _08064F14
+_08064F0E:
+ bl sub_8083D08
+ b _08064F30
+_08064F14:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08064F24
+ bl sub_8083D30
+ movs r7, 0x1
+ b _08064F30
+_08064F24:
+ bl sub_8065BEC
+ lsls r0, 24
+ cmp r0, 0
+ beq _08064E86
+_08064F2E:
+ movs r5, 0x1
+_08064F30:
+ ldr r0, _08064F4C
+ bl AddMenuCursorSprite
+ movs r0, 0x24
+ bl sub_803E46C
+ cmp r5, 0
+ bne _08064E7E
+ adds r0, r7, 0
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08064F4C: .4byte gUnknown_202EE10
+ thumb_func_end sub_8064E68
+
+ thumb_func_start sub_8064F50
+sub_8064F50:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r7, 0
+ ldr r0, _08064FC8
+ strh r7, [r0, 0x18]
+ adds r4, r0, 0
+ ldr r6, _08064FCC
+ movs r0, 0x2A
+ adds r0, r4
+ mov r8, r0
+_08064F66:
+ movs r7, 0
+ movs r5, 0
+ bl CreateFieldOthersMenu
+_08064F6E:
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x24
+ bl sub_803E46C
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08064F92
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08064F92:
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08064FAA
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013744
+_08064FAA:
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _08064FD0
+ movs r0, 0
+ bl sub_8083CE0
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ adds r0, 0x5
+ bl sub_8065A8C
+ b _0806501C
+ .align 2, 0
+_08064FC8: .4byte gUnknown_202EE10
+_08064FCC: .4byte gRealInputs
+_08064FD0:
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08064FEA
+ movs r0, 0
+ bl sub_8083CE0
+ movs r2, 0x18
+ ldrsh r0, [r4, r2]
+ adds r0, 0x5
+ bl sub_8065B3C
+ b _0806501C
+_08064FEA:
+ ldrh r1, [r6, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08064FFC
+ mov r2, r8
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _08065002
+_08064FFC:
+ bl sub_8083D08
+ b _0806501E
+_08065002:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08065012
+ bl sub_8083D30
+ movs r7, 0x1
+ b _0806501E
+_08065012:
+ bl sub_8065BF0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08064F6E
+_0806501C:
+ movs r5, 0x1
+_0806501E:
+ ldr r0, _0806503C
+ bl AddMenuCursorSprite
+ movs r0, 0x24
+ bl sub_803E46C
+ cmp r5, 0
+ bne _08064F66
+ adds r0, r7, 0
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806503C: .4byte gUnknown_202EE10
+ thumb_func_end sub_8064F50
+
+ thumb_func_start sub_8065040
+sub_8065040:
+ push {r4,lr}
+ lsls r0, 24
+ movs r4, 0
+ cmp r0, 0
+ beq _0806505C
+ ldr r0, _08065058
+ bl GameOptionsNotChange
+ lsls r0, 24
+ cmp r0, 0
+ bne _0806505E
+ b _08065062
+ .align 2, 0
+_08065058: .4byte gUnknown_202F2E8
+_0806505C:
+ movs r4, 0x1
+_0806505E:
+ cmp r4, 0
+ beq _08065088
+_08065062:
+ ldr r0, _08065090
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl sub_8052B8C
+ cmp r0, 0x1
+ bne _08065088
+ ldr r0, _08065094
+ ldr r1, [r0]
+ ldr r0, _08065098
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r0, [r0]
+ str r0, [r1]
+ bl sub_803E13C
+ bl sub_8040238
+_08065088:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08065090: .4byte gUnknown_80FEBF8
+_08065094: .4byte gUnknown_203B46C
+_08065098: .4byte gUnknown_202F2E8
+ thumb_func_end sub_8065040
+
+ thumb_func_start sub_806509C
+sub_806509C:
+ push {lr}
+ ldr r0, _080650BC
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0
+ bl sub_8052B8C
+ cmp r0, 0x1
+ bne _080650B8
+ movs r0, 0
+ bl InitializeGameOptions
+ bl sub_803E13C
+_080650B8:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080650BC: .4byte gUnknown_80FEC28
+ thumb_func_end sub_806509C
+
+ thumb_func_start sub_80650C0
+sub_80650C0:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ movs r0, 0
+ mov r9, r0
+ ldr r5, _08065134
+ ldr r6, _08065138
+ movs r1, 0x2A
+ adds r1, r5
+ mov r8, r1
+_080650D6:
+ movs r7, 0
+ bl sub_806544C
+_080650DC:
+ adds r0, r5, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x24
+ bl sub_803E46C
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08065100
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08065100:
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08065118
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_8013744
+_08065118:
+ ldrh r1, [r6, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0806512C
+ adds r0, r5, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0806513C
+_0806512C:
+ bl sub_8083D08
+ b _08065152
+ .align 2, 0
+_08065134: .4byte gUnknown_202EE10
+_08065138: .4byte gRealInputs
+_0806513C:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _0806514C
+ mov r1, r8
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _080650DC
+_0806514C:
+ bl sub_8083D30
+ movs r7, 0x1
+_08065152:
+ ldr r4, _08065178
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x24
+ bl sub_803E46C
+ mov r0, r9
+ cmp r0, 0
+ bne _080650D6
+ cmp r7, 0
+ bne _0806518E
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _0806517C
+ bl sub_80651D0
+ b _08065184
+ .align 2, 0
+_08065178: .4byte gUnknown_202EE10
+_0806517C:
+ cmp r0, 0x1
+ bne _08065184
+ bl sub_80651FC
+_08065184:
+ bl sub_805F1AC
+ lsls r0, 16
+ cmp r0, 0
+ beq _080650D6
+_0806518E:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80650C0
+
+ thumb_func_start sub_806519C
+sub_806519C:
+ push {lr}
+ ldr r0, _080651CC
+ ldr r1, [r0]
+ movs r2, 0xCF
+ lsls r2, 3
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ subs r2, 0x34
+ adds r1, r2
+ ldrb r1, [r1]
+ movs r2, 0
+ bl sub_80319A4
+_080651B6:
+ movs r0, 0x47
+ bl sub_803E46C
+ bl sub_80319F8
+ cmp r0, 0
+ beq _080651B6
+ bl sub_8031A3C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080651CC: .4byte gDungeonGlobalData
+ thumb_func_end sub_806519C
+
+ thumb_func_start sub_80651D0
+sub_80651D0:
+ push {lr}
+ ldr r0, _080651F0
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0
+ bl sub_8052B8C
+ cmp r0, 0x1
+ bne _080651F4
+ bl sub_805F1A0
+ movs r1, 0x2B
+ bl SetAction
+ movs r0, 0
+ b _080651F6
+ .align 2, 0
+_080651F0: .4byte gUnknown_80FDE6C
+_080651F4:
+ movs r0, 0x1
+_080651F6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80651D0
+
+ thumb_func_start sub_80651FC
+sub_80651FC:
+ push {r4,r5,lr}
+ ldr r0, _08065238
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0
+ bl sub_8052B8C
+ adds r5, r0, 0
+ cmp r5, 0x1
+ bne _08065248
+ bl sub_805F1A0
+ movs r1, 0x2E
+ bl SetAction
+ ldr r4, _0806523C
+ bl GetLeaderEntity
+ adds r2, r0, 0
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_8083AB0
+ ldr r0, _08065240
+ ldr r0, [r0]
+ ldr r1, _08065244
+ adds r0, r1
+ strb r5, [r0]
+ movs r0, 0
+ b _0806524A
+ .align 2, 0
+_08065238: .4byte gUnknown_80FDEB8
+_0806523C: .4byte 0x0000021b
+_08065240: .4byte gDungeonGlobalData
+_08065244: .4byte 0x00000654
+_08065248:
+ movs r0, 0x1
+_0806524A:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80651FC
+
+ thumb_func_start sub_8065250
+sub_8065250:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC8
+ add r5, sp, 0x64
+ adds r0, r5, 0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x68]
+ add r0, sp, 0x6C
+ movs r4, 0
+ movs r7, 0
+ movs r1, 0x2
+ mov r9, r1
+ mov r1, r9
+ strh r1, [r0]
+ strh r1, [r0, 0x2]
+ add r0, sp, 0x70
+ movs r1, 0x12
+ mov r10, r1
+ mov r1, r10
+ strh r1, [r0]
+ adds r0, 0x2
+ movs r1, 0x10
+ mov r8, r1
+ mov r1, r8
+ strh r1, [r0]
+ add r0, sp, 0x74
+ strh r1, [r0]
+ add r6, sp, 0xC4
+ str r6, [sp, 0x78]
+ movs r1, 0x3
+ str r1, [sp, 0x80]
+ add r0, sp, 0x94
+ str r1, [r0, 0x4]
+ add r0, sp, 0xAC
+ str r1, [r0, 0x4]
+ add r0, sp, 0x4
+ adds r1, r5, 0
+ movs r2, 0x60
+ bl memcpy
+ movs r0, 0x1
+ strb r0, [r6]
+ strb r4, [r6, 0x1]
+ strb r4, [r6, 0x3]
+ ldr r4, _080653D0
+ ldr r0, _080653D4
+ ldr r0, [r0]
+ strh r0, [r4, 0x18]
+ ldr r1, _080653D8
+ ldr r0, [r1]
+ movs r1, 0xCB
+ lsls r1, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r5, 0x5
+ cmp r0, 0
+ beq _080652D2
+ movs r5, 0x6
+_080652D2:
+ strh r5, [r4, 0x1A]
+ strh r5, [r4, 0x1C]
+ strh r7, [r4, 0x1E]
+ strh r7, [r4, 0x20]
+ strh r7, [r4, 0x4]
+ mov r0, r8
+ strh r0, [r4, 0x6]
+ strh r7, [r4, 0xC]
+ strh r7, [r4, 0xE]
+ strh r7, [r4, 0x14]
+ str r7, [r4]
+ adds r0, r4, 0
+ adds r0, 0x28
+ bl sub_801317C
+ add r0, sp, 0x4
+ mov r1, r10
+ strh r1, [r0, 0xC]
+ adds r0, r5, 0
+ movs r1, 0xC
+ bl sub_80095E4
+ add r2, sp, 0x4
+ adds r1, r2, 0
+ adds r0, 0x2
+ strh r0, [r1, 0x10]
+ strh r0, [r2, 0xE]
+ movs r0, 0xA
+ strb r0, [r6, 0x2]
+ adds r0, r1, 0
+ mov r1, r9
+ strh r1, [r0, 0x8]
+ movs r1, 0x1
+ bl sub_803ECB4
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_80137B0
+ movs r0, 0
+ bl sub_80073B8
+ movs r5, 0
+ ldr r0, _080653DC
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, _080653E0
+ ldr r2, [r0]
+ str r7, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, _080653E4
+ ldr r2, [r0]
+ str r7, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, _080653E8
+ ldr r2, [r0]
+ str r7, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r5, 0x4
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, _080653EC
+ ldr r2, [r0]
+ str r7, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r1, _080653D8
+ ldr r0, [r1]
+ movs r1, 0xCB
+ lsls r1, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0806540E
+ bl IsBossBattle
+ lsls r0, 24
+ cmp r0, 0
+ bne _080653F4
+ movs r5, 0x5
+ adds r0, r4, 0
+ movs r1, 0x4
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, _080653F0
+ ldr r2, [r0]
+ str r7, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ b _0806540E
+ .align 2, 0
+_080653D0: .4byte gUnknown_202EE10
+_080653D4: .4byte gUnknown_202F2E0
+_080653D8: .4byte gDungeonGlobalData
+_080653DC: .4byte gUnknown_80FE8F8
+_080653E0: .4byte gUnknown_80FE9CC
+_080653E4: .4byte gUnknown_80FE9E8
+_080653E8: .4byte gUnknown_80FE9F8
+_080653EC: .4byte gUnknown_80FEA10
+_080653F0: .4byte gUnknown_80FEA28
+_080653F4:
+ movs r5, 0x5
+ adds r0, r4, 0
+ movs r1, 0x4
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, _08065440
+ ldr r2, [r0]
+ str r7, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+_0806540E:
+ ldr r0, _08065444
+ adds r1, r5, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, _08065448
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r0, 0
+ bl sub_80073E0
+ add sp, 0xC8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08065440: .4byte gUnknown_80FEA44
+_08065444: .4byte gUnknown_202EE10
+_08065448: .4byte gUnknown_80FEA50
+ thumb_func_end sub_8065250
+
+ thumb_func_start sub_806544C
+sub_806544C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC8
+ add r0, sp, 0x64
+ mov r10, r0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x68]
+ add r0, sp, 0x6C
+ movs r4, 0
+ movs r5, 0
+ movs r1, 0x2
+ mov r9, r1
+ mov r2, r9
+ strh r2, [r0]
+ strh r2, [r0, 0x2]
+ add r0, sp, 0x70
+ movs r7, 0x12
+ strh r7, [r0]
+ adds r0, 0x2
+ movs r6, 0x10
+ strh r6, [r0]
+ add r0, sp, 0x74
+ strh r6, [r0]
+ add r0, sp, 0xC4
+ mov r8, r0
+ str r0, [sp, 0x78]
+ movs r1, 0x3
+ str r1, [sp, 0x80]
+ add r0, sp, 0x94
+ str r1, [r0, 0x4]
+ add r0, sp, 0xAC
+ str r1, [r0, 0x4]
+ add r0, sp, 0x4
+ mov r1, r10
+ movs r2, 0x60
+ bl memcpy
+ movs r0, 0x1
+ mov r1, r8
+ strb r0, [r1]
+ strb r4, [r1, 0x1]
+ strb r4, [r1, 0x3]
+ ldr r4, _08065568
+ strh r5, [r4, 0x18]
+ mov r2, r9
+ strh r2, [r4, 0x1A]
+ strh r2, [r4, 0x1C]
+ strh r5, [r4, 0x1E]
+ strh r5, [r4, 0x20]
+ strh r5, [r4, 0x4]
+ strh r6, [r4, 0x6]
+ strh r5, [r4, 0xC]
+ strh r5, [r4, 0xE]
+ strh r5, [r4, 0x14]
+ str r5, [r4]
+ adds r0, r4, 0
+ adds r0, 0x28
+ bl sub_801317C
+ add r0, sp, 0x4
+ strh r7, [r0, 0xC]
+ movs r0, 0x2
+ movs r1, 0xC
+ bl sub_80095E4
+ add r2, sp, 0x4
+ adds r1, r2, 0
+ adds r0, 0x2
+ strh r0, [r1, 0x10]
+ strh r0, [r2, 0xE]
+ movs r0, 0xA
+ mov r1, r8
+ strb r0, [r1, 0x2]
+ adds r0, r2, 0
+ mov r2, r9
+ strh r2, [r0, 0x8]
+ movs r1, 0x1
+ bl sub_803ECB4
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_80137B0
+ movs r0, 0
+ bl sub_80073B8
+ ldr r0, _0806556C
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r6, _08065570
+ movs r2, 0xAC
+ lsls r2, 1
+ adds r0, r6, r2
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013800
+ adds r1, r0, 0
+ movs r2, 0xB8
+ lsls r2, 1
+ adds r0, r6, r2
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r0, 0
+ bl sub_80073E0
+ add sp, 0xC8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08065568: .4byte gUnknown_202EE10
+_0806556C: .4byte gUnknown_80FE8F4
+_08065570: .4byte gUnknown_80F7C50
+ thumb_func_end sub_806544C
+
+ thumb_func_start CreateFieldGameOptionsMenu
+CreateFieldGameOptionsMenu:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xD4
+ add r0, sp, 0x10
+ mov r10, r0
+ add r7, sp, 0x70
+ adds r0, r7, 0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x74]
+ add r0, sp, 0x78
+ movs r4, 0
+ movs r6, 0
+ movs r1, 0x2
+ strh r1, [r0]
+ strh r1, [r0, 0x2]
+ add r0, sp, 0x7C
+ movs r1, 0xC
+ strh r1, [r0]
+ adds r0, 0x2
+ movs r1, 0x10
+ mov r9, r1
+ mov r1, r9
+ strh r1, [r0]
+ add r0, sp, 0x80
+ strh r1, [r0]
+ add r0, sp, 0x84
+ add r1, sp, 0xD0
+ mov r8, r1
+ str r1, [r0]
+ add r0, sp, 0x88
+ movs r5, 0x3
+ str r5, [r0, 0x4]
+ add r0, sp, 0xA0
+ str r5, [r0, 0x4]
+ add r0, sp, 0xB8
+ str r5, [r0, 0x4]
+ mov r0, r10
+ adds r1, r7, 0
+ movs r2, 0x60
+ bl memcpy
+ movs r0, 0x1
+ mov r1, r8
+ strb r0, [r1]
+ strb r4, [r1, 0x1]
+ strb r4, [r1, 0x3]
+ ldr r4, _080656AC
+ strh r6, [r4, 0x18]
+ strh r5, [r4, 0x1A]
+ strh r5, [r4, 0x1C]
+ strh r6, [r4, 0x1E]
+ strh r6, [r4, 0x20]
+ strh r6, [r4, 0x4]
+ mov r0, r9
+ strh r0, [r4, 0x6]
+ strh r6, [r4, 0xC]
+ strh r6, [r4, 0xE]
+ strh r6, [r4, 0x14]
+ str r6, [r4]
+ adds r0, r4, 0
+ adds r0, 0x28
+ bl sub_801317C
+ movs r0, 0xC
+ mov r1, r10
+ strh r0, [r1, 0xC]
+ movs r0, 0x3
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ mov r1, r10
+ strh r0, [r1, 0x10]
+ strh r0, [r1, 0xE]
+ movs r0, 0xA
+ mov r1, r8
+ strb r0, [r1, 0x2]
+ movs r1, 0x2
+ mov r0, r10
+ strh r1, [r0, 0x8]
+ movs r1, 0x1
+ bl sub_803ECB4
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_80137B0
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_8013800
+ str r0, [sp, 0x4]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013800
+ str r0, [sp, 0x8]
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl sub_8013800
+ str r0, [sp, 0xC]
+ movs r0, 0
+ bl sub_80073B8
+ ldr r0, _080656B0
+ ldr r2, [r0]
+ str r6, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r1, [sp, 0x4]
+ ldr r0, _080656B4
+ ldr r2, [r0]
+ str r6, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r1, [sp, 0x8]
+ ldr r0, _080656B8
+ ldr r2, [r0]
+ str r6, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r1, [sp, 0xC]
+ ldr r0, _080656BC
+ ldr r2, [r0]
+ str r6, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r0, 0
+ bl sub_80073E0
+ add sp, 0xD4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080656AC: .4byte gUnknown_202EE10
+_080656B0: .4byte gGameOptionsTextPtr
+_080656B4: .4byte gOptionsDungeonTextPtr
+_080656B8: .4byte gOptionsOthersTextPtr
+_080656BC: .4byte gUnknown_80FE748
+ thumb_func_end CreateFieldGameOptionsMenu
+
+ thumb_func_start CreateFieldDungeonMenu
+CreateFieldDungeonMenu:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xDC
+ add r0, sp, 0x18
+ mov r9, r0
+ add r7, sp, 0x78
+ adds r0, r7, 0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x7C]
+ add r0, sp, 0x80
+ movs r5, 0
+ movs r1, 0x2
+ mov r10, r1
+ mov r2, r10
+ strh r2, [r0]
+ strh r2, [r0, 0x2]
+ add r1, sp, 0x84
+ movs r0, 0x12
+ strh r0, [r1]
+ mov r0, sp
+ adds r0, 0x86
+ movs r3, 0x10
+ mov r8, r3
+ mov r4, r8
+ strh r4, [r0]
+ add r0, sp, 0x88
+ strh r4, [r0]
+ add r0, sp, 0x8C
+ add r6, sp, 0xD8
+ str r6, [r0]
+ add r0, sp, 0x90
+ movs r1, 0x3
+ str r1, [r0, 0x4]
+ add r0, sp, 0xA8
+ str r1, [r0, 0x4]
+ add r0, sp, 0xC0
+ str r1, [r0, 0x4]
+ mov r0, r9
+ adds r1, r7, 0
+ movs r2, 0x60
+ bl memcpy
+ adds r1, r7, 0
+ ldr r0, _0806583C
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ movs r0, 0x1
+ strb r0, [r6]
+ movs r0, 0
+ strb r0, [r6, 0x1]
+ strb r0, [r6, 0x3]
+ ldr r4, _08065840
+ movs r0, 0x5
+ strh r0, [r4, 0x1A]
+ strh r0, [r4, 0x1C]
+ strh r5, [r4, 0x1E]
+ strh r5, [r4, 0x20]
+ strh r5, [r4, 0x4]
+ mov r1, r8
+ strh r1, [r4, 0x6]
+ strh r5, [r4, 0xC]
+ strh r5, [r4, 0xE]
+ strh r5, [r4, 0x14]
+ str r5, [r4]
+ adds r0, r4, 0
+ adds r0, 0x28
+ bl sub_801317C
+ movs r0, 0x18
+ mov r2, r9
+ strh r0, [r2, 0xC]
+ movs r0, 0x5
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ mov r3, r9
+ strh r0, [r3, 0x10]
+ strh r0, [r3, 0xE]
+ movs r0, 0xA
+ strb r0, [r6, 0x2]
+ mov r0, r10
+ strh r0, [r3, 0x8]
+ mov r0, r9
+ movs r1, 0x1
+ bl sub_803ECB4
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_80137B0
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_8013800
+ str r0, [sp, 0x4]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013800
+ str r0, [sp, 0x8]
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl sub_8013800
+ str r0, [sp, 0xC]
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl sub_8013800
+ str r0, [sp, 0x10]
+ adds r0, r4, 0
+ movs r1, 0x4
+ bl sub_8013800
+ str r0, [sp, 0x14]
+ movs r0, 0
+ bl sub_80073B8
+ ldr r0, _08065844
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r1, [sp, 0x4]
+ ldr r0, _08065848
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r1, [sp, 0x8]
+ ldr r0, _0806584C
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r1, [sp, 0xC]
+ ldr r0, _08065850
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r1, [sp, 0x10]
+ ldr r0, _08065854
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r1, [sp, 0x14]
+ ldr r0, _08065858
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r0, _0806585C
+ ldrb r0, [r0]
+ adds r4, r7, 0
+ cmp r0, 0
+ beq _08065860
+ ldr r2, [sp, 0x4]
+ adds r2, 0xA
+ movs r0, 0x7
+ str r0, [sp]
+ movs r0, 0
+ movs r1, 0x88
+ movs r3, 0x15
+ bl sub_80078A4
+ b _08065872
+ .align 2, 0
+_0806583C: .4byte gUnknown_8106CE8
+_08065840: .4byte gUnknown_202EE10
+_08065844: .4byte gOptionsDungeonTextPtr
+_08065848: .4byte gUnknown_80FE764
+_0806584C: .4byte gUnknown_80FE788
+_08065850: .4byte gUnknown_80FE7A8
+_08065854: .4byte gUnknown_80FE7C0
+_08065858: .4byte gUnknown_80FE7E4
+_0806585C: .4byte gUnknown_202F2E8
+_08065860:
+ ldr r2, [sp, 0x4]
+ adds r2, 0xA
+ movs r0, 0x7
+ str r0, [sp]
+ movs r0, 0
+ movs r1, 0x50
+ movs r3, 0x16
+ bl sub_80078A4
+_08065872:
+ ldr r0, _08065890
+ ldrb r0, [r0, 0x1]
+ cmp r0, 0
+ beq _08065894
+ ldr r2, [sp, 0x8]
+ adds r2, 0xA
+ movs r0, 0x7
+ str r0, [sp]
+ movs r0, 0
+ movs r1, 0x88
+ movs r3, 0x16
+ bl sub_80078A4
+ b _080658A6
+ .align 2, 0
+_08065890: .4byte gUnknown_202F2E8
+_08065894:
+ ldr r2, [sp, 0x8]
+ adds r2, 0xA
+ movs r0, 0x7
+ str r0, [sp]
+ movs r0, 0
+ movs r1, 0x50
+ movs r3, 0x12
+ bl sub_80078A4
+_080658A6:
+ ldr r0, _080658C4
+ ldrb r0, [r0, 0x2]
+ cmp r0, 0
+ beq _080658C8
+ ldr r2, [sp, 0xC]
+ adds r2, 0xA
+ movs r0, 0x7
+ str r0, [sp]
+ movs r0, 0
+ movs r1, 0x88
+ movs r3, 0x10
+ bl sub_80078A4
+ b _080658DA
+ .align 2, 0
+_080658C4: .4byte gUnknown_202F2E8
+_080658C8:
+ ldr r2, [sp, 0xC]
+ adds r2, 0xA
+ movs r0, 0x7
+ str r0, [sp]
+ movs r0, 0
+ movs r1, 0x50
+ movs r3, 0xC
+ bl sub_80078A4
+_080658DA:
+ ldr r0, _080658F8
+ ldrb r0, [r0, 0x3]
+ cmp r0, 0
+ beq _080658FC
+ ldr r2, [sp, 0x10]
+ adds r2, 0xA
+ movs r0, 0x7
+ str r0, [sp]
+ movs r0, 0
+ movs r1, 0x88
+ movs r3, 0xC
+ bl sub_80078A4
+ b _0806590E
+ .align 2, 0
+_080658F8: .4byte gUnknown_202F2E8
+_080658FC:
+ ldr r2, [sp, 0x10]
+ adds r2, 0xA
+ movs r0, 0x7
+ str r0, [sp]
+ movs r0, 0
+ movs r1, 0x50
+ movs r3, 0x10
+ bl sub_80078A4
+_0806590E:
+ ldr r0, _08065944
+ ldrb r1, [r0, 0x4]
+ lsls r0, r1, 2
+ adds r1, r0, r1
+ lsls r1, 3
+ adds r1, 0x50
+ ldr r2, [sp, 0x14]
+ adds r2, 0xA
+ adds r0, r4, r0
+ ldr r3, [r0]
+ movs r0, 0x7
+ str r0, [sp]
+ movs r0, 0
+ bl sub_80078A4
+ movs r0, 0
+ bl sub_80073E0
+ add sp, 0xDC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08065944: .4byte gUnknown_202F2E8
+ thumb_func_end CreateFieldDungeonMenu
+
+ thumb_func_start CreateFieldOthersMenu
+CreateFieldOthersMenu:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xCC
+ add r0, sp, 0x64
+ mov r10, r0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x68]
+ add r0, sp, 0x6C
+ movs r4, 0
+ movs r5, 0
+ movs r1, 0x2
+ mov r9, r1
+ mov r2, r9
+ strh r2, [r0]
+ strh r2, [r0, 0x2]
+ add r1, sp, 0x70
+ movs r0, 0x12
+ strh r0, [r1]
+ mov r0, sp
+ adds r0, 0x72
+ movs r6, 0x10
+ strh r6, [r0]
+ add r0, sp, 0x74
+ strh r6, [r0]
+ add r3, sp, 0xC4
+ mov r8, r3
+ str r3, [sp, 0x78]
+ movs r1, 0x3
+ str r1, [sp, 0x80]
+ add r0, sp, 0x94
+ str r1, [r0, 0x4]
+ add r0, sp, 0xAC
+ str r1, [r0, 0x4]
+ add r0, sp, 0x4
+ mov r1, r10
+ movs r2, 0x60
+ bl memcpy
+ mov r1, r10
+ ldr r0, _08065A78
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ movs r0, 0x1
+ mov r7, r8
+ strb r0, [r7]
+ strb r4, [r7, 0x1]
+ strb r4, [r7, 0x3]
+ ldr r4, _08065A7C
+ strh r0, [r4, 0x1A]
+ strh r0, [r4, 0x1C]
+ strh r5, [r4, 0x1E]
+ strh r5, [r4, 0x20]
+ strh r5, [r4, 0x4]
+ strh r6, [r4, 0x6]
+ strh r5, [r4, 0xC]
+ strh r5, [r4, 0xE]
+ strh r5, [r4, 0x14]
+ str r5, [r4]
+ adds r0, r4, 0
+ adds r0, 0x28
+ bl sub_801317C
+ add r1, sp, 0x4
+ movs r0, 0x18
+ strh r0, [r1, 0xC]
+ movs r0, 0x1
+ movs r1, 0xC
+ bl sub_80095E4
+ add r2, sp, 0x4
+ adds r1, r2, 0
+ adds r0, 0x2
+ strh r0, [r1, 0x10]
+ strh r0, [r2, 0xE]
+ movs r0, 0xA
+ strb r0, [r7, 0x2]
+ adds r0, r1, 0
+ mov r1, r9
+ strh r1, [r0, 0x8]
+ movs r1, 0x1
+ bl sub_803ECB4
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_80137B0
+ movs r4, 0
+ mov r7, r10
+ add r6, sp, 0xC8
+ adds r5, r6, 0
+_08065A0A:
+ ldr r0, _08065A7C
+ adds r1, r4, 0
+ bl sub_8013800
+ stm r5!, {r0}
+ adds r4, 0x1
+ cmp r4, 0
+ ble _08065A0A
+ movs r0, 0
+ bl sub_80073B8
+ ldr r0, _08065A80
+ ldr r2, [r0]
+ movs r4, 0
+ str r4, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r1, [r6]
+ ldr r0, _08065A84
+ ldr r2, [r0]
+ str r4, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r0, _08065A88
+ ldrb r1, [r0, 0x8]
+ lsls r3, r1, 2
+ adds r1, r3, r1
+ lsls r1, 3
+ adds r1, 0x50
+ add r0, sp, 0xC8
+ ldr r2, [r0]
+ adds r2, 0xA
+ adds r3, r7, r3
+ ldr r3, [r3]
+ movs r0, 0x7
+ str r0, [sp]
+ movs r0, 0
+ bl sub_80078A4
+ movs r0, 0
+ bl sub_80073E0
+ add sp, 0xCC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08065A78: .4byte gUnknown_8106CF4
+_08065A7C: .4byte gUnknown_202EE10
+_08065A80: .4byte gOptionsOthersTextPtr
+_08065A84: .4byte gOptionsWindowColorPtr
+_08065A88: .4byte gUnknown_202F2E8
+ thumb_func_end CreateFieldOthersMenu
+
+ thumb_func_start sub_8065A8C
+sub_8065A8C:
+ push {lr}
+ cmp r0, 0x5
+ bhi _08065B38
+ lsls r0, 2
+ ldr r1, _08065A9C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08065A9C: .4byte _08065AA0
+ .align 2, 0
+_08065AA0:
+ .4byte _08065AB8
+ .4byte _08065ACC
+ .4byte _08065AE0
+ .4byte _08065AF4
+ .4byte _08065B08
+ .4byte _08065B22
+_08065AB8:
+ ldr r2, _08065AC8
+ movs r1, 0
+ ldrb r0, [r2]
+ cmp r0, 0
+ bne _08065AC4
+ movs r1, 0x1
+_08065AC4:
+ strb r1, [r2]
+ b _08065B38
+ .align 2, 0
+_08065AC8: .4byte gUnknown_202F2E8
+_08065ACC:
+ ldr r2, _08065ADC
+ movs r1, 0
+ ldrb r0, [r2, 0x1]
+ cmp r0, 0
+ bne _08065AD8
+ movs r1, 0x1
+_08065AD8:
+ strb r1, [r2, 0x1]
+ b _08065B38
+ .align 2, 0
+_08065ADC: .4byte gUnknown_202F2E8
+_08065AE0:
+ ldr r2, _08065AF0
+ movs r1, 0
+ ldrb r0, [r2, 0x2]
+ cmp r0, 0
+ bne _08065AEC
+ movs r1, 0x1
+_08065AEC:
+ strb r1, [r2, 0x2]
+ b _08065B38
+ .align 2, 0
+_08065AF0: .4byte gUnknown_202F2E8
+_08065AF4:
+ ldr r2, _08065B04
+ movs r1, 0
+ ldrb r0, [r2, 0x3]
+ cmp r0, 0
+ bne _08065B00
+ movs r1, 0x1
+_08065B00:
+ strb r1, [r2, 0x3]
+ b _08065B38
+ .align 2, 0
+_08065B04: .4byte gUnknown_202F2E8
+_08065B08:
+ ldr r1, _08065B18
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0
+ bne _08065B1C
+ movs r0, 0x2
+ strb r0, [r1, 0x4]
+ b _08065B38
+ .align 2, 0
+_08065B18: .4byte gUnknown_202F2E8
+_08065B1C:
+ subs r0, 0x1
+ strb r0, [r1, 0x4]
+ b _08065B38
+_08065B22:
+ ldr r1, _08065B30
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0
+ bne _08065B34
+ movs r0, 0x2
+ b _08065B36
+ .align 2, 0
+_08065B30: .4byte gUnknown_202F2E8
+_08065B34:
+ subs r0, 0x1
+_08065B36:
+ strb r0, [r1, 0x8]
+_08065B38:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8065A8C
+
+ thumb_func_start sub_8065B3C
+sub_8065B3C:
+ push {lr}
+ cmp r0, 0x5
+ bhi _08065BE8
+ lsls r0, 2
+ ldr r1, _08065B4C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08065B4C: .4byte _08065B50
+ .align 2, 0
+_08065B50:
+ .4byte _08065B68
+ .4byte _08065B7C
+ .4byte _08065B90
+ .4byte _08065BA4
+ .4byte _08065BB8
+ .4byte _08065BD2
+_08065B68:
+ ldr r2, _08065B78
+ movs r1, 0
+ ldrb r0, [r2]
+ cmp r0, 0
+ bne _08065B74
+ movs r1, 0x1
+_08065B74:
+ strb r1, [r2]
+ b _08065BE8
+ .align 2, 0
+_08065B78: .4byte gUnknown_202F2E8
+_08065B7C:
+ ldr r2, _08065B8C
+ movs r1, 0
+ ldrb r0, [r2, 0x1]
+ cmp r0, 0
+ bne _08065B88
+ movs r1, 0x1
+_08065B88:
+ strb r1, [r2, 0x1]
+ b _08065BE8
+ .align 2, 0
+_08065B8C: .4byte gUnknown_202F2E8
+_08065B90:
+ ldr r2, _08065BA0
+ movs r1, 0
+ ldrb r0, [r2, 0x2]
+ cmp r0, 0
+ bne _08065B9C
+ movs r1, 0x1
+_08065B9C:
+ strb r1, [r2, 0x2]
+ b _08065BE8
+ .align 2, 0
+_08065BA0: .4byte gUnknown_202F2E8
+_08065BA4:
+ ldr r2, _08065BB4
+ movs r1, 0
+ ldrb r0, [r2, 0x3]
+ cmp r0, 0
+ bne _08065BB0
+ movs r1, 0x1
+_08065BB0:
+ strb r1, [r2, 0x3]
+ b _08065BE8
+ .align 2, 0
+_08065BB4: .4byte gUnknown_202F2E8
+_08065BB8:
+ ldr r1, _08065BC8
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0x2
+ bne _08065BCC
+ movs r0, 0
+ strb r0, [r1, 0x4]
+ b _08065BE8
+ .align 2, 0
+_08065BC8: .4byte gUnknown_202F2E8
+_08065BCC:
+ adds r0, 0x1
+ strb r0, [r1, 0x4]
+ b _08065BE8
+_08065BD2:
+ ldr r1, _08065BE0
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0x2
+ bne _08065BE4
+ movs r0, 0
+ b _08065BE6
+ .align 2, 0
+_08065BE0: .4byte gUnknown_202F2E8
+_08065BE4:
+ adds r0, 0x1
+_08065BE6:
+ strb r0, [r1, 0x8]
+_08065BE8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8065B3C
+
+ thumb_func_start sub_8065BEC
+sub_8065BEC:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8065BEC
+
+ thumb_func_start sub_8065BF0
+sub_8065BF0:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8065BF0
+
+ thumb_func_start sub_8065BF4
+sub_8065BF4:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r5, _08065C60
+ ldr r6, _08065C64
+ movs r0, 0x2A
+ adds r0, r5
+ mov r8, r0
+_08065C04:
+ movs r7, 0
+ bl sub_8065CAC
+_08065C0A:
+ adds r0, r5, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x24
+ bl sub_803E46C
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08065C2E
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08065C2E:
+ ldrh r1, [r6, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08065C46
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_8013744
+_08065C46:
+ ldrh r1, [r6, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08065C5A
+ adds r0, r5, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08065C68
+_08065C5A:
+ bl sub_8083D08
+ b _08065C7E
+ .align 2, 0
+_08065C60: .4byte gUnknown_202EE10
+_08065C64: .4byte gRealInputs
+_08065C68:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08065C78
+ mov r1, r8
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08065C0A
+_08065C78:
+ bl sub_8083D30
+ movs r7, 0x1
+_08065C7E:
+ ldr r4, _08065C9C
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x24
+ bl sub_803E46C
+ cmp r7, 0
+ bne _08065CA0
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ bl sub_8065DBC
+ b _08065C04
+ .align 2, 0
+_08065C9C: .4byte gUnknown_202EE10
+_08065CA0:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8065BF4
+
+ thumb_func_start sub_8065CAC
+sub_8065CAC:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC8
+ add r0, sp, 0x64
+ mov r10, r0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x68]
+ add r0, sp, 0x6C
+ movs r4, 0
+ movs r5, 0
+ movs r1, 0x2
+ mov r9, r1
+ mov r1, r9
+ strh r1, [r0]
+ strh r1, [r0, 0x2]
+ add r0, sp, 0x70
+ movs r7, 0xC
+ strh r7, [r0]
+ adds r0, 0x2
+ movs r6, 0x10
+ strh r6, [r0]
+ add r0, sp, 0x74
+ strh r6, [r0]
+ add r0, sp, 0xC4
+ mov r8, r0
+ str r0, [sp, 0x78]
+ movs r1, 0x3
+ str r1, [sp, 0x80]
+ add r0, sp, 0x94
+ str r1, [r0, 0x4]
+ add r0, sp, 0xAC
+ str r1, [r0, 0x4]
+ add r0, sp, 0x4
+ mov r1, r10
+ movs r2, 0x60
+ bl memcpy
+ movs r0, 0x1
+ mov r1, r8
+ strb r0, [r1]
+ strb r4, [r1, 0x1]
+ strb r4, [r1, 0x3]
+ ldr r4, _08065DB0
+ strh r5, [r4, 0x18]
+ movs r0, 0x7
+ strh r0, [r4, 0x1A]
+ strh r0, [r4, 0x1C]
+ strh r5, [r4, 0x1E]
+ strh r5, [r4, 0x20]
+ strh r5, [r4, 0x4]
+ strh r6, [r4, 0x6]
+ strh r5, [r4, 0xC]
+ strh r5, [r4, 0xE]
+ strh r5, [r4, 0x14]
+ str r5, [r4]
+ adds r0, r4, 0
+ adds r0, 0x28
+ bl sub_801317C
+ add r0, sp, 0x4
+ strh r7, [r0, 0xC]
+ movs r0, 0x7
+ movs r1, 0xC
+ bl sub_80095E4
+ add r2, sp, 0x4
+ adds r1, r2, 0
+ adds r0, 0x2
+ strh r0, [r1, 0x10]
+ strh r0, [r2, 0xE]
+ movs r0, 0xA
+ mov r1, r8
+ strb r0, [r1, 0x2]
+ adds r0, r2, 0
+ mov r1, r9
+ strh r1, [r0, 0x8]
+ movs r1, 0x1
+ bl sub_803ECB4
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_80137B0
+ movs r0, 0
+ bl sub_80073B8
+ ldr r0, _08065DB4
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r4, 0
+ ldr r5, _08065DB8
+_08065D7A:
+ ldr r0, _08065DB0
+ adds r1, r4, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldm r5!, {r2}
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ movs r3, 0
+ bl xxx_format_and_draw
+ adds r4, 0x1
+ cmp r4, 0x6
+ ble _08065D7A
+ movs r0, 0
+ bl sub_80073E0
+ add sp, 0xC8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08065DB0: .4byte gUnknown_202EE10
+_08065DB4: .4byte gUnknown_80FF770
+_08065DB8: .4byte gUnknown_80FF774
+ thumb_func_end sub_8065CAC
+
+ thumb_func_start sub_8065DBC
+sub_8065DBC:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xEC
+ adds r6, r0, 0
+ ldr r0, _08065F28
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x9]
+ negs r0, r1
+ orrs r0, r1
+ lsrs r0, 31
+ str r0, [sp, 0xC8]
+ mov r0, sp
+ adds r0, 0x6C
+ str r0, [sp, 0xD4]
+ mov r1, sp
+ adds r1, 0x70
+ str r1, [sp, 0xD8]
+ mov r2, sp
+ adds r2, 0x72
+ str r2, [sp, 0xDC]
+ adds r0, 0x8
+ str r0, [sp, 0xE0]
+ adds r1, 0xC
+ str r1, [sp, 0xE4]
+ adds r2, 0x22
+ str r2, [sp, 0xE8]
+ adds r0, 0x38
+ str r0, [sp, 0xD0]
+ subs r1, 0x18
+ str r1, [sp, 0xCC]
+ movs r2, 0x10
+ mov r10, r2
+ ldr r5, _08065F2C
+ add r0, sp, 0xC4
+ mov r9, r0
+ add r1, sp, 0x4
+ mov r8, r1
+_08065E0C:
+ movs r7, 0
+ ldr r0, [sp, 0xCC]
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [sp, 0x68]
+ movs r0, 0x2
+ ldr r2, [sp, 0xD4]
+ strh r0, [r2]
+ strh r0, [r2, 0x2]
+ movs r0, 0xC
+ ldr r1, [sp, 0xD8]
+ strh r0, [r1]
+ mov r0, r10
+ ldr r2, [sp, 0xDC]
+ strh r0, [r2]
+ ldr r1, [sp, 0xE0]
+ strh r0, [r1]
+ mov r2, r9
+ str r2, [sp, 0x78]
+ movs r0, 0x3
+ ldr r1, [sp, 0xE4]
+ str r0, [r1, 0x4]
+ ldr r2, [sp, 0xE8]
+ str r0, [r2, 0x4]
+ ldr r1, [sp, 0xD0]
+ str r0, [r1, 0x4]
+ add r0, sp, 0x4
+ ldr r1, [sp, 0xCC]
+ movs r2, 0x60
+ bl memcpy
+ movs r1, 0x7
+ add r0, sp, 0xC4
+ strb r1, [r0]
+ mov r2, r9
+ strb r6, [r2, 0x1]
+ movs r0, 0
+ strb r0, [r2, 0x3]
+ strh r6, [r5, 0x1E]
+ strh r1, [r5, 0x20]
+ strh r7, [r5, 0x1A]
+ strh r7, [r5, 0x18]
+ strh r7, [r5, 0x1C]
+ strh r7, [r5, 0x4]
+ mov r1, r10
+ strh r1, [r5, 0x6]
+ strh r7, [r5, 0x14]
+ str r7, [r5]
+ adds r0, r5, 0
+ adds r0, 0x28
+ bl sub_801317C
+ movs r0, 0x18
+ mov r2, r8
+ strh r0, [r2, 0xC]
+ movs r0, 0x8
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ mov r1, r8
+ strh r0, [r1, 0x10]
+ strh r0, [r1, 0xE]
+ movs r0, 0xA
+ mov r2, r9
+ strb r0, [r2, 0x2]
+ movs r0, 0x2
+ strh r0, [r1, 0x8]
+ add r0, sp, 0x4
+ movs r1, 0x1
+ bl sub_803ECB4
+ ldr r1, _08065F30
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ adds r0, 0x13
+ lsls r0, 3
+ strh r0, [r5, 0xC]
+ movs r2, 0x2
+ ldrsh r0, [r1, r2]
+ adds r0, 0x1
+ lsls r0, 3
+ subs r0, 0x2
+ strh r0, [r5, 0xE]
+ movs r0, 0
+ bl sub_80073B8
+ lsls r0, r6, 3
+ adds r0, 0x10
+ ldr r1, _08065F34
+ lsls r4, r6, 2
+ adds r1, r4, r1
+ ldr r2, [r1]
+ str r7, [sp]
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ ldr r1, _08065F38
+ ldr r2, [sp, 0xC8]
+ lsls r0, r2, 5
+ adds r4, r0
+ adds r4, r1
+ ldr r2, [r4]
+ str r7, [sp]
+ movs r0, 0x8
+ movs r1, 0x10
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r0, 0
+ bl sub_80073E0
+_08065EF4:
+ adds r0, r5, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x24
+ bl sub_803E46C
+ ldr r0, _08065F3C
+ ldrh r1, [r0, 0x2]
+ mov r0, r10
+ ands r0, r1
+ cmp r0, 0
+ bne _08065F16
+ adds r0, r5, 0
+ adds r0, 0x2B
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08065F40
+_08065F16:
+ movs r0, 0
+ bl sub_8083CE0
+ adds r6, 0x1
+ cmp r6, 0x7
+ bne _08065F64
+ movs r6, 0
+ b _08065F64
+ .align 2, 0
+_08065F28: .4byte gUnknown_203B46C
+_08065F2C: .4byte gUnknown_202EE10
+_08065F30: .4byte gUnknown_2027370
+_08065F34: .4byte gUnknown_80FF774
+_08065F38: .4byte gUnknown_80FF7EC
+_08065F3C: .4byte gRealInputs
+_08065F40:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ bne _08065F52
+ adds r0, r5, 0
+ adds r0, 0x2C
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08065F68
+_08065F52:
+ movs r0, 0
+ bl sub_8083CE0
+ subs r6, 0x1
+ movs r0, 0x1
+ negs r0, r0
+ cmp r6, r0
+ bne _08065F64
+ movs r6, 0x6
+_08065F64:
+ movs r7, 0x1
+ b _08065F94
+_08065F68:
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08065F7A
+ adds r0, r5, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08065F80
+_08065F7A:
+ bl sub_8083D08
+ b _08065F94
+_08065F80:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08065F90
+ ldr r1, _08065FB0
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08065EF4
+_08065F90:
+ bl sub_8083D30
+_08065F94:
+ movs r0, 0x24
+ bl sub_803E46C
+ cmp r7, 0
+ beq _08065FA0
+ b _08065E0C
+_08065FA0:
+ add sp, 0xEC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08065FB0: .4byte gUnknown_202EE3A
+ thumb_func_end sub_8065DBC
+
+ thumb_func_start sub_8065FB4
+sub_8065FB4:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r4, _08065FE0
+ add sp, r4
+ movs r0, 0
+ mov r10, r0
+ ldr r4, _08065FE4
+ ldr r0, [r4]
+ ldr r1, _08065FE8
+ adds r0, r1
+ ldrb r0, [r0]
+ bl GetRecruitable
+ lsls r0, 24
+ cmp r0, 0
+ bne _08065FF0
+ ldr r0, _08065FEC
+ b _08065FFE
+ .align 2, 0
+_08065FE0: .4byte 0xfffff608
+_08065FE4: .4byte gDungeonGlobalData
+_08065FE8: .4byte 0x00000644
+_08065FEC: .4byte gUnknown_80FA5F4
+_08065FF0:
+ ldr r0, [r4]
+ ldr r2, _0806600C
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08066014
+ ldr r0, _08066010
+_08065FFE:
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+ b _08066194
+ .align 2, 0
+_0806600C: .4byte 0x0000065d
+_08066010: .4byte gUnknown_80FA61C
+_08066014:
+ mov r0, sp
+ bl sub_80664FC
+ ldr r6, _08066130
+_0806601C:
+ movs r0, 0
+ mov r8, r0
+ mov r1, r10
+ lsls r0, r1, 2
+ add r0, r10
+ lsls r0, 6
+ subs r0, r1
+ lsls r0, 2
+ add r0, sp
+ mov r9, r0
+ ldr r0, _08066134
+ strb r1, [r0, 0x1]
+ ldr r0, _08066138
+ movs r1, 0x1
+ bl sub_803ECB4
+ mov r2, r8
+ strh r2, [r6, 0x1A]
+ strh r2, [r6, 0x18]
+ strh r2, [r6, 0x1C]
+ mov r0, r10
+ strh r0, [r6, 0x1E]
+ movs r0, 0x2
+ strh r0, [r6, 0x20]
+ strh r2, [r6, 0x4]
+ movs r0, 0x10
+ strh r0, [r6, 0x6]
+ strh r2, [r6, 0x14]
+ mov r1, r8
+ str r1, [r6]
+ adds r0, r6, 0
+ adds r0, 0x28
+ bl sub_801317C
+ ldr r0, _0806613C
+ mov r2, r8
+ str r2, [r0]
+ movs r1, 0
+ ldr r0, _08066140
+ strb r1, [r0]
+ mov r0, r9
+ mov r1, r10
+ bl sub_80661AC
+ ldr r1, _08066144
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ adds r0, 0x10
+ lsls r0, 3
+ strh r0, [r6, 0xC]
+ movs r2, 0x2
+ ldrsh r0, [r1, r2]
+ adds r0, 0x1
+ lsls r0, 3
+ subs r0, 0x2
+ strh r0, [r6, 0xE]
+_0806608C:
+ movs r5, 0
+ ldr r0, _08066140
+ strb r5, [r0]
+ movs r0, 0
+ ldr r1, _08066148
+ bl sub_8014140
+ adds r4, r0, 0
+ mov r0, r9
+ adds r1, r4, 0
+ bl sub_8066288
+ lsls r0, 24
+ lsrs r0, 24
+ negs r1, r0
+ orrs r1, r0
+ lsrs r5, r1, 31
+ mov r0, r9
+ adds r1, r4, 0
+ bl sub_8066358
+ lsls r0, 24
+ cmp r0, 0
+ beq _080660BE
+ movs r5, 0x1
+_080660BE:
+ cmp r5, 0
+ bne _080660CE
+ ldr r0, _08066130
+ bl AddMenuCursorSprite
+ movs r0, 0x45
+ bl sub_803E46C
+_080660CE:
+ ldr r2, _08066140
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080660E2
+ movs r0, 0x1
+ movs r1, 0x8
+ bl sub_8066434
+_080660E2:
+ ldr r0, _08066140
+ ldrb r1, [r0]
+ movs r7, 0x2
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080660F8
+ movs r0, 0
+ movs r1, 0x70
+ bl sub_8066434
+_080660F8:
+ ldr r5, _0806614C
+ ldrh r1, [r5, 0x2]
+ movs r0, 0x30
+ ands r0, r1
+ cmp r0, 0
+ bne _0806611A
+ ldr r4, _08066130
+ adds r0, r4, 0
+ adds r0, 0x2C
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0806611A
+ adds r0, r4, 0
+ adds r0, 0x2B
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08066150
+_0806611A:
+ movs r0, 0
+ bl sub_8083CE0
+ movs r0, 0
+ mov r1, r10
+ cmp r1, 0
+ bne _0806612A
+ movs r0, 0x1
+_0806612A:
+ mov r10, r0
+ b _08066184
+ .align 2, 0
+_08066130: .4byte gUnknown_202EE10
+_08066134: .4byte gUnknown_203B43C
+_08066138: .4byte gUnknown_8106D08
+_0806613C: .4byte gUnknown_202F2F8
+_08066140: .4byte gUnknown_202F2FC
+_08066144: .4byte gUnknown_2027370
+_08066148: .4byte gUnknown_8106D68
+_0806614C: .4byte gRealInputs
+_08066150:
+ bl sub_80048C8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0806608C
+ ldrh r1, [r5, 0x2]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _0806616E
+ adds r0, r4, 0
+ adds r0, 0x2A
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08066174
+_0806616E:
+ bl sub_8083D30
+ b _0806618C
+_08066174:
+ movs r0, 0xC
+ ands r0, r1
+ cmp r0, 0
+ beq _0806608C
+ bl sub_8083D08
+ movs r2, 0x1
+ mov r8, r2
+_08066184:
+ mov r0, r8
+ cmp r0, 0
+ bne _0806618C
+ b _0806601C
+_0806618C:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+_08066194:
+ ldr r3, _080661A8
+ add sp, r3
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080661A8: .4byte 0x000009f8
+ thumb_func_end sub_8065FB4
+
+ thumb_func_start sub_80661AC
+sub_80661AC:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x44
+ adds r6, r0, 0
+ adds r5, r1, 0
+ ldr r0, _080661DC
+ ldr r4, [r0]
+ movs r0, 0x20
+ mov r8, r0
+ movs r0, 0
+ bl sub_80073B8
+ cmp r5, 0
+ bne _080661E4
+ ldr r0, _080661E0
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0xC
+ movs r1, 0
+ movs r3, 0
+ bl xxx_call_draw_string
+ b _080661F6
+ .align 2, 0
+_080661DC: .4byte gUnknown_202F2F8
+_080661E0: .4byte gUnknown_80FEA68
+_080661E4:
+ ldr r0, _08066254
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x14
+ movs r1, 0
+ movs r3, 0
+ bl xxx_call_draw_string
+_080661F6:
+ movs r1, 0x9F
+ lsls r1, 3
+ adds r0, r6, r1
+ ldr r1, [r0]
+ cmp r1, 0
+ beq _08066260
+ movs r7, 0x7
+ lsls r0, r4, 1
+ adds r5, r0, r6
+_08066208:
+ cmp r4, 0
+ blt _08066244
+ movs r1, 0x9F
+ lsls r1, 3
+ adds r0, r6, r1
+ ldr r0, [r0]
+ cmp r4, r0
+ bge _08066244
+ movs r1, 0xD4
+ lsls r1, 2
+ adds r0, r6, r1
+ adds r0, r4
+ ldrb r2, [r0]
+ add r0, sp, 0x4
+ ldr r1, _08066258
+ bl ExpandPlaceholdersBuffer
+ movs r0, 0
+ ldrsh r1, [r5, r0]
+ ldr r0, _0806625C
+ bl sub_808D930
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ mov r1, r8
+ add r2, sp, 0x4
+ movs r3, 0
+ bl xxx_format_and_draw
+_08066244:
+ subs r7, 0x1
+ adds r5, 0x2
+ adds r4, 0x1
+ movs r1, 0xC
+ add r8, r1
+ cmp r7, 0
+ bge _08066208
+ b _08066270
+ .align 2, 0
+_08066254: .4byte gUnknown_80FEA80
+_08066258: .4byte gUnknown_8106D8C
+_0806625C: .4byte gAvailablePokemonNames
+_08066260:
+ ldr r0, _08066284
+ ldr r2, [r0]
+ str r1, [sp]
+ movs r0, 0x8
+ mov r1, r8
+ movs r3, 0
+ bl xxx_call_draw_string
+_08066270:
+ movs r0, 0
+ bl sub_80073E0
+ add sp, 0x44
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08066284: .4byte gUnknown_80FEA8C
+ thumb_func_end sub_80661AC
+
+ thumb_func_start sub_8066288
+sub_8066288:
+ push {r4,r5,lr}
+ sub sp, 0x44
+ adds r5, r0, 0
+ adds r3, r1, 0
+ ldr r0, _080662B8
+ ldr r4, [r0]
+ cmp r4, 0
+ beq _080662B4
+ subs r4, 0x1
+ ldr r2, _080662BC
+ ldrb r0, [r2]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, _080662C0
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _080662C4
+ cmp r3, 0x1
+ beq _080662C4
+_080662B4:
+ movs r0, 0
+ b _0806633E
+ .align 2, 0
+_080662B8: .4byte gUnknown_202F2F8
+_080662BC: .4byte gUnknown_202F2FC
+_080662C0: .4byte gRealInputs
+_080662C4:
+ movs r0, 0
+ bl sub_8083CE0
+ movs r0, 0
+ bl sub_80073B8
+ movs r0, 0x10
+ str r0, [sp]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0x90
+ bl sub_80087EC
+ ldr r1, _08066348
+ movs r2, 0xD4
+ lsls r2, 2
+ adds r0, r5, r2
+ adds r0, r4
+ ldrb r2, [r0]
+ add r0, sp, 0x4
+ bl ExpandPlaceholdersBuffer
+ ldr r0, _0806634C
+ lsls r1, r4, 1
+ adds r1, r5, r1
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ bl sub_808D930
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ movs r1, 0x14
+ add r2, sp, 0x4
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r0, 0
+ bl sub_80073E0
+ movs r0, 0x45
+ bl sub_803E46C
+ ldr r5, _08066350
+ movs r4, 0x5
+_08066320:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x45
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08066320
+ ldr r1, _08066354
+ ldr r0, [r1]
+ subs r0, 0x1
+ str r0, [r1]
+ movs r0, 0x1
+_0806633E:
+ add sp, 0x44
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08066348: .4byte gUnknown_8106D8C
+_0806634C: .4byte gAvailablePokemonNames
+_08066350: .4byte gUnknown_203B084
+_08066354: .4byte gUnknown_202F2F8
+ thumb_func_end sub_8066288
+
+ thumb_func_start sub_8066358
+sub_8066358:
+ push {r4-r6,lr}
+ sub sp, 0x44
+ adds r5, r0, 0
+ adds r3, r1, 0
+ ldr r0, _08066394
+ ldr r0, [r0]
+ adds r4, r0, 0
+ adds r4, 0x8
+ movs r6, 0x80
+ movs r1, 0x9F
+ lsls r1, 3
+ adds r0, r5, r1
+ ldr r0, [r0]
+ cmp r0, r4
+ ble _08066390
+ ldr r2, _08066398
+ ldrb r0, [r2]
+ movs r1, 0x2
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, _0806639C
+ ldrh r1, [r0, 0x4]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _080663A0
+ cmp r3, 0x2
+ beq _080663A0
+_08066390:
+ movs r0, 0
+ b _0806641A
+ .align 2, 0
+_08066394: .4byte gUnknown_202F2F8
+_08066398: .4byte gUnknown_202F2FC
+_0806639C: .4byte gRealInputs
+_080663A0:
+ movs r0, 0
+ bl sub_8083CE0
+ movs r0, 0
+ bl sub_80073B8
+ movs r0, 0x10
+ str r0, [sp]
+ movs r0, 0
+ movs r1, 0
+ adds r2, r6, 0
+ movs r3, 0x48
+ bl sub_80087EC
+ ldr r1, _08066424
+ movs r2, 0xD4
+ lsls r2, 2
+ adds r0, r5, r2
+ adds r0, r4
+ ldrb r2, [r0]
+ add r0, sp, 0x4
+ bl ExpandPlaceholdersBuffer
+ ldr r0, _08066428
+ lsls r1, r4, 1
+ adds r1, r5, r1
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ bl sub_808D930
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ adds r1, r6, 0
+ add r2, sp, 0x4
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r0, 0
+ bl sub_80073E0
+ movs r0, 0xD
+ bl sub_803E46C
+ ldr r5, _0806642C
+ movs r4, 0x5
+_080663FC:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0xD
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _080663FC
+ ldr r1, _08066430
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ movs r0, 0x1
+_0806641A:
+ add sp, 0x44
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08066424: .4byte gUnknown_8106D8C
+_08066428: .4byte gAvailablePokemonNames
+_0806642C: .4byte gUnknown_203B080
+_08066430: .4byte gUnknown_202F2F8
+ thumb_func_end sub_8066358
+
+ thumb_func_start sub_8066434
+sub_8066434:
+ push {r4-r7,lr}
+ mov r12, r1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r7, _080664C8
+ ldr r0, _080664CC
+ ldr r0, [r0]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _080664C0
+ ldr r0, _080664D0
+ ldrh r1, [r0]
+ ldr r3, _080664D4
+ ands r3, r1
+ ldr r1, _080664D8
+ ands r3, r1
+ ldr r1, _080664DC
+ ands r3, r1
+ ldr r1, _080664E0
+ ands r3, r1
+ ldr r1, _080664E4
+ ands r3, r1
+ negs r1, r2
+ orrs r1, r2
+ asrs r1, 31
+ movs r2, 0x80
+ lsls r2, 6
+ ands r2, r1
+ ldrh r1, [r0, 0x2]
+ ldr r4, _080664E8
+ ands r4, r1
+ orrs r4, r2
+ movs r5, 0xF
+ ldr r2, _080664EC
+ movs r6, 0x2
+ ldrsh r1, [r7, r6]
+ lsls r1, 3
+ add r1, r12
+ ands r1, r2
+ lsls r1, 4
+ ldrh r2, [r0, 0x6]
+ ands r5, r2
+ orrs r5, r1
+ strh r5, [r0, 0x6]
+ movs r2, 0
+ ldrsh r1, [r7, r2]
+ lsls r1, 3
+ adds r1, 0x40
+ ldr r2, _080664F0
+ ands r1, r2
+ movs r2, 0xFE
+ lsls r2, 8
+ ands r4, r2
+ orrs r4, r1
+ movs r2, 0x80
+ lsls r2, 7
+ ldr r1, _080664F4
+ ands r3, r1
+ orrs r3, r2
+ strh r3, [r0]
+ ands r4, r1
+ strh r4, [r0, 0x2]
+ ldr r1, _080664F8
+ strh r1, [r0, 0x4]
+ movs r1, 0x7F
+ movs r2, 0
+ movs r3, 0
+ bl AddSprite
+_080664C0:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080664C8: .4byte gUnknown_2027370
+_080664CC: .4byte gUnknown_202EDCC
+_080664D0: .4byte gUnknown_202F300
+_080664D4: .4byte 0x0000feff
+_080664D8: .4byte 0x0000fdff
+_080664DC: .4byte 0x0000f3ff
+_080664E0: .4byte 0x0000efff
+_080664E4: .4byte 0x0000dfff
+_080664E8: .4byte 0x0000c1ff
+_080664EC: .4byte 0x00000fff
+_080664F0: .4byte 0x000001ff
+_080664F4: .4byte 0x00003fff
+_080664F8: .4byte 0x0000f3f0
+ thumb_func_end sub_8066434
+
+ thumb_func_start sub_80664FC
+sub_80664FC:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x1C0
+ str r0, [sp, 0x1A8]
+ movs r7, 0
+ ldr r2, _08066604
+ ldr r3, _08066608
+ movs r1, 0
+_08066512:
+ mov r4, sp
+ adds r0, r4, r7
+ strb r1, [r0]
+ adds r7, 0x1
+ cmp r7, r2
+ ble _08066512
+ movs r4, 0
+ adds r1, r3, 0
+ ldr r0, [r3]
+ ldr r7, _0806660C
+ adds r0, r7
+ ldr r0, [r0]
+ cmp r4, r0
+ bge _08066578
+ ldr r6, _08066610
+_08066530:
+ movs r5, 0x1
+ ldr r2, [r1]
+ lsls r0, r4, 3
+ adds r0, r2, r0
+ ldr r7, _08066614
+ adds r1, r0, r7
+ movs r7, 0
+ ldrsh r1, [r1, r7]
+ movs r7, 0xD1
+ lsls r7, 6
+ adds r0, r7
+ movs r7, 0
+ ldrsh r0, [r0, r7]
+ cmp r1, 0
+ bne _08066554
+ cmp r0, 0
+ beq _08066566
+ movs r5, 0x2
+_08066554:
+ adds r0, r2, r6
+ str r3, [sp, 0x1BC]
+ bl ExtractSpeciesIndex
+ lsls r0, 16
+ asrs r0, 16
+ add r0, sp
+ strb r5, [r0]
+ ldr r3, [sp, 0x1BC]
+_08066566:
+ adds r6, 0x8
+ adds r4, 0x1
+ ldr r1, _08066608
+ ldr r0, [r1]
+ ldr r2, _0806660C
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r4, r0
+ blt _08066530
+_08066578:
+ ldr r0, [r3]
+ ldr r4, _08066618
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0806658A
+ add r1, sp, 0x17C
+ movs r0, 0x1
+ strb r0, [r1]
+_0806658A:
+ movs r0, 0x5
+_0806658C:
+ subs r0, 0x1
+ cmp r0, 0
+ bge _0806658C
+ movs r7, 0
+_08066594:
+ movs r0, 0
+ mov r8, r0
+ movs r1, 0x1
+ adds r2, r7, 0x1
+ str r2, [sp, 0x1AC]
+ lsls r4, r7, 2
+ str r4, [sp, 0x1B0]
+_080665A2:
+ lsls r0, r1, 16
+ asrs r6, r0, 16
+ movs r0, 0x7
+ mov r10, r0
+ movs r2, 0
+ mov r9, r2
+ mov r4, sp
+ adds r0, r4, r6
+ ldrb r0, [r0]
+ adds r1, 0x1
+ str r1, [sp, 0x1B4]
+ cmp r0, 0
+ bne _080665BE
+ b _08066704
+_080665BE:
+ cmp r7, 0
+ bne _08066620
+ adds r0, r6, 0
+ bl sub_806F9BC
+ lsls r0, 24
+ cmp r0, 0
+ bne _080665D0
+ b _08066704
+_080665D0:
+ adds r0, r6, 0
+ bl IsExclusivePokemonUnlocked
+ lsls r0, 24
+ cmp r0, 0
+ bne _080665DE
+ b _08066704
+_080665DE:
+ adds r0, r6, 0
+ bl GetBaseRecruit
+ lsls r0, 16
+ ldr r1, _0806661C
+ cmp r0, r1
+ bne _080665EE
+ b _08066704
+_080665EE:
+ cmp r6, 0x97
+ bne _0806669E
+ movs r0, 0x7A
+ bl sub_80860A8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08066600
+ b _08066704
+_08066600:
+ b _0806669E
+ .align 2, 0
+_08066604: .4byte 0x000001a7
+_08066608: .4byte gDungeonGlobalData
+_0806660C: .4byte 0x000037e4
+_08066610: .4byte 0x0000343c
+_08066614: .4byte 0x0000343e
+_08066618: .4byte 0x0000066e
+_0806661C: .4byte 0xfc190000
+_08066620:
+ movs r5, 0
+ ldr r0, _080666CC
+ ldr r2, [r0]
+ movs r4, 0x1
+ movs r3, 0xCE
+ lsls r3, 1
+_0806662C:
+ ldrb r1, [r2]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0806663E
+ movs r1, 0x8
+ ldrsh r0, [r2, r1]
+ cmp r0, r6
+ beq _08066646
+_0806663E:
+ adds r2, 0x58
+ adds r5, 0x1
+ cmp r5, r3
+ ble _0806662C
+_08066646:
+ ldr r0, _080666D0
+ cmp r5, r0
+ beq _08066650
+ movs r2, 0x1
+ mov r9, r2
+_08066650:
+ mov r4, r9
+ cmp r4, 0
+ bne _0806669E
+ movs r5, 0
+ ldr r2, _080666CC
+_0806665A:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, _080666D4
+ adds r1, r0
+ ldr r0, [r2]
+ adds r4, r0, r1
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0806668C
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ str r2, [sp, 0x1B8]
+ bl sub_806A564
+ lsls r0, 24
+ ldr r2, [sp, 0x1B8]
+ cmp r0, 0
+ bne _0806668C
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ cmp r0, r6
+ beq _08066692
+_0806668C:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _0806665A
+_08066692:
+ cmp r5, 0x4
+ beq _0806669E
+ movs r2, 0x1
+ mov r9, r2
+ movs r4, 0x6
+ mov r10, r4
+_0806669E:
+ cmp r7, 0
+ bne _080666D8
+ mov r1, sp
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _080666B0
+ movs r2, 0x2
+ mov r10, r2
+_080666B0:
+ mov r4, r8
+ lsls r0, r4, 1
+ ldr r1, [sp, 0x1A8]
+ adds r0, r1, r0
+ strh r6, [r0]
+ movs r2, 0xD4
+ lsls r2, 2
+ adds r0, r1, r2
+ add r0, r8
+ mov r4, r10
+ strb r4, [r0]
+ movs r0, 0x1
+ add r8, r0
+ b _08066704
+ .align 2, 0
+_080666CC: .4byte gRecruitedPokemonRef
+_080666D0: .4byte 0x0000019d
+_080666D4: .4byte 0x00008df8
+_080666D8:
+ mov r1, r9
+ cmp r1, 0
+ beq _08066704
+ ldr r2, [sp, 0x1B0]
+ adds r0, r2, r7
+ lsls r0, 6
+ subs r0, r7
+ lsls r0, 2
+ ldr r4, [sp, 0x1A8]
+ adds r0, r4
+ mov r2, r8
+ lsls r1, r2, 1
+ adds r1, r0, r1
+ strh r6, [r1]
+ movs r4, 0xD4
+ lsls r4, 2
+ adds r0, r4
+ add r0, r8
+ mov r1, r10
+ strb r1, [r0]
+ movs r2, 0x1
+ add r8, r2
+_08066704:
+ ldr r1, [sp, 0x1B4]
+ ldr r0, _08066740
+ cmp r1, r0
+ bgt _0806670E
+ b _080665A2
+_0806670E:
+ ldr r4, [sp, 0x1B0]
+ adds r0, r4, r7
+ lsls r0, 6
+ subs r0, r7
+ lsls r0, 2
+ ldr r7, [sp, 0x1A8]
+ adds r0, r7
+ movs r1, 0x9F
+ lsls r1, 3
+ adds r0, r1
+ mov r2, r8
+ str r2, [r0]
+ ldr r7, [sp, 0x1AC]
+ cmp r7, 0x1
+ bgt _0806672E
+ b _08066594
+_0806672E:
+ add sp, 0x1C0
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08066740: .4byte 0x000001a3
+ thumb_func_end sub_80664FC
+
+ thumb_func_start sub_8066744
+sub_8066744:
+ push {lr}
+ ldr r1, [r0, 0x70]
+ adds r1, 0x48
+ movs r2, 0x1
+ strb r2, [r1]
+ adds r0, 0x4
+ movs r1, 0
+ bl sub_8045DB4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8066744
+
+ thumb_func_start sub_806675C
+sub_806675C:
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ movs r1, 0
+ movs r2, 0xFE
+ bl sub_8044D90
+ adds r4, r0, 0
+ movs r3, 0
+ ldr r6, _080667C0
+_08066772:
+ lsls r1, r3, 2
+ ldr r0, [r6]
+ adds r1, r0, r1
+ ldrb r2, [r1]
+ movs r0, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _08066798
+ movs r0, 0x10
+ ands r0, r2
+ cmp r0, 0
+ beq _08066798
+ movs r0, 0x8
+ ands r0, r2
+ cmp r0, 0
+ bne _080667EC
+ movs r0, 0xEF
+ ands r0, r2
+ strb r0, [r1]
+_08066798:
+ adds r3, 0x1
+ cmp r3, 0x13
+ ble _08066772
+ ldr r0, _080667C4
+ adds r1, r4, 0
+ bl sub_8045BF8
+ ldr r0, _080667C8
+ bl PlaySoundEffect
+ cmp r7, 0
+ beq _08066812
+ ldrb r1, [r4]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _080667D0
+ ldr r0, _080667CC
+ b _080667DE
+ .align 2, 0
+_080667C0: .4byte gTeamInventory_203B460
+_080667C4: .4byte gUnknown_202DE58
+_080667C8: .4byte 0x00000133
+_080667CC: .4byte gUnknown_80F8D04
+_080667D0:
+ ldrb r0, [r4, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ cmp r0, 0
+ bne _08066808
+ ldr r0, _080667E8
+_080667DE:
+ ldr r1, [r0]
+ adds r0, r5, 0
+ bl SendMessage
+ b _08066812
+ .align 2, 0
+_080667E8: .4byte gUnknown_80F8CE4
+_080667EC:
+ ldr r0, _08066800
+ bl sub_8045BF8
+ ldr r0, _08066804
+ ldr r1, [r0]
+ adds r0, r5, 0
+ bl SendMessage
+ b _08066838
+ .align 2, 0
+_08066800: .4byte gUnknown_202DE58
+_08066804: .4byte gUnknown_80F8C7C
+_08066808:
+ ldr r0, _08066840
+ ldr r1, [r0]
+ adds r0, r5, 0
+ bl SendMessage
+_08066812:
+ ldrb r0, [r4]
+ movs r1, 0x10
+ orrs r1, r0
+ strb r1, [r4]
+ movs r0, 0x8
+ ands r1, r0
+ cmp r1, 0
+ beq _08066838
+ cmp r7, 0
+ beq _08066838
+ ldr r0, _08066844
+ adds r1, r4, 0
+ bl sub_8045BF8
+ ldr r0, _08066848
+ ldr r1, [r0]
+ adds r0, r5, 0
+ bl SendMessage
+_08066838:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08066840: .4byte gUnknown_80F8CE8
+_08066844: .4byte gUnknown_202DE58
+_08066848: .4byte gUnknown_80F8BE0
+ thumb_func_end sub_806675C
+
+ thumb_func_start sub_806684C
+sub_806684C:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ lsls r1, 24
+ lsrs r6, r1, 24
+ movs r4, 0
+_08066856:
+ ldr r0, _0806688C
+ lsls r1, r4, 2
+ ldr r0, [r0]
+ adds r1, r0, r1
+ ldrb r2, [r1]
+ movs r0, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _080668B8
+ movs r0, 0x10
+ ands r0, r2
+ cmp r0, 0
+ beq _080668B8
+ movs r0, 0x8
+ ands r0, r2
+ cmp r0, 0
+ beq _08066898
+ ldr r0, _08066890
+ bl sub_8045BF8
+ ldr r0, _08066894
+ ldr r1, [r0]
+ adds r0, r5, 0
+ bl SendMessage
+ b _080668BE
+ .align 2, 0
+_0806688C: .4byte gTeamInventory_203B460
+_08066890: .4byte gUnknown_202DE58
+_08066894: .4byte gUnknown_80F8C7C
+_08066898:
+ movs r0, 0xEF
+ ands r0, r2
+ strb r0, [r1]
+ ldr r0, _080668C4
+ bl sub_8045BF8
+ ldr r0, _080668C8
+ bl PlaySoundEffect
+ cmp r6, 0
+ beq _080668B8
+ ldr r0, _080668CC
+ ldr r1, [r0]
+ adds r0, r5, 0
+ bl SendMessage
+_080668B8:
+ adds r4, 0x1
+ cmp r4, 0x13
+ ble _08066856
+_080668BE:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080668C4: .4byte gUnknown_202DE58
+_080668C8: .4byte 0x00000133
+_080668CC: .4byte gUnknown_80F8D20
+ thumb_func_end sub_806684C
+
+ thumb_func_start sub_80668D0
+sub_80668D0:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0xC
+ adds r6, r0, 0
+ movs r1, 0x1
+ bl sub_8044DA4
+ mov r8, r0
+ ldr r4, [r6, 0x70]
+ ldr r7, [r0, 0x70]
+ adds r0, r6, 0
+ movs r1, 0
+ movs r2, 0x2
+ bl sub_8044D90
+ adds r5, r0, 0
+ adds r4, 0x48
+ ldrb r0, [r4]
+ movs r1, 0
+ mov r9, r1
+ cmp r0, 0x80
+ bne _08066904
+ movs r2, 0x1
+ mov r9, r2
+_08066904:
+ mov r0, r9
+ cmp r0, 0
+ bne _08066928
+ ldrb r1, [r5]
+ movs r0, 0x18
+ ands r0, r1
+ cmp r0, 0x18
+ bne _08066928
+ ldr r0, _08066920
+ adds r1, r5, 0
+ bl sub_8045BF8
+ ldr r0, _08066924
+ b _08066950
+ .align 2, 0
+_08066920: .4byte gUnknown_202DEA8
+_08066924: .4byte gUnknown_80F8C44
+_08066928:
+ ldr r0, _0806695C
+ mov r1, r8
+ movs r2, 0
+ bl SetMessageArgument
+ adds r1, r7, 0
+ adds r1, 0x60
+ ldrb r2, [r1]
+ movs r0, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _08066A04
+ movs r0, 0x8
+ ands r0, r2
+ cmp r0, 0
+ beq _08066968
+ ldr r0, _08066960
+ bl sub_8045BF8
+ ldr r0, _08066964
+_08066950:
+ ldr r1, [r0]
+ adds r0, r6, 0
+ bl SendMessage
+ b _08066A96
+ .align 2, 0
+_0806695C: .4byte gUnknown_202DFE8
+_08066960: .4byte gUnknown_202DEA8
+_08066964: .4byte gUnknown_80F8C40
+_08066968:
+ ldr r1, [r7, 0x60]
+ str r1, [sp]
+ ldr r2, [r5]
+ str r2, [sp, 0x4]
+ movs r4, 0xEF
+ mov r0, sp
+ ldrb r0, [r0]
+ ands r0, r4
+ ldr r3, _080669A8
+ ands r1, r3
+ orrs r1, r0
+ str r1, [sp]
+ add r5, sp, 0x4
+ ldrb r0, [r5]
+ ands r0, r4
+ ands r2, r3
+ orrs r2, r0
+ str r2, [sp, 0x4]
+ adds r0, r6, 0
+ movs r1, 0
+ movs r2, 0x64
+ bl sub_8044DF0
+ mov r1, r9
+ cmp r1, 0
+ beq _080669AC
+ adds r0, r6, 0x4
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_80460F8
+ b _080669B2
+ .align 2, 0
+_080669A8: .4byte 0xffffff00
+_080669AC:
+ mov r0, sp
+ bl AddItemToInventory
+_080669B2:
+ ldr r0, [sp, 0x4]
+ str r0, [r7, 0x60]
+ ldr r4, _080669F4
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8045BF8
+ adds r4, 0x50
+ adds r0, r4, 0
+ mov r1, sp
+ bl sub_8045BF8
+ ldr r0, _080669F8
+ bl PlaySoundEffect
+ ldr r0, _080669FC
+ ldr r1, [r0]
+ adds r0, r6, 0
+ bl SendMessage
+ add r0, sp, 0x4
+ ldrb r1, [r0]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08066A52
+ ldr r0, _08066A00
+ ldr r1, [r0]
+ adds r0, r6, 0
+ bl SendMessage
+ b _08066A52
+ .align 2, 0
+_080669F4: .4byte gUnknown_202DE58
+_080669F8: .4byte 0x0000014d
+_080669FC: .4byte gUnknown_80F8CA8
+_08066A00: .4byte gUnknown_80F8BE0
+_08066A04:
+ ldr r2, [r5]
+ str r2, [sp, 0x8]
+ movs r1, 0xEF
+ add r4, sp, 0x8
+ ldrb r0, [r4]
+ ands r0, r1
+ ldr r1, _08066AA4
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp, 0x8]
+ adds r0, r6, 0
+ movs r1, 0
+ movs r2, 0x65
+ bl sub_8044DF0
+ ldr r0, [sp, 0x8]
+ str r0, [r7, 0x60]
+ ldr r0, _08066AA8
+ adds r1, r4, 0
+ bl sub_8045BF8
+ ldr r0, _08066AAC
+ bl PlaySoundEffect
+ ldr r0, _08066AB0
+ ldr r1, [r0]
+ adds r0, r6, 0
+ bl SendMessage
+ ldrb r1, [r4]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08066A52
+ ldr r0, _08066AB4
+ ldr r1, [r0]
+ adds r0, r6, 0
+ bl SendMessage
+_08066A52:
+ mov r0, r8
+ bl sub_806A6E8
+ mov r1, r8
+ adds r1, 0x4
+ mov r0, r8
+ bl sub_80706A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08066A74
+ adds r0, r6, 0
+ mov r1, r8
+ movs r2, 0
+ movs r3, 0
+ bl sub_807D148
+_08066A74:
+ ldrb r0, [r7, 0x7]
+ cmp r0, 0
+ bne _08066A86
+ ldrh r1, [r7]
+ movs r2, 0x80
+ lsls r2, 7
+ adds r0, r2, 0
+ orrs r0, r1
+ strh r0, [r7]
+_08066A86:
+ ldr r0, _08066AB8
+ ldr r0, [r0]
+ ldr r1, _08066ABC
+ adds r0, r1
+ ldrb r1, [r0]
+ adds r0, r6, 0
+ bl sub_807AB38
+_08066A96:
+ add sp, 0xC
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08066AA4: .4byte 0xffffff00
+_08066AA8: .4byte gUnknown_202DE58
+_08066AAC: .4byte 0x0000014d
+_08066AB0: .4byte gUnknown_80F8D44
+_08066AB4: .4byte gUnknown_80F8BE0
+_08066AB8: .4byte gDungeonGlobalData
+_08066ABC: .4byte 0x00003a08
+ thumb_func_end sub_80668D0
+
+ thumb_func_start sub_8066AC0
+sub_8066AC0:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ adds r7, r0, 0
+ movs r1, 0
+ bl sub_8044DA4
+ adds r6, r0, 0
+ ldr r2, [r6, 0x70]
+ mov r8, r2
+ adds r5, r2, 0
+ adds r5, 0x60
+ ldr r0, _08066AF0
+ ldr r0, [r0]
+ adds r0, 0x4C
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08066AF8
+ ldr r0, _08066AF4
+ b _08066B10
+ .align 2, 0
+_08066AF0: .4byte gTeamInventory_203B460
+_08066AF4: .4byte gUnknown_80F8D60
+_08066AF8:
+ ldrb r1, [r5]
+ movs r0, 0x8
+ ands r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ beq _08066B24
+ ldr r0, _08066B1C
+ adds r1, r5, 0
+ bl sub_8045BF8
+ ldr r0, _08066B20
+_08066B10:
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl SendMessage
+ b _08066BAC
+ .align 2, 0
+_08066B1C: .4byte gUnknown_202DE58
+_08066B20: .4byte gUnknown_80F8BE0
+_08066B24:
+ ldr r2, [r2, 0x60]
+ str r2, [sp]
+ movs r1, 0xEF
+ mov r0, sp
+ ldrb r0, [r0]
+ ands r0, r1
+ ldr r1, _08066BB8
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ ldr r0, _08066BBC
+ mov r1, sp
+ bl sub_8045BF8
+ ldr r0, _08066BC0
+ adds r1, r6, 0
+ movs r2, 0
+ bl SetMessageArgument
+ strb r4, [r5, 0x2]
+ strb r4, [r5, 0x1]
+ strb r4, [r5]
+ mov r0, sp
+ bl AddItemToInventory
+ ldr r0, _08066BC4
+ bl PlaySoundEffect
+ ldr r0, _08066BC8
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl SendMessage
+ adds r0, r6, 0
+ bl sub_806A6E8
+ adds r1, r6, 0x4
+ adds r0, r6, 0
+ bl sub_80706A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08066B86
+ adds r0, r7, 0
+ adds r1, r6, 0
+ movs r2, 0
+ movs r3, 0
+ bl sub_807D148
+_08066B86:
+ mov r1, r8
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0
+ bne _08066B9C
+ ldrh r1, [r1]
+ movs r2, 0x80
+ lsls r2, 7
+ adds r0, r2, 0
+ orrs r0, r1
+ mov r1, r8
+ strh r0, [r1]
+_08066B9C:
+ ldr r0, _08066BCC
+ ldr r0, [r0]
+ ldr r2, _08066BD0
+ adds r0, r2
+ ldrb r1, [r0]
+ adds r0, r7, 0
+ bl sub_807AB38
+_08066BAC:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08066BB8: .4byte 0xffffff00
+_08066BBC: .4byte gUnknown_202DE58
+_08066BC0: .4byte gAvailablePokemonNames
+_08066BC4: .4byte 0x0000014d
+_08066BC8: .4byte gUnknown_80F8D7C
+_08066BCC: .4byte gDungeonGlobalData
+_08066BD0: .4byte 0x00003a08
+ thumb_func_end sub_8066AC0
+
+ thumb_func_start sub_8066BD4
+sub_8066BD4:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r7, r0, 0
+ movs r1, 0
+ bl sub_8044DA4
+ mov r9, r0
+ ldr r0, [r0, 0x70]
+ mov r8, r0
+ mov r10, r8
+ mov r6, r8
+ adds r6, 0x60
+ ldr r2, _08066C10
+ adds r0, r7, 0
+ movs r1, 0x1
+ bl sub_8044D90
+ adds r5, r0, 0
+ ldrb r2, [r6]
+ movs r0, 0x8
+ ands r0, r2
+ cmp r0, 0
+ beq _08066C18
+ ldr r0, _08066C14
+ adds r1, r6, 0
+ b _08066C26
+ .align 2, 0
+_08066C10: .4byte 0x00001565
+_08066C14: .4byte gUnknown_202DE58
+_08066C18:
+ ldrb r1, [r5]
+ movs r0, 0x18
+ ands r0, r1
+ cmp r0, 0x18
+ bne _08066C40
+ ldr r0, _08066C38
+ adds r1, r5, 0
+_08066C26:
+ bl sub_8045BF8
+ ldr r0, _08066C3C
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl SendMessage
+ b _08066CC8
+ .align 2, 0
+_08066C38: .4byte gUnknown_202DE58
+_08066C3C: .4byte gUnknown_80F8BE0
+_08066C40:
+ movs r1, 0xEF
+ adds r0, r1, 0
+ ands r0, r2
+ strb r0, [r6]
+ ldrb r0, [r5]
+ ands r1, r0
+ strb r1, [r5]
+ ldr r4, _08066CD8
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl sub_8045BF8
+ adds r4, 0x50
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8045BF8
+ ldr r0, _08066CDC
+ mov r1, r9
+ movs r2, 0
+ bl SetMessageArgument
+ mov r2, r8
+ ldr r1, [r2, 0x60]
+ ldr r0, [r5]
+ str r0, [r2, 0x60]
+ str r1, [r5]
+ ldr r0, _08066CE0
+ bl PlaySoundEffect
+ ldr r0, _08066CE4
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl SendMessage
+ mov r1, r9
+ adds r1, 0x4
+ mov r0, r9
+ bl sub_80706A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08066CA2
+ adds r0, r7, 0
+ mov r1, r9
+ movs r2, 0
+ movs r3, 0
+ bl sub_807D148
+_08066CA2:
+ mov r1, r10
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0
+ bne _08066CB8
+ ldrh r1, [r1]
+ movs r2, 0x80
+ lsls r2, 7
+ adds r0, r2, 0
+ orrs r0, r1
+ mov r1, r10
+ strh r0, [r1]
+_08066CB8:
+ ldr r0, _08066CE8
+ ldr r0, [r0]
+ ldr r2, _08066CEC
+ adds r0, r2
+ ldrb r1, [r0]
+ adds r0, r7, 0
+ bl sub_807AB38
+_08066CC8:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08066CD8: .4byte gUnknown_202DE58
+_08066CDC: .4byte gUnknown_202DFE8
+_08066CE0: .4byte 0x0000014d
+_08066CE4: .4byte gUnknown_80F8DB4
+_08066CE8: .4byte gDungeonGlobalData
+_08066CEC: .4byte 0x00003a08
+ thumb_func_end sub_8066BD4
+
+ thumb_func_start sub_8066CF0
+sub_8066CF0:
+ push {lr}
+ movs r1, 0
+ bl sub_8044DA4
+ ldr r0, [r0, 0x70]
+ adds r0, 0xFC
+ movs r1, 0x1
+ strb r1, [r0]
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8066CF0
+
+ thumb_func_start sub_8066D04
+sub_8066D04:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldr r6, [r4, 0x70]
+ movs r1, 0
+ movs r2, 0x4
+ bl sub_8044D90
+ adds r5, r0, 0
+ ldr r0, _08066D2C
+ adds r1, r5, 0
+ bl sub_8045BF8
+ adds r0, r6, 0
+ adds r0, 0x48
+ ldrb r0, [r0]
+ cmp r0, 0x80
+ bne _08066D34
+ ldr r0, _08066D30
+ b _08066DB2
+ .align 2, 0
+_08066D2C: .4byte gUnknown_202DE58
+_08066D30: .4byte gUnknown_80F8DE0
+_08066D34:
+ cmp r0, 0x14
+ bhi _08066D4C
+ ldrb r1, [r5]
+ movs r0, 0x18
+ ands r0, r1
+ cmp r0, 0x18
+ bne _08066D4C
+ ldr r0, _08066D48
+ b _08066DB2
+ .align 2, 0
+_08066D48: .4byte gUnknown_80F8BE0
+_08066D4C:
+ adds r0, r6, 0
+ adds r0, 0x48
+ ldrb r0, [r0]
+ cmp r0, 0x81
+ bne _08066D68
+ ldrb r1, [r5]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08066D68
+ ldr r0, _08066D64
+ b _08066DB2
+ .align 2, 0
+_08066D64: .4byte gUnknown_80F8BE0
+_08066D68:
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ movs r2, 0x6
+ ldrsh r1, [r4, r2]
+ bl GetMapTile_1
+ adds r2, r0, 0
+ ldrh r1, [r2]
+ movs r0, 0x80
+ lsls r0, 2
+ ands r0, r1
+ cmp r0, 0
+ bne _08066DB0
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0x1
+ bne _08066DB0
+ ldr r6, [r2, 0x14]
+ cmp r6, 0
+ bne _08066DB0
+ ldrb r1, [r5]
+ movs r0, 0xEF
+ ands r0, r1
+ strb r0, [r5]
+ ldr r0, _08066DBC
+ adds r1, r5, 0
+ bl sub_8045BF8
+ adds r0, r4, 0x4
+ adds r1, r5, 0
+ movs r2, 0x1
+ bl sub_80460F8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08066DC4
+_08066DB0:
+ ldr r0, _08066DC0
+_08066DB2:
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl SendMessage
+ b _08066DF8
+ .align 2, 0
+_08066DBC: .4byte gUnknown_202DE58
+_08066DC0: .4byte gUnknown_80F8E04
+_08066DC4:
+ strb r6, [r5, 0x2]
+ strb r6, [r5, 0x1]
+ strb r6, [r5]
+ bl FillInventoryGaps
+ ldr r0, _08066E00
+ bl PlaySoundEffect
+ ldr r0, _08066E04
+ adds r1, r4, 0
+ movs r2, 0
+ bl SetMessageArgument
+ ldr r0, _08066E08
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl SendMessage
+ ldr r0, _08066E0C
+ ldr r0, [r0]
+ ldr r1, _08066E10
+ adds r0, r1
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ bl sub_807AB38
+_08066DF8:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08066E00: .4byte 0x0000014d
+_08066E04: .4byte gAvailablePokemonNames
+_08066E08: .4byte gUnknown_80F8E28
+_08066E0C: .4byte gDungeonGlobalData
+_08066E10: .4byte 0x00003a08
+ thumb_func_end sub_8066D04
+
+ thumb_func_start sub_8066E14
+sub_8066E14:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ mov r9, r0
+ ldr r0, [r0, 0x70]
+ mov r10, r0
+ mov r0, r9
+ movs r1, 0
+ movs r2, 0x5
+ bl sub_8044D90
+ adds r6, r0, 0
+ mov r0, r9
+ movs r1, 0x1
+ movs r2, 0x6
+ bl sub_8044D90
+ adds r2, r0, 0
+ adds r7, r2, 0
+ mov r0, r10
+ adds r0, 0x48
+ ldrb r0, [r0]
+ cmp r0, 0x80
+ beq _08066E54
+ ldr r0, _08066E50
+ b _08066F1E
+ .align 2, 0
+_08066E50: .4byte gUnknown_80F8E2C
+_08066E54:
+ mov r0, r10
+ adds r0, 0x50
+ ldrb r1, [r0]
+ str r0, [sp, 0x8]
+ cmp r1, 0x14
+ bhi _08066E80
+ ldrb r1, [r2]
+ movs r0, 0x18
+ ands r0, r1
+ cmp r0, 0x18
+ bne _08066E80
+ ldr r0, _08066E78
+ adds r1, r2, 0
+ bl sub_8045BF8
+ ldr r0, _08066E7C
+ b _08066F1E
+ .align 2, 0
+_08066E78: .4byte gUnknown_202DE58
+_08066E7C: .4byte gUnknown_80F8BE0
+_08066E80:
+ ldr r1, [sp, 0x8]
+ ldrb r0, [r1]
+ cmp r0, 0x81
+ bne _08066EA8
+ adds r2, r7, 0
+ ldrb r1, [r2]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08066EA8
+ ldr r0, _08066EA0
+ adds r1, r2, 0
+ bl sub_8045BF8
+ ldr r0, _08066EA4
+ b _08066F1E
+ .align 2, 0
+_08066EA0: .4byte gUnknown_202DEA8
+_08066EA4: .4byte gUnknown_80F8C48
+_08066EA8:
+ mov r2, r9
+ movs r3, 0x4
+ ldrsh r0, [r2, r3]
+ movs r3, 0x6
+ ldrsh r1, [r2, r3]
+ bl GetMapTile_1
+ ldr r0, [r0, 0x14]
+ cmp r0, 0
+ beq _08066ECC
+ bl GetEntityType
+ cmp r0, 0x3
+ beq _08066ECC
+ ldr r0, _08066EC8
+ b _08066F1E
+ .align 2, 0
+_08066EC8: .4byte gUnknown_80F8E54
+_08066ECC:
+ adds r0, r6, 0
+ ldr r5, [r0]
+ str r5, [sp]
+ adds r4, r7, 0
+ ldr r6, [r4]
+ mov r8, sp
+ str r6, [sp, 0x4]
+ movs r3, 0xEF
+ mov r0, sp
+ ldrb r2, [r0]
+ ands r2, r3
+ ldr r1, _08066F28
+ adds r0, r1, 0
+ ands r0, r5
+ orrs r0, r2
+ str r0, [sp]
+ mov r2, r8
+ ldrb r0, [r2, 0x4]
+ ands r0, r3
+ ands r1, r6
+ orrs r1, r0
+ str r1, [sp, 0x4]
+ mov r5, r10
+ adds r5, 0x4C
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_80461C8
+ movs r0, 0
+ strb r0, [r4, 0x2]
+ strb r0, [r4, 0x1]
+ strb r0, [r4]
+ add r1, sp, 0x4
+ adds r0, r5, 0
+ movs r2, 0x1
+ bl sub_80460F8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08066F30
+ ldr r0, _08066F2C
+_08066F1E:
+ ldr r1, [r0]
+ mov r0, r9
+ bl SendMessage
+ b _08066F7E
+ .align 2, 0
+_08066F28: .4byte 0xffffff00
+_08066F2C: .4byte gUnknown_80F8E78
+_08066F30:
+ ldr r3, [sp, 0x8]
+ ldrb r0, [r3]
+ cmp r0, 0x81
+ bne _08066F40
+ ldr r0, [sp]
+ mov r1, r10
+ str r0, [r1, 0x60]
+ b _08066F46
+_08066F40:
+ mov r0, sp
+ bl AddItemToInventory
+_08066F46:
+ bl FillInventoryGaps
+ ldr r4, _08066F90
+ add r1, sp, 0x4
+ adds r0, r4, 0
+ bl sub_8045BF8
+ adds r4, 0x50
+ adds r0, r4, 0
+ mov r1, sp
+ bl sub_8045BF8
+ ldr r0, _08066F94
+ bl PlaySoundEffect
+ ldr r0, _08066F98
+ ldr r1, [r0]
+ mov r0, r9
+ bl SendMessage
+ ldr r0, _08066F9C
+ ldr r0, [r0]
+ ldr r2, _08066FA0
+ adds r0, r2
+ ldrb r1, [r0]
+ mov r0, r9
+ bl sub_807AB38
+_08066F7E:
+ 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
+_08066F90: .4byte gUnknown_202DE58
+_08066F94: .4byte 0x0000014d
+_08066F98: .4byte gUnknown_80F8EAC
+_08066F9C: .4byte gDungeonGlobalData
+_08066FA0: .4byte 0x00003a08
+ thumb_func_end sub_8066E14
+
+ thumb_func_start sub_8066FA4
+sub_8066FA4:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ adds r7, r0, 0
+ ldr r0, [r7, 0x70]
+ mov r9, r0
+ movs r1, 0x4
+ ldrsh r0, [r7, r1]
+ movs r2, 0x6
+ ldrsh r1, [r7, r2]
+ bl GetMapTile_1
+ mov r10, r0
+ adds r0, r7, 0
+ movs r1, 0
+ movs r2, 0x7
+ bl sub_8044D90
+ adds r4, r0, 0
+ adds r5, r4, 0
+ ldr r0, _08067000
+ mov r8, r0
+ adds r1, r4, 0
+ bl sub_8045BF8
+ mov r0, r9
+ adds r0, 0x48
+ ldrb r0, [r0]
+ cmp r0, 0x14
+ bhi _08067008
+ ldrb r1, [r4]
+ movs r0, 0x18
+ ands r0, r1
+ cmp r0, 0x18
+ bne _08067008
+ mov r0, r8
+ adds r0, 0x50
+ adds r1, r4, 0
+ bl sub_8045BF8
+ ldr r0, _08067004
+ b _0806709E
+ .align 2, 0
+_08067000: .4byte gUnknown_202DE58
+_08067004: .4byte gUnknown_80F8C48
+_08067008:
+ mov r0, r9
+ adds r0, 0x48
+ ldrb r1, [r0]
+ str r0, [sp, 0x8]
+ cmp r1, 0x81
+ bne _08067028
+ adds r0, r5, 0
+ ldrb r1, [r0]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08067028
+ ldr r0, _08067024
+ b _0806709E
+ .align 2, 0
+_08067024: .4byte gUnknown_80F8C44
+_08067028:
+ mov r1, r10
+ ldr r0, [r1, 0x14]
+ cmp r0, 0
+ beq _08067040
+ bl GetEntityType
+ cmp r0, 0x3
+ beq _08067040
+ ldr r0, _0806703C
+ b _0806709E
+ .align 2, 0
+_0806703C: .4byte gUnknown_80F8E54
+_08067040:
+ mov r2, r10
+ ldr r0, [r2, 0x14]
+ bl GetItemData
+ adds r4, r0, 0
+ ldr r0, _080670A8
+ adds r1, r4, 0
+ bl sub_8045BF8
+ ldr r6, [r5]
+ str r6, [sp]
+ ldr r4, [r4]
+ mov r8, sp
+ str r4, [sp, 0x4]
+ movs r3, 0xEF
+ mov r0, sp
+ ldrb r2, [r0]
+ ands r2, r3
+ ldr r1, _080670AC
+ adds r0, r1, 0
+ ands r0, r6
+ orrs r0, r2
+ str r0, [sp]
+ mov r2, r8
+ ldrb r0, [r2, 0x4]
+ ands r0, r3
+ ands r1, r4
+ orrs r1, r0
+ str r1, [sp, 0x4]
+ adds r4, r7, 0x4
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80461C8
+ movs r0, 0
+ strb r0, [r5, 0x2]
+ strb r0, [r5, 0x1]
+ strb r0, [r5]
+ adds r0, r4, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_80460F8
+ lsls r0, 24
+ cmp r0, 0
+ bne _080670B4
+ ldr r0, _080670B0
+_0806709E:
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl SendMessage
+ b _080670EE
+ .align 2, 0
+_080670A8: .4byte gUnknown_202DEA8
+_080670AC: .4byte 0xffffff00
+_080670B0: .4byte gUnknown_80F8E78
+_080670B4:
+ ldr r1, [sp, 0x8]
+ ldrb r0, [r1]
+ cmp r0, 0x81
+ bne _080670C4
+ ldr r0, [sp, 0x4]
+ mov r2, r9
+ str r0, [r2, 0x60]
+ b _080670CA
+_080670C4:
+ add r0, sp, 0x4
+ bl AddItemToInventory
+_080670CA:
+ bl FillInventoryGaps
+ ldr r0, _08067100
+ bl PlaySoundEffect
+ ldr r0, _08067104
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl SendMessage
+ ldr r0, _08067108
+ ldr r0, [r0]
+ ldr r1, _0806710C
+ adds r0, r1
+ ldrb r1, [r0]
+ adds r0, r7, 0
+ bl sub_807AB38
+_080670EE:
+ 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
+_08067100: .4byte 0x0000014d
+_08067104: .4byte gUnknown_80F8EAC
+_08067108: .4byte gDungeonGlobalData
+_0806710C: .4byte 0x00003a08
+ thumb_func_end sub_8066FA4
+
+ thumb_func_start sub_8067110
+sub_8067110:
+ push {r4-r6,lr}
+ sub sp, 0xC
+ adds r5, r0, 0
+ ldr r4, [r5, 0x70]
+ movs r1, 0
+ movs r2, 0x8
+ bl sub_8044D90
+ adds r6, r0, 0
+ ldr r0, _08067190
+ adds r1, r6, 0
+ bl sub_8045BF8
+ ldr r0, _08067194
+ adds r1, r4, 0
+ movs r2, 0
+ bl SetMessageArgument_2
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl sub_8048D50
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067188
+ adds r0, r6, 0
+ bl sub_80464AC
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl SendMessage
+ ldr r0, [r6]
+ str r0, [sp, 0x8]
+ adds r0, r5, 0
+ movs r1, 0
+ movs r2, 0x66
+ bl sub_8044DF0
+ movs r0, 0x1E
+ movs r1, 0x11
+ bl sub_803E708
+ str r5, [sp]
+ add r0, sp, 0x8
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ adds r3, r5, 0
+ bl sub_80479B8
+ ldr r0, _08067198
+ ldr r0, [r0]
+ ldr r1, _0806719C
+ adds r0, r1
+ ldrb r1, [r0]
+ adds r0, r5, 0
+ bl sub_807AB38
+_08067188:
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08067190: .4byte gUnknown_202DE58
+_08067194: .4byte gAvailablePokemonNames
+_08067198: .4byte gDungeonGlobalData
+_0806719C: .4byte 0x00003a08
+ thumb_func_end sub_8067110
+
+ thumb_func_start sub_80671A0
+sub_80671A0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ adds r6, r0, 0
+ ldr r0, [r6, 0x70]
+ mov r8, r0
+ adds r0, r6, 0
+ movs r1, 0
+ movs r2, 0x9
+ bl sub_8044D90
+ adds r4, r0, 0
+ mov r0, r8
+ adds r0, 0x48
+ ldrb r0, [r0]
+ cmp r0, 0x81
+ bne _080671E8
+ ldrb r1, [r4]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _080671E8
+ ldr r0, _080671E0
+ adds r1, r4, 0
+ bl sub_8045BF8
+ ldr r0, _080671E4
+ b _08067230
+ .align 2, 0
+_080671E0: .4byte gUnknown_202DE58
+_080671E4: .4byte gUnknown_80F8BE0
+_080671E8:
+ ldrb r0, [r4, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067202
+ ldrb r0, [r4, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08067220
+_08067202:
+ ldrb r1, [r4]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08067220
+ ldr r0, _08067218
+ adds r1, r4, 0
+ bl sub_8045BF8
+ ldr r0, _0806721C
+ b _08067230
+ .align 2, 0
+_08067218: .4byte gUnknown_202DE58
+_0806721C: .4byte gUnknown_80F8BE0
+_08067220:
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl ShouldAvoidEnemiesAndShowEffect
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067248
+ ldr r0, _08067244
+_08067230:
+ ldr r1, [r0]
+ adds r0, r6, 0
+ bl SendMessage
+ movs r0, 0x14
+ movs r1, 0x4C
+ bl sub_803E708
+ b _080674F8
+ .align 2, 0
+_08067244: .4byte gUnknown_80FF76C
+_08067248:
+ ldr r2, [r4]
+ str r2, [sp, 0x4]
+ movs r1, 0xEF
+ add r0, sp, 0x4
+ ldrb r0, [r0]
+ ands r0, r1
+ ldr r1, _080672C0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp, 0x4]
+ mov r0, r8
+ adds r0, 0x48
+ ldrb r1, [r0]
+ adds r5, r0, 0
+ cmp r1, 0x80
+ bne _08067272
+ movs r4, 0
+ adds r0, 0x4
+ movs r1, 0x1
+ bl sub_80461C8
+_08067272:
+ movs r7, 0x1
+ ldr r0, [sp, 0x4]
+ lsrs r0, 16
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetItemType
+ lsls r0, 24
+ cmp r0, 0
+ beq _0806729A
+ ldr r0, [sp, 0x4]
+ lsrs r0, 16
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080672A8
+_0806729A:
+ ldr r0, [sp, 0x4]
+ lsrs r0, 8
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _080672A8
+ movs r7, 0
+_080672A8:
+ cmp r7, 0
+ beq _080672C4
+ ldrb r0, [r5]
+ cmp r0, 0x80
+ beq _080672F6
+ movs r0, 0
+ strb r0, [r4, 0x2]
+ strb r0, [r4, 0x1]
+ strb r0, [r4]
+ bl FillInventoryGaps
+ b _080672F6
+ .align 2, 0
+_080672C0: .4byte 0xffffff00
+_080672C4:
+ ldrb r0, [r5]
+ cmp r0, 0x80
+ bne _080672F0
+ ldr r2, [sp, 0x4]
+ lsrs r0, r2, 8
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 16
+ ldr r1, _080672EC
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp, 0x4]
+ mov r0, r8
+ adds r0, 0x4C
+ add r1, sp, 0x4
+ movs r2, 0x1
+ bl sub_80460F8
+ b _080672F6
+ .align 2, 0
+_080672EC: .4byte 0xffff00ff
+_080672F0:
+ ldrb r0, [r4, 0x1]
+ subs r0, 0x1
+ strb r0, [r4, 0x1]
+_080672F6:
+ adds r0, r6, 0
+ movs r1, 0x29
+ bl HasItem
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067310
+ movs r0, 0x8
+ bl DungeonRandomCapped
+ mov r1, r8
+ adds r1, 0x46
+ strb r0, [r1]
+_08067310:
+ adds r0, r6, 0
+ bl sub_8045888
+ lsls r0, 24
+ movs r1, 0xE0
+ add r1, r8
+ mov r10, r1
+ adds r1, r6, 0x4
+ str r1, [sp, 0x10]
+ add r1, sp, 0xC
+ mov r9, r1
+ cmp r0, 0
+ beq _08067364
+ mov r0, r8
+ adds r0, 0x46
+ ldrb r4, [r0]
+ movs r1, 0xB2
+ lsls r1, 1
+ adds r0, r6, 0
+ bl sub_80421C0
+ movs r7, 0x7
+ movs r5, 0x7
+_0806733E:
+ subs r4, 0x1
+ ands r4, r7
+ adds r0, r6, 0
+ movs r1, 0
+ adds r2, r4, 0
+ bl sub_806CDD4
+ movs r0, 0x2
+ movs r1, 0x15
+ bl sub_803E708
+ subs r5, 0x1
+ cmp r5, 0
+ bge _0806733E
+ movs r1, 0xB3
+ lsls r1, 1
+ add r1, r8
+ movs r0, 0x4
+ strb r0, [r1]
+_08067364:
+ add r4, sp, 0x4
+ ldrb r0, [r4, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067380
+ ldrb r0, [r4, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08067384
+_08067380:
+ movs r0, 0x1
+ strb r0, [r4, 0x1]
+_08067384:
+ ldr r0, _080673B0
+ add r4, sp, 0x4
+ adds r1, r4, 0
+ bl sub_8045C08
+ ldr r0, _080673B4
+ mov r1, r8
+ movs r2, 0
+ bl SetMessageArgument_2
+ ldrb r0, [r4, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ cmp r0, 0
+ bne _080673BC
+ ldr r0, _080673B8
+ ldr r1, [r0]
+ adds r0, r6, 0
+ bl SendMessage
+ b _080673C6
+ .align 2, 0
+_080673B0: .4byte gUnknown_202DE58
+_080673B4: .4byte gAvailablePokemonNames
+_080673B8: .4byte gUnknown_80F8EC8
+_080673BC:
+ ldr r0, _080673F8
+ ldr r1, [r0]
+ adds r0, r6, 0
+ bl SendMessage
+_080673C6:
+ add r0, sp, 0x4
+ ldrb r0, [r0, 0x2]
+ bl GetItemType
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl sub_8042208
+ adds r0, r6, 0
+ movs r1, 0x27
+ bl HasItem
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067400
+ ldr r0, _080673FC
+ ldr r1, [sp, 0xC]
+ ands r1, r0
+ movs r0, 0x80
+ lsls r0, 1
+ orrs r1, r0
+ str r1, [sp, 0xC]
+ b _08067408
+ .align 2, 0
+_080673F8: .4byte gUnknown_80F8EC4
+_080673FC: .4byte 0xffff00ff
+_08067400:
+ ldr r1, _0806741C
+ ldr r0, [sp, 0xC]
+ ands r0, r1
+ str r0, [sp, 0xC]
+_08067408:
+ mov r1, r10
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ beq _08067440
+ cmp r0, 0x1
+ bgt _08067420
+ cmp r0, 0
+ beq _08067426
+ b _08067462
+ .align 2, 0
+_0806741C: .4byte 0xffff00ff
+_08067420:
+ cmp r0, 0x2
+ beq _0806744C
+ b _08067462
+_08067426:
+ ldr r1, _08067438
+ ldr r0, [sp, 0xC]
+ ands r0, r1
+ ldr r1, _0806743C
+ ands r0, r1
+ movs r1, 0xA0
+ lsls r1, 12
+ b _0806745E
+ .align 2, 0
+_08067438: .4byte 0xffffff00
+_0806743C: .4byte 0x0000ffff
+_08067440:
+ ldr r1, _08067448
+ ldr r0, [sp, 0xC]
+ ands r0, r1
+ b _08067456
+ .align 2, 0
+_08067448: .4byte 0xffffff00
+_0806744C:
+ ldr r1, _080674B4
+ ldr r0, [sp, 0xC]
+ ands r0, r1
+ movs r1, 0x1
+ orrs r0, r1
+_08067456:
+ ldr r1, _080674B8
+ ands r0, r1
+ movs r1, 0xC6
+ lsls r1, 15
+_0806745E:
+ orrs r0, r1
+ str r0, [sp, 0xC]
+_08067462:
+ adds r0, r6, 0
+ movs r1, 0xF
+ bl HasItem
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067486
+ ldr r1, _080674B4
+ ldr r0, [sp, 0xC]
+ ands r0, r1
+ movs r1, 0x1
+ orrs r0, r1
+ ldr r1, _080674B8
+ ands r0, r1
+ movs r1, 0xC6
+ lsls r1, 15
+ orrs r0, r1
+ str r0, [sp, 0xC]
+_08067486:
+ add r0, sp, 0x4
+ ldrb r0, [r0, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080674BC
+ add r4, sp, 0x8
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl sub_8083904
+ mov r0, r9
+ str r0, [sp]
+ adds r0, r6, 0
+ add r1, sp, 0x4
+ ldr r2, [sp, 0x10]
+ adds r3, r4, 0
+ bl sub_80475C4
+ b _080674D0
+ .align 2, 0
+_080674B4: .4byte 0xffffff00
+_080674B8: .4byte 0x0000ffff
+_080674BC:
+ mov r0, r8
+ adds r0, 0x46
+ ldrb r3, [r0]
+ mov r1, r9
+ str r1, [sp]
+ adds r0, r6, 0
+ add r1, sp, 0x4
+ ldr r2, [sp, 0x10]
+ bl sub_8047190
+_080674D0:
+ adds r0, r6, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _080674F8
+ mov r0, r8
+ adds r0, 0x46
+ ldrb r1, [r0]
+ adds r0, r6, 0
+ bl sub_806CE68
+ ldr r0, _08067508
+ ldr r0, [r0]
+ ldr r1, _0806750C
+ adds r0, r1
+ ldrb r1, [r0]
+ adds r0, r6, 0
+ bl sub_807AB38
+_080674F8:
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08067508: .4byte gDungeonGlobalData
+_0806750C: .4byte 0x00003a08
+ thumb_func_end sub_80671A0
+
+ thumb_func_start sub_8067510
+sub_8067510:
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_806773C
+ adds r1, r0, 0
+ movs r2, 0x1
+ negs r2, r2
+ adds r0, r4, 0
+ bl sub_8067558
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8067510
+
+ thumb_func_start sub_806752C
+sub_806752C:
+ push {r4,lr}
+ ldr r1, _08067550
+ ldr r1, [r1]
+ ldrb r0, [r0, 0x4]
+ lsls r0, 2
+ ldr r2, _08067554
+ adds r1, r2
+ adds r1, r0
+ ldr r4, [r1]
+ bl GetLeaderEntity
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8067558
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08067550: .4byte gDungeonGlobalData
+_08067554: .4byte 0x0001357c
+ thumb_func_end sub_806752C
+
+ thumb_func_start sub_8067558
+sub_8067558:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x12C
+ adds r6, r0, 0
+ adds r5, r1, 0
+ mov r9, r2
+ ldr r0, [r6, 0x70]
+ mov r8, r0
+ cmp r5, 0
+ bne _0806757C
+ ldr r0, _08067578
+ ldr r1, [r0]
+ movs r0, 0
+ b _08067716
+ .align 2, 0
+_08067578: .4byte gUnknown_80F8EE4
+_0806757C:
+ adds r0, r6, 0
+ bl sub_8070BC0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08067594
+ ldr r0, _08067590
+ ldr r1, [r0]
+ movs r0, 0
+ b _08067716
+ .align 2, 0
+_08067590: .4byte gUnknown_80F8EE4
+_08067594:
+ adds r0, r6, 0
+ adds r1, r5, 0
+ movs r2, 0x1
+ movs r3, 0
+ bl CanTarget
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080675AA
+ b _0806771E
+_080675AA:
+ adds r0, r5, 0
+ adds r1, r6, 0
+ movs r2, 0x1
+ movs r3, 0
+ bl CanTarget
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080675C0
+ b _0806771E
+_080675C0:
+ ldr r7, [r5, 0x70]
+ ldr r4, _08067608
+ adds r0, r4, 0
+ adds r1, r7, 0
+ movs r2, 0
+ bl SetMessageArgument_2
+ adds r4, 0x50
+ adds r0, r4, 0
+ mov r1, r8
+ movs r2, 0x7
+ bl SetMessageArgument_2
+ bl sub_8084778
+ adds r0, r6, 0
+ adds r1, r5, 0
+ bl sub_807A96C
+ adds r0, r5, 0
+ bl sub_8070BC0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067600
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl CannotMove
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067610
+_08067600:
+ ldr r0, _0806760C
+ ldr r1, [r0]
+ movs r0, 0
+ b _08067716
+ .align 2, 0
+_08067608: .4byte gAvailablePokemonNames
+_0806760C: .4byte gUnknown_80FE008
+_08067610:
+ adds r0, r6, 0x4
+ adds r1, r5, 0x4
+ bl CalculateFacingDir
+ adds r1, r0, 0
+ adds r0, r6, 0
+ bl sub_806CEFC
+ mov r1, r9
+ cmp r1, 0
+ blt _0806762E
+ adds r0, r5, 0
+ bl sub_806CEFC
+ b _0806763C
+_0806762E:
+ mov r0, r8
+ adds r0, 0x46
+ ldrb r1, [r0]
+ adds r1, 0x4
+ adds r0, r5, 0
+ bl sub_806CEFC
+_0806763C:
+ ldrb r0, [r7, 0x8]
+ cmp r0, 0x1
+ bne _08067648
+ bl sub_807EF84
+ b _0806772A
+_08067648:
+ adds r0, r7, 0
+ adds r0, 0xA4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _08067694
+ ldr r0, _08067668
+ ldr r1, [r0]
+ ldr r2, _0806766C
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08067674
+ ldr r0, _08067670
+ ldr r1, [r0]
+ movs r0, 0
+ b _08067716
+ .align 2, 0
+_08067668: .4byte gDungeonGlobalData
+_0806766C: .4byte 0x0000066e
+_08067670: .4byte gUnknown_80FF674
+_08067674:
+ ldr r3, _08067688
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0806768C
+ adds r0, r5, 0
+ bl sub_80845E0
+ b _0806772A
+ .align 2, 0
+_08067688: .4byte 0x00000677
+_0806768C:
+ adds r0, r5, 0
+ bl sub_8084448
+ b _0806772A
+_08067694:
+ movs r0, 0x4
+ ldrsh r5, [r7, r0]
+ movs r6, 0
+ adds r0, r7, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x4A
+ bne _080676AA
+ movs r5, 0xD2
+ lsls r5, 1
+ b _080676CC
+_080676AA:
+ cmp r0, 0x47
+ bne _080676B8
+ ldr r5, _080676B4
+ b _080676CC
+ .align 2, 0
+_080676B4: .4byte 0x000001a5
+_080676B8:
+ cmp r0, 0x41
+ bne _080676CC
+ ldr r0, _080676E8
+ ldr r0, [r0]
+ ldr r1, _080676EC
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080676CC
+ movs r6, 0x1
+_080676CC:
+ movs r3, 0x10
+ ldrsh r2, [r7, r3]
+ adds r0, r2, 0
+ cmp r2, 0
+ bge _080676D8
+ adds r0, r2, 0x3
+_080676D8:
+ movs r3, 0xE
+ ldrsh r1, [r7, r3]
+ asrs r0, 2
+ cmp r1, r0
+ bgt _080676F0
+ movs r2, 0x2
+ b _08067708
+ .align 2, 0
+_080676E8: .4byte gDungeonGlobalData
+_080676EC: .4byte 0x0000065c
+_080676F0:
+ movs r0, 0xE
+ ldrsh r4, [r7, r0]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 1
+ movs r1, 0xA
+ bl __divsi3
+ movs r2, 0
+ cmp r4, r0
+ bgt _08067708
+ movs r2, 0x1
+_08067708:
+ mov r0, sp
+ adds r1, r5, 0
+ adds r3, r6, 0
+ bl sub_806A3D4
+ movs r0, 0
+ mov r1, sp
+_08067716:
+ movs r2, 0x1
+ bl PrintFieldMessage
+ b _0806772A
+_0806771E:
+ ldr r0, _08067738
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+_0806772A:
+ add sp, 0x12C
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08067738: .4byte gUnknown_80F8EE4
+ thumb_func_end sub_8067558
+
+ thumb_func_start sub_806773C
+sub_806773C:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80696A8
+ adds r4, r0, 0
+ cmp r4, 0
+ beq _08067760
+ adds r0, r4, 0
+ bl GetEntityType
+ cmp r0, 0x1
+ bne _08067760
+ ldr r0, [r5, 0x70]
+ ldrb r0, [r0, 0x6]
+ cmp r0, 0
+ bne _08067760
+ adds r0, r4, 0
+ b _08067762
+_08067760:
+ movs r0, 0
+_08067762:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806773C
+
+ thumb_func_start sub_8067768
+sub_8067768:
+ push {r4,lr}
+ ldr r1, _0806778C
+ ldr r1, [r1]
+ ldrb r0, [r0, 0x4]
+ lsls r0, 2
+ ldr r2, _08067790
+ adds r1, r2
+ adds r1, r0
+ ldr r4, [r1]
+ bl GetLeaderEntity
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8067794
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0806778C: .4byte gDungeonGlobalData
+_08067790: .4byte 0x0001357c
+ thumb_func_end sub_8067768
+
+ thumb_func_start sub_8067794
+sub_8067794:
+ push {r4-r7,lr}
+ sub sp, 0x40
+ adds r7, r1, 0
+ ldr r4, [r7, 0x70]
+ cmp r7, 0
+ bne _080677B4
+ ldr r0, _080677B0
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+ b _0806786C
+ .align 2, 0
+_080677B0: .4byte gUnknown_80F8F08
+_080677B4:
+ ldr r0, _080677F0
+ adds r1, r7, 0
+ movs r2, 0
+ bl SetMessageArgument
+ ldr r0, _080677F4
+ ldr r5, [r0]
+ ldr r0, _080677F8
+ ldr r6, [r0]
+ ldrb r2, [r4, 0xA]
+ cmp r2, 0
+ blt _08067834
+ ldr r1, _080677FC
+ movs r0, 0x64
+ muls r0, r2
+ ldr r2, _08067800
+ adds r0, r2
+ ldr r1, [r1]
+ adds r4, r1, r0
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ bl sub_806A564
+ lsls r0, 24
+ cmp r0, 0
+ beq _0806780C
+ ldr r0, _08067804
+ ldr r5, [r0]
+ ldr r0, _08067808
+ b _08067832
+ .align 2, 0
+_080677F0: .4byte gAvailablePokemonNames
+_080677F4: .4byte gUnknown_80F9094
+_080677F8: .4byte gUnknown_80F913C
+_080677FC: .4byte gRecruitedPokemonRef
+_08067800: .4byte 0x00008df8
+_08067804: .4byte gUnknown_80F9114
+_08067808: .4byte gUnknown_80F9154
+_0806780C:
+ movs r2, 0xA
+ ldrsh r0, [r4, r2]
+ bl sub_806A58C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067834
+ bl sub_8044210
+ lsls r0, 24
+ cmp r0, 0
+ beq _0806782C
+ ldr r0, _08067828
+ b _0806782E
+ .align 2, 0
+_08067828: .4byte gUnknown_80F90DC
+_0806782C:
+ ldr r0, _08067874
+_0806782E:
+ ldr r5, [r0]
+ ldr r0, _08067878
+_08067832:
+ ldr r6, [r0]
+_08067834:
+ movs r0, 0
+ adds r1, r5, 0
+ movs r2, 0
+ bl sub_8052B8C
+ cmp r0, 0x1
+ bne _0806786C
+ ldr r4, _0806787C
+ mov r0, sp
+ adds r1, r4, 0
+ movs r2, 0x40
+ bl strncpy
+ ldr r1, _08067880
+ adds r0, r7, 0
+ movs r2, 0
+ bl sub_8068FE0
+ adds r0, r4, 0
+ mov r1, sp
+ movs r2, 0x40
+ bl strncpy
+ movs r0, 0
+ adds r1, r6, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+_0806786C:
+ add sp, 0x40
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08067874: .4byte gUnknown_80F90C8
+_08067878: .4byte gUnknown_80F9150
+_0806787C: .4byte gAvailablePokemonNames
+_08067880: .4byte 0x0000021d
+ thumb_func_end sub_8067794
+
+ thumb_func_start sub_8067884
+sub_8067884:
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ movs r6, 0
+ b _0806789A
+_0806788E:
+ ldr r1, _08067900
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080678C6
+ adds r6, 0x1
+_0806789A:
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_8070828
+ cmp r6, r0
+ bge _080678C6
+ ldr r4, [r5, 0x70]
+ adds r0, r4, 0
+ adds r0, 0x50
+ ldrb r1, [r0]
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r2, 0x1
+ movs r3, 0
+ bl sub_8055A00
+ bl sub_8044B28
+ lsls r0, 24
+ cmp r0, 0
+ beq _0806788E
+_080678C6:
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_8057588
+ bl sub_8044B28
+ lsls r0, 24
+ cmp r0, 0
+ bne _080678F6
+ adds r0, r5, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _080678F0
+ ldr r0, [r5, 0x70]
+ adds r0, 0x50
+ ldrb r1, [r0]
+ adds r0, r5, 0
+ bl sub_806A9B4
+_080678F0:
+ adds r0, r5, 0
+ bl sub_806A1B0
+_080678F6:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08067900: .4byte 0x00000159
+ thumb_func_end sub_8067884
+
+ thumb_func_start sub_8067904
+sub_8067904:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ adds r5, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ mov r9, r1
+ ldr r6, [r5, 0x70]
+ ldr r1, _08067940
+ movs r0, 0
+ str r0, [r1]
+ add r0, sp, 0x8
+ mov r1, r9
+ bl InitPokemonMove
+ adds r0, r6, 0
+ adds r0, 0xBC
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0806794C
+ ldr r0, _08067944
+ adds r1, r5, 0
+ movs r2, 0
+ bl SetMessageArgument
+ ldr r0, _08067948
+ b _08067962
+ .align 2, 0
+_08067940: .4byte gUnknown_202F208
+_08067944: .4byte gAvailablePokemonNames
+_08067948: .4byte gUnknown_80F8F20
+_0806794C:
+ adds r0, r6, 0
+ adds r0, 0xAC
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bne _08067974
+ ldr r0, _0806796C
+ adds r1, r5, 0
+ movs r2, 0
+ bl SetMessageArgument
+ ldr r0, _08067970
+_08067962:
+ ldr r1, [r0]
+ adds r0, r5, 0
+ bl SendMessage
+ b _08067A56
+ .align 2, 0
+_0806796C: .4byte gAvailablePokemonNames
+_08067970: .4byte gUnknown_80F8F38
+_08067974:
+ movs r0, 0xB0
+ lsls r0, 1
+ movs r1, 0
+ mov r10, r1
+ cmp r9, r0
+ bne _08067984
+ movs r2, 0x1
+ mov r10, r2
+_08067984:
+ movs r0, 0
+ mov r8, r0
+ movs r7, 0
+ add r4, sp, 0x8
+ b _080679D2
+_0806798E:
+ movs r1, 0xBC
+ lsls r1, 1
+ adds r0, r6, r1
+ strh r7, [r0]
+ ldrb r0, [r4]
+ movs r1, 0x8
+ orrs r0, r1
+ orrs r0, r7
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r4]
+ movs r0, 0xA
+ strb r0, [r4, 0x4]
+ str r7, [sp]
+ str r4, [sp, 0x4]
+ adds r0, r5, 0
+ mov r1, r10
+ movs r2, 0
+ movs r3, 0
+ bl sub_8055FA0
+ adds r0, r5, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _080679DE
+ ldr r2, _08067A68
+ adds r0, r6, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080679DE
+ movs r0, 0x1
+ add r8, r0
+_080679D2:
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_8070828
+ cmp r8, r0
+ blt _0806798E
+_080679DE:
+ adds r0, r5, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067A56
+ movs r0, 0xB0
+ lsls r0, 1
+ cmp r9, r0
+ bne _08067A04
+ ldr r0, _08067A6C
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08067A04
+ ldr r0, _08067A70
+ ldr r1, [r0]
+ adds r0, r5, 0
+ bl SendMessage
+_08067A04:
+ ldrb r0, [r6, 0x7]
+ cmp r0, 0
+ beq _08067A50
+ movs r0, 0xB0
+ lsls r0, 1
+ cmp r9, r0
+ beq _08067A50
+ ldr r4, _08067A74
+ adds r3, r6, 0
+ adds r3, 0x46
+ ldrb r0, [r3]
+ lsls r0, 2
+ adds r0, r4
+ ldrh r0, [r0]
+ ldrh r1, [r5, 0x4]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r2, _08067A78
+ ldr r1, [sp, 0x10]
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp, 0x10]
+ ldrb r0, [r3]
+ lsls r0, 2
+ adds r0, r4
+ ldrh r0, [r0, 0x2]
+ ldrh r2, [r5, 0x6]
+ adds r0, r2
+ lsls r0, 16
+ ldr r2, _08067A7C
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp, 0x10]
+ add r0, sp, 0x10
+ movs r1, 0x1
+ bl sub_807FE44
+_08067A50:
+ adds r0, r5, 0
+ bl sub_8071DA4
+_08067A56:
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08067A68: .4byte 0x00000159
+_08067A6C: .4byte gUnknown_202F208
+_08067A70: .4byte gUnknown_80FC690
+_08067A74: .4byte gAdjacentTileOffsets
+_08067A78: .4byte 0xffff0000
+_08067A7C: .4byte 0x0000ffff
+ thumb_func_end sub_8067904
+
+ thumb_func_start sub_8067A80
+sub_8067A80:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x6C
+ str r1, [sp, 0x68]
+ mov r8, r2
+ mov r9, r3
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x64]
+ ldr r1, _08067AC8
+ add r0, sp, 0x4
+ movs r2, 0x60
+ bl memcpy
+ ldr r1, _08067ACC
+ movs r0, 0
+ str r0, [r1]
+ mov r10, r0
+ cmp r10, r8
+ blt _08067AB0
+ b _08067ED8
+_08067AB0:
+ ldr r5, _08067AD0
+ mov r4, r9
+ mov r3, r8
+_08067AB6:
+ ldm r4!, {r2}
+ ldrh r1, [r2]
+ adds r0, r5, 0
+ ands r0, r1
+ strh r0, [r2]
+ subs r3, 0x1
+ cmp r3, 0
+ bne _08067AB6
+ b _08067ED8
+ .align 2, 0
+_08067AC8: .4byte gUnknown_8106DC8
+_08067ACC: .4byte gUnknown_202F30C
+_08067AD0: .4byte 0x00007fff
+_08067AD4:
+ movs r7, 0
+ ldr r1, _08067B98
+ movs r0, 0x1
+ strb r0, [r1]
+ strb r7, [r1, 0x1]
+ movs r0, 0xE
+ strb r0, [r1, 0x2]
+ strb r7, [r1, 0x3]
+ add r0, sp, 0x4
+ movs r1, 0x1
+ bl sub_803ECB4
+ ldr r5, _08067B9C
+ ldr r2, [r5]
+ ldr r0, [sp, 0x68]
+ str r0, [sp]
+ ldr r0, [sp, 0x64]
+ mov r1, r9
+ mov r3, r8
+ bl sub_8067F00
+ ldr r4, _08067BA0
+ mov r0, r8
+ cmp r0, 0x8
+ ble _08067B08
+ movs r0, 0x8
+_08067B08:
+ strh r0, [r4, 0x1A]
+ mov r1, r10
+ strh r1, [r4, 0x18]
+ movs r0, 0x8
+ strh r0, [r4, 0x1C]
+ strh r7, [r4, 0x1E]
+ strh r7, [r4, 0x20]
+ strh r7, [r4, 0x4]
+ movs r0, 0x12
+ strh r0, [r4, 0x6]
+ strh r7, [r4, 0xC]
+ strh r7, [r4, 0xE]
+ strh r7, [r4, 0x14]
+ str r7, [r4]
+ adds r0, r4, 0
+ adds r0, 0x28
+ bl sub_801317C
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_80137B0
+ adds r6, r5, 0
+_08067B36:
+ ldr r0, _08067BA0
+ bl AddMenuCursorSprite
+ movs r5, 0
+ movs r7, 0
+ ldr r0, [r6]
+ mov r2, r8
+ subs r0, r2, r0
+ cmp r0, 0x8
+ ble _08067B50
+ movs r5, 0x1
+ bl sub_80684C4
+_08067B50:
+ ldr r0, [r6]
+ cmp r0, 0
+ beq _08067B5C
+ movs r7, 0x1
+ bl sub_8068344
+_08067B5C:
+ movs r0, 0
+ ldr r1, _08067BA4
+ bl sub_8014140
+ adds r4, r0, 0
+ movs r0, 0x37
+ bl sub_803E46C
+ cmp r4, 0x2
+ bne _08067BAC
+ cmp r5, 0
+ beq _08067BAC
+ ldr r0, [r6]
+ mov r3, r8
+ subs r0, r3, r0
+ cmp r0, 0x8
+ ble _08067BF0
+ ldr r5, _08067BA8
+ movs r4, 0x5
+_08067B82:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x37
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08067B82
+ b _08067BEA
+ .align 2, 0
+_08067B98: .4byte gUnknown_202F308
+_08067B9C: .4byte gUnknown_202F30C
+_08067BA0: .4byte gUnknown_202EE10
+_08067BA4: .4byte gUnknown_8106DA4
+_08067BA8: .4byte gUnknown_203B080
+_08067BAC:
+ ldr r0, _08067BF8
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08067C0C
+ movs r0, 0x1
+ bl sub_8083CE0
+ ldr r1, _08067BFC
+ movs r2, 0x18
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x7
+ bne _08067C04
+ ldr r0, [r6]
+ mov r3, r8
+ subs r0, r3, r0
+ cmp r0, 0x8
+ ble _08067BF0
+ ldr r5, _08067C00
+ movs r4, 0x5
+_08067BD6:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x37
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08067BD6
+_08067BEA:
+ ldr r0, [r6]
+ adds r0, 0x1
+ str r0, [r6]
+_08067BF0:
+ movs r7, 0
+ movs r0, 0x7
+ mov r10, r0
+ b _08067CF6
+ .align 2, 0
+_08067BF8: .4byte gRealInputs
+_08067BFC: .4byte gUnknown_202EE10
+_08067C00: .4byte gUnknown_203B080
+_08067C04:
+ adds r0, r1, 0
+ movs r1, 0
+ bl sub_80136E0
+_08067C0C:
+ cmp r4, 0x1
+ bne _08067C44
+ cmp r7, 0
+ beq _08067C44
+ ldr r0, [r6]
+ cmp r0, 0
+ beq _08067C38
+ ldr r5, _08067C40
+ movs r4, 0x5
+_08067C1E:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x37
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08067C1E
+ ldr r0, [r6]
+ subs r0, 0x1
+ str r0, [r6]
+_08067C38:
+ movs r7, 0
+ movs r1, 0
+ mov r10, r1
+ b _08067CF6
+ .align 2, 0
+_08067C40: .4byte gUnknown_203B084
+_08067C44:
+ ldr r0, _08067C8C
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08067CA0
+ movs r0, 0x1
+ bl sub_8083CE0
+ ldr r1, _08067C90
+ movs r2, 0x18
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _08067C98
+ ldr r0, [r6]
+ cmp r0, 0
+ beq _08067C84
+ ldr r5, _08067C94
+ movs r4, 0x5
+_08067C6A:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x37
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08067C6A
+ ldr r0, [r6]
+ subs r0, 0x1
+ str r0, [r6]
+_08067C84:
+ movs r7, 0
+ movs r3, 0
+ mov r10, r3
+ b _08067CF6
+ .align 2, 0
+_08067C8C: .4byte gRealInputs
+_08067C90: .4byte gUnknown_202EE10
+_08067C94: .4byte gUnknown_203B084
+_08067C98:
+ adds r0, r1, 0
+ movs r1, 0
+ bl sub_8013744
+_08067CA0:
+ bl sub_80048C8
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067CAC
+ b _08067B36
+_08067CAC:
+ ldr r0, _08067CD4
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _08067D40
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08067CCC
+ ldr r2, _08067CD8
+ adds r0, r2, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08067CDC
+_08067CCC:
+ bl sub_8083D08
+ movs r7, 0x1
+ b _08067CF6
+ .align 2, 0
+_08067CD4: .4byte gRealInputs
+_08067CD8: .4byte gUnknown_202EE10
+_08067CDC:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08067CF0
+ adds r0, r2, 0
+ adds r0, 0x2A
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08067CF0
+ b _08067B36
+_08067CF0:
+ bl sub_8083D30
+ movs r7, 0x2
+_08067CF6:
+ ldr r4, _08067D34
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x37
+ bl sub_803E46C
+ cmp r7, 0
+ bne _08067D0A
+ b _08067AD4
+_08067D0A:
+ cmp r7, 0x2
+ bne _08067D48
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ mov r10, r0
+ ldr r0, _08067D38
+ ldr r0, [r0]
+ ldr r2, [sp, 0x68]
+ cmp r0, r2
+ bge _08067D20
+ b _08067AD4
+_08067D20:
+ ldr r0, _08067D3C
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl sub_8052B8C
+ cmp r0, 0x1
+ bne _08067D32
+ b _08067ED8
+_08067D32:
+ b _08067AD4
+ .align 2, 0
+_08067D34: .4byte gUnknown_202EE10
+_08067D38: .4byte gUnknown_202F310
+_08067D3C: .4byte gUnknown_80FDFB8
+_08067D40:
+ bl sub_8083D1C
+ movs r7, 0x3
+ b _08067CF6
+_08067D48:
+ cmp r7, 0x3
+ bne _08067D64
+ movs r0, 0x18
+ ldrsh r3, [r4, r0]
+ mov r10, r3
+ ldr r0, _08067D60
+ ldr r0, [r0]
+ add r0, r10
+ lsls r0, 2
+ add r0, r9
+ b _08067ED0
+ .align 2, 0
+_08067D60: .4byte gUnknown_202F30C
+_08067D64:
+ movs r2, 0x18
+ ldrsh r1, [r4, r2]
+ mov r10, r1
+ ldr r0, _08067DAC
+ ldr r0, [r0]
+ adds r4, r0, r1
+ ldr r1, _08067DB0
+ movs r0, 0
+ str r0, [r1]
+ movs r0, 0x29
+ movs r1, 0
+ bl sub_8044F5C
+ movs r0, 0x2A
+ movs r1, 0
+ bl sub_8044F5C
+ movs r0, 0x40
+ movs r1, 0
+ bl sub_8044F5C
+ lsls r0, r4, 2
+ add r0, r9
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ movs r3, 0x80
+ lsls r3, 8
+ adds r1, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08067DBC
+ movs r0, 0x29
+ bl sub_8044FF0
+ b _08067DC2
+ .align 2, 0
+_08067DAC: .4byte gUnknown_202F30C
+_08067DB0: .4byte gUnknown_202EE6C
+_08067DB4:
+ bl sub_8083D08
+ movs r7, 0x1
+ b _08067E6E
+_08067DBC:
+ movs r0, 0x2A
+ bl sub_8044FF0
+_08067DC2:
+ lsls r0, r4, 2
+ mov r2, r9
+ adds r1, r0, r2
+ ldr r2, [r1]
+ ldrb r1, [r2, 0x2]
+ adds r6, r0, 0
+ cmp r1, 0
+ bne _08067DDC
+ ldrb r1, [r2, 0x4]
+ cmp r1, 0x40
+ beq _08067DDC
+ cmp r1, 0x41
+ bne _08067DE2
+_08067DDC:
+ movs r0, 0x29
+ bl sub_8044FF0
+_08067DE2:
+ bl sub_8045064
+ add r0, sp, 0x4
+ movs r1, 0x15
+ bl sub_805FC30
+ ldr r4, _08067EA0
+ ldr r5, _08067EA4
+ adds r7, r4, 0
+ adds r7, 0x2A
+_08067DF6:
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x37
+ bl sub_803E46C
+ ldrh r1, [r5, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08067E1A
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80136E0
+_08067E1A:
+ ldrh r1, [r5, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08067E32
+ movs r0, 0x1
+ bl sub_8083CE0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8013744
+_08067E32:
+ ldrh r1, [r5, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08067E46
+ adds r0, r4, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08067E58
+_08067E46:
+ movs r3, 0x18
+ ldrsh r0, [r4, r3]
+ bl sub_8044F3C
+ lsls r0, 24
+ cmp r0, 0
+ bne _08067DB4
+ bl sub_8083D30
+_08067E58:
+ ldrh r1, [r5, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08067E68
+ ldrb r0, [r7]
+ cmp r0, 0
+ beq _08067DF6
+_08067E68:
+ bl sub_8083D30
+ movs r7, 0
+_08067E6E:
+ ldr r4, _08067EA0
+ adds r0, r4, 0
+ bl AddMenuCursorSprite
+ movs r0, 0x37
+ bl sub_803E46C
+ cmp r7, 0
+ bne _08067E82
+ b _08067AD4
+_08067E82:
+ movs r1, 0x18
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08067EA8
+ mov r2, r9
+ adds r0, r6, r2
+ ldr r1, [r0]
+ ldrh r2, [r1]
+ movs r3, 0x80
+ lsls r3, 8
+ adds r0, r3, 0
+ orrs r0, r2
+ strh r0, [r1]
+ b _08067EBC
+ .align 2, 0
+_08067EA0: .4byte gUnknown_202EE10
+_08067EA4: .4byte gRealInputs
+_08067EA8:
+ cmp r0, 0x1
+ bne _08067ECC
+ mov r1, r9
+ adds r0, r6, r1
+ ldr r2, [r0]
+ ldrh r0, [r2]
+ ldr r3, _08067EC8
+ adds r1, r3, 0
+ ands r0, r1
+ strh r0, [r2]
+_08067EBC:
+ mov r0, r8
+ mov r1, r9
+ bl sub_8068310
+ b _08067AD4
+ .align 2, 0
+_08067EC8: .4byte 0x00007fff
+_08067ECC:
+ mov r1, r9
+ adds r0, r6, r1
+_08067ED0:
+ ldr r0, [r0]
+ bl sub_806806C
+ b _08067AD4
+_08067ED8:
+ mov r0, r8
+ mov r1, r9
+ bl sub_8068310
+ ldr r0, _08067EFC
+ ldr r0, [r0]
+ ldr r2, [sp, 0x68]
+ cmp r0, r2
+ bge _08067EEC
+ b _08067AD4
+_08067EEC:
+ add sp, 0x6C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08067EFC: .4byte gUnknown_202F310
+ thumb_func_end sub_8067A80
+
+ thumb_func_start sub_8067F00
+sub_8067F00:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ adds r4, r0, 0
+ mov r9, r1
+ str r3, [sp, 0x4]
+ lsls r4, 24
+ lsrs r4, 24
+ subs r7, r2, 0x1
+ movs r0, 0x16
+ mov r8, r0
+ movs r0, 0
+ bl sub_80073B8
+ ldr r0, _08067F44
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8092578
+ ldr r2, _08067F48
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xC
+ movs r1, 0
+ movs r3, 0
+ bl xxx_format_and_draw
+ movs r1, 0
+ mov r10, r1
+ b _08067FF6
+ .align 2, 0
+_08067F44: .4byte gAvailablePokemonNames
+_08067F48: .4byte gUnknown_8106E28
+_08067F4C:
+ ldr r4, _08067F8C
+ lsls r6, r7, 2
+ mov r0, r9
+ adds r5, r6, r0
+ ldr r1, [r5]
+ adds r0, r4, 0
+ movs r2, 0
+ bl PrintColoredPokeNameToBuffer
+ adds r4, 0x50
+ ldr r0, [r5]
+ movs r2, 0x8
+ ldrsh r1, [r0, r2]
+ adds r0, r4, 0
+ bl sub_808D930
+ ldr r1, _08067F90
+ adds r0, r7, 0x1
+ str r0, [r1]
+ ldr r0, [r5]
+ ldrh r1, [r0]
+ movs r0, 0x80
+ lsls r0, 8
+ ands r0, r1
+ cmp r0, 0
+ beq _08067F9C
+ ldr r0, _08067F94
+ ldr r1, _08067F98
+ bl strcpy
+ b _08067FA4
+ .align 2, 0
+_08067F8C: .4byte gAvailablePokemonNames
+_08067F90: .4byte gUnknown_202DE30
+_08067F94: .4byte gUnknown_202DE58
+_08067F98: .4byte gUnknown_8106E2C
+_08067F9C:
+ ldr r0, _08067FCC
+ ldr r1, _08067FD0
+ bl strcpy
+_08067FA4:
+ mov r1, r9
+ adds r0, r6, r1
+ ldr r0, [r0]
+ ldrh r1, [r0]
+ movs r0, 0x80
+ lsls r0, 7
+ ands r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0
+ beq _08067FD8
+ ldr r2, _08067FD4
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x7
+ mov r1, r8
+ movs r3, 0
+ bl xxx_format_and_draw
+ b _08067FE6
+ .align 2, 0
+_08067FCC: .4byte gUnknown_202DE58
+_08067FD0: .4byte gUnknown_8106E30
+_08067FD4: .4byte gUnknown_8106E34
+_08067FD8:
+ ldr r2, _08068028
+ str r0, [sp]
+ movs r0, 0x7
+ mov r1, r8
+ movs r3, 0
+ bl xxx_format_and_draw
+_08067FE6:
+ movs r2, 0x1
+ add r10, r2
+ movs r0, 0xC
+ add r8, r0
+ adds r7, 0x1
+ mov r1, r10
+ cmp r1, 0x9
+ bgt _08068000
+_08067FF6:
+ cmp r7, 0
+ blt _08067FE6
+ ldr r2, [sp, 0x4]
+ cmp r7, r2
+ blt _08067F4C
+_08068000:
+ movs r0, 0
+ bl sub_80073E0
+ movs r0, 0x1
+ bl sub_80073B8
+ ldr r0, _0806802C
+ ldr r0, [r0]
+ ldr r1, [sp, 0x28]
+ cmp r0, r1
+ blt _08068034
+ ldr r2, _08068030
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ movs r1, 0x2
+ movs r3, 0x1
+ bl xxx_format_and_draw
+ b _0806804C
+ .align 2, 0
+_08068028: .4byte gUnknown_8106E48
+_0806802C: .4byte gUnknown_202F310
+_08068030: .4byte gUnknown_8106E5C
+_08068034:
+ ldr r1, _08068064
+ ldr r2, [sp, 0x28]
+ subs r0, r2, r0
+ str r0, [r1]
+ ldr r2, _08068068
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ movs r1, 0x2
+ movs r3, 0x1
+ bl xxx_format_and_draw
+_0806804C:
+ movs r0, 0x1
+ bl sub_80073E0
+ 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
+_08068064: .4byte gUnknown_202DE30
+_08068068: .4byte gUnknown_8106E6C
+ thumb_func_end sub_8067F00
+
+ thumb_func_start sub_806806C
+sub_806806C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x110
+ str r0, [sp, 0x108]
+ add r4, sp, 0x98
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x60
+ bl memset
+ movs r0, 0x6
+ str r0, [r4, 0x4]
+ movs r1, 0x2
+ strh r1, [r4, 0x8]
+ strh r1, [r4, 0xA]
+ movs r2, 0x12
+ strh r2, [r4, 0xC]
+ movs r0, 0xE
+ strh r0, [r4, 0xE]
+ strh r2, [r4, 0x10]
+ strh r1, [r4, 0x12]
+ ldr r0, _080681B4
+ str r0, [r4, 0x14]
+ movs r0, 0x3
+ str r0, [r4, 0x1C]
+ str r0, [r4, 0x34]
+ str r0, [r4, 0x4C]
+ movs r7, 0
+ add r1, sp, 0x44
+ strh r7, [r1]
+ mov r0, sp
+ adds r0, 0x5A
+ strh r7, [r0]
+ ldr r0, _080681B8
+ strh r7, [r0, 0x18]
+ mov r9, r1
+ adds r1, 0xB4
+ str r1, [sp, 0x10C]
+ add r2, sp, 0x68
+ mov r10, r2
+ adds r6, r0, 0
+_080680C4:
+ movs r3, 0
+ mov r8, r3
+ add r1, sp, 0xF8
+ ldr r0, _080681BC
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r0, [r0]
+ str r0, [r1]
+ ldr r1, _080681B4
+ movs r2, 0x4
+ strb r2, [r1]
+ strb r7, [r1, 0x1]
+ movs r0, 0xA
+ strb r0, [r1, 0x2]
+ mov r4, r8
+ strb r4, [r1, 0x3]
+ strh r7, [r6, 0x1E]
+ strh r2, [r6, 0x20]
+ mov r0, r8
+ strh r0, [r6, 0x1A]
+ strh r0, [r6, 0x18]
+ strh r0, [r6, 0x1C]
+ strh r0, [r6, 0x4]
+ movs r0, 0x10
+ strh r0, [r6, 0x6]
+ mov r1, r8
+ strh r1, [r6, 0x14]
+ mov r2, r8
+ str r2, [r6]
+ adds r0, r6, 0
+ adds r0, 0x28
+ bl sub_801317C
+ add r0, sp, 0x98
+ movs r1, 0x1
+ bl sub_803ECB4
+ ldr r0, _080681C0
+ ldr r0, [r0]
+ ldr r3, _080681C4
+ adds r0, r3
+ ldrb r2, [r0]
+ add r0, sp, 0x4
+ ldr r1, [sp, 0x108]
+ bl sub_808FF20
+ lsls r4, r7, 2
+ mov r0, sp
+ adds r0, r4
+ adds r0, 0xF8
+ ldr r0, [r0]
+ mov r1, r8
+ str r1, [sp]
+ adds r1, r7, 0
+ add r2, sp, 0x4
+ mov r3, r10
+ bl CreatePokemonInfoTabScreen
+ ldr r1, _080681C8
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ adds r0, 0xF
+ lsls r0, 3
+ strh r0, [r6, 0xC]
+ movs r3, 0x2
+ ldrsh r0, [r1, r3]
+ adds r0, 0x1
+ lsls r0, 3
+ subs r0, 0x2
+ strh r0, [r6, 0xE]
+_08068150:
+ ldr r0, _080681B8
+ bl AddMenuCursorSprite
+ ldr r1, [sp, 0x10C]
+ adds r0, r1, r4
+ ldr r0, [r0]
+ cmp r0, 0x4
+ bne _0806817A
+ mov r2, r10
+ ldrb r0, [r2, 0x8]
+ cmp r0, 0
+ beq _0806816C
+ bl sub_80684C4
+_0806816C:
+ mov r3, r9
+ movs r1, 0
+ ldrsh r0, [r3, r1]
+ cmp r0, 0
+ beq _0806817A
+ bl sub_8068344
+_0806817A:
+ movs r0, 0
+ ldr r1, _080681CC
+ bl sub_8014140
+ adds r5, r0, 0
+ movs r0, 0x1C
+ bl sub_803E46C
+ ldr r3, _080681D0
+ ldrh r1, [r3, 0x2]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ bne _080681A2
+ ldr r2, _080681B8
+ adds r0, r2, 0
+ adds r0, 0x2B
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080681D4
+_080681A2:
+ movs r0, 0
+ bl sub_8083CE0
+ adds r7, 0x1
+ cmp r7, 0x4
+ beq _080681B0
+ b _080682E8
+_080681B0:
+ movs r7, 0
+ b _080682E8
+ .align 2, 0
+_080681B4: .4byte gUnknown_202F308
+_080681B8: .4byte gUnknown_202EE10
+_080681BC: .4byte gUnknown_8106E80
+_080681C0: .4byte gDungeonGlobalData
+_080681C4: .4byte 0x0000065a
+_080681C8: .4byte gUnknown_2027370
+_080681CC: .4byte gUnknown_8106DA4
+_080681D0: .4byte gRealInputs
+_080681D4:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ bne _080681E6
+ adds r0, r2, 0
+ adds r0, 0x2C
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080681FA
+_080681E6:
+ movs r0, 0
+ bl sub_8083CE0
+ subs r7, 0x1
+ movs r0, 0x1
+ negs r0, r0
+ cmp r7, r0
+ bne _080682E8
+ movs r7, 0x3
+ b _080682E8
+_080681FA:
+ ldr r2, [sp, 0x10C]
+ adds r0, r2, r4
+ ldr r0, [r0]
+ cmp r0, 0x4
+ bne _08068294
+ ldrh r1, [r3, 0x4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08068212
+ cmp r5, 0x2
+ bne _08068248
+_08068212:
+ mov r3, r10
+ ldrb r0, [r3, 0x8]
+ cmp r0, 0
+ beq _08068248
+ movs r0, 0
+ bl sub_8083CE0
+ ldr r5, _08068244
+ movs r4, 0x5
+_08068224:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x1C
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08068224
+ mov r4, r9
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+ b _080682E8
+ .align 2, 0
+_08068244: .4byte gUnknown_203B080
+_08068248:
+ ldr r0, _0806828C
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _08068258
+ cmp r5, 0x1
+ bne _08068294
+_08068258:
+ mov r1, r9
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _08068294
+ movs r0, 0
+ bl sub_8083CE0
+ ldr r5, _08068290
+ movs r4, 0x5
+_0806826C:
+ ldr r1, [r5]
+ movs r0, 0
+ bl _call_via_r1
+ movs r0, 0x1C
+ bl sub_803E46C
+ subs r4, 0x1
+ cmp r4, 0
+ bge _0806826C
+ mov r3, r9
+ ldrh r0, [r3]
+ subs r0, 0x1
+ strh r0, [r3]
+ b _080682E8
+ .align 2, 0
+_0806828C: .4byte gRealInputs
+_08068290: .4byte gUnknown_203B084
+_08068294:
+ bl sub_80048C8
+ lsls r0, 24
+ cmp r0, 0
+ beq _080682A0
+ b _08068150
+_080682A0:
+ ldr r0, _080682C4
+ ldrh r1, [r0, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080682B8
+ ldr r2, _080682C8
+ adds r0, r2, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080682CC
+_080682B8:
+ bl sub_8083D08
+ movs r4, 0x1
+ mov r8, r4
+ b _080682E8
+ .align 2, 0
+_080682C4: .4byte gRealInputs
+_080682C8: .4byte gUnknown_202EE10
+_080682CC:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080682E0
+ adds r0, r2, 0
+ adds r0, 0x2A
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080682E0
+ b _08068150
+_080682E0:
+ bl sub_8083D30
+ movs r0, 0x1
+ mov r8, r0
+_080682E8:
+ movs r0, 0x37
+ bl sub_803E46C
+ mov r1, r8
+ cmp r1, 0
+ bne _080682F6
+ b _080680C4
+_080682F6:
+ movs r0, 0
+ movs r1, 0
+ bl sub_803EAF0
+ add sp, 0x110
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_806806C
+
+ thumb_func_start sub_8068310
+sub_8068310:
+ push {r4-r6,lr}
+ movs r4, 0
+ ldr r6, _08068340
+ cmp r4, r0
+ bge _08068338
+ movs r5, 0x80
+ lsls r5, 8
+ adds r3, r1, 0
+ adds r2, r0, 0
+_08068322:
+ ldr r0, [r3]
+ ldrh r1, [r0]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08068330
+ adds r4, 0x1
+_08068330:
+ adds r3, 0x4
+ subs r2, 0x1
+ cmp r2, 0
+ bne _08068322
+_08068338:
+ str r4, [r6]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068340: .4byte gUnknown_202F310
+ thumb_func_end sub_8068310
+
+ thumb_func_start sub_8068344
+sub_8068344:
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x8
+ ldr r0, _08068494
+ ldr r0, [r0]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _0806835C
+ b _08068486
+_0806835C:
+ ldr r0, _08068498
+ mov r9, r0
+ movs r0, 0
+ movs r1, 0
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ mov r0, sp
+ ldrh r0, [r0]
+ ldr r1, _0806849C
+ ands r1, r0
+ ldr r3, _080684A0
+ ldr r0, [sp]
+ ands r0, r3
+ orrs r0, r1
+ str r0, [sp]
+ mov r1, sp
+ ldrh r1, [r1]
+ adds r2, r3, 0
+ ands r2, r0
+ orrs r2, r1
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _080684A4
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r6, _080684A8
+ mov r8, r6
+ mov r0, r8
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _080684AC
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _080684B0
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ movs r4, 0x80
+ lsls r4, 7
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r6, _080684B4
+ adds r0, r6, 0
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ orrs r4, r0
+ ands r3, r1
+ orrs r3, r4
+ str r3, [sp]
+ movs r1, 0x80
+ lsls r1, 6
+ mov r5, sp
+ ldrh r0, [r5, 0x2]
+ ldr r2, _080684B8
+ ands r2, r0
+ orrs r2, r1
+ ands r2, r6
+ movs r3, 0xFC
+ lsls r3, 2
+ ldrh r1, [r5, 0x4]
+ movs r0, 0xFC
+ lsls r0, 8
+ ands r0, r1
+ orrs r0, r3
+ mov r1, r8
+ ands r0, r1
+ movs r3, 0xF
+ movs r1, 0xF0
+ lsls r1, 8
+ ldr r4, _080684BC
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r5, 0x4]
+ mov r6, r9
+ movs r1, 0x2
+ ldrsh r0, [r6, r1]
+ lsls r0, 3
+ adds r0, 0x8
+ ands r0, r4
+ lsls r0, 4
+ ldrh r1, [r5, 0x6]
+ ands r3, r1
+ orrs r3, r0
+ strh r3, [r5, 0x6]
+ movs r3, 0
+ ldrsh r0, [r6, r3]
+ lsls r0, 3
+ adds r0, 0x40
+ ldr r1, _080684C0
+ ands r0, r1
+ movs r1, 0xFE
+ lsls r1, 8
+ ands r2, r1
+ orrs r2, r0
+ strh r2, [r5, 0x2]
+ movs r1, 0x80
+ lsls r1, 1
+ mov r0, sp
+ movs r2, 0
+ movs r3, 0
+ bl AddSprite
+_08068486:
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068494: .4byte gUnknown_202EDCC
+_08068498: .4byte gUnknown_2027370
+_0806849C: .4byte 0x0000feff
+_080684A0: .4byte 0xffff0000
+_080684A4: .4byte 0x0000fdff
+_080684A8: .4byte 0x0000f3ff
+_080684AC: .4byte 0x0000efff
+_080684B0: .4byte 0x0000dfff
+_080684B4: .4byte 0x00003fff
+_080684B8: .4byte 0x0000c1ff
+_080684BC: .4byte 0x00000fff
+_080684C0: .4byte 0x000001ff
+ thumb_func_end sub_8068344
+
+ thumb_func_start sub_80684C4
+sub_80684C4:
+ push {r4-r6,lr}
+ sub sp, 0x8
+ ldr r0, _080685E8
+ ldr r0, [r0]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _080684D6
+ b _080685DE
+_080684D6:
+ ldr r6, _080685EC
+ movs r0, 0
+ movs r1, 0
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ mov r0, sp
+ ldrh r0, [r0]
+ ldr r1, _080685F0
+ ands r1, r0
+ ldr r3, _080685F4
+ ldr r0, [sp]
+ ands r0, r3
+ orrs r0, r1
+ str r0, [sp]
+ mov r1, sp
+ ldrh r1, [r1]
+ adds r2, r3, 0
+ ands r2, r0
+ orrs r2, r1
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _080685F8
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r5, _080685FC
+ adds r0, r5, 0
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _08068600
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _08068604
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ adds r2, r3, 0
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ movs r4, 0x80
+ lsls r4, 7
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _08068608
+ ands r0, r1
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ ldrh r0, [r0]
+ orrs r4, r0
+ ands r3, r1
+ orrs r3, r4
+ str r3, [sp]
+ mov r3, sp
+ movs r2, 0xFC
+ lsls r2, 2
+ ldrh r1, [r3, 0x4]
+ movs r0, 0xFC
+ lsls r0, 8
+ ands r0, r1
+ orrs r0, r2
+ ands r0, r5
+ movs r2, 0xF
+ movs r1, 0xF0
+ lsls r1, 8
+ ldr r4, _0806860C
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r3, 0x4]
+ movs r1, 0x2
+ ldrsh r0, [r6, r1]
+ lsls r0, 3
+ adds r0, 0x70
+ ands r0, r4
+ lsls r0, 4
+ ldrh r1, [r3, 0x6]
+ ands r2, r1
+ orrs r2, r0
+ strh r2, [r3, 0x6]
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ lsls r0, 3
+ adds r0, 0x40
+ ldr r1, _08068610
+ ands r0, r1
+ strh r0, [r3, 0x2]
+ subs r1, 0xFF
+ mov r0, sp
+ movs r2, 0
+ movs r3, 0
+ bl AddSprite
+_080685DE:
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080685E8: .4byte gUnknown_202EDCC
+_080685EC: .4byte gUnknown_2027370
+_080685F0: .4byte 0x0000feff
+_080685F4: .4byte 0xffff0000
+_080685F8: .4byte 0x0000fdff
+_080685FC: .4byte 0x0000f3ff
+_08068600: .4byte 0x0000efff
+_08068604: .4byte 0x0000dfff
+_08068608: .4byte 0x00003fff
+_0806860C: .4byte 0x00000fff
+_08068610: .4byte 0x000001ff
+ thumb_func_end sub_80684C4
+
+ thumb_func_start sub_8068614
+sub_8068614:
+ push {lr}
+ ldr r0, _0806862C
+ ldr r1, _08068630
+ bl OpenFileAndGetFileDataPtr
+ ldr r1, _08068634
+ ldr r1, [r1]
+ ldr r2, _08068638
+ adds r1, r2
+ str r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0806862C: .4byte gUnknown_8106E98
+_08068630: .4byte gMonsterFileArchive
+_08068634: .4byte gDungeonGlobalData
+_08068638: .4byte 0x000181e4
+ thumb_func_end sub_8068614
+
+ thumb_func_start sub_806863C
+sub_806863C:
+ push {lr}
+ ldr r0, _08068650
+ ldr r0, [r0]
+ ldr r1, _08068654
+ adds r0, r1
+ ldr r0, [r0]
+ bl CloseFile
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068650: .4byte gDungeonGlobalData
+_08068654: .4byte 0x000181e4
+ thumb_func_end sub_806863C
+
+ thumb_func_start sub_8068658
+sub_8068658:
+ push {r4-r6,lr}
+ movs r4, 0
+ ldr r6, _08068740
+ ldr r5, _08068744
+ ldr r3, _08068748
+ movs r2, 0
+_08068664:
+ ldr r0, [r5]
+ lsls r1, r4, 2
+ adds r0, r3
+ adds r0, r1
+ str r2, [r0]
+ adds r4, 0x1
+ cmp r4, r6
+ ble _08068664
+ ldr r0, _0806874C
+ movs r1, 0x1
+ bl sub_8068838
+ movs r4, 0
+ ldr r1, _08068744
+ ldr r0, [r1]
+ ldr r2, _08068750
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r4, r0
+ bge _080686B2
+ adds r6, r1, 0
+ ldr r5, _08068754
+_08068690:
+ ldr r0, [r6]
+ adds r0, r5
+ bl ExtractSpeciesIndex
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0x1
+ bl sub_8068838
+ adds r5, 0x8
+ adds r4, 0x1
+ ldr r0, [r6]
+ ldr r1, _08068750
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r4, r0
+ blt _08068690
+_080686B2:
+ ldr r0, _08068744
+ ldr r0, [r0]
+ movs r2, 0xD1
+ lsls r2, 3
+ adds r1, r0, r2
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _080686CA
+ movs r1, 0x1
+ bl sub_8068838
+_080686CA:
+ movs r4, 0
+ ldr r6, _08068758
+ movs r5, 0x1
+_080686D0:
+ movs r0, 0x64
+ muls r0, r4
+ ldr r1, _0806875C
+ adds r0, r1
+ ldr r1, [r6]
+ adds r1, r0
+ ldrh r2, [r1]
+ adds r0, r5, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _080686F8
+ lsrs r0, r2, 1
+ ands r0, r5
+ cmp r0, 0
+ beq _080686F8
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ movs r1, 0
+ bl sub_8068838
+_080686F8:
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080686D0
+ ldr r0, _08068744
+ ldr r0, [r0]
+ ldr r1, _08068760
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r0, 0x31
+ bne _08068738
+ movs r4, 0
+ ldr r5, _08068758
+_08068712:
+ movs r0, 0x58
+ muls r0, r4
+ ldr r1, _08068764
+ adds r0, r1
+ ldr r1, [r5]
+ adds r2, r1, r0
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08068732
+ movs r1, 0x8
+ ldrsh r0, [r2, r1]
+ movs r1, 0x1
+ bl sub_8068838
+_08068732:
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _08068712
+_08068738:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068740: .4byte 0x000001a7
+_08068744: .4byte gDungeonGlobalData
+_08068748: .4byte 0x00017b44
+_0806874C: .4byte 0x000001a5
+_08068750: .4byte 0x000037e4
+_08068754: .4byte 0x0000343c
+_08068758: .4byte gRecruitedPokemonRef
+_0806875C: .4byte 0x00008df8
+_08068760: .4byte 0x00003a14
+_08068764: .4byte 0x00008f88
+ thumb_func_end sub_8068658
+
+ thumb_func_start sub_8068768
+sub_8068768:
+ push {r4,r5,lr}
+ movs r5, 0
+_0806876C:
+ ldr r0, _080687A4
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _080687A8
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ cmp r4, 0
+ beq _08068796
+ adds r0, r4, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08068796
+ ldr r0, [r4, 0x70]
+ movs r1, 0x4
+ ldrsh r0, [r0, r1]
+ movs r1, 0
+ bl sub_8068838
+_08068796:
+ adds r5, 0x1
+ cmp r5, 0x13
+ ble _0806876C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080687A4: .4byte gDungeonGlobalData
+_080687A8: .4byte 0x000135cc
+ thumb_func_end sub_8068768
+
+ thumb_func_start sub_80687AC
+sub_80687AC:
+ ldr r0, _080687C4
+ ldr r1, [r0]
+ ldr r0, _080687C8
+ adds r2, r1, r0
+ movs r0, 0x80
+ lsls r0, 3
+ str r0, [r2]
+ ldr r0, _080687CC
+ adds r1, r0
+ movs r0, 0xA
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_080687C4: .4byte gDungeonGlobalData
+_080687C8: .4byte 0x000037f0
+_080687CC: .4byte 0x000037f4
+ thumb_func_end sub_80687AC
+
+ thumb_func_start sub_80687D0
+sub_80687D0:
+ lsls r0, 16
+ ldr r1, _080687E4
+ ldr r1, [r1]
+ asrs r0, 14
+ ldr r2, _080687E8
+ adds r1, r2
+ adds r1, r0
+ ldr r0, [r1]
+ bx lr
+ .align 2, 0
+_080687E4: .4byte gDungeonGlobalData
+_080687E8: .4byte 0x00017b44
+ thumb_func_end sub_80687D0
+
+ thumb_func_start sub_80687EC
+sub_80687EC:
+ push {r4,r5,lr}
+ sub sp, 0xC
+ lsls r0, 16
+ asrs r2, r0, 16
+ ldr r5, _08068828
+ ldr r0, [r5]
+ lsls r4, r2, 2
+ ldr r1, _0806882C
+ adds r0, r1
+ adds r0, r4
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08068820
+ ldr r1, _08068830
+ mov r0, sp
+ bl sprintf
+ ldr r1, _08068834
+ mov r0, sp
+ bl OpenFileAndGetFileDataPtr
+ ldr r1, [r5]
+ ldr r2, _0806882C
+ adds r1, r2
+ adds r1, r4
+ str r0, [r1]
+_08068820:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068828: .4byte gDungeonGlobalData
+_0806882C: .4byte 0x00017b44
+_08068830: .4byte gUnknown_8106EA0
+_08068834: .4byte gMonsterFileArchive
+ thumb_func_end sub_80687EC
+
+ thumb_func_start sub_8068838
+sub_8068838:
+ push {r4,lr}
+ lsls r0, 16
+ asrs r4, r0, 16
+ lsls r1, 24
+ cmp r1, 0
+ bne _08068864
+ movs r0, 0xCF
+ lsls r0, 1
+ cmp r4, r0
+ beq _0806885E
+ adds r0, 0x3
+ cmp r4, r0
+ beq _0806885E
+ adds r0, 0x1
+ cmp r4, r0
+ beq _0806885E
+ adds r0, 0x1
+ cmp r4, r0
+ bne _08068864
+_0806885E:
+ bl sub_80688B0
+ b _0806887A
+_08068864:
+ adds r0, r4, 0
+ bl sub_80687EC
+ ldr r1, _08068880
+ adds r0, r4, r1
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x3
+ bhi _0806887A
+ bl sub_8068884
+_0806887A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068880: .4byte 0xfffffe88
+ thumb_func_end sub_8068838
+
+ thumb_func_start sub_8068884
+sub_8068884:
+ push {lr}
+ movs r0, 0xBC
+ lsls r0, 1
+ bl sub_80687EC
+ ldr r0, _080688A8
+ bl sub_80687EC
+ movs r0, 0xBD
+ lsls r0, 1
+ bl sub_80687EC
+ ldr r0, _080688AC
+ bl sub_80687EC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080688A8: .4byte 0x00000179
+_080688AC: .4byte 0x0000017b
+ thumb_func_end sub_8068884
+
+ thumb_func_start sub_80688B0
+sub_80688B0:
+ push {lr}
+ ldr r0, _080688C8
+ ldr r0, [r0]
+ movs r1, 0xE0
+ lsls r1, 6
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ bl sub_80687EC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080688C8: .4byte gDungeonGlobalData
+ thumb_func_end sub_80688B0
+
+ thumb_func_start sub_80688CC
+sub_80688CC:
+ push {r4-r6,lr}
+ movs r5, 0
+ ldr r6, _08068900
+_080688D2:
+ ldr r0, [r6]
+ lsls r4, r5, 2
+ ldr r1, _08068904
+ adds r0, r1
+ adds r0, r4
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _080688F2
+ bl CloseFile
+ ldr r0, [r6]
+ ldr r1, _08068904
+ adds r0, r1
+ adds r0, r4
+ movs r1, 0
+ str r1, [r0]
+_080688F2:
+ adds r5, 0x1
+ ldr r0, _08068908
+ cmp r5, r0
+ ble _080688D2
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068900: .4byte gDungeonGlobalData
+_08068904: .4byte 0x00017b44
+_08068908: .4byte 0x000001a7
+ thumb_func_end sub_80688CC
+
+ thumb_func_start sub_806890C
+sub_806890C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x64
+ movs r0, 0
+ mov r8, r0
+ mov r10, r0
+ ldr r6, _08068A60
+ add r5, sp, 0x8
+_08068922:
+ movs r0, 0x58
+ mov r1, r10
+ muls r1, r0
+ adds r0, r1, 0
+ ldr r2, [r6]
+ adds r7, r2, r0
+ ldrh r1, [r7]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08068A1C
+ lsrs r0, r1, 1
+ movs r3, 0x1
+ ands r0, r3
+ cmp r0, 0
+ beq _08068A1C
+ movs r0, 0x64
+ mov r4, r8
+ muls r4, r0
+ ldr r0, _08068A64
+ adds r0, r4
+ mov r9, r0
+ adds r0, r2, r0
+ mov r1, r10
+ bl xxx_pokemonstruct_index_to_pokemon2_808DE30
+ ldr r0, _08068A68
+ ldr r0, [r0]
+ ldr r1, _08068A6C
+ adds r0, r1
+ ldrb r0, [r0]
+ bl GetLevelCondition
+ lsls r0, 24
+ cmp r0, 0
+ beq _08068A06
+ movs r0, 0x80
+ lsls r0, 1
+ str r0, [sp, 0x60]
+ movs r2, 0x8
+ ldrsh r1, [r7, r2]
+ add r0, sp, 0x60
+ str r0, [sp]
+ movs r3, 0
+ str r3, [sp, 0x4]
+ add r0, sp, 0x8
+ movs r2, 0
+ bl sub_808CFD0
+ ldr r0, [r6]
+ adds r0, r4
+ ldrb r1, [r5, 0x3]
+ ldr r2, _08068A70
+ adds r0, r2
+ strb r1, [r0]
+ ldr r1, [r6]
+ adds r1, r4
+ ldrh r2, [r5, 0x14]
+ movs r3, 0x8E
+ lsls r3, 8
+ adds r0, r1, r3
+ strh r2, [r0]
+ ldrh r2, [r5, 0x16]
+ adds r3, 0x8
+ adds r0, r1, r3
+ strh r2, [r0]
+ ldrh r2, [r5, 0x16]
+ adds r3, 0x2
+ adds r0, r1, r3
+ strh r2, [r0]
+ ldrb r0, [r5, 0x18]
+ ldr r2, _08068A74
+ adds r1, r2
+ strb r0, [r1]
+ ldr r0, [r6]
+ adds r0, r4
+ ldrb r1, [r5, 0x19]
+ adds r3, 0x3
+ adds r0, r3
+ strb r1, [r0]
+ ldr r0, [r6]
+ adds r0, r4
+ ldrb r1, [r5, 0x1A]
+ adds r2, 0x2
+ adds r0, r2
+ strb r1, [r0]
+ ldr r0, [r6]
+ adds r0, r4
+ ldrb r1, [r5, 0x1B]
+ adds r3, 0x2
+ adds r0, r3
+ strb r1, [r0]
+ ldr r2, [r6]
+ ldr r1, _08068A78
+ adds r0, r2, r1
+ adds r0, r4
+ ldr r1, [sp, 0x24]
+ str r1, [r0]
+ adds r2, r4
+ adds r3, 0x35
+ adds r1, r2, r3
+ ldr r0, [sp, 0x28]
+ str r0, [r1]
+ add r0, sp, 0x2C
+ ldrb r0, [r0]
+ ldr r1, _08068A7C
+ adds r2, r1
+ strb r0, [r2]
+ ldr r0, [r6]
+ add r0, r9
+ adds r0, 0x1C
+ add r1, sp, 0x34
+ bl sub_8093F50
+_08068A06:
+ ldr r0, [r6]
+ adds r0, r4
+ ldr r2, _08068A80
+ adds r0, r2
+ mov r3, r8
+ strh r3, [r0]
+ movs r0, 0x1
+ add r8, r0
+ mov r1, r8
+ cmp r1, 0x4
+ beq _08068A2A
+_08068A1C:
+ movs r2, 0x1
+ add r10, r2
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r10, r0
+ bgt _08068A2A
+ b _08068922
+_08068A2A:
+ mov r3, r8
+ cmp r3, 0x3
+ bgt _08068A50
+ ldr r4, _08068A60
+ ldr r3, _08068A64
+ movs r2, 0
+ movs r0, 0x64
+ mov r1, r8
+ muls r1, r0
+_08068A3C:
+ ldr r0, [r4]
+ adds r0, r1
+ adds r0, r3
+ strh r2, [r0]
+ adds r1, 0x64
+ movs r0, 0x1
+ add r8, r0
+ mov r0, r8
+ cmp r0, 0x3
+ ble _08068A3C
+_08068A50:
+ add sp, 0x64
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068A60: .4byte gRecruitedPokemonRef
+_08068A64: .4byte 0x00008df8
+_08068A68: .4byte gDungeonGlobalData
+_08068A6C: .4byte 0x00000644
+_08068A70: .4byte 0x00008dfb
+_08068A74: .4byte 0x00008e0c
+_08068A78: .4byte 0x00008e10
+_08068A7C: .4byte 0x00008e48
+_08068A80: .4byte 0x00008e04
+ thumb_func_end sub_806890C
+
+ thumb_func_start sub_8068A84
+sub_8068A84:
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ movs r4, 0
+ movs r5, 0
+ ldr r7, _08068AE0
+_08068A8E:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08068AE4
+ adds r0, r1
+ ldr r1, [r7]
+ adds r2, r1, r0
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08068AB2
+ movs r1, 0xE
+ ldrsh r0, [r2, r1]
+ bl GetPokemonSize
+ lsls r0, 24
+ lsrs r0, 24
+ adds r4, r0
+_08068AB2:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _08068A8E
+ movs r1, 0x8
+ ldrsh r0, [r6, r1]
+ bl GetPokemonSize
+ lsls r0, 24
+ lsrs r0, 24
+ adds r4, r0
+ cmp r4, 0x6
+ ble _08068B04
+ ldr r0, _08068AE8
+ adds r1, r6, 0
+ movs r2, 0
+ bl PrintColoredPokeNameToBuffer
+ ldrb r0, [r6, 0x4]
+ cmp r0, 0x4A
+ bne _08068AF0
+ ldr r0, _08068AEC
+ b _08068BB2
+ .align 2, 0
+_08068AE0: .4byte gRecruitedPokemonRef
+_08068AE4: .4byte 0x00008df8
+_08068AE8: .4byte gAvailablePokemonNames
+_08068AEC: .4byte gUnknown_80FE0F4
+_08068AF0:
+ cmp r0, 0x47
+ bne _08068AFC
+ ldr r0, _08068AF8
+ b _08068BB2
+ .align 2, 0
+_08068AF8: .4byte gUnknown_80FE0F8
+_08068AFC:
+ ldr r0, _08068B00
+ b _08068BB2
+ .align 2, 0
+_08068B00: .4byte gUnknown_80FE0AC
+_08068B04:
+ movs r5, 0
+ ldr r2, _08068B6C
+_08068B08:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08068B70
+ adds r0, r1
+ ldr r1, [r2]
+ adds r4, r1, r0
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08068B80
+ adds r0, r4, 0
+ adds r1, r6, 0
+ ldr r2, _08068B74
+ bl xxx_pokemonstruct_to_pokemon2_808DE50
+ ldrh r0, [r4]
+ movs r1, 0x1
+ movs r2, 0
+ orrs r1, r0
+ strh r1, [r4]
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x19
+ bgt _08068B3E
+ movs r0, 0x1A
+ strh r0, [r4, 0x8]
+_08068B3E:
+ ldrh r0, [r4]
+ movs r1, 0x2
+ orrs r0, r1
+ strh r0, [r4]
+ strh r5, [r4, 0xC]
+ adds r0, r4, 0
+ adds r0, 0x40
+ strb r2, [r0, 0x2]
+ strb r2, [r0, 0x1]
+ strb r2, [r0]
+ ldr r0, _08068B78
+ adds r1, r6, 0
+ movs r2, 0x6
+ bl PrintColoredPokeNameToBuffer
+ ldrb r0, [r6, 0x4]
+ cmp r0, 0x4A
+ beq _08068BB0
+ cmp r0, 0x47
+ beq _08068BD0
+ ldr r0, _08068B7C
+ b _08068BB2
+ .align 2, 0
+_08068B6C: .4byte gRecruitedPokemonRef
+_08068B70: .4byte 0x00008df8
+_08068B74: .4byte 0x000055aa
+_08068B78: .4byte gAvailablePokemonNames
+_08068B7C: .4byte gUnknown_80FE134
+_08068B80:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _08068B08
+ ldr r0, _08068B9C
+ adds r1, r6, 0
+ movs r2, 0x6
+ bl PrintColoredPokeNameToBuffer
+ ldrb r0, [r6, 0x4]
+ cmp r0, 0x4A
+ bne _08068BA4
+ ldr r0, _08068BA0
+ b _08068BB2
+ .align 2, 0
+_08068B9C: .4byte gAvailablePokemonNames
+_08068BA0: .4byte gUnknown_80FE0F4
+_08068BA4:
+ cmp r0, 0x47
+ bne _08068BC4
+ ldr r0, _08068BAC
+ b _08068BB2
+ .align 2, 0
+_08068BAC: .4byte gUnknown_80FE0F8
+_08068BB0:
+ ldr r0, _08068BC0
+_08068BB2:
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+ b _08068BD0
+ .align 2, 0
+_08068BC0: .4byte gUnknown_80FE168
+_08068BC4:
+ ldr r0, _08068BD8
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+_08068BD0:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068BD8: .4byte gUnknown_80FE0AC
+ thumb_func_end sub_8068A84
+
+ thumb_func_start sub_8068BDC
+sub_8068BDC:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r4, _08068CC4
+ add sp, r4
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x220]
+ movs r1, 0
+ mov r0, sp
+ adds r0, 0x39
+_08068BF6:
+ strb r1, [r0]
+ subs r0, 0x1
+ cmp r0, sp
+ bge _08068BF6
+ movs r6, 0
+ ldr r0, _08068CC8
+ mov r8, r0
+ movs r7, 0x1
+_08068C06:
+ movs r0, 0x64
+ muls r0, r6
+ ldr r1, _08068CCC
+ adds r0, r1
+ mov r2, r8
+ ldr r1, [r2]
+ adds r4, r1, r0
+ ldrb r1, [r4]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08068C50
+ movs r3, 0xA
+ ldrsh r0, [r4, r3]
+ bl sub_806A564
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ bne _08068C50
+ adds r4, 0x40
+ ldrb r1, [r4]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08068C50
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0x69
+ bne _08068C50
+ adds r0, r4, 0
+ bl GetMoneyValue
+ bl AddToTeamMoney
+ strb r5, [r4, 0x2]
+ strb r5, [r4, 0x1]
+ strb r5, [r4]
+_08068C50:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08068C06
+ movs r6, 0
+ movs r5, 0x1
+_08068C5A:
+ ldr r1, _08068CC8
+ movs r0, 0x64
+ muls r0, r6
+ ldr r2, _08068CCC
+ adds r0, r2
+ ldr r1, [r1]
+ adds r4, r1, r0
+ ldrb r1, [r4]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08068CFE
+ movs r3, 0xA
+ ldrsh r0, [r4, r3]
+ bl sub_806A564
+ lsls r0, 24
+ cmp r0, 0
+ bne _08068CFE
+ ldr r1, _08068CD0
+ adds r0, r1, 0
+ ldrh r2, [r4, 0xE]
+ adds r0, r2
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ bhi _08068C96
+ movs r0, 0xBC
+ lsls r0, 1
+ strh r0, [r4, 0xE]
+_08068C96:
+ movs r3, 0xA
+ ldrsh r0, [r4, r3]
+ bl sub_806A58C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08068CE8
+ ldr r0, _08068CD4
+ ldr r0, [r0]
+ ldr r1, _08068CD8
+ adds r0, r1
+ ldrb r0, [r0]
+ bl GetLevelCondition
+ lsls r0, 24
+ cmp r0, 0
+ beq _08068CDC
+ movs r2, 0xA
+ ldrsh r0, [r4, r2]
+ adds r1, r4, 0
+ bl sub_808DFDC
+ b _08068CFE
+ .align 2, 0
+_08068CC4: .4byte 0xfffffdd8
+_08068CC8: .4byte gRecruitedPokemonRef
+_08068CCC: .4byte 0x00008df8
+_08068CD0: .4byte 0xfffffe87
+_08068CD4: .4byte gDungeonGlobalData
+_08068CD8: .4byte 0x00000644
+_08068CDC:
+ movs r3, 0xA
+ ldrsh r0, [r4, r3]
+ adds r1, r4, 0
+ bl xxx_pokemon2_to_pokemonstruct_index_808DF2C
+ b _08068CFE
+_08068CE8:
+ ldr r0, [sp, 0x220]
+ cmp r0, 0
+ beq _08068CFE
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ bl GetFriendArea
+ lsls r0, 24
+ lsrs r0, 24
+ add r0, sp
+ strb r5, [r0]
+_08068CFE:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08068C5A
+ movs r1, 0
+_08068D06:
+ lsls r0, r1, 24
+ lsrs r0, 24
+ mov r8, r0
+ mov r0, sp
+ add r0, r8
+ ldrb r0, [r0]
+ adds r1, 0x1
+ str r1, [sp, 0x224]
+ cmp r0, 0
+ bne _08068D1C
+ b _08068F08
+_08068D1C:
+ mov r0, r8
+ add r1, sp, 0x1F0
+ movs r2, 0x1
+ movs r3, 0x1
+ bl sub_8092404
+ mov r0, r8
+ add r1, sp, 0x214
+ movs r2, 0
+ movs r3, 0
+ bl sub_8092638
+ movs r7, 0
+ add r1, sp, 0x1F0
+ ldrh r0, [r1]
+ ldr r2, _08068E10
+ cmp r0, r2
+ beq _08068D60
+ ldr r0, _08068E14
+ ldr r3, [r0]
+ adds r5, r2, 0
+ add r2, sp, 0x3C
+ movs r4, 0x58
+_08068D4A:
+ ldrh r0, [r1]
+ muls r0, r4
+ adds r0, r3, r0
+ stm r2!, {r0}
+ adds r1, 0x2
+ adds r7, 0x1
+ cmp r7, 0x14
+ bgt _08068D60
+ ldrh r0, [r1]
+ cmp r0, r5
+ bne _08068D4A
+_08068D60:
+ movs r6, 0
+ ldr r2, _08068E14
+ mov r10, r2
+ movs r3, 0
+ mov r9, r3
+_08068D6A:
+ movs r0, 0x64
+ muls r0, r6
+ ldr r1, _08068E18
+ adds r0, r1
+ mov r2, r10
+ ldr r1, [r2]
+ adds r5, r1, r0
+ ldrb r1, [r5]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08068DD6
+ movs r3, 0xA
+ ldrsh r0, [r5, r3]
+ bl sub_806A5A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08068DD6
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ bl GetFriendArea
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, r8
+ bne _08068DD6
+ ldr r2, [sp, 0x220]
+ cmp r2, 0
+ beq _08068DD6
+ add r4, sp, 0x3C
+ lsls r0, r7, 2
+ adds r4, r0
+ add r0, sp, 0x90
+ movs r1, 0x58
+ muls r1, r6
+ adds r0, r1
+ str r0, [r4]
+ adds r1, r5, 0
+ bl xxx_pokemon2_to_pokemonstruct_808DF44
+ ldr r2, [r4]
+ ldrh r0, [r2]
+ movs r3, 0x80
+ lsls r3, 7
+ adds r1, r3, 0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r0, [r4]
+ mov r1, r9
+ strb r1, [r0, 0xC]
+ ldr r0, [r4]
+ strb r1, [r0, 0x10]
+ adds r7, 0x1
+_08068DD6:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08068D6A
+ add r0, sp, 0x214
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r7, r0
+ bgt _08068E1C
+ cmp r7, 0
+ bgt _08068DEC
+ b _08068F08
+_08068DEC:
+ add r5, sp, 0x3C
+ movs r3, 0x80
+ lsls r3, 7
+ adds r6, r3, 0
+ adds r4, r7, 0
+_08068DF6:
+ ldr r1, [r5]
+ ldrh r0, [r1]
+ ands r0, r6
+ cmp r0, 0
+ beq _08068E06
+ adds r0, r1, 0
+ bl sub_808D1DC
+_08068E06:
+ adds r5, 0x4
+ subs r4, 0x1
+ cmp r4, 0
+ bne _08068DF6
+ b _08068F08
+ .align 2, 0
+_08068E10: .4byte 0x0000ffff
+_08068E14: .4byte gRecruitedPokemonRef
+_08068E18: .4byte 0x00008df8
+_08068E1C:
+ ldr r0, _08068E78
+ mov r1, r8
+ movs r2, 0
+ bl sub_8092578
+ ldr r0, _08068E7C
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+ add r4, sp, 0x3C
+_08068E34:
+ add r0, sp, 0x214
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ subs r1, r7, r1
+ mov r0, r8
+ adds r2, r7, 0
+ adds r3, r4, 0
+ bl sub_8067A80
+ movs r6, 0
+ cmp r6, r7
+ bge _08068E8E
+ movs r5, 0x80
+ lsls r5, 8
+ adds r3, r4, 0
+_08068E52:
+ ldr r2, [r3]
+ ldrh r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08068E86
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08068E86
+ ldrb r0, [r2, 0x4]
+ subs r0, 0x44
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _08068E80
+ movs r0, 0x1
+ b _08068E82
+ .align 2, 0
+_08068E78: .4byte gUnknown_202DE58
+_08068E7C: .4byte gUnknown_80FE1A4
+_08068E80:
+ movs r0, 0
+_08068E82:
+ cmp r0, 0
+ bne _08068E8E
+_08068E86:
+ adds r3, 0x4
+ adds r6, 0x1
+ cmp r6, r7
+ blt _08068E52
+_08068E8E:
+ cmp r6, r7
+ beq _08068EA2
+ ldr r0, _08068F24
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl sub_8052B8C
+ cmp r0, 0x1
+ bne _08068E34
+_08068EA2:
+ cmp r7, 0
+ ble _08068ED4
+ movs r3, 0x80
+ lsls r3, 8
+ mov r9, r3
+ adds r3, r4, 0
+ movs r0, 0x1
+ mov r8, r0
+ movs r5, 0
+ adds r6, r7, 0
+_08068EB6:
+ ldr r2, [r3]
+ ldrh r1, [r2]
+ mov r0, r8
+ ands r0, r1
+ cmp r0, 0
+ beq _08068ECC
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ beq _08068ECC
+ strh r5, [r2]
+_08068ECC:
+ adds r3, 0x4
+ subs r6, 0x1
+ cmp r6, 0
+ bne _08068EB6
+_08068ED4:
+ cmp r7, 0
+ ble _08068F08
+ movs r1, 0x80
+ lsls r1, 7
+ adds r5, r1, 0
+ adds r6, r7, 0
+_08068EE0:
+ ldr r2, [r4]
+ ldrh r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08068F00
+ adds r0, r1, 0
+ ands r0, r5
+ cmp r0, 0
+ beq _08068F00
+ adds r0, r2, 0
+ bl sub_808D1DC
+ ldr r1, [r4]
+ movs r0, 0
+ strh r0, [r1]
+_08068F00:
+ adds r4, 0x4
+ subs r6, 0x1
+ cmp r6, 0
+ bne _08068EE0
+_08068F08:
+ ldr r1, [sp, 0x224]
+ cmp r1, 0x39
+ bgt _08068F10
+ b _08068D06
+_08068F10:
+ movs r3, 0x8A
+ lsls r3, 2
+ add sp, r3
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068F24: .4byte gUnknown_80FE20C
+ thumb_func_end sub_8068BDC
+
+ thumb_func_start sub_8068F28
+sub_8068F28:
+ push {r4-r7,lr}
+ movs r6, 0
+ ldr r7, _08068F5C
+_08068F2E:
+ movs r0, 0x64
+ muls r0, r6
+ ldr r1, _08068F60
+ adds r0, r1
+ ldr r1, [r7]
+ adds r4, r1, r0
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08068F74
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ bl sub_806A564
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ beq _08068F64
+ movs r0, 0
+ strh r0, [r4]
+ b _08068F74
+ .align 2, 0
+_08068F5C: .4byte gRecruitedPokemonRef
+_08068F60: .4byte 0x00008df8
+_08068F64:
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ bl sub_806A538
+ lsls r0, 24
+ cmp r0, 0
+ beq _08068F74
+ strh r5, [r4]
+_08068F74:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08068F2E
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8068F28
+
+ thumb_func_start sub_8068F80
+sub_8068F80:
+ push {r4,r5,lr}
+ bl GetLeaderEntity
+ adds r5, r0, 0
+ ldr r0, _08068FD4
+ ldr r4, [r0]
+ ldr r1, _08068FD8
+ adds r0, r4, r1
+ movs r1, 0
+ strb r1, [r0]
+ ldr r2, _08068FDC
+ adds r0, r4, r2
+ strb r1, [r0]
+ adds r2, 0x6
+ adds r0, r4, r2
+ strb r1, [r0]
+ adds r0, r4, 0
+ adds r0, 0xC0
+ str r1, [r0]
+ cmp r5, 0
+ beq _08068FCC
+ adds r0, r5, 0
+ bl GetMapTileForDungeonEntity_2
+ ldrh r0, [r0]
+ lsrs r0, 5
+ movs r1, 0x1
+ ands r0, r1
+ movs r2, 0xD3
+ lsls r2, 3
+ adds r1, r4, r2
+ strb r0, [r1]
+ adds r2, 0x1
+ adds r1, r4, r2
+ strb r0, [r1]
+ adds r0, r5, 0x4
+ bl sub_804AC20
+_08068FCC:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068FD4: .4byte gDungeonGlobalData
+_08068FD8: .4byte 0x0000066c
+_08068FDC: .4byte 0x0000066d
+ thumb_func_end sub_8068F80
+
+ thumb_func_start sub_8068FE0
+sub_8068FE0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x84
+ mov r8, r0
+ str r2, [sp, 0x74]
+ lsls r1, 16
+ asrs r1, 16
+ mov r9, r1
+ ldr r7, [r0, 0x70]
+ bl GetMapTileForDungeonEntity_2
+ adds r4, r0, 0
+ ldr r0, [sp, 0x74]
+ cmp r0, 0
+ bne _0806900E
+ mov r0, sp
+ bl sub_80457DC
+ mov r1, sp
+ str r1, [sp, 0x74]
+_0806900E:
+ ldr r0, [r4, 0x10]
+ cmp r0, r8
+ bne _08069018
+ movs r0, 0
+ str r0, [r4, 0x10]
+_08069018:
+ mov r2, r8
+ movs r3, 0x4
+ ldrsh r0, [r2, r3]
+ movs r3, 0x6
+ ldrsh r1, [r2, r3]
+ bl sub_80402AC
+ movs r5, 0
+ adds r6, r7, 0
+ adds r6, 0xC8
+ movs r0, 0xB0
+ adds r0, r7
+ mov r10, r0
+ mov r1, r8
+ adds r1, 0x22
+ str r1, [sp, 0x80]
+ mov r2, r8
+ adds r2, 0x20
+ str r2, [sp, 0x7C]
+ adds r3, r7, 0
+ adds r3, 0x40
+ str r3, [sp, 0x78]
+_08069044:
+ ldr r0, _080690E4
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _080690E8
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ cmp r4, 0
+ beq _08069072
+ adds r0, r4, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08069072
+ ldr r0, [r4, 0x70]
+ adds r1, r0, 0
+ adds r1, 0x80
+ ldr r0, [r1]
+ cmp r0, r8
+ bne _08069072
+ movs r0, 0
+ str r0, [r1]
+_08069072:
+ adds r5, 0x1
+ cmp r5, 0x13
+ ble _08069044
+ ldrb r0, [r6]
+ cmp r0, 0x2
+ bne _0806908A
+ ldr r0, _080690E4
+ ldr r0, [r0]
+ ldr r3, _080690EC
+ adds r0, r3
+ movs r1, 0
+ strb r1, [r0]
+_0806908A:
+ mov r1, r10
+ ldrb r0, [r1]
+ subs r0, 0x3
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _080690A2
+ adds r0, r7, 0
+ adds r0, 0x9C
+ ldr r0, [r0]
+ bl sub_8076CB4
+_080690A2:
+ mov r0, r8
+ bl sub_8078084
+ movs r0, 0
+ ldr r2, [sp, 0x80]
+ strb r0, [r2]
+ ldr r3, [sp, 0x7C]
+ strb r0, [r3]
+ ldr r1, _080690F0
+ str r0, [r1]
+ ldr r1, [sp, 0x78]
+ ldrb r0, [r1]
+ cmp r0, 0x41
+ bne _080690FC
+ ldr r3, _080690E4
+ ldr r2, [r3]
+ ldr r1, _080690F4
+ adds r0, r2, r1
+ ldrb r1, [r0]
+ cmp r1, 0
+ bne _080690FC
+ movs r0, 0x1
+ strb r0, [r2, 0x10]
+ strh r1, [r7, 0xE]
+ ldr r0, [r3]
+ ldr r2, _080690F8
+ adds r0, r2
+ mov r1, r8
+ movs r2, 0
+ bl SetMessageArgument
+ b _08069484
+ .align 2, 0
+_080690E4: .4byte gDungeonGlobalData
+_080690E8: .4byte 0x000135cc
+_080690EC: .4byte 0x000037fc
+_080690F0: .4byte gLeaderPokemon
+_080690F4: .4byte 0x0000065c
+_080690F8: .4byte 0x000005f4
+_080690FC:
+ ldrb r0, [r7, 0x7]
+ cmp r0, 0
+ bne _08069104
+ b _0806928E
+_08069104:
+ movs r0, 0x3C
+ movs r1, 0x49
+ bl sub_803E708
+ bl sub_80532B4
+ ldr r5, _08069198
+ ldr r2, [r5]
+ ldrb r0, [r2, 0x6]
+ cmp r0, 0
+ bne _080691C8
+ ldr r3, _0806919C
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080691E0
+ movs r0, 0x87
+ lsls r0, 2
+ cmp r9, r0
+ beq _080691E0
+ adds r0, 0x6
+ cmp r9, r0
+ beq _080691E0
+ subs r0, 0x4
+ cmp r9, r0
+ beq _080691E0
+ ldr r1, _080691A0
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080691E0
+ ldr r6, _080691A4
+ adds r0, r2, r6
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ cmp r1, 0
+ blt _080691E0
+ adds r3, 0xA
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _080691E0
+ cmp r1, 0
+ ble _080691B4
+ ldr r0, _080691A8
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl sub_8052B8C
+ adds r4, r0, 0
+ cmp r4, 0x1
+ bne _080691E0
+ ldr r0, _080691AC
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+ ldr r0, [r5]
+ strb r4, [r0, 0x4]
+ ldr r0, [r5]
+ strb r4, [r0, 0x6]
+ ldr r0, [r5]
+ ldr r1, _080691B0
+ adds r0, r1
+ strb r4, [r0]
+ ldr r1, [r5]
+ adds r1, r6
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+ b _08069484
+ .align 2, 0
+_08069198: .4byte gDungeonGlobalData
+_0806919C: .4byte 0x0000066e
+_080691A0: .4byte 0x00003a0d
+_080691A4: .4byte 0x0000067b
+_080691A8: .4byte gUnknown_80FE268
+_080691AC: .4byte gUnknown_80FE28C
+_080691B0: .4byte 0x00000654
+_080691B4:
+ ldr r0, _080691C4
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+ b _080691E0
+ .align 2, 0
+_080691C4: .4byte gUnknown_80FE2D0
+_080691C8:
+ movs r1, 0x1
+ strb r1, [r2, 0x4]
+ ldr r0, [r5]
+ strb r1, [r0, 0x6]
+ ldr r0, [r5]
+ ldr r2, _080691DC
+ adds r0, r2
+ strb r1, [r0]
+ b _08069484
+ .align 2, 0
+_080691DC: .4byte 0x00000654
+_080691E0:
+ mov r0, r9
+ ldr r1, [sp, 0x74]
+ mov r2, r8
+ bl sub_8083AB0
+ ldr r0, _080691F8
+ cmp r9, r0
+ bne _0806928E
+ movs r6, 0
+ movs r5, 0
+ b _080691FE
+ .align 2, 0
+_080691F8: .4byte 0x0000021f
+_080691FC:
+ adds r5, 0x1
+_080691FE:
+ cmp r5, 0x3
+ bgt _08069228
+ ldr r0, _080692C4
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r3, _080692C8
+ adds r0, r3
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl EntityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _080691FC
+ ldr r6, [r4, 0x70]
+ adds r0, r6, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0x41
+ bne _080691FC
+_08069228:
+ cmp r6, 0
+ beq _0806928E
+ ldr r5, _080692CC
+ ldrb r0, [r6, 0xA]
+ movs r1, 0x64
+ muls r1, r0
+ ldr r2, _080692D0
+ adds r1, r2
+ ldr r2, [r5]
+ adds r4, r2, r1
+ adds r1, r6, 0
+ bl sub_806C264
+ movs r3, 0xA
+ ldrsh r0, [r4, r3]
+ bl sub_806A58C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0806928A
+ ldr r0, _080692C4
+ ldr r0, [r0]
+ ldr r1, _080692D4
+ adds r0, r1
+ ldrb r0, [r0]
+ bl GetLevelCondition
+ lsls r0, 24
+ cmp r0, 0
+ bne _0806926E
+ movs r2, 0xA
+ ldrsh r0, [r4, r2]
+ adds r1, r4, 0
+ bl xxx_pokemon2_to_pokemonstruct_index_808DF2C
+_0806926E:
+ bl sub_8044210
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ bne _0806928A
+ movs r3, 0xA
+ ldrsh r1, [r4, r3]
+ movs r0, 0x58
+ muls r0, r1
+ ldr r1, [r5]
+ adds r0, r1
+ adds r0, 0x28
+ strb r2, [r0]
+_0806928A:
+ movs r0, 0
+ strh r0, [r4]
+_0806928E:
+ ldrb r0, [r7, 0x6]
+ cmp r0, 0
+ beq _080692DC
+ movs r5, 0
+ movs r1, 0xB4
+ lsls r1, 1
+ adds r0, r7, r1
+ movs r2, 0x98
+ adds r2, r7
+ mov r10, r2
+ ldrb r3, [r0]
+ cmp r5, r3
+ bge _0806930A
+ ldr r4, _080692D8
+ subs r1, 0x1
+ adds r2, r7, r1
+ movs r3, 0
+ adds r1, r0, 0
+_080692B2:
+ ldrb r0, [r2]
+ adds r0, r5
+ adds r0, r4
+ strb r3, [r0]
+ adds r5, 0x1
+ ldrb r0, [r1]
+ cmp r5, r0
+ blt _080692B2
+ b _0806930A
+ .align 2, 0
+_080692C4: .4byte gDungeonGlobalData
+_080692C8: .4byte 0x0001357c
+_080692CC: .4byte gRecruitedPokemonRef
+_080692D0: .4byte 0x00008df8
+_080692D4: .4byte 0x00000644
+_080692D8: .4byte gUnknown_202EE76
+_080692DC:
+ movs r5, 0
+ movs r1, 0xB4
+ lsls r1, 1
+ adds r0, r7, r1
+ movs r2, 0x98
+ adds r2, r7
+ mov r10, r2
+ ldrb r3, [r0]
+ cmp r5, r3
+ bge _0806930A
+ ldr r4, _0806932C
+ subs r1, 0x1
+ adds r2, r7, r1
+ movs r3, 0
+ adds r1, r0, 0
+_080692FA:
+ ldrb r0, [r2]
+ adds r0, r5
+ adds r0, r4
+ strb r3, [r0]
+ adds r5, 0x1
+ ldrb r0, [r1]
+ cmp r5, r0
+ blt _080692FA
+_0806930A:
+ ldr r1, [sp, 0x78]
+ ldrb r0, [r1]
+ cmp r0, 0x4A
+ bne _08069338
+ ldr r2, _08069330
+ ldr r1, [r2]
+ movs r0, 0x2
+ strb r0, [r1, 0x10]
+ ldr r0, [r2]
+ ldr r2, _08069334
+ adds r0, r2
+ mov r1, r8
+ movs r2, 0
+ bl SetMessageArgument
+ b _08069352
+ .align 2, 0
+_0806932C: .4byte gUnknown_202EE70
+_08069330: .4byte gDungeonGlobalData
+_08069334: .4byte 0x000005f4
+_08069338:
+ cmp r0, 0x47
+ bne _08069352
+ ldr r2, _08069494
+ ldr r1, [r2]
+ movs r0, 0x3
+ strb r0, [r1, 0x10]
+ ldr r0, [r2]
+ ldr r3, _08069498
+ adds r0, r3
+ mov r1, r8
+ movs r2, 0
+ bl SetMessageArgument
+_08069352:
+ bl GetLeaderEntity
+ cmp r0, 0
+ beq _080693C6
+ movs r0, 0x87
+ lsls r0, 2
+ cmp r9, r0
+ beq _080693C6
+ ldrb r0, [r7, 0x7]
+ cmp r0, 0
+ bne _080693C6
+ ldr r4, _08069494
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ cmp r0, 0
+ bne _080693C6
+ adds r0, r7, 0
+ adds r0, 0xA4
+ ldrb r1, [r0]
+ movs r2, 0
+ movs r0, 0xFA
+ lsls r0, 1
+ cmp r9, r0
+ bne _08069384
+ movs r2, 0x1
+_08069384:
+ mov r0, r8
+ bl sub_8084E00
+ ldr r1, _0806949C
+ adds r0, r1, 0
+ ldrh r2, [r7, 0x4]
+ adds r0, r2
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ bhi _080693C6
+ bl IsBossBattle
+ lsls r0, 24
+ cmp r0, 0
+ bne _080693C6
+ ldrb r0, [r7, 0x6]
+ cmp r0, 0
+ beq _080693CC
+ ldr r0, [r4]
+ ldr r3, _080694A0
+ adds r0, r3
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, _080694A4
+ ldr r1, [r0]
+ mov r0, r8
+ bl sub_805239C
+ bl sub_803E178
+ bl sub_8049ED4
+_080693C6:
+ ldrb r0, [r7, 0x6]
+ cmp r0, 0
+ bne _08069466
+_080693CC:
+ ldr r6, _080694A8
+ ldrb r0, [r7, 0xA]
+ movs r1, 0x64
+ muls r1, r0
+ ldr r2, _080694AC
+ adds r1, r2
+ ldr r2, [r6]
+ adds r4, r2, r1
+ adds r1, r7, 0
+ bl sub_806C264
+ movs r3, 0xA
+ ldrsh r0, [r4, r3]
+ bl sub_806A58C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08069462
+ ldr r5, _08069494
+ ldr r0, [r5]
+ ldr r1, _080694B0
+ adds r0, r1
+ ldrb r0, [r0]
+ bl GetLevelCondition
+ lsls r0, 24
+ cmp r0, 0
+ bne _0806940E
+ movs r2, 0xA
+ ldrsh r0, [r4, r2]
+ adds r1, r4, 0
+ bl xxx_pokemon2_to_pokemonstruct_index_808DF2C
+_0806940E:
+ bl sub_8044210
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ bne _0806942A
+ movs r3, 0xA
+ ldrsh r1, [r4, r3]
+ movs r0, 0x58
+ muls r0, r1
+ ldr r1, [r6]
+ adds r0, r1
+ adds r0, 0x28
+ strb r2, [r0]
+_0806942A:
+ ldrb r1, [r7, 0x7]
+ negs r0, r1
+ orrs r0, r1
+ lsrs r1, r0, 31
+ ldr r0, [r5]
+ ldr r2, _080694B4
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08069448
+ ldr r3, [sp, 0x78]
+ ldrb r0, [r3]
+ cmp r0, 0x41
+ bne _08069448
+ movs r1, 0x1
+_08069448:
+ cmp r1, 0
+ bne _08069462
+ movs r0, 0xA
+ ldrsh r1, [r4, r0]
+ movs r0, 0x58
+ muls r1, r0
+ ldr r0, _080694A8
+ ldr r0, [r0]
+ adds r1, r0
+ ldrh r2, [r1]
+ ldr r0, _080694B8
+ ands r0, r2
+ strh r0, [r1]
+_08069462:
+ movs r0, 0
+ strh r0, [r4]
+_08069466:
+ mov r1, r10
+ ldr r0, [r1]
+ bl DeletePokemonDungeonSprite
+ ldr r0, _080694BC
+ movs r2, 0
+ str r2, [r0]
+ ldr r0, _08069494
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0xC]
+ mov r3, r8
+ str r2, [r3]
+ bl sub_8045ACC
+_08069484:
+ add sp, 0x84
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08069494: .4byte gDungeonGlobalData
+_08069498: .4byte 0x000005f4
+_0806949C: .4byte 0xfffffe5f
+_080694A0: .4byte 0x000037fe
+_080694A4: .4byte gUnknown_80FA580
+_080694A8: .4byte gRecruitedPokemonRef
+_080694AC: .4byte 0x00008df8
+_080694B0: .4byte 0x00000644
+_080694B4: .4byte 0x0000065c
+_080694B8: .4byte 0x0000fffd
+_080694BC: .4byte gLeaderPokemon
+ thumb_func_end sub_8068FE0
+
+ thumb_func_start sub_80694C0
+sub_80694C0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r4, r0, 0
+ adds r7, r1, 0
+ mov r8, r2
+ lsls r3, 24
+ lsrs r3, 24
+ mov r9, r3
+ adds r0, r7, 0
+ mov r1, r8
+ bl GetMapTile_2
+ mov r10, r0
+ ldr r5, [r4, 0x70]
+ adds r6, r5, 0
+ adds r6, 0xB0
+ ldrb r0, [r6]
+ subs r0, 0x3
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _080694FC
+ adds r0, r5, 0
+ adds r0, 0x9C
+ ldr r0, [r0]
+ bl sub_8076CB4
+_080694FC:
+ ldrb r0, [r6]
+ cmp r0, 0x7
+ beq _0806950A
+ cmp r0, 0x5
+ beq _0806950A
+ cmp r0, 0x2
+ bne _08069512
+_0806950A:
+ adds r0, r4, 0
+ adds r1, r4, 0
+ bl SendImmobilizeEndMessage
+_08069512:
+ movs r0, 0x4
+ ldrsh r2, [r4, r0]
+ cmp r7, r2
+ bne _08069522
+ movs r1, 0x6
+ ldrsh r0, [r4, r1]
+ cmp r8, r0
+ beq _080695DE
+_08069522:
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ blt _08069552
+ movs r1, 0x6
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ blt _08069552
+ adds r1, r0, 0
+ adds r0, r2, 0
+ bl GetMapTile_2
+ adds r1, r0, 0
+ ldr r0, [r1, 0x10]
+ cmp r0, r4
+ bne _08069546
+ movs r0, 0
+ str r0, [r1, 0x10]
+_08069546:
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ movs r2, 0x6
+ ldrsh r1, [r4, r2]
+ bl sub_80402AC
+_08069552:
+ ldrh r0, [r4, 0x4]
+ strh r0, [r4, 0x8]
+ ldrh r0, [r4, 0x6]
+ strh r0, [r4, 0xA]
+ strh r7, [r4, 0x4]
+ mov r0, r8
+ strh r0, [r4, 0x6]
+ ldrb r0, [r5, 0x7]
+ cmp r0, 0
+ beq _0806956E
+ ldr r0, _0806959C
+ strh r7, [r0]
+ mov r1, r8
+ strh r1, [r0, 0x2]
+_0806956E:
+ mov r2, r10
+ str r4, [r2, 0x10]
+ ldrb r0, [r5, 0x7]
+ cmp r0, 0
+ beq _08069588
+ ldr r0, _080695A0
+ strh r7, [r0]
+ mov r1, r8
+ strh r1, [r0, 0x2]
+ ldr r0, _080695A4
+ ldr r1, [r0]
+ movs r0, 0
+ strb r0, [r1, 0x1]
+_08069588:
+ adds r0, r7, 0
+ mov r1, r8
+ bl sub_80402AC
+ mov r2, r9
+ cmp r2, 0
+ beq _080695A8
+ cmp r2, 0x1
+ beq _080695C4
+ b _080695CE
+ .align 2, 0
+_0806959C: .4byte gUnknown_203B410
+_080695A0: .4byte gUnknown_202EE0C
+_080695A4: .4byte gDungeonGlobalData
+_080695A8:
+ ldr r0, [r5, 0x70]
+ str r0, [r5, 0x74]
+ ldr r0, [r5, 0x6C]
+ str r0, [r5, 0x70]
+ ldr r0, [r5, 0x68]
+ str r0, [r5, 0x6C]
+ adds r0, r5, 0
+ adds r0, 0xE4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _080695CE
+ ldr r0, [r4, 0x8]
+ str r0, [r5, 0x68]
+ b _080695CE
+_080695C4:
+ ldr r0, [r4, 0x4]
+ str r0, [r5, 0x68]
+ str r0, [r5, 0x6C]
+ str r0, [r5, 0x70]
+ str r0, [r5, 0x74]
+_080695CE:
+ mov r1, r10
+ ldrb r0, [r1, 0x9]
+ adds r1, r4, 0
+ adds r1, 0x25
+ strb r0, [r1]
+ adds r0, r4, 0
+ bl sub_806CF98
+_080695DE:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80694C0
+
+ thumb_func_start sub_80695EC
+sub_80695EC:
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ adds r6, r1, 0
+ adds r7, r2, 0
+ ldr r1, [r4, 0x70]
+ adds r5, r1, 0
+ adds r0, r1, 0
+ adds r0, 0xB0
+ ldrb r0, [r0]
+ subs r0, 0x3
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _08069612
+ adds r0, r1, 0
+ adds r0, 0x9C
+ ldr r0, [r0]
+ bl sub_8076CB4
+_08069612:
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ cmp r6, r0
+ bne _08069622
+ movs r1, 0x6
+ ldrsh r0, [r4, r1]
+ cmp r7, r0
+ beq _08069658
+_08069622:
+ ldrh r0, [r4, 0x4]
+ strh r0, [r4, 0x8]
+ ldrh r0, [r4, 0x6]
+ strh r0, [r4, 0xA]
+ strh r6, [r4, 0x4]
+ strh r7, [r4, 0x6]
+ ldr r0, [r5, 0x70]
+ str r0, [r5, 0x74]
+ ldr r0, [r5, 0x6C]
+ str r0, [r5, 0x70]
+ ldr r0, [r5, 0x68]
+ str r0, [r5, 0x6C]
+ adds r0, r5, 0
+ adds r0, 0xE4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08069648
+ ldr r0, [r4, 0x8]
+ str r0, [r5, 0x68]
+_08069648:
+ adds r0, r6, 0
+ adds r1, r7, 0
+ bl GetMapTile_1
+ ldrb r1, [r0, 0x9]
+ adds r0, r4, 0
+ adds r0, 0x25
+ strb r1, [r0]
+_08069658:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80695EC
+
+ thumb_func_start sub_8069660
+sub_8069660:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r0, [r4, 0x70]
+ adds r5, r0, 0
+ adds r5, 0x46
+ ldrb r1, [r5]
+ adds r0, r4, 0
+ bl sub_8070F80
+ lsls r0, 24
+ cmp r0, 0
+ bne _0806967C
+ movs r0, 0
+ b _0806969E
+_0806967C:
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ ldr r1, _080696A4
+ ldrb r2, [r5]
+ lsls r2, 2
+ adds r2, r1
+ movs r3, 0
+ ldrsh r1, [r2, r3]
+ adds r0, r1
+ movs r3, 0x6
+ ldrsh r1, [r4, r3]
+ movs r3, 0x2
+ ldrsh r2, [r2, r3]
+ adds r1, r2
+ bl GetMapTile_1
+ ldr r0, [r0, 0x10]
+_0806969E:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080696A4: .4byte gAdjacentTileOffsets
+ thumb_func_end sub_8069660
+
+ thumb_func_start sub_80696A8
+sub_80696A8:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r0, [r4, 0x70]
+ adds r5, r0, 0
+ adds r5, 0x46
+ ldrb r1, [r5]
+ adds r0, r4, 0
+ bl CanAttackInFront
+ lsls r0, 24
+ cmp r0, 0
+ beq _080696F4
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ ldr r1, _080696F0
+ ldrb r2, [r5]
+ lsls r2, 2
+ adds r2, r1
+ movs r3, 0
+ ldrsh r1, [r2, r3]
+ adds r0, r1
+ movs r3, 0x6
+ ldrsh r1, [r4, r3]
+ movs r3, 0x2
+ ldrsh r2, [r2, r3]
+ adds r1, r2
+ bl GetMapTile_1
+ ldr r1, [r0, 0x10]
+ cmp r1, 0
+ beq _080696F4
+ ldr r0, [r1]
+ cmp r0, 0x1
+ bne _080696F4
+ adds r0, r1, 0
+ b _080696F6
+ .align 2, 0
+_080696F0: .4byte gAdjacentTileOffsets
+_080696F4:
+ movs r0, 0
+_080696F6:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80696A8
+
+ thumb_func_start sub_80696FC
+sub_80696FC:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ ldr r3, [r4, 0x70]
+ ldr r5, _08069764
+ adds r3, 0x46
+ ldrb r0, [r3]
+ lsls r0, 2
+ adds r0, r5
+ ldrh r0, [r0]
+ ldrh r1, [r4, 0x4]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _08069768
+ ldr r2, [sp]
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ ldrb r0, [r3]
+ lsls r0, 2
+ adds r0, r5
+ ldrh r0, [r0, 0x2]
+ ldrh r1, [r4, 0x6]
+ adds r0, r1
+ lsls r0, 16
+ ldr r1, _0806976C
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ asrs r1, 16
+ bl GetMapTile_1
+ adds r5, r0, 0
+ adds r0, r4, 0
+ mov r1, sp
+ bl sub_80705F0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08069770
+ ldr r1, [r5, 0x10]
+ cmp r1, 0
+ beq _08069770
+ ldr r0, [r1]
+ cmp r0, 0x1
+ bne _08069770
+ adds r0, r1, 0
+ b _08069772
+ .align 2, 0
+_08069764: .4byte gAdjacentTileOffsets
+_08069768: .4byte 0xffff0000
+_0806976C: .4byte 0x0000ffff
+_08069770:
+ movs r0, 0
+_08069772:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80696FC
+
+ thumb_func_start sub_806977C
+sub_806977C:
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ ldr r0, [r4, 0x70]
+ ldr r7, _0806982C
+ adds r5, r0, 0
+ adds r5, 0x46
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r7
+ ldrh r0, [r0]
+ ldrh r1, [r4, 0x4]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _08069830
+ ldr r2, [sp]
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r7
+ ldrh r0, [r0, 0x2]
+ ldrh r1, [r4, 0x6]
+ adds r0, r1
+ lsls r0, 16
+ ldr r1, _08069834
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ asrs r1, 16
+ bl GetMapTile_1
+ mov r6, sp
+ adds r0, r4, 0
+ mov r1, sp
+ bl sub_80705F0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08069838
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r7
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ lsls r0, 1
+ ldrh r2, [r4, 0x4]
+ adds r0, r2
+ mov r1, sp
+ strh r0, [r1]
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r7
+ movs r1, 0x2
+ ldrsh r0, [r0, r1]
+ lsls r0, 1
+ ldrh r2, [r4, 0x6]
+ adds r0, r2
+ strh r0, [r6, 0x2]
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r2, 0x2
+ ldrsh r1, [r6, r2]
+ bl GetMapTile_1
+ adds r5, r0, 0
+ adds r0, r4, 0
+ mov r1, sp
+ bl sub_80705F0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08069838
+ ldr r1, [r5, 0x10]
+ cmp r1, 0
+ beq _08069838
+ ldr r0, [r1]
+ cmp r0, 0x1
+ bne _08069838
+ adds r0, r1, 0
+ b _0806983A
+ .align 2, 0
+_0806982C: .4byte gAdjacentTileOffsets
+_08069830: .4byte 0xffff0000
+_08069834: .4byte 0x0000ffff
+_08069838:
+ movs r0, 0
+_0806983A:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806977C
+
+ thumb_func_start sub_8069844
+sub_8069844:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ mov r8, r1
+ ldr r5, [r1, 0x70]
+ adds r0, r6, 0x2
+ adds r1, r5, 0
+ movs r2, 0
+ bl SetMessageArgument_2
+ ldrh r0, [r5, 0x2]
+ strh r0, [r6]
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ str r0, [r6, 0x24]
+ movs r2, 0x10
+ ldrsh r0, [r5, r2]
+ str r0, [r6, 0x28]
+ ldrb r0, [r5, 0x9]
+ str r0, [r6, 0x2C]
+ ldr r0, [r5, 0x18]
+ str r0, [r6, 0x30]
+ movs r2, 0
+_08069874:
+ adds r1, r6, 0
+ adds r1, 0x34
+ adds r1, r2
+ adds r0, r5, 0
+ adds r0, 0x14
+ adds r0, r2
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r1, r6, 0
+ adds r1, 0x36
+ adds r1, r2
+ adds r0, r5, 0
+ adds r0, 0x16
+ adds r0, r2
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r1, r6, 0
+ adds r1, 0x16
+ adds r1, r2
+ adds r0, r5, 0
+ adds r0, 0x5C
+ adds r0, r2
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r1, r6, 0
+ adds r1, 0x18
+ adds r1, r2
+ adds r0, r5, 0
+ adds r0, 0x5E
+ adds r0, r2
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r2, 0x1
+ cmp r2, 0x1
+ ble _08069874
+ ldrb r2, [r5, 0x7]
+ adds r1, r6, 0
+ adds r1, 0x38
+ movs r0, 0
+ strb r2, [r1]
+ adds r2, r6, 0
+ adds r2, 0x39
+ strb r0, [r2]
+ adds r3, r6, 0
+ adds r3, 0x3A
+ strb r0, [r3]
+ adds r4, r6, 0
+ adds r4, 0x3B
+ strb r0, [r4]
+ movs r7, 0x3C
+ adds r7, r6
+ mov r12, r7
+ strb r0, [r7]
+ adds r0, r5, 0
+ adds r0, 0x60
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0806995C
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _0806995C
+ adds r1, r5, 0
+ adds r1, 0x62
+ ldrb r0, [r1]
+ cmp r0, 0x13
+ bne _08069908
+ ldr r0, _080699A4
+ ldrb r0, [r0]
+ ldrb r7, [r2]
+ adds r0, r7
+ strb r0, [r2]
+_08069908:
+ ldrb r0, [r1]
+ cmp r0, 0x2B
+ bne _08069918
+ ldr r0, _080699A8
+ ldrb r0, [r0]
+ ldrb r7, [r2]
+ adds r0, r7
+ strb r0, [r2]
+_08069918:
+ ldrb r0, [r1]
+ cmp r0, 0x21
+ bne _08069928
+ ldr r0, _080699AC
+ ldrb r0, [r0]
+ ldrb r2, [r3]
+ adds r0, r2
+ strb r0, [r3]
+_08069928:
+ ldrb r0, [r1]
+ cmp r0, 0x2B
+ bne _08069938
+ ldr r0, _080699A8
+ ldrb r0, [r0]
+ ldrb r7, [r3]
+ adds r0, r7
+ strb r0, [r3]
+_08069938:
+ ldrb r0, [r1]
+ cmp r0, 0x1E
+ bne _08069948
+ ldr r0, _080699B0
+ ldrb r0, [r0]
+ ldrb r2, [r4]
+ adds r0, r2
+ strb r0, [r4]
+_08069948:
+ ldrb r0, [r1]
+ cmp r0, 0x22
+ bne _0806995C
+ ldr r0, _080699B4
+ ldrb r0, [r0]
+ mov r7, r12
+ ldrb r7, [r7]
+ adds r0, r7
+ mov r1, r12
+ strb r0, [r1]
+_0806995C:
+ adds r0, r5, 0
+ adds r0, 0x94
+ ldrb r1, [r0]
+ adds r0, r6, 0
+ adds r0, 0x54
+ strb r1, [r0]
+ ldr r0, [r5, 0x60]
+ str r0, [r6, 0x20]
+ ldrh r0, [r5, 0xC]
+ movs r1, 0
+ strh r0, [r6, 0x3E]
+ ldr r0, [r5, 0x40]
+ str r0, [r6, 0x1C]
+ adds r0, r6, 0
+ adds r0, 0x44
+ strb r1, [r0]
+ adds r0, 0x4
+ strb r1, [r0]
+ adds r0, r5, 0
+ adds r0, 0x8C
+ ldr r0, [r0]
+ str r0, [r6, 0x50]
+ ldr r0, _080699B8
+ ldr r0, [r0]
+ ldr r2, _080699BC
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080699C0
+ adds r0, r5, 0
+ bl sub_806A4DC
+ adds r1, r6, 0
+ adds r1, 0x4C
+ b _080699C6
+ .align 2, 0
+_080699A4: .4byte gUnknown_810AC60
+_080699A8: .4byte gUnknown_810AC68
+_080699AC: .4byte gUnknown_810AC62
+_080699B0: .4byte gUnknown_810AC64
+_080699B4: .4byte gUnknown_810AC66
+_080699B8: .4byte gDungeonGlobalData
+_080699BC: .4byte 0x0000065a
+_080699C0:
+ adds r1, r6, 0
+ adds r1, 0x4C
+ movs r0, 0x3
+_080699C6:
+ strb r0, [r1]
+ movs r4, 0
+ movs r7, 0x10
+ ldrsh r0, [r5, r7]
+ cmp r0, 0
+ bge _080699D4
+ adds r0, 0x3
+_080699D4:
+ movs r2, 0xE
+ ldrsh r1, [r5, r2]
+ asrs r0, 2
+ cmp r1, r0
+ bgt _080699E8
+ adds r1, r6, 0
+ adds r1, 0x58
+ movs r0, 0x6
+ strb r0, [r1]
+ movs r4, 0x1
+_080699E8:
+ ldr r0, _08069A24
+ ldr r0, [r0]
+ ldr r7, _08069A28
+ adds r0, r7
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08069A02
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0xB
+ strb r1, [r0]
+ adds r4, 0x1
+_08069A02:
+ movs r1, 0x9E
+ lsls r1, 1
+ adds r0, r5, r1
+ ldr r0, [r0]
+ bl RoundUpFixedPoint
+ cmp r0, 0
+ bne _08069A38
+ ldrb r0, [r5, 0x7]
+ cmp r0, 0
+ beq _08069A2C
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x13
+ b _08069A34
+ .align 2, 0
+_08069A24: .4byte gDungeonGlobalData
+_08069A28: .4byte 0x00000676
+_08069A2C:
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x3B
+_08069A34:
+ strb r1, [r0]
+ adds r4, 0x1
+_08069A38:
+ mov r2, r8
+ ldr r0, [r2, 0x70]
+ movs r7, 0x82
+ lsls r7, 1
+ adds r2, r0, r7
+ ldr r0, [r2]
+ cmp r0, 0x1
+ ble _08069A54
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x1B
+ strb r1, [r0]
+ adds r4, 0x1
+_08069A54:
+ ldr r0, [r2]
+ cmp r0, 0
+ bgt _08069A66
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x28
+ strb r1, [r0]
+ adds r4, 0x1
+_08069A66:
+ ldr r0, [r5, 0x2C]
+ cmp r0, 0xFF
+ ble _08069AAE
+ ldr r0, [r5, 0x30]
+ cmp r0, 0xFF
+ ble _08069AAE
+ ldr r0, [r5, 0x34]
+ cmp r0, 0xFF
+ ble _08069AAE
+ ldr r0, [r5, 0x38]
+ cmp r0, 0xFF
+ ble _08069AAE
+ movs r1, 0x1C
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x9
+ ble _08069AAE
+ movs r2, 0x1E
+ ldrsh r0, [r5, r2]
+ cmp r0, 0x9
+ ble _08069AAE
+ movs r7, 0x20
+ ldrsh r0, [r5, r7]
+ cmp r0, 0x9
+ ble _08069AAE
+ movs r1, 0x22
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x9
+ ble _08069AAE
+ movs r2, 0x24
+ ldrsh r0, [r5, r2]
+ cmp r0, 0x9
+ ble _08069AAE
+ movs r7, 0x26
+ ldrsh r0, [r5, r7]
+ cmp r0, 0x9
+ bgt _08069ABA
+_08069AAE:
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x37
+ strb r1, [r0]
+ adds r4, 0x1
+_08069ABA:
+ adds r0, r5, 0
+ adds r0, 0xA8
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08069AD2
+ cmp r4, 0xB
+ bgt _08069AD2
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ strb r1, [r0]
+ adds r4, 0x1
+_08069AD2:
+ adds r0, r5, 0
+ adds r0, 0xAC
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08069AEC
+ cmp r4, 0xB
+ bgt _08069AEC
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ adds r1, 0x6
+ strb r1, [r0]
+ adds r4, 0x1
+_08069AEC:
+ adds r0, r5, 0
+ adds r0, 0xB0
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08069B06
+ cmp r4, 0xB
+ bgt _08069B06
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ adds r1, 0xB
+ strb r1, [r0]
+ adds r4, 0x1
+_08069B06:
+ adds r0, r5, 0
+ adds r0, 0xBC
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08069B20
+ cmp r4, 0xB
+ bgt _08069B20
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ adds r1, 0x13
+ strb r1, [r0]
+ adds r4, 0x1
+_08069B20:
+ adds r0, r5, 0
+ adds r0, 0xC0
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08069B3A
+ cmp r4, 0xB
+ bgt _08069B3A
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ adds r1, 0x1B
+ strb r1, [r0]
+ adds r4, 0x1
+_08069B3A:
+ adds r0, r5, 0
+ adds r0, 0xC4
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08069B54
+ cmp r4, 0xB
+ bgt _08069B54
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ adds r1, 0x28
+ strb r1, [r0]
+ adds r4, 0x1
+_08069B54:
+ adds r0, r5, 0
+ adds r0, 0xC8
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08069B6E
+ cmp r4, 0xB
+ bgt _08069B6E
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ adds r1, 0x37
+ strb r1, [r0]
+ adds r4, 0x1
+_08069B6E:
+ adds r0, r5, 0
+ adds r0, 0xD0
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08069B88
+ cmp r4, 0xB
+ bgt _08069B88
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ adds r1, 0x3B
+ strb r1, [r0]
+ adds r4, 0x1
+_08069B88:
+ adds r0, r5, 0
+ adds r0, 0xDC
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08069BA2
+ cmp r4, 0xB
+ bgt _08069BA2
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ adds r1, 0x3E
+ strb r1, [r0]
+ adds r4, 0x1
+_08069BA2:
+ adds r0, r5, 0
+ adds r0, 0xE0
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08069BBC
+ cmp r4, 0xB
+ bgt _08069BBC
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ adds r1, 0x43
+ strb r1, [r0]
+ adds r4, 0x1
+_08069BBC:
+ adds r0, r5, 0
+ adds r0, 0xE4
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08069BD6
+ cmp r4, 0xB
+ bgt _08069BD6
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ adds r1, 0x46
+ strb r1, [r0]
+ adds r4, 0x1
+_08069BD6:
+ adds r0, r5, 0
+ adds r0, 0xE8
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08069BF0
+ cmp r4, 0xB
+ bgt _08069BF0
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ adds r1, 0x4A
+ strb r1, [r0]
+ adds r4, 0x1
+_08069BF0:
+ adds r0, r5, 0
+ adds r0, 0xEC
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08069C0A
+ cmp r4, 0xB
+ bgt _08069C0A
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ adds r1, 0x4E
+ strb r1, [r0]
+ adds r4, 0x1
+_08069C0A:
+ movs r1, 0x89
+ lsls r1, 1
+ adds r0, r5, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08069C26
+ cmp r4, 0xB
+ bgt _08069C26
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x50
+ strb r1, [r0]
+ adds r4, 0x1
+_08069C26:
+ adds r0, r5, 0
+ adds r0, 0xF0
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08069C40
+ cmp r4, 0xB
+ bgt _08069C40
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x51
+ strb r1, [r0]
+ adds r4, 0x1
+_08069C40:
+ adds r0, r5, 0
+ adds r0, 0xF1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08069C5A
+ cmp r4, 0xB
+ bgt _08069C5A
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x52
+ strb r1, [r0]
+ adds r4, 0x1
+_08069C5A:
+ adds r0, r5, 0
+ adds r0, 0xF4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08069C74
+ cmp r4, 0xB
+ bgt _08069C74
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x53
+ strb r1, [r0]
+ adds r4, 0x1
+_08069C74:
+ adds r0, r5, 0
+ adds r0, 0xF5
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08069C8E
+ cmp r4, 0xB
+ bgt _08069C8E
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x54
+ strb r1, [r0]
+ adds r4, 0x1
+_08069C8E:
+ mov r0, r8
+ bl ShouldAvoidEnemies
+ lsls r0, 24
+ cmp r0, 0
+ beq _08069CAA
+ cmp r4, 0xB
+ bgt _08069CAA
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x55
+ strb r1, [r0]
+ adds r4, 0x1
+_08069CAA:
+ adds r0, r5, 0
+ adds r0, 0xFD
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08069CC4
+ cmp r4, 0xB
+ bgt _08069CC4
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x56
+ strb r1, [r0]
+ adds r4, 0x1
+_08069CC4:
+ mov r0, r8
+ movs r1, 0
+ bl sub_8070828
+ cmp r0, 0x1
+ ble _08069CE0
+ cmp r4, 0xB
+ bgt _08069CE0
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x57
+ strb r1, [r0]
+ adds r4, 0x1
+_08069CE0:
+ adds r0, r5, 0
+ adds r0, 0xF2
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08069CFA
+ cmp r4, 0xB
+ bgt _08069D0E
+ adds r0, r6, 0
+ adds r0, 0x58
+ adds r0, r4
+ movs r1, 0x58
+ strb r1, [r0]
+ adds r4, 0x1
+_08069CFA:
+ cmp r4, 0xB
+ bgt _08069D0E
+ adds r1, r6, 0
+ adds r1, 0x58
+ movs r2, 0
+_08069D04:
+ adds r0, r1, r4
+ strb r2, [r0]
+ adds r4, 0x1
+ cmp r4, 0xB
+ ble _08069D04
+_08069D0E:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8069844
+
+ thumb_func_start sub_8069D18
+sub_8069D18:
+ push {r4,r5,lr}
+ ldr r3, [r1, 0x70]
+ ldr r4, _08069D48
+ adds r3, 0x46
+ ldrb r2, [r3]
+ lsls r2, 2
+ adds r2, r4
+ ldrh r2, [r2]
+ ldrh r5, [r1, 0x4]
+ adds r2, r5
+ strh r2, [r0]
+ ldrb r2, [r3]
+ lsls r2, 2
+ adds r2, r4
+ ldrh r2, [r2, 0x2]
+ ldrh r1, [r1, 0x6]
+ adds r2, r1
+ strh r2, [r0, 0x2]
+ ldrb r1, [r3]
+ movs r0, 0x1
+ ands r0, r1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08069D48: .4byte gAdjacentTileOffsets
+ thumb_func_end sub_8069D18
+
+ thumb_func_start sub_8069D4C
+sub_8069D4C:
+ push {r4-r6,lr}
+ sub sp, 0xC
+ adds r5, r0, 0
+ ldr r4, [r1, 0x70]
+ ldrh r0, [r4, 0x2]
+ strh r0, [r5]
+ ldr r0, [r1, 0x4]
+ str r0, [r5, 0x4]
+ adds r0, r4, 0
+ adds r0, 0xF7
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08069D6A
+ ldrh r0, [r4, 0x12]
+ b _08069D6C
+_08069D6A:
+ ldrh r0, [r4, 0x10]
+_08069D6C:
+ strh r0, [r5, 0x8]
+ ldrb r0, [r4, 0x9]
+ strh r0, [r5, 0xE]
+ movs r0, 0x2
+ ldrsh r1, [r4, r0]
+ ldrb r2, [r4, 0x9]
+ mov r0, sp
+ bl GetPokemonLevelData
+ ldr r0, [sp]
+ str r0, [r5, 0x10]
+ ldrb r0, [r4, 0x14]
+ strb r0, [r5, 0xA]
+ ldrb r0, [r4, 0x15]
+ strb r0, [r5, 0xB]
+ ldrb r0, [r4, 0x16]
+ strb r0, [r5, 0xC]
+ ldrb r0, [r4, 0x17]
+ strb r0, [r5, 0xD]
+ ldr r0, [r4, 0x60]
+ str r0, [r5, 0x1C]
+ adds r1, r5, 0
+ adds r1, 0x20
+ movs r2, 0x8C
+ lsls r2, 1
+ adds r0, r4, r2
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ movs r3, 0x9E
+ lsls r3, 1
+ adds r0, r4, r3
+ ldr r0, [r0]
+ str r0, [r5, 0x14]
+ movs r6, 0xA0
+ lsls r6, 1
+ adds r0, r4, r6
+ ldr r0, [r0]
+ str r0, [r5, 0x18]
+ ldr r0, [r4, 0x3C]
+ str r0, [r5, 0x44]
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8069D4C
+
+ .align 2, 0 \ No newline at end of file
diff --git a/include/constants/move.h b/include/constants/move.h
index 0601969..eb78219 100644
--- a/include/constants/move.h
+++ b/include/constants/move.h
@@ -1,6 +1,8 @@
#ifndef GUARD_CONSTANTS_MOVE_H
#define GUARD_CONSTANTS_MOVE_H
+#define STRUGGLE_MOVE_INDEX 4
+
enum MoveFlags
{
MOVE_FLAG_EXISTS = 1 << 0,
@@ -11,6 +13,13 @@ enum MoveFlags
MOVE_FLAG_DISABLED = 1 << 5 // Disabled by an effect like Taunt.
};
+enum MoveFlags2
+{
+ MOVE_FLAG_SEALED = 1 << 0,
+ MOVE_FLAG_TEMPORARY = 1 << 3, // Used for moves copied by Mimic.
+ MOVE_FLAG_REPLACE = 1 << 5 // Used for moves copied by Sketch.
+};
+
enum AccuracyType
{
// Accuracy used for all moves.
@@ -52,7 +61,7 @@ struct MoveData
struct PokemonMove
{
u8 moveFlags;
- bool8 sealed;
+ u8 moveFlags2;
u16 moveID;
u8 PP;
u8 powerBoost; // How much the move is boosted by Ginsengs.
diff --git a/include/status_checker_1.h b/include/status_checker_1.h
new file mode 100644
index 0000000..56465d5
--- /dev/null
+++ b/include/status_checker_1.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_STATUS_CHECKER_1_H
+#define GUARD_STATUS_CHECKER_1_H
+
+#include "moves.h"
+
+// 0x5D888
+bool8 HasLastUsedMove(struct PokemonMove *moves);
+
+#endif
diff --git a/ld_script.txt b/ld_script.txt
index d7204b5..4cbde6b 100755
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -212,6 +212,8 @@ SECTIONS {
asm/code_8057824.o(.text);
src/status_checker.o(.text);
asm/code_805D810.o(.text);
+ src/status_checker_1.o(.text);
+ asm/code_805D8C8.o(.text);
src/targeting.o(.text);
asm/code_8069E0C.o(.text);
src/code_806CD90.o(.text);
diff --git a/src/moves.c b/src/moves.c
index 2fcbfd0..8a2606f 100644
--- a/src/moves.c
+++ b/src/moves.c
@@ -51,7 +51,7 @@ u8 sub_809287C(struct PokemonMove *move)
{
if((move->moveFlags & MOVE_FLAG_DISABLED) != 0)
return 0x32;
- else if((move->sealed & 1) == 0)
+ else if((move->moveFlags2 & MOVE_FLAG_SEALED) == 0)
return 0x34;
else
return 0x32;
@@ -130,7 +130,7 @@ void sub_80928C0(u8 *buffer, struct PokemonMove *move, struct unkStruct_80928C0
void InitPokemonMove(struct PokemonMove *move, u16 moveID)
{
move->moveFlags = MOVE_FLAG_ENABLED | MOVE_FLAG_EXISTS;
- move->sealed = FALSE;
+ move->moveFlags2 = 0;
move->moveID = moveID;
move->PP = GetMoveMaxPP(move);
move->powerBoost = 0;
@@ -143,7 +143,7 @@ void sub_8092AA8(struct PokemonMove *move, u16 moveID)
else
{
move->moveFlags = MOVE_FLAG_ENABLED | MOVE_FLAG_EXISTS;
- move->sealed = FALSE;
+ move->moveFlags2 = 0;
move->moveID = moveID;
move->PP = GetMoveMaxPP(move);
move->powerBoost = 0;
diff --git a/src/moves_1.c b/src/moves_1.c
index 80f28af..b312747 100644
--- a/src/moves_1.c
+++ b/src/moves_1.c
@@ -38,7 +38,7 @@ void RestorePokemonMoves(struct unkStruct_8094924 *r0, struct PokemonMove *moveS
void sub_8094148(struct unkStruct_8094924 *r0, struct PokemonMove *move)
{
SaveIntegerBits(r0, &move->moveFlags, 4);
- SaveIntegerBits(r0, &move->sealed, 1);
+ SaveIntegerBits(r0, &move->moveFlags2, 1);
SaveIntegerBits(r0, &move->moveID, 9);
SaveIntegerBits(r0, &move->PP, 7);
SaveIntegerBits(r0, &move->powerBoost, 7);
@@ -59,7 +59,7 @@ void sub_80941B0(struct unkStruct_8094924 *r0, struct PokemonMove *move)
{
memset(move, 0, sizeof(struct PokemonMove));
RestoreIntegerBits(r0, &move->moveFlags, 4);
- RestoreIntegerBits(r0, &move->sealed, 1);
+ RestoreIntegerBits(r0, &move->moveFlags2, 1);
RestoreIntegerBits(r0, &move->moveID, 9);
RestoreIntegerBits(r0, &move->PP, 7);
RestoreIntegerBits(r0, &move->powerBoost, 7);
diff --git a/src/status_checker.c b/src/status_checker.c
index f2ea0f8..de1bd65 100644
--- a/src/status_checker.c
+++ b/src/status_checker.c
@@ -13,6 +13,7 @@
#include "map.h"
#include "moves.h"
#include "number_util.h"
+#include "status_checker_1.h"
#include "status_checks_1.h"
#include "tile_types.h"
#include "trap.h"
@@ -98,7 +99,6 @@ const u8 gDungeonCamouflageTypes[76] = {
TYPE_ROCK
};
-extern bool8 HasLastUsedMove(struct PokemonMove *moves);
extern bool8 HasDisabledMove(struct PokemonMove *moves);
extern bool8 LastMoveOutOfPP(struct PokemonMove *moves);
diff --git a/src/status_checker_1.c b/src/status_checker_1.c
new file mode 100644
index 0000000..ebe6db6
--- /dev/null
+++ b/src/status_checker_1.c
@@ -0,0 +1,21 @@
+#include "global.h"
+#include "status_checker_1.h"
+
+#include "dungeon_entity.h"
+
+bool8 HasLastUsedMove(struct PokemonMove *moves)
+{
+ s32 i;
+ for (i = 0; i < MAX_MON_MOVES; i++)
+ {
+ if (moves[i].moveFlags & MOVE_FLAG_EXISTS && moves[i].moveFlags & MOVE_FLAG_LAST_USED)
+ {
+ return TRUE;
+ }
+ }
+ if (moves[STRUGGLE_MOVE_INDEX].moveFlags & MOVE_FLAG_LAST_USED)
+ {
+ return TRUE;
+ }
+ return FALSE;
+}
diff --git a/src/status_checks_1.c b/src/status_checks_1.c
index c49e127..7070acd 100644
--- a/src/status_checks_1.c
+++ b/src/status_checks_1.c
@@ -28,7 +28,7 @@ bool8 HasNegativeStatus(struct DungeonEntity *pokemon)
for (i = 0; i < MAX_MON_MOVES; i++)
{
struct PokemonMove *moves = pokemonData->moves;
- if (moves[i].moveFlags & MOVE_FLAG_EXISTS && moves[i].sealed & TRUE)
+ if (moves[i].moveFlags & MOVE_FLAG_EXISTS && moves[i].moveFlags2 & MOVE_FLAG_SEALED)
{
return TRUE;
}