.include "asm/macros.inc" .include "constants/constants.inc" .syntax unified .text thumb_func_start sub_80DCE10 sub_80DCE10: @ 80DCE10 push {r4-r6,lr} lsls r0, 24 lsrs r0, 24 ldr r1, _080DCE6C @ =gTasks lsls r6, r0, 2 adds r6, r0 lsls r6, 3 adds r6, r1 ldr r1, _080DCE70 @ =gUnknown_2037F02 ldrh r0, [r1] strh r0, [r6, 0x8] ldrh r0, [r1, 0x2] strh r0, [r6, 0xA] movs r0, 0x40 negs r0, r0 bl sub_8073A44 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x3F bl sub_8073A44 adds r5, r0, 0 lsls r4, 24 asrs r4, 24 lsls r5, 24 asrs r5, 24 adds r0, r4, 0 adds r1, r5, 0 movs r2, 0x2 bl CalculatePanIncrement strh r4, [r6, 0xC] strh r5, [r6, 0xE] lsls r0, 24 asrs r0, 24 strh r0, [r6, 0x10] movs r0, 0xA strh r0, [r6, 0x1C] ldr r0, _080DCE74 @ =sub_80DCE78 str r0, [r6] pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080DCE6C: .4byte gTasks _080DCE70: .4byte gUnknown_2037F02 _080DCE74: .4byte sub_80DCE78 thumb_func_end sub_80DCE10 thumb_func_start sub_80DCE78 sub_80DCE78: @ 80DCE78 push {r4-r6,lr} lsls r0, 24 lsrs r0, 24 ldr r2, _080DCEA8 @ =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r4, r1, r2 ldrh r5, [r4, 0xC] ldrb r6, [r4, 0x10] ldrh r0, [r4, 0x1E] adds r0, 0x1 movs r1, 0 strh r0, [r4, 0x1E] lsls r0, 16 asrs r0, 16 cmp r0, 0x6F bne _080DCEB0 movs r0, 0x5 strh r0, [r4, 0x1C] strh r1, [r4, 0x1E] ldr r0, _080DCEAC @ =sub_80DCEE4 str r0, [r4] b _080DCEDE .align 2, 0 _080DCEA8: .4byte gTasks _080DCEAC: .4byte sub_80DCEE4 _080DCEB0: ldrh r0, [r4, 0x1C] adds r0, 0x1 strh r0, [r4, 0x1C] lsls r0, 16 asrs r0, 16 cmp r0, 0xB bne _080DCECA strh r1, [r4, 0x1C] ldrh r0, [r4, 0x8] lsls r1, r5, 24 asrs r1, 24 bl PlaySE12WithPanning _080DCECA: lsls r1, r6, 24 asrs r1, 24 lsls r0, r5, 16 asrs r0, 16 adds r0, r1 lsls r0, 16 asrs r0, 16 bl sub_8073B60 strh r0, [r4, 0xC] _080DCEDE: pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_80DCE78 thumb_func_start sub_80DCEE4 sub_80DCEE4: @ 80DCEE4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r1, _080DCF34 @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r4, r0, r1 ldrh r0, [r4, 0x1C] adds r0, 0x1 strh r0, [r4, 0x1C] lsls r0, 16 asrs r0, 16 cmp r0, 0x6 bne _080DCF2C movs r0, 0 strh r0, [r4, 0x1C] movs r0, 0x3F bl sub_8073A44 adds r1, r0, 0 ldrh r0, [r4, 0xA] lsls r1, 24 asrs r1, 24 bl PlaySE12WithPanning ldrh r0, [r4, 0x1E] adds r0, 0x1 strh r0, [r4, 0x1E] lsls r0, 16 asrs r0, 16 cmp r0, 0x2 bne _080DCF2C adds r0, r5, 0 bl DestroyAnimSoundTask _080DCF2C: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080DCF34: .4byte gTasks thumb_func_end sub_80DCEE4 thumb_func_start mas_80DCF38 mas_80DCF38: @ 80DCF38 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x4 mov r8, r0 lsls r0, 24 lsrs r0, 24 mov r8, r0 ldr r0, _080DCFDC @ =gUnknown_2037F02 ldrh r1, [r0] str r1, [sp] ldrb r5, [r0, 0x4] ldrb r6, [r0, 0x6] ldrb r3, [r0, 0x8] mov r10, r3 ldrb r7, [r0, 0xA] ldrb r1, [r0, 0xC] mov r9, r1 ldrb r0, [r0, 0x2] lsls r0, 24 asrs r0, 24 bl sub_8073A44 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 lsls r5, 24 asrs r5, 24 adds r0, r5, 0 bl sub_8073A44 adds r5, r0, 0 lsls r4, 24 asrs r4, 24 lsls r5, 24 asrs r5, 24 lsls r6, 24 asrs r6, 24 adds r0, r4, 0 adds r1, r5, 0 adds r2, r6, 0 bl CalculatePanIncrement ldr r2, _080DCFE0 @ =gTasks mov r3, r8 lsls r1, r3, 2 add r1, r8 lsls r1, 3 adds r1, r2 movs r2, 0 mov r6, sp ldrh r6, [r6] strh r6, [r1, 0x8] strh r4, [r1, 0xA] strh r5, [r1, 0xC] lsls r0, 24 asrs r0, 24 strh r0, [r1, 0xE] mov r0, r10 strh r0, [r1, 0x10] strh r7, [r1, 0x12] mov r3, r9 strh r3, [r1, 0x14] strh r2, [r1, 0x1C] strh r4, [r1, 0x1E] strh r3, [r1, 0x20] ldr r2, _080DCFE4 @ =sub_80DCFE8 str r2, [r1] mov r0, r8 bl _call_via_r2 add sp, 0x4 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080DCFDC: .4byte gUnknown_2037F02 _080DCFE0: .4byte gTasks _080DCFE4: .4byte sub_80DCFE8 thumb_func_end mas_80DCF38 thumb_func_start sub_80DCFE8 sub_80DCFE8: @ 80DCFE8 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r1, _080DD02C @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r4, r0, r1 ldrh r0, [r4, 0x20] adds r1, r0, 0x1 strh r1, [r4, 0x20] lsls r0, 16 asrs r0, 16 movs r2, 0x14 ldrsh r1, [r4, r2] cmp r0, r1 bne _080DD030 movs r0, 0 strh r0, [r4, 0x20] ldrh r0, [r4, 0x8] movs r1, 0x1E ldrsb r1, [r4, r1] bl PlaySE12WithPanning ldrh r0, [r4, 0x10] subs r0, 0x1 strh r0, [r4, 0x10] lsls r0, 16 cmp r0, 0 bne _080DD030 adds r0, r5, 0 bl DestroyAnimSoundTask b _080DD062 .align 2, 0 _080DD02C: .4byte gTasks _080DD030: ldr r1, _080DD068 @ =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 movs r2, 0x12 ldrsh r1, [r4, r2] cmp r0, r1 bne _080DD062 movs r0, 0 strh r0, [r4, 0x1C] ldrh r0, [r4, 0xE] ldrh r1, [r4, 0x1E] adds r0, r1 strh r0, [r4, 0x1E] movs r2, 0x1E ldrsh r0, [r4, r2] bl sub_8073B60 strh r0, [r4, 0x1E] _080DD062: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080DD068: .4byte gTasks thumb_func_end sub_80DCFE8 thumb_func_start sub_80DD06C sub_80DD06C: @ 80DD06C push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 movs r0, 0x40 negs r0, r0 bl sub_8073A44 lsls r0, 24 lsrs r6, r0, 24 ldr r0, _080DD090 @ =gUnknown_2037F02 movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080DD098 ldr r0, _080DD094 @ =gUnknown_2037F1A ldrb r4, [r0] b _080DD0BE .align 2, 0 _080DD090: .4byte gUnknown_2037F02 _080DD094: .4byte gUnknown_2037F1A _080DD098: cmp r0, 0x1 bne _080DD0A8 ldr r0, _080DD0A4 @ =gUnknown_2037F1B ldrb r4, [r0] b _080DD0BE .align 2, 0 _080DD0A4: .4byte gUnknown_2037F1B _080DD0A8: cmp r0, 0x2 bne _080DD0B4 ldr r0, _080DD0B0 @ =gUnknown_2037F1A b _080DD0B6 .align 2, 0 _080DD0B0: .4byte gUnknown_2037F1A _080DD0B4: ldr r0, _080DD0E0 @ =gUnknown_2037F1B _080DD0B6: ldrb r1, [r0] movs r0, 0x2 adds r4, r0, 0 eors r4, r1 _080DD0BE: ldr r0, _080DD0E4 @ =gUnknown_2037F02 movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0x1 beq _080DD0CC cmp r0, 0x3 bne _080DD0E8 _080DD0CC: adds r0, r4, 0 bl sub_8072DF0 lsls r0, 24 cmp r0, 0 bne _080DD0E8 adds r0, r5, 0 bl DestroyAnimVisualTask b _080DD13A .align 2, 0 _080DD0E0: .4byte gUnknown_2037F1B _080DD0E4: .4byte gUnknown_2037F02 _080DD0E8: adds r0, r4, 0 bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080DD10C ldr r1, _080DD104 @ =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 ldr r1, _080DD108 @ =gEnemyParty b _080DD11A .align 2, 0 _080DD104: .4byte gBattlerPartyIndexes _080DD108: .4byte gEnemyParty _080DD10C: ldr r1, _080DD140 @ =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 ldr r1, _080DD144 @ =gPlayerParty _080DD11A: adds r0, r1 movs r1, 0xB bl GetMonData lsls r0, 16 lsrs r0, 16 cmp r0, 0 beq _080DD134 lsls r1, r6, 24 asrs r1, 24 movs r2, 0x3 bl PlayCry3 _080DD134: adds r0, r5, 0 bl DestroyAnimVisualTask _080DD13A: pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080DD140: .4byte gBattlerPartyIndexes _080DD144: .4byte gPlayerParty thumb_func_end sub_80DD06C thumb_func_start sub_80DD148 sub_80DD148: @ 80DD148 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 movs r0, 0x40 negs r0, r0 bl sub_8073A44 lsls r0, 24 lsrs r5, r0, 24 ldr r0, _080DD16C @ =gUnknown_2037F02 movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080DD174 ldr r0, _080DD170 @ =gUnknown_2037F1A ldrb r4, [r0] b _080DD19A .align 2, 0 _080DD16C: .4byte gUnknown_2037F02 _080DD170: .4byte gUnknown_2037F1A _080DD174: cmp r0, 0x1 bne _080DD184 ldr r0, _080DD180 @ =gUnknown_2037F1B ldrb r4, [r0] b _080DD19A .align 2, 0 _080DD180: .4byte gUnknown_2037F1B _080DD184: cmp r0, 0x2 bne _080DD190 ldr r0, _080DD18C @ =gUnknown_2037F1A b _080DD192 .align 2, 0 _080DD18C: .4byte gUnknown_2037F1A _080DD190: ldr r0, _080DD1BC @ =gUnknown_2037F1B _080DD192: ldrb r1, [r0] movs r0, 0x2 adds r4, r0, 0 eors r4, r1 _080DD19A: ldr r0, _080DD1C0 @ =gUnknown_2037F02 movs r2, 0 ldrsh r0, [r0, r2] cmp r0, 0x1 beq _080DD1A8 cmp r0, 0x3 bne _080DD1C4 _080DD1A8: adds r0, r4, 0 bl sub_8072DF0 lsls r0, 24 cmp r0, 0 bne _080DD1C4 adds r0, r6, 0 bl DestroyAnimVisualTask b _080DD26A .align 2, 0 _080DD1BC: .4byte gUnknown_2037F1B _080DD1C0: .4byte gUnknown_2037F02 _080DD1C4: adds r0, r4, 0 bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080DD1E8 ldr r1, _080DD1E0 @ =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 ldr r1, _080DD1E4 @ =gEnemyParty b _080DD1F6 .align 2, 0 _080DD1E0: .4byte gBattlerPartyIndexes _080DD1E4: .4byte gEnemyParty _080DD1E8: ldr r1, _080DD234 @ =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 ldr r1, _080DD238 @ =gPlayerParty _080DD1F6: adds r0, r1 movs r1, 0xB bl GetMonData lsls r0, 16 lsrs r3, r0, 16 ldr r1, _080DD23C @ =gTasks lsls r2, r6, 2 adds r0, r2, r6 lsls r0, 3 adds r0, r1 ldr r4, _080DD240 @ =gUnknown_2037F02 ldrh r1, [r4, 0x2] strh r1, [r0, 0x8] strh r3, [r0, 0xA] lsls r1, r5, 24 asrs r1, 24 strh r1, [r0, 0xC] adds r5, r2, 0 cmp r3, 0 beq _080DD264 movs r2, 0x2 ldrsh r0, [r4, r2] cmp r0, 0xFF bne _080DD244 adds r0, r3, 0 movs r2, 0x9 bl PlayCry3 b _080DD24C .align 2, 0 _080DD234: .4byte gBattlerPartyIndexes _080DD238: .4byte gPlayerParty _080DD23C: .4byte gTasks _080DD240: .4byte gUnknown_2037F02 _080DD244: adds r0, r3, 0 movs r2, 0x7 bl PlayCry3 _080DD24C: ldr r0, _080DD25C @ =gTasks adds r1, r5, r6 lsls r1, 3 adds r1, r0 ldr r0, _080DD260 @ =sub_80DD270 str r0, [r1] b _080DD26A .align 2, 0 _080DD25C: .4byte gTasks _080DD260: .4byte sub_80DD270 _080DD264: adds r0, r6, 0 bl DestroyAnimVisualTask _080DD26A: pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_80DD148 thumb_func_start sub_80DD270 sub_80DD270: @ 80DD270 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} lsls r0, 24 lsrs r4, r0, 24 mov r9, r4 ldr r1, _080DD2A0 @ =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r1, r0, r1 ldrh r6, [r1, 0xA] mov r8, r6 ldrb r5, [r1, 0xC] adds r7, r5, 0 ldrh r2, [r1, 0x1A] movs r3, 0x1A ldrsh r0, [r1, r3] cmp r0, 0x1 bgt _080DD2A4 adds r0, r2, 0x1 strh r0, [r1, 0x1A] b _080DD2E6 .align 2, 0 _080DD2A0: .4byte gTasks _080DD2A4: movs r2, 0x8 ldrsh r0, [r1, r2] cmp r0, 0xFF bne _080DD2CA bl IsCryPlaying lsls r0, 24 cmp r0, 0 bne _080DD2E6 lsls r1, r5, 24 asrs r1, 24 adds r0, r6, 0 movs r2, 0xA bl PlayCry3 adds r0, r4, 0 bl DestroyAnimVisualTask b _080DD2E6 _080DD2CA: bl IsCryPlaying lsls r0, 24 cmp r0, 0 bne _080DD2E6 lsls r1, r7, 24 asrs r1, 24 mov r0, r8 movs r2, 0x8 bl PlayCry3 mov r0, r9 bl DestroyAnimVisualTask _080DD2E6: pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_80DD270 thumb_func_start sub_80DD2F4 sub_80DD2F4: @ 80DD2F4 push {r4,lr} lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 ldr r1, _080DD318 @ =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r1, r0, r1 ldrh r2, [r1, 0x1A] movs r3, 0x1A ldrsh r0, [r1, r3] cmp r0, 0x1 bgt _080DD31C adds r0, r2, 0x1 strh r0, [r1, 0x1A] b _080DD32C .align 2, 0 _080DD318: .4byte gTasks _080DD31C: bl IsCryPlaying lsls r0, 24 cmp r0, 0 bne _080DD32C adds r0, r4, 0 bl DestroyAnimVisualTask _080DD32C: pop {r4} pop {r0} bx r0 thumb_func_end sub_80DD2F4 thumb_func_start sub_80DD334 sub_80DD334: @ 80DD334 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 movs r0, 0x40 negs r0, r0 bl sub_8073A44 ldr r2, _080DD374 @ =gUnknown_2037F1C ldr r1, _080DD378 @ =gUnknown_2037F1A ldrb r1, [r1] lsls r1, 1 adds r1, r2 ldrh r3, [r1] ldr r2, _080DD37C @ =gTasks lsls r1, r5, 2 adds r1, r5 lsls r1, 3 adds r4, r1, r2 strh r3, [r4, 0xA] lsls r0, 24 asrs r1, r0, 24 strh r1, [r4, 0xC] cmp r3, 0 beq _080DD384 adds r0, r3, 0 movs r2, 0x4 bl PlayCry3 ldr r0, _080DD380 @ =sub_80DD390 str r0, [r4] b _080DD38A .align 2, 0 _080DD374: .4byte gUnknown_2037F1C _080DD378: .4byte gUnknown_2037F1A _080DD37C: .4byte gTasks _080DD380: .4byte sub_80DD390 _080DD384: adds r0, r5, 0 bl DestroyAnimVisualTask _080DD38A: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_80DD334 thumb_func_start sub_80DD390 sub_80DD390: @ 80DD390 push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 ldr r1, _080DD3B4 @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r4, r0, r1 ldrh r1, [r4, 0x1A] movs r2, 0x1A ldrsh r0, [r4, r2] cmp r0, 0x1 bgt _080DD3B8 adds r0, r1, 0x1 strh r0, [r4, 0x1A] b _080DD3D4 .align 2, 0 _080DD3B4: .4byte gTasks _080DD3B8: bl IsCryPlaying lsls r0, 24 cmp r0, 0 bne _080DD3D4 ldrh r0, [r4, 0xA] movs r1, 0xC ldrsb r1, [r4, r1] movs r2, 0x6 bl PlayCry3 adds r0, r5, 0 bl DestroyAnimVisualTask _080DD3D4: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_80DD390 thumb_func_start sub_80DD3DC sub_80DD3DC: @ 80DD3DC push {r4,r5,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, _080DD40C @ =gUnknown_2037F02 ldrh r5, [r0] ldrb r0, [r0, 0x2] lsls r0, 24 asrs r0, 24 bl sub_8073A44 adds r1, r0, 0 lsls r1, 24 asrs r1, 24 adds r0, r5, 0 bl PlaySE1WithPanning adds r0, r4, 0 bl DestroyAnimVisualTask pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080DD40C: .4byte gUnknown_2037F02 thumb_func_end sub_80DD3DC thumb_func_start sub_80DD410 sub_80DD410: @ 80DD410 push {r4,r5,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, _080DD440 @ =gUnknown_2037F02 ldrh r5, [r0] ldrb r0, [r0, 0x2] lsls r0, 24 asrs r0, 24 bl sub_8073A44 adds r1, r0, 0 lsls r1, 24 asrs r1, 24 adds r0, r5, 0 bl PlaySE2WithPanning adds r0, r4, 0 bl DestroyAnimVisualTask pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080DD440: .4byte gUnknown_2037F02 thumb_func_end sub_80DD410 thumb_func_start sub_80DD444 sub_80DD444: @ 80DD444 push {r4-r6,lr} mov r6, r9 mov r5, r8 push {r5,r6} mov r8, r0 lsls r0, 24 lsrs r0, 24 mov r8, r0 ldr r0, _080DD4C8 @ =gUnknown_2037F02 ldrb r5, [r0, 0x2] ldrb r6, [r0, 0x4] ldrh r1, [r0, 0x6] mov r9, r1 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 bl sub_8073A44 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 lsls r5, 24 asrs r5, 24 adds r0, r5, 0 bl sub_8073A44 adds r5, r0, 0 lsls r4, 24 asrs r4, 24 lsls r5, 24 asrs r5, 24 lsls r6, 24 asrs r6, 24 adds r0, r4, 0 adds r1, r5, 0 adds r2, r6, 0 bl CalculatePanIncrement ldr r2, _080DD4CC @ =gTasks mov r3, r8 lsls r1, r3, 2 add r1, r8 lsls r1, 3 adds r1, r2 movs r2, 0 strh r4, [r1, 0xA] strh r5, [r1, 0xC] lsls r0, 24 asrs r0, 24 strh r0, [r1, 0xE] mov r0, r9 strh r0, [r1, 0x12] strh r2, [r1, 0x1C] strh r4, [r1, 0x1E] ldr r2, _080DD4D0 @ =sub_80DD4D4 str r2, [r1] mov r0, r8 bl _call_via_r2 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080DD4C8: .4byte gUnknown_2037F02 _080DD4CC: .4byte gTasks _080DD4D0: .4byte sub_80DD4D4 thumb_func_end sub_80DD444 thumb_func_start sub_80DD4D4 sub_80DD4D4: @ 80DD4D4 push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 ldr r1, _080DD52C @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r4, r0, r1 ldrh r2, [r4, 0xE] ldrh r0, [r4, 0x1C] adds r1, r0, 0x1 strh r1, [r4, 0x1C] lsls r0, 16 asrs r0, 16 movs r3, 0x12 ldrsh r1, [r4, r3] cmp r0, r1 bne _080DD50E movs r0, 0 strh r0, [r4, 0x1C] ldrh r1, [r4, 0x1E] adds r0, r2, r1 strh r0, [r4, 0x1E] movs r2, 0x1E ldrsh r0, [r4, r2] bl sub_8073B60 strh r0, [r4, 0x1E] _080DD50E: ldr r1, _080DD530 @ =gUnknown_2037F24 ldrh r0, [r4, 0x1E] strb r0, [r1] movs r3, 0x1E ldrsh r1, [r4, r3] movs r2, 0xC ldrsh r0, [r4, r2] cmp r1, r0 bne _080DD526 adds r0, r5, 0 bl DestroyAnimVisualTask _080DD526: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080DD52C: .4byte gTasks _080DD530: .4byte gUnknown_2037F24 thumb_func_end sub_80DD4D4 .align 2, 0 @ Don't pad with nop.