	.include "asm/macros.inc"
	.include "constants/constants.inc"

	.syntax unified

	.text

	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, =gUnknown_0860AD68
	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.
