.include "asm/macros.inc" .include "constants/constants.inc" .syntax unified .text thumb_func_start nullsub_69 nullsub_69: @ 817F3EC bx lr thumb_func_end nullsub_69 thumb_func_start sub_817F3F0 sub_817F3F0: @ 817F3F0 push {r4-r6,lr} mov r6, r9 mov r5, r8 push {r5,r6} sub sp, 0x4 mov r9, r0 mov r8, r1 adds r5, r2, 0 adds r4, r3, 0 lsls r5, 16 negs r5, r5 lsls r4, 16 negs r4, r4 lsrs r4, 16 mov r0, r8 lsls r0, 16 asrs r0, 16 mov r8, r0 asrs r5, 16 adds r1, r5, 0 bl Cos adds r6, r0, 0 lsls r4, 16 asrs r4, 16 mov r0, r8 adds r1, r4, 0 bl Sin subs r6, r0 lsls r6, 16 lsrs r6, 16 mov r0, r8 adds r1, r4, 0 bl Cos adds r2, r0, 0 mov r0, r8 adds r1, r5, 0 str r2, [sp] bl Sin ldr r2, [sp] adds r2, r0 negs r5, r5 negs r4, r4 lsls r6, 16 asrs r6, 16 lsls r5, 16 asrs r5, 16 adds r6, r5 mov r0, r9 strh r6, [r0, 0x24] lsls r2, 16 asrs r2, 16 lsls r4, 16 asrs r4, 16 adds r2, r4 strh r2, [r0, 0x26] add sp, 0x4 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_817F3F0 thumb_func_start GetSpeciesBackAnimId GetSpeciesBackAnimId: @ 817F474 push {lr} lsls r0, 16 lsrs r0, 16 ldr r1, =gUnknown_0860A8C8 adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _0817F48C movs r0, 0 b _0817F492 .pool _0817F48C: subs r0, 0x1 lsls r0, 24 lsrs r0, 24 _0817F492: pop {r1} bx r1 thumb_func_end GetSpeciesBackAnimId thumb_func_start sub_817F498 sub_817F498: @ 817F498 push {r4-r7,lr} mov r7, r8 push {r7} lsls r0, 24 lsrs r5, r0, 24 ldr r1, =gTasks lsls r6, r5, 2 adds r0, r6, r5 lsls r0, 3 adds r2, r0, r1 movs r3, 0xA ldrsh r0, [r2, r3] lsls r3, r0, 16 movs r4, 0xC ldrsh r0, [r2, r4] orrs r3, r0 movs r0, 0x8 ldrsh r4, [r2, r0] mov r8, r1 ldr r0, =SpriteCallbackDummy mov r12, r0 cmp r4, 0 bne _0817F508 ldrh r0, [r3, 0x2E] strh r0, [r2, 0x10] ldrh r0, [r3, 0x32] strh r0, [r2, 0x12] movs r0, 0x1 strh r0, [r3, 0x30] strh r4, [r3, 0x2E] movs r0, 0x2 adds r1, r6, 0 ldr r6, =gUnknown_0860AA88 ldr r7, =gUnknown_03001274 movs r4, 0 adds r2, r3, 0 adds r2, 0x32 _0817F4E2: strh r4, [r2] adds r2, 0x2 adds r0, 0x1 cmp r0, 0x7 bls _0817F4E2 adds r1, r5 lsls r1, 3 add r1, r8 movs r2, 0xE ldrsh r0, [r1, r2] lsls r0, 2 adds r0, r6 ldr r0, [r0] str r0, [r3, 0x1C] movs r0, 0 str r0, [r7] ldrh r0, [r1, 0x8] adds r0, 0x1 strh r0, [r1, 0x8] _0817F508: ldr r0, [r3, 0x1C] cmp r0, r12 bne _0817F528 lsls r0, r5, 2 adds r0, r5 lsls r0, 3 add r0, r8 ldrh r1, [r0, 0x10] movs r2, 0 strh r1, [r3, 0x2E] ldrh r0, [r0, 0x12] strh r0, [r3, 0x32] strh r2, [r3, 0x30] adds r0, r5, 0 bl DestroyTask _0817F528: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_817F498 thumb_func_start LaunchAnimationTaskForFrontSprite LaunchAnimationTaskForFrontSprite: @ 817F544 push {r4,r5,lr} adds r5, r0, 0 lsls r4, r1, 24 lsrs r4, 24 ldr r0, =sub_817F498 movs r1, 0x80 bl CreateTask lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r1, r2 lsrs r0, r5, 16 strh r0, [r1, 0xA] strh r5, [r1, 0xC] strh r4, [r1, 0xE] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end LaunchAnimationTaskForFrontSprite thumb_func_start sub_817F578 sub_817F578: @ 817F578 lsls r1, 24 ldr r3, =gUnknown_03001274 movs r2, 0x1 str r2, [r3] ldr r2, =gUnknown_0860AA88 lsrs r1, 22 adds r1, r2 ldr r1, [r1] str r1, [r0, 0x1C] bx lr .pool thumb_func_end sub_817F578 thumb_func_start LaunchAnimationTaskForBackSprite LaunchAnimationTaskForBackSprite: @ 817F594 push {r4-r6,lr} adds r5, r0, 0 lsls r6, r1, 24 lsrs r6, 24 ldr r0, =sub_817F498 movs r1, 0x80 bl CreateTask lsls r0, 24 lsrs r0, 24 ldr r1, =gTasks lsls r4, r0, 2 adds r4, r0 lsls r4, 3 adds r4, r1 lsrs r0, r5, 16 strh r0, [r4, 0xA] strh r5, [r4, 0xC] ldrh r0, [r5, 0x2E] lsls r0, 24 ldr r1, =gBattlePartyID lsrs r0, 23 adds r0, r1 ldrh r1, [r0] movs r0, 0x64 muls r0, r1 ldr r1, =gPlayerParty adds r0, r1 bl GetNature lsls r0, 24 lsrs r0, 24 lsls r1, r6, 1 ldr r2, =gUnknown_0860AD2F adds r0, r2 adds r1, r6 ldrb r0, [r0] adds r1, r0 lsls r1, 24 lsrs r1, 24 ldr r0, =gUnknown_0860ACE4 adds r1, r0 ldrb r0, [r1] strh r0, [r4, 0xE] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end LaunchAnimationTaskForBackSprite thumb_func_start sub_817F60C sub_817F60C: @ 817F60C ldr r1, =nullsub_69 str r1, [r0, 0x1C] bx lr .pool thumb_func_end sub_817F60C thumb_func_start sub_817F618 sub_817F618: @ 817F618 push {r4,r5,lr} sub sp, 0x10 lsls r1, 16 lsls r3, 16 lsrs r3, 16 ldr r4, =0xffff0000 lsls r2, 16 lsrs r1, 16 orrs r1, r2 str r1, [sp] ldr r1, [sp, 0x4] ands r1, r4 orrs r1, r3 str r1, [sp, 0x4] ldrb r4, [r0, 0x3] lsls r4, 26 lsrs r4, 27 add r5, sp, 0x8 mov r0, sp adds r1, r5, 0 movs r2, 0x1 movs r3, 0x2 bl ObjAffineSet ldr r0, =gOamMatrices lsls r4, 3 adds r4, r0 ldrh r0, [r5] strh r0, [r4] ldrh r0, [r5, 0x2] strh r0, [r4, 0x2] ldrh r0, [r5, 0x4] strh r0, [r4, 0x4] ldrh r0, [r5, 0x6] strh r0, [r4, 0x6] add sp, 0x10 pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_817F618 thumb_func_start sub_817F670 sub_817F670: @ 817F670 push {r4,lr} adds r4, r0, 0 ldrb r0, [r4, 0x1] movs r1, 0x3 orrs r0, r1 strb r0, [r4, 0x1] ldr r0, =gSpriteAffineAnimTable_860AD68 str r0, [r4, 0x10] ldr r0, =gUnknown_03001274 ldr r0, [r0] cmp r0, 0x1 bne _0817F68E adds r0, r4, 0 bl InitSpriteAffineAnim _0817F68E: movs r1, 0x30 ldrsh r0, [r4, r1] cmp r0, 0 bne _0817F6A8 adds r0, r4, 0 movs r1, 0x1 bl StartSpriteAffineAnim b _0817F6B0 .pool _0817F6A8: adds r0, r4, 0 movs r1, 0 bl StartSpriteAffineAnim _0817F6B0: ldrb r3, [r4, 0x1] lsrs r1, r3, 6 ldrb r2, [r4, 0x3] lsrs r2, 6 lsls r3, 30 lsrs r3, 30 adds r0, r4, 0 bl CalcCenterToCornerVec adds r2, r4, 0 adds r2, 0x2C ldrb r0, [r2] movs r1, 0x80 orrs r0, r1 strb r0, [r2] pop {r4} pop {r0} bx r0 thumb_func_end sub_817F670 thumb_func_start sub_817F6D4 sub_817F6D4: @ 817F6D4 push {r4,r5,lr} adds r4, r0, 0 lsls r1, 16 lsrs r1, 16 lsls r2, 16 lsrs r2, 16 lsls r3, 16 lsrs r3, 16 movs r5, 0x30 ldrsh r0, [r4, r5] cmp r0, 0 bne _0817F6F8 lsls r0, r1, 16 negs r0, r0 lsrs r1, r0, 16 negs r0, r3 lsls r0, 16 lsrs r3, r0, 16 _0817F6F8: lsls r1, 16 asrs r1, 16 lsls r2, 16 asrs r2, 16 adds r0, r4, 0 bl sub_817F618 pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_817F6D4 thumb_func_start sub_817F70C sub_817F70C: @ 817F70C push {lr} adds r1, r0, 0 movs r2, 0x30 ldrsh r0, [r1, r2] cmp r0, 0 bne _0817F720 movs r2, 0x24 ldrsh r0, [r1, r2] negs r0, r0 strh r0, [r1, 0x24] _0817F720: pop {r0} bx r0 thumb_func_end sub_817F70C thumb_func_start sub_817F724 sub_817F724: @ 817F724 push {lr} lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x3 bhi _0817F750 ldr r1, =gUnknown_03001240 lsls r0, r2, 1 adds r0, r2 lsls r0, 2 adds r0, r1 movs r2, 0 strh r2, [r0, 0x6] strh r2, [r0] movs r1, 0x1 strh r1, [r0, 0x4] strh r2, [r0, 0x2] strh r2, [r0, 0x8] movs r0, 0x1 b _0817F752 .pool _0817F750: movs r0, 0 _0817F752: pop {r1} bx r1 thumb_func_end sub_817F724 thumb_func_start sub_817F758 sub_817F758: @ 817F758 push {r4,lr} ldr r4, =gUnknown_03001270 ldrb r1, [r4] adds r2, r1, 0x1 adds r0, r2, 0 asrs r0, 2 lsls r0, 2 subs r0, r2, r0 strb r0, [r4] ldrb r0, [r4] bl sub_817F724 ldrb r0, [r4] pop {r4} pop {r1} bx r1 .pool thumb_func_end sub_817F758 thumb_func_start sub_817F77C sub_817F77C: @ 817F77C push {r4,r5,lr} adds r4, r0, 0 ldrb r0, [r4, 0x1] movs r3, 0x4 negs r3, r3 ands r3, r0 movs r5, 0x1 orrs r3, r5 strb r3, [r4, 0x1] lsrs r1, r3, 6 ldrb r2, [r4, 0x3] lsrs r2, 6 lsls r3, 30 lsrs r3, 30 adds r0, r4, 0 bl CalcCenterToCornerVec ldr r0, =gUnknown_03001274 ldr r0, [r0] cmp r0, 0x1 bne _0817F800 movs r1, 0x30 ldrsh r0, [r4, r1] cmp r0, 0 bne _0817F7C0 adds r1, r4, 0 adds r1, 0x3F ldrb r0, [r1] orrs r0, r5 strb r0, [r1] adds r5, r1, 0 b _0817F7D0 .pool _0817F7C0: adds r0, r4, 0 adds r0, 0x3F ldrb r2, [r0] movs r1, 0x2 negs r1, r1 ands r1, r2 strb r1, [r0] adds r5, r0, 0 _0817F7D0: ldrb r0, [r4, 0x3] lsls r0, 26 lsrs r0, 27 bl FreeOamMatrix ldrb r2, [r4, 0x3] lsls r1, r2, 26 lsrs r1, 27 ldrb r0, [r5] lsls r0, 31 lsrs r0, 31 lsls r0, 3 orrs r1, r0 lsls r1, 1 movs r0, 0x3F negs r0, r0 ands r0, r2 orrs r0, r1 strb r0, [r4, 0x3] ldrb r1, [r4, 0x1] movs r0, 0x4 negs r0, r0 ands r0, r1 strb r0, [r4, 0x1] _0817F800: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_817F77C thumb_func_start pokemonanimfunc_01 pokemonanimfunc_01: @ 817F808 push {r4-r6,lr} adds r6, r0, 0 movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0 bne _0817F81A adds r0, r6, 0 bl sub_817F670 _0817F81A: movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0x28 ble _0817F840 movs r2, 0x80 lsls r2, 1 adds r0, r6, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 adds r0, r6, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r6, 0x1C] b _0817F88C .pool _0817F840: movs r1, 0x32 ldrsh r0, [r6, r1] lsls r0, 9 movs r1, 0x28 bl __divsi3 adds r4, r0, 0 cmp r0, 0 bge _0817F854 adds r4, 0xFF _0817F854: asrs r4, 8 lsls r4, 8 subs r4, r0, r4 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 Cos adds r0, r5 strh r0, [r6, 0x38] movs r0, 0x36 ldrsh r1, [r6, r0] movs r0, 0x38 ldrsh r2, [r6, r0] adds r0, r6, 0 movs r3, 0 bl sub_817F6D4 _0817F88C: ldrh r0, [r6, 0x32] adds r0, 0x1 strh r0, [r6, 0x32] pop {r4-r6} pop {r0} bx r0 thumb_func_end pokemonanimfunc_01 thumb_func_start pokemonanimfunc_02 pokemonanimfunc_02: @ 817F898 push {r4,r5,lr} adds r4, r0, 0 ldrh r1, [r4, 0x32] movs r2, 0x32 ldrsh r0, [r4, r2] cmp r0, 0x28 ble _0817F8B4 ldr r0, =sub_8184D88 str r0, [r4, 0x1C] movs r0, 0 b _0817F8EE .pool _0817F8B4: movs r0, 0x1 ands r0, r1 movs r5, 0xFF cmp r0, 0 bne _0817F8C0 movs r5, 0x1 _0817F8C0: movs r1, 0x32 ldrsh r0, [r4, r1] lsls r0, 7 movs r1, 0x28 bl __divsi3 adds r1, r0, 0 cmp r1, 0 bge _0817F8D4 adds r0, 0xFF _0817F8D4: 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, r0, 0 muls r2, r1 adds r0, r2, 0 _0817F8EE: 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_02 thumb_func_start sub_817F8FC sub_817F8FC: @ 817F8FC push {r4,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r1, [r4, r0] movs r2, 0x2E ldrsh r0, [r4, r2] cmp r1, r0 ble _0817F91C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] movs r0, 0 b _0817F946 .pool _0817F91C: movs r0, 0x32 ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 7 movs r2, 0x2E ldrsh r1, [r4, r2] bl __divsi3 adds r1, r0, 0 cmp r1, 0 bge _0817F936 adds r0, 0xFF _0817F936: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x6 bl Sin _0817F946: strh r0, [r4, 0x24] ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 thumb_func_end sub_817F8FC thumb_func_start pokemonanimfunc_03 pokemonanimfunc_03: @ 817F95C push {r4,lr} adds r4, r0, 0 movs r0, 0x28 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_03 thumb_func_start sub_817F978 sub_817F978: @ 817F978 push {r4,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r1, [r4, r0] movs r2, 0x2E ldrsh r0, [r4, r2] cmp r1, r0 ble _0817F998 ldr r0, =sub_8184D88 str r0, [r4, 0x1C] movs r0, 0 b _0817F9C4 .pool _0817F998: movs r0, 0x32 ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 7 movs r2, 0x2E ldrsh r1, [r4, r2] bl __divsi3 adds r1, r0, 0 cmp r1, 0 bge _0817F9B2 adds r0, 0xFF _0817F9B2: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x6 bl Sin negs r0, r0 _0817F9C4: strh r0, [r4, 0x26] ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 thumb_func_end sub_817F978 thumb_func_start pokemonanimfunc_04 pokemonanimfunc_04: @ 817F9D8 push {r4,lr} adds r4, r0, 0 movs r0, 0x28 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_04 thumb_func_start sub_817F9F4 sub_817F9F4: @ 817F9F4 push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r1, [r4, r0] movs r0, 0xC0 lsls r0, 1 cmp r1, r0 ble _0817FA14 ldr r0, =sub_8184D88 str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x24] b _0817FA5E .pool _0817FA14: adds r0, r1, 0 cmp r1, 0 bge _0817FA1C adds r0, 0x7F _0817FA1C: asrs r2, r0, 7 lsls r0, r2, 16 asrs r0, 16 cmp r0, 0 blt _0817FA60 cmp r0, 0x1 ble _0817FA48 cmp r0, 0x3 bgt _0817FA60 ldr r2, =0xffffff00 adds r1, r2 lsls r0, r1, 16 asrs r0, 16 movs r1, 0x2E ldrsh r2, [r4, r1] lsls r1, r2, 1 adds r1, r2 lsls r1, 16 b _0817FA56 .pool _0817FA48: lsls r0, r2, 7 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r2, 0x2E ldrsh r1, [r4, r2] lsls r1, 17 _0817FA56: asrs r1, 16 bl Sin negs r0, r0 _0817FA5E: strh r0, [r4, 0x26] _0817FA60: ldrh r0, [r4, 0x32] adds r0, 0xC strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end sub_817F9F4 thumb_func_start pokemonanimfunc_1E pokemonanimfunc_1E: @ 817FA6C push {r4,lr} adds r4, r0, 0 movs r0, 0x4 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_1E thumb_func_start pokemonanimfunc_06 pokemonanimfunc_06: @ 817FA88 push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r2, [r4, r0] movs r0, 0xC0 lsls r0, 2 cmp r2, r0 ble _0817FAA8 ldr r0, =sub_8184D88 str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x24] b _0817FB56 .pool _0817FAA8: adds r0, r2, 0 cmp r2, 0 bge _0817FAB0 adds r0, 0x7F _0817FAB0: lsls r0, 9 asrs r0, 16 cmp r0, 0x5 bhi _0817FB3C lsls r0, 2 ldr r1, =_0817FAC8 adds r0, r1 ldr r0, [r0] mov pc, r0 .pool .align 2, 0 _0817FAC8: .4byte _0817FAE0 .4byte _0817FAE0 .4byte _0817FAE4 .4byte _0817FAE8 .4byte _0817FB04 .4byte _0817FB1E _0817FAE0: movs r0, 0 b _0817FB3A _0817FAE4: movs r2, 0 b _0817FB3C _0817FAE8: adds r0, r2, 0 cmp r2, 0 bge _0817FAF0 adds r0, 0x7F _0817FAF0: asrs r0, 7 lsls r0, 7 subs r0, r2, r0 lsls r0, 3 negs r0, r0 cmp r0, 0 bge _0817FB00 adds r0, 0x7F _0817FB00: asrs r0, 7 b _0817FB3A _0817FB04: adds r0, r2, 0 cmp r2, 0 bge _0817FB0C adds r0, 0x7F _0817FB0C: asrs r0, 7 lsls r0, 7 subs r0, r2, r0 cmp r0, 0 bge _0817FB18 adds r0, 0x7 _0817FB18: asrs r0, 3 subs r0, 0x8 b _0817FB3A _0817FB1E: adds r0, r2, 0 cmp r2, 0 bge _0817FB26 adds r0, 0x7F _0817FB26: asrs r0, 7 lsls r0, 7 subs r0, r2, r0 lsls r0, 3 negs r0, r0 cmp r0, 0 bge _0817FB36 adds r0, 0x7F _0817FB36: asrs r0, 7 adds r0, 0x8 _0817FB3A: strh r0, [r4, 0x24] _0817FB3C: adds r0, r2, 0 cmp r2, 0 bge _0817FB44 adds r0, 0x7F _0817FB44: asrs r0, 7 lsls r0, 7 subs r0, r2, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x8 bl Sin negs r0, r0 _0817FB56: strh r0, [r4, 0x26] ldrh r0, [r4, 0x32] adds r0, 0xC strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_06 thumb_func_start pokemonanimfunc_09 pokemonanimfunc_09: @ 817FB64 push {r4-r6,lr} adds r6, r0, 0 movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0 bne _0817FB76 adds r0, r6, 0 bl sub_817F670 _0817FB76: movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0x28 ble _0817FB9C movs r2, 0x80 lsls r2, 1 adds r0, r6, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 adds r0, r6, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r6, 0x1C] b _0817FC12 .pool _0817FB9C: movs r1, 0x32 ldrsh r0, [r6, r1] lsls r0, 8 movs r1, 0x28 bl __divsi3 adds r1, r0, 0 cmp r1, 0 bge _0817FBB0 adds r0, 0xFF _0817FBB0: 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 _0817FBE0 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 b _0817FBFA _0817FBE0: lsls r4, 16 asrs r4, 16 adds r0, r4, 0 movs r1, 0x8 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, 0x8 _0817FBFA: bl Sin adds r0, r5 strh r0, [r6, 0x38] movs r0, 0x36 ldrsh r1, [r6, r0] movs r0, 0x38 ldrsh r2, [r6, r0] adds r0, r6, 0 movs r3, 0 bl sub_817F6D4 _0817FC12: ldrh r0, [r6, 0x32] adds r0, 0x1 strh r0, [r6, 0x32] pop {r4-r6} pop {r0} bx r0 thumb_func_end pokemonanimfunc_09 thumb_func_start sub_817FC20 sub_817FC20: @ 817FC20 push {r4,r5,lr} adds r4, r0, 0 bl sub_817F70C movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _0817FC32 strh r0, [r4, 0x34] _0817FC32: ldr r2, =gUnknown_0860AD70 movs r5, 0x34 ldrsh r1, [r4, r5] lsls r0, r1, 1 adds r0, r1 adds r1, r2, 0x2 adds r3, r0, r1 movs r1, 0 ldrsb r1, [r3, r1] movs r5, 0x32 ldrsh r0, [r4, r5] cmp r1, r0 bne _0817FC6A adds r0, r1, 0 cmp r0, 0 bne _0817FC60 ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _0817FC6A .pool _0817FC60: ldrh r0, [r4, 0x34] adds r0, 0x1 movs r1, 0 strh r0, [r4, 0x34] strh r1, [r4, 0x32] _0817FC6A: movs r0, 0x34 ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r1, r0, r1 adds r0, r2, 0x2 adds r0, r1, r0 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0 bne _0817FC8C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _0817FCBE .pool _0817FC8C: adds r0, r1, r2 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 ldrh r1, [r4, 0x24] adds r0, r1 strh r0, [r4, 0x24] movs r5, 0x34 ldrsh r1, [r4, r5] lsls r0, r1, 1 adds r0, r1 adds r1, r2, 0x1 adds r0, r1 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 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 _0817FCBE: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_817FC20 thumb_func_start pokemonanimfunc_0A pokemonanimfunc_0A: @ 817FCC4 push {r4,lr} adds r4, r0, 0 bl sub_817FC20 ldr r0, =sub_817FC20 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_0A thumb_func_start sub_817FCDC sub_817FCDC: @ 817FCDC push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r1, [r4, r0] movs r0, 0x90 lsls r0, 4 cmp r1, r0 ble _0817FCF8 ldr r0, =sub_8184D88 str r0, [r4, 0x1C] movs r0, 0 b _0817FD12 .pool _0817FCF8: adds r0, r1, 0 cmp r1, 0 bge _0817FD00 adds r0, 0xFF _0817FD00: 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 _0817FD12: strh r0, [r4, 0x24] ldrh r0, [r4, 0x2E] ldrh r1, [r4, 0x32] adds r0, r1 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end sub_817FCDC thumb_func_start pokemonanimfunc_0F pokemonanimfunc_0F: @ 817FD24 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_817FCDC ldr r0, =sub_817FCDC str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_0F thumb_func_start sub_817FD44 sub_817FD44: @ 817FD44 push {r4,lr} adds r4, r0, 0 movs r0, 0x32 ldrsh r1, [r4, r0] movs r0, 0x90 lsls r0, 4 cmp r1, r0 ble _0817FD60 ldr r0, =sub_8184D88 str r0, [r4, 0x1C] movs r0, 0 b _0817FD78 .pool _0817FD60: adds r0, r1, 0 cmp r1, 0 bge _0817FD68 adds r0, 0xFF _0817FD68: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x3 bl Sin _0817FD78: strh r0, [r4, 0x26] ldrh r0, [r4, 0x2E] ldrh r1, [r4, 0x32] adds r0, r1 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end sub_817FD44 thumb_func_start pokemonanimfunc_10 pokemonanimfunc_10: @ 817FD88 push {r4,lr} adds r4, r0, 0 movs r0, 0x3C 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_10 thumb_func_start pokemonanimfunc_11 pokemonanimfunc_11: @ 817FDA4 push {r4-r7,lr} adds r7, r0, 0 ldrh r2, [r7, 0x32] movs r0, 0x32 ldrsh r1, [r7, r0] movs r0, 0x80 lsls r0, 2 cmp r1, r0 ble _0817FDC8 ldr r0, =sub_8184D88 str r0, [r7, 0x1C] movs r0, 0 strh r0, [r7, 0x24] strh r0, [r7, 0x26] b _0817FE24 .pool _0817FDC8: movs r0, 0x1 ands r0, r2 movs r5, 0xFF cmp r0, 0 bne _0817FDD4 movs r5, 0x1 _0817FDD4: movs r1, 0x32 ldrsh r0, [r7, r1] cmp r0, 0 bge _0817FDDE adds r0, 0x3 _0817FDDE: asrs r0, 2 movs r1, 0x8 bl Sin lsls r0, 16 asrs r6, r0, 16 movs r0, 0x32 ldrsh r1, [r7, r0] adds r4, r1, 0 cmp r1, 0 bge _0817FDF6 adds r4, 0xFF _0817FDF6: asrs r4, 8 lsls r4, 8 subs r4, r1, r4 lsls r4, 16 asrs r4, 16 adds r0, r4, 0 adds r1, r6, 0 bl Sin lsls r5, 24 asrs r5, 24 adds r1, r0, 0 muls r1, r5 adds r0, r1, 0 strh r0, [r7, 0x26] adds r0, r4, 0 adds r1, r6, 0 bl Cos adds r1, r0, 0 muls r1, r5 adds r0, r1, 0 strh r0, [r7, 0x24] _0817FE24: ldrh r0, [r7, 0x32] adds r0, 0x9 strh r0, [r7, 0x32] pop {r4-r7} pop {r0} bx r0 thumb_func_end pokemonanimfunc_11 thumb_func_start sub_817FE30 sub_817FE30: @ 817FE30 push {r4-r6,lr} adds r4, r0, 0 ldr r2, =gUnknown_03001240 ldrh r6, [r4, 0x2E] movs r0, 0x2E ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r5, r0, r2 ldrh r0, [r5] cmp r0, 0 beq _0817FE54 subs r0, 0x1 strh r0, [r5] b _0817FEF8 .pool _0817FE54: movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _0817FE70 movs r2, 0x8 ldrsh r0, [r5, r2] cmp r0, 0 bne _0817FE70 adds r0, r4, 0 bl sub_817F670 ldrh r0, [r5, 0x8] adds r0, 0x1 strh r0, [r5, 0x8] _0817FE70: ldr r2, =gUnknown_03001240 lsls r1, r6, 16 asrs r1, 16 lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r5, r0, r2 movs r0, 0x32 ldrsh r1, [r4, r0] movs r2, 0x6 ldrsh r0, [r5, r2] cmp r1, r0 ble _0817FEC4 movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 ldrh r1, [r5, 0x4] movs r2, 0x4 ldrsh r0, [r5, r2] cmp r0, 0x1 ble _0817FEB4 subs r0, r1, 0x1 movs r1, 0 strh r0, [r5, 0x4] movs r0, 0xA strh r0, [r5] strh r1, [r4, 0x32] b _0817FEF2 .pool _0817FEB4: adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _0817FEF2 .pool _0817FEC4: movs r0, 0x32 ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _0817FED0 adds r0, 0xFF _0817FED0: asrs r0, 8 lsls r0, 8 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x80 lsls r1, 5 bl Sin strh r0, [r4, 0x3A] movs r2, 0x80 lsls r2, 1 ldrh r3, [r4, 0x3A] adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 _0817FEF2: ldrh r0, [r4, 0x32] adds r0, 0x10 strh r0, [r4, 0x32] _0817FEF8: pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_817FE30 thumb_func_start pokemonanimfunc_12 pokemonanimfunc_12: @ 817FF00 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, 2 strh r0, [r1, 0x6] strh r3, [r1] 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_12 thumb_func_start sub_817FF3C sub_817FF3C: @ 817FF3C push {r4-r6,lr} adds r4, r0, 0 ldrh r0, [r4, 0x2E] lsls r0, 24 lsrs r5, r0, 24 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _0817FF54 adds r0, r4, 0 bl sub_817F670 _0817FF54: movs r2, 0x32 ldrsh r6, [r4, r2] ldr r1, =gUnknown_03001240 lsls r0, r5, 1 adds r0, r5 lsls r0, 2 adds r0, r1 ldrh r1, [r0] cmp r6, r1 ble _0817FF8C movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _0817FFAA .pool _0817FF8C: movs r2, 0x8 ldrsh r1, [r0, r2] movs r0, 0x80 lsls r0, 9 bl __divsi3 muls r0, r6 strh r0, [r4, 0x3A] movs r2, 0x80 lsls r2, 1 ldrh r3, [r4, 0x3A] adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 _0817FFAA: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_817FF3C thumb_func_start pokemonanimfunc_1F pokemonanimfunc_1F: @ 817FFB8 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, 0x14 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_1F thumb_func_start sub_817FFF0 sub_817FFF0: @ 817FFF0 push {r4-r7,lr} adds r5, r0, 0 ldrh r0, [r5, 0x2E] lsls r0, 24 lsrs r7, r0, 24 adds r0, r5, 0 bl sub_817F70C ldr r1, =gUnknown_03001240 lsls r0, r7, 1 adds r0, r7 lsls r0, 2 adds r6, r0, r1 movs r0, 0x32 ldrsh r1, [r5, r0] movs r2, 0x6 ldrsh r0, [r6, r2] cmp r1, r0 ble _0818002C movs r0, 0 strh r0, [r5, 0x24] strh r0, [r5, 0x26] ldr r0, =sub_8184D88 str r0, [r5, 0x1C] b _0818006A .pool _0818002C: movs r0, 0x32 ldrsh r1, [r5, r0] adds r0, r1, 0 adds r0, 0xC0 adds r4, r0, 0 cmp r0, 0 bge _0818003E ldr r2, =0x000001bf adds r4, r1, r2 _0818003E: asrs r4, 8 lsls r4, 8 subs r4, r0, r4 lsls r4, 16 asrs r4, 16 movs r0, 0x8 ldrsh r1, [r6, r0] lsls r1, 17 asrs r1, 16 adds r0, r4, 0 bl Cos negs r0, r0 strh r0, [r5, 0x24] movs r2, 0x8 ldrsh r1, [r6, r2] adds r0, r4, 0 bl Sin ldrh r1, [r6, 0x8] adds r0, r1 strh r0, [r5, 0x26] _0818006A: ldr r0, =gUnknown_03001240 lsls r1, r7, 1 adds r1, r7 lsls r1, 2 adds r1, r0 ldrh r0, [r1, 0x2] ldrh r1, [r5, 0x32] adds r0, r1 strh r0, [r5, 0x32] adds r0, r5, 0 bl sub_817F70C pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_817FFF0 thumb_func_start pokemonanimfunc_14 pokemonanimfunc_14: @ 8180090 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, 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_14 thumb_func_start pokemonanimfunc_15 pokemonanimfunc_15: @ 81800D0 push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _081800EC ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 adds r0, r1 strh r0, [r4, 0x3C] _081800EC: movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0x80 ble _0818010C ldrh r0, [r4, 0x3C] movs r1, 0x10 movs r2, 0 movs r3, 0 bl BlendPalette ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _08180128 .pool _0818010C: movs r2, 0x32 ldrsh r0, [r4, r2] movs r1, 0x10 bl Sin adds r2, r0, 0 strh r2, [r4, 0x3A] ldrh r0, [r4, 0x3C] lsls r2, 24 lsrs r2, 24 movs r1, 0x10 movs r3, 0 bl BlendPalette _08180128: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_15 thumb_func_start pokemonanimfunc_16 pokemonanimfunc_16: @ 8180134 push {r4-r7,lr} adds r6, r0, 0 movs r7, 0 movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0 bne _08180148 adds r0, r6, 0 bl sub_817F670 _08180148: ldrh r5, [r6, 0x32] movs r2, 0x32 ldrsh r0, [r6, r2] cmp r0, 0x28 ble _08180170 movs r2, 0x80 lsls r2, 1 adds r0, r6, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 adds r0, r6, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r6, 0x1C] b _08180204 .pool _08180170: movs r1, 0x32 ldrsh r0, [r6, r1] lsls r0, 7 movs r1, 0x28 bl __divsi3 lsls r0, 16 lsrs r4, r0, 16 adds r0, r5, 0 subs r0, 0xA lsls r0, 16 lsrs r0, 16 cmp r0, 0x13 bhi _08180196 ldrh r0, [r6, 0x3C] adds r0, 0x33 strh r0, [r6, 0x3C] movs r7, 0xFF ands r7, r0 _08180196: movs r2, 0x30 ldrsh r0, [r6, r2] cmp r0, 0 bne _081801C4 lsls r5, r4, 16 asrs r0, r5, 16 movs r1, 0x28 bl Sin adds r4, r0, 0 adds r0, r7, 0 movs r1, 0x10 bl Sin ldr r1, =0xffffff00 adds r0, r1 adds r4, r0 strh r4, [r6, 0x36] adds r4, r5, 0 b _081801E4 .pool _081801C4: adds r0, r7, 0 movs r1, 0x10 bl Sin adds r5, r0, 0 lsls r4, 16 asrs r0, r4, 16 movs r1, 0x28 bl Sin movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 subs r1, r5 subs r1, r0 strh r1, [r6, 0x36] _081801E4: asrs r0, r4, 16 movs r1, 0x10 bl Sin movs r1, 0x80 lsls r1, 1 adds r0, r1 strh r0, [r6, 0x38] movs r2, 0x36 ldrsh r1, [r6, r2] movs r0, 0x38 ldrsh r2, [r6, r0] adds r0, r6, 0 movs r3, 0 bl sub_817F618 _08180204: ldrh r0, [r6, 0x32] adds r0, 0x1 strh r0, [r6, 0x32] pop {r4-r7} pop {r0} bx r0 thumb_func_end pokemonanimfunc_16 thumb_func_start pokemonanimfunc_17 pokemonanimfunc_17: @ 8180210 push {r4-r7,lr} mov r7, r8 push {r7} adds r5, r0, 0 movs r0, 0 mov r8, r0 movs r7, 0 movs r1, 0x32 ldrsh r0, [r5, r1] cmp r0, 0 bne _0818022C adds r0, r5, 0 bl sub_817F670 _0818022C: ldrh r6, [r5, 0x32] movs r2, 0x32 ldrsh r0, [r5, r2] cmp r0, 0x28 ble _08180258 movs r2, 0x80 lsls r2, 1 adds r0, r5, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 adds r0, r5, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r5, 0x1C] mov r0, r8 strh r0, [r5, 0x26] b _0818030A .pool _08180258: movs r1, 0x32 ldrsh r0, [r5, r1] lsls r0, 7 movs r1, 0x28 bl __divsi3 lsls r0, 16 lsrs r4, r0, 16 adds r0, r6, 0 subs r0, 0xA lsls r0, 16 lsrs r0, 16 cmp r0, 0x13 bhi _0818027E ldrh r0, [r5, 0x3C] adds r0, 0x33 strh r0, [r5, 0x3C] movs r7, 0xFF ands r7, r0 _0818027E: movs r2, 0x30 ldrsh r0, [r5, r2] cmp r0, 0 bne _081802A0 lsls r4, 16 asrs r0, r4, 16 movs r1, 0x10 bl Sin ldr r2, =0xffffff00 adds r1, r2, 0 subs r1, r0 strh r1, [r5, 0x36] b _081802B2 .pool _081802A0: lsls r4, 16 asrs r0, r4, 16 movs r1, 0x10 bl Sin movs r1, 0x80 lsls r1, 1 adds r0, r1 strh r0, [r5, 0x36] _081802B2: adds r6, r4, 0 adds r0, r7, 0 movs r1, 0x8 bl Sin adds r4, r0, 0 asrs r0, r6, 16 movs r1, 0x28 bl Sin movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 subs r4, r1, r4 subs r4, r0 strh r4, [r5, 0x38] lsls r4, 16 asrs r4, 16 lsls r1, 16 asrs r1, 16 cmp r4, r1 beq _081802F0 movs r2, 0x38 ldrsh r0, [r5, r2] subs r0, r1, r0 cmp r0, 0 bge _081802EA adds r0, 0x7 _081802EA: lsls r0, 13 lsrs r0, 16 mov r8, r0 _081802F0: mov r1, r8 lsls r0, r1, 16 asrs r0, 16 negs r0, r0 strh r0, [r5, 0x26] movs r2, 0x36 ldrsh r1, [r5, r2] movs r0, 0x38 ldrsh r2, [r5, r0] adds r0, r5, 0 movs r3, 0 bl sub_817F618 _0818030A: ldrh r0, [r5, 0x32] adds r0, 0x1 strh r0, [r5, 0x32] pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 thumb_func_end pokemonanimfunc_17 thumb_func_start sub_818031C sub_818031C: @ 818031C push {r4-r7,lr} mov r7, r8 push {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 r7, r0, 24 ldr r2, =gUnknown_0860AA80 movs r1, 0x38 ldrsh r0, [r4, r1] lsls r0, 1 adds r1, r0, r2 ldrb r5, [r1] adds r2, 0x1 adds r0, r2 ldrb r6, [r0] movs r1, 0 cmp r5, 0xFE beq _08180358 subs r0, r6, r7 muls r0, r5 adds r1, r6, 0 bl __divsi3 lsls r0, 24 lsrs r1, r0, 24 _08180358: cmp r5, 0xFF bne _08180370 ldr r0, =sub_8184D88 str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x26] b _08180394 .pool _08180370: mov r0, r8 bl Sin strh r0, [r4, 0x26] cmp r7, r6 bne _08180386 ldrh r0, [r4, 0x38] adds r0, 0x1 strh r0, [r4, 0x38] movs r0, 0 b _08180392 _08180386: ldrh r0, [r4, 0x2E] ldrh r1, [r4, 0x32] adds r0, r1 strh r0, [r4, 0x32] ldrh r0, [r4, 0x3A] adds r0, 0x1 _08180392: strh r0, [r4, 0x3A] _08180394: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_818031C thumb_func_start pokemonanimfunc_19 pokemonanimfunc_19: @ 81803A0 push {r4,lr} adds r4, r0, 0 movs r0, 0x30 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_19 thumb_func_start pokemonanimfunc_1A pokemonanimfunc_1A: @ 81803BC push {r4-r7,lr} mov r7, r8 push {r7} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x32] lsls r7, r0, 24 lsrs r5, r7, 24 mov r8, r5 cmp r0, 0 bne _081803DA adds r0, r4, 0 bl sub_817F670 _081803DA: movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0x23 ble _08180404 movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x24] b _0818045E .pool _08180404: adds r6, r5, 0 subs r6, 0xA lsls r0, r6, 7 movs r1, 0x14 bl __divsi3 lsls r0, 16 lsrs r1, r0, 16 cmp r5, 0x9 bhi _0818042A movs r2, 0x80 lsls r2, 1 lsrs r3, r7, 25 lsls r3, 9 adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 b _0818045E _0818042A: lsls r0, r6, 24 lsrs r0, 24 cmp r0, 0x13 bhi _08180442 lsls r0, r1, 16 asrs r0, 16 movs r1, 0x5 bl Sin negs r0, r0 strh r0, [r4, 0x24] b _0818045E _08180442: movs r2, 0x80 lsls r2, 1 movs r3, 0x23 mov r0, r8 subs r3, r0 lsrs r0, r3, 31 adds r3, r0 asrs r3, 1 lsls r3, 26 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 _0818045E: ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] adds r0, r4, 0 bl sub_817F70C pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 thumb_func_end pokemonanimfunc_1A thumb_func_start pokemonanimfunc_1B pokemonanimfunc_1B: @ 8180474 push {r4-r6,lr} adds r6, r0, 0 movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0 bne _08180486 adds r0, r6, 0 bl sub_817F670 _08180486: movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0x64 ble _081804B0 movs r2, 0x80 lsls r2, 1 adds r0, r6, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 movs r0, 0 strh r0, [r6, 0x26] adds r0, r6, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r6, 0x1C] b _081804E8 .pool _081804B0: movs r1, 0x32 ldrsh r0, [r6, r1] lsls r0, 8 movs r1, 0x64 bl __divsi3 adds r4, r0, 0 lsls r4, 16 asrs r4, 16 adds r0, r4, 0 movs r1, 0xA bl Sin strh r0, [r6, 0x26] movs r5, 0x80 lsls r5, 1 ldr r1, =0x00000ccc adds r0, r4, 0 bl Sin adds r3, r0, 0 lsls r3, 16 lsrs r3, 16 adds r0, r6, 0 adds r1, r5, 0 adds r2, r5, 0 bl sub_817F6D4 _081804E8: ldrh r0, [r6, 0x32] adds r0, 0x1 strh r0, [r6, 0x32] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_1B thumb_func_start sub_81804F8 sub_81804F8: @ 81804F8 push {r4-r6,lr} adds r6, r0, 0 movs r5, 0 movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0 bne _0818050C adds r0, r6, 0 bl sub_817F670 _0818050C: movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0x64 ble _08180534 movs r2, 0x80 lsls r2, 1 adds r0, r6, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 strh r5, [r6, 0x26] adds r0, r6, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r6, 0x1C] b _08180582 .pool _08180534: movs r0, 0x32 ldrsh r5, [r6, r0] lsls r0, r5, 8 movs r1, 0x64 bl __divsi3 adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 lsls r5, 9 adds r0, r5, 0 movs r1, 0x64 bl __divsi3 adds r5, r0, 0 movs r0, 0xFF ands r5, r0 lsls r4, 16 asrs r4, 16 movs r0, 0x2E ldrsh r1, [r6, r0] adds r0, r4, 0 bl Sin strh r0, [r6, 0x26] movs r4, 0x80 lsls r4, 1 adds r0, r5, 0 ldr r1, =0x00000ccc bl Sin adds r3, r0, 0 lsls r3, 16 lsrs r3, 16 adds r0, r6, 0 adds r1, r4, 0 adds r2, r4, 0 bl sub_817F6D4 _08180582: ldrh r0, [r6, 0x32] adds r0, 0x1 strh r0, [r6, 0x32] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_81804F8 thumb_func_start pokemonanimfunc_1C pokemonanimfunc_1C: @ 8180594 push {r4,lr} adds r4, r0, 0 movs r0, 0xA 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_1C thumb_func_start sub_81805B0 sub_81805B0: @ 81805B0 push {r4-r6,lr} adds r6, r0, 0 movs r5, 0 movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0 bne _081805C4 adds r0, r6, 0 bl sub_817F670 _081805C4: movs r2, 0x32 ldrsh r0, [r6, r2] cmp r0, 0x64 ble _081805EC movs r2, 0x80 lsls r2, 1 adds r0, r6, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 strh r5, [r6, 0x26] adds r0, r6, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r6, 0x1C] b _08180644 .pool _081805EC: movs r0, 0x32 ldrsh r5, [r6, r0] lsls r0, r5, 8 movs r1, 0x64 bl __divsi3 adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 lsls r5, 9 adds r0, r5, 0 movs r1, 0x64 bl __divsi3 adds r5, r0, 0 movs r0, 0xFF ands r5, r0 lsls r4, 16 asrs r0, r4, 16 lsrs r4, 31 adds r0, r4 asrs r0, 1 movs r2, 0x2E ldrsh r1, [r6, r2] lsls r1, 17 asrs r1, 16 bl Sin negs r0, r0 strh r0, [r6, 0x26] movs r4, 0x80 lsls r4, 1 adds r0, r5, 0 ldr r1, =0x00000ccc bl Sin adds r3, r0, 0 lsls r3, 16 lsrs r3, 16 adds r0, r6, 0 adds r1, r4, 0 adds r2, r4, 0 bl sub_817F6D4 _08180644: ldrh r0, [r6, 0x32] adds r0, 0x1 strh r0, [r6, 0x32] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_81805B0 thumb_func_start pokemonanimfunc_18 pokemonanimfunc_18: @ 8180654 push {r4,lr} adds r4, r0, 0 movs r0, 0x5 strh r0, [r4, 0x2E] adds r0, r4, 0 bl sub_81805B0 ldr r0, =sub_81805B0 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_18 thumb_func_start pokemonanimfunc_1D pokemonanimfunc_1D: @ 8180670 push {r4-r6,lr} adds r6, r0, 0 bl sub_817F70C movs r5, 0 movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0 bne _08180688 adds r0, r6, 0 bl sub_817F670 _08180688: movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0x64 ble _081806B0 movs r2, 0x80 lsls r2, 1 adds r0, r6, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 strh r5, [r6, 0x24] adds r0, r6, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r6, 0x1C] b _081806FC .pool _081806B0: movs r0, 0x32 ldrsh r5, [r6, r0] lsls r0, r5, 8 movs r1, 0x64 bl __divsi3 adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 lsls r5, 9 adds r0, r5, 0 movs r1, 0x64 bl __divsi3 adds r5, r0, 0 movs r0, 0xFF ands r5, r0 lsls r4, 16 asrs r4, 16 adds r0, r4, 0 movs r1, 0x8 bl Sin strh r0, [r6, 0x24] movs r4, 0x80 lsls r4, 1 adds r0, r5, 0 ldr r1, =0x00000ccc bl Sin adds r3, r0, 0 lsls r3, 16 lsrs r3, 16 adds r0, r6, 0 adds r1, r4, 0 adds r2, r4, 0 bl sub_817F6D4 _081806FC: ldrh r0, [r6, 0x32] adds r0, 0x1 strh r0, [r6, 0x32] adds r0, r6, 0 bl sub_817F70C pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_1D thumb_func_start sub_8180714 sub_8180714: @ 8180714 push {r4-r6,lr} adds r4, r0, 0 movs r6, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _0818072A adds r0, r4, 0 bl sub_817F670 strh r6, [r4, 0x34] _0818072A: adds r0, r4, 0 bl sub_817F70C movs r0, 0x32 ldrsh r2, [r4, r0] movs r0, 0x2E ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 cmp r2, r0 ble _08180760 movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 strh r6, [r4, 0x26] adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _081807FE .pool _08180760: movs r1, 0x36 ldrsh r0, [r4, r1] movs r1, 0x20 bl Sin movs r2, 0x80 lsls r2, 1 adds r0, r2 lsls r0, 16 lsrs r5, r0, 16 movs r0, 0x32 ldrsh r1, [r4, r0] movs r2, 0x2E ldrsh r0, [r4, r2] cmp r1, r0 ble _08180796 adds r2, r0, 0 lsls r0, r2, 1 cmp r1, r0 bge _08180796 movs r0, 0x80 adds r1, r2, 0 bl __divsi3 ldrh r1, [r4, 0x34] adds r1, r0 strh r1, [r4, 0x34] _08180796: lsls r0, r5, 16 asrs r1, r0, 16 movs r2, 0x80 lsls r2, 1 adds r5, r0, 0 cmp r1, r2 ble _081807B0 subs r0, r2, r1 cmp r0, 0 bge _081807AC adds r0, 0x7 _081807AC: lsls r0, 13 lsrs r6, r0, 16 _081807B0: movs r1, 0x34 ldrsh r0, [r4, r1] movs r1, 0xA bl Sin negs r0, r0 lsls r1, r6, 16 asrs r1, 16 subs r0, r1 strh r0, [r4, 0x26] movs r2, 0x36 ldrsh r0, [r4, r2] movs r1, 0x20 bl Sin movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 subs r1, r0 lsls r1, 16 asrs r1, 16 asrs r2, r5, 16 adds r0, r4, 0 movs r3, 0 bl sub_817F6D4 ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] movs r0, 0x2E ldrsh r1, [r4, r0] movs r0, 0x80 bl __divsi3 ldrh r1, [r4, 0x36] adds r1, r0 movs r0, 0xFF ands r1, r0 strh r1, [r4, 0x36] _081807FE: adds r0, r4, 0 bl sub_817F70C pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_8180714 thumb_func_start pokemonanimfunc_00 pokemonanimfunc_00: @ 818080C push {r4,lr} adds r4, r0, 0 movs r0, 0x10 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_00 thumb_func_start sub_8180828 sub_8180828: @ 8180828 push {r4-r6,lr} adds r5, r0, 0 movs r6, 0 movs r0, 0x32 ldrsh r4, [r5, r0] movs r2, 0x3A ldrsh r1, [r5, r2] movs r0, 0x80 bl __divsi3 movs r2, 0x3C ldrsh r1, [r5, r2] muls r0, r1 cmp r4, r0 ble _08180868 movs r2, 0x80 lsls r2, 1 adds r0, r5, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 strh r6, [r5, 0x26] adds r0, r5, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r5, 0x1C] b _081808D0 .pool _08180868: movs r1, 0x36 ldrsh r0, [r5, r1] movs r1, 0x20 bl Sin movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 adds r0, r1 lsls r0, 16 lsrs r4, r0, 16 asrs r0, 16 lsls r1, 16 asrs r1, 16 cmp r0, r1 ble _08180894 subs r0, r1, r0 cmp r0, 0 bge _08180890 adds r0, 0x7 _08180890: lsls r0, 13 lsrs r6, r0, 16 _08180894: lsls r0, r6, 16 asrs r0, 16 negs r0, r0 strh r0, [r5, 0x26] movs r1, 0x36 ldrsh r0, [r5, r1] movs r1, 0x30 bl Sin adds r1, r0, 0 movs r2, 0x80 lsls r2, 1 adds r1, r2 lsls r1, 16 asrs r1, 16 lsls r2, r4, 16 asrs r2, 16 adds r0, r5, 0 movs r3, 0 bl sub_817F6D4 ldrh r0, [r5, 0x32] adds r0, 0x1 strh r0, [r5, 0x32] ldrh r0, [r5, 0x3A] ldrh r1, [r5, 0x36] adds r0, r1 movs r1, 0xFF ands r0, r1 strh r0, [r5, 0x36] _081808D0: pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_8180828 thumb_func_start pokemonanimfunc_13 pokemonanimfunc_13: @ 81808D8 push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _081808F2 adds r0, r4, 0 bl sub_817F670 movs r0, 0x3 strh r0, [r4, 0x3C] movs r0, 0x8 strh r0, [r4, 0x3A] _081808F2: adds r0, r4, 0 bl sub_8180828 pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_13 thumb_func_start sub_8180900 sub_8180900: @ 8180900 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x4 adds r4, r0, 0 bl sub_817F70C ldrh r1, [r4, 0x2E] lsls r1, 24 lsrs r1, 24 ldr r2, =gUnknown_03001240 lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r2 ldrh r1, [r0, 0x6] str r1, [sp] ldr r5, =gUnknown_0860AD8E movs r3, 0x36 ldrsh r2, [r4, r3] lsls r1, r2, 1 adds r1, r2 movs r3, 0x8 ldrsh r2, [r0, r3] lsls r0, r2, 1 adds r0, r2 lsls r6, r0, 3 adds r1, r6 adds r2, r1, r5 adds r0, r5, 0x1 adds r1, r0 movs r0, 0 ldrsb r0, [r1, r0] ldrb r2, [r2] lsls r2, 24 asrs r2, 24 mov r9, r2 subs r0, r2 lsls r0, 16 lsrs r0, 16 mov r10, r0 ldrh r7, [r4, 0x34] movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _0818096C adds r0, r4, 0 bl sub_817F670 ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] _0818096C: movs r2, 0x36 ldrsh r1, [r4, r2] lsls r0, r1, 1 adds r0, r1 adds r0, r6 adds r5, 0x2 mov r8, r5 adds r1, r0, r5 movs r5, 0 ldrsb r5, [r1, r5] cmp r5, 0 bne _081809B0 movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 strh r5, [r4, 0x24] strh r5, [r4, 0x26] adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _08180A3A .pool _081809B0: lsls r0, r7, 16 asrs r5, r0, 16 lsls r0, r5, 7 ldrb r1, [r1] lsls r1, 24 asrs r1, 24 bl __divsi3 lsls r0, 16 asrs r0, 16 movs r1, 0xA bl Sin negs r0, r0 strh r0, [r4, 0x26] mov r3, r10 lsls r0, r3, 16 asrs r0, 16 muls r0, r5 movs r1, 0x36 ldrsh r2, [r4, r1] lsls r1, r2, 1 adds r1, r2 adds r1, r6 add r1, r8 ldrb r1, [r1] lsls r1, 24 asrs r1, 24 bl __divsi3 add r0, r9 strh r0, [r4, 0x24] ldr r2, [sp] lsls r0, r2, 16 asrs r0, 16 movs r3, 0x24 ldrsh r1, [r4, r3] muls r0, r1 negs r0, r0 cmp r0, 0 bge _08180A04 adds r0, 0x7 _08180A04: lsls r3, r0, 13 lsrs r3, 16 movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 movs r0, 0x36 ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 adds r0, r6 add r0, r8 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r5, r0 bne _08180A34 ldrh r0, [r4, 0x36] adds r0, 0x1 strh r0, [r4, 0x36] movs r0, 0 b _08180A38 _08180A34: ldrh r0, [r4, 0x34] adds r0, 0x1 _08180A38: strh r0, [r4, 0x34] _08180A3A: adds r0, r4, 0 bl sub_817F70C add sp, 0x4 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8180900 thumb_func_start pokemonanimfunc_05 pokemonanimfunc_05: @ 8180A50 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, 5 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_05 thumb_func_start pokemonanimfunc_20 pokemonanimfunc_20: @ 8180A8C push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _08180AA8 ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 adds r0, r1 strh r0, [r4, 0x3C] _08180AA8: movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0x80 ble _08180ACC ldrh r0, [r4, 0x3C] ldr r3, =0x000002df movs r1, 0x10 movs r2, 0 bl BlendPalette ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _08180AE8 .pool _08180ACC: movs r2, 0x32 ldrsh r0, [r4, r2] 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, =0x000002df movs r1, 0x10 bl BlendPalette _08180AE8: ldrh r0, [r4, 0x32] adds r0, 0x2 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_20 thumb_func_start pokemonanimfunc_21 pokemonanimfunc_21: @ 8180AF8 push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _08180B14 ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 adds r0, r1 strh r0, [r4, 0x3C] _08180B14: movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0x80 ble _08180B34 ldrh r0, [r4, 0x3C] movs r1, 0x10 movs r2, 0 movs r3, 0x1F bl BlendPalette ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _08180B50 .pool _08180B34: movs r2, 0x32 ldrsh r0, [r4, r2] movs r1, 0xC bl Sin adds r2, r0, 0 strh r2, [r4, 0x3A] ldrh r0, [r4, 0x3C] lsls r2, 24 lsrs r2, 24 movs r1, 0x10 movs r3, 0x1F bl BlendPalette _08180B50: ldrh r0, [r4, 0x32] adds r0, 0x2 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_21 thumb_func_start pokemonanimfunc_22 pokemonanimfunc_22: @ 8180B5C push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _08180B78 ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 adds r0, r1 strh r0, [r4, 0x3C] _08180B78: movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0x80 ble _08180B98 ldrh r0, [r4, 0x3C] movs r3, 0xF8 lsls r3, 7 movs r1, 0x10 movs r2, 0 bl BlendPalette ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _08180BB6 .pool _08180B98: movs r2, 0x32 ldrsh r0, [r4, r2] movs r1, 0xC bl Sin adds r2, r0, 0 strh r2, [r4, 0x3A] ldrh r0, [r4, 0x3C] lsls r2, 24 lsrs r2, 24 movs r3, 0xF8 lsls r3, 7 movs r1, 0x10 bl BlendPalette _08180BB6: ldrh r0, [r4, 0x32] adds r0, 0x2 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_22 thumb_func_start pokemonanimfunc_23 pokemonanimfunc_23: @ 8180BC4 push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _08180BE0 ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 adds r0, r1 strh r0, [r4, 0x3C] _08180BE0: movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0x80 ble _08180C04 ldrh r0, [r4, 0x3C] ldr r3, =0x000003ff movs r1, 0x10 movs r2, 0 bl BlendPalette ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _08180C20 .pool _08180C04: movs r2, 0x32 ldrsh r0, [r4, r2] 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, =0x000003ff movs r1, 0x10 bl BlendPalette _08180C20: ldrh r0, [r4, 0x32] adds r0, 0x2 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_23 thumb_func_start pokemonanimfunc_24 pokemonanimfunc_24: @ 8180C30 push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _08180C4C ldrb r0, [r4, 0x5] lsrs r0, 4 lsls r0, 4 movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 adds r0, r1 strh r0, [r4, 0x3C] _08180C4C: movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0x80 ble _08180C70 ldrh r0, [r4, 0x3C] ldr r3, =0x00006018 movs r1, 0x10 movs r2, 0 bl BlendPalette ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _08180C8C .pool _08180C70: movs r2, 0x32 ldrsh r0, [r4, r2] 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, =0x00006018 movs r1, 0x10 bl BlendPalette _08180C8C: ldrh r0, [r4, 0x32] adds r0, 0x2 strh r0, [r4, 0x32] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_24 thumb_func_start pokemonanimfunc_25 pokemonanimfunc_25: @ 8180C9C push {r4,lr} adds r4, r0, 0 bl sub_817F670 ldr r0, =sub_8180CB4 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_25 thumb_func_start sub_8180CB4 sub_8180CB4: @ 8180CB4 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x24] adds r0, 0x1 strh r0, [r4, 0x24] lsls r0, 16 asrs r0, 16 cmp r0, 0x7 ble _08180CD6 movs r0, 0x8 strh r0, [r4, 0x24] movs r0, 0x2 strh r0, [r4, 0x3C] ldr r0, =sub_8180CE8 str r0, [r4, 0x1C] _08180CD6: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8180CB4 thumb_func_start sub_8180CE8 sub_8180CE8: @ 8180CE8 push {r4,r5,lr} adds r4, r0, 0 bl sub_817F70C ldrh r1, [r4, 0x24] ldrh r0, [r4, 0x3C] subs r1, r0 strh r1, [r4, 0x24] adds r0, 0x1 adds r2, r0, 0 strh r0, [r4, 0x3C] lsls r1, 16 cmp r1, 0 bgt _08180D32 lsls r0, r2, 24 lsrs r2, r0, 24 movs r0, 0 strh r0, [r4, 0x3A] ldrh r1, [r4, 0x24] ldr r5, =sub_8180D44 movs r3, 0x8 negs r3, r3 _08180D14: subs r0, r1, r2 lsls r0, 16 ldrh r1, [r4, 0x3A] adds r1, 0x1 strh r1, [r4, 0x3A] adds r1, r2, 0x1 lsls r1, 24 lsrs r2, r1, 24 lsrs r1, r0, 16 asrs r0, 16 cmp r0, r3 bgt _08180D14 movs r0, 0x1 strh r0, [r4, 0x38] str r5, [r4, 0x1C] _08180D32: adds r0, r4, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8180CE8 thumb_func_start sub_8180D44 sub_8180D44: @ 8180D44 push {r4,r5,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x24] ldrh r1, [r4, 0x3C] subs r0, r1 strh r0, [r4, 0x24] adds r1, 0x1 strh r1, [r4, 0x3C] movs r0, 0x38 ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 1 movs r2, 0x3A ldrsh r1, [r4, r2] bl __divsi3 lsls r0, 24 lsrs r5, r0, 24 ldrh r0, [r4, 0x38] adds r0, 0x1 strh r0, [r4, 0x38] lsls r0, 16 asrs r0, 16 ldrh r2, [r4, 0x3A] movs r3, 0x3A ldrsh r1, [r4, r3] cmp r0, r1 ble _08180D84 strh r2, [r4, 0x38] _08180D84: movs r2, 0x80 lsls r2, 1 lsls r3, r5, 8 adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 movs r1, 0x24 ldrsh r0, [r4, r1] movs r1, 0x8 negs r1, r1 cmp r0, r1 bge _08180DAE strh r1, [r4, 0x24] movs r0, 0x2 strh r0, [r4, 0x36] movs r0, 0 strh r0, [r4, 0x34] strh r5, [r4, 0x32] ldr r0, =sub_8180DC0 str r0, [r4, 0x1C] _08180DAE: adds r0, r4, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8180D44 thumb_func_start sub_8180DC0 sub_8180DC0: @ 8180DC0 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r1, [r4, 0x34] movs r2, 0x34 ldrsh r0, [r4, r2] cmp r0, 0xB ble _08180E08 ldrh r0, [r4, 0x32] subs r0, 0x2 strh r0, [r4, 0x32] lsls r0, 16 cmp r0, 0 bge _08180DE2 movs r0, 0 strh r0, [r4, 0x32] _08180DE2: movs r2, 0x80 lsls r2, 1 ldrh r3, [r4, 0x32] lsls r3, 24 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _08180E1C ldr r0, =sub_8180E28 str r0, [r4, 0x1C] b _08180E1C .pool _08180E08: ldrh r0, [r4, 0x36] ldrh r2, [r4, 0x24] adds r0, r2 strh r0, [r4, 0x24] movs r2, 0x36 ldrsh r0, [r4, r2] negs r0, r0 strh r0, [r4, 0x36] adds r0, r1, 0x1 strh r0, [r4, 0x34] _08180E1C: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 thumb_func_end sub_8180DC0 thumb_func_start sub_8180E28 sub_8180E28: @ 8180E28 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x24] adds r0, 0x2 strh r0, [r4, 0x24] lsls r0, 16 cmp r0, 0 ble _08180E4A movs r0, 0 strh r0, [r4, 0x24] adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] _08180E4A: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8180E28 thumb_func_start pokemonanimfunc_26 pokemonanimfunc_26: @ 8180E5C push {r4,lr} adds r4, r0, 0 bl sub_817F670 movs r0, 0 strh r0, [r4, 0x34] ldr r0, =sub_8180E78 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_26 thumb_func_start sub_8180E78 sub_8180E78: @ 8180E78 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x24] adds r0, 0x1 strh r0, [r4, 0x24] ldrh r0, [r4, 0x26] subs r0, 0x1 strh r0, [r4, 0x26] ldrh r0, [r4, 0x24] movs r1, 0x1 ands r0, r1 cmp r0, 0 bne _08180EA2 movs r1, 0x34 ldrsh r0, [r4, r1] cmp r0, 0 bgt _08180EA2 movs r0, 0xA strh r0, [r4, 0x34] _08180EA2: movs r1, 0x24 ldrsh r0, [r4, r1] cmp r0, 0x7 ble _08180EBA movs r1, 0 movs r0, 0x8 strh r0, [r4, 0x24] ldr r0, =0x0000fff8 strh r0, [r4, 0x26] strh r1, [r4, 0x36] ldr r0, =sub_8180ED0 str r0, [r4, 0x1C] _08180EBA: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8180E78 thumb_func_start sub_8180ED0 sub_8180ED0: @ 8180ED0 push {r4,lr} adds r4, r0, 0 bl sub_817F70C movs r1, 0x36 ldrsh r0, [r4, r1] movs r1, 0x10 bl Cos subs r0, 0x8 strh r0, [r4, 0x24] movs r1, 0x36 ldrsh r0, [r4, r1] movs r1, 0x10 bl Sin subs r0, 0x8 strh r0, [r4, 0x26] movs r1, 0x36 ldrsh r0, [r4, r1] cmp r0, 0x3F ble _08180F08 movs r0, 0xA0 strh r0, [r4, 0x32] movs r0, 0xA strh r0, [r4, 0x34] ldr r0, =sub_8180F2C str r0, [r4, 0x1C] _08180F08: ldrh r0, [r4, 0x36] adds r0, 0x8 strh r0, [r4, 0x36] lsls r0, 16 asrs r0, 16 cmp r0, 0x40 ble _08180F1A movs r0, 0x40 strh r0, [r4, 0x36] _08180F1A: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8180ED0 thumb_func_start sub_8180F2C sub_8180F2C: @ 8180F2C push {r4,r5,lr} adds r4, r0, 0 bl sub_817F70C ldrh r1, [r4, 0x34] movs r2, 0x34 ldrsh r0, [r4, r2] cmp r0, 0 ble _08180F44 subs r0, r1, 0x1 strh r0, [r4, 0x34] b _08180F96 _08180F44: movs r1, 0x32 ldrsh r0, [r4, r1] movs r1, 0x5 bl Cos subs r0, 0x4 movs r5, 0 strh r0, [r4, 0x24] movs r2, 0x32 ldrsh r0, [r4, r2] movs r1, 0x5 bl Sin negs r0, r0 adds r0, 0x4 strh r0, [r4, 0x26] ldrh r0, [r4, 0x32] subs r0, 0x4 strh r0, [r4, 0x32] movs r0, 0x32 ldrsh r3, [r4, r0] subs r3, 0x20 movs r2, 0x80 lsls r2, 1 lsls r3, 25 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0x20 bgt _08180F96 strh r5, [r4, 0x24] strh r5, [r4, 0x26] adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] _08180F96: adds r0, r4, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8180F2C thumb_func_start pokemonanimfunc_27 pokemonanimfunc_27: @ 8180FA8 push {r4,lr} adds r3, r0, 0 ldrh r1, [r3, 0x34] movs r2, 0x34 ldrsh r0, [r3, r2] cmp r0, 0 ble _08180FBA subs r0, r1, 0x1 b _08180FFE _08180FBA: movs r2, 0 movs r1, 0x36 ldrsh r0, [r3, r1] cmp r0, 0 bne _08180FC6 movs r2, 0x1 _08180FC6: strh r2, [r3, 0x36] movs r0, 0x3E adds r0, r3 mov r12, r0 lsls r2, 2 ldrb r1, [r0] movs r4, 0x5 negs r4, r4 adds r0, r4, 0 ands r0, r1 orrs r0, r2 mov r1, r12 strb r0, [r1] ldrh r0, [r3, 0x32] adds r0, 0x1 strh r0, [r3, 0x32] lsls r0, 16 asrs r0, 16 cmp r0, 0x13 ble _08180FFC ldrb r0, [r1] adds r1, r4, 0 ands r1, r0 mov r2, r12 strb r1, [r2] ldr r0, =sub_8184D88 str r0, [r3, 0x1C] _08180FFC: movs r0, 0x2 _08180FFE: strh r0, [r3, 0x34] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_27 thumb_func_start pokemonanimfunc_28 pokemonanimfunc_28: @ 818100C push {r4,lr} adds r4, r0, 0 bl sub_817F670 ldr r0, =sub_8181024 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_28 thumb_func_start sub_8181024 sub_8181024: @ 8181024 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x24] subs r0, 0x1 strh r0, [r4, 0x24] ldrh r1, [r4, 0x26] adds r1, 0x1 strh r1, [r4, 0x26] lsls r0, 16 asrs r0, 16 movs r1, 0x10 negs r1, r1 cmp r0, r1 bgt _08181054 ldr r0, =0x0000fff0 strh r0, [r4, 0x24] movs r0, 0x10 strh r0, [r4, 0x26] ldr r0, =sub_8181068 str r0, [r4, 0x1C] movs r0, 0xA0 strh r0, [r4, 0x32] _08181054: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8181024 thumb_func_start sub_8181068 sub_8181068: @ 8181068 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x32] subs r0, 0x4 strh r0, [r4, 0x32] movs r1, 0x32 ldrsh r0, [r4, r1] movs r1, 0x16 bl Cos strh r0, [r4, 0x24] movs r1, 0x32 ldrsh r0, [r4, r1] movs r1, 0x16 bl Sin negs r0, r0 strh r0, [r4, 0x26] movs r0, 0x32 ldrsh r3, [r4, r0] subs r3, 0x20 movs r2, 0x80 lsls r2, 1 lsls r3, 25 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0x20 bgt _081810B2 ldr r0, =sub_81810C4 str r0, [r4, 0x1C] _081810B2: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8181068 thumb_func_start sub_81810C4 sub_81810C4: @ 81810C4 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r1, [r4, 0x24] subs r1, 0x1 strh r1, [r4, 0x24] ldrh r0, [r4, 0x26] adds r0, 0x1 strh r0, [r4, 0x26] lsls r1, 16 cmp r1, 0 bgt _081810E8 adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] _081810E8: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81810C4 thumb_func_start pokemonanimfunc_29 pokemonanimfunc_29: @ 81810F8 push {r4,lr} adds r4, r0, 0 bl sub_817F670 ldr r0, =sub_8181110 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_29 thumb_func_start sub_8181110 sub_8181110: @ 8181110 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r1, [r4, 0x24] adds r1, 0x1 strh r1, [r4, 0x24] ldrh r0, [r4, 0x26] subs r0, 0x1 strh r0, [r4, 0x26] lsls r1, 16 asrs r1, 16 cmp r1, 0xF ble _08181134 movs r0, 0 strh r0, [r4, 0x32] ldr r0, =sub_8181144 str r0, [r4, 0x1C] _08181134: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8181110 thumb_func_start sub_8181144 sub_8181144: @ 8181144 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x32] adds r0, 0x10 strh r0, [r4, 0x32] ldrh r2, [r4, 0x24] movs r0, 0x24 ldrsh r1, [r4, r0] movs r0, 0x10 negs r0, r0 cmp r1, r0 bgt _0818117C ldr r0, =0x0000fff0 strh r0, [r4, 0x24] movs r0, 0x10 strh r0, [r4, 0x26] movs r0, 0 strh r0, [r4, 0x32] ldr r0, =sub_81811A4 str r0, [r4, 0x1C] b _08181186 .pool _0818117C: subs r0, r2, 0x2 strh r0, [r4, 0x24] ldrh r0, [r4, 0x26] adds r0, 0x2 strh r0, [r4, 0x26] _08181186: movs r2, 0x80 lsls r2, 1 ldrh r3, [r4, 0x32] lsls r3, 24 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 thumb_func_end sub_8181144 thumb_func_start sub_81811A4 sub_81811A4: @ 81811A4 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r1, [r4, 0x24] adds r1, 0x1 movs r2, 0 strh r1, [r4, 0x24] ldrh r0, [r4, 0x26] subs r0, 0x1 strh r0, [r4, 0x26] lsls r1, 16 cmp r1, 0 blt _081811CE strh r2, [r4, 0x24] strh r2, [r4, 0x26] adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] _081811CE: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81811A4 thumb_func_start pokemonanimfunc_2A pokemonanimfunc_2A: @ 81811E0 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, 0x2] 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_2A thumb_func_start sub_8181214 sub_8181214: @ 8181214 push {r4-r6,lr} adds r4, r0, 0 ldr r6, =gUnknown_03001240 movs r0, 0x2E ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r1, r0, r6 ldrh r0, [r1] cmp r0, 0 beq _08181238 subs r0, 0x1 strh r0, [r1] b _0818134A .pool _08181238: adds r0, r4, 0 bl sub_817F70C ldrh r0, [r4, 0x32] movs r1, 0x32 ldrsh r5, [r4, r1] cmp r5, 0 bne _08181270 adds r0, 0x1 strh r0, [r4, 0x32] adds r0, r4, 0 bl sub_817F670 movs r2, 0x2E ldrsh r1, [r4, r2] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r6 ldrh r0, [r0, 0x2] strh r0, [r4, 0x3C] ldr r0, =0x0000ffff strh r0, [r4, 0x34] movs r0, 0x1 negs r0, r0 strh r0, [r4, 0x36] strh r5, [r4, 0x38] strh r5, [r4, 0x3A] _08181270: movs r3, 0x3C ldrsh r1, [r4, r3] movs r6, 0x34 ldrsh r0, [r4, r6] lsls r0, 1 muls r1, r0 ldrh r0, [r4, 0x24] adds r1, r0 strh r1, [r4, 0x24] ldrh r2, [r4, 0x3C] ldrh r0, [r4, 0x36] adds r3, r0, 0 muls r3, r2 adds r0, r3, 0 ldrh r6, [r4, 0x26] adds r2, r0, r6 strh r2, [r4, 0x26] ldrh r0, [r4, 0x3A] adds r0, 0x8 strh r0, [r4, 0x3A] adds r1, 0xF lsls r1, 16 lsrs r1, 16 cmp r1, 0x1E bls _081812B8 movs r1, 0x34 ldrsh r0, [r4, r1] lsls r0, 4 strh r0, [r4, 0x24] movs r2, 0x34 ldrsh r0, [r4, r2] negs r0, r0 strh r0, [r4, 0x34] b _081812D4 .pool _081812B8: adds r0, r2, 0 adds r0, 0xF lsls r0, 16 lsrs r0, 16 cmp r0, 0x1E bls _081812DA movs r3, 0x36 ldrsh r0, [r4, r3] lsls r0, 4 strh r0, [r4, 0x26] movs r6, 0x36 ldrsh r0, [r4, r6] negs r0, r0 strh r0, [r4, 0x36] _081812D4: ldrh r0, [r4, 0x38] adds r0, 0x1 strh r0, [r4, 0x38] _081812DA: movs r1, 0x38 ldrsh r0, [r4, r1] cmp r0, 0x5 ble _08181332 movs r2, 0x24 ldrsh r0, [r4, r2] cmp r0, 0 bgt _08181332 movs r3, 0 strh r3, [r4, 0x24] strh r3, [r4, 0x26] ldr r5, =gUnknown_03001240 movs r6, 0x2E ldrsh r0, [r4, r6] lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r5 ldrh r2, [r1, 0x4] movs r6, 0x4 ldrsh r0, [r1, r6] cmp r0, 0x1 ble _08181328 subs r0, r2, 0x1 strh r0, [r1, 0x4] strh r3, [r4, 0x38] strh r3, [r4, 0x3A] movs r0, 0x2E ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r5 movs r1, 0xA strh r1, [r0] b _08181332 .pool _08181328: adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] _08181332: movs r2, 0x80 lsls r2, 1 ldrh r3, [r4, 0x3A] lsls r3, 24 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 adds r0, r4, 0 bl sub_817F70C _0818134A: pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8181214 thumb_func_start pokemonanimfunc_2B pokemonanimfunc_2B: @ 8181354 push {r4,lr} adds r4, r0, 0 bl sub_817F670 movs r0, 0 strh r0, [r4, 0x3A] strh r0, [r4, 0x3C] ldr r0, =sub_8181370 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_2B thumb_func_start sub_8181370 sub_8181370: @ 8181370 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x3A] adds r0, 0x4 strh r0, [r4, 0x3A] movs r1, 0x3A ldrsh r0, [r4, r1] movs r1, 0x10 bl Sin negs r0, r0 strh r0, [r4, 0x24] movs r1, 0x3A ldrsh r0, [r4, r1] lsls r0, 1 movs r1, 0xFF ands r0, r1 movs r1, 0x8 bl Sin negs r0, r0 strh r0, [r4, 0x26] movs r1, 0x3A ldrsh r0, [r4, r1] cmp r0, 0xC0 ble _081813BA movs r1, 0x3C ldrsh r0, [r4, r1] cmp r0, 0x1 bne _081813BA movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 b _081813D2 _081813BA: movs r1, 0x3A ldrsh r0, [r4, r1] cmp r0, 0x40 ble _081813DE movs r1, 0x3C ldrsh r0, [r4, r1] cmp r0, 0 bne _081813DE ldr r1, =0xffffff00 movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 _081813D2: movs r3, 0 bl sub_817F6D4 ldrh r0, [r4, 0x3C] adds r0, 0x1 strh r0, [r4, 0x3C] _081813DE: movs r1, 0x3A ldrsh r0, [r4, r1] cmp r0, 0xFF ble _08181404 movs r0, 0 strh r0, [r4, 0x24] strh r0, [r4, 0x26] movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] _08181404: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8181370 thumb_func_start pokemonanimfunc_2C pokemonanimfunc_2C: @ 8181418 push {r4,lr} adds r4, r0, 0 ldrh r0, [r4, 0x32] adds r0, 0x1 movs r2, 0 strh r0, [r4, 0x32] lsls r0, 16 asrs r0, 16 cmp r0, 0x1 bne _08181442 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] strh r2, [r4, 0x3A] strh r2, [r4, 0x38] strh r2, [r4, 0x36] _08181442: ldr r1, =gUnknown_0860AA64 movs r2, 0x3A ldrsh r0, [r4, r2] lsls r2, r0, 1 adds r0, r1, 0x1 adds r0, r2, r0 ldrb r0, [r0] cmp r0, 0xFF bne _08181464 ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _081814CE .pool _08181464: movs r3, 0x36 ldrsh r0, [r4, r3] cmp r0, 0x1 bne _0818149A adds r0, r2, r1 ldrb r0, [r0] cmp r0, 0 beq _08181488 ldrh r0, [r4, 0x3C] ldr r3, =0x000003ff movs r1, 0x10 movs r2, 0x10 bl BlendPalette b _08181494 .pool _08181488: ldrh r0, [r4, 0x3C] ldr r3, =0x000003ff movs r1, 0x10 movs r2, 0 bl BlendPalette _08181494: movs r0, 0 strh r0, [r4, 0x36] ldr r1, =gUnknown_0860AA64 _0818149A: movs r2, 0x3A ldrsh r0, [r4, r2] lsls r0, 1 adds r1, 0x1 adds r0, r1 ldrb r1, [r0] movs r3, 0x38 ldrsh r0, [r4, r3] cmp r1, r0 bne _081814C8 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 _081814CE .pool _081814C8: ldrh r0, [r4, 0x38] adds r0, 0x1 strh r0, [r4, 0x38] _081814CE: pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_2C thumb_func_start sub_81814D4 sub_81814D4: @ 81814D4 push {r4-r6,lr} adds r6, r0, 0 movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0 bne _081814E6 adds r0, r6, 0 bl sub_817F670 _081814E6: adds r0, r6, 0 bl sub_817F70C ldr r4, =gUnknown_03001240 movs r3, 0x2E ldrsh r1, [r6, r3] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r2, r0, r4 movs r0, 0x32 ldrsh r1, [r6, r0] movs r3, 0x8 ldrsh r0, [r2, r3] cmp r1, r0 ble _0818154C movs r2, 0x80 lsls r2, 1 adds r0, r6, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 movs r3, 0 strh r3, [r6, 0x24] movs r0, 0x2E ldrsh r1, [r6, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r1, r0, r4 ldrh r2, [r1, 0x4] movs r4, 0x4 ldrsh r0, [r1, r4] cmp r0, 0x1 ble _0818153C subs r0, r2, 0x1 strh r0, [r1, 0x4] strh r3, [r6, 0x32] b _08181588 .pool _0818153C: adds r0, r6, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r6, 0x1C] b _08181588 .pool _0818154C: movs r1, 0x32 ldrsh r0, [r6, r1] lsls r0, 8 movs r3, 0x8 ldrsh r1, [r2, r3] bl __divsi3 adds r4, r0, 0 lsls r4, 16 asrs r4, 16 adds r0, r4, 0 movs r1, 0xA bl Sin negs r0, r0 strh r0, [r6, 0x24] movs r5, 0x80 lsls r5, 1 ldr r1, =0x00000ccc adds r0, r4, 0 bl Sin adds r3, r0, 0 lsls r3, 16 lsrs r3, 16 adds r0, r6, 0 adds r1, r5, 0 adds r2, r5, 0 bl sub_817F6D4 _08181588: ldrh r0, [r6, 0x32] adds r0, 0x1 strh r0, [r6, 0x32] adds r0, r6, 0 bl sub_817F70C pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_81814D4 thumb_func_start pokemonanimfunc_2D pokemonanimfunc_2D: @ 81815A0 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] 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_2D thumb_func_start sub_81815D4 sub_81815D4: @ 81815D4 push {r4-r6,lr} adds r6, r0, 0 movs r1, 0x32 ldrsh r0, [r6, r1] cmp r0, 0 bne _081815E6 adds r0, r6, 0 bl sub_817F670 _081815E6: adds r0, r6, 0 bl sub_817F70C ldr r4, =gUnknown_03001240 movs r3, 0x2E ldrsh r1, [r6, r3] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r2, r0, r4 movs r0, 0x32 ldrsh r1, [r6, r0] movs r3, 0x8 ldrsh r0, [r2, r3] cmp r1, r0 ble _0818164C movs r2, 0x80 lsls r2, 1 adds r0, r6, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 movs r3, 0 strh r3, [r6, 0x24] movs r0, 0x2E ldrsh r1, [r6, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r1, r0, r4 ldrh r2, [r1, 0x4] movs r4, 0x4 ldrsh r0, [r1, r4] cmp r0, 0x1 ble _0818163C subs r0, r2, 0x1 strh r0, [r1, 0x4] strh r3, [r6, 0x32] b _0818168A .pool _0818163C: adds r0, r6, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r6, 0x1C] b _0818168A .pool _0818164C: movs r1, 0x32 ldrsh r0, [r6, r1] lsls r0, 8 movs r3, 0x8 ldrsh r1, [r2, r3] bl __divsi3 adds r4, r0, 0 lsls r4, 16 asrs r4, 16 adds r0, r4, 0 movs r1, 0xA bl Sin negs r0, r0 strh r0, [r6, 0x24] movs r5, 0x80 lsls r5, 1 ldr r1, =0x00000ccc adds r0, r4, 0 bl Sin adds r3, r0, 0 negs r3, r3 lsls r3, 16 lsrs r3, 16 adds r0, r6, 0 adds r1, r5, 0 adds r2, r5, 0 bl sub_817F6D4 _0818168A: ldrh r0, [r6, 0x32] adds r0, 0x1 strh r0, [r6, 0x32] adds r0, r6, 0 bl sub_817F70C pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_81815D4 thumb_func_start pokemonanimfunc_2E pokemonanimfunc_2E: @ 81816A0 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] 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_2E thumb_func_start pokemonanimfunc_2F pokemonanimfunc_2F: @ 81816D4 push {r4,lr} adds r4, r0, 0 bl sub_817F670 adds r0, r4, 0 adds r0, 0x28 movs r1, 0 ldrsb r1, [r0, r1] lsls r0, r1, 3 subs r0, r1 lsls r0, 1 movs r1, 0xA bl __divsi3 negs r0, r0 strh r0, [r4, 0x3A] movs r0, 0x80 strh r0, [r4, 0x3C] ldr r0, =sub_8181708 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_2F thumb_func_start sub_8181708 sub_8181708: @ 8181708 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x3C] subs r0, 0x1 strh r0, [r4, 0x3C] movs r1, 0x3C ldrsh r0, [r4, r1] movs r2, 0x3A ldrsh r1, [r4, r2] bl Cos ldrh r1, [r4, 0x3A] adds r0, r1 strh r0, [r4, 0x24] movs r2, 0x3C ldrsh r0, [r4, r2] movs r2, 0x3A ldrsh r1, [r4, r2] bl Sin negs r0, r0 strh r0, [r4, 0x26] movs r2, 0x80 lsls r2, 1 ldrh r3, [r4, 0x3C] subs r3, 0x80 lsls r3, 24 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 movs r1, 0x3C ldrsh r0, [r4, r1] cmp r0, 0x78 bgt _08181760 movs r0, 0x78 strh r0, [r4, 0x3C] movs r0, 0 strh r0, [r4, 0x34] ldr r0, =sub_8181770 str r0, [r4, 0x1C] _08181760: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8181708 thumb_func_start sub_8181770 sub_8181770: @ 8181770 push {lr} adds r1, r0, 0 movs r2, 0x34 ldrsh r0, [r1, r2] cmp r0, 0x14 bne _08181784 ldr r0, =sub_8181794 str r0, [r1, 0x1C] movs r0, 0 strh r0, [r1, 0x34] _08181784: ldrh r0, [r1, 0x34] adds r0, 0x1 strh r0, [r1, 0x34] pop {r0} bx r0 .pool thumb_func_end sub_8181770 thumb_func_start sub_8181794 sub_8181794: @ 8181794 push {r4-r6,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x3C] adds r0, 0x2 movs r6, 0 strh r0, [r4, 0x3C] movs r1, 0x3C ldrsh r0, [r4, r1] movs r2, 0x3A ldrsh r1, [r4, r2] bl Cos ldrh r1, [r4, 0x3A] adds r0, r1 strh r0, [r4, 0x24] movs r2, 0x3C ldrsh r0, [r4, r2] movs r2, 0x3A ldrsh r1, [r4, r2] bl Sin negs r0, r0 strh r0, [r4, 0x26] movs r5, 0x80 lsls r5, 1 ldrh r3, [r4, 0x3C] subs r3, 0x80 lsls r3, 24 lsrs r3, 16 adds r0, r4, 0 adds r1, r5, 0 adds r2, r5, 0 bl sub_817F6D4 movs r1, 0x3C ldrsh r0, [r4, r1] cmp r0, 0x7F ble _08181800 strh r6, [r4, 0x24] strh r6, [r4, 0x26] adds r0, r4, 0 adds r1, r5, 0 adds r2, r5, 0 movs r3, 0 bl sub_817F6D4 strh r6, [r4, 0x32] adds r0, r4, 0 bl sub_817F77C ldr r0, =pokemonanimfunc_10 str r0, [r4, 0x1C] _08181800: adds r0, r4, 0 bl sub_817F70C pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8181794 thumb_func_start sub_8181810 sub_8181810: @ 8181810 push {r4-r6,lr} adds r5, r0, 0 ldr r4, =gUnknown_03001240 movs r0, 0x2E ldrsh r1, [r5, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r1, r0, r4 ldrh r0, [r1] adds r6, r0, 0 cmp r6, 0 beq _08181834 subs r0, 0x1 strh r0, [r1] b _08181950 .pool _08181834: movs r1, 0x32 ldrsh r0, [r5, r1] cmp r0, 0 bne _0818184A adds r0, r5, 0 bl sub_817F670 strh r6, [r5, 0x36] strh r6, [r5, 0x38] movs r0, 0x1 strh r0, [r5, 0x32] _0818184A: movs r3, 0x38 ldrsh r0, [r5, r3] cmp r0, 0 bne _081818A2 movs r1, 0x36 ldrsh r0, [r5, r1] movs r4, 0x80 lsls r4, 1 adds r1, r4, 0 bl Sin strh r0, [r5, 0x3C] movs r3, 0x36 ldrsh r0, [r5, r3] movs r1, 0x10 bl Sin strh r0, [r5, 0x26] movs r1, 0x36 ldrsh r0, [r5, r1] movs r1, 0x20 bl Sin adds r1, r0, 0 strh r1, [r5, 0x3A] subs r1, r4, r1 lsls r1, 16 asrs r1, 16 ldrh r2, [r5, 0x3C] adds r2, r4 lsls r2, 16 asrs r2, 16 adds r0, r5, 0 movs r3, 0 bl sub_817F6D4 movs r3, 0x36 ldrsh r0, [r5, r3] cmp r0, 0x80 bne _0818193A strh r6, [r5, 0x36] movs r0, 0x1 strh r0, [r5, 0x38] b _0818193A _081818A2: cmp r0, 0x1 bne _0818193A movs r1, 0x36 ldrsh r0, [r5, r1] movs r1, 0x20 bl Sin strh r0, [r5, 0x3C] movs r3, 0x36 ldrsh r0, [r5, r3] movs r1, 0x8 bl Sin negs r0, r0 strh r0, [r5, 0x26] movs r1, 0x36 ldrsh r0, [r5, r1] movs r1, 0x80 bl Sin adds r1, r0, 0 strh r1, [r5, 0x3A] movs r3, 0x80 lsls r3, 1 adds r2, r3, 0 adds r1, r2 lsls r1, 16 asrs r1, 16 ldrh r0, [r5, 0x3C] subs r2, r0 lsls r2, 16 asrs r2, 16 adds r0, r5, 0 movs r3, 0 bl sub_817F6D4 movs r1, 0x36 ldrsh r0, [r5, r1] cmp r0, 0x80 bne _0818193A movs r3, 0x2E ldrsh r0, [r5, r3] lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r4 ldrh r2, [r1, 0x4] movs r3, 0x4 ldrsh r0, [r1, r3] cmp r0, 0x1 ble _08181922 subs r0, r2, 0x1 strh r0, [r1, 0x4] movs r0, 0x2E ldrsh r1, [r5, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r4 movs r1, 0xA strh r1, [r0] strh r6, [r5, 0x36] strh r6, [r5, 0x38] b _0818193A _08181922: movs r2, 0x80 lsls r2, 1 adds r0, r5, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 adds r0, r5, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r5, 0x1C] _0818193A: ldr r2, =gUnknown_03001240 movs r3, 0x2E ldrsh r1, [r5, r3] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r2 ldrh r0, [r0, 0x6] ldrh r1, [r5, 0x36] adds r0, r1 strh r0, [r5, 0x36] _08181950: pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8181810 thumb_func_start pokemonanimfunc_30 pokemonanimfunc_30: @ 8181960 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] 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_30 thumb_func_start pokemonanimfunc_31 pokemonanimfunc_31: @ 8181994 push {r4,r5,lr} adds r5, r0, 0 movs r0, 0x32 ldrsh r4, [r5, r0] adds r0, r5, 0 bl sub_817F70C movs r0, 0x80 lsls r0, 2 cmp r4, r0 ble _081819B8 ldr r0, =sub_8184D88 str r0, [r5, 0x1C] movs r0, 0 strh r0, [r5, 0x24] b _08181A62 .pool _081819B8: movs r1, 0x32 ldrsh r0, [r5, r1] cmp r0, 0 bge _081819C2 adds r0, 0x7F _081819C2: asrs r0, 7 cmp r0, 0x1 beq _081819F8 cmp r0, 0x1 bgt _081819D2 cmp r0, 0 beq _081819DC b _08181A48 _081819D2: cmp r0, 0x2 beq _08181A12 cmp r0, 0x3 beq _08181A2A b _08181A48 _081819DC: adds r0, r4, 0 cmp r4, 0 bge _081819E4 adds r0, 0x7F _081819E4: asrs r0, 7 lsls r0, 7 subs r0, r4, r0 lsls r0, 3 negs r0, r0 cmp r0, 0 bge _081819F4 adds r0, 0x7F _081819F4: asrs r0, 7 b _08181A46 _081819F8: adds r0, r4, 0 cmp r4, 0 bge _08181A00 adds r0, 0x7F _08181A00: asrs r0, 7 lsls r0, 7 subs r0, r4, r0 cmp r0, 0 bge _08181A0C adds r0, 0xF _08181A0C: asrs r0, 4 subs r0, 0x8 b _08181A46 _08181A12: adds r0, r4, 0 cmp r4, 0 bge _08181A1A adds r0, 0x7F _08181A1A: asrs r0, 7 lsls r0, 7 subs r0, r4, r0 cmp r0, 0 bge _08181A26 adds r0, 0xF _08181A26: asrs r0, 4 b _08181A46 _08181A2A: adds r0, r4, 0 cmp r4, 0 bge _08181A32 adds r0, 0x7F _08181A32: asrs r0, 7 lsls r0, 7 subs r0, r4, r0 lsls r0, 3 negs r0, r0 cmp r0, 0 bge _08181A42 adds r0, 0x7F _08181A42: asrs r0, 7 adds r0, 0x8 _08181A46: strh r0, [r5, 0x24] _08181A48: adds r0, r4, 0 cmp r4, 0 bge _08181A50 adds r0, 0x7F _08181A50: asrs r0, 7 lsls r0, 7 subs r0, r4, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x8 bl Sin negs r0, r0 _08181A62: strh r0, [r5, 0x26] ldrh r0, [r5, 0x32] adds r0, 0xC strh r0, [r5, 0x32] adds r0, r5, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 thumb_func_end pokemonanimfunc_31 thumb_func_start pokemonanimfunc_32 pokemonanimfunc_32: @ 8181A78 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 ldr r0, =0x0000ffff strh r0, [r1, 0x8] adds r0, r4, 0 bl sub_817F670 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_32 thumb_func_start sub_8181ABC sub_8181ABC: @ 8181ABC push {r4-r6,lr} adds r4, r0, 0 ldr r6, =gUnknown_03001240 movs r0, 0x2E ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r1, r0, r6 ldrh r0, [r1] adds r5, r0, 0 cmp r5, 0 beq _08181AE0 subs r0, 0x1 strh r0, [r1] b _08181B44 .pool _08181AE0: adds r0, r4, 0 bl sub_817F70C movs r1, 0x32 ldrsh r2, [r4, r1] adds r0, r2, 0 cmp r0, 0x80 ble _08181AFC strh r5, [r4, 0x32] ldr r0, =sub_8181B4C str r0, [r4, 0x1C] b _08181B3E .pool _08181AFC: movs r1, 0x2E ldrsh r0, [r4, r1] lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r6 movs r3, 0x8 ldrsh r0, [r1, r3] lsls r3, r0, 3 adds r0, r2, 0 cmp r2, 0 bge _08181B16 adds r0, 0x7F _08181B16: asrs r0, 7 lsls r0, 7 subs r1, r2, r0 adds r0, r3, 0 muls r0, r1 cmp r0, 0 bge _08181B26 adds r0, 0x7F _08181B26: asrs r0, 7 strh r0, [r4, 0x24] lsls r0, r1, 16 asrs r0, 16 movs r1, 0x8 bl Sin negs r0, r0 strh r0, [r4, 0x26] ldrh r0, [r4, 0x32] adds r0, 0xC strh r0, [r4, 0x32] _08181B3E: adds r0, r4, 0 bl sub_817F70C _08181B44: pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_8181ABC thumb_func_start sub_8181B4C sub_8181B4C: @ 8181B4C push {r4-r6,lr} adds r4, r0, 0 bl sub_817F70C movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0x30 ble _08181B7C movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 movs r0, 0 strh r0, [r4, 0x26] strh r0, [r4, 0x32] ldr r0, =sub_8181C2C str r0, [r4, 0x1C] b _08181C1A .pool _08181B7C: movs r2, 0x36 ldrsh r0, [r4, r2] movs r1, 0x40 bl Sin movs r1, 0x80 lsls r1, 1 adds r6, r1, 0 adds r0, r6 lsls r0, 16 lsrs r3, r0, 16 ldrh r0, [r4, 0x32] subs r0, 0x10 lsls r0, 16 lsrs r0, 16 cmp r0, 0xF bhi _08181BBA ldrh r0, [r4, 0x34] adds r0, 0x8 strh r0, [r4, 0x34] ldr r2, =gUnknown_03001240 movs r0, 0x2E ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r2 ldrh r1, [r4, 0x24] ldrh r0, [r0, 0x8] subs r1, r0 strh r1, [r4, 0x24] _08181BBA: movs r5, 0 lsls r1, r3, 16 asrs r2, r1, 16 lsls r0, r6, 16 asrs r0, 16 adds r6, r1, 0 cmp r2, r0 ble _08181BD6 subs r0, r2 cmp r0, 0 bge _08181BD2 adds r0, 0x7 _08181BD2: lsls r0, 13 lsrs r5, r0, 16 _08181BD6: movs r1, 0x34 ldrsh r0, [r4, r1] movs r1, 0x14 bl Sin negs r0, r0 lsls r1, r5, 16 asrs r1, 16 subs r0, r1 strh r0, [r4, 0x26] movs r2, 0x36 ldrsh r0, [r4, r2] movs r1, 0x20 bl Sin movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 subs r1, r0 lsls r1, 16 asrs r1, 16 asrs r2, r6, 16 adds r0, r4, 0 movs r3, 0 bl sub_817F6D4 ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] ldrh r0, [r4, 0x36] adds r0, 0x8 movs r1, 0xFF ands r0, r1 strh r0, [r4, 0x36] _08181C1A: adds r0, r4, 0 bl sub_817F70C pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8181B4C thumb_func_start sub_8181C2C sub_8181C2C: @ 8181C2C push {r4,r5,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r3, [r4, r0] cmp r3, 0x80 ble _08181C90 ldr r3, =gUnknown_03001240 movs r1, 0x2E ldrsh r0, [r4, r1] lsls r1, r0, 1 adds r1, r0 lsls r1, 2 adds r1, r3 ldrh r2, [r1, 0x4] movs r5, 0x4 ldrsh r0, [r1, r5] cmp r0, 0x1 ble _08181C7C subs r0, r2, 0x1 movs r2, 0 strh r0, [r1, 0x4] movs r0, 0x2E ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r3 movs r1, 0xA strh r1, [r0] strh r2, [r4, 0x34] strh r2, [r4, 0x32] strh r2, [r4, 0x36] ldr r0, =sub_8181ABC b _08181C84 .pool _08181C7C: adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 _08181C84: str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x24] b _08181CD0 .pool _08181C90: ldr r2, =gUnknown_03001240 movs r5, 0x2E ldrsh r1, [r4, r5] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r2 movs r1, 0x8 ldrsh r5, [r0, r1] lsls r1, r5, 3 adds r0, r3, 0 cmp r3, 0 bge _08181CAC adds r0, 0x7F _08181CAC: asrs r0, 7 lsls r0, 7 subs r2, r3, r0 adds r0, r1, 0 muls r0, r2 cmp r0, 0 bge _08181CBC adds r0, 0x7F _08181CBC: asrs r0, 7 lsls r1, r5, 3 subs r0, r1 strh r0, [r4, 0x24] lsls r0, r2, 16 asrs r0, 16 movs r1, 0x8 bl Sin negs r0, r0 _08181CD0: strh r0, [r4, 0x26] ldrh r0, [r4, 0x32] adds r0, 0xC strh r0, [r4, 0x32] adds r0, r4, 0 bl sub_817F70C pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8181C2C thumb_func_start sub_8181CE8 sub_8181CE8: @ 8181CE8 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _08181D00 adds r0, r4, 0 bl sub_817F670 ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] _08181D00: adds r0, r4, 0 bl sub_817F70C movs r3, 0x3C ldrsh r0, [r4, r3] cmp r0, 0xFE ble _08181D60 movs r5, 0 strh r5, [r4, 0x24] strh r5, [r4, 0x26] movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 ldr r2, =gUnknown_03001240 movs r0, 0x2E ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r1, r0, r2 ldrh r2, [r1, 0x4] movs r3, 0x4 ldrsh r0, [r1, r3] cmp r0, 0x1 ble _08181D48 subs r0, r2, 0x1 strh r0, [r1, 0x4] strh r5, [r4, 0x32] strh r5, [r4, 0x3C] b _08181D52 .pool _08181D48: adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] _08181D52: adds r0, r4, 0 bl sub_817F70C b _08181DA6 .pool _08181D60: movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x10 bl Sin negs r0, r0 strh r0, [r4, 0x24] movs r3, 0x3C ldrsh r0, [r4, r3] movs r1, 0x20 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 sub_817F6D4 ldr r2, =gUnknown_03001240 movs r0, 0x2E ldrsh r1, [r4, r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r2 ldrh r0, [r0, 0x6] ldrh r1, [r4, 0x3C] adds r0, r1 strh r0, [r4, 0x3C] adds r0, r4, 0 bl sub_817F70C _08181DA6: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8181CE8 thumb_func_start pokemonanimfunc_33 pokemonanimfunc_33: @ 8181DB0 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] 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_33 thumb_func_start pokemonanimfunc_34 pokemonanimfunc_34: @ 8181DE4 push {r4,lr} adds r4, r0, 0 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 bne _08181DFC adds r0, r4, 0 bl sub_817F670 ldrh r0, [r4, 0x32] adds r0, 0x1 strh r0, [r4, 0x32] _08181DFC: adds r0, r4, 0 bl sub_817F70C movs r1, 0x3C ldrsh r0, [r4, r1] cmp r0, 0xFE ble _08181E34 movs r0, 0 strh r0, [r4, 0x24] strh r0, [r4, 0x26] movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] adds r0, r4, 0 bl sub_817F70C b _08181E8A .pool _08181E34: movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x10 bl Sin negs r0, r0 strh r0, [r4, 0x24] movs r0, 0x3C ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _08181E4E adds r0, 0x7F _08181E4E: asrs r0, 7 lsls r0, 7 subs r0, r1, r0 lsls r0, 16 asrs r0, 16 movs r1, 0x10 bl Sin negs r0, r0 strh r0, [r4, 0x26] movs r1, 0x3C ldrsh r0, [r4, r1] movs r1, 0x20 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 sub_817F6D4 ldrh r0, [r4, 0x3C] adds r0, 0x8 strh r0, [r4, 0x3C] adds r0, r4, 0 bl sub_817F70C _08181E8A: pop {r4} pop {r0} bx r0 thumb_func_end pokemonanimfunc_34 thumb_func_start pokemonanimfunc_35 pokemonanimfunc_35: @ 8181E90 push {r4,r5,lr} adds r3, r0, 0 movs r1, 0x32 ldrsh r0, [r3, r1] cmp r0, 0 bne _08181E9E strh r0, [r3, 0x3C] _08181E9E: ldrh r4, [r3, 0x32] movs r5, 0x32 ldrsh r1, [r3, r5] ldrh r2, [r3, 0x3C] movs r5, 0x3C ldrsh r0, [r3, r5] cmp r1, r0 bne _08181EC8 movs r0, 0 strh r0, [r3, 0x3C] adds r0, r4, 0x1 strh r0, [r3, 0x32] adds r1, r3, 0 adds r1, 0x3E ldrb r2, [r1] movs r0, 0x5 negs r0, r0 ands r0, r2 strb r0, [r1] adds r2, r1, 0 b _08181ED8 _08181EC8: adds r0, r2, 0x1 strh r0, [r3, 0x3C] adds r2, r3, 0 adds r2, 0x3E ldrb r0, [r2] movs r1, 0x4 orrs r0, r1 strb r0, [r2] _08181ED8: movs r1, 0x32 ldrsh r0, [r3, r1] cmp r0, 0xA ble _08181EEE ldrb r0, [r2] movs r1, 0x5 negs r1, r1 ands r1, r0 strb r1, [r2] ldr r0, =sub_8184D88 str r0, [r3, 0x1C] _08181EEE: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_35 thumb_func_start pokemonanimfunc_36 pokemonanimfunc_36: @ 8181EF8 push {r4,lr} adds r4, r0, 0 bl sub_817F670 movs r0, 0 strh r0, [r4, 0x3C] ldr r0, =sub_8181F14 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .pool thumb_func_end pokemonanimfunc_36 thumb_func_start sub_8181F14 sub_8181F14: @ 8181F14 push {r4,lr} adds r4, r0, 0 ldrh r1, [r4, 0x3C] movs r2, 0x3C ldrsh r0, [r4, r2] cmp r0, 0x1F ble _08181F34 movs r0, 0 movs r1, 0x20 strh r1, [r4, 0x3C] strh r0, [r4, 0x32] ldr r0, =sub_8181F50 str r0, [r4, 0x1C] b _08181F38 .pool _08181F34: adds r0, r1, 0x4 strh r0, [r4, 0x3C] _08181F38: movs r2, 0x80 lsls r2, 1 ldrh r3, [r4, 0x3C] lsls r3, 24 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 pop {r4} pop {r0} bx r0 thumb_func_end sub_8181F14 thumb_func_start sub_8181F50 sub_8181F50: @ 8181F50 push {r4,lr} adds r4, r0, 0 bl sub_817F70C movs r0, 0x32 ldrsh r1, [r4, r0] movs r0, 0x80 lsls r0, 2 cmp r1, r0 ble _08181F74 ldr r0, =sub_8181FC0 str r0, [r4, 0x1C] movs r0, 0 strh r0, [r4, 0x3A] b _08181FAE .pool _08181F74: movs r1, 0x32 ldrsh r0, [r4, r1] lsls r0, 4 negs r0, r0 cmp r0, 0 bge _08181F84 ldr r1, =0x000001ff adds r0, r1 _08181F84: asrs r0, 9 strh r0, [r4, 0x24] movs r0, 0x32 ldrsh r1, [r4, r0] adds r0, r1, 0 cmp r1, 0 bge _08181F94 adds r0, 0x7F _08181F94: 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, 0xC strh r0, [r4, 0x32] _08181FAE: adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8181F50 thumb_func_start sub_8181FC0 sub_8181FC0: @ 8181FC0 push {r4,lr} adds r4, r0, 0 bl sub_817F70C ldrh r0, [r4, 0x3C] subs r0, 0x2 movs r1, 0 strh r0, [r4, 0x3C] lsls r0, 16 cmp r0, 0 bge _08181FEC strh r1, [r4, 0x3C] strh r1, [r4, 0x24] adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 str r0, [r4, 0x1C] b _08181FFE .pool _08181FEC: movs r1, 0x3C ldrsh r0, [r4, r1] lsls r0, 17 asrs r0, 16 movs r1, 0x10 bl Sin negs r0, r0 strh r0, [r4, 0x24] _08181FFE: movs r2, 0x80 lsls r2, 1 ldrh r3, [r4, 0x3C] lsls r3, 24 lsrs r3, 16 adds r0, r4, 0 adds r1, r2, 0 bl sub_817F6D4 adds r0, r4, 0 bl sub_817F70C pop {r4} pop {r0} bx r0 thumb_func_end sub_8181FC0 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 sub_817F670 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, =sub_8184D88 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 sub_817F6D4 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 sub_817F670 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 sub_817F6D4 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 sub_817F6D4 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 sub_817F6D4 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, =sub_8184D88 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 sub_817F6D4 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, =sub_8184D88 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 sub_817F670 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 sub_817F6D4 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 sub_817F6D4 adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 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 sub_817F6D4 _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 sub_817F670 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 sub_817F6D4 adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 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 sub_817F6D4 _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 sub_817F670 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 sub_817F6D4 adds r0, r4, 0 bl sub_817F77C ldr r0, =sub_8184D88 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 sub_817F6D4 _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 sub_817F670 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 sub_817F6D4 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 sub_817F6D4 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, =sub_8184D88 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 sub_817F6D4 _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 sub_817F6D4 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, =sub_8184D88 str r0, [r4, 0x1C] movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 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 sub_817F6D4 _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 sub_817F670 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, =sub_8184D88 str r0, [r4, 0x1C] movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 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 sub_817F6D4 _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 sub_817F670 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 sub_817F670 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 sub_817F6D4 ldr r0, =sub_8184D88 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 sub_817F6D4 _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 sub_817F670 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 sub_817F6D4 ldr r0, =sub_8184D88 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 sub_817F6D4 _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 sub_817F670 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 sub_817F6D4 ldr r0, =sub_8184D88 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 sub_817F6D4 _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, =sub_8184D88 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, =sub_8184D88 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 sub_817F670 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, =sub_8184D88 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, =sub_8184D88 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 sub_817F6D4 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, =sub_8184D88 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 sub_817F618 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 sub_817F670 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 sub_817F6D4 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, =sub_8184D88 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 sub_817F618 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 sub_817F670 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, =sub_8184D88 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, =sub_8184D88 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, =sub_8184D88 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 sub_817F6D4 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, =sub_8184D88 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 sub_817F618 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 sub_817F670 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, =sub_8184D88 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, =sub_8184D88 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, =sub_8184D88 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, =sub_8184D88 str r0, [r4, 0x1C] movs r2, 0x80 lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 bl sub_817F6D4 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 sub_817F6D4 _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 sub_817F670 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 sub_817F670 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 sub_817F670 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 sub_817F670 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 sub_817F670 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 sub_817F670 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 sub_817F670 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 sub_817F670 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 sub_817F670 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 sub_817F670 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 sub_817F670 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 sub_817F670 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 sub_817F670 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 sub_817F670 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, =sub_8184D88 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, =sub_8184D88 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 sub_817F6D4 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 sub_817F670 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 sub_817F6D4 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, =sub_8184D88 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 sub_817F670 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 sub_817F6D4 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, =sub_8184D88 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 sub_817F670 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 sub_817F6D4 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, =sub_8184D88 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 sub_817F6D4 adds r0, r6, 0 bl sub_817F77C ldr r0, =sub_8184D88 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 sub_817F6D4 _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 sub_817F670 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 sub_817F670 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 sub_817F670 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, =sub_8184D88 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 sub_817F670 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 sub_817F670 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 sub_817F670 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, =sub_8184D88 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, =sub_8184D88 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 sub_8184D88 sub_8184D88: @ 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 sub_8184D88 .align 2, 0 @ Don't pad with nop.