summaryrefslogtreecommitdiff
path: root/asm/battle_message.s
diff options
context:
space:
mode:
authorDiegoisawesome <diego@domoreaweso.me>2016-11-01 12:20:17 -0500
committerDiegoisawesome <diego@domoreaweso.me>2016-11-01 12:20:17 -0500
commitb4a39100c0e052bdab3cfa2da707072c2ee18115 (patch)
treedcea69ec49430f004c17ff71b77587cafd78c69a /asm/battle_message.s
parentf09f9cef752c37e3cc0686573c1fdb29da842772 (diff)
parent6f0e42a91aeeedd64725ce57e3dad6a38421d8e9 (diff)
Merge https://github.com/pret/pokeemerald
Diffstat (limited to 'asm/battle_message.s')
-rw-r--r--asm/battle_message.s3089
1 files changed, 3089 insertions, 0 deletions
diff --git a/asm/battle_message.s b/asm/battle_message.s
new file mode 100644
index 000000000..ffd9a1d0f
--- /dev/null
+++ b/asm/battle_message.s
@@ -0,0 +1,3089 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start battle_pick_message
+battle_pick_message: @ 814E0C4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 16
+ lsrs r6, r0, 16
+ movs r7, 0
+ ldr r4, =0x0203aba8
+ ldr r0, =0x02024064
+ mov r8, r0
+ ldrb r1, [r0]
+ lsls r1, 9
+ ldr r0, =0x02023068
+ adds r1, r0
+ str r1, [r4]
+ ldr r2, =0x02024208
+ ldrh r0, [r1, 0x4]
+ strh r0, [r2]
+ ldr r2, =0x0202420a
+ ldrb r0, [r1, 0x6]
+ strb r0, [r2]
+ ldr r5, =0x02024474
+ ldrb r0, [r1, 0x7]
+ strb r0, [r5, 0x17]
+ ldr r3, =0x0202449c
+ ldr r0, [r3]
+ adds r0, 0x52
+ ldrb r1, [r1, 0x8]
+ strb r1, [r0]
+ ldr r0, [r3]
+ adds r0, 0xB1
+ ldr r1, [r4]
+ ldrb r1, [r1, 0x9]
+ strb r1, [r0]
+ ldr r1, =0x0202420f
+ ldr r2, [r4]
+ ldrb r0, [r2, 0xA]
+ strb r0, [r1]
+ ldr r0, [r3]
+ adds r0, 0x8E
+ ldrb r1, [r2, 0xB]
+ strb r1, [r0]
+ movs r2, 0
+ mov r12, r8
+ mov r9, r5
+ ldr r1, =0x02022f58
+ mov r10, r1
+ ldr r3, =0x0203aba4
+_0814E126:
+ adds r0, r2, r3
+ ldr r1, [r4]
+ adds r1, 0xC
+ adds r1, r2
+ ldrb r1, [r1]
+ strb r1, [r0]
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _0814E126
+ movs r2, 0
+ ldr r0, =0x02022f58
+ mov r8, r0
+ ldr r3, =0x0203aba8
+ ldr r5, =0x02022f68
+ ldr r4, =0x02022f78
+_0814E144:
+ mov r0, r8
+ adds r1, r2, r0
+ ldr r0, [r3]
+ adds r0, 0x10
+ adds r0, r2
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r1, r2, r5
+ ldr r0, [r3]
+ adds r0, 0x20
+ adds r0, r2
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r1, r2, r4
+ ldr r0, [r3]
+ adds r0, 0x30
+ adds r0, r2
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r2, 0x1
+ cmp r2, 0xF
+ ble _0814E144
+ cmp r6, 0x5
+ bls _0814E176
+ b _0814E6B8
+_0814E176:
+ lsls r0, r6, 2
+ ldr r1, =_0814E1B4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0814E1B4:
+ .4byte _0814E1CC
+ .4byte _0814E2AC
+ .4byte _0814E394
+ .4byte _0814E430
+ .4byte _0814E4F8
+ .4byte _0814E55C
+_0814E1CC:
+ ldr r0, =0x02022fec
+ ldr r2, [r0]
+ movs r0, 0x8
+ ands r0, r2
+ cmp r0, 0
+ beq _0814E26C
+ ldr r0, =0x02000002
+ ands r0, r2
+ cmp r0, 0
+ beq _0814E248
+ movs r0, 0x80
+ lsls r0, 16
+ ands r0, r2
+ cmp r0, 0
+ bne _0814E260
+ movs r0, 0x40
+ ands r0, r2
+ cmp r0, 0
+ beq _0814E214
+ movs r0, 0x80
+ lsls r0, 17
+ ands r2, r0
+ ldr r7, =gUnknown_085CBBCD
+ cmp r2, 0
+ bne _0814E200
+ b _0814E6D8
+_0814E200:
+ ldr r7, =gUnknown_085CD318
+ b _0814E6D8
+ .pool
+_0814E214:
+ ldr r0, =0x02038bca
+ ldrh r1, [r0]
+ movs r0, 0xC0
+ lsls r0, 4
+ cmp r1, r0
+ bne _0814E22C
+ ldr r7, =gUnknown_085CBB9C
+ b _0814E6D8
+ .pool
+_0814E22C:
+ movs r0, 0x80
+ lsls r0, 17
+ ands r2, r0
+ ldr r7, =gUnknown_085CBBB9
+ cmp r2, 0
+ bne _0814E23A
+ b _0814E6D8
+_0814E23A:
+ ldr r7, =gUnknown_085CD301
+ b _0814E6D8
+ .pool
+_0814E248:
+ movs r0, 0x80
+ lsls r0, 15
+ ands r0, r2
+ cmp r0, 0
+ bne _0814E260
+ movs r0, 0x80
+ lsls r0, 8
+ ands r2, r0
+ ldr r7, =gUnknown_085CBB9C
+ cmp r2, 0
+ bne _0814E260
+ b _0814E6D8
+_0814E260:
+ ldr r7, =gUnknown_085CCE17
+ b _0814E6D8
+ .pool
+_0814E26C:
+ movs r0, 0x80
+ lsls r0, 6
+ ands r0, r2
+ cmp r0, 0
+ beq _0814E280
+ ldr r7, =gUnknown_085CBB5A
+ b _0814E6D8
+ .pool
+_0814E280:
+ movs r0, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _0814E290
+ ldr r7, =gUnknown_085CBB82
+ b _0814E6D8
+ .pool
+_0814E290:
+ movs r0, 0x80
+ lsls r0, 2
+ ands r2, r0
+ ldr r7, =gUnknown_085CBB47
+ cmp r2, 0
+ bne _0814E29E
+ b _0814E6D8
+_0814E29E:
+ ldr r7, =gUnknown_085CBB6D
+ b _0814E6D8
+ .pool
+_0814E2AC:
+ mov r1, r12
+ ldrb r0, [r1]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _0814E310
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E308
+ movs r0, 0x80
+ lsls r0, 15
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E2DC
+ ldr r7, =gUnknown_085CCE38
+ b _0814E6D8
+ .pool
+_0814E2DC:
+ movs r0, 0x80
+ lsls r0, 8
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E2F0
+ ldr r7, =gUnknown_085CBC96
+ b _0814E6D8
+ .pool
+_0814E2F0:
+ movs r0, 0x40
+ ands r1, r0
+ ldr r7, =gUnknown_085CBC96
+ cmp r1, 0
+ bne _0814E2FC
+ b _0814E6D8
+_0814E2FC:
+ ldr r7, =gUnknown_085CBCE5
+ b _0814E6D8
+ .pool
+_0814E308:
+ ldr r7, =gUnknown_085CBC8E
+ b _0814E6D8
+ .pool
+_0814E310:
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E368
+ movs r0, 0x80
+ lsls r0, 8
+ ands r0, r1
+ cmp r0, 0
+ bne _0814E330
+ movs r0, 0x80
+ lsls r0, 16
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E33C
+_0814E330:
+ ldr r7, =gUnknown_085CCDDE
+ b _0814E6D8
+ .pool
+_0814E33C:
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E34C
+ ldr r7, =gUnknown_085CBC4E
+ b _0814E6D8
+ .pool
+_0814E34C:
+ ldr r0, =0x02000002
+ ands r1, r0
+ ldr r7, =gUnknown_085CBBFA
+ cmp r1, 0
+ bne _0814E358
+ b _0814E6D8
+_0814E358:
+ ldr r7, =gUnknown_085CBC37
+ b _0814E6D8
+ .pool
+_0814E368:
+ ldr r0, =0x02000002
+ ands r1, r0
+ cmp r1, 0
+ beq _0814E380
+ ldr r0, =0x02038bca
+ ldrh r1, [r0]
+ movs r0, 0xC0
+ lsls r0, 4
+ ldr r7, =gUnknown_085CBC27
+ cmp r1, r0
+ beq _0814E380
+ b _0814E6D8
+_0814E380:
+ ldr r7, =gUnknown_085CBBE7
+ b _0814E6D8
+ .pool
+_0814E394:
+ mov r1, r12
+ ldrb r0, [r1]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _0814E3EC
+ ldr r0, =0x0202449c
+ ldr r0, [r0]
+ adds r0, 0xB1
+ ldrb r2, [r0]
+ cmp r2, 0
+ bne _0814E3BC
+ ldr r7, =gUnknown_085CBCFD
+ b _0814E6D8
+ .pool
+_0814E3BC:
+ cmp r2, 0x1
+ beq _0814E3CC
+ ldr r0, =0x02022fec
+ ldr r0, [r0]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E3D8
+_0814E3CC:
+ ldr r7, =gUnknown_085CBD1B
+ b _0814E6D8
+ .pool
+_0814E3D8:
+ ldr r7, =gUnknown_085CBD3D
+ cmp r2, 0x2
+ beq _0814E3E0
+ b _0814E6D8
+_0814E3E0:
+ ldr r7, =gUnknown_085CBD2A
+ b _0814E6D8
+ .pool
+_0814E3EC:
+ ldr r0, =0x02038bca
+ ldrh r1, [r0]
+ movs r0, 0x80
+ lsls r0, 4
+ ldr r2, =0x02022fec
+ cmp r1, r0
+ beq _0814E406
+ ldr r0, [r2]
+ movs r1, 0x80
+ lsls r1, 18
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E428
+_0814E406:
+ ldr r0, [r2]
+ movs r1, 0x40
+ ands r0, r1
+ ldr r7, =gUnknown_085CBD65
+ cmp r0, 0
+ bne _0814E414
+ b _0814E6D8
+_0814E414:
+ ldr r7, =gUnknown_085CBD75
+ b _0814E6D8
+ .pool
+_0814E428:
+ ldr r7, =gUnknown_085CBD52
+ b _0814E6D8
+ .pool
+_0814E430:
+ mov r4, r9
+ ldrb r0, [r4, 0x17]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _0814E488
+ ldr r0, =0x0202449c
+ ldr r0, [r0]
+ adds r0, 0xB1
+ ldrb r2, [r0]
+ cmp r2, 0
+ beq _0814E456
+ ldr r0, =0x02022fec
+ ldr r0, [r0]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E468
+_0814E456:
+ ldr r7, =gUnknown_085CBCA5
+ b _0814E6D8
+ .pool
+_0814E468:
+ cmp r2, 0x1
+ bne _0814E474
+ ldr r7, =gUnknown_085CBCAD
+ b _0814E6D8
+ .pool
+_0814E474:
+ ldr r7, =gUnknown_085CBCC7
+ cmp r2, 0x2
+ beq _0814E47C
+ b _0814E6D8
+_0814E47C:
+ ldr r7, =gUnknown_085CBCB8
+ b _0814E6D8
+ .pool
+_0814E488:
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ ldr r0, =0x02000002
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E4DC
+ movs r0, 0x80
+ lsls r0, 16
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E4AC
+ ldrb r0, [r4, 0x17]
+ b _0814E4EA
+ .pool
+_0814E4AC:
+ movs r0, 0x40
+ ands r1, r0
+ cmp r1, 0
+ beq _0814E4BC
+ ldr r7, =gUnknown_085CBC7E
+ b _0814E6D8
+ .pool
+_0814E4BC:
+ ldr r0, =0x02038bca
+ ldrh r1, [r0]
+ movs r0, 0xC0
+ lsls r0, 4
+ ldr r7, =gUnknown_085CBC6E
+ cmp r1, r0
+ beq _0814E4CC
+ b _0814E6D8
+_0814E4CC:
+ ldr r7, =gUnknown_085CBC14
+ b _0814E6D8
+ .pool
+_0814E4DC:
+ movs r0, 0x80
+ lsls r0, 8
+ ands r1, r0
+ cmp r1, 0
+ beq _0814E4CC
+ mov r1, r9
+ ldrb r0, [r1, 0x17]
+_0814E4EA:
+ ldr r7, =gUnknown_085CCE04
+ cmp r0, 0x1
+ beq _0814E4F2
+ b _0814E6D8
+_0814E4F2:
+ b _0814E4CC
+ .pool
+_0814E4F8:
+ mov r0, r10
+ bl sub_814F8F8
+ ldr r0, =0x0203aba8
+ ldr r2, [r0]
+ ldrh r1, [r2]
+ movs r0, 0xB1
+ lsls r0, 1
+ cmp r1, r0
+ bls _0814E534
+ ldr r0, =0x02022f68
+ ldr r1, =0x0202449c
+ ldr r1, [r1]
+ adds r1, 0x8E
+ ldrb r2, [r1]
+ lsls r1, r2, 4
+ adds r1, r2
+ ldr r2, =gUnknown_085CCBBC
+ adds r1, r2
+ bl CopyString
+ b _0814E544
+ .pool
+_0814E534:
+ ldr r0, =0x02022f68
+ ldrh r2, [r2]
+ movs r1, 0xD
+ muls r1, r2
+ ldr r2, =gMoveNames
+ adds r1, r2
+ bl CopyString
+_0814E544:
+ ldr r0, =0x02022f68
+ bl sub_814F950
+ ldr r7, =gUnknown_085CBDAC
+ b _0814E6D8
+ .pool
+_0814E55C:
+ ldr r4, =0x02022f58
+ ldrb r1, [r4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E5C4
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r4]
+ mov r1, r12
+ ldrb r0, [r1]
+ bl battle_side_get_owner
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0814E58A
+ ldrb r1, [r4]
+ cmp r1, 0x3
+ beq _0814E58A
+ movs r0, 0x3
+ eors r0, r1
+ strb r0, [r4]
+_0814E58A:
+ ldr r0, =0x02022f58
+ ldrb r0, [r0]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _0814E5A4
+ ldr r7, =gUnknown_085CB4CA
+ b _0814E6D8
+ .pool
+_0814E5A4:
+ ldr r0, =0x02022fec
+ ldr r0, [r0]
+ movs r1, 0x40
+ ands r0, r1
+ ldr r7, =gUnknown_085CB5D2
+ cmp r0, 0
+ bne _0814E5B4
+ b _0814E6D8
+_0814E5B4:
+ ldr r7, =gUnknown_085CB5DF
+ b _0814E6D8
+ .pool
+_0814E5C4:
+ mov r1, r12
+ ldrb r0, [r1]
+ bl battle_side_get_owner
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0814E5E0
+ ldrb r1, [r4]
+ cmp r1, 0x3
+ beq _0814E5E0
+ movs r0, 0x3
+ eors r0, r1
+ strb r0, [r4]
+_0814E5E0:
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E638
+ ldr r0, =0x02022f58
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _0814E628
+ cmp r0, 0x2
+ bgt _0814E608
+ cmp r0, 0x1
+ beq _0814E60E
+ b _0814E6D8
+ .pool
+_0814E608:
+ cmp r0, 0x3
+ beq _0814E630
+ b _0814E6D8
+_0814E60E:
+ movs r0, 0x80
+ lsls r0, 16
+ ands r1, r0
+ ldr r7, =gUnknown_085CB538
+ cmp r1, 0
+ beq _0814E6D8
+ ldr r7, =gUnknown_085CCE53
+ b _0814E6D8
+ .pool
+_0814E628:
+ ldr r7, =gUnknown_085CB567
+ b _0814E6D8
+ .pool
+_0814E630:
+ ldr r7, =gUnknown_085CB5A6
+ b _0814E6D8
+ .pool
+_0814E638:
+ ldr r0, =0x02038bca
+ ldrh r1, [r0]
+ movs r0, 0xC0
+ lsls r0, 4
+ cmp r1, r0
+ bne _0814E680
+ ldr r0, =0x02022f58
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _0814E670
+ cmp r0, 0x2
+ bgt _0814E660
+ cmp r0, 0x1
+ beq _0814E666
+ b _0814E6D8
+ .pool
+_0814E660:
+ cmp r0, 0x3
+ beq _0814E678
+ b _0814E6D8
+_0814E666:
+ ldr r7, =gUnknown_085CBA2E
+ b _0814E6D8
+ .pool
+_0814E670:
+ ldr r7, =gUnknown_085CD24C
+ b _0814E6D8
+ .pool
+_0814E678:
+ ldr r7, =gUnknown_085CD267
+ b _0814E6D8
+ .pool
+_0814E680:
+ ldr r0, =0x02022f58
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _0814E6A8
+ cmp r0, 0x2
+ bgt _0814E698
+ cmp r0, 0x1
+ beq _0814E69E
+ b _0814E6D8
+ .pool
+_0814E698:
+ cmp r0, 0x3
+ beq _0814E6B0
+ b _0814E6D8
+_0814E69E:
+ ldr r7, =gUnknown_085CB524
+ b _0814E6D8
+ .pool
+_0814E6A8:
+ ldr r7, =gUnknown_085CB54F
+ b _0814E6D8
+ .pool
+_0814E6B0:
+ ldr r7, =gUnknown_085CB581
+ b _0814E6D8
+ .pool
+_0814E6B8:
+ movs r0, 0xBE
+ lsls r0, 1
+ cmp r6, r0
+ bls _0814E6CC
+ ldr r1, =0x02022e2c
+ movs r0, 0xFF
+ strb r0, [r1]
+ b _0814E6DE
+ .pool
+_0814E6CC:
+ ldr r1, =gUnknown_085CC270
+ adds r0, r6, 0
+ subs r0, 0xC
+ lsls r0, 2
+ adds r0, r1
+ ldr r7, [r0]
+_0814E6D8:
+ adds r0, r7, 0
+ bl get_battle_strings_
+_0814E6DE:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end battle_pick_message
+
+ thumb_func_start get_battle_strings_
+get_battle_strings_: @ 814E6F0
+ push {lr}
+ ldr r1, =0x02022e2c
+ bl get_battle_strings
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end get_battle_strings_
+
+ thumb_func_start sub_814E700
+sub_814E700: @ 814E700
+ push {r4,r5,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ ldr r1, =gUnknown_085CD422
+ mov r0, sp
+ movs r2, 0x8
+ bl memcpy
+ mov r2, sp
+ movs r3, 0
+ b _0814E728
+ .pool
+_0814E71C:
+ strb r1, [r2]
+ adds r4, 0x1
+ adds r2, 0x1
+ adds r3, 0x1
+ cmp r3, 0x7
+ bhi _0814E730
+_0814E728:
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ cmp r0, 0xFF
+ bne _0814E71C
+_0814E730:
+ ldr r5, [sp]
+ ldr r4, [sp, 0x4]
+ movs r3, 0
+ ldr r2, =gUnknown_0831BCA8
+_0814E738:
+ ldr r1, [r2]
+ ldr r0, [r1]
+ cmp r5, r0
+ bne _0814E750
+ ldr r0, [r1, 0x4]
+ cmp r4, r0
+ bne _0814E750
+ ldr r0, [r2, 0x4]
+ b _0814E75A
+ .pool
+_0814E750:
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, 0x6
+ bls _0814E738
+ movs r0, 0
+_0814E75A:
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_814E700
+
+ thumb_func_start get_battle_strings
+get_battle_strings: @ 814E764
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x20
+ mov r9, r0
+ mov r8, r1
+ movs r6, 0
+ movs r4, 0
+ ldr r0, =0x02022fec
+ ldr r0, [r0]
+ movs r1, 0x80
+ lsls r1, 18
+ ands r0, r1
+ cmp r0, 0
+ beq _0814E794
+ ldr r0, =0x0203c7b4
+ ldrb r7, [r0]
+ b _0814E79C
+ .pool
+_0814E794:
+ bl link_get_multiplayer_id
+ lsls r0, 24
+ lsrs r7, r0, 24
+_0814E79C:
+ mov r0, r9
+ ldrb r1, [r0]
+ bl _0814F620
+_0814E7A4:
+ cmp r1, 0xFD
+ beq _0814E7AC
+ bl _0814F610
+_0814E7AC:
+ movs r1, 0x1
+ add r9, r1
+ mov r2, r9
+ ldrb r0, [r2]
+ cmp r0, 0x34
+ bls _0814E7BC
+ bl _0814F5C0
+_0814E7BC:
+ lsls r0, 2
+ ldr r1, =_0814E7CC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0814E7CC:
+ .4byte _0814E8A0
+ .4byte _0814E8CE
+ .4byte _0814E90A
+ .4byte _0814E914
+ .4byte _0814E920
+ .4byte _0814E92C
+ .4byte _0814E960
+ .4byte _0814E994
+ .4byte _0814E9C8
+ .4byte _0814E9FC
+ .4byte _0814EA38
+ .4byte _0814EA78
+ .4byte _0814EAB8
+ .4byte _0814EAF8
+ .4byte _0814EBB0
+ .4byte _0814EC38
+ .4byte _0814ECD4
+ .4byte _0814ED70
+ .4byte _0814EE0C
+ .4byte _0814EEA8
+ .4byte _0814EF44
+ .4byte _0814EF5C
+ .4byte _0814EF98
+ .4byte _0814F080
+ .4byte _0814F088
+ .4byte _0814F098
+ .4byte _0814F0A8
+ .4byte _0814F0B8
+ .4byte _0814F0D8
+ .4byte _0814F164
+ .4byte _0814F220
+ .4byte _0814F230
+ .4byte _0814F244
+ .4byte _0814F258
+ .4byte _0814F27C
+ .4byte _0814F298
+ .4byte _0814F2C0
+ .4byte _0814F300
+ .4byte _0814F330
+ .4byte _0814F3C4
+ .4byte _0814F410
+ .4byte _0814F418
+ .4byte _0814F3E4
+ .4byte _0814F3EC
+ .4byte _0814F43C
+ .4byte _0814F444
+ .4byte _0814F468
+ .4byte _0814F4B8
+ .4byte _0814F508
+ .4byte _0814F548
+ .4byte _0814F594
+ .4byte _0814F5B4
+ .4byte _0814E8E4
+_0814E8A0:
+ ldr r5, =0x02022f58
+ ldrb r0, [r5]
+ cmp r0, 0xFD
+ bne _0814E8B8
+ ldr r4, =0x02021cc4
+ adds r0, r5, 0
+ b _0814E8F0
+ .pool
+_0814E8B8:
+ adds r0, r5, 0
+ bl sub_814E700
+ adds r4, r0, 0
+ cmp r4, 0
+ beq _0814E8C8
+ bl _0814F5C0
+_0814E8C8:
+ adds r4, r5, 0
+ bl _0814F5C0
+_0814E8CE:
+ ldr r1, =0x02022f68
+ ldrb r0, [r1]
+ cmp r0, 0xFD
+ bne _0814E904
+ ldr r4, =0x02021dc4
+ b _0814E8EE
+ .pool
+_0814E8E4:
+ ldr r1, =0x02022f78
+ ldrb r0, [r1]
+ cmp r0, 0xFD
+ bne _0814E904
+ ldr r4, =0x02021ec4
+_0814E8EE:
+ adds r0, r1, 0
+_0814E8F0:
+ adds r1, r4, 0
+ bl sub_814F648
+ bl _0814F5C0
+ .pool
+_0814E904:
+ adds r4, r1, 0
+ bl _0814F5C0
+_0814E90A:
+ ldr r4, =0x02021cc4
+ bl _0814F5C0
+ .pool
+_0814E914:
+ ldr r4, =0x02021dc4
+ bl _0814F5C0
+ .pool
+_0814E920:
+ ldr r4, =0x02021ec4
+ bl _0814F5C0
+ .pool
+_0814E92C:
+ movs r0, 0
+ bl battle_get_side_with_given_state
+ ldr r1, =0x0202406e
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ bl _0814F5BE
+ .pool
+_0814E960:
+ movs r0, 0x1
+ bl battle_get_side_with_given_state
+ ldr r1, =0x0202406e
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x02024744
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ bl _0814F5BE
+ .pool
+_0814E994:
+ movs r0, 0x2
+ bl battle_get_side_with_given_state
+ ldr r1, =0x0202406e
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ bl _0814F5BE
+ .pool
+_0814E9C8:
+ movs r0, 0x3
+ bl battle_get_side_with_given_state
+ ldr r1, =0x0202406e
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x02024744
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ bl _0814F5BE
+ .pool
+_0814E9FC:
+ ldr r2, =0x0202406e
+ ldr r1, =0x020229e8
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ adds r0, r1
+ ldrh r0, [r0, 0x18]
+ lsls r0, 1
+ adds r0, r2
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ bl _0814F5BE
+ .pool
+_0814EA38:
+ ldr r2, =0x0202406e
+ ldr r1, =0x020229e8
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r0, 0x18]
+ movs r0, 0x1
+ eors r0, r1
+ lsls r0, 1
+ adds r0, r2
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x02024744
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ bl _0814F5BE
+ .pool
+_0814EA78:
+ ldr r2, =0x0202406e
+ ldr r1, =0x020229e8
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r0, 0x18]
+ movs r0, 0x2
+ eors r0, r1
+ lsls r0, 1
+ adds r0, r2
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ bl _0814F5BE
+ .pool
+_0814EAB8:
+ ldr r2, =0x0202406e
+ ldr r1, =0x020229e8
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r0, 0x18]
+ movs r0, 0x3
+ eors r0, r1
+ lsls r0, 1
+ adds r0, r2
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x02024744
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ bl _0814F5BE
+ .pool
+_0814EAF8:
+ ldr r4, =0x0202420b
+ ldrb r0, [r4]
+ bl battle_side_get_owner
+ lsls r0, 24
+ adds r2, r4, 0
+ cmp r0, 0
+ beq _0814EB74
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ movs r0, 0x8
+ ands r1, r0
+ ldr r4, =gUnknown_085CBD85
+ cmp r1, 0
+ beq _0814EB36
+ ldr r4, =gUnknown_085CBD8B
+ b _0814EB36
+ .pool
+_0814EB2C:
+ mov r3, r8
+ adds r0, r3, r6
+ strb r1, [r0]
+ adds r6, 0x1
+ adds r4, 0x1
+_0814EB36:
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ cmp r0, 0xFF
+ bne _0814EB2C
+ ldrb r0, [r2]
+ bl battle_get_per_side_status
+ adds r1, r0, 0
+ movs r0, 0x1
+ ands r0, r1
+ bl battle_get_side_with_given_state
+ ldr r1, =0x0202406e
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x02024744
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ b _0814EB9E
+ .pool
+_0814EB74:
+ ldrb r0, [r2]
+ bl battle_get_per_side_status
+ adds r1, r0, 0
+ movs r0, 0x1
+ ands r0, r1
+ bl battle_get_side_with_given_state
+ ldr r1, =0x0202406e
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+_0814EB9E:
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ bl _0814F5BE
+ .pool
+_0814EBB0:
+ ldr r4, =0x0202420b
+ ldrb r0, [r4]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _0814EBF8
+ ldrb r0, [r4]
+ bl battle_get_per_side_status
+ adds r1, r0, 0
+ movs r0, 0x1
+ ands r0, r1
+ bl battle_get_side_with_given_state
+ ldr r1, =0x0202406e
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, 0x4
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ b _0814EC24
+ .pool
+_0814EBF8:
+ ldrb r0, [r4]
+ bl battle_get_per_side_status
+ adds r1, r0, 0
+ movs r0, 0x1
+ ands r0, r1
+ bl battle_get_side_with_given_state
+ ldr r1, =0x0202406e
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, 0x4
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x02024744
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+_0814EC24:
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ bl _0814F5BE
+ .pool
+_0814EC38:
+ ldr r5, =0x0202420b
+ ldrb r0, [r5]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _0814ECA8
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ movs r0, 0x8
+ ands r1, r0
+ ldr r4, =gUnknown_085CBD85
+ cmp r1, 0
+ beq _0814EC56
+ ldr r4, =gUnknown_085CBD8B
+_0814EC56:
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ ldr r3, =0x0202406e
+ ldr r2, =0x02024744
+ mov r12, r2
+ adds r2, r5, 0
+ cmp r0, 0xFF
+ beq _0814EC78
+_0814EC66:
+ mov r5, r8
+ adds r0, r5, r6
+ strb r1, [r0]
+ adds r6, 0x1
+ adds r4, 0x1
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ cmp r0, 0xFF
+ bne _0814EC66
+_0814EC78:
+ ldrb r0, [r2]
+ lsls r0, 1
+ adds r0, r3
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ add r0, r12
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ b _0814ECC2
+ .pool
+_0814ECA8:
+ ldr r1, =0x0202406e
+ ldrb r0, [r5]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+_0814ECC2:
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ bl _0814F5BE
+ .pool
+_0814ECD4:
+ ldr r5, =0x0202420c
+ ldrb r0, [r5]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _0814ED44
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ movs r0, 0x8
+ ands r1, r0
+ ldr r4, =gUnknown_085CBD85
+ cmp r1, 0
+ beq _0814ECF2
+ ldr r4, =gUnknown_085CBD8B
+_0814ECF2:
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ ldr r3, =0x0202406e
+ ldr r2, =0x02024744
+ mov r12, r2
+ adds r2, r5, 0
+ cmp r0, 0xFF
+ beq _0814ED14
+_0814ED02:
+ mov r5, r8
+ adds r0, r5, r6
+ strb r1, [r0]
+ adds r6, 0x1
+ adds r4, 0x1
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ cmp r0, 0xFF
+ bne _0814ED02
+_0814ED14:
+ ldrb r0, [r2]
+ lsls r0, 1
+ adds r0, r3
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ add r0, r12
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ b _0814ED5E
+ .pool
+_0814ED44:
+ ldr r1, =0x0202406e
+ ldrb r0, [r5]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+_0814ED5E:
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ bl _0814F5BE
+ .pool
+_0814ED70:
+ ldr r5, =0x0202420e
+ ldrb r0, [r5]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _0814EDE0
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ movs r0, 0x8
+ ands r1, r0
+ ldr r4, =gUnknown_085CBD85
+ cmp r1, 0
+ beq _0814ED8E
+ ldr r4, =gUnknown_085CBD8B
+_0814ED8E:
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ ldr r3, =0x0202406e
+ ldr r2, =0x02024744
+ mov r12, r2
+ adds r2, r5, 0
+ cmp r0, 0xFF
+ beq _0814EDB0
+_0814ED9E:
+ mov r5, r8
+ adds r0, r5, r6
+ strb r1, [r0]
+ adds r6, 0x1
+ adds r4, 0x1
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ cmp r0, 0xFF
+ bne _0814ED9E
+_0814EDB0:
+ ldrb r0, [r2]
+ lsls r0, 1
+ adds r0, r3
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ add r0, r12
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ b _0814EDFA
+ .pool
+_0814EDE0:
+ ldr r1, =0x0202406e
+ ldrb r0, [r5]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+_0814EDFA:
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ bl _0814F5BE
+ .pool
+_0814EE0C:
+ ldr r5, =0x02024064
+ ldrb r0, [r5]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _0814EE7C
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ movs r0, 0x8
+ ands r1, r0
+ ldr r4, =gUnknown_085CBD85
+ cmp r1, 0
+ beq _0814EE2A
+ ldr r4, =gUnknown_085CBD8B
+_0814EE2A:
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ ldr r3, =0x0202406e
+ ldr r2, =0x02024744
+ mov r12, r2
+ adds r2, r5, 0
+ cmp r0, 0xFF
+ beq _0814EE4C
+_0814EE3A:
+ mov r5, r8
+ adds r0, r5, r6
+ strb r1, [r0]
+ adds r6, 0x1
+ adds r4, 0x1
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ cmp r0, 0xFF
+ bne _0814EE3A
+_0814EE4C:
+ ldrb r0, [r2]
+ lsls r0, 1
+ adds r0, r3
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ add r0, r12
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ b _0814EE96
+ .pool
+_0814EE7C:
+ ldr r1, =0x0202406e
+ ldrb r0, [r5]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+_0814EE96:
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ b _0814F5BE
+ .pool
+_0814EEA8:
+ ldr r5, =0x02024474
+ ldrb r0, [r5, 0x17]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _0814EF18
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ movs r0, 0x8
+ ands r1, r0
+ ldr r4, =gUnknown_085CBD85
+ cmp r1, 0
+ beq _0814EEC6
+ ldr r4, =gUnknown_085CBD8B
+_0814EEC6:
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ ldr r3, =0x0202406e
+ ldr r2, =0x02024744
+ mov r12, r2
+ adds r2, r5, 0
+ cmp r0, 0xFF
+ beq _0814EEE8
+_0814EED6:
+ mov r5, r8
+ adds r0, r5, r6
+ strb r1, [r0]
+ adds r6, 0x1
+ adds r4, 0x1
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ cmp r0, 0xFF
+ bne _0814EED6
+_0814EEE8:
+ ldrb r0, [r2, 0x17]
+ lsls r0, 1
+ adds r0, r3
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ add r0, r12
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ b _0814EF32
+ .pool
+_0814EF18:
+ ldr r1, =0x0202406e
+ ldrb r0, [r5, 0x17]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+_0814EF32:
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ b _0814F5BE
+ .pool
+_0814EF44:
+ ldr r0, =0x0203aba8
+ ldr r2, [r0]
+ ldrh r1, [r2]
+ movs r0, 0xB1
+ lsls r0, 1
+ cmp r1, r0
+ bhi _0814EF6A
+ ldrh r1, [r2]
+ b _0814EF8A
+ .pool
+_0814EF5C:
+ ldr r0, =0x0203aba8
+ ldr r2, [r0]
+ ldrh r1, [r2, 0x2]
+ movs r0, 0xB1
+ lsls r0, 1
+ cmp r1, r0
+ bls _0814EF88
+_0814EF6A:
+ ldr r0, =0x0202449c
+ ldr r0, [r0]
+ adds r0, 0x8E
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ ldr r1, =gUnknown_085CCBBC
+ adds r4, r0, r1
+ b _0814F5C0
+ .pool
+_0814EF88:
+ ldrh r1, [r2, 0x2]
+_0814EF8A:
+ movs r0, 0xD
+ muls r1, r0
+ ldr r0, =gMoveNames
+ adds r4, r1, r0
+ b _0814F5C0
+ .pool
+_0814EF98:
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ ldr r0, =0x02000002
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F06E
+ ldr r2, =0x02024208
+ ldrh r0, [r2]
+ cmp r0, 0xAF
+ bne _0814F064
+ movs r0, 0x40
+ ands r1, r0
+ cmp r1, 0
+ bne _0814F014
+ ldr r0, =0x02024474
+ adds r0, 0x25
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0814EFE0
+ ldr r2, =0x0202420f
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0814EFEC
+ b _0814F05C
+ .pool
+_0814EFE0:
+ ldr r2, =0x0202420f
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0814F05C
+_0814EFEC:
+ ldrb r0, [r2]
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ ldr r0, =0x02024404
+ adds r1, r0
+ mov r0, sp
+ bl CopyString
+ ldr r1, =gUnknown_085CC0AD
+ mov r0, sp
+ bl AppendString
+ b _0814F5BE
+ .pool
+_0814F014:
+ ldr r2, =0x020229e8
+ ldr r0, =0x02024474
+ adds r0, 0x25
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldr r1, =0x0202420f
+ ldrb r2, [r1]
+ ldrh r0, [r0, 0x18]
+ cmp r0, r2
+ bne _0814F05C
+ lsls r1, r2, 3
+ subs r1, r2
+ lsls r1, 2
+ ldr r0, =0x02024404
+ adds r1, r0
+ mov r0, sp
+ bl CopyString
+ ldr r1, =gUnknown_085CC0AD
+ mov r0, sp
+ bl AppendString
+ b _0814F5BE
+ .pool
+_0814F05C:
+ ldr r4, =gUnknown_085CC0A0
+ b _0814F5C0
+ .pool
+_0814F064:
+ ldrh r0, [r2]
+ mov r1, sp
+ bl itemid_get_name
+ b _0814F5BE
+_0814F06E:
+ ldr r0, =0x02024208
+ ldrh r0, [r0]
+ mov r1, sp
+ bl itemid_get_name
+ b _0814F5BE
+ .pool
+_0814F080:
+ ldr r0, =0x0202420a
+ b _0814F0C0
+ .pool
+_0814F088:
+ ldr r1, =0x0203aba4
+ ldr r0, =0x0202420b
+ b _0814F0BC
+ .pool
+_0814F098:
+ ldr r1, =0x0203aba4
+ ldr r0, =0x0202420c
+ b _0814F0BC
+ .pool
+_0814F0A8:
+ ldr r1, =0x0203aba4
+ ldr r0, =0x02024474
+ ldrb r0, [r0, 0x17]
+ b _0814F0BE
+ .pool
+_0814F0B8:
+ ldr r1, =0x0203aba4
+ ldr r0, =0x0202420e
+_0814F0BC:
+ ldrb r0, [r0]
+_0814F0BE:
+ adds r0, r1
+_0814F0C0:
+ ldrb r1, [r0]
+ movs r0, 0xD
+ muls r1, r0
+ ldr r0, =gAbilityNames
+ adds r4, r1, r0
+ b _0814F5C0
+ .pool
+_0814F0D8:
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ movs r0, 0x80
+ lsls r0, 20
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F0F0
+ bl sub_806B870
+ b _0814F59C
+ .pool
+_0814F0F0:
+ ldr r3, =0x02038bca
+ ldrh r2, [r3]
+ movs r0, 0xC0
+ lsls r0, 4
+ cmp r2, r0
+ bne _0814F10C
+ bl sub_8068BB0
+ lsls r0, 16
+ lsrs r0, 16
+ b _0814F5A0
+ .pool
+_0814F10C:
+ ldr r0, =0x000003fe
+ cmp r2, r0
+ bne _0814F11C
+ bl sub_81A4D00
+ b _0814F59C
+ .pool
+_0814F11C:
+ ldr r0, =0x003f0100
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F12C
+ ldrh r0, [r3]
+ b _0814F598
+ .pool
+_0814F12C:
+ movs r0, 0x80
+ lsls r0, 19
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F13E
+ ldrh r0, [r3]
+ bl sub_81D5530
+ b _0814F59C
+_0814F13E:
+ movs r0, 0x80
+ lsls r0, 4
+ ands r1, r0
+ cmp r1, 0
+ beq _0814F14E
+ bl sub_8165264
+ b _0814F59C
+_0814F14E:
+ ldr r2, =gTrainers
+ ldrh r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrb r1, [r0, 0x1]
+ movs r0, 0xD
+ b _0814F5A2
+ .pool
+_0814F164:
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ movs r0, 0x80
+ lsls r0, 20
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F1AC
+ movs r2, 0
+ ldr r4, =0x020244a8
+ ldr r3, [r4]
+_0814F178:
+ mov r1, sp
+ adds r0, r1, r2
+ ldr r1, [r3]
+ adds r1, 0x2
+ adds r1, r2
+ ldrb r1, [r1]
+ strb r1, [r0]
+ adds r2, 0x1
+ cmp r2, 0x6
+ ble _0814F178
+ mov r3, sp
+ adds r1, r3, r2
+ movs r0, 0xFF
+ strb r0, [r1]
+ ldr r0, [r4]
+ ldr r0, [r0]
+ ldrb r1, [r0, 0xD]
+ mov r0, sp
+ bl StopMusicWhileStringIsPrinted
+ b _0814F5BE
+ .pool
+_0814F1AC:
+ ldr r3, =0x02038bca
+ ldrh r2, [r3]
+ movs r0, 0xC0
+ lsls r0, 4
+ cmp r2, r0
+ bne _0814F1C4
+ movs r1, 0x1
+ adds r0, r7, 0
+ eors r0, r1
+ b _0814F284
+ .pool
+_0814F1C4:
+ ldr r0, =0x000003fe
+ cmp r2, r0
+ bne _0814F1D8
+ mov r0, sp
+ bl sub_81A4D50
+ b _0814F5BE
+ .pool
+_0814F1D8:
+ ldr r0, =0x003f0100
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F1E8
+ ldrh r1, [r3]
+ b _0814F5B8
+ .pool
+_0814F1E8:
+ movs r0, 0x80
+ lsls r0, 19
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F1FC
+ ldrh r1, [r3]
+ mov r0, sp
+ bl sub_81D5554
+ b _0814F5BE
+_0814F1FC:
+ movs r0, 0x80
+ lsls r0, 4
+ ands r1, r0
+ cmp r1, 0
+ beq _0814F20E
+ mov r0, sp
+ bl sub_8165284
+ b _0814F5BE
+_0814F20E:
+ ldrh r0, [r3]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, =gTrainers + 0x4 @ name offset
+ adds r4, r1, r0
+ b _0814F5C0
+ .pool
+_0814F220:
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ ldr r1, =0x020229f0
+ adds r4, r0, r1
+ b _0814F5C0
+ .pool
+_0814F230:
+ ldr r4, =0x020229e8
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ adds r0, r4
+ ldrh r1, [r0, 0x18]
+ movs r0, 0x2
+ b _0814F266
+ .pool
+_0814F244:
+ ldr r4, =0x020229e8
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ adds r0, r4
+ ldrh r1, [r0, 0x18]
+ movs r0, 0x1
+ b _0814F266
+ .pool
+_0814F258:
+ ldr r4, =0x020229e8
+ lsls r0, r7, 3
+ subs r0, r7
+ lsls r0, 2
+ adds r0, r4
+ ldrh r1, [r0, 0x18]
+ movs r0, 0x3
+_0814F266:
+ eors r0, r1
+ bl sub_806D864
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ adds r4, 0x8
+ adds r4, r1, r4
+ b _0814F5C0
+ .pool
+_0814F27C:
+ ldr r0, =0x02024474
+ ldrb r0, [r0, 0x17]
+ bl sub_806D864
+_0814F284:
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ ldr r0, =0x020229f0
+ adds r4, r1, r0
+ b _0814F5C0
+ .pool
+_0814F298:
+ ldr r0, =0x02022fec
+ ldr r0, [r0]
+ movs r1, 0x80
+ lsls r1, 17
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F2B4
+ ldr r4, =0x020229f0
+ b _0814F5C0
+ .pool
+_0814F2B4:
+ ldr r0, =0x03005d90
+ ldr r4, [r0]
+ b _0814F5C0
+ .pool
+_0814F2C0:
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ ldr r0, =0x003f0100
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F2E0
+ ldr r0, =0x02038bca
+ ldrh r1, [r0]
+ movs r0, 0x2
+ b _0814F55A
+ .pool
+_0814F2E0:
+ movs r0, 0x80
+ lsls r0, 19
+ ands r1, r0
+ cmp r1, 0
+ beq _0814F2F8
+ ldr r0, =0x02038bca
+ ldrh r1, [r0]
+ movs r0, 0x4
+ b _0814F584
+ .pool
+_0814F2F8:
+ bl sub_80B1CA4
+ adds r4, r0, 0
+ b _0814F5C0
+_0814F300:
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ ldr r0, =0x003f0100
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F31C
+ ldr r0, =0x02038bca
+ b _0814F556
+ .pool
+_0814F31C:
+ movs r0, 0x80
+ lsls r0, 19
+ ands r1, r0
+ cmp r1, 0
+ bne _0814F328
+ b _0814F5C0
+_0814F328:
+ ldr r0, =0x02038bca
+ b _0814F580
+ .pool
+_0814F330:
+ ldr r0, =0x02024474
+ ldrb r0, [r0, 0x17]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _0814F39C
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ movs r0, 0x8
+ ands r1, r0
+ ldr r4, =gUnknown_085CBD85
+ cmp r1, 0
+ beq _0814F34E
+ ldr r4, =gUnknown_085CBD8B
+_0814F34E:
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ ldr r5, =0x02024744
+ mov r12, r5
+ ldr r2, =0x0202449c
+ cmp r0, 0xFF
+ beq _0814F36E
+_0814F35C:
+ mov r3, r8
+ adds r0, r3, r6
+ strb r1, [r0]
+ adds r6, 0x1
+ adds r4, 0x1
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ cmp r0, 0xFF
+ bne _0814F35C
+_0814F36E:
+ ldr r0, [r2]
+ adds r0, 0x52
+ ldrb r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ add r0, r12
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ b _0814F3B4
+ .pool
+_0814F39C:
+ ldr r0, =0x0202449c
+ ldr r0, [r0]
+ adds r0, 0x52
+ ldrb r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+_0814F3B4:
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ b _0814F5BE
+ .pool
+_0814F3C4:
+ ldr r0, =0x000008ab
+ bl FlagGet
+ lsls r0, 24
+ ldr r4, =gUnknown_085CC015
+ cmp r0, 0
+ bne _0814F3D4
+ b _0814F5C0
+_0814F3D4:
+ ldr r4, =gUnknown_085CC01F
+ b _0814F5C0
+ .pool
+_0814F3E4:
+ ldr r0, =0x0202420b
+ b _0814F3EE
+ .pool
+_0814F3EC:
+ ldr r0, =0x0202420c
+_0814F3EE:
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ ldr r4, =gUnknown_085CBD9A
+ cmp r0, 0
+ beq _0814F3FE
+ b _0814F5C0
+_0814F3FE:
+ ldr r4, =gUnknown_085CBD9E
+ b _0814F5C0
+ .pool
+_0814F410:
+ ldr r0, =0x0202420b
+ b _0814F41A
+ .pool
+_0814F418:
+ ldr r0, =0x0202420c
+_0814F41A:
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ ldr r4, =gUnknown_085CBD91
+ cmp r0, 0
+ beq _0814F42A
+ b _0814F5C0
+_0814F42A:
+ ldr r4, =gUnknown_085CBD95
+ b _0814F5C0
+ .pool
+_0814F43C:
+ ldr r0, =0x0202420b
+ b _0814F446
+ .pool
+_0814F444:
+ ldr r0, =0x0202420c
+_0814F446:
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ ldr r4, =gUnknown_085CBDA3
+ cmp r0, 0
+ beq _0814F456
+ b _0814F5C0
+_0814F456:
+ ldr r4, =gUnknown_085CBDA7
+ b _0814F5C0
+ .pool
+_0814F468:
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ ldr r0, =0x003f0100
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F484
+ ldr r0, =0x02038bcc
+ b _0814F596
+ .pool
+_0814F484:
+ movs r0, 0x80
+ lsls r0, 19
+ ands r1, r0
+ cmp r1, 0
+ beq _0814F49C
+ ldr r0, =0x02038bcc
+ ldrh r0, [r0]
+ bl sub_81D5530
+ b _0814F59C
+ .pool
+_0814F49C:
+ ldr r2, =gTrainers
+ ldr r0, =0x02038bcc
+ ldrh r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrb r1, [r0, 0x1]
+ movs r0, 0xD
+ b _0814F5A2
+ .pool
+_0814F4B8:
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ ldr r0, =0x003f0100
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F4D4
+ ldr r0, =0x02038bcc
+ b _0814F5B6
+ .pool
+_0814F4D4:
+ movs r0, 0x80
+ lsls r0, 19
+ ands r1, r0
+ cmp r1, 0
+ beq _0814F4F0
+ ldr r0, =0x02038bcc
+ ldrh r1, [r0]
+ mov r0, sp
+ bl sub_81D5554
+ b _0814F5BE
+ .pool
+_0814F4F0:
+ ldr r0, =0x02038bcc
+ ldrh r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, =gTrainers + 0x4 @ name offset
+ adds r4, r0, r1
+ b _0814F5C0
+ .pool
+_0814F508:
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ ldr r0, =0x003f0100
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F528
+ ldr r0, =0x02038bcc
+ ldrh r1, [r0]
+ movs r0, 0x2
+ b _0814F55A
+ .pool
+_0814F528:
+ movs r0, 0x80
+ lsls r0, 19
+ ands r1, r0
+ cmp r1, 0
+ beq _0814F540
+ ldr r0, =0x02038bcc
+ ldrh r1, [r0]
+ movs r0, 0x4
+ b _0814F584
+ .pool
+_0814F540:
+ bl sub_80B1CE0
+ adds r4, r0, 0
+ b _0814F5C0
+_0814F548:
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ ldr r0, =0x003f0100
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F574
+ ldr r0, =0x02038bcc
+_0814F556:
+ ldrh r1, [r0]
+ movs r0, 0x1
+_0814F55A:
+ bl sub_81A36D0
+ ldr r4, =0x02021fc4
+ b _0814F5C0
+ .pool
+_0814F574:
+ movs r0, 0x80
+ lsls r0, 19
+ ands r1, r0
+ cmp r1, 0
+ beq _0814F5C0
+ ldr r0, =0x02038bcc
+_0814F580:
+ ldrh r1, [r0]
+ movs r0, 0x3
+_0814F584:
+ bl sub_81D572C
+ ldr r4, =0x02021fc4
+ b _0814F5C0
+ .pool
+_0814F594:
+ ldr r0, =0x02038bce
+_0814F596:
+ ldrh r0, [r0]
+_0814F598:
+ bl sub_8162BD8
+_0814F59C:
+ lsls r0, 24
+ lsrs r0, 24
+_0814F5A0:
+ movs r1, 0xD
+_0814F5A2:
+ muls r1, r0
+ ldr r0, =gTrainerClassNames
+ adds r4, r1, r0
+ b _0814F5C0
+ .pool
+_0814F5B4:
+ ldr r0, =0x02038bce
+_0814F5B6:
+ ldrh r1, [r0]
+_0814F5B8:
+ mov r0, sp
+ bl sub_8162E20
+_0814F5BE:
+ mov r4, sp
+_0814F5C0:
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ mov r5, r9
+ ldrb r2, [r5]
+ mov r3, r9
+ adds r3, 0x1
+ cmp r0, 0xFF
+ beq _0814F5E2
+_0814F5D0:
+ mov r5, r8
+ adds r0, r5, r6
+ strb r1, [r0]
+ adds r6, 0x1
+ adds r4, 0x1
+ ldrb r1, [r4]
+ adds r0, r1, 0
+ cmp r0, 0xFF
+ bne _0814F5D0
+_0814F5E2:
+ lsls r0, r2, 24
+ lsrs r0, 24
+ cmp r0, 0x24
+ beq _0814F5F6
+ cmp r0, 0x30
+ beq _0814F5F6
+ cmp r0, 0x25
+ beq _0814F5F6
+ cmp r0, 0x31
+ bne _0814F61C
+_0814F5F6:
+ mov r0, r8
+ adds r1, r0, r6
+ movs r0, 0xFC
+ strb r0, [r1]
+ adds r6, 0x1
+ mov r2, r8
+ adds r1, r2, r6
+ movs r0, 0x9
+ strb r0, [r1]
+ adds r6, 0x1
+ b _0814F61C
+ .pool
+_0814F610:
+ mov r3, r8
+ adds r0, r3, r6
+ strb r1, [r0]
+ adds r6, 0x1
+ mov r3, r9
+ adds r3, 0x1
+_0814F61C:
+ mov r9, r3
+ ldrb r1, [r3]
+_0814F620:
+ adds r0, r1, 0
+ cmp r0, 0xFF
+ beq _0814F62A
+ bl _0814E7A4
+_0814F62A:
+ mov r5, r8
+ adds r1, r5, r6
+ mov r2, r9
+ ldrb r0, [r2]
+ strb r0, [r1]
+ adds r6, 0x1
+ adds r0, r6, 0
+ add sp, 0x20
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end get_battle_strings
+
+ thumb_func_start sub_814F648
+sub_814F648: @ 814F648
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0xC
+ adds r7, r0, 0
+ adds r6, r1, 0
+ movs r5, 0x1
+ movs r0, 0
+ mov r8, r0
+ movs r0, 0xFF
+ strb r0, [r6]
+ ldrb r0, [r7, 0x1]
+ cmp r0, 0xFF
+ bne _0814F666
+ b _0814F8EA
+_0814F666:
+ adds r0, r7, r5
+ ldrb r1, [r0]
+ adds r4, r0, 0
+ cmp r1, 0xA
+ bls _0814F672
+ b _0814F8E0
+_0814F672:
+ lsls r0, r1, 2
+ ldr r1, =_0814F680
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0814F680:
+ .4byte _0814F6AC
+ .4byte _0814F6C8
+ .4byte _0814F71C
+ .4byte _0814F734
+ .4byte _0814F744
+ .4byte _0814F7BC
+ .4byte _0814F7D0
+ .4byte _0814F7E2
+ .4byte _0814F828
+ .4byte _0814F83C
+ .4byte _0814F858
+_0814F6AC:
+ adds r0, r5, r7
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldr r0, =gUnknown_085CC270
+ subs r1, 0xC
+ lsls r1, 2
+ adds r1, r0
+ ldr r1, [r1]
+ b _0814F8BE
+ .pool
+_0814F6C8:
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x2
+ beq _0814F6E4
+ cmp r0, 0x2
+ bgt _0814F6D8
+ cmp r0, 0x1
+ beq _0814F6DE
+ b _0814F706
+_0814F6D8:
+ cmp r0, 0x4
+ beq _0814F6EC
+ b _0814F706
+_0814F6DE:
+ ldrb r4, [r4, 0x3]
+ mov r8, r4
+ b _0814F706
+_0814F6E4:
+ ldrb r1, [r4, 0x3]
+ ldrb r0, [r4, 0x4]
+ lsls r0, 8
+ b _0814F702
+_0814F6EC:
+ ldrb r0, [r4, 0x3]
+ mov r8, r0
+ ldrb r0, [r4, 0x4]
+ lsls r0, 8
+ mov r1, r8
+ orrs r1, r0
+ ldrb r0, [r4, 0x5]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r4, 0x6]
+ lsls r0, 24
+_0814F702:
+ orrs r1, r0
+ mov r8, r1
+_0814F706:
+ adds r4, r5, r7
+ ldrb r3, [r4, 0x2]
+ adds r0, r6, 0
+ mov r1, r8
+ movs r2, 0
+ bl ConvertIntToDecimalString
+ adds r0, r5, 0x3
+ ldrb r4, [r4, 0x1]
+ adds r5, r0, r4
+ b _0814F8E0
+_0814F71C:
+ adds r0, r5, r7
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ movs r0, 0xD
+ muls r1, r0
+ ldr r0, =gMoveNames
+ adds r1, r0
+ b _0814F8BE
+ .pool
+_0814F734:
+ adds r0, r5, r7
+ ldrb r0, [r0, 0x1]
+ lsls r1, r0, 3
+ subs r1, r0
+ ldr r0, =gTypeNames
+ b _0814F846
+ .pool
+_0814F744:
+ ldrb r0, [r4, 0x1]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _0814F768
+ ldrb r1, [r4, 0x2]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+ b _0814F7A4
+ .pool
+_0814F768:
+ ldr r0, =0x02022fec
+ ldr r0, [r0]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F788
+ ldr r1, =gUnknown_085CBD8B
+ adds r0, r6, 0
+ bl AppendString
+ b _0814F790
+ .pool
+_0814F788:
+ ldr r1, =gUnknown_085CBD85
+ adds r0, r6, 0
+ bl AppendString
+_0814F790:
+ adds r0, r5, r7
+ ldrb r1, [r0, 0x2]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x02024744
+ adds r0, r1
+ movs r1, 0x2
+ mov r2, sp
+ bl pokemon_getattr
+_0814F7A4:
+ mov r0, sp
+ bl GetStringEnd_Limit7
+ adds r0, r6, 0
+ mov r1, sp
+ bl AppendString
+ b _0814F8DE
+ .pool
+_0814F7BC:
+ ldr r1, =gUnknown_085CBE00
+ adds r0, r5, r7
+ ldrb r0, [r0, 0x1]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ b _0814F848
+ .pool
+_0814F7D0:
+ adds r0, r5, r7
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ adds r0, r6, 0
+ bl GetSpeciesName
+ b _0814F8DE
+_0814F7E2:
+ adds r4, r5, r7
+ ldrb r0, [r4, 0x1]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _0814F808
+ ldrb r1, [r4, 0x2]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x020244ec
+ adds r0, r1
+ movs r1, 0x2
+ adds r2, r6, 0
+ bl pokemon_getattr
+ b _0814F81A
+ .pool
+_0814F808:
+ ldrb r1, [r4, 0x2]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =0x02024744
+ adds r0, r1
+ movs r1, 0x2
+ adds r2, r6, 0
+ bl pokemon_getattr
+_0814F81A:
+ adds r0, r6, 0
+ bl GetStringEnd_Limit7
+ b _0814F8DE
+ .pool
+_0814F828:
+ ldr r1, =gUnknown_085CBE6C
+ adds r0, r5, r7
+ ldrb r0, [r0, 0x1]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ b _0814F848
+ .pool
+_0814F83C:
+ adds r0, r5, r7
+ ldrb r1, [r0, 0x1]
+ movs r0, 0xD
+ muls r1, r0
+ ldr r0, =gAbilityNames
+_0814F846:
+ adds r1, r0
+_0814F848:
+ adds r0, r6, 0
+ bl AppendString
+ adds r5, 0x2
+ b _0814F8E0
+ .pool
+_0814F858:
+ adds r0, r5, r7
+ ldrb r2, [r0, 0x1]
+ ldrb r0, [r0, 0x2]
+ lsls r0, 8
+ orrs r2, r0
+ ldr r0, =0x02022fec
+ ldr r0, [r0]
+ ldr r1, =0x02000002
+ ands r0, r1
+ cmp r0, 0
+ beq _0814F8D6
+ cmp r2, 0xAF
+ bne _0814F8CC
+ ldr r2, =0x020229e8
+ ldr r0, =0x02024474
+ adds r0, 0x25
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldr r1, =0x0202420f
+ ldrb r2, [r1]
+ ldrh r0, [r0, 0x18]
+ cmp r0, r2
+ bne _0814F8BC
+ lsls r1, r2, 3
+ subs r1, r2
+ lsls r1, 2
+ ldr r0, =0x02024404
+ adds r1, r0
+ adds r0, r6, 0
+ bl CopyString
+ ldr r1, =gUnknown_085CC0AD
+ b _0814F8BE
+ .pool
+_0814F8BC:
+ ldr r1, =gUnknown_085CC0A0
+_0814F8BE:
+ adds r0, r6, 0
+ bl AppendString
+ b _0814F8DE
+ .pool
+_0814F8CC:
+ adds r0, r2, 0
+ adds r1, r6, 0
+ bl itemid_get_name
+ b _0814F8DE
+_0814F8D6:
+ adds r0, r2, 0
+ adds r1, r6, 0
+ bl itemid_get_name
+_0814F8DE:
+ adds r5, 0x3
+_0814F8E0:
+ adds r0, r7, r5
+ ldrb r0, [r0]
+ cmp r0, 0xFF
+ beq _0814F8EA
+ b _0814F666
+_0814F8EA:
+ add sp, 0xC
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_814F648
+
+ thumb_func_start sub_814F8F8
+sub_814F8F8: @ 814F8F8
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r2, 0
+ ldr r5, =0x0203aba8
+ ldr r3, =gUnknown_085CD336
+_0814F902:
+ cmp r2, 0x4
+ beq _0814F918
+ ldrh r1, [r3]
+ cmp r1, 0
+ bne _0814F90E
+ adds r2, 0x1
+_0814F90E:
+ ldr r0, [r5]
+ adds r3, 0x2
+ ldrh r0, [r0]
+ cmp r1, r0
+ bne _0814F902
+_0814F918:
+ cmp r2, 0
+ blt _0814F944
+ cmp r2, 0x2
+ bgt _0814F938
+ ldr r1, =gUnknown_085CCBB5
+ adds r0, r4, 0
+ bl CopyString
+ b _0814F944
+ .pool
+_0814F938:
+ cmp r2, 0x4
+ bgt _0814F944
+ ldr r1, =gUnknown_085CCBB9
+ adds r0, r4, 0
+ bl CopyString
+_0814F944:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_814F8F8
+
+ thumb_func_start sub_814F950
+sub_814F950: @ 814F950
+ push {r4,r5,lr}
+ adds r3, r0, 0
+ movs r4, 0
+ b _0814F95A
+_0814F958:
+ adds r3, 0x1
+_0814F95A:
+ ldrb r0, [r3]
+ cmp r0, 0xFF
+ bne _0814F958
+ ldr r1, =gUnknown_085CD336
+ ldr r5, =0x0203aba8
+ movs r0, 0
+ lsls r0, 1
+ adds r2, r0, r1
+_0814F96A:
+ cmp r4, 0x4
+ beq _0814F984
+ ldrh r1, [r2]
+ cmp r1, 0
+ bne _0814F976
+ adds r4, 0x1
+_0814F976:
+ ldr r0, [r5]
+ adds r2, 0x2
+ ldrh r0, [r0]
+ cmp r1, r0
+ bne _0814F96A
+ cmp r4, 0x4
+ bhi _0814F9E0
+_0814F984:
+ lsls r0, r4, 2
+ ldr r1, =_0814F99C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0814F99C:
+ .4byte _0814F9B0
+ .4byte _0814F9B8
+ .4byte _0814F9C0
+ .4byte _0814F9C8
+ .4byte _0814F9D8
+_0814F9B0:
+ ldr r1, =gUnknown_085CBDB7
+ b _0814F9CA
+ .pool
+_0814F9B8:
+ ldr r1, =gUnknown_085CBDB9
+ b _0814F9CA
+ .pool
+_0814F9C0:
+ ldr r1, =gUnknown_085CBDBB
+ b _0814F9CA
+ .pool
+_0814F9C8:
+ ldr r1, =gUnknown_085CBDBD
+_0814F9CA:
+ adds r0, r3, 0
+ bl CopyString
+ b _0814F9E0
+ .pool
+_0814F9D8:
+ ldr r1, =gUnknown_085CBDBF
+ adds r0, r3, 0
+ bl CopyString
+_0814F9E0:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_814F950
+
+ thumb_func_start battle_show_message_maybe
+battle_show_message_maybe: @ 814F9EC
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x10
+ adds r4, r0, 0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ ldr r1, =gUnknown_085CD660
+ ldr r0, =0x02024474
+ adds r0, 0x24
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ mov r8, r0
+ movs r0, 0x80
+ ands r0, r7
+ cmp r0, 0
+ beq _0814FA24
+ movs r0, 0x7F
+ ands r7, r0
+ movs r0, 0
+ b _0814FA36
+ .pool
+_0814FA24:
+ lsls r0, r7, 1
+ adds r0, r7
+ lsls r0, 2
+ add r0, r8
+ ldrb r1, [r0]
+ adds r0, r7, 0
+ bl FillWindowPixelBuffer
+ movs r0, 0x1
+_0814FA36:
+ mov r9, r0
+ str r4, [sp]
+ mov r0, sp
+ strb r7, [r0, 0x4]
+ mov r1, sp
+ lsls r6, r7, 1
+ adds r3, r6, r7
+ lsls r3, 2
+ add r3, r8
+ ldrb r0, [r3, 0x1]
+ strb r0, [r1, 0x5]
+ ldrb r0, [r3, 0x2]
+ strb r0, [r1, 0x6]
+ ldrb r0, [r3, 0x3]
+ strb r0, [r1, 0x7]
+ mov r0, sp
+ ldrb r0, [r0, 0x6]
+ strb r0, [r1, 0x8]
+ mov r0, sp
+ ldrb r0, [r0, 0x7]
+ strb r0, [r1, 0x9]
+ ldrb r0, [r3, 0x4]
+ strb r0, [r1, 0xA]
+ ldrb r0, [r3, 0x5]
+ strb r0, [r1, 0xB]
+ mov r4, sp
+ ldrb r2, [r4, 0xC]
+ movs r1, 0x10
+ negs r1, r1
+ adds r0, r1, 0
+ ands r0, r2
+ strb r0, [r4, 0xC]
+ mov r2, sp
+ ldrb r0, [r3, 0x7]
+ lsls r0, 4
+ movs r5, 0xF
+ strb r0, [r2, 0xC]
+ ldrb r2, [r3, 0x8]
+ adds r0, r5, 0
+ ands r0, r2
+ ldrb r2, [r4, 0xD]
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r4, 0xD]
+ mov r2, sp
+ ldrb r0, [r3, 0x9]
+ lsls r0, 4
+ ands r1, r5
+ orrs r1, r0
+ strb r1, [r2, 0xD]
+ mov r0, sp
+ ldrb r0, [r0, 0x6]
+ cmp r0, 0xFF
+ bne _0814FAC6
+ ldr r0, =0x02024474
+ adds r0, 0x24
+ ldrb r0, [r0]
+ adds r1, r7, 0
+ bl sub_80397C4
+ adds r2, r0, 0
+ mov r0, sp
+ ldrb r0, [r0, 0x5]
+ ldr r1, [sp]
+ mov r3, sp
+ ldrb r3, [r3, 0xA]
+ bl GetStringCenterAlignXOffsetWithLetterSpacing
+ mov r2, sp
+ mov r1, sp
+ strb r0, [r1, 0x8]
+ strb r0, [r2, 0x6]
+_0814FAC6:
+ cmp r7, 0x16
+ bne _0814FAE0
+ ldr r0, =0x03003014
+ ldrb r2, [r0]
+ movs r1, 0x3
+ negs r1, r1
+ ands r1, r2
+ b _0814FAE8
+ .pool
+_0814FAE0:
+ ldr r0, =0x03003014
+ ldrb r1, [r0]
+ movs r2, 0x2
+ orrs r1, r2
+_0814FAE8:
+ strb r1, [r0]
+ adds r3, r0, 0
+ ldr r0, =0x02022fec
+ ldr r1, [r0]
+ ldr r2, =0x01000002
+ ands r1, r2
+ adds r2, r0, 0
+ cmp r1, 0
+ beq _0814FB10
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ b _0814FB18
+ .pool
+_0814FB10:
+ ldrb r1, [r3]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+_0814FB18:
+ strb r0, [r3]
+ cmp r7, 0
+ beq _0814FB22
+ cmp r7, 0x16
+ bne _0814FB6C
+_0814FB22:
+ ldr r1, [r2]
+ ldr r0, =0x02000002
+ ands r0, r1
+ cmp r0, 0
+ beq _0814FB34
+ movs r6, 0x1
+ b _0814FB5C
+ .pool
+_0814FB34:
+ movs r0, 0x80
+ lsls r0, 17
+ ands r1, r0
+ cmp r1, 0
+ beq _0814FB54
+ ldr r4, =gUnknown_085CD668
+ bl sub_8185FC4
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r4
+ ldrb r6, [r0]
+ b _0814FB5C
+ .pool
+_0814FB54:
+ bl sav2_get_text_speed
+ lsls r0, 24
+ lsrs r6, r0, 24
+_0814FB5C:
+ ldr r0, =0x03003014
+ ldrb r1, [r0]
+ movs r2, 0x1
+ orrs r1, r2
+ strb r1, [r0]
+ b _0814FB7E
+ .pool
+_0814FB6C:
+ adds r0, r6, r7
+ lsls r0, 2
+ add r0, r8
+ ldrb r6, [r0, 0x6]
+ ldrb r1, [r3]
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r3]
+_0814FB7E:
+ mov r0, sp
+ adds r1, r6, 0
+ movs r2, 0
+ bl AddTextPrinter
+ mov r0, r9
+ cmp r0, 0
+ beq _0814FB9C
+ adds r0, r7, 0
+ bl PutWindowTilemap
+ adds r0, r7, 0
+ movs r1, 0x3
+ bl CopyWindowToVram
+_0814FB9C:
+ add sp, 0x10
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end battle_show_message_maybe
+
+ thumb_func_start sub_814FBAC
+sub_814FBAC: @ 814FBAC
+ push {r4,r5,lr}
+ ldr r0, =0x02024064
+ ldrb r2, [r0]
+ lsls r1, r2, 9
+ ldr r0, =0x02023068
+ adds r1, r0
+ ldr r4, =gUnknown_08D85620
+ ldr r0, =0x020244b0
+ adds r2, r0
+ ldrb r2, [r2]
+ adds r0, r1, 0
+ adds r0, 0x8
+ adds r0, r2
+ ldrb r0, [r0]
+ adds r1, 0xC
+ adds r1, r2
+ ldrb r1, [r1]
+ bl sub_814FC20
+ lsls r0, 24
+ ldr r5, =0x02037714
+ lsrs r0, 22
+ adds r0, r4
+ ldrh r1, [r0]
+ adds r2, r5, 0
+ adds r2, 0xB8
+ strh r1, [r2]
+ ldrh r0, [r0, 0x2]
+ adds r5, 0xB6
+ strh r0, [r5]
+ ldr r4, =0x02037bcc
+ adds r0, r2, 0
+ adds r1, r4, 0
+ movs r2, 0x1
+ bl CpuSet
+ subs r4, 0x2
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x1
+ bl CpuSet
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_814FBAC
+
+ thumb_func_start sub_814FC20
+sub_814FC20: @ 814FC20
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ adds r3, r2, 0
+ lsls r1, 24
+ lsrs r0, r1, 24
+ cmp r0, r2
+ beq _0814FC68
+ cmp r0, 0x2
+ bhi _0814FC3A
+ cmp r2, 0x1
+ bhi _0814FC68
+ b _0814FC42
+_0814FC3A:
+ cmp r0, 0x7
+ bhi _0814FC4C
+ cmp r2, 0x2
+ bhi _0814FC68
+_0814FC42:
+ movs r0, 0x2
+ subs r0, r2
+ lsls r0, 24
+ lsrs r0, 24
+ b _0814FC6A
+_0814FC4C:
+ cmp r2, 0
+ bne _0814FC54
+ movs r0, 0x2
+ b _0814FC6A
+_0814FC54:
+ lsrs r0, r1, 26
+ cmp r2, r0
+ bhi _0814FC5E
+ movs r0, 0x1
+ b _0814FC6A
+_0814FC5E:
+ lsrs r0, r1, 25
+ cmp r3, r0
+ bhi _0814FC68
+ movs r0, 0
+ b _0814FC6A
+_0814FC68:
+ movs r0, 0x3
+_0814FC6A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_814FC20
+
+ .align 2, 0 @ Don't pad with nop.