summaryrefslogtreecommitdiff
path: root/asm/battle_2.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/battle_2.s')
-rw-r--r--asm/battle_2.s4792
1 files changed, 0 insertions, 4792 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s
index f1c865a49..cff6efe06 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -6,4798 +6,6 @@
.text
- thumb_func_start sub_800FCD4
-sub_800FCD4: @ 800FCD4
- push {lr}
- ldr r0, _0800FCF4 @ =REG_VCOUNT
- ldrh r0, [r0]
- subs r0, 0x6F
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x30
- bhi _0800FCEE
- ldr r1, _0800FCF8 @ =REG_BG0CNT
- movs r2, 0x98
- lsls r2, 8
- adds r0, r2, 0
- strh r0, [r1]
-_0800FCEE:
- pop {r0}
- bx r0
- .align 2, 0
-_0800FCF4: .4byte REG_VCOUNT
-_0800FCF8: .4byte REG_BG0CNT
- thumb_func_end sub_800FCD4
-
- thumb_func_start sub_800FCFC
-sub_800FCFC: @ 800FCFC
- push {lr}
- bl Random
- ldr r1, _0800FD78 @ =REG_BG0HOFS
- ldr r0, _0800FD7C @ =gUnknown_030042A4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _0800FD80 @ =gUnknown_030042A0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _0800FD84 @ =gUnknown_030042C0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _0800FD88 @ =gUnknown_030041B4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _0800FD8C @ =gUnknown_03004288
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _0800FD90 @ =gUnknown_03004280
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _0800FD94 @ =gUnknown_030041B0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _0800FD98 @ =gUnknown_030041B8
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x22
- ldr r0, _0800FD9C @ =gUnknown_030042C4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x4
- ldr r0, _0800FDA0 @ =gUnknown_03004240
- ldrh r0, [r0]
- strh r0, [r1]
- subs r1, 0x2
- ldr r0, _0800FDA4 @ =gUnknown_03004200
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x4
- ldr r0, _0800FDA8 @ =gUnknown_03004244
- ldrh r0, [r0]
- strh r0, [r1]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_8089668
- pop {r0}
- bx r0
- .align 2, 0
-_0800FD78: .4byte REG_BG0HOFS
-_0800FD7C: .4byte gUnknown_030042A4
-_0800FD80: .4byte gUnknown_030042A0
-_0800FD84: .4byte gUnknown_030042C0
-_0800FD88: .4byte gUnknown_030041B4
-_0800FD8C: .4byte gUnknown_03004288
-_0800FD90: .4byte gUnknown_03004280
-_0800FD94: .4byte gUnknown_030041B0
-_0800FD98: .4byte gUnknown_030041B8
-_0800FD9C: .4byte gUnknown_030042C4
-_0800FDA0: .4byte gUnknown_03004240
-_0800FDA4: .4byte gUnknown_03004200
-_0800FDA8: .4byte gUnknown_03004244
- thumb_func_end sub_800FCFC
-
- thumb_func_start nullsub_36
-nullsub_36: @ 800FDAC
- bx lr
- thumb_func_end nullsub_36
-
- thumb_func_start sub_800FDB0
-sub_800FDB0: @ 800FDB0
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0800FDD0
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- lsrs r0, 8
- ldrh r1, [r5, 0x30]
- adds r0, r1
- strh r0, [r5, 0x20]
- b _0800FDE2
-_0800FDD0:
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- asrs r0, 8
- ldrh r1, [r5, 0x30]
- subs r1, r0
- strh r1, [r5, 0x20]
-_0800FDE2:
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r5, 0x32]
- adds r0, r1
- strh r0, [r5, 0x32]
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0800FE16
- ldr r4, _0800FE1C @ =0x00002710
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- adds r0, r5, 0
- bl FreeSpriteOamMatrix
- adds r0, r5, 0
- bl DestroySprite
-_0800FE16:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800FE1C: .4byte 0x00002710
- thumb_func_end sub_800FDB0
-
- thumb_func_start sub_800FE20
-sub_800FE20: @ 800FE20
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r0, _0800FE3C @ =sub_800FDB0
- str r0, [r4, 0x1C]
- movs r0, 0x68
- bl PlaySE
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800FE3C: .4byte sub_800FDB0
- thumb_func_end sub_800FE20
-
- thumb_func_start sub_800FE40
-sub_800FE40: @ 800FE40
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- ldr r0, _0800FE88 @ =0x02000000
- ldr r2, _0800FE8C @ =0x000160cb
- adds r0, r2
- ldrb r2, [r0]
- ldr r0, _0800FE90 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0800FEB4
- ldr r1, _0800FE94 @ =gLinkPlayers
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x18]
- cmp r0, 0x1
- beq _0800FEA0
- cmp r0, 0x1
- bgt _0800FE98
- cmp r0, 0
- beq _0800FEB4
- b _0800FEBC
- .align 2, 0
-_0800FE88: .4byte 0x02000000
-_0800FE8C: .4byte 0x000160cb
-_0800FE90: .4byte gBattleTypeFlags
-_0800FE94: .4byte gLinkPlayers
-_0800FE98:
- cmp r0, 0x2
- beq _0800FEB4
- cmp r0, 0x3
- bne _0800FEBC
-_0800FEA0:
- ldr r1, _0800FEAC @ =gEnemyParty
- str r1, [sp, 0x4]
- ldr r2, _0800FEB0 @ =gPlayerParty
- str r2, [sp, 0x8]
- b _0800FEBC
- .align 2, 0
-_0800FEAC: .4byte gEnemyParty
-_0800FEB0: .4byte gPlayerParty
-_0800FEB4:
- ldr r3, _08010008 @ =gPlayerParty
- str r3, [sp, 0x4]
- ldr r0, _0801000C @ =gEnemyParty
- str r0, [sp, 0x8]
-_0800FEBC:
- movs r7, 0
- movs r1, 0
- mov r8, r1
- ldr r2, [sp]
- lsls r2, 2
- str r2, [sp, 0xC]
- movs r3, 0xCE
- lsls r3, 1
- mov r10, r3
- mov r9, r1
-_0800FED0:
- movs r0, 0x64
- mov r4, r8
- muls r4, r0
- ldr r0, [sp, 0x4]
- adds r4, r0, r4
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- adds r1, r0, 0
- cmp r5, 0
- beq _0800FF40
- cmp r5, r10
- beq _0800FF14
- cmp r6, 0
- beq _0800FF14
- cmp r1, 0
- bne _0800FF14
- movs r0, 0x1
- mov r2, r9
- lsls r0, r2
- orrs r7, r0
-_0800FF14:
- cmp r5, 0
- beq _0800FF40
- cmp r6, 0
- beq _0800FF2C
- cmp r5, r10
- beq _0800FF24
- cmp r1, 0
- beq _0800FF2C
-_0800FF24:
- movs r0, 0x2
- mov r3, r9
- lsls r0, r3
- orrs r7, r0
-_0800FF2C:
- cmp r5, 0
- beq _0800FF40
- cmp r5, r10
- beq _0800FF40
- cmp r6, 0
- bne _0800FF40
- movs r0, 0x3
- mov r1, r9
- lsls r0, r1
- orrs r7, r0
-_0800FF40:
- movs r2, 0x2
- add r9, r2
- movs r3, 0x1
- add r8, r3
- mov r0, r8
- cmp r0, 0x5
- ble _0800FED0
- ldr r1, _08010010 @ =gTasks
- ldr r2, [sp, 0xC]
- ldr r3, [sp]
- adds r0, r2, r3
- lsls r0, 3
- adds r0, r1
- strh r7, [r0, 0xE]
- movs r7, 0
- movs r0, 0
- mov r8, r0
- movs r1, 0xCE
- lsls r1, 1
- mov r10, r1
- mov r9, r0
-_0800FF6A:
- movs r0, 0x64
- mov r4, r8
- muls r4, r0
- ldr r2, [sp, 0x8]
- adds r4, r2, r4
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- adds r1, r0, 0
- cmp r5, 0
- beq _0800FFDA
- cmp r5, r10
- beq _0800FFAE
- cmp r6, 0
- beq _0800FFAE
- cmp r1, 0
- bne _0800FFAE
- movs r0, 0x1
- mov r3, r9
- lsls r0, r3
- orrs r7, r0
-_0800FFAE:
- cmp r5, 0
- beq _0800FFDA
- cmp r6, 0
- beq _0800FFC6
- cmp r5, r10
- beq _0800FFBE
- cmp r1, 0
- beq _0800FFC6
-_0800FFBE:
- movs r0, 0x2
- mov r1, r9
- lsls r0, r1
- orrs r7, r0
-_0800FFC6:
- cmp r5, 0
- beq _0800FFDA
- cmp r5, r10
- beq _0800FFDA
- cmp r6, 0
- bne _0800FFDA
- movs r0, 0x3
- mov r2, r9
- lsls r0, r2
- orrs r7, r0
-_0800FFDA:
- movs r3, 0x2
- add r9, r3
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x5
- ble _0800FF6A
- ldr r1, _08010010 @ =gTasks
- ldr r2, [sp, 0xC]
- ldr r3, [sp]
- adds r0, r2, r3
- lsls r0, 3
- adds r0, r1
- strh r7, [r0, 0x10]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08010008: .4byte gPlayerParty
-_0801000C: .4byte gEnemyParty
-_08010010: .4byte gTasks
- thumb_func_end sub_800FE40
-
- thumb_func_start c2_8011A1C
-c2_8011A1C: @ 8010014
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- bl SetVBlankCallback
- movs r4, 0
- str r4, [sp]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, _08010144 @ =0x05006000
- mov r0, sp
- bl CpuSet
- ldr r0, _08010148 @ =REG_MOSAIC
- strh r4, [r0]
- subs r0, 0xC
- movs r2, 0xF0
- strh r2, [r0]
- adds r0, 0x4
- ldr r3, _0801014C @ =0x00005051
- adds r1, r3, 0
- strh r1, [r0]
- adds r0, 0x4
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- ldr r0, _08010150 @ =gUnknown_030042C4
- strh r2, [r0]
- ldr r0, _08010154 @ =gUnknown_03004240
- strh r1, [r0]
- bl dp12_8087EA4
- ldr r0, _08010158 @ =gUnknown_03004DE0
- movs r3, 0xF0
- movs r4, 0xF0
- lsls r4, 3
- adds r2, r0, r4
- movs r1, 0x4F
-_08010066:
- strh r3, [r0]
- strh r3, [r2]
- adds r2, 0x2
- adds r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08010066
- movs r1, 0x50
- ldr r5, _0801015C @ =gWindowConfig_81E6C58
- ldr r0, _08010158 @ =gUnknown_03004DE0
- ldr r3, _08010160 @ =0x0000ff10
- movs r4, 0x82
- lsls r4, 4
- adds r2, r0, r4
- adds r0, 0xA0
-_08010084:
- strh r3, [r0]
- strh r3, [r2]
- adds r2, 0x2
- adds r0, 0x2
- adds r1, 0x1
- cmp r1, 0x9F
- ble _08010084
- adds r0, r5, 0
- bl SetUpWindowConfig
- bl ResetPaletteFade
- ldr r0, _08010164 @ =gUnknown_030042A4
- movs r4, 0
- strh r4, [r0]
- ldr r0, _08010168 @ =gUnknown_030042A0
- strh r4, [r0]
- ldr r0, _0801016C @ =gUnknown_030042C0
- strh r4, [r0]
- ldr r0, _08010170 @ =gUnknown_030041B4
- strh r4, [r0]
- ldr r0, _08010174 @ =gUnknown_03004288
- strh r4, [r0]
- ldr r0, _08010178 @ =gUnknown_03004280
- strh r4, [r0]
- ldr r0, _0801017C @ =gUnknown_030041B0
- strh r4, [r0]
- ldr r0, _08010180 @ =gUnknown_030041B8
- strh r4, [r0]
- ldr r0, _08010184 @ =gUnknown_03004210
- adds r1, r5, 0
- bl InitWindowFromConfig
- ldr r0, _08010188 @ =gUnknown_030041D0
- ldr r1, _0801018C @ =gWindowConfig_81E71D0
- bl InitWindowFromConfig
- ldr r0, _08010190 @ =gUnknown_03004250
- ldr r1, _08010194 @ =gWindowConfig_81E71EC
- bl InitWindowFromConfig
- bl sub_800D6D4
- ldr r0, _08010198 @ =gUnknown_08D004E0
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- bl sub_800D74C
- bl ResetSpriteData
- bl ResetTasks
- bl sub_800E23C
- ldr r1, _0801019C @ =REG_WINOUT
- movs r0, 0x37
- strh r0, [r1]
- bl FreeAllSpritePalettes
- ldr r1, _080101A0 @ =gReservedSpritePaletteCount
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, _080101A4 @ =sub_800FCFC
- bl SetVBlankCallback
- ldr r0, _080101A8 @ =sub_800DE30
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080101AC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x87
- lsls r2, 1
- strh r2, [r1, 0xA]
- movs r2, 0x5A
- strh r2, [r1, 0xC]
- movs r2, 0x1
- strh r2, [r1, 0x12]
- bl sub_800FE40
- ldr r0, _080101B0 @ =sub_80101B8
- bl SetMainCallback2
- ldr r0, _080101B4 @ =gUnknown_02024D1E
- strb r4, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08010144: .4byte 0x05006000
-_08010148: .4byte REG_MOSAIC
-_0801014C: .4byte 0x00005051
-_08010150: .4byte gUnknown_030042C4
-_08010154: .4byte gUnknown_03004240
-_08010158: .4byte gUnknown_03004DE0
-_0801015C: .4byte gWindowConfig_81E6C58
-_08010160: .4byte 0x0000ff10
-_08010164: .4byte gUnknown_030042A4
-_08010168: .4byte gUnknown_030042A0
-_0801016C: .4byte gUnknown_030042C0
-_08010170: .4byte gUnknown_030041B4
-_08010174: .4byte gUnknown_03004288
-_08010178: .4byte gUnknown_03004280
-_0801017C: .4byte gUnknown_030041B0
-_08010180: .4byte gUnknown_030041B8
-_08010184: .4byte gUnknown_03004210
-_08010188: .4byte gUnknown_030041D0
-_0801018C: .4byte gWindowConfig_81E71D0
-_08010190: .4byte gUnknown_03004250
-_08010194: .4byte gWindowConfig_81E71EC
-_08010198: .4byte gUnknown_08D004E0
-_0801019C: .4byte REG_WINOUT
-_080101A0: .4byte gReservedSpritePaletteCount
-_080101A4: .4byte sub_800FCFC
-_080101A8: .4byte sub_800DE30
-_080101AC: .4byte gTasks
-_080101B0: .4byte sub_80101B8
-_080101B4: .4byte gUnknown_02024D1E
- thumb_func_end c2_8011A1C
-
- thumb_func_start sub_80101B8
-sub_80101B8: @ 80101B8
- push {lr}
- bl c2_081284E0
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- bl RunTasks
- pop {r0}
- bx r0
- thumb_func_end sub_80101B8
-
- thumb_func_start c2_081284E0
-c2_081284E0: @ 80101D4
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080101EC @ =gUnknown_02024D1E
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _080101FC
- cmp r0, 0x1
- bgt _080101F0
- cmp r0, 0
- beq _080101F6
- b _08010236
- .align 2, 0
-_080101EC: .4byte gUnknown_02024D1E
-_080101F0:
- cmp r0, 0x2
- beq _08010222
- b _08010236
-_080101F6:
- movs r0, 0xFF
- strb r0, [r4, 0x1]
- b _0801021A
-_080101FC:
- ldrb r0, [r4, 0x1]
- subs r0, 0x1
- strb r0, [r4, 0x1]
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08010236
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0801021A:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08010236
-_08010222:
- ldr r0, _08010240 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08010236
- ldr r0, _08010244 @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_08010236:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08010240: .4byte gPaletteFade
-_08010244: .4byte gMain
- thumb_func_end c2_081284E0
-
- thumb_func_start oac_poke_opponent
-oac_poke_opponent: @ 8010248
- push {lr}
- sub sp, 0x4
- ldr r1, _08010270 @ =sub_8010278
- str r1, [r0, 0x1C]
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- movs r0, 0x80
- lsls r0, 10
- ldr r1, _08010274 @ =0x00003def
- str r1, [sp]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0xA
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08010270: .4byte sub_8010278
-_08010274: .4byte 0x00003def
- thumb_func_end oac_poke_opponent
-
- thumb_func_start sub_8010278
-sub_8010278: @ 8010278
- push {lr}
- adds r2, r0, 0
- ldr r0, _080102A4 @ =gUnknown_02024DE8
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080102A0
- ldrh r0, [r2, 0x24]
- adds r0, 0x2
- strh r0, [r2, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _080102A0
- ldr r0, _080102A8 @ =sub_80102AC
- str r0, [r2, 0x1C]
- ldrh r0, [r2, 0x32]
- movs r1, 0x19
- bl PlayCry1
-_080102A0:
- pop {r0}
- bx r0
- .align 2, 0
-_080102A4: .4byte gUnknown_02024DE8
-_080102A8: .4byte sub_80102AC
- thumb_func_end sub_8010278
-
- thumb_func_start sub_80102AC
-sub_80102AC: @ 80102AC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080102F4
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl sub_804777C
- ldr r1, _080102FC @ =gUnknown_03004340
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8043DFC
- ldr r0, _08010300 @ =nullsub_37
- str r0, [r4, 0x1C]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- movs r0, 0x80
- lsls r0, 10
- ldr r1, _08010304 @ =0x00003def
- str r1, [sp]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl BeginNormalPaletteFade
-_080102F4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080102FC: .4byte gUnknown_03004340
-_08010300: .4byte nullsub_37
-_08010304: .4byte 0x00003def
- thumb_func_end sub_80102AC
-
- thumb_func_start nullsub_37
-nullsub_37: @ 8010308
- bx lr
- thumb_func_end nullsub_37
-
- thumb_func_start unref_sub_801030C
-unref_sub_801030C: @ 801030C
- movs r1, 0x6
- strh r1, [r0, 0x34]
- movs r1, 0x1
- strh r1, [r0, 0x36]
- ldr r1, _0801031C @ =sub_8010320
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_0801031C: .4byte sub_8010320
- thumb_func_end unref_sub_801030C
-
- thumb_func_start sub_8010320
-sub_8010320: @ 8010320
- push {r4,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x36]
- subs r0, 0x1
- strh r0, [r3, 0x36]
- lsls r0, 16
- cmp r0, 0
- bne _08010374
- movs r0, 0x8
- strh r0, [r3, 0x36]
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r4, 0x5
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x34]
- subs r0, 0x1
- strh r0, [r3, 0x34]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _08010374
- ldrb r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- mov r1, r12
- strb r0, [r1]
- ldr r0, _0801037C @ =nullsub_37
- str r0, [r3, 0x1C]
- ldr r0, _08010380 @ =gUnknown_03004284
- str r2, [r0]
-_08010374:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801037C: .4byte nullsub_37
-_08010380: .4byte gUnknown_03004284
- thumb_func_end sub_8010320
-
- thumb_func_start sub_8010384
-sub_8010384: @ 8010384
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r0
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, r6, 2
- ldr r0, _080103A4 @ =0x02017800
- adds r1, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _080103A8
- adds r4, r0, 0
- b _080103AC
- .align 2, 0
-_080103A4: .4byte 0x02017800
-_080103A8:
- mov r0, r9
- ldrh r4, [r0, 0x32]
-_080103AC:
- ldr r1, _08010414 @ =gUnknown_02024A6A
- lsls r0, r6, 1
- adds r5, r0, r1
- ldrh r0, [r5]
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r7, _08010418 @ =gEnemyParty
- adds r0, r7
- movs r1, 0
- bl GetMonData
- cmp r4, SPECIES_UNOWN
- bne _08010430
- ldrh r0, [r5]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _0801041C
- movs r0, SPECIES_UNOWN
- b _08010426
- .align 2, 0
-_08010414: .4byte gUnknown_02024A6A
-_08010418: .4byte gEnemyParty
-_0801041C:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_08010426:
- ldr r1, _0801042C @ =gMonFrontPicCoords
- lsls r0, 2
- b _08010468
- .align 2, 0
-_0801042C: .4byte gMonFrontPicCoords
-_08010430:
- ldr r0, _08010448 @ =SPECIES_CASTFORM
- cmp r4, r0 @ Check if pokemon species is Castform
- bne _08010454
- ldr r0, _0801044C @ =gUnknownCastformCoords_0837F598
- ldr r1, _08010450 @ =gBattleMonForms
- adds r1, r6, r1
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- b _0801046C
- .align 2, 0
-_08010448: .4byte SPECIES_CASTFORM
-_0801044C: .4byte gUnknownCastformCoords_0837F598
-_08010450: .4byte gBattleMonForms
-_08010454:
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _08010464
- ldr r0, _08010460 @ =gMonFrontPicCoords
- b _0801046A
- .align 2, 0
-_08010460: .4byte gMonFrontPicCoords
-_08010464:
- ldr r1, _0801048C @ =gMonFrontPicCoords
- lsls r0, r4, 2
-_08010468:
- adds r0, r1
-_0801046A:
- ldrb r0, [r0, 0x1]
-_0801046C:
- lsrs r1, r0, 3
- movs r0, 0x8
- subs r0, r1
- mov r1, r9
- strh r0, [r1, 0x34]
- movs r0, 0x1
- strh r0, [r1, 0x36]
- ldr r0, _08010490 @ =sub_8010494
- str r0, [r1, 0x1C]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801048C: .4byte gMonFrontPicCoords
-_08010490: .4byte sub_8010494
- thumb_func_end sub_8010384
-
- thumb_func_start sub_8010494
-sub_8010494: @ 8010494
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x36]
- subs r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- cmp r0, 0
- bne _08010510
- movs r0, 0x2
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x26]
- adds r0, 0x8
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- cmp r0, 0
- bge _080104C8
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- b _08010510
-_080104C8:
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl battle_get_per_side_status
- ldr r1, _08010518 @ =gUnknown_081FAF4C
- lsls r0, 24
- lsrs r0, 22
- adds r0, r1
- ldr r2, _0801051C @ =gBattleMonForms
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 11
- ldr r2, [r0]
- adds r2, r1
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- lsls r0, 8
- adds r2, r0
- movs r1, 0
- movs r0, 0xFF
-_080104F6:
- strb r1, [r2]
- adds r2, 0x1
- subs r0, 0x1
- cmp r0, 0
- bge _080104F6
- ldr r0, _0801051C @ =gBattleMonForms
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- adds r1, r0
- ldrb r1, [r1]
- adds r0, r4, 0
- bl StartSpriteAnim
-_08010510:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08010518: .4byte gUnknown_081FAF4C
-_0801051C: .4byte gBattleMonForms
- thumb_func_end sub_8010494
-
- thumb_func_start sub_8010520
-sub_8010520: @ 8010520
- movs r1, 0x8
- strh r1, [r0, 0x34]
- adds r1, r0, 0
- adds r1, 0x3E
- ldrb r1, [r1]
- lsls r1, 29
- lsrs r1, 31
- strh r1, [r0, 0x36]
- ldr r1, _08010538 @ =sub_801053C
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_08010538: .4byte sub_801053C
- thumb_func_end sub_8010520
-
- thumb_func_start sub_801053C
-sub_801053C: @ 801053C
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x34]
- subs r0, 0x1
- strh r0, [r3, 0x34]
- lsls r0, 16
- cmp r0, 0
- bne _0801056E
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- movs r0, 0x8
- strh r0, [r3, 0x34]
-_0801056E:
- pop {r0}
- bx r0
- thumb_func_end sub_801053C
-
- thumb_func_start sub_8010574
-sub_8010574: @ 8010574
- movs r1, 0x3E
- adds r1, r0
- mov r12, r1
- movs r1, 0x1
- ldrh r2, [r0, 0x36]
- ands r2, r1
- lsls r2, 2
- mov r1, r12
- ldrb r3, [r1]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- mov r2, r12
- strb r1, [r2]
- movs r1, 0
- strh r1, [r0, 0x36]
- ldr r1, _0801059C @ =nullsub_37
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_0801059C: .4byte nullsub_37
- thumb_func_end sub_8010574
-
- thumb_func_start sub_80105A0
-sub_80105A0: @ 80105A0
- ldr r1, _080105A8 @ =oac_poke_ally_
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080105A8: .4byte oac_poke_ally_
- thumb_func_end sub_80105A0
-
- thumb_func_start oac_poke_ally_
-oac_poke_ally_: @ 80105AC
- push {lr}
- adds r2, r0, 0
- ldr r0, _080105D4 @ =gUnknown_02024DE8
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080105D0
- ldrh r0, [r2, 0x24]
- subs r0, 0x2
- strh r0, [r2, 0x24]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _080105D0
- ldr r0, _080105D8 @ =nullsub_86
- str r0, [r2, 0x1C]
- strh r1, [r2, 0x30]
-_080105D0:
- pop {r0}
- bx r0
- .align 2, 0
-_080105D4: .4byte gUnknown_02024DE8
-_080105D8: .4byte nullsub_86
- thumb_func_end oac_poke_ally_
-
- thumb_func_start sub_80105DC
-sub_80105DC: @ 80105DC
- ldr r1, _080105E4 @ =nullsub_86
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080105E4: .4byte nullsub_86
- thumb_func_end sub_80105DC
-
- thumb_func_start nullsub_86
-nullsub_86: @ 80105E8
- bx lr
- thumb_func_end nullsub_86
-
- thumb_func_start sub_80105EC
-sub_80105EC: @ 80105EC
- push {lr}
- adds r2, r0, 0
- ldr r0, _08010610 @ =gUnknown_02024DE8
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0801060C
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x26]
- adds r0, r1
- strh r0, [r2, 0x26]
-_0801060C:
- pop {r0}
- bx r0
- .align 2, 0
-_08010610: .4byte gUnknown_02024DE8
- thumb_func_end sub_80105EC
-
- thumb_func_start dp11b_obj_instanciate
-dp11b_obj_instanciate: @ 8010614
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- cmp r1, 0
- beq _0801064C
- lsls r2, r4, 1
- adds r0, r2, r4
- lsls r0, 2
- ldr r1, _08010648 @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- b _0801065A
- .align 2, 0
-_08010648: .4byte 0x02017810
-_0801064C:
- lsls r2, r4, 1
- adds r0, r2, r4
- lsls r0, 2
- ldr r1, _08010698 @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
-_0801065A:
- ands r0, r1
- adds r6, r2, 0
- cmp r0, 0
- bne _080106FA
- ldr r0, _0801069C @ =objc_dp11b_pingpong
- bl CreateInvisibleSpriteWithCallback
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r8
- cmp r0, 0x1
- bne _080106A8
- ldr r0, _080106A0 @ =gUnknown_03004340
- adds r0, r4, r0
- ldrb r7, [r0]
- adds r0, r6, r4
- lsls r0, 2
- ldr r1, _08010698 @ =0x02017810
- adds r0, r1
- strb r5, [r0, 0x2]
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
- ldr r2, _080106A4 @ =gSprites
- lsls r3, r5, 4
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0x80
- b _080106CC
- .align 2, 0
-_08010698: .4byte 0x02017810
-_0801069C: .4byte objc_dp11b_pingpong
-_080106A0: .4byte gUnknown_03004340
-_080106A4: .4byte gSprites
-_080106A8:
- ldr r0, _08010708 @ =gUnknown_02024BE0
- adds r0, r4, r0
- ldrb r7, [r0]
- adds r0, r6, r4
- lsls r0, 2
- ldr r1, _0801070C @ =0x02017810
- adds r0, r1
- strb r5, [r0, 0x3]
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r2, _08010710 @ =gSprites
- lsls r3, r5, 4
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0xC0
-_080106CC:
- strh r1, [r0, 0x2E]
- adds r4, r2, 0
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r4
- mov r2, r9
- lsls r0, r2, 24
- asrs r0, 24
- movs r2, 0
- strh r0, [r1, 0x30]
- mov r3, r10
- lsls r0, r3, 24
- asrs r0, 24
- strh r0, [r1, 0x32]
- strh r7, [r1, 0x34]
- mov r0, r8
- strh r0, [r1, 0x36]
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x24]
- strh r2, [r0, 0x26]
-_080106FA:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08010708: .4byte gUnknown_02024BE0
-_0801070C: .4byte 0x02017810
-_08010710: .4byte gSprites
- thumb_func_end dp11b_obj_instanciate
-
- thumb_func_start dp11b_obj_free
-dp11b_obj_free: @ 8010714
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x1
- bne _0801075C
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _08010754 @ =0x02017810
- adds r5, r0, r1
- ldrb r1, [r5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080107A0
- ldr r2, _08010758 @ =gSprites
- ldrb r1, [r5, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x34]
- lsls r1, 24
- lsrs r4, r1, 24
- bl DestroySprite
- ldrb r1, [r5]
- movs r0, 0x3
- negs r0, r0
- b _0801078C
- .align 2, 0
-_08010754: .4byte 0x02017810
-_08010758: .4byte gSprites
-_0801075C:
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _080107A8 @ =0x02017810
- adds r5, r0, r1
- ldrb r1, [r5]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080107A0
- ldr r2, _080107AC @ =gSprites
- ldrb r1, [r5, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x34]
- lsls r1, 24
- lsrs r4, r1, 24
- bl DestroySprite
- ldrb r1, [r5]
- movs r0, 0x5
- negs r0, r0
-_0801078C:
- ands r0, r1
- strb r0, [r5]
- ldr r0, _080107AC @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x24]
- strh r0, [r1, 0x26]
-_080107A0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080107A8: .4byte 0x02017810
-_080107AC: .4byte gSprites
- thumb_func_end dp11b_obj_free
-
- thumb_func_start objc_dp11b_pingpong
-objc_dp11b_pingpong: @ 80107B0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080107C8
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- b _080107CC
-_080107C8:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
-_080107CC:
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- ldr r2, _080107F8 @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r4, 0x32]
- adds r0, r2
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x2E]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080107F8: .4byte gSprites
- thumb_func_end objc_dp11b_pingpong
-
- thumb_func_start nullsub_41
-nullsub_41: @ 80107FC
- bx lr
- thumb_func_end nullsub_41
-
- thumb_func_start sub_8010800
-sub_8010800: @ 8010800
- push {lr}
- bl sub_8010874
- ldr r1, _08010818 @ =gUnknown_02024D1E
- movs r0, 0
- strb r0, [r1, 0x1]
- ldr r1, _0801081C @ =gUnknown_030042D4
- ldr r0, _08010820 @ =bc_8012FAC
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08010818: .4byte gUnknown_02024D1E
-_0801081C: .4byte gUnknown_030042D4
-_08010820: .4byte bc_8012FAC
- thumb_func_end sub_8010800
-
- thumb_func_start sub_8010824
-sub_8010824: @ 8010824
- push {r4,r5,lr}
- ldr r0, _08010864 @ =gUnknown_030042D4
- ldr r0, [r0]
- bl _call_via_r0
- ldr r1, _08010868 @ =gUnknown_02024A60
- movs r0, 0
- strb r0, [r1]
- ldr r0, _0801086C @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801085E
- ldr r5, _08010870 @ =gUnknown_03004330
- adds r4, r1, 0
-_08010840:
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- bl _call_via_r0
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _0801086C @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08010840
-_0801085E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08010864: .4byte gUnknown_030042D4
-_08010868: .4byte gUnknown_02024A60
-_0801086C: .4byte gUnknown_02024A68
-_08010870: .4byte gUnknown_03004330
- thumb_func_end sub_8010824
-
- thumb_func_start sub_8010874
-sub_8010874: @ 8010874
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- bl sub_801365C
- bl sub_801377C
- movs r2, 0
- movs r3, 0
- ldr r0, _08010AC8 @ =gUnknown_02024C4C
- mov r10, r0
- ldr r1, _08010ACC @ =gUnknown_02024C44
- mov r9, r1
- ldr r4, _08010AD0 @ =gUnknown_02024C3C
- mov r8, r4
- ldr r0, _08010AD4 @ =gUnknown_02024C34
- mov r12, r0
- ldr r4, _08010AD8 @ =gUnknown_02024CA8
- movs r5, 0
- ldr r7, _08010ADC @ =gUnknown_02024C2C
- ldr r6, _08010AE0 @ =gUnknown_02024C54
-_080108A4:
- ldr r0, _08010AE4 @ =gUnknown_02024C98
- adds r0, r5, r0
- str r3, [r0]
- movs r1, 0
-_080108AC:
- adds r0, r4, r1
- strb r3, [r0]
- adds r1, 0x1
- cmp r1, 0x1B
- bls _080108AC
- movs r0, 0x2
- strb r0, [r4, 0x16]
- ldr r1, _08010AE8 @ =gUnknown_02024C70
- adds r0, r2, r1
- strb r3, [r0]
- mov r0, r12
- strh r3, [r0]
- mov r1, r8
- strh r3, [r1]
- mov r0, r9
- strh r3, [r0]
- mov r1, r10
- strh r3, [r1]
- ldr r0, _08010AEC @ =gUnknown_02024C5C
- adds r1, r2, r0
- movs r0, 0xFF
- strb r0, [r1]
- strh r3, [r6]
- strh r3, [r7]
- ldr r1, _08010AF0 @ =0x02017100
- adds r0, r5, r1
- str r3, [r0]
- movs r0, 0x2
- add r10, r0
- add r9, r0
- add r8, r0
- add r12, r0
- adds r4, 0x1C
- adds r5, 0x4
- adds r7, 0x2
- adds r6, 0x2
- adds r2, 0x1
- cmp r2, 0x3
- ble _080108A4
- movs r5, 0
- ldr r3, _08010AF4 @ =gUnknown_02024C80
- ldr r4, _08010AF8 @ =gUnknown_02024C7A
- movs r2, 0x1
-_08010902:
- strh r5, [r4]
- movs r1, 0
-_08010906:
- adds r0, r3, r1
- strb r5, [r0]
- adds r1, 0x1
- cmp r1, 0xB
- bls _08010906
- adds r3, 0xC
- adds r4, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _08010902
- movs r1, 0
- ldr r2, _08010AFC @ =gPlayerMonIndex
- strb r1, [r2]
- ldr r3, _08010B00 @ =gEnemyMonIndex
- strb r1, [r3]
- ldr r4, _08010B04 @ =gBattleWeather
- strh r1, [r4]
- ldr r1, _08010B08 @ =gUnknown_02024DBC
- movs r2, 0
- movs r3, 0
-_0801092E:
- adds r0, r1, r2
- strb r3, [r0]
- adds r2, 0x1
- cmp r2, 0x2B
- bls _0801092E
- movs r0, 0
- ldr r1, _08010B0C @ =gUnknown_02024C6C
- str r0, [r1]
- ldr r2, _08010B10 @ =gBattleTypeFlags
- ldrh r1, [r2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0801095C
- ldr r3, _08010B14 @ =gSaveBlock2
- ldrb r1, [r3, 0x15]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0801095C
- movs r0, 0x80
- ldr r4, _08010B0C @ =gUnknown_02024C6C
- str r0, [r4]
-_0801095C:
- ldr r1, _08010B14 @ =gSaveBlock2
- ldrb r0, [r1, 0x15]
- lsls r0, 30
- lsrs r0, 31
- ldr r3, _08010B18 @ =0x02000000
- ldr r4, _08010B1C @ =0x00016084
- adds r2, r3, r4
- movs r1, 0
- strb r0, [r2]
- ldr r0, _08010B20 @ =gUnknown_02024C0E
- strb r1, [r0]
- ldr r2, _08010B24 @ =gUnknown_02024D26
- strb r1, [r2]
- ldr r3, _08010B28 @ =gUnknown_02024A64
- str r1, [r3]
- movs r2, 0
- ldr r4, _08010B2C @ =gUnknown_02024D1A
- strh r1, [r4]
- ldr r1, _08010B18 @ =0x02000000
- ldr r3, _08010B30 @ =0x00017130
- adds r0, r1, r3
- strb r2, [r0]
- ldr r4, _08010B34 @ =0x00017160
- adds r0, r1, r4
- strb r2, [r0]
- ldr r1, _08010B38 @ =gUnknown_02024D1E
- movs r2, 0
- adds r0, r1, 0x7
-_08010994:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08010994
- movs r5, 0
- ldr r0, _08010B3C @ =gUnknown_02024D18
- strh r5, [r0]
- movs r0, 0
- ldr r1, _08010B40 @ =gBattleMoveDamage
- str r0, [r1]
- ldr r2, _08010B44 @ =gUnknown_02024DE8
- strh r0, [r2]
- ldr r4, _08010B18 @ =0x02000000
- ldr r3, _08010B48 @ =0x00016002
- adds r0, r4, r3
- strb r5, [r0]
- ldr r1, _08010B4C @ =0x000160a1
- adds r0, r4, r1
- strb r5, [r0]
- ldr r2, _08010B50 @ =gUnknown_03004324
- strb r5, [r2]
- ldr r3, _08010B54 @ =gUnknown_02024C0C
- strb r5, [r3]
- subs r1, 0x29
- adds r0, r4, r1
- strb r5, [r0]
- ldr r2, _08010B58 @ =0x00016086
- adds r0, r4, r2
- strb r5, [r0]
- ldr r3, _08010B5C @ =0x00016087
- adds r0, r4, r3
- strb r5, [r0]
- ldr r0, _08010B60 @ =gEnemyParty
- movs r1, 0xB
- bl GetMonData
- ldr r2, _08010B64 @ =gBaseStats
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x8]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08010B68 @ =0x000004fb
- bl __divsi3
- ldr r2, _08010B6C @ =0x00016089
- adds r1, r4, r2
- strb r0, [r1]
- ldr r3, _08010B70 @ =0x00016088
- adds r1, r4, r3
- movs r0, 0x3
- strb r0, [r1]
- ldr r1, _08010B74 @ =0x0001601b
- adds r0, r4, r1
- strb r5, [r0]
- subs r2, 0x33
- adds r1, r4, r2
- movs r0, 0x1
- strb r0, [r1]
- movs r2, 0
- movs r1, 0
-_08010A12:
- ldr r3, _08010B78 @ =0x000160ac
- adds r0, r2, r3
- adds r0, r4
- strb r1, [r0]
- adds r3, 0x20
- adds r0, r2, r3
- adds r0, r4
- strb r1, [r0]
- adds r3, 0x1C
- adds r0, r2, r3
- adds r0, r4
- strb r1, [r0]
- adds r3, 0x8
- adds r0, r2, r3
- adds r0, r4
- strb r1, [r0]
- adds r3, 0x10
- adds r0, r2, r3
- adds r0, r4
- strb r1, [r0]
- adds r3, 0x8
- adds r0, r2, r3
- adds r0, r4
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x7
- ble _08010A12
- ldr r4, _08010B18 @ =0x02000000
- ldr r1, _08010B7C @ =0x000160c8
- adds r0, r4, r1
- movs r2, 0
- movs r1, 0x6
- strb r1, [r0]
- subs r3, 0x3F
- adds r0, r4, r3
- strb r1, [r0]
- ldr r1, _08010B80 @ =0x00016113
- adds r0, r4, r1
- strb r2, [r0]
- ldr r3, _08010B84 @ =gUnknown_030042E0
- movs r1, 0
- movs r2, 0xA
- adds r0, r3, 0
- adds r0, 0x40
-_08010A6A:
- strb r1, [r0]
- subs r0, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _08010A6A
- movs r1, 0
- strb r1, [r3, 0x13]
- strb r1, [r3]
- strb r1, [r3, 0x1]
- strb r1, [r3, 0x2]
- strb r1, [r3, 0x3]
- strb r1, [r3, 0x4]
- ldrb r2, [r3, 0x5]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- movs r2, 0x3
- negs r2, r2
- ands r0, r2
- strb r0, [r3, 0x5]
- strh r1, [r3, 0x20]
- strh r1, [r3, 0x22]
- strh r1, [r3, 0x24]
- strh r1, [r3, 0x6]
- strh r1, [r3, 0x26]
- strh r1, [r3, 0x28]
- movs r2, 0
- adds r5, r3, 0
- adds r5, 0x8
- movs r4, 0
- adds r1, r3, 0
- adds r1, 0x14
-_08010AAA:
- adds r0, r2, r5
- strb r4, [r0]
- strb r4, [r1]
- strb r4, [r1, 0x16]
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, 0x9
- ble _08010AAA
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08010AC8: .4byte gUnknown_02024C4C
-_08010ACC: .4byte gUnknown_02024C44
-_08010AD0: .4byte gUnknown_02024C3C
-_08010AD4: .4byte gUnknown_02024C34
-_08010AD8: .4byte gUnknown_02024CA8
-_08010ADC: .4byte gUnknown_02024C2C
-_08010AE0: .4byte gUnknown_02024C54
-_08010AE4: .4byte gUnknown_02024C98
-_08010AE8: .4byte gUnknown_02024C70
-_08010AEC: .4byte gUnknown_02024C5C
-_08010AF0: .4byte 0x02017100
-_08010AF4: .4byte gUnknown_02024C80
-_08010AF8: .4byte gUnknown_02024C7A
-_08010AFC: .4byte gPlayerMonIndex
-_08010B00: .4byte gEnemyMonIndex
-_08010B04: .4byte gBattleWeather
-_08010B08: .4byte gUnknown_02024DBC
-_08010B0C: .4byte gUnknown_02024C6C
-_08010B10: .4byte gBattleTypeFlags
-_08010B14: .4byte gSaveBlock2
-_08010B18: .4byte 0x02000000
-_08010B1C: .4byte 0x00016084
-_08010B20: .4byte gUnknown_02024C0E
-_08010B24: .4byte gUnknown_02024D26
-_08010B28: .4byte gUnknown_02024A64
-_08010B2C: .4byte gUnknown_02024D1A
-_08010B30: .4byte 0x00017130
-_08010B34: .4byte 0x00017160
-_08010B38: .4byte gUnknown_02024D1E
-_08010B3C: .4byte gUnknown_02024D18
-_08010B40: .4byte gBattleMoveDamage
-_08010B44: .4byte gUnknown_02024DE8
-_08010B48: .4byte 0x00016002
-_08010B4C: .4byte 0x000160a1
-_08010B50: .4byte gUnknown_03004324
-_08010B54: .4byte gUnknown_02024C0C
-_08010B58: .4byte 0x00016086
-_08010B5C: .4byte 0x00016087
-_08010B60: .4byte gEnemyParty
-_08010B64: .4byte gBaseStats
-_08010B68: .4byte 0x000004fb
-_08010B6C: .4byte 0x00016089
-_08010B70: .4byte 0x00016088
-_08010B74: .4byte 0x0001601b
-_08010B78: .4byte 0x000160ac
-_08010B7C: .4byte 0x000160c8
-_08010B80: .4byte 0x00016113
-_08010B84: .4byte gUnknown_030042E0
- thumb_func_end sub_8010874
-
- thumb_func_start sub_8010B88
-sub_8010B88: @ 8010B88
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r4, _08010CEC @ =gUnknown_02024CA8
- ldr r5, _08010CF0 @ =gUnknown_02024A60
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- mov r1, sp
- adds r0, r4
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
- ldr r2, _08010CF4 @ =gBattleMoves
- ldr r3, _08010CF8 @ =gUnknown_02024BE6
- ldrh r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- mov r10, r4
- adds r7, r5, 0
- ldr r1, _08010CFC @ =gBattleMons
- mov r8, r1
- ldr r2, _08010D00 @ =gUnknown_02024C98
- mov r12, r2
- cmp r0, 0x7F
- beq _08010C66
- movs r5, 0
- adds r4, r7, 0
- movs r3, 0x58
- mov r2, r8
- adds r2, 0x18
- movs r1, 0x6
-_08010BDC:
- ldrb r0, [r4]
- muls r0, r3
- adds r0, r5, r0
- adds r0, r2
- strb r1, [r0]
- adds r5, 0x1
- cmp r5, 0x7
- ble _08010BDC
- movs r5, 0
- ldr r3, _08010D04 @ =gUnknown_02024A68
- ldrb r3, [r3]
- cmp r5, r3
- bge _08010C52
- ldr r6, _08010D08 @ =gUnknown_02024AD0
- mov r9, r6
- ldr r3, _08010CEC @ =gUnknown_02024CA8
- ldr r4, _08010D00 @ =gUnknown_02024C98
-_08010BFE:
- movs r0, 0x58
- muls r0, r5
- add r0, r9
- str r0, [sp, 0x20]
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 19
- ands r0, r1
- cmp r0, 0
- beq _08010C24
- ldrb r0, [r3, 0x14]
- ldr r2, _08010CF0 @ =gUnknown_02024A60
- ldrb r2, [r2]
- cmp r0, r2
- bne _08010C24
- ldr r0, _08010D0C @ =0xfbffffff
- ands r1, r0
- ldr r6, [sp, 0x20]
- str r1, [r6]
-_08010C24:
- ldr r1, [r4]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0
- beq _08010C44
- ldrb r0, [r3, 0x15]
- ldr r2, _08010CF0 @ =gUnknown_02024A60
- ldrb r2, [r2]
- cmp r0, r2
- bne _08010C44
- movs r0, 0x19
- negs r0, r0
- ands r1, r0
- str r1, [r4]
- movs r0, 0
- strb r0, [r3, 0x15]
-_08010C44:
- adds r3, 0x1C
- adds r4, 0x4
- adds r5, 0x1
- ldr r6, _08010D04 @ =gUnknown_02024A68
- ldrb r6, [r6]
- cmp r5, r6
- blt _08010BFE
-_08010C52:
- ldr r1, _08010CF8 @ =gUnknown_02024BE6
- ldrh r0, [r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r2, _08010CF4 @ =gBattleMoves
- adds r1, r2
- ldrb r0, [r1]
- cmp r0, 0x7F
- bne _08010D18
-_08010C66:
- ldrb r1, [r7]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- ldr r1, _08010D10 @ =0x15100007
- ands r0, r1
- str r0, [r2]
- ldrb r1, [r7]
- lsls r1, 2
- add r1, r12
- ldr r0, [r1]
- ldr r2, _08010D14 @ =0x0003043f
- ands r0, r2
- str r0, [r1]
- movs r5, 0
- ldr r3, _08010D04 @ =gUnknown_02024A68
- ldrb r3, [r3]
- cmp r5, r3
- bge _08010D30
- movs r6, 0
-_08010C96:
- ldrb r0, [r7]
- bl battle_side_get_owner
- adds r4, r0, 0
- lsls r0, r5, 24
- lsrs r0, 24
- bl battle_side_get_owner
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _08010CD6
- ldr r1, _08010D00 @ =gUnknown_02024C98
- lsls r0, r5, 2
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0
- beq _08010CD6
- ldr r0, _08010CEC @ =gUnknown_02024CA8
- adds r0, r6, r0
- ldrb r0, [r0, 0x15]
- ldrb r3, [r7]
- cmp r0, r3
- bne _08010CD6
- movs r0, 0x19
- negs r0, r0
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- str r1, [r2]
-_08010CD6:
- adds r6, 0x1C
- adds r5, 0x1
- ldr r0, _08010D04 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r5, r0
- blt _08010C96
- ldr r6, _08010CEC @ =gUnknown_02024CA8
- mov r10, r6
- ldr r7, _08010CF0 @ =gUnknown_02024A60
- b _08010D30
- .align 2, 0
-_08010CEC: .4byte gUnknown_02024CA8
-_08010CF0: .4byte gUnknown_02024A60
-_08010CF4: .4byte gBattleMoves
-_08010CF8: .4byte gUnknown_02024BE6
-_08010CFC: .4byte gBattleMons
-_08010D00: .4byte gUnknown_02024C98
-_08010D04: .4byte gUnknown_02024A68
-_08010D08: .4byte gUnknown_02024AD0
-_08010D0C: .4byte 0xfbffffff
-_08010D10: .4byte 0x15100007
-_08010D14: .4byte 0x0003043f
-_08010D18:
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- mov r1, r8
- adds r1, 0x50
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- add r0, r12
- str r1, [r0]
-_08010D30:
- movs r5, 0
- ldr r6, _08010EFC @ =0x02000000
- ldr r0, _08010F00 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r5, r0
- bge _08010D92
- ldr r1, _08010F04 @ =gUnknown_02024AD0
- mov r9, r1
- ldr r2, _08010F08 @ =gBitTable
- mov r8, r2
- ldr r4, _08010F0C @ =gUnknown_02024A60
- mov r12, r6
-_08010D48:
- movs r0, 0x58
- muls r0, r5
- mov r1, r9
- adds r3, r0, r1
- ldrb r0, [r4]
- lsls r0, 2
- add r0, r8
- ldr r0, [r0]
- lsls r2, r0, 16
- ldr r1, [r3]
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _08010D68
- bics r1, r2
- str r1, [r3]
-_08010D68:
- ldr r1, [r3]
- movs r0, 0xE0
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08010D88
- ldr r2, _08010F10 @ =0x00016020
- adds r0, r5, r2
- add r0, r12
- ldrb r0, [r0]
- ldrb r2, [r4]
- cmp r0, r2
- bne _08010D88
- ldr r0, _08010F14 @ =0xffff1fff
- ands r1, r0
- str r1, [r3]
-_08010D88:
- adds r5, 0x1
- ldr r3, _08010F00 @ =gUnknown_02024A68
- ldrb r3, [r3]
- cmp r5, r3
- blt _08010D48
-_08010D92:
- ldrb r0, [r7]
- ldr r1, _08010F18 @ =gUnknown_02024E60
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldrb r0, [r7]
- ldr r2, _08010F1C @ =gUnknown_02024E64
- adds r0, r2
- strb r1, [r0]
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- mov r3, r10
- adds r1, r0, r3
- movs r5, 0
- movs r2, 0
-_08010DB4:
- adds r0, r1, r5
- strb r2, [r0]
- adds r5, 0x1
- cmp r5, 0x1B
- bls _08010DB4
- ldr r1, _08010F20 @ =gUnknown_02024BE6
- ldrh r0, [r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r2, _08010F24 @ =gBattleMoves
- adds r1, r2
- ldrb r0, [r1]
- cmp r0, 0x7F
- bne _08010E2C
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r10
- mov r1, sp
- ldrb r1, [r1, 0xA]
- strb r1, [r0, 0xA]
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r10
- mov r1, sp
- ldrb r1, [r1, 0x15]
- strb r1, [r0, 0x15]
- ldrb r0, [r7]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- add r1, r10
- mov r0, sp
- ldrb r2, [r0, 0xF]
- lsls r2, 28
- movs r4, 0xF
- lsrs r2, 28
- ldrb r3, [r1, 0xF]
- movs r0, 0x10
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0xF]
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r10
- mov r1, sp
- ldrb r1, [r1, 0xF]
- lsrs r1, 4
- lsls r1, 4
- ldrb r2, [r0, 0xF]
- ands r4, r2
- orrs r4, r1
- strb r4, [r0, 0xF]
-_08010E2C:
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r10
- movs r3, 0
- movs r1, 0x2
- strb r1, [r0, 0x16]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _08010F28 @ =gUnknown_02024C34
- adds r0, r1
- movs r2, 0
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _08010F2C @ =gUnknown_02024C3C
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _08010F30 @ =gUnknown_02024C44
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _08010F34 @ =gUnknown_02024C4C
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _08010F38 @ =gUnknown_02024C2C
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- ldr r1, _08010F3C @ =gUnknown_02024C5C
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _08010F40 @ =0x000160ac
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x53
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x1
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x1
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x1
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- subs r1, 0x1B
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldr r2, _08010F44 @ =0x00017100
- adds r1, r6, r2
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- str r3, [r0]
- ldr r6, _08010F20 @ =gUnknown_02024BE6
- strh r3, [r6]
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08010EFC: .4byte 0x02000000
-_08010F00: .4byte gUnknown_02024A68
-_08010F04: .4byte gUnknown_02024AD0
-_08010F08: .4byte gBitTable
-_08010F0C: .4byte gUnknown_02024A60
-_08010F10: .4byte 0x00016020
-_08010F14: .4byte 0xffff1fff
-_08010F18: .4byte gUnknown_02024E60
-_08010F1C: .4byte gUnknown_02024E64
-_08010F20: .4byte gUnknown_02024BE6
-_08010F24: .4byte gBattleMoves
-_08010F28: .4byte gUnknown_02024C34
-_08010F2C: .4byte gUnknown_02024C3C
-_08010F30: .4byte gUnknown_02024C44
-_08010F34: .4byte gUnknown_02024C4C
-_08010F38: .4byte gUnknown_02024C2C
-_08010F3C: .4byte gUnknown_02024C5C
-_08010F40: .4byte 0x000160ac
-_08010F44: .4byte 0x00017100
- thumb_func_end sub_8010B88
-
- thumb_func_start sub_8010F48
-sub_8010F48: @ 8010F48
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r4, 0
- ldr r7, _08011268 @ =gUnknown_02024A60
- ldr r0, _0801126C @ =gUnknown_02024C98
- mov r9, r0
- ldr r1, _08011270 @ =gUnknown_02024A68
- mov r8, r1
- ldr r2, _08011274 @ =0x02000000
- mov r12, r2
- ldr r6, _08011278 @ =gUnknown_02024D28
- adds r5, r7, 0
- movs r3, 0x58
- ldr r2, _0801127C @ =gBattleMons
- adds r2, 0x18
- movs r1, 0x6
-_08010F70:
- ldrb r0, [r5]
- muls r0, r3
- adds r0, r4, r0
- adds r0, r2
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x7
- ble _08010F70
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- ldr r2, _0801127C @ =gBattleMons
- adds r2, 0x50
- adds r0, r2
- movs r1, 0
- str r1, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- add r0, r9
- str r1, [r0]
- movs r4, 0
- mov r0, r8
- ldrb r0, [r0]
- cmp r4, r0
- bge _08011012
- adds r3, r2, 0
- movs r5, 0
- ldr r1, _08011280 @ =gBitTable
- mov r10, r1
- ldr r2, _08011274 @ =0x02000000
- mov r9, r2
-_08010FAE:
- ldr r1, [r3]
- movs r0, 0x80
- lsls r0, 19
- ands r0, r1
- cmp r0, 0
- beq _08010FCC
- ldr r2, _08011284 @ =gUnknown_02024CA8
- adds r0, r5, r2
- ldrb r0, [r0, 0x14]
- ldrb r2, [r7]
- cmp r0, r2
- bne _08010FCC
- ldr r0, _08011288 @ =0xfbffffff
- ands r1, r0
- str r1, [r3]
-_08010FCC:
- ldrb r0, [r7]
- lsls r0, 2
- add r0, r10
- ldr r0, [r0]
- lsls r2, r0, 16
- ldr r1, [r3]
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _08010FE4
- bics r1, r2
- str r1, [r3]
-_08010FE4:
- ldr r1, [r3]
- movs r0, 0xE0
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08011004
- ldr r2, _0801128C @ =0x00016020
- adds r0, r4, r2
- add r0, r9
- ldrb r0, [r0]
- ldrb r2, [r7]
- cmp r0, r2
- bne _08011004
- ldr r0, _08011290 @ =0xffff1fff
- ands r1, r0
- str r1, [r3]
-_08011004:
- adds r3, 0x58
- adds r5, 0x1C
- adds r4, 0x1
- mov r0, r8
- ldrb r0, [r0]
- cmp r4, r0
- blt _08010FAE
-_08011012:
- ldrb r0, [r7]
- ldr r1, _08011294 @ =gUnknown_02024E60
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldrb r0, [r7]
- ldr r2, _08011298 @ =gUnknown_02024E64
- adds r0, r2
- strb r1, [r0]
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r2, _08011284 @ =gUnknown_02024CA8
- adds r1, r0, r2
- movs r4, 0
- movs r2, 0
-_08011034:
- adds r0, r1, r4
- strb r2, [r0]
- adds r4, 0x1
- cmp r4, 0x1B
- bls _08011034
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- mov r9, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r0, 0x3
- negs r0, r0
- mov r8, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- mov r10, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r5, 0x21
- negs r5, r5
- adds r0, r5, 0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r4, 0x41
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r3, 0x7F
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1, 0x1]
- mov r0, r9
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1, 0x1]
- mov r0, r8
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1, 0x1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1, 0x1]
- movs r0, 0x19
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x1]
- ands r5, r1
- strb r5, [r0, 0x1]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x1]
- ands r4, r1
- strb r4, [r0, 0x1]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x1]
- ands r3, r1
- strb r3, [r0, 0x1]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x2]
- mov r2, r9
- ands r2, r1
- strb r2, [r0, 0x2]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x2]
- mov r2, r8
- ands r2, r1
- strb r2, [r0, 0x2]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x2]
- movs r2, 0x5
- negs r2, r2
- ands r2, r1
- strb r2, [r0, 0x2]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x2]
- mov r2, r10
- ands r2, r1
- strb r2, [r0, 0x2]
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _08011284 @ =gUnknown_02024CA8
- adds r0, r1
- movs r3, 0
- movs r1, 0x2
- strb r1, [r0, 0x16]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r2, _0801129C @ =gUnknown_02024C34
- adds r0, r2
- movs r2, 0
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _080112A0 @ =gUnknown_02024C3C
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _080112A4 @ =gUnknown_02024C44
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _080112A8 @ =gUnknown_02024C4C
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _080112AC @ =gUnknown_02024C2C
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- ldr r1, _080112B0 @ =gUnknown_02024C5C
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _080112B4 @ =0x000160e8
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- subs r1, 0x3D
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x53
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x1
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x1
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x1
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldr r1, _080112B8 @ =0x00017100
- add r1, r12
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- str r3, [r0]
- ldrb r0, [r7]
- movs r3, 0x58
- adds r1, r0, 0
- muls r1, r3
- ldr r2, _0801127C @ =gBattleMons
- adds r1, r2
- ldrh r2, [r1]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- ldr r2, _080112BC @ =gBaseStats
- adds r0, r2
- ldrb r0, [r0, 0x6]
- adds r1, 0x21
- strb r0, [r1]
- ldrb r0, [r7]
- adds r1, r0, 0
- muls r1, r3
- ldr r0, _0801127C @ =gBattleMons
- adds r1, r0
- ldrh r2, [r1]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- ldr r2, _080112BC @ =gBaseStats
- adds r0, r2
- ldrb r0, [r0, 0x7]
- adds r1, 0x22
- strb r0, [r1]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08011268: .4byte gUnknown_02024A60
-_0801126C: .4byte gUnknown_02024C98
-_08011270: .4byte gUnknown_02024A68
-_08011274: .4byte 0x02000000
-_08011278: .4byte gUnknown_02024D28
-_0801127C: .4byte gBattleMons
-_08011280: .4byte gBitTable
-_08011284: .4byte gUnknown_02024CA8
-_08011288: .4byte 0xfbffffff
-_0801128C: .4byte 0x00016020
-_08011290: .4byte 0xffff1fff
-_08011294: .4byte gUnknown_02024E60
-_08011298: .4byte gUnknown_02024E64
-_0801129C: .4byte gUnknown_02024C34
-_080112A0: .4byte gUnknown_02024C3C
-_080112A4: .4byte gUnknown_02024C44
-_080112A8: .4byte gUnknown_02024C4C
-_080112AC: .4byte gUnknown_02024C2C
-_080112B0: .4byte gUnknown_02024C5C
-_080112B4: .4byte 0x000160e8
-_080112B8: .4byte 0x00017100
-_080112BC: .4byte gBaseStats
- thumb_func_end sub_8010F48
-
- thumb_func_start bc_8012FAC
-bc_8012FAC: @ 80112C0
- push {r4,r5,lr}
- ldr r5, _080112D0 @ =gUnknown_02024D1E
- ldrb r0, [r5]
- cmp r0, 0
- beq _080112D4
- cmp r0, 0x1
- beq _080112F8
- b _0801132E
- .align 2, 0
-_080112D0: .4byte gUnknown_02024D1E
-_080112D4:
- ldr r4, _080112F4 @ =gUnknown_02024A60
- ldrb r0, [r5, 0x1]
- strb r0, [r4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl dp01_build_cmdbuf_x00_a_b_0
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0801132E
- .align 2, 0
-_080112F4: .4byte gUnknown_02024A60
-_080112F8:
- ldr r0, _0801131C @ =gUnknown_02024A64
- ldr r2, [r0]
- cmp r2, 0
- bne _0801132E
- ldrb r0, [r5, 0x1]
- adds r0, 0x1
- strb r0, [r5, 0x1]
- ldr r1, _08011320 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _0801132C
- ldr r1, _08011324 @ =gUnknown_030042D4
- ldr r0, _08011328 @ =bc_load_battlefield
- str r0, [r1]
- b _0801132E
- .align 2, 0
-_0801131C: .4byte gUnknown_02024A64
-_08011320: .4byte gUnknown_02024A68
-_08011324: .4byte gUnknown_030042D4
-_08011328: .4byte bc_load_battlefield
-_0801132C:
- strb r2, [r5]
-_0801132E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end bc_8012FAC
-
- thumb_func_start bc_load_battlefield
-bc_load_battlefield: @ 8011334
- push {r4,r5,lr}
- ldr r0, _0801136C @ =gUnknown_02024A64
- ldr r5, [r0]
- cmp r5, 0
- bne _08011364
- movs r0, 0
- bl battle_get_side_with_given_state
- ldr r4, _08011370 @ =gUnknown_02024A60
- strb r0, [r4]
- ldr r0, _08011374 @ =gBattleTerrain
- ldrb r1, [r0]
- movs r0, 0
- bl dp01_build_cmdbuf_x2E_a
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, _08011378 @ =gUnknown_030042D4
- ldr r0, _0801137C @ =sub_8011384
- str r0, [r1]
- ldr r0, _08011380 @ =gUnknown_02024D1E
- strb r5, [r0]
- strb r5, [r0, 0x1]
-_08011364:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801136C: .4byte gUnknown_02024A64
-_08011370: .4byte gUnknown_02024A60
-_08011374: .4byte gBattleTerrain
-_08011378: .4byte gUnknown_030042D4
-_0801137C: .4byte sub_8011384
-_08011380: .4byte gUnknown_02024D1E
- thumb_func_end bc_load_battlefield
-
- thumb_func_start sub_8011384
-sub_8011384: @ 8011384
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _080113E0 @ =gUnknown_02024A64
- ldr r1, [r0]
- cmp r1, 0
- beq _08011396
- b _080115DA
-_08011396:
- ldr r2, _080113E4 @ =gUnknown_02024A60
- strb r1, [r2]
- ldr r0, _080113E8 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r1, r0
- bcc _080113A4
- b _080115D4
-_080113A4:
- movs r7, 0x58
- ldr r0, _080113EC @ =gBattleMons
- mov r9, r0
- mov r8, r2
-_080113AC:
- ldr r0, _080113F0 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080113F4
- ldr r4, _080113E4 @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080113F4
- ldrb r0, [r4]
- muls r0, r7
- mov r1, r9
- adds r3, r0, r1
- movs r2, 0
- movs r1, 0
-_080113D2:
- adds r0, r3, r2
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x57
- bls _080113D2
- b _080114BE
- .align 2, 0
-_080113E0: .4byte gUnknown_02024A64
-_080113E4: .4byte gUnknown_02024A60
-_080113E8: .4byte gUnknown_02024A68
-_080113EC: .4byte gBattleMons
-_080113F0: .4byte gBattleTypeFlags
-_080113F4:
- mov r2, r8
- ldrb r0, [r2]
- muls r0, r7
- mov r1, r9
- adds r3, r0, r1
- movs r2, 0
- ldr r6, _08011530 @ =gBaseStats
- ldr r5, _08011534 @ =gUnknown_02024260
- ldr r4, _08011538 @ =gUnknown_02024A60
-_08011406:
- adds r0, r3, r2
- ldrb r1, [r4]
- lsls r1, 9
- adds r1, 0x4
- adds r1, r2, r1
- adds r1, r5
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x57
- bls _08011406
- mov r2, r8
- ldrb r0, [r2]
- adds r2, r0, 0
- muls r2, r7
- add r2, r9
- ldrh r1, [r2]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x6]
- adds r2, 0x21
- strb r0, [r2]
- mov r1, r8
- ldrb r0, [r1]
- adds r2, r0, 0
- muls r2, r7
- add r2, r9
- ldrh r1, [r2]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x7]
- adds r2, 0x22
- strb r0, [r2]
- mov r2, r8
- ldrb r0, [r2]
- adds r1, r0, 0
- muls r1, r7
- add r1, r9
- ldrh r0, [r1]
- ldrb r1, [r1, 0x17]
- lsrs r1, 7
- bl GetAbilityBySpecies
- mov r2, r8
- ldrb r1, [r2]
- muls r1, r7
- add r1, r9
- adds r1, 0x20
- strb r0, [r1]
- ldrb r0, [r2]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 23
- ldr r1, _0801153C @ =0x020160bc
- adds r0, r1
- mov r2, r8
- ldrb r1, [r2]
- muls r1, r7
- add r1, r9
- ldrh r1, [r1, 0x28]
- strh r1, [r0]
- movs r2, 0
- ldr r4, _08011538 @ =gUnknown_02024A60
- movs r5, 0x58
- ldr r1, _08011540 @ =gUnknown_02024A98
- adds r6, r4, 0
- movs r0, 0x18
- negs r0, r0
- adds r0, r1
- mov r12, r0
- movs r3, 0x6
-_0801149E:
- ldrb r0, [r4]
- muls r0, r5
- adds r0, r2, r0
- adds r0, r1
- strb r3, [r0]
- adds r2, 0x1
- cmp r2, 0x7
- ble _0801149E
- ldrb r0, [r6]
- adds r1, r0, 0
- muls r1, r7
- mov r0, r12
- adds r0, 0x50
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_080114BE:
- ldr r4, _08011538 @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- cmp r0, 0
- bne _080114D8
- movs r0, 0
- bl dp01_build_cmdbuf_x07_7_7_7
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_080114D8:
- ldr r5, _08011544 @ =gBattleTypeFlags
- ldrh r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801154C
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080114FE
- movs r0, 0
- bl dp01_build_cmdbuf_x07_7_7_7
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_080114FE:
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08011588
- ldrh r1, [r5]
- ldr r2, _08011548 @ =0x00000902
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08011588
- ldrb r0, [r4]
- muls r0, r7
- add r0, r9
- ldrh r0, [r0]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2
- bl sub_8090D90
- b _08011588
- .align 2, 0
-_08011530: .4byte gBaseStats
-_08011534: .4byte gUnknown_02024260
-_08011538: .4byte gUnknown_02024A60
-_0801153C: .4byte 0x020160bc
-_08011540: .4byte gUnknown_02024A98
-_08011544: .4byte gBattleTypeFlags
-_08011548: .4byte 0x00000902
-_0801154C:
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08011588
- ldrh r1, [r5]
- ldr r2, _080115E8 @ =0x00000902
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08011588
- ldrb r0, [r4]
- muls r0, r7
- add r0, r9
- ldrh r0, [r0]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2
- bl sub_8090D90
- movs r0, 0
- bl dp01_build_cmdbuf_x04_4_4_4
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_08011588:
- ldr r0, _080115EC @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080115BE
- ldr r4, _080115F0 @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080115B2
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080115BE
-_080115B2:
- movs r0, 0
- bl dp01_build_cmdbuf_x07_7_7_7
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_080115BE:
- mov r1, r8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, _080115F4 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcs _080115D4
- b _080113AC
-_080115D4:
- ldr r1, _080115F8 @ =gUnknown_030042D4
- ldr r0, _080115FC @ =bc_801333C
- str r0, [r1]
-_080115DA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080115E8: .4byte 0x00000902
-_080115EC: .4byte gBattleTypeFlags
-_080115F0: .4byte gUnknown_02024A60
-_080115F4: .4byte gUnknown_02024A68
-_080115F8: .4byte gUnknown_030042D4
-_080115FC: .4byte bc_801333C
- thumb_func_end sub_8011384
-
- thumb_func_start bc_801333C
-bc_801333C: @ 8011600
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x30
- ldr r0, _08011658 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- beq _08011612
- b _0801178C
-_08011612:
- ldr r0, _0801165C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08011620
- b _0801172C
-_08011620:
- movs r7, 0
- add r0, sp, 0x4
- mov r8, r0
- mov r6, r8
- mov r5, sp
-_0801162A:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _08011660 @ =gEnemyParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _08011650
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _08011668
-_08011650:
- ldr r0, _08011664 @ =0x0000ffff
- strh r0, [r5]
- movs r0, 0
- b _0801167A
- .align 2, 0
-_08011658: .4byte gUnknown_02024A64
-_0801165C: .4byte gBattleTypeFlags
-_08011660: .4byte gEnemyParty
-_08011664: .4byte 0x0000ffff
-_08011668:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
-_0801167A:
- str r0, [r6]
- adds r6, 0x8
- adds r5, 0x8
- adds r7, 0x1
- cmp r7, 0x5
- ble _0801162A
- movs r0, 0x1
- bl battle_get_side_with_given_state
- ldr r4, _080116D4 @ =gUnknown_02024A60
- strb r0, [r4]
- movs r0, 0
- mov r1, sp
- movs r2, 0x80
- bl dp01_build_cmdbuf_x30_TODO
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- movs r7, 0
- mov r6, r8
- mov r5, sp
-_080116A6:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _080116D8 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _080116CC
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _080116E0
-_080116CC:
- ldr r0, _080116DC @ =0x0000ffff
- strh r0, [r5]
- movs r0, 0
- b _080116F2
- .align 2, 0
-_080116D4: .4byte gUnknown_02024A60
-_080116D8: .4byte gPlayerParty
-_080116DC: .4byte 0x0000ffff
-_080116E0:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
-_080116F2:
- str r0, [r6]
- adds r6, 0x8
- adds r5, 0x8
- adds r7, 0x1
- cmp r7, 0x5
- ble _080116A6
- movs r0, 0
- bl battle_get_side_with_given_state
- ldr r4, _08011720 @ =gUnknown_02024A60
- strb r0, [r4]
- movs r0, 0
- mov r1, sp
- movs r2, 0x80
- bl dp01_build_cmdbuf_x30_TODO
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, _08011724 @ =gUnknown_030042D4
- ldr r0, _08011728 @ =bc_battle_begin_message
- b _0801178A
- .align 2, 0
-_08011720: .4byte gUnknown_02024A60
-_08011724: .4byte gUnknown_030042D4
-_08011728: .4byte bc_battle_begin_message
-_0801172C:
- movs r7, 0
- add r6, sp, 0x4
- mov r5, sp
-_08011732:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _08011760 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _08011758
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _08011768
-_08011758:
- ldr r0, _08011764 @ =0x0000ffff
- strh r0, [r5]
- movs r0, 0
- b _0801177A
- .align 2, 0
-_08011760: .4byte gPlayerParty
-_08011764: .4byte 0x0000ffff
-_08011768:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
-_0801177A:
- str r0, [r6]
- adds r6, 0x8
- adds r5, 0x8
- adds r7, 0x1
- cmp r7, 0x5
- ble _08011732
- ldr r1, _08011798 @ =gUnknown_030042D4
- ldr r0, _0801179C @ =bc_8013568
-_0801178A:
- str r0, [r1]
-_0801178C:
- add sp, 0x30
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08011798: .4byte gUnknown_030042D4
-_0801179C: .4byte bc_8013568
- thumb_func_end bc_801333C
-
- thumb_func_start bc_battle_begin_message
-bc_battle_begin_message: @ 80117A0
- push {lr}
- ldr r0, _080117C8 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- bne _080117C2
- movs r0, 0x1
- bl battle_get_side_with_given_state
- ldr r1, _080117CC @ =gUnknown_02024A60
- strb r0, [r1]
- ldrb r1, [r1]
- movs r0, 0
- bl b_std_message
- ldr r1, _080117D0 @ =gUnknown_030042D4
- ldr r0, _080117D4 @ =sub_8011800
- str r0, [r1]
-_080117C2:
- pop {r0}
- bx r0
- .align 2, 0
-_080117C8: .4byte gUnknown_02024A64
-_080117CC: .4byte gUnknown_02024A60
-_080117D0: .4byte gUnknown_030042D4
-_080117D4: .4byte sub_8011800
- thumb_func_end bc_battle_begin_message
-
- thumb_func_start bc_8013568
-bc_8013568: @ 80117D8
- push {lr}
- ldr r0, _080117F4 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- bne _080117F0
- ldr r1, _080117F8 @ =gUnknown_030042D4
- ldr r0, _080117FC @ =sub_8011970
- str r0, [r1]
- movs r0, 0
- movs r1, 0
- bl b_std_message
-_080117F0:
- pop {r0}
- bx r0
- .align 2, 0
-_080117F4: .4byte gUnknown_02024A64
-_080117F8: .4byte gUnknown_030042D4
-_080117FC: .4byte sub_8011970
- thumb_func_end bc_8013568
-
- thumb_func_start sub_8011800
-sub_8011800: @ 8011800
- push {lr}
- ldr r0, _08011828 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- bne _08011822
- movs r0, 0x1
- bl battle_get_side_with_given_state
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- bl b_std_message
- ldr r1, _0801182C @ =gUnknown_030042D4
- ldr r0, _08011830 @ =sub_8011834
- str r0, [r1]
-_08011822:
- pop {r0}
- bx r0
- .align 2, 0
-_08011828: .4byte gUnknown_02024A64
-_0801182C: .4byte gUnknown_030042D4
-_08011830: .4byte sub_8011834
- thumb_func_end sub_8011800
-
- thumb_func_start sub_8011834
-sub_8011834: @ 8011834
- push {r4,lr}
- ldr r0, _080118AC @ =gUnknown_02024A64
- ldr r1, [r0]
- cmp r1, 0
- bne _080118A4
- ldr r2, _080118B0 @ =gUnknown_02024A60
- strb r1, [r2]
- ldr r0, _080118B4 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r1, r0
- bcs _0801189E
- adds r4, r2, 0
-_0801184C:
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08011866
- movs r0, 0
- bl dp01_build_cmdbuf_x2F_2F_2F_2F
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_08011866:
- ldr r0, _080118B8 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0801188C
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0801188C
- movs r0, 0
- bl dp01_build_cmdbuf_x2F_2F_2F_2F
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_0801188C:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _080118B4 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _0801184C
-_0801189E:
- ldr r1, _080118BC @ =gUnknown_030042D4
- ldr r0, _080118C0 @ =bc_801362C
- str r0, [r1]
-_080118A4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080118AC: .4byte gUnknown_02024A64
-_080118B0: .4byte gUnknown_02024A60
-_080118B4: .4byte gUnknown_02024A68
-_080118B8: .4byte gBattleTypeFlags
-_080118BC: .4byte gUnknown_030042D4
-_080118C0: .4byte bc_801362C
- thumb_func_end sub_8011834
-
- thumb_func_start bc_801362C
-bc_801362C: @ 80118C4
- push {r4,r5,lr}
- ldr r0, _08011930 @ =gUnknown_02024A64
- ldr r1, [r0]
- cmp r1, 0
- bne _0801192A
- ldr r2, _08011934 @ =gUnknown_02024A60
- strb r1, [r2]
- ldr r0, _08011938 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08011924
- adds r4, r2, 0
- ldr r5, _0801193C @ =gBattleMons
-_080118DE:
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08011912
- ldr r0, _08011940 @ =gBattleTypeFlags
- ldrh r1, [r0]
- ldr r2, _08011944 @ =0x00000902
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08011912
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- adds r0, r5
- ldrh r0, [r0]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2
- bl sub_8090D90
-_08011912:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _08011938 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _080118DE
-_08011924:
- ldr r1, _08011948 @ =gUnknown_030042D4
- ldr r0, _0801194C @ =sub_8011970
- str r0, [r1]
-_0801192A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08011930: .4byte gUnknown_02024A64
-_08011934: .4byte gUnknown_02024A60
-_08011938: .4byte gUnknown_02024A68
-_0801193C: .4byte gBattleMons
-_08011940: .4byte gBattleTypeFlags
-_08011944: .4byte 0x00000902
-_08011948: .4byte gUnknown_030042D4
-_0801194C: .4byte sub_8011970
- thumb_func_end bc_801362C
-
- thumb_func_start unref_sub_8011950
-unref_sub_8011950: @ 8011950
- push {lr}
- ldr r0, _08011964 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- bne _08011960
- ldr r1, _08011968 @ =gUnknown_030042D4
- ldr r0, _0801196C @ =sub_8011970
- str r0, [r1]
-_08011960:
- pop {r0}
- bx r0
- .align 2, 0
-_08011964: .4byte gUnknown_02024A64
-_08011968: .4byte gUnknown_030042D4
-_0801196C: .4byte sub_8011970
- thumb_func_end unref_sub_8011950
-
- thumb_func_start sub_8011970
-sub_8011970: @ 8011970
- push {lr}
- ldr r0, _080119A4 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- bne _0801199E
- ldr r0, _080119A8 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08011998
- movs r0, 0
- bl battle_get_side_with_given_state
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- bl b_std_message
-_08011998:
- ldr r1, _080119AC @ =gUnknown_030042D4
- ldr r0, _080119B0 @ =sub_80119B4
- str r0, [r1]
-_0801199E:
- pop {r0}
- bx r0
- .align 2, 0
-_080119A4: .4byte gUnknown_02024A64
-_080119A8: .4byte gBattleTypeFlags
-_080119AC: .4byte gUnknown_030042D4
-_080119B0: .4byte sub_80119B4
- thumb_func_end sub_8011970
-
- thumb_func_start sub_80119B4
-sub_80119B4: @ 80119B4
- push {r4,lr}
- ldr r0, _08011A40 @ =gUnknown_02024A64
- ldr r1, [r0]
- cmp r1, 0
- bne _08011A38
- ldr r2, _08011A44 @ =gUnknown_02024A60
- strb r1, [r2]
- ldr r0, _08011A48 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08011A1C
- adds r4, r2, 0
-_080119CC:
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- cmp r0, 0
- bne _080119E4
- movs r0, 0
- bl dp01_build_cmdbuf_x2F_2F_2F_2F
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_080119E4:
- ldr r0, _08011A4C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08011A0A
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08011A0A
- movs r0, 0
- bl dp01_build_cmdbuf_x2F_2F_2F_2F
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_08011A0A:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _08011A48 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _080119CC
-_08011A1C:
- ldr r1, _08011A50 @ =0x02000000
- ldr r2, _08011A54 @ =0x00016058
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- ldr r3, _08011A58 @ =0x000160f9
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _08011A5C @ =0x000160e6
- adds r1, r0
- strb r2, [r1]
- ldr r1, _08011A60 @ =gUnknown_030042D4
- ldr r0, _08011A64 @ =sub_8011B00
- str r0, [r1]
-_08011A38:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08011A40: .4byte gUnknown_02024A64
-_08011A44: .4byte gUnknown_02024A60
-_08011A48: .4byte gUnknown_02024A68
-_08011A4C: .4byte gBattleTypeFlags
-_08011A50: .4byte 0x02000000
-_08011A54: .4byte 0x00016058
-_08011A58: .4byte 0x000160f9
-_08011A5C: .4byte 0x000160e6
-_08011A60: .4byte gUnknown_030042D4
-_08011A64: .4byte sub_8011B00
- thumb_func_end sub_80119B4
-
- thumb_func_start unref_sub_8011A68
-unref_sub_8011A68: @ 8011A68
- push {r4,r5,lr}
- ldr r0, _08011AD8 @ =gUnknown_02024A64
- ldr r1, [r0]
- cmp r1, 0
- bne _08011AD2
- ldr r2, _08011ADC @ =gUnknown_02024A60
- strb r1, [r2]
- ldr r0, _08011AE0 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08011AB6
- adds r4, r2, 0
- ldr r5, _08011AE4 @ =gUnknown_02024A6A
-_08011A82:
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08011AA4
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_800C704
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_08011AA4:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _08011AE0 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08011A82
-_08011AB6:
- ldr r1, _08011AE8 @ =0x02000000
- ldr r2, _08011AEC @ =0x00016058
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- ldr r3, _08011AF0 @ =0x000160f9
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _08011AF4 @ =0x000160e6
- adds r1, r0
- strb r2, [r1]
- ldr r1, _08011AF8 @ =gUnknown_030042D4
- ldr r0, _08011AFC @ =sub_8011B00
- str r0, [r1]
-_08011AD2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08011AD8: .4byte gUnknown_02024A64
-_08011ADC: .4byte gUnknown_02024A60
-_08011AE0: .4byte gUnknown_02024A68
-_08011AE4: .4byte gUnknown_02024A6A
-_08011AE8: .4byte 0x02000000
-_08011AEC: .4byte 0x00016058
-_08011AF0: .4byte 0x000160f9
-_08011AF4: .4byte 0x000160e6
-_08011AF8: .4byte gUnknown_030042D4
-_08011AFC: .4byte sub_8011B00
- thumb_func_end unref_sub_8011A68
-
- thumb_func_start sub_8011B00
-sub_8011B00: @ 8011B00
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- movs r0, 0
- mov r9, r0
- ldr r0, _08011B44 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- beq _08011B18
- b _08011D6E
-_08011B18:
- ldr r0, _08011B48 @ =0x02000000
- ldr r1, _08011B4C @ =0x00016058
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08011BA2
- movs r5, 0
- ldr r1, _08011B50 @ =gUnknown_02024A68
- adds r3, r1, 0
- ldrb r2, [r1]
- cmp r5, r2
- bge _08011B3E
- ldr r2, _08011B54 @ =gUnknown_02024A7A
-_08011B32:
- adds r0, r5, r2
- strb r5, [r0]
- adds r5, 0x1
- ldrb r0, [r1]
- cmp r5, r0
- blt _08011B32
-_08011B3E:
- movs r5, 0
- b _08011B98
- .align 2, 0
-_08011B44: .4byte gUnknown_02024A64
-_08011B48: .4byte 0x02000000
-_08011B4C: .4byte 0x00016058
-_08011B50: .4byte gUnknown_02024A68
-_08011B54: .4byte gUnknown_02024A7A
-_08011B58:
- adds r4, r5, 0x1
- mov r8, r4
- ldrb r1, [r1]
- cmp r8, r1
- bge _08011B96
- ldr r6, _08011BC8 @ =gUnknown_02024A7A
- ldr r3, _08011BCC @ =gUnknown_02024A68
- lsls r7, r5, 24
-_08011B68:
- adds r0, r5, r6
- ldrb r0, [r0]
- adds r1, r4, r6
- ldrb r1, [r1]
- movs r2, 0x1
- str r3, [sp, 0x4]
- bl b_first_side
- lsls r0, 24
- ldr r3, [sp, 0x4]
- cmp r0, 0
- beq _08011B8C
- lsls r1, r4, 24
- lsrs r1, 24
- lsrs r0, r7, 24
- bl sub_8012FBC
- ldr r3, [sp, 0x4]
-_08011B8C:
- adds r4, 0x1
- ldr r0, _08011BCC @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r4, r0
- blt _08011B68
-_08011B96:
- mov r5, r8
-_08011B98:
- adds r1, r3, 0
- ldrb r0, [r3]
- subs r0, 0x1
- cmp r5, r0
- blt _08011B58
-_08011BA2:
- ldr r0, _08011BD0 @ =0x02000000
- ldr r1, _08011BD4 @ =0x000160e6
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- bne _08011BD8
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0xFF
- bl sub_8018324
- lsls r0, 24
- cmp r0, 0
- beq _08011BD8
- movs r0, 0x1
- strb r0, [r4]
- b _08011D6E
- .align 2, 0
-_08011BC8: .4byte gUnknown_02024A7A
-_08011BCC: .4byte gUnknown_02024A68
-_08011BD0: .4byte 0x02000000
-_08011BD4: .4byte 0x000160e6
-_08011BD8:
- ldr r0, _08011D7C @ =0x02000000
- ldr r3, _08011D80 @ =0x00016058
- adds r2, r0, r3
- ldr r1, _08011D84 @ =gUnknown_02024A68
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08011C28
- ldr r5, _08011D88 @ =gUnknown_02024A7A
- adds r4, r2, 0
-_08011BEC:
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0
- str r0, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_8018324
- lsls r0, 24
- cmp r0, 0
- beq _08011C0E
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_08011C0E:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- mov r1, r9
- cmp r1, 0
- beq _08011C1C
- b _08011D6E
-_08011C1C:
- ldr r1, _08011D84 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08011BEC
-_08011C28:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x9
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8018324
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08011C42
- b _08011D6E
-_08011C42:
- str r0, [sp]
- movs r0, 0xB
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8018324
- lsls r0, 24
- cmp r0, 0
- beq _08011C58
- b _08011D6E
-_08011C58:
- ldr r0, _08011D7C @ =0x02000000
- ldr r3, _08011D8C @ =0x000160f9
- adds r2, r0, r3
- ldr r0, _08011D84 @ =gUnknown_02024A68
- ldrb r1, [r2]
- adds r3, r0, 0
- ldrb r0, [r3]
- cmp r1, r0
- bcs _08011CA8
- ldr r5, _08011D88 @ =gUnknown_02024A7A
- adds r4, r2, 0
-_08011C6E:
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0
- movs r2, 0
- str r3, [sp, 0x4]
- bl sub_801A02C
- lsls r0, 24
- ldr r3, [sp, 0x4]
- cmp r0, 0
- beq _08011C90
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_08011C90:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- mov r1, r9
- cmp r1, 0
- bne _08011D6E
- ldr r1, _08011D84 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08011C6E
-_08011CA8:
- ldrb r0, [r3]
- cmp r0, 0
- beq _08011CB6
- adds r5, r0, 0
-_08011CB0:
- subs r5, 0x1
- cmp r5, 0
- bne _08011CB0
-_08011CB6:
- movs r5, 0
- ldr r0, _08011D7C @ =0x02000000
- mov r8, r5
- ldr r3, _08011D90 @ =gUnknown_02024C60
- ldr r1, _08011D94 @ =0x00016068
- adds r2, r0, r1
- movs r7, 0x6
- ldr r6, _08011D98 @ =gUnknown_02024C18
- movs r4, 0xFF
-_08011CC8:
- strb r7, [r2]
- adds r1, r5, r6
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- mov r0, r8
- strh r0, [r3]
- adds r3, 0x2
- adds r2, 0x1
- adds r5, 0x1
- cmp r5, 0x3
- ble _08011CC8
- movs r0, 0
- bl sub_801365C
- bl sub_801377C
- ldr r0, _08011D7C @ =0x02000000
- ldr r1, _08011D9C @ =gUnknown_02024C0C
- ldrb r1, [r1]
- ldr r2, _08011DA0 @ =0x000160a6
- adds r0, r2
- strb r1, [r0]
- ldr r1, _08011DA4 @ =gUnknown_030042D4
- ldr r0, _08011DA8 @ =sub_8012324
- str r0, [r1]
- bl sub_80156DC
- ldr r1, _08011DAC @ =gUnknown_02024D1E
- movs r2, 0
- adds r0, r1, 0x7
-_08011D06:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08011D06
- movs r5, 0
- ldr r3, _08011D84 @ =gUnknown_02024A68
- ldr r2, _08011D7C @ =0x02000000
- ldr r6, _08011DB0 @ =gBattleMoveFlags
- ldrb r0, [r3]
- cmp r5, r0
- bge _08011D36
- ldr r0, _08011DB4 @ =gBattleMons
- movs r4, 0x9
- negs r4, r4
- adds r1, r0, 0
- adds r1, 0x50
-_08011D26:
- ldr r0, [r1]
- ands r0, r4
- str r0, [r1]
- adds r1, 0x58
- adds r5, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- blt _08011D26
-_08011D36:
- movs r1, 0xB0
- lsls r1, 9
- adds r0, r2, r1
- movs r1, 0
- strb r1, [r0]
- ldr r3, _08011DB8 @ =0x00016001
- adds r0, r2, r3
- strb r1, [r0]
- ldr r3, _08011DBC @ =0x00016110
- adds r0, r2, r3
- strb r1, [r0]
- adds r3, 0x1
- adds r0, r2, r3
- strb r1, [r0]
- ldr r3, _08011DC0 @ =0x0001600c
- adds r0, r2, r3
- strb r1, [r0]
- adds r3, 0x4D
- adds r0, r2, r3
- strb r1, [r0]
- subs r3, 0x4B
- adds r0, r2, r3
- strb r1, [r0]
- strb r1, [r6]
- bl Random
- ldr r1, _08011DC4 @ =gUnknown_02024D1C
- strh r0, [r1]
-_08011D6E:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08011D7C: .4byte 0x02000000
-_08011D80: .4byte 0x00016058
-_08011D84: .4byte gUnknown_02024A68
-_08011D88: .4byte gUnknown_02024A7A
-_08011D8C: .4byte 0x000160f9
-_08011D90: .4byte gUnknown_02024C60
-_08011D94: .4byte 0x00016068
-_08011D98: .4byte gUnknown_02024C18
-_08011D9C: .4byte gUnknown_02024C0C
-_08011DA0: .4byte 0x000160a6
-_08011DA4: .4byte gUnknown_030042D4
-_08011DA8: .4byte sub_8012324
-_08011DAC: .4byte gUnknown_02024D1E
-_08011DB0: .4byte gBattleMoveFlags
-_08011DB4: .4byte gBattleMons
-_08011DB8: .4byte 0x00016001
-_08011DBC: .4byte 0x00016110
-_08011DC0: .4byte 0x0001600c
-_08011DC4: .4byte gUnknown_02024D1C
- thumb_func_end sub_8011B00
-
- thumb_func_start bc_8013B1C
-bc_8013B1C: @ 8011DC8
- push {r4-r6,lr}
- ldr r0, _08011E60 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- bne _08011E5A
- ldr r1, _08011E64 @ =gUnknown_030042D4
- ldr r0, _08011E68 @ =sub_8011E8C
- str r0, [r1]
- ldr r3, _08011E6C @ =gUnknown_02024A68
- ldr r1, _08011E70 @ =gUnknown_02024D1E
- movs r2, 0
- adds r0, r1, 0x7
-_08011DE0:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08011DE0
- movs r4, 0
- ldrb r3, [r3]
- cmp r4, r3
- bge _08011E32
- ldr r5, _08011E74 @ =gBattleMons
- adds r6, r5, 0
- adds r6, 0x4C
-_08011DF6:
- movs r0, 0x58
- adds r2, r4, 0
- muls r2, r0
- adds r1, r5, 0
- adds r1, 0x50
- adds r1, r2, r1
- ldr r3, [r1]
- subs r0, 0x61
- ands r3, r0
- str r3, [r1]
- adds r2, r6
- ldr r0, [r2]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08011E28
- movs r0, 0x80
- lsls r0, 5
- ands r3, r0
- cmp r3, 0
- beq _08011E28
- lsls r0, r4, 24
- lsrs r0, 24
- bl b_cancel_multi_turn_move_maybe
-_08011E28:
- adds r4, 0x1
- ldr r0, _08011E6C @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r4, r0
- blt _08011DF6
-_08011E32:
- ldr r0, _08011E78 @ =0x02000000
- movs r2, 0xB0
- lsls r2, 9
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r3, _08011E7C @ =0x00016001
- adds r1, r0, r3
- strb r2, [r1]
- ldr r3, _08011E80 @ =0x00016110
- adds r1, r0, r3
- strb r2, [r1]
- adds r3, 0x1
- adds r1, r0, r3
- strb r2, [r1]
- ldr r1, _08011E84 @ =0x0001600e
- adds r0, r1
- strb r2, [r0]
- ldr r0, _08011E88 @ =gBattleMoveFlags
- strb r2, [r0]
-_08011E5A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08011E60: .4byte gUnknown_02024A64
-_08011E64: .4byte gUnknown_030042D4
-_08011E68: .4byte sub_8011E8C
-_08011E6C: .4byte gUnknown_02024A68
-_08011E70: .4byte gUnknown_02024D1E
-_08011E74: .4byte gBattleMons
-_08011E78: .4byte 0x02000000
-_08011E7C: .4byte 0x00016001
-_08011E80: .4byte 0x00016110
-_08011E84: .4byte 0x0001600e
-_08011E88: .4byte gBattleMoveFlags
- thumb_func_end bc_8013B1C
-
- thumb_func_start sub_8011E8C
-sub_8011E8C: @ 8011E8C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0x1
- bl sub_801365C
- ldr r0, _08011F3C @ =gUnknown_02024D26
- ldrb r0, [r0]
- cmp r0, 0
- bne _08011EBC
- bl sub_8015DFC
- lsls r0, 24
- cmp r0, 0
- beq _08011EB0
- b _08011FEE
-_08011EB0:
- bl sub_8016558
- lsls r0, 24
- cmp r0, 0
- beq _08011EBC
- b _08011FEE
-_08011EBC:
- bl sub_80173A4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08011ECA
- b _08011FEE
-_08011ECA:
- ldr r5, _08011F40 @ =0x02000000
- ldr r2, _08011F44 @ =0x00016059
- adds r0, r5, r2
- strb r1, [r0]
- bl sub_80170DC
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08011EE0
- b _08011FEE
-_08011EE0:
- movs r0, 0
- bl sub_801365C
- ldr r2, _08011F48 @ =gUnknown_02024C6C
- ldr r0, [r2]
- ldr r1, _08011F4C @ =0xfffffdff
- ands r0, r1
- ldr r1, _08011F50 @ =0xfff7ffff
- ands r0, r1
- ldr r1, _08011F54 @ =0xffbfffff
- ands r0, r1
- ldr r1, _08011F58 @ =0xffefffff
- ands r0, r1
- str r0, [r2]
- ldr r3, _08011F5C @ =0x00016002
- adds r0, r5, r3
- strb r4, [r0]
- ldr r1, _08011F60 @ =0x000160a1
- adds r0, r5, r1
- strb r4, [r0]
- ldr r2, _08011F64 @ =0x0001600c
- adds r0, r5, r2
- strb r4, [r0]
- ldr r0, _08011F68 @ =gBattleMoveDamage
- str r4, [r0]
- ldr r0, _08011F6C @ =gBattleMoveFlags
- strb r4, [r0]
- ldr r1, _08011F70 @ =gUnknown_02024D1E
- movs r2, 0
- adds r0, r1, 0x4
-_08011F1C:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08011F1C
- ldr r0, _08011F3C @ =gUnknown_02024D26
- ldrb r0, [r0]
- cmp r0, 0
- beq _08011F80
- ldr r1, _08011F74 @ =gUnknown_02024A7F
- movs r0, 0xC
- strb r0, [r1]
- ldr r1, _08011F78 @ =gUnknown_030042D4
- ldr r0, _08011F7C @ =sub_80138F0
- str r0, [r1]
- b _08011FEE
- .align 2, 0
-_08011F3C: .4byte gUnknown_02024D26
-_08011F40: .4byte 0x02000000
-_08011F44: .4byte 0x00016059
-_08011F48: .4byte gUnknown_02024C6C
-_08011F4C: .4byte 0xfffffdff
-_08011F50: .4byte 0xfff7ffff
-_08011F54: .4byte 0xffbfffff
-_08011F58: .4byte 0xffefffff
-_08011F5C: .4byte 0x00016002
-_08011F60: .4byte 0x000160a1
-_08011F64: .4byte 0x0001600c
-_08011F68: .4byte gBattleMoveDamage
-_08011F6C: .4byte gBattleMoveFlags
-_08011F70: .4byte gUnknown_02024D1E
-_08011F74: .4byte gUnknown_02024A7F
-_08011F78: .4byte gUnknown_030042D4
-_08011F7C: .4byte sub_80138F0
-_08011F80:
- ldr r1, _08011FFC @ =gUnknown_030042E0
- ldrb r0, [r1, 0x13]
- cmp r0, 0xFE
- bhi _08011F8C
- adds r0, 0x1
- strb r0, [r1, 0x13]
-_08011F8C:
- movs r2, 0
- ldr r4, _08012000 @ =gUnknown_02024A68
- ldr r3, _08012004 @ =0x02000000
- mov r9, r3
- ldr r0, _08012008 @ =gUnknown_030042D4
- mov r10, r0
- ldr r1, _0801200C @ =gUnknown_02024C0C
- mov r12, r1
- ldr r3, _08012010 @ =sub_8012324
- mov r8, r3
- ldrb r0, [r4]
- cmp r2, r0
- bge _08011FC2
- ldr r7, _08012014 @ =gUnknown_02024C18
- movs r6, 0xFF
- movs r5, 0
- ldr r3, _08012018 @ =gUnknown_02024C60
-_08011FAE:
- adds r1, r2, r7
- ldrb r0, [r1]
- orrs r0, r6
- strb r0, [r1]
- strh r5, [r3]
- adds r3, 0x2
- adds r2, 0x1
- ldrb r1, [r4]
- cmp r2, r1
- blt _08011FAE
-_08011FC2:
- ldr r0, _08012004 @ =0x02000000
- movs r1, 0x6
- movs r2, 0x3
- ldr r3, _0801201C @ =0x0001606b
- adds r0, r3
-_08011FCC:
- strb r1, [r0]
- subs r0, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _08011FCC
- mov r0, r12
- ldrb r1, [r0]
- ldr r0, _08012020 @ =0x000160a6
- add r0, r9
- strb r1, [r0]
- mov r1, r8
- mov r2, r10
- str r1, [r2]
- bl Random
- ldr r1, _08012024 @ =gUnknown_02024D1C
- strh r0, [r1]
-_08011FEE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08011FFC: .4byte gUnknown_030042E0
-_08012000: .4byte gUnknown_02024A68
-_08012004: .4byte 0x02000000
-_08012008: .4byte gUnknown_030042D4
-_0801200C: .4byte gUnknown_02024C0C
-_08012010: .4byte sub_8012324
-_08012014: .4byte gUnknown_02024C18
-_08012018: .4byte gUnknown_02024C60
-_0801201C: .4byte 0x0001606b
-_08012020: .4byte 0x000160a6
-_08012024: .4byte gUnknown_02024D1C
- thumb_func_end sub_8011E8C
-
- thumb_func_start sub_8012028
-sub_8012028: @ 8012028
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, _0801204C @ =gBattleMons
- ldr r0, _08012050 @ =gUnknown_02024A60
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2E]
- cmp r0, 0xAF
- bne _08012058
- ldr r1, _08012054 @ =gEnigmaBerries
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x7]
- b _08012062
- .align 2, 0
-_0801204C: .4byte gBattleMons
-_08012050: .4byte gUnknown_02024A60
-_08012054: .4byte gEnigmaBerries
-_08012058:
- ldrh r0, [r1, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r2, r0, 24
-_08012062:
- ldr r1, _0801217C @ =gUnknown_02024C0B
- ldr r3, _08012180 @ =gUnknown_02024A60
- ldrb r0, [r3]
- strb r0, [r1]
- cmp r2, 0x25
- bne _08012070
- b _080121F4
-_08012070:
- ldr r0, _08012184 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0801207E
- b _080121F4
-_0801207E:
- ldr r1, _08012188 @ =gBattleMons
- ldrb r2, [r3]
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x32
- bne _08012092
- b _080121F4
-_08012092:
- adds r0, r2, 0
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r0, _0801218C @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r5, r0
- bge _08012126
- movs r7, 0
-_080120A8:
- lsrs r4, r7, 24
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- beq _080120CC
- ldr r1, _08012188 @ =gBattleMons
- movs r0, 0x58
- muls r0, r5
- adds r0, r1
- adds r2, r0, 0
- adds r2, 0x20
- ldrb r0, [r2]
- cmp r0, 0x17
- bne _080120CC
- b _080121FC
-_080120CC:
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- beq _08012116
- ldr r3, _08012188 @ =gBattleMons
- ldr r0, _08012180 @ =gUnknown_02024A60
- ldrb r0, [r0]
- movs r2, 0x58
- muls r0, r2
- adds r1, r0, r3
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x1A
- beq _08012116
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08012116
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08012116
- adds r0, r5, 0
- muls r0, r2
- adds r0, r3
- adds r2, r0, 0
- adds r2, 0x20
- ldrb r0, [r2]
- cmp r0, 0x47
- bne _08012116
- b _08012220
-_08012116:
- movs r0, 0x80
- lsls r0, 17
- adds r7, r0
- adds r5, 0x1
- ldr r0, _0801218C @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r5, r0
- blt _080120A8
-_08012126:
- ldr r4, _08012180 @ =gUnknown_02024A60
- ldrb r1, [r4]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xF
- movs r2, 0x2A
- movs r3, 0
- bl sub_8018324
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080121A0
- ldr r6, _08012188 @ =gBattleMons
- ldrb r0, [r4]
- movs r3, 0x58
- muls r0, r3
- adds r1, r0, r6
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0x8
- beq _0801215E
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _080121A0
-_0801215E:
- ldr r0, _08012190 @ =0x02000000
- subs r1, r5, 0x1
- ldr r2, _08012194 @ =0x00016003
- adds r0, r2
- strb r1, [r0]
- ldr r2, _08012198 @ =byte_2024C06
- adds r0, r1, 0
- muls r0, r3
- adds r0, r6
- adds r0, 0x20
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r1, _0801219C @ =gUnknown_02024D1E
- movs r0, 0x2
- b _08012248
- .align 2, 0
-_0801217C: .4byte gUnknown_02024C0B
-_08012180: .4byte gUnknown_02024A60
-_08012184: .4byte gBattleTypeFlags
-_08012188: .4byte gBattleMons
-_0801218C: .4byte gUnknown_02024A68
-_08012190: .4byte 0x02000000
-_08012194: .4byte 0x00016003
-_08012198: .4byte byte_2024C06
-_0801219C: .4byte gUnknown_02024D1E
-_080121A0:
- ldr r1, _080121D4 @ =gBattleMons
- ldr r0, _080121D8 @ =gUnknown_02024A60
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080121DC @ =0x0400e000
- ands r0, r1
- cmp r0, 0
- bne _080121CA
- ldr r1, _080121E0 @ =gUnknown_02024C98
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 3
- ands r0, r1
- cmp r0, 0
- beq _080121E8
-_080121CA:
- ldr r1, _080121E4 @ =gUnknown_02024D1E
- movs r0, 0
- strb r0, [r1, 0x5]
- movs r0, 0x1
- b _0801224A
- .align 2, 0
-_080121D4: .4byte gBattleMons
-_080121D8: .4byte gUnknown_02024A60
-_080121DC: .4byte 0x0400e000
-_080121E0: .4byte gUnknown_02024C98
-_080121E4: .4byte gUnknown_02024D1E
-_080121E8:
- ldr r0, _080121F8 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08012244
-_080121F4:
- movs r0, 0
- b _0801224A
- .align 2, 0
-_080121F8: .4byte gBattleTypeFlags
-_080121FC:
- ldr r0, _08012210 @ =0x02000000
- ldr r1, _08012214 @ =0x00016003
- adds r0, r1
- strb r5, [r0]
- ldr r1, _08012218 @ =byte_2024C06
- ldrb r0, [r2]
- strb r0, [r1]
- ldr r1, _0801221C @ =gUnknown_02024D1E
- movs r0, 0x2
- b _08012248
- .align 2, 0
-_08012210: .4byte 0x02000000
-_08012214: .4byte 0x00016003
-_08012218: .4byte byte_2024C06
-_0801221C: .4byte gUnknown_02024D1E
-_08012220:
- ldr r0, _08012234 @ =0x02000000
- ldr r1, _08012238 @ =0x00016003
- adds r0, r1
- strb r5, [r0]
- ldr r1, _0801223C @ =byte_2024C06
- ldrb r0, [r2]
- strb r0, [r1]
- ldr r1, _08012240 @ =gUnknown_02024D1E
- movs r0, 0x2
- b _08012248
- .align 2, 0
-_08012234: .4byte 0x02000000
-_08012238: .4byte 0x00016003
-_0801223C: .4byte byte_2024C06
-_08012240: .4byte gUnknown_02024D1E
-_08012244:
- ldr r1, _08012254 @ =gUnknown_02024D1E
- movs r0, 0x1
-_08012248:
- strb r0, [r1, 0x5]
-_0801224A:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08012254: .4byte gUnknown_02024D1E
- thumb_func_end sub_8012028
-
- thumb_func_start sub_8012258
-sub_8012258: @ 8012258
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- ldr r7, _080122E4 @ =gUnknown_02024A6A
- ldr r4, _080122E8 @ =gUnknown_02038470
- ldr r1, _080122EC @ =0x02000000
- lsls r6, r5, 1
- ldr r2, _080122F0 @ =0x0001606c
- adds r0, r5, r2
- adds r0, r6, r0
- adds r2, r0, r1
-_08012270:
- adds r1, r3, r4
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x2
- ble _08012270
- adds r0, r6, r7
- ldrb r0, [r0]
- bl pokemon_order_func
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r7, _080122EC @ =0x02000000
- ldr r1, _080122F4 @ =0x00016068
- adds r0, r5, r1
- adds r0, r7
- ldrb r0, [r0]
- bl pokemon_order_func
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_8094C98
- ldr r0, _080122F8 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080122FC
- movs r3, 0
- ldr r2, _080122F0 @ =0x0001606c
- movs r0, 0x2
- adds r1, r5, 0
- eors r1, r0
- adds r0, r5, r2
- adds r0, r6, r0
- adds r4, r0, r7
- ldr r5, _080122E8 @ =gUnknown_02038470
- lsls r0, r1, 1
- adds r0, r1
- adds r0, r2
- adds r2, r0, r7
-_080122CC:
- adds r0, r3, r5
- ldrb r1, [r0]
- strb r1, [r4]
- ldrb r0, [r0]
- strb r0, [r2]
- adds r4, 0x1
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x2
- ble _080122CC
- b _08012316
- .align 2, 0
-_080122E4: .4byte gUnknown_02024A6A
-_080122E8: .4byte gUnknown_02038470
-_080122EC: .4byte 0x02000000
-_080122F0: .4byte 0x0001606c
-_080122F4: .4byte 0x00016068
-_080122F8: .4byte gBattleTypeFlags
-_080122FC:
- movs r3, 0
- ldr r2, _0801231C @ =0x0001606c
- adds r0, r5, r2
- adds r0, r6, r0
- adds r1, r0, r7
- ldr r2, _08012320 @ =gUnknown_02038470
-_08012308:
- adds r0, r3, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, 0x1
- adds r3, 0x1
- cmp r3, 0x2
- ble _08012308
-_08012316:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801231C: .4byte 0x0001606c
-_08012320: .4byte gUnknown_02038470
- thumb_func_end sub_8012258
-
thumb_func_start sub_8012324
sub_8012324: @ 8012324
push {r4-r7,lr}