	#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 GetLeader
	movs r1, 0x1
	bl sub_806A2BC
	bl GetLeader
	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 gDungeon
_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 GetLeader
	movs r1, 0x1
	bl ShouldMonsterRunAwayAndShowEffect
	lsls r0, 24
	cmp r0, 0
	bne _0805D976
	movs r0, 0x1
	bl sub_8044C10
	bl sub_805E804
	bl GetLeader
	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 GetLeader
	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 gDungeon
_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 gDungeon
_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 SetMonsterActionFields
	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 gDungeon
_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 gDungeon
_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 gDungeon
_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 gDungeon
_0805DBF4: .4byte 0x00000673
_0805DBF8:
	mov r0, r10
	movs r1, 0x1
	bl ShouldMonsterRunAwayAndShowEffect
	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 SetMonsterActionFields
	mov r0, r10
	bl GetTeamMemberEntityIndex
	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 SetMonsterActionFields
	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 gGameOptionsRef
_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 gGameOptionsRef
_0805DF00: .4byte gRealInputs
_0805DF04: .4byte gUnknown_202F22D
_0805DF08: .4byte 0x01000200
_0805DF0C: .4byte gTeamInventory_203B460
_0805DF10: .4byte gDungeon
_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 gDungeon
_0805DFAC: .4byte 0x00018214
_0805DFB0: .4byte gGameOptionsRef
_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 gDungeon
_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 gDungeon
_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 gDungeon
_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 gDungeon
_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 gDungeon
	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 gDungeon
_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 GetTile
	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 CanSeeTarget
	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 gDungeon
_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 GetLeader
	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 GetTile
	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 GetTile
	ldrb r0, [r0, 0x9]
	cmp r0, 0xFF
	beq _0805E922
_0805E906:
	movs r0, 0
	b _0805EC1A
	.align 2, 0
_0805E90C: .4byte gDungeon
_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 GetTile
	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 GetTile
	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 gDungeon
_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 gDungeon
_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 GetTile
	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 SetMonsterActionFields
	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 SetMonsterActionFields
	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 gDungeon
	thumb_func_end sub_805EC4C

	thumb_func_start sub_805EE30
sub_805EE30:
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	bl GetLeader
	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 GetTileAtEntitySafe
	adds r4, r0, 0
	adds r0, r5, 0
	movs r1, 0xD
	bl IQSkillIsEnabled
	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 HasHeldItem
	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 gDungeon
_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 IQSkillIsEnabled
	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 gDungeon
	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 SetMonsterActionFields
	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 GetLeaderInfo
	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 DungeonRandInt
	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 GetLeader
	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 gDungeon
_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 GetLeader
	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 gLeaderPointer
_0805F198: .4byte gAvailablePokemonNames
_0805F19C: .4byte gUnknown_80F9BB0
	thumb_func_end sub_805F02C

	thumb_func_start sub_805F1A0
sub_805F1A0:
	push {lr}
	bl GetLeaderInfo
	adds r0, 0x44
	pop {r1}
	bx r1
	thumb_func_end sub_805F1A0

	thumb_func_start sub_805F1AC
sub_805F1AC:
	push {lr}
	bl GetLeaderInfo
	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 PlayFanfareSE
	b _0805F240
	.align 2, 0
_0805F208: .4byte gDungeon
_0805F20C: .4byte 0x00000137
_0805F210:
	bl GetLeader
	movs r1, 0x1
	bl sub_806675C
	b _0805F226
_0805F21C:
	bl GetLeader
	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 GetLeader
	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 GetLeader
	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 GetLeader
	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 GetLeader
	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 GetLeader
	movs r1, 0
	movs r2, 0xD
	bl sub_8044D90
	adds r4, r0, 0
	bl GetLeader
	adds r1, r4, 0
	bl sub_8048A68
	b _0805F40A
_0805F3D0:
	cmp r0, 0x10
	bne _0805F3EE
	bl GetLeader
	movs r1, 0
	movs r2, 0xE
	bl sub_8044D90
	adds r4, r0, 0
	bl GetLeader
	adds r1, r4, 0
	bl sub_8048950
	b _0805F40A
_0805F3EE:
	cmp r0, 0x2C
	bne _0805F41A
	bl GetLeader
	movs r1, 0
	movs r2, 0xF
	bl sub_8044D90
	adds r4, r0, 0
	bl GetLeader
	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 GetLeader
	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 gDungeon
