summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-10-17 13:50:39 -0700
committerYamaArashi <shadow962@live.com>2016-10-17 13:50:39 -0700
commit31cb335b1fd5e6c41b9c75eda3a4c11c9b25a64c (patch)
treefdb41f4c6506a57b0daf294199ebee989a219d3e
parentea286c2f47eb374db0235ae3ce6a1bc7c7954989 (diff)
split out contest_ai.s
-rw-r--r--Makefile2
-rw-r--r--asm/contest_ai.s5293
-rw-r--r--asm/rom_81258BC.s5284
-rw-r--r--ld_script.txt1
4 files changed, 5295 insertions, 5285 deletions
diff --git a/Makefile b/Makefile
index 99bb8cec1..edd13748e 100644
--- a/Makefile
+++ b/Makefile
@@ -50,7 +50,7 @@ ASM_OBJS := asm/crt0.o asm/rom3.o asm/rom_8040EB4.o asm/rom4.o asm/rom_8074BAC.o
asm/libgcnmultiboot.o asm/m4a_1.o asm/m4a_3.o asm/libagbsyscall.o \
asm/rom_8072DF8.o asm/rom_8065394.o asm/rom_803D1FC.o asm/rom_803BA2C.o \
asm/rom_813BA94.o asm/rom_81258BC.o asm/mystery_event_script.o \
-asm/field_effect_helpers.o
+asm/field_effect_helpers.o asm/contest_ai.o
DATA_ASM_OBJS := data/data2.o data/graphics.o data/sound_data.o \
data/event_scripts.o data/battle_anim_scripts.o \
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.
diff --git a/asm/rom_81258BC.s b/asm/rom_81258BC.s
index 8f74704b5..56fcb4773 100644
--- a/asm/rom_81258BC.s
+++ b/asm/rom_81258BC.s
@@ -6,5290 +6,6 @@
.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
-
thumb_func_start unref_sub_812AECC
unref_sub_812AECC: @ 812AECC
push {lr}
diff --git a/ld_script.txt b/ld_script.txt
index b2af948ac..a5996db34 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -82,6 +82,7 @@ SECTIONS {
src/save.o(.text);
asm/mystery_event_script.o(.text);
asm/field_effect_helpers.o(.text);
+ asm/contest_ai.o(.text);
asm/rom_81258BC.o(.text);
src/intro.o(.text);
asm/rom_813BA94.o(.text);