.include "asm/macros.inc" .include "constants/constants.inc" .syntax unified .text thumb_func_start sub_80DB884 sub_80DB884: @ 80DB884 push {r4,lr} movs r4, 0 _080DB888: lsls r0, r4, 24 lsrs r0, 24 bl sub_80DB798 adds r4, 0x1 cmp r4, 0x3 ble _080DB888 pop {r4} pop {r0} bx r0 thumb_func_end sub_80DB884 thumb_func_start sub_80DB89C sub_80DB89C: @ 80DB89C push {lr} movs r0, 0x4 movs r1, 0 bl FillWindowPixelBuffer movs r0, 0x4 movs r1, 0x2 bl CopyWindowToVram movs r0, 0 bl Contest_SetBgCopyFlags pop {r0} bx r0 thumb_func_end sub_80DB89C thumb_func_start sub_80DB8B8 sub_80DB8B8: @ 80DB8B8 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 adds r0, r4, 0 bl Contest_IsMonsTurnDisabled lsls r0, 24 cmp r0, 0 beq _080DB8D0 movs r0, 0 b _080DB90A _080DB8D0: ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] cmp r4, r0 beq _080DB8F4 adds r0, r4, 0 bl ContestAI_ResetAI bl ContestAI_GetActionToUse lsls r0, 24 ldr r2, =gContestMons lsrs r0, 23 lsls r1, r4, 6 b _080DB902 .pool _080DB8F4: ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0] ldrb r0, [r0] lsls r0, 1 lsls r1, r5, 6 _080DB902: adds r0, r1 adds r2, 0x1E adds r0, r2 ldrh r0, [r0] _080DB90A: pop {r4,r5} pop {r1} bx r1 .pool thumb_func_end sub_80DB8B8 thumb_func_start sub_80DB918 sub_80DB918: @ 80DB918 push {r4,r5,lr} movs r4, 0 movs r5, 0 _080DB91E: lsls r0, r4, 24 lsrs r0, 24 bl sub_80DB8B8 ldr r1, =gContestResources ldr r1, [r1] ldr r1, [r1, 0x4] adds r1, r5, r1 strh r0, [r1, 0x6] adds r5, 0x1C adds r4, 0x1 cmp r4, 0x3 ble _080DB91E pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80DB918 thumb_func_start sub_80DB944 sub_80DB944: @ 80DB944 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} sub sp, 0x8 ldr r5, =gContestResources mov r4, sp movs r3, 0 movs r6, 0x3 _080DB956: ldr r2, [r5] ldr r1, [r2, 0x4] adds r1, r3, r1 ldrh r0, [r1, 0x2] ldrh r7, [r1, 0x4] adds r0, r7 strh r0, [r1, 0x4] ldr r0, [r2, 0x4] adds r0, r3, r0 ldrh r0, [r0, 0x4] strh r0, [r4] adds r4, 0x2 adds r3, 0x1C subs r6, 0x1 cmp r6, 0 bge _080DB956 movs r6, 0 _080DB978: movs r4, 0x3 cmp r4, r6 ble _080DB9A4 _080DB97E: subs r5, r4, 0x1 lsls r0, r5, 1 mov r1, sp adds r3, r1, r0 lsls r0, r4, 1 adds r2, r1, r0 ldrh r4, [r3] movs r7, 0 ldrsh r1, [r3, r7] movs r7, 0 ldrsh r0, [r2, r7] cmp r1, r0 bge _080DB99E ldrh r0, [r2] strh r4, [r2] strh r0, [r3] _080DB99E: adds r4, r5, 0 cmp r4, r6 bgt _080DB97E _080DB9A4: adds r6, 0x1 cmp r6, 0x2 ble _080DB978 movs r6, 0 movs r0, 0x4 negs r0, r0 mov r9, r0 ldr r1, =gContestResources mov r8, r1 movs r7, 0x3 mov r12, r7 _080DB9BA: movs r4, 0 lsls r0, r6, 3 adds r7, r6, 0x1 subs r0, r6 lsls r5, r0, 2 mov r3, sp _080DB9C6: mov r1, r8 ldr r0, [r1] ldr r0, [r0, 0x4] adds r2, r5, r0 movs r6, 0x4 ldrsh r1, [r2, r6] movs r6, 0 ldrsh r0, [r3, r6] cmp r1, r0 bne _080DB9F0 mov r0, r12 ands r4, r0 ldrb r1, [r2, 0xB] mov r0, r9 ands r0, r1 orrs r0, r4 strb r0, [r2, 0xB] b _080DB9F8 .pool _080DB9F0: adds r3, 0x2 adds r4, 0x1 cmp r4, 0x3 ble _080DB9C6 _080DB9F8: adds r6, r7, 0 cmp r6, 0x3 ble _080DB9BA movs r0, 0x1 bl sub_80DCE58 bl sub_80DD590 add sp, 0x8 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_80DB944 thumb_func_start sub_80DBA18 sub_80DBA18: @ 80DBA18 push {r4,r5,lr} ldr r4, =gContestResources movs r2, 0 movs r3, 0x3 _080DBA20: ldr r0, [r4] ldr r0, [r0, 0x4] adds r1, r2, r0 ldrh r0, [r1, 0x6] cmp r0, 0 bne _080DBA34 movs r1, 0x5 b _080DBA52 .pool _080DBA34: movs r5, 0x2 ldrsh r0, [r1, r5] movs r1, 0 cmp r0, 0 ble _080DBA52 movs r1, 0x1 cmp r0, 0x1D ble _080DBA52 movs r1, 0x2 cmp r0, 0x3B ble _080DBA52 movs r1, 0x4 cmp r0, 0x4F bgt _080DBA52 movs r1, 0x3 _080DBA52: ldr r0, [r4] ldr r0, [r0, 0x4] adds r0, r2, r0 strb r1, [r0, 0x1A] adds r2, 0x1C subs r3, 0x1 cmp r3, 0 bge _080DBA20 pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_80DBA18 thumb_func_start sub_80DBA68 sub_80DBA68: @ 80DBA68 push {lr} lsls r0, 24 lsrs r0, 24 ldr r1, =gContestResources ldr r1, [r1] ldr r2, [r1, 0x4] lsls r1, r0, 3 subs r1, r0 lsls r1, 2 adds r2, r1, r2 ldrb r1, [r2, 0xC] movs r0, 0x6 ands r0, r1 cmp r0, 0 bne _080DBA90 ldrb r1, [r2, 0xB] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080DBA98 _080DBA90: movs r0, 0 b _080DBA9A .pool _080DBA98: movs r0, 0x1 _080DBA9A: pop {r1} bx r1 thumb_func_end sub_80DBA68 thumb_func_start sub_80DBAA0 sub_80DBAA0: @ 80DBAA0 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} ldr r5, =gContestResources movs r0, 0 mov r8, r0 movs r1, 0x7 negs r1, r1 mov r10, r1 movs r0, 0x2 negs r0, r0 mov r9, r0 movs r4, 0 movs r6, 0x3 _080DBAC0: ldr r1, [r5] ldr r0, [r1, 0x4] adds r0, r4, r0 movs r2, 0 strh r2, [r0, 0x2] ldr r0, [r1, 0x4] adds r0, r4, r0 strh r2, [r0] ldr r0, [r1, 0x4] adds r0, r4, r0 mov r1, r8 strb r1, [r0, 0x12] ldr r0, [r5] ldr r0, [r0, 0x4] adds r3, r4, r0 ldrb r2, [r3, 0xC] movs r0, 0x6 ands r0, r2 cmp r0, 0 beq _080DBAFC lsls r0, r2, 29 lsrs r0, 30 subs r0, 0x1 movs r1, 0x3 ands r0, r1 lsls r0, 1 mov r1, r10 ands r1, r2 orrs r1, r0 strb r1, [r3, 0xC] _080DBAFC: ldr r0, [r5] ldr r0, [r0, 0x4] adds r0, r4, r0 mov r1, r8 strb r1, [r0, 0xE] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x10] mov r0, r9 ands r0, r2 strb r0, [r1, 0x10] ldr r0, [r5] ldr r0, [r0, 0x4] adds r0, r4, r0 mov r1, r8 strb r1, [r0, 0xF] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x10] movs r0, 0x3 negs r0, r0 ands r0, r2 strb r0, [r1, 0x10] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x10] movs r7, 0x5 negs r7, r7 adds r0, r7, 0 ands r0, r2 strb r0, [r1, 0x10] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x10] movs r0, 0x9 negs r0, r0 mov r12, r0 ands r0, r2 strb r0, [r1, 0x10] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0xC] mov r0, r9 ands r0, r2 strb r0, [r1, 0xC] ldr r0, [r5] ldr r0, [r0, 0x4] adds r0, r4, r0 movs r1, 0xFF strb r1, [r0, 0x13] ldr r0, [r5] ldr r0, [r0, 0x4] adds r0, r4, r0 movs r1, 0x1 negs r1, r1 strb r1, [r0, 0x14] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x10] movs r0, 0x31 negs r0, r0 ands r0, r2 strb r0, [r1, 0x10] ldr r0, [r5] ldr r2, [r0, 0x4] adds r2, r4, r2 ldrb r3, [r2, 0x15] lsls r1, r3, 31 lsrs r1, 31 lsls r1, 2 adds r0, r7, 0 ands r0, r3 orrs r0, r1 strb r0, [r2, 0x15] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x15] mov r0, r9 ands r0, r2 strb r0, [r1, 0x15] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x11] movs r0, 0x4 negs r0, r0 ands r0, r2 strb r0, [r1, 0x11] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x11] movs r0, 0x21 negs r0, r0 ands r0, r2 strb r0, [r1, 0x11] ldr r0, [r5] ldr r0, [r0, 0x4] adds r2, r4, r0 ldrb r1, [r2, 0x11] movs r0, 0x4 ands r0, r1 cmp r0, 0 beq _080DBBF4 ldrb r1, [r2, 0xC] mov r0, r10 ands r0, r1 movs r1, 0x2 orrs r0, r1 strb r0, [r2, 0xC] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x11] adds r0, r7, 0 ands r0, r2 strb r0, [r1, 0x11] _080DBBF4: ldr r0, [r5] ldr r0, [r0, 0x4] adds r2, r4, r0 ldrb r1, [r2, 0x11] movs r0, 0x8 ands r0, r1 cmp r0, 0 beq _080DBC1A ldrb r0, [r2, 0xB] movs r1, 0x80 orrs r0, r1 strb r0, [r2, 0xB] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x11] mov r0, r12 ands r0, r2 strb r0, [r1, 0x11] _080DBC1A: ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x11] movs r0, 0x11 negs r0, r0 ands r0, r2 strb r0, [r1, 0x11] adds r4, 0x1C subs r6, 0x1 cmp r6, 0 blt _080DBC34 b _080DBAC0 _080DBC34: movs r6, 0 ldr r5, =gContestResources movs r7, 0 movs r4, 0 _080DBC3C: ldr r3, [r5] ldr r0, [r3, 0x4] adds r0, r4, r0 ldrh r1, [r0, 0x6] strh r1, [r0, 0x8] ldr r2, [r3] lsls r1, r6, 1 ldrb r0, [r2, 0x1] lsls r0, 3 adds r1, r0 adds r2, 0x1C adds r2, r1 ldr r0, [r3, 0x4] adds r0, r4, r0 ldrh r0, [r0, 0x6] strh r0, [r2] ldr r0, [r3, 0x4] adds r0, r4, r0 ldrh r0, [r0, 0x6] bl Contest_GetMoveExcitement ldr r1, [r5] ldr r2, [r1] ldrb r1, [r2, 0x1] lsls r1, 2 adds r1, r6, r1 adds r2, 0x44 adds r2, r1 strb r0, [r2] ldr r0, [r5] ldr r0, [r0, 0x4] adds r0, r4, r0 strh r7, [r0, 0x6] adds r4, 0x1C adds r6, 0x1 cmp r6, 0x3 ble _080DBC3C ldr r0, =gContestResources ldr r0, [r0] ldr r2, [r0, 0x10] ldrb r1, [r2, 0x1] movs r0, 0x2 negs r0, r0 ands r0, r1 strb r0, [r2, 0x1] pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DBAA0 thumb_func_start Contest_IsMonsTurnDisabled Contest_IsMonsTurnDisabled: @ 80DBCA8 push {lr} lsls r0, 24 lsrs r0, 24 ldr r1, =gContestResources ldr r1, [r1] ldr r2, [r1, 0x4] lsls r1, r0, 3 subs r1, r0 lsls r1, 2 adds r2, r1, r2 ldrb r1, [r2, 0xC] movs r0, 0x6 ands r0, r1 cmp r0, 0 bne _080DBCD0 ldrb r1, [r2, 0xB] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080DBCD8 _080DBCD0: movs r0, 0x1 b _080DBCDA .pool _080DBCD8: movs r0, 0 _080DBCDA: pop {r1} bx r1 thumb_func_end Contest_IsMonsTurnDisabled thumb_func_start sub_80DBCE0 sub_80DBCE0: @ 80DBCE0 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 bl sub_80DBD34 ldr r1, =gUnknown_02039F18 lsls r4, 1 adds r1, r4, r1 strh r0, [r1] ldr r2, =gUnknown_02039F08 adds r2, r4, r2 ldr r1, =gContestMonConditions adds r4, r1 ldrh r4, [r4] adds r0, r4 strh r0, [r2] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80DBCE0 thumb_func_start sub_80DBD18 sub_80DBD18: @ 80DBD18 push {r4,lr} movs r4, 0 _080DBD1C: lsls r0, r4, 24 lsrs r0, 24 bl sub_80DBCE0 adds r4, 0x1 cmp r4, 0x3 ble _080DBD1C bl sub_80DBD4C pop {r4} pop {r0} bx r0 thumb_func_end sub_80DBD18 thumb_func_start sub_80DBD34 sub_80DBD34: @ 80DBD34 lsls r0, 24 ldr r1, =gUnknown_02039F10 lsrs r0, 23 adds r0, r1 movs r1, 0 ldrsh r0, [r0, r1] lsls r0, 17 asrs r0, 16 bx lr .pool thumb_func_end sub_80DBD34 thumb_func_start sub_80DBD4C sub_80DBD4C: @ 80DBD4C push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x70 mov r0, sp movs r1, 0 movs r2, 0x8 bl memset movs r0, 0 mov r9, r0 mov r1, sp adds r1, 0x8 str r1, [sp, 0x64] mov r3, sp adds r3, 0xC str r3, [sp, 0x68] mov r6, sp adds r6, 0x14 str r6, [sp, 0x6C] mov r4, sp _080DBD7A: bl Random strh r0, [r4] movs r2, 0 cmp r2, r9 bge _080DBDB8 mov r1, sp lsls r0, 16 lsrs r0, 16 ldrh r1, [r1] cmp r0, r1 bne _080DBD9C subs r4, 0x2 movs r7, 0x1 negs r7, r7 add r9, r7 b _080DBDB8 _080DBD9C: adds r2, 0x1 cmp r2, r9 bge _080DBDB8 lsls r0, r2, 1 mov r3, sp adds r1, r3, r0 ldrh r0, [r4] ldrh r1, [r1] cmp r0, r1 bne _080DBD9C subs r4, 0x2 movs r6, 0x1 negs r6, r6 add r9, r6 _080DBDB8: adds r4, 0x2 movs r7, 0x1 add r9, r7 mov r0, r9 cmp r0, 0x3 ble _080DBD7A movs r1, 0 mov r9, r1 mov r4, sp ldr r6, =gUnknown_02039F08 ldr r2, [sp, 0x64] ldr r5, =gContestMonConditions ldr r3, [sp, 0x68] _080DBDD2: mov r7, r9 lsls r1, r7, 4 movs r7, 0 ldrsh r0, [r6, r7] str r0, [r2] movs r7, 0 ldrsh r0, [r5, r7] str r0, [r3] ldrh r0, [r4] str r0, [r2, 0x8] ldr r0, [sp, 0x6C] adds r1, r0, r1 mov r7, r9 str r7, [r1] adds r4, 0x2 adds r6, 0x2 adds r2, 0x10 adds r5, 0x2 adds r3, 0x10 movs r0, 0x1 add r9, r0 mov r1, r9 cmp r1, 0x3 ble _080DBDD2 movs r3, 0 mov r9, r3 _080DBE06: movs r4, 0x3 cmp r4, r9 ble _080DBE90 add r7, sp, 0x48 ldr r6, [sp, 0x68] str r6, [sp, 0x58] ldr r0, [sp, 0x64] adds r0, 0x8 str r0, [sp, 0x5C] ldr r1, [sp, 0x6C] str r1, [sp, 0x60] _080DBE1C: subs r3, r4, 0x1 mov r10, r3 mov r0, r10 adds r1, r4, 0 ldr r2, [sp, 0x64] bl sub_80DBF30 lsls r0, 24 cmp r0, 0 beq _080DBE8A mov r6, r10 lsls r2, r6, 4 ldr r0, [sp, 0x64] adds r3, r0, r2 ldr r0, [r3] str r0, [sp, 0x48] ldr r1, [sp, 0x58] adds r6, r1, r2 ldr r0, [r6] str r0, [r7, 0x4] ldr r0, [sp, 0x5C] adds r0, r2 mov r8, r0 ldr r0, [r0] str r0, [r7, 0x8] ldr r1, [sp, 0x60] adds r2, r1, r2 ldr r0, [r2] str r0, [r7, 0xC] lsls r1, r4, 4 ldr r0, [sp, 0x64] adds r5, r0, r1 ldr r0, [r5] str r0, [r3] ldr r3, [sp, 0x58] adds r4, r3, r1 ldr r0, [r4] str r0, [r6] ldr r6, [sp, 0x5C] adds r3, r6, r1 ldr r0, [r3] mov r6, r8 str r0, [r6] ldr r0, [sp, 0x60] adds r1, r0, r1 ldr r0, [r1] str r0, [r2] ldr r0, [sp, 0x48] str r0, [r5] ldr r0, [r7, 0x4] str r0, [r4] ldr r0, [r7, 0x8] str r0, [r3] ldr r0, [r7, 0xC] str r0, [r1] _080DBE8A: mov r4, r10 cmp r4, r9 bgt _080DBE1C _080DBE90: movs r1, 0x1 add r9, r1 mov r3, r9 cmp r3, 0x2 ble _080DBE06 movs r6, 0 mov r9, r6 ldr r2, =gContestFinalStandings ldr r1, [sp, 0x6C] _080DBEA2: ldr r0, [r1] adds r0, r2 mov r7, r9 strb r7, [r0] adds r1, 0x10 movs r0, 0x1 add r9, r0 mov r3, r9 cmp r3, 0x3 ble _080DBEA2 add sp, 0x70 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DBD4C thumb_func_start sub_80DBED4 sub_80DBED4: @ 80DBED4 push {lr} ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _080DBF0E ldr r0, =gSaveBlock2Ptr ldr r2, [r0] ldr r1, =gContestFinalStandings ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] lsls r1, 1 ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] lsls r0, 3 adds r1, r0 ldr r0, =0x00000624 adds r2, r0 adds r2, r1 ldrh r0, [r2] adds r0, 0x1 ldr r1, =0x0000270f cmp r0, r1 ble _080DBF0C adds r0, r1, 0 _080DBF0C: strh r0, [r2] _080DBF0E: pop {r0} bx r0 .pool thumb_func_end sub_80DBED4 thumb_func_start sub_80DBF30 sub_80DBF30: @ 80DBF30 push {lr} lsls r0, 4 adds r0, r2 lsls r1, 4 adds r3, r1, r2 ldr r2, [r0] ldr r1, [r3] cmp r2, r1 blt _080DBF60 cmp r2, r1 bgt _080DBF52 ldr r2, [r0, 0x4] ldr r1, [r3, 0x4] cmp r2, r1 blt _080DBF60 cmp r2, r1 ble _080DBF56 _080DBF52: movs r2, 0 b _080DBF62 _080DBF56: ldr r1, [r0, 0x8] ldr r0, [r3, 0x8] movs r2, 0 cmp r1, r0 bge _080DBF62 _080DBF60: movs r2, 0x1 _080DBF62: adds r0, r2, 0 pop {r1} bx r1 thumb_func_end sub_80DBF30 thumb_func_start sub_80DBF68 sub_80DBF68: @ 80DBF68 push {lr} ldr r0, =gBattle_BG0_Y movs r1, 0 strh r1, [r0] ldr r0, =gBattle_BG2_Y strh r1, [r0] bl sub_80DB89C ldr r0, =gUnknown_0827E8DA movs r1, 0 bl Contest_StartTextPrinter pop {r0} bx r0 .pool thumb_func_end sub_80DBF68 thumb_func_start sub_80DBF90 sub_80DBF90: @ 80DBF90 push {r4,r5,lr} sub sp, 0xC movs r5, 0x80 lsls r5, 18 movs r4, 0x3 _080DBF9A: lsrs r3, r5, 24 movs r0, 0x8 str r0, [sp] movs r0, 0x2 str r0, [sp, 0x4] movs r0, 0x11 str r0, [sp, 0x8] movs r0, 0 movs r1, 0 movs r2, 0x16 bl ContestBG_FillBoxWithTile movs r0, 0xA0 lsls r0, 19 adds r5, r0 subs r4, 0x1 cmp r4, 0 bge _080DBF9A add sp, 0xC pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_80DBF90 thumb_func_start sub_80DBFC8 sub_80DBFC8: @ 80DBFC8 push {lr} lsls r0, 24 lsrs r0, 24 ldr r1, =0x00005011 cmp r0, 0 beq _080DBFE2 ldr r1, =0x00006011 cmp r0, 0x1 beq _080DBFE2 ldr r1, =0x00008011 cmp r0, 0x2 bne _080DBFE2 ldr r1, =0x00007011 _080DBFE2: adds r0, r1, 0x1 lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 .pool thumb_func_end sub_80DBFC8 thumb_func_start sub_80DBFFC sub_80DBFFC: @ 80DBFFC push {lr} lsls r0, 16 asrs r0, 16 movs r1, 0xA bl __divsi3 lsls r0, 24 lsrs r1, r0, 24 asrs r2, r0, 24 cmp r2, 0x10 ble _080DC016 movs r1, 0x10 b _080DC020 _080DC016: movs r0, 0x10 negs r0, r0 cmp r2, r0 bge _080DC020 movs r1, 0xF0 _080DC020: lsls r0, r1, 24 asrs r0, 24 pop {r1} bx r1 thumb_func_end sub_80DBFFC thumb_func_start sub_80DC028 sub_80DC028: @ 80DC028 push {r4-r7,lr} mov r7, r8 push {r7} adds r5, r0, 0 adds r6, r1, 0 lsls r5, 16 lsrs r5, 16 lsls r6, 16 lsrs r6, 16 lsls r2, 24 lsrs r2, 24 mov r8, r2 ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0, 0x14] lsls r1, r2, 2 adds r1, r0 ldrb r0, [r1, 0x2] movs r2, 0x4 orrs r0, r2 strb r0, [r1, 0x2] ldr r0, =sub_80DC0F4 movs r1, 0x14 bl CreateTask lsls r0, 24 lsrs r7, r0, 24 lsls r5, 16 asrs r5, 16 adds r0, r5, 0 bl sub_80DBFFC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 lsls r6, 16 asrs r6, 16 adds r5, r6 lsls r5, 16 asrs r5, 16 adds r0, r5, 0 bl sub_80DBFFC lsls r4, 24 asrs r4, 24 subs r0, r4 lsls r0, 24 lsrs r5, r0, 24 mov r0, r8 bl sub_80DBFC8 ldr r2, =gTasks lsls r3, r7, 2 adds r0, r3, r7 lsls r0, 3 adds r1, r0, r2 adds r0, r4, 0 cmp r4, 0 bge _080DC0A0 negs r0, r4 _080DC0A0: strh r0, [r1, 0x8] lsls r0, r5, 24 asrs r0, 24 strh r0, [r1, 0xA] cmp r4, 0 bgt _080DC0B4 cmp r4, 0 bne _080DC0C8 cmp r0, 0 ble _080DC0C8 _080DC0B4: movs r0, 0x1 strh r0, [r1, 0xC] b _080DC0D6 .pool _080DC0C8: ldr r2, =gTasks lsls r3, r7, 2 adds r0, r3, r7 lsls r0, 3 adds r0, r2 ldr r1, =0x0000ffff strh r1, [r0, 0xC] _080DC0D6: adds r0, r3, r7 lsls r0, 3 adds r0, r2 mov r1, r8 strh r1, [r0, 0xE] adds r0, r7, 0 pop {r3} mov r8, r3 pop {r4-r7} pop {r1} bx r1 .pool thumb_func_end sub_80DC028 thumb_func_start sub_80DC0F4 sub_80DC0F4: @ 80DC0F4 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x10 lsls r0, 24 lsrs r7, r0, 24 ldr r1, =gTasks lsls r0, r7, 2 adds r0, r7 lsls r0, 3 adds r4, r0, r1 ldrb r0, [r4, 0xE] mov r9, r0 ldrh r3, [r4, 0x8] ldrh r1, [r4, 0xA] ldrh r0, [r4, 0x1C] adds r0, 0x1 strh r0, [r4, 0x1C] lsls r0, 16 asrs r0, 16 cmp r0, 0xE bgt _080DC126 b _080DC2A8 _080DC126: movs r0, 0 strh r0, [r4, 0x1C] ldrh r2, [r4, 0xA] movs r5, 0xA ldrsh r0, [r4, r5] cmp r0, 0 bne _080DC15C adds r0, r7, 0 bl DestroyTask ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0, 0x14] mov r2, r9 lsls r1, r2, 2 adds r1, r0 ldrb r2, [r1, 0x2] movs r0, 0x5 negs r0, r0 ands r0, r2 strb r0, [r1, 0x2] b _080DC2A8 .pool _080DC15C: cmp r3, 0 bne _080DC1A4 lsls r0, r1, 16 mov r8, r0 cmp r0, 0 bge _080DC17A mov r0, r9 bl sub_80DBFC8 adds r0, 0x2 lsls r0, 16 lsrs r6, r0, 16 ldrh r0, [r4, 0xA] adds r0, 0x1 b _080DC188 _080DC17A: mov r0, r9 bl sub_80DBFC8 lsls r0, 16 lsrs r6, r0, 16 ldrh r0, [r4, 0xA] subs r0, 0x1 _080DC188: strh r0, [r4, 0xA] ldr r1, =gTasks lsls r0, r7, 2 adds r0, r7 lsls r0, 3 adds r0, r1 ldrh r1, [r0, 0x8] adds r2, r1, 0x1 strh r2, [r0, 0x8] lsls r1, 24 lsrs r5, r1, 24 b _080DC210 .pool _080DC1A4: movs r3, 0xC ldrsh r0, [r4, r3] cmp r0, 0 bge _080DC1DE lsls r0, r1, 16 mov r8, r0 cmp r0, 0 bge _080DC1CC ldrh r0, [r4, 0x8] adds r1, r0, 0x1 strh r1, [r4, 0x8] lsls r0, 24 lsrs r5, r0, 24 adds r0, r2, 0x1 strh r0, [r4, 0xA] mov r0, r9 bl sub_80DBFC8 adds r0, 0x2 b _080DC20C _080DC1CC: ldrh r0, [r4, 0x8] subs r0, 0x1 strh r0, [r4, 0x8] lsls r0, 24 lsrs r5, r0, 24 movs r6, 0 subs r0, r2, 0x1 strh r0, [r4, 0xA] b _080DC210 _080DC1DE: lsls r0, r1, 16 mov r8, r0 cmp r0, 0 bge _080DC1F8 ldrh r0, [r4, 0x8] subs r0, 0x1 strh r0, [r4, 0x8] lsls r0, 24 lsrs r5, r0, 24 movs r6, 0 adds r0, r2, 0x1 strh r0, [r4, 0xA] b _080DC210 _080DC1F8: ldrh r0, [r4, 0x8] adds r1, r0, 0x1 strh r1, [r4, 0x8] lsls r0, 24 lsrs r5, r0, 24 subs r0, r2, 0x1 strh r0, [r4, 0xA] mov r0, r9 bl sub_80DBFC8 _080DC20C: lsls r0, 16 lsrs r6, r0, 16 _080DC210: str r5, [sp, 0xC] movs r0, 0 mov r10, r0 cmp r5, 0x7 bls _080DC226 movs r2, 0x1 mov r10, r2 adds r0, r5, 0 subs r0, 0x8 lsls r0, 24 lsrs r5, r0, 24 _080DC226: adds r2, r5, 0 adds r2, 0x16 lsls r2, 24 lsrs r2, 24 ldr r0, =gUnknown_02039F26 add r0, r9 ldrb r0, [r0] lsls r3, r0, 2 adds r3, r0 adds r3, 0x2 add r3, r10 lsls r3, 24 lsrs r3, 24 movs r0, 0x1 str r0, [sp] str r0, [sp, 0x4] movs r0, 0x11 str r0, [sp, 0x8] movs r0, 0 adds r1, r6, 0 bl ContestBG_FillBoxWithTile mov r3, r8 cmp r3, 0 ble _080DC284 movs r0, 0x60 bl PlaySE ldr r4, =gMPlayInfo_SE1 adds r0, r4, 0 bl m4aMPlayImmInit ldr r1, =0x0000ffff ldr r0, [sp, 0xC] lsls r2, r0, 24 asrs r2, 16 adds r0, r4, 0 bl m4aMPlayPitchControl b _080DC28A .pool _080DC284: movs r0, 0x16 bl PlaySE _080DC28A: mov r2, r10 cmp r2, 0 bne _080DC2A8 cmp r5, 0 bne _080DC2A8 cmp r6, 0 bne _080DC2A8 ldr r0, =gTasks lsls r1, r7, 2 adds r1, r7 lsls r1, 3 adds r1, r0 ldrh r0, [r1, 0xC] negs r0, r0 strh r0, [r1, 0xC] _080DC2A8: add sp, 0x10 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DC0F4 thumb_func_start sub_80DC2BC sub_80DC2BC: @ 80DC2BC push {r4,r5,lr} ldr r0, =gUnknown_08587A74 bl LoadSpriteSheet movs r4, 0 ldr r5, =gUnknown_08587A6C _080DC2C8: ldr r0, =gUnknown_02039F26 adds r0, r4, r0 ldrb r0, [r0] adds r0, r5 ldrb r2, [r0] ldr r0, =gSpriteTemplate_8587AD0 movs r1, 0xB4 movs r3, 0x1 bl CreateSprite ldr r1, =gContestResources ldr r1, [r1] ldr r2, [r1, 0x14] lsls r1, r4, 2 adds r1, r2 strb r0, [r1] adds r4, 0x1 cmp r4, 0x3 ble _080DC2C8 pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80DC2BC thumb_func_start sub_80DC308 sub_80DC308: @ 80DC308 push {r4-r7,lr} lsls r0, 24 lsrs r6, r0, 24 ldr r4, =gContestResources ldr r0, [r4] ldr r2, [r0, 0x14] lsls r3, r6, 2 adds r2, r3, r2 ldrb r0, [r2, 0x2] movs r1, 0x1 orrs r0, r1 strb r0, [r2, 0x2] ldr r1, [r4] ldr r0, [r1, 0x14] adds r3, r0 ldrb r7, [r3] ldr r1, [r1, 0x4] lsls r0, r6, 3 subs r0, r6 lsls r0, 2 adds r0, r1 movs r1, 0x4 ldrsh r0, [r0, r1] movs r1, 0xA bl __divsi3 lsls r0, 17 lsrs r5, r0, 16 asrs r0, 16 cmp r0, 0x38 ble _080DC350 movs r5, 0x38 b _080DC356 .pool _080DC350: cmp r0, 0 bge _080DC356 movs r5, 0 _080DC356: ldr r2, =gSprites lsls r3, r7, 4 adds r0, r3, r7 lsls r0, 2 adds r4, r0, r2 movs r0, 0x3E adds r0, r4 mov r12, r0 ldrb r1, [r0] movs r0, 0x5 negs r0, r0 ands r0, r1 mov r1, r12 strb r0, [r1] strh r6, [r4, 0x2E] strh r5, [r4, 0x30] lsls r0, r5, 16 asrs r0, 16 movs r5, 0x24 ldrsh r1, [r4, r5] cmp r0, r1 ble _080DC38C movs r0, 0x1 b _080DC38E .pool _080DC38C: ldr r0, =0x0000ffff _080DC38E: strh r0, [r4, 0x32] adds r0, r3, r7 lsls r0, 2 adds r1, r2, 0 adds r1, 0x1C adds r0, r1 ldr r1, =sub_80DC408 str r1, [r0] pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DC308 thumb_func_start sub_80DC3AC sub_80DC3AC: @ 80DC3AC push {r4,lr} movs r4, 0 _080DC3B0: lsls r0, r4, 24 lsrs r0, 24 bl sub_80DC308 adds r4, 0x1 cmp r4, 0x3 ble _080DC3B0 pop {r4} pop {r0} bx r0 thumb_func_end sub_80DC3AC thumb_func_start sub_80DC3C4 sub_80DC3C4: @ 80DC3C4 push {r4,lr} movs r2, 0 ldr r3, =gContestResources ldr r0, [r3] ldr r0, [r0, 0x14] ldrb r1, [r0, 0x2] movs r0, 0x1 ands r0, r1 cmp r0, 0 bne _080DC3F2 movs r4, 0x1 _080DC3DA: adds r2, 0x1 cmp r2, 0x3 bgt _080DC3F2 ldr r0, [r3] ldr r1, [r0, 0x14] lsls r0, r2, 2 adds r0, r1 ldrb r1, [r0, 0x2] adds r0, r4, 0 ands r0, r1 cmp r0, 0 beq _080DC3DA _080DC3F2: cmp r2, 0x4 beq _080DC400 movs r0, 0 b _080DC402 .pool _080DC400: movs r0, 0x1 _080DC402: pop {r4} pop {r1} bx r1 thumb_func_end sub_80DC3C4 thumb_func_start sub_80DC408 sub_80DC408: @ 80DC408 push {r4,lr} adds r3, r0, 0 ldrh r2, [r3, 0x24] movs r0, 0x24 ldrsh r1, [r3, r0] movs r4, 0x30 ldrsh r0, [r3, r4] cmp r1, r0 bne _080DC440 ldr r0, =gContestResources ldr r0, [r0] movs r2, 0x2E ldrsh r1, [r3, r2] ldr r0, [r0, 0x14] lsls r1, 2 adds r1, r0 ldrb r2, [r1, 0x2] movs r0, 0x2 negs r0, r0 ands r0, r2 strb r0, [r1, 0x2] ldr r0, =SpriteCallbackDummy str r0, [r3, 0x1C] b _080DC446 .pool _080DC440: ldrh r0, [r3, 0x32] adds r0, r2, r0 strh r0, [r3, 0x24] _080DC446: pop {r4} pop {r0} bx r0 thumb_func_end sub_80DC408 thumb_func_start sub_80DC44C sub_80DC44C: @ 80DC44C push {r4-r6,lr} movs r2, 0 ldr r6, =gSprites ldr r5, =gContestResources ldr r4, =gUnknown_08587A6C ldr r3, =gUnknown_02039F26 _080DC458: ldr r0, [r5] ldr r1, [r0, 0x14] lsls r0, r2, 2 adds r0, r1 ldrb r0, [r0] lsls r1, r0, 4 adds r1, r0 lsls r1, 2 adds r1, r6 adds r0, r2, r3 ldrb r0, [r0] adds r0, r4 ldrb r0, [r0] strh r0, [r1, 0x22] adds r2, 0x1 cmp r2, 0x3 ble _080DC458 pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_80DC44C thumb_func_start sub_80DC490 sub_80DC490: @ 80DC490 push {r4-r7,lr} lsls r0, 24 lsrs r6, r0, 24 movs r3, 0 ldr r7, =gUnknown_02039F26 ldr r5, =gSprites ldr r4, =gContestResources movs r2, 0 _080DC4A0: adds r0, r3, r7 ldrb r0, [r0] cmp r0, 0x1 bls _080DC4E2 cmp r6, 0 bne _080DC4CC ldr r0, [r4] ldr r0, [r0, 0x14] adds r0, r2, r0 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 movs r1, 0xB4 b _080DC4E0 .pool _080DC4CC: ldr r0, [r4] ldr r0, [r0, 0x14] adds r0, r2, r0 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 movs r1, 0x80 lsls r1, 1 _080DC4E0: strh r1, [r0, 0x20] _080DC4E2: adds r2, 0x4 adds r3, 0x1 cmp r3, 0x3 ble _080DC4A0 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_80DC490 thumb_func_start sub_80DC4F0 sub_80DC4F0: @ 80DC4F0 push {r4-r7,lr} mov r7, r8 push {r7} ldr r0, =gUnknown_08587B08 bl LoadSpritePalette movs r5, 0 ldr r7, =gContestResources ldr r0, =gSprites mov r8, r0 movs r6, 0 _080DC506: lsls r0, r5, 3 ldr r1, =gUnknown_08587AE8 adds r0, r1 bl LoadCompressedObjectPic ldr r0, =gSpriteTemplate_8587B18 adds r0, r6, r0 ldr r2, =gUnknown_08587A70 ldr r1, =gUnknown_02039F26 adds r1, r5, r1 ldrb r1, [r1] adds r1, r2 ldrb r2, [r1] movs r1, 0xCC movs r3, 0 bl CreateSprite ldr r1, [r7] ldr r1, [r1, 0x14] lsls r4, r5, 2 adds r1, r4, r1 strb r0, [r1, 0x1] ldr r0, [r7] ldr r0, [r0, 0x14] adds r0, r4, r0 ldrb r1, [r0, 0x1] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 add r0, r8 ldr r1, =gSubspriteTables_8587B80 bl SetSubspriteTables ldr r0, [r7] ldr r0, [r0, 0x14] adds r4, r0 ldrb r1, [r4, 0x1] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 add r0, r8 adds r0, 0x3E ldrb r1, [r0] movs r2, 0x4 orrs r1, r2 strb r1, [r0] adds r6, 0x18 adds r5, 0x1 cmp r5, 0x3 ble _080DC506 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DC4F0 thumb_func_start sub_80DC594 sub_80DC594: @ 80DC594 push {lr} ldr r0, =gUnknown_08587BB0 bl LoadCompressedObjectPic ldr r0, =gUnknown_08587BB8 bl LoadSpritePalette ldr r0, =gSpriteTemplate_8587BC8 movs r1, 0x1E movs r2, 0x2C movs r3, 0x1 bl CreateSprite lsls r0, 24 lsrs r0, 24 ldr r2, =gSprites lsls r1, r0, 4 adds r1, r0 lsls r1, 2 adds r1, r2 adds r1, 0x3E ldrb r2, [r1] movs r3, 0x4 orrs r2, r3 strb r2, [r1] ldr r1, =gContestResources ldr r1, [r1] ldr r1, [r1] adds r1, 0x58 strb r0, [r1] pop {r0} bx r0 .pool thumb_func_end sub_80DC594 thumb_func_start sub_80DC5E8 sub_80DC5E8: @ 80DC5E8 push {r4,lr} ldr r0, =sub_80DC728 movs r1, 0x1E bl CreateTask lsls r0, 24 lsrs r0, 24 ldr r1, =gContestResources ldr r1, [r1] ldr r1, [r1] strb r0, [r1, 0xD] movs r2, 0 lsls r1, r0, 2 adds r1, r0 lsls r1, 3 ldr r4, =gTasks + 0x8 movs r3, 0xFF _080DC60A: lsls r0, r2, 3 adds r0, r1 adds r0, r4 strh r3, [r0] adds r0, r2, 0x1 lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x3 bls _080DC60A pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80DC5E8 thumb_func_start sub_80DC630 sub_80DC630: @ 80DC630 push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 ldr r3, =gTasks ldr r1, =gContestResources ldr r5, [r1] ldr r1, [r5] ldrb r2, [r1, 0xD] lsls r1, r2, 2 adds r1, r2 adds r1, r0 lsls r1, 3 adds r3, 0x8 adds r1, r3 movs r4, 0 strh r4, [r1] lsls r0, 2 adds r0, 0x1 lsls r0, 1 ldr r1, [r5] ldrb r2, [r1, 0xD] lsls r1, r2, 2 adds r1, r2 lsls r1, 3 adds r0, r1 adds r0, r3 strh r4, [r0] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80DC630 thumb_func_start sub_80DC674 sub_80DC674: @ 80DC674 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, =sub_80DC6A4 movs r1, 0x1F bl CreateTask lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r1, r2 strh r4, [r1, 0x8] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80DC674 thumb_func_start sub_80DC6A4 sub_80DC6A4: @ 80DC6A4 push {r4-r7,lr} lsls r0, 24 lsrs r0, 24 adds r6, r0, 0 ldr r2, =gTasks lsls r0, r6, 2 adds r0, r6 lsls r0, 3 adds r0, r2 ldrb r0, [r0, 0x8] adds r5, r0, 0 ldr r0, =gContestResources ldr r4, [r0] ldr r0, [r4] ldrb r1, [r0, 0xD] lsls r0, r1, 2 adds r0, r1 adds r0, r5 lsls r0, 3 adds r7, r2, 0 adds r7, 0x8 adds r1, r0, r7 movs r2, 0 ldrsh r0, [r1, r2] cmp r0, 0 beq _080DC6DC cmp r0, 0xFF bne _080DC716 _080DC6DC: movs r3, 0 movs r0, 0xFF strh r0, [r1] lsls r1, r5, 2 adds r1, 0x1 lsls r1, 1 ldr r0, [r4] ldrb r2, [r0, 0xD] lsls r0, r2, 2 adds r0, r2 lsls r0, 3 adds r1, r0 adds r1, r7 strh r3, [r1] ldr r0, [r4] adds r0, 0x14 adds r0, r5 ldrb r0, [r0] adds r0, 0x5 lsls r0, 4 adds r0, 0x6 ldr r3, =0x00004bff movs r1, 0x2 movs r2, 0 bl BlendPalette adds r0, r6, 0 bl DestroyTask _080DC716: pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DC6A4 thumb_func_start sub_80DC728 sub_80DC728: @ 80DC728 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} lsls r0, 24 lsrs r0, 24 movs r6, 0 lsls r1, r0, 2 adds r1, r0 mov r9, r1 lsls r7, r1, 3 ldr r0, =gTasks + 0x8 mov r8, r0 movs r1, 0x8 negs r1, r1 add r1, r8 mov r10, r1 _080DC74C: lsls r0, r6, 26 lsrs r3, r0, 24 lsls r0, r3, 1 adds r0, r7 mov r4, r8 adds r2, r0, r4 ldrh r4, [r2] movs r5, 0 ldrsh r0, [r2, r5] cmp r0, 0xFF beq _080DC7CA adds r0, r3, 0x1 lsls r1, r0, 1 adds r1, r7 add r1, r8 movs r5, 0 ldrsh r1, [r1, r5] adds r5, r0, 0 cmp r1, 0 bne _080DC77C adds r0, r4, 0x1 b _080DC77E .pool _080DC77C: subs r0, r4, 0x1 _080DC77E: strh r0, [r2] lsls r1, r3, 1 mov r0, r9 lsls r2, r0, 3 adds r0, r1, r2 mov r3, r10 adds r3, 0x8 adds r0, r3 movs r4, 0 ldrsh r0, [r0, r4] adds r4, r1, 0 cmp r0, 0x10 beq _080DC79C cmp r0, 0 bne _080DC7AA _080DC79C: lsls r0, r5, 1 adds r0, r2 adds r0, r3 ldrh r1, [r0] movs r2, 0x1 eors r1, r2 strh r1, [r0] _080DC7AA: ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0] adds r0, 0x14 adds r0, r6 ldrb r0, [r0] adds r0, 0x5 lsls r0, 4 adds r0, 0x6 adds r1, r4, r7 add r1, r8 ldrb r2, [r1] movs r1, 0x2 ldr r3, =0x00004bff bl BlendPalette _080DC7CA: adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0x3 bls _080DC74C pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DC728 thumb_func_start sub_80DC7EC sub_80DC7EC: @ 80DC7EC push {r4,lr} ldr r0, =sub_80DC8D0 movs r1, 0x1E bl CreateTask ldr r1, =gContestResources ldr r1, [r1] ldr r1, [r1] strb r0, [r1, 0xE] movs r4, 0 _080DC800: lsls r0, r4, 24 lsrs r0, 24 bl sub_80DC81C adds r4, 0x1 cmp r4, 0x3 ble _080DC800 pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80DC7EC thumb_func_start sub_80DC81C sub_80DC81C: @ 80DC81C push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 ldr r3, =gTasks ldr r1, =gContestResources ldr r4, [r1] ldr r1, [r4] ldrb r2, [r1, 0xE] lsls r1, r2, 2 adds r1, r2 adds r1, r0 lsls r1, 3 adds r3, 0x8 adds r1, r3 movs r5, 0 movs r2, 0xFF strh r2, [r1] lsls r0, 2 adds r0, 0x1 lsls r0, 1 ldr r1, [r4] ldrb r2, [r1, 0xE] lsls r1, r2, 2 adds r1, r2 lsls r1, 3 adds r0, r1 adds r0, r3 strh r5, [r0] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80DC81C thumb_func_start sub_80DC864 sub_80DC864: @ 80DC864 push {r4,lr} movs r4, 0 _080DC868: lsls r0, r4, 24 lsrs r0, 24 bl sub_80DC87C adds r4, 0x1 cmp r4, 0x3 ble _080DC868 pop {r4} pop {r0} bx r0 thumb_func_end sub_80DC864 thumb_func_start sub_80DC87C sub_80DC87C: @ 80DC87C push {r4-r6,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 bl sub_80DC81C adds r0, r4, 0x5 lsls r2, r0, 5 ldr r3, =gPlttBufferUnfaded + 0x14 adds r6, r2, r3 ldr r5, =gPlttBufferFaded + 0x14 adds r2, r5 ldr r1, =0x040000d4 str r6, [r1] str r2, [r1, 0x4] ldr r2, =0x80000001 str r2, [r1, 0x8] ldr r6, [r1, 0x8] lsls r0, 4 adds r4, 0xC adds r0, r4 lsls r0, 1 subs r3, 0x14 adds r3, r0, r3 subs r5, 0x14 adds r0, r5 str r3, [r1] str r0, [r1, 0x4] str r2, [r1, 0x8] ldr r0, [r1, 0x8] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_80DC87C thumb_func_start sub_80DC8D0 sub_80DC8D0: @ 80DC8D0 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} lsls r0, 24 lsrs r0, 24 movs r7, 0 lsls r1, r0, 2 adds r1, r0 mov r9, r1 lsls r6, r1, 3 ldr r0, =gTasks + 0x8 mov r8, r0 ldr r1, =0x00004bff mov r10, r1 _080DC8F0: lsls r0, r7, 26 lsrs r3, r0, 24 lsls r0, r3, 1 adds r0, r6 mov r4, r8 adds r2, r0, r4 movs r5, 0 ldrsh r0, [r2, r5] cmp r0, 0xFF beq _080DC996 adds r0, r3, 0x2 lsls r0, 1 adds r0, r6 adds r1, r0, r4 ldrh r0, [r1] adds r0, 0x1 movs r4, 0 strh r0, [r1] lsls r0, 16 asrs r0, 16 cmp r0, 0x2 ble _080DC996 strh r4, [r1] adds r0, r3, 0x1 lsls r1, r0, 1 adds r1, r6 add r1, r8 movs r4, 0 ldrsh r1, [r1, r4] adds r4, r0, 0 cmp r1, 0 bne _080DC940 ldrh r0, [r2] adds r0, 0x1 b _080DC944 .pool _080DC940: ldrh r0, [r2] subs r0, 0x1 _080DC944: strh r0, [r2] lsls r1, r3, 1 mov r5, r9 lsls r2, r5, 3 adds r0, r1, r2 ldr r3, =gTasks adds r3, 0x8 adds r0, r3 movs r5, 0 ldrsh r0, [r0, r5] adds r5, r1, 0 cmp r0, 0x10 beq _080DC962 cmp r0, 0 bne _080DC970 _080DC962: lsls r0, r4, 1 adds r0, r2 adds r0, r3 ldrh r1, [r0] movs r2, 0x1 eors r1, r2 strh r1, [r0] _080DC970: adds r4, r7, 0x5 lsls r4, 4 adds r0, r4, 0 adds r0, 0xA adds r5, r6 add r5, r8 ldrb r2, [r5] movs r1, 0x1 mov r3, r10 bl BlendPalette adds r4, 0xC adds r4, r7 ldrb r2, [r5] adds r0, r4, 0 movs r1, 0x1 mov r3, r10 bl BlendPalette _080DC996: adds r0, r7, 0x1 lsls r0, 24 lsrs r7, r0, 24 cmp r7, 0x3 bls _080DC8F0 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DC8D0 thumb_func_start sub_80DC9B4 sub_80DC9B4: @ 80DC9B4 push {lr} lsls r0, 24 lsrs r2, r0, 24 ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r2, 3 subs r0, r2 lsls r0, 2 adds r0, r1 ldrb r1, [r0, 0x15] movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _080DC9E0 adds r0, r2, 0 bl sub_80DC630 b _080DC9E6 .pool _080DC9E0: adds r0, r2, 0 bl sub_80DC674 _080DC9E6: pop {r0} bx r0 thumb_func_end sub_80DC9B4 thumb_func_start sub_80DC9EC sub_80DC9EC: @ 80DC9EC push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x10 lsls r0, 24 lsrs r0, 24 str r0, [sp, 0xC] ldr r6, =gUnknown_02039F26 adds r6, r0, r6 ldrb r0, [r6] lsls r5, r0, 2 adds r5, r0 lsls r5, 27 movs r0, 0x80 lsls r0, 22 adds r5, r0 lsrs r5, 24 ldr r1, [sp, 0xC] lsls r4, r1, 3 ldr r0, =gUnknown_08589904 adds r0, r4, r0 bl LoadCompressedObjectPic ldr r0, =gUnknown_08589924 adds r4, r0 adds r0, r4, 0 bl LoadSpritePalette ldr r2, [sp, 0xC] lsls r4, r2, 1 adds r4, r2 lsls r4, 3 ldr r0, =gSpriteTemplate_858998C adds r4, r0 adds r0, r4, 0 movs r1, 0xB8 adds r2, r5, 0 movs r3, 0x1D bl CreateSprite mov r9, r0 mov r3, r9 lsls r3, 24 lsrs r3, 24 mov r9, r3 adds r0, r4, 0 movs r1, 0xF8 adds r2, r5, 0 movs r3, 0x1D bl CreateSprite mov r8, r0 mov r0, r8 lsls r0, 24 lsrs r0, 24 mov r8, r0 lsls r5, r0, 4 add r5, r8 lsls r5, 2 ldr r1, =gSprites adds r5, r1 ldrh r2, [r5, 0x4] lsls r1, r2, 22 lsrs r1, 22 adds r1, 0x40 ldr r3, =0x000003ff adds r0, r3, 0 ands r1, r0 ldr r0, =0xfffffc00 ands r0, r2 orrs r0, r1 strh r0, [r5, 0x4] movs r4, 0xC0 lsls r4, 19 ldrb r0, [r6] lsls r3, r0, 2 adds r3, r0 lsls r3, 6 ldr r0, =0x0600e026 adds r3, r0 ldr r7, =gContestResources ldr r0, [r7] ldr r0, [r0, 0x34] str r0, [sp] movs r0, 0 movs r1, 0x3 adds r2, r4, 0 bl CopySpriteTiles ldrb r0, [r6] lsls r3, r0, 2 adds r3, r0 lsls r3, 6 ldr r1, =0x0600e036 adds r3, r1 ldr r0, [r7] ldr r0, [r0, 0x38] str r0, [sp] movs r0, 0 movs r1, 0x3 adds r2, r4, 0 bl CopySpriteTiles movs r4, 0 str r4, [sp, 0x4] ldr r0, [r7] ldr r1, [r0, 0x34] movs r6, 0xA0 lsls r6, 3 adds r1, r6 ldr r2, =0x050000c0 mov r10, r2 add r0, sp, 0x4 bl CpuSet str r4, [sp, 0x8] add r0, sp, 0x8 ldr r1, [r7] ldr r1, [r1, 0x38] adds r1, r6 mov r2, r10 bl CpuSet ldr r0, [r7] ldr r0, [r0, 0x34] mov r3, r9 lsls r4, r3, 4 add r4, r9 lsls r4, 2 ldr r1, =gSprites adds r4, r1 ldrh r1, [r4, 0x4] lsls r1, 22 lsrs r1, 17 ldr r6, =0x06010000 adds r1, r6 movs r2, 0x80 lsls r2, 4 mov r10, r2 movs r3, 0x1 bl RequestDma3Copy ldr r0, [r7] ldr r0, [r0, 0x38] ldrh r1, [r5, 0x4] lsls r1, 22 lsrs r1, 17 adds r1, r6 mov r2, r10 movs r3, 0x1 bl RequestDma3Copy mov r3, r8 strh r3, [r4, 0x2E] mov r0, r9 strh r0, [r5, 0x2E] mov r1, sp ldrh r1, [r1, 0xC] strh r1, [r4, 0x30] mov r2, sp ldrh r2, [r2, 0xC] strh r2, [r5, 0x30] mov r0, r9 add sp, 0x10 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r1} bx r1 .pool thumb_func_end sub_80DC9EC thumb_func_start sub_80DCB78 sub_80DCB78: @ 80DCB78 push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 ldr r1, =gSprites lsls r5, r0, 4 adds r5, r0 lsls r5, 2 adds r5, r1 ldrh r0, [r5, 0x2E] lsls r0, 24 lsrs r0, 24 lsls r4, r0, 4 adds r4, r0 lsls r4, 2 adds r4, r1 adds r0, r4, 0 bl FreeSpriteOamMatrix adds r0, r4, 0 bl DestroySprite adds r0, r5, 0 bl DestroySpriteAndFreeResources pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80DCB78 thumb_func_start sub_80DCBB4 sub_80DCBB4: @ 80DCBB4 push {lr} movs r1, 0xFD lsls r1, 6 movs r0, 0x50 bl SetGpuReg ldr r1, =0x00000907 movs r0, 0x52 bl SetGpuReg pop {r0} bx r0 .pool thumb_func_end sub_80DCBB4 thumb_func_start sub_80DCBD0 sub_80DCBD0: @ 80DCBD0 push {lr} movs r0, 0x50 movs r1, 0 bl SetGpuReg movs r0, 0x52 movs r1, 0 bl SetGpuReg pop {r0} bx r0 thumb_func_end sub_80DCBD0 thumb_func_start sub_80DCBE8 sub_80DCBE8: @ 80DCBE8 push {r4-r6,lr} mov r6, r9 mov r5, r8 push {r5,r6} adds r4, r0, 0 mov r9, r1 lsls r4, 24 lsrs r4, 24 mov r0, r9 lsls r0, 24 lsrs r0, 24 mov r9, r0 bl sub_80DCBB4 ldr r0, =gContestResources ldr r1, [r0] ldr r2, =gSprites mov r8, r2 lsls r6, r4, 4 adds r6, r4 lsls r6, 2 adds r0, r6, r2 movs r3, 0x30 ldrsh r2, [r0, r3] ldr r1, [r1, 0x14] lsls r2, 2 adds r2, r1 ldrb r1, [r2, 0x2] movs r3, 0x2 orrs r1, r3 strb r1, [r2, 0x2] ldrh r5, [r0, 0x2E] lsls r5, 24 lsrs r5, 24 movs r1, 0x1 bl StartSpriteAffineAnim lsls r4, r5, 4 adds r4, r5 lsls r4, 2 mov r1, r8 adds r0, r4, r1 movs r1, 0x1 bl StartSpriteAffineAnim movs r2, 0x1C add r8, r2 add r6, r8 ldr r0, =sub_80DCC84 str r0, [r6] add r4, r8 ldr r0, =SpriteCallbackDummy str r0, [r4] mov r3, r9 cmp r3, 0 bne _080DCC70 movs r0, 0x65 bl PlaySE b _080DCC76 .pool _080DCC70: movs r0, 0x2 bl PlaySE _080DCC76: pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_80DCBE8 thumb_func_start sub_80DCC84 sub_80DCC84: @ 80DCC84 push {lr} mov r12, r0 adds r0, 0x3F ldrb r1, [r0] movs r0, 0x20 ands r0, r1 cmp r0, 0 beq _080DCCCC mov r0, r12 ldrh r1, [r0, 0x2E] lsls r1, 24 lsrs r1, 24 ldr r2, =gSprites lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r1, r0, r2 adds r0, r1, 0 adds r0, 0x3F ldrb r0, [r0] lsls r0, 26 cmp r0, 0 bge _080DCCCC mov r3, r12 adds r3, 0x3E ldrb r0, [r3] movs r2, 0x4 orrs r0, r2 strb r0, [r3] adds r1, 0x3E ldrb r0, [r1] orrs r0, r2 strb r0, [r1] ldr r0, =sub_80DCCD8 mov r1, r12 str r0, [r1, 0x1C] _080DCCCC: pop {r0} bx r0 .pool thumb_func_end sub_80DCC84 thumb_func_start sub_80DCCD8 sub_80DCCD8: @ 80DCCD8 push {lr} ldr r1, =gContestResources ldr r1, [r1] movs r3, 0x30 ldrsh r2, [r0, r3] ldr r1, [r1, 0x14] lsls r2, 2 adds r2, r1 ldrb r3, [r2, 0x2] movs r1, 0x3 negs r1, r1 ands r1, r3 strb r1, [r2, 0x2] ldrh r0, [r0, 0x2E] lsls r0, 24 lsrs r0, 24 bl sub_80DCB78 bl sub_80DCBD0 pop {r0} bx r0 .pool thumb_func_end sub_80DCCD8 thumb_func_start sub_80DCD08 sub_80DCD08: @ 80DCD08 push {lr} ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r2, r0, r1 ldrb r1, [r2] adds r3, r0, 0 cmp r1, 0x1 bne _080DCD24 movs r0, 0 b _080DCD26 .pool _080DCD24: movs r0, 0x1 _080DCD26: strb r0, [r2] movs r1, 0xD0 lsls r1, 9 adds r0, r3, r1 ldrb r0, [r0] cmp r0, 0 bne _080DCD3E bl sub_80DAEA4 bl sub_80DB2BC b _080DCD42 _080DCD3E: bl sub_80DCD48 _080DCD42: pop {r0} bx r0 thumb_func_end sub_80DCD08 thumb_func_start sub_80DCD48 sub_80DCD48: @ 80DCD48 push {r4,r5,lr} sub sp, 0xC ldr r0, =gUnknown_020322D5 ldrb r0, [r0] cmp r0, 0 beq _080DCE44 ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 ldrb r0, [r0] cmp r0, 0 beq _080DCE44 cmp r0, 0 blt _080DCD7C cmp r0, 0x3 bgt _080DCD7C cmp r0, 0x2 blt _080DCD7C bl sub_80DF750 b _080DCE44 .pool _080DCD7C: movs r5, 0 _080DCD7E: adds r0, r5, 0 movs r1, 0 bl FillWindowPixelBuffer adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x3 bls _080DCD7E movs r5, 0 _080DCD92: ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r5, 3 subs r0, r5 lsls r0, 2 adds r0, r1 add r2, sp, 0x4 ldrh r4, [r0, 0x4] movs r1, 0x4 ldrsh r0, [r0, r1] cmp r0, 0 bge _080DCDBC negs r0, r0 lsls r0, 16 lsrs r4, r0, 16 adds r0, r2, 0 ldr r1, =gText_OneDash bl StringCopy adds r2, r0, 0 _080DCDBC: lsls r1, r4, 16 asrs r1, 16 adds r0, r2, 0 movs r2, 0 movs r3, 0x4 bl ConvertIntToDecimalStringN ldr r0, =gUnknown_02039F26 adds r0, r5, r0 ldrb r0, [r0] movs r1, 0x7 str r1, [sp] add r1, sp, 0x4 movs r2, 0x37 movs r3, 0x1 bl Contest_PrintTextToBg0WindowAt adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x3 bls _080DCD92 movs r5, 0 _080DCDEA: ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r5, 3 subs r0, r5 lsls r0, 2 adds r0, r1 add r2, sp, 0x4 ldrh r4, [r0, 0x2] movs r1, 0x2 ldrsh r0, [r0, r1] cmp r0, 0 bge _080DCE14 negs r0, r0 lsls r0, 16 lsrs r4, r0, 16 adds r0, r2, 0 ldr r1, =gText_OneDash bl StringCopy adds r2, r0, 0 _080DCE14: lsls r1, r4, 16 asrs r1, 16 adds r0, r2, 0 movs r2, 0 movs r3, 0x4 bl ConvertIntToDecimalStringN ldr r0, =gUnknown_02039F26 adds r0, r5, r0 ldrb r0, [r0] movs r1, 0x7 str r1, [sp] add r1, sp, 0x4 movs r2, 0x5 movs r3, 0x1 bl Contest_PrintTextToBg0WindowAt adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x3 bls _080DCDEA bl sub_80DB2BC _080DCE44: add sp, 0xC pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80DCD48 thumb_func_start sub_80DCE58 sub_80DCE58: @ 80DCE58 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x14 lsls r0, 24 lsrs r0, 24 mov r8, r0 add r4, sp, 0x4 adds r0, r4, 0 movs r1, 0 movs r2, 0x8 bl memset movs r5, 0 add r4, sp, 0x4 adds r6, r4, 0 movs r7, 0 _080DCE7E: bl Random adds r1, r0, 0 mov r0, sp adds r0, r7 adds r0, 0x4 strh r1, [r0] movs r2, 0 cmp r2, r5 bge _080DCEB6 lsls r0, r1, 16 lsrs r0, 16 mov r1, sp ldrh r1, [r1, 0x4] cmp r0, r1 beq _080DCEB0 _080DCE9E: adds r2, 0x1 cmp r2, r5 bge _080DCEB6 lsls r0, r2, 1 adds r0, r4, r0 ldrh r1, [r6] ldrh r0, [r0] cmp r1, r0 bne _080DCE9E _080DCEB0: subs r6, 0x2 subs r7, 0x2 subs r5, 0x1 _080DCEB6: adds r6, 0x2 adds r7, 0x2 adds r5, 0x1 cmp r5, 0x3 ble _080DCE7E mov r2, r8 cmp r2, 0 bne _080DCF80 movs r5, 0 ldr r3, =gUnknown_02039F26 mov r8, r3 _080DCECC: mov r6, r8 strb r5, [r6] movs r4, 0 cmp r4, r5 bge _080DCF48 ldr r7, =gContestMonConditions mov r9, r7 lsls r0, r5, 1 adds r1, r0, 0 add r1, r9 mov r12, r1 mov r2, sp adds r2, 0x4 str r2, [sp, 0xC] add r0, sp adds r0, 0x4 str r0, [sp, 0x10] ldr r3, =gUnknown_02039F26 adds r6, r3, 0 mov r10, r6 _080DCEF4: ldrb r0, [r3] lsls r2, r0, 1 mov r7, r9 adds r0, r2, r7 movs r6, 0 ldrsh r1, [r0, r6] mov r7, r12 movs r6, 0 ldrsh r0, [r7, r6] cmp r1, r0 blt _080DCF1C cmp r1, r0 bne _080DCF40 ldr r7, [sp, 0xC] adds r0, r7, r2 ldrh r0, [r0] ldr r1, [sp, 0x10] ldrh r1, [r1] cmp r0, r1 bcs _080DCF40 _080DCF1C: adds r2, r5, 0 cmp r5, r4 ble _080DCF34 subs r0, r5, 0x1 mov r6, r10 adds r1, r0, r6 _080DCF28: ldrb r0, [r1] strb r0, [r1, 0x1] subs r1, 0x1 subs r2, 0x1 cmp r2, r4 bgt _080DCF28 _080DCF34: strb r5, [r3] b _080DCF48 .pool _080DCF40: adds r3, 0x1 adds r4, 0x1 cmp r4, r5 blt _080DCEF4 _080DCF48: cmp r4, r5 bne _080DCF50 mov r7, r8 strb r5, [r7] _080DCF50: movs r0, 0x1 add r8, r0 adds r5, 0x1 cmp r5, 0x3 ble _080DCECC ldr r4, =gUnknown_02039F26 mov r0, sp adds r1, r4, 0 movs r2, 0x4 bl memcpy movs r5, 0 _080DCF68: mov r1, sp adds r0, r1, r5 ldrb r0, [r0] adds r0, r4 strb r5, [r0] adds r5, 0x1 cmp r5, 0x3 ble _080DCF68 b _080DD034 .pool _080DCF80: mov r0, sp movs r1, 0xFF movs r2, 0x4 bl memset movs r5, 0 ldr r3, =gUnknown_02039F26 movs r6, 0 _080DCF90: ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0, 0x4] adds r0, r6, r0 ldrb r0, [r0, 0xB] lsls r0, 30 lsrs r2, r0, 30 mov r7, sp adds r1, r7, r2 b _080DCFB6 .pool _080DCFAC: adds r0, r2, 0x1 lsls r0, 24 lsrs r2, r0, 24 mov r0, sp adds r1, r0, r2 _080DCFB6: ldrb r0, [r1] cmp r0, 0xFF bne _080DCFAC strb r5, [r1] strb r2, [r3] adds r3, 0x1 adds r6, 0x1C adds r5, 0x1 cmp r5, 0x3 ble _080DCF90 movs r5, 0 _080DCFCC: movs r4, 0x3 adds r1, r5, 0x1 mov r10, r1 cmp r4, r5 ble _080DD02E mov r9, r4 ldr r2, =gUnknown_02039F26 mov r8, r2 add r3, sp, 0x4 mov r12, r3 _080DCFE0: ldr r6, =gContestResources ldr r0, [r6] ldr r1, [r0, 0x4] lsls r0, r4, 3 subs r0, r4 lsls r0, 2 adds r0, r1 adds r1, r0, 0 subs r1, 0x1C ldrb r2, [r1, 0xB] ldrb r3, [r0, 0xB] mov r1, r9 ands r1, r2 mov r0, r9 ands r0, r3 subs r3, r4, 0x1 cmp r1, r0 bne _080DD028 mov r0, r8 adds r7, r3, r0 adds r2, r4, r0 ldrb r6, [r7] ldrb r1, [r2] cmp r6, r1 bcs _080DD028 lsls r0, r3, 1 add r0, r12 lsls r1, r4, 1 add r1, r12 ldrh r0, [r0] ldrh r1, [r1] cmp r0, r1 bcs _080DD028 ldrb r0, [r2] strb r6, [r2] strb r0, [r7] _080DD028: adds r4, r3, 0 cmp r4, r5 bgt _080DCFE0 _080DD02E: mov r5, r10 cmp r5, 0x2 ble _080DCFCC _080DD034: add sp, 0x14 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DCE58 thumb_func_start sub_80DD04C sub_80DD04C: @ 80DD04C push {r4,r5,lr} movs r4, 0 movs r5, 0xA0 _080DD052: ldr r0, =gHeap+0x1A004 adds r0, r5, r0 ldr r1, =gUnknown_02039F26 adds r1, r4, r1 ldrb r1, [r1] adds r1, 0x5 lsls r1, 4 movs r2, 0x20 bl LoadPalette adds r5, 0x20 adds r4, 0x1 cmp r4, 0x3 ble _080DD052 bl sub_80DAEA4 pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80DD04C thumb_func_start sub_80DD080 sub_80DD080: @ 80DD080 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} lsls r0, 24 lsrs r6, r0, 24 ldr r4, =gContestResources ldr r3, [r4] ldr r1, [r3, 0x4] lsls r7, r6, 3 subs r0, r7, r6 lsls r5, r0, 2 adds r1, r5, r1 movs r2, 0 strh r2, [r1, 0x2] ldr r0, [r3, 0x4] adds r0, r5, r0 strh r2, [r0] adds r0, r6, 0 bl sub_80DBA68 lsls r0, 24 mov r8, r4 cmp r0, 0 bne _080DD0B4 b _080DD3C4 _080DD0B4: ldr r0, [r4] ldr r1, [r0, 0x4] adds r1, r5, r1 ldrh r0, [r1, 0x6] ldr r2, =gContestMoves lsls r0, 3 adds r0, r2 ldrb r2, [r0] mov r9, r2 ldrb r0, [r0, 0x1] lsls r0, 29 lsrs r0, 29 strb r0, [r1, 0xA] ldr r0, [r4] ldr r0, [r0, 0x4] adds r2, r5, r0 ldrh r0, [r2, 0x6] ldrh r1, [r2, 0x8] cmp r0, r1 bne _080DD110 cmp r0, 0 beq _080DD110 ldrb r0, [r2, 0x15] movs r1, 0x1 orrs r0, r1 strb r0, [r2, 0x15] ldr r0, [r4] ldr r2, [r0, 0x4] adds r2, r5, r2 ldrb r3, [r2, 0xB] lsls r1, r3, 25 lsrs r1, 29 adds r1, 0x1 movs r0, 0x7 ands r1, r0 lsls r1, 4 movs r0, 0x71 negs r0, r0 ands r0, r3 orrs r0, r1 strb r0, [r2, 0xB] b _080DD12C .pool _080DD110: ldr r4, =gContestResources ldr r0, [r4] ldr r0, [r0, 0x4] lsls r3, r6, 3 subs r1, r3, r6 lsls r1, 2 adds r1, r0 ldrb r2, [r1, 0xB] movs r0, 0x71 negs r0, r0 ands r0, r2 strb r0, [r1, 0xB] mov r8, r4 adds r7, r3, 0 _080DD12C: mov r2, r8 ldr r4, [r2] ldr r2, [r4, 0x4] subs r0, r7, r6 lsls r0, 2 adds r2, r0, r2 ldr r3, =gContestEffects mov r1, r9 lsls r5, r1, 2 adds r3, r5, r3 ldrb r1, [r3, 0x1] strh r1, [r2] ldr r1, [r4, 0x4] adds r0, r1 ldrh r1, [r0] strh r1, [r0, 0x2] ldr r1, [r4, 0x8] ldrb r0, [r3, 0x2] strh r0, [r1, 0x4] ldr r1, [r4, 0x8] ldrh r0, [r1, 0x4] strh r0, [r1, 0x6] ldr r0, [r4, 0x8] strb r6, [r0, 0x11] movs r2, 0 mov r9, r5 mov r4, r8 movs r3, 0 movs r1, 0 _080DD166: ldr r0, [r4] ldr r0, [r0, 0x4] adds r0, r1, r0 strb r3, [r0, 0xE] ldr r0, [r4] ldr r0, [r0, 0x8] adds r0, 0xD adds r0, r2 strb r3, [r0] adds r1, 0x1C adds r2, 0x1 cmp r2, 0x3 ble _080DD166 ldr r5, =gContestResources ldr r0, [r5] ldr r1, [r0, 0x4] subs r0, r7, r6 lsls r4, r0, 2 adds r2, r4, r1 ldrb r1, [r2, 0x15] movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _080DD1B4 ldrh r0, [r2, 0x8] ldrh r1, [r2, 0x6] bl AreMovesContestCombo lsls r0, 24 cmp r0, 0 bne _080DD1B4 ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x15] movs r0, 0x11 negs r0, r0 ands r0, r2 strb r0, [r1, 0x15] _080DD1B4: ldr r0, =gContestEffectFuncs add r0, r9 ldr r0, [r0] bl _call_via_r0 ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0x4] subs r0, r7, r6 lsls r0, 2 adds r2, r0, r1 ldrb r1, [r2, 0x10] movs r0, 0x30 ands r0, r1 cmp r0, 0x10 bne _080DD1EC ldrh r1, [r2, 0x2] subs r1, 0xA movs r0, 0xD ldrsb r0, [r2, r0] b _080DD206 .pool _080DD1EC: ldrb r1, [r2, 0x11] movs r0, 0x20 ands r0, r1 cmp r0, 0 beq _080DD200 movs r1, 0xD ldrsb r1, [r2, r1] lsls r0, r1, 1 adds r0, r1 b _080DD204 _080DD200: movs r0, 0xD ldrsb r0, [r2, r0] _080DD204: ldrh r1, [r2, 0x2] _080DD206: adds r0, r1 strh r0, [r2, 0x2] ldr r5, =gContestResources ldr r0, [r5] ldr r1, [r0, 0x4] subs r0, r7, r6 lsls r4, r0, 2 adds r1, r4, r1 movs r0, 0 strb r0, [r1, 0x16] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x15] movs r0, 0x41 negs r0, r0 ands r0, r2 strb r0, [r1, 0x15] adds r0, r6, 0 bl sub_80DE1E8 lsls r0, 24 cmp r0, 0 beq _080DD2E2 ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrh r0, [r1, 0x8] ldrh r1, [r1, 0x6] bl AreMovesContestCombo lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0 beq _080DD29C ldr r0, [r5] ldr r0, [r0, 0x4] adds r2, r4, r0 ldrb r1, [r2, 0x15] movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _080DD29C strb r3, [r2, 0x16] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r0, [r1, 0x15] movs r2, 0x40 orrs r0, r2 strb r0, [r1, 0x15] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r2, [r1, 0x15] movs r0, 0x11 negs r0, r0 ands r0, r2 strb r0, [r1, 0x15] ldr r0, [r5] ldr r0, [r0, 0x4] adds r0, r4, r0 movs r1, 0 ldrsh r2, [r0, r1] ldrb r1, [r0, 0x16] muls r1, r2 strb r1, [r0, 0x17] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r0, [r1, 0x15] movs r2, 0x8 b _080DD2C8 .pool _080DD29C: ldr r2, =gContestMoves ldr r5, =gContestResources ldr r0, [r5] ldr r1, [r0, 0x4] subs r0, r7, r6 lsls r4, r0, 2 adds r3, r4, r1 ldrh r0, [r3, 0x6] lsls r0, 3 adds r0, r2 ldrb r0, [r0, 0x2] cmp r0, 0 beq _080DD2D8 ldrb r0, [r3, 0x15] movs r1, 0x10 orrs r0, r1 strb r0, [r3, 0x15] ldr r0, [r5] ldr r1, [r0, 0x4] adds r1, r4, r1 ldrb r0, [r1, 0x15] movs r2, 0x40 _080DD2C8: orrs r0, r2 strb r0, [r1, 0x15] b _080DD2E2 .pool _080DD2D8: ldrb r1, [r3, 0x15] movs r0, 0x11 negs r0, r0 ands r0, r1 strb r0, [r3, 0x15] _080DD2E2: ldr r5, =gContestResources ldr r0, [r5] ldr r1, [r0, 0x4] subs r0, r7, r6 lsls r4, r0, 2 adds r2, r4, r1 ldrb r1, [r2, 0x15] movs r0, 0x1 mov r8, r0 ands r0, r1 cmp r0, 0 beq _080DD30A ldrb r0, [r2, 0xB] lsls r0, 25 lsrs r0, 29 adds r0, 0x1 lsls r1, r0, 2 adds r1, r0 lsls r1, 1 strb r1, [r2, 0x18] _080DD30A: ldr r0, [r5] ldr r0, [r0, 0x4] adds r2, r4, r0 ldrb r1, [r2, 0xC] mov r0, r8 ands r0, r1 cmp r0, 0 beq _080DD334 ldrb r1, [r2, 0x15] movs r0, 0x11 negs r0, r0 ands r0, r1 strb r0, [r2, 0x15] ldr r2, [r5] ldr r0, [r2, 0x4] adds r0, r4, r0 movs r1, 0 strh r1, [r0, 0x2] ldr r0, [r2, 0x4] adds r0, r4, r0 strh r1, [r0] _080DD334: ldr r0, [r5] ldr r0, [r0, 0x4] adds r0, r4, r0 ldrh r0, [r0, 0x6] bl Contest_GetMoveExcitement ldr r1, [r5] ldr r1, [r1, 0x10] strb r0, [r1] ldr r2, [r5] ldr r0, [r2, 0x4] adds r0, r4, r0 ldrb r1, [r0, 0x11] movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _080DD35C ldr r0, [r2, 0x10] mov r1, r8 strb r1, [r0] _080DD35C: ldr r1, [r5] ldr r3, [r1, 0x10] movs r0, 0 ldrsb r0, [r3, r0] cmp r0, 0 ble _080DD388 ldr r0, [r1] ldrb r0, [r0, 0x13] lsls r0, 24 asrs r0, 24 movs r1, 0 ldrsb r1, [r3, r1] adds r0, r1 cmp r0, 0x4 ble _080DD384 movs r0, 0x3C b _080DD38A .pool _080DD384: movs r0, 0xA b _080DD38A _080DD388: movs r0, 0 _080DD38A: strb r0, [r3, 0x2] bl Random lsls r0, 16 lsrs r0, 16 movs r1, 0x3 bl __umodsi3 lsls r0, 24 lsrs r0, 24 movs r2, 0 b _080DD3AE _080DD3A2: subs r0, 0x1 lsls r0, 24 lsrs r0, 24 _080DD3A8: adds r2, 0x1 cmp r2, 0x3 bgt _080DD3B6 _080DD3AE: cmp r2, r6 beq _080DD3A8 cmp r0, 0 bne _080DD3A2 _080DD3B6: ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0x4] subs r0, r7, r6 lsls r0, 2 adds r0, r1 strb r2, [r0, 0x1B] _080DD3C4: pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DD080 thumb_func_start SetContestantEffectStringID SetContestantEffectStringID: @ 80DD3D4 lsls r0, 24 lsrs r0, 24 ldr r2, =gContestResources ldr r2, [r2] ldr r3, [r2, 0x4] lsls r2, r0, 3 subs r2, r0 lsls r2, 2 adds r2, r3 strb r1, [r2, 0x13] bx lr .pool thumb_func_end SetContestantEffectStringID thumb_func_start SetContestantEffectStringID2 SetContestantEffectStringID2: @ 80DD3F0 lsls r0, 24 lsrs r0, 24 ldr r2, =gContestResources ldr r2, [r2] ldr r3, [r2, 0x4] lsls r2, r0, 3 subs r2, r0 lsls r2, 2 adds r2, r3 strb r1, [r2, 0x14] bx lr .pool thumb_func_end SetContestantEffectStringID2 thumb_func_start SetStartledString SetStartledString: @ 80DD40C push {lr} lsls r0, 24 lsrs r0, 24 adds r3, r0, 0 lsls r1, 24 lsrs r1, 24 adds r2, r1, 0 cmp r1, 0x3B bls _080DD426 movs r1, 0x35 bl SetContestantEffectStringID b _080DD456 _080DD426: cmp r1, 0x27 bls _080DD432 movs r1, 0x34 bl SetContestantEffectStringID b _080DD456 _080DD432: cmp r1, 0x1D bls _080DD43E movs r1, 0x33 bl SetContestantEffectStringID b _080DD456 _080DD43E: cmp r1, 0x13 bls _080DD44A movs r1, 0x32 bl SetContestantEffectStringID b _080DD456 _080DD44A: cmp r2, 0x9 bls _080DD456 adds r0, r3, 0 movs r1, 0x31 bl SetContestantEffectStringID _080DD456: pop {r0} bx r0 thumb_func_end SetStartledString thumb_func_start sub_80DD45C sub_80DD45C: @ 80DD45C push {r4-r6,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 lsls r1, 24 lsrs r6, r1, 24 ldr r0, =gStringVar1 lsls r1, r4, 6 ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy ldr r0, =gStringVar2 ldr r5, =gContestResources ldr r1, [r5] ldr r2, [r1, 0x4] lsls r1, r4, 3 subs r1, r4 lsls r1, 2 adds r1, r2 ldrh r2, [r1, 0x6] movs r1, 0xD muls r1, r2 ldr r2, =gMoveNames adds r1, r2 bl StringCopy ldr r3, =gContestMoves ldr r1, [r5] ldr r0, [r1, 0x8] ldrb r2, [r0, 0x11] ldr r1, [r1, 0x4] lsls r0, r2, 3 subs r0, r2 lsls r0, 2 adds r0, r1 ldrh r0, [r0, 0x6] lsls r0, 3 adds r0, r3 ldrb r0, [r0, 0x1] lsls r1, r0, 29 cmp r1, 0 bne _080DD4DC ldr r0, =gStringVar3 ldr r1, =gText_0827E837 bl StringCopy b _080DD52C .pool _080DD4DC: lsrs r0, r1, 29 cmp r0, 0x1 bne _080DD4F4 ldr r0, =gStringVar3 ldr r1, =gText_0827E83F bl StringCopy b _080DD52C .pool _080DD4F4: lsrs r0, r1, 29 cmp r0, 0x2 bne _080DD50C ldr r0, =gStringVar3 ldr r1, =gText_0827E847 bl StringCopy b _080DD52C .pool _080DD50C: lsrs r0, r1, 29 cmp r0, 0x3 bne _080DD524 ldr r0, =gStringVar3 ldr r1, =gText_0827E850 bl StringCopy b _080DD52C .pool _080DD524: ldr r0, =gStringVar3 ldr r1, =gText_0827E85A bl StringCopy _080DD52C: ldr r4, =gStringVar4 ldr r1, =gUnknown_08587E10 lsls r0, r6, 2 adds r0, r1 ldr r1, [r0] adds r0, r4, 0 bl StringExpandPlaceholders bl sub_80DB89C adds r0, r4, 0 movs r1, 0x1 bl Contest_StartTextPrinter pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_80DD45C thumb_func_start MakeContestantNervous MakeContestantNervous: @ 80DD560 push {r4,lr} lsls r0, 24 lsrs r0, 24 ldr r4, =gContestResources ldr r1, [r4] ldr r3, [r1, 0x4] lsls r1, r0, 3 subs r1, r0 lsls r1, 2 adds r3, r1, r3 ldrb r0, [r3, 0xC] movs r2, 0x1 orrs r0, r2 strb r0, [r3, 0xC] ldr r0, [r4] ldr r0, [r0, 0x4] adds r1, r0 movs r0, 0 strh r0, [r1, 0x6] pop {r4} pop {r0} bx r0 .pool thumb_func_end MakeContestantNervous thumb_func_start sub_80DD590 sub_80DD590: @ 80DD590 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} sub sp, 0x8 movs r0, 0 mov r12, r0 movs r4, 0 ldr r1, =gUnknown_02039F26 mov r9, r1 add r2, sp, 0x4 mov r6, r9 movs r5, 0 adds r3, r2, 0 _080DD5AC: mov r0, sp adds r1, r0, r4 adds r0, r4, r6 ldrb r0, [r0] strb r0, [r1] adds r0, r3, r4 strb r5, [r0] adds r4, 0x1 cmp r4, 0x3 ble _080DD5AC movs r4, 0 ldr r7, =gContestResources ldr r1, [r7] mov r8, r1 adds r5, r2, 0 _080DD5CA: movs r2, 0 mov r0, r8 ldr r1, [r0, 0x4] _080DD5D0: ldrb r0, [r1, 0x19] cmp r0, r4 beq _080DD604 adds r1, 0x1C adds r2, 0x1 cmp r2, 0x3 ble _080DD5D0 _080DD5DE: cmp r2, 0x4 bne _080DD684 movs r2, 0 ldrb r0, [r5] cmp r0, 0 bne _080DD612 ldr r0, [r7] ldr r0, [r0, 0x4] ldrb r0, [r0, 0x19] cmp r0, 0xFF bne _080DD612 mov r12, r2 movs r2, 0x1 b _080DD63A .pool _080DD604: mov r1, sp adds r0, r1, r2 strb r4, [r0] adds r1, r5, r2 movs r0, 0x1 strb r0, [r1] b _080DD5DE _080DD612: adds r2, 0x1 cmp r2, 0x3 bgt _080DD676 adds r0, r5, r2 ldrb r0, [r0] cmp r0, 0 bne _080DD612 ldr r0, [r7] ldr r1, [r0, 0x4] lsls r0, r2, 3 subs r0, r2 lsls r0, 2 adds r0, r1 ldrb r0, [r0, 0x19] cmp r0, 0xFF bne _080DD612 lsls r0, r2, 24 lsrs r0, 24 mov r12, r0 adds r2, 0x1 _080DD63A: cmp r2, 0x3 bgt _080DD676 ldr r6, =gUnknown_02039F26 lsls r0, r2, 3 subs r0, r2 lsls r3, r0, 2 _080DD646: adds r0, r5, r2 ldrb r0, [r0] cmp r0, 0 bne _080DD66E ldr r0, [r7] ldr r0, [r0, 0x4] adds r0, r3, r0 ldrb r0, [r0, 0x19] cmp r0, 0xFF bne _080DD66E mov r1, r12 adds r0, r1, r6 adds r1, r2, r6 ldrb r0, [r0] ldrb r1, [r1] cmp r0, r1 bls _080DD66E lsls r0, r2, 24 lsrs r0, 24 mov r12, r0 _080DD66E: adds r3, 0x1C adds r2, 0x1 cmp r2, 0x3 ble _080DD646 _080DD676: mov r0, sp add r0, r12 strb r4, [r0] mov r0, r12 adds r1, r5, r0 movs r0, 0x1 strb r0, [r1] _080DD684: adds r4, 0x1 cmp r4, 0x3 ble _080DD5CA movs r4, 0 ldr r6, =gContestResources movs r5, 0 _080DD690: ldr r0, [r6] ldr r1, [r0, 0x8] adds r1, r4 mov r0, sp adds r3, r0, r4 ldrb r0, [r3] strb r0, [r1] ldr r0, [r6] ldr r0, [r0, 0x4] adds r0, r5, r0 movs r1, 0xFF strb r1, [r0, 0x19] ldr r0, [r6] ldr r1, [r0, 0x4] adds r1, r5, r1 ldrb r2, [r1, 0x10] movs r0, 0x3F ands r0, r2 strb r0, [r1, 0x10] mov r0, r9 adds r1, r4, r0 ldrb r0, [r3] strb r0, [r1] adds r5, 0x1C adds r4, 0x1 cmp r4, 0x3 ble _080DD690 add sp, 0x8 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DD590 thumb_func_start sub_80DD6DC sub_80DD6DC: @ 80DD6DC push {lr} adds r2, r0, 0 ldrh r0, [r2, 0x30] adds r1, r0, 0x1 strh r1, [r2, 0x30] lsls r0, 16 asrs r0, 16 cmp r0, 0x54 ble _080DD712 movs r0, 0 strh r0, [r2, 0x30] adds r3, r2, 0 adds r3, 0x3E ldrb r0, [r3] movs r1, 0x4 orrs r0, r1 strb r0, [r3] ldr r0, =SpriteCallbackDummy str r0, [r2, 0x1C] ldr r0, =gContestResources ldr r0, [r0] ldr r2, [r0] ldrb r1, [r2, 0x6] movs r0, 0x11 negs r0, r0 ands r0, r1 strb r0, [r2, 0x6] _080DD712: pop {r0} bx r0 .pool thumb_func_end sub_80DD6DC thumb_func_start sub_80DD720 sub_80DD720: @ 80DD720 push {r4,r5,lr} lsls r0, 24 lsrs r1, r0, 24 ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0] ldrb r5, [r0, 0x12] cmp r1, 0x8 bls _080DD734 b _080DD8D4 _080DD734: lsls r0, r1, 2 ldr r1, =_080DD748 adds r0, r1 ldr r0, [r0] mov pc, r0 .pool .align 2, 0 _080DD748: .4byte _080DD76C .4byte _080DD76C .4byte _080DD79C .4byte _080DD7D0 .4byte _080DD804 .4byte _080DD838 .4byte _080DD86C .4byte _080DD8D4 .4byte _080DD8A0 _080DD76C: ldr r0, =gSprites lsls r4, r5, 4 adds r1, r4, r5 lsls r1, 2 adds r1, r0 ldrh r0, [r1, 0x2E] ldr r2, =0x000003ff ands r2, r0 ldrh r3, [r1, 0x4] ldr r0, =0xfffffc00 ands r0, r3 orrs r0, r2 strh r0, [r1, 0x4] movs r0, 0x20 bl PlaySE b _080DD8F8 .pool _080DD79C: ldr r0, =gSprites lsls r4, r5, 4 adds r1, r4, r5 lsls r1, 2 adds r1, r0 ldrh r2, [r1, 0x2E] adds r2, 0x4 ldr r3, =0x000003ff adds r0, r3, 0 ands r2, r0 ldrh r3, [r1, 0x4] ldr r0, =0xfffffc00 ands r0, r3 orrs r0, r2 strh r0, [r1, 0x4] movs r0, 0x1F bl PlaySE b _080DD8F8 .pool _080DD7D0: ldr r0, =gSprites lsls r4, r5, 4 adds r1, r4, r5 lsls r1, 2 adds r1, r0 ldrh r2, [r1, 0x2E] adds r2, 0x8 ldr r3, =0x000003ff adds r0, r3, 0 ands r2, r0 ldrh r3, [r1, 0x4] ldr r0, =0xfffffc00 ands r0, r3 orrs r0, r2 strh r0, [r1, 0x4] movs r0, 0x1F bl PlaySE b _080DD8F8 .pool _080DD804: ldr r0, =gSprites lsls r4, r5, 4 adds r1, r4, r5 lsls r1, 2 adds r1, r0 ldrh r2, [r1, 0x2E] adds r2, 0xC ldr r3, =0x000003ff adds r0, r3, 0 ands r2, r0 ldrh r3, [r1, 0x4] ldr r0, =0xfffffc00 ands r0, r3 orrs r0, r2 strh r0, [r1, 0x4] movs r0, 0x2D bl PlaySE b _080DD8F8 .pool _080DD838: ldr r0, =gSprites lsls r4, r5, 4 adds r1, r4, r5 lsls r1, 2 adds r1, r0 ldrh r2, [r1, 0x2E] adds r2, 0xC ldr r3, =0x000003ff adds r0, r3, 0 ands r2, r0 ldrh r3, [r1, 0x4] ldr r0, =0xfffffc00 ands r0, r3 orrs r0, r2 strh r0, [r1, 0x4] movs r0, 0x2D bl PlaySE b _080DD8F8 .pool _080DD86C: ldr r0, =gSprites lsls r4, r5, 4 adds r1, r4, r5 lsls r1, 2 adds r1, r0 ldrh r2, [r1, 0x2E] adds r2, 0x10 ldr r3, =0x000003ff adds r0, r3, 0 ands r2, r0 ldrh r3, [r1, 0x4] ldr r0, =0xfffffc00 ands r0, r3 orrs r0, r2 strh r0, [r1, 0x4] movs r0, 0x2D bl PlaySE b _080DD8F8 .pool _080DD8A0: ldr r0, =gSprites lsls r4, r5, 4 adds r1, r4, r5 lsls r1, 2 adds r1, r0 ldrh r2, [r1, 0x2E] adds r2, 0x18 ldr r3, =0x000003ff adds r0, r3, 0 ands r2, r0 ldrh r3, [r1, 0x4] ldr r0, =0xfffffc00 ands r0, r3 orrs r0, r2 strh r0, [r1, 0x4] movs r0, 0xC3 bl PlaySE b _080DD8F8 .pool _080DD8D4: ldr r0, =gSprites lsls r4, r5, 4 adds r1, r4, r5 lsls r1, 2 adds r1, r0 ldrh r2, [r1, 0x2E] adds r2, 0x14 ldr r3, =0x000003ff adds r0, r3, 0 ands r2, r0 ldrh r3, [r1, 0x4] ldr r0, =0xfffffc00 ands r0, r3 orrs r0, r2 strh r0, [r1, 0x4] movs r0, 0x2D bl PlaySE _080DD8F8: adds r2, r4, 0 ldr r4, =gSprites adds r2, r5 lsls r2, 2 adds r1, r2, r4 movs r0, 0 strh r0, [r1, 0x30] adds r1, 0x3E ldrb r3, [r1] subs r0, 0x5 ands r0, r3 strb r0, [r1] adds r4, 0x1C adds r2, r4 ldr r0, =sub_80DD6DC str r0, [r2] ldr r0, =gContestResources ldr r0, [r0] ldr r2, [r0] ldrb r0, [r2, 0x6] movs r1, 0x10 orrs r0, r1 strb r0, [r2, 0x6] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80DD720 thumb_func_start sub_80DD940 sub_80DD940: @ 80DD940 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} movs r5, 0 ldr r6, =gContestResources ldr r0, =gSprites mov r9, r0 ldr r0, =0x06010000 mov r8, r0 ldr r7, =0x04000008 _080DD956: ldr r0, [r6] ldr r1, [r0] movs r0, 0x13 ldrsb r0, [r1, r0] ldr r4, =gContestApplauseMeterGfx cmp r5, r0 bge _080DD966 adds r4, 0x40 _080DD966: adds r0, r1, 0 adds r0, 0x58 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 add r0, r9 ldrh r1, [r0, 0x4] lsls r1, 22 lsrs r1, 22 adds r0, r5, 0 adds r0, 0x11 adds r1, r0 lsls r1, 5 add r1, r8 adds r0, r4, 0 adds r2, r7, 0 bl CpuSet adds r0, r4, 0 adds r0, 0x20 ldr r1, [r6] ldr r1, [r1] adds r1, 0x58 ldrb r2, [r1] lsls r1, r2, 4 adds r1, r2 lsls r1, 2 add r1, r9 ldrh r1, [r1, 0x4] lsls r1, 22 lsrs r1, 22 adds r2, r5, 0 adds r2, 0x19 adds r1, r2 lsls r1, 5 add r1, r8 adds r2, r7, 0 bl CpuSet ldr r0, [r6] ldr r0, [r0] ldrb r0, [r0, 0x13] lsls r0, 24 asrs r0, 24 cmp r0, 0x4 ble _080DD9C8 bl sub_80DDA20 _080DD9C8: adds r5, 0x1 cmp r5, 0x4 ble _080DD956 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DD940 thumb_func_start Contest_GetMoveExcitement Contest_GetMoveExcitement: @ 80DD9F0 lsls r0, 16 ldr r3, =gUnknown_085899EC ldr r1, =gContestMoves lsrs r0, 13 adds r0, r1 ldrb r1, [r0, 0x1] lsls r1, 29 lsrs r1, 29 ldr r0, =gSpecialVar_ContestCategory ldrh r2, [r0] lsls r0, r2, 2 adds r0, r2 adds r1, r0 adds r1, r3 movs r0, 0 ldrsb r0, [r1, r0] bx lr .pool thumb_func_end Contest_GetMoveExcitement thumb_func_start sub_80DDA20 sub_80DDA20: @ 80DDA20 push {r4,r5,lr} ldr r0, =c3_08130B10 movs r1, 0xA bl CreateTask adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 ldr r0, =gTasks lsls r4, r5, 2 adds r4, r5 lsls r4, 3 adds r4, r0 movs r0, 0x1 strh r0, [r4, 0xA] ldr r0, =0x0000abe2 bl IndexOfSpritePaletteTag lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0xC] adds r0, r5, 0 pop {r4,r5} pop {r1} bx r1 .pool thumb_func_end sub_80DDA20 thumb_func_start c3_08130B10 c3_08130B10: @ 80DDA60 push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r2, r0, r1 ldrh r0, [r2, 0x8] adds r0, 0x1 strh r0, [r2, 0x8] lsls r0, 16 asrs r0, 16 cmp r0, 0x1 bne _080DDAFE movs r0, 0 strh r0, [r2, 0x8] movs r3, 0xE ldrsh r0, [r2, r3] cmp r0, 0 bne _080DDA94 ldrh r0, [r2, 0x10] adds r0, 0x1 b _080DDA98 .pool _080DDA94: ldrh r0, [r2, 0x10] subs r0, 0x1 _080DDA98: strh r0, [r2, 0x10] lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r4, r0, r1 movs r1, 0xC ldrsh r0, [r4, r1] lsls r0, 4 movs r3, 0x84 lsls r3, 1 adds r6, r3, 0 adds r0, r6 lsls r0, 16 lsrs r0, 16 ldrb r2, [r4, 0x10] ldr r3, =0x00007fff movs r1, 0x1 bl BlendPalette movs r1, 0x10 ldrsh r0, [r4, r1] cmp r0, 0 beq _080DDACA cmp r0, 0x10 bne _080DDAFE _080DDACA: ldrh r0, [r4, 0xE] movs r1, 0x1 eors r0, r1 strh r0, [r4, 0xE] ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0] ldrb r0, [r0, 0x13] lsls r0, 24 asrs r0, 24 cmp r0, 0x4 bgt _080DDAFE movs r3, 0xC ldrsh r0, [r4, r3] lsls r0, 4 adds r0, r6 lsls r0, 16 lsrs r0, 16 movs r1, 0x1 movs r2, 0 movs r3, 0x1F bl BlendPalette adds r0, r5, 0 bl DestroyTask _080DDAFE: pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end c3_08130B10 thumb_func_start sub_80DDB0C sub_80DDB0C: @ 80DDB0C push {r4,lr} ldr r0, =sub_80DDB6C movs r1, 0xA bl CreateTask ldr r3, =gSprites ldr r4, =gContestResources ldr r2, [r4] ldr r0, [r2] adds r0, 0x58 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r3 ldr r1, =0x0000ffba strh r1, [r0, 0x24] ldr r0, [r2] adds r0, 0x58 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r3 adds r0, 0x3E ldrb r2, [r0] movs r1, 0x5 negs r1, r1 ands r1, r2 strb r1, [r0] ldr r0, [r4] ldr r2, [r0] ldrb r0, [r2, 0x6] movs r1, 0x40 orrs r0, r1 strb r0, [r2, 0x6] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80DDB0C thumb_func_start sub_80DDB6C sub_80DDB6C: @ 80DDB6C push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 adds r3, r0, 0 ldr r4, =gContestResources ldr r0, [r4] ldr r0, [r0] adds r0, 0x58 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 ldr r1, =gSprites adds r2, r0, r1 ldr r0, =gTasks lsls r1, r3, 2 adds r1, r3 lsls r1, 3 adds r1, r0 movs r5, 0xD0 lsls r5, 3 adds r0, r5, 0 ldrh r5, [r1, 0x1C] adds r0, r5 strh r0, [r1, 0x1C] lsls r0, 16 asrs r0, 24 ldrh r5, [r2, 0x24] adds r0, r5 strh r0, [r2, 0x24] ldrb r0, [r1, 0x1C] strh r0, [r1, 0x1C] movs r1, 0x24 ldrsh r0, [r2, r1] cmp r0, 0 ble _080DDBB8 movs r0, 0 strh r0, [r2, 0x24] _080DDBB8: movs r5, 0x24 ldrsh r0, [r2, r5] cmp r0, 0 bne _080DDBD4 ldr r0, [r4] ldr r2, [r0] ldrb r1, [r2, 0x6] movs r0, 0x41 negs r0, r0 ands r0, r1 strb r0, [r2, 0x6] adds r0, r3, 0 bl DestroyTask _080DDBD4: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80DDB6C thumb_func_start sub_80DDBE8 sub_80DDBE8: @ 80DDBE8 push {r4,r5,lr} ldr r5, =gSprites ldr r4, =gContestResources ldr r0, [r4] ldr r2, [r0] adds r0, r2, 0 adds r0, 0x58 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 adds r0, 0x3E ldrb r0, [r0] lsls r0, 29 cmp r0, 0 bge _080DDC1C ldrb r1, [r2, 0x6] movs r0, 0x41 negs r0, r0 ands r0, r1 b _080DDC40 .pool _080DDC1C: ldr r0, =task08_080CD1CC movs r1, 0xA bl CreateTask ldr r2, [r4] ldr r0, [r2] adds r0, 0x58 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 movs r1, 0 strh r1, [r0, 0x24] ldr r2, [r2] ldrb r0, [r2, 0x6] movs r1, 0x40 orrs r0, r1 _080DDC40: strb r0, [r2, 0x6] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80DDBE8 thumb_func_start task08_080CD1CC task08_080CD1CC: @ 80DDC4C push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 ldr r5, =gContestResources ldr r0, [r5] ldr r0, [r0] adds r0, 0x58 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 ldr r1, =gSprites adds r3, r0, r1 ldr r0, =gTasks lsls r2, r4, 2 adds r2, r4 lsls r2, 3 adds r2, r0 movs r1, 0xD0 lsls r1, 3 adds r0, r1, 0 ldrh r1, [r2, 0x1C] adds r0, r1 strh r0, [r2, 0x1C] lsls r0, 16 asrs r0, 24 ldrh r1, [r3, 0x24] subs r1, r0 strh r1, [r3, 0x24] ldrb r0, [r2, 0x1C] strh r0, [r2, 0x1C] movs r2, 0x24 ldrsh r0, [r3, r2] movs r1, 0x46 negs r1, r1 cmp r0, r1 bge _080DDC9C ldr r0, =0x0000ffba strh r0, [r3, 0x24] _080DDC9C: movs r2, 0x24 ldrsh r0, [r3, r2] cmp r0, r1 bne _080DDCC4 adds r2, r3, 0 adds r2, 0x3E ldrb r0, [r2] movs r1, 0x4 orrs r0, r1 strb r0, [r2] ldr r0, [r5] ldr r2, [r0] ldrb r1, [r2, 0x6] movs r0, 0x41 negs r0, r0 ands r0, r1 strb r0, [r2, 0x6] adds r0, r4, 0 bl DestroyTask _080DDCC4: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end task08_080CD1CC thumb_func_start sub_80DDCDC sub_80DDCDC: @ 80DDCDC push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, =sub_80DDD20 movs r1, 0x5 bl CreateTask lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r1, r2 lsls r4, 24 asrs r4, 24 strh r4, [r1, 0x8] ldr r0, =gContestResources ldr r0, [r0] ldr r2, [r0] ldrb r0, [r2, 0x6] movs r1, 0x20 orrs r0, r1 strb r0, [r2, 0x6] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80DDCDC thumb_func_start sub_80DDD20 sub_80DDD20: @ 80DDD20 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r4, r0, r1 movs r1, 0x1C ldrsh r0, [r4, r1] cmp r0, 0x1 beq _080DDD54 cmp r0, 0x1 bgt _080DDD48 cmp r0, 0 beq _080DDD4E b _080DDD9C .pool _080DDD48: cmp r0, 0x2 beq _080DDD70 b _080DDD9C _080DDD4E: bl sub_80DDB0C b _080DDD64 _080DDD54: ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0] ldrb r1, [r0, 0x6] movs r0, 0x40 ands r0, r1 cmp r0, 0 bne _080DDD9C _080DDD64: ldrh r0, [r4, 0x1C] adds r0, 0x1 strh r0, [r4, 0x1C] b _080DDD9C .pool _080DDD70: ldrh r0, [r4, 0x1E] adds r1, r0, 0x1 strh r1, [r4, 0x1E] lsls r0, 16 asrs r0, 16 cmp r0, 0x14 ble _080DDD9C movs r0, 0 strh r0, [r4, 0x1E] bl sub_80DD940 ldr r0, =gContestResources ldr r0, [r0] ldr r2, [r0] ldrb r1, [r2, 0x6] movs r0, 0x21 negs r0, r0 ands r0, r1 strb r0, [r2, 0x6] adds r0, r5, 0 bl DestroyTask _080DDD9C: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80DDD20 thumb_func_start sub_80DDDA8 sub_80DDDA8: @ 80DDDA8 ldr r3, =gSprites ldr r0, =gContestResources ldr r2, [r0] ldr r0, [r2] adds r0, 0x58 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r3 movs r1, 0 strh r1, [r0, 0x24] ldr r0, [r2] adds r0, 0x58 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r3 adds r0, 0x3E ldrb r2, [r0] movs r1, 0x5 negs r1, r1 ands r1, r2 strb r1, [r0] bx lr .pool thumb_func_end sub_80DDDA8 thumb_func_start sub_80DDDE4 sub_80DDDE4: @ 80DDDE4 ldr r2, =gSprites ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0] adds r0, 0x58 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r2 adds r0, 0x3E ldrb r1, [r0] movs r2, 0x4 orrs r1, r2 strb r1, [r0] bx lr .pool thumb_func_end sub_80DDDE4 thumb_func_start sub_80DDE0C sub_80DDE0C: @ 80DDE0C push {lr} ldr r0, =sub_80DDE30 movs r1, 0xF bl CreateTask ldr r0, =gContestResources ldr r0, [r0] ldr r2, [r0] ldrb r0, [r2, 0x6] movs r1, 0x80 orrs r0, r1 strb r0, [r2, 0x6] pop {r0} bx r0 .pool thumb_func_end sub_80DDE0C thumb_func_start sub_80DDE30 sub_80DDE30: @ 80DDE30 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r4, r0, r1 ldrh r0, [r4, 0x1C] adds r1, r0, 0x1 strh r1, [r4, 0x1C] lsls r0, 16 asrs r0, 16 cmp r0, 0x6 ble _080DDEBA movs r0, 0 strh r0, [r4, 0x1C] movs r1, 0x1E ldrsh r0, [r4, r1] cmp r0, 0 bne _080DDE78 ldr r0, =gHeap+0x19000 ldr r1, =0x06002000 movs r2, 0x80 lsls r2, 5 movs r3, 0x1 bl RequestDma3Copy b _080DDE8C .pool _080DDE78: ldr r0, =gHeap+0x18000 ldr r1, =0x06002000 movs r2, 0x80 lsls r2, 5 movs r3, 0x1 bl RequestDma3Copy ldrh r0, [r4, 0x20] adds r0, 0x1 strh r0, [r4, 0x20] _080DDE8C: ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 ldrh r1, [r0, 0x1E] movs r2, 0x1 eors r1, r2 strh r1, [r0, 0x1E] movs r1, 0x20 ldrsh r0, [r0, r1] cmp r0, 0x9 bne _080DDEBA ldr r0, =gContestResources ldr r0, [r0] ldr r2, [r0] ldrb r1, [r2, 0x6] movs r0, 0x7F ands r0, r1 strb r0, [r2, 0x6] adds r0, r5, 0 bl DestroyTask _080DDEBA: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80DDE30 thumb_func_start sub_80DDED0 sub_80DDED0: @ 80DDED0 push {r4-r7,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 lsls r1, 24 lsrs r5, r1, 24 ldr r0, =sub_80DDF80 movs r1, 0xA bl CreateTask lsls r0, 24 lsrs r6, r0, 24 lsls r4, 24 cmp r4, 0 ble _080DDF38 ldr r7, =0x0000237e lsls r0, r5, 24 adds r4, r0, 0 cmp r4, 0 ble _080DDF1C movs r5, 0 ldr r2, =gContestResources ldr r0, [r2] ldr r0, [r0] movs r1, 0x13 ldrsb r1, [r0, r1] lsls r0, r1, 1 adds r0, r1 lsls r0, 24 lsrs r3, r0, 24 b _080DDF4E .pool _080DDF1C: ldr r2, =gContestResources ldr r0, [r2] ldr r0, [r0] movs r1, 0x13 ldrsb r1, [r0, r1] lsls r0, r1, 1 adds r0, r1 lsls r0, 24 lsrs r5, r0, 24 movs r3, 0 b _080DDF4E .pool _080DDF38: movs r7, 0 lsls r0, r5, 24 adds r4, r0, 0 cmp r4, 0 ble _080DDF48 movs r5, 0 movs r3, 0xC b _080DDF4C _080DDF48: movs r5, 0xC movs r3, 0 _080DDF4C: ldr r2, =gContestResources _080DDF4E: ldr r1, =gTasks lsls r0, r6, 2 adds r0, r6 lsls r0, 3 adds r0, r1 strh r7, [r0, 0x8] strh r5, [r0, 0xA] asrs r1, r4, 24 strh r1, [r0, 0xC] strh r3, [r0, 0xE] ldr r0, [r2] ldr r2, [r0] ldrb r1, [r2, 0x7] movs r0, 0x2 negs r0, r0 ands r0, r1 strb r0, [r2, 0x7] pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DDED0 thumb_func_start sub_80DDF80 sub_80DDF80: @ 80DDF80 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r2, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r3, r0, r2 ldrh r0, [r3, 0x1C] adds r1, r0, 0x1 strh r1, [r3, 0x1C] lsls r0, 16 cmp r0, 0 blt _080DDFFC movs r0, 0 strh r0, [r3, 0x1C] movs r1, 0xC ldrsh r0, [r3, r1] cmp r0, 0 ble _080DDFB4 ldrh r0, [r3, 0xA] adds r0, 0x1 b _080DDFB8 .pool _080DDFB4: ldrh r0, [r3, 0xA] subs r0, 0x1 _080DDFB8: strh r0, [r3, 0xA] lsls r4, r5, 2 adds r4, r5 lsls r4, 3 adds r4, r2 ldrb r2, [r4, 0xA] ldrh r3, [r4, 0x8] movs r0, 0x11 movs r1, 0x1 bl BlendPalette ldrb r2, [r4, 0xA] ldrh r3, [r4, 0x8] movs r0, 0x1A movs r1, 0x1 bl BlendPalette movs r2, 0xA ldrsh r1, [r4, r2] movs r2, 0xE ldrsh r0, [r4, r2] cmp r1, r0 bne _080DDFFC adds r0, r5, 0 bl DestroyTask ldr r0, =gContestResources ldr r0, [r0] ldr r2, [r0] ldrb r1, [r2, 0x7] movs r0, 0x2 negs r0, r0 ands r0, r1 strb r0, [r2, 0x7] _080DDFFC: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80DDF80 thumb_func_start sub_80DE008 sub_80DE008: @ 80DE008 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} lsls r0, 24 lsrs r0, 24 mov r10, r0 movs r5, 0 ldr r0, =gContestResources mov r9, r0 mov r8, r9 ldr r6, =gSprites movs r4, 0 movs r7, 0 _080DE026: mov r1, r8 ldr r0, [r1] ldr r0, [r0, 0x4] adds r0, r7, r0 ldrb r1, [r0, 0x10] movs r0, 0xC0 ands r0, r1 cmp r0, 0 beq _080DE0BC mov r2, r10 cmp r2, 0 beq _080DE0BC lsls r0, r5, 24 lsrs r0, 24 bl sub_80DE0F0 mov r3, r8 ldr r1, [r3] ldr r1, [r1, 0x14] adds r1, r4, r1 ldrb r2, [r1, 0x1] lsls r1, r2, 4 adds r1, r2 lsls r1, 2 adds r1, r6 ldrh r1, [r1, 0x4] lsls r1, 22 lsrs r1, 17 ldr r2, =0x060100c0 adds r1, r2 ldr r2, =0x04000008 bl CpuSet mov r0, r8 ldr r3, [r0] ldr r0, [r3, 0x14] adds r0, r4, r0 ldrb r0, [r0, 0x1] lsls r1, r0, 4 adds r1, r0 lsls r1, 2 adds r1, r6 ldr r2, =gUnknown_08587A70 ldr r0, =gUnknown_02039F26 adds r0, r5, r0 ldrb r0, [r0] adds r0, r2 ldrb r0, [r0] strh r0, [r1, 0x22] ldr r0, [r3, 0x14] adds r0, r4, r0 ldrb r1, [r0, 0x1] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r6 adds r0, 0x3E ldrb r1, [r0] movs r3, 0x5 negs r3, r3 adds r2, r3, 0 ands r1, r2 b _080DE0D6 .pool _080DE0BC: mov r1, r9 ldr r0, [r1] ldr r0, [r0, 0x14] adds r0, r4, r0 ldrb r1, [r0, 0x1] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r6 adds r0, 0x3E ldrb r1, [r0] movs r2, 0x4 orrs r1, r2 _080DE0D6: strb r1, [r0] adds r4, 0x4 adds r7, 0x1C adds r5, 0x1 cmp r5, 0x3 ble _080DE026 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_80DE008 thumb_func_start sub_80DE0F0 sub_80DE0F0: @ 80DE0F0 push {lr} lsls r0, 24 lsrs r0, 24 ldr r1, =gContestResources ldr r1, [r1] ldr r2, [r1, 0x4] lsls r1, r0, 3 subs r1, r0 lsls r1, 2 adds r2, r1, r2 ldrb r1, [r2, 0x10] movs r0, 0xC0 ands r0, r1 cmp r0, 0x40 bne _080DE120 ldrb r0, [r2, 0x19] lsls r0, 5 ldr r1, =gUnknown_08D8E9B4 adds r0, r1 b _080DE122 .pool _080DE120: ldr r0, =gUnknown_08D8EA34 _080DE122: pop {r1} bx r1 .pool thumb_func_end sub_80DE0F0 thumb_func_start sub_80DE12C sub_80DE12C: @ 80DE12C push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x10 movs r7, 0 movs r0, 0x2 mov r10, r0 movs r0, 0x1 mov r8, r0 movs r0, 0x11 mov r9, r0 _080DE146: ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0, 0x8] adds r0, 0xD adds r0, r7 ldrb r0, [r0] cmp r0, 0 beq _080DE1CA lsls r0, r7, 24 lsrs r0, 24 bl Contest_IsMonsTurnDisabled lsls r0, 24 cmp r0, 0 bne _080DE1CA ldr r0, =gUnknown_02039F26 adds r0, r7, r0 ldrb r0, [r0] lsls r5, r0, 2 adds r5, r0 adds r6, r5, 0x2 movs r0, 0x3 bl sub_80DB748 adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 lsls r6, 24 lsrs r6, 24 mov r0, r10 str r0, [sp] mov r0, r8 str r0, [sp, 0x4] mov r0, r9 str r0, [sp, 0x8] mov r0, r8 str r0, [sp, 0xC] movs r0, 0 adds r1, r4, 0 movs r2, 0x14 adds r3, r6, 0 bl ContestBG_FillBoxWithIncrementingTile adds r4, 0x10 lsls r4, 16 lsrs r4, 16 adds r5, 0x3 lsls r5, 24 lsrs r5, 24 mov r0, r10 str r0, [sp] mov r0, r8 str r0, [sp, 0x4] mov r0, r9 str r0, [sp, 0x8] mov r0, r8 str r0, [sp, 0xC] movs r0, 0 adds r1, r4, 0 movs r2, 0x14 adds r3, r5, 0 bl ContestBG_FillBoxWithIncrementingTile movs r0, 0x63 bl PlaySE _080DE1CA: adds r7, 0x1 cmp r7, 0x3 ble _080DE146 add sp, 0x10 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DE12C thumb_func_start sub_80DE1E8 sub_80DE1E8: @ 80DE1E8 push {lr} lsls r0, 24 lsrs r0, 24 ldr r1, =gContestResources ldr r1, [r1] ldr r2, [r1, 0x4] lsls r1, r0, 3 subs r1, r0 lsls r1, 2 adds r2, r1, r2 ldrb r1, [r2, 0x15] movs r3, 0x1 adds r0, r3, 0 ands r0, r1 cmp r0, 0 bne _080DE212 ldrb r1, [r2, 0xC] adds r0, r3, 0 ands r0, r1 cmp r0, 0 beq _080DE21C _080DE212: movs r0, 0 b _080DE21E .pool _080DE21C: movs r0, 0x1 _080DE21E: pop {r1} bx r1 thumb_func_end sub_80DE1E8 thumb_func_start sub_80DE224 sub_80DE224: @ 80DE224 push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0xC movs r0, 0xA bl GetGpuReg mov r1, sp strh r0, [r1] mov r2, sp ldrb r1, [r2] movs r4, 0x4 negs r4, r4 adds r0, r4, 0 ands r0, r1 strb r0, [r2] ldrb r1, [r2, 0x1] movs r0, 0x3F ands r0, r1 movs r1, 0x80 orrs r0, r1 strb r0, [r2, 0x1] ldrb r1, [r2, 0x1] movs r0, 0x21 negs r0, r0 ands r0, r1 strb r0, [r2, 0x1] ldrb r1, [r2] movs r0, 0xD negs r0, r0 mov r8, r0 ands r0, r1 strb r0, [r2] mov r0, sp ldrh r1, [r0] movs r0, 0xA bl SetGpuReg movs r0, 0x8 bl GetGpuReg mov r6, sp adds r6, 0x2 strh r0, [r6] movs r0, 0xC bl GetGpuReg add r5, sp, 0x4 strh r0, [r5] ldrb r1, [r6] adds r0, r4, 0 ands r0, r1 movs r1, 0x1 orrs r0, r1 strb r0, [r6] ldrb r0, [r5] ands r4, r0 orrs r4, r1 strb r4, [r5] ldrh r1, [r6] movs r0, 0x8 bl SetGpuReg ldrh r1, [r5] movs r0, 0xC bl SetGpuReg ldr r1, =gBattle_BG1_X movs r0, 0xF0 strh r0, [r1] ldr r4, =gBattle_BG1_Y movs r0, 0xA0 strh r0, [r4] movs r0, 0x14 movs r1, 0xF0 bl SetGpuReg ldrh r1, [r4] movs r0, 0x16 bl SetGpuReg movs r0, 0 str r0, [sp, 0x8] add r0, sp, 0x8 ldr r4, =gContestResources ldr r1, [r4] ldr r1, [r1, 0x28] ldr r2, =0x05000400 bl CpuSet ldr r1, =gUnknown_08C17980 movs r0, 0x1 movs r2, 0 movs r3, 0 bl CopyToBgTilemapBuffer movs r0, 0x1 bl Contest_SetBgCopyFlags movs r5, 0 ldr r7, =gSprites movs r6, 0x4 _080DE2F0: ldr r0, [r4] ldr r0, [r0, 0x14] lsls r3, r5, 2 adds r0, r3, r0 ldrb r0, [r0] lsls r1, r0, 4 adds r1, r0 lsls r1, 2 adds r1, r7 ldrb r2, [r1, 0x5] mov r0, r8 ands r0, r2 orrs r0, r6 strb r0, [r1, 0x5] ldr r0, [r4] ldr r0, [r0, 0x14] adds r3, r0 ldrb r0, [r3, 0x1] lsls r1, r0, 4 adds r1, r0 lsls r1, 2 adds r1, r7 ldrb r2, [r1, 0x5] mov r0, r8 ands r0, r2 orrs r0, r6 strb r0, [r1, 0x5] adds r5, 0x1 cmp r5, 0x3 ble _080DE2F0 add sp, 0xC pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DE224 thumb_func_start sub_80DE350 sub_80DE350: @ 80DE350 push {r4-r7,lr} sub sp, 0x8 ldr r1, =0x06008000 movs r2, 0x80 lsls r2, 6 movs r0, 0 movs r3, 0x1 bl RequestDma3Fill movs r5, 0 str r5, [sp] ldr r6, =gContestResources ldr r0, [r6] ldr r1, [r0, 0x28] ldr r2, =0x05000400 mov r0, sp bl CpuSet movs r0, 0x1 bl Contest_SetBgCopyFlags movs r0, 0xA bl GetGpuReg add r3, sp, 0x4 strh r0, [r3] ldrb r1, [r3] movs r0, 0x4 negs r0, r0 ands r0, r1 movs r1, 0x1 orrs r0, r1 strb r0, [r3] mov r1, sp adds r1, 0x5 ldrb r2, [r1] movs r0, 0x3F ands r0, r2 strb r0, [r1] ldrb r2, [r1] movs r0, 0x21 negs r0, r0 ands r0, r2 strb r0, [r1] ldrb r1, [r3] movs r4, 0xD negs r4, r4 adds r0, r4, 0 ands r0, r1 movs r1, 0x8 orrs r0, r1 strb r0, [r3] ldrh r1, [r3] movs r0, 0xA bl SetGpuReg ldr r0, =gBattle_BG1_X strh r5, [r0] ldr r0, =gBattle_BG1_Y strh r5, [r0] ldr r7, =gSprites _080DE3CA: ldr r0, [r6] ldr r0, [r0, 0x14] lsls r3, r5, 2 adds r0, r3, r0 ldrb r0, [r0] lsls r1, r0, 4 adds r1, r0 lsls r1, 2 adds r1, r7 ldrb r2, [r1, 0x5] adds r0, r4, 0 ands r0, r2 strb r0, [r1, 0x5] ldr r0, [r6] ldr r0, [r0, 0x14] adds r3, r0 ldrb r0, [r3, 0x1] lsls r1, r0, 4 adds r1, r0 lsls r1, 2 adds r1, r7 ldrb r2, [r1, 0x5] adds r0, r4, 0 ands r0, r2 strb r0, [r1, 0x5] adds r5, 0x1 cmp r5, 0x3 ble _080DE3CA add sp, 0x8 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DE350 thumb_func_start sub_80DE424 sub_80DE424: @ 80DE424 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r1, =gBattle_BG1_X movs r0, 0 strh r0, [r1] ldr r1, =gBattle_BG1_Y movs r0, 0xA0 strh r0, [r1] movs r0, 0x62 movs r1, 0 bl PlaySE12WithPanning ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 ldr r1, =sub_80DE464 str r1, [r0] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80DE424 thumb_func_start sub_80DE464 sub_80DE464: @ 80DE464 push {lr} lsls r0, 24 lsrs r3, r0, 24 ldr r1, =gBattle_BG1_Y ldrh r0, [r1] subs r0, 0x7 strh r0, [r1] lsls r0, 16 cmp r0, 0 bge _080DE47C movs r0, 0 strh r0, [r1] _080DE47C: ldrh r2, [r1] cmp r2, 0 bne _080DE496 ldr r0, =gTasks lsls r1, r3, 2 adds r1, r3 lsls r1, 3 adds r1, r0 strh r2, [r1, 0x8] strh r2, [r1, 0xA] strh r2, [r1, 0xC] ldr r0, =sub_80DE4A8 str r0, [r1] _080DE496: pop {r0} bx r0 .pool thumb_func_end sub_80DE464 thumb_func_start sub_80DE4A8 sub_80DE4A8: @ 80DE4A8 push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r1, =gTasks lsls r3, r4, 2 adds r0, r3, r4 lsls r0, 3 adds r5, r0, r1 movs r0, 0x8 ldrsh r1, [r5, r0] cmp r1, 0x1 beq _080DE52C cmp r1, 0x1 bgt _080DE4D0 cmp r1, 0 beq _080DE4DA b _080DE5B4 .pool _080DE4D0: cmp r1, 0x2 beq _080DE58A cmp r1, 0x3 beq _080DE5A4 b _080DE5B4 _080DE4DA: movs r2, 0 adds r6, r3, 0 ldr r5, =gContestResources ldr r3, =gUnknown_02039F26 _080DE4E2: ldr r0, [r5] ldr r1, [r0] adds r1, 0x14 adds r1, r2 adds r0, r2, r3 ldrb r0, [r0] strb r0, [r1] adds r2, 0x1 cmp r2, 0x3 ble _080DE4E2 bl sub_80DBF90 bl sub_80DC864 bl sub_80DB69C bl sub_80DD04C movs r0, 0x1 bl sub_80DE008 bl sub_80DC44C ldr r0, =gTasks adds r1, r6, r4 lsls r1, 3 adds r1, r0 movs r0, 0x1 strh r0, [r1, 0x8] b _080DE5B4 .pool _080DE52C: ldr r0, =gIsLinkContest ldrb r0, [r0] ands r1, r0 cmp r1, 0 beq _080DE584 ldr r0, =gContestResources ldr r0, [r0] ldr r2, [r0] ldrb r0, [r2, 0x7] movs r1, 0x4 orrs r0, r1 strb r0, [r2, 0x7] bl sub_80DA8A4 lsls r0, 24 cmp r0, 0 beq _080DE552 bl sub_80DBAA0 _080DE552: ldr r4, =sub_80FCC88 adds r0, r4, 0 movs r1, 0 bl CreateTask lsls r0, 24 lsrs r0, 24 ldr r2, =sub_80DA110 adds r1, r4, 0 bl SetTaskFuncWithFollowupFunc bl sub_80DBF68 movs r0, 0x2 strh r0, [r5, 0x8] b _080DE5B4 .pool _080DE584: bl sub_80DBAA0 b _080DE59A _080DE58A: ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0] ldrb r1, [r0, 0x7] movs r0, 0x4 ands r0, r1 cmp r0, 0 bne _080DE5B4 _080DE59A: movs r0, 0x3 strh r0, [r5, 0x8] b _080DE5B4 .pool _080DE5A4: bl sub_80DB884 bl sub_80DB2BC movs r0, 0 strh r0, [r5, 0x8] ldr r0, =sub_80DE5F4 str r0, [r5] _080DE5B4: pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_80DE4A8 thumb_func_start sub_80DE5C0 sub_80DE5C0: @ 80DE5C0 push {lr} lsls r0, 24 lsrs r2, r0, 24 ldr r1, =gBattle_BG1_Y ldrh r0, [r1] adds r0, 0x7 strh r0, [r1] lsls r0, 16 asrs r0, 16 cmp r0, 0xA0 ble _080DE5E4 ldr r0, =gTasks lsls r1, r2, 2 adds r1, r2 lsls r1, 3 adds r1, r0 ldr r0, =sub_80DA4F4 str r0, [r1] _080DE5E4: pop {r0} bx r0 .pool thumb_func_end sub_80DE5C0 thumb_func_start sub_80DE5F4 sub_80DE5F4: @ 80DE5F4 push {r4,lr} lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r1, r2 ldrh r2, [r1, 0xC] movs r3, 0xC ldrsh r0, [r1, r3] cmp r0, 0x9 bgt _080DE618 adds r0, r2, 0x1 strh r0, [r1, 0xC] b _080DE654 .pool _080DE618: ldrh r3, [r1, 0xA] movs r4, 0xA ldrsh r0, [r1, r4] cmp r0, 0 bne _080DE636 ldrh r2, [r1, 0x8] movs r4, 0x8 ldrsh r0, [r1, r4] cmp r0, 0x10 bne _080DE632 adds r0, r3, 0x1 strh r0, [r1, 0xA] b _080DE654 _080DE632: adds r0, r2, 0x1 b _080DE652 _080DE636: ldrh r0, [r1, 0x8] movs r3, 0x8 ldrsh r2, [r1, r3] cmp r2, 0 bne _080DE650 strh r2, [r1, 0xA] strh r2, [r1, 0xC] ldr r0, =sub_80DE65C str r0, [r1] b _080DE654 .pool _080DE650: subs r0, 0x1 _080DE652: strh r0, [r1, 0x8] _080DE654: pop {r4} pop {r0} bx r0 thumb_func_end sub_80DE5F4 thumb_func_start sub_80DE65C sub_80DE65C: @ 80DE65C push {r4,lr} lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r4, r1, r2 ldrh r1, [r4, 0xC] movs r2, 0xC ldrsh r0, [r4, r2] cmp r0, 0x9 bgt _080DE680 adds r0, r1, 0x1 strh r0, [r4, 0xC] b _080DE690 .pool _080DE680: movs r0, 0 strh r0, [r4, 0xC] movs r0, 0x61 movs r1, 0 bl PlaySE12WithPanning ldr r0, =sub_80DE5C0 str r0, [r4] _080DE690: pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80DE65C thumb_func_start sub_80DE69C sub_80DE69C: @ 80DE69C push {r4-r7,lr} mov r7, r8 push {r7} lsls r0, 24 lsrs r0, 24 mov r8, r0 movs r7, 0 ldr r6, =gSprites ldr r5, =gContestResources _080DE6AE: bl AllocOamMatrix ldr r1, [r5] ldr r1, [r1, 0x14] lsls r4, r7, 2 adds r1, r4, r1 ldrb r1, [r1] lsls r3, r1, 4 adds r3, r1 lsls r3, 2 adds r3, r6 lsls r0, 24 lsrs r0, 24 movs r1, 0x1F ands r0, r1 lsls r0, 1 ldrb r1, [r3, 0x3] movs r2, 0x3F negs r2, r2 mov r12, r2 mov r2, r12 ands r1, r2 orrs r1, r0 strb r1, [r3, 0x3] ldr r0, [r5] ldr r0, [r0, 0x14] adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r6 ldrb r2, [r0, 0x1] movs r3, 0x4 negs r3, r3 adds r1, r3, 0 ands r2, r1 movs r1, 0x1 orrs r2, r1 strb r2, [r0, 0x1] ldr r0, [r5] ldr r0, [r0, 0x14] adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r6 mov r1, r8 bl StartSpriteAffineAnim mov r0, r8 cmp r0, 0x2 bne _080DE74C ldr r0, [r5] ldr r0, [r0, 0x14] adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r6 bl AnimateSprite ldr r0, [r5] ldr r0, [r0, 0x14] adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r6 adds r0, 0x3E ldrb r1, [r0] movs r3, 0x5 negs r3, r3 adds r2, r3, 0 ands r1, r2 strb r1, [r0] _080DE74C: adds r7, 0x1 cmp r7, 0x3 ble _080DE6AE ldr r0, =sub_80DE794 movs r1, 0x5 bl CreateTask lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r1, r2 mov r0, r8 strh r0, [r1, 0x8] ldr r0, =gContestResources ldr r0, [r0] ldr r2, [r0] ldrb r0, [r2, 0x7] movs r1, 0x2 orrs r0, r1 strb r0, [r2, 0x7] pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DE69C thumb_func_start sub_80DE794 sub_80DE794: @ 80DE794 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 ldr r2, =gSprites ldr r3, =gContestResources ldr r0, [r3] ldr r0, [r0, 0x14] ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r2 adds r0, 0x3F ldrb r0, [r0] lsls r0, 26 cmp r0, 0 bge _080DE822 ldr r0, =gTasks lsls r1, r6, 2 adds r1, r6 lsls r1, 3 adds r1, r0 ldrb r0, [r1, 0x8] cmp r0, 0x1 bne _080DE7EC movs r4, 0 adds r5, r2, 0 movs r2, 0x4 _080DE7CC: ldr r0, [r3] ldr r1, [r0, 0x14] lsls r0, r4, 2 adds r0, r1 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 adds r0, 0x3E ldrb r1, [r0] orrs r1, r2 strb r1, [r0] adds r4, 0x1 cmp r4, 0x3 ble _080DE7CC _080DE7EC: movs r4, 0 _080DE7EE: ldr r5, =gContestResources ldr r0, [r5] ldr r1, [r0, 0x14] lsls r0, r4, 2 adds r0, r1 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 ldr r1, =gSprites adds r0, r1 bl FreeSpriteOamMatrix adds r4, 0x1 cmp r4, 0x3 ble _080DE7EE ldr r0, [r5] ldr r2, [r0] ldrb r1, [r2, 0x7] movs r0, 0x3 negs r0, r0 ands r0, r1 strb r0, [r2, 0x7] adds r0, r6, 0 bl DestroyTask _080DE822: pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_80DE794 thumb_func_start sub_80DE834 sub_80DE834: @ 80DE834 push {lr} lsls r0, 16 lsrs r1, r0, 16 movs r0, 0xB1 lsls r0, 1 cmp r1, r0 bls _080DE844 movs r1, 0x1 _080DE844: adds r0, r1, 0 pop {r1} bx r1 thumb_func_end sub_80DE834 thumb_func_start sub_80DE84C sub_80DE84C: @ 80DE84C push {lr} lsls r0, 16 lsrs r1, r0, 16 ldr r0, =0x0000019b cmp r1, r0 bls _080DE85A movs r1, 0 _080DE85A: adds r0, r1, 0 pop {r1} bx r1 .pool thumb_func_end sub_80DE84C thumb_func_start sub_80DE864 sub_80DE864: @ 80DE864 push {r4-r7,lr} lsls r0, 24 lsrs r7, r0, 24 ldr r4, =gContestResources ldr r0, [r4] ldr r1, [r0, 0x4] lsls r0, r7, 3 subs r0, r7 lsls r0, 2 adds r0, r1 ldrh r0, [r0, 0x6] bl sub_80DE834 lsls r0, 16 lsrs r5, r0, 16 ldr r1, =gContestMons lsls r0, r7, 6 adds r0, r1 ldrh r0, [r0] bl sub_80DE84C lsls r0, 16 lsrs r6, r0, 16 ldr r0, [r4] ldr r0, [r0, 0x18] movs r1, 0 movs r2, 0x14 bl memset bl ClearBattleAnimationVars ldr r1, =gBattleMonForms movs r2, 0 adds r0, r1, 0x3 _080DE8A8: strb r2, [r0] subs r0, 0x1 cmp r0, r1 bge _080DE8A8 cmp r5, 0x90 beq _080DE920 cmp r5, 0x90 bgt _080DE8DE cmp r5, 0x4C beq _080DE978 cmp r5, 0x4C bgt _080DE8D4 cmp r5, 0xD beq _080DE978 b _080DE9A2 .pool _080DE8D4: cmp r5, 0x82 beq _080DE978 cmp r5, 0x8F beq _080DE978 b _080DE9A2 _080DE8DE: cmp r5, 0xD8 beq _080DE960 cmp r5, 0xD8 bgt _080DE8EC cmp r5, 0xAE beq _080DE8FA b _080DE9A2 _080DE8EC: cmp r5, 0xDA beq _080DE96C movs r0, 0x88 lsls r0, 1 cmp r5, r0 beq _080DE920 b _080DE9A2 _080DE8FA: ldr r0, =gBaseStats lsls r1, r6, 3 subs r1, r6 lsls r1, 2 adds r1, r0 ldrb r0, [r1, 0x6] cmp r0, 0x7 beq _080DE910 ldrb r0, [r1, 0x7] cmp r0, 0x7 bne _080DE99C _080DE910: ldr r1, =gAnimMoveTurn movs r0, 0 b _080DE9A0 .pool _080DE920: ldr r6, =gContestResources ldr r0, [r6] ldr r1, [r0, 0x4] lsls r0, r7, 3 subs r0, r7 lsls r0, 2 adds r0, r1 ldrb r4, [r0, 0x1B] ldr r5, =gContestMons lsls r4, 6 adds r0, r4, r5 ldrh r0, [r0] bl sub_80DE84C ldr r2, [r6] ldr r1, [r2, 0x18] strh r0, [r1, 0x2] ldr r2, [r2, 0x18] adds r5, 0x38 adds r4, r5 ldr r0, [r4] str r0, [r2, 0x10] ldrb r0, [r2, 0x4] movs r1, 0x1 orrs r0, r1 strb r0, [r2, 0x4] b _080DE9A2 .pool _080DE960: ldr r1, =gAnimFriendship movs r0, 0xFF b _080DE9A0 .pool _080DE96C: ldr r1, =gAnimFriendship movs r0, 0 b _080DE9A0 .pool _080DE978: ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0] adds r2, r0, 0 adds r2, 0x5A ldrb r1, [r2] cmp r1, 0 bne _080DE99C movs r0, 0x2 strb r0, [r2] ldr r0, =gAnimMoveTurn strb r1, [r0] b _080DE9A2 .pool _080DE99C: ldr r1, =gAnimMoveTurn movs r0, 0x1 _080DE9A0: strb r0, [r1] _080DE9A2: bl sub_80DEA5C pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DE864 thumb_func_start sub_80DE9B0 sub_80DE9B0: @ 80DE9B0 push {r4,lr} ldr r4, =gContestResources ldr r0, [r4] ldr r0, [r0, 0x18] movs r1, 0 movs r2, 0x14 bl memset ldr r0, [r4] ldr r0, [r0] adds r1, r0, 0 adds r1, 0x5A ldrb r0, [r1] cmp r0, 0 beq _080DE9D2 subs r0, 0x1 strb r0, [r1] _080DE9D2: pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80DE9B0 thumb_func_start sub_80DE9DC sub_80DE9DC: @ 80DE9DC push {r4-r6,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r6, =gContestResources ldr r0, [r6] ldr r0, [r0, 0x18] strb r4, [r0, 0x5] ldr r5, =gContestMons lsls r4, 6 adds r0, r4, r5 ldrh r0, [r0] bl sub_80DE84C ldr r2, [r6] ldr r1, [r2, 0x18] strh r0, [r1] ldr r1, [r2, 0x18] adds r0, r5, 0 adds r0, 0x38 adds r0, r4, r0 ldr r0, [r0] str r0, [r1, 0x8] adds r5, 0x3C adds r4, r5 ldr r0, [r4] str r0, [r1, 0xC] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_80DE9DC thumb_func_start sub_80DEA20 sub_80DEA20: @ 80DEA20 push {lr} ldr r0, =SpriteCallbackDummy bl CreateInvisibleSpriteWithCallback ldr r1, =gBattlerSpriteIds strb r0, [r1, 0x3] ldr r0, =gBattlerTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 ldr r1, =gSprites adds r0, r1 bl InitSpriteAffineAnim bl sub_80DEA5C pop {r0} bx r0 .pool thumb_func_end sub_80DEA20 thumb_func_start sub_80DEA5C sub_80DEA5C: @ 80DEA5C push {r4,lr} ldr r0, =gBattlerSpriteIds ldrb r0, [r0, 0x3] lsls r4, r0, 4 adds r4, r0 lsls r4, 2 ldr r0, =gSprites adds r4, r0 movs r0, 0 strh r0, [r4, 0x24] strh r0, [r4, 0x26] movs r0, 0x3 movs r1, 0 bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] movs r0, 0x3 movs r1, 0x1 bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] adds r4, 0x3E ldrb r0, [r4] movs r1, 0x4 orrs r0, r1 strb r0, [r4] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80DEA5C thumb_func_start sub_80DEAA8 sub_80DEAA8: @ 80DEAA8 push {lr} lsls r0, 16 lsrs r0, 16 ldr r2, =gBattleMoves lsls r1, r0, 4 adds r1, r2 ldrb r0, [r1, 0x6] cmp r0, 0x20 bhi _080DEB60 lsls r0, 2 ldr r1, =_080DEAD0 adds r0, r1 ldr r0, [r0] mov pc, r0 .pool .align 2, 0 _080DEAD0: .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB54 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB54 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 .4byte _080DEB60 _080DEB54: ldr r1, =gBattlerTarget movs r0, 0x2 b _080DEB64 .pool _080DEB60: ldr r1, =gBattlerTarget movs r0, 0x3 _080DEB64: strb r0, [r1] pop {r0} bx r0 .pool thumb_func_end sub_80DEAA8 thumb_func_start Contest_PrintTextToBg0WindowStd Contest_PrintTextToBg0WindowStd: @ 80DEB70 push {r4,lr} sub sp, 0x10 adds r4, r0, 0 str r1, [sp] mov r0, sp movs r2, 0 strb r4, [r0, 0x4] movs r1, 0x1 strb r1, [r0, 0x5] strb r2, [r0, 0x6] strb r1, [r0, 0x7] strb r2, [r0, 0x8] strb r1, [r0, 0x9] strb r2, [r0, 0xA] strb r2, [r0, 0xB] mov r3, sp ldrb r2, [r3, 0xC] subs r1, 0x11 adds r0, r1, 0 ands r0, r2 strb r0, [r3, 0xC] mov r2, sp movs r0, 0xF0 strb r0, [r2, 0xC] ldrb r0, [r2, 0xD] ands r1, r0 strb r1, [r2, 0xD] mov r1, sp movs r0, 0x80 strb r0, [r1, 0xD] mov r0, sp movs r1, 0 movs r2, 0 bl AddTextPrinter lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 bl PutWindowTilemap movs r0, 0 bl Contest_SetBgCopyFlags add sp, 0x10 pop {r4} pop {r0} bx r0 thumb_func_end Contest_PrintTextToBg0WindowStd thumb_func_start Contest_PrintTextToBg0WindowAt Contest_PrintTextToBg0WindowAt: @ 80DEBD0 push {r4,r5,lr} sub sp, 0x10 adds r5, r0, 0 ldr r4, [sp, 0x1C] str r1, [sp] mov r0, sp movs r1, 0 strb r5, [r0, 0x4] strb r4, [r0, 0x5] strb r2, [r0, 0x6] strb r3, [r0, 0x7] strb r2, [r0, 0x8] strb r3, [r0, 0x9] strb r1, [r0, 0xA] strb r1, [r0, 0xB] mov r3, sp ldrb r2, [r3, 0xC] subs r1, 0x10 adds r0, r1, 0 ands r0, r2 strb r0, [r3, 0xC] mov r2, sp movs r0, 0xF0 strb r0, [r2, 0xC] ldrb r0, [r2, 0xD] ands r1, r0 strb r1, [r2, 0xD] mov r1, sp movs r0, 0x80 strb r0, [r1, 0xD] mov r0, sp movs r1, 0 movs r2, 0 bl AddTextPrinter lsls r5, 24 lsrs r5, 24 adds r0, r5, 0 bl PutWindowTilemap movs r0, 0 bl Contest_SetBgCopyFlags add sp, 0x10 pop {r4,r5} pop {r0} bx r0 thumb_func_end Contest_PrintTextToBg0WindowAt thumb_func_start Contest_StartTextPrinter Contest_StartTextPrinter: @ 80DEC30 push {r4,r5,lr} sub sp, 0x10 str r0, [sp] mov r2, sp movs r3, 0 movs r0, 0x4 strb r0, [r2, 0x4] mov r0, sp movs r5, 0x1 strb r5, [r0, 0x5] strb r3, [r0, 0x6] strb r5, [r0, 0x7] strb r3, [r0, 0x8] strb r5, [r0, 0x9] strb r3, [r0, 0xA] strb r3, [r0, 0xB] mov r4, sp ldrb r3, [r4, 0xC] movs r2, 0x10 negs r2, r2 adds r0, r2, 0 ands r0, r3 strb r0, [r4, 0xC] mov r3, sp movs r0, 0x10 strb r0, [r3, 0xC] ldrb r0, [r3, 0xD] ands r2, r0 strb r2, [r3, 0xD] mov r2, sp movs r0, 0x80 strb r0, [r2, 0xD] cmp r1, 0 bne _080DEC80 mov r0, sp movs r1, 0 movs r2, 0 bl AddTextPrinter b _080DECA4 _080DEC80: ldr r0, =gIsLinkContest ldrb r1, [r0] adds r0, r5, 0 ands r0, r1 cmp r0, 0 beq _080DEC94 movs r1, 0x4 b _080DEC9C .pool _080DEC94: bl GetPlayerTextSpeed lsls r0, 24 lsrs r1, r0, 24 _080DEC9C: mov r0, sp movs r2, 0 bl AddTextPrinter _080DECA4: movs r0, 0x4 bl PutWindowTilemap movs r0, 0 bl Contest_SetBgCopyFlags add sp, 0x10 pop {r4,r5} pop {r0} bx r0 thumb_func_end Contest_StartTextPrinter thumb_func_start ContestBG_FillBoxWithIncrementingTile ContestBG_FillBoxWithIncrementingTile: @ 80DECB8 push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x10 mov r8, r0 ldr r0, [sp, 0x28] ldr r4, [sp, 0x2C] ldr r5, [sp, 0x30] ldr r6, [sp, 0x34] mov r7, r8 lsls r7, 24 lsrs r7, 24 mov r8, r7 lsls r1, 16 lsrs r1, 16 lsls r2, 24 lsrs r2, 24 lsls r3, 24 lsrs r3, 24 lsls r0, 24 lsrs r0, 24 lsls r4, 24 lsrs r4, 24 lsls r5, 24 lsrs r5, 24 str r0, [sp] str r4, [sp, 0x4] str r5, [sp, 0x8] lsls r6, 16 asrs r6, 16 str r6, [sp, 0xC] mov r0, r8 bl WriteSequenceToBgTilemapBuffer mov r0, r8 bl Contest_SetBgCopyFlags add sp, 0x10 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 thumb_func_end ContestBG_FillBoxWithIncrementingTile thumb_func_start ContestBG_FillBoxWithTile ContestBG_FillBoxWithTile: @ 80DED10 push {r4-r6,lr} sub sp, 0x10 ldr r4, [sp, 0x20] ldr r5, [sp, 0x24] ldr r6, [sp, 0x28] lsls r0, 24 lsrs r0, 24 lsls r1, 16 lsrs r1, 16 lsls r2, 24 lsrs r2, 24 lsls r3, 24 lsrs r3, 24 lsls r4, 24 lsrs r4, 24 lsls r5, 24 lsrs r5, 24 lsls r6, 24 lsrs r6, 24 str r4, [sp] str r5, [sp, 0x4] str r6, [sp, 0x8] movs r4, 0 str r4, [sp, 0xC] bl ContestBG_FillBoxWithIncrementingTile add sp, 0x10 pop {r4-r6} pop {r0} bx r0 thumb_func_end ContestBG_FillBoxWithTile thumb_func_start Contest_RunTextPrinters Contest_RunTextPrinters: @ 80DED4C push {lr} bl RunTextPrinters movs r0, 0x4 bl IsTextPrinterActive lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 thumb_func_end Contest_RunTextPrinters thumb_func_start Contest_SetBgCopyFlags Contest_SetBgCopyFlags: @ 80DED60 ldr r2, =sContestBgCopyFlags movs r1, 0x1 lsls r1, r0 ldrb r0, [r2] orrs r1, r0 strb r1, [r2] bx lr .pool thumb_func_end Contest_SetBgCopyFlags thumb_func_start ResetContestLinkResults ResetContestLinkResults: @ 80DED74 push {r4-r6,lr} movs r0, 0 ldr r6, =gSaveBlock2Ptr ldr r5, =0x00000624 movs r4, 0 _080DED7E: adds r3, r0, 0x1 lsls r1, r0, 3 movs r2, 0x3 _080DED84: ldr r0, [r6] adds r0, r5 adds r0, r1 strh r4, [r0] adds r1, 0x2 subs r2, 0x1 cmp r2, 0 bge _080DED84 adds r0, r3, 0 cmp r0, 0x4 ble _080DED7E pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end ResetContestLinkResults thumb_func_start sub_80DEDA8 sub_80DEDA8: @ 80DEDA8 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x4 lsls r0, 24 lsrs r0, 24 str r0, [sp] bl Random lsls r0, 16 lsrs r0, 16 movs r1, 0x3 bl __umodsi3 lsls r0, 24 lsrs r0, 24 mov r8, r0 movs r5, 0 ldr r1, =gContestFinalStandings ldrb r0, [r1] cmp r0, 0 beq _080DEDE6 _080DEDD8: adds r5, 0x1 cmp r5, 0x2 bgt _080DEDE6 adds r0, r5, r1 ldrb r0, [r0] cmp r0, 0 bne _080DEDD8 _080DEDE6: ldr r0, [sp] cmp r0, 0xFF bne _080DEE00 ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] cmp r5, r0 beq _080DEE00 movs r0, 0 b _080DEF90 .pool _080DEE00: ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bhi _080DEE4C lsls r0, 2 ldr r1, =_080DEE1C adds r0, r1 ldr r0, [r0] mov pc, r0 .pool .align 2, 0 _080DEE1C: .4byte _080DEE4C .4byte _080DEE30 .4byte _080DEE36 .4byte _080DEE3C .4byte _080DEE42 _080DEE30: mov r0, r8 adds r0, 0x3 b _080DEE46 _080DEE36: mov r0, r8 adds r0, 0x6 b _080DEE46 _080DEE3C: mov r0, r8 adds r0, 0x9 b _080DEE46 _080DEE42: mov r0, r8 adds r0, 0xC _080DEE46: lsls r0, 24 lsrs r0, 24 mov r8, r0 _080DEE4C: ldr r1, [sp] cmp r1, 0xFE bne _080DEE54 b _080DEF50 _080DEE54: adds r0, r1, 0 movs r1, 0x1 bl sub_80DEFA8 lsls r0, 24 lsrs r0, 24 mov r9, r0 ldr r2, =gSaveBlock1Ptr mov r10, r2 ldr r0, [r2] mov r3, r9 lsls r7, r3, 5 ldr r6, =0x00002e90 adds r2, r0, r6 adds r2, r7 ldr r4, =gContestMons lsls r5, 6 adds r1, r4, 0 adds r1, 0x38 adds r1, r5, r1 ldr r1, [r1] str r1, [r2] adds r1, r0, r7 adds r2, r5, r4 ldrh r2, [r2] ldr r3, =0x00002e98 adds r1, r3 strh r2, [r1] ldr r1, =0x00002e94 adds r2, r0, r1 adds r2, r7 adds r1, r4, 0 adds r1, 0x3C adds r1, r5, r1 ldr r1, [r1] str r1, [r2] adds r6, r7, r6 adds r0, r6 adds r0, 0xB adds r1, r4, 0x2 adds r1, r5, r1 bl StringCopy mov r2, r10 ldr r0, [r2] adds r0, r6 adds r0, 0x16 adds r4, 0xD adds r5, r4 adds r1, r5, 0 bl StringCopy ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _080DEEF4 mov r3, r10 ldr r0, [r3] adds r0, r7 ldr r1, =0x00002eae adds r0, r1 movs r1, 0x4 b _080DEF02 .pool _080DEEF4: mov r2, r10 ldr r0, [r2] adds r0, r7 ldr r1, =gSpecialVar_ContestRank ldrh r1, [r1] ldr r3, =0x00002eae adds r0, r3 _080DEF02: strb r1, [r0] ldr r0, [sp] cmp r0, 0xFF beq _080DEF34 ldr r0, =gSaveBlock1Ptr ldr r0, [r0] mov r2, r9 lsls r1, r2, 5 adds r0, r1 ldr r1, =gSpecialVar_ContestCategory ldrh r1, [r1] ldr r3, =0x00002e9a adds r0, r3 strb r1, [r0] b _080DEF8E .pool _080DEF34: ldr r0, =gSaveBlock1Ptr ldr r0, [r0] mov r2, r9 lsls r1, r2, 5 adds r0, r1 ldr r3, =0x00002e9a adds r0, r3 mov r1, r8 strb r1, [r0] b _080DEF8E .pool _080DEF50: ldr r6, =gUnknown_02039F3C ldr r4, =gContestMons lsls r5, 6 adds r0, r4, 0 adds r0, 0x38 adds r0, r5, r0 ldr r0, [r0] str r0, [r6] adds r0, r4, 0 adds r0, 0x3C adds r0, r5, r0 ldr r0, [r0] str r0, [r6, 0x4] adds r0, r5, r4 ldrh r0, [r0] strh r0, [r6, 0x8] adds r0, r6, 0 adds r0, 0xB adds r1, r4, 0x2 adds r1, r5, r1 bl StringCopy adds r0, r6, 0 adds r0, 0x16 adds r4, 0xD adds r5, r4 adds r1, r5, 0 bl StringCopy mov r2, r8 strb r2, [r6, 0xA] _080DEF8E: movs r0, 0x1 _080DEF90: add sp, 0x4 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r1} bx r1 .pool thumb_func_end sub_80DEDA8 thumb_func_start sub_80DEFA8 sub_80DEFA8: @ 80DEFA8 push {r4-r7,lr} lsls r0, 24 lsrs r0, 24 lsls r1, 24 lsrs r1, 24 cmp r0, 0x3 bgt _080DEFF8 cmp r0, 0 blt _080DEFF8 cmp r1, 0 beq _080DEFE6 movs r2, 0x5 ldr r0, =gSaveBlock1Ptr mov r12, r0 ldr r4, =0x00002e90 ldr r3, =0x00002e70 _080DEFC8: mov r1, r12 ldr r0, [r1] lsls r1, r2, 5 adds r1, r0 adds r0, r1, r4 adds r1, r3 ldm r1!, {r5-r7} stm r0!, {r5-r7} ldm r1!, {r5-r7} stm r0!, {r5-r7} ldm r1!, {r5,r6} stm r0!, {r5,r6} subs r2, 0x1 cmp r2, 0 bgt _080DEFC8 _080DEFE6: movs r0, 0 b _080DF03A .pool _080DEFF8: ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bhi _080DF038 lsls r0, 2 ldr r1, =_080DF014 adds r0, r1 ldr r0, [r0] mov pc, r0 .pool .align 2, 0 _080DF014: .4byte _080DF028 .4byte _080DF02C .4byte _080DF030 .4byte _080DF034 .4byte _080DF038 _080DF028: movs r0, 0x8 b _080DF03A _080DF02C: movs r0, 0x9 b _080DF03A _080DF030: movs r0, 0xA b _080DF03A _080DF034: movs r0, 0xB b _080DF03A _080DF038: movs r0, 0xC _080DF03A: pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_80DEFA8 thumb_func_start ClearContestWinnerPicsInContestHall ClearContestWinnerPicsInContestHall: @ 80DF040 push {r4-r7,lr} movs r2, 0 ldr r0, =gSaveBlock1Ptr mov r12, r0 ldr r4, =0x00002e90 ldr r3, =gUnknown_08587FA4 _080DF04C: mov r1, r12 ldr r0, [r1] lsls r1, r2, 5 adds r0, r1 adds r0, r4 adds r1, r3, 0 ldm r1!, {r5-r7} stm r0!, {r5-r7} ldm r1!, {r5-r7} stm r0!, {r5-r7} ldm r1!, {r5,r6} stm r0!, {r5,r6} adds r3, 0x20 adds r2, 0x1 cmp r2, 0x7 ble _080DF04C pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end ClearContestWinnerPicsInContestHall thumb_func_start sub_80DF080 sub_80DF080: @ 80DF080 push {r4-r7,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r2, =gContestResources ldr r3, [r2] ldr r5, [r3, 0x10] ldrb r1, [r5, 0x1] movs r7, 0x1 adds r0, r7, 0 ands r0, r1 adds r6, r2, 0 cmp r0, 0 bne _080DF0D2 movs r0, 0 ldrsb r0, [r5, r0] cmp r0, 0 ble _080DF0D2 ldr r1, [r3, 0x4] lsls r0, r4, 3 subs r0, r4 lsls r0, 2 adds r0, r1 ldrb r1, [r0, 0x15] adds r0, r7, 0 ands r0, r1 cmp r0, 0 bne _080DF0D2 ldr r1, [r3, 0x1C] lsls r2, r4, 4 adds r1, r2, r1 ldrb r3, [r1, 0xC] movs r0, 0x1 orrs r0, r3 strb r0, [r1, 0xC] ldr r0, [r6] ldr r0, [r0, 0x1C] adds r2, r0 ldrb r0, [r2, 0xE] movs r1, 0x2 orrs r0, r1 strb r0, [r2, 0xE] _080DF0D2: ldr r3, [r6] ldr r1, [r3, 0x4] lsls r2, r4, 3 subs r0, r2, r4 lsls r0, 2 adds r0, r1 ldrb r1, [r0, 0xC] movs r5, 0x1 adds r0, r5, 0 ands r0, r1 adds r7, r2, 0 cmp r0, 0 beq _080DF0FA ldr r0, [r3, 0x1C] lsls r1, r4, 4 adds r1, r0 ldrb r2, [r1, 0xC] movs r0, 0x2 orrs r0, r2 strb r0, [r1, 0xC] _080DF0FA: ldr r3, [r6] ldr r2, [r3, 0x10] ldrb r1, [r2, 0x1] adds r0, r5, 0 ands r0, r1 cmp r0, 0 bne _080DF126 movs r0, 0 ldrsb r0, [r2, r0] cmp r0, 0 beq _080DF126 movs r0, 0x2 ldrsb r0, [r2, r0] cmp r0, 0x3C bne _080DF126 ldr r0, [r3, 0x1C] lsls r1, r4, 4 adds r1, r0 ldrb r2, [r1, 0xC] movs r0, 0x4 orrs r0, r2 strb r0, [r1, 0xC] _080DF126: ldr r3, [r6] ldr r1, [r3, 0x4] subs r0, r7, r4 lsls r0, 2 adds r2, r0, r1 ldrb r1, [r2, 0x15] movs r0, 0x40 ands r0, r1 cmp r0, 0 beq _080DF14E ldrb r0, [r2, 0x16] cmp r0, 0 beq _080DF14E ldr r0, [r3, 0x1C] lsls r1, r4, 4 adds r1, r0 ldrb r2, [r1, 0xC] movs r0, 0x8 orrs r0, r2 strb r0, [r1, 0xC] _080DF14E: movs r3, 0 movs r5, 0 _080DF152: cmp r3, r4 beq _080DF180 ldr r1, [r6] ldr r0, [r1, 0x4] adds r0, r5, r0 ldrb r0, [r0, 0xE] cmp r0, 0 beq _080DF180 ldr r0, [r1, 0x1C] lsls r2, r4, 4 adds r2, r0 ldrb r0, [r2, 0xC] movs r1, 0x10 orrs r0, r1 strb r0, [r2, 0xC] ldr r0, [r6] ldr r0, [r0, 0x1C] lsls r2, r3, 4 adds r2, r0 ldrb r0, [r2, 0xC] movs r1, 0x40 orrs r0, r1 strb r0, [r2, 0xC] _080DF180: adds r5, 0x1C adds r3, 0x1 cmp r3, 0x3 ble _080DF152 ldr r2, [r6] ldr r1, [r2, 0x4] subs r0, r7, r4 lsls r5, r0, 2 adds r1, r5, r1 ldrb r3, [r1, 0xC] movs r0, 0x6 ands r0, r3 cmp r0, 0 bne _080DF1A6 ldrb r1, [r1, 0xB] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080DF1BC _080DF1A6: ldr r0, [r2, 0x1C] lsls r1, r4, 4 adds r1, r0 ldrb r2, [r1, 0xC] movs r0, 0x20 orrs r0, r2 strb r0, [r1, 0xC] b _080DF1F6 .pool _080DF1BC: movs r0, 0x1 ands r0, r3 cmp r0, 0 bne _080DF1F6 ldr r2, [r2, 0x1C] lsls r3, r4, 4 adds r2, r3, r2 ldrb r0, [r2, 0xC] movs r1, 0x80 orrs r0, r1 strb r0, [r2, 0xC] ldr r0, [r6] ldr r1, [r0, 0x1C] adds r1, r3, r1 ldrb r0, [r1, 0xE] movs r2, 0x1 orrs r0, r2 strb r0, [r1, 0xE] ldr r1, [r6] ldr r0, [r1, 0x1C] adds r3, r0 ldr r0, [r1] ldrb r0, [r0, 0x1] lsls r0, 1 adds r3, r0 ldr r0, [r1, 0x4] adds r0, r5, r0 ldrh r0, [r0, 0x6] strh r0, [r3] _080DF1F6: ldr r2, [r6] ldr r1, [r2, 0x4] subs r0, r7, r4 lsls r0, 2 adds r0, r1 ldrb r1, [r0, 0x15] movs r5, 0x1 adds r0, r5, 0 ands r0, r1 cmp r0, 0 beq _080DF21A ldr r0, [r2, 0x1C] lsls r1, r4, 4 adds r1, r0 ldrb r2, [r1, 0xD] movs r0, 0x2 orrs r0, r2 strb r0, [r1, 0xD] _080DF21A: ldr r2, [r6] ldr r0, [r2] ldrb r0, [r0, 0x13] lsls r0, 24 asrs r0, 24 cmp r0, 0x4 bne _080DF24A ldr r3, [r2, 0x10] ldrb r1, [r3, 0x1] adds r0, r5, 0 ands r0, r1 cmp r0, 0 bne _080DF24A movs r0, 0 ldrsb r0, [r3, r0] cmp r0, 0 bge _080DF24A ldr r0, [r2, 0x1C] lsls r1, r4, 4 adds r1, r0 ldrb r2, [r1, 0xD] movs r0, 0x20 orrs r0, r2 strb r0, [r1, 0xD] _080DF24A: pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_80DF080 thumb_func_start sub_80DF250 sub_80DF250: @ 80DF250 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x38 movs r1, 0 movs r0, 0 str r0, [sp, 0x20] movs r4, 0 ldr r6, =gContestResources mov r2, sp adds r2, 0xC str r2, [sp, 0x28] mov r3, sp adds r3, 0x14 str r3, [sp, 0x2C] mov r7, sp adds r7, 0x2 str r7, [sp, 0x24] ldr r5, =gContestFinalStandings movs r2, 0 movs r3, 0x80 lsls r3, 17 _080DF280: adds r0, r4, r5 ldrb r0, [r0] cmp r0, 0 bne _080DF298 lsrs r0, r2, 24 str r0, [sp, 0x20] b _080DF29E .pool _080DF298: cmp r0, 0x3 bne _080DF29E lsrs r1, r2, 24 _080DF29E: adds r2, r3 adds r4, 0x1 cmp r4, 0x3 ble _080DF280 ldr r0, [r6] ldr r0, [r0, 0x1C] lsls r1, 4 adds r1, r0 ldrb r2, [r1, 0xD] movs r0, 0x1 orrs r0, r2 strb r0, [r1, 0xD] movs r4, 0 ldr r1, [sp, 0x20] lsls r1, 4 str r1, [sp, 0x30] mov r9, r4 mov r10, r4 _080DF2C2: ldr r2, [sp, 0x20] cmp r4, r2 beq _080DF2EE ldr r1, =gUnknown_02039F08 lsls r0, r2, 1 adds r0, r1 movs r3, 0 ldrsh r2, [r0, r3] add r1, r10 movs r6, 0 ldrsh r0, [r1, r6] subs r2, r0 cmp r2, 0x32 bgt _080DF2EE ldr r7, =gContestResources ldr r0, [r7] ldr r2, [r0, 0x1C] add r2, r9 ldrb r0, [r2, 0xD] movs r1, 0x4 orrs r0, r1 strb r0, [r2, 0xD] _080DF2EE: ldr r1, =gContestResources ldr r0, [r1] ldr r0, [r0, 0x1C] mov r3, r9 adds r2, r3, r0 ldrb r1, [r2, 0xE] movs r0, 0x2 ands r0, r1 cmp r0, 0 bne _080DF30A ldrb r0, [r2, 0xD] movs r1, 0x8 orrs r0, r1 strb r0, [r2, 0xD] _080DF30A: movs r5, 0 ldr r2, =gContestMonConditions add r2, r10 movs r6, 0 ldrsh r1, [r2, r6] ldr r7, =gContestMonConditions movs r3, 0 ldrsh r0, [r7, r3] cmp r1, r0 blt _080DF336 adds r3, r2, 0 adds r2, r7, 0 _080DF322: adds r2, 0x2 adds r5, 0x1 cmp r5, 0x3 bgt _080DF336 movs r6, 0 ldrsh r1, [r3, r6] movs r7, 0 ldrsh r0, [r2, r7] cmp r1, r0 bge _080DF322 _080DF336: cmp r5, 0x4 bne _080DF354 ldr r1, =gContestFinalStandings adds r0, r4, r1 ldrb r0, [r0] cmp r0, 0 beq _080DF354 ldr r2, =gContestResources ldr r0, [r2] ldr r2, [r0, 0x1C] add r2, r9 ldrb r0, [r2, 0xD] movs r1, 0x10 orrs r0, r1 strb r0, [r2, 0xD] _080DF354: movs r3, 0 mov r12, r3 mov r8, r3 movs r5, 0 ldr r0, =gContestMonConditions add r0, r10 movs r7, 0 ldrsh r6, [r0, r7] str r6, [sp, 0x34] ldr r2, =gContestMonConditions ldr r0, =gUnknown_02039F18 mov r1, r10 adds r6, r1, r0 adds r3, r0, 0 _080DF370: movs r7, 0 ldrsh r0, [r2, r7] ldr r1, [sp, 0x34] cmp r1, r0 ble _080DF37E movs r7, 0x1 mov r12, r7 _080DF37E: movs r0, 0 ldrsh r1, [r6, r0] movs r7, 0 ldrsh r0, [r3, r7] cmp r1, r0 ble _080DF38E movs r0, 0x1 mov r8, r0 _080DF38E: adds r2, 0x2 adds r3, 0x2 adds r5, 0x1 cmp r5, 0x3 ble _080DF370 mov r1, r12 cmp r1, 0 bne _080DF3B4 mov r2, r8 cmp r2, 0 bne _080DF3B4 ldr r3, =gContestResources ldr r0, [r3] ldr r2, [r0, 0x1C] add r2, r9 ldrb r0, [r2, 0xD] movs r1, 0x40 orrs r0, r1 strb r0, [r2, 0xD] _080DF3B4: ldr r6, =gContestResources ldr r0, [r6] ldr r0, [r0, 0x1C] mov r7, r9 adds r2, r7, r0 ldrb r1, [r2, 0xE] movs r0, 0x1 ands r0, r1 cmp r0, 0 bne _080DF3D0 ldrb r0, [r2, 0xD] movs r1, 0x80 orrs r0, r1 strb r0, [r2, 0xD] _080DF3D0: movs r0, 0x10 add r9, r0 movs r1, 0x2 add r10, r1 adds r4, 0x1 cmp r4, 0x3 bgt _080DF3E0 b _080DF2C2 _080DF3E0: movs r4, 0 movs r5, 0 movs r3, 0 ldr r2, [sp, 0x28] mov r1, sp _080DF3EA: strh r3, [r1] adds r0, r2, r4 strb r5, [r0] adds r1, 0x2 adds r4, 0x1 cmp r4, 0x4 ble _080DF3EA mov r1, sp ldr r0, =0x0000ffff strh r0, [r1, 0xA] movs r0, 0 ldr r2, [sp, 0x28] strb r0, [r2, 0x5] movs r4, 0 ldr r0, =gContestResources ldr r0, [r0] mov r8, r0 ldr r7, [sp, 0x30] _080DF40E: mov r3, r8 ldr r0, [r3, 0x1C] adds r0, r7, r0 lsls r1, r4, 1 adds r0, r1 ldrh r0, [r0] adds r4, 0x1 mov r12, r4 cmp r0, 0 beq _080DF450 ldr r0, =gContestResources ldr r6, [r0] ldr r3, [sp, 0x28] mov r4, sp movs r5, 0x4 _080DF42C: ldr r0, [r6, 0x1C] adds r0, r7, r0 adds r0, r1 ldrh r0, [r0] ldrh r2, [r4] cmp r0, r2 beq _080DF440 cmp r2, 0 bne _080DF446 strh r0, [r4] _080DF440: ldrb r0, [r3] adds r0, 0x1 strb r0, [r3] _080DF446: adds r3, 0x1 adds r4, 0x2 subs r5, 0x1 cmp r5, 0 bge _080DF42C _080DF450: mov r4, r12 cmp r4, 0x4 ble _080DF40E mov r0, sp ldrh r0, [r0] ldr r6, [sp, 0x2C] strh r0, [r6] ldr r7, [sp, 0x28] ldrb r3, [r7] movs r6, 0 movs r4, 0x1 ldr r1, [sp, 0x24] ldrh r0, [r1] ldr r1, =0x0000ffff cmp r0, r1 beq _080DF4C0 ldr r5, [sp, 0x2C] adds r7, r1, 0 mov r2, sp adds r2, 0x2 _080DF478: ldr r0, [sp, 0x28] adds r1, r0, r4 ldrb r0, [r1] cmp r3, r0 bcs _080DF4A4 ldrh r0, [r2] strh r0, [r5] ldrb r3, [r1] movs r6, 0x1 b _080DF4B6 .pool _080DF4A4: cmp r3, r0 bne _080DF4B6 lsls r0, r6, 1 adds r0, r5, r0 ldrh r1, [r2] strh r1, [r0] adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 _080DF4B6: adds r2, 0x2 adds r4, 0x1 ldrh r0, [r2] cmp r0, r7 bne _080DF478 _080DF4C0: bl Random ldr r1, =gContestResources ldr r1, [r1] ldr r4, [r1, 0x1C] ldr r1, [sp, 0x30] adds r4, r1, r4 lsls r0, 16 lsrs r0, 16 adds r1, r6, 0 bl __modsi3 lsls r0, 1 ldr r2, [sp, 0x2C] adds r0, r2, r0 ldrh r0, [r0] strh r0, [r4, 0xA] add sp, 0x38 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DF250 thumb_func_start sub_80DF4F8 sub_80DF4F8: @ 80DF4F8 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0xC ldr r1, =gContestFinalStandings ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] cmp r0, 0 beq _080DF514 b _080DF6EE _080DF514: movs r7, 0 movs r3, 0 ldr r0, =gContestResources mov r12, r0 _080DF51C: adds r0, r3, r1 ldrb r0, [r0] cmp r0, 0 bne _080DF528 lsls r0, r3, 24 lsrs r7, r0, 24 _080DF528: adds r3, 0x1 cmp r3, 0x3 ble _080DF51C movs r1, 0 mov r9, r1 mov r10, r1 movs r3, 0 lsls r2, r7, 1 lsls r4, r7, 4 mov r8, r4 ldr r1, =gContestMonConditions adds r0, r2, r1 movs r6, 0 ldrsh r5, [r0, r6] str r5, [sp, 0x8] adds r5, r1, 0 ldr r0, =gUnknown_02039F18 adds r2, r0 adds r4, r0, 0 _080DF54E: movs r1, 0 ldrsh r0, [r5, r1] ldr r6, [sp, 0x8] cmp r6, r0 bge _080DF562 mov r0, r9 adds r0, 0x1 lsls r0, 24 lsrs r0, 24 mov r9, r0 _080DF562: movs r0, 0 ldrsh r1, [r2, r0] movs r6, 0 ldrsh r0, [r4, r6] cmp r1, r0 bge _080DF578 mov r0, r10 adds r0, 0x1 lsls r0, 24 lsrs r0, 24 mov r10, r0 _080DF578: adds r5, 0x2 adds r4, 0x2 adds r3, 0x1 cmp r3, 0x3 ble _080DF54E mov r1, r12 ldr r0, [r1] ldr r0, [r0, 0x1C] add r0, r8 ldrb r1, [r0, 0xC] movs r4, 0 movs r2, 0x1 movs r3, 0x7 _080DF592: adds r0, r1, 0 ands r0, r2 cmp r0, 0 beq _080DF5A0 adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 _080DF5A0: lsrs r1, 1 subs r3, 0x1 cmp r3, 0 bge _080DF592 bl Random lsls r0, 16 lsrs r0, 16 adds r1, r4, 0 bl __modsi3 lsls r0, 24 lsrs r5, r0, 24 ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0, 0x1C] add r0, r8 ldrb r1, [r0, 0xC] movs r4, 0 movs r2, 0 movs r3, 0 movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _080DF5DC cmp r5, 0 beq _080DF5F6 _080DF5D6: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 _080DF5DC: lsrs r1, 1 adds r0, r2, 0x1 lsls r0, 24 lsrs r2, r0, 24 adds r3, 0x1 cmp r3, 0x7 bgt _080DF5F6 movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _080DF5DC cmp r5, r4 bne _080DF5D6 _080DF5F6: movs r1, 0x1 adds r0, r1, 0 lsls r0, r2 lsls r0, 16 lsrs r2, r0, 16 cmp r7, 0 bne _080DF628 mov r0, sp strb r1, [r0] ldr r1, =gContestResources ldr r0, [r1] ldr r0, [r0, 0x1C] ldrb r4, [r0, 0x1D] movs r3, 0x2 b _080DF638 .pool _080DF628: mov r1, sp movs r0, 0 strb r0, [r1] ldr r1, =gContestResources ldr r0, [r1] ldr r0, [r0, 0x1C] ldrb r4, [r0, 0xD] movs r3, 0x1 _080DF638: mov r12, r1 movs r5, 0x1 lsls r2, 24 str r2, [sp, 0x4] cmp r3, 0x3 bgt _080DF682 _080DF644: cmp r3, r7 beq _080DF67C mov r6, r12 ldr r2, [r6] ldr r0, [r2, 0x1C] lsls r1, r3, 4 adds r0, r1, r0 ldrb r0, [r0, 0xD] cmp r4, r0 bcs _080DF66C mov r0, sp strb r3, [r0] ldr r0, [r2, 0x1C] adds r0, r1, r0 ldrb r4, [r0, 0xD] movs r5, 0x1 b _080DF67C .pool _080DF66C: cmp r4, r0 bne _080DF67C mov r1, sp adds r0, r1, r5 strb r3, [r0] adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 _080DF67C: adds r3, 0x1 cmp r3, 0x3 ble _080DF644 _080DF682: bl Random lsls r0, 16 lsrs r0, 16 adds r1, r5, 0 bl __modsi3 add r0, sp ldrb r6, [r0] movs r2, 0x80 movs r3, 0 ldr r5, =gContestResources ldr r0, [r5] ldr r0, [r0, 0x1C] lsls r1, r6, 4 adds r0, r1, r0 ldrb r0, [r0, 0xD] ands r0, r2 lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 bne _080DF6C4 _080DF6AE: lsrs r2, 1 adds r3, 0x1 cmp r3, 0x7 bgt _080DF6C4 ldr r0, [r5] ldr r0, [r0, 0x1C] adds r0, r1, r0 ldrb r4, [r0, 0xD] ands r4, r2 cmp r4, 0 beq _080DF6AE _080DF6C4: mov r0, r9 bl ContestLiveUpdates_BeforeInterview_1 mov r0, r10 bl ContestLiveUpdates_BeforeInterview_2 ldr r5, [sp, 0x4] lsrs r0, r5, 24 bl ContestLiveUpdates_BeforeInterview_3 ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0, 0x1C] add r0, r8 ldrh r0, [r0, 0xA] bl ContestLiveUpdates_BeforeInterview_4 adds r0, r4, 0 adds r1, r6, 0 bl ContestLiveUpdates_BeforeInterview_5 _080DF6EE: add sp, 0xC pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DF4F8 thumb_func_start sub_80DF704 sub_80DF704: @ 80DF704 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r2, r0, r1 ldrb r1, [r2] adds r4, r0, 0 cmp r1, 0 bne _080DF72C cmp r3, 0 bne _080DF728 movs r0, 0x2 b _080DF72E .pool _080DF728: movs r0, 0x3 b _080DF72E _080DF72C: movs r0, 0 _080DF72E: strb r0, [r2] movs r1, 0xD0 lsls r1, 9 adds r0, r4, r1 ldrb r0, [r0] cmp r0, 0 bne _080DF746 bl sub_80DAEA4 bl sub_80DB2BC b _080DF74A _080DF746: bl sub_80DF750 _080DF74A: pop {r4} pop {r0} bx r0 thumb_func_end sub_80DF704 thumb_func_start sub_80DF750 sub_80DF750: @ 80DF750 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x34 ldr r0, =gUnknown_020322D5 ldrb r0, [r0] cmp r0, 0 bne _080DF766 b _080DF924 _080DF766: ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 ldrb r0, [r0] subs r0, 0x2 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bls _080DF77C b _080DF924 _080DF77C: movs r7, 0 mov r2, sp adds r2, 0x18 str r2, [sp, 0x30] _080DF784: adds r0, r7, 0 movs r1, 0 bl FillWindowPixelBuffer adds r0, r7, 0x1 lsls r0, 24 lsrs r7, r0, 24 cmp r7, 0x3 bls _080DF784 ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 ldrb r0, [r0] cmp r0, 0x2 bne _080DF874 movs r7, 0 movs r2, 0x7 mov r10, r2 ldr r0, [sp, 0x30] mov r9, r0 _080DF7AE: add r0, sp, 0x4 ldr r1, =gText_CDot bl StringCopy adds r5, r0, 0 ldr r0, =gUnknown_02039F26 adds r0, r7, r0 ldrb r0, [r0] mov r1, r10 str r1, [sp] add r1, sp, 0x4 movs r2, 0x5 movs r3, 0x1 bl Contest_PrintTextToBg0WindowAt ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0x1C] lsls r0, r7, 4 adds r0, r1 ldrb r4, [r0, 0xC] movs r6, 0x7 adds r2, r7, 0x1 mov r8, r2 _080DF7DE: movs r1, 0x1 ands r1, r4 adds r0, r5, 0 movs r2, 0 movs r3, 0x1 bl ConvertIntToDecimalStringN adds r5, r0, 0 lsrs r4, 1 lsls r0, r6, 24 movs r1, 0xFF lsls r1, 24 adds r0, r1 lsrs r6, r0, 24 asrs r0, 24 movs r2, 0x1 negs r2, r2 cmp r0, r2 bgt _080DF7DE movs r6, 0 ldr r4, =gUnknown_02039F26 ldr r3, [sp, 0x30] _080DF80A: lsls r0, r6, 24 asrs r0, 24 adds r2, r3, r0 mov r1, sp adds r1, r0 adds r1, 0x4 ldrb r1, [r1] strb r1, [r2] adds r0, 0x1 lsls r0, 24 lsrs r6, r0, 24 asrs r5, r0, 24 cmp r5, 0x4 ble _080DF80A mov r0, r9 adds r1, r0, r5 movs r0, 0xFF strb r0, [r1] adds r4, r7, r4 ldrb r0, [r4] mov r1, r10 str r1, [sp] mov r1, r9 movs r2, 0x5 movs r3, 0x1 bl Contest_PrintTextToBg0WindowAt ldrb r0, [r4] mov r1, sp adds r1, r5 adds r1, 0x4 mov r2, r10 str r2, [sp] movs r2, 0x37 movs r3, 0x1 bl Contest_PrintTextToBg0WindowAt mov r1, r8 lsls r0, r1, 24 lsrs r7, r0, 24 cmp r7, 0x3 bls _080DF7AE b _080DF920 .pool _080DF874: movs r7, 0 mov r2, sp adds r2, 0x6 str r2, [sp, 0x2C] ldr r0, [sp, 0x30] mov r9, r0 movs r1, 0x7 mov r10, r1 _080DF884: add r0, sp, 0x4 ldr r1, =gText_BDot bl StringCopy ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0x1C] lsls r0, r7, 4 adds r0, r1 ldrb r4, [r0, 0xD] ldr r5, [sp, 0x2C] movs r6, 0x7 adds r2, r7, 0x1 mov r8, r2 _080DF8A0: movs r1, 0x1 ands r1, r4 adds r0, r5, 0 movs r2, 0 movs r3, 0x1 bl ConvertIntToDecimalStringN adds r5, r0, 0 lsrs r4, 1 lsls r0, r6, 24 movs r1, 0xFF lsls r1, 24 adds r0, r1 lsrs r6, r0, 24 asrs r0, 24 movs r2, 0x1 negs r2, r2 cmp r0, r2 bgt _080DF8A0 movs r6, 0 ldr r4, =gUnknown_02039F26 ldr r3, [sp, 0x30] _080DF8CC: lsls r0, r6, 24 asrs r0, 24 adds r2, r3, r0 mov r1, sp adds r1, r0 adds r1, 0x4 ldrb r1, [r1] strb r1, [r2] adds r0, 0x1 lsls r0, 24 lsrs r6, r0, 24 asrs r5, r0, 24 cmp r5, 0x4 ble _080DF8CC mov r0, r9 adds r1, r0, r5 movs r0, 0xFF strb r0, [r1] adds r4, r7, r4 ldrb r0, [r4] mov r1, r10 str r1, [sp] mov r1, r9 movs r2, 0x5 movs r3, 0x1 bl Contest_PrintTextToBg0WindowAt ldrb r0, [r4] mov r1, sp adds r1, r5 adds r1, 0x4 mov r2, r10 str r2, [sp] movs r2, 0x37 movs r3, 0x1 bl Contest_PrintTextToBg0WindowAt mov r1, r8 lsls r0, r1, 24 lsrs r7, r0, 24 cmp r7, 0x3 bls _080DF884 _080DF920: bl sub_80DB2BC _080DF924: add sp, 0x34 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80DF750 thumb_func_start sub_80DF940 sub_80DF940: @ 80DF940 push {r4,r5,lr} adds r4, r0, 0 movs r5, 0x2 ldrb r0, [r4] cmp r0, 0xFC bne _080DF956 ldrb r0, [r4, 0x1] cmp r0, 0x15 bne _080DF956 movs r0, 0x2 b _080DF9CC _080DF956: adds r0, r4, 0 bl StringLength lsls r0, 16 lsrs r0, 16 cmp r0, 0x5 bhi _080DF9CA ldrb r0, [r4] cmp r0, 0xFF beq _080DF9CA _080DF96A: ldrb r1, [r4] adds r0, r1, 0 adds r0, 0x45 lsls r0, 24 lsrs r0, 24 cmp r0, 0x33 bls _080DF9BE adds r0, r1, 0 adds r0, 0x5F lsls r0, 24 lsrs r0, 24 cmp r0, 0x9 bls _080DF9BE adds r0, r1, 0 cmp r0, 0 beq _080DF9BE cmp r0, 0xAD beq _080DF9BE cmp r0, 0xB8 beq _080DF9BE cmp r0, 0xAB beq _080DF9BE cmp r0, 0xAC beq _080DF9BE cmp r0, 0xB5 beq _080DF9BE cmp r0, 0xB6 beq _080DF9BE cmp r0, 0xBA beq _080DF9BE cmp r0, 0xAE beq _080DF9BE cmp r0, 0xB0 beq _080DF9BE cmp r0, 0xB1 beq _080DF9BE cmp r0, 0xB2 beq _080DF9BE cmp r0, 0xB3 beq _080DF9BE cmp r0, 0xB1 bne _080DF9C8 _080DF9BE: adds r4, 0x1 ldrb r0, [r4] cmp r0, 0xFF bne _080DF96A b _080DF9CA _080DF9C8: movs r5, 0x1 _080DF9CA: adds r0, r5, 0 _080DF9CC: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80DF940 thumb_func_start sub_80DF9D4 sub_80DF9D4: @ 80DF9D4 ldrb r2, [r0, 0x5] movs r1, 0xFF strb r1, [r0, 0x5] strb r2, [r0, 0x7] bx lr thumb_func_end sub_80DF9D4 thumb_func_start sub_80DF9E0 sub_80DF9E0: @ 80DF9E0 push {r4,r5,lr} adds r5, r0, 0 adds r4, r1, 0 bl StripExtCtrlCodes cmp r4, 0x1 bne _080DF9F8 movs r0, 0xFF strb r0, [r5, 0x5] movs r0, 0xFC strb r0, [r5, 0xA] b _080DFA00 _080DF9F8: ldrb r1, [r5, 0x5] movs r0, 0xFF strb r0, [r5, 0x5] strb r1, [r5, 0xA] _080DFA00: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_80DF9E0 thumb_func_start sub_80DFA08 sub_80DFA08: @ 80DFA08 push {r4-r6,lr} adds r5, r0, 0 adds r6, r1, 0 adds r4, r5, 0x2 cmp r6, 0x1 bne _080DFA28 adds r0, r4, 0 bl sub_80DF940 adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 bl ConvertInternationalString b _080DFA3E _080DFA28: ldrb r0, [r4, 0xA] cmp r0, 0xFC bne _080DFA38 adds r0, r4, 0 movs r1, 0x1 bl ConvertInternationalString b _080DFA3E _080DFA38: strb r0, [r4, 0x5] movs r0, 0xFF strb r0, [r4, 0xA] _080DFA3E: adds r4, r5, 0 adds r4, 0xD cmp r6, 0x1 bne _080DFA68 movs r0, 0xFF strb r0, [r4, 0x7] ldrb r0, [r4, 0x4] strb r0, [r4, 0x6] ldrb r0, [r4, 0x3] strb r0, [r4, 0x5] ldrb r0, [r4, 0x2] strb r0, [r4, 0x4] ldrb r0, [r4, 0x1] strb r0, [r4, 0x3] ldrb r0, [r5, 0xD] strb r0, [r4, 0x2] movs r0, 0x15 strb r0, [r4, 0x1] movs r0, 0xFC strb r0, [r5, 0xD] b _080DFA70 _080DFA68: ldrb r0, [r4, 0x7] strb r0, [r4, 0x5] movs r0, 0xFF strb r0, [r4, 0x7] _080DFA70: pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_80DFA08 .align 2, 0 @ Don't pad with nop.