.include "asm/macros.inc" .include "constants/constants.inc" .syntax unified .text thumb_func_start pokemonanimfunc_37 pokemonanimfunc_37: @ 818201C push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08182036 adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] _08182036: adds r0, r4, 0 bl sub_817F70C ldrh r1, [r4, 0x3C] movs r2, 0x3C ldrsh r0, [r4, r2] cmp r0, 0xFF ble _08182060 movs r0, 0 strh r0, [r4, 0x24] strh r0, [r4, 0x26] strh r0, [r4, 0x3C] adds r0, r4, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] b _081820A6 .pool _08182060: adds r0, r1, 0 adds r0, 0x10 strh r0, [r4, 0x3C] movs r0, 0x3C ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _08182072 adds r0, 0x7F _08182072: asrs r0, 7 lsls r0, 7 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x8 bl Sin negs r0, r0 strh r0, [r4, 0x24] movs r2, 0x3C ldrsh r1, [r4, r2] adds r0, r1, 0 cmp r1, 0 bge _08182092 adds r0, 0x7F _08182092: asrs r0, 7 lsls r0, 7 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x8 bl Sin negs r0, r0 strh r0, [r4, 0x26] _081820A6: movs r0, 0x3C ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _081820B2 adds r0, 0x7F _081820B2: asrs r0, 7 lsls r0, 7 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x10 bl Sin adds r3, r0, 0 movs r2, 0x80 lsls r2, 1 lsls r3, 24 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl HandleSetAffineData adds r0, r4, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_37 thumb_func_start pokemonanimfunc_38 pokemonanimfunc_38: @ 81820E0 push {r4,lr} adds r4, r0, 0 bl HandleStartAffineAnim movs r0, 0 strh r0, [r4, 0x3C] strh r0, [r4, 0x36] ldr r0, =sub_81820FC str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_38 thumb_func_start sub_81820FC sub_81820FC: @ 81820FC push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r1, [r4, 0x3C] movs r2, 0x3C ldrsh r0, [r4, r2] cmp r0, 0x18 ble _0818212C ldrh r0, [r4, 0x36] adds r0, 0x1 strh r0, [r4, 0x36] lsls r0, 16 asrs r0, 16 cmp r0, 0x4 ble _0818214A movs r0, 0 strh r0, [r4, 0x36] ldr r0, =sub_818216C str r0, [r4, 0x1C] b _0818214A .pool _0818212C: adds r0, r1, 0x2 strh r0, [r4, 0x3C] movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x8 bl Sin strh r0, [r4, 0x24] movs r2, 0x3C ldrsh r0, [r4, r2] movs r1, 0x8 bl Sin negs r0, r0 strh r0, [r4, 0x26] _0818214A: movs r2, 0x80 lsls r2, 1 ldrh r3, [r4, 0x3C] negs r3, r3 lsls r3, 24 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl HandleSetAffineData adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 thumb_func_end sub_81820FC thumb_func_start sub_818216C sub_818216C: @ 818216C push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r1, [r4, 0x3C] movs r2, 0x3C ldrsh r0, [r4, r2] cmp r0, 0x20 ble _0818218C movs r0, 0x1 strh r0, [r4, 0x3A] ldr r0, =sub_81821CC str r0, [r4, 0x1C] b _081821AA .pool _0818218C: adds r0, r1, 0x2 strh r0, [r4, 0x3C] movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x8 bl Sin strh r0, [r4, 0x24] movs r2, 0x3C ldrsh r0, [r4, r2] movs r1, 0x8 bl Sin negs r0, r0 strh r0, [r4, 0x26] _081821AA: movs r2, 0x80 lsls r2, 1 ldrh r3, [r4, 0x3C] negs r3, r3 lsls r3, 24 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl HandleSetAffineData adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 thumb_func_end sub_818216C thumb_func_start sub_81821CC sub_81821CC: @ 81821CC push {r4,lr} adds r4, r0, 0 bl sub_817F70C movs r1, 0x3A ldrsh r0, [r4, r1] lsls r0, 2 ldrh r1, [r4, 0x3C] adds r0, r1 strh r0, [r4, 0x3C] movs r1, 0x38 ldrsh r0, [r4, r1] cmp r0, 0x9 ble _081821F0 movs r0, 0x20 strh r0, [r4, 0x3C] ldr r0, =sub_8182248 str r0, [r4, 0x1C] _081821F0: movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x8 bl Sin strh r0, [r4, 0x24] movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x8 bl Sin negs r0, r0 strh r0, [r4, 0x26] ldrh r0, [r4, 0x3C] subs r0, 0x1D lsls r0, 16 lsrs r0, 16 cmp r0, 0x6 bls _08182224 movs r1, 0x3A ldrsh r0, [r4, r1] negs r0, r0 strh r0, [r4, 0x3A] ldrh r0, [r4, 0x38] adds r0, 0x1 strh r0, [r4, 0x38] _08182224: movs r2, 0x80 lsls r2, 1 ldrh r3, [r4, 0x3C] negs r3, r3 lsls r3, 24 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl HandleSetAffineData adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81821CC thumb_func_start sub_8182248 sub_8182248: @ 8182248 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r1, [r4, 0x3C] movs r2, 0x3C ldrsh r0, [r4, r2] cmp r0, 0 bgt _08182270 movs r0, 0 strh r0, [r4, 0x3C] adds r0, r4, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] b _0818228E .pool _08182270: subs r0, r1, 0x2 strh r0, [r4, 0x3C] movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x8 bl Sin strh r0, [r4, 0x24] movs r2, 0x3C ldrsh r0, [r4, r2] movs r1, 0x8 bl Sin negs r0, r0 strh r0, [r4, 0x26] _0818228E: movs r2, 0x80 lsls r2, 1 ldrh r3, [r4, 0x3C] negs r3, r3 lsls r3, 24 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl HandleSetAffineData adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 thumb_func_end sub_8182248 thumb_func_start pokemonanimfunc_39 pokemonanimfunc_39: @ 81822B0 push {r4,r5,lr} adds r4, r0, 0 bl sub_817F70C ldrh r1, [r4, 0x32] movs r2, 0x32 ldrsh r0, [r4, r2] cmp r0, 0x28 ble _081822D0 ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x24] b _0818235C .pool _081822D0: movs r0, 0x1 ands r0, r1 movs r5, 0xFF cmp r0, 0 bne _081822DC movs r5, 0x1 _081822DC: movs r0, 0x32 ldrsh r2, [r4, r0] adds r0, r2, 0 cmp r2, 0 bge _081822E8 adds r0, r2, 0x3 _081822E8: asrs r0, 2 lsls r0, 2 subs r0, r2, r0 lsls r0, 16 asrs r1, r0, 16 lsrs r0, 31 adds r1, r0 asrs r1, 1 cmp r1, 0 bne _0818232C lsls r0, r2, 7 movs r1, 0x28 bl __divsi3 adds r1, r0, 0 cmp r1, 0 bge _0818230C adds r0, 0xFF _0818230C: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x10 bl Sin lsls r1, r5, 24 asrs r1, 24 adds r2, r0, 0 muls r2, r1 adds r0, r2, 0 strh r0, [r4, 0x24] negs r0, r0 b _0818235A _0818232C: lsls r0, r2, 7 movs r1, 0x28 bl __divsi3 adds r1, r0, 0 cmp r1, 0 bge _0818233C adds r0, 0xFF _0818233C: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x10 bl Sin lsls r0, 16 asrs r0, 16 negs r0, r0 lsls r1, r5, 24 asrs r1, 24 muls r0, r1 strh r0, [r4, 0x24] _0818235A: strh r0, [r4, 0x26] _0818235C: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] adds r0, r4, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_39 thumb_func_start pokemonanimfunc_3A pokemonanimfunc_3A: @ 8182370 push {r4,r5,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08182392 adds r0, r4, 0 bl HandleStartAffineAnim strh r5, [r4, 0x38] strh r5, [r4, 0x3A] strh r5, [r4, 0x3C] ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] _08182392: ldrh r1, [r4, 0x3A] movs r2, 0x3A ldrsh r0, [r4, r2] cmp r0, 0 ble _081823E4 subs r0, r1, 0x1 strh r0, [r4, 0x3A] movs r1, 0x38 ldrsh r0, [r4, r1] cmp r0, 0x3 beq _08182494 movs r2, 0x3A ldrsh r0, [r4, r2] lsls r0, 3 movs r1, 0x14 bl __divsi3 adds r1, r0, 0 ldrh r0, [r4, 0x3C] lsls r1, 16 asrs r1, 16 subs r0, r1 lsls r0, 16 asrs r0, 16 movs r1, 0x40 bl Sin movs r1, 0x80 lsls r1, 1 adds r2, r1, 0 lsls r0, 16 asrs r0, 16 subs r2, r0 lsls r2, 16 asrs r2, 16 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData b _08182494 _081823E4: movs r2, 0x38 ldrsh r0, [r4, r2] cmp r0, 0x3 bne _08182424 movs r1, 0x3C ldrsh r0, [r4, r1] cmp r0, 0x3F ble _08182410 movs r0, 0x40 strh r0, [r4, 0x3C] movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData adds r0, r4, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] _08182410: movs r2, 0x3C ldrsh r0, [r4, r2] movs r1, 0x40 bl Cos lsls r0, 16 lsrs r3, r0, 16 b _08182474 .pool _08182424: movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x40 bl Sin lsls r0, 16 lsrs r3, r0, 16 movs r2, 0x3C ldrsh r0, [r4, r2] cmp r0, 0x3F ble _08182448 movs r0, 0 movs r1, 0x3 strh r1, [r4, 0x38] movs r1, 0xA strh r1, [r4, 0x3A] strh r0, [r4, 0x3C] b _08182474 _08182448: lsls r0, r3, 16 asrs r0, 16 cmp r0, 0x30 ble _0818245C movs r1, 0x38 ldrsh r0, [r4, r1] cmp r0, 0x1 bne _0818245C movs r0, 0x2 b _0818246E _0818245C: lsls r0, r3, 16 asrs r0, 16 cmp r0, 0x10 ble _08182474 movs r2, 0x38 ldrsh r0, [r4, r2] cmp r0, 0 bne _08182474 movs r0, 0x1 _0818246E: strh r0, [r4, 0x38] movs r0, 0x14 strh r0, [r4, 0x3A] _08182474: ldrh r0, [r4, 0x3C] adds r0, 0x2 strh r0, [r4, 0x3C] movs r0, 0x80 lsls r0, 1 adds r2, r0, 0 lsls r0, r3, 16 asrs r0, 16 subs r2, r0 lsls r2, 16 asrs r2, 16 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData _08182494: adds r0, r4, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_3A thumb_func_start pokemonanimfunc_3B pokemonanimfunc_3B: @ 81824A0 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _081824BA adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] _081824BA: movs r0, 0x3C ldrsh r1, [r4, r0] movs r0, 0x80 lsls r0, 2 cmp r1, r0 ble _081824E8 movs r0, 0 strh r0, [r4, 0x26] movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData adds r0, r4, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] b _08182540 .pool _081824E8: movs r0, 0x3C ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _081824F4 adds r0, 0xFF _081824F4: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x8 bl Sin strh r0, [r4, 0x26] ldrh r0, [r4, 0x3C] adds r0, 0x8 strh r0, [r4, 0x3C] movs r0, 0x3C ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _08182518 adds r0, 0x7F _08182518: asrs r0, 7 lsls r0, 7 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x60 bl Sin adds r2, r0, 0 movs r1, 0x80 lsls r1, 1 lsls r2, 16 asrs r2, 16 adds r2, r1 lsls r2, 16 asrs r2, 16 adds r0, r4, 0 movs r3, 0 bl HandleSetAffineData _08182540: pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_3B thumb_func_start pokemonanimfunc_3C pokemonanimfunc_3C: @ 8182548 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08182562 adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] _08182562: movs r1, 0x3C ldrsh r0, [r4, r1] movs r5, 0x80 lsls r5, 1 cmp r0, r5 ble _08182590 movs r0, 0 strh r0, [r4, 0x26] adds r0, r4, 0 adds r1, r5, 0 adds r2, r5, 0 movs r3, 0 bl HandleSetAffineData adds r0, r4, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] b _081825D4 .pool _08182590: movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x10 bl Sin strh r0, [r4, 0x26] ldrh r0, [r4, 0x3C] adds r0, 0x4 strh r0, [r4, 0x3C] movs r0, 0x3C ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _081825AE adds r0, 0x3F _081825AE: asrs r0, 6 lsls r0, 6 subs r0, r1, r0 lsls r0, 17 asrs r0, 16 movs r1, 0x80 bl Sin adds r2, r0, 0 lsls r2, 16 asrs r2, 16 adds r2, r5 lsls r2, 16 asrs r2, 16 adds r0, r4, 0 adds r1, r5, 0 movs r3, 0 bl HandleSetAffineData _081825D4: pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_3C thumb_func_start pokemonanimfunc_3D pokemonanimfunc_3D: @ 81825DC push {r4,lr} adds r4, r0, 0 bl HandleStartAffineAnim ldr r0, =sub_81825F8 str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x3C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_3D thumb_func_start sub_81825F8 sub_81825F8: @ 81825F8 push {r4,lr} adds r4, r0, 0 ldrh r0, [r4, 0x3C] adds r0, 0x8 movs r1, 0 strh r0, [r4, 0x3C] lsls r0, 16 asrs r0, 16 cmp r0, 0x3F ble _0818261C strh r1, [r4, 0x3C] strh r1, [r4, 0x3A] ldr r0, =sub_8182648 str r0, [r4, 0x1C] movs r0, 0x40 b _08182620 .pool _0818261C: movs r1, 0x3C ldrsh r0, [r4, r1] _08182620: movs r1, 0x80 bl Sin lsls r0, 16 lsrs r0, 16 movs r1, 0x80 lsls r1, 1 lsls r2, r0, 16 asrs r2, 16 adds r2, r1 lsls r2, 16 asrs r2, 16 adds r0, r4, 0 movs r3, 0 bl HandleSetAffineData pop {r4} pop {r0} bx r0 thumb_func_end sub_81825F8 thumb_func_start sub_8182648 sub_8182648: @ 8182648 push {r4,r5,lr} adds r4, r0, 0 ldrh r0, [r4, 0x3C] adds r0, 0x4 strh r0, [r4, 0x3C] lsls r0, 16 asrs r0, 16 cmp r0, 0x5F ble _08182672 movs r0, 0 movs r1, 0x80 bl Cos lsls r0, 16 lsrs r2, r0, 16 movs r0, 0 strh r0, [r4, 0x3C] ldrh r0, [r4, 0x3A] adds r0, 0x1 strh r0, [r4, 0x3A] b _081826C8 _08182672: movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x8 bl Sin movs r2, 0x3A ldrsh r1, [r4, r2] lsls r1, 2 negs r1, r1 subs r1, r0 strh r1, [r4, 0x26] ldrh r1, [r4, 0x3C] movs r2, 0x3C ldrsh r0, [r4, r2] cmp r0, 0x3F ble _081826A4 ldr r5, =0x0000ffff adds r0, r1, 0 subs r0, 0x40 lsls r0, 16 lsrs r0, 16 b _081826A8 .pool _081826A4: movs r5, 0x1 movs r0, 0 _081826A8: lsls r0, 16 asrs r0, 15 ldrh r1, [r4, 0x3C] adds r0, r1 lsls r0, 16 asrs r0, 16 movs r1, 0x80 bl Cos lsls r1, r5, 16 asrs r1, 16 adds r2, r1, 0 muls r2, r0 adds r0, r2, 0 lsls r0, 16 lsrs r2, r0, 16 _081826C8: movs r1, 0x80 lsls r1, 1 lsls r2, 16 asrs r2, 16 adds r2, r1 lsls r2, 16 asrs r2, 16 adds r0, r4, 0 movs r3, 0 bl HandleSetAffineData movs r1, 0x3A ldrsh r0, [r4, r1] cmp r0, 0x3 bne _081826EE movs r0, 0 strh r0, [r4, 0x3C] ldr r0, =sub_81826F8 str r0, [r4, 0x1C] _081826EE: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8182648 thumb_func_start sub_81826F8 sub_81826F8: @ 81826F8 push {r4,r5,lr} adds r4, r0, 0 ldrh r0, [r4, 0x3C] adds r0, 0x8 strh r0, [r4, 0x3C] movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x80 bl Cos lsls r0, 16 lsrs r5, r0, 16 movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0xC bl Cos negs r0, r0 strh r0, [r4, 0x26] movs r1, 0x3C ldrsh r0, [r4, r1] cmp r0, 0x3F ble _08182742 adds r0, r4, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x26] movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData _08182742: movs r1, 0x80 lsls r1, 1 lsls r2, r5, 16 asrs r2, 16 adds r2, r1 lsls r2, 16 asrs r2, 16 adds r0, r4, 0 movs r3, 0 bl HandleSetAffineData pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_81826F8 thumb_func_start sub_8182764 sub_8182764: @ 8182764 push {r4,lr} adds r4, r0, 0 movs r0, 0x3C ldrsh r1, [r4, r0] movs r2, 0x38 ldrsh r0, [r4, r2] cmp r1, r0 ble _08182798 movs r0, 0 strh r0, [r4, 0x24] adds r0, r4, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData b _081827F4 .pool _08182798: movs r0, 0x3C ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _081827A4 adds r0, 0xFF _081827A4: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r2, 0x36 ldrsh r1, [r4, r2] bl Sin strh r0, [r4, 0x24] ldrh r0, [r4, 0x3A] ldrh r1, [r4, 0x3C] adds r0, r1 strh r0, [r4, 0x3C] movs r2, 0x3C ldrsh r1, [r4, r2] adds r0, r1, 0 cmp r1, 0 bge _081827CC adds r0, 0x7F _081827CC: asrs r0, 7 lsls r0, 7 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x60 bl Sin adds r1, r0, 0 lsls r1, 16 movs r0, 0x80 lsls r0, 17 adds r1, r0 asrs r1, 16 movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 movs r3, 0 bl HandleSetAffineData _081827F4: pop {r4} pop {r0} bx r0 thumb_func_end sub_8182764 thumb_func_start pokemonanimfunc_3E pokemonanimfunc_3E: @ 81827FC push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08182822 adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] movs r1, 0x8 strh r1, [r4, 0x3A] movs r0, 0x80 lsls r0, 2 strh r0, [r4, 0x38] strh r1, [r4, 0x36] _08182822: adds r0, r4, 0 bl sub_8182764 pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_3E thumb_func_start sub_8182830 sub_8182830: @ 8182830 push {r4,lr} adds r4, r0, 0 movs r0, 0x3C ldrsh r1, [r4, r0] movs r2, 0x38 ldrsh r0, [r4, r2] cmp r1, r0 ble _08182864 movs r0, 0 strh r0, [r4, 0x24] adds r0, r4, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData b _081828C0 .pool _08182864: movs r0, 0x3C ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _08182870 adds r0, 0xFF _08182870: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r2, 0x36 ldrsh r1, [r4, r2] bl Sin strh r0, [r4, 0x24] ldrh r0, [r4, 0x3A] ldrh r1, [r4, 0x3C] adds r0, r1 strh r0, [r4, 0x3C] movs r2, 0x3C ldrsh r1, [r4, r2] adds r0, r1, 0 cmp r1, 0 bge _08182898 adds r0, 0x3F _08182898: asrs r0, 6 lsls r0, 6 subs r0, r1, r0 lsls r0, 17 asrs r0, 16 movs r1, 0x80 bl Sin adds r1, r0, 0 lsls r1, 16 movs r0, 0x80 lsls r0, 17 adds r1, r0 asrs r1, 16 movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 movs r3, 0 bl HandleSetAffineData _081828C0: pop {r4} pop {r0} bx r0 thumb_func_end sub_8182830 thumb_func_start pokemonanimfunc_3F pokemonanimfunc_3F: @ 81828C8 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _081828EE adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] movs r0, 0x4 strh r0, [r4, 0x3A] adds r0, 0xFC strh r0, [r4, 0x38] movs r0, 0x10 strh r0, [r4, 0x36] _081828EE: adds r0, r4, 0 bl sub_8182830 pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_3F thumb_func_start pokemonanimfunc_40 pokemonanimfunc_40: @ 81828FC push {r4,r5,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _0818291A adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] _0818291A: movs r0, 0x3C ldrsh r1, [r4, r0] movs r0, 0x80 lsls r0, 2 cmp r1, r0 ble _08182948 movs r0, 0 strh r0, [r4, 0x24] adds r0, r4, 0 bl sub_817F77C movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] b _0818299E .pool _08182948: movs r0, 0x3C ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _08182954 adds r0, 0xFF _08182954: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x8 bl Sin strh r0, [r4, 0x24] ldrh r0, [r4, 0x3C] adds r0, 0x8 strh r0, [r4, 0x3C] movs r0, 0x3C ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _08182978 adds r0, 0x7F _08182978: asrs r0, 7 lsls r0, 7 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x60 bl Sin adds r2, r0, 0 lsls r2, 16 movs r0, 0x80 lsls r0, 17 adds r2, r0 asrs r2, 16 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData _0818299E: adds r0, r4, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_40 thumb_func_start pokemonanimfunc_41 pokemonanimfunc_41: @ 81829AC push {r4,r5,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _081829CA adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] _081829CA: movs r0, 0x3C ldrsh r1, [r4, r0] movs r0, 0x80 lsls r0, 2 cmp r1, r0 ble _081829F8 movs r0, 0 strh r0, [r4, 0x24] adds r0, r4, 0 bl sub_817F77C movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] b _08182A5E .pool _081829F8: movs r1, 0x3C ldrsh r0, [r4, r1] adds r1, r0, 0 cmp r0, 0 bge _08182A04 adds r1, 0xFF _08182A04: asrs r1, 8 lsls r1, 8 subs r1, r0, r1 lsls r1, 16 asrs r0, r1, 16 lsrs r1, 31 adds r0, r1 asrs r0, 1 movs r1, 0x10 bl Sin negs r0, r0 strh r0, [r4, 0x24] ldrh r0, [r4, 0x3C] adds r0, 0x8 strh r0, [r4, 0x3C] movs r1, 0x3C ldrsh r0, [r4, r1] adds r1, r0, 0 cmp r0, 0 bge _08182A30 adds r1, 0xFF _08182A30: asrs r1, 8 lsls r1, 8 subs r1, r0, r1 lsls r1, 16 asrs r0, r1, 16 lsrs r1, 31 adds r0, r1 asrs r0, 1 movs r1, 0x40 bl Sin adds r2, r0, 0 negs r2, r2 lsls r2, 16 movs r0, 0x80 lsls r0, 17 adds r2, r0 asrs r2, 16 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData _08182A5E: adds r0, r4, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_41 thumb_func_start pokemonanimfunc_42 pokemonanimfunc_42: @ 8182A6C push {r4,r5,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08182A8A adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] _08182A8A: movs r0, 0x3C ldrsh r1, [r4, r0] movs r0, 0x80 lsls r0, 2 cmp r1, r0 ble _08182AB8 movs r0, 0 strh r0, [r4, 0x24] adds r0, r4, 0 bl sub_817F77C movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] b _08182B16 .pool _08182AB8: movs r0, 0x3C ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _08182AC4 adds r0, 0xFF _08182AC4: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x8 bl Sin negs r0, r0 strh r0, [r4, 0x24] ldrh r0, [r4, 0x3C] adds r0, 0x8 strh r0, [r4, 0x3C] movs r1, 0x3C ldrsh r0, [r4, r1] adds r1, r0, 0 cmp r0, 0 bge _08182AEA adds r1, 0xFF _08182AEA: asrs r1, 8 lsls r1, 8 subs r1, r0, r1 lsls r1, 16 asrs r0, r1, 16 lsrs r1, 31 adds r0, r1 asrs r0, 1 movs r1, 0x60 bl Sin adds r2, r0, 0 lsls r2, 16 movs r0, 0x80 lsls r0, 17 adds r2, r0 asrs r2, 16 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData _08182B16: adds r0, r4, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_42 thumb_func_start pokemonanimfunc_43 pokemonanimfunc_43: @ 8182B24 push {r4,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r1, [r4, r0] movs r0, 0x80 lsls r0, 4 cmp r1, r0 ble _08182B48 ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x3A] b _08182C08 .pool _08182B48: movs r1, 0x32 ldrsh r2, [r4, r1] adds r0, r2, 0 cmp r2, 0 bge _08182B56 ldr r1, =0x000001ff adds r0, r2, r1 _08182B56: asrs r3, r0, 9 adds r1, r3, 0 adds r0, r1, 0 cmp r1, 0 bge _08182B62 adds r0, r1, 0x3 _08182B62: asrs r0, 2 lsls r0, 2 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 cmp r0, 0x1 beq _08182BA4 cmp r0, 0x1 bgt _08182B80 cmp r0, 0 beq _08182B8A b _08182BE2 .pool _08182B80: cmp r0, 0x2 beq _08182BB8 cmp r0, 0x3 beq _08182BCA b _08182BE2 _08182B8A: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 12 negs r0, r0 cmp r0, 0 bge _08182B9C ldr r1, =0x000001ff adds r0, r1 _08182B9C: asrs r0, 9 b _08182BE0 .pool _08182BA4: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 16 cmp r0, 0 bge _08182BB2 adds r0, 0x1F _08182BB2: asrs r0, 5 subs r0, 0x10 b _08182BE0 _08182BB8: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 16 cmp r0, 0 bge _08182BC6 adds r0, 0x1F _08182BC6: asrs r0, 5 b _08182BE0 _08182BCA: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 12 negs r0, r0 cmp r0, 0 bge _08182BDC ldr r1, =0x000001ff adds r0, r1 _08182BDC: asrs r0, 9 adds r0, 0x10 _08182BE0: strh r0, [r4, 0x24] _08182BE2: movs r0, 0x32 ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _08182BEE adds r0, 0x7F _08182BEE: asrs r0, 7 lsls r0, 7 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x4 bl Sin negs r0, r0 strh r0, [r4, 0x26] ldrh r0, [r4, 0x32] adds r0, 0x18 strh r0, [r4, 0x32] _08182C08: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_43 thumb_func_start pokemonanimfunc_44 pokemonanimfunc_44: @ 8182C18 push {r4,r5,lr} adds r4, r0, 0 bl sub_817F70C ldrh r1, [r4, 0x32] movs r2, 0x32 ldrsh r0, [r4, r2] cmp r0, 0 bne _08182C34 strh r0, [r4, 0x3A] movs r0, 0x40 strh r0, [r4, 0x3C] adds r0, r1, 0x1 strh r0, [r4, 0x32] _08182C34: ldrh r0, [r4, 0x3C] adds r1, r0, 0 adds r1, 0x8 movs r3, 0 strh r1, [r4, 0x3C] ldrh r2, [r4, 0x3A] movs r5, 0x3A ldrsh r0, [r4, r5] cmp r0, 0x4 bne _08182C52 lsls r0, r1, 16 asrs r0, 16 cmp r0, 0x3F ble _08182C60 b _08182C5A _08182C52: lsls r0, r1, 16 asrs r0, 16 cmp r0, 0x7F ble _08182C60 _08182C5A: strh r3, [r4, 0x3C] adds r0, r2, 0x1 strh r0, [r4, 0x3A] _08182C60: movs r1, 0x3A ldrsh r0, [r4, r1] cmp r0, 0x4 bhi _08182D08 lsls r0, 2 ldr r1, =_08182C78 adds r0, r1 ldr r0, [r0] mov pc, r0 .pool .align 2, 0 _08182C78: .4byte _08182CEC .4byte _08182C8C .4byte _08182CAA .4byte _08182CCC .4byte _08182CEC _08182C8C: movs r2, 0x3C ldrsh r0, [r4, r2] movs r1, 0x8 bl Cos negs r0, r0 strh r0, [r4, 0x24] movs r5, 0x3C ldrsh r0, [r4, r5] movs r1, 0x8 bl Sin subs r0, 0x8 strh r0, [r4, 0x26] b _08182D12 _08182CAA: ldrh r0, [r4, 0x3C] adds r0, 0x80 lsls r0, 16 asrs r0, 16 movs r1, 0x8 bl Sin adds r0, 0x8 strh r0, [r4, 0x24] movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x8 bl Cos negs r0, r0 strh r0, [r4, 0x26] b _08182D12 _08182CCC: movs r2, 0x3C ldrsh r0, [r4, r2] movs r1, 0x8 bl Cos strh r0, [r4, 0x24] ldrh r0, [r4, 0x3C] adds r0, 0x80 lsls r0, 16 asrs r0, 16 movs r1, 0x8 bl Sin adds r0, 0x8 strh r0, [r4, 0x26] b _08182D12 _08182CEC: movs r5, 0x3C ldrsh r0, [r4, r5] movs r1, 0x8 bl Sin subs r0, 0x8 strh r0, [r4, 0x24] movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x8 bl Cos strh r0, [r4, 0x26] b _08182D12 _08182D08: movs r0, 0 strh r0, [r4, 0x24] strh r0, [r4, 0x26] ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] _08182D12: adds r0, r4, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_44 thumb_func_start pokemonanimfunc_45 pokemonanimfunc_45: @ 8182D24 push {r4,lr} adds r4, r0, 0 movs r0, 0x20 strh r0, [r4, 0x2E] adds r0, r4, 0 bl sub_8180714 ldr r0, =sub_8180714 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_45 thumb_func_start pokemonanimfunc_46 pokemonanimfunc_46: @ 8182D40 push {r4,lr} adds r4, r0, 0 movs r0, 0x50 strh r0, [r4, 0x2E] adds r0, r4, 0 bl sub_817F8FC ldr r0, =sub_817F8FC str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_46 thumb_func_start pokemonanimfunc_47 pokemonanimfunc_47: @ 8182D5C push {r4,lr} adds r4, r0, 0 movs r0, 0x50 strh r0, [r4, 0x2E] adds r0, r4, 0 bl sub_817F978 ldr r0, =sub_817F978 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_47 thumb_func_start pokemonanimfunc_48 pokemonanimfunc_48: @ 8182D78 push {r4,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x80 lsls r0, 4 strh r0, [r1, 0x6] ldrh r0, [r4, 0x3A] strh r0, [r1, 0x8] adds r0, r4, 0 bl sub_8180900 ldr r0, =sub_8180900 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_48 thumb_func_start pokemonanimfunc_49 pokemonanimfunc_49: @ 8182DB4 push {lr} movs r1, 0x1 strh r1, [r0, 0x3A] bl pokemonanimfunc_05 pop {r0} bx r0 thumb_func_end pokemonanimfunc_49 thumb_func_start pokemonanimfunc_4A pokemonanimfunc_4A: @ 8182DC4 push {lr} movs r1, 0x1 strh r1, [r0, 0x3A] bl pokemonanimfunc_48 pop {r0} bx r0 thumb_func_end pokemonanimfunc_4A thumb_func_start pokemonanimfunc_4B pokemonanimfunc_4B: @ 8182DD4 push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _08182DE2 strh r0, [r4, 0x2E] _08182DE2: ldrh r1, [r4, 0x2E] movs r2, 0x2E ldrsh r0, [r4, r2] cmp r0, 0 bgt _08182DF6 adds r0, r4, 0 bl sub_817FC20 movs r0, 0x1 b _08182DF8 _08182DF6: subs r0, r1, 0x1 _08182DF8: strh r0, [r4, 0x2E] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_4B thumb_func_start pokemonanimfunc_4C pokemonanimfunc_4C: @ 8182E00 push {r4,lr} adds r4, r0, 0 movs r0, 0x1E strh r0, [r4, 0x2E] movs r0, 0x3 strh r0, [r4, 0x3C] adds r0, r4, 0 bl sub_817FCDC ldr r0, =sub_817FCDC str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_4C thumb_func_start pokemonanimfunc_4D pokemonanimfunc_4D: @ 8182E20 push {r4,lr} adds r4, r0, 0 movs r0, 0x1E strh r0, [r4, 0x2E] adds r0, r4, 0 bl sub_817FD44 ldr r0, =sub_817FD44 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_4D thumb_func_start pokemonanimfunc_4E pokemonanimfunc_4E: @ 8182E3C push {r4,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 movs r3, 0 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x80 lsls r0, 3 strh r0, [r1, 0x6] strh r3, [r1] movs r0, 0x2 strh r0, [r1, 0x4] adds r0, r4, 0 bl sub_817FE30 ldr r0, =sub_817FE30 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_4E thumb_func_start pokemonanimfunc_4F pokemonanimfunc_4F: @ 8182E7C push {r4,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x80 lsls r0, 2 strh r0, [r1, 0x6] movs r0, 0x3 strh r0, [r1, 0x8] movs r0, 0xC strh r0, [r1, 0x2] adds r0, r4, 0 bl sub_817FFF0 ldr r0, =sub_817FFF0 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_4F thumb_func_start pokemonanimfunc_50 pokemonanimfunc_50: @ 8182EBC push {r4,lr} adds r4, r0, 0 movs r0, 0x18 strh r0, [r4, 0x2E] adds r0, r4, 0 bl sub_818031C ldr r0, =sub_818031C str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_50 thumb_func_start pokemonanimfunc_51 pokemonanimfunc_51: @ 8182ED8 push {r4,lr} adds r4, r0, 0 movs r0, 0x5 strh r0, [r4, 0x2E] adds r0, r4, 0 bl sub_81804F8 ldr r0, =sub_81804F8 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_51 thumb_func_start pokemonanimfunc_52 pokemonanimfunc_52: @ 8182EF4 push {r4,lr} adds r4, r0, 0 movs r0, 0x3 strh r0, [r4, 0x2E] adds r0, r4, 0 bl sub_817F9F4 ldr r0, =sub_817F9F4 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_52 thumb_func_start pokemonanimfunc_53 pokemonanimfunc_53: @ 8182F10 push {r4,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x3C strh r0, [r1] movs r0, 0x1E strh r0, [r1, 0x8] adds r0, r4, 0 bl sub_817FF3C ldr r0, =sub_817FF3C str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_53 thumb_func_start pokemonanimfunc_54 pokemonanimfunc_54: @ 8182F48 push {r4,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x1 strh r0, [r1, 0x2] movs r0, 0x2 strh r0, [r1, 0x4] adds r0, r4, 0 bl sub_8181214 ldr r0, =sub_8181214 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_54 thumb_func_start pokemonanimfunc_55 pokemonanimfunc_55: @ 8182F80 push {r4,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x4 strh r0, [r1, 0x6] movs r0, 0x2 strh r0, [r1, 0x4] adds r0, r4, 0 bl sub_8181810 ldr r0, =sub_8181810 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_55 thumb_func_start pokemonanimfunc_56 pokemonanimfunc_56: @ 8182FB8 push {r4,r5,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x1 strh r0, [r1, 0x8] movs r0, 0x2 strh r0, [r1, 0x4] adds r0, r4, 0 bl HandleStartAffineAnim strh r5, [r4, 0x34] adds r0, r4, 0 bl sub_8181ABC ldr r0, =sub_8181ABC str r0, [r4, 0x1C] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_56 thumb_func_start pokemonanimfunc_07 pokemonanimfunc_07: @ 8182FFC push {r4,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x2 strh r0, [r1, 0x6] adds r0, r4, 0 bl sub_8181CE8 ldr r0, =sub_8181CE8 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_07 thumb_func_start pokemonanimfunc_08 pokemonanimfunc_08: @ 8183030 push {r4,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x4 strh r0, [r1, 0x6] movs r0, 0x2 strh r0, [r1, 0x4] adds r0, r4, 0 bl sub_8181CE8 ldr r0, =sub_8181CE8 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_08 thumb_func_start pokemonanimfunc_0B pokemonanimfunc_0B: @ 8183068 push {r4,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x64 strh r0, [r1, 0x8] adds r0, r4, 0 bl sub_81814D4 ldr r0, =sub_81814D4 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_0B thumb_func_start pokemonanimfunc_0C pokemonanimfunc_0C: @ 818309C push {r4,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x32 strh r0, [r1, 0x8] movs r0, 0x2 strh r0, [r1, 0x4] adds r0, r4, 0 bl sub_81814D4 ldr r0, =sub_81814D4 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_0C thumb_func_start pokemonanimfunc_0D pokemonanimfunc_0D: @ 81830D4 push {r4,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x64 strh r0, [r1, 0x8] adds r0, r4, 0 bl sub_81815D4 ldr r0, =sub_81815D4 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_0D thumb_func_start pokemonanimfunc_0E pokemonanimfunc_0E: @ 8183108 push {r4,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x32 strh r0, [r1, 0x8] movs r0, 0x2 strh r0, [r1, 0x4] adds r0, r4, 0 bl sub_81815D4 ldr r0, =sub_81815D4 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_0E thumb_func_start sub_8183140 sub_8183140: @ 8183140 push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r2, [r4, r0] movs r0, 0x90 lsls r0, 4 cmp r2, r0 ble _0818315C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r0, 0 b _08183180 .pool _0818315C: adds r1, r2, 0 adds r1, 0xC0 adds r0, r1, 0 cmp r1, 0 bge _0818316A ldr r3, =0x000001bf adds r0, r2, r3 _0818316A: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r2, 0x3C ldrsh r1, [r4, r2] bl Sin ldrh r1, [r4, 0x3C] adds r0, r1 _08183180: strh r0, [r4, 0x26] ldrh r0, [r4, 0x2E] ldrh r3, [r4, 0x32] adds r0, r3 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8183140 thumb_func_start pokemonanimfunc_57 pokemonanimfunc_57: @ 8183194 push {r4,lr} adds r4, r0, 0 movs r0, 0x3C strh r0, [r4, 0x2E] movs r0, 0x3 strh r0, [r4, 0x3C] adds r0, r4, 0 bl sub_8183140 ldr r0, =sub_8183140 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_57 thumb_func_start pokemonanimfunc_58 pokemonanimfunc_58: @ 81831B4 push {r4,lr} adds r4, r0, 0 movs r0, 0x1E strh r0, [r4, 0x2E] movs r0, 0x3 strh r0, [r4, 0x3C] adds r0, r4, 0 bl sub_8183140 ldr r0, =sub_8183140 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_58 thumb_func_start pokemonanimfunc_59 pokemonanimfunc_59: @ 81831D4 push {r4,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r1, [r4, r0] movs r0, 0x80 lsls r0, 4 cmp r1, r0 ble _081831F8 ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x3A] b _081832BC .pool _081831F8: movs r1, 0x32 ldrsh r2, [r4, r1] adds r0, r2, 0 cmp r2, 0 bge _08183206 ldr r1, =0x000001ff adds r0, r2, r1 _08183206: asrs r3, r0, 9 adds r1, r3, 0 adds r0, r1, 0 cmp r1, 0 bge _08183212 adds r0, r1, 0x3 _08183212: asrs r0, 2 lsls r0, 2 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 cmp r0, 0x1 beq _08183268 cmp r0, 0x1 bgt _08183230 cmp r0, 0 beq _0818323A b _08183298 .pool _08183230: cmp r0, 0x2 beq _0818324C cmp r0, 0x3 beq _08183284 b _08183298 _0818323A: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 16 cmp r0, 0 bge _08183248 adds r0, 0x1F _08183248: asrs r0, 5 b _08183296 _0818324C: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 12 negs r0, r0 cmp r0, 0 bge _0818325E ldr r1, =0x000001ff adds r0, r1 _0818325E: asrs r0, 9 b _08183296 .pool _08183268: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 12 negs r0, r0 cmp r0, 0 bge _0818327A ldr r1, =0x000001ff adds r0, r1 _0818327A: asrs r0, 9 adds r0, 0x10 b _08183296 .pool _08183284: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 16 cmp r0, 0 bge _08183292 adds r0, 0x1F _08183292: asrs r0, 5 subs r0, 0x10 _08183296: strh r0, [r4, 0x24] _08183298: movs r0, 0x32 ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _081832A4 adds r0, 0x7F _081832A4: asrs r0, 7 lsls r0, 7 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x4 bl Sin strh r0, [r4, 0x26] ldrh r0, [r4, 0x32] adds r0, 0x18 strh r0, [r4, 0x32] _081832BC: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_59 thumb_func_start sub_81832C8 sub_81832C8: @ 81832C8 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} adds r6, r0, 0 movs r0, 0 mov r8, r0 movs r2, 0x38 ldrsh r1, [r6, r2] movs r2, 0x3A ldrsh r0, [r6, r2] cmp r1, r0 ble _0818331A mov r0, r8 strh r0, [r6, 0x26] strh r0, [r6, 0x38] movs r2, 0x80 lsls r2, 1 adds r0, r6, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData ldrh r1, [r6, 0x36] movs r2, 0x36 ldrsh r0, [r6, r2] cmp r0, 0x1 bgt _08183310 adds r0, r6, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r6, 0x1C] b _081833DC .pool _08183310: subs r0, r1, 0x1 strh r0, [r6, 0x36] mov r0, r8 strh r0, [r6, 0x3C] b _081833DC _0818331A: movs r1, 0x38 ldrsh r5, [r6, r1] lsls r0, r5, 7 movs r2, 0x3A ldrsh r4, [r6, r2] adds r1, r4, 0 bl __divsi3 lsls r0, 16 lsrs r2, r0, 16 cmp r4, 0 bge _08183334 adds r4, 0x3 _08183334: asrs r1, r4, 2 lsls r1, 24 lsrs r1, 24 lsls r0, r1, 1 adds r0, r1 lsls r0, 24 lsrs r0, 24 cmp r5, r1 blt _08183358 cmp r5, r0 bge _08183358 ldrh r0, [r6, 0x3C] adds r0, 0x33 strh r0, [r6, 0x3C] movs r1, 0xFF mov r8, r1 ands r1, r0 mov r8, r1 _08183358: movs r1, 0x30 ldrsh r0, [r6, r1] cmp r0, 0 bne _0818337C lsls r4, r2, 16 asrs r0, r4, 16 movs r1, 0x10 bl Sin ldr r2, =0xffffff00 adds r1, r2, 0 subs r1, r0 lsls r1, 16 lsrs r1, 16 mov r9, r1 b _08183392 .pool _0818337C: lsls r4, r2, 16 asrs r0, r4, 16 movs r1, 0x10 bl Sin movs r1, 0x80 lsls r1, 1 adds r0, r1 lsls r0, 16 lsrs r0, 16 mov r9, r0 _08183392: adds r7, r4, 0 ldrh r4, [r6, 0x34] lsls r4, 24 lsrs r4, 24 mov r5, r8 adds r0, r4, 0 movs r1, 0x5 bl __udivsi3 adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 bl Sin adds r5, r0, 0 asrs r0, r7, 16 adds r1, r4, 0 bl Sin movs r1, 0x80 lsls r1, 1 adds r2, r1, 0 subs r2, r5 subs r2, r0 mov r0, r9 lsls r1, r0, 16 asrs r1, 16 lsls r2, 16 asrs r2, 16 adds r0, r6, 0 movs r3, 0 bl SetAffineData ldrh r0, [r6, 0x38] adds r0, 0x1 strh r0, [r6, 0x38] _081833DC: pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_81832C8 thumb_func_start pokemonanimfunc_5A pokemonanimfunc_5A: @ 81833E8 push {r4-r6,lr} adds r5, r0, 0 movs r0, 0x32 ldrsh r6, [r5, r0] cmp r6, 0 bne _0818340A movs r4, 0x1 strh r4, [r5, 0x32] adds r0, r5, 0 bl HandleStartAffineAnim strh r4, [r5, 0x36] movs r0, 0x28 strh r0, [r5, 0x3A] strh r0, [r5, 0x34] strh r6, [r5, 0x38] strh r6, [r5, 0x3C] _0818340A: adds r0, r5, 0 bl sub_81832C8 pop {r4-r6} pop {r0} bx r0 thumb_func_end pokemonanimfunc_5A thumb_func_start sub_8183418 sub_8183418: @ 8183418 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} adds r6, r0, 0 movs r0, 0 mov r8, r0 movs r2, 0x38 ldrsh r1, [r6, r2] movs r2, 0x3A ldrsh r0, [r6, r2] cmp r1, r0 ble _0818346A mov r0, r8 strh r0, [r6, 0x38] movs r2, 0x80 lsls r2, 1 adds r0, r6, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData ldrh r1, [r6, 0x36] movs r2, 0x36 ldrsh r0, [r6, r2] cmp r0, 0x1 bgt _08183460 adds r0, r6, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r6, 0x1C] b _08183538 .pool _08183460: subs r0, r1, 0x1 strh r0, [r6, 0x36] mov r0, r8 strh r0, [r6, 0x3C] b _08183538 _0818346A: movs r1, 0x38 ldrsh r5, [r6, r1] lsls r0, r5, 7 movs r2, 0x3A ldrsh r4, [r6, r2] adds r1, r4, 0 bl __divsi3 lsls r0, 16 lsrs r0, 16 mov r9, r0 cmp r4, 0 bge _08183486 adds r4, 0x3 _08183486: asrs r1, r4, 2 lsls r1, 24 lsrs r1, 24 lsls r0, r1, 1 adds r0, r1 lsls r0, 24 lsrs r0, 24 cmp r5, r1 blt _081834AC cmp r5, r0 bge _081834AC ldrh r0, [r6, 0x3C] adds r0, 0x33 strh r0, [r6, 0x3C] movs r1, 0xFF mov r8, r1 mov r2, r8 ands r2, r0 mov r8, r2 _081834AC: ldrh r0, [r6, 0x34] lsls r0, 24 lsrs r7, r0, 24 movs r1, 0x30 ldrsh r0, [r6, r1] cmp r0, 0 bne _081834F0 mov r2, r9 lsls r0, r2, 16 asrs r0, 16 adds r1, r7, 0 bl Sin adds r4, r0, 0 mov r5, r8 adds r0, r7, 0 movs r1, 0x5 bl __udivsi3 adds r1, r0, 0 lsls r1, 24 lsrs r1, 23 adds r0, r5, 0 bl Sin ldr r1, =0xffffff00 adds r0, r1 adds r4, r0 lsls r4, 16 lsrs r1, r4, 16 b _08183522 .pool _081834F0: mov r4, r8 adds r0, r7, 0 movs r1, 0x5 bl __udivsi3 adds r1, r0, 0 lsls r1, 24 lsrs r1, 23 adds r0, r4, 0 bl Sin adds r4, r0, 0 mov r2, r9 lsls r0, r2, 16 asrs r0, 16 adds r1, r7, 0 bl Sin movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 subs r1, r4 subs r1, r0 lsls r1, 16 lsrs r1, 16 _08183522: lsls r1, 16 asrs r1, 16 movs r2, 0x80 lsls r2, 1 adds r0, r6, 0 movs r3, 0 bl SetAffineData ldrh r0, [r6, 0x38] adds r0, 0x1 strh r0, [r6, 0x38] _08183538: pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8183418 thumb_func_start pokemonanimfunc_5B pokemonanimfunc_5B: @ 8183544 push {r4-r6,lr} adds r5, r0, 0 movs r0, 0x32 ldrsh r6, [r5, r0] cmp r6, 0 bne _08183566 movs r4, 0x1 strh r4, [r5, 0x32] adds r0, r5, 0 bl HandleStartAffineAnim strh r4, [r5, 0x36] movs r0, 0x28 strh r0, [r5, 0x3A] strh r0, [r5, 0x34] strh r6, [r5, 0x38] strh r6, [r5, 0x3C] _08183566: adds r0, r5, 0 bl sub_8183418 pop {r4-r6} pop {r0} bx r0 thumb_func_end pokemonanimfunc_5B thumb_func_start sub_8183574 sub_8183574: @ 8183574 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} adds r4, r0, 0 ldrh r0, [r4, 0x32] lsls r0, 24 lsrs r0, 24 mov r8, r0 ldrh r0, [r4, 0x3A] lsls r0, 24 lsrs r0, 24 mov r9, r0 ldr r3, =gUnknown_0860AA80 movs r1, 0x38 ldrsh r0, [r4, r1] lsls r1, r0, 1 adds r0, r1, r3 ldrb r5, [r0] adds r2, r5, 0 cmp r5, 0xFF beq _081835A6 ldrh r0, [r4, 0x3C] lsls r0, 24 lsrs r5, r0, 24 _081835A6: adds r0, r3, 0x1 adds r0, r1, r0 ldrb r6, [r0] movs r7, 0 cmp r2, 0xFE beq _081835C2 mov r1, r9 subs r0, r6, r1 muls r0, r5 adds r1, r6, 0 bl __divsi3 lsls r0, 24 lsrs r7, r0, 24 _081835C2: cmp r5, 0xFF bne _081835D8 ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x26] b _0818360A .pool _081835D8: mov r1, r8 adds r1, 0xC0 adds r0, r1, 0 asrs r0, 8 lsls r0, 8 subs r0, r1, r0 adds r1, r7, 0 bl Sin adds r0, r7 strh r0, [r4, 0x26] cmp r9, r6 bne _081835FC ldrh r0, [r4, 0x38] adds r0, 0x1 strh r0, [r4, 0x38] movs r0, 0 b _08183608 _081835FC: ldrh r0, [r4, 0x2E] ldrh r1, [r4, 0x32] adds r0, r1 strh r0, [r4, 0x32] ldrh r0, [r4, 0x3A] adds r0, 0x1 _08183608: strh r0, [r4, 0x3A] _0818360A: pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8183574 thumb_func_start pokemonanimfunc_5C pokemonanimfunc_5C: @ 8183618 push {r4,lr} adds r4, r0, 0 movs r0, 0x28 strh r0, [r4, 0x2E] movs r0, 0x6 strh r0, [r4, 0x3C] adds r0, r4, 0 bl sub_8183574 ldr r0, =sub_8183574 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_5C thumb_func_start pokemonanimfunc_5D pokemonanimfunc_5D: @ 8183638 push {r4,lr} adds r4, r0, 0 movs r0, 0x46 strh r0, [r4, 0x2E] movs r0, 0x6 strh r0, [r4, 0x3C] adds r0, r4, 0 bl sub_817FCDC ldr r0, =sub_817FCDC str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_5D thumb_func_start pokemonanimfunc_5E pokemonanimfunc_5E: @ 8183658 push {r4,lr} adds r4, r0, 0 movs r0, 0x14 strh r0, [r4, 0x2E] adds r0, r4, 0 bl sub_817F8FC ldr r0, =sub_817F8FC str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_5E thumb_func_start pokemonanimfunc_5F pokemonanimfunc_5F: @ 8183674 push {r4,r5,lr} adds r4, r0, 0 ldrh r1, [r4, 0x32] movs r2, 0x32 ldrsh r0, [r4, r2] cmp r0, 0x28 ble _08183690 ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r0, 0 b _081836CA .pool _08183690: movs r0, 0x1 ands r0, r1 movs r5, 0xFF cmp r0, 0 bne _0818369C movs r5, 0x1 _0818369C: movs r1, 0x32 ldrsh r0, [r4, r1] lsls r0, 7 movs r1, 0x28 bl __divsi3 adds r1, r0, 0 cmp r1, 0 bge _081836B0 adds r0, 0xFF _081836B0: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x9 bl Sin lsls r1, r5, 24 asrs r1, 24 adds r2, r0, 0 muls r2, r1 adds r0, r2, 0 _081836CA: strh r0, [r4, 0x24] ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_5F thumb_func_start pokemonanimfunc_60 pokemonanimfunc_60: @ 81836D8 push {r4,r5,lr} adds r4, r0, 0 ldrh r1, [r4, 0x32] movs r2, 0x32 ldrsh r0, [r4, r2] cmp r0, 0x28 ble _081836F4 ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r0, 0 b _0818372E .pool _081836F4: movs r0, 0x1 ands r0, r1 movs r5, 0xFF cmp r0, 0 bne _08183700 movs r5, 0x1 _08183700: movs r1, 0x32 ldrsh r0, [r4, r1] lsls r0, 7 movs r1, 0x28 bl __divsi3 adds r1, r0, 0 cmp r1, 0 bge _08183714 adds r0, 0xFF _08183714: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0xC bl Sin lsls r1, r5, 24 asrs r1, 24 adds r2, r0, 0 muls r2, r1 adds r0, r2, 0 _0818372E: strh r0, [r4, 0x24] ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_60 thumb_func_start pokemonanimfunc_61 pokemonanimfunc_61: @ 818373C push {r4,lr} adds r4, r0, 0 movs r0, 0x46 strh r0, [r4, 0x2E] movs r0, 0x6 strh r0, [r4, 0x3C] adds r0, r4, 0 bl sub_8183140 ldr r0, =sub_8183140 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_61 thumb_func_start pokemonanimfunc_62 pokemonanimfunc_62: @ 818375C push {r4,lr} adds r4, r0, 0 movs r0, 0x18 strh r0, [r4, 0x2E] movs r0, 0x6 strh r0, [r4, 0x3C] adds r0, r4, 0 bl sub_8183574 ldr r0, =sub_8183574 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_62 thumb_func_start pokemonanimfunc_63 pokemonanimfunc_63: @ 818377C push {r4,lr} adds r4, r0, 0 movs r0, 0x38 strh r0, [r4, 0x2E] movs r0, 0x9 strh r0, [r4, 0x3C] adds r0, r4, 0 bl sub_8183574 ldr r0, =sub_8183574 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_63 thumb_func_start pokemonanimfunc_64 pokemonanimfunc_64: @ 818379C push {r4,lr} adds r4, r0, 0 bl sub_817F758 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] ldr r2, =gUnknown_03001240 lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r2 movs r0, 0x80 lsls r0, 3 strh r0, [r1, 0x6] movs r0, 0x6 strh r0, [r1, 0x8] movs r0, 0x18 strh r0, [r1, 0x2] adds r0, r4, 0 bl sub_817FFF0 ldr r0, =sub_817FFF0 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_64 thumb_func_start sub_81837DC sub_81837DC: @ 81837DC push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} adds r7, r0, 0 movs r5, 0 movs r0, 0x38 ldrsh r1, [r7, r0] movs r2, 0x3A ldrsh r0, [r7, r2] cmp r1, r0 ble _0818382C strh r5, [r7, 0x26] strh r5, [r7, 0x38] movs r2, 0x80 lsls r2, 1 adds r0, r7, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData ldrh r1, [r7, 0x36] movs r2, 0x36 ldrsh r0, [r7, r2] cmp r0, 0x1 bgt _08183824 adds r0, r7, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r7, 0x1C] b _0818392C .pool _08183824: subs r0, r1, 0x1 strh r0, [r7, 0x36] strh r5, [r7, 0x3C] b _0818392C _0818382C: movs r0, 0x38 ldrsh r6, [r7, r0] lsls r0, r6, 7 movs r1, 0x3A ldrsh r4, [r7, r1] adds r1, r4, 0 bl __divsi3 lsls r0, 16 lsrs r2, r0, 16 cmp r4, 0 bge _08183846 adds r4, 0x3 _08183846: asrs r1, r4, 2 lsls r1, 24 lsrs r1, 24 lsls r0, r1, 1 adds r0, r1 lsls r0, 24 lsrs r0, 24 cmp r6, r1 blt _08183866 cmp r6, r0 bge _08183866 ldrh r0, [r7, 0x3C] adds r0, 0x33 strh r0, [r7, 0x3C] movs r5, 0xFF ands r5, r0 _08183866: ldrh r0, [r7, 0x34] lsls r0, 24 lsrs r0, 24 mov r9, r0 movs r1, 0x30 ldrsh r0, [r7, r1] cmp r0, 0 bne _081838B0 lsls r2, 16 mov r8, r2 asrs r0, r2, 16 mov r1, r9 bl Sin adds r4, r0, 0 lsls r6, r5, 16 asrs r5, r6, 16 mov r0, r9 movs r1, 0x5 bl __udivsi3 adds r1, r0, 0 lsls r1, 24 lsrs r1, 23 adds r0, r5, 0 bl Sin ldr r2, =0xffffff00 adds r4, r2 adds r0, r4 lsls r0, 16 lsrs r0, 16 mov r10, r0 mov r0, r8 b _081838EA .pool _081838B0: lsls r2, 16 mov r8, r2 asrs r0, r2, 16 mov r1, r9 bl Sin adds r6, r0, 0 lsls r5, 16 asrs r4, r5, 16 mov r0, r9 movs r1, 0x5 bl __udivsi3 adds r1, r0, 0 lsls r1, 24 lsrs r1, 23 adds r0, r4, 0 bl Sin movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 subs r1, r6 subs r1, r0 lsls r1, 16 lsrs r1, 16 mov r10, r1 mov r0, r8 adds r6, r5, 0 _081838EA: asrs r0, 16 mov r1, r9 bl Sin adds r5, r0, 0 asrs r4, r6, 16 mov r0, r9 movs r1, 0x5 bl __udivsi3 adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 bl Sin movs r1, 0x80 lsls r1, 1 adds r2, r1, 0 subs r2, r5 subs r2, r0 mov r0, r10 lsls r1, r0, 16 asrs r1, 16 lsls r2, 16 asrs r2, 16 adds r0, r7, 0 movs r3, 0 bl SetAffineData ldrh r0, [r7, 0x38] adds r0, 0x1 strh r0, [r7, 0x38] _0818392C: pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_81837DC thumb_func_start pokemonanimfunc_65 pokemonanimfunc_65: @ 818393C push {r4-r6,lr} adds r5, r0, 0 movs r0, 0x32 ldrsh r6, [r5, r0] cmp r6, 0 bne _0818395E movs r4, 0x1 strh r4, [r5, 0x32] adds r0, r5, 0 bl HandleStartAffineAnim strh r4, [r5, 0x36] movs r0, 0x28 strh r0, [r5, 0x3A] strh r0, [r5, 0x34] strh r6, [r5, 0x38] strh r6, [r5, 0x3C] _0818395E: adds r0, r5, 0 bl sub_81837DC pop {r4-r6} pop {r0} bx r0 thumb_func_end pokemonanimfunc_65 thumb_func_start pokemonanimfunc_66 pokemonanimfunc_66: @ 818396C push {r4,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r1, [r4, r0] movs r0, 0x80 lsls r0, 4 cmp r1, r0 ble _08183990 ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x3A] b _08183A54 .pool _08183990: movs r1, 0x32 ldrsh r2, [r4, r1] adds r0, r2, 0 cmp r2, 0 bge _0818399E ldr r1, =0x000001ff adds r0, r2, r1 _0818399E: asrs r3, r0, 9 adds r1, r3, 0 adds r0, r1, 0 cmp r1, 0 bge _081839AA adds r0, r1, 0x3 _081839AA: asrs r0, 2 lsls r0, 2 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 cmp r0, 0x1 beq _08183A00 cmp r0, 0x1 bgt _081839C8 cmp r0, 0 beq _081839D2 b _08183A30 .pool _081839C8: cmp r0, 0x2 beq _081839E4 cmp r0, 0x3 beq _08183A1C b _08183A30 _081839D2: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 16 cmp r0, 0 bge _081839E0 adds r0, 0x1F _081839E0: asrs r0, 5 b _08183A2E _081839E4: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 12 negs r0, r0 cmp r0, 0 bge _081839F6 ldr r1, =0x000001ff adds r0, r1 _081839F6: asrs r0, 9 b _08183A2E .pool _08183A00: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 12 negs r0, r0 cmp r0, 0 bge _08183A12 ldr r1, =0x000001ff adds r0, r1 _08183A12: asrs r0, 9 adds r0, 0x10 b _08183A2E .pool _08183A1C: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 16 cmp r0, 0 bge _08183A2A adds r0, 0x1F _08183A2A: asrs r0, 5 subs r0, 0x10 _08183A2E: strh r0, [r4, 0x24] _08183A30: movs r0, 0x32 ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _08183A3C adds r0, 0x7F _08183A3C: asrs r0, 7 lsls r0, 7 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x4 bl Sin strh r0, [r4, 0x26] ldrh r0, [r4, 0x32] adds r0, 0x30 strh r0, [r4, 0x32] _08183A54: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_66 thumb_func_start pokemonanimfunc_67 pokemonanimfunc_67: @ 8183A60 push {r4,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r1, [r4, r0] movs r0, 0x80 lsls r0, 4 cmp r1, r0 ble _08183A84 ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x3A] b _08183B40 .pool _08183A84: movs r1, 0x32 ldrsh r2, [r4, r1] adds r0, r2, 0 cmp r2, 0 bge _08183A92 ldr r1, =0x000001ff adds r0, r2, r1 _08183A92: asrs r3, r0, 9 adds r1, r3, 0 adds r0, r1, 0 cmp r1, 0 bge _08183A9E adds r0, r1, 0x3 _08183A9E: asrs r0, 2 lsls r0, 2 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 cmp r0, 0x1 beq _08183AF4 cmp r0, 0x1 bgt _08183ABC cmp r0, 0 beq _08183AC6 b _08183B24 .pool _08183ABC: cmp r0, 0x2 beq _08183AD8 cmp r0, 0x3 beq _08183B10 b _08183B24 _08183AC6: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 16 cmp r0, 0 bge _08183AD4 adds r0, 0x1F _08183AD4: asrs r0, 5 b _08183B22 _08183AD8: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 12 negs r0, r0 cmp r0, 0 bge _08183AEA ldr r1, =0x000001ff adds r0, r1 _08183AEA: asrs r0, 9 b _08183B22 .pool _08183AF4: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 12 negs r0, r0 cmp r0, 0 bge _08183B06 ldr r1, =0x000001ff adds r0, r1 _08183B06: asrs r0, 9 adds r0, 0x10 b _08183B22 .pool _08183B10: lsls r0, r3, 9 subs r0, r2, r0 lsls r0, 16 asrs r0, 16 cmp r0, 0 bge _08183B1E adds r0, 0x1F _08183B1E: asrs r0, 5 subs r0, 0x10 _08183B22: strh r0, [r4, 0x24] _08183B24: movs r1, 0x32 ldrsh r0, [r4, r1] movs r1, 0x60 bl __modsi3 lsls r0, 16 asrs r0, 16 movs r1, 0x4 bl Sin strh r0, [r4, 0x26] ldrh r0, [r4, 0x32] adds r0, 0x40 strh r0, [r4, 0x32] _08183B40: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_67 thumb_func_start sub_8183B4C sub_8183B4C: @ 8183B4C push {r4-r7,lr} adds r4, r0, 0 bl sub_817F70C movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _08183B5E strh r0, [r4, 0x34] _08183B5E: ldr r7, =gUnknown_0860ADBE movs r2, 0x34 ldrsh r1, [r4, r2] lsls r0, r1, 1 adds r0, r1 adds r5, r7, 0x2 adds r0, r5 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 movs r2, 0x38 ldrsh r1, [r4, r2] bl __divsi3 movs r2, 0x32 ldrsh r1, [r4, r2] cmp r0, r1 bne _08183B8C ldrh r0, [r4, 0x34] adds r0, 0x1 movs r1, 0 strh r0, [r4, 0x34] strh r1, [r4, 0x32] _08183B8C: movs r0, 0x34 ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r6, r0, r1 adds r0, r6, r5 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 movs r1, 0x38 ldrsh r5, [r4, r1] adds r1, r5, 0 bl __divsi3 adds r1, r0, 0 cmp r1, 0 bne _08183BCC ldrh r0, [r4, 0x3A] subs r0, 0x1 strh r0, [r4, 0x3A] lsls r0, 16 cmp r0, 0 bne _08183BC8 ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] b _08183C06 .pool _08183BC8: strh r1, [r4, 0x32] b _08183C06 _08183BCC: adds r0, r6, r7 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 muls r0, r5 ldrh r2, [r4, 0x24] adds r0, r2 strh r0, [r4, 0x24] movs r0, 0x34 ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 adds r1, r7, 0x1 adds r0, r1 movs r1, 0 ldrsb r1, [r0, r1] ldrh r0, [r4, 0x38] adds r2, r0, 0 muls r2, r1 adds r0, r2, 0 ldrh r1, [r4, 0x26] adds r0, r1 strh r0, [r4, 0x26] ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] adds r0, r4, 0 bl sub_817F70C _08183C06: pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8183B4C thumb_func_start pokemonanimfunc_68 pokemonanimfunc_68: @ 8183C0C push {r4,lr} adds r4, r0, 0 movs r0, 0x1 strh r0, [r4, 0x38] strh r0, [r4, 0x3A] adds r0, r4, 0 bl sub_8183B4C ldr r0, =sub_8183B4C str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_68 thumb_func_start pokemonanimfunc_69 pokemonanimfunc_69: @ 8183C2C push {r4,lr} adds r4, r0, 0 movs r0, 0x2 strh r0, [r4, 0x38] movs r0, 0x1 strh r0, [r4, 0x3A] adds r0, r4, 0 bl sub_8183B4C ldr r0, =sub_8183B4C str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_69 thumb_func_start pokemonanimfunc_6A pokemonanimfunc_6A: @ 8183C4C push {r4,lr} adds r4, r0, 0 movs r0, 0x2 strh r0, [r4, 0x38] strh r0, [r4, 0x3A] adds r0, r4, 0 bl sub_8183B4C ldr r0, =sub_8183B4C str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_6A thumb_func_start sub_8183C6C sub_8183C6C: @ 8183C6C push {r4,r5,lr} adds r4, r0, 0 ldrh r1, [r4, 0x3C] movs r2, 0x3C ldrsh r0, [r4, r2] cmp r0, 0xFF ble _08183CAE ldrh r1, [r4, 0x38] movs r2, 0x38 ldrsh r0, [r4, r2] cmp r0, 0x1 bgt _08183CA4 adds r0, r4, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData b _08183CE8 .pool _08183CA4: subs r0, r1, 0x1 movs r1, 0 strh r0, [r4, 0x38] strh r1, [r4, 0x3C] b _08183CE8 _08183CAE: ldrh r0, [r4, 0x3A] adds r0, r1, r0 strh r0, [r4, 0x3C] lsls r0, 16 asrs r0, 16 movs r5, 0x80 lsls r5, 1 cmp r0, r5 ble _08183CC2 strh r5, [r4, 0x3C] _08183CC2: movs r1, 0x3C ldrsh r0, [r4, r1] lsrs r1, r0, 31 adds r0, r1 asrs r0, 1 movs r1, 0x40 bl Sin adds r2, r0, 0 lsls r2, 16 asrs r2, 16 subs r2, r5, r2 lsls r2, 16 asrs r2, 16 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData _08183CE8: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8183C6C thumb_func_start pokemonanimfunc_6B pokemonanimfunc_6B: @ 8183CF0 push {r4,r5,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08183D16 adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] movs r0, 0x4 strh r0, [r4, 0x3A] movs r0, 0x1 strh r0, [r4, 0x38] _08183D16: adds r0, r4, 0 bl sub_8183C6C adds r0, r4, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_6B thumb_func_start pokemonanimfunc_6C pokemonanimfunc_6C: @ 8183D28 push {r4,r5,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08183D4E adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] movs r0, 0x8 strh r0, [r4, 0x3A] movs r0, 0x2 strh r0, [r4, 0x38] _08183D4E: adds r0, r4, 0 bl sub_8183C6C adds r0, r4, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_6C thumb_func_start pokemonanimfunc_6D pokemonanimfunc_6D: @ 8183D60 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08183D88 adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] movs r0, 0x8 strh r0, [r4, 0x3A] movs r0, 0x80 lsls r0, 2 strh r0, [r4, 0x38] movs r0, 0x10 strh r0, [r4, 0x36] _08183D88: adds r0, r4, 0 bl sub_8182764 pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_6D thumb_func_start pokemonanimfunc_6E pokemonanimfunc_6E: @ 8183D94 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08183DBA adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] movs r0, 0x4 strh r0, [r4, 0x3A] adds r0, 0xFC strh r0, [r4, 0x38] movs r0, 0x10 strh r0, [r4, 0x36] _08183DBA: adds r0, r4, 0 bl sub_8182764 pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_6E thumb_func_start pokemonanimfunc_6F pokemonanimfunc_6F: @ 8183DC8 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08183DF0 adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] movs r0, 0x8 strh r0, [r4, 0x3A] movs r0, 0x80 lsls r0, 2 strh r0, [r4, 0x38] movs r0, 0x10 strh r0, [r4, 0x36] _08183DF0: adds r0, r4, 0 bl sub_8182830 pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_6F thumb_func_start pokemonanimfunc_70 pokemonanimfunc_70: @ 8183DFC push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08183E22 adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] strh r5, [r4, 0x3C] movs r1, 0x8 strh r1, [r4, 0x3A] movs r0, 0x80 lsls r0, 2 strh r0, [r4, 0x38] strh r1, [r4, 0x36] _08183E22: adds r0, r4, 0 bl sub_8182830 pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_70 thumb_func_start pokemonanimfunc_71 pokemonanimfunc_71: @ 8183E30 push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _08183E4A adds r0, r4, 0 bl HandleStartAffineAnim movs r0, 0x5 strh r0, [r4, 0x3C] movs r0, 0x8 strh r0, [r4, 0x3A] _08183E4A: adds r0, r4, 0 bl sub_8180828 pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_71 thumb_func_start pokemonanimfunc_72 pokemonanimfunc_72: @ 8183E58 push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _08183E72 adds r0, r4, 0 bl HandleStartAffineAnim movs r0, 0x3 strh r0, [r4, 0x3C] movs r0, 0x4 strh r0, [r4, 0x3A] _08183E72: adds r0, r4, 0 bl sub_8180828 pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_72 thumb_func_start pokemonanimfunc_73 pokemonanimfunc_73: @ 8183E80 push {r4-r6,lr} adds r5, r0, 0 movs r0, 0x32 ldrsh r6, [r5, r0] cmp r6, 0 bne _08183EA2 movs r4, 0x1 strh r4, [r5, 0x32] adds r0, r5, 0 bl HandleStartAffineAnim strh r4, [r5, 0x36] movs r0, 0x1E strh r0, [r5, 0x3A] movs r0, 0x3C strh r0, [r5, 0x34] strh r6, [r5, 0x3C] _08183EA2: adds r0, r5, 0 bl sub_81832C8 pop {r4-r6} pop {r0} bx r0 thumb_func_end pokemonanimfunc_73 thumb_func_start pokemonanimfunc_74 pokemonanimfunc_74: @ 8183EB0 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08183ED4 movs r0, 0x1 strh r0, [r4, 0x32] adds r0, r4, 0 bl HandleStartAffineAnim movs r0, 0x2 strh r0, [r4, 0x36] movs r0, 0x14 strh r0, [r4, 0x3A] movs r0, 0x46 strh r0, [r4, 0x34] strh r5, [r4, 0x3C] _08183ED4: adds r0, r4, 0 bl sub_81832C8 pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_74 thumb_func_start pokemonanimfunc_75 pokemonanimfunc_75: @ 8183EE0 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08183F06 movs r0, 0x1 strh r0, [r4, 0x32] adds r0, r4, 0 bl HandleStartAffineAnim movs r0, 0x2 strh r0, [r4, 0x36] movs r0, 0x14 strh r0, [r4, 0x3A] movs r0, 0x46 strh r0, [r4, 0x34] strh r5, [r4, 0x38] strh r5, [r4, 0x3C] _08183F06: adds r0, r4, 0 bl sub_8183418 pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_75 thumb_func_start pokemonanimfunc_76 pokemonanimfunc_76: @ 8183F14 push {r4-r6,lr} adds r5, r0, 0 movs r0, 0x32 ldrsh r6, [r5, r0] cmp r6, 0 bne _08183F38 movs r4, 0x1 strh r4, [r5, 0x32] adds r0, r5, 0 bl HandleStartAffineAnim strh r4, [r5, 0x36] movs r0, 0x1E strh r0, [r5, 0x3A] movs r0, 0x3C strh r0, [r5, 0x34] strh r6, [r5, 0x38] strh r6, [r5, 0x3C] _08183F38: adds r0, r5, 0 bl sub_8183418 pop {r4-r6} pop {r0} bx r0 thumb_func_end pokemonanimfunc_76 thumb_func_start pokemonanimfunc_77 pokemonanimfunc_77: @ 8183F44 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08183F6A movs r0, 0x1 strh r0, [r4, 0x32] adds r0, r4, 0 bl HandleStartAffineAnim movs r0, 0x2 strh r0, [r4, 0x36] movs r0, 0x14 strh r0, [r4, 0x3A] movs r0, 0x46 strh r0, [r4, 0x34] strh r5, [r4, 0x38] strh r5, [r4, 0x3C] _08183F6A: adds r0, r4, 0 bl sub_81837DC pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_77 thumb_func_start pokemonanimfunc_78 pokemonanimfunc_78: @ 8183F78 push {r4-r6,lr} adds r5, r0, 0 movs r0, 0x32 ldrsh r6, [r5, r0] cmp r6, 0 bne _08183F9C movs r4, 0x1 strh r4, [r5, 0x32] adds r0, r5, 0 bl HandleStartAffineAnim strh r4, [r5, 0x36] movs r0, 0x1E strh r0, [r5, 0x3A] movs r0, 0x3C strh r0, [r5, 0x34] strh r6, [r5, 0x38] strh r6, [r5, 0x3C] _08183F9C: adds r0, r5, 0 bl sub_81837DC pop {r4-r6} pop {r0} bx r0 thumb_func_end pokemonanimfunc_78 thumb_func_start sub_8183FA8 sub_8183FA8: @ 8183FA8 push {r4,lr} adds r4, r0, 0 movs r1, 0x3C ldrsh r0, [r4, r1] cmp r0, 0xFF ble _08183FEA ldrh r2, [r4, 0x3A] movs r3, 0x3A ldrsh r0, [r4, r3] cmp r0, 0x1 bgt _08183FD0 ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x24] strh r0, [r4, 0x26] b _0818403E .pool _08183FD0: movs r0, 0x3C ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _08183FDC adds r0, 0xFF _08183FDC: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 strh r0, [r4, 0x3C] subs r0, r2, 0x1 strh r0, [r4, 0x3A] b _0818403E _08183FEA: movs r1, 0x3C ldrsh r0, [r4, r1] movs r2, 0x38 ldrsh r1, [r4, r2] bl Sin negs r0, r0 strh r0, [r4, 0x24] movs r3, 0x3C ldrsh r2, [r4, r3] adds r1, r2, 0 adds r1, 0xC0 adds r0, r1, 0 cmp r1, 0 bge _0818400C ldr r3, =0x000001bf adds r0, r2, r3 _0818400C: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r2, 0x36 ldrsh r1, [r4, r2] bl Sin strh r0, [r4, 0x26] lsls r0, 16 cmp r0, 0 ble _0818402E movs r3, 0x26 ldrsh r0, [r4, r3] negs r0, r0 strh r0, [r4, 0x26] _0818402E: ldrh r0, [r4, 0x36] ldrh r1, [r4, 0x26] adds r0, r1 strh r0, [r4, 0x26] ldrh r0, [r4, 0x34] ldrh r2, [r4, 0x3C] adds r0, r2 strh r0, [r4, 0x3C] _0818403E: pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8183FA8 thumb_func_start pokemonanimfunc_79 pokemonanimfunc_79: @ 8184048 push {lr} adds r1, r0, 0 movs r0, 0x32 ldrsh r2, [r1, r0] cmp r2, 0 bne _08184066 movs r0, 0x1 strh r0, [r1, 0x32] strh r0, [r1, 0x3A] strh r2, [r1, 0x3C] movs r0, 0xC strh r0, [r1, 0x38] strh r0, [r1, 0x36] movs r0, 0x4 strh r0, [r1, 0x34] _08184066: adds r0, r1, 0 bl sub_8183FA8 pop {r0} bx r0 thumb_func_end pokemonanimfunc_79 thumb_func_start pokemonanimfunc_7A pokemonanimfunc_7A: @ 8184070 push {lr} adds r1, r0, 0 movs r0, 0x32 ldrsh r2, [r1, r0] cmp r2, 0 bne _0818408E movs r0, 0x1 strh r0, [r1, 0x32] strh r0, [r1, 0x3A] strh r2, [r1, 0x3C] movs r0, 0xC strh r0, [r1, 0x38] strh r0, [r1, 0x36] movs r0, 0x6 strh r0, [r1, 0x34] _0818408E: adds r0, r1, 0 bl sub_8183FA8 pop {r0} bx r0 thumb_func_end pokemonanimfunc_7A thumb_func_start pokemonanimfunc_7B pokemonanimfunc_7B: @ 8184098 push {lr} adds r1, r0, 0 movs r0, 0x32 ldrsh r2, [r1, r0] cmp r2, 0 bne _081840B8 movs r0, 0x1 strh r0, [r1, 0x32] movs r0, 0x2 strh r0, [r1, 0x3A] strh r2, [r1, 0x3C] movs r0, 0xC strh r0, [r1, 0x38] strh r0, [r1, 0x36] movs r0, 0x8 strh r0, [r1, 0x34] _081840B8: adds r0, r1, 0 bl sub_8183FA8 pop {r0} bx r0 thumb_func_end pokemonanimfunc_7B thumb_func_start sub_81840C4 sub_81840C4: @ 81840C4 push {r4,r5,lr} adds r5, r0, 0 movs r1, 0x3C ldrsh r0, [r5, r1] movs r1, 0x80 lsls r1, 1 cmp r0, r1 ble _081840FC movs r2, 0x3A ldrsh r1, [r5, r2] ldrh r2, [r5, 0x36] movs r3, 0x36 ldrsh r0, [r5, r3] cmp r1, r0 bgt _081840EC ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r5, 0x1C] b _081840F4 .pool _081840EC: adds r0, r2, 0x1 movs r1, 0 strh r0, [r5, 0x36] strh r1, [r5, 0x3C] _081840F4: movs r0, 0 strh r0, [r5, 0x24] strh r0, [r5, 0x26] b _08184188 _081840FC: cmp r0, 0x9F ble _08184126 cmp r0, r1 ble _08184106 strh r1, [r5, 0x3C] _08184106: movs r0, 0x3C ldrsh r1, [r5, r0] adds r0, r1, 0 cmp r1, 0 bge _08184112 adds r0, 0xFF _08184112: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x8 bl Sin negs r0, r0 b _08184154 _08184126: cmp r0, 0x5F ble _0818414A movs r0, 0x60 movs r1, 0x6 bl Sin adds r4, r0, 0 movs r1, 0x3C ldrsh r0, [r5, r1] subs r0, 0x60 lsls r0, 17 asrs r0, 16 movs r1, 0x4 bl Sin subs r4, r0 strh r4, [r5, 0x26] b _08184156 _0818414A: movs r2, 0x3C ldrsh r0, [r5, r2] movs r1, 0x6 bl Sin _08184154: strh r0, [r5, 0x26] _08184156: movs r3, 0x3C ldrsh r0, [r5, r3] lsrs r1, r0, 31 adds r0, r1 asrs r0, 1 movs r2, 0x38 ldrsh r1, [r5, r2] bl Sin negs r0, r0 lsls r0, 16 lsrs r2, r0, 16 ldrh r0, [r5, 0x36] movs r1, 0x1 ands r0, r1 cmp r0, 0 bne _0818417E lsls r0, r2, 16 negs r0, r0 lsrs r2, r0, 16 _0818417E: strh r2, [r5, 0x24] ldrh r0, [r5, 0x34] ldrh r3, [r5, 0x3C] adds r0, r3 strh r0, [r5, 0x3C] _08184188: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_81840C4 thumb_func_start pokemonanimfunc_7C pokemonanimfunc_7C: @ 8184190 push {lr} adds r2, r0, 0 movs r0, 0x32 ldrsh r3, [r2, r0] cmp r3, 0 bne _081841B0 movs r1, 0x1 strh r1, [r2, 0x32] movs r0, 0x2 strh r0, [r2, 0x3A] strh r3, [r2, 0x3C] movs r0, 0x10 strh r0, [r2, 0x38] strh r1, [r2, 0x36] movs r0, 0x4 strh r0, [r2, 0x34] _081841B0: adds r0, r2, 0 bl sub_81840C4 pop {r0} bx r0 thumb_func_end pokemonanimfunc_7C thumb_func_start pokemonanimfunc_7D pokemonanimfunc_7D: @ 81841BC push {lr} adds r2, r0, 0 movs r0, 0x32 ldrsh r3, [r2, r0] cmp r3, 0 bne _081841DC movs r1, 0x1 strh r1, [r2, 0x32] movs r0, 0x2 strh r0, [r2, 0x3A] strh r3, [r2, 0x3C] movs r0, 0x10 strh r0, [r2, 0x38] strh r1, [r2, 0x36] movs r0, 0x6 strh r0, [r2, 0x34] _081841DC: adds r0, r2, 0 bl sub_81840C4 pop {r0} bx r0 thumb_func_end pokemonanimfunc_7D thumb_func_start pokemonanimfunc_7E pokemonanimfunc_7E: @ 81841E8 push {lr} adds r2, r0, 0 movs r0, 0x32 ldrsh r3, [r2, r0] cmp r3, 0 bne _08184208 movs r1, 0x1 strh r1, [r2, 0x32] movs r0, 0x3 strh r0, [r2, 0x3A] strh r3, [r2, 0x3C] movs r0, 0x10 strh r0, [r2, 0x38] strh r1, [r2, 0x36] movs r0, 0x8 strh r0, [r2, 0x34] _08184208: adds r0, r2, 0 bl sub_81840C4 pop {r0} bx r0 thumb_func_end pokemonanimfunc_7E thumb_func_start pokemonanimfunc_7F pokemonanimfunc_7F: @ 8184214 push {lr} adds r2, r0, 0 movs r0, 0x32 ldrsh r1, [r2, r0] cmp r1, 0 bne _08184232 movs r0, 0x1 strh r0, [r2, 0x32] strh r0, [r2, 0x3A] strh r1, [r2, 0x3C] movs r1, 0x4 strh r1, [r2, 0x38] movs r0, 0x6 strh r0, [r2, 0x36] strh r1, [r2, 0x34] _08184232: adds r0, r2, 0 bl sub_8183FA8 pop {r0} bx r0 thumb_func_end pokemonanimfunc_7F thumb_func_start pokemonanimfunc_80 pokemonanimfunc_80: @ 818423C push {lr} adds r1, r0, 0 movs r0, 0x32 ldrsh r2, [r1, r0] cmp r2, 0 bne _0818425A movs r0, 0x1 strh r0, [r1, 0x32] strh r0, [r1, 0x3A] strh r2, [r1, 0x3C] movs r0, 0x4 strh r0, [r1, 0x38] movs r0, 0x6 strh r0, [r1, 0x36] strh r0, [r1, 0x34] _0818425A: adds r0, r1, 0 bl sub_8183FA8 pop {r0} bx r0 thumb_func_end pokemonanimfunc_80 thumb_func_start pokemonanimfunc_81 pokemonanimfunc_81: @ 8184264 push {lr} adds r1, r0, 0 movs r0, 0x32 ldrsh r2, [r1, r0] cmp r2, 0 bne _08184286 movs r0, 0x1 strh r0, [r1, 0x32] movs r0, 0x2 strh r0, [r1, 0x3A] strh r2, [r1, 0x3C] movs r0, 0x4 strh r0, [r1, 0x38] movs r0, 0x6 strh r0, [r1, 0x36] movs r0, 0x8 strh r0, [r1, 0x34] _08184286: adds r0, r1, 0 bl sub_8183FA8 pop {r0} bx r0 thumb_func_end pokemonanimfunc_81 thumb_func_start sub_8184290 sub_8184290: @ 8184290 push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] lsls r0, 7 movs r2, 0x3C ldrsh r1, [r4, r2] bl __divsi3 lsls r0, 16 asrs r0, 16 movs r2, 0x38 ldrsh r1, [r4, r2] bl Sin adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 lsls r0, r1, 8 negs r0, r0 strh r0, [r4, 0x3A] movs r0, 0x36 ldrsh r2, [r4, r0] adds r0, r4, 0 movs r3, 0 bl sub_817F3F0 movs r2, 0x80 lsls r2, 1 ldrh r3, [r4, 0x3A] adds r0, r4, 0 adds r1, r2, 0 bl HandleSetAffineData pop {r4} pop {r0} bx r0 thumb_func_end sub_8184290 thumb_func_start pokemonanimfunc_82 pokemonanimfunc_82: @ 81842DC push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08184300 adds r0, r4, 0 bl HandleStartAffineAnim movs r0, 0x3C strh r0, [r4, 0x3C] movs r0, 0x8 strh r0, [r4, 0x38] ldr r0, =0x0000ffe0 strh r0, [r4, 0x36] movs r0, 0x1 strh r0, [r4, 0x34] strh r5, [r4, 0x2E] _08184300: movs r2, 0x32 ldrsh r1, [r4, r2] movs r3, 0x3C ldrsh r0, [r4, r3] cmp r1, r0 ble _0818434C movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData movs r2, 0 strh r2, [r4, 0x24] strh r2, [r4, 0x26] ldrh r0, [r4, 0x2E] adds r0, 0x1 strh r0, [r4, 0x2E] movs r3, 0x34 ldrsh r1, [r4, r3] lsls r0, 16 asrs r0, 16 cmp r1, r0 bgt _08184348 adds r0, r4, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] b _08184358 .pool _08184348: strh r2, [r4, 0x32] b _08184352 _0818434C: adds r0, r4, 0 bl sub_8184290 _08184352: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] _08184358: pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_82 thumb_func_start pokemonanimfunc_83 pokemonanimfunc_83: @ 8184360 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08184384 adds r0, r4, 0 bl HandleStartAffineAnim movs r0, 0x5A strh r0, [r4, 0x3C] movs r0, 0x8 strh r0, [r4, 0x38] ldr r0, =0x0000ffe0 strh r0, [r4, 0x36] movs r0, 0x1 strh r0, [r4, 0x34] strh r5, [r4, 0x2E] _08184384: movs r2, 0x32 ldrsh r1, [r4, r2] movs r3, 0x3C ldrsh r0, [r4, r3] cmp r1, r0 ble _081843D0 movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData movs r2, 0 strh r2, [r4, 0x24] strh r2, [r4, 0x26] ldrh r0, [r4, 0x2E] adds r0, 0x1 strh r0, [r4, 0x2E] movs r3, 0x34 ldrsh r1, [r4, r3] lsls r0, 16 asrs r0, 16 cmp r1, r0 bgt _081843CC adds r0, r4, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] b _081843DC .pool _081843CC: strh r2, [r4, 0x32] b _081843D6 _081843D0: adds r0, r4, 0 bl sub_8184290 _081843D6: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] _081843DC: pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_83 thumb_func_start pokemonanimfunc_84 pokemonanimfunc_84: @ 81843E4 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r5, [r4, r0] cmp r5, 0 bne _08184408 adds r0, r4, 0 bl HandleStartAffineAnim movs r0, 0x1E strh r0, [r4, 0x3C] movs r0, 0x8 strh r0, [r4, 0x38] ldr r0, =0x0000ffe0 strh r0, [r4, 0x36] movs r0, 0x2 strh r0, [r4, 0x34] strh r5, [r4, 0x2E] _08184408: movs r2, 0x32 ldrsh r1, [r4, r2] movs r3, 0x3C ldrsh r0, [r4, r3] cmp r1, r0 ble _08184454 movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData movs r2, 0 strh r2, [r4, 0x24] strh r2, [r4, 0x26] ldrh r0, [r4, 0x2E] adds r0, 0x1 strh r0, [r4, 0x2E] movs r3, 0x34 ldrsh r1, [r4, r3] lsls r0, 16 asrs r0, 16 cmp r1, r0 bgt _08184450 adds r0, r4, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] b _08184460 .pool _08184450: strh r2, [r4, 0x32] b _0818445A _08184454: adds r0, r4, 0 bl sub_8184290 _0818445A: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] _08184460: pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_84 thumb_func_start sub_8184468 sub_8184468: @ 8184468 push {r4-r6,lr} adds r6, r0, 0 movs r0, 0x32 ldrsh r1, [r6, r0] movs r2, 0x3C ldrsh r0, [r6, r2] cmp r1, r0 ble _0818449C movs r0, 0 strh r0, [r6, 0x26] movs r2, 0x80 lsls r2, 1 adds r0, r6, 0 adds r1, r2, 0 movs r3, 0 bl HandleSetAffineData adds r0, r6, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r6, 0x1C] b _08184544 .pool _0818449C: movs r1, 0x32 ldrsh r0, [r6, r1] movs r2, 0x3A ldrsh r4, [r6, r2] adds r1, r4, 0 bl __modsi3 lsls r0, 24 lsrs r0, 16 adds r1, r4, 0 bl __divsi3 adds r1, r0, 0 cmp r1, 0 bge _081844BC adds r0, 0xFF _081844BC: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 lsrs r4, r0, 16 ldrh r0, [r6, 0x32] movs r1, 0x1 ands r0, r1 cmp r0, 0 bne _081844F8 lsls r4, 16 asrs r4, 16 adds r0, r4, 0 movs r1, 0x20 bl Sin movs r1, 0x80 lsls r1, 1 adds r5, r1, 0 adds r0, r5 strh r0, [r6, 0x36] adds r0, r4, 0 movs r1, 0x20 bl Sin adds r0, r5 strh r0, [r6, 0x38] adds r0, r4, 0 movs r1, 0x20 b _0818451E _081844F8: lsls r4, 16 asrs r4, 16 adds r0, r4, 0 movs r1, 0x8 bl Sin movs r2, 0x80 lsls r2, 1 adds r5, r2, 0 adds r0, r5 strh r0, [r6, 0x36] adds r0, r4, 0 movs r1, 0x8 bl Sin adds r0, r5 strh r0, [r6, 0x38] adds r0, r4, 0 movs r1, 0x8 _0818451E: bl Sin lsls r0, 24 lsrs r0, 24 lsls r0, 24 asrs r0, 24 cmp r0, 0 bge _08184530 adds r0, 0x7 _08184530: lsrs r0, 3 strh r0, [r6, 0x26] movs r0, 0x36 ldrsh r1, [r6, r0] movs r0, 0x38 ldrsh r2, [r6, r0] adds r0, r6, 0 movs r3, 0 bl HandleSetAffineData _08184544: ldrh r0, [r6, 0x32] adds r0, 0x1 strh r0, [r6, 0x32] pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_8184468 thumb_func_start pokemonanimfunc_85 pokemonanimfunc_85: @ 8184550 push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _08184570 adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x26] adds r0, 0x2 strh r0, [r4, 0x26] movs r0, 0x28 strh r0, [r4, 0x3A] movs r0, 0x50 strh r0, [r4, 0x3C] _08184570: adds r0, r4, 0 bl sub_8184468 pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_85 thumb_func_start pokemonanimfunc_86 pokemonanimfunc_86: @ 818457C push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _0818459A adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x26] adds r0, 0x2 strh r0, [r4, 0x26] movs r0, 0x28 strh r0, [r4, 0x3A] strh r0, [r4, 0x3C] _0818459A: adds r0, r4, 0 bl sub_8184468 pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_86 thumb_func_start pokemonanimfunc_87 pokemonanimfunc_87: @ 81845A8 push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _081845C6 adds r0, r4, 0 bl HandleStartAffineAnim ldrh r0, [r4, 0x26] adds r0, 0x2 strh r0, [r4, 0x26] movs r0, 0x50 strh r0, [r4, 0x3A] strh r0, [r4, 0x3C] _081845C6: adds r0, r4, 0 bl sub_8184468 pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_87 thumb_func_start sub_81845D4 sub_81845D4: @ 81845D4 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x24] ldrh r1, [r4, 0x32] subs r0, r1 strh r0, [r4, 0x24] movs r0, 0x24 ldrsh r1, [r4, r0] movs r2, 0x3A ldrsh r0, [r4, r2] cmn r1, r0 bgt _081845FE ldrh r0, [r4, 0x3A] negs r0, r0 strh r0, [r4, 0x24] movs r0, 0x2 strh r0, [r4, 0x3C] ldr r0, =sub_8184610 str r0, [r4, 0x1C] _081845FE: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81845D4 thumb_func_start sub_8184610 sub_8184610: @ 8184610 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x3C] ldrh r2, [r4, 0x24] adds r1, r0, r2 strh r1, [r4, 0x24] adds r0, 0x1 strh r0, [r4, 0x3C] lsls r1, 16 cmp r1, 0 blt _0818462E ldr r0, =sub_8184640 str r0, [r4, 0x1C] _0818462E: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8184610 thumb_func_start sub_8184640 sub_8184640: @ 8184640 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x3C] ldrh r2, [r4, 0x24] adds r1, r0, r2 strh r1, [r4, 0x24] adds r0, 0x1 strh r0, [r4, 0x3C] lsls r1, 16 asrs r1, 16 ldrh r2, [r4, 0x3A] movs r3, 0x3A ldrsh r0, [r4, r3] cmp r1, r0 ble _08184668 strh r2, [r4, 0x24] ldr r0, =sub_8184678 str r0, [r4, 0x1C] _08184668: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8184640 thumb_func_start sub_8184678 sub_8184678: @ 8184678 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r2, [r4, 0x34] movs r0, 0x34 ldrsh r1, [r4, r0] movs r3, 0x38 ldrsh r0, [r4, r3] cmp r1, r0 blt _08184698 ldr r0, =sub_81846B8 str r0, [r4, 0x1C] b _081846AC .pool _08184698: ldrh r0, [r4, 0x36] ldrh r1, [r4, 0x24] adds r0, r1 strh r0, [r4, 0x24] movs r3, 0x36 ldrsh r0, [r4, r3] negs r0, r0 strh r0, [r4, 0x36] adds r0, r2, 0x1 strh r0, [r4, 0x34] _081846AC: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 thumb_func_end sub_8184678 thumb_func_start sub_81846B8 sub_81846B8: @ 81846B8 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x24] subs r0, 0x2 strh r0, [r4, 0x24] lsls r0, 16 cmp r0, 0 bgt _081846DA movs r0, 0 strh r0, [r4, 0x24] adds r0, r4, 0 bl sub_817F77C ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] _081846DA: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81846B8 thumb_func_start pokemonanimfunc_88 pokemonanimfunc_88: @ 81846EC push {r4,lr} adds r4, r0, 0 bl HandleStartAffineAnim movs r2, 0 movs r1, 0x4 strh r1, [r4, 0x3C] movs r0, 0xC strh r0, [r4, 0x3A] movs r0, 0x10 strh r0, [r4, 0x38] strh r1, [r4, 0x36] strh r2, [r4, 0x34] movs r0, 0x2 strh r0, [r4, 0x32] ldr r0, =sub_81845D4 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_88 thumb_func_start pokemonanimfunc_89 pokemonanimfunc_89: @ 8184718 push {r4,lr} adds r4, r0, 0 bl HandleStartAffineAnim movs r2, 0 movs r1, 0x2 strh r1, [r4, 0x3C] movs r0, 0x8 strh r0, [r4, 0x3A] movs r0, 0xC strh r0, [r4, 0x38] strh r1, [r4, 0x36] strh r2, [r4, 0x34] movs r0, 0x1 strh r0, [r4, 0x32] ldr r0, =sub_81845D4 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_89 thumb_func_start pokemonanimfunc_8A pokemonanimfunc_8A: @ 8184744 push {r4,lr} adds r4, r0, 0 bl HandleStartAffineAnim movs r1, 0 strh r1, [r4, 0x3C] movs r0, 0x6 strh r0, [r4, 0x3A] strh r0, [r4, 0x38] movs r0, 0x2 strh r0, [r4, 0x36] strh r1, [r4, 0x34] movs r0, 0x1 strh r0, [r4, 0x32] ldr r0, =sub_81845D4 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_8A thumb_func_start sub_8184770 sub_8184770: @ 8184770 push {lr} adds r1, r0, 0 ldrh r0, [r1, 0x30] strh r0, [r1, 0x24] ldrh r2, [r1, 0x2E] movs r3, 0x2E ldrsh r0, [r1, r3] cmp r0, 0x1 ble _0818478E movs r2, 0x30 ldrsh r0, [r1, r2] negs r0, r0 strh r0, [r1, 0x30] movs r0, 0 b _08184790 _0818478E: adds r0, r2, 0x1 _08184790: strh r0, [r1, 0x2E] pop {r0} bx r0 thumb_func_end sub_8184770 thumb_func_start sub_8184798 sub_8184798: @ 8184798 push {r4,r5,lr} adds r4, r0, 0 ldr r1, =gUnknown_0860AE7C movs r2, 0x34 ldrsh r0, [r4, r2] lsls r0, 2 adds r0, r1 ldr r5, [r0] adds r0, r4, 0 bl sub_8184770 movs r1, 0x3A ldrsh r0, [r4, r1] lsls r0, 2 adds r1, r0, r5 ldrb r0, [r1, 0x1] cmp r0, 0xFF bne _081847D0 movs r0, 0 strh r0, [r4, 0x24] ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] b _0818482E .pool _081847D0: movs r2, 0x36 ldrsh r0, [r4, r2] cmp r0, 0x1 bne _08184800 ldrb r0, [r1] cmp r0, 0 beq _081847F0 ldrh r0, [r4, 0x3C] ldr r3, =0x000003ff movs r1, 0x10 movs r2, 0x10 bl BlendPalette b _081847FC .pool _081847F0: ldrh r0, [r4, 0x3C] ldr r3, =0x000003ff movs r1, 0x10 movs r2, 0 bl BlendPalette _081847FC: movs r0, 0 strh r0, [r4, 0x36] _08184800: movs r1, 0x3A ldrsh r0, [r4, r1] lsls r0, 2 adds r0, r5 ldrb r1, [r0, 0x1] movs r2, 0x38 ldrsh r0, [r4, r2] cmp r1, r0 bne _08184828 movs r1, 0 movs r0, 0x1 strh r0, [r4, 0x36] strh r1, [r4, 0x38] ldrh r0, [r4, 0x3A] adds r0, 0x1 strh r0, [r4, 0x3A] b _0818482E .pool _08184828: ldrh r0, [r4, 0x38] adds r0, 0x1 strh r0, [r4, 0x38] _0818482E: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8184798 thumb_func_start pokemonanimfunc_8B pokemonanimfunc_8B: @ 8184834 push {r4,lr} adds r2, r0, 0 ldrh r0, [r2, 0x32] adds r0, 0x1 movs r3, 0 strh r0, [r2, 0x32] lsls r0, 16 asrs r0, 16 cmp r0, 0x1 bne _08184860 ldrb r0, [r2, 0x5] lsrs r0, 4 lsls r0, 4 movs r4, 0x80 lsls r4, 1 adds r1, r4, 0 adds r0, r1 strh r0, [r2, 0x3C] strh r3, [r2, 0x3A] strh r3, [r2, 0x38] strh r3, [r2, 0x36] strh r3, [r2, 0x34] _08184860: adds r0, r2, 0 bl sub_8184798 pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_8B thumb_func_start pokemonanimfunc_8C pokemonanimfunc_8C: @ 818486C push {r4,r5,lr} adds r2, r0, 0 ldrh r0, [r2, 0x32] adds r0, 0x1 movs r3, 0 strh r0, [r2, 0x32] lsls r0, 16 asrs r4, r0, 16 cmp r4, 0x1 bne _08184898 ldrb r0, [r2, 0x5] lsrs r0, 4 lsls r0, 4 movs r5, 0x80 lsls r5, 1 adds r1, r5, 0 adds r0, r1 strh r0, [r2, 0x3C] strh r3, [r2, 0x3A] strh r3, [r2, 0x38] strh r3, [r2, 0x36] strh r4, [r2, 0x34] _08184898: adds r0, r2, 0 bl sub_8184798 pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_8C thumb_func_start pokemonanimfunc_8D pokemonanimfunc_8D: @ 81848A4 push {r4,lr} adds r2, r0, 0 ldrh r0, [r2, 0x32] adds r0, 0x1 movs r3, 0 strh r0, [r2, 0x32] lsls r0, 16 asrs r0, 16 cmp r0, 0x1 bne _081848D2 ldrb r0, [r2, 0x5] lsrs r0, 4 lsls r0, 4 movs r4, 0x80 lsls r4, 1 adds r1, r4, 0 adds r0, r1 strh r0, [r2, 0x3C] strh r3, [r2, 0x3A] strh r3, [r2, 0x38] strh r3, [r2, 0x36] movs r0, 0x2 strh r0, [r2, 0x34] _081848D2: adds r0, r2, 0 bl sub_8184798 pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_8D thumb_func_start sub_81848E0 sub_81848E0: @ 81848E0 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0x7F ble _08184904 ldrh r0, [r4, 0x3C] movs r1, 0x10 movs r2, 0 movs r3, 0x1F bl BlendPalette ldr r0, =SpriteCB_SetDummyOnAnimEnd str r0, [r4, 0x1C] b _0818492A .pool _08184904: movs r5, 0x32 ldrsh r0, [r4, r5] movs r1, 0xC bl Sin adds r2, r0, 0 strh r2, [r4, 0x3A] ldrh r0, [r4, 0x3C] lsls r2, 24 lsrs r2, 24 ldr r3, =gUnknown_0860AE88 movs r5, 0x30 ldrsh r1, [r4, r5] lsls r1, 1 adds r1, r3 ldrh r3, [r1] movs r1, 0x10 bl BlendPalette _0818492A: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_81848E0 thumb_func_start sub_8184934 sub_8184934: @ 8184934 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x34 ldrsh r1, [r4, r0] movs r2, 0x36 ldrsh r0, [r4, r2] cmp r1, r0 bge _081849CC adds r0, r4, 0 bl sub_817F70C movs r3, 0x38 ldrsh r1, [r4, r3] movs r2, 0x2E ldrsh r0, [r4, r2] cmp r1, r0 ble _08184970 ldrh r0, [r4, 0x34] adds r0, 0x1 movs r2, 0 strh r0, [r4, 0x34] lsls r0, 16 asrs r0, 16 movs r3, 0x36 ldrsh r1, [r4, r3] cmp r0, r1 bge _0818496C strh r2, [r4, 0x38] _0818496C: strh r2, [r4, 0x24] b _081849C6 _08184970: movs r0, 0x34 ldrsh r1, [r4, r0] lsrs r0, r1, 31 adds r0, r1, r0 asrs r0, 1 lsls r0, 1 subs r1, r0 lsls r1, 16 asrs r1, 15 movs r0, 0x1 subs r0, r1 lsls r0, 24 lsrs r5, r0, 24 movs r2, 0x38 ldrsh r1, [r4, r2] lsls r0, r1, 1 adds r0, r1 lsls r0, 7 movs r3, 0x2E ldrsh r1, [r4, r3] bl __divsi3 adds r1, r0, 0 cmp r1, 0 bge _081849A4 adds r0, 0xFF _081849A4: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x6 bl Sin lsls r1, r5, 24 asrs r1, 24 adds r2, r1, 0 muls r2, r0 adds r0, r2, 0 strh r0, [r4, 0x24] ldrh r0, [r4, 0x38] adds r0, 0x1 strh r0, [r4, 0x38] _081849C6: adds r0, r4, 0 bl sub_817F70C _081849CC: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8184934 thumb_func_start pokemonanimfunc_8E pokemonanimfunc_8E: @ 81849D4 push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r2, [r4, r0] cmp r2, 0 bne _081849FE ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r3, 0x80 lsls r3, 1 adds r1, r3, 0 adds r0, r1 strh r0, [r4, 0x3C] movs r0, 0xA strh r0, [r4, 0x2E] strh r2, [r4, 0x38] movs r0, 0x2 strh r0, [r4, 0x36] strh r2, [r4, 0x34] strh r2, [r4, 0x30] _081849FE: ldrh r0, [r4, 0x32] movs r1, 0x1 ands r0, r1 cmp r0, 0 bne _08184A0E adds r0, r4, 0 bl sub_81848E0 _08184A0E: movs r0, 0x32 ldrsh r2, [r4, r0] movs r3, 0x2E ldrsh r1, [r4, r3] movs r3, 0x36 ldrsh r0, [r4, r3] muls r1, r0 movs r0, 0x80 subs r0, r1 lsrs r1, r0, 31 adds r0, r1 asrs r0, 1 cmp r2, r0 blt _08184A30 adds r0, r4, 0 bl sub_8184934 _08184A30: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_8E thumb_func_start pokemonanimfunc_8F pokemonanimfunc_8F: @ 8184A3C push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r2, [r4, r0] cmp r2, 0 bne _08184A66 ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r3, 0x80 lsls r3, 1 adds r1, r3, 0 adds r0, r1 strh r0, [r4, 0x3C] movs r0, 0x14 strh r0, [r4, 0x2E] strh r2, [r4, 0x38] movs r0, 0x1 strh r0, [r4, 0x36] strh r2, [r4, 0x34] strh r2, [r4, 0x30] _08184A66: ldrh r0, [r4, 0x32] movs r1, 0x1 ands r0, r1 cmp r0, 0 bne _08184A76 adds r0, r4, 0 bl sub_81848E0 _08184A76: movs r0, 0x32 ldrsh r2, [r4, r0] movs r3, 0x2E ldrsh r1, [r4, r3] movs r3, 0x36 ldrsh r0, [r4, r3] muls r1, r0 movs r0, 0x80 subs r0, r1 lsrs r1, r0, 31 adds r0, r1 asrs r0, 1 cmp r2, r0 blt _08184A98 adds r0, r4, 0 bl sub_8184934 _08184A98: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_8F thumb_func_start pokemonanimfunc_90 pokemonanimfunc_90: @ 8184AA4 push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r2, [r4, r0] cmp r2, 0 bne _08184ACE ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r3, 0x80 lsls r3, 1 adds r1, r3, 0 adds r0, r1 strh r0, [r4, 0x3C] movs r0, 0x50 strh r0, [r4, 0x2E] strh r2, [r4, 0x38] movs r0, 0x1 strh r0, [r4, 0x36] strh r2, [r4, 0x34] strh r2, [r4, 0x30] _08184ACE: ldrh r0, [r4, 0x32] movs r1, 0x1 ands r0, r1 cmp r0, 0 bne _08184ADE adds r0, r4, 0 bl sub_81848E0 _08184ADE: movs r0, 0x32 ldrsh r2, [r4, r0] movs r3, 0x2E ldrsh r1, [r4, r3] movs r3, 0x36 ldrsh r0, [r4, r3] muls r1, r0 movs r0, 0x80 subs r0, r1 lsrs r1, r0, 31 adds r0, r1 asrs r0, 1 cmp r2, r0 blt _08184B00 adds r0, r4, 0 bl sub_8184934 _08184B00: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_90 thumb_func_start pokemonanimfunc_91 pokemonanimfunc_91: @ 8184B0C push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r2, [r4, r0] cmp r2, 0 bne _08184B38 ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r3, 0x80 lsls r3, 1 adds r1, r3, 0 adds r0, r1 strh r0, [r4, 0x3C] movs r0, 0xA strh r0, [r4, 0x2E] strh r2, [r4, 0x38] movs r0, 0x2 strh r0, [r4, 0x36] strh r2, [r4, 0x34] movs r0, 0x1 strh r0, [r4, 0x30] _08184B38: ldrh r0, [r4, 0x32] movs r1, 0x1 ands r0, r1 cmp r0, 0 bne _08184B48 adds r0, r4, 0 bl sub_81848E0 _08184B48: movs r0, 0x32 ldrsh r2, [r4, r0] movs r3, 0x2E ldrsh r1, [r4, r3] movs r3, 0x36 ldrsh r0, [r4, r3] muls r1, r0 movs r0, 0x80 subs r0, r1 lsrs r1, r0, 31 adds r0, r1 asrs r0, 1 cmp r2, r0 blt _08184B6A adds r0, r4, 0 bl sub_8184934 _08184B6A: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_91 thumb_func_start pokemonanimfunc_92 pokemonanimfunc_92: @ 8184B78 push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r2, [r4, r0] cmp r2, 0 bne _08184BA2 ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r3, 0x80 lsls r3, 1 adds r1, r3, 0 adds r0, r1 strh r0, [r4, 0x3C] movs r0, 0x14 strh r0, [r4, 0x2E] strh r2, [r4, 0x38] movs r0, 0x1 strh r0, [r4, 0x36] strh r2, [r4, 0x34] strh r0, [r4, 0x30] _08184BA2: ldrh r0, [r4, 0x32] movs r1, 0x1 ands r0, r1 cmp r0, 0 bne _08184BB2 adds r0, r4, 0 bl sub_81848E0 _08184BB2: movs r0, 0x32 ldrsh r2, [r4, r0] movs r3, 0x2E ldrsh r1, [r4, r3] movs r3, 0x36 ldrsh r0, [r4, r3] muls r1, r0 movs r0, 0x80 subs r0, r1 lsrs r1, r0, 31 adds r0, r1 asrs r0, 1 cmp r2, r0 blt _08184BD4 adds r0, r4, 0 bl sub_8184934 _08184BD4: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_92 thumb_func_start pokemonanimfunc_93 pokemonanimfunc_93: @ 8184BE0 push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r2, [r4, r0] cmp r2, 0 bne _08184C0A ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r3, 0x80 lsls r3, 1 adds r1, r3, 0 adds r0, r1 strh r0, [r4, 0x3C] movs r0, 0x50 strh r0, [r4, 0x2E] strh r2, [r4, 0x38] movs r0, 0x1 strh r0, [r4, 0x36] strh r2, [r4, 0x34] strh r0, [r4, 0x30] _08184C0A: ldrh r0, [r4, 0x32] movs r1, 0x1 ands r0, r1 cmp r0, 0 bne _08184C1A adds r0, r4, 0 bl sub_81848E0 _08184C1A: movs r0, 0x32 ldrsh r2, [r4, r0] movs r3, 0x2E ldrsh r1, [r4, r3] movs r3, 0x36 ldrsh r0, [r4, r3] muls r1, r0 movs r0, 0x80 subs r0, r1 lsrs r1, r0, 31 adds r0, r1 asrs r0, 1 cmp r2, r0 blt _08184C3C adds r0, r4, 0 bl sub_8184934 _08184C3C: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_93 thumb_func_start pokemonanimfunc_94 pokemonanimfunc_94: @ 8184C48 push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r2, [r4, r0] cmp r2, 0 bne _08184C72 ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r3, 0x80 lsls r3, 1 adds r1, r3, 0 adds r0, r1 strh r0, [r4, 0x3C] movs r0, 0xA strh r0, [r4, 0x2E] strh r2, [r4, 0x38] movs r0, 0x2 strh r0, [r4, 0x36] strh r2, [r4, 0x34] strh r0, [r4, 0x30] _08184C72: ldrh r0, [r4, 0x32] movs r1, 0x1 ands r0, r1 cmp r0, 0 bne _08184C82 adds r0, r4, 0 bl sub_81848E0 _08184C82: movs r0, 0x32 ldrsh r2, [r4, r0] movs r3, 0x2E ldrsh r1, [r4, r3] movs r3, 0x36 ldrsh r0, [r4, r3] muls r1, r0 movs r0, 0x80 subs r0, r1 lsrs r1, r0, 31 adds r0, r1 asrs r0, 1 cmp r2, r0 blt _08184CA4 adds r0, r4, 0 bl sub_8184934 _08184CA4: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_94 thumb_func_start pokemonanimfunc_95 pokemonanimfunc_95: @ 8184CB0 push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r2, [r4, r0] cmp r2, 0 bne _08184CDC ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r3, 0x80 lsls r3, 1 adds r1, r3, 0 adds r0, r1 strh r0, [r4, 0x3C] movs r0, 0x14 strh r0, [r4, 0x2E] strh r2, [r4, 0x38] movs r0, 0x1 strh r0, [r4, 0x36] strh r2, [r4, 0x34] movs r0, 0x2 strh r0, [r4, 0x30] _08184CDC: ldrh r0, [r4, 0x32] movs r1, 0x1 ands r0, r1 cmp r0, 0 bne _08184CEC adds r0, r4, 0 bl sub_81848E0 _08184CEC: movs r0, 0x32 ldrsh r2, [r4, r0] movs r3, 0x2E ldrsh r1, [r4, r3] movs r3, 0x36 ldrsh r0, [r4, r3] muls r1, r0 movs r0, 0x80 subs r0, r1 lsrs r1, r0, 31 adds r0, r1 asrs r0, 1 cmp r2, r0 blt _08184D0E adds r0, r4, 0 bl sub_8184934 _08184D0E: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_95 thumb_func_start pokemonanimfunc_96 pokemonanimfunc_96: @ 8184D1C push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r2, [r4, r0] cmp r2, 0 bne _08184D48 ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r3, 0x80 lsls r3, 1 adds r1, r3, 0 adds r0, r1 strh r0, [r4, 0x3C] movs r0, 0x50 strh r0, [r4, 0x2E] strh r2, [r4, 0x38] movs r0, 0x1 strh r0, [r4, 0x36] strh r2, [r4, 0x34] movs r0, 0x2 strh r0, [r4, 0x30] _08184D48: ldrh r0, [r4, 0x32] movs r1, 0x1 ands r0, r1 cmp r0, 0 bne _08184D58 adds r0, r4, 0 bl sub_81848E0 _08184D58: movs r0, 0x32 ldrsh r2, [r4, r0] movs r3, 0x2E ldrsh r1, [r4, r3] movs r3, 0x36 ldrsh r0, [r4, r3] muls r1, r0 movs r0, 0x80 subs r0, r1 lsrs r1, r0, 31 adds r0, r1 asrs r0, 1 cmp r2, r0 blt _08184D7A adds r0, r4, 0 bl sub_8184934 _08184D7A: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_96 thumb_func_start SpriteCB_SetDummyOnAnimEnd SpriteCB_SetDummyOnAnimEnd: @ 8184D88 push {lr} adds r2, r0, 0 adds r0, 0x3F ldrb r1, [r0] movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _08184D9C ldr r0, =SpriteCallbackDummy str r0, [r2, 0x1C] _08184D9C: pop {r0} bx r0 .pool thumb_func_end SpriteCB_SetDummyOnAnimEnd .align 2, 0 @ Don't pad with nop.