.include "asm/macros.inc" .include "constants/constants.inc" .syntax unified .text thumb_func_start sub_81562C4 sub_81562C4: @ 81562C4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r4, =gUnknown_02039F34 ldr r0, [r4] ldr r0, [r0, 0xC] movs r1, 0 movs r2, 0x44 bl memset movs r1, 0 movs r3, 0x64 adds r2, r4, 0 _081562DE: ldr r0, [r4] ldr r0, [r0, 0xC] adds r0, 0x5 adds r0, r1 strb r3, [r0] adds r1, 0x1 cmp r1, 0x3 ble _081562DE ldr r0, [r2] ldr r0, [r0, 0xC] adds r0, 0x41 movs r1, 0 strb r5, [r0] ldr r0, [r2] ldr r0, [r0, 0xC] adds r0, 0x40 strb r1, [r0] ldr r0, [r2] ldr r2, [r0, 0xC] ldr r1, =gUnknown_02039E00 adds r0, r2, 0 adds r0, 0x41 ldrb r0, [r0] lsls r0, 6 adds r1, 0x18 adds r0, r1 ldr r0, [r0] str r0, [r2, 0x14] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_81562C4 thumb_func_start sub_8156324 sub_8156324: @ 8156324 push {r4-r6,lr} ldr r1, =gUnknown_02039F34 ldr r0, [r1] ldr r0, [r0, 0xC] ldr r0, [r0, 0x14] cmp r0, 0 beq _0815636A adds r4, r1, 0 movs r5, 0 _08156336: ldr r0, [r4] ldr r2, [r0, 0xC] ldr r0, [r2, 0x14] movs r1, 0x1 ands r0, r1 cmp r0, 0 beq _0815634A strb r5, [r2] bl sub_81563B0 _0815634A: ldr r0, [r4] ldr r1, [r0, 0xC] ldr r0, [r1, 0x14] lsrs r0, 1 str r0, [r1, 0x14] ldrb r0, [r1, 0x10] adds r0, 0x1 strb r0, [r1, 0x10] ldr r0, [r4] ldr r0, [r0, 0xC] strb r5, [r0, 0x4] ldr r0, [r4] ldr r0, [r0, 0xC] ldr r0, [r0, 0x14] cmp r0, 0 bne _08156336 _0815636A: movs r6, 0x3 _0815636C: bl Random adds r5, r0, 0 ands r5, r6 ldr r4, =gUnknown_02039F34 ldr r0, [r4] ldr r1, [r0, 0xC] adds r0, r1, 0x5 adds r0, r5 ldrb r3, [r0] movs r2, 0 ldrb r1, [r1, 0x5] cmp r3, r1 bcc _0815639E adds r1, r4, 0 _0815638A: adds r2, 0x1 cmp r2, 0x3 bgt _0815639E ldr r0, [r1] ldr r0, [r0, 0xC] adds r0, 0x5 adds r0, r2 ldrb r0, [r0] cmp r3, r0 bcs _0815638A _0815639E: cmp r2, 0x4 bne _0815636C adds r0, r5, 0 pop {r4-r6} pop {r1} bx r1 .pool thumb_func_end sub_8156324 thumb_func_start sub_81563B0 sub_81563B0: @ 81563B0 push {r4-r7,lr} mov r7, r8 push {r7} ldr r5, =gUnknown_02039F34 ldr r0, [r5] ldr r0, [r0, 0xC] ldrb r0, [r0] adds r4, r5, 0 cmp r0, 0x2 beq _081564A0 adds r7, r5, 0 ldr r6, =gAIScriptPtr ldr r0, =gUnknown_02039E1E mov r8, r0 _081563CC: ldr r0, [r7] ldr r2, [r0, 0xC] ldrb r0, [r2] cmp r0, 0x1 beq _08156426 cmp r0, 0x1 bgt _08156496 cmp r0, 0 bne _08156496 ldr r1, =gContestAIs ldrb r0, [r2, 0x10] lsls r0, 2 adds r0, r1 ldr r0, [r0] str r0, [r6] ldrb r1, [r2, 0x4] lsls r1, 1 adds r0, r2, 0 adds r0, 0x41 ldrb r0, [r0] lsls r0, 6 adds r1, r0 add r1, r8 ldrh r1, [r1] adds r0, r1, 0 cmp r0, 0 bne _08156418 strh r0, [r2, 0x2] b _0815641A .pool _08156418: strh r1, [r2, 0x2] _0815641A: ldr r0, [r4] ldr r1, [r0, 0xC] ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _08156496 _08156426: ldrh r1, [r2, 0x2] cmp r1, 0 beq _08156444 ldr r1, =gUnknown_085CDD00 ldr r0, [r6] ldrb r0, [r0] lsls r0, 2 adds r0, r1 ldr r0, [r0] bl _call_via_r0 b _08156458 .pool _08156444: adds r0, r2, 0x5 ldrb r2, [r2, 0x4] adds r0, r2 strb r1, [r0] ldr r0, [r7] ldr r2, [r0, 0xC] ldrb r1, [r2, 0x9] movs r0, 0x1 orrs r0, r1 strb r0, [r2, 0x9] _08156458: ldr r2, =gUnknown_02039F34 ldr r0, [r2] ldr r3, [r0, 0xC] ldrb r1, [r3, 0x9] movs r0, 0x1 ands r0, r1 adds r4, r2, 0 cmp r0, 0 beq _08156496 ldrb r0, [r3, 0x4] adds r0, 0x1 movs r2, 0 strb r0, [r3, 0x4] ldr r0, [r4] ldr r1, [r0, 0xC] ldrb r0, [r1, 0x4] cmp r0, 0x3 bhi _08156484 strb r2, [r1] b _0815648A .pool _08156484: ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _0815648A: ldr r0, [r4] ldr r2, [r0, 0xC] ldrb r1, [r2, 0x9] movs r0, 0xFE ands r0, r1 strb r0, [r2, 0x9] _08156496: ldr r0, [r5] ldr r0, [r0, 0xC] ldrb r0, [r0] cmp r0, 0x2 bne _081563CC _081564A0: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_81563B0 thumb_func_start sub_81564AC sub_81564AC: @ 81564AC push {lr} lsls r0, 24 lsrs r2, r0, 24 movs r1, 0 ldr r3, =gUnknown_02039F34 ldr r0, [r3] ldr r0, [r0, 0x8] b _081564CC .pool _081564C0: adds r1, 0x1 cmp r1, 0x3 bgt _081564D2 ldr r0, [r3] ldr r0, [r0, 0x8] adds r0, r1 _081564CC: ldrb r0, [r0] cmp r0, r2 bne _081564C0 _081564D2: lsls r0, r1, 24 lsrs r0, 24 pop {r1} bx r1 thumb_func_end sub_81564AC thumb_func_start sub_81564DC sub_81564DC: @ 81564DC push {r4,lr} ldr r3, =gUnknown_02039F34 ldr r0, [r3] ldr r0, [r0, 0xC] adds r1, r0, 0x5 ldrb r0, [r0, 0x4] adds r1, r0 ldr r2, =gAIScriptPtr ldr r0, [r2] ldrb r0, [r0, 0x1] lsls r0, 24 asrs r0, 24 ldrb r1, [r1] adds r0, r1 lsls r0, 16 lsrs r4, r0, 16 asrs r0, 16 cmp r0, 0xFF ble _08156510 movs r4, 0xFF b _08156516 .pool _08156510: cmp r0, 0 bge _08156516 movs r4, 0 _08156516: ldr r0, [r3] ldr r1, [r0, 0xC] adds r0, r1, 0x5 ldrb r1, [r1, 0x4] adds r0, r1 strb r4, [r0] ldr r0, [r2] adds r0, 0x2 str r0, [r2] pop {r4} pop {r0} bx r0 thumb_func_end sub_81564DC thumb_func_start sub_8156530 sub_8156530: @ 8156530 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r1, [r0, 0xC] ldr r0, [r0] ldrb r0, [r0, 0x1] strh r0, [r1, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] bx lr .pool thumb_func_end sub_8156530 thumb_func_start sub_8156550 sub_8156550: @ 8156550 push {lr} bl sub_8156530 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bge _0815658C ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156590 .pool _0815658C: adds r0, r2, 0x5 str r0, [r3] _08156590: pop {r0} bx r0 thumb_func_end sub_8156550 thumb_func_start sub_8156594 sub_8156594: @ 8156594 push {lr} bl sub_8156530 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 ble _081565D0 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _081565D4 .pool _081565D0: adds r0, r2, 0x5 str r0, [r3] _081565D4: pop {r0} bx r0 thumb_func_end sub_8156594 thumb_func_start sub_81565D8 sub_81565D8: @ 81565D8 push {lr} bl sub_8156530 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _08156614 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156618 .pool _08156614: adds r0, r2, 0x5 str r0, [r3] _08156618: pop {r0} bx r0 thumb_func_end sub_81565D8 thumb_func_start sub_815661C sub_815661C: @ 815661C push {lr} bl sub_8156530 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _08156658 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _0815665C .pool _08156658: adds r0, r2, 0x5 str r0, [r3] _0815665C: pop {r0} bx r0 thumb_func_end sub_815661C thumb_func_start sub_8156660 sub_8156660: @ 8156660 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r1, [r0, 0xC] ldr r0, [r0] ldrb r0, [r0, 0x13] lsls r0, 24 asrs r0, 24 strh r0, [r1, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] bx lr .pool thumb_func_end sub_8156660 thumb_func_start sub_8156684 sub_8156684: @ 8156684 push {lr} bl sub_8156660 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bge _081566C0 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _081566C4 .pool _081566C0: adds r0, r2, 0x5 str r0, [r3] _081566C4: pop {r0} bx r0 thumb_func_end sub_8156684 thumb_func_start sub_81566C8 sub_81566C8: @ 81566C8 push {lr} bl sub_8156660 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 ble _08156704 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156708 .pool _08156704: adds r0, r2, 0x5 str r0, [r3] _08156708: pop {r0} bx r0 thumb_func_end sub_81566C8 thumb_func_start sub_815670C sub_815670C: @ 815670C push {lr} bl sub_8156660 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _08156748 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _0815674C .pool _08156748: adds r0, r2, 0x5 str r0, [r3] _0815674C: pop {r0} bx r0 thumb_func_end sub_815670C thumb_func_start sub_8156750 sub_8156750: @ 8156750 push {lr} bl sub_8156660 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _0815678C ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156790 .pool _0815678C: adds r0, r2, 0x5 str r0, [r3] _08156790: pop {r0} bx r0 thumb_func_end sub_8156750 thumb_func_start sub_8156794 sub_8156794: @ 8156794 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r0, [r0, 0x8] adds r1, r2, 0 adds r1, 0x41 ldrb r1, [r1] adds r0, r1 ldrb r0, [r0] strh r0, [r2, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] bx lr .pool thumb_func_end sub_8156794 thumb_func_start sub_81567BC sub_81567BC: @ 81567BC push {lr} bl sub_8156794 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bge _081567F8 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _081567FC .pool _081567F8: adds r0, r2, 0x5 str r0, [r3] _081567FC: pop {r0} bx r0 thumb_func_end sub_81567BC thumb_func_start sub_8156800 sub_8156800: @ 8156800 push {lr} bl sub_8156794 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 ble _0815683C ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156840 .pool _0815683C: adds r0, r2, 0x5 str r0, [r3] _08156840: pop {r0} bx r0 thumb_func_end sub_8156800 thumb_func_start sub_8156844 sub_8156844: @ 8156844 push {lr} bl sub_8156794 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _08156880 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156884 .pool _08156880: adds r0, r2, 0x5 str r0, [r3] _08156884: pop {r0} bx r0 thumb_func_end sub_8156844 thumb_func_start sub_8156888 sub_8156888: @ 8156888 push {lr} bl sub_8156794 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _081568C4 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _081568C8 .pool _081568C4: adds r0, r2, 0x5 str r0, [r3] _081568C8: pop {r0} bx r0 thumb_func_end sub_8156888 thumb_func_start sub_81568CC sub_81568CC: @ 81568CC push {r4,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r4, [r0, 0xC] adds r1, r4, 0 adds r1, 0x41 ldrb r1, [r1] ldr r2, [r0, 0x4] lsls r0, r1, 3 subs r0, r1 lsls r0, 2 adds r0, r2 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, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81568CC thumb_func_start sub_815690C sub_815690C: @ 815690C push {lr} bl sub_81568CC ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bge _08156948 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _0815694C .pool _08156948: adds r0, r2, 0x5 str r0, [r3] _0815694C: pop {r0} bx r0 thumb_func_end sub_815690C thumb_func_start sub_8156950 sub_8156950: @ 8156950 push {lr} bl sub_81568CC ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 ble _0815698C ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156990 .pool _0815698C: adds r0, r2, 0x5 str r0, [r3] _08156990: pop {r0} bx r0 thumb_func_end sub_8156950 thumb_func_start sub_8156994 sub_8156994: @ 8156994 push {lr} bl sub_81568CC ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _081569D0 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _081569D4 .pool _081569D0: adds r0, r2, 0x5 str r0, [r3] _081569D4: pop {r0} bx r0 thumb_func_end sub_8156994 thumb_func_start sub_81569D8 sub_81569D8: @ 81569D8 push {lr} bl sub_81568CC ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _08156A14 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156A18 .pool _08156A14: adds r0, r2, 0x5 str r0, [r3] _08156A18: pop {r0} bx r0 thumb_func_end sub_81569D8 thumb_func_start sub_8156A1C sub_8156A1C: @ 8156A1C ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r3, [r0, 0xC] adds r1, r3, 0 adds r1, 0x41 ldrb r1, [r1] ldr r2, [r0, 0x4] lsls r0, r1, 3 subs r0, r1 lsls r0, 2 adds r0, r2 ldrh r0, [r0, 0x4] strh r0, [r3, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] bx lr .pool thumb_func_end sub_8156A1C thumb_func_start sub_8156A48 sub_8156A48: @ 8156A48 push {r4,r5,lr} bl sub_8156A1C ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr 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 _08156A8C 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 _08156A90 .pool _08156A8C: adds r0, r3, 0x6 str r0, [r4] _08156A90: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8156A48 thumb_func_start sub_8156A98 sub_8156A98: @ 8156A98 push {r4,r5,lr} bl sub_8156A1C ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr 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 _08156ADC 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 _08156AE0 .pool _08156ADC: adds r0, r3, 0x6 str r0, [r4] _08156AE0: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8156A98 thumb_func_start sub_8156AE8 sub_8156AE8: @ 8156AE8 push {r4,r5,lr} bl sub_8156A1C ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr 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 _08156B2C 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 _08156B30 .pool _08156B2C: adds r0, r3, 0x6 str r0, [r4] _08156B30: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8156AE8 thumb_func_start sub_8156B38 sub_8156B38: @ 8156B38 push {r4,r5,lr} bl sub_8156A1C ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr 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 _08156B7C 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 _08156B80 .pool _08156B7C: adds r0, r3, 0x6 str r0, [r4] _08156B80: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8156B38 thumb_func_start sub_8156B88 sub_8156B88: @ 8156B88 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r1, =gUnknown_02039F00 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, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] bx lr .pool thumb_func_end sub_8156B88 thumb_func_start sub_8156BB4 sub_8156BB4: @ 8156BB4 push {r4,r5,lr} bl sub_8156B88 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr 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 _08156BF8 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 _08156BFC .pool _08156BF8: adds r0, r3, 0x6 str r0, [r4] _08156BFC: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8156BB4 thumb_func_start sub_8156C04 sub_8156C04: @ 8156C04 push {r4,r5,lr} bl sub_8156B88 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr 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 _08156C48 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 _08156C4C .pool _08156C48: adds r0, r3, 0x6 str r0, [r4] _08156C4C: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8156C04 thumb_func_start sub_8156C54 sub_8156C54: @ 8156C54 push {r4,r5,lr} bl sub_8156B88 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr 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 _08156C98 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 _08156C9C .pool _08156C98: adds r0, r3, 0x6 str r0, [r4] _08156C9C: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8156C54 thumb_func_start sub_8156CA4 sub_8156CA4: @ 8156CA4 push {r4,r5,lr} bl sub_8156B88 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr 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 _08156CE8 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 _08156CEC .pool _08156CE8: adds r0, r3, 0x6 str r0, [r4] _08156CEC: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8156CA4 thumb_func_start sub_8156CF4 sub_8156CF4: @ 8156CF4 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r1, [r0, 0xC] ldr r0, =gUnknown_02039F2C ldrh r0, [r0] strh r0, [r1, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] bx lr .pool thumb_func_end sub_8156CF4 thumb_func_start sub_8156D18 sub_8156D18: @ 8156D18 push {lr} bl sub_8156CF4 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _08156D54 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156D58 .pool _08156D54: adds r0, r2, 0x5 str r0, [r3] _08156D58: pop {r0} bx r0 thumb_func_end sub_8156D18 thumb_func_start sub_8156D5C sub_8156D5C: @ 8156D5C push {lr} bl sub_8156CF4 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _08156D98 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156D9C .pool _08156D98: adds r0, r2, 0x5 str r0, [r3] _08156D9C: pop {r0} bx r0 thumb_func_end sub_8156D5C thumb_func_start sub_8156DA0 sub_8156DA0: @ 8156DA0 push {r4,lr} ldr r2, =gUnknown_02039E00 ldr r4, =gUnknown_02039F34 ldr r0, [r4] ldr r0, [r0, 0xC] ldrb r1, [r0, 0x4] lsls r1, 1 adds r0, 0x41 ldrb r0, [r0] lsls r0, 6 adds r1, r0 adds r2, 0x1E adds r1, r2 ldrh r0, [r1] bl sub_80DD9F0 ldr r1, [r4] ldr r1, [r1, 0xC] lsls r0, 24 asrs r0, 24 strh r0, [r1, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8156DA0 thumb_func_start sub_8156DE4 sub_8156DE4: @ 8156DE4 push {r4,lr} bl sub_8156DA0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] ldr r3, =gAIScriptPtr ldr r2, [r3] movs r4, 0x18 ldrsh r1, [r0, r4] movs r0, 0 ldrsb r0, [r2, r0] cmp r1, r0 bge _08156E20 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156E24 .pool _08156E20: adds r0, r2, 0x5 str r0, [r3] _08156E24: pop {r4} pop {r0} bx r0 thumb_func_end sub_8156DE4 thumb_func_start sub_8156E2C sub_8156E2C: @ 8156E2C push {r4,lr} bl sub_8156DA0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] ldr r3, =gAIScriptPtr ldr r2, [r3] movs r4, 0x18 ldrsh r1, [r0, r4] movs r0, 0 ldrsb r0, [r2, r0] cmp r1, r0 ble _08156E68 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156E6C .pool _08156E68: adds r0, r2, 0x5 str r0, [r3] _08156E6C: pop {r4} pop {r0} bx r0 thumb_func_end sub_8156E2C thumb_func_start sub_8156E74 sub_8156E74: @ 8156E74 push {r4,lr} bl sub_8156DA0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] ldr r3, =gAIScriptPtr ldr r2, [r3] movs r4, 0x18 ldrsh r1, [r0, r4] movs r0, 0 ldrsb r0, [r2, r0] cmp r1, r0 bne _08156EB0 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156EB4 .pool _08156EB0: adds r0, r2, 0x5 str r0, [r3] _08156EB4: pop {r4} pop {r0} bx r0 thumb_func_end sub_8156E74 thumb_func_start sub_8156EBC sub_8156EBC: @ 8156EBC push {r4,lr} bl sub_8156DA0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] ldr r3, =gAIScriptPtr ldr r2, [r3] movs r4, 0x18 ldrsh r1, [r0, r4] movs r0, 0 ldrsb r0, [r2, r0] cmp r1, r0 beq _08156EF8 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156EFC .pool _08156EF8: adds r0, r2, 0x5 str r0, [r3] _08156EFC: pop {r4} pop {r0} bx r0 thumb_func_end sub_8156EBC thumb_func_start sub_8156F04 sub_8156F04: @ 8156F04 ldr r2, =gUnknown_02039E00 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r3, [r0, 0xC] 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, =gContestMoves lsls r0, 3 adds r0, r1 ldrb r0, [r0] strh r0, [r3, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] bx lr .pool thumb_func_end sub_8156F04 thumb_func_start sub_8156F44 sub_8156F44: @ 8156F44 push {lr} bl sub_8156F04 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _08156F80 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156F84 .pool _08156F80: adds r0, r2, 0x5 str r0, [r3] _08156F84: pop {r0} bx r0 thumb_func_end sub_8156F44 thumb_func_start sub_8156F88 sub_8156F88: @ 8156F88 push {lr} bl sub_8156F04 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _08156FC4 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08156FC8 .pool _08156FC4: adds r0, r2, 0x5 str r0, [r3] _08156FC8: pop {r0} bx r0 thumb_func_end sub_8156F88 thumb_func_start sub_8156FCC sub_8156FCC: @ 8156FCC ldr r2, =gUnknown_02039E00 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r3, [r0, 0xC] 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, =gContestEffects ldr r1, =gContestMoves lsls r0, 3 adds r0, r1 ldrb r0, [r0] lsls r0, 2 adds r0, r2 ldrb r0, [r0] strh r0, [r3, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] bx lr .pool thumb_func_end sub_8156FCC thumb_func_start sub_8157018 sub_8157018: @ 8157018 push {lr} bl sub_8156FCC ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _08157054 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157058 .pool _08157054: adds r0, r2, 0x5 str r0, [r3] _08157058: pop {r0} bx r0 thumb_func_end sub_8157018 thumb_func_start sub_815705C sub_815705C: @ 815705C push {lr} bl sub_8156FCC ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _08157098 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _0815709C .pool _08157098: adds r0, r2, 0x5 str r0, [r3] _0815709C: pop {r0} bx r0 thumb_func_end sub_815705C thumb_func_start sub_81570A0 sub_81570A0: @ 81570A0 push {r4-r7,lr} ldr r2, =gUnknown_02039E00 ldr r5, =gUnknown_02039F34 ldr r0, [r5] ldr r1, [r0, 0xC] ldrb r0, [r1, 0x4] lsls r0, 1 adds r1, 0x41 ldrb r1, [r1] lsls r1, 6 adds r0, r1 adds r2, 0x1E adds r0, r2 ldrh r0, [r0] ldr r3, =gContestEffects ldr r4, =gContestMoves lsls r0, 3 adds r0, r4 ldrb r0, [r0] lsls r0, 2 adds r0, r3 ldrb r7, [r0, 0x1] movs r6, 0 ldr r0, =gAIScriptPtr mov r12, r0 adds r1, r2 _081570D4: ldrh r0, [r1] cmp r0, 0 beq _081570EA lsls r0, 3 adds r0, r4 ldrb r0, [r0] lsls r0, 2 adds r0, r3 ldrb r0, [r0, 0x1] cmp r7, r0 bcc _081570F2 _081570EA: adds r1, 0x2 adds r6, 0x1 cmp r6, 0x3 ble _081570D4 _081570F2: cmp r6, 0x4 bne _08157114 ldr r0, [r5] ldr r1, [r0, 0xC] movs r0, 0x1 b _0815711A .pool _08157114: ldr r0, [r5] ldr r1, [r0, 0xC] movs r0, 0 _0815711A: strh r0, [r1, 0x18] mov r1, r12 ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_81570A0 thumb_func_start sub_815712C sub_815712C: @ 815712C push {lr} bl sub_81570A0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 beq _08157164 ldr r3, =gAIScriptPtr 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 _0815716C .pool _08157164: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _0815716C: pop {r0} bx r0 .pool thumb_func_end sub_815712C thumb_func_start sub_8157174 sub_8157174: @ 8157174 push {r4-r7,lr} ldr r2, =gUnknown_02039E00 ldr r5, =gUnknown_02039F34 ldr r0, [r5] ldr r1, [r0, 0xC] ldrb r0, [r1, 0x4] lsls r0, 1 adds r1, 0x41 ldrb r1, [r1] lsls r1, 6 adds r0, r1 adds r2, 0x1E adds r0, r2 ldrh r0, [r0] ldr r3, =gContestEffects ldr r4, =gContestMoves lsls r0, 3 adds r0, r4 ldrb r0, [r0] lsls r0, 2 adds r0, r3 ldrb r7, [r0, 0x2] movs r6, 0 ldr r0, =gAIScriptPtr mov r12, r0 adds r1, r2 _081571A8: ldrh r0, [r1] cmp r0, 0 beq _081571BE lsls r0, 3 adds r0, r4 ldrb r0, [r0] lsls r0, 2 adds r0, r3 ldrb r0, [r0, 0x2] cmp r7, r0 bcc _081571C6 _081571BE: adds r1, 0x2 adds r6, 0x1 cmp r6, 0x3 ble _081571A8 _081571C6: cmp r6, 0x4 bne _081571E8 ldr r0, [r5] ldr r1, [r0, 0xC] movs r0, 0x1 b _081571EE .pool _081571E8: ldr r0, [r5] ldr r1, [r0, 0xC] movs r0, 0 _081571EE: strh r0, [r1, 0x18] mov r1, r12 ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8157174 thumb_func_start sub_8157200 sub_8157200: @ 8157200 push {lr} bl sub_8157174 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 beq _08157238 ldr r3, =gAIScriptPtr 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 _08157240 .pool _08157238: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x5 str r0, [r1] _08157240: pop {r0} bx r0 .pool thumb_func_end sub_8157200 thumb_func_start sub_8157248 sub_8157248: @ 8157248 push {r4,lr} ldr r2, =gUnknown_02039E00 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r4, [r0, 0xC] 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, =gContestEffects ldr r1, =gContestMoves 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, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8157248 thumb_func_start sub_81572A4 sub_81572A4: @ 81572A4 push {lr} bl sub_8157248 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bge _081572E0 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _081572E4 .pool _081572E0: adds r0, r2, 0x5 str r0, [r3] _081572E4: pop {r0} bx r0 thumb_func_end sub_81572A4 thumb_func_start sub_81572E8 sub_81572E8: @ 81572E8 push {lr} bl sub_8157248 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 ble _08157324 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157328 .pool _08157324: adds r0, r2, 0x5 str r0, [r3] _08157328: pop {r0} bx r0 thumb_func_end sub_81572E8 thumb_func_start sub_815732C sub_815732C: @ 815732C push {lr} bl sub_8157248 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _08157368 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _0815736C .pool _08157368: adds r0, r2, 0x5 str r0, [r3] _0815736C: pop {r0} bx r0 thumb_func_end sub_815732C thumb_func_start sub_8157370 sub_8157370: @ 8157370 push {lr} bl sub_8157248 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _081573AC ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _081573B0 .pool _081573AC: adds r0, r2, 0x5 str r0, [r3] _081573B0: pop {r0} bx r0 thumb_func_end sub_8157370 thumb_func_start sub_81573B4 sub_81573B4: @ 81573B4 push {r4,lr} ldr r2, =gUnknown_02039E00 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r4, [r0, 0xC] 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, =gContestEffects ldr r1, =gContestMoves 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, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81573B4 thumb_func_start sub_8157410 sub_8157410: @ 8157410 push {lr} bl sub_81573B4 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bge _0815744C ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157450 .pool _0815744C: adds r0, r2, 0x5 str r0, [r3] _08157450: pop {r0} bx r0 thumb_func_end sub_8157410 thumb_func_start sub_8157454 sub_8157454: @ 8157454 push {lr} bl sub_81573B4 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 ble _08157490 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157494 .pool _08157490: adds r0, r2, 0x5 str r0, [r3] _08157494: pop {r0} bx r0 thumb_func_end sub_8157454 thumb_func_start sub_8157498 sub_8157498: @ 8157498 push {lr} bl sub_81573B4 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _081574D4 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _081574D8 .pool _081574D4: adds r0, r2, 0x5 str r0, [r3] _081574D8: pop {r0} bx r0 thumb_func_end sub_8157498 thumb_func_start sub_81574DC sub_81574DC: @ 81574DC push {lr} bl sub_81573B4 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _08157518 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _0815751C .pool _08157518: adds r0, r2, 0x5 str r0, [r3] _0815751C: pop {r0} bx r0 thumb_func_end sub_81574DC thumb_func_start sub_8157520 sub_8157520: @ 8157520 push {r4,r5,lr} ldr r3, =gUnknown_02039E00 ldr r5, =gUnknown_02039F34 ldr r4, [r5] ldr r1, [r4, 0xC] ldrb r0, [r1, 0x4] lsls r0, 1 adds r1, 0x41 ldrb r2, [r1] lsls r1, r2, 6 adds r0, r1 adds r3, 0x1E adds r0, r3 ldrh r3, [r0] ldr r1, [r4, 0x4] lsls r0, r2, 3 subs r0, r2 lsls r0, 2 adds r0, r1 ldrh r1, [r0, 0x8] cmp r3, r1 beq _08157558 movs r1, 0 b _08157560 .pool _08157558: ldrb r0, [r0, 0xB] lsls r0, 25 lsrs r0, 29 adds r1, r0, 0x1 _08157560: ldr r0, [r5] ldr r0, [r0, 0xC] strh r1, [r0, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8157520 thumb_func_start sub_8157578 sub_8157578: @ 8157578 push {lr} bl sub_8157520 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bge _081575B4 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _081575B8 .pool _081575B4: adds r0, r2, 0x5 str r0, [r3] _081575B8: pop {r0} bx r0 thumb_func_end sub_8157578 thumb_func_start sub_81575BC sub_81575BC: @ 81575BC push {lr} bl sub_8157520 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 ble _081575F8 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _081575FC .pool _081575F8: adds r0, r2, 0x5 str r0, [r3] _081575FC: pop {r0} bx r0 thumb_func_end sub_81575BC thumb_func_start sub_8157600 sub_8157600: @ 8157600 push {lr} bl sub_8157520 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _0815763C ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157640 .pool _0815763C: adds r0, r2, 0x5 str r0, [r3] _08157640: pop {r0} bx r0 thumb_func_end sub_8157600 thumb_func_start sub_8157644 sub_8157644: @ 8157644 push {lr} bl sub_8157520 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _08157680 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157684 .pool _08157680: adds r0, r2, 0x5 str r0, [r3] _08157684: pop {r0} bx r0 thumb_func_end sub_8157644 thumb_func_start sub_8157688 sub_8157688: @ 8157688 push {r4-r6,lr} movs r3, 0 ldr r2, =gUnknown_02039E00 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] ldrb r1, [r0, 0x4] lsls r1, 1 adds r0, 0x41 ldrb r0, [r0] lsls r0, 6 adds r1, r0 adds r2, 0x1E adds r1, r2 ldrh r5, [r1] movs r4, 0 adds r6, r2, 0 _081576AA: lsls r1, r4, 1 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] adds r0, 0x41 ldrb r0, [r0] lsls r0, 6 adds r1, r0 adds r1, r6 ldrh r0, [r1] cmp r0, 0 beq _081576D2 adds r1, r0, 0 adds r0, r5, 0 bl AreMovesContestCombo lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0 bne _081576DC _081576D2: adds r4, 0x1 cmp r4, 0x3 ble _081576AA cmp r3, 0 beq _081576DE _081576DC: movs r3, 0x1 _081576DE: ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] strh r3, [r0, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8157688 thumb_func_start sub_8157700 sub_8157700: @ 8157700 push {lr} bl sub_8157688 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 beq _08157738 ldr r3, =gAIScriptPtr 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 _08157740 .pool _08157738: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157740: pop {r0} bx r0 .pool thumb_func_end sub_8157700 thumb_func_start sub_8157748 sub_8157748: @ 8157748 push {lr} bl sub_8157688 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 bne _08157780 ldr r3, =gAIScriptPtr 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 _08157788 .pool _08157780: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157788: pop {r0} bx r0 .pool thumb_func_end sub_8157748 thumb_func_start sub_8157790 sub_8157790: @ 8157790 push {r4-r6,lr} movs r3, 0 ldr r2, =gUnknown_02039E00 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] ldrb r1, [r0, 0x4] lsls r1, 1 adds r0, 0x41 ldrb r0, [r0] lsls r0, 6 adds r1, r0 adds r2, 0x1E adds r1, r2 ldrh r5, [r1] movs r4, 0 adds r6, r2, 0 _081577B2: lsls r1, r4, 1 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] adds r0, 0x41 ldrb r0, [r0] lsls r0, 6 adds r1, r0 adds r1, r6 ldrh r0, [r1] cmp r0, 0 beq _081577D8 adds r1, r5, 0 bl AreMovesContestCombo lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0 bne _081577E2 _081577D8: adds r4, 0x1 cmp r4, 0x3 ble _081577B2 cmp r3, 0 beq _081577E4 _081577E2: movs r3, 0x1 _081577E4: ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] strh r3, [r0, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8157790 thumb_func_start sub_8157808 sub_8157808: @ 8157808 push {lr} bl sub_8157790 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 beq _08157840 ldr r3, =gAIScriptPtr 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 _08157848 .pool _08157840: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157848: pop {r0} bx r0 .pool thumb_func_end sub_8157808 thumb_func_start sub_8157850 sub_8157850: @ 8157850 push {lr} bl sub_8157790 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 bne _08157888 ldr r3, =gAIScriptPtr 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 _08157890 .pool _08157888: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157890: pop {r0} bx r0 .pool thumb_func_end sub_8157850 thumb_func_start sub_8157898 sub_8157898: @ 8157898 push {r4-r6,lr} movs r5, 0 ldr r3, =gUnknown_02039E00 ldr r6, =gUnknown_02039F34 ldr r4, [r6] ldr r1, [r4, 0xC] ldrb r0, [r1, 0x4] lsls r0, 1 adds r1, 0x41 ldrb r2, [r1] lsls r1, r2, 6 adds r0, r1 adds r3, 0x1E adds r0, r3 ldrh r3, [r0] ldr r1, [r4, 0x4] lsls r0, r2, 3 subs r0, r2 lsls r0, 2 adds r1, r0, r1 ldrh r0, [r1, 0x8] cmp r0, 0 beq _081578D0 adds r1, r3, 0 bl AreMovesContestCombo lsls r0, 24 lsrs r5, r0, 24 _081578D0: cmp r5, 0 beq _081578D6 movs r5, 0x1 _081578D6: ldr r0, [r6] ldr r0, [r0, 0xC] strh r5, [r0, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8157898 thumb_func_start sub_81578F8 sub_81578F8: @ 81578F8 push {lr} bl sub_8157898 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 beq _08157930 ldr r3, =gAIScriptPtr 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 _08157938 .pool _08157930: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157938: pop {r0} bx r0 .pool thumb_func_end sub_81578F8 thumb_func_start sub_8157940 sub_8157940: @ 8157940 push {lr} bl sub_8157898 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 bne _08157978 ldr r3, =gAIScriptPtr 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 _08157980 .pool _08157978: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157980: pop {r0} bx r0 .pool thumb_func_end sub_8157940 thumb_func_start sub_8157988 sub_8157988: @ 8157988 push {r4,r5,lr} ldr r4, =gAIScriptPtr ldr r0, [r4] ldrb r0, [r0, 0x1] bl sub_81564AC lsls r0, 24 lsrs r0, 24 ldr r1, =gUnknown_02039F34 ldr r1, [r1] ldr r5, [r1, 0xC] ldr r2, [r1, 0x4] lsls r1, r0, 3 subs r1, r0 lsls r1, 2 adds r1, r2 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 .pool thumb_func_end sub_8157988 thumb_func_start sub_81579CC sub_81579CC: @ 81579CC push {lr} bl sub_8157988 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bge _08157A08 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157A0C .pool _08157A08: adds r0, r2, 0x5 str r0, [r3] _08157A0C: pop {r0} bx r0 thumb_func_end sub_81579CC thumb_func_start sub_8157A10 sub_8157A10: @ 8157A10 push {lr} bl sub_8157988 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 ble _08157A4C ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157A50 .pool _08157A4C: adds r0, r2, 0x5 str r0, [r3] _08157A50: pop {r0} bx r0 thumb_func_end sub_8157A10 thumb_func_start sub_8157A54 sub_8157A54: @ 8157A54 push {lr} bl sub_8157988 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _08157A90 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157A94 .pool _08157A90: adds r0, r2, 0x5 str r0, [r3] _08157A94: pop {r0} bx r0 thumb_func_end sub_8157A54 thumb_func_start sub_8157A98 sub_8157A98: @ 8157A98 push {lr} bl sub_8157988 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _08157AD4 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157AD8 .pool _08157AD4: adds r0, r2, 0x5 str r0, [r3] _08157AD8: pop {r0} bx r0 thumb_func_end sub_8157A98 thumb_func_start sub_8157ADC sub_8157ADC: @ 8157ADC push {r4-r6,lr} movs r6, 0 ldr r5, =gAIScriptPtr ldr r0, [r5] ldrb r0, [r0, 0x1] bl sub_81564AC lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 bl sub_80DE1E8 lsls r0, 24 cmp r0, 0 beq _08157B18 ldr r2, =gContestMoves ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r4, 3 subs r0, r4 lsls r0, 2 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 _08157B18: ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] strh r6, [r0, 0x18] ldr r0, [r5] adds r0, 0x2 str r0, [r5] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8157ADC thumb_func_start sub_8157B38 sub_8157B38: @ 8157B38 push {lr} bl sub_8157ADC ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bge _08157B74 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157B78 .pool _08157B74: adds r0, r2, 0x5 str r0, [r3] _08157B78: pop {r0} bx r0 thumb_func_end sub_8157B38 thumb_func_start sub_8157B7C sub_8157B7C: @ 8157B7C push {lr} bl sub_8157ADC ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 ble _08157BB8 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157BBC .pool _08157BB8: adds r0, r2, 0x5 str r0, [r3] _08157BBC: pop {r0} bx r0 thumb_func_end sub_8157B7C thumb_func_start sub_8157BC0 sub_8157BC0: @ 8157BC0 push {lr} bl sub_8157ADC ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _08157BFC ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157C00 .pool _08157BFC: adds r0, r2, 0x5 str r0, [r3] _08157C00: pop {r0} bx r0 thumb_func_end sub_8157BC0 thumb_func_start sub_8157C04 sub_8157C04: @ 8157C04 push {lr} bl sub_8157ADC ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _08157C40 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08157C44 .pool _08157C40: adds r0, r2, 0x5 str r0, [r3] _08157C44: pop {r0} bx r0 thumb_func_end sub_8157C04 thumb_func_start sub_8157C48 sub_8157C48: @ 8157C48 push {lr} ldr r0, =gAIScriptPtr ldr r0, [r0] ldrb r0, [r0, 0x1] bl sub_81564AC lsls r0, 24 lsrs r0, 24 bl sub_80DBCA8 lsls r0, 24 cmp r0, 0 beq _08157C74 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r1, [r0, 0xC] movs r0, 0 b _08157C7C .pool _08157C74: ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r1, [r0, 0xC] movs r0, 0x1 _08157C7C: strh r0, [r1, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x2 str r0, [r1] pop {r0} bx r0 .pool thumb_func_end sub_8157C48 thumb_func_start sub_8157C94 sub_8157C94: @ 8157C94 push {lr} bl sub_8157C48 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 beq _08157CCC ldr r3, =gAIScriptPtr 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 _08157CD4 .pool _08157CCC: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157CD4: pop {r0} bx r0 .pool thumb_func_end sub_8157C94 thumb_func_start sub_8157CDC sub_8157CDC: @ 8157CDC push {lr} bl sub_8157C48 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 bne _08157D14 ldr r3, =gAIScriptPtr 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 _08157D1C .pool _08157D14: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157D1C: pop {r0} bx r0 .pool thumb_func_end sub_8157CDC thumb_func_start sub_8157D24 sub_8157D24: @ 8157D24 push {r4,lr} ldr r4, =gAIScriptPtr ldr r0, [r4] ldrb r0, [r0, 0x1] bl sub_81564AC lsls r0, 24 lsrs r0, 24 ldr r1, =gUnknown_02039F34 ldr r1, [r1] ldr r3, [r1, 0xC] ldr r2, [r1, 0x4] lsls r1, r0, 3 subs r1, r0 lsls r1, 2 adds r1, r2 ldrb r0, [r1, 0x15] lsls r0, 28 lsrs r0, 31 strh r0, [r3, 0x18] ldr r0, [r4] adds r0, 0x2 str r0, [r4] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8157D24 thumb_func_start sub_8157D60 sub_8157D60: @ 8157D60 push {lr} bl sub_8157D24 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 beq _08157D98 ldr r3, =gAIScriptPtr 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 _08157DA0 .pool _08157D98: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157DA0: pop {r0} bx r0 .pool thumb_func_end sub_8157D60 thumb_func_start sub_8157DA8 sub_8157DA8: @ 8157DA8 push {lr} bl sub_8157D24 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 bne _08157DE0 ldr r3, =gAIScriptPtr 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 _08157DE8 .pool _08157DE0: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157DE8: pop {r0} bx r0 .pool thumb_func_end sub_8157DA8 thumb_func_start sub_8157DF0 sub_8157DF0: @ 8157DF0 push {r4,r5,lr} ldr r4, =gAIScriptPtr ldr r0, [r4] ldrb r0, [r0, 0x1] bl sub_81564AC lsls r0, 24 lsrs r0, 24 ldr r1, =gUnknown_02039F34 ldr r1, [r1] ldr r5, [r1, 0xC] ldr r3, [r1, 0x4] lsls r1, r0, 3 subs r1, r0 lsls r1, 2 adds r1, r3 adds r0, r5, 0 adds r0, 0x41 ldrb r2, [r0] lsls r0, r2, 3 subs r0, r2 lsls r0, 2 adds r0, r3 ldrh r1, [r1, 0x4] ldrh r0, [r0, 0x4] subs r1, r0 strh r1, [r5, 0x18] ldr r0, [r4] adds r0, 0x2 str r0, [r4] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8157DF0 thumb_func_start sub_8157E3C sub_8157E3C: @ 8157E3C push {lr} bl sub_8157DF0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 bge _08157E74 ldr r3, =gAIScriptPtr 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 _08157E7C .pool _08157E74: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157E7C: pop {r0} bx r0 .pool thumb_func_end sub_8157E3C thumb_func_start sub_8157E84 sub_8157E84: @ 8157E84 push {lr} bl sub_8157DF0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 ble _08157EBC ldr r3, =gAIScriptPtr 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 _08157EC4 .pool _08157EBC: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157EC4: pop {r0} bx r0 .pool thumb_func_end sub_8157E84 thumb_func_start sub_8157ECC sub_8157ECC: @ 8157ECC push {lr} bl sub_8157DF0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 bne _08157F04 ldr r3, =gAIScriptPtr 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 _08157F0C .pool _08157F04: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157F0C: pop {r0} bx r0 .pool thumb_func_end sub_8157ECC thumb_func_start sub_8157F14 sub_8157F14: @ 8157F14 push {lr} bl sub_8157DF0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 beq _08157F4C ldr r3, =gAIScriptPtr 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 _08157F54 .pool _08157F4C: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157F54: pop {r0} bx r0 .pool thumb_func_end sub_8157F14 thumb_func_start sub_8157F5C sub_8157F5C: @ 8157F5C push {r4,lr} ldr r4, =gAIScriptPtr ldr r0, [r4] ldrb r0, [r0, 0x1] bl sub_81564AC lsls r0, 24 ldr r1, =gUnknown_02039F34 ldr r1, [r1] ldr r3, [r1, 0xC] ldr r2, =gUnknown_02039F00 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 .pool thumb_func_end sub_8157F5C thumb_func_start sub_8157FA0 sub_8157FA0: @ 8157FA0 push {lr} bl sub_8157F5C ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 bge _08157FD8 ldr r3, =gAIScriptPtr 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 _08157FE0 .pool _08157FD8: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08157FE0: pop {r0} bx r0 .pool thumb_func_end sub_8157FA0 thumb_func_start sub_8157FE8 sub_8157FE8: @ 8157FE8 push {lr} bl sub_8157F5C ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 ble _08158020 ldr r3, =gAIScriptPtr 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 _08158028 .pool _08158020: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08158028: pop {r0} bx r0 .pool thumb_func_end sub_8157FE8 thumb_func_start sub_8158030 sub_8158030: @ 8158030 push {lr} bl sub_8157F5C ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 bne _08158068 ldr r3, =gAIScriptPtr 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 _08158070 .pool _08158068: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08158070: pop {r0} bx r0 .pool thumb_func_end sub_8158030 thumb_func_start sub_8158078 sub_8158078: @ 8158078 push {lr} bl sub_8157F5C ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 beq _081580B0 ldr r3, =gAIScriptPtr 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 _081580B8 .pool _081580B0: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _081580B8: pop {r0} bx r0 .pool thumb_func_end sub_8158078 thumb_func_start sub_81580C0 sub_81580C0: @ 81580C0 push {r4,r5,lr} ldr r5, =gAIScriptPtr ldr r0, [r5] ldrb r0, [r0, 0x1] bl sub_81564AC lsls r0, 24 ldr r3, [r5] ldrb r2, [r3, 0x2] ldr r1, =gUnknown_02039F34 ldr r4, [r1] ldr r1, [r4] lsrs r0, 23 lsls r2, 3 adds r0, r2 adds r1, 0x1C adds r1, r0 ldrh r0, [r1] ldr r2, [r4, 0xC] ldr r1, =gContestMoves lsls r0, 3 adds r0, r1 ldrb r0, [r0] strh r0, [r2, 0x18] adds r3, 0x3 str r3, [r5] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_81580C0 thumb_func_start sub_8158108 sub_8158108: @ 8158108 push {lr} bl sub_81580C0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bge _08158144 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08158148 .pool _08158144: adds r0, r2, 0x5 str r0, [r3] _08158148: pop {r0} bx r0 thumb_func_end sub_8158108 thumb_func_start sub_815814C sub_815814C: @ 815814C push {lr} bl sub_81580C0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 ble _08158188 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _0815818C .pool _08158188: adds r0, r2, 0x5 str r0, [r3] _0815818C: pop {r0} bx r0 thumb_func_end sub_815814C thumb_func_start sub_8158190 sub_8158190: @ 8158190 push {lr} bl sub_81580C0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _081581CC ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _081581D0 .pool _081581CC: adds r0, r2, 0x5 str r0, [r3] _081581D0: pop {r0} bx r0 thumb_func_end sub_8158190 thumb_func_start sub_81581D4 sub_81581D4: @ 81581D4 push {lr} bl sub_81580C0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _08158210 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08158214 .pool _08158210: adds r0, r2, 0x5 str r0, [r3] _08158214: pop {r0} bx r0 thumb_func_end sub_81581D4 thumb_func_start sub_8158218 sub_8158218: @ 8158218 push {r4,r5,lr} ldr r5, =gAIScriptPtr ldr r0, [r5] ldrb r0, [r0, 0x1] bl sub_81564AC lsls r0, 24 lsrs r0, 24 ldr r3, [r5] ldrb r2, [r3, 0x2] ldr r1, =gUnknown_02039F34 ldr r4, [r1] ldr r1, [r4] lsls r2, 2 adds r0, r2 adds r1, 0x44 adds r1, r0 ldr r2, [r4, 0xC] movs r0, 0 ldrsb r0, [r1, r0] strh r0, [r2, 0x18] adds r3, 0x3 str r3, [r5] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8158218 thumb_func_start sub_8158254 sub_8158254: @ 8158254 push {lr} bl sub_8158218 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bge _08158290 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08158294 .pool _08158290: adds r0, r2, 0x5 str r0, [r3] _08158294: pop {r0} bx r0 thumb_func_end sub_8158254 thumb_func_start sub_8158298 sub_8158298: @ 8158298 push {lr} bl sub_8158218 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 ble _081582D4 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _081582D8 .pool _081582D4: adds r0, r2, 0x5 str r0, [r3] _081582D8: pop {r0} bx r0 thumb_func_end sub_8158298 thumb_func_start sub_81582DC sub_81582DC: @ 81582DC push {lr} bl sub_8158218 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _08158318 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _0815831C .pool _08158318: adds r0, r2, 0x5 str r0, [r3] _0815831C: pop {r0} bx r0 thumb_func_end sub_81582DC thumb_func_start sub_8158320 sub_8158320: @ 8158320 push {lr} bl sub_8158218 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _0815835C ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _08158360 .pool _0815835C: adds r0, r2, 0x5 str r0, [r3] _08158360: pop {r0} bx r0 thumb_func_end sub_8158320 thumb_func_start sub_8158364 sub_8158364: @ 8158364 push {r4,r5,lr} ldr r5, =gAIScriptPtr ldr r0, [r5] ldrb r0, [r0, 0x1] bl sub_81564AC lsls r0, 24 ldr r3, [r5] ldrb r2, [r3, 0x2] ldr r1, =gUnknown_02039F34 ldr r4, [r1] ldr r1, [r4] lsrs r0, 23 lsls r2, 3 adds r0, r2 adds r1, 0x1C adds r1, r0 ldrh r0, [r1] ldr r4, [r4, 0xC] ldr r2, =gContestEffects ldr r1, =gContestMoves lsls r0, 3 adds r0, r1 ldrb r0, [r0] lsls r0, 2 adds r0, r2 ldrb r0, [r0] strh r0, [r4, 0x18] adds r3, 0x3 str r3, [r5] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8158364 thumb_func_start sub_81583B8 sub_81583B8: @ 81583B8 push {lr} bl sub_8158364 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 bne _081583F4 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _081583F8 .pool _081583F4: adds r0, r2, 0x5 str r0, [r3] _081583F8: pop {r0} bx r0 thumb_func_end sub_81583B8 thumb_func_start sub_81583FC sub_81583FC: @ 81583FC push {lr} bl sub_8158364 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] ldr r3, =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2] cmp r0, r1 beq _08158438 ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 ldrb r0, [r2, 0x3] lsls r0, 16 orrs r1, r0 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 str r1, [r3] b _0815843C .pool _08158438: adds r0, r2, 0x5 str r0, [r3] _0815843C: pop {r0} bx r0 thumb_func_end sub_81583FC thumb_func_start sub_8158440 sub_8158440: @ 8158440 push {r4,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r3, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r2, [r4] ldrb r0, [r2, 0x1] lsls r0, 1 adds r1, r3, 0 adds r1, 0x1A adds r1, r0 ldrh r0, [r3, 0x18] strh r0, [r1] adds r2, 0x2 str r2, [r4] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8158440 thumb_func_start sub_815846C sub_815846C: @ 815846C push {r4,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r3, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r2, [r4] ldrb r0, [r2, 0x1] lsls r0, 1 adds r3, 0x1A adds r3, r0 ldrb r1, [r2, 0x2] ldrb r0, [r2, 0x3] lsls r0, 8 orrs r1, r0 strh r1, [r3] adds r2, 0x4 str r2, [r4] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_815846C thumb_func_start sub_815849C sub_815849C: @ 815849C push {r4,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r3, [r4] ldrb r0, [r3, 0x1] lsls r0, 1 adds r2, 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 .pool thumb_func_end sub_815849C thumb_func_start sub_81584D4 sub_81584D4: @ 81584D4 push {r4,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r3, [r4] ldrb r1, [r3, 0x1] lsls r1, 1 adds r2, 0x1A adds r1, r2, r1 ldrb r0, [r3, 0x2] lsls r0, 1 adds r2, r0 ldrh r0, [r2] ldrh r2, [r1] adds r0, r2 strh r0, [r1] adds r3, 0x3 str r3, [r4] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81584D4 thumb_func_start sub_8158508 sub_8158508: @ 8158508 push {r4,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r3, [r4] ldrb r1, [r3, 0x1] lsls r1, 1 adds r2, 0x1A adds r1, r2, r1 ldrb r0, [r3, 0x2] lsls r0, 1 adds r2, r0 ldrh r0, [r2] ldrh r2, [r1] adds r0, r2 strh r0, [r1] adds r3, 0x3 str r3, [r4] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8158508 thumb_func_start sub_815853C sub_815853C: @ 815853C push {r4,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r1, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r3, [r4] ldrb r0, [r3, 0x1] lsls r0, 1 adds r1, 0x1A adds r1, r0 movs r0, 0 ldrsh r2, [r1, r0] ldrb r1, [r3, 0x2] ldrb r0, [r3, 0x3] lsls r0, 8 orrs r1, r0 cmp r2, r1 bge _08158580 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 _08158586 .pool _08158580: adds r0, r3, 0 adds r0, 0x8 str r0, [r4] _08158586: pop {r4} pop {r0} bx r0 thumb_func_end sub_815853C thumb_func_start sub_815858C sub_815858C: @ 815858C push {r4,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r1, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r3, [r4] ldrb r0, [r3, 0x1] lsls r0, 1 adds r1, 0x1A adds r1, r0 movs r0, 0 ldrsh r2, [r1, r0] ldrb r1, [r3, 0x2] ldrb r0, [r3, 0x3] lsls r0, 8 orrs r1, r0 cmp r2, r1 ble _081585D0 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 _081585D6 .pool _081585D0: adds r0, r3, 0 adds r0, 0x8 str r0, [r4] _081585D6: pop {r4} pop {r0} bx r0 thumb_func_end sub_815858C thumb_func_start sub_81585DC sub_81585DC: @ 81585DC push {r4,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r1, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r3, [r4] ldrb r0, [r3, 0x1] lsls r0, 1 adds r1, 0x1A adds r1, r0 movs r0, 0 ldrsh r2, [r1, r0] ldrb r1, [r3, 0x2] ldrb r0, [r3, 0x3] lsls r0, 8 orrs r1, r0 cmp r2, r1 bne _08158620 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 _08158626 .pool _08158620: adds r0, r3, 0 adds r0, 0x8 str r0, [r4] _08158626: pop {r4} pop {r0} bx r0 thumb_func_end sub_81585DC thumb_func_start sub_815862C sub_815862C: @ 815862C push {r4,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r1, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r3, [r4] ldrb r0, [r3, 0x1] lsls r0, 1 adds r1, 0x1A adds r1, r0 movs r0, 0 ldrsh r2, [r1, r0] ldrb r1, [r3, 0x2] ldrb r0, [r3, 0x3] lsls r0, 8 orrs r1, r0 cmp r2, r1 beq _08158670 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 _08158676 .pool _08158670: adds r0, r3, 0 adds r0, 0x8 str r0, [r4] _08158676: pop {r4} pop {r0} bx r0 thumb_func_end sub_815862C thumb_func_start sub_815867C sub_815867C: @ 815867C push {r4,r5,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r3, [r4] ldrb r1, [r3, 0x1] lsls r1, 1 adds r2, 0x1A adds r1, r2, r1 ldrb r0, [r3, 0x2] lsls r0, 1 adds r2, r0 movs r0, 0 ldrsh r1, [r1, r0] movs r5, 0 ldrsh r0, [r2, r5] cmp r1, r0 bge _081586C4 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 _081586C8 .pool _081586C4: adds r0, r3, 0x7 str r0, [r4] _081586C8: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_815867C thumb_func_start sub_81586D0 sub_81586D0: @ 81586D0 push {r4,r5,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r3, [r4] ldrb r1, [r3, 0x1] lsls r1, 1 adds r2, 0x1A adds r1, r2, r1 ldrb r0, [r3, 0x2] lsls r0, 1 adds r2, r0 movs r0, 0 ldrsh r1, [r1, r0] movs r5, 0 ldrsh r0, [r2, r5] cmp r1, r0 ble _08158718 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 _0815871C .pool _08158718: adds r0, r3, 0x7 str r0, [r4] _0815871C: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_81586D0 thumb_func_start sub_8158724 sub_8158724: @ 8158724 push {r4,r5,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r3, [r4] ldrb r1, [r3, 0x1] lsls r1, 1 adds r2, 0x1A adds r1, r2, r1 ldrb r0, [r3, 0x2] lsls r0, 1 adds r2, r0 movs r0, 0 ldrsh r1, [r1, r0] movs r5, 0 ldrsh r0, [r2, r5] cmp r1, r0 bne _0815876C 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 _08158770 .pool _0815876C: adds r0, r3, 0x7 str r0, [r4] _08158770: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8158724 thumb_func_start sub_8158778 sub_8158778: @ 8158778 push {r4,r5,lr} ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r3, [r4] ldrb r1, [r3, 0x1] lsls r1, 1 adds r2, 0x1A adds r1, r2, r1 ldrb r0, [r3, 0x2] lsls r0, 1 adds r2, r0 movs r0, 0 ldrsh r1, [r1, r0] movs r5, 0 ldrsh r0, [r2, r5] cmp r1, r0 beq _081587C0 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 _081587C4 .pool _081587C0: adds r0, r3, 0x7 str r0, [r4] _081587C4: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8158778 thumb_func_start sub_81587CC sub_81587CC: @ 81587CC push {r4,r5,lr} bl Random movs r2, 0xFF ands r2, r0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r1, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r3, [r4] ldrb r0, [r3, 0x1] lsls r0, 1 adds r1, 0x1A adds r1, r0 movs r5, 0 ldrsh r0, [r1, r5] cmp r2, r0 bge _08158810 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 _08158814 .pool _08158810: adds r0, r3, 0x6 str r0, [r4] _08158814: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_81587CC thumb_func_start sub_815881C sub_815881C: @ 815881C push {r4,r5,lr} bl Random movs r2, 0xFF ands r2, r0 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r1, [r0, 0xC] ldr r4, =gAIScriptPtr ldr r3, [r4] ldrb r0, [r3, 0x1] lsls r0, 1 adds r1, 0x1A adds r1, r0 movs r5, 0 ldrsh r0, [r1, r5] cmp r2, r0 ble _08158860 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 _08158864 .pool _08158860: adds r0, r3, 0x6 str r0, [r4] _08158864: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_815881C thumb_func_start sub_815886C sub_815886C: @ 815886C ldr r3, =gAIScriptPtr 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 .pool thumb_func_end sub_815886C thumb_func_start dp15_call dp15_call: @ 815888C push {r4,lr} ldr r4, =gAIScriptPtr ldr r0, [r4] adds r0, 0x5 bl sub_81588E0 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 .pool thumb_func_end dp15_call thumb_func_start sub_81588BC sub_81588BC: @ 81588BC push {lr} bl sub_8158908 lsls r0, 24 cmp r0, 0 bne _081588D6 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r2, [r0, 0xC] ldrb r1, [r2, 0x9] movs r0, 0x1 orrs r0, r1 strb r0, [r2, 0x9] _081588D6: pop {r0} bx r0 .pool thumb_func_end sub_81588BC thumb_func_start sub_81588E0 sub_81588E0: @ 81588E0 push {r4,lr} ldr r1, =gUnknown_02039F34 ldr r1, [r1] ldr r3, [r1, 0xC] 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 r3, r1 str r0, [r3] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81588E0 thumb_func_start sub_8158908 sub_8158908: @ 8158908 push {lr} ldr r3, =gUnknown_02039F34 ldr r0, [r3] ldr r0, [r0, 0xC] adds r1, r0, 0 adds r1, 0x40 ldrb r0, [r1] cmp r0, 0 bne _08158924 movs r0, 0 b _08158940 .pool _08158924: subs r0, 0x1 strb r0, [r1] ldr r2, =gAIScriptPtr ldr r0, [r3] ldr r1, [r0, 0xC] adds r0, r1, 0 adds r0, 0x40 ldrb r0, [r0] lsls r0, 2 adds r1, 0x20 adds r1, r0 ldr r0, [r1] str r0, [r2] movs r0, 0x1 _08158940: pop {r1} bx r1 .pool thumb_func_end sub_8158908 thumb_func_start sub_8158948 sub_8158948: @ 8158948 push {r4-r6,lr} movs r5, 0 movs r4, 0 ldr r6, =gUnknown_02039E1E _08158950: lsls r1, r4, 1 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] adds r0, 0x41 ldrb r0, [r0] lsls r0, 6 adds r1, r0 adds r1, r6 ldrh r0, [r1] cmp r0, 0 beq _08158980 bl sub_80DD9F0 lsls r0, 24 asrs r0, 24 cmp r0, 0x1 bne _08158980 movs r5, 0x1 b _08158986 .pool _08158980: adds r4, 0x1 cmp r4, 0x3 ble _08158950 _08158986: ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] strh r5, [r0, 0x18] ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8158948 thumb_func_start sub_81589A4 sub_81589A4: @ 81589A4 push {lr} bl sub_8158948 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 beq _081589DC ldr r3, =gAIScriptPtr 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 _081589E4 .pool _081589DC: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _081589E4: pop {r0} bx r0 .pool thumb_func_end sub_81589A4 thumb_func_start sub_81589EC sub_81589EC: @ 81589EC push {lr} bl sub_8158948 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 bne _08158A24 ldr r3, =gAIScriptPtr 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 _08158A2C .pool _08158A24: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08158A2C: pop {r0} bx r0 .pool thumb_func_end sub_81589EC thumb_func_start sub_8158A34 sub_8158A34: @ 8158A34 push {r4-r6,lr} movs r6, 0 ldr r3, =gAIScriptPtr ldr r0, [r3] ldrb r5, [r0, 0x1] ldrb r0, [r0, 0x2] lsls r0, 8 orrs r5, r0 movs r4, 0 ldr r0, =gUnknown_02039E00 mov r12, r0 ldr r2, =gUnknown_02039F34 ldr r0, [r2] ldr r0, [r0, 0xC] adds r0, 0x41 ldrb r0, [r0] lsls r0, 6 mov r1, r12 adds r1, 0x1E adds r0, r1 ldrh r0, [r0] b _08158A88 .pool _08158A6C: adds r4, 0x1 cmp r4, 0x3 bgt _08158A8E lsls r1, r4, 1 ldr r0, [r2] ldr r0, [r0, 0xC] adds r0, 0x41 ldrb r0, [r0] lsls r0, 6 adds r1, r0 mov r0, r12 adds r0, 0x1E adds r1, r0 ldrh r0, [r1] _08158A88: cmp r0, r5 bne _08158A6C movs r6, 0x1 _08158A8E: ldr r0, [r2] ldr r0, [r0, 0xC] strh r6, [r0, 0x18] ldr r0, [r3] adds r0, 0x3 str r0, [r3] pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_8158A34 thumb_func_start sub_8158AA0 sub_8158AA0: @ 8158AA0 push {lr} bl sub_8158A34 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 beq _08158AD8 ldr r3, =gAIScriptPtr 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 _08158AE0 .pool _08158AD8: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08158AE0: pop {r0} bx r0 .pool thumb_func_end sub_8158AA0 thumb_func_start sub_8158AE8 sub_8158AE8: @ 8158AE8 push {lr} bl sub_8158A34 ldr r0, =gUnknown_02039F34 ldr r0, [r0] ldr r0, [r0, 0xC] movs r1, 0x18 ldrsh r0, [r0, r1] cmp r0, 0 bne _08158B20 ldr r3, =gAIScriptPtr 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 _08158B28 .pool _08158B20: ldr r1, =gAIScriptPtr ldr r0, [r1] adds r0, 0x4 str r0, [r1] _08158B28: pop {r0} bx r0 .pool thumb_func_end sub_8158AE8 .align 2, 0 @ Don't pad with nop.