.include "constants/gba_constants.inc" .include "constants/species_constants.inc" .include "asm/macros.inc" .syntax unified .text thumb_func_start sub_8090750 sub_8090750: @ 8090750 push {r4-r7,lr} sub sp, 0x8 lsls r0, 24 lsrs r7, r0, 24 ldr r1, _08090778 @ =gTasks lsls r0, r7, 2 adds r0, r7 lsls r0, 3 adds r0, r1 ldrh r6, [r0, 0xA] movs r2, 0x8 ldrsh r0, [r0, r2] adds r4, r1, 0 cmp r0, 0x6 bhi _0809079C lsls r0, 2 ldr r1, _0809077C @ =_08090780 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _08090778: .4byte gTasks _0809077C: .4byte _08090780 .align 2, 0 _08090780: .4byte _0809079C .4byte _080907E0 .4byte _0809085C .4byte _080908A0 .4byte _08090960 .4byte _080909B8 .4byte _080909F4 _0809079C: ldr r0, _080907D0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080907AA b _08090A26 _080907AA: ldr r1, _080907D4 @ =gUnknown_03005CEC ldr r0, _080907D8 @ =gMain ldr r0, [r0, 0xC] str r0, [r1] movs r0, 0 bl SetVBlankCallback movs r0, 0x80 lsls r0, 1 bl sub_8091060 ldr r1, _080907DC @ =gTasks lsls r0, r7, 2 adds r0, r7 lsls r0, 3 adds r0, r1 movs r1, 0x1 strh r1, [r0, 0x8] b _08090A26 .align 2, 0 _080907D0: .4byte gPaletteFade _080907D4: .4byte gUnknown_03005CEC _080907D8: .4byte gMain _080907DC: .4byte gTasks _080907E0: ldr r0, _08090840 @ =gPokedexMenu_Gfx ldr r1, _08090844 @ =0x06004000 bl LZ77UnCompVram ldr r0, _08090848 @ =gUnknown_08E96BD4 ldr r4, _0809084C @ =0x06007800 adds r1, r4, 0 bl LZ77UnCompVram movs r2, 0 lsls r5, r7, 2 mov r12, r5 movs r0, 0x80 lsls r0, 6 adds r6, r0, 0 ldr r3, _08090850 @ =0x0000027f _08090800: lsls r0, r2, 1 adds r0, r4 ldrh r5, [r0] adds r1, r6, r5 strh r1, [r0] adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 cmp r2, r3 bls _08090800 ldr r0, _08090854 @ =gTasks mov r1, r12 adds r4, r1, r7 lsls r4, 3 adds r4, r0 ldrh r0, [r4, 0xA] movs r2, 0xFF lsls r2, 2 movs r1, 0x2 bl sub_8091738 bl ResetPaletteFade ldr r0, _08090858 @ =gPokedexMenu_Pal + 0x2 movs r1, 0x21 movs r2, 0x9E bl LoadPalette ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] b _08090A26 .align 2, 0 _08090840: .4byte gPokedexMenu_Gfx _08090844: .4byte 0x06004000 _08090848: .4byte gUnknown_08E96BD4 _0809084C: .4byte 0x06007800 _08090850: .4byte 0x0000027f _08090854: .4byte gTasks _08090858: .4byte gPokedexMenu_Pal + 0x2 _0809085C: ldr r4, _0809088C @ =gWindowConfig_81E7064 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 bl InitMenuWindow ldr r2, _08090890 @ =0x0600c000 add r1, sp, 0x4 movs r0, 0 strh r0, [r1] ldr r0, _08090894 @ =0x040000d4 str r1, [r0] str r2, [r0, 0x4] ldr r1, _08090898 @ =0x81000100 str r1, [r0, 0x8] ldr r0, [r0, 0x8] ldr r1, _0809089C @ =gTasks lsls r0, r7, 2 adds r0, r7 lsls r0, 3 adds r0, r1 b _080909E0 .align 2, 0 _0809088C: .4byte gWindowConfig_81E7064 _08090890: .4byte 0x0600c000 _08090894: .4byte 0x040000d4 _08090898: .4byte 0x81000100 _0809089C: .4byte gTasks _080908A0: ldr r0, _080908C8 @ =gDexText_RegisterComplete movs r1, 0x2 movs r2, 0 movs r3, 0xD0 bl sub_8072BD8 bl IsNationalPokedexEnabled cmp r0, 0 bne _080908CC adds r0, r6, 0 bl NationalToHoennOrder lsls r0, 16 lsrs r0, 16 movs r1, 0xD movs r2, 0x3 bl sub_8091154 b _080908D6 .align 2, 0 _080908C8: .4byte gDexText_RegisterComplete _080908CC: adds r0, r6, 0 movs r1, 0xD movs r2, 0x3 bl sub_8091154 _080908D6: adds r0, r6, 0 movs r1, 0x10 movs r2, 0x3 bl sub_80911C8 ldr r0, _0809094C @ =gDexText_UnknownPoke movs r1, 0xB movs r2, 0x5 bl MenuPrint ldr r0, _08090950 @ =gDexText_UnknownHeight movs r1, 0x10 movs r2, 0x7 bl MenuPrint ldr r0, _08090954 @ =gDexText_UnknownWeight movs r1, 0x10 movs r2, 0x9 bl MenuPrint lsls r4, r6, 3 adds r4, r6 lsls r4, 2 ldr r6, _08090958 @ =gPokedexEntries adds r5, r4, r6 adds r0, r5, 0 movs r1, 0xB movs r2, 0x5 bl sub_8091304 ldrh r0, [r5, 0xC] movs r1, 0x10 movs r2, 0x7 bl sub_8091458 ldrh r0, [r5, 0xE] movs r1, 0x10 movs r2, 0x9 bl sub_8091564 adds r6, 0x10 adds r4, r6 ldr r0, [r4] movs r1, 0x2 movs r2, 0xD bl MenuPrint movs r1, 0xFF lsls r1, 2 movs r0, 0xE bl sub_80917CC ldr r1, _0809095C @ =gTasks lsls r0, r7, 2 adds r0, r7 lsls r0, 3 adds r0, r1 b _080909E0 .align 2, 0 _0809094C: .4byte gDexText_UnknownPoke _08090950: .4byte gDexText_UnknownHeight _08090954: .4byte gDexText_UnknownWeight _08090958: .4byte gPokedexEntries _0809095C: .4byte gTasks _08090960: adds r0, r6, 0 movs r1, 0x30 movs r2, 0x38 movs r3, 0 bl sub_80918EC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, _080909AC @ =gSprites lsls r1, r4, 4 adds r1, r4 lsls r1, 2 adds r1, r0 ldrb r2, [r1, 0x5] movs r0, 0xD negs r0, r0 ands r0, r2 strb r0, [r1, 0x5] movs r0, 0x1 negs r0, r0 movs r1, 0 str r1, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r0, _080909B0 @ =gUnknown_03005CEC ldr r0, [r0] bl SetVBlankCallback ldr r1, _080909B4 @ =gTasks lsls r0, r7, 2 adds r0, r7 lsls r0, 3 adds r0, r1 strh r4, [r0, 0xE] b _080909E0 .align 2, 0 _080909AC: .4byte gSprites _080909B0: .4byte gUnknown_03005CEC _080909B4: .4byte gTasks _080909B8: ldr r0, _080909E8 @ =REG_BLDCNT movs r1, 0 strh r1, [r0] adds r0, 0x2 strh r1, [r0] adds r0, 0x2 strh r1, [r0] ldr r1, _080909EC @ =REG_BG3CNT ldr r2, _080909F0 @ =0x00000f07 adds r0, r2, 0 strh r0, [r1] subs r1, 0xE movs r5, 0xE2 lsls r5, 5 adds r0, r5, 0 strh r0, [r1] lsls r0, r7, 2 adds r0, r7 lsls r0, 3 adds r0, r4 _080909E0: ldrh r1, [r0, 0x8] adds r1, 0x1 strh r1, [r0, 0x8] b _08090A26 .align 2, 0 _080909E8: .4byte REG_BLDCNT _080909EC: .4byte REG_BG3CNT _080909F0: .4byte 0x00000f07 _080909F4: ldr r0, _08090A30 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0 bne _08090A26 adds r0, r6, 0 bl NationalPokedexNumToSpecies lsls r0, 16 lsrs r0, 16 movs r1, 0 bl PlayCry1 ldr r1, _08090A34 @ =gTasks lsls r0, r7, 2 adds r0, r7 lsls r0, 3 adds r0, r1 strh r5, [r0, 0xC] strh r5, [r0, 0x10] ldr r1, _08090A38 @ =sub_8090A3C str r1, [r0] _08090A26: add sp, 0x8 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _08090A30: .4byte gPaletteFade _08090A34: .4byte gTasks _08090A38: .4byte sub_8090A3C thumb_func_end sub_8090750 thumb_func_start sub_8090A3C sub_8090A3C: @ 8090A3C push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x4 lsls r0, 24 lsrs r6, r0, 24 ldr r0, _08090A8C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 lsls r0, 16 lsrs r2, r0, 16 cmp r2, 0 beq _08090AA4 ldr r0, _08090A90 @ =0x0000fffc movs r1, 0 str r1, [sp] movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade ldr r3, _08090A94 @ =gSprites ldr r0, _08090A98 @ =gTasks lsls r1, r6, 2 adds r1, r6 lsls r1, 3 adds r1, r0 movs r0, 0xE ldrsh r2, [r1, r0] lsls r0, r2, 4 adds r0, r2 lsls r0, 2 adds r3, 0x1C adds r0, r3 ldr r2, _08090A9C @ =sub_8090C28 str r2, [r0] ldr r0, _08090AA0 @ =sub_8090B8C str r0, [r1] b _08090B7A .align 2, 0 _08090A8C: .4byte gMain _08090A90: .4byte 0x0000fffc _08090A94: .4byte gSprites _08090A98: .4byte gTasks _08090A9C: .4byte sub_8090C28 _08090AA0: .4byte sub_8090B8C _08090AA4: movs r0, 0x1 mov r8, r0 ands r0, r1 lsls r7, r6, 2 cmp r0, 0 beq _08090B44 ldr r0, _08090B00 @ =gTasks adds r1, r7, r6 lsls r1, 3 adds r5, r1, r0 movs r1, 0x10 ldrsh r0, [r5, r1] cmp r0, 0 bne _08090B0C ldrh r4, [r5, 0xA] movs r0, 0x2 movs r1, 0xD movs r2, 0x1B movs r3, 0x13 bl MenuZeroFillWindowRect ldr r1, _08090B04 @ =gPokedexEntries lsls r0, r4, 3 adds r0, r4 lsls r0, 2 adds r1, 0x14 adds r0, r1 ldr r0, [r0] movs r1, 0x2 movs r2, 0xD bl MenuPrint ldr r1, _08090B08 @ =0x06007aca ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] adds r1, 0x40 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] mov r0, r8 strh r0, [r5, 0x10] movs r0, 0x15 bl PlaySE b _08090B44 .align 2, 0 _08090B00: .4byte gTasks _08090B04: .4byte gPokedexEntries _08090B08: .4byte 0x06007aca _08090B0C: ldr r0, _08090B34 @ =0x0000fffc str r2, [sp] movs r1, 0 movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade ldr r2, _08090B38 @ =gSprites movs r0, 0xE ldrsh r1, [r5, r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r2, 0x1C adds r0, r2 ldr r1, _08090B3C @ =sub_8090C28 str r1, [r0] ldr r0, _08090B40 @ =sub_8090B8C str r0, [r5] b _08090B7A .align 2, 0 _08090B34: .4byte 0x0000fffc _08090B38: .4byte gSprites _08090B3C: .4byte sub_8090C28 _08090B40: .4byte sub_8090B8C _08090B44: ldr r1, _08090B68 @ =gTasks adds r0, r7, r6 lsls r0, 3 adds r0, r1 ldrh r1, [r0, 0xC] adds r1, 0x1 strh r1, [r0, 0xC] movs r0, 0x10 ands r1, r0 cmp r1, 0 beq _08090B70 ldr r0, _08090B6C @ =gPokedexMenu_Pal + 0x2 movs r1, 0x51 movs r2, 0xE bl LoadPalette b _08090B7A .align 2, 0 _08090B68: .4byte gTasks _08090B6C: .4byte gPokedexMenu_Pal + 0x2 _08090B70: ldr r0, _08090B88 @ =gPokedexMenu2_Pal + 0x2 movs r1, 0x51 movs r2, 0xE bl LoadPalette _08090B7A: add sp, 0x4 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _08090B88: .4byte gPokedexMenu2_Pal + 0x2 thumb_func_end sub_8090A3C thumb_func_start sub_8090B8C sub_8090B8C: @ 8090B8C push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 ldr r0, _08090C14 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08090C0C movs r1, 0x80 lsls r1, 19 movs r2, 0xCA lsls r2, 5 adds r0, r2, 0 strh r0, [r1] ldr r0, _08090C18 @ =gUnknown_08D00524 ldr r1, _08090C1C @ =0x0600c000 movs r2, 0x80 lsls r2, 4 bl CpuSet bl sub_800D74C ldr r0, _08090C20 @ =gTasks lsls r4, r6, 2 adds r4, r6 lsls r4, 3 adds r4, r0 ldrh r0, [r4, 0xA] bl NationalPokedexNumToSpecies lsls r0, 16 lsrs r0, 16 ldrh r1, [r4, 0x22] lsls r1, 16 ldrh r2, [r4, 0x20] orrs r1, r2 ldrh r2, [r4, 0x26] lsls r2, 16 ldrh r3, [r4, 0x24] orrs r2, r3 ldr r5, _08090C24 @ =gSprites movs r3, 0xE ldrsh r4, [r4, r3] lsls r3, r4, 4 adds r3, r4 lsls r3, 2 adds r3, r5 ldrb r4, [r3, 0x5] lsrs r4, 4 bl species_and_otid_get_pal lsls r4, 4 movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 orrs r4, r1 adds r1, r4, 0 movs r2, 0x20 bl LoadCompressedPalette adds r0, r6, 0 bl DestroyTask _08090C0C: pop {r4-r6} pop {r0} bx r0 .align 2, 0 _08090C14: .4byte gPaletteFade _08090C18: .4byte gUnknown_08D00524 _08090C1C: .4byte 0x0600c000 _08090C20: .4byte gTasks _08090C24: .4byte gSprites thumb_func_end sub_8090B8C thumb_func_start sub_8090C28 sub_8090C28: @ 8090C28 push {lr} adds r1, r0, 0 ldrh r2, [r1, 0x20] movs r3, 0x20 ldrsh r0, [r1, r3] cmp r0, 0x77 bgt _08090C3A adds r0, r2, 0x2 strh r0, [r1, 0x20] _08090C3A: ldrh r2, [r1, 0x20] movs r3, 0x20 ldrsh r0, [r1, r3] cmp r0, 0x78 ble _08090C48 subs r0, r2, 0x2 strh r0, [r1, 0x20] _08090C48: ldrh r2, [r1, 0x22] movs r3, 0x22 ldrsh r0, [r1, r3] cmp r0, 0x4F bgt _08090C56 adds r0, r2, 0x1 strh r0, [r1, 0x22] _08090C56: ldrh r2, [r1, 0x22] movs r3, 0x22 ldrsh r0, [r1, r3] cmp r0, 0x50 ble _08090C64 subs r0, r2, 0x1 strh r0, [r1, 0x22] _08090C64: pop {r0} bx r0 thumb_func_end sub_8090C28 thumb_func_start sub_8090C68 sub_8090C68: @ 8090C68 push {r4,r5,lr} ldr r4, _08090CD0 @ =gUnknown_0202FFBC ldr r0, [r4] ldrb r1, [r0, 0x2] movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _08090D2A ldr r5, _08090CD4 @ =gPokedexView ldr r0, [r5] ldr r1, _08090CD8 @ =0x0000064e adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _08090CE4 movs r0, 0x2 movs r1, 0xD movs r2, 0x1B movs r3, 0x13 bl MenuZeroFillWindowRect ldr r2, _08090CDC @ =gPokedexEntries ldr r0, [r4] ldrh r1, [r0] lsls r0, r1, 3 adds r0, r1 lsls r0, 2 adds r2, 0x14 adds r0, r2 ldr r0, [r0] movs r1, 0x2 movs r2, 0xD bl MenuPrint ldr r0, [r5] ldr r1, _08090CD8 @ =0x0000064e adds r0, r1 movs r1, 0x1 strb r1, [r0] ldr r1, _08090CE0 @ =0x06007aca ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] adds r1, 0x40 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] movs r0, 0x15 bl PlaySE b _08090D2A .align 2, 0 _08090CD0: .4byte gUnknown_0202FFBC _08090CD4: .4byte gPokedexView _08090CD8: .4byte 0x0000064e _08090CDC: .4byte gPokedexEntries _08090CE0: .4byte 0x06007aca _08090CE4: movs r0, 0x2 movs r1, 0xD movs r2, 0x1B movs r3, 0x13 bl MenuZeroFillWindowRect ldr r2, _08090D30 @ =gPokedexEntries ldr r0, [r4] ldrh r1, [r0] lsls r0, r1, 3 adds r0, r1 lsls r0, 2 adds r2, 0x10 adds r0, r2 ldr r0, [r0] movs r1, 0x2 movs r2, 0xD bl MenuPrint ldr r0, [r5] ldr r1, _08090D34 @ =0x0000064e adds r0, r1 movs r1, 0 strb r1, [r0] ldr r1, _08090D38 @ =0x06007aca ldrh r0, [r1] subs r0, 0x1 strh r0, [r1] adds r1, 0x40 ldrh r0, [r1] subs r0, 0x1 strh r0, [r1] movs r0, 0x15 bl PlaySE _08090D2A: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _08090D30: .4byte gPokedexEntries _08090D34: .4byte 0x0000064e _08090D38: .4byte 0x06007aca thumb_func_end sub_8090C68 thumb_func_start GetPokemonCategory GetPokemonCategory: @ 8090D3C adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 ldr r1, _08090D50 @ =gPokedexEntries adds r0, r1 bx lr .align 2, 0 _08090D50: .4byte gPokedexEntries thumb_func_end GetPokemonCategory thumb_func_start GetPokedexHeightWeight GetPokedexHeightWeight: @ 8090D54 push {lr} lsls r0, 16 lsrs r2, r0, 16 lsls r1, 24 lsrs r1, 24 cmp r1, 0 beq _08090D6A cmp r1, 0x1 beq _08090D7C movs r0, 0x1 b _08090D88 _08090D6A: ldr r0, _08090D78 @ =gPokedexEntries lsls r1, r2, 3 adds r1, r2 lsls r1, 2 adds r1, r0 ldrh r0, [r1, 0xC] b _08090D88 .align 2, 0 _08090D78: .4byte gPokedexEntries _08090D7C: ldr r0, _08090D8C @ =gPokedexEntries lsls r1, r2, 3 adds r1, r2 lsls r1, 2 adds r1, r0 ldrh r0, [r1, 0xE] _08090D88: pop {r1} bx r1 .align 2, 0 _08090D8C: .4byte gPokedexEntries thumb_func_end GetPokedexHeightWeight thumb_func_start sub_8090D90 sub_8090D90: @ 8090D90 push {r4-r7,lr} lsls r0, 16 lsls r1, 24 lsrs r2, r1, 24 adds r3, r2, 0 ldr r1, _08090DC4 @ =0xffff0000 adds r0, r1 lsrs r1, r0, 16 lsrs r0, 19 lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x7 ands r1, r0 movs r0, 0x80 lsls r0, 17 lsls r0, r1 lsrs r5, r0, 24 movs r6, 0 cmp r2, 0x1 beq _08090E24 cmp r2, 0x1 bgt _08090DC8 cmp r2, 0 beq _08090DD4 b _08090F0A .align 2, 0 _08090DC4: .4byte 0xffff0000 _08090DC8: cmp r3, 0x2 beq _08090EBC cmp r3, 0x3 bne _08090DD2 b _08090EFC _08090DD2: b _08090F0A _08090DD4: ldr r1, _08090E14 @ =gSaveBlock2 adds r0, r1, 0 adds r0, 0x5C adds r0, r4, r0 ldrb r2, [r0] ands r2, r5 adds r7, r1, 0 cmp r2, 0 bne _08090DE8 b _08090F0A _08090DE8: ldr r0, _08090E18 @ =gSaveBlock1 ldr r3, _08090E1C @ =0x00000938 adds r1, r0, r3 adds r1, r4, r1 ldrb r1, [r1] ands r1, r5 adds r6, r0, 0 cmp r2, r1 bne _08090E08 ldr r1, _08090E20 @ =0x00003a8c adds r0, r6, r1 adds r0, r4, r0 ldrb r0, [r0] ands r0, r5 cmp r2, r0 beq _08090E62 _08090E08: adds r1, r7, 0 adds r1, 0x5C adds r1, r4, r1 mvns r3, r5 b _08090E8E .align 2, 0 _08090E14: .4byte gSaveBlock2 _08090E18: .4byte gSaveBlock1 _08090E1C: .4byte 0x00000938 _08090E20: .4byte 0x00003a8c _08090E24: ldr r1, _08090E68 @ =gSaveBlock2 adds r0, r1, 0 adds r0, 0x28 adds r0, r4, r0 ldrb r2, [r0] ands r2, r5 adds r7, r1, 0 cmp r2, 0 beq _08090F0A adds r0, r7, 0 adds r0, 0x5C adds r0, r4, r0 ldrb r0, [r0] ands r0, r5 ldr r6, _08090E6C @ =gSaveBlock1 cmp r2, r0 bne _08090E78 ldr r3, _08090E70 @ =0x00000938 adds r0, r6, r3 adds r0, r4, r0 ldrb r0, [r0] ands r0, r5 cmp r2, r0 bne _08090E78 ldr r1, _08090E74 @ =0x00003a8c adds r0, r6, r1 adds r0, r4, r0 ldrb r0, [r0] ands r0, r5 cmp r2, r0 bne _08090E78 _08090E62: movs r6, 0x1 b _08090F0A .align 2, 0 _08090E68: .4byte gSaveBlock2 _08090E6C: .4byte gSaveBlock1 _08090E70: .4byte 0x00000938 _08090E74: .4byte 0x00003a8c _08090E78: adds r1, r7, 0 adds r1, 0x28 adds r1, r4, r1 mvns r3, r5 ldrb r2, [r1] adds r0, r3, 0 ands r0, r2 strb r0, [r1] adds r1, r7, 0 adds r1, 0x5C adds r1, r4, r1 _08090E8E: ldrb r2, [r1] adds r0, r3, 0 ands r0, r2 strb r0, [r1] ldr r0, _08090EB4 @ =0x00000938 adds r1, r6, r0 adds r1, r4, r1 ldrb r2, [r1] adds r0, r3, 0 ands r0, r2 strb r0, [r1] ldr r1, _08090EB8 @ =0x00003a8c adds r0, r6, r1 adds r0, r4, r0 ldrb r1, [r0] ands r3, r1 strb r3, [r0] movs r6, 0 b _08090F0A .align 2, 0 _08090EB4: .4byte 0x00000938 _08090EB8: .4byte 0x00003a8c _08090EBC: ldr r1, _08090EEC @ =gSaveBlock2 adds r1, 0x5C adds r1, r4, r1 ldrb r2, [r1] adds r0, r5, 0 orrs r0, r2 strb r0, [r1] ldr r1, _08090EF0 @ =gSaveBlock1 ldr r3, _08090EF4 @ =0x00000938 adds r2, r1, r3 adds r2, r4, r2 ldrb r3, [r2] adds r0, r5, 0 orrs r0, r3 strb r0, [r2] ldr r0, _08090EF8 @ =0x00003a8c adds r1, r0 adds r1, r4, r1 ldrb r2, [r1] adds r0, r5, 0 orrs r0, r2 strb r0, [r1] b _08090F0A .align 2, 0 _08090EEC: .4byte gSaveBlock2 _08090EF0: .4byte gSaveBlock1 _08090EF4: .4byte 0x00000938 _08090EF8: .4byte 0x00003a8c _08090EFC: ldr r0, _08090F14 @ =gSaveBlock2 adds r0, 0x28 adds r0, r4, r0 ldrb r2, [r0] adds r1, r5, 0 orrs r1, r2 strb r1, [r0] _08090F0A: adds r0, r6, 0 pop {r4-r7} pop {r1} bx r1 .align 2, 0 _08090F14: .4byte gSaveBlock2 thumb_func_end sub_8090D90 thumb_func_start GetNationalPokedexCount GetNationalPokedexCount: @ 8090F18 push {r4-r7,lr} lsls r0, 24 lsrs r6, r0, 24 movs r5, 0 movs r0, 0 ldr r7, _08090F30 @ =0x00000181 _08090F24: cmp r6, 0 beq _08090F34 cmp r6, 0x1 beq _08090F3E adds r4, r0, 0x1 b _08090F56 .align 2, 0 _08090F30: .4byte 0x00000181 _08090F34: adds r4, r0, 0x1 lsls r0, r4, 16 lsrs r0, 16 movs r1, 0 b _08090F46 _08090F3E: adds r4, r0, 0x1 lsls r0, r4, 16 lsrs r0, 16 movs r1, 0x1 _08090F46: bl sub_8090D90 lsls r0, 24 cmp r0, 0 beq _08090F56 adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 _08090F56: lsls r0, r4, 16 lsrs r0, 16 cmp r0, r7 bls _08090F24 adds r0, r5, 0 pop {r4-r7} pop {r1} bx r1 thumb_func_end GetNationalPokedexCount thumb_func_start GetHoennPokedexCount GetHoennPokedexCount: @ 8090F68 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 movs r5, 0 movs r0, 0 _08090F72: cmp r6, 0 beq _08090F7E cmp r6, 0x1 beq _08090F90 adds r4, r0, 0x1 b _08090FB0 _08090F7E: adds r4, r0, 0x1 lsls r0, r4, 16 lsrs r0, 16 bl HoennToNationalOrder lsls r0, 16 lsrs r0, 16 movs r1, 0 b _08090FA0 _08090F90: adds r4, r0, 0x1 lsls r0, r4, 16 lsrs r0, 16 bl HoennToNationalOrder lsls r0, 16 lsrs r0, 16 movs r1, 0x1 _08090FA0: bl sub_8090D90 lsls r0, 24 cmp r0, 0 beq _08090FB0 adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 _08090FB0: lsls r0, r4, 16 lsrs r0, 16 cmp r0, 0xC9 bls _08090F72 adds r0, r5, 0 pop {r4-r6} pop {r1} bx r1 thumb_func_end GetHoennPokedexCount thumb_func_start sub_8090FC0 sub_8090FC0: @ 8090FC0 push {r4,lr} movs r0, 0 _08090FC4: adds r0, 0x1 lsls r0, 16 lsrs r4, r0, 16 adds r0, r4, 0 bl HoennToNationalOrder lsls r0, 16 lsrs r0, 16 movs r1, 0x1 bl sub_8090D90 lsls r0, 24 cmp r0, 0 bne _08090FE4 movs r0, 0 b _08090FEC _08090FE4: adds r0, r4, 0 cmp r0, 0xC7 bls _08090FC4 movs r0, 0x1 _08090FEC: pop {r4} pop {r1} bx r1 thumb_func_end sub_8090FC0 thumb_func_start sub_8090FF4 sub_8090FF4: @ 8090FF4 push {r4,r5,lr} movs r0, 0 _08090FF8: adds r0, 0x1 lsls r0, 16 lsrs r4, r0, 16 adds r0, r4, 0 movs r1, 0x1 bl sub_8090D90 lsls r0, 24 cmp r0, 0 beq _08091046 adds r0, r4, 0 cmp r0, 0x95 bls _08090FF8 movs r0, 0x98 _08091014: adds r0, 0x1 lsls r0, 16 lsrs r4, r0, 16 adds r0, r4, 0 movs r1, 0x1 bl sub_8090D90 lsls r0, 24 cmp r0, 0 beq _08091046 adds r0, r4, 0 cmp r0, 0xF9 bls _08091014 movs r0, 0xFC ldr r5, _0809104C @ =0x0000017f _08091032: adds r0, 0x1 lsls r0, 16 lsrs r4, r0, 16 adds r0, r4, 0 movs r1, 0x1 bl sub_8090D90 lsls r0, 24 cmp r0, 0 bne _08091050 _08091046: movs r0, 0 b _08091058 .align 2, 0 _0809104C: .4byte 0x0000017f _08091050: adds r0, r4, 0 cmp r0, r5 bls _08091032 movs r0, 0x1 _08091058: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8090FF4 thumb_func_start sub_8091060 sub_8091060: @ 8091060 push {r4,r5,lr} lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 movs r0, 0x80 lsls r0, 1 ands r0, r4 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0 bne _0809108E movs r2, 0x80 lsls r2, 19 ldrh r1, [r2] ldr r0, _0809112C @ =0x0000feff ands r0, r1 strh r0, [r2] ldr r0, _08091130 @ =REG_BG0CNT strh r3, [r0] adds r0, 0x8 strh r3, [r0] adds r0, 0x2 strh r3, [r0] _0809108E: movs r0, 0x80 lsls r0, 2 ands r0, r4 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0 bne _080910B4 movs r2, 0x80 lsls r2, 19 ldrh r1, [r2] ldr r0, _08091134 @ =0x0000fdff ands r0, r1 strh r0, [r2] ldr r0, _08091138 @ =REG_BG1CNT strh r3, [r0] adds r0, 0xA strh r3, [r0] adds r0, 0x2 strh r3, [r0] _080910B4: movs r0, 0x80 lsls r0, 3 ands r0, r4 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0 bne _080910DA movs r2, 0x80 lsls r2, 19 ldrh r1, [r2] ldr r0, _0809113C @ =0x0000fbff ands r0, r1 strh r0, [r2] ldr r0, _08091140 @ =REG_BG2CNT strh r3, [r0] adds r0, 0xC strh r3, [r0] adds r0, 0x2 strh r3, [r0] _080910DA: movs r0, 0x80 lsls r0, 4 ands r0, r4 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0 bne _08091100 movs r2, 0x80 lsls r2, 19 ldrh r1, [r2] ldr r0, _08091144 @ =0x0000f7ff ands r0, r1 strh r0, [r2] ldr r0, _08091148 @ =REG_BG3CNT strh r3, [r0] adds r0, 0xE strh r3, [r0] adds r0, 0x2 strh r3, [r0] _08091100: movs r0, 0x80 lsls r0, 5 ands r5, r0 cmp r5, 0 bne _08091124 movs r2, 0x80 lsls r2, 19 ldrh r1, [r2] ldr r0, _0809114C @ =0x0000efff ands r0, r1 strh r0, [r2] bl ResetSpriteData bl FreeAllSpritePalettes ldr r1, _08091150 @ =gReservedSpritePaletteCount movs r0, 0x8 strb r0, [r1] _08091124: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _0809112C: .4byte 0x0000feff _08091130: .4byte REG_BG0CNT _08091134: .4byte 0x0000fdff _08091138: .4byte REG_BG1CNT _0809113C: .4byte 0x0000fbff _08091140: .4byte REG_BG2CNT _08091144: .4byte 0x0000f7ff _08091148: .4byte REG_BG3CNT _0809114C: .4byte 0x0000efff _08091150: .4byte gReservedSpritePaletteCount thumb_func_end sub_8091060 thumb_func_start sub_8091154 sub_8091154: @ 8091154 push {r4-r6,lr} mov r6, r8 push {r6} sub sp, 0x4 adds r4, r0, 0 adds r6, r1, 0 mov r8, r2 lsls r4, 16 lsrs r4, 16 lsls r6, 24 lsrs r6, 24 mov r0, r8 lsls r0, 24 lsrs r0, 24 mov r8, r0 mov r5, sp adds r0, r4, 0 movs r1, 0x64 bl __udivsi3 adds r0, 0xA1 strb r0, [r5] mov r5, sp adds r0, r4, 0 movs r1, 0x64 bl __umodsi3 adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 adds r0, r4, 0 movs r1, 0xA bl __udivsi3 adds r0, 0xA1 strb r0, [r5, 0x1] mov r5, sp adds r0, r4, 0 movs r1, 0xA bl __umodsi3 adds r0, 0xA1 strb r0, [r5, 0x2] mov r1, sp movs r0, 0xFF strb r0, [r1, 0x3] mov r0, sp adds r1, r6, 0 mov r2, r8 bl MenuPrint add sp, 0x4 pop {r3} mov r8, r3 pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_8091154 thumb_func_start sub_80911C8 sub_80911C8: @ 80911C8 push {r4-r6,lr} sub sp, 0xC lsls r0, 16 lsrs r3, r0, 16 lsls r1, 24 lsrs r6, r1, 24 lsls r2, 24 lsrs r5, r2, 24 movs r4, 0 movs r2, 0xFF _080911DC: mov r1, sp adds r0, r1, r4 ldrb r1, [r0] orrs r1, r2 strb r1, [r0] adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0xA bls _080911DC adds r0, r3, 0 bl NationalPokedexNumToSpecies adds r3, r0, 0 cmp r3, 0 beq _08091238 movs r4, 0 ldr r2, _08091234 @ =gSpeciesNames movs r0, 0xB adds r1, r3, 0 muls r1, r0 adds r0, r1, r2 ldrb r0, [r0] cmp r0, 0xFF beq _0809124C adds r3, r2, 0 adds r2, r1, 0 _08091212: mov r0, sp adds r1, r0, r4 adds r0, r4, r2 adds r0, r3 ldrb r0, [r0] strb r0, [r1] adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, r2 adds r0, r3 ldrb r0, [r0] cmp r0, 0xFF beq _0809124C cmp r4, 0x9 bls _08091212 b _0809124C .align 2, 0 _08091234: .4byte gSpeciesNames _08091238: movs r4, 0 movs r1, 0xAE _0809123C: mov r2, sp adds r0, r2, r4 strb r1, [r0] adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x9 bls _0809123C _0809124C: mov r0, sp adds r1, r6, 0 adds r2, r5, 0 bl MenuPrint adds r0, r4, 0 add sp, 0xC pop {r4-r6} pop {r1} bx r1 thumb_func_end sub_80911C8 thumb_func_start sub_8091260 sub_8091260: @ 8091260 push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x28 adds r4, r3, 0 lsls r0, 16 lsrs r5, r0, 16 lsls r1, 24 lsrs r1, 24 mov r8, r1 lsls r2, 24 lsrs r7, r2, 24 lsls r4, 24 lsrs r4, 24 ldr r1, _080912CC @ =gUnknown_083B5558 mov r0, sp bl StringCopy adds r6, r0, 0 mov r0, sp strb r4, [r0, 0x2] adds r0, r5, 0 bl NationalPokedexNumToSpecies adds r5, r0, 0 cmp r5, 0 beq _080912D4 movs r4, 0 ldr r2, _080912D0 @ =gSpeciesNames movs r0, 0xB adds r1, r5, 0 muls r1, r0 adds r0, r1, r2 ldrb r0, [r0] cmp r0, 0xFF beq _080912E6 adds r3, r2, 0 adds r2, r1, 0 _080912AC: adds r1, r6, r4 adds r0, r4, r2 adds r0, r3 ldrb r0, [r0] strb r0, [r1] adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, r2 adds r0, r3 ldrb r0, [r0] cmp r0, 0xFF beq _080912E6 cmp r4, 0x9 bls _080912AC b _080912E6 .align 2, 0 _080912CC: .4byte gUnknown_083B5558 _080912D0: .4byte gSpeciesNames _080912D4: movs r4, 0 movs r1, 0xAE _080912D8: adds r0, r6, r4 strb r1, [r0] adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x9 bls _080912D8 _080912E6: adds r1, r6, r4 movs r0, 0xFF strb r0, [r1] mov r0, sp mov r1, r8 adds r2, r7, 0 bl MenuPrint adds r0, r4, 0 add sp, 0x28 pop {r3} mov r8, r3 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_8091260 thumb_func_start sub_8091304 sub_8091304: @ 8091304 push {r4-r7,lr} sub sp, 0x20 adds r3, r0, 0 lsls r1, 24 lsrs r1, 24 mov r12, r1 lsls r2, 24 lsrs r7, r2, 24 movs r4, 0 ldrb r0, [r3] ldr r6, _08091340 @ =gDexText_UnknownPoke cmp r0, 0xFF beq _0809133A _0809131E: mov r0, sp adds r1, r0, r4 adds r0, r3, r4 ldrb r0, [r0] strb r0, [r1] adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 adds r0, r3, r4 ldrb r0, [r0] cmp r0, 0xFF beq _0809133A cmp r4, 0xA bls _0809131E _0809133A: movs r3, 0 ldrb r0, [r6] b _0809134E .align 2, 0 _08091340: .4byte gDexText_UnknownPoke _08091344: adds r0, r3, 0x1 lsls r0, 24 lsrs r3, r0, 24 adds r0, r3, r6 ldrb r0, [r0] _0809134E: cmp r0, 0xAC beq _08091344 cmp r0, 0 beq _08091344 subs r0, r3, 0x1 lsls r0, 24 lsrs r3, r0, 24 adds r0, r3, r6 ldrb r0, [r0] cmp r0, 0xFF beq _08091388 adds r5, r6, 0 _08091366: adds r1, r4, 0 adds r0, r1, 0x1 lsls r0, 24 lsrs r4, r0, 24 mov r0, sp adds r2, r0, r1 adds r1, r3, 0 adds r0, r1, 0x1 lsls r0, 24 lsrs r3, r0, 24 adds r1, r5 ldrb r0, [r1] strb r0, [r2] adds r0, r3, r5 ldrb r0, [r0] cmp r0, 0xFF bne _08091366 _08091388: mov r0, sp adds r1, r0, r4 movs r0, 0xFF strb r0, [r1] mov r0, sp mov r1, r12 adds r2, r7, 0 adds r3, r6, 0 bl sub_8072B80 add sp, 0x20 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8091304 thumb_func_start unref_sub_80913A4 unref_sub_80913A4: @ 80913A4 push {r4-r7,lr} sub sp, 0x8 lsls r0, 16 lsrs r4, r0, 16 lsls r1, 24 lsrs r7, r1, 24 lsls r2, 24 lsrs r6, r2, 24 movs r5, 0 movs r1, 0xFA lsls r1, 2 adds r0, r4, 0 bl __udivsi3 lsls r0, 24 lsrs r0, 24 cmp r0, 0 bne _080913CE mov r0, sp strb r5, [r0] b _080913D6 _080913CE: mov r1, sp adds r0, 0xA1 strb r0, [r1] movs r5, 0x1 _080913D6: movs r1, 0xFA lsls r1, 2 adds r0, r4, 0 bl __umodsi3 lsls r0, 16 lsrs r0, 16 movs r1, 0x64 bl __udivsi3 lsls r0, 24 lsrs r0, 24 cmp r0, 0 bne _080913FC cmp r5, 0 bne _080913FC mov r0, sp strb r5, [r0, 0x1] b _08091402 _080913FC: mov r1, sp adds r0, 0xA1 strb r0, [r1, 0x1] _08091402: mov r5, sp movs r1, 0xFA lsls r1, 2 adds r0, r4, 0 bl __umodsi3 lsls r0, 16 lsrs r0, 16 movs r1, 0x64 bl __umodsi3 adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 adds r0, r4, 0 movs r1, 0xA bl __udivsi3 adds r0, 0xA1 strb r0, [r5, 0x2] mov r1, sp movs r0, 0xAD strb r0, [r1, 0x3] mov r5, sp adds r0, r4, 0 movs r1, 0xA bl __umodsi3 adds r0, 0xA1 strb r0, [r5, 0x4] mov r1, sp movs r0, 0xFF strb r0, [r1, 0x5] mov r0, sp adds r1, r7, 0 adds r2, r6, 0 bl MenuPrint add sp, 0x8 pop {r4-r7} pop {r0} bx r0 thumb_func_end unref_sub_80913A4 thumb_func_start sub_8091458 sub_8091458: @ 8091458 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} sub sp, 0x10 lsls r0, 16 lsrs r0, 16 lsls r1, 24 lsrs r1, 24 mov r9, r1 lsls r2, 24 lsrs r2, 24 mov r8, r2 ldr r1, _080914D4 @ =0x00002710 muls r0, r1 movs r1, 0xFE bl __divsi3 adds r7, r0, 0 movs r1, 0xA bl __umodsi3 cmp r0, 0x4 bls _0809148A adds r7, 0xA _0809148A: adds r0, r7, 0 movs r1, 0x78 bl __udivsi3 adds r6, r0, 0 lsls r0, r6, 4 subs r0, r6 lsls r0, 3 subs r0, r7, r0 movs r1, 0xA bl __udivsi3 adds r7, r0, 0 mov r1, sp movs r0, 0xFC strb r0, [r1] adds r1, 0x1 movs r0, 0x13 strb r0, [r1] adds r0, r6, 0 movs r1, 0xA bl __udivsi3 adds r2, r0, 0 cmp r2, 0 bne _080914D8 mov r1, sp adds r1, 0x2 movs r0, 0x12 strb r0, [r1] movs r5, 0x4 adds r1, 0x1 adds r0, r6, 0 adds r0, 0xA1 strb r0, [r1] b _080914F8 .align 2, 0 _080914D4: .4byte 0x00002710 _080914D8: mov r1, sp adds r1, 0x2 movs r0, 0xC strb r0, [r1] adds r1, 0x1 adds r0, r2, 0 adds r0, 0xA1 strb r0, [r1] movs r5, 0x5 add r4, sp, 0x4 adds r0, r6, 0 movs r1, 0xA bl __umodsi3 adds r0, 0xA1 strb r0, [r4] _080914F8: adds r1, r5, 0 adds r0, r1, 0x1 lsls r0, 24 lsrs r5, r0, 24 adds r2, r5, 0 add r1, sp movs r0, 0xB4 strb r0, [r1] adds r0, r2, 0x1 lsls r0, 24 lsrs r5, r0, 24 adds r6, r5, 0 mov r0, sp adds r4, r0, r2 adds r0, r7, 0 movs r1, 0xA bl __udivsi3 adds r0, 0xA1 strb r0, [r4] adds r0, r6, 0x1 lsls r0, 24 lsrs r5, r0, 24 mov r1, sp adds r4, r1, r6 adds r0, r7, 0 movs r1, 0xA bl __umodsi3 adds r0, 0xA1 strb r0, [r4] adds r0, r5, 0x1 lsls r0, 24 lsrs r0, 24 mov r1, sp adds r2, r1, r5 movs r1, 0xB2 strb r1, [r2] mov r2, sp adds r1, r2, r0 movs r0, 0xFF strb r0, [r1] mov r0, sp mov r1, r9 mov r2, r8 bl MenuPrint add sp, 0x10 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8091458 thumb_func_start sub_8091564 sub_8091564: @ 8091564 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x14 lsls r0, 16 lsrs r0, 16 lsls r1, 24 lsrs r1, 24 mov r10, r1 lsls r2, 24 lsrs r2, 24 str r2, [sp, 0x10] ldr r7, _080915BC @ =0x000186a0 muls r0, r7 ldr r1, _080915C0 @ =0x000011b8 bl __divsi3 adds r6, r0, 0 movs r1, 0xA bl __umodsi3 cmp r0, 0x4 bls _08091598 adds r6, 0xA _08091598: movs r5, 0 mov r4, sp adds r0, r6, 0 adds r1, r7, 0 bl __udivsi3 adds r0, 0xA1 strb r0, [r4] lsls r0, 24 lsrs r0, 24 cmp r0, 0xA1 bne _080915C4 mov r0, sp strb r5, [r0] movs r7, 0x2 adds r0, 0x1 strb r5, [r0] b _080915C8 .align 2, 0 _080915BC: .4byte 0x000186a0 _080915C0: .4byte 0x000011b8 _080915C4: movs r5, 0x1 movs r7, 0x1 _080915C8: ldr r1, _0809160C @ =0x000186a0 adds r0, r6, 0 bl __umodsi3 adds r6, r0, 0 mov r0, sp adds r4, r0, r7 ldr r1, _08091610 @ =0x00002710 adds r0, r6, 0 bl __udivsi3 adds r0, 0xA1 strb r0, [r4] lsls r0, 24 lsrs r0, 24 cmp r0, 0xA1 bne _08091614 cmp r5, 0 bne _08091614 adds r1, r7, 0 adds r0, r1, 0x1 lsls r0, 24 lsrs r7, r0, 24 adds r2, r7, 0 mov r3, sp adds r0, r3, r1 strb r5, [r0] adds r0, r2, 0x1 lsls r0, 24 lsrs r7, r0, 24 adds r0, r3, r2 strb r5, [r0] b _0809161C .align 2, 0 _0809160C: .4byte 0x000186a0 _08091610: .4byte 0x00002710 _08091614: movs r5, 0x1 adds r0, r7, 0x1 lsls r0, 24 lsrs r7, r0, 24 _0809161C: ldr r1, _08091660 @ =0x00002710 adds r0, r6, 0 bl __umodsi3 adds r6, r0, 0 mov r0, sp adds r4, r0, r7 movs r1, 0xFA lsls r1, 2 adds r0, r6, 0 bl __udivsi3 adds r0, 0xA1 strb r0, [r4] lsls r0, 24 lsrs r0, 24 cmp r0, 0xA1 bne _08091664 cmp r5, 0 bne _08091664 adds r1, r7, 0 adds r0, r1, 0x1 lsls r0, 24 lsrs r7, r0, 24 adds r2, r7, 0 mov r3, sp adds r0, r3, r1 strb r5, [r0] adds r0, r2, 0x1 lsls r0, 24 lsrs r7, r0, 24 adds r0, r3, r2 strb r5, [r0] b _0809166A .align 2, 0 _08091660: .4byte 0x00002710 _08091664: adds r0, r7, 0x1 lsls r0, 24 lsrs r7, r0, 24 _0809166A: movs r1, 0xFA lsls r1, 2 adds r0, r6, 0 bl __umodsi3 adds r6, r0, 0 adds r1, r7, 0 adds r0, r1, 0x1 lsls r0, 24 lsrs r7, r0, 24 adds r5, r7, 0 mov r0, sp adds r4, r0, r1 adds r0, r6, 0 movs r1, 0x64 bl __udivsi3 adds r0, 0xA1 movs r1, 0 mov r9, r1 strb r0, [r4] adds r0, r6, 0 movs r1, 0x64 bl __umodsi3 adds r6, r0, 0 adds r0, r5, 0x1 lsls r0, 24 lsrs r7, r0, 24 adds r1, r7, 0 mov r2, sp adds r0, r2, r5 movs r3, 0xAD mov r8, r3 mov r2, r8 strb r2, [r0] adds r0, r1, 0x1 lsls r0, 24 lsrs r7, r0, 24 adds r5, r7, 0 mov r3, sp adds r4, r3, r1 adds r0, r6, 0 movs r1, 0xA bl __udivsi3 adds r0, 0xA1 strb r0, [r4] adds r0, r5, 0x1 lsls r0, 24 lsrs r7, r0, 24 adds r1, r7, 0 mov r2, sp adds r0, r2, r5 mov r3, r9 strb r3, [r0] adds r0, r1, 0x1 lsls r0, 24 lsrs r7, r0, 24 adds r2, r7, 0 add r1, sp movs r0, 0xE0 strb r0, [r1] adds r0, r2, 0x1 lsls r0, 24 lsrs r7, r0, 24 adds r3, r7, 0 mov r0, sp adds r1, r0, r2 movs r0, 0xD6 strb r0, [r1] adds r0, r3, 0x1 lsls r0, 24 lsrs r7, r0, 24 adds r2, r7, 0 mov r0, sp adds r1, r0, r3 movs r0, 0xE7 strb r0, [r1] adds r0, r2, 0x1 lsls r0, 24 lsrs r0, 24 mov r3, sp adds r1, r3, r2 mov r2, r8 strb r2, [r1] adds r1, r3, r0 movs r0, 0xFF strb r0, [r1] mov r0, sp mov r1, r10 ldr r2, [sp, 0x10] bl MenuPrint add sp, 0x14 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8091564 thumb_func_start sub_8091738 sub_8091738: @ 8091738 push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x80 adds r4, r1, 0 adds r5, r2, 0 lsls r0, 16 lsrs r0, 16 lsls r4, 16 lsrs r4, 16 lsls r5, 16 lsrs r5, 16 ldr r6, _080917C8 @ =gMonFootprintTable bl NationalPokedexNumToSpecies lsls r0, 16 lsrs r0, 14 adds r0, r6 ldr r0, [r0] mov r12, r0 movs r7, 0 movs r1, 0 lsls r4, 14 mov r8, r4 lsls r5, 5 _0809176A: mov r2, r12 adds r0, r2, r1 ldrb r3, [r0] movs r6, 0 adds r4, r1, 0x1 _08091774: lsls r1, r6, 1 adds r2, r3, 0 asrs r2, r1 movs r0, 0x1 ands r2, r0 movs r0, 0x2 lsls r0, r1 ands r0, r3 cmp r0, 0 beq _0809178C movs r0, 0x10 orrs r2, r0 _0809178C: mov r1, sp adds r0, r1, r7 strb r2, [r0] adds r0, r7, 0x1 lsls r0, 16 lsrs r7, r0, 16 adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 cmp r6, 0x3 bls _08091774 lsls r0, r4, 16 lsrs r1, r0, 16 cmp r1, 0x1F bls _0809176A movs r1, 0xC0 lsls r1, 19 adds r1, r5, r1 add r1, r8 mov r0, sp movs r2, 0x40 bl CpuSet add sp, 0x80 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080917C8: .4byte gMonFootprintTable thumb_func_end sub_8091738 thumb_func_start sub_80917CC sub_80917CC: @ 80917CC push {r4,lr} lsls r0, 16 lsls r1, 16 lsrs r1, 16 lsrs r0, 5 ldr r2, _08091808 @ =0x06000232 adds r3, r0, r2 movs r4, 0xF0 lsls r4, 8 adds r2, r1, r4 strh r2, [r3] ldr r2, _0809180C @ =0x06000234 adds r3, r0, r2 adds r4, 0x1 adds r2, r1, r4 strh r2, [r3] ldr r2, _08091810 @ =0x06000272 adds r3, r0, r2 adds r4, 0x1 adds r2, r1, r4 strh r2, [r3] ldr r2, _08091814 @ =0x06000274 adds r0, r2 adds r4, 0x1 adds r1, r4 strh r1, [r0] pop {r4} pop {r0} bx r0 .align 2, 0 _08091808: .4byte 0x06000232 _0809180C: .4byte 0x06000234 _08091810: .4byte 0x06000272 _08091814: .4byte 0x06000274 thumb_func_end sub_80917CC thumb_func_start sub_8091818 sub_8091818: @ 8091818 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 lsls r1, 16 lsrs r0, r1, 16 lsls r2, 16 lsrs r2, 16 lsls r3, 16 lsrs r3, 16 cmp r4, 0x1 beq _08091844 cmp r4, 0x1 bgt _0809183A cmp r4, 0 beq _0809184C b _0809186C _0809183A: cmp r5, 0x2 beq _0809185E cmp r5, 0x3 beq _08091852 b _0809186C _08091844: cmp r0, r2 bls _0809186C subs r0, 0x1 b _08091864 _0809184C: cmp r0, r3 bcs _0809186C b _08091862 _08091852: cmp r0, r2 bls _0809185A subs r0, 0x1 b _08091864 _0809185A: adds r0, r3, 0 b _0809186C _0809185E: cmp r0, r3 bcs _0809186A _08091862: adds r0, 0x1 _08091864: lsls r0, 16 lsrs r0, 16 b _0809186C _0809186A: adds r0, r2, 0 _0809186C: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8091818 thumb_func_start nullsub_59 nullsub_59: @ 8091874 bx lr thumb_func_end nullsub_59 thumb_func_start sub_8091878 sub_8091878: @ 8091878 push {r4-r7,lr} lsls r1, 24 ldr r4, _080918A0 @ =gUnknown_02024E8C adds r3, r4, 0 ldr r2, _080918A4 @ =gUnknown_083B57A4 ldm r2!, {r5-r7} stm r3!, {r5-r7} ldm r2!, {r5-r7} stm r3!, {r5-r7} strh r0, [r4, 0x2] ldr r0, _080918A8 @ =gUnknown_083B5794 lsrs r1, 22 adds r1, r0 ldr r0, [r1] str r0, [r4, 0xC] ldr r0, _080918AC @ =gSpriteAnimTable_81E7C64 str r0, [r4, 0x8] pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080918A0: .4byte gUnknown_02024E8C _080918A4: .4byte gUnknown_083B57A4 _080918A8: .4byte gUnknown_083B5794 _080918AC: .4byte gSpriteAnimTable_81E7C64 thumb_func_end sub_8091878 thumb_func_start sub_80918B0 sub_80918B0: @ 80918B0 push {r4-r7,lr} lsls r1, 24 ldr r4, _080918DC @ =gUnknown_02024E8C adds r3, r4, 0 ldr r2, _080918E0 @ =gUnknown_083B57A4 ldm r2!, {r5-r7} stm r3!, {r5-r7} ldm r2!, {r5-r7} stm r3!, {r5-r7} strh r0, [r4, 0x2] ldr r0, _080918E4 @ =gUnknown_083B5794 lsrs r1, 22 adds r1, r0 ldr r0, [r1] str r0, [r4, 0xC] ldr r0, _080918E8 @ =gUnknown_081EC2A4 ldr r0, [r0] str r0, [r4, 0x8] pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080918DC: .4byte gUnknown_02024E8C _080918E0: .4byte gUnknown_083B57A4 _080918E4: .4byte gUnknown_083B5794 _080918E8: .4byte gUnknown_081EC2A4 thumb_func_end sub_80918B0 thumb_func_start sub_80918EC sub_80918EC: @ 80918EC push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x10 lsls r0, 16 lsrs r7, r0, 16 lsls r1, 16 lsrs r1, 16 mov r9, r1 lsls r2, 16 lsrs r2, 16 mov r10, r2 lsls r3, 16 lsrs r3, 16 mov r8, r3 adds r0, r7, 0 bl NationalPokedexNumToSpecies adds r7, r0, 0 cmp r7, SPECIES_UNOWN beq _0809199C movs r0, 0x9A lsls r0, 1 cmp r7, r0 beq _08091958 lsls r6, r7, 3 ldr r0, _0809194C @ =gMonFrontPicTable adds r0, r6, r0 ldr r1, _08091950 @ =gMonFrontPicCoords lsls r2, r7, 2 adds r2, r1 ldrb r1, [r2] ldrb r2, [r2, 0x1] movs r3, 0x80 lsls r3, 18 ldr r4, _08091954 @ =gUnknown_083B5584 mov r12, r4 mov r5, r8 lsls r4, r5, 2 add r4, r12 ldr r4, [r4] str r4, [sp] str r7, [sp, 0x4] bl DecompressPicFromTable_2 b _080919CE .align 2, 0 _0809194C: .4byte gMonFrontPicTable _08091950: .4byte gMonFrontPicCoords _08091954: .4byte gUnknown_083B5584 _08091958: lsls r6, r7, 3 ldr r0, _0809198C @ =gMonFrontPicTable adds r0, r6 ldr r2, _08091990 @ =gMonFrontPicCoords lsls r1, r7, 2 adds r2, r1 ldrb r1, [r2] ldrb r2, [r2, 0x1] movs r3, 0x80 lsls r3, 18 ldr r4, _08091994 @ =gUnknown_083B5584 mov r12, r4 mov r5, r8 lsls r4, r5, 2 add r4, r12 ldr r4, [r4] str r4, [sp] str r7, [sp, 0x4] ldr r4, _08091998 @ =gSaveBlock2 ldr r4, [r4, 0x20] str r4, [sp, 0x8] movs r4, 0x1 str r4, [sp, 0xC] bl LoadSpecialPokePic b _080919CE .align 2, 0 _0809198C: .4byte gMonFrontPicTable _08091990: .4byte gMonFrontPicCoords _08091994: .4byte gUnknown_083B5584 _08091998: .4byte gSaveBlock2 _0809199C: lsls r6, r7, 3 ldr r0, _08091A30 @ =gMonFrontPicTable adds r0, r6 ldr r2, _08091A34 @ =gMonFrontPicCoords lsls r1, r7, 2 adds r2, r1 ldrb r1, [r2] ldrb r2, [r2, 0x1] movs r3, 0x80 lsls r3, 18 ldr r4, _08091A38 @ =gUnknown_083B5584 mov r12, r4 mov r5, r8 lsls r4, r5, 2 add r4, r12 ldr r4, [r4] str r4, [sp] str r7, [sp, 0x4] ldr r4, _08091A3C @ =gSaveBlock2 ldr r4, [r4, 0x1C] str r4, [sp, 0x8] movs r4, 0x1 str r4, [sp, 0xC] bl LoadSpecialPokePic _080919CE: ldr r0, _08091A40 @ =gMonPaletteTable adds r0, r6, r0 ldr r0, [r0] mov r1, r8 lsls r4, r1, 4 movs r2, 0x80 lsls r2, 1 adds r1, r4, r2 lsls r1, 16 lsrs r1, 16 movs r2, 0x20 bl LoadCompressedPalette mov r3, r8 lsls r1, r3, 24 lsrs r1, 24 mov r0, r8 bl sub_8091878 ldr r0, _08091A44 @ =gUnknown_02024E8C mov r5, r9 lsls r1, r5, 16 asrs r1, 16 mov r3, r10 lsls r2, r3, 16 asrs r2, 16 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r0, 24 ldr r1, _08091A48 @ =gSprites lsls r2, r0, 4 adds r2, r0 lsls r2, 2 adds r2, r1 ldrb r3, [r2, 0x5] movs r1, 0xF ands r1, r3 orrs r1, r4 strb r1, [r2, 0x5] add sp, 0x10 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r1} bx r1 .align 2, 0 _08091A30: .4byte gMonFrontPicTable _08091A34: .4byte gMonFrontPicCoords _08091A38: .4byte gUnknown_083B5584 _08091A3C: .4byte gSaveBlock2 _08091A40: .4byte gMonPaletteTable _08091A44: .4byte gUnknown_02024E8C _08091A48: .4byte gSprites thumb_func_end sub_80918EC thumb_func_start sub_8091A4C sub_8091A4C: @ 8091A4C push {r4-r6,lr} mov r6, r9 mov r5, r8 push {r5,r6} sub sp, 0x8 adds r5, r0, 0 adds r6, r1, 0 mov r8, r2 mov r9, r3 lsls r5, 16 lsrs r5, 16 lsls r6, 16 lsrs r6, 16 mov r0, r8 lsls r0, 16 lsrs r0, 16 mov r8, r0 mov r1, r9 lsls r1, 16 lsrs r1, 16 mov r9, r1 lsls r0, r5, 3 ldr r1, _08091AE4 @ =gTrainerFrontPicTable adds r0, r1 ldr r1, _08091AE8 @ =gTrainerFrontPicCoords lsls r2, r5, 2 adds r2, r1 ldrb r1, [r2] ldrb r2, [r2, 0x1] movs r3, 0x80 lsls r3, 18 ldr r4, _08091AEC @ =gUnknown_083B5584 ldr r4, [r4] str r4, [sp] str r5, [sp, 0x4] bl DecompressPicFromTable_2 adds r0, r5, 0 movs r1, 0 bl sub_80918B0 ldr r0, _08091AF0 @ =gUnknown_02024E8C lsls r6, 16 asrs r6, 16 mov r3, r8 lsls r3, 16 asrs r3, 16 mov r8, r3 adds r1, r6, 0 mov r2, r8 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r0, 24 ldr r1, _08091AF4 @ =gSprites lsls r2, r0, 4 adds r2, r0 lsls r2, 2 adds r2, r1 mov r1, r9 lsls r1, 4 mov r9, r1 ldrb r3, [r2, 0x5] movs r1, 0xF ands r1, r3 mov r3, r9 orrs r1, r3 strb r1, [r2, 0x5] add sp, 0x8 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r6} pop {r1} bx r1 .align 2, 0 _08091AE4: .4byte gTrainerFrontPicTable _08091AE8: .4byte gTrainerFrontPicCoords _08091AEC: .4byte gUnknown_083B5584 _08091AF0: .4byte gUnknown_02024E8C _08091AF4: .4byte gSprites thumb_func_end sub_8091A4C thumb_func_start sub_8091AF8 sub_8091AF8: @ 8091AF8 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x14 ldr r4, [sp, 0x34] ldr r5, [sp, 0x38] lsls r0, 24 lsrs r0, 24 lsls r1, 24 lsrs r1, 24 lsls r2, 24 lsrs r7, r2, 24 lsls r3, 24 lsrs r3, 24 str r3, [sp, 0x4] lsls r4, 24 lsrs r4, 24 str r4, [sp, 0x8] lsls r5, 24 lsrs r5, 24 mov r10, r5 bl SortPokedex movs r5, 0 movs r6, 0 ldr r4, _08091D08 @ =0x00000181 ldr r3, _08091D0C @ =gPokedexView _08091B32: ldr r2, [r3] lsls r0, r5, 2 adds r1, r2, r0 ldrb r0, [r1, 0x2] lsls r0, 31 cmp r0, 0 beq _08091B4E lsls r0, r6, 2 adds r0, r2, r0 ldr r1, [r1] str r1, [r0] adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 _08091B4E: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, r4 bls _08091B32 ldr r1, _08091D0C @ =gPokedexView ldr r0, [r1] ldr r2, _08091D10 @ =0x0000060c adds r0, r2 adds r1, r6, 0 strh r6, [r0] cmp r7, 0xFF beq _08091C04 movs r5, 0 lsls r0, r1, 16 movs r6, 0 cmp r0, 0 beq _08091BFA lsls r7, 2 ldr r0, _08091D14 @ =gUnknown_083B57BC adds r0, 0x3 adds r0, r7, r0 str r0, [sp, 0xC] ldr r0, _08091D14 @ =gUnknown_083B57BC adds r0, r7 mov r9, r0 _08091B82: ldr r1, _08091D0C @ =gPokedexView ldr r0, [r1] lsls r4, r5, 2 adds r0, r4 ldrh r0, [r0] bl NationalPokedexNumToSpecies lsls r0, 16 lsrs r2, r0, 16 ldr r1, _08091D18 @ =gSpeciesNames movs r0, 0xB muls r0, r2 adds r0, r1 ldrb r2, [r0] adds r3, r2, 0 mov r0, r9 ldrb r0, [r0] cmp r2, r0 bcc _08091BBA mov r1, r9 ldrb r0, [r1] ldr r1, _08091D14 @ =gUnknown_083B57BC adds r1, 0x1 adds r1, r7, r1 ldrb r1, [r1] adds r0, r1 cmp r2, r0 blt _08091BD2 _08091BBA: ldr r0, _08091D14 @ =gUnknown_083B57BC adds r0, 0x2 adds r0, r7, r0 ldrb r2, [r0] cmp r3, r2 bcc _08091BE6 ldrb r1, [r0] ldr r2, [sp, 0xC] ldrb r0, [r2] adds r1, r0 cmp r3, r1 bge _08091BE6 _08091BD2: ldr r2, _08091D0C @ =gPokedexView ldr r0, [r2] lsls r1, r6, 2 adds r1, r0, r1 adds r0, r4 ldr r0, [r0] str r0, [r1] adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 _08091BE6: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 ldr r1, _08091D0C @ =gPokedexView ldr r0, [r1] ldr r2, _08091D10 @ =0x0000060c adds r0, r2 ldrh r0, [r0] cmp r5, r0 bcc _08091B82 _08091BFA: ldr r1, _08091D0C @ =gPokedexView ldr r0, [r1] ldr r2, _08091D10 @ =0x0000060c adds r0, r2 strh r6, [r0] _08091C04: ldr r0, [sp, 0x4] cmp r0, 0xFF beq _08091C74 movs r5, 0 movs r6, 0 ldr r1, _08091D0C @ =gPokedexView ldr r0, [r1] ldr r2, _08091D10 @ =0x0000060c adds r0, r2 ldrh r0, [r0] cmp r6, r0 bcs _08091C6A adds r7, r1, 0 ldr r0, _08091D1C @ =gBaseStats mov r8, r0 _08091C22: ldr r0, [r7] lsls r4, r5, 2 adds r0, r4 ldrh r0, [r0] bl NationalPokedexNumToSpecies lsls r0, 16 lsrs r2, r0, 16 lsls r0, r2, 3 subs r0, r2 lsls r0, 2 add r0, r8 ldrb r0, [r0, 0x19] lsls r0, 25 lsrs r0, 25 ldr r1, [sp, 0x4] cmp r1, r0 bne _08091C58 ldr r0, [r7] lsls r1, r6, 2 adds r1, r0, r1 adds r0, r4 ldr r0, [r0] str r0, [r1] adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 _08091C58: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 ldr r0, [r7] ldr r2, _08091D10 @ =0x0000060c adds r0, r2 ldrh r0, [r0] cmp r5, r0 bcc _08091C22 _08091C6A: ldr r1, _08091D0C @ =gPokedexView ldr r0, [r1] ldr r2, _08091D10 @ =0x0000060c adds r0, r2 strh r6, [r0] _08091C74: ldr r0, [sp, 0x8] cmp r0, 0xFF bne _08091C8A mov r1, r10 cmp r1, 0xFF bne _08091C82 b _08091DA6 _08091C82: mov r2, r10 str r2, [sp, 0x8] movs r0, 0xFF mov r10, r0 _08091C8A: mov r1, r10 cmp r1, 0xFF bne _08091D20 movs r5, 0 movs r6, 0 ldr r2, _08091D0C @ =gPokedexView ldr r0, [r2] ldr r1, _08091D10 @ =0x0000060c adds r0, r1 ldrh r0, [r0] cmp r6, r0 bcs _08091D9C adds r3, r2, 0 mov r7, sp mov r8, r2 _08091CA8: ldr r0, [r3] lsls r4, r5, 2 adds r1, r0, r4 ldrb r0, [r1, 0x2] lsls r0, 30 cmp r0, 0 bge _08091CF2 ldrh r0, [r1] str r3, [sp, 0x10] bl NationalPokedexNumToSpecies lsls r0, 16 lsrs r2, r0, 16 ldr r1, _08091D1C @ =gBaseStats lsls r0, r2, 3 subs r0, r2 lsls r0, 2 adds r0, r1 ldrb r1, [r0, 0x6] strb r1, [r7] ldrb r0, [r0, 0x7] strb r0, [r7, 0x1] ldr r3, [sp, 0x10] ldr r2, [sp, 0x8] cmp r1, r2 beq _08091CE0 cmp r0, r2 bne _08091CF2 _08091CE0: ldr r0, [r3] lsls r1, r6, 2 adds r1, r0, r1 adds r0, r4 ldr r0, [r0] str r0, [r1] adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 _08091CF2: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 mov r1, r8 ldr r0, [r1] ldr r2, _08091D10 @ =0x0000060c adds r0, r2 ldrh r0, [r0] cmp r5, r0 bcc _08091CA8 b _08091D9C .align 2, 0 _08091D08: .4byte 0x00000181 _08091D0C: .4byte gPokedexView _08091D10: .4byte 0x0000060c _08091D14: .4byte gUnknown_083B57BC _08091D18: .4byte gSpeciesNames _08091D1C: .4byte gBaseStats _08091D20: movs r5, 0 movs r6, 0 ldr r1, _08091E0C @ =gPokedexView ldr r0, [r1] ldr r2, _08091E10 @ =0x0000060c adds r0, r2 ldrh r0, [r0] cmp r6, r0 bcs _08091D9C mov r7, sp _08091D34: ldr r0, [r1] lsls r1, r5, 2 adds r2, r0, r1 ldrb r0, [r2, 0x2] lsls r0, 30 adds r4, r1, 0 cmp r0, 0 bge _08091D88 ldrh r0, [r2] bl NationalPokedexNumToSpecies lsls r0, 16 lsrs r2, r0, 16 ldr r1, _08091E14 @ =gBaseStats lsls r0, r2, 3 subs r0, r2 lsls r0, 2 adds r0, r1 ldrb r1, [r0, 0x6] strb r1, [r7] ldrb r0, [r0, 0x7] strb r0, [r7, 0x1] ldr r2, [sp, 0x8] cmp r1, r2 bne _08091D6A cmp r0, r10 beq _08091D74 _08091D6A: cmp r1, r10 bne _08091D88 ldr r1, [sp, 0x8] cmp r0, r1 bne _08091D88 _08091D74: ldr r2, _08091E0C @ =gPokedexView ldr r0, [r2] lsls r1, r6, 2 adds r1, r0, r1 adds r0, r4 ldr r0, [r0] str r0, [r1] adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 _08091D88: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 ldr r1, _08091E0C @ =gPokedexView ldr r0, [r1] ldr r2, _08091E10 @ =0x0000060c adds r0, r2 ldrh r0, [r0] cmp r5, r0 bcc _08091D34 _08091D9C: ldr r1, _08091E0C @ =gPokedexView ldr r0, [r1] ldr r2, _08091E10 @ =0x0000060c adds r0, r2 strh r6, [r0] _08091DA6: ldr r1, _08091E0C @ =gPokedexView ldr r0, [r1] ldr r2, _08091E10 @ =0x0000060c adds r1, r0, r2 ldrh r0, [r1] cmp r0, 0 beq _08091DFA adds r5, r0, 0 ldr r0, _08091E18 @ =0x00000181 cmp r5, r0 bhi _08091DFA ldr r4, _08091E0C @ =gPokedexView movs r1, 0x2 negs r1, r1 mov r10, r1 movs r2, 0x3 negs r2, r2 mov r9, r2 mov r8, r0 ldr r0, _08091E1C @ =0x0000ffff adds r7, r0, 0 _08091DD0: ldr r1, [r4] lsls r3, r5, 2 adds r1, r3 ldrh r0, [r1] orrs r0, r7 strh r0, [r1] ldrb r2, [r1, 0x2] mov r0, r10 ands r0, r2 strb r0, [r1, 0x2] ldr r1, [r4] adds r1, r3 ldrb r2, [r1, 0x2] mov r0, r9 ands r0, r2 strb r0, [r1, 0x2] adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, r8 bls _08091DD0 _08091DFA: adds r0, r6, 0 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 _08091E0C: .4byte gPokedexView _08091E10: .4byte 0x0000060c _08091E14: .4byte gBaseStats _08091E18: .4byte 0x00000181 _08091E1C: .4byte 0x0000ffff thumb_func_end sub_8091AF8 thumb_func_start sub_8091E20 sub_8091E20: @ 8091E20 push {lr} sub sp, 0x8 movs r1, 0x20 str r1, [sp] movs r1, 0x1 str r1, [sp, 0x4] movs r1, 0x9 movs r2, 0x78 movs r3, 0xD0 bl sub_8072AB0 add sp, 0x8 pop {r0} bx r0 thumb_func_end sub_8091E20 thumb_func_start sub_8091E3C sub_8091E3C: @ 8091E3C push {lr} ldr r0, _08091E50 @ =sub_8091E54 movs r1, 0 bl CreateTask lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 .align 2, 0 _08091E50: .4byte sub_8091E54 thumb_func_end sub_8091E3C thumb_func_start sub_8091E54 sub_8091E54: @ 8091E54 push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x4 lsls r0, 24 lsrs r5, r0, 24 ldr r1, _08091E78 @ =gMain ldr r2, _08091E7C @ =0x0000043c adds r0, r1, r2 ldrb r0, [r0] adds r3, r1, 0 cmp r0, 0x4 bhi _08091E98 lsls r0, 2 ldr r1, _08091E80 @ =_08091E84 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _08091E78: .4byte gMain _08091E7C: .4byte 0x0000043c _08091E80: .4byte _08091E84 .align 2, 0 _08091E84: .4byte _08091E98 .4byte _08091F50 .4byte _08091FC0 .4byte _08091FE0 .4byte _0809200C _08091E98: ldr r0, _08091F1C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _08091EA6 b _08092030 _08091EA6: ldr r0, _08091F20 @ =gPokedexView ldr r0, [r0] ldr r1, _08091F24 @ =0x0000064a adds r0, r1 movs r1, 0x2 strb r1, [r0] movs r0, 0 bl sub_8091060 ldr r0, _08091F28 @ =gPokedexMenuSearch_Gfx movs r1, 0xC0 lsls r1, 19 bl LZ77UnCompVram ldr r0, _08091F2C @ =gUnknown_08E96D2C ldr r1, _08091F30 @ =0x06007800 bl LZ77UnCompVram ldr r0, _08091F34 @ =gPokedexMenuSearch_Pal + 0x2 movs r1, 0x1 movs r2, 0x7E bl LoadPalette bl IsNationalPokedexEnabled cmp r0, 0 bne _08091F10 movs r4, 0 ldr r2, _08091F38 @ =0x06007a80 mov r8, r2 ldr r0, _08091F3C @ =0x06007b00 mov r12, r0 movs r5, 0x1 ldr r7, _08091F40 @ =0x06007ac0 ldr r6, _08091F44 @ =0x06007b40 _08091EEC: lsls r1, r4, 1 mov r0, r8 adds r2, r1, r0 mov r0, r12 adds r3, r1, r0 ldrh r0, [r3] strh r0, [r2] adds r2, r1, r7 adds r1, r6 ldrh r0, [r1] strh r0, [r2] strh r5, [r3] strh r5, [r1] adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x10 bls _08091EEC _08091F10: ldr r0, _08091F48 @ =gMain ldr r1, _08091F4C @ =0x0000043c adds r0, r1 movs r1, 0x1 strb r1, [r0] b _08092030 .align 2, 0 _08091F1C: .4byte gPaletteFade _08091F20: .4byte gPokedexView _08091F24: .4byte 0x0000064a _08091F28: .4byte gPokedexMenuSearch_Gfx _08091F2C: .4byte gUnknown_08E96D2C _08091F30: .4byte 0x06007800 _08091F34: .4byte gPokedexMenuSearch_Pal + 0x2 _08091F38: .4byte 0x06007a80 _08091F3C: .4byte 0x06007b00 _08091F40: .4byte 0x06007ac0 _08091F44: .4byte 0x06007b40 _08091F48: .4byte gMain _08091F4C: .4byte 0x0000043c _08091F50: ldr r4, _08091FA8 @ =gWindowConfig_81E7064 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 bl InitMenuWindow ldr r0, _08091FAC @ =gUnknown_083A05CC bl LoadCompressedObjectPic ldr r0, _08091FB0 @ =gUnknown_083A05DC bl LoadSpritePalettes adds r0, r5, 0 bl sub_809308C movs r4, 0 lsls r0, r5, 2 adds r0, r5 lsls r1, r0, 3 ldr r3, _08091FB4 @ =gTasks + 0x8 movs r2, 0 _08091F7C: lsls r0, r4, 1 adds r0, r1 adds r0, r3 strh r2, [r0] adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0xF bls _08091F7C adds r0, r5, 0 bl sub_8092EB0 movs r0, 0 bl sub_8092AB0 adds r0, r5, 0 bl sub_8092B68 ldr r1, _08091FB8 @ =gMain ldr r2, _08091FBC @ =0x0000043c adds r1, r2 b _08091FF6 .align 2, 0 _08091FA8: .4byte gWindowConfig_81E7064 _08091FAC: .4byte gUnknown_083A05CC _08091FB0: .4byte gUnknown_083A05DC _08091FB4: .4byte gTasks + 0x8 _08091FB8: .4byte gMain _08091FBC: .4byte 0x0000043c _08091FC0: movs r0, 0x1 negs r0, r0 movs r1, 0 str r1, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r1, _08091FD8 @ =gMain ldr r0, _08091FDC @ =0x0000043c adds r1, r0 b _08091FF6 .align 2, 0 _08091FD8: .4byte gMain _08091FDC: .4byte 0x0000043c _08091FE0: ldr r1, _08092000 @ =REG_BG3CNT ldr r2, _08092004 @ =0x00000f03 adds r0, r2, 0 strh r0, [r1] subs r1, 0xE movs r2, 0xE2 lsls r2, 5 adds r0, r2, 0 strh r0, [r1] ldr r0, _08092008 @ =0x0000043c adds r1, r3, r0 _08091FF6: ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _08092030 .align 2, 0 _08092000: .4byte REG_BG3CNT _08092004: .4byte 0x00000f03 _08092008: .4byte 0x0000043c _0809200C: ldr r0, _0809203C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 bne _08092030 ldr r1, _08092040 @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 ldr r1, _08092044 @ =sub_809204C str r1, [r0] ldr r1, _08092048 @ =0x0000043c adds r0, r3, r1 strb r2, [r0] _08092030: add sp, 0x4 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _0809203C: .4byte gPaletteFade _08092040: .4byte gTasks _08092044: .4byte sub_809204C _08092048: .4byte 0x0000043c thumb_func_end sub_8091E54 thumb_func_start sub_809204C sub_809204C: @ 809204C push {r4,r5,lr} adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 ldr r0, _08092074 @ =gTasks lsls r4, r5, 2 adds r4, r5 lsls r4, 3 adds r4, r0 ldrb r0, [r4, 0x8] bl sub_8092AB0 adds r0, r5, 0 bl sub_8092B68 ldr r0, _08092078 @ =sub_809207C str r0, [r4] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _08092074: .4byte gTasks _08092078: .4byte sub_809207C thumb_func_end sub_809204C thumb_func_start sub_809207C sub_809207C: @ 809207C push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r0, _080920A4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _080920B0 movs r0, 0x3 bl PlaySE ldr r0, _080920A8 @ =gTasks lsls r1, r5, 2 adds r1, r5 lsls r1, 3 adds r1, r0 ldr r0, _080920AC @ =sub_80927B8 str r0, [r1] b _0809216C .align 2, 0 _080920A4: .4byte gMain _080920A8: .4byte gTasks _080920AC: .4byte sub_80927B8 _080920B0: movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _0809210C ldr r1, _080920D4 @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r5, r0, r1 movs r0, 0x8 ldrsh r4, [r5, r0] cmp r4, 0x1 beq _080920E8 cmp r4, 0x1 bgt _080920D8 cmp r4, 0 beq _080920DE b _0809216C .align 2, 0 _080920D4: .4byte gTasks _080920D8: cmp r4, 0x2 beq _080920FC b _0809216C _080920DE: movs r0, 0x15 bl PlaySE strh r4, [r5, 0xA] b _080920F2 _080920E8: movs r0, 0x15 bl PlaySE movs r0, 0x4 strh r0, [r5, 0xA] _080920F2: ldr r0, _080920F8 @ =sub_809217C str r0, [r5] b _0809216C .align 2, 0 _080920F8: .4byte sub_809217C _080920FC: movs r0, 0x3 bl PlaySE ldr r0, _08092108 @ =sub_80927B8 str r0, [r5] b _0809216C .align 2, 0 _08092108: .4byte sub_80927B8 _0809210C: movs r0, 0x20 ands r0, r1 cmp r0, 0 beq _0809213A ldr r0, _08092174 @ =gTasks lsls r1, r5, 2 adds r1, r5 lsls r1, 3 adds r4, r1, r0 movs r1, 0x8 ldrsh r0, [r4, r1] cmp r0, 0 ble _0809213A movs r0, 0x6D bl PlaySE ldrh r0, [r4, 0x8] subs r0, 0x1 strh r0, [r4, 0x8] lsls r0, 24 lsrs r0, 24 bl sub_8092AB0 _0809213A: ldr r0, _08092178 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _0809216C ldr r0, _08092174 @ =gTasks lsls r1, r5, 2 adds r1, r5 lsls r1, 3 adds r4, r1, r0 movs r1, 0x8 ldrsh r0, [r4, r1] cmp r0, 0x1 bgt _0809216C movs r0, 0x6D bl PlaySE ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] lsls r0, 24 lsrs r0, 24 bl sub_8092AB0 _0809216C: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _08092174: .4byte gTasks _08092178: .4byte gMain thumb_func_end sub_809207C thumb_func_start sub_809217C sub_809217C: @ 809217C push {r4,r5,lr} adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 ldr r0, _080921A8 @ =gTasks lsls r4, r5, 2 adds r4, r5 lsls r4, 3 adds r4, r0 ldrb r0, [r4, 0x8] ldrb r1, [r4, 0xA] bl sub_8092AD4 adds r0, r5, 0 bl sub_8092B68 ldr r0, _080921AC @ =sub_80921B0 str r0, [r4] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080921A8: .4byte gTasks _080921AC: .4byte sub_80921B0 thumb_func_end sub_809217C thumb_func_start sub_80921B0 sub_80921B0: @ 80921B0 push {r4-r7,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r1, _080921D8 @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 movs r1, 0x8 ldrsh r0, [r0, r1] cmp r0, 0 beq _080921E4 bl IsNationalPokedexEnabled ldr r6, _080921DC @ =gUnknown_083B586C cmp r0, 0 bne _080921F0 ldr r6, _080921E0 @ =gUnknown_083B58A4 b _080921F0 .align 2, 0 _080921D8: .4byte gTasks _080921DC: .4byte gUnknown_083B586C _080921E0: .4byte gUnknown_083B58A4 _080921E4: bl IsNationalPokedexEnabled ldr r6, _0809221C @ =gUnknown_083B5850 cmp r0, 0 bne _080921F0 ldr r6, _08092220 @ =gUnknown_083B5888 _080921F0: ldr r0, _08092224 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0 beq _08092230 movs r0, 0x17 bl PlaySE adds r0, r5, 0 bl sub_8092EB0 ldr r0, _08092228 @ =gTasks lsls r1, r5, 2 adds r1, r5 lsls r1, 3 adds r1, r0 ldr r0, _0809222C @ =sub_809204C str r0, [r1] b _080923EC .align 2, 0 _0809221C: .4byte gUnknown_083B5850 _08092220: .4byte gUnknown_083B5888 _08092224: .4byte gMain _08092228: .4byte gTasks _0809222C: .4byte sub_809204C _08092230: movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _08092300 ldr r0, _080922B4 @ =gTasks lsls r1, r5, 2 adds r1, r5 lsls r1, 3 adds r6, r1, r0 movs r2, 0xA ldrsh r0, [r6, r2] cmp r0, 0x6 bne _080922F0 movs r1, 0x8 ldrsh r0, [r6, r1] cmp r0, 0 beq _080922D4 ldr r1, _080922B8 @ =gUnknown_0202FFBA movs r0, 0x40 strb r0, [r1] ldr r7, _080922BC @ =gPokedexView ldr r1, [r7] ldr r0, _080922C0 @ =0x0000062a adds r2, r1, r0 movs r0, 0x40 strh r0, [r2] ldr r0, _080922C4 @ =gUnknown_0202FFB8 strh r3, [r0] movs r2, 0xC2 lsls r2, 3 adds r1, r2 strh r3, [r1] adds r0, r5, 0 movs r1, 0x5 bl sub_8092E10 ldr r4, _080922C8 @ =gSaveBlock2 strb r0, [r4, 0x19] bl IsNationalPokedexEnabled cmp r0, 0 bne _08092288 movs r0, 0 strb r0, [r4, 0x19] _08092288: ldr r0, [r7] ldrb r1, [r4, 0x19] ldr r2, _080922CC @ =0x00000614 adds r0, r2 strh r1, [r0] adds r0, r5, 0 movs r1, 0x4 bl sub_8092E10 strb r0, [r4, 0x18] ldr r0, [r7] ldrb r1, [r4, 0x18] movs r2, 0xC3 lsls r2, 3 adds r0, r2 strh r1, [r0] movs r0, 0x3 bl PlaySE ldr r0, _080922D0 @ =sub_80927B8 str r0, [r6] b _080923EC .align 2, 0 _080922B4: .4byte gTasks _080922B8: .4byte gUnknown_0202FFBA _080922BC: .4byte gPokedexView _080922C0: .4byte 0x0000062a _080922C4: .4byte gUnknown_0202FFB8 _080922C8: .4byte gSaveBlock2 _080922CC: .4byte 0x00000614 _080922D0: .4byte sub_80927B8 _080922D4: ldr r0, _080922E8 @ =gDexText_Searching bl sub_8091E20 ldr r0, _080922EC @ =sub_80923FC str r0, [r6] movs r0, 0x70 bl PlaySE b _080923EC .align 2, 0 _080922E8: .4byte gDexText_Searching _080922EC: .4byte sub_80923FC _080922F0: movs r0, 0x15 bl PlaySE ldr r0, _080922FC @ =sub_80925CC str r0, [r6] b _080923EC .align 2, 0 _080922FC: .4byte sub_80925CC _08092300: movs r0, 0x20 ands r0, r1 cmp r0, 0 beq _08092338 ldr r1, _080923F4 @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r4, r0, r1 movs r1, 0xA ldrsh r0, [r4, r1] lsls r0, 2 adds r0, r6 ldrb r0, [r0] cmp r0, 0xFF beq _08092338 movs r0, 0x5 bl PlaySE movs r2, 0xA ldrsh r0, [r4, r2] lsls r0, 2 adds r0, r6 ldrb r1, [r0] strh r1, [r4, 0xA] ldrb r0, [r4, 0x8] bl sub_8092AD4 _08092338: ldr r0, _080923F8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _08092374 ldr r1, _080923F4 @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r4, r0, r1 movs r1, 0xA ldrsh r0, [r4, r1] lsls r0, 2 adds r0, r6 ldrb r0, [r0, 0x1] cmp r0, 0xFF beq _08092374 movs r0, 0x5 bl PlaySE movs r2, 0xA ldrsh r0, [r4, r2] lsls r0, 2 adds r0, r6 ldrb r1, [r0, 0x1] strh r1, [r4, 0xA] ldrb r0, [r4, 0x8] bl sub_8092AD4 _08092374: ldr r0, _080923F8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 cmp r0, 0 beq _080923B0 ldr r1, _080923F4 @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r4, r0, r1 movs r1, 0xA ldrsh r0, [r4, r1] lsls r0, 2 adds r0, r6 ldrb r0, [r0, 0x2] cmp r0, 0xFF beq _080923B0 movs r0, 0x5 bl PlaySE movs r2, 0xA ldrsh r0, [r4, r2] lsls r0, 2 adds r0, r6 ldrb r1, [r0, 0x2] strh r1, [r4, 0xA] ldrb r0, [r4, 0x8] bl sub_8092AD4 _080923B0: ldr r0, _080923F8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080923EC ldr r1, _080923F4 @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r4, r0, r1 movs r1, 0xA ldrsh r0, [r4, r1] lsls r0, 2 adds r0, r6 ldrb r0, [r0, 0x3] cmp r0, 0xFF beq _080923EC movs r0, 0x5 bl PlaySE movs r2, 0xA ldrsh r0, [r4, r2] lsls r0, 2 adds r0, r6 ldrb r1, [r0, 0x3] strh r1, [r4, 0xA] ldrb r0, [r4, 0x8] bl sub_8092AD4 _080923EC: pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080923F4: .4byte gTasks _080923F8: .4byte gMain thumb_func_end sub_80921B0 thumb_func_start sub_80923FC sub_80923FC: @ 80923FC push {r4-r6,lr} mov r6, r10 mov r5, r9 mov r4, r8 push {r4-r6} sub sp, 0x8 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 adds r0, r5, 0 movs r1, 0x5 bl sub_8092E10 mov r10, r0 mov r0, r10 lsls r0, 24 lsrs r0, 24 mov r10, r0 adds r0, r5, 0 movs r1, 0x4 bl sub_8092E10 mov r9, r0 mov r0, r9 lsls r0, 24 lsrs r0, 24 mov r9, r0 adds r0, r5, 0 movs r1, 0 bl sub_8092E10 mov r8, r0 mov r0, r8 lsls r0, 24 lsrs r0, 24 mov r8, r0 adds r0, r5, 0 movs r1, 0x1 bl sub_8092E10 adds r6, r0, 0 lsls r6, 24 lsrs r6, 24 adds r0, r5, 0 movs r1, 0x2 bl sub_8092E10 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x3 bl sub_8092E10 lsls r0, 24 lsrs r0, 24 str r4, [sp] str r0, [sp, 0x4] mov r0, r10 mov r1, r9 mov r2, r8 adds r3, r6, 0 bl sub_8091AF8 ldr r1, _0809249C @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 ldr r1, _080924A0 @ =sub_80924A4 str r1, [r0] add sp, 0x8 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r6} pop {r0} bx r0 .align 2, 0 _0809249C: .4byte gTasks _080924A0: .4byte sub_80924A4 thumb_func_end sub_80923FC thumb_func_start sub_80924A4 sub_80924A4: @ 80924A4 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 bl IsSEPlaying lsls r0, 24 cmp r0, 0 bne _080924F6 ldr r0, _080924D0 @ =gPokedexView ldr r0, [r0] ldr r1, _080924D4 @ =0x0000060c adds r0, r1 ldrh r0, [r0] cmp r0, 0 beq _080924DC movs r0, 0x1F bl PlaySE ldr r0, _080924D8 @ =gDexText_SearchComplete bl sub_8091E20 b _080924E8 .align 2, 0 _080924D0: .4byte gPokedexView _080924D4: .4byte 0x0000060c _080924D8: .4byte gDexText_SearchComplete _080924DC: movs r0, 0x20 bl PlaySE ldr r0, _080924FC @ =gDexText_NoMatching bl sub_8091E20 _080924E8: ldr r0, _08092500 @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 ldr r0, _08092504 @ =sub_8092508 str r0, [r1] _080924F6: pop {r4} pop {r0} bx r0 .align 2, 0 _080924FC: .4byte gDexText_NoMatching _08092500: .4byte gTasks _08092504: .4byte sub_8092508 thumb_func_end sub_80924A4 thumb_func_start sub_8092508 sub_8092508: @ 8092508 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 adds r2, r4, 0 ldr r0, _08092570 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _080925A4 ldr r5, _08092574 @ =gPokedexView ldr r1, [r5] ldr r3, _08092578 @ =0x0000060c adds r0, r1, r3 ldrh r0, [r0] cmp r0, 0 beq _08092590 ldr r0, _0809257C @ =0x0000064f adds r1, r0 movs r0, 0x1 strb r0, [r1] adds r0, r4, 0 movs r1, 0x5 bl sub_8092E10 ldr r1, [r5] lsls r0, 24 lsrs r0, 24 ldr r2, _08092580 @ =0x00000612 adds r1, r2 strh r0, [r1] adds r0, r4, 0 movs r1, 0x4 bl sub_8092E10 ldr r1, [r5] lsls r0, 24 lsrs r0, 24 ldr r3, _08092584 @ =0x00000616 adds r1, r3 strh r0, [r1] ldr r1, _08092588 @ =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 ldr r1, _0809258C @ =sub_80927B8 str r1, [r0] movs r0, 0x3 bl PlaySE b _080925A4 .align 2, 0 _08092570: .4byte gMain _08092574: .4byte gPokedexView _08092578: .4byte 0x0000060c _0809257C: .4byte 0x0000064f _08092580: .4byte 0x00000612 _08092584: .4byte 0x00000616 _08092588: .4byte gTasks _0809258C: .4byte sub_80927B8 _08092590: ldr r0, _080925AC @ =gTasks lsls r1, r2, 2 adds r1, r2 lsls r1, 3 adds r1, r0 ldr r0, _080925B0 @ =sub_809217C str r0, [r1] movs r0, 0x17 bl PlaySE _080925A4: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080925AC: .4byte gTasks _080925B0: .4byte sub_809217C thumb_func_end sub_8092508 thumb_func_start sub_80925B4 sub_80925B4: @ 80925B4 push {lr} adds r1, r0, 0 lsls r1, 16 lsrs r1, 15 adds r1, 0x1 lsls r1, 27 lsrs r1, 24 movs r0, 0x90 bl sub_814AD7C pop {r0} bx r0 thumb_func_end sub_80925B4 thumb_func_start sub_80925CC sub_80925CC: @ 80925CC push {r4-r6,lr} sub sp, 0x4 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0 bl sub_8092C8C ldr r2, _08092630 @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r6, r1, r2 ldrb r0, [r6, 0xA] adds r2, 0x8 adds r1, r2 ldr r2, _08092634 @ =gUnknown_083B5A7C lsls r0, 3 adds r0, r2 ldrb r5, [r0, 0x4] lsls r5, 1 adds r5, r1, r5 ldrb r0, [r0, 0x5] lsls r0, 1 adds r1, r0 ldrh r0, [r5] strh r0, [r6, 0x24] ldrh r0, [r1] strh r0, [r6, 0x26] adds r0, r4, 0 bl sub_8092D78 ldr r1, _08092638 @ =0x0000ffff ldr r3, _0809263C @ =0x00002d9f movs r0, 0xB str r0, [sp] movs r0, 0x10 movs r2, 0xC bl CreateBlendedOutlineCursor ldrh r0, [r5] movs r1, 0x1 bl sub_80925B4 ldr r0, _08092640 @ =sub_8092644 str r0, [r6] add sp, 0x4 pop {r4-r6} pop {r0} bx r0 .align 2, 0 _08092630: .4byte gTasks _08092634: .4byte gUnknown_083B5A7C _08092638: .4byte 0x0000ffff _0809263C: .4byte 0x00002d9f _08092640: .4byte sub_8092644 thumb_func_end sub_80925CC thumb_func_start sub_8092644 sub_8092644: @ 8092644 push {r4-r7,lr} mov r7, r8 push {r7} lsls r0, 24 lsrs r7, r0, 24 ldr r3, _080926A8 @ =gTasks lsls r2, r7, 2 adds r2, r7 lsls r2, 3 adds r6, r2, r3 ldrb r1, [r6, 0xA] ldr r0, _080926AC @ =gUnknown_083B5A7C lsls r1, 3 adds r1, r0 ldr r0, [r1] mov r8, r0 adds r3, 0x8 adds r2, r3 ldrb r0, [r1, 0x4] lsls r0, 1 adds r4, r2, r0 ldrb r0, [r1, 0x5] lsls r0, 1 adds r5, r2, r0 ldrh r0, [r1, 0x6] subs r0, 0x1 lsls r0, 16 lsrs r2, r0, 16 ldr r0, _080926B0 @ =gMain mov r12, r0 ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _080926B4 bl sub_814ADC8 movs r0, 0x15 bl PlaySE movs r0, 0x12 movs r1, 0x1 movs r2, 0x1C movs r3, 0xC bl MenuZeroFillWindowRect movs r0, 0x1 bl sub_8092C8C b _080926E0 .align 2, 0 _080926A8: .4byte gTasks _080926AC: .4byte gUnknown_083B5A7C _080926B0: .4byte gMain _080926B4: movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _080926EC bl sub_814ADC8 movs r0, 0x17 bl PlaySE movs r0, 0x12 movs r1, 0x1 movs r2, 0x1C movs r3, 0xC bl MenuZeroFillWindowRect movs r0, 0x1 bl sub_8092C8C ldrh r0, [r6, 0x24] strh r0, [r4] ldrh r0, [r6, 0x26] strh r0, [r5] _080926E0: ldr r0, _080926E8 @ =sub_809217C str r0, [r6] b _080927AE .align 2, 0 _080926E8: .4byte sub_809217C _080926EC: movs r3, 0 mov r0, r12 ldrh r1, [r0, 0x30] movs r0, 0x40 ands r0, r1 cmp r0, 0 beq _0809274C ldrh r0, [r4] cmp r0, 0 beq _08092716 movs r1, 0 bl sub_80925B4 ldrh r0, [r4] subs r0, 0x1 strh r0, [r4] ldrh r0, [r4] movs r1, 0x1 bl sub_80925B4 b _08092734 _08092716: ldrh r0, [r5] cmp r0, 0 beq _08092730 subs r0, 0x1 strh r0, [r5] adds r0, r7, 0 bl sub_8092D78 ldrh r0, [r4] movs r1, 0x1 bl sub_80925B4 movs r3, 0x1 _08092730: cmp r3, 0 beq _080927AE _08092734: movs r0, 0x5 bl PlaySE ldrh r0, [r4] ldrh r1, [r5] adds r0, r1 lsls r0, 3 add r0, r8 ldr r0, [r0] bl sub_8091E20 b _080927AE _0809274C: movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080927AE ldrh r0, [r4] cmp r0, 0x4 bhi _08092774 cmp r0, r2 bcs _08092774 movs r1, 0 bl sub_80925B4 ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] ldrh r0, [r4] movs r1, 0x1 bl sub_80925B4 b _08092798 _08092774: cmp r2, 0x5 bls _08092794 ldrh r1, [r5] subs r0, r2, 0x5 cmp r1, r0 bge _08092794 adds r0, r1, 0x1 strh r0, [r5] adds r0, r7, 0 bl sub_8092D78 movs r0, 0x5 movs r1, 0x1 bl sub_80925B4 movs r3, 0x1 _08092794: cmp r3, 0 beq _080927AE _08092798: movs r0, 0x5 bl PlaySE ldrh r0, [r4] ldrh r1, [r5] adds r0, r1 lsls r0, 3 add r0, r8 ldr r0, [r0] bl sub_8091E20 _080927AE: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8092644 thumb_func_start sub_80927B8 sub_80927B8: @ 80927B8 push {r4,lr} sub sp, 0x4 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x1 negs r0, r0 movs r1, 0 str r1, [sp] movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade ldr r1, _080927E8 @ =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 ldr r1, _080927EC @ =sub_80927F0 str r1, [r0] add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080927E8: .4byte gTasks _080927EC: .4byte sub_80927F0 thumb_func_end sub_80927B8 thumb_func_start sub_80927F0 sub_80927F0: @ 80927F0 push {lr} lsls r0, 24 lsrs r2, r0, 24 ldr r0, _0809280C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08092808 adds r0, r2, 0 bl DestroyTask _08092808: pop {r0} bx r0 .align 2, 0 _0809280C: .4byte gPaletteFade thumb_func_end sub_80927F0 thumb_func_start sub_8092810 sub_8092810: @ 8092810 push {r4-r7,lr} lsls r0, 24 lsrs r0, 24 lsls r1, 24 lsrs r1, 24 mov r12, r1 lsls r2, 24 lsrs r1, r2, 24 lsls r3, 24 lsrs r5, r3, 8 movs r3, 0 cmp r5, 0 beq _0809285A lsls r7, r1, 6 ldr r6, _08092860 @ =0x00000fff lsls r4, r0, 12 _08092830: mov r0, r12 adds r1, r0, r3 lsls r1, 1 adds r1, r7, r1 ldr r0, _08092864 @ =0x06007800 adds r2, r1, r0 ldrh r0, [r2] ands r0, r6 orrs r0, r4 strh r0, [r2] ldr r0, _08092868 @ =0x06007840 adds r1, r0 ldrh r0, [r1] ands r0, r6 orrs r0, r4 strh r0, [r1] adds r0, r3, 0x1 lsls r0, 16 lsrs r3, r0, 16 cmp r0, r5 bcc _08092830 _0809285A: pop {r4-r7} pop {r0} bx r0 .align 2, 0 _08092860: .4byte 0x00000fff _08092864: .4byte 0x06007800 _08092868: .4byte 0x06007840 thumb_func_end sub_8092810 thumb_func_start sub_809286C sub_809286C: @ 809286C push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 lsls r1, 24 lsrs r5, r1, 24 lsls r2, 24 lsrs r2, 24 movs r0, 0x1 ands r5, r0 ands r2, r0 lsls r2, 1 orrs r5, r2 cmp r4, 0xA bhi _08092958 lsls r0, r4, 2 ldr r1, _08092894 @ =_08092898 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _08092894: .4byte _08092898 .align 2, 0 _08092898: .4byte _080928C4 .4byte _080928C4 .4byte _080928C4 .4byte _080928D4 .4byte _080928D4 .4byte _080928EC .4byte _080928EC .4byte _080928D4 .4byte _080928D4 .4byte _08092914 .4byte _08092904 _080928C4: ldr r1, _080928D0 @ =gUnknown_083B57E4 lsls r0, r4, 3 adds r0, r1 ldrb r1, [r0, 0x4] ldrb r2, [r0, 0x5] b _08092932 .align 2, 0 _080928D0: .4byte gUnknown_083B57E4 _080928D4: ldr r2, _08092900 @ =gUnknown_083B57FC subs r1, r4, 0x3 lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r2 ldrb r1, [r0, 0x4] ldrb r2, [r0, 0x5] ldrb r3, [r0, 0x6] adds r0, r5, 0 bl sub_8092810 _080928EC: ldr r2, _08092900 @ =gUnknown_083B57FC subs r1, r4, 0x3 lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r2 ldrb r1, [r0, 0x7] ldrb r2, [r0, 0x8] ldrb r3, [r0, 0x9] b _08092934 .align 2, 0 _08092900: .4byte gUnknown_083B57FC _08092904: ldr r0, _08092910 @ =gUnknown_083B57FC ldrb r1, [r0, 0x1C] ldrb r2, [r0, 0x1D] ldrb r3, [r0, 0x1E] b _08092934 .align 2, 0 _08092910: .4byte gUnknown_083B57FC _08092914: bl IsNationalPokedexEnabled cmp r0, 0 bne _08092940 ldr r2, _0809293C @ =gUnknown_083B57FC subs r1, r4, 0x3 lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r2 ldrb r1, [r0, 0x4] ldrb r2, [r0, 0x5] subs r2, 0x2 lsls r2, 24 lsrs r2, 24 _08092932: ldrb r3, [r0, 0x6] _08092934: adds r0, r5, 0 bl sub_8092810 b _08092958 .align 2, 0 _0809293C: .4byte gUnknown_083B57FC _08092940: ldr r2, _08092960 @ =gUnknown_083B57FC subs r1, r4, 0x3 lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r2 ldrb r1, [r0, 0x4] ldrb r2, [r0, 0x5] ldrb r3, [r0, 0x6] adds r0, r5, 0 bl sub_8092810 _08092958: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _08092960: .4byte gUnknown_083B57FC thumb_func_end sub_809286C thumb_func_start sub_8092964 sub_8092964: @ 8092964 push {lr} lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 cmp r0, 0x1 beq _080929CE cmp r0, 0x1 bgt _0809297A cmp r0, 0 beq _08092980 b _08092AAC _0809297A: cmp r1, 0x2 beq _08092A3E b _08092AAC _08092980: movs r0, 0 movs r1, 0 movs r2, 0 bl sub_809286C movs r0, 0x1 movs r1, 0x1 movs r2, 0 bl sub_809286C movs r0, 0x2 movs r1, 0x1 movs r2, 0 bl sub_809286C movs r0, 0x3 movs r1, 0x1 movs r2, 0 bl sub_809286C movs r0, 0x4 movs r1, 0x1 movs r2, 0 bl sub_809286C movs r0, 0xA movs r1, 0x1 movs r2, 0 bl sub_809286C movs r0, 0x5 movs r1, 0x1 movs r2, 0 bl sub_809286C movs r0, 0x6 movs r1, 0x1 movs r2, 0 b _08092A1A _080929CE: movs r0, 0 movs r1, 0x1 movs r2, 0 bl sub_809286C movs r0, 0x1 movs r1, 0 movs r2, 0 bl sub_809286C movs r0, 0x2 movs r1, 0x1 movs r2, 0 bl sub_809286C movs r0, 0x3 movs r1, 0x1 movs r2, 0x1 bl sub_809286C movs r0, 0x4 movs r1, 0x1 movs r2, 0x1 bl sub_809286C movs r0, 0xA movs r1, 0x1 movs r2, 0x1 bl sub_809286C movs r0, 0x5 movs r1, 0x1 movs r2, 0x1 bl sub_809286C movs r0, 0x6 movs r1, 0x1 movs r2, 0x1 _08092A1A: bl sub_809286C movs r0, 0x7 movs r1, 0x1 movs r2, 0 bl sub_809286C movs r0, 0x8 movs r1, 0x1 movs r2, 0 bl sub_809286C movs r0, 0x9 movs r1, 0x1 movs r2, 0 bl sub_809286C b _08092AAC _08092A3E: movs r0, 0 movs r1, 0x1 movs r2, 0 bl sub_809286C movs r0, 0x1 movs r1, 0x1 movs r2, 0 bl sub_809286C movs r0, 0x2 movs r1, 0 movs r2, 0 bl sub_809286C movs r0, 0x3 movs r1, 0x1 movs r2, 0x1 bl sub_809286C movs r0, 0x4 movs r1, 0x1 movs r2, 0x1 bl sub_809286C movs r0, 0xA movs r1, 0x1 movs r2, 0x1 bl sub_809286C movs r0, 0x5 movs r1, 0x1 movs r2, 0x1 bl sub_809286C movs r0, 0x6 movs r1, 0x1 movs r2, 0x1 bl sub_809286C movs r0, 0x7 movs r1, 0x1 movs r2, 0x1 bl sub_809286C movs r0, 0x8 movs r1, 0x1 movs r2, 0x1 bl sub_809286C movs r0, 0x9 movs r1, 0x1 movs r2, 0x1 bl sub_809286C _08092AAC: pop {r0} bx r0 thumb_func_end sub_8092964 thumb_func_start sub_8092AB0 sub_8092AB0: @ 8092AB0 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 bl sub_8092964 ldr r0, _08092AD0 @ =gUnknown_083B57E4 lsls r4, 3 adds r4, r0 ldr r0, [r4] bl sub_8091E20 pop {r4} pop {r0} bx r0 .align 2, 0 _08092AD0: .4byte gUnknown_083B57E4 thumb_func_end sub_8092AB0 thumb_func_start sub_8092AD4 sub_8092AD4: @ 8092AD4 push {r4,lr} lsls r0, 24 lsrs r0, 24 lsls r1, 24 lsrs r4, r1, 24 bl sub_8092964 cmp r4, 0x6 bhi _08092B4E lsls r0, r4, 2 ldr r1, _08092AF0 @ =_08092AF4 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _08092AF0: .4byte _08092AF4 .align 2, 0 _08092AF4: .4byte _08092B10 .4byte _08092B14 .4byte _08092B18 .4byte _08092B26 .4byte _08092B34 .4byte _08092B38 .4byte _08092B44 _08092B10: movs r0, 0x3 b _08092B3A _08092B14: movs r0, 0x4 b _08092B3A _08092B18: movs r0, 0xA movs r1, 0 movs r2, 0 bl sub_809286C movs r0, 0x5 b _08092B3A _08092B26: movs r0, 0xA movs r1, 0 movs r2, 0 bl sub_809286C movs r0, 0x6 b _08092B3A _08092B34: movs r0, 0x7 b _08092B3A _08092B38: movs r0, 0x8 _08092B3A: movs r1, 0 movs r2, 0 bl sub_809286C b _08092B4E _08092B44: movs r0, 0x9 movs r1, 0 movs r2, 0 bl sub_809286C _08092B4E: ldr r0, _08092B64 @ =gUnknown_083B57FC lsls r1, r4, 1 adds r1, r4 lsls r1, 2 adds r1, r0 ldr r0, [r1] bl sub_8091E20 pop {r4} pop {r0} bx r0 .align 2, 0 _08092B64: .4byte gUnknown_083B57FC thumb_func_end sub_8092AD4 thumb_func_start sub_8092B68 sub_8092B68: @ 8092B68 push {r4-r7,lr} mov r7, r8 push {r7} lsls r0, 24 lsrs r0, 24 ldr r2, _08092C68 @ =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r6, r1, r2 ldrh r0, [r6, 0x16] ldrh r1, [r6, 0x14] adds r0, r1 lsls r0, 16 ldr r7, _08092C6C @ =gStringVar1 ldr r1, _08092C70 @ =gUnknown_083B5910 lsrs r0, 13 adds r1, 0x4 adds r0, r1 ldr r1, [r0] adds r0, r7, 0 bl StringCopy ldr r0, _08092C74 @ =gUnknown_083B5AB2 mov r8, r0 movs r1, 0x2D movs r2, 0x10 movs r3, 0x1 bl MenuPrint_PixelCoords ldrh r0, [r6, 0x1A] ldrh r1, [r6, 0x18] adds r0, r1 lsls r0, 16 ldr r1, _08092C78 @ =gUnknown_083B5968 lsrs r0, 13 adds r1, 0x4 adds r0, r1 ldr r1, [r0] adds r0, r7, 0 bl StringCopy mov r0, r8 movs r1, 0x2D movs r2, 0x20 movs r3, 0x1 bl MenuPrint_PixelCoords ldrh r0, [r6, 0x1E] ldrh r1, [r6, 0x1C] adds r0, r1 lsls r0, 16 ldr r4, _08092C7C @ =gUnknown_083B59C8 lsrs r0, 13 adds r4, 0x4 adds r0, r4 ldr r1, [r0] adds r0, r7, 0 bl StringCopy ldr r5, _08092C80 @ =gUnknown_083B5AAC adds r0, r5, 0 movs r1, 0x2D movs r2, 0x30 movs r3, 0x1 bl MenuPrint_PixelCoords ldrh r0, [r6, 0x22] ldrh r1, [r6, 0x20] adds r0, r1 lsls r0, 16 lsrs r0, 13 adds r0, r4 ldr r1, [r0] adds r0, r7, 0 bl StringCopy adds r0, r5, 0 movs r1, 0x5D movs r2, 0x30 movs r3, 0x1 bl MenuPrint_PixelCoords ldrh r0, [r6, 0x12] ldrh r1, [r6, 0x10] adds r0, r1 lsls r0, 16 ldr r1, _08092C84 @ =gUnknown_083B58D8 lsrs r0, 13 adds r1, 0x4 adds r0, r1 ldr r1, [r0] adds r0, r7, 0 bl StringCopy mov r0, r8 movs r1, 0x2D movs r2, 0x40 movs r3, 0x1 bl MenuPrint_PixelCoords bl IsNationalPokedexEnabled cmp r0, 0 beq _08092C5E ldrh r0, [r6, 0xE] ldrh r6, [r6, 0xC] adds r0, r6 lsls r0, 16 ldr r1, _08092C88 @ =gUnknown_083B58C0 lsrs r0, 13 adds r1, 0x4 adds r0, r1 ldr r1, [r0] adds r0, r7, 0 bl StringCopy mov r0, r8 movs r1, 0x2D movs r2, 0x50 movs r3, 0x1 bl MenuPrint_PixelCoords _08092C5E: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _08092C68: .4byte gTasks _08092C6C: .4byte gStringVar1 _08092C70: .4byte gUnknown_083B5910 _08092C74: .4byte gUnknown_083B5AB2 _08092C78: .4byte gUnknown_083B5968 _08092C7C: .4byte gUnknown_083B59C8 _08092C80: .4byte gUnknown_083B5AAC _08092C84: .4byte gUnknown_083B58D8 _08092C88: .4byte gUnknown_083B58C0 thumb_func_end sub_8092B68 thumb_func_start sub_8092C8C sub_8092C8C: @ 8092C8C push {r4-r6,lr} lsls r0, 24 cmp r0, 0 bne _08092D48 ldr r1, _08092D1C @ =0x06007822 ldr r2, _08092D20 @ =0x00000c0b adds r0, r2, 0 strh r0, [r1] movs r1, 0x12 ldr r3, _08092D24 @ =0x06007800 ldr r4, _08092D28 @ =0x0000080d adds r2, r4, 0 _08092CA4: lsls r0, r1, 1 adds r0, r3 strh r2, [r0] adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0x1C bls _08092CA4 ldr r1, _08092D2C @ =0x0600783a ldr r2, _08092D30 @ =0x0000080b adds r0, r2, 0 strh r0, [r1] movs r3, 0x1 ldr r6, _08092D24 @ =0x06007800 movs r5, 0x2 _08092CC2: lsls r2, r3, 6 ldr r4, _08092D1C @ =0x06007822 adds r1, r2, r4 ldr r4, _08092D34 @ =0x0000040a adds r0, r4, 0 strh r0, [r1] movs r1, 0x12 adds r4, r3, 0x1 adds r3, r2, 0 _08092CD4: lsls r0, r1, 1 adds r0, r3, r0 adds r0, r6 strh r5, [r0] adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0x1C bls _08092CD4 ldr r1, _08092D2C @ =0x0600783a adds r0, r2, r1 movs r1, 0xA strh r1, [r0] lsls r0, r4, 16 lsrs r3, r0, 16 cmp r3, 0xC bls _08092CC2 ldr r1, _08092D38 @ =0x06007b62 ldr r2, _08092D3C @ =0x0000040b adds r0, r2, 0 strh r0, [r1] movs r1, 0x12 ldr r3, _08092D40 @ =0x06007b40 movs r2, 0xD _08092D04: lsls r0, r1, 1 adds r0, r3 strh r2, [r0] adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0x1C bls _08092D04 ldr r1, _08092D44 @ =0x06007b7a movs r0, 0xB strh r0, [r1] b _08092D6E .align 2, 0 _08092D1C: .4byte 0x06007822 _08092D20: .4byte 0x00000c0b _08092D24: .4byte 0x06007800 _08092D28: .4byte 0x0000080d _08092D2C: .4byte 0x0600783a _08092D30: .4byte 0x0000080b _08092D34: .4byte 0x0000040a _08092D38: .4byte 0x06007b62 _08092D3C: .4byte 0x0000040b _08092D40: .4byte 0x06007b40 _08092D44: .4byte 0x06007b7a _08092D48: movs r3, 0 ldr r6, _08092D74 @ =0x06007800 movs r5, 0x4F _08092D4E: movs r1, 0x11 adds r4, r3, 0x1 lsls r2, r3, 6 _08092D54: lsls r0, r1, 1 adds r0, r2, r0 adds r0, r6 strh r5, [r0] adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0x1D bls _08092D54 lsls r0, r4, 16 lsrs r3, r0, 16 cmp r3, 0xD bls _08092D4E _08092D6E: pop {r4-r6} pop {r0} bx r0 .align 2, 0 _08092D74: .4byte 0x06007800 thumb_func_end sub_8092C8C thumb_func_start sub_8092D78 sub_8092D78: @ 8092D78 push {r4-r7,lr} mov r7, r8 push {r7} lsls r0, 24 lsrs r0, 24 ldr r4, _08092DBC @ =gUnknown_083B5A7C ldr r3, _08092DC0 @ =gTasks lsls r2, r0, 2 adds r2, r0 lsls r2, 3 adds r0, r2, r3 movs r5, 0xA ldrsh r1, [r0, r5] lsls r1, 3 adds r1, r4 ldr r6, [r1] adds r3, 0x8 adds r2, r3 ldrb r0, [r1, 0x4] lsls r0, 1 adds r0, r2 mov r8, r0 ldrb r0, [r1, 0x5] lsls r0, 1 adds r7, r2, r0 movs r0, 0x12 movs r1, 0x1 movs r2, 0x1C movs r3, 0xC bl MenuZeroFillWindowRect movs r5, 0 ldrh r4, [r7] b _08092DE8 .align 2, 0 _08092DBC: .4byte gUnknown_083B5A7C _08092DC0: .4byte gTasks _08092DC4: lsls r0, r4, 3 adds r0, r6 ldr r0, [r0, 0x4] lsls r2, r5, 1 adds r2, 0x1 lsls r2, 24 lsrs r2, 24 movs r1, 0x12 bl MenuPrint adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r5, 0x5 bhi _08092DF2 _08092DE8: lsls r0, r4, 3 adds r0, r6 ldr r0, [r0, 0x4] cmp r0, 0 bne _08092DC4 _08092DF2: mov r1, r8 ldrh r0, [r1] ldrh r1, [r7] adds r0, r1 lsls r0, 3 adds r0, r6 ldr r0, [r0] bl sub_8091E20 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8092D78 thumb_func_start sub_8092E10 sub_8092E10: @ 8092E10 push {lr} lsls r0, 24 lsrs r0, 24 lsls r1, 24 lsrs r3, r1, 24 lsls r1, r0, 2 adds r1, r0 lsls r1, 3 ldr r0, _08092E50 @ =gTasks + 0x8 adds r1, r0 ldr r2, _08092E54 @ =gUnknown_083B5A7C lsls r0, r3, 3 adds r0, r2 ldrb r2, [r0, 0x4] lsls r2, 1 adds r2, r1, r2 ldrb r0, [r0, 0x5] lsls r0, 1 adds r1, r0 ldrh r0, [r1] ldrh r2, [r2] adds r0, r2 lsls r0, 16 lsrs r2, r0, 16 cmp r3, 0x5 bhi _08092E74 lsls r0, r3, 2 ldr r1, _08092E58 @ =_08092E5C adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _08092E50: .4byte gTasks + 0x8 _08092E54: .4byte gUnknown_083B5A7C _08092E58: .4byte _08092E5C .align 2, 0 _08092E5C: .4byte _08092E88 .4byte _08092E92 .4byte _08092EA2 .4byte _08092EA2 .4byte _08092E80 .4byte _08092E78 _08092E74: movs r0, 0 b _08092EA8 _08092E78: ldr r0, _08092E7C @ =gUnknown_083B5A60 b _08092EA4 .align 2, 0 _08092E7C: .4byte gUnknown_083B5A60 _08092E80: ldr r0, _08092E84 @ =gUnknown_083B5A62 b _08092EA4 .align 2, 0 _08092E84: .4byte gUnknown_083B5A62 _08092E88: cmp r2, 0 beq _08092E96 lsls r0, r2, 24 lsrs r0, 24 b _08092EA8 _08092E92: cmp r2, 0 bne _08092E9A _08092E96: movs r0, 0xFF b _08092EA8 _08092E9A: subs r0, r2, 0x1 lsls r0, 24 lsrs r0, 24 b _08092EA8 _08092EA2: ldr r0, _08092EAC @ =gUnknown_083B5A68 _08092EA4: adds r0, r2, r0 ldrb r0, [r0] _08092EA8: pop {r1} bx r1 .align 2, 0 _08092EAC: .4byte gUnknown_083B5A68 thumb_func_end sub_8092E10 thumb_func_start sub_8092EB0 sub_8092EB0: @ 8092EB0 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r1, _08092ED0 @ =gPokedexView ldr r0, [r1] ldr r2, _08092ED4 @ =0x00000614 adds r0, r2 ldrh r0, [r0] adds r5, r1, 0 cmp r0, 0 beq _08092ECA cmp r0, 0x1 beq _08092ED8 _08092ECA: movs r3, 0 b _08092EDA .align 2, 0 _08092ED0: .4byte gPokedexView _08092ED4: .4byte 0x00000614 _08092ED8: movs r3, 0x1 _08092EDA: ldr r1, _08092F00 @ =gTasks lsls r2, r4, 2 adds r0, r2, r4 lsls r0, 3 adds r0, r1 strh r3, [r0, 0xC] ldr r0, [r5] movs r3, 0xC3 lsls r3, 3 adds r0, r3 ldrh r0, [r0] adds r5, r1, 0 cmp r0, 0x5 bhi _08092F20 lsls r0, 2 ldr r1, _08092F04 @ =_08092F08 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _08092F00: .4byte gTasks _08092F04: .4byte _08092F08 .align 2, 0 _08092F08: .4byte _08092F20 .4byte _08092F24 .4byte _08092F28 .4byte _08092F2C .4byte _08092F30 .4byte _08092F34 _08092F20: movs r3, 0 b _08092F36 _08092F24: movs r3, 0x1 b _08092F36 _08092F28: movs r3, 0x2 b _08092F36 _08092F2C: movs r3, 0x3 b _08092F36 _08092F30: movs r3, 0x4 b _08092F36 _08092F34: movs r3, 0x5 _08092F36: adds r0, r2, r4 lsls r0, 3 adds r0, r5 strh r3, [r0, 0x10] pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8092EB0 thumb_func_start sub_8092F44 sub_8092F44: @ 8092F44 push {lr} lsls r0, 24 lsrs r0, 24 ldr r3, _08092F7C @ =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r0, r1, r3 ldrb r2, [r0, 0xA] adds r3, 0x8 adds r1, r3 ldr r0, _08092F80 @ =gUnknown_083B5A7C lsls r2, 3 adds r2, r0 ldrb r0, [r2, 0x5] lsls r0, 1 adds r1, r0 ldrh r0, [r2, 0x6] subs r0, 0x1 lsls r0, 16 lsrs r0, 16 cmp r0, 0x5 bls _08092F84 ldrh r0, [r1] cmp r0, 0 beq _08092F84 movs r0, 0 b _08092F86 .align 2, 0 _08092F7C: .4byte gTasks _08092F80: .4byte gUnknown_083B5A7C _08092F84: movs r0, 0x1 _08092F86: pop {r1} bx r1 thumb_func_end sub_8092F44 thumb_func_start sub_8092F8C sub_8092F8C: @ 8092F8C push {lr} lsls r0, 24 lsrs r0, 24 ldr r3, _08092FC8 @ =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r0, r1, r3 ldrb r2, [r0, 0xA] adds r3, 0x8 adds r1, r3 ldr r0, _08092FCC @ =gUnknown_083B5A7C lsls r2, 3 adds r2, r0 ldrb r0, [r2, 0x5] lsls r0, 1 adds r1, r0 ldrh r0, [r2, 0x6] subs r0, 0x1 lsls r0, 16 lsrs r0, 16 cmp r0, 0x5 bls _08092FD0 ldrh r1, [r1] subs r0, 0x5 cmp r1, r0 bge _08092FD0 movs r0, 0 b _08092FD2 .align 2, 0 _08092FC8: .4byte gTasks _08092FCC: .4byte gUnknown_083B5A7C _08092FD0: movs r0, 0x1 _08092FD2: pop {r1} bx r1 thumb_func_end sub_8092F8C thumb_func_start sub_8092FD8 sub_8092FD8: @ 8092FD8 push {r4,lr} adds r4, r0, 0 ldr r2, _08093018 @ =gTasks movs r0, 0x2E ldrsh r1, [r4, r0] lsls r0, r1, 2 adds r0, r1 lsls r0, 3 adds r0, r2 ldr r1, [r0] ldr r0, _0809301C @ =sub_8092644 cmp r1, r0 bne _08093078 movs r1, 0x30 ldrsh r0, [r4, r1] cmp r0, 0 beq _08093020 ldrh r0, [r4, 0x2E] lsls r0, 24 lsrs r0, 24 bl sub_8092F8C lsls r0, 24 cmp r0, 0 beq _0809303C adds r2, r4, 0 adds r2, 0x3E ldrb r0, [r2] movs r1, 0x4 orrs r0, r1 b _08093048 .align 2, 0 _08093018: .4byte gTasks _0809301C: .4byte sub_8092644 _08093020: ldrh r0, [r4, 0x2E] lsls r0, 24 lsrs r0, 24 bl sub_8092F44 lsls r0, 24 cmp r0, 0 beq _0809303C adds r2, r4, 0 adds r2, 0x3E ldrb r0, [r2] movs r1, 0x4 orrs r0, r1 b _08093048 _0809303C: adds r2, r4, 0 adds r2, 0x3E ldrb r1, [r2] movs r0, 0x5 negs r0, r0 ands r0, r1 _08093048: strb r0, [r2] ldrh r2, [r4, 0x32] movs r1, 0x30 ldrsh r0, [r4, r1] lsls r0, 7 adds r0, r2, r0 lsls r0, 24 ldr r1, _08093074 @ =gSineTable lsrs r0, 23 adds r0, r1 movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 bge _08093066 adds r0, 0x7F _08093066: asrs r0, 7 strh r0, [r4, 0x26] adds r0, r2, 0 adds r0, 0x8 strh r0, [r4, 0x32] b _08093084 .align 2, 0 _08093074: .4byte gSineTable _08093078: adds r0, r4, 0 adds r0, 0x3E ldrb r1, [r0] movs r2, 0x4 orrs r1, r2 strb r1, [r0] _08093084: pop {r4} pop {r0} bx r0 thumb_func_end sub_8092FD8 thumb_func_start sub_809308C sub_809308C: @ 809308C push {r4-r6,lr} mov r6, r9 mov r5, r8 push {r5,r6} adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 ldr r6, _08093104 @ =gSpriteTemplate_83A053C adds r0, r6, 0 movs r1, 0xB8 movs r2, 0x4 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r0, 24 ldr r4, _08093108 @ =gSprites lsls r1, r0, 4 adds r1, r0 lsls r1, 2 adds r0, r1, r4 movs r2, 0 strh r5, [r0, 0x2E] strh r2, [r0, 0x30] movs r0, 0x1C adds r0, r4 mov r9, r0 add r1, r9 ldr r0, _0809310C @ =sub_8092FD8 mov r8, r0 str r0, [r1] adds r0, r6, 0 movs r1, 0xB8 movs r2, 0x6C movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r0, 24 lsls r1, r0, 4 adds r1, r0 lsls r1, 2 adds r4, r1, r4 strh r5, [r4, 0x2E] movs r0, 0x1 strh r0, [r4, 0x30] adds r4, 0x3F ldrb r0, [r4] movs r2, 0x2 orrs r0, r2 strb r0, [r4] add r1, r9 mov r0, r8 str r0, [r1] pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r6} pop {r0} bx r0 .align 2, 0 _08093104: .4byte gSpriteTemplate_83A053C _08093108: .4byte gSprites _0809310C: .4byte sub_8092FD8 thumb_func_end sub_809308C .align 2, 0 @ Don't pad with nop.