summaryrefslogtreecommitdiff
path: root/asm/contest_ai.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/contest_ai.s')
-rw-r--r--asm/contest_ai.s5293
1 files changed, 5293 insertions, 0 deletions
diff --git a/asm/contest_ai.s b/asm/contest_ai.s
new file mode 100644
index 000000000..64efee908
--- /dev/null
+++ b/asm/contest_ai.s
@@ -0,0 +1,5293 @@
+ .include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
+ .include "asm/macros.s"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_81288F4
+sub_81288F4: @ 81288F4
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r4, _0812893C
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x44
+ bl memset
+ movs r3, 0x64
+ adds r2, r4, 0
+ movs r1, 0x3
+ adds r0, r2, 0
+ adds r0, 0x8
+_08128910:
+ strb r3, [r0]
+ subs r0, 0x1
+ subs r1, 0x1
+ cmp r1, 0
+ bge _08128910
+ adds r3, r2, 0
+ adds r3, 0x41
+ movs r1, 0
+ strb r5, [r3]
+ adds r0, r2, 0
+ adds r0, 0x40
+ strb r1, [r0]
+ ldr r1, _08128940
+ ldrb r0, [r3]
+ lsls r0, 6
+ adds r1, 0x18
+ adds r0, r1
+ ldr r0, [r0]
+ str r0, [r2, 0x14]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812893C: .4byte 0x020192e4
+_08128940: .4byte gUnknown_02038570
+ thumb_func_end sub_81288F4
+
+ thumb_func_start sub_8128944
+sub_8128944: @ 8128944
+ push {r4-r6,lr}
+ ldr r1, _081289A8
+ ldr r0, [r1, 0x14]
+ cmp r0, 0
+ beq _08128974
+ adds r4, r1, 0
+ movs r5, 0
+_08128952:
+ ldr r0, [r4, 0x14]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08128962
+ strb r5, [r4]
+ bl sub_81289AC
+_08128962:
+ ldr r1, [r4, 0x14]
+ lsrs r1, 1
+ str r1, [r4, 0x14]
+ ldrb r0, [r4, 0x10]
+ adds r0, 0x1
+ strb r0, [r4, 0x10]
+ strb r5, [r4, 0x4]
+ cmp r1, 0
+ bne _08128952
+_08128974:
+ movs r6, 0x3
+ ldr r5, _081289A8
+_08128978:
+ bl Random
+ adds r4, r0, 0
+ ands r4, r6
+ adds r3, r5, 0x5
+ adds r0, r4, r3
+ ldrb r2, [r0]
+ movs r1, 0
+ ldrb r0, [r5, 0x5]
+ cmp r2, r0
+ bcc _0812899C
+_0812898E:
+ adds r1, 0x1
+ cmp r1, 0x3
+ bgt _0812899C
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcs _0812898E
+_0812899C:
+ cmp r1, 0x4
+ bne _08128978
+ adds r0, r4, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081289A8: .4byte 0x020192e4
+ thumb_func_end sub_8128944
+
+ thumb_func_start sub_81289AC
+sub_81289AC: @ 81289AC
+ push {r4-r6,lr}
+ ldr r1, _081289F4
+ ldrb r0, [r1]
+ adds r2, r1, 0
+ cmp r0, 0x2
+ beq _08128A76
+ adds r4, r1, 0
+ ldr r5, _081289F8
+ ldr r6, _081289FC
+_081289BE:
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ beq _08128A0E
+ cmp r0, 0x1
+ bgt _08128A6E
+ cmp r0, 0
+ bne _08128A6E
+ ldr r1, _08128A00
+ ldrb r0, [r4, 0x10]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ str r0, [r5]
+ ldrb r1, [r4, 0x4]
+ lsls r1, 1
+ adds r0, r4, 0
+ adds r0, 0x41
+ ldrb r0, [r0]
+ lsls r0, 6
+ adds r1, r0
+ adds r1, r6
+ ldrh r1, [r1]
+ adds r0, r1, 0
+ cmp r0, 0
+ bne _08128A04
+ strh r0, [r4, 0x2]
+ b _08128A06
+ .align 2, 0
+_081289F4: .4byte 0x020192e4
+_081289F8: .4byte gUnknown_02039238
+_081289FC: .4byte gUnknown_0203858E
+_08128A00: .4byte gContestAIs
+_08128A04:
+ strh r1, [r4, 0x2]
+_08128A06:
+ ldrb r0, [r4]
+ adds r0, 0x1
+ strb r0, [r4]
+ b _08128A6E
+_08128A0E:
+ ldrh r1, [r1, 0x2]
+ cmp r1, 0
+ beq _08128A2C
+ ldr r1, _08128A28
+ ldr r0, [r5]
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ b _08128A3C
+ .align 2, 0
+_08128A28: .4byte gUnknown_08401E60
+_08128A2C:
+ adds r0, r4, 0x5
+ ldrb r2, [r4, 0x4]
+ adds r0, r2
+ strb r1, [r0]
+ ldrb r1, [r4, 0x9]
+ movs r0, 0x1
+ orrs r0, r1
+ strb r0, [r4, 0x9]
+_08128A3C:
+ ldr r2, _08128A5C
+ ldrb r1, [r2, 0x9]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08128A6E
+ ldrb r0, [r2, 0x4]
+ adds r0, 0x1
+ movs r1, 0
+ strb r0, [r2, 0x4]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bhi _08128A60
+ strb r1, [r2]
+ b _08128A66
+ .align 2, 0
+_08128A5C: .4byte 0x020192e4
+_08128A60:
+ ldrb r0, [r2]
+ adds r0, 0x1
+ strb r0, [r2]
+_08128A66:
+ ldrb r1, [r4, 0x9]
+ movs r0, 0xFE
+ ands r0, r1
+ strb r0, [r4, 0x9]
+_08128A6E:
+ adds r1, r2, 0
+ ldrb r0, [r1]
+ cmp r0, 0x2
+ bne _081289BE
+_08128A76:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81289AC
+
+ thumb_func_start sub_8128A7C
+sub_8128A7C: @ 8128A7C
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ movs r1, 0
+ ldr r3, _08128AA4
+ ldrb r0, [r3]
+ cmp r0, r2
+ beq _08128A9A
+_08128A8C:
+ adds r1, 0x1
+ cmp r1, 0x3
+ bgt _08128A9A
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, r2
+ bne _08128A8C
+_08128A9A:
+ lsls r0, r1, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08128AA4: .4byte 0x020192d0
+ thumb_func_end sub_8128A7C
+
+ thumb_func_start sub_8128AA8
+sub_8128AA8: @ 8128AA8
+ push {lr}
+ ldr r2, _08128AD0
+ adds r1, r2, 0x5
+ ldrb r0, [r2, 0x4]
+ adds r1, r0
+ ldr r3, _08128AD4
+ ldr r0, [r3]
+ ldrb r0, [r0, 0x1]
+ lsls r0, 24
+ asrs r0, 24
+ ldrb r1, [r1]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ asrs r0, 16
+ cmp r0, 0xFF
+ ble _08128AD8
+ movs r1, 0xFF
+ b _08128ADE
+ .align 2, 0
+_08128AD0: .4byte 0x020192e4
+_08128AD4: .4byte gUnknown_02039238
+_08128AD8:
+ cmp r0, 0
+ bge _08128ADE
+ movs r1, 0
+_08128ADE:
+ adds r0, r2, 0x5
+ ldrb r2, [r2, 0x4]
+ adds r0, r2
+ strb r1, [r0]
+ ldr r0, [r3]
+ adds r0, 0x2
+ str r0, [r3]
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128AA8
+
+ thumb_func_start contest_ai_get_turn
+contest_ai_get_turn: @ 8128AF0
+ ldr r1, _08128B04
+ adds r0, r1, 0
+ subs r0, 0xE0
+ ldrb r0, [r0, 0x1]
+ strh r0, [r1, 0x18]
+ ldr r1, _08128B08
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_08128B04: .4byte 0x020192e4
+_08128B08: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_get_turn
+
+ thumb_func_start sub_8128B0C
+sub_8128B0C: @ 8128B0C
+ push {lr}
+ bl contest_ai_get_turn
+ ldr r0, _08128B3C
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128B40
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bge _08128B44
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128B48
+ .align 2, 0
+_08128B3C: .4byte 0x020192e4
+_08128B40: .4byte gUnknown_02039238
+_08128B44:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128B48:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128B0C
+
+ thumb_func_start sub_8128B4C
+sub_8128B4C: @ 8128B4C
+ push {lr}
+ bl contest_ai_get_turn
+ ldr r0, _08128B7C
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128B80
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ ble _08128B84
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128B88
+ .align 2, 0
+_08128B7C: .4byte 0x020192e4
+_08128B80: .4byte gUnknown_02039238
+_08128B84:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128B88:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128B4C
+
+ thumb_func_start sub_8128B8C
+sub_8128B8C: @ 8128B8C
+ push {lr}
+ bl contest_ai_get_turn
+ ldr r0, _08128BBC
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128BC0
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _08128BC4
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128BC8
+ .align 2, 0
+_08128BBC: .4byte 0x020192e4
+_08128BC0: .4byte gUnknown_02039238
+_08128BC4:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128BC8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128B8C
+
+ thumb_func_start sub_8128BCC
+sub_8128BCC: @ 8128BCC
+ push {lr}
+ bl contest_ai_get_turn
+ ldr r0, _08128BFC
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128C00
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _08128C04
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128C08
+ .align 2, 0
+_08128BFC: .4byte 0x020192e4
+_08128C00: .4byte gUnknown_02039238
+_08128C04:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128C08:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128BCC
+
+ thumb_func_start contest_ai_get_excitement
+contest_ai_get_excitement: @ 8128C0C
+ ldr r1, _08128C24
+ adds r0, r1, 0
+ subs r0, 0xE0
+ ldrb r0, [r0, 0x13]
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r1, 0x18]
+ ldr r1, _08128C28
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_08128C24: .4byte 0x020192e4
+_08128C28: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_get_excitement
+
+ thumb_func_start sub_8128C2C
+sub_8128C2C: @ 8128C2C
+ push {lr}
+ bl contest_ai_get_excitement
+ ldr r0, _08128C5C
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128C60
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bge _08128C64
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128C68
+ .align 2, 0
+_08128C5C: .4byte 0x020192e4
+_08128C60: .4byte gUnknown_02039238
+_08128C64:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128C68:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128C2C
+
+ thumb_func_start sub_8128C6C
+sub_8128C6C: @ 8128C6C
+ push {lr}
+ bl contest_ai_get_excitement
+ ldr r0, _08128C9C
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128CA0
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ ble _08128CA4
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128CA8
+ .align 2, 0
+_08128C9C: .4byte 0x020192e4
+_08128CA0: .4byte gUnknown_02039238
+_08128CA4:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128CA8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128C6C
+
+ thumb_func_start sub_8128CAC
+sub_8128CAC: @ 8128CAC
+ push {lr}
+ bl contest_ai_get_excitement
+ ldr r0, _08128CDC
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128CE0
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _08128CE4
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128CE8
+ .align 2, 0
+_08128CDC: .4byte 0x020192e4
+_08128CE0: .4byte gUnknown_02039238
+_08128CE4:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128CE8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128CAC
+
+ thumb_func_start sub_8128CEC
+sub_8128CEC: @ 8128CEC
+ push {lr}
+ bl contest_ai_get_excitement
+ ldr r0, _08128D1C
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128D20
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _08128D24
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128D28
+ .align 2, 0
+_08128D1C: .4byte 0x020192e4
+_08128D20: .4byte gUnknown_02039238
+_08128D24:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128D28:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128CEC
+
+ thumb_func_start contest_ai_get_user_order
+contest_ai_get_user_order: @ 8128D2C
+ ldr r1, _08128D48
+ adds r2, r1, 0
+ adds r2, 0x41
+ adds r0, r1, 0
+ subs r0, 0x14
+ ldrb r2, [r2]
+ adds r0, r2
+ ldrb r0, [r0]
+ strh r0, [r1, 0x18]
+ ldr r1, _08128D4C
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_08128D48: .4byte 0x020192e4
+_08128D4C: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_get_user_order
+
+ thumb_func_start sub_8128D50
+sub_8128D50: @ 8128D50
+ push {lr}
+ bl contest_ai_get_user_order
+ ldr r0, _08128D80
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128D84
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bge _08128D88
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128D8C
+ .align 2, 0
+_08128D80: .4byte 0x020192e4
+_08128D84: .4byte gUnknown_02039238
+_08128D88:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128D8C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128D50
+
+ thumb_func_start sub_8128D90
+sub_8128D90: @ 8128D90
+ push {lr}
+ bl contest_ai_get_user_order
+ ldr r0, _08128DC0
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128DC4
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ ble _08128DC8
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128DCC
+ .align 2, 0
+_08128DC0: .4byte 0x020192e4
+_08128DC4: .4byte gUnknown_02039238
+_08128DC8:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128DCC:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128D90
+
+ thumb_func_start sub_8128DD0
+sub_8128DD0: @ 8128DD0
+ push {lr}
+ bl contest_ai_get_user_order
+ ldr r0, _08128E00
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128E04
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _08128E08
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128E0C
+ .align 2, 0
+_08128E00: .4byte 0x020192e4
+_08128E04: .4byte gUnknown_02039238
+_08128E08:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128E0C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128DD0
+
+ thumb_func_start sub_8128E10
+sub_8128E10: @ 8128E10
+ push {lr}
+ bl contest_ai_get_user_order
+ ldr r0, _08128E40
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128E44
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _08128E48
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128E4C
+ .align 2, 0
+_08128E40: .4byte 0x020192e4
+_08128E44: .4byte gUnknown_02039238
+_08128E48:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128E4C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128E10
+
+ thumb_func_start contest_ai_get_user_condition_maybe
+contest_ai_get_user_condition_maybe: @ 8128E50
+ push {r4,lr}
+ ldr r4, _08128E88
+ adds r0, r4, 0
+ adds r0, 0x41
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ adds r1, r4, 0
+ subs r1, 0x84
+ adds r0, r1
+ ldrb r0, [r0, 0xD]
+ lsls r0, 24
+ asrs r0, 24
+ movs r1, 0xA
+ bl __divsi3
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r4, 0x18]
+ ldr r1, _08128E8C
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08128E88: .4byte 0x020192e4
+_08128E8C: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_get_user_condition_maybe
+
+ thumb_func_start sub_8128E90
+sub_8128E90: @ 8128E90
+ push {lr}
+ bl contest_ai_get_user_condition_maybe
+ ldr r0, _08128EC0
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128EC4
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bge _08128EC8
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128ECC
+ .align 2, 0
+_08128EC0: .4byte 0x020192e4
+_08128EC4: .4byte gUnknown_02039238
+_08128EC8:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128ECC:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128E90
+
+ thumb_func_start sub_8128ED0
+sub_8128ED0: @ 8128ED0
+ push {lr}
+ bl contest_ai_get_user_condition_maybe
+ ldr r0, _08128F00
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128F04
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ ble _08128F08
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128F0C
+ .align 2, 0
+_08128F00: .4byte 0x020192e4
+_08128F04: .4byte gUnknown_02039238
+_08128F08:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128F0C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128ED0
+
+ thumb_func_start sub_8128F10
+sub_8128F10: @ 8128F10
+ push {lr}
+ bl contest_ai_get_user_condition_maybe
+ ldr r0, _08128F40
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128F44
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _08128F48
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128F4C
+ .align 2, 0
+_08128F40: .4byte 0x020192e4
+_08128F44: .4byte gUnknown_02039238
+_08128F48:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128F4C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128F10
+
+ thumb_func_start sub_8128F50
+sub_8128F50: @ 8128F50
+ push {lr}
+ bl contest_ai_get_user_condition_maybe
+ ldr r0, _08128F80
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08128F84
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _08128F88
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08128F8C
+ .align 2, 0
+_08128F80: .4byte 0x020192e4
+_08128F84: .4byte gUnknown_02039238
+_08128F88:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08128F8C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128F50
+
+ thumb_func_start sub_8128F90
+sub_8128F90: @ 8128F90
+ ldr r2, _08128FB4
+ adds r0, r2, 0
+ adds r0, 0x41
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ adds r1, r2, 0
+ subs r1, 0x84
+ adds r0, r1
+ ldrh r0, [r0, 0x4]
+ strh r0, [r2, 0x18]
+ ldr r1, _08128FB8
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_08128FB4: .4byte 0x020192e4
+_08128FB8: .4byte gUnknown_02039238
+ thumb_func_end sub_8128F90
+
+ thumb_func_start sub_8128FBC
+sub_8128FBC: @ 8128FBC
+ push {r4,r5,lr}
+ bl sub_8128F90
+ ldr r2, _08128FF4
+ ldr r4, _08128FF8
+ ldr r3, [r4]
+ ldrb r1, [r3]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ movs r5, 0x18
+ ldrsh r0, [r2, r5]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r0, r1
+ bge _08128FFC
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x4]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _08129000
+ .align 2, 0
+_08128FF4: .4byte 0x020192e4
+_08128FF8: .4byte gUnknown_02039238
+_08128FFC:
+ adds r0, r3, 0x6
+ str r0, [r4]
+_08129000:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8128FBC
+
+ thumb_func_start sub_8129008
+sub_8129008: @ 8129008
+ push {r4,r5,lr}
+ bl sub_8128F90
+ ldr r2, _08129040
+ ldr r4, _08129044
+ ldr r3, [r4]
+ ldrb r1, [r3]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ movs r5, 0x18
+ ldrsh r0, [r2, r5]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r0, r1
+ ble _08129048
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x4]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _0812904C
+ .align 2, 0
+_08129040: .4byte 0x020192e4
+_08129044: .4byte gUnknown_02039238
+_08129048:
+ adds r0, r3, 0x6
+ str r0, [r4]
+_0812904C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129008
+
+ thumb_func_start sub_8129054
+sub_8129054: @ 8129054
+ push {r4,r5,lr}
+ bl sub_8128F90
+ ldr r2, _0812908C
+ ldr r4, _08129090
+ ldr r3, [r4]
+ ldrb r1, [r3]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ movs r5, 0x18
+ ldrsh r0, [r2, r5]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r0, r1
+ bne _08129094
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x4]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _08129098
+ .align 2, 0
+_0812908C: .4byte 0x020192e4
+_08129090: .4byte gUnknown_02039238
+_08129094:
+ adds r0, r3, 0x6
+ str r0, [r4]
+_08129098:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129054
+
+ thumb_func_start sub_81290A0
+sub_81290A0: @ 81290A0
+ push {r4,r5,lr}
+ bl sub_8128F90
+ ldr r2, _081290D8
+ ldr r4, _081290DC
+ ldr r3, [r4]
+ ldrb r1, [r3]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ movs r5, 0x18
+ ldrsh r0, [r2, r5]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r0, r1
+ beq _081290E0
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x4]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _081290E4
+ .align 2, 0
+_081290D8: .4byte 0x020192e4
+_081290DC: .4byte gUnknown_02039238
+_081290E0:
+ adds r0, r3, 0x6
+ str r0, [r4]
+_081290E4:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81290A0
+
+ thumb_func_start sub_81290EC
+sub_81290EC: @ 81290EC
+ ldr r2, _08129108
+ ldr r1, _0812910C
+ adds r0, r2, 0
+ adds r0, 0x41
+ ldrb r0, [r0]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ strh r0, [r2, 0x18]
+ ldr r1, _08129110
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_08129108: .4byte 0x020192e4
+_0812910C: .4byte gUnknown_02038670
+_08129110: .4byte gUnknown_02039238
+ thumb_func_end sub_81290EC
+
+ thumb_func_start sub_8129114
+sub_8129114: @ 8129114
+ push {r4,r5,lr}
+ bl sub_81290EC
+ ldr r2, _0812914C
+ ldr r4, _08129150
+ ldr r3, [r4]
+ ldrb r1, [r3]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ movs r5, 0x18
+ ldrsh r0, [r2, r5]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r0, r1
+ bge _08129154
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x4]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _08129158
+ .align 2, 0
+_0812914C: .4byte 0x020192e4
+_08129150: .4byte gUnknown_02039238
+_08129154:
+ adds r0, r3, 0x6
+ str r0, [r4]
+_08129158:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129114
+
+ thumb_func_start sub_8129160
+sub_8129160: @ 8129160
+ push {r4,r5,lr}
+ bl sub_81290EC
+ ldr r2, _08129198
+ ldr r4, _0812919C
+ ldr r3, [r4]
+ ldrb r1, [r3]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ movs r5, 0x18
+ ldrsh r0, [r2, r5]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r0, r1
+ ble _081291A0
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x4]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _081291A4
+ .align 2, 0
+_08129198: .4byte 0x020192e4
+_0812919C: .4byte gUnknown_02039238
+_081291A0:
+ adds r0, r3, 0x6
+ str r0, [r4]
+_081291A4:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129160
+
+ thumb_func_start sub_81291AC
+sub_81291AC: @ 81291AC
+ push {r4,r5,lr}
+ bl sub_81290EC
+ ldr r2, _081291E4
+ ldr r4, _081291E8
+ ldr r3, [r4]
+ ldrb r1, [r3]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ movs r5, 0x18
+ ldrsh r0, [r2, r5]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r0, r1
+ bne _081291EC
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x4]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _081291F0
+ .align 2, 0
+_081291E4: .4byte 0x020192e4
+_081291E8: .4byte gUnknown_02039238
+_081291EC:
+ adds r0, r3, 0x6
+ str r0, [r4]
+_081291F0:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81291AC
+
+ thumb_func_start sub_81291F8
+sub_81291F8: @ 81291F8
+ push {r4,r5,lr}
+ bl sub_81290EC
+ ldr r2, _08129230
+ ldr r4, _08129234
+ ldr r3, [r4]
+ ldrb r1, [r3]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ movs r5, 0x18
+ ldrsh r0, [r2, r5]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r0, r1
+ beq _08129238
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x4]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _0812923C
+ .align 2, 0
+_08129230: .4byte 0x020192e4
+_08129234: .4byte gUnknown_02039238
+_08129238:
+ adds r0, r3, 0x6
+ str r0, [r4]
+_0812923C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81291F8
+
+ thumb_func_start contest_ai_get_contest_type
+contest_ai_get_contest_type: @ 8129244
+ ldr r1, _08129258
+ ldr r0, _0812925C
+ ldrh r0, [r0]
+ strh r0, [r1, 0x18]
+ ldr r1, _08129260
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_08129258: .4byte 0x020192e4
+_0812925C: .4byte gUnknown_0203869C
+_08129260: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_get_contest_type
+
+ thumb_func_start sub_8129264
+sub_8129264: @ 8129264
+ push {lr}
+ bl contest_ai_get_contest_type
+ ldr r0, _08129294
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08129298
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _0812929C
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _081292A0
+ .align 2, 0
+_08129294: .4byte 0x020192e4
+_08129298: .4byte gUnknown_02039238
+_0812929C:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_081292A0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129264
+
+ thumb_func_start sub_81292A4
+sub_81292A4: @ 81292A4
+ push {lr}
+ bl contest_ai_get_contest_type
+ ldr r0, _081292D4
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _081292D8
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _081292DC
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _081292E0
+ .align 2, 0
+_081292D4: .4byte 0x020192e4
+_081292D8: .4byte gUnknown_02039238
+_081292DC:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_081292E0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81292A4
+
+ thumb_func_start contest_ai_get_move_excitement
+contest_ai_get_move_excitement: @ 81292E4
+ push {r4,lr}
+ ldr r2, _08129318
+ ldr r4, _0812931C
+ ldrb r1, [r4, 0x4]
+ lsls r1, 1
+ adds r0, r4, 0
+ adds r0, 0x41
+ ldrb r0, [r0]
+ lsls r0, 6
+ adds r1, r0
+ adds r2, 0x1E
+ adds r1, r2
+ ldrh r0, [r1]
+ bl contest_get_move_excitement
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r4, 0x18]
+ ldr r1, _08129320
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129318: .4byte gUnknown_02038570
+_0812931C: .4byte 0x020192e4
+_08129320: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_get_move_excitement
+
+ thumb_func_start sub_8129324
+sub_8129324: @ 8129324
+ push {r4,lr}
+ bl contest_ai_get_move_excitement
+ ldr r0, _08129354
+ ldr r3, _08129358
+ ldr r2, [r3]
+ movs r4, 0x18
+ ldrsh r1, [r0, r4]
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ cmp r1, r0
+ bge _0812935C
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129360
+ .align 2, 0
+_08129354: .4byte 0x020192e4
+_08129358: .4byte gUnknown_02039238
+_0812935C:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129360:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129324
+
+ thumb_func_start sub_8129368
+sub_8129368: @ 8129368
+ push {r4,lr}
+ bl contest_ai_get_move_excitement
+ ldr r0, _08129398
+ ldr r3, _0812939C
+ ldr r2, [r3]
+ movs r4, 0x18
+ ldrsh r1, [r0, r4]
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ cmp r1, r0
+ ble _081293A0
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _081293A4
+ .align 2, 0
+_08129398: .4byte 0x020192e4
+_0812939C: .4byte gUnknown_02039238
+_081293A0:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_081293A4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129368
+
+ thumb_func_start sub_81293AC
+sub_81293AC: @ 81293AC
+ push {r4,lr}
+ bl contest_ai_get_move_excitement
+ ldr r0, _081293DC
+ ldr r3, _081293E0
+ ldr r2, [r3]
+ movs r4, 0x18
+ ldrsh r1, [r0, r4]
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ cmp r1, r0
+ bne _081293E4
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _081293E8
+ .align 2, 0
+_081293DC: .4byte 0x020192e4
+_081293E0: .4byte gUnknown_02039238
+_081293E4:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_081293E8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81293AC
+
+ thumb_func_start sub_81293F0
+sub_81293F0: @ 81293F0
+ push {r4,lr}
+ bl contest_ai_get_move_excitement
+ ldr r0, _08129420
+ ldr r3, _08129424
+ ldr r2, [r3]
+ movs r4, 0x18
+ ldrsh r1, [r0, r4]
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ cmp r1, r0
+ beq _08129428
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812942C
+ .align 2, 0
+_08129420: .4byte 0x020192e4
+_08129424: .4byte gUnknown_02039238
+_08129428:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812942C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81293F0
+
+ thumb_func_start contest_ai_get_move_effect
+contest_ai_get_move_effect: @ 8129434
+ ldr r2, _08129460
+ ldr r3, _08129464
+ ldrb r1, [r3, 0x4]
+ lsls r1, 1
+ adds r0, r3, 0
+ adds r0, 0x41
+ ldrb r0, [r0]
+ lsls r0, 6
+ adds r1, r0
+ adds r2, 0x1E
+ adds r1, r2
+ ldrh r0, [r1]
+ ldr r1, _08129468
+ lsls r0, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ strh r0, [r3, 0x18]
+ ldr r1, _0812946C
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_08129460: .4byte gUnknown_02038570
+_08129464: .4byte 0x020192e4
+_08129468: .4byte gContestMoves
+_0812946C: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_get_move_effect
+
+ thumb_func_start sub_8129470
+sub_8129470: @ 8129470
+ push {lr}
+ bl contest_ai_get_move_effect
+ ldr r0, _081294A0
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _081294A4
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _081294A8
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _081294AC
+ .align 2, 0
+_081294A0: .4byte 0x020192e4
+_081294A4: .4byte gUnknown_02039238
+_081294A8:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_081294AC:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129470
+
+ thumb_func_start sub_81294B0
+sub_81294B0: @ 81294B0
+ push {lr}
+ bl contest_ai_get_move_effect
+ ldr r0, _081294E0
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _081294E4
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _081294E8
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _081294EC
+ .align 2, 0
+_081294E0: .4byte 0x020192e4
+_081294E4: .4byte gUnknown_02039238
+_081294E8:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_081294EC:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81294B0
+
+ thumb_func_start contest_ai_get_move_effect_type
+contest_ai_get_move_effect_type: @ 81294F0
+ ldr r2, _08129524
+ ldr r3, _08129528
+ ldrb r1, [r3, 0x4]
+ lsls r1, 1
+ adds r0, r3, 0
+ adds r0, 0x41
+ ldrb r0, [r0]
+ lsls r0, 6
+ adds r1, r0
+ adds r2, 0x1E
+ adds r1, r2
+ ldrh r0, [r1]
+ ldr r2, _0812952C
+ ldr r1, _08129530
+ lsls r0, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0]
+ strh r0, [r3, 0x18]
+ ldr r1, _08129534
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_08129524: .4byte gUnknown_02038570
+_08129528: .4byte 0x020192e4
+_0812952C: .4byte gContestEffects
+_08129530: .4byte gContestMoves
+_08129534: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_get_move_effect_type
+
+ thumb_func_start sub_8129538
+sub_8129538: @ 8129538
+ push {lr}
+ bl contest_ai_get_move_effect_type
+ ldr r0, _08129568
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812956C
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _08129570
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129574
+ .align 2, 0
+_08129568: .4byte 0x020192e4
+_0812956C: .4byte gUnknown_02039238
+_08129570:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129574:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129538
+
+ thumb_func_start sub_8129578
+sub_8129578: @ 8129578
+ push {lr}
+ bl contest_ai_get_move_effect_type
+ ldr r0, _081295A8
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _081295AC
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _081295B0
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _081295B4
+ .align 2, 0
+_081295A8: .4byte 0x020192e4
+_081295AC: .4byte gUnknown_02039238
+_081295B0:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_081295B4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129578
+
+ thumb_func_start contest_ai_check_move_has_highest_appeal
+contest_ai_check_move_has_highest_appeal: @ 81295B8
+ push {r4-r7,lr}
+ ldr r2, _08129610
+ ldr r3, _08129614
+ ldrb r0, [r3, 0x4]
+ lsls r0, 1
+ adds r1, r3, 0
+ adds r1, 0x41
+ ldrb r1, [r1]
+ lsls r1, 6
+ adds r0, r1
+ adds r2, 0x1E
+ adds r0, r2
+ ldrh r0, [r0]
+ ldr r4, _08129618
+ ldr r5, _0812961C
+ lsls r0, 3
+ adds r0, r5
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r4
+ ldrb r7, [r0, 0x1]
+ movs r6, 0
+ ldr r0, _08129620
+ mov r12, r0
+ adds r1, r2
+_081295EA:
+ ldrh r0, [r1]
+ cmp r0, 0
+ beq _08129600
+ lsls r0, 3
+ adds r0, r5
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r4
+ ldrb r0, [r0, 0x1]
+ cmp r7, r0
+ bcc _08129608
+_08129600:
+ adds r1, 0x2
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _081295EA
+_08129608:
+ cmp r6, 0x4
+ bne _08129624
+ movs r0, 0x1
+ b _08129626
+ .align 2, 0
+_08129610: .4byte gUnknown_02038570
+_08129614: .4byte 0x020192e4
+_08129618: .4byte gContestEffects
+_0812961C: .4byte gContestMoves
+_08129620: .4byte gUnknown_02039238
+_08129624:
+ movs r0, 0
+_08129626:
+ strh r0, [r3, 0x18]
+ mov r1, r12
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end contest_ai_check_move_has_highest_appeal
+
+ thumb_func_start sub_8129638
+sub_8129638: @ 8129638
+ push {lr}
+ bl contest_ai_check_move_has_highest_appeal
+ ldr r0, _08129664
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _0812966C
+ ldr r3, _08129668
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129674
+ .align 2, 0
+_08129664: .4byte 0x020192e4
+_08129668: .4byte gUnknown_02039238
+_0812966C:
+ ldr r1, _08129678
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_08129674:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129678: .4byte gUnknown_02039238
+ thumb_func_end sub_8129638
+
+ thumb_func_start sub_812967C
+sub_812967C: @ 812967C
+ push {r4-r7,lr}
+ ldr r2, _081296D4
+ ldr r3, _081296D8
+ ldrb r0, [r3, 0x4]
+ lsls r0, 1
+ adds r1, r3, 0
+ adds r1, 0x41
+ ldrb r1, [r1]
+ lsls r1, 6
+ adds r0, r1
+ adds r2, 0x1E
+ adds r0, r2
+ ldrh r0, [r0]
+ ldr r4, _081296DC
+ ldr r5, _081296E0
+ lsls r0, 3
+ adds r0, r5
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r4
+ ldrb r7, [r0, 0x2]
+ movs r6, 0
+ ldr r0, _081296E4
+ mov r12, r0
+ adds r1, r2
+_081296AE:
+ ldrh r0, [r1]
+ cmp r0, 0
+ beq _081296C4
+ lsls r0, 3
+ adds r0, r5
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r4
+ ldrb r0, [r0, 0x2]
+ cmp r7, r0
+ bcc _081296CC
+_081296C4:
+ adds r1, 0x2
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _081296AE
+_081296CC:
+ cmp r6, 0x4
+ bne _081296E8
+ movs r0, 0x1
+ b _081296EA
+ .align 2, 0
+_081296D4: .4byte gUnknown_02038570
+_081296D8: .4byte 0x020192e4
+_081296DC: .4byte gContestEffects
+_081296E0: .4byte gContestMoves
+_081296E4: .4byte gUnknown_02039238
+_081296E8:
+ movs r0, 0
+_081296EA:
+ strh r0, [r3, 0x18]
+ mov r1, r12
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812967C
+
+ thumb_func_start sub_81296FC
+sub_81296FC: @ 81296FC
+ push {lr}
+ bl sub_812967C
+ ldr r0, _08129728
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _08129730
+ ldr r3, _0812972C
+ ldr r2, [r3]
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129738
+ .align 2, 0
+_08129728: .4byte 0x020192e4
+_0812972C: .4byte gUnknown_02039238
+_08129730:
+ ldr r1, _0812973C
+ ldr r0, [r1]
+ adds r0, 0x5
+ str r0, [r1]
+_08129738:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812973C: .4byte gUnknown_02039238
+ thumb_func_end sub_81296FC
+
+ thumb_func_start sub_8129740
+sub_8129740: @ 8129740
+ push {r4,lr}
+ ldr r2, _08129784
+ ldr r4, _08129788
+ ldrb r1, [r4, 0x4]
+ lsls r1, 1
+ adds r0, r4, 0
+ adds r0, 0x41
+ ldrb r0, [r0]
+ lsls r0, 6
+ adds r1, r0
+ adds r2, 0x1E
+ adds r1, r2
+ ldrh r0, [r1]
+ ldr r2, _0812978C
+ ldr r1, _08129790
+ lsls r0, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0x1]
+ movs r1, 0xA
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x18]
+ ldr r1, _08129794
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129784: .4byte gUnknown_02038570
+_08129788: .4byte 0x020192e4
+_0812978C: .4byte gContestEffects
+_08129790: .4byte gContestMoves
+_08129794: .4byte gUnknown_02039238
+ thumb_func_end sub_8129740
+
+ thumb_func_start sub_8129798
+sub_8129798: @ 8129798
+ push {lr}
+ bl sub_8129740
+ ldr r0, _081297C8
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _081297CC
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bge _081297D0
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _081297D4
+ .align 2, 0
+_081297C8: .4byte 0x020192e4
+_081297CC: .4byte gUnknown_02039238
+_081297D0:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_081297D4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129798
+
+ thumb_func_start sub_81297D8
+sub_81297D8: @ 81297D8
+ push {lr}
+ bl sub_8129740
+ ldr r0, _08129808
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812980C
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ ble _08129810
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129814
+ .align 2, 0
+_08129808: .4byte 0x020192e4
+_0812980C: .4byte gUnknown_02039238
+_08129810:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129814:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81297D8
+
+ thumb_func_start sub_8129818
+sub_8129818: @ 8129818
+ push {lr}
+ bl sub_8129740
+ ldr r0, _08129848
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812984C
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _08129850
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129854
+ .align 2, 0
+_08129848: .4byte 0x020192e4
+_0812984C: .4byte gUnknown_02039238
+_08129850:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129854:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129818
+
+ thumb_func_start sub_8129858
+sub_8129858: @ 8129858
+ push {lr}
+ bl sub_8129740
+ ldr r0, _08129888
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812988C
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _08129890
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129894
+ .align 2, 0
+_08129888: .4byte 0x020192e4
+_0812988C: .4byte gUnknown_02039238
+_08129890:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129894:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129858
+
+ thumb_func_start sub_8129898
+sub_8129898: @ 8129898
+ push {r4,lr}
+ ldr r2, _081298DC
+ ldr r4, _081298E0
+ ldrb r1, [r4, 0x4]
+ lsls r1, 1
+ adds r0, r4, 0
+ adds r0, 0x41
+ ldrb r0, [r0]
+ lsls r0, 6
+ adds r1, r0
+ adds r2, 0x1E
+ adds r1, r2
+ ldrh r0, [r1]
+ ldr r2, _081298E4
+ ldr r1, _081298E8
+ lsls r0, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0x2]
+ movs r1, 0xA
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x18]
+ ldr r1, _081298EC
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081298DC: .4byte gUnknown_02038570
+_081298E0: .4byte 0x020192e4
+_081298E4: .4byte gContestEffects
+_081298E8: .4byte gContestMoves
+_081298EC: .4byte gUnknown_02039238
+ thumb_func_end sub_8129898
+
+ thumb_func_start sub_81298F0
+sub_81298F0: @ 81298F0
+ push {lr}
+ bl sub_8129898
+ ldr r0, _08129920
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08129924
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bge _08129928
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812992C
+ .align 2, 0
+_08129920: .4byte 0x020192e4
+_08129924: .4byte gUnknown_02039238
+_08129928:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812992C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81298F0
+
+ thumb_func_start sub_8129930
+sub_8129930: @ 8129930
+ push {lr}
+ bl sub_8129898
+ ldr r0, _08129960
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08129964
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ ble _08129968
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812996C
+ .align 2, 0
+_08129960: .4byte 0x020192e4
+_08129964: .4byte gUnknown_02039238
+_08129968:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812996C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129930
+
+ thumb_func_start sub_8129970
+sub_8129970: @ 8129970
+ push {lr}
+ bl sub_8129898
+ ldr r0, _081299A0
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _081299A4
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _081299A8
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _081299AC
+ .align 2, 0
+_081299A0: .4byte 0x020192e4
+_081299A4: .4byte gUnknown_02039238
+_081299A8:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_081299AC:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129970
+
+ thumb_func_start sub_81299B0
+sub_81299B0: @ 81299B0
+ push {lr}
+ bl sub_8129898
+ ldr r0, _081299E0
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _081299E4
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _081299E8
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _081299EC
+ .align 2, 0
+_081299E0: .4byte 0x020192e4
+_081299E4: .4byte gUnknown_02039238
+_081299E8:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_081299EC:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81299B0
+
+ thumb_func_start contest_ai_get_move_used_count
+contest_ai_get_move_used_count: @ 81299F0
+ push {r4,lr}
+ ldr r3, _08129A20
+ ldr r4, _08129A24
+ ldrb r0, [r4, 0x4]
+ lsls r0, 1
+ adds r1, r4, 0
+ adds r1, 0x41
+ ldrb r2, [r1]
+ lsls r1, r2, 6
+ adds r0, r1
+ adds r3, 0x1E
+ adds r0, r3
+ ldrh r3, [r0]
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r0, 2
+ adds r1, r4, 0
+ subs r1, 0x84
+ adds r0, r1
+ ldrh r1, [r0, 0x8]
+ cmp r3, r1
+ beq _08129A28
+ movs r0, 0
+ b _08129A30
+ .align 2, 0
+_08129A20: .4byte gUnknown_02038570
+_08129A24: .4byte 0x020192e4
+_08129A28:
+ ldrb r0, [r0, 0xB]
+ lsls r0, 25
+ lsrs r0, 29
+ adds r0, 0x1
+_08129A30:
+ strh r0, [r4, 0x18]
+ ldr r1, _08129A40
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129A40: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_get_move_used_count
+
+ thumb_func_start sub_8129A44
+sub_8129A44: @ 8129A44
+ push {lr}
+ bl contest_ai_get_move_used_count
+ ldr r0, _08129A74
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08129A78
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bge _08129A7C
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129A80
+ .align 2, 0
+_08129A74: .4byte 0x020192e4
+_08129A78: .4byte gUnknown_02039238
+_08129A7C:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129A80:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129A44
+
+ thumb_func_start sub_8129A84
+sub_8129A84: @ 8129A84
+ push {lr}
+ bl contest_ai_get_move_used_count
+ ldr r0, _08129AB4
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08129AB8
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ ble _08129ABC
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129AC0
+ .align 2, 0
+_08129AB4: .4byte 0x020192e4
+_08129AB8: .4byte gUnknown_02039238
+_08129ABC:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129AC0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129A84
+
+ thumb_func_start sub_8129AC4
+sub_8129AC4: @ 8129AC4
+ push {lr}
+ bl contest_ai_get_move_used_count
+ ldr r0, _08129AF4
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08129AF8
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _08129AFC
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129B00
+ .align 2, 0
+_08129AF4: .4byte 0x020192e4
+_08129AF8: .4byte gUnknown_02039238
+_08129AFC:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129B00:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129AC4
+
+ thumb_func_start sub_8129B04
+sub_8129B04: @ 8129B04
+ push {lr}
+ bl contest_ai_get_move_used_count
+ ldr r0, _08129B34
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08129B38
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _08129B3C
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129B40
+ .align 2, 0
+_08129B34: .4byte 0x020192e4
+_08129B38: .4byte gUnknown_02039238
+_08129B3C:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129B40:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129B04
+
+ thumb_func_start contest_ai_check_combo_starter
+contest_ai_check_combo_starter: @ 8129B44
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r5, 0
+ ldr r3, _08129BAC
+ ldr r2, _08129BB0
+ ldrb r1, [r2, 0x4]
+ lsls r1, 1
+ adds r2, 0x41
+ ldrb r0, [r2]
+ lsls r0, 6
+ adds r1, r0
+ adds r3, 0x1E
+ adds r1, r3
+ ldrh r6, [r1]
+ movs r4, 0
+ mov r8, r2
+ adds r7, r3, 0
+_08129B68:
+ lsls r0, r4, 1
+ mov r2, r8
+ ldrb r1, [r2]
+ lsls r1, 6
+ adds r0, r1
+ adds r1, r0, r7
+ ldrh r0, [r1]
+ cmp r0, 0
+ beq _08129B8A
+ adds r1, r0, 0
+ adds r0, r6, 0
+ bl AreMovesContestCombo
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ bne _08129B94
+_08129B8A:
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _08129B68
+ cmp r5, 0
+ beq _08129B96
+_08129B94:
+ movs r5, 0x1
+_08129B96:
+ ldr r0, _08129BB0
+ strh r5, [r0, 0x18]
+ ldr r1, _08129BB4
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129BAC: .4byte gUnknown_02038570
+_08129BB0: .4byte 0x020192e4
+_08129BB4: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_check_combo_starter
+
+ thumb_func_start sub_8129BB8
+sub_8129BB8: @ 8129BB8
+ push {lr}
+ bl contest_ai_check_combo_starter
+ ldr r0, _08129BE4
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _08129BEC
+ ldr r3, _08129BE8
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129BF4
+ .align 2, 0
+_08129BE4: .4byte 0x020192e4
+_08129BE8: .4byte gUnknown_02039238
+_08129BEC:
+ ldr r1, _08129BF8
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_08129BF4:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129BF8: .4byte gUnknown_02039238
+ thumb_func_end sub_8129BB8
+
+ thumb_func_start sub_8129BFC
+sub_8129BFC: @ 8129BFC
+ push {lr}
+ bl contest_ai_check_combo_starter
+ ldr r0, _08129C28
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _08129C30
+ ldr r3, _08129C2C
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129C38
+ .align 2, 0
+_08129C28: .4byte 0x020192e4
+_08129C2C: .4byte gUnknown_02039238
+_08129C30:
+ ldr r1, _08129C3C
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_08129C38:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129C3C: .4byte gUnknown_02039238
+ thumb_func_end sub_8129BFC
+
+ thumb_func_start contest_ai_check_combo_finisher
+contest_ai_check_combo_finisher: @ 8129C40
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r5, 0
+ ldr r3, _08129CA8
+ ldr r2, _08129CAC
+ ldrb r1, [r2, 0x4]
+ lsls r1, 1
+ adds r2, 0x41
+ ldrb r0, [r2]
+ lsls r0, 6
+ adds r1, r0
+ adds r3, 0x1E
+ adds r1, r3
+ ldrh r6, [r1]
+ movs r4, 0
+ mov r8, r2
+ adds r7, r3, 0
+_08129C64:
+ lsls r0, r4, 1
+ mov r2, r8
+ ldrb r1, [r2]
+ lsls r1, 6
+ adds r0, r1
+ adds r1, r0, r7
+ ldrh r0, [r1]
+ cmp r0, 0
+ beq _08129C84
+ adds r1, r6, 0
+ bl AreMovesContestCombo
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ bne _08129C8E
+_08129C84:
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _08129C64
+ cmp r5, 0
+ beq _08129C90
+_08129C8E:
+ movs r5, 0x1
+_08129C90:
+ ldr r0, _08129CAC
+ strh r5, [r0, 0x18]
+ ldr r1, _08129CB0
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129CA8: .4byte gUnknown_02038570
+_08129CAC: .4byte 0x020192e4
+_08129CB0: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_check_combo_finisher
+
+ thumb_func_start sub_8129CB4
+sub_8129CB4: @ 8129CB4
+ push {lr}
+ bl contest_ai_check_combo_finisher
+ ldr r0, _08129CE0
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _08129CE8
+ ldr r3, _08129CE4
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129CF0
+ .align 2, 0
+_08129CE0: .4byte 0x020192e4
+_08129CE4: .4byte gUnknown_02039238
+_08129CE8:
+ ldr r1, _08129CF4
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_08129CF0:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129CF4: .4byte gUnknown_02039238
+ thumb_func_end sub_8129CB4
+
+ thumb_func_start sub_8129CF8
+sub_8129CF8: @ 8129CF8
+ push {lr}
+ bl contest_ai_check_combo_finisher
+ ldr r0, _08129D24
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _08129D2C
+ ldr r3, _08129D28
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129D34
+ .align 2, 0
+_08129D24: .4byte 0x020192e4
+_08129D28: .4byte gUnknown_02039238
+_08129D2C:
+ ldr r1, _08129D38
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_08129D34:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129D38: .4byte gUnknown_02039238
+ thumb_func_end sub_8129CF8
+
+ thumb_func_start contest_ai_check_would_finish_combo
+contest_ai_check_would_finish_combo: @ 8129D3C
+ push {r4,r5,lr}
+ movs r5, 0
+ ldr r3, _08129D8C
+ ldr r4, _08129D90
+ ldrb r0, [r4, 0x4]
+ lsls r0, 1
+ adds r1, r4, 0
+ adds r1, 0x41
+ ldrb r2, [r1]
+ lsls r1, r2, 6
+ adds r0, r1
+ adds r3, 0x1E
+ adds r0, r3
+ ldrh r3, [r0]
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r0, 2
+ adds r1, r4, 0
+ subs r1, 0x84
+ adds r1, r0, r1
+ ldrh r0, [r1, 0x8]
+ cmp r0, 0
+ beq _08129D74
+ adds r1, r3, 0
+ bl AreMovesContestCombo
+ lsls r0, 24
+ lsrs r5, r0, 24
+_08129D74:
+ cmp r5, 0
+ beq _08129D7A
+ movs r5, 0x1
+_08129D7A:
+ strh r5, [r4, 0x18]
+ ldr r1, _08129D94
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129D8C: .4byte gUnknown_02038570
+_08129D90: .4byte 0x020192e4
+_08129D94: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_check_would_finish_combo
+
+ thumb_func_start sub_8129D98
+sub_8129D98: @ 8129D98
+ push {lr}
+ bl contest_ai_check_would_finish_combo
+ ldr r0, _08129DC4
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _08129DCC
+ ldr r3, _08129DC8
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129DD4
+ .align 2, 0
+_08129DC4: .4byte 0x020192e4
+_08129DC8: .4byte gUnknown_02039238
+_08129DCC:
+ ldr r1, _08129DD8
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_08129DD4:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129DD8: .4byte gUnknown_02039238
+ thumb_func_end sub_8129D98
+
+ thumb_func_start sub_8129DDC
+sub_8129DDC: @ 8129DDC
+ push {lr}
+ bl contest_ai_check_would_finish_combo
+ ldr r0, _08129E08
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _08129E10
+ ldr r3, _08129E0C
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129E18
+ .align 2, 0
+_08129E08: .4byte 0x020192e4
+_08129E0C: .4byte gUnknown_02039238
+_08129E10:
+ ldr r1, _08129E1C
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_08129E18:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129E1C: .4byte gUnknown_02039238
+ thumb_func_end sub_8129DDC
+
+ thumb_func_start contest_ai_get_condition
+contest_ai_get_condition: @ 8129E20
+ push {r4,r5,lr}
+ ldr r4, _08129E5C
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x1]
+ bl sub_8128A7C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _08129E60
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ adds r0, r5, 0
+ subs r0, 0x84
+ adds r1, r0
+ movs r0, 0xD
+ ldrsb r0, [r1, r0]
+ movs r1, 0xA
+ bl __divsi3
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r5, 0x18]
+ ldr r0, [r4]
+ adds r0, 0x2
+ str r0, [r4]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129E5C: .4byte gUnknown_02039238
+_08129E60: .4byte 0x020192e4
+ thumb_func_end contest_ai_get_condition
+
+ thumb_func_start sub_8129E64
+sub_8129E64: @ 8129E64
+ push {lr}
+ bl contest_ai_get_condition
+ ldr r0, _08129E94
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08129E98
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bge _08129E9C
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129EA0
+ .align 2, 0
+_08129E94: .4byte 0x020192e4
+_08129E98: .4byte gUnknown_02039238
+_08129E9C:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129EA0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129E64
+
+ thumb_func_start sub_8129EA4
+sub_8129EA4: @ 8129EA4
+ push {lr}
+ bl contest_ai_get_condition
+ ldr r0, _08129ED4
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08129ED8
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ ble _08129EDC
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129EE0
+ .align 2, 0
+_08129ED4: .4byte 0x020192e4
+_08129ED8: .4byte gUnknown_02039238
+_08129EDC:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129EE0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129EA4
+
+ thumb_func_start sub_8129EE4
+sub_8129EE4: @ 8129EE4
+ push {lr}
+ bl contest_ai_get_condition
+ ldr r0, _08129F14
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08129F18
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _08129F1C
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129F20
+ .align 2, 0
+_08129F14: .4byte 0x020192e4
+_08129F18: .4byte gUnknown_02039238
+_08129F1C:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129F20:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129EE4
+
+ thumb_func_start sub_8129F24
+sub_8129F24: @ 8129F24
+ push {lr}
+ bl contest_ai_get_condition
+ ldr r0, _08129F54
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08129F58
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _08129F5C
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129F60
+ .align 2, 0
+_08129F54: .4byte 0x020192e4
+_08129F58: .4byte gUnknown_02039238
+_08129F5C:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129F60:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129F24
+
+ thumb_func_start contest_ai_get_used_combo_starter
+contest_ai_get_used_combo_starter: @ 8129F64
+ push {r4-r6,lr}
+ movs r6, 0
+ ldr r5, _08129FAC
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x1]
+ bl sub_8128A7C
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl sub_80B214C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08129F9C
+ ldr r2, _08129FB0
+ lsls r0, r4, 3
+ subs r0, r4
+ lsls r0, 2
+ ldr r1, _08129FB4
+ adds r0, r1
+ ldrh r0, [r0, 0x8]
+ lsls r0, 3
+ adds r0, r2
+ ldrb r1, [r0, 0x2]
+ negs r0, r1
+ orrs r0, r1
+ lsrs r6, r0, 31
+_08129F9C:
+ ldr r0, _08129FB8
+ strh r6, [r0, 0x18]
+ ldr r0, [r5]
+ adds r0, 0x2
+ str r0, [r5]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08129FAC: .4byte gUnknown_02039238
+_08129FB0: .4byte gContestMoves
+_08129FB4: .4byte 0x02019260
+_08129FB8: .4byte 0x020192e4
+ thumb_func_end contest_ai_get_used_combo_starter
+
+ thumb_func_start sub_8129FBC
+sub_8129FBC: @ 8129FBC
+ push {lr}
+ bl contest_ai_get_used_combo_starter
+ ldr r0, _08129FEC
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _08129FF0
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bge _08129FF4
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _08129FF8
+ .align 2, 0
+_08129FEC: .4byte 0x020192e4
+_08129FF0: .4byte gUnknown_02039238
+_08129FF4:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08129FF8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129FBC
+
+ thumb_func_start sub_8129FFC
+sub_8129FFC: @ 8129FFC
+ push {lr}
+ bl contest_ai_get_used_combo_starter
+ ldr r0, _0812A02C
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812A030
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ ble _0812A034
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A038
+ .align 2, 0
+_0812A02C: .4byte 0x020192e4
+_0812A030: .4byte gUnknown_02039238
+_0812A034:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812A038:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8129FFC
+
+ thumb_func_start sub_812A03C
+sub_812A03C: @ 812A03C
+ push {lr}
+ bl contest_ai_get_used_combo_starter
+ ldr r0, _0812A06C
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812A070
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _0812A074
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A078
+ .align 2, 0
+_0812A06C: .4byte 0x020192e4
+_0812A070: .4byte gUnknown_02039238
+_0812A074:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812A078:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A03C
+
+ thumb_func_start sub_812A07C
+sub_812A07C: @ 812A07C
+ push {lr}
+ bl contest_ai_get_used_combo_starter
+ ldr r0, _0812A0AC
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812A0B0
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _0812A0B4
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A0B8
+ .align 2, 0
+_0812A0AC: .4byte 0x020192e4
+_0812A0B0: .4byte gUnknown_02039238
+_0812A0B4:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812A0B8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A07C
+
+ thumb_func_start contest_ai_check_can_participate
+contest_ai_check_can_participate: @ 812A0BC
+ push {lr}
+ ldr r0, _0812A0DC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x1]
+ bl sub_8128A7C
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80AF59C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0812A0E4
+ ldr r1, _0812A0E0
+ movs r0, 0
+ b _0812A0E8
+ .align 2, 0
+_0812A0DC: .4byte gUnknown_02039238
+_0812A0E0: .4byte 0x020192e4
+_0812A0E4:
+ ldr r1, _0812A0F8
+ movs r0, 0x1
+_0812A0E8:
+ strh r0, [r1, 0x18]
+ ldr r1, _0812A0FC
+ ldr r0, [r1]
+ adds r0, 0x2
+ str r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A0F8: .4byte 0x020192e4
+_0812A0FC: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_check_can_participate
+
+ thumb_func_start sub_812A100
+sub_812A100: @ 812A100
+ push {lr}
+ bl contest_ai_check_can_participate
+ ldr r0, _0812A12C
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _0812A134
+ ldr r3, _0812A130
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A13C
+ .align 2, 0
+_0812A12C: .4byte 0x020192e4
+_0812A130: .4byte gUnknown_02039238
+_0812A134:
+ ldr r1, _0812A140
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812A13C:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A140: .4byte gUnknown_02039238
+ thumb_func_end sub_812A100
+
+ thumb_func_start sub_812A144
+sub_812A144: @ 812A144
+ push {lr}
+ bl contest_ai_check_can_participate
+ ldr r0, _0812A170
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0812A178
+ ldr r3, _0812A174
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A180
+ .align 2, 0
+_0812A170: .4byte 0x020192e4
+_0812A174: .4byte gUnknown_02039238
+_0812A178:
+ ldr r1, _0812A184
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812A180:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A184: .4byte gUnknown_02039238
+ thumb_func_end sub_812A144
+
+ thumb_func_start contest_ai_get_val_812A188
+contest_ai_get_val_812A188: @ 812A188
+ push {r4,lr}
+ ldr r4, _0812A1BC
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x1]
+ bl sub_8128A7C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0812A1C0
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ adds r0, r2, 0
+ subs r0, 0x84
+ adds r1, r0
+ ldrb r0, [r1, 0x15]
+ lsls r0, 28
+ lsrs r0, 31
+ strh r0, [r2, 0x18]
+ ldr r0, [r4]
+ adds r0, 0x2
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A1BC: .4byte gUnknown_02039238
+_0812A1C0: .4byte 0x020192e4
+ thumb_func_end contest_ai_get_val_812A188
+
+ thumb_func_start sub_812A1C4
+sub_812A1C4: @ 812A1C4
+ push {lr}
+ bl contest_ai_get_val_812A188
+ ldr r0, _0812A1F0
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _0812A1F8
+ ldr r3, _0812A1F4
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A200
+ .align 2, 0
+_0812A1F0: .4byte 0x020192e4
+_0812A1F4: .4byte gUnknown_02039238
+_0812A1F8:
+ ldr r1, _0812A204
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812A200:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A204: .4byte gUnknown_02039238
+ thumb_func_end sub_812A1C4
+
+ thumb_func_start sub_812A208
+sub_812A208: @ 812A208
+ push {lr}
+ bl contest_ai_get_val_812A188
+ ldr r0, _0812A234
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0812A23C
+ ldr r3, _0812A238
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A244
+ .align 2, 0
+_0812A234: .4byte 0x020192e4
+_0812A238: .4byte gUnknown_02039238
+_0812A23C:
+ ldr r1, _0812A248
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812A244:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A248: .4byte gUnknown_02039238
+ thumb_func_end sub_812A208
+
+ thumb_func_start sub_812A24C
+sub_812A24C: @ 812A24C
+ push {r4,r5,lr}
+ ldr r5, _0812A28C
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x1]
+ bl sub_8128A7C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _0812A290
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ adds r4, r3, 0
+ subs r4, 0x84
+ adds r1, r4
+ adds r0, r3, 0
+ adds r0, 0x41
+ ldrb r2, [r0]
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r0, 2
+ adds r0, r4
+ ldrh r1, [r1, 0x4]
+ ldrh r0, [r0, 0x4]
+ subs r1, r0
+ strh r1, [r3, 0x18]
+ ldr r0, [r5]
+ adds r0, 0x2
+ str r0, [r5]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A28C: .4byte gUnknown_02039238
+_0812A290: .4byte 0x020192e4
+ thumb_func_end sub_812A24C
+
+ thumb_func_start sub_812A294
+sub_812A294: @ 812A294
+ push {lr}
+ bl sub_812A24C
+ ldr r0, _0812A2C0
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bge _0812A2C8
+ ldr r3, _0812A2C4
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A2D0
+ .align 2, 0
+_0812A2C0: .4byte 0x020192e4
+_0812A2C4: .4byte gUnknown_02039238
+_0812A2C8:
+ ldr r1, _0812A2D4
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812A2D0:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A2D4: .4byte gUnknown_02039238
+ thumb_func_end sub_812A294
+
+ thumb_func_start sub_812A2D8
+sub_812A2D8: @ 812A2D8
+ push {lr}
+ bl sub_812A24C
+ ldr r0, _0812A304
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ ble _0812A30C
+ ldr r3, _0812A308
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A314
+ .align 2, 0
+_0812A304: .4byte 0x020192e4
+_0812A308: .4byte gUnknown_02039238
+_0812A30C:
+ ldr r1, _0812A318
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812A314:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A318: .4byte gUnknown_02039238
+ thumb_func_end sub_812A2D8
+
+ thumb_func_start sub_812A31C
+sub_812A31C: @ 812A31C
+ push {lr}
+ bl sub_812A24C
+ ldr r0, _0812A348
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0812A350
+ ldr r3, _0812A34C
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A358
+ .align 2, 0
+_0812A348: .4byte 0x020192e4
+_0812A34C: .4byte gUnknown_02039238
+_0812A350:
+ ldr r1, _0812A35C
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812A358:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A35C: .4byte gUnknown_02039238
+ thumb_func_end sub_812A31C
+
+ thumb_func_start sub_812A360
+sub_812A360: @ 812A360
+ push {lr}
+ bl sub_812A24C
+ ldr r0, _0812A38C
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _0812A394
+ ldr r3, _0812A390
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A39C
+ .align 2, 0
+_0812A38C: .4byte 0x020192e4
+_0812A390: .4byte gUnknown_02039238
+_0812A394:
+ ldr r1, _0812A3A0
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812A39C:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A3A0: .4byte gUnknown_02039238
+ thumb_func_end sub_812A360
+
+ thumb_func_start sub_812A3A4
+sub_812A3A4: @ 812A3A4
+ push {r4,lr}
+ ldr r4, _0812A3D8
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x1]
+ bl sub_8128A7C
+ lsls r0, 24
+ ldr r3, _0812A3DC
+ ldr r2, _0812A3E0
+ lsrs r0, 23
+ adds r0, r2
+ adds r1, r3, 0
+ adds r1, 0x41
+ ldrb r1, [r1]
+ lsls r1, 1
+ adds r1, r2
+ ldrh r0, [r0]
+ ldrh r1, [r1]
+ subs r0, r1
+ strh r0, [r3, 0x18]
+ ldr r0, [r4]
+ adds r0, 0x2
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A3D8: .4byte gUnknown_02039238
+_0812A3DC: .4byte 0x020192e4
+_0812A3E0: .4byte gUnknown_02038670
+ thumb_func_end sub_812A3A4
+
+ thumb_func_start sub_812A3E4
+sub_812A3E4: @ 812A3E4
+ push {lr}
+ bl sub_812A3A4
+ ldr r0, _0812A410
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bge _0812A418
+ ldr r3, _0812A414
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A420
+ .align 2, 0
+_0812A410: .4byte 0x020192e4
+_0812A414: .4byte gUnknown_02039238
+_0812A418:
+ ldr r1, _0812A424
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812A420:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A424: .4byte gUnknown_02039238
+ thumb_func_end sub_812A3E4
+
+ thumb_func_start sub_812A428
+sub_812A428: @ 812A428
+ push {lr}
+ bl sub_812A3A4
+ ldr r0, _0812A454
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ ble _0812A45C
+ ldr r3, _0812A458
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A464
+ .align 2, 0
+_0812A454: .4byte 0x020192e4
+_0812A458: .4byte gUnknown_02039238
+_0812A45C:
+ ldr r1, _0812A468
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812A464:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A468: .4byte gUnknown_02039238
+ thumb_func_end sub_812A428
+
+ thumb_func_start sub_812A46C
+sub_812A46C: @ 812A46C
+ push {lr}
+ bl sub_812A3A4
+ ldr r0, _0812A498
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0812A4A0
+ ldr r3, _0812A49C
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A4A8
+ .align 2, 0
+_0812A498: .4byte 0x020192e4
+_0812A49C: .4byte gUnknown_02039238
+_0812A4A0:
+ ldr r1, _0812A4AC
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812A4A8:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A4AC: .4byte gUnknown_02039238
+ thumb_func_end sub_812A46C
+
+ thumb_func_start sub_812A4B0
+sub_812A4B0: @ 812A4B0
+ push {lr}
+ bl sub_812A3A4
+ ldr r0, _0812A4DC
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _0812A4E4
+ ldr r3, _0812A4E0
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A4EC
+ .align 2, 0
+_0812A4DC: .4byte 0x020192e4
+_0812A4E0: .4byte gUnknown_02039238
+_0812A4E4:
+ ldr r1, _0812A4F0
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812A4EC:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A4F0: .4byte gUnknown_02039238
+ thumb_func_end sub_812A4B0
+
+ thumb_func_start sub_812A4F4
+sub_812A4F4: @ 812A4F4
+ push {r4,lr}
+ ldr r4, _0812A52C
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x1]
+ bl sub_8128A7C
+ lsls r0, 24
+ ldr r3, [r4]
+ ldrb r1, [r3, 0x2]
+ ldr r2, _0812A530
+ lsrs r0, 23
+ lsls r1, 3
+ adds r0, r1
+ adds r1, r2, 0
+ adds r1, 0x1C
+ adds r0, r1
+ ldrh r0, [r0]
+ adds r2, 0xE0
+ ldr r1, _0812A534
+ lsls r0, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ strh r0, [r2, 0x18]
+ adds r3, 0x3
+ str r3, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A52C: .4byte gUnknown_02039238
+_0812A530: .4byte 0x02019204
+_0812A534: .4byte gContestMoves
+ thumb_func_end sub_812A4F4
+
+ thumb_func_start sub_812A538
+sub_812A538: @ 812A538
+ push {lr}
+ bl sub_812A4F4
+ ldr r0, _0812A568
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812A56C
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bge _0812A570
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A574
+ .align 2, 0
+_0812A568: .4byte 0x020192e4
+_0812A56C: .4byte gUnknown_02039238
+_0812A570:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812A574:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A538
+
+ thumb_func_start sub_812A578
+sub_812A578: @ 812A578
+ push {lr}
+ bl sub_812A4F4
+ ldr r0, _0812A5A8
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812A5AC
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ ble _0812A5B0
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A5B4
+ .align 2, 0
+_0812A5A8: .4byte 0x020192e4
+_0812A5AC: .4byte gUnknown_02039238
+_0812A5B0:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812A5B4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A578
+
+ thumb_func_start sub_812A5B8
+sub_812A5B8: @ 812A5B8
+ push {lr}
+ bl sub_812A4F4
+ ldr r0, _0812A5E8
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812A5EC
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _0812A5F0
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A5F4
+ .align 2, 0
+_0812A5E8: .4byte 0x020192e4
+_0812A5EC: .4byte gUnknown_02039238
+_0812A5F0:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812A5F4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A5B8
+
+ thumb_func_start sub_812A5F8
+sub_812A5F8: @ 812A5F8
+ push {lr}
+ bl sub_812A4F4
+ ldr r0, _0812A628
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812A62C
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _0812A630
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A634
+ .align 2, 0
+_0812A628: .4byte 0x020192e4
+_0812A62C: .4byte gUnknown_02039238
+_0812A630:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812A634:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A5F8
+
+ thumb_func_start sub_812A638
+sub_812A638: @ 812A638
+ push {r4,lr}
+ ldr r4, _0812A66C
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x1]
+ bl sub_8128A7C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, [r4]
+ ldrb r1, [r3, 0x2]
+ ldr r2, _0812A670
+ lsls r1, 2
+ adds r0, r1
+ adds r1, r2, 0
+ adds r1, 0x44
+ adds r0, r1
+ adds r2, 0xE0
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r2, 0x18]
+ adds r3, 0x3
+ str r3, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A66C: .4byte gUnknown_02039238
+_0812A670: .4byte 0x02019204
+ thumb_func_end sub_812A638
+
+ thumb_func_start sub_812A674
+sub_812A674: @ 812A674
+ push {lr}
+ bl sub_812A638
+ ldr r0, _0812A6A4
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812A6A8
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bge _0812A6AC
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A6B0
+ .align 2, 0
+_0812A6A4: .4byte 0x020192e4
+_0812A6A8: .4byte gUnknown_02039238
+_0812A6AC:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812A6B0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A674
+
+ thumb_func_start sub_812A6B4
+sub_812A6B4: @ 812A6B4
+ push {lr}
+ bl sub_812A638
+ ldr r0, _0812A6E4
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812A6E8
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ ble _0812A6EC
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A6F0
+ .align 2, 0
+_0812A6E4: .4byte 0x020192e4
+_0812A6E8: .4byte gUnknown_02039238
+_0812A6EC:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812A6F0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A6B4
+
+ thumb_func_start sub_812A6F4
+sub_812A6F4: @ 812A6F4
+ push {lr}
+ bl sub_812A638
+ ldr r0, _0812A724
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812A728
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _0812A72C
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A730
+ .align 2, 0
+_0812A724: .4byte 0x020192e4
+_0812A728: .4byte gUnknown_02039238
+_0812A72C:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812A730:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A6F4
+
+ thumb_func_start sub_812A734
+sub_812A734: @ 812A734
+ push {lr}
+ bl sub_812A638
+ ldr r0, _0812A764
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812A768
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _0812A76C
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A770
+ .align 2, 0
+_0812A764: .4byte 0x020192e4
+_0812A768: .4byte gUnknown_02039238
+_0812A76C:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812A770:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A734
+
+ thumb_func_start sub_812A774
+sub_812A774: @ 812A774
+ push {r4,r5,lr}
+ ldr r5, _0812A7B4
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x1]
+ bl sub_8128A7C
+ lsls r0, 24
+ ldr r3, [r5]
+ ldrb r1, [r3, 0x2]
+ ldr r2, _0812A7B8
+ lsrs r0, 23
+ lsls r1, 3
+ adds r0, r1
+ adds r1, r2, 0
+ adds r1, 0x1C
+ adds r0, r1
+ ldrh r0, [r0]
+ adds r2, 0xE0
+ ldr r4, _0812A7BC
+ ldr r1, _0812A7C0
+ lsls r0, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r4
+ ldrb r0, [r0]
+ strh r0, [r2, 0x18]
+ adds r3, 0x3
+ str r3, [r5]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A7B4: .4byte gUnknown_02039238
+_0812A7B8: .4byte 0x02019204
+_0812A7BC: .4byte gContestEffects
+_0812A7C0: .4byte gContestMoves
+ thumb_func_end sub_812A774
+
+ thumb_func_start sub_812A7C4
+sub_812A7C4: @ 812A7C4
+ push {lr}
+ bl sub_812A774
+ ldr r0, _0812A7F4
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812A7F8
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ bne _0812A7FC
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A800
+ .align 2, 0
+_0812A7F4: .4byte 0x020192e4
+_0812A7F8: .4byte gUnknown_02039238
+_0812A7FC:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812A800:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A7C4
+
+ thumb_func_start sub_812A804
+sub_812A804: @ 812A804
+ push {lr}
+ bl sub_812A774
+ ldr r0, _0812A834
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ ldr r3, _0812A838
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ cmp r0, r1
+ beq _0812A83C
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812A840
+ .align 2, 0
+_0812A834: .4byte 0x020192e4
+_0812A838: .4byte gUnknown_02039238
+_0812A83C:
+ adds r0, r2, 0x5
+ str r0, [r3]
+_0812A840:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A804
+
+ thumb_func_start sub_812A844
+sub_812A844: @ 812A844
+ push {r4,lr}
+ ldr r3, _0812A864
+ ldr r4, _0812A868
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 1
+ adds r1, r3, 0
+ adds r1, 0x1A
+ adds r0, r1
+ ldrh r1, [r3, 0x18]
+ strh r1, [r0]
+ adds r2, 0x2
+ str r2, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A864: .4byte 0x020192e4
+_0812A868: .4byte gUnknown_02039238
+ thumb_func_end sub_812A844
+
+ thumb_func_start sub_812A86C
+sub_812A86C: @ 812A86C
+ push {r4,lr}
+ ldr r0, _0812A890
+ ldr r4, _0812A894
+ ldr r3, [r4]
+ ldrb r2, [r3, 0x1]
+ lsls r2, 1
+ adds r0, 0x1A
+ adds r2, r0
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ strh r1, [r2]
+ adds r3, 0x4
+ str r3, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A890: .4byte 0x020192e4
+_0812A894: .4byte gUnknown_02039238
+ thumb_func_end sub_812A86C
+
+ thumb_func_start sub_812A898
+sub_812A898: @ 812A898
+ push {r4,lr}
+ ldr r0, _0812A8C4
+ ldr r4, _0812A8C8
+ ldr r3, [r4]
+ ldrb r2, [r3, 0x1]
+ lsls r2, 1
+ adds r0, 0x1A
+ adds r2, r0
+ movs r1, 0x2
+ ldrsb r1, [r3, r1]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ ldrh r0, [r2]
+ adds r1, r0
+ strh r1, [r2]
+ adds r3, 0x4
+ str r3, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A8C4: .4byte 0x020192e4
+_0812A8C8: .4byte gUnknown_02039238
+ thumb_func_end sub_812A898
+
+ thumb_func_start sub_812A8CC
+sub_812A8CC: @ 812A8CC
+ push {r4,lr}
+ ldr r2, _0812A8F4
+ ldr r4, _0812A8F8
+ ldr r3, [r4]
+ ldrb r1, [r3, 0x1]
+ lsls r1, 1
+ adds r2, 0x1A
+ adds r1, r2
+ ldrb r0, [r3, 0x2]
+ lsls r0, 1
+ adds r0, r2
+ ldrh r0, [r0]
+ ldrh r2, [r1]
+ adds r0, r2
+ strh r0, [r1]
+ adds r3, 0x3
+ str r3, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A8F4: .4byte 0x020192e4
+_0812A8F8: .4byte gUnknown_02039238
+ thumb_func_end sub_812A8CC
+
+ thumb_func_start sub_812A8FC
+sub_812A8FC: @ 812A8FC
+ push {r4,lr}
+ ldr r2, _0812A924
+ ldr r4, _0812A928
+ ldr r3, [r4]
+ ldrb r1, [r3, 0x1]
+ lsls r1, 1
+ adds r2, 0x1A
+ adds r1, r2
+ ldrb r0, [r3, 0x2]
+ lsls r0, 1
+ adds r0, r2
+ ldrh r0, [r0]
+ ldrh r2, [r1]
+ adds r0, r2
+ strh r0, [r1]
+ adds r3, 0x3
+ str r3, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812A924: .4byte 0x020192e4
+_0812A928: .4byte gUnknown_02039238
+ thumb_func_end sub_812A8FC
+
+ thumb_func_start sub_812A92C
+sub_812A92C: @ 812A92C
+ push {r4,lr}
+ ldr r1, _0812A964
+ ldr r4, _0812A968
+ ldr r3, [r4]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 1
+ adds r1, 0x1A
+ adds r0, r1
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ cmp r2, r1
+ bge _0812A96C
+ ldrb r1, [r3, 0x4]
+ ldrb r0, [r3, 0x5]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x6]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x7]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _0812A972
+ .align 2, 0
+_0812A964: .4byte 0x020192e4
+_0812A968: .4byte gUnknown_02039238
+_0812A96C:
+ adds r0, r3, 0
+ adds r0, 0x8
+ str r0, [r4]
+_0812A972:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A92C
+
+ thumb_func_start sub_812A978
+sub_812A978: @ 812A978
+ push {r4,lr}
+ ldr r1, _0812A9B0
+ ldr r4, _0812A9B4
+ ldr r3, [r4]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 1
+ adds r1, 0x1A
+ adds r0, r1
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ cmp r2, r1
+ ble _0812A9B8
+ ldrb r1, [r3, 0x4]
+ ldrb r0, [r3, 0x5]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x6]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x7]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _0812A9BE
+ .align 2, 0
+_0812A9B0: .4byte 0x020192e4
+_0812A9B4: .4byte gUnknown_02039238
+_0812A9B8:
+ adds r0, r3, 0
+ adds r0, 0x8
+ str r0, [r4]
+_0812A9BE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A978
+
+ thumb_func_start sub_812A9C4
+sub_812A9C4: @ 812A9C4
+ push {r4,lr}
+ ldr r1, _0812A9FC
+ ldr r4, _0812AA00
+ ldr r3, [r4]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 1
+ adds r1, 0x1A
+ adds r0, r1
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ cmp r2, r1
+ bne _0812AA04
+ ldrb r1, [r3, 0x4]
+ ldrb r0, [r3, 0x5]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x6]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x7]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _0812AA0A
+ .align 2, 0
+_0812A9FC: .4byte 0x020192e4
+_0812AA00: .4byte gUnknown_02039238
+_0812AA04:
+ adds r0, r3, 0
+ adds r0, 0x8
+ str r0, [r4]
+_0812AA0A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812A9C4
+
+ thumb_func_start sub_812AA10
+sub_812AA10: @ 812AA10
+ push {r4,lr}
+ ldr r1, _0812AA48
+ ldr r4, _0812AA4C
+ ldr r3, [r4]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 1
+ adds r1, 0x1A
+ adds r0, r1
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ cmp r2, r1
+ beq _0812AA50
+ ldrb r1, [r3, 0x4]
+ ldrb r0, [r3, 0x5]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x6]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x7]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _0812AA56
+ .align 2, 0
+_0812AA48: .4byte 0x020192e4
+_0812AA4C: .4byte gUnknown_02039238
+_0812AA50:
+ adds r0, r3, 0
+ adds r0, 0x8
+ str r0, [r4]
+_0812AA56:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812AA10
+
+ thumb_func_start sub_812AA5C
+sub_812AA5C: @ 812AA5C
+ push {r4,lr}
+ ldr r2, _0812AA98
+ ldr r4, _0812AA9C
+ ldr r3, [r4]
+ ldrb r1, [r3, 0x1]
+ lsls r1, 1
+ adds r2, 0x1A
+ adds r1, r2
+ ldrb r0, [r3, 0x2]
+ lsls r0, 1
+ adds r0, r2
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r1, r0
+ bge _0812AAA0
+ ldrb r1, [r3, 0x3]
+ ldrb r0, [r3, 0x4]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x6]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _0812AAA4
+ .align 2, 0
+_0812AA98: .4byte 0x020192e4
+_0812AA9C: .4byte gUnknown_02039238
+_0812AAA0:
+ adds r0, r3, 0x7
+ str r0, [r4]
+_0812AAA4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812AA5C
+
+ thumb_func_start sub_812AAAC
+sub_812AAAC: @ 812AAAC
+ push {r4,lr}
+ ldr r2, _0812AAE8
+ ldr r4, _0812AAEC
+ ldr r3, [r4]
+ ldrb r1, [r3, 0x1]
+ lsls r1, 1
+ adds r2, 0x1A
+ adds r1, r2
+ ldrb r0, [r3, 0x2]
+ lsls r0, 1
+ adds r0, r2
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r1, r0
+ ble _0812AAF0
+ ldrb r1, [r3, 0x3]
+ ldrb r0, [r3, 0x4]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x6]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _0812AAF4
+ .align 2, 0
+_0812AAE8: .4byte 0x020192e4
+_0812AAEC: .4byte gUnknown_02039238
+_0812AAF0:
+ adds r0, r3, 0x7
+ str r0, [r4]
+_0812AAF4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812AAAC
+
+ thumb_func_start sub_812AAFC
+sub_812AAFC: @ 812AAFC
+ push {r4,lr}
+ ldr r2, _0812AB38
+ ldr r4, _0812AB3C
+ ldr r3, [r4]
+ ldrb r1, [r3, 0x1]
+ lsls r1, 1
+ adds r2, 0x1A
+ adds r1, r2
+ ldrb r0, [r3, 0x2]
+ lsls r0, 1
+ adds r0, r2
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r1, r0
+ bne _0812AB40
+ ldrb r1, [r3, 0x3]
+ ldrb r0, [r3, 0x4]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x6]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _0812AB44
+ .align 2, 0
+_0812AB38: .4byte 0x020192e4
+_0812AB3C: .4byte gUnknown_02039238
+_0812AB40:
+ adds r0, r3, 0x7
+ str r0, [r4]
+_0812AB44:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812AAFC
+
+ thumb_func_start sub_812AB4C
+sub_812AB4C: @ 812AB4C
+ push {r4,lr}
+ ldr r2, _0812AB88
+ ldr r4, _0812AB8C
+ ldr r3, [r4]
+ ldrb r1, [r3, 0x1]
+ lsls r1, 1
+ adds r2, 0x1A
+ adds r1, r2
+ ldrb r0, [r3, 0x2]
+ lsls r0, 1
+ adds r0, r2
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r1, r0
+ beq _0812AB90
+ ldrb r1, [r3, 0x3]
+ ldrb r0, [r3, 0x4]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x6]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _0812AB94
+ .align 2, 0
+_0812AB88: .4byte 0x020192e4
+_0812AB8C: .4byte gUnknown_02039238
+_0812AB90:
+ adds r0, r3, 0x7
+ str r0, [r4]
+_0812AB94:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812AB4C
+
+ thumb_func_start sub_812AB9C
+sub_812AB9C: @ 812AB9C
+ push {r4,lr}
+ bl Random
+ movs r2, 0xFF
+ ands r2, r0
+ ldr r1, _0812ABD4
+ ldr r4, _0812ABD8
+ ldr r3, [r4]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 1
+ adds r1, 0x1A
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r2, r0
+ bge _0812ABDC
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x4]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _0812ABE0
+ .align 2, 0
+_0812ABD4: .4byte 0x020192e4
+_0812ABD8: .4byte gUnknown_02039238
+_0812ABDC:
+ adds r0, r3, 0x6
+ str r0, [r4]
+_0812ABE0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812AB9C
+
+ thumb_func_start sub_812ABE8
+sub_812ABE8: @ 812ABE8
+ push {r4,lr}
+ bl Random
+ movs r2, 0xFF
+ ands r2, r0
+ ldr r1, _0812AC20
+ ldr r4, _0812AC24
+ ldr r3, [r4]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 1
+ adds r1, 0x1A
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r2, r0
+ ble _0812AC28
+ ldrb r1, [r3, 0x2]
+ ldrb r0, [r3, 0x3]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3, 0x4]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ b _0812AC2C
+ .align 2, 0
+_0812AC20: .4byte 0x020192e4
+_0812AC24: .4byte gUnknown_02039238
+_0812AC28:
+ adds r0, r3, 0x6
+ str r0, [r4]
+_0812AC2C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812ABE8
+
+ thumb_func_start sub_812AC34
+sub_812AC34: @ 812AC34
+ ldr r3, _0812AC50
+ ldr r2, [r3]
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ bx lr
+ .align 2, 0
+_0812AC50: .4byte gUnknown_02039238
+ thumb_func_end sub_812AC34
+
+ thumb_func_start sub_812AC54
+sub_812AC54: @ 812AC54
+ push {r4,lr}
+ ldr r4, _0812AC80
+ ldr r0, [r4]
+ adds r0, 0x5
+ bl sub_812ACA4
+ ldr r2, [r4]
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r2, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x4]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812AC80: .4byte gUnknown_02039238
+ thumb_func_end sub_812AC54
+
+ thumb_func_start sub_812AC84
+sub_812AC84: @ 812AC84
+ push {lr}
+ bl sub_812ACC8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0812AC9A
+ ldr r2, _0812ACA0
+ ldrb r1, [r2, 0x9]
+ movs r0, 0x1
+ orrs r0, r1
+ strb r0, [r2, 0x9]
+_0812AC9A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812ACA0: .4byte 0x020192e4
+ thumb_func_end sub_812AC84
+
+ thumb_func_start sub_812ACA4
+sub_812ACA4: @ 812ACA4
+ push {r4,lr}
+ ldr r3, _0812ACC4
+ adds r4, r3, 0
+ adds r4, 0x40
+ ldrb r1, [r4]
+ adds r2, r1, 0x1
+ strb r2, [r4]
+ lsls r1, 24
+ lsrs r1, 22
+ adds r3, 0x20
+ adds r1, r3
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812ACC4: .4byte 0x020192e4
+ thumb_func_end sub_812ACA4
+
+ thumb_func_start sub_812ACC8
+sub_812ACC8: @ 812ACC8
+ push {lr}
+ ldr r1, _0812ACDC
+ adds r3, r1, 0
+ adds r3, 0x40
+ ldrb r0, [r3]
+ cmp r0, 0
+ bne _0812ACE0
+ movs r0, 0
+ b _0812ACF4
+ .align 2, 0
+_0812ACDC: .4byte 0x020192e4
+_0812ACE0:
+ subs r0, 0x1
+ strb r0, [r3]
+ ldr r2, _0812ACF8
+ ldrb r0, [r3]
+ lsls r0, 2
+ adds r1, 0x20
+ adds r0, r1
+ ldr r0, [r0]
+ str r0, [r2]
+ movs r0, 0x1
+_0812ACF4:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0812ACF8: .4byte gUnknown_02039238
+ thumb_func_end sub_812ACC8
+
+ thumb_func_start contest_ai_check_for_exciting_move
+contest_ai_check_for_exciting_move: @ 812ACFC
+ push {r4-r7,lr}
+ movs r5, 0
+ movs r4, 0
+ ldr r7, _0812AD28
+ ldr r6, _0812AD2C
+_0812AD06:
+ lsls r0, r4, 1
+ ldrb r1, [r7]
+ lsls r1, 6
+ adds r0, r1
+ adds r1, r0, r6
+ ldrh r0, [r1]
+ cmp r0, 0
+ beq _0812AD30
+ bl contest_get_move_excitement
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x1
+ bne _0812AD30
+ movs r5, 0x1
+ b _0812AD36
+ .align 2, 0
+_0812AD28: .4byte 0x02019325
+_0812AD2C: .4byte gUnknown_0203858E
+_0812AD30:
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _0812AD06
+_0812AD36:
+ ldr r0, _0812AD48
+ strh r5, [r0, 0x18]
+ ldr r1, _0812AD4C
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812AD48: .4byte 0x020192e4
+_0812AD4C: .4byte gUnknown_02039238
+ thumb_func_end contest_ai_check_for_exciting_move
+
+ thumb_func_start sub_812AD50
+sub_812AD50: @ 812AD50
+ push {lr}
+ bl contest_ai_check_for_exciting_move
+ ldr r0, _0812AD7C
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _0812AD84
+ ldr r3, _0812AD80
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812AD8C
+ .align 2, 0
+_0812AD7C: .4byte 0x020192e4
+_0812AD80: .4byte gUnknown_02039238
+_0812AD84:
+ ldr r1, _0812AD90
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812AD8C:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812AD90: .4byte gUnknown_02039238
+ thumb_func_end sub_812AD50
+
+ thumb_func_start sub_812AD94
+sub_812AD94: @ 812AD94
+ push {lr}
+ bl contest_ai_check_for_exciting_move
+ ldr r0, _0812ADC0
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0812ADC8
+ ldr r3, _0812ADC4
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812ADD0
+ .align 2, 0
+_0812ADC0: .4byte 0x020192e4
+_0812ADC4: .4byte gUnknown_02039238
+_0812ADC8:
+ ldr r1, _0812ADD4
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812ADD0:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812ADD4: .4byte gUnknown_02039238
+ thumb_func_end sub_812AD94
+
+ thumb_func_start sub_812ADD8
+sub_812ADD8: @ 812ADD8
+ push {r4-r7,lr}
+ movs r6, 0
+ ldr r2, _0812AE08
+ ldr r0, [r2]
+ ldrb r4, [r0, 0x1]
+ ldrb r0, [r0, 0x2]
+ lsls r0, 8
+ orrs r4, r0
+ movs r3, 0
+ ldr r0, _0812AE0C
+ mov r12, r0
+ ldr r5, _0812AE10
+ adds r0, r5, 0
+ adds r0, 0x41
+ ldrb r0, [r0]
+ lsls r0, 6
+ mov r1, r12
+ adds r1, 0x1E
+ adds r0, r1
+ ldrh r0, [r0]
+ adds r7, r2, 0
+ mov r2, r12
+ mov r12, r5
+ b _0812AE2E
+ .align 2, 0
+_0812AE08: .4byte gUnknown_02039238
+_0812AE0C: .4byte gUnknown_02038570
+_0812AE10: .4byte 0x020192e4
+_0812AE14:
+ adds r3, 0x1
+ cmp r3, 0x3
+ bgt _0812AE34
+ lsls r1, r3, 1
+ mov r0, r12
+ adds r0, 0x41
+ ldrb r0, [r0]
+ lsls r0, 6
+ adds r1, r0
+ adds r0, r2, 0
+ adds r0, 0x1E
+ adds r1, r0
+ ldrh r0, [r1]
+_0812AE2E:
+ cmp r0, r4
+ bne _0812AE14
+ movs r6, 0x1
+_0812AE34:
+ mov r0, r12
+ strh r6, [r0, 0x18]
+ ldr r0, [r7]
+ adds r0, 0x3
+ str r0, [r7]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_812ADD8
+
+ thumb_func_start sub_812AE44
+sub_812AE44: @ 812AE44
+ push {lr}
+ bl sub_812ADD8
+ ldr r0, _0812AE70
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _0812AE78
+ ldr r3, _0812AE74
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812AE80
+ .align 2, 0
+_0812AE70: .4byte 0x020192e4
+_0812AE74: .4byte gUnknown_02039238
+_0812AE78:
+ ldr r1, _0812AE84
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812AE80:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812AE84: .4byte gUnknown_02039238
+ thumb_func_end sub_812AE44
+
+ thumb_func_start sub_812AE88
+sub_812AE88: @ 812AE88
+ push {lr}
+ bl sub_812ADD8
+ ldr r0, _0812AEB4
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0812AEBC
+ ldr r3, _0812AEB8
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ orrs r1, r0
+ str r1, [r3]
+ b _0812AEC4
+ .align 2, 0
+_0812AEB4: .4byte 0x020192e4
+_0812AEB8: .4byte gUnknown_02039238
+_0812AEBC:
+ ldr r1, _0812AEC8
+ ldr r0, [r1]
+ adds r0, 0x4
+ str r0, [r1]
+_0812AEC4:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0812AEC8: .4byte gUnknown_02039238
+ thumb_func_end sub_812AE88
+
+ .align 2, 0 @ Don't pad with nop.