diff options
author | YamaArashi <shadow962@live.com> | 2016-10-24 23:27:41 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-10-24 23:27:41 -0700 |
commit | 427131714c72177bf4480f23a1ee60db6cc5b9ef (patch) | |
tree | 8fb5837ab4baa409b5eeb5f5a8503f842d6239b5 /asm/item_menu.s | |
parent | e1191bfe667671cdcc1f77839769eae686245ac4 (diff) |
split several files out of rom_8094928.s
Diffstat (limited to 'asm/item_menu.s')
-rw-r--r-- | asm/item_menu.s | 9869 |
1 files changed, 9869 insertions, 0 deletions
diff --git a/asm/item_menu.s b/asm/item_menu.s new file mode 100644 index 000000000..d35feb54f --- /dev/null +++ b/asm/item_menu.s @@ -0,0 +1,9869 @@ + .include "constants/gba_constants.s" + .include "constants/species_constants.s" + .include "asm/macros.s" + + .syntax unified + + .text + + thumb_func_start sub_80A3118 +sub_80A3118: @ 80A3118 + push {lr} + bl AnimateSprites + bl BuildOamBuffer + bl RunTasks + bl sub_80A740C + bl UpdatePaletteFade + pop {r0} + bx r0 + thumb_func_end sub_80A3118 + + thumb_func_start sub_80A3134 +sub_80A3134: @ 80A3134 + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + ldr r1, _080A3168 @ =gBG1TilemapBuffer + ldr r2, _080A316C @ =0x06002000 + ldr r0, _080A3170 @ =0x040000d4 + str r1, [r0] + str r2, [r0, 0x4] + ldr r3, _080A3174 @ =0x80000400 + str r3, [r0, 0x8] + ldr r2, [r0, 0x8] + movs r2, 0x80 + lsls r2, 4 + adds r1, r2 + ldr r2, _080A3178 @ =0x06006000 + str r1, [r0] + str r2, [r0, 0x4] + str r3, [r0, 0x8] + ldr r0, [r0, 0x8] + pop {r0} + bx r0 + .align 2, 0 +_080A3168: .4byte gBG1TilemapBuffer +_080A316C: .4byte 0x06002000 +_080A3170: .4byte 0x040000d4 +_080A3174: .4byte 0x80000400 +_080A3178: .4byte 0x06006000 + thumb_func_end sub_80A3134 + + thumb_func_start sub_80A317C +sub_80A317C: @ 80A317C + push {r4,r5,lr} + sub sp, 0x4 + ldr r0, _080A3198 @ =gMain + ldr r1, _080A319C @ =0x0000043c + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x10 + bls _080A318E + b _080A34A8 +_080A318E: + lsls r0, 2 + ldr r1, _080A31A0 @ =_080A31A4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080A3198: .4byte gMain +_080A319C: .4byte 0x0000043c +_080A31A0: .4byte _080A31A4 + .align 2, 0 +_080A31A4: + .4byte _080A31E8 + .4byte _080A31F2 + .4byte _080A3208 + .4byte _080A320E + .4byte _080A3228 + .4byte _080A324C + .4byte _080A3252 + .4byte _080A3270 + .4byte _080A327C + .4byte _080A3298 + .4byte _080A32A4 + .4byte _080A3328 + .4byte _080A338C + .4byte _080A33F4 + .4byte _080A3404 + .4byte _080A345C + .4byte _080A347C +_080A31E8: + bl sub_80F9438 + bl sub_80A34E8 + b _080A3464 +_080A31F2: + bl remove_some_task + ldr r1, _080A3200 @ =gMain + ldr r0, _080A3204 @ =0x0000043c + adds r1, r0 + b _080A346A + .align 2, 0 +_080A3200: .4byte gMain +_080A3204: .4byte 0x0000043c +_080A3208: + bl gpu_pal_allocator_reset__manage_upper_four + b _080A3464 +_080A320E: + bl sub_80F9020 + ldr r0, _080A3220 @ =0x02000000 + ldr r1, _080A3224 @ =0x0001ffff + adds r0, r1 + movs r1, 0 + strb r1, [r0] + b _080A3464 + .align 2, 0 +_080A3220: .4byte 0x02000000 +_080A3224: .4byte 0x0001ffff +_080A3228: + bl ResetPaletteFade + ldr r2, _080A3240 @ =gPaletteFade + ldrb r0, [r2, 0x8] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2, 0x8] + ldr r1, _080A3244 @ =gMain + ldr r0, _080A3248 @ =0x0000043c + adds r1, r0 + b _080A346A + .align 2, 0 +_080A3240: .4byte gPaletteFade +_080A3244: .4byte gMain +_080A3248: .4byte 0x0000043c +_080A324C: + bl ResetSpriteData + b _080A3464 +_080A3252: + bl sub_80A3520 + lsls r0, 24 + cmp r0, 0 + bne _080A325E + b _080A34A8 +_080A325E: + ldr r1, _080A3268 @ =gMain + ldr r0, _080A326C @ =0x0000043c + adds r1, r0 + b _080A346A + .align 2, 0 +_080A3268: .4byte gMain +_080A326C: .4byte 0x0000043c +_080A3270: + ldr r0, _080A3278 @ =gWindowConfig_81E6DFC + bl SetUpWindowConfig + b _080A3464 + .align 2, 0 +_080A3278: .4byte gWindowConfig_81E6DFC +_080A327C: + ldr r0, _080A328C @ =gWindowConfig_81E6DFC + bl MultistepInitMenuWindowBegin + ldr r1, _080A3290 @ =gMain + ldr r0, _080A3294 @ =0x0000043c + adds r1, r0 + b _080A346A + .align 2, 0 +_080A328C: .4byte gWindowConfig_81E6DFC +_080A3290: .4byte gMain +_080A3294: .4byte 0x0000043c +_080A3298: + bl MultistepInitMenuWindowContinue + cmp r0, 0 + bne _080A32A2 + b _080A34A8 +_080A32A2: + b _080A3464 +_080A32A4: + bl sub_80F944C + bl LoadScrollIndicatorPalette + movs r0, 0 + movs r1, 0xAC + movs r2, 0xC + bl CreateVerticalScrollIndicators + movs r0, 0x1 + movs r1, 0xAC + movs r2, 0x94 + bl CreateVerticalScrollIndicators + movs r0, 0x2 + movs r1, 0x1C + movs r2, 0x58 + bl CreateVerticalScrollIndicators + movs r0, 0x3 + movs r1, 0x64 + movs r2, 0x58 + bl CreateVerticalScrollIndicators + movs r0, 0 + movs r1, 0x2 + bl sub_80F9988 + movs r0, 0x1 + movs r1, 0x2 + bl sub_80F9988 + movs r0, 0x2 + movs r1, 0x2 + bl sub_80F9988 + movs r0, 0x3 + movs r1, 0x2 + bl sub_80F9988 + ldr r0, _080A331C @ =gUnknown_03000701 + ldrb r0, [r0] + subs r0, 0x4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bhi _080A3312 + movs r0, 0x2 + movs r1, 0x1 + bl sub_80F979C + movs r0, 0x3 + movs r1, 0x1 + bl sub_80F979C +_080A3312: + ldr r1, _080A3320 @ =gMain + ldr r0, _080A3324 @ =0x0000043c + adds r1, r0 + b _080A346A + .align 2, 0 +_080A331C: .4byte gUnknown_03000701 +_080A3320: .4byte gMain +_080A3324: .4byte 0x0000043c +_080A3328: + ldr r1, _080A3378 @ =gUnknown_0203855A + movs r0, 0x10 + strb r0, [r1] + ldr r4, _080A337C @ =gBG2TilemapBuffer + ldr r5, _080A3380 @ =gUnknown_02038559 + ldrb r1, [r5] + adds r1, 0x1 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl sub_80A39B8 + ldrb r1, [r5] + adds r0, r4, 0 + bl sub_80A3AC0 + bl sub_80A3D08 + ldr r4, _080A3384 @ =gBagPockets + ldr r0, [r4, 0x10] + ldr r1, [r4, 0x14] + bl sub_80A3C34 + ldr r0, [r4, 0x18] + ldr r1, [r4, 0x1C] + bl sub_80A3C34 + bl sub_80A3D40 + ldr r1, _080A3388 @ =gUnknown_03005D24 + movs r0, 0 + ldrsb r0, [r5, r0] + lsls r0, 3 + adds r0, r4 + ldr r0, [r0] + str r0, [r1] + bl sub_80A362C + b _080A3464 + .align 2, 0 +_080A3378: .4byte gUnknown_0203855A +_080A337C: .4byte gBG2TilemapBuffer +_080A3380: .4byte gUnknown_02038559 +_080A3384: .4byte gBagPockets +_080A3388: .4byte gUnknown_03005D24 +_080A338C: + ldr r0, _080A33D4 @ =0x0000ffff + movs r1, 0 + movs r2, 0x7 + bl sub_80A48E8 + ldr r1, _080A33D8 @ =gUnknown_03005D10 + ldr r4, _080A33DC @ =gUnknown_02038559 + movs r0, 0 + ldrsb r0, [r4, r0] + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x1] + ldrb r0, [r0] + adds r1, r0 + ldr r0, _080A33E0 @ =gUnknown_03005D24 + ldr r0, [r0] + lsls r1, 2 + adds r1, r0 + movs r2, 0 + ldrsh r0, [r1, r2] + bl ItemListMenu_InitDescription + bl ItemListMenu_InitMenu + ldr r1, _080A33E4 @ =gUnknown_0203855B + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r1] + ldr r1, _080A33E8 @ =gUnknown_0203855C + movs r0, 0 + strb r0, [r1] + ldr r1, _080A33EC @ =gMain + ldr r0, _080A33F0 @ =0x0000043c + adds r1, r0 + b _080A346A + .align 2, 0 +_080A33D4: .4byte 0x0000ffff +_080A33D8: .4byte gUnknown_03005D10 +_080A33DC: .4byte gUnknown_02038559 +_080A33E0: .4byte gUnknown_03005D24 +_080A33E4: .4byte gUnknown_0203855B +_080A33E8: .4byte gUnknown_0203855C +_080A33EC: .4byte gMain +_080A33F0: .4byte 0x0000043c +_080A33F4: + bl CreateBagSprite + movs r0, 0 + bl CreateBagPokeballSprite + bl sub_80A3740 + b _080A3464 +_080A3404: + ldr r3, _080A3444 @ =0x04000208 + ldrh r2, [r3] + movs r0, 0 + strh r0, [r3] + ldr r4, _080A3448 @ =0x04000200 + ldrh r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r2, _080A344C @ =REG_DISPSTAT + ldrh r0, [r2] + movs r1, 0x8 + orrs r0, r1 + strh r0, [r2] + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r2, _080A3450 @ =gPaletteFade + ldrb r1, [r2, 0x8] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2, 0x8] + ldr r1, _080A3454 @ =gMain + ldr r0, _080A3458 @ =0x0000043c + adds r1, r0 + b _080A346A + .align 2, 0 +_080A3444: .4byte 0x04000208 +_080A3448: .4byte 0x04000200 +_080A344C: .4byte REG_DISPSTAT +_080A3450: .4byte gPaletteFade +_080A3454: .4byte gMain +_080A3458: .4byte 0x0000043c +_080A345C: + bl sub_8055870 + cmp r0, 0x1 + beq _080A34A8 +_080A3464: + ldr r1, _080A3474 @ =gMain + ldr r2, _080A3478 @ =0x0000043c + adds r1, r2 +_080A346A: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _080A34A8 + .align 2, 0 +_080A3474: .4byte gMain +_080A3478: .4byte 0x0000043c +_080A347C: + ldr r0, _080A34A0 @ =sub_80A3134 + bl SetVBlankCallback + ldr r0, _080A34A4 @ =sub_80A3118 + bl SetMainCallback2 + bl sub_80A751C + bl sub_80A7630 + bl sub_80A770C + bl sub_80A7828 + bl sub_80A78B8 + movs r0, 0x1 + b _080A34AA + .align 2, 0 +_080A34A0: .4byte sub_80A3134 +_080A34A4: .4byte sub_80A3118 +_080A34A8: + movs r0, 0 +_080A34AA: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80A317C + + thumb_func_start sub_80A34B4 +sub_80A34B4: @ 80A34B4 + push {lr} +_080A34B6: + bl sub_80A317C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080A34D2 + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A34B6 + movs r0, 0 + b _080A34DE +_080A34D2: + ldr r1, _080A34E4 @ =gUnknown_03000700 + movs r0, 0 + strb r0, [r1] + bl ResetTasks + movs r0, 0x1 +_080A34DE: + pop {r1} + bx r1 + .align 2, 0 +_080A34E4: .4byte gUnknown_03000700 + thumb_func_end sub_80A34B4 + + thumb_func_start sub_80A34E8 +sub_80A34E8: @ 80A34E8 + push {lr} + bl sub_80F9368 + ldr r1, _080A3514 @ =REG_BG2CNT + ldr r2, _080A3518 @ =0x00000c06 + adds r0, r2, 0 + strh r0, [r1] + subs r1, 0x2 + ldr r2, _080A351C @ =0x00000405 + adds r0, r2, 0 + strh r0, [r1] + subs r1, 0xA + movs r2, 0xBA + lsls r2, 5 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x50 + movs r0, 0 + strh r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_080A3514: .4byte REG_BG2CNT +_080A3518: .4byte 0x00000c06 +_080A351C: .4byte 0x00000405 + thumb_func_end sub_80A34E8 + + thumb_func_start sub_80A3520 +sub_80A3520: @ 80A3520 + push {lr} + ldr r0, _080A353C @ =0x02000000 + ldr r1, _080A3540 @ =0x0001ffff + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x4 + bls _080A3530 + b _080A3624 +_080A3530: + lsls r0, 2 + ldr r1, _080A3544 @ =_080A3548 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080A353C: .4byte 0x02000000 +_080A3540: .4byte 0x0001ffff +_080A3544: .4byte _080A3548 + .align 2, 0 +_080A3548: + .4byte _080A355C + .4byte _080A3570 + .4byte _080A3588 + .4byte _080A35C0 + .4byte _080A3604 +_080A355C: + ldr r0, _080A3568 @ =gBagScreen_Gfx + ldr r1, _080A356C @ =0x06004000 + bl LZDecompressVram + b _080A35EA + .align 2, 0 +_080A3568: .4byte gBagScreen_Gfx +_080A356C: .4byte 0x06004000 +_080A3570: + ldr r0, _080A3580 @ =gUnknown_08E77004 + ldr r1, _080A3584 @ =gBG2TilemapBuffer + movs r2, 0x80 + lsls r2, 3 + bl CpuSet + b _080A35EA + .align 2, 0 +_080A3580: .4byte gUnknown_08E77004 +_080A3584: .4byte gBG2TilemapBuffer +_080A3588: + ldr r0, _080A35A4 @ =gSaveBlock2 + ldrb r0, [r0, 0x8] + cmp r0, 0 + beq _080A3598 + ldr r0, _080A35A8 @ =gUnknown_03000701 + ldrb r0, [r0] + cmp r0, 0x7 + bne _080A35B0 +_080A3598: + ldr r0, _080A35AC @ =gBagScreenMale_Pal + movs r1, 0 + movs r2, 0x40 + bl LoadCompressedPalette + b _080A35EA + .align 2, 0 +_080A35A4: .4byte gSaveBlock2 +_080A35A8: .4byte gUnknown_03000701 +_080A35AC: .4byte gBagScreenMale_Pal +_080A35B0: + ldr r0, _080A35BC @ =gBagScreenFemale_Pal + movs r1, 0 + movs r2, 0x40 + bl LoadCompressedPalette + b _080A35EA + .align 2, 0 +_080A35BC: .4byte gBagScreenFemale_Pal +_080A35C0: + ldr r0, _080A35D8 @ =gSaveBlock2 + ldrb r0, [r0, 0x8] + cmp r0, 0 + beq _080A35D0 + ldr r0, _080A35DC @ =gUnknown_03000701 + ldrb r0, [r0] + cmp r0, 0x7 + bne _080A35E4 +_080A35D0: + ldr r0, _080A35E0 @ =gUnknown_083C1CC8 + bl LoadCompressedObjectPic + b _080A35EA + .align 2, 0 +_080A35D8: .4byte gSaveBlock2 +_080A35DC: .4byte gUnknown_03000701 +_080A35E0: .4byte gUnknown_083C1CC8 +_080A35E4: + ldr r0, _080A35F8 @ =gUnknown_083C1CD0 + bl LoadCompressedObjectPic +_080A35EA: + ldr r1, _080A35FC @ =0x02000000 + ldr r0, _080A3600 @ =0x0001ffff + adds r1, r0 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _080A3624 + .align 2, 0 +_080A35F8: .4byte gUnknown_083C1CD0 +_080A35FC: .4byte 0x02000000 +_080A3600: .4byte 0x0001ffff +_080A3604: + ldr r0, _080A3618 @ =gUnknown_083C1CD8 + bl LoadCompressedObjectPalette + ldr r0, _080A361C @ =0x02000000 + ldr r1, _080A3620 @ =0x0001ffff + adds r0, r1 + movs r1, 0 + strb r1, [r0] + movs r0, 0x1 + b _080A3626 + .align 2, 0 +_080A3618: .4byte gUnknown_083C1CD8 +_080A361C: .4byte 0x02000000 +_080A3620: .4byte 0x0001ffff +_080A3624: + movs r0, 0 +_080A3626: + pop {r1} + bx r1 + thumb_func_end sub_80A3520 + + thumb_func_start sub_80A362C +sub_80A362C: @ 80A362C + push {r4-r6,lr} + movs r4, 0 + ldr r6, _080A3648 @ =gUnknown_03000701 + ldr r5, _080A364C @ =gUnknown_03005D10 +_080A3634: + ldrb r0, [r6] + cmp r0, 0x5 + bne _080A3650 + lsls r1, r4, 2 + adds r0, r1, r5 + ldrb r0, [r0, 0x2] + subs r0, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + b _080A3656 + .align 2, 0 +_080A3648: .4byte gUnknown_03000701 +_080A364C: .4byte gUnknown_03005D10 +_080A3650: + lsls r1, r4, 2 + adds r0, r1, r5 + ldrb r3, [r0, 0x2] +_080A3656: + adds r1, r5 + ldrb r0, [r1, 0x1] + cmp r0, 0 + beq _080A366C + ldrb r2, [r1, 0x3] + adds r0, r2 + cmp r0, r3 + ble _080A3674 + subs r0, r3, r2 + strb r0, [r1, 0x1] + b _080A3674 +_080A366C: + ldrb r0, [r1] + cmp r0, r3 + bls _080A3674 + strb r3, [r1] +_080A3674: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x4 + bls _080A3634 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80A362C + + thumb_func_start sub_80A3684 +sub_80A3684: @ 80A3684 + push {r4,lr} + movs r2, 0 + ldr r4, _080A36B0 @ =gUnknown_02038559 + ldr r3, _080A36B4 @ =gUnknown_03005D10 + movs r1, 0 +_080A368E: + lsls r0, r2, 2 + adds r0, r3 + strb r1, [r0] + strb r1, [r0, 0x1] + strb r1, [r0, 0x2] + strb r1, [r0, 0x3] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x4 + bls _080A368E + movs r0, 0 + strb r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A36B0: .4byte gUnknown_02038559 +_080A36B4: .4byte gUnknown_03005D10 + thumb_func_end sub_80A3684 + + thumb_func_start sub_80A36B8 +sub_80A36B8: @ 80A36B8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + ldr r0, [sp, 0x18] + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + lsls r2, 24 + lsls r3, 24 + lsrs r3, 24 + mov r12, r3 + lsls r0, 24 + lsrs r0, 24 + lsrs r2, 24 + adds r0, r2, r0 + cmp r2, r0 + bgt _080A370A + adds r7, r0, 0 +_080A36DE: + mov r1, r8 + mov r3, r12 + adds r0, r1, r3 + adds r4, r2, 0x1 + cmp r1, r0 + bgt _080A3702 + lsls r3, r2, 5 + movs r5, 0 + adds r2, r0, 0 +_080A36F0: + adds r0, r1, r3 + lsls r0, 1 + adds r0, r6 + strh r5, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, r2 + ble _080A36F0 +_080A3702: + lsls r0, r4, 16 + lsrs r2, r0, 16 + cmp r2, r7 + ble _080A36DE +_080A370A: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A36B8 + + thumb_func_start sub_80A3714 +sub_80A3714: @ 80A3714 + push {r4,r5,lr} + movs r4, 0 + ldr r5, _080A373C @ =gBagPockets +_080A371A: + lsls r1, r4, 3 + adds r1, r5 + ldr r0, [r1] + ldrb r1, [r1, 0x4] + bl ClearItemSlots + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x4 + bls _080A371A + bl sub_80A3684 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A373C: .4byte gBagPockets + thumb_func_end sub_80A3714 + + thumb_func_start sub_80A3740 +sub_80A3740: @ 80A3740 + push {lr} + sub sp, 0x4 + ldr r1, _080A376C @ =gUnknown_083C1704 + mov r0, sp + movs r2, 0x4 + bl memcpy + mov r0, sp + adds r0, 0x2 + movs r1, 0xD1 + movs r2, 0x2 + bl LoadPalette + mov r0, sp + movs r1, 0xD8 + movs r2, 0x2 + bl LoadPalette + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_080A376C: .4byte gUnknown_083C1704 + thumb_func_end sub_80A3740 + + thumb_func_start sub_80A3770 +sub_80A3770: @ 80A3770 + push {lr} + ldr r0, _080A379C @ =gUnknown_03000701 + ldrb r0, [r0] + cmp r0, 0 + bne _080A37B6 + ldr r3, _080A37A0 @ =gUnknown_03000704 + ldr r2, _080A37A4 @ =gUnknown_02038559 + movs r1, 0 + ldrsb r1, [r2, r1] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 1 + ldr r1, _080A37A8 @ =gUnknown_083C1690 + adds r0, r1 + str r0, [r3] + movs r0, 0 + ldrsb r0, [r2, r0] + cmp r0, 0x3 + beq _080A37B0 + ldr r1, _080A37AC @ =gUnknown_02038564 + movs r0, 0x4 + b _080A37B4 + .align 2, 0 +_080A379C: .4byte gUnknown_03000701 +_080A37A0: .4byte gUnknown_03000704 +_080A37A4: .4byte gUnknown_02038559 +_080A37A8: .4byte gUnknown_083C1690 +_080A37AC: .4byte gUnknown_02038564 +_080A37B0: + ldr r1, _080A37BC @ =gUnknown_02038564 + movs r0, 0x6 +_080A37B4: + strb r0, [r1] +_080A37B6: + pop {r0} + bx r0 + .align 2, 0 +_080A37BC: .4byte gUnknown_02038564 + thumb_func_end sub_80A3770 + + thumb_func_start sub_80A37C0 +sub_80A37C0: @ 80A37C0 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A37F0 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, _080A37F4 @ =sub_80A50C8 + str r0, [r1] + movs r0, 0 + bl sub_80F98DC + movs r0, 0x1 + bl sub_80F98DC + movs r0, 0x2 + bl sub_80F98DC + movs r0, 0x3 + bl sub_80F98DC + pop {r0} + bx r0 + .align 2, 0 +_080A37F0: .4byte gTasks +_080A37F4: .4byte sub_80A50C8 + thumb_func_end sub_80A37C0 + + thumb_func_start sub_80A37F8 +sub_80A37F8: @ 80A37F8 + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r6, _080A3854 @ =gUnknown_0203855A + ldrb r5, [r6] + cmp r5, 0xF + bhi _080A3868 + adds r0, r5, 0x1 + strb r0, [r6] + ldr r4, _080A3858 @ =gBG2TilemapBuffer + ldrb r2, [r6] + adds r0, r4, 0 + adds r1, r5, 0 + movs r3, 0x4F + bl sub_80A396C + ldr r0, _080A385C @ =gUnknown_02038559 + ldrb r1, [r0] + adds r1, 0x1 + lsls r1, 24 + lsrs r1, 24 + ldrb r2, [r6] + lsrs r2, 1 + ldr r3, _080A3860 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r3 + movs r3, 0x12 + ldrsb r3, [r0, r3] + adds r0, r4, 0 + bl sub_80A39E4 + ldr r4, _080A3864 @ =gUnknown_02038558 + movs r0, 0x1 + strb r0, [r4] + lsrs r1, r5, 1 + ldrb r2, [r6] + lsrs r2, 1 + subs r2, 0x1 + adds r0, r7, 0 + bl sub_80A48E8 + movs r0, 0 + strb r0, [r4] + b _080A3932 + .align 2, 0 +_080A3854: .4byte gUnknown_0203855A +_080A3858: .4byte gBG2TilemapBuffer +_080A385C: .4byte gUnknown_02038559 +_080A3860: .4byte gTasks +_080A3864: .4byte gUnknown_02038558 +_080A3868: + ldr r0, _080A38A0 @ =gLinkOpen + ldrb r0, [r0] + cmp r0, 0x1 + bne _080A38B4 + ldr r1, _080A38A4 @ =gUnknown_03005D10 + ldr r0, _080A38A8 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x1] + ldrb r0, [r0] + adds r1, r0 + ldr r0, _080A38AC @ =gUnknown_03005D24 + ldr r0, [r0] + lsls r1, 2 + adds r1, r0 + movs r2, 0 + ldrsh r0, [r1, r2] + ldr r4, _080A38B0 @ =gUnknown_02038562 + ldrb r1, [r4] + bl ItemListMenu_ChangeDescription + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + b _080A38F2 + .align 2, 0 +_080A38A0: .4byte gLinkOpen +_080A38A4: .4byte gUnknown_03005D10 +_080A38A8: .4byte gUnknown_02038559 +_080A38AC: .4byte gUnknown_03005D24 +_080A38B0: .4byte gUnknown_02038562 +_080A38B4: + ldr r1, _080A3938 @ =gUnknown_02038562 + ldrb r0, [r1] + cmp r0, 0x2 + bhi _080A38F2 + ldr r5, _080A393C @ =gUnknown_03005D10 + adds r4, r1, 0 +_080A38C0: + ldr r0, _080A3940 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r5 + ldrb r1, [r0, 0x1] + ldrb r0, [r0] + adds r1, r0 + ldr r0, _080A3944 @ =gUnknown_03005D24 + ldr r0, [r0] + lsls r1, 2 + adds r1, r0 + movs r2, 0 + ldrsh r0, [r1, r2] + ldrb r1, [r4] + bl ItemListMenu_ChangeDescription + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bls _080A38C0 +_080A38F2: + ldr r0, _080A3938 @ =gUnknown_02038562 + ldrb r0, [r0] + cmp r0, 0x3 + bne _080A3932 + ldr r1, _080A3948 @ =gUnknown_0203855A + movs r0, 0x10 + strb r0, [r1] + ldr r1, _080A394C @ =gUnknown_0203855B + ldr r0, _080A3940 @ =gUnknown_02038559 + ldrb r0, [r0] + adds r0, 0x1 + strb r0, [r1] + ldr r0, _080A3950 @ =sub_80A4F68 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r0, 24 + bl sub_80A37C0 + adds r0, r7, 0 + bl DestroyTask + bl ItemListMenu_InitMenu + movs r0, 0x2 + movs r1, 0 + bl sub_80F979C + movs r0, 0x3 + movs r1, 0 + bl sub_80F979C +_080A3932: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A3938: .4byte gUnknown_02038562 +_080A393C: .4byte gUnknown_03005D10 +_080A3940: .4byte gUnknown_02038559 +_080A3944: .4byte gUnknown_03005D24 +_080A3948: .4byte gUnknown_0203855A +_080A394C: .4byte gUnknown_0203855B +_080A3950: .4byte sub_80A4F68 + thumb_func_end sub_80A37F8 + + thumb_func_start sub_80A3954 +sub_80A3954: @ 80A3954 + push {lr} + adds r1, r0, 0 + ldr r0, _080A3968 @ =gUnknown_08E77004 + movs r2, 0x80 + lsls r2, 3 + bl CpuSet + pop {r0} + bx r0 + .align 2, 0 +_080A3968: .4byte gUnknown_08E77004 + thumb_func_end sub_80A3954 + + thumb_func_start sub_80A396C +sub_80A396C: @ 80A396C + push {r4-r7,lr} + lsls r1, 24 + lsrs r5, r1, 24 + adds r4, r5, 0 + lsls r2, 24 + lsrs r7, r2, 24 + lsls r3, 24 + lsrs r6, r3, 24 + adds r1, r4, 0x2 + lsls r1, 6 + adds r1, 0x1C + adds r2, r0, r1 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r7, r4 + bls _080A39B2 +_080A398E: + movs r1, 0 + adds r3, r5, 0x1 + adds r4, r2, 0 + adds r4, 0x40 +_080A3996: + lsls r0, r1, 1 + adds r0, r2 + strh r6, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0xE + bls _080A3996 + adds r2, r4, 0 + adds r1, r5, 0 + lsls r0, r3, 24 + lsrs r5, r0, 24 + cmp r7, r1 + bhi _080A398E +_080A39B2: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A396C + + thumb_func_start sub_80A39B8 +sub_80A39B8: @ 80A39B8 + push {lr} + sub sp, 0x10 + lsls r1, 25 + lsrs r1, 24 + ldr r3, _080A39E0 @ =gUnknown_08E96EC8 + movs r2, 0 + str r2, [sp] + str r1, [sp, 0x4] + movs r1, 0x8 + str r1, [sp, 0x8] + movs r1, 0x2 + str r1, [sp, 0xC] + movs r1, 0x4 + movs r2, 0xA + bl sub_809D104 + add sp, 0x10 + pop {r0} + bx r0 + .align 2, 0 +_080A39E0: .4byte gUnknown_08E96EC8 + thumb_func_end sub_80A39B8 + + thumb_func_start sub_80A39E4 +sub_80A39E4: @ 80A39E4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + mov r8, r0 + lsls r1, 24 + lsrs r1, 24 + adds r4, r1, 0 + lsls r2, 24 + lsrs r6, r2, 24 + adds r5, r6, 0 + lsls r2, r1, 1 + mov r9, r2 + lsls r3, 24 + asrs r3, 24 + movs r0, 0x1 + negs r0, r0 + cmp r3, r0 + bne _080A3A5C + adds r0, r1, 0x1 + lsls r7, r0, 1 + cmp r1, 0x5 + bne _080A3A18 + movs r7, 0x2 +_080A3A18: + ldr r0, _080A3A58 @ =gUnknown_08E96EC8 + mov r10, r0 + movs r4, 0x8 + subs r4, r6 + lsls r4, 16 + lsrs r4, 16 + str r4, [sp] + str r2, [sp, 0x4] + str r6, [sp, 0x8] + movs r0, 0x2 + mov r9, r0 + str r0, [sp, 0xC] + mov r0, r8 + movs r1, 0x4 + movs r2, 0xA + mov r3, r10 + bl sub_809D104 + adds r1, r6, 0x4 + movs r0, 0 + str r0, [sp] + str r7, [sp, 0x4] + str r4, [sp, 0x8] + mov r0, r9 + str r0, [sp, 0xC] + mov r0, r8 + movs r2, 0xA + mov r3, r10 + bl sub_809D104 + b _080A3AAA + .align 2, 0 +_080A3A58: .4byte gUnknown_08E96EC8 +_080A3A5C: + cmp r3, 0x1 + bne _080A3AAA + subs r0, r4, 0x1 + lsls r0, 17 + lsrs r7, r0, 16 + cmp r4, 0x1 + bne _080A3A6C + movs r7, 0xA +_080A3A6C: + ldr r6, _080A3ABC @ =gUnknown_08E96EC8 + str r5, [sp] + str r7, [sp, 0x4] + movs r0, 0x8 + subs r0, r5 + lsls r0, 16 + lsrs r0, 16 + str r0, [sp, 0x8] + movs r4, 0x2 + str r4, [sp, 0xC] + mov r0, r8 + movs r1, 0x4 + movs r2, 0xA + adds r3, r6, 0 + bl sub_809D104 + movs r1, 0xC + subs r1, r5 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0 + str r0, [sp] + mov r0, r9 + str r0, [sp, 0x4] + str r5, [sp, 0x8] + str r4, [sp, 0xC] + mov r0, r8 + movs r2, 0xA + adds r3, r6, 0 + bl sub_809D104 +_080A3AAA: + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A3ABC: .4byte gUnknown_08E96EC8 + thumb_func_end sub_80A39E4 + + thumb_func_start sub_80A3AC0 +sub_80A3AC0: @ 80A3AC0 + push {r4-r6,lr} + adds r3, r0, 0 + lsls r1, 24 + lsrs r4, r1, 24 + movs r2, 0 + ldr r1, _080A3AE4 @ =0x0000024a + ldr r0, _080A3AE8 @ =0x0000107d + adds r6, r0, 0 + subs r0, 0x1 + adds r5, r0, 0 +_080A3AD4: + cmp r2, r4 + bne _080A3AEC + lsls r0, r2, 1 + adds r0, r3 + adds r0, r1 + strh r6, [r0] + b _080A3AF4 + .align 2, 0 +_080A3AE4: .4byte 0x0000024a +_080A3AE8: .4byte 0x0000107d +_080A3AEC: + lsls r0, r2, 1 + adds r0, r3 + adds r0, r1 + strh r5, [r0] +_080A3AF4: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x4 + bls _080A3AD4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80A3AC0 + + thumb_func_start sub_80A3B04 +sub_80A3B04: @ 80A3B04 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r4, _080A3BA4 @ =gUnknown_02038559 + ldrb r0, [r4] + lsls r1, 24 + asrs r6, r1, 24 + adds r0, r6, r0 + strb r0, [r4] + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x4 + ble _080A3B20 + movs r0, 0 + strb r0, [r4] +_080A3B20: + movs r0, 0 + ldrsb r0, [r4, r0] + cmp r0, 0 + bge _080A3B2C + movs r0, 0x4 + strb r0, [r4] +_080A3B2C: + bl sub_80A76A0 + bl sub_80A7590 + ldr r2, _080A3BA8 @ =gUnknown_03005D24 + ldr r1, _080A3BAC @ =gBagPockets + movs r0, 0 + ldrsb r0, [r4, r0] + lsls r0, 3 + adds r0, r1 + ldr r0, [r0] + str r0, [r2] + ldrb r0, [r4] + bl sub_80A3D24 + ldr r0, _080A3BB0 @ =gUnknown_0203855A + movs r4, 0 + strb r4, [r0] + adds r0, r5, 0 + bl sub_80A3954 + adds r0, r5, 0 + movs r1, 0 + movs r2, 0x10 + movs r3, 0x3 + bl sub_80A396C + adds r0, r5, 0 + movs r1, 0 + bl sub_80A39B8 + ldr r1, _080A3BB4 @ =gUnknown_0203855B + movs r0, 0x6 + strb r0, [r1] + ldr r0, _080A3BB8 @ =gUnknown_02038562 + strb r4, [r0] + ldr r4, _080A3BBC @ =sub_80A37F8 + adds r0, r4, 0 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + bne _080A3B90 + adds r0, r4, 0 + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r2, r0, 24 +_080A3B90: + ldr r1, _080A3BC0 @ =gTasks + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r1 + strh r6, [r0, 0x12] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A3BA4: .4byte gUnknown_02038559 +_080A3BA8: .4byte gUnknown_03005D24 +_080A3BAC: .4byte gBagPockets +_080A3BB0: .4byte gUnknown_0203855A +_080A3BB4: .4byte gUnknown_0203855B +_080A3BB8: .4byte gUnknown_02038562 +_080A3BBC: .4byte sub_80A37F8 +_080A3BC0: .4byte gTasks + thumb_func_end sub_80A3B04 + + thumb_func_start swap32 +swap32: @ 80A3BC4 + ldr r3, [r0] + ldr r2, [r1] + str r2, [r0] + str r3, [r1] + bx lr + thumb_func_end swap32 + + thumb_func_start sub_80A3BD0 +sub_80A3BD0: @ 80A3BD0 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + adds r7, r1, 0 + adds r6, r0, 0 + movs r3, 0 + b _080A3C1A +_080A3BE0: + adds r0, r3, 0x1 + lsls r1, r0, 16 + lsrs r4, r1, 16 + lsls r1, r2, 24 + lsrs r1, 24 + mov r8, r0 + cmp r4, r1 + bcs _080A3C14 + lsls r0, r3, 2 + adds r5, r0, r6 + adds r2, r1, 0 +_080A3BF6: + ldrh r0, [r5, 0x2] + cmp r0, 0 + bne _080A3C0A + lsls r1, r4, 2 + adds r1, r6 + adds r0, r5, 0 + str r2, [sp] + bl swap32 + ldr r2, [sp] +_080A3C0A: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, r2 + bcc _080A3BF6 +_080A3C14: + mov r1, r8 + lsls r0, r1, 16 + lsrs r3, r0, 16 +_080A3C1A: + adds r2, r7, 0 + lsls r0, r2, 24 + lsrs r0, 24 + subs r0, 0x1 + cmp r3, r0 + blt _080A3BE0 + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A3BD0 + + thumb_func_start sub_80A3C34 +sub_80A3C34: @ 80A3C34 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + adds r7, r1, 0 + adds r6, r0, 0 + adds r2, r7, 0 + lsls r0, r2, 24 + movs r3, 0 + cmp r0, 0 + beq _080A3C9C +_080A3C4A: + adds r0, r3, 0x1 + lsls r1, r0, 16 + lsrs r4, r1, 16 + lsls r1, r2, 24 + lsrs r1, 24 + mov r8, r0 + cmp r4, r1 + bcs _080A3C8C + lsls r0, r3, 2 + adds r5, r0, r6 + adds r2, r1, 0 +_080A3C60: + ldrh r0, [r5, 0x2] + cmp r0, 0 + beq _080A3C82 + lsls r0, r4, 2 + adds r1, r0, r6 + ldrh r0, [r1, 0x2] + cmp r0, 0 + beq _080A3C82 + ldrh r0, [r5] + ldrh r3, [r1] + cmp r0, r3 + bls _080A3C82 + adds r0, r5, 0 + str r2, [sp] + bl swap32 + ldr r2, [sp] +_080A3C82: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, r2 + bcc _080A3C60 +_080A3C8C: + mov r1, r8 + lsls r0, r1, 16 + lsrs r3, r0, 16 + adds r2, r7, 0 + lsls r0, r2, 24 + lsrs r0, 24 + cmp r3, r0 + bcc _080A3C4A +_080A3C9C: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A3C34 + + thumb_func_start sub_80A3CA8 +sub_80A3CA8: @ 80A3CA8 + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _080A3D00 @ =gUnknown_03005D10 + lsls r0, r6, 2 + adds r3, r0, r1 + movs r0, 0 + strb r0, [r3, 0x2] + movs r4, 0 + ldr r0, _080A3D04 @ =gBagPockets + lsls r2, r6, 3 + adds r1, r2, r0 + mov r12, r0 + ldrb r1, [r1, 0x4] + cmp r4, r1 + bcs _080A3CEC + mov r7, r12 + adds r5, r3, 0 +_080A3CCC: + adds r3, r2, r7 + ldr r0, [r3] + lsls r1, r4, 2 + adds r1, r0 + ldrh r0, [r1, 0x2] + cmp r0, 0 + beq _080A3CE0 + ldrb r0, [r5, 0x2] + adds r0, 0x1 + strb r0, [r5, 0x2] +_080A3CE0: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + ldrb r3, [r3, 0x4] + cmp r4, r3 + bcc _080A3CCC +_080A3CEC: + lsls r0, r6, 3 + add r0, r12 + ldr r1, [r0, 0x4] + ldr r0, [r0] + bl sub_80A3BD0 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A3D00: .4byte gUnknown_03005D10 +_080A3D04: .4byte gBagPockets + thumb_func_end sub_80A3CA8 + + thumb_func_start sub_80A3D08 +sub_80A3D08: @ 80A3D08 + push {r4,lr} + movs r4, 0 +_080A3D0C: + adds r0, r4, 0 + bl sub_80A3CA8 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x4 + bls _080A3D0C + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A3D08 + + thumb_func_start sub_80A3D24 +sub_80A3D24: @ 80A3D24 + push {lr} + lsls r0, 24 + ldr r1, _080A3D3C @ =gUnknown_03005D10 + lsrs r0, 22 + adds r1, r0, r1 + ldrb r0, [r1, 0x2] + cmp r0, 0x6 + bls _080A3D36 + movs r0, 0x7 +_080A3D36: + strb r0, [r1, 0x3] + pop {r0} + bx r0 + .align 2, 0 +_080A3D3C: .4byte gUnknown_03005D10 + thumb_func_end sub_80A3D24 + + thumb_func_start sub_80A3D40 +sub_80A3D40: @ 80A3D40 + push {r4,lr} + movs r4, 0 +_080A3D44: + adds r0, r4, 0 + bl sub_80A3D24 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x4 + bls _080A3D44 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A3D40 + + thumb_func_start sub_80A3D5C +sub_80A3D5C: @ 80A3D5C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080A3DF4 @ =gUnknown_03005D10 + mov r9, r1 + ldr r2, _080A3DF8 @ =gUnknown_02038559 + mov r8, r2 + movs r1, 0 + ldrsb r1, [r2, r1] + lsls r1, 2 + add r1, r9 + ldrb r2, [r1, 0x1] + ldrb r1, [r1] + adds r2, r1 + ldr r7, _080A3DFC @ =gUnknown_03005D24 + ldr r1, [r7] + lsls r6, r2, 2 + adds r3, r6, r1 + ldr r2, _080A3E00 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldrh r0, [r3, 0x2] + ldrh r1, [r1, 0xA] + subs r0, r1 + strh r0, [r3, 0x2] + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0 + bne _080A3DE0 + ldr r0, _080A3E04 @ =gSaveBlock1 + ldr r1, _080A3E08 @ =0x00000496 + adds r5, r0, r1 + ldrh r0, [r5] + ldrh r3, [r3] + cmp r0, r3 + bne _080A3DB4 + bl sub_80A40D0 + strh r4, [r5] +_080A3DB4: + ldr r0, [r7] + adds r0, r6, r0 + strh r4, [r0] + mov r2, r8 + movs r0, 0 + ldrsb r0, [r2, r0] + lsls r0, 2 + mov r3, r9 + adds r2, r0, r3 + ldrb r1, [r2, 0x1] + adds r0, r1, 0x7 + ldrb r3, [r2, 0x2] + cmp r0, r3 + bne _080A3DD8 + cmp r1, 0 + beq _080A3DD8 + subs r0, r1, 0x1 + strb r0, [r2, 0x1] +_080A3DD8: + ldr r0, _080A3DF8 @ =gUnknown_02038559 + ldrb r0, [r0] + bl sub_80A3CA8 +_080A3DE0: + ldr r0, _080A3DF8 @ =gUnknown_02038559 + ldrb r0, [r0] + bl sub_80A3D24 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A3DF4: .4byte gUnknown_03005D10 +_080A3DF8: .4byte gUnknown_02038559 +_080A3DFC: .4byte gUnknown_03005D24 +_080A3E00: .4byte gTasks +_080A3E04: .4byte gSaveBlock1 +_080A3E08: .4byte 0x00000496 + thumb_func_end sub_80A3D5C + + thumb_func_start sub_80A3E0C +sub_80A3E0C: @ 80A3E0C + push {lr} + ldr r3, _080A3E60 @ =gUnknown_03005D10 + ldr r2, _080A3E64 @ =gUnknown_02038559 + movs r0, 0 + ldrsb r0, [r2, r0] + lsls r0, 2 + adds r0, r3 + ldrb r1, [r0, 0x1] + ldrb r0, [r0] + adds r1, r0 + ldr r0, _080A3E68 @ =gUnknown_03005D24 + ldr r0, [r0] + lsls r1, 2 + adds r1, r0 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _080A3E52 + strh r0, [r1] + movs r0, 0 + ldrsb r0, [r2, r0] + lsls r0, 2 + adds r2, r0, r3 + ldrb r1, [r2, 0x1] + adds r0, r1, 0x7 + ldrb r3, [r2, 0x2] + cmp r0, r3 + bne _080A3E4A + cmp r1, 0 + beq _080A3E4A + subs r0, r1, 0x1 + strb r0, [r2, 0x1] +_080A3E4A: + ldr r0, _080A3E64 @ =gUnknown_02038559 + ldrb r0, [r0] + bl sub_80A3CA8 +_080A3E52: + ldr r0, _080A3E64 @ =gUnknown_02038559 + ldrb r0, [r0] + bl sub_80A3D24 + pop {r0} + bx r0 + .align 2, 0 +_080A3E60: .4byte gUnknown_03005D10 +_080A3E64: .4byte gUnknown_02038559 +_080A3E68: .4byte gUnknown_03005D24 + thumb_func_end sub_80A3E0C + + thumb_func_start nullsub_16 +nullsub_16: @ 80A3E6C + bx lr + thumb_func_end nullsub_16 + + thumb_func_start sub_80A3E70 +sub_80A3E70: @ 80A3E70 + lsls r0, 24 + lsls r1, 24 + ldr r2, _080A3E8C @ =gUnknown_03005D24 + ldr r2, [r2] + lsrs r0, 22 + adds r0, r2 + ldr r3, [r0] + lsrs r1, 22 + adds r1, r2 + ldr r2, [r1] + str r2, [r0] + str r3, [r1] + bx lr + .align 2, 0 +_080A3E8C: .4byte gUnknown_03005D24 + thumb_func_end sub_80A3E70 + + thumb_func_start sub_80A3E90 +sub_80A3E90: @ 80A3E90 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x5 + bl PlaySE + bl nullsub_16 + ldr r0, _080A3EE8 @ =gTasks + lsls r5, r4, 2 + adds r5, r4 + lsls r5, 3 + adds r5, r0 + ldrb r0, [r5, 0x1C] + subs r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + ldr r3, _080A3EEC @ =gUnknown_03005D10 + ldr r1, _080A3EF0 @ =gUnknown_02038559 + movs r2, 0 + ldrsb r2, [r1, r2] + lsls r2, 2 + adds r2, r3 + ldrb r1, [r2, 0x1] + ldrb r2, [r2] + adds r1, r2 + lsls r1, 24 + lsrs r1, 24 + bl sub_80A3E70 + movs r0, 0 + strh r0, [r5, 0x1C] + bl sub_80A763C + movs r0, 0 + bl sub_80A7528 + bl ItemListMenu_InitMenu + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A3EE8: .4byte gTasks +_080A3EEC: .4byte gUnknown_03005D10 +_080A3EF0: .4byte gUnknown_02038559 + thumb_func_end sub_80A3E90 + + thumb_func_start sub_80A3EF4 +sub_80A3EF4: @ 80A3EF4 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x5 + bl PlaySE + bl nullsub_16 + ldr r0, _080A3F44 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r2, _080A3F48 @ =gUnknown_03005D10 + ldr r0, _080A3F4C @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x1] + mvns r0, r0 + ldrb r2, [r1, 0x1C] + adds r0, r2 + lsls r0, 24 + lsrs r2, r0, 24 + movs r0, 0 + strh r0, [r1, 0x1C] + cmp r2, 0x7 + bhi _080A3F38 + adds r0, r4, 0 + adds r1, r2, 0 + bl sub_80A48E8 +_080A3F38: + movs r0, 0 + bl sub_80A7528 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A3F44: .4byte gTasks +_080A3F48: .4byte gUnknown_03005D10 +_080A3F4C: .4byte gUnknown_02038559 + thumb_func_end sub_80A3EF4 + + thumb_func_start sub_80A3F50 +sub_80A3F50: @ 80A3F50 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080A3F94 @ =gTasks + lsls r3, r0, 2 + adds r3, r0 + lsls r3, 3 + adds r3, r1 + ldr r5, _080A3F98 @ =gUnknown_03005D10 + ldr r4, _080A3F9C @ =gUnknown_02038559 + movs r1, 0 + ldrsb r1, [r4, r1] + lsls r1, 2 + adds r1, r5 + ldrb r2, [r1, 0x1] + ldrb r1, [r1] + adds r2, r1 + adds r2, 0x1 + strh r2, [r3, 0x1C] + movs r1, 0 + ldrsb r1, [r4, r1] + lsls r1, 2 + adds r1, r5 + ldrb r2, [r1] + adds r1, r2, 0 + bl sub_80A48E8 + movs r0, 0x1 + bl sub_80A7528 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A3F94: .4byte gTasks +_080A3F98: .4byte gUnknown_03005D10 +_080A3F9C: .4byte gUnknown_02038559 + thumb_func_end sub_80A3F50 + + thumb_func_start sub_80A3FA0 +sub_80A3FA0: @ 80A3FA0 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r7, r0, 0 + ldr r0, [sp, 0x18] + ldr r4, [sp, 0x1C] + lsls r1, 24 + lsrs r5, r1, 24 + lsls r2, 24 + lsls r3, 24 + lsrs r3, 24 + lsls r0, 24 + lsrs r0, 24 + lsls r4, 16 + lsrs r6, r4, 16 + lsrs r2, 24 + adds r0, r2, r0 + cmp r2, r0 + bge _080A3FFC + mov r8, r5 + adds r4, r5, r3 + mov r12, r0 +_080A3FCC: + adds r0, r5, 0 + lsls r3, r2, 16 + cmp r8, r4 + bge _080A3FEE + asrs r2, r3, 11 +_080A3FD6: + lsls r1, r0, 16 + asrs r1, 16 + adds r0, r1, r2 + lsls r0, 1 + adds r0, r7 + strh r6, [r0] + adds r1, 0x1 + lsls r1, 16 + lsrs r0, r1, 16 + asrs r1, 16 + cmp r1, r4 + blt _080A3FD6 +_080A3FEE: + movs r1, 0x80 + lsls r1, 9 + adds r0, r3, r1 + lsrs r2, r0, 16 + asrs r0, 16 + cmp r0, r12 + blt _080A3FCC +_080A3FFC: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A3FA0 + + thumb_func_start sub_80A4008 +sub_80A4008: @ 80A4008 + push {r4,lr} + sub sp, 0x8 + ldr r4, [sp, 0x10] + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + lsrs r2, 24 + lsls r3, 24 + lsrs r3, 24 + lsls r4, 24 + lsrs r4, 24 + str r4, [sp] + movs r4, 0x1 + str r4, [sp, 0x4] + bl sub_80A3FA0 + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A4008 + + thumb_func_start sub_80A4030 +sub_80A4030: @ 80A4030 + ldr r1, _080A4058 @ =gBG2TilemapBuffer + 0xB4 + lsls r0, 7 + adds r1, r0, r1 + movs r0, 0x5A + strh r0, [r1] + movs r0, 0x5B + strh r0, [r1, 0x2] + movs r0, 0x5C + strh r0, [r1, 0x4] + adds r2, r1, 0 + adds r2, 0x40 + movs r0, 0x6A + strh r0, [r2] + adds r2, 0x2 + movs r0, 0x6B + strh r0, [r2] + adds r1, 0x44 + movs r0, 0x6C + strh r0, [r1] + bx lr + .align 2, 0 +_080A4058: .4byte gBG2TilemapBuffer + 0xB4 + thumb_func_end sub_80A4030 + + thumb_func_start sub_80A405C +sub_80A405C: @ 80A405C + push {r4,lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r2, _080A40A8 @ =gBG2TilemapBuffer + 0xB4 + movs r0, 0 + adds r4, r2, 0 + movs r1, 0x4F +_080A406A: + strh r1, [r2] + strh r1, [r2, 0x2] + strh r1, [r2, 0x4] + adds r2, 0x40 + adds r0, 0x1 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xF + bls _080A406A + lsls r0, r3, 7 + adds r2, r0, r4 + movs r0, 0x5A + strh r0, [r2] + movs r0, 0x5B + strh r0, [r2, 0x2] + movs r0, 0x5C + strh r0, [r2, 0x4] + adds r1, r2, 0 + adds r1, 0x40 + movs r0, 0x6A + strh r0, [r1] + adds r1, 0x2 + movs r0, 0x6B + strh r0, [r1] + adds r1, 0x2 + movs r0, 0x6C + strh r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A40A8: .4byte gBG2TilemapBuffer + 0xB4 + thumb_func_end sub_80A405C + + thumb_func_start sub_80A40AC +sub_80A40AC: @ 80A40AC + lsls r0, 24 + ldr r1, _080A40CC @ =gBG2TilemapBuffer + 0xB4 + lsrs r0, 17 + adds r1, r0, r1 + movs r2, 0x4F + strh r2, [r1] + strh r2, [r1, 0x2] + strh r2, [r1, 0x4] + adds r0, r1, 0 + adds r0, 0x40 + strh r2, [r0] + adds r0, 0x2 + strh r2, [r0] + adds r1, 0x44 + strh r2, [r1] + bx lr + .align 2, 0 +_080A40CC: .4byte gBG2TilemapBuffer + 0xB4 + thumb_func_end sub_80A40AC + + thumb_func_start sub_80A40D0 +sub_80A40D0: @ 80A40D0 + push {r4-r7,lr} + movs r4, 0 + ldr r2, _080A4114 @ =gUnknown_03005D10 + ldr r3, _080A4118 @ =gUnknown_02038559 + movs r0, 0 + ldrsb r0, [r3, r0] + lsls r0, 2 + adds r0, r2 + ldrb r1, [r0, 0x1] + adds r7, r2, 0 + adds r6, r3, 0 + ldrb r0, [r0, 0x2] + cmp r1, r0 + beq _080A4136 + ldr r5, _080A411C @ =gSaveBlock1 + 0x496 +_080A40EE: + movs r0, 0 + ldrsb r0, [r6, r0] + lsls r0, 2 + adds r3, r0, r7 + ldrb r2, [r3, 0x1] + adds r1, r2, r4 + ldr r0, _080A4120 @ =gUnknown_03005D24 + ldr r0, [r0] + lsls r1, 2 + adds r1, r0 + ldrh r0, [r1] + ldrh r1, [r5] + cmp r0, r1 + bne _080A4124 + adds r0, r4, 0 + bl sub_80A40AC + b _080A4136 + .align 2, 0 +_080A4114: .4byte gUnknown_03005D10 +_080A4118: .4byte gUnknown_02038559 +_080A411C: .4byte gSaveBlock1 + 0x496 +_080A4120: .4byte gUnknown_03005D24 +_080A4124: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x7 + bhi _080A4136 + adds r0, r2, r4 + ldrb r3, [r3, 0x2] + cmp r0, r3 + bne _080A40EE +_080A4136: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A40D0 + + thumb_func_start sub_80A413C +sub_80A413C: @ 80A413C + push {lr} + bl sub_80A40D0 + ldr r1, _080A415C @ =gUnknown_03005D10 + ldr r0, _080A4160 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0] + bl sub_80A405C + pop {r0} + bx r0 + .align 2, 0 +_080A415C: .4byte gUnknown_03005D10 +_080A4160: .4byte gUnknown_02038559 + thumb_func_end sub_80A413C + + thumb_func_start sub_80A4164 +sub_80A4164: @ 80A4164 + push {r4,lr} + lsls r1, 16 + lsrs r1, 16 + lsls r3, 24 + lsrs r3, 24 + movs r4, 0xB9 + strb r4, [r0] + adds r0, 0x1 + movs r4, 0xFC + strb r4, [r0] + movs r4, 0x14 + strb r4, [r0, 0x1] + movs r4, 0x6 + strb r4, [r0, 0x2] + adds r0, 0x3 + bl ConvertIntToDecimalStringN + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A4164 + + thumb_func_start sub_80A418C +sub_80A418C: @ 80A418C + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + adds r4, r0, 0 + mov r9, r1 + adds r5, r2, 0 + adds r6, r3, 0 + ldr r3, [sp, 0x18] + lsls r4, 16 + lsrs r4, 16 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 24 + lsrs r6, 24 + lsls r3, 24 + lsrs r3, 24 + ldr r0, _080A41D0 @ =gStringVar1 + mov r8, r0 + adds r1, r4, 0 + mov r2, r9 + bl sub_80A4164 + mov r0, r8 + adds r1, r5, 0 + adds r2, r6, 0 + bl MenuPrint + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A41D0: .4byte gStringVar1 + thumb_func_end sub_80A418C + + thumb_func_start sub_80A41D4 +sub_80A41D4: @ 80A41D4 + push {lr} + bl sub_80A763C + pop {r0} + bx r0 + thumb_func_end sub_80A41D4 + + thumb_func_start sub_80A41E0 +sub_80A41E0: @ 80A41E0 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r7, r0, 0 + mov r9, r2 + adds r5, r3, 0 + ldr r4, [sp, 0x1C] + lsls r1, 16 + lsrs r1, 16 + lsls r5, 16 + lsrs r5, 16 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0xFC + mov r8, r0 + strb r0, [r7] + movs r6, 0x13 + strb r6, [r7, 0x1] + movs r0, 0x8 + strb r0, [r7, 0x2] + adds r7, 0x3 + adds r0, r7, 0 + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + mov r1, r8 + strb r1, [r0] + strb r6, [r0, 0x1] + movs r1, 0x18 + strb r1, [r0, 0x2] + adds r7, r0, 0x3 + adds r4, 0x1 + lsls r0, r4, 1 + adds r0, r4 + lsls r0, 1 + movs r2, 0x78 + subs r2, r0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r7, 0 + mov r1, r9 + movs r3, 0 + bl sub_8072C74 + movs r1, 0xB9 + strb r1, [r0] + adds r7, r0, 0x1 + adds r0, r7, 0 + adds r1, r5, 0 + movs r2, 0x78 + movs r3, 0x1 + bl sub_8072C14 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A41E0 + + thumb_func_start sub_80A425C +sub_80A425C: @ 80A425C + push {r4,lr} + adds r4, r1, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r2, 24 + lsrs r2, 24 + ldr r3, _080A42A4 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r3 + movs r0, 0x1C + ldrsh r1, [r1, r0] + ldr r3, _080A42A8 @ =gUnknown_03005D10 + ldr r0, _080A42AC @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r3 + ldrb r0, [r0, 0x1] + subs r1, r0 + subs r1, 0x1 + cmp r1, r2 + bne _080A429C + movs r0, 0xFC + strb r0, [r4] + movs r0, 0x1 + strb r0, [r4, 0x1] + movs r0, 0x2 + strb r0, [r4, 0x2] + adds r4, 0x3 +_080A429C: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080A42A4: .4byte gTasks +_080A42A8: .4byte gUnknown_03005D10 +_080A42AC: .4byte gUnknown_02038559 + thumb_func_end sub_80A425C + + thumb_func_start sub_80A42B0 +sub_80A42B0: @ 80A42B0 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r7, r1, 0 + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + ldr r0, _080A4344 @ =gUnknown_02038540 + mov r8, r0 + ldr r1, _080A4348 @ =gUnknown_03005D10 + ldr r0, _080A434C @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x1] + adds r1, r6 + ldrb r0, [r0, 0x2] + cmp r1, r0 + bgt _080A4370 + cmp r1, r0 + bne _080A4374 + ldr r0, _080A4350 @ =gUnknown_03000701 + ldrb r0, [r0] + cmp r0, 0x5 + beq _080A4370 + lsls r0, r6, 25 + movs r1, 0x80 + lsls r1, 18 + adds r0, r1 + lsrs r5, r0, 24 + ldr r4, _080A4354 @ =gStringVar1 + ldr r1, _080A4358 @ =gOtherText_CloseBag + adds r0, r4, 0 + movs r2, 0x78 + movs r3, 0 + bl sub_8072C74 + adds r0, r4, 0 + movs r1, 0xE + adds r2, r5, 0 + bl MenuPrint + lsls r0, r5, 6 + ldr r1, _080A435C @ =gBG2TilemapBuffer + 0x1C + adds r0, r1 + movs r2, 0x4F + strh r2, [r0] + strh r2, [r0, 0x2] + adds r1, r0, 0 + adds r1, 0x40 + strh r2, [r1] + adds r0, 0x42 + strh r2, [r0] + cmp r6, 0x7 + beq _080A4370 + cmp r7, 0x1 + bne _080A432E + mov r1, r8 + ldrb r0, [r1, 0x2] + cmp r0, 0 + bne _080A4332 +_080A432E: + cmp r7, 0x2 + bne _080A4360 +_080A4332: + adds r1, r5, 0x2 + lsls r1, 24 + lsrs r1, 24 + movs r0, 0xE + movs r2, 0x1D + movs r3, 0xD + bl MenuFillWindowRectWithBlankTile + b _080A4370 + .align 2, 0 +_080A4344: .4byte gUnknown_02038540 +_080A4348: .4byte gUnknown_03005D10 +_080A434C: .4byte gUnknown_02038559 +_080A4350: .4byte gUnknown_03000701 +_080A4354: .4byte gStringVar1 +_080A4358: .4byte gOtherText_CloseBag +_080A435C: .4byte gBG2TilemapBuffer + 0x1C +_080A4360: + adds r1, r5, 0x2 + lsls r1, 24 + lsrs r1, 24 + movs r0, 0xE + movs r2, 0x1D + movs r3, 0x11 + bl MenuFillWindowRectWithBlankTile +_080A4370: + movs r0, 0x1 + b _080A4376 +_080A4374: + movs r0, 0 +_080A4376: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80A42B0 + + thumb_func_start sub_80A4380 +sub_80A4380: @ 80A4380 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + str r2, [sp] + mov r10, r3 + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + lsls r1, 24 + lsrs r7, r1, 24 + ldr r0, _080A43A0 @ =gUnknown_03005D24 + mov r8, r0 + b _080A441A + .align 2, 0 +_080A43A0: .4byte gUnknown_03005D24 +_080A43A4: + ldr r1, _080A4440 @ =gUnknown_03005D10 + ldr r0, _080A4444 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r4, [r0, 0x1] + adds r4, r7, r4 + lsls r4, 24 + lsrs r4, 24 + lsls r5, r7, 25 + movs r1, 0x80 + lsls r1, 18 + adds r5, r1 + lsrs r5, 24 + ldr r6, _080A4448 @ =gStringVar1 + mov r1, r9 + lsls r0, r1, 24 + lsrs r0, 24 + adds r1, r6, 0 + adds r2, r7, 0 + bl sub_80A425C + adds r6, r0, 0 + mov r1, r8 + ldr r0, [r1] + lsls r4, 2 + adds r0, r4, r0 + ldrh r0, [r0] + bl ItemId_GetItem + adds r1, r0, 0 + adds r0, r6, 0 + movs r2, 0x66 + movs r3, 0 + bl sub_8072C74 + adds r6, r0, 0 + movs r0, 0xB9 + strb r0, [r6] + adds r6, 0x1 + mov r1, r8 + ldr r0, [r1] + adds r4, r0 + ldrh r1, [r4, 0x2] + adds r0, r6, 0 + movs r2, 0x78 + movs r3, 0x1 + bl sub_8072C14 + ldr r0, _080A4448 @ =gStringVar1 + movs r1, 0xE + adds r2, r5, 0 + bl MenuPrint + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 +_080A441A: + ldr r0, [sp] + cmp r7, r0 + bgt _080A4430 + adds r0, r7, 0 + mov r1, r10 + bl sub_80A42B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A43A4 +_080A4430: + 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 +_080A4440: .4byte gUnknown_03005D10 +_080A4444: .4byte gUnknown_02038559 +_080A4448: .4byte gStringVar1 + thumb_func_end sub_80A4380 + + thumb_func_start sub_80A444C +sub_80A444C: @ 80A444C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + str r2, [sp] + str r3, [sp, 0x4] + lsls r0, 16 + lsrs r0, 16 + mov r10, r0 + lsls r1, 24 + lsrs r6, r1, 24 + ldr r0, _080A446C @ =gSaveBlock1 + 0x496 + mov r9, r0 + b _080A4520 + .align 2, 0 +_080A446C: .4byte gSaveBlock1 + 0x496 +_080A4470: + ldr r1, _080A44E8 @ =gUnknown_03005D10 + ldr r0, _080A44EC @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r4, [r0, 0x1] + adds r4, r6, r4 + lsls r4, 24 + lsrs r4, 24 + lsls r5, r6, 25 + movs r1, 0x80 + lsls r1, 18 + adds r5, r1 + lsrs r5, 24 + ldr r7, _080A44F0 @ =gStringVar1 + mov r2, r10 + lsls r0, r2, 24 + lsrs r0, 24 + adds r1, r7, 0 + adds r2, r6, 0 + bl sub_80A425C + adds r7, r0, 0 + ldr r0, _080A44F4 @ =gUnknown_03005D24 + mov r8, r0 + ldr r0, [r0] + lsls r4, 2 + adds r0, r4, r0 + ldrh r0, [r0] + bl ItemId_GetItem + adds r1, r0, 0 + adds r0, r7, 0 + movs r2, 0x60 + movs r3, 0 + bl sub_8072C74 + ldr r0, _080A44F0 @ =gStringVar1 + movs r1, 0xE + adds r2, r5, 0 + bl MenuPrint + ldr r0, _080A44F8 @ =gUnknown_02038558 + ldrb r0, [r0] + cmp r0, 0 + beq _080A44FC + mov r1, r8 + ldr r0, [r1] + adds r0, r4, r0 + ldrh r0, [r0] + mov r2, r9 + ldrh r2, [r2] + cmp r0, r2 + bne _080A451A + adds r0, r6, 0 + bl sub_80A4030 + b _080A451A + .align 2, 0 +_080A44E8: .4byte gUnknown_03005D10 +_080A44EC: .4byte gUnknown_02038559 +_080A44F0: .4byte gStringVar1 +_080A44F4: .4byte gUnknown_03005D24 +_080A44F8: .4byte gUnknown_02038558 +_080A44FC: + mov r1, r8 + ldr r0, [r1] + adds r0, r4, r0 + ldrh r0, [r0] + mov r2, r9 + ldrh r2, [r2] + cmp r0, r2 + bne _080A4514 + adds r0, r6, 0 + bl sub_80A405C + b _080A451A +_080A4514: + adds r0, r6, 0 + bl sub_80A40AC +_080A451A: + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 +_080A4520: + ldr r0, [sp] + cmp r6, r0 + bgt _080A4536 + adds r0, r6, 0 + ldr r1, [sp, 0x4] + bl sub_80A42B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A4470 +_080A4536: + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A444C + + thumb_func_start sub_80A4548 +sub_80A4548: @ 80A4548 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + str r2, [sp, 0x8] + str r3, [sp, 0xC] + lsls r0, 16 + lsrs r0, 16 + str r0, [sp, 0x4] + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + ldr r0, _080A456C @ =gBG2TilemapBuffer + mov r9, r0 + b _080A46C2 + .align 2, 0 +_080A456C: .4byte gBG2TilemapBuffer +_080A4570: + ldr r1, _080A461C @ =gUnknown_03005D10 + ldr r0, _080A4620 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r4, [r0, 0x1] + add r4, r8 + lsls r4, 24 + lsrs r4, 24 + mov r1, r8 + lsls r0, r1, 25 + movs r3, 0x80 + lsls r3, 18 + adds r0, r3 + lsrs r0, 24 + str r0, [sp, 0x10] + lsls r0, 5 + adds r0, 0xE + adds r5, r0, 0 + ldr r6, _080A4624 @ =gStringVar1 + ldr r1, [sp, 0x4] + lsls r0, r1, 24 + lsrs r0, 24 + adds r1, r6, 0 + mov r2, r8 + bl sub_80A425C + adds r6, r0, 0 + ldr r3, _080A4628 @ =gUnknown_03005D24 + mov r10, r3 + ldr r0, [r3] + lsls r7, r4, 2 + adds r3, r7, r0 + ldrh r1, [r3] + movs r0, 0xA9 + lsls r0, 1 + cmp r1, r0 + bhi _080A4634 + lsls r0, r5, 1 + add r0, r9 + movs r1, 0x59 + strh r1, [r0] + adds r0, r5, 0x1 + lsls r0, 1 + add r0, r9 + movs r2, 0x4F + strh r2, [r0] + adds r0, r5, 0 + adds r0, 0x20 + lsls r0, 1 + add r0, r9 + movs r1, 0x69 + strh r1, [r0] + adds r0, r5, 0 + adds r0, 0x21 + lsls r0, 1 + add r0, r9 + strh r2, [r0] + ldrh r0, [r3] + bl ItemIdToBattleMoveId + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xD + adds r2, r0, 0 + muls r2, r1 + ldr r0, _080A462C @ =gMoveNames + adds r2, r0 + mov r1, r10 + ldr r0, [r1] + adds r0, r7, r0 + ldr r3, _080A4630 @ =0xfffffee0 + adds r1, r3, 0 + ldrh r3, [r0] + adds r1, r3 + lsls r1, 16 + lsrs r1, 16 + ldrh r3, [r0, 0x2] + movs r0, 0x2 + str r0, [sp] + adds r0, r6, 0 + bl sub_80A41E0 + b _080A46AE + .align 2, 0 +_080A461C: .4byte gUnknown_03005D10 +_080A4620: .4byte gUnknown_02038559 +_080A4624: .4byte gStringVar1 +_080A4628: .4byte gUnknown_03005D24 +_080A462C: .4byte gMoveNames +_080A4630: .4byte 0xfffffee0 +_080A4634: + lsls r0, r5, 1 + add r0, r9 + ldr r1, _080A46EC @ =0x0000105d + strh r1, [r0] + adds r0, r5, 0x1 + lsls r0, 1 + add r0, r9 + adds r1, 0x1 + strh r1, [r0] + adds r0, r5, 0 + adds r0, 0x20 + lsls r0, 1 + add r0, r9 + adds r1, 0xF + strh r1, [r0] + adds r0, r5, 0 + adds r0, 0x21 + lsls r0, 1 + add r0, r9 + adds r1, 0x1 + strh r1, [r0] + movs r0, 0xFC + strb r0, [r6] + movs r4, 0x13 + strb r4, [r6, 0x1] + movs r0, 0x11 + strb r0, [r6, 0x2] + adds r6, 0x3 + mov r1, r10 + ldr r0, [r1] + adds r0, r7, r0 + ldrh r1, [r0] + ldr r3, _080A46F0 @ =0xfffffeae + adds r1, r3 + adds r0, r6, 0 + bl ConvertIntToDecimalString + adds r6, r0, 0 + movs r0, 0xFC + strb r0, [r6] + strb r4, [r6, 0x1] + movs r0, 0x18 + strb r0, [r6, 0x2] + adds r6, 0x3 + mov r1, r10 + ldr r0, [r1] + adds r0, r7, r0 + ldrh r0, [r0] + bl ItemIdToBattleMoveId + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xD + muls r1, r0 + ldr r0, _080A46F4 @ =gMoveNames + adds r1, r0 + adds r0, r6, 0 + movs r2, 0x78 + movs r3, 0 + bl sub_8072C74 +_080A46AE: + ldr r0, _080A46F8 @ =gStringVar1 + movs r1, 0xE + ldr r2, [sp, 0x10] + bl MenuPrint + mov r0, r8 + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 +_080A46C2: + ldr r3, [sp, 0x8] + cmp r8, r3 + bgt _080A46DA + mov r0, r8 + ldr r1, [sp, 0xC] + bl sub_80A42B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080A46DA + b _080A4570 +_080A46DA: + 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 +_080A46EC: .4byte 0x0000105d +_080A46F0: .4byte 0xfffffeae +_080A46F4: .4byte gMoveNames +_080A46F8: .4byte gStringVar1 + thumb_func_end sub_80A4548 + + thumb_func_start sub_80A46FC +sub_80A46FC: @ 80A46FC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + str r2, [sp, 0x8] + str r3, [sp, 0xC] + lsls r0, 16 + lsrs r0, 16 + str r0, [sp, 0x4] + lsls r1, 24 + lsrs r6, r1, 24 + ldr r0, _080A4724 @ =gBG2TilemapBuffer + mov r10, r0 + ldr r1, _080A4728 @ =gStringVar2 + mov r9, r1 + ldr r0, _080A472C @ =gUnknown_03005D24 + mov r8, r0 + b _080A47B4 + .align 2, 0 +_080A4724: .4byte gBG2TilemapBuffer +_080A4728: .4byte gStringVar2 +_080A472C: .4byte gUnknown_03005D24 +_080A4730: + ldr r1, _080A47DC @ =gUnknown_03005D10 + ldr r0, _080A47E0 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r4, [r0, 0x1] + adds r4, r6, r4 + lsls r4, 24 + lsrs r4, 24 + lsls r5, r6, 25 + movs r1, 0x80 + lsls r1, 18 + adds r5, r1 + lsrs r5, 24 + lsls r0, r5, 5 + adds r0, 0xE + lsls r1, r0, 1 + add r1, r10 + movs r2, 0x59 + strh r2, [r1] + adds r0, 0x20 + lsls r0, 1 + add r0, r10 + movs r1, 0x69 + strh r1, [r0] + ldr r7, _080A47E4 @ =gStringVar1 + ldr r1, [sp, 0x4] + lsls r0, r1, 24 + lsrs r0, 24 + adds r1, r7, 0 + adds r2, r6, 0 + bl sub_80A425C + adds r7, r0, 0 + mov r1, r8 + ldr r0, [r1] + lsls r4, 2 + adds r0, r4, r0 + ldrh r0, [r0] + mov r1, r9 + bl CopyItemName + mov r1, r8 + ldr r0, [r1] + adds r4, r0 + ldrh r1, [r4] + subs r1, 0x84 + lsls r1, 16 + lsrs r1, 16 + ldrh r3, [r4, 0x2] + movs r0, 0x3 + str r0, [sp] + adds r0, r7, 0 + mov r2, r9 + bl sub_80A41E0 + ldr r0, _080A47E4 @ =gStringVar1 + movs r1, 0xE + adds r2, r5, 0 + bl MenuPrint + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 +_080A47B4: + ldr r0, [sp, 0x8] + cmp r6, r0 + bgt _080A47CA + adds r0, r6, 0 + ldr r1, [sp, 0xC] + bl sub_80A42B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A4730 +_080A47CA: + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A47DC: .4byte gUnknown_03005D10 +_080A47E0: .4byte gUnknown_02038559 +_080A47E4: .4byte gStringVar1 + thumb_func_end sub_80A46FC + + thumb_func_start sub_80A47E8 +sub_80A47E8: @ 80A47E8 + push {r4,r5,lr} + adds r4, r1, 0 + adds r5, r2, 0 + lsls r0, 16 + lsrs r2, r0, 16 + ldr r0, _080A4808 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x4 + bhi _080A4852 + lsls r0, 2 + ldr r1, _080A480C @ =_080A4810 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080A4808: .4byte gUnknown_02038559 +_080A480C: .4byte _080A4810 + .align 2, 0 +_080A4810: + .4byte _080A4824 + .4byte _080A4824 + .4byte _080A483C + .4byte _080A4848 + .4byte _080A4830 +_080A4824: + adds r0, r2, 0 + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_80A4380 + b _080A4852 +_080A4830: + adds r0, r2, 0 + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_80A444C + b _080A4852 +_080A483C: + adds r0, r2, 0 + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_80A4548 + b _080A4852 +_080A4848: + adds r0, r2, 0 + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_80A46FC +_080A4852: + ldr r1, _080A4870 @ =gUnknown_03005D10 + ldr r0, _080A4874 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x1] + cmp r0, 0 + beq _080A4878 + movs r0, 0 + movs r1, 0 + bl sub_80F979C + b _080A4880 + .align 2, 0 +_080A4870: .4byte gUnknown_03005D10 +_080A4874: .4byte gUnknown_02038559 +_080A4878: + movs r0, 0 + movs r1, 0x1 + bl sub_80F979C +_080A4880: + ldr r0, _080A48A4 @ =gUnknown_03000701 + ldrb r0, [r0] + cmp r0, 0x5 + beq _080A48B0 + ldr r1, _080A48A8 @ =gUnknown_03005D10 + ldr r0, _080A48AC @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x1] + adds r1, 0x8 + ldrb r0, [r0, 0x2] + adds r0, 0x1 + cmp r1, r0 + blt _080A48C6 + b _080A48D8 + .align 2, 0 +_080A48A4: .4byte gUnknown_03000701 +_080A48A8: .4byte gUnknown_03005D10 +_080A48AC: .4byte gUnknown_02038559 +_080A48B0: + ldr r2, _080A48D0 @ =gUnknown_03005D10 + ldr r0, _080A48D4 @ =gUnknown_02038559 + movs r1, 0 + ldrsb r1, [r0, r1] + lsls r1, 2 + adds r1, r2 + ldrb r0, [r1, 0x1] + adds r0, 0x8 + ldrb r1, [r1, 0x2] + cmp r0, r1 + bge _080A48D8 +_080A48C6: + movs r0, 0x1 + movs r1, 0 + bl sub_80F979C + b _080A48E0 + .align 2, 0 +_080A48D0: .4byte gUnknown_03005D10 +_080A48D4: .4byte gUnknown_02038559 +_080A48D8: + movs r0, 0x1 + movs r1, 0x1 + bl sub_80F979C +_080A48E0: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A47E8 + + thumb_func_start sub_80A48E8 +sub_80A48E8: @ 80A48E8 + push {lr} + lsls r0, 16 + lsrs r0, 16 + movs r3, 0 + bl sub_80A47E8 + pop {r0} + bx r0 + thumb_func_end sub_80A48E8 + + thumb_func_start sub_80A48F8 +sub_80A48F8: @ 80A48F8 + push {lr} + lsls r0, 16 + lsrs r0, 16 + movs r1, 0 + movs r2, 0x5 + movs r3, 0x2 + bl sub_80A47E8 + pop {r0} + bx r0 + thumb_func_end sub_80A48F8 + + thumb_func_start ItemListMenu_InitDescription +ItemListMenu_InitDescription: @ 80A490C + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 16 + lsrs r3, r0, 16 + ldr r1, _080A4960 @ =gUnknown_03005D10 + ldr r0, _080A4964 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x1] + ldrb r2, [r0] + adds r1, r2 + ldrb r0, [r0, 0x2] + cmp r1, r0 + bne _080A4974 + ldr r0, _080A4968 @ =gOtherText_ReturnTo + movs r4, 0x1 + str r4, [sp] + movs r1, 0x4 + movs r2, 0x68 + movs r3, 0x68 + bl sub_8072A18 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080A496C @ =gUnknown_0840E740 + ldr r0, _080A4970 @ =gUnknown_03000701 + ldrb r0, [r0] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + str r4, [sp] + movs r1, 0x4 + movs r2, 0x78 + movs r3, 0x68 + bl sub_8072A18 + adds r0, r5, r0 + b _080A4988 + .align 2, 0 +_080A4960: .4byte gUnknown_03005D10 +_080A4964: .4byte gUnknown_02038559 +_080A4968: .4byte gOtherText_ReturnTo +_080A496C: .4byte gUnknown_0840E740 +_080A4970: .4byte gUnknown_03000701 +_080A4974: + adds r0, r3, 0 + bl ItemId_GetDescription + movs r1, 0x1 + str r1, [sp] + movs r1, 0x4 + movs r2, 0x68 + movs r3, 0x68 + bl sub_8072A18 +_080A4988: + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x2 + bhi _080A49A4 + lsls r1, r5, 25 + movs r0, 0xD0 + lsls r0, 20 + adds r1, r0 + lsrs r1, 24 + movs r0, 0 + movs r2, 0xD + movs r3, 0x14 + bl MenuZeroFillWindowRect +_080A49A4: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end ItemListMenu_InitDescription + + thumb_func_start ItemListMenu_ChangeDescription +ItemListMenu_ChangeDescription: @ 80A49AC + push {r4,r5,lr} + sub sp, 0x64 + adds r4, r1, 0 + lsls r0, 16 + lsrs r5, r0, 16 + ldr r1, _080A49E8 @ =gUnknown_03005D10 + ldr r0, _080A49EC @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x1] + ldrb r2, [r0] + adds r1, r2 + ldrb r0, [r0, 0x2] + cmp r1, r0 + bne _080A4A18 + cmp r4, 0 + bne _080A49F4 + movs r0, 0 + movs r1, 0xD + movs r2, 0xD + movs r3, 0x14 + bl MenuZeroFillWindowRect + ldr r0, _080A49F0 @ =gOtherText_ReturnTo + movs r1, 0x4 + movs r2, 0x68 + b _080A4A08 + .align 2, 0 +_080A49E8: .4byte gUnknown_03005D10 +_080A49EC: .4byte gUnknown_02038559 +_080A49F0: .4byte gOtherText_ReturnTo +_080A49F4: + cmp r4, 0x1 + bne _080A4A4C + ldr r1, _080A4A10 @ =gUnknown_0840E740 + ldr r0, _080A4A14 @ =gUnknown_03000701 + ldrb r0, [r0] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + movs r1, 0x4 + movs r2, 0x78 +_080A4A08: + movs r3, 0 + bl MenuPrint_PixelCoords + b _080A4A4C + .align 2, 0 +_080A4A10: .4byte gUnknown_0840E740 +_080A4A14: .4byte gUnknown_03000701 +_080A4A18: + cmp r4, 0 + bne _080A4A28 + movs r0, 0 + movs r1, 0xD + movs r2, 0xD + movs r3, 0x14 + bl MenuZeroFillWindowRect +_080A4A28: + lsls r1, r5, 16 + asrs r1, 16 + mov r0, sp + adds r2, r4, 0 + bl ItemId_CopyDescription + cmp r0, 0 + beq _080A4A4C + lsls r2, r4, 20 + movs r0, 0xD0 + lsls r0, 15 + adds r2, r0 + lsrs r2, 16 + mov r0, sp + movs r1, 0x4 + movs r3, 0 + bl MenuPrint_PixelCoords +_080A4A4C: + add sp, 0x64 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end ItemListMenu_ChangeDescription + + thumb_func_start sub_80A4A54 +sub_80A4A54: @ 80A4A54 + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r2, 0x1 + adds r2, r1, 0 + adds r1, r5, 0 +_080A4A5E: + ldrb r3, [r2] + adds r0, r3, 0x2 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bhi _080A4A8A + subs r4, 0x1 + cmp r4, 0 + bne _080A4A78 + movs r0, 0xFF + strb r0, [r1] + movs r0, 0x1 + b _080A4A92 +_080A4A78: + lsls r0, r3, 24 + lsrs r0, 24 + cmp r0, 0xFF + bne _080A4A84 + movs r0, 0 + b _080A4A92 +_080A4A84: + adds r1, r5, 0 + adds r2, 0x1 + b _080A4A5E +_080A4A8A: + strb r3, [r1] + adds r2, 0x1 + adds r1, 0x1 + b _080A4A5E +_080A4A92: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80A4A54 + + thumb_func_start sub_80A4A98 +sub_80A4A98: @ 80A4A98 + push {r4,r5,lr} + sub sp, 0x64 + adds r5, r0, 0 + adds r4, r1, 0 + cmp r4, 0 + bne _080A4AB0 + movs r0, 0 + movs r1, 0xD + movs r2, 0xD + movs r3, 0x14 + bl MenuZeroFillWindowRect +_080A4AB0: + mov r0, sp + adds r1, r5, 0 + adds r2, r4, 0 + bl sub_80A4A54 + cmp r0, 0 + beq _080A4AD2 + lsls r2, r4, 20 + movs r0, 0xD0 + lsls r0, 15 + adds r2, r0 + lsrs r2, 16 + mov r0, sp + movs r1, 0x4 + movs r3, 0 + bl MenuPrint_PixelCoords +_080A4AD2: + add sp, 0x64 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A4A98 + + thumb_func_start sub_80A4ADC +sub_80A4ADC: @ 80A4ADC + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A4B0C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0x1C + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080A4AFA + movs r0, 0 + bl sub_80A7528 +_080A4AFA: + movs r0, 0x5 + bl PlaySE + ldr r1, _080A4B10 @ =gUnknown_0203855C + movs r0, 0x1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_080A4B0C: .4byte gTasks +_080A4B10: .4byte gUnknown_0203855C + thumb_func_end sub_80A4ADC + + thumb_func_start sub_80A4B14 +sub_80A4B14: @ 80A4B14 + push {r4,lr} + adds r4, r1, 0 + lsls r0, 24 + lsls r4, 24 + lsrs r4, 24 + ldr r2, _080A4B50 @ =gUnknown_03005D10 + ldr r1, _080A4B54 @ =gUnknown_02038559 + ldrb r1, [r1] + lsls r1, 24 + asrs r1, 24 + lsls r1, 2 + adds r1, r2 + lsrs r0, 24 + ldrb r2, [r1, 0x1] + adds r0, r2 + strb r0, [r1, 0x1] + movs r0, 0 + bl MoveMenuCursor + bl sub_80A73C0 + bl sub_80A763C + adds r0, r4, 0 + bl sub_80A4ADC + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A4B50: .4byte gUnknown_03005D10 +_080A4B54: .4byte gUnknown_02038559 + thumb_func_end sub_80A4B14 + + thumb_func_start sub_80A4B58 +sub_80A4B58: @ 80A4B58 + push {r4,lr} + adds r4, r1, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r0, 24 + asrs r0, 24 + bl MoveMenuCursor + ldr r2, _080A4B88 @ =gUnknown_03005D10 + ldr r1, _080A4B8C @ =gUnknown_02038559 + ldrb r1, [r1] + lsls r1, 24 + asrs r1, 24 + lsls r1, 2 + adds r1, r2 + strb r0, [r1] + bl sub_80A73C0 + adds r0, r4, 0 + bl sub_80A4ADC + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A4B88: .4byte gUnknown_03005D10 +_080A4B8C: .4byte gUnknown_02038559 + thumb_func_end sub_80A4B58 + + thumb_func_start sub_80A4B90 +sub_80A4B90: @ 80A4B90 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + movs r0, 0x6 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + beq _080A4BBC + ldr r0, _080A4BB4 @ =0x00000103 + cmp r4, r0 + beq _080A4BAE + adds r0, 0xD + cmp r4, r0 + bne _080A4BBC +_080A4BAE: + ldr r0, _080A4BB8 @ =gOtherText_Walk + b _080A4BE6 + .align 2, 0 +_080A4BB4: .4byte 0x00000103 +_080A4BB8: .4byte gOtherText_Walk +_080A4BBC: + adds r0, r4, 0 + bl itemid_is_mail + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080A4BE4 + ldr r1, _080A4BDC @ =gUnknown_083C1640 + ldr r0, _080A4BE0 @ =gUnknown_03000704 + ldr r0, [r0] + ldrb r0, [r0] + lsls r0, 3 + adds r0, r1 + ldr r0, [r0] + b _080A4BE6 + .align 2, 0 +_080A4BDC: .4byte gUnknown_083C1640 +_080A4BE0: .4byte gUnknown_03000704 +_080A4BE4: + ldr r0, _080A4BEC @ =gOtherText_Check +_080A4BE6: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080A4BEC: .4byte gOtherText_Check + thumb_func_end sub_80A4B90 + + thumb_func_start sub_80A4BF0 +sub_80A4BF0: @ 80A4BF0 + push {r4-r7,lr} + sub sp, 0x8 + adds r5, r0, 0 + ldr r7, _080A4C38 @ =gUnknown_02038564 + ldrb r4, [r7] + cmp r4, 0x4 + beq _080A4C00 + b _080A4CF8 +_080A4C00: + movs r0, 0 + movs r1, 0x7 + movs r2, 0xD + movs r3, 0xC + bl MenuDrawTextWindow + str r4, [sp] + adds r0, r5, 0 + movs r1, 0x1 + movs r2, 0x8 + movs r3, 0xC + bl sub_80A4008 + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A4C40 + ldr r0, _080A4C3C @ =gUnknown_03000701 + ldrb r0, [r0] + cmp r0, 0x5 + bne _080A4C40 + movs r0, 0x1 + movs r1, 0 + bl sub_80A7834 + b _080A4CA0 + .align 2, 0 +_080A4C38: .4byte gUnknown_02038564 +_080A4C3C: .4byte gUnknown_03000701 +_080A4C40: + movs r6, 0 + ldr r0, _080A4C5C @ =gUnknown_02038564 + ldrb r0, [r0] + cmp r6, r0 + bcs _080A4CA0 + ldr r4, _080A4C60 @ =gUnknown_083C1640 +_080A4C4C: + cmp r6, 0 + bne _080A4C68 + ldr r0, _080A4C64 @ =word_203855E + ldrh r0, [r0] + bl sub_80A4B90 + adds r3, r0, 0 + b _080A4C76 + .align 2, 0 +_080A4C5C: .4byte gUnknown_02038564 +_080A4C60: .4byte gUnknown_083C1640 +_080A4C64: .4byte word_203855E +_080A4C68: + ldr r0, _080A4CC4 @ =gUnknown_03000704 + ldr r0, [r0] + adds r0, r6 + ldrb r0, [r0] + lsls r0, 3 + adds r0, r4 + ldr r3, [r0] +_080A4C76: + lsrs r0, r6, 1 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 1 + adds r1, 0x1 + lsls r1, 24 + lsrs r1, 24 + movs r2, 0x1 + ands r2, r6 + lsls r2, 1 + adds r2, 0x8 + adds r0, r3, 0 + bl MenuPrint + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, _080A4CC8 @ =gUnknown_02038564 + ldrb r0, [r0] + cmp r6, r0 + bcc _080A4C4C +_080A4CA0: + ldr r0, _080A4CCC @ =gUnknown_03000701 + ldrb r0, [r0] + cmp r0, 0x5 + bne _080A4CD4 + ldr r0, _080A4CC8 @ =gUnknown_02038564 + ldrb r3, [r0] + ldr r0, _080A4CD0 @ =gUnknown_03000700 + ldrb r0, [r0] + str r0, [sp] + movs r0, 0x1 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x1 + movs r2, 0x8 + bl InitMenu + b _080A4CEA + .align 2, 0 +_080A4CC4: .4byte gUnknown_03000704 +_080A4CC8: .4byte gUnknown_02038564 +_080A4CCC: .4byte gUnknown_03000701 +_080A4CD0: .4byte gUnknown_03000700 +_080A4CD4: + ldr r0, _080A4CF4 @ =gUnknown_02038564 + ldrb r3, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x1 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x1 + movs r2, 0x8 + bl InitMenu +_080A4CEA: + movs r0, 0x2F + bl sub_8072DCC + b _080A4D8A + .align 2, 0 +_080A4CF4: .4byte gUnknown_02038564 +_080A4CF8: + movs r0, 0 + movs r1, 0x5 + movs r2, 0xD + movs r3, 0xC + bl MenuDrawTextWindow + movs r0, 0x6 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0x1 + movs r2, 0x6 + movs r3, 0xC + bl sub_80A4008 + movs r6, 0 + ldrb r7, [r7] + cmp r6, r7 + bcs _080A4D6E + ldr r7, _080A4D98 @ =gUnknown_083C1640 +_080A4D1E: + ldr r0, _080A4D9C @ =gUnknown_03000704 + ldr r0, [r0] + adds r0, r6 + ldrb r0, [r0] + lsls r0, 3 + adds r0, r7 + ldr r5, [r0] + adds r0, r6, 0 + movs r1, 0x3 + bl __udivsi3 + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 1 + adds r4, r0 + lsls r4, 1 + adds r4, 0x1 + lsls r4, 24 + lsrs r4, 24 + adds r0, r6, 0 + movs r1, 0x3 + bl __umodsi3 + adds r2, r0, 0 + lsls r2, 25 + movs r0, 0xC0 + lsls r0, 19 + adds r2, r0 + lsrs r2, 24 + adds r0, r5, 0 + adds r1, r4, 0 + bl MenuPrint + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, _080A4DA0 @ =gUnknown_02038564 + ldrb r0, [r0] + cmp r6, r0 + bcc _080A4D1E +_080A4D6E: + ldr r0, _080A4DA0 @ =gUnknown_02038564 + ldrb r3, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x1 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x1 + movs r2, 0x6 + bl InitMenu + movs r0, 0x2F + bl sub_8072DCC +_080A4D8A: + movs r0, 0x2 + bl sub_80A7528 + add sp, 0x8 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A4D98: .4byte gUnknown_083C1640 +_080A4D9C: .4byte gUnknown_03000704 +_080A4DA0: .4byte gUnknown_02038564 + thumb_func_end sub_80A4BF0 + + thumb_func_start sub_80A4DA4 +sub_80A4DA4: @ 80A4DA4 + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + bl sub_80A73FC + movs r0, 0x6 + str r0, [sp] + adds r0, r4, 0 + movs r1, 0 + movs r2, 0x6 + movs r3, 0xD + bl sub_80A36B8 + movs r0, 0 + movs r1, 0x5 + movs r2, 0xD + movs r3, 0xC + bl MenuZeroFillWindowRect + bl sub_80A7590 + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A4DA4 + + thumb_func_start sub_80A4DD8 +sub_80A4DD8: @ 80A4DD8 + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + sub sp, 0x4 + adds r4, r1, 0 + adds r1, r2, 0 + adds r6, r3, 0 + ldr r5, [sp, 0x20] + ldr r2, [sp, 0x24] + lsls r0, 24 + lsrs r0, 24 + lsls r4, 24 + lsrs r4, 24 + lsls r1, 24 + lsrs r1, 24 + lsls r6, 24 + lsrs r6, 24 + lsls r5, 24 + lsrs r5, 24 + lsls r2, 24 + lsrs r2, 24 + mov r10, r2 + ldr r3, _080A4E84 @ =gTasks + lsls r2, r0, 2 + adds r2, r0 + lsls r2, 3 + adds r2, r3 + movs r0, 0x1 + strh r0, [r2, 0xA] + adds r0, r4, 0x2 + mov r9, r0 + strh r0, [r2, 0xC] + adds r0, r1, 0x1 + mov r8, r0 + strh r0, [r2, 0xE] + adds r2, r4, r6 + lsls r2, 24 + lsrs r2, 24 + adds r3, r1, r5 + lsls r3, 24 + lsrs r3, 24 + adds r0, r4, 0 + bl MenuDrawTextWindow + ldr r0, _080A4E88 @ =gBG1TilemapBuffer + adds r4, 0x1 + lsls r4, 24 + lsrs r4, 24 + mov r1, r8 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + subs r6, 0x1 + lsls r6, 24 + lsrs r6, 24 + subs r5, 0x1 + lsls r5, 24 + lsrs r5, 24 + str r5, [sp] + adds r1, r4, 0 + mov r2, r8 + adds r3, r6, 0 + bl sub_80A4008 + mov r2, r9 + lsls r2, 24 + lsrs r2, 24 + mov r9, r2 + mov r0, r10 + str r0, [sp] + movs r0, 0x1 + movs r1, 0x1 + mov r3, r8 + bl sub_80A418C + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A4E84: .4byte gTasks +_080A4E88: .4byte gBG1TilemapBuffer + thumb_func_end sub_80A4DD8 + + thumb_func_start sub_80A4E8C +sub_80A4E8C: @ 80A4E8C + push {r4-r6,lr} + adds r4, r0, 0 + adds r6, r1, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r6, 24 + lsrs r6, 24 + movs r0, 0x5 + bl PlaySE + movs r0, 0 + movs r1, 0x1 + bl sub_80F979C + movs r0, 0x1 + movs r1, 0x1 + bl sub_80F979C + movs r0, 0x2 + movs r1, 0x1 + bl sub_80F979C + movs r0, 0x3 + movs r1, 0x1 + bl sub_80F979C + movs r0, 0 + bl sub_80F996C + movs r0, 0x1 + bl sub_80F996C + movs r0, 0x2 + bl sub_80F996C + movs r0, 0x3 + bl sub_80F996C + ldr r5, _080A4F04 @ =gBG2TilemapBuffer + lsls r4, 24 + asrs r4, 24 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80A3B04 + ldr r0, _080A4F08 @ =gUnknown_02038559 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80A3AC0 + bl sub_80A3770 + bl sub_80A7C64 + adds r0, r6, 0 + bl CreateBagPokeballSprite + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A4F04: .4byte gBG2TilemapBuffer +_080A4F08: .4byte gUnknown_02038559 + thumb_func_end sub_80A4E8C + + thumb_func_start sub_80A4F0C +sub_80A4F0C: @ 80A4F0C + push {r4,lr} + ldr r0, _080A4F38 @ =gUnknown_03000701 + ldrb r0, [r0] + subs r0, 0x4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bls _080A4F60 + ldr r4, _080A4F3C @ =gMain + ldrh r0, [r4, 0x2E] + cmp r0, 0x10 + beq _080A4F30 + bl sub_80F9284 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bne _080A4F40 +_080A4F30: + movs r0, 0x1 + movs r1, 0x2 + b _080A4F58 + .align 2, 0 +_080A4F38: .4byte gUnknown_03000701 +_080A4F3C: .4byte gMain +_080A4F40: + ldrh r0, [r4, 0x2E] + cmp r0, 0x20 + beq _080A4F52 + bl sub_80F9284 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A4F60 +_080A4F52: + movs r0, 0x1 + negs r0, r0 + movs r1, 0x1 +_080A4F58: + bl sub_80A4E8C + movs r0, 0x1 + b _080A4F62 +_080A4F60: + movs r0, 0 +_080A4F62: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80A4F0C + + thumb_func_start sub_80A4F68 +sub_80A4F68: @ 80A4F68 + push {lr} + bl sub_80A4F0C + pop {r0} + bx r0 + thumb_func_end sub_80A4F68 + + thumb_func_start sub_80A4F74 +sub_80A4F74: @ 80A4F74 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r2, r4, 0 + movs r5, 0 + ldr r0, _080A4FAC @ =gMain + ldrh r0, [r0, 0x30] + movs r1, 0xF0 + ands r1, r0 + cmp r1, 0x40 + bne _080A4FE8 + ldr r1, _080A4FB0 @ =gUnknown_03005D10 + ldr r0, _080A4FB4 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r1, r0, r1 + ldrb r0, [r1] + cmp r0, 0 + beq _080A4FB8 + movs r0, 0x1 + negs r0, r0 + adds r1, r4, 0 + bl sub_80A4B58 + b _080A4FC8 + .align 2, 0 +_080A4FAC: .4byte gMain +_080A4FB0: .4byte gUnknown_03005D10 +_080A4FB4: .4byte gUnknown_02038559 +_080A4FB8: + ldrb r0, [r1, 0x1] + cmp r0, 0 + beq _080A4FC8 + movs r0, 0x1 + negs r0, r0 + adds r1, r4, 0 + bl sub_80A4B14 +_080A4FC8: + ldr r0, _080A4FE0 @ =gLinkOpen + ldrb r0, [r0] + cmp r0, 0x1 + bne _080A50AE + ldr r1, _080A4FE4 @ =gMain + ldrh r0, [r1, 0x32] + cmp r0, 0x5 + bne _080A50AE + movs r0, 0xB + strh r0, [r1, 0x32] + b _080A50AE + .align 2, 0 +_080A4FE0: .4byte gLinkOpen +_080A4FE4: .4byte gMain +_080A4FE8: + cmp r1, 0x80 + bne _080A5088 + ldr r0, _080A5020 @ =gUnknown_03000701 + ldrb r0, [r0] + cmp r0, 0x5 + beq _080A502C + ldr r1, _080A5024 @ =gUnknown_03005D10 + ldr r0, _080A5028 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r2, r0, r1 + ldrb r0, [r2] + ldrb r1, [r2, 0x3] + cmp r0, r1 + bne _080A504E + ldrb r0, [r2, 0x1] + ldrb r1, [r2] + adds r0, r1 + ldrb r2, [r2, 0x2] + cmp r0, r2 + beq _080A5068 + movs r0, 0x1 + adds r1, r4, 0 + bl sub_80A4B14 + b _080A5068 + .align 2, 0 +_080A5020: .4byte gUnknown_03000701 +_080A5024: .4byte gUnknown_03005D10 +_080A5028: .4byte gUnknown_02038559 +_080A502C: + ldr r1, _080A5058 @ =gUnknown_03005D10 + ldr r0, _080A505C @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r2, r0, r1 + ldrb r1, [r2, 0x1] + ldrb r3, [r2] + adds r1, r3 + ldrb r0, [r2, 0x2] + subs r0, 0x1 + cmp r1, r0 + beq _080A5068 + ldrb r2, [r2, 0x3] + cmp r3, r2 + beq _080A5060 +_080A504E: + movs r0, 0x1 + adds r1, r4, 0 + bl sub_80A4B58 + b _080A5068 + .align 2, 0 +_080A5058: .4byte gUnknown_03005D10 +_080A505C: .4byte gUnknown_02038559 +_080A5060: + movs r0, 0x1 + adds r1, r4, 0 + bl sub_80A4B14 +_080A5068: + movs r5, 0x1 + ldr r0, _080A5080 @ =gLinkOpen + ldrb r0, [r0] + cmp r0, 0x1 + bne _080A50C0 + ldr r1, _080A5084 @ =gMain + ldrh r0, [r1, 0x32] + cmp r0, 0x5 + bne _080A50C0 + movs r0, 0xB + strh r0, [r1, 0x32] + b _080A50C0 + .align 2, 0 +_080A5080: .4byte gLinkOpen +_080A5084: .4byte gMain +_080A5088: + ldr r0, _080A50B4 @ =gTasks + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r4, r1, r0 + movs r1, 0x1C + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080A50BC + bl sub_80A4F0C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A50BC + bl sub_80A73F0 + ldr r0, _080A50B8 @ =sub_80A4F68 + str r0, [r4] +_080A50AE: + movs r5, 0x1 + b _080A50C0 + .align 2, 0 +_080A50B4: .4byte gTasks +_080A50B8: .4byte sub_80A4F68 +_080A50BC: + bl sub_80A73C0 +_080A50C0: + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80A4F74 + + thumb_func_start sub_80A50C8 +sub_80A50C8: @ 80A50C8 + push {r4-r7,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080A5148 @ =gTasks + 0x8 + adds r5, r0, r1 + ldr r0, _080A514C @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _080A50E6 + b _080A52BC +_080A50E6: + adds r0, r4, 0 + bl sub_80A4F74 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A50F6 + b _080A526A +_080A50F6: + ldr r2, _080A5150 @ =gMain + ldrh r1, [r2, 0x2E] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _080A5190 + ldr r3, _080A5154 @ =gUnknown_02038559 + ldrb r0, [r3] + subs r0, 0x2 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bls _080A5190 + ldr r0, _080A5158 @ =gUnknown_03000701 + ldrb r0, [r0] + cmp r0, 0x1 + bhi _080A5190 + movs r1, 0x14 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080A5160 + ldr r1, _080A515C @ =gUnknown_03005D10 + movs r0, 0 + ldrsb r0, [r3, r0] + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x1] + ldrb r2, [r0] + adds r1, r2 + ldrb r0, [r0, 0x2] + cmp r1, r0 + bne _080A5138 + b _080A526A +_080A5138: + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl sub_80A3F50 + b _080A526A + .align 2, 0 +_080A5148: .4byte gTasks + 0x8 +_080A514C: .4byte gPaletteFade +_080A5150: .4byte gMain +_080A5154: .4byte gUnknown_02038559 +_080A5158: .4byte gUnknown_03000701 +_080A515C: .4byte gUnknown_03005D10 +_080A5160: + ldr r1, _080A5184 @ =gUnknown_03005D10 + movs r0, 0 + ldrsb r0, [r3, r0] + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x1] + ldrb r2, [r0] + adds r1, r2 + ldrb r0, [r0, 0x2] + cmp r1, r0 + beq _080A5188 + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl sub_80A3E90 + b _080A526A + .align 2, 0 +_080A5184: .4byte gUnknown_03005D10 +_080A5188: + adds r0, r4, 0 + bl sub_80A3EF4 + b _080A526A +_080A5190: + ldrh r2, [r2, 0x2E] + movs r0, 0x1 + ands r0, r2 + cmp r0, 0 + beq _080A5272 + ldr r7, _080A51D4 @ =gUnknown_03005D10 + ldr r6, _080A51D8 @ =gUnknown_02038559 + movs r0, 0 + ldrsb r0, [r6, r0] + lsls r0, 2 + adds r0, r7 + ldrb r1, [r0, 0x1] + ldrb r2, [r0] + adds r1, r2 + ldrb r0, [r0, 0x2] + cmp r1, r0 + bne _080A51F0 + movs r0, 0x14 + ldrsh r1, [r5, r0] + cmp r1, 0 + bne _080A51E8 + ldr r0, _080A51DC @ =word_203855E + strh r1, [r0] + ldr r1, _080A51E0 @ =gUnknown_083C16BC + ldr r0, _080A51E4 @ =gUnknown_03000701 + ldrb r0, [r0] + lsls r0, 3 + adds r1, 0x4 + adds r0, r1 + ldr r1, [r0] + adds r0, r4, 0 + bl _call_via_r1 + b _080A526A + .align 2, 0 +_080A51D4: .4byte gUnknown_03005D10 +_080A51D8: .4byte gUnknown_02038559 +_080A51DC: .4byte word_203855E +_080A51E0: .4byte gUnknown_083C16BC +_080A51E4: .4byte gUnknown_03000701 +_080A51E8: + adds r0, r4, 0 + bl sub_80A3EF4 + b _080A526A +_080A51F0: + movs r1, 0x14 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080A5264 + movs r0, 0x5 + bl PlaySE + ldr r2, _080A5250 @ =gUnknown_02038560 + movs r1, 0 + ldrsb r1, [r6, r1] + lsls r1, 2 + adds r1, r7 + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + adds r0, r1 + strb r0, [r2] + ldr r3, _080A5254 @ =word_203855E + ldrb r0, [r2] + ldr r1, _080A5258 @ =gUnknown_03005D24 + ldr r1, [r1] + lsls r0, 2 + adds r0, r1 + ldrh r0, [r0] + strh r0, [r3] + ldr r1, _080A525C @ =gUnknown_083C16BC + ldr r0, _080A5260 @ =gUnknown_03000701 + ldrb r0, [r0] + lsls r0, 3 + adds r0, r1 + ldr r1, [r0] + adds r0, r4, 0 + bl _call_via_r1 + movs r0, 0 + bl sub_80F98A4 + movs r0, 0x1 + bl sub_80F98A4 + movs r0, 0x2 + bl sub_80F98A4 + movs r0, 0x3 + bl sub_80F98A4 + bl sub_80A797C + b _080A526A + .align 2, 0 +_080A5250: .4byte gUnknown_02038560 +_080A5254: .4byte word_203855E +_080A5258: .4byte gUnknown_03005D24 +_080A525C: .4byte gUnknown_083C16BC +_080A5260: .4byte gUnknown_03000701 +_080A5264: + adds r0, r4, 0 + bl sub_80A3E90 +_080A526A: + adds r0, r4, 0 + bl sub_808B5B4 + b _080A52BC +_080A5272: + movs r0, 0x2 + ands r0, r2 + cmp r0, 0 + beq _080A52BC + movs r0, 0x14 + ldrsh r1, [r5, r0] + cmp r1, 0 + bne _080A52B0 + ldr r2, _080A52A4 @ =gUnknown_03000701 + ldrb r0, [r2] + cmp r0, 0x5 + beq _080A52B6 + ldr r0, _080A52A8 @ =word_203855E + strh r1, [r0] + ldr r1, _080A52AC @ =gUnknown_083C16BC + ldrb r0, [r2] + lsls r0, 3 + adds r1, 0x4 + adds r0, r1 + ldr r1, [r0] + adds r0, r4, 0 + bl _call_via_r1 + b _080A52B6 + .align 2, 0 +_080A52A4: .4byte gUnknown_03000701 +_080A52A8: .4byte word_203855E +_080A52AC: .4byte gUnknown_083C16BC +_080A52B0: + adds r0, r4, 0 + bl sub_80A3EF4 +_080A52B6: + adds r0, r4, 0 + bl sub_808B5B4 +_080A52BC: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A50C8 + + thumb_func_start sub_80A52C4 +sub_80A52C4: @ 80A52C4 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 16 + lsrs r3, r1, 16 + adds r4, r3, 0 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080A52F4 @ =gTasks + 0x8 + adds r1, r0 + ldr r0, _080A52F8 @ =gMain + ldrh r0, [r0, 0x30] + movs r2, 0xF0 + ands r2, r0 + cmp r2, 0x40 + bne _080A52FC + movs r2, 0x2 + ldrsh r0, [r1, r2] + cmp r0, r3 + beq _080A533E + ldrh r0, [r1, 0x2] + adds r0, 0x1 + b _080A5340 + .align 2, 0 +_080A52F4: .4byte gTasks + 0x8 +_080A52F8: .4byte gMain +_080A52FC: + cmp r2, 0x80 + bne _080A5312 + ldrh r2, [r1, 0x2] + movs r4, 0x2 + ldrsh r0, [r1, r4] + cmp r0, 0x1 + beq _080A530E + subs r0, r2, 0x1 + b _080A5340 +_080A530E: + strh r3, [r1, 0x2] + b _080A5342 +_080A5312: + cmp r2, 0x10 + bne _080A532A + movs r2, 0x2 + ldrsh r0, [r1, r2] + adds r0, 0xA + cmp r0, r3 + bge _080A5326 + ldrh r0, [r1, 0x2] + adds r0, 0xA + b _080A5340 +_080A5326: + strh r4, [r1, 0x2] + b _080A5342 +_080A532A: + cmp r2, 0x20 + bne _080A5346 + ldrh r2, [r1, 0x2] + movs r3, 0x2 + ldrsh r0, [r1, r3] + cmp r0, 0xA + ble _080A533E + adds r0, r2, 0 + subs r0, 0xA + b _080A5340 +_080A533E: + movs r0, 0x1 +_080A5340: + strh r0, [r1, 0x2] +_080A5342: + movs r0, 0x1 + b _080A5348 +_080A5346: + movs r0, 0 +_080A5348: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80A52C4 + + thumb_func_start sub_80A5350 +sub_80A5350: @ 80A5350 + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r2, _080A539C @ =gTasks + 0x8 + adds r4, r1, r2 + ldr r1, _080A53A0 @ =gUnknown_02038560 + ldrb r1, [r1] + ldr r2, _080A53A4 @ =gUnknown_03005D24 + ldr r2, [r2] + lsls r1, 2 + adds r1, r2 + ldrh r1, [r1, 0x2] + bl sub_80A52C4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A53C0 + ldr r0, _080A53A8 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x3 + bne _080A53AC + ldrh r0, [r4, 0x2] + ldrb r2, [r4, 0x4] + ldrb r3, [r4, 0x6] + movs r1, 0x3 + str r1, [sp] + movs r1, 0x1 + bl sub_80A418C + b _080A53BC + .align 2, 0 +_080A539C: .4byte gTasks + 0x8 +_080A53A0: .4byte gUnknown_02038560 +_080A53A4: .4byte gUnknown_03005D24 +_080A53A8: .4byte gUnknown_02038559 +_080A53AC: + ldrh r0, [r4, 0x2] + ldrb r2, [r4, 0x4] + ldrb r3, [r4, 0x6] + movs r1, 0x2 + str r1, [sp] + movs r1, 0x1 + bl sub_80A418C +_080A53BC: + movs r0, 0x1 + b _080A53C2 +_080A53C0: + movs r0, 0 +_080A53C2: + add sp, 0x4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80A5350 + + thumb_func_start sub_80A53CC +sub_80A53CC: @ 80A53CC + push {lr} + bl sub_80A34B4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A53EA + bl sub_80A3770 + ldr r0, _080A53F0 @ =sub_80A50C8 + movs r1, 0 + bl CreateTask + ldr r1, _080A53F4 @ =gUnknown_02038563 + strb r0, [r1] +_080A53EA: + pop {r0} + bx r0 + .align 2, 0 +_080A53F0: .4byte sub_80A50C8 +_080A53F4: .4byte gUnknown_02038563 + thumb_func_end sub_80A53CC + + thumb_func_start sub_80A53F8 +sub_80A53F8: @ 80A53F8 + push {lr} + ldr r0, _080A540C @ =gUnknown_03000701 + movs r1, 0 + strb r1, [r0] + ldr r0, _080A5410 @ =sub_80A53CC + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_080A540C: .4byte gUnknown_03000701 +_080A5410: .4byte sub_80A53CC + thumb_func_end sub_80A53F8 + + thumb_func_start sub_80A5414 +sub_80A5414: @ 80A5414 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r5, 0 + bl sub_80A78A0 + cmp r0, 0 + bne _080A5426 + b _080A5552 +_080A5426: + ldr r2, _080A5460 @ =gMain + ldrh r0, [r2, 0x30] + movs r1, 0xF0 + ands r1, r0 + cmp r1, 0x40 + bne _080A546C + ldr r4, _080A5464 @ =gUnknown_03000700 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080A5440 + b _080A5552 +_080A5440: + ldrb r1, [r4] + ldr r0, _080A5468 @ =gUnknown_03000704 + ldr r0, [r0] + adds r1, r0 + subs r1, 0x1 + ldrb r0, [r1] + cmp r0, 0x8 + bne _080A5452 + b _080A5552 +_080A5452: + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + negs r0, r0 + b _080A54EE + .align 2, 0 +_080A5460: .4byte gMain +_080A5464: .4byte gUnknown_03000700 +_080A5468: .4byte gUnknown_03000704 +_080A546C: + cmp r1, 0x80 + bne _080A549C + ldr r4, _080A5494 @ =gUnknown_03000700 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080A5552 + ldrb r1, [r4] + ldr r0, _080A5498 @ =gUnknown_03000704 + ldr r0, [r0] + adds r1, r0 + ldrb r0, [r1, 0x1] + cmp r0, 0x8 + beq _080A5552 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + b _080A54EE + .align 2, 0 +_080A5494: .4byte gUnknown_03000700 +_080A5498: .4byte gUnknown_03000704 +_080A549C: + cmp r1, 0x20 + bne _080A54CC + ldr r4, _080A54C4 @ =gUnknown_03000700 + ldrb r0, [r4] + cmp r0, 0x1 + bls _080A5552 + adds r1, r0, 0 + ldr r0, _080A54C8 @ =gUnknown_03000704 + ldr r0, [r0] + adds r1, r0 + subs r1, 0x2 + ldrb r0, [r1] + cmp r0, 0x8 + beq _080A5552 + movs r0, 0x5 + bl PlaySE + movs r0, 0x2 + negs r0, r0 + b _080A54EE + .align 2, 0 +_080A54C4: .4byte gUnknown_03000700 +_080A54C8: .4byte gUnknown_03000704 +_080A54CC: + cmp r1, 0x10 + bne _080A5500 + ldr r4, _080A54F8 @ =gUnknown_03000700 + ldrb r0, [r4] + cmp r0, 0x1 + bhi _080A5552 + adds r1, r0, 0 + ldr r0, _080A54FC @ =gUnknown_03000704 + ldr r0, [r0] + adds r1, r0 + ldrb r0, [r1, 0x2] + cmp r0, 0x8 + beq _080A5552 + movs r0, 0x5 + bl PlaySE + movs r0, 0x2 +_080A54EE: + bl MoveMenuCursor3 + strb r0, [r4] + b _080A5552 + .align 2, 0 +_080A54F8: .4byte gUnknown_03000700 +_080A54FC: .4byte gUnknown_03000704 +_080A5500: + ldrh r1, [r2, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080A5590 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080A5552 + ldr r1, _080A5570 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + strh r5, [r0, 0x1C] + ldr r1, _080A5574 @ =gUnknown_03005D10 + ldr r0, _080A5578 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r2, [r0] + adds r0, r4, 0 + adds r1, r2, 0 + bl sub_80A48E8 + ldr r0, _080A557C @ =gBG1TilemapBuffer + bl sub_80A4DA4 + ldr r1, _080A5580 @ =gUnknown_083C1640 + ldr r0, _080A5584 @ =gUnknown_03000704 + ldr r0, [r0] + ldrb r0, [r0, 0x3] + lsls r0, 3 + adds r1, 0x4 + adds r0, r1 + ldr r5, [r0] + adds r0, r4, 0 + bl _call_via_r5 +_080A5552: + cmp r5, 0 + bne _080A55FA + ldr r0, _080A5588 @ =gUnknown_03000701 + ldrb r0, [r0] + cmp r0, 0x5 + bne _080A55E0 + ldr r0, _080A558C @ =gUnknown_03000700 + ldrb r0, [r0] + cmp r0, 0 + bne _080A55D4 + movs r0, 0xC + bl sub_8072DDC + b _080A55FA + .align 2, 0 +_080A5570: .4byte gTasks +_080A5574: .4byte gUnknown_03005D10 +_080A5578: .4byte gUnknown_02038559 +_080A557C: .4byte gBG1TilemapBuffer +_080A5580: .4byte gUnknown_083C1640 +_080A5584: .4byte gUnknown_03000704 +_080A5588: .4byte gUnknown_03000701 +_080A558C: .4byte gUnknown_03000700 +_080A5590: + ldr r1, _080A55C0 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + strh r5, [r0, 0x1C] + ldr r0, _080A55C4 @ =gBG1TilemapBuffer + bl sub_80A4DA4 + ldr r1, _080A55C8 @ =gUnknown_083C1640 + ldr r0, _080A55CC @ =gUnknown_03000700 + ldrb r2, [r0] + ldr r0, _080A55D0 @ =gUnknown_03000704 + ldr r0, [r0] + adds r0, r2 + ldrb r0, [r0] + lsls r0, 3 + adds r1, 0x4 + adds r0, r1 + ldr r5, [r0] + adds r0, r4, 0 + bl _call_via_r5 + b _080A5552 + .align 2, 0 +_080A55C0: .4byte gTasks +_080A55C4: .4byte gBG1TilemapBuffer +_080A55C8: .4byte gUnknown_083C1640 +_080A55CC: .4byte gUnknown_03000700 +_080A55D0: .4byte gUnknown_03000704 +_080A55D4: + cmp r0, 0x1 + bls _080A55E8 + movs r0, 0x30 + bl sub_8072DCC + b _080A55FA +_080A55E0: + ldr r0, _080A55F0 @ =gUnknown_03000700 + ldrb r0, [r0] + cmp r0, 0x1 + bhi _080A55F4 +_080A55E8: + movs r0, 0x2F + bl sub_8072DCC + b _080A55FA + .align 2, 0 +_080A55F0: .4byte gUnknown_03000700 +_080A55F4: + movs r0, 0x30 + bl sub_8072DCC +_080A55FA: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A5414 + + thumb_func_start sub_80A5600 +sub_80A5600: @ 80A5600 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r5, 0 + ldr r2, _080A563C @ =gMain + ldrh r0, [r2, 0x30] + movs r1, 0xF0 + ands r1, r0 + cmp r1, 0x40 + bne _080A5648 + ldr r4, _080A5640 @ =gUnknown_03000700 + ldrb r0, [r4] + cmp r0, 0 + bne _080A561E + b _080A5736 +_080A561E: + adds r1, r0, 0 + ldr r0, _080A5644 @ =gUnknown_03000704 + ldr r0, [r0] + adds r1, r0 + subs r1, 0x1 + ldrb r0, [r1] + cmp r0, 0x8 + bne _080A5630 + b _080A5736 +_080A5630: + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + negs r0, r0 + b _080A56D2 + .align 2, 0 +_080A563C: .4byte gMain +_080A5640: .4byte gUnknown_03000700 +_080A5644: .4byte gUnknown_03000704 +_080A5648: + cmp r1, 0x80 + bne _080A5680 + ldr r4, _080A5674 @ =gUnknown_03000700 + ldrb r1, [r4] + ldr r0, _080A5678 @ =gUnknown_02038564 + ldrb r0, [r0] + subs r0, 0x1 + cmp r1, r0 + beq _080A5736 + cmp r1, 0x2 + beq _080A5736 + ldr r0, _080A567C @ =gUnknown_03000704 + ldr r0, [r0] + adds r0, r1, r0 + ldrb r0, [r0, 0x1] + cmp r0, 0x8 + beq _080A5736 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + b _080A56D2 + .align 2, 0 +_080A5674: .4byte gUnknown_03000700 +_080A5678: .4byte gUnknown_02038564 +_080A567C: .4byte gUnknown_03000704 +_080A5680: + cmp r1, 0x20 + bne _080A56B0 + ldr r4, _080A56A8 @ =gUnknown_03000700 + ldrb r0, [r4] + cmp r0, 0x2 + bls _080A5736 + adds r1, r0, 0 + ldr r0, _080A56AC @ =gUnknown_03000704 + ldr r0, [r0] + adds r1, r0 + subs r1, 0x3 + ldrb r0, [r1] + cmp r0, 0x8 + beq _080A5736 + movs r0, 0x5 + bl PlaySE + movs r0, 0x3 + negs r0, r0 + b _080A56D2 + .align 2, 0 +_080A56A8: .4byte gUnknown_03000700 +_080A56AC: .4byte gUnknown_03000704 +_080A56B0: + cmp r1, 0x10 + bne _080A56E4 + ldr r4, _080A56DC @ =gUnknown_03000700 + ldrb r0, [r4] + cmp r0, 0x2 + bhi _080A5736 + adds r1, r0, 0 + ldr r0, _080A56E0 @ =gUnknown_03000704 + ldr r0, [r0] + adds r1, r0 + ldrb r0, [r1, 0x3] + cmp r0, 0x8 + beq _080A5736 + movs r0, 0x5 + bl PlaySE + movs r0, 0x3 +_080A56D2: + bl MoveMenuCursor3 + strb r0, [r4] + b _080A5736 + .align 2, 0 +_080A56DC: .4byte gUnknown_03000700 +_080A56E0: .4byte gUnknown_03000704 +_080A56E4: + ldrh r1, [r2, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080A5768 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080A5736 + ldr r1, _080A574C @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + strh r5, [r0, 0x1C] + ldr r1, _080A5750 @ =gUnknown_03005D10 + ldr r0, _080A5754 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r2, [r0] + adds r0, r4, 0 + adds r1, r2, 0 + bl sub_80A48E8 + ldr r0, _080A5758 @ =gBG1TilemapBuffer + bl sub_80A4DA4 + ldr r1, _080A575C @ =gUnknown_083C1640 + ldr r0, _080A5760 @ =gUnknown_03000704 + ldr r0, [r0] + ldrb r0, [r0, 0x5] + lsls r0, 3 + adds r1, 0x4 + adds r0, r1 + ldr r5, [r0] + adds r0, r4, 0 + bl _call_via_r5 +_080A5736: + cmp r5, 0 + bne _080A57BE + ldr r0, _080A5764 @ =gUnknown_03000700 + ldrb r0, [r0] + cmp r0, 0 + bne _080A57AC + movs r0, 0xC + bl sub_8072DDC + b _080A57BE + .align 2, 0 +_080A574C: .4byte gTasks +_080A5750: .4byte gUnknown_03005D10 +_080A5754: .4byte gUnknown_02038559 +_080A5758: .4byte gBG1TilemapBuffer +_080A575C: .4byte gUnknown_083C1640 +_080A5760: .4byte gUnknown_03000704 +_080A5764: .4byte gUnknown_03000700 +_080A5768: + ldr r1, _080A5798 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + strh r5, [r0, 0x1C] + ldr r0, _080A579C @ =gBG1TilemapBuffer + bl sub_80A4DA4 + ldr r1, _080A57A0 @ =gUnknown_083C1640 + ldr r0, _080A57A4 @ =gUnknown_03000700 + ldrb r2, [r0] + ldr r0, _080A57A8 @ =gUnknown_03000704 + ldr r0, [r0] + adds r0, r2 + ldrb r0, [r0] + lsls r0, 3 + adds r1, 0x4 + adds r0, r1 + ldr r5, [r0] + adds r0, r4, 0 + bl _call_via_r5 + b _080A5736 + .align 2, 0 +_080A5798: .4byte gTasks +_080A579C: .4byte gBG1TilemapBuffer +_080A57A0: .4byte gUnknown_083C1640 +_080A57A4: .4byte gUnknown_03000700 +_080A57A8: .4byte gUnknown_03000704 +_080A57AC: + cmp r0, 0x2 + bhi _080A57B8 + movs r0, 0x2F + bl sub_8072DCC + b _080A57BE +_080A57B8: + movs r0, 0x30 + bl sub_8072DCC +_080A57BE: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A5600 + + thumb_func_start sub_80A57C4 +sub_80A57C4: @ 80A57C4 + push {r4-r6,lr} + sub sp, 0x8 + ldr r5, _080A57EC @ =gUnknown_03000704 + ldr r0, _080A57F0 @ =gUnknown_02038559 + movs r1, 0 + ldrsb r1, [r0, r1] + lsls r1, 1 + ldr r4, _080A57F4 @ =gUnknown_083C16AE + adds r1, r4 + str r1, [r5] + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x4 + bne _080A57FC + ldr r1, _080A57F8 @ =gUnknown_02038564 + movs r0, 0x1 + strb r0, [r1] + movs r5, 0x9 + b _080A582C + .align 2, 0 +_080A57EC: .4byte gUnknown_03000704 +_080A57F0: .4byte gUnknown_02038559 +_080A57F4: .4byte gUnknown_083C16AE +_080A57F8: .4byte gUnknown_02038564 +_080A57FC: + ldr r0, _080A581C @ =word_203855E + ldrh r0, [r0] + bl sub_80F92F4 + lsls r0, 24 + cmp r0, 0 + bne _080A5824 + adds r0, r4, 0 + adds r0, 0x8 + str r0, [r5] + ldr r1, _080A5820 @ =gUnknown_02038564 + movs r0, 0x1 + strb r0, [r1] + movs r5, 0x9 + b _080A582C + .align 2, 0 +_080A581C: .4byte word_203855E +_080A5820: .4byte gUnknown_02038564 +_080A5824: + ldr r1, _080A5880 @ =gUnknown_02038564 + movs r0, 0x2 + strb r0, [r1] + movs r5, 0x7 +_080A582C: + adds r6, r1, 0 + ldr r0, _080A5884 @ =gBG1TilemapBuffer + adds r4, r5, 0x1 + ldrb r1, [r6] + lsls r1, 25 + lsrs r1, 24 + str r1, [sp] + movs r1, 0x7 + adds r2, r4, 0 + movs r3, 0x6 + bl sub_80A4008 + ldrb r3, [r6] + lsls r3, 1 + adds r3, 0x1 + adds r3, r5, r3 + lsls r3, 24 + lsrs r3, 24 + movs r0, 0x6 + adds r1, r5, 0 + movs r2, 0xD + bl MenuDrawTextWindow + movs r0, 0 + adds r1, r5, 0 + bl sub_80A7834 + ldrb r3, [r6] + movs r0, 0 + str r0, [sp] + movs r0, 0x6 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x7 + adds r2, r4, 0 + bl InitMenu + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A5880: .4byte gUnknown_02038564 +_080A5884: .4byte gBG1TilemapBuffer + thumb_func_end sub_80A57C4 + + thumb_func_start sub_80A5888 +sub_80A5888: @ 80A5888 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + bl sub_80A78A0 + cmp r0, 0 + beq _080A5988 + ldr r2, _080A58B8 @ =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _080A58C0 + ldr r4, _080A58BC @ =gUnknown_03000700 + ldrb r0, [r4] + cmp r0, 0 + beq _080A5988 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + negs r0, r0 + b _080A58E2 + .align 2, 0 +_080A58B8: .4byte gMain +_080A58BC: .4byte gUnknown_03000700 +_080A58C0: + movs r0, 0x80 + ands r0, r1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0 + beq _080A58F4 + ldr r4, _080A58EC @ =gUnknown_03000700 + ldrb r1, [r4] + ldr r0, _080A58F0 @ =gUnknown_02038564 + ldrb r0, [r0] + subs r0, 0x1 + cmp r1, r0 + beq _080A5988 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 +_080A58E2: + bl MoveMenuCursor + strb r0, [r4] + b _080A5988 + .align 2, 0 +_080A58EC: .4byte gUnknown_03000700 +_080A58F0: .4byte gUnknown_02038564 +_080A58F4: + ldrh r1, [r2, 0x2E] + movs r2, 0x1 + ands r2, r1 + cmp r2, 0 + beq _080A5964 + ldr r1, _080A5948 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + strh r3, [r0, 0x1C] + ldr r1, _080A594C @ =gUnknown_03005D10 + ldr r0, _080A5950 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r2, [r0] + adds r0, r4, 0 + adds r1, r2, 0 + bl sub_80A48E8 + ldr r0, _080A5954 @ =gBG1TilemapBuffer + bl sub_80A4DA4 + ldr r1, _080A5958 @ =gUnknown_083C1640 + ldr r0, _080A595C @ =gUnknown_03000700 + ldrb r2, [r0] + ldr r0, _080A5960 @ =gUnknown_03000704 + ldr r0, [r0] + adds r0, r2 + ldrb r0, [r0] + lsls r0, 3 + adds r1, 0x4 + adds r0, r1 + ldr r1, [r0] + adds r0, r4, 0 + bl _call_via_r1 + b _080A5988 + .align 2, 0 +_080A5948: .4byte gTasks +_080A594C: .4byte gUnknown_03005D10 +_080A5950: .4byte gUnknown_02038559 +_080A5954: .4byte gBG1TilemapBuffer +_080A5958: .4byte gUnknown_083C1640 +_080A595C: .4byte gUnknown_03000700 +_080A5960: .4byte gUnknown_03000704 +_080A5964: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080A5988 + ldr r1, _080A5990 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + strh r2, [r0, 0x1C] + ldr r0, _080A5994 @ =gBG1TilemapBuffer + bl sub_80A4DA4 + ldr r0, _080A5998 @ =gUnknown_083C1640 + ldr r1, [r0, 0x14] + adds r0, r5, 0 + bl _call_via_r1 +_080A5988: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A5990: .4byte gTasks +_080A5994: .4byte gBG1TilemapBuffer +_080A5998: .4byte gUnknown_083C1640 + thumb_func_end sub_80A5888 + + thumb_func_start sub_80A599C +sub_80A599C: @ 80A599C + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A59C4 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r3, _080A59C8 @ =sub_805469C + lsrs r2, r3, 16 + movs r4, 0 + strh r2, [r1, 0x18] + strh r3, [r1, 0x1A] + ldr r1, _080A59CC @ =gUnknown_03005CE0 + strb r4, [r1] + bl sub_80A5AE4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A59C4: .4byte gTasks +_080A59C8: .4byte sub_805469C +_080A59CC: .4byte gUnknown_03005CE0 + thumb_func_end sub_80A599C + + thumb_func_start sub_80A59D0 +sub_80A59D0: @ 80A59D0 + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080A5A3C @ =gUnknown_03000700 + movs r0, 0 + strb r0, [r1] + ldr r7, _080A5A40 @ =gUnknown_03000701 + ldrb r0, [r7] + cmp r0, 0x5 + bne _080A59E8 + movs r0, 0x1 + strb r0, [r1] +_080A59E8: + ldr r1, _080A5A44 @ =gTasks + lsls r4, r5, 2 + adds r0, r4, r5 + lsls r0, 3 + adds r6, r0, r1 + ldr r3, _080A5A48 @ =gUnknown_03005D10 + ldr r2, _080A5A4C @ =gUnknown_02038559 + movs r0, 0 + ldrsb r0, [r2, r0] + lsls r0, 2 + adds r0, r3 + ldrb r1, [r0, 0x1] + ldrb r0, [r0] + adds r1, r0 + adds r1, 0x1 + strh r1, [r6, 0x1C] + movs r0, 0 + ldrsb r0, [r2, r0] + lsls r0, 2 + adds r0, r3 + ldrb r2, [r0] + adds r0, r5, 0 + adds r1, r2, 0 + bl sub_80A48E8 + bl sub_80A73FC + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A5A54 + ldrb r0, [r7] + cmp r0, 0x5 + beq _080A5A54 + bl sub_80A57C4 + ldr r0, _080A5A50 @ =sub_80A5888 + str r0, [r6] + b _080A5A9C + .align 2, 0 +_080A5A3C: .4byte gUnknown_03000700 +_080A5A40: .4byte gUnknown_03000701 +_080A5A44: .4byte gTasks +_080A5A48: .4byte gUnknown_03005D10 +_080A5A4C: .4byte gUnknown_02038559 +_080A5A50: .4byte sub_80A5888 +_080A5A54: + ldr r0, _080A5A7C @ =gBG1TilemapBuffer + bl sub_80A4BF0 + ldr r0, _080A5A80 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x3 + bne _080A5A6E + ldr r0, _080A5A84 @ =gUnknown_03000701 + ldrb r0, [r0] + cmp r0, 0x5 + bne _080A5A90 +_080A5A6E: + ldr r0, _080A5A88 @ =gTasks + adds r1, r4, r5 + lsls r1, 3 + adds r1, r0 + ldr r0, _080A5A8C @ =sub_80A5414 + b _080A5A9A + .align 2, 0 +_080A5A7C: .4byte gBG1TilemapBuffer +_080A5A80: .4byte gUnknown_02038559 +_080A5A84: .4byte gUnknown_03000701 +_080A5A88: .4byte gTasks +_080A5A8C: .4byte sub_80A5414 +_080A5A90: + ldr r0, _080A5AA4 @ =gTasks + adds r1, r4, r5 + lsls r1, 3 + adds r1, r0 + ldr r0, _080A5AA8 @ =sub_80A5600 +_080A5A9A: + str r0, [r1] +_080A5A9C: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A5AA4: .4byte gTasks +_080A5AA8: .4byte sub_80A5600 + thumb_func_end sub_80A59D0 + + thumb_func_start sub_80A5AAC +sub_80A5AAC: @ 80A5AAC + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r1, _080A5ADC @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _080A5AE0 @ =sub_80A5B00 + str r1, [r0] + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5ADC: .4byte gTasks +_080A5AE0: .4byte sub_80A5B00 + thumb_func_end sub_80A5AAC + + thumb_func_start sub_80A5AE4 +sub_80A5AE4: @ 80A5AE4 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl sub_80A5AAC + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A5AE4 + + thumb_func_start sub_80A5B00 +sub_80A5B00: @ 80A5B00 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080A5B38 @ =gTasks + 0x8 + adds r2, r0, r1 + ldr r0, _080A5B3C @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080A5B32 + ldrh r0, [r2, 0x10] + lsls r0, 16 + ldrh r1, [r2, 0x12] + orrs r0, r1 + bl SetMainCallback2 + bl gpu_pal_allocator_reset__manage_upper_four + adds r0, r4, 0 + bl DestroyTask +_080A5B32: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5B38: .4byte gTasks + 0x8 +_080A5B3C: .4byte gPaletteFade + thumb_func_end sub_80A5B00 + + thumb_func_start sub_80A5B40 +sub_80A5B40: @ 80A5B40 + push {lr} +_080A5B42: + bl sub_80A317C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A5B68 + bl ResetTasks + ldr r0, _080A5B60 @ =sub_80A50C8 + movs r1, 0 + bl CreateTask + ldr r1, _080A5B64 @ =gUnknown_02038563 + strb r0, [r1] + b _080A5B74 + .align 2, 0 +_080A5B60: .4byte sub_80A50C8 +_080A5B64: .4byte gUnknown_02038563 +_080A5B68: + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A5B42 +_080A5B74: + pop {r0} + bx r0 + thumb_func_end sub_80A5B40 + + thumb_func_start sub_80A5B78 +sub_80A5B78: @ 80A5B78 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r5, _080A5BB0 @ =word_203855E + ldrh r0, [r5] + bl ItemId_GetFieldFunc + cmp r0, 0 + beq _080A5BF2 + movs r0, 0x5 + bl PlaySE + bl CalculatePlayerPartyCount + lsls r0, 24 + cmp r0, 0 + bne _080A5BB4 + ldrh r0, [r5] + bl ItemId_GetType + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A5BB4 + adds r0, r4, 0 + bl sub_80A5BF8 + b _080A5BF2 + .align 2, 0 +_080A5BB0: .4byte word_203855E +_080A5BB4: + ldr r1, _080A5BE0 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0xC] + ldr r0, _080A5BE4 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x3 + beq _080A5BEC + ldr r0, _080A5BE8 @ =word_203855E + ldrh r0, [r0] + bl ItemId_GetFieldFunc + adds r1, r0, 0 + adds r0, r4, 0 + bl _call_via_r1 + b _080A5BF2 + .align 2, 0 +_080A5BE0: .4byte gTasks +_080A5BE4: .4byte gUnknown_02038559 +_080A5BE8: .4byte word_203855E +_080A5BEC: + adds r0, r4, 0 + bl sub_80C9C7C +_080A5BF2: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A5B78 + + thumb_func_start sub_80A5BF8 +sub_80A5BF8: @ 80A5BF8 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_80A73FC + bl sub_80A7590 + ldr r1, _080A5C1C @ =gOtherText_NoPokemon + ldr r2, _080A5C20 @ =sub_80A5C48 + adds r0, r4, 0 + movs r3, 0x1 + bl DisplayCannotUseItemMessage + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5C1C: .4byte gOtherText_NoPokemon +_080A5C20: .4byte sub_80A5C48 + thumb_func_end sub_80A5BF8 + + thumb_func_start sub_80A5C24 +sub_80A5C24: @ 80A5C24 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + bl sub_80A7528 + adds r0, r4, 0 + bl sub_80A41D4 + bl ItemListMenu_InitMenu + adds r0, r4, 0 + bl sub_80A37C0 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A5C24 + + thumb_func_start sub_80A5C48 +sub_80A5C48: @ 80A5C48 + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080A5C90 @ =gBG1TilemapBuffer + movs r1, 0x1F + str r1, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0x1F + bl sub_80A36B8 + movs r0, 0x7 + movs r1, 0x7 + movs r2, 0xD + movs r3, 0xC + bl MenuZeroFillWindowRect + movs r0, 0 + movs r1, 0xE + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + ldr r1, _080A5C94 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _080A5C98 @ =sub_80A5C24 + str r1, [r0] + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5C90: .4byte gBG1TilemapBuffer +_080A5C94: .4byte gTasks +_080A5C98: .4byte sub_80A5C24 + thumb_func_end sub_80A5C48 + + thumb_func_start sub_80A5C9C +sub_80A5C9C: @ 80A5C9C + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + movs r1, 0xD + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + adds r0, r4, 0 + bl DestroyTask + bl sub_8064E2C + bl ScriptContext2_Disable + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A5C9C + + thumb_func_start sub_80A5CC4 +sub_80A5CC4: @ 80A5CC4 + push {lr} + bl pal_fill_black + ldr r0, _080A5CD8 @ =Task_CallItemUseOnFieldCallback + movs r1, 0x8 + bl CreateTask + pop {r0} + bx r0 + .align 2, 0 +_080A5CD8: .4byte Task_CallItemUseOnFieldCallback + thumb_func_end sub_80A5CC4 + + thumb_func_start Task_CallItemUseOnFieldCallback +Task_CallItemUseOnFieldCallback: @ 80A5CDC + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_807D770 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A5CF8 + ldr r0, _080A5D00 @ =gUnknown_03005D00 + ldr r1, [r0] + adds r0, r4, 0 + bl _call_via_r1 +_080A5CF8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5D00: .4byte gUnknown_03005D00 + thumb_func_end Task_CallItemUseOnFieldCallback + + thumb_func_start sub_80A5D04 +sub_80A5D04: @ 80A5D04 + push {lr} +_080A5D06: + bl sub_80A317C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A5D28 + ldr r0, _080A5D20 @ =sub_80A50C8 + movs r1, 0 + bl CreateTask + ldr r1, _080A5D24 @ =gUnknown_02038563 + strb r0, [r1] + b _080A5D34 + .align 2, 0 +_080A5D20: .4byte sub_80A50C8 +_080A5D24: .4byte gUnknown_02038563 +_080A5D28: + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A5D06 +_080A5D34: + pop {r0} + bx r0 + thumb_func_end sub_80A5D04 + + thumb_func_start sub_80A5D38 +sub_80A5D38: @ 80A5D38 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r1, _080A5D70 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0xA] + ldr r0, _080A5D74 @ =gBG1TilemapBuffer + bl sub_80A4DA4 + movs r0, 0 + bl sub_80A7528 + adds r0, r4, 0 + bl sub_80A41D4 + bl ItemListMenu_InitMenu + adds r0, r4, 0 + bl sub_80A37C0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5D70: .4byte gTasks +_080A5D74: .4byte gBG1TilemapBuffer + thumb_func_end sub_80A5D38 + + thumb_func_start sub_80A5D78 +sub_80A5D78: @ 80A5D78 + push {lr} + sub sp, 0x4 + ldr r0, _080A5D9C @ =gBG1TilemapBuffer + movs r1, 0x4 + str r1, [sp] + movs r1, 0x8 + movs r2, 0x8 + movs r3, 0x5 + bl sub_80A4008 + movs r0, 0x7 + movs r1, 0x7 + movs r2, 0x1 + bl DisplayYesNoMenu + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_080A5D9C: .4byte gBG1TilemapBuffer + thumb_func_end sub_80A5D78 + + thumb_func_start sub_80A5DA0 +sub_80A5DA0: @ 80A5DA0 + push {r4,lr} + lsls r0, 16 + lsrs r0, 16 + lsls r1, 16 + lsrs r4, r1, 16 + ldr r1, _080A5DC4 @ =gStringVar1 + bl CopyItemName + cmp r4, 0x63 + bls _080A5DCC + ldr r0, _080A5DC8 @ =gStringVar2 + adds r1, r4, 0 + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + b _080A5DD8 + .align 2, 0 +_080A5DC4: .4byte gStringVar1 +_080A5DC8: .4byte gStringVar2 +_080A5DCC: + ldr r0, _080A5DF0 @ =gStringVar2 + adds r1, r4, 0 + movs r2, 0 + movs r3, 0x2 + bl ConvertIntToDecimalStringN +_080A5DD8: + ldr r0, _080A5DF4 @ =gBG1TilemapBuffer + bl sub_80A4DA4 + movs r0, 0x5 + bl sub_80A7528 + bl sub_80A5D78 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5DF0: .4byte gStringVar2 +_080A5DF4: .4byte gBG1TilemapBuffer + thumb_func_end sub_80A5DA0 + + thumb_func_start sub_80A5DF8 +sub_80A5DF8: @ 80A5DF8 + push {lr} + ldr r0, _080A5E18 @ =gBG1TilemapBuffer + bl sub_80A4DA4 + movs r0, 0x7 + movs r1, 0x6 + movs r2, 0xB + movs r3, 0xD + bl MenuZeroFillWindowRect + movs r0, 0x4 + bl sub_80A7528 + pop {r0} + bx r0 + .align 2, 0 +_080A5E18: .4byte gBG1TilemapBuffer + thumb_func_end sub_80A5DF8 + + thumb_func_start sub_80A5E1C +sub_80A5E1C: @ 80A5E1C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080A5E58 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080A5E36 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080A5E50 +_080A5E36: + ldr r0, _080A5E5C @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + movs r0, 0 + strh r0, [r1, 0x1C] + adds r0, r4, 0 + bl sub_80A41D4 + adds r0, r4, 0 + bl sub_80A5D38 +_080A5E50: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5E58: .4byte gMain +_080A5E5C: .4byte gTasks + thumb_func_end sub_80A5E1C + + thumb_func_start sub_80A5E60 +sub_80A5E60: @ 80A5E60 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_80A5DF8 + adds r0, r4, 0 + bl sub_80A3D5C + ldr r1, _080A5E88 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _080A5E8C @ =sub_80A5E1C + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A5E88: .4byte gTasks +_080A5E8C: .4byte sub_80A5E1C + thumb_func_end sub_80A5E60 + + thumb_func_start sub_80A5E90 +sub_80A5E90: @ 80A5E90 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl sub_80A5D38 + pop {r0} + bx r0 + thumb_func_end sub_80A5E90 + + thumb_func_start sub_80A5EA0 +sub_80A5EA0: @ 80A5EA0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + adds r0, r4, 0 + bl sub_80A5350 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080A5F0C + ldr r0, _080A5EE8 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A5EF8 + movs r0, 0x5 + bl PlaySE + ldr r0, _080A5EEC @ =word_203855E + ldrh r0, [r0] + ldr r2, _080A5EF0 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r2 + ldrh r1, [r1, 0xA] + bl sub_80A5DA0 + ldr r1, _080A5EF4 @ =gUnknown_083C16F4 + adds r0, r4, 0 + bl sub_80F914C + b _080A5F0C + .align 2, 0 +_080A5EE8: .4byte gMain +_080A5EEC: .4byte word_203855E +_080A5EF0: .4byte gTasks +_080A5EF4: .4byte gUnknown_083C16F4 +_080A5EF8: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080A5F0C + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + bl sub_80A5D38 +_080A5F0C: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A5EA0 + + thumb_func_start sub_80A5F14 +sub_80A5F14: @ 80A5F14 + push {r4,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x5 + bl PlaySE + ldr r1, _080A5F58 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _080A5F5C @ =sub_80A5EA0 + str r1, [r0] + movs r0, 0x3 + bl sub_80A7528 + ldr r0, _080A5F60 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x3 + bne _080A5F64 + movs r0, 0x3 + str r0, [sp] + str r0, [sp, 0x4] + adds r0, r4, 0 + movs r1, 0x6 + movs r2, 0x9 + movs r3, 0x7 + bl sub_80A4DD8 + b _080A5F78 + .align 2, 0 +_080A5F58: .4byte gTasks +_080A5F5C: .4byte sub_80A5EA0 +_080A5F60: .4byte gUnknown_02038559 +_080A5F64: + movs r0, 0x3 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + adds r0, r4, 0 + movs r1, 0x7 + movs r2, 0x9 + movs r3, 0x6 + bl sub_80A4DD8 +_080A5F78: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A5F14 + + thumb_func_start sub_80A5F80 +sub_80A5F80: @ 80A5F80 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_80A7528 + adds r0, r4, 0 + bl sub_80A41D4 + bl ItemListMenu_InitMenu + adds r0, r4, 0 + bl sub_80A37C0 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A5F80 + + thumb_func_start sub_80A5FAC +sub_80A5FAC: @ 80A5FAC + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + movs r0, 0x5 + bl PlaySE + ldr r0, _080A5FD0 @ =gSaveBlock1 + ldr r1, _080A5FD4 @ =0x00000496 + adds r4, r0, r1 + ldr r5, _080A5FD8 @ =word_203855E + ldrh r0, [r4] + ldrh r1, [r5] + cmp r0, r1 + bne _080A5FDC + bl sub_80A40D0 + movs r0, 0 + b _080A5FE2 + .align 2, 0 +_080A5FD0: .4byte gSaveBlock1 +_080A5FD4: .4byte 0x00000496 +_080A5FD8: .4byte word_203855E +_080A5FDC: + bl sub_80A413C + ldrh r0, [r5] +_080A5FE2: + strh r0, [r4] + movs r0, 0 + bl sub_80A7528 + adds r0, r6, 0 + bl sub_80A41D4 + bl ItemListMenu_InitMenu + adds r0, r6, 0 + bl sub_80A37C0 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80A5FAC + + thumb_func_start sub_80A6000 +sub_80A6000: @ 80A6000 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + bl sub_80A7528 + adds r0, r4, 0 + bl sub_80A41D4 + bl ItemListMenu_InitMenu + adds r0, r4, 0 + bl sub_80A37C0 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A6000 + + thumb_func_start sub_80A6024 +sub_80A6024: @ 80A6024 + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080A606C @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A6062 + ldr r0, _080A6070 @ =gBG1TilemapBuffer + movs r1, 0x1F + str r1, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0x1F + bl sub_80A36B8 + movs r0, 0 + movs r1, 0xE + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + ldr r1, _080A6074 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _080A6078 @ =sub_80A6000 + str r1, [r0] +_080A6062: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A606C: .4byte gMain +_080A6070: .4byte gBG1TilemapBuffer +_080A6074: .4byte gTasks +_080A6078: .4byte sub_80A6000 + thumb_func_end sub_80A6024 + + thumb_func_start DisplayCannotBeHeldMessage +DisplayCannotBeHeldMessage: @ 80A607C + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_80A73FC + ldr r0, _080A60B4 @ =word_203855E + ldrh r0, [r0] + ldr r1, _080A60B8 @ =gStringVar1 + bl CopyItemName + ldr r5, _080A60BC @ =gStringVar4 + ldr r1, _080A60C0 @ =gOtherText_CantBeHeld + adds r0, r5, 0 + bl StringExpandPlaceholders + bl sub_80A7590 + ldr r2, _080A60C4 @ =sub_80A6024 + adds r0, r4, 0 + adds r1, r5, 0 + movs r3, 0x1 + bl DisplayCannotUseItemMessage + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A60B4: .4byte word_203855E +_080A60B8: .4byte gStringVar1 +_080A60BC: .4byte gStringVar4 +_080A60C0: .4byte gOtherText_CantBeHeld +_080A60C4: .4byte sub_80A6024 + thumb_func_end DisplayCannotBeHeldMessage + + thumb_func_start ItemMenu_Give +ItemMenu_Give: @ 80A60C8 + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + adds r6, r4, 0 + movs r0, 0x5 + bl PlaySE + ldr r5, _080A60FC @ =word_203855E + ldrh r0, [r5] + bl sub_80F931C + lsls r0, 24 + cmp r0, 0 + bne _080A6108 + bl sub_80A73FC + bl sub_80A7590 + ldr r1, _080A6100 @ =gOtherText_CantWriteMail + ldr r2, _080A6104 @ =sub_80A6024 + adds r0, r4, 0 + movs r3, 0x1 + bl DisplayCannotUseItemMessage + b _080A616E + .align 2, 0 +_080A60FC: .4byte word_203855E +_080A6100: .4byte gOtherText_CantWriteMail +_080A6104: .4byte sub_80A6024 +_080A6108: + ldrh r0, [r5] + bl ItemId_GetImportance + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + bne _080A6168 + bl CalculatePlayerPartyCount + lsls r0, 24 + cmp r0, 0 + bne _080A6128 + adds r0, r4, 0 + bl sub_80A5BF8 + b _080A616E +_080A6128: + ldr r1, _080A6158 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r2, _080A615C @ =sub_808B020 + lsrs r1, r2, 16 + strh r1, [r0, 0x18] + strh r2, [r0, 0x1A] + ldr r1, _080A6160 @ =sub_80A5B00 + str r1, [r0] + ldr r1, _080A6164 @ =gUnknown_02038561 + movs r0, 0x1 + strb r0, [r1] + movs r0, 0x1 + negs r0, r0 + str r5, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + b _080A616E + .align 2, 0 +_080A6158: .4byte gTasks +_080A615C: .4byte sub_808B020 +_080A6160: .4byte sub_80A5B00 +_080A6164: .4byte gUnknown_02038561 +_080A6168: + adds r0, r6, 0 + bl DisplayCannotBeHeldMessage +_080A616E: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end ItemMenu_Give + + thumb_func_start sub_80A6178 +sub_80A6178: @ 80A6178 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl sub_80A5AE4 + ldr r1, _080A61A0 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r2, _080A61A4 @ =sub_814625C + lsrs r1, r2, 16 + strh r1, [r0, 0x18] + strh r2, [r0, 0x1A] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A61A0: .4byte gTasks +_080A61A4: .4byte sub_814625C + thumb_func_end sub_80A6178 + + thumb_func_start sub_80A61A8 +sub_80A61A8: @ 80A61A8 + push {lr} + bl sub_80A34B4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A61C2 + ldr r0, _080A61C8 @ =sub_80A50C8 + movs r1, 0 + bl CreateTask + ldr r1, _080A61CC @ =gUnknown_02038563 + strb r0, [r1] +_080A61C2: + pop {r0} + bx r0 + .align 2, 0 +_080A61C8: .4byte sub_80A50C8 +_080A61CC: .4byte gUnknown_02038563 + thumb_func_end sub_80A61A8 + + thumb_func_start sub_80A61D0 +sub_80A61D0: @ 80A61D0 + push {lr} + ldr r0, _080A61E4 @ =gUnknown_03000701 + movs r1, 0x2 + strb r1, [r0] + ldr r0, _080A61E8 @ =sub_80A61A8 + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_080A61E4: .4byte gUnknown_03000701 +_080A61E8: .4byte sub_80A61A8 + thumb_func_end sub_80A61D0 + + thumb_func_start sub_80A61EC +sub_80A61EC: @ 80A61EC + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A620C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r3, _080A6210 @ =sub_808A3F8 + lsrs r2, r3, 16 + strh r2, [r1, 0x18] + strh r3, [r1, 0x1A] + bl sub_80A5AE4 + pop {r0} + bx r0 + .align 2, 0 +_080A620C: .4byte gTasks +_080A6210: .4byte sub_808A3F8 + thumb_func_end sub_80A61EC + + thumb_func_start sub_80A6214 +sub_80A6214: @ 80A6214 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _080A6244 @ =gUnknown_02038559 + ldrb r0, [r0] + adds r0, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r4, _080A6248 @ =word_203855E + ldrh r0, [r4] + bl sub_80F931C + lsls r0, 24 + cmp r0, 0 + bne _080A6254 + bl sub_80A73FC + bl sub_80A7590 + ldr r1, _080A624C @ =gOtherText_CantWriteMail + ldr r2, _080A6250 @ =sub_80A6024 + adds r0, r5, 0 + b _080A6280 + .align 2, 0 +_080A6244: .4byte gUnknown_02038559 +_080A6248: .4byte word_203855E +_080A624C: .4byte gOtherText_CantWriteMail +_080A6250: .4byte sub_80A6024 +_080A6254: + ldrh r0, [r4] + bl sub_80F92F4 + lsls r0, 24 + cmp r0, 0 + bne _080A6298 + bl sub_80A73FC + ldrh r0, [r4] + ldr r1, _080A6288 @ =gStringVar1 + bl CopyItemName + ldr r4, _080A628C @ =gStringVar4 + ldr r1, _080A6290 @ =gOtherText_CantBeHeldHere + adds r0, r4, 0 + bl StringExpandPlaceholders + bl sub_80A7590 + ldr r2, _080A6294 @ =sub_80A6024 + adds r0, r5, 0 + adds r1, r4, 0 +_080A6280: + movs r3, 0x1 + bl DisplayCannotUseItemMessage + b _080A62D2 + .align 2, 0 +_080A6288: .4byte gStringVar1 +_080A628C: .4byte gStringVar4 +_080A6290: .4byte gOtherText_CantBeHeldHere +_080A6294: .4byte sub_80A6024 +_080A6298: + cmp r6, 0x5 + beq _080A62CC + ldrh r0, [r4] + bl ItemId_GetImportance + lsls r0, 24 + cmp r0, 0 + bne _080A62CC + ldr r1, _080A62C4 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r2, _080A62C8 @ =sub_808A3F8 + lsrs r1, r2, 16 + strh r1, [r0, 0x18] + strh r2, [r0, 0x1A] + adds r0, r5, 0 + bl sub_80A5AAC + b _080A62D2 + .align 2, 0 +_080A62C4: .4byte gTasks +_080A62C8: .4byte sub_808A3F8 +_080A62CC: + adds r0, r5, 0 + bl DisplayCannotBeHeldMessage +_080A62D2: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80A6214 + + thumb_func_start sub_80A62D8 +sub_80A62D8: @ 80A62D8 + push {lr} + bl sub_80A34B4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A62F2 + ldr r0, _080A62F8 @ =sub_80A50C8 + movs r1, 0 + bl CreateTask + ldr r1, _080A62FC @ =gUnknown_02038563 + strb r0, [r1] +_080A62F2: + pop {r0} + bx r0 + .align 2, 0 +_080A62F8: .4byte sub_80A50C8 +_080A62FC: .4byte gUnknown_02038563 + thumb_func_end sub_80A62D8 + + thumb_func_start sub_80A6300 +sub_80A6300: @ 80A6300 + push {lr} + ldr r0, _080A6314 @ =gUnknown_03000701 + movs r1, 0x3 + strb r1, [r0] + ldr r0, _080A6318 @ =sub_80A62D8 + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_080A6314: .4byte gUnknown_03000701 +_080A6318: .4byte sub_80A62D8 + thumb_func_end sub_80A6300 + + thumb_func_start sub_80A631C +sub_80A631C: @ 80A631C + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A6344 @ =gUnknown_0300485C + ldr r1, _080A6348 @ =sub_80B3050 + str r1, [r2] + ldr r2, _080A634C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r3, _080A6350 @ =c2_exit_to_overworld_2_switch + lsrs r2, r3, 16 + strh r2, [r1, 0x18] + strh r3, [r1, 0x1A] + bl sub_80A5AE4 + pop {r0} + bx r0 + .align 2, 0 +_080A6344: .4byte gUnknown_0300485C +_080A6348: .4byte sub_80B3050 +_080A634C: .4byte gTasks +_080A6350: .4byte c2_exit_to_overworld_2_switch + thumb_func_end sub_80A631C + + thumb_func_start sub_80A6354 +sub_80A6354: @ 80A6354 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + bl sub_80A7590 + ldr r0, _080A63C4 @ =gTasks + lsls r2, r5, 2 + adds r2, r5 + lsls r2, 3 + adds r2, r0 + ldr r4, _080A63C8 @ =gUnknown_03005D10 + ldr r3, _080A63CC @ =gUnknown_02038559 + movs r0, 0 + ldrsb r0, [r3, r0] + lsls r0, 2 + adds r0, r4 + ldrb r1, [r0, 0x1] + ldrb r0, [r0] + adds r1, r0 + adds r1, 0x1 + strh r1, [r2, 0x1C] + movs r0, 0 + ldrsb r0, [r3, r0] + lsls r0, 2 + adds r0, r4 + ldrb r2, [r0] + adds r0, r5, 0 + adds r1, r2, 0 + bl sub_80A48E8 + bl sub_80A73FC + ldr r4, _080A63D0 @ =word_203855E + ldrh r0, [r4] + ldr r1, _080A63D4 @ =gStringVar2 + bl CopyItemName + ldrh r0, [r4] + bl ItemId_GetPrice + lsls r0, 16 + cmp r0, 0 + bne _080A63E4 + ldr r4, _080A63D8 @ =gStringVar4 + ldr r1, _080A63DC @ =gOtherText_CantBuyThat + adds r0, r4, 0 + bl StringExpandPlaceholders + ldr r2, _080A63E0 @ =sub_80A6444 + adds r0, r5, 0 + adds r1, r4, 0 + movs r3, 0x1 + bl DisplayCannotUseItemMessage + b _080A63FA + .align 2, 0 +_080A63C4: .4byte gTasks +_080A63C8: .4byte gUnknown_03005D10 +_080A63CC: .4byte gUnknown_02038559 +_080A63D0: .4byte word_203855E +_080A63D4: .4byte gStringVar2 +_080A63D8: .4byte gStringVar4 +_080A63DC: .4byte gOtherText_CantBuyThat +_080A63E0: .4byte sub_80A6444 +_080A63E4: + ldr r4, _080A6400 @ =gStringVar4 + ldr r1, _080A6404 @ =gOtherText_HowManyToSell + adds r0, r4, 0 + bl StringExpandPlaceholders + ldr r2, _080A6408 @ =sub_80A648C + adds r0, r5, 0 + adds r1, r4, 0 + movs r3, 0x1 + bl DisplayCannotUseItemMessage +_080A63FA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A6400: .4byte gStringVar4 +_080A6404: .4byte gOtherText_HowManyToSell +_080A6408: .4byte sub_80A648C + thumb_func_end sub_80A6354 + + thumb_func_start sub_80A640C +sub_80A640C: @ 80A640C + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r1, _080A6440 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0x1C] + movs r0, 0 + bl sub_80A7528 + adds r0, r4, 0 + bl sub_80A41D4 + bl ItemListMenu_InitMenu + adds r0, r4, 0 + bl sub_80A37C0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A6440: .4byte gTasks + thumb_func_end sub_80A640C + + thumb_func_start sub_80A6444 +sub_80A6444: @ 80A6444 + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080A6480 @ =gBG1TilemapBuffer + movs r1, 0x1F + str r1, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0x1F + bl sub_80A36B8 + movs r0, 0 + movs r1, 0xE + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + ldr r1, _080A6484 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _080A6488 @ =sub_80A640C + str r1, [r0] + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A6480: .4byte gBG1TilemapBuffer +_080A6484: .4byte gTasks +_080A6488: .4byte sub_80A640C + thumb_func_end sub_80A6444 + + thumb_func_start sub_80A648C +sub_80A648C: @ 80A648C + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080A64E8 @ =gTasks + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + adds r4, r1 + ldr r0, _080A64EC @ =Task_BuyHowManyDialogueHandleInput + str r0, [r4] + ldr r0, _080A64F0 @ =gBG1TilemapBuffer + movs r5, 0x2 + str r5, [sp] + movs r1, 0x1 + movs r2, 0xB + movs r3, 0xC + bl sub_80A4008 + movs r0, 0 + movs r1, 0xA + movs r2, 0xD + movs r3, 0xD + bl MenuDrawTextWindow + movs r0, 0x1 + strh r0, [r4, 0xA] + strh r0, [r4, 0xC] + movs r0, 0xB + strh r0, [r4, 0xE] + ldr r0, _080A64F4 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x3 + bne _080A64F8 + movs r0, 0x3 + str r0, [sp] + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0x1 + movs r3, 0xB + bl sub_80A418C + b _080A6506 + .align 2, 0 +_080A64E8: .4byte gTasks +_080A64EC: .4byte Task_BuyHowManyDialogueHandleInput +_080A64F0: .4byte gBG1TilemapBuffer +_080A64F4: .4byte gUnknown_02038559 +_080A64F8: + str r5, [sp] + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0x1 + movs r3, 0xB + bl sub_80A418C +_080A6506: + ldr r0, _080A651C @ =word_203855E + ldrh r0, [r0] + movs r1, 0x1 + bl BuyMenuDisplayMessage + bl sub_80A683C + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A651C: .4byte word_203855E + thumb_func_end sub_80A648C + + thumb_func_start sub_80A6520 +sub_80A6520: @ 80A6520 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080A6544 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A653E + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl BuyMenuPrintItemQuantityAndPrice +_080A653E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A6544: .4byte gMain + thumb_func_end sub_80A6520 + + thumb_func_start sub_80A6548 +sub_80A6548: @ 80A6548 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl sub_80A48F8 + ldr r1, _080A656C @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _080A6570 @ =sub_80A6520 + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A656C: .4byte gTasks +_080A6570: .4byte sub_80A6520 + thumb_func_end sub_80A6548 + + thumb_func_start sub_80A6574 +sub_80A6574: @ 80A6574 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + movs r0, 0x5F + bl PlaySE + ldr r0, _080A65A0 @ =word_203855E + ldrh r0, [r0] + ldr r1, _080A65A4 @ =gTasks + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + adds r4, r1 + ldrb r1, [r4, 0xA] + bl sub_80A6870 + ldr r0, _080A65A8 @ =sub_80A6548 + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A65A0: .4byte word_203855E +_080A65A4: .4byte gTasks +_080A65A8: .4byte sub_80A6548 + thumb_func_end sub_80A6574 + + thumb_func_start sub_80A65AC +sub_80A65AC: @ 80A65AC + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + movs r0, 0x7 + movs r1, 0x6 + movs r2, 0xD + movs r3, 0xC + bl MenuZeroFillWindowRect + ldr r0, _080A6600 @ =gBG1TilemapBuffer + movs r1, 0x6 + str r1, [sp] + movs r1, 0x7 + movs r2, 0x6 + movs r3, 0x6 + bl sub_80A36B8 + ldr r0, _080A6604 @ =word_203855E + ldrh r0, [r0] + ldr r1, _080A6608 @ =gStringVar2 + bl CopyItemName + ldr r4, _080A660C @ =gStringVar4 + ldr r1, _080A6610 @ =gOtherText_SoldItem + adds r0, r4, 0 + bl StringExpandPlaceholders + ldr r2, _080A6614 @ =sub_80A6574 + adds r0, r5, 0 + adds r1, r4, 0 + movs r3, 0x1 + bl DisplayCannotUseItemMessage + adds r0, r5, 0 + bl sub_80A3D5C + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A6600: .4byte gBG1TilemapBuffer +_080A6604: .4byte word_203855E +_080A6608: .4byte gStringVar2 +_080A660C: .4byte gStringVar4 +_080A6610: .4byte gOtherText_SoldItem +_080A6614: .4byte sub_80A6574 + thumb_func_end sub_80A65AC + + thumb_func_start sub_80A6618 +sub_80A6618: @ 80A6618 + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x7 + movs r1, 0x6 + movs r2, 0xD + movs r3, 0xC + bl MenuZeroFillWindowRect + ldr r0, _080A664C @ =gBG1TilemapBuffer + movs r1, 0x6 + str r1, [sp] + movs r1, 0x7 + movs r2, 0x6 + movs r3, 0x6 + bl sub_80A36B8 + adds r0, r4, 0 + bl BuyMenuPrintItemQuantityAndPrice + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A664C: .4byte gBG1TilemapBuffer + thumb_func_end sub_80A6618 + + thumb_func_start sub_80A6650 +sub_80A6650: @ 80A6650 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_80A5D78 + ldr r1, _080A666C @ =gUnknown_083C16FC + adds r0, r4, 0 + bl sub_80F914C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A666C: .4byte gUnknown_083C16FC + thumb_func_end sub_80A6650 + + thumb_func_start Task_BuyHowManyDialogueHandleInput +Task_BuyHowManyDialogueHandleInput: @ 80A6670 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + adds r4, r5, 0 + adds r0, r5, 0 + bl sub_80A5350 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A66B4 + movs r0, 0x6 + movs r1, 0xB + movs r2, 0xC + movs r3, 0xB + bl MenuZeroFillWindowRect + ldr r0, _080A66AC @ =word_203855E + ldrh r0, [r0] + ldr r2, _080A66B0 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r2 + ldrh r1, [r1, 0xA] + bl BuyMenuDisplayMessage + b _080A6758 + .align 2, 0 +_080A66AC: .4byte word_203855E +_080A66B0: .4byte gTasks +_080A66B4: + ldr r0, _080A6724 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080A6744 + movs r0, 0x5 + bl PlaySE + movs r0, 0 + movs r1, 0xA + movs r2, 0xD + movs r3, 0xD + bl MenuZeroFillWindowRect + ldr r0, _080A6728 @ =gBG1TilemapBuffer + movs r1, 0x3 + str r1, [sp] + movs r1, 0 + movs r2, 0xA + movs r3, 0xD + bl sub_80A36B8 + ldr r4, _080A672C @ =gStringVar1 + ldr r0, _080A6730 @ =word_203855E + ldrh r0, [r0] + bl ItemId_GetPrice + lsls r0, 16 + lsrs r0, 17 + ldr r2, _080A6734 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r2 + movs r2, 0xA + ldrsh r1, [r1, r2] + muls r1, r0 + adds r0, r4, 0 + movs r2, 0 + movs r3, 0x6 + bl ConvertIntToDecimalStringN + ldr r4, _080A6738 @ =gStringVar4 + ldr r1, _080A673C @ =gOtherText_CanPay + adds r0, r4, 0 + bl StringExpandPlaceholders + ldr r2, _080A6740 @ =sub_80A6650 + adds r0, r5, 0 + adds r1, r4, 0 + movs r3, 0x1 + bl DisplayCannotUseItemMessage + b _080A6758 + .align 2, 0 +_080A6724: .4byte gMain +_080A6728: .4byte gBG1TilemapBuffer +_080A672C: .4byte gStringVar1 +_080A6730: .4byte word_203855E +_080A6734: .4byte gTasks +_080A6738: .4byte gStringVar4 +_080A673C: .4byte gOtherText_CanPay +_080A6740: .4byte sub_80A6650 +_080A6744: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080A6758 + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl BuyMenuPrintItemQuantityAndPrice +_080A6758: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end Task_BuyHowManyDialogueHandleInput + + thumb_func_start sub_80A6760 +sub_80A6760: @ 80A6760 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r1, _080A6794 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0x1C] + movs r0, 0 + bl sub_80A7528 + adds r0, r4, 0 + bl sub_80A41D4 + bl ItemListMenu_InitMenu + adds r0, r4, 0 + bl sub_80A37C0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A6794: .4byte gTasks + thumb_func_end sub_80A6760 + + thumb_func_start BuyMenuPrintItemQuantityAndPrice +BuyMenuPrintItemQuantityAndPrice: @ 80A6798 + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080A67E8 @ =gBG1TilemapBuffer + movs r1, 0x1F + str r1, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0x1F + bl sub_80A36B8 + movs r0, 0 + movs r1, 0 + bl RemoveMoneyLabelObject + movs r0, 0 + movs r1, 0x4 + movs r2, 0xD + movs r3, 0xD + bl MenuZeroFillWindowRect + movs r0, 0 + movs r1, 0xE + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + ldr r1, _080A67EC @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _080A67F0 @ =sub_80A6760 + str r1, [r0] + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A67E8: .4byte gBG1TilemapBuffer +_080A67EC: .4byte gTasks +_080A67F0: .4byte sub_80A6760 + thumb_func_end BuyMenuPrintItemQuantityAndPrice + + thumb_func_start BuyMenuDisplayMessage +BuyMenuDisplayMessage: @ 80A67F4 + push {r4-r6,lr} + adds r4, r0, 0 + adds r5, r1, 0 + lsls r4, 16 + lsrs r4, 16 + lsls r5, 16 + lsrs r5, 16 + adds r0, r4, 0 + bl ItemId_GetPrice + lsls r0, 16 + lsrs r0, 17 + muls r0, r5 + movs r1, 0x6 + movs r2, 0x6 + movs r3, 0xB + bl sub_80B7A94 + ldr r6, _080A6838 @ =gStringVar1 + adds r0, r4, 0 + bl ItemId_GetPrice + lsls r0, 16 + lsrs r0, 17 + adds r1, r0, 0 + muls r1, r5 + adds r0, r6, 0 + movs r2, 0 + movs r3, 0x6 + bl ConvertIntToDecimalStringN + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A6838: .4byte gStringVar1 + thumb_func_end BuyMenuDisplayMessage + + thumb_func_start sub_80A683C +sub_80A683C: @ 80A683C + push {lr} + sub sp, 0x4 + ldr r0, _080A6868 @ =gSaveBlock1 + movs r1, 0x92 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + movs r1, 0 + movs r2, 0 + bl sub_80B7C14 + ldr r0, _080A686C @ =gBG1TilemapBuffer + movs r1, 0x2 + str r1, [sp] + movs r1, 0x1 + movs r2, 0x1 + movs r3, 0xC + bl sub_80A4008 + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_080A6868: .4byte gSaveBlock1 +_080A686C: .4byte gBG1TilemapBuffer + thumb_func_end sub_80A683C + + thumb_func_start sub_80A6870 +sub_80A6870: @ 80A6870 + push {r4,r5,lr} + adds r4, r1, 0 + lsls r0, 16 + lsrs r0, 16 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _080A68A0 @ =gSaveBlock1 + 0x490 + bl ItemId_GetPrice + lsls r0, 16 + lsrs r0, 17 + adds r1, r0, 0 + muls r1, r4 + adds r0, r5, 0 + bl sub_80B79B8 + ldr r0, [r5] + movs r1, 0 + movs r2, 0 + bl sub_80B7BEC + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A68A0: .4byte gSaveBlock1 + 0x490 + thumb_func_end sub_80A6870 + + thumb_func_start sub_80A68A4 +sub_80A68A4: @ 80A68A4 + push {lr} + bl sub_80A34B4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A68BE + ldr r0, _080A68C4 @ =sub_80A50C8 + movs r1, 0 + bl CreateTask + ldr r1, _080A68C8 @ =gUnknown_02038563 + strb r0, [r1] +_080A68BE: + pop {r0} + bx r0 + .align 2, 0 +_080A68C4: .4byte sub_80A50C8 +_080A68C8: .4byte gUnknown_02038563 + thumb_func_end sub_80A68A4 + + thumb_func_start sub_80A68CC +sub_80A68CC: @ 80A68CC + push {lr} + ldr r1, _080A68E4 @ =gUnknown_02038559 + movs r0, 0x3 + strb r0, [r1] + ldr r1, _080A68E8 @ =gUnknown_03000701 + movs r0, 0x4 + strb r0, [r1] + ldr r0, _080A68EC @ =sub_80A68A4 + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_080A68E4: .4byte gUnknown_02038559 +_080A68E8: .4byte gUnknown_03000701 +_080A68EC: .4byte sub_80A68A4 + thumb_func_end sub_80A68CC + + thumb_func_start sub_80A68F0 +sub_80A68F0: @ 80A68F0 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A6910 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r3, _080A6914 @ =sub_80546B8 + lsrs r2, r3, 16 + strh r2, [r1, 0x18] + strh r3, [r1, 0x1A] + bl sub_80A5AE4 + pop {r0} + bx r0 + .align 2, 0 +_080A6910: .4byte gTasks +_080A6914: .4byte sub_80546B8 + thumb_func_end sub_80A68F0 + + thumb_func_start sub_80A6918 +sub_80A6918: @ 80A6918 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A6938 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r3, _080A693C @ =sub_80546B8 + lsrs r2, r3, 16 + strh r2, [r1, 0x18] + strh r3, [r1, 0x1A] + bl sub_80A5AAC + pop {r0} + bx r0 + .align 2, 0 +_080A6938: .4byte gTasks +_080A693C: .4byte sub_80546B8 + thumb_func_end sub_80A6918 + + thumb_func_start sub_80A6940 +sub_80A6940: @ 80A6940 + push {lr} +_080A6942: + bl sub_80A317C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A6968 + ldr r0, _080A6960 @ =sub_80A50C8 + movs r1, 0 + bl CreateTask + ldr r1, _080A6964 @ =gUnknown_02038563 + strb r0, [r1] + bl sub_80A699C + b _080A6974 + .align 2, 0 +_080A6960: .4byte sub_80A50C8 +_080A6964: .4byte gUnknown_02038563 +_080A6968: + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A6942 +_080A6974: + pop {r0} + bx r0 + thumb_func_end sub_80A6940 + + thumb_func_start sub_80A6978 +sub_80A6978: @ 80A6978 + push {lr} + ldr r1, _080A6990 @ =gUnknown_02038559 + movs r0, 0x3 + strb r0, [r1] + ldr r1, _080A6994 @ =gUnknown_03000701 + movs r0, 0x5 + strb r0, [r1] + ldr r0, _080A6998 @ =sub_80A6940 + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_080A6990: .4byte gUnknown_02038559 +_080A6994: .4byte gUnknown_03000701 +_080A6998: .4byte sub_80A6940 + thumb_func_end sub_80A6978 + + thumb_func_start sub_80A699C +sub_80A699C: @ 80A699C + ldr r1, _080A69AC @ =gUnknown_03000704 + ldr r0, _080A69B0 @ =gUnknown_083C16B8 + str r0, [r1] + ldr r1, _080A69B4 @ =gUnknown_02038564 + movs r0, 0x4 + strb r0, [r1] + bx lr + .align 2, 0 +_080A69AC: .4byte gUnknown_03000704 +_080A69B0: .4byte gUnknown_083C16B8 +_080A69B4: .4byte gUnknown_02038564 + thumb_func_end sub_80A699C + + thumb_func_start sub_80A69B8 +sub_80A69B8: @ 80A69B8 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A69D8 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r3, _080A69DC @ =sub_804E990 + lsrs r2, r3, 16 + strh r2, [r1, 0x18] + strh r3, [r1, 0x1A] + bl sub_80A5AE4 + pop {r0} + bx r0 + .align 2, 0 +_080A69D8: .4byte gTasks +_080A69DC: .4byte sub_804E990 + thumb_func_end sub_80A69B8 + + thumb_func_start sub_80A69E0 +sub_80A69E0: @ 80A69E0 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A6A00 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r3, _080A6A04 @ =sub_804E990 + lsrs r2, r3, 16 + strh r2, [r1, 0x18] + strh r3, [r1, 0x1A] + bl sub_80A5AAC + pop {r0} + bx r0 + .align 2, 0 +_080A6A00: .4byte gTasks +_080A6A04: .4byte sub_804E990 + thumb_func_end sub_80A69E0 + + thumb_func_start sub_80A6A08 +sub_80A6A08: @ 80A6A08 + push {lr} + bl sub_80A34B4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A6A22 + ldr r0, _080A6A28 @ =sub_80A50C8 + movs r1, 0 + bl CreateTask + ldr r1, _080A6A2C @ =gUnknown_02038563 + strb r0, [r1] +_080A6A22: + pop {r0} + bx r0 + .align 2, 0 +_080A6A28: .4byte sub_80A50C8 +_080A6A2C: .4byte gUnknown_02038563 + thumb_func_end sub_80A6A08 + + thumb_func_start sub_80A6A30 +sub_80A6A30: @ 80A6A30 + push {lr} + ldr r0, _080A6A44 @ =gUnknown_03000701 + movs r1, 0x6 + strb r1, [r0] + ldr r0, _080A6A48 @ =sub_80A6A08 + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_080A6A44: .4byte gUnknown_03000701 +_080A6A48: .4byte sub_80A6A08 + thumb_func_end sub_80A6A30 + + thumb_func_start sub_80A6A4C +sub_80A6A4C: @ 80A6A4C + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A6A74 @ =gUnknown_0300485C + ldr r1, _080A6A78 @ =sub_813A0F8 + str r1, [r2] + ldr r2, _080A6A7C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r3, _080A6A80 @ =c2_exit_to_overworld_2_switch + lsrs r2, r3, 16 + strh r2, [r1, 0x18] + strh r3, [r1, 0x1A] + bl sub_80A5AE4 + pop {r0} + bx r0 + .align 2, 0 +_080A6A74: .4byte gUnknown_0300485C +_080A6A78: .4byte sub_813A0F8 +_080A6A7C: .4byte gTasks +_080A6A80: .4byte c2_exit_to_overworld_2_switch + thumb_func_end sub_80A6A4C + + thumb_func_start sub_80A6A84 +sub_80A6A84: @ 80A6A84 + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + ldr r6, _080A6AE8 @ =gTasks + 0x8 + adds r0, r4, r6 + mov r8, r0 + ldr r0, _080A6AEC @ =gBG1TilemapBuffer + bl sub_80A4DA4 + ldr r0, _080A6AF0 @ =word_203855E + ldrh r0, [r0] + ldr r1, _080A6AF4 @ =gStringVar1 + bl CopyItemName + ldr r0, _080A6AF8 @ =gStringVar2 + mov r2, r8 + movs r3, 0x2 + ldrsh r1, [r2, r3] + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + movs r0, 0x7 + movs r1, 0x6 + movs r2, 0xB + movs r3, 0xD + bl MenuZeroFillWindowRect + movs r0, 0x7 + bl sub_80A7528 + adds r0, r5, 0 + bl sub_80A3D5C + subs r6, 0x8 + adds r4, r6 + ldr r0, _080A6AFC @ =sub_80A5E1C + str r0, [r4] + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A6AE8: .4byte gTasks + 0x8 +_080A6AEC: .4byte gBG1TilemapBuffer +_080A6AF0: .4byte word_203855E +_080A6AF4: .4byte gStringVar1 +_080A6AF8: .4byte gStringVar2 +_080A6AFC: .4byte sub_80A5E1C + thumb_func_end sub_80A6A84 + + thumb_func_start sub_80A6B00 +sub_80A6B00: @ 80A6B00 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080A6B54 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080A6B1A + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080A6B4C +_080A6B1A: + ldr r1, _080A6B58 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0x1C] + ldr r1, _080A6B5C @ =gUnknown_03005D10 + ldr r0, _080A6B60 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r2, [r0] + adds r0, r4, 0 + adds r1, r2, 0 + bl sub_80A48E8 + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl sub_80A5D38 +_080A6B4C: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A6B54: .4byte gMain +_080A6B58: .4byte gTasks +_080A6B5C: .4byte gUnknown_03005D10 +_080A6B60: .4byte gUnknown_02038559 + thumb_func_end sub_80A6B00 + + thumb_func_start sub_80A6B64 +sub_80A6B64: @ 80A6B64 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r5, r0, 3 + ldr r6, _080A6B9C @ =gTasks + 0x8 + adds r7, r5, r6 + ldr r0, _080A6BA0 @ =word_203855E + mov r8, r0 + ldrh r0, [r0] + bl ItemId_GetImportance + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bne _080A6BA8 + adds r0, r6, 0 + subs r0, 0x8 + adds r0, r5, r0 + ldr r1, _080A6BA4 @ =sub_80A6B00 + str r1, [r0] + movs r0, 0x9 + bl sub_80A7528 + b _080A6BD2 + .align 2, 0 +_080A6B9C: .4byte gTasks + 0x8 +_080A6BA0: .4byte word_203855E +_080A6BA4: .4byte sub_80A6B00 +_080A6BA8: + mov r1, r8 + ldrh r0, [r1] + ldrh r1, [r7, 0x2] + bl AddPCItem + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A6BC2 + adds r0, r4, 0 + bl sub_80A6A84 + b _080A6BD2 +_080A6BC2: + adds r0, r6, 0 + subs r0, 0x8 + adds r0, r5, r0 + ldr r1, _080A6BDC @ =sub_80A6B00 + str r1, [r0] + movs r0, 0x8 + bl sub_80A7528 +_080A6BD2: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A6BDC: .4byte sub_80A6B00 + thumb_func_end sub_80A6B64 + + thumb_func_start sub_80A6BE0 +sub_80A6BE0: @ 80A6BE0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + adds r0, r4, 0 + bl sub_80A5350 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080A6C58 + ldr r0, _080A6C18 @ =gMain + ldrh r1, [r0, 0x2E] + movs r2, 0x1 + ands r2, r1 + cmp r2, 0 + beq _080A6C20 + movs r0, 0x5 + bl PlaySE + ldr r0, _080A6C1C @ =gBG1TilemapBuffer + bl sub_80A4DA4 + adds r0, r4, 0 + bl sub_80A6B64 + b _080A6C58 + .align 2, 0 +_080A6C18: .4byte gMain +_080A6C1C: .4byte gBG1TilemapBuffer +_080A6C20: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080A6C58 + ldr r1, _080A6C60 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + strh r2, [r0, 0x1C] + ldr r1, _080A6C64 @ =gUnknown_03005D10 + ldr r0, _080A6C68 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r2, [r0] + adds r0, r5, 0 + adds r1, r2, 0 + bl sub_80A48E8 + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + bl sub_80A5D38 +_080A6C58: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A6C60: .4byte gTasks +_080A6C64: .4byte gUnknown_03005D10 +_080A6C68: .4byte gUnknown_02038559 + thumb_func_end sub_80A6BE0 + + thumb_func_start sub_80A6C6C +sub_80A6C6C: @ 80A6C6C + push {r4-r6,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _080A6CE4 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r5, r0, r1 + ldr r2, _080A6CE8 @ =gUnknown_03005D10 + ldr r6, _080A6CEC @ =gUnknown_02038559 + movs r0, 0 + ldrsb r0, [r6, r0] + lsls r0, 2 + adds r0, r2 + ldrb r1, [r0, 0x1] + ldrb r0, [r0] + adds r1, r0 + adds r1, 0x1 + strh r1, [r5, 0x1C] + movs r0, 0 + ldrsb r0, [r6, r0] + lsls r0, 2 + adds r0, r2 + ldrb r2, [r0] + adds r0, r4, 0 + adds r1, r2, 0 + bl sub_80A48E8 + bl sub_80A73FC + movs r0, 0x5 + bl PlaySE + bl sub_80A7590 + movs r0, 0 + ldrsb r0, [r6, r0] + cmp r0, 0x4 + beq _080A6D0A + ldr r0, _080A6CF0 @ =sub_80A6BE0 + str r0, [r5] + movs r0, 0x6 + bl sub_80A7528 + movs r0, 0 + ldrsb r0, [r6, r0] + cmp r0, 0x3 + bne _080A6CF4 + movs r0, 0x3 + str r0, [sp] + str r0, [sp, 0x4] + adds r0, r4, 0 + movs r1, 0x6 + movs r2, 0x9 + movs r3, 0x7 + bl sub_80A4DD8 + b _080A6D14 + .align 2, 0 +_080A6CE4: .4byte gTasks +_080A6CE8: .4byte gUnknown_03005D10 +_080A6CEC: .4byte gUnknown_02038559 +_080A6CF0: .4byte sub_80A6BE0 +_080A6CF4: + movs r0, 0x3 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + adds r0, r4, 0 + movs r1, 0x7 + movs r2, 0x9 + movs r3, 0x6 + bl sub_80A4DD8 + b _080A6D14 +_080A6D0A: + movs r0, 0x1 + strh r0, [r5, 0xA] + adds r0, r4, 0 + bl sub_80A6B64 +_080A6D14: + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80A6C6C + + thumb_func_start sub_80A6D1C +sub_80A6D1C: @ 80A6D1C + push {r4,r5,lr} + bl HideMapNamePopUpWindow + ldr r0, _080A6D70 @ =gSaveBlock1 + ldr r1, _080A6D74 @ =0x00000496 + adds r4, r0, r1 + ldrh r0, [r4] + cmp r0, 0 + beq _080A6D84 + movs r1, 0x1 + bl CheckBagHasItem + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x1 + bne _080A6D80 + bl ScriptContext2_Enable + bl player_bitmagic + bl sub_80594C0 + bl sub_80597F4 + ldr r1, _080A6D78 @ =word_203855E + ldrh r0, [r4] + strh r0, [r1] + ldrh r0, [r4] + bl ItemId_GetFieldFunc + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A6D7C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r5, [r1, 0xC] + b _080A6D8A + .align 2, 0 +_080A6D70: .4byte gSaveBlock1 +_080A6D74: .4byte 0x00000496 +_080A6D78: .4byte word_203855E +_080A6D7C: .4byte gTasks +_080A6D80: + movs r0, 0 + strh r0, [r4] +_080A6D84: + ldr r0, _080A6D94 @ =Event_NoRegisteredItem + bl ScriptContext1_SetupScript +_080A6D8A: + movs r0, 0x1 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_080A6D94: .4byte Event_NoRegisteredItem + thumb_func_end sub_80A6D1C + + thumb_func_start sub_80A6D98 +sub_80A6D98: @ 80A6D98 + push {lr} +_080A6D9A: + bl sub_80A317C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A6DBC + ldr r0, _080A6DB4 @ =sub_80A50C8 + movs r1, 0 + bl CreateTask + ldr r1, _080A6DB8 @ =gUnknown_02038563 + strb r0, [r1] + b _080A6DC8 + .align 2, 0 +_080A6DB4: .4byte sub_80A50C8 +_080A6DB8: .4byte gUnknown_02038563 +_080A6DBC: + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A6D9A +_080A6DC8: + pop {r0} + bx r0 + thumb_func_end sub_80A6D98 + + thumb_func_start sub_80A6DCC +sub_80A6DCC: @ 80A6DCC + push {lr} + ldr r1, _080A6DE4 @ =gUnknown_03000700 + movs r0, 0 + strb r0, [r1] + ldr r1, _080A6DE8 @ =gUnknown_03000701 + movs r0, 0x1 + strb r0, [r1] + ldr r0, _080A6DEC @ =sub_80A6D98 + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_080A6DE4: .4byte gUnknown_03000700 +_080A6DE8: .4byte gUnknown_03000701 +_080A6DEC: .4byte sub_80A6D98 + thumb_func_end sub_80A6DCC + + thumb_func_start sub_80A6DF0 +sub_80A6DF0: @ 80A6DF0 + push {r4-r6,lr} + sub sp, 0x8 + adds r5, r0, 0 + ldr r4, _080A6E4C @ =gUnknown_02038564 + ldrb r0, [r4] + subs r0, 0x1 + lsls r0, 25 + lsrs r6, r0, 24 + movs r1, 0x9 + subs r1, r6 + lsls r1, 24 + lsrs r1, 24 + movs r0, 0x7 + movs r2, 0xD + movs r3, 0xC + bl MenuDrawTextWindow + movs r2, 0xA + subs r2, r6 + lsls r2, 24 + lsrs r2, 24 + adds r0, r6, 0x2 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0x8 + movs r3, 0x5 + bl sub_80A4008 + ldrb r0, [r4] + cmp r0, 0x1 + bne _080A6E58 + ldr r1, _080A6E50 @ =gUnknown_083C1640 + ldr r0, _080A6E54 @ =gUnknown_03000704 + ldr r0, [r0] + ldrb r0, [r0] + lsls r0, 3 + adds r0, r1 + ldr r0, [r0] + movs r1, 0x8 + movs r2, 0xA + bl MenuPrint + b _080A6E80 + .align 2, 0 +_080A6E4C: .4byte gUnknown_02038564 +_080A6E50: .4byte gUnknown_083C1640 +_080A6E54: .4byte gUnknown_03000704 +_080A6E58: + ldr r5, _080A6EAC @ =gUnknown_083C1640 + ldr r4, _080A6EB0 @ =gUnknown_03000704 + ldr r0, [r4] + ldrb r0, [r0] + lsls r0, 3 + adds r0, r5 + ldr r0, [r0] + movs r1, 0x8 + movs r2, 0x8 + bl MenuPrint + ldr r0, [r4] + ldrb r0, [r0, 0x1] + lsls r0, 3 + adds r0, r5 + ldr r0, [r0] + movs r1, 0x8 + movs r2, 0xA + bl MenuPrint +_080A6E80: + movs r2, 0xA + subs r2, r6 + lsls r2, 24 + lsrs r2, 24 + ldr r0, _080A6EB4 @ =gUnknown_02038564 + ldrb r3, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x5 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x8 + bl InitMenu + movs r0, 0x2 + bl sub_80A7528 + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A6EAC: .4byte gUnknown_083C1640 +_080A6EB0: .4byte gUnknown_03000704 +_080A6EB4: .4byte gUnknown_02038564 + thumb_func_end sub_80A6DF0 + + thumb_func_start sub_80A6EB8 +sub_80A6EB8: @ 80A6EB8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + ldr r2, _080A6EE0 @ =gMain + ldrh r0, [r2, 0x30] + movs r1, 0xF0 + ands r1, r0 + cmp r1, 0x40 + bne _080A6EE8 + ldr r4, _080A6EE4 @ =gUnknown_03000700 + ldrb r0, [r4] + cmp r0, 0x1 + bne _080A6FC0 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + negs r0, r0 + b _080A6F02 + .align 2, 0 +_080A6EE0: .4byte gMain +_080A6EE4: .4byte gUnknown_03000700 +_080A6EE8: + cmp r1, 0x80 + bne _080A6F14 + ldr r4, _080A6F0C @ =gUnknown_03000700 + ldrb r0, [r4] + adds r0, 0x1 + ldr r1, _080A6F10 @ =gUnknown_02038564 + ldrb r1, [r1] + cmp r0, r1 + bge _080A6FC0 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 +_080A6F02: + bl MoveMenuCursor + strb r0, [r4] + b _080A6FC0 + .align 2, 0 +_080A6F0C: .4byte gUnknown_03000700 +_080A6F10: .4byte gUnknown_02038564 +_080A6F14: + ldrh r1, [r2, 0x2E] + movs r2, 0x1 + ands r2, r1 + cmp r2, 0 + beq _080A6F84 + ldr r1, _080A6F68 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0x1C] + ldr r1, _080A6F6C @ =gUnknown_03005D10 + ldr r0, _080A6F70 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r2, [r0] + adds r0, r4, 0 + adds r1, r2, 0 + bl sub_80A48E8 + ldr r0, _080A6F74 @ =gBG1TilemapBuffer + bl sub_80A4DA4 + ldr r1, _080A6F78 @ =gUnknown_083C1640 + ldr r0, _080A6F7C @ =gUnknown_03000700 + ldrb r2, [r0] + ldr r0, _080A6F80 @ =gUnknown_03000704 + ldr r0, [r0] + adds r0, r2 + ldrb r0, [r0] + lsls r0, 3 + adds r1, 0x4 + adds r0, r1 + ldr r1, [r0] + adds r0, r4, 0 + bl _call_via_r1 + b _080A6FC0 + .align 2, 0 +_080A6F68: .4byte gTasks +_080A6F6C: .4byte gUnknown_03005D10 +_080A6F70: .4byte gUnknown_02038559 +_080A6F74: .4byte gBG1TilemapBuffer +_080A6F78: .4byte gUnknown_083C1640 +_080A6F7C: .4byte gUnknown_03000700 +_080A6F80: .4byte gUnknown_03000704 +_080A6F84: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080A6FC0 + ldr r1, _080A6FC8 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + strh r2, [r0, 0x1C] + ldr r1, _080A6FCC @ =gUnknown_03005D10 + ldr r0, _080A6FD0 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r2, [r0] + adds r0, r5, 0 + adds r1, r2, 0 + bl sub_80A48E8 + ldr r0, _080A6FD4 @ =gBG1TilemapBuffer + bl sub_80A4DA4 + ldr r0, _080A6FD8 @ =gUnknown_083C1640 + ldr r1, [r0, 0x2C] + adds r0, r5, 0 + bl _call_via_r1 +_080A6FC0: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A6FC8: .4byte gTasks +_080A6FCC: .4byte gUnknown_03005D10 +_080A6FD0: .4byte gUnknown_02038559 +_080A6FD4: .4byte gBG1TilemapBuffer +_080A6FD8: .4byte gUnknown_083C1640 + thumb_func_end sub_80A6EB8 + + thumb_func_start sub_80A6FDC +sub_80A6FDC: @ 80A6FDC + push {lr} + ldr r0, _080A6FF8 @ =word_203855E + ldrh r0, [r0] + bl ItemId_GetBattleUsage + lsls r0, 24 + cmp r0, 0 + beq _080A7008 + ldr r1, _080A6FFC @ =gUnknown_03000704 + ldr r0, _080A7000 @ =gUnknown_083C1708 + str r0, [r1] + ldr r1, _080A7004 @ =gUnknown_02038564 + movs r0, 0x2 + b _080A7012 + .align 2, 0 +_080A6FF8: .4byte word_203855E +_080A6FFC: .4byte gUnknown_03000704 +_080A7000: .4byte gUnknown_083C1708 +_080A7004: .4byte gUnknown_02038564 +_080A7008: + ldr r1, _080A7018 @ =gUnknown_03000704 + ldr r0, _080A701C @ =gUnknown_083C170A + str r0, [r1] + ldr r1, _080A7020 @ =gUnknown_02038564 + movs r0, 0x1 +_080A7012: + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_080A7018: .4byte gUnknown_03000704 +_080A701C: .4byte gUnknown_083C170A +_080A7020: .4byte gUnknown_02038564 + thumb_func_end sub_80A6FDC + + thumb_func_start sub_80A7024 +sub_80A7024: @ 80A7024 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r1, _080A707C @ =gUnknown_03000700 + movs r0, 0 + strb r0, [r1] + bl sub_80A6FDC + ldr r0, _080A7080 @ =gTasks + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + adds r4, r0 + ldr r3, _080A7084 @ =gUnknown_03005D10 + ldr r2, _080A7088 @ =gUnknown_02038559 + movs r0, 0 + ldrsb r0, [r2, r0] + lsls r0, 2 + adds r0, r3 + ldrb r1, [r0, 0x1] + ldrb r0, [r0] + adds r1, r0 + adds r1, 0x1 + strh r1, [r4, 0x1C] + movs r0, 0 + ldrsb r0, [r2, r0] + lsls r0, 2 + adds r0, r3 + ldrb r2, [r0] + adds r0, r5, 0 + adds r1, r2, 0 + bl sub_80A48E8 + bl sub_80A73FC + ldr r0, _080A708C @ =gBG1TilemapBuffer + bl sub_80A6DF0 + ldr r0, _080A7090 @ =sub_80A6EB8 + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A707C: .4byte gUnknown_03000700 +_080A7080: .4byte gTasks +_080A7084: .4byte gUnknown_03005D10 +_080A7088: .4byte gUnknown_02038559 +_080A708C: .4byte gBG1TilemapBuffer +_080A7090: .4byte sub_80A6EB8 + thumb_func_end sub_80A7024 + + thumb_func_start sub_80A7094 +sub_80A7094: @ 80A7094 + push {lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A70CC @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r2, _080A70D0 @ =sub_802E424 + lsrs r0, r2, 16 + movs r3, 0 + strh r0, [r1, 0x18] + strh r2, [r1, 0x1A] + ldr r0, _080A70D4 @ =sub_80A5B00 + str r0, [r1] + movs r0, 0x1 + negs r0, r0 + str r3, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_080A70CC: .4byte gTasks +_080A70D0: .4byte sub_802E424 +_080A70D4: .4byte sub_80A5B00 + thumb_func_end sub_80A7094 + + thumb_func_start sub_80A70D8 +sub_80A70D8: @ 80A70D8 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl sub_80A7094 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A70D8 + + thumb_func_start ItemMenu_UseInBattle +ItemMenu_UseInBattle: @ 80A70F4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r4, _080A7120 @ =word_203855E + ldrh r0, [r4] + bl ItemId_GetBattleFunc + cmp r0, 0 + beq _080A711A + movs r0, 0x5 + bl PlaySE + ldrh r0, [r4] + bl ItemId_GetBattleFunc + adds r1, r0, 0 + adds r0, r5, 0 + bl _call_via_r1 +_080A711A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A7120: .4byte word_203855E + thumb_func_end ItemMenu_UseInBattle + + thumb_func_start sub_80A7124 +sub_80A7124: @ 80A7124 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_80A7528 + adds r0, r4, 0 + bl sub_80A41D4 + bl ItemListMenu_InitMenu + adds r0, r4, 0 + bl sub_80A37C0 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A7124 + + thumb_func_start sub_80A7150 +sub_80A7150: @ 80A7150 + push {r4,r5,lr} + ldr r4, _080A7158 @ =gUnknown_02038563 + ldr r5, _080A715C @ =gTasks + b _080A716C + .align 2, 0 +_080A7158: .4byte gUnknown_02038563 +_080A715C: .4byte gTasks +_080A7160: + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080A7190 +_080A716C: + bl sub_80A317C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A7160 + ldr r0, _080A7198 @ =sub_80A7230 + movs r1, 0 + bl CreateTask + strb r0, [r4] + ldrb r1, [r4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r5 + movs r1, 0 + strh r1, [r0, 0x26] +_080A7190: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A7198: .4byte sub_80A7230 + thumb_func_end sub_80A7150 + + thumb_func_start PrepareBagForWallyTutorial +PrepareBagForWallyTutorial: @ 80A719C + push {r4,r5,lr} + ldr r0, _080A7214 @ =gUnknown_03000700 + movs r1, 0 + strb r1, [r0] + ldr r0, _080A7218 @ =gUnknown_02038559 + strb r1, [r0] + movs r1, 0 + ldr r4, _080A721C @ =0x0201e000 + ldr r5, _080A7220 @ =gSaveBlock1 + 0x560 + ldr r3, _080A7224 @ =gUnknown_03005D10 + movs r2, 0 +_080A71B2: + lsls r0, r1, 2 + adds r0, r3 + strb r2, [r0] + strb r2, [r0, 0x1] + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x4 + bls _080A71B2 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x50 + bl memcpy + movs r1, 0x80 + lsls r1, 5 + adds r0, r4, r1 + adds r4, r5, 0 + adds r4, 0xA0 + adds r1, r4, 0 + movs r2, 0x40 + bl memcpy + adds r0, r5, 0 + movs r1, 0x14 + bl ClearItemSlots + adds r0, r4, 0 + movs r1, 0x10 + bl ClearItemSlots + movs r0, 0xD + movs r1, 0x1 + bl AddBagItem + movs r0, 0x4 + movs r1, 0x1 + bl AddBagItem + ldr r1, _080A7228 @ =gUnknown_03000701 + movs r0, 0x7 + strb r0, [r1] + ldr r0, _080A722C @ =sub_80A7150 + bl SetMainCallback2 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A7214: .4byte gUnknown_03000700 +_080A7218: .4byte gUnknown_02038559 +_080A721C: .4byte 0x0201e000 +_080A7220: .4byte gSaveBlock1 + 0x560 +_080A7224: .4byte gUnknown_03005D10 +_080A7228: .4byte gUnknown_03000701 +_080A722C: .4byte sub_80A7150 + thumb_func_end PrepareBagForWallyTutorial + + thumb_func_start sub_80A7230 +sub_80A7230: @ 80A7230 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r6, r0, 3 + ldr r0, _080A725C @ =gTasks + 0x8 + mov r8, r0 + adds r7, r6, r0 + movs r0, 0x1E + ldrsh r1, [r7, r0] + cmp r1, 0xCC + beq _080A727A + cmp r1, 0xCC + bgt _080A7260 + cmp r1, 0x66 + beq _080A726A + b _080A7358 + .align 2, 0 +_080A725C: .4byte gTasks + 0x8 +_080A7260: + movs r0, 0x99 + lsls r0, 1 + cmp r1, r0 + beq _080A72F4 + b _080A7358 +_080A726A: + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + movs r1, 0x2 + bl sub_80A4E8C + b _080A7358 +_080A727A: + movs r0, 0x5 + bl PlaySE + movs r0, 0x2 + bl sub_80F98A4 + movs r0, 0x3 + bl sub_80F98A4 + ldr r1, _080A72D8 @ =word_203855E + movs r0, 0x4 + strh r0, [r1] + ldr r1, _080A72DC @ =gUnknown_03000704 + ldr r0, _080A72E0 @ =gUnknown_083C1708 + str r0, [r1] + ldr r1, _080A72E4 @ =gUnknown_02038564 + movs r0, 0x2 + strb r0, [r1] + mov r0, r8 + adds r4, r0, r6 + ldr r3, _080A72E8 @ =gUnknown_03005D10 + ldr r2, _080A72EC @ =gUnknown_02038559 + movs r0, 0 + ldrsb r0, [r2, r0] + lsls r0, 2 + adds r0, r3 + ldrb r1, [r0, 0x1] + ldrb r0, [r0] + adds r1, r0 + adds r1, 0x1 + strh r1, [r4, 0x14] + movs r0, 0 + ldrsb r0, [r2, r0] + lsls r0, 2 + adds r0, r3 + ldrb r2, [r0] + adds r0, r5, 0 + adds r1, r2, 0 + bl sub_80A48E8 + bl sub_80A73FC + ldr r0, _080A72F0 @ =gBG1TilemapBuffer + bl sub_80A6DF0 + b _080A7358 + .align 2, 0 +_080A72D8: .4byte word_203855E +_080A72DC: .4byte gUnknown_03000704 +_080A72E0: .4byte gUnknown_083C1708 +_080A72E4: .4byte gUnknown_02038564 +_080A72E8: .4byte gUnknown_03005D10 +_080A72EC: .4byte gUnknown_02038559 +_080A72F0: .4byte gBG1TilemapBuffer +_080A72F4: + movs r0, 0x5 + bl PlaySE + ldr r0, _080A7344 @ =gBG1TilemapBuffer + bl sub_80A4DA4 + ldr r4, _080A7348 @ =gSaveBlock1 + 0x560 + ldr r5, _080A734C @ =0x0201e000 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x50 + bl memcpy + adds r4, 0xA0 + movs r0, 0x80 + lsls r0, 5 + adds r5, r0 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x40 + bl memcpy + ldr r1, _080A7350 @ =sub_802E424 + lsrs r0, r1, 16 + strh r0, [r7, 0x10] + strh r1, [r7, 0x12] + mov r0, r8 + subs r0, 0x8 + adds r0, r6, r0 + ldr r1, _080A7354 @ =sub_80A5B00 + str r1, [r0] + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + b _080A735E + .align 2, 0 +_080A7344: .4byte gBG1TilemapBuffer +_080A7348: .4byte gSaveBlock1 + 0x560 +_080A734C: .4byte 0x0201e000 +_080A7350: .4byte sub_802E424 +_080A7354: .4byte sub_80A5B00 +_080A7358: + ldrh r0, [r7, 0x1E] + adds r0, 0x1 + strh r0, [r7, 0x1E] +_080A735E: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A7230 + + thumb_func_start ItemListMenu_InitMenu +ItemListMenu_InitMenu: @ 80A736C + push {lr} + sub sp, 0x8 + ldr r1, _080A73B0 @ =gUnknown_03005D10 + ldr r0, _080A73B4 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r3, [r0, 0x3] + adds r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + ldrb r0, [r0] + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + movs r1, 0xE + movs r2, 0x2 + bl InitMenu + ldr r1, _080A73B8 @ =0x0000ffff + ldr r3, _080A73BC @ =0x00002d9f + movs r0, 0xF + str r0, [sp] + movs r0, 0x10 + movs r2, 0xC + bl CreateBlendedOutlineCursor + bl sub_80A73C0 + add sp, 0x8 + pop {r0} + bx r0 + .align 2, 0 +_080A73B0: .4byte gUnknown_03005D10 +_080A73B4: .4byte gUnknown_02038559 +_080A73B8: .4byte 0x0000ffff +_080A73BC: .4byte 0x00002d9f + thumb_func_end ItemListMenu_InitMenu + + thumb_func_start sub_80A73C0 +sub_80A73C0: @ 80A73C0 + push {lr} + ldr r1, _080A73E8 @ =gUnknown_03005D10 + ldr r0, _080A73EC @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0] + lsls r1, 28 + movs r0, 0x80 + lsls r0, 21 + adds r1, r0 + lsrs r1, 24 + movs r0, 0x70 + bl sub_814AD7C + pop {r0} + bx r0 + .align 2, 0 +_080A73E8: .4byte gUnknown_03005D10 +_080A73EC: .4byte gUnknown_02038559 + thumb_func_end sub_80A73C0 + + thumb_func_start sub_80A73F0 +sub_80A73F0: @ 80A73F0 + push {lr} + bl sub_814ADC8 + pop {r0} + bx r0 + thumb_func_end sub_80A73F0 + + thumb_func_start sub_80A73FC +sub_80A73FC: @ 80A73FC + push {lr} + bl sub_8072DEC + bl sub_814AD44 + pop {r0} + bx r0 + thumb_func_end sub_80A73FC + + thumb_func_start sub_80A740C +sub_80A740C: @ 80A740C + push {lr} + bl sub_80A75E4 + bl sub_80A7768 + bl sub_80A7420 + pop {r0} + bx r0 + thumb_func_end sub_80A740C + + thumb_func_start sub_80A7420 +sub_80A7420: @ 80A7420 + push {r4,lr} + ldr r4, _080A7438 @ =gUnknown_0203853C + ldrb r0, [r4] + cmp r0, 0x2 + beq _080A743C + cmp r0, 0x3 + beq _080A7430 + b _080A7512 +_080A7430: + movs r0, 0x2 + strb r0, [r4] + b _080A7512 + .align 2, 0 +_080A7438: .4byte gUnknown_0203853C +_080A743C: + ldrb r0, [r4, 0x2] + cmp r0, 0x9 + bhi _080A74FC + lsls r0, 2 + ldr r1, _080A744C @ =_080A7450 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080A744C: .4byte _080A7450 + .align 2, 0 +_080A7450: + .4byte _080A7478 + .4byte _080A74AC + .4byte _080A74B4 + .4byte _080A74BC + .4byte _080A74C4 + .4byte _080A74CC + .4byte _080A74D4 + .4byte _080A74DC + .4byte _080A74E4 + .4byte _080A74F4 +_080A7478: + ldr r1, _080A74A0 @ =gUnknown_03005D10 + ldr r0, _080A74A4 @ =gUnknown_02038559 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x1] + ldrb r0, [r0] + adds r1, r0 + ldr r0, _080A74A8 @ =gUnknown_03005D24 + ldr r0, [r0] + lsls r1, 2 + adds r1, r0 + movs r2, 0 + ldrsh r0, [r1, r2] + ldrb r1, [r4, 0x1] + bl ItemListMenu_ChangeDescription + b _080A74FC + .align 2, 0 +_080A74A0: .4byte gUnknown_03005D10 +_080A74A4: .4byte gUnknown_02038559 +_080A74A8: .4byte gUnknown_03005D24 +_080A74AC: + ldr r0, _080A74B0 @ =gOtherText_SwitchWhichItem + b _080A74E6 + .align 2, 0 +_080A74B0: .4byte gOtherText_SwitchWhichItem +_080A74B4: + ldr r0, _080A74B8 @ =gOtherText_WhatWillYouDo2 + b _080A74E6 + .align 2, 0 +_080A74B8: .4byte gOtherText_WhatWillYouDo2 +_080A74BC: + ldr r0, _080A74C0 @ =gOtherText_HowManyToToss + b _080A74E6 + .align 2, 0 +_080A74C0: .4byte gOtherText_HowManyToToss +_080A74C4: + ldr r0, _080A74C8 @ =gOtherText_ThrewAwayItem + b _080A74E6 + .align 2, 0 +_080A74C8: .4byte gOtherText_ThrewAwayItem +_080A74CC: + ldr r0, _080A74D0 @ =gOtherText_OkayToThrowAwayPrompt + b _080A74E6 + .align 2, 0 +_080A74D0: .4byte gOtherText_OkayToThrowAwayPrompt +_080A74D4: + ldr r0, _080A74D8 @ =gOtherText_HowManyToDeposit + b _080A74E6 + .align 2, 0 +_080A74D8: .4byte gOtherText_HowManyToDeposit +_080A74DC: + ldr r0, _080A74E0 @ =gOtherText_DepositedItems + b _080A74E6 + .align 2, 0 +_080A74E0: .4byte gOtherText_DepositedItems +_080A74E4: + ldr r0, _080A74F0 @ =gOtherText_NoRoomForItems +_080A74E6: + ldrb r1, [r4, 0x1] + bl sub_80A4A98 + b _080A74FC + .align 2, 0 +_080A74F0: .4byte gOtherText_NoRoomForItems +_080A74F4: + ldr r0, _080A7518 @ =gOtherText_CantStoreSomeoneItem + ldrb r1, [r4, 0x1] + bl sub_80A4A98 +_080A74FC: + ldrb r0, [r4, 0x1] + adds r0, 0x1 + strb r0, [r4, 0x1] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + bne _080A7512 + movs r0, 0 + strb r0, [r4] + bl sub_80A7918 +_080A7512: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A7518: .4byte gOtherText_CantStoreSomeoneItem + thumb_func_end sub_80A7420 + + thumb_func_start sub_80A751C +sub_80A751C: @ 80A751C + ldr r1, _080A7524 @ =gUnknown_0203853C + movs r0, 0 + strb r0, [r1] + bx lr + .align 2, 0 +_080A7524: .4byte gUnknown_0203853C + thumb_func_end sub_80A751C + + thumb_func_start sub_80A7528 +sub_80A7528: @ 80A7528 + push {r4,lr} + ldr r4, _080A7544 @ =gUnknown_0203853C + movs r1, 0 + strb r1, [r4, 0x1] + strb r0, [r4, 0x2] + bl sub_80A78F4 + cmp r0, 0x1 + beq _080A755E + cmp r0, 0x1 + bgt _080A7548 + cmp r0, 0 + beq _080A754E + b _080A7566 + .align 2, 0 +_080A7544: .4byte gUnknown_0203853C +_080A7548: + cmp r0, 0x2 + beq _080A7562 + b _080A7566 +_080A754E: + movs r0, 0x2 + strb r0, [r4] +_080A7552: + bl sub_80A7420 + ldrb r0, [r4] + cmp r0, 0 + bne _080A7552 + b _080A7566 +_080A755E: + movs r0, 0x3 + b _080A7564 +_080A7562: + movs r0, 0x1 +_080A7564: + strb r0, [r4] +_080A7566: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A7528 + + thumb_func_start sub_80A756C +sub_80A756C: @ 80A756C + push {r4,lr} + ldr r4, _080A758C @ =gUnknown_0203853C + ldrb r0, [r4] + subs r0, 0x2 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bhi _080A7580 + bl sub_80A7918 +_080A7580: + movs r0, 0 + strb r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A758C: .4byte gUnknown_0203853C + thumb_func_end sub_80A756C + + thumb_func_start sub_80A7590 +sub_80A7590: @ 80A7590 + push {lr} + movs r0, 0 + movs r1, 0xD + movs r2, 0xD + movs r3, 0x14 + bl MenuZeroFillWindowRect + bl sub_80A756C + pop {r0} + bx r0 + thumb_func_end sub_80A7590 + + thumb_func_start sub_80A75A8 +sub_80A75A8: @ 80A75A8 + push {lr} + ldr r1, _080A75C0 @ =gUnknown_0203853C + ldrb r0, [r1] + subs r0, 0x2 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bhi _080A75BC + movs r0, 0x1 + strb r0, [r1] +_080A75BC: + pop {r0} + bx r0 + .align 2, 0 +_080A75C0: .4byte gUnknown_0203853C + thumb_func_end sub_80A75A8 + + thumb_func_start sub_80A75C4 +sub_80A75C4: @ 80A75C4 + push {lr} + ldr r1, _080A75D8 @ =gUnknown_0203853C + ldrb r0, [r1] + cmp r0, 0 + beq _080A75DC + cmp r0, 0x1 + bne _080A75E0 + movs r0, 0x3 + strb r0, [r1] + b _080A75E0 + .align 2, 0 +_080A75D8: .4byte gUnknown_0203853C +_080A75DC: + bl sub_80A7918 +_080A75E0: + pop {r0} + bx r0 + thumb_func_end sub_80A75C4 + + thumb_func_start sub_80A75E4 +sub_80A75E4: @ 80A75E4 + push {r4,r5,lr} + ldr r4, _080A7628 @ =gUnknown_02038540 + ldrb r0, [r4] + cmp r0, 0x1 + bne _080A7622 + bl sub_80A7988 + adds r5, r0, 0 + cmp r5, 0 + bne _080A7622 + ldr r0, _080A762C @ =gUnknown_02038563 + ldrb r0, [r0] + ldrb r2, [r4, 0x1] + adds r1, r2, 0 + movs r3, 0x1 + bl sub_80A47E8 + ldrb r0, [r4, 0x1] + adds r0, 0x1 + strb r0, [r4, 0x1] + ldrb r0, [r4, 0x2] + movs r1, 0x7 + cmp r0, 0 + beq _080A7616 + movs r1, 0x5 +_080A7616: + ldrb r0, [r4, 0x1] + cmp r1, r0 + bge _080A7622 + strb r5, [r4] + bl sub_80A78E8 +_080A7622: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A7628: .4byte gUnknown_02038540 +_080A762C: .4byte gUnknown_02038563 + thumb_func_end sub_80A75E4 + + thumb_func_start sub_80A7630 +sub_80A7630: @ 80A7630 + ldr r1, _080A7638 @ =gUnknown_02038540 + movs r0, 0 + strb r0, [r1] + bx lr + .align 2, 0 +_080A7638: .4byte gUnknown_02038540 + thumb_func_end sub_80A7630 + + thumb_func_start sub_80A763C +sub_80A763C: @ 80A763C + push {r4,lr} + ldr r4, _080A7650 @ =gUnknown_02038540 + bl sub_80A78C4 + adds r1, r0, 0 + cmp r1, 0 + beq _080A7654 + cmp r1, 0x1 + beq _080A7668 + b _080A7670 + .align 2, 0 +_080A7650: .4byte gUnknown_02038540 +_080A7654: + ldr r0, _080A7664 @ =gUnknown_02038563 + ldrb r0, [r0] + movs r1, 0 + movs r2, 0x7 + bl sub_80A48E8 + b _080A7670 + .align 2, 0 +_080A7664: .4byte gUnknown_02038563 +_080A7668: + movs r0, 0 + strb r1, [r4] + strb r0, [r4, 0x1] + strb r0, [r4, 0x2] +_080A7670: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A763C + + thumb_func_start sub_80A7678 +sub_80A7678: @ 80A7678 + push {r4,lr} + ldr r4, _080A7690 @ =gUnknown_02038540 + ldrb r0, [r4] + cmp r0, 0x1 + bne _080A7686 + bl sub_80A78E8 +_080A7686: + movs r0, 0 + strb r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A7690: .4byte gUnknown_02038540 + thumb_func_end sub_80A7678 + + thumb_func_start sub_80A7694 +sub_80A7694: @ 80A7694 + ldr r1, _080A769C @ =gUnknown_02038540 + movs r0, 0x1 + strb r0, [r1, 0x2] + bx lr + .align 2, 0 +_080A769C: .4byte gUnknown_02038540 + thumb_func_end sub_80A7694 + + thumb_func_start sub_80A76A0 +sub_80A76A0: @ 80A76A0 + push {lr} + movs r0, 0xE + movs r1, 0x2 + movs r2, 0x1D + movs r3, 0x12 + bl MenuZeroFillWindowRect + bl sub_80A7678 + pop {r0} + bx r0 + thumb_func_end sub_80A76A0 + + thumb_func_start sub_80A76B8 +sub_80A76B8: @ 80A76B8 + push {lr} + ldr r0, _080A76CC @ =gUnknown_02038540 + movs r1, 0 + ldrb r0, [r0] + cmp r0, 0 + bne _080A76C6 + movs r1, 0x1 +_080A76C6: + adds r0, r1, 0 + pop {r1} + bx r1 + .align 2, 0 +_080A76CC: .4byte gUnknown_02038540 + thumb_func_end sub_80A76B8 + + thumb_func_start sub_80A76D0 +sub_80A76D0: @ 80A76D0 + push {lr} + ldr r0, _080A76E4 @ =gUnknown_02038540 + movs r1, 0 + ldrb r0, [r0, 0x1] + cmp r0, 0x5 + bls _080A76DE + movs r1, 0x1 +_080A76DE: + adds r0, r1, 0 + pop {r1} + bx r1 + .align 2, 0 +_080A76E4: .4byte gUnknown_02038540 + thumb_func_end sub_80A76D0 + + thumb_func_start sub_80A76E8 +sub_80A76E8: @ 80A76E8 + push {r4,lr} + ldr r4, _080A7708 @ =gUnknown_02038544 + ldrb r0, [r4] + cmp r0, 0x1 + bne _080A7702 + ldrb r0, [r4, 0x1] + ldr r1, [r4, 0x4] + ldr r2, [r4, 0x8] + ldrh r3, [r4, 0x2] + bl DisplayItemMessageOnField + movs r0, 0 + strb r0, [r4] +_080A7702: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A7708: .4byte gUnknown_02038544 + thumb_func_end sub_80A76E8 + + thumb_func_start sub_80A770C +sub_80A770C: @ 80A770C + ldr r1, _080A7714 @ =gUnknown_02038544 + movs r0, 0 + strb r0, [r1] + bx lr + .align 2, 0 +_080A7714: .4byte gUnknown_02038544 + thumb_func_end sub_80A770C + + thumb_func_start DisplayCannotUseItemMessage +DisplayCannotUseItemMessage: @ 80A7718 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + adds r7, r1, 0 + mov r8, r2 + adds r6, r3, 0 + ldr r4, _080A7738 @ =gUnknown_02038544 + bl sub_80A7924 + cmp r0, 0 + beq _080A773C + cmp r0, 0x2 + beq _080A774E + b _080A775C + .align 2, 0 +_080A7738: .4byte gUnknown_02038544 +_080A773C: + lsls r0, r5, 24 + lsrs r0, 24 + lsls r3, r6, 16 + lsrs r3, 16 + adds r1, r7, 0 + mov r2, r8 + bl DisplayItemMessageOnField + b _080A775C +_080A774E: + movs r0, 0x1 + strb r0, [r4] + strb r5, [r4, 0x1] + str r7, [r4, 0x4] + mov r0, r8 + str r0, [r4, 0x8] + strh r6, [r4, 0x2] +_080A775C: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end DisplayCannotUseItemMessage + + thumb_func_start sub_80A7768 +sub_80A7768: @ 80A7768 + push {r4,lr} + ldr r4, _080A77A8 @ =gUnknown_02038550 + ldrb r0, [r4] + cmp r0, 0x2 + bne _080A7814 + ldrb r1, [r4, 0x1] + cmp r1, 0 + beq _080A780E + ldrb r0, [r4, 0x2] + cmp r0, 0x1 + beq _080A77B4 + ldr r2, _080A77AC @ =gUnknown_083C1640 + ldr r0, _080A77B0 @ =gUnknown_03000704 + ldr r0, [r0] + adds r0, r1, r0 + subs r0, 0x1 + ldrb r0, [r0] + lsls r0, 3 + adds r0, r2 + ldr r0, [r0] + subs r1, 0x1 + lsls r1, 1 + adds r1, 0x1 + ldrb r2, [r4, 0x3] + adds r2, r1 + lsls r2, 24 + lsrs r2, 24 + movs r1, 0x7 + bl MenuPrint + b _080A77FC + .align 2, 0 +_080A77A8: .4byte gUnknown_02038550 +_080A77AC: .4byte gUnknown_083C1640 +_080A77B0: .4byte gUnknown_03000704 +_080A77B4: + cmp r1, 0x1 + bne _080A77C8 + ldr r0, _080A77C4 @ =word_203855E + ldrh r0, [r0] + bl sub_80A4B90 + adds r3, r0, 0 + b _080A77DC + .align 2, 0 +_080A77C4: .4byte word_203855E +_080A77C8: + ldr r2, _080A781C @ =gUnknown_083C1640 + ldrb r0, [r4, 0x1] + ldr r1, _080A7820 @ =gUnknown_03000704 + ldr r1, [r1] + adds r0, r1 + subs r0, 0x1 + ldrb r0, [r0] + lsls r0, 3 + adds r0, r2 + ldr r3, [r0] +_080A77DC: + ldrb r2, [r4, 0x1] + subs r2, 0x1 + asrs r0, r2, 1 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 1 + adds r1, 0x1 + lsls r1, 24 + lsrs r1, 24 + movs r0, 0x1 + ands r2, r0 + lsls r2, 1 + adds r2, 0x8 + adds r0, r3, 0 + bl MenuPrint +_080A77FC: + ldr r1, _080A7824 @ =gUnknown_02038564 + ldrb r0, [r4, 0x1] + ldrb r1, [r1] + cmp r0, r1 + bne _080A780E + movs r0, 0 + strb r0, [r4] + bl sub_80A7970 +_080A780E: + ldrb r0, [r4, 0x1] + adds r0, 0x1 + strb r0, [r4, 0x1] +_080A7814: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A781C: .4byte gUnknown_083C1640 +_080A7820: .4byte gUnknown_03000704 +_080A7824: .4byte gUnknown_02038564 + thumb_func_end sub_80A7768 + + thumb_func_start sub_80A7828 +sub_80A7828: @ 80A7828 + ldr r1, _080A7830 @ =gUnknown_02038550 + movs r0, 0 + strb r0, [r1] + bx lr + .align 2, 0 +_080A7830: .4byte gUnknown_02038550 + thumb_func_end sub_80A7828 + + thumb_func_start sub_80A7834 +sub_80A7834: @ 80A7834 + push {r4-r6,lr} + adds r5, r0, 0 + adds r6, r1, 0 + ldr r4, _080A784C @ =gUnknown_02038550 + bl sub_80A7958 + cmp r0, 0x1 + beq _080A7850 + cmp r0, 0x2 + beq _080A7856 + b _080A7862 + .align 2, 0 +_080A784C: .4byte gUnknown_02038550 +_080A7850: + movs r1, 0 + movs r0, 0x2 + b _080A785A +_080A7856: + movs r1, 0 + movs r0, 0x1 +_080A785A: + strb r0, [r4] + strb r1, [r4, 0x1] + strb r5, [r4, 0x2] + strb r6, [r4, 0x3] +_080A7862: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80A7834 + + thumb_func_start sub_80A7868 +sub_80A7868: @ 80A7868 + push {lr} + ldr r1, _080A787C @ =gUnknown_02038550 + ldrb r0, [r1] + cmp r0, 0x2 + bne _080A7876 + movs r0, 0x1 + strb r0, [r1] +_080A7876: + pop {r0} + bx r0 + .align 2, 0 +_080A787C: .4byte gUnknown_02038550 + thumb_func_end sub_80A7868 + + thumb_func_start sub_80A7880 +sub_80A7880: @ 80A7880 + push {lr} + ldr r1, _080A7894 @ =gUnknown_02038550 + ldrb r0, [r1] + cmp r0, 0 + beq _080A7898 + cmp r0, 0x1 + bne _080A789C + movs r0, 0x2 + strb r0, [r1] + b _080A789C + .align 2, 0 +_080A7894: .4byte gUnknown_02038550 +_080A7898: + bl sub_80A7970 +_080A789C: + pop {r0} + bx r0 + thumb_func_end sub_80A7880 + + thumb_func_start sub_80A78A0 +sub_80A78A0: @ 80A78A0 + push {lr} + ldr r0, _080A78B4 @ =gUnknown_02038550 + movs r1, 0 + ldrb r0, [r0] + cmp r0, 0 + bne _080A78AE + movs r1, 0x1 +_080A78AE: + adds r0, r1, 0 + pop {r1} + bx r1 + .align 2, 0 +_080A78B4: .4byte gUnknown_02038550 + thumb_func_end sub_80A78A0 + + thumb_func_start sub_80A78B8 +sub_80A78B8: @ 80A78B8 + ldr r1, _080A78C0 @ =gUnknown_02038554 + movs r0, 0 + strb r0, [r1] + bx lr + .align 2, 0 +_080A78C0: .4byte gUnknown_02038554 + thumb_func_end sub_80A78B8 + + thumb_func_start sub_80A78C4 +sub_80A78C4: @ 80A78C4 + push {lr} + ldr r0, _080A78DC @ =gLinkOpen + ldrb r0, [r0] + cmp r0, 0x1 + bne _080A78E0 + bl sub_80A7868 + bl sub_80A75A8 + movs r0, 0x1 + b _080A78E2 + .align 2, 0 +_080A78DC: .4byte gLinkOpen +_080A78E0: + movs r0, 0 +_080A78E2: + pop {r1} + bx r1 + thumb_func_end sub_80A78C4 + + thumb_func_start sub_80A78E8 +sub_80A78E8: @ 80A78E8 + push {lr} + bl sub_80A7880 + pop {r0} + bx r0 + thumb_func_end sub_80A78E8 + + thumb_func_start sub_80A78F4 +sub_80A78F4: @ 80A78F4 + push {lr} + ldr r0, _080A790C @ =gLinkOpen + ldrb r0, [r0] + cmp r0, 0x1 + bne _080A7910 + bl sub_80A76B8 + movs r1, 0x2 + cmp r0, 0 + beq _080A7912 + movs r1, 0x1 + b _080A7912 + .align 2, 0 +_080A790C: .4byte gLinkOpen +_080A7910: + movs r1, 0 +_080A7912: + adds r0, r1, 0 + pop {r1} + bx r1 + thumb_func_end sub_80A78F4 + + thumb_func_start sub_80A7918 +sub_80A7918: @ 80A7918 + push {lr} + bl sub_80A76E8 + pop {r0} + bx r0 + thumb_func_end sub_80A7918 + + thumb_func_start sub_80A7924 +sub_80A7924: @ 80A7924 + push {lr} + ldr r0, _080A7948 @ =gLinkOpen + ldrb r0, [r0] + cmp r0, 0x1 + bne _080A7942 + bl sub_80A76B8 + cmp r0, 0 + bne _080A7942 + bl sub_80A76D0 + cmp r0, 0 + beq _080A794C + bl sub_80A7678 +_080A7942: + movs r0, 0 + b _080A7952 + .align 2, 0 +_080A7948: .4byte gLinkOpen +_080A794C: + bl sub_80A7694 + movs r0, 0x2 +_080A7952: + pop {r1} + bx r1 + thumb_func_end sub_80A7924 + + thumb_func_start sub_80A7958 +sub_80A7958: @ 80A7958 + push {lr} + bl sub_80A76B8 + cmp r0, 0 + beq _080A796A + bl sub_80A75A8 + movs r0, 0x1 + b _080A796C +_080A796A: + movs r0, 0x2 +_080A796C: + pop {r1} + bx r1 + thumb_func_end sub_80A7958 + + thumb_func_start sub_80A7970 +sub_80A7970: @ 80A7970 + push {lr} + bl sub_80A75C4 + pop {r0} + bx r0 + thumb_func_end sub_80A7970 + + thumb_func_start sub_80A797C +sub_80A797C: @ 80A797C + ldr r1, _080A7984 @ =gUnknown_02038554 + movs r0, 0x1 + strb r0, [r1] + bx lr + .align 2, 0 +_080A7984: .4byte gUnknown_02038554 + thumb_func_end sub_80A797C + + thumb_func_start sub_80A7988 +sub_80A7988: @ 80A7988 + ldr r1, _080A7994 @ =gUnknown_02038554 + ldrb r0, [r1] + movs r2, 0 + strb r2, [r1] + bx lr + .align 2, 0 +_080A7994: .4byte gUnknown_02038554 + thumb_func_end sub_80A7988 + + thumb_func_start sub_80A7998 +sub_80A7998: @ 80A7998 + adds r2, r0, 0 + adds r2, 0x2A + movs r1, 0 + strb r1, [r2] + strh r1, [r0, 0x2E] + strh r1, [r0, 0x30] + strh r1, [r0, 0x32] + strh r1, [r0, 0x34] + strh r1, [r0, 0x36] + ldr r1, _080A79B0 @ =sub_80A79B4 + str r1, [r0, 0x1C] + bx lr + .align 2, 0 +_080A79B0: .4byte sub_80A79B4 + thumb_func_end sub_80A7998 + + thumb_func_start sub_80A79B4 +sub_80A79B4: @ 80A79B4 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080A79E4 @ =gUnknown_0203855B + movs r1, 0 + ldrsb r1, [r0, r1] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + beq _080A79CC + adds r0, r4, 0 + bl sub_80A79EC +_080A79CC: + ldr r0, _080A79E8 @ =gUnknown_0203855C + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + cmp r0, 0 + beq _080A79DE + adds r0, r4, 0 + bl sub_80A7A94 +_080A79DE: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A79E4: .4byte gUnknown_0203855B +_080A79E8: .4byte gUnknown_0203855C + thumb_func_end sub_80A79B4 + + thumb_func_start sub_80A79EC +sub_80A79EC: @ 80A79EC + push {r4-r6,lr} + adds r2, r0, 0 + movs r0, 0x34 + ldrsh r4, [r2, r0] + cmp r4, 0 + beq _080A79FE + cmp r4, 0x1 + beq _080A7A54 + b _080A7A8A +_080A79FE: + ldr r5, _080A7A28 @ =gUnknown_0203855B + ldrb r6, [r5] + movs r0, 0 + ldrsb r0, [r5, r0] + cmp r0, 0x6 + beq _080A7A2C + adds r3, r2, 0 + adds r3, 0x3F + ldrb r0, [r3] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r3] + adds r0, r2, 0 + adds r0, 0x2A + strb r6, [r0] + movs r1, 0x1 + negs r1, r1 + adds r0, r1, 0 + strb r0, [r5] + b _080A7A8A + .align 2, 0 +_080A7A28: .4byte gUnknown_0203855B +_080A7A2C: + adds r3, r2, 0 + adds r3, 0x3F + ldrb r0, [r3] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r3] + adds r0, r2, 0 + adds r0, 0x2A + strb r4, [r0] + ldrh r0, [r2, 0x22] + subs r0, 0x4 + strh r0, [r2, 0x22] + movs r0, 0x4 + strh r0, [r2, 0x2E] + movs r0, 0x1 + strh r0, [r2, 0x34] + adds r0, r2, 0 + bl sub_80A7AE4 + b _080A7A8A +_080A7A54: + ldrh r4, [r2, 0x2E] + movs r0, 0x2E + ldrsh r3, [r2, r0] + cmp r3, 0 + beq _080A7A7C + ldrh r1, [r2, 0x30] + movs r3, 0x30 + ldrsh r0, [r2, r3] + cmp r0, 0 + beq _080A7A72 + ldrh r0, [r2, 0x22] + adds r0, 0x1 + strh r0, [r2, 0x22] + subs r0, r4, 0x1 + strh r0, [r2, 0x2E] +_080A7A72: + adds r0, r1, 0x1 + movs r1, 0x1 + ands r0, r1 + strh r0, [r2, 0x30] + b _080A7A8A +_080A7A7C: + ldr r1, _080A7A90 @ =gUnknown_0203855B + movs r4, 0x1 + negs r4, r4 + adds r0, r4, 0 + strb r0, [r1] + strh r3, [r2, 0x30] + strh r3, [r2, 0x34] +_080A7A8A: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A7A90: .4byte gUnknown_0203855B + thumb_func_end sub_80A79EC + + thumb_func_start sub_80A7A94 +sub_80A7A94: @ 80A7A94 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x36 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080A7AA6 + cmp r0, 0x1 + beq _080A7AC8 + b _080A7ADC +_080A7AA6: + ldrb r1, [r4, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x1 + orrs r0, r1 + strb r0, [r4, 0x1] + ldr r0, _080A7AC4 @ =gSpriteAffineAnimTable_83C1CC4 + str r0, [r4, 0x10] + adds r0, r4, 0 + bl InitSpriteAffineAnim + movs r0, 0x1 + strh r0, [r4, 0x36] + b _080A7ADC + .align 2, 0 +_080A7AC4: .4byte gSpriteAffineAnimTable_83C1CC4 +_080A7AC8: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xC + bne _080A7ADC + adds r0, r4, 0 + bl sub_80A7AE4 +_080A7ADC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A7A94 + + thumb_func_start sub_80A7AE4 +sub_80A7AE4: @ 80A7AE4 + push {lr} + ldr r2, _080A7B0C @ =gUnknown_0203855C + movs r1, 0 + strb r1, [r2] + ldrb r2, [r0, 0x1] + movs r1, 0x4 + negs r1, r1 + ands r1, r2 + strb r1, [r0, 0x1] + movs r1, 0 + strh r1, [r0, 0x32] + strh r1, [r0, 0x36] + ldrb r0, [r0, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + pop {r0} + bx r0 + .align 2, 0 +_080A7B0C: .4byte gUnknown_0203855C + thumb_func_end sub_80A7AE4 + + thumb_func_start CreateBagSprite +CreateBagSprite: @ 80A7B10 + push {lr} + ldr r0, _080A7B24 @ =gSpriteTemplate_83C1CE0 + movs r1, 0x3A + movs r2, 0x28 + movs r3, 0 + bl CreateSprite + pop {r0} + bx r0 + .align 2, 0 +_080A7B24: .4byte gSpriteTemplate_83C1CE0 + thumb_func_end CreateBagSprite + + thumb_func_start sub_80A7B28 +sub_80A7B28: @ 80A7B28 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0 + strh r0, [r4, 0x34] + strh r0, [r4, 0x2E] + adds r0, r4, 0 + bl sub_80A7B6C + ldr r0, _080A7B44 @ =sub_80A7B6C + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A7B44: .4byte sub_80A7B6C + thumb_func_end sub_80A7B28 + + thumb_func_start sub_80A7B48 +sub_80A7B48: @ 80A7B48 + ldrh r2, [r0, 0x38] + ldrh r1, [r0, 0x2E] + adds r1, 0x1 + movs r3, 0x1 + ands r1, r3 + subs r2, r1 + adds r1, r0, 0 + adds r1, 0x28 + strb r2, [r1] + ldrh r2, [r0, 0x3A] + ldrh r1, [r0, 0x2E] + adds r1, 0x1 + ands r1, r3 + subs r2, r1 + adds r0, 0x29 + strb r2, [r0] + bx lr + thumb_func_end sub_80A7B48 + + thumb_func_start sub_80A7B6C +sub_80A7B6C: @ 80A7B6C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x3C + ldrsh r2, [r4, r0] + cmp r2, 0 + beq _080A7C16 + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080A7B86 + cmp r0, 0x1 + beq _080A7BD4 + b _080A7C16 +_080A7B86: + ldrb r0, [r4, 0x1] + movs r1, 0x4 + negs r1, r1 + ands r1, r0 + movs r0, 0x1 + orrs r1, r0 + strb r1, [r4, 0x1] + cmp r2, 0x1 + bne _080A7BA0 + ldr r0, _080A7B9C @ =gSpriteAffineAnimTable_83C1D20 + b _080A7BA2 + .align 2, 0 +_080A7B9C: .4byte gSpriteAffineAnimTable_83C1D20 +_080A7BA0: + ldr r0, _080A7BD0 @ =gSpriteAffineAnimTable_83C1D20 + 0x4 +_080A7BA2: + str r0, [r4, 0x10] + adds r0, r4, 0 + bl InitSpriteAffineAnim + movs r0, 0x1 + strh r0, [r4, 0x34] + adds r0, r4, 0 + adds r0, 0x28 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + strh r0, [r4, 0x38] + adds r0, r4, 0 + adds r0, 0x29 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + strh r0, [r4, 0x3A] + adds r0, r4, 0 + bl sub_80A7B48 + b _080A7C16 + .align 2, 0 +_080A7BD0: .4byte gSpriteAffineAnimTable_83C1D20 + 0x4 +_080A7BD4: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + movs r5, 0 + strh r0, [r4, 0x2E] + adds r0, r4, 0 + bl sub_80A7B48 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x20 + bne _080A7C16 + strh r5, [r4, 0x2E] + strh r5, [r4, 0x34] + ldrh r1, [r4, 0x38] + adds r0, r4, 0 + adds r0, 0x28 + strb r1, [r0] + ldrh r0, [r4, 0x3A] + adds r1, r4, 0 + adds r1, 0x29 + strb r0, [r1] + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + ldrb r1, [r4, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x1] + ldr r0, _080A7C1C @ =SpriteCallbackDummy + str r0, [r4, 0x1C] +_080A7C16: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A7C1C: .4byte SpriteCallbackDummy + thumb_func_end sub_80A7B6C + + thumb_func_start CreateBagPokeballSprite +CreateBagPokeballSprite: @ 80A7C20 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080A7C54 @ =gUnknown_083C1D30 + bl LoadSpritePalette + ldr r0, _080A7C58 @ =gSpriteTemplate_83C1D38 + movs r1, 0x10 + movs r2, 0x58 + movs r3, 0 + bl CreateSprite + ldr r1, _080A7C5C @ =gUnknown_02038568 + strb r0, [r1] + ldr r2, _080A7C60 @ =gSprites + ldrb r1, [r1] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r4, [r0, 0x3C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A7C54: .4byte gUnknown_083C1D30 +_080A7C58: .4byte gSpriteTemplate_83C1D38 +_080A7C5C: .4byte gUnknown_02038568 +_080A7C60: .4byte gSprites + thumb_func_end CreateBagPokeballSprite + + thumb_func_start sub_80A7C64 +sub_80A7C64: @ 80A7C64 + push {r4,r5,lr} + movs r0, 0x8 + bl FreeSpritePaletteByTag + ldr r5, _080A7C98 @ =gSprites + ldr r4, _080A7C9C @ =gUnknown_02038568 + ldrb r1, [r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + ldrb r0, [r0, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + ldrb r1, [r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + bl DestroySprite + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A7C98: .4byte gSprites +_080A7C9C: .4byte gUnknown_02038568 + thumb_func_end sub_80A7C64 + + thumb_func_start sub_80A7CA0 +sub_80A7CA0: @ 80A7CA0 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + adds r4, r1, 0 + movs r2, 0x80 + lsls r2, 4 + adds r0, r4, 0 + movs r1, 0 + bl memset + movs r0, 0x80 + lsls r0, 1 + adds r4, r0 + movs r7, 0 +_080A7CBE: + adds r4, 0x20 + movs r5, 0 + adds r1, r7, 0x1 + mov r8, r1 +_080A7CC6: + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0x20 + bl memcpy + adds r4, 0x20 + adds r6, 0x20 + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x5 + bls _080A7CC6 + cmp r7, 0x5 + beq _080A7CE4 + adds r4, 0x20 +_080A7CE4: + mov r1, r8 + lsls r0, r1, 24 + lsrs r7, r0, 24 + cmp r7, 0x5 + bls _080A7CBE + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A7CA0 + + thumb_func_start sub_80A7CF8 +sub_80A7CF8: @ 80A7CF8 + push {r4,r5,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x2A + bne _080A7D44 + bl sub_80B4940 + cmp r0, 0x1 + bne _080A7D44 + ldr r4, _080A7D34 @ =gSaveBlock1 + 0x317C + ldr r1, _080A7D38 @ =0x02000000 + adds r0, r4, 0 + bl sub_80A7CA0 + movs r0, 0x90 + lsls r0, 3 + adds r4, r0 + str r4, [sp] + ldr r1, _080A7D3C @ =0xffff0000 + ldr r0, [sp, 0x4] + ands r0, r1 + ldr r1, _080A7D40 @ =0x00007544 + orrs r0, r1 + str r0, [sp, 0x4] + mov r0, sp + bl LoadSpritePalette + b _080A7D72 + .align 2, 0 +_080A7D34: .4byte gSaveBlock1 + 0x317C +_080A7D38: .4byte 0x02000000 +_080A7D3C: .4byte 0xffff0000 +_080A7D40: .4byte 0x00007544 +_080A7D44: + ldr r5, _080A7D7C @ =gBerryGraphicsTable + lsls r4, 3 + adds r0, r5, 0x4 + adds r0, r4, r0 + ldr r0, [r0] + str r0, [sp] + mov r1, sp + ldr r0, _080A7D80 @ =0x00007544 + strh r0, [r1, 0x4] + mov r0, sp + bl LoadCompressedObjectPalette + adds r4, r5 + ldr r0, [r4] + ldr r4, _080A7D84 @ =0x02001000 + adds r1, r4, 0 + bl sub_800D238 + ldr r0, _080A7D88 @ =0xfffff000 + adds r1, r4, r0 + adds r0, r4, 0 + bl sub_80A7CA0 +_080A7D72: + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A7D7C: .4byte gBerryGraphicsTable +_080A7D80: .4byte 0x00007544 +_080A7D84: .4byte 0x02001000 +_080A7D88: .4byte 0xfffff000 + thumb_func_end sub_80A7CF8 + + thumb_func_start sub_80A7D8C +sub_80A7D8C: @ 80A7D8C + push {r4,r5,lr} + adds r4, r1, 0 + adds r5, r2, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r4, 16 + lsrs r4, 16 + lsls r5, 16 + lsrs r5, 16 + bl sub_80A7CF8 + ldr r0, _080A7DC0 @ =gSpriteTemplate_83C1D74 + lsls r4, 16 + asrs r4, 16 + lsls r5, 16 + asrs r5, 16 + adds r1, r4, 0 + adds r2, r5, 0 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_080A7DC0: .4byte gSpriteTemplate_83C1D74 + thumb_func_end sub_80A7D8C + + thumb_func_start sub_80A7DC4 +sub_80A7DC4: @ 80A7DC4 + ldr r1, _080A7DD0 @ =gUnknown_030041B4 + ldrh r1, [r1] + negs r1, r1 + strh r1, [r0, 0x26] + bx lr + .align 2, 0 +_080A7DD0: .4byte gUnknown_030041B4 + thumb_func_end sub_80A7DC4 + + thumb_func_start sub_80A7DD4 +sub_80A7DD4: @ 80A7DD4 + push {lr} + ldr r0, _080A7DE8 @ =0x00007544 + bl FreeSpritePaletteByTag + movs r0, 0x8 + bl FreeSpritePaletteByTag + pop {r0} + bx r0 + .align 2, 0 +_080A7DE8: .4byte 0x00007544 + thumb_func_end sub_80A7DD4 + + thumb_func_start sub_80A7DEC +sub_80A7DEC: @ 80A7DEC + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r4, r0, 0 + adds r5, r1, 0 + adds r6, r2, 0 + mov r8, r3 + lsls r4, 24 + lsrs r4, 24 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 24 + lsrs r6, 24 + mov r0, r8 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r0, _080A7E50 @ =0x00007544 + bl FreeSpritePaletteByTag + adds r0, r4, 0 + bl sub_80A7CF8 + ldr r0, _080A7E54 @ =gSpriteTemplate_83C1E04 + adds r1, r5, 0 + adds r2, r6, 0 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r1, r0, 24 + adds r4, r1, 0 + mov r0, r8 + cmp r0, 0x1 + bne _080A7E42 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _080A7E58 @ =gSprites + adds r0, r1 + movs r1, 0x1 + bl StartSpriteAffineAnim +_080A7E42: + adds r0, r4, 0 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_080A7E50: .4byte 0x00007544 +_080A7E54: .4byte gSpriteTemplate_83C1E04 +_080A7E58: .4byte gSprites + thumb_func_end sub_80A7DEC + + thumb_func_start sub_80A7E5C +sub_80A7E5C: @ 80A7E5C + push {lr} + adds r1, r0, 0 + ldr r0, _080A7E78 @ =gSpriteTemplate_83C1F98 + lsls r1, 16 + asrs r1, 16 + movs r2, 0x63 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .align 2, 0 +_080A7E78: .4byte gSpriteTemplate_83C1F98 + thumb_func_end sub_80A7E5C + + .align 2, 0 @ Don't pad with nop. |