diff options
Diffstat (limited to 'asm/battle_2.s')
-rw-r--r-- | asm/battle_2.s | 4792 |
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} |