diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | asm/contest_ai.s | 5293 | ||||
-rw-r--r-- | asm/rom_81258BC.s | 5284 | ||||
-rw-r--r-- | ld_script.txt | 1 |
4 files changed, 5295 insertions, 5285 deletions
@@ -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); |