diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_2.s | 4 | ||||
-rw-r--r-- | asm/evolution_scene.s | 6717 | ||||
-rw-r--r-- | asm/party_menu.s | 24 | ||||
-rw-r--r-- | asm/trade.s | 8 |
4 files changed, 18 insertions, 6735 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s index 617729451..7868f8492 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -3144,7 +3144,7 @@ _08013D4C: ldr r1, _08013D6C @ =gBattleMainFunc ldr r0, _08013D70 @ =sub_8013DA8 str r0, [r1] - ldr r1, _08013D74 @ =gUnknown_03005E94 + ldr r1, _08013D74 @ =gCB2_AfterEvolution ldr r0, _08013D78 @ =sub_800F808 str r0, [r1] b _08013D96 @@ -3152,7 +3152,7 @@ _08013D4C: _08013D68: .4byte gNoOfAllBanks _08013D6C: .4byte gBattleMainFunc _08013D70: .4byte sub_8013DA8 -_08013D74: .4byte gUnknown_03005E94 +_08013D74: .4byte gCB2_AfterEvolution _08013D78: .4byte sub_800F808 _08013D7C: ldr r0, _08013D9C @ =gBattleExecBuffer diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s deleted file mode 100644 index 54011fb4e..000000000 --- a/asm/evolution_scene.s +++ /dev/null @@ -1,6717 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start CB2_BeginEvolutionScene -CB2_BeginEvolutionScene: @ 8111894 - push {lr} - bl UpdatePaletteFade - bl RunTasks - pop {r0} - bx r0 - thumb_func_end CB2_BeginEvolutionScene - - thumb_func_start Task_BeginEvolutionScene -Task_BeginEvolutionScene: @ 81118A4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - movs r7, 0 - ldr r1, _081118C8 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081118CC - cmp r0, 0x1 - beq _081118E4 - b _08111918 - .align 2, 0 -_081118C8: .4byte gTasks -_081118CC: - movs r0, 0x1 - negs r0, r0 - str r7, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08111918 -_081118E4: - ldr r0, _08111920 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08111918 - movs r0, 0xA - ldrsh r7, [r4, r0] - movs r1, 0xC - ldrsh r0, [r4, r1] - lsls r0, 16 - orrs r7, r0 - ldrh r5, [r4, 0x10] - ldrb r6, [r4, 0x12] - ldrh r4, [r4, 0x20] - lsls r4, 24 - lsrs r4, 24 - adds r0, r2, 0 - bl DestroyTask - adds r0, r7, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r4, 0 - bl EvolutionScene -_08111918: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08111920: .4byte gPaletteFade - thumb_func_end Task_BeginEvolutionScene - - thumb_func_start BeginEvolutionScene -BeginEvolutionScene: @ 8111924 - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _08111978 @ =Task_BeginEvolutionScene - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0811197C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - mov r0, r8 - strh r0, [r1, 0xA] - mov r0, r8 - lsrs r0, 16 - strh r0, [r1, 0xC] - strh r4, [r1, 0x10] - strh r5, [r1, 0x12] - strh r6, [r1, 0x20] - ldr r0, _08111980 @ =CB2_BeginEvolutionScene - bl SetMainCallback2 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08111978: .4byte Task_BeginEvolutionScene -_0811197C: .4byte gTasks -_08111980: .4byte CB2_BeginEvolutionScene - thumb_func_end BeginEvolutionScene - - thumb_func_start EvolutionScene -EvolutionScene: @ 8111984 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x38 - str r0, [sp, 0x20] - mov r10, r1 - mov r0, r10 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x24] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x28] - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - movs r5, 0 - str r5, [sp, 0x1C] - add r0, sp, 0x1C - movs r1, 0xC0 - lsls r1, 19 - ldr r2, _08111C10 @ =0x05006000 - bl CpuSet - ldr r0, _08111C14 @ =REG_MOSAIC - strh r5, [r0] - subs r0, 0xC - strh r5, [r0] - adds r0, 0x4 - strh r5, [r0] - subs r0, 0x2 - strh r5, [r0] - adds r0, 0x4 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - ldr r4, _08111C18 @ =gWindowConfig_81E6C58 - adds r0, r4, 0 - bl SetUpWindowConfig - bl ResetPaletteFade - ldr r0, _08111C1C @ =gUnknown_030042A4 - strh r5, [r0] - ldr r0, _08111C20 @ =gUnknown_030042A0 - strh r5, [r0] - ldr r0, _08111C24 @ =gUnknown_030042C0 - strh r5, [r0] - ldr r0, _08111C28 @ =gUnknown_030041B4 - strh r5, [r0] - ldr r0, _08111C2C @ =gUnknown_03004288 - strh r5, [r0] - ldr r0, _08111C30 @ =gUnknown_03004280 - strh r5, [r0] - ldr r1, _08111C34 @ =gUnknown_030041B0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08111C38 @ =gUnknown_030041B8 - strh r5, [r0] - ldr r0, _08111C3C @ =gUnknown_03004210 - adds r1, r4, 0 - bl InitWindowFromConfig - ldr r1, _08111C40 @ =gBattleTerrain - movs r0, 0x9 - strb r0, [r1] - bl sub_800D6D4 - bl sub_800DAB8 - bl ResetSpriteData - bl remove_some_task - bl ResetTasks - bl FreeAllSpritePalettes - ldr r0, _08111C44 @ =gReservedSpritePaletteCount - movs r3, 0x4 - strb r3, [r0] - ldr r0, [sp, 0x20] - movs r1, 0x2 - add r2, sp, 0x8 - bl GetMonData - ldr r0, _08111C48 @ =gStringVar1 - add r1, sp, 0x8 - bl StringCopy10 - ldr r0, _08111C4C @ =gStringVar2 - movs r1, 0xB - mov r4, r10 - muls r4, r1 - adds r1, r4, 0 - ldr r2, _08111C50 @ =gSpeciesNames - adds r1, r2 - bl StringCopy - ldr r0, [sp, 0x20] - movs r1, 0xB - bl GetMonData - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 16 - ldr r0, [sp, 0x20] - movs r1, 0x1 - bl GetMonData - str r0, [sp, 0x2C] - ldr r0, [sp, 0x20] - movs r1, 0 - bl GetMonData - str r0, [sp, 0x30] - lsls r0, r6, 3 - ldr r1, _08111C54 @ =gMonFrontPicTable - adds r0, r1 - lsls r2, r6, 2 - ldr r3, _08111C58 @ =gMonFrontPicCoords - adds r2, r3 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - ldr r4, _08111C5C @ =gUnknown_081FAF4C - ldr r3, [r4, 0x4] - str r3, [sp] - str r6, [sp, 0x4] - movs r3, 0x80 - lsls r3, 18 - bl DecompressPicFromTable_2 - adds r0, r6, 0 - ldr r1, [sp, 0x2C] - ldr r2, [sp, 0x30] - bl sub_80409C8 - ldr r0, [r0] - movs r1, 0x88 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonSpriteTemplate_803C56C - ldr r0, _08111C60 @ =gUnknown_02024E8C - mov r9, r0 - ldr r1, _08111C64 @ =gDummySpriteAffineAnimTable - str r1, [r0, 0x10] - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0x1E - bl CreateSprite - lsls r1, r0, 24 - lsrs r2, r1, 24 - ldr r3, _08111C68 @ =0x02014800 - strb r0, [r3] - ldr r7, _08111C6C @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - movs r4, 0x1C - adds r4, r7 - mov r8, r4 - adds r0, r1, r4 - ldr r2, _08111C70 @ =nullsub_37 - str r2, [r0] - adds r1, r7 - ldrb r2, [r1, 0x5] - movs r4, 0xF - adds r0, r4, 0 - ands r0, r2 - movs r2, 0x10 - orrs r0, r2 - strb r0, [r1, 0x5] - adds r1, 0x3E - ldrb r0, [r1] - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1] - mov r1, r10 - lsls r0, r1, 3 - ldr r2, _08111C54 @ =gMonFrontPicTable - adds r0, r2 - lsls r2, r1, 2 - ldr r3, _08111C58 @ =gMonFrontPicCoords - adds r2, r3 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - str r2, [sp, 0x34] - ldr r2, _08111C5C @ =gUnknown_081FAF4C - ldr r2, [r2, 0xC] - str r2, [sp] - mov r3, r10 - str r3, [sp, 0x4] - ldr r2, [sp, 0x34] - movs r3, 0x80 - lsls r3, 18 - bl DecompressPicFromTable_2 - mov r0, r10 - ldr r1, [sp, 0x2C] - ldr r2, [sp, 0x30] - bl sub_80409C8 - ldr r0, [r0] - movs r1, 0x90 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - mov r0, r10 - movs r1, 0x3 - bl GetMonSpriteTemplate_803C56C - ldr r0, _08111C64 @ =gDummySpriteAffineAnimTable - mov r1, r9 - str r0, [r1, 0x10] - mov r0, r9 - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0x1E - bl CreateSprite - lsls r1, r0, 24 - lsrs r2, r1, 24 - ldr r3, _08111C68 @ =0x02014800 - strb r0, [r3, 0x1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - add r8, r1 - ldr r0, _08111C70 @ =nullsub_37 - mov r2, r8 - str r0, [r2] - adds r1, r7 - ldrb r0, [r1, 0x5] - ands r4, r0 - movs r0, 0x20 - orrs r4, r0 - strb r4, [r1, 0x5] - adds r1, 0x3E - ldrb r0, [r1] - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1] - bl LoadEvoSparkleSpriteAndPal - ldr r0, _08111C74 @ =Task_EvolutionScene - movs r1, 0 - bl CreateTask - lsls r1, r0, 24 - lsrs r2, r1, 24 - ldr r4, _08111C68 @ =0x02014800 - strb r0, [r4, 0x2] - ldr r1, _08111C78 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - strh r6, [r0, 0xE] - mov r1, r10 - strh r1, [r0, 0x10] - mov r2, sp - ldrh r2, [r2, 0x20] - strh r2, [r0, 0xA] - ldr r3, [sp, 0x20] - lsrs r1, r3, 16 - strh r1, [r0, 0xC] - mov r4, sp - ldrh r4, [r4, 0x24] - strh r4, [r0, 0x12] - movs r1, 0x1 - strh r1, [r0, 0x14] - strh r5, [r0, 0x1E] - mov r1, sp - ldrh r1, [r1, 0x28] - strh r1, [r0, 0x20] - ldr r0, _08111C7C @ =0x02009000 - ldr r1, _08111C80 @ =gPlttBufferUnfaded + 0x40 - movs r2, 0x60 - bl memcpy - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xFA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08111C84 @ =HBlankCB_EvolutionScene - bl SetHBlankCallback - ldr r0, _08111C88 @ =VBlankCB_EvolutionScene - bl SetVBlankCallback - bl m4aMPlayAllStop - ldr r0, _08111C8C @ =CB2_EvolutionSceneUpdate_0 - bl SetMainCallback2 - add sp, 0x38 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08111C10: .4byte 0x05006000 -_08111C14: .4byte REG_MOSAIC -_08111C18: .4byte gWindowConfig_81E6C58 -_08111C1C: .4byte gUnknown_030042A4 -_08111C20: .4byte gUnknown_030042A0 -_08111C24: .4byte gUnknown_030042C0 -_08111C28: .4byte gUnknown_030041B4 -_08111C2C: .4byte gUnknown_03004288 -_08111C30: .4byte gUnknown_03004280 -_08111C34: .4byte gUnknown_030041B0 -_08111C38: .4byte gUnknown_030041B8 -_08111C3C: .4byte gUnknown_03004210 -_08111C40: .4byte gBattleTerrain -_08111C44: .4byte gReservedSpritePaletteCount -_08111C48: .4byte gStringVar1 -_08111C4C: .4byte gStringVar2 -_08111C50: .4byte gSpeciesNames -_08111C54: .4byte gMonFrontPicTable -_08111C58: .4byte gMonFrontPicCoords -_08111C5C: .4byte gUnknown_081FAF4C -_08111C60: .4byte gUnknown_02024E8C -_08111C64: .4byte gDummySpriteAffineAnimTable -_08111C68: .4byte 0x02014800 -_08111C6C: .4byte gSprites -_08111C70: .4byte nullsub_37 -_08111C74: .4byte Task_EvolutionScene -_08111C78: .4byte gTasks -_08111C7C: .4byte 0x02009000 -_08111C80: .4byte gPlttBufferUnfaded + 0x40 -_08111C84: .4byte HBlankCB_EvolutionScene -_08111C88: .4byte VBlankCB_EvolutionScene -_08111C8C: .4byte CB2_EvolutionSceneUpdate_0 - thumb_func_end EvolutionScene - - thumb_func_start CB2_EvolutionSceneLoadGraphics -CB2_EvolutionSceneLoadGraphics: @ 8111C90 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0xC - ldr r2, _08111E14 @ =gTasks - ldr r0, _08111E18 @ =0x02014800 - mov r9, r0 - ldrb r1, [r0, 0x2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x20 - ldrsh r2, [r0, r1] - movs r1, 0x64 - adds r4, r2, 0 - muls r4, r1 - ldr r1, _08111E1C @ =gPlayerParty - adds r4, r1 - ldrh r6, [r0, 0x10] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - mov r10, r0 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - mov r8, r0 - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - movs r5, 0 - str r5, [sp, 0x8] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, _08111E20 @ =0x05006000 - add r0, sp, 0x8 - bl CpuSet - ldr r0, _08111E24 @ =REG_MOSAIC - strh r5, [r0] - subs r0, 0xC - strh r5, [r0] - adds r0, 0x4 - strh r5, [r0] - subs r0, 0x2 - strh r5, [r0] - adds r0, 0x4 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - ldr r4, _08111E28 @ =gWindowConfig_81E6C58 - adds r0, r4, 0 - bl SetUpWindowConfig - bl ResetPaletteFade - ldr r0, _08111E2C @ =gUnknown_030042A4 - strh r5, [r0] - ldr r0, _08111E30 @ =gUnknown_030042A0 - strh r5, [r0] - ldr r0, _08111E34 @ =gUnknown_030042C0 - strh r5, [r0] - ldr r0, _08111E38 @ =gUnknown_030041B4 - strh r5, [r0] - ldr r0, _08111E3C @ =gUnknown_03004288 - strh r5, [r0] - ldr r0, _08111E40 @ =gUnknown_03004280 - strh r5, [r0] - ldr r1, _08111E44 @ =gUnknown_030041B0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08111E48 @ =gUnknown_030041B8 - strh r5, [r0] - ldr r0, _08111E4C @ =gUnknown_03004210 - adds r1, r4, 0 - bl InitWindowFromConfig - ldr r1, _08111E50 @ =gBattleTerrain - movs r0, 0x9 - strb r0, [r1] - bl sub_800D6D4 - bl sub_800DAB8 - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, _08111E54 @ =gReservedSpritePaletteCount - movs r0, 0x4 - strb r0, [r1] - lsls r0, r6, 3 - ldr r1, _08111E58 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _08111E5C @ =gMonFrontPicCoords - lsls r2, r6, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r4, _08111E60 @ =gUnknown_081FAF4C - ldr r4, [r4, 0xC] - str r4, [sp] - str r6, [sp, 0x4] - bl DecompressPicFromTable_2 - adds r0, r6, 0 - mov r1, r10 - mov r2, r8 - bl sub_80409C8 - ldr r0, [r0] - movs r1, 0x90 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - adds r0, r6, 0 - movs r1, 0x3 - bl GetMonSpriteTemplate_803C56C - ldr r0, _08111E64 @ =gUnknown_02024E8C - ldr r1, _08111E68 @ =gDummySpriteAffineAnimTable - str r1, [r0, 0x10] - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0x1E - bl CreateSprite - lsls r2, r0, 24 - lsrs r2, 24 - mov r1, r9 - strb r0, [r1, 0x1] - ldr r3, _08111E6C @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r1, r0 - ldr r2, _08111E70 @ =nullsub_37 - str r2, [r0] - adds r1, r3 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xFA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08111E74 @ =HBlankCB_EvolutionScene - bl SetHBlankCallback - ldr r0, _08111E78 @ =VBlankCB_EvolutionScene - bl SetVBlankCallback - ldr r0, _08111E7C @ =CB2_EvolutionSceneUpdate_0 - bl SetMainCallback2 - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08111E14: .4byte gTasks -_08111E18: .4byte 0x02014800 -_08111E1C: .4byte gPlayerParty -_08111E20: .4byte 0x05006000 -_08111E24: .4byte REG_MOSAIC -_08111E28: .4byte gWindowConfig_81E6C58 -_08111E2C: .4byte gUnknown_030042A4 -_08111E30: .4byte gUnknown_030042A0 -_08111E34: .4byte gUnknown_030042C0 -_08111E38: .4byte gUnknown_030041B4 -_08111E3C: .4byte gUnknown_03004288 -_08111E40: .4byte gUnknown_03004280 -_08111E44: .4byte gUnknown_030041B0 -_08111E48: .4byte gUnknown_030041B8 -_08111E4C: .4byte gUnknown_03004210 -_08111E50: .4byte gBattleTerrain -_08111E54: .4byte gReservedSpritePaletteCount -_08111E58: .4byte gMonFrontPicTable -_08111E5C: .4byte gMonFrontPicCoords -_08111E60: .4byte gUnknown_081FAF4C -_08111E64: .4byte gUnknown_02024E8C -_08111E68: .4byte gDummySpriteAffineAnimTable -_08111E6C: .4byte gSprites -_08111E70: .4byte nullsub_37 -_08111E74: .4byte HBlankCB_EvolutionScene -_08111E78: .4byte VBlankCB_EvolutionScene -_08111E7C: .4byte CB2_EvolutionSceneUpdate_0 - thumb_func_end CB2_EvolutionSceneLoadGraphics - - thumb_func_start CB2_TradeEvolutionSceneLoadGraphics -CB2_TradeEvolutionSceneLoadGraphics: @ 8111E80 - push {r4-r7,lr} - sub sp, 0x8 - ldr r2, _08111EB8 @ =gTasks - ldr r0, _08111EBC @ =0x02014800 - ldrb r1, [r0, 0x2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x20 - ldrsh r2, [r0, r1] - movs r1, 0x64 - muls r2, r1 - ldr r1, _08111EC0 @ =gPlayerParty - adds r4, r2, r1 - ldrh r7, [r0, 0x10] - ldr r0, _08111EC4 @ =gMain - ldr r2, _08111EC8 @ =0x0000043c - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x6 - bls _08111EAE - b _081120D6 -_08111EAE: - lsls r0, 2 - ldr r1, _08111ECC @ =_08111ED0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08111EB8: .4byte gTasks -_08111EBC: .4byte 0x02014800 -_08111EC0: .4byte gPlayerParty -_08111EC4: .4byte gMain -_08111EC8: .4byte 0x0000043c -_08111ECC: .4byte _08111ED0 - .align 2, 0 -_08111ED0: - .4byte _08111EEC - .4byte _08111F68 - .4byte _08111F88 - .4byte _08111FDC - .4byte _08111FE2 - .4byte _08112048 - .4byte _081120B4 -_08111EEC: - movs r0, 0x80 - lsls r0, 19 - movs r4, 0 - strh r4, [r0] - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, _08111F3C @ =gReservedSpritePaletteCount - movs r0, 0x4 - strb r0, [r1] - ldr r0, _08111F40 @ =gUnknown_030042A4 - strh r4, [r0] - ldr r0, _08111F44 @ =gUnknown_030042A0 - strh r4, [r0] - ldr r0, _08111F48 @ =gUnknown_030042C0 - strh r4, [r0] - ldr r0, _08111F4C @ =gUnknown_030041B4 - strh r4, [r0] - ldr r0, _08111F50 @ =gUnknown_03004288 - strh r4, [r0] - ldr r0, _08111F54 @ =gUnknown_03004280 - strh r4, [r0] - ldr r1, _08111F58 @ =gUnknown_030041B0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08111F5C @ =gUnknown_030041B8 - strh r4, [r0] - ldr r1, _08111F60 @ =gMain - ldr r0, _08111F64 @ =0x0000043c - adds r1, r0 - b _0811208E - .align 2, 0 -_08111F3C: .4byte gReservedSpritePaletteCount -_08111F40: .4byte gUnknown_030042A4 -_08111F44: .4byte gUnknown_030042A0 -_08111F48: .4byte gUnknown_030042C0 -_08111F4C: .4byte gUnknown_030041B4 -_08111F50: .4byte gUnknown_03004288 -_08111F54: .4byte gUnknown_03004280 -_08111F58: .4byte gUnknown_030041B0 -_08111F5C: .4byte gUnknown_030041B8 -_08111F60: .4byte gMain -_08111F64: .4byte 0x0000043c -_08111F68: - ldr r4, _08111F80 @ =gWindowConfig_81E6F84 - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r0, _08111F84 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0x4 - adds r1, r4, 0 - bl InitWindowFromConfig - b _08112088 - .align 2, 0 -_08111F80: .4byte gWindowConfig_81E6F84 -_08111F84: .4byte gUnknown_03004828 -_08111F88: - ldr r4, _08111FC8 @ =gUnknown_03004828 - ldr r0, [r4] - adds r0, 0x4 - bl LoadTextWindowGraphics - movs r0, 0x2 - bl SetTextWindowBaseTileNum - ldr r1, [r4] - adds r1, 0x34 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x4 - bl LoadTextWindowGraphics - bl MenuZeroFillScreen - bl ResetPaletteFade - ldr r1, _08111FCC @ =gMain - ldr r0, _08111FD0 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, _08111FD4 @ =HBlankCB_EvolutionScene - bl SetHBlankCallback - ldr r0, _08111FD8 @ =VBlankCB_TradeEvolutionScene - bl SetVBlankCallback - b _081120D6 - .align 2, 0 -_08111FC8: .4byte gUnknown_03004828 -_08111FCC: .4byte gMain -_08111FD0: .4byte 0x0000043c -_08111FD4: .4byte HBlankCB_EvolutionScene -_08111FD8: .4byte VBlankCB_TradeEvolutionScene -_08111FDC: - bl sub_804E22C - b _08112088 -_08111FE2: - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - adds r6, r0, 0 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r5, r0, 0 - lsls r0, r7, 3 - ldr r1, _08112034 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _08112038 @ =gMonFrontPicCoords - lsls r2, r7, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r4, _0811203C @ =gUnknown_081FAF4C - ldr r4, [r4, 0xC] - str r4, [sp] - str r7, [sp, 0x4] - bl DecompressPicFromTable_2 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_80409C8 - ldr r0, [r0] - movs r1, 0x90 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r1, _08112040 @ =gMain - ldr r0, _08112044 @ =0x0000043c - adds r1, r0 - b _0811208E - .align 2, 0 -_08112034: .4byte gMonFrontPicTable -_08112038: .4byte gMonFrontPicCoords -_0811203C: .4byte gUnknown_081FAF4C -_08112040: .4byte gMain -_08112044: .4byte 0x0000043c -_08112048: - adds r0, r7, 0 - movs r1, 0x3 - bl GetMonSpriteTemplate_803C56C - ldr r0, _08112098 @ =gUnknown_02024E8C - ldr r1, _0811209C @ =gDummySpriteAffineAnimTable - str r1, [r0, 0x10] - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0x1E - bl CreateSprite - ldr r1, _081120A0 @ =0x02014800 - lsls r2, r0, 24 - lsrs r2, 24 - strb r0, [r1, 0x1] - ldr r3, _081120A4 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r1, r0 - ldr r2, _081120A8 @ =nullsub_37 - str r2, [r0] - adds r1, r3 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x5] -_08112088: - ldr r1, _081120AC @ =gMain - ldr r2, _081120B0 @ =0x0000043c - adds r1, r2 -_0811208E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081120D6 - .align 2, 0 -_08112098: .4byte gUnknown_02024E8C -_0811209C: .4byte gDummySpriteAffineAnimTable -_081120A0: .4byte 0x02014800 -_081120A4: .4byte gSprites -_081120A8: .4byte nullsub_37 -_081120AC: .4byte gMain -_081120B0: .4byte 0x0000043c -_081120B4: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _081120E0 @ =CB2_EvolutionSceneUpdate_1 - bl SetMainCallback2 - movs r1, 0x80 - lsls r1, 19 - movs r2, 0x9A - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] -_081120D6: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081120E0: .4byte CB2_EvolutionSceneUpdate_1 - thumb_func_end CB2_TradeEvolutionSceneLoadGraphics - - thumb_func_start TradeEvolutionScene -TradeEvolutionScene: @ 81120E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - str r0, [sp, 0x1C] - adds r5, r1, 0 - adds r4, r2, 0 - mov r10, r3 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 24 - lsrs r4, 24 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, [sp, 0x1C] - movs r1, 0x2 - add r2, sp, 0x8 - bl GetMonData - ldr r0, _08112234 @ =gStringVar1 - add r1, sp, 0x8 - bl StringCopy10 - ldr r0, _08112238 @ =gStringVar2 - movs r1, 0xB - muls r1, r5 - ldr r2, _0811223C @ =gSpeciesNames - adds r1, r2 - bl StringCopy - ldr r1, _08112240 @ =gAffineAnimsDisabled - movs r0, 0x1 - strb r0, [r1] - ldr r0, [sp, 0x1C] - movs r1, 0xB - bl GetMonData - mov r8, r0 - mov r1, r8 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - ldr r0, [sp, 0x1C] - movs r1, 0 - bl GetMonData - adds r6, r0, 0 - ldr r0, [sp, 0x1C] - movs r1, 0x1 - bl GetMonData - adds r7, r0, 0 - ldr r2, _08112244 @ =0x02014800 - mov r9, r2 - strb r4, [r2] - lsls r0, r5, 3 - ldr r1, _08112248 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _0811224C @ =gMonFrontPicCoords - lsls r2, r5, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r4, _08112250 @ =gUnknown_081FAF4C - ldr r4, [r4, 0x4] - str r4, [sp] - str r5, [sp, 0x4] - bl DecompressPicFromTable_2 - adds r0, r5, 0 - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_80409C8 - ldr r0, [r0] - movs r1, 0x90 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - adds r0, r5, 0 - movs r1, 0x1 - bl GetMonSpriteTemplate_803C56C - ldr r0, _08112254 @ =gUnknown_02024E8C - ldr r1, _08112258 @ =gDummySpriteAffineAnimTable - str r1, [r0, 0x10] - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0x1E - bl CreateSprite - lsls r1, r0, 24 - lsrs r2, r1, 24 - mov r1, r9 - strb r0, [r1, 0x1] - ldr r3, _0811225C @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r1, r0 - ldr r2, _08112260 @ =nullsub_37 - str r2, [r0] - adds r1, r3 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x5] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - bl LoadEvoSparkleSpriteAndPal - ldr r0, _08112264 @ =Task_TradeEvolutionScene - movs r1, 0 - bl CreateTask - lsls r1, r0, 24 - lsrs r2, r1, 24 - mov r1, r9 - strb r0, [r1, 0x2] - ldr r1, _08112268 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r2, 0 - strh r2, [r0, 0x8] - mov r1, r8 - strh r1, [r0, 0xE] - strh r5, [r0, 0x10] - mov r2, sp - ldrh r2, [r2, 0x1C] - strh r2, [r0, 0xA] - ldr r1, [sp, 0x1C] - lsrs r1, 16 - str r1, [sp, 0x20] - strh r1, [r0, 0xC] - movs r1, 0x1 - strh r1, [r0, 0x14] - movs r1, 0 - strh r1, [r0, 0x1E] - mov r2, r10 - strh r2, [r0, 0x20] - ldr r0, _0811226C @ =CB2_EvolutionSceneUpdate_1 - bl SetMainCallback2 - 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 -_08112234: .4byte gStringVar1 -_08112238: .4byte gStringVar2 -_0811223C: .4byte gSpeciesNames -_08112240: .4byte gAffineAnimsDisabled -_08112244: .4byte 0x02014800 -_08112248: .4byte gMonFrontPicTable -_0811224C: .4byte gMonFrontPicCoords -_08112250: .4byte gUnknown_081FAF4C -_08112254: .4byte gUnknown_02024E8C -_08112258: .4byte gDummySpriteAffineAnimTable -_0811225C: .4byte gSprites -_08112260: .4byte nullsub_37 -_08112264: .4byte Task_TradeEvolutionScene -_08112268: .4byte gTasks -_0811226C: .4byte CB2_EvolutionSceneUpdate_1 - thumb_func_end TradeEvolutionScene - - thumb_func_start CB2_EvolutionSceneUpdate_0 -CB2_EvolutionSceneUpdate_0: @ 8112270 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - ldr r0, _0811228C @ =gUnknown_03004210 - bl sub_800374C - bl UpdatePaletteFade - bl RunTasks - pop {r0} - bx r0 - .align 2, 0 -_0811228C: .4byte gUnknown_03004210 - thumb_func_end CB2_EvolutionSceneUpdate_0 - - thumb_func_start CB2_EvolutionSceneUpdate_1 -CB2_EvolutionSceneUpdate_1: @ 8112290 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - ldr r0, _081122B0 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0x4 - bl sub_80035AC - bl UpdatePaletteFade - bl RunTasks - pop {r0} - bx r0 - .align 2, 0 -_081122B0: .4byte gUnknown_03004828 - thumb_func_end CB2_EvolutionSceneUpdate_1 - - thumb_func_start CreateShedinja -CreateShedinja: @ 81122B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r1 - lsls r0, 16 - lsrs r7, r0, 16 - movs r0, 0 - str r0, [sp] - ldr r0, _081123F4 @ =gEvolutionTable - mov r8, r0 - lsls r1, r7, 2 - mov r9, r1 - adds r0, r1, r7 - lsls r4, r0, 3 - mov r0, r8 - adds r6, r4, r0 - ldrh r0, [r6] - cmp r0, 0xD - beq _081122E2 - b _081123E2 -_081122E2: - ldr r1, _081123F8 @ =gPlayerPartyCount - ldrb r0, [r1] - cmp r0, 0x5 - bhi _081123E2 - adds r1, r0, 0 - movs r0, 0x64 - muls r1, r0 - ldr r0, _081123FC @ =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - mov r1, r10 - movs r2, 0x64 - bl CopyMon - mov r1, r8 - adds r2, r1, r4 - adds r2, 0xC - adds r0, r5, 0 - movs r1, 0xB - bl SetMonData - ldrh r1, [r6, 0xC] - movs r0, 0xB - adds r2, r1, 0 - muls r2, r0 - ldr r0, _08112400 @ =gSpeciesNames - adds r2, r0 - adds r0, r5, 0 - movs r1, 0x2 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r0, r5, 0 - movs r1, 0x8 - mov r2, sp - bl SetMonData - adds r0, r5, 0 - movs r1, 0xA - mov r2, sp - bl SetMonData - movs r4, 0x32 - mov r6, r9 -_08112342: - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, sp - bl SetMonData - adds r4, 0x1 - cmp r4, 0x36 - ble _08112342 - movs r4, 0x43 -_08112354: - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, sp - bl SetMonData - adds r4, 0x1 - cmp r4, 0x4F - ble _08112354 - adds r0, r5, 0 - movs r1, 0x37 - mov r2, sp - bl SetMonData - movs r0, 0xFF - str r0, [sp] - adds r0, r5, 0 - movs r1, 0x40 - mov r2, sp - bl SetMonData - adds r0, r5, 0 - bl CalculateMonStats - bl CalculatePlayerPartyCount - ldr r0, _081123F4 @ =gEvolutionTable - adds r4, r6, r7 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0xC] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2 - bl GetNationalPokedexFlag - ldrh r0, [r4, 0xC] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl GetNationalPokedexFlag - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - ldr r1, _08112404 @ =0x0000012f - cmp r0, r1 - bne _081123E2 - adds r0, r5, 0 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x1 - bne _081123E2 - mov r0, r10 - movs r1, 0xB - bl GetMonData - movs r1, 0x97 - lsls r1, 1 - cmp r0, r1 - bne _081123E2 - ldr r2, _08112408 @ =gUnknown_083F868C - adds r0, r5, 0 - movs r1, 0x2 - bl SetMonData -_081123E2: - 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 -_081123F4: .4byte gEvolutionTable -_081123F8: .4byte gPlayerPartyCount -_081123FC: .4byte gPlayerParty -_08112400: .4byte gSpeciesNames -_08112404: .4byte 0x0000012f -_08112408: .4byte gUnknown_083F868C - thumb_func_end CreateShedinja - - thumb_func_start Task_EvolutionScene -Task_EvolutionScene: @ 811240C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, _08112490 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r3, r0, r2 - movs r1, 0xA - ldrsh r0, [r3, r1] - mov r9, r0 - movs r1, 0xC - ldrsh r0, [r3, r1] - lsls r0, 16 - mov r1, r9 - orrs r1, r0 - mov r9, r1 - ldr r0, _08112494 @ =gMain - ldrh r1, [r0, 0x2C] - adds r6, r2, 0 - adds r4, r0, 0 - cmp r1, 0x2 - bne _0811246E - movs r2, 0x8 - ldrsh r0, [r3, r2] - cmp r0, 0x8 - bne _0811246E - ldrh r1, [r3, 0x12] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0811246E - movs r0, 0x10 - strh r0, [r3, 0x8] - ldr r0, _08112498 @ =gBattleCommunication - ldrb r1, [r0, 0x2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r6 - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _0811246E - strh r2, [r1, 0x18] -_0811246E: - lsls r1, r7, 2 - adds r0, r1, r7 - lsls r0, 3 - adds r0, r6 - movs r3, 0x8 - ldrsh r0, [r0, r3] - mov r8, r1 - cmp r0, 0x15 - bls _08112484 - bl _08112FD0 -_08112484: - lsls r0, 2 - ldr r1, _0811249C @ =_081124A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08112490: .4byte gTasks -_08112494: .4byte gMain -_08112498: .4byte gBattleCommunication -_0811249C: .4byte _081124A0 - .align 2, 0 -_081124A0: - .4byte _081124F8 - .4byte _0811253C - .4byte _08112588 - .4byte _08112594 - .4byte _081125BC - .4byte _081125FC - .4byte _08112630 - .4byte _0811266C - .4byte _081126A0 - .4byte _081126E0 - .4byte _081126FC - .4byte _08112728 - .4byte _08112754 - .4byte _081127A0 - .4byte _0811284C - .4byte _081128E4 - .4byte _08112934 - .4byte _08112974 - .4byte _081129A0 - .4byte _081129E8 - .4byte _08112A4C - .4byte _08112A88 -_081124F8: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, _08112530 @ =gSprites - ldr r0, _08112534 @ =0x02014800 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r0, _08112538 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - b _08112A2E - .align 2, 0 -_08112530: .4byte gSprites -_08112534: .4byte 0x02014800 -_08112538: .4byte gTasks -_0811253C: - ldr r0, _08112574 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0811254C - bl _08112FD0 -_0811254C: - ldr r4, _08112578 @ =gStringVar4 - ldr r1, _0811257C @ =gUnknown_08400C4A - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _08112580 @ =gUnknown_03004210 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _08112584 @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - b _08112A2E - .align 2, 0 -_08112574: .4byte gPaletteFade -_08112578: .4byte gStringVar4 -_0811257C: .4byte gUnknown_08400C4A -_08112580: .4byte gUnknown_03004210 -_08112584: .4byte gTasks -_08112588: - ldr r0, _08112590 @ =gUnknown_03004210 - ldrh r0, [r0, 0x16] - b _0811297C - .align 2, 0 -_08112590: .4byte gUnknown_03004210 -_08112594: - bl IsCryFinished - lsls r0, 24 - cmp r0, 0 - bne _081125A2 - bl _08112FD0 -_081125A2: - movs r0, 0xBC - lsls r0, 1 - bl PlaySE - ldr r0, _081125B8 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - b _08112A2E - .align 2, 0 -_081125B8: .4byte gTasks -_081125BC: - bl IsSEPlaying - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _081125CC - bl _08112FD0 -_081125CC: - ldr r0, _081125F4 @ =0x00000179 - bl PlayNewMapMusic - ldr r0, _081125F8 @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - str r4, [sp] - movs r0, 0x1C - movs r1, 0x4 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - bl _08112FD0 - .align 2, 0 -_081125F4: .4byte 0x00000179 -_081125F8: .4byte gTasks -_081125FC: - ldr r0, _08112624 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0811260C - bl _08112FD0 -_0811260C: - movs r0, 0x11 - bl LaunchTask_PreEvoSparklesSet1 - ldr r1, _08112628 @ =gBattleCommunication - strb r0, [r1, 0x2] - ldr r0, _0811262C @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - b _08112A2E - .align 2, 0 -_08112624: .4byte gPaletteFade -_08112628: .4byte gBattleCommunication -_0811262C: .4byte gTasks -_08112630: - ldr r4, _08112664 @ =gBattleCommunication - ldrb r0, [r4, 0x2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _08112646 - bl _08112FD0 -_08112646: - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r6 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - ldr r1, _08112668 @ =0x02014800 - movs r0, 0x1 - strb r0, [r1, 0x3] - bl LaunchTask_PreEvoSparklesSet2 - strb r0, [r4, 0x2] - bl _08112FD0 - .align 2, 0 -_08112664: .4byte gBattleCommunication -_08112668: .4byte 0x02014800 -_0811266C: - ldr r4, _08112698 @ =gBattleCommunication - ldrb r0, [r4, 0x2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _08112682 - bl _08112FD0 -_08112682: - ldr r1, _0811269C @ =0x02014800 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - bl sub_8149E7C - strb r0, [r4, 0x2] - mov r0, r8 - adds r1, r0, r7 - lsls r1, 3 - adds r1, r6 - b _08112A2E - .align 2, 0 -_08112698: .4byte gBattleCommunication -_0811269C: .4byte 0x02014800 -_081126A0: - ldr r1, _081126D8 @ =0x02014800 - ldrb r0, [r1, 0x3] - subs r0, 0x1 - strb r0, [r1, 0x3] - lsls r0, 24 - cmp r0, 0 - beq _081126B2 - bl _08112FD0 -_081126B2: - movs r0, 0x3 - strb r0, [r1, 0x3] - ldr r0, _081126DC @ =gBattleCommunication - ldrb r1, [r0, 0x2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _081126CC - bl _08112FD0 -_081126CC: - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r6 - b _08112A2E - .align 2, 0 -_081126D8: .4byte 0x02014800 -_081126DC: .4byte gBattleCommunication -_081126E0: - bl LaunchTask_PostEvoSparklesSet1 - ldr r1, _081126F4 @ =gBattleCommunication - strb r0, [r1, 0x2] - ldr r0, _081126F8 @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - b _08112A2E - .align 2, 0 -_081126F4: .4byte gBattleCommunication -_081126F8: .4byte gTasks -_081126FC: - ldr r5, _08112724 @ =gBattleCommunication - ldrb r0, [r5, 0x2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _08112712 - bl _08112FD0 -_08112712: - mov r0, r8 - adds r4, r0, r7 - lsls r4, 3 - adds r4, r6 - ldrh r0, [r4, 0x10] - bl LaunchTask_PostEvoSparklesSet2AndFlash - strb r0, [r5, 0x2] - b _08112992 - .align 2, 0 -_08112724: .4byte gBattleCommunication -_08112728: - ldr r0, _08112750 @ =gBattleCommunication - ldrb r1, [r0, 0x2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _0811273E - bl _08112FD0 -_0811273E: - movs r0, 0x21 - bl PlaySE - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r6 - b _08112A2E - .align 2, 0 -_08112750: .4byte gBattleCommunication -_08112754: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _08112762 - bl _08112FD0 -_08112762: - bl m4aMPlayAllStop - ldr r0, _08112794 @ =gTasks - mov r3, r8 - adds r4, r3, r7 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0x10] - movs r1, 0 - bl PlayCry1 - ldr r0, _08112798 @ =gPlttBufferUnfaded + 0x40 - ldr r1, _0811279C @ =0x02009000 - movs r2, 0x60 - bl memcpy - movs r0, 0 - str r0, [sp] - movs r0, 0x1C - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _08112992 - .align 2, 0 -_08112794: .4byte gTasks -_08112798: .4byte gPlttBufferUnfaded + 0x40 -_0811279C: .4byte 0x02009000 -_081127A0: - bl IsCryFinished - lsls r0, 24 - cmp r0, 0 - bne _081127AE - bl _08112FD0 -_081127AE: - ldr r0, _08112834 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081127BE - bl _08112FD0 -_081127BE: - ldr r4, _08112838 @ =gStringVar4 - ldr r1, _0811283C @ =gUnknown_08400C60 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _08112840 @ =gUnknown_03004210 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _08112844 @ =0x00000173 - bl PlayBGM - ldr r2, _08112848 @ =gTasks - mov r0, r8 - adds r1, r0, r7 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - adds r2, r1 - adds r2, 0x10 - mov r0, r9 - movs r1, 0xB - bl SetMonData - mov r0, r9 - bl CalculateMonStats - ldrh r1, [r4, 0xE] - ldrh r2, [r4, 0x10] - mov r0, r9 - bl EvolutionRenameMon - ldrh r0, [r4, 0x10] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2 - bl GetNationalPokedexFlag - ldrh r0, [r4, 0x10] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl GetNationalPokedexFlag - movs r0, 0xE - bl IncrementGameStat - b _08112FD0 - .align 2, 0 -_08112834: .4byte gPaletteFade -_08112838: .4byte gStringVar4 -_0811283C: .4byte gUnknown_08400C60 -_08112840: .4byte gUnknown_03004210 -_08112844: .4byte 0x00000173 -_08112848: .4byte gTasks -_0811284C: - ldr r0, _081128A4 @ =gUnknown_03004210 - ldrh r0, [r0, 0x16] - cmp r0, 0 - beq _08112856 - b _08112FD0 -_08112856: - mov r1, r8 - adds r0, r1, r7 - lsls r0, 3 - adds r5, r0, r6 - ldrb r1, [r5, 0x14] - mov r0, r9 - bl sub_803B7C8 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _081128C4 - movs r2, 0x1E - ldrsh r4, [r5, r2] - cmp r4, 0 - bne _081128C4 - bl sub_8053E90 - ldrh r1, [r5, 0x12] - movs r0, 0x80 - orrs r0, r1 - strh r0, [r5, 0x12] - strh r4, [r5, 0x14] - strh r4, [r5, 0x18] - mov r0, r9 - movs r1, 0x2 - add r2, sp, 0x4 - bl GetMonData - ldr r0, _081128A8 @ =gBattleTextBuff1 - add r1, sp, 0x4 - bl StringCopy10 - ldr r0, _081128AC @ =0x0000ffff - cmp r6, r0 - bne _081128B0 - movs r0, 0x15 - strh r0, [r5, 0x8] - b _08112FD0 - .align 2, 0 -_081128A4: .4byte gUnknown_03004210 -_081128A8: .4byte gBattleTextBuff1 -_081128AC: .4byte 0x0000ffff -_081128B0: - ldr r0, _081128C0 @ =0x0000fffe - cmp r6, r0 - bne _081128B8 - b _08112FD0 -_081128B8: - movs r0, 0x13 - strh r0, [r5, 0x8] - b _08112FD0 - .align 2, 0 -_081128C0: .4byte 0x0000fffe -_081128C4: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _081128E0 @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - b _08112A2E - .align 2, 0 -_081128E0: .4byte gTasks -_081128E4: - ldr r0, _0811292C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r2, 0x80 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _081128F4 - b _08112FD0 -_081128F4: - mov r1, r8 - adds r0, r1, r7 - lsls r0, 3 - adds r4, r0, r6 - ldrh r1, [r4, 0x12] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0811290A - bl sub_8053E90 -_0811290A: - movs r2, 0x1E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0811291A - ldrh r0, [r4, 0xE] - mov r1, r9 - bl CreateShedinja -_0811291A: - adds r0, r7, 0 - bl DestroyTask - ldr r0, _08112930 @ =gUnknown_03005E94 - ldr r0, [r0] - bl SetMainCallback2 - b _08112FD0 - .align 2, 0 -_0811292C: .4byte gPaletteFade -_08112930: .4byte gUnknown_03005E94 -_08112934: - ldr r0, _08112968 @ =gBattleCommunication - ldrb r1, [r0, 0x2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08112948 - b _08112FD0 -_08112948: - bl m4aMPlayAllStop - ldr r0, _0811296C @ =0x0006001c - ldr r1, _08112970 @ =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r6 - b _08112A2E - .align 2, 0 -_08112968: .4byte gBattleCommunication -_0811296C: .4byte 0x0006001c -_08112970: .4byte 0x00007fff -_08112974: - ldr r0, _0811299C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 -_0811297C: - cmp r0, 0 - beq _08112982 - b _08112FD0 -_08112982: - mov r0, r8 - adds r4, r0, r7 - lsls r4, 3 - adds r4, r6 - ldrh r0, [r4, 0xE] - movs r1, 0 - bl PlayCry1 -_08112992: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08112FD0 - .align 2, 0 -_0811299C: .4byte gPaletteFade -_081129A0: - bl IsCryFinished - lsls r0, 24 - cmp r0, 0 - bne _081129AC - b _08112FD0 -_081129AC: - ldr r4, _081129D8 @ =gStringVar4 - ldr r1, _081129DC @ =gUnknown_08400C8D - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _081129E0 @ =gUnknown_03004210 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _081129E4 @ =gTasks - mov r2, r8 - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x1E] - b _08112F9A - .align 2, 0 -_081129D8: .4byte gStringVar4 -_081129DC: .4byte gUnknown_08400C8D -_081129E0: .4byte gUnknown_03004210 -_081129E4: .4byte gTasks -_081129E8: - ldr r4, _08112A38 @ =gUnknown_03004210 - ldrh r0, [r4, 0x16] - cmp r0, 0 - beq _081129F2 - b _08112FD0 -_081129F2: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _081129FE - b _08112FD0 -_081129FE: - bl sub_8024CEC - ldr r0, _08112A3C @ =0x0000016f - bl PlayFanfare - ldr r0, _08112A40 @ =gBattleStringsTable - ldr r0, [r0, 0xC] - bl StrCpyDecodeToDisplayedStringBattle - ldr r1, _08112A44 @ =gDisplayedStringBattle - movs r0, 0xF - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _08112A48 @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - movs r0, 0x40 - strh r0, [r1, 0x14] -_08112A2E: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08112FD0 - .align 2, 0 -_08112A38: .4byte gUnknown_03004210 -_08112A3C: .4byte 0x0000016f -_08112A40: .4byte gBattleStringsTable -_08112A44: .4byte gDisplayedStringBattle -_08112A48: .4byte gTasks -_08112A4C: - ldr r0, _08112A80 @ =gUnknown_03004210 - ldrh r0, [r0, 0x16] - cmp r0, 0 - beq _08112A56 - b _08112FD0 -_08112A56: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _08112A62 - b _08112FD0 -_08112A62: - ldr r0, _08112A84 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x14] - subs r0, 0x1 - strh r0, [r1, 0x14] - lsls r0, 16 - cmp r0, 0 - beq _08112A7A - b _08112FD0 -_08112A7A: - movs r0, 0xE - strh r0, [r1, 0x8] - b _08112FD0 - .align 2, 0 -_08112A80: .4byte gUnknown_03004210 -_08112A84: .4byte gTasks -_08112A88: - mov r3, r8 - adds r0, r3, r7 - lsls r0, 3 - adds r0, r6 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0xB - bls _08112A9A - b _08112FD0 -_08112A9A: - lsls r0, 2 - ldr r1, _08112AA4 @ =_08112AA8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08112AA4: .4byte _08112AA8 - .align 2, 0 -_08112AA8: - .4byte _08112AD8 - .4byte _08112B2C - .4byte _08112B7C - .4byte _08112BC0 - .4byte _08112C0C - .4byte _08112D3C - .4byte _08112D8C - .4byte _08112E98 - .4byte _08112EE8 - .4byte _08112F38 - .4byte _08112F78 - .4byte _08112FB0 -_08112AD8: - ldr r4, _08112B1C @ =gUnknown_03004210 - ldrh r0, [r4, 0x16] - cmp r0, 0 - beq _08112AE2 - b _08112FD0 -_08112AE2: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _08112AEE - b _08112FD0 -_08112AEE: - bl sub_8024CEC - ldr r0, _08112B20 @ =gBattleStringsTable - ldr r0, [r0, 0x10] - bl StrCpyDecodeToDisplayedStringBattle - ldr r1, _08112B24 @ =gDisplayedStringBattle - movs r0, 0xF - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _08112B28 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - b _08112FCE - .align 2, 0 -_08112B1C: .4byte gUnknown_03004210 -_08112B20: .4byte gBattleStringsTable -_08112B24: .4byte gDisplayedStringBattle -_08112B28: .4byte gTasks -_08112B2C: - ldr r4, _08112B6C @ =gUnknown_03004210 - ldrh r0, [r4, 0x16] - cmp r0, 0 - beq _08112B36 - b _08112FD0 -_08112B36: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _08112B42 - b _08112FD0 -_08112B42: - ldr r0, _08112B70 @ =gBattleStringsTable - ldr r0, [r0, 0x14] - bl StrCpyDecodeToDisplayedStringBattle - ldr r1, _08112B74 @ =gDisplayedStringBattle - movs r0, 0xF - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _08112B78 @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - b _08112FCE - .align 2, 0 -_08112B6C: .4byte gUnknown_03004210 -_08112B70: .4byte gBattleStringsTable -_08112B74: .4byte gDisplayedStringBattle -_08112B78: .4byte gTasks -_08112B7C: - ldr r4, _08112BF8 @ =gUnknown_03004210 - ldrh r0, [r4, 0x16] - cmp r0, 0 - beq _08112B86 - b _08112FD0 -_08112B86: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _08112BC0 - ldr r0, _08112BFC @ =gBattleStringsTable - ldr r0, [r0, 0x18] - bl StrCpyDecodeToDisplayedStringBattle - ldr r1, _08112C00 @ =gDisplayedStringBattle - movs r0, 0xF - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _08112C04 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - movs r0, 0x5 - strh r0, [r1, 0x1A] - movs r0, 0x9 - strh r0, [r1, 0x1C] - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] -_08112BC0: - ldr r0, _08112BF8 @ =gUnknown_03004210 - ldrh r0, [r0, 0x16] - cmp r0, 0 - beq _08112BCA - b _08112FD0 -_08112BCA: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _08112BD6 - b _08112FD0 -_08112BD6: - bl sub_8023A80 - ldr r0, _08112C04 @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - movs r2, 0 - strh r0, [r1, 0x18] - ldr r0, _08112C08 @ =gBattleCommunication - strb r2, [r0, 0x1] - bl sub_802BC6C - b _08112FD0 - .align 2, 0 -_08112BF8: .4byte gUnknown_03004210 -_08112BFC: .4byte gBattleStringsTable -_08112C00: .4byte gDisplayedStringBattle -_08112C04: .4byte gTasks -_08112C08: .4byte gBattleCommunication -_08112C0C: - ldr r0, _08112CA4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08112C32 - ldr r4, _08112CA8 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _08112C32 - movs r0, 0x5 - bl PlaySE - bl nullsub_6 - movs r0, 0 - strb r0, [r4, 0x1] - bl sub_802BC6C -_08112C32: - ldr r0, _08112CA4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08112C58 - ldr r4, _08112CA8 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _08112C58 - movs r0, 0x5 - bl PlaySE - bl nullsub_6 - movs r0, 0x1 - strb r0, [r4, 0x1] - bl sub_802BC6C -_08112C58: - ldr r0, _08112CA4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08112CE2 - bl sub_8023AD8 - ldr r0, _08112CAC @ =gBattleStringsTable - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - bl StrCpyDecodeToDisplayedStringBattle - ldr r0, _08112CB0 @ =gUnknown_03004210 - ldr r1, _08112CB4 @ =gDisplayedStringBattle - movs r2, 0xF - str r2, [sp] - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - movs r0, 0x5 - bl PlaySE - ldr r0, _08112CA8 @ =gBattleCommunication - ldrb r2, [r0, 0x1] - cmp r2, 0 - beq _08112CBC - ldr r0, _08112CB8 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1C] - strh r0, [r1, 0x18] - b _08112CE2 - .align 2, 0 -_08112CA4: .4byte gMain -_08112CA8: .4byte gBattleCommunication -_08112CAC: .4byte gBattleStringsTable -_08112CB0: .4byte gUnknown_03004210 -_08112CB4: .4byte gDisplayedStringBattle -_08112CB8: .4byte gTasks -_08112CBC: - ldr r0, _08112D28 @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1A] - strh r0, [r1, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08112CE2 - movs r0, 0x1 - negs r0, r0 - str r2, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_08112CE2: - ldr r0, _08112D2C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08112CF0 - b _08112FD0 -_08112CF0: - bl sub_8023AD8 - ldr r0, _08112D30 @ =gBattleStringsTable - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - bl StrCpyDecodeToDisplayedStringBattle - ldr r0, _08112D34 @ =gUnknown_03004210 - ldr r1, _08112D38 @ =gDisplayedStringBattle - movs r2, 0xF - str r2, [sp] - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - movs r0, 0x5 - bl PlaySE - ldr r1, _08112D28 @ =gTasks - mov r2, r8 - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x1C] - strh r1, [r0, 0x18] - b _08112FD0 - .align 2, 0 -_08112D28: .4byte gTasks -_08112D2C: .4byte gMain -_08112D30: .4byte gBattleStringsTable -_08112D34: .4byte gUnknown_03004210 -_08112D38: .4byte gDisplayedStringBattle -_08112D3C: - ldr r0, _08112D78 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08112D4A - b _08112FD0 -_08112D4A: - ldr r0, _08112D7C @ =gPlayerParty - mov r3, r8 - adds r5, r3, r7 - lsls r5, 3 - adds r5, r6 - ldrh r1, [r5, 0x20] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _08112D80 @ =gPlayerPartyCount - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _08112D84 @ =CB2_EvolutionSceneLoadGraphics - ldr r4, _08112D88 @ =word_2024E82 - ldrh r4, [r4] - str r4, [sp] - bl sub_809D9F0 - ldrh r0, [r5, 0x18] - adds r0, 0x1 - strh r0, [r5, 0x18] - b _08112FD0 - .align 2, 0 -_08112D78: .4byte gPaletteFade -_08112D7C: .4byte gPlayerParty -_08112D80: .4byte gPlayerPartyCount -_08112D84: .4byte CB2_EvolutionSceneLoadGraphics -_08112D88: .4byte word_2024E82 -_08112D8C: - ldr r0, _08112DC0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08112D9A - b _08112FD0 -_08112D9A: - ldr r1, [r4, 0x4] - ldr r0, _08112DC4 @ =CB2_EvolutionSceneUpdate_0 - cmp r1, r0 - beq _08112DA4 - b _08112FD0 -_08112DA4: - bl sub_809FA30 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x4 - bne _08112DCC - ldr r0, _08112DC8 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - movs r0, 0x9 - b _08112FCE - .align 2, 0 -_08112DC0: .4byte gPaletteFade -_08112DC4: .4byte CB2_EvolutionSceneUpdate_0 -_08112DC8: .4byte gTasks -_08112DCC: - adds r1, r6, 0 - adds r1, 0xD - mov r0, r9 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl IsHMMove2 - cmp r0, 0 - beq _08112E24 - ldr r0, _08112E10 @ =gBattleStringsTable - ldr r3, _08112E14 @ =0x000004cc - adds r0, r3 - ldr r0, [r0] - bl StrCpyDecodeToDisplayedStringBattle - ldr r0, _08112E18 @ =gUnknown_03004210 - ldr r1, _08112E1C @ =gDisplayedStringBattle - movs r2, 0xF - str r2, [sp] - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _08112E20 @ =gTasks - mov r2, r8 - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0xB - strh r1, [r0, 0x18] - b _08112FD0 - .align 2, 0 -_08112E10: .4byte gBattleStringsTable -_08112E14: .4byte 0x000004cc -_08112E18: .4byte gUnknown_03004210 -_08112E1C: .4byte gDisplayedStringBattle -_08112E20: .4byte gTasks -_08112E24: - ldr r1, _08112E80 @ =gBattleTextBuff2 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - strb r4, [r1, 0x2] - lsrs r0, r4, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - lsls r4, r6, 24 - lsrs r4, 24 - mov r0, r9 - adds r1, r4, 0 - bl RemoveMonPPBonus - ldr r0, _08112E84 @ =word_2024E82 - ldrh r1, [r0] - mov r0, r9 - adds r2, r4, 0 - bl SetMonMoveSlot - ldr r0, _08112E88 @ =gBattleStringsTable - movs r3, 0xCF - lsls r3, 2 - adds r0, r3 - ldr r0, [r0] - bl StrCpyDecodeToDisplayedStringBattle - ldr r0, _08112E8C @ =gUnknown_03004210 - ldr r1, _08112E90 @ =gDisplayedStringBattle - movs r2, 0xF - str r2, [sp] - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _08112E94 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - b _08112FCE - .align 2, 0 -_08112E80: .4byte gBattleTextBuff2 -_08112E84: .4byte word_2024E82 -_08112E88: .4byte gBattleStringsTable -_08112E8C: .4byte gUnknown_03004210 -_08112E90: .4byte gDisplayedStringBattle -_08112E94: .4byte gTasks -_08112E98: - ldr r4, _08112ED8 @ =gUnknown_03004210 - ldrh r0, [r4, 0x16] - cmp r0, 0 - beq _08112EA2 - b _08112FD0 -_08112EA2: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _08112EAE - b _08112FD0 -_08112EAE: - ldr r0, _08112EDC @ =gBattleStringsTable - ldr r0, [r0, 0x1C] - bl StrCpyDecodeToDisplayedStringBattle - ldr r1, _08112EE0 @ =gDisplayedStringBattle - movs r0, 0xF - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _08112EE4 @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - b _08112FCE - .align 2, 0 -_08112ED8: .4byte gUnknown_03004210 -_08112EDC: .4byte gBattleStringsTable -_08112EE0: .4byte gDisplayedStringBattle -_08112EE4: .4byte gTasks -_08112EE8: - ldr r4, _08112F28 @ =gUnknown_03004210 - ldrh r0, [r4, 0x16] - cmp r0, 0 - bne _08112FD0 - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _08112FD0 - ldr r0, _08112F2C @ =gBattleStringsTable - movs r1, 0xD0 - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - bl StrCpyDecodeToDisplayedStringBattle - ldr r1, _08112F30 @ =gDisplayedStringBattle - movs r0, 0xF - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _08112F34 @ =gTasks - mov r2, r8 - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0x13 - strh r1, [r0, 0x8] - b _08112FD0 - .align 2, 0 -_08112F28: .4byte gUnknown_03004210 -_08112F2C: .4byte gBattleStringsTable -_08112F30: .4byte gDisplayedStringBattle -_08112F34: .4byte gTasks -_08112F38: - ldr r0, _08112F68 @ =gBattleStringsTable - ldr r0, [r0, 0x20] - bl StrCpyDecodeToDisplayedStringBattle - ldr r0, _08112F6C @ =gUnknown_03004210 - ldr r1, _08112F70 @ =gDisplayedStringBattle - movs r2, 0xF - str r2, [sp] - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _08112F74 @ =gTasks - mov r3, r8 - adds r0, r3, r7 - lsls r0, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0xA - strh r1, [r0, 0x1A] - strh r2, [r0, 0x1C] - movs r1, 0x3 - strh r1, [r0, 0x18] - b _08112FD0 - .align 2, 0 -_08112F68: .4byte gBattleStringsTable -_08112F6C: .4byte gUnknown_03004210 -_08112F70: .4byte gDisplayedStringBattle -_08112F74: .4byte gTasks -_08112F78: - ldr r0, _08112FA0 @ =gBattleStringsTable - ldr r0, [r0, 0x24] - bl StrCpyDecodeToDisplayedStringBattle - ldr r0, _08112FA4 @ =gUnknown_03004210 - ldr r1, _08112FA8 @ =gDisplayedStringBattle - movs r2, 0xF - str r2, [sp] - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _08112FAC @ =gTasks - mov r2, r8 - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 -_08112F9A: - movs r1, 0xE - strh r1, [r0, 0x8] - b _08112FD0 - .align 2, 0 -_08112FA0: .4byte gBattleStringsTable -_08112FA4: .4byte gUnknown_03004210 -_08112FA8: .4byte gDisplayedStringBattle -_08112FAC: .4byte gTasks -_08112FB0: - ldr r0, _08112FE0 @ =gUnknown_03004210 - ldrh r0, [r0, 0x16] - cmp r0, 0 - bne _08112FD0 - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _08112FD0 - ldr r0, _08112FE4 @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - movs r0, 0x5 -_08112FCE: - strh r0, [r1, 0x18] -_08112FD0: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08112FE0: .4byte gUnknown_03004210 -_08112FE4: .4byte gTasks - thumb_func_end Task_EvolutionScene - - thumb_func_start Task_TradeEvolutionScene -Task_TradeEvolutionScene: @ 8112FE8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, _0811302C @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r2 - movs r3, 0xA - ldrsh r0, [r1, r3] - mov r8, r0 - movs r3, 0xC - ldrsh r0, [r1, r3] - lsls r0, 16 - mov r3, r8 - orrs r3, r0 - mov r8, r3 - movs r3, 0x8 - ldrsh r0, [r1, r3] - adds r6, r2, 0 - cmp r0, 0x11 - bls _08113020 - bl _08113B3A -_08113020: - lsls r0, 2 - ldr r1, _08113030 @ =_08113034 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0811302C: .4byte gTasks -_08113030: .4byte _08113034 - .align 2, 0 -_08113034: - .4byte _0811307C - .4byte _081130B8 - .4byte _081130DC - .4byte _0811310C - .4byte _0811314C - .4byte _0811318C - .4byte _081131C8 - .4byte _081131F4 - .4byte _0811322C - .4byte _08113248 - .4byte _08113274 - .4byte _081132A8 - .4byte _081132F8 - .4byte _081133A8 - .4byte _0811346C - .4byte _08113490 - .4byte _081134F8 - .4byte _08113538 -_0811307C: - ldr r4, _081130A8 @ =gStringVar4 - ldr r1, _081130AC @ =gUnknown_08400C4A - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _081130B0 @ =gUnknown_03004828 - ldr r1, [r0] - adds r0, r1, 0x4 - adds r1, 0x34 - ldrb r2, [r1] - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _081130B4 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - b _08113298 - .align 2, 0 -_081130A8: .4byte gStringVar4 -_081130AC: .4byte gUnknown_08400C4A -_081130B0: .4byte gUnknown_03004828 -_081130B4: .4byte gTasks -_081130B8: - ldr r0, _081130D8 @ =gUnknown_03004828 - ldr r0, [r0] - ldrh r0, [r0, 0x1A] - cmp r0, 0 - beq _081130C6 - bl _08113B3A -_081130C6: - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r6 - ldrh r0, [r4, 0xE] - movs r1, 0 - bl PlayCry1 - b _081132E2 - .align 2, 0 -_081130D8: .4byte gUnknown_03004828 -_081130DC: - bl IsCryFinished - lsls r0, 24 - cmp r0, 0 - bne _081130EA - bl _08113B3A -_081130EA: - ldr r0, _08113104 @ =0x00000179 - bl m4aSongNumStop - movs r0, 0xBC - lsls r0, 1 - bl PlaySE - ldr r1, _08113108 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - b _08113298 - .align 2, 0 -_08113104: .4byte 0x00000179 -_08113108: .4byte gTasks -_0811310C: - bl IsSEPlaying - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _0811311C - bl _08113B3A -_0811311C: - ldr r0, _08113144 @ =0x00000179 - bl PlayBGM - ldr r1, _08113148 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - str r5, [sp] - movs r0, 0x1C - movs r1, 0x4 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - bl _08113B3A - .align 2, 0 -_08113144: .4byte 0x00000179 -_08113148: .4byte gTasks -_0811314C: - ldr r0, _08113180 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0811315C - bl _08113B3A -_0811315C: - movs r1, 0x80 - lsls r1, 19 - movs r2, 0x9A - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0x11 - bl LaunchTask_PreEvoSparklesSet1 - ldr r1, _08113184 @ =gBattleCommunication - strb r0, [r1, 0x2] - ldr r1, _08113188 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - b _08113298 - .align 2, 0 -_08113180: .4byte gPaletteFade -_08113184: .4byte gBattleCommunication -_08113188: .4byte gTasks -_0811318C: - ldr r4, _081131C0 @ =gBattleCommunication - ldrb r0, [r4, 0x2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _081131A2 - bl _08113B3A -_081131A2: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r6 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - ldr r1, _081131C4 @ =0x02014800 - movs r0, 0x1 - strb r0, [r1, 0x3] - bl LaunchTask_PreEvoSparklesSet2 - strb r0, [r4, 0x2] - bl _08113B3A - .align 2, 0 -_081131C0: .4byte gBattleCommunication -_081131C4: .4byte 0x02014800 -_081131C8: - ldr r4, _081131EC @ =gBattleCommunication - ldrb r0, [r4, 0x2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _081131DE - bl _08113B3A -_081131DE: - ldr r1, _081131F0 @ =0x02014800 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - bl sub_8149E7C - strb r0, [r4, 0x2] - b _08113290 - .align 2, 0 -_081131EC: .4byte gBattleCommunication -_081131F0: .4byte 0x02014800 -_081131F4: - ldr r1, _08113224 @ =0x02014800 - ldrb r0, [r1, 0x3] - subs r0, 0x1 - strb r0, [r1, 0x3] - lsls r0, 24 - cmp r0, 0 - beq _08113206 - bl _08113B3A -_08113206: - movs r0, 0x3 - strb r0, [r1, 0x3] - ldr r0, _08113228 @ =gBattleCommunication - ldrb r1, [r0, 0x2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08113220 - bl _08113B3A -_08113220: - b _08113290 - .align 2, 0 -_08113224: .4byte 0x02014800 -_08113228: .4byte gBattleCommunication -_0811322C: - bl LaunchTask_PostEvoSparklesSet1 - ldr r1, _08113240 @ =gBattleCommunication - strb r0, [r1, 0x2] - ldr r1, _08113244 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - b _08113298 - .align 2, 0 -_08113240: .4byte gBattleCommunication -_08113244: .4byte gTasks -_08113248: - ldr r5, _08113270 @ =gBattleCommunication - ldrb r0, [r5, 0x2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _0811325E - bl _08113B3A -_0811325E: - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r6 - ldrh r0, [r4, 0x10] - bl LaunchTask_PostEvoSparklesSet2AndFlash_Trade - strb r0, [r5, 0x2] - b _081132E2 - .align 2, 0 -_08113270: .4byte gBattleCommunication -_08113274: - ldr r0, _081132A4 @ =gBattleCommunication - ldrb r1, [r0, 0x2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _0811328A - bl _08113B3A -_0811328A: - movs r0, 0x21 - bl PlaySE -_08113290: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r6 -_08113298: - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - bl _08113B3A - .align 2, 0 -_081132A4: .4byte gBattleCommunication -_081132A8: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _081132B6 - bl _08113B3A -_081132B6: - ldr r0, _081132EC @ =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0x10] - movs r1, 0 - bl PlayCry1 - ldr r0, _081132F0 @ =gPlttBufferUnfaded + 0x40 - ldr r1, _081132F4 @ =0x02009000 - movs r2, 0x60 - bl memcpy - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_081132E2: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - bl _08113B3A - .align 2, 0 -_081132EC: .4byte gTasks -_081132F0: .4byte gPlttBufferUnfaded + 0x40 -_081132F4: .4byte 0x02009000 -_081132F8: - bl IsCryFinished - lsls r0, 24 - cmp r0, 0 - bne _08113306 - bl _08113B3A -_08113306: - ldr r0, _08113390 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08113316 - bl _08113B3A -_08113316: - ldr r4, _08113394 @ =gStringVar4 - ldr r1, _08113398 @ =gUnknown_08400C60 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _0811339C @ =gUnknown_03004828 - ldr r1, [r0] - adds r0, r1, 0x4 - adds r1, 0x34 - ldrb r2, [r1] - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _081133A0 @ =0x00000173 - bl PlayFanfare - ldr r2, _081133A4 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - adds r2, r1 - adds r2, 0x10 - mov r0, r8 - movs r1, 0xB - bl SetMonData - mov r0, r8 - bl CalculateMonStats - ldrh r1, [r4, 0xE] - ldrh r2, [r4, 0x10] - mov r0, r8 - bl EvolutionRenameMon - ldrh r0, [r4, 0x10] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2 - bl GetNationalPokedexFlag - ldrh r0, [r4, 0x10] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl GetNationalPokedexFlag - movs r0, 0xE - bl IncrementGameStat - b _08113B3A - .align 2, 0 -_08113390: .4byte gPaletteFade -_08113394: .4byte gStringVar4 -_08113398: .4byte gUnknown_08400C60 -_0811339C: .4byte gUnknown_03004828 -_081133A0: .4byte 0x00000173 -_081133A4: .4byte gTasks -_081133A8: - ldr r0, _08113410 @ =gUnknown_03004828 - ldr r0, [r0] - ldrh r0, [r0, 0x1A] - cmp r0, 0 - beq _081133B4 - b _08113B3A -_081133B4: - bl IsFanfareTaskInactive - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081133C2 - b _08113B3A -_081133C2: - ldr r1, _08113414 @ =gTasks - lsls r4, r7, 2 - adds r0, r4, r7 - lsls r0, 3 - adds r5, r0, r1 - ldrb r1, [r5, 0x14] - mov r0, r8 - bl sub_803B7C8 - lsls r0, 16 - lsrs r6, r0, 16 - mov r9, r4 - cmp r6, 0 - beq _08113434 - movs r3, 0x1E - ldrsh r2, [r5, r3] - cmp r2, 0 - bne _08113434 - ldrh r1, [r5, 0x12] - movs r0, 0x80 - orrs r0, r1 - strh r0, [r5, 0x12] - strh r2, [r5, 0x14] - strh r2, [r5, 0x18] - mov r0, r8 - movs r1, 0x2 - add r2, sp, 0x4 - bl GetMonData - ldr r0, _08113418 @ =gBattleTextBuff1 - add r1, sp, 0x4 - bl StringCopy10 - ldr r0, _0811341C @ =0x0000ffff - cmp r6, r0 - bne _08113420 - movs r0, 0x11 - strh r0, [r5, 0x8] - b _08113B3A - .align 2, 0 -_08113410: .4byte gUnknown_03004828 -_08113414: .4byte gTasks -_08113418: .4byte gBattleTextBuff1 -_0811341C: .4byte 0x0000ffff -_08113420: - ldr r0, _08113430 @ =0x0000fffe - cmp r6, r0 - bne _08113428 - b _08113B3A -_08113428: - movs r0, 0xF - strh r0, [r5, 0x8] - b _08113B3A - .align 2, 0 -_08113430: .4byte 0x0000fffe -_08113434: - ldr r0, _0811345C @ =0x00000179 - bl PlayBGM - ldr r0, _08113460 @ =gUnknown_03004828 - ldr r2, [r0] - adds r0, r2, 0x4 - ldr r1, _08113464 @ =gOtherText_LinkStandby2 - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _08113468 @ =gTasks - mov r2, r9 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - b _081134DC - .align 2, 0 -_0811345C: .4byte 0x00000179 -_08113460: .4byte gUnknown_03004828 -_08113464: .4byte gOtherText_LinkStandby2 -_08113468: .4byte gTasks -_0811346C: - ldr r0, _08113488 @ =gUnknown_03004828 - ldr r0, [r0] - ldrh r0, [r0, 0x1A] - cmp r0, 0 - beq _08113478 - b _08113B3A -_08113478: - adds r0, r7, 0 - bl DestroyTask - ldr r0, _0811348C @ =gUnknown_03005E94 - ldr r0, [r0] - bl SetMainCallback2 - b _08113B3A - .align 2, 0 -_08113488: .4byte gUnknown_03004828 -_0811348C: .4byte gUnknown_03005E94 -_08113490: - ldr r4, _081134E4 @ =gUnknown_03004828 - ldr r0, [r4] - ldrh r0, [r0, 0x1A] - cmp r0, 0 - beq _0811349C - b _08113B3A -_0811349C: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _081134A8 - b _08113B3A -_081134A8: - bl sub_8024CEC - ldr r0, _081134E8 @ =0x0000016f - bl PlayFanfare - ldr r0, _081134EC @ =gBattleStringsTable - ldr r0, [r0, 0xC] - bl StrCpyDecodeToDisplayedStringBattle - ldr r2, [r4] - adds r0, r2, 0x4 - ldr r1, _081134F0 @ =gDisplayedStringBattle - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _081134F4 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - movs r0, 0x40 - strh r0, [r1, 0x14] -_081134DC: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08113B3A - .align 2, 0 -_081134E4: .4byte gUnknown_03004828 -_081134E8: .4byte 0x0000016f -_081134EC: .4byte gBattleStringsTable -_081134F0: .4byte gDisplayedStringBattle -_081134F4: .4byte gTasks -_081134F8: - ldr r0, _08113530 @ =gUnknown_03004828 - ldr r0, [r0] - ldrh r0, [r0, 0x1A] - cmp r0, 0 - beq _08113504 - b _08113B3A -_08113504: - bl IsFanfareTaskInactive - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08113512 - b _08113B3A -_08113512: - ldr r0, _08113534 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x14] - subs r0, 0x1 - strh r0, [r1, 0x14] - lsls r0, 16 - cmp r0, 0 - beq _0811352A - b _08113B3A -_0811352A: - movs r0, 0xD - strh r0, [r1, 0x8] - b _08113B3A - .align 2, 0 -_08113530: .4byte gUnknown_03004828 -_08113534: .4byte gTasks -_08113538: - lsls r1, r7, 2 - adds r0, r1, r7 - lsls r0, 3 - adds r0, r6 - movs r3, 0x18 - ldrsh r0, [r0, r3] - mov r9, r1 - cmp r0, 0xB - bls _0811354C - b _08113B3A -_0811354C: - lsls r0, 2 - ldr r1, _08113558 @ =_0811355C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08113558: .4byte _0811355C - .align 2, 0 -_0811355C: - .4byte _0811358C - .4byte _081135E4 - .4byte _08113638 - .4byte _08113682 - .4byte _0811371C - .4byte _0811387C - .4byte _081138CC - .4byte _081139E8 - .4byte _08113A3C - .4byte _08113A90 - .4byte _08113AD8 - .4byte _08113B18 -_0811358C: - ldr r4, _081135D4 @ =gUnknown_03004828 - ldr r0, [r4] - ldrh r0, [r0, 0x1A] - cmp r0, 0 - beq _08113598 - b _08113B3A -_08113598: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _081135A4 - b _08113B3A -_081135A4: - bl sub_8024CEC - ldr r0, _081135D8 @ =gBattleStringsTable - ldr r0, [r0, 0x10] - bl StrCpyDecodeToDisplayedStringBattle - ldr r2, [r4] - adds r0, r2, 0x4 - ldr r1, _081135DC @ =gDisplayedStringBattle - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _081135E0 @ =gTasks - mov r2, r9 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - b _08113B38 - .align 2, 0 -_081135D4: .4byte gUnknown_03004828 -_081135D8: .4byte gBattleStringsTable -_081135DC: .4byte gDisplayedStringBattle -_081135E0: .4byte gTasks -_081135E4: - ldr r4, _08113628 @ =gUnknown_03004828 - ldr r0, [r4] - ldrh r0, [r0, 0x1A] - cmp r0, 0 - beq _081135F0 - b _08113B3A -_081135F0: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _081135FC - b _08113B3A -_081135FC: - ldr r0, _0811362C @ =gBattleStringsTable - ldr r0, [r0, 0x14] - bl StrCpyDecodeToDisplayedStringBattle - ldr r2, [r4] - adds r0, r2, 0x4 - ldr r1, _08113630 @ =gDisplayedStringBattle - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _08113634 @ =gTasks - mov r3, r9 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - b _08113B38 - .align 2, 0 -_08113628: .4byte gUnknown_03004828 -_0811362C: .4byte gBattleStringsTable -_08113630: .4byte gDisplayedStringBattle -_08113634: .4byte gTasks -_08113638: - ldr r4, _081136FC @ =gUnknown_03004828 - ldr r0, [r4] - ldrh r0, [r0, 0x1A] - cmp r0, 0 - beq _08113644 - b _08113B3A -_08113644: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _08113682 - ldr r0, _08113700 @ =gBattleStringsTable - ldr r0, [r0, 0x18] - bl StrCpyDecodeToDisplayedStringBattle - ldr r2, [r4] - adds r0, r2, 0x4 - ldr r1, _08113704 @ =gDisplayedStringBattle - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _08113708 @ =gTasks - mov r2, r9 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - movs r0, 0x5 - strh r0, [r1, 0x1A] - movs r0, 0x9 - strh r0, [r1, 0x1C] - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] -_08113682: - ldr r5, _081136FC @ =gUnknown_03004828 - ldr r0, [r5] - ldrh r0, [r0, 0x1A] - cmp r0, 0 - beq _0811368E - b _08113B3A -_0811368E: - bl IsSEPlaying - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _0811369C - b _08113B3A -_0811369C: - ldr r0, [r5] - adds r0, 0x4 - movs r1, 0xD - str r1, [sp] - movs r1, 0x18 - movs r2, 0x8 - movs r3, 0x1D - bl DrawTextWindow - ldr r4, _0811370C @ =gBattleCommunication - strb r6, [r4, 0x1] - ldr r2, [r5] - adds r0, r2, 0x4 - ldr r1, _08113710 @ =gOtherText_YesNoAndPlayer - adds r2, 0x34 - ldrb r2, [r2] - adds r2, 0x80 - movs r3, 0x9 - str r3, [sp] - movs r3, 0x19 - bl InitWindow - ldr r0, [r5] - adds r0, 0x4 - bl sub_8002F44 - ldr r1, _08113714 @ =0x0000ffff - ldr r3, _08113718 @ =0x00002d9f - movs r0, 0x20 - str r0, [sp] - movs r0, 0 - movs r2, 0xC - bl sub_814A5C0 - bl sub_81150D8 - ldr r0, _08113708 @ =gTasks - mov r3, r9 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - movs r2, 0 - strh r0, [r1, 0x18] - strb r2, [r4, 0x1] - b _08113B3A - .align 2, 0 -_081136FC: .4byte gUnknown_03004828 -_08113700: .4byte gBattleStringsTable -_08113704: .4byte gDisplayedStringBattle -_08113708: .4byte gTasks -_0811370C: .4byte gBattleCommunication -_08113710: .4byte gOtherText_YesNoAndPlayer -_08113714: .4byte 0x0000ffff -_08113718: .4byte 0x00002d9f -_0811371C: - ldr r0, _081137CC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08113742 - ldr r4, _081137D0 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _08113742 - movs r0, 0x5 - bl PlaySE - bl HBlankCB_TradeEvolutionScene - movs r0, 0 - strb r0, [r4, 0x1] - bl sub_81150D8 -_08113742: - ldr r0, _081137CC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08113768 - ldr r4, _081137D0 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _08113768 - movs r0, 0x5 - bl PlaySE - bl HBlankCB_TradeEvolutionScene - movs r0, 0x1 - strb r0, [r4, 0x1] - bl sub_81150D8 -_08113768: - ldr r0, _081137CC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811380A - ldr r4, _081137D4 @ =gUnknown_03004828 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0xD - str r1, [sp] - movs r1, 0x18 - movs r2, 0x8 - movs r3, 0x1D - bl ZeroFillWindowRect - bl DestroyMenuCursor - ldr r0, _081137D8 @ =gBattleStringsTable - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - bl StrCpyDecodeToDisplayedStringBattle - ldr r2, [r4] - adds r0, r2, 0x4 - ldr r1, _081137DC @ =gDisplayedStringBattle - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - movs r0, 0x5 - bl PlaySE - ldr r0, _081137D0 @ =gBattleCommunication - ldrb r2, [r0, 0x1] - cmp r2, 0 - beq _081137E4 - ldr r0, _081137E0 @ =gTasks - mov r2, r9 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1C] - strh r0, [r1, 0x18] - b _0811380A - .align 2, 0 -_081137CC: .4byte gMain -_081137D0: .4byte gBattleCommunication -_081137D4: .4byte gUnknown_03004828 -_081137D8: .4byte gBattleStringsTable -_081137DC: .4byte gDisplayedStringBattle -_081137E0: .4byte gTasks -_081137E4: - ldr r0, _08113868 @ =gTasks - mov r3, r9 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1A] - strh r0, [r1, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0811380A - movs r0, 0x1 - negs r0, r0 - str r2, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0811380A: - ldr r0, _0811386C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08113818 - b _08113B3A -_08113818: - ldr r4, _08113870 @ =gUnknown_03004828 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0xD - str r1, [sp] - movs r1, 0x18 - movs r2, 0x8 - movs r3, 0x1D - bl ZeroFillWindowRect - bl DestroyMenuCursor - ldr r0, _08113874 @ =gBattleStringsTable - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - bl StrCpyDecodeToDisplayedStringBattle - ldr r2, [r4] - adds r0, r2, 0x4 - ldr r1, _08113878 @ =gDisplayedStringBattle - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - movs r0, 0x5 - bl PlaySE - ldr r1, _08113868 @ =gTasks - mov r2, r9 - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x1C] - strh r1, [r0, 0x18] - b _08113B3A - .align 2, 0 -_08113868: .4byte gTasks -_0811386C: .4byte gMain -_08113870: .4byte gUnknown_03004828 -_08113874: .4byte gBattleStringsTable -_08113878: .4byte gDisplayedStringBattle -_0811387C: - ldr r0, _081138B8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0811388A - b _08113B3A -_0811388A: - ldr r0, _081138BC @ =gPlayerParty - mov r3, r9 - adds r5, r3, r7 - lsls r5, 3 - adds r5, r6 - ldrh r1, [r5, 0x20] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _081138C0 @ =gPlayerPartyCount - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _081138C4 @ =CB2_TradeEvolutionSceneLoadGraphics - ldr r4, _081138C8 @ =word_2024E82 - ldrh r4, [r4] - str r4, [sp] - bl sub_809D9F0 - ldrh r0, [r5, 0x18] - adds r0, 0x1 - strh r0, [r5, 0x18] - b _08113B3A - .align 2, 0 -_081138B8: .4byte gPaletteFade -_081138BC: .4byte gPlayerParty -_081138C0: .4byte gPlayerPartyCount -_081138C4: .4byte CB2_TradeEvolutionSceneLoadGraphics -_081138C8: .4byte word_2024E82 -_081138CC: - ldr r0, _08113900 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081138DA - b _08113B3A -_081138DA: - ldr r0, _08113904 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _08113908 @ =CB2_EvolutionSceneUpdate_1 - cmp r1, r0 - beq _081138E6 - b _08113B3A -_081138E6: - bl sub_809FA30 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x4 - bne _08113910 - ldr r0, _0811390C @ =gTasks - mov r2, r9 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - movs r0, 0x9 - b _08113B38 - .align 2, 0 -_08113900: .4byte gPaletteFade -_08113904: .4byte gMain -_08113908: .4byte CB2_EvolutionSceneUpdate_1 -_0811390C: .4byte gTasks -_08113910: - adds r1, r6, 0 - adds r1, 0xD - mov r0, r8 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl IsHMMove2 - cmp r0, 0 - beq _08113970 - ldr r0, _0811395C @ =gBattleStringsTable - ldr r3, _08113960 @ =0x000004cc - adds r0, r3 - ldr r0, [r0] - bl StrCpyDecodeToDisplayedStringBattle - ldr r0, _08113964 @ =gUnknown_03004828 - ldr r2, [r0] - adds r0, r2, 0x4 - ldr r1, _08113968 @ =gDisplayedStringBattle - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _0811396C @ =gTasks - mov r2, r9 - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0xB - strh r1, [r0, 0x18] - b _08113B3A - .align 2, 0 -_0811395C: .4byte gBattleStringsTable -_08113960: .4byte 0x000004cc -_08113964: .4byte gUnknown_03004828 -_08113968: .4byte gDisplayedStringBattle -_0811396C: .4byte gTasks -_08113970: - ldr r1, _081139D0 @ =gBattleTextBuff2 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - strb r4, [r1, 0x2] - lsrs r0, r4, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - lsls r4, r6, 24 - lsrs r4, 24 - mov r0, r8 - adds r1, r4, 0 - bl RemoveMonPPBonus - ldr r0, _081139D4 @ =word_2024E82 - ldrh r1, [r0] - mov r0, r8 - adds r2, r4, 0 - bl SetMonMoveSlot - ldr r0, _081139D8 @ =gBattleStringsTable - movs r3, 0xCF - lsls r3, 2 - adds r0, r3 - ldr r0, [r0] - bl StrCpyDecodeToDisplayedStringBattle - ldr r0, _081139DC @ =gUnknown_03004828 - ldr r2, [r0] - adds r0, r2, 0x4 - ldr r1, _081139E0 @ =gDisplayedStringBattle - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _081139E4 @ =gTasks - mov r2, r9 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - b _08113B38 - .align 2, 0 -_081139D0: .4byte gBattleTextBuff2 -_081139D4: .4byte word_2024E82 -_081139D8: .4byte gBattleStringsTable -_081139DC: .4byte gUnknown_03004828 -_081139E0: .4byte gDisplayedStringBattle -_081139E4: .4byte gTasks -_081139E8: - ldr r4, _08113A2C @ =gUnknown_03004828 - ldr r0, [r4] - ldrh r0, [r0, 0x1A] - cmp r0, 0 - beq _081139F4 - b _08113B3A -_081139F4: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _08113A00 - b _08113B3A -_08113A00: - ldr r0, _08113A30 @ =gBattleStringsTable - ldr r0, [r0, 0x1C] - bl StrCpyDecodeToDisplayedStringBattle - ldr r2, [r4] - adds r0, r2, 0x4 - ldr r1, _08113A34 @ =gDisplayedStringBattle - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - ldr r0, _08113A38 @ =gTasks - mov r3, r9 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - b _08113B38 - .align 2, 0 -_08113A2C: .4byte gUnknown_03004828 -_08113A30: .4byte gBattleStringsTable -_08113A34: .4byte gDisplayedStringBattle -_08113A38: .4byte gTasks -_08113A3C: - ldr r4, _08113A80 @ =gUnknown_03004828 - ldr r0, [r4] - ldrh r0, [r0, 0x1A] - cmp r0, 0 - bne _08113B3A - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _08113B3A - ldr r0, _08113A84 @ =gBattleStringsTable - movs r1, 0xD0 - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - bl StrCpyDecodeToDisplayedStringBattle - ldr r2, [r4] - adds r0, r2, 0x4 - ldr r1, _08113A88 @ =gDisplayedStringBattle - adds r2, 0x34 - ldrb r2, [r2] - movs r4, 0xF - str r4, [sp] - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _08113A8C @ =gTasks - mov r2, r9 - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x8] - b _08113B3A - .align 2, 0 -_08113A80: .4byte gUnknown_03004828 -_08113A84: .4byte gBattleStringsTable -_08113A88: .4byte gDisplayedStringBattle -_08113A8C: .4byte gTasks -_08113A90: - ldr r0, _08113AC8 @ =gBattleStringsTable - ldr r0, [r0, 0x20] - bl StrCpyDecodeToDisplayedStringBattle - ldr r0, _08113ACC @ =gUnknown_03004828 - ldr r2, [r0] - adds r0, r2, 0x4 - ldr r1, _08113AD0 @ =gDisplayedStringBattle - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _08113AD4 @ =gTasks - mov r3, r9 - adds r0, r3, r7 - lsls r0, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0xA - strh r1, [r0, 0x1A] - strh r2, [r0, 0x1C] - movs r1, 0x3 - strh r1, [r0, 0x18] - b _08113B3A - .align 2, 0 -_08113AC8: .4byte gBattleStringsTable -_08113ACC: .4byte gUnknown_03004828 -_08113AD0: .4byte gDisplayedStringBattle -_08113AD4: .4byte gTasks -_08113AD8: - ldr r0, _08113B08 @ =gBattleStringsTable - ldr r0, [r0, 0x24] - bl StrCpyDecodeToDisplayedStringBattle - ldr r0, _08113B0C @ =gUnknown_03004828 - ldr r2, [r0] - adds r0, r2, 0x4 - ldr r1, _08113B10 @ =gDisplayedStringBattle - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _08113B14 @ =gTasks - mov r2, r9 - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0xD - strh r1, [r0, 0x8] - b _08113B3A - .align 2, 0 -_08113B08: .4byte gBattleStringsTable -_08113B0C: .4byte gUnknown_03004828 -_08113B10: .4byte gDisplayedStringBattle -_08113B14: .4byte gTasks -_08113B18: - ldr r0, _08113B48 @ =gUnknown_03004828 - ldr r0, [r0] - ldrh r0, [r0, 0x1A] - cmp r0, 0 - bne _08113B3A - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _08113B3A - ldr r0, _08113B4C @ =gTasks - mov r3, r9 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - movs r0, 0x5 -_08113B38: - strh r0, [r1, 0x18] -_08113B3A: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08113B48: .4byte gUnknown_03004828 -_08113B4C: .4byte gTasks - thumb_func_end Task_TradeEvolutionScene - - thumb_func_start unref_sub_8113B50 -unref_sub_8113B50: @ 8113B50 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x3C - str r0, [sp] - str r1, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0xC] - movs r1, 0 - str r1, [sp, 0x10] - movs r2, 0 - str r2, [sp, 0x8] - ldr r3, _08113C60 @ =0x02014800 - mov r12, r3 - ldr r4, _08113C64 @ =0x000018c4 - add r4, r12 - mov r10, r4 - ldr r5, _08113C68 @ =0x000020c4 - add r5, r12 - mov r8, r5 -_08113B7C: - adds r0, r3, 0 - adds r0, 0x84 - ldr r1, [sp, 0x8] - adds r0, r1, r0 - strb r2, [r0] - adds r0, r3, 0x4 - adds r0, r1, r0 - strb r2, [r0] - ldr r4, _08113C6C @ =0x02014844 - adds r0, r1, r4 - strb r2, [r0] - movs r6, 0 - lsls r1, 5 - mov r9, r1 - ldr r5, [sp, 0x8] - lsls r4, r5, 6 -_08113B9C: - mov r0, r9 - adds r1, r6, r0 - ldr r5, _08113C70 @ =0x020158c4 - adds r0, r1, r5 - strb r2, [r0] - mov r5, r10 - adds r0, r1, r5 - strb r2, [r0] - mov r5, r8 - adds r0, r1, r5 - strb r2, [r0] - ldr r5, _08113C74 @ =0x020170c4 - adds r0, r1, r5 - strb r2, [r0] - adds r7, r3, 0 - adds r7, 0xC4 - adds r0, r1, r7 - strb r2, [r0] - ldr r5, _08113C78 @ =0x000008c4 - adds r0, r3, r5 - adds r0, r1, r0 - strb r2, [r0] - ldr r5, _08113C7C @ =0x000030c4 - adds r0, r3, r5 - adds r0, r1, r0 - strb r2, [r0] - ldr r5, _08113C80 @ =0x000038c4 - adds r0, r3, r5 - adds r1, r0 - strb r2, [r1] - lsls r1, r6, 1 - adds r1, r4 - ldr r5, _08113C84 @ =0x000060c4 - adds r0, r3, r5 - adds r0, r1, r0 - strh r2, [r0] - ldr r5, _08113C88 @ =0x000070c4 - adds r0, r3, r5 - adds r0, r1, r0 - strh r2, [r0] - ldr r5, _08113C8C @ =0x000080c4 - adds r0, r3, r5 - adds r0, r1, r0 - strh r2, [r0] - ldr r5, _08113C90 @ =0x000090c4 - adds r0, r3, r5 - adds r1, r0 - strh r2, [r1] - adds r6, 0x1 - cmp r6, 0x1F - ble _08113B9C - ldr r0, [sp, 0x8] - adds r0, 0x1 - str r0, [sp, 0x8] - cmp r0, 0x3F - ble _08113B7C - ldr r1, _08113C94 @ =0x0000a0c4 - add r1, r12 - movs r0, 0x40 - strb r0, [r1] - movs r1, 0 - mov r8, r1 - movs r2, 0 - str r2, [sp, 0x8] - movs r3, 0x80 - lsls r3, 5 - adds r3, r7 - mov r12, r3 - movs r4, 0xC0 - lsls r4, 5 - adds r4, r7 - mov r9, r4 - movs r5, 0 - adds r4, r7, 0 - subs r4, 0xC0 -_08113C32: - movs r3, 0 - ldr r2, [sp] - add r2, r8 - movs r6, 0 - ldr r0, [sp, 0x8] - adds r0, 0x1 - str r0, [sp, 0x30] - ldr r1, [sp, 0x8] - lsls r1, 7 - mov r10, r1 - movs r7, 0x1 - negs r7, r7 -_08113C4A: - asrs r0, r6, 1 - lsls r0, 2 - add r0, r10 - ldr r1, _08113C98 @ =0x020188c4 - adds r0, r1 - str r2, [r0] - cmp r3, 0 - beq _08113C9C - cmp r3, 0x1 - beq _08113CC6 - b _08113CF4 - .align 2, 0 -_08113C60: .4byte 0x02014800 -_08113C64: .4byte 0x000018c4 -_08113C68: .4byte 0x000020c4 -_08113C6C: .4byte 0x02014844 -_08113C70: .4byte 0x020158c4 -_08113C74: .4byte 0x020170c4 -_08113C78: .4byte 0x000008c4 -_08113C7C: .4byte 0x000030c4 -_08113C80: .4byte 0x000038c4 -_08113C84: .4byte 0x000060c4 -_08113C88: .4byte 0x000070c4 -_08113C8C: .4byte 0x000080c4 -_08113C90: .4byte 0x000090c4 -_08113C94: .4byte 0x0000a0c4 -_08113C98: .4byte 0x020188c4 -_08113C9C: - movs r0, 0x1 - ands r0, r6 - cmp r0, 0 - beq _08113CAA - cmp r0, 0x1 - beq _08113CB0 - b _08113CF4 -_08113CAA: - ldrb r1, [r2] - movs r0, 0xF - b _08113CB4 -_08113CB0: - ldrb r1, [r2] - movs r0, 0xF0 -_08113CB4: - ands r0, r1 - cmp r0, 0 - beq _08113CF4 - ldrb r0, [r4] - adds r0, r5 - add r0, r12 - strb r6, [r0] - movs r3, 0x1 - b _08113CF4 -_08113CC6: - adds r0, r6, 0 - ands r0, r3 - cmp r0, 0 - beq _08113CD4 - cmp r0, 0x1 - beq _08113CDA - b _08113CF4 -_08113CD4: - ldrb r1, [r2] - movs r0, 0xF - b _08113CDE -_08113CDA: - ldrb r1, [r2] - movs r0, 0xF0 -_08113CDE: - ands r0, r1 - cmp r0, 0 - bne _08113CF4 - ldrb r0, [r4] - adds r0, r5 - add r0, r9 - strb r7, [r0] - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r3, 0 -_08113CF4: - adds r0, r6, 0x1 - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _08113D02 - adds r2, 0x1D - b _08113D0C -_08113D02: - movs r0, 0x1 - ands r0, r6 - cmp r0, 0 - beq _08113D0C - adds r2, 0x1 -_08113D0C: - adds r7, 0x1 - adds r6, 0x1 - cmp r6, 0x3F - ble _08113C4A - cmp r3, 0 - beq _08113D26 - ldrb r0, [r4] - adds r0, r5 - add r0, r9 - strb r6, [r0] - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_08113D26: - movs r0, 0x7 - ldr r2, [sp, 0x30] - ands r2, r0 - cmp r2, 0 - bne _08113D36 - movs r3, 0xE4 - add r8, r3 - b _08113D3A -_08113D36: - movs r0, 0x4 - add r8, r0 -_08113D3A: - adds r5, 0x20 - adds r4, 0x1 - ldr r1, [sp, 0x8] - adds r1, 0x1 - str r1, [sp, 0x8] - cmp r1, 0x3F - bgt _08113D4A - b _08113C32 -_08113D4A: - movs r2, 0 - mov r8, r2 - movs r3, 0 - str r3, [sp, 0x8] - ldr r0, _08113D84 @ =0x02014844 - movs r4, 0x82 - lsls r4, 6 - adds r4, r0 - mov r10, r4 - movs r5, 0xA2 - lsls r5, 6 - adds r7, r0, r5 - movs r5, 0 - adds r4, r0, 0 - movs r0, 0x1 - mov r9, r0 -_08113D6A: - movs r3, 0 - ldr r2, [sp, 0x4] - add r2, r8 - movs r6, 0 - ldr r1, [sp, 0x8] - adds r1, 0x1 - str r1, [sp, 0x30] -_08113D78: - cmp r3, 0 - beq _08113D88 - cmp r3, 0x1 - beq _08113DB4 - b _08113DE4 - .align 2, 0 -_08113D84: .4byte 0x02014844 -_08113D88: - adds r0, r6, 0 - mov r1, r9 - ands r0, r1 - cmp r0, 0 - beq _08113D98 - cmp r0, 0x1 - beq _08113D9E - b _08113DE4 -_08113D98: - ldrb r1, [r2] - movs r0, 0xF - b _08113DA2 -_08113D9E: - ldrb r1, [r2] - movs r0, 0xF0 -_08113DA2: - ands r0, r1 - cmp r0, 0 - beq _08113DE4 - ldrb r0, [r4] - adds r0, r5 - add r0, r10 - strb r6, [r0] - movs r3, 0x1 - b _08113DE4 -_08113DB4: - adds r0, r6, 0 - ands r0, r3 - cmp r0, 0 - beq _08113DC2 - cmp r0, 0x1 - beq _08113DC8 - b _08113DE4 -_08113DC2: - ldrb r1, [r2] - movs r0, 0xF - b _08113DCC -_08113DC8: - ldrb r1, [r2] - movs r0, 0xF0 -_08113DCC: - ands r0, r1 - cmp r0, 0 - bne _08113DE4 - ldrb r0, [r4] - adds r0, r5 - adds r0, r7 - subs r1, r6, 0x1 - strb r1, [r0] - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r3, 0 -_08113DE4: - adds r1, r6, 0x1 - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - bne _08113DF2 - adds r2, 0x1D - b _08113DFC -_08113DF2: - mov r0, r9 - ands r6, r0 - cmp r6, 0 - beq _08113DFC - adds r2, 0x1 -_08113DFC: - adds r6, r1, 0 - cmp r6, 0x3F - ble _08113D78 - cmp r3, 0 - beq _08113E14 - ldrb r0, [r4] - adds r0, r5 - adds r0, r7 - strb r6, [r0] - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_08113E14: - movs r0, 0x7 - ldr r1, [sp, 0x30] - ands r1, r0 - cmp r1, 0 - bne _08113E24 - movs r2, 0xE4 - add r8, r2 - b _08113E28 -_08113E24: - movs r3, 0x4 - add r8, r3 -_08113E28: - adds r5, 0x20 - adds r4, 0x1 - ldr r0, [sp, 0x8] - adds r0, 0x1 - str r0, [sp, 0x8] - cmp r0, 0x3F - ble _08113D6A - movs r1, 0 - str r1, [sp, 0x8] -_08113E3A: - ldr r3, [sp, 0x8] - ldr r4, _08113EBC @ =0x02014804 - adds r2, r3, r4 - ldr r5, _08113EC0 @ =0x02014844 - adds r1, r3, r5 - ldrb r0, [r2] - adds r3, 0x1 - str r3, [sp, 0x30] - ldrb r1, [r1] - cmp r0, r1 - bcc _08113E52 - b _08113F9E -_08113E52: - movs r0, 0 - str r0, [sp, 0xC] - ldrb r2, [r2] - cmp r0, r2 - bge _08113F54 - ldr r0, _08113EC4 @ =0x02014800 - adds r0, 0x4 - ldr r1, [sp, 0x8] - adds r0, r1, r0 - str r0, [sp, 0x18] -_08113E66: - movs r2, 0x80 - lsls r2, 1 - str r2, [sp, 0x14] - movs r6, 0 - ldr r3, [sp, 0x8] - ldr r4, _08113EC0 @ =0x02014844 - adds r0, r3, r4 - ldr r5, [sp, 0xC] - adds r5, 0x1 - str r5, [sp, 0x34] - ldrb r0, [r0] - cmp r6, r0 - bge _08113F3E - ldr r0, _08113EC4 @ =0x02014800 - mov r10, r0 - lsls r0, r3, 5 - ldr r2, [sp, 0xC] - adds r1, r2, r0 - mov r9, r0 - ldr r0, _08113EC4 @ =0x02014800 - adds r0, 0xC4 - mov r3, r9 - adds r7, r3, r0 - mov r5, r9 - ldr r4, _08113EC4 @ =0x02014800 - ldr r2, _08113EC8 @ =0x000010c4 - adds r0, r4, r2 - adds r1, r0 - mov r8, r1 - ldrb r3, [r1] - str r3, [sp, 0x1C] -_08113EA4: - ldr r0, _08113ECC @ =0x000020c4 - add r0, r10 - adds r0, r5, r0 - ldr r4, [sp, 0x1C] - ldrb r1, [r0] - cmp r4, r1 - bls _08113ED0 - mov r2, r8 - ldrb r1, [r2] - ldrb r0, [r0] - b _08113ED6 - .align 2, 0 -_08113EBC: .4byte 0x02014804 -_08113EC0: .4byte 0x02014844 -_08113EC4: .4byte 0x02014800 -_08113EC8: .4byte 0x000010c4 -_08113ECC: .4byte 0x000020c4 -_08113ED0: - ldrb r1, [r0] - mov r3, r8 - ldrb r0, [r3] -_08113ED6: - subs r3, r1, r0 - ldr r1, [sp, 0xC] - add r1, r9 - ldr r0, _08113EFC @ =0x000018c4 - add r0, r10 - adds r4, r1, r0 - ldr r0, _08113F00 @ =0x000028c4 - add r0, r10 - adds r2, r5, r0 - ldrb r0, [r4] - ldr r1, _08113F04 @ =0x02014800 - mov r12, r1 - ldrb r1, [r2] - cmp r0, r1 - bls _08113F08 - adds r1, r0, 0 - ldrb r0, [r2] - b _08113F0C - .align 2, 0 -_08113EFC: .4byte 0x000018c4 -_08113F00: .4byte 0x000028c4 -_08113F04: .4byte 0x02014800 -_08113F08: - ldrb r1, [r2] - ldrb r0, [r4] -_08113F0C: - subs r1, r0 - adds r3, r1 - ldr r2, [sp, 0x14] - cmp r2, r3 - ble _08113F2C - ldrb r0, [r7] - cmp r0, 0 - bne _08113F2C - ldr r0, _08114050 @ =0x000008c4 - add r0, r12 - adds r0, r5, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _08113F2C - str r6, [sp, 0x10] - str r3, [sp, 0x14] -_08113F2C: - adds r7, 0x1 - adds r5, 0x1 - adds r6, 0x1 - ldr r3, [sp, 0x8] - ldr r4, _08114054 @ =0x02014844 - adds r0, r3, r4 - ldrb r0, [r0] - cmp r6, r0 - blt _08113EA4 -_08113F3E: - ldr r0, [sp, 0xC] - ldr r1, [sp, 0x10] - ldr r2, [sp, 0x8] - bl sub_81141F0 - ldr r5, [sp, 0x34] - str r5, [sp, 0xC] - ldr r0, [sp, 0x18] - ldrb r0, [r0] - cmp r5, r0 - blt _08113E66 -_08113F54: - movs r6, 0 - ldr r2, _08114058 @ =0x02014800 - ldr r1, [sp, 0x8] - ldr r3, _08114054 @ =0x02014844 - adds r0, r1, r3 - adds r4, r2, 0 - mov r12, r4 - ldrb r0, [r0] - cmp r6, r0 - bge _08113F9E - mov r0, r12 - adds r0, 0x44 - adds r4, r1, r0 -_08113F6E: - ldr r5, [sp, 0x8] - lsls r0, r5, 5 - adds r1, r6, r0 - adds r0, r2, 0 - adds r0, 0xC4 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _08113F94 - ldr r3, _08114050 @ =0x000008c4 - adds r0, r2, r3 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _08113F94 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_811430C -_08113F94: - adds r6, 0x1 - ldr r2, _08114058 @ =0x02014800 - ldrb r5, [r4] - cmp r6, r5 - blt _08113F6E -_08113F9E: - ldr r0, [sp, 0x8] - ldr r1, _0811405C @ =0x02014804 - adds r2, r0, r1 - ldr r3, _08114054 @ =0x02014844 - adds r1, r0, r3 - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - bne _08113FCC - movs r6, 0 - ldrb r4, [r2] - cmp r6, r4 - bge _08113FCC - adds r4, r2, 0 -_08113FBA: - adds r0, r6, 0 - adds r1, r6, 0 - ldr r2, [sp, 0x8] - bl sub_81141F0 - adds r6, 0x1 - ldrb r5, [r4] - cmp r6, r5 - blt _08113FBA -_08113FCC: - ldr r0, [sp, 0x8] - ldr r1, _0811405C @ =0x02014804 - adds r2, r0, r1 - ldr r3, _08114054 @ =0x02014844 - adds r1, r0, r3 - ldrb r0, [r2] - ldr r4, _08114058 @ =0x02014800 - ldrb r5, [r1] - cmp r0, r5 - bhi _08113FE2 - b _081141C4 -_08113FE2: - movs r0, 0 - str r0, [sp, 0x10] - ldrb r1, [r1] - cmp r0, r1 - blt _08113FEE - b _08114104 -_08113FEE: - str r2, [sp, 0x2C] - ldr r1, [sp, 0x8] - lsls r1, 5 - mov r9, r1 - adds r0, r4, 0 - adds r0, 0x44 - ldr r2, [sp, 0x8] - adds r0, r2, r0 - str r0, [sp, 0x20] - mov r3, r9 - str r3, [sp, 0x24] -_08114004: - movs r4, 0x80 - lsls r4, 1 - str r4, [sp, 0x14] - movs r6, 0 - ldr r5, [sp, 0x10] - adds r5, 0x1 - str r5, [sp, 0x38] - ldr r0, [sp, 0x2C] - ldrb r0, [r0] - cmp r6, r0 - bge _081140C4 - ldr r1, [sp, 0x10] - ldr r2, [sp, 0x24] - adds r1, r2 - mov r10, r1 - ldr r0, _08114058 @ =0x02014800 - adds r0, 0xC4 - adds r2, r0 - mov r8, r2 - ldr r7, [sp, 0x24] - ldr r3, _08114058 @ =0x02014800 - ldr r4, _08114060 @ =0x000010c4 - adds r0, r3, r4 - adds r5, r7, r0 - ldr r0, _08114064 @ =0x020168c4 - add r0, r10 - mov r12, r0 - ldrb r1, [r0] - str r1, [sp, 0x28] -_0811403E: - ldrb r0, [r5] - ldr r2, [sp, 0x28] - cmp r0, r2 - bls _08114068 - adds r1, r0, 0 - mov r3, r12 - ldrb r0, [r3] - b _0811406E - .align 2, 0 -_08114050: .4byte 0x000008c4 -_08114054: .4byte 0x02014844 -_08114058: .4byte 0x02014800 -_0811405C: .4byte 0x02014804 -_08114060: .4byte 0x000010c4 -_08114064: .4byte 0x020168c4 -_08114068: - mov r4, r12 - ldrb r1, [r4] - ldrb r0, [r5] -_0811406E: - subs r3, r1, r0 - ldr r1, _0811408C @ =0x02014800 - ldr r2, _08114090 @ =0x000018c4 - adds r0, r1, r2 - adds r4, r7, r0 - ldr r2, _08114094 @ =0x020170c4 - add r2, r10 - ldrb r0, [r4] - ldrb r1, [r2] - cmp r0, r1 - bls _08114098 - adds r1, r0, 0 - ldrb r0, [r2] - b _0811409C - .align 2, 0 -_0811408C: .4byte 0x02014800 -_08114090: .4byte 0x000018c4 -_08114094: .4byte 0x020170c4 -_08114098: - ldrb r1, [r2] - ldrb r0, [r4] -_0811409C: - subs r1, r0 - adds r3, r1 - ldr r2, [sp, 0x14] - cmp r2, r3 - ble _081140B2 - mov r4, r8 - ldrb r0, [r4] - cmp r0, 0 - bne _081140B2 - str r6, [sp, 0xC] - str r3, [sp, 0x14] -_081140B2: - movs r0, 0x1 - add r8, r0 - adds r7, 0x1 - adds r5, 0x1 - adds r6, 0x1 - ldr r1, [sp, 0x2C] - ldrb r1, [r1] - cmp r6, r1 - blt _0811403E -_081140C4: - ldr r3, [sp, 0xC] - add r3, r9 - ldr r2, _08114164 @ =0x02014800 - ldr r4, _08114168 @ =0x000030c4 - adds r1, r2, r4 - adds r1, r3, r1 - ldr r2, [sp, 0x10] - add r2, r9 - ldr r5, _0811416C @ =0x020168c4 - adds r0, r2, r5 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _08114164 @ =0x02014800 - ldr r4, _08114170 @ =0x000038c4 - adds r1, r0, r4 - adds r1, r3, r1 - ldr r5, _08114174 @ =0x020170c4 - adds r2, r5 - ldrb r0, [r2] - strb r0, [r1] - ldr r0, _08114164 @ =0x02014800 - adds r0, 0xC4 - adds r3, r0 - movs r0, 0x1 - strb r0, [r3] - ldr r0, [sp, 0x38] - str r0, [sp, 0x10] - ldr r1, [sp, 0x20] - ldrb r1, [r1] - cmp r0, r1 - bge _08114104 - b _08114004 -_08114104: - movs r6, 0 - ldr r4, _08114164 @ =0x02014800 - ldr r2, [sp, 0x8] - ldr r3, _08114178 @ =0x02014804 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r6, r0 - bge _081141C4 - adds r7, r4, 0 - mov r9, r6 - movs r5, 0xC4 - adds r5, r7 - mov r8, r5 -_0811411E: - ldr r1, [sp, 0x8] - lsls r0, r1, 5 - adds r2, r6, r0 - ldr r3, _0811417C @ =0x000020c4 - adds r0, r7, r3 - adds r0, r2 - mov r10, r0 - ldr r5, _08114168 @ =0x000030c4 - adds r0, r7, r5 - adds r0, r2, r0 - ldrb r0, [r0] - mov r1, r10 - strb r0, [r1] - ldr r3, _08114180 @ =0x000028c4 - adds r0, r7, r3 - adds r3, r2, r0 - ldr r5, _08114170 @ =0x000038c4 - adds r0, r7, r5 - adds r0, r2, r0 - ldrb r0, [r0] - strb r0, [r3] - mov r0, r8 - adds r1, r2, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _08114184 - mov r2, r9 - strb r2, [r1] - adds r0, r6, 0 - adds r1, r6, 0 - ldr r2, [sp, 0x8] - bl sub_81141F0 - b _081141B4 - .align 2, 0 -_08114164: .4byte 0x02014800 -_08114168: .4byte 0x000030c4 -_0811416C: .4byte 0x020168c4 -_08114170: .4byte 0x000038c4 -_08114174: .4byte 0x020170c4 -_08114178: .4byte 0x02014804 -_0811417C: .4byte 0x000020c4 -_08114180: .4byte 0x000028c4 -_08114184: - ldr r5, _081141E0 @ =0x000010c4 - adds r1, r4, r5 - adds r1, r2, r1 - ldr r5, _081141E4 @ =0x000018c4 - adds r0, r4, r5 - adds r0, r2, r0 - ldrb r0, [r0] - ldrb r2, [r1] - subs r0, r2 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r2, r0 - strb r2, [r3] - mov r0, r10 - strb r2, [r0] - ldrb r0, [r3] - subs r0, 0x1 - strb r0, [r3] - adds r0, r6, 0 - adds r1, r6, 0 - ldr r2, [sp, 0x8] - bl sub_81141F0 -_081141B4: - adds r6, 0x1 - ldr r4, _081141E8 @ =0x02014800 - ldr r1, [sp, 0x8] - ldr r2, _081141EC @ =0x02014804 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r6, r0 - blt _0811411E -_081141C4: - ldr r3, [sp, 0x30] - str r3, [sp, 0x8] - cmp r3, 0x3F - bgt _081141CE - b _08113E3A -_081141CE: - add sp, 0x3C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081141E0: .4byte 0x000010c4 -_081141E4: .4byte 0x000018c4 -_081141E8: .4byte 0x02014800 -_081141EC: .4byte 0x02014804 - thumb_func_end unref_sub_8113B50 - - thumb_func_start sub_81141F0 -sub_81141F0: @ 81141F0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - mov r8, r1 - mov r9, r2 - ldr r3, _0811424C @ =0x02014800 - lsls r1, r2, 5 - mov r0, r8 - adds r4, r0, r1 - ldr r5, _08114250 @ =0x000030c4 - adds r2, r3, r5 - adds r2, r4, r2 - adds r1, r6, r1 - ldr r7, _08114254 @ =0x000010c4 - adds r0, r3, r7 - adds r5, r1, r0 - ldrb r0, [r5] - strb r0, [r2] - ldr r0, _08114258 @ =0x000038c4 - adds r2, r3, r0 - adds r2, r4, r2 - ldr r7, _0811425C @ =0x000018c4 - adds r0, r3, r7 - adds r1, r0 - ldrb r0, [r1] - strb r0, [r2] - movs r7, 0 - ldr r1, _08114260 @ =0x000020c4 - adds r0, r3, r1 - adds r2, r4, r0 - ldrb r1, [r5] - ldrb r0, [r2] - mov r12, r3 - cmp r1, r0 - bcs _08114264 - mov r0, r12 - adds r0, 0xC4 - adds r0, r4, r0 - movs r1, 0x4 - strb r1, [r0] - ldrb r1, [r2] - ldrb r0, [r5] - b _08114276 - .align 2, 0 -_0811424C: .4byte 0x02014800 -_08114250: .4byte 0x000030c4 -_08114254: .4byte 0x000010c4 -_08114258: .4byte 0x000038c4 -_0811425C: .4byte 0x000018c4 -_08114260: .4byte 0x000020c4 -_08114264: - cmp r1, r0 - bls _08114278 - mov r0, r12 - adds r0, 0xC4 - adds r0, r4, r0 - movs r1, 0x1 - strb r1, [r0] - ldrb r1, [r5] - ldrb r0, [r2] -_08114276: - subs r7, r1, r0 -_08114278: - mov r5, r8 - lsls r3, r5, 1 - mov r0, r9 - lsls r4, r0, 6 - adds r0, r3, r4 - ldr r1, _081142BC @ =0x000080c4 - add r1, r12 - adds r0, r1 - lsls r1, r7, 4 - strh r1, [r0] - movs r7, 0 - mov r1, r9 - lsls r2, r1, 5 - adds r1, r6, r2 - ldr r0, _081142C0 @ =0x000018c4 - add r0, r12 - adds r6, r1, r0 - adds r1, r5, r2 - ldr r0, _081142C4 @ =0x000028c4 - add r0, r12 - adds r5, r1, r0 - ldrb r2, [r6] - ldrb r0, [r5] - cmp r2, r0 - bcs _081142CC - ldr r0, _081142C8 @ =0x000008c4 - add r0, r12 - adds r0, r1, r0 - movs r1, 0x3 - strb r1, [r0] - ldrb r1, [r5] - ldrb r0, [r6] - b _081142DE - .align 2, 0 -_081142BC: .4byte 0x000080c4 -_081142C0: .4byte 0x000018c4 -_081142C4: .4byte 0x000028c4 -_081142C8: .4byte 0x000008c4 -_081142CC: - cmp r2, r0 - bls _081142E0 - ldr r0, _08114304 @ =0x000008c4 - add r0, r12 - adds r0, r1, r0 - movs r1, 0x2 - strb r1, [r0] - ldrb r1, [r6] - ldrb r0, [r5] -_081142DE: - subs r7, r1, r0 -_081142E0: - adds r0, r3, r4 - ldr r1, _08114308 @ =0x000090c4 - add r1, r12 - adds r0, r1 - lsls r1, r7, 4 - strh r1, [r0] - mov r1, r12 - adds r1, 0x84 - add r1, r9 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08114304: .4byte 0x000008c4 -_08114308: .4byte 0x000090c4 - thumb_func_end sub_81141F0 - - thumb_func_start sub_811430C -sub_811430C: @ 811430C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r5, _081143AC @ =0x02014800 - lsls r4, r1, 5 - adds r4, r0, r4 - ldr r2, _081143B0 @ =0x000028c4 - adds r2, r5 - mov r10, r2 - add r10, r4 - mov r3, r10 - ldrb r2, [r3] - ldr r6, _081143B4 @ =0x000020c4 - adds r6, r5 - mov r8, r6 - add r8, r4 - mov r6, r8 - ldrb r3, [r6] - subs r7, r2, r3 - ldr r2, _081143B8 @ =0x000030c4 - adds r6, r5, r2 - adds r6, r4, r6 - ldr r2, _081143BC @ =0x000038c4 - adds r2, r5 - mov r9, r2 - add r9, r4 - lsrs r2, r7, 31 - adds r2, r7, r2 - asrs r2, 1 - adds r3, r2 - mov r2, r9 - strb r3, [r2] - strb r3, [r6] - adds r2, r5, 0 - adds r2, 0xC4 - adds r2, r4, r2 - movs r3, 0x5 - strb r3, [r2] - ldr r3, _081143C0 @ =0x000008c4 - adds r2, r5, r3 - adds r4, r2 - movs r2, 0x7 - strb r2, [r4] - adds r3, r5, 0 - adds r3, 0x84 - adds r3, r1, r3 - ldrb r2, [r3] - adds r2, 0x1 - strb r2, [r3] - ldrb r3, [r6] - mov r4, r8 - ldrb r2, [r4] - subs r7, r3, r2 - lsls r0, 1 - lsls r1, 6 - adds r0, r1 - ldr r6, _081143C4 @ =0x000080c4 - adds r1, r5, r6 - adds r1, r0, r1 - lsls r2, r7, 4 - strh r2, [r1] - mov r1, r10 - ldrb r2, [r1] - mov r3, r9 - ldrb r1, [r3] - subs r7, r2, r1 - ldr r4, _081143C8 @ =0x000090c4 - adds r5, r4 - adds r0, r5 - lsls r1, r7, 4 - strh r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081143AC: .4byte 0x02014800 -_081143B0: .4byte 0x000028c4 -_081143B4: .4byte 0x000020c4 -_081143B8: .4byte 0x000030c4 -_081143BC: .4byte 0x000038c4 -_081143C0: .4byte 0x000008c4 -_081143C4: .4byte 0x000080c4 -_081143C8: .4byte 0x000090c4 - thumb_func_end sub_811430C - - thumb_func_start unref_sub_81143CC -unref_sub_81143CC: @ 81143CC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r0, 0x1 - str r0, [sp, 0x4] - ldr r0, _08114408 @ =0x02014800 - ldr r2, _0811440C @ =0x0000a0c4 - adds r1, r0, r2 - ldrb r3, [r1] - adds r4, r0, 0 - cmp r3, 0 - beq _081143EE - subs r0, r3, 0x1 - strb r0, [r1] -_081143EE: - movs r5, 0 - str r5, [sp] -_081143F2: - movs r3, 0 - adds r2, r4, 0 - adds r0, r4, 0 - adds r0, 0x84 - ldr r1, [sp] - adds r0, r1, r0 - adds r1, 0x1 - str r1, [sp, 0x8] - bl _08114D84 - .align 2, 0 -_08114408: .4byte 0x02014800 -_0811440C: .4byte 0x0000a0c4 -_08114410: - ldr r5, [sp] - lsls r0, r5, 5 - adds r1, r3, r0 - adds r2, 0xC4 - adds r1, r2 - ldrb r2, [r1] - mov r8, r0 - adds r0, r3, 0x1 - mov r10, r0 - cmp r2, 0xC - bls _08114428 - b _081148D2 -_08114428: - lsls r0, r2, 2 - ldr r1, _08114434 @ =_08114438 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08114434: .4byte _08114438 - .align 2, 0 -_08114438: - .4byte _081148D2 - .4byte _0811446C - .4byte _081144F0 - .4byte _0811457C - .4byte _08114600 - .4byte _0811468C - .4byte _081146C8 - .4byte _08114704 - .4byte _08114740 - .4byte _0811477C - .4byte _081147D0 - .4byte _08114810 - .4byte _08114858 -_0811446C: - movs r1, 0 - str r1, [sp, 0x4] - lsls r0, r3, 1 - ldr r2, [sp] - lsls r1, r2, 6 - adds r0, r1 - ldr r5, _081144E0 @ =0x000060c4 - adds r2, r4, r5 - adds r2, r0, r2 - ldr r5, _081144E4 @ =0x000080c4 - adds r1, r4, r5 - adds r0, r1 - ldrh r1, [r0] - ldrh r0, [r2] - adds r1, r0 - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r5, r0, 8 - movs r0, 0xFF - ands r1, r0 - strh r1, [r2] - movs r6, 0 - adds r1, r3, 0x1 - mov r10, r1 - ldr r2, [sp, 0x4] - cmp r2, r5 - blt _081144A6 - b _081148D2 -_081144A6: - mov r9, r4 - mov r4, r8 - adds r7, r3, r4 - ldr r0, _081144E8 @ =0x000030c4 - add r0, r9 - adds r4, r7, r0 - ldr r0, _081144EC @ =0x000020c4 - add r0, r9 - adds r2, r7, r0 -_081144B8: - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - ldrb r1, [r4] - ldr r0, [sp] - str r2, [sp, 0xC] - str r3, [sp, 0x10] - bl sub_8114DB4 - ldrb r0, [r4] - ldr r2, [sp, 0xC] - ldr r3, [sp, 0x10] - ldrb r1, [r2] - cmp r0, r1 - bne _081144D8 - b _081148A0 -_081144D8: - adds r6, 0x1 - cmp r6, r5 - blt _081144B8 - b _081148D2 - .align 2, 0 -_081144E0: .4byte 0x000060c4 -_081144E4: .4byte 0x000080c4 -_081144E8: .4byte 0x000030c4 -_081144EC: .4byte 0x000020c4 -_081144F0: - movs r2, 0 - str r2, [sp, 0x4] - ldr r4, _08114568 @ =0x02014800 - lsls r0, r3, 1 - ldr r5, [sp] - lsls r1, r5, 6 - adds r0, r1 - ldr r1, _0811456C @ =0x000060c4 - adds r2, r4, r1 - adds r2, r0, r2 - ldr r5, _08114570 @ =0x000080c4 - adds r1, r4, r5 - adds r0, r1 - ldrh r1, [r0] - ldrh r0, [r2] - adds r1, r0 - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r5, r0, 8 - movs r0, 0xFF - ands r1, r0 - strh r1, [r2] - movs r6, 0 - adds r1, r3, 0x1 - mov r10, r1 - ldr r2, [sp, 0x4] - cmp r2, r5 - blt _0811452C - b _081148D2 -_0811452C: - mov r9, r4 - mov r4, r8 - adds r7, r3, r4 - ldr r0, _08114574 @ =0x000030c4 - add r0, r9 - adds r4, r7, r0 - ldr r0, _08114578 @ =0x000020c4 - add r0, r9 - adds r2, r7, r0 -_0811453E: - ldrb r0, [r4] - ldrb r1, [r2] - cmp r0, r1 - bne _08114548 - b _081148B8 -_08114548: - adds r1, r0, 0 - ldr r0, [sp] - str r2, [sp, 0xC] - str r3, [sp, 0x10] - bl sub_8114DF0 - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - adds r6, 0x1 - ldr r2, [sp, 0xC] - ldr r3, [sp, 0x10] - cmp r6, r5 - blt _0811453E - b _081148D2 - .align 2, 0 -_08114568: .4byte 0x02014800 -_0811456C: .4byte 0x000060c4 -_08114570: .4byte 0x000080c4 -_08114574: .4byte 0x000030c4 -_08114578: .4byte 0x000020c4 -_0811457C: - movs r2, 0 - str r2, [sp, 0x4] - lsls r0, r3, 1 - ldr r5, [sp] - lsls r1, r5, 6 - adds r0, r1 - ldr r1, _081145F0 @ =0x000060c4 - adds r2, r4, r1 - adds r2, r0, r2 - ldr r5, _081145F4 @ =0x000080c4 - adds r1, r4, r5 - adds r0, r1 - ldrh r1, [r0] - ldrh r0, [r2] - adds r1, r0 - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r5, r0, 8 - movs r0, 0xFF - ands r1, r0 - strh r1, [r2] - movs r6, 0 - adds r1, r3, 0x1 - mov r10, r1 - ldr r2, [sp, 0x4] - cmp r2, r5 - blt _081145B6 - b _081148D2 -_081145B6: - mov r9, r4 - mov r4, r8 - adds r7, r3, r4 - ldr r0, _081145F8 @ =0x000030c4 - add r0, r9 - adds r4, r7, r0 - ldr r0, _081145FC @ =0x000020c4 - add r0, r9 - adds r2, r7, r0 -_081145C8: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldrb r1, [r4] - ldr r0, [sp] - str r2, [sp, 0xC] - str r3, [sp, 0x10] - bl sub_8114DB4 - ldrb r0, [r4] - ldr r2, [sp, 0xC] - ldr r3, [sp, 0x10] - ldrb r1, [r2] - cmp r0, r1 - bne _081145E8 - b _081148AC -_081145E8: - adds r6, 0x1 - cmp r6, r5 - blt _081145C8 - b _081148D2 - .align 2, 0 -_081145F0: .4byte 0x000060c4 -_081145F4: .4byte 0x000080c4 -_081145F8: .4byte 0x000030c4 -_081145FC: .4byte 0x000020c4 -_08114600: - movs r2, 0 - str r2, [sp, 0x4] - ldr r4, _08114678 @ =0x02014800 - lsls r0, r3, 1 - ldr r5, [sp] - lsls r1, r5, 6 - adds r0, r1 - ldr r1, _0811467C @ =0x000060c4 - adds r2, r4, r1 - adds r2, r0, r2 - ldr r5, _08114680 @ =0x000080c4 - adds r1, r4, r5 - adds r0, r1 - ldrh r1, [r0] - ldrh r0, [r2] - adds r1, r0 - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r5, r0, 8 - movs r0, 0xFF - ands r1, r0 - strh r1, [r2] - movs r6, 0 - adds r1, r3, 0x1 - mov r10, r1 - ldr r2, [sp, 0x4] - cmp r2, r5 - blt _0811463C - b _081148D2 -_0811463C: - mov r9, r4 - mov r4, r8 - adds r7, r3, r4 - ldr r0, _08114684 @ =0x000030c4 - add r0, r9 - adds r4, r7, r0 - ldr r0, _08114688 @ =0x000020c4 - add r0, r9 - adds r2, r7, r0 -_0811464E: - ldrb r0, [r4] - ldrb r1, [r2] - cmp r0, r1 - bne _08114658 - b _081148B8 -_08114658: - adds r1, r0, 0 - ldr r0, [sp] - str r2, [sp, 0xC] - str r3, [sp, 0x10] - bl sub_8114DF0 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r6, 0x1 - ldr r2, [sp, 0xC] - ldr r3, [sp, 0x10] - cmp r6, r5 - blt _0811464E - b _081148D2 - .align 2, 0 -_08114678: .4byte 0x02014800 -_0811467C: .4byte 0x000060c4 -_08114680: .4byte 0x000080c4 -_08114684: .4byte 0x000030c4 -_08114688: .4byte 0x000020c4 -_0811468C: - movs r2, 0 - str r2, [sp, 0x4] - ldr r5, _081146C0 @ =0x02014800 - mov r0, r8 - adds r4, r3, r0 - ldr r1, _081146C4 @ =0x000030c4 - adds r0, r5, r1 - adds r0, r4, r0 - ldrb r1, [r0] - ldr r0, [sp] - str r3, [sp, 0x10] - bl sub_8114E48 - lsls r0, 24 - ldr r3, [sp, 0x10] - adds r2, r3, 0x1 - mov r10, r2 - cmp r0, 0 - bne _081146B4 - b _081148D2 -_081146B4: - adds r0, r5, 0 - adds r0, 0xC4 - adds r0, r4, r0 - movs r1, 0x9 - strb r1, [r0] - b _081148D2 - .align 2, 0 -_081146C0: .4byte 0x02014800 -_081146C4: .4byte 0x000030c4 -_081146C8: - movs r4, 0 - str r4, [sp, 0x4] - ldr r5, _081146FC @ =0x02014800 - mov r0, r8 - adds r4, r3, r0 - ldr r1, _08114700 @ =0x000030c4 - adds r0, r5, r1 - adds r0, r4, r0 - ldrb r1, [r0] - ldr r0, [sp] - str r3, [sp, 0x10] - bl sub_8114E48 - lsls r0, 24 - ldr r3, [sp, 0x10] - adds r2, r3, 0x1 - mov r10, r2 - cmp r0, 0 - bne _081146F0 - b _081148D2 -_081146F0: - adds r0, r5, 0 - adds r0, 0xC4 - adds r0, r4, r0 - movs r1, 0xA - strb r1, [r0] - b _081148D2 - .align 2, 0 -_081146FC: .4byte 0x02014800 -_08114700: .4byte 0x000030c4 -_08114704: - movs r4, 0 - str r4, [sp, 0x4] - ldr r5, _08114738 @ =0x02014800 - mov r0, r8 - adds r4, r3, r0 - ldr r1, _0811473C @ =0x000030c4 - adds r0, r5, r1 - adds r0, r4, r0 - ldrb r1, [r0] - ldr r0, [sp] - str r3, [sp, 0x10] - bl sub_8114E48 - lsls r0, 24 - ldr r3, [sp, 0x10] - adds r2, r3, 0x1 - mov r10, r2 - cmp r0, 0 - bne _0811472C - b _081148D2 -_0811472C: - adds r0, r5, 0 - adds r0, 0xC4 - adds r0, r4, r0 - movs r1, 0xB - strb r1, [r0] - b _081148D2 - .align 2, 0 -_08114738: .4byte 0x02014800 -_0811473C: .4byte 0x000030c4 -_08114740: - movs r4, 0 - str r4, [sp, 0x4] - ldr r5, _08114774 @ =0x02014800 - mov r0, r8 - adds r4, r3, r0 - ldr r1, _08114778 @ =0x000030c4 - adds r0, r5, r1 - adds r0, r4, r0 - ldrb r1, [r0] - ldr r0, [sp] - str r3, [sp, 0x10] - bl sub_8114E48 - lsls r0, 24 - ldr r3, [sp, 0x10] - adds r2, r3, 0x1 - mov r10, r2 - cmp r0, 0 - bne _08114768 - b _081148D2 -_08114768: - adds r0, r5, 0 - adds r0, 0xC4 - adds r0, r4, r0 - movs r1, 0xC - strb r1, [r0] - b _081148D2 - .align 2, 0 -_08114774: .4byte 0x02014800 -_08114778: .4byte 0x000030c4 -_0811477C: - movs r4, 0 - str r4, [sp, 0x4] - ldr r6, _081147B4 @ =0x02014800 - mov r0, r8 - adds r5, r3, r0 - ldr r1, _081147B8 @ =0x000030c4 - adds r4, r6, r1 - adds r4, r5, r4 - ldrb r1, [r4] - ldr r0, [sp] - str r3, [sp, 0x10] - bl sub_8114DB4 - ldr r2, _081147BC @ =0x000020c4 - adds r0, r6, r2 - adds r0, r5, r0 - ldrb r1, [r4] - ldr r3, [sp, 0x10] - ldrb r0, [r0] - cmp r1, r0 - bne _081147C0 - adds r0, r6, 0 - adds r0, 0xC4 - adds r0, r5, r0 - mov r4, sp - ldrb r4, [r4, 0x4] - strb r4, [r0] - b _08114844 - .align 2, 0 -_081147B4: .4byte 0x02014800 -_081147B8: .4byte 0x000030c4 -_081147BC: .4byte 0x000020c4 -_081147C0: - adds r0, r6, 0 - adds r0, 0xC4 - adds r0, r5, r0 - movs r1, 0x1 - strb r1, [r0] - adds r0, r3, 0x1 - mov r10, r0 - b _081148D2 -_081147D0: - movs r1, 0 - str r1, [sp, 0x4] - ldr r6, _08114804 @ =0x02014800 - mov r2, r8 - adds r5, r3, r2 - ldr r0, _08114808 @ =0x000030c4 - adds r4, r6, r0 - adds r4, r5, r4 - ldrb r1, [r4] - ldr r0, [sp] - str r3, [sp, 0x10] - bl sub_8114DF0 - ldr r1, _0811480C @ =0x000020c4 - adds r0, r6, r1 - adds r0, r5, r0 - ldrb r1, [r4] - ldr r3, [sp, 0x10] - ldrb r0, [r0] - cmp r1, r0 - beq _08114882 - adds r0, r6, 0 - adds r0, 0xC4 - adds r0, r5, r0 - movs r1, 0x2 - b _08114842 - .align 2, 0 -_08114804: .4byte 0x02014800 -_08114808: .4byte 0x000030c4 -_0811480C: .4byte 0x000020c4 -_08114810: - movs r0, 0 - str r0, [sp, 0x4] - ldr r6, _0811484C @ =0x02014800 - mov r1, r8 - adds r5, r3, r1 - ldr r2, _08114850 @ =0x000030c4 - adds r4, r6, r2 - adds r4, r5, r4 - ldrb r1, [r4] - ldr r0, [sp] - str r3, [sp, 0x10] - bl sub_8114DB4 - ldr r1, _08114854 @ =0x000020c4 - adds r0, r6, r1 - adds r0, r5, r0 - ldrb r1, [r4] - ldr r3, [sp, 0x10] - ldrb r0, [r0] - cmp r1, r0 - beq _08114882 - adds r0, r6, 0 - adds r0, 0xC4 - adds r0, r5, r0 - movs r1, 0x3 -_08114842: - strb r1, [r0] -_08114844: - adds r5, r3, 0x1 - mov r10, r5 - b _081148D2 - .align 2, 0 -_0811484C: .4byte 0x02014800 -_08114850: .4byte 0x000030c4 -_08114854: .4byte 0x000020c4 -_08114858: - movs r0, 0 - str r0, [sp, 0x4] - ldr r6, _08114894 @ =0x02014800 - mov r1, r8 - adds r5, r3, r1 - ldr r2, _08114898 @ =0x000030c4 - adds r4, r6, r2 - adds r4, r5, r4 - ldrb r1, [r4] - ldr r0, [sp] - str r3, [sp, 0x10] - bl sub_8114DF0 - ldr r1, _0811489C @ =0x000020c4 - adds r0, r6, r1 - adds r0, r5, r0 - ldrb r1, [r4] - ldr r3, [sp, 0x10] - ldrb r0, [r0] - cmp r1, r0 - bne _081148C4 -_08114882: - adds r0, r6, 0 - adds r0, 0xC4 - adds r0, r5, r0 - mov r2, sp - ldrb r2, [r2, 0x4] - strb r2, [r0] - adds r4, r3, 0x1 - mov r10, r4 - b _081148D2 - .align 2, 0 -_08114894: .4byte 0x02014800 -_08114898: .4byte 0x000030c4 -_0811489C: .4byte 0x000020c4 -_081148A0: - mov r0, r9 - adds r0, 0xC4 - adds r0, r7, r0 - movs r5, 0 - strb r5, [r0] - b _081148D2 -_081148AC: - mov r0, r9 - adds r0, 0xC4 - adds r0, r7, r0 - movs r1, 0 - strb r1, [r0] - b _081148D2 -_081148B8: - mov r0, r9 - adds r0, 0xC4 - adds r0, r7, r0 - movs r1, 0 - strb r1, [r0] - b _081148D2 -_081148C4: - adds r0, r6, 0 - adds r0, 0xC4 - adds r0, r5, r0 - movs r1, 0x4 - strb r1, [r0] - adds r2, r3, 0x1 - mov r10, r2 -_081148D2: - ldr r0, _081148F4 @ =0x02014800 - mov r4, r8 - adds r1, r3, r4 - ldr r5, _081148F8 @ =0x000008c4 - adds r2, r0, r5 - adds r1, r2 - ldrb r1, [r1] - adds r4, r0, 0 - cmp r1, 0xC - bls _081148E8 - b _08114D76 -_081148E8: - lsls r0, r1, 2 - ldr r1, _081148FC @ =_08114900 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081148F4: .4byte 0x02014800 -_081148F8: .4byte 0x000008c4 -_081148FC: .4byte _08114900 - .align 2, 0 -_08114900: - .4byte _08114D76 - .4byte _08114934 - .4byte _081149B8 - .4byte _08114A3C - .4byte _08114AC0 - .4byte _08114B44 - .4byte _08114B7C - .4byte _08114BB4 - .4byte _08114BEC - .4byte _08114C24 - .4byte _08114C78 - .4byte _08114CB8 - .4byte _08114CF8 -_08114934: - movs r0, 0 - str r0, [sp, 0x4] - lsls r0, r3, 1 - ldr r2, [sp] - lsls r1, r2, 6 - adds r0, r1 - ldr r5, _081149A8 @ =0x000070c4 - adds r2, r4, r5 - adds r2, r0, r2 - ldr r5, _081149AC @ =0x000090c4 - adds r1, r4, r5 - adds r0, r1 - ldrh r1, [r0] - ldrh r0, [r2] - adds r1, r0 - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r5, r0, 8 - movs r0, 0xFF - ands r1, r0 - strh r1, [r2] - movs r6, 0 - ldr r1, [sp, 0x4] - cmp r1, r5 - blt _0811496A - b _08114D76 -_0811496A: - mov r9, r4 - mov r2, r8 - adds r7, r3, r2 - ldr r0, _081149B0 @ =0x000038c4 - add r0, r9 - adds r4, r7, r0 - movs r3, 0 - ldr r0, _081149B4 @ =0x000028c4 - add r0, r9 - adds r2, r7, r0 -_0811497E: - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - ldrb r1, [r4] - ldr r0, [sp] - str r2, [sp, 0xC] - str r3, [sp, 0x10] - bl sub_8114DB4 - ldrb r0, [r4] - ldr r2, [sp, 0xC] - ldr r3, [sp, 0x10] - ldrb r1, [r2] - cmp r0, r1 - bne _0811499E - b _08114D4C -_0811499E: - adds r6, 0x1 - cmp r6, r5 - blt _0811497E - b _08114D76 - .align 2, 0 -_081149A8: .4byte 0x000070c4 -_081149AC: .4byte 0x000090c4 -_081149B0: .4byte 0x000038c4 -_081149B4: .4byte 0x000028c4 -_081149B8: - movs r2, 0 - str r2, [sp, 0x4] - ldr r4, _08114A28 @ =0x02014800 - lsls r0, r3, 1 - ldr r5, [sp] - lsls r1, r5, 6 - adds r0, r1 - ldr r1, _08114A2C @ =0x000070c4 - adds r2, r4, r1 - adds r2, r0, r2 - ldr r5, _08114A30 @ =0x000090c4 - adds r1, r4, r5 - adds r0, r1 - ldrh r1, [r0] - ldrh r0, [r2] - adds r1, r0 - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r5, r0, 8 - movs r0, 0xFF - ands r1, r0 - strh r1, [r2] - movs r6, 0 - ldr r1, [sp, 0x4] - cmp r1, r5 - blt _081149F0 - b _08114D76 -_081149F0: - mov r9, r4 - mov r2, r8 - adds r7, r3, r2 - ldr r0, _08114A34 @ =0x000038c4 - add r0, r9 - adds r4, r7, r0 - ldr r0, _08114A38 @ =0x000028c4 - add r0, r9 - adds r2, r7, r0 -_08114A02: - ldrb r0, [r4] - ldrb r1, [r2] - cmp r0, r1 - bne _08114A0C - b _08114D3C -_08114A0C: - adds r1, r0, 0 - ldr r0, [sp] - str r2, [sp, 0xC] - bl sub_8114DF0 - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - adds r6, 0x1 - ldr r2, [sp, 0xC] - cmp r6, r5 - blt _08114A02 - b _08114D76 - .align 2, 0 -_08114A28: .4byte 0x02014800 -_08114A2C: .4byte 0x000070c4 -_08114A30: .4byte 0x000090c4 -_08114A34: .4byte 0x000038c4 -_08114A38: .4byte 0x000028c4 -_08114A3C: - movs r2, 0 - str r2, [sp, 0x4] - lsls r0, r3, 1 - ldr r5, [sp] - lsls r1, r5, 6 - adds r0, r1 - ldr r1, _08114AB0 @ =0x000070c4 - adds r2, r4, r1 - adds r2, r0, r2 - ldr r5, _08114AB4 @ =0x000090c4 - adds r1, r4, r5 - adds r0, r1 - ldrh r1, [r0] - ldrh r0, [r2] - adds r1, r0 - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r5, r0, 8 - movs r0, 0xFF - ands r1, r0 - strh r1, [r2] - movs r6, 0 - ldr r1, [sp, 0x4] - cmp r1, r5 - blt _08114A72 - b _08114D76 -_08114A72: - mov r9, r4 - mov r2, r8 - adds r7, r3, r2 - ldr r0, _08114AB8 @ =0x000038c4 - add r0, r9 - adds r4, r7, r0 - movs r3, 0 - ldr r0, _08114ABC @ =0x000028c4 - add r0, r9 - adds r2, r7, r0 -_08114A86: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldrb r1, [r4] - ldr r0, [sp] - str r2, [sp, 0xC] - str r3, [sp, 0x10] - bl sub_8114DB4 - ldrb r0, [r4] - ldr r2, [sp, 0xC] - ldr r3, [sp, 0x10] - ldrb r1, [r2] - cmp r0, r1 - bne _08114AA6 - b _08114D4C -_08114AA6: - adds r6, 0x1 - cmp r6, r5 - blt _08114A86 - b _08114D76 - .align 2, 0 -_08114AB0: .4byte 0x000070c4 -_08114AB4: .4byte 0x000090c4 -_08114AB8: .4byte 0x000038c4 -_08114ABC: .4byte 0x000028c4 -_08114AC0: - movs r2, 0 - str r2, [sp, 0x4] - ldr r4, _08114B30 @ =0x02014800 - lsls r0, r3, 1 - ldr r5, [sp] - lsls r1, r5, 6 - adds r0, r1 - ldr r1, _08114B34 @ =0x000070c4 - adds r2, r4, r1 - adds r2, r0, r2 - ldr r5, _08114B38 @ =0x000090c4 - adds r1, r4, r5 - adds r0, r1 - ldrh r1, [r0] - ldrh r0, [r2] - adds r1, r0 - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r5, r0, 8 - movs r0, 0xFF - ands r1, r0 - strh r1, [r2] - movs r6, 0 - ldr r1, [sp, 0x4] - cmp r1, r5 - blt _08114AF8 - b _08114D76 -_08114AF8: - mov r9, r4 - mov r2, r8 - adds r7, r3, r2 - ldr r0, _08114B3C @ =0x000038c4 - add r0, r9 - adds r4, r7, r0 - ldr r0, _08114B40 @ =0x000028c4 - add r0, r9 - adds r2, r7, r0 -_08114B0A: - ldrb r0, [r4] - ldrb r1, [r2] - cmp r0, r1 - bne _08114B14 - b _08114D5C -_08114B14: - adds r1, r0, 0 - ldr r0, [sp] - str r2, [sp, 0xC] - bl sub_8114DF0 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r6, 0x1 - ldr r2, [sp, 0xC] - cmp r6, r5 - blt _08114B0A - b _08114D76 - .align 2, 0 -_08114B30: .4byte 0x02014800 -_08114B34: .4byte 0x000070c4 -_08114B38: .4byte 0x000090c4 -_08114B3C: .4byte 0x000038c4 -_08114B40: .4byte 0x000028c4 -_08114B44: - movs r2, 0 - str r2, [sp, 0x4] - ldr r5, _08114B70 @ =0x02014800 - mov r0, r8 - adds r4, r3, r0 - ldr r1, _08114B74 @ =0x000038c4 - adds r0, r5, r1 - adds r0, r4, r0 - ldrb r1, [r0] - ldr r0, [sp] - bl sub_8114E48 - lsls r0, 24 - cmp r0, 0 - bne _08114B64 - b _08114D76 -_08114B64: - ldr r2, _08114B78 @ =0x000008c4 - adds r0, r5, r2 - adds r0, r4, r0 - movs r1, 0x9 - b _08114D74 - .align 2, 0 -_08114B70: .4byte 0x02014800 -_08114B74: .4byte 0x000038c4 -_08114B78: .4byte 0x000008c4 -_08114B7C: - movs r4, 0 - str r4, [sp, 0x4] - ldr r5, _08114BA8 @ =0x02014800 - mov r0, r8 - adds r4, r3, r0 - ldr r1, _08114BAC @ =0x000038c4 - adds r0, r5, r1 - adds r0, r4, r0 - ldrb r1, [r0] - ldr r0, [sp] - bl sub_8114E48 - lsls r0, 24 - cmp r0, 0 - bne _08114B9C - b _08114D76 -_08114B9C: - ldr r2, _08114BB0 @ =0x000008c4 - adds r0, r5, r2 - adds r0, r4, r0 - movs r1, 0xA - b _08114D74 - .align 2, 0 -_08114BA8: .4byte 0x02014800 -_08114BAC: .4byte 0x000038c4 -_08114BB0: .4byte 0x000008c4 -_08114BB4: - movs r4, 0 - str r4, [sp, 0x4] - ldr r5, _08114BE0 @ =0x02014800 - mov r0, r8 - adds r4, r3, r0 - ldr r1, _08114BE4 @ =0x000038c4 - adds r0, r5, r1 - adds r0, r4, r0 - ldrb r1, [r0] - ldr r0, [sp] - bl sub_8114E48 - lsls r0, 24 - cmp r0, 0 - bne _08114BD4 - b _08114D76 -_08114BD4: - ldr r2, _08114BE8 @ =0x000008c4 - adds r0, r5, r2 - adds r0, r4, r0 - movs r1, 0xB - b _08114D74 - .align 2, 0 -_08114BE0: .4byte 0x02014800 -_08114BE4: .4byte 0x000038c4 -_08114BE8: .4byte 0x000008c4 -_08114BEC: - movs r4, 0 - str r4, [sp, 0x4] - ldr r5, _08114C18 @ =0x02014800 - mov r0, r8 - adds r4, r3, r0 - ldr r1, _08114C1C @ =0x000038c4 - adds r0, r5, r1 - adds r0, r4, r0 - ldrb r1, [r0] - ldr r0, [sp] - bl sub_8114E48 - lsls r0, 24 - cmp r0, 0 - bne _08114C0C - b _08114D76 -_08114C0C: - ldr r2, _08114C20 @ =0x000008c4 - adds r0, r5, r2 - adds r0, r4, r0 - movs r1, 0xC - b _08114D74 - .align 2, 0 -_08114C18: .4byte 0x02014800 -_08114C1C: .4byte 0x000038c4 -_08114C20: .4byte 0x000008c4 -_08114C24: - movs r4, 0 - str r4, [sp, 0x4] - ldr r6, _08114C58 @ =0x02014800 - mov r0, r8 - adds r5, r3, r0 - ldr r1, _08114C5C @ =0x000038c4 - adds r4, r6, r1 - adds r4, r5, r4 - ldrb r1, [r4] - ldr r0, [sp] - bl sub_8114DB4 - ldr r2, _08114C60 @ =0x000028c4 - adds r0, r6, r2 - adds r0, r5, r0 - ldrb r1, [r4] - ldrb r0, [r0] - cmp r1, r0 - bne _08114C68 - ldr r4, _08114C64 @ =0x000008c4 - adds r0, r6, r4 - adds r0, r5, r0 - mov r5, sp - ldrb r5, [r5, 0x4] - strb r5, [r0] - b _08114D76 - .align 2, 0 -_08114C58: .4byte 0x02014800 -_08114C5C: .4byte 0x000038c4 -_08114C60: .4byte 0x000028c4 -_08114C64: .4byte 0x000008c4 -_08114C68: - ldr r1, _08114C74 @ =0x000008c4 - adds r0, r6, r1 - adds r0, r5, r0 - movs r1, 0x1 - b _08114D74 - .align 2, 0 -_08114C74: .4byte 0x000008c4 -_08114C78: - movs r2, 0 - str r2, [sp, 0x4] - ldr r6, _08114CA8 @ =0x02014800 - mov r4, r8 - adds r5, r3, r4 - ldr r0, _08114CAC @ =0x000038c4 - adds r4, r6, r0 - adds r4, r5, r4 - ldrb r1, [r4] - ldr r0, [sp] - bl sub_8114DF0 - ldr r1, _08114CB0 @ =0x000028c4 - adds r0, r6, r1 - adds r0, r5, r0 - ldrb r1, [r4] - ldrb r0, [r0] - cmp r1, r0 - beq _08114D1E - ldr r1, _08114CB4 @ =0x000008c4 - adds r0, r6, r1 - adds r0, r5, r0 - movs r1, 0x2 - b _08114D74 - .align 2, 0 -_08114CA8: .4byte 0x02014800 -_08114CAC: .4byte 0x000038c4 -_08114CB0: .4byte 0x000028c4 -_08114CB4: .4byte 0x000008c4 -_08114CB8: - movs r2, 0 - str r2, [sp, 0x4] - ldr r6, _08114CE8 @ =0x02014800 - mov r4, r8 - adds r5, r3, r4 - ldr r0, _08114CEC @ =0x000038c4 - adds r4, r6, r0 - adds r4, r5, r4 - ldrb r1, [r4] - ldr r0, [sp] - bl sub_8114DB4 - ldr r1, _08114CF0 @ =0x000028c4 - adds r0, r6, r1 - adds r0, r5, r0 - ldrb r1, [r4] - ldrb r0, [r0] - cmp r1, r0 - beq _08114D1E - ldr r1, _08114CF4 @ =0x000008c4 - adds r0, r6, r1 - adds r0, r5, r0 - movs r1, 0x3 - b _08114D74 - .align 2, 0 -_08114CE8: .4byte 0x02014800 -_08114CEC: .4byte 0x000038c4 -_08114CF0: .4byte 0x000028c4 -_08114CF4: .4byte 0x000008c4 -_08114CF8: - movs r2, 0 - str r2, [sp, 0x4] - ldr r6, _08114D2C @ =0x02014800 - mov r4, r8 - adds r5, r3, r4 - ldr r0, _08114D30 @ =0x000038c4 - adds r4, r6, r0 - adds r4, r5, r4 - ldrb r1, [r4] - ldr r0, [sp] - bl sub_8114DF0 - ldr r1, _08114D34 @ =0x000028c4 - adds r0, r6, r1 - adds r0, r5, r0 - ldrb r1, [r4] - ldrb r0, [r0] - cmp r1, r0 - bne _08114D6C -_08114D1E: - ldr r2, _08114D38 @ =0x000008c4 - adds r0, r6, r2 - adds r0, r5, r0 - mov r4, sp - ldrb r4, [r4, 0x4] - strb r4, [r0] - b _08114D76 - .align 2, 0 -_08114D2C: .4byte 0x02014800 -_08114D30: .4byte 0x000038c4 -_08114D34: .4byte 0x000028c4 -_08114D38: .4byte 0x000008c4 -_08114D3C: - ldr r0, _08114D48 @ =0x000008c4 - add r0, r9 - adds r0, r7, r0 - movs r1, 0 - b _08114D74 - .align 2, 0 -_08114D48: .4byte 0x000008c4 -_08114D4C: - ldr r0, _08114D58 @ =0x000008c4 - add r0, r9 - adds r0, r7, r0 - strb r3, [r0] - b _08114D76 - .align 2, 0 -_08114D58: .4byte 0x000008c4 -_08114D5C: - ldr r0, _08114D68 @ =0x000008c4 - add r0, r9 - adds r0, r7, r0 - movs r1, 0 - b _08114D74 - .align 2, 0 -_08114D68: .4byte 0x000008c4 -_08114D6C: - ldr r1, _08114DAC @ =0x000008c4 - adds r0, r6, r1 - adds r0, r5, r0 - movs r1, 0x4 -_08114D74: - strb r1, [r0] -_08114D76: - mov r3, r10 - ldr r2, _08114DB0 @ =0x02014800 - adds r0, r2, 0 - adds r0, 0x84 - ldr r4, [sp] - adds r0, r4, r0 - adds r4, r2, 0 -_08114D84: - ldrb r0, [r0] - cmp r3, r0 - bge _08114D8E - bl _08114410 -_08114D8E: - ldr r5, [sp, 0x8] - str r5, [sp] - cmp r5, 0x3F - bgt _08114D9A - bl _081143F2 -_08114D9A: - ldr r0, [sp, 0x4] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08114DAC: .4byte 0x000008c4 -_08114DB0: .4byte 0x02014800 - thumb_func_end unref_sub_81143CC - - thumb_func_start sub_8114DB4 -sub_8114DB4: @ 8114DB4 - push {lr} - lsls r1, 24 - lsrs r3, r1, 24 - ldr r2, _08114DDC @ =0x02014800 - lsrs r1, 25 - lsls r1, 2 - lsls r0, 7 - adds r1, r0 - ldr r0, _08114DE0 @ =0x000040c4 - adds r2, r0 - adds r1, r2 - ldr r2, [r1] - movs r0, 0x1 - ands r3, r0 - cmp r3, 0 - beq _08114DE4 - ldrb r0, [r2] - movs r1, 0xF0 - b _08114DE8 - .align 2, 0 -_08114DDC: .4byte 0x02014800 -_08114DE0: .4byte 0x000040c4 -_08114DE4: - ldrb r0, [r2] - movs r1, 0xF -_08114DE8: - orrs r0, r1 - strb r0, [r2] - pop {r0} - bx r0 - thumb_func_end sub_8114DB4 - - thumb_func_start sub_8114DF0 -sub_8114DF0: @ 8114DF0 - push {lr} - lsls r1, 24 - lsrs r3, r1, 24 - ldr r2, _08114E28 @ =0x02014800 - lsrs r1, 25 - lsls r1, 2 - lsls r0, 7 - adds r1, r0 - ldr r0, _08114E2C @ =0x000040c4 - adds r2, r0 - adds r1, r2 - ldr r2, [r1] - movs r0, 0xC0 - lsls r0, 7 - adds r1, r2, r0 - movs r0, 0x1 - ands r3, r0 - cmp r3, 0 - beq _08114E30 - ldrb r1, [r1] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - bne _08114E42 - ldrb r1, [r2] - movs r0, 0xF - b _08114E3E - .align 2, 0 -_08114E28: .4byte 0x02014800 -_08114E2C: .4byte 0x000040c4 -_08114E30: - ldrb r1, [r1] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _08114E42 - ldrb r1, [r2] - movs r0, 0xF0 -_08114E3E: - ands r0, r1 - strb r0, [r2] -_08114E42: - pop {r0} - bx r0 - thumb_func_end sub_8114DF0 - - thumb_func_start sub_8114E48 -sub_8114E48: @ 8114E48 - push {r4-r7,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r1, _08114E6C @ =0x02014800 - ldr r2, _08114E70 @ =0x0000a0c4 - adds r0, r1, r2 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0 - bne _08114E60 - b _08114F5E -_08114E60: - movs r1, 0 - movs r3, 0 - cmp r4, 0 - bne _08114E74 - movs r1, 0x1 - b _08114EA6 - .align 2, 0 -_08114E6C: .4byte 0x02014800 -_08114E70: .4byte 0x0000a0c4 -_08114E74: - subs r0, r4, 0x1 - lsls r0, 5 - adds r2, r3, r0 - adds r0, r5, 0 - adds r0, 0xC4 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _08114EA6 - ldr r7, _08114EC4 @ =0x000008c4 - adds r0, r5, r7 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _08114EA6 - adds r3, 0x1 - cmp r3, 0x1F - bgt _08114EA6 - cmp r4, 0 - bne _08114E74 - lsls r0, r1, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r1, r0, 24 -_08114EA6: - cmp r3, 0x20 - bne _08114EB4 - lsls r0, r1, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r1, r0, 24 -_08114EB4: - movs r3, 0 - cmp r4, 0x3F - bne _08114EC8 - lsls r0, r1, 24 - movs r7, 0x80 - lsls r7, 17 - adds r0, r7 - b _08114EF8 - .align 2, 0 -_08114EC4: .4byte 0x000008c4 -_08114EC8: - adds r0, r4, 0x1 - lsls r0, 5 - adds r2, r3, r0 - adds r0, r5, 0 - adds r0, 0xC4 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _08114EFA - ldr r7, _08114F64 @ =0x000008c4 - adds r0, r5, r7 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _08114EFA - adds r3, 0x1 - cmp r3, 0x1F - bgt _08114EFA - cmp r4, 0x3F - bne _08114EC8 - lsls r0, r1, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 -_08114EF8: - lsrs r1, r0, 24 -_08114EFA: - cmp r3, 0x20 - bne _08114F08 - lsls r0, r1, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r1, r0, 24 -_08114F08: - cmp r1, 0x2 - beq _08114F5E - subs r0, r6, 0x2 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r0, 0 - bge _08114F18 - movs r1, 0 -_08114F18: - adds r0, r6, 0x2 - lsls r0, 24 - lsrs r2, r0, 24 - asrs r0, 24 - cmp r0, 0x3F - ble _08114F26 - movs r2, 0x3F -_08114F26: - lsls r1, 24 - asrs r3, r1, 24 - lsls r0, r2, 24 - asrs r2, r0, 24 - adds r6, r1, 0 - adds r7, r0, 0 - cmp r3, r2 - bge _08114F7C - cmp r4, 0 - beq _08114F7C - subs r0, r4, 0x1 - lsls r5, r0, 7 - ldr r0, _08114F68 @ =0x020188c4 - mov r12, r0 -_08114F42: - asrs r0, r3, 1 - lsls r0, 2 - adds r0, r5 - add r0, r12 - ldr r1, [r0] - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _08114F6C - ldrb r1, [r1] - movs r0, 0xF0 -_08114F58: - ands r0, r1 - cmp r0, 0 - beq _08114F72 -_08114F5E: - movs r0, 0x1 - b _08114FCA - .align 2, 0 -_08114F64: .4byte 0x000008c4 -_08114F68: .4byte 0x020188c4 -_08114F6C: - ldrb r1, [r1] - movs r0, 0xF - b _08114F58 -_08114F72: - adds r3, 0x1 - cmp r3, r2 - bge _08114F7C - cmp r4, 0 - bne _08114F42 -_08114F7C: - asrs r3, r6, 24 - asrs r1, r7, 24 - cmp r3, r1 - bge _08114FC8 - cmp r4, 0x3F - beq _08114FC8 - adds r0, r4, 0x1 - lsls r5, r0, 7 - ldr r6, _08114FB0 @ =0x020188c4 - adds r2, r1, 0 -_08114F90: - asrs r0, r3, 1 - lsls r0, 2 - adds r0, r5 - adds r0, r6 - ldr r1, [r0] - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _08114FB4 - ldrb r1, [r1] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - beq _08114FBE - b _08114F5E - .align 2, 0 -_08114FB0: .4byte 0x020188c4 -_08114FB4: - ldrb r1, [r1] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _08114F5E -_08114FBE: - adds r3, 0x1 - cmp r3, r2 - bge _08114FC8 - cmp r4, 0x3F - bne _08114F90 -_08114FC8: - movs r0, 0 -_08114FCA: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8114E48 - - thumb_func_start HBlankCB_EvolutionScene -HBlankCB_EvolutionScene: @ 8114FD0 - bx lr - thumb_func_end HBlankCB_EvolutionScene - - thumb_func_start VBlankCB_EvolutionScene -VBlankCB_EvolutionScene: @ 8114FD4 - push {lr} - ldr r1, _08115034 @ =REG_BG0CNT - ldr r2, _08115038 @ =0x00009803 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x8 - ldr r0, _0811503C @ =gUnknown_030042A4 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _08115040 @ =gUnknown_030042A0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _08115044 @ =gUnknown_030042C0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _08115048 @ =gUnknown_030041B4 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _0811504C @ =gUnknown_03004288 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _08115050 @ =gUnknown_03004280 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _08115054 @ =gUnknown_030041B0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _08115058 @ =gUnknown_030041B8 - ldrh r0, [r0] - strh r0, [r1] - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl sub_8089668 - pop {r0} - bx r0 - .align 2, 0 -_08115034: .4byte REG_BG0CNT -_08115038: .4byte 0x00009803 -_0811503C: .4byte gUnknown_030042A4 -_08115040: .4byte gUnknown_030042A0 -_08115044: .4byte gUnknown_030042C0 -_08115048: .4byte gUnknown_030041B4 -_0811504C: .4byte gUnknown_03004288 -_08115050: .4byte gUnknown_03004280 -_08115054: .4byte gUnknown_030041B0 -_08115058: .4byte gUnknown_030041B8 - thumb_func_end VBlankCB_EvolutionScene - - thumb_func_start VBlankCB_TradeEvolutionScene -VBlankCB_TradeEvolutionScene: @ 811505C - push {lr} - ldr r1, _081150B4 @ =REG_BG0HOFS - ldr r0, _081150B8 @ =gUnknown_030042A4 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _081150BC @ =gUnknown_030042A0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _081150C0 @ =gUnknown_030042C0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _081150C4 @ =gUnknown_030041B4 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _081150C8 @ =gUnknown_03004288 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _081150CC @ =gUnknown_03004280 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _081150D0 @ =gUnknown_030041B0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _081150D4 @ =gUnknown_030041B8 - ldrh r0, [r0] - strh r0, [r1] - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl sub_8089668 - pop {r0} - bx r0 - .align 2, 0 -_081150B4: .4byte REG_BG0HOFS -_081150B8: .4byte gUnknown_030042A4 -_081150BC: .4byte gUnknown_030042A0 -_081150C0: .4byte gUnknown_030042C0 -_081150C4: .4byte gUnknown_030041B4 -_081150C8: .4byte gUnknown_03004288 -_081150CC: .4byte gUnknown_03004280 -_081150D0: .4byte gUnknown_030041B0 -_081150D4: .4byte gUnknown_030041B8 - thumb_func_end VBlankCB_TradeEvolutionScene - - thumb_func_start sub_81150D8 -sub_81150D8: @ 81150D8 - push {lr} - ldr r0, _081150F4 @ =gBattleCommunication - ldrb r1, [r0, 0x1] - lsls r1, 28 - movs r0, 0x90 - lsls r0, 23 - adds r1, r0 - lsrs r1, 24 - movs r0, 0xC8 - bl sub_814A880 - pop {r0} - bx r0 - .align 2, 0 -_081150F4: .4byte gBattleCommunication - thumb_func_end sub_81150D8 - - thumb_func_start HBlankCB_TradeEvolutionScene -HBlankCB_TradeEvolutionScene: @ 81150F8 - bx lr - thumb_func_end HBlankCB_TradeEvolutionScene - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/party_menu.s b/asm/party_menu.s index 8a7c153b9..ec6754b86 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -7645,7 +7645,7 @@ _08070AF4: ldr r7, _08070B28 @ =0x0201c000 ldr r0, [r7] movs r1, 0x1 - bl sub_803B7C8 + bl MonTryLearningNewMove lsls r0, 16 lsrs r4, r0, 16 ldr r1, _08070B2C @ =0xfffff282 @@ -7680,7 +7680,7 @@ _08070B40: lsrs r2, r0, 16 cmp r2, 0 beq _08070B74 - ldr r1, _08070B6C @ =gUnknown_03005E94 + ldr r1, _08070B6C @ =gCB2_AfterEvolution ldr r0, _08070B70 @ =sub_80A53F8 str r0, [r1] ldr r0, [r7] @@ -7692,7 +7692,7 @@ _08070B40: bl DestroyTask b _08070C2C .align 2, 0 -_08070B6C: .4byte gUnknown_03005E94 +_08070B6C: .4byte gCB2_AfterEvolution _08070B70: .4byte sub_80A53F8 _08070B74: adds r0, r6, 0 @@ -7703,7 +7703,7 @@ _08070B7C: ldr r1, _08070BBC @ =gStringVar1 bl GetMonNickname ldr r0, _08070BC0 @ =gStringVar2 - ldr r5, _08070BC4 @ =word_2024E82 + ldr r5, _08070BC4 @ =gMoveToLearn ldrh r2, [r5] movs r1, 0xD muls r1, r2 @@ -7729,7 +7729,7 @@ _08070B7C: .align 2, 0 _08070BBC: .4byte gStringVar1 _08070BC0: .4byte gStringVar2 -_08070BC4: .4byte word_2024E82 +_08070BC4: .4byte gMoveToLearn _08070BC8: .4byte gMoveNames _08070BCC: .4byte gStringVar4 _08070BD0: .4byte gOtherText_WantsToLearn @@ -7796,7 +7796,7 @@ sub_8070C54: @ 8070C54 ldr r7, _08070C78 @ =0x0201c000 ldr r0, [r7] movs r1, 0 - bl sub_803B7C8 + bl MonTryLearningNewMove lsls r0, 16 lsrs r4, r0, 16 ldr r0, _08070C7C @ =0x0000fffe @@ -7826,7 +7826,7 @@ _08070C8C: lsrs r2, r0, 16 cmp r2, 0 beq _08070CC0 - ldr r1, _08070CB8 @ =gUnknown_03005E94 + ldr r1, _08070CB8 @ =gCB2_AfterEvolution ldr r0, _08070CBC @ =sub_80A53F8 str r0, [r1] ldr r0, [r7] @@ -7838,7 +7838,7 @@ _08070C8C: bl DestroyTask b _08070D68 .align 2, 0 -_08070CB8: .4byte gUnknown_03005E94 +_08070CB8: .4byte gCB2_AfterEvolution _08070CBC: .4byte sub_80A53F8 _08070CC0: adds r0, r6, 0 @@ -7849,7 +7849,7 @@ _08070CC8: ldr r1, _08070D08 @ =gStringVar1 bl GetMonNickname ldr r0, _08070D0C @ =gStringVar2 - ldr r5, _08070D10 @ =word_2024E82 + ldr r5, _08070D10 @ =gMoveToLearn ldrh r2, [r5] movs r1, 0xD muls r1, r2 @@ -7875,7 +7875,7 @@ _08070CC8: .align 2, 0 _08070D08: .4byte gStringVar1 _08070D0C: .4byte gStringVar2 -_08070D10: .4byte word_2024E82 +_08070D10: .4byte gMoveToLearn _08070D14: .4byte gMoveNames _08070D18: .4byte gStringVar4 _08070D1C: .4byte gOtherText_WantsToLearn @@ -7971,7 +7971,7 @@ DoEvolutionStoneItemEffect: @ 8070DBC adds r1, r6, 0 adds r2, r5, 0 bl sub_806E8D0 - ldr r1, _08070E20 @ =gUnknown_03005E94 + ldr r1, _08070E20 @ =gCB2_AfterEvolution ldr r0, _08070E24 @ =sub_80A53F8 str r0, [r1] ldr r0, _08070E28 @ =0x0201c000 @@ -7995,7 +7995,7 @@ DoEvolutionStoneItemEffect: @ 8070DBC .align 2, 0 _08070E18: .4byte gTasks _08070E1C: .4byte TaskDummy -_08070E20: .4byte gUnknown_03005E94 +_08070E20: .4byte gCB2_AfterEvolution _08070E24: .4byte sub_80A53F8 _08070E28: .4byte 0x0201c000 _08070E2C: .4byte gUnknown_0202E8F4 diff --git a/asm/trade.s b/asm/trade.s index 223f62474..b07a3b632 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -10512,7 +10512,7 @@ _0804D4CC: ldrb r0, [r0] movs r1, 0 bl sub_804BA94 - ldr r1, _0804D514 @ =gUnknown_03005E94 + ldr r1, _0804D514 @ =gCB2_AfterEvolution ldr r0, _0804D518 @ =sub_804BBCC str r0, [r1] ldr r7, _0804D51C @ =gUnknown_020297D8 @@ -10541,7 +10541,7 @@ _0804D4CC: b _0804D538 .align 2, 0 _0804D510: .4byte gSpecialVar_0x8005 -_0804D514: .4byte gUnknown_03005E94 +_0804D514: .4byte gCB2_AfterEvolution _0804D518: .4byte sub_804BBCC _0804D51C: .4byte gUnknown_020297D8 _0804D520: .4byte gPlayerParty @@ -10623,7 +10623,7 @@ _0804D5A8: .align 2, 0 _0804D5B4: .4byte gSoftResetDisabled _0804D5B8: - ldr r0, _0804D5F4 @ =gUnknown_03005E94 + ldr r0, _0804D5F4 @ =gCB2_AfterEvolution ldr r1, _0804D5F8 @ =sub_804DC88 mov r8, r1 str r1, [r0] @@ -10652,7 +10652,7 @@ _0804D5B8: bl TradeEvolutionScene b _0804D60E .align 2, 0 -_0804D5F4: .4byte gUnknown_03005E94 +_0804D5F4: .4byte gCB2_AfterEvolution _0804D5F8: .4byte sub_804DC88 _0804D5FC: .4byte gUnknown_020297D8 _0804D600: .4byte gPlayerParty |