diff options
Diffstat (limited to 'asm')
| -rw-r--r-- | asm/battle_frontier_1.s | 12 | ||||
| -rw-r--r-- | asm/battle_frontier_2.s | 6 | ||||
| -rw-r--r-- | asm/battle_tower.s | 10 | ||||
| -rw-r--r-- | asm/pokemon_1.s | 2007 | 
4 files changed, 14 insertions, 2021 deletions
| diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index 38e0e4b0a..60ac46859 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -1591,7 +1591,7 @@ _0818F7E8:  	lsrs r1, 16  	ldr r0, [sp, 0x18]  	movs r2, 0x1 -	bl nature_stat_mod +	bl ModifyStatByNature  	lsls r0, 24  	lsrs r0, 24  	mov r1, r8 @@ -1618,7 +1618,7 @@ _0818F820:  	lsrs r1, 16  	ldr r0, [sp, 0x18]  	movs r2, 0x2 -	bl nature_stat_mod +	bl ModifyStatByNature  	lsls r0, 24  	lsrs r0, 24  	mov r1, r8 @@ -1645,7 +1645,7 @@ _0818F858:  	lsrs r1, 16  	ldr r0, [sp, 0x18]  	movs r2, 0x3 -	bl nature_stat_mod +	bl ModifyStatByNature  	lsls r0, 24  	lsrs r0, 24  	mov r1, r8 @@ -1672,7 +1672,7 @@ _0818F890:  	lsrs r1, 16  	ldr r0, [sp, 0x18]  	movs r2, 0x4 -	bl nature_stat_mod +	bl ModifyStatByNature  	lsls r0, 24  	lsrs r0, 24  	mov r1, r8 @@ -1699,7 +1699,7 @@ _0818F8C8:  	lsrs r1, 16  	ldr r0, [sp, 0x18]  	movs r2, 0x5 -	bl nature_stat_mod +	bl ModifyStatByNature  	lsls r0, 24  	lsrs r0, 24  	mov r1, r8 @@ -1941,7 +1941,7 @@ sub_818FA74: @ 818FA74  	str r4, [sp, 0x4]  	ldr r7, [sp, 0x14]  	str r7, [sp, 0x8] -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	add r0, sp, 0xC  	movs r1, 0x1  	negs r1, r1 diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 67f44a0b6..11220f369 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -1960,7 +1960,7 @@ _0819B572:  	mov r2, r9  	str r2, [sp, 0x8]  	ldr r2, [sp, 0x14] -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	movs r1, 0  	add r0, sp, 0xC  	strb r1, [r0] @@ -2103,7 +2103,7 @@ _0819B678:  	mov r2, r10  	str r2, [sp, 0x8]  	movs r2, 0x1E -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	add r0, sp, 0xC  	movs r3, 0  	strb r3, [r0] @@ -23864,7 +23864,7 @@ _081A6E0C:  	ldr r4, [sp, 0x28]  	str r4, [sp, 0x8]  	lsrs r2, 24 -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	add r0, sp, 0x1C  	movs r7, 0  	strb r7, [r0] diff --git a/asm/battle_tower.s b/asm/battle_tower.s index d92881024..ac582442b 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -2351,7 +2351,7 @@ _08163368:  	ldr r2, [sp, 0x30]  	str r2, [sp, 0x8]  	ldr r2, [sp, 0x20] -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	movs r0, 0xFF  	mov r6, sp  	strb r0, [r6, 0x14] @@ -2775,7 +2775,7 @@ _081636CE:  	str r2, [sp, 0x8]  	ldr r2, [sp, 0x14]  	mov r3, r10 -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	movs r1, 0  	add r0, sp, 0xC  	strb r1, [r0] @@ -2894,7 +2894,7 @@ _081637D0:  	mov r2, r9  	str r2, [sp, 0x8]  	movs r2, 0x1E -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	movs r1, 0  	add r0, sp, 0xC  	strb r1, [r0] @@ -6289,7 +6289,7 @@ _081655A6:  	str r3, [sp, 0x8]  	lsrs r2, 24  	mov r3, r12 -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	movs r0, 0xFF  	str r0, [sp, 0x48]  	movs r0, 0 @@ -7550,7 +7550,7 @@ _08165FDA:  	ldr r2, [sp, 0x2C]  	str r2, [sp, 0x8]  	ldr r2, [sp, 0x20] -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	add r1, sp, 0x14  	movs r0, 0xFF  	strb r0, [r1] diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s index 5dbfb2ee3..da4dca0ed 100644 --- a/asm/pokemon_1.s +++ b/asm/pokemon_1.s @@ -6,2011 +6,4 @@  	.text - -	thumb_func_start sub_8068528 -sub_8068528: @ 8068528 -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	sub sp, 0x14 -	adds r7, r0, 0 -	mov r9, r1 -	lsls r2, 24 -	lsrs r2, 24 -	ldr r6, =gUnknown_08610970 -	ldrb r0, [r1] -	lsls r3, r0, 27 -	lsrs r1, r3, 27 -	movs r5, 0x58 -	muls r1, r5 -	adds r1, r6 -	ldrh r1, [r1, 0x30] -	mov r8, r1 -	lsrs r1, r3, 27 -	muls r1, r5 -	adds r1, r6 -	ldrh r4, [r1, 0x30] -	lsrs r4, 8 -	lsrs r3, 27 -	adds r1, r3, 0 -	muls r1, r5 -	adds r1, r6 -	ldrh r3, [r1, 0x30] -	movs r1, 0xFF -	ands r1, r3 -	lsls r1, 8 -	lsls r5, r2, 1 -	adds r5, r2 -	lsls r5, 2 -	mov r2, r9 -	adds r6, r2, r5 -	orrs r4, r1 -	ldrh r1, [r6, 0x4] -	adds r4, r1 -	ldrb r1, [r2, 0x2] -	adds r4, r1 -	lsls r0, 25 -	lsrs r0, 30 -	subs r0, 0x1 -	lsls r0, 24 -	lsrs r0, 24 -	bl BattleFrontierGetOpponentLvl -	adds r2, r0, 0 -	lsls r2, 24 -	lsrs r2, 24 -	ldrh r1, [r6, 0x4] -	movs r0, 0x1 -	str r0, [sp] -	str r4, [sp, 0x4] -	str r0, [sp, 0x8] -	mov r0, r8 -	str r0, [sp, 0xC] -	adds r0, r7, 0 -	movs r3, 0x1F -	bl CreateMon -	mov r1, r9 -	adds r2, r5, r1 -	adds r2, 0xE -	adds r0, r7, 0 -	movs r1, 0xC -	bl SetMonData -	movs r4, 0 -	movs r2, 0x12 -	add r2, sp -	mov r8, r2 -	mov r6, r9 -	adds r6, 0x6 -_080685BE: -	adds r0, r6, r5 -	ldrh r1, [r0] -	lsls r2, r4, 24 -	lsrs r2, 24 -	adds r0, r7, 0 -	bl SetMonMoveSlot -	adds r5, 0x2 -	adds r4, 0x1 -	cmp r4, 0x3 -	ble _080685BE -	movs r1, 0x55 -	add r0, sp, 0x10 -	strh r1, [r0] -	movs r4, 0 -	mov r5, r9 -	adds r5, 0x3F -_080685E0: -	adds r1, r4, 0 -	adds r1, 0x1A -	adds r0, r7, 0 -	add r2, sp, 0x10 -	bl SetMonData -	adds r4, 0x1 -	cmp r4, 0x5 -	ble _080685E0 -	ldrb r0, [r5] -	mov r1, r8 -	strb r0, [r1] -	adds r0, r7, 0 -	movs r1, 0x3 -	mov r2, r8 -	bl SetMonData -	mov r2, r9 -	ldrb r0, [r2] -	lsls r0, 27 -	lsrs r0, 27 -	mov r2, r8 -	ldrb r1, [r2] -	bl sub_81A1650 -	adds r2, r0, 0 -	adds r0, r7, 0 -	movs r1, 0x7 -	bl SetMonData -	adds r0, r7, 0 -	bl CalculateMonStats -	add sp, 0x14 -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_8068528 - -	thumb_func_start sub_8068634 -sub_8068634: @ 8068634 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x18 -	adds r7, r0, 0 -	ldr r0, [sp, 0x38] -	ldr r4, [sp, 0x3C] -	lsls r1, 16 -	lsrs r1, 16 -	str r1, [sp, 0x14] -	lsls r2, 24 -	lsrs r2, 24 -	mov r10, r2 -	lsls r3, 24 -	lsrs r5, r3, 24 -	lsls r0, 24 -	lsrs r0, 24 -	mov r9, r0 -	lsls r4, 24 -	lsrs r4, 24 -	mov r8, r4 -	movs r6, 0 -_08068664: -	bl Random -	adds r4, r0, 0 -	bl Random -	lsls r4, 16 -	lsrs r4, 16 -	lsls r0, 16 -	orrs r4, r0 -	adds r0, r4, 0 -	bl GetNatureFromPersonality -	lsls r0, 24 -	lsrs r0, 24 -	cmp r5, r0 -	bne _08068664 -	movs r0, 0x1 -	str r0, [sp] -	str r4, [sp, 0x4] -	str r0, [sp, 0x8] -	ldr r0, [sp, 0x40] -	str r0, [sp, 0xC] -	adds r0, r7, 0 -	ldr r1, [sp, 0x14] -	mov r2, r10 -	mov r3, r9 -	bl CreateMon -	mov r5, r8 -	movs r1, 0x1 -	movs r4, 0x5 -_080686A2: -	adds r0, r5, 0 -	ands r0, r1 -	cmp r0, 0 -	beq _080686AC -	adds r6, 0x1 -_080686AC: -	lsrs r5, 1 -	subs r4, 0x1 -	cmp r4, 0 -	bge _080686A2 -	movs r0, 0xFF -	lsls r0, 1 -	adds r1, r6, 0 -	bl __divsi3 -	add r1, sp, 0x10 -	strh r0, [r1] -	movs r5, 0x1 -	movs r4, 0 -_080686C6: -	mov r0, r8 -	ands r0, r5 -	cmp r0, 0 -	beq _080686DA -	adds r1, r4, 0 -	adds r1, 0x1A -	adds r0, r7, 0 -	add r2, sp, 0x10 -	bl SetMonData -_080686DA: -	lsls r0, r5, 25 -	lsrs r5, r0, 24 -	adds r4, 0x1 -	cmp r4, 0x5 -	ble _080686C6 -	adds r0, r7, 0 -	bl CalculateMonStats -	add sp, 0x18 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end sub_8068634 - -	thumb_func_start sub_80686FC -sub_80686FC: @ 80686FC -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	adds r7, r0, 0 -	adds r6, r1, 0 -	movs r1, 0xB -	movs r2, 0 -	bl GetMonData -	strh r0, [r6] -	adds r0, r7, 0 -	movs r1, 0xC -	movs r2, 0 -	bl GetMonData -	lsls r0, 16 -	lsrs r0, 16 -	cmp r0, 0xAF -	bne _08068726 -	movs r0, 0 -_08068726: -	strh r0, [r6, 0x2] -	movs r5, 0 -	movs r0, 0x2B -	adds r0, r6 -	mov r8, r0 -	movs r1, 0x20 -	adds r1, r6 -	mov r9, r1 -	adds r4, r6, 0x4 -_08068738: -	adds r1, r5, 0 -	adds r1, 0xD -	adds r0, r7, 0 -	movs r2, 0 -	bl GetMonData -	strh r0, [r4] -	adds r4, 0x2 -	adds r5, 0x1 -	cmp r5, 0x3 -	ble _08068738 -	adds r0, r7, 0 -	movs r1, 0x38 -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0xC] -	adds r0, r7, 0 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0xD] -	adds r0, r7, 0 -	movs r1, 0x1 -	movs r2, 0 -	bl GetMonData -	str r0, [r6, 0x14] -	adds r0, r7, 0 -	movs r1, 0x1A -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0xE] -	adds r0, r7, 0 -	movs r1, 0x1B -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0xF] -	adds r0, r7, 0 -	movs r1, 0x1C -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0x10] -	adds r0, r7, 0 -	movs r1, 0x1D -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0x11] -	adds r0, r7, 0 -	movs r1, 0x1E -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0x12] -	adds r0, r7, 0 -	movs r1, 0x1F -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0x13] -	adds r0, r7, 0 -	movs r1, 0x20 -	movs r2, 0 -	bl GetMonData -	mov r1, r8 -	strb r0, [r1] -	adds r0, r7, 0 -	movs r1, 0x27 -	movs r2, 0 -	bl GetMonData -	movs r4, 0x1F -	ands r0, r4 -	ldrb r2, [r6, 0x18] -	movs r1, 0x20 -	negs r1, r1 -	ands r1, r2 -	orrs r1, r0 -	strb r1, [r6, 0x18] -	adds r0, r7, 0 -	movs r1, 0x28 -	movs r2, 0 -	bl GetMonData -	movs r5, 0x1F -	ands r0, r5 -	lsls r0, 5 -	ldrh r2, [r6, 0x18] -	ldr r1, =0xfffffc1f -	ands r1, r2 -	orrs r1, r0 -	strh r1, [r6, 0x18] -	adds r0, r7, 0 -	movs r1, 0x29 -	movs r2, 0 -	bl GetMonData -	ands r0, r4 -	lsls r0, 2 -	ldrb r2, [r6, 0x19] -	movs r1, 0x7D -	negs r1, r1 -	ands r1, r2 -	orrs r1, r0 -	strb r1, [r6, 0x19] -	adds r0, r7, 0 -	movs r1, 0x2A -	movs r2, 0 -	bl GetMonData -	movs r1, 0x1F -	ands r1, r0 -	lsls r1, 15 -	ldr r0, [r6, 0x18] -	ldr r2, =0xfff07fff -	ands r0, r2 -	orrs r0, r1 -	str r0, [r6, 0x18] -	adds r0, r7, 0 -	movs r1, 0x2B -	movs r2, 0 -	bl GetMonData -	ands r0, r5 -	lsls r0, 4 -	ldrh r2, [r6, 0x1A] -	ldr r1, =0xfffffe0f -	ands r1, r2 -	orrs r1, r0 -	strh r1, [r6, 0x1A] -	adds r0, r7, 0 -	movs r1, 0x2C -	movs r2, 0 -	bl GetMonData -	ands r0, r4 -	lsls r0, 1 -	ldrb r2, [r6, 0x1B] -	movs r1, 0x3F -	negs r1, r1 -	ands r1, r2 -	orrs r1, r0 -	strb r1, [r6, 0x1B] -	adds r0, r7, 0 -	movs r1, 0x2E -	movs r2, 0 -	bl GetMonData -	lsls r0, 7 -	ldrb r2, [r6, 0x1B] -	movs r1, 0x7F -	ands r1, r2 -	orrs r1, r0 -	strb r1, [r6, 0x1B] -	adds r0, r7, 0 -	movs r1, 0 -	movs r2, 0 -	bl GetMonData -	str r0, [r6, 0x1C] -	adds r0, r7, 0 -	movs r1, 0x2 -	mov r2, r9 -	bl GetMonData -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_80686FC - -	thumb_func_start CreateObedientMon -CreateObedientMon: @ 80688A8 -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	sub sp, 0x14 -	mov r8, r0 -	ldr r4, [sp, 0x2C] -	ldr r6, [sp, 0x30] -	ldr r5, [sp, 0x34] -	ldr r7, [sp, 0x38] -	lsls r1, 16 -	lsrs r1, 16 -	lsls r2, 24 -	lsrs r2, 24 -	lsls r3, 24 -	lsrs r3, 24 -	lsls r4, 24 -	lsrs r4, 24 -	lsls r5, 24 -	lsrs r5, 24 -	movs r0, 0x1 -	str r0, [sp, 0x10] -	str r4, [sp] -	str r6, [sp, 0x4] -	str r5, [sp, 0x8] -	str r7, [sp, 0xC] -	mov r0, r8 -	bl CreateMon -	mov r0, r8 -	movs r1, 0x50 -	add r2, sp, 0x10 -	bl SetMonData -	add sp, 0x14 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end CreateObedientMon - -	thumb_func_start sub_80688F8 -sub_80688F8: @ 80688F8 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, 24 -	lsrs r5, r1, 24 -	cmp r0, 0x5 -	bhi _080689CE -	lsls r0, 2 -	ldr r1, =_08068914 -	adds r0, r1 -	ldr r0, [r0] -	mov pc, r0 -	.pool -	.align 2, 0 -_08068914: -	.4byte _080689CE -	.4byte _0806892C -	.4byte _08068A00 -	.4byte _08068958 -	.4byte _08068A00 -	.4byte _08068990 -_0806892C: -	ldr r0, =gBattleTypeFlags -	ldr r0, [r0] -	movs r1, 0x40 -	ands r0, r1 -	cmp r0, 0 -	beq _080689CE -	ldr r0, =gMain -	ldr r1, =0x00000439 -	adds r0, r1 -	ldrb r1, [r0] -	movs r0, 0x2 -	ands r0, r1 -	cmp r0, 0 -	beq _080689CE -	b _080689B6 -	.pool -_08068958: -	ldr r0, =gBattleTypeFlags -	ldr r0, [r0] -	movs r1, 0x40 -	ands r0, r1 -	cmp r0, 0 -	beq _080689CE -	ldr r0, =gMain -	ldr r1, =0x00000439 -	adds r0, r1 -	ldrb r1, [r0] -	movs r0, 0x2 -	ands r0, r1 -	cmp r0, 0 -	beq _080689CE -	cmp r5, 0x1 -	beq _08068A00 -	cmp r5, 0x4 -	beq _08068A00 -	cmp r5, 0x5 -	beq _08068A00 -	b _080689CE -	.pool -_08068990: -	ldr r0, =gBattleTypeFlags -	ldr r2, [r0] -	movs r3, 0x2 -	adds r0, r2, 0 -	ands r0, r3 -	cmp r0, 0 -	beq _080689E4 -	ldr r0, =gMain -	ldr r1, =0x00000439 -	adds r0, r1 -	ldrb r1, [r0] -	adds r0, r3, 0 -	ands r0, r1 -	cmp r0, 0 -	beq _080689CE -	movs r0, 0x40 -	ands r2, r0 -	cmp r2, 0 -	beq _080689F4 -_080689B6: -	ldr r4, =gLinkPlayers -	bl GetMultiplayerId -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 3 -	subs r1, r0 -	lsls r1, 2 -	adds r1, r4 -	ldrh r0, [r1, 0x18] -	cmp r0, r5 -	bne _08068A00 -_080689CE: -	movs r0, 0 -	b _08068A02 -	.pool -_080689E4: -	ldr r0, =gMain -	ldr r1, =0x00000439 -	adds r0, r1 -	ldrb r1, [r0] -	adds r0, r3, 0 -	ands r0, r1 -	cmp r0, 0 -	beq _080689CE -_080689F4: -	adds r0, r5, 0 -	bl GetBattlerSide -	lsls r0, 24 -	cmp r0, 0 -	beq _080689CE -_08068A00: -	movs r0, 0x1 -_08068A02: -	pop {r4,r5} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end sub_80688F8 - -	thumb_func_start GetDeoxysStat -GetDeoxysStat: @ 8068A10 -	push {r4-r6,lr} -	adds r5, r0, 0 -	adds r6, r1, 0 -	ldr r0, =gBattleTypeFlags -	ldr r0, [r0] -	movs r1, 0x20 -	ands r0, r1 -	cmp r0, 0 -	bne _08068A34 -	adds r0, r5, 0 -	movs r1, 0xB -	movs r2, 0 -	bl GetMonData -	movs r1, 0xCD -	lsls r1, 1 -	cmp r0, r1 -	beq _08068A3C -_08068A34: -	movs r0, 0 -	b _08068A9A -	.pool -_08068A3C: -	adds r1, r6, 0 -	adds r1, 0x27 -	adds r0, r5, 0 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	adds r1, r6, 0 -	adds r1, 0x1A -	adds r0, r5, 0 -	movs r2, 0 -	bl GetMonData -	ldr r2, =gUnknown_08329D48 -	lsls r1, r6, 1 -	adds r1, r2 -	ldrh r1, [r1] -	lsls r1, 1 -	adds r1, r4 -	cmp r0, 0 -	bge _08068A68 -	adds r0, 0x3 -_08068A68: -	asrs r0, 2 -	adds r0, r1, r0 -	adds r1, r5, 0 -	adds r1, 0x54 -	ldrb r1, [r1] -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, 0x5 -	lsls r0, 16 -	lsrs r4, r0, 16 -	adds r0, r5, 0 -	bl GetNature -	lsls r0, 24 -	lsrs r0, 24 -	lsls r2, r6, 24 -	lsrs r2, 24 -	adds r1, r4, 0 -	bl nature_stat_mod -	lsls r0, 16 -	lsrs r4, r0, 16 -	adds r0, r4, 0 -_08068A9A: -	pop {r4-r6} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end GetDeoxysStat - -	thumb_func_start sub_8068AA4 -sub_8068AA4: @ 8068AA4 -	push {r4,r5,lr} -	sub sp, 0x4 -	movs r5, 0 -_08068AAA: -	movs r0, 0x64 -	adds r1, r5, 0 -	muls r1, r0 -	ldr r0, =gPlayerParty -	adds r4, r1, r0 -	adds r0, r4, 0 -	movs r1, 0xB -	movs r2, 0 -	bl GetMonData -	movs r1, 0xCD -	lsls r1, 1 -	cmp r0, r1 -	bne _08068B34 -	adds r0, r4, 0 -	movs r1, 0x3B -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -	adds r0, r4, 0 -	movs r1, 0x3B -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	movs r1, 0x3C -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -	adds r0, r4, 0 -	movs r1, 0x3C -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	movs r1, 0x3D -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -	adds r0, r4, 0 -	movs r1, 0x3D -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	movs r1, 0x3E -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -	adds r0, r4, 0 -	movs r1, 0x3E -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	movs r1, 0x3F -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -	adds r0, r4, 0 -	movs r1, 0x3F -	mov r2, sp -	bl SetMonData -_08068B34: -	adds r5, 0x1 -	cmp r5, 0x5 -	ble _08068AAA -	add sp, 0x4 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_8068AA4 - -	thumb_func_start sub_8068B48 -sub_8068B48: @ 8068B48 -	push {lr} -	ldr r0, =gBattleTypeFlags -	ldr r0, [r0] -	movs r1, 0x80 -	lsls r1, 18 -	ands r0, r1 -	cmp r0, 0 -	beq _08068B6C -	ldr r0, =gUnknown_0203C7B4 -	ldrb r1, [r0] -	movs r0, 0x1 -	eors r0, r1 -	b _08068B78 -	.pool -_08068B6C: -	bl GetMultiplayerId -	movs r1, 0x1 -	eors r0, r1 -	lsls r0, 24 -	lsrs r0, 24 -_08068B78: -	ldr r3, =gLinkPlayers -	lsls r1, r0, 3 -	subs r1, r0 -	lsls r1, 2 -	adds r0, r3, 0x4 -	adds r0, r1, r0 -	ldr r2, [r0] -	movs r0, 0x7 -	ands r2, r0 -	adds r1, r3 -	ldrb r0, [r1, 0x13] -	lsls r0, 3 -	orrs r2, r0 -	ldr r0, =gUnknown_08329D54 -	lsls r2, 1 -	adds r2, r0 -	ldrh r0, [r2] -	bl sub_806EFF0 -	lsls r0, 16 -	lsrs r0, 16 -	pop {r1} -	bx r1 -	.pool -	thumb_func_end sub_8068B48 - -	thumb_func_start sub_8068BB0 -sub_8068BB0: @ 8068BB0 -	push {lr} -	ldr r0, =gBattleTypeFlags -	ldr r0, [r0] -	movs r1, 0x80 -	lsls r1, 18 -	ands r0, r1 -	cmp r0, 0 -	beq _08068BD4 -	ldr r0, =gUnknown_0203C7B4 -	ldrb r1, [r0] -	movs r0, 0x1 -	eors r0, r1 -	b _08068BE0 -	.pool -_08068BD4: -	bl GetMultiplayerId -	movs r1, 0x1 -	eors r0, r1 -	lsls r0, 24 -	lsrs r0, 24 -_08068BE0: -	ldr r3, =gLinkPlayers -	lsls r1, r0, 3 -	subs r1, r0 -	lsls r1, 2 -	adds r0, r3, 0x4 -	adds r0, r1, r0 -	ldr r2, [r0] -	movs r0, 0x7 -	ands r2, r0 -	adds r1, r3 -	ldrb r0, [r1, 0x13] -	lsls r0, 3 -	orrs r2, r0 -	ldr r1, =gFacilityClassToTrainerClass -	ldr r0, =gUnknown_08329D54 -	lsls r2, 1 -	adds r2, r0 -	ldrh r0, [r2] -	adds r0, r1 -	ldrb r0, [r0] -	pop {r1} -	bx r1 -	.pool -	thumb_func_end sub_8068BB0 - -	thumb_func_start DoScriptedWildBattle -DoScriptedWildBattle: @ 8068C18 -	push {r4-r7,lr} -	sub sp, 0x14 -	ldr r0, =gSpecialVar_0x8004 -	ldrh r5, [r0] -	ldr r0, =gSpecialVar_0x8005 -	ldrh r4, [r0] -	ldr r0, =gSpecialVar_0x8006 -	ldrh r6, [r0] -	bl ZeroEnemyPartyMons -	ldr r7, =gEnemyParty -	lsls r4, 24 -	lsrs r4, 24 -	movs r0, 0 -	str r0, [sp] -	str r0, [sp, 0x4] -	str r0, [sp, 0x8] -	str r0, [sp, 0xC] -	adds r0, r7, 0 -	adds r1, r5, 0 -	adds r2, r4, 0 -	movs r3, 0x20 -	bl CreateObedientMon -	cmp r6, 0 -	beq _08068C60 -	add r0, sp, 0x10 -	strb r6, [r0] -	adds r1, r0, 0 -	asrs r0, r6, 8 -	strb r0, [r1, 0x1] -	adds r0, r7, 0 -	movs r1, 0xC -	add r2, sp, 0x10 -	bl SetMonData -_08068C60: -	add sp, 0x14 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end DoScriptedWildBattle - -	thumb_func_start CalculateBoxMonChecksum -@ int CalculateBoxMonChecksum(pokemon *mon) -CalculateBoxMonChecksum: @ 8068C78 -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	adds r4, r0, 0 -	movs r6, 0 -	ldr r1, [r4] -	movs r2, 0 -	bl GetSubstruct -	adds r5, r0, 0 -	ldr r1, [r4] -	adds r0, r4, 0 -	movs r2, 0x1 -	bl GetSubstruct -	adds r7, r0, 0 -	ldr r1, [r4] -	adds r0, r4, 0 -	movs r2, 0x2 -	bl GetSubstruct -	mov r8, r0 -	ldr r1, [r4] -	adds r0, r4, 0 -	movs r2, 0x3 -	bl GetSubstruct -	adds r3, r0, 0 -	movs r1, 0x5 -_08068CB2: -	ldrh r0, [r5] -	adds r0, r6, r0 -	lsls r0, 16 -	lsrs r6, r0, 16 -	adds r5, 0x2 -	subs r1, 0x1 -	cmp r1, 0 -	bge _08068CB2 -	adds r2, r7, 0 -	movs r1, 0x5 -_08068CC6: -	ldrh r0, [r2] -	adds r0, r6, r0 -	lsls r0, 16 -	lsrs r6, r0, 16 -	adds r2, 0x2 -	subs r1, 0x1 -	cmp r1, 0 -	bge _08068CC6 -	mov r2, r8 -	movs r1, 0x5 -_08068CDA: -	ldrh r0, [r2] -	adds r0, r6, r0 -	lsls r0, 16 -	lsrs r6, r0, 16 -	adds r2, 0x2 -	subs r1, 0x1 -	cmp r1, 0 -	bge _08068CDA -	adds r2, r3, 0 -	movs r1, 0x5 -_08068CEE: -	ldrh r0, [r2] -	adds r0, r6, r0 -	lsls r0, 16 -	lsrs r6, r0, 16 -	adds r2, 0x2 -	subs r1, 0x1 -	cmp r1, 0 -	bge _08068CEE -	adds r0, r6, 0 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r1} -	bx r1 -	thumb_func_end CalculateBoxMonChecksum - -	thumb_func_start CalculateMonStats -CalculateMonStats: @ 8068D0C -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x40 -	adds r5, r0, 0 -	movs r1, 0x3A -	movs r2, 0 -	bl GetMonData -	mov r8, r0 -	adds r0, r5, 0 -	movs r1, 0x39 -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x1C] -	adds r0, r5, 0 -	movs r1, 0x27 -	movs r2, 0 -	bl GetMonData -	adds r6, r0, 0 -	adds r0, r5, 0 -	movs r1, 0x1A -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	adds r0, r5, 0 -	movs r1, 0x28 -	movs r2, 0 -	bl GetMonData -	mov r10, r0 -	adds r0, r5, 0 -	movs r1, 0x1B -	movs r2, 0 -	bl GetMonData -	mov r9, r0 -	adds r0, r5, 0 -	movs r1, 0x29 -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x20] -	adds r0, r5, 0 -	movs r1, 0x1C -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x24] -	adds r0, r5, 0 -	movs r1, 0x2A -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x28] -	adds r0, r5, 0 -	movs r1, 0x1D -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x2C] -	adds r0, r5, 0 -	movs r1, 0x2B -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x30] -	adds r0, r5, 0 -	movs r1, 0x1E -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x34] -	adds r0, r5, 0 -	movs r1, 0x2C -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x38] -	adds r0, r5, 0 -	movs r1, 0x1F -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x3C] -	adds r0, r5, 0 -	movs r1, 0xB -	movs r2, 0 -	bl GetMonData -	lsls r0, 16 -	lsrs r7, r0, 16 -	adds r0, r5, 0 -	bl GetLevelFromMonExp -	lsls r0, 24 -	lsrs r0, 24 -	str r0, [sp] -	adds r0, r5, 0 -	movs r1, 0x38 -	mov r2, sp -	bl SetMonData -	ldr r0, =0x0000012f -	cmp r7, r0 -	bne _08068DF8 -	movs r0, 0x1 -	str r0, [sp, 0x4] -	lsls r6, r7, 3 -	b _08068E26 -	.pool -_08068DF8: -	ldr r1, =gBaseStats -	lsls r2, r7, 3 -	subs r0, r2, r7 -	lsls r0, 2 -	adds r0, r1 -	ldrb r0, [r0] -	lsls r0, 1 -	adds r1, r0, r6 -	adds r0, r4, 0 -	adds r6, r2, 0 -	cmp r0, 0 -	bge _08068E12 -	adds r0, 0x3 -_08068E12: -	asrs r0, 2 -	adds r0, r1, r0 -	ldr r4, [sp] -	muls r0, r4 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, r4 -	adds r0, 0xA -	str r0, [sp, 0x4] -_08068E26: -	ldr r1, =gBattleScripting -	add r2, sp, 0x4 -	ldrb r0, [r2] -	mov r3, r8 -	subs r0, r3 -	adds r1, 0x23 -	strb r0, [r1] -	lsls r0, 24 -	cmp r0, 0 -	bne _08068E3E -	movs r0, 0x1 -	strb r0, [r1] -_08068E3E: -	adds r0, r5, 0 -	movs r1, 0x3A -	bl SetMonData -	ldr r0, =gBaseStats -	subs r1, r6, r7 -	lsls r1, 2 -	adds r6, r1, r0 -	ldrb r0, [r6, 0x1] -	lsls r0, 1 -	mov r2, r10 -	adds r1, r0, r2 -	mov r0, r9 -	cmp r0, 0 -	bge _08068E5E -	adds r0, 0x3 -_08068E5E: -	asrs r0, 2 -	adds r0, r1, r0 -	ldr r1, [sp] -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, 0x5 -	str r0, [sp, 0x8] -	adds r0, r5, 0 -	bl GetNature -	lsls r0, 24 -	lsrs r0, 24 -	add r4, sp, 0x8 -	ldrh r1, [r4] -	movs r2, 0x1 -	bl nature_stat_mod -	lsls r0, 16 -	lsrs r0, 16 -	str r0, [sp, 0x8] -	adds r0, r5, 0 -	movs r1, 0x3B -	adds r2, r4, 0 -	bl SetMonData -	ldrb r0, [r6, 0x2] -	lsls r0, 1 -	ldr r3, [sp, 0x20] -	adds r1, r0, r3 -	ldr r0, [sp, 0x24] -	cmp r0, 0 -	bge _08068EA4 -	adds r0, 0x3 -_08068EA4: -	asrs r0, 2 -	adds r0, r1, r0 -	ldr r1, [sp] -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, 0x5 -	str r0, [sp, 0xC] -	adds r0, r5, 0 -	bl GetNature -	lsls r0, 24 -	lsrs r0, 24 -	add r4, sp, 0xC -	ldrh r1, [r4] -	movs r2, 0x2 -	bl nature_stat_mod -	lsls r0, 16 -	lsrs r0, 16 -	str r0, [sp, 0xC] -	adds r0, r5, 0 -	movs r1, 0x3C -	adds r2, r4, 0 -	bl SetMonData -	ldrb r0, [r6, 0x3] -	lsls r0, 1 -	ldr r2, [sp, 0x28] -	adds r1, r0, r2 -	ldr r0, [sp, 0x2C] -	cmp r0, 0 -	bge _08068EEA -	adds r0, 0x3 -_08068EEA: -	asrs r0, 2 -	adds r0, r1, r0 -	ldr r1, [sp] -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, 0x5 -	str r0, [sp, 0x10] -	adds r0, r5, 0 -	bl GetNature -	lsls r0, 24 -	lsrs r0, 24 -	add r4, sp, 0x10 -	ldrh r1, [r4] -	movs r2, 0x3 -	bl nature_stat_mod -	lsls r0, 16 -	lsrs r0, 16 -	str r0, [sp, 0x10] -	adds r0, r5, 0 -	movs r1, 0x3D -	adds r2, r4, 0 -	bl SetMonData -	ldrb r0, [r6, 0x4] -	lsls r0, 1 -	ldr r3, [sp, 0x30] -	adds r1, r0, r3 -	ldr r0, [sp, 0x34] -	cmp r0, 0 -	bge _08068F30 -	adds r0, 0x3 -_08068F30: -	asrs r0, 2 -	adds r0, r1, r0 -	ldr r1, [sp] -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, 0x5 -	str r0, [sp, 0x14] -	adds r0, r5, 0 -	bl GetNature -	lsls r0, 24 -	lsrs r0, 24 -	add r4, sp, 0x14 -	ldrh r1, [r4] -	movs r2, 0x4 -	bl nature_stat_mod -	lsls r0, 16 -	lsrs r0, 16 -	str r0, [sp, 0x14] -	adds r0, r5, 0 -	movs r1, 0x3E -	adds r2, r4, 0 -	bl SetMonData -	ldrb r0, [r6, 0x5] -	lsls r0, 1 -	ldr r2, [sp, 0x38] -	adds r1, r0, r2 -	ldr r0, [sp, 0x3C] -	cmp r0, 0 -	bge _08068F76 -	adds r0, 0x3 -_08068F76: -	asrs r0, 2 -	adds r0, r1, r0 -	ldr r1, [sp] -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, 0x5 -	str r0, [sp, 0x18] -	adds r0, r5, 0 -	bl GetNature -	lsls r0, 24 -	lsrs r0, 24 -	add r4, sp, 0x18 -	ldrh r1, [r4] -	movs r2, 0x5 -	bl nature_stat_mod -	lsls r0, 16 -	lsrs r0, 16 -	str r0, [sp, 0x18] -	adds r0, r5, 0 -	movs r1, 0x3F -	adds r2, r4, 0 -	bl SetMonData -	ldr r0, =0x0000012f -	cmp r7, r0 -	bne _08068FD0 -	ldr r0, [sp, 0x1C] -	cmp r0, 0 -	bne _08068FBE -	mov r3, r8 -	cmp r3, 0 -	bne _08068FF4 -_08068FBE: -	movs r0, 0x1 -	b _08068FE8 -	.pool -_08068FD0: -	ldr r1, [sp, 0x1C] -	cmp r1, 0 -	bne _08068FE0 -	mov r0, r8 -	cmp r0, 0 -	bne _08068FF4 -	ldr r0, [sp, 0x4] -	b _08068FE8 -_08068FE0: -	ldr r0, [sp, 0x4] -	mov r2, r8 -	subs r0, r2 -	adds r0, r1, r0 -_08068FE8: -	str r0, [sp, 0x1C] -	add r2, sp, 0x1C -	adds r0, r5, 0 -	movs r1, 0x39 -	bl SetMonData -_08068FF4: -	add sp, 0x40 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end CalculateMonStats - -	thumb_func_start BoxMonToMon -BoxMonToMon: @ 8069004 -	push {r4,lr} -	sub sp, 0x4 -	adds r2, r0, 0 -	adds r4, r1, 0 -	movs r0, 0 -	str r0, [sp] -	adds r0, r4, 0 -	adds r1, r2, 0 -	movs r2, 0x50 -	bl memcpy -	adds r0, r4, 0 -	movs r1, 0x37 -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	movs r1, 0x39 -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	movs r1, 0x3A -	mov r2, sp -	bl SetMonData -	movs r0, 0xFF -	str r0, [sp] -	adds r0, r4, 0 -	movs r1, 0x40 -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	bl CalculateMonStats -	add sp, 0x4 -	pop {r4} -	pop {r0} -	bx r0 -	thumb_func_end BoxMonToMon - -	thumb_func_start GetLevelFromMonExp -GetLevelFromMonExp: @ 8069054 -	push {r4-r6,lr} -	adds r5, r0, 0 -	movs r1, 0xB -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	adds r0, r5, 0 -	movs r1, 0x19 -	movs r2, 0 -	bl GetMonData -	adds r3, r0, 0 -	movs r2, 0x1 -	ldr r6, =gExperienceTables -	ldr r1, =gBaseStats -	lsls r0, r4, 3 -	subs r0, r4 -	lsls r0, 2 -	adds r1, r0, r1 -	ldrb r0, [r1, 0x13] -	movs r5, 0xCA -	lsls r5, 1 -	muls r0, r5 -	adds r0, 0x4 -	adds r0, r6 -	ldr r0, [r0] -	cmp r0, r3 -	bhi _080690AA -	adds r4, r1, 0 -_08069094: -	adds r2, 0x1 -	cmp r2, 0x64 -	bgt _080690AA -	lsls r1, r2, 2 -	ldrb r0, [r4, 0x13] -	muls r0, r5 -	adds r1, r0 -	adds r1, r6 -	ldr r0, [r1] -	cmp r0, r3 -	bls _08069094 -_080690AA: -	subs r0, r2, 0x1 -	lsls r0, 24 -	lsrs r0, 24 -	pop {r4-r6} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end GetLevelFromMonExp - -	thumb_func_start GetLevelFromBoxMonExp -GetLevelFromBoxMonExp: @ 80690C0 -	push {r4-r6,lr} -	adds r5, r0, 0 -	movs r1, 0xB -	movs r2, 0 -	bl GetBoxMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	adds r0, r5, 0 -	movs r1, 0x19 -	movs r2, 0 -	bl GetBoxMonData -	adds r3, r0, 0 -	movs r2, 0x1 -	ldr r6, =gExperienceTables -	ldr r1, =gBaseStats -	lsls r0, r4, 3 -	subs r0, r4 -	lsls r0, 2 -	adds r1, r0, r1 -	ldrb r0, [r1, 0x13] -	movs r5, 0xCA -	lsls r5, 1 -	muls r0, r5 -	adds r0, 0x4 -	adds r0, r6 -	ldr r0, [r0] -	cmp r0, r3 -	bhi _08069116 -	adds r4, r1, 0 -_08069100: -	adds r2, 0x1 -	cmp r2, 0x64 -	bgt _08069116 -	lsls r1, r2, 2 -	ldrb r0, [r4, 0x13] -	muls r0, r5 -	adds r1, r0 -	adds r1, r6 -	ldr r0, [r1] -	cmp r0, r3 -	bls _08069100 -_08069116: -	subs r0, r2, 0x1 -	lsls r0, 24 -	lsrs r0, 24 -	pop {r4-r6} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end GetLevelFromBoxMonExp - -	thumb_func_start GiveMoveToMon -GiveMoveToMon: @ 806912C -	push {lr} -	lsls r1, 16 -	lsrs r1, 16 -	bl GiveMoveToBoxMon -	lsls r0, 16 -	lsrs r0, 16 -	pop {r1} -	bx r1 -	thumb_func_end GiveMoveToMon - -	thumb_func_start GiveMoveToBoxMon -GiveMoveToBoxMon: @ 8069140 -	push {r4-r7,lr} -	sub sp, 0x4 -	adds r7, r0, 0 -	mov r0, sp -	strh r1, [r0] -	movs r5, 0 -	mov r6, sp -_0806914E: -	adds r4, r5, 0 -	adds r4, 0xD -	adds r0, r7, 0 -	adds r1, r4, 0 -	movs r2, 0 -	bl GetBoxMonData -	lsls r0, 16 -	lsrs r0, 16 -	cmp r0, 0 -	bne _0806918C -	adds r0, r7, 0 -	adds r1, r4, 0 -	mov r2, sp -	bl SetBoxMonData -	adds r1, r5, 0 -	adds r1, 0x11 -	ldrh r0, [r6] -	lsls r2, r0, 1 -	adds r2, r0 -	lsls r2, 2 -	ldr r0, =gBattleMoves + 0x4 @ PP offset -	adds r2, r0 -	adds r0, r7, 0 -	bl SetBoxMonData -	ldrh r0, [r6] -	b _080691A4 -	.pool -_0806918C: -	ldrh r1, [r6] -	cmp r0, r1 -	bne _0806919C -	ldr r0, =0x0000fffe -	b _080691A4 -	.pool -_0806919C: -	adds r5, 0x1 -	cmp r5, 0x3 -	ble _0806914E -	ldr r0, =0x0000ffff -_080691A4: -	add sp, 0x4 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end GiveMoveToBoxMon - -	thumb_func_start GiveMoveToBattleMon -GiveMoveToBattleMon: @ 80691B0 -	push {r4,r5,lr} -	lsls r1, 16 -	lsrs r4, r1, 16 -	movs r3, 0 -	adds r5, r0, 0 -	adds r5, 0x24 -	ldr r2, =gBattleMoves -	lsls r1, r4, 1 -	adds r1, r4 -	lsls r1, 2 -	adds r2, r1, r2 -	adds r1, r0, 0 -	adds r1, 0xC -_080691CA: -	ldrh r0, [r1] -	cmp r0, 0 -	bne _080691E0 -	strh r4, [r1] -	adds r1, r5, r3 -	ldrb r0, [r2, 0x4] -	strb r0, [r1] -	adds r0, r4, 0 -	b _080691EA -	.pool -_080691E0: -	adds r1, 0x2 -	adds r3, 0x1 -	cmp r3, 0x3 -	ble _080691CA -	ldr r0, =0x0000ffff -_080691EA: -	pop {r4,r5} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end GiveMoveToBattleMon - -	thumb_func_start SetMonMoveSlot -SetMonMoveSlot: @ 80691F4 -	push {r4,r5,lr} -	sub sp, 0x4 -	adds r5, r0, 0 -	adds r4, r2, 0 -	mov r0, sp -	strh r1, [r0] -	lsls r4, 24 -	lsrs r4, 24 -	adds r1, r4, 0 -	adds r1, 0xD -	adds r0, r5, 0 -	mov r2, sp -	bl SetMonData -	adds r4, 0x11 -	mov r0, sp -	ldrh r0, [r0] -	lsls r2, r0, 1 -	adds r2, r0 -	lsls r2, 2 -	ldr r0, =gBattleMoves + 0x4 @ PP offset -	adds r2, r0 -	adds r0, r5, 0 -	adds r1, r4, 0 -	bl SetMonData -	add sp, 0x4 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end SetMonMoveSlot - -	thumb_func_start SetBattleMonMoveSlot -SetBattleMonMoveSlot: @ 8069234 -	push {r4,lr} -	lsls r1, 16 -	lsrs r1, 16 -	lsls r2, 24 -	lsrs r2, 24 -	lsls r4, r2, 1 -	adds r3, r0, 0 -	adds r3, 0xC -	adds r3, r4 -	strh r1, [r3] -	adds r0, 0x24 -	adds r0, r2 -	ldr r3, =gBattleMoves -	lsls r2, r1, 1 -	adds r2, r1 -	lsls r2, 2 -	adds r2, r3 -	ldrb r1, [r2, 0x4] -	strb r1, [r0] -	pop {r4} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end SetBattleMonMoveSlot - -	thumb_func_start GiveMonInitialMoveset -GiveMonInitialMoveset: @ 8069264 -	push {lr} -	bl GiveBoxMonInitialMoveset -	pop {r0} -	bx r0 -	thumb_func_end GiveMonInitialMoveset - -	thumb_func_start GiveBoxMonInitialMoveset -GiveBoxMonInitialMoveset: @ 8069270 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x4 -	mov r8, r0 -	movs r1, 0xB -	movs r2, 0 -	bl GetBoxMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	mov r0, r8 -	bl GetLevelFromBoxMonExp -	lsls r0, 24 -	lsrs r0, 24 -	mov r10, r0 -	ldr r0, =gLevelUpLearnsets -	lsls r6, r4, 2 -	adds r0, r6, r0 -	ldr r0, [r0] -	ldrh r1, [r0] -	ldr r2, =0xffff0000 -	lsrs r0, r2, 16 -	cmp r1, r0 -	beq _080692FC -	mov r9, r2 -	movs r3, 0 -_080692AE: -	ldr r0, =gLevelUpLearnsets -	adds r7, r6, r0 -	ldr r0, [r7] -	adds r0, r3, r0 -	ldrh r2, [r0] -	movs r1, 0xFE -	lsls r1, 8 -	adds r0, r1, 0 -	ands r0, r2 -	mov r4, r10 -	lsls r1, r4, 9 -	cmp r0, r1 -	bgt _080692FC -	ldr r1, =0x000001ff -	adds r0, r1, 0 -	adds r4, r0, 0 -	ands r4, r2 -	mov r0, r8 -	adds r1, r4, 0 -	str r3, [sp] -	bl GiveMoveToBoxMon -	lsls r0, 16 -	mov r1, r9 -	lsrs r5, r1, 16 -	ldr r3, [sp] -	cmp r0, r9 -	bne _080692F0 -	mov r0, r8 -	adds r1, r4, 0 -	bl DeleteFirstMoveAndGiveMoveToBoxMon -	ldr r3, [sp] -_080692F0: -	adds r3, 0x2 -	ldr r0, [r7] -	adds r0, r3, r0 -	ldrh r0, [r0] -	cmp r0, r5 -	bne _080692AE -_080692FC: -	add sp, 0x4 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end GiveBoxMonInitialMoveset - -	thumb_func_start MonTryLearningNewMove -MonTryLearningNewMove: @ 8069318 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x4 -	mov r8, r0 -	lsls r4, r1, 24 -	lsrs r4, 24 -	movs r0, 0 -	str r0, [sp] -	mov r0, r8 -	movs r1, 0xB -	movs r2, 0 -	bl GetMonData -	lsls r0, 16 -	lsrs r0, 16 -	mov r9, r0 -	mov r0, r8 -	movs r1, 0x38 -	movs r2, 0 -	bl GetMonData -	lsls r0, 24 -	lsrs r0, 24 -	mov r10, r0 -	cmp r4, 0 -	beq _080693B0 -	ldr r4, =sLearningMoveTableID -	mov r1, sp -	ldrb r1, [r1] -	strb r1, [r4] -	ldr r2, =gLevelUpLearnsets -	mov r5, r9 -	lsls r3, r5, 2 -	adds r5, r3, r2 -	ldr r0, [r5] -	ldrh r1, [r0] -	movs r7, 0xFE -	lsls r7, 8 -	adds r0, r7, 0 -	ands r0, r1 -	adds r6, r4, 0 -	mov r12, r2 -	mov r1, r10 -	lsls r4, r1, 9 -	cmp r0, r4 -	beq _080693D8 -	adds r2, r6, 0 -	ldr r0, =0x0000ffff -	mov r12, r0 -	adds r6, r7, 0 -	adds r3, r5, 0 -_08069384: -	ldrb r0, [r2] -	adds r0, 0x1 -	strb r0, [r2] -	ldrb r0, [r2] -	ldr r1, [r3] -	lsls r0, 1 -	adds r0, r1 -	ldrh r1, [r0] -	cmp r1, r12 -	bne _080693A8 -	movs r0, 0 -	b _08069404 -	.pool -_080693A8: -	adds r0, r6, 0 -	ands r0, r1 -	cmp r0, r4 -	bne _08069384 -_080693B0: -	ldr r3, =gLevelUpLearnsets -	mov r1, r9 -	lsls r4, r1, 2 -	adds r1, r4, r3 -	ldr r2, =sLearningMoveTableID -	ldrb r0, [r2] -	ldr r1, [r1] -	lsls r0, 1 -	adds r0, r1 -	ldrh r1, [r0] -	movs r0, 0xFE -	lsls r0, 8 -	ands r0, r1 -	mov r5, r10 -	lsls r1, r5, 9 -	adds r6, r2, 0 -	mov r12, r3 -	adds r3, r4, 0 -	cmp r0, r1 -	bne _08069402 -_080693D8: -	ldr r2, =gMoveToLearn -	mov r0, r12 -	adds r1, r3, r0 -	ldrb r0, [r6] -	ldr r1, [r1] -	lsls r0, 1 -	adds r0, r1 -	ldrh r1, [r0] -	ldr r0, =0x000001ff -	ands r0, r1 -	strh r0, [r2] -	ldrb r0, [r6] -	adds r0, 0x1 -	strb r0, [r6] -	ldrh r1, [r2] -	mov r0, r8 -	bl GiveMoveToMon -	lsls r0, 16 -	lsrs r0, 16 -	str r0, [sp] -_08069402: -	ldr r0, [sp] -_08069404: -	add sp, 0x4 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end MonTryLearningNewMove - -	thumb_func_start DeleteFirstMoveAndGiveMoveToMon -DeleteFirstMoveAndGiveMoveToMon: @ 8069424 -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	sub sp, 0x10 -	adds r6, r0, 0 -	lsls r1, 16 -	lsrs r1, 16 -	mov r8, r1 -	movs r4, 0 -	add r7, sp, 0x8 -	add r0, sp, 0xC -	mov r9, r0 -	mov r5, sp -_08069440: -	adds r1, r4, 0 -	adds r1, 0xE -	adds r0, r6, 0 -	movs r2, 0 -	bl GetMonData -	strh r0, [r5] -	adds r1, r4, 0 -	adds r1, 0x12 -	adds r0, r6, 0 -	movs r2, 0 -	bl GetMonData -	adds r1, r7, r4 -	strb r0, [r1] -	adds r5, 0x2 -	adds r4, 0x1 -	cmp r4, 0x2 -	ble _08069440 -	adds r0, r6, 0 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	mov r1, r9 -	strb r0, [r1] -	ldrb r0, [r1] -	lsrs r0, 2 -	strb r0, [r1] -	mov r0, sp -	mov r2, r8 -	strh r2, [r0, 0x6] -	ldr r1, =gBattleMoves -	mov r2, r8 -	lsls r0, r2, 1 -	add r0, r8 -	lsls r0, 2 -	adds r0, r1 -	ldrb r0, [r0, 0x4] -	strb r0, [r7, 0x3] -	movs r4, 0 -	mov r5, sp -_08069494: -	adds r1, r4, 0 -	adds r1, 0xD -	adds r0, r6, 0 -	adds r2, r5, 0 -	bl SetMonData -	adds r1, r4, 0 -	adds r1, 0x11 -	adds r2, r7, r4 -	adds r0, r6, 0 -	bl SetMonData -	adds r5, 0x2 -	adds r4, 0x1 -	cmp r4, 0x3 -	ble _08069494 -	adds r0, r6, 0 -	movs r1, 0x15 -	mov r2, r9 -	bl SetMonData -	add sp, 0x10 -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end DeleteFirstMoveAndGiveMoveToMon - -	thumb_func_start DeleteFirstMoveAndGiveMoveToBoxMon -DeleteFirstMoveAndGiveMoveToBoxMon: @ 80694D0 -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	sub sp, 0x10 -	adds r6, r0, 0 -	lsls r1, 16 -	lsrs r1, 16 -	mov r8, r1 -	movs r4, 0 -	add r7, sp, 0x8 -	add r0, sp, 0xC -	mov r9, r0 -	mov r5, sp -_080694EC: -	adds r1, r4, 0 -	adds r1, 0xE -	adds r0, r6, 0 -	movs r2, 0 -	bl GetBoxMonData -	strh r0, [r5] -	adds r1, r4, 0 -	adds r1, 0x12 -	adds r0, r6, 0 -	movs r2, 0 -	bl GetBoxMonData -	adds r1, r7, r4 -	strb r0, [r1] -	adds r5, 0x2 -	adds r4, 0x1 -	cmp r4, 0x2 -	ble _080694EC -	adds r0, r6, 0 -	movs r1, 0x15 -	movs r2, 0 -	bl GetBoxMonData -	mov r1, r9 -	strb r0, [r1] -	ldrb r0, [r1] -	lsrs r0, 2 -	strb r0, [r1] -	mov r0, sp -	mov r2, r8 -	strh r2, [r0, 0x6] -	ldr r1, =gBattleMoves -	mov r2, r8 -	lsls r0, r2, 1 -	add r0, r8 -	lsls r0, 2 -	adds r0, r1 -	ldrb r0, [r0, 0x4] -	strb r0, [r7, 0x3] -	movs r4, 0 -	mov r5, sp -_08069540: -	adds r1, r4, 0 -	adds r1, 0xD -	adds r0, r6, 0 -	adds r2, r5, 0 -	bl SetBoxMonData -	adds r1, r4, 0 -	adds r1, 0x11 -	adds r2, r7, r4 -	adds r0, r6, 0 -	bl SetBoxMonData -	adds r5, 0x2 -	adds r4, 0x1 -	cmp r4, 0x3 -	ble _08069540 -	adds r0, r6, 0 -	movs r1, 0x15 -	mov r2, r9 -	bl SetBoxMonData -	add sp, 0x10 -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end DeleteFirstMoveAndGiveMoveToBoxMon -  	.align 2, 0 @ Don't pad with nop. | 
