.include "constants/gba_constants.inc" .include "constants/species_constants.inc" .include "asm/macros.inc" .syntax unified .text thumb_func_start sub_80EBA5C sub_80EBA5C: @ 80EBA5C push {lr} ldr r0, _080EBA74 @ =gMain ldr r2, _080EBA78 @ =0x0000043c adds r1, r0, r2 ldrb r0, [r1] cmp r0, 0xE bhi _080EBABC lsls r0, 2 ldr r1, _080EBA7C @ =_080EBA80 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EBA74: .4byte gMain _080EBA78: .4byte 0x0000043c _080EBA7C: .4byte _080EBA80 .align 2, 0 _080EBA80: .4byte _080EBAC0 .4byte _080EBB08 .4byte _080EBB10 .4byte _080EBB16 .4byte _080EBB1C .4byte _080EBB22 .4byte _080EBB28 .4byte _080EBB2E .4byte _080EBB3E .4byte _080EBB4C .4byte _080EBB5C .4byte _080EBB6C .4byte _080EBB7C .4byte _080EBB90 .4byte _080EBBA0 _080EBABC: movs r0, 0 strb r0, [r1] _080EBAC0: bl is_c1_link_related_active ldr r3, _080EBAF0 @ =0x02000000 ldr r2, _080EBAF4 @ =0x00006dac adds r1, r3, r2 strb r0, [r1] lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 bne _080EBBC0 ldr r1, _080EBAF8 @ =0x00006dab adds r0, r3, r1 strb r2, [r0] ldr r1, _080EBAFC @ =gMain ldr r2, _080EBB00 @ =0x0000043c adds r1, r2 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] ldr r0, _080EBB04 @ =sub_80EBBE8 bl SetMainCallback2 b _080EBBC0 .align 2, 0 _080EBAF0: .4byte 0x02000000 _080EBAF4: .4byte 0x00006dac _080EBAF8: .4byte 0x00006dab _080EBAFC: .4byte gMain _080EBB00: .4byte 0x0000043c _080EBB04: .4byte sub_80EBBE8 _080EBB08: movs r0, 0 bl SetVBlankCallback b _080EBBC0 _080EBB10: bl ResetPaletteFade b _080EBBC0 _080EBB16: bl ResetSpriteData b _080EBBC0 _080EBB1C: bl FreeAllSpritePalettes b _080EBBC0 _080EBB22: bl ResetTasks b _080EBBC0 _080EBB28: bl remove_some_task b _080EBBC0 _080EBB2E: bl sub_80F1A90 ldr r1, _080EBB44 @ =gMain ldr r0, _080EBB48 @ =0x0000043c adds r1, r0 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _080EBB3E: bl sub_80F1AC4 b _080EBB80 .align 2, 0 _080EBB44: .4byte gMain _080EBB48: .4byte 0x0000043c _080EBB4C: bl sub_80F2688 ldr r1, _080EBB64 @ =gMain ldr r2, _080EBB68 @ =0x0000043c adds r1, r2 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _080EBB5C: bl sub_80F26BC b _080EBB80 .align 2, 0 _080EBB64: .4byte gMain _080EBB68: .4byte 0x0000043c _080EBB6C: bl sub_80F36F0 ldr r1, _080EBB88 @ =gMain ldr r0, _080EBB8C @ =0x0000043c adds r1, r0 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _080EBB7C: bl sub_80F3724 _080EBB80: lsls r0, 24 cmp r0, 0 bne _080EBBCC b _080EBBC0 .align 2, 0 _080EBB88: .4byte gMain _080EBB8C: .4byte 0x0000043c _080EBB90: bl sub_80EBC10 ldr r0, _080EBB9C @ =sub_80EBDD8 bl sub_80EBDBC b _080EBBC0 .align 2, 0 _080EBB9C: .4byte sub_80EBDD8 _080EBBA0: ldr r0, _080EBBD0 @ =0x02000000 ldr r1, _080EBBD4 @ =0x00006dab adds r0, r1 movs r1, 0x1 strb r1, [r0] movs r0, 0x6E bl PlaySE ldr r0, _080EBBD8 @ =sub_80EBD90 bl SetMainCallback2 ldr r0, _080EBBDC @ =sub_80EBD18 bl SetVBlankCallback bl sub_80F1A74 _080EBBC0: ldr r1, _080EBBE0 @ =gMain ldr r2, _080EBBE4 @ =0x0000043c adds r1, r2 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _080EBBCC: pop {r0} bx r0 .align 2, 0 _080EBBD0: .4byte 0x02000000 _080EBBD4: .4byte 0x00006dab _080EBBD8: .4byte sub_80EBD90 _080EBBDC: .4byte sub_80EBD18 _080EBBE0: .4byte gMain _080EBBE4: .4byte 0x0000043c thumb_func_end sub_80EBA5C thumb_func_start sub_80EBBE8 sub_80EBBE8: @ 80EBBE8 push {r4,lr} ldr r0, _080EBC08 @ =0x02000000 ldr r2, _080EBC0C @ =0x00006dab adds r1, r0, r2 ldrb r0, [r1] cmp r0, 0 bne _080EBC02 adds r4, r1, 0 _080EBBF8: bl sub_80EBA5C ldrb r0, [r4] cmp r0, 0 beq _080EBBF8 _080EBC02: pop {r4} pop {r0} bx r0 .align 2, 0 _080EBC08: .4byte 0x02000000 _080EBC0C: .4byte 0x00006dab thumb_func_end sub_80EBBE8 thumb_func_start sub_80EBC10 sub_80EBC10: @ 80EBC10 push {r4-r7,lr} ldr r1, _080EBC7C @ =gKeyRepeatStartDelay movs r0, 0x14 strh r0, [r1] bl CalculatePlayerPartyCount ldr r2, _080EBC80 @ =0x02000000 ldr r1, _080EBC84 @ =0x00008828 adds r3, r2, r1 movs r1, 0 strb r0, [r3] ldr r3, _080EBC88 @ =0x00006ddc adds r0, r2, r3 strb r1, [r0] ldr r3, _080EBC8C @ =0x00009344 adds r0, r2, r3 strb r1, [r0] ldr r3, _080EBC90 @ =0x00008768 adds r0, r2, r3 str r1, [r0] ldr r3, _080EBC94 @ =0x0000ced0 adds r0, r2, r3 str r1, [r0] movs r3, 0 ldr r0, _080EBC98 @ =0x00008fff adds r7, r2, r0 mov r12, r2 movs r6, 0 ldr r5, _080EBC9C @ =0x00009040 movs r4, 0x9B _080EBC4C: adds r0, r3, r7 strb r6, [r0] lsls r1, r3, 2 adds r1, r2 adds r0, r1, r5 strh r4, [r0] ldr r0, _080EBCA0 @ =0x00009042 adds r1, r0 movs r0, 0x5B strh r0, [r1] adds r0, r3, 0x1 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0x4 bls _080EBC4C ldr r1, _080EBCA4 @ =0x00006e95 add r1, r12 movs r0, 0 strb r0, [r1] bl sub_80EBCA8 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080EBC7C: .4byte gKeyRepeatStartDelay _080EBC80: .4byte 0x02000000 _080EBC84: .4byte 0x00008828 _080EBC88: .4byte 0x00006ddc _080EBC8C: .4byte 0x00009344 _080EBC90: .4byte 0x00008768 _080EBC94: .4byte 0x0000ced0 _080EBC98: .4byte 0x00008fff _080EBC9C: .4byte 0x00009040 _080EBCA0: .4byte 0x00009042 _080EBCA4: .4byte 0x00006e95 thumb_func_end sub_80EBC10 thumb_func_start sub_80EBCA8 sub_80EBCA8: @ 80EBCA8 push {r4,lr} ldr r4, _080EBCDC @ =0x02000000 ldr r0, _080EBCE0 @ =0x00006db2 adds r1, r4, r0 movs r0, 0x1 strb r0, [r1] ldr r0, _080EBCE4 @ =0x00006db3 adds r1, r4, r0 movs r0, 0x2 strb r0, [r1] ldr r0, _080EBCE8 @ =0x00006db4 adds r1, r4, r0 movs r0, 0x3 strb r0, [r1] ldr r0, _080EBCEC @ =0x0000083b bl FlagGet lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 beq _080EBCF4 ldr r0, _080EBCF0 @ =0x00006db5 adds r1, r4, r0 movs r0, 0x4 strb r0, [r1] b _080EBCFA .align 2, 0 _080EBCDC: .4byte 0x02000000 _080EBCE0: .4byte 0x00006db2 _080EBCE4: .4byte 0x00006db3 _080EBCE8: .4byte 0x00006db4 _080EBCEC: .4byte 0x0000083b _080EBCF0: .4byte 0x00006db5 _080EBCF4: ldr r1, _080EBD0C @ =0x00006db5 adds r0, r4, r1 strb r2, [r0] _080EBCFA: ldr r0, _080EBD10 @ =0x02000000 ldr r1, _080EBD14 @ =0x00006db6 adds r0, r1 movs r1, 0x5 strb r1, [r0] pop {r4} pop {r0} bx r0 .align 2, 0 _080EBD0C: .4byte 0x00006db5 _080EBD10: .4byte 0x02000000 _080EBD14: .4byte 0x00006db6 thumb_func_end sub_80EBCA8 thumb_func_start sub_80EBD18 sub_80EBD18: @ 80EBD18 push {lr} bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer bl sub_80F1FF0 pop {r0} bx r0 thumb_func_end sub_80EBD18 thumb_func_start sub_80EBD30 sub_80EBD30: @ 80EBD30 push {lr} bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer bl UpdateRegionMapVideoRegs bl sub_80EFE7C pop {r0} bx r0 thumb_func_end sub_80EBD30 thumb_func_start sub_80EBD4C sub_80EBD4C: @ 80EBD4C push {lr} bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer bl sub_80F5BF0 bl sub_8089668 pop {r0} bx r0 thumb_func_end sub_80EBD4C thumb_func_start sub_80EBD68 sub_80EBD68: @ 80EBD68 push {lr} bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer bl sub_80F6F64 pop {r0} bx r0 thumb_func_end sub_80EBD68 thumb_func_start sub_80EBD80 sub_80EBD80: @ 80EBD80 push {lr} bl LoadOam bl ProcessSpriteCopyRequests pop {r0} bx r0 thumb_func_end sub_80EBD80 thumb_func_start sub_80EBD90 sub_80EBD90: @ 80EBD90 push {lr} ldr r0, _080EBDB8 @ =0x02000000 movs r1, 0xC0 lsls r1, 2 adds r0, r1 ldr r0, [r0] bl _call_via_r0 bl AnimateSprites bl BuildOamBuffer bl RunTasks bl UpdatePaletteFade bl sub_80F19FC pop {r0} bx r0 .align 2, 0 _080EBDB8: .4byte 0x02000000 thumb_func_end sub_80EBD90 thumb_func_start sub_80EBDBC sub_80EBDBC: @ 80EBDBC ldr r2, _080EBDD4 @ =0x02000000 movs r3, 0xC0 lsls r3, 2 adds r1, r2, r3 str r0, [r1] movs r0, 0xC1 lsls r0, 2 adds r1, r2, r0 movs r0, 0 strh r0, [r1] bx lr .align 2, 0 _080EBDD4: .4byte 0x02000000 thumb_func_end sub_80EBDBC thumb_func_start sub_80EBDD8 sub_80EBDD8: @ 80EBDD8 push {lr} sub sp, 0x4 ldr r1, _080EBDF8 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r2, r1, 0 cmp r0, 0x11 bls _080EBDEE b _080EC000 _080EBDEE: lsls r0, 2 ldr r1, _080EBDFC @ =_080EBE00 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EBDF8: .4byte 0x02000000 _080EBDFC: .4byte _080EBE00 .align 2, 0 _080EBE00: .4byte _080EBE48 .4byte _080EBE80 .4byte _080EBE92 .4byte _080EBEAC .4byte _080EBEC0 .4byte _080EBED2 .4byte _080EBEF0 .4byte _080EBF04 .4byte _080EBF18 .4byte _080EBF2C .4byte _080EBF48 .4byte _080EBF54 .4byte _080EBF74 .4byte _080EBF88 .4byte _080EBFA0 .4byte _080EBFB4 .4byte _080EBFD0 .4byte _080EBFE8 _080EBE48: movs r0, 0 bl SetVBlankCallback movs r1, 0x80 lsls r1, 19 movs r0, 0 strh r0, [r1] ldr r1, _080EBE74 @ =0x02000000 ldr r3, _080EBE78 @ =0x00006ddc adds r0, r1, r3 ldrb r2, [r0] subs r3, 0x2F adds r0, r1, r3 strb r2, [r0] ldr r0, _080EBE7C @ =0x00006dae adds r2, r1, r0 movs r0, 0x5 strb r0, [r2] movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EBFDC .align 2, 0 _080EBE74: .4byte 0x02000000 _080EBE78: .4byte 0x00006ddc _080EBE7C: .4byte 0x00006dae _080EBE80: bl sub_80F3FF0 ldr r1, _080EBEA8 @ =0x02000000 movs r3, 0xC1 lsls r3, 2 adds r1, r3 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EBE92: bl sub_80F4024 lsls r0, 24 cmp r0, 0 beq _080EBE9E b _080EC000 _080EBE9E: ldr r1, _080EBEA8 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EBFDC .align 2, 0 _080EBEA8: .4byte 0x02000000 _080EBEAC: bl sub_80F2598 ldr r1, _080EBEBC @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EBFDC .align 2, 0 _080EBEBC: .4byte 0x02000000 _080EBEC0: bl sub_80EEE20 ldr r1, _080EBEEC @ =0x02000000 movs r3, 0xC1 lsls r3, 2 adds r1, r3 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EBED2: bl sub_80EEE54 lsls r0, 24 cmp r0, 0 beq _080EBEDE b _080EC000 _080EBEDE: bl sub_80EEE08 ldr r1, _080EBEEC @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EBFDC .align 2, 0 _080EBEEC: .4byte 0x02000000 _080EBEF0: movs r0, 0 bl sub_80EF248 ldr r1, _080EBF14 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EBF04: movs r0, 0 bl sub_80EF284 lsls r0, 24 cmp r0, 0 beq _080EBF12 b _080EC000 _080EBF12: b _080EBFD4 .align 2, 0 _080EBF14: .4byte 0x02000000 _080EBF18: movs r0, 0 bl sub_80F1B8C ldr r1, _080EBF44 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EBF2C: movs r0, 0 bl sub_80F1BC8 lsls r0, 24 cmp r0, 0 bne _080EC000 ldr r1, _080EBF44 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EBFDC .align 2, 0 _080EBF44: .4byte 0x02000000 _080EBF48: ldr r0, _080EBF50 @ =sub_80EBD18 bl SetVBlankCallback b _080EBFD4 .align 2, 0 _080EBF50: .4byte sub_80EBD18 _080EBF54: movs r0, 0x1 negs r0, r0 movs r1, 0 str r1, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r1, _080EBF70 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EBFDC .align 2, 0 _080EBF70: .4byte 0x02000000 _080EBF74: movs r0, 0 bl sub_80EED2C ldr r1, _080EBF84 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EBFDC .align 2, 0 _080EBF84: .4byte 0x02000000 _080EBF88: ldr r0, _080EBF9C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EC000 movs r3, 0xC1 lsls r3, 2 adds r1, r2, r3 b _080EBFDC .align 2, 0 _080EBF9C: .4byte gPaletteFade _080EBFA0: movs r0, 0 bl sub_80F2C80 ldr r1, _080EBFCC @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EBFB4: movs r0, 0 bl sub_80F2CBC lsls r0, 24 cmp r0, 0 bne _080EC000 ldr r1, _080EBFCC @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EBFDC .align 2, 0 _080EBFCC: .4byte 0x02000000 _080EBFD0: bl sub_80F1DF0 _080EBFD4: ldr r1, _080EBFE4 @ =0x02000000 movs r3, 0xC1 lsls r3, 2 adds r1, r3 _080EBFDC: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080EC000 .align 2, 0 _080EBFE4: .4byte 0x02000000 _080EBFE8: bl sub_80F1E50 lsls r0, 24 cmp r0, 0 bne _080EC000 movs r0, 0 movs r1, 0 bl sub_80EF428 ldr r0, _080EC008 @ =sub_80EC268 bl sub_80EBDBC _080EC000: add sp, 0x4 pop {r0} bx r0 .align 2, 0 _080EC008: .4byte sub_80EC268 thumb_func_end sub_80EBDD8 thumb_func_start sub_80EC00C sub_80EC00C: @ 80EC00C push {r4,lr} sub sp, 0x4 ldr r1, _080EC02C @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r4, r1, 0 cmp r0, 0xD bls _080EC022 b _080EC1FA _080EC022: lsls r0, 2 ldr r1, _080EC030 @ =_080EC034 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EC02C: .4byte 0x02000000 _080EC030: .4byte _080EC034 .align 2, 0 _080EC034: .4byte _080EC06C .4byte _080EC0C0 .4byte _080EC0D4 .4byte _080EC0F0 .4byte _080EC104 .4byte _080EC120 .4byte _080EC12A .4byte _080EC154 .4byte _080EC168 .4byte _080EC180 .4byte _080EC194 .4byte _080EC1A8 .4byte _080EC1C4 .4byte _080EC1DC _080EC06C: bl sub_80EEF78 lsls r0, 24 cmp r0, 0 beq _080EC078 b _080EC1FA _080EC078: ldr r0, _080EC0AC @ =sub_80EBD80 bl SetVBlankCallback bl sub_80EED1C ldr r4, _080EC0B0 @ =0x02000000 ldr r1, _080EC0B4 @ =0x00006ddc adds r0, r4, r1 ldrb r1, [r0] ldr r2, _080EC0B8 @ =0x00006dad adds r0, r4, r2 strb r1, [r0] ldr r0, _080EC0BC @ =0x00006dae adds r1, r4, r0 movs r0, 0x5 strb r0, [r1] bl sub_80EEE08 movs r1, 0xC1 lsls r1, 2 adds r4, r1 ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] b _080EC1FA .align 2, 0 _080EC0AC: .4byte sub_80EBD80 _080EC0B0: .4byte 0x02000000 _080EC0B4: .4byte 0x00006ddc _080EC0B8: .4byte 0x00006dad _080EC0BC: .4byte 0x00006dae _080EC0C0: movs r0, 0 bl sub_80EF248 ldr r1, _080EC0EC @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EC0D4: movs r0, 0 bl sub_80EF284 lsls r0, 24 cmp r0, 0 beq _080EC0E2 b _080EC1FA _080EC0E2: ldr r1, _080EC0EC @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EC1D0 .align 2, 0 _080EC0EC: .4byte 0x02000000 _080EC0F0: movs r0, 0 bl sub_80F1B8C ldr r1, _080EC11C @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EC104: movs r0, 0 bl sub_80F1BC8 lsls r0, 24 cmp r0, 0 beq _080EC112 b _080EC1FA _080EC112: ldr r1, _080EC11C @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EC1D0 .align 2, 0 _080EC11C: .4byte 0x02000000 _080EC120: bl sub_8055870 cmp r0, 0 bne _080EC1FA b _080EC1C8 _080EC12A: movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r0, _080EC150 @ =sub_80EBD18 bl SetVBlankCallback movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080EC1D0 .align 2, 0 _080EC150: .4byte sub_80EBD18 _080EC154: movs r0, 0 bl sub_80EED2C ldr r1, _080EC164 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EC1D0 .align 2, 0 _080EC164: .4byte 0x02000000 _080EC168: ldr r0, _080EC17C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EC1FA movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080EC1D0 .align 2, 0 _080EC17C: .4byte gPaletteFade _080EC180: bl sub_80F2598 ldr r1, _080EC190 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EC1D0 .align 2, 0 _080EC190: .4byte 0x02000000 _080EC194: movs r0, 0 bl sub_80F2C80 ldr r1, _080EC1C0 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EC1A8: movs r0, 0 bl sub_80F2CBC lsls r0, 24 cmp r0, 0 bne _080EC1FA ldr r1, _080EC1C0 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EC1D0 .align 2, 0 _080EC1C0: .4byte 0x02000000 _080EC1C4: bl sub_80F1DF0 _080EC1C8: ldr r1, _080EC1D8 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 _080EC1D0: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080EC1FA .align 2, 0 _080EC1D8: .4byte 0x02000000 _080EC1DC: bl sub_80F1E50 lsls r0, 24 cmp r0, 0 bne _080EC1FA ldr r0, _080EC204 @ =0x02000000 ldr r1, _080EC208 @ =0x00006dad adds r0, r1 ldrb r1, [r0] movs r0, 0 bl sub_80EF428 ldr r0, _080EC20C @ =sub_80EC268 bl sub_80EBDBC _080EC1FA: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080EC204: .4byte 0x02000000 _080EC208: .4byte 0x00006dad _080EC20C: .4byte sub_80EC268 thumb_func_end sub_80EC00C thumb_func_start sub_80EC210 sub_80EC210: @ 80EC210 push {r4,r5,lr} ldr r5, _080EC228 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r4, r5, r0 ldrh r0, [r4] cmp r0, 0 beq _080EC22C cmp r0, 0x1 beq _080EC24C b _080EC25C .align 2, 0 _080EC228: .4byte 0x02000000 _080EC22C: movs r0, 0x1 bl sub_80F2D04 ldr r1, _080EC248 @ =0x00006ddc adds r0, r5, r1 ldrb r1, [r0] movs r0, 0 movs r2, 0 bl sub_80EE9C0 ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] b _080EC25C .align 2, 0 _080EC248: .4byte 0x00006ddc _080EC24C: bl sub_80EEA0C lsls r0, 24 cmp r0, 0 bne _080EC25C ldr r0, _080EC264 @ =sub_80EC268 bl sub_80EBDBC _080EC25C: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080EC264: .4byte sub_80EC268 thumb_func_end sub_80EC210 thumb_func_start sub_80EC268 sub_80EC268: @ 80EC268 push {r4-r6,lr} ldr r4, _080EC290 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r6, r4, r0 ldrh r0, [r6] cmp r0, 0x3 bne _080EC27A b _080EC3BE _080EC27A: cmp r0, 0x3 bgt _080EC294 cmp r0, 0x1 bne _080EC284 b _080EC3A2 _080EC284: cmp r0, 0x1 ble _080EC28A b _080EC3B4 _080EC28A: cmp r0, 0 beq _080EC2AE b _080EC492 .align 2, 0 _080EC290: .4byte 0x02000000 _080EC294: cmp r0, 0x6 bne _080EC29A b _080EC414 _080EC29A: cmp r0, 0x6 bgt _080EC2A6 cmp r0, 0x4 bne _080EC2A4 b _080EC3DC _080EC2A4: b _080EC492 _080EC2A6: cmp r0, 0xFF bne _080EC2AC b _080EC44C _080EC2AC: b _080EC492 _080EC2AE: bl sub_80EEC10 lsls r0, 24 cmp r0, 0 beq _080EC2D4 movs r0, 0x5 bl PlaySE ldr r1, _080EC2D0 @ =0x00006dad adds r0, r4, r1 ldrb r1, [r0] movs r0, 0 bl sub_80EF428 bl sub_80EED9C b _080EC492 .align 2, 0 _080EC2D0: .4byte 0x00006dad _080EC2D4: ldr r0, _080EC310 @ =gMain ldrh r1, [r0, 0x2E] movs r2, 0x1 adds r0, r2, 0 ands r0, r1 cmp r0, 0 beq _080EC394 ldr r2, _080EC314 @ =0x00006dad adds r0, r4, r2 ldrb r1, [r0] adds r2, 0x2F adds r0, r4, r2 strb r1, [r0] ldrb r0, [r0] lsls r0, 24 asrs r0, 24 subs r2, 0x2A adds r1, r4, r2 adds r0, r1 ldrb r0, [r0] subs r0, 0x1 cmp r0, 0x4 bls _080EC304 b _080EC492 _080EC304: lsls r0, 2 ldr r1, _080EC318 @ =_080EC31C adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EC310: .4byte gMain _080EC314: .4byte 0x00006dad _080EC318: .4byte _080EC31C .align 2, 0 _080EC31C: .4byte _080EC330 .4byte _080EC344 .4byte _080EC380 .4byte _080EC36C .4byte _080EC358 _080EC330: movs r0, 0x5 bl PlaySE ldr r0, _080EC340 @ =sub_80EC4A0 bl sub_80EBDBC b _080EC492 .align 2, 0 _080EC340: .4byte sub_80EC4A0 _080EC344: movs r0, 0x5 bl PlaySE ldr r0, _080EC354 @ =sub_80EC81C bl sub_80EBDBC b _080EC492 .align 2, 0 _080EC354: .4byte sub_80EC81C _080EC358: ldr r0, _080EC368 @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r0, r1 movs r1, 0x1 strh r1, [r0] b _080EC492 .align 2, 0 _080EC368: .4byte 0x02000000 _080EC36C: ldr r0, _080EC37C @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r2 movs r1, 0x2 strh r1, [r0] b _080EC492 .align 2, 0 _080EC37C: .4byte 0x02000000 _080EC380: ldr r0, _080EC390 @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r0, r1 movs r1, 0x6 strh r1, [r0] b _080EC492 .align 2, 0 _080EC390: .4byte 0x02000000 _080EC394: movs r0, 0x2 ands r0, r1 cmp r0, 0 bne _080EC39E b _080EC492 _080EC39E: strh r2, [r6] b _080EC492 _080EC3A2: bl sub_80F208C ldr r0, _080EC3B0 @ =sub_80EE96C bl sub_80EBDBC b _080EC492 .align 2, 0 _080EC3B0: .4byte sub_80EE96C _080EC3B4: bl sub_80F6208 ldrh r0, [r6] adds r0, 0x1 strh r0, [r6] _080EC3BE: bl sub_80F6250 lsls r0, 24 cmp r0, 0 bne _080EC492 ldr r1, _080EC3D8 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080EC492 .align 2, 0 _080EC3D8: .4byte 0x02000000 _080EC3DC: bl sub_8055870 cmp r0, 0 bne _080EC492 ldr r1, _080EC400 @ =0x00008fe8 adds r0, r4, r1 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0 beq _080EC408 movs r0, 0x5 bl PlaySE ldr r0, _080EC404 @ =sub_80EDB88 bl sub_80EBDBC b _080EC492 .align 2, 0 _080EC400: .4byte 0x00008fe8 _080EC404: .4byte sub_80EDB88 _080EC408: movs r0, 0x20 bl PlaySE movs r0, 0 movs r1, 0x5 b _080EC442 _080EC414: bl sub_80F6C20 ldr r2, _080EC430 @ =0x0000d158 adds r0, r4, r2 ldrh r0, [r0] cmp r0, 0 beq _080EC438 movs r0, 0x5 bl PlaySE ldr r0, _080EC434 @ =sub_80EE3D8 bl sub_80EBDBC b _080EC492 .align 2, 0 _080EC430: .4byte 0x0000d158 _080EC434: .4byte sub_80EE3D8 _080EC438: movs r0, 0x20 bl PlaySE movs r0, 0 movs r1, 0x6 _080EC442: bl sub_80EF428 movs r0, 0xFF strh r0, [r6] b _080EC492 _080EC44C: bl sub_80EEC10 lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0 beq _080EC478 movs r0, 0x5 bl PlaySE ldr r1, _080EC474 @ =0x00006dad adds r0, r4, r1 ldrb r1, [r0] movs r0, 0 bl sub_80EF428 movs r0, 0 strh r0, [r6] bl sub_80EED9C b _080EC492 .align 2, 0 _080EC474: .4byte 0x00006dad _080EC478: ldr r0, _080EC498 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 cmp r0, 0 beq _080EC492 ldr r2, _080EC49C @ =0x00006dad adds r0, r4, r2 ldrb r1, [r0] movs r0, 0 bl sub_80EF428 strh r5, [r6] _080EC492: pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080EC498: .4byte gMain _080EC49C: .4byte 0x00006dad thumb_func_end sub_80EC268 thumb_func_start sub_80EC4A0 sub_80EC4A0: @ 80EC4A0 push {r4,lr} sub sp, 0x4 ldr r1, _080EC4C0 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r4, r1, 0 cmp r0, 0xE bls _080EC4B6 b _080EC66A _080EC4B6: lsls r0, 2 ldr r1, _080EC4C4 @ =_080EC4C8 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EC4C0: .4byte 0x02000000 _080EC4C4: .4byte _080EC4C8 .align 2, 0 _080EC4C8: .4byte _080EC504 .4byte _080EC510 .4byte _080EC544 .4byte _080EC578 .4byte _080EC594 .4byte _080EC5A8 .4byte _080EC5AE .4byte _080EC5C0 .4byte _080EC5D0 .4byte _080EC5E4 .4byte _080EC5F8 .4byte _080EC614 .4byte _080EC61E .4byte _080EC63E .4byte _080EC658 _080EC504: bl sub_80F1E84 movs r0, 0 bl sub_80F2D04 b _080EC644 _080EC510: bl sub_80F1F10 lsls r0, 24 cmp r0, 0 beq _080EC51C b _080EC66A _080EC51C: ldr r0, _080EC53C @ =gSaveBlock2 ldrb r1, [r0, 0x15] movs r0, 0x8 ands r0, r1 movs r1, 0x8 cmp r0, 0 beq _080EC52C movs r1, 0x7 _080EC52C: adds r0, r1, 0 bl sub_80EEFBC ldr r1, _080EC540 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EC64C .align 2, 0 _080EC53C: .4byte gSaveBlock2 _080EC540: .4byte 0x02000000 _080EC544: bl sub_80EEF34 lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 beq _080EC552 b _080EC66A _080EC552: ldr r4, _080EC574 @ =0x02000000 movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 str r2, [sp] movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080EC64C .align 2, 0 _080EC574: .4byte 0x02000000 _080EC578: ldr r0, _080EC590 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EC66A movs r0, 0 bl SetVBlankCallback bl sub_80EED0C b _080EC644 .align 2, 0 _080EC590: .4byte gPaletteFade _080EC594: bl sub_80F2620 ldr r1, _080EC5A4 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EC64C .align 2, 0 _080EC5A4: .4byte 0x02000000 _080EC5A8: bl sub_80EF814 b _080EC644 _080EC5AE: bl sub_80EF840 ldr r1, _080EC5CC @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EC5C0: bl sub_80EF874 lsls r0, 24 cmp r0, 0 bne _080EC66A b _080EC644 .align 2, 0 _080EC5CC: .4byte 0x02000000 _080EC5D0: movs r0, 0x4 bl sub_80F2C80 ldr r1, _080EC5F4 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EC5E4: movs r0, 0x4 bl sub_80F2CBC lsls r0, 24 cmp r0, 0 bne _080EC66A b _080EC644 .align 2, 0 _080EC5F4: .4byte 0x02000000 _080EC5F8: bl sub_80F2DD8 ldr r0, _080EC60C @ =sub_80EBD30 bl SetVBlankCallback ldr r1, _080EC610 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EC64C .align 2, 0 _080EC60C: .4byte sub_80EBD30 _080EC610: .4byte 0x02000000 _080EC614: bl sub_8055870 cmp r0, 0 bne _080EC66A b _080EC644 _080EC61E: movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080EC64C _080EC63E: movs r0, 0x1 bl sub_80EED2C _080EC644: ldr r1, _080EC654 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 _080EC64C: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080EC66A .align 2, 0 _080EC654: .4byte 0x02000000 _080EC658: ldr r0, _080EC674 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EC66A ldr r0, _080EC678 @ =sub_80EC67C bl sub_80EBDBC _080EC66A: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080EC674: .4byte gPaletteFade _080EC678: .4byte sub_80EC67C thumb_func_end sub_80EC4A0 thumb_func_start sub_80EC67C sub_80EC67C: @ 80EC67C push {r4,r5,lr} sub sp, 0x4 ldr r1, _080EC69C @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r4, r1, 0 cmp r0, 0x5 bls _080EC692 b _080EC800 _080EC692: lsls r0, 2 ldr r1, _080EC6A0 @ =_080EC6A4 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EC69C: .4byte 0x02000000 _080EC6A0: .4byte _080EC6A4 .align 2, 0 _080EC6A4: .4byte _080EC6BC .4byte _080EC718 .4byte _080EC746 .4byte _080EC77C .4byte _080EC7A0 .4byte _080EC7C4 _080EC6BC: bl sub_80FAB60 lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _080EC6E2 cmp r0, 0x3 bgt _080EC6D2 cmp r0, 0x1 beq _080EC6DC b _080EC800 _080EC6D2: cmp r0, 0x4 beq _080EC6E8 cmp r0, 0x5 beq _080EC700 b _080EC800 _080EC6DC: bl sub_80EED9C b _080EC800 _080EC6E2: bl sub_80EF9F8 b _080EC800 _080EC6E8: movs r0, 0x5 bl PlaySE ldr r0, _080EC6FC @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r0, r1 movs r1, 0x1 strh r1, [r0] b _080EC800 .align 2, 0 _080EC6FC: .4byte 0x02000000 _080EC700: movs r0, 0x5 bl PlaySE ldr r0, _080EC714 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r2 movs r1, 0x4 strh r1, [r0] b _080EC800 .align 2, 0 _080EC714: .4byte 0x02000000 _080EC718: ldr r1, _080EC730 @ =0x00006e90 adds r0, r4, r1 ldrb r0, [r0] cmp r0, 0 bne _080EC734 bl sub_80FAEC4 movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080EC7BC .align 2, 0 _080EC730: .4byte 0x00006e90 _080EC734: movs r0, 0x1 bl sub_80EFBDC lsls r0, 24 cmp r0, 0 bne _080EC800 bl sub_80FAEC4 b _080EC7B6 _080EC746: bl sub_80FAFC0 lsls r0, 24 cmp r0, 0 bne _080EC800 ldr r5, _080EC76C @ =0x02000000 ldr r1, _080EC770 @ =0x00006e90 adds r0, r5, r1 ldrb r4, [r0] cmp r4, 0 bne _080EC774 bl sub_80EFBB0 movs r2, 0xC1 lsls r2, 2 adds r0, r5, r2 strh r4, [r0] b _080EC800 .align 2, 0 _080EC76C: .4byte 0x02000000 _080EC770: .4byte 0x00006e90 _080EC774: movs r0, 0xC1 lsls r0, 2 adds r1, r5, r0 b _080EC7BC _080EC77C: movs r0, 0 bl sub_80EFBDC lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 bne _080EC800 bl sub_80EFBB0 ldr r0, _080EC79C @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r0, r1 strh r4, [r0] b _080EC800 .align 2, 0 _080EC79C: .4byte 0x02000000 _080EC7A0: movs r2, 0xC2 lsls r2, 2 adds r0, r4, r2 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r3, 0x10 bl BeginNormalPaletteFade _080EC7B6: movs r0, 0xC1 lsls r0, 2 adds r1, r4, r0 _080EC7BC: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080EC800 _080EC7C4: ldr r0, _080EC808 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EC800 bl sub_80F2DF4 movs r0, 0x4 bl sub_80F2D04 ldr r3, _080EC80C @ =gSaveBlock2 movs r2, 0 ldr r0, _080EC810 @ =0x02000000 ldr r1, _080EC814 @ =0x00006e90 adds r0, r1 ldrb r0, [r0] cmp r0, 0x1 bne _080EC7EC movs r2, 0x1 _080EC7EC: lsls r2, 3 ldrb r1, [r3, 0x15] movs r0, 0x9 negs r0, r0 ands r0, r1 orrs r0, r2 strb r0, [r3, 0x15] ldr r0, _080EC818 @ =sub_80EC00C bl sub_80EBDBC _080EC800: add sp, 0x4 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080EC808: .4byte gPaletteFade _080EC80C: .4byte gSaveBlock2 _080EC810: .4byte 0x02000000 _080EC814: .4byte 0x00006e90 _080EC818: .4byte sub_80EC00C thumb_func_end sub_80EC67C thumb_func_start sub_80EC81C sub_80EC81C: @ 80EC81C push {r4,lr} ldr r0, _080EC834 @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r4, r0, r1 ldrh r0, [r4] cmp r0, 0 beq _080EC838 cmp r0, 0x1 beq _080EC850 b _080EC860 .align 2, 0 _080EC834: .4byte 0x02000000 _080EC838: movs r0, 0 bl sub_80F2D04 movs r0, 0x1 movs r1, 0 movs r2, 0x1 bl sub_80EE9C0 ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] b _080EC860 _080EC850: bl sub_80EEA0C lsls r0, 24 cmp r0, 0 bne _080EC860 ldr r0, _080EC868 @ =sub_80EC86C bl sub_80EBDBC _080EC860: pop {r4} pop {r0} bx r0 .align 2, 0 _080EC868: .4byte sub_80EC86C thumb_func_end sub_80EC81C thumb_func_start sub_80EC86C sub_80EC86C: @ 80EC86C push {r4-r6,lr} ldr r4, _080EC884 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r5, r4, r0 ldrh r0, [r5] cmp r0, 0 beq _080EC888 cmp r0, 0x1 beq _080EC944 b _080EC954 .align 2, 0 _080EC884: .4byte 0x02000000 _080EC888: bl sub_80EEC90 lsls r0, 24 cmp r0, 0 beq _080EC8B0 movs r0, 0x5 bl PlaySE ldr r1, _080EC8AC @ =0x00006dad adds r0, r4, r1 ldrb r1, [r0] movs r0, 0x1 bl sub_80EF428 bl sub_80EED9C b _080EC954 .align 2, 0 _080EC8AC: .4byte 0x00006dad _080EC8B0: ldr r0, _080EC8E4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _080EC918 movs r0, 0x5 bl PlaySE ldr r2, _080EC8E8 @ =0x00006dad adds r0, r4, r2 ldrb r1, [r0] adds r2, 0x43 adds r0, r4, r2 strb r1, [r0] ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x1 beq _080EC900 cmp r0, 0x1 bgt _080EC8EC cmp r0, 0 beq _080EC8F2 b _080EC954 .align 2, 0 _080EC8E4: .4byte gMain _080EC8E8: .4byte 0x00006dad _080EC8EC: cmp r0, 0x2 beq _080EC90C b _080EC954 _080EC8F2: ldr r0, _080EC8FC @ =sub_80ED620 bl sub_80EBDBC b _080EC954 .align 2, 0 _080EC8FC: .4byte sub_80ED620 _080EC900: ldr r0, _080EC908 @ =sub_80EC960 bl sub_80EBDBC b _080EC954 .align 2, 0 _080EC908: .4byte sub_80EC960 _080EC90C: ldr r0, _080EC914 @ =sub_80EC210 bl sub_80EBDBC b _080EC954 .align 2, 0 _080EC914: .4byte sub_80EC210 _080EC918: movs r6, 0x2 movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _080EC954 movs r0, 0x5 bl PlaySE ldr r1, _080EC93C @ =0x00006df0 adds r0, r4, r1 strb r6, [r0] ldr r2, _080EC940 @ =0x00006dad adds r0, r4, r2 strb r6, [r0] ldrh r0, [r5] adds r0, 0x1 strh r0, [r5] b _080EC954 .align 2, 0 _080EC93C: .4byte 0x00006df0 _080EC940: .4byte 0x00006dad _080EC944: bl sub_80F1E6C lsls r0, 24 cmp r0, 0 bne _080EC954 ldr r0, _080EC95C @ =sub_80EC210 bl sub_80EBDBC _080EC954: pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080EC95C: .4byte sub_80EC210 thumb_func_end sub_80EC86C thumb_func_start sub_80EC960 sub_80EC960: @ 80EC960 push {r4,lr} ldr r0, _080EC978 @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r4, r0, r1 ldrh r0, [r4] cmp r0, 0 beq _080EC97C cmp r0, 0x1 beq _080EC98E b _080EC99E .align 2, 0 _080EC978: .4byte 0x02000000 _080EC97C: movs r0, 0x2 movs r1, 0 movs r2, 0x5 bl sub_80EE9C0 ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] b _080EC99E _080EC98E: bl sub_80EEA0C lsls r0, 24 cmp r0, 0 bne _080EC99E ldr r0, _080EC9A4 @ =sub_80ECC08 bl sub_80EBDBC _080EC99E: pop {r4} pop {r0} bx r0 .align 2, 0 _080EC9A4: .4byte sub_80ECC08 thumb_func_end sub_80EC960 thumb_func_start sub_80EC9A8 sub_80EC9A8: @ 80EC9A8 push {r4,r5,lr} ldr r5, _080EC9C0 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r4, r5, r0 ldrh r0, [r4] cmp r0, 0 beq _080EC9C4 cmp r0, 0x1 beq _080EC9E4 b _080ECA00 .align 2, 0 _080EC9C0: .4byte 0x02000000 _080EC9C4: movs r0, 0x5 bl sub_80F2D04 ldr r1, _080EC9E0 @ =0x00006df0 adds r0, r5, r1 ldrb r1, [r0] movs r0, 0x1 movs r2, 0xC bl sub_80EE9C0 ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] b _080ECA00 .align 2, 0 _080EC9E0: .4byte 0x00006df0 _080EC9E4: bl sub_80EEA0C lsls r0, 24 cmp r0, 0 bne _080ECA00 ldr r0, _080ECA08 @ =sub_80EC86C bl sub_80EBDBC ldr r1, _080ECA0C @ =0x00006dad adds r0, r5, r1 ldrb r1, [r0] movs r0, 0x1 bl sub_80EF428 _080ECA00: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080ECA08: .4byte sub_80EC86C _080ECA0C: .4byte 0x00006dad thumb_func_end sub_80EC9A8 thumb_func_start sub_80ECA10 sub_80ECA10: @ 80ECA10 push {r4,lr} sub sp, 0x4 ldr r1, _080ECA30 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r4, r1, 0 cmp r0, 0xD bls _080ECA26 b _080ECBF2 _080ECA26: lsls r0, 2 ldr r1, _080ECA34 @ =_080ECA38 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080ECA30: .4byte 0x02000000 _080ECA34: .4byte _080ECA38 .align 2, 0 _080ECA38: .4byte _080ECA70 .4byte _080ECAC4 .4byte _080ECAD8 .4byte _080ECAF4 .4byte _080ECB08 .4byte _080ECB24 .4byte _080ECB2E .4byte _080ECB58 .4byte _080ECB6C .4byte _080ECB72 .4byte _080ECB8C .4byte _080ECBA0 .4byte _080ECBBC .4byte _080ECBD4 _080ECA70: bl sub_80EEF78 lsls r0, 24 cmp r0, 0 beq _080ECA7C b _080ECBF2 _080ECA7C: ldr r0, _080ECAB0 @ =sub_80EBD80 bl SetVBlankCallback bl sub_80EED1C ldr r4, _080ECAB4 @ =0x02000000 ldr r1, _080ECAB8 @ =0x00006df0 adds r0, r4, r1 ldrb r1, [r0] ldr r2, _080ECABC @ =0x00006dad adds r0, r4, r2 strb r1, [r0] ldr r0, _080ECAC0 @ =0x00006dae adds r1, r4, r0 movs r0, 0x3 strb r0, [r1] bl sub_80EEE08 movs r1, 0xC1 lsls r1, 2 adds r4, r1 ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] b _080ECBF2 .align 2, 0 _080ECAB0: .4byte sub_80EBD80 _080ECAB4: .4byte 0x02000000 _080ECAB8: .4byte 0x00006df0 _080ECABC: .4byte 0x00006dad _080ECAC0: .4byte 0x00006dae _080ECAC4: movs r0, 0x1 bl sub_80EF248 ldr r1, _080ECAF0 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ECAD8: movs r0, 0x1 bl sub_80EF284 lsls r0, 24 cmp r0, 0 beq _080ECAE6 b _080ECBF2 _080ECAE6: ldr r1, _080ECAF0 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080ECBC8 .align 2, 0 _080ECAF0: .4byte 0x02000000 _080ECAF4: movs r0, 0x1 bl sub_80F1B8C ldr r1, _080ECB20 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ECB08: movs r0, 0x1 bl sub_80F1BC8 lsls r0, 24 cmp r0, 0 bne _080ECBF2 ldr r1, _080ECB20 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080ECBC8 .align 2, 0 _080ECB20: .4byte 0x02000000 _080ECB24: bl sub_8055870 cmp r0, 0 bne _080ECBF2 b _080ECBC0 _080ECB2E: movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r0, _080ECB54 @ =sub_80EBD18 bl SetVBlankCallback movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080ECBC8 .align 2, 0 _080ECB54: .4byte sub_80EBD18 _080ECB58: movs r0, 0 bl sub_80EED2C ldr r1, _080ECB68 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080ECBC8 .align 2, 0 _080ECB68: .4byte 0x02000000 _080ECB6C: bl sub_80F2598 b _080ECBC0 _080ECB72: ldr r0, _080ECB88 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080ECBF2 movs r0, 0xC1 lsls r0, 2 adds r1, r4, r0 b _080ECBC8 .align 2, 0 _080ECB88: .4byte gPaletteFade _080ECB8C: movs r0, 0x1 bl sub_80F2C80 ldr r1, _080ECBB8 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ECBA0: movs r0, 0x1 bl sub_80F2CBC lsls r0, 24 cmp r0, 0 bne _080ECBF2 ldr r1, _080ECBB8 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080ECBC8 .align 2, 0 _080ECBB8: .4byte 0x02000000 _080ECBBC: bl sub_80F1DF0 _080ECBC0: ldr r1, _080ECBD0 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 _080ECBC8: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080ECBF2 .align 2, 0 _080ECBD0: .4byte 0x02000000 _080ECBD4: bl sub_80F1E50 lsls r0, 24 cmp r0, 0 bne _080ECBF2 ldr r0, _080ECBFC @ =0x02000000 ldr r1, _080ECC00 @ =0x00006dad adds r0, r1 ldrb r1, [r0] movs r0, 0x1 bl sub_80EF428 ldr r0, _080ECC04 @ =sub_80EC86C bl sub_80EBDBC _080ECBF2: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080ECBFC: .4byte 0x02000000 _080ECC00: .4byte 0x00006dad _080ECC04: .4byte sub_80EC86C thumb_func_end sub_80ECA10 thumb_func_start sub_80ECC08 sub_80ECC08: @ 80ECC08 push {r4,r5,lr} ldr r4, _080ECC20 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r5, r4, r0 ldrh r0, [r5] cmp r0, 0 beq _080ECC24 cmp r0, 0x1 bne _080ECC1E b _080ECD64 _080ECC1E: b _080ECD74 .align 2, 0 _080ECC20: .4byte 0x02000000 _080ECC24: bl sub_80EEC90 lsls r0, 24 cmp r0, 0 beq _080ECC4C movs r0, 0x5 bl PlaySE ldr r1, _080ECC48 @ =0x00006dad adds r0, r4, r1 ldrb r1, [r0] movs r0, 0x2 bl sub_80EF428 bl sub_80EED9C b _080ECD74 .align 2, 0 _080ECC48: .4byte 0x00006dad _080ECC4C: ldr r0, _080ECC78 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 cmp r0, 0 bne _080ECC5A b _080ECD40 _080ECC5A: movs r0, 0x5 bl PlaySE ldr r2, _080ECC7C @ =0x00006dad adds r0, r4, r2 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x5 bhi _080ECD0C lsls r0, 2 ldr r1, _080ECC80 @ =_080ECC84 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080ECC78: .4byte gMain _080ECC7C: .4byte 0x00006dad _080ECC80: .4byte _080ECC84 .align 2, 0 _080ECC84: .4byte _080ECC9C .4byte _080ECCB0 .4byte _080ECCC4 .4byte _080ECCD8 .4byte _080ECCEC .4byte _080ECD00 _080ECC9C: ldr r0, _080ECCA8 @ =0x02000000 ldr r3, _080ECCAC @ =0x000087d8 adds r0, r3 movs r1, 0x16 strb r1, [r0] b _080ECD0C .align 2, 0 _080ECCA8: .4byte 0x02000000 _080ECCAC: .4byte 0x000087d8 _080ECCB0: ldr r0, _080ECCBC @ =0x02000000 ldr r1, _080ECCC0 @ =0x000087d8 adds r0, r1 movs r1, 0x17 strb r1, [r0] b _080ECD0C .align 2, 0 _080ECCBC: .4byte 0x02000000 _080ECCC0: .4byte 0x000087d8 _080ECCC4: ldr r0, _080ECCD0 @ =0x02000000 ldr r2, _080ECCD4 @ =0x000087d8 adds r0, r2 movs r1, 0x18 strb r1, [r0] b _080ECD0C .align 2, 0 _080ECCD0: .4byte 0x02000000 _080ECCD4: .4byte 0x000087d8 _080ECCD8: ldr r0, _080ECCE4 @ =0x02000000 ldr r3, _080ECCE8 @ =0x000087d8 adds r0, r3 movs r1, 0x21 strb r1, [r0] b _080ECD0C .align 2, 0 _080ECCE4: .4byte 0x02000000 _080ECCE8: .4byte 0x000087d8 _080ECCEC: ldr r0, _080ECCF8 @ =0x02000000 ldr r1, _080ECCFC @ =0x000087d8 adds r0, r1 movs r1, 0x2F strb r1, [r0] b _080ECD0C .align 2, 0 _080ECCF8: .4byte 0x02000000 _080ECCFC: .4byte 0x000087d8 _080ECD00: ldr r0, _080ECD08 @ =sub_80EC9A8 bl sub_80EBDBC b _080ECD74 .align 2, 0 _080ECD08: .4byte sub_80EC9A8 _080ECD0C: ldr r1, _080ECD2C @ =0x02000000 ldr r2, _080ECD30 @ =0x00006dad adds r0, r1, r2 ldrb r2, [r0] ldr r3, _080ECD34 @ =0x00006dfc adds r0, r1, r3 strb r2, [r0] ldr r0, _080ECD38 @ =0x000076aa adds r1, r0 movs r0, 0x1 strb r0, [r1] ldr r0, _080ECD3C @ =sub_80ED01C bl sub_80EBDBC b _080ECD74 .align 2, 0 _080ECD2C: .4byte 0x02000000 _080ECD30: .4byte 0x00006dad _080ECD34: .4byte 0x00006dfc _080ECD38: .4byte 0x000076aa _080ECD3C: .4byte sub_80ED01C _080ECD40: movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _080ECD74 movs r0, 0x5 bl PlaySE ldr r2, _080ECD60 @ =0x00006dad adds r1, r4, r2 movs r0, 0x5 strb r0, [r1] ldrh r0, [r5] adds r0, 0x1 strh r0, [r5] b _080ECD74 .align 2, 0 _080ECD60: .4byte 0x00006dad _080ECD64: bl sub_80F1E6C lsls r0, 24 cmp r0, 0 bne _080ECD74 ldr r0, _080ECD7C @ =sub_80EC9A8 bl sub_80EBDBC _080ECD74: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080ECD7C: .4byte sub_80EC9A8 thumb_func_end sub_80ECC08 thumb_func_start sub_80ECD80 sub_80ECD80: @ 80ECD80 push {r4,lr} sub sp, 0x4 ldr r1, _080ECDA0 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r4, r1, 0 cmp r0, 0x14 bls _080ECD96 b _080ED006 _080ECD96: lsls r0, 2 ldr r1, _080ECDA4 @ =_080ECDA8 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080ECDA0: .4byte 0x02000000 _080ECDA4: .4byte _080ECDA8 .align 2, 0 _080ECDA8: .4byte _080ECDFC .4byte _080ECE1A .4byte _080ECE34 .4byte _080ECE4C .4byte _080ECE64 .4byte _080ECE78 .4byte _080ECE80 .4byte _080ECEAC .4byte _080ECEC0 .4byte _080ECED4 .4byte _080ECEE8 .4byte _080ECF04 .4byte _080ECF10 .4byte _080ECF3C .4byte _080ECF44 .4byte _080ECF58 .4byte _080ECF70 .4byte _080ECF84 .4byte _080ECFB0 .4byte _080ECFC4 .4byte _080ECFE8 _080ECDFC: movs r3, 0xC2 lsls r3, 2 adds r0, r4, r3 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r3, 0x10 bl BeginNormalPaletteFade movs r0, 0xC1 lsls r0, 2 adds r1, r4, r0 b _080ECFDC _080ECE1A: ldr r0, _080ECE30 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080ECE28 b _080ED006 _080ECE28: movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080ECFDC .align 2, 0 _080ECE30: .4byte gPaletteFade _080ECE34: bl sub_80EEF78 lsls r0, 24 cmp r0, 0 beq _080ECE40 b _080ED006 _080ECE40: ldr r0, _080ECE48 @ =sub_80EBD80 bl SetVBlankCallback b _080ECFD4 .align 2, 0 _080ECE48: .4byte sub_80EBD80 _080ECE4C: bl sub_80EED1C bl sub_80F3130 ldr r1, _080ECE60 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080ECFDC .align 2, 0 _080ECE60: .4byte 0x02000000 _080ECE64: movs r0, 0x1 bl sub_80F2D6C ldr r1, _080ECE74 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080ECFDC .align 2, 0 _080ECE74: .4byte 0x02000000 _080ECE78: movs r0, 0x5 bl sub_80F2D6C b _080ECFD4 _080ECE80: ldr r1, _080ECEA0 @ =0x00006dfc adds r0, r4, r1 ldrb r1, [r0] ldr r2, _080ECEA4 @ =0x00006dad adds r0, r4, r2 strb r1, [r0] ldr r3, _080ECEA8 @ =0x00006dae adds r1, r4, r3 movs r0, 0x6 strb r0, [r1] bl sub_80EEE08 movs r0, 0xC1 lsls r0, 2 adds r1, r4, r0 b _080ECFDC .align 2, 0 _080ECEA0: .4byte 0x00006dfc _080ECEA4: .4byte 0x00006dad _080ECEA8: .4byte 0x00006dae _080ECEAC: movs r0, 0x2 bl sub_80EF248 ldr r1, _080ECED0 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ECEC0: movs r0, 0x2 bl sub_80EF284 lsls r0, 24 cmp r0, 0 beq _080ECECE b _080ED006 _080ECECE: b _080ECFD4 .align 2, 0 _080ECED0: .4byte 0x02000000 _080ECED4: movs r0, 0x2 bl sub_80F1B8C ldr r1, _080ECF00 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ECEE8: movs r0, 0x2 bl sub_80F1BC8 lsls r0, 24 cmp r0, 0 beq _080ECEF6 b _080ED006 _080ECEF6: ldr r1, _080ECF00 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080ECFDC .align 2, 0 _080ECF00: .4byte 0x02000000 _080ECF04: bl sub_8055870 cmp r0, 0 beq _080ECF0E b _080ED006 _080ECF0E: b _080ECFD4 _080ECF10: movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r0, _080ECF38 @ =sub_80EBD18 bl SetVBlankCallback movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080ECFDC .align 2, 0 _080ECF38: .4byte sub_80EBD18 _080ECF3C: movs r0, 0 bl sub_80EED2C b _080ECFD4 _080ECF44: bl sub_80F2598 ldr r1, _080ECF54 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080ECFDC .align 2, 0 _080ECF54: .4byte 0x02000000 _080ECF58: ldr r0, _080ECF6C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080ED006 movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080ECFDC .align 2, 0 _080ECF6C: .4byte gPaletteFade _080ECF70: movs r0, 0x1 bl sub_80F2C80 ldr r1, _080ECFA8 @ =0x02000000 movs r3, 0xC1 lsls r3, 2 adds r1, r3 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ECF84: movs r0, 0x1 bl sub_80F2CBC lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 bne _080ED006 ldr r0, _080ECFA8 @ =0x02000000 ldr r3, _080ECFAC @ =0x00000306 adds r1, r0, r3 strh r2, [r1] movs r1, 0xC1 lsls r1, 2 adds r0, r1 ldrh r1, [r0] adds r1, 0x1 strh r1, [r0] b _080ED006 .align 2, 0 _080ECFA8: .4byte 0x02000000 _080ECFAC: .4byte 0x00000306 _080ECFB0: movs r0, 0x5 bl sub_80F2C80 ldr r1, _080ECFE4 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ECFC4: movs r0, 0x5 bl sub_80F2CBC lsls r0, 24 cmp r0, 0 bne _080ED006 bl sub_80F1DF0 _080ECFD4: ldr r1, _080ECFE4 @ =0x02000000 movs r3, 0xC1 lsls r3, 2 adds r1, r3 _080ECFDC: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080ED006 .align 2, 0 _080ECFE4: .4byte 0x02000000 _080ECFE8: bl sub_80F1E50 lsls r0, 24 cmp r0, 0 bne _080ED006 ldr r0, _080ED010 @ =0x02000000 ldr r1, _080ED014 @ =0x00006dad adds r0, r1 ldrb r1, [r0] movs r0, 0x2 bl sub_80EF428 ldr r0, _080ED018 @ =sub_80ECC08 bl sub_80EBDBC _080ED006: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080ED010: .4byte 0x02000000 _080ED014: .4byte 0x00006dad _080ED018: .4byte sub_80ECC08 thumb_func_end sub_80ECD80 thumb_func_start sub_80ED01C sub_80ED01C: @ 80ED01C push {r4,lr} sub sp, 0x4 ldr r1, _080ED03C @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r4, r1, 0 cmp r0, 0x13 bls _080ED032 b _080ED308 _080ED032: lsls r0, 2 ldr r1, _080ED040 @ =_080ED044 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080ED03C: .4byte 0x02000000 _080ED040: .4byte _080ED044 .align 2, 0 _080ED044: .4byte _080ED094 .4byte _080ED0B4 .4byte _080ED0D4 .4byte _080ED108 .4byte _080ED138 .4byte _080ED14C .4byte _080ED15E .4byte _080ED18C .4byte _080ED1AC .4byte _080ED1C4 .4byte _080ED1D8 .4byte _080ED1F4 .4byte _080ED208 .4byte _080ED220 .4byte _080ED24C .4byte _080ED260 .4byte _080ED28C .4byte _080ED2A0 .4byte _080ED2CC .4byte _080ED2EA _080ED094: bl sub_80F1E84 movs r0, 0x1 bl sub_80F2D04 movs r0, 0x5 bl sub_80F2D04 ldr r1, _080ED0B0 @ =0x02000000 movs r3, 0xC1 lsls r3, 2 adds r1, r3 b _080ED27C .align 2, 0 _080ED0B0: .4byte 0x02000000 _080ED0B4: bl sub_80F1F10 lsls r0, 24 cmp r0, 0 beq _080ED0C0 b _080ED308 _080ED0C0: movs r0, 0 bl sub_80EEFBC ldr r1, _080ED0D0 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080ED27C .align 2, 0 _080ED0D0: .4byte 0x02000000 _080ED0D4: bl sub_80EEF34 lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 beq _080ED0E2 b _080ED308 _080ED0E2: ldr r4, _080ED104 @ =0x02000000 movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 str r2, [sp] movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080ED27C .align 2, 0 _080ED104: .4byte 0x02000000 _080ED108: ldr r0, _080ED130 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080ED116 b _080ED308 _080ED116: movs r0, 0 bl SetVBlankCallback bl sub_80EED0C bl sub_80EF814 ldr r1, _080ED134 @ =0x02000000 movs r3, 0xC1 lsls r3, 2 adds r1, r3 b _080ED27C .align 2, 0 _080ED130: .4byte gPaletteFade _080ED134: .4byte 0x02000000 _080ED138: bl sub_80F2620 ldr r1, _080ED148 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080ED27C .align 2, 0 _080ED148: .4byte 0x02000000 _080ED14C: bl sub_80F4D44 ldr r1, _080ED178 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ED15E: bl sub_80F4D88 lsls r0, 24 cmp r0, 0 bne _080ED17C ldr r1, _080ED178 @ =0x02000000 movs r3, 0xC1 lsls r3, 2 adds r1, r3 ldrh r0, [r1] adds r0, 0x2 strh r0, [r1] b _080ED308 .align 2, 0 _080ED178: .4byte 0x02000000 _080ED17C: ldr r1, _080ED188 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080ED27C .align 2, 0 _080ED188: .4byte 0x02000000 _080ED18C: bl sub_8055870 cmp r0, 0 beq _080ED196 b _080ED308 _080ED196: ldr r1, _080ED1A8 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] subs r0, 0x1 strh r0, [r1] b _080ED308 .align 2, 0 _080ED1A8: .4byte 0x02000000 _080ED1AC: bl sub_8055870 cmp r0, 0 beq _080ED1B6 b _080ED308 _080ED1B6: ldr r1, _080ED1C0 @ =0x02000000 movs r3, 0xC1 lsls r3, 2 adds r1, r3 b _080ED27C .align 2, 0 _080ED1C0: .4byte 0x02000000 _080ED1C4: movs r0, 0 bl sub_80F0264 ldr r1, _080ED1F0 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ED1D8: bl sub_80F02A0 lsls r0, 24 cmp r0, 0 beq _080ED1E4 b _080ED308 _080ED1E4: ldr r1, _080ED1F0 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080ED27C .align 2, 0 _080ED1F0: .4byte 0x02000000 _080ED1F4: movs r0, 0 bl sub_80F3008 ldr r1, _080ED204 @ =0x02000000 movs r3, 0xC1 lsls r3, 2 adds r1, r3 b _080ED27C .align 2, 0 _080ED204: .4byte 0x02000000 _080ED208: bl sub_8055870 cmp r0, 0 beq _080ED212 b _080ED308 _080ED212: ldr r1, _080ED21C @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080ED27C .align 2, 0 _080ED21C: .4byte 0x02000000 _080ED220: movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r0, _080ED248 @ =sub_80EBD18 bl SetVBlankCallback movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080ED27C .align 2, 0 _080ED248: .4byte sub_80EBD18 _080ED24C: movs r0, 0x4 bl sub_80EED2C ldr r1, _080ED25C @ =0x02000000 movs r3, 0xC1 lsls r3, 2 adds r1, r3 b _080ED27C .align 2, 0 _080ED25C: .4byte 0x02000000 _080ED260: ldr r0, _080ED284 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 bne _080ED308 ldr r2, _080ED288 @ =0x00000306 adds r0, r4, r2 strh r1, [r0] movs r3, 0xC1 lsls r3, 2 adds r1, r4, r3 _080ED27C: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080ED308 .align 2, 0 _080ED284: .4byte gPaletteFade _080ED288: .4byte 0x00000306 _080ED28C: movs r0, 0x1 bl sub_80F2C80 ldr r1, _080ED2C4 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ED2A0: movs r0, 0x1 bl sub_80F2CBC lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 bne _080ED308 ldr r0, _080ED2C4 @ =0x02000000 ldr r3, _080ED2C8 @ =0x00000306 adds r1, r0, r3 strh r2, [r1] movs r1, 0xC1 lsls r1, 2 adds r0, r1 ldrh r1, [r0] adds r1, 0x1 strh r1, [r0] b _080ED308 .align 2, 0 _080ED2C4: .4byte 0x02000000 _080ED2C8: .4byte 0x00000306 _080ED2CC: ldr r4, _080ED310 @ =0x02000000 ldr r2, _080ED314 @ =0x00006dfc adds r0, r4, r2 ldrb r0, [r0] adds r0, 0x7 lsls r0, 24 lsrs r0, 24 bl sub_80F2C80 movs r3, 0xC1 lsls r3, 2 adds r4, r3 ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] _080ED2EA: ldr r0, _080ED310 @ =0x02000000 ldr r1, _080ED314 @ =0x00006dfc adds r0, r1 ldrb r0, [r0] adds r0, 0x7 lsls r0, 24 lsrs r0, 24 bl sub_80F2CBC lsls r0, 24 cmp r0, 0 bne _080ED308 ldr r0, _080ED318 @ =sub_80ED31C bl sub_80EBDBC _080ED308: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080ED310: .4byte 0x02000000 _080ED314: .4byte 0x00006dfc _080ED318: .4byte sub_80ED31C thumb_func_end sub_80ED01C thumb_func_start sub_80ED31C sub_80ED31C: @ 80ED31C push {r4,lr} ldr r0, _080ED338 @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r4, r0, r1 ldrh r0, [r4] cmp r0, 0x1 beq _080ED3A8 cmp r0, 0x1 bgt _080ED33C cmp r0, 0 beq _080ED342 b _080ED3CA .align 2, 0 _080ED338: .4byte 0x02000000 _080ED33C: cmp r0, 0x2 beq _080ED3C0 b _080ED3CA _080ED342: bl sub_80F5DD4 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _080ED374 cmp r0, 0x2 beq _080ED380 ldr r0, _080ED36C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _080ED38C movs r0, 0x5 bl PlaySE ldr r0, _080ED370 @ =sub_80ED4D8 bl sub_80EBDBC b _080ED3CA .align 2, 0 _080ED36C: .4byte gMain _080ED370: .4byte sub_80ED4D8 _080ED374: movs r0, 0x5 bl PlaySE bl ShowMapNamePopUpWindow b _080ED3CA _080ED380: movs r0, 0x5 bl PlaySE ldrh r0, [r4] adds r0, 0x1 b _080ED3C8 _080ED38C: movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _080ED3CA movs r0, 0x5 bl PlaySE ldr r0, _080ED3A4 @ =sub_80ECD80 bl sub_80EBDBC b _080ED3CA .align 2, 0 _080ED3A4: .4byte sub_80ECD80 _080ED3A8: bl sub_80F0718 lsls r0, 24 cmp r0, 0 bne _080ED3CA bl ShowMapNamePopUpWindow bl sub_80F3264 ldrh r0, [r4] adds r0, 0x1 b _080ED3C8 _080ED3C0: bl sub_8055870 cmp r0, 0 bne _080ED3CA _080ED3C8: strh r0, [r4] _080ED3CA: pop {r4} pop {r0} bx r0 thumb_func_end sub_80ED31C thumb_func_start sub_80ED3D0 sub_80ED3D0: @ 80ED3D0 push {r4,lr} sub sp, 0x4 ldr r0, _080ED3EC @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r0, r1 ldrh r0, [r0] cmp r0, 0x8 bhi _080ED4C6 lsls r0, 2 ldr r1, _080ED3F0 @ =_080ED3F4 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080ED3EC: .4byte 0x02000000 _080ED3F0: .4byte _080ED3F4 .align 2, 0 _080ED3F4: .4byte _080ED418 .4byte _080ED420 .4byte _080ED42A .4byte _080ED432 .4byte _080ED446 .4byte _080ED458 .4byte _080ED462 .4byte _080ED498 .4byte _080ED4B4 _080ED418: movs r0, 0 bl SetVBlankCallback b _080ED49E _080ED420: bl sub_80EED0C bl sub_80F6134 b _080ED49E _080ED42A: movs r0, 0 bl sub_80EEFBC b _080ED49E _080ED432: movs r0, 0 bl sub_80F0264 ldr r1, _080ED454 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ED446: bl sub_80F02A0 lsls r0, 24 cmp r0, 0 bne _080ED4C6 b _080ED49E .align 2, 0 _080ED454: .4byte 0x02000000 _080ED458: bl sub_8055870 cmp r0, 0 bne _080ED4C6 b _080ED49E _080ED462: movs r0, 0 bl sub_80F3008 ldr r4, _080ED490 @ =0x02000000 movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r0, _080ED494 @ =sub_80EBD18 bl SetVBlankCallback movs r0, 0xC1 lsls r0, 2 adds r1, r4, r0 b _080ED4A6 .align 2, 0 _080ED490: .4byte 0x02000000 _080ED494: .4byte sub_80EBD18 _080ED498: movs r0, 0x4 bl sub_80EED2C _080ED49E: ldr r1, _080ED4B0 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 _080ED4A6: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080ED4C6 .align 2, 0 _080ED4B0: .4byte 0x02000000 _080ED4B4: ldr r0, _080ED4D0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080ED4C6 ldr r0, _080ED4D4 @ =sub_80ED31C bl sub_80EBDBC _080ED4C6: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080ED4D0: .4byte gPaletteFade _080ED4D4: .4byte sub_80ED31C thumb_func_end sub_80ED3D0 thumb_func_start sub_80ED4D8 sub_80ED4D8: @ 80ED4D8 push {r4,lr} sub sp, 0x4 ldr r1, _080ED4F8 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r4, r1, 0 cmp r0, 0x8 bls _080ED4EE b _080ED60E _080ED4EE: lsls r0, 2 ldr r1, _080ED4FC @ =_080ED500 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080ED4F8: .4byte 0x02000000 _080ED4FC: .4byte _080ED500 .align 2, 0 _080ED500: .4byte _080ED524 .4byte _080ED542 .4byte _080ED564 .4byte _080ED57C .4byte _080ED582 .4byte _080ED594 .4byte _080ED5A4 .4byte _080ED5E0 .4byte _080ED5FC _080ED524: movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r3, 0x10 bl BeginNormalPaletteFade movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080ED5EE _080ED542: ldr r0, _080ED560 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080ED60E movs r0, 0 bl SetVBlankCallback bl sub_80EED0C bl sub_80F3130 b _080ED5E6 .align 2, 0 _080ED560: .4byte gPaletteFade _080ED564: bl sub_8055870 cmp r0, 0 bne _080ED60E ldr r1, _080ED578 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080ED5EE .align 2, 0 _080ED578: .4byte 0x02000000 _080ED57C: bl sub_80F4CF0 b _080ED5E6 _080ED582: bl sub_80EFF34 ldr r1, _080ED5A0 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ED594: bl sub_80EFF68 lsls r0, 24 cmp r0, 0 bne _080ED60E b _080ED5E6 .align 2, 0 _080ED5A0: .4byte 0x02000000 _080ED5A4: bl sub_80F35B4 movs r0, 0x2 bl sub_80EEFBC ldr r4, _080ED5D8 @ =0x02000000 movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r0, _080ED5DC @ =sub_80EBD4C bl SetVBlankCallback movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080ED5EE .align 2, 0 _080ED5D8: .4byte 0x02000000 _080ED5DC: .4byte sub_80EBD4C _080ED5E0: movs r0, 0x2 bl sub_80EED2C _080ED5E6: ldr r1, _080ED5F8 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 _080ED5EE: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080ED60E .align 2, 0 _080ED5F8: .4byte 0x02000000 _080ED5FC: ldr r0, _080ED618 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080ED60E ldr r0, _080ED61C @ =sub_80ED858 bl sub_80EBDBC _080ED60E: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080ED618: .4byte gPaletteFade _080ED61C: .4byte sub_80ED858 thumb_func_end sub_80ED4D8 thumb_func_start sub_80ED620 sub_80ED620: @ 80ED620 push {r4,lr} sub sp, 0x4 ldr r1, _080ED640 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r4, r1, 0 cmp r0, 0x10 bls _080ED636 b _080ED846 _080ED636: lsls r0, 2 ldr r1, _080ED644 @ =_080ED648 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080ED640: .4byte 0x02000000 _080ED644: .4byte _080ED648 .align 2, 0 _080ED648: .4byte _080ED68C .4byte _080ED6A4 .4byte _080ED6B8 .4byte _080ED6EC .4byte _080ED730 .4byte _080ED736 .4byte _080ED750 .4byte _080ED762 .4byte _080ED76C .4byte _080ED784 .4byte _080ED78A .4byte _080ED7C0 .4byte _080ED7D4 .4byte _080ED7EC .4byte _080ED800 .4byte _080ED820 .4byte _080ED834 _080ED68C: bl sub_80F1E84 movs r0, 0x1 bl sub_80F2D04 ldr r1, _080ED6A0 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080ED814 .align 2, 0 _080ED6A0: .4byte 0x02000000 _080ED6A4: bl sub_80F1F10 lsls r0, 24 cmp r0, 0 beq _080ED6B0 b _080ED846 _080ED6B0: movs r0, 0x1 bl sub_80EEFBC b _080ED80C _080ED6B8: bl sub_80EEF34 lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 beq _080ED6C6 b _080ED846 _080ED6C6: ldr r4, _080ED6E8 @ =0x02000000 movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 str r2, [sp] movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080ED814 .align 2, 0 _080ED6E8: .4byte 0x02000000 _080ED6EC: ldr r0, _080ED724 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 beq _080ED6FE b _080ED846 _080ED6FE: movs r0, 0 bl SetVBlankCallback bl sub_80EED0C bl sub_80EF814 ldr r0, _080ED728 @ =0x02000000 ldr r2, _080ED72C @ =0x000076aa adds r1, r0, r2 strb r4, [r1] movs r1, 0xC1 lsls r1, 2 adds r0, r1 ldrh r1, [r0] adds r1, 0x1 strh r1, [r0] b _080ED846 .align 2, 0 _080ED724: .4byte gPaletteFade _080ED728: .4byte 0x02000000 _080ED72C: .4byte 0x000076aa _080ED730: bl sub_80F2620 b _080ED80C _080ED736: ldr r0, _080ED74C @ =0x0000d162 adds r1, r4, r0 movs r0, 0x2 strb r0, [r1] bl sub_80F4BD0 movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080ED814 .align 2, 0 _080ED74C: .4byte 0x0000d162 _080ED750: bl sub_80EFF34 ldr r1, _080ED768 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ED762: bl sub_80EFF68 b _080ED806 .align 2, 0 _080ED768: .4byte 0x02000000 _080ED76C: bl sub_8055870 cmp r0, 0 bne _080ED846 ldr r1, _080ED780 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080ED814 .align 2, 0 _080ED780: .4byte 0x02000000 _080ED784: bl sub_8055870 b _080ED808 _080ED78A: bl sub_80F33A8 ldr r4, _080ED7B8 @ =0x02000000 movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r0, _080ED7BC @ =sub_80EBD4C bl SetVBlankCallback movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080ED814 .align 2, 0 _080ED7B8: .4byte 0x02000000 _080ED7BC: .4byte sub_80EBD4C _080ED7C0: movs r0, 0x2 bl sub_80EED2C ldr r1, _080ED7D0 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080ED814 .align 2, 0 _080ED7D0: .4byte 0x02000000 _080ED7D4: ldr r0, _080ED7E8 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080ED846 movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080ED814 .align 2, 0 _080ED7E8: .4byte gPaletteFade _080ED7EC: movs r0, 0x1 bl sub_80F2C80 ldr r1, _080ED81C @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ED800: movs r0, 0x1 bl sub_80F2CBC _080ED806: lsls r0, 24 _080ED808: cmp r0, 0 bne _080ED846 _080ED80C: ldr r1, _080ED81C @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 _080ED814: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080ED846 .align 2, 0 _080ED81C: .4byte 0x02000000 _080ED820: movs r0, 0x6 bl sub_80F2C80 ldr r1, _080ED850 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080ED834: movs r0, 0x6 bl sub_80F2CBC lsls r0, 24 cmp r0, 0 bne _080ED846 ldr r0, _080ED854 @ =sub_80ED858 bl sub_80EBDBC _080ED846: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080ED850: .4byte 0x02000000 _080ED854: .4byte sub_80ED858 thumb_func_end sub_80ED620 thumb_func_start sub_80ED858 sub_80ED858: @ 80ED858 push {r4,r5,lr} sub sp, 0x4 ldr r1, _080ED878 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r5, r1, 0 cmp r0, 0xB bls _080ED86E b _080EDB7A _080ED86E: lsls r0, 2 ldr r1, _080ED87C @ =_080ED880 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080ED878: .4byte 0x02000000 _080ED87C: .4byte _080ED880 .align 2, 0 _080ED880: .4byte _080ED8B0 .4byte _080ED8CC .4byte _080ED8EC .4byte _080ED904 .4byte _080ED91A .4byte _080EDA68 .4byte _080EDA8C .4byte _080EDAA4 .4byte _080EDAC0 .4byte _080EDAE8 .4byte _080EDB7A .4byte _080EDB28 _080ED8B0: bl sub_80F4F78 bl sub_80F5B38 ldr r0, _080ED8C8 @ =0x02000000 movs r4, 0xC1 lsls r4, 2 adds r0, r4 movs r1, 0x1 strh r1, [r0] b _080EDB7A .align 2, 0 _080ED8C8: .4byte 0x02000000 _080ED8CC: bl sub_80F5B50 lsls r0, 24 cmp r0, 0 beq _080ED8D8 b _080EDB7A _080ED8D8: ldr r0, _080ED8E8 @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r0, r1 movs r1, 0x2 strh r1, [r0] b _080EDB7A .align 2, 0 _080ED8E8: .4byte 0x02000000 _080ED8EC: movs r0, 0x1 bl sub_80F0174 ldr r0, _080ED900 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r2 movs r1, 0x3 strh r1, [r0] b _080EDB7A .align 2, 0 _080ED900: .4byte 0x02000000 _080ED904: bl sub_80F4FB4 lsls r0, 24 cmp r0, 0 beq _080ED910 b _080EDB7A _080ED910: bl sub_80F3C94 bl sub_80F3D00 b _080EDAD4 _080ED91A: ldr r2, _080ED960 @ =gMain ldrh r1, [r2, 0x2C] movs r0, 0x40 ands r0, r1 adds r3, r2, 0 cmp r0, 0 beq _080ED970 ldr r1, _080ED964 @ =0x000087cb adds r0, r5, r1 ldrb r0, [r0] cmp r0, 0 beq _080ED970 ldr r2, _080ED968 @ =0x000076aa adds r0, r5, r2 ldrb r0, [r0] cmp r0, 0 beq _080ED948 ldr r4, _080ED96C @ =0x000087dc adds r0, r5, r4 movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 beq _080ED970 _080ED948: movs r0, 0x5 bl PlaySE movs r0, 0x1 bl sub_80F5060 bl move_anim_execute movs r2, 0xC1 lsls r2, 2 adds r1, r5, r2 b _080ED9B8 .align 2, 0 _080ED960: .4byte gMain _080ED964: .4byte 0x000087cb _080ED968: .4byte 0x000076aa _080ED96C: .4byte 0x000087dc _080ED970: ldrh r1, [r3, 0x2C] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080ED9CC ldr r4, _080ED9C0 @ =0x000087cb adds r0, r5, r4 ldrb r0, [r0] cmp r0, 0 beq _080ED9CC ldr r1, _080ED9C4 @ =0x000076aa adds r0, r5, r1 ldrb r0, [r0] cmp r0, 0 beq _080ED9A2 ldr r2, _080ED9C8 @ =0x000087dc adds r0, r5, r2 subs r4, 0x57 adds r1, r5, r4 movs r4, 0 ldrsh r2, [r0, r4] movs r4, 0 ldrsh r0, [r1, r4] cmp r2, r0 bge _080ED9CC _080ED9A2: movs r0, 0x5 bl PlaySE movs r0, 0 bl sub_80F5060 bl move_anim_execute movs r0, 0xC1 lsls r0, 2 adds r1, r5, r0 _080ED9B8: movs r0, 0x5 strh r0, [r1] b _080EDB7A .align 2, 0 _080ED9C0: .4byte 0x000087cb _080ED9C4: .4byte 0x000076aa _080ED9C8: .4byte 0x000087dc _080ED9CC: ldrh r2, [r3, 0x2E] movs r0, 0x2 ands r0, r2 cmp r0, 0 beq _080ED9F8 movs r0, 0x5 bl PlaySE bl sub_80F4FDC bl move_anim_execute ldr r0, _080ED9F4 @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r0, r1 movs r1, 0x9 strh r1, [r0] b _080EDB7A .align 2, 0 _080ED9F4: .4byte 0x02000000 _080ED9F8: movs r0, 0x1 ands r0, r2 cmp r0, 0 bne _080EDA02 b _080EDB7A _080EDA02: adds r4, r5, 0 ldr r2, _080EDA38 @ =0x000076aa adds r0, r4, r2 ldrb r0, [r0] cmp r0, 0 bne _080EDA44 ldr r1, _080EDA3C @ =0x000087dc adds r0, r4, r1 movs r2, 0 ldrsh r1, [r0, r2] ldr r2, _080EDA40 @ =0x000087da adds r0, r4, r2 movs r2, 0 ldrsh r0, [r0, r2] subs r0, 0x1 cmp r1, r0 beq _080EDA26 b _080EDB7A _080EDA26: movs r0, 0x5 bl PlaySE movs r0, 0xC1 lsls r0, 2 adds r1, r4, r0 movs r0, 0x9 strh r0, [r1] b _080EDB7A .align 2, 0 _080EDA38: .4byte 0x000076aa _080EDA3C: .4byte 0x000087dc _080EDA40: .4byte 0x000087da _080EDA44: ldr r1, _080EDA64 @ =0x00006dac adds r0, r5, r1 ldrb r0, [r0] cmp r0, 0 beq _080EDA50 b _080EDB7A _080EDA50: movs r0, 0x5 bl PlaySE movs r2, 0xC1 lsls r2, 2 adds r1, r5, r2 movs r0, 0x7 strh r0, [r1] b _080EDB7A .align 2, 0 _080EDA64: .4byte 0x00006dac _080EDA68: bl gpu_sync_bg_show lsls r0, 24 cmp r0, 0 beq _080EDA74 b _080EDB7A _080EDA74: bl sub_80F3D00 ldr r0, _080EDA88 @ =0x02000000 movs r4, 0xC1 lsls r4, 2 adds r0, r4 movs r1, 0x6 strh r1, [r0] b _080EDB7A .align 2, 0 _080EDA88: .4byte 0x02000000 _080EDA8C: bl sub_8055870 cmp r0, 0 bne _080EDB7A ldr r0, _080EDAA0 @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r0, r1 b _080EDADC .align 2, 0 _080EDAA0: .4byte 0x02000000 _080EDAA4: movs r0, 0x3 bl sub_80EEFBC bl sub_80F3668 ldr r0, _080EDABC @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r2 movs r1, 0x8 strh r1, [r0] b _080EDB7A .align 2, 0 _080EDABC: .4byte 0x02000000 _080EDAC0: bl sub_80F7500 lsls r0, 24 cmp r0, 0 bne _080EDB7A movs r0, 0x2 bl sub_80EEFBC bl sub_80F3698 _080EDAD4: ldr r0, _080EDAE4 @ =0x02000000 movs r4, 0xC1 lsls r4, 2 adds r0, r4 _080EDADC: movs r1, 0x4 strh r1, [r0] b _080EDB7A .align 2, 0 _080EDAE4: .4byte 0x02000000 _080EDAE8: bl sub_80F5038 lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 bne _080EDB7A movs r0, 0 bl sub_80F0174 bl sub_80F2F48 ldr r5, _080EDB24 @ =0x02000000 movs r1, 0xC2 lsls r1, 2 adds r0, r5, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 str r4, [sp] movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade movs r2, 0xC1 lsls r2, 2 adds r1, r5, r2 movs r0, 0xB strh r0, [r1] b _080EDB7A .align 2, 0 _080EDB24: .4byte 0x02000000 _080EDB28: ldr r0, _080EDB60 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EDB7A bl sub_80F3CE8 bl sub_80F5BDC ldr r0, _080EDB64 @ =0x02000000 ldr r4, _080EDB68 @ =0x000076aa adds r0, r4 ldrb r0, [r0] cmp r0, 0 bne _080EDB70 bl sub_80F357C movs r0, 0x1 bl sub_80F2D6C movs r0, 0x6 bl sub_80F2D6C ldr r0, _080EDB6C @ =sub_80ECA10 bl sub_80EBDBC b _080EDB7A .align 2, 0 _080EDB60: .4byte gPaletteFade _080EDB64: .4byte 0x02000000 _080EDB68: .4byte 0x000076aa _080EDB6C: .4byte sub_80ECA10 _080EDB70: bl sub_80F3614 ldr r0, _080EDB84 @ =sub_80ED3D0 bl sub_80EBDBC _080EDB7A: add sp, 0x4 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080EDB84: .4byte sub_80ED3D0 thumb_func_end sub_80ED858 thumb_func_start sub_80EDB88 sub_80EDB88: @ 80EDB88 push {r4,lr} sub sp, 0x4 ldr r1, _080EDBA8 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r4, r1, 0 cmp r0, 0x11 bls _080EDB9E b _080EDDAA _080EDB9E: lsls r0, 2 ldr r1, _080EDBAC @ =_080EDBB0 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EDBA8: .4byte 0x02000000 _080EDBAC: .4byte _080EDBB0 .align 2, 0 _080EDBB0: .4byte _080EDBF8 .4byte _080EDC04 .4byte _080EDC24 .4byte _080EDC58 .4byte _080EDC7C .4byte _080EDC90 .4byte _080EDCA2 .4byte _080EDCC0 .4byte _080EDCDC .4byte _080EDCE6 .4byte _080EDCFA .4byte _080EDD0C .4byte _080EDD20 .4byte _080EDD34 .4byte _080EDD48 .4byte _080EDD52 .4byte _080EDD7C .4byte _080EDD98 _080EDBF8: bl sub_80F1E84 movs r0, 0 bl sub_80F2D04 b _080EDD82 _080EDC04: bl sub_80F1F10 lsls r0, 24 cmp r0, 0 beq _080EDC10 b _080EDDAA _080EDC10: movs r0, 0x4 bl sub_80EEFBC ldr r1, _080EDC20 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EDD8A .align 2, 0 _080EDC20: .4byte 0x02000000 _080EDC24: bl sub_80EEF34 lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 beq _080EDC32 b _080EDDAA _080EDC32: ldr r4, _080EDC54 @ =0x02000000 movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 str r2, [sp] movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080EDD8A .align 2, 0 _080EDC54: .4byte 0x02000000 _080EDC58: ldr r0, _080EDC78 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080EDC66 b _080EDDAA _080EDC66: movs r0, 0 bl SetVBlankCallback bl sub_80EED0C bl sub_80EF814 b _080EDD82 .align 2, 0 _080EDC78: .4byte gPaletteFade _080EDC7C: bl sub_80F2620 ldr r1, _080EDC8C @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EDD8A .align 2, 0 _080EDC8C: .4byte 0x02000000 _080EDC90: bl sub_80F638C ldr r1, _080EDCBC @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EDCA2: bl sub_80F63D0 lsls r0, 24 cmp r0, 0 bne _080EDD82 ldr r1, _080EDCBC @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x2 strh r0, [r1] b _080EDDAA .align 2, 0 _080EDCBC: .4byte 0x02000000 _080EDCC0: bl sub_8055870 cmp r0, 0 bne _080EDDAA ldr r1, _080EDCD8 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] subs r0, 0x1 strh r0, [r1] b _080EDDAA .align 2, 0 _080EDCD8: .4byte 0x02000000 _080EDCDC: bl sub_8055870 cmp r0, 0 bne _080EDDAA b _080EDD82 _080EDCE6: movs r0, 0x1 bl sub_80F0264 ldr r1, _080EDD08 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EDCFA: bl sub_80F02A0 lsls r0, 24 cmp r0, 0 bne _080EDDAA b _080EDD82 .align 2, 0 _080EDD08: .4byte 0x02000000 _080EDD0C: movs r0, 0x2 bl sub_80F2C80 ldr r1, _080EDD30 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EDD20: movs r0, 0x2 bl sub_80F2CBC lsls r0, 24 cmp r0, 0 bne _080EDDAA b _080EDD82 .align 2, 0 _080EDD30: .4byte 0x02000000 _080EDD34: movs r0, 0x1 bl sub_80F3008 ldr r1, _080EDD44 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EDD8A .align 2, 0 _080EDD44: .4byte 0x02000000 _080EDD48: bl sub_8055870 cmp r0, 0 bne _080EDDAA b _080EDD82 _080EDD52: movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r0, _080EDD78 @ =sub_80EBD18 bl SetVBlankCallback movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080EDD8A .align 2, 0 _080EDD78: .4byte sub_80EBD18 _080EDD7C: movs r0, 0x4 bl sub_80EED2C _080EDD82: ldr r1, _080EDD94 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 _080EDD8A: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080EDDAA .align 2, 0 _080EDD94: .4byte 0x02000000 _080EDD98: ldr r0, _080EDDB4 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EDDAA ldr r0, _080EDDB8 @ =sub_80EDDBC bl sub_80EBDBC _080EDDAA: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080EDDB4: .4byte gPaletteFade _080EDDB8: .4byte sub_80EDDBC thumb_func_end sub_80EDB88 thumb_func_start sub_80EDDBC sub_80EDDBC: @ 80EDDBC push {r4,lr} ldr r0, _080EDDD8 @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r4, r0, r1 ldrh r0, [r4] cmp r0, 0x1 beq _080EDE48 cmp r0, 0x1 bgt _080EDDDC cmp r0, 0 beq _080EDDE2 b _080EDE6A .align 2, 0 _080EDDD8: .4byte 0x02000000 _080EDDDC: cmp r0, 0x2 beq _080EDE60 b _080EDE6A _080EDDE2: bl sub_80F5DD4 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _080EDE14 cmp r0, 0x2 beq _080EDE20 ldr r0, _080EDE0C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _080EDE2C movs r0, 0x5 bl PlaySE ldr r0, _080EDE10 @ =sub_80EDEE4 bl sub_80EBDBC b _080EDE6A .align 2, 0 _080EDE0C: .4byte gMain _080EDE10: .4byte sub_80EDEE4 _080EDE14: movs r0, 0x5 bl PlaySE bl ShowMapNamePopUpWindow b _080EDE6A _080EDE20: movs r0, 0x5 bl PlaySE ldrh r0, [r4] adds r0, 0x1 b _080EDE68 _080EDE2C: movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _080EDE6A movs r0, 0x5 bl PlaySE ldr r0, _080EDE44 @ =sub_80EDE70 bl sub_80EBDBC b _080EDE6A .align 2, 0 _080EDE44: .4byte sub_80EDE70 _080EDE48: bl sub_80F0718 lsls r0, 24 cmp r0, 0 bne _080EDE6A bl ShowMapNamePopUpWindow bl sub_80F3264 ldrh r0, [r4] adds r0, 0x1 b _080EDE68 _080EDE60: bl sub_8055870 cmp r0, 0 bne _080EDE6A _080EDE68: strh r0, [r4] _080EDE6A: pop {r4} pop {r0} bx r0 thumb_func_end sub_80EDDBC thumb_func_start sub_80EDE70 sub_80EDE70: @ 80EDE70 push {r4,lr} sub sp, 0x4 ldr r0, _080EDE8C @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r4, r0, r1 ldrh r2, [r4] cmp r2, 0x1 beq _080EDEAE cmp r2, 0x1 bgt _080EDE90 cmp r2, 0 beq _080EDE96 b _080EDED6 .align 2, 0 _080EDE8C: .4byte 0x02000000 _080EDE90: cmp r2, 0x2 beq _080EDED0 b _080EDED6 _080EDE96: movs r1, 0xC2 lsls r1, 2 adds r0, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 str r2, [sp] movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade b _080EDEC4 _080EDEAE: ldr r0, _080EDECC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EDED6 bl sub_80F3130 movs r0, 0x2 bl sub_80F2D6C _080EDEC4: ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] b _080EDED6 .align 2, 0 _080EDECC: .4byte gPaletteFade _080EDED0: ldr r0, _080EDEE0 @ =sub_80EC00C bl sub_80EBDBC _080EDED6: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080EDEE0: .4byte sub_80EC00C thumb_func_end sub_80EDE70 thumb_func_start sub_80EDEE4 sub_80EDEE4: @ 80EDEE4 push {r4,lr} sub sp, 0x4 ldr r1, _080EDF04 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r4, r1, 0 cmp r0, 0xA bls _080EDEFA b _080EE060 _080EDEFA: lsls r0, 2 ldr r1, _080EDF08 @ =_080EDF0C adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EDF04: .4byte 0x02000000 _080EDF08: .4byte _080EDF0C .align 2, 0 _080EDF0C: .4byte _080EDF38 .4byte _080EDF50 .4byte _080EDF80 .4byte _080EDF98 .4byte _080EDFB0 .4byte _080EDFC8 .4byte _080EDFE0 .4byte _080EDFF8 .4byte _080EE01C .4byte _080EE030 .4byte _080EE050 _080EDF38: movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r3, 0x10 bl BeginNormalPaletteFade b _080EE03C _080EDF50: ldr r0, _080EDF78 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080EDF5E b _080EE060 _080EDF5E: movs r0, 0 bl SetVBlankCallback bl sub_80EED0C bl sub_80F3130 ldr r1, _080EDF7C @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EE042 .align 2, 0 _080EDF78: .4byte gPaletteFade _080EDF7C: .4byte 0x02000000 _080EDF80: bl sub_80F66E0 bl sub_80EEE08 ldr r1, _080EDF94 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EE042 .align 2, 0 _080EDF94: .4byte 0x02000000 _080EDF98: bl sub_80F1080 lsls r0, 24 cmp r0, 0 bne _080EE060 ldr r1, _080EDFAC @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EE042 .align 2, 0 _080EDFAC: .4byte 0x02000000 _080EDFB0: movs r0, 0x5 bl sub_80EEFBC bl sub_80F38B8 ldr r1, _080EDFDC @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EDFC8: bl sub_80F38EC lsls r0, 24 cmp r0, 0 bne _080EE060 ldr r1, _080EDFDC @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EE042 .align 2, 0 _080EDFDC: .4byte 0x02000000 _080EDFE0: bl sub_8055870 cmp r0, 0 bne _080EE060 ldr r1, _080EDFF4 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EE042 .align 2, 0 _080EDFF4: .4byte 0x02000000 _080EDFF8: movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r0, _080EE018 @ =sub_80EBD18 bl SetVBlankCallback b _080EE03C .align 2, 0 _080EE018: .4byte sub_80EBD18 _080EE01C: movs r0, 0x3 bl sub_80EED2C ldr r1, _080EE02C @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EE042 .align 2, 0 _080EE02C: .4byte 0x02000000 _080EE030: ldr r0, _080EE04C @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EE060 _080EE03C: movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 _080EE042: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080EE060 .align 2, 0 _080EE04C: .4byte gPaletteFade _080EE050: bl sub_80F170C lsls r0, 24 cmp r0, 0 bne _080EE060 ldr r0, _080EE068 @ =sub_80EE06C bl sub_80EBDBC _080EE060: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080EE068: .4byte sub_80EE06C thumb_func_end sub_80EDEE4 thumb_func_start sub_80EE06C sub_80EE06C: @ 80EE06C push {r4,r5,lr} ldr r1, _080EE08C @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r4, r1, 0 cmp r0, 0x8 bls _080EE080 b _080EE288 _080EE080: lsls r0, 2 ldr r1, _080EE090 @ =_080EE094 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EE08C: .4byte 0x02000000 _080EE090: .4byte _080EE094 .align 2, 0 _080EE094: .4byte _080EE0B8 .4byte _080EE0CC .4byte _080EE180 .4byte _080EE19C .4byte _080EE1B8 .4byte _080EE1D0 .4byte _080EE1F8 .4byte _080EE250 .4byte _080EE26C _080EE0B8: bl sub_80F15A8 ldr r1, _080EE0C8 @ =0x02000000 movs r5, 0xC1 lsls r5, 2 adds r1, r5 b _080EE1C4 .align 2, 0 _080EE0C8: .4byte 0x02000000 _080EE0CC: ldr r2, _080EE0FC @ =gMain ldrh r1, [r2, 0x30] movs r0, 0x40 ands r0, r1 adds r3, r2, 0 cmp r0, 0 beq _080EE104 ldr r1, _080EE100 @ =0x000087dc adds r0, r4, r1 movs r2, 0 ldrsh r0, [r0, r2] cmp r0, 0 beq _080EE104 movs r0, 0x5 bl PlaySE movs r0, 0x1 negs r0, r0 bl sub_80F6A4C movs r5, 0xC1 lsls r5, 2 adds r1, r4, r5 b _080EE1C4 .align 2, 0 _080EE0FC: .4byte gMain _080EE100: .4byte 0x000087dc _080EE104: ldrh r1, [r3, 0x30] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080EE140 ldr r1, _080EE138 @ =0x000087dc adds r0, r4, r1 ldr r2, _080EE13C @ =0x00008774 adds r1, r4, r2 movs r5, 0 ldrsh r2, [r0, r5] movs r5, 0 ldrsh r0, [r1, r5] cmp r2, r0 bge _080EE140 movs r0, 0x5 bl PlaySE movs r0, 0x1 bl sub_80F6A4C movs r0, 0xC1 lsls r0, 2 adds r1, r4, r0 b _080EE1C4 .align 2, 0 _080EE138: .4byte 0x000087dc _080EE13C: .4byte 0x00008774 _080EE140: ldrh r2, [r3, 0x2E] movs r0, 0x1 ands r0, r2 cmp r0, 0 beq _080EE164 movs r0, 0x5 bl PlaySE movs r0, 0xB bl sub_80EEFBC ldr r0, _080EE160 @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r0, r1 b _080EE262 .align 2, 0 _080EE160: .4byte 0x02000000 _080EE164: movs r0, 0x2 ands r0, r2 cmp r0, 0 bne _080EE16E b _080EE288 _080EE16E: movs r0, 0x5 bl PlaySE ldr r0, _080EE17C @ =sub_80EE294 bl sub_80EBDBC b _080EE288 .align 2, 0 _080EE17C: .4byte sub_80EE294 _080EE180: bl sub_80F6AF0 lsls r0, 24 cmp r0, 0 beq _080EE18C b _080EE288 _080EE18C: ldr r1, _080EE198 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EE1C4 .align 2, 0 _080EE198: .4byte 0x02000000 _080EE19C: bl sub_8055870 adds r1, r0, 0 cmp r1, 0 bne _080EE288 ldr r0, _080EE1B4 @ =0x02000000 movs r5, 0xC1 lsls r5, 2 adds r0, r5 strh r1, [r0] b _080EE288 .align 2, 0 _080EE1B4: .4byte 0x02000000 _080EE1B8: bl sub_80F3B00 ldr r1, _080EE1CC @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 _080EE1C4: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080EE288 .align 2, 0 _080EE1CC: .4byte 0x02000000 _080EE1D0: bl sub_80F3B58 lsls r0, 24 cmp r0, 0 bne _080EE288 bl sub_80F1494 ldr r1, _080EE1F4 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] bl sub_80EED9C b _080EE288 .align 2, 0 _080EE1F4: .4byte 0x02000000 _080EE1F8: bl sub_80F68E8 lsls r0, 24 lsrs r0, 24 cmp r0, 0 beq _080EE224 cmp r0, 0x1 bne _080EE224 movs r0, 0x5 bl PlaySE bl sub_80F3B94 ldr r0, _080EE220 @ =0x02000000 movs r5, 0xC1 lsls r5, 2 adds r0, r5 movs r1, 0x7 strh r1, [r0] b _080EE288 .align 2, 0 _080EE220: .4byte 0x02000000 _080EE224: ldr r0, _080EE248 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _080EE288 movs r0, 0x5 bl PlaySE bl sub_80F3B94 ldr r0, _080EE24C @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r0, r1 movs r1, 0x8 strh r1, [r0] b _080EE288 .align 2, 0 _080EE248: .4byte gMain _080EE24C: .4byte 0x02000000 _080EE250: bl sub_80F3BD4 lsls r0, 24 cmp r0, 0 bne _080EE288 ldr r0, _080EE268 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r2 _080EE262: movs r1, 0x4 strh r1, [r0] b _080EE288 .align 2, 0 _080EE268: .4byte 0x02000000 _080EE26C: bl sub_80F3BD4 lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 bne _080EE288 movs r0, 0x5 bl sub_80EEFBC ldr r0, _080EE290 @ =0x02000000 movs r5, 0xC1 lsls r5, 2 adds r0, r5 strh r4, [r0] _080EE288: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080EE290: .4byte 0x02000000 thumb_func_end sub_80EE06C thumb_func_start sub_80EE294 sub_80EE294: @ 80EE294 push {r4,lr} sub sp, 0x4 ldr r1, _080EE2B4 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r4, r1, 0 cmp r0, 0x8 bls _080EE2AA b _080EE3C6 _080EE2AA: lsls r0, 2 ldr r1, _080EE2B8 @ =_080EE2BC adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EE2B4: .4byte 0x02000000 _080EE2B8: .4byte _080EE2BC .align 2, 0 _080EE2BC: .4byte _080EE2E0 .4byte _080EE2FE .4byte _080EE324 .4byte _080EE33C .4byte _080EE34C .4byte _080EE370 .4byte _080EE37A .4byte _080EE39A .4byte _080EE3B4 _080EE2E0: movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r3, 0x10 bl BeginNormalPaletteFade movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080EE3A8 _080EE2FE: ldr r0, _080EE320 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EE3C6 movs r0, 0 bl SetVBlankCallback bl sub_80EED0C bl sub_80F3C2C bl sub_80EEE08 b _080EE3A0 .align 2, 0 _080EE320: .4byte gPaletteFade _080EE324: bl sub_80F6134 movs r0, 0x1 bl sub_80F0264 ldr r1, _080EE348 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EE33C: bl sub_80F02A0 lsls r0, 24 cmp r0, 0 bne _080EE3C6 b _080EE3A0 .align 2, 0 _080EE348: .4byte 0x02000000 _080EE34C: movs r0, 0x4 bl sub_80EEFBC movs r0, 0x1 bl sub_80F3008 ldr r0, _080EE368 @ =sub_80EBD18 bl SetVBlankCallback ldr r1, _080EE36C @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EE3A8 .align 2, 0 _080EE368: .4byte sub_80EBD18 _080EE36C: .4byte 0x02000000 _080EE370: bl sub_8055870 cmp r0, 0 bne _080EE3C6 b _080EE3A0 _080EE37A: movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade movs r2, 0xC1 lsls r2, 2 adds r1, r4, r2 b _080EE3A8 _080EE39A: movs r0, 0x4 bl sub_80EED2C _080EE3A0: ldr r1, _080EE3B0 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 _080EE3A8: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080EE3C6 .align 2, 0 _080EE3B0: .4byte 0x02000000 _080EE3B4: ldr r0, _080EE3D0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EE3C6 ldr r0, _080EE3D4 @ =sub_80EDDBC bl sub_80EBDBC _080EE3C6: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080EE3D0: .4byte gPaletteFade _080EE3D4: .4byte sub_80EDDBC thumb_func_end sub_80EE294 thumb_func_start sub_80EE3D8 sub_80EE3D8: @ 80EE3D8 push {r4,lr} sub sp, 0x4 ldr r0, _080EE3F8 @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r0, r1 ldrh r0, [r0] cmp r0, 0xD bls _080EE3EC b _080EE57A _080EE3EC: lsls r0, 2 ldr r1, _080EE3FC @ =_080EE400 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EE3F8: .4byte 0x02000000 _080EE3FC: .4byte _080EE400 .align 2, 0 _080EE400: .4byte _080EE438 .4byte _080EE444 .4byte _080EE458 .4byte _080EE48C .4byte _080EE4B0 .4byte _080EE4B6 .4byte _080EE4CA .4byte _080EE4DC .4byte _080EE4F0 .4byte _080EE504 .4byte _080EE50C .4byte _080EE516 .4byte _080EE54C .4byte _080EE568 _080EE438: bl sub_80F1E84 movs r0, 0 bl sub_80F2D04 b _080EE552 _080EE444: bl sub_80F1F10 lsls r0, 24 cmp r0, 0 beq _080EE450 b _080EE57A _080EE450: movs r0, 0x9 bl sub_80EEFBC b _080EE552 _080EE458: bl sub_80EEF34 lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 beq _080EE466 b _080EE57A _080EE466: ldr r4, _080EE488 @ =0x02000000 movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 str r2, [sp] movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade movs r0, 0xC1 lsls r0, 2 adds r1, r4, r0 b _080EE55A .align 2, 0 _080EE488: .4byte 0x02000000 _080EE48C: ldr r0, _080EE4AC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EE57A movs r0, 0 bl SetVBlankCallback bl sub_80EED0C bl sub_80EF814 bl sub_80EEE08 b _080EE552 .align 2, 0 _080EE4AC: .4byte gPaletteFade _080EE4B0: bl sub_80F2620 b _080EE552 _080EE4B6: movs r0, 0x2 bl sub_80F0264 ldr r1, _080EE4D8 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EE4CA: bl sub_80F02A0 lsls r0, 24 cmp r0, 0 bne _080EE57A b _080EE552 .align 2, 0 _080EE4D8: .4byte 0x02000000 _080EE4DC: movs r0, 0x3 bl sub_80F2C80 ldr r1, _080EE500 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EE4F0: movs r0, 0x3 bl sub_80F2CBC lsls r0, 24 cmp r0, 0 bne _080EE57A b _080EE552 .align 2, 0 _080EE500: .4byte 0x02000000 _080EE504: movs r0, 0x2 bl sub_80F3008 b _080EE552 _080EE50C: bl sub_8055870 cmp r0, 0 bne _080EE57A b _080EE552 _080EE516: bl sub_80F6F10 ldr r4, _080EE544 @ =0x02000000 movs r1, 0xC2 lsls r1, 2 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 movs r2, 0 str r2, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r0, _080EE548 @ =sub_80EBD68 bl SetVBlankCallback movs r0, 0xC1 lsls r0, 2 adds r1, r4, r0 b _080EE55A .align 2, 0 _080EE544: .4byte 0x02000000 _080EE548: .4byte sub_80EBD68 _080EE54C: movs r0, 0x5 bl sub_80EED2C _080EE552: ldr r1, _080EE564 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 _080EE55A: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080EE57A .align 2, 0 _080EE564: .4byte 0x02000000 _080EE568: ldr r0, _080EE584 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EE57A ldr r0, _080EE588 @ =sub_80EE58C bl sub_80EBDBC _080EE57A: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080EE584: .4byte gPaletteFade _080EE588: .4byte sub_80EE58C thumb_func_end sub_80EE3D8 thumb_func_start sub_80EE58C sub_80EE58C: @ 80EE58C push {r4,r5,lr} ldr r5, _080EE5A8 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r4, r5, r0 ldrh r0, [r4] cmp r0, 0x1 beq _080EE624 cmp r0, 0x1 bgt _080EE5AC cmp r0, 0 beq _080EE5B2 b _080EE652 .align 2, 0 _080EE5A8: .4byte 0x02000000 _080EE5AC: cmp r0, 0x2 beq _080EE648 b _080EE652 _080EE5B2: bl sub_80F5DD4 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _080EE5E4 cmp r0, 0x2 beq _080EE5FC ldr r0, _080EE5DC @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _080EE608 movs r0, 0x5 bl PlaySE ldr r0, _080EE5E0 @ =sub_80EE658 bl sub_80EBDBC b _080EE652 .align 2, 0 _080EE5DC: .4byte gMain _080EE5E0: .4byte sub_80EE658 _080EE5E4: movs r0, 0x5 bl PlaySE ldr r1, _080EE5F8 @ =0x0000876e adds r0, r5, r1 ldrb r0, [r0] bl sub_80F0FFC b _080EE652 .align 2, 0 _080EE5F8: .4byte 0x0000876e _080EE5FC: movs r0, 0x5 bl PlaySE ldrh r0, [r4] adds r0, 0x1 b _080EE650 _080EE608: movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _080EE652 movs r0, 0x5 bl PlaySE ldr r0, _080EE620 @ =sub_80EE8F4 bl sub_80EBDBC b _080EE652 .align 2, 0 _080EE620: .4byte sub_80EE8F4 _080EE624: bl sub_80F0718 lsls r0, 24 cmp r0, 0 bne _080EE652 ldr r1, _080EE644 @ =0x0000876e adds r0, r5, r1 ldrb r0, [r0] bl sub_80F0FFC bl sub_80F3264 ldrh r0, [r4] adds r0, 0x1 b _080EE650 .align 2, 0 _080EE644: .4byte 0x0000876e _080EE648: bl sub_8055870 cmp r0, 0 bne _080EE652 _080EE650: strh r0, [r4] _080EE652: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_80EE58C thumb_func_start sub_80EE658 sub_80EE658: @ 80EE658 push {r4,r5,lr} ldr r1, _080EE678 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r0, r1, r2 ldrh r0, [r0] adds r4, r1, 0 cmp r0, 0x11 bls _080EE66C b _080EE8E8 _080EE66C: lsls r0, 2 ldr r1, _080EE67C @ =_080EE680 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EE678: .4byte 0x02000000 _080EE67C: .4byte _080EE680 .align 2, 0 _080EE680: .4byte _080EE6C8 .4byte _080EE6DA .4byte _080EE6F4 .4byte _080EE708 .4byte _080EE71C .4byte _080EE730 .4byte _080EE758 .4byte _080EE76A .4byte _080EE780 .4byte _080EE820 .4byte _080EE840 .4byte _080EE854 .4byte _080EE868 .4byte _080EE86E .4byte _080EE880 .4byte _080EE898 .4byte _080EE8B4 .4byte _080EE8D4 _080EE6C8: movs r0, 0x1 bl sub_80F3294 movs r0, 0xA bl sub_80EEFBC bl sub_80F0B24 b _080EE8BE _080EE6DA: bl sub_80F0B44 lsls r0, 24 cmp r0, 0 beq _080EE6E6 b _080EE8E8 _080EE6E6: ldr r1, _080EE6F0 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EE8C6 .align 2, 0 _080EE6F0: .4byte 0x02000000 _080EE6F4: bl sub_80F0F64 ldr r1, _080EE704 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EE8C6 .align 2, 0 _080EE704: .4byte 0x02000000 _080EE708: bl sub_80F0FEC lsls r0, 24 cmp r0, 0 beq _080EE714 b _080EE8E8 _080EE714: movs r0, 0x1 bl sub_80F6FB8 b _080EE8BE _080EE71C: bl sub_80F6DB8 ldr r1, _080EE72C @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EE8C6 .align 2, 0 _080EE72C: .4byte 0x02000000 _080EE730: ldr r4, _080EE750 @ =0x02008788 adds r0, r4, 0 subs r0, 0x1A ldrh r1, [r0] adds r0, r4, 0 bl sub_80F700C adds r0, r4, 0 bl sub_80F42C4 ldr r1, _080EE754 @ =0xffff7b7c adds r4, r1 ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] b _080EE8E8 .align 2, 0 _080EE750: .4byte 0x02008788 _080EE754: .4byte 0xffff7b7c _080EE758: bl sub_80F0CD8 ldr r1, _080EE77C @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EE76A: bl sub_80F6E9C lsls r0, 24 cmp r0, 0 beq _080EE776 b _080EE8E8 _080EE776: bl sub_80F0D5C b _080EE8B8 .align 2, 0 _080EE77C: .4byte 0x02000000 _080EE780: ldr r2, _080EE7B0 @ =gMain ldrh r1, [r2, 0x2C] movs r0, 0x40 ands r0, r1 adds r3, r2, 0 cmp r0, 0 beq _080EE7B8 ldr r1, _080EE7B4 @ =0x000087dc adds r0, r4, r1 movs r2, 0 ldrsh r0, [r0, r2] cmp r0, 0 beq _080EE7B8 movs r0, 0x5 bl PlaySE movs r0, 0x1 negs r0, r0 bl sub_80F708C movs r5, 0xC1 lsls r5, 2 adds r1, r4, r5 b _080EE7E8 .align 2, 0 _080EE7B0: .4byte gMain _080EE7B4: .4byte 0x000087dc _080EE7B8: ldrh r1, [r3, 0x2C] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080EE7F8 ldr r1, _080EE7F0 @ =0x000087dc adds r0, r4, r1 ldr r2, _080EE7F4 @ =0x00008774 adds r1, r4, r2 movs r5, 0 ldrsh r2, [r0, r5] movs r5, 0 ldrsh r0, [r1, r5] cmp r2, r0 bge _080EE7F8 movs r0, 0x5 bl PlaySE movs r0, 0x1 bl sub_80F708C movs r0, 0xC1 lsls r0, 2 adds r1, r4, r0 _080EE7E8: movs r0, 0x10 strh r0, [r1] b _080EE8E8 .align 2, 0 _080EE7F0: .4byte 0x000087dc _080EE7F4: .4byte 0x00008774 _080EE7F8: ldrh r1, [r3, 0x2E] movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _080EE8E8 movs r0, 0x5 bl PlaySE bl sub_80F4394 bl sub_80F0EC0 ldr r1, _080EE81C @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EE8C6 .align 2, 0 _080EE81C: .4byte 0x02000000 _080EE820: bl sub_80F6ED4 lsls r0, 24 cmp r0, 0 bne _080EE8E8 bl sub_80F0EF4 lsls r0, 24 cmp r0, 0 bne _080EE8E8 movs r0, 0 bl sub_80F6FB8 bl sub_80F2FB0 b _080EE8BE _080EE840: bl sub_80F6134 ldr r1, _080EE850 @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EE8C6 .align 2, 0 _080EE850: .4byte 0x02000000 _080EE854: bl sub_80F0FA0 ldr r1, _080EE864 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EE8C6 .align 2, 0 _080EE864: .4byte 0x02000000 _080EE868: bl sub_80F0FEC b _080EE8B8 _080EE86E: bl sub_80F0C28 ldr r1, _080EE87C @ =0x02000000 movs r0, 0xC1 lsls r0, 2 adds r1, r0 b _080EE8C6 .align 2, 0 _080EE87C: .4byte 0x02000000 _080EE880: bl sub_80F0C48 lsls r0, 24 cmp r0, 0 bne _080EE8E8 ldr r1, _080EE894 @ =0x02000000 movs r2, 0xC1 lsls r2, 2 adds r1, r2 b _080EE8C6 .align 2, 0 _080EE894: .4byte 0x02000000 _080EE898: movs r0, 0x9 bl sub_80EEFBC movs r0, 0 bl sub_80F3294 ldr r0, _080EE8B0 @ =sub_80EE58C bl sub_80EBDBC bl sub_80EED9C b _080EE8E8 .align 2, 0 _080EE8B0: .4byte sub_80EE58C _080EE8B4: bl sub_80F70FC _080EE8B8: lsls r0, 24 cmp r0, 0 bne _080EE8E8 _080EE8BE: ldr r1, _080EE8D0 @ =0x02000000 movs r5, 0xC1 lsls r5, 2 adds r1, r5 _080EE8C6: ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] b _080EE8E8 .align 2, 0 _080EE8D0: .4byte 0x02000000 _080EE8D4: bl sub_8055870 cmp r0, 0 bne _080EE8E8 ldr r0, _080EE8F0 @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r0, r1 movs r1, 0x8 strh r1, [r0] _080EE8E8: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080EE8F0: .4byte 0x02000000 thumb_func_end sub_80EE658 thumb_func_start sub_80EE8F4 sub_80EE8F4: @ 80EE8F4 push {r4,lr} sub sp, 0x4 ldr r0, _080EE910 @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r4, r0, r1 ldrh r2, [r4] cmp r2, 0x1 beq _080EE932 cmp r2, 0x1 bgt _080EE914 cmp r2, 0 beq _080EE91A b _080EE95E .align 2, 0 _080EE910: .4byte 0x02000000 _080EE914: cmp r2, 0x2 beq _080EE958 b _080EE95E _080EE91A: movs r1, 0xC2 lsls r1, 2 adds r0, r1 ldr r0, [r0] movs r1, 0x1 negs r1, r1 str r2, [sp] movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade b _080EE94C _080EE932: ldr r0, _080EE954 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EE95E bl sub_80F3130 movs r0, 0x2 bl sub_80F2D6C bl sub_80F6FFC _080EE94C: ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] b _080EE95E .align 2, 0 _080EE954: .4byte gPaletteFade _080EE958: ldr r0, _080EE968 @ =sub_80EC00C bl sub_80EBDBC _080EE95E: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080EE968: .4byte sub_80EC00C thumb_func_end sub_80EE8F4 thumb_func_start sub_80EE96C sub_80EE96C: @ 80EE96C push {r4,r5,lr} sub sp, 0x4 ldr r0, _080EE99C @ =0x02000000 movs r1, 0xC1 lsls r1, 2 adds r5, r0, r1 ldrh r4, [r5] cmp r4, 0 bne _080EE9A0 movs r0, 0x6F bl PlaySE movs r0, 0x1 negs r0, r0 str r4, [sp] movs r1, 0 movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade ldrh r0, [r5] adds r0, 0x1 strh r0, [r5] b _080EE9B4 .align 2, 0 _080EE99C: .4byte 0x02000000 _080EE9A0: ldr r0, _080EE9BC @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080EE9B4 bl sub_80F5BDC bl sub_805469C _080EE9B4: add sp, 0x4 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080EE9BC: .4byte gPaletteFade thumb_func_end sub_80EE96C thumb_func_start sub_80EE9C0 sub_80EE9C0: @ 80EE9C0 push {r4-r6,lr} adds r4, r0, 0 adds r5, r1, 0 adds r6, r2, 0 lsls r4, 24 lsrs r4, 24 lsls r5, 24 lsrs r5, 24 lsls r6, 24 lsrs r6, 24 bl sub_80F1E84 ldr r1, _080EE9FC @ =0x02000000 ldr r2, _080EEA00 @ =0x00006e14 adds r0, r1, r2 movs r2, 0 strb r4, [r0] ldr r3, _080EEA04 @ =0x00006e15 adds r0, r1, r3 strb r5, [r0] adds r3, 0x1 adds r0, r1, r3 strb r2, [r0] ldr r0, _080EEA08 @ =0x00006e17 adds r1, r0 strb r6, [r1] pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080EE9FC: .4byte 0x02000000 _080EEA00: .4byte 0x00006e14 _080EEA04: .4byte 0x00006e15 _080EEA08: .4byte 0x00006e17 thumb_func_end sub_80EE9C0 thumb_func_start sub_80EEA0C sub_80EEA0C: @ 80EEA0C push {r4,lr} ldr r1, _080EEA28 @ =0x02000000 ldr r2, _080EEA2C @ =0x00006e16 adds r0, r1, r2 ldrb r0, [r0] adds r3, r1, 0 cmp r0, 0x8 bls _080EEA1E b _080EEBFA _080EEA1E: lsls r0, 2 ldr r1, _080EEA30 @ =_080EEA34 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EEA28: .4byte 0x02000000 _080EEA2C: .4byte 0x00006e16 _080EEA30: .4byte _080EEA34 .align 2, 0 _080EEA34: .4byte _080EEA58 .4byte _080EEA98 .4byte _080EEAAE .4byte _080EEAD4 .4byte _080EEB3E .4byte _080EEB68 .4byte _080EEB88 .4byte _080EEBAC .4byte _080EEBE4 _080EEA58: bl sub_80F1F10 lsls r0, 24 cmp r0, 0 beq _080EEA64 b _080EEC08 _080EEA64: ldr r1, _080EEA7C @ =0x02000000 ldr r4, _080EEA80 @ =0x00006e17 adds r0, r1, r4 ldrb r0, [r0] cmp r0, 0xC beq _080EEA88 ldr r0, _080EEA84 @ =0x00006e16 adds r1, r0 movs r0, 0x1 strb r0, [r1] b _080EEC08 .align 2, 0 _080EEA7C: .4byte 0x02000000 _080EEA80: .4byte 0x00006e17 _080EEA84: .4byte 0x00006e16 _080EEA88: ldr r2, _080EEA94 @ =0x00006e16 adds r1, r2 movs r0, 0x3 strb r0, [r1] b _080EEC08 .align 2, 0 _080EEA94: .4byte 0x00006e16 _080EEA98: ldr r4, _080EEAC8 @ =0x02000000 ldr r1, _080EEACC @ =0x00006e17 adds r0, r4, r1 ldrb r0, [r0] bl sub_80F2C80 ldr r2, _080EEAD0 @ =0x00006e16 adds r4, r2 ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] _080EEAAE: ldr r4, _080EEAC8 @ =0x02000000 ldr r1, _080EEACC @ =0x00006e17 adds r0, r4, r1 ldrb r0, [r0] bl sub_80F2CBC lsls r0, 24 cmp r0, 0 beq _080EEAC2 b _080EEC08 _080EEAC2: ldr r2, _080EEAD0 @ =0x00006e16 adds r1, r4, r2 b _080EEB76 .align 2, 0 _080EEAC8: .4byte 0x02000000 _080EEACC: .4byte 0x00006e17 _080EEAD0: .4byte 0x00006e16 _080EEAD4: adds r2, r3, 0 ldr r4, _080EEAF8 @ =0x00006e15 adds r0, r2, r4 ldrb r1, [r0] subs r4, 0x68 adds r0, r2, r4 strb r1, [r0] ldr r1, _080EEAFC @ =0x00006e14 adds r0, r2, r1 ldrb r0, [r0] cmp r0, 0x1 beq _080EEB14 cmp r0, 0x1 bgt _080EEB00 cmp r0, 0 beq _080EEB06 b _080EEB28 .align 2, 0 _080EEAF8: .4byte 0x00006e15 _080EEAFC: .4byte 0x00006e14 _080EEB00: cmp r0, 0x2 beq _080EEB20 b _080EEB28 _080EEB06: ldr r4, _080EEB10 @ =0x00006dae adds r1, r2, r4 movs r0, 0x5 b _080EEB26 .align 2, 0 _080EEB10: .4byte 0x00006dae _080EEB14: ldr r0, _080EEB1C @ =0x00006dae adds r1, r2, r0 movs r0, 0x3 b _080EEB26 .align 2, 0 _080EEB1C: .4byte 0x00006dae _080EEB20: ldr r2, _080EEB58 @ =0x00006dae adds r1, r3, r2 movs r0, 0x6 _080EEB26: strb r0, [r1] _080EEB28: ldr r4, _080EEB5C @ =0x02000000 ldr r1, _080EEB60 @ =0x00006e14 adds r0, r4, r1 ldrb r0, [r0] bl sub_80F1B8C ldr r2, _080EEB64 @ =0x00006e16 adds r4, r2 ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] _080EEB3E: ldr r4, _080EEB5C @ =0x02000000 ldr r1, _080EEB60 @ =0x00006e14 adds r0, r4, r1 ldrb r0, [r0] bl sub_80F1BC8 lsls r0, 24 cmp r0, 0 bne _080EEC08 ldr r2, _080EEB64 @ =0x00006e16 adds r1, r4, r2 b _080EEB76 .align 2, 0 _080EEB58: .4byte 0x00006dae _080EEB5C: .4byte 0x02000000 _080EEB60: .4byte 0x00006e14 _080EEB64: .4byte 0x00006e16 _080EEB68: bl sub_8055870 cmp r0, 0 bne _080EEC08 ldr r1, _080EEB80 @ =0x02000000 ldr r4, _080EEB84 @ =0x00006e16 adds r1, r4 _080EEB76: ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _080EEC08 .align 2, 0 _080EEB80: .4byte 0x02000000 _080EEB84: .4byte 0x00006e16 _080EEB88: bl sub_80F1DF0 ldr r4, _080EEBA0 @ =0x02000000 ldr r1, _080EEBA4 @ =0x00006e14 adds r0, r4, r1 ldrb r0, [r0] bl sub_80EF490 ldr r2, _080EEBA8 @ =0x00006e16 adds r4, r2 b _080EEBCC .align 2, 0 _080EEBA0: .4byte 0x02000000 _080EEBA4: .4byte 0x00006e14 _080EEBA8: .4byte 0x00006e16 _080EEBAC: bl sub_80F1E50 lsls r0, 24 cmp r0, 0 bne _080EEC08 ldr r4, _080EEBD4 @ =0x02000000 ldr r1, _080EEBD8 @ =0x00006e14 adds r0, r4, r1 ldrb r0, [r0] ldr r2, _080EEBDC @ =0x00006dad adds r1, r4, r2 ldrb r1, [r1] bl sub_80EF428 ldr r0, _080EEBE0 @ =0x00006e16 adds r4, r0 _080EEBCC: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] b _080EEC08 .align 2, 0 _080EEBD4: .4byte 0x02000000 _080EEBD8: .4byte 0x00006e14 _080EEBDC: .4byte 0x00006dad _080EEBE0: .4byte 0x00006e16 _080EEBE4: bl sub_80EF4F8 lsls r0, 24 cmp r0, 0 bne _080EEC08 ldr r1, _080EEC00 @ =0x02000000 ldr r2, _080EEC04 @ =0x00006e16 adds r1, r2 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _080EEBFA: movs r0, 0 b _080EEC0A .align 2, 0 _080EEC00: .4byte 0x02000000 _080EEC04: .4byte 0x00006e16 _080EEC08: movs r0, 0x1 _080EEC0A: pop {r4} pop {r1} bx r1 thumb_func_end sub_80EEA0C thumb_func_start sub_80EEC10 sub_80EEC10: @ 80EEC10 push {r4,lr} ldr r0, _080EEC48 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 cmp r0, 0 beq _080EEC50 ldr r1, _080EEC4C @ =0x02006dad adds r3, r1, 0x1 adds r2, r1, 0x5 _080EEC24: ldrb r0, [r1] subs r0, 0x1 strb r0, [r1] lsls r0, 24 cmp r0, 0 bge _080EEC36 ldrb r0, [r3] subs r0, 0x1 strb r0, [r1] _080EEC36: movs r0, 0 ldrsb r0, [r1, r0] adds r0, r2 ldrb r0, [r0] cmp r0, 0 beq _080EEC24 movs r0, 0x1 b _080EEC8A .align 2, 0 _080EEC48: .4byte gMain _080EEC4C: .4byte 0x02006dad _080EEC50: movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080EEC88 ldr r1, _080EEC84 @ =0x02006dad movs r4, 0 movs r2, 0x1 ldrsb r2, [r1, r2] adds r3, r1, 0x5 _080EEC62: ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] lsls r0, 24 asrs r0, 24 cmp r0, r2 blt _080EEC72 strb r4, [r1] _080EEC72: movs r0, 0 ldrsb r0, [r1, r0] adds r0, r3 ldrb r0, [r0] cmp r0, 0 beq _080EEC62 movs r0, 0x1 b _080EEC8A .align 2, 0 _080EEC84: .4byte 0x02006dad _080EEC88: movs r0, 0 _080EEC8A: pop {r4} pop {r1} bx r1 thumb_func_end sub_80EEC10 thumb_func_start sub_80EEC90 sub_80EEC90: @ 80EEC90 push {r4,lr} ldr r0, _080EECC0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0 beq _080EECD0 ldr r2, _080EECC4 @ =0x02000000 ldr r0, _080EECC8 @ =0x00006dad adds r1, r2, r0 ldrb r0, [r1] subs r0, 0x1 strb r0, [r1] lsls r0, 24 cmp r0, 0 bge _080EECF8 ldr r3, _080EECCC @ =0x00006dae adds r0, r2, r3 ldrb r0, [r0] subs r0, 0x1 strb r0, [r1] b _080EECF8 .align 2, 0 _080EECC0: .4byte gMain _080EECC4: .4byte 0x02000000 _080EECC8: .4byte 0x00006dad _080EECCC: .4byte 0x00006dae _080EECD0: movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080EED04 ldr r0, _080EECFC @ =0x02000000 ldr r4, _080EED00 @ =0x00006dad adds r2, r0, r4 ldrb r1, [r2] adds r1, 0x1 strb r1, [r2] adds r4, 0x1 adds r0, r4 lsls r1, 24 asrs r1, 24 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r1, r0 blt _080EECF8 strb r3, [r2] _080EECF8: movs r0, 0x1 b _080EED06 .align 2, 0 _080EECFC: .4byte 0x02000000 _080EED00: .4byte 0x00006dad _080EED04: movs r0, 0 _080EED06: pop {r4} pop {r1} bx r1 thumb_func_end sub_80EEC90 thumb_func_start sub_80EED0C sub_80EED0C: @ 80EED0C movs r1, 0x80 lsls r1, 19 movs r2, 0x80 lsls r2, 2 adds r0, r2, 0 strh r0, [r1] bx lr thumb_func_end sub_80EED0C thumb_func_start sub_80EED1C sub_80EED1C: @ 80EED1C movs r1, 0x80 lsls r1, 19 movs r2, 0x92 lsls r2, 5 adds r0, r2, 0 strh r0, [r1] bx lr thumb_func_end sub_80EED1C thumb_func_start sub_80EED2C sub_80EED2C: @ 80EED2C push {lr} lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 bhi _080EED98 lsls r0, 2 ldr r1, _080EED40 @ =_080EED44 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EED40: .4byte _080EED44 .align 2, 0 _080EED44: .4byte _080EED5C .4byte _080EED66 .4byte _080EED7E .4byte _080EED74 .4byte _080EED74 .4byte _080EED8C _080EED5C: movs r1, 0x80 lsls r1, 19 movs r2, 0xFA lsls r2, 5 b _080EED94 _080EED66: movs r1, 0x80 lsls r1, 19 ldr r2, _080EED70 @ =0x00001741 b _080EED94 .align 2, 0 _080EED70: .4byte 0x00001741 _080EED74: movs r1, 0x80 lsls r1, 19 movs r2, 0xFA lsls r2, 5 b _080EED94 _080EED7E: movs r1, 0x80 lsls r1, 19 ldr r2, _080EED88 @ =0x00007b40 b _080EED94 .align 2, 0 _080EED88: .4byte 0x00007b40 _080EED8C: movs r1, 0x80 lsls r1, 19 movs r2, 0xFD lsls r2, 6 _080EED94: adds r0, r2, 0 strh r0, [r1] _080EED98: pop {r0} bx r0 thumb_func_end sub_80EED2C thumb_func_start sub_80EED9C sub_80EED9C: @ 80EED9C push {lr} ldr r2, _080EEDB8 @ =gUnknown_03000744 ldr r0, _080EEDBC @ =0x02000000 movs r1, 0xC0 lsls r1, 2 adds r0, r1 ldr r1, [r0] str r1, [r2] ldr r1, _080EEDC0 @ =sub_80EEDC4 str r1, [r0] bl _call_via_r1 pop {r0} bx r0 .align 2, 0 _080EEDB8: .4byte gUnknown_03000744 _080EEDBC: .4byte 0x02000000 _080EEDC0: .4byte sub_80EEDC4 thumb_func_end sub_80EED9C thumb_func_start sub_80EEDC4 sub_80EEDC4: @ 80EEDC4 push {lr} bl sub_8055870 cmp r0, 0x1 beq _080EEDDC ldr r0, _080EEDE0 @ =0x02000000 movs r1, 0xC0 lsls r1, 2 adds r0, r1 ldr r1, _080EEDE4 @ =gUnknown_03000744 ldr r1, [r1] str r1, [r0] _080EEDDC: pop {r0} bx r0 .align 2, 0 _080EEDE0: .4byte 0x02000000 _080EEDE4: .4byte gUnknown_03000744 thumb_func_end sub_80EEDC4 thumb_func_start sub_80EEDE8 sub_80EEDE8: @ 80EEDE8 ldr r0, _080EEE04 @ =REG_BG0HOFS movs r1, 0 strh r1, [r0] adds r0, 0x2 strh r1, [r0] adds r0, 0x8 strh r1, [r0] subs r0, 0x2 strh r1, [r0] adds r0, 0x4 strh r1, [r0] adds r0, 0x2 strh r1, [r0] bx lr .align 2, 0 _080EEE04: .4byte REG_BG0HOFS thumb_func_end sub_80EEDE8 thumb_func_start sub_80EEE08 sub_80EEE08: @ 80EEE08 ldr r0, _080EEE18 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EEE1C @ =0x0000d160 adds r0, r1 movs r1, 0 strh r1, [r0] bx lr .align 2, 0 _080EEE18: .4byte gUnknown_083DFEC4 _080EEE1C: .4byte 0x0000d160 thumb_func_end sub_80EEE08 thumb_func_start sub_80EEE20 sub_80EEE20: @ 80EEE20 push {lr} ldr r0, _080EEE48 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EEE4C @ =0x0000d160 adds r2, r0, r1 movs r1, 0 strh r1, [r2] ldr r1, _080EEE50 @ =0x00006dac adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080EEE42 _080EEE38: bl sub_80EEE54 lsls r0, 24 cmp r0, 0 bne _080EEE38 _080EEE42: pop {r0} bx r0 .align 2, 0 _080EEE48: .4byte gUnknown_083DFEC4 _080EEE4C: .4byte 0x0000d160 _080EEE50: .4byte 0x00006dac thumb_func_end sub_80EEE20 thumb_func_start sub_80EEE54 sub_80EEE54: @ 80EEE54 push {lr} ldr r1, _080EEE70 @ =gUnknown_083DFEC4 ldr r0, [r1] ldr r2, _080EEE74 @ =0x0000d160 adds r0, r2 ldrh r0, [r0] adds r2, r1, 0 cmp r0, 0x4 bhi _080EEF02 lsls r0, 2 ldr r1, _080EEE78 @ =_080EEE7C adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EEE70: .4byte gUnknown_083DFEC4 _080EEE74: .4byte 0x0000d160 _080EEE78: .4byte _080EEE7C .align 2, 0 _080EEE7C: .4byte _080EEE90 .4byte _080EEEA4 .4byte _080EEEB8 .4byte _080EEEC8 .4byte _080EEEDC _080EEE90: ldr r0, _080EEE9C @ =gPokenavHoennMapMisc_Gfx ldr r1, _080EEEA0 @ =0x0600c000 bl LZ77UnCompVram b _080EEF18 .align 2, 0 _080EEE9C: .4byte gPokenavHoennMapMisc_Gfx _080EEEA0: .4byte 0x0600c000 _080EEEA4: ldr r0, _080EEEB0 @ =gUnknown_08E99FB0 ldr r1, _080EEEB4 @ =0x0600d800 bl LZ77UnCompVram b _080EEF18 .align 2, 0 _080EEEB0: .4byte gUnknown_08E99FB0 _080EEEB4: .4byte 0x0600d800 _080EEEB8: ldr r0, _080EEEC4 @ =gPokenavHoennMap1_Pal movs r1, 0x10 movs r2, 0x20 bl LoadPalette b _080EEF18 .align 2, 0 _080EEEC4: .4byte gPokenavHoennMap1_Pal _080EEEC8: movs r0, 0 bl sub_80EF58C movs r0, 0x1 bl sub_80EF58C movs r0, 0x2 bl sub_80EF58C b _080EEF18 _080EEEDC: ldr r2, [r2] movs r3, 0xC3 lsls r3, 2 adds r0, r2, r3 movs r1, 0 strh r1, [r0] ldr r0, _080EEF08 @ =REG_BG1HOFS strh r1, [r0] adds r0, 0x2 strh r1, [r0] ldr r1, _080EEF0C @ =REG_BG1CNT ldr r3, _080EEF10 @ =0x00001b0c adds r0, r3, 0 strh r0, [r1] ldr r0, _080EEF14 @ =0x0000d160 adds r2, r0 ldrh r0, [r2] adds r0, 0x1 strh r0, [r2] _080EEF02: movs r0, 0 b _080EEF28 .align 2, 0 _080EEF08: .4byte REG_BG1HOFS _080EEF0C: .4byte REG_BG1CNT _080EEF10: .4byte 0x00001b0c _080EEF14: .4byte 0x0000d160 _080EEF18: ldr r0, _080EEF2C @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080EEF30 @ =0x0000d160 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] movs r0, 0x1 _080EEF28: pop {r1} bx r1 .align 2, 0 _080EEF2C: .4byte gUnknown_083DFEC4 _080EEF30: .4byte 0x0000d160 thumb_func_end sub_80EEE54 thumb_func_start sub_80EEF34 sub_80EEF34: @ 80EEF34 push {r4,lr} movs r3, 0x1 ldr r0, _080EEF50 @ =gUnknown_083DFEC4 ldr r0, [r0] movs r1, 0xC3 lsls r1, 2 adds r2, r0, r1 ldrh r1, [r2] movs r4, 0 ldrsh r0, [r2, r4] cmp r0, 0x20 bne _080EEF54 movs r0, 0 b _080EEF6E .align 2, 0 _080EEF50: .4byte gUnknown_083DFEC4 _080EEF54: adds r0, r1, 0x2 strh r0, [r2] lsls r0, 16 asrs r0, 16 cmp r0, 0x1F ble _080EEF66 movs r0, 0x20 strh r0, [r2] movs r3, 0 _080EEF66: ldr r1, _080EEF74 @ =REG_BG1VOFS ldrh r0, [r2] strh r0, [r1] adds r0, r3, 0 _080EEF6E: pop {r4} pop {r1} bx r1 .align 2, 0 _080EEF74: .4byte REG_BG1VOFS thumb_func_end sub_80EEF34 thumb_func_start sub_80EEF78 sub_80EEF78: @ 80EEF78 push {r4,lr} movs r3, 0x1 ldr r0, _080EEF94 @ =gUnknown_083DFEC4 ldr r0, [r0] movs r1, 0xC3 lsls r1, 2 adds r2, r0, r1 ldrh r1, [r2] movs r4, 0 ldrsh r0, [r2, r4] cmp r0, 0 bne _080EEF98 movs r0, 0 b _080EEFB0 .align 2, 0 _080EEF94: .4byte gUnknown_083DFEC4 _080EEF98: subs r0, r1, 0x2 strh r0, [r2] lsls r0, 16 cmp r0, 0 bgt _080EEFA8 movs r0, 0 strh r0, [r2] movs r3, 0 _080EEFA8: ldr r1, _080EEFB8 @ =REG_BG1VOFS ldrh r0, [r2] strh r0, [r1] adds r0, r3, 0 _080EEFB0: pop {r4} pop {r1} bx r1 .align 2, 0 _080EEFB8: .4byte REG_BG1VOFS thumb_func_end sub_80EEF78 thumb_func_start sub_80EEFBC sub_80EEFBC: @ 80EEFBC push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x10 lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080EEFF4 @ =0x0600d800 ldr r3, _080EEFF8 @ =gUnknown_08E9A100 movs r1, 0 str r1, [sp] str r1, [sp, 0x4] movs r1, 0x11 str r1, [sp, 0x8] movs r1, 0x2 str r1, [sp, 0xC] movs r1, 0 movs r2, 0x16 bl sub_809D104 cmp r4, 0xB bls _080EEFE8 b _080EF234 _080EEFE8: lsls r0, r4, 2 ldr r1, _080EEFFC @ =_080EF000 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EEFF4: .4byte 0x0600d800 _080EEFF8: .4byte gUnknown_08E9A100 _080EEFFC: .4byte _080EF000 .align 2, 0 _080EF000: .4byte _080EF030 .4byte _080EF234 .4byte _080EF08C .4byte _080EF100 .4byte _080EF13C .4byte _080EF1D4 .4byte _080EF234 .4byte _080EF178 .4byte _080EF190 .4byte _080EF1D4 .4byte _080EF218 .4byte _080EF06C _080EF030: ldr r6, _080EF064 @ =0x0600d800 ldr r0, _080EF068 @ =gUnknown_08E9A100 mov r8, r0 movs r0, 0x11 str r0, [sp] movs r4, 0 str r4, [sp, 0x4] movs r0, 0xA str r0, [sp, 0x8] movs r5, 0x2 str r5, [sp, 0xC] adds r0, r6, 0 movs r1, 0 movs r2, 0x16 mov r3, r8 bl sub_809D104 str r4, [sp] movs r0, 0x6 str r0, [sp, 0x4] movs r0, 0x7 str r0, [sp, 0x8] str r5, [sp, 0xC] adds r0, r6, 0 movs r1, 0xA b _080EF204 .align 2, 0 _080EF064: .4byte 0x0600d800 _080EF068: .4byte gUnknown_08E9A100 _080EF06C: ldr r0, _080EF084 @ =0x0600d800 ldr r3, _080EF088 @ =gUnknown_08E9A100 movs r1, 0 str r1, [sp] movs r1, 0x6 str r1, [sp, 0x4] movs r1, 0x7 str r1, [sp, 0x8] movs r1, 0x2 str r1, [sp, 0xC] movs r1, 0x8 b _080EF0EE .align 2, 0 _080EF084: .4byte 0x0600d800 _080EF088: .4byte gUnknown_08E9A100 _080EF08C: ldr r0, _080EF0C8 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EF0CC @ =0x00006dac adds r0, r1 ldrb r7, [r0] cmp r7, 0 bne _080EF0D8 ldr r5, _080EF0D0 @ =0x0600d800 ldr r6, _080EF0D4 @ =gUnknown_08E9A100 movs r0, 0xA str r0, [sp] movs r4, 0x2 str r4, [sp, 0x4] str r0, [sp, 0x8] str r4, [sp, 0xC] adds r0, r5, 0 movs r1, 0 movs r2, 0x16 adds r3, r6, 0 bl sub_809D104 str r7, [sp] movs r0, 0x6 str r0, [sp, 0x4] movs r0, 0x7 str r0, [sp, 0x8] str r4, [sp, 0xC] adds r0, r5, 0 movs r1, 0xA b _080EF1C2 .align 2, 0 _080EF0C8: .4byte gUnknown_083DFEC4 _080EF0CC: .4byte 0x00006dac _080EF0D0: .4byte 0x0600d800 _080EF0D4: .4byte gUnknown_08E9A100 _080EF0D8: ldr r0, _080EF0F8 @ =0x0600d800 ldr r3, _080EF0FC @ =gUnknown_08E9A100 movs r1, 0 str r1, [sp] movs r1, 0x6 str r1, [sp, 0x4] movs r1, 0x7 str r1, [sp, 0x8] movs r1, 0x2 str r1, [sp, 0xC] movs r1, 0xA _080EF0EE: movs r2, 0x16 bl sub_809D104 b _080EF234 .align 2, 0 _080EF0F8: .4byte 0x0600d800 _080EF0FC: .4byte gUnknown_08E9A100 _080EF100: ldr r6, _080EF134 @ =0x0600d800 ldr r0, _080EF138 @ =gUnknown_08E9A100 mov r8, r0 movs r5, 0 str r5, [sp] movs r0, 0x4 str r0, [sp, 0x4] movs r0, 0xA str r0, [sp, 0x8] movs r4, 0x2 str r4, [sp, 0xC] adds r0, r6, 0 movs r1, 0 movs r2, 0x16 mov r3, r8 bl sub_809D104 str r5, [sp] movs r0, 0x6 str r0, [sp, 0x4] movs r0, 0x7 str r0, [sp, 0x8] str r4, [sp, 0xC] adds r0, r6, 0 movs r1, 0xA b _080EF204 .align 2, 0 _080EF134: .4byte 0x0600d800 _080EF138: .4byte gUnknown_08E9A100 _080EF13C: ldr r5, _080EF170 @ =0x0600d800 ldr r6, _080EF174 @ =gUnknown_08E9A100 movs r0, 0x14 str r0, [sp] movs r4, 0x2 str r4, [sp, 0x4] movs r0, 0xA str r0, [sp, 0x8] str r4, [sp, 0xC] adds r0, r5, 0 movs r1, 0 movs r2, 0x16 adds r3, r6, 0 bl sub_809D104 movs r0, 0 str r0, [sp] movs r0, 0x6 str r0, [sp, 0x4] movs r0, 0x7 str r0, [sp, 0x8] str r4, [sp, 0xC] adds r0, r5, 0 movs r1, 0xA b _080EF1C2 .align 2, 0 _080EF170: .4byte 0x0600d800 _080EF174: .4byte gUnknown_08E9A100 _080EF178: ldr r5, _080EF188 @ =0x0600d800 ldr r6, _080EF18C @ =gUnknown_08E9A100 movs r1, 0xA str r1, [sp] movs r0, 0x4 str r0, [sp, 0x4] str r1, [sp, 0x8] b _080EF1A0 .align 2, 0 _080EF188: .4byte 0x0600d800 _080EF18C: .4byte gUnknown_08E9A100 _080EF190: ldr r5, _080EF1CC @ =0x0600d800 ldr r6, _080EF1D0 @ =gUnknown_08E9A100 movs r0, 0x14 str r0, [sp] movs r0, 0x4 str r0, [sp, 0x4] movs r0, 0xA str r0, [sp, 0x8] _080EF1A0: movs r4, 0x2 str r4, [sp, 0xC] adds r0, r5, 0 movs r1, 0 movs r2, 0x16 adds r3, r6, 0 bl sub_809D104 movs r0, 0 str r0, [sp] movs r0, 0x6 str r0, [sp, 0x4] movs r0, 0x7 str r0, [sp, 0x8] str r4, [sp, 0xC] adds r0, r5, 0 movs r1, 0x7 _080EF1C2: movs r2, 0x16 adds r3, r6, 0 bl sub_809D104 b _080EF234 .align 2, 0 _080EF1CC: .4byte 0x0600d800 _080EF1D0: .4byte gUnknown_08E9A100 _080EF1D4: ldr r6, _080EF210 @ =0x0600d800 ldr r1, _080EF214 @ =gUnknown_08E9A100 mov r8, r1 movs r5, 0 str r5, [sp] movs r4, 0x2 str r4, [sp, 0x4] movs r0, 0xA str r0, [sp, 0x8] str r4, [sp, 0xC] adds r0, r6, 0 movs r1, 0 movs r2, 0x16 mov r3, r8 bl sub_809D104 str r5, [sp] movs r0, 0x6 str r0, [sp, 0x4] movs r0, 0x7 str r0, [sp, 0x8] str r4, [sp, 0xC] adds r0, r6, 0 movs r1, 0x8 _080EF204: movs r2, 0x16 mov r3, r8 bl sub_809D104 b _080EF234 .align 2, 0 _080EF210: .4byte 0x0600d800 _080EF214: .4byte gUnknown_08E9A100 _080EF218: ldr r0, _080EF240 @ =0x0600d800 ldr r3, _080EF244 @ =gUnknown_08E9A100 movs r1, 0 str r1, [sp] movs r1, 0x6 str r1, [sp, 0x4] movs r1, 0x7 str r1, [sp, 0x8] movs r1, 0x2 str r1, [sp, 0xC] movs r1, 0x8 movs r2, 0x16 bl sub_809D104 _080EF234: add sp, 0x10 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080EF240: .4byte 0x0600d800 _080EF244: .4byte gUnknown_08E9A100 thumb_func_end sub_80EEFBC thumb_func_start sub_80EF248 sub_80EF248: @ 80EF248 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080EF278 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EF27C @ =0x0000d160 adds r2, r0, r1 movs r1, 0 strh r1, [r2] ldr r1, _080EF280 @ =0x00006dac adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080EF270 _080EF264: adds r0, r4, 0 bl sub_80EF284 lsls r0, 24 cmp r0, 0 bne _080EF264 _080EF270: pop {r4} pop {r0} bx r0 .align 2, 0 _080EF278: .4byte gUnknown_083DFEC4 _080EF27C: .4byte 0x0000d160 _080EF280: .4byte 0x00006dac thumb_func_end sub_80EF248 thumb_func_start sub_80EF284 sub_80EF284: @ 80EF284 push {lr} lsls r0, 24 lsrs r2, r0, 24 ldr r1, _080EF2A8 @ =gUnknown_083DFEC4 ldr r0, [r1] ldr r3, _080EF2AC @ =0x0000d160 adds r0, r3 ldrh r0, [r0] adds r3, r1, 0 cmp r0, 0xB bls _080EF29C b _080EF3F6 _080EF29C: lsls r0, 2 ldr r1, _080EF2B0 @ =_080EF2B4 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EF2A8: .4byte gUnknown_083DFEC4 _080EF2AC: .4byte 0x0000d160 _080EF2B0: .4byte _080EF2B4 .align 2, 0 _080EF2B4: .4byte _080EF2E4 .4byte _080EF2EA .4byte _080EF2F8 .4byte _080EF304 .4byte _080EF310 .4byte _080EF330 .4byte _080EF344 .4byte _080EF368 .4byte _080EF37C .4byte _080EF390 .4byte _080EF3A4 .4byte _080EF3CC _080EF2E4: bl sub_80EEDE8 b _080EF40C _080EF2EA: ldr r0, _080EF2F4 @ =gWindowConfig_81E7224 bl SetUpWindowConfig b _080EF40C .align 2, 0 _080EF2F4: .4byte gWindowConfig_81E7224 _080EF2F8: ldr r0, _080EF300 @ =gWindowConfig_81E7224 bl MultistepInitMenuWindowBegin b _080EF40C .align 2, 0 _080EF300: .4byte gWindowConfig_81E7224 _080EF304: bl MultistepInitMenuWindowContinue cmp r0, 0 beq _080EF30E b _080EF40C _080EF30E: b _080EF41A _080EF310: ldr r1, _080EF320 @ =gUnknown_083DFEEC ldr r2, _080EF324 @ =0x06005000 ldr r0, _080EF328 @ =0x040000d4 str r1, [r0] str r2, [r0, 0x4] ldr r1, _080EF32C @ =0x80000050 b _080EF350 .align 2, 0 _080EF320: .4byte gUnknown_083DFEEC _080EF324: .4byte 0x06005000 _080EF328: .4byte 0x040000d4 _080EF32C: .4byte 0x80000050 _080EF330: ldr r0, _080EF33C @ =gUnknown_083DFF8C ldr r1, _080EF340 @ =0x0600f800 bl LZ77UnCompVram b _080EF40C .align 2, 0 _080EF33C: .4byte gUnknown_083DFF8C _080EF340: .4byte 0x0600f800 _080EF344: ldr r1, _080EF358 @ =gUnknown_083E005C ldr r2, _080EF35C @ =0x06008000 ldr r0, _080EF360 @ =0x040000d4 str r1, [r0] str r2, [r0, 0x4] ldr r1, _080EF364 @ =0x80000010 _080EF350: str r1, [r0, 0x8] ldr r0, [r0, 0x8] b _080EF40C .align 2, 0 _080EF358: .4byte gUnknown_083E005C _080EF35C: .4byte 0x06008000 _080EF360: .4byte 0x040000d4 _080EF364: .4byte 0x80000010 _080EF368: ldr r0, _080EF374 @ =gUnknown_083E007C ldr r1, _080EF378 @ =0x0600e000 bl LZ77UnCompVram b _080EF40C .align 2, 0 _080EF374: .4byte gUnknown_083E007C _080EF378: .4byte 0x0600e000 _080EF37C: ldr r0, _080EF388 @ =gPokenavOutlineTilemap ldr r1, _080EF38C @ =0x0600e800 bl LZ77UnCompVram b _080EF40C .align 2, 0 _080EF388: .4byte gPokenavOutlineTilemap _080EF38C: .4byte 0x0600e800 _080EF390: ldr r0, _080EF39C @ =gPokenavOutlineTiles ldr r1, _080EF3A0 @ =0x06008020 bl LZ77UnCompVram b _080EF40C .align 2, 0 _080EF39C: .4byte gPokenavOutlineTiles _080EF3A0: .4byte 0x06008020 _080EF3A4: adds r0, r2, 0 bl sub_80EF54C ldr r0, _080EF3C4 @ =gUnknown_083DFECC movs r1, 0xF0 movs r2, 0x20 bl LoadPalette ldr r0, _080EF3C8 @ =gPokenavOutlinePalette movs r1, 0x40 movs r2, 0x20 bl LoadPalette bl sub_80EF7D4 b _080EF40C .align 2, 0 _080EF3C4: .4byte gUnknown_083DFECC _080EF3C8: .4byte gPokenavOutlinePalette _080EF3CC: ldr r1, _080EF3FC @ =REG_BG0CNT ldr r2, _080EF400 @ =0x00001f01 adds r0, r2, 0 strh r0, [r1] adds r1, 0x4 ldr r2, _080EF404 @ =0x00001d0a adds r0, r2, 0 strh r0, [r1] adds r1, 0x2 subs r2, 0xFF adds r0, r2, 0 strh r0, [r1] adds r1, 0x42 movs r0, 0 strh r0, [r1] ldr r1, [r3] ldr r3, _080EF408 @ =0x0000d160 adds r1, r3 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EF3F6: movs r0, 0 b _080EF41C .align 2, 0 _080EF3FC: .4byte REG_BG0CNT _080EF400: .4byte 0x00001f01 _080EF404: .4byte 0x00001d0a _080EF408: .4byte 0x0000d160 _080EF40C: ldr r0, _080EF420 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080EF424 @ =0x0000d160 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EF41A: movs r0, 0x1 _080EF41C: pop {r1} bx r1 .align 2, 0 _080EF420: .4byte gUnknown_083DFEC4 _080EF424: .4byte 0x0000d160 thumb_func_end sub_80EF284 thumb_func_start sub_80EF428 sub_80EF428: @ 80EF428 push {r4,lr} lsls r0, 24 lsrs r0, 24 adds r3, r0, 0 lsls r1, 24 lsrs r2, r1, 24 movs r1, 0 cmp r0, 0x1 beq _080EF454 cmp r0, 0x1 bgt _080EF444 cmp r0, 0 beq _080EF44A b _080EF464 _080EF444: cmp r3, 0x2 beq _080EF45C b _080EF464 _080EF44A: ldr r1, _080EF450 @ =gUnknown_083E31B0 b _080EF45E .align 2, 0 _080EF450: .4byte gUnknown_083E31B0 _080EF454: ldr r1, _080EF458 @ =gUnknown_083E31CC b _080EF45E .align 2, 0 _080EF458: .4byte gUnknown_083E31CC _080EF45C: ldr r1, _080EF488 @ =gUnknown_083E31D8 _080EF45E: lsls r0, r2, 2 adds r0, r1 ldr r1, [r0] _080EF464: ldr r0, _080EF48C @ =gUnknown_083DFEC8 ldr r4, [r0] movs r0, 0x80 lsls r0, 4 adds r4, r0 adds r0, r4, 0 movs r2, 0xC0 movs r3, 0x2 bl sub_8072C74 adds r0, r4, 0 movs r1, 0x3 movs r2, 0x11 bl MenuPrint pop {r4} pop {r0} bx r0 .align 2, 0 _080EF488: .4byte gUnknown_083E31D8 _080EF48C: .4byte gUnknown_083DFEC8 thumb_func_end sub_80EF428 thumb_func_start sub_80EF490 sub_80EF490: @ 80EF490 push {r4,lr} lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x2 bne _080EF49C movs r2, 0x1 _080EF49C: ldr r0, _080EF4C4 @ =gUnknown_083DFEC4 ldr r3, [r0] lsls r1, r2, 4 subs r1, r2 lsls r2, r1, 1 ldr r4, _080EF4C8 @ =0x0000ce4e adds r0, r3, r4 strh r2, [r0] ldr r2, _080EF4CC @ =0x0000ce4c adds r0, r3, r2 ldrh r2, [r0] lsls r1, 17 lsrs r0, r1, 16 cmp r2, r0 bcs _080EF4D0 adds r4, 0x2 adds r1, r3, r4 movs r0, 0x2 b _080EF4EA .align 2, 0 _080EF4C4: .4byte gUnknown_083DFEC4 _080EF4C8: .4byte 0x0000ce4e _080EF4CC: .4byte 0x0000ce4c _080EF4D0: cmp r2, r0 bls _080EF4E4 ldr r0, _080EF4DC @ =0x0000ce50 adds r1, r3, r0 ldr r0, _080EF4E0 @ =0x0000fffe b _080EF4EA .align 2, 0 _080EF4DC: .4byte 0x0000ce50 _080EF4E0: .4byte 0x0000fffe _080EF4E4: ldr r2, _080EF4F4 @ =0x0000ce50 adds r1, r3, r2 movs r0, 0 _080EF4EA: strh r0, [r1] pop {r4} pop {r0} bx r0 .align 2, 0 _080EF4F4: .4byte 0x0000ce50 thumb_func_end sub_80EF490 thumb_func_start sub_80EF4F8 sub_80EF4F8: @ 80EF4F8 push {r4,lr} ldr r0, _080EF530 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080EF534 @ =0x0000ce4c adds r2, r1, r0 ldr r3, _080EF538 @ =0x0000ce4e adds r0, r1, r3 ldrh r3, [r2] ldrh r0, [r0] cmp r3, r0 beq _080EF544 ldr r4, _080EF53C @ =0x0000ce50 adds r0, r1, r4 ldrh r0, [r0] adds r0, r3, r0 strh r0, [r2] ldr r3, _080EF540 @ =0x0000ce52 adds r0, r1, r3 ldrh r1, [r2] lsls r1, 1 adds r0, r1 movs r1, 0x31 movs r2, 0x4 bl LoadPalette movs r0, 0x1 b _080EF546 .align 2, 0 _080EF530: .4byte gUnknown_083DFEC4 _080EF534: .4byte 0x0000ce4c _080EF538: .4byte 0x0000ce4e _080EF53C: .4byte 0x0000ce50 _080EF540: .4byte 0x0000ce52 _080EF544: movs r0, 0 _080EF546: pop {r4} pop {r1} bx r1 thumb_func_end sub_80EF4F8 thumb_func_start sub_80EF54C sub_80EF54C: @ 80EF54C push {lr} lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x2 bne _080EF558 movs r2, 0x1 _080EF558: ldr r0, _080EF580 @ =gUnknown_083DFEC4 ldr r0, [r0] lsls r1, r2, 4 subs r1, r2 lsls r1, 1 ldr r3, _080EF584 @ =0x0000ce4c adds r2, r0, r3 strh r1, [r2] ldrh r1, [r2] lsls r1, 1 ldr r2, _080EF588 @ =0x0000ce52 adds r1, r2 adds r0, r1 movs r1, 0x31 movs r2, 0x4 bl LoadPalette pop {r0} bx r0 .align 2, 0 _080EF580: .4byte gUnknown_083DFEC4 _080EF584: .4byte 0x0000ce4c _080EF588: .4byte 0x0000ce52 thumb_func_end sub_80EF54C thumb_func_start sub_80EF58C sub_80EF58C: @ 80EF58C push {lr} sub sp, 0x4 lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 cmp r0, 0x1 beq _080EF5D0 cmp r0, 0x1 bgt _080EF5A4 cmp r0, 0 beq _080EF5AA b _080EF610 _080EF5A4: cmp r1, 0x2 beq _080EF5F8 b _080EF610 _080EF5AA: movs r1, 0 ldr r0, _080EF5C8 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r3, _080EF5CC @ =0x0000ce52 adds r2, r0, r3 movs r3, 0 _080EF5B6: lsls r0, r1, 1 adds r0, r2, r0 strh r3, [r0] adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0x3D bls _080EF5B6 b _080EF610 .align 2, 0 _080EF5C8: .4byte gUnknown_083DFEC4 _080EF5CC: .4byte 0x0000ce52 _080EF5D0: ldr r0, _080EF5EC @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EF5F0 @ =0x0000ce52 adds r2, r0, r1 ldr r1, _080EF5F4 @ =gUnknown_083E003C adds r0, r1, 0x2 adds r1, 0x6 str r2, [sp] movs r2, 0x10 movs r3, 0x2 bl sub_80EF624 b _080EF610 .align 2, 0 _080EF5EC: .4byte gUnknown_083DFEC4 _080EF5F0: .4byte 0x0000ce52 _080EF5F4: .4byte gUnknown_083E003C _080EF5F8: ldr r0, _080EF618 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r3, _080EF61C @ =0x0000ce8e adds r2, r0, r3 ldr r1, _080EF620 @ =gUnknown_083E003C adds r0, r1, 0x6 adds r1, 0xE str r2, [sp] movs r2, 0x10 movs r3, 0x2 bl sub_80EF624 _080EF610: add sp, 0x4 pop {r0} bx r0 .align 2, 0 _080EF618: .4byte gUnknown_083DFEC4 _080EF61C: .4byte 0x0000ce8e _080EF620: .4byte gUnknown_083E003C thumb_func_end sub_80EF58C thumb_func_start sub_80EF624 sub_80EF624: @ 80EF624 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x38 str r0, [sp] str r1, [sp, 0x4] ldr r4, [sp, 0x58] lsls r2, 24 lsrs r2, 24 str r2, [sp, 0x8] lsls r3, 24 lsrs r3, 24 str r3, [sp, 0xC] movs r0, 0 str r0, [sp, 0x10] lsls r0, r3, 16 ldr r1, [sp, 0x10] cmp r1, r3 bcs _080EF72E subs r2, 0x1 str r2, [sp, 0x20] str r0, [sp, 0x2C] _080EF654: ldr r2, [sp] ldrh r1, [r2] movs r0, 0x1F ands r0, r1 lsls r7, r0, 8 lsls r1, 16 lsrs r0, r1, 21 movs r2, 0x1F ands r0, r2 lsls r6, r0, 8 lsrs r1, 26 ands r1, r2 lsls r5, r1, 8 ldr r0, [sp, 0x4] ldrh r1, [r0] movs r0, 0x1F ands r0, r1 lsls r0, 8 str r0, [sp, 0x14] lsls r1, 16 lsrs r0, r1, 21 ands r0, r2 lsls r0, 8 str r0, [sp, 0x18] lsrs r1, 26 ands r1, r2 lsls r1, 8 str r1, [sp, 0x1C] ldr r1, [sp, 0x14] subs r0, r1, r7 ldr r1, [sp, 0x8] bl __divsi3 mov r10, r0 ldr r2, [sp, 0x18] subs r0, r2, r6 ldr r1, [sp, 0x8] bl __divsi3 mov r9, r0 ldr r1, [sp, 0x1C] subs r0, r1, r5 ldr r1, [sp, 0x8] bl __divsi3 mov r8, r0 adds r3, r4, 0 movs r4, 0 ldr r2, [sp] adds r2, 0x2 str r2, [sp, 0x30] ldr r0, [sp, 0x4] adds r0, 0x2 str r0, [sp, 0x34] adds r1, r3, 0x2 str r1, [sp, 0x24] ldr r2, [sp, 0x10] adds r2, 0x1 str r2, [sp, 0x28] ldr r0, [sp, 0x20] cmp r4, r0 bge _080EF700 ldr r1, [sp, 0xC] lsls r1, 1 mov r12, r1 _080EF6D6: lsls r0, r7, 8 lsrs r2, r0, 16 lsls r0, r6, 8 lsrs r1, r0, 16 lsls r0, r5, 8 lsrs r0, 16 lsls r0, 10 lsls r1, 5 orrs r0, r1 orrs r2, r0 strh r2, [r3] add r3, r12 add r7, r10 add r6, r9 add r5, r8 adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 ldr r2, [sp, 0x20] cmp r4, r2 blt _080EF6D6 _080EF700: ldr r4, [sp, 0x14] lsrs r2, r4, 8 ldr r1, [sp, 0x1C] lsls r0, r1, 2 ldr r4, [sp, 0x18] lsrs r1, r4, 3 orrs r0, r1 orrs r2, r0 strh r2, [r3] ldr r0, [sp, 0x30] str r0, [sp] ldr r1, [sp, 0x34] str r1, [sp, 0x4] ldr r4, [sp, 0x24] ldr r2, [sp, 0x28] lsls r0, r2, 16 lsrs r0, 16 str r0, [sp, 0x10] ldr r1, [sp, 0x2C] lsrs r0, r1, 16 ldr r2, [sp, 0x10] cmp r2, r0 bcc _080EF654 _080EF72E: add sp, 0x38 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_80EF624 thumb_func_start sub_80EF740 sub_80EF740: @ 80EF740 push {lr} ldr r0, _080EF770 @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r0, _080EF774 @ =0x00006da0 adds r2, r3, r0 ldrh r0, [r2] adds r0, 0x1 movs r1, 0x1 ands r0, r1 strh r0, [r2] cmp r0, 0 beq _080EF762 ldr r2, _080EF778 @ =0x00006da2 adds r1, r3, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EF762: ldr r0, _080EF77C @ =REG_BG3HOFS ldr r2, _080EF778 @ =0x00006da2 adds r1, r3, r2 ldrh r1, [r1] strh r1, [r0] pop {r0} bx r0 .align 2, 0 _080EF770: .4byte gUnknown_083DFEC4 _080EF774: .4byte 0x00006da0 _080EF778: .4byte 0x00006da2 _080EF77C: .4byte REG_BG3HOFS thumb_func_end sub_80EF740 thumb_func_start sub_80EF780 sub_80EF780: @ 80EF780 push {lr} lsls r0, 24 lsrs r0, 24 ldr r2, _080EF7B0 @ =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r1, r2 movs r2, 0x8 ldrsh r0, [r1, r2] cmp r0, 0 beq _080EF7AA ldr r0, _080EF7B4 @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r0, _080EF7B8 @ =0x00006da2 adds r2, r3, r0 ldrh r0, [r2] movs r1, 0x7 ands r1, r0 cmp r1, 0 beq _080EF7BC _080EF7AA: bl sub_80EF740 b _080EF7C8 .align 2, 0 _080EF7B0: .4byte gTasks _080EF7B4: .4byte gUnknown_083DFEC4 _080EF7B8: .4byte 0x00006da2 _080EF7BC: strh r1, [r2] ldr r2, _080EF7CC @ =0x00006da0 adds r0, r3, r2 strh r1, [r0] ldr r0, _080EF7D0 @ =REG_BG3HOFS strh r1, [r0] _080EF7C8: pop {r0} bx r0 .align 2, 0 _080EF7CC: .4byte 0x00006da0 _080EF7D0: .4byte REG_BG3HOFS thumb_func_end sub_80EF780 thumb_func_start sub_80EF7D4 sub_80EF7D4: @ 80EF7D4 push {r4,lr} ldr r0, _080EF800 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080EF804 @ =0x00006da2 adds r0, r4, r1 movs r1, 0 strh r1, [r0] ldr r2, _080EF808 @ =0x00006da0 adds r0, r4, r2 strh r1, [r0] ldr r0, _080EF80C @ =sub_80EF780 movs r1, 0x50 bl CreateTask lsls r0, 24 lsrs r0, 24 ldr r1, _080EF810 @ =0x00006da4 adds r4, r1 strh r0, [r4] pop {r4} pop {r0} bx r0 .align 2, 0 _080EF800: .4byte gUnknown_083DFEC4 _080EF804: .4byte 0x00006da2 _080EF808: .4byte 0x00006da0 _080EF80C: .4byte sub_80EF780 _080EF810: .4byte 0x00006da4 thumb_func_end sub_80EF7D4 thumb_func_start sub_80EF814 sub_80EF814: @ 80EF814 push {lr} ldr r0, _080EF834 @ =sub_80EF780 bl FuncIsActiveTask lsls r0, 24 cmp r0, 0 beq _080EF830 ldr r0, _080EF838 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EF83C @ =0x00006da4 adds r0, r1 ldrb r0, [r0] bl DestroyTask _080EF830: pop {r0} bx r0 .align 2, 0 _080EF834: .4byte sub_80EF780 _080EF838: .4byte gUnknown_083DFEC4 _080EF83C: .4byte 0x00006da4 thumb_func_end sub_80EF814 thumb_func_start sub_80EF840 sub_80EF840: @ 80EF840 push {lr} ldr r0, _080EF868 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EF86C @ =0x0000d160 adds r2, r0, r1 movs r1, 0 strh r1, [r2] ldr r1, _080EF870 @ =0x00006dac adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080EF862 _080EF858: bl sub_80EF874 lsls r0, 24 cmp r0, 0 bne _080EF858 _080EF862: pop {r0} bx r0 .align 2, 0 _080EF868: .4byte gUnknown_083DFEC4 _080EF86C: .4byte 0x0000d160 _080EF870: .4byte 0x00006dac thumb_func_end sub_80EF840 thumb_func_start sub_80EF874 sub_80EF874: @ 80EF874 push {lr} ldr r0, _080EF890 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EF894 @ =0x0000d160 adds r0, r1 ldrh r0, [r0] cmp r0, 0xB bls _080EF886 b _080EF9D8 _080EF886: lsls r0, 2 ldr r1, _080EF898 @ =_080EF89C adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EF890: .4byte gUnknown_083DFEC4 _080EF894: .4byte 0x0000d160 _080EF898: .4byte _080EF89C .align 2, 0 _080EF89C: .4byte _080EF8CC .4byte _080EF8D2 .4byte _080EF8E0 .4byte _080EF8EC .4byte _080EF8F6 .4byte _080EF8FC .4byte _080EF920 .4byte _080EF92C .4byte _080EF940 .4byte _080EF954 .4byte _080EF960 .4byte _080EF972 _080EF8CC: bl sub_80EEDE8 b _080EF9DC _080EF8D2: ldr r0, _080EF8DC @ =gWindowConfig_81E7224 bl SetUpWindowConfig b _080EF9DC .align 2, 0 _080EF8DC: .4byte gWindowConfig_81E7224 _080EF8E0: ldr r0, _080EF8E8 @ =gWindowConfig_81E7224 bl MultistepInitMenuWindowBegin b _080EF9DC .align 2, 0 _080EF8E8: .4byte gWindowConfig_81E7224 _080EF8EC: bl MultistepInitMenuWindowContinue cmp r0, 0 bne _080EF9DC b _080EF9EA _080EF8F6: bl MenuZeroFillScreen b _080EF9DC _080EF8FC: ldr r0, _080EF914 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080EF918 @ =0x00006e18 adds r0, r2 ldr r1, _080EF91C @ =gSaveBlock2 ldrb r1, [r1, 0x15] lsrs r1, 3 movs r2, 0x1 ands r1, r2 bl sub_80FA904 b _080EF9DC .align 2, 0 _080EF914: .4byte gUnknown_083DFEC4 _080EF918: .4byte 0x00006e18 _080EF91C: .4byte gSaveBlock2 _080EF920: bl sub_80FA940 lsls r0, 24 cmp r0, 0 beq _080EF9DC b _080EF9EA _080EF92C: ldr r0, _080EF938 @ =gPokenavHoennMapSquares_Gfx ldr r1, _080EF93C @ =0x06005000 bl LZ77UnCompVram b _080EF9DC .align 2, 0 _080EF938: .4byte gPokenavHoennMapSquares_Gfx _080EF93C: .4byte 0x06005000 _080EF940: ldr r0, _080EF950 @ =gPokenavHoennMapSquares_Pal movs r1, 0x30 movs r2, 0x20 bl LoadPalette bl sub_80EFC3C b _080EF9DC .align 2, 0 _080EF950: .4byte gPokenavHoennMapSquares_Pal _080EF954: bl sub_80EFC64 lsls r0, 24 cmp r0, 0 beq _080EF9DC b _080EF9EA _080EF960: movs r0, 0xD movs r1, 0x3 movs r2, 0x1D movs r3, 0x11 bl MenuDrawTextWindow bl sub_80EF9F8 b _080EF9DC _080EF972: ldr r0, _080EF990 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080EF994 @ =0x00006e90 adds r0, r1, r2 ldrb r0, [r0] cmp r0, 0 bne _080EF9A0 ldr r2, _080EF998 @ =0x00007698 adds r0, r1, r2 movs r1, 0xA0 strh r1, [r0] ldr r0, _080EF99C @ =REG_BG0VOFS strh r1, [r0] b _080EF9B0 .align 2, 0 _080EF990: .4byte gUnknown_083DFEC4 _080EF994: .4byte 0x00006e90 _080EF998: .4byte 0x00007698 _080EF99C: .4byte REG_BG0VOFS _080EF9A0: ldr r0, _080EF9C8 @ =0x00007698 adds r1, r0 movs r2, 0 movs r0, 0x80 lsls r0, 1 strh r0, [r1] ldr r0, _080EF9CC @ =REG_BG0VOFS strh r2, [r0] _080EF9B0: ldr r2, _080EF9D0 @ =REG_BG0CNT ldrh r0, [r2] strh r0, [r2] ldrh r0, [r2] movs r1, 0x1 orrs r0, r1 strh r0, [r2] ldr r1, _080EF9D4 @ =REG_BLDCNT movs r0, 0 strh r0, [r1] b _080EF9DC .align 2, 0 _080EF9C8: .4byte 0x00007698 _080EF9CC: .4byte REG_BG0VOFS _080EF9D0: .4byte REG_BG0CNT _080EF9D4: .4byte REG_BLDCNT _080EF9D8: movs r0, 0 b _080EF9EC _080EF9DC: ldr r0, _080EF9F0 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080EF9F4 @ =0x0000d160 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080EF9EA: movs r0, 0x1 _080EF9EC: pop {r1} bx r1 .align 2, 0 _080EF9F0: .4byte gUnknown_083DFEC4 _080EF9F4: .4byte 0x0000d160 thumb_func_end sub_80EF874 thumb_func_start sub_80EF9F8 sub_80EF9F8: @ 80EF9F8 push {r4-r6,lr} sub sp, 0x14 movs r5, 0x4 ldr r0, _080EFA18 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EFA1C @ =0x00006e2e adds r0, r1 ldrb r0, [r0] cmp r0, 0x4 bls _080EFA0E b _080EFB6A _080EFA0E: lsls r0, 2 ldr r1, _080EFA20 @ =_080EFA24 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EFA18: .4byte gUnknown_083DFEC4 _080EFA1C: .4byte 0x00006e2e _080EFA20: .4byte _080EFA24 .align 2, 0 _080EFA24: .4byte _080EFB6A .4byte _080EFA38 .4byte _080EFAC0 .4byte _080EFB4C .4byte _080EFA38 _080EFA38: ldr r0, _080EFA64 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080EFA68 @ =0x00006e18 adds r0, r2 lsls r2, r5, 19 lsrs r2, 16 movs r1, 0x1 str r1, [sp] movs r1, 0x70 movs r3, 0x78 bl sub_8072A18 adds r0, r5, 0x2 lsls r0, 16 lsrs r5, r0, 16 ldr r0, _080EFA6C @ =gLinkOpen ldrb r0, [r0] cmp r0, 0x1 bne _080EFA70 bl sub_80F1A80 b _080EFB82 .align 2, 0 _080EFA64: .4byte gUnknown_083DFEC4 _080EFA68: .4byte 0x00006e18 _080EFA6C: .4byte gLinkOpen _080EFA70: movs r4, 0 b _080EFA92 _080EFA74: lsls r2, r5, 19 lsrs r2, 16 movs r0, 0x1 str r0, [sp] adds r0, r1, 0 movs r1, 0x70 movs r3, 0x78 bl sub_8072A18 adds r0, r5, 0x2 lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 _080EFA92: cmp r4, 0x3 bhi _080EFB6A ldr r0, _080EFAB8 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080EFABC @ =0x00006e2c adds r0, r1, r2 ldrb r0, [r0] adds r2, 0x3 adds r1, r2 ldrb r1, [r1] lsls r2, r4, 24 lsrs r2, 24 bl GetLandmarkName adds r1, r0, 0 cmp r1, 0 bne _080EFA74 b _080EFB6A .align 2, 0 _080EFAB8: .4byte gUnknown_083DFEC4 _080EFABC: .4byte 0x00006e2c _080EFAC0: ldr r0, _080EFB38 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080EFB3C @ =0x00006e18 adds r0, r4, r1 lsls r2, r5, 19 lsrs r2, 16 movs r1, 0x1 str r1, [sp] movs r1, 0x70 movs r3, 0x78 bl sub_8072A18 adds r0, r5, 0x2 lsls r0, 16 lsrs r5, r0, 16 ldr r2, _080EFB40 @ =0x00006e2c adds r0, r4, r2 ldrh r1, [r0] adds r2, 0x3 adds r0, r4, r2 ldrb r0, [r0] lsls r0, 2 lsls r1, 3 adds r0, r1 ldr r1, _080EFB44 @ =0x0000cdcc adds r4, r1 adds r6, r4, r0 ldr r0, [r6] cmp r0, 0 beq _080EFB6A lsls r4, r5, 24 lsrs r4, 24 movs r0, 0xE adds r1, r4, 0 movs r2, 0xF movs r3, 0xF bl MenuFillWindowRectWithBlankTile movs r0, 0x1A adds r1, r4, 0 movs r2, 0x1C movs r3, 0xF bl MenuFillWindowRectWithBlankTile ldr r0, _080EFB48 @ =0x0600f800 ldr r3, [r6] movs r1, 0 str r1, [sp] str r1, [sp, 0x4] movs r1, 0xA str r1, [sp, 0x8] str r1, [sp, 0xC] str r1, [sp, 0x10] movs r1, 0x10 movs r2, 0x6 bl sub_8095C8C adds r0, r5, 0 adds r0, 0xB b _080EFB66 .align 2, 0 _080EFB38: .4byte gUnknown_083DFEC4 _080EFB3C: .4byte 0x00006e18 _080EFB40: .4byte 0x00006e2c _080EFB44: .4byte 0x0000cdcc _080EFB48: .4byte 0x0600f800 _080EFB4C: ldr r0, _080EFB98 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080EFB9C @ =0x00006e18 adds r0, r2 lsls r2, r5, 19 lsrs r2, 16 movs r1, 0x1 str r1, [sp] movs r1, 0x70 movs r3, 0x78 bl sub_8072A18 adds r0, r5, 0x2 _080EFB66: lsls r0, 16 lsrs r5, r0, 16 _080EFB6A: movs r0, 0 cmp r0, 0 bne _080EFB82 cmp r5, 0xF bhi _080EFB82 lsls r1, r5, 24 lsrs r1, 24 movs r0, 0xE movs r2, 0x1C movs r3, 0xF bl MenuFillWindowRectWithBlankTile _080EFB82: ldr r0, _080EFB98 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EFBA0 @ =0x00006e2e adds r0, r1 ldrb r0, [r0] cmp r0, 0x2 bne _080EFBA4 bl sub_80EFD74 b _080EFBA8 .align 2, 0 _080EFB98: .4byte gUnknown_083DFEC4 _080EFB9C: .4byte 0x00006e18 _080EFBA0: .4byte 0x00006e2e _080EFBA4: bl sub_80EFDA0 _080EFBA8: add sp, 0x14 pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_80EF9F8 thumb_func_start sub_80EFBB0 sub_80EFBB0: @ 80EFBB0 push {lr} ldr r0, _080EFBC8 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EFBCC @ =0x00006e90 adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080EFBD0 movs r0, 0x8 bl sub_80EEFBC b _080EFBD6 .align 2, 0 _080EFBC8: .4byte gUnknown_083DFEC4 _080EFBCC: .4byte 0x00006e90 _080EFBD0: movs r0, 0x7 bl sub_80EEFBC _080EFBD6: pop {r0} bx r0 thumb_func_end sub_80EFBB0 thumb_func_start sub_80EFBDC sub_80EFBDC: @ 80EFBDC push {r4,lr} lsls r0, 24 movs r4, 0x1 ldr r2, _080EFBFC @ =gUnknown_083DFEC4 ldr r1, [r2] ldr r3, _080EFC00 @ =0x00007698 adds r1, r3 ldrh r3, [r1] cmp r0, 0 beq _080EFC08 cmp r3, 0xA8 bls _080EFC04 adds r0, r3, 0 subs r0, 0x8 b _080EFC10 .align 2, 0 _080EFBFC: .4byte gUnknown_083DFEC4 _080EFC00: .4byte 0x00007698 _080EFC04: movs r3, 0xA0 b _080EFC1A _080EFC08: cmp r3, 0xF7 bhi _080EFC16 adds r0, r3, 0 adds r0, 0x8 _080EFC10: lsls r0, 16 lsrs r3, r0, 16 b _080EFC1C _080EFC16: movs r3, 0x80 lsls r3, 1 _080EFC1A: movs r4, 0 _080EFC1C: ldr r0, [r2] ldr r1, _080EFC34 @ =0x00007698 adds r0, r1 strh r3, [r0] ldr r1, _080EFC38 @ =REG_BG0VOFS movs r0, 0xFF ands r3, r0 strh r3, [r1] adds r0, r4, 0 pop {r4} pop {r1} bx r1 .align 2, 0 _080EFC34: .4byte 0x00007698 _080EFC38: .4byte REG_BG0VOFS thumb_func_end sub_80EFBDC thumb_func_start sub_80EFC3C sub_80EFC3C: @ 80EFC3C push {lr} ldr r0, _080EFC58 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080EFC5C @ =0x0000bc9a adds r1, r0, r2 movs r2, 0 strb r2, [r1] ldr r1, _080EFC60 @ =0x0000bc9b adds r0, r1 strb r2, [r0] bl sub_80EFD3C pop {r0} bx r0 .align 2, 0 _080EFC58: .4byte gUnknown_083DFEC4 _080EFC5C: .4byte 0x0000bc9a _080EFC60: .4byte 0x0000bc9b thumb_func_end sub_80EFC3C thumb_func_start sub_80EFC64 sub_80EFC64: @ 80EFC64 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} sub sp, 0x8 ldr r4, _080EFCD0 @ =gUnknown_083DFEC4 ldr r2, [r4] ldr r0, _080EFCD4 @ =0x0000bc9a adds r1, r2, r0 ldrb r0, [r1] cmp r0, 0xF bhi _080EFD2C ldrb r1, [r1] mov r8, r1 ldr r1, _080EFCD8 @ =0x0000bc9b adds r0, r2, r1 ldrb r7, [r0] movs r2, 0 ldr r0, _080EFCDC @ =gPokenavCityMaps mov r9, r0 adds r3, r4, 0 _080EFC8E: lsls r0, r2, 2 mov r4, r8 lsls r1, r4, 3 adds r6, r0, r1 mov r1, r9 adds r0, r6, r1 ldr r1, [r0] cmp r1, 0 beq _080EFCE8 movs r0, 0xC8 adds r5, r7, 0 muls r5, r0 ldr r4, _080EFCE0 @ =0x0000bc9c adds r5, r4 ldr r4, [r3] adds r5, r4, r5 adds r0, r1, 0 adds r1, r5, 0 str r2, [sp] str r3, [sp, 0x4] bl LZ77UnCompVram ldr r0, _080EFCE4 @ =0x0000cdcc adds r4, r0 adds r4, r6 str r5, [r4] adds r0, r7, 0x1 lsls r0, 16 lsrs r7, r0, 16 ldr r2, [sp] ldr r3, [sp, 0x4] b _080EFCF2 .align 2, 0 _080EFCD0: .4byte gUnknown_083DFEC4 _080EFCD4: .4byte 0x0000bc9a _080EFCD8: .4byte 0x0000bc9b _080EFCDC: .4byte gPokenavCityMaps _080EFCE0: .4byte 0x0000bc9c _080EFCE4: .4byte 0x0000cdcc _080EFCE8: ldr r0, [r3] ldr r4, _080EFD1C @ =0x0000cdcc adds r0, r4 adds r0, r6 str r1, [r0] _080EFCF2: adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 cmp r2, 0x1 bls _080EFC8E ldr r0, _080EFD20 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r0, _080EFD24 @ =0x0000bc9a adds r1, r2, r0 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] lsls r0, 24 lsrs r0, 24 cmp r0, 0xF bhi _080EFD2C ldr r1, _080EFD28 @ =0x0000bc9b adds r0, r2, r1 strb r7, [r0] movs r0, 0x1 b _080EFD2E .align 2, 0 _080EFD1C: .4byte 0x0000cdcc _080EFD20: .4byte gUnknown_083DFEC4 _080EFD24: .4byte 0x0000bc9a _080EFD28: .4byte 0x0000bc9b _080EFD2C: movs r0, 0 _080EFD2E: add sp, 0x8 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_80EFC64 thumb_func_start sub_80EFD3C sub_80EFD3C: @ 80EFD3C ldr r0, _080EFD60 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080EFD64 @ =0x0000769e adds r0, r1, r2 movs r2, 0 strb r2, [r0] ldr r0, _080EFD68 @ =0x0000769c adds r3, r1, r0 movs r0, 0x2F strb r0, [r3] ldr r3, _080EFD6C @ =0x0000769d adds r0, r1, r3 strb r2, [r0] ldr r0, _080EFD70 @ =0x0000769a adds r1, r0 strh r2, [r1] bx lr .align 2, 0 _080EFD60: .4byte gUnknown_083DFEC4 _080EFD64: .4byte 0x0000769e _080EFD68: .4byte 0x0000769c _080EFD6C: .4byte 0x0000769d _080EFD70: .4byte 0x0000769a thumb_func_end sub_80EFD3C thumb_func_start sub_80EFD74 sub_80EFD74: @ 80EFD74 push {lr} ldr r0, _080EFD94 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r0, _080EFD98 @ =0x0000769e adds r1, r2, r0 movs r0, 0x1 strb r0, [r1] ldr r0, _080EFD9C @ =0x0000769d adds r2, r0 ldrb r0, [r2] cmp r0, 0x1 bne _080EFD90 movs r0, 0x2 strb r0, [r2] _080EFD90: pop {r0} bx r0 .align 2, 0 _080EFD94: .4byte gUnknown_083DFEC4 _080EFD98: .4byte 0x0000769e _080EFD9C: .4byte 0x0000769d thumb_func_end sub_80EFD74 thumb_func_start sub_80EFDA0 sub_80EFDA0: @ 80EFDA0 push {r4,lr} sub sp, 0x14 ldr r0, _080EFDD4 @ =0x0600f800 ldr r3, _080EFDD8 @ =gUnknown_08E9AC2C movs r4, 0 str r4, [sp] str r4, [sp, 0x4] movs r2, 0xF str r2, [sp, 0x8] movs r1, 0x1 str r1, [sp, 0xC] str r2, [sp, 0x10] movs r1, 0xE movs r2, 0x10 bl sub_8095C8C ldr r0, _080EFDDC @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EFDE0 @ =0x0000769e adds r0, r1 strb r4, [r0] add sp, 0x14 pop {r4} pop {r0} bx r0 .align 2, 0 _080EFDD4: .4byte 0x0600f800 _080EFDD8: .4byte gUnknown_08E9AC2C _080EFDDC: .4byte gUnknown_083DFEC4 _080EFDE0: .4byte 0x0000769e thumb_func_end sub_80EFDA0 thumb_func_start sub_80EFDE4 sub_80EFDE4: @ 80EFDE4 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} sub sp, 0x14 ldr r0, _080EFE68 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080EFE6C @ =0x0000769c adds r0, r1, r2 ldrb r2, [r0] movs r0, 0x3C subs r0, r2 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0xF bls _080EFE06 movs r4, 0xF _080EFE06: ldr r3, _080EFE70 @ =0x0000769e adds r0, r1, r3 ldrb r0, [r0] cmp r0, 0 beq _080EFE58 ldr r0, _080EFE74 @ =0x0600f800 mov r8, r0 ldr r3, _080EFE78 @ =gUnknown_08E9ABB4 mov r9, r3 str r2, [sp] movs r5, 0 str r5, [sp, 0x4] str r4, [sp, 0x8] movs r7, 0x1 str r7, [sp, 0xC] movs r6, 0x3C str r6, [sp, 0x10] movs r1, 0xE movs r2, 0x10 bl sub_8095C8C cmp r4, 0xE bhi _080EFE58 adds r1, r4, 0 adds r1, 0xE lsls r1, 16 lsrs r1, 16 str r5, [sp] str r5, [sp, 0x4] movs r0, 0xF subs r0, r4 lsls r0, 16 lsrs r0, 16 str r0, [sp, 0x8] str r7, [sp, 0xC] str r6, [sp, 0x10] mov r0, r8 movs r2, 0x10 mov r3, r9 bl sub_8095C8C _080EFE58: add sp, 0x14 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080EFE68: .4byte gUnknown_083DFEC4 _080EFE6C: .4byte 0x0000769c _080EFE70: .4byte 0x0000769e _080EFE74: .4byte 0x0600f800 _080EFE78: .4byte gUnknown_08E9ABB4 thumb_func_end sub_80EFDE4 thumb_func_start sub_80EFE7C sub_80EFE7C: @ 80EFE7C push {r4,lr} ldr r0, _080EFE98 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r0, _080EFE9C @ =0x0000769d adds r4, r2, r0 ldrb r1, [r4] cmp r1, 0x1 beq _080EFF08 cmp r1, 0x1 bgt _080EFEA0 cmp r1, 0 beq _080EFEA6 b _080EFF2E .align 2, 0 _080EFE98: .4byte gUnknown_083DFEC4 _080EFE9C: .4byte 0x0000769d _080EFEA0: cmp r1, 0x2 beq _080EFF24 b _080EFF2E _080EFEA6: ldr r0, _080EFED4 @ =0x0000769c adds r4, r2, r0 ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] lsls r0, 24 lsrs r0, 24 cmp r0, 0x3B bls _080EFEBA strb r1, [r4] _080EFEBA: ldr r1, _080EFED8 @ =0x0000769e adds r0, r2, r1 ldrb r0, [r0] bl sub_80EFDE4 ldrb r0, [r4] cmp r0, 0xF beq _080EFEE4 cmp r0, 0xF bgt _080EFEDC cmp r0, 0 beq _080EFEE4 b _080EFF2E .align 2, 0 _080EFED4: .4byte 0x0000769c _080EFED8: .4byte 0x0000769e _080EFEDC: cmp r0, 0x1E beq _080EFEE4 cmp r0, 0x2D bne _080EFF2E _080EFEE4: ldr r0, _080EFEFC @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080EFF00 @ =0x0000769d adds r2, r1, r0 movs r3, 0 movs r0, 0x1 strb r0, [r2] ldr r0, _080EFF04 @ =0x0000769a adds r1, r0 strh r3, [r1] b _080EFF2E .align 2, 0 _080EFEFC: .4byte gUnknown_083DFEC4 _080EFF00: .4byte 0x0000769d _080EFF04: .4byte 0x0000769a _080EFF08: ldr r0, _080EFF20 @ =0x0000769a adds r1, r2, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] lsls r0, 16 lsrs r0, 16 cmp r0, 0x78 bls _080EFF2E movs r0, 0 strh r0, [r1] b _080EFF2C .align 2, 0 _080EFF20: .4byte 0x0000769a _080EFF24: movs r0, 0x1 bl sub_80EFDE4 movs r0, 0x1 _080EFF2C: strb r0, [r4] _080EFF2E: pop {r4} pop {r0} bx r0 thumb_func_end sub_80EFE7C thumb_func_start sub_80EFF34 sub_80EFF34: @ 80EFF34 push {lr} ldr r0, _080EFF5C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EFF60 @ =0x0000d160 adds r2, r0, r1 movs r1, 0 strh r1, [r2] ldr r1, _080EFF64 @ =0x00006dac adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080EFF56 _080EFF4C: bl sub_80EFF68 lsls r0, 24 cmp r0, 0 bne _080EFF4C _080EFF56: pop {r0} bx r0 .align 2, 0 _080EFF5C: .4byte gUnknown_083DFEC4 _080EFF60: .4byte 0x0000d160 _080EFF64: .4byte 0x00006dac thumb_func_end sub_80EFF34 thumb_func_start sub_80EFF68 sub_80EFF68: @ 80EFF68 push {r4,lr} sub sp, 0x14 ldr r0, _080EFF88 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080EFF8C @ =0x0000d160 adds r0, r1 ldrh r0, [r0] cmp r0, 0xD bls _080EFF7C b _080F0150 _080EFF7C: lsls r0, 2 ldr r1, _080EFF90 @ =_080EFF94 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080EFF88: .4byte gUnknown_083DFEC4 _080EFF8C: .4byte 0x0000d160 _080EFF90: .4byte _080EFF94 .align 2, 0 _080EFF94: .4byte _080EFFCC .4byte _080EFFE8 .4byte _080EFFF4 .4byte _080F0000 .4byte _080F000C .4byte _080F0012 .4byte _080F0018 .4byte _080F0028 .4byte _080F003C .4byte _080F005C .4byte _080F0098 .4byte _080F00AC .4byte _080F00F8 .4byte _080F0118 _080EFFCC: bl sub_80EEDE8 ldr r0, _080EFFE0 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080EFFE4 @ =0x0000d162 adds r0, r2 movs r1, 0xB strb r1, [r0] b _080F0154 .align 2, 0 _080EFFE0: .4byte gUnknown_083DFEC4 _080EFFE4: .4byte 0x0000d162 _080EFFE8: ldr r0, _080EFFF0 @ =gWindowConfig_81E7080 bl SetUpWindowConfig b _080F0154 .align 2, 0 _080EFFF0: .4byte gWindowConfig_81E7080 _080EFFF4: ldr r0, _080EFFFC @ =gWindowConfig_81E7080 bl MultistepInitMenuWindowBegin b _080F0154 .align 2, 0 _080EFFFC: .4byte gWindowConfig_81E7080 _080F0000: bl MultistepInitMenuWindowContinue cmp r0, 0 beq _080F000A b _080F0154 _080F000A: b _080F0162 _080F000C: bl MenuZeroFillScreen b _080F0154 _080F0012: bl sub_80F1614 b _080F0154 _080F0018: movs r0, 0 bl sub_80F162C lsls r0, 24 cmp r0, 0 bne _080F0026 b _080F0154 _080F0026: b _080F0162 _080F0028: ldr r0, _080F0034 @ =gPokenavConditionView_Gfx ldr r1, _080F0038 @ =0x06005000 bl LZ77UnCompVram b _080F0154 .align 2, 0 _080F0034: .4byte gPokenavConditionView_Gfx _080F0038: .4byte 0x06005000 _080F003C: ldr r0, _080F0050 @ =gUnknown_08E9AC4C ldr r1, _080F0054 @ =0x0600f000 bl LZ77UnCompVram ldr r0, _080F0058 @ =gPokenavConditionMenu2_Pal movs r1, 0x20 movs r2, 0x20 bl LoadPalette b _080F0154 .align 2, 0 _080F0050: .4byte gUnknown_08E9AC4C _080F0054: .4byte 0x0600f000 _080F0058: .4byte gPokenavConditionMenu2_Pal _080F005C: ldr r0, _080F0088 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F008C @ =0x000076aa adds r0, r1 ldrb r0, [r0] cmp r0, 0x1 bne _080F0154 ldr r0, _080F0090 @ =0x0600f000 ldr r3, _080F0094 @ =gUnknown_083E01AC movs r1, 0 str r1, [sp] str r1, [sp, 0x4] movs r2, 0x9 str r2, [sp, 0x8] movs r1, 0x4 str r1, [sp, 0xC] str r2, [sp, 0x10] movs r1, 0 movs r2, 0x5 bl sub_8095C8C b _080F0154 .align 2, 0 _080F0088: .4byte gUnknown_083DFEC4 _080F008C: .4byte 0x000076aa _080F0090: .4byte 0x0600f000 _080F0094: .4byte gUnknown_083E01AC _080F0098: ldr r0, _080F00A4 @ =gUnknown_08E9FEB4 ldr r1, _080F00A8 @ =0x0600b800 bl LZ77UnCompVram b _080F0154 .align 2, 0 _080F00A4: .4byte gUnknown_08E9FEB4 _080F00A8: .4byte 0x0600b800 _080F00AC: ldr r0, _080F00EC @ =gUnknown_083E0254 movs r1, 0x30 movs r2, 0x20 bl LoadPalette ldr r0, _080F00F0 @ =gUnknownPalette_81E6692 movs r1, 0xB0 movs r2, 0x20 bl LoadPalette ldr r4, _080F00F4 @ =gPokenavConditionMenu2_Pal + 0x2 adds r0, r4, 0 movs r1, 0xB1 movs r2, 0x2 bl LoadPalette adds r0, r4, 0 adds r0, 0xE movs r1, 0xB5 movs r2, 0x2 bl LoadPalette adds r4, 0x1C adds r0, r4, 0 movs r1, 0xBF movs r2, 0x2 bl LoadPalette bl sub_80F01A4 b _080F0154 .align 2, 0 _080F00EC: .4byte gUnknown_083E0254 _080F00F0: .4byte gUnknownPalette_81E6692 _080F00F4: .4byte gPokenavConditionMenu2_Pal + 0x2 _080F00F8: ldr r0, _080F0110 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F0114 @ =0x00008fe9 adds r0, r2 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 lsls r0, 16 lsrs r0, 16 bl sub_80F01E0 b _080F0154 .align 2, 0 _080F0110: .4byte gUnknown_083DFEC4 _080F0114: .4byte 0x00008fe9 _080F0118: ldr r1, _080F013C @ =REG_BG3CNT ldr r2, _080F0140 @ =0x00001e03 adds r0, r2, 0 strh r0, [r1] subs r1, 0x2 ldr r2, _080F0144 @ =0x00001702 adds r0, r2, 0 strh r0, [r1] adds r1, 0x44 ldr r2, _080F0148 @ =0x00000844 adds r0, r2, 0 strh r0, [r1] adds r1, 0x2 ldr r2, _080F014C @ =0x0000040b adds r0, r2, 0 strh r0, [r1] b _080F0154 .align 2, 0 _080F013C: .4byte REG_BG3CNT _080F0140: .4byte 0x00001e03 _080F0144: .4byte 0x00001702 _080F0148: .4byte 0x00000844 _080F014C: .4byte 0x0000040b _080F0150: movs r0, 0 b _080F0164 _080F0154: ldr r0, _080F016C @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F0170 @ =0x0000d160 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080F0162: movs r0, 0x1 _080F0164: add sp, 0x14 pop {r4} pop {r1} bx r1 .align 2, 0 _080F016C: .4byte gUnknown_083DFEC4 _080F0170: .4byte 0x0000d160 thumb_func_end sub_80EFF68 thumb_func_start sub_80F0174 sub_80F0174: @ 80F0174 push {lr} lsls r0, 24 cmp r0, 0 beq _080F018E movs r0, 0x80 lsls r0, 19 ldrh r1, [r0] movs r3, 0x80 lsls r3, 3 adds r2, r3, 0 orrs r1, r2 strh r1, [r0] b _080F019A _080F018E: movs r2, 0x80 lsls r2, 19 ldrh r1, [r2] ldr r0, _080F01A0 @ =0x0000fbff ands r0, r1 strh r0, [r2] _080F019A: pop {r0} bx r0 .align 2, 0 _080F01A0: .4byte 0x0000fbff thumb_func_end sub_80F0174 thumb_func_start sub_80F01A4 sub_80F01A4: @ 80F01A4 ldr r1, _080F01CC @ =REG_WIN0H movs r0, 0xF0 strh r0, [r1] adds r1, 0x2 movs r0, 0x9B strh r0, [r1] ldr r0, _080F01D0 @ =REG_WIN0V ldr r2, _080F01D4 @ =0x00003879 adds r1, r2, 0 strh r1, [r0] adds r0, 0x2 strh r1, [r0] ldr r1, _080F01D8 @ =REG_WININ ldr r2, _080F01DC @ =0x00003f3f adds r0, r2, 0 strh r0, [r1] adds r1, 0x2 movs r0, 0x1B strh r0, [r1] bx lr .align 2, 0 _080F01CC: .4byte REG_WIN0H _080F01D0: .4byte REG_WIN0V _080F01D4: .4byte 0x00003879 _080F01D8: .4byte REG_WININ _080F01DC: .4byte 0x00003f3f thumb_func_end sub_80F01A4 thumb_func_start sub_80F01E0 sub_80F01E0: @ 80F01E0 push {r4,r5,lr} lsls r0, 16 lsrs r4, r0, 16 ldr r1, _080F0248 @ =gUnknown_083DFEC4 lsls r0, r4, 6 ldr r2, _080F024C @ =0x00008829 adds r0, r2 ldr r5, [r1] adds r0, r5, r0 movs r1, 0xD movs r2, 0x1 bl MenuPrint ldr r1, _080F0250 @ =0x000076aa adds r0, r5, r1 ldrb r0, [r0] cmp r0, 0x1 bne _080F0242 lsls r0, r4, 1 adds r0, r4 lsls r0, 3 ldr r2, _080F0254 @ =0x000088e9 adds r0, r2 adds r0, r5, r0 movs r1, 0xD movs r2, 0x3 bl MenuPrint ldr r0, _080F0258 @ =0x00008788 adds r4, r5, r0 ldr r1, _080F025C @ =0x000087dc adds r0, r5, r1 movs r2, 0 ldrsh r0, [r0, r2] lsls r0, 2 adds r0, r5, r0 ldr r1, _080F0260 @ =0x0000893e adds r0, r1 ldrh r1, [r0] lsls r1, 18 lsrs r1, 23 adds r0, r4, 0 bl sub_80F443C adds r0, r4, 0 movs r1, 0x1 movs r2, 0x6 bl MenuPrint _080F0242: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F0248: .4byte gUnknown_083DFEC4 _080F024C: .4byte 0x00008829 _080F0250: .4byte 0x000076aa _080F0254: .4byte 0x000088e9 _080F0258: .4byte 0x00008788 _080F025C: .4byte 0x000087dc _080F0260: .4byte 0x0000893e thumb_func_end sub_80F01E0 thumb_func_start sub_80F0264 sub_80F0264: @ 80F0264 push {lr} ldr r1, _080F0290 @ =gUnknown_083DFEC4 ldr r2, [r1] ldr r1, _080F0294 @ =0x00000306 adds r3, r2, r1 movs r1, 0 strh r1, [r3] ldr r3, _080F0298 @ =0x000087ca adds r1, r2, r3 strb r0, [r1] ldr r0, _080F029C @ =0x00006dac adds r2, r0 ldrb r0, [r2] cmp r0, 0 bne _080F028C _080F0282: bl sub_80F02A0 lsls r0, 24 cmp r0, 0 bne _080F0282 _080F028C: pop {r0} bx r0 .align 2, 0 _080F0290: .4byte gUnknown_083DFEC4 _080F0294: .4byte 0x00000306 _080F0298: .4byte 0x000087ca _080F029C: .4byte 0x00006dac thumb_func_end sub_80F0264 thumb_func_start sub_80F02A0 sub_80F02A0: @ 80F02A0 push {r4-r6,lr} mov r6, r8 push {r6} sub sp, 0x18 ldr r1, _080F02C4 @ =gUnknown_083DFEC4 ldr r0, [r1] ldr r2, _080F02C8 @ =0x00000306 adds r0, r2 ldrh r0, [r0] adds r2, r1, 0 cmp r0, 0xE bls _080F02BA b _080F05FA _080F02BA: lsls r0, 2 ldr r1, _080F02CC @ =_080F02D0 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080F02C4: .4byte gUnknown_083DFEC4 _080F02C8: .4byte 0x00000306 _080F02CC: .4byte _080F02D0 .align 2, 0 _080F02D0: .4byte _080F030C .4byte _080F0344 .4byte _080F0350 .4byte _080F035C .4byte _080F0368 .4byte _080F036E .4byte _080F0380 .4byte _080F0394 .4byte _080F04BC .4byte _080F053C .4byte _080F0550 .4byte _080F0574 .4byte _080F057A .4byte _080F0586 .4byte _080F05BC _080F030C: bl sub_80EEDE8 ldr r0, _080F0334 @ =gUnknown_083DFEC4 ldr r1, [r0] movs r2, 0 ldr r3, _080F0338 @ =0x000087ca adds r0, r1, r3 ldrb r0, [r0] cmp r0, 0x1 bne _080F0322 movs r2, 0x1 _080F0322: ldr r3, _080F033C @ =0x000087c8 adds r0, r1, r3 strb r2, [r0] ldr r0, _080F0340 @ =0x0000d162 adds r1, r0 movs r0, 0xB strb r0, [r1] b _080F0618 .align 2, 0 _080F0334: .4byte gUnknown_083DFEC4 _080F0338: .4byte 0x000087ca _080F033C: .4byte 0x000087c8 _080F0340: .4byte 0x0000d162 _080F0344: ldr r0, _080F034C @ =gWindowConfig_81E70D4 bl SetUpWindowConfig b _080F0618 .align 2, 0 _080F034C: .4byte gWindowConfig_81E70D4 _080F0350: ldr r0, _080F0358 @ =gWindowConfig_81E70D4 bl MultistepInitMenuWindowBegin b _080F0618 .align 2, 0 _080F0358: .4byte gWindowConfig_81E70D4 _080F035C: bl MultistepInitMenuWindowContinue cmp r0, 0 beq _080F0366 b _080F0618 _080F0366: b _080F0626 _080F0368: bl MenuZeroFillScreen b _080F0618 _080F036E: ldr r0, _080F0378 @ =gUnknown_08E9FC64 ldr r1, _080F037C @ =0x0600e800 bl LZ77UnCompVram b _080F0618 .align 2, 0 _080F0378: .4byte gUnknown_08E9FC64 _080F037C: .4byte 0x0600e800 _080F0380: ldr r0, _080F038C @ =gPokenavConditionSearch2_Gfx ldr r1, _080F0390 @ =0x06008000 bl LZ77UnCompVram b _080F0618 .align 2, 0 _080F038C: .4byte gPokenavConditionSearch2_Gfx _080F0390: .4byte 0x06008000 _080F0394: ldr r6, _080F03FC @ =gUnknown_083E02B4 adds r0, r6, 0 movs r1, 0xB0 movs r2, 0x20 bl LoadPalette adds r0, r6, 0 movs r1, 0xF0 movs r2, 0x20 bl LoadPalette ldr r0, _080F0400 @ =gUnknown_083E0334 movs r1, 0x40 movs r2, 0x20 bl LoadPalette ldr r0, _080F0404 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F0408 @ =0x000087ca adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080F0418 ldr r4, _080F040C @ =gPokenavConditionSearch2_Pal adds r0, r4, 0 movs r1, 0x30 movs r2, 0x20 bl LoadPalette ldr r1, _080F0410 @ =gPlttBufferUnfaded ldrh r0, [r4, 0xA] strh r0, [r1] ldr r0, _080F0414 @ =gUnknownPalette_81E6692 movs r1, 0xB0 movs r2, 0x20 bl LoadPalette adds r0, r6, 0x2 movs r1, 0xB1 movs r2, 0x2 bl LoadPalette adds r0, r6, 0 adds r0, 0x10 movs r1, 0xB5 movs r2, 0x2 bl LoadPalette adds r4, 0xA adds r0, r4, 0 movs r1, 0xBF b _080F04A8 .align 2, 0 _080F03FC: .4byte gUnknown_083E02B4 _080F0400: .4byte gUnknown_083E0334 _080F0404: .4byte gUnknown_083DFEC4 _080F0408: .4byte 0x000087ca _080F040C: .4byte gPokenavConditionSearch2_Pal _080F0410: .4byte gPlttBufferUnfaded _080F0414: .4byte gUnknownPalette_81E6692 _080F0418: cmp r0, 0x1 bne _080F0464 ldr r4, _080F0458 @ =gUnknown_083E0274 adds r0, r4, 0 movs r1, 0x30 movs r2, 0x20 bl LoadPalette ldr r1, _080F045C @ =gPlttBufferUnfaded ldrh r0, [r4, 0xA] strh r0, [r1] ldr r0, _080F0460 @ =gUnknownPalette_81E6692 movs r1, 0xB0 movs r2, 0x20 bl LoadPalette adds r0, r6, 0x2 movs r1, 0xB1 movs r2, 0x2 bl LoadPalette adds r0, r6, 0 adds r0, 0x10 movs r1, 0xB5 movs r2, 0x2 bl LoadPalette adds r4, 0xA adds r0, r4, 0 movs r1, 0xBF b _080F04A8 .align 2, 0 _080F0458: .4byte gUnknown_083E0274 _080F045C: .4byte gPlttBufferUnfaded _080F0460: .4byte gUnknownPalette_81E6692 _080F0464: ldr r4, _080F04B0 @ =gUnknown_08E9F9E8 adds r0, r4, 0 movs r1, 0x30 movs r2, 0x20 bl LoadPalette ldr r1, _080F04B4 @ =gPlttBufferUnfaded adds r5, r4, 0 adds r5, 0xA ldrh r0, [r4, 0xA] strh r0, [r1] ldr r0, _080F04B8 @ =gUnknown_083E0314 movs r1, 0x50 movs r2, 0x20 bl LoadPalette adds r0, r6, 0x2 movs r1, 0xB1 movs r2, 0x2 bl LoadPalette adds r0, r6, 0 adds r0, 0x10 movs r1, 0xB5 movs r2, 0x2 bl LoadPalette adds r0, r5, 0 movs r1, 0xBF movs r2, 0x2 bl LoadPalette adds r0, r5, 0 movs r1, 0x5F _080F04A8: movs r2, 0x2 bl LoadPalette b _080F0618 .align 2, 0 _080F04B0: .4byte gUnknown_08E9F9E8 _080F04B4: .4byte gPlttBufferUnfaded _080F04B8: .4byte gUnknown_083E0314 _080F04BC: ldr r0, _080F04E8 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F04EC @ =0x000087ca adds r0, r2 ldrb r0, [r0] cmp r0, 0x2 beq _080F04F8 ldr r0, _080F04F0 @ =0x0600e800 ldr r3, _080F04F4 @ =gUnknown_08E9FD1C movs r1, 0 str r1, [sp] str r1, [sp, 0x4] movs r2, 0x9 str r2, [sp, 0x8] movs r1, 0x4 str r1, [sp, 0xC] str r2, [sp, 0x10] movs r1, 0 movs r2, 0x5 bl sub_8095C8C b _080F0618 .align 2, 0 _080F04E8: .4byte gUnknown_083DFEC4 _080F04EC: .4byte 0x000087ca _080F04F0: .4byte 0x0600e800 _080F04F4: .4byte gUnknown_08E9FD1C _080F04F8: ldr r3, _080F0530 @ =0x0600e800 mov r8, r3 ldr r3, _080F0534 @ =gUnknown_08E9FE54 movs r4, 0 str r4, [sp] str r4, [sp, 0x4] movs r5, 0xC str r5, [sp, 0x8] movs r6, 0xA str r6, [sp, 0xC] str r5, [sp, 0x10] mov r0, r8 movs r1, 0 movs r2, 0x4 bl sub_8095C8C ldr r3, _080F0538 @ =gUnknown_08E9FD64 str r4, [sp] str r4, [sp, 0x4] str r5, [sp, 0x8] str r6, [sp, 0xC] str r5, [sp, 0x10] mov r0, r8 movs r1, 0 movs r2, 0x8 bl sub_8095C8C b _080F0618 .align 2, 0 _080F0530: .4byte 0x0600e800 _080F0534: .4byte gUnknown_08E9FE54 _080F0538: .4byte gUnknown_08E9FD64 _080F053C: ldr r0, _080F0548 @ =gUnknown_083E0354 ldr r1, _080F054C @ =0x06005000 bl LZ77UnCompVram b _080F0618 .align 2, 0 _080F0548: .4byte gUnknown_083E0354 _080F054C: .4byte 0x06005000 _080F0550: ldr r2, _080F0568 @ =0x0600f800 add r1, sp, 0x14 movs r0, 0 strh r0, [r1] ldr r0, _080F056C @ =0x040000d4 str r1, [r0] str r2, [r0, 0x4] ldr r1, _080F0570 @ =0x81000400 str r1, [r0, 0x8] ldr r0, [r0, 0x8] b _080F0618 .align 2, 0 _080F0568: .4byte 0x0600f800 _080F056C: .4byte 0x040000d4 _080F0570: .4byte 0x81000400 _080F0574: bl sub_80F0900 b _080F0618 _080F057A: bl sub_80F0944 lsls r0, 24 cmp r0, 0 beq _080F0618 b _080F0626 _080F0586: ldr r0, _080F059C @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F05A0 @ =0x000087ca adds r0, r4, r1 ldrb r0, [r0] cmp r0, 0x2 beq _080F05A4 bl ShowMapNamePopUpWindow b _080F0618 .align 2, 0 _080F059C: .4byte gUnknown_083DFEC4 _080F05A0: .4byte 0x000087ca _080F05A4: movs r0, 0 bl sub_80F081C ldr r2, _080F05B8 @ =0x0000876e adds r0, r4, r2 ldrb r0, [r0] bl sub_80F0FFC b _080F0618 .align 2, 0 _080F05B8: .4byte 0x0000876e _080F05BC: ldr r1, _080F0600 @ =REG_BG2CNT ldr r3, _080F0604 @ =0x00001d0a adds r0, r3, 0 strh r0, [r1] adds r1, 0x2 adds r3, 0xF9 adds r0, r3, 0 strh r0, [r1] subs r1, 0x6 adds r3, 0xFE adds r0, r3, 0 strh r0, [r1] adds r1, 0x16 movs r0, 0xF8 strh r0, [r1] ldr r1, [r2] ldr r0, _080F0608 @ =0x00008776 adds r2, r1, r0 movs r3, 0 movs r0, 0xF8 strh r0, [r2] ldr r2, _080F060C @ =0x00008778 adds r0, r1, r2 strh r3, [r0] ldr r0, _080F0610 @ =REG_BLDCNT strh r3, [r0] ldr r3, _080F0614 @ =0x0000d160 adds r1, r3 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080F05FA: movs r0, 0 b _080F0628 .align 2, 0 _080F0600: .4byte REG_BG2CNT _080F0604: .4byte 0x00001d0a _080F0608: .4byte 0x00008776 _080F060C: .4byte 0x00008778 _080F0610: .4byte REG_BLDCNT _080F0614: .4byte 0x0000d160 _080F0618: ldr r0, _080F0634 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F0638 @ =0x00000306 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080F0626: movs r0, 0x1 _080F0628: add sp, 0x18 pop {r3} mov r8, r3 pop {r4-r6} pop {r1} bx r1 .align 2, 0 _080F0634: .4byte gUnknown_083DFEC4 _080F0638: .4byte 0x00000306 thumb_func_end sub_80F02A0 thumb_func_start sub_80F063C sub_80F063C: @ 80F063C push {r4-r7,lr} lsls r0, 16 ldr r3, _080F0664 @ =gUnknown_083DFEC4 ldr r2, [r3] lsrs r5, r0, 16 asrs r4, r0, 16 lsls r1, r4, 4 ldr r6, _080F0668 @ =0x0000877c adds r0, r2, r6 strh r1, [r0] adds r7, r3, 0 cmp r4, 0x1 beq _080F065E movs r0, 0x1 negs r0, r0 cmp r4, r0 bne _080F066C _080F065E: movs r1, 0x4 b _080F066E .align 2, 0 _080F0664: .4byte gUnknown_083DFEC4 _080F0668: .4byte 0x0000877c _080F066C: movs r1, 0x8 _080F066E: ldr r3, _080F06C0 @ =0x0000877a adds r0, r2, r3 strh r1, [r0] lsls r0, r5, 16 asrs r3, r0, 16 cmp r3, 0 bge _080F06CC ldr r4, [r7] ldr r6, _080F06C0 @ =0x0000877a adds r1, r4, r6 movs r2, 0 ldrsh r0, [r1, r2] negs r0, r0 strh r0, [r1] subs r6, 0x2 adds r1, r4, r6 lsls r0, r3, 1 ldrh r1, [r1] adds r0, r1 lsls r0, 16 lsrs r6, r0, 16 ldr r1, _080F06C4 @ =0x00008770 adds r0, r4, r1 ldrh r0, [r0] adds r0, r3, r0 lsls r0, 16 lsrs r2, r0, 16 asrs r0, 16 cmp r0, 0 bge _080F06B8 ldr r2, _080F06C8 @ =0x00008774 adds r1, r4, r2 adds r0, 0x1 ldrh r1, [r1] adds r0, r1 lsls r0, 16 lsrs r2, r0, 16 _080F06B8: negs r0, r3 lsls r0, 16 lsrs r5, r0, 16 b _080F06E6 .align 2, 0 _080F06C0: .4byte 0x0000877a _080F06C4: .4byte 0x00008770 _080F06C8: .4byte 0x00008774 _080F06CC: ldr r1, [r7] ldr r3, _080F070C @ =0x00008778 adds r0, r1, r3 ldrh r0, [r0] adds r0, 0x10 lsls r0, 16 lsrs r6, r0, 16 ldr r0, _080F0710 @ =0x00008772 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 lsls r0, 16 lsrs r2, r0, 16 _080F06E6: ldr r0, [r7] ldr r1, _080F0714 @ =0x00008774 adds r0, r1 lsls r1, r2, 16 asrs r1, 16 movs r3, 0 ldrsh r0, [r0, r3] cmp r1, r0 ble _080F06FA movs r2, 0 _080F06FA: movs r1, 0x1F adds r0, r2, 0 ands r1, r6 adds r2, r5, 0 bl sub_80F0954 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F070C: .4byte 0x00008778 _080F0710: .4byte 0x00008772 _080F0714: .4byte 0x00008774 thumb_func_end sub_80F063C thumb_func_start sub_80F0718 sub_80F0718: @ 80F0718 push {r4,r5,lr} bl sub_80F098C lsls r0, 24 cmp r0, 0 bne _080F0790 ldr r0, _080F073C @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r0, _080F0740 @ =0x0000877c adds r3, r4, r0 ldrh r2, [r3] movs r1, 0 ldrsh r0, [r3, r1] cmp r0, 0 bne _080F0744 movs r0, 0 b _080F0792 .align 2, 0 _080F073C: .4byte gUnknown_083DFEC4 _080F0740: .4byte 0x0000877c _080F0744: ldr r0, _080F0780 @ =0x0000877a adds r1, r4, r0 ldrh r0, [r1] subs r0, r2, r0 strh r0, [r3] ldr r0, _080F0784 @ =0x00008776 adds r2, r4, r0 ldrh r0, [r1] ldrh r1, [r2] adds r0, r1 movs r5, 0xFF ands r0, r5 strh r0, [r2] ldr r1, _080F0788 @ =REG_BG3VOFS strh r0, [r1] movs r1, 0 ldrsh r0, [r3, r1] cmp r0, 0 bne _080F0790 movs r1, 0 ldrsh r0, [r2, r1] adds r0, 0x8 ands r0, r5 asrs r1, r0, 3 ldr r2, _080F078C @ =0x00008778 adds r0, r4, r2 strh r1, [r0] movs r0, 0 b _080F0792 .align 2, 0 _080F0780: .4byte 0x0000877a _080F0784: .4byte 0x00008776 _080F0788: .4byte REG_BG3VOFS _080F078C: .4byte 0x00008778 _080F0790: movs r0, 0x1 _080F0792: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80F0718 thumb_func_start ShowMapNamePopUpWindow ShowMapNamePopUpWindow: @ 80F0798 push {lr} ldr r0, _080F07B0 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r1, _080F07B4 @ =0x000087ca adds r0, r2, r1 ldrb r0, [r0] cmp r0, 0 beq _080F07B8 cmp r0, 0x1 beq _080F07E0 b _080F080A .align 2, 0 _080F07B0: .4byte gUnknown_083DFEC4 _080F07B4: .4byte 0x000087ca _080F07B8: ldr r3, _080F07D8 @ =0x00008788 adds r0, r2, r3 subs r3, 0x1A adds r1, r2, r3 movs r3, 0 ldrsh r1, [r1, r3] lsls r1, 2 adds r1, r2, r1 ldr r2, _080F07DC @ =0x0000893e adds r1, r2 ldrh r1, [r1] lsls r1, 18 lsrs r1, 23 bl sub_80F443C b _080F07F4 .align 2, 0 _080F07D8: .4byte 0x00008788 _080F07DC: .4byte 0x0000893e _080F07E0: ldr r3, _080F0810 @ =0x00008788 adds r0, r2, r3 subs r3, 0x1A adds r1, r2, r3 ldrh r1, [r1] adds r1, 0x1 lsls r1, 16 lsrs r1, 16 bl sub_80F445C _080F07F4: ldr r0, _080F0814 @ =gWindowConfig_81E710C bl BasicInitMenuWindow ldr r0, _080F0818 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F0810 @ =0x00008788 adds r0, r1 movs r1, 0x1 movs r2, 0x6 bl MenuPrint _080F080A: pop {r0} bx r0 .align 2, 0 _080F0810: .4byte 0x00008788 _080F0814: .4byte gWindowConfig_81E710C _080F0818: .4byte gUnknown_083DFEC4 thumb_func_end ShowMapNamePopUpWindow thumb_func_start sub_80F081C sub_80F081C: @ 80F081C push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r0, _080F0838 @ =gWindowConfig_81E710C bl BasicInitMenuWindow cmp r5, 0x4 bhi _080F08C6 lsls r0, r5, 2 ldr r1, _080F083C @ =_080F0840 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080F0838: .4byte gWindowConfig_81E710C _080F083C: .4byte _080F0840 .align 2, 0 _080F0840: .4byte _080F0854 .4byte _080F0854 .4byte _080F0862 .4byte _080F088C .4byte _080F089A _080F0854: ldr r0, _080F08CC @ =gOtherText_NumberRegistered movs r1, 0xA movs r2, 0x9 bl MenuPrint_RightAligned cmp r5, 0 bne _080F08C6 _080F0862: ldr r0, _080F08D0 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F08D4 @ =0x00008788 adds r4, r0, r1 ldr r2, _080F08D8 @ =0x00008774 adds r0, r2 movs r2, 0 ldrsh r1, [r0, r2] adds r1, 0x1 adds r0, r4, 0 movs r2, 0x1 movs r3, 0x5 bl ConvertIntToDecimalStringN adds r0, r4, 0 movs r1, 0xA movs r2, 0xB bl MenuPrint_RightAligned cmp r5, 0 bne _080F08C6 _080F088C: ldr r0, _080F08DC @ =gOtherText_NumberBattles movs r1, 0xA movs r2, 0xD bl MenuPrint_RightAligned cmp r5, 0 bne _080F08C6 _080F089A: movs r0, 0x9 bl GetGameStat adds r1, r0, 0 ldr r0, _080F08E0 @ =0x0001869f cmp r1, r0 bls _080F08AA adds r1, r0, 0 _080F08AA: ldr r0, _080F08D0 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r0, _080F08D4 @ =0x00008788 adds r4, r0 adds r0, r4, 0 movs r2, 0x1 movs r3, 0x5 bl ConvertIntToDecimalStringN adds r0, r4, 0 movs r1, 0xA movs r2, 0xF bl MenuPrint_RightAligned _080F08C6: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F08CC: .4byte gOtherText_NumberRegistered _080F08D0: .4byte gUnknown_083DFEC4 _080F08D4: .4byte 0x00008788 _080F08D8: .4byte 0x00008774 _080F08DC: .4byte gOtherText_NumberBattles _080F08E0: .4byte 0x0001869f thumb_func_end sub_80F081C thumb_func_start sub_80F08E4 sub_80F08E4: @ 80F08E4 push {lr} ldr r0, _080F08FC @ =gWindowConfig_81E710C bl BasicInitMenuWindow movs r0, 0 movs r1, 0x9 movs r2, 0xB movs r3, 0x10 bl MenuZeroFillWindowRect pop {r0} bx r0 .align 2, 0 _080F08FC: .4byte gWindowConfig_81E710C thumb_func_end sub_80F08E4 thumb_func_start sub_80F0900 sub_80F0900: @ 80F0900 push {r4,r5,lr} ldr r0, _080F093C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F0940 @ =0x00008772 adds r1, r0, r2 subs r2, 0x2 adds r5, r0, r2 ldrh r0, [r1] ldrh r1, [r5] subs r0, r1 adds r0, 0x1 lsls r4, r0, 16 asrs r0, r4, 16 cmp r0, 0x7 bgt _080F092A movs r0, 0xC movs r1, 0x1 movs r2, 0x1F movs r3, 0xF bl MenuZeroFillWindowRect _080F092A: ldrh r0, [r5] lsrs r2, r4, 16 movs r1, 0 bl sub_80F0954 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F093C: .4byte gUnknown_083DFEC4 _080F0940: .4byte 0x00008772 thumb_func_end sub_80F0900 thumb_func_start sub_80F0944 sub_80F0944: @ 80F0944 push {lr} bl sub_80F098C lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 thumb_func_end sub_80F0944 thumb_func_start sub_80F0954 sub_80F0954: @ 80F0954 push {r4,r5,lr} ldr r3, _080F097C @ =gUnknown_083DFEC4 ldr r3, [r3] ldr r5, _080F0980 @ =0x0000877e adds r4, r3, r5 movs r5, 0 strh r0, [r4] ldr r4, _080F0984 @ =0x00008780 adds r0, r3, r4 strh r1, [r0] ldr r1, _080F0988 @ =0x00008784 adds r0, r3, r1 strh r2, [r0] adds r4, 0x6 adds r3, r4 strh r5, [r3] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F097C: .4byte gUnknown_083DFEC4 _080F0980: .4byte 0x0000877e _080F0984: .4byte 0x00008780 _080F0988: .4byte 0x00008784 thumb_func_end sub_80F0954 thumb_func_start sub_80F098C sub_80F098C: @ 80F098C push {r4-r7,lr} mov r7, r8 push {r7} ldr r0, _080F09A4 @ =gUnknown_083DFEC4 ldr r6, [r0] ldr r0, _080F09A8 @ =0x00008784 adds r7, r6, r0 ldrh r0, [r7] cmp r0, 0 bne _080F09AC _080F09A0: movs r0, 0 b _080F0A02 .align 2, 0 _080F09A4: .4byte gUnknown_083DFEC4 _080F09A8: .4byte 0x00008784 _080F09AC: movs r1, 0 mov r8, r1 ldr r1, _080F0A0C @ =gUnknown_083E3270 ldr r2, _080F0A10 @ =0x000087ca adds r0, r6, r2 ldrb r2, [r0] lsls r2, 2 adds r2, r1 ldr r0, _080F0A14 @ =0x0000877e adds r4, r6, r0 ldrh r0, [r4] ldr r1, _080F0A18 @ =0x00008780 adds r5, r6, r1 ldrh r1, [r5] ldr r2, [r2] bl _call_via_r2 ldrh r0, [r7] subs r0, 0x1 strh r0, [r7] ldr r2, _080F0A1C @ =0x0000ffff adds r1, r2, 0 lsls r0, 16 cmp r0, 0 beq _080F09A0 ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] ands r0, r1 ldr r2, _080F0A20 @ =0x00008774 adds r1, r6, r2 movs r2, 0 ldrsh r1, [r1, r2] cmp r0, r1 ble _080F09F6 mov r0, r8 strh r0, [r4] _080F09F6: ldrh r0, [r5] adds r0, 0x2 movs r1, 0x1F ands r0, r1 strh r0, [r5] movs r0, 0x1 _080F0A02: pop {r3} mov r8, r3 pop {r4-r7} pop {r1} bx r1 .align 2, 0 _080F0A0C: .4byte gUnknown_083E3270 _080F0A10: .4byte 0x000087ca _080F0A14: .4byte 0x0000877e _080F0A18: .4byte 0x00008780 _080F0A1C: .4byte 0x0000ffff _080F0A20: .4byte 0x00008774 thumb_func_end sub_80F098C thumb_func_start sub_80F0A24 sub_80F0A24: @ 80F0A24 push {r4,r5,lr} lsls r0, 16 lsrs r3, r0, 16 lsls r1, 16 lsrs r5, r1, 16 ldr r0, _080F0A64 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F0A68 @ =0x000087c8 adds r0, r4, r1 ldrb r0, [r0] movs r2, 0x1 cmp r0, 0 bne _080F0A40 movs r2, 0x2 _080F0A40: ldr r0, _080F0A6C @ =0x00008788 adds r4, r0 adds r0, r4, 0 adds r1, r3, 0 bl sub_80F4428 ldr r0, _080F0A70 @ =gWindowConfig_81E70D4 bl BasicInitMenuWindow lsls r2, r5, 24 lsrs r2, 24 adds r0, r4, 0 movs r1, 0xD bl MenuPrint pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F0A64: .4byte gUnknown_083DFEC4 _080F0A68: .4byte 0x000087c8 _080F0A6C: .4byte 0x00008788 _080F0A70: .4byte gWindowConfig_81E70D4 thumb_func_end sub_80F0A24 thumb_func_start sub_80F0A74 sub_80F0A74: @ 80F0A74 push {r4-r7,lr} sub sp, 0x14 lsls r0, 16 lsrs r6, r0, 16 lsls r1, 16 lsrs r7, r1, 16 ldr r0, _080F0ADC @ =gUnknown_083DFEC4 ldr r5, [r0] ldr r0, _080F0AE0 @ =0x00008788 adds r4, r5, r0 adds r0, r4, 0 adds r1, r6, 0 bl sub_80F700C movs r0, 0x1F ands r7, r0 ldr r0, _080F0AE4 @ =gWindowConfig_81E70D4 bl BasicInitMenuWindow lsls r2, r7, 3 adds r0, r4, 0 movs r1, 0x61 movs r3, 0 bl MenuPrint_PixelCoords ldr r1, _080F0AE8 @ =0x0000d158 adds r0, r5, r1 ldrh r0, [r0] cmp r6, r0 bcs _080F0AF8 lsls r0, r6, 3 adds r0, r5, r0 ldr r1, _080F0AEC @ =0x0000ceed adds r0, r1 ldrb r0, [r0] cmp r0, 0 beq _080F0AF8 ldr r0, _080F0AF0 @ =0x0600f000 ldr r3, _080F0AF4 @ =gUnknown_083E039C movs r1, 0 str r1, [sp] str r1, [sp, 0x4] movs r2, 0x1 str r2, [sp, 0x8] movs r1, 0x2 str r1, [sp, 0xC] str r2, [sp, 0x10] movs r1, 0x1D adds r2, r7, 0 bl sub_8095C8C b _080F0B14 .align 2, 0 _080F0ADC: .4byte gUnknown_083DFEC4 _080F0AE0: .4byte 0x00008788 _080F0AE4: .4byte gWindowConfig_81E70D4 _080F0AE8: .4byte 0x0000d158 _080F0AEC: .4byte 0x0000ceed _080F0AF0: .4byte 0x0600f000 _080F0AF4: .4byte gUnknown_083E039C _080F0AF8: ldr r0, _080F0B1C @ =0x0600f000 ldr r3, _080F0B20 @ =gUnknown_083E03A0 movs r1, 0 str r1, [sp] str r1, [sp, 0x4] movs r2, 0x1 str r2, [sp, 0x8] movs r1, 0x2 str r1, [sp, 0xC] str r2, [sp, 0x10] movs r1, 0x1D adds r2, r7, 0 bl sub_8095C8C _080F0B14: add sp, 0x14 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F0B1C: .4byte 0x0600f000 _080F0B20: .4byte gUnknown_083E03A0 thumb_func_end sub_80F0A74 thumb_func_start sub_80F0B24 sub_80F0B24: @ 80F0B24 ldr r0, _080F0B38 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F0B3C @ =0x0000d15c adds r1, r0, r2 movs r2, 0 strh r2, [r1] ldr r1, _080F0B40 @ =0x00000306 adds r0, r1 strh r2, [r0] bx lr .align 2, 0 _080F0B38: .4byte gUnknown_083DFEC4 _080F0B3C: .4byte 0x0000d15c _080F0B40: .4byte 0x00000306 thumb_func_end sub_80F0B24 thumb_func_start sub_80F0B44 sub_80F0B44: @ 80F0B44 push {r4-r6,lr} ldr r0, _080F0B58 @ =gUnknown_083DFEC4 ldr r5, [r0] ldr r0, _080F0B5C @ =0x0000d15c adds r6, r5, r0 ldrh r0, [r6] cmp r0, 0x8 bls _080F0B60 movs r0, 0 b _080F0C22 .align 2, 0 _080F0B58: .4byte gUnknown_083DFEC4 _080F0B5C: .4byte 0x0000d15c _080F0B60: ldr r0, _080F0BBC @ =0x00000306 adds r1, r5, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 bls _080F0C20 movs r0, 0 strh r0, [r1] ldrh r0, [r6] cmp r0, 0x7 bhi _080F0BCC ldr r0, _080F0BC0 @ =0x00008778 adds r1, r5, r0 ldrh r2, [r6] lsls r0, r2, 1 ldrh r1, [r1] adds r4, r0, r1 movs r0, 0x1F ands r4, r0 ldr r1, _080F0BC4 @ =0x0000876c adds r0, r5, r1 movs r1, 0 ldrsh r0, [r0, r1] cmp r2, r0 beq _080F0BAA ldr r0, _080F0BC8 @ =gWindowConfig_81E70D4 bl BasicInitMenuWindow adds r1, r4, 0 adds r3, r1, 0x1 movs r0, 0xC movs r2, 0x1F bl MenuZeroFillWindowRect _080F0BAA: ldrh r0, [r6] cmp r0, 0 bne _080F0BB4 bl sub_80F08E4 _080F0BB4: ldrh r0, [r6] adds r0, 0x1 strh r0, [r6] b _080F0C20 .align 2, 0 _080F0BBC: .4byte 0x00000306 _080F0BC0: .4byte 0x00008778 _080F0BC4: .4byte 0x0000876c _080F0BC8: .4byte gWindowConfig_81E70D4 _080F0BCC: ldr r0, _080F0C10 @ =gWindowConfig_81E70D4 bl BasicInitMenuWindow ldr r1, _080F0C14 @ =0x00008778 adds r0, r5, r1 ldrh r0, [r0] adds r4, r0, 0 adds r4, 0x10 movs r0, 0x1F ands r4, r0 movs r5, 0 _080F0BE2: adds r3, r4, 0x1 movs r0, 0xC adds r1, r4, 0 movs r2, 0x1F bl MenuZeroFillWindowRect adds r4, 0x2 movs r0, 0x1F ands r4, r0 adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0x7 bls _080F0BE2 ldr r0, _080F0C18 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F0C1C @ =0x0000d15c adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] movs r0, 0 b _080F0C22 .align 2, 0 _080F0C10: .4byte gWindowConfig_81E70D4 _080F0C14: .4byte 0x00008778 _080F0C18: .4byte gUnknown_083DFEC4 _080F0C1C: .4byte 0x0000d15c _080F0C20: movs r0, 0x1 _080F0C22: pop {r4-r6} pop {r1} bx r1 thumb_func_end sub_80F0B44 thumb_func_start sub_80F0C28 sub_80F0C28: @ 80F0C28 ldr r0, _080F0C3C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F0C40 @ =0x0000d15c adds r1, r0, r2 movs r2, 0 strh r2, [r1] ldr r1, _080F0C44 @ =0x00000306 adds r0, r1 strh r2, [r0] bx lr .align 2, 0 _080F0C3C: .4byte gUnknown_083DFEC4 _080F0C40: .4byte 0x0000d15c _080F0C44: .4byte 0x00000306 thumb_func_end sub_80F0C28 thumb_func_start sub_80F0C48 sub_80F0C48: @ 80F0C48 push {r4-r6,lr} ldr r0, _080F0C5C @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r0, _080F0C60 @ =0x0000d15c adds r5, r4, r0 ldrh r0, [r5] cmp r0, 0x7 bls _080F0C64 movs r0, 0 b _080F0CD2 .align 2, 0 _080F0C5C: .4byte gUnknown_083DFEC4 _080F0C60: .4byte 0x0000d15c _080F0C64: ldr r2, _080F0CBC @ =0x00000306 adds r1, r4, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] ldr r2, _080F0CC0 @ =0x0000ffff adds r6, r2, 0 lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 bls _080F0CD0 movs r0, 0 strh r0, [r1] ldr r0, _080F0CC4 @ =gWindowConfig_81E70D4 bl BasicInitMenuWindow ldr r0, _080F0CC8 @ =0x00008770 adds r1, r4, r0 ldrh r0, [r5] ldrh r1, [r1] adds r0, r1 lsls r0, 16 lsrs r0, 16 ldr r1, _080F0CCC @ =0x00008778 adds r2, r4, r1 ldrh r1, [r5] lsls r1, 1 ldrh r2, [r2] adds r1, r2 lsls r1, 16 lsrs r1, 16 bl sub_80F0A74 ldrh r0, [r5] adds r0, 0x1 strh r0, [r5] ands r0, r6 cmp r0, 0x7 bls _080F0CD0 movs r0, 0 bl sub_80F081C movs r0, 0 b _080F0CD2 .align 2, 0 _080F0CBC: .4byte 0x00000306 _080F0CC0: .4byte 0x0000ffff _080F0CC4: .4byte gWindowConfig_81E70D4 _080F0CC8: .4byte 0x00008770 _080F0CCC: .4byte 0x00008778 _080F0CD0: movs r0, 0x1 _080F0CD2: pop {r4-r6} pop {r1} bx r1 thumb_func_end sub_80F0C48 thumb_func_start sub_80F0CD8 sub_80F0CD8: @ 80F0CD8 push {r4,r5,lr} ldr r4, _080F0D40 @ =gUnknown_083DFEC4 ldr r1, [r4] ldr r2, _080F0D44 @ =0x00000306 adds r0, r1, r2 movs r2, 0 strh r2, [r0] ldr r3, _080F0D48 @ =0x0000d15c adds r0, r1, r3 strh r2, [r0] ldr r2, _080F0D4C @ =0x0000876e adds r0, r1, r2 movs r3, 0 ldrsh r0, [r0, r3] lsls r0, 3 adds r0, r1, r0 ldr r2, _080F0D50 @ =0x0000ceec adds r0, r2 ldrb r0, [r0] ldr r3, _080F0D54 @ =0x0000d110 adds r1, r3 ldr r2, _080F0D58 @ =gTrainerEyeDescriptions lsls r0, 2 adds r0, r2 ldr r0, [r0] str r0, [r1] adds r2, r0, 0 movs r1, 0 adds r5, r4, 0 adds r4, r3, 0 _080F0D14: ldrb r0, [r2] adds r3, r1, 0x1 cmp r0, 0xFF beq _080F0D24 _080F0D1C: adds r2, 0x1 ldrb r0, [r2] cmp r0, 0xFF bne _080F0D1C _080F0D24: ldr r0, [r5] lsls r1, r3, 2 adds r0, r4 adds r0, r1 adds r2, 0x1 str r2, [r0] lsls r0, r3, 16 lsrs r1, r0, 16 cmp r1, 0x2 bls _080F0D14 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F0D40: .4byte gUnknown_083DFEC4 _080F0D44: .4byte 0x00000306 _080F0D48: .4byte 0x0000d15c _080F0D4C: .4byte 0x0000876e _080F0D50: .4byte 0x0000ceec _080F0D54: .4byte 0x0000d110 _080F0D58: .4byte gTrainerEyeDescriptions thumb_func_end sub_80F0CD8 thumb_func_start sub_80F0D5C sub_80F0D5C: @ 80F0D5C push {r4,r5,lr} ldr r0, _080F0D70 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r0, _080F0D74 @ =0x0000d15c adds r5, r4, r0 ldrh r0, [r5] cmp r0, 0x7 bne _080F0D78 _080F0D6C: movs r0, 0 b _080F0EB0 .align 2, 0 _080F0D70: .4byte gUnknown_083DFEC4 _080F0D74: .4byte 0x0000d15c _080F0D78: ldr r0, _080F0DB8 @ =0x00000306 adds r1, r4, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 bhi _080F0D8C b _080F0EAE _080F0D8C: movs r0, 0 strh r0, [r1] ldr r0, _080F0DBC @ =gWindowConfig_81E70D4 bl BasicInitMenuWindow ldr r0, _080F0DC0 @ =0x00008778 adds r1, r4, r0 ldrh r3, [r5] lsls r0, r3, 1 adds r0, 0x2 ldrh r1, [r1] adds r5, r0, r1 movs r0, 0x1F ands r5, r0 cmp r3, 0x6 bhi _080F0D6C lsls r0, r3, 2 ldr r1, _080F0DC4 @ =_080F0DC8 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080F0DB8: .4byte 0x00000306 _080F0DBC: .4byte gWindowConfig_81E70D4 _080F0DC0: .4byte 0x00008778 _080F0DC4: .4byte _080F0DC8 .align 2, 0 _080F0DC8: .4byte _080F0DE4 .4byte _080F0DF0 .4byte _080F0E08 .4byte _080F0E14 .4byte _080F0E2C .4byte _080F0E38 .4byte _080F0E6C _080F0DE4: ldr r0, _080F0DEC @ =gOtherText_Strategy lsls r2, r5, 3 b _080F0E54 .align 2, 0 _080F0DEC: .4byte gOtherText_Strategy _080F0DF0: ldr r0, _080F0DFC @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F0E00 @ =0x00008788 adds r4, r0, r1 ldr r1, _080F0E04 @ =0x0000d110 b _080F0E42 .align 2, 0 _080F0DFC: .4byte gUnknown_083DFEC4 _080F0E00: .4byte 0x00008788 _080F0E04: .4byte 0x0000d110 _080F0E08: ldr r0, _080F0E10 @ =gOtherText_TrainersPokemon lsls r2, r5, 3 b _080F0E54 .align 2, 0 _080F0E10: .4byte gOtherText_TrainersPokemon _080F0E14: ldr r0, _080F0E20 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F0E24 @ =0x00008788 adds r4, r0, r1 ldr r1, _080F0E28 @ =0x0000d114 b _080F0E42 .align 2, 0 _080F0E20: .4byte gUnknown_083DFEC4 _080F0E24: .4byte 0x00008788 _080F0E28: .4byte 0x0000d114 _080F0E2C: ldr r0, _080F0E34 @ =gOtherText_SelfIntroduction lsls r2, r5, 3 b _080F0E54 .align 2, 0 _080F0E34: .4byte gOtherText_SelfIntroduction _080F0E38: ldr r0, _080F0E60 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F0E64 @ =0x00008788 adds r4, r0, r1 ldr r1, _080F0E68 @ =0x0000d118 _080F0E42: adds r0, r1 ldr r1, [r0] adds r0, r4, 0 movs r2, 0x88 movs r3, 0 bl sub_8072C74 lsls r2, r5, 3 adds r0, r4, 0 _080F0E54: movs r1, 0x61 movs r3, 0 bl MenuPrint_PixelCoords b _080F0EA0 .align 2, 0 _080F0E60: .4byte gUnknown_083DFEC4 _080F0E64: .4byte 0x00008788 _080F0E68: .4byte 0x0000d118 _080F0E6C: ldr r0, _080F0E94 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F0E98 @ =0x00008788 adds r4, r0, r1 ldr r1, _080F0E9C @ =0x0000d11c adds r0, r1 ldr r1, [r0] adds r0, r4, 0 movs r2, 0x88 movs r3, 0 bl sub_8072C74 lsls r2, r5, 3 adds r0, r4, 0 movs r1, 0x61 movs r3, 0 bl MenuPrint_PixelCoords b _080F0D6C .align 2, 0 _080F0E94: .4byte gUnknown_083DFEC4 _080F0E98: .4byte 0x00008788 _080F0E9C: .4byte 0x0000d11c _080F0EA0: ldr r0, _080F0EB8 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F0EBC @ =0x0000d15c adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080F0EAE: movs r0, 0x1 _080F0EB0: pop {r4,r5} pop {r1} bx r1 .align 2, 0 _080F0EB8: .4byte gUnknown_083DFEC4 _080F0EBC: .4byte 0x0000d15c thumb_func_end sub_80F0D5C thumb_func_start sub_80F0EC0 sub_80F0EC0: @ 80F0EC0 push {lr} ldr r0, _080F0EE4 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F0EE8 @ =0x00000306 adds r1, r0, r2 movs r2, 0 strh r2, [r1] ldr r3, _080F0EEC @ =0x0000d15c adds r1, r0, r3 strh r2, [r1] ldr r1, _080F0EF0 @ =0x00008788 adds r0, r1 movs r1, 0 movs r2, 0x10 bl StringFill pop {r0} bx r0 .align 2, 0 _080F0EE4: .4byte gUnknown_083DFEC4 _080F0EE8: .4byte 0x00000306 _080F0EEC: .4byte 0x0000d15c _080F0EF0: .4byte 0x00008788 thumb_func_end sub_80F0EC0 thumb_func_start sub_80F0EF4 sub_80F0EF4: @ 80F0EF4 push {r4,r5,lr} ldr r0, _080F0F08 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r0, _080F0F0C @ =0x0000d15c adds r5, r2, r0 ldrh r0, [r5] cmp r0, 0x6 bls _080F0F10 movs r0, 0 b _080F0F52 .align 2, 0 _080F0F08: .4byte gUnknown_083DFEC4 _080F0F0C: .4byte 0x0000d15c _080F0F10: ldr r0, _080F0F58 @ =0x00000306 adds r1, r2, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 bls _080F0F50 movs r0, 0 strh r0, [r1] ldr r1, _080F0F5C @ =0x00008778 adds r0, r2, r1 ldrh r4, [r5] lsls r4, 1 adds r4, 0x2 ldrh r0, [r0] adds r4, r0 movs r0, 0x1F ands r4, r0 ldr r0, _080F0F60 @ =gWindowConfig_81E70D4 bl BasicInitMenuWindow adds r3, r4, 0x1 movs r0, 0xC adds r1, r4, 0 movs r2, 0x1F bl MenuZeroFillWindowRect ldrh r0, [r5] adds r0, 0x1 strh r0, [r5] _080F0F50: movs r0, 0x1 _080F0F52: pop {r4,r5} pop {r1} bx r1 .align 2, 0 _080F0F58: .4byte 0x00000306 _080F0F5C: .4byte 0x00008778 _080F0F60: .4byte gWindowConfig_81E70D4 thumb_func_end sub_80F0EF4 thumb_func_start sub_80F0F64 sub_80F0F64: @ 80F0F64 push {r4,lr} ldr r0, _080F0F90 @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r1, _080F0F94 @ =0x0000876c adds r0, r3, r1 movs r4, 0 ldrsh r2, [r0, r4] lsls r1, r2, 4 ldr r4, _080F0F98 @ =0x0000877c adds r0, r3, r4 strh r1, [r0] movs r1, 0x8 cmp r2, 0x1 bne _080F0F82 movs r1, 0x4 _080F0F82: ldr r2, _080F0F9C @ =0x0000877a adds r0, r3, r2 strh r1, [r0] pop {r4} pop {r0} bx r0 .align 2, 0 _080F0F90: .4byte gUnknown_083DFEC4 _080F0F94: .4byte 0x0000876c _080F0F98: .4byte 0x0000877c _080F0F9C: .4byte 0x0000877a thumb_func_end sub_80F0F64 thumb_func_start sub_80F0FA0 sub_80F0FA0: @ 80F0FA0 push {r4,lr} ldr r0, _080F0FDC @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r1, _080F0FE0 @ =0x0000876c adds r0, r3, r1 movs r4, 0 ldrsh r0, [r0, r4] negs r0, r0 lsls r0, 16 asrs r0, 16 lsls r2, r0, 4 ldr r4, _080F0FE4 @ =0x0000877c adds r1, r3, r4 strh r2, [r1] movs r1, 0x1 negs r1, r1 movs r4, 0x8 negs r4, r4 adds r2, r4, 0 cmp r0, r1 bne _080F0FD0 movs r0, 0x4 negs r0, r0 adds r2, r0, 0 _080F0FD0: ldr r1, _080F0FE8 @ =0x0000877a adds r0, r3, r1 strh r2, [r0] pop {r4} pop {r0} bx r0 .align 2, 0 _080F0FDC: .4byte gUnknown_083DFEC4 _080F0FE0: .4byte 0x0000876c _080F0FE4: .4byte 0x0000877c _080F0FE8: .4byte 0x0000877a thumb_func_end sub_80F0FA0 thumb_func_start sub_80F0FEC sub_80F0FEC: @ 80F0FEC push {lr} bl sub_80F0718 lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 thumb_func_end sub_80F0FEC thumb_func_start sub_80F0FFC sub_80F0FFC: @ 80F0FFC push {r4,r5,lr} lsls r0, 24 ldr r1, _080F1048 @ =gUnknown_083DFEC4 ldr r4, [r1] ldr r1, _080F104C @ =0x00008788 adds r5, r4, r1 lsrs r0, 21 adds r0, r4, r0 ldr r1, _080F1050 @ =0x0000ceea adds r0, r1 ldrh r1, [r0] adds r0, r5, 0 movs r2, 0 bl GetMapSectionName ldr r0, _080F1054 @ =gWindowConfig_81E710C bl BasicInitMenuWindow adds r0, r5, 0 bl sub_80F19DC ldr r0, _080F1058 @ =0x0000d138 adds r4, r0 adds r0, r4, 0 adds r1, r5, 0 movs r2, 0x58 movs r3, 0x2 bl sub_8072C74 adds r0, r4, 0 movs r1, 0 movs r2, 0x5 bl MenuPrint pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F1048: .4byte gUnknown_083DFEC4 _080F104C: .4byte 0x00008788 _080F1050: .4byte 0x0000ceea _080F1054: .4byte gWindowConfig_81E710C _080F1058: .4byte 0x0000d138 thumb_func_end sub_80F0FFC thumb_func_start sub_80F105C sub_80F105C: @ 80F105C push {lr} ldr r0, _080F1078 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F107C @ =0x0000876e adds r0, r1, r2 ldrh r0, [r0] adds r2, 0xA adds r1, r2 ldrh r1, [r1] bl sub_80F0A74 pop {r0} bx r0 .align 2, 0 _080F1078: .4byte gUnknown_083DFEC4 _080F107C: .4byte 0x0000876e thumb_func_end sub_80F105C thumb_func_start sub_80F1080 sub_80F1080: @ 80F1080 push {r4,lr} ldr r1, _080F10A0 @ =gUnknown_083DFEC4 ldr r0, [r1] ldr r2, _080F10A4 @ =0x0000d160 adds r0, r2 ldrh r0, [r0] adds r2, r1, 0 cmp r0, 0xE bls _080F1094 b _080F1204 _080F1094: lsls r0, 2 ldr r1, _080F10A8 @ =_080F10AC adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080F10A0: .4byte gUnknown_083DFEC4 _080F10A4: .4byte 0x0000d160 _080F10A8: .4byte _080F10AC .align 2, 0 _080F10AC: .4byte _080F10E8 .4byte _080F1104 .4byte _080F1110 .4byte _080F111C .4byte _080F1128 .4byte _080F112E .4byte _080F1134 .4byte _080F1142 .4byte _080F1160 .4byte _080F1166 .4byte _080F116C .4byte _080F1180 .4byte _080F1194 .4byte _080F11DC .4byte _080F11E2 _080F10E8: bl sub_80EEDE8 ldr r0, _080F10FC @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r3, _080F1100 @ =0x0000d162 adds r0, r3 movs r1, 0xB strb r1, [r0] b _080F1218 .align 2, 0 _080F10FC: .4byte gUnknown_083DFEC4 _080F1100: .4byte 0x0000d162 _080F1104: ldr r0, _080F110C @ =gWindowConfig_81E70B8 bl SetUpWindowConfig b _080F1218 .align 2, 0 _080F110C: .4byte gWindowConfig_81E70B8 _080F1110: ldr r0, _080F1118 @ =gWindowConfig_81E70B8 bl MultistepInitMenuWindowBegin b _080F1218 .align 2, 0 _080F1118: .4byte gWindowConfig_81E70B8 _080F111C: bl MultistepInitMenuWindowContinue cmp r0, 0 beq _080F1126 b _080F1218 _080F1126: b _080F1226 _080F1128: bl MenuZeroFillScreen b _080F1218 _080F112E: bl sub_80F1614 b _080F1218 _080F1134: movs r0, 0x1 bl sub_80F162C lsls r0, 24 cmp r0, 0 beq _080F1218 b _080F1226 _080F1142: ldr r0, _080F1154 @ =gUnknown_08E9FBA0 ldr r1, _080F1158 @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r2, _080F115C @ =0x0000934c adds r1, r2 bl LZ77UnCompWram b _080F1218 .align 2, 0 _080F1154: .4byte gUnknown_08E9FBA0 _080F1158: .4byte gUnknown_083DFEC4 _080F115C: .4byte 0x0000934c _080F1160: bl sub_80F1238 b _080F1218 _080F1166: bl sub_80F13FC b _080F1218 _080F116C: ldr r0, _080F1178 @ =gPokenavRibbonView_Gfx ldr r1, _080F117C @ =0x06008000 bl LZ77UnCompVram b _080F1218 .align 2, 0 _080F1178: .4byte gPokenavRibbonView_Gfx _080F117C: .4byte 0x06008000 _080F1180: ldr r0, _080F118C @ =gUnknown_083E040C ldr r1, _080F1190 @ =0x06008200 bl LZ77UnCompVram b _080F1218 .align 2, 0 _080F118C: .4byte gUnknown_083E040C _080F1190: .4byte 0x06008200 _080F1194: ldr r0, _080F11CC @ =gPokenavRibbonView_Pal movs r1, 0x20 movs r2, 0x20 bl LoadPalette ldr r4, _080F11D0 @ =gUnknown_083E03A8 adds r0, r4, 0 movs r1, 0xF0 movs r2, 0x20 bl LoadPalette ldr r0, _080F11D4 @ =gUnknown_083E3C60 movs r1, 0x30 movs r2, 0xA0 bl LoadPalette ldr r0, _080F11D8 @ =gUnknownPalette_81E6692 movs r1, 0xB0 movs r2, 0x20 bl LoadPalette adds r4, 0x1E adds r0, r4, 0 movs r1, 0xBF movs r2, 0x2 bl LoadPalette b _080F1218 .align 2, 0 _080F11CC: .4byte gPokenavRibbonView_Pal _080F11D0: .4byte gUnknown_083E03A8 _080F11D4: .4byte gUnknown_083E3C60 _080F11D8: .4byte gUnknownPalette_81E6692 _080F11DC: bl sub_80F1438 b _080F1218 _080F11E2: ldr r1, _080F1208 @ =REG_BG2CNT ldr r3, _080F120C @ =0x00001e02 adds r0, r3, 0 strh r0, [r1] adds r1, 0x2 ldr r3, _080F1210 @ =0x0000170b adds r0, r3, 0 strh r0, [r1] adds r1, 0x42 movs r0, 0 strh r0, [r1] ldr r1, [r2] ldr r0, _080F1214 @ =0x0000d160 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080F1204: movs r0, 0 b _080F1228 .align 2, 0 _080F1208: .4byte REG_BG2CNT _080F120C: .4byte 0x00001e02 _080F1210: .4byte 0x0000170b _080F1214: .4byte 0x0000d160 _080F1218: ldr r0, _080F1230 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F1234 @ =0x0000d160 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080F1226: movs r0, 0x1 _080F1228: pop {r4} pop {r1} bx r1 .align 2, 0 _080F1230: .4byte gUnknown_083DFEC4 _080F1234: .4byte 0x0000d160 thumb_func_end sub_80F1080 thumb_func_start sub_80F1238 sub_80F1238: @ 80F1238 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x8 movs r6, 0x8B ldr r0, _080F1318 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r1, _080F131C @ =0x0000bc8e adds r0, r2, r1 ldr r3, _080F1320 @ =0x0000bc8f adds r1, r2, r3 ldrb r0, [r0] ldrb r1, [r1] subs r0, r1 lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x4] movs r7, 0 mov r5, sp adds r4, r2, 0 _080F1264: movs r1, 0x80 lsls r1, 6 adds r0, r1, 0 strh r0, [r5] lsls r1, r7, 5 adds r1, r6, r1 lsls r1, 1 ldr r2, _080F1324 @ =0x0000934c adds r1, r2 adds r1, r4, r1 mov r0, sp ldr r2, _080F1328 @ =0x01000012 bl CpuSet adds r0, r7, 0x1 lsls r0, 16 lsrs r7, r0, 16 cmp r7, 0x7 bls _080F1264 ldr r3, [sp, 0x4] lsls r0, r3, 16 movs r7, 0 mov r9, r0 cmp r0, 0 beq _080F1342 ldr r0, _080F1318 @ =gUnknown_083DFEC4 ldr r0, [r0] mov r8, r0 ldr r1, _080F132C @ =gUnknown_083E4698 mov r10, r1 ldr r5, _080F1324 @ =0x0000934c add r5, r8 _080F12A4: ldr r0, _080F1330 @ =0x0000bc4c add r0, r8 adds r0, r7 ldrb r1, [r0] lsls r1, 2 mov r0, r10 adds r0, 0x2 adds r0, r1, r0 ldrb r2, [r0] adds r2, 0x3 lsls r2, 24 add r1, r10 ldrh r0, [r1] lsls r0, 25 movs r3, 0x80 lsls r3, 21 adds r0, r3 lsrs r4, r0, 24 lsls r1, r6, 1 adds r1, r5, r1 lsrs r2, 12 adds r0, r2, 0 orrs r0, r4 strh r0, [r1] adds r1, r6, 0x1 lsls r1, 1 adds r1, r5, r1 movs r3, 0x80 lsls r3, 3 adds r0, r3, 0 adds r3, r2, 0 orrs r3, r0 adds r0, r3, 0 orrs r0, r4 strh r0, [r1] adds r0, r6, 0 adds r0, 0x20 lsls r0, 1 adds r0, r5, r0 adds r1, r4, 0x1 orrs r2, r1 strh r2, [r0] adds r0, r6, 0 adds r0, 0x21 lsls r0, 1 adds r0, r5, r0 orrs r3, r1 strh r3, [r0] adds r4, r7, 0x1 adds r0, r4, 0 movs r1, 0x9 bl __modsi3 cmp r0, 0 bne _080F1334 adds r0, r6, 0 adds r0, 0x30 b _080F1336 .align 2, 0 _080F1318: .4byte gUnknown_083DFEC4 _080F131C: .4byte 0x0000bc8e _080F1320: .4byte 0x0000bc8f _080F1324: .4byte 0x0000934c _080F1328: .4byte 0x01000012 _080F132C: .4byte gUnknown_083E4698 _080F1330: .4byte 0x0000bc4c _080F1334: adds r0, r6, 0x2 _080F1336: lsls r0, 16 lsrs r6, r0, 16 lsls r0, r4, 16 lsrs r7, r0, 16 cmp r0, r9 bcc _080F12A4 _080F1342: ldr r6, _080F13E8 @ =0x0000014b movs r7, 0 ldr r1, _080F13EC @ =gUnknown_083DFEC4 ldr r0, [r1] ldr r2, _080F13F0 @ =0x0000bc8f adds r1, r0, r2 ldrb r3, [r1] cmp r7, r3 bcs _080F13D8 subs r2, 0x43 adds r2, r0 mov r10, r2 ldr r3, _080F13F4 @ =gUnknown_083E4698 mov r8, r3 ldr r2, _080F13F8 @ =0x0000934c adds r5, r0, r2 mov r9, r1 _080F1364: ldr r3, [sp, 0x4] adds r0, r3, r7 add r0, r10 ldrb r1, [r0] lsls r1, 2 mov r0, r8 adds r0, 0x2 adds r0, r1, r0 ldrb r2, [r0] adds r2, 0x3 lsls r2, 24 add r1, r8 ldrh r0, [r1] lsls r0, 25 movs r1, 0x80 lsls r1, 21 adds r0, r1 lsrs r4, r0, 24 lsls r1, r6, 1 adds r1, r5, r1 lsrs r2, 12 adds r0, r2, 0 orrs r0, r4 strh r0, [r1] adds r1, r6, 0x1 lsls r1, 1 adds r1, r5, r1 movs r3, 0x80 lsls r3, 3 adds r0, r3, 0 adds r3, r2, 0 orrs r3, r0 adds r0, r3, 0 orrs r0, r4 strh r0, [r1] adds r0, r6, 0 adds r0, 0x20 lsls r0, 1 adds r0, r5, r0 adds r1, r4, 0x1 orrs r2, r1 strh r2, [r0] adds r0, r6, 0 adds r0, 0x21 lsls r0, 1 adds r0, r5, r0 orrs r3, r1 strh r3, [r0] adds r0, r6, 0x2 lsls r0, 16 lsrs r6, r0, 16 adds r0, r7, 0x1 lsls r0, 16 lsrs r7, r0, 16 mov r0, r9 ldrb r0, [r0] cmp r7, r0 bcc _080F1364 _080F13D8: add sp, 0x8 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F13E8: .4byte 0x0000014b _080F13EC: .4byte gUnknown_083DFEC4 _080F13F0: .4byte 0x0000bc8f _080F13F4: .4byte gUnknown_083E4698 _080F13F8: .4byte 0x0000934c thumb_func_end sub_80F1238 thumb_func_start sub_80F13FC sub_80F13FC: @ 80F13FC ldr r0, _080F141C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F1420 @ =0x0000934c adds r0, r1 ldr r2, _080F1424 @ =0x0600b800 ldr r1, _080F1428 @ =0x040000d4 str r0, [r1] str r2, [r1, 0x4] ldr r0, _080F142C @ =0x84000140 str r0, [r1, 0x8] ldr r0, [r1, 0x8] ldr r1, _080F1430 @ =gPlttBufferUnfaded ldr r0, _080F1434 @ =gPokenavRibbonView_Pal + 0x1C ldrh r0, [r0] strh r0, [r1] bx lr .align 2, 0 _080F141C: .4byte gUnknown_083DFEC4 _080F1420: .4byte 0x0000934c _080F1424: .4byte 0x0600b800 _080F1428: .4byte 0x040000d4 _080F142C: .4byte 0x84000140 _080F1430: .4byte gPlttBufferUnfaded _080F1434: .4byte gPokenavRibbonView_Pal + 0x1C thumb_func_end sub_80F13FC thumb_func_start sub_80F1438 sub_80F1438: @ 80F1438 push {r4,r5,lr} ldr r0, _080F1470 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F1474 @ =0x00008829 adds r0, r4, r1 movs r1, 0xD movs r2, 0x1 bl MenuPrint ldr r0, _080F1478 @ =0x00008788 adds r5, r4, r0 ldr r1, _080F147C @ =0x0000876e adds r4, r1 ldrh r1, [r4] adds r1, 0x1 lsls r1, 16 lsrs r1, 16 adds r0, r5, 0 bl sub_80F445C adds r0, r5, 0 movs r1, 0x1 movs r2, 0x5 bl MenuPrint pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F1470: .4byte gUnknown_083DFEC4 _080F1474: .4byte 0x00008829 _080F1478: .4byte 0x00008788 _080F147C: .4byte 0x0000876e thumb_func_end sub_80F1438 thumb_func_start sub_80F1480 sub_80F1480: @ 80F1480 push {lr} movs r0, 0xC movs r1, 0xD movs r2, 0x1B movs r3, 0x10 bl MenuZeroFillWindowRect pop {r0} bx r0 thumb_func_end sub_80F1480 thumb_func_start sub_80F1494 sub_80F1494: @ 80F1494 push {r4-r7,lr} ldr r0, _080F14D4 @ =gUnknown_083DFEC8 ldr r0, [r0] movs r1, 0x80 lsls r1, 4 adds r6, r0, r1 ldr r2, _080F14D8 @ =0x00000a98 adds r7, r0, r2 ldr r0, _080F14DC @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r4, _080F14E0 @ =0x0000bc91 adds r1, r3, r4 ldrb r0, [r1] cmp r0, 0x2 bhi _080F14F0 ldr r5, _080F14E4 @ =gUnknown_020388B4 adds r1, r0, 0 lsls r0, r1, 3 subs r4, 0x1 adds r2, r3, r4 adds r0, r1 ldrb r2, [r2] adds r0, r2 strh r0, [r5] ldr r1, _080F14E8 @ =0x0000bc4c adds r0, r3, r1 ldrh r2, [r5] adds r0, r2 ldrb r0, [r0] strh r0, [r5] ldr r4, _080F14EC @ =gRibbonDescriptions b _080F152E .align 2, 0 _080F14D4: .4byte gUnknown_083DFEC8 _080F14D8: .4byte 0x00000a98 _080F14DC: .4byte gUnknown_083DFEC4 _080F14E0: .4byte 0x0000bc91 _080F14E4: .4byte gUnknown_020388B4 _080F14E8: .4byte 0x0000bc4c _080F14EC: .4byte gRibbonDescriptions _080F14F0: ldr r5, _080F1558 @ =gUnknown_020388B4 ldr r4, _080F155C @ =0x0000bc8e adds r0, r3, r4 ldrb r0, [r0] ldr r2, _080F1560 @ =0x0000bc8f adds r1, r3, r2 ldrb r1, [r1] subs r0, r1 strh r0, [r5] ldrh r1, [r5] adds r4, 0x2 adds r0, r3, r4 ldrb r0, [r0] adds r1, r0 subs r2, 0x43 adds r0, r3, r2 adds r0, r1 ldrb r0, [r0] strh r0, [r5] ldr r0, _080F1564 @ =gSaveBlock1 ldrh r1, [r5] adds r0, r1 ldr r4, _080F1568 @ =0x000030f7 adds r0, r4 ldrb r0, [r0] strh r0, [r5] cmp r0, 0 beq _080F1570 subs r0, 0x1 strh r0, [r5] ldr r4, _080F156C @ =gGiftRibbonDescriptions _080F152E: ldrh r0, [r5] lsls r0, 3 adds r0, r4 ldr r1, [r0] adds r0, r6, 0 movs r2, 0x80 movs r3, 0 bl sub_8072C74 ldrh r0, [r5] lsls r0, 3 adds r4, 0x4 adds r0, r4 ldr r1, [r0] adds r0, r7, 0 movs r2, 0x80 movs r3, 0 bl sub_8072C74 b _080F158A .align 2, 0 _080F1558: .4byte gUnknown_020388B4 _080F155C: .4byte 0x0000bc8e _080F1560: .4byte 0x0000bc8f _080F1564: .4byte gSaveBlock1 _080F1568: .4byte 0x000030f7 _080F156C: .4byte gGiftRibbonDescriptions _080F1570: ldr r4, _080F15A4 @ =gEmptyString_81E72B0 adds r0, r6, 0 adds r1, r4, 0 movs r2, 0x80 movs r3, 0 bl sub_8072C74 adds r0, r7, 0 adds r1, r4, 0 movs r2, 0x80 movs r3, 0 bl sub_8072C74 _080F158A: adds r0, r6, 0 movs r1, 0xC movs r2, 0xD bl MenuPrint adds r0, r7, 0 movs r1, 0xC movs r2, 0xF bl MenuPrint pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F15A4: .4byte gEmptyString_81E72B0 thumb_func_end sub_80F1494 thumb_func_start sub_80F15A8 sub_80F15A8: @ 80F15A8 push {r4,r5,lr} movs r0, 0xC movs r1, 0xD movs r2, 0x1B movs r3, 0x10 bl MenuZeroFillWindowRect ldr r0, _080F1600 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r0, _080F1604 @ =0x00008788 adds r5, r4, r0 ldr r1, _080F1608 @ =gOtherText_Ribbons adds r0, r5, 0 bl StringCopy adds r2, r0, 0 movs r0, 0 strb r0, [r2] adds r2, 0x1 ldr r1, _080F160C @ =0x000087dc adds r0, r4, r1 movs r1, 0 ldrsh r0, [r0, r1] lsls r0, 2 adds r4, r0 ldr r0, _080F1610 @ =0x0000893c adds r4, r0 ldrb r1, [r4] adds r0, r2, 0 movs r2, 0 movs r3, 0x2 bl ConvertIntToDecimalStringN adds r2, r0, 0 movs r0, 0xFF strb r0, [r2] adds r0, r5, 0 movs r1, 0xC movs r2, 0xD bl MenuPrint pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F1600: .4byte gUnknown_083DFEC4 _080F1604: .4byte 0x00008788 _080F1608: .4byte gOtherText_Ribbons _080F160C: .4byte 0x000087dc _080F1610: .4byte 0x0000893c thumb_func_end sub_80F15A8 thumb_func_start sub_80F1614 sub_80F1614: @ 80F1614 ldr r0, _080F1624 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F1628 @ =0x00008764 adds r0, r1 movs r1, 0 strh r1, [r0] bx lr .align 2, 0 _080F1624: .4byte gUnknown_083DFEC4 _080F1628: .4byte 0x00008764 thumb_func_end sub_80F1614 thumb_func_start sub_80F162C sub_80F162C: @ 80F162C push {lr} lsls r0, 24 lsrs r1, r0, 24 ldr r0, _080F164C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F1650 @ =0x00008764 adds r0, r2 ldrh r0, [r0] cmp r0, 0x1 beq _080F165E cmp r0, 0x1 bgt _080F1654 cmp r0, 0 beq _080F16F0 b _080F16D0 .align 2, 0 _080F164C: .4byte gUnknown_083DFEC4 _080F1650: .4byte 0x00008764 _080F1654: cmp r0, 0x2 beq _080F1670 cmp r0, 0x3 beq _080F1694 b _080F16D0 _080F165E: ldr r0, _080F1668 @ =gUnknown_08E9FF58 ldr r1, _080F166C @ =0x0600e800 bl LZ77UnCompVram b _080F16F0 .align 2, 0 _080F1668: .4byte gUnknown_08E9FF58 _080F166C: .4byte 0x0600e800 _080F1670: ldr r1, _080F1684 @ =gPokenavRibbonPokeView_Gfx ldr r2, _080F1688 @ =0x0600e000 ldr r0, _080F168C @ =0x040000d4 str r1, [r0] str r2, [r0, 0x4] ldr r1, _080F1690 @ =0x80000070 str r1, [r0, 0x8] ldr r0, [r0, 0x8] b _080F16F0 .align 2, 0 _080F1684: .4byte gPokenavRibbonPokeView_Gfx _080F1688: .4byte 0x0600e000 _080F168C: .4byte 0x040000d4 _080F1690: .4byte 0x80000070 _080F1694: cmp r1, 0 bne _080F16A8 ldr r0, _080F16A4 @ =gUnknown_083E0124 movs r1, 0xD0 movs r2, 0x20 bl LoadPalette b _080F16B2 .align 2, 0 _080F16A4: .4byte gUnknown_083E0124 _080F16A8: ldr r0, _080F16D4 @ =gUnknown_083E0144 movs r1, 0xD0 movs r2, 0x20 bl LoadPalette _080F16B2: ldr r0, _080F16D8 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r3, _080F16DC @ =0x00008766 adds r2, r1, r3 ldr r0, _080F16E0 @ =0x0000ffb0 strh r0, [r2] ldr r2, _080F16E4 @ =REG_BG0CNT ldr r3, _080F16E8 @ =0x00001d0d adds r0, r3, 0 strh r0, [r2] ldr r0, _080F16EC @ =0x00008764 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080F16D0: movs r0, 0 b _080F1700 .align 2, 0 _080F16D4: .4byte gUnknown_083E0144 _080F16D8: .4byte gUnknown_083DFEC4 _080F16DC: .4byte 0x00008766 _080F16E0: .4byte 0x0000ffb0 _080F16E4: .4byte REG_BG0CNT _080F16E8: .4byte 0x00001d0d _080F16EC: .4byte 0x00008764 _080F16F0: ldr r0, _080F1704 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F1708 @ =0x00008764 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] movs r0, 0x1 _080F1700: pop {r1} bx r1 .align 2, 0 _080F1704: .4byte gUnknown_083DFEC4 _080F1708: .4byte 0x00008764 thumb_func_end sub_80F162C thumb_func_start sub_80F170C sub_80F170C: @ 80F170C push {lr} ldr r0, _080F1734 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F1738 @ =0x00008766 adds r1, r0, r2 ldrh r0, [r1] adds r0, 0x10 strh r0, [r1] lsls r0, 16 cmp r0, 0 ble _080F1726 movs r0, 0 strh r0, [r1] _080F1726: movs r0, 0 ldrsh r1, [r1, r0] negs r0, r1 orrs r0, r1 lsrs r0, 31 pop {r1} bx r1 .align 2, 0 _080F1734: .4byte gUnknown_083DFEC4 _080F1738: .4byte 0x00008766 thumb_func_end sub_80F170C thumb_func_start sub_80F173C sub_80F173C: @ 80F173C push {lr} ldr r0, _080F176C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F1770 @ =0x00008766 adds r1, r0, r2 ldrh r0, [r1] subs r0, 0x10 strh r0, [r1] lsls r0, 16 asrs r0, 16 movs r2, 0x50 negs r2, r2 cmp r0, r2 bge _080F175C ldr r0, _080F1774 @ =0x0000ffb0 strh r0, [r1] _080F175C: movs r0, 0 ldrsh r1, [r1, r0] eors r1, r2 negs r0, r1 orrs r0, r1 lsrs r0, 31 pop {r1} bx r1 .align 2, 0 _080F176C: .4byte gUnknown_083DFEC4 _080F1770: .4byte 0x00008766 _080F1774: .4byte 0x0000ffb0 thumb_func_end sub_80F173C thumb_func_start sub_80F1778 sub_80F1778: @ 80F1778 push {r4,lr} sub sp, 0x14 ldr r0, _080F1798 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F179C @ =0x0000d160 adds r0, r1 ldrh r0, [r0] cmp r0, 0x9 bls _080F178C b _080F1910 _080F178C: lsls r0, 2 ldr r1, _080F17A0 @ =_080F17A4 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080F1798: .4byte gUnknown_083DFEC4 _080F179C: .4byte 0x0000d160 _080F17A0: .4byte _080F17A4 .align 2, 0 _080F17A4: .4byte _080F17CC .4byte _080F17E8 .4byte _080F17EE .4byte _080F17FE .4byte _080F1810 .4byte _080F1830 .4byte _080F1858 .4byte _080F186C .4byte _080F18B8 .4byte _080F18D8 _080F17CC: bl sub_80EEDE8 ldr r0, _080F17E0 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F17E4 @ =0x0000d162 adds r0, r2 movs r1, 0x2 strb r1, [r0] b _080F1914 .align 2, 0 _080F17E0: .4byte gUnknown_083DFEC4 _080F17E4: .4byte 0x0000d162 _080F17E8: bl sub_80F1614 b _080F1914 _080F17EE: movs r0, 0 bl sub_80F162C lsls r0, 24 cmp r0, 0 bne _080F17FC b _080F1914 _080F17FC: b _080F1922 _080F17FE: ldr r0, _080F1808 @ =gPokenavConditionView_Gfx ldr r1, _080F180C @ =0x06005000 bl LZ77UnCompVram b _080F1914 .align 2, 0 _080F1808: .4byte gPokenavConditionView_Gfx _080F180C: .4byte 0x06005000 _080F1810: ldr r0, _080F1824 @ =gUnknown_08E9AC4C ldr r1, _080F1828 @ =0x0600f000 bl LZ77UnCompVram ldr r0, _080F182C @ =gPokenavConditionMenu2_Pal movs r1, 0x20 movs r2, 0x20 bl LoadPalette b _080F1914 .align 2, 0 _080F1824: .4byte gUnknown_08E9AC4C _080F1828: .4byte 0x0600f000 _080F182C: .4byte gPokenavConditionMenu2_Pal _080F1830: ldr r0, _080F1850 @ =0x0600f000 ldr r3, _080F1854 @ =gUnknown_083E01F4 movs r1, 0 str r1, [sp] str r1, [sp, 0x4] movs r2, 0xC str r2, [sp, 0x8] movs r1, 0x4 str r1, [sp, 0xC] str r2, [sp, 0x10] movs r1, 0 movs r2, 0xD bl sub_8095C8C b _080F1914 .align 2, 0 _080F1850: .4byte 0x0600f000 _080F1854: .4byte gUnknown_083E01F4 _080F1858: ldr r0, _080F1864 @ =gUnknown_08E9FEB4 ldr r1, _080F1868 @ =0x0600b800 bl LZ77UnCompVram b _080F1914 .align 2, 0 _080F1864: .4byte gUnknown_08E9FEB4 _080F1868: .4byte 0x0600b800 _080F186C: ldr r0, _080F18AC @ =gUnknown_083E0254 movs r1, 0x30 movs r2, 0x20 bl LoadPalette ldr r0, _080F18B0 @ =gUnknownPalette_81E6692 movs r1, 0xB0 movs r2, 0x20 bl LoadPalette ldr r4, _080F18B4 @ =gPokenavConditionMenu2_Pal + 0x2 adds r0, r4, 0 movs r1, 0xB1 movs r2, 0x2 bl LoadPalette adds r0, r4, 0 adds r0, 0xE movs r1, 0xB5 movs r2, 0x2 bl LoadPalette adds r4, 0x1C adds r0, r4, 0 movs r1, 0xBF movs r2, 0x2 bl LoadPalette bl sub_80F01A4 b _080F1914 .align 2, 0 _080F18AC: .4byte gUnknown_083E0254 _080F18B0: .4byte gUnknownPalette_81E6692 _080F18B4: .4byte gPokenavConditionMenu2_Pal + 0x2 _080F18B8: ldr r0, _080F18D0 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F18D4 @ =0x00008fe9 adds r0, r1 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 lsls r0, 16 lsrs r0, 16 bl sub_80F01E0 b _080F1914 .align 2, 0 _080F18D0: .4byte gUnknown_083DFEC4 _080F18D4: .4byte 0x00008fe9 _080F18D8: ldr r1, _080F18FC @ =REG_BG3CNT ldr r2, _080F1900 @ =0x00001e03 adds r0, r2, 0 strh r0, [r1] subs r1, 0x2 ldr r2, _080F1904 @ =0x00001702 adds r0, r2, 0 strh r0, [r1] adds r1, 0x44 ldr r2, _080F1908 @ =0x00000844 adds r0, r2, 0 strh r0, [r1] adds r1, 0x2 ldr r2, _080F190C @ =0x0000040b adds r0, r2, 0 strh r0, [r1] b _080F1914 .align 2, 0 _080F18FC: .4byte REG_BG3CNT _080F1900: .4byte 0x00001e03 _080F1904: .4byte 0x00001702 _080F1908: .4byte 0x00000844 _080F190C: .4byte 0x0000040b _080F1910: movs r0, 0 b _080F1924 _080F1914: ldr r0, _080F192C @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F1930 @ =0x0000d160 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080F1922: movs r0, 0x1 _080F1924: add sp, 0x14 pop {r4} pop {r1} bx r1 .align 2, 0 _080F192C: .4byte gUnknown_083DFEC4 _080F1930: .4byte 0x0000d160 thumb_func_end sub_80F1778 thumb_func_start sub_80F1934 sub_80F1934: @ 80F1934 push {r4,r5,lr} ldr r0, _080F1990 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F1994 @ =0x00008788 adds r5, r1, r0 ldr r3, _080F1998 @ =0x000087dc adds r2, r1, r3 movs r3, 0 ldrsh r0, [r2, r3] lsls r0, 2 adds r1, r0 ldr r0, _080F199C @ =0x0000893f adds r1, r0 ldrb r0, [r1] lsls r0, 25 cmp r0, 0 bge _080F19AC ldrb r0, [r2] bl sub_8137124 lsls r0, 24 lsrs r0, 24 movs r1, 0x64 muls r0, r1 ldr r1, _080F19A0 @ =gPlayerParty adds r0, r1 bl GetNature adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r1, _080F19A4 @ =gOtherText_Nature2 adds r0, r5, 0 bl StringCopy adds r5, r0, 0 ldr r0, _080F19A8 @ =gNatureNames lsls r4, 2 adds r4, r0 ldr r1, [r4] adds r0, r5, 0 movs r2, 0x57 movs r3, 0 bl sub_8072C74 b _080F19B8 .align 2, 0 _080F1990: .4byte gUnknown_083DFEC4 _080F1994: .4byte 0x00008788 _080F1998: .4byte 0x000087dc _080F199C: .4byte 0x0000893f _080F19A0: .4byte gPlayerParty _080F19A4: .4byte gOtherText_Nature2 _080F19A8: .4byte gNatureNames _080F19AC: ldr r1, _080F19D0 @ =gEmptyString_81E72B0 adds r0, r5, 0 movs r2, 0x57 movs r3, 0 bl sub_8072C74 _080F19B8: ldr r0, _080F19D4 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F19D8 @ =0x00008788 adds r0, r1 movs r1, 0x1 movs r2, 0x70 movs r3, 0x1 bl MenuPrint_PixelCoords pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F19D0: .4byte gEmptyString_81E72B0 _080F19D4: .4byte gUnknown_083DFEC4 _080F19D8: .4byte 0x00008788 thumb_func_end sub_80F1934 thumb_func_start sub_80F19DC sub_80F19DC: @ 80F19DC push {lr} adds r1, r0, 0 b _080F19E4 _080F19E2: adds r1, 0x1 _080F19E4: ldrb r0, [r1] cmp r0, 0xFF beq _080F19F8 cmp r0, 0xFC bne _080F19E2 ldrb r0, [r1, 0x1] cmp r0, 0 bne _080F19E2 movs r0, 0xFF strb r0, [r1] _080F19F8: pop {r0} bx r0 thumb_func_end sub_80F19DC thumb_func_start sub_80F19FC sub_80F19FC: @ 80F19FC push {r4,r5,lr} sub sp, 0x4 ldr r5, _080F1A68 @ =gUnknown_020388B0 ldrb r4, [r5] cmp r4, 0x1 bne _080F1A60 ldr r0, _080F1A6C @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F1A70 @ =0x00006e2c adds r0, r1, r2 ldrb r0, [r0] adds r2, 0x3 adds r1, r2 ldrb r1, [r1] ldrb r2, [r5, 0x1] bl GetLandmarkName cmp r0, 0 beq _080F1A46 ldrb r2, [r5, 0x1] lsls r2, 20 movs r1, 0xC0 lsls r1, 14 adds r2, r1 lsrs r2, 16 str r4, [sp] movs r1, 0x70 movs r3, 0x78 bl sub_8072A18 ldrb r0, [r5, 0x1] adds r0, 0x1 strb r0, [r5, 0x1] lsls r0, 24 lsrs r0, 24 cmp r0, 0x4 bne _080F1A60 _080F1A46: ldrb r1, [r5, 0x1] lsls r1, 25 movs r2, 0xC0 lsls r2, 19 adds r1, r2 lsrs r1, 24 movs r0, 0xE movs r2, 0x1C movs r3, 0xF bl MenuFillWindowRectWithBlankTile movs r0, 0 strb r0, [r5] _080F1A60: add sp, 0x4 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F1A68: .4byte gUnknown_020388B0 _080F1A6C: .4byte gUnknown_083DFEC4 _080F1A70: .4byte 0x00006e2c thumb_func_end sub_80F19FC thumb_func_start sub_80F1A74 sub_80F1A74: @ 80F1A74 ldr r1, _080F1A7C @ =gUnknown_020388B0 movs r0, 0 strb r0, [r1] bx lr .align 2, 0 _080F1A7C: .4byte gUnknown_020388B0 thumb_func_end sub_80F1A74 thumb_func_start sub_80F1A80 sub_80F1A80: @ 80F1A80 ldr r0, _080F1A8C @ =gUnknown_020388B0 movs r2, 0 movs r1, 0x1 strb r1, [r0] strb r2, [r0, 0x1] bx lr .align 2, 0 _080F1A8C: .4byte gUnknown_020388B0 thumb_func_end sub_80F1A80 thumb_func_start sub_80F1A90 sub_80F1A90: @ 80F1A90 push {lr} ldr r0, _080F1AB8 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F1ABC @ =0x00000306 adds r2, r0, r1 movs r1, 0 strh r1, [r2] ldr r1, _080F1AC0 @ =0x00006dac adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080F1AB2 _080F1AA8: bl sub_80F1AC4 lsls r0, 24 cmp r0, 0 bne _080F1AA8 _080F1AB2: pop {r0} bx r0 .align 2, 0 _080F1AB8: .4byte gUnknown_083DFEC4 _080F1ABC: .4byte 0x00000306 _080F1AC0: .4byte 0x00006dac thumb_func_end sub_80F1A90 thumb_func_start sub_80F1AC4 sub_80F1AC4: @ 80F1AC4 push {r4,r5,lr} ldr r0, _080F1AE0 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F1AE4 @ =0x00000306 adds r0, r1, r2 ldrh r0, [r0] cmp r0, 0x1 beq _080F1B34 cmp r0, 0x1 bgt _080F1AE8 cmp r0, 0 beq _080F1AF2 b _080F1B6C .align 2, 0 _080F1AE0: .4byte gUnknown_083DFEC4 _080F1AE4: .4byte 0x00000306 _080F1AE8: cmp r0, 0x2 beq _080F1B40 cmp r0, 0x3 beq _080F1B54 b _080F1B6C _080F1AF2: movs r0, 0 movs r2, 0xC8 lsls r2, 2 adds r4, r1, r2 movs r5, 0 _080F1AFC: movs r2, 0 adds r1, r0, 0x1 lsls r3, r0, 4 _080F1B02: lsls r0, r2, 2 adds r0, r3 adds r0, r4, r0 str r5, [r0] adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 cmp r2, 0x3 bls _080F1B02 lsls r0, r1, 16 lsrs r0, 16 cmp r0, 0x5 bls _080F1AFC ldr r0, _080F1B2C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F1B30 @ =0x00000311 adds r0, r1 movs r1, 0 strb r1, [r0] b _080F1B6C .align 2, 0 _080F1B2C: .4byte gUnknown_083DFEC4 _080F1B30: .4byte 0x00000311 _080F1B34: ldr r0, _080F1B3C @ =gPokenavMenuOptions_Gfx movs r2, 0xE2 lsls r2, 2 b _080F1B44 .align 2, 0 _080F1B3C: .4byte gPokenavMenuOptions_Gfx _080F1B40: ldr r0, _080F1B4C @ =gPokenavConditionMenu_Gfx ldr r2, _080F1B50 @ =0x00001788 _080F1B44: adds r1, r2 bl LZ77UnCompWram b _080F1B6C .align 2, 0 _080F1B4C: .4byte gPokenavConditionMenu_Gfx _080F1B50: .4byte 0x00001788 _080F1B54: ldr r0, _080F1B64 @ =gPokenavConditionSearch_Gfx ldr r2, _080F1B68 @ =0x00002388 adds r1, r2 bl LZ77UnCompWram movs r0, 0 b _080F1B7C .align 2, 0 _080F1B64: .4byte gPokenavConditionSearch_Gfx _080F1B68: .4byte 0x00002388 _080F1B6C: ldr r0, _080F1B84 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F1B88 @ =0x00000306 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] movs r0, 0x1 _080F1B7C: pop {r4,r5} pop {r1} bx r1 .align 2, 0 _080F1B84: .4byte gUnknown_083DFEC4 _080F1B88: .4byte 0x00000306 thumb_func_end sub_80F1AC4 thumb_func_start sub_80F1B8C sub_80F1B8C: @ 80F1B8C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080F1BBC @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F1BC0 @ =0x00000306 adds r2, r0, r1 movs r1, 0 strh r1, [r2] ldr r1, _080F1BC4 @ =0x00006dac adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080F1BB4 _080F1BA8: adds r0, r4, 0 bl sub_80F1BC8 lsls r0, 24 cmp r0, 0 bne _080F1BA8 _080F1BB4: pop {r4} pop {r0} bx r0 .align 2, 0 _080F1BBC: .4byte gUnknown_083DFEC4 _080F1BC0: .4byte 0x00000306 _080F1BC4: .4byte 0x00006dac thumb_func_end sub_80F1B8C thumb_func_start sub_80F1BC8 sub_80F1BC8: @ 80F1BC8 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0xC lsls r0, 24 lsrs r0, 24 mov r9, r0 ldr r1, _080F1BF4 @ =gUnknown_083DFEC4 ldr r2, [r1] ldr r3, _080F1BF8 @ =0x00000306 adds r0, r2, r3 ldrh r0, [r0] adds r3, r1, 0 cmp r0, 0x1 beq _080F1C0A cmp r0, 0x1 bgt _080F1BFC cmp r0, 0 beq _080F1C02 b _080F1DC4 .align 2, 0 _080F1BF4: .4byte gUnknown_083DFEC4 _080F1BF8: .4byte 0x00000306 _080F1BFC: cmp r0, 0x2 beq _080F1C12 b _080F1DC4 _080F1C02: mov r0, r9 bl sub_80F2458 b _080F1DC8 _080F1C0A: mov r0, r9 bl sub_80F2514 b _080F1DC8 _080F1C12: mov r4, r9 cmp r4, 0x1 beq _080F1C40 cmp r4, 0x1 bgt _080F1C22 cmp r4, 0 beq _080F1C2A b _080F1DC4 _080F1C22: mov r5, r9 cmp r5, 0x2 beq _080F1C54 b _080F1DC4 _080F1C2A: movs r0, 0x2A str r0, [sp, 0x4] movs r1, 0x14 str r1, [sp, 0x8] ldr r4, _080F1C3C @ =0x0000030e adds r1, r2, r4 movs r0, 0x5 b _080F1C62 .align 2, 0 _080F1C3C: .4byte 0x0000030e _080F1C40: movs r5, 0x38 str r5, [sp, 0x4] movs r0, 0x14 str r0, [sp, 0x8] ldr r4, _080F1C50 @ =0x0000030e adds r1, r2, r4 movs r0, 0x3 b _080F1C62 .align 2, 0 _080F1C50: .4byte 0x0000030e _080F1C54: movs r5, 0x28 str r5, [sp, 0x4] movs r0, 0x10 str r0, [sp, 0x8] ldr r4, _080F1CDC @ =0x0000030e adds r1, r2, r4 movs r0, 0x6 _080F1C62: strb r0, [r1] movs r5, 0 str r5, [sp] mov r8, r5 adds r1, r3, 0 ldr r0, [r1] ldr r2, _080F1CDC @ =0x0000030e adds r0, r2 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r8, r0 blt _080F1C7E b _080F1DC8 _080F1C7E: ldr r4, [sp, 0x8] mov r3, r8 muls r3, r4 ldr r5, [sp, 0x4] adds r0, r5, r3 subs r0, 0x8 lsls r0, 16 lsrs r0, 16 ldr r4, [r1] mov r2, r8 lsls r1, r2, 1 movs r5, 0xC5 lsls r5, 2 adds r2, r4, r5 adds r2, r1 lsls r1, r0, 8 adds r0, 0x11 orrs r1, r0 strh r1, [r2] mov r0, r9 cmp r0, 0 bne _080F1CF2 ldr r1, _080F1CE0 @ =0x00006db2 adds r0, r4, r1 mov r2, r8 adds r1, r0, r2 ldrb r0, [r1] cmp r0, 0 bne _080F1CE8 movs r5, 0 ldr r0, _080F1CE4 @ =gUnknown_083DFEC4 ldr r0, [r0] lsls r2, 4 movs r3, 0xC8 lsls r3, 2 adds r1, r0, r3 movs r3, 0 _080F1CC8: lsls r0, r5, 2 adds r0, r2 adds r0, r1, r0 str r3, [r0] adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0x3 bls _080F1CC8 b _080F1D92 .align 2, 0 _080F1CDC: .4byte 0x0000030e _080F1CE0: .4byte 0x00006db2 _080F1CE4: .4byte gUnknown_083DFEC4 _080F1CE8: ldrb r0, [r1] subs r0, 0x1 lsls r0, 18 lsrs r0, 16 str r0, [sp] _080F1CF2: movs r5, 0 ldr r4, [sp, 0x4] adds r0, r4, r3 lsls r0, 16 mov r10, r0 _080F1CFC: lsls r6, r5, 5 movs r0, 0x80 lsls r0, 1 adds r7, r6, r0 lsls r1, r7, 16 asrs r1, 16 ldr r0, _080F1DB4 @ =gSpriteTemplate_83E4454 mov r3, r10 asrs r2, r3, 16 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0x40 beq _080F1DC4 ldr r0, _080F1DB8 @ =gUnknown_083DFEC4 ldr r2, [r0] lsls r1, r5, 2 mov r4, r8 lsls r0, r4, 4 adds r1, r0 movs r0, 0xC8 lsls r0, 2 adds r2, r0 adds r4, r2, r1 lsls r0, r3, 4 adds r0, r3 lsls r0, 2 ldr r1, _080F1DBC @ =gSprites adds r0, r1 str r0, [r4] mov r1, r8 strh r1, [r0, 0x2E] ldr r0, [r4] strh r5, [r0, 0x30] ldr r1, [r4] adds r0, r6, 0 adds r0, 0x98 strh r0, [r1, 0x32] ldr r0, [r4] strh r7, [r0, 0x34] ldr r0, [r4] ldr r1, [sp] adds r2, r1, 0x1 lsls r2, 16 lsrs r2, 16 str r2, [sp] lsls r1, 24 lsrs r1, 24 bl StartSpriteAnim mov r2, r9 cmp r2, 0x2 beq _080F1D6E cmp r2, 0 bne _080F1D88 _080F1D6E: mov r3, r8 cmp r3, 0x2 bls _080F1D88 movs r0, 0x1 bl IndexOfSpritePaletteTag ldr r3, [r4] lsls r0, 4 ldrb r2, [r3, 0x5] movs r1, 0xF ands r1, r2 orrs r1, r0 strb r1, [r3, 0x5] _080F1D88: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0x3 bls _080F1CFC _080F1D92: mov r0, r8 adds r0, 0x1 lsls r0, 16 lsrs r0, 16 mov r8, r0 ldr r1, _080F1DB8 @ =gUnknown_083DFEC4 ldr r0, [r1] ldr r4, _080F1DC0 @ =0x0000030e adds r0, r4 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r8, r0 bge _080F1DB0 b _080F1C7E _080F1DB0: b _080F1DC8 .align 2, 0 _080F1DB4: .4byte gSpriteTemplate_83E4454 _080F1DB8: .4byte gUnknown_083DFEC4 _080F1DBC: .4byte gSprites _080F1DC0: .4byte 0x0000030e _080F1DC4: movs r0, 0 b _080F1DD8 _080F1DC8: ldr r0, _080F1DE8 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r5, _080F1DEC @ =0x00000306 adds r1, r5 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] movs r0, 0x1 _080F1DD8: add sp, 0xC pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r1} bx r1 .align 2, 0 _080F1DE8: .4byte gUnknown_083DFEC4 _080F1DEC: .4byte 0x00000306 thumb_func_end sub_80F1BC8 thumb_func_start sub_80F1DF0 sub_80F1DF0: @ 80F1DF0 push {r4-r6,lr} movs r2, 0 ldr r0, _080F1E44 @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r0, _080F1E48 @ =0x0000030e adds r1, r3, r0 movs r0, 0 ldrsb r0, [r1, r0] cmp r2, r0 bge _080F1E38 movs r0, 0xC8 lsls r0, 2 adds r4, r3, r0 adds r6, r1, 0 ldr r5, _080F1E4C @ =sub_80F2218 _080F1E0E: movs r1, 0 adds r3, r2, 0x1 lsls r2, 4 _080F1E14: lsls r0, r1, 2 adds r0, r2 adds r0, r4, r0 ldr r0, [r0] cmp r0, 0 beq _080F1E22 str r5, [r0, 0x1C] _080F1E22: adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0x3 bls _080F1E14 lsls r0, r3, 16 lsrs r2, r0, 16 movs r0, 0 ldrsb r0, [r6, r0] cmp r2, r0 blt _080F1E0E _080F1E38: movs r0, 0x6 bl PlaySE pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080F1E44: .4byte gUnknown_083DFEC4 _080F1E48: .4byte 0x0000030e _080F1E4C: .4byte sub_80F2218 thumb_func_end sub_80F1DF0 thumb_func_start sub_80F1E50 sub_80F1E50: @ 80F1E50 push {lr} bl sub_80F22F8 lsls r0, 24 cmp r0, 0 bne _080F1E60 movs r0, 0x1 b _080F1E66 _080F1E60: bl sub_80F2108 movs r0, 0 _080F1E66: pop {r1} bx r1 thumb_func_end sub_80F1E50 thumb_func_start sub_80F1E6C sub_80F1E6C: @ 80F1E6C push {lr} bl sub_80F22F8 movs r1, 0 lsls r0, 24 cmp r0, 0 bne _080F1E7C movs r1, 0x1 _080F1E7C: adds r0, r1, 0 pop {r1} bx r1 thumb_func_end sub_80F1E6C thumb_func_start sub_80F1E84 sub_80F1E84: @ 80F1E84 push {r4-r7,lr} mov r7, r8 push {r7} ldr r5, _080F1EFC @ =gUnknown_083DFEC4 ldr r4, [r5] ldr r1, _080F1F00 @ =0x0000030f adds r0, r4, r1 movs r1, 0 strb r1, [r0] bl sub_80F2148 movs r2, 0 ldr r3, _080F1F04 @ =0x0000030e adds r1, r4, r3 movs r0, 0 ldrsb r0, [r1, r0] cmp r2, r0 bge _080F1EF2 ldr r0, _080F1F08 @ =0x00006dad adds r7, r4, r0 adds r6, r1, 0 mov r8, r5 ldr r1, _080F1F0C @ =sub_80F2240 mov r12, r1 _080F1EB4: movs r0, 0 ldrsb r0, [r7, r0] adds r5, r2, 0x1 cmp r2, r0 beq _080F1EE6 movs r1, 0 mov r3, r8 ldr r0, [r3] lsls r3, r2, 4 movs r4, 0xC8 lsls r4, 2 adds r2, r0, r4 mov r4, r12 _080F1ECE: lsls r0, r1, 2 adds r0, r3 adds r0, r2, r0 ldr r0, [r0] cmp r0, 0 beq _080F1EDC str r4, [r0, 0x1C] _080F1EDC: adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0x3 bls _080F1ECE _080F1EE6: lsls r0, r5, 16 lsrs r2, r0, 16 movs r0, 0 ldrsb r0, [r6, r0] cmp r2, r0 blt _080F1EB4 _080F1EF2: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F1EFC: .4byte gUnknown_083DFEC4 _080F1F00: .4byte 0x0000030f _080F1F04: .4byte 0x0000030e _080F1F08: .4byte 0x00006dad _080F1F0C: .4byte sub_80F2240 thumb_func_end sub_80F1E84 thumb_func_start sub_80F1F10 sub_80F1F10: @ 80F1F10 push {r4-r7,lr} mov r7, r8 push {r7} ldr r0, _080F1F2C @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F1F30 @ =0x0000030f adds r0, r4, r1 ldrb r0, [r0] cmp r0, 0 beq _080F1F34 cmp r0, 0x1 beq _080F1FC0 b _080F1FE4 .align 2, 0 _080F1F2C: .4byte gUnknown_083DFEC4 _080F1F30: .4byte 0x0000030f _080F1F34: bl sub_80F2360 lsls r0, 24 cmp r0, 0 beq _080F1FE4 movs r6, 0 adds r7, r4, 0 movs r0, 0xC8 lsls r0, 2 adds r0, r7 mov r8, r0 _080F1F4A: lsls r5, r6, 2 ldr r1, _080F1FAC @ =0x00006dad adds r0, r7, r1 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 lsls r0, 4 adds r0, r5, r0 add r0, r8 ldr r4, [r0] ldrb r0, [r4, 0x1] movs r1, 0x3 orrs r0, r1 strb r0, [r4, 0x1] ldr r0, _080F1FB0 @ =gSpriteAffineAnimTable_83E4450 str r0, [r4, 0x10] adds r0, r4, 0 bl InitSpriteAffineAnim subs r5, 0x6 strh r5, [r4, 0x36] movs r1, 0x36 ldrsh r0, [r4, r1] lsrs r1, r0, 31 adds r0, r1 asrs r0, 1 strh r0, [r4, 0x36] movs r1, 0x36 ldrsh r0, [r4, r1] lsls r0, 3 strh r0, [r4, 0x38] ldr r0, _080F1FB4 @ =sub_80F2240 str r0, [r4, 0x1C] adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 cmp r6, 0x3 bls _080F1F4A bl sub_80F2170 ldr r0, _080F1FB8 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F1FBC @ =0x0000030f adds r1, r0 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _080F1FE4 .align 2, 0 _080F1FAC: .4byte 0x00006dad _080F1FB0: .4byte gSpriteAffineAnimTable_83E4450 _080F1FB4: .4byte sub_80F2240 _080F1FB8: .4byte gUnknown_083DFEC4 _080F1FBC: .4byte 0x0000030f _080F1FC0: bl sub_80F23C8 lsls r0, 24 cmp r0, 0 beq _080F1FE4 bl sub_80F21F8 movs r0, 0 bl FreeSpriteTilesByTag movs r0, 0 bl FreeSpritePaletteByTag movs r0, 0x1 bl FreeSpritePaletteByTag movs r0, 0 b _080F1FE6 _080F1FE4: movs r0, 0x1 _080F1FE6: pop {r3} mov r8, r3 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_80F1F10 thumb_func_start sub_80F1FF0 sub_80F1FF0: @ 80F1FF0 push {r4,lr} ldr r0, _080F203C @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F2040 @ =0x00000311 adds r0, r4, r1 ldrb r0, [r0] cmp r0, 0x1 bne _080F2058 ldr r2, _080F2044 @ =REG_WIN0V ldr r3, _080F2048 @ =0x00006dad adds r0, r4, r3 movs r1, 0 ldrsb r1, [r0, r1] lsls r1, 1 movs r3, 0xC5 lsls r3, 2 adds r0, r4, r3 adds r0, r1 ldrh r0, [r0] strh r0, [r2] ldr r3, _080F204C @ =REG_BLDY ldr r1, _080F2050 @ =gSineTable ldr r0, _080F2054 @ =0x00000312 adds r2, r4, r0 ldrh r0, [r2] lsls r0, 1 adds r0, r1 ldrh r0, [r0] lsls r0, 16 asrs r0, 21 strh r0, [r3] ldrh r0, [r2] adds r0, 0x3 movs r1, 0x7F ands r0, r1 strh r0, [r2] b _080F2078 .align 2, 0 _080F203C: .4byte gUnknown_083DFEC4 _080F2040: .4byte 0x00000311 _080F2044: .4byte REG_WIN0V _080F2048: .4byte 0x00006dad _080F204C: .4byte REG_BLDY _080F2050: .4byte gSineTable _080F2054: .4byte 0x00000312 _080F2058: cmp r0, 0x2 bne _080F2078 ldr r2, _080F2080 @ =REG_BLDALPHA ldr r1, _080F2084 @ =gUnknown_083E42F8 ldr r0, _080F2088 @ =0x00000312 adds r3, r4, r0 ldrh r0, [r3] lsls r0, 1 adds r0, r1 ldrh r0, [r0] strh r0, [r2] ldrh r0, [r3] cmp r0, 0xE bhi _080F2078 adds r0, 0x1 strh r0, [r3] _080F2078: pop {r4} pop {r0} bx r0 .align 2, 0 _080F2080: .4byte REG_BLDALPHA _080F2084: .4byte gUnknown_083E42F8 _080F2088: .4byte 0x00000312 thumb_func_end sub_80F1FF0 thumb_func_start sub_80F208C sub_80F208C: @ 80F208C push {lr} bl sub_80F2148 pop {r0} bx r0 thumb_func_end sub_80F208C thumb_func_start sub_80F2098 sub_80F2098: @ 80F2098 ldr r1, _080F20DC @ =REG_WIN0H ldr r2, _080F20E0 @ =0x000077f0 adds r0, r2, 0 strh r0, [r1] ldr r2, _080F20E4 @ =REG_WIN0V ldr r0, _080F20E8 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r3, _080F20EC @ =0x00006dad adds r0, r1, r3 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 lsls r0, 1 movs r3, 0xC5 lsls r3, 2 adds r1, r3 adds r1, r0 ldrh r0, [r1] strh r0, [r2] ldr r1, _080F20F0 @ =REG_WININ movs r0, 0x3F strh r0, [r1] adds r1, 0x2 movs r0, 0x1F strh r0, [r1] subs r2, 0x44 ldrh r0, [r2] movs r3, 0x80 lsls r3, 6 adds r1, r3, 0 orrs r0, r1 strh r0, [r2] bx lr .align 2, 0 _080F20DC: .4byte REG_WIN0H _080F20E0: .4byte 0x000077f0 _080F20E4: .4byte REG_WIN0V _080F20E8: .4byte gUnknown_083DFEC4 _080F20EC: .4byte 0x00006dad _080F20F0: .4byte REG_WININ thumb_func_end sub_80F2098 thumb_func_start sub_80F20F4 sub_80F20F4: @ 80F20F4 movs r2, 0x80 lsls r2, 19 ldrh r1, [r2] ldr r0, _080F2104 @ =0x0000dfff ands r0, r1 strh r0, [r2] bx lr .align 2, 0 _080F2104: .4byte 0x0000dfff thumb_func_end sub_80F20F4 thumb_func_start sub_80F2108 sub_80F2108: @ 80F2108 push {lr} ldr r0, _080F2134 @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r0, _080F2138 @ =0x00000311 adds r1, r3, r0 ldrb r2, [r1] cmp r2, 0 bne _080F2130 movs r0, 0x1 strb r0, [r1] ldr r1, _080F213C @ =0x00000312 adds r0, r3, r1 strh r2, [r0] ldr r1, _080F2140 @ =REG_BLDCNT movs r0, 0x90 strh r0, [r1] ldr r0, _080F2144 @ =REG_BLDY strh r2, [r0] bl sub_80F2098 _080F2130: pop {r0} bx r0 .align 2, 0 _080F2134: .4byte gUnknown_083DFEC4 _080F2138: .4byte 0x00000311 _080F213C: .4byte 0x00000312 _080F2140: .4byte REG_BLDCNT _080F2144: .4byte REG_BLDY thumb_func_end sub_80F2108 thumb_func_start sub_80F2148 sub_80F2148: @ 80F2148 push {lr} ldr r0, _080F2164 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2168 @ =0x00000311 adds r0, r1 movs r1, 0 strb r1, [r0] ldr r0, _080F216C @ =REG_BLDCNT strh r1, [r0] bl sub_80F20F4 pop {r0} bx r0 .align 2, 0 _080F2164: .4byte gUnknown_083DFEC4 _080F2168: .4byte 0x00000311 _080F216C: .4byte REG_BLDCNT thumb_func_end sub_80F2148 thumb_func_start sub_80F2170 sub_80F2170: @ 80F2170 push {r4-r7,lr} ldr r7, _080F21E4 @ =gUnknown_083DFEC4 ldr r4, [r7] ldr r1, _080F21E8 @ =0x00000311 adds r0, r4, r1 ldrb r0, [r0] cmp r0, 0 bne _080F21DC bl sub_80F20F4 movs r3, 0 ldr r2, _080F21EC @ =0x00006dad adds r5, r4, r2 movs r0, 0xC8 lsls r0, 2 adds r4, r0 movs r1, 0xD negs r1, r1 mov r12, r1 movs r6, 0x4 _080F2198: lsls r1, r3, 2 movs r0, 0 ldrsb r0, [r5, r0] lsls r0, 4 adds r1, r0 adds r1, r4, r1 ldr r2, [r1] ldrb r1, [r2, 0x1] mov r0, r12 ands r0, r1 orrs r0, r6 strb r0, [r2, 0x1] adds r0, r3, 0x1 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0x3 bls _080F2198 ldr r1, [r7] ldr r0, _080F21E8 @ =0x00000311 adds r2, r1, r0 movs r3, 0 movs r0, 0x2 strb r0, [r2] ldr r2, _080F21F0 @ =0x00000312 adds r1, r2 strh r3, [r1] ldr r1, _080F21F4 @ =REG_BLDCNT movs r2, 0xFD lsls r2, 6 adds r0, r2, 0 strh r0, [r1] adds r1, 0x2 movs r0, 0x10 strh r0, [r1] _080F21DC: pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F21E4: .4byte gUnknown_083DFEC4 _080F21E8: .4byte 0x00000311 _080F21EC: .4byte 0x00006dad _080F21F0: .4byte 0x00000312 _080F21F4: .4byte REG_BLDCNT thumb_func_end sub_80F2170 thumb_func_start sub_80F21F8 sub_80F21F8: @ 80F21F8 ldr r0, _080F220C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2210 @ =0x00000311 adds r0, r1 movs r1, 0 strb r1, [r0] ldr r0, _080F2214 @ =REG_BLDCNT strh r1, [r0] bx lr .align 2, 0 _080F220C: .4byte gUnknown_083DFEC4 _080F2210: .4byte 0x00000311 _080F2214: .4byte REG_BLDCNT thumb_func_end sub_80F21F8 thumb_func_start sub_80F2218 sub_80F2218: @ 80F2218 push {r4,lr} adds r2, r0, 0 ldrh r0, [r2, 0x20] subs r0, 0x8 strh r0, [r2, 0x20] lsls r0, 16 asrs r0, 16 ldrh r3, [r2, 0x32] movs r4, 0x32 ldrsh r1, [r2, r4] cmp r0, r1 bgt _080F2236 strh r3, [r2, 0x20] ldr r0, _080F223C @ =sub_80F22B0 str r0, [r2, 0x1C] _080F2236: pop {r4} pop {r0} bx r0 .align 2, 0 _080F223C: .4byte sub_80F22B0 thumb_func_end sub_80F2218 thumb_func_start sub_80F2240 sub_80F2240: @ 80F2240 push {r4,lr} adds r2, r0, 0 ldr r0, _080F2288 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F228C @ =0x00006dad adds r0, r1 movs r3, 0x2E ldrsh r1, [r2, r3] ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r1, r0 bne _080F2290 ldrh r3, [r2, 0x38] movs r4, 0x38 ldrsh r0, [r2, r4] cmp r0, 0 beq _080F2270 ldrh r0, [r2, 0x36] ldrh r4, [r2, 0x20] adds r1, r0, r4 strh r1, [r2, 0x20] subs r0, r3, r0 strh r0, [r2, 0x38] _080F2270: adds r0, r2, 0 adds r0, 0x3F ldrb r1, [r0] movs r0, 0x20 ands r0, r1 cmp r0, 0 beq _080F22A8 adds r0, r2, 0 bl sub_80F240C b _080F22A8 .align 2, 0 _080F2288: .4byte gUnknown_083DFEC4 _080F228C: .4byte 0x00006dad _080F2290: ldrh r0, [r2, 0x20] adds r0, 0x8 strh r0, [r2, 0x20] lsls r0, 16 asrs r0, 16 movs r3, 0x34 ldrsh r1, [r2, r3] cmp r0, r1 blt _080F22A8 adds r0, r2, 0 bl sub_80F240C _080F22A8: pop {r4} pop {r0} bx r0 thumb_func_end sub_80F2240 thumb_func_start sub_80F22B0 sub_80F22B0: @ 80F22B0 push {lr} adds r2, r0, 0 ldr r0, _080F22DC @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F22E0 @ =0x00006dad adds r0, r1 movs r3, 0x2E ldrsh r1, [r2, r3] ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r1, r0 bne _080F22E4 ldrh r3, [r2, 0x24] movs r0, 0x24 ldrsh r1, [r2, r0] movs r0, 0x10 negs r0, r0 cmp r1, r0 ble _080F22F2 subs r0, r3, 0x4 b _080F22F0 .align 2, 0 _080F22DC: .4byte gUnknown_083DFEC4 _080F22E0: .4byte 0x00006dad _080F22E4: ldrh r1, [r2, 0x24] movs r3, 0x24 ldrsh r0, [r2, r3] cmp r0, 0 bge _080F22F2 adds r0, r1, 0x4 _080F22F0: strh r0, [r2, 0x24] _080F22F2: pop {r0} bx r0 thumb_func_end sub_80F22B0 thumb_func_start sub_80F22F8 sub_80F22F8: @ 80F22F8 push {r4-r7,lr} movs r3, 0 ldr r0, _080F233C @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F2340 @ =0x00006dae adds r0, r1, r2 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r3, r0 bge _080F2358 movs r7, 0xC8 lsls r7, 2 adds r4, r1, r7 movs r5, 0x10 negs r5, r5 adds r6, r0, 0 _080F231A: movs r1, 0 lsls r2, r3, 4 _080F231E: lsls r0, r1, 2 adds r0, r2 adds r0, r4, r0 ldr r0, [r0] cmp r0, 0 beq _080F2358 movs r7, 0x24 ldrsh r0, [r0, r7] cmp r0, 0 beq _080F2344 cmp r0, r5 beq _080F2344 movs r0, 0 b _080F235A .align 2, 0 _080F233C: .4byte gUnknown_083DFEC4 _080F2340: .4byte 0x00006dae _080F2344: adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0x3 bls _080F231E adds r0, r3, 0x1 lsls r0, 16 lsrs r3, r0, 16 cmp r3, r6 blt _080F231A _080F2358: movs r0, 0x1 _080F235A: pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_80F22F8 thumb_func_start sub_80F2360 sub_80F2360: @ 80F2360 push {r4-r7,lr} movs r4, 0 ldr r0, _080F23A0 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r1, _080F23A4 @ =0x0000030e adds r0, r2, r1 movs r1, 0 ldrsb r1, [r0, r1] cmp r4, r1 bge _080F23C0 ldr r3, _080F23A8 @ =0x00006dad adds r0, r2, r3 movs r6, 0 ldrsb r6, [r0, r6] adds r5, r1, 0 _080F237E: cmp r4, r6 beq _080F23B6 movs r1, 0 ldr r0, _080F23A0 @ =gUnknown_083DFEC4 ldr r0, [r0] lsls r3, r4, 4 movs r7, 0xC8 lsls r7, 2 adds r2, r0, r7 _080F2390: lsls r0, r1, 2 adds r0, r3 adds r0, r2, r0 ldr r0, [r0] cmp r0, 0 beq _080F23AC movs r0, 0 b _080F23C2 .align 2, 0 _080F23A0: .4byte gUnknown_083DFEC4 _080F23A4: .4byte 0x0000030e _080F23A8: .4byte 0x00006dad _080F23AC: adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0x3 bls _080F2390 _080F23B6: adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, r5 blt _080F237E _080F23C0: movs r0, 0x1 _080F23C2: pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_80F2360 thumb_func_start sub_80F23C8 sub_80F23C8: @ 80F23C8 push {lr} movs r2, 0 ldr r0, _080F23F4 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r3, _080F23F8 @ =0x00006dad adds r0, r1, r3 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 lsls r3, r0, 4 movs r0, 0xC8 lsls r0, 2 adds r1, r0 _080F23E2: lsls r0, r2, 2 adds r0, r3 adds r0, r1, r0 ldr r0, [r0] cmp r0, 0 beq _080F23FC movs r0, 0 b _080F2408 .align 2, 0 _080F23F4: .4byte gUnknown_083DFEC4 _080F23F8: .4byte 0x00006dad _080F23FC: adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 cmp r2, 0x3 bls _080F23E2 movs r0, 0x1 _080F2408: pop {r1} bx r1 thumb_func_end sub_80F23C8 thumb_func_start sub_80F240C sub_80F240C: @ 80F240C push {r4,lr} adds r4, r0, 0 ldr r0, _080F2454 @ =gUnknown_083DFEC4 ldr r2, [r0] movs r0, 0x30 ldrsh r1, [r4, r0] lsls r1, 2 movs r3, 0x2E ldrsh r0, [r4, r3] lsls r0, 4 adds r1, r0 movs r0, 0xC8 lsls r0, 2 adds r2, r0 adds r2, r1 movs r0, 0 str r0, [r2] adds r0, r4, 0 adds r0, 0x3F ldrb r1, [r0] movs r0, 0x20 ands r0, r1 cmp r0, 0 beq _080F2446 ldrb r0, [r4, 0x3] lsls r0, 26 lsrs r0, 27 bl FreeOamMatrix _080F2446: adds r0, r4, 0 bl DestroySprite pop {r4} pop {r0} bx r0 .align 2, 0 _080F2454: .4byte gUnknown_083DFEC4 thumb_func_end sub_80F240C thumb_func_start sub_80F2458 sub_80F2458: @ 80F2458 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x1 beq _080F24A0 cmp r4, 0x1 bgt _080F246C cmp r4, 0 beq _080F2472 b _080F2502 _080F246C: cmp r4, 0x2 beq _080F24D0 b _080F2502 _080F2472: ldr r2, _080F2498 @ =gUnknown_083DFEC4 ldr r3, [r2] movs r0, 0xE0 lsls r0, 2 adds r1, r3, r0 movs r5, 0xE2 lsls r5, 2 adds r0, r3, r5 str r0, [r1] movs r0, 0xE1 lsls r0, 2 adds r1, r3, r0 movs r0, 0xA0 lsls r0, 5 strh r0, [r1] ldr r1, _080F249C @ =0x00000386 adds r0, r3, r1 strh r4, [r0] b _080F24F6 .align 2, 0 _080F2498: .4byte gUnknown_083DFEC4 _080F249C: .4byte 0x00000386 _080F24A0: ldr r4, _080F24C4 @ =gUnknown_083DFEC4 ldr r1, [r4] movs r3, 0xE0 lsls r3, 2 adds r2, r1, r3 ldr r5, _080F24C8 @ =0x00001788 adds r0, r1, r5 str r0, [r2] movs r0, 0xE1 lsls r0, 2 adds r2, r1, r0 movs r3, 0 movs r0, 0xC0 lsls r0, 4 strh r0, [r2] ldr r5, _080F24CC @ =0x00000386 adds r1, r5 b _080F24F2 .align 2, 0 _080F24C4: .4byte gUnknown_083DFEC4 _080F24C8: .4byte 0x00001788 _080F24CC: .4byte 0x00000386 _080F24D0: ldr r4, _080F2508 @ =gUnknown_083DFEC4 ldr r1, [r4] movs r0, 0xE0 lsls r0, 2 adds r2, r1, r0 ldr r3, _080F250C @ =0x00002388 adds r0, r1, r3 str r0, [r2] movs r5, 0xE1 lsls r5, 2 adds r2, r1, r5 movs r3, 0 movs r0, 0xC0 lsls r0, 5 strh r0, [r2] ldr r0, _080F2510 @ =0x00000386 adds r1, r0 _080F24F2: strh r3, [r1] adds r2, r4, 0 _080F24F6: ldr r0, [r2] movs r1, 0xE0 lsls r1, 2 adds r0, r1 bl LoadSpriteSheet _080F2502: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F2508: .4byte gUnknown_083DFEC4 _080F250C: .4byte 0x00002388 _080F2510: .4byte 0x00000386 thumb_func_end sub_80F2458 thumb_func_start sub_80F2514 sub_80F2514: @ 80F2514 push {r4,lr} sub sp, 0x8 lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 cmp r0, 0x1 beq _080F2558 cmp r0, 0x1 bgt _080F252C cmp r0, 0 beq _080F2532 b _080F2586 _080F252C: cmp r1, 0x2 beq _080F2568 b _080F2586 _080F2532: ldr r0, _080F254C @ =gPokenavMenuOptions1_Pal str r0, [sp] ldr r1, _080F2550 @ =0xffff0000 mov r4, sp ldr r0, [sp, 0x4] ands r0, r1 str r0, [sp, 0x4] mov r0, sp bl LoadSpritePalette ldr r0, _080F2554 @ =gPokenavMenuOptions2_Pal b _080F257A .align 2, 0 _080F254C: .4byte gPokenavMenuOptions1_Pal _080F2550: .4byte 0xffff0000 _080F2554: .4byte gPokenavMenuOptions2_Pal _080F2558: ldr r0, _080F2564 @ =gPokenavConditionMenu_Pal str r0, [sp] mov r1, sp movs r0, 0 strh r0, [r1, 0x4] b _080F2580 .align 2, 0 _080F2564: .4byte gPokenavConditionMenu_Pal _080F2568: ldr r0, _080F2590 @ =gPokenavCondition6_Pal str r0, [sp] mov r4, sp movs r0, 0 strh r0, [r4, 0x4] mov r0, sp bl LoadSpritePalette ldr r0, _080F2594 @ =gPokenavCondition7_Pal _080F257A: str r0, [sp] movs r0, 0x1 strh r0, [r4, 0x4] _080F2580: mov r0, sp bl LoadSpritePalette _080F2586: add sp, 0x8 pop {r4} pop {r0} bx r0 .align 2, 0 _080F2590: .4byte gPokenavCondition6_Pal _080F2594: .4byte gPokenavCondition7_Pal thumb_func_end sub_80F2514 thumb_func_start sub_80F2598 sub_80F2598: @ 80F2598 push {r4,lr} ldr r0, _080F25F0 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F25F4 @ =0x00006d9c adds r4, r0, r1 movs r0, 0 str r0, [r4] ldr r1, _080F25F8 @ =gSaveBlock1 movs r0, 0x4 ldrsb r0, [r1, r0] lsls r0, 16 lsrs r0, 16 ldrb r1, [r1, 0x5] lsls r1, 24 asrs r1, 24 lsls r1, 16 lsrs r1, 16 bl sub_8082C0C cmp r0, 0x1 bne _080F2618 ldr r0, _080F25FC @ =gSpriteSheet_PokenavBlueLight bl LoadSpriteSheet ldr r0, _080F2600 @ =gSpritePalette_PokenavBlueLight bl LoadSpritePalette ldr r0, _080F2604 @ =gSpriteTemplate_83E4484 movs r1, 0xC movs r2, 0x60 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x40 beq _080F260C lsls r0, r1, 4 adds r0, r1 lsls r0, 2 ldr r1, _080F2608 @ =gSprites adds r0, r1 str r0, [r4] b _080F2618 .align 2, 0 _080F25F0: .4byte gUnknown_083DFEC4 _080F25F4: .4byte 0x00006d9c _080F25F8: .4byte gSaveBlock1 _080F25FC: .4byte gSpriteSheet_PokenavBlueLight _080F2600: .4byte gSpritePalette_PokenavBlueLight _080F2604: .4byte gSpriteTemplate_83E4484 _080F2608: .4byte gSprites _080F260C: movs r0, 0x19 bl FreeSpriteTilesByTag movs r0, 0x11 bl FreeSpritePaletteByTag _080F2618: pop {r4} pop {r0} bx r0 thumb_func_end sub_80F2598 thumb_func_start sub_80F2620 sub_80F2620: @ 80F2620 push {r4,lr} ldr r0, _080F264C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2650 @ =0x00006d9c adds r4, r0, r1 ldr r0, [r4] cmp r0, 0 beq _080F2644 bl DestroySprite movs r0, 0x19 bl FreeSpriteTilesByTag movs r0, 0x11 bl FreeSpritePaletteByTag movs r0, 0 str r0, [r4] _080F2644: pop {r4} pop {r0} bx r0 .align 2, 0 _080F264C: .4byte gUnknown_083DFEC4 _080F2650: .4byte 0x00006d9c thumb_func_end sub_80F2620 thumb_func_start sub_80F2654 sub_80F2654: @ 80F2654 push {lr} adds r3, r0, 0 ldrh r0, [r3, 0x2E] adds r0, 0x1 strh r0, [r3, 0x2E] lsls r0, 16 asrs r0, 16 cmp r0, 0x6 ble _080F2682 movs r0, 0 strh r0, [r3, 0x2E] adds r3, 0x3E ldrb r2, [r3] lsrs r1, r2, 2 movs r0, 0x1 eors r1, r0 ands r1, r0 lsls r1, 2 movs r0, 0x5 negs r0, r0 ands r0, r2 orrs r0, r1 strb r0, [r3] _080F2682: pop {r0} bx r0 thumb_func_end sub_80F2654 thumb_func_start sub_80F2688 sub_80F2688: @ 80F2688 push {lr} ldr r0, _080F26B0 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F26B4 @ =0x00000306 adds r2, r0, r1 movs r1, 0 strh r1, [r2] ldr r1, _080F26B8 @ =0x00006dac adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080F26AA _080F26A0: bl sub_80F26BC lsls r0, 24 cmp r0, 0 bne _080F26A0 _080F26AA: pop {r0} bx r0 .align 2, 0 _080F26B0: .4byte gUnknown_083DFEC4 _080F26B4: .4byte 0x00000306 _080F26B8: .4byte 0x00006dac thumb_func_end sub_80F2688 thumb_func_start sub_80F26BC sub_80F26BC: @ 80F26BC push {lr} ldr r0, _080F26D8 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F26DC @ =0x00000306 adds r0, r1 ldrh r0, [r0] cmp r0, 0x7 bls _080F26CE b _080F27BC _080F26CE: lsls r0, 2 ldr r1, _080F26E0 @ =_080F26E4 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080F26D8: .4byte gUnknown_083DFEC4 _080F26DC: .4byte 0x00000306 _080F26E0: .4byte _080F26E4 .align 2, 0 _080F26E4: .4byte _080F2704 .4byte _080F271C .4byte _080F2734 .4byte _080F274C .4byte _080F2764 .4byte _080F277C .4byte _080F2794 .4byte _080F27B0 _080F2704: ldr r0, _080F2710 @ =gPokenavMainMenu_Gfx ldr r1, _080F2714 @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r2, _080F2718 @ =0x00003b98 b _080F279C .align 2, 0 _080F2710: .4byte gPokenavMainMenu_Gfx _080F2714: .4byte gUnknown_083DFEC4 _080F2718: .4byte 0x00003b98 _080F271C: ldr r0, _080F2728 @ =gPokenavConditionMenuHeader_Gfx ldr r1, _080F272C @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r2, _080F2730 @ =0x00004198 b _080F279C .align 2, 0 _080F2728: .4byte gPokenavConditionMenuHeader_Gfx _080F272C: .4byte gUnknown_083DFEC4 _080F2730: .4byte 0x00004198 _080F2734: ldr r0, _080F2740 @ =gPokenavRibbonsHeader_Gfx ldr r1, _080F2744 @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r2, _080F2748 @ =0x00004d98 b _080F279C .align 2, 0 _080F2740: .4byte gPokenavRibbonsHeader_Gfx _080F2744: .4byte gUnknown_083DFEC4 _080F2748: .4byte 0x00004d98 _080F274C: ldr r0, _080F2758 @ =gPokenavHoennMapHeader_Gfx ldr r1, _080F275C @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r2, _080F2760 @ =0x00005398 b _080F279C .align 2, 0 _080F2758: .4byte gPokenavHoennMapHeader_Gfx _080F275C: .4byte gUnknown_083DFEC4 _080F2760: .4byte 0x00005398 _080F2764: ldr r0, _080F2770 @ =gPokenavConditionMenuOptions_Gfx ldr r1, _080F2774 @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r2, _080F2778 @ =0x00005f98 b _080F279C .align 2, 0 _080F2770: .4byte gPokenavConditionMenuOptions_Gfx _080F2774: .4byte gUnknown_083DFEC4 _080F2778: .4byte 0x00005f98 _080F277C: ldr r0, _080F2788 @ =gPokenavConditionMenuOptions2_Gfx ldr r1, _080F278C @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r2, _080F2790 @ =0x00006798 b _080F279C .align 2, 0 _080F2788: .4byte gPokenavConditionMenuOptions2_Gfx _080F278C: .4byte gUnknown_083DFEC4 _080F2790: .4byte 0x00006798 _080F2794: ldr r0, _080F27A4 @ =gPokenavTrainersEyesHeader_Gfx ldr r1, _080F27A8 @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r2, _080F27AC @ =0x00004798 _080F279C: adds r1, r2 bl LZ77UnCompWram b _080F27C0 .align 2, 0 _080F27A4: .4byte gPokenavTrainersEyesHeader_Gfx _080F27A8: .4byte gUnknown_083DFEC4 _080F27AC: .4byte 0x00004798 _080F27B0: ldr r0, _080F27B8 @ =gUnknown_083E449C bl LoadSpritePalettes b _080F27C0 .align 2, 0 _080F27B8: .4byte gUnknown_083E449C _080F27BC: movs r0, 0 b _080F27D0 _080F27C0: ldr r0, _080F27D4 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F27D8 @ =0x00000306 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] movs r0, 0x1 _080F27D0: pop {r1} bx r1 .align 2, 0 _080F27D4: .4byte gUnknown_083DFEC4 _080F27D8: .4byte 0x00000306 thumb_func_end sub_80F26BC thumb_func_start sub_80F27DC sub_80F27DC: @ 80F27DC push {lr} sub sp, 0x8 lsls r0, 24 lsrs r0, 24 cmp r0, 0xB bls _080F27EA b _080F29A0 _080F27EA: lsls r0, 2 ldr r1, _080F27F4 @ =_080F27F8 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080F27F4: .4byte _080F27F8 .align 2, 0 _080F27F8: .4byte _080F2828 .4byte _080F2858 .4byte _080F28B8 .4byte _080F2888 .4byte _080F28E8 .4byte _080F2918 .4byte _080F2928 .4byte _080F2978 .4byte _080F2938 .4byte _080F2948 .4byte _080F2968 .4byte _080F2958 _080F2828: ldr r0, _080F2848 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F284C @ =0x00003b98 adds r0, r1 str r0, [sp] ldr r1, _080F2850 @ =0xffff0000 ldr r0, [sp, 0x4] ands r0, r1 movs r1, 0xC0 lsls r1, 3 orrs r0, r1 ldr r1, _080F2854 @ =0x0000ffff ands r0, r1 adds r1, 0x1 b _080F2996 .align 2, 0 _080F2848: .4byte gUnknown_083DFEC4 _080F284C: .4byte 0x00003b98 _080F2850: .4byte 0xffff0000 _080F2854: .4byte 0x0000ffff _080F2858: ldr r0, _080F2878 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F287C @ =0x00004198 adds r0, r1 str r0, [sp] ldr r1, _080F2880 @ =0xffff0000 ldr r0, [sp, 0x4] ands r0, r1 movs r1, 0xC0 lsls r1, 3 orrs r0, r1 ldr r1, _080F2884 @ =0x0000ffff ands r0, r1 adds r1, 0x1 b _080F2996 .align 2, 0 _080F2878: .4byte gUnknown_083DFEC4 _080F287C: .4byte 0x00004198 _080F2880: .4byte 0xffff0000 _080F2884: .4byte 0x0000ffff _080F2888: ldr r0, _080F28A8 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F28AC @ =0x00004798 adds r0, r1 str r0, [sp] ldr r1, _080F28B0 @ =0xffff0000 ldr r0, [sp, 0x4] ands r0, r1 movs r1, 0xC0 lsls r1, 3 orrs r0, r1 ldr r1, _080F28B4 @ =0x0000ffff ands r0, r1 adds r1, 0x1 b _080F2996 .align 2, 0 _080F28A8: .4byte gUnknown_083DFEC4 _080F28AC: .4byte 0x00004798 _080F28B0: .4byte 0xffff0000 _080F28B4: .4byte 0x0000ffff _080F28B8: ldr r0, _080F28D8 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F28DC @ =0x00004d98 adds r0, r1 str r0, [sp] ldr r1, _080F28E0 @ =0xffff0000 ldr r0, [sp, 0x4] ands r0, r1 movs r1, 0xC0 lsls r1, 3 orrs r0, r1 ldr r1, _080F28E4 @ =0x0000ffff ands r0, r1 adds r1, 0x1 b _080F2996 .align 2, 0 _080F28D8: .4byte gUnknown_083DFEC4 _080F28DC: .4byte 0x00004d98 _080F28E0: .4byte 0xffff0000 _080F28E4: .4byte 0x0000ffff _080F28E8: ldr r0, _080F2908 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F290C @ =0x00005398 adds r0, r1 str r0, [sp] ldr r1, _080F2910 @ =0xffff0000 ldr r0, [sp, 0x4] ands r0, r1 movs r1, 0xC0 lsls r1, 4 orrs r0, r1 ldr r1, _080F2914 @ =0x0000ffff ands r0, r1 adds r1, 0x1 b _080F2996 .align 2, 0 _080F2908: .4byte gUnknown_083DFEC4 _080F290C: .4byte 0x00005398 _080F2910: .4byte 0xffff0000 _080F2914: .4byte 0x0000ffff _080F2918: ldr r0, _080F2920 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2924 @ =0x00005f98 b _080F297E .align 2, 0 _080F2920: .4byte gUnknown_083DFEC4 _080F2924: .4byte 0x00005f98 _080F2928: ldr r0, _080F2930 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2934 @ =0x00006198 b _080F297E .align 2, 0 _080F2930: .4byte gUnknown_083DFEC4 _080F2934: .4byte 0x00006198 _080F2938: ldr r0, _080F2940 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2944 @ =0x00006398 b _080F297E .align 2, 0 _080F2940: .4byte gUnknown_083DFEC4 _080F2944: .4byte 0x00006398 _080F2948: ldr r0, _080F2950 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2954 @ =0x00006598 b _080F297E .align 2, 0 _080F2950: .4byte gUnknown_083DFEC4 _080F2954: .4byte 0x00006598 _080F2958: ldr r0, _080F2960 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2964 @ =0x00006998 b _080F297E .align 2, 0 _080F2960: .4byte gUnknown_083DFEC4 _080F2964: .4byte 0x00006998 _080F2968: ldr r0, _080F2970 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2974 @ =0x00006798 b _080F297E .align 2, 0 _080F2970: .4byte gUnknown_083DFEC4 _080F2974: .4byte 0x00006798 _080F2978: ldr r0, _080F29A8 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F29AC @ =0x00006b98 _080F297E: adds r0, r1 str r0, [sp] ldr r1, _080F29B0 @ =0xffff0000 ldr r0, [sp, 0x4] ands r0, r1 movs r1, 0x80 lsls r1, 2 orrs r0, r1 ldr r1, _080F29B4 @ =0x0000ffff ands r0, r1 movs r1, 0x80 lsls r1, 10 _080F2996: orrs r0, r1 str r0, [sp, 0x4] mov r0, sp bl LoadSpriteSheet _080F29A0: add sp, 0x8 pop {r0} bx r0 .align 2, 0 _080F29A8: .4byte gUnknown_083DFEC4 _080F29AC: .4byte 0x00006b98 _080F29B0: .4byte 0xffff0000 _080F29B4: .4byte 0x0000ffff thumb_func_end sub_80F27DC thumb_func_start sub_80F29B8 sub_80F29B8: @ 80F29B8 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x14 lsls r0, 24 lsrs r7, r0, 24 movs r0, 0 mov r8, r0 cmp r7, 0xB bls _080F29D2 b _080F2BA6 _080F29D2: lsls r0, r7, 2 ldr r1, _080F29DC @ =_080F29E0 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080F29DC: .4byte _080F29E0 .align 2, 0 _080F29E0: .4byte _080F2A10 .4byte _080F2A10 .4byte _080F2A10 .4byte _080F2A10 .4byte _080F2A58 .4byte _080F2A94 .4byte _080F2A94 .4byte _080F2A98 .4byte _080F2A94 .4byte _080F2A94 .4byte _080F2A98 .4byte _080F2A98 _080F2A10: ldr r3, _080F2A44 @ =0x0000ffa0 ldr r0, _080F2A48 @ =gUnknown_083DFEC4 ldr r2, [r0] movs r1, 0xC3 lsls r1, 2 adds r0, r2, r1 ldrh r1, [r0] movs r0, 0x31 subs r0, r1 lsls r0, 16 lsrs r0, 16 movs r4, 0x8 str r4, [sp] movs r1, 0x20 str r1, [sp, 0x4] movs r1, 0x40 ldr r4, _080F2A4C @ =0x00003b88 adds r4, r2 mov r9, r4 ldr r2, _080F2A50 @ =gSpriteTemplate_83E44F8 mov r8, r2 cmp r7, 0x3 beq _080F2AC8 ldr r4, _080F2A54 @ =gSpriteTemplate_83E44E0 mov r8, r4 b _080F2AC8 .align 2, 0 _080F2A44: .4byte 0x0000ffa0 _080F2A48: .4byte gUnknown_083DFEC4 _080F2A4C: .4byte 0x00003b88 _080F2A50: .4byte gSpriteTemplate_83E44F8 _080F2A54: .4byte gSpriteTemplate_83E44E0 _080F2A58: movs r3, 0x88 lsls r3, 1 ldr r0, _080F2A84 @ =gUnknown_083DFEC4 ldr r2, [r0] movs r1, 0xC3 lsls r1, 2 adds r0, r2, r1 ldrh r1, [r0] movs r0, 0x31 subs r0, r1 lsls r0, 16 lsrs r0, 16 ldr r4, _080F2A88 @ =0x0000fff8 str r4, [sp] movs r1, 0x98 str r1, [sp, 0x4] movs r1, 0x40 ldr r4, _080F2A8C @ =gSpriteTemplate_83E44E0 mov r8, r4 ldr r4, _080F2A90 @ =0x00003b88 b _080F2AC4 .align 2, 0 _080F2A84: .4byte gUnknown_083DFEC4 _080F2A88: .4byte 0x0000fff8 _080F2A8C: .4byte gSpriteTemplate_83E44E0 _080F2A90: .4byte 0x00003b88 _080F2A94: ldr r0, _080F2B40 @ =gSpriteTemplate_83E4530 mov r8, r0 _080F2A98: mov r1, r8 cmp r1, 0 bne _080F2AA2 ldr r2, _080F2B44 @ =gSpriteTemplate_83E4548 mov r8, r2 _080F2AA2: ldr r3, _080F2B48 @ =0x0000ffa0 ldr r0, _080F2B4C @ =gUnknown_083DFEC4 ldr r2, [r0] movs r4, 0xC3 lsls r4, 2 adds r0, r2, r4 ldrh r1, [r0] movs r0, 0x44 subs r0, r1 lsls r0, 16 lsrs r0, 16 movs r1, 0x8 str r1, [sp] movs r4, 0x10 str r4, [sp, 0x4] movs r1, 0x20 ldr r4, _080F2B50 @ =0x00003b90 _080F2AC4: adds r4, r2 mov r9, r4 _080F2AC8: movs r6, 0 lsls r1, 16 str r1, [sp, 0x10] lsls r3, 16 str r3, [sp, 0x8] lsls r0, 16 str r0, [sp, 0xC] ldr r0, _080F2B54 @ =gSprites mov r10, r0 _080F2ADA: ldr r1, [sp, 0x10] asrs r0, r1, 16 adds r5, r6, 0 muls r5, r0 ldr r2, [sp, 0x8] asrs r1, r2, 16 adds r1, r5 lsls r1, 16 asrs r1, 16 mov r0, r8 ldr r3, [sp, 0xC] asrs r2, r3, 16 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x40 beq _080F2B9C lsls r0, r4, 4 adds r1, r0, r4 lsls r1, 2 mov r2, r10 adds r3, r1, r2 mov r1, sp ldrh r1, [r1] strh r1, [r3, 0x2E] ldr r2, [sp, 0x4] adds r1, r2, r5 strh r1, [r3, 0x30] strh r6, [r3, 0x32] strh r7, [r3, 0x34] adds r5, r0, 0 cmp r7, 0x4 bne _080F2B5C cmp r6, 0x1 bne _080F2B5C ldr r0, _080F2B4C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2B58 @ =0x00006e90 adds r0, r1 ldrb r0, [r0] movs r1, 0x2 cmp r0, 0 bne _080F2B36 movs r1, 0x1 _080F2B36: adds r0, r3, 0 bl StartSpriteAnim b _080F2B6A .align 2, 0 _080F2B40: .4byte gSpriteTemplate_83E4530 _080F2B44: .4byte gSpriteTemplate_83E4548 _080F2B48: .4byte 0x0000ffa0 _080F2B4C: .4byte gUnknown_083DFEC4 _080F2B50: .4byte 0x00003b90 _080F2B54: .4byte gSprites _080F2B58: .4byte 0x00006e90 _080F2B5C: adds r0, r5, r4 lsls r0, 2 add r0, r10 lsls r1, r6, 24 lsrs r1, 24 bl StartSpriteAnim _080F2B6A: ldr r2, _080F2BB8 @ =gSprites mov r12, r2 cmp r7, 0x3 bhi _080F2B90 cmp r6, 0x1 bne _080F2B90 adds r2, r5, r4 lsls r2, 2 add r2, r10 ldrb r3, [r2, 0x1] movs r1, 0x3F adds r0, r1, 0 ands r0, r3 strb r0, [r2, 0x1] ldrb r0, [r2, 0x3] ands r1, r0 movs r0, 0x80 orrs r1, r0 strb r1, [r2, 0x3] _080F2B90: lsls r1, r6, 2 add r1, r9 adds r0, r5, r4 lsls r0, 2 add r0, r12 str r0, [r1] _080F2B9C: adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 cmp r6, 0x1 bls _080F2ADA _080F2BA6: add sp, 0x14 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F2BB8: .4byte gSprites thumb_func_end sub_80F29B8 thumb_func_start sub_80F2BBC sub_80F2BBC: @ 80F2BBC push {r4,lr} adds r2, r0, 0 ldrh r0, [r2, 0x20] ldrh r1, [r2, 0x2E] adds r3, r0, r1 strh r3, [r2, 0x20] lsls r0, 16 asrs r4, r0, 16 movs r0, 0x30 ldrsh r1, [r2, r0] cmp r4, r1 bgt _080F2BE0 lsls r0, r3, 16 asrs r0, 16 cmp r0, r1 bge _080F2BE8 cmp r4, r1 blt _080F2C08 _080F2BE0: lsls r0, r3, 16 asrs r0, 16 cmp r0, r1 bgt _080F2C08 _080F2BE8: ldrh r0, [r2, 0x30] strh r0, [r2, 0x20] movs r1, 0x34 ldrsh r0, [r2, r1] cmp r0, 0x4 bne _080F2C04 movs r1, 0x32 ldrsh r0, [r2, r1] cmp r0, 0x1 bne _080F2C04 ldr r0, _080F2C00 @ =sub_80F2C58 b _080F2C06 .align 2, 0 _080F2C00: .4byte sub_80F2C58 _080F2C04: ldr r0, _080F2C10 @ =SpriteCallbackDummy _080F2C06: str r0, [r2, 0x1C] _080F2C08: pop {r4} pop {r0} bx r0 .align 2, 0 _080F2C10: .4byte SpriteCallbackDummy thumb_func_end sub_80F2BBC thumb_func_start sub_80F2C14 sub_80F2C14: @ 80F2C14 push {r4,lr} adds r4, r0, 0 ldrh r0, [r4, 0x20] ldrh r1, [r4, 0x2E] subs r0, r1 strh r0, [r4, 0x20] adds r0, 0x20 lsls r0, 16 movs r1, 0x98 lsls r1, 17 cmp r0, r1 bls _080F2C50 movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0x1 bne _080F2C4A movs r1, 0x34 ldrsh r0, [r4, r1] cmp r0, 0x4 bgt _080F2C44 movs r0, 0x1 bl FreeSpriteTilesByTag b _080F2C4A _080F2C44: movs r0, 0x2 bl FreeSpriteTilesByTag _080F2C4A: adds r0, r4, 0 bl DestroySprite _080F2C50: pop {r4} pop {r0} bx r0 thumb_func_end sub_80F2C14 thumb_func_start sub_80F2C58 sub_80F2C58: @ 80F2C58 push {lr} adds r2, r0, 0 ldr r0, _080F2C78 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2C7C @ =0x00006e90 adds r0, r1 ldrb r0, [r0] movs r1, 0x2 cmp r0, 0 bne _080F2C6E movs r1, 0x1 _080F2C6E: adds r0, r2, 0 bl StartSpriteAnim pop {r0} bx r0 .align 2, 0 _080F2C78: .4byte gUnknown_083DFEC4 _080F2C7C: .4byte 0x00006e90 thumb_func_end sub_80F2C58 thumb_func_start sub_80F2C80 sub_80F2C80: @ 80F2C80 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080F2CB0 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2CB4 @ =0x00000306 adds r2, r0, r1 movs r1, 0 strh r1, [r2] ldr r1, _080F2CB8 @ =0x00006dac adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080F2CA8 _080F2C9C: adds r0, r4, 0 bl sub_80F2CBC lsls r0, 24 cmp r0, 0 bne _080F2C9C _080F2CA8: pop {r4} pop {r0} bx r0 .align 2, 0 _080F2CB0: .4byte gUnknown_083DFEC4 _080F2CB4: .4byte 0x00000306 _080F2CB8: .4byte 0x00006dac thumb_func_end sub_80F2C80 thumb_func_start sub_80F2CBC sub_80F2CBC: @ 80F2CBC push {r4,lr} lsls r0, 24 lsrs r1, r0, 24 ldr r0, _080F2CD8 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F2CDC @ =0x00000306 adds r4, r0, r2 ldrh r0, [r4] cmp r0, 0 beq _080F2CE0 cmp r0, 0x1 beq _080F2CF0 b _080F2CFC .align 2, 0 _080F2CD8: .4byte gUnknown_083DFEC4 _080F2CDC: .4byte 0x00000306 _080F2CE0: adds r0, r1, 0 bl sub_80F27DC ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] movs r0, 0x1 b _080F2CFE _080F2CF0: adds r0, r1, 0 bl sub_80F29B8 ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] _080F2CFC: movs r0, 0 _080F2CFE: pop {r4} pop {r1} bx r1 thumb_func_end sub_80F2CBC thumb_func_start sub_80F2D04 sub_80F2D04: @ 80F2D04 push {lr} lsls r0, 24 lsrs r0, 24 cmp r0, 0x4 bhi _080F2D3C movs r1, 0 ldr r0, _080F2D30 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r3, _080F2D34 @ =0x00003b88 adds r2, r0, r3 ldr r3, _080F2D38 @ =sub_80F2C14 _080F2D1A: lsls r0, r1, 2 adds r0, r2, r0 ldr r0, [r0] str r3, [r0, 0x1C] adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0x1 bls _080F2D1A b _080F2D5A .align 2, 0 _080F2D30: .4byte gUnknown_083DFEC4 _080F2D34: .4byte 0x00003b88 _080F2D38: .4byte sub_80F2C14 _080F2D3C: movs r1, 0 ldr r0, _080F2D60 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r3, _080F2D64 @ =0x00003b90 adds r2, r0, r3 ldr r3, _080F2D68 @ =sub_80F2C14 _080F2D48: lsls r0, r1, 2 adds r0, r2, r0 ldr r0, [r0] str r3, [r0, 0x1C] adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0x1 bls _080F2D48 _080F2D5A: pop {r0} bx r0 .align 2, 0 _080F2D60: .4byte gUnknown_083DFEC4 _080F2D64: .4byte 0x00003b90 _080F2D68: .4byte sub_80F2C14 thumb_func_end sub_80F2D04 thumb_func_start sub_80F2D6C sub_80F2D6C: @ 80F2D6C push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 cmp r0, 0x4 bhi _080F2DA4 movs r0, 0x1 bl FreeSpriteTilesByTag movs r4, 0 ldr r0, _080F2D9C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2DA0 @ =0x00003b88 adds r5, r0, r1 _080F2D86: lsls r0, r4, 2 adds r0, r5, r0 ldr r0, [r0] bl DestroySprite adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x1 bls _080F2D86 b _080F2DC8 .align 2, 0 _080F2D9C: .4byte gUnknown_083DFEC4 _080F2DA0: .4byte 0x00003b88 _080F2DA4: movs r0, 0x2 bl FreeSpriteTilesByTag movs r4, 0 ldr r0, _080F2DD0 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2DD4 @ =0x00003b90 adds r5, r0, r1 _080F2DB4: lsls r0, r4, 2 adds r0, r5, r0 ldr r0, [r0] bl DestroySprite adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x1 bls _080F2DB4 _080F2DC8: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F2DD0: .4byte gUnknown_083DFEC4 _080F2DD4: .4byte 0x00003b90 thumb_func_end sub_80F2D6C thumb_func_start sub_80F2DD8 sub_80F2DD8: @ 80F2DD8 push {lr} movs r0, 0x7 movs r1, 0x7 bl CreateRegionMapCursor movs r0, 0x8 movs r1, 0x8 bl CreateRegionMapPlayerIcon bl sub_80FBF94 pop {r0} bx r0 thumb_func_end sub_80F2DD8 thumb_func_start sub_80F2DF4 sub_80F2DF4: @ 80F2DF4 push {lr} bl FreeRegionMapIconResources pop {r0} bx r0 thumb_func_end sub_80F2DF4 thumb_func_start sub_80F2E00 sub_80F2E00: @ 80F2E00 ldr r1, _080F2E10 @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r2, _080F2E14 @ =0x00008766 adds r1, r2 ldrh r1, [r1] adds r1, 0x26 strh r1, [r0, 0x20] bx lr .align 2, 0 _080F2E10: .4byte gUnknown_083DFEC4 _080F2E14: .4byte 0x00008766 thumb_func_end sub_80F2E00 thumb_func_start sub_80F2E18 sub_80F2E18: @ 80F2E18 push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x28 lsls r0, 24 lsrs r3, r0, 24 ldr r0, _080F2EA8 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r0, _080F2EAC @ =0x00008768 adds r7, r4, r0 ldr r1, [r7] mov r8, r1 cmp r1, 0 bne _080F2EFC ldr r0, _080F2EB0 @ =gUnknown_083E4568 ldr r1, [r0, 0x4] ldr r0, [r0] str r0, [sp, 0x20] str r1, [sp, 0x24] mov r1, sp ldr r0, _080F2EB4 @ =gSpriteTemplate_83E4570 ldm r0!, {r2,r5,r6} stm r1!, {r2,r5,r6} ldm r0!, {r2,r5,r6} stm r1!, {r2,r5,r6} ldr r0, _080F2EB8 @ =gUnknown_083E4588 ldr r1, [r0, 0x4] ldr r0, [r0] str r0, [sp, 0x18] str r1, [sp, 0x1C] lsls r0, r3, 13 ldr r1, _080F2EBC @ =0x0000d1e4 adds r0, r1 adds r0, r4, r0 str r0, [sp, 0x20] lsls r0, r3, 7 adds r0, r4, r0 str r0, [sp, 0x18] add r0, sp, 0x18 bl LoadSpritePalette lsls r0, 24 lsrs r0, 24 ldr r2, _080F2EC0 @ =0x0000d1dc adds r5, r4, r2 strh r0, [r5] add r0, sp, 0x20 bl LoadSpriteSheet ldr r1, _080F2EC4 @ =0x0000d1de adds r6, r4, r1 strh r0, [r6] mov r0, sp movs r1, 0x26 movs r2, 0x68 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x40 bne _080F2EC8 movs r0, 0x6 bl FreeSpriteTilesByTag movs r0, 0x6 bl FreeSpritePaletteByTag mov r2, r8 str r2, [r7] b _080F2F26 .align 2, 0 _080F2EA8: .4byte gUnknown_083DFEC4 _080F2EAC: .4byte 0x00008768 _080F2EB0: .4byte gUnknown_083E4568 _080F2EB4: .4byte gSpriteTemplate_83E4570 _080F2EB8: .4byte gUnknown_083E4588 _080F2EBC: .4byte 0x0000d1e4 _080F2EC0: .4byte 0x0000d1dc _080F2EC4: .4byte 0x0000d1de _080F2EC8: lsls r0, r1, 4 adds r0, r1 lsls r0, 2 ldr r1, _080F2EF0 @ =gSprites adds r0, r1 str r0, [r7] ldr r0, _080F2EF4 @ =0x0000d1e0 adds r1, r4, r0 ldrh r0, [r6] lsls r0, 5 ldr r2, _080F2EF8 @ =0x06010000 adds r0, r2 str r0, [r1] ldrh r0, [r5] lsls r0, 4 movs r6, 0x80 lsls r6, 1 adds r0, r6 strh r0, [r5] b _080F2F26 .align 2, 0 _080F2EF0: .4byte gSprites _080F2EF4: .4byte 0x0000d1e0 _080F2EF8: .4byte 0x06010000 _080F2EFC: lsls r0, r3, 13 ldr r1, _080F2F34 @ =0x0000d1e4 adds r0, r1 adds r0, r4, r0 ldr r2, _080F2F38 @ =0x0000d1e0 adds r1, r4, r2 ldr r2, [r1] ldr r1, _080F2F3C @ =0x040000d4 str r0, [r1] str r2, [r1, 0x4] ldr r0, _080F2F40 @ =0x80000400 str r0, [r1, 0x8] ldr r0, [r1, 0x8] lsls r0, r3, 7 adds r0, r4, r0 ldr r5, _080F2F44 @ =0x0000d1dc adds r1, r4, r5 ldrh r1, [r1] movs r2, 0x20 bl LoadPalette _080F2F26: add sp, 0x28 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F2F34: .4byte 0x0000d1e4 _080F2F38: .4byte 0x0000d1e0 _080F2F3C: .4byte 0x040000d4 _080F2F40: .4byte 0x80000400 _080F2F44: .4byte 0x0000d1dc thumb_func_end sub_80F2E18 thumb_func_start sub_80F2F48 sub_80F2F48: @ 80F2F48 push {r4,lr} ldr r0, _080F2F74 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2F78 @ =0x00008768 adds r4, r0, r1 ldr r0, [r4] cmp r0, 0 beq _080F2F6C bl DestroySprite movs r0, 0x6 bl FreeSpriteTilesByTag movs r0, 0x6 bl FreeSpritePaletteByTag movs r0, 0 str r0, [r4] _080F2F6C: pop {r4} pop {r0} bx r0 .align 2, 0 _080F2F74: .4byte gUnknown_083DFEC4 _080F2F78: .4byte 0x00008768 thumb_func_end sub_80F2F48 thumb_func_start sub_80F2F7C sub_80F2F7C: @ 80F2F7C push {lr} lsls r0, 24 lsrs r0, 24 bl sub_80F2E18 ldr r0, _080F2FA0 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F2FA4 @ =0x0000ced0 adds r2, r0, r1 ldr r1, _080F2FA8 @ =0x00008768 adds r0, r1 ldr r1, [r0] str r1, [r2] ldr r0, _080F2FAC @ =sub_80F2FEC str r0, [r1, 0x1C] pop {r0} bx r0 .align 2, 0 _080F2FA0: .4byte gUnknown_083DFEC4 _080F2FA4: .4byte 0x0000ced0 _080F2FA8: .4byte 0x00008768 _080F2FAC: .4byte sub_80F2FEC thumb_func_end sub_80F2F7C thumb_func_start sub_80F2FB0 sub_80F2FB0: @ 80F2FB0 push {r4,r5,lr} ldr r0, _080F2FE0 @ =gUnknown_083DFEC4 ldr r5, [r0] ldr r0, _080F2FE4 @ =0x0000ced0 adds r4, r5, r0 ldr r0, [r4] cmp r0, 0 beq _080F2FDA bl DestroySprite movs r0, 0x6 bl FreeSpriteTilesByTag movs r0, 0x6 bl FreeSpritePaletteByTag movs r1, 0 str r1, [r4] ldr r2, _080F2FE8 @ =0x00008768 adds r0, r5, r2 str r1, [r0] _080F2FDA: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F2FE0: .4byte gUnknown_083DFEC4 _080F2FE4: .4byte 0x0000ced0 _080F2FE8: .4byte 0x00008768 thumb_func_end sub_80F2FB0 thumb_func_start sub_80F2FEC sub_80F2FEC: @ 80F2FEC ldr r1, _080F3000 @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r2, _080F3004 @ =0x0000d15a adds r1, r2 ldrh r1, [r1] adds r1, 0x28 strh r1, [r0, 0x20] movs r1, 0x68 strh r1, [r0, 0x22] bx lr .align 2, 0 _080F3000: .4byte gUnknown_083DFEC4 _080F3004: .4byte 0x0000d15a thumb_func_end sub_80F2FEC thumb_func_start sub_80F3008 sub_80F3008: @ 80F3008 push {r4,r5,lr} sub sp, 0x20 lsls r0, 24 lsrs r2, r0, 24 mov r1, sp ldr r0, _080F3060 @ =gUnknown_083E4590 ldm r0!, {r3-r5} stm r1!, {r3-r5} ldm r0!, {r3-r5} stm r1!, {r3-r5} ldr r0, _080F3064 @ =gUnknown_083E45A8 ldr r1, [r0, 0x4] ldr r0, [r0] str r0, [sp, 0x18] str r1, [sp, 0x1C] cmp r2, 0x2 bgt _080F3032 cmp r2, 0x1 blt _080F3032 ldr r0, _080F3068 @ =gUnknown_08E9F988 str r0, [sp, 0x18] _080F3032: mov r0, sp bl LoadSpriteSheets add r0, sp, 0x18 bl LoadSpritePalette ldr r0, _080F306C @ =gSpriteTemplate_83E45B8 movs r1, 0x5F movs r2, 0 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x40 bne _080F3078 ldr r0, _080F3070 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F3074 @ =0x000087cc adds r0, r1 movs r1, 0 str r1, [r0] b _080F3120 .align 2, 0 _080F3060: .4byte gUnknown_083E4590 _080F3064: .4byte gUnknown_083E45A8 _080F3068: .4byte gUnknown_08E9F988 _080F306C: .4byte gSpriteTemplate_83E45B8 _080F3070: .4byte gUnknown_083DFEC4 _080F3074: .4byte 0x000087cc _080F3078: ldr r0, _080F30F4 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r3, _080F30F8 @ =0x000087cc adds r2, r3 lsls r0, r1, 4 adds r0, r1 lsls r0, 2 ldr r1, _080F30FC @ =gSprites adds r0, r1 str r0, [r2] movs r4, 0 movs r5, 0 _080F3090: lsls r2, r4, 7 adds r2, 0x8 lsls r2, 16 asrs r2, 16 ldr r0, _080F3100 @ =gSpriteTemplate_83E45F0 movs r1, 0xA8 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x40 beq _080F3108 ldr r0, _080F30F4 @ =gUnknown_083DFEC4 ldr r2, [r0] lsls r0, r4, 2 ldr r3, _080F3104 @ =0x000087d0 adds r2, r3 adds r2, r0 lsls r0, r1, 4 adds r0, r1 lsls r0, 2 ldr r1, _080F30FC @ =gSprites adds r3, r0, r1 str r3, [r2] adds r2, r3, 0 adds r2, 0x3E ldrb r0, [r2] movs r1, 0x4 orrs r0, r1 strb r0, [r2] strh r5, [r3, 0x2E] strh r5, [r3, 0x30] movs r0, 0x1 cmp r4, 0 bne _080F30DE movs r1, 0x1 negs r1, r1 adds r0, r1, 0 _080F30DE: strh r0, [r3, 0x32] strh r4, [r3, 0x34] movs r0, 0x1 strh r0, [r3, 0x36] lsls r1, r4, 24 lsrs r1, 24 adds r0, r3, 0 bl StartSpriteAnim b _080F3116 .align 2, 0 _080F30F4: .4byte gUnknown_083DFEC4 _080F30F8: .4byte 0x000087cc _080F30FC: .4byte gSprites _080F3100: .4byte gSpriteTemplate_83E45F0 _080F3104: .4byte 0x000087d0 _080F3108: ldr r0, _080F3128 @ =gUnknown_083DFEC4 ldr r0, [r0] lsls r1, r4, 2 ldr r2, _080F312C @ =0x000087d0 adds r0, r2 adds r0, r1 str r5, [r0] _080F3116: adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x1 bls _080F3090 _080F3120: add sp, 0x20 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F3128: .4byte gUnknown_083DFEC4 _080F312C: .4byte 0x000087d0 thumb_func_end sub_80F3008 thumb_func_start sub_80F3130 sub_80F3130: @ 80F3130 push {r4-r6,lr} ldr r0, _080F3184 @ =gUnknown_083DFEC4 ldr r6, [r0] ldr r0, _080F3188 @ =0x000087cc adds r4, r6, r0 ldr r0, [r4] cmp r0, 0 beq _080F3154 bl DestroySprite movs r0, 0x9 bl FreeSpriteTilesByTag movs r0, 0x9 bl FreeSpritePaletteByTag movs r0, 0 str r0, [r4] _080F3154: movs r5, 0 ldr r0, _080F318C @ =0x000087d0 adds r6, r0 _080F315A: lsls r0, r5, 2 adds r4, r6, r0 ldr r0, [r4] cmp r0, 0 beq _080F316C bl DestroySprite movs r0, 0 str r0, [r4] _080F316C: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0x1 bls _080F315A movs r0, 0xA bl FreeSpriteTilesByTag pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080F3184: .4byte gUnknown_083DFEC4 _080F3188: .4byte 0x000087cc _080F318C: .4byte 0x000087d0 thumb_func_end sub_80F3130 thumb_func_start sub_80F3190 sub_80F3190: @ 80F3190 ldr r1, _080F31A4 @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r2, _080F31A8 @ =0x0000876c adds r1, r2 movs r2, 0 ldrsh r1, [r1, r2] lsls r1, 4 adds r1, 0x10 strh r1, [r0, 0x22] bx lr .align 2, 0 _080F31A4: .4byte gUnknown_083DFEC4 _080F31A8: .4byte 0x0000876c thumb_func_end sub_80F3190 thumb_func_start sub_80F31AC sub_80F31AC: @ 80F31AC push {r4,r5,lr} adds r3, r0, 0 ldr r0, _080F31E8 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F31EC @ =0x000087c9 adds r0, r1, r2 ldrb r0, [r0] cmp r0, 0 beq _080F325C movs r4, 0x36 ldrsh r0, [r3, r4] cmp r0, 0 beq _080F3226 movs r5, 0x34 ldrsh r0, [r3, r5] cmp r0, 0 bne _080F31F4 movs r2, 0 ldr r4, _080F31F0 @ =0x00008770 adds r0, r1, r4 movs r5, 0 ldrsh r0, [r0, r5] cmp r0, 0 bne _080F31DE movs r2, 0x1 _080F31DE: movs r0, 0x3E adds r0, r3 mov r12, r0 lsls r2, 2 b _080F3214 .align 2, 0 _080F31E8: .4byte gUnknown_083DFEC4 _080F31EC: .4byte 0x000087c9 _080F31F0: .4byte 0x00008770 _080F31F4: movs r4, 0 ldr r2, _080F3250 @ =0x00008772 adds r0, r1, r2 ldr r5, _080F3254 @ =0x00008774 adds r1, r5 movs r5, 0 ldrsh r2, [r0, r5] movs r5, 0 ldrsh r0, [r1, r5] cmp r2, r0 bne _080F320C movs r4, 0x1 _080F320C: movs r0, 0x3E adds r0, r3 mov r12, r0 lsls r2, r4, 2 _080F3214: ldrb r1, [r0] movs r0, 0x5 negs r0, r0 ands r0, r1 orrs r0, r2 mov r1, r12 strb r0, [r1] movs r0, 0 strh r0, [r3, 0x36] _080F3226: ldrh r0, [r3, 0x2E] adds r0, 0x1 movs r1, 0 strh r0, [r3, 0x2E] lsls r0, 16 asrs r0, 16 cmp r0, 0x4 ble _080F325C strh r1, [r3, 0x2E] ldrh r0, [r3, 0x30] adds r0, 0x1 strh r0, [r3, 0x30] lsls r0, 16 asrs r0, 16 cmp r0, 0x4 bgt _080F3258 ldrh r0, [r3, 0x32] ldrh r2, [r3, 0x26] adds r0, r2 strh r0, [r3, 0x26] b _080F325C .align 2, 0 _080F3250: .4byte 0x00008772 _080F3254: .4byte 0x00008774 _080F3258: strh r1, [r3, 0x30] strh r1, [r3, 0x26] _080F325C: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_80F31AC thumb_func_start sub_80F3264 sub_80F3264: @ 80F3264 push {lr} movs r1, 0 ldr r0, _080F328C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r3, _080F3290 @ =0x000087d0 adds r2, r0, r3 movs r3, 0x1 _080F3272: lsls r0, r1, 2 adds r0, r2, r0 ldr r0, [r0] cmp r0, 0 beq _080F327E strh r3, [r0, 0x36] _080F327E: adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0x1 bls _080F3272 pop {r0} bx r0 .align 2, 0 _080F328C: .4byte gUnknown_083DFEC4 _080F3290: .4byte 0x000087d0 thumb_func_end sub_80F3264 thumb_func_start sub_80F3294 sub_80F3294: @ 80F3294 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 ldr r0, _080F32F4 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F32F8 @ =0x000087cc adds r0, r4, r1 ldr r2, [r0] adds r2, 0x3E movs r0, 0x1 adds r1, r6, 0 ands r1, r0 lsls r1, 2 ldrb r3, [r2] movs r5, 0x5 negs r5, r5 adds r0, r5, 0 ands r0, r3 orrs r0, r1 strb r0, [r2] ldr r2, _080F32FC @ =0x000087c9 adds r0, r4, r2 ldrb r0, [r0] cmp r0, 0 beq _080F331A cmp r6, 0x1 bne _080F3308 ldr r1, _080F3300 @ =0x000087d0 adds r0, r4, r1 ldr r1, [r0] adds r1, 0x3E ldrb r2, [r1] adds r0, r5, 0 ands r0, r2 movs r3, 0x4 orrs r0, r3 strb r0, [r1] ldr r2, _080F3304 @ =0x000087d4 adds r0, r4, r2 ldr r1, [r0] adds r1, 0x3E ldrb r2, [r1] adds r0, r5, 0 ands r0, r2 orrs r0, r3 strb r0, [r1] b _080F331A .align 2, 0 _080F32F4: .4byte gUnknown_083DFEC4 _080F32F8: .4byte 0x000087cc _080F32FC: .4byte 0x000087c9 _080F3300: .4byte 0x000087d0 _080F3304: .4byte 0x000087d4 _080F3308: ldr r1, _080F3320 @ =0x000087d0 adds r0, r4, r1 ldr r0, [r0] movs r1, 0x1 strh r1, [r0, 0x36] ldr r2, _080F3324 @ =0x000087d4 adds r0, r4, r2 ldr r0, [r0] strh r1, [r0, 0x36] _080F331A: pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080F3320: .4byte 0x000087d0 _080F3324: .4byte 0x000087d4 thumb_func_end sub_80F3294 thumb_func_start sub_80F3328 sub_80F3328: @ 80F3328 push {lr} adds r2, r0, 0 ldr r0, _080F334C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F3350 @ =0x000087dc adds r0, r1 movs r3, 0x2E ldrsh r1, [r2, r3] movs r3, 0 ldrsh r0, [r0, r3] cmp r1, r0 bne _080F3354 adds r0, r2, 0 movs r1, 0 bl StartSpriteAnim b _080F335C .align 2, 0 _080F334C: .4byte gUnknown_083DFEC4 _080F3350: .4byte 0x000087dc _080F3354: adds r0, r2, 0 movs r1, 0x1 bl StartSpriteAnim _080F335C: pop {r0} bx r0 thumb_func_end sub_80F3328 thumb_func_start sub_80F3360 sub_80F3360: @ 80F3360 push {r4,lr} adds r4, r0, 0 ldr r0, _080F3384 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F3388 @ =0x000087dc adds r1, r0, r2 movs r2, 0 ldrsh r1, [r1, r2] ldr r2, _080F338C @ =0x000087da adds r0, r2 movs r2, 0 ldrsh r0, [r0, r2] subs r0, 0x1 cmp r1, r0 bne _080F3390 movs r0, 0x4 b _080F3392 .align 2, 0 _080F3384: .4byte gUnknown_083DFEC4 _080F3388: .4byte 0x000087dc _080F338C: .4byte 0x000087da _080F3390: movs r0, 0x5 _080F3392: bl IndexOfSpritePaletteTag lsls r0, 4 ldrb r2, [r4, 0x5] movs r1, 0xF ands r1, r2 orrs r1, r0 strb r1, [r4, 0x5] pop {r4} pop {r0} bx r0 thumb_func_end sub_80F3360 thumb_func_start sub_80F33A8 sub_80F33A8: @ 80F33A8 push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x50 mov r1, sp ldr r0, _080F3440 @ =gUnknown_083E4628 ldm r0!, {r2-r4} stm r1!, {r2-r4} ldm r0!, {r2,r5,r6} stm r1!, {r2,r5,r6} ldm r0!, {r3,r4} stm r1!, {r3,r4} add r4, sp, 0x20 adds r1, r4, 0 ldr r0, _080F3444 @ =gUnknown_083E4648 ldm r0!, {r2,r5,r6} stm r1!, {r2,r5,r6} ldm r0!, {r3,r5,r6} stm r1!, {r3,r5,r6} add r5, sp, 0x38 adds r1, r5, 0 ldr r0, _080F3448 @ =gSpriteTemplate_83E4660 ldm r0!, {r2,r3,r6} stm r1!, {r2,r3,r6} ldm r0!, {r2,r3,r6} stm r1!, {r2,r3,r6} mov r0, sp bl LoadSpriteSheets adds r0, r4, 0 bl LoadSpritePalettes movs r6, 0 ldr r2, _080F344C @ =gUnknown_083DFEC4 ldr r1, [r2] ldr r3, _080F3450 @ =0x000087da adds r0, r1, r3 movs r4, 0 ldrsh r0, [r0, r4] subs r0, 0x1 adds r7, r5, 0 cmp r6, r0 bge _080F347A adds r5, r2, 0 adds r0, r3, 0 adds r0, r1 mov r8, r0 _080F3406: lsls r4, r6, 2 adds r2, r4, r6 lsls r2, 18 movs r1, 0x80 lsls r1, 12 adds r2, r1 asrs r2, 16 adds r0, r7, 0 movs r1, 0xE2 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0x40 beq _080F345C ldr r0, [r5] ldr r2, _080F3454 @ =0x000087e4 adds r0, r2 adds r0, r4 lsls r1, r3, 4 adds r1, r3 lsls r1, 2 ldr r2, _080F3458 @ =gSprites adds r1, r2 str r1, [r0] strh r6, [r1, 0x2E] b _080F3468 .align 2, 0 _080F3440: .4byte gUnknown_083E4628 _080F3444: .4byte gUnknown_083E4648 _080F3448: .4byte gSpriteTemplate_83E4660 _080F344C: .4byte gUnknown_083DFEC4 _080F3450: .4byte 0x000087da _080F3454: .4byte 0x000087e4 _080F3458: .4byte gSprites _080F345C: ldr r0, [r5] ldr r3, _080F34C8 @ =0x000087e4 adds r0, r3 adds r0, r4 movs r1, 0 str r1, [r0] _080F3468: adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 mov r4, r8 movs r1, 0 ldrsh r0, [r4, r1] subs r0, 0x1 cmp r6, r0 blt _080F3406 _080F347A: movs r0, 0x4 strh r0, [r7] ldr r0, _080F34CC @ =SpriteCallbackDummy str r0, [r7, 0x14] cmp r6, 0x5 bhi _080F34EE ldr r5, _080F34D0 @ =gUnknown_083DFEC4 _080F3488: lsls r4, r6, 2 adds r2, r4, r6 lsls r2, 18 movs r3, 0x80 lsls r3, 12 adds r2, r3 asrs r2, 16 adds r0, r7, 0 movs r1, 0xE6 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0x40 beq _080F34D8 ldr r2, [r5] ldr r0, _080F34C8 @ =0x000087e4 adds r2, r0 adds r2, r4 lsls r1, r3, 4 adds r1, r3 lsls r1, 2 ldr r0, _080F34D4 @ =gSprites adds r1, r0 str r1, [r2] ldrb r2, [r1, 0x3] movs r0, 0x3F ands r0, r2 strb r0, [r1, 0x3] b _080F34E4 .align 2, 0 _080F34C8: .4byte 0x000087e4 _080F34CC: .4byte SpriteCallbackDummy _080F34D0: .4byte gUnknown_083DFEC4 _080F34D4: .4byte gSprites _080F34D8: ldr r0, [r5] ldr r1, _080F3548 @ =0x000087e4 adds r0, r1 adds r0, r4 movs r1, 0 str r1, [r0] _080F34E4: adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 cmp r6, 0x5 bls _080F3488 _080F34EE: movs r0, 0x5 strh r0, [r7] ldr r0, _080F354C @ =sub_80F3360 str r0, [r7, 0x14] lsls r5, r6, 2 adds r2, r5, r6 lsls r2, 18 movs r3, 0x80 lsls r3, 12 adds r2, r3 asrs r2, 16 adds r0, r7, 0 movs r1, 0xDE movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0x40 beq _080F3558 ldr r0, _080F3550 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r6, _080F3548 @ =0x000087e4 adds r4, r6 adds r4, r5 lsls r1, r3, 4 adds r1, r3 lsls r1, 2 ldr r0, _080F3554 @ =gSprites adds r1, r0 str r1, [r4] ldrb r3, [r1, 0x1] movs r2, 0x3F adds r0, r2, 0 ands r0, r3 movs r3, 0x40 orrs r0, r3 strb r0, [r1, 0x1] ldr r1, [r4] ldrb r0, [r1, 0x3] ands r2, r0 movs r0, 0x80 orrs r2, r0 strb r2, [r1, 0x3] b _080F3566 .align 2, 0 _080F3548: .4byte 0x000087e4 _080F354C: .4byte sub_80F3360 _080F3550: .4byte gUnknown_083DFEC4 _080F3554: .4byte gSprites _080F3558: ldr r0, _080F3574 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F3578 @ =0x000087e4 adds r0, r1 adds r0, r5 movs r1, 0 str r1, [r0] _080F3566: add sp, 0x50 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F3574: .4byte gUnknown_083DFEC4 _080F3578: .4byte 0x000087e4 thumb_func_end sub_80F33A8 thumb_func_start sub_80F357C sub_80F357C: @ 80F357C push {r4-r6,lr} movs r5, 0 ldr r0, _080F35AC @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F35B0 @ =0x000087e4 adds r6, r0, r1 _080F3588: lsls r0, r5, 2 adds r4, r6, r0 ldr r0, [r4] cmp r0, 0 beq _080F359A bl DestroySprite movs r0, 0 str r0, [r4] _080F359A: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0x6 bls _080F3588 pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080F35AC: .4byte gUnknown_083DFEC4 _080F35B0: .4byte 0x000087e4 thumb_func_end sub_80F357C thumb_func_start sub_80F35B4 sub_80F35B4: @ 80F35B4 push {r4,lr} ldr r0, _080F35FC @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F3600 @ =0x000076b0 adds r0, r4, r1 movs r1, 0x1C strh r1, [r0] ldr r1, _080F3604 @ =0x000076b2 adds r2, r4, r1 movs r1, 0x13 strh r1, [r2] bl sub_80F727C bl sub_80F7404 ldr r2, _080F3608 @ =gUnknown_083E4678 movs r0, 0x1B movs r1, 0x15 bl sub_80F7920 ldrb r1, [r0, 0x5] movs r2, 0xC orrs r1, r2 strb r1, [r0, 0x5] movs r1, 0xC0 strh r1, [r0, 0x20] movs r1, 0x20 strh r1, [r0, 0x22] ldr r1, _080F360C @ =sub_80F363C str r1, [r0, 0x1C] ldr r1, _080F3610 @ =0x000076ac adds r4, r1 str r0, [r4] pop {r4} pop {r0} bx r0 .align 2, 0 _080F35FC: .4byte gUnknown_083DFEC4 _080F3600: .4byte 0x000076b0 _080F3604: .4byte 0x000076b2 _080F3608: .4byte gUnknown_083E4678 _080F360C: .4byte sub_80F363C _080F3610: .4byte 0x000076ac thumb_func_end sub_80F35B4 thumb_func_start sub_80F3614 sub_80F3614: @ 80F3614 push {lr} ldr r0, _080F3634 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F3638 @ =0x000076ac adds r0, r1 ldr r0, [r0] bl DestroySprite movs r0, 0x1B bl FreeSpriteTilesByTag movs r0, 0x15 bl FreeSpritePaletteByTag pop {r0} bx r0 .align 2, 0 _080F3634: .4byte gUnknown_083DFEC4 _080F3638: .4byte 0x000076ac thumb_func_end sub_80F3614 thumb_func_start sub_80F363C sub_80F363C: @ 80F363C push {lr} ldr r1, _080F365C @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r3, _080F3660 @ =0x00008fe9 adds r2, r1, r3 ldrb r2, [r2] lsls r2, 24 asrs r2, 24 ldr r3, _080F3664 @ =0x00008934 adds r1, r3 adds r1, r2 ldrb r1, [r1] bl StartSpriteAnim pop {r0} bx r0 .align 2, 0 _080F365C: .4byte gUnknown_083DFEC4 _080F3660: .4byte 0x00008fe9 _080F3664: .4byte 0x00008934 thumb_func_end sub_80F363C thumb_func_start sub_80F3668 sub_80F3668: @ 80F3668 push {lr} ldr r0, _080F368C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F3690 @ =0x00008fe9 adds r1, r0, r2 ldrb r1, [r1] lsls r1, 24 asrs r1, 24 ldr r2, _080F3694 @ =0x00008934 adds r0, r2 adds r0, r1 ldrb r0, [r0] movs r1, 0xB0 movs r2, 0x20 bl sub_80F7418 pop {r0} bx r0 .align 2, 0 _080F368C: .4byte gUnknown_083DFEC4 _080F3690: .4byte 0x00008fe9 _080F3694: .4byte 0x00008934 thumb_func_end sub_80F3668 thumb_func_start sub_80F3698 sub_80F3698: @ 80F3698 push {r4,lr} ldr r0, _080F36DC @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r1, _080F36E0 @ =0x000087dc adds r0, r3, r1 movs r2, 0 ldrsh r1, [r0, r2] lsls r1, 2 ldr r4, _080F36E4 @ =0x0000893c adds r1, r4 adds r1, r3, r1 ldr r2, _080F36E8 @ =0x00008fe9 adds r0, r3, r2 movs r2, 0 ldrsb r2, [r0, r2] subs r4, 0x8 adds r0, r3, r4 adds r0, r2 ldr r2, _080F36EC @ =0x000076b4 adds r3, r2 ldrb r2, [r3] strb r2, [r0] ldrb r0, [r1, 0x1] ldr r1, [r1] lsls r1, 11 lsrs r1, 27 ldrb r2, [r3] bl sub_80F4548 bl sub_80F7470 pop {r4} pop {r0} bx r0 .align 2, 0 _080F36DC: .4byte gUnknown_083DFEC4 _080F36E0: .4byte 0x000087dc _080F36E4: .4byte 0x0000893c _080F36E8: .4byte 0x00008fe9 _080F36EC: .4byte 0x000076b4 thumb_func_end sub_80F3698 thumb_func_start sub_80F36F0 sub_80F36F0: @ 80F36F0 push {lr} ldr r0, _080F3718 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F371C @ =0x00000306 adds r2, r0, r1 movs r1, 0 strh r1, [r2] ldr r1, _080F3720 @ =0x00006dac adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080F3712 _080F3708: bl sub_80F3724 lsls r0, 24 cmp r0, 0 bne _080F3708 _080F3712: pop {r0} bx r0 .align 2, 0 _080F3718: .4byte gUnknown_083DFEC4 _080F371C: .4byte 0x00000306 _080F3720: .4byte 0x00006dac thumb_func_end sub_80F36F0 thumb_func_start sub_80F3724 sub_80F3724: @ 80F3724 push {r4,lr} ldr r0, _080F3740 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F3744 @ =0x00000306 adds r4, r1, r0 ldrh r0, [r4] cmp r0, 0x1 beq _080F3764 cmp r0, 0x1 bgt _080F3748 cmp r0, 0 beq _080F374E b _080F377A .align 2, 0 _080F3740: .4byte gUnknown_083DFEC4 _080F3744: .4byte 0x00000306 _080F3748: cmp r0, 0x2 beq _080F376E b _080F377A _080F374E: ldr r0, _080F375C @ =gUnknown_083E3D00 ldr r2, _080F3760 @ =0x0000984c adds r1, r2 bl LZ77UnCompWram b _080F377E .align 2, 0 _080F375C: .4byte gUnknown_083E3D00 _080F3760: .4byte 0x0000984c _080F3764: bl sub_80F379C ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] _080F376E: bl sub_80F37D0 lsls r0, 24 cmp r0, 0 beq _080F377E b _080F378C _080F377A: movs r0, 0 b _080F378E _080F377E: ldr r0, _080F3794 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F3798 @ =0x00000306 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080F378C: movs r0, 0x1 _080F378E: pop {r4} pop {r1} bx r1 .align 2, 0 _080F3794: .4byte gUnknown_083DFEC4 _080F3798: .4byte 0x00000306 thumb_func_end sub_80F3724 thumb_func_start sub_80F379C sub_80F379C: @ 80F379C push {lr} ldr r0, _080F37C4 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F37C8 @ =0x0000bc93 adds r2, r0, r1 movs r1, 0 strb r1, [r2] ldr r1, _080F37CC @ =0x00006dac adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080F37BE _080F37B4: bl sub_80F37D0 lsls r0, 24 cmp r0, 0 bne _080F37B4 _080F37BE: pop {r0} bx r0 .align 2, 0 _080F37C4: .4byte gUnknown_083DFEC4 _080F37C8: .4byte 0x0000bc93 _080F37CC: .4byte 0x00006dac thumb_func_end sub_80F379C thumb_func_start sub_80F37D0 sub_80F37D0: @ 80F37D0 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} ldr r0, _080F3898 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F389C @ =0x0000bc93 adds r1, r2 ldrb r1, [r1] adds r2, r0, 0 cmp r1, 0xB bhi _080F38A8 movs r3, 0 mov r8, r3 movs r7, 0xF mov r9, r7 _080F37F0: ldr r2, [r2] ldr r1, _080F389C @ =0x0000bc93 adds r0, r2, r1 ldrb r1, [r0] lsls r0, r1, 8 ldr r3, _080F38A0 @ =0x0000984c adds r0, r3 adds r4, r2, r0 lsls r1, 9 ldr r7, _080F38A4 @ =0x0000a44c adds r1, r7 adds r5, r2, r1 movs r6, 0 _080F380A: adds r0, r4, 0 adds r1, r5, 0 movs r2, 0x10 bl CpuFastSet adds r5, 0x40 adds r4, 0x20 movs r1, 0 adds r6, 0x1 mov r12, r6 _080F381E: movs r0, 0 adds r6, r1, 0x1 _080F3822: adds r4, 0x4 movs r2, 0 adds r3, r0, 0x1 _080F3828: subs r4, 0x1 ldrb r0, [r4] lsls r1, r0, 4 lsrs r0, 4 mov r7, r9 ands r0, r7 orrs r1, r0 strb r1, [r5] adds r5, 0x1 adds r0, r2, 0x1 lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x3 bls _080F3828 adds r4, 0x4 lsls r0, r3, 24 lsrs r0, 24 cmp r0, 0x7 bls _080F3822 subs r4, 0x40 lsls r0, r6, 24 lsrs r1, r0, 24 cmp r1, 0x1 bls _080F381E adds r4, 0x60 mov r1, r12 lsls r0, r1, 24 lsrs r6, r0, 24 cmp r6, 0x3 bls _080F380A ldr r2, _080F3898 @ =gUnknown_083DFEC4 ldr r3, [r2] ldr r7, _080F389C @ =0x0000bc93 adds r1, r3, r7 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] lsls r0, 24 lsrs r0, 24 cmp r0, 0xB bhi _080F38A8 mov r0, r8 adds r0, 0x1 lsls r0, 16 lsrs r0, 16 mov r8, r0 cmp r0, 0x1 bls _080F37F0 adds r1, r7, 0 adds r0, r3, r1 ldrb r0, [r0] cmp r0, 0xB bhi _080F38A8 movs r0, 0x1 b _080F38AA .align 2, 0 _080F3898: .4byte gUnknown_083DFEC4 _080F389C: .4byte 0x0000bc93 _080F38A0: .4byte 0x0000984c _080F38A4: .4byte 0x0000a44c _080F38A8: movs r0, 0 _080F38AA: pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_80F37D0 thumb_func_start sub_80F38B8 sub_80F38B8: @ 80F38B8 push {lr} ldr r0, _080F38E0 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F38E4 @ =0x00000306 adds r2, r0, r1 movs r1, 0 strh r1, [r2] ldr r1, _080F38E8 @ =0x00006dac adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080F38DA _080F38D0: bl sub_80F38EC lsls r0, 24 cmp r0, 0 bne _080F38D0 _080F38DA: pop {r0} bx r0 .align 2, 0 _080F38E0: .4byte gUnknown_083DFEC4 _080F38E4: .4byte 0x00000306 _080F38E8: .4byte 0x00006dac thumb_func_end sub_80F38B8 thumb_func_start sub_80F38EC sub_80F38EC: @ 80F38EC push {r4,lr} ldr r0, _080F3908 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r0, _080F390C @ =0x00000306 adds r4, r2, r0 ldrh r1, [r4] cmp r1, 0x1 beq _080F3930 cmp r1, 0x1 bgt _080F3910 cmp r1, 0 beq _080F391A b _080F394E .align 2, 0 _080F3908: .4byte gUnknown_083DFEC4 _080F390C: .4byte 0x00000306 _080F3910: cmp r1, 0x2 beq _080F3938 cmp r1, 0x3 beq _080F3942 b _080F394E _080F391A: ldr r3, _080F3928 @ =0x00009348 adds r0, r2, r3 str r1, [r0] ldr r3, _080F392C @ =0x0000bc92 adds r0, r2, r3 strb r1, [r0] b _080F3952 .align 2, 0 _080F3928: .4byte 0x00009348 _080F392C: .4byte 0x0000bc92 _080F3930: movs r0, 0 bl sub_80F2E18 b _080F3952 _080F3938: bl sub_80F3970 ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] _080F3942: bl sub_80F39A4 lsls r0, 24 cmp r0, 0 beq _080F3952 b _080F3960 _080F394E: movs r0, 0 b _080F3962 _080F3952: ldr r0, _080F3968 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F396C @ =0x00000306 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080F3960: movs r0, 0x1 _080F3962: pop {r4} pop {r1} bx r1 .align 2, 0 _080F3968: .4byte gUnknown_083DFEC4 _080F396C: .4byte 0x00000306 thumb_func_end sub_80F38EC thumb_func_start sub_80F3970 sub_80F3970: @ 80F3970 push {lr} ldr r0, _080F3998 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F399C @ =0x0000bc93 adds r2, r0, r1 movs r1, 0 strb r1, [r2] ldr r1, _080F39A0 @ =0x00006dac adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080F3992 _080F3988: bl sub_80F39A4 lsls r0, 24 cmp r0, 0 bne _080F3988 _080F3992: pop {r0} bx r0 .align 2, 0 _080F3998: .4byte gUnknown_083DFEC4 _080F399C: .4byte 0x0000bc93 _080F39A0: .4byte 0x00006dac thumb_func_end sub_80F3970 thumb_func_start sub_80F39A4 sub_80F39A4: @ 80F39A4 push {r4,r5,lr} sub sp, 0x10 ldr r0, _080F3A18 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F3A1C @ =0x0000bc93 adds r4, r1, r0 ldrb r0, [r4] cmp r0, 0xB bhi _080F3A30 ldrb r0, [r4] lsls r0, 9 ldr r2, _080F3A20 @ =0x0000a44c adds r0, r2 adds r0, r1, r0 str r0, [sp] ldr r5, _080F3A24 @ =0xffff0000 ldr r2, [sp, 0x4] ands r2, r5 movs r0, 0x80 lsls r0, 2 orrs r2, r0 str r2, [sp, 0x4] ldrb r1, [r4] adds r1, 0xB lsls r1, 16 ldr r0, _080F3A28 @ =0x0000ffff ands r0, r2 orrs r0, r1 str r0, [sp, 0x4] mov r0, sp bl LoadSpriteSheet ldrb r0, [r4] cmp r0, 0x4 bhi _080F3A04 lsls r0, 5 ldr r1, _080F3A2C @ =gUnknown_083E3C60 adds r0, r1 str r0, [sp, 0x8] ldrb r2, [r4] adds r2, 0xA add r0, sp, 0x8 ldr r1, [r0, 0x4] ands r1, r5 orrs r1, r2 str r1, [r0, 0x4] bl LoadSpritePalette _080F3A04: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] lsls r0, 24 lsrs r0, 24 cmp r0, 0xB bhi _080F3A30 movs r0, 0x1 b _080F3A32 .align 2, 0 _080F3A18: .4byte gUnknown_083DFEC4 _080F3A1C: .4byte 0x0000bc93 _080F3A20: .4byte 0x0000a44c _080F3A24: .4byte 0xffff0000 _080F3A28: .4byte 0x0000ffff _080F3A2C: .4byte gUnknown_083E3C60 _080F3A30: movs r0, 0 _080F3A32: add sp, 0x10 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80F39A4 thumb_func_start sub_80F3A3C sub_80F3A3C: @ 80F3A3C push {r4-r7,lr} sub sp, 0x18 lsls r0, 16 lsrs r5, r0, 16 lsls r1, 16 lsrs r4, r1, 16 cmp r4, 0x2 bhi _080F3A60 lsls r0, r4, 3 adds r0, r4 adds r0, r5, r0 lsls r0, 16 lsrs r1, r0, 16 ldr r2, _080F3A5C @ =gUnknown_083DFEC4 b _080F3A78 .align 2, 0 _080F3A5C: .4byte gUnknown_083DFEC4 _080F3A60: ldr r2, _080F3AD0 @ =gUnknown_083DFEC4 ldr r1, [r2] ldr r3, _080F3AD4 @ =0x0000bc8e adds r0, r1, r3 ldrb r0, [r0] ldr r6, _080F3AD8 @ =0x0000bc8f adds r1, r6 ldrb r1, [r1] subs r0, r1 adds r0, r5, r0 lsls r0, 16 lsrs r1, r0, 16 _080F3A78: ldr r0, [r2] ldr r7, _080F3ADC @ =0x0000bc4c adds r0, r7 adds r0, r1 ldrb r2, [r0] mov r1, sp ldr r0, _080F3AE0 @ =gSpriteTemplate_83E476C ldm r0!, {r3,r6,r7} stm r1!, {r3,r6,r7} ldm r0!, {r3,r6,r7} stm r1!, {r3,r6,r7} mov r3, sp ldr r1, _080F3AE4 @ =gUnknown_083E4698 lsls r2, 2 adds r0, r2, r1 ldrh r0, [r0] adds r0, 0xB strh r0, [r3] adds r1, 0x2 adds r2, r1 ldrh r0, [r2] adds r0, 0xA strh r0, [r3, 0x2] lsls r1, r5, 20 movs r0, 0xC0 lsls r0, 15 adds r1, r0 asrs r1, 16 lsls r2, r4, 20 movs r3, 0xA0 lsls r3, 14 adds r2, r3 asrs r2, 16 mov r0, sp movs r3, 0x2 bl CreateSprite lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x40 bne _080F3AE8 movs r0, 0 b _080F3AF2 .align 2, 0 _080F3AD0: .4byte gUnknown_083DFEC4 _080F3AD4: .4byte 0x0000bc8e _080F3AD8: .4byte 0x0000bc8f _080F3ADC: .4byte 0x0000bc4c _080F3AE0: .4byte gSpriteTemplate_83E476C _080F3AE4: .4byte gUnknown_083E4698 _080F3AE8: lsls r0, r1, 4 adds r0, r1 lsls r0, 2 ldr r1, _080F3AFC @ =gSprites adds r0, r1 _080F3AF2: add sp, 0x18 pop {r4-r7} pop {r1} bx r1 .align 2, 0 _080F3AFC: .4byte gSprites thumb_func_end sub_80F3A3C thumb_func_start sub_80F3B00 sub_80F3B00: @ 80F3B00 push {r4,lr} ldr r0, _080F3B34 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F3B38 @ =0x0000bc90 adds r0, r4, r1 ldrb r0, [r0] ldr r2, _080F3B3C @ =0x0000bc91 adds r1, r4, r2 ldrb r1, [r1] bl sub_80F3A3C adds r2, r0, 0 ldr r1, _080F3B40 @ =0x00009348 adds r0, r4, r1 str r2, [r0] cmp r2, 0 beq _080F3B48 adds r0, r2, 0 movs r1, 0x1 bl StartSpriteAffineAnim ldr r2, _080F3B44 @ =0x0000bc92 adds r1, r4, r2 movs r0, 0x1 strb r0, [r1] b _080F3B4E .align 2, 0 _080F3B34: .4byte gUnknown_083DFEC4 _080F3B38: .4byte 0x0000bc90 _080F3B3C: .4byte 0x0000bc91 _080F3B40: .4byte 0x00009348 _080F3B44: .4byte 0x0000bc92 _080F3B48: ldr r1, _080F3B54 @ =0x0000bc92 adds r0, r4, r1 strb r2, [r0] _080F3B4E: pop {r4} pop {r0} bx r0 .align 2, 0 _080F3B54: .4byte 0x0000bc92 thumb_func_end sub_80F3B00 thumb_func_start sub_80F3B58 sub_80F3B58: @ 80F3B58 push {lr} ldr r0, _080F3B6C @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F3B70 @ =0x0000bc92 adds r2, r1, r0 ldrb r0, [r2] cmp r0, 0 bne _080F3B74 movs r0, 0 b _080F3B8A .align 2, 0 _080F3B6C: .4byte gUnknown_083DFEC4 _080F3B70: .4byte 0x0000bc92 _080F3B74: ldr r3, _080F3B90 @ =0x00009348 adds r0, r1, r3 ldr r0, [r0] adds r0, 0x3F ldrb r0, [r0] lsrs r0, 5 movs r1, 0x1 eors r0, r1 ands r0, r1 strb r0, [r2] ldrb r0, [r2] _080F3B8A: pop {r1} bx r1 .align 2, 0 _080F3B90: .4byte 0x00009348 thumb_func_end sub_80F3B58 thumb_func_start sub_80F3B94 sub_80F3B94: @ 80F3B94 push {r4,lr} ldr r0, _080F3BB8 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F3BBC @ =0x00009348 adds r0, r4, r1 ldr r2, [r0] cmp r2, 0 beq _080F3BC4 adds r0, r2, 0 movs r1, 0x2 bl StartSpriteAffineAnim ldr r0, _080F3BC0 @ =0x0000bc92 adds r1, r4, r0 movs r0, 0x1 strb r0, [r1] b _080F3BCA .align 2, 0 _080F3BB8: .4byte gUnknown_083DFEC4 _080F3BBC: .4byte 0x00009348 _080F3BC0: .4byte 0x0000bc92 _080F3BC4: ldr r1, _080F3BD0 @ =0x0000bc92 adds r0, r4, r1 strb r2, [r0] _080F3BCA: pop {r4} pop {r0} bx r0 .align 2, 0 _080F3BD0: .4byte 0x0000bc92 thumb_func_end sub_80F3B94 thumb_func_start sub_80F3BD4 sub_80F3BD4: @ 80F3BD4 push {r4-r6,lr} ldr r0, _080F3C18 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F3C1C @ =0x0000bc92 adds r5, r1, r0 ldrb r0, [r5] cmp r0, 0 beq _080F3C24 ldr r0, _080F3C20 @ =0x00009348 adds r4, r1, r0 ldr r0, [r4] adds r0, 0x3F ldrb r0, [r0] lsrs r0, 5 movs r1, 0x1 eors r0, r1 ands r0, r1 strb r0, [r5] adds r6, r0, 0 cmp r6, 0 bne _080F3C12 ldr r0, [r4] ldrb r0, [r0, 0x3] lsls r0, 26 lsrs r0, 27 bl FreeOamMatrix ldr r0, [r4] bl DestroySprite str r6, [r4] _080F3C12: ldrb r0, [r5] b _080F3C26 .align 2, 0 _080F3C18: .4byte gUnknown_083DFEC4 _080F3C1C: .4byte 0x0000bc92 _080F3C20: .4byte 0x00009348 _080F3C24: movs r0, 0 _080F3C26: pop {r4-r6} pop {r1} bx r1 thumb_func_end sub_80F3BD4 thumb_func_start sub_80F3C2C sub_80F3C2C: @ 80F3C2C push {r4,lr} ldr r0, _080F3C8C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F3C90 @ =0x00009348 adds r4, r0, r1 ldr r0, [r4] cmp r0, 0 beq _080F3C50 ldrb r0, [r0, 0x3] lsls r0, 26 lsrs r0, 27 bl FreeOamMatrix ldr r0, [r4] bl DestroySprite movs r0, 0 str r0, [r4] _080F3C50: movs r4, 0 _080F3C52: adds r0, r4, 0 adds r0, 0xB lsls r0, 16 lsrs r0, 16 bl FreeSpriteTilesByTag adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0xB bls _080F3C52 movs r4, 0 _080F3C6A: adds r0, r4, 0 adds r0, 0xA lsls r0, 16 lsrs r0, 16 bl FreeSpritePaletteByTag adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x4 bls _080F3C6A bl sub_80F2F48 pop {r4} pop {r0} bx r0 .align 2, 0 _080F3C8C: .4byte gUnknown_083DFEC4 _080F3C90: .4byte 0x00009348 thumb_func_end sub_80F3C2C thumb_func_start sub_80F3C94 sub_80F3C94: @ 80F3C94 push {lr} sub sp, 0x10 ldr r0, _080F3CDC @ =gUnknown_083E4784 ldr r1, [r0, 0x4] ldr r0, [r0] str r0, [sp] str r1, [sp, 0x4] ldr r0, _080F3CE0 @ =gUnknown_083E478C ldr r1, [r0, 0x4] ldr r0, [r0] str r0, [sp, 0x8] str r1, [sp, 0xC] mov r0, sp bl LoadSpriteSheet add r0, sp, 0x8 bl LoadSpritePalette movs r1, 0 ldr r0, _080F3CE4 @ =gUnknown_083DFEC4 ldr r0, [r0] movs r3, 0x88 lsls r3, 8 adds r2, r0, r3 movs r3, 0 _080F3CC6: lsls r0, r1, 2 adds r0, r2, r0 str r3, [r0] adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0x9 bls _080F3CC6 add sp, 0x10 pop {r0} bx r0 .align 2, 0 _080F3CDC: .4byte gUnknown_083E4784 _080F3CE0: .4byte gUnknown_083E478C _080F3CE4: .4byte gUnknown_083DFEC4 thumb_func_end sub_80F3C94 thumb_func_start sub_80F3CE8 sub_80F3CE8: @ 80F3CE8 push {lr} bl move_anim_execute movs r0, 0x17 bl FreeSpriteTilesByTag movs r0, 0xF bl FreeSpritePaletteByTag pop {r0} bx r0 thumb_func_end sub_80F3CE8 thumb_func_start sub_80F3D00 sub_80F3D00: @ 80F3D00 push {r4,r5,lr} ldr r0, _080F3D34 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r1, _080F3D38 @ =0x000087dc adds r0, r2, r1 movs r3, 0 ldrsh r0, [r0, r3] lsls r0, 2 ldr r1, _080F3D3C @ =0x0000893c adds r0, r1 adds r0, r2, r0 ldrb r1, [r0, 0x3] movs r0, 0x40 ands r0, r1 cmp r0, 0 beq _080F3D94 ldr r3, _080F3D40 @ =0x00008fe9 adds r0, r2, r3 movs r1, 0 ldrsb r1, [r0, r1] ldr r3, _080F3D44 @ =0x00008931 adds r0, r2, r3 adds r0, r1 ldrb r5, [r0] movs r4, 0 b _080F3D86 .align 2, 0 _080F3D34: .4byte gUnknown_083DFEC4 _080F3D38: .4byte 0x000087dc _080F3D3C: .4byte 0x0000893c _080F3D40: .4byte 0x00008fe9 _080F3D44: .4byte 0x00008931 _080F3D48: ldr r0, _080F3D9C @ =gSpriteTemplate_83E4800 movs r1, 0 movs r2, 0 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x40 beq _080F3D8C ldr r0, _080F3DA0 @ =gUnknown_083DFEC4 ldr r2, [r0] lsls r0, r4, 2 movs r3, 0x88 lsls r3, 8 adds r2, r3 adds r2, r0 lsls r0, r1, 4 adds r0, r1 lsls r0, 2 ldr r1, _080F3DA4 @ =gSprites adds r0, r1 str r0, [r2] adds r0, 0x3E ldrb r1, [r0] movs r2, 0x4 orrs r1, r2 strb r1, [r0] adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 _080F3D86: adds r0, r5, 0x1 cmp r4, r0 blt _080F3D48 _080F3D8C: adds r0, r5, 0 movs r1, 0x1 bl sub_80F3F20 _080F3D94: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F3D9C: .4byte gSpriteTemplate_83E4800 _080F3DA0: .4byte gUnknown_083DFEC4 _080F3DA4: .4byte gSprites thumb_func_end sub_80F3D00 thumb_func_start move_anim_execute move_anim_execute: @ 80F3DA8 push {r4-r6,lr} movs r5, 0 ldr r0, _080F3DD8 @ =gUnknown_083DFEC4 ldr r0, [r0] movs r1, 0x88 lsls r1, 8 adds r6, r0, r1 _080F3DB6: lsls r0, r5, 2 adds r4, r6, r0 ldr r0, [r4] cmp r0, 0 beq _080F3DD2 bl DestroySprite movs r0, 0 str r0, [r4] adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0x9 bls _080F3DB6 _080F3DD2: pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080F3DD8: .4byte gUnknown_083DFEC4 thumb_func_end move_anim_execute thumb_func_start sub_80F3DDC sub_80F3DDC: @ 80F3DDC push {lr} adds r1, r0, 0 ldrh r0, [r1, 0x30] adds r0, 0x1 strh r0, [r1, 0x30] lsls r0, 16 asrs r0, 16 cmp r0, 0x3C ble _080F3DFE movs r0, 0 strh r0, [r1, 0x30] ldrh r0, [r1, 0x32] lsls r0, 24 lsrs r0, 24 movs r1, 0 bl sub_80F3F20 _080F3DFE: pop {r0} bx r0 thumb_func_end sub_80F3DDC thumb_func_start sub_80F3E04 sub_80F3E04: @ 80F3E04 push {lr} adds r2, r0, 0 adds r0, 0x3F ldrb r1, [r0] movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _080F3E1C movs r0, 0 strh r0, [r2, 0x30] ldr r0, _080F3E20 @ =sub_80F3DDC str r0, [r2, 0x1C] _080F3E1C: pop {r0} bx r0 .align 2, 0 _080F3E20: .4byte sub_80F3DDC thumb_func_end sub_80F3E04 thumb_func_start sub_80F3E24 sub_80F3E24: @ 80F3E24 push {r4,r5,lr} adds r3, r0, 0 ldr r0, _080F3E64 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F3E68 @ =0x00008768 adds r4, r0, r1 ldr r0, [r4] cmp r0, 0 beq _080F3E70 ldrh r1, [r0, 0x24] ldrh r0, [r0, 0x20] adds r1, r0 ldr r2, _080F3E6C @ =gUnknown_083E4794 movs r5, 0x2E ldrsh r0, [r3, r5] lsls r0, 2 adds r0, r2 ldrh r0, [r0] adds r0, r1 strh r0, [r3, 0x20] ldr r0, [r4] ldrh r1, [r0, 0x26] ldrh r0, [r0, 0x22] adds r1, r0 movs r4, 0x2E ldrsh r0, [r3, r4] lsls r0, 2 adds r2, 0x2 adds r0, r2 ldrh r0, [r0] adds r0, r1 b _080F3E8E .align 2, 0 _080F3E64: .4byte gUnknown_083DFEC4 _080F3E68: .4byte 0x00008768 _080F3E6C: .4byte gUnknown_083E4794 _080F3E70: ldr r1, _080F3E98 @ =gUnknown_083E4794 movs r5, 0x2E ldrsh r0, [r3, r5] lsls r0, 2 adds r0, r1 ldrh r0, [r0] adds r0, 0x28 strh r0, [r3, 0x20] movs r2, 0x2E ldrsh r0, [r3, r2] lsls r0, 2 adds r1, 0x2 adds r0, r1 ldrh r0, [r0] adds r0, 0x68 _080F3E8E: strh r0, [r3, 0x22] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F3E98: .4byte gUnknown_083E4794 thumb_func_end sub_80F3E24 thumb_func_start sub_80F3E9C sub_80F3E9C: @ 80F3E9C push {r4,lr} adds r4, r0, 0 ldrh r1, [r4, 0x30] movs r2, 0x30 ldrsh r0, [r4, r2] cmp r0, 0 beq _080F3ECA subs r0, r1, 0x1 strh r0, [r4, 0x30] lsls r0, 16 cmp r0, 0 bne _080F3F14 adds r0, r4, 0 movs r1, 0 bl SeekSpriteAnim adds r2, r4, 0 adds r2, 0x3E ldrb r1, [r2] movs r0, 0x5 negs r0, r0 ands r0, r1 strb r0, [r2] _080F3ECA: adds r0, r4, 0 bl sub_80F3E24 adds r0, r4, 0 adds r0, 0x3F ldrb r1, [r0] movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _080F3F14 adds r2, r4, 0 adds r2, 0x3E ldrb r0, [r2] movs r1, 0x4 orrs r0, r1 strb r0, [r2] movs r0, 0x34 ldrsh r1, [r4, r0] movs r2, 0x32 ldrsh r0, [r4, r2] cmp r1, r0 bne _080F3F10 cmp r1, 0x9 bne _080F3F08 bl sub_80F3FAC ldr r0, _080F3F04 @ =sub_80F3E04 b _080F3F12 .align 2, 0 _080F3F04: .4byte sub_80F3E04 _080F3F08: ldr r0, _080F3F0C @ =sub_80F3DDC b _080F3F12 .align 2, 0 _080F3F0C: .4byte sub_80F3DDC _080F3F10: ldr r0, _080F3F1C @ =SpriteCallbackDummy _080F3F12: str r0, [r4, 0x1C] _080F3F14: pop {r4} pop {r0} bx r0 .align 2, 0 _080F3F1C: .4byte SpriteCallbackDummy thumb_func_end sub_80F3E9C thumb_func_start sub_80F3F20 sub_80F3F20: @ 80F3F20 push {r4-r7,lr} mov r7, r8 push {r7} lsls r0, 24 lsrs r6, r0, 24 lsls r1, 24 lsrs r1, 24 mov r8, r1 movs r5, 0 ldr r0, _080F3F6C @ =gUnknown_083DFEC4 ldr r0, [r0] movs r1, 0x88 lsls r1, 8 adds r7, r0, r1 _080F3F3C: lsls r0, r5, 2 adds r4, r7, r0 ldr r0, [r4] cmp r0, 0 beq _080F3F92 strh r5, [r0, 0x2E] ldr r1, [r4] lsls r0, r5, 4 adds r0, 0x1 strh r0, [r1, 0x30] ldr r0, [r4] strh r6, [r0, 0x32] ldr r0, [r4] strh r5, [r0, 0x34] mov r3, r8 cmp r3, 0 beq _080F3F62 cmp r6, 0x9 beq _080F3F74 _080F3F62: ldr r1, [r4] ldr r0, _080F3F70 @ =sub_80F3E9C str r0, [r1, 0x1C] b _080F3F92 .align 2, 0 _080F3F6C: .4byte gUnknown_083DFEC4 _080F3F70: .4byte sub_80F3E9C _080F3F74: ldr r0, [r4] bl sub_80F3E24 bl sub_80F3FAC ldr r2, [r4] ldr r0, _080F3FA8 @ =sub_80F3E04 str r0, [r2, 0x1C] adds r2, 0x3E ldrb r0, [r2] movs r3, 0x5 negs r3, r3 adds r1, r3, 0 ands r0, r1 strb r0, [r2] _080F3F92: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0x9 bls _080F3F3C pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F3FA8: .4byte sub_80F3E04 thumb_func_end sub_80F3F20 thumb_func_start sub_80F3FAC sub_80F3FAC: @ 80F3FAC push {r4-r7,lr} movs r5, 0 ldr r0, _080F3FEC @ =gUnknown_083DFEC4 ldr r0, [r0] movs r1, 0x88 lsls r1, 8 adds r6, r0, r1 movs r0, 0x5 negs r0, r0 adds r7, r0, 0 _080F3FC0: lsls r0, r5, 2 adds r4, r6, r0 ldr r0, [r4] cmp r0, 0 beq _080F3FDA movs r1, 0 bl SeekSpriteAnim ldr r1, [r4] adds r1, 0x3E ldrb r0, [r1] ands r0, r7 strb r0, [r1] _080F3FDA: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0x9 bls _080F3FC0 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F3FEC: .4byte gUnknown_083DFEC4 thumb_func_end sub_80F3FAC thumb_func_start sub_80F3FF0 sub_80F3FF0: @ 80F3FF0 push {lr} ldr r0, _080F4018 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F401C @ =0x00000306 adds r2, r0, r1 movs r1, 0 strh r1, [r2] ldr r1, _080F4020 @ =0x00006dac adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _080F4012 _080F4008: bl sub_80F4024 lsls r0, 24 cmp r0, 0 bne _080F4008 _080F4012: pop {r0} bx r0 .align 2, 0 _080F4018: .4byte gUnknown_083DFEC4 _080F401C: .4byte 0x00000306 _080F4020: .4byte 0x00006dac thumb_func_end sub_80F3FF0 thumb_func_start sub_80F4024 sub_80F4024: @ 80F4024 push {r4,lr} sub sp, 0x10 ldr r0, _080F4040 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F4044 @ =0x00000306 adds r0, r4, r1 ldrh r0, [r0] cmp r0, 0x1 beq _080F4068 cmp r0, 0x1 bgt _080F4048 cmp r0, 0 beq _080F4052 b _080F4106 .align 2, 0 _080F4040: .4byte gUnknown_083DFEC4 _080F4044: .4byte 0x00000306 _080F4048: cmp r0, 0x2 beq _080F4084 cmp r0, 0x3 beq _080F40B8 b _080F4106 _080F4052: ldr r0, _080F4060 @ =gUnknown_083E329C ldr r2, _080F4064 @ =0x000131e4 adds r1, r4, r2 bl LZ77UnCompWram b _080F4118 .align 2, 0 _080F4060: .4byte gUnknown_083E329C _080F4064: .4byte 0x000131e4 _080F4068: ldr r1, _080F407C @ =0x000131e4 adds r0, r4, r1 str r0, [sp] ldr r0, _080F4080 @ =0x00181000 str r0, [sp, 0x4] mov r0, sp bl LoadSpriteSheet b _080F4118 .align 2, 0 _080F407C: .4byte 0x000131e4 _080F4080: .4byte 0x00181000 _080F4084: ldr r0, _080F40B4 @ =gUnknown_083E4818 ldr r1, [r0, 0x4] ldr r0, [r0] str r0, [sp, 0x8] str r1, [sp, 0xC] add r0, sp, 0x8 bl LoadSpritePalette movs r0, 0x10 bl IndexOfSpritePaletteTag lsls r0, 24 lsrs r0, 24 movs r1, 0xC2 lsls r1, 2 adds r2, r4, r1 adds r0, 0x10 movs r1, 0x1 lsls r1, r0 movs r0, 0x3 negs r0, r0 bics r0, r1 str r0, [r2] b _080F4118 .align 2, 0 _080F40B4: .4byte gUnknown_083E4818 _080F40B8: ldr r0, _080F40E4 @ =gSpriteTemplate_83E4850 movs r1, 0xDA movs r2, 0xE movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x40 beq _080F40F0 ldr r0, _080F40E8 @ =0x00006d98 adds r2, r4, r0 lsls r0, r1, 4 adds r0, r1 lsls r0, 2 ldr r1, _080F40EC @ =gSprites adds r0, r1 str r0, [r2] movs r1, 0 strh r1, [r0, 0x2E] b _080F40F8 .align 2, 0 _080F40E4: .4byte gSpriteTemplate_83E4850 _080F40E8: .4byte 0x00006d98 _080F40EC: .4byte gSprites _080F40F0: ldr r2, _080F410C @ =0x00006d98 adds r1, r4, r2 movs r0, 0 str r0, [r1] _080F40F8: ldr r0, _080F4110 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F4114 @ =0x00000306 adds r1, r0 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] _080F4106: movs r0, 0 b _080F4128 .align 2, 0 _080F410C: .4byte 0x00006d98 _080F4110: .4byte gUnknown_083DFEC4 _080F4114: .4byte 0x00000306 _080F4118: ldr r0, _080F4130 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F4134 @ =0x00000306 adds r1, r2 ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] movs r0, 0x1 _080F4128: add sp, 0x10 pop {r4} pop {r1} bx r1 .align 2, 0 _080F4130: .4byte gUnknown_083DFEC4 _080F4134: .4byte 0x00000306 thumb_func_end sub_80F4024 thumb_func_start sub_80F4138 sub_80F4138: @ 80F4138 push {lr} adds r2, r0, 0 ldr r0, _080F4170 @ =gUnknown_083DFEC4 ldr r0, [r0] movs r1, 0xC3 lsls r1, 2 adds r0, r1 ldrh r0, [r0] negs r0, r0 strh r0, [r2, 0x26] lsls r0, 16 asrs r0, 16 movs r1, 0x20 negs r1, r1 cmp r0, r1 bgt _080F4174 movs r1, 0x2E ldrsh r0, [r2, r1] cmp r0, 0 bne _080F418E adds r3, r2, 0 adds r3, 0x3E ldrb r0, [r3] movs r1, 0x4 orrs r0, r1 strb r0, [r3] movs r0, 0x1 b _080F418C .align 2, 0 _080F4170: .4byte gUnknown_083DFEC4 _080F4174: movs r1, 0x2E ldrsh r0, [r2, r1] cmp r0, 0x1 bne _080F418E adds r3, r2, 0 adds r3, 0x3E ldrb r0, [r3] movs r1, 0x5 negs r1, r1 ands r1, r0 strb r1, [r3] movs r0, 0 _080F418C: strh r0, [r2, 0x2E] _080F418E: pop {r0} bx r0 thumb_func_end sub_80F4138 thumb_func_start sub_80F4194 sub_80F4194: @ 80F4194 push {r4-r7,lr} sub sp, 0x4 adds r7, r0, 0 adds r2, r1, 0 ldr r0, _080F42A4 @ =gUnknown_083DFEC8 ldr r6, [r0] mov r0, sp ldr r1, _080F42A8 @ =0x00001111 adds r5, r1, 0 strh r5, [r0] ldr r4, _080F42AC @ =0x040000d4 str r0, [r4] str r6, [r4, 0x4] ldr r3, _080F42B0 @ =0x81000140 str r3, [r4, 0x8] ldr r0, [r4, 0x8] movs r0, 0x80 lsls r0, 3 adds r1, r6, r0 mov r0, sp strh r5, [r0] str r0, [r4] str r1, [r4, 0x4] str r3, [r4, 0x8] ldr r0, [r4, 0x8] ldr r0, _080F42B4 @ =gWindowConfig_81E70F0 adds r1, r6, 0 bl sub_8004E3C movs r3, 0x88 lsls r3, 2 adds r1, r6, r3 mov r0, sp movs r3, 0 strh r3, [r0] str r0, [r4] str r1, [r4, 0x4] ldr r2, _080F42B8 @ =0x81000030 str r2, [r4, 0x8] ldr r0, [r4, 0x8] movs r0, 0xC4 lsls r0, 3 adds r1, r6, r0 mov r0, sp strh r3, [r0] str r0, [r4] str r1, [r4, 0x4] str r2, [r4, 0x8] ldr r0, [r4, 0x8] movs r1, 0x80 lsls r1, 2 adds r2, r6, r1 ldr r0, [r2] ldr r1, _080F42BC @ =0x0fffffff ands r0, r1 str r0, [r2] ldr r0, [r2, 0x4] ands r0, r1 str r0, [r2, 0x4] ldr r0, [r2, 0x8] ands r0, r1 str r0, [r2, 0x8] ldr r0, [r2, 0xC] ands r0, r1 str r0, [r2, 0xC] ldr r0, [r2, 0x10] ands r0, r1 str r0, [r2, 0x10] ldr r0, [r2, 0x14] ands r0, r1 str r0, [r2, 0x14] ldr r0, [r2, 0x18] ands r0, r1 str r0, [r2, 0x18] ldr r0, [r2, 0x1C] ands r0, r1 str r0, [r2, 0x1C] movs r3, 0xC0 lsls r3, 3 adds r2, r6, r3 ldr r0, [r2] ands r0, r1 str r0, [r2] ldr r0, [r2, 0x4] ands r0, r1 str r0, [r2, 0x4] ldr r0, [r2, 0x8] ands r0, r1 str r0, [r2, 0x8] ldr r0, [r2, 0xC] ands r0, r1 str r0, [r2, 0xC] ldr r0, [r2, 0x10] ands r0, r1 str r0, [r2, 0x10] ldr r0, [r2, 0x14] ands r0, r1 str r0, [r2, 0x14] ldr r0, [r2, 0x18] ands r0, r1 str r0, [r2, 0x18] ldr r0, [r2, 0x1C] ands r0, r1 str r0, [r2, 0x1C] movs r1, 0 ldr r2, _080F42C0 @ =0x80000040 _080F4268: lsls r0, r1, 7 adds r0, r6, r0 str r0, [r4] lsls r0, r1, 8 adds r0, r7, r0 str r0, [r4, 0x4] str r2, [r4, 0x8] ldr r0, [r4, 0x8] lsls r0, r1, 7 movs r3, 0x80 lsls r3, 3 adds r0, r3 adds r0, r6, r0 str r0, [r4] lsls r0, r1, 3 adds r0, 0x4 lsls r0, 5 adds r0, r7, r0 str r0, [r4, 0x4] str r2, [r4, 0x8] ldr r0, [r4, 0x8] adds r0, r1, 0x1 lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x4 bls _080F4268 add sp, 0x4 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F42A4: .4byte gUnknown_083DFEC8 _080F42A8: .4byte 0x00001111 _080F42AC: .4byte 0x040000d4 _080F42B0: .4byte 0x81000140 _080F42B4: .4byte gWindowConfig_81E70F0 _080F42B8: .4byte 0x81000030 _080F42BC: .4byte 0x0fffffff _080F42C0: .4byte 0x80000040 thumb_func_end sub_80F4194 thumb_func_start sub_80F42C4 sub_80F42C4: @ 80F42C4 push {r4-r7,lr} sub sp, 0x8 adds r1, r0, 0 ldr r0, _080F433C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F4340 @ =0x0000d1e4 adds r0, r2 str r0, [sp] ldr r2, _080F4344 @ =0x001a0500 str r2, [sp, 0x4] bl sub_80F4194 mov r0, sp bl LoadSpriteSheet ldr r0, _080F4348 @ =gUnknown_083E4868 bl LoadSpritePalette movs r5, 0 movs r4, 0 ldr r6, _080F434C @ =gSprites _080F42EE: lsls r1, r4, 21 movs r7, 0xE2 lsls r7, 15 adds r1, r7 asrs r1, 16 ldr r0, _080F4350 @ =gSpriteTemplate_83E4878 movs r2, 0x10 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r0, 24 cmp r0, 0x40 beq _080F4360 lsls r3, r0, 4 adds r3, r0 lsls r3, 2 adds r3, r6 ldrh r2, [r3, 0x4] lsls r0, r2, 22 lsrs r0, 22 adds r0, r5, r0 ldr r7, _080F4354 @ =0x000003ff adds r1, r7, 0 ands r0, r1 ldr r7, _080F4358 @ =0xfffffc00 adds r1, r7, 0 ands r2, r1 orrs r2, r0 strh r2, [r3, 0x4] ldr r0, _080F433C @ =gUnknown_083DFEC4 ldr r0, [r0] lsls r1, r4, 2 ldr r2, _080F435C @ =0x0000ced4 adds r0, r2 adds r0, r1 str r3, [r0] b _080F4370 .align 2, 0 _080F433C: .4byte gUnknown_083DFEC4 _080F4340: .4byte 0x0000d1e4 _080F4344: .4byte 0x001a0500 _080F4348: .4byte gUnknown_083E4868 _080F434C: .4byte gSprites _080F4350: .4byte gSpriteTemplate_83E4878 _080F4354: .4byte 0x000003ff _080F4358: .4byte 0xfffffc00 _080F435C: .4byte 0x0000ced4 _080F4360: ldr r0, _080F438C @ =gUnknown_083DFEC4 ldr r1, [r0] lsls r0, r4, 2 ldr r7, _080F4390 @ =0x0000ced4 adds r1, r7 adds r1, r0 movs r0, 0 str r0, [r1] _080F4370: adds r0, r5, 0 adds r0, 0x8 lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x4 bls _080F42EE add sp, 0x8 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F438C: .4byte gUnknown_083DFEC4 _080F4390: .4byte 0x0000ced4 thumb_func_end sub_80F42C4 thumb_func_start sub_80F4394 sub_80F4394: @ 80F4394 push {r4,r5,lr} movs r4, 0 ldr r0, _080F43CC @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F43D0 @ =0x0000ced4 adds r5, r0, r1 _080F43A0: lsls r0, r4, 2 adds r0, r5, r0 ldr r0, [r0] cmp r0, 0 beq _080F43AE bl DestroySprite _080F43AE: adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x4 bls _080F43A0 movs r0, 0x1A bl FreeSpriteTilesByTag movs r0, 0x12 bl FreeSpritePaletteByTag pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F43CC: .4byte gUnknown_083DFEC4 _080F43D0: .4byte 0x0000ced4 thumb_func_end sub_80F4394 thumb_func_start sub_80F43D4 sub_80F43D4: @ 80F43D4 push {r4,lr} adds r1, r0, 0 ldr r0, _080F4410 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F4414 @ =0x0000d1e4 adds r4, r0, r2 adds r0, r4, 0 bl sub_80F4194 movs r0, 0x1A bl GetSpriteTileStartByTag lsls r0, 16 lsrs r1, r0, 16 ldr r0, _080F4418 @ =0x0000ffff cmp r1, r0 beq _080F4408 lsls r0, r1, 5 ldr r1, _080F441C @ =0x06010000 adds r0, r1 ldr r1, _080F4420 @ =0x040000d4 str r4, [r1] str r0, [r1, 0x4] ldr r0, _080F4424 @ =0x84000140 str r0, [r1, 0x8] ldr r0, [r1, 0x8] _080F4408: pop {r4} pop {r0} bx r0 .align 2, 0 _080F4410: .4byte gUnknown_083DFEC4 _080F4414: .4byte 0x0000d1e4 _080F4418: .4byte 0x0000ffff _080F441C: .4byte 0x06010000 _080F4420: .4byte 0x040000d4 _080F4424: .4byte 0x84000140 thumb_func_end sub_80F43D4 thumb_func_start sub_80F4428 sub_80F4428: @ 80F4428 push {lr} lsls r1, 16 lsrs r1, 16 lsls r2, 24 lsrs r2, 24 bl sub_80F6514 pop {r1} bx r1 thumb_func_end sub_80F4428 thumb_func_start sub_80F443C sub_80F443C: @ 80F443C push {r4,lr} lsls r4, r1, 16 lsrs r4, 16 ldr r1, _080F4458 @ =gOtherText_Number bl StringCopy adds r1, r4, 0 movs r2, 0x38 movs r3, 0x1 bl sub_8072C14 pop {r4} pop {r1} bx r1 .align 2, 0 _080F4458: .4byte gOtherText_Number thumb_func_end sub_80F443C thumb_func_start sub_80F445C sub_80F445C: @ 80F445C push {r4,lr} lsls r1, 16 lsrs r1, 16 movs r2, 0x17 movs r3, 0x1 bl sub_8072C14 adds r4, r0, 0 movs r3, 0xFC strb r3, [r4] movs r2, 0x11 strb r2, [r4, 0x1] movs r1, 0x1 strb r1, [r4, 0x2] adds r4, 0x3 movs r0, 0xBA strb r0, [r4] adds r4, 0x1 strb r3, [r4] strb r2, [r4, 0x1] strb r1, [r4, 0x2] adds r4, 0x3 ldr r0, _080F44A8 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F44AC @ =0x00008774 adds r0, r1 movs r2, 0 ldrsh r1, [r0, r2] adds r1, 0x1 adds r0, r4, 0 movs r2, 0x32 movs r3, 0x1 bl sub_8072C14 adds r4, r0, 0 pop {r4} pop {r1} bx r1 .align 2, 0 _080F44A8: .4byte gUnknown_083DFEC4 _080F44AC: .4byte 0x00008774 thumb_func_end sub_80F445C thumb_func_start sub_80F44B0 sub_80F44B0: @ 80F44B0 push {r4,lr} adds r4, r2, 0 lsls r0, 16 lsrs r0, 16 lsls r1, 16 lsrs r2, r1, 16 cmp r0, 0xE bne _080F44F4 cmp r4, 0x2 beq _080F44C8 cmp r4, 0x7 bne _080F44E0 _080F44C8: movs r0, 0x64 muls r0, r2 ldr r1, _080F44DC @ =gPlayerParty adds r0, r1 adds r1, r4, 0 adds r2, r3, 0 bl GetMonData b _080F453C .align 2, 0 _080F44DC: .4byte gPlayerParty _080F44E0: movs r0, 0x64 muls r0, r2 ldr r1, _080F44F0 @ =gPlayerParty adds r0, r1 adds r1, r4, 0 bl GetMonData b _080F453C .align 2, 0 _080F44F0: .4byte gPlayerParty _080F44F4: cmp r4, 0x2 beq _080F44FC cmp r4, 0x7 bne _080F4520 _080F44FC: lsls r1, r0, 2 adds r1, r0 lsls r0, r1, 4 subs r0, r1 lsls r0, 5 lsls r1, r2, 2 adds r1, r2 lsls r1, 4 ldr r2, _080F451C @ =gPokemonStorage + 0x4 adds r1, r2 adds r0, r1 adds r1, r4, 0 adds r2, r3, 0 bl GetBoxMonData b _080F453C .align 2, 0 _080F451C: .4byte gPokemonStorage + 0x4 _080F4520: lsls r1, r0, 2 adds r1, r0 lsls r0, r1, 4 subs r0, r1 lsls r0, 5 lsls r1, r2, 2 adds r1, r2 lsls r1, 4 ldr r2, _080F4544 @ =gPokemonStorage + 0x4 adds r1, r2 adds r0, r1 adds r1, r4, 0 bl GetBoxMonData _080F453C: pop {r4} pop {r1} bx r1 .align 2, 0 _080F4544: .4byte gPokemonStorage + 0x4 thumb_func_end sub_80F44B0 thumb_func_start sub_80F4548 sub_80F4548: @ 80F4548 push {r4,lr} sub sp, 0x4 lsls r0, 16 lsrs r3, r0, 16 lsls r1, 16 lsrs r4, r1, 16 mov r0, sp strb r2, [r0] cmp r3, 0xE bne _080F4574 movs r0, 0x64 muls r0, r4 ldr r1, _080F4570 @ =gPlayerParty adds r0, r1 movs r1, 0x8 mov r2, sp bl SetMonData b _080F4592 .align 2, 0 _080F4570: .4byte gPlayerParty _080F4574: lsls r1, r3, 2 adds r1, r3 lsls r0, r1, 4 subs r0, r1 lsls r0, 5 lsls r1, r4, 2 adds r1, r4 lsls r1, 4 ldr r2, _080F459C @ =gPokemonStorage + 0x4 adds r1, r2 adds r0, r1 movs r1, 0x8 mov r2, sp bl SetBoxMonData _080F4592: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _080F459C: .4byte gPokemonStorage + 0x4 thumb_func_end sub_80F4548 thumb_func_start sub_80F45A0 sub_80F45A0: @ 80F45A0 push {r4-r7,lr} lsls r1, 24 lsrs r6, r1, 24 ldr r1, _080F45F0 @ =gUnknown_083DFEC4 ldr r5, [r1] lsls r1, r0, 16 asrs r0, r1, 14 adds r4, r5, r0 ldr r2, _080F45F4 @ =0x0000893f adds r0, r4, r2 ldrb r0, [r0] lsls r0, 25 lsrs r7, r0, 31 cmp r7, 0 beq _080F4644 lsls r0, r6, 6 ldr r2, _080F45F8 @ =0x00008829 adds r0, r2 adds r0, r5, r0 lsrs r1, 16 movs r2, 0 bl sub_80F4428 ldr r1, _080F45FC @ =0x0000893d adds r0, r4, r1 ldrb r2, [r0] cmp r2, 0xE bne _080F4608 lsls r0, r6, 1 adds r0, r6 lsls r0, 3 ldr r2, _080F4600 @ =0x000088e9 adds r0, r2 adds r0, r5, r0 ldr r1, _080F4604 @ =gOtherText_InParty movs r2, 0x40 movs r3, 0 bl sub_8072C74 b _080F4624 .align 2, 0 _080F45F0: .4byte gUnknown_083DFEC4 _080F45F4: .4byte 0x0000893f _080F45F8: .4byte 0x00008829 _080F45FC: .4byte 0x0000893d _080F4600: .4byte 0x000088e9 _080F4604: .4byte gOtherText_InParty _080F4608: lsls r0, r6, 1 adds r0, r6 lsls r0, 3 ldr r1, _080F4634 @ =0x000088e9 adds r0, r1 adds r0, r5, r0 lsls r1, r2, 3 adds r1, r2 ldr r2, _080F4638 @ =gPokemonStorage + 0x8344 adds r1, r2 movs r2, 0x40 movs r3, 0 bl sub_8072C74 _080F4624: ldr r0, _080F463C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F4640 @ =0x00008937 adds r0, r2 adds r0, r6 movs r1, 0x1 strb r1, [r0] b _080F4676 .align 2, 0 _080F4634: .4byte 0x000088e9 _080F4638: .4byte gPokemonStorage + 0x8344 _080F463C: .4byte gUnknown_083DFEC4 _080F4640: .4byte 0x00008937 _080F4644: lsls r0, r6, 6 ldr r1, _080F467C @ =0x00008829 adds r0, r1 adds r0, r5, r0 ldr r4, _080F4680 @ =gEmptyString_81E72B0 adds r1, r4, 0 movs r2, 0x68 movs r3, 0 bl sub_8072C74 lsls r0, r6, 1 adds r0, r6 lsls r0, 3 ldr r2, _080F4684 @ =0x000088e9 adds r0, r2 adds r0, r5, r0 adds r1, r4, 0 movs r2, 0x40 movs r3, 0 bl sub_8072C74 ldr r1, _080F4688 @ =0x00008937 adds r0, r5, r1 adds r0, r6 strb r7, [r0] _080F4676: pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F467C: .4byte 0x00008829 _080F4680: .4byte gEmptyString_81E72B0 _080F4684: .4byte 0x000088e9 _080F4688: .4byte 0x00008937 thumb_func_end sub_80F45A0 thumb_func_start sub_80F468C sub_80F468C: @ 80F468C push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} lsls r1, 24 lsrs r1, 24 mov r9, r1 ldr r1, _080F475C @ =gUnknown_083DFEC4 ldr r7, [r1] lsls r0, 16 asrs r0, 14 adds r1, r7, r0 ldr r2, _080F4760 @ =0x0000893f adds r0, r1, r2 ldrb r0, [r0] lsls r0, 25 cmp r0, 0 blt _080F46B2 b _080F47C4 _080F46B2: ldr r3, _080F4764 @ =0x0000893d adds r0, r1, r3 ldrb r5, [r0] subs r2, 0x1 adds r0, r1, r2 ldrb r0, [r0] lsls r0, 27 lsrs r6, r0, 27 adds r0, r5, 0 adds r1, r6, 0 movs r2, 0x16 movs r3, 0 bl sub_80F44B0 mov r3, r9 lsls r3, 2 mov r8, r3 mov r4, r8 add r4, r9 ldr r2, _080F4768 @ =0x00008ff0 adds r1, r7, r2 adds r1, r4 strb r0, [r1] adds r0, r5, 0 adds r1, r6, 0 movs r2, 0x2F movs r3, 0 bl sub_80F44B0 ldr r3, _080F476C @ =0x00008ff1 adds r1, r7, r3 adds r1, r4 strb r0, [r1] adds r0, r5, 0 adds r1, r6, 0 movs r2, 0x21 movs r3, 0 bl sub_80F44B0 ldr r2, _080F4770 @ =0x00008ff2 adds r1, r7, r2 adds r1, r4 strb r0, [r1] adds r0, r5, 0 adds r1, r6, 0 movs r2, 0x18 movs r3, 0 bl sub_80F44B0 ldr r3, _080F4774 @ =0x00008ff3 adds r1, r7, r3 adds r1, r4 strb r0, [r1] adds r0, r5, 0 adds r1, r6, 0 movs r2, 0x17 movs r3, 0 bl sub_80F44B0 ldr r2, _080F4778 @ =0x00008ff4 adds r1, r7, r2 adds r1, r4 strb r0, [r1] ldr r3, _080F477C @ =0x00008931 adds r0, r7, r3 mov r7, r9 adds r4, r0, r7 adds r0, r5, 0 adds r1, r6, 0 movs r2, 0x30 movs r3, 0 bl sub_80F44B0 cmp r0, 0xFF beq _080F4780 adds r0, r5, 0 adds r1, r6, 0 movs r2, 0x30 movs r3, 0 bl sub_80F44B0 movs r1, 0x1D bl __udivsi3 b _080F4782 .align 2, 0 _080F475C: .4byte gUnknown_083DFEC4 _080F4760: .4byte 0x0000893f _080F4764: .4byte 0x0000893d _080F4768: .4byte 0x00008ff0 _080F476C: .4byte 0x00008ff1 _080F4770: .4byte 0x00008ff2 _080F4774: .4byte 0x00008ff3 _080F4778: .4byte 0x00008ff4 _080F477C: .4byte 0x00008931 _080F4780: movs r0, 0x9 _080F4782: strb r0, [r4] adds r0, r5, 0 adds r1, r6, 0 movs r2, 0x8 movs r3, 0 bl sub_80F44B0 ldr r1, _080F47B4 @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r3, _080F47B8 @ =0x00008934 adds r2, r1, r3 add r2, r9 strb r0, [r2] mov r2, r8 add r2, r9 ldr r7, _080F47BC @ =0x00008ff0 adds r0, r2, r7 adds r0, r1, r0 lsls r2, 2 ldr r3, _080F47C0 @ =0x00009004 adds r2, r3 adds r1, r2 bl sub_80F55AC b _080F480A .align 2, 0 _080F47B4: .4byte gUnknown_083DFEC4 _080F47B8: .4byte 0x00008934 _080F47BC: .4byte 0x00008ff0 _080F47C0: .4byte 0x00009004 _080F47C4: movs r3, 0 mov r0, r9 lsls r0, 2 mov r8, r0 adds r4, r7, 0 mov r2, r8 add r2, r9 ldr r1, _080F4818 @ =0x00008ff0 adds r6, r4, r1 lsls r5, r2, 2 mov r9, r3 ldr r7, _080F481C @ =0x00009004 mov r8, r7 movs r0, 0x9B mov r12, r0 _080F47E2: adds r0, r3, r2 adds r0, r6, r0 mov r1, r9 strb r1, [r0] lsls r0, r3, 2 adds r0, r5 adds r0, r4, r0 mov r7, r8 adds r1, r0, r7 mov r7, r12 strh r7, [r1] ldr r1, _080F4820 @ =0x00009006 adds r0, r1 movs r1, 0x5B strh r1, [r0] adds r0, r3, 0x1 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0x4 bls _080F47E2 _080F480A: pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F4818: .4byte 0x00008ff0 _080F481C: .4byte 0x00009004 _080F4820: .4byte 0x00009006 thumb_func_end sub_80F468C thumb_func_start sub_80F4824 sub_80F4824: @ 80F4824 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} sub sp, 0xC lsls r1, 24 lsrs r1, 24 mov r9, r1 ldr r1, _080F48E0 @ =gUnknown_083DFEC4 ldr r7, [r1] lsls r0, 16 asrs r0, 14 adds r1, r7, r0 ldr r2, _080F48E4 @ =0x0000893f adds r0, r1, r2 ldrb r0, [r0] lsls r0, 25 cmp r0, 0 bge _080F48D0 ldr r6, _080F48E8 @ =0x0000893d adds r0, r1, r6 ldrb r6, [r0] subs r2, 0x1 adds r0, r1, r2 ldrb r4, [r0] lsls r4, 27 lsrs r4, 27 adds r0, r6, 0 adds r1, r4, 0 movs r2, 0x41 movs r3, 0 bl sub_80F44B0 adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 adds r0, r6, 0 adds r1, r4, 0 movs r2, 0x1 movs r3, 0 bl sub_80F44B0 mov r8, r0 adds r0, r6, 0 adds r1, r4, 0 movs r2, 0 movs r3, 0 bl sub_80F44B0 adds r4, r0, 0 lsls r0, r5, 3 ldr r1, _080F48EC @ =gMonFrontPicTable adds r0, r1 ldr r2, _080F48F0 @ =gMonFrontPicCoords lsls r1, r5, 2 adds r1, r2 ldrb r1, [r1] ldr r6, _080F48F4 @ =0x000131e4 adds r3, r7, r6 mov r6, r9 lsls r2, r6, 13 ldr r6, _080F48F8 @ =0x0000d1e4 adds r2, r6 adds r2, r7, r2 str r2, [sp] str r5, [sp, 0x4] str r4, [sp, 0x8] movs r2, 0x1 bl HandleLoadSpecialPokePic adds r0, r5, 0 mov r1, r8 adds r2, r4, 0 bl GetMonSpritePalFromOtIdPersonality mov r2, r9 lsls r1, r2, 7 adds r1, r7, r1 bl LZ77UnCompWram mov r6, r9 lsls r1, r6, 1 ldr r2, _080F48FC @ =0x0000d1d6 adds r0, r7, r2 adds r0, r1 strh r5, [r0] _080F48D0: add sp, 0xC pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F48E0: .4byte gUnknown_083DFEC4 _080F48E4: .4byte 0x0000893f _080F48E8: .4byte 0x0000893d _080F48EC: .4byte gMonFrontPicTable _080F48F0: .4byte gMonFrontPicCoords _080F48F4: .4byte 0x000131e4 _080F48F8: .4byte 0x0000d1e4 _080F48FC: .4byte 0x0000d1d6 thumb_func_end sub_80F4824 thumb_func_start sub_80F4900 sub_80F4900: @ 80F4900 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 lsls r5, 24 lsrs r5, 24 lsls r4, 16 asrs r4, 16 adds r0, r4, 0 adds r1, r5, 0 bl sub_80F45A0 adds r0, r4, 0 adds r1, r5, 0 bl sub_80F468C adds r0, r4, 0 adds r1, r5, 0 bl sub_80F4824 pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_80F4900 thumb_func_start sub_80F492C sub_80F492C: @ 80F492C ldr r0, _080F493C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F4940 @ =0x00008fe4 adds r0, r1 movs r1, 0 strh r1, [r0] bx lr .align 2, 0 _080F493C: .4byte gUnknown_083DFEC4 _080F4940: .4byte 0x00008fe4 thumb_func_end sub_80F492C thumb_func_start sub_80F4944 sub_80F4944: @ 80F4944 push {r4-r7,lr} mov r7, r8 push {r7} mov r12, r0 movs r2, 0 ldr r1, _080F4978 @ =gUnknown_083DFEC4 ldr r5, [r1] ldr r3, _080F497C @ =0x00008fe4 adds r0, r5, r3 ldrh r4, [r0] lsrs r3, r4, 1 mov r8, r1 cmp r4, r3 beq _080F499C adds r6, r5, 0 mov r0, r12 ldrb r5, [r0] ldr r7, _080F4980 @ =0x0000893c _080F4968: lsls r0, r3, 2 adds r0, r6, r0 adds r0, r7 ldrb r0, [r0] cmp r5, r0 bls _080F4984 adds r4, r3, 0 b _080F498A .align 2, 0 _080F4978: .4byte gUnknown_083DFEC4 _080F497C: .4byte 0x00008fe4 _080F4980: .4byte 0x0000893c _080F4984: adds r0, r3, 0x1 lsls r0, 16 lsrs r2, r0, 16 _080F498A: subs r0, r4, r2 lsrs r1, r0, 31 adds r0, r1 asrs r0, 1 adds r0, r2, r0 lsls r0, 16 lsrs r3, r0, 16 cmp r4, r3 bne _080F4968 _080F499C: mov r1, r8 ldr r2, [r1] ldr r1, _080F49EC @ =0x00008fe4 adds r0, r2, r1 ldrh r4, [r0] lsls r6, r3, 2 cmp r4, r3 bls _080F49C6 ldr r0, _080F49F0 @ =0x0000893c adds r5, r2, r0 _080F49B0: lsls r2, r4, 2 adds r2, r5, r2 subs r1, r4, 0x1 lsls r0, r1, 2 adds r0, r5, r0 ldr r0, [r0] str r0, [r2] lsls r1, 16 lsrs r4, r1, 16 cmp r4, r3 bhi _080F49B0 _080F49C6: mov r1, r8 ldr r2, [r1] ldr r3, _080F49F0 @ =0x0000893c adds r0, r2, r3 adds r0, r6 mov r3, r12 ldr r1, [r3] str r1, [r0] ldr r0, _080F49EC @ =0x00008fe4 adds r2, r0 ldrh r0, [r2] adds r0, 0x1 strh r0, [r2] pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F49EC: .4byte 0x00008fe4 _080F49F0: .4byte 0x0000893c thumb_func_end sub_80F4944 thumb_func_start sub_80F49F4 sub_80F49F4: @ 80F49F4 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} ldr r3, _080F4A64 @ =gUnknown_083DFEC4 ldr r4, [r3] ldr r7, _080F4A68 @ =0x0000893e adds r2, r4, r7 ldrh r1, [r2] ldr r0, _080F4A6C @ =0xffffc01f mov r12, r0 ands r0, r1 movs r1, 0x20 orrs r0, r1 strh r0, [r2] movs r5, 0x1 ldr r1, _080F4A70 @ =0x00008fe4 adds r0, r4, r1 ldrh r3, [r0] cmp r5, r3 bcs _080F4A9E adds r6, r4, 0 ldr r1, _080F4A74 @ =0x0000893c mov r8, r1 ldr r3, _080F4A78 @ =0x000001ff mov r10, r3 mov r9, r0 _080F4A2C: lsls r0, r5, 2 adds r3, r6, r0 mov r0, r8 adds r2, r3, r0 subs r0, r5, 0x1 lsls r0, 2 adds r4, r6, r0 mov r0, r8 adds r1, r4, r0 ldrb r0, [r2] ldrb r1, [r1] cmp r0, r1 bne _080F4A7C adds r0, r4, r7 ldrh r0, [r0] lsls r0, 18 lsrs r0, 23 adds r3, r7 ldr r1, _080F4A78 @ =0x000001ff ands r1, r0 lsls r1, 5 ldrh r2, [r3] mov r0, r12 ands r0, r2 orrs r0, r1 strh r0, [r3] adds r4, r5, 0x1 b _080F4A92 .align 2, 0 _080F4A64: .4byte gUnknown_083DFEC4 _080F4A68: .4byte 0x0000893e _080F4A6C: .4byte 0xffffc01f _080F4A70: .4byte 0x00008fe4 _080F4A74: .4byte 0x0000893c _080F4A78: .4byte 0x000001ff _080F4A7C: adds r4, r5, 0x1 adds r3, r7 adds r1, r4, 0 mov r0, r10 ands r1, r0 lsls r1, 5 ldrh r2, [r3] mov r0, r12 ands r0, r2 orrs r0, r1 strh r0, [r3] _080F4A92: lsls r0, r4, 16 lsrs r5, r0, 16 mov r1, r9 ldrh r1, [r1] cmp r5, r1 bcc _080F4A2C _080F4A9E: ldr r3, _080F4AC4 @ =gUnknown_083DFEC4 ldr r2, [r3] ldr r1, _080F4AC8 @ =0x0000876c adds r0, r2, r1 movs r1, 0 strh r1, [r0] ldr r3, _080F4ACC @ =0x00008770 adds r0, r2, r3 strh r1, [r0] subs r3, 0x2 adds r0, r2, r3 strh r1, [r0] ldr r1, _080F4AD0 @ =0x00008fe4 adds r0, r2, r1 ldrh r0, [r0] cmp r0, 0x8 bhi _080F4AD4 subs r1, r0, 0x1 b _080F4AD6 .align 2, 0 _080F4AC4: .4byte gUnknown_083DFEC4 _080F4AC8: .4byte 0x0000876c _080F4ACC: .4byte 0x00008770 _080F4AD0: .4byte 0x00008fe4 _080F4AD4: movs r1, 0x7 _080F4AD6: ldr r3, _080F4B10 @ =0x00008772 adds r0, r2, r3 strh r1, [r0] ldr r0, _080F4B14 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r1, _080F4B18 @ =0x00008fe4 adds r0, r2, r1 ldrh r0, [r0] subs r0, 0x1 adds r3, 0x2 adds r1, r2, r3 strh r0, [r1] movs r1, 0 lsls r0, 16 asrs r0, 16 cmp r0, 0x7 ble _080F4AFA movs r1, 0x1 _080F4AFA: ldr r3, _080F4B1C @ =0x000087c9 adds r0, r2, r3 strb r1, [r0] pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F4B10: .4byte 0x00008772 _080F4B14: .4byte gUnknown_083DFEC4 _080F4B18: .4byte 0x00008fe4 _080F4B1C: .4byte 0x000087c9 thumb_func_end sub_80F49F4 thumb_func_start sub_80F4B20 sub_80F4B20: @ 80F4B20 push {r4-r6,lr} ldr r0, _080F4B5C @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r0, _080F4B60 @ =0x000087dc adds r5, r4, r0 movs r1, 0 ldrsh r0, [r5, r1] movs r1, 0 bl sub_80F4900 movs r0, 0 bl sub_80F2E18 ldr r0, _080F4B64 @ =0x000087da adds r2, r4, r0 movs r1, 0 ldrsh r0, [r2, r1] cmp r0, 0x1 bne _080F4B6C ldr r2, _080F4B68 @ =0x00008fe9 adds r0, r4, r2 movs r1, 0 strb r1, [r0] adds r2, 0x1 adds r0, r4, r2 strb r1, [r0] adds r2, 0x1 adds r0, r4, r2 strb r1, [r0] b _080F4BBE .align 2, 0 _080F4B5C: .4byte gUnknown_083DFEC4 _080F4B60: .4byte 0x000087dc _080F4B64: .4byte 0x000087da _080F4B68: .4byte 0x00008fe9 _080F4B6C: ldr r0, _080F4BC4 @ =0x00008fe9 adds r1, r4, r0 movs r0, 0 strb r0, [r1] ldr r0, _080F4BC8 @ =0x00008fea adds r1, r4, r0 movs r0, 0x1 strb r0, [r1] ldr r0, _080F4BCC @ =0x00008feb adds r1, r4, r0 movs r0, 0x2 strb r0, [r1] ldrh r3, [r5] adds r0, r3, 0x1 lsls r0, 16 lsrs r5, r0, 16 asrs r0, 16 ldrh r6, [r2] movs r4, 0 ldrsh r1, [r2, r4] cmp r0, r1 blt _080F4B9A movs r5, 0 _080F4B9A: subs r0, r3, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r0, 0 bge _080F4BAA subs r0, r6, 0x1 lsls r0, 16 lsrs r4, r0, 16 _080F4BAA: lsls r0, r5, 16 asrs r0, 16 movs r1, 0x1 bl sub_80F4900 lsls r0, r4, 16 asrs r0, 16 movs r1, 0x2 bl sub_80F4900 _080F4BBE: pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080F4BC4: .4byte 0x00008fe9 _080F4BC8: .4byte 0x00008fea _080F4BCC: .4byte 0x00008feb thumb_func_end sub_80F4B20 thumb_func_start sub_80F4BD0 sub_80F4BD0: @ 80F4BD0 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} movs r6, 0 movs r7, 0 ldr r0, _080F4CC4 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r3, _080F4CC8 @ =0x00008828 adds r1, r2, r3 mov r9, r0 ldrb r1, [r1] cmp r7, r1 bcs _080F4C66 mov r10, r9 adds r4, r3, 0 adds r4, r2 mov r8, r4 _080F4BF6: movs r0, 0x64 muls r0, r6 ldr r1, _080F4CCC @ =gPlayerParty adds r0, r1 movs r1, 0x2D bl GetMonData cmp r0, 0 bne _080F4C58 mov r0, r10 ldr r3, [r0] lsls r0, r7, 2 adds r3, r0 ldr r2, _080F4CD0 @ =0x0000893d adds r1, r3, r2 movs r0, 0xE strb r0, [r1] ldr r4, _080F4CD4 @ =0x0000893e adds r5, r3, r4 movs r0, 0x1F adds r2, r6, 0 ands r2, r0 ldrb r0, [r5] movs r4, 0x20 negs r4, r4 adds r1, r4, 0 ands r0, r1 orrs r0, r2 strb r0, [r5] adds r4, r7, 0x1 ldr r7, _080F4CD8 @ =0x000001ff adds r0, r7, 0 adds r2, r4, 0 ands r2, r0 lsls r2, 5 ldrh r0, [r5] ldr r7, _080F4CDC @ =0xffffc01f adds r1, r7, 0 ands r0, r1 orrs r0, r2 strh r0, [r5] ldr r0, _080F4CE0 @ =0x0000893f adds r3, r0 ldrb r0, [r3] movs r1, 0x40 orrs r0, r1 strb r0, [r3] lsls r4, 16 lsrs r7, r4, 16 _080F4C58: adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 mov r1, r8 ldrb r1, [r1] cmp r6, r1 bcc _080F4BF6 _080F4C66: mov r2, r9 ldr r4, [r2] lsls r1, r7, 2 adds r1, r4, r1 ldr r3, _080F4CD0 @ =0x0000893d adds r0, r1, r3 movs r5, 0 strb r5, [r0] ldr r0, _080F4CD4 @ =0x0000893e adds r2, r1, r0 ldrb r3, [r2] movs r0, 0x20 negs r0, r0 ands r0, r3 strb r0, [r2] ldrh r3, [r2] ldr r0, _080F4CDC @ =0xffffc01f ands r0, r3 strh r0, [r2] ldr r2, _080F4CE0 @ =0x0000893f adds r1, r2 ldrb r2, [r1] movs r0, 0x41 negs r0, r0 ands r0, r2 strb r0, [r1] ldr r3, _080F4CE4 @ =0x000087dc adds r0, r4, r3 strh r5, [r0] adds r1, r7, 0x1 ldr r7, _080F4CE8 @ =0x000087da adds r0, r4, r7 strh r1, [r0] bl sub_80F4B20 ldr r0, _080F4CEC @ =0x000087cb adds r4, r0 movs r0, 0x1 strb r0, [r4] pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F4CC4: .4byte gUnknown_083DFEC4 _080F4CC8: .4byte 0x00008828 _080F4CCC: .4byte gPlayerParty _080F4CD0: .4byte 0x0000893d _080F4CD4: .4byte 0x0000893e _080F4CD8: .4byte 0x000001ff _080F4CDC: .4byte 0xffffc01f _080F4CE0: .4byte 0x0000893f _080F4CE4: .4byte 0x000087dc _080F4CE8: .4byte 0x000087da _080F4CEC: .4byte 0x000087cb thumb_func_end sub_80F4BD0 thumb_func_start sub_80F4CF0 sub_80F4CF0: @ 80F4CF0 push {r4,lr} ldr r0, _080F4D1C @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F4D20 @ =0x0000876e adds r0, r4, r1 ldrh r1, [r0] ldr r2, _080F4D24 @ =0x000087dc adds r0, r4, r2 strh r1, [r0] bl sub_80F4B20 ldr r1, _080F4D28 @ =0x00008774 adds r0, r4, r1 movs r2, 0 ldrsh r0, [r0, r2] cmp r0, 0 bne _080F4D30 ldr r0, _080F4D2C @ =0x000087cb adds r1, r4, r0 movs r0, 0 b _080F4D36 .align 2, 0 _080F4D1C: .4byte gUnknown_083DFEC4 _080F4D20: .4byte 0x0000876e _080F4D24: .4byte 0x000087dc _080F4D28: .4byte 0x00008774 _080F4D2C: .4byte 0x000087cb _080F4D30: ldr r2, _080F4D40 @ =0x000087cb adds r1, r4, r2 movs r0, 0x1 _080F4D36: strb r0, [r1] pop {r4} pop {r0} bx r0 .align 2, 0 _080F4D40: .4byte 0x000087cb thumb_func_end sub_80F4CF0 thumb_func_start sub_80F4D44 sub_80F4D44: @ 80F4D44 push {r4,lr} ldr r0, _080F4D78 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F4D7C @ =0x00008fe6 adds r0, r4, r1 movs r1, 0 strb r1, [r0] ldr r2, _080F4D80 @ =0x00008fe7 adds r0, r4, r2 strb r1, [r0] bl sub_80F492C ldr r0, _080F4D84 @ =0x00006dac adds r4, r0 ldrb r0, [r4] cmp r0, 0 bne _080F4D70 _080F4D66: bl sub_80F4D88 lsls r0, 24 cmp r0, 0 bne _080F4D66 _080F4D70: pop {r4} pop {r0} bx r0 .align 2, 0 _080F4D78: .4byte gUnknown_083DFEC4 _080F4D7C: .4byte 0x00008fe6 _080F4D80: .4byte 0x00008fe7 _080F4D84: .4byte 0x00006dac thumb_func_end sub_80F4D44 thumb_func_start sub_80F4D88 sub_80F4D88: @ 80F4D88 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x4 ldr r6, _080F4E98 @ =gUnknown_083DFEC4 ldr r4, [r6] ldr r1, _080F4E9C @ =0x00008fe6 adds r0, r4, r1 ldrb r3, [r0] cmp r3, 0xE bne _080F4DA4 b _080F4EB8 _080F4DA4: cmp r3, 0xF bne _080F4DAA b _080F4F60 _080F4DAA: movs r1, 0x80 lsls r1, 23 ldr r0, [sp] orrs r0, r1 str r0, [sp] movs r7, 0 mov r10, r6 ldr r2, _080F4E9C @ =0x00008fe6 adds r6, r4, r2 ldr r3, _080F4EA0 @ =0x00008fe7 adds r5, r4, r3 ldr r0, _080F4EA4 @ =0x000087d8 adds r0, r4 mov r9, r0 ldr r1, _080F4EA8 @ =gPokemonStorage + 0x4 mov r8, r1 _080F4DCA: ldrb r0, [r6] lsls r1, r0, 2 adds r1, r0 lsls r0, r1, 4 subs r0, r1 lsls r0, 5 ldrb r2, [r5] lsls r1, r2, 2 adds r1, r2 lsls r1, 4 add r1, r8 adds r0, r1 movs r1, 0xB bl GetBoxMonData cmp r0, 0 beq _080F4E60 ldrb r0, [r6] lsls r1, r0, 2 adds r1, r0 lsls r0, r1, 4 subs r0, r1 lsls r0, 5 ldrb r2, [r5] lsls r1, r2, 2 adds r1, r2 lsls r1, 4 add r1, r8 adds r0, r1 movs r1, 0x2D bl GetBoxMonData cmp r0, 0 bne _080F4E60 ldrb r1, [r6] lsls r1, 8 ldr r2, _080F4EAC @ =0xffff00ff ldr r0, [sp] ands r0, r2 orrs r0, r1 str r0, [sp] ldrb r2, [r5] movs r1, 0x1F ands r2, r1 lsls r2, 16 ldr r1, _080F4EB0 @ =0xffe0ffff ands r0, r1 orrs r0, r2 str r0, [sp] ldrb r0, [r6] lsls r1, r0, 2 adds r1, r0 lsls r0, r1, 4 subs r0, r1 lsls r0, 5 ldrb r2, [r5] lsls r1, r2, 2 adds r1, r2 lsls r1, 4 add r1, r8 adds r0, r1 mov r2, r9 ldrb r1, [r2] bl GetBoxMonData lsls r0, 24 lsrs r0, 24 ldr r2, _080F4EB4 @ =0xffffff00 ldr r1, [sp] ands r1, r2 orrs r1, r0 str r1, [sp] mov r0, sp bl sub_80F4944 _080F4E60: mov r3, r10 ldr r1, [r3] ldr r0, _080F4EA0 @ =0x00008fe7 adds r2, r1, r0 ldrb r0, [r2] adds r0, 0x1 movs r4, 0 strb r0, [r2] movs r3, 0xFF lsls r0, 24 lsrs r0, 24 cmp r0, 0x1E bne _080F4E8C strb r4, [r2] ldr r2, _080F4E9C @ =0x00008fe6 adds r1, r2 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] ands r0, r3 cmp r0, 0xE beq _080F4F64 _080F4E8C: adds r0, r7, 0x1 lsls r0, 16 lsrs r7, r0, 16 cmp r7, 0xE bls _080F4DCA b _080F4F64 .align 2, 0 _080F4E98: .4byte gUnknown_083DFEC4 _080F4E9C: .4byte 0x00008fe6 _080F4EA0: .4byte 0x00008fe7 _080F4EA4: .4byte 0x000087d8 _080F4EA8: .4byte gPokemonStorage + 0x4 _080F4EAC: .4byte 0xffff00ff _080F4EB0: .4byte 0xffe0ffff _080F4EB4: .4byte 0xffffff00 _080F4EB8: mov r2, sp ldrb r0, [r2, 0x3] movs r1, 0x40 orrs r0, r1 strb r0, [r2, 0x3] strb r3, [r2, 0x1] movs r7, 0 ldr r3, _080F4F44 @ =0x00008828 adds r0, r4, r3 ldrb r0, [r0] cmp r7, r0 bcs _080F4F24 mov r5, sp mov r8, r6 adds r6, r4, r3 _080F4ED6: movs r0, 0x64 adds r1, r7, 0 muls r1, r0 ldr r0, _080F4F48 @ =gPlayerParty adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x2D bl GetMonData cmp r0, 0 bne _080F4F18 movs r0, 0x1F adds r2, r7, 0 ands r2, r0 ldrb r0, [r5, 0x2] movs r3, 0x20 negs r3, r3 adds r1, r3, 0 ands r0, r1 orrs r0, r2 strb r0, [r5, 0x2] mov r1, r8 ldr r0, [r1] ldr r2, _080F4F4C @ =0x000087d8 adds r0, r2 ldrb r1, [r0] adds r0, r4, 0 bl GetMonData strb r0, [r5] mov r0, sp bl sub_80F4944 _080F4F18: adds r0, r7, 0x1 lsls r0, 16 lsrs r7, r0, 16 ldrb r3, [r6] cmp r7, r3 bcc _080F4ED6 _080F4F24: bl sub_80F49F4 ldr r0, _080F4F50 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F4F54 @ =0x00008fe4 adds r0, r1, r2 ldrh r2, [r0] ldr r3, _080F4F58 @ =0x000087da adds r0, r1, r3 strh r2, [r0] ldr r0, _080F4F5C @ =0x00008fe6 adds r1, r0 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _080F4F64 .align 2, 0 _080F4F44: .4byte 0x00008828 _080F4F48: .4byte gPlayerParty _080F4F4C: .4byte 0x000087d8 _080F4F50: .4byte gUnknown_083DFEC4 _080F4F54: .4byte 0x00008fe4 _080F4F58: .4byte 0x000087da _080F4F5C: .4byte 0x00008fe6 _080F4F60: movs r0, 0 b _080F4F66 _080F4F64: movs r0, 0x1 _080F4F66: add sp, 0x4 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_80F4D88 thumb_func_start sub_80F4F78 sub_80F4F78: @ 80F4F78 push {lr} ldr r0, _080F4FA4 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F4FA8 @ =0x00009040 adds r0, r1, r2 ldr r3, _080F4FAC @ =0x00008fe9 adds r2, r1, r3 movs r3, 0 ldrsb r3, [r2, r3] lsls r2, r3, 2 adds r2, r3 lsls r2, 2 ldr r3, _080F4FB0 @ =0x00009004 adds r2, r3 adds r1, r2 bl sub_80F53EC bl sub_80F5504 pop {r0} bx r0 .align 2, 0 _080F4FA4: .4byte gUnknown_083DFEC4 _080F4FA8: .4byte 0x00009040 _080F4FAC: .4byte 0x00008fe9 _080F4FB0: .4byte 0x00009004 thumb_func_end sub_80F4F78 thumb_func_start sub_80F4FB4 sub_80F4FB4: @ 80F4FB4 push {r4,lr} bl sub_80F5504 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sub_80F170C lsls r0, 24 lsrs r0, 24 movs r1, 0 cmp r4, 0 bne _080F4FD2 cmp r0, 0 beq _080F4FD4 _080F4FD2: movs r1, 0x1 _080F4FD4: adds r0, r1, 0 pop {r4} pop {r1} bx r1 thumb_func_end sub_80F4FB4 thumb_func_start sub_80F4FDC sub_80F4FDC: @ 80F4FDC push {lr} ldr r0, _080F5020 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r1, _080F5024 @ =0x000076aa adds r0, r2, r1 ldrb r0, [r0] cmp r0, 0 bne _080F4FFE ldr r3, _080F5028 @ =0x000087dc adds r0, r2, r3 movs r3, 0 ldrsh r1, [r0, r3] ldr r3, _080F502C @ =0x00008828 adds r0, r2, r3 ldrb r0, [r0] cmp r1, r0 beq _080F501A _080F4FFE: ldr r1, _080F5030 @ =0x00008fe9 adds r0, r2, r1 movs r1, 0 ldrsb r1, [r0, r1] lsls r0, r1, 2 adds r0, r1 lsls r0, 2 ldr r3, _080F5034 @ =0x00009004 adds r0, r3 adds r0, r2, r0 adds r3, 0x3C adds r1, r2, r3 bl sub_80F53EC _080F501A: pop {r0} bx r0 .align 2, 0 _080F5020: .4byte gUnknown_083DFEC4 _080F5024: .4byte 0x000076aa _080F5028: .4byte 0x000087dc _080F502C: .4byte 0x00008828 _080F5030: .4byte 0x00008fe9 _080F5034: .4byte 0x00009004 thumb_func_end sub_80F4FDC thumb_func_start sub_80F5038 sub_80F5038: @ 80F5038 push {r4,lr} bl sub_80F5504 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sub_80F173C lsls r0, 24 lsrs r0, 24 movs r1, 0 cmp r4, 0 bne _080F5056 cmp r0, 0 beq _080F5058 _080F5056: movs r1, 0x1 _080F5058: adds r0, r1, 0 pop {r4} pop {r1} bx r1 thumb_func_end sub_80F5038 thumb_func_start sub_80F5060 sub_80F5060: @ 80F5060 push {r4-r7,lr} lsls r0, 24 lsrs r7, r0, 24 cmp r7, 0 beq _080F507C ldr r0, _080F5074 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F5078 @ =0x00008feb adds r0, r1 b _080F5084 .align 2, 0 _080F5074: .4byte gUnknown_083DFEC4 _080F5078: .4byte 0x00008feb _080F507C: ldr r0, _080F50FC @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F5100 @ =0x00008fea adds r0, r2 _080F5084: ldrb r0, [r0] lsls r0, 24 asrs r0, 24 lsls r0, 16 lsrs r6, r0, 16 ldr r0, _080F50FC @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r3, _080F5104 @ =0x00008fe9 adds r5, r4, r3 movs r1, 0 ldrsb r1, [r5, r1] lsls r0, r1, 2 adds r0, r1 lsls r0, 2 ldr r2, _080F5108 @ =0x00009004 adds r0, r2 adds r0, r4, r0 lsls r1, r6, 2 adds r1, r6 lsls r1, 2 adds r1, r2 adds r1, r4, r1 bl sub_80F53EC ldr r0, _080F510C @ =0x000087dc adds r3, r4, r0 movs r1, 0 ldrsh r0, [r3, r1] lsls r0, 2 adds r0, r4, r0 ldr r2, _080F5110 @ =0x0000893f adds r0, r2 ldrb r0, [r0] lsls r0, 25 lsrs r0, 31 mov r12, r0 cmp r7, 0 beq _080F5158 ldr r7, _080F5100 @ =0x00008fea adds r1, r4, r7 ldrb r0, [r1] adds r7, 0x1 adds r2, r4, r7 strb r0, [r2] ldrb r0, [r5] strb r0, [r1] strb r6, [r5] ldrb r1, [r2] ldr r2, _080F5114 @ =0x00008fec adds r0, r4, r2 strb r1, [r0] adds r5, r4, 0 ldrh r1, [r3] movs r7, 0 ldrsh r0, [r3, r7] cmp r0, 0 beq _080F5118 subs r2, r1, 0x1 b _080F5120 .align 2, 0 _080F50FC: .4byte gUnknown_083DFEC4 _080F5100: .4byte 0x00008fea _080F5104: .4byte 0x00008fe9 _080F5108: .4byte 0x00009004 _080F510C: .4byte 0x000087dc _080F5110: .4byte 0x0000893f _080F5114: .4byte 0x00008fec _080F5118: ldr r1, _080F513C @ =0x000087da adds r0, r4, r1 ldrh r0, [r0] subs r2, r0, 0x1 _080F5120: ldr r1, _080F5140 @ =0x000087dc adds r0, r5, r1 strh r2, [r0] ldr r2, _080F5144 @ =gUnknown_083DFEC4 ldr r3, [r2] adds r1, r3, r1 ldrh r4, [r1] movs r5, 0 ldrsh r0, [r1, r5] cmp r0, 0 beq _080F5148 subs r1, r4, 0x1 b _080F51CE .align 2, 0 _080F513C: .4byte 0x000087da _080F5140: .4byte 0x000087dc _080F5144: .4byte gUnknown_083DFEC4 _080F5148: ldr r7, _080F5154 @ =0x000087da adds r0, r3, r7 ldrh r0, [r0] subs r1, r0, 0x1 b _080F51CE .align 2, 0 _080F5154: .4byte 0x000087da _080F5158: ldr r7, _080F518C @ =0x00008feb adds r1, r4, r7 ldrb r0, [r1] subs r7, 0x1 adds r2, r4, r7 strb r0, [r2] ldrb r0, [r5] strb r0, [r1] strb r6, [r5] ldrb r1, [r2] ldr r2, _080F5190 @ =0x00008fec adds r0, r4, r2 strb r1, [r0] adds r2, r4, 0 movs r4, 0 ldrsh r1, [r3, r4] ldr r5, _080F5194 @ =0x000087da adds r0, r2, r5 movs r7, 0 ldrsh r0, [r0, r7] subs r0, 0x1 cmp r1, r0 bge _080F5198 ldrh r0, [r3] adds r3, r0, 0x1 b _080F519A .align 2, 0 _080F518C: .4byte 0x00008feb _080F5190: .4byte 0x00008fec _080F5194: .4byte 0x000087da _080F5198: movs r3, 0 _080F519A: ldr r1, _080F51C0 @ =0x000087dc adds r0, r2, r1 strh r3, [r0] ldr r2, _080F51C4 @ =gUnknown_083DFEC4 ldr r3, [r2] adds r4, r3, r1 movs r0, 0 ldrsh r1, [r4, r0] ldr r5, _080F51C8 @ =0x000087da adds r0, r3, r5 movs r7, 0 ldrsh r0, [r0, r7] subs r0, 0x1 cmp r1, r0 bge _080F51CC ldrh r0, [r4] adds r1, r0, 0x1 b _080F51CE .align 2, 0 _080F51C0: .4byte 0x000087dc _080F51C4: .4byte gUnknown_083DFEC4 _080F51C8: .4byte 0x000087da _080F51CC: movs r1, 0 _080F51CE: ldr r4, _080F51FC @ =0x00008fee adds r0, r3, r4 strh r1, [r0] ldr r1, [r2] ldr r5, _080F5200 @ =0x000087dc adds r0, r1, r5 movs r7, 0 ldrsh r0, [r0, r7] lsls r0, 2 adds r0, r1, r0 ldr r3, _080F5204 @ =0x0000893f adds r0, r3 ldrb r0, [r0] lsls r0, 25 lsrs r0, 31 mov r4, r12 cmp r4, 0 bne _080F520C adds r5, 0x4 adds r1, r5 ldr r0, _080F5208 @ =sub_80F5264 b _080F5226 .align 2, 0 _080F51FC: .4byte 0x00008fee _080F5200: .4byte 0x000087dc _080F5204: .4byte 0x0000893f _080F5208: .4byte sub_80F5264 _080F520C: cmp r0, 0 bne _080F5220 ldr r7, _080F5218 @ =0x000087e0 adds r1, r7 ldr r0, _080F521C @ =sub_80F52F8 b _080F5226 .align 2, 0 _080F5218: .4byte 0x000087e0 _080F521C: .4byte sub_80F52F8 _080F5220: ldr r0, _080F5238 @ =0x000087e0 adds r1, r0 ldr r0, _080F523C @ =sub_80F5364 _080F5226: str r0, [r1] ldr r0, [r2] ldr r1, _080F5240 @ =0x000087de adds r0, r1 movs r1, 0 strb r1, [r0] pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F5238: .4byte 0x000087e0 _080F523C: .4byte sub_80F5364 _080F5240: .4byte 0x000087de thumb_func_end sub_80F5060 thumb_func_start gpu_sync_bg_show gpu_sync_bg_show: @ 80F5244 push {lr} ldr r0, _080F525C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F5260 @ =0x000087e0 adds r0, r1 ldr r0, [r0] bl _call_via_r0 lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 .align 2, 0 _080F525C: .4byte gUnknown_083DFEC4 _080F5260: .4byte 0x000087e0 thumb_func_end gpu_sync_bg_show thumb_func_start sub_80F5264 sub_80F5264: @ 80F5264 push {r4,r5,lr} ldr r0, _080F5280 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F5284 @ =0x000087de adds r5, r0, r1 ldrb r1, [r5] cmp r1, 0x1 beq _080F52AA cmp r1, 0x1 bgt _080F5288 cmp r1, 0 beq _080F528E b _080F52F0 .align 2, 0 _080F5280: .4byte gUnknown_083DFEC4 _080F5284: .4byte 0x000087de _080F5288: cmp r1, 0x2 beq _080F52EC b _080F52F0 _080F528E: ldr r2, _080F52D8 @ =0x00008fe9 adds r4, r0, r2 ldrb r0, [r4] bl sub_80F2E18 movs r0, 0 ldrsb r0, [r4, r0] lsls r0, 16 lsrs r0, 16 bl sub_80F01E0 ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] _080F52AA: bl sub_80F4FB4 lsls r0, 24 cmp r0, 0 bne _080F52F0 ldr r0, _080F52DC @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F52E0 @ =0x00008fee adds r0, r4, r1 movs r2, 0 ldrsh r0, [r0, r2] ldr r2, _080F52E4 @ =0x00008fec adds r1, r4, r2 ldrb r1, [r1] bl sub_80F4900 ldr r0, _080F52E8 @ =0x000087de adds r4, r0 ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] b _080F52F0 .align 2, 0 _080F52D8: .4byte 0x00008fe9 _080F52DC: .4byte gUnknown_083DFEC4 _080F52E0: .4byte 0x00008fee _080F52E4: .4byte 0x00008fec _080F52E8: .4byte 0x000087de _080F52EC: movs r0, 0 b _080F52F2 _080F52F0: movs r0, 0x1 _080F52F2: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80F5264 thumb_func_start sub_80F52F8 sub_80F52F8: @ 80F52F8 push {r4,r5,lr} ldr r0, _080F5310 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r0, _080F5314 @ =0x000087de adds r5, r4, r0 ldrb r0, [r5] cmp r0, 0 beq _080F5318 cmp r0, 0x1 beq _080F5358 b _080F535C .align 2, 0 _080F5310: .4byte gUnknown_083DFEC4 _080F5314: .4byte 0x000087de _080F5318: bl sub_80F5038 lsls r0, 24 cmp r0, 0 bne _080F535C ldr r1, _080F5350 @ =0x00008fe9 adds r0, r4, r1 ldrb r0, [r0] lsls r0, 24 asrs r0, 24 lsls r0, 16 lsrs r0, 16 bl sub_80F01E0 ldr r2, _080F5354 @ =0x00008fee adds r0, r4, r2 movs r1, 0 ldrsh r0, [r0, r1] subs r2, 0x2 adds r1, r4, r2 ldrb r1, [r1] bl sub_80F4900 ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] b _080F535C .align 2, 0 _080F5350: .4byte 0x00008fe9 _080F5354: .4byte 0x00008fee _080F5358: movs r0, 0 b _080F535E _080F535C: movs r0, 0x1 _080F535E: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80F52F8 thumb_func_start sub_80F5364 sub_80F5364: @ 80F5364 push {r4,r5,lr} ldr r0, _080F5380 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r0, _080F5384 @ =0x000087de adds r5, r4, r0 ldrb r0, [r5] cmp r0, 0x1 beq _080F53B8 cmp r0, 0x1 bgt _080F5388 cmp r0, 0 beq _080F538E b _080F53E4 .align 2, 0 _080F5380: .4byte gUnknown_083DFEC4 _080F5384: .4byte 0x000087de _080F5388: cmp r0, 0x2 beq _080F53CA b _080F53E4 _080F538E: bl sub_80F5504 bl sub_80F173C lsls r0, 24 cmp r0, 0 bne _080F53E4 ldr r1, _080F53B4 @ =0x00008fe9 adds r4, r1 ldrb r0, [r4] bl sub_80F2E18 movs r0, 0 ldrsb r0, [r4, r0] lsls r0, 16 lsrs r0, 16 bl sub_80F01E0 b _080F53C2 .align 2, 0 _080F53B4: .4byte 0x00008fe9 _080F53B8: bl sub_80F4FB4 lsls r0, 24 cmp r0, 0 bne _080F53E4 _080F53C2: ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] b _080F53E4 _080F53CA: ldr r2, _080F53E0 @ =0x00008fee adds r0, r4, r2 movs r1, 0 ldrsh r0, [r0, r1] subs r2, 0x2 adds r1, r4, r2 ldrb r1, [r1] bl sub_80F4900 movs r0, 0 b _080F53E6 .align 2, 0 _080F53E0: .4byte 0x00008fee _080F53E4: movs r0, 0x1 _080F53E6: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80F5364 thumb_func_start sub_80F53EC sub_80F53EC: @ 80F53EC push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0xC str r0, [sp] mov r9, r1 movs r7, 0 ldr r0, _080F54F4 @ =gUnknown_083DFEC4 ldr r0, [r0] str r0, [sp, 0x4] _080F5404: lsls r4, r7, 2 ldr r1, [sp] adds r0, r4, r1 ldrh r1, [r0] lsls r5, r1, 8 mov r2, r9 adds r0, r4, r2 ldrh r0, [r0] subs r0, r1 lsls r0, 8 movs r1, 0xA bl __divsi3 adds r6, r0, 0 movs r3, 0 adds r7, 0x1 mov r10, r7 mov r8, r4 _080F5428: lsls r0, r3, 2 adds r0, r3 lsls r0, 2 add r0, r8 ldr r7, [sp, 0x4] adds r0, r7, r0 asrs r2, r5, 8 asrs r1, r5, 7 movs r7, 0x1 ands r1, r7 adds r2, r1 ldr r1, _080F54F8 @ =0x00009054 adds r0, r1 strh r2, [r0] adds r5, r6 adds r0, r3, 0x1 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0x8 bls _080F5428 ldr r2, _080F54F4 @ =gUnknown_083DFEC4 ldr r1, [r2] lsls r0, r3, 2 adds r0, r3 lsls r0, 2 adds r0, r4, r0 adds r1, r0 mov r3, r9 adds r2, r4, r3 ldrh r0, [r2] ldr r7, _080F54F8 @ =0x00009054 adds r1, r7 strh r0, [r1] ldr r1, [sp] adds r0, r4, r1 ldrh r1, [r0, 0x2] lsls r5, r1, 8 ldrh r0, [r2, 0x2] subs r0, r1 lsls r0, 8 movs r1, 0xA bl __divsi3 adds r6, r0, 0 movs r3, 0 ldr r0, _080F54F4 @ =gUnknown_083DFEC4 ldr r0, [r0] mov r12, r0 str r4, [sp, 0x8] movs r2, 0x1 mov r8, r2 _080F548E: lsls r0, r3, 2 adds r0, r3 lsls r0, 2 ldr r7, [sp, 0x8] adds r0, r7, r0 add r0, r12 asrs r2, r5, 8 asrs r1, r5, 7 mov r7, r8 ands r1, r7 adds r2, r1 ldr r1, _080F54FC @ =0x00009056 adds r0, r1 strh r2, [r0] adds r5, r6 adds r0, r3, 0x1 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0x8 bls _080F548E ldr r7, _080F54F4 @ =gUnknown_083DFEC4 ldr r2, [r7] lsls r0, r3, 2 adds r0, r3 lsls r0, 2 adds r0, r4, r0 adds r0, r2, r0 mov r3, r9 adds r1, r4, r3 ldrh r1, [r1, 0x2] ldr r7, _080F54FC @ =0x00009056 adds r0, r7 strh r1, [r0] mov r1, r10 lsls r0, r1, 16 lsrs r7, r0, 16 cmp r7, 0x4 bls _080F5404 ldr r3, _080F5500 @ =0x00009342 adds r1, r2, r3 movs r0, 0 strh r0, [r1] add sp, 0xC pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F54F4: .4byte gUnknown_083DFEC4 _080F54F8: .4byte 0x00009054 _080F54FC: .4byte 0x00009056 _080F5500: .4byte 0x00009342 thumb_func_end sub_80F53EC thumb_func_start sub_80F5504 sub_80F5504: @ 80F5504 push {r4,lr} ldr r0, _080F551C @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r0, _080F5520 @ =0x00009342 adds r4, r2, r0 ldrh r0, [r4] adds r1, r0, 0 cmp r1, 0x9 bls _080F5524 movs r0, 0 b _080F5544 .align 2, 0 _080F551C: .4byte gUnknown_083DFEC4 _080F5520: .4byte 0x00009342 _080F5524: adds r0, 0x1 strh r0, [r4] lsls r0, r1, 2 adds r0, r1 lsls r0, 2 ldr r1, _080F554C @ =0x00009054 adds r0, r1 adds r0, r2, r0 bl sub_80F556C ldrh r1, [r4] movs r0, 0xA eors r1, r0 negs r0, r1 orrs r0, r1 lsrs r0, 31 _080F5544: pop {r4} pop {r1} bx r1 .align 2, 0 _080F554C: .4byte 0x00009054 thumb_func_end sub_80F5504 thumb_func_start sub_80F5550 sub_80F5550: @ 80F5550 push {lr} bl sub_80F53EC pop {r0} bx r0 thumb_func_end sub_80F5550 thumb_func_start sub_80F555C sub_80F555C: @ 80F555C push {lr} bl sub_80F5504 lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 thumb_func_end sub_80F555C thumb_func_start sub_80F556C sub_80F556C: @ 80F556C push {r4,r5,lr} adds r4, r0, 0 movs r2, 0 ldr r5, _080F55A0 @ =gUnknown_083DFEC4 ldr r0, [r5] ldr r1, _080F55A4 @ =0x0000911c adds r3, r0, r1 _080F557A: lsls r0, r2, 2 adds r1, r3, r0 adds r0, r4 ldr r0, [r0] str r0, [r1] adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 cmp r2, 0x4 bls _080F557A ldr r0, [r5] ldr r1, _080F55A8 @ =0x00009344 adds r0, r1 movs r1, 0x1 strb r1, [r0] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F55A0: .4byte gUnknown_083DFEC4 _080F55A4: .4byte 0x0000911c _080F55A8: .4byte 0x00009344 thumb_func_end sub_80F556C thumb_func_start sub_80F55AC sub_80F55AC: @ 80F55AC push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} adds r6, r0, 0 mov r8, r1 ldr r1, _080F5674 @ =gUnknown_083E4890 ldrb r0, [r6] adds r0, r1 ldrb r2, [r0] adds r6, 0x1 movs r0, 0x9B mov r3, r8 strh r0, [r3] movs r0, 0x5B subs r0, r2 strh r0, [r3, 0x2] movs r7, 0x40 movs r0, 0 mov r12, r0 movs r2, 0x1 mov r9, r2 ldr r3, _080F5678 @ =gSineTable mov r10, r3 _080F55DE: adds r0, r7, 0 adds r0, 0x33 lsls r0, 24 lsrs r7, r0, 24 mov r1, r12 lsls r0, r1, 24 movs r2, 0xFF lsls r2, 24 adds r0, r2 lsrs r3, r0, 24 mov r12, r3 cmp r0, 0 bge _080F55FC movs r0, 0x4 mov r12, r0 _080F55FC: mov r1, r12 lsls r0, r1, 24 asrs r4, r0, 24 cmp r4, 0x2 bne _080F560C adds r0, r7, 0x1 lsls r0, 24 lsrs r7, r0, 24 _080F560C: ldrb r0, [r6] ldr r2, _080F5674 @ =gUnknown_083E4890 adds r0, r2 ldrb r2, [r0] adds r6, 0x1 lsls r0, r4, 2 mov r1, r8 adds r3, r0, r1 adds r0, r7, 0 adds r0, 0x40 lsls r0, 1 add r0, r10 movs r1, 0 ldrsh r0, [r0, r1] muls r0, r2 asrs r5, r0, 8 adds r0, r5, 0 adds r0, 0x9B strh r0, [r3] lsls r0, r7, 1 add r0, r10 movs r1, 0 ldrsh r0, [r0, r1] adds r1, r2, 0 muls r1, r0 asrs r1, 8 movs r0, 0x5B subs r0, r1 strh r0, [r3, 0x2] cmp r4, 0x2 bgt _080F5658 cmp r2, 0x20 bne _080F5652 cmp r4, 0x2 beq _080F5658 _080F5652: adds r0, r5, 0 adds r0, 0x9C strh r0, [r3] _080F5658: mov r0, r9 adds r0, 0x1 lsls r0, 16 lsrs r0, 16 mov r9, r0 cmp r0, 0x4 bls _080F55DE pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F5674: .4byte gUnknown_083E4890 _080F5678: .4byte gSineTable thumb_func_end sub_80F55AC thumb_func_start sub_80F567C sub_80F567C: @ 80F567C push {lr} bl sub_80F55AC pop {r0} bx r0 thumb_func_end sub_80F567C thumb_func_start sub_80F5688 sub_80F5688: @ 80F5688 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x14 adds r6, r0, 0 adds r5, r1, 0 str r2, [sp] ldr r7, [sp, 0x34] lsls r3, 24 lsrs r3, 24 mov r9, r3 movs r0, 0 str r0, [sp, 0x8] ldrh r0, [r5, 0x2] ldrh r1, [r2, 0x2] cmp r0, r1 bcs _080F56D0 adds r2, r0, 0 str r2, [sp, 0x4] ldr r3, [sp] ldrh r0, [r3, 0x2] ldrh r1, [r5] lsls r4, r1, 10 ldrh r2, [r3] mov r10, r2 ldr r3, [sp, 0x4] subs r0, r3 lsls r0, 16 lsrs r0, 16 mov r8, r0 cmp r0, 0 beq _080F56FC subs r0, r2, r1 b _080F56F2 _080F56D0: ldrh r0, [r5, 0x2] ldr r1, [sp] ldrh r1, [r1, 0x2] str r1, [sp, 0x4] ldr r2, [sp] ldrh r1, [r2] lsls r4, r1, 10 ldrh r3, [r5] mov r10, r3 ldr r2, [sp, 0x4] subs r0, r2 lsls r0, 16 lsrs r0, 16 mov r8, r0 cmp r0, 0 beq _080F56FC subs r0, r3, r1 _080F56F2: lsls r0, 10 mov r1, r8 bl __divsi3 str r0, [sp, 0x8] _080F56FC: mov r0, r8 adds r0, 0x1 lsls r0, 16 lsrs r0, 16 mov r8, r0 cmp r7, 0 bne _080F5746 ldr r0, [sp, 0x4] subs r0, 0x38 lsls r0, 2 adds r6, r0 movs r5, 0 mov r3, r9 lsls r3, 1 mov r12, r3 mov r0, r10 add r0, r9 str r0, [sp, 0xC] cmp r7, r8 bcs _080F57D4 movs r7, 0x1 _080F5726: adds r2, r3, r6 asrs r1, r4, 10 asrs r0, r4, 9 ands r0, r7 adds r1, r0 add r1, r9 strh r1, [r2] ldr r1, [sp, 0x8] adds r4, r1 adds r6, 0x4 adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, r8 bcc _080F5726 b _080F57D4 _080F5746: ldr r2, [sp, 0x8] cmp r2, 0 ble _080F57E4 ldr r0, [sp, 0x4] subs r0, 0x38 lsls r0, 2 adds r7, r0 movs r5, 0 mov r3, r9 lsls r3, 1 mov r12, r3 mov r0, r10 add r0, r9 str r0, [sp, 0xC] cmp r5, r8 bcs _080F5798 ldr r0, _080F57D8 @ =0x00026bff cmp r4, r0 bgt _080F5798 mov r1, r12 str r1, [sp, 0x10] mov r10, r0 _080F5772: ldr r3, [sp, 0x10] adds r2, r3, r7 asrs r1, r4, 10 asrs r0, r4, 9 movs r3, 0x1 ands r0, r3 adds r1, r0 add r1, r9 strh r1, [r2] ldr r0, [sp, 0x8] adds r4, r0 adds r7, 0x4 adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, r8 bcs _080F5798 cmp r4, r10 ble _080F5772 _080F5798: ldr r1, _080F57DC @ =gUnknown_083DFEC4 ldr r0, [r1] ldr r2, [sp, 0x4] adds r1, r2, r5 ldr r3, _080F57E0 @ =0x00009340 adds r0, r3 strh r1, [r0] ldrh r0, [r0] subs r0, 0x38 lsls r0, 2 adds r6, r0 cmp r5, r8 bcs _080F57D4 mov r3, r12 movs r7, 0x1 _080F57B6: adds r2, r3, r6 asrs r1, r4, 10 asrs r0, r4, 9 ands r0, r7 adds r1, r0 add r1, r9 strh r1, [r2] ldr r0, [sp, 0x8] adds r4, r0 adds r6, 0x4 adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, r8 bcc _080F57B6 _080F57D4: subs r0, r6, 0x4 b _080F58C4 .align 2, 0 _080F57D8: .4byte 0x00026bff _080F57DC: .4byte gUnknown_083DFEC4 _080F57E0: .4byte 0x00009340 _080F57E4: ldr r1, [sp, 0x8] cmp r1, 0 bge _080F5890 ldr r0, [sp, 0x4] subs r0, 0x38 lsls r0, 2 adds r6, r0 movs r5, 0 mov r2, r9 lsls r2, 1 mov r12, r2 mov r3, r10 add r3, r9 str r3, [sp, 0xC] cmp r5, r8 bcs _080F5842 adds r3, r2, r6 asrs r1, r4, 10 asrs r0, r4, 9 movs r2, 0x1 ands r0, r2 adds r1, r0 add r1, r9 strh r1, [r3] b _080F5838 _080F5816: ldr r0, [sp, 0x8] adds r4, r0 adds r6, 0x4 adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, r8 bcs _080F5842 mov r1, r12 adds r3, r1, r6 asrs r2, r4, 10 asrs r0, r4, 9 movs r1, 0x1 ands r0, r1 adds r2, r0 add r2, r9 strh r2, [r3] _080F5838: ldr r0, _080F5884 @ =0x00026bff cmp r4, r0 bgt _080F5816 movs r0, 0x9B strh r0, [r3] _080F5842: ldr r2, _080F5888 @ =gUnknown_083DFEC4 ldr r0, [r2] ldr r3, [sp, 0x4] adds r1, r3, r5 ldr r2, _080F588C @ =0x00009340 adds r0, r2 strh r1, [r0] ldrh r0, [r0] subs r0, 0x38 lsls r0, 2 adds r7, r0 cmp r5, r8 bcs _080F587E mov r3, r12 movs r6, 0x1 _080F5860: adds r2, r3, r7 asrs r1, r4, 10 asrs r0, r4, 9 ands r0, r6 adds r1, r0 add r1, r9 strh r1, [r2] ldr r0, [sp, 0x8] adds r4, r0 adds r7, 0x4 adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, r8 bcc _080F5860 _080F587E: subs r0, r7, 0x4 b _080F58C4 .align 2, 0 _080F5884: .4byte 0x00026bff _080F5888: .4byte gUnknown_083DFEC4 _080F588C: .4byte 0x00009340 _080F5890: ldr r0, _080F58BC @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F58C0 @ =0x00009340 adds r0, r1 mov r2, sp ldrh r2, [r2, 0x4] strh r2, [r0] ldr r0, [sp, 0x4] subs r0, 0x38 lsls r0, 2 adds r6, r0 adds r7, r0 ldrh r0, [r5] adds r0, 0x1 strh r0, [r6, 0x2] ldr r3, [sp] ldrh r0, [r3] strh r0, [r7] movs r0, 0x9B strh r0, [r7, 0x2] b _080F58CC .align 2, 0 _080F58BC: .4byte gUnknown_083DFEC4 _080F58C0: .4byte 0x00009340 _080F58C4: add r0, r12 mov r1, sp ldrh r1, [r1, 0xC] strh r1, [r0] _080F58CC: 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_80F5688 thumb_func_start sub_80F58DC sub_80F58DC: @ 80F58DC push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x4 adds r5, r0, 0 ldrh r0, [r5, 0x2] ldrh r1, [r5, 0x6] cmp r0, r1 bcs _080F5914 adds r4, r0, 0 mov r8, r4 ldr r0, _080F590C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F5910 @ =0x00009130 adds r0, r1 adds r4, r5, 0x4 movs r1, 0 str r1, [sp] adds r1, r5, 0 adds r2, r4, 0 movs r3, 0x1 bl sub_80F5688 b _080F5930 .align 2, 0 _080F590C: .4byte gUnknown_083DFEC4 _080F5910: .4byte 0x00009130 _080F5914: ldrh r4, [r5, 0x6] mov r8, r4 ldr r0, _080F5A08 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F5A0C @ =0x00009130 adds r0, r1 adds r4, r5, 0x4 movs r1, 0 str r1, [sp] adds r1, r4, 0 adds r2, r5, 0 movs r3, 0 bl sub_80F5688 _080F5930: adds r1, r4, 0 ldr r0, _080F5A08 @ =gUnknown_083DFEC4 ldr r6, [r0] ldr r0, _080F5A0C @ =0x00009130 adds r4, r6, r0 adds r7, r5, 0 adds r7, 0x8 movs r0, 0 str r0, [sp] adds r0, r4, 0 adds r2, r7, 0 movs r3, 0x1 bl sub_80F5688 movs r3, 0 ldrh r0, [r5, 0xA] ldrh r1, [r5, 0xE] cmp r0, r1 bhi _080F5958 movs r3, 0x1 _080F5958: adds r2, r5, 0 adds r2, 0xC ldr r1, _080F5A10 @ =0x00009238 adds r0, r6, r1 str r0, [sp] adds r0, r4, 0 adds r1, r7, 0 bl sub_80F5688 movs r2, 0x38 cmp r2, r8 bcs _080F5990 adds r7, r4, 0 movs r3, 0 ldr r0, _080F5A14 @ =0x00009132 adds r4, r6, r0 _080F5978: adds r0, r2, 0 subs r0, 0x38 lsls r0, 2 adds r1, r7, r0 strh r3, [r1] adds r0, r4, r0 strh r3, [r0] adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 cmp r2, r8 bcc _080F5978 _080F5990: ldrh r2, [r5, 0x2] ldr r0, _080F5A08 @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r4, _080F5A18 @ =0x00009340 adds r1, r3, r4 adds r6, r0, 0 ldrh r0, [r1] cmp r2, r0 bhi _080F59BE ldr r4, _080F5A0C @ =0x00009130 adds r3, r4 movs r4, 0x9B _080F59A8: adds r0, r2, 0 subs r0, 0x38 lsls r0, 2 adds r0, r3, r0 strh r4, [r0] adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 ldrh r0, [r1] cmp r2, r0 bls _080F59A8 _080F59BE: ldr r4, [r6] ldr r1, _080F5A18 @ =0x00009340 adds r0, r4, r1 ldrh r0, [r0] ldrh r1, [r5, 0xA] cmp r0, r1 bcs _080F59CE adds r0, r1, 0 _080F59CE: adds r0, 0x1 lsls r0, 16 lsrs r2, r0, 16 cmp r2, 0x79 bhi _080F59FA ldr r0, _080F5A0C @ =0x00009130 adds r5, r4, r0 movs r3, 0 ldr r1, _080F5A14 @ =0x00009132 adds r4, r1 _080F59E2: adds r0, r2, 0 subs r0, 0x38 lsls r0, 2 adds r1, r5, r0 strh r3, [r1] adds r0, r4, r0 strh r3, [r0] adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 cmp r2, 0x79 bls _080F59E2 _080F59FA: add sp, 0x4 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F5A08: .4byte gUnknown_083DFEC4 _080F5A0C: .4byte 0x00009130 _080F5A10: .4byte 0x00009238 _080F5A14: .4byte 0x00009132 _080F5A18: .4byte 0x00009340 thumb_func_end sub_80F58DC thumb_func_start sub_80F5A1C sub_80F5A1C: @ 80F5A1C push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x4 adds r5, r0, 0 ldrh r0, [r5, 0x2] ldrh r1, [r5, 0x12] cmp r0, r1 bcs _080F5A54 adds r7, r0, 0 ldr r0, _080F5A4C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F5A50 @ =0x00009238 adds r0, r2 adds r4, r5, 0 adds r4, 0x10 movs r1, 0 str r1, [sp] adds r1, r5, 0 adds r2, r4, 0 movs r3, 0 bl sub_80F5688 b _080F5A70 .align 2, 0 _080F5A4C: .4byte gUnknown_083DFEC4 _080F5A50: .4byte 0x00009238 _080F5A54: ldrh r7, [r5, 0x12] ldr r0, _080F5B28 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r4, _080F5B2C @ =0x00009238 adds r0, r4 adds r4, r5, 0 adds r4, 0x10 movs r1, 0 str r1, [sp] adds r1, r4, 0 adds r2, r5, 0 movs r3, 0x1 bl sub_80F5688 _080F5A70: adds r1, r4, 0 ldr r0, _080F5B28 @ =gUnknown_083DFEC4 ldr r0, [r0] mov r8, r0 ldr r4, _080F5B2C @ =0x00009238 add r4, r8 adds r2, r5, 0 adds r2, 0xC movs r0, 0 str r0, [sp] adds r0, r4, 0 movs r3, 0 bl sub_80F5688 movs r2, 0x38 cmp r2, r7 bcs _080F5AB2 adds r6, r4, 0 movs r3, 0 ldr r4, _080F5B30 @ =0x0000923a add r4, r8 _080F5A9A: adds r0, r2, 0 subs r0, 0x38 lsls r0, 2 adds r1, r6, r0 strh r3, [r1] adds r0, r4, r0 strh r3, [r0] adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 cmp r2, r7 bcc _080F5A9A _080F5AB2: ldrh r2, [r5, 0x2] ldr r0, _080F5B28 @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r4, _080F5B34 @ =0x00009340 adds r1, r3, r4 adds r6, r0, 0 ldrh r0, [r1] cmp r2, r0 bhi _080F5AE0 ldr r4, _080F5B30 @ =0x0000923a adds r3, r4 movs r4, 0x9B _080F5ACA: adds r0, r2, 0 subs r0, 0x38 lsls r0, 2 adds r0, r3, r0 strh r4, [r0] adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 ldrh r0, [r1] cmp r2, r0 bls _080F5ACA _080F5AE0: ldrh r0, [r5, 0xE] adds r1, r0, 0x1 ldr r3, [r6] ldr r2, _080F5B34 @ =0x00009340 adds r0, r3, r2 ldrh r0, [r0] cmp r0, r1 bge _080F5AF2 adds r0, r1, 0 _080F5AF2: lsls r0, 16 lsrs r2, r0, 16 cmp r2, 0x79 bhi _080F5B1C ldr r4, _080F5B2C @ =0x00009238 adds r5, r3, r4 movs r4, 0 ldr r0, _080F5B30 @ =0x0000923a adds r3, r0 _080F5B04: adds r0, r2, 0 subs r0, 0x38 lsls r0, 2 adds r1, r5, r0 strh r4, [r1] adds r0, r3, r0 strh r4, [r0] adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 cmp r2, 0x79 bls _080F5B04 _080F5B1C: add sp, 0x4 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F5B28: .4byte gUnknown_083DFEC4 _080F5B2C: .4byte 0x00009238 _080F5B30: .4byte 0x0000923a _080F5B34: .4byte 0x00009340 thumb_func_end sub_80F5A1C thumb_func_start sub_80F5B38 sub_80F5B38: @ 80F5B38 ldr r0, _080F5B48 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F5B4C @ =0x00009345 adds r0, r1 movs r1, 0 strb r1, [r0] bx lr .align 2, 0 _080F5B48: .4byte gUnknown_083DFEC4 _080F5B4C: .4byte 0x00009345 thumb_func_end sub_80F5B38 thumb_func_start sub_80F5B50 sub_80F5B50: @ 80F5B50 push {r4,r5,lr} sub sp, 0xC ldr r0, _080F5B68 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F5B6C @ =0x00009345 adds r4, r0, r1 ldrb r0, [r4] cmp r0, 0 beq _080F5B70 cmp r0, 0x1 beq _080F5BB4 b _080F5BCC .align 2, 0 _080F5B68: .4byte gUnknown_083DFEC4 _080F5B6C: .4byte 0x00009345 _080F5B70: bl dp12_8087EA4 ldr r0, _080F5BA8 @ =gUnknown_03004DE0 movs r2, 0xEF movs r3, 0xF4 lsls r3, 3 adds r1, r0, r3 adds r0, 0x20 movs r3, 0xF _080F5B82: strh r2, [r0] strh r2, [r0, 0x2] strh r2, [r1] strh r2, [r1, 0x2] adds r1, 0x4 adds r0, 0x4 subs r3, 0x1 cmp r3, 0 bge _080F5B82 ldr r0, _080F5BAC @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r5, _080F5BB0 @ =0x00009345 adds r1, r5 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] movs r0, 0x1 b _080F5BCE .align 2, 0 _080F5BA8: .4byte gUnknown_03004DE0 _080F5BAC: .4byte gUnknown_083DFEC4 _080F5BB0: .4byte 0x00009345 _080F5BB4: mov r0, sp ldr r1, _080F5BD8 @ =gUnknown_083E4990 ldm r1!, {r2,r3,r5} stm r0!, {r2,r3,r5} ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] bl sub_80895F8 ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] _080F5BCC: movs r0, 0 _080F5BCE: add sp, 0xC pop {r4,r5} pop {r1} bx r1 .align 2, 0 _080F5BD8: .4byte gUnknown_083E4990 thumb_func_end sub_80F5B50 thumb_func_start sub_80F5BDC sub_80F5BDC: @ 80F5BDC push {lr} ldr r1, _080F5BEC @ =gUnknown_03004DC0 movs r0, 0x3 strb r0, [r1, 0x15] bl sub_8089668 pop {r0} bx r0 .align 2, 0 _080F5BEC: .4byte gUnknown_03004DC0 thumb_func_end sub_80F5BDC thumb_func_start sub_80F5BF0 sub_80F5BF0: @ 80F5BF0 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0xC ldr r0, _080F5CB8 @ =gUnknown_083DFEC4 ldr r5, [r0] ldr r1, _080F5CBC @ =0x00009344 adds r0, r5, r1 ldrb r0, [r0] cmp r0, 0 beq _080F5CA6 ldr r0, _080F5CC0 @ =0x0000911c adds r4, r5, r0 adds r0, r4, 0 bl sub_80F58DC adds r0, r4, 0 bl sub_80F5A1C movs r6, 0 ldr r1, _080F5CC4 @ =gUnknown_03004DE0 mov r12, r1 movs r0, 0xF0 lsls r0, 3 add r0, r12 mov r9, r0 adds r7, r5, 0 ldr r1, _080F5CC8 @ =0x0000ffff mov r8, r1 ldr r5, _080F5CCC @ =0x00009130 adds r5, r7, r5 str r5, [sp] ldr r0, _080F5CD0 @ =0x00009132 adds r0, r7, r0 str r0, [sp, 0x4] ldr r1, _080F5CD4 @ =0x00009238 adds r1, r7 mov r10, r1 _080F5C40: adds r2, r6, 0 adds r2, 0x37 lsls r3, r2, 2 mov r5, r9 adds r5, r3, r5 str r5, [sp, 0x8] add r3, r12 lsls r4, r6, 2 ldr r1, [sp] adds r0, r1, r4 ldrh r0, [r0] lsls r0, 8 ldr r5, [sp, 0x4] adds r1, r5, r4 ldrh r1, [r1] orrs r0, r1 strh r0, [r3] mov r1, r8 ands r0, r1 ldr r5, [sp, 0x8] strh r0, [r5] lsls r2, 1 adds r2, 0x1 lsls r2, 1 mov r0, r9 adds r3, r2, r0 add r2, r12 mov r1, r10 adds r0, r1, r4 ldrh r1, [r0] lsls r1, 8 ldr r5, _080F5CD8 @ =0x0000923a adds r0, r7, r5 adds r0, r4 ldrh r0, [r0] orrs r1, r0 strh r1, [r2] mov r0, r8 ands r1, r0 strh r1, [r3] adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 ldr r0, _080F5CB8 @ =gUnknown_083DFEC4 cmp r6, 0x41 bls _080F5C40 ldr r0, [r0] ldr r1, _080F5CBC @ =0x00009344 adds r0, r1 movs r1, 0 strb r1, [r0] _080F5CA6: add sp, 0xC pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F5CB8: .4byte gUnknown_083DFEC4 _080F5CBC: .4byte 0x00009344 _080F5CC0: .4byte 0x0000911c _080F5CC4: .4byte gUnknown_03004DE0 _080F5CC8: .4byte 0x0000ffff _080F5CCC: .4byte 0x00009130 _080F5CD0: .4byte 0x00009132 _080F5CD4: .4byte 0x00009238 _080F5CD8: .4byte 0x0000923a thumb_func_end sub_80F5BF0 thumb_func_start sub_80F5CDC sub_80F5CDC: @ 80F5CDC push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0xC lsls r0, 24 lsrs r5, r0, 24 ldr r0, _080F5DB0 @ =gUnknown_083DFEC4 ldr r6, [r0] ldr r1, _080F5DB4 @ =0x00009344 adds r0, r6, r1 ldrb r0, [r0] cmp r0, 0 beq _080F5DA0 ldr r0, _080F5DB8 @ =0x0000911c adds r4, r6, r0 adds r0, r4, 0 bl sub_80F58DC adds r0, r4, 0 bl sub_80F5A1C movs r0, 0x37 subs r0, r5 lsls r0, 17 lsrs r5, r0, 16 movs r7, 0 ldr r1, _080F5DBC @ =gUnknown_03004DE0 mov r12, r1 movs r4, 0xF0 lsls r4, 3 add r4, r12 mov r9, r4 ldr r0, _080F5DC0 @ =0x0000ffff mov r8, r0 ldr r1, _080F5DC4 @ =0x00009130 adds r1, r6, r1 str r1, [sp] ldr r4, _080F5DC8 @ =0x00009132 adds r4, r6, r4 str r4, [sp, 0x4] ldr r0, _080F5DCC @ =0x00009238 adds r0, r6 mov r10, r0 _080F5D36: lsls r2, r5, 1 mov r1, r9 adds r1, r2, r1 str r1, [sp, 0x8] add r2, r12 lsls r3, r7, 2 ldr r4, [sp] adds r0, r4, r3 ldrh r0, [r0] lsls r0, 8 ldr r4, [sp, 0x4] adds r1, r4, r3 ldrh r1, [r1] orrs r0, r1 strh r0, [r2] mov r1, r8 ands r0, r1 ldr r4, [sp, 0x8] strh r0, [r4] adds r2, r5, 0x1 lsls r2, 1 mov r0, r9 adds r0, r2, r0 str r0, [sp, 0x8] add r2, r12 mov r1, r10 adds r0, r1, r3 ldrh r1, [r0] lsls r1, 8 ldr r4, _080F5DD0 @ =0x0000923a adds r0, r6, r4 adds r0, r3 ldrh r0, [r0] orrs r1, r0 strh r1, [r2] mov r0, r8 ands r1, r0 ldr r4, [sp, 0x8] strh r1, [r4] adds r0, r5, 0x2 lsls r0, 16 lsrs r5, r0, 16 adds r0, r7, 0x1 lsls r0, 16 lsrs r7, r0, 16 ldr r0, _080F5DB0 @ =gUnknown_083DFEC4 cmp r7, 0x41 bls _080F5D36 ldr r0, [r0] ldr r1, _080F5DB4 @ =0x00009344 adds r0, r1 movs r1, 0 strb r1, [r0] _080F5DA0: add sp, 0xC pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F5DB0: .4byte gUnknown_083DFEC4 _080F5DB4: .4byte 0x00009344 _080F5DB8: .4byte 0x0000911c _080F5DBC: .4byte gUnknown_03004DE0 _080F5DC0: .4byte 0x0000ffff _080F5DC4: .4byte 0x00009130 _080F5DC8: .4byte 0x00009132 _080F5DCC: .4byte 0x00009238 _080F5DD0: .4byte 0x0000923a thumb_func_end sub_80F5CDC thumb_func_start sub_80F5DD4 sub_80F5DD4: @ 80F5DD4 push {lr} ldr r0, _080F5DE8 @ =gMain ldrh r1, [r0, 0x30] movs r0, 0x40 ands r0, r1 cmp r0, 0 beq _080F5DEC bl sub_80F5E20 b _080F5E18 .align 2, 0 _080F5DE8: .4byte gMain _080F5DEC: movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080F5DFA bl sub_80F5EE4 b _080F5E18 _080F5DFA: movs r0, 0x20 ands r0, r1 cmp r0, 0 beq _080F5E08 bl sub_80F5FB4 b _080F5E18 _080F5E08: movs r0, 0x10 ands r0, r1 cmp r0, 0 bne _080F5E14 movs r0, 0 b _080F5E1C _080F5E14: bl sub_80F6010 _080F5E18: lsls r0, 24 lsrs r0, 24 _080F5E1C: pop {r1} bx r1 thumb_func_end sub_80F5DD4 thumb_func_start sub_80F5E20 sub_80F5E20: @ 80F5E20 push {r4,r5,lr} ldr r0, _080F5E38 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r3, _080F5E3C @ =0x0000876e adds r1, r2, r3 movs r5, 0 ldrsh r1, [r1, r5] adds r4, r0, 0 cmp r1, 0 bne _080F5E40 movs r0, 0 b _080F5EC8 .align 2, 0 _080F5E38: .4byte gUnknown_083DFEC4 _080F5E3C: .4byte 0x0000876e _080F5E40: ldr r1, _080F5E6C @ =0x000087c9 adds r0, r2, r1 ldrb r0, [r0] cmp r0, 0 beq _080F5E74 ldr r3, _080F5E70 @ =0x0000876c adds r0, r2, r3 movs r5, 0 ldrsh r0, [r0, r5] cmp r0, 0 bne _080F5E74 movs r4, 0x1 negs r4, r4 adds r0, r4, 0 bl sub_80F063C adds r0, r4, 0 bl sub_80F6074 movs r0, 0x2 b _080F5EC8 .align 2, 0 _080F5E6C: .4byte 0x000087c9 _080F5E70: .4byte 0x0000876c _080F5E74: ldr r1, [r4] ldr r0, _080F5ED0 @ =0x0000876c adds r2, r1, r0 ldrh r0, [r2] subs r3, r0, 0x1 strh r3, [r2] ldr r5, _080F5ED4 @ =0x000087c9 adds r0, r1, r5 ldrb r0, [r0] cmp r0, 0 bne _080F5E98 lsls r0, r3, 16 cmp r0, 0 bge _080F5E98 ldr r3, _080F5ED8 @ =0x00008772 adds r0, r1, r3 ldrh r0, [r0] strh r0, [r2] _080F5E98: ldr r0, [r4] ldr r5, _080F5EDC @ =0x00008770 adds r2, r0, r5 ldr r3, _080F5ED0 @ =0x0000876c adds r1, r0, r3 ldrh r1, [r1] ldrh r2, [r2] adds r2, r1, r2 subs r5, 0x2 adds r4, r0, r5 strh r2, [r4] ldr r1, _080F5EE0 @ =0x00008774 adds r0, r1 lsls r1, r2, 16 asrs r1, 16 ldrh r3, [r0] movs r5, 0 ldrsh r0, [r0, r5] cmp r1, r0 ble _080F5EC6 subs r0, r2, 0x1 subs r0, r3 strh r0, [r4] _080F5EC6: movs r0, 0x1 _080F5EC8: pop {r4,r5} pop {r1} bx r1 .align 2, 0 _080F5ED0: .4byte 0x0000876c _080F5ED4: .4byte 0x000087c9 _080F5ED8: .4byte 0x00008772 _080F5EDC: .4byte 0x00008770 _080F5EE0: .4byte 0x00008774 thumb_func_end sub_80F5E20 thumb_func_start sub_80F5EE4 sub_80F5EE4: @ 80F5EE4 push {r4-r6,lr} ldr r3, _080F5F04 @ =gUnknown_083DFEC4 ldr r4, [r3] ldr r1, _080F5F08 @ =0x0000876e adds r0, r4, r1 ldr r2, _080F5F0C @ =0x00008774 adds r1, r4, r2 movs r5, 0 ldrsh r2, [r0, r5] movs r6, 0 ldrsh r0, [r1, r6] adds r5, r3, 0 cmp r2, r0 bne _080F5F10 movs r0, 0 b _080F5F98 .align 2, 0 _080F5F04: .4byte gUnknown_083DFEC4 _080F5F08: .4byte 0x0000876e _080F5F0C: .4byte 0x00008774 _080F5F10: ldr r1, _080F5F38 @ =0x000087c9 adds r0, r4, r1 ldrb r0, [r0] cmp r0, 0 beq _080F5F40 ldr r2, _080F5F3C @ =0x0000876c adds r0, r4, r2 movs r3, 0 ldrsh r0, [r0, r3] cmp r0, 0x7 bne _080F5F40 movs r0, 0x1 bl sub_80F063C movs r0, 0x1 bl sub_80F6074 movs r0, 0x2 b _080F5F98 .align 2, 0 _080F5F38: .4byte 0x000087c9 _080F5F3C: .4byte 0x0000876c _080F5F40: ldr r2, [r5] ldr r6, _080F5FA0 @ =0x0000876c adds r4, r2, r6 ldrh r0, [r4] adds r1, r0, 0x1 strh r1, [r4] ldr r3, _080F5FA4 @ =0x000087c9 adds r0, r2, r3 ldrb r3, [r0] cmp r3, 0 bne _080F5F68 adds r6, 0x6 adds r0, r2, r6 lsls r1, 16 asrs r1, 16 movs r2, 0 ldrsh r0, [r0, r2] cmp r1, r0 ble _080F5F68 strh r3, [r4] _080F5F68: ldr r0, [r5] ldr r3, _080F5FA8 @ =0x00008770 adds r2, r0, r3 ldr r5, _080F5FA0 @ =0x0000876c adds r1, r0, r5 ldrh r1, [r1] ldrh r2, [r2] adds r2, r1, r2 ldr r6, _080F5FAC @ =0x0000876e adds r4, r0, r6 strh r2, [r4] ldr r1, _080F5FB0 @ =0x00008774 adds r0, r1 lsls r1, r2, 16 asrs r1, 16 ldrh r3, [r0] movs r5, 0 ldrsh r0, [r0, r5] cmp r1, r0 ble _080F5F96 subs r0, r2, 0x1 subs r0, r3 strh r0, [r4] _080F5F96: movs r0, 0x1 _080F5F98: pop {r4-r6} pop {r1} bx r1 .align 2, 0 _080F5FA0: .4byte 0x0000876c _080F5FA4: .4byte 0x000087c9 _080F5FA8: .4byte 0x00008770 _080F5FAC: .4byte 0x0000876e _080F5FB0: .4byte 0x00008774 thumb_func_end sub_80F5EE4 thumb_func_start sub_80F5FB4 sub_80F5FB4: @ 80F5FB4 push {r4,lr} ldr r0, _080F5FD8 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F5FDC @ =0x00008770 adds r0, r1, r2 ldrh r3, [r0] movs r4, 0 ldrsh r2, [r0, r4] cmp r2, 0 beq _080F5FD2 ldr r4, _080F5FE0 @ =0x000087c9 adds r0, r1, r4 ldrb r0, [r0] cmp r0, 0 bne _080F5FE4 _080F5FD2: movs r0, 0 b _080F6004 .align 2, 0 _080F5FD8: .4byte gUnknown_083DFEC4 _080F5FDC: .4byte 0x00008770 _080F5FE0: .4byte 0x000087c9 _080F5FE4: cmp r2, 0x7 bgt _080F5FF0 negs r0, r3 lsls r0, 16 lsrs r0, 16 b _080F5FF2 _080F5FF0: ldr r0, _080F600C @ =0x0000fff8 _080F5FF2: lsls r4, r0, 16 asrs r4, 16 adds r0, r4, 0 bl sub_80F063C adds r0, r4, 0 bl sub_80F6074 movs r0, 0x2 _080F6004: pop {r4} pop {r1} bx r1 .align 2, 0 _080F600C: .4byte 0x0000fff8 thumb_func_end sub_80F5FB4 thumb_func_start sub_80F6010 sub_80F6010: @ 80F6010 push {r4-r6,lr} ldr r0, _080F603C @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r1, _080F6040 @ =0x00008772 adds r0, r3, r1 ldr r2, _080F6044 @ =0x00008774 adds r1, r3, r2 ldrh r5, [r0] movs r4, 0 ldrsh r2, [r0, r4] ldrh r4, [r1] movs r6, 0 ldrsh r0, [r1, r6] cmp r2, r0 beq _080F6038 ldr r1, _080F6048 @ =0x000087c9 adds r0, r3, r1 ldrb r0, [r0] cmp r0, 0 bne _080F604C _080F6038: movs r0, 0 b _080F606C .align 2, 0 _080F603C: .4byte gUnknown_083DFEC4 _080F6040: .4byte 0x00008772 _080F6044: .4byte 0x00008774 _080F6048: .4byte 0x000087c9 _080F604C: subs r0, r4, r5 lsls r0, 16 lsrs r4, r0, 16 asrs r0, 16 cmp r0, 0x8 ble _080F605A movs r4, 0x8 _080F605A: lsls r4, 16 asrs r4, 16 adds r0, r4, 0 bl sub_80F063C adds r0, r4, 0 bl sub_80F6074 movs r0, 0x2 _080F606C: pop {r4-r6} pop {r1} bx r1 thumb_func_end sub_80F6010 thumb_func_start sub_80F6074 sub_80F6074: @ 80F6074 push {r4-r7,lr} ldr r1, _080F6120 @ =gUnknown_083DFEC4 ldr r6, [r1] ldr r1, _080F6124 @ =0x00008770 adds r3, r6, r1 ldrh r1, [r3] lsls r0, 16 asrs r7, r0, 16 adds r2, r7, r1 strh r2, [r3] ldr r5, _080F6128 @ =0x00008774 adds r4, r6, r5 lsls r0, r2, 16 asrs r0, 16 ldrh r1, [r4] mov r12, r1 movs r5, 0 ldrsh r1, [r4, r5] cmp r0, r1 ble _080F60A4 subs r0, r2, 0x1 mov r1, r12 subs r0, r1 strh r0, [r3] _080F60A4: ldrh r1, [r3] movs r2, 0 ldrsh r0, [r3, r2] cmp r0, 0 bge _080F60B6 adds r0, r1, 0x1 ldrh r5, [r4] adds r0, r5 strh r0, [r3] _080F60B6: ldr r0, _080F612C @ =0x00008772 adds r3, r6, r0 ldrh r0, [r3] adds r2, r7, r0 strh r2, [r3] lsls r0, r2, 16 asrs r0, 16 ldrh r1, [r4] mov r12, r1 movs r5, 0 ldrsh r1, [r4, r5] cmp r0, r1 ble _080F60D8 subs r0, r2, 0x1 mov r1, r12 subs r0, r1 strh r0, [r3] _080F60D8: ldrh r1, [r3] movs r2, 0 ldrsh r0, [r3, r2] cmp r0, 0 bge _080F60EA adds r0, r1, 0x1 ldrh r5, [r4] adds r0, r5 strh r0, [r3] _080F60EA: ldr r0, _080F6130 @ =0x0000876e adds r3, r6, r0 ldrh r0, [r3] adds r2, r7, r0 strh r2, [r3] lsls r0, r2, 16 asrs r0, 16 ldrh r5, [r4] movs r6, 0 ldrsh r1, [r4, r6] cmp r0, r1 ble _080F6108 subs r0, r2, 0x1 subs r0, r5 strh r0, [r3] _080F6108: ldrh r1, [r3] movs r2, 0 ldrsh r0, [r3, r2] cmp r0, 0 bge _080F611A adds r0, r1, 0x1 ldrh r4, [r4] adds r0, r4 strh r0, [r3] _080F611A: pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F6120: .4byte gUnknown_083DFEC4 _080F6124: .4byte 0x00008770 _080F6128: .4byte 0x00008774 _080F612C: .4byte 0x00008772 _080F6130: .4byte 0x0000876e thumb_func_end sub_80F6074 thumb_func_start sub_80F6134 sub_80F6134: @ 80F6134 push {r4-r6,lr} ldr r0, _080F6194 @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r1, _080F6198 @ =0x000087c9 adds r0, r3, r1 ldrb r0, [r0] cmp r0, 0 beq _080F61E0 ldr r2, _080F619C @ =0x000087dc adds r5, r3, r2 movs r4, 0 ldrsh r1, [r5, r4] ldr r6, _080F61A0 @ =0x00008774 adds r4, r3, r6 movs r2, 0 ldrsh r0, [r4, r2] subs r0, 0x7 cmp r1, r0 bge _080F61AC subs r6, 0x8 adds r1, r3, r6 movs r0, 0 strh r0, [r1] ldrh r0, [r5] ldr r1, _080F61A4 @ =0x00008770 adds r2, r3, r1 strh r0, [r2] ldrh r1, [r5] ldr r5, _080F61A8 @ =0x0000876e adds r0, r3, r5 strh r1, [r0] ldrh r5, [r2] adds r0, r5, 0x7 adds r6, 0x6 adds r2, r3, r6 strh r0, [r2] lsls r0, 16 asrs r0, 16 ldrh r3, [r4] movs r6, 0 ldrsh r1, [r4, r6] cmp r0, r1 ble _080F61F4 adds r0, r5, 0x6 subs r0, r3 strh r0, [r2] b _080F61F4 .align 2, 0 _080F6194: .4byte gUnknown_083DFEC4 _080F6198: .4byte 0x000087c9 _080F619C: .4byte 0x000087dc _080F61A0: .4byte 0x00008774 _080F61A4: .4byte 0x00008770 _080F61A8: .4byte 0x0000876e _080F61AC: ldrh r0, [r4] subs r0, 0x7 ldr r2, _080F61D4 @ =0x00008770 adds r1, r3, r2 strh r0, [r1] ldrh r1, [r4] ldr r6, _080F61D8 @ =0x00008772 adds r0, r3, r6 strh r1, [r0] ldrh r1, [r5] subs r2, 0x2 adds r0, r3, r2 strh r1, [r0] ldrh r0, [r4] subs r0, r1 movs r1, 0x7 subs r1, r0 ldr r4, _080F61DC @ =0x0000876c adds r0, r3, r4 b _080F61F2 .align 2, 0 _080F61D4: .4byte 0x00008770 _080F61D8: .4byte 0x00008772 _080F61DC: .4byte 0x0000876c _080F61E0: ldr r5, _080F61FC @ =0x000087dc adds r2, r3, r5 ldrh r1, [r2] ldr r6, _080F6200 @ =0x0000876c adds r0, r3, r6 strh r1, [r0] ldrh r1, [r2] ldr r2, _080F6204 @ =0x0000876e adds r0, r3, r2 _080F61F2: strh r1, [r0] _080F61F4: pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080F61FC: .4byte 0x000087dc _080F6200: .4byte 0x0000876c _080F6204: .4byte 0x0000876e thumb_func_end sub_80F6134 thumb_func_start sub_80F6208 sub_80F6208: @ 80F6208 push {lr} ldr r0, _080F623C @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F6240 @ =0x00008fe6 adds r0, r1, r2 movs r2, 0 strb r2, [r0] ldr r3, _080F6244 @ =0x00008fe7 adds r0, r1, r3 strb r2, [r0] ldr r0, _080F6248 @ =0x00008fe8 adds r2, r1, r0 movs r0, 0xFF strb r0, [r2] ldr r2, _080F624C @ =0x00006dac adds r1, r2 ldrb r0, [r1] cmp r0, 0 bne _080F6238 _080F622E: bl sub_80F6250 lsls r0, 24 cmp r0, 0 bne _080F622E _080F6238: pop {r0} bx r0 .align 2, 0 _080F623C: .4byte gUnknown_083DFEC4 _080F6240: .4byte 0x00008fe6 _080F6244: .4byte 0x00008fe7 _080F6248: .4byte 0x00008fe8 _080F624C: .4byte 0x00006dac thumb_func_end sub_80F6208 thumb_func_start sub_80F6250 sub_80F6250: @ 80F6250 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} ldr r0, _080F6270 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r0, _080F6274 @ =0x00008fe8 adds r3, r2, r0 movs r1, 0 ldrsb r1, [r3, r1] movs r0, 0x1 negs r0, r0 cmp r1, r0 beq _080F6278 _080F626C: movs r0, 0 b _080F637E .align 2, 0 _080F6270: .4byte gUnknown_083DFEC4 _080F6274: .4byte 0x00008fe8 _080F6278: ldr r1, _080F630C @ =0x00008fe6 adds r0, r2, r1 ldrb r0, [r0] cmp r0, 0x7 beq _080F631C cmp r0, 0x8 beq _080F626C movs r6, 0 adds r7, r2, 0 adds r5, r7, r1 ldr r0, _080F6310 @ =0x00008fe7 adds r4, r7, r0 ldr r1, _080F6314 @ =gPokemonStorage + 0x4 mov r8, r1 ldr r0, _080F6318 @ =0x000041a0 add r0, r8 mov r9, r0 _080F629A: ldrb r0, [r5] lsls r1, r0, 2 adds r1, r0 lsls r0, r1, 4 subs r0, r1 lsls r0, 5 ldrb r2, [r4] lsls r1, r2, 2 adds r1, r2 lsls r1, 4 add r1, r8 adds r0, r1 movs r1, 0x51 bl GetBoxMonData cmp r0, 0 bne _080F636C ldrb r0, [r5] lsls r1, r0, 2 adds r1, r0 lsls r0, r1, 4 subs r0, r1 lsls r0, 5 ldrb r2, [r4] lsls r1, r2, 2 adds r1, r2 lsls r1, 4 add r1, r9 adds r0, r1 movs r1, 0x51 bl GetBoxMonData adds r1, r0, 0 cmp r1, 0 bne _080F636C ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] movs r2, 0xFF lsls r0, 24 lsrs r0, 24 cmp r0, 0x1D bls _080F62FE strb r1, [r4] ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] ands r0, r2 cmp r0, 0x6 bhi _080F637C _080F62FE: adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 cmp r6, 0x9 bls _080F629A b _080F637C .align 2, 0 _080F630C: .4byte 0x00008fe6 _080F6310: .4byte 0x00008fe7 _080F6314: .4byte gPokemonStorage + 0x4 _080F6318: .4byte 0x000041a0 _080F631C: movs r0, 0 strb r0, [r3] movs r6, 0 b _080F632A _080F6324: adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 _080F632A: cmp r6, 0x5 bhi _080F634C movs r0, 0x64 muls r0, r6 ldr r1, _080F635C @ =gPlayerParty adds r0, r1 movs r1, 0x51 bl GetMonData cmp r0, 0 beq _080F6324 ldr r0, _080F6360 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F6364 @ =0x00008fe8 adds r0, r1 movs r1, 0x1 strb r1, [r0] _080F634C: ldr r0, _080F6360 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F6368 @ =0x00008fe6 adds r1, r0 ldrb r0, [r1] adds r0, 0x1 b _080F6372 .align 2, 0 _080F635C: .4byte gPlayerParty _080F6360: .4byte gUnknown_083DFEC4 _080F6364: .4byte 0x00008fe8 _080F6368: .4byte 0x00008fe6 _080F636C: ldr r0, _080F6378 @ =0x00008fe8 adds r1, r7, r0 movs r0, 0x1 _080F6372: strb r0, [r1] b _080F626C .align 2, 0 _080F6378: .4byte 0x00008fe8 _080F637C: movs r0, 0x1 _080F637E: pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_80F6250 thumb_func_start sub_80F638C sub_80F638C: @ 80F638C push {r4,lr} ldr r0, _080F63C0 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r1, _080F63C4 @ =0x00008fe6 adds r0, r4, r1 movs r1, 0 strb r1, [r0] ldr r2, _080F63C8 @ =0x00008fe7 adds r0, r4, r2 strb r1, [r0] bl sub_80F492C ldr r0, _080F63CC @ =0x00006dac adds r4, r0 ldrb r0, [r4] cmp r0, 0 bne _080F63B8 _080F63AE: bl sub_80F63D0 lsls r0, 24 cmp r0, 0 bne _080F63AE _080F63B8: pop {r4} pop {r0} bx r0 .align 2, 0 _080F63C0: .4byte gUnknown_083DFEC4 _080F63C4: .4byte 0x00008fe6 _080F63C8: .4byte 0x00008fe7 _080F63CC: .4byte 0x00006dac thumb_func_end sub_80F638C thumb_func_start sub_80F63D0 sub_80F63D0: @ 80F63D0 push {r4-r6,lr} sub sp, 0x4 ldr r0, _080F647C @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r1, _080F6480 @ =0x00008fe6 adds r0, r2, r1 ldrb r3, [r0] cmp r3, 0xE beq _080F6498 cmp r3, 0xF bne _080F63E8 b _080F64F6 _080F63E8: movs r1, 0x80 lsls r1, 23 ldr r0, [sp] orrs r0, r1 str r0, [sp] movs r6, 0 ldr r0, _080F6480 @ =0x00008fe6 adds r5, r2, r0 ldr r1, _080F6484 @ =0x00008fe7 adds r4, r2, r1 _080F63FC: ldrb r0, [r5] lsls r1, r0, 2 adds r1, r0 lsls r0, r1, 4 subs r0, r1 lsls r0, 5 ldrb r2, [r4] lsls r1, r2, 2 adds r1, r2 lsls r1, 4 ldr r2, _080F6488 @ =gPokemonStorage + 0x4 adds r1, r2 adds r0, r1 movs r1, 0x51 bl GetBoxMonData lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0 beq _080F644E ldrb r1, [r5] lsls r1, 8 ldr r2, _080F648C @ =0xffff00ff ldr r0, [sp] ands r0, r2 orrs r0, r1 str r0, [sp] ldrb r2, [r4] movs r1, 0x1F ands r2, r1 lsls r2, 16 ldr r1, _080F6490 @ =0xffe0ffff ands r0, r1 orrs r0, r2 ldr r1, _080F6494 @ =0xffffff00 ands r0, r1 orrs r0, r3 str r0, [sp] mov r0, sp bl sub_80F4944 _080F644E: ldrb r0, [r4] adds r0, 0x1 movs r2, 0 strb r0, [r4] movs r1, 0xFF lsls r0, 24 lsrs r0, 24 cmp r0, 0x1E bne _080F646E strb r2, [r4] ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] ands r0, r1 cmp r0, 0xE beq _080F6508 _080F646E: adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 cmp r6, 0xE bls _080F63FC b _080F6508 .align 2, 0 _080F647C: .4byte gUnknown_083DFEC4 _080F6480: .4byte 0x00008fe6 _080F6484: .4byte 0x00008fe7 _080F6488: .4byte gPokemonStorage + 0x4 _080F648C: .4byte 0xffff00ff _080F6490: .4byte 0xffe0ffff _080F6494: .4byte 0xffffff00 _080F6498: mov r0, sp ldrb r1, [r0, 0x3] movs r2, 0x40 orrs r1, r2 strb r1, [r0, 0x3] strb r3, [r0, 0x1] movs r6, 0 mov r4, sp _080F64A8: movs r0, 0x64 muls r0, r6 ldr r1, _080F64FC @ =gPlayerParty adds r0, r1 movs r1, 0x51 bl GetMonData lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0 beq _080F64DA movs r0, 0x1F adds r2, r6, 0 ands r2, r0 ldrb r0, [r4, 0x2] movs r5, 0x20 negs r5, r5 adds r1, r5, 0 ands r0, r1 orrs r0, r2 strb r0, [r4, 0x2] strb r3, [r4] mov r0, sp bl sub_80F4944 _080F64DA: adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 cmp r6, 0x5 bls _080F64A8 bl sub_80F49F4 ldr r0, _080F6500 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F6504 @ =0x00008fe6 adds r1, r0 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _080F64F6: movs r0, 0 b _080F650A .align 2, 0 _080F64FC: .4byte gPlayerParty _080F6500: .4byte gUnknown_083DFEC4 _080F6504: .4byte 0x00008fe6 _080F6508: movs r0, 0x1 _080F650A: add sp, 0x4 pop {r4-r6} pop {r1} bx r1 thumb_func_end sub_80F63D0 thumb_func_start sub_80F6514 sub_80F6514: @ 80F6514 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0xC mov r10, r0 lsls r1, 16 lsrs r1, 16 str r1, [sp] lsls r2, 24 lsrs r2, 24 str r2, [sp, 0x4] mov r5, r10 ldr r0, _080F65A4 @ =gUnknown_083DFEC4 ldr r0, [r0] lsls r1, 2 adds r0, r1 ldr r2, _080F65A8 @ =0x0000893d adds r1, r0, r2 ldrb r6, [r1] mov r8, r6 ldr r1, _080F65AC @ =0x0000893e adds r0, r1 ldrb r0, [r0] lsls r0, 27 lsrs r4, r0, 27 adds r7, r4, 0 adds r0, r6, 0 adds r1, r4, 0 movs r2, 0x2D movs r3, 0 bl sub_80F44B0 cmp r0, 0 beq _080F655E b _080F66CA _080F655E: adds r0, r6, 0 adds r1, r4, 0 movs r2, 0x2 adds r3, r5, 0 bl sub_80F44B0 adds r0, r5, 0 bl StringGetEnd10 adds r0, r6, 0 adds r1, r4, 0 movs r2, 0xB movs r3, 0 bl sub_80F44B0 lsls r0, 16 lsrs r0, 16 mov r9, r0 cmp r6, 0xE bne _080F65B4 movs r0, 0x64 muls r4, r0 ldr r0, _080F65B0 @ =gPlayerParty adds r4, r0 adds r0, r4, 0 movs r1, 0x38 bl GetMonData lsls r0, 16 lsrs r0, 16 str r0, [sp, 0x8] adds r0, r4, 0 bl GetMonGender b _080F65EA .align 2, 0 _080F65A4: .4byte gUnknown_083DFEC4 _080F65A8: .4byte 0x0000893d _080F65AC: .4byte 0x0000893e _080F65B0: .4byte gPlayerParty _080F65B4: mov r2, r8 lsls r1, r2, 2 add r1, r8 lsls r0, r1, 4 subs r0, r1 lsls r0, 5 lsls r1, r7, 2 adds r1, r7 lsls r1, 4 ldr r2, _080F6620 @ =gPokemonStorage + 0x4 adds r1, r2 adds r0, r1 bl GetLevelFromBoxMonExp lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x8] mov r0, r8 adds r1, r7, 0 movs r2, 0 movs r3, 0 bl sub_80F44B0 adds r1, r0, 0 mov r0, r9 bl GetGenderFromSpeciesAndPersonality _080F65EA: lsls r0, 24 lsrs r4, r0, 24 mov r0, r9 mov r1, r10 bl ShouldHideGenderIcon cmp r0, 0 beq _080F65FC movs r4, 0xFF _080F65FC: adds r0, r5, 0 bl StringLength lsls r0, 16 lsrs r0, 16 adds r5, r0 movs r1, 0xFC strb r1, [r5] movs r0, 0x13 strb r0, [r5, 0x1] movs r0, 0x3F strb r0, [r5, 0x2] adds r5, 0x3 cmp r4, 0 beq _080F6624 cmp r4, 0xFE beq _080F663C b _080F6656 .align 2, 0 _080F6620: .4byte gPokemonStorage + 0x4 _080F6624: strb r1, [r5] movs r0, 0x1 strb r0, [r5, 0x1] movs r0, 0xC strb r0, [r5, 0x2] strb r1, [r5, 0x3] movs r0, 0x3 strb r0, [r5, 0x4] movs r0, 0xD strb r0, [r5, 0x5] movs r0, 0xB5 b _080F6652 _080F663C: strb r1, [r5] movs r0, 0x1 strb r0, [r5, 0x1] movs r0, 0xA strb r0, [r5, 0x2] strb r1, [r5, 0x3] movs r0, 0x3 strb r0, [r5, 0x4] movs r0, 0xB strb r0, [r5, 0x5] movs r0, 0xB6 _080F6652: strb r0, [r5, 0x6] adds r5, 0x7 _080F6656: movs r4, 0xFC strb r4, [r5] movs r1, 0x1 strb r1, [r5, 0x1] strb r1, [r5, 0x2] strb r4, [r5, 0x3] movs r0, 0x3 strb r0, [r5, 0x4] movs r0, 0x5 strb r0, [r5, 0x5] adds r5, 0x6 strb r4, [r5] movs r6, 0x13 strb r6, [r5, 0x1] movs r0, 0x46 strb r0, [r5, 0x2] adds r5, 0x3 movs r0, 0xBA strb r0, [r5] strb r4, [r5, 0x1] movs r0, 0x11 strb r0, [r5, 0x2] strb r1, [r5, 0x3] movs r0, 0x34 strb r0, [r5, 0x4] adds r5, 0x5 adds r0, r5, 0 ldr r1, [sp, 0x8] bl ConvertIntToDecimalString adds r5, r0, 0 ldr r0, [sp, 0x4] cmp r0, 0x1 bne _080F66C0 ldr r0, _080F66B8 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, [sp] lsls r1, r2, 2 adds r0, r1 ldr r1, _080F66BC @ =0x0000893c adds r0, r1 ldrb r1, [r0] adds r0, r5, 0 movs r2, 0x80 movs r3, 0x1 bl sub_8072C14 adds r5, r0, 0 b _080F66CE .align 2, 0 _080F66B8: .4byte gUnknown_083DFEC4 _080F66BC: .4byte 0x0000893c _080F66C0: strb r4, [r5] strb r6, [r5, 0x1] movs r0, 0x67 strb r0, [r5, 0x2] adds r5, 0x3 _080F66CA: movs r0, 0xFF strb r0, [r5] _080F66CE: adds r0, r5, 0 add sp, 0xC pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_80F6514 thumb_func_start sub_80F66E0 sub_80F66E0: @ 80F66E0 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x4 ldr r0, _080F676C @ =gUnknown_083DFEC4 mov r8, r0 ldr r4, [r0] ldr r1, _080F6770 @ =0x00008829 adds r0, r4, r1 ldr r2, _080F6774 @ =0x0000876e adds r5, r4, r2 ldrh r1, [r5] movs r2, 0 bl sub_80F6514 movs r3, 0 ldrsh r0, [r5, r3] movs r1, 0 bl sub_80F4824 ldrh r1, [r5] ldr r6, _080F6778 @ =0x000087dc adds r0, r4, r6 movs r6, 0 strh r1, [r0] ldr r1, _080F677C @ =0x0000bc8e adds r0, r4, r1 strb r6, [r0] movs r2, 0 mov r9, r2 movs r3, 0 ldrsh r1, [r5, r3] lsls r1, 2 adds r1, r4, r1 ldr r5, _080F6780 @ =0x0000893d adds r0, r1, r5 ldrb r0, [r0] ldr r2, _080F6784 @ =0x0000893e adds r1, r2 ldrb r1, [r1] lsls r1, 27 lsrs r1, 27 movs r2, 0x52 movs r3, 0 bl sub_80F44B0 adds r7, r0, 0 ldr r3, _080F6788 @ =0x0000bc8f adds r4, r3 strb r6, [r4] movs r5, 0 mov r12, r5 mov r10, r8 _080F674E: ldr r1, _080F678C @ =gUnknown_083E499C mov r6, r12 lsls r0, r6, 1 adds r0, r1 ldrh r0, [r0] cmp r0, 0x36 bgt _080F6790 cmp r0, 0x32 blt _080F6790 movs r0, 0x7 adds r2, r7, 0 ands r2, r0 lsrs r7, 3 movs r0, 0x4 b _080F679A .align 2, 0 _080F676C: .4byte gUnknown_083DFEC4 _080F6770: .4byte 0x00008829 _080F6774: .4byte 0x0000876e _080F6778: .4byte 0x000087dc _080F677C: .4byte 0x0000bc8e _080F6780: .4byte 0x0000893d _080F6784: .4byte 0x0000893e _080F6788: .4byte 0x0000bc8f _080F678C: .4byte gUnknown_083E499C _080F6790: movs r0, 0x1 adds r2, r7, 0 ands r2, r0 lsrs r7, 1 movs r0, 0x1 _080F679A: movs r4, 0 adds r1, r2, 0 add r0, r9 mov r8, r0 cmp r4, r1 bcs _080F67D4 mov r3, r10 ldr r0, [r3] ldr r5, _080F6828 @ =0x0000bc8e adds r3, r0, r5 ldr r6, _080F682C @ =0x0000bc4c adds r6, r0, r6 str r6, [sp] adds r5, r1, 0 _080F67B6: ldrb r0, [r3] adds r1, r0, 0x1 strb r1, [r3] lsls r0, 24 lsrs r0, 24 ldr r1, [sp] adds r0, r1, r0 mov r6, r9 adds r1, r6, r4 strb r1, [r0] adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, r5 bcc _080F67B6 _080F67D4: cmp r2, 0 beq _080F67EC mov r0, r9 cmp r0, 0x18 bls _080F67EC mov r2, r10 ldr r1, [r2] ldr r3, _080F6830 @ =0x0000bc8f adds r1, r3 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _080F67EC: mov r5, r8 lsls r0, r5, 24 lsrs r0, 24 mov r9, r0 mov r0, r12 adds r0, 0x1 lsls r0, 16 lsrs r0, 16 mov r12, r0 cmp r0, 0x10 bls _080F674E ldr r6, _080F6834 @ =gUnknown_083DFEC4 ldr r2, [r6] ldr r1, _080F6828 @ =0x0000bc8e adds r0, r2, r1 ldr r3, _080F6830 @ =0x0000bc8f adds r1, r2, r3 ldrb r0, [r0] ldrb r1, [r1] cmp r0, r1 beq _080F6840 ldr r5, _080F6838 @ =0x0000bc90 adds r0, r2, r5 movs r1, 0 strb r1, [r0] ldr r6, _080F683C @ =0x0000bc91 adds r0, r2, r6 strb r1, [r0] b _080F6850 .align 2, 0 _080F6828: .4byte 0x0000bc8e _080F682C: .4byte 0x0000bc4c _080F6830: .4byte 0x0000bc8f _080F6834: .4byte gUnknown_083DFEC4 _080F6838: .4byte 0x0000bc90 _080F683C: .4byte 0x0000bc91 _080F6840: ldr r0, _080F6888 @ =0x0000bc90 adds r1, r2, r0 movs r0, 0 strb r0, [r1] ldr r3, _080F688C @ =0x0000bc91 adds r1, r2, r3 movs r0, 0x3 strb r0, [r1] _080F6850: ldr r5, _080F6890 @ =gUnknown_083DFEC4 ldr r1, [r5] ldr r6, _080F6894 @ =0x0000bc8e adds r0, r1, r6 ldr r2, _080F6898 @ =0x0000bc8f adds r1, r2 ldrb r0, [r0] ldrb r1, [r1] subs r0, r1 lsls r0, 24 lsrs r2, r0, 24 movs r3, 0 mov r12, r3 adds r3, r5, 0 ldr r1, _080F689C @ =0x0000bc96 movs r4, 0x9 _080F6870: cmp r2, 0x8 bls _080F68A0 ldr r0, [r3] adds r0, r1 add r0, r12 strb r4, [r0] adds r0, r2, 0 subs r0, 0x9 lsls r0, 24 lsrs r2, r0, 24 b _080F68AA .align 2, 0 _080F6888: .4byte 0x0000bc90 _080F688C: .4byte 0x0000bc91 _080F6890: .4byte gUnknown_083DFEC4 _080F6894: .4byte 0x0000bc8e _080F6898: .4byte 0x0000bc8f _080F689C: .4byte 0x0000bc96 _080F68A0: ldr r0, [r3] adds r0, r1 add r0, r12 strb r2, [r0] movs r2, 0 _080F68AA: mov r0, r12 adds r0, 0x1 lsls r0, 16 lsrs r0, 16 mov r12, r0 cmp r0, 0x2 bls _080F6870 ldr r5, _080F68DC @ =gUnknown_083DFEC4 ldr r0, [r5] ldr r6, _080F68E0 @ =0x0000bc96 adds r1, r0, r6 add r1, r12 ldr r2, _080F68E4 @ =0x0000bc8f adds r0, r2 ldrb r0, [r0] strb r0, [r1] add sp, 0x4 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F68DC: .4byte gUnknown_083DFEC4 _080F68E0: .4byte 0x0000bc96 _080F68E4: .4byte 0x0000bc8f thumb_func_end sub_80F66E0 thumb_func_start sub_80F68E8 sub_80F68E8: @ 80F68E8 push {r4-r7,lr} ldr r3, _080F6918 @ =gUnknown_083DFEC4 ldr r0, [r3] ldr r2, _080F691C @ =0x0000bc90 adds r1, r0, r2 ldrb r5, [r1] ldr r6, _080F6920 @ =0x0000bc91 adds r0, r6 ldrb r4, [r0] movs r0, 0x1 mov r12, r0 ldr r2, _080F6924 @ =gMain ldrh r1, [r2, 0x30] movs r0, 0x40 ands r0, r1 adds r6, r3, 0 adds r7, r2, 0 cmp r0, 0 beq _080F692E lsls r0, r4, 24 cmp r0, 0 ble _080F692E b _080F69BC .align 2, 0 _080F6918: .4byte gUnknown_083DFEC4 _080F691C: .4byte 0x0000bc90 _080F6920: .4byte 0x0000bc91 _080F6924: .4byte gMain _080F6928: ldr r1, _080F69B0 @ =0x0000bc91 adds r0, r2, r1 ldrb r4, [r0] _080F692E: ldrh r1, [r7, 0x30] movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080F6978 lsls r0, r4, 24 asrs r0, 24 cmp r0, 0x2 bgt _080F6978 ldr r3, _080F69B4 @ =gUnknown_083DFEC4 ldr r2, _080F69B8 @ =0x0000bc96 _080F6944: lsls r0, r4, 24 asrs r0, 24 cmp r0, 0x2 bgt _080F6960 adds r0, 0x1 lsls r0, 24 ldr r1, [r3] lsrs r4, r0, 24 asrs r0, 24 adds r1, r2 adds r1, r0 ldrb r0, [r1] cmp r0, 0 beq _080F6944 _080F6960: ldr r2, [r6] lsls r0, r4, 24 asrs r0, 24 ldr r3, _080F69B8 @ =0x0000bc96 adds r1, r2, r3 adds r1, r0 ldrb r0, [r1] cmp r0, 0 bne _080F69EC ldr r1, _080F69B0 @ =0x0000bc91 adds r0, r2, r1 ldrb r4, [r0] _080F6978: ldrh r2, [r7, 0x30] movs r0, 0x20 ands r0, r2 cmp r0, 0 beq _080F698A lsls r0, r5, 24 asrs r0, 24 cmp r0, 0 bgt _080F6A3C _080F698A: movs r0, 0x10 ands r0, r2 cmp r0, 0 beq _080F69AA lsls r0, r5, 24 asrs r2, r0, 24 ldr r1, [r6] lsls r0, r4, 24 asrs r0, 24 ldr r3, _080F69B8 @ =0x0000bc96 adds r1, r3 adds r1, r0 ldrb r0, [r1] subs r0, 0x1 cmp r2, r0 blt _080F6A38 _080F69AA: movs r0, 0 mov r12, r0 b _080F69FC .align 2, 0 _080F69B0: .4byte 0x0000bc91 _080F69B4: .4byte gUnknown_083DFEC4 _080F69B8: .4byte 0x0000bc96 _080F69BC: lsls r0, r4, 24 asrs r0, 24 cmp r0, 0 ble _080F69DA subs r0, 0x1 lsls r0, 24 ldr r1, [r6] lsrs r4, r0, 24 asrs r0, 24 ldr r2, _080F6A2C @ =0x0000bc96 adds r1, r2 adds r1, r0 ldrb r0, [r1] cmp r0, 0 beq _080F69BC _080F69DA: ldr r2, [r6] lsls r0, r4, 24 asrs r0, 24 ldr r3, _080F6A2C @ =0x0000bc96 adds r1, r2, r3 adds r1, r0 ldrb r0, [r1] cmp r0, 0 beq _080F6928 _080F69EC: lsls r0, r5, 24 asrs r0, 24 ldrb r1, [r1] cmp r0, r1 blt _080F69FC subs r0, r1, 0x1 _080F69F8: lsls r0, 24 lsrs r5, r0, 24 _080F69FC: mov r0, r12 cmp r0, 0 beq _080F6A44 lsls r0, r5, 24 asrs r0, 24 ldr r3, [r6] ldr r1, _080F6A30 @ =0x0000bc90 adds r2, r3, r1 ldrb r6, [r2] cmp r0, r6 bne _080F6A20 lsls r0, r4, 24 asrs r0, 24 ldr r6, _080F6A34 @ =0x0000bc91 adds r1, r3, r6 ldrb r1, [r1] cmp r0, r1 beq _080F6A40 _080F6A20: strb r5, [r2] ldr r1, _080F6A34 @ =0x0000bc91 adds r0, r3, r1 strb r4, [r0] b _080F6A44 .align 2, 0 _080F6A2C: .4byte 0x0000bc96 _080F6A30: .4byte 0x0000bc90 _080F6A34: .4byte 0x0000bc91 _080F6A38: adds r0, r2, 0x1 b _080F69F8 _080F6A3C: subs r0, 0x1 b _080F69F8 _080F6A40: movs r2, 0 mov r12, r2 _080F6A44: mov r0, r12 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_80F68E8 thumb_func_start sub_80F6A4C sub_80F6A4C: @ 80F6A4C push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 ldr r0, _080F6AC4 @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r0, _080F6AC8 @ =0x0000876e adds r2, r3, r0 lsls r0, r4, 24 asrs r0, 24 ldrh r1, [r2] adds r0, r1 strh r0, [r2] lsls r0, 16 cmp r0, 0 bge _080F6A74 ldr r5, _080F6ACC @ =0x00008774 adds r0, r3, r5 ldrh r0, [r0] strh r0, [r2] _080F6A74: ldr r1, _080F6ACC @ =0x00008774 adds r0, r3, r1 movs r5, 0 ldrsh r1, [r2, r5] movs r5, 0 ldrsh r0, [r0, r5] cmp r1, r0 ble _080F6A88 movs r0, 0 strh r0, [r2] _080F6A88: ldr r1, _080F6AD0 @ =0x0000bc94 adds r0, r3, r1 strb r4, [r0] ldrh r1, [r2] ldr r2, _080F6AD4 @ =0x000087dc adds r0, r3, r2 strh r1, [r0] ldr r1, _080F6AD8 @ =REG_WININ ldr r5, _080F6ADC @ =0x00003f37 adds r0, r5, 0 strh r0, [r1] adds r1, 0x2 ldr r2, _080F6AE0 @ =0x00003f3f adds r0, r2, 0 strh r0, [r1] subs r1, 0xA ldr r5, _080F6AE4 @ =0x000058f0 adds r0, r5, 0 strh r0, [r1] adds r1, 0x4 ldr r2, _080F6AE8 @ =0x00002060 adds r0, r2, 0 strh r0, [r1] ldr r5, _080F6AEC @ =0x000087de adds r1, r3, r5 movs r0, 0 strb r0, [r1] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F6AC4: .4byte gUnknown_083DFEC4 _080F6AC8: .4byte 0x0000876e _080F6ACC: .4byte 0x00008774 _080F6AD0: .4byte 0x0000bc94 _080F6AD4: .4byte 0x000087dc _080F6AD8: .4byte REG_WININ _080F6ADC: .4byte 0x00003f37 _080F6AE0: .4byte 0x00003f3f _080F6AE4: .4byte 0x000058f0 _080F6AE8: .4byte 0x00002060 _080F6AEC: .4byte 0x000087de thumb_func_end sub_80F6A4C thumb_func_start sub_80F6AF0 sub_80F6AF0: @ 80F6AF0 push {r4,lr} ldr r1, _080F6B10 @ =gUnknown_083DFEC4 ldr r0, [r1] ldr r2, _080F6B14 @ =0x000087de adds r0, r2 ldrb r0, [r0] adds r4, r1, 0 cmp r0, 0x6 bls _080F6B04 b _080F6C08 _080F6B04: lsls r0, 2 ldr r1, _080F6B18 @ =_080F6B1C adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080F6B10: .4byte gUnknown_083DFEC4 _080F6B14: .4byte 0x000087de _080F6B18: .4byte _080F6B1C .align 2, 0 _080F6B1C: .4byte _080F6B38 .4byte _080F6B54 .4byte _080F6B6E .4byte _080F6B84 .4byte _080F6B9C .4byte _080F6BC0 .4byte _080F6BE0 _080F6B38: bl sub_80F173C lsls r0, 24 cmp r0, 0 bne _080F6C18 ldr r0, _080F6B4C @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r3, _080F6B50 @ =0x000087de adds r1, r3 b _080F6BCE .align 2, 0 _080F6B4C: .4byte gUnknown_083DFEC4 _080F6B50: .4byte 0x000087de _080F6B54: movs r2, 0x80 lsls r2, 19 ldrh r0, [r2] movs r3, 0x80 lsls r3, 6 adds r1, r3, 0 orrs r0, r1 strh r0, [r2] bl sub_80F1480 bl sub_80F66E0 b _080F6BC6 _080F6B6E: bl sub_80F1238 ldr r0, _080F6B7C @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F6B80 @ =0x000087de adds r1, r2 b _080F6BCE .align 2, 0 _080F6B7C: .4byte gUnknown_083DFEC4 _080F6B80: .4byte 0x000087de _080F6B84: bl sub_80F13FC ldr r0, _080F6B94 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r3, _080F6B98 @ =0x000087de adds r1, r3 b _080F6BCE .align 2, 0 _080F6B94: .4byte gUnknown_083DFEC4 _080F6B98: .4byte 0x000087de _080F6B9C: ldr r4, [r4] ldr r1, _080F6BB8 @ =0x0000876e adds r0, r4, r1 movs r2, 0 ldrsh r0, [r0, r2] movs r1, 0 bl sub_80F4824 ldr r3, _080F6BBC @ =0x000087de adds r4, r3 ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] b _080F6C18 .align 2, 0 _080F6BB8: .4byte 0x0000876e _080F6BBC: .4byte 0x000087de _080F6BC0: movs r0, 0 bl sub_80F2E18 _080F6BC6: ldr r0, _080F6BD8 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F6BDC @ =0x000087de adds r1, r0 _080F6BCE: ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _080F6C18 .align 2, 0 _080F6BD8: .4byte gUnknown_083DFEC4 _080F6BDC: .4byte 0x000087de _080F6BE0: bl sub_80F170C lsls r0, 24 cmp r0, 0 bne _080F6C18 bl sub_80F1438 movs r2, 0x80 lsls r2, 19 ldrh r1, [r2] ldr r0, _080F6C0C @ =0x0000dfff ands r0, r1 strh r0, [r2] ldr r0, _080F6C10 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F6C14 @ =0x000087de adds r1, r2 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _080F6C08: movs r0, 0 b _080F6C1A .align 2, 0 _080F6C0C: .4byte 0x0000dfff _080F6C10: .4byte gUnknown_083DFEC4 _080F6C14: .4byte 0x000087de _080F6C18: movs r0, 0x1 _080F6C1A: pop {r4} pop {r1} bx r1 thumb_func_end sub_80F6AF0 thumb_func_start sub_80F6C20 sub_80F6C20: @ 80F6C20 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} ldr r0, _080F6D44 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _080F6D48 @ =0x0000d158 adds r0, r1 movs r1, 0 strh r1, [r0] mov r8, r1 ldr r2, _080F6D4C @ =gSaveBlock1 + 0x97A mov r9, r2 _080F6C3A: ldr r1, _080F6D50 @ =gTrainerEyeTrainers mov r4, r8 lsls r0, r4, 4 adds r6, r0, r1 ldrh r7, [r6] adds r0, r7, 0 bl HasTrainerAlreadyBeenFought lsls r0, 24 cmp r0, 0 beq _080F6CA0 ldr r0, _080F6D44 @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r0, _080F6D48 @ =0x0000d158 adds r5, r4, r0 ldrh r0, [r5] lsls r0, 3 adds r0, r4, r0 ldr r1, _080F6D54 @ =0x0000cee8 adds r0, r1 strh r7, [r0] ldrh r0, [r5] lsls r0, 3 adds r0, r4, r0 ldr r2, _080F6D58 @ =0x0000ceec adds r0, r2 mov r1, r8 strb r1, [r0] ldrh r0, [r5] lsls r0, 3 adds r0, r4, r0 mov r1, r8 add r1, r9 ldrb r1, [r1] adds r2, 0x1 adds r0, r2 strb r1, [r0] ldrh r0, [r6, 0xA] ldrh r1, [r6, 0xC] bl Overworld_GetMapHeaderByGroupAndId ldrh r1, [r5] lsls r1, 3 adds r4, r1 ldrb r0, [r0, 0x14] ldr r1, _080F6D5C @ =0x0000ceea adds r4, r1 strh r0, [r4] ldrh r0, [r5] adds r0, 0x1 strh r0, [r5] _080F6CA0: mov r0, r8 adds r0, 0x1 lsls r0, 16 lsrs r0, 16 mov r8, r0 cmp r0, 0x37 bls _080F6C3A movs r2, 0 mov r8, r2 movs r6, 0 _080F6CB4: ldr r1, _080F6D60 @ =gUnknown_083E49C0 mov r4, r8 lsls r0, r4, 2 adds r5, r0, r1 ldrh r4, [r5] adds r0, r4, 0 bl HasTrainerAlreadyBeenFought lsls r0, 24 cmp r0, 0 beq _080F6D0E ldr r0, _080F6D44 @ =gUnknown_083DFEC4 ldr r2, [r0] ldr r0, _080F6D48 @ =0x0000d158 adds r3, r2, r0 ldrh r0, [r3] lsls r0, 3 adds r0, r2, r0 ldr r1, _080F6D54 @ =0x0000cee8 adds r0, r1 strh r4, [r0] ldrh r0, [r3] lsls r0, 3 adds r0, r2, r0 ldrh r1, [r5, 0x2] ldr r4, _080F6D5C @ =0x0000ceea adds r0, r4 strh r1, [r0] ldrh r0, [r3] lsls r0, 3 adds r0, r2, r0 ldr r1, _080F6D64 @ =0x0000ceed adds r0, r1 strb r6, [r0] ldrh r0, [r3] lsls r0, 3 adds r2, r0 mov r0, r8 adds r0, 0x38 adds r4, 0x2 adds r2, r4 strb r0, [r2] ldrh r0, [r3] adds r0, 0x1 strh r0, [r3] _080F6D0E: mov r0, r8 adds r0, 0x1 lsls r0, 16 lsrs r0, 16 mov r8, r0 cmp r0, 0xC bls _080F6CB4 ldr r3, _080F6D44 @ =gUnknown_083DFEC4 ldr r2, [r3] ldr r1, _080F6D68 @ =0x0000876c adds r0, r2, r1 movs r1, 0 strh r1, [r0] ldr r4, _080F6D6C @ =0x00008770 adds r0, r2, r4 strh r1, [r0] subs r4, 0x2 adds r0, r2, r4 strh r1, [r0] ldr r1, _080F6D48 @ =0x0000d158 adds r0, r2, r1 ldrh r0, [r0] cmp r0, 0x8 bhi _080F6D70 subs r4, r0, 0x1 b _080F6D72 .align 2, 0 _080F6D44: .4byte gUnknown_083DFEC4 _080F6D48: .4byte 0x0000d158 _080F6D4C: .4byte gSaveBlock1 + 0x97A _080F6D50: .4byte gTrainerEyeTrainers _080F6D54: .4byte 0x0000cee8 _080F6D58: .4byte 0x0000ceec _080F6D5C: .4byte 0x0000ceea _080F6D60: .4byte gUnknown_083E49C0 _080F6D64: .4byte 0x0000ceed _080F6D68: .4byte 0x0000876c _080F6D6C: .4byte 0x00008770 _080F6D70: movs r4, 0x7 _080F6D72: ldr r1, _080F6DA8 @ =0x00008772 adds r0, r2, r1 strh r4, [r0] ldr r3, [r3] ldr r2, _080F6DAC @ =0x0000d158 adds r0, r3, r2 ldrh r0, [r0] subs r0, 0x1 ldr r4, _080F6DB0 @ =0x00008774 adds r1, r3, r4 strh r0, [r1] movs r1, 0 lsls r0, 16 asrs r0, 16 cmp r0, 0x7 ble _080F6D94 movs r1, 0x1 _080F6D94: ldr r2, _080F6DB4 @ =0x000087c9 adds r0, r3, r2 strb r1, [r0] pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F6DA8: .4byte 0x00008772 _080F6DAC: .4byte 0x0000d158 _080F6DB0: .4byte 0x00008774 _080F6DB4: .4byte 0x000087c9 thumb_func_end sub_80F6C20 thumb_func_start sub_80F6DB8 sub_80F6DB8: @ 80F6DB8 push {r4,lr} movs r1, 0 ldr r0, _080F6DEC @ =gUnknown_083DFEC4 ldr r4, [r0] ldr r2, _080F6DF0 @ =0x00008fe9 adds r0, r4, r2 strb r1, [r0] movs r0, 0 bl sub_80F6E04 ldr r0, _080F6DF4 @ =0x0000d15a adds r1, r4, r0 ldr r0, _080F6DF8 @ =0x0000ffb8 strh r0, [r1] movs r0, 0 bl sub_80F2F7C ldr r1, _080F6DFC @ =0x0000876e adds r0, r4, r1 ldrh r0, [r0] ldr r2, _080F6E00 @ =0x000087dc adds r4, r2 strh r0, [r4] pop {r4} pop {r0} bx r0 .align 2, 0 _080F6DEC: .4byte gUnknown_083DFEC4 _080F6DF0: .4byte 0x00008fe9 _080F6DF4: .4byte 0x0000d15a _080F6DF8: .4byte 0x0000ffb8 _080F6DFC: .4byte 0x0000876e _080F6E00: .4byte 0x000087dc thumb_func_end sub_80F6DB8 thumb_func_start sub_80F6E04 sub_80F6E04: @ 80F6E04 push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x8 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, _080F6E78 @ =gUnknown_083DFEC4 ldr r5, [r0] ldr r1, _080F6E7C @ =0x0000876e adds r0, r5, r1 movs r2, 0 ldrsh r0, [r0, r2] lsls r0, 3 adds r0, r5, r0 ldr r7, _080F6E80 @ =0x0000cee8 adds r0, r7 ldrh r1, [r0] ldr r2, _080F6E84 @ =gTrainers lsls r0, r1, 2 adds r0, r1 lsls r0, 3 adds r0, r2 ldrb r6, [r0, 0x3] lsls r0, r6, 3 mov r8, r0 ldr r0, _080F6E88 @ =gTrainerFrontPicTable add r0, r8 ldr r2, _080F6E8C @ =gTrainerFrontPicCoords lsls r1, r6, 2 adds r1, r2 ldrb r1, [r1] ldr r2, _080F6E90 @ =0x000131e4 adds r3, r5, r2 lsls r2, r4, 13 ldr r7, _080F6E94 @ =0x0000d1e4 adds r2, r7 adds r2, r5, r2 str r2, [sp] str r6, [sp, 0x4] movs r2, 0x1 bl DecompressPicFromTable_2 ldr r0, _080F6E98 @ =gTrainerFrontPicPaletteTable add r8, r0 mov r1, r8 ldr r0, [r1] lsls r4, 7 adds r5, r4 adds r1, r5, 0 bl LZ77UnCompWram add sp, 0x8 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080F6E78: .4byte gUnknown_083DFEC4 _080F6E7C: .4byte 0x0000876e _080F6E80: .4byte 0x0000cee8 _080F6E84: .4byte gTrainers _080F6E88: .4byte gTrainerFrontPicTable _080F6E8C: .4byte gTrainerFrontPicCoords _080F6E90: .4byte 0x000131e4 _080F6E94: .4byte 0x0000d1e4 _080F6E98: .4byte gTrainerFrontPicPaletteTable thumb_func_end sub_80F6E04 thumb_func_start sub_80F6E9C sub_80F6E9C: @ 80F6E9C push {lr} ldr r0, _080F6EB4 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F6EB8 @ =0x0000d15a adds r1, r0, r2 ldrh r2, [r1] movs r3, 0 ldrsh r0, [r1, r3] cmp r0, 0 bne _080F6EBC movs r0, 0 b _080F6ED0 .align 2, 0 _080F6EB4: .4byte gUnknown_083DFEC4 _080F6EB8: .4byte 0x0000d15a _080F6EBC: adds r0, r2, 0 adds r0, 0x8 strh r0, [r1] lsls r0, 16 cmp r0, 0 bge _080F6ECC movs r0, 0x1 b _080F6ED0 _080F6ECC: movs r0, 0 strh r0, [r1] _080F6ED0: pop {r1} bx r1 thumb_func_end sub_80F6E9C thumb_func_start sub_80F6ED4 sub_80F6ED4: @ 80F6ED4 push {lr} ldr r0, _080F6F00 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F6F04 @ =0x0000d15a adds r1, r0, r2 ldrh r3, [r1] movs r2, 0 ldrsh r0, [r1, r2] movs r2, 0x48 negs r2, r2 cmp r0, r2 beq _080F6F0A adds r0, r3, 0 subs r0, 0x8 strh r0, [r1] lsls r0, 16 asrs r0, 16 cmp r0, r2 ble _080F6F08 movs r0, 0x1 b _080F6F0C .align 2, 0 _080F6F00: .4byte gUnknown_083DFEC4 _080F6F04: .4byte 0x0000d15a _080F6F08: strh r2, [r1] _080F6F0A: movs r0, 0 _080F6F0C: pop {r1} bx r1 thumb_func_end sub_80F6ED4 thumb_func_start sub_80F6F10 sub_80F6F10: @ 80F6F10 push {lr} ldr r0, _080F6F48 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _080F6F4C @ =0x0000d15e adds r1, r0, r2 movs r2, 0 strb r2, [r1] ldr r1, _080F6F50 @ =0x0000d15f adds r0, r1 strb r2, [r0] ldr r1, _080F6F54 @ =REG_BLDCNT movs r0, 0xC8 strh r0, [r1] ldr r0, _080F6F58 @ =REG_BLDY strh r2, [r0] subs r1, 0x8 ldr r2, _080F6F5C @ =0x00003f3f adds r0, r2, 0 strh r0, [r1] adds r1, 0x2 ldr r2, _080F6F60 @ =0x00001f1f adds r0, r2, 0 strh r0, [r1] movs r0, 0 bl sub_80F6FB8 pop {r0} bx r0 .align 2, 0 _080F6F48: .4byte gUnknown_083DFEC4 _080F6F4C: .4byte 0x0000d15e _080F6F50: .4byte 0x0000d15f _080F6F54: .4byte REG_BLDCNT _080F6F58: .4byte REG_BLDY _080F6F5C: .4byte 0x00003f3f _080F6F60: .4byte 0x00001f1f thumb_func_end sub_80F6F10 thumb_func_start sub_80F6F64 sub_80F6F64: @ 80F6F64 push {lr} ldr r0, _080F6F9C @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F6FA0 @ =0x0000d15e adds r2, r1, r0 ldrb r0, [r2] adds r0, 0x1 strb r0, [r2] lsls r0, 24 lsrs r0, 24 cmp r0, 0x8 bls _080F6FB0 movs r0, 0 strb r0, [r2] ldr r0, _080F6FA4 @ =0x0000d15f adds r1, r0 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] movs r1, 0x1 ands r1, r0 cmp r1, 0 beq _080F6FAC ldr r1, _080F6FA8 @ =REG_BLDY movs r0, 0x6 strh r0, [r1] b _080F6FB0 .align 2, 0 _080F6F9C: .4byte gUnknown_083DFEC4 _080F6FA0: .4byte 0x0000d15e _080F6FA4: .4byte 0x0000d15f _080F6FA8: .4byte REG_BLDY _080F6FAC: ldr r0, _080F6FB4 @ =REG_BLDY strh r1, [r0] _080F6FB0: pop {r0} bx r0 .align 2, 0 _080F6FB4: .4byte REG_BLDY thumb_func_end sub_80F6F64 thumb_func_start sub_80F6FB8 sub_80F6FB8: @ 80F6FB8 push {lr} lsls r0, 24 cmp r0, 0 bne _080F6FDC ldr r1, _080F6FD0 @ =REG_WIN0H ldr r2, _080F6FD4 @ =0x0000e8f0 adds r0, r2, 0 strh r0, [r1] adds r1, 0x4 ldr r2, _080F6FD8 @ =0x00000888 b _080F6FE8 .align 2, 0 _080F6FD0: .4byte REG_WIN0H _080F6FD4: .4byte 0x0000e8f0 _080F6FD8: .4byte 0x00000888 _080F6FDC: ldr r1, _080F6FF0 @ =REG_WIN0H ldr r2, _080F6FF4 @ =0x0000e8f0 adds r0, r2, 0 strh r0, [r1] adds r1, 0x4 ldr r2, _080F6FF8 @ =0x00000818 _080F6FE8: adds r0, r2, 0 strh r0, [r1] pop {r0} bx r0 .align 2, 0 _080F6FF0: .4byte REG_WIN0H _080F6FF4: .4byte 0x0000e8f0 _080F6FF8: .4byte 0x00000818 thumb_func_end sub_80F6FB8 thumb_func_start sub_80F6FFC sub_80F6FFC: @ 80F6FFC ldr r0, _080F7008 @ =REG_BLDCNT movs r1, 0 strh r1, [r0] adds r0, 0x4 strh r1, [r0] bx lr .align 2, 0 _080F7008: .4byte REG_BLDCNT thumb_func_end sub_80F6FFC .section .text_80F708C thumb_func_start sub_80F708C sub_80F708C: @ 80F708C push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 ldr r0, _080F70E4 @ =gUnknown_083DFEC4 ldr r3, [r0] ldr r0, _080F70E8 @ =0x0000876e adds r2, r3, r0 lsls r0, r4, 24 asrs r0, 24 ldrh r1, [r2] adds r0, r1 strh r0, [r2] lsls r0, 16 cmp r0, 0 bge _080F70B4 ldr r5, _080F70EC @ =0x00008774 adds r0, r3, r5 ldrh r0, [r0] strh r0, [r2] _080F70B4: ldr r1, _080F70EC @ =0x00008774 adds r0, r3, r1 movs r5, 0 ldrsh r1, [r2, r5] movs r5, 0 ldrsh r0, [r0, r5] cmp r1, r0 ble _080F70C8 movs r0, 0 strh r0, [r2] _080F70C8: ldr r1, _080F70F0 @ =0x0000bc94 adds r0, r3, r1 strb r4, [r0] ldrh r1, [r2] ldr r2, _080F70F4 @ =0x000087dc adds r0, r3, r2 strh r1, [r0] ldr r5, _080F70F8 @ =0x000087de adds r1, r3, r5 movs r0, 0 strb r0, [r1] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080F70E4: .4byte gUnknown_083DFEC4 _080F70E8: .4byte 0x0000876e _080F70EC: .4byte 0x00008774 _080F70F0: .4byte 0x0000bc94 _080F70F4: .4byte 0x000087dc _080F70F8: .4byte 0x000087de thumb_func_end sub_80F708C thumb_func_start sub_80F70FC sub_80F70FC: @ 80F70FC push {r4-r6,lr} ldr r1, _080F711C @ =gUnknown_083DFEC4 ldr r0, [r1] ldr r2, _080F7120 @ =0x000087de adds r0, r2 ldrb r0, [r0] adds r4, r1, 0 cmp r0, 0x6 bls _080F7110 b _080F7218 _080F7110: lsls r0, 2 ldr r1, _080F7124 @ =_080F7128 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080F711C: .4byte gUnknown_083DFEC4 _080F7120: .4byte 0x000087de _080F7124: .4byte _080F7128 .align 2, 0 _080F7128: .4byte _080F7144 .4byte _080F714A .4byte _080F7164 .4byte _080F716C .4byte _080F71A0 .4byte _080F71BA .4byte _080F71EA _080F7144: bl sub_80F6ED4 b _080F71F8 _080F714A: movs r0, 0 bl sub_80F6E04 ldr r0, _080F715C @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _080F7160 @ =0x000087de adds r1, r2 b _080F7206 .align 2, 0 _080F715C: .4byte gUnknown_083DFEC4 _080F7160: .4byte 0x000087de _080F7164: movs r0, 0 bl sub_80F2F7C b _080F71FE _080F716C: ldr r4, [r4] ldr r2, _080F7194 @ =0x00008788 adds r5, r4, r2 ldr r0, _080F7198 @ =0x0000876e adds r6, r4, r0 ldrh r1, [r6] adds r0, r5, 0 bl sub_80F700C adds r0, r5, 0 bl sub_80F43D4 bl sub_80F105C ldrb r0, [r6] bl sub_80F0FFC ldr r2, _080F719C @ =0x000087de adds r4, r2 b _080F71CC .align 2, 0 _080F7194: .4byte 0x00008788 _080F7198: .4byte 0x0000876e _080F719C: .4byte 0x000087de _080F71A0: bl sub_80F0CD8 ldr r0, _080F71D4 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F71D8 @ =0x0000bc95 adds r2, r1, r0 movs r0, 0 strb r0, [r2] ldr r2, _080F71DC @ =0x000087de adds r1, r2 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _080F71BA: ldr r0, _080F71D4 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F71D8 @ =0x0000bc95 adds r4, r1, r0 ldrb r0, [r4] cmp r0, 0x1 bhi _080F71E0 bl sub_80F0D5C _080F71CC: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] b _080F721C .align 2, 0 _080F71D4: .4byte gUnknown_083DFEC4 _080F71D8: .4byte 0x0000bc95 _080F71DC: .4byte 0x000087de _080F71E0: ldr r2, _080F7210 @ =0x000087de adds r1, r2 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _080F71EA: bl sub_80F6E9C lsls r0, 24 cmp r0, 0 bne _080F721C bl sub_80F0D5C _080F71F8: lsls r0, 24 cmp r0, 0 bne _080F721C _080F71FE: ldr r0, _080F7214 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r0, _080F7210 @ =0x000087de adds r1, r0 _080F7206: ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _080F721C .align 2, 0 _080F7210: .4byte 0x000087de _080F7214: .4byte gUnknown_083DFEC4 _080F7218: movs r0, 0 b _080F721E _080F721C: movs r0, 0x1 _080F721E: pop {r4-r6} pop {r1} bx r1 thumb_func_end sub_80F70FC thumb_func_start sub_80F7224 sub_80F7224: @ 80F7224 push {r4,lr} lsls r0, 24 lsrs r0, 24 movs r1, 0x64 muls r0, r1 ldr r1, _080F7260 @ =gPlayerParty adds r0, r1 movs r1, 0x30 bl GetMonData lsls r0, 24 lsrs r2, r0, 24 ldr r0, _080F7264 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r3, _080F7268 @ =0x00008fe9 adds r1, r0, r3 ldrb r1, [r1] lsls r1, 24 asrs r1, 24 ldr r3, _080F726C @ =0x00008931 adds r0, r3 adds r4, r0, r1 cmp r2, 0xFF beq _080F7270 adds r0, r2, 0 movs r1, 0x1D bl __udivsi3 b _080F7272 .align 2, 0 _080F7260: .4byte gPlayerParty _080F7264: .4byte gUnknown_083DFEC4 _080F7268: .4byte 0x00008fe9 _080F726C: .4byte 0x00008931 _080F7270: movs r0, 0x9 _080F7272: strb r0, [r4] pop {r4} pop {r0} bx r0 thumb_func_end sub_80F7224 .align 2, 0 @ Don't pad with nop.