summaryrefslogtreecommitdiff
path: root/asm/dark.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/dark.s')
-rw-r--r--asm/dark.s2199
1 files changed, 2199 insertions, 0 deletions
diff --git a/asm/dark.s b/asm/dark.s
new file mode 100644
index 000000000..07f24d27e
--- /dev/null
+++ b/asm/dark.s
@@ -0,0 +1,2199 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_81136E8
+sub_81136E8: @ 81136E8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, =gBattleAnimArgs
+ ldrh r1, [r1]
+ strh r1, [r0, 0x8]
+ ldr r1, =gBattleAnimAttacker
+ ldrb r4, [r1]
+ movs r1, 0x10
+ strh r1, [r0, 0xA]
+ movs r0, 0x52
+ bl SetGpuReg
+ adds r0, r4, 0
+ bl sub_80A8364
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08113734
+ ldr r1, =0x00003f42
+ movs r0, 0x50
+ bl SetGpuReg
+ b _0811373C
+ .pool
+_08113734:
+ ldr r1, =0x00003f44
+ movs r0, 0x50
+ bl SetGpuReg
+_0811373C:
+ ldr r0, =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, =sub_811375C
+ str r0, [r1]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81136E8
+
+ thumb_func_start sub_811375C
+sub_811375C: @ 811375C
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r6, r0, r1
+ ldrh r0, [r6, 0xA]
+ lsrs r4, r0, 8
+ lsls r0, 24
+ lsrs r1, r0, 24
+ movs r2, 0xC
+ ldrsh r0, [r6, r2]
+ ldrb r2, [r6, 0x8]
+ cmp r0, r2
+ bne _081137D8
+ adds r4, 0x1
+ lsls r4, 24
+ lsrs r4, 24
+ subs r0, r1, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r4, 8
+ orrs r1, r0
+ movs r5, 0
+ strh r1, [r6, 0xA]
+ ldrh r1, [r6, 0xA]
+ movs r0, 0x52
+ bl SetGpuReg
+ strh r5, [r6, 0xC]
+ cmp r4, 0x10
+ bne _081137DE
+ ldr r2, =gSprites
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+ adds r0, r7, 0
+ bl DestroyAnimVisualTask
+ b _081137DE
+ .pool
+_081137D8:
+ ldrh r0, [r6, 0xC]
+ adds r0, 0x1
+ strh r0, [r6, 0xC]
+_081137DE:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811375C
+
+ thumb_func_start sub_81137E4
+sub_81137E4: @ 81137E4
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gTasks
+ lsls r2, r0, 2
+ adds r2, r0
+ lsls r2, 3
+ adds r2, r1
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0]
+ strh r0, [r2, 0x8]
+ movs r1, 0x80
+ lsls r1, 5
+ strh r1, [r2, 0xA]
+ ldr r0, =sub_811381C
+ str r0, [r2]
+ movs r0, 0x52
+ bl SetGpuReg
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81137E4
+
+ thumb_func_start sub_811381C
+sub_811381C: @ 811381C
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r6, r0, r1
+ ldrh r0, [r6, 0xA]
+ lsrs r4, r0, 8
+ lsls r0, 24
+ lsrs r1, r0, 24
+ movs r2, 0xC
+ ldrsh r0, [r6, r2]
+ ldrb r2, [r6, 0x8]
+ cmp r0, r2
+ bne _0811387C
+ subs r4, 0x1
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r4, 8
+ orrs r1, r0
+ movs r5, 0
+ strh r1, [r6, 0xA]
+ ldrh r1, [r6, 0xA]
+ movs r0, 0x52
+ bl SetGpuReg
+ strh r5, [r6, 0xC]
+ cmp r4, 0
+ bne _08113882
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0
+ bl SetGpuReg
+ adds r0, r7, 0
+ bl DestroyAnimVisualTask
+ b _08113882
+ .pool
+_0811387C:
+ ldrh r0, [r6, 0xC]
+ adds r0, 0x1
+ strh r0, [r6, 0xC]
+_08113882:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811381C
+
+ thumb_func_start sub_8113888
+sub_8113888: @ 8113888
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r1, 0x80
+ lsls r1, 5
+ movs r0, 0x52
+ bl SetGpuReg
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl sub_80A8364
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _081138BC
+ ldr r1, =0x00003f42
+ movs r0, 0x50
+ bl SetGpuReg
+ b _081138C4
+ .pool
+_081138BC:
+ ldr r1, =0x00003f44
+ movs r0, 0x50
+ bl SetGpuReg
+_081138C4:
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8113888
+
+ thumb_func_start sub_81138D4
+sub_81138D4: @ 81138D4
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldr r6, =gBattleAnimTarget
+ ldrb r0, [r6]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x30]
+ ldr r5, =gBattleAnimAttacker
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x32]
+ ldrb r0, [r6]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x34]
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x36]
+ movs r0, 0x7E
+ strh r0, [r4, 0x2E]
+ adds r0, r4, 0
+ bl sub_80A6E14
+ ldrh r0, [r4, 0x30]
+ negs r0, r0
+ strh r0, [r4, 0x34]
+ ldrh r0, [r4, 0x32]
+ negs r0, r0
+ strh r0, [r4, 0x36]
+ ldr r0, =0x0000ffd8
+ strh r0, [r4, 0x3A]
+ ldr r1, =sub_8113950
+ str r1, [r4, 0x1C]
+ adds r0, r4, 0
+ bl _call_via_r1
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81138D4
+
+ thumb_func_start sub_8113950
+sub_8113950: @ 8113950
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldrh r5, [r4, 0x30]
+ ldrh r0, [r4, 0x34]
+ adds r2, r5, r0
+ strh r2, [r4, 0x34]
+ ldrh r3, [r4, 0x32]
+ ldrh r6, [r4, 0x36]
+ adds r1, r3, r6
+ strh r1, [r4, 0x36]
+ lsls r0, r2, 16
+ asrs r0, 24
+ strh r0, [r4, 0x24]
+ lsls r0, r1, 16
+ asrs r0, 24
+ strh r0, [r4, 0x26]
+ movs r6, 0x3C
+ ldrsh r0, [r4, r6]
+ cmp r0, 0
+ bne _08113992
+ adds r0, r2, r5
+ strh r0, [r4, 0x34]
+ adds r1, r3
+ strh r1, [r4, 0x36]
+ lsls r0, 16
+ asrs r0, 24
+ strh r0, [r4, 0x24]
+ lsls r1, 16
+ asrs r1, 24
+ strh r1, [r4, 0x26]
+ ldrh r0, [r4, 0x2E]
+ subs r0, 0x1
+ strh r0, [r4, 0x2E]
+_08113992:
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r2, 0x3A
+ ldrsh r1, [r4, r2]
+ bl Sin
+ ldrh r6, [r4, 0x26]
+ adds r0, r6
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x3
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x38]
+ cmp r0, 0x7F
+ ble _081139C2
+ movs r0, 0
+ strh r0, [r4, 0x38]
+ ldrh r0, [r4, 0x3A]
+ adds r0, 0x14
+ strh r0, [r4, 0x3A]
+ ldrh r0, [r4, 0x3C]
+ adds r0, 0x1
+ strh r0, [r4, 0x3C]
+_081139C2:
+ ldrh r0, [r4, 0x2E]
+ subs r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ cmp r0, 0
+ bne _081139D4
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_081139D4:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8113950
+
+ thumb_func_start sub_81139DC
+sub_81139DC: @ 81139DC
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r5, =gBattleAnimArgs
+ ldrh r0, [r5]
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ strh r0, [r4, 0x20]
+ ldrh r0, [r5, 0x2]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ ldrb r1, [r5, 0x4]
+ adds r0, r4, 0
+ bl StartSpriteAffineAnim
+ ldrh r0, [r5, 0x6]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r5, 0x8]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r5, 0xA]
+ strh r0, [r4, 0x32]
+ ldr r0, =sub_8113A18
+ str r0, [r4, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81139DC
+
+ thumb_func_start sub_8113A18
+sub_8113A18: @ 8113A18
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x2E]
+ ldrh r1, [r2, 0x36]
+ adds r0, r1
+ strh r0, [r2, 0x36]
+ ldrh r1, [r2, 0x30]
+ ldrh r3, [r2, 0x38]
+ adds r1, r3
+ strh r1, [r2, 0x38]
+ lsls r0, 16
+ asrs r0, 24
+ strh r0, [r2, 0x24]
+ lsls r1, 16
+ asrs r1, 24
+ strh r1, [r2, 0x26]
+ ldrh r0, [r2, 0x34]
+ adds r0, 0x1
+ strh r0, [r2, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ movs r3, 0x32
+ ldrsh r1, [r2, r3]
+ cmp r0, r1
+ bne _08113A4E
+ ldr r0, =sub_8113A58
+ str r0, [r2, 0x1C]
+_08113A4E:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8113A18
+
+ thumb_func_start sub_8113A58
+sub_8113A58: @ 8113A58
+ push {lr}
+ adds r3, r0, 0
+ ldrh r1, [r3, 0x36]
+ ldrh r0, [r3, 0x2E]
+ subs r1, r0
+ strh r1, [r3, 0x36]
+ ldrh r0, [r3, 0x38]
+ ldrh r2, [r3, 0x30]
+ subs r0, r2
+ strh r0, [r3, 0x38]
+ lsls r1, 16
+ asrs r1, 24
+ strh r1, [r3, 0x24]
+ lsls r0, 16
+ asrs r0, 24
+ strh r0, [r3, 0x26]
+ ldrh r0, [r3, 0x34]
+ subs r0, 0x1
+ strh r0, [r3, 0x34]
+ lsls r0, 16
+ cmp r0, 0
+ bne _08113A8A
+ adds r0, r3, 0
+ bl move_anim_8074EE0
+_08113A8A:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8113A58
+
+ thumb_func_start sub_8113A90
+sub_8113A90: @ 8113A90
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ adds r3, r0, 0
+ cmp r1, 0
+ bne _08113AAC
+ ldr r0, =gBattleAnimAttacker
+ b _08113AAE
+ .pool
+_08113AAC:
+ ldr r0, =gBattleAnimTarget
+_08113AAE:
+ ldrb r5, [r0]
+ movs r6, 0x14
+ ldrh r2, [r4, 0x4]
+ lsls r1, r2, 22
+ lsrs r1, 22
+ adds r1, 0x4
+ ldr r7, =0x000003ff
+ adds r0, r7, 0
+ ands r1, r0
+ ldr r0, =0xfffffc00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r4, 0x4]
+ movs r1, 0x2
+ ldrsh r0, [r3, r1]
+ cmp r0, 0x1
+ beq _08113B0C
+ cmp r0, 0x1
+ bgt _08113AE8
+ cmp r0, 0
+ beq _08113AF2
+ b _08113B60
+ .pool
+_08113AE8:
+ cmp r0, 0x2
+ beq _08113B26
+ cmp r0, 0x3
+ beq _08113B3E
+ b _08113B60
+_08113AF2:
+ adds r0, r5, 0
+ movs r1, 0x5
+ bl sub_80A861C
+ subs r0, 0x8
+ strh r0, [r4, 0x20]
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl sub_80A861C
+ adds r0, 0x8
+ strh r0, [r4, 0x22]
+ b _08113B60
+_08113B0C:
+ adds r0, r5, 0
+ movs r1, 0x5
+ bl sub_80A861C
+ subs r0, 0xE
+ strh r0, [r4, 0x20]
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl sub_80A861C
+ adds r0, 0x10
+ strh r0, [r4, 0x22]
+ b _08113B60
+_08113B26:
+ adds r0, r5, 0
+ movs r1, 0x4
+ bl sub_80A861C
+ adds r0, 0x8
+ strh r0, [r4, 0x20]
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl sub_80A861C
+ adds r0, 0x8
+ b _08113B54
+_08113B3E:
+ adds r0, r5, 0
+ movs r1, 0x4
+ bl sub_80A861C
+ adds r0, 0xE
+ strh r0, [r4, 0x20]
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl sub_80A861C
+ adds r0, 0x10
+_08113B54:
+ strh r0, [r4, 0x22]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ movs r6, 0xEC
+_08113B60:
+ movs r0, 0x20
+ strh r0, [r4, 0x2E]
+ lsls r0, r6, 24
+ asrs r0, 24
+ ldrh r2, [r4, 0x20]
+ adds r0, r2
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x22]
+ adds r0, 0xC
+ strh r0, [r4, 0x36]
+ ldr r0, =0x0000fff4
+ strh r0, [r4, 0x38]
+ adds r0, r4, 0
+ bl sub_80A68D4
+ ldr r0, =sub_8113B90
+ str r0, [r4, 0x1C]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8113A90
+
+ thumb_func_start sub_8113B90
+sub_8113B90: @ 8113B90
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimArc
+ lsls r0, 24
+ cmp r0, 0
+ beq _08113BA4
+ adds r0, r4, 0
+ bl move_anim_8074EE0
+_08113BA4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8113B90
+
+ thumb_func_start sub_8113BAC
+sub_8113BAC: @ 8113BAC
+ push {r4-r7,lr}
+ sub sp, 0x1C
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, =gTasks
+ adds r5, r1, r0
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x1F
+ movs r6, 0
+ strh r0, [r5, 0x16]
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl sub_80A861C
+ subs r0, 0x7
+ strh r0, [r5, 0x14]
+ ldrh r1, [r5, 0x16]
+ strh r1, [r5, 0x12]
+ strh r0, [r5, 0x10]
+ subs r1, r0
+ lsls r1, 8
+ strh r1, [r5, 0x22]
+ ldrb r0, [r4]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r0, 0
+ subs r1, 0x20
+ strh r1, [r5, 0x24]
+ adds r0, 0x20
+ strh r0, [r5, 0x26]
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08113C1C
+ ldr r0, =0x0000fff4
+ b _08113C1E
+ .pool
+_08113C1C:
+ ldr r0, =0x0000ffc0
+_08113C1E:
+ strh r0, [r5, 0x18]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl sub_80A8364
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0xE]
+ cmp r0, 0x1
+ bne _08113C80
+ add r4, sp, 0xC
+ adds r0, r4, 0
+ bl sub_80A6B30
+ ldr r0, =gBattle_BG1_Y
+ ldrh r0, [r0]
+ strh r0, [r5, 0x1C]
+ ldr r1, =0x00003f42
+ movs r0, 0x50
+ bl SetGpuReg
+ ldrb r1, [r4, 0x8]
+ lsls r1, 4
+ movs r0, 0
+ movs r2, 0x20
+ bl FillPalette
+ ldr r0, =0x04000016
+ str r0, [sp]
+ movs r7, 0x2
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _08113CB0
+ ldr r1, =gBattle_BG2_X
+ b _08113CAA
+ .pool
+_08113C80:
+ ldr r0, =gBattle_BG2_Y
+ ldrh r0, [r0]
+ strh r0, [r5, 0x1C]
+ ldr r1, =0x00003f44
+ movs r0, 0x50
+ bl SetGpuReg
+ movs r0, 0
+ movs r1, 0x90
+ movs r2, 0x20
+ bl FillPalette
+ ldr r0, =0x0400001a
+ str r0, [sp]
+ movs r7, 0x4
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _08113CB0
+ ldr r1, =gBattle_BG1_X
+_08113CAA:
+ ldrh r0, [r1]
+ adds r0, 0xF0
+ strh r0, [r1]
+_08113CB0:
+ ldr r0, =0xa2600001
+ str r0, [sp, 0x4]
+ mov r2, sp
+ movs r1, 0
+ movs r0, 0x1
+ strb r0, [r2, 0x8]
+ mov r0, sp
+ strb r1, [r0, 0x9]
+ strh r1, [r5, 0x1E]
+ movs r0, 0x10
+ strh r0, [r5, 0x20]
+ strh r1, [r5, 0x8]
+ strh r1, [r5, 0xA]
+ strh r1, [r5, 0xC]
+ movs r0, 0x3
+ bl sub_8114374
+ movs r3, 0
+ ldr r4, =gScanlineEffectRegBuffers
+ movs r0, 0xF0
+ lsls r0, 3
+ adds r6, r4, r0
+_08113CDC:
+ lsls r1, r3, 1
+ adds r2, r1, r4
+ ldrh r0, [r5, 0x1C]
+ strh r0, [r2]
+ adds r1, r6
+ ldrh r0, [r5, 0x1C]
+ strh r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0x6F
+ bls _08113CDC
+ ldr r0, [sp]
+ ldr r1, [sp, 0x4]
+ ldr r2, [sp, 0x8]
+ bl ScanlineEffect_SetParams
+ movs r0, 0x3F
+ eors r7, r0
+ movs r1, 0xFC
+ lsls r1, 6
+ adds r0, r1, 0
+ orrs r7, r0
+ movs r0, 0x4A
+ adds r1, r7, 0
+ bl SetGpuReg
+ ldr r1, =0x00003f3f
+ movs r0, 0x48
+ bl SetGpuReg
+ ldr r2, =gBattle_WIN0H
+ ldrh r0, [r5, 0x24]
+ lsls r0, 8
+ ldrh r1, [r5, 0x26]
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, =gBattle_WIN0V
+ movs r0, 0xA0
+ strh r0, [r1]
+ ldr r0, =sub_8113D60
+ str r0, [r5]
+ add sp, 0x1C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8113BAC
+
+ thumb_func_start sub_8113D60
+sub_8113D60: @ 8113D60
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r4, r0, r1
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x4
+ bls _08113D7A
+ b _08113E72
+_08113D7A:
+ lsls r0, 2
+ ldr r1, =_08113D8C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08113D8C:
+ .4byte _08113DA0
+ .4byte _08113E02
+ .4byte _08113E1C
+ .4byte _08113E58
+ .4byte _08113E6C
+_08113DA0:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _08113E72
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08113DD0
+ ldrh r1, [r4, 0x1E]
+ movs r2, 0x1E
+ ldrsh r0, [r4, r2]
+ cmp r0, 0xC
+ beq _08113DDE
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x1E]
+ b _08113DDE
+_08113DD0:
+ ldrh r1, [r4, 0x20]
+ movs r2, 0x20
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x8
+ beq _08113DDE
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x20]
+_08113DDE:
+ ldrh r1, [r4, 0x20]
+ lsls r1, 8
+ ldrh r0, [r4, 0x1E]
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r1, 0x1E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0xC
+ bne _08113E72
+ movs r2, 0x20
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x8
+ bne _08113E72
+ b _08113E5E
+_08113E02:
+ ldrh r0, [r4, 0x10]
+ subs r0, 0x8
+ strh r0, [r4, 0x10]
+ adds r0, r4, 0
+ bl sub_8114244
+ movs r0, 0x10
+ ldrsh r1, [r4, r0]
+ movs r2, 0x18
+ ldrsh r0, [r4, r2]
+ cmp r1, r0
+ bge _08113E72
+ b _08113E5E
+_08113E1C:
+ ldrh r0, [r4, 0x10]
+ subs r0, 0x8
+ strh r0, [r4, 0x10]
+ adds r0, r4, 0
+ bl sub_8114244
+ ldrh r1, [r4, 0x24]
+ adds r1, 0x4
+ strh r1, [r4, 0x24]
+ ldrh r0, [r4, 0x26]
+ subs r2, r0, 0x4
+ strh r2, [r4, 0x26]
+ lsls r1, 16
+ lsls r0, r2, 16
+ cmp r1, r0
+ blt _08113E3E
+ strh r2, [r4, 0x24]
+_08113E3E:
+ ldr r3, =gBattle_WIN0H
+ ldrh r2, [r4, 0x24]
+ lsls r0, r2, 8
+ ldrh r1, [r4, 0x26]
+ orrs r0, r1
+ strh r0, [r3]
+ lsls r2, 16
+ lsls r1, 16
+ cmp r2, r1
+ bne _08113E72
+ b _08113E5E
+ .pool
+_08113E58:
+ ldr r1, =gScanlineEffect
+ movs r0, 0x3
+ strb r0, [r1, 0x15]
+_08113E5E:
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _08113E72
+ .pool
+_08113E6C:
+ adds r0, r2, 0
+ bl DestroyAnimVisualTask
+_08113E72:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8113D60
+
+ thumb_func_start sub_8113E78
+sub_8113E78: @ 8113E78
+ push {r4-r7,lr}
+ sub sp, 0x1C
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r5, r0, r1
+ movs r1, 0x8
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x4
+ bls _08113E94
+ b _081140A6
+_08113E94:
+ lsls r0, 2
+ ldr r1, =_08113EA8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08113EA8:
+ .4byte _08113EBC
+ .4byte _08113F40
+ .4byte _08113F84
+ .4byte _08113FF0
+ .4byte _08114058
+_08113EBC:
+ bl IsContest
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08113EF8
+ ldr r0, =gBattle_WIN0H
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, =gBattle_WIN0V
+ strh r1, [r0]
+ ldr r4, =0x00003f3f
+ movs r0, 0x48
+ adds r1, r4, 0
+ bl SetGpuReg
+ movs r0, 0x4A
+ adds r1, r4, 0
+ bl SetGpuReg
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+ b _081140A6
+ .pool
+_08113EF8:
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A8364
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0xE]
+ cmp r0, 0x1
+ bne _08113F24
+ ldr r1, =0x00003f42
+ movs r0, 0x50
+ bl SetGpuReg
+ ldr r1, =gBattle_BG2_X
+ b _08113F2E
+ .pool
+_08113F24:
+ ldr r1, =0x00003f44
+ movs r0, 0x50
+ bl SetGpuReg
+ ldr r1, =gBattle_BG1_X
+_08113F2E:
+ ldrh r0, [r1]
+ adds r0, 0xF0
+ strh r0, [r1]
+ b _08114044
+ .pool
+_08113F40:
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ bne _08113F68
+ mov r0, sp
+ bl sub_80A6B30
+ ldr r0, =gBattle_BG1_Y
+ ldrh r0, [r0]
+ strh r0, [r5, 0x1C]
+ mov r0, sp
+ ldrb r1, [r0, 0x8]
+ lsls r1, 4
+ movs r0, 0
+ movs r2, 0x20
+ bl FillPalette
+ b _08113F78
+ .pool
+_08113F68:
+ ldr r0, =gBattle_BG2_Y
+ ldrh r0, [r0]
+ strh r0, [r5, 0x1C]
+ movs r0, 0
+ movs r1, 0x90
+ movs r2, 0x20
+ bl FillPalette
+_08113F78:
+ movs r0, 0x3
+ bl sub_8114374
+ b _08114044
+ .pool
+_08113F84:
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x1F
+ movs r6, 0
+ strh r0, [r5, 0x16]
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl sub_80A861C
+ subs r0, 0x7
+ strh r0, [r5, 0x14]
+ ldrh r1, [r5, 0x16]
+ subs r1, r0
+ lsls r1, 8
+ strh r1, [r5, 0x22]
+ ldrb r0, [r4]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ subs r1, r0, 0x4
+ strh r1, [r5, 0x24]
+ adds r0, 0x4
+ strh r0, [r5, 0x26]
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08113FD8
+ ldr r0, =0x0000fff4
+ b _08113FDA
+ .pool
+_08113FD8:
+ ldr r0, =0x0000ffc0
+_08113FDA:
+ strh r0, [r5, 0x18]
+ ldrh r0, [r5, 0x18]
+ strh r0, [r5, 0x10]
+ strh r0, [r5, 0x12]
+ movs r0, 0xC
+ strh r0, [r5, 0x1E]
+ movs r0, 0x8
+ strh r0, [r5, 0x20]
+ b _08114044
+ .pool
+_08113FF0:
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ bne _08114000
+ ldr r0, =0x04000016
+ b _08114002
+ .pool
+_08114000:
+ ldr r0, =0x0400001a
+_08114002:
+ str r0, [sp, 0x10]
+ movs r3, 0
+ add r4, sp, 0x10
+ ldr r6, =gScanlineEffectRegBuffers
+ movs r0, 0xF0
+ lsls r0, 3
+ adds r7, r6, r0
+_08114010:
+ lsls r1, r3, 1
+ adds r2, r1, r6
+ ldrh r0, [r5, 0x1C]
+ adds r0, 0x9F
+ subs r0, r3
+ strh r0, [r2]
+ adds r1, r7
+ ldrh r0, [r5, 0x1C]
+ adds r0, 0x9F
+ subs r0, r3
+ strh r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0x6F
+ bls _08114010
+ ldr r1, =0xa2600001
+ str r1, [r4, 0x4]
+ movs r2, 0
+ movs r0, 0x1
+ strb r0, [r4, 0x8]
+ strb r2, [r4, 0x9]
+ ldr r0, [sp, 0x10]
+ ldr r2, [r4, 0x8]
+ bl ScanlineEffect_SetParams
+_08114044:
+ ldrh r0, [r5, 0x8]
+ adds r0, 0x1
+ strh r0, [r5, 0x8]
+ b _081140A6
+ .pool
+_08114058:
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ bne _08114070
+ ldr r1, =0x00003f3d
+ movs r0, 0x4A
+ bl SetGpuReg
+ b _08114078
+ .pool
+_08114070:
+ ldr r1, =0x00003f3b
+ movs r0, 0x4A
+ bl SetGpuReg
+_08114078:
+ ldr r1, =0x00003f3f
+ movs r0, 0x48
+ bl SetGpuReg
+ ldr r2, =gBattle_WIN0H
+ ldrh r0, [r5, 0x24]
+ lsls r0, 8
+ ldrh r1, [r5, 0x26]
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, =gBattle_WIN0V
+ movs r0, 0xA0
+ strh r0, [r1]
+ movs r0, 0
+ strh r0, [r5, 0x8]
+ strh r0, [r5, 0xA]
+ strh r0, [r5, 0xC]
+ ldr r1, =0x0000080c
+ movs r0, 0x52
+ bl SetGpuReg
+ ldr r0, =sub_81140C8
+ str r0, [r5]
+_081140A6:
+ add sp, 0x1C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8113E78
+
+ thumb_func_start sub_81140C8
+sub_81140C8: @ 81140C8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r4, r0, r1
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x4
+ bls _081140E2
+ b _08114232
+_081140E2:
+ lsls r0, 2
+ ldr r1, =_081140F4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_081140F4:
+ .4byte _08114108
+ .4byte _08114134
+ .4byte _0811419C
+ .4byte _081141FE
+ .4byte _08114210
+_08114108:
+ ldrh r0, [r4, 0x12]
+ adds r0, 0x8
+ strh r0, [r4, 0x12]
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r2, [r4, 0x16]
+ movs r3, 0x16
+ ldrsh r1, [r4, r3]
+ cmp r0, r1
+ blt _0811411E
+ strh r2, [r4, 0x12]
+_0811411E:
+ adds r0, r4, 0
+ bl sub_8114244
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ movs r2, 0x16
+ ldrsh r0, [r4, r2]
+ cmp r1, r0
+ beq _08114132
+ b _08114232
+_08114132:
+ b _08114204
+_08114134:
+ movs r3, 0x26
+ ldrsh r0, [r4, r3]
+ movs r2, 0x24
+ ldrsh r1, [r4, r2]
+ subs r0, r1
+ cmp r0, 0x3F
+ bgt _08114150
+ ldrh r0, [r4, 0x24]
+ subs r0, 0x4
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x26]
+ adds r0, 0x4
+ strh r0, [r4, 0x26]
+ b _08114154
+_08114150:
+ movs r0, 0x1
+ strh r0, [r4, 0xA]
+_08114154:
+ ldr r2, =gBattle_WIN0H
+ ldrh r0, [r4, 0x24]
+ lsls r0, 8
+ ldrh r1, [r4, 0x26]
+ orrs r0, r1
+ strh r0, [r2]
+ ldrh r0, [r4, 0x10]
+ adds r0, 0x8
+ strh r0, [r4, 0x10]
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r2, [r4, 0x14]
+ movs r3, 0x14
+ ldrsh r1, [r4, r3]
+ cmp r0, r1
+ blt _08114176
+ strh r2, [r4, 0x10]
+_08114176:
+ adds r0, r4, 0
+ bl sub_8114244
+ movs r0, 0x10
+ ldrsh r1, [r4, r0]
+ movs r2, 0x14
+ ldrsh r0, [r4, r2]
+ cmp r1, r0
+ bne _08114232
+ movs r3, 0xA
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ beq _08114232
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ b _08114204
+ .pool
+_0811419C:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _08114232
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _081141CC
+ ldrh r1, [r4, 0x1E]
+ movs r2, 0x1E
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _081141DA
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x1E]
+ b _081141DA
+_081141CC:
+ ldrh r1, [r4, 0x20]
+ movs r3, 0x20
+ ldrsh r0, [r4, r3]
+ cmp r0, 0xF
+ bgt _081141DA
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x20]
+_081141DA:
+ ldrh r1, [r4, 0x20]
+ lsls r1, 8
+ ldrh r0, [r4, 0x1E]
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r1, 0x1E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08114232
+ movs r2, 0x20
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x10
+ bne _08114232
+ b _08114204
+_081141FE:
+ ldr r1, =gScanlineEffect
+ movs r0, 0x3
+ strb r0, [r1, 0x15]
+_08114204:
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _08114232
+ .pool
+_08114210:
+ ldr r0, =gBattle_WIN0H
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, =gBattle_WIN0V
+ strh r1, [r0]
+ ldr r4, =0x00003f3f
+ movs r0, 0x48
+ adds r1, r4, 0
+ bl SetGpuReg
+ movs r0, 0x4A
+ adds r1, r4, 0
+ bl SetGpuReg
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+_08114232:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81140C8
+
+ thumb_func_start sub_8114244
+sub_8114244: @ 8114244
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ ldrh r0, [r6, 0x12]
+ ldrh r4, [r6, 0x10]
+ subs r0, r4
+ lsls r0, 16
+ asrs r1, r0, 16
+ cmp r1, 0
+ beq _08114338
+ movs r2, 0x22
+ ldrsh r0, [r6, r2]
+ bl __divsi3
+ mov r8, r0
+ movs r3, 0x14
+ ldrsh r0, [r6, r3]
+ lsls r5, r0, 8
+ lsls r0, r4, 16
+ movs r4, 0
+ cmp r0, 0
+ ble _081142A4
+ ldr r0, =gScanlineEffectRegBuffers
+ mov r12, r0
+ ldr r7, =gScanlineEffect
+_08114278:
+ lsls r2, r4, 16
+ asrs r2, 16
+ lsls r3, r2, 1
+ ldrb r1, [r7, 0x14]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 7
+ adds r3, r0
+ add r3, r12
+ adds r1, r2, 0
+ subs r1, 0x9F
+ ldrh r0, [r6, 0x1C]
+ subs r0, r1
+ strh r0, [r3]
+ adds r2, 0x1
+ lsls r2, 16
+ lsrs r4, r2, 16
+ asrs r2, 16
+ movs r1, 0x10
+ ldrsh r0, [r6, r1]
+ cmp r2, r0
+ blt _08114278
+_081142A4:
+ ldrh r4, [r6, 0x10]
+ lsls r3, r4, 16
+ asrs r1, r3, 16
+ movs r2, 0x12
+ ldrsh r0, [r6, r2]
+ cmp r1, r0
+ bgt _081142EE
+ ldr r0, =gScanlineEffectRegBuffers
+ mov r12, r0
+ ldr r7, =gScanlineEffect
+_081142B8:
+ asrs r4, r3, 16
+ cmp r4, 0
+ blt _081142DA
+ asrs r1, r5, 8
+ subs r1, r4
+ lsls r3, r4, 1
+ ldrb r2, [r7, 0x14]
+ lsls r0, r2, 4
+ subs r0, r2
+ lsls r0, 7
+ adds r3, r0
+ add r3, r12
+ lsls r1, 16
+ asrs r1, 16
+ ldrh r2, [r6, 0x1C]
+ adds r1, r2
+ strh r1, [r3]
+_081142DA:
+ add r5, r8
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ lsls r3, r4, 16
+ asrs r1, r3, 16
+ movs r2, 0x12
+ ldrsh r0, [r6, r2]
+ cmp r1, r0
+ ble _081142B8
+_081142EE:
+ movs r3, 0x1C
+ ldrsh r0, [r6, r3]
+ adds r0, 0x9F
+ lsls r2, r4, 16
+ asrs r1, r2, 16
+ subs r5, r0, r1
+ movs r3, 0x16
+ ldrsh r0, [r6, r3]
+ cmp r1, r0
+ bge _08114366
+ ldr r7, =gScanlineEffectRegBuffers
+ ldr r4, =gScanlineEffect
+_08114306:
+ asrs r3, r2, 16
+ cmp r3, 0
+ blt _0811431E
+ lsls r2, r3, 1
+ ldrb r1, [r4, 0x14]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 7
+ adds r2, r0
+ adds r2, r7
+ strh r5, [r2]
+ subs r5, 0x1
+_0811431E:
+ adds r0, r3, 0x1
+ lsls r2, r0, 16
+ asrs r1, r2, 16
+ movs r3, 0x16
+ ldrsh r0, [r6, r3]
+ cmp r1, r0
+ blt _08114306
+ b _08114366
+ .pool
+_08114338:
+ movs r1, 0x1C
+ ldrsh r0, [r6, r1]
+ adds r5, r0, 0
+ adds r5, 0x9F
+ movs r4, 0
+ ldr r3, =gScanlineEffectRegBuffers
+ movs r2, 0xF0
+ lsls r2, 3
+ adds r6, r3, r2
+_0811434A:
+ lsls r0, r4, 16
+ asrs r0, 16
+ lsls r2, r0, 1
+ adds r1, r2, r3
+ strh r5, [r1]
+ adds r2, r6
+ strh r5, [r2]
+ subs r5, 0x1
+ adds r0, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ asrs r0, 16
+ cmp r0, 0x6F
+ ble _0811434A
+_08114366:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8114244
+
+ thumb_func_start sub_8114374
+sub_8114374: @ 8114374
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r4, 0
+ ldr r7, =gSprites
+ movs r1, 0x3
+ ands r0, r1
+ lsls r5, r0, 2
+ movs r0, 0xD
+ negs r0, r0
+ adds r6, r0, 0
+_0811438A:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ beq _081143AA
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r7
+ ldrb r0, [r1, 0x5]
+ ands r0, r6
+ orrs r0, r5
+ strb r0, [r1, 0x5]
+_081143AA:
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x3
+ bls _0811438A
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8114374
+
+ thumb_func_start sub_81143C0
+sub_81143C0: @ 81143C0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ ldr r6, =gBattleAnimAttacker
+ ldrb r0, [r6]
+ bl sub_80A8364
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x1
+ eors r0, r1
+ negs r1, r0
+ orrs r1, r0
+ lsrs r4, r1, 31
+ ldrb r0, [r6]
+ adds r1, r4, 0
+ movs r2, 0x1
+ bl sub_80A438C
+ ldr r0, =gSprites
+ mov r9, r0
+ ldr r0, =gBattlerSpriteIds
+ mov r8, r0
+ ldrb r0, [r6]
+ add r0, r8
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ add r1, r9
+ adds r1, 0x3E
+ ldrb r2, [r1]
+ movs r7, 0x5
+ negs r7, r7
+ adds r0, r7, 0
+ ands r0, r2
+ strb r0, [r1]
+ ldrb r0, [r6]
+ movs r5, 0x2
+ eors r0, r5
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ beq _0811444E
+ ldrb r0, [r6]
+ eors r0, r5
+ movs r1, 0x1
+ eors r4, r1
+ adds r1, r4, 0
+ movs r2, 0x1
+ bl sub_80A438C
+ ldrb r0, [r6]
+ eors r0, r5
+ add r0, r8
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ add r0, r9
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ adds r1, r7, 0
+ ands r1, r2
+ strb r1, [r0]
+_0811444E:
+ mov r0, r10
+ bl DestroyAnimVisualTask
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81143C0
+
+ thumb_func_start sub_8114470
+sub_8114470: @ 8114470
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ bl sub_80A8364
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x1
+ eors r0, r1
+ negs r1, r0
+ orrs r1, r0
+ lsrs r5, r1, 31
+ adds r0, r5, 0
+ bl sub_80A477C
+ ldrb r1, [r4]
+ movs r0, 0x2
+ eors r0, r1
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ beq _081144AC
+ movs r0, 0x1
+ eors r5, r0
+ adds r0, r5, 0
+ bl sub_80A477C
+_081144AC:
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8114470
+
+ thumb_func_start sub_81144BC
+sub_81144BC: @ 81144BC
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ ldrh r2, [r4, 0x20]
+ adds r0, r2
+ strh r0, [r4, 0x20]
+ ldrh r0, [r1, 0x2]
+ ldrh r2, [r4, 0x22]
+ adds r0, r2
+ strh r0, [r4, 0x22]
+ ldrb r1, [r1, 0x4]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldr r0, =sub_80A67D8
+ str r0, [r4, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81144BC
+
+ thumb_func_start sub_81144F8
+sub_81144F8: @ 81144F8
+ push {r4-r7,lr}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r6, 0
+ ldr r0, =gBattle_WIN0H
+ strh r6, [r0]
+ ldr r0, =gBattle_WIN0V
+ strh r6, [r0]
+ ldr r1, =0x00003f3f
+ movs r0, 0x48
+ bl SetGpuReg
+ ldr r1, =0x00003f3d
+ movs r0, 0x4A
+ bl SetGpuReg
+ movs r1, 0x80
+ lsls r1, 8
+ movs r0, 0
+ bl SetGpuRegBits
+ ldr r1, =0x00003f42
+ movs r0, 0x50
+ bl SetGpuReg
+ ldr r1, =0x00000c08
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r0, 0x1
+ movs r1, 0x4
+ movs r2, 0
+ bl SetAnimBgAttribute
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl SetAnimBgAttribute
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _0811455C
+ movs r0, 0x1
+ movs r1, 0x3
+ movs r2, 0x1
+ bl SetAnimBgAttribute
+_0811455C:
+ bl IsDoubleBattle
+ lsls r0, 24
+ cmp r0, 0
+ beq _081145D6
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _081145D6
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ bl GetBattlerPosition
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ beq _0811458C
+ ldrb r0, [r4]
+ bl GetBattlerPosition
+ lsls r0, 24
+ cmp r0, 0
+ bne _081145D6
+_0811458C:
+ ldrb r0, [r4]
+ movs r5, 0x2
+ eors r0, r5
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _081145D6
+ ldr r3, =gSprites
+ ldr r1, =gBattlerSpriteIds
+ ldrb r0, [r4]
+ eors r0, r5
+ adds r0, r1
+ ldrb r0, [r0]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r3
+ ldrb r3, [r2, 0x5]
+ lsls r1, r3, 28
+ lsrs r1, 30
+ subs r1, 0x1
+ movs r0, 0x3
+ ands r1, r0
+ lsls r1, 2
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2, 0x5]
+ movs r0, 0x1
+ movs r1, 0x4
+ movs r2, 0x1
+ bl SetAnimBgAttribute
+ movs r6, 0x1
+_081145D6:
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _08114614
+ ldr r0, =gContestResources
+ ldr r0, [r0]
+ ldr r0, [r0, 0x18]
+ ldrh r5, [r0]
+ b _0811465C
+ .pool
+_08114614:
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08114640
+ ldr r1, =gBattlerPartyIndexes
+ ldrb r0, [r4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =gEnemyParty
+ b _08114650
+ .pool
+_08114640:
+ ldr r1, =gBattlerPartyIndexes
+ ldrb r0, [r4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+_08114650:
+ adds r0, r1
+ movs r1, 0xB
+ bl GetMonData
+ lsls r0, 16
+ lsrs r5, r0, 16
+_0811465C:
+ movs r0, 0
+ bl GetAnimBattlerSpriteId
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_80A89C8
+ lsls r0, 24
+ lsrs r5, r0, 24
+ mov r0, sp
+ bl sub_80A6B30
+ mov r0, sp
+ ldrb r0, [r0, 0x9]
+ ldr r1, =gUnknown_08C1D210
+ bl sub_80A6D48
+ mov r0, sp
+ ldrb r0, [r0, 0x9]
+ ldr r1, =gUnknown_08C1D0AC
+ mov r2, sp
+ ldrh r2, [r2, 0xA]
+ bl sub_80A6CC0
+ ldr r0, =gUnknown_08C1D1E8
+ mov r1, sp
+ ldrb r1, [r1, 0x8]
+ lsls r1, 4
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ ldr r2, =gBattle_BG1_X
+ ldr r0, =gSprites
+ lsls r1, r4, 4
+ adds r1, r4
+ lsls r1, 2
+ adds r1, r0
+ ldrh r0, [r1, 0x20]
+ negs r0, r0
+ adds r0, 0x60
+ strh r0, [r2]
+ ldr r2, =gBattle_BG1_Y
+ ldrh r0, [r1, 0x22]
+ negs r0, r0
+ adds r0, 0x20
+ strh r0, [r2]
+ ldrb r0, [r1, 0x5]
+ lsrs r0, 4
+ adds r0, 0x10
+ adds r1, r0, 0
+ ldr r2, =gBattleAnimArgs
+ movs r3, 0x2
+ ldrsh r0, [r2, r3]
+ cmp r0, 0
+ bne _08114708
+ adds r0, r1, 0
+ movs r1, 0
+ bl sub_80A750C
+ b _08114714
+ .pool
+_08114708:
+ lsls r0, r1, 4
+ ldrh r3, [r2, 0x4]
+ movs r1, 0x10
+ movs r2, 0xB
+ bl BlendPalette
+_08114714:
+ ldr r1, =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ strh r5, [r0, 0x8]
+ ldr r2, =gBattleAnimArgs
+ ldrh r1, [r2]
+ strh r1, [r0, 0xA]
+ ldrh r1, [r2, 0x2]
+ strh r1, [r0, 0xC]
+ ldrh r1, [r2, 0x4]
+ strh r1, [r0, 0xE]
+ strh r6, [r0, 0x14]
+ ldr r1, =sub_8114748
+ str r1, [r0]
+ add sp, 0x10
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81144F8
+
+ thumb_func_start sub_8114748
+sub_8114748: @ 8114748
+ push {r4-r6,lr}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r0, 24
+ adds r6, r0, 0
+ ldr r1, =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r0, [r4, 0x1C]
+ adds r0, 0x4
+ movs r5, 0
+ strh r0, [r4, 0x1C]
+ ldr r2, =gBattle_BG1_X
+ ldrh r3, [r2]
+ subs r1, r3, 0x4
+ strh r1, [r2]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x80
+ beq _08114776
+ b _08114886
+_08114776:
+ strh r5, [r4, 0x1C]
+ adds r0, r3, 0
+ adds r0, 0x7C
+ strh r0, [r2]
+ ldrh r0, [r4, 0x1E]
+ adds r0, 0x1
+ strh r0, [r4, 0x1E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ bne _08114824
+ movs r0, 0
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ ldrb r0, [r1, 0x5]
+ lsrs r0, 4
+ adds r0, 0x10
+ adds r1, r0, 0
+ movs r2, 0xA
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _081147B8
+ adds r0, r1, 0
+ movs r1, 0x1
+ bl sub_80A750C
+_081147B8:
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ bl DestroySprite
+ mov r0, sp
+ bl sub_80A6B30
+ mov r0, sp
+ ldrb r0, [r0, 0x9]
+ bl sub_80A6C68
+ movs r1, 0x14
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ bne _08114886
+ ldr r2, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
+ ldrb r1, [r0]
+ movs r0, 0x2
+ eors r0, r1
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r5
+ ldrb r3, [r2, 0x5]
+ lsls r1, r3, 28
+ lsrs r1, 30
+ adds r1, 0x1
+ movs r0, 0x3
+ ands r1, r0
+ lsls r1, 2
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2, 0x5]
+ b _08114886
+ .pool
+_08114824:
+ cmp r0, 0x3
+ bne _08114886
+ ldr r0, =gBattle_WIN0H
+ strh r5, [r0]
+ ldr r0, =gBattle_WIN0V
+ strh r5, [r0]
+ ldr r4, =0x00003f3f
+ movs r0, 0x48
+ adds r1, r4, 0
+ bl SetGpuReg
+ movs r0, 0x4A
+ adds r1, r4, 0
+ bl SetGpuReg
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _08114856
+ movs r0, 0x1
+ movs r1, 0x3
+ movs r2, 0
+ bl SetAnimBgAttribute
+_08114856:
+ movs r0, 0
+ bl GetGpuReg
+ adds r1, r0, 0
+ movs r2, 0x80
+ lsls r2, 8
+ adds r0, r2, 0
+ eors r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0
+ bl SetGpuReg
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0
+ bl SetGpuReg
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+_08114886:
+ add sp, 0x10
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8114748
+
+ thumb_func_start sub_811489C
+sub_811489C: @ 811489C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ ldr r0, =gBattleAnimArgs
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ adds r2, r0, 0
+ cmp r1, 0x7
+ bhi _08114900
+ lsls r0, r1, 2
+ ldr r1, =_081148C4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_081148C4:
+ .4byte _081148E4
+ .4byte _081148E4
+ .4byte _081148E4
+ .4byte _081148E4
+ .4byte _081148F0
+ .4byte _081148F4
+ .4byte _081148F8
+ .4byte _081148FC
+_081148E4:
+ ldrb r0, [r2]
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r2, r0, 24
+ b _08114902
+_081148F0:
+ movs r4, 0
+ b _08114908
+_081148F4:
+ movs r4, 0x2
+ b _08114908
+_081148F8:
+ movs r4, 0x1
+ b _08114908
+_081148FC:
+ movs r4, 0x3
+ b _08114908
+_08114900:
+ movs r2, 0xFF
+_08114902:
+ movs r0, 0
+ cmp r0, 0
+ beq _0811492E
+_08114908:
+ adds r0, r4, 0
+ bl GetBattlerAtPosition
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ beq _0811492C
+ ldr r0, =gBattlerSpriteIds
+ adds r0, r4, r0
+ ldrb r2, [r0]
+ b _0811492E
+ .pool
+_0811492C:
+ movs r2, 0xFF
+_0811492E:
+ cmp r2, 0xFF
+ beq _0811494A
+ ldr r1, =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x5]
+ lsrs r0, 4
+ adds r0, 0x10
+ ldr r1, =gBattleAnimArgs
+ ldrb r1, [r1, 0x2]
+ bl sub_80A750C
+_0811494A:
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_811489C
+
+ thumb_func_start sub_8114960
+sub_8114960: @ 8114960
+ push {lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r2, =gAnimMoveTurn
+ ldrb r0, [r2]
+ cmp r0, 0x1
+ bhi _08114974
+ ldr r1, =gBattleAnimArgs
+ movs r0, 0
+ strh r0, [r1, 0xE]
+_08114974:
+ ldrb r0, [r2]
+ cmp r0, 0x2
+ bne _08114980
+ ldr r1, =gBattleAnimArgs
+ movs r0, 0x1
+ strh r0, [r1, 0xE]
+_08114980:
+ adds r0, r3, 0
+ bl DestroyAnimVisualTask
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8114960
+
+ .align 2, 0