_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 GetLeader
	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 GetLeaderInfo
	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 gDungeon
_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 gDungeon
_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 GetLeaderInfo
	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 gDungeon
_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 GetLeader
	movs r1, 0
	bl sub_806A2BC
	bl GetLeader
	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 GetLeader
	movs r1, 0x4
	ldrsh r2, [r0, r1]
	movs r3, 0x6
	ldrsh r1, [r0, r3]
	adds r0, r2, 0
	bl GetTile
	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 GetLeader
	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 GetLeader
	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 GetLeader
	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 GetLeader
	movs r1, 0
	movs r2, 0x11
	bl sub_8044D90
	adds r4, r0, 0
	bl GetLeader
	adds r1, r4, 0
	bl sub_8048A68
	b _0805F83A
_0805F81E:
	cmp r0, 0x10
	bne _0805F848
	bl GetLeader
	movs r1, 0
	movs r2, 0x12
	bl sub_8044D90
	adds r4, r0, 0
	bl GetLeader
	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 GetLeader
	movs r1, 0
	movs r2, 0x13
	bl sub_8044D90
	adds r4, r0, 0
	bl GetLeader
	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 GetLeader
	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 GetLeader
	bl sub_80647F0
_0805F8A8:
	bl sub_805F1AC
	lsls r0, 16
	cmp r0, 0
	bne _0805F92A
	b _0805F8CE
_0805F8B4:
	bl GetLeader
	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 gDungeon
_0805F920:
	bl GetLeader
	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 GetLeader
	movs r1, 0x1
	bl ShouldMonsterRunAwayAndShowEffect
	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 GetLeader
	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 GetApparentWeather
	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 gDungeon
_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 sprintfStatic
	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 SetMonsterActionFields
	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 gDungeon
_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 gDungeon
_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 gDungeon
_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 gDungeon
_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 GetTile
	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 gDungeon
_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 GetItemCategory
	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 gDungeon
_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 GetItemCategory
	lsls r0, 24
	cmp r0, 0
	beq _08060A0A
	ldrb r0, [r7, 0x2]
	bl GetItemCategory
	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 gDungeon
_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 gDungeon
_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 gDungeon
_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 GetTile
	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 GetItemCategory
	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 GetItemCategory
	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 GetItemCategory
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x5
	bne _08060C22
	movs r5, 0x1
_08060C22:
	ldrb r0, [r7, 0x2]
	bl GetItemCategory
	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 gDungeon
_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 SetMonsterActionFields
	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 GetLeader
	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 gDungeon
_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 SetMonsterActionFields
	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 gDungeon
_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 GetLeader
	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 GetLeader
	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 gDungeon
_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 CanLeaderSwitch
	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 gDungeon
_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 SetMonsterActionFields
	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 gDungeon
_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 GetLeaderInfo
	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 gDungeon
_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 gDungeon
_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 GetLeader
	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 gDungeon
_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 CanMonsterUseMove
	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 gDungeon
_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 gDungeon
_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 gDungeon
_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 GetLeader
	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 unk_SetMoveToLastInLinkedSequence4
	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 unk_FindMoveEnabledForAIAfter4
	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 unk_SetMoveToFirstInLinkedSequence4
	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 SetMonsterActionFields
	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 SetMonsterActionFields
	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 SetMonsterActionFields
	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 GetTeamMemberEntityIndex
	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 GetTeamMemberEntityIndex
	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 CanMonsterUseMove
	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 CanAIUseMove
	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 SetMonsterActionFields
	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 gDungeon
_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 unk_PrintMoveDescription
	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 unk_FixLinkedMovesSetEnabled4
	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 gDungeon
_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 unk_FixLinkedMovesSetEnabled4
	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 gDungeon
_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 unk_FixLinkedMovesSetEnabled4
	ldr r0, _08063C84
	bl PlaySoundEffect
	pop {r4-r7}
	pop {r0}
	bx r0
	.align 2, 0
_08063C70: .4byte gDungeon
_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 unk_FixLinkedMovesSetEnabled4
	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 gDungeon
