diff options
author | YamaArashi <shadow962@live.com> | 2016-11-01 10:08:48 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-11-01 10:16:34 -0700 |
commit | 6f0e42a91aeeedd64725ce57e3dad6a38421d8e9 (patch) | |
tree | dcea69ec49430f004c17ff71b77587cafd78c69a /asm/contest_ai.s | |
parent | fef81187dce23adc635d7f4b7fd82298eab09ec2 (diff) |
split asm files
Diffstat (limited to 'asm/contest_ai.s')
-rw-r--r-- | asm/contest_ai.s | 5278 |
1 files changed, 5278 insertions, 0 deletions
diff --git a/asm/contest_ai.s b/asm/contest_ai.s new file mode 100644 index 000000000..1956153df --- /dev/null +++ b/asm/contest_ai.s @@ -0,0 +1,5278 @@ + .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, =0x02039f34 + 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, =0x02039e00 + 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, =0x02039f34 + 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 GenerateRandomNumber + adds r5, r0, 0 + ands r5, r6 + ldr r4, =0x02039f34 + 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, =0x02039f34 + 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, =0x0203ab38 + ldr r0, =0x02039e1e + 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, =0x02039f34 + 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, =0x02039f34 + 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, =0x02039f34 + ldr r0, [r3] + ldr r0, [r0, 0xC] + adds r1, r0, 0x5 + ldrb r0, [r0, 0x4] + adds r1, r0 + ldr r2, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r1, [r0, 0xC] + ldr r0, [r0] + ldrb r0, [r0, 0x1] + strh r0, [r1, 0x18] + ldr r1, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r1, =0x02039f00 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r1, [r0, 0xC] + ldr r0, =0x02039f2c + ldrh r0, [r0] + strh r0, [r1, 0x18] + ldr r1, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039e00 + ldr r4, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + ldr r3, =0x0203ab38 + 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, =0x02039e00 + ldr r0, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039e00 + ldr r0, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039e00 + ldr r5, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _08157164 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039e00 + ldr r5, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _08157238 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039e00 + ldr r0, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039e00 + ldr r0, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039e00 + ldr r5, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039e00 + ldr r0, =0x02039f34 + 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, =0x02039f34 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + strh r3, [r0, 0x18] + ldr r1, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _08157738 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _08157780 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039e00 + ldr r0, =0x02039f34 + 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, =0x02039f34 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + strh r3, [r0, 0x18] + ldr r1, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _08157840 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _08157888 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039e00 + ldr r6, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _08157930 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _08157978 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x0203ab38 + ldr r0, [r4] + ldrb r0, [r0, 0x1] + bl sub_81564AC + lsls r0, 24 + lsrs r0, 24 + ldr r1, =0x02039f34 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + 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, =0x02039f34 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r1, [r0, 0xC] + movs r0, 0 + b _08157C7C + .pool +_08157C74: + ldr r0, =0x02039f34 + ldr r0, [r0] + ldr r1, [r0, 0xC] + movs r0, 0x1 +_08157C7C: + strh r0, [r1, 0x18] + ldr r1, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _08157CCC + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _08157D14 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x0203ab38 + ldr r0, [r4] + ldrb r0, [r0, 0x1] + bl sub_81564AC + lsls r0, 24 + lsrs r0, 24 + ldr r1, =0x02039f34 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _08157D98 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _08157DE0 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x0203ab38 + ldr r0, [r4] + ldrb r0, [r0, 0x1] + bl sub_81564AC + lsls r0, 24 + lsrs r0, 24 + ldr r1, =0x02039f34 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + bge _08157E74 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + ble _08157EBC + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _08157F04 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _08157F4C + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x0203ab38 + ldr r0, [r4] + ldrb r0, [r0, 0x1] + bl sub_81564AC + lsls r0, 24 + ldr r1, =0x02039f34 + ldr r1, [r1] + ldr r3, [r1, 0xC] + ldr r2, =0x02039f00 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + bge _08157FD8 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + ble _08158020 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _08158068 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _081580B0 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x0203ab38 + ldr r0, [r5] + ldrb r0, [r0, 0x1] + bl sub_81564AC + lsls r0, 24 + ldr r3, [r5] + ldrb r2, [r3, 0x2] + ldr r1, =0x02039f34 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + ldr r0, [r5] + ldrb r0, [r0, 0x1] + bl sub_81564AC + lsls r0, 24 + ldr r3, [r5] + ldrb r2, [r3, 0x2] + ldr r1, =0x02039f34 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + ldr r3, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r3, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r3, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r1, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r1, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r1, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r1, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r2, [r0, 0xC] + ldr r4, =0x0203ab38 + 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 GenerateRandomNumber + movs r2, 0xFF + ands r2, r0 + ldr r0, =0x02039f34 + ldr r0, [r0] + ldr r1, [r0, 0xC] + ldr r4, =0x0203ab38 + 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 GenerateRandomNumber + movs r2, 0xFF + ands r2, r0 + ldr r0, =0x02039f34 + ldr r0, [r0] + ldr r1, [r0, 0xC] + ldr r4, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + 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, =0x02039f34 + 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, =0x02039f34 + 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, =0x0203ab38 + 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, =0x02039e1e +_08158950: + lsls r1, r4, 1 + ldr r0, =0x02039f34 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + strh r5, [r0, 0x18] + ldr r1, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _081589DC + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _08158A24 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x0203ab38 + ldr r0, [r3] + ldrb r5, [r0, 0x1] + ldrb r0, [r0, 0x2] + lsls r0, 8 + orrs r5, r0 + movs r4, 0 + ldr r0, =0x02039e00 + mov r12, r0 + ldr r2, =0x02039f34 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _08158AD8 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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, =0x02039f34 + ldr r0, [r0] + ldr r0, [r0, 0xC] + movs r1, 0x18 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _08158B20 + ldr r3, =0x0203ab38 + 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, =0x0203ab38 + 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. |