_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 unk_FixLinkedMovesSetEnabled8
	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 unk_FindMoveEnabledForAIAfter8
	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 unk_FindMoveEnabledForAIBefore8
	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 SetMonsterActionFields
	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 GetTile
	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 GetTile
	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 SetMonsterActionFields
	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 IsBossFight
	lsls r0, 24
	cmp r0, 0
	bne _08064CA4
_08064C8C:
	bl sub_8083D08
	b _08064CC0
	.align 2, 0
_08064C94: .4byte gDungeon
_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 IsBossFight
	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 gDungeon
	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 gGameOptionsRef
_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 gGameOptionsRef
_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 gDungeon
	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 SetMonsterActionFields
	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 SetMonsterActionFields
	ldr r4, _0806523C
	bl GetLeader
	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 gDungeon
_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 IsBossFight
	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 gDungeon
_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 gGameOptionsRef
_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 IsRecruitingEnabled
	lsls r0, 24
	cmp r0, 0
	bne _08065FF0
	ldr r0, _08065FEC
	b _08065FFE
	.align 2, 0
_08065FE0: .4byte 0xfffff608
_08065FE4: .4byte gDungeon
_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 sprintfStatic
	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 sprintfStatic
	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 sprintfStatic
	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 GetRecruitRate
	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 gDungeon
_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 GetItemCategory
	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 gDungeon
_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 gDungeon
_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 gDungeon
_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 GetTile
	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 gDungeon
_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 GetTile
	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 gDungeon
_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 GetTile
	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 gDungeon
_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 gDungeon
_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 GetItemCategory
	lsls r0, 24
	cmp r0, 0
	beq _08067202
	ldrb r0, [r4, 0x2]
	bl GetItemCategory
	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 ShouldMonsterRunAwayAndShowEffect
	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 GetItemCategory
	lsls r0, 24
	cmp r0, 0
	beq _0806729A
	ldr r0, [sp, 0x4]
	lsrs r0, 16
	lsls r0, 24
	lsrs r0, 24
	bl GetItemCategory
	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 HasHeldItem
	lsls r0, 24
	cmp r0, 0
	beq _08067310
	movs r0, 0x8
	bl DungeonRandInt
	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 GetItemCategory
	lsls r0, 24
	cmp r0, 0
	beq _08067380
	ldrb r0, [r4, 0x2]
	bl GetItemCategory
	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 GetItemCategory
	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 GetItemCategory
	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 HasHeldItem
	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 HasHeldItem
	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 GetItemCategory
	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 gDungeon
_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 GetLeader
	adds r1, r4, 0
	movs r2, 0
	bl sub_8067558
	pop {r4}
	pop {r0}
	bx r0
	.align 2, 0
_08067550: .4byte gDungeon
_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 GetDirectionTowardsPosition
	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 gDungeon
_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 gDungeon
_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 GetLeader
	adds r1, r4, 0
	movs r2, 0
	bl sub_8067794
	pop {r4}
	pop {r0}
	bx r0
	.align 2, 0
_0806778C: .4byte gDungeon
_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 IsMakuhitaTrainingMaze
	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 gDungeon
_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 gDungeon
_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 gDungeon
_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 gDungeon
_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 gDungeon
_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 gDungeon
_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 gDungeon
_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 gDungeon
_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 gDungeon
	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 gDungeon
_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 IsLevelResetTo1
	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 CopyAndResetMoves
_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 gDungeon
_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 GetBodySize
	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 GetBodySize
	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 IsLevelResetTo1
	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 gDungeon
_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 GetLeader
	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 GetTileAtEntitySafe
	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 gDungeon
_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 GetTileAtEntitySafe
	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 gDungeon
_080690E8: .4byte 0x000135cc
_080690EC: .4byte 0x000037fc
_080690F0: .4byte gLeaderPointer
_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 gDungeon
_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 IsLevelResetTo1
	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 IsMakuhitaTrainingMaze
	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 gDungeon
_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 gDungeon
_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 GetLeader
	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 IsBossFight
	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 IsLevelResetTo1
	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 IsMakuhitaTrainingMaze
	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 gDungeon
_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 gLeaderPointer
	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 GetTileSafe
	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 GetTileSafe
	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 gDungeon
_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 GetTile
	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 GetTile
	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 CanAttackInDirection
	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 GetTile
	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 GetTile
	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 GetTile
	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 GetTile
	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 gDungeon
_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 gDungeon
_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 ShouldMonsterRunAway
	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
