diff options
Diffstat (limited to 'asm/rom5_part2.s')
-rw-r--r-- | asm/rom5_part2.s | 68390 |
1 files changed, 0 insertions, 68390 deletions
diff --git a/asm/rom5_part2.s b/asm/rom5_part2.s index 0df2c27d1..c347a0069 100644 --- a/asm/rom5_part2.s +++ b/asm/rom5_part2.s @@ -11676,68394 +11676,4 @@ _08093108: .4byte gSprites _0809310C: .4byte sub_8092FD8 thumb_func_end sub_809308C - thumb_func_start sub_8093110 -sub_8093110: @ 8093110 - push {lr} - bl sub_80932AC - ldr r0, _08093128 - bl SetMainCallback2 - ldr r0, _0809312C - adds r0, 0x9C - movs r1, 0x2 - strb r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_08093128: .4byte sub_8093174 -_0809312C: .4byte 0x02000000 - thumb_func_end sub_8093110 - - thumb_func_start sub_8093130 -sub_8093130: @ 8093130 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80932E4 - ldr r0, _08093164 - bl SetMainCallback2 - ldr r2, _08093168 - ldr r3, _0809316C - ldr r0, _08093170 - lsls r4, 2 - adds r4, r0 - ldrb r1, [r4, 0x1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x1A] - adds r2, 0x9C - strb r0, [r2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08093164: .4byte sub_8093174 -_08093168: .4byte 0x02000000 -_0809316C: .4byte gLinkPlayers -_08093170: .4byte gUnknown_02029818 - thumb_func_end sub_8093130 - - thumb_func_start sub_8093174 -sub_8093174: @ 8093174 - push {lr} - ldr r0, _0809318C - ldr r1, _08093190 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x8 - bhi _08093232 - lsls r0, 2 - ldr r1, _08093194 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809318C: .4byte gMain -_08093190: .4byte 0x0000043c -_08093194: .4byte _08093198 - .align 2, 0 -_08093198: - .4byte _080931BC - .4byte _080931C6 - .4byte _080931CC - .4byte _080931D2 - .4byte _080931DC - .4byte _080931EC - .4byte _08093200 - .4byte _08093206 - .4byte _08093220 -_080931BC: - bl sub_8093534 - bl sub_8093688 - b _0809320A -_080931C6: - bl sub_8093598 - b _0809320A -_080931CC: - bl sub_80935EC - b _0809320A -_080931D2: - bl sub_8093610 - bl sub_80937A4 - b _0809320A -_080931DC: - bl sub_80937BC - ldr r1, _080931F8 - ldr r0, _080931FC - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080931EC: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - beq _08093232 - b _0809320A - .align 2, 0 -_080931F8: .4byte gMain -_080931FC: .4byte 0x0000043c -_08093200: - bl sub_80937F0 - b _0809320A -_08093206: - bl sub_80937D8 -_0809320A: - ldr r1, _08093218 - ldr r0, _0809321C - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08093232 - .align 2, 0 -_08093218: .4byte gMain -_0809321C: .4byte 0x0000043c -_08093220: - bl nullsub_15 - bl sub_8093800 - bl sub_8093550 - ldr r0, _08093238 - bl SetMainCallback2 -_08093232: - pop {r0} - bx r0 - .align 2, 0 -_08093238: .4byte sub_809323C - thumb_func_end sub_8093174 - - thumb_func_start sub_809323C -sub_809323C: @ 809323C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_809323C - - thumb_func_start sub_8093254 -sub_8093254: @ 8093254 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r2, _0809329C - ldrb r0, [r2, 0x6] - adds r0, 0x1 - strb r0, [r2, 0x6] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3B - bls _0809327E - movs r0, 0 - strb r0, [r2, 0x6] - ldrb r0, [r2, 0x5] - movs r1, 0x1 - eors r0, r1 - strb r0, [r2, 0x5] -_0809327E: - ldrb r0, [r2, 0x4] - cmp r0, 0 - beq _08093298 - ldr r1, _080932A0 - ldr r0, _080932A4 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, _080932A8 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08093298: - pop {r0} - bx r0 - .align 2, 0 -_0809329C: .4byte 0x02000000 -_080932A0: .4byte 0x040000d4 -_080932A4: .4byte gUnknown_03004DE0 -_080932A8: .4byte 0x800000a0 - thumb_func_end sub_8093254 - - thumb_func_start sub_80932AC -sub_80932AC: @ 80932AC - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080932DC - movs r1, 0xFF - bl CreateTask - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _080932E0 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - adds r0, 0xC - adds r1, r4, 0 - bl StoreWordInTwoHalfwords - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080932DC: .4byte nullsub_60 -_080932E0: .4byte gTasks - thumb_func_end sub_80932AC - - thumb_func_start sub_80932E4 -sub_80932E4: @ 80932E4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0809331C - movs r1, 0xFF - bl CreateTask - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _08093320 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - strh r4, [r0, 0xA] - adds r0, 0xC - adds r1, r5, 0 - bl StoreWordInTwoHalfwords - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809331C: .4byte nullsub_60 -_08093320: .4byte gTasks - thumb_func_end sub_80932E4 - - thumb_func_start sub_8093324 -sub_8093324: @ 8093324 - push {r4,r5,lr} - ldr r0, _0809336C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08093370 - adds r4, r1, r0 - ldr r5, _08093374 - ldrh r0, [r4, 0x8] - strb r0, [r5, 0x1] - adds r0, r4, 0 - adds r0, 0xC - adds r1, r5, 0 - adds r1, 0x60 - bl LoadWordFromTwoHalfwords - ldrb r0, [r5, 0x1] - cmp r0, 0 - beq _0809337C - ldr r2, _08093378 - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 3 - adds r1, r2 - adds r0, r5, 0 - adds r0, 0x64 - movs r2, 0x38 - bl memcpy - b _08093384 - .align 2, 0 -_0809336C: .4byte nullsub_60 -_08093370: .4byte gTasks -_08093374: .4byte 0x02000000 -_08093378: .4byte gUnknown_0202FFC0 -_0809337C: - adds r0, r5, 0 - adds r0, 0x64 - bl sub_8093390 -_08093384: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8093324 - - thumb_func_start nullsub_60 -nullsub_60: @ 809338C - bx lr - thumb_func_end nullsub_60 - - thumb_func_start sub_8093390 -sub_8093390: @ 8093390 - push {r4-r7,lr} - adds r5, r0, 0 - ldr r6, _080934A4 - ldrb r0, [r6, 0x8] - strb r0, [r5] - ldrh r0, [r6, 0xE] - strh r0, [r5, 0x10] - ldrb r0, [r6, 0x10] - strh r0, [r5, 0x12] - movs r0, 0x1 - bl sub_8053108 - adds r4, r0, 0 - movs r0, 0xA - bl sub_8053108 - cmp r0, 0 - bne _080933B6 - movs r4, 0 -_080933B6: - lsrs r0, r4, 16 - strh r0, [r5, 0x6] - lsrs r0, r4, 8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x8] - ands r4, r1 - strh r4, [r5, 0xA] - ldr r0, _080934A8 - bl FlagGet - strb r0, [r5, 0x2] - bl sub_8090FC0 - strb r0, [r5, 0x3] - bl GetPokedexSeenCount - strh r0, [r5, 0xC] - ldrb r1, [r6, 0xB] - lsls r1, 8 - ldrb r0, [r6, 0xA] - orrs r0, r1 - strh r0, [r5, 0xE] - ldr r7, _080934AC - movs r0, 0x17 - adds r1, r7, 0 - bl sav12_xor_get_clamped_above - strh r0, [r5, 0x14] - movs r0, 0x18 - adds r1, r7, 0 - bl sav12_xor_get_clamped_above - strh r0, [r5, 0x16] - ldr r1, _080934B0 - movs r0, 0x23 - bl sav12_xor_get_clamped_above - strh r0, [r5, 0x1C] - ldr r4, _080934B4 - movs r0, 0x22 - adds r1, r4, 0 - bl sav12_xor_get_clamped_above - strh r0, [r5, 0x1E] - movs r0, 0x15 - adds r1, r4, 0 - bl sav12_xor_get_clamped_above - strh r0, [r5, 0x20] - movs r1, 0xAE - lsls r1, 3 - adds r0, r6, r1 - ldrh r0, [r0] - strh r0, [r5, 0x18] - ldr r2, _080934B8 - adds r1, r6, r2 - ldrh r1, [r1] - strh r1, [r5, 0x1A] - lsls r0, 16 - lsrs r0, 16 - cmp r0, r7 - bls _08093436 - strh r7, [r5, 0x18] -_08093436: - ldrh r0, [r5, 0x1A] - cmp r0, r7 - bls _0809343E - strh r7, [r5, 0x1A] -_0809343E: - movs r4, 0 - bl sub_80C4D50 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _0809344E - movs r4, 0x1 -_0809344E: - strb r4, [r5, 0x4] - ldr r0, _080934BC - movs r2, 0x92 - lsls r2, 3 - adds r1, r0, r2 - ldr r1, [r1] - str r1, [r5, 0x24] - movs r2, 0 - adds r6, r5, 0 - adds r6, 0x30 - adds r3, r5, 0 - adds r3, 0x28 - ldr r1, _080934C0 - adds r4, r0, r1 -_0809346A: - lsls r0, r2, 1 - adds r1, r3, r0 - adds r0, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _0809346A - movs r2, 0 - adds r3, r6, 0 - ldr r4, _080934A4 -_08093484: - adds r1, r3, r2 - adds r0, r2, r4 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _08093484 - adds r0, r5, 0 - bl sub_80934F4 - strb r0, [r5, 0x1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080934A4: .4byte gSaveBlock2 -_080934A8: .4byte 0x00000801 -_080934AC: .4byte 0x0000270f -_080934B0: .4byte 0x000003e7 -_080934B4: .4byte 0x0000ffff -_080934B8: .4byte 0x00000572 -_080934BC: .4byte gSaveBlock1 -_080934C0: .4byte 0x00002b1c - thumb_func_end sub_8093390 - - thumb_func_start sub_80934C4 -sub_80934C4: @ 80934C4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080934D8 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x1] - bx lr - .align 2, 0 -_080934D8: .4byte gUnknown_0202FFC0 - thumb_func_end sub_80934C4 - - thumb_func_start sav12_xor_get_clamped_above -sav12_xor_get_clamped_above: @ 80934DC - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - bl sub_8053108 - cmp r0, r4 - bls _080934EE - adds r0, r4, 0 -_080934EE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sav12_xor_get_clamped_above - - thumb_func_start sub_80934F4 -sub_80934F4: @ 80934F4 - push {lr} - adds r1, r0, 0 - movs r2, 0 - ldrh r0, [r1, 0x6] - cmp r0, 0 - bne _08093506 - ldr r0, [r1, 0x8] - cmp r0, 0 - beq _08093508 -_08093506: - movs r2, 0x1 -_08093508: - ldrb r0, [r1, 0x3] - cmp r0, 0 - beq _08093514 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_08093514: - ldrh r0, [r1, 0x1A] - cmp r0, 0x31 - bls _08093520 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_08093520: - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _0809352C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_0809352C: - adds r0, r2, 0 - pop {r1} - bx r1 - thumb_func_end sub_80934F4 - - thumb_func_start sub_8093534 -sub_8093534: @ 8093534 - push {lr} - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - pop {r0} - bx r0 - thumb_func_end sub_8093534 - - thumb_func_start sub_8093550 -sub_8093550: @ 8093550 - push {r4,lr} - ldr r0, _08093588 - bl SetVBlankCallback - ldr r3, _0809358C - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _08093590 - ldrh r0, [r4] - movs r1, 0x3 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _08093594 - ldrh r0, [r2] - movs r1, 0x18 - orrs r0, r1 - strh r0, [r2] - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xFA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08093588: .4byte sub_8093254 -_0809358C: .4byte 0x04000208 -_08093590: .4byte 0x04000200 -_08093594: .4byte REG_DISPSTAT - thumb_func_end sub_8093550 - - thumb_func_start sub_8093598 -sub_8093598: @ 8093598 - push {r4-r7,lr} - sub sp, 0x4 - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0x80 - lsls r3, 9 - mov r4, sp - movs r6, 0 - ldr r1, _080935E4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _080935E8 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_080935B6: - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r5 - subs r3, r5 - cmp r3, r5 - bhi _080935B6 - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080935E4: .4byte 0x040000d4 -_080935E8: .4byte 0x81000800 - thumb_func_end sub_8093598 - - thumb_func_start sub_80935EC -sub_80935EC: @ 80935EC - sub sp, 0x4 - movs r2, 0xE0 - lsls r2, 19 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r0, _08093608 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0809360C - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - add sp, 0x4 - bx lr - .align 2, 0 -_08093608: .4byte 0x040000d4 -_0809360C: .4byte 0x81000200 - thumb_func_end sub_80935EC - - thumb_func_start sub_8093610 -sub_8093610: @ 8093610 - push {r4,r5,lr} - ldr r5, _08093664 - movs r1, 0 - strh r1, [r5] - ldr r2, _08093668 - strh r1, [r2] - ldr r3, _0809366C - strh r1, [r3] - ldr r4, _08093670 - strh r1, [r4] - ldr r0, _08093674 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r1, _08093678 - adds r0, r1, 0 - strh r0, [r5] - ldr r1, _0809367C - adds r0, r1, 0 - strh r0, [r2] - ldr r1, _08093680 - adds r0, r1, 0 - strh r0, [r3] - ldr r1, _08093684 - adds r0, r1, 0 - strh r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08093664: .4byte REG_BG0CNT -_08093668: .4byte REG_BG1CNT -_0809366C: .4byte REG_BG2CNT -_08093670: .4byte REG_BG3CNT -_08093674: .4byte REG_BG0HOFS -_08093678: .4byte 0x00001e08 -_0809367C: .4byte 0x00000801 -_08093680: .4byte 0x00000902 -_08093684: .4byte 0x00000a03 - thumb_func_end sub_8093610 - - thumb_func_start sub_8093688 -sub_8093688: @ 8093688 - push {r4-r6,lr} - bl sub_8093324 - ldr r2, _080936D0 - movs r1, 0 - strb r1, [r2] - strb r1, [r2, 0x3] - strb r1, [r2, 0x4] - adds r0, r2, 0 - adds r0, 0x65 - ldrb r0, [r0] - strb r0, [r2, 0x2] - strb r1, [r2, 0x5] - strb r1, [r2, 0x6] - movs r4, 0 - adds r6, r2, 0 - adds r6, 0x20 - adds r5, r2, 0 - adds r5, 0x8C -_080936AE: - lsls r0, r4, 4 - adds r0, r6 - lsls r1, r4, 1 - adds r1, r5, r1 - ldrh r1, [r1] - bl sub_80EB3FC - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080936AE - bl sub_80936D4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080936D0: .4byte 0x02000000 - thumb_func_end sub_8093688 - - thumb_func_start sub_80936D4 -sub_80936D4: @ 80936D4 - push {r4-r6,lr} - ldr r4, _08093798 - movs r0, 0 - strb r0, [r4, 0x7] - strb r0, [r4, 0x8] - strb r0, [r4, 0x9] - strb r0, [r4, 0xA] - strb r0, [r4, 0xB] - strb r0, [r4, 0xC] - strb r0, [r4, 0xD] - adds r0, r4, 0 - adds r0, 0xE - movs r1, 0 - movs r2, 0x8 - bl memset - adds r0, r4, 0 - adds r0, 0x66 - ldrb r0, [r0] - cmp r0, 0 - beq _08093704 - ldrb r0, [r4, 0x7] - adds r0, 0x1 - strb r0, [r4, 0x7] -_08093704: - adds r0, r4, 0 - adds r0, 0x6A - ldrh r0, [r0] - cmp r0, 0 - bne _08093714 - ldr r0, [r4, 0x6C] - cmp r0, 0 - beq _0809371A -_08093714: - ldrb r0, [r4, 0x8] - adds r0, 0x1 - strb r0, [r4, 0x8] -_0809371A: - ldr r1, _08093798 - ldr r0, [r1, 0x78] - cmp r0, 0 - beq _08093728 - ldrb r0, [r1, 0x9] - adds r0, 0x1 - strb r0, [r1, 0x9] -_08093728: - ldr r0, [r1, 0x7C] - cmp r0, 0 - beq _08093734 - ldrb r0, [r1, 0xA] - adds r0, 0x1 - strb r0, [r1, 0xA] -_08093734: - adds r0, r1, 0 - adds r0, 0x80 - ldrh r0, [r0] - cmp r0, 0 - beq _08093744 - ldrb r0, [r1, 0xB] - adds r0, 0x1 - strb r0, [r1, 0xB] -_08093744: - adds r0, r1, 0 - adds r0, 0x82 - ldrh r0, [r0] - cmp r0, 0 - beq _08093754 - ldrb r0, [r1, 0xC] - adds r0, 0x1 - strb r0, [r1, 0xC] -_08093754: - adds r0, r1, 0 - adds r0, 0x84 - ldrh r0, [r0] - cmp r0, 0 - beq _08093764 - ldrb r0, [r1, 0xD] - adds r0, 0x1 - strb r0, [r1, 0xD] -_08093764: - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _08093792 - movs r5, 0 - ldr r4, _0809379C - adds r6, r1, 0 - adds r6, 0xE -_08093772: - lsls r0, r4, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08093788 - adds r1, r5, r6 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08093788: - adds r4, 0x1 - adds r5, 0x1 - ldr r0, _080937A0 - cmp r4, r0 - bls _08093772 -_08093792: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08093798: .4byte 0x02000000 -_0809379C: .4byte 0x00000807 -_080937A0: .4byte 0x0000080e - thumb_func_end sub_80936D4 - - thumb_func_start sub_80937A4 -sub_80937A4: @ 80937A4 - push {lr} - bl ResetPaletteFade - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - pop {r0} - bx r0 - thumb_func_end sub_80937A4 - - thumb_func_start sub_80937BC -sub_80937BC: @ 80937BC - push {r4,lr} - ldr r4, _080937D4 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl MultistepInitMenuWindowBegin - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080937D4: .4byte gWindowConfig_81E6DC4 - thumb_func_end sub_80937BC - - thumb_func_start sub_80937D8 -sub_80937D8: @ 80937D8 - push {lr} - bl sub_8093E04 - bl sub_8093E28 - bl sub_8093F64 - bl sub_8093DAC - pop {r0} - bx r0 - thumb_func_end sub_80937D8 - - thumb_func_start sub_80937F0 -sub_80937F0: @ 80937F0 - push {lr} - bl sub_8093EF8 - pop {r0} - bx r0 - thumb_func_end sub_80937F0 - - thumb_func_start nullsub_15 -nullsub_15: @ 80937FC - bx lr - thumb_func_end nullsub_15 - - thumb_func_start sub_8093800 -sub_8093800: @ 8093800 - push {lr} - bl sub_809380C - pop {r0} - bx r0 - thumb_func_end sub_8093800 - - thumb_func_start sub_809380C -sub_809380C: @ 809380C - push {r4,lr} - ldr r4, _08093828 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08093828: .4byte sub_809382C - thumb_func_end sub_809380C - - thumb_func_start sub_809382C -sub_809382C: @ 809382C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r7, _08093858 - lsls r1, r0, 2 - adds r1, r0 - lsls r4, r1, 3 - ldr r6, _0809385C - ldr r5, _08093860 -_0809383E: - ldrb r0, [r6] - lsls r0, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r4, r5 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0809383E - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08093858: .4byte gUnknown_083B5EBC -_0809385C: .4byte 0x02000000 -_08093860: .4byte gTasks - thumb_func_end sub_809382C - - thumb_func_start sub_8093864 -sub_8093864: @ 8093864 - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, _080938A0 - ldr r2, _080938A4 - ldrb r1, [r2, 0x11] - movs r0, 0x1 - ands r0, r1 - movs r5, 0 - strb r0, [r4, 0x5] - ldrb r0, [r2, 0x12] - strb r0, [r4, 0x6] - bl sub_80939A4 - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080938A0: .4byte 0x02000000 -_080938A4: .4byte gSaveBlock2 - thumb_func_end sub_8093864 - - thumb_func_start sub_80938A8 -sub_80938A8: @ 80938A8 - push {lr} - ldr r0, _080938C4 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080938BE - ldr r1, _080938C8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080938BE: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080938C4: .4byte gPaletteFade -_080938C8: .4byte 0x02000000 - thumb_func_end sub_80938A8 - - thumb_func_start rfu_NI_stopReceivingData -rfu_NI_stopReceivingData: @ 80938CC - push {lr} - ldr r0, _080938E4 - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080938EC - ldr r1, _080938E8 - movs r0, 0x5 - strb r0, [r1] - movs r0, 0x1 - b _08093914 - .align 2, 0 -_080938E4: .4byte gMain -_080938E8: .4byte 0x02000000 -_080938EC: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093912 - ldr r2, _08093900 - ldrb r1, [r2, 0x3] - cmp r1, 0 - beq _08093904 - movs r0, 0x5 - b _0809390C - .align 2, 0 -_08093900: .4byte 0x02000000 -_08093904: - movs r0, 0x1 - eors r0, r1 - strb r0, [r2, 0x3] - movs r0, 0x3 -_0809390C: - strb r0, [r2] - movs r0, 0x1 - b _08093914 -_08093912: - movs r0, 0 -_08093914: - pop {r1} - bx r1 - thumb_func_end rfu_NI_stopReceivingData - - thumb_func_start sub_8093918 -sub_8093918: @ 8093918 - push {lr} - bl sub_8093A28 - movs r0, 0x36 - bl PlaySE - ldr r1, _08093934 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08093934: .4byte 0x02000000 - thumb_func_end sub_8093918 - - thumb_func_start sub_8093938 -sub_8093938: @ 8093938 - push {lr} - bl sub_8093A48 - lsls r0, 24 - cmp r0, 0 - beq _0809394A - ldr r1, _08093950 - movs r0, 0x2 - strb r0, [r1] -_0809394A: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08093950: .4byte 0x02000000 - thumb_func_end sub_8093938 - - thumb_func_start sub_8093954 -sub_8093954: @ 8093954 - push {lr} - sub sp, 0x4 - bl sub_80939C0 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0809397C - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r1} - bx r1 - .align 2, 0 -_0809397C: .4byte 0x02000000 - thumb_func_end sub_8093954 - - thumb_func_start sub_8093980 -sub_8093980: @ 8093980 - push {lr} - ldr r0, _0809399C - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08093996 - ldr r0, _080939A0 - ldr r0, [r0, 0x60] - bl SetMainCallback2 -_08093996: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809399C: .4byte gPaletteFade -_080939A0: .4byte 0x02000000 - thumb_func_end sub_8093980 - - thumb_func_start sub_80939A4 -sub_80939A4: @ 80939A4 - push {lr} - ldr r0, _080939B8 - movs r1, 0 - bl CreateTask - ldr r0, _080939BC - bl BasicInitMenuWindow - pop {r0} - bx r0 - .align 2, 0 -_080939B8: .4byte sub_80939DC -_080939BC: .4byte gWindowConfig_81E6DC4 - thumb_func_end sub_80939A4 - - thumb_func_start sub_80939C0 -sub_80939C0: @ 80939C0 - push {lr} - ldr r0, _080939D8 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080939D4 - bl DestroyTask -_080939D4: - pop {r0} - bx r0 - .align 2, 0 -_080939D8: .4byte sub_80939DC - thumb_func_end sub_80939C0 - - thumb_func_start sub_80939DC -sub_80939DC: @ 80939DC - push {lr} - sub sp, 0x20 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08093A20 - adds r2, r1, r0 - ldr r0, _08093A24 - ldrb r1, [r0, 0x5] - movs r3, 0xA - ldrsh r0, [r2, r3] - cmp r1, r0 - beq _08093A04 - strh r1, [r2, 0xA] - ldrh r0, [r2, 0x8] - movs r1, 0x1 - eors r0, r1 - strh r0, [r2, 0x8] -_08093A04: - movs r0, 0x8 - ldrsh r1, [r2, r0] - mov r0, sp - bl sub_8094250 - mov r0, sp - movs r1, 0xA - movs r2, 0xC - bl MenuPrint - add sp, 0x20 - pop {r0} - bx r0 - .align 2, 0 -_08093A20: .4byte gTasks -_08093A24: .4byte 0x02000000 - thumb_func_end sub_80939DC - - thumb_func_start sub_8093A28 -sub_8093A28: @ 8093A28 - push {r4,lr} - ldr r4, _08093A44 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08093A44: .4byte sub_8093A68 - thumb_func_end sub_8093A28 - - thumb_func_start sub_8093A48 -sub_8093A48: @ 8093A48 - push {lr} - ldr r0, _08093A5C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08093A60 - movs r0, 0 - b _08093A62 - .align 2, 0 -_08093A5C: .4byte sub_8093A68 -_08093A60: - movs r0, 0x1 -_08093A62: - pop {r1} - bx r1 - thumb_func_end sub_8093A48 - - thumb_func_start sub_8093A68 -sub_8093A68: @ 8093A68 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08093A98 - ldr r2, _08093A9C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08093A7A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08093A7A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08093A98: .4byte gUnknown_083B5ED8 -_08093A9C: .4byte gTasks - thumb_func_end sub_8093A68 - - thumb_func_start sub_8093AA0 -sub_8093AA0: @ 8093AA0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08093AE0 - movs r1, 0 - strb r1, [r0, 0x4] - bl dp12_8087EA4 - movs r1, 0 - ldr r0, _08093AE4 - ldr r2, _08093AE8 - movs r3, 0xF0 - lsls r3, 3 - adds r0, r3 -_08093ABA: - strh r2, [r0] - adds r0, 0x2 - adds r1, 0x1 - cmp r1, 0x9F - bls _08093ABA - ldr r0, _08093AEC - bl SetHBlankCallback - ldr r1, _08093AE0 - movs r0, 0x1 - strb r0, [r1, 0x4] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08093AE0: .4byte 0x02000000 -_08093AE4: .4byte gUnknown_03004DE0 -_08093AE8: .4byte 0x0000fffc -_08093AEC: .4byte sub_8093D7C - thumb_func_end sub_8093AA0 - - thumb_func_start sub_8093AF0 -sub_8093AF0: @ 8093AF0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - ldr r1, _08093BFC - movs r0, 0 - strb r0, [r1, 0x4] - mov r2, r8 - ldrh r0, [r2, 0xA] - adds r0, 0x3 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4F - ble _08093B18 - movs r0, 0x4F - strh r0, [r2, 0xA] -_08093B18: - mov r4, r8 - movs r0, 0xA - ldrsh r7, [r4, r0] - movs r0, 0xA0 - subs r0, r7 - mov r9, r0 - subs r4, r0, r7 - negs r0, r7 - lsls r6, r0, 16 - movs r0, 0xA0 - lsls r0, 16 - adds r1, r4, 0 - bl __udivsi3 - adds r5, r0, 0 - ldr r1, _08093C00 - adds r5, r1 - adds r0, r5, 0 - muls r0, r4 - adds r0, r6 - mov r10, r0 - adds r0, r5, 0 - adds r1, r4, 0 - bl __udivsi3 - str r0, [sp] - lsls r5, 1 - movs r3, 0 - cmp r3, r7 - bcs _08093B74 - ldr r2, _08093C04 - mov r12, r2 - ldr r0, _08093C08 - adds r4, r0, 0 -_08093B5C: - lsls r0, r3, 16 - asrs r0, 16 - lsls r1, r0, 1 - add r1, r12 - subs r2, r4, r0 - strh r2, [r1] - adds r0, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - asrs r0, 16 - cmp r0, r7 - bcc _08093B5C -_08093B74: - lsls r2, r3, 16 - mov r1, r9 - lsls r0, r1, 16 - asrs r1, r0, 16 - mov r4, r10 - lsrs r7, r4, 16 - cmp r2, r0 - bge _08093BAE - ldr r0, _08093C04 - mov r9, r0 - ldr r4, _08093C08 - mov r12, r4 - adds r4, r1, 0 -_08093B8E: - lsrs r1, r6, 16 - adds r6, r5 - ldr r0, [sp] - subs r5, r0 - asrs r2, 16 - lsls r0, r2, 1 - add r0, r9 - add r1, r12 - strh r1, [r0] - adds r2, 0x1 - lsls r2, 16 - lsrs r3, r2, 16 - lsls r2, r3, 16 - asrs r0, r2, 16 - cmp r0, r4 - blt _08093B8E -_08093BAE: - adds r1, r7, 0 - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0x9F - bgt _08093BD4 - ldr r4, _08093C04 - ldr r0, _08093C08 - adds r2, r1, r0 -_08093BBE: - lsls r1, r3, 16 - asrs r1, 16 - lsls r0, r1, 1 - adds r0, r4 - strh r2, [r0] - adds r1, 0x1 - lsls r1, 16 - lsrs r3, r1, 16 - asrs r1, 16 - cmp r1, 0x9F - ble _08093BBE -_08093BD4: - movs r0, 0x1 - ldr r1, _08093BFC - strb r0, [r1, 0x4] - mov r2, r8 - movs r4, 0xA - ldrsh r0, [r2, r4] - cmp r0, 0x4A - ble _08093BEA - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_08093BEA: - movs r0, 0 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08093BFC: .4byte 0x02000000 -_08093C00: .4byte 0xffff0000 -_08093C04: .4byte gUnknown_03004DE0 -_08093C08: .4byte 0x0000fffc - thumb_func_end sub_8093AF0 - - thumb_func_start sub_8093C0C -sub_8093C0C: @ 8093C0C - push {r4,lr} - adds r4, r0, 0 - bl sub_80939C0 - bl sub_8093DAC - ldr r0, _08093C34 - ldrb r0, [r0, 0x3] - cmp r0, 0 - bne _08093C24 - bl sub_80939A4 -_08093C24: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08093C34: .4byte 0x02000000 - thumb_func_end sub_8093C0C - - thumb_func_start sub_8093C38 -sub_8093C38: @ 8093C38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - ldr r1, _08093D40 - movs r2, 0 - strb r2, [r1, 0x4] - ldrh r0, [r0, 0xA] - subs r0, 0x3 - mov r3, r8 - strh r0, [r3, 0xA] - lsls r0, 16 - cmp r0, 0 - bgt _08093C5C - strh r2, [r3, 0xA] -_08093C5C: - mov r4, r8 - movs r0, 0xA - ldrsh r7, [r4, r0] - movs r0, 0xA0 - subs r0, r7 - mov r9, r0 - subs r4, r0, r7 - negs r0, r7 - lsls r6, r0, 16 - movs r0, 0xA0 - lsls r0, 16 - adds r1, r4, 0 - bl __udivsi3 - adds r5, r0, 0 - ldr r1, _08093D44 - adds r5, r1 - adds r0, r5, 0 - muls r0, r4 - adds r0, r6 - mov r10, r0 - adds r0, r5, 0 - adds r1, r4, 0 - bl __udivsi3 - str r0, [sp] - lsrs r5, 1 - movs r3, 0 - cmp r3, r7 - bcs _08093CB8 - ldr r2, _08093D48 - mov r12, r2 - ldr r0, _08093D4C - adds r4, r0, 0 -_08093CA0: - lsls r0, r3, 16 - asrs r0, 16 - lsls r1, r0, 1 - add r1, r12 - subs r2, r4, r0 - strh r2, [r1] - adds r0, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - asrs r0, 16 - cmp r0, r7 - bcc _08093CA0 -_08093CB8: - lsls r2, r3, 16 - mov r1, r9 - lsls r0, r1, 16 - asrs r1, r0, 16 - mov r4, r10 - lsrs r7, r4, 16 - cmp r2, r0 - bge _08093CF2 - ldr r0, _08093D48 - mov r9, r0 - ldr r3, _08093D4C - mov r12, r3 - adds r4, r1, 0 -_08093CD2: - lsrs r1, r6, 16 - adds r6, r5 - ldr r0, [sp] - adds r5, r0 - asrs r2, 16 - lsls r0, r2, 1 - add r0, r9 - add r1, r12 - strh r1, [r0] - adds r2, 0x1 - lsls r2, 16 - lsrs r3, r2, 16 - lsls r2, r3, 16 - asrs r0, r2, 16 - cmp r0, r4 - blt _08093CD2 -_08093CF2: - adds r1, r7, 0 - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0x9F - bgt _08093D18 - ldr r4, _08093D48 - ldr r0, _08093D4C - adds r2, r1, r0 -_08093D02: - lsls r1, r3, 16 - asrs r1, 16 - lsls r0, r1, 1 - adds r0, r4 - strh r2, [r0] - adds r1, 0x1 - lsls r1, 16 - lsrs r3, r1, 16 - asrs r1, 16 - cmp r1, 0x9F - ble _08093D02 -_08093D18: - movs r0, 0x1 - ldr r1, _08093D40 - strb r0, [r1, 0x4] - mov r2, r8 - movs r3, 0xA - ldrsh r0, [r2, r3] - cmp r0, 0 - bgt _08093D2E - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_08093D2E: - movs r0, 0 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08093D40: .4byte 0x02000000 -_08093D44: .4byte 0xffff0000 -_08093D48: .4byte gUnknown_03004DE0 -_08093D4C: .4byte 0x0000fffc - thumb_func_end sub_8093C38 - - thumb_func_start sub_8093D50 -sub_8093D50: @ 8093D50 - push {lr} - ldr r1, _08093D74 - movs r0, 0 - strb r0, [r1, 0x4] - bl SetHBlankCallback - bl sub_8093E04 - ldr r0, _08093D78 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08093D74: .4byte 0x02000000 -_08093D78: .4byte sub_8093A68 - thumb_func_end sub_8093D50 - - thumb_func_start sub_8093D7C -sub_8093D7C: @ 8093D7C - ldr r1, _08093DA0 - ldr r0, _08093DA4 - ldrh r2, [r0] - movs r0, 0xFF - ands r0, r2 - lsls r0, 1 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, _08093DA8 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - bx lr - .align 2, 0 -_08093DA0: .4byte gUnknown_03004DE0 -_08093DA4: .4byte REG_VCOUNT -_08093DA8: .4byte REG_BG0VOFS - thumb_func_end sub_8093D7C - - thumb_func_start sub_8093DAC -sub_8093DAC: @ 8093DAC - push {lr} - ldr r0, _08093DBC - ldrb r0, [r0, 0x3] - cmp r0, 0 - beq _08093DC0 - bl sub_8093DEC - b _08093DC4 - .align 2, 0 -_08093DBC: .4byte 0x02000000 -_08093DC0: - bl sub_8093DC8 -_08093DC4: - pop {r0} - bx r0 - thumb_func_end sub_8093DAC - - thumb_func_start sub_8093DC8 -sub_8093DC8: @ 8093DC8 - push {lr} - bl MenuZeroFillScreen - bl sub_80940E4 - bl sub_8093F14 - bl sub_8093F80 - bl sub_8093FD0 - bl sub_8094038 - bl sub_8094140 - pop {r0} - bx r0 - thumb_func_end sub_8093DC8 - - thumb_func_start sub_8093DEC -sub_8093DEC: @ 8093DEC - push {lr} - bl MenuZeroFillScreen - bl sub_80940E4 - bl sub_8093F48 - bl sub_8094188 - pop {r0} - bx r0 - thumb_func_end sub_8093DEC - - thumb_func_start sub_8093E04 -sub_8093E04: @ 8093E04 - ldr r0, _08093E20 - ldr r2, _08093E24 - adds r1, r2, 0 - strh r1, [r0] - adds r0, 0x2 - movs r2, 0 - strh r2, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .align 2, 0 -_08093E20: .4byte REG_BG0VOFS -_08093E24: .4byte 0x0000fffc - thumb_func_end sub_8093E04 - - thumb_func_start sub_8093E28 -sub_8093E28: @ 8093E28 - push {r4-r7,lr} - bl sub_8093EA0 - ldr r0, _08093E84 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r3, _08093E88 - movs r4, 0xC0 - lsls r4, 19 - movs r5, 0xA4 - lsls r5, 5 - ldr r1, _08093E8C - ldr r6, _08093E90 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_08093E4E: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _08093E4E - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _08093E94 - ldr r2, _08093E98 - ldr r0, _08093E8C - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _08093E9C - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08093E84: .4byte gUnknown_083B5F6C -_08093E88: .4byte gMenuTrainerCard_Gfx -_08093E8C: .4byte 0x040000d4 -_08093E90: .4byte 0x80000800 -_08093E94: .4byte gBadgesTiles -_08093E98: .4byte 0x06001480 -_08093E9C: .4byte 0x80000200 - thumb_func_end sub_8093E28 - - thumb_func_start sub_8093EA0 -sub_8093EA0: @ 8093EA0 - push {r4,lr} - ldr r1, _08093EE4 - ldr r4, _08093EE8 - ldrb r0, [r4, 0x2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0x60 - bl LoadPalette - ldr r0, _08093EEC - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08093EF0 - movs r1, 0x40 - movs r2, 0x20 - bl LoadPalette - adds r4, 0x64 - ldrb r0, [r4] - cmp r0, 0 - beq _08093EDC - ldr r0, _08093EF4 - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette -_08093EDC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08093EE4: .4byte gUnknown_083B5EF8 -_08093EE8: .4byte 0x02000000 -_08093EEC: .4byte gBadgesPalette -_08093EF0: .4byte gUnknown_083B5F4C -_08093EF4: .4byte gUnknown_083B5F0C - thumb_func_end sub_8093EA0 - - thumb_func_start sub_8093EF8 -sub_8093EF8: @ 8093EF8 - push {lr} - ldr r0, _08093F0C - adds r0, 0x64 - ldrb r0, [r0] - ldr r2, _08093F10 - movs r1, 0x50 - bl LoadTrainerGfx_TrainerCard - pop {r0} - bx r0 - .align 2, 0 -_08093F0C: .4byte 0x02000000 -_08093F10: .4byte 0x06001880 - thumb_func_end sub_8093EF8 - - thumb_func_start sub_8093F14 -sub_8093F14: @ 8093F14 - push {lr} - sub sp, 0x8 - ldr r0, _08093F3C - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, _08093F40 - ldrb r0, [r0, 0x1] - lsls r0, 2 - add r0, sp - ldr r0, [r0] - ldr r1, _08093F44 - movs r2, 0xA0 - lsls r2, 1 - bl CpuFastSet - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_08093F3C: .4byte gUnknown_083B5EEC -_08093F40: .4byte 0x02000000 -_08093F44: .4byte 0x06004800 - thumb_func_end sub_8093F14 - - thumb_func_start sub_8093F48 -sub_8093F48: @ 8093F48 - push {lr} - ldr r0, _08093F5C - ldr r1, _08093F60 - movs r2, 0xA0 - lsls r2, 1 - bl CpuFastSet - pop {r0} - bx r0 - .align 2, 0 -_08093F5C: .4byte gUnknown_08E8CFC0 -_08093F60: .4byte 0x06004800 - thumb_func_end sub_8093F48 - - thumb_func_start sub_8093F64 -sub_8093F64: @ 8093F64 - push {lr} - ldr r0, _08093F78 - ldr r1, _08093F7C - movs r2, 0xA0 - lsls r2, 1 - bl CpuFastSet - pop {r0} - bx r0 - .align 2, 0 -_08093F78: .4byte gUnknown_08E8D9C0 -_08093F7C: .4byte 0x06005000 - thumb_func_end sub_8093F64 - - thumb_func_start sub_8093F80 -sub_8093F80: @ 8093F80 - push {r4-r7,lr} - movs r5, 0xC4 - ldr r7, _08093FCC - movs r1, 0x5 - movs r0, 0xA0 - lsls r0, 7 - adds r6, r0, 0 -_08093F8E: - movs r0, 0x13 - lsls r3, r1, 16 - asrs r4, r3, 11 -_08093F94: - lsls r2, r0, 16 - asrs r2, 16 - adds r1, r4, r2 - lsls r1, 1 - adds r1, r7 - adds r0, r5, 0 - orrs r0, r6 - strh r0, [r1] - adds r2, 0x1 - lsls r2, 16 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - lsrs r0, r2, 16 - asrs r2, 16 - cmp r2, 0x1A - ble _08093F94 - movs r1, 0x80 - lsls r1, 9 - adds r0, r3, r1 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _08093F8E - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08093FCC: .4byte 0x06004000 - thumb_func_end sub_8093F80 - - thumb_func_start sub_8093FD0 -sub_8093FD0: @ 8093FD0 - push {r4-r6,lr} - ldr r4, _0809402C - movs r2, 0xF - ldr r0, _08094030 - ldrb r0, [r0, 0x2] - adds r0, 0xF - cmp r2, r0 - bge _08094002 - movs r6, 0xC0 - lsls r6, 1 - ldr r1, _08094034 - adds r5, r1, 0 - adds r3, r0, 0 -_08093FEA: - lsls r1, r2, 16 - asrs r1, 16 - lsls r0, r1, 1 - adds r0, r4 - adds r0, r6 - strh r5, [r0] - adds r1, 0x1 - lsls r1, 16 - lsrs r2, r1, 16 - asrs r1, 16 - cmp r1, r3 - blt _08093FEA -_08094002: - lsls r1, r2, 16 - asrs r0, r1, 16 - cmp r0, 0x12 - bgt _08094024 - movs r3, 0xC0 - lsls r3, 1 - movs r2, 0 -_08094010: - asrs r0, r1, 16 - lsls r1, r0, 1 - adds r1, r4 - adds r1, r3 - strh r2, [r1] - adds r0, 0x1 - lsls r1, r0, 16 - asrs r0, r1, 16 - cmp r0, 0x12 - ble _08094010 -_08094024: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809402C: .4byte 0x06004000 -_08094030: .4byte 0x02000000 -_08094034: .4byte 0x0000408f - thumb_func_end sub_8093FD0 - - thumb_func_start sub_8094038 -sub_8094038: @ 8094038 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r1, _080940D0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _080940C2 - ldr r0, _080940D4 - mov r9, r0 - movs r0, 0 - movs r2, 0x4 - adds r1, 0xE - mov r8, r1 - ldr r7, _080940D8 - movs r1, 0xC0 - lsls r1, 6 - adds r6, r1, 0 - adds r1, r7, 0x6 - mov r12, r1 -_08094060: - lsls r0, 16 - asrs r4, r0, 16 - mov r1, r8 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r5, r2, 16 - cmp r0, 0 - beq _080940AE - asrs r1, r5, 15 - add r1, r9 - movs r2, 0xF0 - lsls r2, 2 - adds r3, r1, r2 - lsls r2, r4, 3 - adds r0, r2, r7 - ldrh r0, [r0] - orrs r0, r6 - strh r0, [r3] - ldr r0, _080940DC - adds r3, r1, r0 - adds r0, r7, 0x2 - adds r0, r2, r0 - ldrh r0, [r0] - orrs r0, r6 - strh r0, [r3] - movs r0, 0x80 - lsls r0, 3 - adds r3, r1, r0 - adds r0, r7, 0x4 - adds r0, r2, r0 - ldrh r0, [r0] - orrs r0, r6 - strh r0, [r3] - ldr r0, _080940E0 - adds r1, r0 - add r2, r12 - ldrh r0, [r2] - orrs r0, r6 - strh r0, [r1] -_080940AE: - adds r1, r4, 0x1 - lsls r1, 16 - movs r2, 0xC0 - lsls r2, 10 - adds r0, r5, r2 - lsrs r2, r0, 16 - lsrs r0, r1, 16 - asrs r1, 16 - cmp r1, 0x7 - ble _08094060 -_080940C2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080940D0: .4byte 0x02000000 -_080940D4: .4byte 0x06004000 -_080940D8: .4byte gUnknown_083B5F8C -_080940DC: .4byte 0x000003c2 -_080940E0: .4byte 0x00000402 - thumb_func_end sub_8094038 - - thumb_func_start sub_80940E4 -sub_80940E4: @ 80940E4 - push {r4,lr} - movs r2, 0 - ldr r1, _08094108 - movs r4, 0 - ldr r3, _0809410C -_080940EE: - strh r4, [r1] - lsls r0, r2, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - adds r1, 0x2 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, r3 - ble _080940EE - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08094108: .4byte 0x06004000 -_0809410C: .4byte 0x000003ff - thumb_func_end sub_80940E4 - - thumb_func_start sub_8094110 -sub_8094110: @ 8094110 - push {r4-r6,lr} - ldr r6, _0809413C - movs r2, 0x3 - movs r5, 0xA0 - lsls r5, 2 - movs r3, 0x1 - movs r4, 0xB0 - lsls r4, 2 -_08094120: - lsls r0, r2, 1 - adds r0, r6 - adds r1, r0, r5 - strh r3, [r1] - adds r0, r4 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x10 - bls _08094120 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809413C: .4byte 0x06004800 - thumb_func_end sub_8094110 - - thumb_func_start sub_8094140 -sub_8094140: @ 8094140 - push {r4,r5,lr} - ldr r0, _0809417C - bl BasicInitMenuWindow - ldr r4, _08094180 - ldr r5, _08094184 - adds r0, r4, 0 - adds r1, r5, 0 - bl StringCopy - ldrb r1, [r5, 0x8] - adds r0, r4, 0 - bl ConvertInternationalString - adds r0, r4, 0 - movs r1, 0x7 - movs r2, 0x5 - bl MenuPrint - bl sub_80941D8 - bl sub_8094200 - bl sub_8094218 - bl sub_809429C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809417C: .4byte gWindowConfig_81E6DC4 -_08094180: .4byte gStringVar1 -_08094184: .4byte 0x02000094 - thumb_func_end sub_8094140 - - thumb_func_start sub_8094188 -sub_8094188: @ 8094188 - push {lr} - ldr r0, _080941D0 - bl BasicInitMenuWindow - bl sub_80942F8 - bl sub_8094334 - bl sub_80943C4 - bl sub_8094428 - bl sub_8094498 - bl sub_80944E8 - bl sub_8094538 - ldr r0, _080941D4 - bl BasicInitMenuWindow - bl sub_8094354 - bl sub_80943E4 - bl sub_8094448 - bl sub_80944B8 - bl sub_8094508 - bl sub_8094558 - pop {r0} - bx r0 - .align 2, 0 -_080941D0: .4byte gWindowConfig_81E6DC4 -_080941D4: .4byte gWindowConfig_81E6DE0 - thumb_func_end sub_8094188 - - thumb_func_start sub_80941D8 -sub_80941D8: @ 80941D8 - push {lr} - sub sp, 0x8 - ldr r0, _080941FC - adds r0, 0x72 - ldrh r1, [r0] - mov r0, sp - movs r2, 0x2 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - mov r0, sp - movs r1, 0x14 - movs r2, 0x2 - bl MenuPrint - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080941FC: .4byte 0x02000000 - thumb_func_end sub_80941D8 - - thumb_func_start sub_8094200 -sub_8094200: @ 8094200 - push {lr} - ldr r0, _08094214 - adds r0, 0x88 - ldr r0, [r0] - movs r1, 0x10 - movs r2, 0x8 - bl sub_80B7AEC - pop {r0} - bx r0 - .align 2, 0 -_08094214: .4byte 0x02000000 - thumb_func_end sub_8094200 - - thumb_func_start sub_8094218 -sub_8094218: @ 8094218 - push {lr} - sub sp, 0x10 - ldr r1, _0809422C - ldrb r0, [r1, 0x7] - cmp r0, 0 - bne _08094230 - bl sub_8094110 - b _0809424A - .align 2, 0 -_0809422C: .4byte 0x02000000 -_08094230: - adds r0, r1, 0 - adds r0, 0x70 - ldrh r1, [r0] - mov r0, sp - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r0, sp - movs r1, 0x10 - movs r2, 0xA - bl sub_8072B4C -_0809424A: - add sp, 0x10 - pop {r0} - bx r0 - thumb_func_end sub_8094218 - - thumb_func_start sub_8094250 -sub_8094250: @ 8094250 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - lsls r1, 16 - lsrs r3, r1, 16 - ldr r0, _08094294 - ldrh r4, [r0, 0xE] - ldrb r2, [r0, 0x10] - ldr r1, _08094298 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _08094272 - adds r0, r1, 0 - adds r0, 0x74 - ldrh r4, [r0] - adds r0, 0x2 - ldrh r2, [r0] -_08094272: - lsls r3, 16 - asrs r3, 16 - mov r0, sp - adds r1, r4, 0 - bl FormatPlayTime - adds r0, r5, 0 - mov r1, sp - movs r2, 0x30 - movs r3, 0x1 - bl sub_8072C74 - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08094294: .4byte gSaveBlock2 -_08094298: .4byte 0x02000000 - thumb_func_end sub_8094250 - - thumb_func_start sub_809429C -sub_809429C: @ 809429C - push {r4-r6,lr} - ldr r6, _080942F0 - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _080942EA - ldr r0, _080942F4 - adds r1, r6, 0 - adds r1, 0x20 - bl StringCopy - movs r5, 0 - strb r5, [r0] - adds r0, 0x1 - adds r1, r6, 0 - adds r1, 0x30 - bl StringCopy - ldr r4, _080942F4 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xE - bl MenuPrint - adds r1, r6, 0 - adds r1, 0x40 - adds r0, r4, 0 - bl StringCopy - strb r5, [r0] - adds r0, 0x1 - adds r1, r6, 0 - adds r1, 0x50 - bl StringCopy - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0x10 - bl MenuPrint -_080942EA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080942F0: .4byte 0x02000000 -_080942F4: .4byte gStringVar1 - thumb_func_end sub_809429C - - thumb_func_start sub_80942F8 -sub_80942F8: @ 80942F8 - push {r4,r5,lr} - ldr r4, _08094328 - ldr r5, _0809432C - adds r0, r4, 0 - adds r1, r5, 0 - bl StringCopy - ldrb r1, [r5, 0x8] - adds r0, r4, 0 - bl ConvertInternationalString - ldr r1, _08094330 - adds r0, r4, 0 - bl StringAppend - adds r0, r4, 0 - movs r1, 0x1C - movs r2, 0x2 - bl sub_8072B4C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08094328: .4byte gStringVar1 -_0809432C: .4byte 0x02000094 -_08094330: .4byte gOtherText_TrainersTrainerCard - thumb_func_end sub_80942F8 - - thumb_func_start sub_8094334 -sub_8094334: @ 8094334 - push {lr} - ldr r0, _0809434C - ldrb r0, [r0, 0x8] - cmp r0, 0 - beq _08094348 - ldr r0, _08094350 - movs r1, 0x3 - movs r2, 0x5 - bl MenuPrint -_08094348: - pop {r0} - bx r0 - .align 2, 0 -_0809434C: .4byte 0x02000000 -_08094350: .4byte gOtherText_FirstHOF - thumb_func_end sub_8094334 - - thumb_func_start sub_8094354 -sub_8094354: @ 8094354 - push {r4,r5,lr} - ldr r5, _080943B8 - ldrb r0, [r5, 0x8] - cmp r0, 0 - beq _080943B0 - ldr r2, _080943BC - adds r0, r5, 0 - adds r0, 0x6A - ldrh r1, [r0] - adds r0, r2, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r2, r0, 0 - ldr r4, _080943C0 - adds r1, r4, 0 - bl StringCopy - adds r2, r0, 0 - adds r0, r5, 0 - adds r0, 0x6C - ldrh r1, [r0] - adds r0, r2, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r2, r0, 0 - adds r1, r4, 0 - bl StringCopy - adds r2, r0, 0 - adds r0, r5, 0 - adds r0, 0x6E - ldrh r1, [r0] - adds r0, r2, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _080943BC - movs r1, 0x1C - movs r2, 0x5 - bl sub_8072B4C -_080943B0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080943B8: .4byte 0x02000000 -_080943BC: .4byte gStringVar1 -_080943C0: .4byte gUnknown_083B5EF4 - thumb_func_end sub_8094354 - - thumb_func_start sub_80943C4 -sub_80943C4: @ 80943C4 - push {lr} - ldr r0, _080943DC - ldrb r0, [r0, 0x9] - cmp r0, 0 - beq _080943D8 - ldr r0, _080943E0 - movs r1, 0x3 - movs r2, 0x7 - bl MenuPrint -_080943D8: - pop {r0} - bx r0 - .align 2, 0 -_080943DC: .4byte 0x02000000 -_080943E0: .4byte gOtherText_LinkCableBattles - thumb_func_end sub_80943C4 - - thumb_func_start sub_80943E4 -sub_80943E4: @ 80943E4 - push {r4,lr} - sub sp, 0x10 - ldr r4, _08094424 - ldrb r0, [r4, 0x9] - cmp r0, 0 - beq _0809441C - adds r0, r4, 0 - adds r0, 0x78 - ldrh r1, [r0] - mov r0, sp - bl ConvertIntToDecimalString - mov r0, sp - movs r1, 0x16 - movs r2, 0x7 - bl sub_8072B4C - adds r0, r4, 0 - adds r0, 0x7A - ldrh r1, [r0] - mov r0, sp - bl ConvertIntToDecimalString - mov r0, sp - movs r1, 0x1C - movs r2, 0x7 - bl sub_8072B4C -_0809441C: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08094424: .4byte 0x02000000 - thumb_func_end sub_80943E4 - - thumb_func_start sub_8094428 -sub_8094428: @ 8094428 - push {lr} - ldr r0, _08094440 - ldrb r0, [r0, 0xA] - cmp r0, 0 - beq _0809443C - ldr r0, _08094444 - movs r1, 0x3 - movs r2, 0xF - bl MenuPrint -_0809443C: - pop {r0} - bx r0 - .align 2, 0 -_08094440: .4byte 0x02000000 -_08094444: .4byte gOtherText_BattleTowerWinRecord - thumb_func_end sub_8094428 - - thumb_func_start sub_8094448 -sub_8094448: @ 8094448 - push {r4,lr} - sub sp, 0x10 - ldr r4, _08094494 - ldrb r0, [r4, 0xA] - cmp r0, 0 - beq _0809448C - adds r0, r4, 0 - adds r0, 0x7C - ldrh r1, [r0] - mov r0, sp - movs r2, 0x18 - movs r3, 0x1 - bl sub_8072C44 - mov r0, sp - movs r1, 0x70 - movs r2, 0x78 - movs r3, 0 - bl sub_80729D8 - adds r0, r4, 0 - adds r0, 0x7E - ldrh r1, [r0] - mov r0, sp - movs r2, 0x18 - movs r3, 0x1 - bl sub_8072C44 - mov r0, sp - movs r1, 0x95 - movs r2, 0x78 - movs r3, 0 - bl sub_80729D8 -_0809448C: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08094494: .4byte 0x02000000 - thumb_func_end sub_8094448 - - thumb_func_start sub_8094498 -sub_8094498: @ 8094498 - push {lr} - ldr r0, _080944B0 - ldrb r0, [r0, 0xB] - cmp r0, 0 - beq _080944AC - ldr r0, _080944B4 - movs r1, 0x3 - movs r2, 0xD - bl MenuPrint -_080944AC: - pop {r0} - bx r0 - .align 2, 0 -_080944B0: .4byte 0x02000000 -_080944B4: .4byte gOtherText_ContestRecord - thumb_func_end sub_8094498 - - thumb_func_start sub_80944B8 -sub_80944B8: @ 80944B8 - push {lr} - sub sp, 0x8 - ldr r1, _080944E4 - ldrb r0, [r1, 0xB] - cmp r0, 0 - beq _080944DE - adds r0, r1, 0 - adds r0, 0x80 - ldrh r1, [r0] - mov r0, sp - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r0, sp - movs r1, 0x1C - movs r2, 0xD - bl sub_8072B4C -_080944DE: - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080944E4: .4byte 0x02000000 - thumb_func_end sub_80944B8 - - thumb_func_start sub_80944E8 -sub_80944E8: @ 80944E8 - push {lr} - ldr r0, _08094500 - ldrb r0, [r0, 0xC] - cmp r0, 0 - beq _080944FC - ldr r0, _08094504 - movs r1, 0x3 - movs r2, 0xB - bl MenuPrint -_080944FC: - pop {r0} - bx r0 - .align 2, 0 -_08094500: .4byte 0x02000000 -_08094504: .4byte gOtherText_MixingRecord - thumb_func_end sub_80944E8 - - thumb_func_start sub_8094508 -sub_8094508: @ 8094508 - push {lr} - sub sp, 0x8 - ldr r1, _08094534 - ldrb r0, [r1, 0xC] - cmp r0, 0 - beq _0809452E - adds r0, r1, 0 - adds r0, 0x82 - ldrh r1, [r0] - mov r0, sp - movs r2, 0x1 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - mov r0, sp - movs r1, 0x1C - movs r2, 0xB - bl sub_8072B4C -_0809452E: - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_08094534: .4byte 0x02000000 - thumb_func_end sub_8094508 - - thumb_func_start sub_8094538 -sub_8094538: @ 8094538 - push {lr} - ldr r0, _08094550 - ldrb r0, [r0, 0xD] - cmp r0, 0 - beq _0809454C - ldr r0, _08094554 - movs r1, 0x3 - movs r2, 0x9 - bl MenuPrint -_0809454C: - pop {r0} - bx r0 - .align 2, 0 -_08094550: .4byte 0x02000000 -_08094554: .4byte gOtherText_TradeRecord - thumb_func_end sub_8094538 - - thumb_func_start sub_8094558 -sub_8094558: @ 8094558 - push {lr} - sub sp, 0x8 - ldr r1, _08094584 - ldrb r0, [r1, 0xD] - cmp r0, 0 - beq _0809457E - adds r0, r1, 0 - adds r0, 0x84 - ldrh r1, [r0] - mov r0, sp - movs r2, 0x1 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - mov r0, sp - movs r1, 0x1C - movs r2, 0x9 - bl sub_8072B4C -_0809457E: - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_08094584: .4byte 0x02000000 - thumb_func_end sub_8094558 - - thumb_func_start unref_sub_8094588 -unref_sub_8094588: @ 8094588 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r2, r1, 16 - ldr r4, _080945B4 - ldr r0, _080945B8 - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - bne _0809459E - ldr r4, _080945BC -_0809459E: - lsls r1, r3, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - bl MenuPrint - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080945B4: .4byte gOtherText_Boy -_080945B8: .4byte gSaveBlock2 -_080945BC: .4byte gOtherText_Girl - thumb_func_end unref_sub_8094588 - - thumb_func_start sub_80945C0 -sub_80945C0: @ 80945C0 - push {r4-r6,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - movs r6, 0xC - bl sub_809473C - lsls r0, 24 - cmp r0, 0 - beq _080945D8 - movs r6, 0xD -_080945D8: - ldr r0, _08094658 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0809465C - lsls r0, r5, 24 - lsrs r0, 24 - lsls r1, r4, 24 - lsrs r1, 24 - adds r2, r5, r6 - lsls r2, 24 - lsrs r2, 24 - adds r3, r4, 0 - adds r3, 0xB - lsls r3, 24 - lsrs r3, 24 - bl MenuDrawTextWindow - lsls r0, r5, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r5, r0, 16 - asrs r0, 16 - lsls r1, r4, 16 - movs r2, 0x80 - lsls r2, 9 - adds r1, r2 - lsrs r4, r1, 16 - asrs r1, 16 - bl sub_8094778 - lsls r5, 16 - asrs r5, 16 - lsls r1, r4, 16 - asrs r4, r1, 16 - movs r0, 0x80 - lsls r0, 10 - adds r1, r0 - asrs r1, 16 - adds r0, r5, 0 - bl sub_8094740 - adds r1, r4, 0x4 - lsls r1, 16 - asrs r1, 16 - adds r0, r5, 0 - bl sub_80947B0 - adds r1, r4, 0x6 - lsls r1, 16 - asrs r1, 16 - adds r0, r5, 0 - bl sub_80947F8 - adds r4, 0x8 - lsls r4, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8094844 - b _080946C2 - .align 2, 0 -_08094658: .4byte 0x00000801 -_0809465C: - lsls r0, r5, 24 - lsrs r0, 24 - lsls r1, r4, 24 - lsrs r1, 24 - adds r2, r5, r6 - lsls r2, 24 - lsrs r2, 24 - adds r3, r4, 0 - adds r3, 0x9 - lsls r3, 24 - lsrs r3, 24 - bl MenuDrawTextWindow - lsls r0, r5, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r5, r0, 16 - asrs r0, 16 - lsls r1, r4, 16 - movs r2, 0x80 - lsls r2, 9 - adds r1, r2 - lsrs r4, r1, 16 - asrs r1, 16 - bl sub_8094778 - lsls r5, 16 - asrs r5, 16 - lsls r1, r4, 16 - asrs r4, r1, 16 - movs r0, 0x80 - lsls r0, 10 - adds r1, r0 - asrs r1, 16 - adds r0, r5, 0 - bl sub_8094740 - adds r1, r4, 0x4 - lsls r1, 16 - asrs r1, 16 - adds r0, r5, 0 - bl sub_80947B0 - adds r4, 0x6 - lsls r4, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8094844 -_080946C2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80945C0 - - thumb_func_start sub_80946C8 -sub_80946C8: @ 80946C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r4, r0, 16 - adds r7, r4, 0 - lsls r1, 16 - lsrs r5, r1, 16 - mov r8, r5 - movs r6, 0xC - bl sub_809473C - lsls r0, 24 - cmp r0, 0 - beq _080946E8 - movs r6, 0xD -_080946E8: - ldr r0, _08094710 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08094714 - lsls r0, r4, 24 - lsrs r0, 24 - lsls r1, r5, 24 - lsrs r1, 24 - adds r2, r4, r6 - lsls r2, 24 - lsrs r2, 24 - adds r3, r5, 0 - adds r3, 0xB - lsls r3, 24 - lsrs r3, 24 - bl MenuZeroFillWindowRect - b _08094730 - .align 2, 0 -_08094710: .4byte 0x00000801 -_08094714: - lsls r0, r7, 24 - lsrs r0, 24 - mov r2, r8 - lsls r1, r2, 24 - lsrs r1, 24 - adds r2, r7, r6 - lsls r2, 24 - lsrs r2, 24 - mov r3, r8 - adds r3, 0x9 - lsls r3, 24 - lsrs r3, 24 - bl MenuZeroFillWindowRect -_08094730: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80946C8 - - thumb_func_start sub_809473C -sub_809473C: @ 809473C - movs r0, 0x1 - bx lr - thumb_func_end sub_809473C - - thumb_func_start sub_8094740 -sub_8094740: @ 8094740 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _08094770 - lsls r1, r4, 24 - lsrs r1, 24 - lsls r5, 24 - lsrs r5, 24 - adds r2, r5, 0 - bl MenuPrint - ldr r0, _08094774 - adds r4, 0xC - lsls r4, 24 - lsrs r4, 24 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8072B4C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08094770: .4byte gOtherText_Player -_08094774: .4byte gSaveBlock2 - thumb_func_end sub_8094740 - - thumb_func_start sub_8094778 -sub_8094778: @ 8094778 - push {r4,r5,lr} - sub sp, 0x20 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r0, _080947AC - ldrb r1, [r0, 0x14] - mov r0, sp - bl sub_80FBFF8 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - bl MenuPrint - add sp, 0x20 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080947AC: .4byte gMapHeader - thumb_func_end sub_8094778 - - thumb_func_start sub_80947B0 -sub_80947B0: @ 80947B0 - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _080947F4 - lsls r1, r4, 24 - lsrs r1, 24 - lsls r5, 24 - lsrs r5, 24 - adds r2, r5, 0 - bl MenuPrint - bl GetBadgeCount - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - bl ConvertIntToDecimalString - adds r4, 0xC - lsls r4, 24 - lsrs r4, 24 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8072B4C - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080947F4: .4byte gOtherText_Badges - thumb_func_end sub_80947B0 - - thumb_func_start sub_80947F8 -sub_80947F8: @ 80947F8 - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _08094840 - lsls r1, r4, 24 - lsrs r1, 24 - lsls r5, 24 - lsrs r5, 24 - adds r2, r5, 0 - bl MenuPrint - bl GetPokedexSeenCount - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r0, sp - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r4, 0xC - lsls r4, 24 - lsrs r4, 24 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8072B4C - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08094840: .4byte gOtherText_Pokedex - thumb_func_end sub_80947F8 - - thumb_func_start sub_8094844 -sub_8094844: @ 8094844 - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _08094888 - lsls r1, r4, 24 - lsrs r1, 24 - lsls r5, 24 - lsrs r5, 24 - adds r2, r5, 0 - bl MenuPrint - ldr r0, _0809488C - ldrh r1, [r0, 0xE] - ldrb r2, [r0, 0x10] - mov r0, sp - movs r3, 0x1 - bl FormatPlayTime - adds r4, 0xC - lsls r4, 24 - lsrs r4, 24 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8072B4C - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08094888: .4byte gOtherText_PlayTime -_0809488C: .4byte gSaveBlock2 - thumb_func_end sub_8094844 - - thumb_func_start GetBadgeCount -GetBadgeCount: @ 8094890 - push {r4,r5,lr} - movs r5, 0 - ldr r4, _080948BC -_08094896: - lsls r0, r4, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080948AA - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_080948AA: - adds r4, 0x1 - ldr r0, _080948C0 - cmp r4, r0 - ble _08094896 - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080948BC: .4byte 0x00000807 -_080948C0: .4byte 0x0000080e - thumb_func_end GetBadgeCount - - thumb_func_start GetPokedexSeenCount -GetPokedexSeenCount: @ 80948C4 - push {lr} - bl sub_806912C - cmp r0, 0 - beq _080948D6 - movs r0, 0x1 - bl pokedex_count - b _080948DC -_080948D6: - movs r0, 0x1 - bl sub_8090F68 -_080948DC: - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end GetPokedexSeenCount - - thumb_func_start FormatPlayTime -FormatPlayTime: @ 80948E4 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r3, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - lsls r4, 16 - lsrs r4, 16 - bl ConvertIntToDecimalString - adds r5, r0, 0 - movs r0, 0 - strb r0, [r5] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0 - beq _0809490E - movs r0, 0xF0 - strb r0, [r5, 0x1] - b _08094910 -_0809490E: - strb r4, [r5, 0x1] -_08094910: - movs r0, 0 - strb r0, [r5, 0x2] - adds r5, 0x3 - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end FormatPlayTime - - thumb_func_start unref_sub_8094928 -unref_sub_8094928: @ 8094928 - push {lr} - ldr r1, _08094938 - ldr r2, _0809493C - bl memcpy - pop {r0} - bx r0 - .align 2, 0 -_08094938: .4byte gPokemonStorage -_0809493C: .4byte 0x000083d0 - thumb_func_end unref_sub_8094928 - - thumb_func_start unref_sub_8094940 -unref_sub_8094940: @ 8094940 - push {lr} - adds r1, r0, 0 - ldr r0, _08094950 - ldr r2, _08094954 - bl memcpy - pop {r0} - bx r0 - .align 2, 0 -_08094950: .4byte gPokemonStorage -_08094954: .4byte 0x000083d0 - thumb_func_end unref_sub_8094940 - - thumb_func_start sub_8094958 -sub_8094958: @ 8094958 - push {r4,lr} - ldr r4, _08094974 - bl sub_803FBBC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8094998 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08094974: .4byte gUnknown_02038470 - thumb_func_end sub_8094958 - - thumb_func_start sub_8094978 -sub_8094978: @ 8094978 - push {lr} - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r2, 1 - adds r0, r2 - ldr r3, _08094994 - adds r0, r3 - bl sub_8094A74 - pop {r0} - bx r0 - .align 2, 0 -_08094994: .4byte 0x0201606c - thumb_func_end sub_8094978 - - thumb_func_start sub_8094998 -sub_8094998: @ 8094998 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080949CE - cmp r4, 0 - beq _080949C0 - movs r0, 0x30 - strb r0, [r6] - movs r0, 0x45 - strb r0, [r6, 0x1] - movs r0, 0x12 - strb r0, [r6, 0x2] - b _08094A68 -_080949C0: - movs r0, 0x3 - strb r0, [r6] - movs r0, 0x12 - strb r0, [r6, 0x1] - movs r0, 0x45 - strb r0, [r6, 0x2] - b _08094A68 -_080949CE: - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - bne _08094A0C - movs r5, 0x1 - movs r0, 0 - bl battle_get_side_with_given_state - mov r2, sp - ldr r1, _08094A08 - lsls r0, 24 - lsrs r0, 23 - adds r0, r1 - ldrh r0, [r0] - strb r0, [r2] - movs r4, 0 - mov r1, sp -_080949F2: - ldrb r0, [r1] - cmp r4, r0 - beq _08094A00 - mov r2, sp - adds r0, r2, r5 - strb r4, [r0] - adds r5, 0x1 -_08094A00: - adds r4, 0x1 - cmp r4, 0x5 - ble _080949F2 - b _08094A50 - .align 2, 0 -_08094A08: .4byte gUnknown_02024A6A -_08094A0C: - movs r5, 0x2 - movs r0, 0 - bl battle_get_side_with_given_state - mov r1, sp - ldr r4, _08094A70 - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - ldrh r0, [r0] - strb r0, [r1] - movs r0, 0x2 - bl battle_get_side_with_given_state - mov r1, sp - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - ldrh r0, [r0] - strb r0, [r1, 0x1] - movs r4, 0 -_08094A36: - ldrb r0, [r1] - cmp r4, r0 - beq _08094A4A - ldrb r0, [r1, 0x1] - cmp r4, r0 - beq _08094A4A - mov r2, sp - adds r0, r2, r5 - strb r4, [r0] - adds r5, 0x1 -_08094A4A: - adds r4, 0x1 - cmp r4, 0x5 - ble _08094A36 -_08094A50: - movs r4, 0 - mov r3, sp -_08094A54: - adds r0, r6, r4 - ldrb r1, [r3] - lsls r1, 4 - ldrb r2, [r3, 0x1] - orrs r1, r2 - strb r1, [r0] - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - ble _08094A54 -_08094A68: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08094A70: .4byte gUnknown_02024A6A - thumb_func_end sub_8094998 - - thumb_func_start sub_8094A74 -sub_8094A74: @ 8094A74 - push {r4-r7,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r0, r2, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r0, 24 - lsrs r0, 24 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _08094A9C - movs r0, 0 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - b _08094AA8 -_08094A9C: - movs r0, 0x1 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x3 -_08094AA8: - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08094ADC - cmp r7, 0 - beq _08094ACE - movs r0, 0x30 - strb r0, [r5] - movs r0, 0x45 - strb r0, [r5, 0x1] - movs r0, 0x12 - strb r0, [r5, 0x2] - b _08094B5E -_08094ACE: - movs r0, 0x3 - strb r0, [r5] - movs r0, 0x12 - strb r0, [r5, 0x1] - movs r0, 0x45 - strb r0, [r5, 0x2] - b _08094B5E -_08094ADC: - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - bne _08094B14 - movs r3, 0x1 - mov r2, sp - ldr r1, _08094B10 - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - strb r0, [r2] - movs r4, 0 - mov r1, sp -_08094AF8: - ldrb r0, [r1] - cmp r4, r0 - beq _08094B06 - mov r2, sp - adds r0, r2, r3 - strb r4, [r0] - adds r3, 0x1 -_08094B06: - adds r4, 0x1 - cmp r4, 0x5 - ble _08094AF8 - b _08094B46 - .align 2, 0 -_08094B10: .4byte gUnknown_02024A6A -_08094B14: - movs r3, 0x2 - mov r1, sp - ldr r2, _08094B68 - lsls r0, r4, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - lsls r0, r6, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x1] - movs r4, 0 -_08094B2C: - ldrb r0, [r1] - cmp r4, r0 - beq _08094B40 - ldrb r0, [r1, 0x1] - cmp r4, r0 - beq _08094B40 - mov r2, sp - adds r0, r2, r3 - strb r4, [r0] - adds r3, 0x1 -_08094B40: - adds r4, 0x1 - cmp r4, 0x5 - ble _08094B2C -_08094B46: - movs r4, 0 - mov r3, sp -_08094B4A: - adds r0, r5, r4 - ldrb r1, [r3] - lsls r1, 4 - ldrb r2, [r3, 0x1] - orrs r1, r2 - strb r1, [r0] - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - ble _08094B4A -_08094B5E: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08094B68: .4byte gUnknown_02024A6A - thumb_func_end sub_8094A74 - - thumb_func_start sub_8094B6C -sub_8094B6C: @ 8094B6C - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - movs r7, 0 - bl sub_806B528 - lsls r0, 24 - cmp r0, 0 - beq _08094C16 - lsls r0, r4, 1 - adds r0, r4 - ldr r1, _08094BCC - adds r4, r0, r1 - movs r2, 0 - add r6, sp - mov r12, r6 - movs r6, 0xF - mov r3, sp -_08094B9A: - adds r1, r4, r2 - ldrb r0, [r1] - lsrs r0, 4 - strb r0, [r3] - adds r3, 0x1 - ldrb r1, [r1] - adds r0, r6, 0 - ands r0, r1 - strb r0, [r3] - adds r3, 0x1 - adds r2, 0x1 - cmp r2, 0x2 - ble _08094B9A - mov r0, r12 - ldrb r3, [r0] - movs r2, 0 - mov r0, sp - ldrb r0, [r0] - cmp r0, r5 - bne _08094BD0 - mov r0, sp - ldrb r7, [r0] - strb r3, [r0] - b _08094BE4 - .align 2, 0 -_08094BCC: .4byte 0x0201606c -_08094BD0: - adds r2, 0x1 - cmp r2, 0x5 - bgt _08094BE4 - mov r0, sp - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, r5 - bne _08094BD0 - adds r7, r0, 0 - strb r3, [r1] -_08094BE4: - cmp r2, 0x6 - beq _08094C16 - mov r0, r12 - strb r7, [r0] - mov r0, sp - ldrb r0, [r0] - lsls r0, 4 - mov r1, sp - ldrb r1, [r1, 0x1] - orrs r0, r1 - strb r0, [r4] - mov r0, sp - ldrb r0, [r0, 0x2] - lsls r0, 4 - mov r1, sp - ldrb r1, [r1, 0x3] - orrs r0, r1 - strb r0, [r4, 0x1] - mov r0, sp - ldrb r0, [r0, 0x4] - lsls r0, 4 - mov r1, sp - ldrb r1, [r1, 0x5] - orrs r0, r1 - strb r0, [r4, 0x2] -_08094C16: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8094B6C - - thumb_func_start sub_8094C20 -sub_8094C20: @ 8094C20 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0x1 - ands r1, r2 - lsrs r2, r0, 25 - cmp r1, 0 - beq _08094C40 - ldr r0, _08094C3C - adds r0, r2, r0 - ldrb r0, [r0] - movs r1, 0xF - ands r1, r0 - b _08094C48 - .align 2, 0 -_08094C3C: .4byte gUnknown_02038470 -_08094C40: - ldr r0, _08094C50 - adds r0, r2, r0 - ldrb r0, [r0] - lsrs r1, r0, 4 -_08094C48: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_08094C50: .4byte gUnknown_02038470 - thumb_func_end sub_8094C20 - - thumb_func_start sub_8094C54 -sub_8094C54: @ 8094C54 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - movs r1, 0x1 - ands r1, r3 - lsrs r3, r0, 25 - cmp r1, 0 - beq _08094C7C - ldr r0, _08094C78 - adds r0, r3, r0 - ldrb r2, [r0] - movs r1, 0xF0 - ands r1, r2 - orrs r1, r4 - strb r1, [r0] - b _08094C8C - .align 2, 0 -_08094C78: .4byte gUnknown_02038470 -_08094C7C: - ldr r2, _08094C94 - adds r2, r3, r2 - ldrb r1, [r2] - movs r0, 0xF - ands r0, r1 - lsls r1, r4, 4 - orrs r0, r1 - strb r0, [r2] -_08094C8C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08094C94: .4byte gUnknown_02038470 - thumb_func_end sub_8094C54 - - thumb_func_start sub_8094C98 -sub_8094C98: @ 8094C98 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - adds r0, r5, 0 - bl sub_8094C20 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - bl sub_8094C20 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_8094C54 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8094C54 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8094C98 - - thumb_func_start pokemon_order_func -pokemon_order_func: @ 8094CD4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r3, 0 - movs r2, 0 - ldr r5, _08094CFC -_08094CE0: - adds r0, r3, r5 - ldrb r1, [r0] - lsrs r0, r1, 4 - cmp r0, r4 - beq _08094CF8 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0xF - ands r0, r1 - cmp r0, r4 - bne _08094D00 -_08094CF8: - adds r0, r2, 0 - b _08094D12 - .align 2, 0 -_08094CFC: .4byte gUnknown_02038470 -_08094D00: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _08094CE0 - movs r0, 0 -_08094D12: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end pokemon_order_func - - thumb_func_start pokemon_change_order -pokemon_change_order: @ 8094D18 - push {r4,r5,lr} - ldr r0, _08094D58 - ldr r1, _08094D5C - movs r2, 0x96 - lsls r2, 2 - bl memcpy - movs r4, 0 - movs r5, 0x64 -_08094D2A: - adds r0, r4, 0 - bl pokemon_order_func - lsls r0, 24 - lsrs r0, 24 - muls r0, r5 - ldr r1, _08094D5C - adds r0, r1 - adds r1, r4, 0 - muls r1, r5 - ldr r2, _08094D58 - adds r1, r2 - movs r2, 0x64 - bl memcpy - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08094D2A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08094D58: .4byte 0x0201b000 -_08094D5C: .4byte gPlayerParty - thumb_func_end pokemon_change_order - - thumb_func_start sub_8094D60 -sub_8094D60: @ 8094D60 - push {r4,r5,lr} - ldr r4, _08094DA8 - add sp, r4 - ldr r1, _08094DAC - movs r2, 0x96 - lsls r2, 2 - mov r0, sp - bl memcpy - movs r4, 0 - movs r5, 0x64 -_08094D76: - adds r0, r4, 0 - bl sub_8094C20 - lsls r0, 24 - lsrs r0, 24 - muls r0, r5 - ldr r1, _08094DAC - adds r0, r1 - adds r1, r4, 0 - muls r1, r5 - add r1, sp - movs r2, 0x64 - bl memcpy - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08094D76 - movs r3, 0x96 - lsls r3, 2 - add sp, r3 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08094DA8: .4byte 0xfffffda8 -_08094DAC: .4byte gPlayerParty - thumb_func_end sub_8094D60 - - thumb_func_start unref_sub_8094DB0 -unref_sub_8094DB0: @ 8094DB0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0x1 - movs r7, 0x64 - ldr r0, _08094E08 - mov r8, r0 -_08094DBE: - adds r0, r6, 0 - bl sub_8094C20 - lsls r0, 24 - lsrs r0, 24 - muls r0, r7 - mov r1, r8 - adds r5, r0, r1 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08094E0C - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08094E0C - movs r0, 0 - bl sub_8094C20 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - adds r1, r6, 0 - bl sub_8094C98 - adds r0, r4, 0 - muls r0, r7 - add r0, r8 - adds r1, r5, 0 - bl sub_806E6F0 - b _08094E16 - .align 2, 0 -_08094E08: .4byte gPlayerParty -_08094E0C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x5 - bls _08094DBE -_08094E16: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end unref_sub_8094DB0 - - thumb_func_start sub_8094E20 -sub_8094E20: @ 8094E20 - push {lr} - ldr r3, _08094E44 - ldrb r1, [r3, 0x8] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r3, 0x8] - ldr r1, _08094E48 - strb r0, [r1] - bl nullsub_14 - bl pokemon_change_order - movs r0, 0x1 - movs r1, 0xFF - bl sub_806AFAC - pop {r0} - bx r0 - .align 2, 0 -_08094E44: .4byte gPaletteFade -_08094E48: .4byte gUnknown_02038473 - thumb_func_end sub_8094E20 - - thumb_func_start sub_8094E4C -sub_8094E4C: @ 8094E4C - push {lr} - movs r0, 0x3 - bl sub_8094E20 - pop {r0} - bx r0 - thumb_func_end sub_8094E4C - - thumb_func_start sub_8094E58 -sub_8094E58: @ 8094E58 - push {r4,r5,lr} - ldr r1, _08094E78 - movs r2, 0x99 - lsls r2, 2 - adds r0, r1, r2 - movs r3, 0 - ldrsh r0, [r0, r3] - adds r4, r1, 0 - cmp r0, 0xA - bls _08094E6E - b _08095048 -_08094E6E: - lsls r0, 2 - ldr r1, _08094E7C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08094E78: .4byte 0x0201b000 -_08094E7C: .4byte _08094E80 - .align 2, 0 -_08094E80: - .4byte _08094EAC - .4byte _08094F28 - .4byte _08094F3C - .4byte _08094F4A - .4byte _08094F6C - .4byte _08094F80 - .4byte _08094F94 - .4byte _08094FA8 - .4byte _08094FBC - .4byte _08094FD0 - .4byte _08095000 -_08094EAC: - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08094EDC - ldr r1, _08094ED4 - ldr r0, _08094ED8 - adds r4, r1, r0 - ldrh r2, [r4] - movs r3, 0 - ldrsh r0, [r4, r3] - cmp r0, 0x6 - bne _08094EEC - movs r0, 0 - strh r0, [r4] - movs r3, 0x99 - lsls r3, 2 - adds r1, r3 - b _08094FEC - .align 2, 0 -_08094ED4: .4byte 0x0201b000 -_08094ED8: .4byte 0x00000266 -_08094EDC: - ldr r1, _08094F10 - ldr r0, _08094F14 - adds r4, r1, r0 - ldrh r2, [r4] - movs r3, 0 - ldrsh r0, [r4, r3] - cmp r0, 0x5 - bgt _08094F1C -_08094EEC: - movs r3, 0x98 - lsls r3, 2 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r1, r2, 24 - lsrs r1, 24 - movs r2, 0 - ldrsh r3, [r4, r2] - movs r2, 0x64 - muls r2, r3 - ldr r3, _08094F18 - adds r2, r3 - bl sub_806D90C - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _08095048 - .align 2, 0 -_08094F10: .4byte 0x0201b000 -_08094F14: .4byte 0x00000266 -_08094F18: .4byte gPlayerParty -_08094F1C: - movs r0, 0 - strh r0, [r4] - movs r3, 0x99 - lsls r3, 2 - adds r1, r3 - b _08094FEC -_08094F28: - bl sub_806DA98 - ldr r1, _08094F38 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - b _08094FEC - .align 2, 0 -_08094F38: .4byte 0x0201b000 -_08094F3C: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - bl sub_806DC34 - b _08094FE6 -_08094F4A: - movs r3, 0x98 - lsls r3, 2 - adds r0, r4, r3 - ldrb r0, [r0] - ldr r1, _08094F68 - adds r5, r4, r1 - ldrb r1, [r5] - bl sub_806BD58 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08094FE2 - b _08094FF8 - .align 2, 0 -_08094F68: .4byte 0x00000266 -_08094F6C: - bl sub_806E334 - ldr r1, _08094F7C - movs r3, 0x99 - lsls r3, 2 - adds r1, r3 - b _08094FEC - .align 2, 0 -_08094F7C: .4byte 0x0201b000 -_08094F80: - bl sub_806E0C4 - ldr r1, _08094F90 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - b _08094FEC - .align 2, 0 -_08094F90: .4byte 0x0201b000 -_08094F94: - bl sub_806E53C - ldr r1, _08094FA4 - movs r2, 0x99 - lsls r2, 2 - adds r1, r2 - b _08094FEC - .align 2, 0 -_08094FA4: .4byte 0x0201b000 -_08094FA8: - bl nullsub_13 - ldr r1, _08094FB8 - movs r3, 0x99 - lsls r3, 2 - adds r1, r3 - b _08094FEC - .align 2, 0 -_08094FB8: .4byte 0x0201b000 -_08094FBC: - bl sub_806E6C8 - ldr r1, _08094FCC - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - b _08094FEC - .align 2, 0 -_08094FCC: .4byte 0x0201b000 -_08094FD0: - ldr r1, _08094FF4 - adds r5, r4, r1 - ldrb r0, [r5] - bl sub_806B58C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08094FF8 -_08094FE2: - movs r0, 0 - strh r0, [r5] -_08094FE6: - movs r2, 0x99 - lsls r2, 2 - adds r1, r4, r2 -_08094FEC: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08095048 - .align 2, 0 -_08094FF4: .4byte 0x00000266 -_08094FF8: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _08095048 -_08095000: - ldr r0, _08095024 - ldrb r4, [r0] - cmp r4, 0x3 - bne _0809503C - ldr r0, _08095028 - ldrh r0, [r0] - bl sub_8070E48 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA - bne _08095034 - ldr r0, _0809502C - ldr r3, _08095030 - adds r0, r3 - movs r1, 0xFF - strb r1, [r0] - b _0809503C - .align 2, 0 -_08095024: .4byte gUnknown_02038473 -_08095028: .4byte word_203855E -_0809502C: .4byte 0x0201b000 -_08095030: .4byte 0x00000259 -_08095034: - ldr r0, _08095040 - ldr r1, _08095044 - adds r0, r1 - strb r4, [r0] -_0809503C: - movs r0, 0x1 - b _0809504A - .align 2, 0 -_08095040: .4byte 0x0201b000 -_08095044: .4byte 0x00000259 -_08095048: - movs r0, 0 -_0809504A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8094E58 - - thumb_func_start sub_8095050 -sub_8095050: @ 8095050 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x64 - muls r0, r1 - ldr r1, _0809508C - adds r0, r1 - movs r1, 0x2D - bl GetMonData - adds r5, r0, 0 - cmp r5, 0 - bne _080950C8 - ldr r0, _08095090 - ldrb r4, [r0] - cmp r4, 0x1 - bne _0809509C - ldr r3, _08095094 - ldr r2, _08095098 - movs r0, 0x98 - lsls r0, 2 - adds r2, r0 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - b _080950DE - .align 2, 0 -_0809508C: .4byte gPlayerParty -_08095090: .4byte gUnknown_02038473 -_08095094: .4byte gTasks -_08095098: .4byte 0x0201b000 -_0809509C: - ldr r3, _080950C0 - ldr r2, _080950C4 - movs r0, 0x98 - lsls r0, 2 - adds r2, r0 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - strh r5, [r0, 0x10] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - strh r5, [r0, 0x12] - b _080950EC - .align 2, 0 -_080950C0: .4byte gTasks -_080950C4: .4byte 0x0201b000 -_080950C8: - ldr r3, _08095108 - ldr r2, _0809510C - movs r0, 0x98 - lsls r0, 2 - adds r2, r0 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - movs r4, 0x2 -_080950DE: - strh r4, [r0, 0x10] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - strh r4, [r0, 0x12] -_080950EC: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0, 0x10] - ldr r1, _08095110 - ldr r2, _08095114 - movs r3, 0 - bl sub_806E750 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08095108: .4byte gTasks -_0809510C: .4byte 0x0201b000 -_08095110: .4byte gUnknown_083B5FF4 -_08095114: .4byte gUnknown_083B5FCC - thumb_func_end sub_8095050 - - thumb_func_start sub_8095118 -sub_8095118: @ 8095118 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08095150 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809512C - b _08095268 -_0809512C: - ldr r0, _08095154 - ldrb r0, [r0] - cmp r0, 0x3 - bne _08095164 - ldr r5, _08095158 - ldrh r0, [r5] - bl sub_8070E48 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA - bne _08095164 - ldr r0, _0809515C - ldrh r1, [r5] - ldr r2, _08095160 - ldr r3, [r0] - b _080951AA - .align 2, 0 -_08095150: .4byte gPaletteFade -_08095154: .4byte gUnknown_02038473 -_08095158: .4byte word_203855E -_0809515C: .4byte gUnknown_03004AE4 -_08095160: .4byte sub_80952E4 -_08095164: - adds r0, r4, 0 - bl sub_806BD80 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _08095178 - cmp r0, 0x2 - beq _08095214 - b _08095268 -_08095178: - ldr r0, _080951B4 - ldrb r0, [r0] - cmp r0, 0x3 - bne _080951C8 - adds r0, r4, 0 - bl sub_806CA38 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _080951B8 - adds r0, r1 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0809521C - bl sub_806D5A4 - ldr r3, _080951BC - ldr r0, _080951C0 - ldrh r1, [r0] - ldr r2, _080951C4 - ldr r3, [r3] -_080951AA: - adds r0, r4, 0 - bl _call_via_r3 - b _08095268 - .align 2, 0 -_080951B4: .4byte gUnknown_02038473 -_080951B8: .4byte gPlayerParty -_080951BC: .4byte gUnknown_03004AE4 -_080951C0: .4byte word_203855E -_080951C4: .4byte sub_80952E4 -_080951C8: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_806CA38 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _08095204 - adds r0, r1 - ldr r1, _08095208 - bl GetMonNickname - adds r0, r4, 0 - bl sub_806CA38 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8095050 - ldr r1, _0809520C - ldr r2, _08095210 - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc - b _08095268 - .align 2, 0 -_08095204: .4byte gPlayerParty -_08095208: .4byte gStringVar1 -_0809520C: .4byte sub_8095408 -_08095210: .4byte sub_8095118 -_08095214: - ldr r5, _08095224 - ldrb r0, [r5] - cmp r0, 0x1 - bne _08095228 -_0809521C: - movs r0, 0x20 - bl PlaySE - b _08095268 - .align 2, 0 -_08095224: .4byte gUnknown_02038473 -_08095228: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r5] - cmp r0, 0x3 - bne _08095254 - ldr r1, _08095248 - movs r0, 0 - strb r0, [r1] - ldr r1, _0809524C - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095250 - b _08095266 - .align 2, 0 -_08095248: .4byte gUnknown_0202E8F4 -_0809524C: .4byte gTasks -_08095250: .4byte sub_80952E4 -_08095254: - ldr r1, _08095270 - movs r0, 0 - strb r0, [r1] - ldr r1, _08095274 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095278 -_08095266: - str r1, [r0] -_08095268: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08095270: .4byte gUnknown_0202E8F4 -_08095274: .4byte gTasks -_08095278: .4byte sub_809527C - thumb_func_end sub_8095118 - - thumb_func_start sub_809527C -sub_809527C: @ 809527C - 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, _080952AC - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080952B0 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080952AC: .4byte gTasks -_080952B0: .4byte sub_80952B4 - thumb_func_end sub_809527C - - thumb_func_start sub_80952B4 -sub_80952B4: @ 80952B4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080952DC - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080952D6 - bl sub_8094D60 - adds r0, r4, 0 - bl DestroyTask - ldr r0, _080952E0 - bl SetMainCallback2 -_080952D6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080952DC: .4byte gPaletteFade -_080952E0: .4byte sub_802E414 - thumb_func_end sub_80952B4 - - thumb_func_start sub_80952E4 -sub_80952E4: @ 80952E4 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080952FC - ldrb r1, [r0] - cmp r1, 0 - beq _08095300 - adds r0, r4, 0 - bl sub_809527C - b _0809531E - .align 2, 0 -_080952FC: .4byte gUnknown_0202E8F4 -_08095300: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08095328 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809532C - str r1, [r0] -_0809531E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08095328: .4byte gTasks -_0809532C: .4byte sub_8095330 - thumb_func_end sub_80952E4 - - thumb_func_start sub_8095330 -sub_8095330: @ 8095330 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08095358 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08095350 - bl sub_8094D60 - adds r0, r4, 0 - bl DestroyTask - bl sub_80A6DCC -_08095350: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08095358: .4byte gPaletteFade - thumb_func_end sub_8095330 - - thumb_func_start sub_809535C -sub_809535C: @ 809535C - push {lr} - ldr r2, _08095380 - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r2, _08095384 - movs r0, 0x1 - movs r1, 0xFF - movs r3, 0x5 - bl sub_806AF4C - ldr r0, _08095388 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_08095380: .4byte gPaletteFade -_08095384: .4byte sub_8095118 -_08095388: .4byte sub_809538C - thumb_func_end sub_809535C - - thumb_func_start sub_809538C -sub_809538C: @ 809538C - push {r4,r5,lr} - ldr r4, _080953D8 - ldr r5, _080953DC -_08095392: - bl sub_806B124 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080953F4 - ldrb r0, [r4] - ldrb r1, [r5] - bl sub_806C994 - ldrb r0, [r4] - movs r1, 0 - bl sub_806BF74 - ldrb r1, [r5] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080953E0 - adds r0, r1 - ldr r1, _080953E4 - bl GetMonNickname - ldrb r0, [r4] - ldrb r1, [r5] - bl sub_8095050 - ldrb r0, [r4] - ldr r1, _080953E8 - ldr r2, _080953EC - bl SetTaskFuncWithFollowupFunc - ldr r0, _080953F0 - bl SetMainCallback2 - b _08095400 - .align 2, 0 -_080953D8: .4byte 0x0201b260 -_080953DC: .4byte gUnknown_020384F0 -_080953E0: .4byte gPlayerParty -_080953E4: .4byte gStringVar1 -_080953E8: .4byte sub_8095408 -_080953EC: .4byte sub_8095118 -_080953F0: .4byte sub_806AEDC -_080953F4: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08095392 -_08095400: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_809538C - - thumb_func_start sub_8095408 -sub_8095408: @ 8095408 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, r7, 0 - ldr r0, _0809543C - ldrb r1, [r0, 0x7] - movs r3, 0x80 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _080954B8 - ldr r2, _08095440 - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08095444 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _080954B8 - .align 2, 0 -_0809543C: .4byte gPaletteFade -_08095440: .4byte gMain -_08095444: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0809545A - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _080954B8 -_0809545A: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080954A4 - movs r0, 0x5 - bl PlaySE - ldr r1, _08095498 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrb r4, [r0, 0x10] - ldr r5, _0809549C - ldr r6, _080954A0 - bl GetMenuCursorPos - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_806E81C - adds r1, r0, 0 - adds r0, r7, 0 - bl _call_via_r1 - b _080954B8 - .align 2, 0 -_08095498: .4byte gTasks -_0809549C: .4byte gUnknown_083B5FF4 -_080954A0: .4byte gUnknown_083B5FCC -_080954A4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080954B8 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_80958C4 -_080954B8: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8095408 - - thumb_func_start sub_80954C0 -sub_80954C0: @ 80954C0 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080954D8 - ldrb r0, [r0] - cmp r0, 0 - bne _080954D4 - adds r0, r1, 0 - bl sub_80958C4 -_080954D4: - pop {r0} - bx r0 - .align 2, 0 -_080954D8: .4byte gUnknown_0202E8F6 - thumb_func_end sub_80954C0 - - thumb_func_start sub_80954DC -sub_80954DC: @ 80954DC - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_806CA38 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0809552C - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08095522 - adds r0, r4, 0 - bl DestroyTask - ldr r0, _08095530 - ldr r1, _08095534 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, _08095538 - ldr r1, _0809553C - ldrb r2, [r1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _08095540 - movs r1, 0x4 - str r1, [sp] - adds r1, r5, 0 - bl sub_809D8BC -_08095522: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809552C: .4byte gPaletteFade -_08095530: .4byte 0x0201b000 -_08095534: .4byte 0x00000262 -_08095538: .4byte gPlayerParty -_0809553C: .4byte gPlayerPartyCount -_08095540: .4byte sub_809535C - thumb_func_end sub_80954DC - - thumb_func_start sub_8095544 -sub_8095544: @ 8095544 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_806CA38 - ldr r1, _0809557C - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095580 - str r1, [r0] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809557C: .4byte gTasks -_08095580: .4byte sub_80954DC - thumb_func_end sub_8095544 - - thumb_func_start sub_8095584 -sub_8095584: @ 8095584 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080955F8 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x10] - ldr r1, _080955FC - bl sub_806E7D0 - adds r0, r6, 0 - bl sub_806CA38 - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08095610 - cmp r5, 0x1 - beq _080955C6 - cmp r5, 0x4 - beq _080955C6 - cmp r5, 0x5 - bne _08095610 -_080955C6: - bl sub_806D5A4 - ldr r4, _08095600 - bl sub_8040D08 - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r4, _08095604 - ldr r1, _08095608 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r1, _080955F8 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809560C - b _0809589A - .align 2, 0 -_080955F8: .4byte gTasks -_080955FC: .4byte gUnknown_083B5FF4 -_08095600: .4byte gStringVar1 -_08095604: .4byte gStringVar4 -_08095608: .4byte gOtherText_CantSwitchPokeWithYours -_0809560C: .4byte sub_80954C0 -_08095610: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08095654 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _0809566C - bl sub_806D5A4 - ldr r1, _08095658 - adds r0, r4, 0 - bl GetMonNickname - ldr r4, _0809565C - ldr r1, _08095660 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r1, _08095664 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095668 - b _0809589A - .align 2, 0 -_08095654: .4byte gPlayerParty -_08095658: .4byte gStringVar1 -_0809565C: .4byte gStringVar4 -_08095660: .4byte gOtherText_NoEnergyLeft -_08095664: .4byte gTasks -_08095668: .4byte sub_80954C0 -_0809566C: - movs r4, 0 - ldr r0, _08095678 - lsls r1, r6, 2 - mov r8, r1 - b _080956A8 - .align 2, 0 -_08095678: .4byte gUnknown_02024A68 -_0809567C: - adds r0, r4, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _080956A0 - adds r0, r5, 0 - bl sub_8094C20 - lsls r0, 24 - ldr r2, _080956EC - lsls r1, r4, 1 - adds r1, r2 - lsrs r0, 24 - ldrh r1, [r1] - cmp r0, r1 - bne _080956A0 - b _08095808 -_080956A0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080956F0 -_080956A8: - ldrb r0, [r0] - cmp r4, r0 - bcc _0809567C - movs r2, 0x64 - mov r9, r2 - mov r0, r9 - muls r0, r5 - ldr r1, _080956F4 - mov r10, r1 - adds r7, r0, r1 - adds r0, r7, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _08095708 - bl sub_806D5A4 - ldr r4, _080956F8 - ldr r1, _080956FC - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r1, _08095700 - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095704 - b _0809589A - .align 2, 0 -_080956EC: .4byte gUnknown_02024A6A -_080956F0: .4byte gUnknown_02024A68 -_080956F4: .4byte gPlayerParty -_080956F8: .4byte gStringVar4 -_080956FC: .4byte gOtherText_EGGCantBattle -_08095700: .4byte gTasks -_08095704: .4byte sub_80954C0 -_08095708: - adds r0, r5, 0 - bl sub_8094C20 - ldr r1, _0809574C - ldr r2, _08095750 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _08095768 - bl sub_806D5A4 - ldr r1, _08095754 - adds r0, r7, 0 - bl GetMonNickname - ldr r4, _08095758 - ldr r1, _0809575C - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r1, _08095760 - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095764 - b _0809589A - .align 2, 0 -_0809574C: .4byte 0x02000000 -_08095750: .4byte 0x0001609d -_08095754: .4byte gStringVar1 -_08095758: .4byte gStringVar4 -_0809575C: .4byte gOtherText_AlreadySelected -_08095760: .4byte gTasks -_08095764: .4byte sub_80954C0 -_08095768: - ldr r0, _08095790 - ldrb r0, [r0] - cmp r0, 0x4 - bne _080957A0 - bl sub_806D5A4 - bl sub_8040B8C - ldr r0, _08095794 - movs r1, 0 - bl sub_806E834 - ldr r1, _08095798 - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809579C - b _0809589A - .align 2, 0 -_08095790: .4byte gUnknown_02038473 -_08095794: .4byte gStringVar4 -_08095798: .4byte gTasks -_0809579C: .4byte sub_80954C0 -_080957A0: - cmp r0, 0x2 - bne _08095854 - ldr r0, _080957EC - ldrb r4, [r0] - bl sub_806D5A4 - ldr r0, _080957F0 - lsls r4, 1 - adds r4, r0 - ldrb r0, [r4] - bl pokemon_order_func - lsls r0, 24 - lsrs r0, 24 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r10 - ldr r1, _080957F4 - bl GetMonNickname - ldr r4, _080957F8 - ldr r1, _080957FC - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r1, _08095800 - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095804 - b _0809589A - .align 2, 0 -_080957EC: .4byte gUnknown_02024E6C -_080957F0: .4byte gUnknown_02024A6A -_080957F4: .4byte gStringVar1 -_080957F8: .4byte gStringVar4 -_080957FC: .4byte gOtherText_CantBeSwitched -_08095800: .4byte gTasks -_08095804: .4byte sub_80954C0 -_08095808: - bl sub_806D5A4 - movs r0, 0x64 - muls r0, r5 - ldr r1, _0809583C - adds r0, r1 - ldr r1, _08095840 - bl GetMonNickname - ldr r4, _08095844 - ldr r1, _08095848 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r1, _0809584C - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095850 - b _0809589A - .align 2, 0 -_0809583C: .4byte gPlayerParty -_08095840: .4byte gStringVar1 -_08095844: .4byte gStringVar4 -_08095848: .4byte gOtherText_AlreadyBattle -_0809584C: .4byte gTasks -_08095850: .4byte sub_80954C0 -_08095854: - adds r0, r5, 0 - bl sub_8094C20 - ldr r1, _080958AC - strb r0, [r1] - ldr r1, _080958B0 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _080958B4 - ldr r0, _080958B8 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - bl pokemon_order_func - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8094C98 - mov r0, r9 - muls r0, r4 - add r0, r10 - adds r1, r7, 0 - bl sub_806E6F0 - ldr r1, _080958BC - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _080958C0 -_0809589A: - str r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080958AC: .4byte gUnknown_0202E8F5 -_080958B0: .4byte gUnknown_0202E8F4 -_080958B4: .4byte gUnknown_02024A6A -_080958B8: .4byte gUnknown_02024E6C -_080958BC: .4byte gTasks -_080958C0: .4byte sub_809527C - thumb_func_end sub_8095584 - - thumb_func_start sub_80958C4 -sub_80958C4: @ 80958C4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl sub_8072DEC - ldr r0, _080958FC - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrb r0, [r4, 0x10] - ldr r1, _08095900 - bl sub_806E7D0 - ldrh r0, [r4, 0x12] - strh r0, [r4, 0x10] - movs r0, 0 - movs r1, 0 - bl sub_806D538 - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080958FC: .4byte gTasks -_08095900: .4byte gUnknown_083B5FF4 - thumb_func_end sub_80958C4 - - thumb_func_start sub_8095904 -sub_8095904: @ 8095904 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - str r0, [sp] - adds r7, r1, 0 - adds r4, r2, 0 - ldr r0, [sp, 0x3C] - lsls r4, 24 - lsrs r4, 24 - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x4] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - ldr r0, [sp] - bl StringLength - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r4, 0 - bne _08095988 - movs r5, 0 - cmp r5, r8 - bcs _08095A2E -_0809593E: - ldr r1, [sp] - adds r0, r1, r5 - ldrb r2, [r0] - ldr r0, _08095980 - ands r0, r2 - lsls r0, 6 - movs r1, 0xF - ands r2, r1 - lsls r2, 5 - adds r0, r2 - ldr r1, _08095984 - adds r4, r0, r1 - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x10 - bl CpuSet - movs r2, 0x80 - lsls r2, 2 - adds r0, r4, r2 - ldr r3, [sp, 0x4] - adds r1, r7, r3 - movs r2, 0x10 - bl CpuSet - adds r7, 0x20 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _0809593E - b _08095A2E - .align 2, 0 -_08095980: .4byte 0x0000fff0 -_08095984: .4byte gFont3LatinGlyphs -_08095988: - movs r0, 0 - mov r9, r0 - ldr r1, [sp, 0x8] - lsls r0, r1, 28 - lsrs r0, 24 - str r0, [sp, 0xC] - mov r2, r8 - lsls r0, r2, 21 - movs r1, 0 - lsrs r0, 1 - str r0, [sp, 0x10] -_0809599E: - movs r5, 0 - ldr r3, [sp, 0x4] - adds r3, r7, r3 - str r3, [sp, 0x14] - adds r0, r1, 0x1 - str r0, [sp, 0x18] - cmp r5, r8 - bcs _08095A12 - movs r2, 0xF - mov r12, r2 - lsls r1, 9 - ldr r0, _08095A40 - adds r1, r0 - mov r10, r1 -_080959BA: - ldr r3, [sp] - adds r0, r3, r5 - ldrb r1, [r0] - ldr r0, _08095A44 - ands r0, r1 - lsls r0, 6 - mov r2, r12 - ands r1, r2 - lsls r1, 5 - adds r0, r1 - mov r3, r10 - adds r4, r0, r3 - movs r6, 0 - adds r5, 0x1 -_080959D6: - ldrb r0, [r4] - movs r3, 0xF0 - ands r3, r0 - mov r2, r12 - ands r2, r0 - cmp r3, 0 - bne _080959E6 - ldr r3, [sp, 0xC] -_080959E6: - cmp r2, 0 - bne _080959EC - ldr r2, [sp, 0x8] -_080959EC: - mov r0, r9 - adds r1, r0, 0x1 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldr r1, [sp, 0x40] - adds r0, r1, r0 - orrs r3, r2 - strb r3, [r0] - adds r4, 0x1 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x1F - bls _080959D6 - lsls r0, r5, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _080959BA -_08095A12: - ldr r0, [sp, 0x40] - adds r1, r7, 0 - ldr r3, [sp, 0x10] - lsrs r2, r3, 16 - bl CpuSet - ldr r7, [sp, 0x14] - movs r0, 0 - mov r9, r0 - ldr r1, [sp, 0x18] - lsls r0, r1, 16 - lsrs r1, r0, 16 - cmp r1, 0x1 - bls _0809599E -_08095A2E: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08095A40: .4byte gFont3LatinGlyphs -_08095A44: .4byte 0x0000fff0 - thumb_func_end sub_8095904 - - thumb_func_start unref_sub_8095A48 -unref_sub_8095A48: @ 8095A48 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r7, r3, 24 - movs r6, 0 -_08095A60: - movs r3, 0 - ldrb r0, [r4] - adds r1, r0, 0 - adds r2, r0, 0 - cmp r1, 0xFF - beq _08095ACE -_08095A6C: - mov r0, sp - adds r0, r3 - adds r0, 0x8 - strb r2, [r0] - adds r4, 0x1 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bhi _08095AA8 - ldrb r0, [r4] - adds r1, r0, 0 - adds r2, r0, 0 - cmp r1, 0xFF - bne _08095A6C - cmp r3, 0 - beq _08095ACE - movs r6, 0x1 - cmp r3, 0x3 - bhi _08095AA8 - movs r2, 0 -_08095A96: - adds r0, r3, 0 - adds r1, r0, 0x1 - lsls r1, 16 - lsrs r3, r1, 16 - add r0, sp - adds r0, 0x8 - strb r2, [r0] - cmp r3, 0x3 - bls _08095A96 -_08095AA8: - mov r1, sp - adds r1, r3 - adds r1, 0x8 - movs r0, 0xFF - strb r0, [r1] - str r7, [sp] - ldr r0, [sp, 0x28] - str r0, [sp, 0x4] - add r0, sp, 0x8 - adds r1, r5, 0 - mov r2, r8 - movs r3, 0x80 - bl sub_8095904 - movs r0, 0x80 - lsls r0, 1 - adds r5, r0 - cmp r6, 0 - beq _08095A60 -_08095ACE: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end unref_sub_8095A48 - - thumb_func_start sub_8095ADC -sub_8095ADC: @ 8095ADC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - movs r4, 0 - movs r5, 0 - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r6, r0, 5 -_08095AF0: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - ldr r1, _08095B20 - adds r0, r1 - adds r0, r6, r0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _08095B0C - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_08095B0C: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _08095AF0 - lsls r0, r5, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08095B20: .4byte gUnknown_020300A4 - thumb_func_end sub_8095ADC - - thumb_func_start sub_8095B24 -sub_8095B24: @ 8095B24 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - movs r4, 0 - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r5, r0, 5 -_08095B36: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - ldr r1, _08095B54 - adds r0, r1 - adds r0, r5, r0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _08095B58 - lsls r0, r4, 16 - asrs r0, 16 - b _08095B66 - .align 2, 0 -_08095B54: .4byte gUnknown_020300A4 -_08095B58: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _08095B36 - movs r0, 0x1 - negs r0, r0 -_08095B66: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8095B24 - - thumb_func_start sub_8095B6C -sub_8095B6C: @ 8095B6C - push {r4-r6,lr} - movs r5, 0 - movs r6, 0 -_08095B72: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08095BB0 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08095B9A - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _08095B9A - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_08095B9A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _08095B72 - lsls r0, r6, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08095BB0: .4byte gPlayerParty - thumb_func_end sub_8095B6C - - thumb_func_start sub_8095BB4 -sub_8095BB4: @ 8095BB4 - push {r4-r7,lr} - lsls r0, 24 - movs r5, 0 - movs r6, 0 - lsrs r7, r0, 24 -_08095BBE: - cmp r5, r7 - beq _08095BF6 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08095C0C - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08095BF6 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _08095BF6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08095BF6 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_08095BF6: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _08095BBE - lsls r0, r6, 24 - lsrs r0, 24 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08095C0C: .4byte gPlayerParty - thumb_func_end sub_8095BB4 - - thumb_func_start sub_8095C10 -sub_8095C10: @ 8095C10 - push {lr} - ldr r0, _08095C24 - ldrb r0, [r0] - bl sub_8095BB4 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08095C24: .4byte gUnknown_0202E8CC - thumb_func_end sub_8095C10 - - thumb_func_start sub_8095C28 -sub_8095C28: @ 8095C28 - push {r4,r5,lr} - movs r4, 0 - movs r5, 0 -_08095C2E: - movs r0, 0x64 - muls r0, r4 - ldr r1, _08095C5C - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08095C46 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_08095C46: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x5 - bls _08095C2E - lsls r0, r5, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08095C5C: .4byte gPlayerParty - thumb_func_end sub_8095C28 - - thumb_func_start unref_sub_8095C60 -unref_sub_8095C60: @ 8095C60 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r2, 16 - lsrs r4, 16 - bl StringCopy - adds r1, r0, 0 - adds r5, r4 - cmp r1, r5 - bcs _08095C7E - movs r0, 0 -_08095C76: - strb r0, [r1] - adds r1, 0x1 - cmp r1, r5 - bcc _08095C76 -_08095C7E: - movs r0, 0xFF - strb r0, [r1] - adds r0, r1, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end unref_sub_8095C60 - - thumb_func_start sub_8095C8C -sub_8095C8C: @ 8095C8C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - adds r7, r3, 0 - ldr r5, [sp, 0x1C] - ldr r4, [sp, 0x20] - ldr r0, [sp, 0x24] - mov r9, r0 - ldr r0, [sp, 0x28] - ldr r3, [sp, 0x2C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r3, 16 - lsrs r3, 16 - mov r0, r9 - lsls r0, 17 - mov r9, r0 - lsrs r2, 11 - adds r2, r1 - lsls r2, 1 - adds r6, r2 - adds r0, r4, 0 - muls r0, r3 - adds r0, r5 - lsls r0, 1 - adds r7, r0 - movs r4, 0 - cmp r4, r8 - bcs _08095CFC - mov r0, r9 - lsrs r0, 1 - mov r9, r0 - lsls r5, r3, 1 -_08095CE2: - adds r0, r7, 0 - adds r1, r6, 0 - mov r3, r9 - lsrs r2, r3, 16 - bl CpuSet - adds r6, 0x40 - adds r7, r5 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r8 - bcc _08095CE2 -_08095CFC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8095C8C - - thumb_func_start unref_sub_8095D08 -unref_sub_8095D08: @ 8095D08 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r0, 0 - ldr r0, [sp, 0x28] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsrs r2, 11 - adds r2, r1 - lsls r2, 1 - adds r4, r2 - lsls r3, 17 - lsrs r0, r3, 16 - str r0, [sp, 0x4] - movs r0, 0 - cmp r0, r10 - bcs _08095DB2 - movs r6, 0x80 - lsls r6, 5 - mov r5, sp - ldr r7, _08095D74 - lsrs r3, 17 - mov r9, r3 - mov r1, r9 - movs r2, 0x81 - lsls r2, 24 - orrs r1, r2 - mov r9, r1 -_08095D4E: - adds r3, r4, 0 - ldr r2, [sp, 0x4] - movs r1, 0x40 - adds r1, r4 - mov r8, r1 - adds r0, 0x1 - mov r12, r0 - cmp r2, r6 - bhi _08095D78 - movs r0, 0 - strh r0, [r5] - mov r2, sp - str r2, [r7] - str r4, [r7, 0x4] - mov r0, r9 - str r0, [r7, 0x8] - ldr r0, [r7, 0x8] - b _08095DA6 - .align 2, 0 -_08095D74: .4byte 0x040000d4 -_08095D78: - movs r4, 0 - strh r4, [r5] - ldr r1, _08095DC4 - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - ldr r0, _08095DC8 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r6 - subs r2, r6 - cmp r2, r6 - bhi _08095D78 - strh r4, [r5] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - lsrs r0, r2, 1 - movs r2, 0x81 - lsls r2, 24 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08095DA6: - mov r4, r8 - mov r1, r12 - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, r10 - bcc _08095D4E -_08095DB2: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08095DC4: .4byte 0x040000d4 -_08095DC8: .4byte 0x81000800 - thumb_func_end unref_sub_8095D08 - - thumb_func_start sub_8095DCC -sub_8095DCC: @ 8095DCC - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r0, r3, 24 - cmp r0, 0 - beq _08095DE8 - cmp r0, 0x2 - bne _08095DEC -_08095DE8: - movs r2, 0x1 - b _08095DEE -_08095DEC: - ldr r2, _08095E38 -_08095DEE: - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _08095E44 - lsls r0, r1, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _08095E90 - cmp r1, r7 - bgt _08095E90 -_08095E10: - asrs r4, r0, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - add r0, r8 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _08095E3C - asrs r0, r6, 16 - adds r0, r4, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _08095E90 - cmp r2, r7 - ble _08095E10 - b _08095E90 - .align 2, 0 -_08095E38: .4byte 0x0000ffff -_08095E3C: - adds r0, r4, 0 - b _08095E94 -_08095E40: - adds r0, r5, 0 - b _08095E94 -_08095E44: - lsls r0, r1, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _08095E90 - cmp r1, r7 - bgt _08095E90 -_08095E5C: - asrs r5, r0, 16 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 4 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _08095E80 - adds r0, r4, 0 - movs r1, 0x2D - bl GetBoxMonData - cmp r0, 0 - beq _08095E40 -_08095E80: - asrs r0, r6, 16 - adds r0, r5, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _08095E90 - cmp r2, r7 - ble _08095E5C -_08095E90: - movs r0, 0x1 - negs r0, r0 -_08095E94: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8095DCC - - thumb_func_start sub_8095EA0 -sub_8095EA0: @ 8095EA0 - push {lr} - movs r0, 0x2 - movs r1, 0xF - movs r2, 0x1B - movs r3, 0x12 - bl MenuFillWindowRectWithBlankTile - pop {r0} - bx r0 - thumb_func_end sub_8095EA0 - - thumb_func_start sub_8095EB4 -sub_8095EB4: @ 8095EB4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08095ED8 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _08095ECE - b _080960F4 -_08095ECE: - lsls r0, 2 - ldr r1, _08095EDC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08095ED8: .4byte gTasks -_08095EDC: .4byte _08095EE0 - .align 2, 0 -_08095EE0: - .4byte _08095EF4 - .4byte _08095F1C - .4byte _08095F30 - .4byte _08096042 - .4byte _080960DC -_08095EF4: - ldrb r0, [r4, 0xA] - bl sub_8096168 - bl MenuDisplayMessageBox - ldr r1, _08095F18 - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - b _08095F28 - .align 2, 0 -_08095F18: .4byte gUnknown_083B600C -_08095F1C: - bl sub_807D770 - lsls r0, 24 - cmp r0, 0 - bne _08095F28 - b _080960F4 -_08095F28: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080960F4 -_08095F30: - bl ProcessMenuInput - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0xC] - movs r3, 0xC - ldrsh r1, [r4, r3] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08095FC8 - cmp r1, r0 - bgt _08095F52 - subs r0, 0x1 - cmp r1, r0 - beq _08095F58 - b _08095FE8 -_08095F52: - cmp r1, 0x3 - beq _08095FC8 - b _08095FE8 -_08095F58: - ldrh r3, [r4, 0xA] - strh r3, [r4, 0xE] - ldr r2, _08095FC0 - ldrh r1, [r2, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08095F76 - subs r0, r3, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - cmp r0, 0 - bge _08095F76 - movs r0, 0x3 - strh r0, [r4, 0xE] -_08095F76: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08095F92 - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _08095F92 - movs r0, 0 - strh r0, [r4, 0xE] -_08095F92: - lsls r0, r3, 16 - asrs r0, 16 - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r1, [r4, r3] - cmp r0, r1 - bne _08095FA2 - b _080960F4 -_08095FA2: - strh r2, [r4, 0xA] - bl sub_8095EA0 - ldr r0, _08095FC4 - movs r2, 0xA - ldrsh r1, [r4, r2] - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - b _080960F4 - .align 2, 0 -_08095FC0: .4byte gMain -_08095FC4: .4byte gUnknown_083B600C -_08095FC8: - bl sub_8072DEC - movs r0, 0 - movs r1, 0 - movs r2, 0xD - movs r3, 0x9 - bl MenuZeroFillWindowRect - bl ScriptContext2_Disable - bl EnableBothScriptContexts - adds r0, r5, 0 - bl DestroyTask - b _080960F4 -_08095FE8: - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _08096008 - bl sub_8095C28 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _08096008 - bl sub_8095EA0 - ldr r0, _08096004 - b _08096022 - .align 2, 0 -_08096004: .4byte gPCText_PartyFull2 -_08096008: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _08096034 - bl sub_8095C28 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08096034 - bl sub_8095EA0 - ldr r0, _08096030 -_08096022: - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - movs r0, 0x3 - strh r0, [r4, 0x8] - b _080960F4 - .align 2, 0 -_08096030: .4byte gPCText_OnlyOne -_08096034: - movs r0, 0x1 - movs r1, 0 - bl fade_screen - movs r0, 0x4 - strh r0, [r4, 0x8] - b _080960F4 -_08096042: - ldr r0, _08096088 - ldrh r1, [r0, 0x2E] - movs r3, 0x3 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _080960B8 - movs r0, 0x40 - ands r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _08096090 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _0809606A - strh r3, [r4, 0xA] -_0809606A: - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - bl sub_8095EA0 - ldr r1, _0809608C - movs r3, 0xA - ldrsh r0, [r4, r3] - b _080960C2 - .align 2, 0 -_08096088: .4byte gMain -_0809608C: .4byte gUnknown_083B600C -_08096090: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080960F4 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080960A8 - strh r2, [r4, 0xA] -_080960A8: - movs r0, 0x1 - bl MoveMenuCursor - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] -_080960B8: - bl sub_8095EA0 - ldr r1, _080960D8 - movs r2, 0xA - ldrsh r0, [r4, r2] -_080960C2: - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080960F4 - .align 2, 0 -_080960D8: .4byte gUnknown_083B600C -_080960DC: - ldr r0, _080960FC - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080960F4 - ldrb r0, [r4, 0xC] - bl task_intro_29 - adds r0, r5, 0 - bl DestroyTask -_080960F4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080960FC: .4byte gPaletteFade - thumb_func_end sub_8095EB4 - - thumb_func_start sub_8096100 -sub_8096100: @ 8096100 - push {lr} - ldr r0, _08096128 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809612C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_08096128: .4byte sub_8095EB4 -_0809612C: .4byte gTasks - thumb_func_end sub_8096100 - - thumb_func_start sub_8096130 -sub_8096130: @ 8096130 - push {lr} - ldr r0, _0809615C - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08096160 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - ldr r0, _08096164 - ldrb r0, [r0] - strh r0, [r1, 0xA] - bl pal_fill_black - pop {r0} - bx r0 - .align 2, 0 -_0809615C: .4byte sub_8095EB4 -_08096160: .4byte gTasks -_08096164: .4byte gUnknown_02038474 - thumb_func_end sub_8096130 - - thumb_func_start sub_8096168 -sub_8096168: @ 8096168 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0xD - movs r3, 0x9 - bl MenuDrawTextWindow - ldr r3, _080961A4 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x4 - bl PrintMenuItems - str r4, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x4 - bl InitMenu - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080961A4: .4byte gUnknown_083B600C - thumb_func_end sub_8096168 - - thumb_func_start sub_80961A8 -sub_80961A8: @ 80961A8 - push {lr} - ldr r1, _080961C4 - ldr r0, _080961C8 - ldr r0, [r0] - ldrb r0, [r0, 0x5] - strb r0, [r1] - ldr r1, _080961CC - ldr r0, _080961D0 - str r0, [r1] - ldr r0, _080961D4 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080961C4: .4byte gUnknown_02038474 -_080961C8: .4byte gUnknown_083B6DB4 -_080961CC: .4byte gUnknown_0300485C -_080961D0: .4byte sub_8096130 -_080961D4: .4byte c2_exit_to_overworld_2_switch - thumb_func_end sub_80961A8 - - thumb_func_start sub_80961D8 -sub_80961D8: @ 80961D8 - push {r4-r7,lr} - ldr r1, _08096258 - movs r0, 0 - strb r0, [r1] - movs r5, 0 - adds r7, r1, 0x4 -_080961E4: - movs r4, 0 - lsls r1, r5, 2 - adds r1, r5 - lsls r0, r1, 4 - subs r0, r1 - lsls r6, r0, 5 -_080961F0: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - adds r0, r7 - adds r0, r6, r0 - bl ZeroBoxMonData - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _080961F0 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _080961E4 - movs r5, 0 -_08096214: - lsls r0, r5, 3 - adds r0, r5 - ldr r6, _0809625C - adds r0, r6 - ldr r1, _08096260 - bl StringCopy - adds r4, r5, 0x1 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - lsls r4, 16 - lsrs r5, r4, 16 - cmp r5, 0xD - bls _08096214 - movs r5, 0 - adds r3, r6, 0 - adds r3, 0x7E - movs r2, 0x3 -_0809623E: - adds r0, r5, r3 - adds r1, r5, 0 - ands r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _0809623E - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08096258: .4byte gPokemonStorage -_0809625C: .4byte gUnknown_020383E4 -_08096260: .4byte gPCText_BOX - thumb_func_end sub_80961D8 - - thumb_func_start sub_8096264 -sub_8096264: @ 8096264 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x20 - mov r8, r0 - adds r4, r1, 0 - adds r6, r2, 0 - mov r9, r3 - lsls r4, 16 - lsrs r4, 16 - lsls r6, 16 - lsrs r6, 16 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _080962F4 - str r0, [sp, 0x18] - ldr r1, _080962F8 - add r5, sp, 0x18 - ldr r0, [r5, 0x4] - ands r0, r1 - orrs r0, r6 - str r0, [r5, 0x4] - mov r1, sp - ldr r0, _080962FC - str r0, [sp] - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1, 0x4] - strh r4, [r1, 0x6] - ldr r0, _08096300 - str r0, [sp, 0x8] - movs r0, 0xC0 - lsls r0, 1 - strh r0, [r1, 0xC] - adds r0, r4, 0x1 - strh r0, [r1, 0xE] - add r0, sp, 0x10 - movs r1, 0 - movs r2, 0x8 - bl memset - adds r0, r5, 0 - bl LoadSpritePalette - mov r0, sp - bl LoadSpriteSheets - ldr r0, _08096304 - mov r1, r8 - str r1, [r0] - movs r0, 0x90 - lsls r0, 2 - add r0, r8 - strh r4, [r0] - ldr r0, _08096308 - add r0, r8 - strh r6, [r0] - ldr r0, _0809630C - add r8, r0 - mov r0, r9 - mov r1, r8 - strb r0, [r1] - add sp, 0x20 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080962F4: .4byte gBoxSelectionPopupPalette -_080962F8: .4byte 0xffff0000 -_080962FC: .4byte gBoxSelectionPopupCenterTiles -_08096300: .4byte gBoxSelectionPopupSidesTiles -_08096304: .4byte gUnknown_02038478 -_08096308: .4byte 0x00000242 -_0809630C: .4byte 0x0000023e - thumb_func_end sub_8096264 - - thumb_func_start sub_8096310 -sub_8096310: @ 8096310 - push {r4,r5,lr} - ldr r4, _08096344 - ldr r0, [r4] - ldr r1, _08096348 - adds r0, r1 - ldrh r0, [r0] - bl FreeSpritePaletteByTag - ldr r0, [r4] - movs r5, 0x90 - lsls r5, 2 - adds r0, r5 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r4] - adds r0, r5 - ldrh r0, [r0] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - bl FreeSpriteTilesByTag - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08096344: .4byte gUnknown_02038478 -_08096348: .4byte 0x00000242 - thumb_func_end sub_8096310 - - thumb_func_start sub_809634C -sub_809634C: @ 809634C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80963D0 - pop {r0} - bx r0 - thumb_func_end sub_809634C - - thumb_func_start sub_809635C -sub_809635C: @ 809635C - push {lr} - bl sub_809658C - pop {r0} - bx r0 - thumb_func_end sub_809635C - - thumb_func_start sub_8096368 -sub_8096368: @ 8096368 - push {lr} - ldr r0, _08096380 - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08096384 - movs r0, 0x5 - bl PlaySE - movs r0, 0xC9 - b _080963CC - .align 2, 0 -_08096380: .4byte gMain -_08096384: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080963A4 - movs r0, 0x5 - bl PlaySE - ldr r0, _080963A0 - ldr r0, [r0] - movs r1, 0x8F - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - b _080963CC - .align 2, 0 -_080963A0: .4byte gUnknown_02038478 -_080963A4: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080963B8 - movs r0, 0x5 - bl PlaySE - bl sub_809662C - b _080963CA -_080963B8: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080963CA - movs r0, 0x5 - bl PlaySE - bl sub_80965F8 -_080963CA: - movs r0, 0xC8 -_080963CC: - pop {r1} - bx r1 - thumb_func_end sub_8096368 - - thumb_func_start sub_80963D0 -sub_80963D0: @ 80963D0 - push {r4-r6,lr} - sub sp, 0x3C - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0 - movs r1, 0 - str r0, [sp, 0x34] - str r1, [sp, 0x38] - movs r1, 0xC0 - lsls r1, 24 - ldr r0, [sp, 0x34] - orrs r0, r1 - str r0, [sp, 0x34] - ldr r1, _08096564 - add r4, sp, 0x34 - ldr r0, [r4, 0x4] - ands r0, r1 - movs r1, 0x80 - lsls r1, 5 - orrs r0, r1 - str r0, [r4, 0x4] - add r1, sp, 0x1C - movs r2, 0 - strh r2, [r1] - mov r0, sp - adds r0, 0x1E - strh r2, [r0] - str r4, [sp, 0x20] - ldr r0, _08096568 - str r0, [sp, 0x24] - str r2, [sp, 0x28] - ldr r0, _0809656C - str r0, [sp, 0x2C] - ldr r0, _08096570 - str r0, [sp, 0x30] - add r0, sp, 0x4 - movs r2, 0x18 - bl memcpy - ldr r6, _08096574 - ldr r0, [r6] - movs r1, 0x8F - lsls r1, 2 - adds r0, r1 - strb r5, [r0] - add r2, sp, 0x4 - ldr r1, [r6] - movs r5, 0x90 - lsls r5, 2 - adds r0, r1, r5 - ldrh r0, [r0] - strh r0, [r2] - ldr r3, _08096578 - adds r1, r3 - ldrh r0, [r1] - strh r0, [r2, 0x2] - adds r0, r2, 0 - movs r1, 0xA0 - movs r2, 0x60 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809657C - adds r0, r1 - str r0, [r3] - ldrb r2, [r4, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - ands r1, r0 - movs r0, 0x40 - orrs r1, r0 - strb r1, [r4, 0x3] - add r1, sp, 0x4 - adds r3, r5 - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r1] - ldr r0, _08096580 - str r0, [sp, 0xC] - movs r4, 0 -_08096488: - ldr r0, [r6] - ldr r1, _08096584 - adds r0, r1 - ldrb r3, [r0] - add r0, sp, 0x4 - movs r1, 0x7C - movs r2, 0x50 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r2, [r6] - lsls r3, r4, 2 - adds r2, 0x4 - adds r2, r3 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809657C - adds r1, r0, r1 - str r1, [r2] - movs r5, 0 - movs r0, 0x2 - ands r0, r4 - cmp r0, 0 - beq _080964C2 - movs r0, 0xC4 - strh r0, [r1, 0x20] - movs r5, 0x2 -_080964C2: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080964E6 - ldr r1, [r6] - adds r1, 0x4 - adds r1, r3 - ldr r2, [r1] - movs r0, 0x70 - strh r0, [r2, 0x22] - ldr r2, [r1] - ldrb r1, [r2, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x3] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080964E6: - ldr r0, [r6] - adds r0, 0x4 - adds r0, r3 - ldr r0, [r0] - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _08096488 - movs r4, 0 - ldr r5, _08096574 -_08096504: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 19 - movs r3, 0xF8 - lsls r3, 15 - adds r0, r3 - lsrs r0, 16 - lsls r2, r4, 24 - lsrs r2, 24 - ldr r1, [r5] - ldr r3, _08096584 - adds r1, r3 - ldrb r1, [r1] - str r1, [sp] - movs r1, 0x58 - movs r3, 0 - bl sub_809A9A0 - adds r2, r0, 0 - ldr r0, [r5] - lsls r1, r4, 2 - adds r0, 0x20 - adds r0, r1 - str r2, [r0] - cmp r2, 0 - beq _0809654C - movs r1, 0x1 - cmp r4, 0 - bne _08096544 - movs r3, 0x1 - negs r3, r3 - adds r1, r3, 0 -_08096544: - strh r1, [r2, 0x2E] - ldr r1, [r0] - ldr r0, _08096588 - str r0, [r1, 0x1C] -_0809654C: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _08096504 - bl sub_809665C - add sp, 0x3C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08096564: .4byte 0xffff0fff -_08096568: .4byte gDummySpriteAnimTable -_0809656C: .4byte gDummySpriteAffineAnimTable -_08096570: .4byte SpriteCallbackDummy -_08096574: .4byte gUnknown_02038478 -_08096578: .4byte 0x00000242 -_0809657C: .4byte gSprites -_08096580: .4byte gSpriteAnimTable_83B604C -_08096584: .4byte 0x0000023e -_08096588: .4byte sub_8096784 - thumb_func_end sub_80963D0 - - thumb_func_start sub_809658C -sub_809658C: @ 809658C - push {r4-r6,lr} - ldr r4, _080965F4 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0 - beq _080965A2 - bl DestroySprite - ldr r1, [r4] - movs r0, 0 - str r0, [r1] -_080965A2: - movs r5, 0 - adds r6, r4, 0 -_080965A6: - ldr r0, [r6] - lsls r4, r5, 2 - adds r0, 0x4 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080965C2 - bl DestroySprite - ldr r0, [r6] - adds r0, 0x4 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_080965C2: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _080965A6 - movs r5, 0 -_080965CE: - ldr r0, _080965F4 - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, 0x20 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080965E2 - bl DestroySprite -_080965E2: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080965CE - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080965F4: .4byte gUnknown_02038478 - thumb_func_end sub_809658C - - thumb_func_start sub_80965F8 -sub_80965F8: @ 80965F8 - push {lr} - ldr r2, _08096628 - ldr r1, [r2] - movs r0, 0x8F - lsls r0, 2 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bls _0809661E - ldr r0, [r2] - movs r1, 0x8F - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_0809661E: - bl sub_809665C - pop {r0} - bx r0 - .align 2, 0 -_08096628: .4byte gUnknown_02038478 - thumb_func_end sub_80965F8 - - thumb_func_start sub_809662C -sub_809662C: @ 809662C - push {lr} - ldr r0, _08096644 - ldr r2, [r0] - movs r1, 0x8F - lsls r1, 2 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08096648 - subs r1, r0, 0x1 - b _0809664A - .align 2, 0 -_08096644: .4byte gUnknown_02038478 -_08096648: - movs r1, 0xD -_0809664A: - movs r3, 0x8F - lsls r3, 2 - adds r0, r2, r3 - strb r1, [r0] - bl sub_809665C - pop {r0} - bx r0 - thumb_func_end sub_809662C - - thumb_func_start sub_809665C -sub_809665C: @ 809665C - push {r4-r7,lr} - ldr r5, _080966B4 - ldr r0, [r5] - movs r4, 0x8F - lsls r4, 2 - adds r0, r4 - ldrb r0, [r0] - bl sub_8095ADC - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, _080966B8 - movs r6, 0xFC - strb r6, [r2] - movs r0, 0x4 - strb r0, [r2, 0x1] - movs r0, 0xF - strb r0, [r2, 0x2] - movs r0, 0x1 - strb r0, [r2, 0x3] - movs r0, 0xE - strb r0, [r2, 0x4] - adds r2, 0x5 - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 3 - adds r1, r0 - ldr r0, _080966BC - adds r1, r0 - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 - movs r0, 0xFE - strb r0, [r2] - strb r6, [r2, 0x1] - movs r0, 0x11 - strb r0, [r2, 0x2] - cmp r7, 0x9 - bhi _080966C0 - movs r0, 0x28 - b _080966C2 - .align 2, 0 -_080966B4: .4byte gUnknown_02038478 -_080966B8: .4byte gStringVar1 -_080966BC: .4byte gUnknown_020383E4 -_080966C0: - movs r0, 0x22 -_080966C2: - strb r0, [r2, 0x3] - adds r2, 0x4 - adds r0, r2, 0 - adds r1, r7, 0 - bl ConvertIntToDecimalString - adds r2, r0, 0 - movs r0, 0xBA - strb r0, [r2] - movs r0, 0xA4 - strb r0, [r2, 0x1] - movs r0, 0xA1 - strb r0, [r2, 0x2] - movs r0, 0xFF - strb r0, [r2, 0x3] - ldr r0, _080966F0 - movs r1, 0 - movs r2, 0x1 - bl sub_80966F4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080966F0: .4byte gStringVar1 - thumb_func_end sub_809665C - - thumb_func_start sub_80966F4 -sub_80966F4: @ 80966F4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - mov r8, r0 - adds r5, r1, 0 - adds r4, r2, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _08096764 - ldr r0, [r0] - movs r1, 0x90 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - bl GetSpriteTileStartByTag - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 11 - lsls r4, 8 - ldr r2, _08096768 - adds r4, r2 - adds r6, r4 - lsls r5, 5 - adds r6, r5 - ldr r0, _0809676C - ldr r5, [r0] - mov r1, sp - ldr r2, _08096770 - adds r0, r2, 0 - strh r0, [r1] - ldr r4, _08096774 - str r1, [r4] - str r5, [r4, 0x4] - ldr r0, _08096778 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - ldr r0, _0809677C - adds r1, r5, 0 - mov r2, r8 - bl sub_8004E3C - str r5, [r4] - str r6, [r4, 0x4] - ldr r0, _08096780 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08096764: .4byte gUnknown_02038478 -_08096768: .4byte 0x06010000 -_0809676C: .4byte gUnknown_083B6DB8 -_08096770: .4byte 0x00001111 -_08096774: .4byte 0x040000d4 -_08096778: .4byte 0x81000200 -_0809677C: .4byte gWindowConfig_81E6D38 -_08096780: .4byte 0x80000200 - thumb_func_end sub_80966F4 - - thumb_func_start sub_8096784 -sub_8096784: @ 8096784 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - movs r2, 0 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080967B4 - strh r2, [r1, 0x30] - ldrh r0, [r1, 0x2E] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080967B4 - strh r2, [r1, 0x32] - strh r2, [r1, 0x24] -_080967B4: - pop {r0} - bx r0 - thumb_func_end sub_8096784 - - thumb_func_start task_intro_29 -task_intro_29: @ 80967B8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080967D0 - strb r0, [r1] - ldr r1, _080967D4 - strb r0, [r1, 0x5] - ldr r0, _080967D8 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080967D0: .4byte gUnknown_0203847D -_080967D4: .4byte 0x02000000 -_080967D8: .4byte sub_8096884 - thumb_func_end task_intro_29 - - thumb_func_start sub_80967DC -sub_80967DC: @ 80967DC - ldr r0, _08096800 - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .align 2, 0 -_08096800: .4byte REG_BG0HOFS - thumb_func_end sub_80967DC - - thumb_func_start sub_8096804 -sub_8096804: @ 8096804 - push {lr} - bl ResetPaletteFade - bl ResetSpriteData - bl FreeSpriteTileRanges - bl FreeAllSpritePalettes - bl ResetTasks - ldr r1, _0809683C - movs r2, 0xA0 - lsls r2, 2 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08096840 - adds r1, r0, 0 - adds r1, 0x8 - movs r2, 0x8 - bl sub_809CFDC - ldr r1, _08096844 - movs r0, 0x14 - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0809683C: .4byte gReservedSpriteTileCount -_08096840: .4byte 0x02000020 -_08096844: .4byte gKeyRepeatStartDelay - thumb_func_end sub_8096804 - - thumb_func_start sub_8096848 -sub_8096848: @ 8096848 - push {lr} - bl sub_809B0D4 - ldr r2, _08096868 - movs r1, 0 - ldr r0, _0809686C - ldrb r0, [r0, 0x5] - cmp r0, 0x1 - bne _0809685C - movs r1, 0x1 -_0809685C: - strb r1, [r2] - ldr r1, _08096870 - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08096868: .4byte gUnknown_0203847C -_0809686C: .4byte 0x02000000 -_08096870: .4byte gUnknown_0203847E - thumb_func_end sub_8096848 - - thumb_func_start sub_8096874 -sub_8096874: @ 8096874 - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xFA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - bx lr - thumb_func_end sub_8096874 - - thumb_func_start sub_8096884 -sub_8096884: @ 8096884 - push {lr} - ldr r0, _080968A0 - ldr r1, _080968A4 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x9 - bls _08096894 - b _08096986 -_08096894: - lsls r0, 2 - ldr r1, _080968A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080968A0: .4byte gMain -_080968A4: .4byte 0x0000043c -_080968A8: .4byte _080968AC - .align 2, 0 -_080968AC: - .4byte _080968D4 - .4byte _080968E8 - .4byte _080968F4 - .4byte _08096904 - .4byte _0809690E - .4byte _08096918 - .4byte _0809691E - .4byte _08096924 - .4byte _0809692A - .4byte _08096964 -_080968D4: - movs r0, 0 - bl SetVBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - bl sub_8096804 - b _0809697A -_080968E8: - ldr r0, _080968F0 - bl SetUpWindowConfig - b _0809697A - .align 2, 0 -_080968F0: .4byte gWindowConfig_81E6D00 -_080968F4: - ldr r0, _08096900 - bl InitMenuWindow - bl MenuZeroFillScreen - b _0809697A - .align 2, 0 -_08096900: .4byte gWindowConfig_81E6D00 -_08096904: - bl sub_80967DC - bl sub_8096848 - b _0809697A -_0809690E: - bl sub_8098B48 - bl sub_809AA24 - b _0809697A -_08096918: - bl sub_8097DE0 - b _0809697A -_0809691E: - bl sub_8097E70 - b _0809697A -_08096924: - bl sub_8098400 - b _0809697A -_0809692A: - ldr r0, _08096950 - ldrb r0, [r0] - bl sub_8099BF8 - ldr r2, _08096954 - ldr r1, _08096958 - adds r0, r2, r1 - movs r1, 0xA - strh r1, [r0] - ldr r1, _0809695C - adds r2, r1 - ldr r1, _08096960 - strh r1, [r2] - bl sub_80F727C - bl sub_80F7404 - b _0809697A - .align 2, 0 -_08096950: .4byte gPokemonStorage -_08096954: .4byte 0x02000000 -_08096958: .4byte 0x000012bc -_0809695C: .4byte 0x000012be -_08096960: .4byte 0x0000dacb -_08096964: - bl sub_8096874 - ldr r0, _0809698C - bl sub_8096BE0 - ldr r0, _08096990 - bl SetMainCallback2 - ldr r0, _08096994 - bl SetVBlankCallback -_0809697A: - ldr r1, _08096998 - ldr r0, _0809699C - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08096986: - pop {r0} - bx r0 - .align 2, 0 -_0809698C: .4byte sub_8096BF0 -_08096990: .4byte sub_8096B38 -_08096994: .4byte sub_8096AFC -_08096998: .4byte gMain -_0809699C: .4byte 0x0000043c - thumb_func_end sub_8096884 - - thumb_func_start sub_80969A0 -sub_80969A0: @ 80969A0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _080969BC - ldr r1, _080969C0 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xA - bls _080969B2 - b _08096AE4 -_080969B2: - lsls r0, 2 - ldr r1, _080969C4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080969BC: .4byte gMain -_080969C0: .4byte 0x0000043c -_080969C4: .4byte _080969C8 - .align 2, 0 -_080969C8: - .4byte _080969F4 - .4byte _08096A34 - .4byte _08096A40 - .4byte _08096A50 - .4byte _08096A56 - .4byte _08096A60 - .4byte _08096A66 - .4byte _08096A6C - .4byte _08096A72 - .4byte _08096AAC - .4byte _08096AC8 -_080969F4: - movs r0, 0 - bl SetVBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - ldr r1, _08096A28 - ldr r0, _08096A2C - ldrb r0, [r0] - strb r0, [r1, 0x5] - bl sub_8096804 - ldr r4, _08096A30 - ldrb r0, [r4] - cmp r0, 0x1 - bne _08096A1A - bl sub_809BBC0 -_08096A1A: - ldrb r0, [r4] - cmp r0, 0 - bne _08096AD8 - bl sub_809BD14 - b _08096AD8 - .align 2, 0 -_08096A28: .4byte 0x02000000 -_08096A2C: .4byte gUnknown_0203847D -_08096A30: .4byte gUnknown_0203847F -_08096A34: - ldr r0, _08096A3C - bl SetUpWindowConfig - b _08096AD8 - .align 2, 0 -_08096A3C: .4byte gWindowConfig_81E6D00 -_08096A40: - ldr r0, _08096A4C - bl InitMenuWindow - bl MenuZeroFillScreen - b _08096AD8 - .align 2, 0 -_08096A4C: .4byte gWindowConfig_81E6D00 -_08096A50: - bl sub_80967DC - b _08096AD8 -_08096A56: - bl sub_8098B48 - bl sub_809AA98 - b _08096AD8 -_08096A60: - bl sub_8097DE0 - b _08096AD8 -_08096A66: - bl sub_8097E70 - b _08096AD8 -_08096A6C: - bl sub_8098400 - b _08096AD8 -_08096A72: - ldr r0, _08096A98 - ldrb r0, [r0] - bl sub_8099BF8 - ldr r2, _08096A9C - ldr r1, _08096AA0 - adds r0, r2, r1 - movs r1, 0xA - strh r1, [r0] - ldr r1, _08096AA4 - adds r2, r1 - ldr r1, _08096AA8 - strh r1, [r2] - bl sub_80F727C - bl sub_80F7404 - b _08096AD8 - .align 2, 0 -_08096A98: .4byte gPokemonStorage -_08096A9C: .4byte 0x02000000 -_08096AA0: .4byte 0x000012bc -_08096AA4: .4byte 0x000012be -_08096AA8: .4byte 0x0000dacb -_08096AAC: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _08096AC4 - bl SetVBlankCallback - b _08096AD8 - .align 2, 0 -_08096AC4: .4byte sub_8096AFC -_08096AC8: - bl sub_8096874 - ldr r0, _08096AEC - bl sub_8096BE0 - ldr r0, _08096AF0 - bl SetMainCallback2 -_08096AD8: - ldr r1, _08096AF4 - ldr r0, _08096AF8 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08096AE4: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08096AEC: .4byte sub_8096C68 -_08096AF0: .4byte sub_8096B38 -_08096AF4: .4byte gMain -_08096AF8: .4byte 0x0000043c - thumb_func_end sub_80969A0 - - thumb_func_start sub_8096AFC -sub_8096AFC: @ 8096AFC - push {lr} - ldr r2, _08096B2C - ldr r1, _08096B30 - ldr r3, _08096B34 - adds r0, r1, r3 - ldrh r0, [r0] - strh r0, [r2] - adds r2, 0x4 - ldrh r0, [r1, 0xA] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x8] - strh r0, [r2] - bl LoadOam - bl ProcessSpriteCopyRequests - bl sub_809CFF0 - bl TransferPlttBuffer - pop {r0} - bx r0 - .align 2, 0 -_08096B2C: .4byte REG_BG2HOFS -_08096B30: .4byte 0x02000000 -_08096B34: .4byte 0x000008b4 - thumb_func_end sub_8096AFC - - thumb_func_start sub_8096B38 -sub_8096B38: @ 8096B38 - push {lr} - ldr r0, _08096B58 - ldr r0, [r0] - bl _call_via_r0 - bl sub_8097E44 - bl sub_8098734 - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - .align 2, 0 -_08096B58: .4byte 0x02000000 - thumb_func_end sub_8096B38 - - thumb_func_start sub_8096B5C -sub_8096B5C: @ 8096B5C - push {r4,r5,lr} - sub sp, 0x8 - ldr r4, _08096B70 - ldrb r0, [r4, 0x6] - cmp r0, 0 - beq _08096B74 - cmp r0, 0x1 - beq _08096BAC - b _08096BCC - .align 2, 0 -_08096B70: .4byte 0x02000000 -_08096B74: - ldr r1, _08096B98 - adds r0, r4, r1 - ldr r0, [r0] - ldr r2, _08096B9C - adds r1, r4, r2 - ldrb r1, [r1] - ldr r3, _08096BA0 - adds r2, r4, r3 - ldrb r2, [r2] - ldr r3, _08096BA4 - ldr r5, _08096BA8 - adds r4, r5 - ldrb r4, [r4] - str r4, [sp] - bl sub_809D8BC - b _08096BCC - .align 2, 0 -_08096B98: .4byte 0x00002690 -_08096B9C: .4byte 0x0000268d -_08096BA0: .4byte 0x0000268c -_08096BA4: .4byte sub_80969A0 -_08096BA8: .4byte 0x0000268e -_08096BAC: - ldr r0, _08096BD4 - ldrb r2, [r0] - lsls r1, r2, 3 - adds r1, r2 - ldr r2, _08096BD8 - adds r0, r2 - adds r1, r0 - movs r0, 0 - str r0, [sp] - ldr r0, _08096BDC - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DoNamingScreen -_08096BCC: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08096BD4: .4byte gPokemonStorage -_08096BD8: .4byte 0x00008344 -_08096BDC: .4byte sub_80969A0 - thumb_func_end sub_8096B5C - - thumb_func_start sub_8096BE0 -sub_8096BE0: @ 8096BE0 - ldr r1, _08096BEC - str r0, [r1] - movs r0, 0 - strb r0, [r1, 0x4] - bx lr - .align 2, 0 -_08096BEC: .4byte 0x02000000 - thumb_func_end sub_8096BE0 - - thumb_func_start sub_8096BF0 -sub_8096BF0: @ 8096BF0 - push {r4,lr} - ldr r4, _08096C04 - ldrb r0, [r4, 0x4] - cmp r0, 0x1 - beq _08096C16 - cmp r0, 0x1 - bgt _08096C08 - cmp r0, 0 - beq _08096C0E - b _08096C5C - .align 2, 0 -_08096C04: .4byte 0x02000000 -_08096C08: - cmp r0, 0x2 - beq _08096C4C - b _08096C5C -_08096C0E: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - b _08096C38 -_08096C16: - movs r0, 0x2 - bl PlaySE - movs r1, 0 - movs r0, 0xE - strh r0, [r4, 0xC] - ldr r0, _08096C48 - strh r0, [r4, 0xE] - strh r1, [r4, 0x10] - strh r1, [r4, 0x12] - adds r0, r4, 0 - adds r0, 0xC - bl sub_80C5CD4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 -_08096C38: - movs r2, 0 - bl BlendPalettes - ldrb r0, [r4, 0x4] - adds r0, 0x1 - strb r0, [r4, 0x4] - b _08096C5C - .align 2, 0 -_08096C48: .4byte 0x0000dad0 -_08096C4C: - bl sub_80C5DCC - lsls r0, 24 - cmp r0, 0 - beq _08096C5C - ldr r0, _08096C64 - bl sub_8096BE0 -_08096C5C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08096C64: .4byte sub_8096C84 - thumb_func_end sub_8096BF0 - - thumb_func_start sub_8096C68 -sub_8096C68: @ 8096C68 - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _08096C7A - ldr r0, _08096C80 - bl sub_8096BE0 -_08096C7A: - pop {r0} - bx r0 - .align 2, 0 -_08096C80: .4byte sub_8096C84 - thumb_func_end sub_8096C68 - - thumb_func_start sub_8096C84 -sub_8096C84: @ 8096C84 - push {r4,lr} - ldr r0, _08096C9C - ldrb r0, [r0, 0x4] - cmp r0, 0x6 - bls _08096C90 - b _08096FBA -_08096C90: - lsls r0, 2 - ldr r1, _08096CA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08096C9C: .4byte 0x02000000 -_08096CA0: .4byte _08096CA4 - .align 2, 0 -_08096CA4: - .4byte _08096CC0 - .4byte _08096EE0 - .4byte _08096F1C - .4byte _08096F60 - .4byte _08096F80 - .4byte _08096F8A - .4byte _08096FA4 -_08096CC0: - bl sub_809CA40 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0xF - bls _08096CD0 - b _08096FBA -_08096CD0: - lsls r0, 2 - ldr r1, _08096CDC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08096CDC: .4byte _08096CE0 - .align 2, 0 -_08096CE0: - .4byte _08096D20 - .4byte _08096FBA - .4byte _08096FBA - .4byte _08096D94 - .4byte _08096D34 - .4byte _08096D5C - .4byte _08096DAC - .4byte _08096DC0 - .4byte _08096DD4 - .4byte _08096DFC - .4byte _08096E30 - .4byte _08096EB8 - .4byte _08096E70 - .4byte _08096E8C - .4byte _08096ECC - .4byte _08096DA0 -_08096D20: - movs r0, 0x5 - bl PlaySE - ldr r1, _08096D30 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _08096FBA - .align 2, 0 -_08096D30: .4byte 0x02000000 -_08096D34: - ldr r4, _08096D48 - ldrb r0, [r4, 0x5] - cmp r0, 0x2 - beq _08096D4C - movs r0, 0x10 - bl sub_8098898 - movs r0, 0x3 - strb r0, [r4, 0x4] - b _08096FBA - .align 2, 0 -_08096D48: .4byte 0x02000000 -_08096D4C: - bl sub_809B0D4 - ldr r0, _08096D58 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096D58: .4byte sub_8096FC8 -_08096D5C: - ldr r4, _08096D88 - ldrb r0, [r4, 0x5] - cmp r0, 0x2 - beq _08096D66 - b _08096FBA -_08096D66: - bl sub_809BF20 - lsls r0, 24 - cmp r0, 0 - beq _08096D80 - ldr r1, _08096D8C - adds r0, r4, r1 - ldrh r0, [r0] - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - bne _08096E4C -_08096D80: - ldr r0, _08096D90 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096D88: .4byte 0x02000000 -_08096D8C: .4byte 0x000011f2 -_08096D90: .4byte sub_8097004 -_08096D94: - ldr r0, _08096D9C - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096D9C: .4byte sub_8097BA0 -_08096DA0: - ldr r0, _08096DA8 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096DA8: .4byte sub_8097CC0 -_08096DAC: - movs r0, 0x5 - bl PlaySE - ldr r0, _08096DBC - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096DBC: .4byte sub_809789C -_08096DC0: - movs r0, 0x5 - bl PlaySE - ldr r0, _08096DD0 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096DD0: .4byte sub_8097078 -_08096DD4: - movs r0, 0x5 - bl PlaySE - ldr r4, _08096DF0 - ldr r0, _08096DF4 - ldrb r0, [r0] - adds r0, 0x1 - ldr r2, _08096DF8 - adds r1, r4, r2 - strh r0, [r1] - cmp r0, 0xD - ble _08096E18 - movs r0, 0 - b _08096E16 - .align 2, 0 -_08096DF0: .4byte 0x02000000 -_08096DF4: .4byte gPokemonStorage -_08096DF8: .4byte 0x000008b2 -_08096DFC: - movs r0, 0x5 - bl PlaySE - ldr r4, _08096E24 - ldr r0, _08096E28 - ldrb r0, [r0] - subs r0, 0x1 - ldr r2, _08096E2C - adds r1, r4, r2 - strh r0, [r1] - cmp r0, 0 - bge _08096E18 - movs r0, 0xD -_08096E16: - strh r0, [r1] -_08096E18: - ldrb r0, [r1] - bl sub_8099C70 - movs r0, 0x2 - strb r0, [r4, 0x4] - b _08096FBA - .align 2, 0 -_08096E24: .4byte 0x02000000 -_08096E28: .4byte gPokemonStorage -_08096E2C: .4byte 0x000008b2 -_08096E30: - bl sub_809BE80 - lsls r0, 24 - cmp r0, 0 - bne _08096E96 - ldr r4, _08096E54 - ldr r1, _08096E58 - adds r0, r4, r1 - ldrh r0, [r0] - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _08096E5C -_08096E4C: - movs r0, 0x5 - strb r0, [r4, 0x4] - b _08096FBA - .align 2, 0 -_08096E54: .4byte 0x02000000 -_08096E58: .4byte 0x000011f2 -_08096E5C: - movs r0, 0x5 - bl PlaySE - ldr r0, _08096E6C - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096E6C: .4byte sub_809746C -_08096E70: - bl sub_809BE80 - lsls r0, 24 - cmp r0, 0 - bne _08096E96 - movs r0, 0x5 - bl PlaySE - ldr r0, _08096E88 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096E88: .4byte sub_80972A8 -_08096E8C: - bl sub_809BEBC - lsls r0, 24 - cmp r0, 0 - bne _08096EA4 -_08096E96: - ldr r1, _08096EA0 - movs r0, 0x4 - strb r0, [r1, 0x4] - b _08096FBA - .align 2, 0 -_08096EA0: .4byte 0x02000000 -_08096EA4: - movs r0, 0x5 - bl PlaySE - ldr r0, _08096EB4 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096EB4: .4byte c3_0808DC50 -_08096EB8: - movs r0, 0x5 - bl PlaySE - ldr r0, _08096EC8 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096EC8: .4byte sub_8097390 -_08096ECC: - movs r0, 0x5 - bl PlaySE - ldr r0, _08096EDC - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096EDC: .4byte sub_80972FC -_08096EE0: - bl sub_809AC00 - lsls r0, 24 - cmp r0, 0 - bne _08096FBA - bl sub_809BF48 - lsls r0, 24 - cmp r0, 0 - beq _08096EFA - bl sub_80986E8 - b _08096EFE -_08096EFA: - bl sub_8098710 -_08096EFE: - ldr r4, _08096F14 - ldr r2, _08096F18 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _08096F0E - bl BoxSetMosaic -_08096F0E: - movs r0, 0 - strb r0, [r4, 0x4] - b _08096FBA - .align 2, 0 -_08096F14: .4byte 0x02000000 -_08096F18: .4byte 0x000011f6 -_08096F1C: - bl sub_8099D34 - lsls r0, 24 - cmp r0, 0 - bne _08096FBA - ldr r1, _08096F50 - ldr r0, _08096F54 - ldr r2, _08096F58 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - ldr r0, _08096F5C - ldrb r0, [r0] - cmp r0, 0 - bne _08096F70 - bl sub_809BF20 - lsls r0, 24 - cmp r0, 0 - bne _08096F70 - bl sub_809B440 - bl BoxSetMosaic - b _08096F70 - .align 2, 0 -_08096F50: .4byte gPokemonStorage -_08096F54: .4byte 0x02000000 -_08096F58: .4byte 0x000008b2 -_08096F5C: .4byte gUnknown_0203847C -_08096F60: - ldr r0, _08096F78 - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _08096FBA - bl sub_8098A5C -_08096F70: - ldr r1, _08096F7C - movs r0, 0 - strb r0, [r1, 0x4] - b _08096FBA - .align 2, 0 -_08096F78: .4byte gMain -_08096F7C: .4byte 0x02000000 -_08096F80: - movs r0, 0x20 - bl PlaySE - movs r0, 0xD - b _08096F92 -_08096F8A: - movs r0, 0x20 - bl PlaySE - movs r0, 0x16 -_08096F92: - bl sub_8098898 - ldr r1, _08096FA0 - movs r0, 0x6 - strb r0, [r1, 0x4] - b _08096FBA - .align 2, 0 -_08096FA0: .4byte 0x02000000 -_08096FA4: - ldr r0, _08096FC0 - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _08096FBA - bl sub_8098A5C - ldr r0, _08096FC4 - bl sub_8096BE0 -_08096FBA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08096FC0: .4byte gMain -_08096FC4: .4byte sub_8096C84 - thumb_func_end sub_8096C84 - - thumb_func_start sub_8096FC8 -sub_8096FC8: @ 8096FC8 - push {r4,lr} - ldr r4, _08096FD8 - ldrb r0, [r4, 0x4] - cmp r0, 0 - beq _08096FDC - cmp r0, 0x1 - beq _08096FE8 - b _08096FF8 - .align 2, 0 -_08096FD8: .4byte 0x02000000 -_08096FDC: - bl sub_809880C - ldrb r0, [r4, 0x4] - adds r0, 0x1 - strb r0, [r4, 0x4] - b _08096FF8 -_08096FE8: - bl sub_8098830 - lsls r0, 24 - cmp r0, 0 - bne _08096FF8 - ldr r0, _08097000 - bl sub_8096BE0 -_08096FF8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08097000: .4byte sub_8096C84 - thumb_func_end sub_8096FC8 - - thumb_func_start sub_8097004 -sub_8097004: @ 8097004 - push {r4,lr} - ldr r4, _08097018 - ldrb r0, [r4, 0x4] - cmp r0, 0x1 - beq _0809702E - cmp r0, 0x1 - bgt _0809701C - cmp r0, 0 - beq _08097022 - b _0809706A - .align 2, 0 -_08097018: .4byte 0x02000000 -_0809701C: - cmp r0, 0x2 - beq _0809704C - b _0809706A -_08097022: - movs r0, 0x5 - bl PlaySE - bl add_to_c3_somehow - b _08097044 -_0809702E: - bl sub_80985CC - lsls r0, 24 - cmp r0, 0 - bne _0809706A - bl sub_809B0F4 - lsls r0, 24 - lsrs r0, 24 - bl sub_809B0C0 -_08097044: - ldrb r0, [r4, 0x4] - adds r0, 0x1 - strb r0, [r4, 0x4] - b _0809706A -_0809704C: - bl sub_809AC00 - lsls r0, 24 - cmp r0, 0 - bne _0809706A - ldr r1, _08097070 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08097064 - bl BoxSetMosaic -_08097064: - ldr r0, _08097074 - bl sub_8096BE0 -_0809706A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08097070: .4byte 0x000011f6 -_08097074: .4byte sub_8096C84 - thumb_func_end sub_8097004 - - thumb_func_start sub_8097078 -sub_8097078: @ 8097078 - push {r4,lr} - ldr r0, _08097090 - ldrb r0, [r0, 0x4] - cmp r0, 0x5 - bls _08097084 - b _0809729A -_08097084: - lsls r0, 2 - ldr r1, _08097094 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08097090: .4byte 0x02000000 -_08097094: .4byte _08097098 - .align 2, 0 -_08097098: - .4byte _080970B0 - .4byte _080970C8 - .4byte _08097258 - .4byte _0809726C - .4byte _08097262 - .4byte _08097284 -_080970B0: - movs r0, 0x4 - bl sub_8098898 - bl sub_809CE84 - ldr r1, _080970C4 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _0809729A - .align 2, 0 -_080970C4: .4byte 0x02000000 -_080970C8: - bl sub_809CF30 - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bls _080970D8 - b _0809729A -_080970D8: - lsls r0, 2 - ldr r1, _080970E4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080970E4: .4byte _080970E8 - .align 2, 0 -_080970E8: - .4byte _08097110 - .4byte _08097110 - .4byte _08097190 - .4byte _08097178 - .4byte _08097120 - .4byte _08097158 - .4byte _08097140 - .4byte _08097230 - .4byte _080971CC - .4byte _08097244 -_08097110: - bl sub_8098A5C - ldr r0, _0809711C - bl sub_8096BE0 - b _0809729A - .align 2, 0 -_0809711C: .4byte sub_8096C84 -_08097120: - bl sub_809BE80 - lsls r0, 24 - cmp r0, 0 - bne _080971D6 - movs r0, 0x5 - bl PlaySE - bl sub_8098A5C - ldr r0, _0809713C - bl sub_8096BE0 - b _0809729A - .align 2, 0 -_0809713C: .4byte sub_80972A8 -_08097140: - movs r0, 0x5 - bl PlaySE - bl sub_8098A5C - ldr r0, _08097154 - bl sub_8096BE0 - b _0809729A - .align 2, 0 -_08097154: .4byte sub_80972FC -_08097158: - bl sub_809BEBC - lsls r0, 24 - cmp r0, 0 - beq _080971D6 - movs r0, 0x5 - bl PlaySE - bl sub_8098A5C - ldr r0, _08097174 - bl sub_8096BE0 - b _0809729A - .align 2, 0 -_08097174: .4byte c3_0808DC50 -_08097178: - movs r0, 0x5 - bl PlaySE - bl sub_8098A5C - ldr r0, _0809718C - bl sub_8096BE0 - b _0809729A - .align 2, 0 -_0809718C: .4byte sub_8097390 -_08097190: - bl sub_809BE80 - lsls r0, 24 - cmp r0, 0 - bne _080971D6 - ldr r4, _080971C0 - ldr r1, _080971C4 - adds r0, r4, r1 - ldrh r0, [r0] - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - bne _08097210 - movs r0, 0x5 - bl PlaySE - bl sub_8098A5C - ldr r0, _080971C8 - bl sub_8096BE0 - b _0809729A - .align 2, 0 -_080971C0: .4byte 0x02000000 -_080971C4: .4byte 0x000011f2 -_080971C8: .4byte sub_809746C -_080971CC: - bl sub_809BE80 - lsls r0, 24 - cmp r0, 0 - beq _080971E4 -_080971D6: - ldr r1, _080971E0 - movs r0, 0x2 - strb r0, [r1, 0x4] - b _0809729A - .align 2, 0 -_080971E0: .4byte 0x02000000 -_080971E4: - ldr r4, _080971F8 - ldr r1, _080971FC - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08097200 - movs r0, 0x4 - strb r0, [r4, 0x4] - b _0809729A - .align 2, 0 -_080971F8: .4byte 0x02000000 -_080971FC: .4byte 0x000011f9 -_08097200: - ldr r1, _08097218 - adds r0, r4, r1 - ldrh r0, [r0] - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _0809721C -_08097210: - movs r0, 0x3 - strb r0, [r4, 0x4] - b _0809729A - .align 2, 0 -_08097218: .4byte 0x000011f2 -_0809721C: - movs r0, 0x5 - bl PlaySE - ldr r0, _0809722C - bl sub_8096BE0 - b _0809729A - .align 2, 0 -_0809722C: .4byte sub_8097594 -_08097230: - movs r0, 0x5 - bl PlaySE - ldr r0, _08097240 - bl sub_8096BE0 - b _0809729A - .align 2, 0 -_08097240: .4byte sub_8097788 -_08097244: - movs r0, 0x5 - bl PlaySE - ldr r0, _08097254 - bl sub_8096BE0 - b _0809729A - .align 2, 0 -_08097254: .4byte sub_80977E4 -_08097258: - movs r0, 0x20 - bl PlaySE - movs r0, 0xD - b _08097274 -_08097262: - movs r0, 0x20 - bl PlaySE - movs r0, 0x11 - b _08097274 -_0809726C: - movs r0, 0x20 - bl PlaySE - movs r0, 0x16 -_08097274: - bl sub_8098898 - ldr r1, _08097280 - movs r0, 0x5 - strb r0, [r1, 0x4] - b _0809729A - .align 2, 0 -_08097280: .4byte 0x02000000 -_08097284: - ldr r0, _080972A0 - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0809729A - bl sub_8098A5C - ldr r0, _080972A4 - bl sub_8096BE0 -_0809729A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080972A0: .4byte gMain -_080972A4: .4byte sub_8096C84 - thumb_func_end sub_8097078 - - thumb_func_start sub_80972A8 -sub_80972A8: @ 80972A8 - push {r4,lr} - ldr r4, _080972B8 - ldrb r0, [r4, 0x4] - cmp r0, 0 - beq _080972BC - cmp r0, 0x1 - beq _080972CA - b _080972F2 - .align 2, 0 -_080972B8: .4byte 0x02000000 -_080972BC: - movs r0, 0 - bl sub_809B100 - ldrb r0, [r4, 0x4] - adds r0, 0x1 - strb r0, [r4, 0x4] - b _080972F2 -_080972CA: - bl sub_809B130 - lsls r0, 24 - cmp r0, 0 - bne _080972F2 - ldr r0, _080972E4 - ldrb r0, [r0] - cmp r0, 0 - beq _080972EC - ldr r0, _080972E8 - bl sub_8096BE0 - b _080972F2 - .align 2, 0 -_080972E4: .4byte gUnknown_0203847C -_080972E8: .4byte sub_8097858 -_080972EC: - ldr r0, _080972F8 - bl sub_8096BE0 -_080972F2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080972F8: .4byte sub_8096C84 - thumb_func_end sub_80972A8 - - thumb_func_start sub_80972FC -sub_80972FC: @ 80972FC - push {r4,lr} - ldr r4, _0809730C - ldrb r0, [r4, 0x4] - cmp r0, 0 - beq _08097310 - cmp r0, 0x1 - beq _0809731E - b _08097346 - .align 2, 0 -_0809730C: .4byte 0x02000000 -_08097310: - movs r0, 0x1 - bl sub_809B100 - ldrb r0, [r4, 0x4] - adds r0, 0x1 - strb r0, [r4, 0x4] - b _08097346 -_0809731E: - bl sub_809B130 - lsls r0, 24 - cmp r0, 0 - bne _08097346 - ldr r0, _08097338 - ldrb r0, [r0] - cmp r0, 0 - beq _08097340 - ldr r0, _0809733C - bl sub_8096BE0 - b _08097346 - .align 2, 0 -_08097338: .4byte gUnknown_0203847C -_0809733C: .4byte sub_8097858 -_08097340: - ldr r0, _0809734C - bl sub_8096BE0 -_08097346: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809734C: .4byte sub_8096C84 - thumb_func_end sub_80972FC - - thumb_func_start c3_0808DC50 -c3_0808DC50: @ 8097350 - push {r4,lr} - ldr r4, _08097360 - ldrb r0, [r4, 0x4] - cmp r0, 0 - beq _08097364 - cmp r0, 0x1 - beq _08097372 - b _08097386 - .align 2, 0 -_08097360: .4byte 0x02000000 -_08097364: - movs r0, 0x2 - bl sub_809B100 - ldrb r0, [r4, 0x4] - adds r0, 0x1 - strb r0, [r4, 0x4] - b _08097386 -_08097372: - bl sub_809B130 - lsls r0, 24 - cmp r0, 0 - bne _08097386 - bl BoxSetMosaic - ldr r0, _0809738C - bl sub_8096BE0 -_08097386: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809738C: .4byte sub_8096C84 - thumb_func_end c3_0808DC50 - - thumb_func_start sub_8097390 -sub_8097390: @ 8097390 - push {lr} - ldr r0, _080973A4 - ldrb r0, [r0, 0x4] - cmp r0, 0x5 - bhi _08097462 - lsls r0, 2 - ldr r1, _080973A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080973A4: .4byte 0x02000000 -_080973A8: .4byte _080973AC - .align 2, 0 -_080973AC: - .4byte _080973C4 - .4byte _080973FC - .4byte _0809741C - .4byte _0809742C - .4byte _0809743E - .4byte _0809745C -_080973C4: - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _080973E4 - movs r0, 0xE - bl sub_8098898 - ldr r1, _080973E0 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _08097462 - .align 2, 0 -_080973E0: .4byte 0x02000000 -_080973E4: - bl sub_809B0E0 - movs r0, 0 - bl sub_809B100 - ldr r1, _080973F8 - movs r0, 0x2 - strb r0, [r1, 0x4] - b _08097462 - .align 2, 0 -_080973F8: .4byte 0x02000000 -_080973FC: - ldr r0, _08097414 - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _08097462 - bl sub_8098A5C - ldr r0, _08097418 - bl sub_8096BE0 - b _08097462 - .align 2, 0 -_08097414: .4byte gMain -_08097418: .4byte sub_8096C84 -_0809741C: - bl sub_809B130 - lsls r0, 24 - cmp r0, 0 - bne _08097462 - bl sub_809880C - b _0809744C -_0809742C: - bl sub_8098830 - lsls r0, 24 - cmp r0, 0 - bne _08097462 - movs r0, 0x1 - bl sub_809B100 - b _0809744C -_0809743E: - bl sub_809B130 - lsls r0, 24 - cmp r0, 0 - bne _08097462 - bl sub_80987DC -_0809744C: - ldr r1, _08097458 - ldrb r0, [r1, 0x4] - adds r0, 0x1 - strb r0, [r1, 0x4] - b _08097462 - .align 2, 0 -_08097458: .4byte 0x02000000 -_0809745C: - ldr r0, _08097468 - bl sub_8096BE0 -_08097462: - pop {r0} - bx r0 - .align 2, 0 -_08097468: .4byte sub_8097004 - thumb_func_end sub_8097390 - - thumb_func_start sub_809746C -sub_809746C: @ 809746C - push {r4,lr} - ldr r0, _08097484 - ldrb r0, [r0, 0x4] - cmp r0, 0x4 - bls _08097478 - b _08097584 -_08097478: - lsls r0, 2 - ldr r1, _08097488 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08097484: .4byte 0x02000000 -_08097488: .4byte _0809748C - .align 2, 0 -_0809748C: - .4byte _080974A0 - .4byte _080974D8 - .4byte _08097534 - .4byte _08097548 - .4byte _0809756C -_080974A0: - movs r0, 0x6 - bl sub_8098898 - ldr r4, _080974C8 - ldr r2, _080974CC - adds r0, r4, 0 - movs r1, 0x7 - movs r3, 0x3 - bl sub_8096264 - ldr r0, _080974D0 - ldrb r0, [r0] - bl sub_809634C - ldr r0, _080974D4 - adds r4, r0 - ldrb r0, [r4, 0x4] - adds r0, 0x1 - strb r0, [r4, 0x4] - b _08097584 - .align 2, 0 -_080974C8: .4byte 0x02002370 -_080974CC: .4byte 0x0000daca -_080974D0: .4byte gUnknown_0203847E -_080974D4: .4byte 0xffffdc90 -_080974D8: - bl sub_8096368 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xC8 - beq _08097584 - cmp r4, 0xC9 - bne _080974F6 - bl sub_8098A5C - bl sub_809635C - bl sub_8096310 - b _0809755E -_080974F6: - adds r0, r4, 0 - bl sub_809B62C - lsls r0, 24 - cmp r0, 0 - beq _08097518 - bl sub_8098A5C - bl sub_809635C - bl sub_8096310 - ldr r1, _08097514 - movs r0, 0x2 - b _08097522 - .align 2, 0 -_08097514: .4byte 0x02000000 -_08097518: - movs r0, 0x8 - bl sub_8098898 - ldr r1, _0809752C - movs r0, 0x4 -_08097522: - strb r0, [r1, 0x4] - ldr r0, _08097530 - strb r4, [r0] - b _08097584 - .align 2, 0 -_0809752C: .4byte 0x02000000 -_08097530: .4byte gUnknown_0203847E -_08097534: - bl party_compaction - bl sub_8099310 - ldr r1, _08097544 - ldrb r0, [r1, 0x4] - adds r0, 0x1 - b _08097582 - .align 2, 0 -_08097544: .4byte 0x02000000 -_08097548: - bl sub_8099374 - lsls r0, 24 - cmp r0, 0 - bne _08097584 - bl sub_809B6BC - bl BoxSetMosaic - bl sub_80987DC -_0809755E: - ldr r0, _08097568 - bl sub_8096BE0 - b _08097584 - .align 2, 0 -_08097568: .4byte sub_8096C84 -_0809756C: - ldr r0, _0809758C - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08097584 - movs r0, 0x6 - bl sub_8098898 - ldr r1, _08097590 - movs r0, 0x1 -_08097582: - strb r0, [r1, 0x4] -_08097584: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809758C: .4byte gMain -_08097590: .4byte 0x02000000 - thumb_func_end sub_809746C - - thumb_func_start sub_8097594 -sub_8097594: @ 8097594 - push {r4,lr} - ldr r0, _080975AC - ldrb r0, [r0, 0x4] - cmp r0, 0xD - bls _080975A0 - b _0809777A -_080975A0: - lsls r0, 2 - ldr r1, _080975B0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080975AC: .4byte 0x02000000 -_080975B0: .4byte _080975B4 - .align 2, 0 -_080975B4: - .4byte _080975EC - .4byte _08097600 - .4byte _0809763A - .4byte _0809766E - .4byte _0809767A - .4byte _08097690 - .4byte _080976C8 - .4byte _080976E0 - .4byte _080976EC - .4byte _080976F0 - .4byte _08097704 - .4byte _08097720 - .4byte _08097732 - .4byte _08097764 -_080975EC: - movs r0, 0x9 - bl sub_8098898 - movs r0, 0x1 - bl sub_8098A38 - ldr r1, _0809761C - ldrb r0, [r1, 0x4] - adds r0, 0x1 - strb r0, [r1, 0x4] -_08097600: - bl ProcessMenuInputNoWrap - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0809762C - cmp r1, 0 - bgt _08097620 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08097626 - b _0809777A - .align 2, 0 -_0809761C: .4byte 0x02000000 -_08097620: - cmp r1, 0x1 - beq _08097626 - b _0809777A -_08097626: - bl sub_8098A5C - b _080976E0 -_0809762C: - bl sub_8098A5C - bl sub_809B7D4 - bl sub_809B6DC - b _08097744 -_0809763A: - bl sub_809B960 - bl sub_809B734 - lsls r0, 24 - cmp r0, 0 - beq _0809764A - b _0809777A -_0809764A: - ldr r4, _08097650 - b _0809765A - .align 2, 0 -_08097650: .4byte 0x02000000 -_08097654: - cmp r0, 0 - bne _0809765A - b _08097758 -_0809765A: - bl sub_809B960 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _08097654 - ldrb r0, [r4, 0x4] - adds r0, 0x1 - strb r0, [r4, 0x4] - b _0809777A -_0809766E: - bl sub_809B760 - bl sub_809801C - movs r0, 0xA - b _08097740 -_0809767A: - ldr r0, _0809768C - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08097688 - b _0809777A -_08097688: - movs r0, 0xB - b _08097740 - .align 2, 0 -_0809768C: .4byte gMain -_08097690: - ldr r0, _080976B4 - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0809777A - bl sub_8098A5C - ldr r0, _080976B8 - ldrb r0, [r0] - cmp r0, 0 - beq _080976BC - bl party_compaction - bl sub_8099310 - b _08097744 - .align 2, 0 -_080976B4: .4byte gMain -_080976B8: .4byte gUnknown_0203847C -_080976BC: - ldr r1, _080976C4 - movs r0, 0x7 - strb r0, [r1, 0x4] - b _0809777A - .align 2, 0 -_080976C4: .4byte 0x02000000 -_080976C8: - bl sub_8099374 - lsls r0, 24 - cmp r0, 0 - bne _0809777A - bl sub_809B440 - bl BoxSetMosaic - bl sub_80987DC - b _08097744 -_080976E0: - ldr r0, _080976E8 - bl sub_8096BE0 - b _0809777A - .align 2, 0 -_080976E8: .4byte sub_8096C84 -_080976EC: - movs r0, 0xA - b _08097740 -_080976F0: - ldr r0, _08097700 - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0809777A - movs r0, 0x15 - b _08097740 - .align 2, 0 -_08097700: .4byte gMain -_08097704: - ldr r0, _0809771C - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0809777A - bl sub_8098A5C - bl sub_8099958 - b _08097744 - .align 2, 0 -_0809771C: .4byte gMain -_08097720: - bl sub_8099990 - lsls r0, 24 - cmp r0, 0 - bne _0809777A - bl sub_809B7AC - movs r0, 0x13 - b _08097740 -_08097732: - ldr r0, _08097750 - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0809777A - movs r0, 0x14 -_08097740: - bl sub_8098898 -_08097744: - ldr r1, _08097754 - ldrb r0, [r1, 0x4] - adds r0, 0x1 - strb r0, [r1, 0x4] - b _0809777A - .align 2, 0 -_08097750: .4byte gMain -_08097754: .4byte 0x02000000 -_08097758: - ldr r1, _08097760 - movs r0, 0x8 - strb r0, [r1, 0x4] - b _0809777A - .align 2, 0 -_08097760: .4byte 0x02000000 -_08097764: - ldr r0, _08097780 - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0809777A - bl sub_8098A5C - ldr r0, _08097784 - bl sub_8096BE0 -_0809777A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08097780: .4byte gMain -_08097784: .4byte sub_8096C84 - thumb_func_end sub_8097594 - - thumb_func_start sub_8097788 -sub_8097788: @ 8097788 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _0809779C - ldrb r4, [r5, 0x4] - cmp r4, 0 - beq _080977A0 - cmp r4, 0x1 - beq _080977BC - b _080977D4 - .align 2, 0 -_0809779C: .4byte 0x02000000 -_080977A0: - bl sub_809BC18 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrb r0, [r5, 0x4] - adds r0, 0x1 - strb r0, [r5, 0x4] - b _080977D4 -_080977BC: - bl UpdatePaletteFade - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080977D4 - ldr r0, _080977DC - strb r1, [r0] - strb r1, [r5, 0x6] - ldr r0, _080977E0 - bl SetMainCallback2 -_080977D4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080977DC: .4byte gUnknown_0203847F -_080977E0: .4byte sub_8096B5C - thumb_func_end sub_8097788 - - thumb_func_start sub_80977E4 -sub_80977E4: @ 80977E4 - push {r4,lr} - ldr r4, _080977F4 - ldrb r0, [r4, 0x4] - cmp r0, 0 - beq _080977F8 - cmp r0, 0x1 - beq _08097824 - b _0809784C - .align 2, 0 -_080977F4: .4byte 0x02000000 -_080977F8: - movs r0, 0xC - bl sub_8098898 - ldr r0, _08097820 - adds r2, r4, r0 - ldrb r1, [r2] - movs r3, 0x96 - lsls r3, 5 - adds r0, r4, r3 - strb r1, [r0] - ldrb r0, [r2] - movs r1, 0xB0 - movs r2, 0x10 - bl sub_80F7418 - ldrb r0, [r4, 0x4] - adds r0, 0x1 - strb r0, [r4, 0x4] - b _0809784C - .align 2, 0 -_08097820: .4byte 0x000011f7 -_08097824: - bl sub_80F7500 - lsls r0, 24 - cmp r0, 0 - bne _0809784C - bl sub_80F7470 - bl sub_8098A5C - movs r1, 0x96 - lsls r1, 5 - adds r0, r4, r1 - ldrb r0, [r0] - bl sub_809BDD8 - bl sub_809801C - ldr r0, _08097854 - bl sub_8096BE0 -_0809784C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08097854: .4byte sub_8096C84 - thumb_func_end sub_80977E4 - - thumb_func_start sub_8097858 -sub_8097858: @ 8097858 - push {r4,lr} - ldr r4, _08097868 - ldrb r0, [r4, 0x4] - cmp r0, 0 - beq _0809786C - cmp r0, 0x1 - beq _0809787C - b _08097890 - .align 2, 0 -_08097868: .4byte 0x02000000 -_0809786C: - bl party_compaction - bl sub_8099310 - ldrb r0, [r4, 0x4] - adds r0, 0x1 - strb r0, [r4, 0x4] - b _08097890 -_0809787C: - bl sub_8099374 - lsls r0, 24 - cmp r0, 0 - bne _08097890 - bl sub_80987DC - ldr r0, _08097898 - bl sub_8096BE0 -_08097890: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08097898: .4byte sub_8096C84 - thumb_func_end sub_8097858 - - thumb_func_start sub_809789C -sub_809789C: @ 809789C - push {r4,lr} - ldr r4, _080978AC - ldrb r0, [r4, 0x4] - cmp r0, 0 - beq _080978B0 - cmp r0, 0x1 - beq _080978C2 - b _08097968 - .align 2, 0 -_080978AC: .4byte 0x02000000 -_080978B0: - movs r0, 0x1 - bl sub_8098898 - bl sub_809CE84 - ldrb r0, [r4, 0x4] - adds r0, 0x1 - strb r0, [r4, 0x4] - b _08097968 -_080978C2: - bl sub_809CF30 - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bhi _08097968 - lsls r0, 2 - ldr r1, _080978DC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080978DC: .4byte _080978E0 - .align 2, 0 -_080978E0: - .4byte _08097914 - .4byte _08097914 - .4byte _08097968 - .4byte _08097968 - .4byte _08097968 - .4byte _08097968 - .4byte _08097968 - .4byte _08097968 - .4byte _08097968 - .4byte _08097968 - .4byte _08097958 - .4byte _08097940 - .4byte _0809792C -_08097914: - movs r0, 0x1 - bl sub_809A860 - bl sub_8098A5C - ldr r0, _08097928 - bl sub_8096BE0 - b _08097968 - .align 2, 0 -_08097928: .4byte sub_8096C84 -_0809792C: - movs r0, 0x5 - bl PlaySE - ldr r0, _0809793C - bl sub_8096BE0 - b _08097968 - .align 2, 0 -_0809793C: .4byte sub_8097B44 -_08097940: - movs r0, 0x5 - bl PlaySE - bl sub_8098A5C - ldr r0, _08097954 - bl sub_8096BE0 - b _08097968 - .align 2, 0 -_08097954: .4byte sub_8097974 -_08097958: - movs r0, 0x5 - bl PlaySE - bl sub_8098A5C - ldr r0, _08097970 - bl sub_8096BE0 -_08097968: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08097970: .4byte sub_8097A64 - thumb_func_end sub_809789C - - thumb_func_start sub_8097974 -sub_8097974: @ 8097974 - push {r4,r5,lr} - ldr r5, _08097988 - ldrb r0, [r5, 0x4] - cmp r0, 0x1 - beq _080979A2 - cmp r0, 0x1 - bgt _0809798C - cmp r0, 0 - beq _08097996 - b _08097A5A - .align 2, 0 -_08097988: .4byte 0x02000000 -_0809798C: - cmp r0, 0x2 - beq _080979FC - cmp r0, 0x3 - beq _08097A44 - b _08097A5A -_08097996: - bl sub_8098A80 - movs r0, 0x2 - bl sub_8098898 - b _08097A3C -_080979A2: - bl sub_809CF30 - ldr r1, _080979CC - adds r4, r5, r1 - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080979D4 - movs r0, 0x1 - bl sub_809A860 - bl sub_8098A5C - ldr r0, _080979D0 - bl sub_8096BE0 - b _08097A5A - .align 2, 0 -_080979CC: .4byte 0x00000d5e -_080979D0: .4byte sub_8096C84 -_080979D4: - cmp r0, r1 - blt _08097A5A - cmp r0, 0xF - bgt _08097A5A - cmp r0, 0xC - blt _08097A5A - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4] - subs r0, 0xC - strh r0, [r4] - lsls r0, 24 - lsrs r0, 24 - bl sub_8098AA8 - movs r0, 0x3 - bl sub_8098898 - b _08097A3C -_080979FC: - bl sub_809CF30 - movs r1, 0xD6 - lsls r1, 4 - adds r4, r5, r1 - strh r0, [r4] - movs r0, 0 - ldrsh r1, [r4, r0] - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _08097A5A - adds r0, 0x1 - cmp r1, r0 - bne _08097A24 - bl sub_8098A5C - movs r0, 0 - strb r0, [r5, 0x4] - b _08097A5A -_08097A24: - movs r0, 0x5 - bl PlaySE - bl sub_8098A5C - ldrh r0, [r4] - subs r0, 0x10 - strh r0, [r4] - lsls r0, 24 - lsrs r0, 24 - bl sub_8099DCC -_08097A3C: - ldrb r0, [r5, 0x4] - adds r0, 0x1 - strb r0, [r5, 0x4] - b _08097A5A -_08097A44: - bl sub_8099E08 - lsls r0, 24 - cmp r0, 0 - bne _08097A5A - movs r0, 0x1 - bl sub_809A860 - ldr r0, _08097A60 - bl sub_8096BE0 -_08097A5A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08097A60: .4byte sub_8096C84 - thumb_func_end sub_8097974 - - thumb_func_start sub_8097A64 -sub_8097A64: @ 8097A64 - push {r4,r5,lr} - ldr r5, _08097A78 - ldrb r0, [r5, 0x4] - cmp r0, 0x1 - beq _08097AB0 - cmp r0, 0x1 - bgt _08097A7C - cmp r0, 0 - beq _08097A86 - b _08097B32 - .align 2, 0 -_08097A78: .4byte 0x02000000 -_08097A7C: - cmp r0, 0x2 - beq _08097B00 - cmp r0, 0x3 - beq _08097B18 - b _08097B32 -_08097A86: - movs r0, 0x5 - bl sub_8098898 - ldr r1, _08097AA4 - adds r0, r5, r1 - ldr r2, _08097AA8 - movs r1, 0x7 - movs r3, 0x3 - bl sub_8096264 - ldr r0, _08097AAC - ldrb r0, [r0] - bl sub_809634C - b _08097B0A - .align 2, 0 -_08097AA4: .4byte 0x00002370 -_08097AA8: .4byte 0x0000daca -_08097AAC: .4byte gPokemonStorage -_08097AB0: - bl sub_8096368 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08097AF4 - adds r4, r5, r2 - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0xC8 - beq _08097B32 - bl sub_8098A5C - bl sub_809635C - bl sub_8096310 - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0xC9 - beq _08097AE4 - adds r1, r0, 0 - ldr r0, _08097AF8 - ldrb r0, [r0] - cmp r1, r0 - bne _08097B0A -_08097AE4: - movs r0, 0x1 - bl sub_809A860 - ldr r0, _08097AFC - bl sub_8096BE0 - b _08097B32 - .align 2, 0 -_08097AF4: .4byte 0x000008b2 -_08097AF8: .4byte gPokemonStorage -_08097AFC: .4byte sub_8096C84 -_08097B00: - ldr r1, _08097B14 - adds r0, r5, r1 - ldrb r0, [r0] - bl sub_8099C70 -_08097B0A: - ldrb r0, [r5, 0x4] - adds r0, 0x1 - strb r0, [r5, 0x4] - b _08097B32 - .align 2, 0 -_08097B14: .4byte 0x000008b2 -_08097B18: - bl sub_8099D34 - lsls r0, 24 - cmp r0, 0 - bne _08097B32 - ldr r1, _08097B38 - ldr r2, _08097B3C - adds r0, r5, r2 - ldrh r0, [r0] - strb r0, [r1] - ldr r0, _08097B40 - bl sub_8096BE0 -_08097B32: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08097B38: .4byte gPokemonStorage -_08097B3C: .4byte 0x000008b2 -_08097B40: .4byte sub_8096C84 - thumb_func_end sub_8097A64 - - thumb_func_start sub_8097B44 -sub_8097B44: @ 8097B44 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08097B58 - ldrb r4, [r5, 0x4] - cmp r4, 0 - beq _08097B5C - cmp r4, 0x1 - beq _08097B78 - b _08097B8E - .align 2, 0 -_08097B58: .4byte 0x02000000 -_08097B5C: - bl sub_809BB90 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrb r0, [r5, 0x4] - adds r0, 0x1 - strb r0, [r5, 0x4] - b _08097B8E -_08097B78: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _08097B8E - ldr r0, _08097B98 - strb r4, [r0] - strb r4, [r5, 0x6] - ldr r0, _08097B9C - bl SetMainCallback2 -_08097B8E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08097B98: .4byte gUnknown_0203847F -_08097B9C: .4byte sub_8096B5C - thumb_func_end sub_8097B44 - - thumb_func_start sub_8097BA0 -sub_8097BA0: @ 8097BA0 - push {r4,lr} - ldr r0, _08097BB8 - ldrb r1, [r0, 0x4] - adds r4, r0, 0 - cmp r1, 0x4 - bls _08097BAE - b _08097CB0 -_08097BAE: - lsls r0, r1, 2 - ldr r1, _08097BBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08097BB8: .4byte 0x02000000 -_08097BBC: .4byte _08097BC0 - .align 2, 0 -_08097BC0: - .4byte _08097BD4 - .4byte _08097C18 - .4byte _08097C2C - .4byte _08097C74 - .4byte _08097C98 -_08097BD4: - bl sub_809BF20 - lsls r0, 24 - cmp r0, 0 - beq _08097BF8 - movs r0, 0x20 - bl PlaySE - movs r0, 0xF - bl sub_8098898 - ldr r1, _08097BF4 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _08097CB0 - .align 2, 0 -_08097BF4: .4byte 0x02000000 -_08097BF8: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_8098898 - movs r0, 0 - bl sub_8098A38 - ldr r1, _08097C14 - movs r0, 0x2 - strb r0, [r1, 0x4] - b _08097CB0 - .align 2, 0 -_08097C14: .4byte 0x02000000 -_08097C18: - ldr r0, _08097C28 - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _08097CB0 - b _08097C4A - .align 2, 0 -_08097C28: .4byte gMain -_08097C2C: - bl ProcessMenuInputNoWrap - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08097C5C - cmp r1, 0 - bgt _08097C46 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08097C4A - b _08097CB0 -_08097C46: - cmp r1, 0x1 - bne _08097CB0 -_08097C4A: - bl sub_8098A5C - ldr r0, _08097C58 - bl sub_8096BE0 - b _08097CB0 - .align 2, 0 -_08097C58: .4byte sub_8096C84 -_08097C5C: - movs r0, 0x3 - bl PlaySE - bl sub_8098A5C - ldr r1, _08097C70 - ldrb r0, [r1, 0x4] - adds r0, 0x1 - strb r0, [r1, 0x4] - b _08097CB0 - .align 2, 0 -_08097C70: .4byte 0x02000000 -_08097C74: - movs r1, 0 - movs r0, 0xE - strh r0, [r4, 0xC] - ldr r0, _08097C94 - strh r0, [r4, 0xE] - movs r0, 0x14 - strh r0, [r4, 0x10] - strh r1, [r4, 0x12] - adds r0, r4, 0 - adds r0, 0xC - bl sub_80C5E38 - ldrb r0, [r4, 0x4] - adds r0, 0x1 - strb r0, [r4, 0x4] - b _08097CB0 - .align 2, 0 -_08097C94: .4byte 0x0000dad0 -_08097C98: - bl sub_80C5F98 - lsls r0, 24 - cmp r0, 0 - beq _08097CB0 - bl CalculatePlayerPartyCount - ldr r1, _08097CB8 - strb r0, [r1] - ldr r0, _08097CBC - bl SetMainCallback2 -_08097CB0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08097CB8: .4byte gPlayerPartyCount -_08097CBC: .4byte sub_80961A8 - thumb_func_end sub_8097BA0 - - thumb_func_start sub_8097CC0 -sub_8097CC0: @ 8097CC0 - push {r4,lr} - ldr r0, _08097CD8 - ldrb r1, [r0, 0x4] - adds r4, r0, 0 - cmp r1, 0x4 - bls _08097CCE - b _08097DD0 -_08097CCE: - lsls r0, r1, 2 - ldr r1, _08097CDC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08097CD8: .4byte 0x02000000 -_08097CDC: .4byte _08097CE0 - .align 2, 0 -_08097CE0: - .4byte _08097CF4 - .4byte _08097D38 - .4byte _08097D4C - .4byte _08097D94 - .4byte _08097DB8 -_08097CF4: - bl sub_809BF20 - lsls r0, 24 - cmp r0, 0 - beq _08097D18 - movs r0, 0x20 - bl PlaySE - movs r0, 0xF - bl sub_8098898 - ldr r1, _08097D14 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _08097DD0 - .align 2, 0 -_08097D14: .4byte 0x02000000 -_08097D18: - movs r0, 0x5 - bl PlaySE - movs r0, 0x12 - bl sub_8098898 - movs r0, 0 - bl sub_8098A38 - ldr r1, _08097D34 - movs r0, 0x2 - strb r0, [r1, 0x4] - b _08097DD0 - .align 2, 0 -_08097D34: .4byte 0x02000000 -_08097D38: - ldr r0, _08097D48 - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _08097DD0 - b _08097D6C - .align 2, 0 -_08097D48: .4byte gMain -_08097D4C: - bl ProcessMenuInputNoWrap - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08097D6C - cmp r1, 0 - bgt _08097D66 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08097D7C - b _08097DD0 -_08097D66: - cmp r1, 0x1 - beq _08097D7C - b _08097DD0 -_08097D6C: - bl sub_8098A5C - ldr r0, _08097D78 - bl sub_8096BE0 - b _08097DD0 - .align 2, 0 -_08097D78: .4byte sub_8096C84 -_08097D7C: - movs r0, 0x3 - bl PlaySE - bl sub_8098A5C - ldr r1, _08097D90 - ldrb r0, [r1, 0x4] - adds r0, 0x1 - strb r0, [r1, 0x4] - b _08097DD0 - .align 2, 0 -_08097D90: .4byte 0x02000000 -_08097D94: - movs r1, 0 - movs r0, 0xE - strh r0, [r4, 0xC] - ldr r0, _08097DB4 - strh r0, [r4, 0xE] - movs r0, 0x14 - strh r0, [r4, 0x10] - strh r1, [r4, 0x12] - adds r0, r4, 0 - adds r0, 0xC - bl sub_80C5E38 - ldrb r0, [r4, 0x4] - adds r0, 0x1 - strb r0, [r4, 0x4] - b _08097DD0 - .align 2, 0 -_08097DB4: .4byte 0x0000dad0 -_08097DB8: - bl sub_80C5F98 - lsls r0, 24 - cmp r0, 0 - beq _08097DD0 - bl CalculatePlayerPartyCount - ldr r1, _08097DD8 - strb r0, [r1] - ldr r0, _08097DDC - bl SetMainCallback2 -_08097DD0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08097DD8: .4byte gPlayerPartyCount -_08097DDC: .4byte sub_80961A8 - thumb_func_end sub_8097CC0 - - thumb_func_start sub_8097DE0 -sub_8097DE0: @ 8097DE0 - push {lr} - ldr r1, _08097E1C - movs r0, 0 - strb r0, [r1, 0x7] - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - ldr r1, _08097E20 - ldr r2, _08097E24 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _08097E28 - ldr r2, _08097E2C - ldr r0, _08097E30 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _08097E34 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _08097E38 - ldr r1, _08097E3C - bl LZ77UnCompVram - ldr r0, _08097E40 - movs r1, 0xD0 - movs r2, 0x10 - bl LoadPalette - pop {r0} - bx r0 - .align 2, 0 -_08097E1C: .4byte 0x02000000 -_08097E20: .4byte REG_BG3CNT -_08097E24: .4byte 0x00001e0f -_08097E28: .4byte gPokemonStorageScrollingBGTile -_08097E2C: .4byte 0x0600e000 -_08097E30: .4byte 0x040000d4 -_08097E34: .4byte 0x80000010 -_08097E38: .4byte gPokemonStorageScrollingBGTilemap -_08097E3C: .4byte 0x0600f000 -_08097E40: .4byte gPokemonStorageScrollingBGPalette - thumb_func_end sub_8097DE0 - - thumb_func_start sub_8097E44 -sub_8097E44: @ 8097E44 - push {lr} - ldr r1, _08097E6C - ldrb r0, [r1, 0x7] - adds r0, 0x1 - strb r0, [r1, 0x7] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _08097E66 - movs r0, 0 - strb r0, [r1, 0x7] - ldrh r0, [r1, 0x8] - subs r0, 0x1 - strh r0, [r1, 0x8] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_08097E66: - pop {r0} - bx r0 - .align 2, 0 -_08097E6C: .4byte 0x02000000 - thumb_func_end sub_8097E44 - - thumb_func_start sub_8097E70 -sub_8097E70: @ 8097E70 - push {r4,lr} - sub sp, 0x10 - ldr r0, _08097F2C - ldr r1, _08097F30 - bl LZ77UnCompVram - ldr r0, _08097F34 - ldr r4, _08097F38 - adds r1, r4, 0 - bl LZ77UnCompWram - ldr r0, _08097F3C - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0xA - str r1, [sp, 0x8] - movs r1, 0x14 - str r1, [sp, 0xC] - movs r1, 0 - movs r2, 0 - adds r3, r4, 0 - bl sub_809D034 - ldr r0, _08097F40 - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08097F44 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08097F48 - movs r1, 0xB0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08097F4C - movs r1, 0xC0 - movs r2, 0x20 - bl LoadPalette - ldr r4, _08097F50 - adds r0, r4, 0 - movs r1, 0xF1 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xF2 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - adds r0, 0x8 - movs r1, 0xF3 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - adds r0, 0x16 - movs r1, 0xF4 - movs r2, 0x4 - bl LoadPalette - adds r0, r4, 0 - adds r0, 0x12 - movs r1, 0xF6 - movs r2, 0x4 - bl LoadPalette - adds r4, 0x2 - adds r0, r4, 0 - movs r1, 0xFF - movs r2, 0x2 - bl LoadPalette - ldr r0, _08097F54 - bl LoadSpritePalette - bl sub_80980D4 - bl sub_8097F58 - bl sub_8097FB8 - bl sub_809801C - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08097F2C: .4byte gPSSMenuHeader_Gfx -_08097F30: .4byte 0x06005000 -_08097F34: .4byte gPSSMenuHeader_Tilemap -_08097F38: .4byte gUnknown_02039760 -_08097F3C: .4byte 0x06007800 -_08097F40: .4byte gPSSMenu1_Pal -_08097F44: .4byte gPSSMenu2_Pal -_08097F48: .4byte gUnknown_083B6D74 -_08097F4C: .4byte gUnknown_083B6D94 -_08097F50: .4byte gUnknownPalette_81E6692+0x2 -_08097F54: .4byte gWaveformSpritePalette - thumb_func_end sub_8097E70 - - thumb_func_start sub_8097F58 -sub_8097F58: @ 8097F58 - push {r4,lr} - ldr r1, _08097FA4 - movs r0, 0xD - movs r2, 0 - bl sub_80F7940 - ldr r4, _08097FA8 - ldr r1, _08097FAC - adds r3, r4, r1 - str r0, [r3] - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x5] - ldr r0, [r3] - adds r0, 0x43 - movs r1, 0x1 - strb r1, [r0] - ldr r1, [r3] - movs r0, 0x28 - strh r0, [r1, 0x20] - ldr r1, [r3] - movs r0, 0x95 - strh r0, [r1, 0x22] - movs r0, 0xD - bl GetSpriteTileStartByTag - ldr r1, _08097FB0 - adds r4, r1 - lsls r0, 16 - lsrs r0, 11 - ldr r1, _08097FB4 - adds r0, r1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08097FA4: .4byte 0x0000dace -_08097FA8: .4byte 0x02000000 -_08097FAC: .4byte 0x000012ac -_08097FB0: .4byte 0x000012b8 -_08097FB4: .4byte 0x06010000 - thumb_func_end sub_8097F58 - - thumb_func_start sub_8097FB8 -sub_8097FB8: @ 8097FB8 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _0809800C - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - movs r4, 0 - ldr r5, _08098010 -_08097FD0: - lsls r1, r4, 6 - subs r1, r4 - adds r1, 0x8 - lsls r1, 16 - asrs r1, 16 - ldr r0, _08098014 - movs r2, 0x9 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r4, 2 - adds r2, r5 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08098018 - adds r1, r0 - str r1, [r2] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _08097FD0 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809800C: .4byte gWaveformSpriteSheet -_08098010: .4byte 0x020012b0 -_08098014: .4byte gSpriteTemplate_83B6EFC -_08098018: .4byte gSprites - thumb_func_end sub_8097FB8 - - thumb_func_start sub_809801C -sub_809801C: @ 809801C - push {lr} - ldr r1, _0809803C - ldr r2, _08098040 - adds r0, r1, r2 - ldrh r0, [r0] - subs r2, 0x4 - adds r1, r2 - ldr r1, [r1] - bl sub_80981F0 - bl sub_80982B4 - bl sub_8098350 - pop {r0} - bx r0 - .align 2, 0 -_0809803C: .4byte 0x02000000 -_08098040: .4byte 0x000011f0 - thumb_func_end sub_809801C - - thumb_func_start BoxSetMosaic -BoxSetMosaic: @ 8098044 - push {lr} - bl sub_809801C - ldr r0, _08098084 - movs r1, 0x9C - lsls r1, 6 - adds r3, r0, r1 - ldr r2, [r3] - cmp r2, 0 - beq _08098080 - ldrb r0, [r2, 0x1] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r1, [r3] - movs r0, 0xA - strh r0, [r1, 0x2E] - ldr r1, [r3] - movs r0, 0x1 - strh r0, [r1, 0x30] - ldr r1, [r3] - ldr r0, _08098088 - str r0, [r1, 0x1C] - ldr r2, _0809808C - ldr r0, [r3] - ldrh r0, [r0, 0x2E] - lsls r1, r0, 12 - lsls r0, 8 - orrs r1, r0 - strh r1, [r2] -_08098080: - pop {r0} - bx r0 - .align 2, 0 -_08098084: .4byte 0x02000000 -_08098088: .4byte sub_8098090 -_0809808C: .4byte REG_MOSAIC - thumb_func_end BoxSetMosaic - - thumb_func_start sub_8098090 -sub_8098090: @ 8098090 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - ldrh r1, [r3, 0x30] - subs r0, r1 - strh r0, [r3, 0x2E] - lsls r0, 16 - cmp r0, 0 - bge _080980A6 - movs r0, 0 - strh r0, [r3, 0x2E] -_080980A6: - ldr r2, _080980CC - ldrh r0, [r3, 0x2E] - lsls r1, r0, 12 - lsls r0, 8 - orrs r1, r0 - strh r1, [r2] - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080980C8 - ldrb r0, [r3, 0x1] - movs r1, 0x11 - negs r1, r1 - ands r1, r0 - strb r1, [r3, 0x1] - ldr r0, _080980D0 - str r0, [r3, 0x1C] -_080980C8: - pop {r0} - bx r0 - .align 2, 0 -_080980CC: .4byte REG_MOSAIC -_080980D0: .4byte SpriteCallbackDummy - thumb_func_end sub_8098090 - - thumb_func_start sub_80980D4 -sub_80980D4: @ 80980D4 - push {r4,r5,lr} - sub sp, 0x28 - ldr r0, _08098150 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - ldr r0, _08098154 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x20] - str r1, [sp, 0x24] - mov r1, sp - ldr r0, _08098158 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - movs r1, 0 - add r5, sp, 0x18 - ldr r4, _0809815C - movs r3, 0 - ldr r2, _08098160 -_08098102: - adds r0, r1, r4 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r2 - bls _08098102 - movs r1, 0 - ldr r3, _08098164 - movs r2, 0 -_08098116: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xF - bls _08098116 - ldr r0, _08098168 - movs r1, 0x9C - lsls r1, 6 - adds r0, r1 - movs r1, 0 - str r1, [r0] - adds r0, r5, 0 - bl LoadSpriteSheet - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _080981C4 - add r0, sp, 0x20 - bl LoadSpritePalette - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - beq _080981C4 - b _080981B0 - .align 2, 0 -_08098150: .4byte gUnknown_083B6DCC -_08098154: .4byte gUnknown_083B6DD4 -_08098158: .4byte gSpriteTemplate_83B6DDC -_0809815C: .4byte 0x02002784 -_08098160: .4byte 0x000007ff -_08098164: .4byte 0x02002704 -_08098168: .4byte 0x02000000 -_0809816C: - ldr r2, _0809819C - movs r0, 0x9C - lsls r0, 6 - adds r3, r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080981A0 - adds r0, r1 - str r0, [r3] - lsls r0, r4, 4 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldr r3, _080981A4 - adds r1, r2, r3 - strh r0, [r1] - ldr r4, _080981A8 - adds r2, r4 - lsls r0, r5, 5 - ldr r1, _080981AC - adds r0, r1 - str r0, [r2] - b _080981C4 - .align 2, 0 -_0809819C: .4byte 0x02000000 -_080981A0: .4byte gSprites -_080981A4: .4byte 0x000026fa -_080981A8: .4byte 0x000026fc -_080981AC: .4byte 0x06010000 -_080981B0: - mov r0, sp - movs r1, 0x28 - movs r2, 0x30 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - bne _0809816C -_080981C4: - ldr r0, _080981E8 - movs r2, 0x9C - lsls r2, 6 - adds r0, r2 - ldr r0, [r0] - cmp r0, 0 - bne _080981DE - movs r0, 0x2 - bl FreeSpriteTilesByTag - ldr r0, _080981EC - bl FreeSpritePaletteByTag -_080981DE: - add sp, 0x28 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080981E8: .4byte 0x02000000 -_080981EC: .4byte 0x0000dac7 - thumb_func_end sub_80980D4 - - thumb_func_start sub_80981F0 -sub_80981F0: @ 80981F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r7, r1, 0 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r6, _08098274 - movs r0, 0x9C - lsls r0, 6 - adds r0, r6 - mov r8, r0 - ldr r0, [r0] - cmp r0, 0 - beq _080982A6 - cmp r4, 0 - beq _0809829C - lsls r0, r4, 3 - ldr r1, _08098278 - adds r0, r1 - ldr r2, _0809827C - lsls r1, r4, 2 - adds r1, r2 - ldrb r1, [r1] - ldr r2, _08098280 - adds r3, r6, r2 - ldr r2, _08098284 - adds r5, r6, r2 - str r5, [sp] - str r4, [sp, 0x4] - str r7, [sp, 0x8] - movs r2, 0x1 - bl sub_800D334 - ldr r1, _08098288 - adds r0, r6, r1 - ldr r0, [r0] - ldr r2, _0809828C - adds r4, r6, r2 - adds r1, r4, 0 - bl LZ77UnCompWram - ldr r1, _08098290 - adds r0, r6, r1 - ldr r1, [r0] - ldr r2, _08098294 - adds r0, r5, 0 - bl CpuSet - ldr r2, _08098298 - adds r0, r6, r2 - ldrh r1, [r0] - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - mov r0, r8 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - b _080982A6 - .align 2, 0 -_08098274: .4byte 0x02000000 -_08098278: .4byte gMonFrontPicTable -_0809827C: .4byte gMonFrontPicCoords -_08098280: .4byte 0x00004784 -_08098284: .4byte 0x00002784 -_08098288: .4byte 0x000011e8 -_0809828C: .4byte 0x00002704 -_08098290: .4byte 0x000026fc -_08098294: .4byte 0x04000200 -_08098298: .4byte 0x000026fa -_0809829C: - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080982A6: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80981F0 - - thumb_func_start sub_80982B4 -sub_80982B4: @ 80982B4 - push {r4,lr} - ldr r4, _080982E4 - ldr r1, _080982E8 - adds r0, r4, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _080982F4 - ldr r2, _080982EC - adds r0, r4, r2 - ldrb r0, [r0] - adds r2, 0xC1 - adds r1, r4, r2 - ldr r1, [r1] - bl sub_80F7A10 - ldr r1, _080982F0 - adds r0, r4, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - b _08098302 - .align 2, 0 -_080982E4: .4byte 0x02000000 -_080982E8: .4byte 0x000011f0 -_080982EC: .4byte 0x000011f7 -_080982F0: .4byte 0x000012ac -_080982F4: - ldr r2, _08098348 - adds r0, r4, r2 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 -_08098302: - strb r0, [r1] - movs r0, 0 - movs r1, 0xB - movs r2, 0x9 - movs r3, 0x11 - bl MenuZeroFillWindowRect - ldr r4, _0809834C - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x10 - bl MenuPrint - adds r0, r4, 0 - subs r0, 0x6B - movs r1, 0x1 - movs r2, 0xB - bl MenuPrint - adds r0, r4, 0 - subs r0, 0x46 - movs r1, 0 - movs r2, 0xD - bl MenuPrint - subs r4, 0x21 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08098348: .4byte 0x000012ac -_0809834C: .4byte 0x0200127a - thumb_func_end sub_80982B4 - - thumb_func_start sub_8098350 -sub_8098350: @ 8098350 - push {r4,r5,lr} - sub sp, 0x10 - ldr r5, _080983A0 - ldr r1, _080983A4 - adds r0, r5, r1 - ldrh r2, [r0] - cmp r2, 0 - beq _080983B4 - ldr r0, _080983A8 - ldr r3, _080983AC - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - movs r1, 0x8 - str r1, [sp, 0x8] - movs r1, 0x2 - str r1, [sp, 0xC] - movs r1, 0x1 - movs r2, 0 - bl sub_809D034 - movs r4, 0 - ldr r0, _080983B0 - adds r5, r0 -_08098382: - lsls r0, r4, 2 - adds r0, r5 - ldr r0, [r0] - lsls r1, r4, 1 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnimIfDifferent - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _08098382 - b _080983EC - .align 2, 0 -_080983A0: .4byte 0x02000000 -_080983A4: .4byte 0x000011f0 -_080983A8: .4byte 0x06007800 -_080983AC: .4byte gUnknown_02039760 -_080983B0: .4byte 0x000012b0 -_080983B4: - ldr r0, _080983F4 - ldr r3, _080983F8 - movs r1, 0xA - str r1, [sp] - str r2, [sp, 0x4] - movs r1, 0x8 - str r1, [sp, 0x8] - movs r1, 0x2 - str r1, [sp, 0xC] - movs r1, 0x1 - movs r2, 0 - bl sub_809D034 - movs r4, 0 - ldr r1, _080983FC - adds r5, r1 -_080983D4: - lsls r0, r4, 2 - adds r0, r5 - ldr r0, [r0] - lsls r1, r4, 25 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080983D4 -_080983EC: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080983F4: .4byte 0x06007800 -_080983F8: .4byte gUnknown_02039760 -_080983FC: .4byte 0x000012b0 - thumb_func_end sub_8098350 - - thumb_func_start sub_8098400 -sub_8098400: @ 8098400 - push {r4,r5,lr} - sub sp, 0x14 - ldr r1, _0809847C - ldr r2, _08098480 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08098484 - ldr r1, _08098488 - bl LZ77UnCompVram - ldr r0, _0809848C - ldr r5, _08098490 - adds r1, r5, 0 - bl LZ77UnCompWram - ldr r0, _08098494 - movs r1, 0x20 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08098498 - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette - ldr r4, _0809849C - add r1, sp, 0x10 - movs r0, 0 - strh r0, [r1] - ldr r0, _080984A0 - str r1, [r0] - str r4, [r0, 0x4] - ldr r1, _080984A4 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - bl sub_8098780 - ldr r0, _080984A8 - ldrb r0, [r0] - cmp r0, 0 - beq _080984AC - movs r0, 0x1 - bl sub_8098690 - movs r0, 0x1 - bl sub_8099200 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0xC - str r0, [sp, 0x8] - movs r0, 0x16 - str r0, [sp, 0xC] - adds r0, r4, 0 - movs r1, 0xA - movs r2, 0 - adds r3, r5, 0 - bl sub_809D034 - b _080984CC - .align 2, 0 -_0809847C: .4byte REG_BG1CNT -_08098480: .4byte 0x00000f01 -_08098484: .4byte gPSSMenuMisc_Gfx -_08098488: .4byte 0x06006800 -_0809848C: .4byte gPSSMenuMisc_Tilemap -_08098490: .4byte 0x020000a8 -_08098494: .4byte gPSSMenu3_Pal -_08098498: .4byte gPSSMenu4_Pal -_0809849C: .4byte 0x06007800 -_080984A0: .4byte 0x040000d4 -_080984A4: .4byte 0x81000400 -_080984A8: .4byte gUnknown_0203847C -_080984AC: - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0xC - str r0, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - adds r0, r4, 0 - movs r1, 0xA - movs r2, 0 - adds r3, r5, 0 - bl sub_809D034 - movs r0, 0x1 - bl sub_8098690 -_080984CC: - ldr r0, _080984E0 - ldr r1, _080984E4 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080984E0: .4byte 0x02000000 -_080984E4: .4byte 0x000008af - thumb_func_end sub_8098400 - - thumb_func_start sub_80984E8 -sub_80984E8: @ 80984E8 - push {lr} - ldr r1, _08098510 - ldr r0, _08098514 - adds r2, r1, r0 - movs r3, 0 - movs r0, 0x14 - strh r0, [r2] - ldr r0, _08098518 - adds r2, r1, r0 - movs r0, 0x2 - strh r0, [r2] - ldr r0, _0809851C - adds r1, r0 - strb r3, [r1] - movs r0, 0 - bl sub_8099200 - pop {r0} - bx r0 - .align 2, 0 -_08098510: .4byte 0x02000000 -_08098514: .4byte 0x000008a8 -_08098518: .4byte 0x000008aa -_0809851C: .4byte 0x000008ad - thumb_func_end sub_80984E8 - - thumb_func_start sub_8098520 -sub_8098520: @ 8098520 - push {r4,r5,lr} - sub sp, 0x10 - ldr r3, _08098578 - ldr r0, _0809857C - adds r5, r3, r0 - ldrb r0, [r5] - cmp r0, 0x14 - beq _08098592 - ldr r0, _08098580 - adds r1, r3, r0 - ldrh r0, [r1] - subs r0, 0x1 - movs r4, 0 - strh r0, [r1] - ldr r0, _08098584 - adds r2, r3, r0 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - ldr r0, _08098588 - adds r3, 0xA8 - str r4, [sp] - ldrh r1, [r1] - str r1, [sp, 0x4] - movs r1, 0xC - str r1, [sp, 0x8] - ldrh r1, [r2] - str r1, [sp, 0xC] - movs r1, 0xA - movs r2, 0 - bl sub_809D034 - movs r0, 0x8 - bl sub_80994A8 - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x14 - beq _0809858C - movs r0, 0x1 - b _08098594 - .align 2, 0 -_08098578: .4byte 0x02000000 -_0809857C: .4byte 0x000008ad -_08098580: .4byte 0x000008a8 -_08098584: .4byte 0x000008aa -_08098588: .4byte 0x06007800 -_0809858C: - ldr r1, _0809859C - movs r0, 0x1 - strb r0, [r1] -_08098592: - movs r0, 0 -_08098594: - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809859C: .4byte gUnknown_0203847C - thumb_func_end sub_8098520 - - thumb_func_start add_to_c3_somehow -add_to_c3_somehow: @ 80985A0 - ldr r1, _080985BC - ldr r0, _080985C0 - adds r2, r1, r0 - movs r3, 0 - movs r0, 0 - strh r0, [r2] - ldr r0, _080985C4 - adds r2, r1, r0 - movs r0, 0x16 - strh r0, [r2] - ldr r0, _080985C8 - adds r1, r0 - strb r3, [r1] - bx lr - .align 2, 0 -_080985BC: .4byte 0x02000000 -_080985C0: .4byte 0x000008a8 -_080985C4: .4byte 0x000008aa -_080985C8: .4byte 0x000008ad - thumb_func_end add_to_c3_somehow - - thumb_func_start sub_80985CC -sub_80985CC: @ 80985CC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - ldr r3, _08098640 - ldr r0, _08098644 - adds r6, r3, r0 - ldrb r0, [r6] - cmp r0, 0x14 - beq _0809867A - ldr r2, _08098648 - adds r1, r3, r2 - ldrh r0, [r1] - adds r0, 0x1 - movs r2, 0 - mov r9, r2 - strh r0, [r1] - ldr r0, _0809864C - adds r4, r3, r0 - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - ldr r5, _08098650 - adds r3, 0xA8 - mov r8, r3 - str r2, [sp] - ldrh r0, [r1] - str r0, [sp, 0x4] - movs r7, 0xC - str r7, [sp, 0x8] - ldrh r0, [r4] - str r0, [sp, 0xC] - adds r0, r5, 0 - movs r1, 0xA - bl sub_809D034 - ldrh r2, [r4] - movs r4, 0x1 - str r4, [sp] - adds r0, r5, 0 - movs r1, 0xA - movs r3, 0xC - bl sub_809D16C - movs r0, 0x8 - negs r0, r0 - bl sub_80994A8 - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x14 - beq _08098654 - movs r0, 0x1 - b _0809867C - .align 2, 0 -_08098640: .4byte 0x02000000 -_08098644: .4byte 0x000008ad -_08098648: .4byte 0x000008a8 -_0809864C: .4byte 0x000008aa -_08098650: .4byte 0x06007800 -_08098654: - ldr r0, _0809868C - movs r1, 0 - strb r1, [r0] - bl sub_809954C - bl party_compaction - str r7, [sp] - mov r2, r9 - str r2, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - adds r0, r5, 0 - movs r1, 0x15 - movs r2, 0 - mov r3, r8 - bl sub_809D034 -_0809867A: - movs r0, 0 -_0809867C: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0809868C: .4byte gUnknown_0203847C - thumb_func_end sub_80985CC - - thumb_func_start sub_8098690 -sub_8098690: @ 8098690 - push {lr} - sub sp, 0x10 - lsls r0, 24 - cmp r0, 0 - beq _080986C0 - ldr r0, _080986B8 - ldr r3, _080986BC - movs r1, 0xC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - movs r1, 0x9 - str r1, [sp, 0x8] - movs r1, 0x2 - str r1, [sp, 0xC] - movs r1, 0x15 - movs r2, 0 - bl sub_809D034 - b _080986DA - .align 2, 0 -_080986B8: .4byte 0x06007800 -_080986BC: .4byte 0x020000a8 -_080986C0: - ldr r0, _080986E0 - ldr r3, _080986E4 - movs r1, 0xC - str r1, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r1, 0x9 - str r1, [sp, 0x8] - str r2, [sp, 0xC] - movs r1, 0x15 - movs r2, 0 - bl sub_809D034 -_080986DA: - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_080986E0: .4byte 0x06007800 -_080986E4: .4byte 0x020000a8 - thumb_func_end sub_8098690 - - thumb_func_start sub_80986E8 -sub_80986E8: @ 80986E8 - ldr r1, _08098704 - ldr r2, _08098708 - adds r0, r1, r2 - movs r3, 0x1 - strb r3, [r0] - movs r0, 0x8B - lsls r0, 4 - adds r2, r1, r0 - movs r0, 0x1E - strb r0, [r2] - ldr r2, _0809870C - adds r1, r2 - strb r3, [r1] - bx lr - .align 2, 0 -_08098704: .4byte 0x02000000 -_08098708: .4byte 0x000008af -_0809870C: .4byte 0x000008b1 - thumb_func_end sub_80986E8 - - thumb_func_start sub_8098710 -sub_8098710: @ 8098710 - push {lr} - ldr r0, _0809872C - ldr r2, _08098730 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _08098728 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - bl sub_8098690 -_08098728: - pop {r0} - bx r0 - .align 2, 0 -_0809872C: .4byte 0x02000000 -_08098730: .4byte 0x000008af - thumb_func_end sub_8098710 - - thumb_func_start sub_8098734 -sub_8098734: @ 8098734 - push {lr} - ldr r2, _08098774 - ldr r1, _08098778 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08098770 - movs r0, 0x8B - lsls r0, 4 - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1E - bls _08098770 - movs r0, 0 - strb r0, [r1] - movs r3, 0 - ldr r0, _0809877C - adds r1, r2, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _08098768 - movs r3, 0x1 -_08098768: - strb r3, [r1] - ldrb r0, [r1] - bl sub_8098690 -_08098770: - pop {r0} - bx r0 - .align 2, 0 -_08098774: .4byte 0x02000000 -_08098778: .4byte 0x000008af -_0809877C: .4byte 0x000008b1 - thumb_func_end sub_8098734 - - thumb_func_start sub_8098780 -sub_8098780: @ 8098780 - push {r4-r6,lr} - sub sp, 0x10 - movs r4, 0x1 - ldr r6, _080987D4 - movs r5, 0x80 - lsls r5, 9 -_0809878C: - movs r0, 0x64 - muls r0, r4 - ldr r1, _080987D8 - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080987A0 - movs r0, 0x1 -_080987A0: - movs r1, 0x10 - cmp r0, 0 - beq _080987A8 - movs r1, 0xC -_080987A8: - lsrs r2, r5, 16 - str r1, [sp] - movs r0, 0x4 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - adds r0, r6, 0 - movs r1, 0x7 - adds r3, r6, 0 - bl sub_809D104 - movs r0, 0xC0 - lsls r0, 10 - adds r5, r0 - adds r4, 0x1 - cmp r4, 0x5 - ble _0809878C - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080987D4: .4byte 0x020000a8 -_080987D8: .4byte gPlayerParty - thumb_func_end sub_8098780 - - thumb_func_start sub_80987DC -sub_80987DC: @ 80987DC - push {lr} - sub sp, 0x10 - bl sub_8098780 - ldr r0, _08098804 - ldr r3, _08098808 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0xC - str r1, [sp, 0x8] - movs r1, 0x16 - str r1, [sp, 0xC] - movs r1, 0xA - movs r2, 0 - bl sub_809D034 - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_08098804: .4byte 0x06007800 -_08098808: .4byte 0x020000a8 - thumb_func_end sub_80987DC - - thumb_func_start sub_809880C -sub_809880C: @ 809880C - push {lr} - ldr r0, _08098828 - ldr r1, _0809882C - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x6 - bl PlaySE - bl sub_80984E8 - pop {r0} - bx r0 - .align 2, 0 -_08098828: .4byte 0x02000000 -_0809882C: .4byte 0x000008ae - thumb_func_end sub_809880C - - thumb_func_start sub_8098830 -sub_8098830: @ 8098830 - push {r4,r5,lr} - ldr r5, _08098848 - ldr r0, _0809884C - adds r4, r5, r0 - ldrb r0, [r4] - cmp r0, 0x1 - beq _08098866 - cmp r0, 0x1 - bgt _08098850 - cmp r0, 0 - beq _08098856 - b _08098890 - .align 2, 0 -_08098848: .4byte 0x02000000 -_0809884C: .4byte 0x000008ae -_08098850: - cmp r0, 0x2 - beq _0809888C - b _08098890 -_08098856: - bl sub_8098520 - lsls r0, 24 - cmp r0, 0 - bne _08098890 - bl sub_809B068 - b _0809887E -_08098866: - bl sub_809AC00 - lsls r0, 24 - cmp r0, 0 - bne _08098890 - ldr r1, _08098888 - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0809887E - bl BoxSetMosaic -_0809887E: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08098890 - .align 2, 0 -_08098888: .4byte 0x000011f6 -_0809888C: - movs r0, 0 - b _08098892 -_08098890: - movs r0, 0x1 -_08098892: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8098830 - - thumb_func_start sub_8098898 -sub_8098898: @ 8098898 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0xA - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r1, _080988C4 - lsls r0, r5, 3 - adds r0, r1 - ldrb r0, [r0, 0x4] - cmp r0, 0x6 - bls _080988B8 - b _080989F4 -_080988B8: - lsls r0, 2 - ldr r1, _080988C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080988C4: .4byte gUnknown_083B6DF4 -_080988C8: .4byte _080988CC - .align 2, 0 -_080988CC: - .4byte _080989F4 - .4byte _08098930 - .4byte _080988E8 - .4byte _08098974 - .4byte _08098954 - .4byte _08098910 - .4byte _080989B8 -_080988E8: - ldr r4, _08098904 - ldr r1, _08098908 - lsls r0, r5, 3 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - adds r2, r0, 0 - ldr r0, _0809890C - adds r4, r0 - adds r0, r2, 0 - adds r1, r4, 0 - b _080989FE - .align 2, 0 -_08098904: .4byte 0x02002694 -_08098908: .4byte gUnknown_083B6DF4 -_0809890C: .4byte 0xffffeb66 -_08098910: - ldr r4, _08098928 - ldr r1, _0809892C - lsls r0, r5, 3 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - adds r2, r0, 0 - adds r4, 0x50 - adds r1, r4, 0 - b _080989FE - .align 2, 0 -_08098928: .4byte 0x02002694 -_0809892C: .4byte gUnknown_083B6DF4 -_08098930: - ldr r0, _08098948 - ldr r2, _0809894C - adds r1, r0, r2 - bl StringCopy - adds r2, r0, 0 - ldr r1, _08098950 - lsls r0, r5, 3 - adds r0, r1 - ldr r1, [r0] - adds r0, r2, 0 - b _080989FE - .align 2, 0 -_08098948: .4byte 0x02002694 -_0809894C: .4byte 0xffffeb66 -_08098950: .4byte gUnknown_083B6DF4 -_08098954: - ldr r0, _0809896C - adds r1, r0, 0 - adds r1, 0x50 - bl StringCopy - adds r2, r0, 0 - ldr r1, _08098970 - lsls r0, r5, 3 - adds r0, r1 - ldr r1, [r0] - adds r0, r2, 0 - b _080989FE - .align 2, 0 -_0809896C: .4byte 0x02002694 -_08098970: .4byte gUnknown_083B6DF4 -_08098974: - ldr r1, _080989AC - lsls r0, r5, 3 - adds r0, r1 - ldr r6, [r0] - adds r0, r6, 0 - bl StringLength - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r4, r6, r4 - adds r4, 0x1 - ldr r5, _080989B0 - adds r0, r5, 0 - adds r1, r6, 0 - bl StringCopy - adds r2, r0, 0 - ldr r0, _080989B4 - adds r5, r0 - adds r0, r2, 0 - adds r1, r5, 0 - bl StringCopy - adds r2, r0, 0 - adds r1, r4, 0 - b _080989FE - .align 2, 0 -_080989AC: .4byte gUnknown_083B6DF4 -_080989B0: .4byte 0x02002694 -_080989B4: .4byte 0xffffeb66 -_080989B8: - ldr r1, _080989EC - lsls r0, r5, 3 - adds r0, r1 - ldr r6, [r0] - adds r0, r6, 0 - bl StringLength - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r4, r6, r4 - subs r4, 0x1 - ldr r5, _080989F0 - adds r0, r5, 0 - adds r1, r6, 0 - bl StringCopy - adds r2, r0, 0 - subs r0, r2, 0x1 - adds r5, 0x50 - adds r1, r5, 0 - bl StringCopy - adds r2, r0, 0 - adds r1, r4, 0 - b _080989FE - .align 2, 0 -_080989EC: .4byte gUnknown_083B6DF4 -_080989F0: .4byte 0x02002694 -_080989F4: - ldr r0, _08098A2C - ldr r2, _08098A30 - lsls r1, r5, 3 - adds r1, r2 - ldr r1, [r1] -_080989FE: - bl StringCopy - adds r2, r0, 0 - ldr r0, _08098A34 - adds r3, r0, 0 - subs r3, 0x12 - cmp r2, r0 - bcs _08098A18 - movs r1, 0 -_08098A10: - strb r1, [r2] - adds r2, 0x1 - cmp r2, r0 - bcc _08098A10 -_08098A18: - movs r0, 0xFF - strb r0, [r2] - adds r0, r3, 0 - movs r1, 0xB - movs r2, 0x11 - bl MenuPrint - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08098A2C: .4byte 0x02002694 -_08098A30: .4byte gUnknown_083B6DF4 -_08098A34: .4byte 0x020026a6 - thumb_func_end sub_8098898 - - thumb_func_start sub_8098A38 -sub_8098A38: @ 8098A38 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x17 - movs r1, 0xA - movs r2, 0 - bl DisplayYesNoMenu - lsls r4, 24 - asrs r4, 24 - adds r0, r4, 0 - bl MoveMenuCursor - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8098A38 - - thumb_func_start sub_8098A5C -sub_8098A5C: @ 8098A5C - push {lr} - bl sub_8072DEC - movs r0, 0xA - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - movs r0, 0x17 - movs r1, 0xA - movs r2, 0x1D - movs r3, 0xF - bl MenuZeroFillWindowRect - pop {r0} - bx r0 - thumb_func_end sub_8098A5C - - thumb_func_start sub_8098A80 -sub_8098A80: @ 8098A80 - push {lr} - bl sub_809CDCC - movs r0, 0xC - bl sub_809CDEC - movs r0, 0xD - bl sub_809CDEC - movs r0, 0xE - bl sub_809CDEC - movs r0, 0xF - bl sub_809CDEC - bl sub_809CE84 - pop {r0} - bx r0 - thumb_func_end sub_8098A80 - - thumb_func_start sub_8098AA8 -sub_8098AA8: @ 8098AA8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_809CDCC - cmp r4, 0x1 - beq _08098AE6 - cmp r4, 0x1 - bgt _08098AC2 - cmp r4, 0 - beq _08098ACC - b _08098B32 -_08098AC2: - cmp r5, 0x2 - beq _08098B00 - cmp r5, 0x3 - beq _08098B1A - b _08098B32 -_08098ACC: - movs r0, 0x10 - bl sub_809CDEC - movs r0, 0x11 - bl sub_809CDEC - movs r0, 0x12 - bl sub_809CDEC - movs r0, 0x13 - bl sub_809CDEC - b _08098B32 -_08098AE6: - movs r0, 0x14 - bl sub_809CDEC - movs r0, 0x15 - bl sub_809CDEC - movs r0, 0x16 - bl sub_809CDEC - movs r0, 0x17 - bl sub_809CDEC - b _08098B32 -_08098B00: - movs r0, 0x18 - bl sub_809CDEC - movs r0, 0x19 - bl sub_809CDEC - movs r0, 0x1A - bl sub_809CDEC - movs r0, 0x1B - bl sub_809CDEC - b _08098B32 -_08098B1A: - movs r0, 0x1C - bl sub_809CDEC - movs r0, 0x1D - bl sub_809CDEC - movs r0, 0x1E - bl sub_809CDEC - movs r0, 0x1F - bl sub_809CDEC -_08098B32: - bl sub_809CE84 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8098AA8 - - thumb_func_start get_preferred_box -get_preferred_box: @ 8098B3C - ldr r0, _08098B44 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08098B44: .4byte gPokemonStorage - thumb_func_end get_preferred_box - - thumb_func_start sub_8098B48 -sub_8098B48: @ 8098B48 - push {r4,r5,lr} - bl sub_809D51C - movs r2, 0 - ldr r1, _08098BD8 - ldr r0, [r1] - ldr r4, _08098BDC - adds r3, r0, r4 - movs r4, 0 - adds r5, r1, 0 -_08098B5C: - lsls r0, r2, 1 - adds r0, r3, r0 - strh r4, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x27 - bls _08098B5C - movs r2, 0 - ldr r0, _08098BD8 - ldr r0, [r0] - movs r1, 0x89 - lsls r1, 5 - adds r3, r0, r1 - movs r1, 0 -_08098B7A: - lsls r0, r2, 1 - adds r0, r3, r0 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x27 - bls _08098B7A - movs r2, 0 - ldr r0, _08098BD8 - ldr r0, [r0] - ldr r4, _08098BE0 - adds r3, r0, r4 - movs r1, 0 -_08098B96: - lsls r0, r2, 2 - adds r0, r3, r0 - str r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _08098B96 - movs r2, 0 - ldr r0, _08098BD8 - ldr r0, [r0] - ldr r1, _08098BE4 - adds r3, r0, r1 - movs r1, 0 -_08098BB2: - lsls r0, r2, 2 - adds r0, r3, r0 - str r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1D - bls _08098BB2 - ldr r0, [r5] - ldr r2, _08098BE8 - adds r1, r0, r2 - movs r2, 0 - str r2, [r1] - ldr r4, _08098BEC - adds r0, r4 - strh r2, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08098BD8: .4byte gUnknown_083B6DB4 -_08098BDC: .4byte 0x000010d0 -_08098BE0: .4byte 0x00001038 -_08098BE4: .4byte 0x00001050 -_08098BE8: .4byte 0x00001034 -_08098BEC: .4byte 0x00000d5c - thumb_func_end sub_8098B48 - - thumb_func_start sub_8098BF0 -sub_8098BF0: @ 8098BF0 - push {r4-r6,lr} - sub sp, 0x8 - ldr r0, _08098C38 - ldr r5, [r0] - ldr r0, _08098C3C - adds r4, r5, r0 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r6, r0, 0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - str r1, [sp] - movs r1, 0x7 - str r1, [sp, 0x4] - adds r1, r6, 0 - movs r2, 0 - movs r3, 0 - bl sub_8099AFC - ldr r1, _08098C40 - adds r5, r1 - str r0, [r5] - ldr r1, _08098C44 - str r1, [r0, 0x1C] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08098C38: .4byte gUnknown_083B6DB4 -_08098C3C: .4byte 0x000025b4 -_08098C40: .4byte 0x00001034 -_08098C44: .4byte sub_80999C4 - thumb_func_end sub_8098BF0 - - thumb_func_start sub_8098C48 -sub_8098C48: @ 8098C48 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - ldr r1, _08098CCC - adds r6, r0, r1 - movs r0, 0 - mov r8, r0 - movs r7, 0 -_08098C6A: - movs r5, 0 - adds r1, r7, 0x1 - mov r9, r1 -_08098C70: - adds r0, r6, 0 - movs r1, 0x41 - bl GetBoxMonData - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _08098CD8 - adds r0, r6, 0 - movs r1, 0 - bl GetBoxMonData - adds r1, r0, 0 - lsls r2, r5, 1 - adds r2, r5 - lsls r2, 19 - movs r3, 0xC8 - lsls r3, 15 - adds r2, r3 - asrs r2, 16 - lsls r3, r7, 1 - adds r3, r7 - lsls r3, 19 - movs r0, 0xB0 - lsls r0, 14 - adds r3, r0 - movs r0, 0x2 - str r0, [sp] - movs r0, 0x12 - subs r0, r5 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - adds r0, r4, 0 - asrs r3, 16 - bl sub_8099AFC - ldr r1, _08098CD0 - ldr r1, [r1] - mov r3, r8 - lsls r2, r3, 2 - ldr r3, _08098CD4 - adds r1, r3 - adds r1, r2 - str r0, [r1] - b _08098CE8 - .align 2, 0 -_08098CCC: .4byte gUnknown_020300A4 -_08098CD0: .4byte gUnknown_083B6DB4 -_08098CD4: .4byte 0x00001050 -_08098CD8: - ldr r0, _08098D18 - ldr r0, [r0] - mov r2, r8 - lsls r1, r2, 2 - ldr r3, _08098D1C - adds r0, r3 - adds r0, r1 - str r4, [r0] -_08098CE8: - adds r6, 0x50 - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _08098C70 - mov r1, r9 - lsls r0, r1, 16 - lsrs r7, r0, 16 - cmp r7, 0x4 - bls _08098C6A - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08098D18: .4byte gUnknown_083B6DB4 -_08098D1C: .4byte 0x00001050 - thumb_func_end sub_8098C48 - - thumb_func_start sub_8098D20 -sub_8098D20: @ 8098D20 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - bl get_preferred_box - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r2, r1, 4 - subs r2, r1 - lsls r2, 5 - lsls r0, r4, 2 - mov r9, r0 - adds r0, r4 - lsls r0, 4 - ldr r1, _08098DD4 - adds r0, r1 - adds r7, r2, r0 - adds r0, r7, 0 - movs r1, 0x41 - bl GetBoxMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0 - beq _08098DC4 - adds r0, r4, 0 - movs r1, 0x6 - bl __umodsi3 - adds r6, r0, 0 - lsls r0, r6, 24 - lsrs r0, 24 - lsls r5, r0, 1 - adds r5, r0 - lsls r5, 19 - movs r1, 0xC8 - lsls r1, 15 - adds r5, r1 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 19 - movs r2, 0xB0 - lsls r2, 14 - adds r4, r2 - lsrs r4, 16 - adds r0, r7, 0 - movs r1, 0 - bl GetBoxMonData - adds r1, r0, 0 - movs r0, 0x2 - str r0, [sp] - movs r0, 0x12 - subs r0, r6 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r8 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_8099AFC - ldr r1, _08098DD8 - ldr r1, [r1] - ldr r2, _08098DDC - adds r1, r2 - add r1, r9 - str r0, [r1] -_08098DC4: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08098DD4: .4byte gUnknown_020300A4 -_08098DD8: .4byte gUnknown_083B6DB4 -_08098DDC: .4byte 0x00001050 - thumb_func_end sub_8098D20 - - thumb_func_start sub_8098DE0 -sub_8098DE0: @ 8098DE0 - push {r4-r6,lr} - lsls r0, 16 - lsrs r4, r0, 16 - movs r2, 0 - ldr r0, _08098E18 - ldr r0, [r0] - ldr r1, _08098E1C - adds r3, r0, r1 - movs r6, 0x1 - ldr r5, _08098E20 -_08098DF4: - lsls r0, r2, 2 - adds r1, r3, r0 - ldr r0, [r1] - cmp r0, 0 - beq _08098E08 - strh r4, [r0, 0x32] - ldr r0, [r1] - strh r6, [r0, 0x36] - ldr r0, [r1] - str r5, [r0, 0x1C] -_08098E08: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1D - bls _08098DF4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08098E18: .4byte gUnknown_083B6DB4 -_08098E1C: .4byte 0x00001050 -_08098E20: .4byte sub_8098E68 - thumb_func_end sub_8098DE0 - - thumb_func_start sub_8098E24 -sub_8098E24: @ 8098E24 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x30] - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08098E40 - subs r0, r1, 0x1 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - b _08098E56 -_08098E40: - ldr r0, _08098E5C - ldr r1, [r0] - ldr r3, _08098E60 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrh r0, [r2, 0x34] - strh r0, [r2, 0x20] - ldr r0, _08098E64 - str r0, [r2, 0x1C] -_08098E56: - pop {r0} - bx r0 - .align 2, 0 -_08098E5C: .4byte gUnknown_083B6DB4 -_08098E60: .4byte 0x00001178 -_08098E64: .4byte SpriteCallbackDummy - thumb_func_end sub_8098E24 - - thumb_func_start sub_8098E68 -sub_8098E68: @ 8098E68 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x36] - movs r3, 0x36 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08098E7C - subs r0, r1, 0x1 - strh r0, [r2, 0x36] - b _08098E98 -_08098E7C: - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x38] - subs r0, 0x45 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB6 - bls _08098E98 - ldr r0, _08098E9C - str r0, [r2, 0x1C] -_08098E98: - pop {r0} - bx r0 - .align 2, 0 -_08098E9C: .4byte SpriteCallbackDummy - thumb_func_end sub_8098E68 - - thumb_func_start sub_8098EA0 -sub_8098EA0: @ 8098EA0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - ldr r0, _08098ED8 - ldr r0, [r0] - ldr r1, _08098EDC - adds r7, r0, r1 -_08098EB0: - lsls r0, r5, 2 - adds r4, r7, r0 - ldr r0, [r4] - cmp r0, 0 - beq _08098EC2 - bl sub_8099BE0 - movs r0, 0 - str r0, [r4] -_08098EC2: - adds r0, r5, 0x6 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x4 - bls _08098EB0 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08098ED8: .4byte gUnknown_083B6DB4 -_08098EDC: .4byte 0x00001050 - thumb_func_end sub_8098EA0 - - thumb_func_start sub_8098EE0 -sub_8098EE0: @ 8098EE0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x8] - lsls r2, 16 - movs r0, 0x2C - str r0, [sp, 0x10] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 19 - movs r1, 0xC8 - lsls r1, 15 - adds r0, r1 - lsrs r0, 16 - mov r10, r0 - ldr r0, [sp, 0x8] - adds r0, 0x1 - lsrs r3, r2, 16 - str r3, [sp, 0xC] - asrs r2, 16 - adds r1, r0, 0 - muls r1, r2 - mov r4, r10 - subs r1, r4, r1 - movs r0, 0x12 - subs r0, r6 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x18] - movs r0, 0 - str r0, [sp, 0x14] - mov r9, r0 - ldr r0, _08098FF8 - ldr r0, [r0] - ldr r2, _08098FFC - adds r2, r0 - mov r8, r2 - ldr r3, _08099000 - adds r3, r0, r3 - str r3, [sp, 0x20] - lsls r1, 16 - str r1, [sp, 0x1C] -_08098F42: - mov r4, r8 - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - lsls r7, r6, 2 - adds r1, r7, r6 - lsls r1, 4 - ldr r2, _08099004 - adds r4, r1, r2 - adds r0, r4 - movs r1, 0x41 - bl GetBoxMonData - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _08098FC8 - mov r1, r8 - ldrb r0, [r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - adds r0, r4 - movs r1, 0 - bl GetBoxMonData - adds r1, r0, 0 - ldr r2, [sp, 0x10] - lsls r3, r2, 16 - asrs r3, 16 - movs r0, 0x2 - str r0, [sp] - ldr r4, [sp, 0x18] - str r4, [sp, 0x4] - adds r0, r5, 0 - ldr r4, [sp, 0x1C] - asrs r2, r4, 16 - bl sub_8099AFC - ldr r2, [sp, 0x20] - adds r1, r2, r7 - str r0, [r1] - cmp r0, 0 - beq _08098FC8 - mov r3, sp - ldrh r3, [r3, 0x8] - strh r3, [r0, 0x30] - ldr r0, [r1] - mov r4, sp - ldrh r4, [r4, 0xC] - strh r4, [r0, 0x32] - ldr r0, [r1] - mov r2, r10 - strh r2, [r0, 0x34] - ldr r1, [r1] - ldr r0, _08099008 - str r0, [r1, 0x1C] - ldr r0, [sp, 0x14] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x14] -_08098FC8: - adds r0, r6, 0x6 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [sp, 0x10] - adds r0, 0x18 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x10] - mov r0, r9 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - cmp r0, 0x4 - bls _08098F42 - ldr r0, [sp, 0x14] - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08098FF8: .4byte gUnknown_083B6DB4 -_08098FFC: .4byte 0x0000117d -_08099000: .4byte 0x00001050 -_08099004: .4byte gUnknown_020300A4 -_08099008: .4byte sub_8098E24 - thumb_func_end sub_8098EE0 - - thumb_func_start sub_809900C -sub_809900C: @ 809900C - push {r4-r6,lr} - lsls r1, 24 - lsrs r1, 24 - ldr r4, _08099058 - ldr r5, [r4] - ldr r3, _0809905C - adds r2, r5, r3 - movs r3, 0 - strb r3, [r2] - ldr r6, _08099060 - adds r2, r5, r6 - strb r0, [r2] - ldr r2, _08099064 - adds r0, r5, r2 - strb r1, [r0] - subs r6, 0xB - adds r2, r5, r6 - movs r0, 0x20 - strh r0, [r2] - lsls r1, 24 - asrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - negs r0, r0 - adds r6, 0x4 - adds r2, r5, r6 - strh r0, [r2] - ldr r2, _08099068 - adds r0, r5, r2 - strh r3, [r0] - cmp r1, 0 - ble _08099070 - ldr r3, _0809906C - adds r1, r5, r3 - movs r0, 0 - b _08099076 - .align 2, 0 -_08099058: .4byte gUnknown_083B6DB4 -_0809905C: .4byte 0x0000117c -_08099060: .4byte 0x0000117d -_08099064: .4byte 0x0000117b -_08099068: .4byte 0x00001178 -_0809906C: .4byte 0x0000117a -_08099070: - ldr r6, _080990A0 - adds r1, r5, r6 - movs r0, 0x5 -_08099076: - strb r0, [r1] - ldr r2, [r4] - ldr r1, _080990A0 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, 0x64 - ldr r3, _080990A4 - adds r1, r2, r3 - strh r0, [r1] - ldr r6, _080990A8 - adds r2, r6 - movs r1, 0 - ldrsh r0, [r2, r1] - bl sub_8098DE0 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080990A0: .4byte 0x0000117a -_080990A4: .4byte 0x00001174 -_080990A8: .4byte 0x00001176 - thumb_func_end sub_809900C - - thumb_func_start sub_80990AC -sub_80990AC: @ 80990AC - push {r4-r6,lr} - ldr r0, _080990D4 - ldr r4, [r0] - ldr r0, _080990D8 - adds r3, r4, r0 - ldrh r0, [r3] - cmp r0, 0 - beq _080990C0 - subs r0, 0x1 - strh r0, [r3] -_080990C0: - ldr r1, _080990DC - adds r6, r4, r1 - ldrb r0, [r6] - cmp r0, 0x1 - beq _08099138 - cmp r0, 0x1 - bgt _080990E0 - cmp r0, 0 - beq _080990E8 - b _080991F0 - .align 2, 0 -_080990D4: .4byte gUnknown_083B6DB4 -_080990D8: .4byte 0x00001172 -_080990DC: .4byte 0x0000117c -_080990E0: - cmp r0, 0x2 - bne _080990E6 - b _080991E0 -_080990E6: - b _080991F0 -_080990E8: - ldr r2, _0809912C - adds r5, r4, r2 - ldr r3, _08099130 - adds r0, r4, r3 - ldrh r0, [r0] - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - subs r0, 0x41 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xBA - bhi _08099104 - b _080991F8 -_08099104: - adds r2, 0x6 - adds r0, r4, r2 - ldrb r0, [r0] - bl sub_8098EA0 - ldr r3, _08099134 - adds r0, r4, r3 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - b _080991F8 - .align 2, 0 -_0809912C: .4byte 0x00001174 -_08099130: .4byte 0x00001176 -_08099134: .4byte 0x0000117b -_08099138: - ldr r2, _08099194 - adds r1, r4, r2 - ldr r5, _08099198 - adds r2, r4, r5 - ldrh r0, [r2] - ldrh r5, [r1] - adds r0, r5 - strh r0, [r1] - ldr r0, _0809919C - adds r5, r4, r0 - ldrb r0, [r5] - ldrh r1, [r3] - movs r3, 0 - ldrsh r2, [r2, r3] - bl sub_8098EE0 - ldr r2, _080991A0 - adds r1, r4, r2 - lsls r0, 24 - lsrs r0, 24 - ldrh r3, [r1] - adds r0, r3 - strh r0, [r1] - ldr r1, _080991A4 - adds r0, r4, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - cmp r1, 0 - ble _08099178 - ldrb r0, [r5] - cmp r0, 0x5 - beq _08099182 -_08099178: - cmp r1, 0 - bge _080991B0 - ldrb r0, [r5] - cmp r0, 0 - bne _080991B0 -_08099182: - ldr r0, _080991A8 - ldr r1, [r0] - ldr r2, _080991AC - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080991F8 - .align 2, 0 -_08099194: .4byte 0x00001174 -_08099198: .4byte 0x00001176 -_0809919C: .4byte 0x0000117a -_080991A0: .4byte 0x00001178 -_080991A4: .4byte 0x0000117b -_080991A8: .4byte gUnknown_083B6DB4 -_080991AC: .4byte 0x0000117c -_080991B0: - ldr r0, _080991D0 - ldr r1, [r0] - ldr r5, _080991D4 - adds r3, r1, r5 - ldr r2, _080991D8 - adds r0, r1, r2 - ldrb r0, [r0] - ldrb r5, [r3] - adds r0, r5 - movs r2, 0 - strb r0, [r3] - ldr r0, _080991DC - adds r1, r0 - strb r2, [r1] - b _080991F8 - .align 2, 0 -_080991D0: .4byte gUnknown_083B6DB4 -_080991D4: .4byte 0x0000117a -_080991D8: .4byte 0x0000117b -_080991DC: .4byte 0x0000117c -_080991E0: - ldr r1, _080991F4 - adds r0, r4, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _080991F8 - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] -_080991F0: - movs r0, 0 - b _080991FA - .align 2, 0 -_080991F4: .4byte 0x00001178 -_080991F8: - movs r0, 0x1 -_080991FA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80990AC - - thumb_func_start sub_8099200 -sub_8099200: @ 8099200 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, _080992A0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r1, r0, 0 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xB - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x68 - movs r3, 0x40 - bl sub_8099AFC - ldr r1, _080992A4 - ldr r1, [r1] - ldr r2, _080992A8 - adds r1, r2 - str r0, [r1] - movs r7, 0x1 - movs r6, 0x1 -_08099246: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, _080992A0 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _080992AC - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r1, r0, 0 - subs r0, r6, 0x1 - lsls r3, r0, 1 - adds r3, r0 - lsls r3, 19 - movs r0, 0x80 - lsls r0, 13 - adds r3, r0 - asrs r3, 16 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xB - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x98 - bl sub_8099AFC - ldr r1, _080992A4 - ldr r1, [r1] - lsls r2, r6, 2 - ldr r3, _080992A8 - adds r1, r3 - adds r1, r2 - str r0, [r1] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - b _080992BA - .align 2, 0 -_080992A0: .4byte gPlayerParty -_080992A4: .4byte gUnknown_083B6DB4 -_080992A8: .4byte 0x00001038 -_080992AC: - ldr r0, _08099308 - ldr r0, [r0] - lsls r1, r6, 2 - ldr r2, _0809930C - adds r0, r2 - adds r0, r1 - str r5, [r0] -_080992BA: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _08099246 - mov r3, r8 - cmp r3, 0 - bne _080992FA - movs r6, 0 - cmp r6, r7 - bcs _080992FA - ldr r0, _08099308 - ldr r0, [r0] - ldr r1, _0809930C - adds r3, r0, r1 - movs r4, 0x4 -_080992DA: - lsls r1, r6, 2 - adds r1, r3, r1 - ldr r2, [r1] - ldrh r0, [r2, 0x22] - subs r0, 0xA0 - strh r0, [r2, 0x22] - ldr r1, [r1] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r4 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, r7 - bcc _080992DA -_080992FA: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08099308: .4byte gUnknown_083B6DB4 -_0809930C: .4byte 0x00001038 - thumb_func_end sub_8099200 - - thumb_func_start sub_8099310 -sub_8099310: @ 8099310 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08099368 - ldr r2, [r0] - ldr r0, _0809936C - adds r1, r2, r0 - movs r0, 0 - strb r0, [r1] - movs r5, 0 - movs r6, 0 - mov r8, r2 - ldr r7, _0809936C - add r7, r8 -_0809932C: - lsls r1, r5, 2 - ldr r0, _08099370 - add r0, r8 - adds r4, r0, r1 - ldr r0, [r4] - cmp r0, 0 - beq _08099354 - cmp r5, r6 - beq _0809934E - adds r1, r6, 0 - bl sub_8099388 - movs r0, 0 - str r0, [r4] - ldrb r0, [r7] - adds r0, 0x1 - strb r0, [r7] -_0809934E: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_08099354: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _0809932C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08099368: .4byte gUnknown_083B6DB4 -_0809936C: .4byte 0x00001171 -_08099370: .4byte 0x00001038 - thumb_func_end sub_8099310 - - thumb_func_start sub_8099374 -sub_8099374: @ 8099374 - ldr r0, _08099380 - ldr r0, [r0] - ldr r1, _08099384 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08099380: .4byte gUnknown_083B6DB4 -_08099384: .4byte 0x00001171 - thumb_func_end sub_8099374 - - thumb_func_start sub_8099388 -sub_8099388: @ 8099388 - push {r4,lr} - adds r2, r0, 0 - lsls r1, 16 - lsrs r1, 16 - strh r1, [r2, 0x30] - cmp r1, 0 - bne _0809939C - movs r3, 0x68 - movs r4, 0x40 - b _080993AE -_0809939C: - movs r3, 0x98 - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 19 - movs r1, 0x80 - lsls r1, 13 - adds r0, r1 - lsrs r4, r0, 16 -_080993AE: - ldrh r0, [r2, 0x20] - lsls r0, 3 - strh r0, [r2, 0x32] - ldrh r0, [r2, 0x22] - lsls r0, 3 - strh r0, [r2, 0x34] - lsls r1, r3, 3 - movs r3, 0x32 - ldrsh r0, [r2, r3] - subs r0, r1, r0 - cmp r0, 0 - bge _080993C8 - adds r0, 0x7 -_080993C8: - asrs r0, 3 - strh r0, [r2, 0x36] - lsls r0, r4, 16 - asrs r0, 13 - movs r3, 0x34 - ldrsh r1, [r2, r3] - subs r0, r1 - cmp r0, 0 - bge _080993DC - adds r0, 0x7 -_080993DC: - asrs r0, 3 - strh r0, [r2, 0x38] - movs r0, 0x8 - strh r0, [r2, 0x3A] - ldr r0, _080993F0 - str r0, [r2, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080993F0: .4byte sub_80993F4 - thumb_func_end sub_8099388 - - thumb_func_start sub_80993F4 -sub_80993F4: @ 80993F4 - push {r4,lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x3A] - movs r1, 0x3A - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _08099424 - ldrh r0, [r3, 0x36] - ldrh r4, [r3, 0x32] - adds r0, r4 - strh r0, [r3, 0x32] - ldrh r1, [r3, 0x38] - ldrh r4, [r3, 0x34] - adds r1, r4 - strh r1, [r3, 0x34] - lsls r0, 16 - asrs r0, 19 - strh r0, [r3, 0x20] - lsls r1, 16 - asrs r1, 19 - strh r1, [r3, 0x22] - subs r0, r2, 0x1 - strh r0, [r3, 0x3A] - b _08099468 -_08099424: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _08099434 - movs r0, 0x68 - strh r0, [r3, 0x20] - movs r0, 0x40 - b _08099446 -_08099434: - movs r0, 0x98 - strh r0, [r3, 0x20] - movs r4, 0x30 - ldrsh r1, [r3, r4] - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, 0x10 -_08099446: - strh r0, [r3, 0x22] - ldr r0, _08099470 - str r0, [r3, 0x1C] - ldr r0, _08099474 - ldr r2, [r0] - movs r0, 0x30 - ldrsh r1, [r3, r0] - lsls r1, 2 - ldr r4, _08099478 - adds r0, r2, r4 - adds r0, r1 - str r3, [r0] - ldr r0, _0809947C - adds r2, r0 - ldrb r0, [r2] - subs r0, 0x1 - strb r0, [r2] -_08099468: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08099470: .4byte SpriteCallbackDummy -_08099474: .4byte gUnknown_083B6DB4 -_08099478: .4byte 0x00001038 -_0809947C: .4byte 0x00001171 - thumb_func_end sub_80993F4 - - thumb_func_start sub_8099480 -sub_8099480: @ 8099480 - push {r4,lr} - ldr r0, _080994A0 - ldr r0, [r0] - ldr r1, _080994A4 - adds r4, r0, r1 - ldr r0, [r4] - cmp r0, 0 - beq _08099498 - bl sub_8099BE0 - movs r0, 0 - str r0, [r4] -_08099498: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080994A0: .4byte gUnknown_083B6DB4 -_080994A4: .4byte 0x00001034 - thumb_func_end sub_8099480 - - thumb_func_start sub_80994A8 -sub_80994A8: @ 80994A8 - push {r4-r6,lr} - movs r3, 0 - ldr r1, _080994FC - ldr r1, [r1] - ldr r2, _08099500 - adds r5, r1, r2 - lsls r0, 16 - asrs r4, r0, 16 - movs r6, 0x5 - negs r6, r6 -_080994BC: - lsls r0, r3, 2 - adds r2, r5, r0 - ldr r1, [r2] - cmp r1, 0 - beq _0809950E - ldrh r0, [r1, 0x22] - adds r0, r4, r0 - strh r0, [r1, 0x22] - ldr r2, [r2] - ldrh r1, [r2, 0x26] - ldrh r0, [r2, 0x22] - adds r1, r0 - adds r0, r2, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 13 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0xC0 - bls _08099504 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0809950E - .align 2, 0 -_080994FC: .4byte gUnknown_083B6DB4 -_08099500: .4byte 0x00001038 -_08099504: - adds r2, 0x3E - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - strb r0, [r2] -_0809950E: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _080994BC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80994A8 - - thumb_func_start sub_8099520 -sub_8099520: @ 8099520 - push {r4,lr} - lsls r0, 24 - ldr r1, _08099544 - ldr r1, [r1] - lsrs r0, 22 - ldr r2, _08099548 - adds r1, r2 - adds r4, r1, r0 - ldr r0, [r4] - cmp r0, 0 - beq _0809953E - bl sub_8099BE0 - movs r0, 0 - str r0, [r4] -_0809953E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08099544: .4byte gUnknown_083B6DB4 -_08099548: .4byte 0x00001038 - thumb_func_end sub_8099520 - - thumb_func_start sub_809954C -sub_809954C: @ 809954C - push {r4-r6,lr} - movs r5, 0 - ldr r0, _0809957C - ldr r0, [r0] - ldr r1, _08099580 - adds r6, r0, r1 -_08099558: - lsls r0, r5, 2 - adds r4, r6, r0 - ldr r0, [r4] - cmp r0, 0 - beq _0809956A - bl sub_8099BE0 - movs r0, 0 - str r0, [r4] -_0809956A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _08099558 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809957C: .4byte gUnknown_083B6DB4 -_08099580: .4byte 0x00001038 - thumb_func_end sub_809954C - - thumb_func_start sub_8099584 -sub_8099584: @ 8099584 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - adds r5, r1, 0 - cmp r4, 0 - bne _080995B4 - ldr r3, _080995AC - ldr r0, [r3] - ldr r5, _080995B0 - adds r2, r0, r5 - lsls r1, 2 - adds r5, 0x4 - adds r0, r5 - adds r0, r1 - ldr r1, [r0] - str r1, [r2] - str r4, [r0] - b _080995D0 - .align 2, 0 -_080995AC: .4byte gUnknown_083B6DB4 -_080995B0: .4byte 0x00001034 -_080995B4: - cmp r4, 0x1 - bne _080995F4 - ldr r3, _080995FC - ldr r0, [r3] - ldr r1, _08099600 - adds r2, r0, r1 - lsls r1, r5, 2 - ldr r4, _08099604 - adds r0, r4 - adds r0, r1 - ldr r1, [r0] - str r1, [r2] - movs r1, 0 - str r1, [r0] -_080995D0: - ldr r2, [r3] - ldr r5, _08099600 - adds r2, r5 - ldr r1, [r2] - ldr r0, _08099608 - str r0, [r1, 0x1C] - ldr r3, [r2] - ldrb r1, [r3, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r2] - adds r0, 0x43 - movs r1, 0x7 - strb r1, [r0] -_080995F4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080995FC: .4byte gUnknown_083B6DB4 -_08099600: .4byte 0x00001034 -_08099604: .4byte 0x00001050 -_08099608: .4byte sub_80999C4 - thumb_func_end sub_8099584 - - thumb_func_start sub_809960C -sub_809960C: @ 809960C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r0, 0xE - bne _08099654 - ldr r4, _08099648 - ldr r0, [r4] - lsls r1, r6, 2 - ldr r2, _0809964C - adds r3, r0, r2 - adds r3, r1 - ldr r1, _08099650 - adds r0, r1 - ldr r2, [r0] - str r2, [r3] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r3] - adds r0, 0x43 - movs r1, 0xB - strb r1, [r0] - b _0809968A - .align 2, 0 -_08099648: .4byte gUnknown_083B6DB4 -_0809964C: .4byte 0x00001038 -_08099650: .4byte 0x00001034 -_08099654: - ldr r5, _080996A0 - ldr r0, [r5] - lsls r1, r6, 2 - ldr r2, _080996A4 - adds r3, r0, r2 - adds r3, r1 - ldr r1, _080996A8 - adds r0, r1 - ldr r2, [r0] - str r2, [r3] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r4, [r3] - adds r0, r6, 0 - movs r1, 0x6 - bl __umodsi3 - movs r1, 0x12 - subs r1, r0 - adds r4, 0x43 - strb r1, [r4] - adds r4, r5, 0 -_0809968A: - ldr r1, [r4] - ldr r2, _080996A8 - adds r1, r2 - ldr r2, [r1] - ldr r0, _080996AC - str r0, [r2, 0x1C] - movs r0, 0 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080996A0: .4byte gUnknown_083B6DB4 -_080996A4: .4byte 0x00001050 -_080996A8: .4byte 0x00001034 -_080996AC: .4byte SpriteCallbackDummy - thumb_func_end sub_809960C - - thumb_func_start sub_80996B0 -sub_80996B0: @ 80996B0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r0, 0xE - bne _080996D8 - ldr r3, _080996CC - ldr r1, [r3] - ldr r0, _080996D0 - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, _080996D4 - b _080996E4 - .align 2, 0 -_080996CC: .4byte gUnknown_083B6DB4 -_080996D0: .4byte 0x000010c8 -_080996D4: .4byte 0x00001038 -_080996D8: - ldr r3, _08099704 - ldr r1, [r3] - ldr r0, _08099708 - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, _0809970C -_080996E4: - adds r0, r4 - adds r1, r0 - str r1, [r2] - ldr r1, [r3] - ldr r2, _08099710 - adds r0, r1, r2 - ldr r2, [r0] - ldr r0, _08099714 - str r0, [r2, 0x1C] - ldr r4, _08099718 - adds r1, r4 - movs r0, 0 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08099704: .4byte gUnknown_083B6DB4 -_08099708: .4byte 0x000010c8 -_0809970C: .4byte 0x00001050 -_08099710: .4byte 0x00001034 -_08099714: .4byte SpriteCallbackDummy -_08099718: .4byte 0x00001170 - thumb_func_end sub_80996B0 - - thumb_func_start sub_809971C -sub_809971C: @ 809971C - push {r4-r7,lr} - ldr r0, _08099730 - ldr r2, [r0] - ldr r0, _08099734 - adds r7, r2, r0 - ldrb r0, [r7] - cmp r0, 0x10 - bne _08099738 - movs r0, 0 - b _08099800 - .align 2, 0 -_08099730: .4byte gUnknown_083B6DB4 -_08099734: .4byte 0x00001170 -_08099738: - adds r0, 0x1 - strb r0, [r7] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809975E - ldr r1, _08099808 - adds r0, r2, r1 - ldr r0, [r0] - ldr r1, [r0] - ldrh r0, [r1, 0x22] - subs r0, 0x1 - strh r0, [r1, 0x22] - ldr r4, _0809980C - adds r0, r2, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x22] - adds r0, 0x1 - strh r0, [r1, 0x22] -_0809975E: - ldr r0, _08099808 - adds r5, r2, r0 - ldr r0, [r5] - ldr r1, [r0] - ldr r3, _08099810 - ldrb r0, [r7] - lsls r0, 4 - adds r0, r3 - movs r4, 0 - ldrsh r0, [r0, r4] - cmp r0, 0 - bge _08099778 - adds r0, 0xF -_08099778: - asrs r0, 4 - strh r0, [r1, 0x24] - ldr r0, _0809980C - adds r6, r2, r0 - ldr r1, [r6] - ldrb r0, [r7] - lsls r0, 4 - adds r0, r3 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _08099792 - adds r0, 0xF -_08099792: - asrs r0, 4 - negs r0, r0 - strh r0, [r1, 0x24] - ldrb r0, [r7] - cmp r0, 0x8 - bne _080997DE - ldr r4, [r6] - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0x5] - movs r2, 0xC - ands r2, r0 - ldrb r3, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - adds r0, r1, 0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, 0x5] - ldr r2, [r6] - ldr r0, [r5] - ldr r0, [r0] - adds r0, 0x43 - ldrb r0, [r0] - adds r2, 0x43 - strb r0, [r2] - ldr r0, [r5] - ldr r2, [r0] - ldrb r0, [r2, 0x5] - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r2, 0x5] - ldr r0, [r5] - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0x7 - strb r1, [r0] -_080997DE: - ldrb r0, [r7] - cmp r0, 0x10 - bne _080997FE - ldr r1, [r6] - ldr r0, [r5] - ldr r0, [r0] - str r0, [r6] - ldr r0, [r5] - str r1, [r0] - ldr r1, [r6] - ldr r0, _08099814 - str r0, [r1, 0x1C] - ldr r0, [r5] - ldr r1, [r0] - ldr r0, _08099818 - str r0, [r1, 0x1C] -_080997FE: - movs r0, 0x1 -_08099800: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08099808: .4byte 0x000010c8 -_0809980C: .4byte 0x00001034 -_08099810: .4byte gSineTable -_08099814: .4byte sub_80999C4 -_08099818: .4byte SpriteCallbackDummy - thumb_func_end sub_809971C - - thumb_func_start sub_809981C -sub_809981C: @ 809981C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r0, 0x1 - beq _08099858 - cmp r0, 0x1 - bgt _08099836 - cmp r0, 0 - beq _0809983C - b _080998C0 -_08099836: - cmp r2, 0x2 - beq _0809987C - b _080998C0 -_0809983C: - ldr r3, _0809984C - ldr r1, [r3] - ldr r0, _08099850 - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, _08099854 - b _08099864 - .align 2, 0 -_0809984C: .4byte gUnknown_083B6DB4 -_08099850: .4byte 0x000010cc -_08099854: .4byte 0x00001038 -_08099858: - ldr r3, _08099870 - ldr r1, [r3] - ldr r0, _08099874 - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, _08099878 -_08099864: - adds r0, r4 - adds r1, r0 - str r1, [r2] - adds r0, r3, 0 - b _0809988A - .align 2, 0 -_08099870: .4byte gUnknown_083B6DB4 -_08099874: .4byte 0x000010cc -_08099878: .4byte 0x00001050 -_0809987C: - ldr r0, _080998C8 - ldr r1, [r0] - ldr r3, _080998CC - adds r2, r1, r3 - ldr r4, _080998D0 - adds r1, r4 - str r1, [r2] -_0809988A: - ldr r0, [r0] - ldr r1, _080998CC - adds r4, r0, r1 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0 - beq _080998C0 - bl InitSpriteAffineAnim - ldr r0, [r4] - ldr r2, [r0] - ldrb r1, [r2, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r0, [r4] - ldr r1, [r0] - ldr r0, _080998D4 - str r0, [r1, 0x10] - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAffineAnim -_080998C0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080998C8: .4byte gUnknown_083B6DB4 -_080998CC: .4byte 0x000010cc -_080998D0: .4byte 0x00001034 -_080998D4: .4byte gUnknown_083B6F5C - thumb_func_end sub_809981C - - thumb_func_start sub_80998D8 -sub_80998D8: @ 80998D8 - push {lr} - ldr r0, _080998FC - ldr r0, [r0] - ldr r1, _08099900 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0] - cmp r1, 0 - beq _080998F8 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r0, 0x4 - ands r0, r2 - cmp r0, 0 - beq _08099904 -_080998F8: - movs r0, 0 - b _0809991A - .align 2, 0 -_080998FC: .4byte gUnknown_083B6DB4 -_08099900: .4byte 0x000010cc -_08099904: - adds r0, r1, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08099918 - movs r0, 0x4 - orrs r0, r2 - strb r0, [r3] -_08099918: - movs r0, 0x1 -_0809991A: - pop {r1} - bx r1 - thumb_func_end sub_80998D8 - - thumb_func_start sub_8099920 -sub_8099920: @ 8099920 - push {r4,lr} - ldr r0, _08099950 - ldr r0, [r0] - ldr r1, _08099954 - adds r4, r0, r1 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0 - beq _0809994A - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, [r4] - ldr r0, [r0] - bl sub_8099BE0 - ldr r1, [r4] - movs r0, 0 - str r0, [r1] -_0809994A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08099950: .4byte gUnknown_083B6DB4 -_08099954: .4byte 0x000010cc - thumb_func_end sub_8099920 - - thumb_func_start sub_8099958 -sub_8099958: @ 8099958 - push {lr} - ldr r0, _08099988 - ldr r0, [r0] - ldr r1, _0809998C - adds r3, r0, r1 - ldr r0, [r3] - ldr r0, [r0] - cmp r0, 0 - beq _08099982 - adds r2, r0, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, [r3] - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAffineAnim -_08099982: - pop {r0} - bx r0 - .align 2, 0 -_08099988: .4byte gUnknown_083B6DB4 -_0809998C: .4byte 0x000010cc - thumb_func_end sub_8099958 - - thumb_func_start sub_8099990 -sub_8099990: @ 8099990 - push {lr} - ldr r0, _080999A4 - ldr r0, [r0] - ldr r1, _080999A8 - adds r2, r0, r1 - ldr r0, [r2] - cmp r0, 0 - bne _080999AC - movs r0, 0 - b _080999C0 - .align 2, 0 -_080999A4: .4byte gUnknown_083B6DB4 -_080999A8: .4byte 0x000010cc -_080999AC: - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080999BE - movs r0, 0 - str r0, [r2] -_080999BE: - movs r0, 0x1 -_080999C0: - pop {r1} - bx r1 - thumb_func_end sub_8099990 - - thumb_func_start sub_80999C4 -sub_80999C4: @ 80999C4 - ldr r1, _080999E4 - ldr r1, [r1] - movs r2, 0x8E - lsls r2, 5 - adds r1, r2 - ldr r2, [r1] - ldrh r2, [r2, 0x20] - strh r2, [r0, 0x20] - ldr r2, [r1] - ldrh r1, [r2, 0x26] - ldrh r2, [r2, 0x22] - adds r1, r2 - adds r1, 0x4 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_080999E4: .4byte gUnknown_083B6DB4 - thumb_func_end sub_80999C4 - - thumb_func_start sub_80999E8 -sub_80999E8: @ 80999E8 - push {r4-r6,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r4, 0 - ldr r1, _08099A58 - ldr r0, [r1] - movs r2, 0x89 - lsls r2, 5 - adds r0, r2 - ldrh r0, [r0] - adds r2, r1, 0 - cmp r0, r3 - beq _08099A20 - adds r6, r2, 0 - movs r5, 0x89 - lsls r5, 5 -_08099A08: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x27 - bhi _08099A20 - ldr r0, [r6] - lsls r1, r4, 1 - adds r0, r5 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r3 - bne _08099A08 -_08099A20: - cmp r4, 0x28 - bne _08099A60 - movs r4, 0 - ldr r0, [r2] - movs r5, 0x89 - lsls r5, 5 - adds r0, r5 - ldrh r0, [r0] - cmp r0, 0 - beq _08099A4E - adds r6, r2, 0 -_08099A36: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x27 - bhi _08099A4E - ldr r0, [r6] - lsls r1, r4, 1 - adds r0, r5 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _08099A36 -_08099A4E: - cmp r4, 0x28 - bne _08099A60 - ldr r0, _08099A5C - b _08099A94 - .align 2, 0 -_08099A58: .4byte gUnknown_083B6DB4 -_08099A5C: .4byte 0x0000ffff -_08099A60: - ldr r1, [r2] - lsls r2, r4, 1 - movs r5, 0x89 - lsls r5, 5 - adds r0, r1, r5 - adds r0, r2 - strh r3, [r0] - ldr r0, _08099A9C - adds r1, r0 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r4, 20 - lsrs r4, 16 - ldr r1, _08099AA0 - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - lsls r1, r4, 5 - ldr r2, _08099AA4 - adds r1, r2 - ldr r2, _08099AA8 - bl CpuSet - adds r0, r4, 0 -_08099A94: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08099A9C: .4byte 0x000010d0 -_08099AA0: .4byte gMonIconTable -_08099AA4: .4byte 0x06010000 -_08099AA8: .4byte 0x04000080 - thumb_func_end sub_80999E8 - - thumb_func_start sub_8099AAC -sub_8099AAC: @ 8099AAC - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - movs r3, 0 - ldr r0, _08099AE4 - ldr r0, [r0] - movs r1, 0x89 - lsls r1, 5 - adds r5, r0, r1 - subs r1, 0x50 - adds r4, r0, r1 - ldr r0, _08099AE8 - adds r7, r0, 0 -_08099AC6: - lsls r1, r3, 1 - adds r2, r5, r1 - ldrh r0, [r2] - cmp r0, r6 - bne _08099AEC - adds r1, r4, r1 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ands r0, r7 - cmp r0, 0 - bne _08099AF6 - strh r0, [r2] - b _08099AF6 - .align 2, 0 -_08099AE4: .4byte gUnknown_083B6DB4 -_08099AE8: .4byte 0x0000ffff -_08099AEC: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x27 - bls _08099AC6 -_08099AF6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8099AAC - - thumb_func_start sub_8099AFC -sub_8099AFC: @ 8099AFC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r4, [sp, 0x3C] - ldr r5, [sp, 0x40] - lsls r0, 16 - lsrs r6, r0, 16 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x18] - lsls r3, 16 - lsrs r3, 16 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r9, r5 - mov r2, sp - ldr r0, _08099BAC - ldm r0!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldm r0!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - adds r0, r6, 0 - bl mon_icon_convert_unown_species_id - mov r10, r0 - mov r6, r10 - mov r2, sp - ldr r1, _08099BB0 - adds r1, r6, r1 - ldr r3, _08099BB4 - adds r0, r3, 0 - ldrb r1, [r1] - adds r0, r1 - strh r0, [r2, 0x2] - adds r0, r6, 0 - bl sub_80999E8 - lsls r0, 16 - lsrs r0, 16 - adds r5, r0, 0 - ldr r0, _08099BB8 - cmp r5, r0 - beq _08099BCE - ldr r7, [sp, 0x18] - lsls r1, r7, 16 - asrs r1, 16 - mov r0, r8 - lsls r2, r0, 16 - asrs r2, 16 - mov r0, sp - mov r3, r9 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _08099BC8 - ldr r1, _08099BBC - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldr r2, _08099BC0 - ands r2, r5 - ldrh r3, [r0, 0x4] - ldr r1, _08099BC4 - ands r1, r3 - orrs r1, r2 - strh r1, [r0, 0x4] - movs r1, 0x3 - ands r4, r1 - lsls r3, r4, 2 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, 0x5] - mov r1, r10 - strh r1, [r0, 0x2E] - b _08099BD0 - .align 2, 0 -_08099BAC: .4byte gSpriteTemplate_83B6F14 -_08099BB0: .4byte gMonIconPaletteIndices -_08099BB4: .4byte 0x0000dac0 -_08099BB8: .4byte 0x0000ffff -_08099BBC: .4byte gSprites -_08099BC0: .4byte 0x000003ff -_08099BC4: .4byte 0xfffffc00 -_08099BC8: - adds r0, r6, 0 - bl sub_8099AAC -_08099BCE: - movs r0, 0 -_08099BD0: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8099AFC - - thumb_func_start sub_8099BE0 -sub_8099BE0: @ 8099BE0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - bl sub_8099AAC - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8099BE0 - - thumb_func_start sub_8099BF8 -sub_8099BF8: @ 8099BF8 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08099C50 - ldr r0, [r0] - ldr r1, _08099C54 - adds r2, r0, r1 - movs r1, 0 - strb r1, [r2] - ldr r2, _08099C58 - adds r0, r2 - strh r1, [r0] - str r1, [sp] - ldr r1, _08099C5C - mov r0, sp - str r0, [r1] - ldr r0, _08099C60 - str r0, [r1, 0x4] - ldr r0, _08099C64 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r0, r4, 0 - movs r1, 0 - bl sub_8099EB0 - adds r0, r4, 0 - bl sub_809A23C - bl sub_809A6DC - adds r0, r4, 0 - bl sub_8098C48 - ldr r1, _08099C68 - ldr r2, _08099C6C - adds r0, r2, 0 - strh r0, [r1] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08099C50: .4byte gUnknown_083B6DB4 -_08099C54: .4byte 0x000008ba -_08099C58: .4byte 0x000008b4 -_08099C5C: .4byte 0x040000d4 -_08099C60: .4byte 0x0600d000 -_08099C64: .4byte 0x85000400 -_08099C68: .4byte REG_BG2CNT -_08099C6C: .4byte 0x00005a0a - thumb_func_end sub_8099BF8 - - thumb_func_start sub_8099C70 -sub_8099C70: @ 8099C70 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - bl sub_8099D90 - lsls r0, 24 - asrs r4, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8099EB0 - ldr r0, _08099D10 - ldr r2, [r0] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 1 - ldr r3, _08099D14 - adds r1, r2, r3 - strh r0, [r1] - ldr r0, _08099D18 - adds r1, r2, r0 - movs r0, 0x20 - strh r0, [r1] - ldr r1, _08099D1C - adds r0, r2, r1 - strb r5, [r0] - movs r1, 0 - cmp r4, 0 - bgt _08099CAE - movs r1, 0x5 -_08099CAE: - ldr r3, _08099D20 - adds r0, r2, r3 - strh r1, [r0] - ldr r1, _08099D24 - adds r0, r2, r1 - strh r4, [r0] - movs r1, 0x38 - cmp r4, 0 - ble _08099CC6 - movs r3, 0x84 - lsls r3, 1 - adds r1, r3, 0 -_08099CC6: - movs r3, 0x8C - lsls r3, 4 - adds r0, r2, r3 - strh r1, [r0] - movs r1, 0 - cmp r4, 0 - bgt _08099CD6 - movs r1, 0x5 -_08099CD6: - ldr r3, _08099D28 - adds r0, r2, r3 - strh r1, [r0] - ldr r1, _08099D2C - adds r0, r2, r1 - strh r4, [r0] - adds r3, 0x4 - adds r1, r2, r3 - movs r0, 0 - strh r0, [r1] - ldr r0, _08099D30 - adds r1, r2, r0 - movs r0, 0x2 - strh r0, [r1] - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_809900C - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_809A3D0 - adds r0, r4, 0 - bl sub_809A774 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08099D10: .4byte gUnknown_083B6DB4 -_08099D14: .4byte 0x000008b6 -_08099D18: .4byte 0x000008b8 -_08099D1C: .4byte 0x000008bb -_08099D20: .4byte 0x000008bc -_08099D24: .4byte 0x000008be -_08099D28: .4byte 0x000008c2 -_08099D2C: .4byte 0x000008c4 -_08099D30: .4byte 0x000008c8 - thumb_func_end sub_8099C70 - - thumb_func_start sub_8099D34 -sub_8099D34: @ 8099D34 - push {r4,lr} - bl sub_80990AC - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _08099D78 - ldr r1, [r0] - ldr r0, _08099D7C - adds r3, r1, r0 - ldrh r0, [r3] - cmp r0, 0 - beq _08099D88 - ldr r4, _08099D80 - adds r2, r1, r4 - adds r4, 0x2 - adds r0, r1, r4 - ldrh r0, [r0] - ldrh r1, [r2] - adds r0, r1 - ldr r1, _08099D84 - ands r0, r1 - strh r0, [r2] - ldrh r0, [r3] - subs r0, 0x1 - strh r0, [r3] - lsls r0, 16 - cmp r0, 0 - bne _08099D74 - bl sub_809A598 - bl sub_809A810 -_08099D74: - movs r0, 0x1 - b _08099D8A - .align 2, 0 -_08099D78: .4byte gUnknown_083B6DB4 -_08099D7C: .4byte 0x000008b8 -_08099D80: .4byte 0x000008b4 -_08099D84: .4byte 0x000001ff -_08099D88: - adds r0, r2, 0 -_08099D8A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8099D34 - - thumb_func_start sub_8099D90 -sub_8099D90: @ 8099D90 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl get_preferred_box - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0 - cmp r1, r4 - beq _08099DBA -_08099DA4: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xD - bls _08099DB0 - movs r1, 0 -_08099DB0: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r1, r4 - bne _08099DA4 -_08099DBA: - movs r0, 0x1 - negs r0, r0 - cmp r2, 0x6 - bhi _08099DC4 - movs r0, 0x1 -_08099DC4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8099D90 - - thumb_func_start sub_8099DCC -sub_8099DCC: @ 8099DCC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl get_preferred_box - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08099DF8 - ldr r2, _08099DFC - adds r1, r2 - adds r0, r1 - movs r1, 0 - strb r4, [r0] - ldr r0, _08099E00 - ldr r0, [r0] - ldr r2, _08099E04 - adds r0, r2 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08099DF8: .4byte gPokemonStorage -_08099DFC: .4byte 0x000083c2 -_08099E00: .4byte gUnknown_083B6DB4 -_08099E04: .4byte 0x00001032 - thumb_func_end sub_8099DCC - - thumb_func_start sub_8099E08 -sub_8099E08: @ 8099E08 - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _08099E24 - ldr r5, [r0] - ldr r0, _08099E28 - adds r4, r5, r0 - ldrb r0, [r4] - cmp r0, 0x1 - beq _08099E54 - cmp r0, 0x1 - bgt _08099E2C - cmp r0, 0 - beq _08099E36 - b _08099EA6 - .align 2, 0 -_08099E24: .4byte gUnknown_083B6DB4 -_08099E28: .4byte 0x00001032 -_08099E2C: - cmp r0, 0x2 - beq _08099E90 - cmp r0, 0x3 - beq _08099EA2 - b _08099EA6 -_08099E36: - ldr r1, _08099E4C - adds r0, r5, r1 - ldr r0, [r0] - ldr r1, _08099E50 - str r1, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _08099E9A - .align 2, 0 -_08099E4C: .4byte 0x00000d08 -_08099E50: .4byte 0x0000ffff -_08099E54: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _08099EA6 - bl get_preferred_box - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8099EB0 - bl sub_809A654 - ldr r1, _08099E88 - adds r0, r5, r1 - ldr r0, [r0] - ldr r1, _08099E8C - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _08099E9A - .align 2, 0 -_08099E88: .4byte 0x00000d08 -_08099E8C: .4byte 0x0000ffff -_08099E90: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _08099EA6 -_08099E9A: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08099EA6 -_08099EA2: - movs r0, 0 - b _08099EA8 -_08099EA6: - movs r0, 0x1 -_08099EA8: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8099E08 - - thumb_func_start sub_8099EB0 -sub_8099EB0: @ 8099EB0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - cmp r1, 0 - beq _08099ED8 - ldr r0, _08099F38 - ldr r0, [r0] - movs r2, 0 - ldr r3, _08099F3C - adds r1, r0, r3 - ldrb r0, [r1] - cmp r0, 0 - bne _08099ED0 - movs r2, 0x1 -_08099ED0: - strb r2, [r1] - ldr r0, _08099F40 - bl sub_809A14C -_08099ED8: - ldr r0, _08099F44 - ldr r1, _08099F48 - adds r0, r1 - adds r0, r4, r0 - ldrb r4, [r0] - lsls r4, 4 - ldr r0, _08099F4C - adds r4, r0 - ldr r0, [r4, 0xC] - ldr r1, _08099F38 - ldr r5, [r1] - ldr r2, _08099F3C - adds r6, r5, r2 - ldrb r2, [r6] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 20 - movs r3, 0x80 - lsls r3, 15 - adds r1, r3 - lsrs r1, 16 - movs r2, 0x60 - bl LoadPalette - ldr r0, [r4, 0x8] - ldr r1, _08099F50 - adds r5, r1 - adds r1, r5, 0 - bl LZ77UnCompWram - ldr r0, _08099F40 - lsls r2, r7, 24 - asrs r2, 24 - ldrb r3, [r6] - adds r1, r5, 0 - bl sub_8099F58 - ldr r0, [r4] - ldrb r1, [r6] - lsls r1, 13 - ldr r2, _08099F54 - adds r1, r2 - bl LZ77UnCompVram - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08099F38: .4byte gUnknown_083B6DB4 -_08099F3C: .4byte 0x000008ba -_08099F40: .4byte 0x0600d000 -_08099F44: .4byte gPokemonStorage -_08099F48: .4byte 0x000083c2 -_08099F4C: .4byte gWallpaperTable -_08099F50: .4byte 0x00000d62 -_08099F54: .4byte 0x06008000 - thumb_func_end sub_8099EB0 - - thumb_func_start sub_8099F58 -sub_8099F58: @ 8099F58 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - mov r9, r0 - adds r5, r1, 0 - lsls r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r0, r3, 8 - str r0, [sp] - lsls r0, r3, 1 - adds r0, r3 - adds r0, 0x4 - lsls r0, 28 - lsrs r0, 16 - str r0, [sp, 0x4] - ldr r0, _08099FB8 - ldr r0, [r0] - ldr r1, _08099FBC - adds r0, r1 - ldrh r1, [r0] - lsrs r1, 3 - adds r1, 0xA - lsrs r0, r2, 24 - mov r8, r0 - asrs r2, 24 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - movs r0, 0x3F - ands r1, r0 - str r1, [sp, 0x8] - adds r2, r1, 0 - cmp r2, 0xC - bgt _08099FC0 - movs r6, 0x14 - movs r3, 0 - lsls r0, r2, 1 - adds r0, 0x80 - mov r1, r9 - adds r4, r1, r0 - movs r7, 0 - b _0809A020 - .align 2, 0 -_08099FB8: .4byte gUnknown_083B6DB4 -_08099FBC: .4byte 0x000008b4 -_08099FC0: - cmp r2, 0x1F - bgt _08099FE6 - movs r0, 0x20 - subs r0, r2 - lsls r0, 16 - movs r1, 0x14 - lsrs r6, r0, 16 - asrs r0, 16 - subs r1, r0 - lsls r1, 16 - lsrs r3, r1, 16 - lsls r0, r2, 1 - adds r0, 0x80 - mov r2, r9 - adds r4, r2, r0 - movs r7, 0x88 - lsls r7, 4 - add r7, r9 - b _0809A020 -_08099FE6: - cmp r2, 0x2C - bgt _08099FFE - movs r6, 0x14 - movs r3, 0 - lsls r0, r2, 1 - movs r1, 0x84 - lsls r1, 4 - adds r0, r1 - mov r2, r9 - adds r4, r2, r0 - movs r7, 0 - b _0809A020 -_08099FFE: - movs r0, 0x40 - subs r0, r2 - lsls r0, 16 - movs r1, 0x14 - lsrs r6, r0, 16 - asrs r0, 16 - subs r1, r0 - lsls r1, 16 - lsrs r3, r1, 16 - lsls r0, r2, 1 - movs r1, 0x84 - lsls r1, 4 - adds r0, r1 - mov r2, r9 - adds r4, r2, r0 - mov r7, r9 - adds r7, 0x80 -_0809A020: - movs r1, 0 - mov r0, r8 - lsls r0, 24 - str r0, [sp, 0x14] - lsls r0, r6, 16 - asrs r0, 16 - mov r8, r0 - lsls r3, 16 - str r3, [sp, 0xC] - asrs r2, r3, 16 - str r2, [sp, 0x10] -_0809A036: - movs r3, 0 - adds r0, r4, 0 - adds r0, 0x40 - str r0, [sp, 0x18] - adds r2, r7, 0 - adds r2, 0x40 - str r2, [sp, 0x1C] - adds r1, 0x1 - mov r10, r1 - cmp r3, r8 - bge _0809A07A - ldr r0, _0809A0D4 - mov r12, r0 - movs r6, 0xF0 - lsls r6, 8 -_0809A054: - ldrh r2, [r5] - mov r0, r12 - ands r0, r2 - ldr r1, [sp] - adds r0, r1, r0 - adds r1, r6, 0 - ands r1, r2 - ldr r2, [sp, 0x4] - adds r1, r2, r1 - orrs r1, r0 - lsls r0, r3, 1 - adds r0, r4 - strh r1, [r0] - adds r5, 0x2 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r8 - blt _0809A054 -_0809A07A: - movs r3, 0 - ldr r0, [sp, 0x10] - cmp r3, r0 - bge _0809A0B4 - ldr r1, _0809A0D4 - mov r12, r1 - movs r6, 0xF0 - lsls r6, 8 - ldr r2, [sp, 0xC] - asrs r4, r2, 16 -_0809A08E: - ldrh r2, [r5] - mov r0, r12 - ands r0, r2 - ldr r1, [sp] - adds r0, r1, r0 - adds r1, r6, 0 - ands r1, r2 - ldr r2, [sp, 0x4] - adds r1, r2, r1 - orrs r1, r0 - lsls r0, r3, 1 - adds r0, r7 - strh r1, [r0] - adds r5, 0x2 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r4 - blt _0809A08E -_0809A0B4: - ldr r4, [sp, 0x18] - ldr r7, [sp, 0x1C] - mov r1, r10 - lsls r0, r1, 16 - lsrs r1, r0, 16 - cmp r1, 0x11 - bls _0809A036 - ldr r0, [sp, 0x14] - asrs r2, r0, 24 - cmp r2, 0 - beq _0809A13A - cmp r2, 0 - ble _0809A0D8 - ldr r1, [sp, 0x8] - adds r1, 0x14 - b _0809A0DC - .align 2, 0 -_0809A0D4: .4byte 0x00000fff -_0809A0D8: - ldr r1, [sp, 0x8] - subs r1, 0x4 -_0809A0DC: - movs r0, 0x3F - ands r1, r0 - adds r4, r1, 0 - adds r0, r4, 0 - cmp r0, 0x1F - bgt _0809A0EE - lsls r0, 1 - adds r0, 0x80 - b _0809A0F6 -_0809A0EE: - lsls r0, 1 - movs r2, 0x84 - lsls r2, 4 - adds r0, r2 -_0809A0F6: - mov r1, r9 - adds r2, r1, r0 - movs r3, 0 - movs r6, 0 -_0809A0FE: - movs r1, 0 - adds r5, r3, 0x1 - lsls r3, r4, 16 -_0809A104: - strh r6, [r2] - adds r2, 0x40 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x11 - bls _0809A104 - asrs r0, r3, 16 - adds r4, r0, 0x1 - movs r0, 0x3F - ands r4, r0 - adds r0, r4, 0 - cmp r0, 0x1F - bgt _0809A126 - lsls r0, 1 - adds r0, 0x80 - b _0809A12E -_0809A126: - lsls r0, 1 - movs r2, 0x84 - lsls r2, 4 - adds r0, r2 -_0809A12E: - mov r1, r9 - adds r2, r1, r0 - lsls r0, r5, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _0809A0FE -_0809A13A: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8099F58 - - thumb_func_start sub_809A14C -sub_809A14C: @ 809A14C - push {r4-r6,lr} - adds r2, r0, 0 - ldr r0, _0809A174 - ldr r0, [r0] - ldr r1, _0809A178 - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 3 - adds r3, r0, 0 - adds r3, 0x1E - movs r0, 0x3F - ands r3, r0 - adds r0, r3, 0 - cmp r0, 0x1F - bgt _0809A17C - lsls r0, 1 - movs r6, 0x98 - lsls r6, 3 - adds r0, r6 - b _0809A184 - .align 2, 0 -_0809A174: .4byte gUnknown_083B6DB4 -_0809A178: .4byte 0x000008b4 -_0809A17C: - lsls r0, 1 - movs r1, 0xC8 - lsls r1, 4 - adds r0, r1 -_0809A184: - adds r2, r0 - movs r0, 0 - movs r5, 0 - movs r4, 0x3F -_0809A18C: - strh r5, [r2] - adds r2, 0x2 - adds r3, 0x1 - ands r3, r4 - adds r1, r3, 0 - cmp r1, 0 - bne _0809A19E - ldr r6, _0809A1B8 - adds r2, r6 -_0809A19E: - cmp r1, 0x20 - bne _0809A1A8 - movs r1, 0xF8 - lsls r1, 3 - adds r2, r1 -_0809A1A8: - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2B - bls _0809A18C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809A1B8: .4byte 0xfffff7c0 - thumb_func_end sub_809A14C - - thumb_func_start sub_809A1BC -sub_809A1BC: @ 809A1BC - push {r4-r6,lr} - sub sp, 0x8 - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, _0809A228 - ldr r5, [r0] - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r4, _0809A22C - str r1, [r4] - str r5, [r4, 0x4] - movs r6, 0x80 - lsls r6, 1 - ldr r0, _0809A230 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - ldr r0, _0809A234 - adds r1, r5, 0 - str r3, [sp, 0x4] - bl sub_8004E3C - str r5, [r4] - ldr r3, [sp, 0x4] - str r3, [r4, 0x4] - ldr r1, _0809A238 - str r1, [r4, 0x8] - ldr r0, [r4, 0x8] - adds r0, r5, r6 - str r0, [r4] - adds r0, r3, 0 - adds r0, 0x80 - str r0, [r4, 0x4] - str r1, [r4, 0x8] - ldr r0, [r4, 0x8] - adds r0, r5, 0 - adds r0, 0x80 - str r0, [r4] - adds r6, r3, r6 - str r6, [r4, 0x4] - str r1, [r4, 0x8] - ldr r0, [r4, 0x8] - movs r0, 0xC0 - lsls r0, 1 - adds r5, r0 - str r5, [r4] - adds r3, r0 - str r3, [r4, 0x4] - str r1, [r4, 0x8] - ldr r0, [r4, 0x8] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809A228: .4byte gUnknown_083B6DB8 -_0809A22C: .4byte 0x040000d4 -_0809A230: .4byte 0x81000100 -_0809A234: .4byte gWindowConfig_81E6D38 -_0809A238: .4byte 0x80000040 - thumb_func_end sub_809A1BC - - thumb_func_start sub_809A23C -sub_809A23C: @ 809A23C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - mov r8, r0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0809A384 - ldr r5, [r0] - ldr r1, _0809A388 - adds r7, r5, r1 - str r7, [sp, 0x18] - mov r2, sp - adds r2, 0x18 - str r2, [sp, 0x20] - ldr r0, _0809A38C - str r0, [r2, 0x4] - mov r1, sp - ldr r3, _0809A390 - adds r0, r5, r3 - str r0, [sp] - ldr r4, _0809A394 - strh r4, [r1, 0x4] - str r0, [sp, 0x8] - ldr r6, _0809A398 - strh r6, [r1, 0xC] - add r0, sp, 0x10 - movs r1, 0 - movs r2, 0x8 - bl memset - ldr r0, _0809A39C - mov r9, r0 - ldr r0, _0809A3A0 - add r0, r9 - add r0, r8 - ldrb r1, [r0] - ldr r2, _0809A3A4 - lsls r1, 2 - adds r0, r1, r2 - ldrh r3, [r0] - ldr r6, _0809A3A8 - adds r0, r5, r6 - strh r3, [r0] - adds r2, 0x2 - adds r1, r2 - ldrh r1, [r1] - ldr r2, _0809A3AC - adds r0, r5, r2 - strh r1, [r0] - mov r0, sp - bl LoadSpritePalettes - ldr r3, _0809A3B0 - adds r6, r5, r3 - movs r0, 0xFC - lsls r0, 2 - str r0, [r6] - adds r0, r4, 0 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - movs r2, 0x87 - lsls r2, 1 - mov r10, r2 - add r1, r10 - ldr r3, _0809A3B4 - adds r2, r5, r3 - strh r1, [r2] - movs r4, 0x80 - lsls r4, 9 - adds r1, r4, 0 - lsls r1, r0 - ldr r0, [r6] - orrs r0, r1 - str r0, [r6] - ldr r0, _0809A3B8 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - add r1, r10 - ldr r2, _0809A3BC - adds r5, r2 - strh r1, [r5] - lsls r4, r0 - ldr r0, [r6] - orrs r0, r4 - str r0, [r6] - mov r3, r8 - lsls r4, r3, 3 - add r4, r8 - ldr r6, _0809A3C0 - add r9, r6 - add r4, r9 - adds r0, r7, 0 - adds r1, r4, 0 - bl sub_809A1BC - ldr r0, [sp, 0x20] - bl LoadSpriteSheet - adds r0, r4, 0 - bl sub_8072CA4 - lsls r0, 24 - lsrs r0, 24 - bl sub_809A6D0 - movs r4, 0 - lsls r0, 16 - asrs r6, r0, 16 -_0809A328: - lsls r1, r4, 5 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - ldr r0, _0809A3C4 - movs r2, 0x1C - movs r3, 0x17 - bl CreateSprite - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _0809A384 - ldr r5, [r0] - lsls r0, r4, 2 - movs r3, 0xCF - lsls r3, 4 - adds r2, r5, r3 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809A3C8 - adds r0, r1 - str r0, [r2] - lsls r1, r4, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _0809A328 - ldr r6, _0809A3CC - adds r1, r5, r6 - movs r0, 0 - strb r0, [r1] - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809A384: .4byte gUnknown_083B6DB4 -_0809A388: .4byte 0x000008ca -_0809A38C: .4byte 0x00030200 -_0809A390: .4byte 0x00000ccc -_0809A394: .4byte 0x0000dac8 -_0809A398: .4byte 0xffffdac9 -_0809A39C: .4byte gPokemonStorage -_0809A3A0: .4byte 0x000083c2 -_0809A3A4: .4byte gUnknown_083BB0A8 -_0809A3A8: .4byte 0x00000ce8 -_0809A3AC: .4byte 0x00000cea -_0809A3B0: .4byte 0x00000d08 -_0809A3B4: .4byte 0x00000cec -_0809A3B8: .4byte 0x0000dac9 -_0809A3BC: .4byte 0x00000cee -_0809A3C0: .4byte 0x00008344 -_0809A3C4: .4byte gSpriteTemplate_83BB2B8 -_0809A3C8: .4byte gSprites -_0809A3CC: .4byte 0x00000cca - thumb_func_end sub_809A23C - - thumb_func_start sub_809A3D0 -sub_809A3D0: @ 809A3D0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x28] - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - ldr r3, _0809A43C - ldr r5, [r3] - ldr r1, _0809A440 - adds r0, r5, r1 - str r0, [sp, 0x18] - add r2, sp, 0x18 - ldr r4, _0809A444 - mov r9, r4 - movs r6, 0xC0 - lsls r6, 10 - mov r8, r6 - ldr r0, _0809A448 - str r0, [r2, 0x4] - mov r1, sp - ldr r0, _0809A44C - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - movs r1, 0 - ldr r7, _0809A450 - adds r4, r5, r7 - ldrb r0, [r4] - adds r6, r2, 0 - cmp r0, 0 - bne _0809A41E - movs r1, 0x1 -_0809A41E: - strb r1, [r4] - cmp r1, 0 - bne _0809A458 - ldr r0, [r6, 0x4] - mov r1, r9 - ands r0, r1 - mov r4, r8 - orrs r0, r4 - str r0, [r6, 0x4] - ldr r7, _0809A454 - adds r0, r5, r7 - ldrh r0, [r0] - mov r8, r0 - b _0809A478 - .align 2, 0 -_0809A43C: .4byte gUnknown_083B6DB4 -_0809A440: .4byte 0x000008ca -_0809A444: .4byte 0x0000ffff -_0809A448: .4byte 0x00030200 -_0809A44C: .4byte gSpriteTemplate_83BB2B8 -_0809A450: .4byte 0x00000cca -_0809A454: .4byte 0x00000cec -_0809A458: - ldr r0, [r6, 0x4] - mov r1, r9 - ands r0, r1 - movs r1, 0x80 - lsls r1, 11 - orrs r0, r1 - str r0, [r6, 0x4] - ldr r4, _0809A570 - adds r0, r5, r4 - ldrh r0, [r0] - mov r8, r0 - mov r1, sp - movs r0, 0x4 - strh r0, [r1] - ldr r0, _0809A574 - strh r0, [r1, 0x2] -_0809A478: - ldr r0, [r3] - ldr r7, _0809A578 - adds r0, r7 - ldr r1, [sp, 0x28] - lsls r5, r1, 3 - adds r5, r1 - ldr r4, _0809A57C - adds r5, r4 - adds r1, r5, 0 - bl sub_809A1BC - adds r0, r6, 0 - bl LoadSpriteSheet - adds r4, 0x7E - ldr r3, [sp, 0x28] - adds r4, r3, r4 - ldrb r0, [r4] - lsls r0, 2 - ldr r1, _0809A580 - adds r0, r1 - mov r1, r8 - movs r2, 0x4 - bl LoadPalette - adds r0, r5, 0 - bl sub_8072CA4 - lsls r0, 24 - lsrs r0, 24 - bl sub_809A6D0 - lsls r0, 16 - mov r4, r10 - lsls r2, r4, 24 - asrs r2, 24 - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 6 - lsrs r6, r0, 16 - str r6, [sp, 0x20] - asrs r0, 16 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x24] - movs r7, 0 - negs r2, r2 - mov r9, r2 - movs r0, 0x1 - mov r10, r0 -_0809A4DE: - lsls r1, r7, 5 - mov r8, r1 - ldr r3, [sp, 0x24] - lsls r1, r3, 16 - asrs r1, 16 - add r1, r8 - lsls r1, 16 - asrs r1, 16 - mov r0, sp - movs r2, 0x1C - movs r3, 0x17 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809A584 - ldr r4, [r1] - lsls r6, r7, 2 - ldr r1, _0809A588 - adds r2, r4, r1 - adds r2, r6 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0809A58C - adds r1, r0 - str r1, [r2] - mov r3, r9 - lsls r5, r3, 1 - add r5, r9 - lsls r5, 1 - strh r5, [r1, 0x2E] - ldr r1, [r2] - ldr r3, [sp, 0x20] - lsls r0, r3, 16 - asrs r0, 16 - add r0, r8 - strh r0, [r1, 0x30] - ldr r0, [r2] - mov r1, r10 - strh r1, [r0, 0x32] - ldr r0, [r2] - ldr r1, _0809A590 - str r1, [r0, 0x1C] - lsls r1, r7, 24 - lsrs r1, 24 - bl StartSpriteAnim - movs r3, 0xCF - lsls r3, 4 - adds r4, r3 - adds r4, r6 - ldr r0, [r4] - strh r5, [r0, 0x2E] - ldr r0, [r4] - mov r6, r10 - strh r6, [r0, 0x30] - ldr r1, [r4] - ldr r0, _0809A594 - str r0, [r1, 0x1C] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x1 - bls _0809A4DE - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809A570: .4byte 0x00000cec -_0809A574: .4byte 0x0000dac9 -_0809A578: .4byte 0x000008ca -_0809A57C: .4byte gUnknown_020383E4 -_0809A580: .4byte gUnknown_083BB0A8 -_0809A584: .4byte gUnknown_083B6DB4 -_0809A588: .4byte 0x00000cf8 -_0809A58C: .4byte gSprites -_0809A590: .4byte sub_809A5E8 -_0809A594: .4byte sub_809A61C - thumb_func_end sub_809A3D0 - - thumb_func_start sub_809A598 -sub_809A598: @ 809A598 - push {lr} - ldr r0, _0809A5B0 - ldr r0, [r0] - ldr r1, _0809A5B4 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0809A5B8 - movs r0, 0x4 - bl FreeSpriteTilesByTag - b _0809A5BE - .align 2, 0 -_0809A5B0: .4byte gUnknown_083B6DB4 -_0809A5B4: .4byte 0x00000cca -_0809A5B8: - movs r0, 0x3 - bl FreeSpriteTilesByTag -_0809A5BE: - ldr r0, _0809A5E0 - ldr r0, [r0] - movs r3, 0xCF - lsls r3, 4 - adds r2, r0, r3 - adds r3, 0x8 - adds r1, r0, r3 - ldr r1, [r1] - str r1, [r2] - ldr r2, _0809A5E4 - adds r1, r0, r2 - adds r3, 0x4 - adds r0, r3 - ldr r0, [r0] - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0809A5E0: .4byte gUnknown_083B6DB4 -_0809A5E4: .4byte 0x00000cf4 - thumb_func_end sub_809A598 - - thumb_func_start sub_809A5E8 -sub_809A5E8: @ 809A5E8 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x32] - movs r3, 0x32 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _0809A5FC - subs r0, r1, 0x1 - strh r0, [r2, 0x32] - b _0809A614 -_0809A5FC: - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x30 - ldrsh r1, [r2, r3] - cmp r0, r1 - bne _0809A614 - ldr r0, _0809A618 - str r0, [r2, 0x1C] -_0809A614: - pop {r0} - bx r0 - .align 2, 0 -_0809A618: .4byte SpriteCallbackDummy - thumb_func_end sub_809A5E8 - - thumb_func_start sub_809A61C -sub_809A61C: @ 809A61C - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x30] - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _0809A630 - subs r0, r1, 0x1 - strh r0, [r2, 0x30] - b _0809A64E -_0809A630: - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x32] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC0 - bls _0809A64E - adds r0, r2, 0 - bl DestroySprite -_0809A64E: - pop {r0} - bx r0 - thumb_func_end sub_809A61C - - thumb_func_start sub_809A654 -sub_809A654: @ 809A654 - push {lr} - bl get_preferred_box - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809A690 - ldr r2, _0809A694 - adds r1, r2 - adds r0, r1 - ldrb r1, [r0] - ldr r0, _0809A698 - ldr r2, [r0] - ldr r3, _0809A69C - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _0809A6A8 - lsls r0, r1, 2 - ldr r1, _0809A6A0 - adds r0, r1 - adds r3, 0x22 - adds r1, r2, r3 - ldrh r1, [r1] - lsls r1, 1 - ldr r2, _0809A6A4 - adds r1, r2 - movs r2, 0x2 - bl CpuSet - b _0809A6C0 - .align 2, 0 -_0809A690: .4byte gPokemonStorage -_0809A694: .4byte 0x000083c2 -_0809A698: .4byte gUnknown_083B6DB4 -_0809A69C: .4byte 0x00000cca -_0809A6A0: .4byte gUnknown_083BB0A8 -_0809A6A4: .4byte gPlttBufferUnfaded -_0809A6A8: - lsls r0, r1, 2 - ldr r1, _0809A6C4 - adds r0, r1 - ldr r3, _0809A6C8 - adds r1, r2, r3 - ldrh r1, [r1] - lsls r1, 1 - ldr r2, _0809A6CC - adds r1, r2 - movs r2, 0x2 - bl CpuSet -_0809A6C0: - pop {r0} - bx r0 - .align 2, 0 -_0809A6C4: .4byte gUnknown_083BB0A8 -_0809A6C8: .4byte 0x00000cee -_0809A6CC: .4byte gPlttBufferUnfaded - thumb_func_end sub_809A654 - - thumb_func_start sub_809A6D0 -sub_809A6D0: @ 809A6D0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 25 - movs r0, 0xB0 - subs r0, r1 - bx lr - thumb_func_end sub_809A6D0 - - thumb_func_start sub_809A6DC -sub_809A6DC: @ 809A6DC - push {r4,r5,lr} - ldr r0, _0809A760 - bl LoadSpriteSheet - ldr r0, _0809A764 - bl LoadSpritePalette - movs r5, 0 -_0809A6EC: - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 19 - movs r0, 0xB8 - lsls r0, 15 - adds r1, r0 - asrs r1, 16 - ldr r0, _0809A768 - movs r2, 0x1C - movs r3, 0x15 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0809A73E - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809A76C - adds r4, r0, r1 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - movs r0, 0x1 - cmp r5, 0 - bne _0809A72C - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 -_0809A72C: - strh r0, [r4, 0x34] - ldr r0, _0809A770 - ldr r0, [r0] - lsls r1, r5, 2 - movs r2, 0xD0 - lsls r2, 4 - adds r0, r2 - adds r0, r1 - str r4, [r0] -_0809A73E: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _0809A6EC - bl sub_809BF2C - lsls r0, 24 - cmp r0, 0 - beq _0809A758 - movs r0, 0x1 - bl sub_809A860 -_0809A758: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809A760: .4byte gUnknown_083BB288 -_0809A764: .4byte gUnknown_083BB290 -_0809A768: .4byte gSpriteTemplate_83BB2F0 -_0809A76C: .4byte gSprites -_0809A770: .4byte gUnknown_083B6DB4 - thumb_func_end sub_809A6DC - - thumb_func_start sub_809A774 -sub_809A774: @ 809A774 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r2, 0 - ldr r7, _0809A7C4 - ldr r0, [r7] - movs r1, 0xD0 - lsls r1, 4 - adds r3, r0, r1 - movs r5, 0 - movs r4, 0x2 -_0809A78A: - lsls r1, r2, 2 - adds r1, r3, r1 - ldr r0, [r1] - strh r5, [r0, 0x24] - ldr r0, [r1] - strh r4, [r0, 0x2E] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1 - bls _0809A78A - lsls r0, r6, 24 - cmp r0, 0 - bge _0809A7CC - ldr r1, [r7] - movs r2, 0xD0 - lsls r2, 4 - adds r3, r1, r2 - ldr r2, [r3] - movs r0, 0x1D - strh r0, [r2, 0x30] - ldr r0, _0809A7C8 - adds r1, r0 - ldr r2, [r1] - movs r0, 0x5 - strh r0, [r2, 0x30] - ldr r0, [r3] - movs r2, 0x48 - b _0809A7E8 - .align 2, 0 -_0809A7C4: .4byte gUnknown_083B6DB4 -_0809A7C8: .4byte 0x00000d04 -_0809A7CC: - ldr r1, [r7] - movs r2, 0xD0 - lsls r2, 4 - adds r3, r1, r2 - ldr r2, [r3] - movs r0, 0x5 - strh r0, [r2, 0x30] - ldr r0, _0809A80C - adds r1, r0 - ldr r2, [r1] - movs r0, 0x1D - strh r0, [r2, 0x30] - ldr r0, [r3] - movs r2, 0xF8 -_0809A7E8: - strh r2, [r0, 0x32] - ldr r0, [r1] - strh r2, [r0, 0x32] - ldr r1, [r7] - movs r2, 0xD0 - lsls r2, 4 - adds r0, r1, r2 - ldr r2, [r0] - movs r0, 0 - strh r0, [r2, 0x3C] - ldr r0, _0809A80C - adds r1, r0 - ldr r1, [r1] - movs r0, 0x1 - strh r0, [r1, 0x3C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809A80C: .4byte 0x00000d04 - thumb_func_end sub_809A774 - - thumb_func_start sub_809A810 -sub_809A810: @ 809A810 - push {r4-r6,lr} - movs r3, 0 - ldr r0, _0809A85C - ldr r0, [r0] - movs r1, 0xD0 - lsls r1, 4 - adds r4, r0, r1 - movs r5, 0 - movs r6, 0x5 - negs r6, r6 -_0809A824: - lsls r1, r3, 2 - adds r1, r4, r1 - ldr r2, [r1] - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 3 - adds r0, 0x5C - strh r0, [r2, 0x20] - ldr r0, [r1] - strh r5, [r0, 0x24] - ldr r1, [r1] - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x1 - bls _0809A824 - movs r0, 0x1 - bl sub_809A860 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809A85C: .4byte gUnknown_083B6DB4 - thumb_func_end sub_809A810 - - thumb_func_start sub_809A860 -sub_809A860: @ 809A860 - push {r4,r5,lr} - lsls r0, 24 - cmp r0, 0 - beq _0809A89C - movs r2, 0 - ldr r0, _0809A898 - ldr r0, [r0] - movs r1, 0xD0 - lsls r1, 4 - adds r4, r0, r1 - movs r3, 0 - movs r5, 0x1 -_0809A878: - lsls r1, r2, 2 - adds r1, r4, r1 - ldr r0, [r1] - strh r5, [r0, 0x2E] - ldr r0, [r1] - strh r3, [r0, 0x30] - ldr r0, [r1] - strh r3, [r0, 0x32] - ldr r0, [r1] - strh r3, [r0, 0x36] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1 - bls _0809A878 - b _0809A8BC - .align 2, 0 -_0809A898: .4byte gUnknown_083B6DB4 -_0809A89C: - movs r2, 0 - ldr r0, _0809A8C4 - ldr r0, [r0] - movs r3, 0xD0 - lsls r3, 4 - adds r1, r0, r3 - movs r3, 0 -_0809A8AA: - lsls r0, r2, 2 - adds r0, r1, r0 - ldr r0, [r0] - strh r3, [r0, 0x2E] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1 - bls _0809A8AA -_0809A8BC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809A8C4: .4byte gUnknown_083B6DB4 - thumb_func_end sub_809A860 - - thumb_func_start sub_809A8C8 -sub_809A8C8: @ 809A8C8 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x4 - bhi _0809A994 - lsls r0, 2 - ldr r1, _0809A8E0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809A8E0: .4byte _0809A8E4 - .align 2, 0 -_0809A8E4: - .4byte _0809A8F8 - .4byte _0809A8FE - .4byte _0809A92C - .4byte _0809A932 - .4byte _0809A984 -_0809A8F8: - movs r0, 0 - strh r0, [r2, 0x24] - b _0809A994 -_0809A8FE: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - movs r1, 0 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0809A994 - strh r1, [r2, 0x30] - ldrh r0, [r2, 0x34] - ldrh r3, [r2, 0x24] - adds r0, r3 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _0809A994 - strh r1, [r2, 0x32] - strh r1, [r2, 0x24] - b _0809A994 -_0809A92C: - movs r0, 0x3 - strh r0, [r2, 0x2E] - b _0809A994 -_0809A932: - ldr r0, _0809A97C - ldr r1, [r0] - ldr r0, _0809A980 - adds r1, r0 - ldrh r0, [r2, 0x20] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2, 0x20] - subs r0, 0x49 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAE - bls _0809A958 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] -_0809A958: - ldrh r0, [r2, 0x30] - subs r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _0809A994 - ldrh r0, [r2, 0x32] - strh r0, [r2, 0x20] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - movs r0, 0x4 - strh r0, [r2, 0x2E] - b _0809A994 - .align 2, 0 -_0809A97C: .4byte gUnknown_083B6DB4 -_0809A980: .4byte 0x000008b6 -_0809A984: - ldr r0, _0809A998 - ldr r0, [r0] - ldr r1, _0809A99C - adds r0, r1 - ldrh r1, [r2, 0x20] - ldrh r0, [r0] - subs r1, r0 - strh r1, [r2, 0x20] -_0809A994: - pop {r0} - bx r0 - .align 2, 0 -_0809A998: .4byte gUnknown_083B6DB4 -_0809A99C: .4byte 0x000008b6 - thumb_func_end sub_809A8C8 - - thumb_func_start sub_809A9A0 -sub_809A9A0: @ 809A9A0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r4, [sp, 0x18] - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0809AA0C - lsls r5, 16 - asrs r5, 16 - lsls r6, 16 - asrs r6, 16 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0809AA18 - movs r1, 0x1 - ands r1, r7 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r5, _0809AA10 - adds r6, r4, r5 - adds r0, r6, 0 - bl StartSpriteAnim - movs r0, 0x3 - mov r1, r8 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r6, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x5] - adds r5, 0x1C - adds r4, r5 - ldr r0, _0809AA14 - str r0, [r4] - adds r0, r6, 0 - b _0809AA1A - .align 2, 0 -_0809AA0C: .4byte gSpriteTemplate_83BB2F0 -_0809AA10: .4byte gSprites -_0809AA14: .4byte SpriteCallbackDummy -_0809AA18: - movs r0, 0 -_0809AA1A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809A9A0 - - thumb_func_start sub_809AA24 -sub_809AA24: @ 809AA24 - push {lr} - ldr r0, _0809AA38 - ldr r0, [r0] - ldrb r1, [r0, 0x5] - cmp r1, 0x1 - beq _0809AA40 - ldr r1, _0809AA3C - movs r0, 0 - strb r0, [r1] - b _0809AA44 - .align 2, 0 -_0809AA38: .4byte gUnknown_083B6DB4 -_0809AA3C: .4byte gUnknown_020384E4 -_0809AA40: - ldr r0, _0809AA78 - strb r1, [r0] -_0809AA44: - ldr r0, _0809AA7C - movs r1, 0 - strb r1, [r0] - ldr r0, _0809AA80 - strb r1, [r0] - ldr r0, _0809AA84 - strb r1, [r0] - ldr r0, _0809AA88 - strb r1, [r0] - ldr r0, _0809AA8C - strb r1, [r0] - bl sub_809B0D4 - bl sub_809CC04 - ldr r0, _0809AA90 - ldr r0, [r0] - ldr r1, _0809AA94 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - bl sub_809BF74 - pop {r0} - bx r0 - .align 2, 0 -_0809AA78: .4byte gUnknown_020384E4 -_0809AA7C: .4byte gUnknown_020384E5 -_0809AA80: .4byte gUnknown_020384E6 -_0809AA84: .4byte gUnknown_020384E7 -_0809AA88: .4byte gUnknown_020384E8 -_0809AA8C: .4byte gUnknown_020384E9 -_0809AA90: .4byte gUnknown_083B6DB4 -_0809AA94: .4byte 0x000011e2 - thumb_func_end sub_809AA24 - - thumb_func_start sub_809AA98 -sub_809AA98: @ 809AA98 - push {lr} - bl sub_809CC04 - bl sub_809C028 - ldr r0, _0809AAC0 - ldr r0, [r0] - ldr r1, _0809AAC4 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, _0809AAC8 - ldrb r0, [r0] - cmp r0, 0 - beq _0809AABA - bl sub_8098BF0 -_0809AABA: - pop {r0} - bx r0 - .align 2, 0 -_0809AAC0: .4byte gUnknown_083B6DB4 -_0809AAC4: .4byte 0x000011e2 -_0809AAC8: .4byte gUnknown_020384E6 - thumb_func_end sub_809AA98 - - thumb_func_start sub_809AACC -sub_809AACC: @ 809AACC - push {r4-r6,lr} - adds r4, r2, 0 - adds r6, r3, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r0, 0x4 - bhi _0809AB84 - lsls r0, 2 - ldr r1, _0809AAE8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809AAE8: .4byte _0809AAEC - .align 2, 0 -_0809AAEC: - .4byte _0809AB00 - .4byte _0809AB2E - .4byte _0809AB56 - .4byte _0809AB5E - .4byte _0809AB7C -_0809AB00: - adds r0, r5, 0 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, 0x64 - strh r1, [r4] - adds r0, r5, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, 0x20 - strh r1, [r6] - b _0809AB84 -_0809AB2E: - cmp r5, 0 - bne _0809AB3A - movs r0, 0x68 - strh r0, [r4] - movs r0, 0x34 - b _0809AB82 -_0809AB3A: - cmp r5, 0x6 - bne _0809AB46 - movs r0, 0x98 - strh r0, [r4] - movs r0, 0x84 - b _0809AB82 -_0809AB46: - movs r0, 0x98 - strh r0, [r4] - subs r1, r5, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, 0x4 - b _0809AB82 -_0809AB56: - movs r0, 0xA2 - strh r0, [r4] - movs r0, 0xC - b _0809AB82 -_0809AB5E: - ldr r0, _0809AB78 - ldrb r0, [r0] - movs r1, 0xE - cmp r0, 0 - beq _0809AB6A - movs r1, 0x8 -_0809AB6A: - strh r1, [r6] - movs r0, 0x58 - muls r0, r5 - adds r0, 0x78 - strh r0, [r4] - b _0809AB84 - .align 2, 0 -_0809AB78: .4byte gUnknown_020384E6 -_0809AB7C: - movs r0, 0xA0 - strh r0, [r4] - movs r0, 0x60 -_0809AB82: - strh r0, [r6] -_0809AB84: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_809AACC - - thumb_func_start sub_809AB8C -sub_809AB8C: @ 809AB8C - push {lr} - ldr r0, _0809ABB4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _0809ABC0 - cmp r0, 0x1 - bne _0809ABF8 - ldr r0, _0809ABB8 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0809ABBC - adds r0, r1 - movs r1, 0xB - bl GetMonData - b _0809ABEA - .align 2, 0 -_0809ABB4: .4byte gUnknown_020384E4 -_0809ABB8: .4byte gUnknown_020384E5 -_0809ABBC: .4byte gPlayerParty -_0809ABC0: - bl get_preferred_box - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - ldr r1, _0809ABF0 - movs r2, 0 - ldrsb r2, [r1, r2] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 4 - ldr r2, _0809ABF4 - adds r1, r2 - adds r0, r1 - movs r1, 0xB - bl GetBoxMonData -_0809ABEA: - lsls r0, 16 - lsrs r0, 16 - b _0809ABFA - .align 2, 0 -_0809ABF0: .4byte gUnknown_020384E5 -_0809ABF4: .4byte gUnknown_020300A4 -_0809ABF8: - movs r0, 0 -_0809ABFA: - pop {r1} - bx r1 - thumb_func_end sub_809AB8C - - thumb_func_start sub_809AC00 -sub_809AC00: @ 809AC00 - push {r4-r6,lr} - ldr r0, _0809AC14 - ldr r4, [r0] - ldr r0, _0809AC18 - adds r1, r4, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _0809AC1C - movs r0, 0 - b _0809AD2C - .align 2, 0 -_0809AC14: .4byte gUnknown_083B6DB4 -_0809AC18: .4byte 0x000011dc -_0809AC1C: - subs r0, 0x1 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - beq _0809AD0C - ldr r1, _0809ACF4 - adds r3, r4, r1 - ldr r2, _0809ACF8 - adds r1, r4, r2 - ldr r0, [r3] - ldr r1, [r1] - adds r0, r1 - str r0, [r3] - ldr r6, _0809ACFC - adds r2, r4, r6 - ldr r0, _0809AD00 - adds r1, r4, r0 - ldr r0, [r2] - ldr r1, [r1] - adds r0, r1 - str r0, [r2] - movs r1, 0x8E - lsls r1, 5 - adds r5, r4, r1 - ldr r1, [r5] - ldr r0, [r3] - asrs r0, 8 - strh r0, [r1, 0x20] - ldr r1, [r5] - ldr r0, [r2] - asrs r0, 8 - strh r0, [r1, 0x22] - ldr r1, [r5] - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x80 - lsls r3, 1 - cmp r0, r3 - ble _0809AC78 - ldr r6, _0809AD04 - adds r0, r2, r6 - lsls r0, 16 - asrs r0, 16 - adds r0, 0x40 - strh r0, [r1, 0x20] -_0809AC78: - ldr r1, [r5] - ldrh r2, [r1, 0x20] - movs r6, 0x20 - ldrsh r0, [r1, r6] - cmp r0, 0x3F - bgt _0809AC90 - movs r0, 0x40 - subs r0, r2 - lsls r0, 16 - asrs r0, 16 - subs r0, r3, r0 - strh r0, [r1, 0x20] -_0809AC90: - ldr r1, [r5] - ldrh r2, [r1, 0x22] - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0xB0 - ble _0809ACA8 - adds r0, r2, 0 - subs r0, 0xB0 - lsls r0, 16 - asrs r0, 16 - subs r0, 0x10 - strh r0, [r1, 0x22] -_0809ACA8: - ldr r2, [r5] - ldrh r3, [r2, 0x22] - movs r6, 0x22 - ldrsh r0, [r2, r6] - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _0809ACC4 - subs r0, r1, r3 - movs r1, 0xB0 - lsls r0, 16 - asrs r0, 16 - subs r1, r0 - strh r1, [r2, 0x22] -_0809ACC4: - ldr r0, _0809AD08 - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _0809AD2A - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _0809AD2A - ldr r2, [r5] - adds r2, 0x3F - ldrb r3, [r2] - lsrs r1, r3, 1 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 1 - movs r0, 0x3 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - b _0809AD2A - .align 2, 0 -_0809ACF4: .4byte 0x000011c8 -_0809ACF8: .4byte 0x000011d0 -_0809ACFC: .4byte 0x000011cc -_0809AD00: .4byte 0x000011d4 -_0809AD04: .4byte 0xffffff00 -_0809AD08: .4byte 0x000011e3 -_0809AD0C: - movs r1, 0x8E - lsls r1, 5 - adds r2, r4, r1 - ldr r1, [r2] - ldr r3, _0809AD34 - adds r0, r4, r3 - ldrh r0, [r0] - strh r0, [r1, 0x20] - ldr r1, [r2] - ldr r6, _0809AD38 - adds r0, r4, r6 - ldrh r0, [r0] - strh r0, [r1, 0x22] - bl sub_809AFB8 -_0809AD2A: - movs r0, 0x1 -_0809AD2C: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809AD34: .4byte 0x000011d8 -_0809AD38: .4byte 0x000011da - thumb_func_end sub_809AC00 - - thumb_func_start sub_809AD3C -sub_809AD3C: @ 809AD3C - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r6, sp - adds r6, 0x2 - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - adds r3, r6, 0 - bl sub_809AACC - ldr r0, _0809AD88 - ldr r1, [r0] - movs r2, 0x8F - lsls r2, 5 - adds r0, r1, r2 - strb r4, [r0] - ldr r3, _0809AD8C - adds r0, r1, r3 - strb r5, [r0] - mov r0, sp - ldrh r2, [r0] - subs r3, 0x9 - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r6] - ldr r2, _0809AD90 - adds r1, r2 - strh r0, [r1] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809AD88: .4byte gUnknown_083B6DB4 -_0809AD8C: .4byte 0x000011e1 -_0809AD90: .4byte 0x000011da - thumb_func_end sub_809AD3C - - thumb_func_start sub_809AD94 -sub_809AD94: @ 809AD94 - push {r4-r7,lr} - ldr r0, _0809ADB0 - ldr r2, [r0] - ldr r3, _0809ADB4 - adds r1, r2, r3 - ldrh r1, [r1] - adds r4, r0, 0 - cmp r1, 0 - beq _0809ADBC - ldr r0, _0809ADB8 - adds r1, r2, r0 - movs r0, 0xC - b _0809ADC2 - .align 2, 0 -_0809ADB0: .4byte gUnknown_083B6DB4 -_0809ADB4: .4byte 0x000011de -_0809ADB8: .4byte 0x000011dc -_0809ADBC: - ldr r3, _0809AE04 - adds r1, r2, r3 - movs r0, 0x6 -_0809ADC2: - strh r0, [r1] - ldr r2, [r4] - ldr r0, _0809AE08 - adds r1, r2, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _0809ADDA - ldr r3, _0809AE04 - adds r0, r2, r3 - ldrh r0, [r0] - lsrs r0, 1 - strb r0, [r1] -_0809ADDA: - ldr r1, _0809AE0C - adds r0, r2, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0809AE14 - cmp r1, 0x1 - beq _0809AE30 - ldr r3, _0809AE10 - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x8E - lsls r3, 5 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x22 - ldrsh r0, [r0, r2] - b _0809AE46 - .align 2, 0 -_0809AE04: .4byte 0x000011dc -_0809AE08: .4byte 0x000011e3 -_0809AE0C: .4byte 0x000011de -_0809AE10: .4byte 0x000011da -_0809AE14: - ldr r3, _0809AE2C - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x8E - lsls r3, 5 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x22 - ldrsh r0, [r0, r2] - adds r0, 0xC0 - b _0809AE46 - .align 2, 0 -_0809AE2C: .4byte 0x000011da -_0809AE30: - ldr r3, _0809AE74 - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x8E - lsls r3, 5 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x22 - ldrsh r0, [r0, r2] - subs r0, 0xC0 -_0809AE46: - subs r7, r1, r0 - ldr r2, [r4] - ldr r3, _0809AE78 - adds r0, r2, r3 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0809AE80 - cmp r1, 0x1 - beq _0809AE9C - ldr r1, _0809AE7C - adds r0, r2, r1 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x8E - lsls r3, 5 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x20 - ldrsh r0, [r0, r2] - b _0809AEB2 - .align 2, 0 -_0809AE74: .4byte 0x000011da -_0809AE78: .4byte 0x000011df -_0809AE7C: .4byte 0x000011d8 -_0809AE80: - ldr r3, _0809AE98 - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x8E - lsls r3, 5 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x20 - ldrsh r0, [r0, r2] - adds r0, 0xC0 - b _0809AEB2 - .align 2, 0 -_0809AE98: .4byte 0x000011d8 -_0809AE9C: - ldr r3, _0809AF00 - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x8E - lsls r3, 5 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x20 - ldrsh r0, [r0, r2] - subs r0, 0xC0 -_0809AEB2: - subs r0, r1, r0 - lsls r7, 8 - lsls r0, 8 - ldr r4, [r4] - ldr r3, _0809AF04 - adds r6, r4, r3 - ldr r1, _0809AF08 - adds r5, r4, r1 - ldrh r1, [r5] - bl __divsi3 - str r0, [r6] - ldr r2, _0809AF0C - adds r6, r4, r2 - ldrh r1, [r5] - adds r0, r7, 0 - bl __divsi3 - str r0, [r6] - ldr r3, _0809AF10 - adds r2, r4, r3 - movs r0, 0x8E - lsls r0, 5 - adds r1, r4, r0 - ldr r0, [r1] - movs r3, 0x20 - ldrsh r0, [r0, r3] - lsls r0, 8 - str r0, [r2] - ldr r0, _0809AF14 - adds r4, r0 - ldr r0, [r1] - movs r1, 0x22 - ldrsh r0, [r0, r1] - lsls r0, 8 - str r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809AF00: .4byte 0x000011d8 -_0809AF04: .4byte 0x000011d0 -_0809AF08: .4byte 0x000011dc -_0809AF0C: .4byte 0x000011d4 -_0809AF10: .4byte 0x000011c8 -_0809AF14: .4byte 0x000011cc - thumb_func_end sub_809AD94 - - thumb_func_start sub_809AF18 -sub_809AF18: @ 809AF18 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_809AD3C - bl sub_809AD94 - ldr r0, _0809AFA4 - ldrb r0, [r0] - cmp r0, 0 - bne _0809AF46 - ldr r0, _0809AFA8 - ldr r0, [r0] - movs r1, 0x8E - lsls r1, 5 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim -_0809AF46: - cmp r4, 0x1 - bne _0809AF70 - ldr r0, _0809AFAC - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _0809AF70 - ldr r0, _0809AFA8 - ldr r0, [r0] - ldr r2, _0809AFB0 - adds r1, r0, r2 - strb r4, [r1] - ldr r1, _0809AFB4 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] -_0809AF70: - cmp r4, 0 - beq _0809AF9E - cmp r4, 0 - blt _0809AF9E - cmp r4, 0x3 - bgt _0809AF9E - ldr r0, _0809AFA8 - ldr r2, [r0] - ldr r0, _0809AFB4 - adds r2, r0 - ldr r1, [r2] - adds r1, 0x3E - ldrb r0, [r1] - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1] - ldr r2, [r2] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0x5] -_0809AF9E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809AFA4: .4byte gUnknown_020384E6 -_0809AFA8: .4byte gUnknown_083B6DB4 -_0809AFAC: .4byte gUnknown_020384E4 -_0809AFB0: .4byte 0x000011e2 -_0809AFB4: .4byte 0x000011c4 - thumb_func_end sub_809AF18 - - thumb_func_start sub_809AFB8 -sub_809AFB8: @ 809AFB8 - push {r4,r5,lr} - ldr r5, _0809B000 - ldr r0, _0809B004 - ldr r4, [r0] - movs r1, 0x8F - lsls r1, 5 - adds r0, r4, r1 - ldrb r0, [r0] - strb r0, [r5] - ldr r1, _0809B008 - ldr r2, _0809B00C - adds r0, r4, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _0809B010 - ldrb r0, [r0] - cmp r0, 0 - bne _0809AFEA - movs r1, 0x8E - lsls r1, 5 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim -_0809AFEA: - bl sub_809BF74 - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0x1 - beq _0809B020 - cmp r0, 0x1 - bgt _0809B014 - cmp r0, 0 - beq _0809B034 - b _0809B05E - .align 2, 0 -_0809B000: .4byte gUnknown_020384E4 -_0809B004: .4byte gUnknown_083B6DB4 -_0809B008: .4byte gUnknown_020384E5 -_0809B00C: .4byte 0x000011e1 -_0809B010: .4byte gUnknown_020384E6 -_0809B014: - cmp r0, 0x2 - bne _0809B05E - movs r0, 0x1 - bl sub_809A860 - b _0809B05E -_0809B020: - ldr r2, _0809B030 - adds r0, r4, r2 - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0xC - strb r1, [r0] - b _0809B05E - .align 2, 0 -_0809B030: .4byte 0x000011c4 -_0809B034: - ldr r0, _0809B064 - adds r2, r4, r0 - ldr r3, [r2] - ldrb r1, [r3, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r2] - adds r0, 0x43 - movs r1, 0x14 - strb r1, [r0] - ldr r1, [r2] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_0809B05E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809B064: .4byte 0x000011c4 - thumb_func_end sub_809AFB8 - - thumb_func_start sub_809B068 -sub_809B068: @ 809B068 - push {lr} - ldr r0, _0809B078 - ldrb r0, [r0] - cmp r0, 0 - bne _0809B07C - movs r3, 0 - b _0809B08A - .align 2, 0 -_0809B078: .4byte gUnknown_020384E6 -_0809B07C: - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x5 - bls _0809B08A - movs r3, 0x5 -_0809B08A: - ldr r0, _0809B0B8 - ldr r2, [r0] - movs r1, 0x8E - lsls r1, 5 - adds r0, r2, r1 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809B0AA - ldr r0, _0809B0BC - adds r1, r2, r0 - movs r0, 0x1 - strb r0, [r1] -_0809B0AA: - movs r0, 0x1 - adds r1, r3, 0 - bl sub_809AF18 - pop {r0} - bx r0 - .align 2, 0 -_0809B0B8: .4byte gUnknown_083B6DB4 -_0809B0BC: .4byte 0x000011e3 - thumb_func_end sub_809B068 - - thumb_func_start sub_809B0C0 -sub_809B0C0: @ 809B0C0 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_809AF18 - pop {r0} - bx r0 - thumb_func_end sub_809B0C0 - - thumb_func_start sub_809B0D4 -sub_809B0D4: @ 809B0D4 - ldr r1, _0809B0DC - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_0809B0DC: .4byte gUnknown_020384EA - thumb_func_end sub_809B0D4 - - thumb_func_start sub_809B0E0 -sub_809B0E0: @ 809B0E0 - ldr r0, _0809B0EC - ldr r1, _0809B0F0 - ldrb r1, [r1] - strb r1, [r0] - bx lr - .align 2, 0 -_0809B0EC: .4byte gUnknown_020384EA -_0809B0F0: .4byte gUnknown_020384E5 - thumb_func_end sub_809B0E0 - - thumb_func_start sub_809B0F4 -sub_809B0F4: @ 809B0F4 - ldr r0, _0809B0FC - ldrb r0, [r0] - bx lr - .align 2, 0 -_0809B0FC: .4byte gUnknown_020384EA - thumb_func_end sub_809B0F4 - - thumb_func_start sub_809B100 -sub_809B100: @ 809B100 - lsls r0, 24 - ldr r1, _0809B120 - ldr r1, [r1] - ldr r2, _0809B124 - adds r3, r1, r2 - ldr r2, _0809B128 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - str r0, [r3] - ldr r0, _0809B12C - adds r1, r0 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_0809B120: .4byte gUnknown_083B6DB4 -_0809B124: .4byte 0x000012a4 -_0809B128: .4byte gUnknown_083BBBC8 -_0809B12C: .4byte 0x000012a8 - thumb_func_end sub_809B100 - - thumb_func_start sub_809B130 -sub_809B130: @ 809B130 - push {lr} - ldr r0, _0809B148 - ldr r0, [r0] - ldr r1, _0809B14C - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0809B148: .4byte gUnknown_083B6DB4 -_0809B14C: .4byte 0x000012a4 - thumb_func_end sub_809B130 - - thumb_func_start sub_809B150 -sub_809B150: @ 809B150 - push {r4,r5,lr} - ldr r0, _0809B16C - ldr r5, [r0] - ldr r0, _0809B170 - adds r4, r5, r0 - ldrb r0, [r4] - cmp r0, 0x1 - beq _0809B1A0 - cmp r0, 0x1 - bgt _0809B174 - cmp r0, 0 - beq _0809B17E - b _0809B1CE - .align 2, 0 -_0809B16C: .4byte gUnknown_083B6DB4 -_0809B170: .4byte 0x000012a8 -_0809B174: - cmp r0, 0x2 - beq _0809B1BE - cmp r0, 0x3 - beq _0809B186 - b _0809B1CE -_0809B17E: - ldr r0, _0809B18C - ldrb r0, [r0] - cmp r0, 0 - beq _0809B190 -_0809B186: - movs r0, 0 - b _0809B1D0 - .align 2, 0 -_0809B18C: .4byte gUnknown_020384E6 -_0809B190: - movs r1, 0x8E - lsls r1, 5 - adds r0, r5, r1 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim - b _0809B1C8 -_0809B1A0: - bl sub_809B324 - lsls r0, 24 - cmp r0, 0 - bne _0809B1CE - movs r1, 0x8E - lsls r1, 5 - adds r0, r5, r1 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim - bl sub_809B384 - b _0809B1C8 -_0809B1BE: - bl sub_809B358 - lsls r0, 24 - cmp r0, 0 - bne _0809B1CE -_0809B1C8: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_0809B1CE: - movs r0, 0x1 -_0809B1D0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809B150 - - thumb_func_start sub_809B1D8 -sub_809B1D8: @ 809B1D8 - push {r4,r5,lr} - ldr r0, _0809B1F4 - ldr r4, [r0] - ldr r0, _0809B1F8 - adds r5, r4, r0 - ldrb r0, [r5] - cmp r0, 0x1 - beq _0809B220 - cmp r0, 0x1 - bgt _0809B1FC - cmp r0, 0 - beq _0809B202 - b _0809B244 - .align 2, 0 -_0809B1F4: .4byte gUnknown_083B6DB4 -_0809B1F8: .4byte 0x000012a8 -_0809B1FC: - cmp r0, 0x2 - beq _0809B240 - b _0809B244 -_0809B202: - bl sub_809B324 - lsls r0, 24 - cmp r0, 0 - bne _0809B244 - movs r1, 0x8E - lsls r1, 5 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim - bl sub_809B3E0 - b _0809B238 -_0809B220: - bl sub_809B358 - lsls r0, 24 - cmp r0, 0 - bne _0809B244 - movs r1, 0x8E - lsls r1, 5 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim -_0809B238: - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _0809B244 -_0809B240: - movs r0, 0 - b _0809B246 -_0809B244: - movs r0, 0x1 -_0809B246: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809B1D8 - - thumb_func_start sub_809B24C -sub_809B24C: @ 809B24C - push {r4,r5,lr} - ldr r0, _0809B268 - ldr r4, [r0] - ldr r0, _0809B26C - adds r5, r4, r0 - ldrb r0, [r5] - cmp r0, 0x1 - beq _0809B2E0 - cmp r0, 0x1 - bgt _0809B270 - cmp r0, 0 - beq _0809B276 - b _0809B31C - .align 2, 0 -_0809B268: .4byte gUnknown_083B6DB4 -_0809B26C: .4byte 0x000012a8 -_0809B270: - cmp r0, 0x2 - beq _0809B318 - b _0809B31C -_0809B276: - ldr r0, _0809B290 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _0809B298 - cmp r0, 0x1 - bne _0809B318 - ldr r2, _0809B294 - adds r1, r4, r2 - movs r0, 0xE - b _0809B2A0 - .align 2, 0 -_0809B290: .4byte gUnknown_020384E4 -_0809B294: .4byte 0x000012a9 -_0809B298: - bl get_preferred_box - ldr r2, _0809B2D0 - adds r1, r4, r2 -_0809B2A0: - strb r0, [r1] - ldr r0, _0809B2D4 - ldr r4, [r0] - movs r1, 0x8E - lsls r1, 5 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim - ldr r2, _0809B2D0 - adds r0, r4, r2 - ldrb r0, [r0] - ldr r1, _0809B2D8 - ldrb r1, [r1] - bl sub_80996B0 - ldr r0, _0809B2DC - adds r4, r0 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0809B31C - .align 2, 0 -_0809B2D0: .4byte 0x000012a9 -_0809B2D4: .4byte gUnknown_083B6DB4 -_0809B2D8: .4byte gUnknown_020384E5 -_0809B2DC: .4byte 0x000012a8 -_0809B2E0: - bl sub_809971C - lsls r0, 24 - cmp r0, 0 - bne _0809B31C - movs r1, 0x8E - lsls r1, 5 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim - ldr r2, _0809B310 - adds r0, r4, r2 - ldrb r0, [r0] - ldr r1, _0809B314 - ldrb r1, [r1] - bl diegohint1 - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _0809B31C - .align 2, 0 -_0809B310: .4byte 0x000012a9 -_0809B314: .4byte gUnknown_020384E5 -_0809B318: - movs r0, 0 - b _0809B31E -_0809B31C: - movs r0, 0x1 -_0809B31E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809B24C - - thumb_func_start sub_809B324 -sub_809B324: @ 809B324 - push {lr} - ldr r0, _0809B348 - ldr r0, [r0] - movs r1, 0x8E - lsls r1, 5 - adds r0, r1 - ldr r1, [r0] - movs r2, 0x26 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0809B33E - cmp r0, 0x8 - beq _0809B34C -_0809B33E: - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _0809B350 - .align 2, 0 -_0809B348: .4byte gUnknown_083B6DB4 -_0809B34C: - movs r0, 0 - b _0809B352 -_0809B350: - movs r0, 0x1 -_0809B352: - pop {r1} - bx r1 - thumb_func_end sub_809B324 - - thumb_func_start sub_809B358 -sub_809B358: @ 809B358 - push {lr} - ldr r0, _0809B378 - ldr r0, [r0] - movs r1, 0x8E - lsls r1, 5 - adds r0, r1 - ldr r1, [r0] - movs r2, 0x26 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0809B37C - ldrh r0, [r1, 0x26] - subs r0, 0x1 - strh r0, [r1, 0x26] - movs r0, 0x1 - b _0809B37E - .align 2, 0 -_0809B378: .4byte gUnknown_083B6DB4 -_0809B37C: - movs r0, 0 -_0809B37E: - pop {r1} - bx r1 - thumb_func_end sub_809B358 - - thumb_func_start sub_809B384 -sub_809B384: @ 809B384 - push {r4,lr} - ldr r0, _0809B3AC - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _0809B3B4 - cmp r0, 0x1 - bne _0809B3D2 - ldr r4, _0809B3B0 - ldrb r1, [r4] - movs r0, 0xE - bl sub_809B44C - ldrb r1, [r4] - movs r0, 0 - bl sub_8099584 - b _0809B3CC - .align 2, 0 -_0809B3AC: .4byte gUnknown_020384E4 -_0809B3B0: .4byte gUnknown_020384E5 -_0809B3B4: - bl get_preferred_box - lsls r0, 24 - lsrs r0, 24 - ldr r4, _0809B3D8 - ldrb r1, [r4] - bl sub_809B44C - ldrb r1, [r4] - movs r0, 0x1 - bl sub_8099584 -_0809B3CC: - ldr r1, _0809B3DC - movs r0, 0x1 - strb r0, [r1] -_0809B3D2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809B3D8: .4byte gUnknown_020384E5 -_0809B3DC: .4byte gUnknown_020384E6 - thumb_func_end sub_809B384 - - thumb_func_start sub_809B3E0 -sub_809B3E0: @ 809B3E0 - push {r4,r5,lr} - ldr r0, _0809B408 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _0809B410 - cmp r0, 0x1 - bne _0809B432 - ldr r4, _0809B40C - ldrb r1, [r4] - movs r0, 0xE - bl diegohint2 - ldrb r1, [r4] - movs r0, 0xE - bl sub_809960C - b _0809B42C - .align 2, 0 -_0809B408: .4byte gUnknown_020384E4 -_0809B40C: .4byte gUnknown_020384E5 -_0809B410: - bl get_preferred_box - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _0809B438 - ldrb r1, [r5] - adds r0, r4, 0 - bl diegohint2 - ldrb r1, [r5] - adds r0, r4, 0 - bl sub_809960C -_0809B42C: - ldr r1, _0809B43C - movs r0, 0 - strb r0, [r1] -_0809B432: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809B438: .4byte gUnknown_020384E5 -_0809B43C: .4byte gUnknown_020384E6 - thumb_func_end sub_809B3E0 - - thumb_func_start sub_809B440 -sub_809B440: @ 809B440 - push {lr} - bl sub_809BF74 - pop {r0} - bx r0 - thumb_func_end sub_809B440 - - thumb_func_start sub_809B44C -sub_809B44C: @ 809B44C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r4, 0xE - bne _0809B488 - ldr r0, _0809B478 - ldr r0, [r0] - ldr r1, _0809B47C - adds r0, r1 - ldr r3, _0809B480 - ldr r1, _0809B484 - movs r2, 0 - ldrsb r2, [r1, r2] - movs r1, 0x64 - muls r1, r2 - adds r1, r3 - movs r2, 0x64 - bl memcpy - b _0809B4AA - .align 2, 0 -_0809B478: .4byte gUnknown_083B6DB4 -_0809B47C: .4byte 0x000025b4 -_0809B480: .4byte gPlayerParty -_0809B484: .4byte gUnknown_020384E5 -_0809B488: - lsls r1, r4, 2 - adds r1, r4 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 4 - ldr r2, _0809B4C0 - adds r1, r2 - adds r0, r1 - ldr r1, _0809B4C4 - ldr r1, [r1] - ldr r2, _0809B4C8 - adds r1, r2 - bl sub_803B4B4 -_0809B4AA: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_809B548 - ldr r0, _0809B4CC - strb r4, [r0] - ldr r0, _0809B4D0 - strb r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809B4C0: .4byte gUnknown_020300A4 -_0809B4C4: .4byte gUnknown_083B6DB4 -_0809B4C8: .4byte 0x000025b4 -_0809B4CC: .4byte gUnknown_020384E7 -_0809B4D0: .4byte gUnknown_020384E8 - thumb_func_end sub_809B44C - - thumb_func_start diegohint2 -diegohint2: @ 809B4D4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r6, 0xE - bne _0809B508 - ldr r1, _0809B4FC - movs r0, 0x64 - muls r0, r5 - adds r0, r1 - ldr r1, _0809B500 - ldr r1, [r1] - ldr r2, _0809B504 - adds r1, r2 - movs r2, 0x64 - bl memcpy - b _0809B536 - .align 2, 0 -_0809B4FC: .4byte gPlayerParty -_0809B500: .4byte gUnknown_083B6DB4 -_0809B504: .4byte 0x000025b4 -_0809B508: - ldr r0, _0809B53C - ldr r4, [r0] - ldr r0, _0809B540 - adds r4, r0 - adds r0, r4, 0 - bl pokemon_restore_pp - ldr r3, _0809B544 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 4 - lsls r2, r6, 2 - adds r2, r6 - lsls r1, r2, 4 - subs r1, r2 - lsls r1, 5 - adds r0, r1 - adds r0, r3 - adds r0, 0x4 - adds r1, r4, 0 - movs r2, 0x50 - bl memcpy -_0809B536: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809B53C: .4byte gUnknown_083B6DB4 -_0809B540: .4byte 0x000025b4 -_0809B544: .4byte gPokemonStorage - thumb_func_end diegohint2 - - thumb_func_start sub_809B548 -sub_809B548: @ 809B548 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - cmp r0, 0xE - bne _0809B568 - movs r0, 0x64 - muls r0, r2 - ldr r1, _0809B564 - adds r0, r1 - bl ZeroMonData - b _0809B582 - .align 2, 0 -_0809B564: .4byte gPlayerParty -_0809B568: - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 4 - ldr r2, _0809B588 - adds r1, r2 - adds r0, r1 - bl ZeroBoxMonData -_0809B582: - pop {r0} - bx r0 - .align 2, 0 -_0809B588: .4byte gUnknown_020300A4 - thumb_func_end sub_809B548 - - thumb_func_start diegohint1 -diegohint1: @ 809B58C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r5, 0xE - bne _0809B5C0 - ldr r0, _0809B5B4 - ldr r0, [r0] - ldr r1, _0809B5B8 - adds r0, r1 - ldr r2, _0809B5BC - movs r1, 0x64 - muls r1, r6 - adds r1, r2 - movs r2, 0x64 - bl memcpy - b _0809B5E2 - .align 2, 0 -_0809B5B4: .4byte gUnknown_083B6DB4 -_0809B5B8: .4byte 0x00002618 -_0809B5BC: .4byte gPlayerParty -_0809B5C0: - lsls r1, r5, 2 - adds r1, r5 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 4 - ldr r2, _0809B614 - adds r1, r2 - adds r0, r1 - ldr r1, _0809B618 - ldr r1, [r1] - ldr r2, _0809B61C - adds r1, r2 - bl sub_803B4B4 -_0809B5E2: - adds r0, r5, 0 - adds r1, r6, 0 - bl diegohint2 - ldr r0, _0809B618 - ldr r1, [r0] - ldr r0, _0809B620 - adds r4, r1, r0 - ldr r2, _0809B61C - adds r1, r2 - adds r0, r4, 0 - movs r2, 0x64 - bl memcpy - adds r0, r4, 0 - movs r1, 0 - bl sub_809C04C - ldr r0, _0809B624 - strb r5, [r0] - ldr r0, _0809B628 - strb r6, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809B614: .4byte gUnknown_020300A4 -_0809B618: .4byte gUnknown_083B6DB4 -_0809B61C: .4byte 0x00002618 -_0809B620: .4byte 0x000025b4 -_0809B624: .4byte gUnknown_020384E7 -_0809B628: .4byte gUnknown_020384E8 - thumb_func_end diegohint1 - - thumb_func_start sub_809B62C -sub_809B62C: @ 809B62C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - bl sub_8095B24 - lsls r0, 16 - lsrs r4, r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0809B64A - movs r0, 0 - b _0809B6AC -_0809B64A: - ldr r5, _0809B668 - ldrb r0, [r5] - cmp r0, 0 - beq _0809B66C - lsls r4, 24 - lsrs r1, r4, 24 - adds r0, r6, 0 - bl diegohint2 - bl sub_8099480 - movs r0, 0 - strb r0, [r5] - b _0809B686 - .align 2, 0 -_0809B668: .4byte gUnknown_020384E6 -_0809B66C: - ldr r5, _0809B6B4 - ldrb r1, [r5] - movs r0, 0xE - bl sub_809B44C - lsls r4, 24 - lsrs r1, r4, 24 - adds r0, r6, 0 - bl diegohint2 - ldrb r0, [r5] - bl sub_8099520 -_0809B686: - bl get_preferred_box - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bne _0809B698 - lsrs r0, r4, 24 - bl sub_8098D20 -_0809B698: - ldr r0, _0809B6B8 - ldr r0, [r0] - movs r1, 0x8E - lsls r1, 5 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0x1 -_0809B6AC: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809B6B4: .4byte gUnknown_020384E5 -_0809B6B8: .4byte gUnknown_083B6DB4 - thumb_func_end sub_809B62C - - thumb_func_start sub_809B6BC -sub_809B6BC: @ 809B6BC - push {lr} - ldr r0, _0809B6D8 - ldr r0, [r0] - movs r1, 0x8E - lsls r1, 5 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - bl sub_809BF74 - pop {r0} - bx r0 - .align 2, 0 -_0809B6D8: .4byte gUnknown_083B6DB4 - thumb_func_end sub_809B6BC - - thumb_func_start sub_809B6DC -sub_809B6DC: @ 809B6DC - push {lr} - ldr r0, _0809B6EC - ldrb r0, [r0] - cmp r0, 0 - beq _0809B6F0 - movs r2, 0x2 - b _0809B700 - .align 2, 0 -_0809B6EC: .4byte gUnknown_020384E6 -_0809B6F0: - ldr r0, _0809B720 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r2, 0x1 - eors r1, r2 - negs r0, r1 - orrs r0, r1 - lsrs r2, r0, 31 -_0809B700: - ldr r0, _0809B724 - ldrb r1, [r0] - adds r0, r2, 0 - bl sub_809981C - ldr r0, _0809B728 - ldr r1, [r0] - ldr r2, _0809B72C - adds r0, r1, r2 - ldr r2, _0809B730 - adds r1, r2 - bl StringCopy - pop {r0} - bx r0 - .align 2, 0 -_0809B720: .4byte gUnknown_020384E4 -_0809B724: .4byte gUnknown_020384E5 -_0809B728: .4byte gUnknown_083B6DB4 -_0809B72C: .4byte 0x000026e4 -_0809B730: .4byte 0x000011fa - thumb_func_end sub_809B6DC - - thumb_func_start sub_809B734 -sub_809B734: @ 809B734 - push {lr} - bl sub_80998D8 - lsls r0, 24 - cmp r0, 0 - beq _0809B744 - movs r0, 0x1 - b _0809B758 -_0809B744: - ldr r0, _0809B75C - ldr r0, [r0] - movs r1, 0x8E - lsls r1, 5 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - movs r0, 0 -_0809B758: - pop {r1} - bx r1 - .align 2, 0 -_0809B75C: .4byte gUnknown_083B6DB4 - thumb_func_end sub_809B734 - - thumb_func_start sub_809B760 -sub_809B760: @ 809B760 - push {lr} - bl sub_8099920 - ldr r1, _0809B774 - ldrb r0, [r1] - cmp r0, 0 - beq _0809B778 - movs r0, 0 - strb r0, [r1] - b _0809B79E - .align 2, 0 -_0809B774: .4byte gUnknown_020384E6 -_0809B778: - ldr r0, _0809B788 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _0809B78C - movs r2, 0xE - b _0809B794 - .align 2, 0 -_0809B788: .4byte gUnknown_020384E4 -_0809B78C: - bl get_preferred_box - lsls r0, 24 - lsrs r2, r0, 24 -_0809B794: - ldr r0, _0809B7A8 - ldrb r1, [r0] - adds r0, r2, 0 - bl sub_809B548 -_0809B79E: - bl sub_809BF74 - pop {r0} - bx r0 - .align 2, 0 -_0809B7A8: .4byte gUnknown_020384E5 - thumb_func_end sub_809B760 - - thumb_func_start sub_809B7AC -sub_809B7AC: @ 809B7AC - push {lr} - ldr r0, _0809B7CC - ldrb r0, [r0] - cmp r0, 0 - beq _0809B7C8 - ldr r0, _0809B7D0 - ldr r0, [r0] - movs r1, 0x8E - lsls r1, 5 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim -_0809B7C8: - pop {r0} - bx r0 - .align 2, 0 -_0809B7CC: .4byte gUnknown_020384E6 -_0809B7D0: .4byte gUnknown_083B6DB4 - thumb_func_end sub_809B7AC - - thumb_func_start sub_809B7D4 -sub_809B7D4: @ 809B7D4 - push {r4-r6,lr} - ldr r0, _0809B804 - ldrb r0, [r0] - cmp r0, 0 - beq _0809B81C - ldr r0, _0809B808 - ldr r4, [r0] - ldr r1, _0809B80C - adds r0, r4, r1 - ldr r2, _0809B810 - adds r1, r4, r2 - movs r2, 0x64 - bl memcpy - ldr r0, _0809B814 - adds r1, r4, r0 - movs r0, 0xFF - strb r0, [r1] - ldr r1, _0809B818 - adds r4, r1 - movs r0, 0x1 - negs r0, r0 - strb r0, [r4] - b _0809B8A6 - .align 2, 0 -_0809B804: .4byte gUnknown_020384E6 -_0809B808: .4byte gUnknown_083B6DB4 -_0809B80C: .4byte 0x00002618 -_0809B810: .4byte 0x000025b4 -_0809B814: .4byte 0x00002682 -_0809B818: .4byte 0x00002683 -_0809B81C: - ldr r0, _0809B84C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _0809B864 - ldr r0, _0809B850 - ldr r4, [r0] - ldr r2, _0809B854 - adds r0, r4, r2 - ldr r3, _0809B858 - ldr r1, _0809B85C - movs r2, 0 - ldrsb r2, [r1, r2] - movs r1, 0x64 - muls r1, r2 - adds r1, r3 - movs r2, 0x64 - bl memcpy - ldr r0, _0809B860 - adds r4, r0 - movs r0, 0xE - b _0809B896 - .align 2, 0 -_0809B84C: .4byte gUnknown_020384E4 -_0809B850: .4byte gUnknown_083B6DB4 -_0809B854: .4byte 0x00002618 -_0809B858: .4byte gPlayerParty -_0809B85C: .4byte gUnknown_020384E5 -_0809B860: .4byte 0x00002682 -_0809B864: - ldr r5, _0809B8FC - ldrb r0, [r5] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - ldr r1, _0809B900 - movs r2, 0 - ldrsb r2, [r1, r2] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 4 - adds r2, r5, 0x4 - adds r1, r2 - adds r0, r1 - ldr r1, _0809B904 - ldr r4, [r1] - ldr r2, _0809B908 - adds r1, r4, r2 - bl sub_803B4B4 - ldrb r0, [r5] - ldr r1, _0809B90C - adds r4, r1 -_0809B896: - strb r0, [r4] - ldr r0, _0809B904 - ldr r0, [r0] - ldr r1, _0809B900 - ldrb r1, [r1] - ldr r2, _0809B910 - adds r0, r2 - strb r1, [r0] -_0809B8A6: - ldr r0, _0809B904 - ldr r6, [r0] - ldr r0, _0809B914 - adds r4, r6, r0 - movs r0, 0 - strb r0, [r4] - ldr r1, _0809B918 - adds r5, r6, r1 - strb r0, [r5] - ldr r0, _0809B91C - adds r2, r6, r0 - movs r0, 0x39 - strh r0, [r2] - ldr r0, _0809B920 - adds r1, r6, r0 - ldr r0, _0809B924 - strh r0, [r1] - ldr r0, _0809B928 - adds r1, r6, r0 - ldr r0, _0809B92C - strh r0, [r1] - ldr r1, _0809B908 - adds r0, r6, r1 - movs r1, 0x50 - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - movs r2, 0x1 - ands r1, r2 - strb r1, [r4] - lsrs r0, 17 - movs r1, 0x1 - ands r0, r1 - strb r0, [r5] - ldrh r0, [r4] - cmp r0, 0 - beq _0809B934 - ldr r2, _0809B930 - adds r1, r6, r2 - movs r0, 0 - strb r0, [r1] - b _0809B940 - .align 2, 0 -_0809B8FC: .4byte gPokemonStorage -_0809B900: .4byte gUnknown_020384E5 -_0809B904: .4byte gUnknown_083B6DB4 -_0809B908: .4byte 0x00002618 -_0809B90C: .4byte 0x00002682 -_0809B910: .4byte 0x00002683 -_0809B914: .4byte 0x0000267e -_0809B918: .4byte 0x0000267f -_0809B91C: .4byte 0x00002686 -_0809B920: .4byte 0x00002688 -_0809B924: .4byte 0x00000123 -_0809B928: .4byte 0x0000268a -_0809B92C: .4byte 0x00000163 -_0809B930: .4byte 0x0000267d -_0809B934: - ldr r2, _0809B954 - adds r0, r6, r2 - strb r1, [r0] - subs r2, 0x1 - adds r0, r6, r2 - strb r1, [r0] -_0809B940: - ldr r0, _0809B958 - ldr r0, [r0] - ldr r1, _0809B95C - adds r0, r1 - movs r1, 0 - strh r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809B954: .4byte 0x0000267d -_0809B958: .4byte gUnknown_083B6DB4 -_0809B95C: .4byte 0x00002684 - thumb_func_end sub_809B7D4 - - thumb_func_start sub_809B960 -sub_809B960: @ 809B960 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0809B988 - ldr r2, [r0] - ldr r3, _0809B98C - adds r1, r2, r3 - ldrb r1, [r1] - mov r12, r0 - cmp r1, 0 - beq _0809B994 - ldr r7, _0809B990 - adds r0, r2, r7 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - b _0809BB5C - .align 2, 0 -_0809B988: .4byte gUnknown_083B6DB4 -_0809B98C: .4byte 0x0000267d -_0809B990: .4byte 0x0000267c -_0809B994: - ldr r1, _0809B9A4 - adds r0, r2, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _0809B9A8 - cmp r0, 0x1 - beq _0809BA84 - b _0809BB58 - .align 2, 0 -_0809B9A4: .4byte 0x00002684 -_0809B9A8: - movs r5, 0 - movs r6, 0 -_0809B9AC: - mov r2, r12 - ldr r4, [r2] - ldr r3, _0809BA28 - adds r0, r4, r3 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xE - bne _0809B9CC - ldr r7, _0809BA2C - adds r0, r4, r7 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, r5 - beq _0809BA02 -_0809B9CC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0809BA30 - adds r0, r1 - ldr r1, _0809BA34 - adds r2, r4, r1 - movs r1, 0x50 - bl GetMonData - lsls r0, 16 - lsrs r3, r0, 16 - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0809B9F0 - ldr r2, _0809BA38 - adds r0, r4, r2 - strb r6, [r0] -_0809B9F0: - movs r0, 0x2 - ands r3, r0 - ldr r7, _0809BA3C - mov r12, r7 - cmp r3, 0 - beq _0809BA02 - ldr r1, _0809BA40 - adds r0, r4, r1 - strb r6, [r0] -_0809BA02: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _0809B9AC - mov r3, r12 - ldr r2, [r3] - ldr r7, _0809BA38 - adds r0, r2, r7 - ldrh r0, [r0] - cmp r0, 0 - bne _0809BA4C - ldr r1, _0809BA44 - adds r0, r2, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r3, _0809BA48 - b _0809BB54 - .align 2, 0 -_0809BA28: .4byte 0x00002682 -_0809BA2C: .4byte 0x00002683 -_0809BA30: .4byte gPlayerParty -_0809BA34: .4byte 0x00002686 -_0809BA38: .4byte 0x0000267e -_0809BA3C: .4byte gUnknown_083B6DB4 -_0809BA40: .4byte 0x0000267f -_0809BA44: .4byte 0x0000267d -_0809BA48: .4byte 0x0000267c -_0809BA4C: - movs r7, 0x9A - lsls r7, 6 - adds r0, r2, r7 - movs r1, 0 - strb r1, [r0] - ldr r3, _0809BA68 - adds r0, r2, r3 - strb r1, [r0] - adds r7, 0x4 - adds r1, r2, r7 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0809BB58 - .align 2, 0 -_0809BA68: .4byte 0x00002681 -_0809BA6C: - ldr r1, _0809BA7C - adds r0, r2, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r7, _0809BA80 - adds r0, r2, r7 - strb r3, [r0] - b _0809BB3C - .align 2, 0 -_0809BA7C: .4byte 0x0000267d -_0809BA80: .4byte 0x0000267c -_0809BA84: - movs r5, 0 - mov r9, r12 - adds r4, r2, 0 - movs r0, 0x9A - lsls r0, 6 - adds r6, r4, r0 - ldr r1, _0809BB6C - adds r1, r4 - mov r8, r1 - ldr r2, _0809BB70 - mov r10, r2 -_0809BA9A: - movs r0, 0 - ldrsb r0, [r6, r0] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - ldr r3, _0809BB74 - adds r1, r4, r3 - movs r2, 0 - ldrsb r2, [r1, r2] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 4 - ldr r2, _0809BB78 - adds r1, r2 - adds r0, r1 - movs r1, 0x50 - ldr r7, _0809BB7C - adds r2, r4, r7 - bl GetBoxMonData - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _0809BB00 - ldr r1, _0809BB80 - adds r0, r4, r1 - ldrh r0, [r0] - ldrh r2, [r6] - mov r1, r10 - ands r1, r0 - mov r0, r10 - ands r0, r2 - cmp r1, r0 - beq _0809BB00 - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0809BAF2 - ldr r2, _0809BB84 - adds r1, r4, r2 - movs r0, 0 - strb r0, [r1] -_0809BAF2: - movs r0, 0x2 - ands r3, r0 - cmp r3, 0 - beq _0809BB00 - movs r0, 0 - mov r3, r8 - strb r0, [r3] -_0809BB00: - mov r7, r9 - ldr r2, [r7] - ldr r0, _0809BB74 - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - movs r3, 0 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - ldr r7, _0809BB88 - mov r12, r7 - cmp r0, 0x1D - ble _0809BB32 - strb r3, [r1] - movs r0, 0x9A - lsls r0, 6 - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xD - bgt _0809BA6C -_0809BB32: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x4 - bls _0809BA9A -_0809BB3C: - mov r1, r12 - ldr r2, [r1] - ldr r3, _0809BB84 - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, 0 - bne _0809BB58 - ldr r7, _0809BB8C - adds r0, r2, r7 - movs r1, 0x1 - strb r1, [r0] - subs r3, 0x2 -_0809BB54: - adds r0, r2, r3 - strb r1, [r0] -_0809BB58: - movs r0, 0x1 - negs r0, r0 -_0809BB5C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0809BB6C: .4byte 0x0000267f -_0809BB70: .4byte 0x0000ffff -_0809BB74: .4byte 0x00002681 -_0809BB78: .4byte gUnknown_020300A4 -_0809BB7C: .4byte 0x00002686 -_0809BB80: .4byte 0x00002682 -_0809BB84: .4byte 0x0000267e -_0809BB88: .4byte gUnknown_083B6DB4 -_0809BB8C: .4byte 0x0000267d - thumb_func_end sub_809B960 - - thumb_func_start sub_809BB90 -sub_809BB90: @ 809BB90 - push {lr} - ldr r0, _0809BBB0 - ldrb r0, [r0] - cmp r0, 0 - beq _0809BBAA - ldr r0, _0809BBB4 - ldr r1, _0809BBB8 - ldr r1, [r1] - ldr r2, _0809BBBC - adds r1, r2 - movs r2, 0x64 - bl memcpy -_0809BBAA: - pop {r0} - bx r0 - .align 2, 0 -_0809BBB0: .4byte gUnknown_020384E6 -_0809BBB4: .4byte gUnknown_02038480 -_0809BBB8: .4byte gUnknown_083B6DB4 -_0809BBBC: .4byte 0x000025b4 - thumb_func_end sub_809BB90 - - thumb_func_start sub_809BBC0 -sub_809BBC0: @ 809BBC0 - push {lr} - ldr r0, _0809BBE4 - ldrb r0, [r0] - cmp r0, 0 - beq _0809BC08 - ldr r0, _0809BBE8 - ldrb r0, [r0] - cmp r0, 0xE - bne _0809BBF8 - ldr r0, _0809BBEC - ldr r0, [r0] - ldr r1, _0809BBF0 - adds r0, r1 - ldr r1, _0809BBF4 - movs r2, 0x64 - bl memcpy - b _0809BC08 - .align 2, 0 -_0809BBE4: .4byte gUnknown_020384E6 -_0809BBE8: .4byte gUnknown_020384E7 -_0809BBEC: .4byte gUnknown_083B6DB4 -_0809BBF0: .4byte 0x000025b4 -_0809BBF4: .4byte gUnknown_02038480 -_0809BBF8: - ldr r0, _0809BC0C - ldr r0, [r0] - ldr r1, _0809BC10 - adds r0, r1 - ldr r1, _0809BC14 - movs r2, 0x50 - bl memcpy -_0809BC08: - pop {r0} - bx r0 - .align 2, 0 -_0809BC0C: .4byte gUnknown_083B6DB4 -_0809BC10: .4byte 0x000025b4 -_0809BC14: .4byte gUnknown_02038480 - thumb_func_end sub_809BBC0 - - thumb_func_start sub_809BC18 -sub_809BC18: @ 809BC18 - push {r4,r5,lr} - ldr r0, _0809BC48 - ldrb r5, [r0] - cmp r5, 0 - beq _0809BC64 - bl sub_809BB90 - ldr r0, _0809BC4C - ldr r2, [r0] - ldr r0, _0809BC50 - adds r1, r2, r0 - ldr r0, _0809BC54 - str r0, [r1] - ldr r1, _0809BC58 - adds r0, r2, r1 - movs r1, 0 - strb r1, [r0] - ldr r3, _0809BC5C - adds r0, r2, r3 - strb r1, [r0] - ldr r0, _0809BC60 - adds r2, r0 - strb r1, [r2] - b _0809BCF2 - .align 2, 0 -_0809BC48: .4byte gUnknown_020384E6 -_0809BC4C: .4byte gUnknown_083B6DB4 -_0809BC50: .4byte 0x00002690 -_0809BC54: .4byte gUnknown_02038480 -_0809BC58: .4byte 0x0000268d -_0809BC5C: .4byte 0x0000268c -_0809BC60: .4byte 0x0000268e -_0809BC64: - ldr r0, _0809BC9C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _0809BCBC - ldr r0, _0809BCA0 - ldr r4, [r0] - ldr r2, _0809BCA4 - adds r1, r4, r2 - ldr r0, _0809BCA8 - str r0, [r1] - ldr r0, _0809BCAC - ldrb r1, [r0] - ldr r3, _0809BCB0 - adds r0, r4, r3 - strb r1, [r0] - bl sub_8095C28 - subs r0, 0x1 - ldr r2, _0809BCB4 - adds r1, r4, r2 - strb r0, [r1] - ldr r3, _0809BCB8 - adds r4, r3 - strb r5, [r4] - b _0809BCF2 - .align 2, 0 -_0809BC9C: .4byte gUnknown_020384E4 -_0809BCA0: .4byte gUnknown_083B6DB4 -_0809BCA4: .4byte 0x00002690 -_0809BCA8: .4byte gPlayerParty -_0809BCAC: .4byte gUnknown_020384E5 -_0809BCB0: .4byte 0x0000268d -_0809BCB4: .4byte 0x0000268c -_0809BCB8: .4byte 0x0000268e -_0809BCBC: - ldr r0, _0809BCF8 - ldr r3, [r0] - ldr r0, _0809BCFC - adds r4, r3, r0 - ldr r2, _0809BD00 - ldrb r0, [r2] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - adds r2, 0x4 - adds r0, r2 - str r0, [r4] - ldr r0, _0809BD04 - ldrb r1, [r0] - ldr r2, _0809BD08 - adds r0, r3, r2 - strb r1, [r0] - ldr r0, _0809BD0C - adds r1, r3, r0 - movs r0, 0x1D - strb r0, [r1] - ldr r1, _0809BD10 - adds r3, r1 - movs r0, 0x5 - strb r0, [r3] -_0809BCF2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809BCF8: .4byte gUnknown_083B6DB4 -_0809BCFC: .4byte 0x00002690 -_0809BD00: .4byte gPokemonStorage -_0809BD04: .4byte gUnknown_020384E5 -_0809BD08: .4byte 0x0000268d -_0809BD0C: .4byte 0x0000268c -_0809BD10: .4byte 0x0000268e - thumb_func_end sub_809BC18 - - thumb_func_start sub_809BD14 -sub_809BD14: @ 809BD14 - push {lr} - ldr r0, _0809BD24 - ldrb r0, [r0] - cmp r0, 0 - beq _0809BD28 - bl sub_809BBC0 - b _0809BD30 - .align 2, 0 -_0809BD24: .4byte gUnknown_020384E6 -_0809BD28: - ldr r0, _0809BD34 - ldr r1, _0809BD38 - ldrb r1, [r1, 0x9] - strb r1, [r0] -_0809BD30: - pop {r0} - bx r0 - .align 2, 0 -_0809BD34: .4byte gUnknown_020384E5 -_0809BD38: .4byte 0x02018000 - thumb_func_end sub_809BD14 - - thumb_func_start party_compaction -party_compaction: @ 809BD3C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r7, _0809BD88 - movs r6, 0 - movs r5, 0 - movs r0, 0x64 - mov r9, r0 - ldr r1, _0809BD8C - mov r8, r1 - subs r0, 0x65 - mov r10, r0 -_0809BD58: - mov r0, r9 - muls r0, r6 - mov r1, r8 - adds r4, r0, r1 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - cmp r0, 0 - beq _0809BD90 - cmp r6, r5 - beq _0809BD80 - mov r0, r9 - muls r0, r5 - add r0, r8 - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy -_0809BD80: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - b _0809BD9A - .align 2, 0 -_0809BD88: .4byte 0x0000ffff -_0809BD8C: .4byte gPlayerParty -_0809BD90: - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, r10 - bne _0809BD9A - adds r7, r6, 0 -_0809BD9A: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _0809BD58 - lsls r7, 16 - cmp r5, 0x5 - bhi _0809BDC2 - movs r6, 0x64 - ldr r4, _0809BDD4 -_0809BDAE: - adds r0, r5, 0 - muls r0, r6 - adds r0, r4 - bl ZeroMonData - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _0809BDAE -_0809BDC2: - asrs r0, r7, 16 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0809BDD4: .4byte gPlayerParty - thumb_func_end party_compaction - - thumb_func_start sub_809BDD8 -sub_809BDD8: @ 809BDD8 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - ldr r1, _0809BE04 - ldr r2, [r1] - ldr r3, _0809BE08 - adds r1, r2, r3 - strb r0, [r1] - ldr r0, _0809BE0C - ldrb r0, [r0] - cmp r0, 0 - beq _0809BE14 - ldr r1, _0809BE10 - adds r0, r2, r1 - movs r1, 0x8 - mov r2, sp - bl SetMonData - b _0809BE68 - .align 2, 0 -_0809BE04: .4byte gUnknown_083B6DB4 -_0809BE08: .4byte 0x000011f7 -_0809BE0C: .4byte gUnknown_020384E6 -_0809BE10: .4byte 0x000025b4 -_0809BE14: - ldr r4, _0809BE70 - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0x1 - bne _0809BE34 - ldr r0, _0809BE74 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0809BE78 - adds r0, r1 - movs r1, 0x8 - mov r2, sp - bl SetMonData -_0809BE34: - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - bne _0809BE68 - bl get_preferred_box - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - ldr r1, _0809BE74 - movs r2, 0 - ldrsb r2, [r1, r2] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 4 - ldr r2, _0809BE7C - adds r1, r2 - adds r0, r1 - movs r1, 0x8 - mov r2, sp - bl SetBoxMonData -_0809BE68: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809BE70: .4byte gUnknown_020384E4 -_0809BE74: .4byte gUnknown_020384E5 -_0809BE78: .4byte gPlayerParty -_0809BE7C: .4byte gUnknown_020300A4 - thumb_func_end sub_809BDD8 - - thumb_func_start sub_809BE80 -sub_809BE80: @ 809BE80 - push {lr} - ldr r0, _0809BEA8 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _0809BEB4 - ldr r0, _0809BEAC - ldrb r0, [r0] - cmp r0, 0 - bne _0809BEB4 - ldr r0, _0809BEB0 - ldrb r0, [r0] - bl sub_8095BB4 - lsls r0, 24 - cmp r0, 0 - bne _0809BEB4 - movs r0, 0x1 - b _0809BEB6 - .align 2, 0 -_0809BEA8: .4byte gUnknown_020384E4 -_0809BEAC: .4byte gUnknown_020384E6 -_0809BEB0: .4byte gUnknown_020384E5 -_0809BEB4: - movs r0, 0 -_0809BEB6: - pop {r1} - bx r1 - thumb_func_end sub_809BE80 - - thumb_func_start sub_809BEBC -sub_809BEBC: @ 809BEBC - push {lr} - ldr r0, _0809BF00 - ldrb r0, [r0] - cmp r0, 0 - beq _0809BF18 - ldr r0, _0809BF04 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _0809BEFC - ldr r0, _0809BF08 - ldrb r0, [r0] - bl sub_8095BB4 - lsls r0, 24 - cmp r0, 0 - bne _0809BEFC - ldr r0, _0809BF0C - ldr r1, [r0] - ldr r2, _0809BF10 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0809BF18 - ldr r2, _0809BF14 - adds r0, r1, r2 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0809BF18 -_0809BEFC: - movs r0, 0x1 - b _0809BF1A - .align 2, 0 -_0809BF00: .4byte gUnknown_020384E6 -_0809BF04: .4byte gUnknown_020384E4 -_0809BF08: .4byte gUnknown_020384E5 -_0809BF0C: .4byte gUnknown_083B6DB4 -_0809BF10: .4byte 0x000011f9 -_0809BF14: .4byte 0x000025b4 -_0809BF18: - movs r0, 0 -_0809BF1A: - pop {r1} - bx r1 - thumb_func_end sub_809BEBC - - thumb_func_start sub_809BF20 -sub_809BF20: @ 809BF20 - ldr r0, _0809BF28 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0809BF28: .4byte gUnknown_020384E6 - thumb_func_end sub_809BF20 - - thumb_func_start sub_809BF2C -sub_809BF2C: @ 809BF2C - push {lr} - movs r1, 0 - ldr r0, _0809BF44 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x2 - bne _0809BF3E - movs r1, 0x1 -_0809BF3E: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809BF44: .4byte gUnknown_020384E4 - thumb_func_end sub_809BF2C - - thumb_func_start sub_809BF48 -sub_809BF48: @ 809BF48 - push {lr} - movs r1, 0 - ldr r0, _0809BF6C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bne _0809BF66 - ldr r0, _0809BF70 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _0809BF66 - movs r1, 0x1 -_0809BF66: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809BF6C: .4byte gUnknown_020384E4 -_0809BF70: .4byte gUnknown_020384E5 - thumb_func_end sub_809BF48 - - thumb_func_start sub_809BF74 -sub_809BF74: @ 809BF74 - push {r4,lr} - ldr r0, _0809BFA8 - ldr r1, [r0] - movs r2, 0 - ldr r3, _0809BFAC - ldrb r0, [r3] - cmp r0, 0 - bne _0809BF86 - movs r2, 0x1 -_0809BF86: - ldr r4, _0809BFB0 - adds r0, r1, r4 - strb r2, [r0] - ldrb r0, [r3] - cmp r0, 0 - bne _0809C018 - ldr r0, _0809BFB4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _0809BFBE - cmp r0, 0x1 - bgt _0809BFB8 - cmp r0, 0 - beq _0809BFEE - b _0809C018 - .align 2, 0 -_0809BFA8: .4byte gUnknown_083B6DB4 -_0809BFAC: .4byte gUnknown_020384E6 -_0809BFB0: .4byte 0x000011f6 -_0809BFB4: .4byte gUnknown_020384E4 -_0809BFB8: - cmp r0, 0x3 - bgt _0809C018 - b _0809BFE4 -_0809BFBE: - ldr r1, _0809BFDC - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0x5 - bgt _0809BFE4 - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, _0809BFE0 - adds r0, r1 - movs r1, 0 - bl sub_809C04C - b _0809C018 - .align 2, 0 -_0809BFDC: .4byte gUnknown_020384E5 -_0809BFE0: .4byte gPlayerParty -_0809BFE4: - movs r0, 0 - movs r1, 0x2 - bl sub_809C04C - b _0809C018 -_0809BFEE: - bl get_preferred_box - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - ldr r1, _0809C020 - movs r2, 0 - ldrsb r2, [r1, r2] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 4 - ldr r2, _0809C024 - adds r1, r2 - adds r0, r1 - movs r1, 0x1 - bl sub_809C04C -_0809C018: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809C020: .4byte gUnknown_020384E5 -_0809C024: .4byte gUnknown_020300A4 - thumb_func_end sub_809BF74 - - thumb_func_start sub_809C028 -sub_809C028: @ 809C028 - push {lr} - ldr r0, _0809C03C - ldrb r0, [r0] - cmp r0, 0 - beq _0809C044 - ldr r0, _0809C040 - movs r1, 0 - bl sub_809C04C - b _0809C048 - .align 2, 0 -_0809C03C: .4byte gUnknown_020384E6 -_0809C040: .4byte gUnknown_02038480 -_0809C044: - bl sub_809BF74 -_0809C048: - pop {r0} - bx r0 - thumb_func_end sub_809C028 - - thumb_func_start sub_809C04C -sub_809C04C: @ 809C04C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - str r0, [sp] - ldr r0, _0809C0FC - ldr r6, [r0] - ldr r2, _0809C100 - adds r2, r6 - mov r8, r2 - mov r0, sp - ldrh r0, [r0] - strh r0, [r2] - cmp r1, 0 - bne _0809C120 - adds r0, r7, 0 - movs r1, 0x41 - bl GetMonData - ldr r2, _0809C104 - adds r1, r6, r2 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _0809C08C - b _0809C1EC -_0809C08C: - adds r0, r7, 0 - movs r1, 0x2D - bl GetMonData - ldr r2, _0809C108 - adds r1, r6, r2 - strb r0, [r1] - ldr r0, _0809C10C - adds r4, r6, r0 - adds r0, r7, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl GetMonData - adds r0, r4, 0 - bl StringGetEnd10 - adds r0, r7, 0 - movs r1, 0x38 - bl GetMonData - ldr r2, _0809C110 - adds r1, r6, r2 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x8 - bl GetMonData - ldr r2, _0809C114 - adds r1, r6, r2 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0 - bl GetMonData - ldr r2, _0809C118 - adds r1, r6, r2 - str r0, [r1] - adds r0, r7, 0 - bl pokemon_get_pal - ldr r2, _0809C11C - adds r1, r6, r2 - str r0, [r1] - adds r0, r7, 0 - bl GetMonGender - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - adds r0, r7, 0 - movs r1, 0xC - bl GetMonData - b _0809C1B2 - .align 2, 0 -_0809C0FC: .4byte gUnknown_083B6DB4 -_0809C100: .4byte 0x000011f2 -_0809C104: .4byte 0x000011f0 -_0809C108: .4byte 0x000011f9 -_0809C10C: .4byte 0x000011fa -_0809C110: .4byte 0x000011f8 -_0809C114: .4byte 0x000011f7 -_0809C118: .4byte 0x000011ec -_0809C11C: .4byte 0x000011e8 -_0809C120: - cmp r1, 0x1 - bne _0809C1D4 - adds r0, r7, 0 - movs r1, 0x41 - bl GetBoxMonData - ldr r2, _0809C1B8 - adds r5, r6, r2 - strh r0, [r5] - lsls r0, 16 - cmp r0, 0 - beq _0809C1EC - adds r0, r7, 0 - movs r1, 0x1 - bl GetBoxMonData - mov r9, r0 - adds r0, r7, 0 - movs r1, 0x2D - bl GetBoxMonData - ldr r2, _0809C1BC - adds r1, r6, r2 - strb r0, [r1] - ldr r0, _0809C1C0 - adds r4, r6, r0 - adds r0, r7, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl GetBoxMonData - adds r0, r4, 0 - bl StringGetEnd10 - adds r0, r7, 0 - bl GetLevelFromBoxMonExp - ldr r2, _0809C1C4 - adds r1, r6, r2 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x8 - bl GetBoxMonData - ldr r2, _0809C1C8 - adds r1, r6, r2 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0 - bl GetBoxMonData - adds r2, r0, 0 - ldr r0, _0809C1CC - adds r4, r6, r0 - str r2, [r4] - ldrh r0, [r5] - mov r1, r9 - bl species_and_otid_get_pal - ldr r2, _0809C1D0 - adds r1, r6, r2 - str r0, [r1] - ldrh r0, [r5] - ldr r1, [r4] - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - adds r0, r7, 0 - movs r1, 0xC - bl GetBoxMonData -_0809C1B2: - mov r1, r8 - strh r0, [r1] - b _0809C1DE - .align 2, 0 -_0809C1B8: .4byte 0x000011f0 -_0809C1BC: .4byte 0x000011f9 -_0809C1C0: .4byte 0x000011fa -_0809C1C4: .4byte 0x000011f8 -_0809C1C8: .4byte 0x000011f7 -_0809C1CC: .4byte 0x000011ec -_0809C1D0: .4byte 0x000011e8 -_0809C1D4: - ldr r2, _0809C220 - adds r0, r6, r2 - mov r1, sp - ldrh r1, [r1] - strh r1, [r0] -_0809C1DE: - ldr r0, _0809C224 - ldr r4, [r0] - ldr r2, _0809C220 - adds r0, r4, r2 - ldrh r1, [r0] - cmp r1, 0 - bne _0809C23C -_0809C1EC: - ldr r0, _0809C224 - ldr r1, [r0] - ldr r0, _0809C228 - adds r2, r1, r0 - movs r0, 0xFF - strb r0, [r2] - ldr r0, _0809C22C - adds r2, r1, r0 - movs r0, 0x1 - negs r0, r0 - strb r0, [r2] - ldr r0, _0809C230 - adds r2, r1, r0 - movs r0, 0x1 - negs r0, r0 - strb r0, [r2] - ldr r0, _0809C234 - adds r2, r1, r0 - movs r0, 0x1 - negs r0, r0 - strb r0, [r2] - ldr r2, _0809C238 - adds r1, r2 - strb r0, [r1] - b _0809C43E - .align 2, 0 -_0809C220: .4byte 0x000011f0 -_0809C224: .4byte gUnknown_083B6DB4 -_0809C228: .4byte 0x000011fa -_0809C22C: .4byte 0x0000120f -_0809C230: .4byte 0x00001234 -_0809C234: .4byte 0x00001259 -_0809C238: .4byte 0x0000127a -_0809C23C: - ldr r2, _0809C28C - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0809C2A4 - ldr r0, _0809C290 - adds r7, r4, r0 - movs r0, 0xFC - strb r0, [r7] - movs r0, 0x4 - strb r0, [r7, 0x1] - movs r0, 0xF - strb r0, [r7, 0x2] - movs r0, 0 - strb r0, [r7, 0x3] - movs r0, 0x1 - strb r0, [r7, 0x4] - ldr r1, _0809C294 - adds r7, r4, r1 - adds r2, 0x1 - adds r1, r4, r2 - adds r0, r7, 0 - bl StringCopy - ldr r0, _0809C298 - adds r1, r4, r0 - movs r0, 0xFF - strb r0, [r1] - ldr r2, _0809C29C - adds r1, r4, r2 - movs r0, 0x1 - negs r0, r0 - strb r0, [r1] - ldr r0, _0809C2A0 - adds r1, r4, r0 - movs r0, 0x1 - negs r0, r0 - strb r0, [r1] - b _0809C43E - .align 2, 0 -_0809C28C: .4byte 0x000011f9 -_0809C290: .4byte 0x0000120f -_0809C294: .4byte 0x00001214 -_0809C298: .4byte 0x00001234 -_0809C29C: .4byte 0x00001259 -_0809C2A0: .4byte 0x0000127a -_0809C2A4: - cmp r1, 0x20 - beq _0809C2AC - cmp r1, 0x1D - bne _0809C2B0 -_0809C2AC: - movs r1, 0xFF - str r1, [sp] -_0809C2B0: - ldr r0, _0809C388 - ldr r4, [r0] - ldr r2, _0809C38C - adds r7, r4, r2 - movs r0, 0xFC - mov r9, r0 - strb r0, [r7] - movs r1, 0x4 - mov r8, r1 - strb r1, [r7, 0x1] - movs r2, 0xF - strb r2, [r7, 0x2] - movs r0, 0 - strb r0, [r7, 0x3] - movs r6, 0x1 - strb r6, [r7, 0x4] - ldr r1, _0809C390 - adds r7, r4, r1 - ldr r2, _0809C394 - adds r1, r4, r2 - adds r0, r7, 0 - bl StringCopy - ldr r0, _0809C398 - adds r7, r4, r0 - mov r1, r9 - strb r1, [r7] - mov r2, r8 - strb r2, [r7, 0x1] - movs r0, 0xF - strb r0, [r7, 0x2] - movs r1, 0 - strb r1, [r7, 0x3] - strb r6, [r7, 0x4] - mov r2, r9 - strb r2, [r7, 0x5] - movs r0, 0x13 - mov r10, r0 - strb r0, [r7, 0x6] - movs r1, 0x7 - strb r1, [r7, 0x7] - movs r0, 0xBA - strb r0, [r7, 0x8] - ldr r2, _0809C39C - adds r7, r4, r2 - ldr r1, _0809C3A0 - adds r0, r4, r1 - ldrh r1, [r0] - movs r0, 0xB - muls r1, r0 - ldr r0, _0809C3A4 - adds r1, r0 - adds r0, r7, 0 - bl StringCopy - adds r7, r0, 0 - mov r2, r9 - strb r2, [r7] - mov r0, r10 - strb r0, [r7, 0x1] - movs r0, 0x50 - strb r0, [r7, 0x2] - movs r0, 0xFF - strb r0, [r7, 0x3] - ldr r1, _0809C3A8 - adds r7, r4, r1 - strb r2, [r7] - mov r2, r8 - strb r2, [r7, 0x1] - movs r0, 0xF - strb r0, [r7, 0x2] - movs r1, 0 - strb r1, [r7, 0x3] - strb r6, [r7, 0x4] - mov r2, r9 - strb r2, [r7, 0x5] - mov r0, r10 - strb r0, [r7, 0x6] - movs r6, 0x8 - strb r6, [r7, 0x7] - ldr r1, _0809C3AC - adds r7, r4, r1 - movs r0, 0x34 - strb r0, [r7] - ldr r2, _0809C3B0 - adds r7, r4, r2 - ldr r0, _0809C3B4 - adds r4, r0 - ldrb r1, [r4] - adds r0, r7, 0 - movs r2, 0x22 - movs r3, 0x1 - bl sub_8072C14 - adds r7, r0, 0 - mov r1, r9 - strb r1, [r7] - movs r0, 0x11 - strb r0, [r7, 0x1] - strb r6, [r7, 0x2] - adds r7, 0x3 - ldr r2, [sp] - cmp r2, 0 - beq _0809C3B8 - cmp r2, 0xFE - beq _0809C3D0 - b _0809C3EA - .align 2, 0 -_0809C388: .4byte gUnknown_083B6DB4 -_0809C38C: .4byte 0x0000120f -_0809C390: .4byte 0x00001214 -_0809C394: .4byte 0x000011fa -_0809C398: .4byte 0x00001234 -_0809C39C: .4byte 0x0000123d -_0809C3A0: .4byte 0x000011f0 -_0809C3A4: .4byte gSpeciesNames -_0809C3A8: .4byte 0x00001259 -_0809C3AC: .4byte 0x00001261 -_0809C3B0: .4byte 0x00001262 -_0809C3B4: .4byte 0x000011f8 -_0809C3B8: - mov r0, r9 - strb r0, [r7] - mov r1, r8 - strb r1, [r7, 0x1] - strb r1, [r7, 0x2] - mov r2, sp - ldrb r2, [r2] - strb r2, [r7, 0x3] - movs r0, 0x5 - strb r0, [r7, 0x4] - movs r0, 0xB5 - b _0809C3E6 -_0809C3D0: - mov r0, r9 - strb r0, [r7] - mov r1, r8 - strb r1, [r7, 0x1] - movs r0, 0x6 - strb r0, [r7, 0x2] - movs r2, 0 - strb r2, [r7, 0x3] - movs r0, 0x7 - strb r0, [r7, 0x4] - movs r0, 0xB6 -_0809C3E6: - strb r0, [r7, 0x5] - adds r7, 0x6 -_0809C3EA: - movs r5, 0xFF - strb r5, [r7] - ldr r0, _0809C450 - ldr r2, [r0] - ldr r1, _0809C454 - adds r7, r2, r1 - ldr r0, _0809C458 - adds r3, r2, r0 - ldrh r0, [r3] - cmp r0, 0 - beq _0809C43C - movs r4, 0xFC - strb r4, [r7] - movs r1, 0x4 - strb r1, [r7, 0x1] - movs r0, 0xF - strb r0, [r7, 0x2] - movs r0, 0 - strb r0, [r7, 0x3] - movs r0, 0x1 - strb r0, [r7, 0x4] - ldr r0, _0809C45C - adds r7, r2, r0 - strb r4, [r7] - movs r0, 0x6 - strb r0, [r7, 0x1] - strb r1, [r7, 0x2] - ldr r1, _0809C460 - adds r7, r2, r1 - ldrh r0, [r3] - bl itemid_get_item - adds r1, r0, 0 - adds r0, r7, 0 - bl StringCopy - adds r7, r0, 0 - strb r4, [r7] - movs r0, 0x7 - strb r0, [r7, 0x1] - adds r7, 0x2 -_0809C43C: - strb r5, [r7] -_0809C43E: - 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 -_0809C450: .4byte gUnknown_083B6DB4 -_0809C454: .4byte 0x0000127a -_0809C458: .4byte 0x000011f2 -_0809C45C: .4byte 0x0000127f -_0809C460: .4byte 0x00001282 - thumb_func_end sub_809C04C - - thumb_func_start sub_809C464 -sub_809C464: @ 809C464 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _0809C4D8 - ldrb r0, [r0] - mov r8, r0 - ldr r2, _0809C4DC - ldrb r4, [r2] - ldr r0, _0809C4E0 - ldr r1, [r0] - ldr r0, _0809C4E4 - adds r7, r1, r0 - movs r0, 0 - strb r0, [r7] - ldr r3, _0809C4E8 - adds r5, r1, r3 - strb r0, [r5] - adds r3, 0x4 - adds r6, r1, r3 - strb r0, [r6] - ldr r0, _0809C4EC - mov r12, r0 - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - adds r3, r2, 0 - cmp r0, 0 - beq _0809C4A0 - b _0809C62A -_0809C4A0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809C4F0 - movs r1, 0x1 - mov r9, r1 - lsls r0, r4, 24 - movs r3, 0xC0 - lsls r3, 19 - adds r0, r3 - lsrs r4, r0, 24 - asrs r0, 24 - cmp r0, 0x1D - bgt _0809C4BE - b _0809C648 -_0809C4BE: - movs r1, 0x3 - mov r8, r1 - subs r0, 0x1E - lsls r0, 24 - asrs r0, 24 - bl __divsi3 - lsls r0, 24 - lsrs r4, r0, 24 - mov r3, r9 - strb r3, [r7] - strb r3, [r6] - b _0809C648 - .align 2, 0 -_0809C4D8: .4byte gUnknown_020384E4 -_0809C4DC: .4byte gUnknown_020384E5 -_0809C4E0: .4byte gUnknown_083B6DB4 -_0809C4E4: .4byte 0x000011de -_0809C4E8: .4byte 0x000011df -_0809C4EC: .4byte gMain -_0809C4F0: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0809C524 - movs r0, 0x1 - mov r9, r0 - movs r0, 0 - ldrsb r0, [r3, r0] - movs r1, 0x6 - bl __modsi3 - lsls r0, 24 - cmp r0, 0 - beq _0809C514 - lsls r0, r4, 24 - movs r1, 0xFF - lsls r1, 24 - b _0809C63C -_0809C514: - movs r0, 0xFF - strb r0, [r5] - lsls r0, r4, 24 - movs r3, 0xA0 - lsls r3, 19 - adds r0, r3 - lsrs r4, r0, 24 - b _0809C648 -_0809C524: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0809C554 - movs r0, 0x1 - mov r9, r0 - movs r0, 0 - ldrsb r0, [r3, r0] - adds r0, 0x1 - movs r1, 0x6 - bl __modsi3 - cmp r0, 0 - beq _0809C548 - lsls r0, r4, 24 - movs r1, 0x80 - lsls r1, 17 - b _0809C63C -_0809C548: - mov r3, r9 - strb r3, [r5] - lsls r0, r4, 24 - movs r1, 0xFB - lsls r1, 24 - b _0809C63C -_0809C554: - mov r3, r12 - ldrh r1, [r3, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0809C56A - movs r0, 0x1 - mov r9, r0 - movs r1, 0x2 - mov r8, r1 - b _0809C646 -_0809C56A: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809C5D4 - bl sub_809CAB0 - lsls r0, 24 - cmp r0, 0 - beq _0809C5D4 - ldr r0, _0809C588 - ldrb r0, [r0] - cmp r0, 0 - bne _0809C58C - movs r0, 0x8 - b _0809C658 - .align 2, 0 -_0809C588: .4byte gUnknown_020384E9 -_0809C58C: - movs r0, 0 - bl sub_809CE4C - subs r0, 0x1 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bhi _0809C5D4 - lsls r0, 2 - ldr r1, _0809C5A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809C5A8: .4byte _0809C5AC - .align 2, 0 -_0809C5AC: - .4byte _0809C5C0 - .4byte _0809C5C4 - .4byte _0809C5C8 - .4byte _0809C5CC - .4byte _0809C5D0 -_0809C5C0: - movs r0, 0xB - b _0809C658 -_0809C5C4: - movs r0, 0xC - b _0809C658 -_0809C5C8: - movs r0, 0xD - b _0809C658 -_0809C5CC: - movs r0, 0xE - b _0809C658 -_0809C5D0: - movs r0, 0xF - b _0809C658 -_0809C5D4: - ldr r2, _0809C5E4 - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809C5E8 - movs r0, 0x10 - b _0809C658 - .align 2, 0 -_0809C5E4: .4byte gMain -_0809C5E8: - ldr r0, _0809C600 - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _0809C612 - ldrh r1, [r2, 0x2C] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _0809C604 - movs r0, 0xA - b _0809C658 - .align 2, 0 -_0809C600: .4byte gSaveBlock2 -_0809C604: - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0809C612 - movs r0, 0x9 - b _0809C658 -_0809C612: - ldrh r1, [r2, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0809C624 - bl sub_809CD88 - movs r0, 0 - b _0809C658 -_0809C624: - movs r3, 0 - mov r9, r3 - b _0809C656 -_0809C62A: - movs r0, 0x1 - mov r9, r0 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0x5 - ble _0809C642 - lsls r0, r4, 24 - movs r1, 0xFA - lsls r1, 24 -_0809C63C: - adds r0, r1 - lsrs r4, r0, 24 - b _0809C648 -_0809C642: - movs r3, 0x2 - mov r8, r3 -_0809C646: - movs r4, 0 -_0809C648: - mov r0, r9 - cmp r0, 0 - beq _0809C656 - mov r0, r8 - adds r1, r4, 0 - bl sub_809AF18 -_0809C656: - mov r0, r9 -_0809C658: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809C464 - - thumb_func_start sub_809C664 -sub_809C664: @ 809C664 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0809C6D8 - ldrb r0, [r0] - mov r10, r0 - ldr r7, _0809C6DC - ldrb r4, [r7] - ldr r2, _0809C6E0 - ldr r5, [r2] - ldr r1, _0809C6E4 - adds r0, r5, r1 - movs r1, 0 - strb r1, [r0] - ldr r3, _0809C6E8 - adds r0, r5, r3 - strb r1, [r0] - adds r3, 0x5 - adds r0, r5, r3 - strb r1, [r0] - mov r9, r1 - mov r8, r1 - ldr r1, _0809C6EC - ldrh r3, [r1, 0x30] - movs r0, 0x40 - ands r0, r3 - adds r6, r7, 0 - mov r12, r2 - adds r2, r1, 0 - cmp r0, 0 - beq _0809C6A8 - b _0809C81C -_0809C6A8: - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _0809C6F0 - lsls r0, r4, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r4, r0, 24 - asrs r0, 24 - cmp r0, 0x6 - ble _0809C6C2 - movs r4, 0 -_0809C6C2: - lsls r0, r4, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r6, r1] - cmp r0, r1 - bne _0809C6D0 - b _0809C83C -_0809C6D0: - movs r2, 0x1 - mov r8, r2 - b _0809C842 - .align 2, 0 -_0809C6D8: .4byte gUnknown_020384E4 -_0809C6DC: .4byte gUnknown_020384E5 -_0809C6E0: .4byte gUnknown_083B6DB4 -_0809C6E4: .4byte 0x000011df -_0809C6E8: .4byte 0x000011de -_0809C6EC: .4byte gMain -_0809C6F0: - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _0809C714 - ldrb r1, [r6] - movs r0, 0 - ldrsb r0, [r6, r0] - cmp r0, 0 - beq _0809C714 - movs r3, 0x1 - mov r8, r3 - ldr r2, _0809C710 - adds r0, r5, r2 - strb r1, [r0] - movs r4, 0 - b _0809C83C - .align 2, 0 -_0809C710: .4byte 0x000011e2 -_0809C714: - ldrh r1, [r2, 0x30] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0809C748 - movs r0, 0 - ldrsb r0, [r6, r0] - cmp r0, 0 - bne _0809C73C - movs r3, 0x1 - mov r8, r3 - mov r1, r12 - ldr r0, [r1] - ldr r2, _0809C738 - adds r0, r2 - ldrb r4, [r0] - b _0809C83C - .align 2, 0 -_0809C738: .4byte 0x000011e2 -_0809C73C: - movs r3, 0x6 - mov r8, r3 - movs r0, 0 - mov r10, r0 - movs r4, 0 - b _0809C83C -_0809C748: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809C7D0 - movs r0, 0 - ldrsb r0, [r6, r0] - cmp r0, 0x6 - bne _0809C76E - mov r1, r12 - ldr r0, [r1] - ldrb r0, [r0, 0x5] - cmp r0, 0x1 - bne _0809C768 - movs r0, 0x4 - b _0809C84C -_0809C768: - movs r2, 0x1 - mov r9, r2 - b _0809C7D0 -_0809C76E: - bl sub_809CAB0 - lsls r0, 24 - cmp r0, 0 - beq _0809C7D0 - ldr r0, _0809C784 - ldrb r0, [r0] - cmp r0, 0 - bne _0809C788 - movs r0, 0x8 - b _0809C84C - .align 2, 0 -_0809C784: .4byte gUnknown_020384E9 -_0809C788: - movs r0, 0 - bl sub_809CE4C - subs r0, 0x1 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bhi _0809C7D0 - lsls r0, 2 - ldr r1, _0809C7A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809C7A4: .4byte _0809C7A8 - .align 2, 0 -_0809C7A8: - .4byte _0809C7BC - .4byte _0809C7C0 - .4byte _0809C7C4 - .4byte _0809C7C8 - .4byte _0809C7CC -_0809C7BC: - movs r0, 0xB - b _0809C84C -_0809C7C0: - movs r0, 0xC - b _0809C84C -_0809C7C4: - movs r0, 0xD - b _0809C84C -_0809C7C8: - movs r0, 0xE - b _0809C84C -_0809C7CC: - movs r0, 0xF - b _0809C84C -_0809C7D0: - ldr r2, _0809C7EC - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809C7F8 - ldr r0, _0809C7F0 - ldr r0, [r0] - ldrb r0, [r0, 0x5] - cmp r0, 0x1 - bne _0809C7F4 - movs r0, 0x10 - b _0809C84C - .align 2, 0 -_0809C7EC: .4byte gMain -_0809C7F0: .4byte gUnknown_083B6DB4 -_0809C7F4: - movs r3, 0x1 - mov r9, r3 -_0809C7F8: - mov r0, r9 - cmp r0, 0 - beq _0809C80A - movs r1, 0x6 - mov r8, r1 - movs r2, 0 - mov r10, r2 - movs r4, 0 - b _0809C83C -_0809C80A: - ldrh r1, [r2, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0809C83C - bl sub_809CD88 - movs r0, 0 - b _0809C84C -_0809C81C: - lsls r0, r4, 24 - movs r3, 0xFF - lsls r3, 24 - adds r0, r3 - lsrs r4, r0, 24 - cmp r0, 0 - bge _0809C82C - movs r4, 0x6 -_0809C82C: - lsls r0, r4, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r7, r1] - cmp r0, r1 - beq _0809C83C - movs r0, 0x1 - mov r8, r0 -_0809C83C: - mov r1, r8 - cmp r1, 0 - beq _0809C84A -_0809C842: - mov r0, r10 - adds r1, r4, 0 - bl sub_809AF18 -_0809C84A: - mov r0, r8 -_0809C84C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809C664 - - thumb_func_start sub_809C85C -sub_809C85C: @ 809C85C - push {r4-r6,lr} - ldr r0, _0809C894 - ldr r2, [r0] - ldr r1, _0809C898 - adds r0, r2, r1 - movs r1, 0 - strb r1, [r0] - ldr r3, _0809C89C - adds r0, r2, r3 - strb r1, [r0] - ldr r0, _0809C8A0 - adds r2, r0 - strb r1, [r2] - ldr r1, _0809C8A4 - ldrh r3, [r1, 0x30] - movs r0, 0x40 - ands r0, r3 - cmp r0, 0 - bne _0809C91A - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _0809C8A8 - movs r4, 0x1 - movs r0, 0 - movs r5, 0x2 - b _0809C922 - .align 2, 0 -_0809C894: .4byte gUnknown_083B6DB4 -_0809C898: .4byte 0x000011df -_0809C89C: .4byte 0x000011de -_0809C8A0: .4byte 0x000011e3 -_0809C8A4: .4byte gMain -_0809C8A8: - ldrh r2, [r1, 0x2C] - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - bne _0809C8CC - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - bne _0809C8DE - ldr r0, _0809C8D0 - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _0809C8E2 - movs r0, 0x80 - lsls r0, 2 - ands r0, r2 - cmp r0, 0 - beq _0809C8D4 -_0809C8CC: - movs r0, 0xA - b _0809C93E - .align 2, 0 -_0809C8D0: .4byte gSaveBlock2 -_0809C8D4: - movs r0, 0x80 - lsls r0, 1 - ands r0, r2 - cmp r0, 0 - beq _0809C8E2 -_0809C8DE: - movs r0, 0x9 - b _0809C93E -_0809C8E2: - ldrh r1, [r1, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809C8FA - movs r0, 0 - bl sub_809A860 - bl sub_809CA8C - movs r0, 0x7 - b _0809C93E -_0809C8FA: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809C906 - movs r0, 0x10 - b _0809C93E -_0809C906: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0809C916 - bl sub_809CD88 - movs r0, 0 - b _0809C93E -_0809C916: - movs r4, 0 - b _0809C93C -_0809C91A: - movs r4, 0x1 - movs r0, 0x3 - movs r5, 0 - strb r4, [r2] -_0809C922: - cmp r4, 0 - beq _0809C93C - lsls r6, r0, 24 - cmp r0, 0x2 - beq _0809C932 - movs r0, 0 - bl sub_809A860 -_0809C932: - lsrs r0, r6, 24 - lsls r1, r5, 24 - lsrs r1, 24 - bl sub_809AF18 -_0809C93C: - adds r0, r4, 0 -_0809C93E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_809C85C - - thumb_func_start sub_809C944 -sub_809C944: @ 809C944 - push {r4-r7,lr} - ldr r0, _0809C988 - ldrb r0, [r0] - mov r12, r0 - ldr r7, _0809C98C - ldrb r3, [r7] - ldr r0, _0809C990 - ldr r1, [r0] - ldr r0, _0809C994 - adds r5, r1, r0 - movs r0, 0 - strb r0, [r5] - ldr r2, _0809C998 - adds r4, r1, r2 - strb r0, [r4] - adds r2, 0x5 - adds r1, r2 - strb r0, [r1] - ldr r6, _0809C99C - ldrh r2, [r6, 0x30] - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - bne _0809CA14 - movs r0, 0x88 - ands r0, r2 - cmp r0, 0 - beq _0809C9A0 - movs r6, 0x1 - movs r0, 0x2 - mov r12, r0 - movs r3, 0 - b _0809CA2A - .align 2, 0 -_0809C988: .4byte gUnknown_020384E4 -_0809C98C: .4byte gUnknown_020384E5 -_0809C990: .4byte gUnknown_083B6DB4 -_0809C994: .4byte 0x000011df -_0809C998: .4byte 0x000011de -_0809C99C: .4byte gMain -_0809C9A0: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _0809C9C0 - movs r6, 0x1 - lsls r0, r3, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r3, r0, 24 - cmp r0, 0 - bge _0809CA2C - movs r0, 0xFF - strb r0, [r5] - movs r3, 0x1 - b _0809CA2C -_0809C9C0: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - beq _0809C9E0 - movs r6, 0x1 - lsls r0, r3, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r3, r0, 24 - asrs r0, 24 - cmp r0, 0x1 - ble _0809CA2C - strb r6, [r5] - movs r3, 0 - b _0809CA2C -_0809C9E0: - ldrh r1, [r6, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809C9F4 - movs r0, 0x4 - cmp r3, 0 - bne _0809CA3A - movs r0, 0x5 - b _0809CA3A -_0809C9F4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809CA00 - movs r0, 0x10 - b _0809CA3A -_0809CA00: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0809CA10 - bl sub_809CD88 - movs r0, 0 - b _0809CA3A -_0809CA10: - movs r6, 0 - b _0809CA38 -_0809CA14: - movs r6, 0x1 - movs r0, 0 - mov r12, r0 - movs r0, 0xFF - strb r0, [r4] - movs r0, 0 - ldrsb r0, [r7, r0] - movs r3, 0x1D - cmp r0, 0 - bne _0809CA2A - movs r3, 0x18 -_0809CA2A: - strb r6, [r1] -_0809CA2C: - cmp r6, 0 - beq _0809CA38 - mov r0, r12 - adds r1, r3, 0 - bl sub_809AF18 -_0809CA38: - adds r0, r6, 0 -_0809CA3A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809C944 - - thumb_func_start sub_809CA40 -sub_809CA40: @ 809CA40 - push {r4,r5,lr} - movs r3, 0 - ldr r0, _0809CA6C - ldr r1, [r0] - adds r4, r0, 0 - cmp r1, 0 - beq _0809CA84 - ldr r5, _0809CA70 -_0809CA50: - lsls r0, r3, 3 - adds r2, r0, r4 - movs r1, 0x4 - ldrsb r1, [r2, r1] - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r1, r0 - bne _0809CA74 - ldr r0, [r2] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - b _0809CA86 - .align 2, 0 -_0809CA6C: .4byte gUnknown_083BBBD4 -_0809CA70: .4byte gUnknown_020384E4 -_0809CA74: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - lsls r0, r3, 3 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - bne _0809CA50 -_0809CA84: - movs r0, 0 -_0809CA86: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809CA40 - - thumb_func_start sub_809CA8C -sub_809CA8C: @ 809CA8C - push {lr} - bl sub_809CDCC - movs r0, 0x9 - bl sub_809CDEC - movs r0, 0xA - bl sub_809CDEC - movs r0, 0xB - bl sub_809CDEC - movs r0, 0 - bl sub_809CDEC - pop {r0} - bx r0 - thumb_func_end sub_809CA8C - - thumb_func_start sub_809CAB0 -sub_809CAB0: @ 809CAB0 - push {lr} - bl sub_809CDCC - bl sub_809AB8C - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _0809CAD4 - ldr r0, [r0] - ldrb r0, [r0, 0x5] - cmp r0, 0x1 - beq _0809CADE - cmp r0, 0x1 - bgt _0809CAD8 - cmp r0, 0 - beq _0809CAEA - b _0809CB24 - .align 2, 0 -_0809CAD4: .4byte gUnknown_083B6DB4 -_0809CAD8: - cmp r0, 0x2 - beq _0809CAF6 - b _0809CB24 -_0809CADE: - cmp r1, 0 - beq _0809CB24 - movs r0, 0x1 - bl sub_809CDEC - b _0809CB28 -_0809CAEA: - cmp r1, 0 - beq _0809CB24 - movs r0, 0x2 - bl sub_809CDEC - b _0809CB28 -_0809CAF6: - ldr r0, _0809CB0C - ldrb r0, [r0] - cmp r0, 0 - beq _0809CB18 - cmp r1, 0 - beq _0809CB10 - movs r0, 0x4 - bl sub_809CDEC - b _0809CB28 - .align 2, 0 -_0809CB0C: .4byte gUnknown_020384E6 -_0809CB10: - movs r0, 0x5 - bl sub_809CDEC - b _0809CB28 -_0809CB18: - cmp r1, 0 - beq _0809CB24 - movs r0, 0x3 - bl sub_809CDEC - b _0809CB28 -_0809CB24: - movs r0, 0 - b _0809CB6E -_0809CB28: - movs r0, 0x6 - bl sub_809CDEC - ldr r0, _0809CB4C - ldr r0, [r0] - ldrb r0, [r0, 0x5] - cmp r0, 0x2 - bne _0809CB5A - ldr r0, _0809CB50 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _0809CB54 - movs r0, 0x2 - bl sub_809CDEC - b _0809CB5A - .align 2, 0 -_0809CB4C: .4byte gUnknown_083B6DB4 -_0809CB50: .4byte gUnknown_020384E4 -_0809CB54: - movs r0, 0x1 - bl sub_809CDEC -_0809CB5A: - movs r0, 0x8 - bl sub_809CDEC - movs r0, 0x7 - bl sub_809CDEC - movs r0, 0 - bl sub_809CDEC - movs r0, 0x1 -_0809CB6E: - pop {r1} - bx r1 - thumb_func_end sub_809CAB0 - - thumb_func_start sub_809CB74 -sub_809CB74: @ 809CB74 - ldr r1, _0809CB90 - ldr r1, [r1] - movs r2, 0x8E - lsls r2, 5 - adds r1, r2 - ldr r2, [r1] - ldrh r2, [r2, 0x20] - strh r2, [r0, 0x20] - ldr r1, [r1] - ldrh r1, [r1, 0x22] - adds r1, 0x14 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_0809CB90: .4byte gUnknown_083B6DB4 - thumb_func_end sub_809CB74 - - thumb_func_start unref_sub_809CB94 -unref_sub_809CB94: @ 809CB94 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0809CBBC - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _0809CBC8 - ldr r2, _0809CBC0 - ldr r0, _0809CBC4 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r1, r0 - adds r1, r2 - adds r0, r4, 0 - movs r2, 0x50 - bl memcpy - b _0809CBF6 - .align 2, 0 -_0809CBBC: .4byte gUnknown_020384E4 -_0809CBC0: .4byte gPlayerParty -_0809CBC4: .4byte gUnknown_020384E5 -_0809CBC8: - bl get_preferred_box - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0809CBFC - ldr r1, _0809CC00 - movs r2, 0 - ldrsb r2, [r1, r2] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 4 - lsls r2, r0, 2 - adds r2, r0 - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 5 - adds r1, r0 - adds r1, r3 - adds r1, 0x4 - adds r0, r4, 0 - movs r2, 0x50 - bl memcpy -_0809CBF6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809CBFC: .4byte gPokemonStorage -_0809CC00: .4byte gUnknown_020384E5 - thumb_func_end unref_sub_809CB94 - - thumb_func_start sub_809CC04 -sub_809CC04: @ 809CC04 - push {r4-r7,lr} - sub sp, 0x34 - mov r1, sp - ldr r0, _0809CCB0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - add r4, sp, 0x18 - adds r1, r4, 0 - ldr r0, _0809CCB4 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r0, sp - bl LoadSpriteSheets - adds r0, r4, 0 - bl LoadSpritePalettes - ldr r0, _0809CCB8 - bl IndexOfSpritePaletteTag - ldr r1, _0809CCBC - ldr r6, [r1] - ldr r4, _0809CCC0 - adds r7, r6, r4 - strb r0, [r7] - ldr r0, _0809CCC4 - bl IndexOfSpritePaletteTag - ldr r5, _0809CCC8 - adds r1, r6, r5 - strb r0, [r1] - ldr r0, _0809CCCC - ldrb r0, [r0] - ldr r1, _0809CCD0 - ldrb r1, [r1] - add r4, sp, 0x30 - mov r5, sp - adds r5, 0x32 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_809AACC - ldr r0, _0809CCD4 - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0 - ldrsh r2, [r5, r3] - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _0809CCE4 - movs r5, 0x8E - lsls r5, 5 - adds r4, r6, r5 - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r0, _0809CCD8 - adds r1, r0 - str r1, [r4] - ldr r0, _0809CCDC - ldrb r0, [r0] - adds r0, r7, r0 - ldrb r2, [r0] - lsls r2, 4 - ldrb r3, [r1, 0x5] - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r0, _0809CCE0 - ldrb r0, [r0] - cmp r0, 0 - beq _0809CCEE - ldr r0, [r4] - movs r1, 0x3 - bl StartSpriteAnim - b _0809CCEE - .align 2, 0 -_0809CCB0: .4byte gHandCursorSpriteSheets -_0809CCB4: .4byte gHandCursorSpritePalettes -_0809CCB8: .4byte 0x0000dac6 -_0809CCBC: .4byte gUnknown_083B6DB4 -_0809CCC0: .4byte 0x000011e4 -_0809CCC4: .4byte 0x0000dad1 -_0809CCC8: .4byte 0x000011e5 -_0809CCCC: .4byte gUnknown_020384E4 -_0809CCD0: .4byte gUnknown_020384E5 -_0809CCD4: .4byte gSpriteTemplate_83BBC70 -_0809CCD8: .4byte gSprites -_0809CCDC: .4byte gUnknown_020384E9 -_0809CCE0: .4byte gUnknown_020384E6 -_0809CCE4: - movs r0, 0x8E - lsls r0, 5 - adds r1, r6, r0 - movs r0, 0 - str r0, [r1] -_0809CCEE: - ldr r0, _0809CD00 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _0809CD04 - movs r3, 0xC - movs r5, 0x1 - b _0809CD08 - .align 2, 0 -_0809CD00: .4byte gUnknown_020384E4 -_0809CD04: - movs r3, 0x14 - movs r5, 0x2 -_0809CD08: - ldr r0, _0809CD58 - movs r1, 0 - movs r2, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _0809CD6C - ldr r0, _0809CD5C - ldr r0, [r0] - ldr r1, _0809CD60 - adds r4, r0, r1 - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r0, _0809CD64 - adds r1, r0 - str r1, [r4] - lsls r3, r5, 2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldr r0, _0809CD68 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _0809CD78 - ldr r0, [r4] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0809CD78 - .align 2, 0 -_0809CD58: .4byte gSpriteTemplate_83BBC88 -_0809CD5C: .4byte gUnknown_083B6DB4 -_0809CD60: .4byte 0x000011c4 -_0809CD64: .4byte gSprites -_0809CD68: .4byte gUnknown_020384E4 -_0809CD6C: - ldr r0, _0809CD80 - ldr r0, [r0] - ldr r2, _0809CD84 - adds r0, r2 - movs r1, 0 - str r1, [r0] -_0809CD78: - add sp, 0x34 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809CD80: .4byte gUnknown_083B6DB4 -_0809CD84: .4byte 0x000011c4 - thumb_func_end sub_809CC04 - - thumb_func_start sub_809CD88 -sub_809CD88: @ 809CD88 - push {lr} - ldr r2, _0809CDC0 - movs r1, 0 - ldrb r0, [r2] - cmp r0, 0 - bne _0809CD96 - movs r1, 0x1 -_0809CD96: - strb r1, [r2] - ldr r0, _0809CDC4 - ldr r0, [r0] - movs r3, 0x8E - lsls r3, 5 - adds r1, r0, r3 - ldr r3, [r1] - ldr r1, _0809CDC8 - adds r0, r1 - ldrb r2, [r2] - adds r0, r2 - ldrb r1, [r0] - lsls r1, 4 - ldrb r2, [r3, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - pop {r0} - bx r0 - .align 2, 0 -_0809CDC0: .4byte gUnknown_020384E9 -_0809CDC4: .4byte gUnknown_083B6DB4 -_0809CDC8: .4byte 0x000011e4 - thumb_func_end sub_809CD88 - - thumb_func_start sub_809CDCC -sub_809CDCC: @ 809CDCC - ldr r0, _0809CDE0 - ldr r0, [r0] - ldr r2, _0809CDE4 - adds r1, r0, r2 - movs r2, 0 - strb r2, [r1] - ldr r1, _0809CDE8 - adds r0, r1 - strb r2, [r0] - bx lr - .align 2, 0 -_0809CDE0: .4byte gUnknown_083B6DB4 -_0809CDE4: .4byte 0x000011b8 -_0809CDE8: .4byte 0x000011b9 - thumb_func_end sub_809CDCC - - thumb_func_start sub_809CDEC -sub_809CDEC: @ 809CDEC - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _0809CE3C - ldr r5, [r0] - ldr r0, _0809CE40 - adds r4, r5, r0 - ldrb r0, [r4] - cmp r0, 0x6 - bhi _0809CE36 - adds r1, r0, 0 - lsls r1, 3 - movs r2, 0x8C - lsls r2, 5 - adds r1, r2 - adds r1, r5, r1 - ldr r2, _0809CE44 - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - str r3, [r1, 0x4] - bl sub_8072CA4 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0x7 - lsrs r1, 3 - ldr r2, _0809CE48 - adds r0, r5, r2 - ldrb r2, [r0] - cmp r1, r2 - bls _0809CE30 - strb r1, [r0] -_0809CE30: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_0809CE36: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809CE3C: .4byte gUnknown_083B6DB4 -_0809CE40: .4byte 0x000011b8 -_0809CE44: .4byte gUnknown_083BBCA0 -_0809CE48: .4byte 0x000011b9 - thumb_func_end sub_809CDEC - - thumb_func_start sub_809CE4C -sub_809CE4C: @ 809CE4C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0809CE70 - ldr r1, [r0] - ldr r3, _0809CE74 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r2, r0 - bcs _0809CE7C - lsls r0, r2, 3 - ldr r2, _0809CE78 - adds r1, r2 - adds r1, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - b _0809CE80 - .align 2, 0 -_0809CE70: .4byte gUnknown_083B6DB4 -_0809CE74: .4byte 0x000011b8 -_0809CE78: .4byte 0x00001184 -_0809CE7C: - movs r0, 0x1 - negs r0, r0 -_0809CE80: - pop {r1} - bx r1 - thumb_func_end sub_809CE4C - - thumb_func_start sub_809CE84 -sub_809CE84: @ 809CE84 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x8 - ldr r0, _0809CF20 - ldr r4, [r0] - ldr r0, _0809CF24 - adds r0, r4 - mov r8, r0 - ldrb r0, [r0] - lsls r0, 1 - movs r1, 0xE - subs r1, r0 - ldr r3, _0809CF28 - adds r6, r4, r3 - movs r0, 0 - mov r10, r0 - strh r1, [r6] - ldr r1, _0809CF2C - adds r1, r4 - mov r9, r1 - ldrb r1, [r1] - movs r0, 0x1C - subs r0, r1 - subs r3, 0x2 - adds r5, r4, r3 - strh r0, [r5] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r6] - movs r2, 0x1D - movs r3, 0xF - bl MenuDrawTextWindow - ldrb r0, [r5] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r6] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - mov r3, r8 - ldrb r2, [r3] - movs r3, 0x8C - lsls r3, 5 - adds r4, r3 - adds r3, r4, 0 - bl PrintMenuItems - ldrb r1, [r5] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r6] - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - mov r4, r8 - ldrb r3, [r4] - mov r0, r10 - str r0, [sp] - mov r4, r9 - ldrb r0, [r4] - str r0, [sp, 0x4] - movs r0, 0 - bl InitMenu - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809CF20: .4byte gUnknown_083B6DB4 -_0809CF24: .4byte 0x000011b8 -_0809CF28: .4byte 0x000011bc -_0809CF2C: .4byte 0x000011b9 - thumb_func_end sub_809CE84 - - thumb_func_start sub_809CF30 -sub_809CF30: @ 809CF30 - push {r4,r5,lr} - movs r5, 0x2 - negs r5, r5 - ldr r4, _0809CF6C - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0809CF86 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809CF52 - movs r0, 0x5 - bl PlaySE - adds r5, 0x1 -_0809CF52: - ldrh r1, [r4, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0809CF70 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _0809CF8E - .align 2, 0 -_0809CF6C: .4byte gMain -_0809CF70: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809CF8E - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _0809CF8E -_0809CF86: - bl GetMenuCursorPos - lsls r0, 24 - lsrs r5, r0, 24 -_0809CF8E: - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _0809CFB2 - bl sub_8072DEC - ldr r0, _0809CFD0 - ldr r1, [r0] - ldr r2, _0809CFD4 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, 0x2 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0x1D - movs r3, 0xF - bl MenuZeroFillWindowRect -_0809CFB2: - cmp r5, 0 - blt _0809CFC4 - ldr r0, _0809CFD0 - ldr r0, [r0] - lsls r1, r5, 3 - ldr r2, _0809CFD8 - adds r0, r2 - adds r0, r1 - ldr r5, [r0] -_0809CFC4: - lsls r0, r5, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809CFD0: .4byte gUnknown_083B6DB4 -_0809CFD4: .4byte 0x000011ba -_0809CFD8: .4byte 0x00001184 - thumb_func_end sub_809CF30 - - thumb_func_start sub_809CFDC -sub_809CFDC: @ 809CFDC - ldr r3, _0809CFEC - str r0, [r3] - str r1, [r0] - movs r1, 0 - strb r2, [r0, 0x5] - strb r1, [r0, 0x4] - bx lr - .align 2, 0 -_0809CFEC: .4byte gUnknown_020384EC - thumb_func_end sub_809CFDC - - thumb_func_start sub_809CFF0 -sub_809CFF0: @ 809CFF0 - push {r4,r5,lr} - ldr r2, _0809D030 - ldr r1, [r2] - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _0809D02A - movs r4, 0 - ldrb r1, [r1, 0x4] - cmp r4, r1 - bcs _0809D022 - adds r5, r2, 0 -_0809D006: - ldr r0, [r5] - lsls r1, r4, 4 - ldr r0, [r0] - adds r0, r1 - ldr r1, [r0, 0xC] - bl _call_via_r1 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - cmp r4, r0 - bcc _0809D006 -_0809D022: - ldr r0, _0809D030 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x4] -_0809D02A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809D030: .4byte gUnknown_020384EC - thumb_func_end sub_809CFF0 - - thumb_func_start sub_809D034 -sub_809D034: @ 809D034 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r0 - mov r9, r3 - ldr r0, [sp, 0x20] - ldr r3, [sp, 0x24] - ldr r4, [sp, 0x28] - ldr r5, [sp, 0x2C] - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 16 - lsrs r6, r2, 16 - lsls r0, 16 - lsrs r0, 16 - mov r12, r0 - lsls r3, 16 - lsrs r3, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r0, _0809D0A4 - ldr r2, [r0] - ldrb r0, [r2, 0x4] - adds r1, r0, 0 - ldrb r7, [r2, 0x5] - cmp r1, r7 - bcs _0809D0AC - adds r0, 0x1 - strb r0, [r2, 0x4] - lsls r0, r1, 4 - ldr r2, [r2] - adds r2, r0 - lsls r0, r4, 1 - strh r0, [r2, 0x8] - lsls r0, r6, 6 - add r0, r8 - mov r4, r10 - lsls r1, r4, 1 - adds r0, r1 - str r0, [r2, 0x4] - lsls r0, r3, 6 - add r0, r9 - mov r7, r12 - lsls r1, r7, 1 - adds r0, r1 - str r0, [r2] - strh r5, [r2, 0xA] - ldr r0, _0809D0A8 - str r0, [r2, 0xC] - movs r0, 0x1 - b _0809D0AE - .align 2, 0 -_0809D0A4: .4byte gUnknown_020384EC -_0809D0A8: .4byte sub_809D0BC -_0809D0AC: - movs r0, 0 -_0809D0AE: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809D034 - - thumb_func_start sub_809D0BC -sub_809D0BC: @ 809D0BC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r6, [r0] - ldr r5, [r0, 0x4] - ldrh r7, [r0, 0xA] - ldrh r2, [r0, 0x8] - movs r4, 0 - cmp r4, r7 - bcs _0809D0F2 - lsrs r2, 1 - mov r8, r2 - ldr r0, _0809D100 - mov r9, r0 -_0809D0DA: - adds r0, r6, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - ands r2, r3 - bl CpuSet - adds r5, 0x40 - adds r6, 0x40 - adds r4, 0x1 - cmp r4, r7 - bcc _0809D0DA -_0809D0F2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809D100: .4byte 0x001fffff - thumb_func_end sub_809D0BC - - thumb_func_start sub_809D104 -sub_809D104: @ 809D104 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r5, [sp, 0x18] - ldr r4, [sp, 0x1C] - ldr r6, [sp, 0x20] - mov r8, r6 - ldr r6, [sp, 0x24] - lsls r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r5, 16 - lsls r4, 16 - mov r7, r8 - lsls r7, 16 - lsls r6, 16 - lsrs r6, 16 - lsrs r4, 10 - adds r3, r4 - lsrs r5, 15 - adds r5, r3, r5 - lsls r3, r2, 6 - adds r3, r0, r3 - lsrs r1, 15 - adds r4, r3, r1 - adds r2, r6 - lsls r2, 6 - adds r6, r0, r2 - lsrs r2, r7, 15 - cmp r4, r6 - bcs _0809D15C - lsrs r7, r2, 1 - ldr r0, _0809D168 - mov r8, r0 -_0809D148: - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, r8 - ands r2, r7 - bl CpuSet - adds r4, 0x40 - adds r5, 0x40 - cmp r4, r6 - bcc _0809D148 -_0809D15C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809D168: .4byte 0x001fffff - thumb_func_end sub_809D104 - - thumb_func_start sub_809D16C -sub_809D16C: @ 809D16C - push {r4-r7,lr} - mov r12, r0 - ldr r0, [sp, 0x14] - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _0809D1B4 - ldr r1, [r0] - ldrb r0, [r1, 0x4] - adds r2, r0, 0 - ldrb r7, [r1, 0x5] - cmp r2, r7 - bcs _0809D1BC - adds r0, 0x1 - strb r0, [r1, 0x4] - lsls r0, r2, 4 - ldr r1, [r1] - adds r1, r0 - lsls r0, r3, 1 - strh r0, [r1, 0x8] - lsls r0, r4, 5 - adds r0, r6 - lsls r0, 1 - add r0, r12 - str r0, [r1, 0x4] - strh r5, [r1, 0xA] - ldr r0, _0809D1B8 - str r0, [r1, 0xC] - movs r0, 0x1 - b _0809D1BE - .align 2, 0 -_0809D1B4: .4byte gUnknown_020384EC -_0809D1B8: .4byte sub_809D1C4 -_0809D1BC: - movs r0, 0 -_0809D1BE: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809D16C - - thumb_func_start sub_809D1C4 -sub_809D1C4: @ 809D1C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r0, 0 - movs r0, 0 - ldrh r1, [r6, 0xA] - cmp r0, r1 - bcs _0809D252 - movs r7, 0x80 - lsls r7, 5 - mov r5, sp - ldr r2, _0809D210 - mov r8, r2 - movs r1, 0x81 - lsls r1, 24 - mov r10, r1 -_0809D1EA: - ldr r2, [r6, 0x4] - ldrh r3, [r6, 0x8] - mov r12, r2 - adds r0, 0x1 - mov r9, r0 - cmp r3, r7 - bhi _0809D214 - movs r0, 0 - strh r0, [r5] - mov r2, sp - mov r0, r8 - str r2, [r0] - mov r1, r12 - str r1, [r0, 0x4] - lsrs r0, r3, 1 - mov r2, r10 - orrs r0, r2 - mov r1, r8 - b _0809D23C - .align 2, 0 -_0809D210: .4byte 0x040000d4 -_0809D214: - movs r4, 0 - strh r4, [r5] - ldr r1, _0809D264 - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, _0809D268 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r7 - subs r3, r7 - cmp r3, r7 - bhi _0809D214 - strh r4, [r5] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r10 - orrs r0, r2 -_0809D23C: - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, r12 - adds r0, 0x40 - str r0, [r6, 0x4] - mov r1, r9 - lsls r0, r1, 16 - lsrs r0, 16 - ldrh r2, [r6, 0xA] - cmp r0, r2 - bcc _0809D1EA -_0809D252: - 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 -_0809D264: .4byte 0x040000d4 -_0809D268: .4byte 0x81000800 - thumb_func_end sub_809D1C4 - - thumb_func_start unref_sub_809D26C -unref_sub_809D26C: @ 809D26C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x18 - adds r6, r3, 0 - ldr r3, [sp, 0x2C] - lsls r0, 16 - lsrs r0, 16 - lsls r3, 24 - lsrs r3, 24 - mov r8, sp - ldr r4, _0809D2E0 - str r4, [sp] - ldr r5, _0809D2E4 - lsls r4, r0, 2 - adds r4, r5 - ldr r4, [r4] - str r4, [sp, 0x4] - ldr r4, _0809D2E8 - str r4, [sp, 0x8] - ldr r4, _0809D2EC - str r4, [sp, 0xC] - str r1, [sp, 0x10] - ldr r1, _0809D2F0 - adds r0, r1 - ldr r4, _0809D2F4 - adds r1, r4, 0 - ldrb r0, [r0] - adds r1, r0 - mov r0, r8 - strh r1, [r0, 0x14] - lsls r2, 16 - asrs r2, 16 - lsls r6, 16 - asrs r6, 16 - mov r0, sp - adds r1, r2, 0 - adds r2, r6, 0 - bl sub_809D710 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _0809D2F8 - adds r0, r1 - bl sub_809D638 - adds r0, r4, 0 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809D2E0: .4byte gOamData_83BC5E8 -_0809D2E4: .4byte gMonIconTable -_0809D2E8: .4byte gSpriteAnimTable_83BC62C -_0809D2EC: .4byte gSpriteAffineAnimTable_83BC660 -_0809D2F0: .4byte gMonIconPaletteIndices -_0809D2F4: .4byte 0x0000dac0 -_0809D2F8: .4byte gSprites - thumb_func_end unref_sub_809D26C - - thumb_func_start sub_809D2FC -sub_809D2FC: @ 809D2FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x30 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [sp, 0x48] - ldr r1, [sp, 0x4C] - lsls r4, 16 - lsrs r4, 16 - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r6, r3, 16 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0809D38C - str r0, [sp, 0x18] - adds r0, r4, 0 - bl sub_809D4F4 - str r0, [sp, 0x1C] - ldr r0, _0809D390 - str r0, [sp, 0x20] - ldr r0, _0809D394 - str r0, [sp, 0x24] - str r5, [sp, 0x28] - ldr r0, _0809D398 - adds r0, r4, r0 - ldr r1, _0809D39C - adds r5, r1, 0 - ldrb r0, [r0] - adds r1, r5, r0 - add r0, sp, 0x2C - strh r1, [r0] - add r1, sp, 0x18 - mov r0, sp - movs r2, 0x18 - bl memcpy - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _0809D35A - mov r0, sp - strh r5, [r0, 0x14] -_0809D35A: - lsls r1, r7, 16 - asrs r1, 16 - lsls r2, r6, 16 - asrs r2, 16 - mov r0, sp - mov r3, r8 - bl sub_809D710 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _0809D3A0 - adds r0, r1 - bl sub_809D638 - adds r0, r4, 0 - add sp, 0x30 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0809D38C: .4byte gOamData_83BC5E8 -_0809D390: .4byte gSpriteAnimTable_83BC62C -_0809D394: .4byte gSpriteAffineAnimTable_83BC660 -_0809D398: .4byte gMonIconPaletteIndices -_0809D39C: .4byte 0x0000dac0 -_0809D3A0: .4byte gSprites - thumb_func_end sub_809D2FC - - thumb_func_start sub_809D3A4 -sub_809D3A4: @ 809D3A4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x18 - adds r6, r3, 0 - ldr r3, [sp, 0x2C] - lsls r0, 16 - lsrs r0, 16 - lsls r3, 24 - lsrs r3, 24 - mov r8, sp - ldr r4, _0809D418 - str r4, [sp] - ldr r5, _0809D41C - lsls r4, r0, 2 - adds r4, r5 - ldr r4, [r4] - str r4, [sp, 0x4] - ldr r4, _0809D420 - str r4, [sp, 0x8] - ldr r4, _0809D424 - str r4, [sp, 0xC] - str r1, [sp, 0x10] - ldr r1, _0809D428 - adds r0, r1 - ldr r4, _0809D42C - adds r1, r4, 0 - ldrb r0, [r0] - adds r1, r0 - mov r0, r8 - strh r1, [r0, 0x14] - lsls r2, 16 - asrs r2, 16 - lsls r6, 16 - asrs r6, 16 - mov r0, sp - adds r1, r2, 0 - adds r2, r6, 0 - bl sub_809D710 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _0809D430 - adds r0, r1 - bl sub_809D638 - adds r0, r4, 0 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809D418: .4byte gOamData_83BC5E8 -_0809D41C: .4byte gMonIconTable -_0809D420: .4byte gSpriteAnimTable_83BC62C -_0809D424: .4byte gSpriteAffineAnimTable_83BC660 -_0809D428: .4byte gMonIconPaletteIndices -_0809D42C: .4byte 0x0000dac0 -_0809D430: .4byte gSprites - thumb_func_end sub_809D3A4 - - thumb_func_start mon_icon_convert_unown_species_id -mon_icon_convert_unown_species_id: @ 809D434 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, SPECIES_UNOWN - bne _0809D45E - adds r0, r1, 0 - bl sub_809D474 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0809D450 - movs r0, SPECIES_UNOWN - b _0809D45A -_0809D450: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_0809D45A: - adds r1, r0, 0 - b _0809D46C -_0809D45E: - movs r0, 0xCE - lsls r0, 1 - adds r1, r2, 0 - cmp r1, r0 - bls _0809D46C - movs r1, 0x82 - lsls r1, 1 -_0809D46C: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end mon_icon_convert_unown_species_id - - thumb_func_start sub_809D474 -sub_809D474: @ 809D474 - push {lr} - adds r2, r0, 0 - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_809D474 - - thumb_func_start sub_809D4A8 -sub_809D4A8: @ 809D4A8 - push {r4,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - mov r1, sp - bl sub_80A2D64 - lsls r0, 16 - lsrs r0, 16 - cmp r0, SPECIES_UNOWN - bne _0809D4DE - mov r0, sp - ldrh r0, [r0] - cmp r0, 0 - bne _0809D4CE - mov r1, sp - adds r0, SPECIES_UNOWN - b _0809D4D6 -_0809D4CE: - mov r1, sp - movs r2, 0xCE - lsls r2, 1 - adds r0, r2 -_0809D4D6: - strh r0, [r1] - mov r0, sp - ldrh r0, [r0] - b _0809D4EA -_0809D4DE: - adds r0, r4, 0 - movs r1, 0 - bl mon_icon_convert_unown_species_id - lsls r0, 16 - lsrs r0, 16 -_0809D4EA: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809D4A8 - - thumb_func_start sub_809D4F4 -sub_809D4F4: @ 809D4F4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl mon_icon_convert_unown_species_id - lsls r0, 16 - ldr r1, _0809D50C - lsrs r0, 14 - adds r0, r1 - ldr r0, [r0] - pop {r1} - bx r1 - .align 2, 0 -_0809D50C: .4byte gMonIconTable - thumb_func_end sub_809D4F4 - - thumb_func_start sub_809D510 -sub_809D510: @ 809D510 - push {lr} - bl sub_809D7E8 - pop {r0} - bx r0 - thumb_func_end sub_809D510 - - thumb_func_start sub_809D51C -sub_809D51C: @ 809D51C - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0809D53C -_0809D522: - lsls r0, r4, 3 - adds r0, r5 - bl LoadSpritePalette - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0809D522 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809D53C: .4byte gMonIconPaletteTable - thumb_func_end sub_809D51C - - thumb_func_start unref_sub_809D540 -unref_sub_809D540: @ 809D540 - push {r4,lr} - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bls _0809D552 - movs r1, 0x82 - lsls r1, 1 -_0809D552: - ldr r0, _0809D578 - adds r0, r1, r0 - ldrb r0, [r0] - ldr r1, _0809D57C - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0809D572 - adds r0, r4, 0 - bl LoadSpritePalette -_0809D572: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809D578: .4byte gMonIconPaletteIndices -_0809D57C: .4byte gMonIconPaletteTable - thumb_func_end unref_sub_809D540 - - thumb_func_start sub_809D580 -sub_809D580: @ 809D580 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0809D5AC - adds r0, r1 - ldrb r0, [r0] - ldr r1, _0809D5B0 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0809D5A6 - adds r0, r4, 0 - bl LoadSpritePalette -_0809D5A6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809D5AC: .4byte gMonIconPaletteIndices -_0809D5B0: .4byte gMonIconPaletteTable - thumb_func_end sub_809D580 - - thumb_func_start unref_sub_809D5B4 -unref_sub_809D5B4: @ 809D5B4 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0809D5D4 -_0809D5BA: - lsls r0, r4, 3 - adds r0, r5 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0809D5BA - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809D5D4: .4byte gMonIconPaletteTable - thumb_func_end unref_sub_809D5B4 - - thumb_func_start unref_sub_809D5D8 -unref_sub_809D5D8: @ 809D5D8 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bls _0809D5EA - movs r1, 0x82 - lsls r1, 1 -_0809D5EA: - ldr r0, _0809D600 - adds r0, r1, r0 - ldrb r0, [r0] - ldr r1, _0809D604 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .align 2, 0 -_0809D600: .4byte gMonIconPaletteIndices -_0809D604: .4byte gMonIconPaletteTable - thumb_func_end unref_sub_809D5D8 - - thumb_func_start sub_809D608 -sub_809D608: @ 809D608 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0809D624 - adds r0, r1 - ldrb r0, [r0] - ldr r1, _0809D628 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .align 2, 0 -_0809D624: .4byte gMonIconPaletteIndices -_0809D628: .4byte gMonIconPaletteTable - thumb_func_end sub_809D608 - - thumb_func_start sub_809D62C -sub_809D62C: @ 809D62C - push {lr} - bl sub_809D638 - pop {r0} - bx r0 - thumb_func_end sub_809D62C - - thumb_func_start sub_809D638 -sub_809D638: @ 809D638 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - movs r7, 0 - adds r6, r4, 0 - adds r6, 0x2C - ldrb r2, [r6] - movs r0, 0x3F - mov r9, r0 - ands r0, r2 - cmp r0, 0 - bne _0809D6EC - movs r1, 0x2A - adds r1, r4 - mov r8, r1 - ldrb r1, [r1] - ldr r0, [r4, 0x8] - lsls r1, 2 - adds r1, r0 - adds r5, r4, 0 - adds r5, 0x2B - ldrb r0, [r5] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - movs r1, 0 - ldrsh r3, [r0, r1] - movs r0, 0x2 - negs r0, r0 - cmp r3, r0 - beq _0809D682 - adds r0, 0x1 - cmp r3, r0 - bne _0809D686 - b _0809D700 -_0809D682: - strb r7, [r5] - b _0809D700 -_0809D686: - ldr r2, _0809D6E4 - ldrb r1, [r4, 0x3] - lsrs r1, 6 - lsls r1, 1 - ldrb r0, [r4, 0x1] - lsrs r0, 6 - lsls r0, 3 - adds r1, r0 - adds r1, r2 - ldrh r2, [r1] - adds r1, r2, 0 - muls r1, r3 - ldr r0, [r4, 0xC] - adds r0, r1 - ldrh r1, [r4, 0x4] - lsls r1, 22 - lsrs r1, 17 - ldr r3, _0809D6E8 - adds r1, r3 - bl RequestSpriteCopy - mov r0, r8 - ldrb r1, [r0] - ldr r0, [r4, 0x8] - lsls r1, 2 - adds r1, r0 - ldrb r0, [r5] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - lsls r0, 10 - lsrs r0, 26 - mov r1, r9 - ands r1, r0 - ldrb r2, [r6] - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - ldrb r7, [r5] - b _0809D700 - .align 2, 0 -_0809D6E4: .4byte gSpriteImageSizes -_0809D6E8: .4byte 0x06010000 -_0809D6EC: - lsls r0, r2, 26 - lsrs r0, 26 - subs r0, 0x1 - movs r1, 0x3F - ands r0, r1 - movs r1, 0x40 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r6] -_0809D700: - adds r0, r7, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809D638 - - thumb_func_start sub_809D710 -sub_809D710: @ 809D710 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x38 - mov r9, r0 - adds r4, r1, 0 - adds r5, r2, 0 - mov r8, r3 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0 - str r0, [sp, 0x30] - ldr r2, _0809D7D8 - mov r0, r9 - ldr r6, [r0] - ldrb r1, [r6, 0x3] - lsrs r1, 6 - lsls r1, 1 - ldrb r0, [r6, 0x1] - lsrs r0, 6 - lsls r0, 3 - adds r1, r0 - adds r1, r2 - ldrh r2, [r1] - ldr r1, _0809D7DC - add r3, sp, 0x30 - ldr r0, [r3, 0x4] - ands r0, r1 - orrs r0, r2 - str r0, [r3, 0x4] - add r1, sp, 0x18 - ldr r0, _0809D7E0 - strh r0, [r1] - mov r0, r9 - ldrh r2, [r0, 0x14] - mov r0, sp - adds r0, 0x1A - strh r2, [r0] - str r6, [sp, 0x1C] - mov r2, r9 - ldr r0, [r2, 0x8] - str r0, [sp, 0x20] - str r3, [sp, 0x24] - ldr r0, [r2, 0xC] - str r0, [sp, 0x28] - ldr r0, [r2, 0x10] - str r0, [sp, 0x2C] - mov r0, sp - movs r2, 0x18 - bl memcpy - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - mov r3, r8 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r6, _0809D7E4 - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r4, r3, r6 - adds r5, r4, 0 - adds r5, 0x2C - ldrb r1, [r5] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r5] - adds r4, 0x3F - ldrb r2, [r4] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r4] - adds r6, 0xC - adds r3, r6 - mov r2, r9 - ldr r1, [r2, 0x4] - str r1, [r3] - add sp, 0x38 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809D7D8: .4byte gSpriteImageSizes -_0809D7DC: .4byte 0xffff0000 -_0809D7E0: .4byte 0x0000ffff -_0809D7E4: .4byte gSprites - thumb_func_end sub_809D710 - - thumb_func_start sub_809D7E8 -sub_809D7E8: @ 809D7E8 - push {lr} - sub sp, 0x8 - movs r1, 0 - str r1, [sp] - ldr r3, _0809D81C - ldrb r2, [r0, 0x3] - lsrs r2, 6 - lsls r2, 1 - ldrb r1, [r0, 0x1] - lsrs r1, 6 - lsls r1, 3 - adds r2, r1 - adds r2, r3 - ldrh r3, [r2] - ldr r2, _0809D820 - ldr r1, [sp, 0x4] - ands r1, r2 - orrs r1, r3 - str r1, [sp, 0x4] - mov r1, sp - str r1, [r0, 0xC] - bl DestroySprite - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0809D81C: .4byte gSpriteImageSizes -_0809D820: .4byte 0xffff0000 - thumb_func_end sub_809D7E8 - - thumb_func_start sub_809D824 -sub_809D824: @ 809D824 - mov r12, r0 - adds r0, 0x2A - movs r3, 0 - strb r1, [r0] - mov r2, r12 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - mov r0, r12 - adds r0, 0x2B - strb r3, [r0] - bx lr - thumb_func_end sub_809D824 - - thumb_func_start sub_809D844 -sub_809D844: @ 809D844 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_809D844 - - thumb_func_start sub_809D85C -sub_809D85C: @ 809D85C - push {lr} - ldr r1, _0809D8A0 - ldr r0, _0809D8A4 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _0809D8A8 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _0809D8AC - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _0809D8B0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _0809D8B4 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _0809D8B8 - ldrh r0, [r0] - strh r0, [r1] - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - .align 2, 0 -_0809D8A0: .4byte REG_BG1HOFS -_0809D8A4: .4byte gUnknown_030042C0 -_0809D8A8: .4byte gUnknown_030041B4 -_0809D8AC: .4byte gUnknown_03004288 -_0809D8B0: .4byte gUnknown_03004280 -_0809D8B4: .4byte gUnknown_030041B0 -_0809D8B8: .4byte gUnknown_030041B8 - thumb_func_end sub_809D85C - - thumb_func_start sub_809D8BC -sub_809D8BC: @ 809D8BC - push {r4-r7,lr} - ldr r4, [sp, 0x14] - lsls r4, 24 - lsrs r7, r4, 24 - ldr r6, _0809D904 - ldrb r4, [r6, 0x8] - movs r5, 0x80 - orrs r4, r5 - strb r4, [r6, 0x8] - ldr r5, _0809D908 - str r0, [r5] - movs r4, 0 - strb r7, [r5, 0x8] - strb r1, [r5, 0x9] - strb r2, [r5, 0xA] - str r3, [r5, 0x4] - adds r0, r5, 0 - adds r0, 0x74 - strb r4, [r0] - adds r1, r5, 0 - adds r1, 0x79 - movs r0, 0x4 - strb r0, [r1] - adds r0, r5, 0 - adds r0, 0x7C - movs r1, 0 - strh r4, [r0] - adds r0, 0x4 - strb r1, [r0] - subs r0, 0x5 - strb r1, [r0] - cmp r7, 0x4 - bls _0809D90C - movs r0, 0x1 - strb r0, [r5, 0xE] - b _0809D90E - .align 2, 0 -_0809D904: .4byte gPaletteFade -_0809D908: .4byte 0x02018000 -_0809D90C: - strb r1, [r5, 0xE] -_0809D90E: - cmp r7, 0x6 - bhi _0809D9D6 - lsls r0, r7, 2 - ldr r1, _0809D91C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809D91C: .4byte _0809D920 - .align 2, 0 -_0809D920: - .4byte _0809D93C - .4byte _0809D9BC - .4byte _0809D992 - .4byte _0809D9D6 - .4byte _0809D966 - .4byte _0809D93C - .4byte _0809D9BC -_0809D93C: - adds r0, r5, 0 - adds r0, 0x75 - movs r1, 0 - strb r1, [r0] - adds r2, r5, 0 - adds r2, 0x76 - movs r0, 0x3 - strb r0, [r2] - adds r0, r5, 0 - adds r0, 0x77 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r1, r5, 0 - adds r1, 0x7E - movs r0, 0x1 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x7 - strb r0, [r1] - b _0809D9D6 -_0809D966: - adds r0, r5, 0 - adds r0, 0x75 - movs r1, 0 - strb r1, [r0] - adds r2, r5, 0 - adds r2, 0x76 - movs r0, 0x3 - strb r0, [r2] - adds r0, r5, 0 - adds r0, 0x77 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r0, 0x6 - movs r1, 0x1 - strb r1, [r0] - adds r2, 0x9 - movs r0, 0x7 - strb r0, [r2] - adds r0, r5, 0 - adds r0, 0x7B - b _0809D9D4 -_0809D992: - adds r1, r5, 0 - adds r1, 0x75 - movs r3, 0 - movs r0, 0x2 - strb r0, [r1] - adds r0, r5, 0 - adds r0, 0x76 - movs r2, 0x3 - strb r2, [r0] - adds r0, 0x1 - movs r1, 0x1 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r0, 0x6 - strb r2, [r0] - adds r0, 0x1 - strb r3, [r0] - subs r0, 0x6 - strb r3, [r0] - b _0809D9D6 -_0809D9BC: - adds r1, r5, 0 - adds r1, 0x75 - movs r0, 0x2 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x3 - strb r0, [r1] - adds r0, r5, 0 - adds r0, 0x77 - movs r1, 0x1 - strb r1, [r0] - adds r0, 0x1 -_0809D9D4: - strb r1, [r0] -_0809D9D6: - adds r0, r5, 0 - adds r0, 0x75 - ldrb r0, [r0] - strb r0, [r5, 0xB] - ldr r0, _0809D9EC - bl SetMainCallback2 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809D9EC: .4byte sub_809DE44 - thumb_func_end sub_809D8BC - - thumb_func_start sub_809D9F0 -sub_809D9F0: @ 809D9F0 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, [sp, 0x10] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r5, 16 - lsrs r5, 16 - movs r4, 0x2 - str r4, [sp] - bl sub_809D8BC - ldr r0, _0809DA18 - adds r0, 0x7C - strh r5, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809DA18: .4byte 0x02018000 - thumb_func_end sub_809D9F0 - - thumb_func_start sub_809DA1C -sub_809DA1C: @ 809DA1C - push {lr} - ldr r0, _0809DA30 - ldrb r0, [r0, 0x8] - cmp r0, 0x6 - bhi _0809DA78 - lsls r0, 2 - ldr r1, _0809DA34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809DA30: .4byte 0x02018000 -_0809DA34: .4byte _0809DA38 - .align 2, 0 -_0809DA38: - .4byte _0809DA54 - .4byte _0809DA6C - .4byte _0809DA64 - .4byte _0809DA64 - .4byte _0809DA5C - .4byte _0809DA54 - .4byte _0809DA6C -_0809DA54: - ldr r0, _0809DA58 - b _0809DA6E - .align 2, 0 -_0809DA58: .4byte sub_809E19C -_0809DA5C: - ldr r0, _0809DA60 - b _0809DA6E - .align 2, 0 -_0809DA60: .4byte sub_809E19C -_0809DA64: - ldr r0, _0809DA68 - b _0809DA6E - .align 2, 0 -_0809DA68: .4byte sub_809EB40 -_0809DA6C: - ldr r0, _0809DA7C -_0809DA6E: - movs r1, 0 - bl CreateTask - ldr r1, _0809DA80 - strb r0, [r1, 0xF] -_0809DA78: - pop {r0} - bx r0 - .align 2, 0 -_0809DA7C: .4byte sub_809E3FC -_0809DA80: .4byte 0x02018000 - thumb_func_end sub_809DA1C - - thumb_func_start sub_809DA84 -sub_809DA84: @ 809DA84 - push {r4-r7,lr} - sub sp, 0x8 - ldr r1, _0809DAA4 - ldr r2, _0809DAA8 - adds r0, r1, r2 - ldrb r0, [r0] - mov r12, r1 - cmp r0, 0x16 - bls _0809DA98 - b _0809DE00 -_0809DA98: - lsls r0, 2 - ldr r1, _0809DAAC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809DAA4: .4byte gMain -_0809DAA8: .4byte 0x0000043c -_0809DAAC: .4byte _0809DAB0 - .align 2, 0 -_0809DAB0: - .4byte _0809DB0C - .4byte _0809DB18 - .4byte _0809DB2C - .4byte _0809DB32 - .4byte _0809DB80 - .4byte _0809DB94 - .4byte _0809DBA0 - .4byte _0809DBBC - .4byte _0809DBC8 - .4byte _0809DBDC - .4byte _0809DC2C - .4byte _0809DC48 - .4byte _0809DC5C - .4byte _0809DC90 - .4byte _0809DCB0 - .4byte _0809DCC4 - .4byte _0809DCF8 - .4byte _0809DD02 - .4byte _0809DD30 - .4byte _0809DD3C - .4byte _0809DD68 - .4byte _0809DD98 - .4byte _0809DDE0 -_0809DB0C: - movs r0, 0 - bl SetVBlankCallback - bl ResetSpriteData - b _0809DDE8 -_0809DB18: - bl remove_some_task - ldr r1, _0809DB24 - ldr r2, _0809DB28 - adds r1, r2 - b _0809DDEE - .align 2, 0 -_0809DB24: .4byte gMain -_0809DB28: .4byte 0x0000043c -_0809DB2C: - bl FreeAllSpritePalettes - b _0809DDE8 -_0809DB32: - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0x80 - lsls r3, 9 - movs r5, 0 - ldr r1, _0809DB74 - movs r4, 0x80 - lsls r4, 5 - ldr r6, _0809DB78 - movs r7, 0x85 - lsls r7, 24 -_0809DB48: - str r5, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - str r2, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _0809DB48 - str r5, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _0809DB7C - add r1, r12 - b _0809DDEE - .align 2, 0 -_0809DB74: .4byte 0x040000d4 -_0809DB78: .4byte 0x85000400 -_0809DB7C: .4byte 0x0000043c -_0809DB80: - bl sub_809DE64 - ldr r1, _0809DB8C - ldr r2, _0809DB90 - adds r1, r2 - b _0809DDEE - .align 2, 0 -_0809DB8C: .4byte gMain -_0809DB90: .4byte 0x0000043c -_0809DB94: - ldr r0, _0809DB9C - bl SetUpWindowConfig - b _0809DDE8 - .align 2, 0 -_0809DB9C: .4byte gWindowConfig_81E6E6C -_0809DBA0: - ldr r0, _0809DBB0 - bl MultistepInitMenuWindowBegin - ldr r1, _0809DBB4 - ldr r2, _0809DBB8 - adds r1, r2 - b _0809DDEE - .align 2, 0 -_0809DBB0: .4byte gWindowConfig_81E6E6C -_0809DBB4: .4byte gMain -_0809DBB8: .4byte 0x0000043c -_0809DBBC: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - bne _0809DBC6 - b _0809DE38 -_0809DBC6: - b _0809DDE8 -_0809DBC8: - bl sub_809DA1C - ldr r1, _0809DBD4 - ldr r2, _0809DBD8 - adds r1, r2 - b _0809DDEE - .align 2, 0 -_0809DBD4: .4byte gMain -_0809DBD8: .4byte 0x0000043c -_0809DBDC: - ldr r1, _0809DC08 - ldr r2, _0809DC0C - ldr r0, _0809DC10 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0809DC14 - str r1, [r0, 0x8] - ldr r1, [r0, 0x8] - ldr r1, _0809DC18 - ldr r2, _0809DC1C - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0809DC20 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _0809DC24 - adds r0, 0x74 - movs r1, 0 - strb r1, [r0] - ldr r1, _0809DC28 - add r1, r12 - b _0809DDEE - .align 2, 0 -_0809DC08: .4byte gSummaryScreenTextTiles -_0809DC0C: .4byte 0x0600d000 -_0809DC10: .4byte 0x040000d4 -_0809DC14: .4byte 0x800000a0 -_0809DC18: .4byte gSummaryScreenButtonTiles -_0809DC1C: .4byte 0x0600d140 -_0809DC20: .4byte 0x80000080 -_0809DC24: .4byte 0x02018000 -_0809DC28: .4byte 0x0000043c -_0809DC2C: - bl sub_809DF00 - lsls r0, 24 - cmp r0, 0 - bne _0809DC38 - b _0809DE38 -_0809DC38: - ldr r0, _0809DC44 - adds r0, 0x74 - movs r1, 0 - strb r1, [r0] - b _0809DDE8 - .align 2, 0 -_0809DC44: .4byte 0x02018000 -_0809DC48: - bl sub_80A18C4 - ldr r1, _0809DC54 - ldr r2, _0809DC58 - adds r1, r2 - b _0809DDEE - .align 2, 0 -_0809DC54: .4byte gMain -_0809DC58: .4byte 0x0000043c -_0809DC5C: - ldr r4, _0809DC78 - adds r0, r4, 0 - bl sub_809F678 - adds r0, r4, 0 - bl sub_80A1CD8 - lsls r0, 24 - cmp r0, 0 - bne _0809DC7C - movs r0, 0 - bl sub_80A12D0 - b _0809DC82 - .align 2, 0 -_0809DC78: .4byte 0x02018010 -_0809DC7C: - movs r0, 0xA - bl sub_80A12D0 -_0809DC82: - ldr r0, _0809DC8C - bl sub_80A0EA4 - b _0809DDE8 - .align 2, 0 -_0809DC8C: .4byte 0x02018010 -_0809DC90: - bl sub_80A1950 - ldr r0, _0809DCA4 - bl sub_80A1D84 - ldr r1, _0809DCA8 - ldr r2, _0809DCAC - adds r1, r2 - b _0809DDEE - .align 2, 0 -_0809DCA4: .4byte 0x02018010 -_0809DCA8: .4byte gMain -_0809DCAC: .4byte 0x0000043c -_0809DCB0: - ldr r4, _0809DCC0 - adds r0, r4, 0 - bl sub_80A1DE8 - adds r4, 0x64 - movs r0, 0 - strb r0, [r4] - b _0809DDE8 - .align 2, 0 -_0809DCC0: .4byte 0x02018010 -_0809DCC4: - ldr r4, _0809DCEC - adds r5, r4, 0 - adds r5, 0x64 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_809F6B4 - subs r4, 0x10 - strb r0, [r4, 0xC] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0809DCE0 - b _0809DE38 -_0809DCE0: - movs r0, 0 - strb r0, [r5] - ldr r1, _0809DCF0 - ldr r2, _0809DCF4 - adds r1, r2 - b _0809DDEE - .align 2, 0 -_0809DCEC: .4byte 0x02018010 -_0809DCF0: .4byte gMain -_0809DCF4: .4byte 0x0000043c -_0809DCF8: - bl sub_809E044 - bl sub_80A0EE8 - b _0809DDE8 -_0809DD02: - ldr r1, _0809DD20 - ldrb r0, [r1, 0xB] - cmp r0, 0x1 - bhi _0809DD18 - ldr r0, _0809DD24 - ldrb r1, [r1, 0xB] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 -_0809DD18: - ldr r1, _0809DD28 - ldr r2, _0809DD2C - adds r1, r2 - b _0809DDEE - .align 2, 0 -_0809DD20: .4byte 0x02018000 -_0809DD24: .4byte gUnknown_083C1580 -_0809DD28: .4byte gMain -_0809DD2C: .4byte 0x0000043c -_0809DD30: - ldr r0, _0809DD38 - bl sub_809FAC8 - b _0809DDE8 - .align 2, 0 -_0809DD38: .4byte 0x02018010 -_0809DD3C: - ldr r2, _0809DD58 - ldr r0, _0809DD5C - ldrb r1, [r0, 0xB] - lsls r1, 2 - adds r1, r2 - adds r0, 0x10 - ldr r1, [r1] - bl _call_via_r1 - ldr r1, _0809DD60 - ldr r2, _0809DD64 - adds r1, r2 - b _0809DDEE - .align 2, 0 -_0809DD58: .4byte gUnknown_083C1598 -_0809DD5C: .4byte 0x02018000 -_0809DD60: .4byte gMain -_0809DD64: .4byte 0x0000043c -_0809DD68: - ldr r0, _0809DD84 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - beq _0809DD8C - ldr r1, _0809DD88 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - b _0809DDE8 - .align 2, 0 -_0809DD84: .4byte 0x02018010 -_0809DD88: .4byte gUnknown_030041B0 -_0809DD8C: - ldr r0, _0809DD94 - strh r1, [r0] - b _0809DDE8 - .align 2, 0 -_0809DD94: .4byte gUnknown_030041B0 -_0809DD98: - bl sub_809EBC4 - ldr r0, _0809DDB8 - adds r0, 0x79 - ldrb r0, [r0] - cmp r0, 0 - beq _0809DDBC - movs r0, 0 - movs r1, 0 - bl sub_80A1488 - movs r0, 0 - movs r1, 0 - bl sub_80A1654 - b _0809DDCC - .align 2, 0 -_0809DDB8: .4byte 0x02018000 -_0809DDBC: - movs r0, 0xA - movs r1, 0 - bl sub_80A1488 - movs r0, 0xA - movs r1, 0 - bl sub_80A1654 -_0809DDCC: - bl sub_80A0DD0 - ldr r1, _0809DDD8 - ldr r2, _0809DDDC - adds r1, r2 - b _0809DDEE - .align 2, 0 -_0809DDD8: .4byte gMain -_0809DDDC: .4byte 0x0000043c -_0809DDE0: - bl sub_8055870 - cmp r0, 0x1 - beq _0809DE38 -_0809DDE8: - ldr r1, _0809DDF8 - ldr r0, _0809DDFC - adds r1, r0 -_0809DDEE: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0809DE38 - .align 2, 0 -_0809DDF8: .4byte gMain -_0809DDFC: .4byte 0x0000043c -_0809DE00: - ldr r0, _0809DE2C - bl SetVBlankCallback - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginHardwarePaletteFade - ldr r0, _0809DE30 - bl SetMainCallback2 - ldr r2, _0809DE34 - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r0, 0x1 - b _0809DE3A - .align 2, 0 -_0809DE2C: .4byte sub_809D85C -_0809DE30: .4byte sub_809D844 -_0809DE34: .4byte gPaletteFade -_0809DE38: - movs r0, 0 -_0809DE3A: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809DA84 - - thumb_func_start sub_809DE44 -sub_809DE44: @ 809DE44 - push {lr} -_0809DE46: - bl sub_809DA84 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0809DE5E - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809DE46 -_0809DE5E: - pop {r0} - bx r0 - thumb_func_end sub_809DE44 - - thumb_func_start sub_809DE64 -sub_809DE64: @ 809DE64 - ldr r1, _0809DED0 - ldr r2, _0809DED4 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0809DED8 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0809DEDC - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0809DEE0 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0809DEE4 - movs r0, 0 - strh r0, [r1] - ldr r1, _0809DEE8 - strh r0, [r1] - ldr r1, _0809DEEC - strh r0, [r1] - ldr r1, _0809DEF0 - strh r0, [r1] - ldr r1, _0809DEF4 - strh r0, [r1] - ldr r1, _0809DEF8 - strh r0, [r1] - ldr r1, _0809DEFC - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - adds r1, 0x32 - strh r0, [r1] - subs r1, 0x50 - movs r2, 0xFA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_0809DED0: .4byte REG_BG0CNT -_0809DED4: .4byte 0x00001e08 -_0809DED8: .4byte 0x00004801 -_0809DEDC: .4byte 0x00004a02 -_0809DEE0: .4byte 0x00005c03 -_0809DEE4: .4byte gUnknown_030042C0 -_0809DEE8: .4byte gUnknown_030041B4 -_0809DEEC: .4byte gUnknown_03004288 -_0809DEF0: .4byte gUnknown_03004280 -_0809DEF4: .4byte gUnknown_030041B0 -_0809DEF8: .4byte gUnknown_030041B8 -_0809DEFC: .4byte REG_BG0HOFS - thumb_func_end sub_809DE64 - - thumb_func_start sub_809DF00 -sub_809DF00: @ 809DF00 - push {lr} - ldr r0, _0809DF18 - adds r0, 0x74 - ldrb r0, [r0] - cmp r0, 0xC - bls _0809DF0E - b _0809E030 -_0809DF0E: - lsls r0, 2 - ldr r1, _0809DF1C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809DF18: .4byte 0x02018000 -_0809DF1C: .4byte _0809DF20 - .align 2, 0 -_0809DF20: - .4byte _0809DF54 - .4byte _0809DF64 - .4byte _0809DF74 - .4byte _0809DF88 - .4byte _0809DF9C - .4byte _0809DFAC - .4byte _0809DFC4 - .4byte _0809DFD4 - .4byte _0809DFE0 - .4byte _0809DFEC - .4byte _0809DFF8 - .4byte _0809E004 - .4byte _0809E010 -_0809DF54: - ldr r0, _0809DF60 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - b _0809E030 - .align 2, 0 -_0809DF60: .4byte gStatusScreen_Gfx -_0809DF64: - ldr r0, _0809DF6C - ldr r1, _0809DF70 - b _0809DFB0 - .align 2, 0 -_0809DF6C: .4byte gUnknown_08E73508 -_0809DF70: .4byte 0x0600e000 -_0809DF74: - ldr r0, _0809DF80 - ldr r1, _0809DF84 - bl LZDecompressVram - b _0809E030 - .align 2, 0 -_0809DF80: .4byte gUnknown_08E74E88 -_0809DF84: .4byte 0x0600e800 -_0809DF88: - ldr r0, _0809DF94 - ldr r1, _0809DF98 - bl LZDecompressVram - b _0809E030 - .align 2, 0 -_0809DF94: .4byte gStatusScreen_Tilemap -_0809DF98: .4byte 0x06004800 -_0809DF9C: - ldr r0, _0809DFA4 - ldr r1, _0809DFA8 - b _0809DFB0 - .align 2, 0 -_0809DFA4: .4byte gUnknown_08E73E88 -_0809DFA8: .4byte 0x06005800 -_0809DFAC: - ldr r0, _0809DFBC - ldr r1, _0809DFC0 -_0809DFB0: - movs r2, 0x80 - lsls r2, 3 - bl CpuSet - b _0809E030 - .align 2, 0 -_0809DFBC: .4byte gUnknown_08E74688 -_0809DFC0: .4byte 0x06006800 -_0809DFC4: - ldr r0, _0809DFD0 - movs r1, 0 - movs r2, 0xA0 - bl LoadCompressedPalette - b _0809E030 - .align 2, 0 -_0809DFD0: .4byte gStatusScreen_Pal -_0809DFD4: - ldr r0, _0809DFDC - bl LoadCompressedObjectPic - b _0809E030 - .align 2, 0 -_0809DFDC: .4byte gUnknown_083C11B8 -_0809DFE0: - ldr r0, _0809DFE8 - bl LoadCompressedObjectPic - b _0809E030 - .align 2, 0 -_0809DFE8: .4byte gUnknown_083C1270 -_0809DFEC: - ldr r0, _0809DFF4 - bl LoadCompressedObjectPic - b _0809E030 - .align 2, 0 -_0809DFF4: .4byte gUnknown_083C12F4 -_0809DFF8: - ldr r0, _0809E000 - bl LoadCompressedObjectPalette - b _0809E030 - .align 2, 0 -_0809E000: .4byte gUnknown_083C12FC -_0809E004: - ldr r0, _0809E00C - bl LoadCompressedObjectPalette - b _0809E030 - .align 2, 0 -_0809E00C: .4byte gUnknown_083C1278 -_0809E010: - ldr r0, _0809E028 - movs r1, 0xE8 - lsls r1, 1 - movs r2, 0x60 - bl LoadCompressedPalette - ldr r0, _0809E02C - adds r0, 0x74 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _0809E03C - .align 2, 0 -_0809E028: .4byte gMoveTypes_Pal -_0809E02C: .4byte 0x02018000 -_0809E030: - ldr r1, _0809E040 - adds r1, 0x74 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_0809E03C: - pop {r1} - bx r1 - .align 2, 0 -_0809E040: .4byte 0x02018000 - thumb_func_end sub_809DF00 - - thumb_func_start sub_809E044 -sub_809E044: @ 809E044 - push {r4,r5,lr} - ldr r4, _0809E0F4 - adds r0, r4, 0 - movs r1, 0x81 - movs r2, 0x2 - bl LoadPalette - adds r5, r4, 0x2 - adds r0, r5, 0 - movs r1, 0x88 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x8F - movs r2, 0x2 - bl LoadPalette - adds r0, r5, 0 - movs r1, 0x89 - movs r2, 0x2 - bl LoadPalette - subs r5, 0x12 - adds r0, r5, 0 - movs r1, 0xD1 - movs r2, 0x4 - bl LoadPalette - adds r0, r4, 0 - subs r0, 0x8 - movs r1, 0xD3 - movs r2, 0x4 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xD5 - movs r2, 0x4 - bl LoadPalette - adds r0, r5, 0 - movs r1, 0xD7 - movs r2, 0x4 - bl LoadPalette - adds r0, r4, 0 - subs r0, 0x14 - movs r1, 0xD9 - movs r2, 0x4 - bl LoadPalette - adds r0, r4, 0 - subs r0, 0xC - movs r1, 0xDB - movs r2, 0x4 - bl LoadPalette - adds r0, r4, 0 - subs r0, 0x18 - movs r1, 0xDD - movs r2, 0x2 - bl LoadPalette - subs r5, 0x6 - adds r0, r5, 0 - movs r1, 0xDE - movs r2, 0x2 - bl LoadPalette - subs r4, 0x1A - adds r0, r4, 0 - movs r1, 0xDF - movs r2, 0x2 - bl LoadPalette - ldr r0, _0809E0F8 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - adds r0, r5, 0 - movs r1, 0xF9 - movs r2, 0x2 - bl LoadPalette - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809E0F4: .4byte gUnknownPalette_81E6692+0x1C -_0809E0F8: .4byte gFontDefaultPalette - thumb_func_end sub_809E044 - - thumb_func_start sub_809E0FC -sub_809E0FC: @ 809E0FC - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0809E134 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809E138 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809E134: .4byte gTasks -_0809E138: .4byte sub_809E13C - thumb_func_end sub_809E0FC - - thumb_func_start sub_809E13C -sub_809E13C: @ 809E13C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8055870 - cmp r0, 0x1 - beq _0809E182 - ldr r0, _0809E188 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0809E182 - ldr r1, _0809E18C - ldr r4, _0809E190 - ldrb r0, [r4, 0x9] - strb r0, [r1] - bl ResetSpriteData - bl FreeAllSpritePalettes - bl StopCryAndClearCrySongs - ldr r0, _0809E194 - ldr r1, _0809E198 - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl - ldr r0, [r4, 0x4] - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0809E182: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809E188: .4byte gPaletteFade -_0809E18C: .4byte gUnknown_020384F0 -_0809E190: .4byte 0x02018000 -_0809E194: .4byte gMPlay_BGM -_0809E198: .4byte 0x0000ffff - thumb_func_end sub_809E13C - - thumb_func_start sub_809E19C -sub_809E19C: @ 809E19C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0809E1C8 - ldrb r1, [r0, 0x7] - movs r2, 0x80 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0809E25A - ldr r5, _0809E1CC - ldrh r1, [r5, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0809E1D0 - movs r1, 0x1 - negs r1, r1 - adds r0, r4, 0 - bl sub_809F1B8 - b _0809E25A - .align 2, 0 -_0809E1C8: .4byte gPaletteFade -_0809E1CC: .4byte gMain -_0809E1D0: - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0809E1E2 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_809F1B8 - b _0809E25A -_0809E1E2: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0809E1F6 - bl sub_80F9284 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809E202 -_0809E1F6: - movs r1, 0x1 - negs r1, r1 - adds r0, r4, 0 - bl sub_809F134 - b _0809E25A -_0809E202: - ldrh r1, [r5, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0809E218 - bl sub_80F9284 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0809E222 -_0809E218: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_809F134 - b _0809E25A -_0809E222: - ldrh r1, [r5, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809E24C - ldr r5, _0809E248 - ldrb r0, [r5, 0xB] - cmp r0, 0x1 - bls _0809E23A - adds r0, r4, 0 - bl sub_809EA50 -_0809E23A: - ldrb r0, [r5, 0xB] - cmp r0, 0 - bne _0809E25A - adds r0, r4, 0 - bl sub_809E0FC - b _0809E25A - .align 2, 0 -_0809E248: .4byte 0x02018000 -_0809E24C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809E25A - adds r0, r4, 0 - bl sub_809E0FC -_0809E25A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_809E19C - - thumb_func_start sub_809E260 -sub_809E260: @ 809E260 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0809E29C - ldrb r1, [r0, 0x7] - movs r2, 0x80 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0809E276 - b _0809E3EE -_0809E276: - ldr r5, _0809E2A0 - ldrh r1, [r5, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0809E2AC - ldr r1, _0809E2A4 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x4 - strh r1, [r0, 0x8] - subs r1, 0x5 - ldr r2, _0809E2A8 - adds r0, r4, 0 - bl sub_809E8F0 - b _0809E3EE - .align 2, 0 -_0809E29C: .4byte gPaletteFade -_0809E2A0: .4byte gMain -_0809E2A4: .4byte gTasks -_0809E2A8: .4byte 0x02018079 -_0809E2AC: - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0809E2D8 - ldr r1, _0809E2D0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x4 - strh r1, [r0, 0x8] - ldr r2, _0809E2D4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_809E8F0 - b _0809E3EE - .align 2, 0 -_0809E2D0: .4byte gTasks -_0809E2D4: .4byte 0x02018079 -_0809E2D8: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0809E2EC - bl sub_80F9284 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809E324 -_0809E2EC: - ldr r1, _0809E320 - ldrb r0, [r1, 0xB] - cmp r0, 0x3 - bne _0809E314 - adds r0, r1, 0 - adds r0, 0x79 - ldrb r0, [r0] - cmp r0, 0x4 - bne _0809E308 - adds r0, r1, 0 - adds r0, 0x7C - ldrh r0, [r0] - cmp r0, 0 - beq _0809E314 -_0809E308: - movs r0, 0 - movs r1, 0xE - movs r2, 0x9 - movs r3, 0x12 - bl MenuZeroFillWindowRect -_0809E314: - movs r1, 0x1 - negs r1, r1 - adds r0, r4, 0 - bl sub_809F134 - b _0809E3EE - .align 2, 0 -_0809E320: .4byte 0x02018000 -_0809E324: - ldrh r1, [r5, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0809E33A - bl sub_80F9284 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0809E37C -_0809E33A: - ldr r1, _0809E378 - adds r2, r1, 0 - adds r2, 0x76 - ldrb r0, [r1, 0xB] - ldrb r2, [r2] - cmp r0, r2 - beq _0809E3EE - cmp r0, 0x2 - bne _0809E36C - adds r0, r1, 0 - adds r0, 0x79 - ldrb r0, [r0] - cmp r0, 0x4 - bne _0809E360 - adds r0, r1, 0 - adds r0, 0x7C - ldrh r0, [r0] - cmp r0, 0 - beq _0809E36C -_0809E360: - movs r0, 0 - movs r1, 0xE - movs r2, 0x9 - movs r3, 0x12 - bl MenuZeroFillWindowRect -_0809E36C: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_809F134 - b _0809E3EE - .align 2, 0 -_0809E378: .4byte 0x02018000 -_0809E37C: - ldrh r1, [r5, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809E3D4 - adds r0, r4, 0 - bl sub_809F7D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0809E3A0 - ldr r0, _0809E3BC - adds r5, r0, 0 - adds r5, 0x79 - ldrb r0, [r5] - cmp r0, 0x4 - bne _0809E3C4 -_0809E3A0: - ldr r0, _0809E3BC - adds r1, r0, 0 - adds r1, 0x79 - ldrb r1, [r1] - adds r0, 0x7A - strb r1, [r0] - ldr r1, _0809E3C0 - ldrb r0, [r0] - strh r0, [r1] - adds r0, r4, 0 - bl sub_809E0FC - b _0809E3EE - .align 2, 0 -_0809E3BC: .4byte 0x02018000 -_0809E3C0: .4byte gUnknown_0202E8CE -_0809E3C4: - movs r0, 0x20 - bl PlaySE - ldrb r1, [r5] - adds r0, r4, 0 - bl sub_809F9D0 - b _0809E3EE -_0809E3D4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809E3EE - ldr r0, _0809E3F4 - adds r0, 0x7A - movs r1, 0x4 - strb r1, [r0] - ldr r0, _0809E3F8 - strh r1, [r0] - adds r0, r4, 0 - bl sub_809E0FC -_0809E3EE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809E3F4: .4byte 0x02018000 -_0809E3F8: .4byte gUnknown_0202E8CE - thumb_func_end sub_809E260 - - thumb_func_start sub_809E3FC -sub_809E3FC: @ 809E3FC - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - ldr r0, _0809E438 - ldrb r1, [r0, 0x7] - movs r2, 0x80 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0809E502 - ldr r0, _0809E43C - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0809E448 - ldr r1, _0809E440 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x4 - strh r1, [r0, 0x8] - subs r1, 0x5 - ldr r2, _0809E444 - adds r0, r5, 0 - bl sub_809E8F0 - b _0809E502 - .align 2, 0 -_0809E438: .4byte gPaletteFade -_0809E43C: .4byte gMain -_0809E440: .4byte gTasks -_0809E444: .4byte 0x02018079 -_0809E448: - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0809E474 - ldr r1, _0809E46C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x4 - strh r1, [r0, 0x8] - ldr r2, _0809E470 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_809E8F0 - b _0809E502 - .align 2, 0 -_0809E46C: .4byte gTasks -_0809E470: .4byte 0x02018079 -_0809E474: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809E4EE - ldr r4, _0809E4A8 - adds r6, r4, 0 - adds r6, 0x79 - ldrb r0, [r6] - cmp r0, 0x4 - beq _0809E4E0 - adds r0, r4, 0 - adds r0, 0x7B - ldrb r0, [r0] - cmp r0, 0 - bne _0809E4E0 - adds r0, r4, 0 - adds r0, 0x10 - bl sub_809E508 - lsls r0, 24 - cmp r0, 0 - bne _0809E4AC - movs r0, 0x20 - bl PlaySE - b _0809E502 - .align 2, 0 -_0809E4A8: .4byte 0x02018000 -_0809E4AC: - movs r0, 0x5 - bl PlaySE - ldrb r1, [r6] - adds r0, r4, 0 - adds r0, 0x7A - strb r1, [r0] - movs r0, 0x1 - bl sub_80A1B40 - movs r0, 0x13 - bl sub_80A1A30 - ldr r1, _0809E4D8 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809E4DC - str r1, [r0] - b _0809E502 - .align 2, 0 -_0809E4D8: .4byte gTasks -_0809E4DC: .4byte sub_809E534 -_0809E4E0: - movs r0, 0x5 - bl PlaySE - adds r0, r7, 0 - bl sub_809EAC8 - b _0809E502 -_0809E4EE: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809E502 - movs r0, 0x5 - bl PlaySE - adds r0, r7, 0 - bl sub_809EAC8 -_0809E502: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809E3FC - - thumb_func_start sub_809E508 -sub_809E508: @ 809E508 - push {r4,r5,lr} - adds r5, r0, 0 - movs r4, 0x1 -_0809E50E: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_809F760 - lsls r0, 16 - cmp r0, 0 - beq _0809E520 - movs r0, 0x1 - b _0809E52C -_0809E520: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _0809E50E - movs r0, 0 -_0809E52C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809E508 - - thumb_func_start sub_809E534 -sub_809E534: @ 809E534 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r2, r3, 0 - ldr r0, _0809E564 - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0809E570 - ldr r1, _0809E568 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3 - strh r1, [r0, 0x8] - subs r1, 0x4 - ldr r2, _0809E56C - adds r0, r3, 0 - bl sub_809E8F0 - b _0809E5C0 - .align 2, 0 -_0809E564: .4byte gMain -_0809E568: .4byte gTasks -_0809E56C: .4byte 0x0201807a -_0809E570: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809E59C - ldr r1, _0809E594 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3 - strh r1, [r0, 0x8] - ldr r2, _0809E598 - adds r0, r3, 0 - movs r1, 0x1 - bl sub_809E8F0 - b _0809E5C0 - .align 2, 0 -_0809E594: .4byte gTasks -_0809E598: .4byte 0x0201807a -_0809E59C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809E5AE - adds r0, r3, 0 - movs r1, 0x1 - bl sub_809E83C - b _0809E5C0 -_0809E5AE: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809E5C0 - movs r1, 0x1 - negs r1, r1 - adds r0, r2, 0 - bl sub_809E83C -_0809E5C0: - pop {r0} - bx r0 - thumb_func_end sub_809E534 - - thumb_func_start sub_809E5C4 -sub_809E5C4: @ 809E5C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r1, _0809E6D0 - ldr r5, [r1] - ldrb r2, [r1, 0x9] - movs r0, 0x64 - muls r0, r2 - adds r5, r0 - adds r0, r1, 0 - adds r0, 0x79 - ldrb r0, [r0] - mov r8, r0 - adds r1, 0x7A - ldrb r6, [r1] - adds r0, 0xD - str r0, [sp, 0x8] - adds r0, r5, 0 - ldr r1, [sp, 0x8] - bl GetMonData - mov r1, sp - adds r1, 0x2 - str r1, [sp, 0x14] - strh r0, [r1] - adds r2, r6, 0 - adds r2, 0xD - str r2, [sp, 0xC] - adds r0, r5, 0 - adds r1, r2, 0 - bl GetMonData - mov r1, sp - strh r0, [r1] - mov r3, r8 - adds r3, 0x11 - str r3, [sp, 0x10] - adds r0, r5, 0 - adds r1, r3, 0 - bl GetMonData - mov r7, sp - adds r7, 0x5 - str r7, [sp, 0x18] - strb r0, [r7] - adds r0, r6, 0 - adds r0, 0x11 - str r0, [sp, 0x1C] - adds r0, r5, 0 - ldr r1, [sp, 0x1C] - bl GetMonData - add r1, sp, 0x4 - mov r10, r1 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x15 - bl GetMonData - mov r4, sp - adds r4, 0x6 - strb r0, [r4] - ldr r1, _0809E6D4 - mov r2, r8 - adds r0, r2, r1 - ldrb r0, [r0] - mov r9, r0 - ldrb r0, [r4] - adds r2, r0, 0 - mov r3, r9 - ands r2, r3 - mov r7, r8 - lsls r7, 1 - mov r8, r7 - asrs r2, r7 - lsls r2, 24 - lsrs r2, 24 - adds r1, r6, r1 - ldrb r3, [r1] - adds r1, r0, 0 - ands r1, r3 - lsls r6, 1 - asrs r1, r6 - lsls r1, 24 - lsrs r1, 24 - mov r7, r9 - bics r0, r7 - strb r0, [r4] - ldrb r0, [r4] - bics r0, r3 - strb r0, [r4] - lsls r2, r6 - mov r0, r8 - lsls r1, r0 - adds r2, r1 - ldrb r0, [r4] - orrs r0, r2 - strb r0, [r4] - adds r0, r5, 0 - ldr r1, [sp, 0x8] - mov r2, sp - bl SetMonData - adds r0, r5, 0 - ldr r1, [sp, 0xC] - ldr r2, [sp, 0x14] - bl SetMonData - adds r0, r5, 0 - ldr r1, [sp, 0x10] - mov r2, r10 - bl SetMonData - adds r0, r5, 0 - ldr r1, [sp, 0x1C] - ldr r2, [sp, 0x18] - bl SetMonData - adds r0, r5, 0 - movs r1, 0x15 - adds r2, r4, 0 - bl SetMonData - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809E6D0: .4byte 0x02018000 -_0809E6D4: .4byte gUnknown_08208238 - thumb_func_end sub_809E5C4 - - thumb_func_start sub_809E6D8 -sub_809E6D8: @ 809E6D8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r2, _0809E7E8 - ldr r5, [r2] - ldrb r1, [r2, 0x9] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r5, r0 - adds r0, r2, 0 - adds r0, 0x79 - ldrb r0, [r0] - mov r8, r0 - adds r2, 0x7A - ldrb r6, [r2] - adds r0, 0xD - str r0, [sp, 0x8] - adds r0, r5, 0 - ldr r1, [sp, 0x8] - bl GetBoxMonData - mov r1, sp - adds r1, 0x2 - str r1, [sp, 0x14] - strh r0, [r1] - adds r2, r6, 0 - adds r2, 0xD - str r2, [sp, 0xC] - adds r0, r5, 0 - adds r1, r2, 0 - bl GetBoxMonData - mov r1, sp - strh r0, [r1] - mov r3, r8 - adds r3, 0x11 - str r3, [sp, 0x10] - adds r0, r5, 0 - adds r1, r3, 0 - bl GetBoxMonData - mov r7, sp - adds r7, 0x5 - str r7, [sp, 0x18] - strb r0, [r7] - adds r0, r6, 0 - adds r0, 0x11 - str r0, [sp, 0x1C] - adds r0, r5, 0 - ldr r1, [sp, 0x1C] - bl GetBoxMonData - add r1, sp, 0x4 - mov r10, r1 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x15 - bl GetBoxMonData - mov r4, sp - adds r4, 0x6 - strb r0, [r4] - ldr r1, _0809E7EC - mov r2, r8 - adds r0, r2, r1 - ldrb r0, [r0] - mov r9, r0 - ldrb r0, [r4] - adds r2, r0, 0 - mov r3, r9 - ands r2, r3 - mov r7, r8 - lsls r7, 1 - mov r8, r7 - asrs r2, r7 - lsls r2, 24 - lsrs r2, 24 - adds r1, r6, r1 - ldrb r3, [r1] - adds r1, r0, 0 - ands r1, r3 - lsls r6, 1 - asrs r1, r6 - lsls r1, 24 - lsrs r1, 24 - mov r7, r9 - bics r0, r7 - strb r0, [r4] - ldrb r0, [r4] - bics r0, r3 - strb r0, [r4] - lsls r2, r6 - mov r0, r8 - lsls r1, r0 - adds r2, r1 - ldrb r0, [r4] - orrs r0, r2 - strb r0, [r4] - adds r0, r5, 0 - ldr r1, [sp, 0x8] - mov r2, sp - bl SetBoxMonData - adds r0, r5, 0 - ldr r1, [sp, 0xC] - ldr r2, [sp, 0x14] - bl SetBoxMonData - adds r0, r5, 0 - ldr r1, [sp, 0x10] - mov r2, r10 - bl SetBoxMonData - adds r0, r5, 0 - ldr r1, [sp, 0x1C] - ldr r2, [sp, 0x18] - bl SetBoxMonData - adds r0, r5, 0 - movs r1, 0x15 - adds r2, r4, 0 - bl SetBoxMonData - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809E7E8: .4byte 0x02018000 -_0809E7EC: .4byte gUnknown_08208238 - thumb_func_end sub_809E6D8 - - thumb_func_start sub_809E7F0 -sub_809E7F0: @ 809E7F0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_809F5F8 - lsls r0, 24 - cmp r0, 0 - beq _0809E828 - ldr r1, _0809E830 - adds r2, r1, 0 - adds r2, 0x74 - movs r0, 0 - strb r0, [r2] - adds r0, r1, 0 - adds r0, 0x10 - adds r1, 0x79 - bl sub_80A0428 - ldr r1, _0809E834 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809E838 - str r1, [r0] - adds r0, r4, 0 - bl BgFrame_FillTileMap -_0809E828: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809E830: .4byte 0x02018000 -_0809E834: .4byte gTasks -_0809E838: .4byte sub_809E3FC - thumb_func_end sub_809E7F0 - - thumb_func_start sub_809E83C -sub_809E83C: @ 809E83C - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - movs r0, 0x13 - bl sub_80A1B1C - movs r0, 0 - bl sub_80A1B40 - cmp r4, 0x1 - bne _0809E8C0 - ldr r1, _0809E87C - adds r0, r1, 0 - adds r0, 0x79 - adds r2, r1, 0 - adds r2, 0x7A - ldrb r0, [r0] - ldrb r2, [r2] - cmp r0, r2 - beq _0809E8CA - ldrb r0, [r1, 0xE] - cmp r0, 0 - bne _0809E880 - bl sub_809E5C4 - b _0809E884 - .align 2, 0 -_0809E87C: .4byte 0x02018000 -_0809E880: - bl sub_809E6D8 -_0809E884: - ldr r4, _0809E8B4 - adds r0, r4, 0 - adds r0, 0x7A - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x79 - strb r0, [r1] - adds r0, r4, 0 - adds r0, 0x10 - bl sub_809F678 - adds r1, r4, 0 - adds r1, 0x74 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _0809E8B8 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809E8BC - str r1, [r0] - b _0809E8DE - .align 2, 0 -_0809E8B4: .4byte 0x02018000 -_0809E8B8: .4byte gTasks -_0809E8BC: .4byte sub_809E7F0 -_0809E8C0: - ldr r0, _0809E8E4 - adds r1, r0, 0 - adds r1, 0x69 - bl sub_80A0428 -_0809E8CA: - ldr r0, _0809E8E8 - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0809E8EC - str r0, [r1] - adds r0, r5, 0 - bl BgFrame_FillTileMap -_0809E8DE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809E8E4: .4byte 0x02018010 -_0809E8E8: .4byte gTasks -_0809E8EC: .4byte sub_809E3FC - thumb_func_end sub_809E83C - - thumb_func_start sub_809E8F0 -sub_809E8F0: @ 809E8F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r1, 0 - mov r9, r2 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x5 - bl PlaySE - mov r1, r9 - ldrb r6, [r1] - ldr r1, _0809E944 - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x8] - movs r2, 0 - lsls r4, 24 - asrs r4, 24 - mov r10, r4 - lsls r7, r0, 24 -_0809E930: - lsls r0, r6, 24 - asrs r0, 24 - add r0, r10 - lsls r0, 24 - lsrs r6, r0, 24 - asrs r1, r0, 24 - cmp r0, r7 - ble _0809E948 - movs r6, 0 - b _0809E94E - .align 2, 0 -_0809E944: .4byte gTasks -_0809E948: - cmp r1, 0 - bge _0809E94E - lsrs r6, r7, 24 -_0809E94E: - lsls r4, r6, 24 - lsrs r1, r4, 24 - ldr r0, _0809EA10 - str r2, [sp, 0x4] - bl sub_809F760 - lsls r0, 16 - adds r5, r4, 0 - ldr r2, [sp, 0x4] - cmp r0, 0 - bne _0809E97A - asrs r0, r5, 24 - cmp r0, 0x4 - beq _0809E97A - lsls r0, r2, 24 - movs r3, 0x80 - lsls r3, 17 - adds r0, r3 - lsrs r2, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _0809E930 -_0809E97A: - mov r1, r9 - ldrb r0, [r1] - cmp r0, 0x4 - bne _0809E996 - asrs r0, r5, 24 - cmp r0, 0x4 - beq _0809E996 - ldr r0, _0809EA14 - adds r0, 0x7C - ldrh r0, [r0] - mov r2, r8 - lsls r7, r2, 2 - cmp r0, 0 - beq _0809E9AC -_0809E996: - ldr r2, _0809EA18 - mov r3, r8 - lsls r1, r3, 2 - adds r0, r1, r3 - lsls r0, 3 - adds r0, r2 - movs r2, 0x22 - ldrsh r0, [r0, r2] - adds r7, r1, 0 - cmp r0, 0x1 - bne _0809E9D0 -_0809E9AC: - lsrs r4, r5, 24 - movs r0, 0x2 - adds r1, r4, 0 - bl sub_80A1488 - movs r0, 0x2 - adds r1, r4, 0 - bl sub_80A1654 - ldr r1, _0809EA18 - mov r3, r8 - adds r0, r7, r3 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x22] - movs r0, 0 - str r0, [sp] -_0809E9D0: - mov r1, r9 - ldrb r0, [r1] - cmp r0, 0x4 - beq _0809E9FE - asrs r0, r5, 24 - cmp r0, 0x4 - bne _0809E9FE - ldr r0, _0809EA14 - adds r0, 0x7C - ldrh r0, [r0] - cmp r0, 0 - bne _0809E9FE - movs r4, 0x2 - negs r4, r4 - lsrs r5, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80A1488 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80A1654 -_0809E9FE: - mov r2, r9 - strb r6, [r2] - ldr r0, _0809EA1C - cmp r9, r0 - bne _0809EA20 - movs r0, 0 - bl sub_80A1C30 - b _0809EA26 - .align 2, 0 -_0809EA10: .4byte 0x02018010 -_0809EA14: .4byte 0x02018000 -_0809EA18: .4byte gTasks -_0809EA1C: .4byte 0x02018079 -_0809EA20: - movs r0, 0x1 - bl sub_80A1C30 -_0809EA26: - ldr r3, [sp] - cmp r3, 0 - beq _0809EA34 - ldr r0, _0809EA4C - mov r1, r9 - bl sub_80A0428 -_0809EA34: - mov r0, r8 - bl BgFrame_FillTileMap - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809EA4C: .4byte 0x02018010 - thumb_func_end sub_809E8F0 - - thumb_func_start sub_809EA50 -sub_809EA50: @ 809EA50 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x5 - bl PlaySE - ldr r4, _0809EABC - adds r1, r4, 0 - adds r1, 0x79 - movs r0, 0 - strb r0, [r1] - movs r0, 0x2 - movs r1, 0 - bl sub_80A1488 - movs r0, 0x2 - movs r1, 0 - bl sub_80A1654 - adds r0, r4, 0 - adds r0, 0x7B - ldrb r0, [r0] - cmp r0, 0 - bne _0809EA8C - adds r1, r4, 0 - adds r1, 0x7F - movs r0, 0x5 - strb r0, [r1] - bl sub_80A0DD0 -_0809EA8C: - movs r0, 0 - bl sub_80A16CC - adds r0, r4, 0 - adds r0, 0x10 - bl sub_80A029C - movs r0, 0x9 - bl sub_80A1A30 - ldr r1, _0809EAC0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809EAC4 - str r1, [r0] - adds r0, r5, 0 - bl BgFrame_FillTileMap - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809EABC: .4byte 0x02018000 -_0809EAC0: .4byte gTasks -_0809EAC4: .4byte sub_809E3FC - thumb_func_end sub_809EA50 - - thumb_func_start sub_809EAC8 -sub_809EAC8: @ 809EAC8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, _0809EB34 - adds r0, r6, 0 - adds r0, 0x79 - ldrb r0, [r0] - cmp r0, 0x4 - beq _0809EAEE - movs r4, 0x2 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0 - bl sub_80A1488 - adds r0, r4, 0 - movs r1, 0 - bl sub_80A1654 -_0809EAEE: - movs r0, 0x9 - bl sub_80A1B1C - movs r0, 0x1 - bl sub_80A16CC - movs r0, 0xF - movs r1, 0xC - movs r2, 0x1C - movs r3, 0xD - bl MenuZeroFillWindowRect - movs r0, 0xB - movs r1, 0xF - movs r2, 0x1C - movs r3, 0x12 - bl MenuZeroFillWindowRect - adds r1, r6, 0 - adds r1, 0x7F - movs r0, 0x6 - strb r0, [r1] - bl sub_80A0DD0 - ldr r1, _0809EB38 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809EB3C - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809EB34: .4byte 0x02018000 -_0809EB38: .4byte gTasks -_0809EB3C: .4byte sub_809E19C - thumb_func_end sub_809EAC8 - - thumb_func_start sub_809EB40 -sub_809EB40: @ 809EB40 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0809EB6C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0809EB74 - cmp r0, 0x5 - bne _0809EBA4 - movs r0, 0x9 - bl sub_80A1A30 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, _0809EB70 - str r0, [r4] - b _0809EBB4 - .align 2, 0 -_0809EB6C: .4byte gTasks -_0809EB70: .4byte sub_809E260 -_0809EB74: - ldr r4, _0809EBBC - adds r6, r4, 0 - adds r6, 0x79 - strb r0, [r6] - adds r0, r4, 0 - adds r0, 0x7C - ldrh r0, [r0] - cmp r0, 0 - beq _0809EB96 - movs r0, 0xA - movs r1, 0 - bl sub_80A1488 - ldrb r1, [r6] - movs r0, 0xA - bl sub_80A1654 -_0809EB96: - movs r0, 0 - bl sub_80A16CC - adds r0, r4, 0 - adds r0, 0x10 - bl sub_80A029C -_0809EBA4: - ldr r0, _0809EBC0 - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0809EBB4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809EBBC: .4byte 0x02018000 -_0809EBC0: .4byte gTasks - thumb_func_end sub_809EB40 - - thumb_func_start sub_809EBC4 -sub_809EBC4: @ 809EBC4 - push {r4,lr} - ldr r4, _0809EC28 - ldrb r0, [r4, 0xB] - cmp r0, 0 - beq _0809EC22 - bl sub_80A0EE8 - ldr r0, _0809EC2C - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - strh r1, [r0] - ldrb r0, [r4, 0xB] - cmp r0, 0x1 - bne _0809EBF4 - ldr r2, _0809EC30 - ldrh r1, [r2] - ldr r0, _0809EC34 - ands r0, r1 - movs r3, 0x80 - lsls r3, 4 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r2] -_0809EBF4: - ldrb r3, [r4, 0xB] - cmp r3, 0x2 - bne _0809EC0C - ldr r2, _0809EC30 - ldrh r1, [r2] - ldr r0, _0809EC34 - ands r0, r1 - movs r4, 0xA0 - lsls r4, 4 - adds r1, r4, 0 - adds r0, r1 - strh r0, [r2] -_0809EC0C: - cmp r3, 0x3 - bne _0809EC22 - ldr r2, _0809EC30 - ldrh r1, [r2] - ldr r0, _0809EC34 - ands r0, r1 - movs r3, 0xC0 - lsls r3, 4 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r2] -_0809EC22: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809EC28: .4byte 0x02018000 -_0809EC2C: .4byte gUnknown_030042C0 -_0809EC30: .4byte REG_BG1CNT -_0809EC34: .4byte 0x0000e0ff - thumb_func_end sub_809EBC4 - - thumb_func_start sub_809EC38 -sub_809EC38: @ 809EC38 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0809EC5C - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x5 - bls _0809EC52 - b _0809EE64 -_0809EC52: - lsls r0, 2 - ldr r1, _0809EC60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809EC5C: .4byte gUnknown_03004B28 -_0809EC60: .4byte _0809EC64 - .align 2, 0 -_0809EC64: - .4byte _0809EC7C - .4byte _0809ED14 - .4byte _0809ED98 - .4byte _0809EE12 - .4byte _0809EE1C - .4byte _0809EE4C -_0809EC7C: - ldr r1, _0809ECB8 - adds r0, r1, 0 - adds r0, 0x80 - ldrb r0, [r0] - cmp r0, 0 - bne _0809ECC8 - ldrb r3, [r1, 0xB] - cmp r3, 0 - beq _0809EC98 - ldr r1, _0809ECBC - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] -_0809EC98: - cmp r3, 0x1 - bne _0809ECAE - ldr r2, _0809ECC0 - ldrh r1, [r2] - ldr r0, _0809ECC4 - ands r0, r1 - movs r4, 0x80 - lsls r4, 4 - adds r1, r4, 0 - adds r0, r1 - strh r0, [r2] -_0809ECAE: - cmp r3, 0x2 - beq _0809ECB4 - b _0809EE3A -_0809ECB4: - ldr r2, _0809ECC0 - b _0809ECF6 - .align 2, 0 -_0809ECB8: .4byte 0x02018000 -_0809ECBC: .4byte gUnknown_03004288 -_0809ECC0: .4byte REG_BG2CNT -_0809ECC4: .4byte 0x0000e0ff -_0809ECC8: - ldrb r3, [r1, 0xB] - cmp r3, 0 - beq _0809ECD8 - ldr r1, _0809ED08 - movs r4, 0x80 - lsls r4, 1 - adds r0, r4, 0 - strh r0, [r1] -_0809ECD8: - cmp r3, 0x1 - bne _0809ECEE - ldr r2, _0809ED0C - ldrh r1, [r2] - ldr r0, _0809ED10 - ands r0, r1 - movs r4, 0x80 - lsls r4, 4 - adds r1, r4, 0 - adds r0, r1 - strh r0, [r2] -_0809ECEE: - cmp r3, 0x2 - beq _0809ECF4 - b _0809EE3A -_0809ECF4: - ldr r2, _0809ED0C -_0809ECF6: - ldrh r1, [r2] - ldr r0, _0809ED10 - ands r0, r1 - movs r3, 0xA0 - lsls r3, 4 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r2] - b _0809EE3A - .align 2, 0 -_0809ED08: .4byte gUnknown_030042C0 -_0809ED0C: .4byte REG_BG1CNT -_0809ED10: .4byte 0x0000e0ff -_0809ED14: - ldr r0, _0809ED48 - adds r0, 0x80 - ldrb r0, [r0] - cmp r0, 0 - bne _0809ED5C - ldr r1, _0809ED4C - ldrh r0, [r1] - subs r0, 0x20 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - beq _0809ED2E - b _0809EE64 -_0809ED2E: - ldr r3, _0809ED50 - ldrh r2, [r3] - ldr r1, _0809ED54 - adds r0, r1, 0 - ands r0, r2 - adds r0, 0x2 - strh r0, [r3] - ldr r2, _0809ED58 - ldrh r0, [r2] - ands r1, r0 - adds r1, 0x1 - strh r1, [r2] - b _0809EE3A - .align 2, 0 -_0809ED48: .4byte 0x02018000 -_0809ED4C: .4byte gUnknown_030042C0 -_0809ED50: .4byte REG_BG1CNT -_0809ED54: .4byte 0x0000fffc -_0809ED58: .4byte REG_BG2CNT -_0809ED5C: - ldr r1, _0809ED88 - ldrh r0, [r1] - subs r0, 0x20 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - beq _0809ED6C - b _0809EE64 -_0809ED6C: - ldr r3, _0809ED8C - ldrh r2, [r3] - ldr r1, _0809ED90 - adds r0, r1, 0 - ands r0, r2 - adds r0, 0x1 - strh r0, [r3] - ldr r2, _0809ED94 - ldrh r0, [r2] - ands r1, r0 - adds r1, 0x2 - strh r1, [r2] - b _0809EE3A - .align 2, 0 -_0809ED88: .4byte gUnknown_03004288 -_0809ED8C: .4byte REG_BG1CNT -_0809ED90: .4byte 0x0000fffc -_0809ED94: .4byte REG_BG2CNT -_0809ED98: - ldr r1, _0809EDD4 - ldrb r3, [r1, 0xB] - adds r0, r3, 0x1 - adds r2, r1, 0 - adds r2, 0x7E - strb r0, [r2] - ldrb r2, [r1, 0x8] - subs r0, r2, 0x2 - lsls r0, 24 - lsrs r0, 24 - adds r5, r1, 0 - cmp r0, 0x1 - bhi _0809EDD8 - adds r1, 0x7F - movs r0, 0 - strb r0, [r1] - adds r4, r5, 0 - adds r4, 0x10 - adds r0, r4, 0 - bl sub_80A029C - adds r5, 0x79 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80A0428 - ldrb r0, [r5] - bl sub_80A00F4 - b _0809EE3A - .align 2, 0 -_0809EDD4: .4byte 0x02018000 -_0809EDD8: - lsls r0, r3, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _0809EDFA - adds r0, r5, 0 - adds r0, 0x7B - ldrb r0, [r0] - cmp r0, 0 - beq _0809EDF2 - lsls r0, r2, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _0809EDFA -_0809EDF2: - adds r1, r5, 0 - adds r1, 0x7F - movs r0, 0x6 - b _0809EE0E -_0809EDFA: - ldrb r0, [r5, 0xB] - cmp r0, 0 - bne _0809EE08 - adds r1, r5, 0 - adds r1, 0x7F - movs r0, 0x7 - b _0809EE0E -_0809EE08: - adds r1, r5, 0 - adds r1, 0x7F - movs r0, 0 -_0809EE0E: - strb r0, [r1] - b _0809EE3A -_0809EE12: - bl sub_80A0EE8 - bl sub_80A0DD0 - b _0809EE3A -_0809EE1C: - ldr r0, _0809EE44 - ldr r4, _0809EE48 - ldrb r1, [r4, 0xB] - lsls r1, 2 - adds r1, r0 - adds r0, r4, 0 - adds r0, 0x10 - ldr r1, [r1] - bl _call_via_r1 - adds r4, 0x80 - ldrb r0, [r4] - movs r1, 0x1 - eors r0, r1 - strb r0, [r4] -_0809EE3A: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - b _0809EE64 - .align 2, 0 -_0809EE44: .4byte gUnknown_083C1598 -_0809EE48: .4byte 0x02018000 -_0809EE4C: - bl sub_8055870 - cmp r0, 0x1 - beq _0809EE64 - ldr r1, _0809EE6C - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809EE70 - ldr r1, [r1] - str r1, [r0] -_0809EE64: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809EE6C: .4byte gTasks -_0809EE70: .4byte gUnknown_03005CF0 - thumb_func_end sub_809EC38 - - thumb_func_start sub_809EE74 -sub_809EE74: @ 809EE74 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0809EE98 - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x6 - bls _0809EE8E - b _0809F0C0 -_0809EE8E: - lsls r0, 2 - ldr r1, _0809EE9C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809EE98: .4byte gUnknown_03004B28 -_0809EE9C: .4byte _0809EEA0 - .align 2, 0 -_0809EEA0: - .4byte _0809EEBC - .4byte _0809EEE0 - .4byte _0809EFB4 - .4byte _0809EFF4 - .4byte _0809F06E - .4byte _0809F078 - .4byte _0809F0A8 -_0809EEBC: - ldr r0, _0809EECC - adds r0, 0x80 - ldrb r1, [r0] - cmp r1, 0 - bne _0809EED4 - ldr r0, _0809EED0 - strh r1, [r0] - b _0809F096 - .align 2, 0 -_0809EECC: .4byte 0x02018000 -_0809EED0: .4byte gUnknown_03004288 -_0809EED4: - ldr r1, _0809EEDC - movs r0, 0 - strh r0, [r1] - b _0809F096 - .align 2, 0 -_0809EEDC: .4byte gUnknown_030042C0 -_0809EEE0: - ldr r1, _0809EF30 - adds r0, r1, 0 - adds r0, 0x80 - ldrb r0, [r0] - cmp r0, 0 - bne _0809EF4C - ldrb r3, [r1, 0xB] - cmp r3, 0x1 - bne _0809EF02 - ldr r2, _0809EF34 - ldrh r1, [r2] - ldr r0, _0809EF38 - ands r0, r1 - ldr r4, _0809EF3C - adds r1, r4, 0 - adds r0, r1 - strh r0, [r2] -_0809EF02: - cmp r3, 0x2 - bne _0809EF16 - ldr r2, _0809EF34 - ldrh r1, [r2] - ldr r0, _0809EF38 - ands r0, r1 - ldr r4, _0809EF40 - adds r1, r4, 0 - adds r0, r1 - strh r0, [r2] -_0809EF16: - cmp r3, 0x3 - bne _0809EF2A - ldr r2, _0809EF34 - ldrh r1, [r2] - ldr r0, _0809EF38 - ands r0, r1 - ldr r3, _0809EF44 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r2] -_0809EF2A: - ldr r2, _0809EF48 - b _0809EF8C - .align 2, 0 -_0809EF30: .4byte 0x02018000 -_0809EF34: .4byte REG_BG2CNT -_0809EF38: .4byte 0x0000e0fc -_0809EF3C: .4byte 0x00000801 -_0809EF40: .4byte 0x00000a01 -_0809EF44: .4byte 0x00000c01 -_0809EF48: .4byte REG_BG1CNT -_0809EF4C: - ldrb r3, [r1, 0xB] - cmp r3, 0x1 - bne _0809EF62 - ldr r2, _0809EF98 - ldrh r1, [r2] - ldr r0, _0809EF9C - ands r0, r1 - ldr r4, _0809EFA0 - adds r1, r4, 0 - adds r0, r1 - strh r0, [r2] -_0809EF62: - cmp r3, 0x2 - bne _0809EF76 - ldr r2, _0809EF98 - ldrh r1, [r2] - ldr r0, _0809EF9C - ands r0, r1 - ldr r4, _0809EFA4 - adds r1, r4, 0 - adds r0, r1 - strh r0, [r2] -_0809EF76: - cmp r3, 0x3 - bne _0809EF8A - ldr r2, _0809EF98 - ldrh r1, [r2] - ldr r0, _0809EF9C - ands r0, r1 - ldr r3, _0809EFA8 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r2] -_0809EF8A: - ldr r2, _0809EFAC -_0809EF8C: - ldrh r1, [r2] - ldr r0, _0809EFB0 - ands r0, r1 - adds r0, 0x2 - strh r0, [r2] - b _0809F096 - .align 2, 0 -_0809EF98: .4byte REG_BG1CNT -_0809EF9C: .4byte 0x0000e0fc -_0809EFA0: .4byte 0x00000801 -_0809EFA4: .4byte 0x00000a01 -_0809EFA8: .4byte 0x00000c01 -_0809EFAC: .4byte REG_BG2CNT -_0809EFB0: .4byte 0x0000fffc -_0809EFB4: - ldr r0, _0809EFD4 - adds r0, 0x80 - ldrb r0, [r0] - cmp r0, 0 - bne _0809EFDC - ldr r0, _0809EFD8 - ldrh r1, [r0] - adds r1, 0x20 - strh r1, [r0] - lsls r1, 16 - movs r0, 0x80 - lsls r0, 17 - cmp r1, r0 - bne _0809F0C0 - b _0809F096 - .align 2, 0 -_0809EFD4: .4byte 0x02018000 -_0809EFD8: .4byte gUnknown_03004288 -_0809EFDC: - ldr r0, _0809EFF0 - ldrh r1, [r0] - adds r1, 0x20 - strh r1, [r0] - lsls r1, 16 - movs r0, 0x80 - lsls r0, 17 - cmp r1, r0 - bne _0809F0C0 - b _0809F096 - .align 2, 0 -_0809EFF0: .4byte gUnknown_030042C0 -_0809EFF4: - ldr r1, _0809F030 - ldrb r3, [r1, 0xB] - adds r0, r3, 0x1 - adds r2, r1, 0 - adds r2, 0x7E - strb r0, [r2] - ldrb r2, [r1, 0x8] - subs r0, r2, 0x2 - lsls r0, 24 - lsrs r0, 24 - adds r5, r1, 0 - cmp r0, 0x1 - bhi _0809F034 - adds r1, 0x7F - movs r0, 0 - strb r0, [r1] - adds r4, r5, 0 - adds r4, 0x10 - adds r0, r4, 0 - bl sub_80A029C - adds r5, 0x79 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80A0428 - ldrb r0, [r5] - bl sub_80A00F4 - b _0809F096 - .align 2, 0 -_0809F030: .4byte 0x02018000 -_0809F034: - lsls r0, r3, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _0809F056 - adds r0, r5, 0 - adds r0, 0x7B - ldrb r0, [r0] - cmp r0, 0 - beq _0809F04E - lsls r0, r2, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _0809F056 -_0809F04E: - adds r1, r5, 0 - adds r1, 0x7F - movs r0, 0x6 - b _0809F06A -_0809F056: - ldrb r0, [r5, 0xB] - cmp r0, 0 - bne _0809F064 - adds r1, r5, 0 - adds r1, 0x7F - movs r0, 0x7 - b _0809F06A -_0809F064: - adds r1, r5, 0 - adds r1, 0x7F - movs r0, 0 -_0809F06A: - strb r0, [r1] - b _0809F096 -_0809F06E: - bl sub_80A0EE8 - bl sub_80A0DD0 - b _0809F096 -_0809F078: - ldr r0, _0809F0A0 - ldr r4, _0809F0A4 - ldrb r1, [r4, 0xB] - lsls r1, 2 - adds r1, r0 - adds r0, r4, 0 - adds r0, 0x10 - ldr r1, [r1] - bl _call_via_r1 - adds r4, 0x80 - ldrb r0, [r4] - movs r1, 0x1 - eors r0, r1 - strb r0, [r4] -_0809F096: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - b _0809F0C0 - .align 2, 0 -_0809F0A0: .4byte gUnknown_083C1598 -_0809F0A4: .4byte 0x02018000 -_0809F0A8: - bl sub_8055870 - cmp r0, 0x1 - beq _0809F0C0 - ldr r1, _0809F0C8 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809F0CC - ldr r1, [r1] - str r1, [r0] -_0809F0C0: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809F0C8: .4byte gTasks -_0809F0CC: .4byte gUnknown_03005CF0 - thumb_func_end sub_809EE74 - - thumb_func_start sub_809F0D0 -sub_809F0D0: @ 809F0D0 - push {r4-r7,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0809F110 - ldrb r0, [r1, 0xB] - adds r0, r4 - movs r5, 0 - strb r0, [r1, 0xB] - ldr r2, _0809F114 - ldr r1, _0809F118 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r6, r0, r1 - ldr r0, [r6] - str r0, [r2] - bl sub_809FBE4 - strh r5, [r6, 0x8] - lsls r4, 24 - asrs r4, 24 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - bne _0809F120 - ldr r0, _0809F11C - str r0, [r6] - b _0809F12A - .align 2, 0 -_0809F110: .4byte 0x02018000 -_0809F114: .4byte gUnknown_03005CF0 -_0809F118: .4byte gTasks -_0809F11C: .4byte sub_809EC38 -_0809F120: - ldr r1, _0809F130 - str r1, [r6] - adds r0, r7, 0 - bl _call_via_r1 -_0809F12A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809F130: .4byte sub_809EE74 - thumb_func_end sub_809F0D0 - - thumb_func_start sub_809F134 -sub_809F134: @ 809F134 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, _0809F1AC - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0809F1A6 - lsls r0, r5, 24 - asrs r5, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - bne _0809F168 - adds r0, r4, 0 - subs r0, 0x10 - adds r1, r4, 0 - adds r1, 0x65 - ldrb r0, [r0, 0xB] - ldrb r1, [r1] - cmp r0, r1 - beq _0809F1A6 -_0809F168: - cmp r5, 0x1 - bne _0809F17C - adds r0, r4, 0 - subs r0, 0x10 - adds r1, r4, 0 - adds r1, 0x66 - ldrb r0, [r0, 0xB] - ldrb r1, [r1] - cmp r0, r1 - beq _0809F1A6 -_0809F17C: - ldr r0, _0809F1B0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0809F1A6 - ldr r0, _0809F1B4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0809F1A6 - movs r0, 0x5 - bl PlaySE - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_809F0D0 -_0809F1A6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809F1AC: .4byte 0x02018010 -_0809F1B0: .4byte sub_80A1334 -_0809F1B4: .4byte sub_80A1500 - thumb_func_end sub_809F134 - - thumb_func_start sub_809F1B8 -sub_809F1B8: @ 809F1B8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, _0809F1E4 - ldrb r1, [r0, 0xE] - adds r2, r0, 0 - cmp r1, 0x1 - bne _0809F202 - ldrb r0, [r2, 0xB] - cmp r0, 0 - beq _0809F1E8 - lsls r1, r4, 24 - asrs r1, 24 - movs r4, 0x1 - eors r1, r4 - negs r0, r1 - orrs r0, r1 - lsrs r4, r0, 31 - b _0809F1F4 - .align 2, 0 -_0809F1E4: .4byte 0x02018000 -_0809F1E8: - lsls r0, r4, 24 - asrs r0, 24 - movs r4, 0x3 - cmp r0, 0x1 - bne _0809F1F4 - movs r4, 0x2 -_0809F1F4: - ldr r0, [r2] - ldrb r1, [r2, 0x9] - ldrb r2, [r2, 0xA] - adds r3, r4, 0 - bl sub_8095DCC - b _0809F22C -_0809F202: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809F224 - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809F224 - lsls r0, r4, 24 - asrs r0, 24 - bl sub_809F3CC - b _0809F22C -_0809F224: - lsls r0, r4, 24 - asrs r0, 24 - bl sub_809F284 -_0809F22C: - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 24 - asrs r0, 24 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _0809F270 - movs r0, 0x5 - bl PlaySE - ldr r5, _0809F278 - adds r0, r5, 0 - bl sub_80A1CD8 - lsls r0, 24 - cmp r0, 0 - beq _0809F258 - movs r0, 0x2 - negs r0, r0 - bl sub_80A12D0 -_0809F258: - adds r0, r5, 0 - subs r0, 0x10 - strb r4, [r0, 0x9] - ldr r1, _0809F27C - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, [r0] - str r1, [r5, 0x74] - ldr r1, _0809F280 - str r1, [r0] -_0809F270: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809F278: .4byte 0x02018010 -_0809F27C: .4byte gTasks -_0809F280: .4byte sub_809F43C - thumb_func_end sub_809F1B8 - - thumb_func_start sub_809F284 -sub_809F284: @ 809F284 - push {r4-r7,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _0809F2C0 - ldr r7, [r0] - movs r6, 0 - ldrb r1, [r0, 0xB] - adds r4, r0, 0 - cmp r1, 0 - bne _0809F2C4 - lsls r0, r3, 24 - asrs r2, r0, 24 - movs r1, 0x1 - negs r1, r1 - adds r5, r0, 0 - cmp r2, r1 - bne _0809F2AC - ldrb r0, [r4, 0x9] - cmp r0, 0 - beq _0809F2E4 -_0809F2AC: - asrs r0, r5, 24 - cmp r0, 0x1 - bne _0809F2BA - ldrb r0, [r4, 0x9] - ldrb r1, [r4, 0xA] - cmp r0, r1 - bcs _0809F2E4 -_0809F2BA: - ldrb r0, [r4, 0x9] - adds r0, r3 - b _0809F304 - .align 2, 0 -_0809F2C0: .4byte 0x02018000 -_0809F2C4: - lsls r5, r3, 24 -_0809F2C6: - lsls r0, r6, 24 - asrs r0, 24 - asrs r1, r5, 24 - adds r0, r1 - lsls r0, 24 - ldr r4, _0809F2EC - lsrs r6, r0, 24 - asrs r0, 24 - ldrb r2, [r4, 0x9] - adds r1, r0, r2 - cmp r1, 0 - blt _0809F2E4 - ldrb r0, [r4, 0xA] - cmp r1, r0 - ble _0809F2F0 -_0809F2E4: - movs r0, 0x1 - negs r0, r0 - b _0809F308 - .align 2, 0 -_0809F2EC: .4byte 0x02018000 -_0809F2F0: - movs r0, 0x64 - muls r0, r1 - adds r0, r7, r0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0809F2C6 - ldrb r0, [r4, 0x9] - adds r0, r6 -_0809F304: - lsls r0, 24 - asrs r0, 24 -_0809F308: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809F284 - - thumb_func_start sub_809F310 -sub_809F310: @ 809F310 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0809F33C - ldr r0, _0809F338 - ldrb r0, [r0, 0xB] - cmp r0, 0 - bne _0809F332 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0809F33C -_0809F332: - movs r0, 0x1 - b _0809F33E - .align 2, 0 -_0809F338: .4byte 0x02018000 -_0809F33C: - movs r0, 0 -_0809F33E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809F310 - - thumb_func_start sub_809F344 -sub_809F344: @ 809F344 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 -_0809F34A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - beq _0809F37C - ldr r0, _0809F374 - adds r5, r4, r0 - ldrb r1, [r5] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0809F378 - adds r0, r1 - bl sub_809F310 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809F34A - movs r0, 0 - ldrsb r0, [r5, r0] - b _0809F380 - .align 2, 0 -_0809F374: .4byte gUnknown_083C15A8 -_0809F378: .4byte gPlayerParty -_0809F37C: - movs r0, 0x1 - negs r0, r0 -_0809F380: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809F344 - - thumb_func_start sub_809F388 -sub_809F388: @ 809F388 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 -_0809F38E: - cmp r4, 0 - beq _0809F3C0 - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0809F3B8 - adds r5, r4, r0 - ldrb r1, [r5] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0809F3BC - adds r0, r1 - bl sub_809F310 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809F38E - movs r0, 0 - ldrsb r0, [r5, r0] - b _0809F3C4 - .align 2, 0 -_0809F3B8: .4byte gUnknown_083C15A8 -_0809F3BC: .4byte gPlayerParty -_0809F3C0: - movs r0, 0x1 - negs r0, r0 -_0809F3C4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809F388 - - thumb_func_start sub_809F3CC -sub_809F3CC: @ 809F3CC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r2, 0 - movs r1, 0 - ldr r3, _0809F41C - ldr r4, _0809F420 - ldrb r0, [r3] - ldrb r5, [r4, 0x9] - cmp r0, r5 - beq _0809F3FC - adds r5, r3, 0 - adds r3, r4, 0 -_0809F3E6: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x5 - bhi _0809F3FC - adds r0, r1, r5 - ldrb r0, [r0] - ldrb r4, [r3, 0x9] - cmp r0, r4 - bne _0809F3E6 - adds r2, r1, 0 -_0809F3FC: - lsls r0, r6, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0809F40C - cmp r2, 0 - beq _0809F414 -_0809F40C: - cmp r1, 0x1 - bne _0809F424 - cmp r2, 0x5 - bne _0809F42C -_0809F414: - movs r0, 0x1 - negs r0, r0 - b _0809F436 - .align 2, 0 -_0809F41C: .4byte gUnknown_083C15A8 -_0809F420: .4byte 0x02018000 -_0809F424: - adds r0, r2, 0 - bl sub_809F388 - b _0809F432 -_0809F42C: - adds r0, r2, 0 - bl sub_809F344 -_0809F432: - lsls r0, 24 - asrs r0, 24 -_0809F436: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_809F3CC - - thumb_func_start sub_809F43C -sub_809F43C: @ 809F43C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0809F45C - ldr r1, _0809F460 - adds r5, r0, r1 - ldrb r2, [r5] - adds r3, r0, 0 - cmp r2, 0x8 - bls _0809F452 - b _0809F5CC -_0809F452: - lsls r0, r2, 2 - ldr r1, _0809F464 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809F45C: .4byte gMain -_0809F460: .4byte 0x0000043c -_0809F464: .4byte _0809F468 - .align 2, 0 -_0809F468: - .4byte _0809F48C - .4byte _0809F492 - .4byte _0809F4BC - .4byte _0809F4D8 - .4byte _0809F4F4 - .4byte _0809F51C - .4byte _0809F578 - .4byte _0809F584 - .4byte _0809F5A0 -_0809F48C: - bl StopCryAndClearCrySongs - b _0809F5B2 -_0809F492: - ldr r0, _0809F4AC - ldrb r1, [r0, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809F4B0 - adds r0, r1 - bl DestroySpriteAndFreeResources - ldr r1, _0809F4B4 - ldr r0, _0809F4B8 - adds r1, r0 - b _0809F5B8 - .align 2, 0 -_0809F4AC: .4byte 0x02018000 -_0809F4B0: .4byte gSprites -_0809F4B4: .4byte gMain -_0809F4B8: .4byte 0x0000043c -_0809F4BC: - ldr r0, _0809F4D0 - ldrb r1, [r0, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809F4D4 - adds r0, r1 - bl DestroySpriteAndFreeResources - b _0809F5B2 - .align 2, 0 -_0809F4D0: .4byte 0x02018000 -_0809F4D4: .4byte gSprites -_0809F4D8: - ldr r0, _0809F4EC - adds r1, r0, 0 - adds r1, 0x74 - movs r2, 0 - strb r2, [r1] - adds r0, 0x79 - strb r2, [r0] - ldr r0, _0809F4F0 - adds r1, r3, r0 - b _0809F5B8 - .align 2, 0 -_0809F4EC: .4byte 0x02018000 -_0809F4F0: .4byte 0x0000043c -_0809F4F4: - ldr r4, _0809F518 - adds r0, r4, 0 - bl sub_809F678 - adds r0, r4, 0 - bl sub_80A1CD8 - lsls r0, 24 - cmp r0, 0 - beq _0809F50E - movs r0, 0x2 - bl sub_80A12D0 -_0809F50E: - adds r0, r4, 0 - bl sub_80A0EA4 - b _0809F5B2 - .align 2, 0 -_0809F518: .4byte 0x02018010 -_0809F51C: - ldr r4, _0809F558 - adds r5, r4, 0 - adds r5, 0x64 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_809F6B4 - adds r1, r4, 0 - subs r1, 0x10 - strb r0, [r1, 0xC] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0809F5EA - movs r0, 0 - strb r0, [r5] - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - beq _0809F560 - ldr r1, _0809F55C - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - b _0809F564 - .align 2, 0 -_0809F558: .4byte 0x02018010 -_0809F55C: .4byte gUnknown_030041B0 -_0809F560: - ldr r0, _0809F56C - strh r1, [r0] -_0809F564: - ldr r1, _0809F570 - ldr r0, _0809F574 - adds r1, r0 - b _0809F5B8 - .align 2, 0 -_0809F56C: .4byte gUnknown_030041B0 -_0809F570: .4byte gMain -_0809F574: .4byte 0x0000043c -_0809F578: - ldr r0, _0809F580 - bl sub_80A1DCC - b _0809F5B2 - .align 2, 0 -_0809F580: .4byte 0x02018010 -_0809F584: - ldr r0, _0809F594 - bl sub_80A1DE8 - ldr r1, _0809F598 - ldr r0, _0809F59C - adds r1, r0 - b _0809F5B8 - .align 2, 0 -_0809F594: .4byte 0x02018010 -_0809F598: .4byte gMain -_0809F59C: .4byte 0x0000043c -_0809F5A0: - bl sub_809F5F8 - lsls r0, 24 - cmp r0, 0 - beq _0809F5EA - ldr r0, _0809F5C0 - adds r0, 0x74 - movs r1, 0 - strb r1, [r0] -_0809F5B2: - ldr r1, _0809F5C4 - ldr r2, _0809F5C8 - adds r1, r2 -_0809F5B8: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0809F5EA - .align 2, 0 -_0809F5C0: .4byte 0x02018000 -_0809F5C4: .4byte gMain -_0809F5C8: .4byte 0x0000043c -_0809F5CC: - bl sub_8055870 - cmp r0, 0x1 - beq _0809F5EA - movs r0, 0 - strb r0, [r5] - ldr r0, _0809F5F0 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0809F5F4 - adds r0, 0x84 - ldr r0, [r0] - str r0, [r1] -_0809F5EA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809F5F0: .4byte gTasks -_0809F5F4: .4byte 0x02018000 - thumb_func_end sub_809F43C - - thumb_func_start sub_809F5F8 -sub_809F5F8: @ 809F5F8 - push {r4,lr} - ldr r2, _0809F61C - adds r4, r2, 0 - adds r4, 0x74 - ldrb r0, [r4] - cmp r0, 0 - beq _0809F624 - ldr r0, _0809F620 - ldrb r1, [r2, 0xB] - lsls r1, 2 - adds r1, r0 - adds r0, r2, 0 - adds r0, 0x10 - ldr r1, [r1] - bl _call_via_r1 - movs r0, 0x1 - b _0809F634 - .align 2, 0 -_0809F61C: .4byte 0x02018000 -_0809F620: .4byte gUnknown_083C1588 -_0809F624: - adds r0, r2, 0 - adds r0, 0x10 - bl sub_809FAC8 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0 -_0809F634: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809F5F8 - - thumb_func_start sub_809F63C -sub_809F63C: @ 809F63C - push {r4,lr} - adds r4, r0, 0 - bl sub_809FE80 - adds r0, r4, 0 - bl sub_809FC34 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809F63C - - thumb_func_start sub_809F650 -sub_809F650: @ 809F650 - push {r4,lr} - adds r4, r0, 0 - bl sub_80A00A4 - adds r0, r4, 0 - bl sub_809FF64 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809F650 - - thumb_func_start sub_809F664 -sub_809F664: @ 809F664 - push {r4,lr} - adds r4, r0, 0 - bl sub_80A0390 - adds r0, r4, 0 - bl sub_80A015C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809F664 - - thumb_func_start sub_809F678 -sub_809F678: @ 809F678 - push {lr} - adds r3, r0, 0 - ldr r1, _0809F698 - ldrb r0, [r1, 0xE] - cmp r0, 0 - bne _0809F69C - ldr r2, [r1] - ldrb r1, [r1, 0x9] - movs r0, 0x64 - muls r1, r0 - adds r1, r2 - adds r0, r3, 0 - movs r2, 0x64 - bl memcpy - b _0809F6AE - .align 2, 0 -_0809F698: .4byte 0x02018000 -_0809F69C: - ldr r0, [r1] - ldrb r2, [r1, 0x9] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 4 - adds r0, r1 - adds r1, r3, 0 - bl sub_803B4B4 -_0809F6AE: - pop {r0} - bx r0 - thumb_func_end sub_809F678 - - thumb_func_start sub_809F6B4 -sub_809F6B4: @ 809F6B4 - push {r4-r7,lr} - sub sp, 0xC - adds r4, r0, 0 - adds r7, r1, 0 - ldrb r0, [r7] - cmp r0, 0 - beq _0809F6D2 - cmp r0, 0x1 - beq _0809F718 - adds r0, r4, 0 - bl sub_80A1808 - lsls r0, 24 - lsrs r0, 24 - b _0809F756 -_0809F6D2: - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r6, r0, 0 - lsls r0, r5, 3 - ldr r1, _0809F70C - adds r0, r1 - ldr r1, _0809F710 - lsls r2, r5, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r4, _0809F714 - ldr r4, [r4, 0x4] - str r4, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - bl sub_800D334 - b _0809F74E - .align 2, 0 -_0809F70C: .4byte gMonFrontPicTable -_0809F710: .4byte gMonFrontPicCoords -_0809F714: .4byte gUnknown_081FAF4C -_0809F718: - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r6, r0, 0 - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - adds r1, r0, 0 - adds r0, r5, 0 - adds r2, r6, 0 - bl sub_80409C8 - adds r4, r0, 0 - bl LoadCompressedObjectPalette - ldrh r0, [r4, 0x4] - movs r1, 0x1 - bl GetMonSpriteTemplate_803C56C -_0809F74E: - ldrb r0, [r7] - adds r0, 0x1 - strb r0, [r7] - movs r0, 0xFF -_0809F756: - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809F6B4 - - thumb_func_start sub_809F760 -sub_809F760: @ 809F760 - push {lr} - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0x1 - beq _0809F780 - cmp r1, 0x1 - bgt _0809F776 - cmp r1, 0 - beq _0809F77C - b _0809F788 -_0809F776: - cmp r2, 0x2 - beq _0809F784 - b _0809F788 -_0809F77C: - movs r1, 0xD - b _0809F78A -_0809F780: - movs r1, 0xE - b _0809F78A -_0809F784: - movs r1, 0xF - b _0809F78A -_0809F788: - movs r1, 0x10 -_0809F78A: - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_809F760 - - thumb_func_start sub_809F798 -sub_809F798: @ 809F798 - push {lr} - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0x1 - beq _0809F7B8 - cmp r1, 0x1 - bgt _0809F7AE - cmp r1, 0 - beq _0809F7B4 - b _0809F7C0 -_0809F7AE: - cmp r2, 0x2 - beq _0809F7BC - b _0809F7C0 -_0809F7B4: - movs r1, 0x11 - b _0809F7C2 -_0809F7B8: - movs r1, 0x12 - b _0809F7C2 -_0809F7BC: - movs r1, 0x13 - b _0809F7C2 -_0809F7C0: - movs r1, 0x14 -_0809F7C2: - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_809F798 - - thumb_func_start sub_809F7D0 -sub_809F7D0: @ 809F7D0 - push {r4,lr} - sub sp, 0x64 - mov r0, sp - bl sub_809F678 - ldr r4, _0809F804 - adds r0, r4, 0 - adds r0, 0x79 - ldrb r1, [r0] - mov r0, sp - bl sub_809F760 - lsls r0, 16 - lsrs r0, 16 - bl sub_806F7B8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809F808 - ldrb r0, [r4, 0x8] - cmp r0, 0x3 - beq _0809F808 - movs r0, 0 - b _0809F80A - .align 2, 0 -_0809F804: .4byte 0x02018000 -_0809F808: - movs r0, 0x1 -_0809F80A: - add sp, 0x64 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809F7D0 - - thumb_func_start sub_809F814 -sub_809F814: @ 809F814 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r0, _0809F83C - mov r8, r0 - adds r4, r6, r0 - ldrh r1, [r4, 0x1C] - movs r2, 0x1C - ldrsh r0, [r4, r2] - cmp r0, 0x3 - bgt _0809F840 - adds r0, r1, 0x1 - strh r0, [r4, 0x1C] - b _0809F9C0 - .align 2, 0 -_0809F83C: .4byte gUnknown_03004B28 -_0809F840: - ldr r7, _0809F874 - ldrh r1, [r7, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0809F880 - mov r0, r8 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0809F878 - str r1, [r0] - movs r0, 0x4 - strh r0, [r4] - movs r0, 0x1 - strh r0, [r4, 0x1A] - ldr r2, _0809F87C - ldrh r0, [r4, 0x1E] - adds r2, 0x79 - strb r0, [r2] - movs r1, 0x1 - negs r1, r1 - adds r0, r5, 0 - bl sub_809E8F0 - b _0809F9C0 - .align 2, 0 -_0809F874: .4byte gMain -_0809F878: .4byte sub_809E260 -_0809F87C: .4byte 0x02018000 -_0809F880: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809F8B4 - mov r0, r8 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0809F8AC - str r1, [r0] - movs r0, 0x4 - strh r0, [r4] - movs r0, 0x1 - strh r0, [r4, 0x1A] - ldr r2, _0809F8B0 - ldrh r0, [r4, 0x1E] - adds r2, 0x79 - strb r0, [r2] - adds r0, r5, 0 - movs r1, 0x1 - bl sub_809E8F0 - b _0809F9C0 - .align 2, 0 -_0809F8AC: .4byte sub_809E260 -_0809F8B0: .4byte 0x02018000 -_0809F8B4: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0809F8C8 - bl sub_80F9284 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809F918 -_0809F8C8: - ldr r1, _0809F90C - ldrb r0, [r1, 0xB] - cmp r0, 0x2 - beq _0809F9C0 - cmp r0, 0x3 - bne _0809F8F4 - adds r0, r1, 0 - adds r0, 0x79 - ldrb r0, [r0] - cmp r0, 0x4 - bne _0809F8E8 - adds r0, r1, 0 - adds r0, 0x7C - ldrh r0, [r0] - cmp r0, 0 - beq _0809F8F4 -_0809F8E8: - movs r0, 0 - movs r1, 0xE - movs r2, 0x9 - movs r3, 0x12 - bl MenuZeroFillWindowRect -_0809F8F4: - ldr r1, _0809F910 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809F914 - str r1, [r0] - movs r1, 0x1 - negs r1, r1 - adds r0, r5, 0 - b _0809F972 - .align 2, 0 -_0809F90C: .4byte 0x02018000 -_0809F910: .4byte gTasks -_0809F914: .4byte sub_809E260 -_0809F918: - ldrh r1, [r7, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0809F92E - bl sub_80F9284 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0809F994 -_0809F92E: - ldr r1, _0809F988 - adds r2, r1, 0 - adds r2, 0x76 - ldrb r0, [r1, 0xB] - ldrb r2, [r2] - cmp r0, r2 - beq _0809F9C0 - cmp r0, 0x2 - bne _0809F960 - adds r0, r1, 0 - adds r0, 0x79 - ldrb r0, [r0] - cmp r0, 0x4 - bne _0809F954 - adds r0, r1, 0 - adds r0, 0x7C - ldrh r0, [r0] - cmp r0, 0 - beq _0809F960 -_0809F954: - movs r0, 0 - movs r1, 0xE - movs r2, 0x9 - movs r3, 0x12 - bl MenuZeroFillWindowRect -_0809F960: - ldr r1, _0809F98C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809F990 - str r1, [r0] - adds r0, r5, 0 - movs r1, 0x1 -_0809F972: - bl sub_809F134 - ldrb r1, [r4, 0x1E] - movs r0, 0x1 - bl sub_80A1488 - ldrb r1, [r4, 0x1E] - movs r0, 0x1 - bl sub_80A1654 - b _0809F9C0 - .align 2, 0 -_0809F988: .4byte 0x02018000 -_0809F98C: .4byte gTasks -_0809F990: .4byte sub_809E260 -_0809F994: - ldrh r1, [r7, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0809F9A6 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809F9C0 -_0809F9A6: - ldrb r1, [r4, 0x1E] - movs r0, 0x2 - bl sub_80A1488 - ldrb r1, [r4, 0x1E] - movs r0, 0x2 - bl sub_80A1654 - mov r0, r8 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0809F9CC - str r1, [r0] -_0809F9C0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809F9CC: .4byte sub_809E260 - thumb_func_end sub_809F814 - - thumb_func_start sub_809F9D0 -sub_809F9D0: @ 809F9D0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r6, _0809FA24 - adds r2, r4, r6 - movs r0, 0 - strh r0, [r2, 0x1C] - strh r1, [r2, 0x1E] - movs r5, 0x2 - negs r5, r5 - adds r0, r5, 0 - movs r1, 0x4 - bl sub_80A1488 - adds r0, r5, 0 - movs r1, 0x4 - bl sub_80A1654 - movs r0, 0xB - movs r1, 0xF - movs r2, 0x1C - movs r3, 0x12 - bl MenuZeroFillWindowRect - ldr r0, _0809FA28 - movs r1, 0xB - movs r2, 0xF - bl MenuPrint - subs r6, 0x8 - adds r4, r6 - ldr r0, _0809FA2C - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809FA24: .4byte gUnknown_03004B28 -_0809FA28: .4byte gOtherText_CantForgetHMs -_0809FA2C: .4byte sub_809F814 - thumb_func_end sub_809F9D0 - - thumb_func_start sub_809FA30 -sub_809FA30: @ 809FA30 - ldr r0, _0809FA38 - adds r0, 0x7A - ldrb r0, [r0] - bx lr - .align 2, 0 -_0809FA38: .4byte 0x02018000 - thumb_func_end sub_809FA30 - - thumb_func_start GetStringCenterAlignXOffsetWithLetterSpacing -GetStringCenterAlignXOffsetWithLetterSpacing: @ 809FA3C - push {r4,lr} - lsls r0, 24 - lsls r1, 24 - lsls r2, 24 - lsls r3, 24 - lsrs r2, 23 - lsrs r3, 18 - ldr r4, _0809FA70 - adds r3, r4 - adds r2, r3 - lsrs r1, 12 - lsrs r0, 23 - movs r4, 0x80 - lsls r4, 2 - adds r3, r4, 0 - adds r0, r3 - adds r1, r0 - adds r0, r1, 0 - adds r0, 0x80 - strh r0, [r2] - adds r2, 0x40 - adds r1, 0x81 - strh r1, [r2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809FA70: .4byte 0x0600f000 - thumb_func_end GetStringCenterAlignXOffsetWithLetterSpacing - - thumb_func_start GetStringCenterAlignXOffset -GetStringCenterAlignXOffset: @ 809FA74 - push {r4,lr} - adds r4, r1, 0 - adds r3, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0xF - adds r2, r4, 0 - bl GetStringCenterAlignXOffsetWithLetterSpacing - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetStringCenterAlignXOffset - - thumb_func_start sub_809FA94 -sub_809FA94: @ 809FA94 - push {lr} - bl sub_8040CB4 - lsls r0, 24 - cmp r0, 0 - beq _0809FAB4 - ldr r0, _0809FAB0 - movs r1, 0x4 - movs r2, 0x2 - bl LoadPalette - movs r0, 0x1 - b _0809FAC0 - .align 2, 0 -_0809FAB0: .4byte gUnknown_083C157E -_0809FAB4: - ldr r0, _0809FAC4 - movs r1, 0x4 - movs r2, 0x2 - bl LoadPalette - movs r0, 0 -_0809FAC0: - pop {r1} - bx r1 - .align 2, 0 -_0809FAC4: .4byte gUnknown_083C157C - thumb_func_end sub_809FA94 - - thumb_func_start sub_809FAC8 -sub_809FAC8: @ 809FAC8 - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _0809FB28 - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0x4 - movs r3, 0x3 - bl MenuZeroFillWindowRect - movs r0, 0x3 - movs r1, 0x10 - movs r2, 0x9 - movs r3, 0x11 - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0xC - movs r2, 0xB - movs r3, 0xF - bl MenuZeroFillWindowRect - ldr r4, _0809FB20 - adds r0, r5, 0 - adds r1, r4, 0 - bl GetMonNickname - adds r0, r4, 0 - movs r1, 0xD - movs r2, 0x3 - movs r3, 0x10 - bl sub_80A1FF8 - ldr r0, _0809FB24 - movs r1, 0x4 - movs r2, 0x2 - bl LoadPalette - b _0809FBD6 - .align 2, 0 -_0809FB20: .4byte gStringVar1 -_0809FB24: .4byte gUnknown_083C157C -_0809FB28: - adds r0, r5, 0 - bl sub_809FA94 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl sub_80406D8 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _0809FB6C - cmp r4, r0 - beq _0809FB96 - cmp r6, 0 - bne _0809FB70 - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x2 - bl GetStringCenterAlignXOffset - movs r0, 0x11 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0xD - b _0809FB8C - .align 2, 0 -_0809FB6C: .4byte 0x0000ffff -_0809FB70: - movs r0, 0x2 - movs r1, 0x8 - movs r2, 0x1 - movs r3, 0x2 - bl GetStringCenterAlignXOffsetWithLetterSpacing - movs r0, 0x11 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x8 -_0809FB8C: - movs r2, 0x3 - movs r3, 0x2 - bl sub_80A1F98 - b _0809FBA2 -_0809FB96: - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0x4 - movs r3, 0x3 - bl MenuZeroFillWindowRect -_0809FBA2: - ldr r1, _0809FBE0 - adds r0, r1, 0 - movs r1, 0xD - bl sub_80A1E58 - adds r1, r0, 0 - adds r0, r5, 0 - bl GetMonNickname - adds r1, r0, 0 - movs r0, 0xFC - strb r0, [r1] - movs r0, 0x13 - strb r0, [r1, 0x1] - movs r0, 0x3C - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r0, _0809FBE0 - movs r1, 0x1 - movs r2, 0xC - bl MenuPrint - adds r0, r5, 0 - bl sub_80A0958 -_0809FBD6: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809FBE0: .4byte gStringVar1 - thumb_func_end sub_809FAC8 - - thumb_func_start sub_809FBE4 -sub_809FBE4: @ 809FBE4 - push {r4,lr} - movs r4, 0 -_0809FBE8: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80A1918 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1B - bls _0809FBE8 - movs r0, 0xB - movs r1, 0x4 - movs r2, 0x1D - movs r3, 0x12 - bl MenuZeroFillWindowRect - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809FBE4 - - thumb_func_start sub_809FC0C -sub_809FC0C: @ 809FC0C - push {lr} - ldr r0, _0809FC30 - movs r1, 0xB - movs r2, 0x6 - bl MenuPrint - movs r0, 0 - movs r1, 0x16 - movs r2, 0x4 - bl GetStringCenterAlignXOffset - movs r0, 0x2 - movs r1, 0x17 - movs r2, 0x4 - bl GetStringCenterAlignXOffset - pop {r0} - bx r0 - .align 2, 0 -_0809FC30: .4byte gOtherText_Type2 - thumb_func_end sub_809FC0C - - thumb_func_start sub_809FC34 -sub_809FC34: @ 809FC34 - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - movs r4, 0 -_0809FC3C: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80A1918 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0809FC3C - movs r0, 0xB - movs r1, 0x9 - movs r2, 0x1C - movs r3, 0xC - bl MenuZeroFillWindowRect - adds r0, r6, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _0809FD1C - ldr r5, _0809FCD0 - adds r0, r5, 0 - movs r1, 0xD - bl sub_80A1E58 - adds r5, r0, 0 - ldr r1, _0809FCD4 - bl StringCopy - adds r5, r0, 0 - ldr r4, _0809FCD8 - adds r1, r4, 0 - bl StringCopy - adds r5, r0, 0 - movs r0, 0xFC - strb r0, [r5] - movs r0, 0x13 - strb r0, [r5, 0x1] - movs r0, 0x4E - strb r0, [r5, 0x2] - movs r0, 0xFF - strb r0, [r5, 0x3] - ldr r0, _0809FCD0 - movs r1, 0xB - movs r2, 0x4 - bl MenuPrint - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0xD - movs r2, 0xC1 - movs r3, 0x20 - bl sub_80A1EF8 - movs r0, 0x9 - movs r1, 0x78 - movs r2, 0x30 - movs r3, 0 - bl sub_80A198C - adds r0, r6, 0 - movs r1, 0x20 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0x5 - bhi _0809FCE0 - ldr r0, _0809FCDC - b _0809FCF2 - .align 2, 0 -_0809FCD0: .4byte gStringVar1 -_0809FCD4: .4byte gOtherText_OriginalTrainer -_0809FCD8: .4byte gOtherText_FiveQuestionsAndSlash -_0809FCDC: .4byte gOtherText_EggAbout -_0809FCE0: - cmp r0, 0xA - bhi _0809FCEC - ldr r0, _0809FCE8 - b _0809FCF2 - .align 2, 0 -_0809FCE8: .4byte gOtherText_EggSoon -_0809FCEC: - cmp r1, 0x28 - bhi _0809FD00 - ldr r0, _0809FCFC -_0809FCF2: - movs r1, 0xB - movs r2, 0x9 - bl MenuPrint - b _0809FD0A - .align 2, 0 -_0809FCFC: .4byte gOtherText_EggSomeTime -_0809FD00: - ldr r0, _0809FD18 - movs r1, 0xB - movs r2, 0x9 - bl MenuPrint -_0809FD0A: - adds r0, r6, 0 - movs r1, 0xB - movs r2, 0xE - bl sub_80A0708 - b _0809FE4C - .align 2, 0 -_0809FD18: .4byte gOtherText_EggLongTime -_0809FD1C: - ldr r4, _0809FD64 - adds r0, r6, 0 - movs r1, 0x7 - adds r2, r4, 0 - bl GetMonData - adds r0, r6, 0 - movs r1, 0x3 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ConvertInternationalString - ldr r5, _0809FD68 - adds r0, r5, 0 - movs r1, 0xD - bl sub_80A1E58 - adds r5, r0, 0 - ldr r1, _0809FD6C - bl StringCopy - adds r5, r0, 0 - adds r0, r6, 0 - movs r1, 0x31 - bl GetMonData - cmp r0, 0 - bne _0809FD70 - adds r0, r5, 0 - movs r1, 0x9 - b _0809FD74 - .align 2, 0 -_0809FD64: .4byte gStringVar2 -_0809FD68: .4byte gStringVar1 -_0809FD6C: .4byte gOtherText_OriginalTrainer -_0809FD70: - adds r0, r5, 0 - movs r1, 0xA -_0809FD74: - bl sub_80A1E58 - adds r5, r0, 0 - ldr r1, _0809FE54 - adds r0, r5, 0 - bl StringCopy - adds r5, r0, 0 - movs r0, 0xFC - strb r0, [r5] - movs r0, 0x13 - strb r0, [r5, 0x1] - movs r0, 0x4E - strb r0, [r5, 0x2] - movs r0, 0xFF - strb r0, [r5, 0x3] - ldr r0, _0809FE58 - movs r1, 0xB - movs r2, 0x4 - bl MenuPrint - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonData - ldr r1, _0809FE5C - ands r1, r0 - movs r0, 0xC1 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - adds r0, r1, 0 - movs r1, 0xD - movs r2, 0x5 - movs r3, 0x2 - bl sub_80A1F98 - adds r0, r6, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r2, _0809FE60 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r5, r1, r2 - ldrb r4, [r5, 0x6] - adds r0, r4, 0 - movs r1, 0x78 - movs r2, 0x30 - movs r3, 0 - bl sub_80A198C - ldrb r0, [r5, 0x7] - cmp r4, r0 - beq _0809FDF8 - ldrb r0, [r5, 0x7] - movs r1, 0xA0 - movs r2, 0x30 - movs r3, 0x1 - bl sub_80A198C -_0809FDF8: - adds r0, r6, 0 - movs r1, 0xB - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r6, 0 - movs r1, 0x2E - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl GetAbilityBySpecies - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xD - muls r0, r4 - ldr r1, _0809FE64 - adds r0, r1 - movs r1, 0xD - movs r2, 0xB - movs r3, 0x9 - bl sub_80A1FF8 - ldr r0, _0809FE68 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0xB - movs r2, 0xB - bl MenuPrint - adds r0, r6, 0 - movs r1, 0xB - movs r2, 0xE - bl sub_80A0798 -_0809FE4C: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809FE54: .4byte gStringVar2 -_0809FE58: .4byte gStringVar1 -_0809FE5C: .4byte 0x0000ffff -_0809FE60: .4byte gBaseStats -_0809FE64: .4byte gAbilityNames -_0809FE68: .4byte gAbilityDescriptions - thumb_func_end sub_809FC34 - - thumb_func_start sub_809FE6C -sub_809FE6C: @ 809FE6C - push {r4,lr} - adds r4, r0, 0 - bl sub_809FC0C - adds r0, r4, 0 - bl sub_809FC34 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809FE6C - - thumb_func_start sub_809FE80 -sub_809FE80: @ 809FE80 - push {lr} - movs r0, 0xE - movs r1, 0x4 - movs r2, 0x12 - movs r3, 0x5 - bl MenuZeroFillWindowRect - movs r0, 0x19 - movs r1, 0x4 - movs r2, 0x1E - movs r3, 0x5 - bl MenuZeroFillWindowRect - movs r0, 0xB - movs r1, 0x9 - movs r2, 0x1C - movs r3, 0xC - bl MenuZeroFillWindowRect - movs r0, 0xB - movs r1, 0xE - movs r2, 0x1C - movs r3, 0x11 - bl MenuZeroFillWindowRect - pop {r0} - bx r0 - thumb_func_end sub_809FE80 - - thumb_func_start sub_809FEB8 -sub_809FEB8: @ 809FEB8 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0809FF40 - movs r1, 0xD - movs r2, 0xB - movs r3, 0xE - bl sub_80A1FF8 - ldr r0, _0809FF44 - movs r1, 0xD - movs r2, 0xB - movs r3, 0x10 - bl sub_80A1FF8 - ldr r0, _0809FF48 - movs r1, 0x15 - movs r2, 0x10 - bl MenuPrint - ldr r0, _0809FF4C - movs r4, 0x2A - str r4, [sp] - movs r1, 0xD - movs r2, 0xB - movs r3, 0x7 - bl sub_80A1F48 - ldr r0, _0809FF50 - str r4, [sp] - movs r1, 0xD - movs r2, 0xB - movs r3, 0x9 - bl sub_80A1F48 - ldr r0, _0809FF54 - str r4, [sp] - movs r1, 0xD - movs r2, 0xB - movs r3, 0xB - bl sub_80A1F48 - ldr r0, _0809FF58 - movs r4, 0x24 - str r4, [sp] - movs r1, 0xD - movs r2, 0x16 - movs r3, 0x7 - bl sub_80A1F48 - ldr r0, _0809FF5C - str r4, [sp] - movs r1, 0xD - movs r2, 0x16 - movs r3, 0x9 - bl sub_80A1F48 - ldr r0, _0809FF60 - str r4, [sp] - movs r1, 0xD - movs r2, 0x16 - movs r3, 0xB - bl sub_80A1F48 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809FF40: .4byte gOtherText_ExpPoints -_0809FF44: .4byte gOtherText_NextLv -_0809FF48: .4byte gOtherText_Terminator18 -_0809FF4C: .4byte gOtherText_HP -_0809FF50: .4byte gOtherText_Attack -_0809FF54: .4byte gOtherText_Defense -_0809FF58: .4byte gOtherText_SpAtk -_0809FF5C: .4byte gOtherText_SpDef -_0809FF60: .4byte gOtherText_Speed - thumb_func_end sub_809FEB8 - - thumb_func_start sub_809FF64 -sub_809FF64: @ 809FF64 - push {r4,r5,lr} - adds r5, r0, 0 - movs r4, 0 -_0809FF6A: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80A1918 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0809FF6A - adds r0, r5, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xB - movs r2, 0x4 - bl sub_80A0BF4 - adds r0, r5, 0 - bl sub_80A0B88 - ldr r4, _080A008C - adds r0, r5, 0 - movs r1, 0x19 - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - bl ConvertIntToDecimalString - adds r0, r4, 0 - movs r1, 0x1D - movs r2, 0xE - bl sub_8072B4C - adds r0, r5, 0 - movs r1, 0x17 - movs r2, 0x10 - bl sub_80A0C80 - adds r0, r5, 0 - movs r1, 0x3B - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - bl ConvertIntToDecimalString - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x9 - movs r3, 0x32 - bl sub_8072BD8 - adds r0, r5, 0 - movs r1, 0x3C - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - bl ConvertIntToDecimalString - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0xB - movs r3, 0x32 - bl sub_8072BD8 - adds r0, r5, 0 - movs r1, 0x3E - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - bl ConvertIntToDecimalString - adds r0, r4, 0 - movs r1, 0x1B - movs r2, 0x7 - movs r3, 0x12 - bl sub_8072BD8 - adds r0, r5, 0 - movs r1, 0x3F - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - bl ConvertIntToDecimalString - adds r0, r4, 0 - movs r1, 0x1B - movs r2, 0x9 - movs r3, 0x12 - bl sub_8072BD8 - adds r0, r5, 0 - movs r1, 0x3D - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - bl ConvertIntToDecimalString - adds r0, r4, 0 - movs r1, 0x1B - movs r2, 0xB - movs r3, 0x12 - bl sub_8072BD8 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x18 - movs r3, 0x1 - bl sub_8072C14 - adds r4, r0, 0 - movs r0, 0xBA - strb r0, [r4] - adds r4, 0x1 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x30 - movs r3, 0x1 - bl sub_8072C14 - ldr r0, _080A008C - movs r1, 0x7E - movs r2, 0x38 - movs r3, 0x1 - bl sub_80729D8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A008C: .4byte gStringVar1 - thumb_func_end sub_809FF64 - - thumb_func_start sub_80A0090 -sub_80A0090: @ 80A0090 - push {r4,lr} - adds r4, r0, 0 - bl sub_809FEB8 - adds r0, r4, 0 - bl sub_809FF64 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A0090 - - thumb_func_start sub_80A00A4 -sub_80A00A4: @ 80A00A4 - push {lr} - movs r0, 0xB - movs r1, 0x4 - movs r2, 0x13 - movs r3, 0x5 - bl MenuZeroFillWindowRect - movs r0, 0x10 - movs r1, 0x7 - movs r2, 0x15 - movs r3, 0x8 - bl MenuZeroFillWindowRect - movs r0, 0x11 - movs r1, 0x9 - movs r2, 0x15 - movs r3, 0xC - bl MenuZeroFillWindowRect - movs r0, 0x1B - movs r1, 0x7 - movs r2, 0x1D - movs r3, 0xC - bl MenuZeroFillWindowRect - movs r0, 0x16 - movs r1, 0xE - movs r2, 0x1C - movs r3, 0xF - bl MenuZeroFillWindowRect - movs r0, 0x17 - movs r1, 0x10 - movs r2, 0x1C - movs r3, 0x11 - bl MenuZeroFillWindowRect - pop {r0} - bx r0 - thumb_func_end sub_80A00A4 - - thumb_func_start sub_80A00F4 -sub_80A00F4: @ 80A00F4 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r2, _080A012C - adds r0, r2, 0 - adds r0, 0x7C - ldrh r0, [r0] - cmp r0, 0 - bne _080A010A - cmp r1, 0x4 - beq _080A0150 -_080A010A: - ldrb r0, [r2, 0xB] - cmp r0, 0x2 - bne _080A0138 - ldr r0, _080A0130 - movs r1, 0xD - movs r2, 0x1 - movs r3, 0xF - bl sub_80A1FF8 - ldr r0, _080A0134 - movs r1, 0xD - movs r2, 0x1 - movs r3, 0x11 - bl sub_80A1FF8 - b _080A0150 - .align 2, 0 -_080A012C: .4byte 0x02018000 -_080A0130: .4byte gOtherText_Power2 -_080A0134: .4byte gOtherText_Accuracy2 -_080A0138: - ldr r0, _080A0154 - movs r1, 0xD - movs r2, 0x1 - movs r3, 0xF - bl sub_80A1FF8 - ldr r0, _080A0158 - movs r1, 0xD - movs r2, 0x1 - movs r3, 0x11 - bl sub_80A1FF8 -_080A0150: - pop {r0} - bx r0 - .align 2, 0 -_080A0154: .4byte gOtherText_Appeal2 -_080A0158: .4byte gOtherText_Jam2 - thumb_func_end sub_80A00F4 - - thumb_func_start sub_80A015C -sub_80A015C: @ 80A015C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r0 - movs r7, 0 -_080A0168: - mov r0, r8 - adds r1, r7, 0 - bl sub_809F760 - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r8 - adds r1, r7, 0 - bl sub_809F798 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - cmp r6, 0 - bne _080A01B8 - adds r0, r7, 0 - movs r1, 0x1 - bl sub_80A1918 - lsls r4, r7, 25 - movs r0, 0x80 - lsls r0, 19 - adds r4, r0 - lsrs r4, 24 - ldr r0, _080A01B0 - movs r1, 0xD - movs r2, 0xF - adds r3, r4, 0 - bl sub_80A1FF8 - ldr r0, _080A01B4 - movs r1, 0x1A - adds r2, r4, 0 - bl MenuPrint - b _080A0276 - .align 2, 0 -_080A01B0: .4byte gOtherText_OneDash -_080A01B4: .4byte gOtherText_TwoDashes -_080A01B8: - ldr r0, _080A01E0 - ldrb r0, [r0, 0xB] - cmp r0, 0x2 - bne _080A01E8 - ldr r1, _080A01E4 - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - lsls r4, r7, 1 - adds r2, r4, 0x4 - lsls r2, 27 - lsrs r2, 24 - movs r1, 0x57 - adds r3, r7, 0 - bl sub_80A198C - b _080A020C - .align 2, 0 -_080A01E0: .4byte 0x02018000 -_080A01E4: .4byte gBattleMoves -_080A01E8: - ldr r1, _080A0290 - lsls r0, r6, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 5 - movs r1, 0x90 - lsls r1, 21 - adds r0, r1 - lsrs r0, 24 - lsls r4, r7, 1 - adds r2, r4, 0x4 - lsls r2, 27 - lsrs r2, 24 - movs r1, 0x57 - adds r3, r7, 0 - bl sub_80A198C -_080A020C: - movs r0, 0xD - muls r0, r6 - ldr r1, _080A0294 - adds r0, r1 - adds r5, r4, 0x4 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0xD - movs r2, 0xF - adds r3, r5, 0 - bl sub_80A1FF8 - movs r0, 0x1 - movs r1, 0x18 - adds r2, r5, 0 - bl GetStringCenterAlignXOffset - mov r0, r8 - movs r1, 0x15 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - adds r2, r7, 0 - bl CalculatePPWithBonus - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080A0298 - adds r0, r1, 0 - mov r1, r9 - movs r2, 0xE - movs r3, 0x1 - bl sub_8072C14 - adds r1, r0, 0 - movs r0, 0xBA - strb r0, [r1] - adds r1, 0x1 - adds r0, r1, 0 - adds r1, r4, 0 - movs r2, 0x20 - movs r3, 0x1 - bl sub_8072C14 - ldr r0, _080A0298 - movs r1, 0x19 - adds r2, r5, 0 - bl MenuPrint -_080A0276: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3 - bhi _080A0282 - b _080A0168 -_080A0282: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A0290: .4byte gContestMoves -_080A0294: .4byte gMoveNames -_080A0298: .4byte gStringVar1 - thumb_func_end sub_80A015C - - thumb_func_start sub_80A029C -sub_80A029C: @ 80A029C - push {r4,r5,lr} - ldr r1, _080A02B8 - adds r4, r1, 0 - adds r4, 0x7C - ldrh r0, [r4] - cmp r0, 0 - bne _080A02C0 - ldr r0, _080A02BC - movs r1, 0xD - movs r2, 0xF - movs r3, 0xC - bl sub_80A1FF8 - b _080A037E - .align 2, 0 -_080A02B8: .4byte 0x02018000 -_080A02BC: .4byte gOtherText_CancelNoTerminator -_080A02C0: - ldrh r5, [r4] - ldrb r0, [r1, 0xB] - cmp r0, 0x2 - bne _080A02E4 - ldr r1, _080A02E0 - lsls r4, r5, 1 - adds r0, r4, r5 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - movs r1, 0x57 - movs r2, 0x60 - movs r3, 0x4 - bl sub_80A198C - b _080A0304 - .align 2, 0 -_080A02E0: .4byte gBattleMoves -_080A02E4: - ldr r1, _080A0320 - lsls r0, r5, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 5 - movs r1, 0x90 - lsls r1, 21 - adds r0, r1 - lsrs r0, 24 - movs r1, 0x57 - movs r2, 0x60 - movs r3, 0x4 - bl sub_80A198C - lsls r4, r5, 1 -_080A0304: - ldr r0, _080A0324 - ldrb r0, [r0, 0xB] - cmp r0, 0x2 - bne _080A032C - movs r0, 0xD - muls r0, r5 - ldr r1, _080A0328 - adds r0, r1 - movs r1, 0xA - movs r2, 0xF - movs r3, 0xC - bl sub_80A1FF8 - b _080A033E - .align 2, 0 -_080A0320: .4byte gContestMoves -_080A0324: .4byte 0x02018000 -_080A0328: .4byte gMoveNames -_080A032C: - movs r0, 0xD - muls r0, r5 - ldr r1, _080A0384 - adds r0, r1 - movs r1, 0x9 - movs r2, 0xF - movs r3, 0xC - bl sub_80A1FF8 -_080A033E: - movs r0, 0x1 - movs r1, 0x18 - movs r2, 0xC - bl GetStringCenterAlignXOffset - ldr r2, _080A0388 - ldr r1, _080A038C - adds r0, r4, r5 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x4] - adds r0, r2, 0 - adds r1, r4, 0 - movs r2, 0xE - movs r3, 0x1 - bl sub_8072C14 - adds r2, r0, 0 - movs r0, 0xBA - strb r0, [r2] - adds r2, 0x1 - adds r0, r2, 0 - adds r1, r4, 0 - movs r2, 0x20 - movs r3, 0x1 - bl sub_8072C14 - ldr r0, _080A0388 - movs r1, 0x19 - movs r2, 0xC - bl MenuPrint -_080A037E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A0384: .4byte gMoveNames -_080A0388: .4byte gStringVar1 -_080A038C: .4byte gBattleMoves - thumb_func_end sub_80A029C - - thumb_func_start sub_80A0390 -sub_80A0390: @ 80A0390 - push {r4,lr} - movs r4, 0 -_080A0394: - lsls r3, r4, 1 - adds r1, r3, 0x4 - lsls r1, 24 - lsrs r1, 24 - adds r3, 0x5 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0xF - movs r2, 0x1C - bl MenuZeroFillWindowRect - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080A0394 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A0390 - - thumb_func_start sub_80A03BC -sub_80A03BC: @ 80A03BC - push {lr} - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x4 - beq _080A03D0 - bl sub_809F760 - lsls r0, 16 - lsrs r1, r0, 16 - b _080A03E0 -_080A03D0: - ldr r0, _080A03E8 - adds r2, r0, 0 - adds r2, 0x7C - ldrh r0, [r2] - ldr r1, _080A03EC - cmp r0, 0 - beq _080A03E0 - adds r1, r0, 0 -_080A03E0: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A03E8: .4byte 0x02018000 -_080A03EC: .4byte 0x0000ffff - thumb_func_end sub_80A03BC - - thumb_func_start sub_80A03F0 -sub_80A03F0: @ 80A03F0 - push {lr} - ldrb r1, [r1] - bl sub_80A03BC - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _080A0414 - ldrb r0, [r0, 0xB] - cmp r0, 0x2 - bne _080A041C - adds r0, r1, 0 - bl sub_80A04CC - ldr r0, _080A0418 - bl sub_80A057C - b _080A0422 - .align 2, 0 -_080A0414: .4byte 0x02018000 -_080A0418: .4byte 0x0000ffff -_080A041C: - adds r0, r1, 0 - bl sub_80A057C -_080A0422: - pop {r0} - bx r0 - thumb_func_end sub_80A03F0 - - thumb_func_start sub_80A0428 -sub_80A0428: @ 80A0428 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldrb r1, [r6] - bl sub_80A03BC - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0xB - movs r1, 0xF - movs r2, 0x1C - movs r3, 0x12 - bl MenuZeroFillWindowRect - ldr r0, _080A0454 - ldrb r0, [r0, 0xB] - cmp r0, 0x2 - bne _080A0458 - adds r0, r4, 0 - bl sub_80A046C - b _080A045E - .align 2, 0 -_080A0454: .4byte 0x02018000 -_080A0458: - adds r0, r4, 0 - bl sub_80A0498 -_080A045E: - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_80A03F0 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A0428 - - thumb_func_start sub_80A046C -sub_80A046C: @ 80A046C - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _080A0490 - cmp r1, r0 - beq _080A048A - ldr r0, _080A0494 - subs r1, 0x1 - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - movs r1, 0xB - movs r2, 0xF - bl MenuPrint -_080A048A: - pop {r0} - bx r0 - .align 2, 0 -_080A0490: .4byte 0x0000ffff -_080A0494: .4byte gMoveDescriptions - thumb_func_end sub_80A046C - - thumb_func_start sub_80A0498 -sub_80A0498: @ 80A0498 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _080A04C0 - cmp r3, r0 - beq _080A04BC - ldr r2, _080A04C4 - ldr r1, _080A04C8 - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - movs r1, 0xB - movs r2, 0xF - bl MenuPrint -_080A04BC: - pop {r0} - bx r0 - .align 2, 0 -_080A04C0: .4byte 0x0000ffff -_080A04C4: .4byte gUnknown_083CADD4 -_080A04C8: .4byte gContestMoves - thumb_func_end sub_80A0498 - - thumb_func_start sub_80A04CC -sub_80A04CC: @ 80A04CC - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _080A0504 - cmp r4, r0 - beq _080A0572 - ldr r2, _080A0508 - lsls r1, r4, 1 - adds r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2, 0x1] - adds r5, r1, 0 - cmp r0, 0x1 - bhi _080A0514 - ldr r0, _080A050C - ldr r1, _080A0510 - movs r2, 0x15 - movs r3, 0x1 - bl sub_8072C74 - ldr r0, _080A050C - movs r1, 0x7 - movs r2, 0xF - bl MenuPrint - b _080A052A - .align 2, 0 -_080A0504: .4byte 0x0000ffff -_080A0508: .4byte gBattleMoves -_080A050C: .4byte gStringVar1 -_080A0510: .4byte gOtherText_ThreeDashes2 -_080A0514: - ldr r0, _080A0550 - ldrb r1, [r2, 0x1] - movs r2, 0x15 - movs r3, 0x1 - bl sub_8072C14 - ldr r0, _080A0550 - movs r1, 0x7 - movs r2, 0xF - bl MenuPrint -_080A052A: - ldr r0, _080A0554 - adds r1, r5, r4 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x3] - cmp r0, 0 - bne _080A055C - ldr r0, _080A0550 - ldr r1, _080A0558 - movs r2, 0x15 - movs r3, 0x1 - bl sub_8072C74 - ldr r0, _080A0550 - movs r1, 0x7 - movs r2, 0x11 - bl MenuPrint - b _080A0572 - .align 2, 0 -_080A0550: .4byte gStringVar1 -_080A0554: .4byte gBattleMoves -_080A0558: .4byte gOtherText_ThreeDashes2 -_080A055C: - ldr r0, _080A0578 - ldrb r1, [r1, 0x3] - movs r2, 0x15 - movs r3, 0x1 - bl sub_8072C14 - ldr r0, _080A0578 - movs r1, 0x7 - movs r2, 0x11 - bl MenuPrint -_080A0572: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A0578: .4byte gStringVar1 - thumb_func_end sub_80A04CC - - thumb_func_start sub_80A057C -sub_80A057C: @ 80A057C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _080A0648 - mov r8, r0 - ldr r0, _080A064C - cmp r5, r0 - beq _080A063A - ldr r1, _080A0650 - ldr r2, _080A0654 - lsls r3, r5, 3 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x1] - mov r10, r2 - mov r9, r3 - cmp r4, 0xFF - beq _080A05B8 - adds r0, r4, 0 - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r4, r0, 24 -_080A05B8: - movs r2, 0 - movs r7, 0x3 - movs r6, 0xF3 - lsls r6, 2 -_080A05C0: - ldr r3, _080A0658 - cmp r4, 0xFF - beq _080A05CC - cmp r2, r4 - bcs _080A05CC - adds r3, 0x1 -_080A05CC: - lsrs r0, r2, 2 - lsls r0, 5 - adds r1, r2, 0 - ands r1, r7 - adds r1, r0 - lsls r1, 1 - add r1, r8 - adds r1, r6 - strh r3, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _080A05C0 - ldr r0, _080A064C - cmp r5, r0 - beq _080A063A - mov r0, r9 - add r0, r10 - ldrb r0, [r0] - lsls r0, 2 - ldr r1, _080A0650 - adds r0, r1 - ldrb r4, [r0, 0x2] - cmp r4, 0xFF - beq _080A060C - adds r0, r4, 0 - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r4, r0, 24 -_080A060C: - movs r2, 0 - movs r6, 0x3 - ldr r5, _080A065C -_080A0612: - ldr r3, _080A0660 - cmp r4, 0xFF - beq _080A061E - cmp r2, r4 - bcs _080A061E - subs r3, 0x1 -_080A061E: - lsrs r0, r2, 2 - lsls r0, 5 - adds r1, r2, 0 - ands r1, r6 - adds r1, r0 - lsls r1, 1 - add r1, r8 - adds r1, r5 - strh r3, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _080A0612 -_080A063A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A0648: .4byte 0x06006800 -_080A064C: .4byte 0x0000ffff -_080A0650: .4byte gContestEffects -_080A0654: .4byte gContestMoves -_080A0658: .4byte 0x00001039 -_080A065C: .4byte 0x0000044c -_080A0660: .4byte 0x0000103d - thumb_func_end sub_80A057C - - thumb_func_start sub_80A0664 -sub_80A0664: @ 80A0664 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, _080A06A0 - ldr r1, [r0] - ldr r0, _080A06A4 - cmp r1, r0 - bne _080A06B0 - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A06A8 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r0, r2, 0x4 - adds r0, r1, r0 - ldrh r5, [r0] - ldr r4, _080A06AC - adds r2, 0x8 - adds r1, r2 - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - bl SkipExtCtrlCodes - b _080A06C2 - .align 2, 0 -_080A06A0: .4byte 0x02018000 -_080A06A4: .4byte gEnemyParty -_080A06A8: .4byte gLinkPlayers -_080A06AC: .4byte gStringVar1 -_080A06B0: - bl sub_80BFB94 - adds r5, r0, 0 - ldr r0, _080A06F0 - ands r5, r0 - ldr r0, _080A06F4 - ldr r1, _080A06F8 - bl StringCopy -_080A06C2: - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonData - ldr r1, _080A06F0 - ands r1, r0 - cmp r5, r1 - bne _080A06EA - ldr r4, _080A06FC - adds r0, r6, 0 - movs r1, 0x7 - adds r2, r4, 0 - bl GetMonData - ldr r0, _080A06F4 - adds r1, r4, 0 - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - beq _080A0700 -_080A06EA: - movs r0, 0 - b _080A0702 - .align 2, 0 -_080A06F0: .4byte 0x0000ffff -_080A06F4: .4byte gStringVar1 -_080A06F8: .4byte gSaveBlock2 -_080A06FC: .4byte gStringVar2 -_080A0700: - movs r0, 0x1 -_080A0702: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80A0664 - - thumb_func_start sub_80A0708 -sub_80A0708: @ 80A0708 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - mov r9, r5 - lsls r2, 24 - lsrs r6, r2, 24 - mov r8, r6 - movs r1, 0x25 - bl GetMonData - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x2 - bls _080A073C - ldr r0, _080A0738 - b _080A076E - .align 2, 0 -_080A0738: .4byte gOtherText_EggObtainedInTrade -_080A073C: - adds r0, r4, 0 - movs r1, 0x23 - bl GetMonData - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xFF - bne _080A0754 - ldr r0, _080A0750 - b _080A076E - .align 2, 0 -_080A0750: .4byte gOtherText_EggNicePlace -_080A0754: - adds r0, r4, 0 - bl sub_80A0664 - lsls r0, 24 - cmp r0, 0 - bne _080A0768 - ldr r0, _080A0764 - b _080A076E - .align 2, 0 -_080A0764: .4byte gOtherText_EggObtainedInTrade -_080A0768: - cmp r7, 0xFD - bne _080A077C - ldr r0, _080A0778 -_080A076E: - adds r1, r5, 0 - adds r2, r6, 0 - bl MenuPrint - b _080A0786 - .align 2, 0 -_080A0778: .4byte gOtherText_EggHotSprings -_080A077C: - ldr r0, _080A0794 - mov r1, r9 - mov r2, r8 - bl MenuPrint -_080A0786: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A0794: .4byte gOtherText_EggDayCare - thumb_func_end sub_80A0708 - - thumb_func_start sub_80A0798 -sub_80A0798: @ 80A0798 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldr r5, _080A0838 - bl GetNature - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080A083C - lsls r0, r4, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r5, 0 - movs r2, 0xE - bl sub_80A1E9C - adds r5, r0, 0 - cmp r4, 0x5 - beq _080A07DA - cmp r4, 0x15 - beq _080A07DA - ldr r1, _080A0840 - bl StringCopy - adds r5, r0, 0 -_080A07DA: - ldr r1, _080A0844 - adds r0, r5, 0 - bl StringCopy - adds r5, r0, 0 - adds r0, r7, 0 - bl sub_80A0664 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A0898 - adds r0, r7, 0 - movs r1, 0x23 - bl GetMonData - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r7, 0 - movs r1, 0x24 - bl GetMonData - cmp r0, 0 - bne _080A0850 - adds r0, r5, 0 - movs r1, 0x5 - bl sub_80A203C - adds r5, r0, 0 - movs r0, 0xFE - strb r0, [r5] - adds r5, 0x1 - ldr r4, _080A0848 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_80FC02C - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0xE - bl sub_80A1E9C - adds r5, r0, 0 - ldr r1, _080A084C - bl StringCopy - b _080A0934 - .align 2, 0 -_080A0838: .4byte gStringVar4 -_080A083C: .4byte gNatureNames -_080A0840: .4byte gOtherText_Terminator4 -_080A0844: .4byte gOtherText_Nature -_080A0848: .4byte gStringVar1 -_080A084C: .4byte gOtherText_Egg2 -_080A0850: - cmp r6, 0x57 - bhi _080A08E8 - adds r0, r7, 0 - movs r1, 0x24 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_80A203C - adds r5, r0, 0 - movs r0, 0xFE - strb r0, [r5] - adds r5, 0x1 - ldr r4, _080A0890 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_80FC02C - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0xE - bl sub_80A1E9C - adds r5, r0, 0 - ldr r1, _080A0894 - bl StringCopy - b _080A0934 - .align 2, 0 -_080A0890: .4byte gStringVar1 -_080A0894: .4byte gOtherText_Met -_080A0898: - adds r0, r7, 0 - movs r1, 0x25 - bl GetMonData - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x2 - bhi _080A08E8 - adds r0, r7, 0 - movs r1, 0x23 - bl GetMonData - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xFF - bne _080A08E4 - adds r0, r7, 0 - movs r1, 0x24 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_80A203C - adds r5, r0, 0 - movs r0, 0xFE - strb r0, [r5] - adds r5, 0x1 - ldr r1, _080A08E0 - b _080A08F0 - .align 2, 0 -_080A08E0: .4byte gOtherText_FatefulEncounter -_080A08E4: - cmp r6, 0x57 - bls _080A08FC -_080A08E8: - movs r0, 0xFE - strb r0, [r5] - adds r5, 0x1 - ldr r1, _080A08F8 -_080A08F0: - adds r0, r5, 0 - bl StringCopy - b _080A0934 - .align 2, 0 -_080A08F8: .4byte gOtherText_ObtainedInTrade -_080A08FC: - adds r0, r7, 0 - movs r1, 0x24 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_80A203C - adds r5, r0, 0 - movs r0, 0xFE - strb r0, [r5] - adds r5, 0x1 - ldr r4, _080A094C - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_80FC02C - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0xE - bl sub_80A1E9C - adds r5, r0, 0 - ldr r1, _080A0950 - bl StringCopy -_080A0934: - ldr r0, _080A0954 - mov r1, r9 - mov r2, r8 - bl MenuPrint - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A094C: .4byte gStringVar1 -_080A0950: .4byte gOtherText_Met2 -_080A0954: .4byte gStringVar4 - thumb_func_end sub_80A0798 - - thumb_func_start sub_80A0958 -sub_80A0958: @ 80A0958 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - mov r8, r0 - movs r1, 0xB - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r2, _080A0A24 - adds r0, r2, 0 - movs r1, 0xD - bl sub_80A1E58 - adds r2, r0, 0 - movs r6, 0xFC - strb r6, [r2] - movs r0, 0x11 - strb r0, [r2, 0x1] - movs r0, 0x7 - strb r0, [r2, 0x2] - movs r0, 0xBA - strb r0, [r2, 0x3] - adds r2, 0x4 - movs r0, 0xB - adds r1, r4, 0 - muls r1, r0 - ldr r0, _080A0A28 - adds r1, r0 - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 - strb r6, [r2] - movs r0, 0x13 - mov r10, r0 - strb r0, [r2, 0x1] - movs r0, 0x50 - strb r0, [r2, 0x2] - movs r0, 0xFF - mov r9, r0 - strb r0, [r2, 0x3] - ldr r5, _080A0A24 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0xE - bl MenuPrint - movs r0, 0x3 - movs r1, 0x10 - movs r2, 0x9 - movs r3, 0x11 - bl MenuZeroFillWindowRect - mov r0, r8 - movs r1, 0x38 - bl GetMonData - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0xD - bl sub_80A1E58 - adds r2, r0, 0 - movs r0, 0x34 - strb r0, [r2] - adds r2, 0x1 - adds r0, r2, 0 - adds r1, r4, 0 - bl ConvertIntToDecimalString - adds r2, r0, 0 - strb r6, [r2] - mov r0, r10 - strb r0, [r2, 0x1] - movs r0, 0x20 - strb r0, [r2, 0x2] - mov r0, r9 - strb r0, [r2, 0x3] - adds r0, r5, 0 - movs r1, 0x3 - movs r2, 0x10 - bl MenuPrint - mov r0, r8 - movs r1, 0x7 - movs r2, 0x10 - bl sub_80A0A2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A0A24: .4byte gStringVar1 -_080A0A28: .4byte gSpeciesNames - thumb_func_end sub_80A0958 - - thumb_func_start sub_80A0A2C -sub_80A0A2C: @ 80A0A2C - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x20 - beq _080A0A84 - cmp r0, 0x1D - beq _080A0A84 - adds r0, r6, 0 - bl GetMonGender - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080A0A6E - cmp r0, 0xFE - beq _080A0A78 - adds r3, r4, 0x1 - lsls r3, 24 - lsrs r3, 24 - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl MenuZeroFillWindowRect - b _080A0A84 -_080A0A6E: - ldr r0, _080A0A74 - movs r1, 0xB - b _080A0A7C - .align 2, 0 -_080A0A74: .4byte gOtherText_MaleSymbol2 -_080A0A78: - ldr r0, _080A0A8C - movs r1, 0xC -_080A0A7C: - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_80A1FF8 -_080A0A84: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A0A8C: .4byte gOtherText_FemaleSymbolAndLv - thumb_func_end sub_80A0A2C - - thumb_func_start sub_80A0A90 -sub_80A0A90: @ 80A0A90 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x32 - bl GetMonData - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x33 - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x34 - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x35 - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x36 - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x43 - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x44 - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x45 - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x46 - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x47 - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x48 - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x49 - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x4A - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x4B - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x4C - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x4D - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x4E - bl GetMonData - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80A0A90 - - thumb_func_start sub_80A0B88 -sub_80A0B88: @ 80A0B88 - push {r4,r5,lr} - bl sub_80A0A90 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080A0BA8 - ldr r0, _080A0BA0 - ldr r1, _080A0BA4 - bl StringCopy - b _080A0BD8 - .align 2, 0 -_080A0BA0: .4byte gStringVar1 -_080A0BA4: .4byte gOtherText_None -_080A0BA8: - ldr r4, _080A0BE8 - ldr r1, _080A0BEC - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - bl StringLength - lsls r0, 24 - lsrs r0, 24 - subs r4, 0x2 - adds r0, r4 - movs r1, 0xFC - strb r1, [r0] - movs r1, 0x14 - strb r1, [r0, 0x1] - movs r1, 0x6 - strb r1, [r0, 0x2] - adds r0, 0x3 - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN -_080A0BD8: - ldr r0, _080A0BF0 - movs r1, 0x15 - movs r2, 0x4 - bl MenuPrint - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A0BE8: .4byte gStringVar1 -_080A0BEC: .4byte gOtherText_Ribbons00 -_080A0BF0: .4byte gUnknown_083C15AE - thumb_func_end sub_80A0B88 - - thumb_func_start sub_80A0BF4 -sub_80A0BF4: @ 80A0BF4 - push {r4-r7,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - cmp r5, 0xAF - bne _080A0C48 - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A0C48 - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A0C48 - ldr r0, _080A0C40 - ldrb r0, [r0, 0x9] - cmp r0, 0x1 - beq _080A0C2E - cmp r0, 0x4 - beq _080A0C2E - cmp r0, 0x5 - bne _080A0C48 -_080A0C2E: - ldr r4, _080A0C44 - adds r0, r5, 0 - bl itemid_get_item - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - b _080A0C68 - .align 2, 0 -_080A0C40: .4byte 0x02018000 -_080A0C44: .4byte gStringVar1 -_080A0C48: - cmp r5, 0 - bne _080A0C60 - ldr r0, _080A0C58 - ldr r1, _080A0C5C - bl StringCopy - b _080A0C68 - .align 2, 0 -_080A0C58: .4byte gStringVar1 -_080A0C5C: .4byte gOtherText_None -_080A0C60: - ldr r1, _080A0C78 - adds r0, r5, 0 - bl itemid_copy_name -_080A0C68: - ldr r0, _080A0C7C - adds r1, r7, 0 - adds r2, r6, 0 - bl MenuPrint - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A0C78: .4byte gStringVar1 -_080A0C7C: .4byte gUnknown_083C15B4 - thumb_func_end sub_80A0BF4 - - thumb_func_start sub_80A0C80 -sub_80A0C80: @ 80A0C80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - movs r0, 0 - mov r9, r0 - movs r6, 0 - movs r7, 0 - adds r0, r4, 0 - movs r1, 0x19 - bl GetMonData - mov r8, r0 - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - cmp r5, 0x63 - bhi _080A0D14 - ldr r3, _080A0D4C - adds r1, r5, 0x1 - lsls r1, 2 - ldr r2, _080A0D50 - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x13] - movs r0, 0xCA - lsls r0, 1 - muls r2, r0 - adds r1, r2 - adds r1, r3 - ldr r1, [r1] - mov r0, r8 - subs r0, r1, r0 - mov r9, r0 - lsls r0, r5, 2 - adds r0, r2 - adds r0, r3 - ldr r0, [r0] - subs r1, r0 - mov r2, r8 - subs r4, r2, r0 - lsls r0, r4, 6 - bl __udivsi3 - adds r6, r0, 0 - movs r7, 0 - adds r0, r7, 0 - orrs r0, r6 - cmp r0, 0 - bne _080A0D14 - cmp r4, 0 - beq _080A0D14 - movs r6, 0x1 - movs r7, 0 -_080A0D14: - ldr r4, _080A0D54 - adds r0, r4, 0 - mov r1, r9 - bl ConvertIntToDecimalString - mov r1, r10 - adds r1, 0x6 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp] - bl sub_8072B4C - ldr r0, _080A0D58 - mov r9, r0 - movs r2, 0 - mov r12, r2 - ldr r0, _080A0D5C - mov r8, r0 -_080A0D3A: - cmp r7, 0 - bgt _080A0D46 - cmp r7, 0 - bne _080A0D64 - cmp r6, 0x7 - bls _080A0D64 -_080A0D46: - ldr r1, _080A0D60 - b _080A0D96 - .align 2, 0 -_080A0D4C: .4byte gExperienceTables -_080A0D50: .4byte gBaseStats -_080A0D54: .4byte gStringVar1 -_080A0D58: .4byte 0x06004caa -_080A0D5C: .4byte 0x00002062 -_080A0D60: .4byte 0x0000206a -_080A0D64: - adds r5, r7, 0 - adds r4, r6, 0 - cmp r7, 0 - bge _080A0D74 - movs r4, 0x7 - movs r5, 0 - adds r4, r6 - adcs r5, r7 -_080A0D74: - lsls r3, r5, 29 - lsrs r2, r4, 3 - adds r0, r3, 0 - orrs r0, r2 - asrs r1, r5, 3 - lsrs r5, r0, 29 - lsls r4, r1, 3 - adds r3, r5, 0 - orrs r3, r4 - lsls r2, r0, 3 - adds r1, r7, 0 - adds r0, r6, 0 - subs r0, r2 - sbcs r1, r3 - add r0, r8 - lsls r0, 16 - lsrs r1, r0, 16 -_080A0D96: - mov r2, r12 - lsls r0, r2, 1 - add r0, r9 - strh r1, [r0] - movs r0, 0x8 - negs r0, r0 - asrs r1, r0, 31 - adds r6, r0 - adcs r7, r1 - cmp r7, 0 - bge _080A0DB0 - movs r6, 0 - movs r7, 0 -_080A0DB0: - mov r0, r12 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - cmp r0, 0x7 - bls _080A0D3A - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A0C80 - - thumb_func_start sub_80A0DD0 -sub_80A0DD0: @ 80A0DD0 - push {r4,r5,lr} - ldr r2, _080A0E3C - movs r5, 0xFC - strb r5, [r2] - movs r0, 0x12 - strb r0, [r2, 0x1] - movs r0, 0x2 - strb r0, [r2, 0x2] - adds r2, 0x3 - adds r0, r2, 0 - movs r1, 0xD - bl sub_80A1E58 - adds r2, r0, 0 - ldr r1, _080A0E40 - ldr r4, _080A0E44 - adds r0, r4, 0 - adds r0, 0x7E - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 - strb r5, [r2] - movs r0, 0x13 - strb r0, [r2, 0x1] - movs r0, 0x58 - strb r0, [r2, 0x2] - movs r0, 0xFF - strb r0, [r2, 0x3] - ldr r0, _080A0E3C - movs r1, 0 - movs r2, 0 - bl MenuPrint - adds r4, 0x7F - ldrb r0, [r4] - cmp r0, 0 - beq _080A0E48 - movs r0, 0x5 - movs r1, 0x17 - movs r2, 0 - bl GetStringCenterAlignXOffset - movs r0, 0x6 - movs r1, 0x18 - movs r2, 0 - bl GetStringCenterAlignXOffset - b _080A0E54 - .align 2, 0 -_080A0E3C: .4byte gStringVar1 -_080A0E40: .4byte gUnknown_083C1068 -_080A0E44: .4byte 0x02018000 -_080A0E48: - movs r0, 0x17 - movs r1, 0 - movs r2, 0x18 - movs r3, 0x1 - bl MenuZeroFillWindowRect -_080A0E54: - ldr r2, _080A0E98 - adds r0, r2, 0 - movs r1, 0xD - bl sub_80A1E58 - adds r2, r0, 0 - ldr r1, _080A0E9C - ldr r0, _080A0EA0 - adds r0, 0x7F - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 - movs r0, 0xFC - strb r0, [r2] - movs r0, 0x13 - strb r0, [r2, 0x1] - movs r0, 0x28 - strb r0, [r2, 0x2] - movs r0, 0xFF - strb r0, [r2, 0x3] - ldr r0, _080A0E98 - movs r1, 0x19 - movs r2, 0 - bl MenuPrint - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A0E98: .4byte gStringVar1 -_080A0E9C: .4byte gUnknown_083C1068 -_080A0EA0: .4byte 0x02018000 - thumb_func_end sub_80A0DD0 - - thumb_func_start sub_80A0EA4 -sub_80A0EA4: @ 80A0EA4 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, _080A0ECC - ldr r6, _080A0ED0 - movs r1, 0 - bl sub_8040110 - lsls r0, 24 - cmp r0, 0 - bne _080A0ED4 - adds r0, r4, 0 - movs r1, 0 - bl sub_8040178 - lsls r0, 24 - cmp r0, 0 - beq _080A0ED4 - movs r0, 0x2C - b _080A0ED8 - .align 2, 0 -_080A0ECC: .4byte 0x0600e444 -_080A0ED0: .4byte 0x0600ec44 -_080A0ED4: - ldr r1, _080A0EE4 - adds r0, r1, 0 -_080A0ED8: - strh r0, [r5] - strh r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A0EE4: .4byte 0x0000081a - thumb_func_end sub_80A0EA4 - - thumb_func_start sub_80A0EE8 -sub_80A0EE8: @ 80A0EE8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - movs r3, 0 - ldr r6, _080A0F24 - adds r5, r6, 0 - ldr r1, _080A0F28 - mov r8, r1 - ldr r2, _080A0F2C - mov r10, r2 -_080A0F02: - adds r0, r5, 0 - adds r0, 0x75 - ldrb r0, [r0] - cmp r3, r0 - bcs _080A0F30 - lsls r1, r3, 1 - lsls r0, r3, 2 - add r0, sp - mov r4, r8 - strh r4, [r0] - adds r1, 0x1 - lsls r1, 1 - mov r7, sp - adds r0, r7, r1 - strh r4, [r0] - b _080A0FE2 - .align 2, 0 -_080A0F24: .4byte 0x02018000 -_080A0F28: .4byte 0x00004040 -_080A0F2C: .4byte 0x0000404a -_080A0F30: - movs r0, 0x76 - adds r0, r6 - mov r12, r0 - ldrb r1, [r0] - cmp r3, r1 - bls _080A0F52 - lsls r1, r3, 1 - lsls r0, r3, 2 - add r0, sp - mov r2, r10 - strh r2, [r0] - adds r1, 0x1 - lsls r1, 1 - mov r4, sp - adds r0, r4, r1 - strh r2, [r0] - b _080A0FE2 -_080A0F52: - ldrb r4, [r5, 0xB] - cmp r3, r4 - bcs _080A0F6E - lsls r1, r3, 1 - lsls r0, r3, 2 - mov r7, sp - adds r2, r7, r0 - ldr r0, _080A0F88 - strh r0, [r2] - adds r1, 0x1 - lsls r1, 1 - add r1, sp - adds r0, 0x1 - strh r0, [r1] -_080A0F6E: - cmp r3, r4 - bne _080A0FA6 - mov r0, r12 - ldrb r0, [r0] - cmp r3, r0 - beq _080A0F90 - lsls r1, r3, 1 - lsls r0, r3, 2 - mov r4, sp - adds r2, r4, r0 - ldr r0, _080A0F8C - b _080A0F9A - .align 2, 0 -_080A0F88: .4byte 0x00004046 -_080A0F8C: .4byte 0x00004041 -_080A0F90: - lsls r1, r3, 1 - lsls r0, r3, 2 - mov r7, sp - adds r2, r7, r0 - ldr r0, _080A0FC4 -_080A0F9A: - strh r0, [r2] - adds r1, 0x1 - lsls r1, 1 - add r1, sp - adds r0, 0x1 - strh r0, [r1] -_080A0FA6: - ldrb r0, [r5, 0xB] - cmp r3, r0 - bls _080A0FE2 - adds r0, r6, 0 - adds r0, 0x76 - ldrb r0, [r0] - cmp r3, r0 - beq _080A0FCC - lsls r1, r3, 1 - lsls r0, r3, 2 - mov r4, sp - adds r2, r4, r0 - ldr r0, _080A0FC8 - b _080A0FD6 - .align 2, 0 -_080A0FC4: .4byte 0x0000404b -_080A0FC8: .4byte 0x00004043 -_080A0FCC: - lsls r1, r3, 1 - lsls r0, r3, 2 - mov r7, sp - adds r2, r7, r0 - ldr r0, _080A1034 -_080A0FD6: - strh r0, [r2] - adds r1, 0x1 - lsls r1, 1 - add r1, sp - adds r0, 0x1 - strh r0, [r1] -_080A0FE2: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _080A0F02 - ldr r1, _080A1038 - ldr r0, _080A103C - mov r2, sp - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, _080A1040 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - movs r3, 0 -_080A0FFE: - lsls r0, r3, 1 - mov r4, sp - adds r1, r4, r0 - ldrh r0, [r1] - adds r0, 0x10 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x7 - bls _080A0FFE - ldr r1, _080A1044 - ldr r0, _080A103C - str r4, [r0] - str r1, [r0, 0x4] - ldr r1, _080A1040 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - 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 -_080A1034: .4byte 0x00004048 -_080A1038: .4byte 0x0600e016 -_080A103C: .4byte 0x040000d4 -_080A1040: .4byte 0x80000008 -_080A1044: .4byte 0x0600e056 - thumb_func_end sub_80A0EE8 - - thumb_func_start sub_80A1048 -sub_80A1048: @ 80A1048 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, _080A10A0 - adds r6, r0, r1 - ldrh r0, [r6] - ldrh r1, [r6, 0x2] - adds r0, r1 - strh r0, [r6, 0x2] - lsls r0, 16 - cmp r0, 0 - bne _080A106E - b _080A1224 -_080A106E: - movs r5, 0x2 - ldrsh r2, [r6, r5] - ldr r0, _080A10A4 - subs r0, r2 - lsls r0, 1 - ldr r1, _080A10A8 - adds r4, r0, r1 - ldr r5, _080A10AC - lsls r2, 1 - movs r0, 0x80 - lsls r0, 5 - adds r7, r1, 0 - cmp r2, r0 - bhi _080A10B4 - ldr r0, _080A10B0 - str r4, [r0] - str r5, [r0, 0x4] - lsrs r1, r2, 1 - movs r2, 0x80 - lsls r2, 24 - orrs r1, r2 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - b _080A10E0 - .align 2, 0 -_080A10A0: .4byte gUnknown_03004B28 -_080A10A4: .4byte 0x0000024a -_080A10A8: .4byte gUnknown_08E73508 -_080A10AC: .4byte 0x0600e480 -_080A10B0: .4byte 0x040000d4 -_080A10B4: - ldr r3, _080A110C - str r4, [r3] - str r5, [r3, 0x4] - ldr r0, _080A1110 - str r0, [r3, 0x8] - ldr r0, [r3, 0x8] - movs r0, 0x80 - lsls r0, 5 - adds r4, r0 - adds r5, r0 - ldr r1, _080A1114 - adds r2, r1 - cmp r2, r0 - bhi _080A10B4 - str r4, [r3] - str r5, [r3, 0x4] - lsrs r0, r2, 1 - movs r1, 0x80 - lsls r1, 24 - orrs r0, r1 - str r0, [r3, 0x8] - ldr r0, [r3, 0x8] -_080A10E0: - movs r5, 0x2 - ldrsh r0, [r6, r5] - ldr r1, _080A1118 - subs r1, r0 - lsls r1, 1 - adds r3, r1, r7 - ldr r4, _080A111C - lsls r1, r0, 1 - movs r0, 0x80 - lsls r0, 5 - cmp r1, r0 - bhi _080A1120 - ldr r0, _080A110C - str r3, [r0] - str r4, [r0, 0x4] - lsrs r1, 1 - movs r2, 0x80 - lsls r2, 24 - orrs r1, r2 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - b _080A114C - .align 2, 0 -_080A110C: .4byte 0x040000d4 -_080A1110: .4byte 0x80000800 -_080A1114: .4byte 0xfffff000 -_080A1118: .4byte 0x0000026a -_080A111C: .4byte 0x0600e4c0 -_080A1120: - ldr r2, _080A1178 - str r3, [r2] - str r4, [r2, 0x4] - ldr r0, _080A117C - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0x80 - lsls r0, 5 - adds r3, r0 - adds r4, r0 - ldr r5, _080A1180 - adds r1, r5 - cmp r1, r0 - bhi _080A1120 - str r3, [r2] - str r4, [r2, 0x4] - lsrs r0, r1, 1 - movs r1, 0x80 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] -_080A114C: - movs r1, 0x2 - ldrsh r0, [r6, r1] - ldr r1, _080A1184 - subs r1, r0 - lsls r1, 1 - adds r3, r1, r7 - ldr r4, _080A1188 - lsls r1, r0, 1 - movs r0, 0x80 - lsls r0, 5 - cmp r1, r0 - bhi _080A118C - ldr r0, _080A1178 - str r3, [r0] - str r4, [r0, 0x4] - lsrs r1, 1 - movs r2, 0x80 - lsls r2, 24 - orrs r1, r2 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - b _080A11B8 - .align 2, 0 -_080A1178: .4byte 0x040000d4 -_080A117C: .4byte 0x80000800 -_080A1180: .4byte 0xfffff000 -_080A1184: .4byte 0x0000024a -_080A1188: .4byte 0x0600ec80 -_080A118C: - ldr r2, _080A11E4 - str r3, [r2] - str r4, [r2, 0x4] - ldr r0, _080A11E8 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0x80 - lsls r0, 5 - adds r3, r0 - adds r4, r0 - ldr r5, _080A11EC - adds r1, r5 - cmp r1, r0 - bhi _080A118C - str r3, [r2] - str r4, [r2, 0x4] - lsrs r0, r1, 1 - movs r1, 0x80 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] -_080A11B8: - movs r1, 0x2 - ldrsh r0, [r6, r1] - ldr r1, _080A11F0 - subs r1, r0 - lsls r1, 1 - adds r3, r1, r7 - ldr r4, _080A11F4 - lsls r1, r0, 1 - movs r0, 0x80 - lsls r0, 5 - cmp r1, r0 - bhi _080A11F8 - ldr r0, _080A11E4 - str r3, [r0] - str r4, [r0, 0x4] - lsrs r1, 1 - movs r2, 0x80 - lsls r2, 24 - orrs r1, r2 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - b _080A1224 - .align 2, 0 -_080A11E4: .4byte 0x040000d4 -_080A11E8: .4byte 0x80000800 -_080A11EC: .4byte 0xfffff000 -_080A11F0: .4byte 0x0000026a -_080A11F4: .4byte 0x0600ecc0 -_080A11F8: - ldr r2, _080A12B0 - str r3, [r2] - str r4, [r2, 0x4] - ldr r0, _080A12B4 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0x80 - lsls r0, 5 - adds r3, r0 - adds r4, r0 - ldr r5, _080A12B8 - adds r1, r5 - cmp r1, r0 - bhi _080A11F8 - str r3, [r2] - str r4, [r2, 0x4] - lsrs r0, r1, 1 - movs r1, 0x80 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] -_080A1224: - ldrb r4, [r6, 0x2] - ldrh r7, [r6, 0x2] - ldrh r0, [r6] - mov r12, r0 - cmp r4, 0x9 - bhi _080A1272 - adds r3, r6, 0x4 - ldr r2, _080A12B0 - ldr r5, _080A12BC -_080A1236: - lsls r1, r4, 1 - ldr r6, _080A12C0 - adds r0, r1, r6 - str r3, [r2] - str r0, [r2, 0x4] - str r5, [r2, 0x8] - ldr r0, [r2, 0x8] - adds r6, 0x40 - adds r0, r1, r6 - str r3, [r2] - str r0, [r2, 0x4] - str r5, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r6, _080A12C4 - adds r0, r1, r6 - str r3, [r2] - str r0, [r2, 0x4] - str r5, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r0, _080A12C8 - adds r1, r0 - str r3, [r2] - str r1, [r2, 0x4] - str r5, [r2, 0x8] - ldr r0, [r2, 0x8] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _080A1236 -_080A1272: - mov r1, r12 - lsls r0, r1, 16 - cmp r0, 0 - beq _080A1286 - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, 0 - ble _080A1286 - cmp r0, 0x9 - ble _080A12A4 -_080A1286: - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _080A129A - ldr r0, _080A12CC - movs r1, 0xD - movs r2, 0x1 - movs r3, 0x12 - bl sub_80A1FF8 -_080A129A: - bl sub_80A1D18 - mov r0, r8 - bl DestroyTask -_080A12A4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A12B0: .4byte 0x040000d4 -_080A12B4: .4byte 0x80000800 -_080A12B8: .4byte 0xfffff000 -_080A12BC: .4byte 0x80000001 -_080A12C0: .4byte 0x0600e480 -_080A12C4: .4byte 0x0600ec80 -_080A12C8: .4byte 0x0600ecc0 -_080A12CC: .4byte gOtherText_Status - thumb_func_end sub_80A1048 - - thumb_func_start sub_80A12D0 -sub_80A12D0: @ 80A12D0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0x12 - movs r2, 0x5 - movs r3, 0x13 - bl MenuZeroFillWindowRect - movs r0, 0x1D - bl sub_80A18E4 - ldr r0, _080A1310 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080A1314 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0, r1 - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0x8] - cmp r4, 0 - bge _080A1318 - movs r0, 0xA - b _080A131A - .align 2, 0 -_080A1310: .4byte sub_80A1048 -_080A1314: .4byte gTasks -_080A1318: - movs r0, 0 -_080A131A: - strh r0, [r1, 0xA] - ldr r0, _080A1330 - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0xC] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A1330: .4byte gTasks - thumb_func_end sub_80A12D0 - - thumb_func_start sub_80A1334 -sub_80A1334: @ 80A1334 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r0, 2 - add r0, r10 - lsls r0, 3 - ldr r1, _080A13E4 - adds r7, r0, r1 - ldrh r0, [r7] - ldrh r1, [r7, 0x2] - adds r0, r1 - strh r0, [r7, 0x2] - lsls r0, 16 - asrs r1, r0, 16 - movs r0, 0 - cmp r1, 0 - blt _080A136A - movs r0, 0xA - cmp r1, 0xA - bgt _080A136A - ldrh r0, [r7, 0x2] -_080A136A: - lsls r0, 16 - asrs r2, r0, 16 - mov r9, r0 - cmp r2, 0 - ble _080A13A6 - movs r0, 0xA - subs r0, r2 - lsls r0, 1 - ldr r1, _080A13E8 - adds r4, r0, r1 - movs r5, 0 - adds r6, r2, 0 - ldr r0, _080A13EC - mov r8, r0 -_080A1386: - adds r0, r5, 0 - adds r0, 0xD - lsls r0, 6 - ldr r1, _080A13F0 - adds r0, r1 - adds r1, r4, 0 - mov r2, r8 - ands r2, r6 - bl CpuSet - adds r4, 0x40 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x6 - bls _080A1386 -_080A13A6: - mov r1, r9 - asrs r2, r1, 16 - cmp r2, 0x9 - bgt _080A13F4 - ldr r4, _080A13E8 - movs r5, 0 - mov r8, sp - movs r0, 0xA - subs r6, r0, r2 - ldr r0, _080A13EC - ands r6, r0 - movs r0, 0x80 - lsls r0, 17 - mov r9, r0 -_080A13C2: - ldrh r0, [r7, 0x4] - mov r1, r8 - strh r0, [r1] - mov r0, sp - adds r1, r4, 0 - mov r2, r9 - orrs r2, r6 - bl CpuSet - adds r4, 0x40 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x6 - bls _080A13C2 - b _080A1400 - .align 2, 0 -_080A13E4: .4byte gUnknown_03004B28 -_080A13E8: .4byte 0x06005b40 -_080A13EC: .4byte 0x001fffff -_080A13F0: .4byte gUnknown_08E73E88 -_080A13F4: - movs r0, 0 - movs r1, 0x13 - movs r2, 0x9 - movs r3, 0x13 - bl MenuZeroFillWindowRect -_080A1400: - movs r1, 0 - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _080A1410 - movs r1, 0x2 - ldrsh r0, [r7, r1] - cmp r0, 0 - bge _080A144A -_080A1410: - ldr r4, _080A1480 - ldrb r0, [r4, 0xB] - cmp r0, 0x2 - bne _080A1444 - movs r0, 0 - movs r1, 0xE - movs r2, 0x9 - movs r3, 0x12 - bl MenuZeroFillWindowRect - adds r4, 0x10 - adds r0, r4, 0 - bl sub_80A0958 - adds r0, r4, 0 - bl sub_80A1CD8 - lsls r0, 24 - cmp r0, 0 - beq _080A1444 - ldr r0, _080A1484 - movs r1, 0xD - movs r2, 0x1 - movs r3, 0x12 - bl sub_80A1FF8 -_080A1444: - mov r0, r10 - bl DestroyTask -_080A144A: - movs r1, 0x2 - ldrsh r0, [r7, r1] - cmp r0, 0x9 - ble _080A1470 - ldr r4, _080A1480 - ldrb r0, [r4, 0xB] - cmp r0, 0x2 - bne _080A1460 - ldrb r0, [r7, 0x6] - bl sub_80A00F4 -_080A1460: - adds r0, r4, 0 - adds r0, 0x10 - adds r1, r7, 0x6 - bl sub_80A0428 - mov r0, r10 - bl DestroyTask -_080A1470: - 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 -_080A1480: .4byte 0x02018000 -_080A1484: .4byte gOtherText_Status - thumb_func_end sub_80A1334 - - thumb_func_start sub_80A1488 -sub_80A1488: @ 80A1488 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r0, _080A14DC - ldrb r0, [r0, 0xB] - cmp r0, 0x2 - bne _080A14A6 - movs r0, 0 - movs r1, 0xE - movs r2, 0x9 - movs r3, 0x13 - bl MenuZeroFillWindowRect -_080A14A6: - ldr r5, _080A14E0 - adds r0, r5, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - bne _080A14C2 - adds r0, r5, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 -_080A14C2: - ldr r1, _080A14E4 - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 3 - adds r3, r0, r1 - lsls r0, r6, 24 - asrs r0, 24 - strh r0, [r3, 0x8] - cmp r0, 0 - bge _080A14E8 - movs r0, 0xA - b _080A14EA - .align 2, 0 -_080A14DC: .4byte 0x02018000 -_080A14E0: .4byte sub_80A1334 -_080A14E4: .4byte gTasks -_080A14E8: - movs r0, 0 -_080A14EA: - strh r0, [r3, 0xA] - adds r0, r2, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - strh r7, [r0, 0xE] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A1488 - - thumb_func_start sub_80A1500 -sub_80A1500: @ 80A1500 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r0, 2 - add r0, r10 - lsls r0, 3 - ldr r1, _080A15B0 - adds r7, r0, r1 - ldrh r0, [r7] - ldrh r1, [r7, 0x2] - adds r0, r1 - strh r0, [r7, 0x2] - lsls r0, 16 - asrs r1, r0, 16 - movs r0, 0 - cmp r1, 0 - blt _080A1536 - movs r0, 0xA - cmp r1, 0xA - bgt _080A1536 - ldrh r0, [r7, 0x2] -_080A1536: - lsls r0, 16 - asrs r2, r0, 16 - mov r9, r0 - cmp r2, 0 - ble _080A1572 - movs r0, 0xA - subs r0, r2 - lsls r0, 1 - ldr r1, _080A15B4 - adds r4, r0, r1 - movs r5, 0 - adds r6, r2, 0 - ldr r0, _080A15B8 - mov r8, r0 -_080A1552: - adds r0, r5, 0 - adds r0, 0xD - lsls r0, 6 - ldr r1, _080A15BC - adds r0, r1 - adds r1, r4, 0 - mov r2, r8 - ands r2, r6 - bl CpuSet - adds r4, 0x40 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x6 - bls _080A1552 -_080A1572: - mov r1, r9 - asrs r2, r1, 16 - cmp r2, 0x9 - bgt _080A15C0 - ldr r4, _080A15B4 - movs r5, 0 - mov r8, sp - movs r0, 0xA - subs r6, r0, r2 - ldr r0, _080A15B8 - ands r6, r0 - movs r0, 0x80 - lsls r0, 17 - mov r9, r0 -_080A158E: - ldrh r0, [r7, 0x4] - mov r1, r8 - strh r0, [r1] - mov r0, sp - adds r1, r4, 0 - mov r2, r9 - orrs r2, r6 - bl CpuSet - adds r4, 0x40 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x6 - bls _080A158E - b _080A15CC - .align 2, 0 -_080A15B0: .4byte gUnknown_03004B28 -_080A15B4: .4byte 0x06006b40 -_080A15B8: .4byte 0x001fffff -_080A15BC: .4byte gUnknown_08E74688 -_080A15C0: - movs r0, 0 - movs r1, 0x13 - movs r2, 0x9 - movs r3, 0x13 - bl MenuZeroFillWindowRect -_080A15CC: - movs r1, 0 - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _080A15DC - movs r1, 0x2 - ldrsh r0, [r7, r1] - cmp r0, 0 - bge _080A1616 -_080A15DC: - ldr r4, _080A164C - ldrb r0, [r4, 0xB] - cmp r0, 0x3 - bne _080A1610 - movs r0, 0 - movs r1, 0xE - movs r2, 0x9 - movs r3, 0x12 - bl MenuZeroFillWindowRect - adds r4, 0x10 - adds r0, r4, 0 - bl sub_80A0958 - adds r0, r4, 0 - bl sub_80A1CD8 - lsls r0, 24 - cmp r0, 0 - beq _080A1610 - ldr r0, _080A1650 - movs r1, 0xD - movs r2, 0x1 - movs r3, 0x12 - bl sub_80A1FF8 -_080A1610: - mov r0, r10 - bl DestroyTask -_080A1616: - movs r1, 0x2 - ldrsh r0, [r7, r1] - cmp r0, 0x9 - ble _080A163C - ldr r4, _080A164C - ldrb r0, [r4, 0xB] - cmp r0, 0x3 - bne _080A162C - ldrb r0, [r7, 0x6] - bl sub_80A00F4 -_080A162C: - adds r0, r4, 0 - adds r0, 0x10 - adds r1, r7, 0x6 - bl sub_80A0428 - mov r0, r10 - bl DestroyTask -_080A163C: - 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 -_080A164C: .4byte 0x02018000 -_080A1650: .4byte gOtherText_Status - thumb_func_end sub_80A1500 - - thumb_func_start sub_80A1654 -sub_80A1654: @ 80A1654 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r0, _080A16A8 - ldrb r0, [r0, 0xB] - cmp r0, 0x3 - bne _080A1672 - movs r0, 0 - movs r1, 0xE - movs r2, 0x9 - movs r3, 0x13 - bl MenuZeroFillWindowRect -_080A1672: - ldr r5, _080A16AC - adds r0, r5, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - bne _080A168E - adds r0, r5, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 -_080A168E: - ldr r1, _080A16B0 - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 3 - adds r3, r0, r1 - lsls r0, r6, 24 - asrs r0, 24 - strh r0, [r3, 0x8] - cmp r0, 0 - bge _080A16B4 - movs r0, 0xA - b _080A16B6 - .align 2, 0 -_080A16A8: .4byte 0x02018000 -_080A16AC: .4byte sub_80A1500 -_080A16B0: .4byte gTasks -_080A16B4: - movs r0, 0 -_080A16B6: - strh r0, [r3, 0xA] - adds r0, r2, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - strh r7, [r0, 0xE] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A1654 - - thumb_func_start sub_80A16CC -sub_80A16CC: @ 80A16CC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _080A1724 - mov r12, r0 - mov r1, r9 - cmp r1, 0 - bne _080A172C - movs r5, 0 - ldr r7, _080A1728 - movs r0, 0x80 - lsls r0, 5 - adds r6, r0, 0 - movs r1, 0x40 - adds r1, r7 - mov r8, r1 -_080A16F4: - lsls r2, r5, 1 - mov r0, r12 - adds r3, r2, r0 - adds r4, r2, r7 - ldrh r1, [r4] - adds r0, r6, r1 - strh r0, [r3] - adds r1, r3, 0 - adds r1, 0x40 - ldrh r4, [r4] - adds r0, r6, r4 - strh r0, [r1] - adds r3, 0x80 - add r2, r8 - ldrh r2, [r2] - adds r0, r6, r2 - strh r0, [r3] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x13 - bls _080A16F4 - b _080A1768 - .align 2, 0 -_080A1724: .4byte 0x06006ad4 -_080A1728: .4byte gUnknown_08E94510 -_080A172C: - movs r5, 0 - ldr r6, _080A17B0 - movs r7, 0x80 - lsls r7, 5 - adds r4, r7, 0 - movs r0, 0x40 - adds r0, r6 - mov r8, r0 -_080A173C: - lsls r1, r5, 1 - mov r7, r12 - adds r2, r1, r7 - adds r0, r1, r6 - ldrh r0, [r0] - adds r0, r4, r0 - strh r0, [r2] - adds r3, r2, 0 - adds r3, 0x40 - add r1, r8 - ldrh r7, [r1] - adds r0, r4, r7 - strh r0, [r3] - adds r2, 0x80 - ldrh r1, [r1] - adds r0, r4, r1 - strh r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x13 - bls _080A173C -_080A1768: - ldr r0, _080A17B4 - mov r12, r0 - mov r1, r9 - cmp r1, 0 - bne _080A17BC - movs r5, 0 - ldr r7, _080A17B8 - movs r0, 0xC0 - lsls r0, 6 - adds r6, r0, 0 - movs r1, 0x40 - adds r1, r7 - mov r8, r1 -_080A1782: - lsls r2, r5, 1 - mov r0, r12 - adds r3, r2, r0 - adds r4, r2, r7 - ldrh r1, [r4] - adds r0, r6, r1 - strh r0, [r3] - adds r1, r3, 0 - adds r1, 0x40 - ldrh r4, [r4] - adds r0, r6, r4 - strh r0, [r1] - adds r3, 0x80 - add r2, r8 - ldrh r2, [r2] - adds r0, r6, r2 - strh r0, [r3] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x13 - bls _080A1782 - b _080A17F8 - .align 2, 0 -_080A17B0: .4byte gUnknown_08E94550 -_080A17B4: .4byte 0x06005ad4 -_080A17B8: .4byte gUnknown_08E94510 -_080A17BC: - movs r5, 0 - ldr r6, _080A1804 - movs r7, 0xC0 - lsls r7, 6 - adds r4, r7, 0 - movs r0, 0x40 - adds r0, r6 - mov r8, r0 -_080A17CC: - lsls r1, r5, 1 - mov r7, r12 - adds r2, r1, r7 - adds r0, r1, r6 - ldrh r0, [r0] - adds r0, r4, r0 - strh r0, [r2] - adds r3, r2, 0 - adds r3, 0x40 - add r1, r8 - ldrh r7, [r1] - adds r0, r4, r7 - strh r0, [r3] - adds r2, 0x80 - ldrh r1, [r1] - adds r0, r4, r1 - strh r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x13 - bls _080A17CC -_080A17F8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A1804: .4byte gUnknown_08E94550 - thumb_func_end sub_80A16CC - - thumb_func_start sub_80A1808 -sub_80A1808: @ 80A1808 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r1, 0x41 - bl GetMonData - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 16 - ldr r0, _080A1860 - movs r1, 0x28 - movs r2, 0x40 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, r0, 4 - add r4, r8 - lsls r4, 2 - ldr r5, _080A1864 - adds r7, r4, r5 - adds r0, r7, 0 - bl FreeSpriteOamMatrix - strh r6, [r7, 0x2E] - adds r5, 0x1C - adds r4, r5 - ldr r0, _080A1868 - str r0, [r4] - adds r0, r6, 0 - bl sub_8040A3C - lsls r0, 24 - cmp r0, 0 - bne _080A186C - adds r0, r7, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _080A187A - .align 2, 0 -_080A1860: .4byte gUnknown_02024E8C -_080A1864: .4byte gSprites -_080A1868: .4byte sub_80A1888 -_080A186C: - adds r2, r7, 0 - adds r2, 0x3F - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_080A187A: - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A1808 - - thumb_func_start sub_80A1888 -sub_80A1888: @ 80A1888 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080A18B8 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080A18B0 - ldr r0, _080A18BC - str r0, [r4, 0x1C] - ldr r0, _080A18C0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080A18B0 - ldrh r0, [r4, 0x2E] - movs r1, 0 - bl PlayCry1 -_080A18B0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A18B8: .4byte gPaletteFade -_080A18BC: .4byte SpriteCallbackDummy -_080A18C0: .4byte 0x02018010 - thumb_func_end sub_80A1888 - - thumb_func_start sub_80A18C4 -sub_80A18C4: @ 80A18C4 - push {lr} - movs r1, 0 - ldr r3, _080A18E0 - movs r2, 0xFF -_080A18CC: - adds r0, r1, r3 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1D - bls _080A18CC - pop {r0} - bx r0 - .align 2, 0 -_080A18E0: .4byte 0x0201a000 - thumb_func_end sub_80A18C4 - - thumb_func_start sub_80A18E4 -sub_80A18E4: @ 80A18E4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A1910 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0xFF - beq _080A1908 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080A1914 - adds r0, r1 - bl DestroySprite - movs r0, 0xFF - strb r0, [r4] -_080A1908: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A1910: .4byte 0x0201a000 -_080A1914: .4byte gSprites - thumb_func_end sub_80A18E4 - - thumb_func_start sub_80A1918 -sub_80A1918: @ 80A1918 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _080A1948 - ldr r2, _080A194C - adds r0, r2 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - adds r2, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - bx lr - .align 2, 0 -_080A1948: .4byte gSprites -_080A194C: .4byte 0x0201a000 - thumb_func_end sub_80A1918 - - thumb_func_start sub_80A1950 -sub_80A1950: @ 80A1950 - push {r4,r5,lr} - movs r5, 0 -_080A1954: - ldr r0, _080A1984 - adds r4, r5, r0 - ldrb r0, [r4] - cmp r0, 0xFF - bne _080A196C - ldr r0, _080A1988 - movs r1, 0 - movs r2, 0 - movs r3, 0x2 - bl CreateSprite - strb r0, [r4] -_080A196C: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A1918 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _080A1954 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A1984: .4byte 0x0201a000 -_080A1988: .4byte gSpriteTemplate_83C11C0 - thumb_func_end sub_80A1950 - - thumb_func_start sub_80A198C -sub_80A198C: @ 80A198C - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - mov r10, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r1, _080A1A24 - mov r8, r1 - add r8, r10 - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080A1A28 - mov r9, r1 - add r0, r9 - adds r1, r4, 0 - bl StartSpriteAnim - mov r1, r8 - ldrb r0, [r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - ldr r0, _080A1A2C - adds r4, r0 - ldrb r2, [r4] - lsls r2, 4 - ldrb r3, [r1, 0x5] - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r5, 0x10 - strh r5, [r0, 0x20] - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r6, 0x8 - strh r6, [r0, 0x22] - mov r0, r10 - movs r1, 0 - bl sub_80A1918 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A1A24: .4byte 0x0201a000 -_080A1A28: .4byte gSprites -_080A1A2C: .4byte gUnknown_083C11D8 - thumb_func_end sub_80A198C - - thumb_func_start sub_80A1A30 -sub_80A1A30: @ 80A1A30 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - mov r9, r0 - ldr r1, _080A1A98 - ldrb r0, [r1, 0xB] - cmp r0, 0x1 - bls _080A1B0A - cmp r4, 0x9 - bne _080A1A52 - movs r3, 0x1 - mov r9, r3 -_080A1A52: - movs r5, 0 - movs r0, 0x80 - lsls r0, 6 - adds r0, r1 - mov r8, r0 - ldr r6, _080A1A9C - mov r10, r5 -_080A1A60: - lsls r1, r5, 20 - movs r3, 0xB0 - lsls r3, 15 - adds r1, r3 - asrs r1, 16 - ldr r0, _080A1AA0 - movs r2, 0x28 - mov r3, r9 - bl CreateSprite - adds r1, r4, r5 - mov r3, r8 - adds r2, r1, r3 - strb r0, [r2] - adds r7, r1, 0 - cmp r5, 0 - bne _080A1AA4 - adds r0, r4, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x4 - bl StartSpriteAnim - b _080A1AD0 - .align 2, 0 -_080A1A98: .4byte 0x02018000 -_080A1A9C: .4byte gSprites -_080A1AA0: .4byte gSpriteTemplate_83C1280 -_080A1AA4: - cmp r5, 0x9 - bne _080A1AC0 - adds r0, r4, 0 - adds r0, 0x9 - add r0, r8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x5 - bl StartSpriteAnim - b _080A1AD0 -_080A1AC0: - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x6 - bl StartSpriteAnim -_080A1AD0: - mov r0, r8 - adds r2, r7, r0 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _080A1B18 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r4, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r10 - strh r1, [r0, 0x30] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x9 - bls _080A1A60 -_080A1B0A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A1B18: .4byte sub_80A1BC0 - thumb_func_end sub_80A1A30 - - thumb_func_start sub_80A1B1C -sub_80A1B1C: @ 80A1B1C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 -_080A1B24: - adds r0, r5, r4 - lsls r0, 24 - lsrs r0, 24 - bl sub_80A18E4 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _080A1B24 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A1B1C - - thumb_func_start sub_80A1B40 -sub_80A1B40: @ 80A1B40 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, r7, 1 - adds r1, r7 - lsls r1, 24 - ldr r0, _080A1BB4 - ldrb r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r2, _080A1BB8 - adds r0, r2 - lsrs r7, r1, 24 - movs r2, 0x80 - lsls r2, 19 - adds r1, r2 - lsrs r1, 24 - bl StartSpriteAnim - movs r4, 0 - adds r0, r7, 0x6 - lsls r0, 24 - mov r8, r0 -_080A1B74: - ldr r6, _080A1BBC - adds r0, r4, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _080A1BB8 - adds r0, r5 - mov r2, r8 - lsrs r1, r2, 24 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _080A1B74 - ldrb r1, [r6, 0x8] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r1, r7, 0x5 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A1BB4: .4byte 0x0201a009 -_080A1BB8: .4byte gSprites -_080A1BBC: .4byte 0x0201a00a - thumb_func_end sub_80A1B40 - - thumb_func_start sub_80A1BC0 -sub_80A1BC0: @ 80A1BC0 - push {lr} - adds r2, r0, 0 - adds r0, 0x2A - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _080A1BF8 - ldrh r0, [r2, 0x30] - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - strh r0, [r2, 0x30] - cmp r0, 0x18 - ble _080A1BEC - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - b _080A1C06 -_080A1BEC: - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - b _080A1C04 -_080A1BF8: - movs r0, 0 - strh r0, [r2, 0x30] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - subs r0, 0x5 -_080A1C04: - ands r0, r1 -_080A1C06: - strb r0, [r3] - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x9 - bne _080A1C1C - ldr r0, _080A1C18 - adds r0, 0x79 - b _080A1C20 - .align 2, 0 -_080A1C18: .4byte 0x02018000 -_080A1C1C: - ldr r0, _080A1C2C - adds r0, 0x7A -_080A1C20: - ldrb r0, [r0] - lsls r0, 4 - strh r0, [r2, 0x26] - pop {r0} - bx r0 - .align 2, 0 -_080A1C2C: .4byte 0x02018000 - thumb_func_end sub_80A1BC0 - - thumb_func_start sub_80A1C30 -sub_80A1C30: @ 80A1C30 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 25 - lsrs r3, r0, 24 - adds r4, r3, 0 - adds r0, r3, 0 - adds r0, 0xA - cmp r3, r0 - bge _080A1C82 - ldr r5, _080A1C88 - movs r7, 0x5 - negs r7, r7 - ldr r6, _080A1C8C -_080A1C50: - adds r2, r3, r6 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0 - strh r1, [r0, 0x30] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r4, 0 - adds r0, 0xA - cmp r3, r0 - blt _080A1C50 -_080A1C82: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A1C88: .4byte gSprites -_080A1C8C: .4byte 0x0201a009 - thumb_func_end sub_80A1C30 - - thumb_func_start pokemon_ailments_get_primary -pokemon_ailments_get_primary: @ 80A1C90 - push {lr} - adds r1, r0, 0 - movs r0, 0x88 - ands r0, r1 - cmp r0, 0 - beq _080A1CA0 - movs r0, 0x1 - b _080A1CD2 -_080A1CA0: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080A1CAC - movs r0, 0x2 - b _080A1CD2 -_080A1CAC: - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _080A1CB8 - movs r0, 0x3 - b _080A1CD2 -_080A1CB8: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080A1CC4 - movs r0, 0x4 - b _080A1CD2 -_080A1CC4: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080A1CD0 - movs r0, 0 - b _080A1CD2 -_080A1CD0: - movs r0, 0x5 -_080A1CD2: - pop {r1} - bx r1 - thumb_func_end pokemon_ailments_get_primary - - thumb_func_start sub_80A1CD8 -sub_80A1CD8: @ 80A1CD8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _080A1CEA - movs r0, 0x7 - b _080A1D12 -_080A1CEA: - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - bl pokemon_ailments_get_primary - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080A1D12 - adds r0, r4, 0 - movs r1, 0 - bl sub_8040110 - lsls r0, 24 - cmp r0, 0 - bne _080A1D10 - movs r0, 0 - b _080A1D12 -_080A1D10: - movs r0, 0x6 -_080A1D12: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A1CD8 - - thumb_func_start sub_80A1D18 -sub_80A1D18: @ 80A1D18 - push {r4,r5,lr} - sub sp, 0x64 - mov r0, sp - bl sub_809F678 - mov r0, sp - bl sub_80A1CD8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080A1D58 - subs r0, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080A1D50 - ldrb r0, [r4] - cmp r0, 0xFF - bne _080A1D60 - ldr r0, _080A1D54 - movs r1, 0x40 - movs r2, 0x98 - movs r3, 0 - bl CreateSprite - strb r0, [r4] - b _080A1D60 - .align 2, 0 -_080A1D50: .4byte 0x0201a01d -_080A1D54: .4byte gSpriteTemplate_83C1304 -_080A1D58: - movs r0, 0x1D - bl sub_80A18E4 - b _080A1D74 -_080A1D60: - ldr r0, _080A1D7C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080A1D80 - adds r0, r1 - adds r1, r5, 0 - bl StartSpriteAnim -_080A1D74: - add sp, 0x64 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A1D7C: .4byte 0x0201a01d -_080A1D80: .4byte gSprites - thumb_func_end sub_80A1D18 - - thumb_func_start sub_80A1D84 -sub_80A1D84: @ 80A1D84 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r1, _080A1DC0 - ldr r2, _080A1DC4 - adds r0, r1, 0 - bl sub_80F7920 - adds r4, r0, 0 - ldr r6, _080A1DC8 - str r4, [r6] - cmp r4, 0 - beq _080A1DBA - adds r0, r5, 0 - movs r1, 0x8 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r1, [r6] - movs r0, 0x3C - strh r0, [r1, 0x20] - movs r0, 0x1A - strh r0, [r1, 0x22] -_080A1DBA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A1DC0: .4byte 0x00007533 -_080A1DC4: .4byte gSummaryScreenMonMarkingsPalette -_080A1DC8: .4byte gUnknown_020384F4 - thumb_func_end sub_80A1D84 - - thumb_func_start sub_80A1DCC -sub_80A1DCC: @ 80A1DCC - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080A1DE4 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0 - bl sub_80A1D84 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A1DE4: .4byte gUnknown_020384F4 - thumb_func_end sub_80A1DCC - - thumb_func_start sub_80A1DE8 -sub_80A1DE8: @ 80A1DE8 - push {r4,lr} - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80478DC - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r1, _080A1E48 - adds r0, r1 - movs r1, 0x6 - movs r2, 0x88 - movs r3, 0 - bl CreateSprite - ldr r2, _080A1E4C - strb r0, [r2, 0xD] - ldr r3, _080A1E50 - ldrb r1, [r2, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _080A1E54 - str r1, [r0] - ldrb r1, [r2, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A1E48: .4byte gSpriteTemplate_820AAB4 -_080A1E4C: .4byte 0x02018000 -_080A1E50: .4byte gSprites -_080A1E54: .4byte SpriteCallbackDummy - thumb_func_end sub_80A1DE8 - - thumb_func_start sub_80A1E58 -sub_80A1E58: @ 80A1E58 - push {r4,lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0xFF - beq _080A1E92 - ldr r3, _080A1E6C - ldrb r0, [r3] - adds r4, r2, 0x5 - b _080A1E74 - .align 2, 0 -_080A1E6C: .4byte gUnknown_083C15BC -_080A1E70: - adds r3, 0x4 - ldrb r0, [r3] -_080A1E74: - cmp r0, 0xFF - beq _080A1E7C - cmp r0, r1 - bne _080A1E70 -_080A1E7C: - movs r0, 0xFC - strb r0, [r2] - movs r0, 0x4 - strb r0, [r2, 0x1] - ldrb r0, [r3, 0x1] - strb r0, [r2, 0x2] - ldrb r0, [r3, 0x2] - strb r0, [r2, 0x3] - ldrb r0, [r3, 0x3] - strb r0, [r2, 0x4] - adds r2, r4, 0 -_080A1E92: - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A1E58 - - thumb_func_start sub_80A1E9C -sub_80A1E9C: @ 80A1E9C - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - adds r5, r1, 0 - lsls r4, r2, 24 - lsrs r4, 24 - mov r1, sp - adds r1, 0x1 - mov r2, sp - adds r2, 0x2 - mov r0, sp - bl sub_8072CD4 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80A1E58 - adds r6, r0, 0 - adds r1, r5, 0 - bl StringCopy - adds r6, r0, 0 - cmp r4, 0xFF - beq _080A1EEC - movs r0, 0xFC - strb r0, [r6] - movs r0, 0x4 - strb r0, [r6, 0x1] - mov r0, sp - ldrb r0, [r0] - strb r0, [r6, 0x2] - mov r0, sp - ldrb r0, [r0, 0x1] - strb r0, [r6, 0x3] - mov r0, sp - ldrb r0, [r0, 0x2] - strb r0, [r6, 0x4] - movs r0, 0xFF - strb r0, [r6, 0x5] - adds r6, 0x5 -_080A1EEC: - adds r0, r6, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80A1E9C - - thumb_func_start sub_80A1EF8 -sub_80A1EF8: @ 80A1EF8 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - mov r9, r0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r3, [sp, 0x1C] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 16 - lsrs r6, 16 - ldr r0, _080A1F44 - mov r8, r0 - mov r1, r9 - adds r2, r4, 0 - str r3, [sp] - bl sub_80A1E9C - ldr r3, [sp] - lsls r3, 24 - lsrs r3, 24 - mov r0, r8 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_80729D8 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A1F44: .4byte gStringVar4 - thumb_func_end sub_80A1EF8 - - thumb_func_start sub_80A1F48 -sub_80A1F48: @ 80A1F48 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - mov r9, r0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r3, [sp, 0x1C] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 16 - lsrs r3, 16 - ldr r0, _080A1F94 - mov r8, r0 - mov r1, r9 - adds r2, r4, 0 - str r3, [sp] - bl sub_80A1E9C - mov r0, r8 - adds r1, r5, 0 - adds r2, r6, 0 - ldr r3, [sp] - bl sub_8072BD8 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A1F94: .4byte gStringVar4 - thumb_func_end sub_80A1F48 - - thumb_func_start sub_80A1F98 -sub_80A1F98: @ 80A1F98 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r0 - mov r8, r1 - adds r4, r2, 0 - adds r2, r3, 0 - ldr r5, [sp, 0x24] - ldr r6, [sp, 0x28] - ldr r7, [sp, 0x2C] - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 16 - lsrs r6, 16 - ldr r0, _080A1FF4 - mov r9, r0 - mov r1, r10 - adds r3, r4, 0 - bl ConvertIntToDecimalStringN - str r7, [sp] - mov r0, r9 - mov r1, r8 - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_80A1EF8 - 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 -_080A1FF4: .4byte gStringVar1 - thumb_func_end sub_80A1F98 - - thumb_func_start sub_80A1FF8 -sub_80A1FF8: @ 80A1FF8 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - mov r9, r0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _080A2038 - mov r8, r0 - mov r1, r9 - adds r2, r4, 0 - bl sub_80A1E9C - 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 -_080A2038: .4byte gStringVar4 - thumb_func_end sub_80A1FF8 - - thumb_func_start sub_80A203C -sub_80A203C: @ 80A203C - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x34 - strb r0, [r4] - adds r4, 0x1 - cmp r1, 0 - bne _080A2052 - movs r1, 0x5 -_080A2052: - mov r0, sp - bl ConvertIntToDecimalString - adds r0, r4, 0 - mov r1, sp - movs r2, 0xE - bl sub_80A1E9C - adds r4, r0, 0 - ldr r1, _080A2074 - bl StringCopy - adds r4, r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A2074: .4byte gOtherText_Comma - thumb_func_end sub_80A203C - - thumb_func_start BgFrame_FillTileMap -BgFrame_FillTileMap: @ 80A2078 - push {lr} - ldr r3, _080A209C - ldr r2, _080A20A0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, [r1] - str r2, [r3] - ldr r2, _080A20A4 - str r2, [r1] - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r2 - pop {r0} - bx r0 - .align 2, 0 -_080A209C: .4byte gUnknown_03005CF0 -_080A20A0: .4byte gTasks -_080A20A4: .4byte sub_80A20A8 - thumb_func_end BgFrame_FillTileMap - - thumb_func_start sub_80A20A8 -sub_80A20A8: @ 80A20A8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8055870 - cmp r0, 0x1 - beq _080A20C6 - ldr r1, _080A20CC - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A20D0 - ldr r1, [r1] - str r1, [r0] -_080A20C6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A20CC: .4byte gTasks -_080A20D0: .4byte gUnknown_03005CF0 - thumb_func_end sub_80A20A8 - - thumb_func_start exec_movement -exec_movement: @ 80A20D4 - push {r4,lr} - sub sp, 0x4 - adds r4, r3, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _080A20F6 - movs r0, 0x1 - b _080A211E -_080A20F6: - ldr r0, _080A2128 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080A2108 - movs r0, 0x32 - bl sub_80A2198 -_080A2108: - bl sub_80A21E0 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - ldrb r1, [r1] - adds r2, r4, 0 - bl sub_80A21F4 - lsls r0, 24 - lsrs r0, 24 -_080A211E: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A2128: .4byte sub_80A244C - thumb_func_end exec_movement - - thumb_func_start sub_80A212C -sub_80A212C: @ 80A212C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080A216E - bl sub_80A21E0 - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_80A2260 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x10 - beq _080A216E - adds r0, r4, 0 - bl sub_80A2370 - lsls r0, 24 - lsrs r0, 24 - b _080A2170 -_080A216E: - movs r0, 0x1 -_080A2170: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A212C - - thumb_func_start sub_80A2178 -sub_80A2178: @ 80A2178 - push {r4,lr} - bl sub_80A21E0 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - beq _080A2192 - adds r0, r4, 0 - bl sub_80A2408 - adds r0, r4, 0 - bl DestroyTask -_080A2192: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A2178 - - thumb_func_start sub_80A2198 -sub_80A2198: @ 80A2198 - push {r4,r5,lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _080A21D4 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1 - lsls r1, r0, 2 - adds r1, r0 - lsls r3, r1, 3 - ldr r5, _080A21D8 - ldr r0, _080A21DC - adds r4, r0, 0 -_080A21B8: - lsls r0, r2, 1 - adds r0, r3 - adds r0, r5 - ldrh r1, [r0] - orrs r1, r4 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _080A21B8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A21D4: .4byte sub_80A244C -_080A21D8: .4byte gUnknown_03004B28 -_080A21DC: .4byte 0x0000ffff - thumb_func_end sub_80A2198 - - thumb_func_start sub_80A21E0 -sub_80A21E0: @ 80A21E0 - push {lr} - ldr r0, _080A21F0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080A21F0: .4byte sub_80A244C - thumb_func_end sub_80A21E0 - - thumb_func_start sub_80A21F4 -sub_80A21F4: @ 80A21F4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - lsls r1, 24 - lsrs r6, r1, 24 - mov r8, r6 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_80A2260 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x10 - beq _080A2230 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80A2370 - lsls r0, 24 - cmp r0, 0 - beq _080A2250 - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - b _080A2246 -_080A2230: - adds r0, r7, 0 - movs r1, 0xFF - bl sub_80A2260 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x10 - beq _080A2250 - adds r0, r7, 0 - adds r1, r4, 0 - mov r2, r8 -_080A2246: - mov r3, r9 - bl sub_80A23C8 - movs r0, 0 - b _080A2252 -_080A2250: - movs r0, 0x1 -_080A2252: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A21F4 - - thumb_func_start sub_80A2260 -sub_80A2260: @ 80A2260 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080A2284 - adds r1, r0 - adds r1, 0x2 - movs r2, 0 -_080A2278: - ldrb r0, [r1] - cmp r0, r3 - bne _080A2288 - adds r0, r2, 0 - b _080A2296 - .align 2, 0 -_080A2284: .4byte gUnknown_03004B28 -_080A2288: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r1, 0x1 - cmp r2, 0xF - bls _080A2278 - movs r0, 0x10 -_080A2296: - pop {r1} - bx r1 - thumb_func_end sub_80A2260 - - thumb_func_start sub_80A229C -sub_80A229C: @ 80A229C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080A22CC - adds r1, r0 - adds r1, 0x2 - str r1, [r2] - movs r0, 0 - cmp r0, r3 - bcs _080A22C8 -_080A22BA: - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - adds r1, 0x1 - cmp r0, r3 - bcc _080A22BA - str r1, [r2] -_080A22C8: - pop {r0} - bx r0 - .align 2, 0 -_080A22CC: .4byte gUnknown_03004B28 - thumb_func_end sub_80A229C - - thumb_func_start sub_80A22D0 -sub_80A22D0: @ 80A22D0 - push {r4,lr} - sub sp, 0x4 - adds r4, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - mov r2, sp - bl sub_80A229C - ldr r0, [sp] - strb r4, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A22D0 - - thumb_func_start sub_80A22F4 -sub_80A22F4: @ 80A22F4 - push {r4,lr} - sub sp, 0x4 - adds r4, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r2, sp - bl sub_80A229C - ldr r0, [sp] - ldrb r0, [r0] - strb r0, [r4] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A22F4 - - thumb_func_start sub_80A2318 -sub_80A2318: @ 80A2318 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r2, _080A2340 - lsrs r1, 22 - adds r1, r2 - ldr r2, [r1] - mvns r2, r2 - lsls r2, 16 - lsrs r2, 16 - ldr r3, _080A2344 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - ldrh r0, [r1, 0x8] - ands r2, r0 - strh r2, [r1, 0x8] - bx lr - .align 2, 0 -_080A2340: .4byte gBitTable -_080A2344: .4byte gTasks - thumb_func_end sub_80A2318 - - thumb_func_start sub_80A2348 -sub_80A2348: @ 80A2348 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _080A2368 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - ldr r0, _080A236C - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - ldrh r1, [r2, 0x8] - orrs r0, r1 - strh r0, [r2, 0x8] - bx lr - .align 2, 0 -_080A2368: .4byte gTasks -_080A236C: .4byte gBitTable - thumb_func_end sub_80A2348 - - thumb_func_start sub_80A2370 -sub_80A2370: @ 80A2370 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _080A2398 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - ldr r0, _080A239C - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - ldrh r1, [r2, 0x8] - ands r0, r1 - cmp r0, 0 - bne _080A23A0 - movs r0, 0 - b _080A23A2 - .align 2, 0 -_080A2398: .4byte gTasks -_080A239C: .4byte gBitTable -_080A23A0: - movs r0, 0x1 -_080A23A2: - pop {r1} - bx r1 - thumb_func_end sub_80A2370 - - thumb_func_start npc_obj_offscreen_culling_and_flag_update -npc_obj_offscreen_culling_and_flag_update: @ 80A23A8 - lsls r0, 24 - ldr r2, _080A23B4 - lsrs r0, 22 - adds r0, r2 - str r1, [r0] - bx lr - .align 2, 0 -_080A23B4: .4byte gUnknown_020384F8 - thumb_func_end npc_obj_offscreen_culling_and_flag_update - - thumb_func_start sub_80A23B8 -sub_80A23B8: @ 80A23B8 - lsls r0, 24 - ldr r1, _080A23C4 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_080A23C4: .4byte gUnknown_020384F8 - thumb_func_end sub_80A23B8 - - thumb_func_start sub_80A23C8 -sub_80A23C8: @ 80A23C8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - mov r8, r3 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80A2318 - adds r0, r4, 0 - mov r1, r8 - bl npc_obj_offscreen_culling_and_flag_update - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_80A22D0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A23C8 - - thumb_func_start sub_80A2408 -sub_80A2408: @ 80A2408 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080A2444 - adds r1, r0 - adds r4, r1, 0x2 - movs r5, 0 -_080A241C: - ldrb r0, [r4] - cmp r0, 0xFF - beq _080A2432 - adds r1, r0, 0 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080A2448 - adds r0, r1 - bl npc_sync_anim_pause_bits -_080A2432: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x1 - cmp r5, 0xF - bls _080A241C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2444: .4byte gUnknown_03004B28 -_080A2448: .4byte gMapObjects - thumb_func_end sub_80A2408 - - thumb_func_start sub_80A244C -sub_80A244C: @ 80A244C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - movs r5, 0 - mov r6, sp -_080A2458: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, sp - bl sub_80A22F4 - ldrb r0, [r6] - cmp r0, 0xFF - beq _080A247C - adds r4, r0, 0 - adds r0, r5, 0 - bl sub_80A23B8 - adds r3, r0, 0 - adds r0, r7, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_80A2490 -_080A247C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _080A2458 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A244C - - thumb_func_start sub_80A2490 -sub_80A2490: @ 80A2490 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r3, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - mov r8, r6 - lsls r2, 24 - lsrs r2, 24 - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r1, _080A24E0 - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080A24C8 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080A24FA -_080A24C8: - ldrb r1, [r5] - cmp r1, 0xFE - bne _080A24E4 - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_80A2348 - adds r0, r4, 0 - bl sub_80643A4 - b _080A24FA - .align 2, 0 -_080A24E0: .4byte gMapObjects -_080A24E4: - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - lsls r0, 24 - cmp r0, 0 - bne _080A24FA - adds r5, 0x1 - mov r0, r8 - adds r1, r5, 0 - bl npc_obj_offscreen_culling_and_flag_update -_080A24FA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A2490 - - thumb_func_start SetUpFieldMove_Cut -SetUpFieldMove_Cut: @ 80A2504 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0x52 - bl npc_before_player_of_type - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A2534 - ldr r1, _080A2524 - ldr r0, _080A2528 - str r0, [r1] - ldr r1, _080A252C - ldr r0, _080A2530 - b _080A25A8 - .align 2, 0 -_080A2524: .4byte gUnknown_0300485C -_080A2528: .4byte sub_808AB90 -_080A252C: .4byte gUnknown_03005CE4 -_080A2530: .4byte sub_80A2634 -_080A2534: - ldr r4, _080A25B0 - adds r1, r4, 0x2 - adds r0, r4, 0 - bl PlayerGetDestCoords - movs r7, 0 - mov r8, r4 -_080A2542: - ldr r1, _080A25B4 - adds r0, r7, r1 - mov r2, r8 - ldrh r2, [r2, 0x2] - adds r0, r2 - movs r6, 0 - lsls r0, 16 - asrs r5, r0, 16 -_080A2552: - ldr r1, _080A25B4 - adds r0, r6, r1 - mov r2, r8 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - mov r2, r8 - movs r1, 0x4 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _080A25C8 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_8056E14 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A259E - adds r0, r4, 0 - bl MetatileBehavior_IsAsh - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A25C8 -_080A259E: - ldr r1, _080A25B8 - ldr r0, _080A25BC - str r0, [r1] - ldr r1, _080A25C0 - ldr r0, _080A25C4 -_080A25A8: - str r0, [r1] - movs r0, 0x1 - b _080A25DE - .align 2, 0 -_080A25B0: .4byte gUnknown_0203923C -_080A25B4: .4byte 0x0000ffff -_080A25B8: .4byte gUnknown_0300485C -_080A25BC: .4byte sub_808AB90 -_080A25C0: .4byte gUnknown_03005CE4 -_080A25C4: .4byte sub_80A25E8 -_080A25C8: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _080A2552 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _080A2542 - movs r0, 0 -_080A25DE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end SetUpFieldMove_Cut - - thumb_func_start sub_80A25E8 -sub_80A25E8: @ 80A25E8 - push {lr} - movs r0, 0x1 - bl FieldEffectStart - ldr r0, _080A25FC - ldr r1, _080A2600 - ldrb r1, [r1] - str r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080A25FC: .4byte gUnknown_0202FF84 -_080A2600: .4byte gUnknown_03005CE0 - thumb_func_end sub_80A25E8 - - thumb_func_start FldEff_UseCutOnGrass -FldEff_UseCutOnGrass: @ 80A2604 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A262C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080A2630 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x12 - bl sav12_xor_increment - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A262C: .4byte gTasks -_080A2630: .4byte sub_80A2684 - thumb_func_end FldEff_UseCutOnGrass - - thumb_func_start sub_80A2634 -sub_80A2634: @ 80A2634 - push {lr} - ldr r1, _080A2648 - ldr r0, _080A264C - ldrb r0, [r0] - str r0, [r1] - ldr r0, _080A2650 - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_080A2648: .4byte gUnknown_0202FF84 -_080A264C: .4byte gUnknown_03005CE0 -_080A2650: .4byte UseCutScript - thumb_func_end sub_80A2634 - - thumb_func_start FldEff_UseCutOnTree -FldEff_UseCutOnTree: @ 80A2654 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A267C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080A2680 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x12 - bl sav12_xor_increment - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A267C: .4byte gTasks -_080A2680: .4byte sub_80A2B00 - thumb_func_end FldEff_UseCutOnTree - - thumb_func_start sub_80A2684 -sub_80A2684: @ 80A2684 - push {lr} - movs r0, 0x1 - bl FieldEffectActiveListRemove - movs r0, 0x3A - bl FieldEffectStart - pop {r0} - bx r0 - thumb_func_end sub_80A2684 - - thumb_func_start FldEff_CutGrass -FldEff_CutGrass: @ 80A2698 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r7, 0 - movs r0, 0x80 - bl PlaySE - ldr r4, _080A2790 - adds r1, r4, 0x2 - adds r0, r4, 0 - bl PlayerGetDestCoords - mov r8, r4 -_080A26B2: - ldr r1, _080A2794 - adds r0, r7, r1 - mov r2, r8 - ldrh r2, [r2, 0x2] - adds r0, r2 - movs r6, 0 - lsls r0, 16 - asrs r5, r0, 16 -_080A26C2: - ldr r1, _080A2794 - adds r0, r6, r1 - mov r2, r8 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - mov r2, r8 - movs r1, 0x4 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _080A270E - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl sub_80578F8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A270E - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80A27A8 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_805BCC0 -_080A270E: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _080A26C2 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _080A26B2 - ldr r1, _080A2790 - ldrh r0, [r1] - subs r0, 0x1 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r1, 0x2] - subs r1, 0x2 - lsls r1, 16 - asrs r1, 16 - bl sub_80A28F4 - bl DrawWholeMapView - movs r7, 0 - ldr r4, _080A2798 -_080A2740: - ldr r0, _080A279C - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x2] - lsls r1, 23 - lsrs r1, 7 - movs r2, 0x80 - lsls r2, 12 - adds r1, r2 - asrs r1, 16 - ldrb r2, [r0] - adds r2, 0x14 - ldr r0, _080A27A0 - movs r3, 0 - bl CreateSprite - ldr r1, _080A27A4 - adds r1, r7, r1 - strb r0, [r1] - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - lsls r1, r7, 5 - strh r1, [r0, 0x32] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _080A2740 - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080A2790: .4byte gUnknown_0203923C -_080A2794: .4byte 0x0000ffff -_080A2798: .4byte gSprites -_080A279C: .4byte gPlayerAvatar -_080A27A0: .4byte gSpriteTemplate_CutGrass -_080A27A4: .4byte 0x0201fff0 - thumb_func_end FldEff_CutGrass - - thumb_func_start sub_80A27A8 -sub_80A27A8: @ 80A27A8 - push {r4-r7,lr} - lsls r0, 16 - lsls r1, 16 - lsrs r6, r0, 16 - asrs r4, r0, 16 - lsrs r7, r1, 16 - asrs r5, r1, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, _080A27E0 - cmp r1, r0 - bgt _080A27F4 - subs r0, 0x1 - cmp r1, r0 - bge _080A286C - cmp r1, 0x25 - beq _080A288E - cmp r1, 0x25 - bgt _080A27E4 - cmp r1, 0xD - beq _080A2834 - cmp r1, 0x15 - beq _080A2834 - b _080A2898 - .align 2, 0 -_080A27E0: .4byte 0x00000207 -_080A27E4: - movs r0, 0xE3 - lsls r0, 1 - cmp r1, r0 - beq _080A2844 - adds r0, 0x1 - cmp r1, r0 - beq _080A284A - b _080A2898 -_080A27F4: - ldr r0, _080A280C - cmp r1, r0 - beq _080A287C - cmp r1, r0 - bgt _080A2810 - subs r0, 0xA - cmp r1, r0 - beq _080A2834 - adds r0, 0x2 - cmp r1, r0 - beq _080A287C - b _080A2898 - .align 2, 0 -_080A280C: .4byte 0x00000212 -_080A2810: - ldr r0, _080A2824 - cmp r1, r0 - beq _080A285C - cmp r1, r0 - bgt _080A2828 - subs r0, 0x1 - cmp r1, r0 - beq _080A2854 - b _080A2898 - .align 2, 0 -_080A2824: .4byte 0x00000282 -_080A2828: - ldr r0, _080A2830 - cmp r1, r0 - beq _080A2864 - b _080A2898 - .align 2, 0 -_080A2830: .4byte 0x00000283 -_080A2834: - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r1, 16 - movs r2, 0x1 - bl MapGridSetMetatileIdAt - b _080A2898 -_080A2844: - movs r2, 0xE7 - lsls r2, 1 - b _080A286E -_080A284A: - ldr r2, _080A2850 - b _080A286E - .align 2, 0 -_080A2850: .4byte 0x000001cf -_080A2854: - ldr r2, _080A2858 - b _080A286E - .align 2, 0 -_080A2858: .4byte 0x00000279 -_080A285C: - ldr r2, _080A2860 - b _080A286E - .align 2, 0 -_080A2860: .4byte 0x0000027a -_080A2864: - ldr r2, _080A2868 - b _080A286E - .align 2, 0 -_080A2868: .4byte 0x0000027b -_080A286C: - ldr r2, _080A2878 -_080A286E: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _080A2898 - .align 2, 0 -_080A2878: .4byte 0x00000271 -_080A287C: - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r1, 16 - movs r2, 0x86 - lsls r2, 2 - bl MapGridSetMetatileIdAt - b _080A2898 -_080A288E: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0xE - bl MapGridSetMetatileIdAt -_080A2898: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A27A8 - - thumb_func_start sub_80A28A0 -sub_80A28A0: @ 80A28A0 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileIdAt - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - cmp r1, 0x1 - bne _080A28BC - movs r0, 0x1 - b _080A28EE -_080A28BC: - ldr r0, _080A28C8 - cmp r1, r0 - bne _080A28CC - movs r0, 0x2 - b _080A28EE - .align 2, 0 -_080A28C8: .4byte 0x00000279 -_080A28CC: - ldr r0, _080A28D8 - cmp r1, r0 - bne _080A28DC - movs r0, 0x3 - b _080A28EE - .align 2, 0 -_080A28D8: .4byte 0x0000027a -_080A28DC: - ldr r0, _080A28E8 - cmp r2, r0 - beq _080A28EC - movs r0, 0 - b _080A28EE - .align 2, 0 -_080A28E8: .4byte 0x0000027b -_080A28EC: - movs r0, 0x4 -_080A28EE: - pop {r1} - bx r1 - thumb_func_end sub_80A28A0 - - thumb_func_start sub_80A28F4 -sub_80A28F4: @ 80A28F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsls r1, 16 - movs r2, 0xC0 - lsls r2, 10 - adds r0, r1, r2 - lsrs r0, 16 - mov r9, r0 - movs r4, 0 - asrs r7, r1, 16 -_080A2914: - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - lsls r4, 16 - asrs r1, r4, 16 - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - asrs r5, r0, 16 - adds r0, r5, 0 - adds r1, r7, 0 - bl MapGridGetMetatileIdAt - mov r8, r4 - cmp r0, 0x15 - bne _080A2996 - adds r4, r7, 0x1 - lsls r1, r4, 16 - asrs r1, 16 - adds r0, r5, 0 - bl sub_80A28A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080A296A - cmp r0, 0x2 - bgt _080A2952 - cmp r0, 0x1 - beq _080A295C - b _080A2996 -_080A2952: - cmp r0, 0x3 - beq _080A297C - cmp r0, 0x4 - beq _080A298C - b _080A2996 -_080A295C: - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x82 - lsls r2, 2 - bl MapGridSetMetatileIdAt - b _080A2996 -_080A296A: - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2978 - bl MapGridSetMetatileIdAt - b _080A2996 - .align 2, 0 -_080A2978: .4byte 0x00000281 -_080A297C: - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2988 - bl MapGridSetMetatileIdAt - b _080A2996 - .align 2, 0 -_080A2988: .4byte 0x00000282 -_080A298C: - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2A30 - bl MapGridSetMetatileIdAt -_080A2996: - lsls r0, r6, 16 - asrs r5, r0, 16 - mov r2, r9 - lsls r0, r2, 16 - asrs r4, r0, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - cmp r0, 0x1 - bne _080A2A10 - adds r4, 0x1 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x82 - lsls r1, 2 - cmp r0, r1 - bne _080A29C8 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl MapGridSetMetatileIdAt -_080A29C8: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, _080A2A34 - cmp r0, r1 - bne _080A29E0 - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2A38 - bl MapGridSetMetatileIdAt -_080A29E0: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, _080A2A3C - cmp r0, r1 - bne _080A29F8 - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2A40 - bl MapGridSetMetatileIdAt -_080A29F8: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, _080A2A30 - cmp r0, r1 - bne _080A2A10 - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2A44 - bl MapGridSetMetatileIdAt -_080A2A10: - movs r0, 0x80 - lsls r0, 9 - add r0, r8 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bgt _080A2A20 - b _080A2914 -_080A2A20: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A2A30: .4byte 0x00000283 -_080A2A34: .4byte 0x00000281 -_080A2A38: .4byte 0x00000279 -_080A2A3C: .4byte 0x00000282 -_080A2A40: .4byte 0x0000027a -_080A2A44: .4byte 0x0000027b - thumb_func_end sub_80A28F4 - - thumb_func_start sub_80A2A48 -sub_80A2A48: @ 80A2A48 - movs r2, 0 - movs r1, 0x8 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r2, [r0, 0x34] - ldr r1, _080A2A58 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080A2A58: .4byte objc_8097BBC - thumb_func_end sub_80A2A48 - - thumb_func_start objc_8097BBC -objc_8097BBC: @ 80A2A5C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x2E] - adds r1, 0x1 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 18 - adds r1, r0 - strh r1, [r4, 0x2E] - adds r2, 0x1 - strh r2, [r4, 0x34] - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x1C - beq _080A2AA8 - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _080A2AAC -_080A2AA8: - ldr r0, _080A2AB4 - str r0, [r4, 0x1C] -_080A2AAC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A2AB4: .4byte sub_80A2AB8 - thumb_func_end objc_8097BBC - - thumb_func_start sub_80A2AB8 -sub_80A2AB8: @ 80A2AB8 - push {r4-r6,lr} - movs r4, 0x1 -_080A2ABC: - ldr r6, _080A2AF8 - adds r0, r4, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _080A2AFC - adds r0, r5 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _080A2ABC - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x3A - bl FieldEffectStop - bl sub_8064E2C - bl ScriptContext2_Disable - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A2AF8: .4byte 0x0201fff0 -_080A2AFC: .4byte gSprites - thumb_func_end sub_80A2AB8 - - thumb_func_start sub_80A2B00 -sub_80A2B00: @ 80A2B00 - push {lr} - movs r0, 0x80 - bl PlaySE - movs r0, 0x2 - bl FieldEffectActiveListRemove - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80A2B00 - - thumb_func_start sub_80A2B18 -sub_80A2B18: @ 80A2B18 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _080A2B3C -_080A2B1E: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r0, r5 - bl sub_80A2B40 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _080A2B1E - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2B3C: .4byte gSaveBlock1 + 0x2B4C - thumb_func_end sub_80A2B18 - - thumb_func_start sub_80A2B40 -sub_80A2B40: @ 80A2B40 - push {r4-r6,lr} - adds r3, r0, 0 - ldr r0, _080A2B90 - adds r4, r0, 0 - adds r1, r3, 0 - movs r2, 0x8 -_080A2B4C: - ldrh r0, [r1] - orrs r0, r4 - strh r0, [r1] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _080A2B4C - movs r2, 0 - adds r6, r3, 0 - adds r6, 0x1A - adds r4, r3, 0 - adds r4, 0x12 - movs r5, 0xFF -_080A2B66: - adds r1, r4, r2 - ldrb r0, [r1] - orrs r0, r5 - strb r0, [r1] - adds r2, 0x1 - cmp r2, 0x7 - ble _080A2B66 - adds r1, r6, 0 - movs r2, 0 - adds r0, r1, 0x3 -_080A2B7A: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _080A2B7A - movs r1, 0 - movs r0, 0x1 - strh r0, [r3, 0x1E] - strh r1, [r3, 0x20] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A2B90: .4byte 0x0000ffff - thumb_func_end sub_80A2B40 - - thumb_func_start sub_80A2B94 -sub_80A2B94: @ 80A2B94 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _080A2BBC - adds r0, r4, 0 - movs r1, 0x40 - bl GetMonData - cmp r0, 0xFF - beq _080A2BBC - movs r0, 0x1 - b _080A2BBE -_080A2BBC: - movs r0, 0 -_080A2BBE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A2B94 - - thumb_func_start sub_80A2BC4 -sub_80A2BC4: @ 80A2BC4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r7, r0, 0 - lsls r1, 16 - lsrs r0, r1, 16 - str r0, [sp, 0x8] - mov r0, sp - movs r2, 0 - ldrb r3, [r0, 0x8] - strb r3, [r0] - lsrs r1, 24 - strb r1, [r0, 0x1] - add r3, sp, 0x4 - strb r2, [r3] - mov r10, r3 - ldr r4, _080A2D00 - mov r9, r4 - mov r8, r3 - adds r2, r3, 0 -_080A2BF2: - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - add r0, r9 - ldr r5, _080A2D04 - adds r0, r5 - ldrh r0, [r0] - cmp r0, 0 - beq _080A2C08 - b _080A2D24 -_080A2C08: - movs r3, 0 - ldr r0, _080A2D08 - mov r12, r0 - mov r4, r10 - ldr r6, _080A2D0C - ldr r1, _080A2D10 - adds r5, r1, 0 -_080A2C16: - lsls r2, r3, 1 - ldrb r1, [r4] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - adds r2, r6 - ldrh r0, [r2] - orrs r0, r5 - strh r0, [r2] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x8 - bls _080A2C16 - movs r3, 0 - mov r2, r10 - ldr r4, _080A2D14 -_080A2C3A: - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3, r0 - adds r0, r4 - mov r5, r12 - adds r1, r3, r5 - ldrb r1, [r1] - strb r1, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x6 - bls _080A2C3A - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3, r0 - ldr r1, _080A2D14 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - mov r2, r8 - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r3, _080A2D14 - adds r0, r3 - movs r1, 0 - bl sub_814A518 - movs r3, 0 - mov r2, r10 - ldr r5, _080A2D18 - ldr r4, _080A2D1C -_080A2C88: - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3, r0 - adds r0, r5 - adds r1, r3, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _080A2C88 - adds r0, r7, 0 - movs r1, 0xB - bl GetBoxMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - movs r1, 0 - bl GetBoxMonData - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_80A2D44 - mov r4, r8 - ldrb r2, [r4] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - add r1, r9 - ldr r5, _080A2D20 - adds r1, r5 - strh r0, [r1] - ldrb r1, [r4] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - add r0, r9 - ldr r1, _080A2D04 - adds r0, r1 - mov r2, sp - ldrh r2, [r2, 0x8] - strh r2, [r0] - adds r0, r7, 0 - movs r1, 0x40 - mov r2, r8 - bl SetMonData - adds r0, r7, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - ldrb r0, [r4] - b _080A2D32 - .align 2, 0 -_080A2D00: .4byte gSaveBlock1 -_080A2D04: .4byte 0x00002b6c -_080A2D08: .4byte gSaveBlock2 -_080A2D0C: .4byte gSaveBlock1 + 0x2B4C -_080A2D10: .4byte 0x0000ffff -_080A2D14: .4byte gSaveBlock1 + 0x2B5E -_080A2D18: .4byte gSaveBlock1 + 0x2B66 -_080A2D1C: .4byte gSaveBlock2 + 0xA -_080A2D20: .4byte 0x00002b6a -_080A2D24: - adds r0, r1, 0x1 - strb r0, [r3] - ldrb r0, [r2] - cmp r0, 0x5 - bhi _080A2D30 - b _080A2BF2 -_080A2D30: - movs r0, 0xFF -_080A2D32: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A2BC4 - - thumb_func_start sub_80A2D44 -sub_80A2D44: @ 80A2D44 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC9 - bne _080A2D5C - adds r0, r1, 0 - bl sub_809D474 - lsls r0, 16 - ldr r1, _080A2D60 - adds r0, r1 - lsrs r0, 16 -_080A2D5C: - pop {r1} - bx r1 - .align 2, 0 -_080A2D60: .4byte 0x75300000 - thumb_func_end sub_80A2D44 - - thumb_func_start sub_80A2D64 -sub_80A2D64: @ 80A2D64 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _080A2D7C - adds r2, r3, r0 - lsls r0, r2, 16 - lsrs r0, 16 - cmp r0, 0x1B - bhi _080A2D80 - movs r0, 0xC9 - strh r2, [r1] - b _080A2D82 - .align 2, 0 -_080A2D7C: .4byte 0xffff8ad0 -_080A2D80: - adds r0, r3, 0 -_080A2D82: - pop {r1} - bx r1 - thumb_func_end sub_80A2D64 - - thumb_func_start sub_80A2D88 -sub_80A2D88: @ 80A2D88 - push {r4-r7,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r7, r1, 0 - ldrh r5, [r7, 0x20] - adds r1, r5, 0 - bl sub_80A2BC4 - add r4, sp, 0x4 - strb r0, [r4] - ldrb r2, [r4] - cmp r2, 0xFF - beq _080A2DE8 - ldr r0, _080A2DE0 - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldr r0, _080A2DE4 - adds r1, r0 - adds r0, r7, 0 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0 - movs r1, 0x40 - adds r2, r4, 0 - bl SetMonData - mov r0, sp - strb r5, [r0] - mov r1, sp - lsrs r0, r5, 8 - strb r0, [r1, 0x1] - adds r0, r6, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - ldrb r0, [r4] - b _080A2DEA - .align 2, 0 -_080A2DE0: .4byte gSaveBlock1 -_080A2DE4: .4byte 0x00002b4c -_080A2DE8: - movs r0, 0xFF -_080A2DEA: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A2D88 - - thumb_func_start unref_sub_80A2DF4 -unref_sub_80A2DF4: @ 80A2DF4 - movs r0, 0 - bx lr - thumb_func_end unref_sub_80A2DF4 - - thumb_func_start sub_80A2DF8 -sub_80A2DF8: @ 80A2DF8 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - bl sub_80A2B94 - lsls r0, 24 - cmp r0, 0 - beq _080A2E46 - adds r0, r4, 0 - movs r1, 0x40 - bl GetMonData - add r2, sp, 0x4 - strb r0, [r2] - ldr r3, _080A2E50 - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, _080A2E54 - adds r0, r1 - movs r3, 0 - movs r1, 0 - strh r1, [r0] - movs r0, 0xFF - strb r0, [r2] - mov r0, sp - strb r3, [r0] - strb r3, [r0, 0x1] - adds r0, r4, 0 - movs r1, 0x40 - bl SetMonData - adds r0, r4, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData -_080A2E46: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A2E50: .4byte gSaveBlock1 -_080A2E54: .4byte 0x00002b6c - thumb_func_end sub_80A2DF8 - - thumb_func_start unref_sub_80A2E58 -unref_sub_80A2E58: @ 80A2E58 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A2E70 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r0, _080A2E74 - adds r1, r0 - movs r0, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_080A2E70: .4byte gSaveBlock1 -_080A2E74: .4byte 0x00002b6c - thumb_func_end unref_sub_80A2E58 - - thumb_func_start sub_80A2E78 -sub_80A2E78: @ 80A2E78 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - adds r5, r0, 0 - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0, 0x1] - add r1, sp, 0x4 - movs r0, 0xFF - strb r0, [r1] - movs r7, 0x6 - mov r9, r1 - ldr r0, _080A2F04 - mov r8, r0 - ldr r2, _080A2F08 - add r2, r8 -_080A2E9E: - lsls r0, r7, 3 - adds r0, r7 - lsls r4, r0, 2 - mov r1, r8 - adds r0, r4, r1 - ldr r3, _080A2F0C - adds r0, r3 - ldrh r6, [r0] - cmp r6, 0 - bne _080A2F10 - adds r4, r2 - adds r0, r5, 0 - movs r1, 0x40 - str r2, [sp, 0x8] - bl GetMonData - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r2, [sp, 0x8] - adds r1, r2 - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - adds r0, r5, 0 - movs r1, 0x40 - bl GetMonData - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldr r0, _080A2F0C - adds r1, r0 - strh r6, [r1] - adds r0, r5, 0 - movs r1, 0x40 - mov r2, r9 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r0, r7, 0 - b _080A2F1C - .align 2, 0 -_080A2F04: .4byte gSaveBlock1 -_080A2F08: .4byte 0x00002b4c -_080A2F0C: .4byte 0x00002b6c -_080A2F10: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xF - bls _080A2E9E - movs r0, 0xFF -_080A2F1C: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A2E78 - - thumb_func_start itemid_is_mail -itemid_is_mail: @ 80A2F2C - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x84 - bgt _080A2F3E - cmp r0, 0x79 - blt _080A2F3E - movs r0, 0x1 - b _080A2F40 -_080A2F3E: - movs r0, 0 -_080A2F40: - pop {r1} - bx r1 - thumb_func_end itemid_is_mail - - thumb_func_start unref_sub_80A2F44 -unref_sub_80A2F44: @ 80A2F44 - push {lr} - bl sub_8071C20 - bl AddMapNamePopUpWindowTask - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end unref_sub_80A2F44 - - thumb_func_start AddMapNamePopUpWindowTask -AddMapNamePopUpWindowTask: @ 80A2F54 - push {r4,r5,lr} - movs r0, 0x80 - lsls r0, 7 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A2FE4 - ldr r4, _080A2FAC - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080A2FBC - adds r0, r4, 0 - movs r1, 0x5A - bl CreateTask - ldr r4, _080A2FB0 - strb r0, [r4] - ldr r1, _080A2FB4 - movs r0, 0x20 - strh r0, [r1] - bl sub_80A30E0 - ldr r2, _080A2FB8 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - strh r5, [r0, 0x8] - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x20 - strh r1, [r0, 0xC] - b _080A2FE4 - .align 2, 0 -_080A2FAC: .4byte sub_80A2FF4 -_080A2FB0: .4byte gUnknown_02038538 -_080A2FB4: .4byte REG_BG0VOFS -_080A2FB8: .4byte gTasks -_080A2FBC: - ldr r3, _080A2FEC - ldr r2, _080A2FF0 - ldrb r0, [r2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r4, 0x8 - ldrsh r0, [r1, r4] - cmp r0, 0x2 - beq _080A2FD6 - movs r0, 0x2 - strh r0, [r1, 0x8] -_080A2FD6: - ldrb r0, [r2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r0, 0x1 - strh r0, [r1, 0xE] -_080A2FE4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2FEC: .4byte gTasks -_080A2FF0: .4byte gUnknown_02038538 - thumb_func_end AddMapNamePopUpWindowTask - - thumb_func_start sub_80A2FF4 -sub_80A2FF4: @ 80A2FF4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r3, _080A3018 - adds r4, r1, r3 - movs r0, 0x8 - ldrsh r2, [r4, r0] - cmp r2, 0x1 - beq _080A304C - cmp r2, 0x1 - bgt _080A301C - cmp r2, 0 - beq _080A3026 - b _080A3092 - .align 2, 0 -_080A3018: .4byte gTasks -_080A301C: - cmp r2, 0x2 - beq _080A3064 - cmp r2, 0x4 - beq _080A308C - b _080A3092 -_080A3026: - ldrh r0, [r4, 0xC] - subs r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bgt _080A3092 - movs r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, _080A3048 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - strh r2, [r0, 0xA] - b _080A3092 - .align 2, 0 -_080A3048: .4byte gUnknown_02038538 -_080A304C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - ble _080A3092 - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080A3092 -_080A3064: - ldrh r0, [r4, 0xC] - adds r0, 0x2 - movs r5, 0 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - ble _080A3092 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A3086 - bl sub_80A30E0 - strh r5, [r4, 0x8] - strh r5, [r4, 0xE] - b _080A3092 -_080A3086: - movs r0, 0x4 - strh r0, [r4, 0x8] - b _080A3098 -_080A308C: - bl HideMapNamePopUpWindow - b _080A3098 -_080A3092: - ldr r1, _080A30A0 - ldrh r0, [r4, 0xC] - strh r0, [r1] -_080A3098: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A30A0: .4byte REG_BG0VOFS - thumb_func_end sub_80A2FF4 - - thumb_func_start HideMapNamePopUpWindow -HideMapNamePopUpWindow: @ 80A30A4 - push {lr} - ldr r0, _080A30D4 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _080A30D0 - bl MenuLoadTextWindowGraphics - movs r0, 0 - movs r1, 0 - movs r2, 0xD - movs r3, 0x3 - bl MenuZeroFillWindowRect - ldr r1, _080A30D8 - movs r0, 0 - strh r0, [r1] - ldr r0, _080A30DC - ldrb r0, [r0] - bl DestroyTask -_080A30D0: - pop {r0} - bx r0 - .align 2, 0 -_080A30D4: .4byte sub_80A2FF4 -_080A30D8: .4byte REG_BG0VOFS -_080A30DC: .4byte gUnknown_02038538 - thumb_func_end HideMapNamePopUpWindow - - thumb_func_start sub_80A30E0 -sub_80A30E0: @ 80A30E0 - push {lr} - sub sp, 0x14 - movs r0, 0 - bl MenuLoadTextWindowGraphics_OverrideFrameType - ldr r0, _080A3114 - ldrb r1, [r0, 0x14] - mov r0, sp - movs r2, 0 - bl sub_80FBFB4 - movs r0, 0 - movs r1, 0 - movs r2, 0xD - movs r3, 0x3 - bl MenuDrawTextWindow - mov r0, sp - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x60 - bl sub_8072BD8 - add sp, 0x14 - pop {r0} - bx r0 - .align 2, 0 -_080A3114: .4byte gMapHeader - thumb_func_end sub_80A30E0 - - 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 - ldr r2, _080A316C - ldr r0, _080A3170 - str r1, [r0] - str r2, [r0, 0x4] - ldr r3, _080A3174 - str r3, [r0, 0x8] - ldr r2, [r0, 0x8] - movs r2, 0x80 - lsls r2, 4 - adds r1, r2 - ldr r2, _080A3178 - 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 - ldr r1, _080A319C - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x10 - bls _080A318E - b _080A34A8 -_080A318E: - lsls r0, 2 - ldr r1, _080A31A0 - 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 - ldr r0, _080A3204 - 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 - ldr r1, _080A3224 - 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 - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, _080A3244 - ldr r0, _080A3248 - 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 - ldr r0, _080A326C - adds r1, r0 - b _080A346A - .align 2, 0 -_080A3268: .4byte gMain -_080A326C: .4byte 0x0000043c -_080A3270: - ldr r0, _080A3278 - bl SetUpWindowConfig - b _080A3464 - .align 2, 0 -_080A3278: .4byte gWindowConfig_81E6DFC -_080A327C: - ldr r0, _080A328C - bl MultistepInitMenuWindowBegin - ldr r1, _080A3290 - ldr r0, _080A3294 - 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 InitMenuInUpperLeftCornerPlaySoundWhenAPressed - movs r0, 0 - movs r1, 0xAC - movs r2, 0xC - bl sub_80F953C - movs r0, 0x1 - movs r1, 0xAC - movs r2, 0x94 - bl sub_80F953C - movs r0, 0x2 - movs r1, 0x1C - movs r2, 0x58 - bl sub_80F953C - movs r0, 0x3 - movs r1, 0x64 - movs r2, 0x58 - bl sub_80F953C - 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 - 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 - ldr r0, _080A3324 - adds r1, r0 - b _080A346A - .align 2, 0 -_080A331C: .4byte gUnknown_03000701 -_080A3320: .4byte gMain -_080A3324: .4byte 0x0000043c -_080A3328: - ldr r1, _080A3378 - movs r0, 0x10 - strb r0, [r1] - ldr r4, _080A337C - ldr r5, _080A3380 - 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 - 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 - 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 gUnknown_083C1618 -_080A3388: .4byte gUnknown_03005D24 -_080A338C: - ldr r0, _080A33D4 - movs r1, 0 - movs r2, 0x7 - bl sub_80A48E8 - ldr r1, _080A33D8 - ldr r4, _080A33DC - 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 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - bl sub_80A490C - bl sub_80A736C - ldr r1, _080A33E4 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r1] - ldr r1, _080A33E8 - movs r0, 0 - strb r0, [r1] - ldr r1, _080A33EC - ldr r0, _080A33F0 - 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 sub_80A7B10 - movs r0, 0 - bl sub_80A7C20 - bl sub_80A3740 - b _080A3464 -_080A3404: - ldr r3, _080A3444 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _080A3448 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _080A344C - 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 - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r1, _080A3454 - ldr r0, _080A3458 - 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 - ldr r2, _080A3478 - 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 - bl SetVBlankCallback - ldr r0, _080A34A4 - 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 - 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 - ldr r2, _080A3518 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x2 - ldr r2, _080A351C - 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 - ldr r1, _080A3540 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bls _080A3530 - b _080A3624 -_080A3530: - lsls r0, 2 - ldr r1, _080A3544 - 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 - ldr r1, _080A356C - bl LZDecompressVram - b _080A35EA - .align 2, 0 -_080A3568: .4byte gBagScreen_Gfx -_080A356C: .4byte 0x06004000 -_080A3570: - ldr r0, _080A3580 - ldr r1, _080A3584 - movs r2, 0x80 - lsls r2, 3 - bl CpuSet - b _080A35EA - .align 2, 0 -_080A3580: .4byte gUnknown_08E77004 -_080A3584: .4byte gBG2TilemapBuffer -_080A3588: - ldr r0, _080A35A4 - ldrb r0, [r0, 0x8] - cmp r0, 0 - beq _080A3598 - ldr r0, _080A35A8 - ldrb r0, [r0] - cmp r0, 0x7 - bne _080A35B0 -_080A3598: - ldr r0, _080A35AC - 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 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - b _080A35EA - .align 2, 0 -_080A35BC: .4byte gBagScreenFemale_Pal -_080A35C0: - ldr r0, _080A35D8 - ldrb r0, [r0, 0x8] - cmp r0, 0 - beq _080A35D0 - ldr r0, _080A35DC - ldrb r0, [r0] - cmp r0, 0x7 - bne _080A35E4 -_080A35D0: - ldr r0, _080A35E0 - bl LoadCompressedObjectPic - b _080A35EA - .align 2, 0 -_080A35D8: .4byte gSaveBlock2 -_080A35DC: .4byte gUnknown_03000701 -_080A35E0: .4byte gUnknown_083C1CC8 -_080A35E4: - ldr r0, _080A35F8 - bl LoadCompressedObjectPic -_080A35EA: - ldr r1, _080A35FC - ldr r0, _080A3600 - 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 - bl LoadCompressedObjectPalette - ldr r0, _080A361C - ldr r1, _080A3620 - 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 - ldr r5, _080A364C -_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 - ldr r3, _080A36B4 - 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 -_080A371A: - lsls r1, r4, 3 - adds r1, r5 - ldr r0, [r1] - ldrb r1, [r1, 0x4] - bl sub_80A9684 - 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 gUnknown_083C1618 - thumb_func_end sub_80A3714 - - thumb_func_start sub_80A3740 -sub_80A3740: @ 80A3740 - push {lr} - sub sp, 0x4 - ldr r1, _080A376C - 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 - ldrb r0, [r0] - cmp r0, 0 - bne _080A37B6 - ldr r3, _080A37A0 - ldr r2, _080A37A4 - movs r1, 0 - ldrsb r1, [r2, r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - ldr r1, _080A37A8 - adds r0, r1 - str r0, [r3] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0x3 - beq _080A37B0 - ldr r1, _080A37AC - 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 - 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 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080A37F4 - 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 - ldrb r5, [r6] - cmp r5, 0xF - bhi _080A3868 - adds r0, r5, 0x1 - strb r0, [r6] - ldr r4, _080A3858 - ldrb r2, [r6] - adds r0, r4, 0 - adds r1, r5, 0 - movs r3, 0x4F - bl sub_80A396C - ldr r0, _080A385C - ldrb r1, [r0] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r6] - lsrs r2, 1 - ldr r3, _080A3860 - 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 - 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 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A38B4 - ldr r1, _080A38A4 - ldr r0, _080A38A8 - 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 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - ldr r4, _080A38B0 - ldrb r1, [r4] - bl sub_80A49AC - 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 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _080A38F2 - ldr r5, _080A393C - adds r4, r1, 0 -_080A38C0: - ldr r0, _080A3940 - 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 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - ldrb r1, [r4] - bl sub_80A49AC - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bls _080A38C0 -_080A38F2: - ldr r0, _080A3938 - ldrb r0, [r0] - cmp r0, 0x3 - bne _080A3932 - ldr r1, _080A3948 - movs r0, 0x10 - strb r0, [r1] - ldr r1, _080A394C - ldr r0, _080A3940 - ldrb r0, [r0] - adds r0, 0x1 - strb r0, [r1] - ldr r0, _080A3950 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl sub_80A37C0 - adds r0, r7, 0 - bl DestroyTask - bl sub_80A736C - 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 - 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 - 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 - 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 - 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 - ldr r0, _080A3AE8 - 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 - 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 - ldr r1, _080A3BAC - 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 - 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 - movs r0, 0x6 - strb r0, [r1] - ldr r0, _080A3BB8 - strb r4, [r0] - ldr r4, _080A3BBC - 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 - 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 gUnknown_083C1618 -_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 - lsls r0, r6, 2 - adds r3, r0, r1 - movs r0, 0 - strb r0, [r3, 0x2] - movs r4, 0 - ldr r0, _080A3D04 - 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 gUnknown_083C1618 - 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 - 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 - mov r9, r1 - ldr r2, _080A3DF8 - 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 - ldr r1, [r7] - lsls r6, r2, 2 - adds r3, r6, r1 - ldr r2, _080A3E00 - 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 - ldr r1, _080A3E08 - 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 - ldrb r0, [r0] - bl sub_80A3CA8 -_080A3DE0: - ldr r0, _080A3DF8 - 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 - ldr r2, _080A3E64 - 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 - 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 - ldrb r0, [r0] - bl sub_80A3CA8 -_080A3E52: - ldr r0, _080A3E64 - 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 - 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 - 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 - ldr r1, _080A3EF0 - 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 sub_80A736C - 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 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r2, _080A3F48 - ldr r0, _080A3F4C - 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 - lsls r3, r0, 2 - adds r3, r0 - lsls r3, 3 - adds r3, r1 - ldr r5, _080A3F98 - ldr r4, _080A3F9C - 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 - 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 - 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 - 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 - ldr r3, _080A4118 - 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 -_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 - 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 - ldr r0, _080A4160 - 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 - 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 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r0, 0x1C - ldrsh r1, [r1, r0] - ldr r3, _080A42A8 - ldr r0, _080A42AC - 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 - mov r8, r0 - ldr r1, _080A4348 - ldr r0, _080A434C - 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 - 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 - ldr r1, _080A4358 - 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 - 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 - mov r8, r0 - b _080A441A - .align 2, 0 -_080A43A0: .4byte gUnknown_03005D24 -_080A43A4: - ldr r1, _080A4440 - ldr r0, _080A4444 - 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 - 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_get_item - 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 - 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 - mov r9, r0 - b _080A4520 - .align 2, 0 -_080A446C: .4byte gSaveBlock1 + 0x496 -_080A4470: - ldr r1, _080A44E8 - ldr r0, _080A44EC - 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 - 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 - mov r8, r0 - ldr r0, [r0] - lsls r4, 2 - adds r0, r4, r0 - ldrh r0, [r0] - bl itemid_get_item - adds r1, r0, 0 - adds r0, r7, 0 - movs r2, 0x60 - movs r3, 0 - bl sub_8072C74 - ldr r0, _080A44F0 - movs r1, 0xE - adds r2, r5, 0 - bl MenuPrint - ldr r0, _080A44F8 - 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 - mov r9, r0 - b _080A46C2 - .align 2, 0 -_080A456C: .4byte gBG2TilemapBuffer -_080A4570: - ldr r1, _080A461C - ldr r0, _080A4620 - 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 - 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 - 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 - adds r2, r0 - mov r1, r10 - ldr r0, [r1] - adds r0, r7, r0 - ldr r3, _080A4630 - 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 - 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 - 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 - adds r1, r0 - adds r0, r6, 0 - movs r2, 0x78 - movs r3, 0 - bl sub_8072C74 -_080A46AE: - ldr r0, _080A46F8 - 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 - mov r10, r0 - ldr r1, _080A4728 - mov r9, r1 - ldr r0, _080A472C - mov r8, r0 - b _080A47B4 - .align 2, 0 -_080A4724: .4byte gBG2TilemapBuffer -_080A4728: .4byte gStringVar2 -_080A472C: .4byte gUnknown_03005D24 -_080A4730: - ldr r1, _080A47DC - ldr r0, _080A47E0 - 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 - 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 itemid_copy_name - 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 - 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 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bhi _080A4852 - lsls r0, 2 - ldr r1, _080A480C - 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 - ldr r0, _080A4874 - 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 - ldrb r0, [r0] - cmp r0, 0x5 - beq _080A48B0 - ldr r1, _080A48A8 - ldr r0, _080A48AC - 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 - ldr r0, _080A48D4 - 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 sub_80A490C -sub_80A490C: @ 80A490C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r1, _080A4960 - ldr r0, _080A4964 - 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 - 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 - ldr r0, _080A4970 - 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_get_description - 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 sub_80A490C - - thumb_func_start sub_80A49AC -sub_80A49AC: @ 80A49AC - push {r4,r5,lr} - sub sp, 0x64 - adds r4, r1, 0 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r1, _080A49E8 - ldr r0, _080A49EC - 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 - 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 - ldr r0, _080A4A14 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x4 - movs r2, 0x78 -_080A4A08: - movs r3, 0 - bl sub_80729D8 - 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 sub_80A99A8 - 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 sub_80729D8 -_080A4A4C: - add sp, 0x64 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A49AC - - 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 sub_80729D8 -_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 - 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 - 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 - ldr r1, _080A4B54 - 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 - ldr r1, _080A4B8C - 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 - cmp r4, r0 - beq _080A4BAE - adds r0, 0xD - cmp r4, r0 - bne _080A4BBC -_080A4BAE: - ldr r0, _080A4BB8 - 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 - ldr r0, _080A4BE0 - 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 -_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 - 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 - 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 - ldrb r0, [r0] - cmp r6, r0 - bcs _080A4CA0 - ldr r4, _080A4C60 -_080A4C4C: - cmp r6, 0 - bne _080A4C68 - ldr r0, _080A4C64 - 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 - 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 - ldrb r0, [r0] - cmp r6, r0 - bcc _080A4C4C -_080A4CA0: - ldr r0, _080A4CCC - ldrb r0, [r0] - cmp r0, 0x5 - bne _080A4CD4 - ldr r0, _080A4CC8 - ldrb r3, [r0] - ldr r0, _080A4CD0 - 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 - 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 -_080A4D1E: - ldr r0, _080A4D9C - 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 - ldrb r0, [r0] - cmp r6, r0 - bcc _080A4D1E -_080A4D6E: - ldr r0, _080A4DA0 - 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 - 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 - 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 - lsls r4, 24 - asrs r4, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80A3B04 - ldr r0, _080A4F08 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80A3AC0 - bl sub_80A3770 - bl sub_80A7C64 - adds r0, r6, 0 - bl sub_80A7C20 - 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 - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _080A4F60 - ldr r4, _080A4F3C - 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 - ldrh r0, [r0, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _080A4FE8 - ldr r1, _080A4FB0 - ldr r0, _080A4FB4 - 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 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A50AE - ldr r1, _080A4FE4 - 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 - ldrb r0, [r0] - cmp r0, 0x5 - beq _080A502C - ldr r1, _080A5024 - ldr r0, _080A5028 - 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 - ldr r0, _080A505C - 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 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A50C0 - ldr r1, _080A5084 - 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 - 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 - 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 - adds r5, r0, r1 - ldr r0, _080A514C - 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 - ldrh r1, [r2, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080A5190 - ldr r3, _080A5154 - ldrb r0, [r3] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _080A5190 - ldr r0, _080A5158 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _080A5190 - movs r1, 0x14 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080A5160 - ldr r1, _080A515C - 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 gUnknown_03004B28 -_080A514C: .4byte gPaletteFade -_080A5150: .4byte gMain -_080A5154: .4byte gUnknown_02038559 -_080A5158: .4byte gUnknown_03000701 -_080A515C: .4byte gUnknown_03005D10 -_080A5160: - ldr r1, _080A5184 - 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 - ldr r6, _080A51D8 - 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 - strh r1, [r0] - ldr r1, _080A51E0 - ldr r0, _080A51E4 - 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 - 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 - ldrb r0, [r2] - ldr r1, _080A5258 - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3] - ldr r1, _080A525C - ldr r0, _080A5260 - 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 - ldrb r0, [r2] - cmp r0, 0x5 - beq _080A52B6 - ldr r0, _080A52A8 - strh r1, [r0] - ldr r1, _080A52AC - 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 - adds r1, r0 - ldr r0, _080A52F8 - 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 gUnknown_03004B28 -_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 - adds r4, r1, r2 - ldr r1, _080A53A0 - ldrb r1, [r1] - ldr r2, _080A53A4 - 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 - 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 gUnknown_03004B28 -_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 - movs r1, 0 - bl CreateTask - ldr r1, _080A53F4 - 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 - movs r1, 0 - strb r1, [r0] - ldr r0, _080A5410 - 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 rfu_lacks_rfufunc - cmp r0, 0 - bne _080A5426 - b _080A5552 -_080A5426: - ldr r2, _080A5460 - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _080A546C - ldr r4, _080A5464 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A5440 - b _080A5552 -_080A5440: - ldrb r1, [r4] - ldr r0, _080A5468 - 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 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A5552 - ldrb r1, [r4] - ldr r0, _080A5498 - 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 - ldrb r0, [r4] - cmp r0, 0x1 - bls _080A5552 - adds r1, r0, 0 - ldr r0, _080A54C8 - 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 - ldrb r0, [r4] - cmp r0, 0x1 - bhi _080A5552 - adds r1, r0, 0 - ldr r0, _080A54FC - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] - ldr r1, _080A5574 - ldr r0, _080A5578 - 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 - bl sub_80A4DA4 - ldr r1, _080A5580 - ldr r0, _080A5584 - 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 - ldrb r0, [r0] - cmp r0, 0x5 - bne _080A55E0 - ldr r0, _080A558C - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] - ldr r0, _080A55C4 - bl sub_80A4DA4 - ldr r1, _080A55C8 - ldr r0, _080A55CC - ldrb r2, [r0] - ldr r0, _080A55D0 - 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 - 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 - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _080A5648 - ldr r4, _080A5640 - ldrb r0, [r4] - cmp r0, 0 - bne _080A561E - b _080A5736 -_080A561E: - adds r1, r0, 0 - ldr r0, _080A5644 - 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 - ldrb r1, [r4] - ldr r0, _080A5678 - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _080A5736 - cmp r1, 0x2 - beq _080A5736 - ldr r0, _080A567C - 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 - ldrb r0, [r4] - cmp r0, 0x2 - bls _080A5736 - adds r1, r0, 0 - ldr r0, _080A56AC - 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 - ldrb r0, [r4] - cmp r0, 0x2 - bhi _080A5736 - adds r1, r0, 0 - ldr r0, _080A56E0 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] - ldr r1, _080A5750 - ldr r0, _080A5754 - 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 - bl sub_80A4DA4 - ldr r1, _080A575C - ldr r0, _080A5760 - 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 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] - ldr r0, _080A579C - bl sub_80A4DA4 - ldr r1, _080A57A0 - ldr r0, _080A57A4 - ldrb r2, [r0] - ldr r0, _080A57A8 - 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 - ldr r0, _080A57F0 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 1 - ldr r4, _080A57F4 - adds r1, r4 - str r1, [r5] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bne _080A57FC - ldr r1, _080A57F8 - 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 - 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 - 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 - movs r0, 0x2 - strb r0, [r1] - movs r5, 0x7 -_080A582C: - adds r6, r1, 0 - ldr r0, _080A5884 - 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 rfu_lacks_rfufunc - cmp r0, 0 - beq _080A5988 - ldr r2, _080A58B8 - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080A58C0 - ldr r4, _080A58BC - 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 - ldrb r1, [r4] - ldr r0, _080A58F0 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r3, [r0, 0x1C] - ldr r1, _080A594C - ldr r0, _080A5950 - 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 - bl sub_80A4DA4 - ldr r1, _080A5958 - ldr r0, _080A595C - ldrb r2, [r0] - ldr r0, _080A5960 - 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 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x1C] - ldr r0, _080A5994 - bl sub_80A4DA4 - ldr r0, _080A5998 - 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 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A59C8 - lsrs r2, r3, 16 - movs r4, 0 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - ldr r1, _080A59CC - 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 - movs r0, 0 - strb r0, [r1] - ldr r7, _080A5A40 - ldrb r0, [r7] - cmp r0, 0x5 - bne _080A59E8 - movs r0, 0x1 - strb r0, [r1] -_080A59E8: - ldr r1, _080A5A44 - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 3 - adds r6, r0, r1 - ldr r3, _080A5A48 - ldr r2, _080A5A4C - 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 - 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 - bl sub_80A4BF0 - ldr r0, _080A5A80 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bne _080A5A6E - ldr r0, _080A5A84 - ldrb r0, [r0] - cmp r0, 0x5 - bne _080A5A90 -_080A5A6E: - ldr r0, _080A5A88 - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080A5A8C - 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 - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080A5AA8 -_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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A5AE0 - 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 - adds r2, r0, r1 - ldr r0, _080A5B3C - 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 gUnknown_03004B28 -_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 - movs r1, 0 - bl CreateTask - ldr r1, _080A5B64 - 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 - ldrh r0, [r5] - bl itemid_get_overworld_function - 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_get_type - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - ldr r0, _080A5BE4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - beq _080A5BEC - ldr r0, _080A5BE8 - ldrh r0, [r0] - bl itemid_get_overworld_function - 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 - ldr r2, _080A5C20 - 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 sub_80A736C - 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 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A5C98 - 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 - 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 - 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 - movs r1, 0 - bl CreateTask - ldr r1, _080A5D24 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xA] - ldr r0, _080A5D74 - bl sub_80A4DA4 - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl sub_80A736C - 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 - 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 - bl itemid_copy_name - cmp r4, 0x63 - bls _080A5DCC - ldr r0, _080A5DC8 - 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 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN -_080A5DD8: - ldr r0, _080A5DF4 - 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 - 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 - 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 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A5E8C - 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 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A5EF8 - movs r0, 0x5 - bl PlaySE - ldr r0, _080A5EEC - ldrh r0, [r0] - ldr r2, _080A5EF0 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - ldrh r1, [r1, 0xA] - bl sub_80A5DA0 - ldr r1, _080A5EF4 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A5F5C - str r1, [r0] - movs r0, 0x3 - bl sub_80A7528 - ldr r0, _080A5F60 - 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 sub_80A736C - 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 - ldr r1, _080A5FD4 - adds r4, r0, r1 - ldr r5, _080A5FD8 - 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 sub_80A736C - 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 sub_80A736C - 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 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A6062 - ldr r0, _080A6070 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A6078 - 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 DisplayCannotDismountBikeMessage -DisplayCannotDismountBikeMessage: @ 80A607C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80A73FC - ldr r0, _080A60B4 - ldrh r0, [r0] - ldr r1, _080A60B8 - bl itemid_copy_name - ldr r5, _080A60BC - ldr r1, _080A60C0 - adds r0, r5, 0 - bl StringExpandPlaceholders - bl sub_80A7590 - ldr r2, _080A60C4 - 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 DisplayCannotDismountBikeMessage - - 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 - ldrh r0, [r5] - bl sub_80F931C - lsls r0, 24 - cmp r0, 0 - bne _080A6108 - bl sub_80A73FC - bl sub_80A7590 - ldr r1, _080A6100 - ldr r2, _080A6104 - 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_is_unique - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, _080A615C - lsrs r1, r2, 16 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - ldr r1, _080A6160 - str r1, [r0] - ldr r1, _080A6164 - 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 DisplayCannotDismountBikeMessage -_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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, _080A61A4 - 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 - movs r1, 0 - bl CreateTask - ldr r1, _080A61CC - 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 - movs r1, 0x2 - strb r1, [r0] - ldr r0, _080A61E8 - 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 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6210 - 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 - ldrb r0, [r0] - adds r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, _080A6248 - ldrh r0, [r4] - bl sub_80F931C - lsls r0, 24 - cmp r0, 0 - bne _080A6254 - bl sub_80A73FC - bl sub_80A7590 - ldr r1, _080A624C - ldr r2, _080A6250 - 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 - bl itemid_copy_name - ldr r4, _080A628C - ldr r1, _080A6290 - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80A7590 - ldr r2, _080A6294 - 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_is_unique - lsls r0, 24 - cmp r0, 0 - bne _080A62CC - ldr r1, _080A62C4 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r2, _080A62C8 - 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 DisplayCannotDismountBikeMessage -_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 - movs r1, 0 - bl CreateTask - ldr r1, _080A62FC - 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 - movs r1, 0x3 - strb r1, [r0] - ldr r0, _080A6318 - 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 - ldr r1, _080A6348 - str r1, [r2] - ldr r2, _080A634C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6350 - 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 - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 3 - adds r2, r0 - ldr r4, _080A63C8 - ldr r3, _080A63CC - 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 - ldrh r0, [r4] - ldr r1, _080A63D4 - bl itemid_copy_name - ldrh r0, [r4] - bl itemid_get_market_price - lsls r0, 16 - cmp r0, 0 - bne _080A63E4 - ldr r4, _080A63D8 - ldr r1, _080A63DC - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080A63E0 - 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 - ldr r1, _080A6404 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080A6408 - 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 - 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 sub_80A736C - 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 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A6488 - 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 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r0, _080A64EC - str r0, [r4] - ldr r0, _080A64F0 - 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 - 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 - 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 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A6570 - 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 - ldrh r0, [r0] - ldr r1, _080A65A4 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r1 - ldrb r1, [r4, 0xA] - bl sub_80A6870 - ldr r0, _080A65A8 - 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 - movs r1, 0x6 - str r1, [sp] - movs r1, 0x7 - movs r2, 0x6 - movs r3, 0x6 - bl sub_80A36B8 - ldr r0, _080A6604 - ldrh r0, [r0] - ldr r1, _080A6608 - bl itemid_copy_name - ldr r4, _080A660C - ldr r1, _080A6610 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080A6614 - 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 - 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 - 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 - ldrh r0, [r0] - ldr r2, _080A66B0 - 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 - 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 - movs r1, 0x3 - str r1, [sp] - movs r1, 0 - movs r2, 0xA - movs r3, 0xD - bl sub_80A36B8 - ldr r4, _080A672C - ldr r0, _080A6730 - ldrh r0, [r0] - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - ldr r2, _080A6734 - 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 - ldr r1, _080A673C - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080A6740 - 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 - 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 sub_80A736C - 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 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A67F0 - 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_get_market_price - lsls r0, 16 - lsrs r0, 17 - muls r0, r5 - movs r1, 0x6 - movs r2, 0x6 - movs r3, 0xB - bl sub_80B7A94 - ldr r6, _080A6838 - adds r0, r4, 0 - bl itemid_get_market_price - 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 - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_80B7C14 - ldr r0, _080A686C - 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 - bl itemid_get_market_price - 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 - movs r1, 0 - bl CreateTask - ldr r1, _080A68C8 - 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 - movs r0, 0x3 - strb r0, [r1] - ldr r1, _080A68E8 - movs r0, 0x4 - strb r0, [r1] - ldr r0, _080A68EC - 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 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6914 - 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 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A693C - 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 - movs r1, 0 - bl CreateTask - ldr r1, _080A6964 - 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 - movs r0, 0x3 - strb r0, [r1] - ldr r1, _080A6994 - movs r0, 0x5 - strb r0, [r1] - ldr r0, _080A6998 - 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 - ldr r0, _080A69B0 - str r0, [r1] - ldr r1, _080A69B4 - 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 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A69DC - 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 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6A04 - 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 - movs r1, 0 - bl CreateTask - ldr r1, _080A6A2C - 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 - movs r1, 0x6 - strb r1, [r0] - ldr r0, _080A6A48 - 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 - ldr r1, _080A6A78 - str r1, [r2] - ldr r2, _080A6A7C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6A80 - 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 - adds r0, r4, r6 - mov r8, r0 - ldr r0, _080A6AEC - bl sub_80A4DA4 - ldr r0, _080A6AF0 - ldrh r0, [r0] - ldr r1, _080A6AF4 - bl itemid_copy_name - ldr r0, _080A6AF8 - 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 - str r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A6AE8: .4byte gUnknown_03004B28 -_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 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - ldr r1, _080A6B5C - ldr r0, _080A6B60 - 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 - adds r7, r5, r6 - ldr r0, _080A6BA0 - mov r8, r0 - ldrh r0, [r0] - bl itemid_is_unique - 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 - str r1, [r0] - movs r0, 0x9 - bl sub_80A7528 - b _080A6BD2 - .align 2, 0 -_080A6B9C: .4byte gUnknown_03004B28 -_080A6BA0: .4byte word_203855E -_080A6BA4: .4byte sub_80A6B00 -_080A6BA8: - mov r1, r8 - ldrh r0, [r1] - ldrh r1, [r7, 0x2] - bl sub_80A9760 - 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 - 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 - ldrh r1, [r0, 0x2E] - movs r2, 0x1 - ands r2, r1 - cmp r2, 0 - beq _080A6C20 - movs r0, 0x5 - bl PlaySE - ldr r0, _080A6C1C - 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 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x1C] - ldr r1, _080A6C64 - ldr r0, _080A6C68 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldr r2, _080A6CE8 - ldr r6, _080A6CEC - 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 - 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 - ldr r1, _080A6D74 - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0 - beq _080A6D84 - movs r1, 0x1 - bl sub_80A92D4 - 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 - ldrh r0, [r4] - strh r0, [r1] - ldrh r0, [r4] - bl itemid_get_overworld_function - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A6D7C - 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 - 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 - movs r1, 0 - bl CreateTask - ldr r1, _080A6DB8 - 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 - movs r0, 0 - strb r0, [r1] - ldr r1, _080A6DE8 - movs r0, 0x1 - strb r0, [r1] - ldr r0, _080A6DEC - 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 - 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 - ldr r0, _080A6E54 - 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 - ldr r4, _080A6EB0 - 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 - 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 - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _080A6EE8 - ldr r4, _080A6EE4 - 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 - ldrb r0, [r4] - adds r0, 0x1 - ldr r1, _080A6F10 - 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 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - ldr r1, _080A6F6C - ldr r0, _080A6F70 - 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 - bl sub_80A4DA4 - ldr r1, _080A6F78 - ldr r0, _080A6F7C - ldrb r2, [r0] - ldr r0, _080A6F80 - 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 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x1C] - ldr r1, _080A6FCC - ldr r0, _080A6FD0 - 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 - bl sub_80A4DA4 - ldr r0, _080A6FD8 - 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 - ldrh r0, [r0] - bl itemid_get_usage - lsls r0, 24 - cmp r0, 0 - beq _080A7008 - ldr r1, _080A6FFC - ldr r0, _080A7000 - str r0, [r1] - ldr r1, _080A7004 - 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 - ldr r0, _080A701C - str r0, [r1] - ldr r1, _080A7020 - 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 - movs r0, 0 - strb r0, [r1] - bl sub_80A6FDC - ldr r0, _080A7080 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldr r3, _080A7084 - ldr r2, _080A7088 - 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 - bl sub_80A6DF0 - ldr r0, _080A7090 - 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 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080A70D0 - lsrs r0, r2, 16 - movs r3, 0 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - ldr r0, _080A70D4 - 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 - ldrh r0, [r4] - bl itemid_get_battle_function - cmp r0, 0 - beq _080A711A - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4] - bl itemid_get_battle_function - 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 sub_80A736C - 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 - ldr r5, _080A715C - 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 - 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 - movs r1, 0 - strb r1, [r0] - ldr r0, _080A7218 - strb r1, [r0] - movs r1, 0 - ldr r4, _080A721C - ldr r5, _080A7220 - ldr r3, _080A7224 - 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 sub_80A9684 - adds r0, r4, 0 - movs r1, 0x10 - bl sub_80A9684 - movs r0, 0xD - movs r1, 0x1 - bl sub_80A9424 - movs r0, 0x4 - movs r1, 0x1 - bl sub_80A9424 - ldr r1, _080A7228 - movs r0, 0x7 - strb r0, [r1] - ldr r0, _080A722C - 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 - 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 gUnknown_03004B28 -_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 - movs r0, 0x4 - strh r0, [r1] - ldr r1, _080A72DC - ldr r0, _080A72E0 - str r0, [r1] - ldr r1, _080A72E4 - movs r0, 0x2 - strb r0, [r1] - mov r0, r8 - adds r4, r0, r6 - ldr r3, _080A72E8 - ldr r2, _080A72EC - 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 - 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 - bl sub_80A4DA4 - ldr r4, _080A7348 - ldr r5, _080A734C - 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 - 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 - 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 sub_80A736C -sub_80A736C: @ 80A736C - push {lr} - sub sp, 0x8 - ldr r1, _080A73B0 - ldr r0, _080A73B4 - 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 - ldr r3, _080A73BC - movs r0, 0xF - str r0, [sp] - movs r0, 0x10 - movs r2, 0xC - bl sub_814AC58 - 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 sub_80A736C - - thumb_func_start sub_80A73C0 -sub_80A73C0: @ 80A73C0 - push {lr} - ldr r1, _080A73E8 - ldr r0, _080A73EC - 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 - 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 - 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 - ldr r0, _080A74A4 - 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 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - ldrb r1, [r4, 0x1] - bl sub_80A49AC - b _080A74FC - .align 2, 0 -_080A74A0: .4byte gUnknown_03005D10 -_080A74A4: .4byte gUnknown_02038559 -_080A74A8: .4byte gUnknown_03005D24 -_080A74AC: - ldr r0, _080A74B0 - b _080A74E6 - .align 2, 0 -_080A74B0: .4byte gOtherText_SwitchWhichItem -_080A74B4: - ldr r0, _080A74B8 - b _080A74E6 - .align 2, 0 -_080A74B8: .4byte gOtherText_WhatWillYouDo2 -_080A74BC: - ldr r0, _080A74C0 - b _080A74E6 - .align 2, 0 -_080A74C0: .4byte gOtherText_HowManyToToss -_080A74C4: - ldr r0, _080A74C8 - b _080A74E6 - .align 2, 0 -_080A74C8: .4byte gOtherText_ThrewAwayItem -_080A74CC: - ldr r0, _080A74D0 - b _080A74E6 - .align 2, 0 -_080A74D0: .4byte gOtherText_OkayToThrowAwayPrompt -_080A74D4: - ldr r0, _080A74D8 - b _080A74E6 - .align 2, 0 -_080A74D8: .4byte gOtherText_HowManyToDeposit -_080A74DC: - ldr r0, _080A74E0 - b _080A74E6 - .align 2, 0 -_080A74E0: .4byte gOtherText_DepositedItems -_080A74E4: - ldr r0, _080A74F0 -_080A74E6: - ldrb r1, [r4, 0x1] - bl sub_80A4A98 - b _080A74FC - .align 2, 0 -_080A74F0: .4byte gOtherText_NoRoomForItems -_080A74F4: - ldr r0, _080A7518 - 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 - 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 - 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 - 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 - 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 - 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 - ldrb r0, [r4] - cmp r0, 0x1 - bne _080A7622 - bl sub_80A7988 - adds r5, r0, 0 - cmp r5, 0 - bne _080A7622 - ldr r0, _080A762C - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - ldr r0, _080A77B0 - 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 - ldrh r0, [r0] - bl sub_80A4B90 - adds r3, r0, 0 - b _080A77DC - .align 2, 0 -_080A77C4: .4byte word_203855E -_080A77C8: - ldr r2, _080A781C - ldrb r0, [r4, 0x1] - ldr r1, _080A7820 - 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 - 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 - 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 - 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 - 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 - 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 rfu_lacks_rfufunc -rfu_lacks_rfufunc: @ 80A78A0 - push {lr} - ldr r0, _080A78B4 - 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 rfu_lacks_rfufunc - - thumb_func_start sub_80A78B8 -sub_80A78B8: @ 80A78B8 - ldr r1, _080A78C0 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 sub_80A7B10 -sub_80A7B10: @ 80A7B10 - push {lr} - ldr r0, _080A7B24 - 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 sub_80A7B10 - - 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 - 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 - b _080A7BA2 - .align 2, 0 -_080A7B9C: .4byte gSpriteAffineAnimTable_83C1D20 -_080A7BA0: - ldr r0, _080A7BD0 -_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 - 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 sub_80A7C20 -sub_80A7C20: @ 80A7C20 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080A7C54 - bl LoadSpritePalette - ldr r0, _080A7C58 - movs r1, 0x10 - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - ldr r1, _080A7C5C - strb r0, [r1] - ldr r2, _080A7C60 - 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 sub_80A7C20 - - thumb_func_start sub_80A7C64 -sub_80A7C64: @ 80A7C64 - push {r4,r5,lr} - movs r0, 0x8 - bl FreeSpritePaletteByTag - ldr r5, _080A7C98 - ldr r4, _080A7C9C - 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 - ldr r1, _080A7D38 - adds r0, r4, 0 - bl sub_80A7CA0 - movs r0, 0x90 - lsls r0, 3 - adds r4, r0 - str r4, [sp] - ldr r1, _080A7D3C - ldr r0, [sp, 0x4] - ands r0, r1 - ldr r1, _080A7D40 - 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 - lsls r4, 3 - adds r0, r5, 0x4 - adds r0, r4, r0 - ldr r0, [r0] - str r0, [sp] - mov r1, sp - ldr r0, _080A7D80 - strh r0, [r1, 0x4] - mov r0, sp - bl LoadCompressedObjectPalette - adds r4, r5 - ldr r0, [r4] - ldr r4, _080A7D84 - adds r1, r4, 0 - bl sub_800D238 - ldr r0, _080A7D88 - 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 - 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 - 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 - 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 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - bl sub_80A7CF8 - ldr r0, _080A7E54 - 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 - 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 - 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 - - thumb_func_start sub_80A7E7C -sub_80A7E7C: @ 80A7E7C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080A7E9C - ldrb r0, [r4] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _080A7EA0 - adds r0, r5, 0 - bl move_anim_task_del - b _080A7EDC - .align 2, 0 -_080A7E9C: .4byte gUnknown_03004B00 -_080A7EA0: - ldr r1, _080A7EE4 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r4, 0x2] - strh r1, [r0, 0x24] - ldrh r1, [r4, 0x4] - strh r1, [r0, 0x26] - ldr r1, _080A7EE8 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x8] - ldrh r1, [r4, 0x6] - strh r1, [r0, 0xA] - ldrh r1, [r4, 0x8] - strh r1, [r0, 0xC] - ldrh r1, [r4, 0x8] - strh r1, [r0, 0xE] - ldrh r1, [r4, 0x2] - strh r1, [r0, 0x10] - ldrh r1, [r4, 0x4] - strh r1, [r0, 0x12] - ldr r1, _080A7EEC - str r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 -_080A7EDC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7EE4: .4byte gSprites -_080A7EE8: .4byte gTasks -_080A7EEC: .4byte sub_80A7EF0 - thumb_func_end sub_80A7E7C - - thumb_func_start sub_80A7EF0 -sub_80A7EF0: @ 80A7EF0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080A7F2C - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r3, r0, r1 - ldrh r0, [r3, 0xE] - movs r2, 0xE - ldrsh r5, [r3, r2] - adds r7, r1, 0 - cmp r5, 0 - bne _080A7F96 - ldr r2, _080A7F30 - movs r6, 0x8 - ldrsh r1, [r3, r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r6, 0x24 - ldrsh r0, [r1, r6] - adds r6, r2, 0 - cmp r0, 0 - bne _080A7F34 - ldrh r0, [r3, 0x10] - strh r0, [r1, 0x24] - b _080A7F36 - .align 2, 0 -_080A7F2C: .4byte gTasks -_080A7F30: .4byte gSprites -_080A7F34: - strh r5, [r1, 0x24] -_080A7F36: - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 3 - adds r3, r0, r7 - movs r0, 0x8 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - movs r5, 0x26 - ldrsh r0, [r1, r5] - cmp r0, 0 - bne _080A7F56 - ldrh r0, [r3, 0x12] - b _080A7F58 -_080A7F56: - movs r0, 0 -_080A7F58: - strh r0, [r1, 0x26] - adds r0, r2, r4 - lsls r0, 3 - adds r2, r0, r7 - ldrh r0, [r2, 0xC] - strh r0, [r2, 0xE] - ldrh r0, [r2, 0xA] - subs r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r3, r0, 16 - cmp r3, 0 - bne _080A7F9A - movs r0, 0x8 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r3, [r0, 0x24] - movs r5, 0x8 - ldrsh r1, [r2, r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r3, [r0, 0x26] - adds r0, r4, 0 - bl move_anim_task_del - b _080A7F9A -_080A7F96: - subs r0, 0x1 - strh r0, [r3, 0xE] -_080A7F9A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A7EF0 - - thumb_func_start sub_80A7FA0 -sub_80A7FA0: @ 80A7FA0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - ldr r2, _080A7FC8 - ldrh r0, [r2] - movs r3, 0 - ldrsh r1, [r2, r3] - cmp r1, 0x3 - bgt _080A7FCC - lsls r0, 24 - lsrs r0, 24 - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xFF - bne _080A8022 - b _080A8026 - .align 2, 0 -_080A7FC8: .4byte gUnknown_03004B00 -_080A7FCC: - cmp r1, 0x8 - beq _080A8018 - movs r1, 0 - ldrsh r0, [r2, r1] - cmp r0, 0x5 - beq _080A7FEC - cmp r0, 0x5 - bgt _080A7FE2 - cmp r0, 0x4 - beq _080A7FE8 - b _080A7FF4 -_080A7FE2: - cmp r0, 0x6 - beq _080A7FF0 - b _080A7FF4 -_080A7FE8: - movs r0, 0 - b _080A7FF6 -_080A7FEC: - movs r0, 0x2 - b _080A7FF6 -_080A7FF0: - movs r0, 0x1 - b _080A7FF6 -_080A7FF4: - movs r0, 0x3 -_080A7FF6: - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - bne _080A800C - movs r6, 0x1 -_080A800C: - ldr r0, _080A8014 - adds r0, r4, r0 - b _080A8020 - .align 2, 0 -_080A8014: .4byte gUnknown_02024BE0 -_080A8018: - ldr r1, _080A8030 - ldr r0, _080A8034 - ldrb r0, [r0] - adds r0, r1 -_080A8020: - ldrb r3, [r0] -_080A8022: - cmp r6, 0 - beq _080A8038 -_080A8026: - adds r0, r5, 0 - bl move_anim_task_del - b _080A8076 - .align 2, 0 -_080A8030: .4byte gUnknown_02024BE0 -_080A8034: .4byte gUnknown_0202F7C8 -_080A8038: - ldr r1, _080A807C - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldr r2, _080A8080 - ldrh r1, [r2, 0x2] - strh r1, [r0, 0x24] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0x26] - ldr r1, _080A8084 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r3, [r0, 0x8] - ldrh r1, [r2, 0x6] - strh r1, [r0, 0xA] - ldrh r1, [r2, 0x8] - strh r1, [r0, 0xC] - ldrh r1, [r2, 0x8] - strh r1, [r0, 0xE] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0x10] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0x12] - ldr r1, _080A8088 - str r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 -_080A8076: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A807C: .4byte gSprites -_080A8080: .4byte gUnknown_03004B00 -_080A8084: .4byte gTasks -_080A8088: .4byte sub_80A808C - thumb_func_end sub_80A7FA0 - - thumb_func_start sub_80A808C -sub_80A808C: @ 80A808C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080A80D0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r3, r0, r1 - ldrh r2, [r3, 0xE] - movs r4, 0xE - ldrsh r0, [r3, r4] - mov r12, r1 - cmp r0, 0 - bne _080A8144 - ldr r2, _080A80D4 - movs r7, 0x8 - ldrsh r1, [r3, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r2 - movs r0, 0x24 - ldrsh r1, [r4, r0] - ldrh r5, [r3, 0x10] - movs r7, 0x10 - ldrsh r0, [r3, r7] - adds r7, r2, 0 - cmp r1, r0 - bne _080A80D8 - negs r0, r5 - strh r0, [r4, 0x24] - b _080A80DA - .align 2, 0 -_080A80D0: .4byte gTasks -_080A80D4: .4byte gSprites -_080A80D8: - strh r5, [r4, 0x24] -_080A80DA: - lsls r3, r6, 2 - adds r1, r3, r6 - lsls r1, 3 - add r1, r12 - movs r0, 0x8 - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0, r7 - movs r0, 0x26 - ldrsh r2, [r4, r0] - mov r8, r2 - ldrh r5, [r1, 0x12] - movs r2, 0x12 - ldrsh r0, [r1, r2] - cmp r8, r0 - bne _080A8104 - negs r0, r5 - strh r0, [r4, 0x26] - b _080A8106 -_080A8104: - strh r5, [r4, 0x26] -_080A8106: - adds r0, r3, r6 - lsls r0, 3 - mov r4, r12 - adds r3, r0, r4 - ldrh r0, [r3, 0xC] - strh r0, [r3, 0xE] - ldrh r0, [r3, 0xA] - subs r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bne _080A8148 - movs r0, 0x8 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x24] - movs r4, 0x8 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - adds r0, r6, 0 - bl move_anim_task_del - b _080A8148 -_080A8144: - subs r0, r2, 0x1 - strh r0, [r3, 0xE] -_080A8148: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A808C - - thumb_func_start sub_80A8154 -sub_80A8154: @ 80A8154 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080A8174 - ldrb r0, [r4] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xFF - bne _080A8178 - adds r0, r5, 0 - bl move_anim_task_del - b _080A81C6 - .align 2, 0 -_080A8174: .4byte gUnknown_03004B00 -_080A8178: - ldr r0, _080A81CC - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r4, 0x2] - ldrh r2, [r1, 0x24] - adds r0, r2 - movs r2, 0 - strh r0, [r1, 0x24] - ldrh r0, [r4, 0x4] - ldrh r6, [r1, 0x26] - adds r0, r6 - strh r0, [r1, 0x26] - ldr r0, _080A81D0 - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - strh r3, [r1, 0x8] - strh r2, [r1, 0xA] - ldrh r0, [r4, 0x6] - strh r0, [r1, 0xC] - strh r2, [r1, 0xE] - ldrh r0, [r4, 0x8] - strh r0, [r1, 0x10] - movs r2, 0x2 - ldrsh r0, [r4, r2] - lsls r0, 1 - strh r0, [r1, 0x12] - movs r6, 0x4 - ldrsh r0, [r4, r6] - lsls r0, 1 - strh r0, [r1, 0x14] - ldr r2, _080A81D4 - str r2, [r1] - adds r0, r5, 0 - bl _call_via_r2 -_080A81C6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A81CC: .4byte gSprites -_080A81D0: .4byte gTasks -_080A81D4: .4byte sub_80A81D8 - thumb_func_end sub_80A8154 - - thumb_func_start sub_80A81D8 -sub_80A81D8: @ 80A81D8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080A8230 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r0, [r4, r3] - adds r6, r1, 0 - cmp r0, 0 - beq _080A81F6 - b _080A8308 -_080A81F6: - ldrh r1, [r4, 0xA] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A8238 - ldr r2, _080A8234 - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x12] - ldrh r3, [r0, 0x24] - adds r1, r3 - strh r1, [r0, 0x24] - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x14] - ldrh r3, [r0, 0x26] - adds r1, r3 - strh r1, [r0, 0x26] - adds r3, r2, 0 - b _080A8262 - .align 2, 0 -_080A8230: .4byte gTasks -_080A8234: .4byte gSprites -_080A8238: - ldr r3, _080A82C4 - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x24] - ldrh r2, [r4, 0x12] - subs r1, r2 - strh r1, [r0, 0x24] - movs r2, 0x8 - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - ldrh r2, [r4, 0x14] - subs r1, r2 - strh r1, [r0, 0x26] -_080A8262: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r6 - ldrh r0, [r4, 0x10] - strh r0, [r4, 0xE] - ldrh r0, [r4, 0xA] - adds r2, r0, 0x1 - strh r2, [r4, 0xA] - lsls r0, r2, 16 - asrs r0, 16 - movs r6, 0xC - ldrsh r1, [r4, r6] - cmp r0, r1 - blt _080A830C - movs r0, 0x1 - ands r2, r0 - cmp r2, 0 - beq _080A82C8 - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - movs r2, 0x12 - ldrsh r0, [r4, r2] - lsrs r2, r0, 31 - adds r0, r2 - asrs r0, 1 - ldrh r6, [r1, 0x24] - adds r0, r6 - strh r0, [r1, 0x24] - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - movs r2, 0x14 - ldrsh r0, [r4, r2] - lsrs r2, r0, 31 - adds r0, r2 - asrs r0, 1 - ldrh r3, [r1, 0x26] - adds r0, r3 - strh r0, [r1, 0x26] - b _080A8300 - .align 2, 0 -_080A82C4: .4byte gSprites -_080A82C8: - movs r6, 0x8 - ldrsh r0, [r4, r6] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - movs r3, 0x14 - ldrsh r1, [r4, r3] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - ldrh r0, [r2, 0x26] - subs r0, r1 - strh r0, [r2, 0x26] -_080A8300: - adds r0, r5, 0 - bl move_anim_task_del - b _080A830C -_080A8308: - subs r0, r2, 0x1 - strh r0, [r4, 0xE] -_080A830C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A81D8 - - thumb_func_start sub_80A8314 -sub_80A8314: @ 80A8314 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _080A8364 - ldrb r0, [r5] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A8368 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r2, [r5, 0x2] - strh r2, [r1, 0x24] - ldr r2, _080A836C - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - strh r0, [r1, 0x8] - ldrh r0, [r5, 0x2] - strh r0, [r1, 0xA] - ldrh r0, [r5, 0x4] - strh r0, [r1, 0xC] - ldrh r0, [r5, 0x6] - strh r0, [r1, 0xE] - ldrh r0, [r5, 0x8] - strh r0, [r1, 0x10] - ldr r2, _080A8370 - str r2, [r1] - adds r0, r4, 0 - bl _call_via_r2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A8364: .4byte gUnknown_03004B00 -_080A8368: .4byte gSprites -_080A836C: .4byte gTasks -_080A8370: .4byte sub_80A8374 - thumb_func_end sub_80A8314 - - thumb_func_start sub_80A8374 -sub_80A8374: @ 80A8374 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, _080A8400 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r3, r0, r2 - ldrb r5, [r3, 0x8] - ldrh r4, [r3, 0xA] - ldrh r1, [r3, 0x18] - adds r0, r1, 0x1 - strh r0, [r3, 0x18] - movs r7, 0xC - ldrsh r0, [r3, r7] - lsls r1, 16 - asrs r1, 16 - mov r12, r2 - ldr r7, _080A8404 - cmp r0, r1 - bne _080A83C6 - movs r0, 0 - strh r0, [r3, 0x18] - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r1, r0, r7 - ldrh r3, [r1, 0x24] - movs r0, 0x24 - ldrsh r2, [r1, r0] - lsls r0, r4, 16 - asrs r0, 16 - cmp r2, r0 - bne _080A83BE - negs r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 -_080A83BE: - lsls r0, r4, 16 - asrs r0, 16 - adds r0, r3 - strh r0, [r1, 0x24] -_080A83C6: - lsls r2, r6, 2 - adds r2, r6 - lsls r2, 3 - add r2, r12 - strh r4, [r2, 0xA] - ldrh r1, [r2, 0xE] - ldrh r0, [r2, 0x1A] - adds r1, r0 - strh r1, [r2, 0x1A] - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r7 - lsls r1, 16 - asrs r1, 24 - strh r1, [r0, 0x26] - ldrh r0, [r2, 0x10] - subs r0, 0x1 - strh r0, [r2, 0x10] - lsls r0, 16 - cmp r0, 0 - bne _080A83F8 - adds r0, r6, 0 - bl move_anim_task_del -_080A83F8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A8400: .4byte gTasks -_080A8404: .4byte gSprites - thumb_func_end sub_80A8374 - - thumb_func_start sub_80A8408 -sub_80A8408: @ 80A8408 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0x1 - ldr r4, _080A847C - ldrb r0, [r4] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r7, r0, 24 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - ble _080A842C - movs r0, 0x5 - strh r0, [r4, 0x8] -_080A842C: - movs r1, 0 - movs r2, 0x8 - ldrsh r0, [r4, r2] - adds r3, r4, 0 - ldr r2, _080A8480 - mov r12, r2 - lsls r4, r5, 2 - ldr r2, _080A8484 - mov r8, r2 - cmp r1, r0 - bge _080A8452 - adds r2, r0, 0 -_080A8444: - lsls r0, r6, 25 - lsrs r6, r0, 24 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r2 - blt _080A8444 -_080A8452: - adds r0, r4, r5 - lsls r0, 3 - add r0, r12 - strh r7, [r0, 0x8] - ldrh r1, [r3, 0x2] - strh r1, [r0, 0xA] - ldrh r1, [r3, 0x4] - strh r1, [r0, 0xC] - ldrh r1, [r3, 0x6] - strh r1, [r0, 0xE] - strh r6, [r0, 0x10] - mov r1, r8 - str r1, [r0] - adds r0, r5, 0 - bl _call_via_r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A847C: .4byte gUnknown_03004B00 -_080A8480: .4byte gTasks -_080A8484: .4byte sub_80A8488 - thumb_func_end sub_80A8408 - - thumb_func_start sub_80A8488 -sub_80A8488: @ 80A8488 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, _080A84F8 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldrb r4, [r5, 0x8] - movs r1, 0x12 - ldrsh r0, [r5, r1] - movs r2, 0xA - ldrsh r1, [r5, r2] - bl Sin - ldr r2, _080A84FC - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r4, r1, r2 - strh r0, [r4, 0x24] - movs r1, 0x12 - ldrsh r0, [r5, r1] - movs r2, 0xC - ldrsh r1, [r5, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r5, 0xC] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r5, 0x10] - ldrh r1, [r5, 0x12] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x12] - cmp r0, 0 - bne _080A84E0 - ldrh r0, [r5, 0xE] - subs r0, 0x1 - strh r0, [r5, 0xE] -_080A84E0: - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _080A84F2 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - adds r0, r6, 0 - bl move_anim_task_del -_080A84F2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A84F8: .4byte gTasks -_080A84FC: .4byte gSprites - thumb_func_end sub_80A8488 - - thumb_func_start sub_80A8500 -sub_80A8500: @ 80A8500 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A8528 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _080A851C - ldr r1, _080A852C - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] -_080A851C: - adds r0, r4, 0 - bl sub_80A8408 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A8528: .4byte gUnknown_0202F7C8 -_080A852C: .4byte gUnknown_03004B00 - thumb_func_end sub_80A8500 - - thumb_func_start sub_80A8530 -sub_80A8530: @ 80A8530 - push {r4,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080A8558 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _080A8560 - ldr r1, _080A855C - ldrh r0, [r1, 0x2] - negs r0, r0 - b _080A8564 - .align 2, 0 -_080A8558: .4byte gUnknown_0202F7C8 -_080A855C: .4byte gUnknown_03004B00 -_080A8560: - ldr r1, _080A8590 - ldrh r0, [r1, 0x2] -_080A8564: - strh r0, [r4, 0x30] - ldrh r2, [r1] - movs r0, 0 - strh r2, [r4, 0x2E] - strh r0, [r4, 0x32] - ldr r1, _080A8594 - ldr r0, _080A8598 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x34] - strh r2, [r4, 0x36] - ldr r1, _080A859C - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r0, _080A85A0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A8590: .4byte gUnknown_03004B00 -_080A8594: .4byte gUnknown_02024BE0 -_080A8598: .4byte gUnknown_0202F7C8 -_080A859C: .4byte sub_80A85A4 -_080A85A0: .4byte sub_8078458 - thumb_func_end sub_80A8530 - - thumb_func_start sub_80A85A4 -sub_80A85A4: @ 80A85A4 - push {lr} - ldrh r1, [r0, 0x36] - strh r1, [r0, 0x2E] - ldrh r1, [r0, 0x30] - negs r1, r1 - strh r1, [r0, 0x30] - ldr r1, _080A85C0 - str r1, [r0, 0x1C] - ldr r1, _080A85C4 - bl oamt_set_x3A_32 - pop {r0} - bx r0 - .align 2, 0 -_080A85C0: .4byte sub_8078458 -_080A85C4: .4byte move_anim_8072740 - thumb_func_end sub_80A85A4 - - thumb_func_start sub_80A85C8 -sub_80A85C8: @ 80A85C8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r5, _080A8608 - ldrb r0, [r5, 0x4] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r5] - movs r1, 0 - strh r2, [r4, 0x2E] - strh r1, [r4, 0x30] - ldrh r1, [r5, 0x2] - strh r1, [r4, 0x32] - strh r0, [r4, 0x34] - strh r2, [r4, 0x36] - ldr r1, _080A860C - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r0, _080A8610 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A8608: .4byte gUnknown_03004B00 -_080A860C: .4byte sub_80A8614 -_080A8610: .4byte sub_8078458 - thumb_func_end sub_80A85C8 - - thumb_func_start sub_80A8614 -sub_80A8614: @ 80A8614 - push {lr} - ldrh r1, [r0, 0x36] - strh r1, [r0, 0x2E] - ldrh r1, [r0, 0x32] - negs r1, r1 - strh r1, [r0, 0x32] - ldr r1, _080A8630 - str r1, [r0, 0x1C] - ldr r1, _080A8634 - bl oamt_set_x3A_32 - pop {r0} - bx r0 - .align 2, 0 -_080A8630: .4byte sub_8078458 -_080A8634: .4byte move_anim_8072740 - thumb_func_end sub_80A8614 - - thumb_func_start sub_80A8638 -sub_80A8638: @ 80A8638 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r0, _080A8650 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A865C - ldr r1, _080A8654 - ldr r0, _080A8658 - b _080A8660 - .align 2, 0 -_080A8650: .4byte gUnknown_03004B00 -_080A8654: .4byte gUnknown_02024BE0 -_080A8658: .4byte gUnknown_0202F7C8 -_080A865C: - ldr r1, _080A86C0 - ldr r0, _080A86C4 -_080A8660: - ldrb r0, [r0] - adds r0, r1 - ldrb r7, [r0] - ldr r5, _080A86C8 - ldrh r0, [r5, 0x4] - movs r3, 0 - strh r0, [r6, 0x2E] - ldr r0, _080A86CC - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r4, r0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r6, 0x30] - ldrh r0, [r4, 0x20] - strh r0, [r6, 0x32] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r6, 0x34] - ldrh r0, [r4, 0x22] - strh r0, [r6, 0x36] - adds r0, r6, 0 - str r3, [sp] - bl sub_8078A5C - ldr r3, [sp] - strh r3, [r6, 0x34] - strh r3, [r6, 0x36] - ldrh r0, [r4, 0x24] - strh r0, [r6, 0x38] - ldrh r0, [r4, 0x26] - strh r0, [r6, 0x3A] - adds r2, r6, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080A86D0 - strh r3, [r6, 0x32] - b _080A86D6 - .align 2, 0 -_080A86C0: .4byte gUnknown_02024BE0 -_080A86C4: .4byte gUnknown_0202F7C9 -_080A86C8: .4byte gUnknown_03004B00 -_080A86CC: .4byte gSprites -_080A86D0: - cmp r0, 0x2 - bne _080A86D6 - strh r3, [r6, 0x30] -_080A86D6: - ldr r0, _080A86EC - ldrh r1, [r0, 0x2] - lsls r0, r7, 8 - orrs r0, r1 - strh r0, [r6, 0x3C] - ldr r0, _080A86F0 - str r0, [r6, 0x1C] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A86EC: .4byte gUnknown_03004B00 -_080A86F0: .4byte sub_80A86F4 - thumb_func_end sub_80A8638 - - thumb_func_start sub_80A86F4 -sub_80A86F4: @ 80A86F4 - push {r4-r6,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x3C] - lsls r1, r0, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - lsls r0, 16 - asrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080A8730 - adds r3, r1, r0 - ldrh r0, [r2, 0x2E] - movs r6, 0x2E - ldrsh r1, [r2, r6] - cmp r1, 0 - bne _080A8734 - cmp r4, 0x1 - bhi _080A871E - strh r1, [r3, 0x24] -_080A871E: - cmp r5, 0x2 - beq _080A8726 - cmp r5, 0 - bne _080A8728 -_080A8726: - strh r1, [r3, 0x26] -_080A8728: - adds r0, r2, 0 - bl move_anim_8072740 - b _080A875E - .align 2, 0 -_080A8730: .4byte gSprites -_080A8734: - subs r0, 0x1 - strh r0, [r2, 0x2E] - ldrh r1, [r2, 0x30] - ldrh r0, [r2, 0x34] - adds r1, r0 - strh r1, [r2, 0x34] - ldrh r0, [r2, 0x32] - ldrh r4, [r2, 0x36] - adds r0, r4 - strh r0, [r2, 0x36] - lsls r1, 16 - asrs r1, 24 - ldrh r6, [r2, 0x38] - adds r1, r6 - strh r1, [r3, 0x24] - ldrh r0, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r2, 0x3A] - adds r0, r2 - strh r0, [r3, 0x26] -_080A875E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A86F4 - - thumb_func_start sub_80A8764 -sub_80A8764: @ 80A8764 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _080A8778 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A8780 - ldr r0, _080A877C - b _080A8782 - .align 2, 0 -_080A8778: .4byte gUnknown_03004B00 -_080A877C: .4byte gUnknown_0202F7C8 -_080A8780: - ldr r0, _080A8800 -_080A8782: - ldrb r2, [r0] - ldr r0, _080A8804 - adds r0, r2, r0 - ldrb r6, [r0] - adds r0, r2, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _080A87AC - ldr r1, _080A8808 - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] - movs r2, 0x6 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _080A87AC - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080A87AC: - ldr r2, _080A8808 - ldrh r0, [r2, 0x8] - movs r4, 0 - strh r0, [r5, 0x2E] - ldr r0, _080A880C - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x20] - strh r0, [r5, 0x30] - ldrh r0, [r2, 0x2] - ldrh r3, [r1, 0x20] - adds r0, r3 - strh r0, [r5, 0x32] - ldrh r0, [r1, 0x22] - strh r0, [r5, 0x34] - ldrh r0, [r2, 0x4] - ldrh r1, [r1, 0x22] - adds r0, r1 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_8078A5C - strh r4, [r5, 0x34] - strh r4, [r5, 0x36] - strh r6, [r5, 0x38] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080A8810 - adds r0, r5, 0 - bl oamt_set_x3A_32 - ldr r0, _080A8814 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A8800: .4byte gUnknown_0202F7C9 -_080A8804: .4byte gUnknown_02024BE0 -_080A8808: .4byte gUnknown_03004B00 -_080A880C: .4byte gSprites -_080A8810: .4byte move_anim_8072740 -_080A8814: .4byte sub_80784A8 - thumb_func_end sub_80A8764 - - thumb_func_start sub_80A8818 -sub_80A8818: @ 80A8818 - push {r4-r7,lr} - adds r6, r0, 0 - adds r2, r6, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080A8838 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A8840 - ldr r0, _080A883C - b _080A8842 - .align 2, 0 -_080A8838: .4byte gUnknown_03004B00 -_080A883C: .4byte gUnknown_0202F7C8 -_080A8840: - ldr r0, _080A88C0 -_080A8842: - ldrb r1, [r0] - ldr r0, _080A88C4 - adds r0, r1, r0 - ldrb r7, [r0] - adds r0, r1, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _080A886C - ldr r1, _080A88C8 - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] - movs r2, 0x6 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _080A886C - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080A886C: - ldr r5, _080A88C8 - ldrh r0, [r5, 0x8] - strh r0, [r6, 0x2E] - ldr r0, _080A88CC - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r4, r0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r6, 0x30] - ldrh r1, [r5, 0x2] - adds r0, r1 - strh r0, [r6, 0x32] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r6, 0x34] - ldrh r1, [r5, 0x4] - adds r0, r1 - strh r0, [r6, 0x36] - adds r0, r6, 0 - bl sub_8078A5C - ldrh r0, [r4, 0x24] - lsls r0, 8 - strh r0, [r6, 0x34] - ldrh r0, [r4, 0x26] - lsls r0, 8 - strh r0, [r6, 0x36] - strh r7, [r6, 0x38] - ldrh r0, [r5, 0xA] - strh r0, [r6, 0x3A] - lsls r0, 16 - cmp r0, 0 - bne _080A88D4 - ldr r1, _080A88D0 - adds r0, r6, 0 - bl oamt_set_x3A_32 - b _080A88DC - .align 2, 0 -_080A88C0: .4byte gUnknown_0202F7C9 -_080A88C4: .4byte gUnknown_02024BE0 -_080A88C8: .4byte gUnknown_03004B00 -_080A88CC: .4byte gSprites -_080A88D0: .4byte move_anim_8072740 -_080A88D4: - ldr r1, _080A88E8 - adds r0, r6, 0 - bl oamt_set_x3A_32 -_080A88DC: - ldr r0, _080A88EC - str r0, [r6, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A88E8: .4byte sub_80A88F0 -_080A88EC: .4byte sub_80784A8 - thumb_func_end sub_80A8818 - - thumb_func_start sub_80A88F0 -sub_80A88F0: @ 80A88F0 - push {r4,lr} - ldr r4, _080A891C - movs r1, 0x38 - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - movs r3, 0 - strh r3, [r1, 0x24] - movs r1, 0x38 - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r3, [r1, 0x26] - bl move_anim_8072740 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A891C: .4byte gSprites - thumb_func_end sub_80A88F0 - - thumb_func_start sub_80A8920 -sub_80A8920: @ 80A8920 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _080A89A4 - movs r0, 0x6 - ldrsh r1, [r5, r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, _080A89A8 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _080A8952 - ldrh r0, [r5, 0x2] - negs r0, r0 - strh r0, [r5, 0x2] - ldrh r0, [r5, 0xA] - negs r0, r0 - strh r0, [r5, 0xA] -_080A8952: - ldrb r0, [r5] - bl obj_id_for_side_relative_to_move - ldr r1, _080A89AC - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r1 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x8] - movs r1, 0x2 - ldrsh r0, [r5, r1] - lsls r0, 8 - movs r2, 0x6 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r4, 0xA] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0xC] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0xE] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x10] - movs r1, 0xA - ldrsh r0, [r5, r1] - lsls r0, 8 - movs r2, 0xC - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r4, 0x12] - ldrh r0, [r5, 0xC] - strh r0, [r4, 0x14] - strh r7, [r4, 0x16] - ldr r0, _080A89B0 - str r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A89A4: .4byte gUnknown_03004B00 -_080A89A8: .4byte gUnknown_0202F7C8 -_080A89AC: .4byte gTasks -_080A89B0: .4byte sub_80A89B4 - thumb_func_end sub_80A8920 - - thumb_func_start sub_80A89B4 -sub_80A89B4: @ 80A89B4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A8A0C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrb r1, [r5, 0x8] - ldrh r0, [r5, 0xA] - ldrh r2, [r5, 0x1E] - adds r0, r2 - strh r0, [r5, 0x1E] - ldr r2, _080A8A10 - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - adds r4, r2 - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r5, 0x1C] - lsrs r0, 8 - movs r2, 0xC - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0x16] - ldrh r1, [r5, 0x1C] - adds r0, r1 - strh r0, [r5, 0x1C] - ldrh r0, [r5, 0xE] - subs r0, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _080A8A04 - ldr r0, _080A8A14 - str r0, [r5] -_080A8A04: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A8A0C: .4byte gTasks -_080A8A10: .4byte gSprites -_080A8A14: .4byte sub_80A8A18 - thumb_func_end sub_80A89B4 - - thumb_func_start sub_80A8A18 -sub_80A8A18: @ 80A8A18 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _080A8A3C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080A8A40 - subs r0, r1, 0x1 - strh r0, [r4, 0x10] - b _080A8A74 - .align 2, 0 -_080A8A3C: .4byte gTasks -_080A8A40: - ldrb r0, [r4, 0x8] - ldrh r2, [r4, 0x12] - ldrh r1, [r4, 0x20] - adds r2, r1 - strh r2, [r4, 0x20] - ldr r3, _080A8A7C - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - lsls r2, 16 - asrs r2, 24 - ldrh r0, [r4, 0x1E] - lsls r0, 16 - asrs r0, 24 - adds r2, r0 - strh r2, [r1, 0x24] - ldrh r0, [r4, 0x14] - subs r0, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - bne _080A8A74 - adds r0, r5, 0 - bl move_anim_task_del -_080A8A74: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A8A7C: .4byte gSprites - thumb_func_end sub_80A8A18 - - thumb_func_start sub_80A8A80 -sub_80A8A80: @ 80A8A80 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080A8AA4 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0x2 - beq _080A8AAE - cmp r0, 0x2 - bgt _080A8AA8 - cmp r0, 0 - blt _080A8AE0 - ldrb r0, [r1] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - b _080A8AE8 - .align 2, 0 -_080A8AA4: .4byte gUnknown_03004B00 -_080A8AA8: - cmp r0, 0x3 - beq _080A8AB8 - b _080A8AE0 -_080A8AAE: - ldr r5, _080A8AB4 - b _080A8ABA - .align 2, 0 -_080A8AB4: .4byte gUnknown_0202F7C8 -_080A8AB8: - ldr r5, _080A8AD8 -_080A8ABA: - ldrb r0, [r5] - movs r4, 0x2 - eors r0, r4 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _080A8AE0 - ldr r1, _080A8ADC - ldrb r0, [r5] - eors r0, r4 - adds r0, r1 - ldrb r2, [r0] - b _080A8AE8 - .align 2, 0 -_080A8AD8: .4byte gUnknown_0202F7C9 -_080A8ADC: .4byte gUnknown_02024BE0 -_080A8AE0: - adds r0, r6, 0 - bl move_anim_task_del - b _080A8B28 -_080A8AE8: - ldr r1, _080A8B08 - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r0, 3 - adds r5, r0, r1 - strh r2, [r5, 0x8] - ldr r0, _080A8B0C - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _080A8B14 - ldr r0, _080A8B10 - ldrh r0, [r0, 0x2] - b _080A8B1A - .align 2, 0 -_080A8B08: .4byte gTasks -_080A8B0C: .4byte gUnknown_0202F7C9 -_080A8B10: .4byte gUnknown_03004B00 -_080A8B14: - ldr r0, _080A8B30 - ldrh r0, [r0, 0x2] - negs r0, r0 -_080A8B1A: - strh r0, [r5, 0xA] - ldr r0, _080A8B34 - adds r1, r4, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _080A8B38 - str r0, [r1] -_080A8B28: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A8B30: .4byte gUnknown_03004B00 -_080A8B34: .4byte gTasks -_080A8B38: .4byte sub_80A8B3C - thumb_func_end sub_80A8A80 - - thumb_func_start sub_80A8B3C -sub_80A8B3C: @ 80A8B3C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A8B80 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r2, [r1, 0x8] - ldr r3, _080A8B84 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r1, 0xA] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - movs r2, 0x24 - ldrsh r1, [r0, r2] - movs r2, 0x20 - ldrsh r0, [r0, r2] - adds r1, r0 - adds r1, 0x20 - movs r0, 0x98 - lsls r0, 1 - cmp r1, r0 - bls _080A8B7A - adds r0, r4, 0 - bl move_anim_task_del -_080A8B7A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A8B80: .4byte gTasks -_080A8B84: .4byte gSprites - thumb_func_end sub_80A8B3C - - thumb_func_start sub_80A8B88 -sub_80A8B88: @ 80A8B88 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, _080A8BD8 - ldrb r0, [r6] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _080A8BA4 - ldr r1, _080A8BDC - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] -_080A8BA4: - ldr r4, _080A8BDC - ldrb r0, [r4, 0x8] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A8BE0 - lsls r3, r5, 2 - adds r1, r3, r5 - lsls r1, 3 - adds r2, r1, r2 - ldrh r1, [r4] - strh r1, [r2, 0x8] - ldrh r1, [r4, 0x2] - strh r1, [r2, 0xA] - ldrh r1, [r4, 0x4] - strh r1, [r2, 0xC] - ldrh r1, [r4, 0x6] - strh r1, [r2, 0xE] - strh r0, [r2, 0x10] - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A8BE4 - ldrb r0, [r6] - b _080A8BE8 - .align 2, 0 -_080A8BD8: .4byte gUnknown_0202F7C8 -_080A8BDC: .4byte gUnknown_03004B00 -_080A8BE0: .4byte gTasks -_080A8BE4: - ldr r0, _080A8C00 - ldrb r0, [r0] -_080A8BE8: - strh r0, [r2, 0x12] - ldr r1, _080A8C04 - adds r0, r3, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x20] - ldr r1, _080A8C08 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A8C00: .4byte gUnknown_0202F7C9 -_080A8C04: .4byte gTasks -_080A8C08: .4byte sub_80A8C0C - thumb_func_end sub_80A8B88 - - thumb_func_start sub_80A8C0C -sub_80A8C0C: @ 80A8C0C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080A8C5C - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - ldrb r7, [r4, 0x10] - ldrh r0, [r4, 0xC] - ldrh r1, [r4, 0x1C] - adds r0, r1 - lsls r1, r0, 16 - strh r0, [r4, 0x1C] - lsrs r1, 24 - mov r8, r1 - mov r0, r8 - movs r2, 0xA - ldrsh r1, [r4, r2] - bl Sin - lsls r0, 16 - lsrs r5, r0, 16 - mov r9, r5 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A8C64 - ldr r0, _080A8C60 - lsls r2, r7, 4 - adds r1, r2, r7 - lsls r1, 2 - adds r1, r0 - strh r5, [r1, 0x24] - mov r9, r0 - adds r4, r2, 0 - b _080A8CAA - .align 2, 0 -_080A8C5C: .4byte gTasks -_080A8C60: .4byte gSprites -_080A8C64: - ldrb r0, [r4, 0x12] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _080A8C8C - ldr r1, _080A8C88 - lsls r2, r7, 4 - adds r0, r2, r7 - lsls r0, 2 - adds r3, r0, r1 - lsls r0, r5, 16 - asrs r0, 16 - mov r9, r1 - adds r4, r2, 0 - cmp r0, 0 - bge _080A8CA8 - b _080A8CA6 - .align 2, 0 -_080A8C88: .4byte gSprites -_080A8C8C: - ldr r1, _080A8D2C - lsls r2, r7, 4 - adds r0, r2, r7 - lsls r0, 2 - adds r3, r0, r1 - mov r4, r9 - lsls r0, r4, 16 - asrs r0, 16 - mov r9, r1 - adds r4, r2, 0 - cmp r0, 0 - bge _080A8CA6 - negs r0, r0 -_080A8CA6: - negs r0, r0 -_080A8CA8: - strh r0, [r3, 0x26] -_080A8CAA: - mov r5, r8 - cmp r5, 0x7F - bls _080A8CCC - ldr r1, _080A8D30 - lsls r2, r6, 2 - adds r0, r2, r6 - lsls r0, 3 - adds r3, r0, r1 - movs r5, 0x1E - ldrsh r0, [r3, r5] - adds r5, r1, 0 - cmp r0, 0 - bne _080A8CCC - movs r1, 0x20 - ldrsh r0, [r3, r1] - cmp r0, 0x1 - beq _080A8CEE -_080A8CCC: - mov r2, r8 - cmp r2, 0x7E - bhi _080A8D20 - ldr r1, _080A8D30 - lsls r2, r6, 2 - adds r0, r2, r6 - lsls r0, 3 - adds r3, r0, r1 - movs r5, 0x1E - ldrsh r0, [r3, r5] - adds r5, r1, 0 - cmp r0, 0x1 - bne _080A8D20 - movs r1, 0x20 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080A8D20 -_080A8CEE: - adds r1, r2, r6 - lsls r1, 3 - adds r1, r5 - ldrh r0, [r1, 0x1E] - movs r2, 0x1 - eors r0, r2 - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x20] - eors r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0xE] - subs r0, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - asrs r3, r0, 16 - cmp r3, 0 - bne _080A8D20 - adds r0, r4, r7 - lsls r0, 2 - add r0, r9 - strh r3, [r0, 0x24] - strh r3, [r0, 0x26] - adds r0, r6, 0 - bl move_anim_task_del -_080A8D20: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A8D2C: .4byte gSprites -_080A8D30: .4byte gTasks - thumb_func_end sub_80A8C0C - - thumb_func_start sub_80A8D34 -sub_80A8D34: @ 80A8D34 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, _080A8D80 - ldrb r0, [r6, 0x6] - bl obj_id_for_side_relative_to_move - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldrb r1, [r6, 0x8] - adds r0, r5, 0 - bl sub_8078E70 - ldr r1, _080A8D84 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r6] - strh r1, [r0, 0x8] - ldrh r1, [r6, 0x2] - strh r1, [r0, 0xA] - ldrh r1, [r6, 0x4] - strh r1, [r0, 0xC] - ldrh r1, [r6, 0x4] - strh r1, [r0, 0xE] - strh r5, [r0, 0x10] - movs r1, 0x80 - lsls r1, 1 - strh r1, [r0, 0x1C] - strh r1, [r0, 0x1E] - ldr r1, _080A8D88 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A8D80: .4byte gUnknown_03004B00 -_080A8D84: .4byte gTasks -_080A8D88: .4byte sub_80A8D8C - thumb_func_end sub_80A8D34 - - thumb_func_start sub_80A8D8C -sub_80A8D8C: @ 80A8D8C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _080A8DEC - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - ldrh r1, [r4, 0x1C] - adds r0, r1 - strh r0, [r4, 0x1C] - ldrh r0, [r4, 0xA] - ldrh r3, [r4, 0x1E] - adds r0, r3 - strh r0, [r4, 0x1E] - ldrb r0, [r4, 0x10] - adds r6, r0, 0 - movs r0, 0x1C - ldrsh r1, [r4, r0] - movs r3, 0x1E - ldrsh r2, [r4, r3] - adds r0, r6, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _080A8DFC - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0 - ble _080A8DF0 - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xA] - negs r0, r0 - strh r0, [r4, 0xA] - strh r2, [r4, 0xC] - strh r1, [r4, 0xE] - b _080A8DFC - .align 2, 0 -_080A8DEC: .4byte gTasks -_080A8DF0: - adds r0, r6, 0 - bl sub_8078F40 - adds r0, r5, 0 - bl move_anim_task_del -_080A8DFC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A8D8C - - thumb_func_start sub_80A8E04 -sub_80A8E04: @ 80A8E04 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r4, _080A8E40 - ldrb r0, [r4, 0x4] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r1, 0 - bl sub_8078E70 - ldr r1, _080A8E44 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r2, r0, r1 - movs r1, 0 - strh r1, [r2, 0xA] - ldrh r0, [r4] - strh r0, [r2, 0xC] - movs r3, 0x6 - ldrsh r0, [r4, r3] - cmp r0, 0x1 - beq _080A8E48 - strh r1, [r2, 0xE] - b _080A8E54 - .align 2, 0 -_080A8E40: .4byte gUnknown_03004B00 -_080A8E44: .4byte gTasks -_080A8E48: - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - adds r3, r0, 0 - muls r3, r1 - adds r0, r3, 0 - strh r0, [r2, 0xE] -_080A8E54: - ldr r1, _080A8E80 - lsls r4, r7, 2 - adds r0, r4, r7 - lsls r0, 3 - adds r5, r0, r1 - ldr r6, _080A8E84 - ldrh r0, [r6, 0x2] - strh r0, [r5, 0x10] - mov r0, r8 - strh r0, [r5, 0x12] - ldrh r0, [r6, 0x6] - strh r0, [r5, 0x14] - bl sub_8076BE0 - lsls r0, 24 - mov r8, r4 - cmp r0, 0 - beq _080A8E88 - movs r0, 0x1 - strh r0, [r5, 0x16] - b _080A8EAC - .align 2, 0 -_080A8E80: .4byte gTasks -_080A8E84: .4byte gUnknown_03004B00 -_080A8E88: - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080A8E98 - ldr r0, _080A8E94 - b _080A8E9A - .align 2, 0 -_080A8E94: .4byte gUnknown_0202F7C8 -_080A8E98: - ldr r0, _080A8EF0 -_080A8E9A: - ldrb r0, [r0] - bl battle_side_get_owner - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _080A8EAA - movs r1, 0x1 -_080A8EAA: - strh r1, [r5, 0x16] -_080A8EAC: - ldr r0, _080A8EF4 - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r4, r1, r0 - movs r3, 0x16 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080A8ED8 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080A8ED8 - movs r1, 0xE - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0xE] - movs r2, 0x10 - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0x10] -_080A8ED8: - ldr r0, _080A8EF4 - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, _080A8EF8 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A8EF0: .4byte gUnknown_0202F7C9 -_080A8EF4: .4byte gTasks -_080A8EF8: .4byte sub_80A8FD8 - thumb_func_end sub_80A8E04 - - thumb_func_start sub_80A8EFC -sub_80A8EFC: @ 80A8EFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080A8F38 - ldrb r0, [r4, 0x4] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r1, 0 - bl sub_8078E70 - ldr r1, _080A8F3C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xA] - ldrh r1, [r4] - strh r1, [r0, 0xC] - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A8F44 - ldr r0, _080A8F40 - b _080A8F46 - .align 2, 0 -_080A8F38: .4byte gUnknown_03004B00 -_080A8F3C: .4byte gTasks -_080A8F40: .4byte gUnknown_0202F7C8 -_080A8F44: - ldr r0, _080A8F74 -_080A8F46: - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _080A8F58 - ldrh r0, [r4, 0x2] - negs r0, r0 - strh r0, [r4, 0x2] -_080A8F58: - ldr r0, _080A8F78 - movs r2, 0x6 - ldrsh r1, [r0, r2] - adds r6, r0, 0 - cmp r1, 0x1 - beq _080A8F80 - ldr r2, _080A8F7C - lsls r3, r5, 2 - adds r0, r3, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0xE] - b _080A8F9A - .align 2, 0 -_080A8F74: .4byte gUnknown_0202F7C9 -_080A8F78: .4byte gUnknown_03004B00 -_080A8F7C: .4byte gTasks -_080A8F80: - ldr r3, _080A8FD0 - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 3 - adds r0, r3 - ldrh r2, [r6] - ldrh r1, [r6, 0x2] - adds r7, r2, 0 - muls r7, r1 - adds r1, r7, 0 - strh r1, [r0, 0xE] - adds r2, r3, 0 - adds r3, r4, 0 -_080A8F9A: - adds r1, r3, r5 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r6, 0x2] - strh r0, [r1, 0x10] - mov r0, r8 - strh r0, [r1, 0x12] - ldrh r0, [r6, 0x6] - strh r0, [r1, 0x14] - movs r0, 0x1 - strh r0, [r1, 0x16] - movs r2, 0xE - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0xE] - movs r7, 0x10 - ldrsh r0, [r1, r7] - negs r0, r0 - strh r0, [r1, 0x10] - ldr r0, _080A8FD4 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A8FD0: .4byte gTasks -_080A8FD4: .4byte sub_80A8FD8 - thumb_func_end sub_80A8EFC - - thumb_func_start sub_80A8FD8 -sub_80A8FD8: @ 80A8FD8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080A9030 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0xE] - adds r0, r1 - strh r0, [r4, 0xE] - ldrb r0, [r4, 0x12] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0xE] - adds r1, r2, 0 - bl obj_id_set_rotscale - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080A900C - ldrb r0, [r4, 0x12] - bl sub_8078F9C -_080A900C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xC - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _080A9052 - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080A9034 - cmp r0, 0x1 - ble _080A903A - cmp r0, 0x2 - beq _080A9042 - b _080A903A - .align 2, 0 -_080A9030: .4byte gTasks -_080A9034: - ldrb r0, [r4, 0x12] - bl sub_8078F40 -_080A903A: - adds r0, r5, 0 - bl move_anim_task_del - b _080A9052 -_080A9042: - movs r0, 0 - strh r0, [r4, 0xA] - movs r2, 0x10 - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0x10] - movs r0, 0x1 - strh r0, [r4, 0x14] -_080A9052: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A8FD8 - - thumb_func_start sub_80A9058 -sub_80A9058: @ 80A9058 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _080A9084 - movs r2, 0 - ldrsh r1, [r0, r2] - mov r8, r0 - cmp r1, 0 - bne _080A9090 - ldr r4, _080A9088 - lsls r5, r7, 2 - adds r0, r5, r7 - lsls r0, 3 - adds r6, r0, r4 - ldr r0, _080A908C - ldrh r0, [r0] - movs r1, 0xC - bl __udivsi3 - b _080A90A4 - .align 2, 0 -_080A9084: .4byte gUnknown_03004B00 -_080A9088: .4byte gTasks -_080A908C: .4byte gUnknown_0202F7BC -_080A9090: - ldr r4, _080A912C - lsls r5, r7, 2 - adds r0, r5, r7 - lsls r0, 3 - adds r6, r0, r4 - ldr r0, _080A9130 - ldr r0, [r0] - movs r1, 0xC - bl __divsi3 -_080A90A4: - strh r0, [r6, 0x26] - lsls r0, 16 - adds r1, r4, 0 - cmp r0, 0 - bgt _080A90B2 - movs r0, 0x1 - strh r0, [r6, 0x26] -_080A90B2: - movs r2, 0x26 - ldrsh r0, [r6, r2] - cmp r0, 0x10 - ble _080A90BE - movs r0, 0x10 - strh r0, [r6, 0x26] -_080A90BE: - adds r4, r5, r7 - lsls r4, 3 - adds r4, r1 - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - movs r5, 0 - strh r1, [r4, 0x24] - ldrh r2, [r4, 0x26] - movs r0, 0x1 - ands r0, r2 - adds r1, r0 - strh r1, [r4, 0x22] - strh r5, [r4, 0x20] - mov r1, r8 - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x1C] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x1E] - movs r0, 0x1 - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x16] - ldr r2, _080A9134 - movs r0, 0x16 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x24] - strh r0, [r4, 0x18] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x26] - strh r0, [r4, 0x1A] - strh r5, [r4, 0x8] - mov r1, r8 - ldrh r0, [r1, 0x2] - strh r0, [r4, 0xA] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0xC] - ldr r0, _080A9138 - str r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A912C: .4byte gTasks -_080A9130: .4byte gUnknown_0202F7B8 -_080A9134: .4byte gSprites -_080A9138: .4byte sub_80A913C - thumb_func_end sub_80A9058 - - thumb_func_start sub_80A913C -sub_80A913C: @ 80A913C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080A9190 - adds r3, r0, r1 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xA - ldrsh r1, [r3, r2] - cmp r0, r1 - ble _080A921A - movs r0, 0 - strh r0, [r3, 0x8] - ldrh r0, [r3, 0x20] - adds r1, r0, 0x1 - movs r0, 0x1 - ands r1, r0 - strh r1, [r3, 0x20] - movs r2, 0x1C - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _080A91AE - cmp r1, 0 - beq _080A9198 - ldr r2, _080A9194 - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x22] - ldrh r2, [r3, 0x18] - adds r1, r2 - b _080A91AC - .align 2, 0 -_080A9190: .4byte gTasks -_080A9194: .4byte gSprites -_080A9198: - ldr r2, _080A91D4 - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x18] - ldrh r2, [r3, 0x24] - subs r1, r2 -_080A91AC: - strh r1, [r0, 0x24] -_080A91AE: - movs r1, 0x1E - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _080A91E8 - movs r2, 0x20 - ldrsh r4, [r3, r2] - cmp r4, 0 - beq _080A91D8 - ldr r2, _080A91D4 - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x26] - strh r1, [r0, 0x26] - b _080A91E8 - .align 2, 0 -_080A91D4: .4byte gSprites -_080A91D8: - ldr r2, _080A9220 - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r4, [r0, 0x26] -_080A91E8: - ldrh r0, [r3, 0xC] - subs r0, 0x1 - strh r0, [r3, 0xC] - lsls r0, 16 - asrs r4, r0, 16 - cmp r4, 0 - bne _080A921A - ldr r2, _080A9220 - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r4, [r0, 0x24] - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r4, [r0, 0x26] - adds r0, r5, 0 - bl move_anim_task_del -_080A921A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A9220: .4byte gSprites - thumb_func_end sub_80A913C - - thumb_func_start itemid_copy_name -itemid_copy_name: @ 80A9224 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _080A924C - movs r0, 0x2B - bl GetBerryInfo - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r1, _080A9248 - adds r0, r4, 0 - bl StringAppend - b _080A9258 - .align 2, 0 -_080A9248: .4byte gOtherText_Berry2 -_080A924C: - bl itemid_get_item - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy -_080A9258: - pop {r4} - pop {r0} - bx r0 - thumb_func_end itemid_copy_name - - thumb_func_start unref_sub_80A9260 -unref_sub_80A9260: @ 80A9260 - push {lr} - lsls r0, 24 - movs r2, 0 - ldr r1, _080A9284 - lsrs r0, 21 - adds r0, r1 - ldrb r1, [r0, 0x4] - cmp r2, r1 - bcs _080A9292 - ldr r3, [r0] -_080A9274: - lsls r0, r2, 2 - adds r0, r3 - ldrh r0, [r0] - cmp r0, 0 - bne _080A9288 - lsls r0, r2, 24 - asrs r0, 24 - b _080A9296 - .align 2, 0 -_080A9284: .4byte gUnknown_083C1618 -_080A9288: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r1 - bcc _080A9274 -_080A9292: - movs r0, 0x1 - negs r0, r0 -_080A9296: - pop {r1} - bx r1 - thumb_func_end unref_sub_80A9260 - - thumb_func_start IsBagPocketNonEmpty -IsBagPocketNonEmpty: @ 80A929C - push {lr} - lsls r0, 24 - movs r2, 0 - ldr r1, _080A92C0 - lsrs r0, 21 - subs r0, 0x8 - adds r0, r1 - ldrb r1, [r0, 0x4] - cmp r2, r1 - bcs _080A92CE - ldr r3, [r0] -_080A92B2: - lsls r0, r2, 2 - adds r0, r3 - ldrh r0, [r0] - cmp r0, 0 - beq _080A92C4 - movs r0, 0x1 - b _080A92D0 - .align 2, 0 -_080A92C0: .4byte gUnknown_083C1618 -_080A92C4: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r1 - bcc _080A92B2 -_080A92CE: - movs r0, 0 -_080A92D0: - pop {r1} - bx r1 - thumb_func_end IsBagPocketNonEmpty - - thumb_func_start sub_80A92D4 -sub_80A92D4: @ 80A92D4 - push {r4-r7,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - adds r0, r5, 0 - bl itemid_get_pocket_number - lsls r0, 24 - cmp r0, 0 - bne _080A92F0 - b _080A9336 -_080A92EC: - movs r0, 0x1 - b _080A9338 -_080A92F0: - adds r0, r5, 0 - bl itemid_get_pocket_number - subs r0, 0x1 - lsls r0, 24 - movs r3, 0 - ldr r6, _080A9340 - lsrs r2, r0, 21 - adds r0, r2, r6 - ldrb r0, [r0, 0x4] - cmp r3, r0 - bcs _080A9336 - adds r7, r6, 0 -_080A930A: - adds r0, r2, r7 - ldr r1, [r0] - lsls r0, r3, 2 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, r5 - bne _080A9328 - ldrh r0, [r1, 0x2] - cmp r0, r4 - bcs _080A92EC - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080A92EC -_080A9328: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r2, r6 - ldrb r0, [r0, 0x4] - cmp r3, r0 - bcc _080A930A -_080A9336: - movs r0, 0 -_080A9338: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080A9340: .4byte gUnknown_083C1618 - thumb_func_end sub_80A92D4 - - thumb_func_start sub_80A9344 -sub_80A9344: @ 80A9344 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - adds r0, r6, 0 - bl itemid_get_pocket_number - lsls r0, 24 - cmp r0, 0 - beq _080A9408 - adds r0, r6, 0 - bl itemid_get_pocket_number - subs r0, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r5, _080A940C - cmp r1, 0x3 - beq _080A9376 - movs r5, 0x63 -_080A9376: - movs r3, 0 - ldr r0, _080A9410 - mov r8, r0 - lsls r2, r1, 3 - adds r0, r2, r0 - mov r12, r8 - mov r9, r2 - ldrb r0, [r0, 0x4] - cmp r3, r0 - bcs _080A93CA - mov r10, r12 - subs r0, r1, 0x2 - lsls r0, 24 - lsrs r7, r0, 24 -_080A9392: - mov r1, r10 - adds r0, r2, r1 - ldr r1, [r0] - lsls r0, r3, 2 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, r6 - bne _080A93BA - ldrh r1, [r1, 0x2] - adds r0, r1, r4 - cmp r0, r5 - ble _080A9414 - cmp r7, 0x1 - bls _080A9408 - subs r0, r5, r1 - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080A9414 -_080A93BA: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - mov r1, r8 - adds r0, r2, r1 - ldrb r0, [r0, 0x4] - cmp r3, r0 - bcc _080A9392 -_080A93CA: - cmp r4, 0 - beq _080A9414 - movs r3, 0 - mov r6, r12 - mov r2, r9 - adds r0, r2, r6 - ldrb r0, [r0, 0x4] - cmp r3, r0 - bcs _080A9404 - adds r7, r6, 0 -_080A93DE: - adds r0, r2, r7 - ldr r1, [r0] - lsls r0, r3, 2 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _080A93F6 - cmp r4, r5 - bls _080A9414 - subs r0, r4, r5 - lsls r0, 16 - lsrs r4, r0, 16 -_080A93F6: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r2, r6 - ldrb r0, [r0, 0x4] - cmp r3, r0 - bcc _080A93DE -_080A9404: - cmp r4, 0 - beq _080A9414 -_080A9408: - movs r0, 0 - b _080A9416 - .align 2, 0 -_080A940C: .4byte 0x000003e7 -_080A9410: .4byte gUnknown_083C1618 -_080A9414: - movs r0, 0x1 -_080A9416: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A9344 - - thumb_func_start sub_80A9424 -sub_80A9424: @ 80A9424 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x100 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r1, 16 - lsrs r4, r1, 16 - bl itemid_get_pocket_number - lsls r0, 24 - cmp r0, 0 - beq _080A9510 - mov r0, r8 - bl itemid_get_pocket_number - subs r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080A94F8 - lsls r0, r6, 3 - adds r5, r0, r1 - ldr r1, [r5] - ldrb r2, [r5, 0x4] - lsls r2, 2 - mov r0, sp - bl memcpy - ldr r7, _080A94FC - cmp r6, 0x3 - beq _080A9468 - movs r7, 0x63 -_080A9468: - movs r1, 0 - ldrb r0, [r5, 0x4] - cmp r1, r0 - bcs _080A94B2 - subs r0, r6, 0x2 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 -_080A9478: - lsls r0, r1, 2 - mov r2, sp - adds r3, r2, r0 - ldrh r0, [r3] - cmp r0, r8 - bne _080A94A6 - ldrh r2, [r3, 0x2] - adds r0, r2, r4 - cmp r0, r7 - ble _080A9500 - mov r0, r12 - cmp r0, 0x1 - bls _080A9510 - subs r0, r7, r2 - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - strh r7, [r3, 0x2] - ldr r2, _080A94F8 - mov r9, r2 - lsls r3, r6, 3 - cmp r4, 0 - beq _080A9516 -_080A94A6: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - ldrb r0, [r5, 0x4] - cmp r1, r0 - bcc _080A9478 -_080A94B2: - ldr r2, _080A94F8 - mov r9, r2 - lsls r3, r6, 3 - cmp r4, 0 - beq _080A9516 - movs r1, 0 - adds r0, r3, r2 - ldrb r0, [r0, 0x4] - cmp r1, r0 - bcs _080A94F2 - mov r6, r9 - adds r5, r3, r6 -_080A94CA: - lsls r0, r1, 2 - mov r6, sp - adds r2, r6, r0 - ldrh r0, [r2] - cmp r0, 0 - bne _080A94E6 - mov r0, r8 - strh r0, [r2] - cmp r4, r7 - bls _080A9514 - subs r0, r4, r7 - lsls r0, 16 - lsrs r4, r0, 16 - strh r7, [r2, 0x2] -_080A94E6: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - ldrb r2, [r5, 0x4] - cmp r1, r2 - bcc _080A94CA -_080A94F2: - cmp r4, 0 - beq _080A9516 - b _080A9510 - .align 2, 0 -_080A94F8: .4byte gUnknown_083C1618 -_080A94FC: .4byte 0x000003e7 -_080A9500: - strh r0, [r3, 0x2] - ldr r0, _080A950C - lsls r1, r6, 3 - adds r1, r0 - b _080A951A - .align 2, 0 -_080A950C: .4byte gUnknown_083C1618 -_080A9510: - movs r0, 0 - b _080A9528 -_080A9514: - strh r4, [r2, 0x2] -_080A9516: - mov r6, r9 - adds r1, r3, r6 -_080A951A: - ldr r0, [r1] - ldrb r2, [r1, 0x4] - lsls r2, 2 - mov r1, sp - bl memcpy - movs r0, 0x1 -_080A9528: - add sp, 0x100 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A9424 - - thumb_func_start sub_80A9538 -sub_80A9538: @ 80A9538 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - movs r7, 0 - adds r0, r6, 0 - bl itemid_get_pocket_number - lsls r0, 24 - cmp r0, 0 - beq _080A959E - cmp r6, 0 - beq _080A959E - adds r0, r6, 0 - bl itemid_get_pocket_number - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - movs r5, 0 - ldr r1, _080A95A4 - lsls r2, r0, 3 - adds r0, r2, r1 - ldrb r0, [r0, 0x4] - cmp r5, r0 - bcs _080A959A - mov r8, r1 -_080A9576: - mov r0, r8 - adds r3, r2, r0 - ldr r0, [r3] - lsls r1, r5, 2 - adds r1, r0 - ldrh r0, [r1] - cmp r0, r6 - bne _080A958E - ldrh r0, [r1, 0x2] - adds r0, r7, r0 - lsls r0, 16 - lsrs r7, r0, 16 -_080A958E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r3, [r3, 0x4] - cmp r5, r3 - bcc _080A9576 -_080A959A: - cmp r7, r4 - bcs _080A95A8 -_080A959E: - movs r0, 0 - b _080A9664 - .align 2, 0 -_080A95A4: .4byte gUnknown_083C1618 -_080A95A8: - ldr r0, _080A95DC - mov r2, r12 - lsls r1, r2, 3 - adds r5, r1, r0 - ldr r2, _080A95E0 - ldrb r3, [r5, 0x4] - mov r8, r0 - adds r7, r1, 0 - ldrb r0, [r2] - cmp r3, r0 - bls _080A9606 - ldrb r0, [r2] - ldr r1, [r5] - lsls r0, 2 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, r6 - bne _080A9606 - ldrh r0, [r1, 0x2] - cmp r0, r4 - bcc _080A95E4 - subs r0, r4 - strh r0, [r1, 0x2] - movs r4, 0 - b _080A95EE - .align 2, 0 -_080A95DC: .4byte gUnknown_083C1618 -_080A95E0: .4byte gUnknown_02038560 -_080A95E4: - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0 - strh r0, [r1, 0x2] -_080A95EE: - mov r1, r8 - adds r0, r7, r1 - ldrb r1, [r2] - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A9602 - strh r0, [r1] -_080A9602: - cmp r4, 0 - beq _080A9662 -_080A9606: - movs r5, 0 - adds r1, r7, 0 - mov r2, r8 - adds r0, r1, r2 - ldrb r2, [r0, 0x4] - cmp r5, r2 - bcs _080A9662 - mov r12, r8 - adds r3, r0, 0 -_080A9618: - mov r2, r12 - adds r0, r1, r2 - ldr r0, [r0] - lsls r1, r5, 2 - adds r2, r1, r0 - ldrh r0, [r2] - cmp r0, r6 - bne _080A9650 - ldrh r0, [r2, 0x2] - cmp r0, r4 - bcc _080A9636 - subs r0, r4 - strh r0, [r2, 0x2] - movs r4, 0 - b _080A9640 -_080A9636: - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0 - strh r0, [r2, 0x2] -_080A9640: - ldr r0, [r3] - adds r1, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A964C - strh r0, [r1] -_080A964C: - cmp r4, 0 - beq _080A9662 -_080A9650: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r1, r7, 0 - mov r2, r8 - adds r0, r1, r2 - ldrb r0, [r0, 0x4] - cmp r5, r0 - bcc _080A9618 -_080A9662: - movs r0, 0x1 -_080A9664: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A9538 - - thumb_func_start sub_80A9670 -sub_80A9670: @ 80A9670 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_pocket_number - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80A9670 - - thumb_func_start sub_80A9684 -sub_80A9684: @ 80A9684 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - movs r2, 0 - lsrs r1, 24 - cmp r2, r1 - bcs _080A96A6 - movs r3, 0 -_080A9694: - lsls r0, r2, 2 - adds r0, r4 - strh r3, [r0] - strh r3, [r0, 0x2] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r1 - bcc _080A9694 -_080A96A6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A9684 - - thumb_func_start sub_80A96AC -sub_80A96AC: @ 80A96AC - push {lr} - movs r1, 0 - ldr r3, _080A96CC - movs r2, 0x93 - lsls r2, 3 -_080A96B6: - lsls r0, r1, 24 - asrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r3 - adds r0, r2 - ldrh r0, [r0] - cmp r0, 0 - bne _080A96D0 - adds r0, r1, 0 - b _080A96E0 - .align 2, 0 -_080A96CC: .4byte gSaveBlock1 -_080A96D0: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - asrs r0, 24 - cmp r0, 0x31 - ble _080A96B6 - movs r0, 0x1 - negs r0, r0 -_080A96E0: - pop {r1} - bx r1 - thumb_func_end sub_80A96AC - - thumb_func_start sub_80A96E4 -sub_80A96E4: @ 80A96E4 - push {r4,lr} - movs r2, 0 - movs r1, 0 - ldr r4, _080A9714 - movs r3, 0x93 - lsls r3, 3 -_080A96F0: - lsls r0, r1, 2 - adds r0, r4 - adds r0, r3 - ldrh r0, [r0] - cmp r0, 0 - beq _080A9702 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_080A9702: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x31 - bls _080A96F0 - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9714: .4byte gSaveBlock1 - thumb_func_end sub_80A96E4 - - thumb_func_start sub_80A9718 -sub_80A9718: @ 80A9718 - push {r4-r7,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r1, 16 - movs r3, 0 - ldr r7, _080A9744 - movs r6, 0x93 - lsls r6, 3 - ldr r5, _080A9748 -_080A972C: - lsls r0, r3, 2 - adds r2, r0, r7 - adds r0, r2, r6 - ldrh r0, [r0] - cmp r0, r4 - bne _080A974C - adds r0, r2, r5 - ldrh r0, [r0] - cmp r0, r1 - bcc _080A974C - movs r0, 0x1 - b _080A9758 - .align 2, 0 -_080A9744: .4byte gSaveBlock1 -_080A9748: .4byte 0x0000049a -_080A974C: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x31 - bls _080A972C - movs r0, 0 -_080A9758: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A9718 - - thumb_func_start sub_80A9760 -sub_80A9760: @ 80A9760 - push {r4-r7,lr} - sub sp, 0xC8 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r1, _080A97C4 - mov r0, sp - movs r2, 0xC8 - bl memcpy - movs r5, 0 - ldr r0, _080A97C8 - adds r7, r0, 0 -_080A977C: - lsls r0, r5, 2 - mov r1, sp - adds r2, r1, r0 - ldrh r0, [r2] - cmp r0, r6 - bne _080A97A0 - ldrh r1, [r2, 0x2] - adds r0, r1, r4 - ldr r3, _080A97CC - cmp r0, r3 - ble _080A97D0 - adds r0, r4, r7 - adds r0, r1, r0 - lsls r0, 16 - lsrs r4, r0, 16 - strh r3, [r2, 0x2] - cmp r4, 0 - beq _080A97DC -_080A97A0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x31 - bls _080A977C - cmp r4, 0 - beq _080A97DC - bl sub_80A96AC - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A97D4 - movs r0, 0 - b _080A97E8 - .align 2, 0 -_080A97C4: .4byte gSaveBlock1 + 0x498 -_080A97C8: .4byte 0x0000fc19 -_080A97CC: .4byte 0x000003e7 -_080A97D0: - strh r0, [r2, 0x2] - b _080A97DC -_080A97D4: - lsls r0, r1, 2 - add r0, sp - strh r6, [r0] - strh r4, [r0, 0x2] -_080A97DC: - ldr r0, _080A97F0 - mov r1, sp - movs r2, 0xC8 - bl memcpy - movs r0, 0x1 -_080A97E8: - add sp, 0xC8 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080A97F0: .4byte gSaveBlock1 + 0x498 - thumb_func_end sub_80A9760 - - thumb_func_start sub_80A97F4 -sub_80A97F4: @ 80A97F4 - push {lr} - lsls r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r2, _080A9824 - lsrs r0, 22 - adds r3, r0, r2 - ldr r0, _080A9828 - adds r2, r3, r0 - ldrh r0, [r2] - subs r0, r1 - strh r0, [r2] - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _080A9820 - movs r2, 0x93 - lsls r2, 3 - adds r0, r3, r2 - strh r1, [r0] - bl sub_80A982C -_080A9820: - pop {r0} - bx r0 - .align 2, 0 -_080A9824: .4byte gSaveBlock1 -_080A9828: .4byte 0x0000049a - thumb_func_end sub_80A97F4 - - thumb_func_start sub_80A982C -sub_80A982C: @ 80A982C - push {r4-r7,lr} - movs r2, 0 - ldr r0, _080A987C - mov r12, r0 -_080A9834: - adds r1, r2, 0x1 - lsls r0, r1, 16 - lsrs r3, r0, 16 - adds r7, r1, 0 - cmp r3, 0x31 - bhi _080A986C - lsls r1, r2, 2 - mov r2, r12 - adds r0, r1, r2 - movs r2, 0x93 - lsls r2, 3 - adds r5, r0, r2 - ldr r6, _080A9880 - adds r4, r1, r6 -_080A9850: - ldrh r0, [r5] - cmp r0, 0 - bne _080A9862 - ldr r2, [r4] - lsls r1, r3, 2 - adds r1, r6 - ldr r0, [r1] - str r0, [r4] - str r2, [r1] -_080A9862: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x31 - bls _080A9850 -_080A986C: - lsls r0, r7, 16 - lsrs r2, r0, 16 - cmp r2, 0x30 - bls _080A9834 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A987C: .4byte gSaveBlock1 -_080A9880: .4byte gSaveBlock1 + 0x498 - thumb_func_end sub_80A982C - - thumb_func_start sub_80A9884 -sub_80A9884: @ 80A9884 - push {lr} - ldr r0, _080A98A0 - ldr r1, _080A98A4 - adds r2, r0, r1 - ldrh r1, [r2] - ldr r3, _080A98A8 - cmp r1, r3 - beq _080A98AC - movs r0, 0x88 - lsls r0, 1 - cmp r1, r0 - beq _080A98B4 - b _080A98B6 - .align 2, 0 -_080A98A0: .4byte gSaveBlock1 -_080A98A4: .4byte 0x00000496 -_080A98A8: .4byte 0x00000103 -_080A98AC: - movs r0, 0x88 - lsls r0, 1 - strh r0, [r2] - b _080A98B6 -_080A98B4: - strh r3, [r2] -_080A98B6: - pop {r0} - bx r0 - thumb_func_end sub_80A9884 - - thumb_func_start itemid_sanitize -itemid_sanitize: @ 80A98BC - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0xAE - lsls r0, 1 - cmp r1, r0 - bhi _080A98CE - adds r0, r1, 0 - b _080A98D0 -_080A98CE: - movs r0, 0 -_080A98D0: - pop {r1} - bx r1 - thumb_func_end itemid_sanitize - - thumb_func_start itemid_get_item -itemid_get_item: @ 80A98D4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - ldr r1, _080A98F0 - adds r0, r1 - pop {r1} - bx r1 - .align 2, 0 -_080A98F0: .4byte gItems - thumb_func_end itemid_get_item - - thumb_func_start itemid_get_number -itemid_get_number: @ 80A98F4 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9914 - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrh r0, [r0, 0xE] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9914: .4byte gItems - thumb_func_end itemid_get_number - - thumb_func_start itemid_get_market_price -itemid_get_market_price: @ 80A9918 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9938 - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrh r0, [r0, 0x10] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9938: .4byte gItems - thumb_func_end itemid_get_market_price - - thumb_func_start itemid_get_x12 -itemid_get_x12: @ 80A993C - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A995C - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x12] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A995C: .4byte gItems - thumb_func_end itemid_get_x12 - - thumb_func_start itemid_get_quality -itemid_get_quality: @ 80A9960 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9980 - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x13] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9980: .4byte gItems - thumb_func_end itemid_get_quality - - thumb_func_start itemid_get_description -itemid_get_description: @ 80A9984 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A99A4 - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r4, 0x14 - adds r0, r4 - ldr r0, [r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A99A4: .4byte gItems - thumb_func_end itemid_get_description - - thumb_func_start sub_80A99A8 -sub_80A99A8: @ 80A99A8 - push {r4-r6,lr} - adds r6, r0, 0 - adds r0, r1, 0 - adds r5, r2, 0x1 - ldr r4, _080A99E4 - lsls r0, 16 - lsrs r0, 16 - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r4, 0x14 - adds r0, r4 - ldr r3, [r0] - adds r2, r6, 0 -_080A99CA: - ldrb r1, [r3] - adds r0, r1, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080A99FA - subs r5, 0x1 - cmp r5, 0 - bne _080A99E8 - movs r0, 0xFF - strb r0, [r2] - movs r0, 0x1 - b _080A9A02 - .align 2, 0 -_080A99E4: .4byte gItems -_080A99E8: - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _080A99F4 - movs r0, 0 - b _080A9A02 -_080A99F4: - adds r2, r6, 0 - adds r3, 0x1 - b _080A99CA -_080A99FA: - strb r1, [r2] - adds r3, 0x1 - adds r2, 0x1 - b _080A99CA -_080A9A02: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80A99A8 - - thumb_func_start itemid_is_unique -itemid_is_unique: @ 80A9A08 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9A28 - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x18] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9A28: .4byte gItems - thumb_func_end itemid_is_unique - - thumb_func_start itemid_get_x19 -itemid_get_x19: @ 80A9A2C - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9A4C - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x19] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9A4C: .4byte gItems - thumb_func_end itemid_get_x19 - - thumb_func_start itemid_get_pocket_number -itemid_get_pocket_number: @ 80A9A50 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9A70 - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x1A] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9A70: .4byte gItems - thumb_func_end itemid_get_pocket_number - - thumb_func_start itemid_get_type -itemid_get_type: @ 80A9A74 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9A94 - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x1B] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9A94: .4byte gItems - thumb_func_end itemid_get_type - - thumb_func_start itemid_get_overworld_function -itemid_get_overworld_function: @ 80A9A98 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9AB8 - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r4, 0x1C - adds r0, r4 - ldr r0, [r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9AB8: .4byte gItems - thumb_func_end itemid_get_overworld_function - - thumb_func_start itemid_get_usage -itemid_get_usage: @ 80A9ABC - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9ADC - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - adds r0, 0x20 - ldrb r0, [r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9ADC: .4byte gItems - thumb_func_end itemid_get_usage - - thumb_func_start itemid_get_battle_function -itemid_get_battle_function: @ 80A9AE0 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9B00 - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r4, 0x24 - adds r0, r4 - ldr r0, [r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9B00: .4byte gItems - thumb_func_end itemid_get_battle_function - - thumb_func_start itemid_get_x28 -itemid_get_x28: @ 80A9B04 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9B24 - bl itemid_sanitize - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - adds r0, 0x28 - ldrb r0, [r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9B24: .4byte gItems - thumb_func_end itemid_get_x28 - - thumb_func_start unref_sub_80A9B28 -unref_sub_80A9B28: @ 80A9B28 - push {lr} - sub sp, 0x8 - bl MenuZeroFillScreen - movs r0, 0 - movs r1, 0 - movs r2, 0x11 - movs r3, 0x12 - bl MenuDrawTextWindow - ldr r3, _080A9B6C - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x7 - bl PrintMenuItems - movs r0, 0 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x7 - bl InitMenu - ldr r1, _080A9B70 - ldr r0, _080A9B74 - str r0, [r1] - movs r0, 0 - add sp, 0x8 - pop {r1} - bx r1 - .align 2, 0 -_080A9B6C: .4byte gUnknown_083C91F0 -_080A9B70: .4byte gCallback_03004AE8 -_080A9B74: .4byte sub_80A9B78 - thumb_func_end unref_sub_80A9B28 - - thumb_func_start sub_80A9B78 -sub_80A9B78: @ 80A9B78 - push {lr} - bl ProcessMenuInput - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - bne _080A9B8E - movs r0, 0 - b _080A9BB6 -_080A9B8E: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A9BB0 - ldr r2, _080A9BA8 - ldr r0, _080A9BAC - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - str r0, [r2] - movs r0, 0 - b _080A9BB6 - .align 2, 0 -_080A9BA8: .4byte gCallback_03004AE8 -_080A9BAC: .4byte gUnknown_083C91F0 -_080A9BB0: - bl sub_8071C20 - movs r0, 0x1 -_080A9BB6: - pop {r1} - bx r1 - thumb_func_end sub_80A9B78 - - thumb_func_start sub_80A9BBC -sub_80A9BBC: @ 80A9BBC - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080A9BE0 - movs r1, 0xFF - bl CreateTask - movs r0, 0x1 - add sp, 0x4 - pop {r1} - bx r1 - .align 2, 0 -_080A9BE0: .4byte sub_80A9BE4 - thumb_func_end sub_80A9BBC - - thumb_func_start sub_80A9BE4 -sub_80A9BE4: @ 80A9BE4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080A9C14 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080A9C10 - adds r0, r2, 0 - bl DestroyTask - ldr r0, _080A9C18 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A9C0C - bl sub_80AF668 -_080A9C0C: - bl sub_80C2358 -_080A9C10: - pop {r0} - bx r0 - .align 2, 0 -_080A9C14: .4byte gPaletteFade -_080A9C18: .4byte gUnknown_0203869A - thumb_func_end sub_80A9BE4 - - thumb_func_start sub_80A9C1C -sub_80A9C1C: @ 80A9C1C - push {lr} - ldr r1, _080A9C30 - movs r0, 0 - strb r0, [r1] - bl sub_80AA10C - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A9C30: .4byte gUnknown_0203869A - thumb_func_end sub_80A9C1C - - thumb_func_start sub_80A9C34 -sub_80A9C34: @ 80A9C34 - push {lr} - bl sub_80AA10C - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80A9C34 - - thumb_func_start sub_80A9C40 -sub_80A9C40: @ 80A9C40 - push {r4,r5,lr} - ldr r5, _080A9C88 - adds r0, r5, 0 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _080A9C8C - adds r0, r4, 0 - adds r1, r5, 0 - bl SetTaskFuncWithFollowupFunc - ldr r0, _080A9C90 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A9C94 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x1C] - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - strh r0, [r1, 0x1C] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080A9C88: .4byte sub_80A9E3C -_080A9C8C: .4byte sub_80A9C98 -_080A9C90: .4byte sub_80A9E04 -_080A9C94: .4byte gTasks - thumb_func_end sub_80A9C40 - - thumb_func_start sub_80A9C98 -sub_80A9C98: @ 80A9C98 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80AE098 - ldr r1, _080A9CB8 - ldr r2, _080A9CBC - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9CB8: .4byte sub_80C8734 -_080A9CBC: .4byte sub_80A9CC0 - thumb_func_end sub_80A9C98 - - thumb_func_start sub_80A9CC0 -sub_80A9CC0: @ 80A9CC0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A9CD4 - ldr r2, _080A9CD8 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080A9CD4: .4byte sub_80C88AC -_080A9CD8: .4byte sub_80A9CDC - thumb_func_end sub_80A9CC0 - - thumb_func_start sub_80A9CDC -sub_80A9CDC: @ 80A9CDC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A9CF0 - ldr r2, _080A9CF4 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080A9CF0: .4byte sub_80C8E1C -_080A9CF4: .4byte sub_80A9D58 - thumb_func_end sub_80A9CDC - - thumb_func_start sub_80A9CF8 -sub_80A9CF8: @ 80A9CF8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A9D28 - ldrb r0, [r0] - cmp r0, 0 - bne _080A9D20 - ldr r0, _080A9D2C - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x1C] - bl DestroyTask - adds r0, r4, 0 - bl DestroyTask - bl sub_8071C20 -_080A9D20: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9D28: .4byte gReceivedRemoteLinkPlayers -_080A9D2C: .4byte gTasks - thumb_func_end sub_80A9CF8 - - thumb_func_start sub_80A9D30 -sub_80A9D30: @ 80A9D30 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_800832C - ldr r1, _080A9D50 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A9D54 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9D50: .4byte gTasks -_080A9D54: .4byte sub_80A9CF8 - thumb_func_end sub_80A9D30 - - thumb_func_start sub_80A9D58 -sub_80A9D58: @ 80A9D58 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r3, 0 - ldr r1, _080A9DA8 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, 0x12 - adds r2, r0, r1 -_080A9D6E: - mov r0, sp - adds r1, r0, r3 - ldrh r0, [r2] - strb r0, [r1] - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x3 - ble _080A9D6E - mov r0, sp - bl sub_80C4B34 - ldr r1, _080A9DAC - strb r0, [r1] - ldr r0, _080A9DB0 - ldrb r0, [r0] - bl sub_80AE82C - movs r0, 0 - bl sub_80B0F28 - ldr r1, _080A9DB4 - ldr r2, _080A9DB8 - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9DA8: .4byte gTasks -_080A9DAC: .4byte gUnknown_0203869B -_080A9DB0: .4byte gUnknown_0203869C -_080A9DB4: .4byte sub_80C8EBC -_080A9DB8: .4byte sub_80A9DBC - thumb_func_end sub_80A9D58 - - thumb_func_start sub_80A9DBC -sub_80A9DBC: @ 80A9DBC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A9DD0 - ldr r2, _080A9DD4 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080A9DD0: .4byte sub_80C8F34 -_080A9DD4: .4byte sub_80A9DD8 - thumb_func_end sub_80A9DBC - - thumb_func_start sub_80A9DD8 -sub_80A9DD8: @ 80A9DD8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080A9E00 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1C] - bl DestroyTask - adds r0, r4, 0 - bl DestroyTask - bl sub_8071C20 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9E00: .4byte gTasks - thumb_func_end sub_80A9DD8 - - thumb_func_start sub_80A9E04 -sub_80A9E04: @ 80A9E04 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080A9E30 - ldrh r0, [r0, 0x2E] - cmp r0, 0x2 - bne _080A9E2A - ldr r2, _080A9E34 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r1, [r0, 0x1C] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _080A9E38 - str r1, [r0] -_080A9E2A: - pop {r0} - bx r0 - .align 2, 0 -_080A9E30: .4byte gMain -_080A9E34: .4byte gTasks -_080A9E38: .4byte sub_80A9D30 - thumb_func_end sub_80A9E04 - - thumb_func_start sub_80A9E3C -sub_80A9E3C: @ 80A9E3C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl OpenLink - movs r1, 0 - ldr r3, _080A9E74 - movs r2, 0xFF -_080A9E4C: - lsls r0, r1, 8 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _080A9E4C - ldr r1, _080A9E78 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, _080A9E7C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9E74: .4byte gBlockRecvBuffer -_080A9E78: .4byte gTasks -_080A9E7C: .4byte sub_80A9E80 - thumb_func_end sub_80A9E3C - - thumb_func_start sub_80A9E80 -sub_80A9E80: @ 80A9E80 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A9EA0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x9 - bgt _080A9EA4 - adds r0, r1, 0x1 - strh r0, [r4, 0x8] - b _080A9ECC - .align 2, 0 -_080A9EA0: .4byte gTasks -_080A9EA4: - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080A9ECC - movs r0, 0 - strh r0, [r4, 0x8] - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - beq _080A9EC8 - ldr r0, _080A9EC4 - b _080A9ECA - .align 2, 0 -_080A9EC4: .4byte sub_80A9ED8 -_080A9EC8: - ldr r0, _080A9ED4 -_080A9ECA: - str r0, [r4] -_080A9ECC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9ED4: .4byte sub_80A9F10 - thumb_func_end sub_80A9E80 - - thumb_func_start sub_80A9ED8 -sub_80A9ED8: @ 80A9ED8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A9F08 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x65 - bne _080A9F02 - bl sub_8007F4C - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, _080A9F0C - str r0, [r4] -_080A9F02: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9F08: .4byte gTasks -_080A9F0C: .4byte sub_80A9F10 - thumb_func_end sub_80A9ED8 - - thumb_func_start sub_80A9F10 -sub_80A9F10: @ 80A9F10 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A9F44 - ldrb r0, [r0] - cmp r0, 0 - beq _080A9F3E - bl GetMultiplayerId - ldr r1, _080A9F48 - strb r0, [r1] - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080A9F3E - ldr r1, _080A9F4C - movs r0, 0x1 - strb r0, [r1] - adds r0, r4, 0 - bl SwitchTaskToFollowupFunc -_080A9F3E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9F44: .4byte gReceivedRemoteLinkPlayers -_080A9F48: .4byte gUnknown_02038695 -_080A9F4C: .4byte gUnknown_0203869A - thumb_func_end sub_80A9F10 - - thumb_func_start sub_80A9F50 -sub_80A9F50: @ 80A9F50 - push {r4,lr} - movs r2, 0x80 - lsls r2, 19 - movs r0, 0x40 - strh r0, [r2] - ldrh r0, [r2] - movs r3, 0x88 - lsls r3, 5 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - ldr r4, _080A9FB8 - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r0, _080A9FBC - adds r1, r4, 0 - bl InitWindowFromConfig - ldr r0, _080A9FC0 - movs r1, 0 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x44 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r0, _080A9FC4 - strh r1, [r0] - ldr r0, _080A9FC8 - strh r1, [r0] - ldr r0, _080A9FCC - strh r1, [r0] - ldr r0, _080A9FD0 - strh r1, [r0] - ldr r0, _080A9FD4 - strh r1, [r0] - ldr r0, _080A9FD8 - strh r1, [r0] - ldr r0, _080A9FDC - strh r1, [r0] - ldr r0, _080A9FE0 - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9FB8: .4byte gWindowConfig_81E6C3C -_080A9FBC: .4byte gMenuWindow -_080A9FC0: .4byte REG_MOSAIC -_080A9FC4: .4byte gUnknown_030042A4 -_080A9FC8: .4byte gUnknown_030042A0 -_080A9FCC: .4byte gUnknown_030042C0 -_080A9FD0: .4byte gUnknown_030041B4 -_080A9FD4: .4byte gUnknown_03004288 -_080A9FD8: .4byte gUnknown_03004280 -_080A9FDC: .4byte gUnknown_030041B0 -_080A9FE0: .4byte gUnknown_030041B8 - thumb_func_end sub_80A9F50 - - thumb_func_start sub_80A9FE4 -sub_80A9FE4: @ 80A9FE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r1, _080AA054 - mov r0, sp - movs r2, 0x5 - bl memcpy - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - add r5, sp, 0x8 - movs r6, 0 - ldr r1, _080AA058 - movs r4, 0x80 - lsls r4, 5 - mov r12, r5 - ldr r7, _080AA05C - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_080AA012: - str r6, [sp, 0x8] - mov r0, r12 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _080AA012 - str r6, [sp, 0x8] - str r5, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xC0 - lsls r0, 19 - mov r1, sp - bl sub_80034D4 - ldr r0, _080AA060 - bl LoadFontDefaultPalette - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AA054: .4byte gUnknown_083C9228 -_080AA058: .4byte 0x040000d4 -_080AA05C: .4byte 0x85000400 -_080AA060: .4byte gWindowConfig_81E6C3C - thumb_func_end sub_80A9FE4 - - thumb_func_start sub_80AA064 -sub_80AA064: @ 80AA064 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl UpdatePaletteFade - ldr r0, _080AA088 - ldrh r0, [r0, 0x2E] - cmp r0, 0x4 - bne _080AA084 - ldr r0, _080AA08C - bl SetMainCallback2 -_080AA084: - pop {r0} - bx r0 - .align 2, 0 -_080AA088: .4byte gMain -_080AA08C: .4byte sub_805469C - thumb_func_end sub_80AA064 - - thumb_func_start sub_80AA090 -sub_80AA090: @ 80AA090 - push {lr} - ldr r1, _080AA0E8 - ldr r0, _080AA0EC - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA0F0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA0F4 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA0F8 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA0FC - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA100 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA104 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA108 - ldrh r0, [r0] - strh r0, [r1] - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl sub_8089668 - pop {r0} - bx r0 - .align 2, 0 -_080AA0E8: .4byte REG_BG0HOFS -_080AA0EC: .4byte gUnknown_030042A4 -_080AA0F0: .4byte gUnknown_030042A0 -_080AA0F4: .4byte gUnknown_030042C0 -_080AA0F8: .4byte gUnknown_030041B4 -_080AA0FC: .4byte gUnknown_03004288 -_080AA100: .4byte gUnknown_03004280 -_080AA104: .4byte gUnknown_030041B0 -_080AA108: .4byte gUnknown_030041B8 - thumb_func_end sub_80AA090 - - thumb_func_start sub_80AA10C -sub_80AA10C: @ 80AA10C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r4, _080AA238 - ldrb r0, [r4, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4, 0x8] - movs r0, 0 - bl SetVBlankCallback - bl sub_80A9F50 - bl dp12_8087EA4 - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - bl sub_80A9FE4 - ldr r0, _080AA23C - bl SetVBlankCallback - ldr r0, _080AA240 - bl SetMainCallback2 - ldrb r1, [r4, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r4, 0x8] - ldr r4, _080AA244 - movs r0, 0 - strb r0, [r4] - ldr r0, _080AA248 - ldrb r0, [r0, 0x2] - cmp r0, 0 - bne _080AA16A - movs r0, 0 - movs r1, 0 - bl sub_80AE398 -_080AA16A: - ldrb r0, [r4] - bl sub_80AE098 - movs r5, 0 - ldr r6, _080AA24C - adds r0, r6, 0x1 - mov r8, r0 - ldr r7, _080AA250 -_080AA17A: - lsls r2, r5, 2 - adds r0, r2, r7 - ldr r1, [r0] - adds r2, r5 - lsls r2, 17 - movs r0, 0xA8 - lsls r0, 14 - adds r2, r0 - lsrs r2, 16 - lsls r4, r5, 1 - adds r0, r4, r6 - ldrb r3, [r0] - add r4, r8 - ldrb r0, [r4] - str r0, [sp] - ldr r0, _080AA254 - bl sub_8003460 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080AA17A - ldr r1, _080AA258 - ldr r4, _080AA25C - movs r0, 0 - strh r0, [r4] - strh r0, [r1] - movs r5, 0 - movs r0, 0 - bl sub_80AA5BC - ldrb r0, [r4] - bl sub_80AA5E8 - ldr r4, _080AA254 - ldr r1, _080AA260 - movs r0, 0x12 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0xD6 - movs r3, 0x12 - bl sub_8003460 - ldr r1, _080AA264 - movs r0, 0xC - str r0, [sp] - adds r0, r4, 0 - movs r2, 0xDC - movs r3, 0 - bl sub_8003460 - ldr r0, _080AA268 - bl LoadSpriteSheet - ldr r0, _080AA26C - bl LoadSpritePalette - movs r0, 0x3 - bl sub_80AA280 - movs r0, 0x3 - bl sub_80AA658 - movs r0, 0x3 - movs r1, 0 - bl sub_80AA614 - ldr r0, _080AA270 - ldr r1, _080AA274 - ldrb r1, [r1, 0x3] - ldr r2, _080AA278 - ldrb r2, [r2, 0x1] - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080AA27C - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x2E] - strh r0, [r1, 0x30] - movs r0, 0x3 - strh r0, [r1, 0x32] - strh r5, [r1, 0x34] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AA238: .4byte gPaletteFade -_080AA23C: .4byte sub_80AA090 -_080AA240: .4byte sub_80AA064 -_080AA244: .4byte gUnknown_02038694 -_080AA248: .4byte gUnknown_02038570 -_080AA24C: .4byte gUnknown_083C9276 -_080AA250: .4byte gUnknown_083C9364 -_080AA254: .4byte gMenuWindow -_080AA258: .4byte gUnknown_0203869C -_080AA25C: .4byte gUnknown_0203869E -_080AA260: .4byte gUnknown_083C9337 -_080AA264: .4byte gUnknown_083C933B -_080AA268: .4byte gUnknown_083C92B4 -_080AA26C: .4byte gUnknown_083C92BC -_080AA270: .4byte gSpriteTemplate_83C92CC -_080AA274: .4byte gUnknown_083C9296 -_080AA278: .4byte gUnknown_083C92A8 -_080AA27C: .4byte gSprites - thumb_func_end sub_80AA10C - - thumb_func_start sub_80AA280 -sub_80AA280: @ 80AA280 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _080AA2E8 - movs r1, 0x1E - str r1, [sp] - movs r1, 0x3 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowRect_DefaultPalette - ldr r4, _080AA2EC - ldr r1, _080AA2F0 - adds r0, r4, 0 - bl StringCopy - lsls r1, r7, 6 - ldr r0, _080AA2F4 - adds r1, r0 - adds r0, r4, 0 - bl StringAppend - movs r5, 0 - ldr r6, _080AA2F8 - adds r0, r6, 0x1 - mov r8, r0 -_080AA2BE: - cmp r7, r5 - bne _080AA2FC - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 17 - movs r0, 0x80 - lsls r0, 10 - adds r2, r0 - lsrs r2, 16 - lsls r1, r5, 1 - adds r0, r1, r6 - ldrb r3, [r0] - add r1, r8 - ldrb r0, [r1] - str r0, [sp] - ldr r0, _080AA2E8 - ldr r1, _080AA2EC - bl sub_8003460 - b _080AA322 - .align 2, 0 -_080AA2E8: .4byte gMenuWindow -_080AA2EC: .4byte 0x02000000 -_080AA2F0: .4byte gUnknown_083C932C -_080AA2F4: .4byte gUnknown_0203857D -_080AA2F8: .4byte gUnknown_083C926E -_080AA2FC: - lsls r1, r5, 6 - ldr r0, _080AA338 - adds r1, r0 - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 17 - movs r0, 0x80 - lsls r0, 10 - adds r2, r0 - lsrs r2, 16 - lsls r4, r5, 1 - adds r0, r4, r6 - ldrb r3, [r0] - add r4, r8 - ldrb r0, [r4] - str r0, [sp] - ldr r0, _080AA33C - bl sub_8003460 -_080AA322: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _080AA2BE - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AA338: .4byte gUnknown_0203857D -_080AA33C: .4byte gMenuWindow - thumb_func_end sub_80AA280 - - thumb_func_start sub_80AA340 -sub_80AA340: @ 80AA340 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - ldr r4, _080AA378 - ldr r1, _080AA37C - lsrs r0, 18 - adds r0, r1 - adds r0, 0x26 - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA380 - ldr r1, _080AA384 - ldrb r3, [r1] - ldrb r1, [r1, 0x1] - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x66 - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA378: .4byte 0x02000000 -_080AA37C: .4byte gUnknown_02038570 -_080AA380: .4byte gMenuWindow -_080AA384: .4byte gUnknown_083C9282 - thumb_func_end sub_80AA340 - - thumb_func_start sub_80AA388 -sub_80AA388: @ 80AA388 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - ldr r4, _080AA3C0 - ldr r1, _080AA3C4 - lsrs r0, 18 - adds r0, r1 - adds r0, 0x28 - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA3C8 - ldr r1, _080AA3CC - ldrb r3, [r1, 0x2] - ldrb r1, [r1, 0x3] - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x6C - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA3C0: .4byte 0x02000000 -_080AA3C4: .4byte gUnknown_02038570 -_080AA3C8: .4byte gMenuWindow -_080AA3CC: .4byte gUnknown_083C9282 - thumb_func_end sub_80AA388 - - thumb_func_start sub_80AA3D0 -sub_80AA3D0: @ 80AA3D0 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - ldr r4, _080AA408 - ldr r1, _080AA40C - lsrs r0, 18 - adds r0, r1 - adds r0, 0x27 - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA410 - ldr r1, _080AA414 - ldrb r3, [r1, 0x4] - ldrb r1, [r1, 0x5] - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x72 - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA408: .4byte 0x02000000 -_080AA40C: .4byte gUnknown_02038570 -_080AA410: .4byte gMenuWindow -_080AA414: .4byte gUnknown_083C9282 - thumb_func_end sub_80AA3D0 - - thumb_func_start sub_80AA418 -sub_80AA418: @ 80AA418 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - ldr r4, _080AA450 - ldr r1, _080AA454 - lsrs r0, 18 - adds r0, r1 - adds r0, 0x29 - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA458 - ldr r1, _080AA45C - ldrb r3, [r1, 0x6] - ldrb r1, [r1, 0x7] - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x78 - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA450: .4byte 0x02000000 -_080AA454: .4byte gUnknown_02038570 -_080AA458: .4byte gMenuWindow -_080AA45C: .4byte gUnknown_083C9282 - thumb_func_end sub_80AA418 - - thumb_func_start sub_80AA460 -sub_80AA460: @ 80AA460 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - ldr r4, _080AA498 - ldr r1, _080AA49C - lsrs r0, 18 - adds r0, r1 - adds r0, 0x2A - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA4A0 - ldr r1, _080AA4A4 - ldrb r3, [r1, 0x8] - ldrb r1, [r1, 0x9] - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x7E - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA498: .4byte 0x02000000 -_080AA49C: .4byte gUnknown_02038570 -_080AA4A0: .4byte gMenuWindow -_080AA4A4: .4byte gUnknown_083C9282 - thumb_func_end sub_80AA460 - - thumb_func_start sub_80AA4A8 -sub_80AA4A8: @ 80AA4A8 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - ldr r4, _080AA4E0 - ldr r1, _080AA4E4 - lsrs r0, 18 - adds r0, r1 - adds r0, 0x2B - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA4E8 - ldr r1, _080AA4EC - ldrb r3, [r1, 0xA] - ldrb r1, [r1, 0xB] - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x84 - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA4E0: .4byte 0x02000000 -_080AA4E4: .4byte gUnknown_02038570 -_080AA4E8: .4byte gMenuWindow -_080AA4EC: .4byte gUnknown_083C9282 - thumb_func_end sub_80AA4A8 - - thumb_func_start sub_80AA4F0 -sub_80AA4F0: @ 80AA4F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r7, _080AA5A8 - ldr r0, _080AA5AC - lsls r5, r6, 1 - adds r1, r5, r0 - ldrb r1, [r1] - mov r9, r1 - adds r0, 0x1 - adds r0, r5, r0 - ldrb r0, [r0] - mov r10, r0 - movs r0, 0x7 - add r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - str r0, [sp] - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - adds r0, r7, 0 - movs r1, 0 - mov r2, r9 - mov r3, r10 - bl FillWindowRect_DefaultPalette - ldr r0, _080AA5B0 - lsls r4, 6 - adds r4, r5, r4 - adds r0, 0x1E - adds r4, r0 - ldrh r1, [r4] - movs r0, 0xD - muls r1, r0 - ldr r0, _080AA5B4 - adds r1, r0 - lsls r2, r6, 3 - subs r2, r6 - lsls r2, 17 - movs r0, 0x8A - lsls r0, 16 - adds r2, r0 - lsrs r2, 16 - mov r0, r10 - str r0, [sp] - adds r0, r7, 0 - mov r3, r9 - bl sub_8003460 - ldr r0, _080AA5B8 - mov r9, r0 - ldrh r1, [r4] - movs r2, 0x2 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r5, r6 - lsls r5, 17 - movs r0, 0xFA - lsls r0, 16 - adds r5, r0 - lsrs r5, 16 - mov r0, r10 - str r0, [sp] - adds r0, r7, 0 - mov r1, r9 - adds r2, r5, 0 - mov r3, r8 - bl sub_8003460 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AA5A8: .4byte gMenuWindow -_080AA5AC: .4byte gUnknown_083C928E -_080AA5B0: .4byte gUnknown_02038570 -_080AA5B4: .4byte gMoveNames -_080AA5B8: .4byte gStringVar1 - thumb_func_end sub_80AA4F0 - - thumb_func_start sub_80AA5BC -sub_80AA5BC: @ 80AA5BC - push {lr} - sub sp, 0x4 - lsls r0, 24 - ldr r2, _080AA5E0 - ldr r1, _080AA5E4 - lsrs r0, 22 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x12 - str r0, [sp] - adds r0, r2, 0 - movs r2, 0xC2 - movs r3, 0x3 - bl sub_8003460 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080AA5E0: .4byte gMenuWindow -_080AA5E4: .4byte gUnknown_083C93B4 - thumb_func_end sub_80AA5BC - - thumb_func_start sub_80AA5E8 -sub_80AA5E8: @ 80AA5E8 - push {lr} - sub sp, 0x4 - lsls r0, 24 - ldr r2, _080AA60C - ldr r1, _080AA610 - lsrs r0, 22 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x4 - str r0, [sp] - adds r0, r2, 0 - movs r2, 0xE8 - movs r3, 0x3 - bl sub_8003460 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080AA60C: .4byte gMenuWindow -_080AA610: .4byte gUnknown_083C93F0 - thumb_func_end sub_80AA5E8 - - thumb_func_start sub_80AA614 -sub_80AA614: @ 80AA614 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl sub_80AE770 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _080AA650 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA654 - movs r1, 0xC - str r1, [sp] - adds r1, r4, 0 - movs r2, 0xE2 - movs r3, 0x3 - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA650: .4byte 0x02000000 -_080AA654: .4byte gMenuWindow - thumb_func_end sub_80AA614 - - thumb_func_start sub_80AA658 -sub_80AA658: @ 80AA658 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_80AA340 - adds r0, r5, 0 - bl sub_80AA388 - adds r0, r5, 0 - bl sub_80AA3D0 - adds r0, r5, 0 - bl sub_80AA418 - adds r0, r5, 0 - bl sub_80AA460 - adds r0, r5, 0 - bl sub_80AA4A8 - movs r4, 0 -_080AA684: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80AA4F0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080AA684 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80AA658 - - thumb_func_start sub_80AA69C -sub_80AA69C: @ 80AA69C - push {r4-r6,lr} - ldr r6, _080AA748 - ldr r5, _080AA74C - ldrb r2, [r5] - lsls r2, 6 - ldr r4, _080AA750 - adds r2, r4 - adds r0, r6, 0 - movs r1, 0x16 - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r0, r4, 0x2 - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x18 - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r0, r4, 0x1 - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x17 - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r0, r4, 0x3 - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x21 - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r0, r4, 0x4 - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x2F - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r0, r4, 0x5 - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x30 - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - subs r4, 0x8 - adds r2, r4 - adds r0, r6, 0 - movs r1, 0xD - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r2, r4 - adds r2, 0x2 - adds r0, r6, 0 - movs r1, 0xE - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r2, r4 - adds r2, 0x4 - adds r0, r6, 0 - movs r1, 0xF - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r2, r4 - adds r2, 0x6 - adds r0, r6, 0 - movs r1, 0x10 - bl SetMonData - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AA748: .4byte gPlayerParty -_080AA74C: .4byte gUnknown_02038695 -_080AA750: .4byte gUnknown_02038596 - thumb_func_end sub_80AA69C - - thumb_func_start sub_80AA754 -sub_80AA754: @ 80AA754 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080AA774 - ldrh r1, [r0, 0x30] - cmp r1, 0x20 - beq _080AA7A2 - cmp r1, 0x20 - bgt _080AA782 - cmp r1, 0x2 - beq _080AA7F8 - cmp r1, 0x2 - bgt _080AA778 - cmp r1, 0x1 - beq _080AA7D8 - b _080AA870 - .align 2, 0 -_080AA774: .4byte gMain -_080AA778: - cmp r1, 0x8 - beq _080AA868 - cmp r1, 0x10 - beq _080AA7A2 - b _080AA870 -_080AA782: - cmp r1, 0x80 - beq _080AA7C2 - cmp r1, 0x80 - bgt _080AA790 - cmp r1, 0x40 - beq _080AA7AC - b _080AA870 -_080AA790: - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - beq _080AA814 - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - beq _080AA834 - b _080AA870 -_080AA7A2: - ldrh r0, [r4, 0x2E] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x2E] - b _080AA870 -_080AA7AC: - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080AA7BC - movs r0, 0x8 - strh r0, [r4, 0x30] - b _080AA870 -_080AA7BC: - subs r0, r1, 0x1 - strh r0, [r4, 0x30] - b _080AA870 -_080AA7C2: - ldrh r1, [r4, 0x30] - movs r3, 0x30 - ldrsh r0, [r4, r3] - cmp r0, 0x8 - bne _080AA7D2 - movs r0, 0 - strh r0, [r4, 0x30] - b _080AA870 -_080AA7D2: - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _080AA870 -_080AA7D8: - ldr r2, _080AA7F4 - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - movs r3, 0x30 - ldrsh r1, [r4, r3] - lsls r1, 3 - adds r0, r1 - adds r0, r2 - ldr r2, [r0] - adds r0, r4, 0 - movs r1, 0x1 - b _080AA84E - .align 2, 0 -_080AA7F4: .4byte gUnknown_083C92E4 -_080AA7F8: - ldr r1, _080AA810 - movs r0, 0x2E - ldrsh r2, [r4, r0] - lsls r2, 2 - movs r3, 0x30 - ldrsh r0, [r4, r3] - lsls r0, 3 - adds r2, r0 - adds r2, r1 - movs r1, 0x1 - negs r1, r1 - b _080AA84A - .align 2, 0 -_080AA810: .4byte gUnknown_083C92E4 -_080AA814: - ldr r2, _080AA830 - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - movs r3, 0x30 - ldrsh r1, [r4, r3] - lsls r1, 3 - adds r0, r1 - adds r0, r2 - ldr r2, [r0] - adds r0, r4, 0 - movs r1, 0xA - b _080AA84E - .align 2, 0 -_080AA830: .4byte gUnknown_083C92E4 -_080AA834: - ldr r1, _080AA864 - movs r0, 0x2E - ldrsh r2, [r4, r0] - lsls r2, 2 - movs r3, 0x30 - ldrsh r0, [r4, r3] - lsls r0, 3 - adds r2, r0 - adds r2, r1 - movs r1, 0xA - negs r1, r1 -_080AA84A: - ldr r2, [r2] - adds r0, r4, 0 -_080AA84E: - bl _call_via_r2 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - bl sub_80AA614 - b _080AA870 - .align 2, 0 -_080AA864: .4byte gUnknown_083C92E4 -_080AA868: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80AAD08 -_080AA870: - ldr r2, _080AA898 - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r3, 0x30 - ldrsh r0, [r4, r3] - lsls r0, 1 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - strh r0, [r4, 0x20] - ldr r1, _080AA89C - movs r2, 0x30 - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x22] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA898: .4byte gUnknown_083C9296 -_080AA89C: .4byte gUnknown_083C92A8 - thumb_func_end sub_80AA754 - - thumb_func_start sub_80AA8A0 -sub_80AA8A0: @ 80AA8A0 - push {r4,lr} - adds r4, r0, 0 - lsls r2, 24 - lsrs r0, r2, 24 - lsls r1, 24 - asrs r1, 24 - cmp r1, 0x1 - bne _080AA8C0 - strh r0, [r4, 0x32] - bl sub_80AA280 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA658 -_080AA8C0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AA8A0 - - thumb_func_start sub_80AA8C8 -sub_80AA8C8: @ 80AA8C8 - push {lr} - lsls r1, 24 - asrs r1, 24 - movs r2, 0 - bl sub_80AA8A0 - pop {r0} - bx r0 - thumb_func_end sub_80AA8C8 - - thumb_func_start sub_80AA8D8 -sub_80AA8D8: @ 80AA8D8 - push {lr} - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - bl sub_80AA8A0 - pop {r0} - bx r0 - thumb_func_end sub_80AA8D8 - - thumb_func_start sub_80AA8E8 -sub_80AA8E8: @ 80AA8E8 - push {lr} - lsls r1, 24 - asrs r1, 24 - movs r2, 0x2 - bl sub_80AA8A0 - pop {r0} - bx r0 - thumb_func_end sub_80AA8E8 - - thumb_func_start sub_80AA8F8 -sub_80AA8F8: @ 80AA8F8 - push {lr} - lsls r1, 24 - asrs r1, 24 - movs r2, 0x3 - bl sub_80AA8A0 - pop {r0} - bx r0 - thumb_func_end sub_80AA8F8 - - thumb_func_start sub_80AA908 -sub_80AA908: @ 80AA908 - push {lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - asrs r2, 24 - adds r2, r1 - lsls r2, 16 - lsrs r0, r2, 16 - asrs r2, 16 - cmp r2, 0xFF - ble _080AA922 - movs r0, 0xFF - b _080AA928 -_080AA922: - cmp r2, 0 - bge _080AA928 - movs r0, 0 -_080AA928: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80AA908 - - thumb_func_start sub_80AA930 -sub_80AA930: @ 80AA930 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AA970 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - adds r2, 0x26 - ldrb r3, [r2] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AA908 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - adds r1, 0x26 - strb r0, [r1] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA340 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA970: .4byte gUnknown_02038570 - thumb_func_end sub_80AA930 - - thumb_func_start sub_80AA974 -sub_80AA974: @ 80AA974 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AA9B4 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - adds r2, 0x28 - ldrb r3, [r2] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AA908 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - adds r1, 0x28 - strb r0, [r1] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA388 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA9B4: .4byte gUnknown_02038570 - thumb_func_end sub_80AA974 - - thumb_func_start sub_80AA9B8 -sub_80AA9B8: @ 80AA9B8 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AA9F8 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - adds r2, 0x27 - ldrb r3, [r2] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AA908 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - adds r1, 0x27 - strb r0, [r1] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA3D0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA9F8: .4byte gUnknown_02038570 - thumb_func_end sub_80AA9B8 - - thumb_func_start sub_80AA9FC -sub_80AA9FC: @ 80AA9FC - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AAA3C - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - adds r2, 0x29 - ldrb r3, [r2] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AA908 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - adds r1, 0x29 - strb r0, [r1] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA418 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAA3C: .4byte gUnknown_02038570 - thumb_func_end sub_80AA9FC - - thumb_func_start sub_80AAA40 -sub_80AAA40: @ 80AAA40 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AAA80 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - adds r2, 0x2A - ldrb r3, [r2] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AA908 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - adds r1, 0x2A - strb r0, [r1] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA460 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAA80: .4byte gUnknown_02038570 - thumb_func_end sub_80AAA40 - - thumb_func_start sub_80AAA84 -sub_80AAA84: @ 80AAA84 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AAAC4 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - adds r2, 0x2B - ldrb r3, [r2] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AA908 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - adds r1, 0x2B - strb r0, [r1] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA4A8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAAC4: .4byte gUnknown_02038570 - thumb_func_end sub_80AAA84 - - thumb_func_start sub_80AAAC8 -sub_80AAAC8: @ 80AAAC8 - push {lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - asrs r2, 24 - adds r1, r2 - lsls r1, 16 - lsrs r0, r1, 16 - asrs r1, 16 - movs r2, 0xB1 - lsls r2, 1 - cmp r1, r2 - ble _080AAAE6 - movs r0, 0x1 - b _080AAAEC -_080AAAE6: - cmp r1, 0 - bge _080AAAEC - adds r0, r2, 0 -_080AAAEC: - pop {r1} - bx r1 - thumb_func_end sub_80AAAC8 - - thumb_func_start sub_80AAAF0 -sub_80AAAF0: @ 80AAAF0 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AAB2C - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - ldrh r3, [r2, 0x1E] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AAAC8 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - strh r0, [r1, 0x1E] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80AA4F0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAB2C: .4byte gUnknown_02038570 - thumb_func_end sub_80AAAF0 - - thumb_func_start sub_80AAB30 -sub_80AAB30: @ 80AAB30 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AAB6C - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - ldrh r3, [r2, 0x20] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AAAC8 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - strh r0, [r1, 0x20] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_80AA4F0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAB6C: .4byte gUnknown_02038570 - thumb_func_end sub_80AAB30 - - thumb_func_start sub_80AAB70 -sub_80AAB70: @ 80AAB70 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AABAC - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - ldrh r3, [r2, 0x22] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AAAC8 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - strh r0, [r1, 0x22] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_80AA4F0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AABAC: .4byte gUnknown_02038570 - thumb_func_end sub_80AAB70 - - thumb_func_start sub_80AABB0 -sub_80AABB0: @ 80AABB0 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AABEC - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - ldrh r3, [r2, 0x24] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AAAC8 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - strh r0, [r1, 0x24] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl sub_80AA4F0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AABEC: .4byte gUnknown_02038570 - thumb_func_end sub_80AABB0 - - thumb_func_start sub_80AABF0 -sub_80AABF0: @ 80AABF0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - movs r0, 0xFF - cmp r1, 0 - ble _080AABFE - movs r0, 0x1 -_080AABFE: - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r5, 0x34] - adds r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _080AAC14 - movs r4, 0 - b _080AAC1A -_080AAC14: - cmp r0, 0x4 - ble _080AAC1A - movs r4, 0x4 -_080AAC1A: - lsls r4, 24 - lsrs r0, r4, 24 - bl sub_80AA5BC - asrs r4, 24 - strh r4, [r5, 0x34] - ldr r0, _080AAC54 - strh r4, [r0] - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080AAC58 - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_80AE398 - ldrh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA280 - ldrh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA658 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAC54: .4byte gUnknown_0203869C -_080AAC58: .4byte gUnknown_0203869E - thumb_func_end sub_80AABF0 - - thumb_func_start sub_80AAC5C -sub_80AAC5C: @ 80AAC5C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - cmp r1, 0 - ble _080AAC78 - ldr r1, _080AAC74 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - adds r4, r1, 0 - b _080AAC86 - .align 2, 0 -_080AAC74: .4byte gUnknown_0203869E -_080AAC78: - ldr r0, _080AACBC - ldrh r2, [r0] - adds r4, r0, 0 - cmp r2, 0 - beq _080AAC86 - subs r0, r2, 0x1 - strh r0, [r4] -_080AAC86: - adds r1, r4, 0 - ldrh r0, [r1] - cmp r0, 0x3 - bls _080AAC92 - movs r0, 0x3 - strh r0, [r1] -_080AAC92: - ldrb r0, [r4] - bl sub_80AA5E8 - ldr r0, _080AACC0 - ldrb r0, [r0] - ldrb r1, [r4] - bl sub_80AE398 - ldrh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA280 - ldrh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA658 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AACBC: .4byte gUnknown_0203869E -_080AACC0: .4byte gUnknown_0203869C - thumb_func_end sub_80AAC5C - - thumb_func_start sub_80AACC4 -sub_80AACC4: @ 80AACC4 - push {lr} - bl UpdatePaletteFade - ldr r0, _080AACF8 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080AACF4 - bl sub_80AA69C - ldr r0, _080AACFC - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080AACEE - ldr r0, _080AAD00 - ldrb r0, [r0] - bl sub_80AE82C -_080AACEE: - ldr r0, _080AAD04 - bl SetMainCallback2 -_080AACF4: - pop {r0} - bx r0 - .align 2, 0 -_080AACF8: .4byte gPaletteFade -_080AACFC: .4byte gUnknown_0203869A -_080AAD00: .4byte 0x02000000 -_080AAD04: .4byte sub_80AB47C - thumb_func_end sub_80AACC4 - - thumb_func_start sub_80AAD08 -sub_80AAD08: @ 80AAD08 - push {r4,lr} - sub sp, 0x4 - lsls r1, 24 - asrs r1, 24 - cmp r1, 0x1 - bne _080AAD32 - ldr r1, _080AAD3C - ldrh r0, [r0, 0x34] - movs r4, 0 - strb r0, [r1] - ldr r0, _080AAD40 - bl SetMainCallback2 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_080AAD32: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AAD3C: .4byte 0x02000000 -_080AAD40: .4byte sub_80AACC4 - thumb_func_end sub_80AAD08 - - thumb_func_start sub_80AAD44 -sub_80AAD44: @ 80AAD44 - push {r4,r5,lr} - lsls r1, 24 - asrs r1, 24 - cmp r1, 0x1 - bne _080AAD72 - bl sub_80AA69C - movs r4, 0 - ldr r5, _080AAD78 -_080AAD56: - lsls r0, r4, 24 - lsrs r0, 24 - ldr r1, _080AAD7C - ldrb r1, [r1] - bl sub_80AE770 - strh r0, [r5] - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _080AAD56 - ldr r0, _080AAD80 - bl SetMainCallback2 -_080AAD72: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAD78: .4byte gUnknown_02038670 -_080AAD7C: .4byte gUnknown_0203869C -_080AAD80: .4byte sub_805469C - thumb_func_end sub_80AAD44 - - thumb_func_start sub_80AAD84 -sub_80AAD84: @ 80AAD84 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x64 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x48] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x4C] - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - mov r5, r10 - adds r5, 0x1 - lsls r1, r5, 8 - ldr r0, _080AAEC4 - subs r1, r0, r1 - movs r0, 0 - str r0, [sp, 0x44] - ldr r4, _080AAEC8 - add r0, sp, 0x44 - str r0, [r4] - str r1, [r4, 0x4] - ldr r0, _080AAECC - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - mov r0, r9 - bl StringLength - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x8 - bls _080AADD0 - movs r7, 0x8 -_080AADD0: - movs r6, 0 - mov r8, r5 - mov r1, r10 - lsls r1, 1 - str r1, [sp, 0x58] - ldr r2, [sp, 0x48] - adds r2, 0x20 - str r2, [sp, 0x5C] - cmp r6, r7 - bge _080AAE1E - add r5, sp, 0x40 - add r0, sp, 0x20 - mov r10, r0 - ldr r2, _080AAEC4 -_080AADEC: - mov r1, r9 - adds r0, r1, r6 - ldrb r0, [r0] - strb r0, [r5] - movs r0, 0xFF - strb r0, [r5, 0x1] - mov r0, sp - adds r1, r5, 0 - str r2, [sp, 0x60] - bl sub_80034D4 - mov r1, r8 - lsls r0, r1, 8 - ldr r2, [sp, 0x60] - subs r0, r2, r0 - mov r1, r10 - str r1, [r4] - str r0, [r4, 0x4] - ldr r0, _080AAED0 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - adds r2, 0x20 - adds r6, 0x1 - cmp r6, r7 - blt _080AADEC -_080AAE1E: - movs r1, 0x7C - ldr r2, [sp, 0x58] - subs r1, r2 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r0, _080AAED4 - mov r9, r0 - lsls r3, r7, 3 - add r3, r9 - ldr r0, _080AAED8 - ldr r1, [r0] - ldr r2, [r0, 0x4] - str r1, [sp, 0x50] - str r2, [sp, 0x54] - str r1, [r3, 0x3C] - str r2, [r3, 0x40] - mov r2, r8 - lsls r0, r2, 3 - movs r1, 0x80 - lsls r1, 3 - adds r2, r1, 0 - subs r2, r0 - adds r6, r3, 0 - adds r6, 0x40 - ldr r0, _080AAEDC - mov r8, r0 - mov r1, r8 - ands r2, r1 - ldrh r5, [r6] - ldr r4, _080AAEE0 - adds r0, r4, 0 - ands r0, r5 - orrs r0, r2 - strh r0, [r6] - ldrh r5, [r3, 0x3E] - ldr r2, _080AAEE4 - adds r0, r2, 0 - ands r0, r5 - ldr r1, [sp, 0x48] - orrs r0, r1 - strh r0, [r3, 0x3E] - adds r3, 0x3C - add r0, sp, 0x4C - ldrb r0, [r0] - strb r0, [r3] - adds r1, r7, 0x1 - lsls r1, 3 - mov r0, r9 - adds r7, r1, r0 - ldr r0, [sp, 0x50] - ldr r1, [sp, 0x54] - str r0, [r7, 0x3C] - str r1, [r7, 0x40] - ldrh r0, [r6] - lsls r0, 22 - lsrs r0, 22 - adds r0, 0x4 - adds r5, r7, 0 - adds r5, 0x40 - mov r1, r8 - ands r0, r1 - ldrh r3, [r5] - ands r4, r3 - orrs r4, r0 - strh r4, [r5] - ldrh r0, [r7, 0x3E] - ands r2, r0 - ldr r0, [sp, 0x5C] - orrs r2, r0 - strh r2, [r7, 0x3E] - adds r1, r7, 0 - adds r1, 0x3C - add r2, sp, 0x4C - ldrb r2, [r2] - strb r2, [r1] - add sp, 0x64 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AAEC4: .4byte 0x06018000 -_080AAEC8: .4byte 0x040000d4 -_080AAECC: .4byte 0x85000040 -_080AAED0: .4byte 0x84000008 -_080AAED4: .4byte gMain -_080AAED8: .4byte gUnknown_083C9400 -_080AAEDC: .4byte 0x000003ff -_080AAEE0: .4byte 0xfffffc00 -_080AAEE4: .4byte 0xfffffe00 - thumb_func_end sub_80AAD84 - - thumb_func_start unref_sub_80AAEE8 -unref_sub_80AAEE8: @ 80AAEE8 - push {r4-r7,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r5, r3, 24 - movs r0, 0 - cmp r4, 0 - bge _080AAF08 - mov r1, sp - movs r0, 0xAE - strb r0, [r1] - movs r0, 0x1 -_080AAF08: - add r0, sp - adds r1, r4, 0 - cmp r1, 0 - bge _080AAF12 - negs r1, r1 -_080AAF12: - movs r2, 0 - movs r3, 0x8 - bl ConvertIntToDecimalStringN - mov r0, sp - adds r1, r7, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_80AAD84 - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end unref_sub_80AAEE8 - - thumb_func_start sub_80AAF30 -sub_80AAF30: @ 80AAF30 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r1, _080AAFC0 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _080AAFC4 - movs r0, 0x3 - strb r0, [r1] - movs r0, 0 - bl sub_80AE098 - movs r4, 0x3 - movs r5, 0x1 - negs r5, r5 - ldr r3, _080AAFC8 - movs r2, 0x3 -_080AAF56: - adds r1, r4, r3 - subs r0, r2, r4 - strb r0, [r1] - subs r4, 0x1 - cmp r4, r5 - bgt _080AAF56 - movs r4, 0 - movs r6, 0 - ldr r7, _080AAFCC - ldr r5, _080AAFD0 - mov r9, r5 -_080AAF6C: - lsls r1, r4, 1 - strh r6, [r7] - ldr r0, _080AAFD4 - mov r8, r0 - adds r0, r1, r0 - strh r6, [r0] - ldr r3, _080AAFD8 - adds r1, r3 - strh r6, [r1] - adds r0, r5, 0 - mov r1, r9 - adds r1, 0xC0 - movs r2, 0x40 - str r3, [sp] - bl memcpy - adds r7, 0x2 - adds r5, 0x40 - adds r4, 0x1 - ldr r3, [sp] - cmp r4, 0x2 - ble _080AAF6C - ldr r0, _080AAFCC - movs r1, 0x96 - lsls r1, 1 - strh r1, [r0, 0x6] - movs r0, 0xC8 - lsls r0, 1 - mov r1, r8 - strh r0, [r1, 0x6] - strh r0, [r3, 0x6] - movs r0, 0xFE - bl sub_80B2A7C - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AAFC0: .4byte gUnknown_0203856C -_080AAFC4: .4byte gUnknown_02038695 -_080AAFC8: .4byte gUnknown_02038690 -_080AAFCC: .4byte gUnknown_02038670 -_080AAFD0: .4byte gUnknown_02038570 -_080AAFD4: .4byte gUnknown_02038680 -_080AAFD8: .4byte gUnknown_02038678 - thumb_func_end sub_80AAF30 - - thumb_func_start sub_80AAFDC -sub_80AAFDC: @ 80AAFDC - push {lr} - bl sub_80AAF30 - bl sub_8071C20 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_80AAFDC - - thumb_func_start sub_80AAFEC -sub_80AAFEC: @ 80AAFEC - push {r4,lr} - ldr r1, _080AB01C - movs r0, 0 - strb r0, [r1] - movs r4, 0 - ldr r3, _080AB020 - ldr r2, _080AB024 - ldr r1, _080AB028 - movs r0, 0x3 -_080AAFFE: - strh r4, [r1] - strh r4, [r2] - strh r4, [r3] - adds r3, 0x2 - adds r2, 0x2 - adds r1, 0x2 - subs r0, 0x1 - cmp r0, 0 - bge _080AAFFE - bl sub_8071C20 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080AB01C: .4byte gUnknown_0203856C -_080AB020: .4byte gUnknown_02038678 -_080AB024: .4byte gUnknown_02038680 -_080AB028: .4byte gUnknown_02038670 - thumb_func_end sub_80AAFEC - - thumb_func_start sub_80AB02C -sub_80AB02C: @ 80AB02C - push {r4,r5,lr} - ldr r1, _080AB078 - movs r0, 0x3 - strb r0, [r1] - movs r0, 0 - bl sub_80AE098 - movs r2, 0x3 - movs r5, 0x1 - negs r5, r5 - ldr r4, _080AB07C - movs r3, 0x3 -_080AB044: - adds r1, r2, r4 - subs r0, r3, r2 - strb r0, [r1] - subs r2, 0x1 - cmp r2, r5 - bgt _080AB044 - ldr r1, _080AB080 - movs r0, 0 - strh r0, [r1] - adds r4, r1, 0 -_080AB058: - movs r0, 0xFF - bl sub_80B2A7C - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bls _080AB058 - bl sub_8071C20 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080AB078: .4byte gUnknown_02038695 -_080AB07C: .4byte gUnknown_02038690 -_080AB080: .4byte gUnknown_0203869C - thumb_func_end sub_80AB02C - - thumb_func_start unref_sub_80AB084 -unref_sub_80AB084: @ 80AB084 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r8, r0 - ldr r0, _080AB160 - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x22 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - movs r2, 0x80 - lsls r2, 19 - movs r3, 0xFA - lsls r3, 5 - adds r0, r3, 0 - strh r0, [r2] - ldr r3, _080AB164 - ldrh r2, [r3] - strh r1, [r3] - ldr r4, _080AB168 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r1, _080AB16C - movs r0, 0x8 - strh r0, [r1] - bl ResetTasks - bl ResetSpriteData - ldr r0, _080AB170 - bl SetMainCallback2 - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - movs r5, 0 - ldr r1, _080AB174 - movs r4, 0x80 - lsls r4, 5 - ldr r6, _080AB178 - movs r7, 0x85 - lsls r7, 24 -_080AB108: - str r5, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - str r2, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _080AB108 - str r5, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r4, _080AB17C - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r5, _080AB180 - adds r0, r5, 0 - adds r1, r4, 0 - bl InitWindowFromConfig - adds r0, r4, 0 - bl LoadFontDefaultPalette - movs r0, 0x7 - str r0, [sp] - adds r0, r5, 0 - mov r1, r8 - movs r2, 0x1 - movs r3, 0x9 - bl sub_8003460 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AB160: .4byte REG_BG0HOFS -_080AB164: .4byte 0x04000208 -_080AB168: .4byte 0x04000200 -_080AB16C: .4byte REG_DISPSTAT -_080AB170: .4byte sub_80AB184 -_080AB174: .4byte 0x040000d4 -_080AB178: .4byte 0x85000400 -_080AB17C: .4byte gWindowConfig_81E6FD8 -_080AB180: .4byte gUnknown_03004210 - thumb_func_end unref_sub_80AB084 - - thumb_func_start sub_80AB184 -sub_80AB184: @ 80AB184 - ldr r0, _080AB1A8 - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .align 2, 0 -_080AB1A8: .4byte REG_BG0HOFS - thumb_func_end sub_80AB184 - - thumb_func_start nullsub_89 -nullsub_89: @ 80AB1AC - bx lr - thumb_func_end nullsub_89 - - thumb_func_start sub_80AB1B0 -sub_80AB1B0: @ 80AB1B0 - ldr r1, _080AB1B8 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080AB1B8: .4byte gUnknown_0203869A - thumb_func_end sub_80AB1B0 - - thumb_func_start sub_80AB1BC -sub_80AB1BC: @ 80AB1BC - push {r4-r6,lr} - movs r6, 0x80 - lsls r6, 19 - movs r0, 0x40 - strh r0, [r6] - ldr r4, _080AB260 - ldrh r3, [r4] - movs r2, 0 - strh r2, [r4] - ldr r5, _080AB264 - ldrh r0, [r5] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r5] - strh r3, [r4] - ldr r1, _080AB268 - movs r0, 0x8 - strh r0, [r1] - adds r1, 0x4 - movs r3, 0x98 - lsls r3, 8 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r3, _080AB26C - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - movs r3, 0x9C - lsls r3, 8 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r3, _080AB270 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _080AB274 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - subs r0, 0xC - ldr r3, _080AB278 - adds r1, r3, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldrh r0, [r6] - movs r3, 0xFE - lsls r3, 7 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r6] - ldr r0, _080AB27C - strh r2, [r0] - ldr r0, _080AB280 - strh r2, [r0] - ldr r0, _080AB284 - strh r2, [r0] - ldr r0, _080AB288 - strh r2, [r0] - ldr r0, _080AB28C - strh r2, [r0] - ldr r0, _080AB290 - strh r2, [r0] - ldr r0, _080AB294 - strh r2, [r0] - ldr r0, _080AB298 - strh r2, [r0] - ldr r0, _080AB29C - strh r2, [r0] - ldr r0, _080AB2A0 - strh r2, [r0] - ldr r0, _080AB2A4 - strh r2, [r0] - ldr r0, _080AB2A8 - strh r2, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AB260: .4byte 0x04000208 -_080AB264: .4byte 0x04000200 -_080AB268: .4byte REG_DISPSTAT -_080AB26C: .4byte 0x00009e09 -_080AB270: .4byte 0x00003a03 -_080AB274: .4byte REG_BLDCNT -_080AB278: .4byte 0x00003f3f -_080AB27C: .4byte gUnknown_030042A4 -_080AB280: .4byte gUnknown_030042A0 -_080AB284: .4byte gUnknown_030042C0 -_080AB288: .4byte gUnknown_030041B4 -_080AB28C: .4byte gUnknown_03004288 -_080AB290: .4byte gUnknown_03004280 -_080AB294: .4byte gUnknown_030041B0 -_080AB298: .4byte gUnknown_030041B8 -_080AB29C: .4byte gUnknown_030042C4 -_080AB2A0: .4byte gUnknown_03004240 -_080AB2A4: .4byte gUnknown_03004200 -_080AB2A8: .4byte gUnknown_03004244 - thumb_func_end sub_80AB1BC - - thumb_func_start sub_80AB2AC -sub_80AB2AC: @ 80AB2AC - push {r4,r5,lr} - ldr r0, _080AB300 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r0, _080AB304 - ldr r1, _080AB308 - bl LZDecompressVram - ldr r0, _080AB30C - ldr r1, _080AB310 - bl LZDecompressVram - ldr r0, _080AB314 - movs r2, 0x80 - lsls r2, 2 - movs r1, 0 - bl LoadCompressedPalette - bl sub_80AB350 - movs r4, 0 - movs r5, 0xA0 -_080AB2DC: - ldr r0, _080AB318 - adds r0, r5, r0 - ldr r1, _080AB31C - adds r1, r4, r1 - ldrb r1, [r1] - adds r1, 0x5 - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - adds r5, 0x20 - adds r4, 0x1 - cmp r4, 0x3 - ble _080AB2DC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AB300: .4byte gContestMiscGfx -_080AB304: .4byte gContestAudienceGfx -_080AB308: .4byte 0x06002000 -_080AB30C: .4byte gUnknown_08D1725C -_080AB310: .4byte 0x0600d000 -_080AB314: .4byte gUnknown_08D17144 -_080AB318: .4byte 0x02018004 -_080AB31C: .4byte gUnknown_02038696 - thumb_func_end sub_80AB2AC - - thumb_func_start sub_80AB320 -sub_80AB320: @ 80AB320 - push {r4,lr} - ldr r4, _080AB340 - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r0, _080AB344 - adds r1, r4, 0 - bl InitWindowFromConfig - ldr r0, _080AB348 - ldr r1, _080AB34C - bl InitWindowFromConfig - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AB340: .4byte gWindowConfig_81E6FD8 -_080AB344: .4byte gUnknown_03004210 -_080AB348: .4byte gMenuWindow -_080AB34C: .4byte gWindowConfig_81E6FF4 - thumb_func_end sub_80AB320 - - thumb_func_start sub_80AB350 -sub_80AB350: @ 80AB350 - push {r4,lr} - ldr r0, _080AB38C - bl LoadFontDefaultPalette - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - movs r4, 0xA -_080AB364: - adds r1, r4, 0 - adds r1, 0xF0 - ldr r0, _080AB390 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xD - bls _080AB364 - ldr r0, _080AB394 - movs r1, 0xF3 - movs r2, 0x2 - bl FillPalette - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AB38C: .4byte gWindowConfig_81E6FD8 -_080AB390: .4byte gPlttBufferUnfaded + 0x1E2 -_080AB394: .4byte 0x00007e3f - thumb_func_end sub_80AB350 - - thumb_func_start sub_80AB398 -sub_80AB398: @ 80AB398 - push {r4-r6,lr} - ldr r4, _080AB468 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x5C - bl memset - movs r5, 0 - adds r4, 0x2 - movs r2, 0xFF -_080AB3AC: - adds r1, r5, r4 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - adds r5, 0x1 - cmp r5, 0x3 - ble _080AB3AC - ldr r4, _080AB46C - movs r5, 0x3 -_080AB3BE: - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x1C - bl memset - adds r4, 0x1C - subs r5, 0x1 - cmp r5, 0 - bge _080AB3BE - ldr r4, _080AB470 - movs r6, 0x4 - negs r6, r6 - movs r3, 0xFF - adds r2, r4, 0 - subs r2, 0x65 - movs r5, 0x3 -_080AB3DE: - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - strb r0, [r2] - ldrb r0, [r2, 0x8] - orrs r0, r3 - strb r0, [r2, 0x8] - ldrb r0, [r2, 0x9] - orrs r0, r3 - strb r0, [r2, 0x9] - adds r2, 0x1C - subs r5, 0x1 - cmp r5, 0 - bge _080AB3DE - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x14 - bl memset - adds r0, r4, 0 - adds r0, 0x14 - movs r1, 0 - movs r2, 0x44 - bl memset - adds r0, r4, 0 - adds r0, 0x58 - movs r1, 0 - movs r2, 0x4 - bl memset - adds r0, r4, 0 - adds r0, 0x68 - movs r1, 0 - movs r2, 0x10 - bl memset - ldr r0, _080AB474 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080AB43A - movs r0, 0 - bl sub_80B0F28 -_080AB43A: - movs r5, 0 - movs r6, 0xFF - adds r3, r4, 0 - subs r3, 0xB8 - adds r2, r4, 0 - subs r2, 0x57 - ldr r4, _080AB478 -_080AB448: - ldrb r0, [r2] - orrs r0, r6 - strb r0, [r2] - adds r1, r3, r5 - adds r0, r5, r4 - ldrb r0, [r0] - strb r0, [r1] - adds r2, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080AB448 - bl sub_80B159C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AB468: .4byte 0x02019204 -_080AB46C: .4byte 0x02019260 -_080AB470: .4byte 0x020192d0 -_080AB474: .4byte gUnknown_0203869A -_080AB478: .4byte gUnknown_02038696 - thumb_func_end sub_80AB398 - - thumb_func_start sub_80AB47C -sub_80AB47C: @ 80AB47C - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, _080AB498 - ldr r1, _080AB49C - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0x1 - beq _080AB554 - cmp r0, 0x1 - bgt _080AB4A0 - cmp r0, 0 - beq _080AB4AA - b _080AB5AE - .align 2, 0 -_080AB498: .4byte gMain -_080AB49C: .4byte 0x0000043c -_080AB4A0: - cmp r0, 0x2 - beq _080AB55A - cmp r0, 0x3 - beq _080AB578 - b _080AB5AE -_080AB4AA: - movs r0, 0 - bl SetVBlankCallback - bl sub_80AB320 - bl sub_80AB1BC - bl dp12_8087EA4 - bl ResetPaletteFade - ldr r0, _080AB538 - ldrb r1, [r0, 0x8] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0, 0x8] - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - movs r5, 0 - ldr r1, _080AB53C - movs r4, 0x80 - lsls r4, 5 - ldr r6, _080AB540 - movs r7, 0x85 - lsls r7, 24 -_080AB4E0: - str r5, [sp] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _080AB4E0 - str r5, [sp] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - ldr r1, _080AB544 - movs r0, 0x4 - strb r0, [r1] - ldr r0, _080AB548 - movs r1, 0xC0 - lsls r1, 9 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - bl sub_8040710 - bl sub_80AB398 - ldr r1, _080AB54C - ldr r0, _080AB550 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080AB5AE - .align 2, 0 -_080AB538: .4byte gPaletteFade -_080AB53C: .4byte 0x040000d4 -_080AB540: .4byte 0x85000400 -_080AB544: .4byte gReservedSpritePaletteCount -_080AB548: .4byte 0x02000000 -_080AB54C: .4byte gMain -_080AB550: .4byte 0x0000043c -_080AB554: - bl sub_80AB350 - b _080AB56C -_080AB55A: - ldr r5, _080AB574 - adds r0, r5, 0 - bl sub_80AB70C - lsls r0, 24 - cmp r0, 0 - beq _080AB5AE - movs r0, 0 - strb r0, [r5] -_080AB56C: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _080AB5AE - .align 2, 0 -_080AB574: .4byte 0x0201925d -_080AB578: - bl sub_80B2184 - ldr r0, _080AB5B8 - movs r1, 0 - strh r1, [r0] - ldr r0, _080AB5BC - strh r1, [r0] - movs r0, 0x2 - bl BeginFastPaletteFade - ldr r2, _080AB5C0 - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, _080AB5C4 - bl SetVBlankCallback - ldr r0, _080AB5C8 - movs r1, 0xA - bl CreateTask - ldr r1, _080AB5CC - strb r0, [r1, 0x8] - ldr r0, _080AB5D0 - bl SetMainCallback2 -_080AB5AE: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AB5B8: .4byte gUnknown_030042C0 -_080AB5BC: .4byte gUnknown_030041B4 -_080AB5C0: .4byte gPaletteFade -_080AB5C4: .4byte sub_80ABAC4 -_080AB5C8: .4byte sub_80AB5D4 -_080AB5CC: .4byte 0x02019204 -_080AB5D0: .4byte sub_80ABAAC - thumb_func_end sub_80AB47C - - thumb_func_start sub_80AB5D4 -sub_80AB5D4: @ 80AB5D4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080AB5F8 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080AB5F4 - ldr r0, _080AB5FC - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, _080AB600 - str r0, [r1] -_080AB5F4: - pop {r0} - bx r0 - .align 2, 0 -_080AB5F8: .4byte gPaletteFade -_080AB5FC: .4byte gTasks -_080AB600: .4byte sub_80AB604 - thumb_func_end sub_80AB5D4 - - thumb_func_start sub_80AB604 -sub_80AB604: @ 80AB604 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080AB648 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AB65C - ldr r2, _080AB64C - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080AB66A - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - bl sub_80AF860 - ldr r0, _080AB650 - movs r1, 0 - bl CreateTask - ldr r1, _080AB654 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080AB658 - str r1, [r0] - b _080AB66A - .align 2, 0 -_080AB648: .4byte gUnknown_0203869A -_080AB64C: .4byte gPaletteFade -_080AB650: .4byte sub_80AB678 -_080AB654: .4byte gTasks -_080AB658: .4byte nullsub_89 -_080AB65C: - ldr r0, _080AB670 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080AB674 - str r0, [r1] -_080AB66A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AB670: .4byte gTasks -_080AB674: .4byte sub_80AB960 - thumb_func_end sub_80AB604 - - thumb_func_start sub_80AB678 -sub_80AB678: @ 80AB678 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080AB68C - ldr r2, _080AB690 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080AB68C: .4byte sub_80C89DC -_080AB690: .4byte sub_80AB694 - thumb_func_end sub_80AB678 - - thumb_func_start sub_80AB694 -sub_80AB694: @ 80AB694 - lsls r0, 24 - lsrs r0, 24 - movs r3, 0x1 - ldr r2, _080AB6AC - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r3, [r1, 0x8] - ldr r0, _080AB6B0 - str r0, [r1] - bx lr - .align 2, 0 -_080AB6AC: .4byte gTasks -_080AB6B0: .4byte sub_80AB6B4 - thumb_func_end sub_80AB694 - - thumb_func_start sub_80AB6B4 -sub_80AB6B4: @ 80AB6B4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, _080AB6F8 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r5 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - cmp r1, 0 - bgt _080AB6F2 - bl GetMultiplayerId - adds r0, r4, 0 - bl DestroyTask - ldr r0, _080AB6FC - ldrb r1, [r0, 0x8] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - ldr r1, _080AB700 - str r1, [r0] - ldr r1, _080AB704 - ldr r0, _080AB708 - ldr r0, [r0] - str r0, [r1] -_080AB6F2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AB6F8: .4byte gTasks -_080AB6FC: .4byte 0x02019204 -_080AB700: .4byte sub_80AB960 -_080AB704: .4byte gRngValue -_080AB708: .4byte gUnknown_03005D28 - thumb_func_end sub_80AB6B4 - - thumb_func_start sub_80AB70C -sub_80AB70C: @ 80AB70C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x44 - mov r10, r0 - ldrb r0, [r0] - cmp r0, 0x6 - bls _080AB722 - b _080AB93C -_080AB722: - lsls r0, 2 - ldr r1, _080AB72C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AB72C: .4byte _080AB730 - .align 2, 0 -_080AB730: - .4byte _080AB74C - .4byte _080AB7A0 - .4byte _080AB7B0 - .4byte _080AB800 - .4byte _080AB814 - .4byte _080AB844 - .4byte _080AB8CC -_080AB74C: - ldr r0, _080AB794 - ldrb r1, [r0, 0x8] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0, 0x8] - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - add r5, sp, 0x40 - movs r6, 0 - ldr r1, _080AB798 - movs r4, 0x80 - lsls r4, 5 - mov r8, r5 - ldr r7, _080AB79C - movs r0, 0x85 - lsls r0, 24 - mov r9, r0 -_080AB772: - str r6, [sp, 0x40] - mov r0, r8 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _080AB772 - str r6, [sp, 0x40] - str r5, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r9 - orrs r0, r2 - b _080AB7E6 - .align 2, 0 -_080AB794: .4byte gPaletteFade -_080AB798: .4byte 0x040000d4 -_080AB79C: .4byte 0x85000400 -_080AB7A0: - ldr r0, _080AB7AC - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - b _080AB946 - .align 2, 0 -_080AB7AC: .4byte gContestMiscGfx -_080AB7B0: - ldr r0, _080AB7EC - ldr r4, _080AB7F0 - adds r1, r4, 0 - bl LZDecompressVram - ldr r3, _080AB7F4 - movs r5, 0x80 - lsls r5, 6 - ldr r1, _080AB7F8 - ldr r6, _080AB7FC - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x84 - lsls r7, 24 -_080AB7CC: - str r4, [r1] - str r3, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r4, r2 - adds r3, r2 - subs r5, r2 - cmp r5, r2 - bhi _080AB7CC - str r4, [r1] - str r3, [r1, 0x4] - lsrs r0, r5, 2 - orrs r0, r7 -_080AB7E6: - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - b _080AB946 - .align 2, 0 -_080AB7EC: .4byte gContestAudienceGfx -_080AB7F0: .4byte 0x06002000 -_080AB7F4: .4byte 0x02015800 -_080AB7F8: .4byte 0x040000d4 -_080AB7FC: .4byte 0x84000400 -_080AB800: - ldr r0, _080AB80C - ldr r1, _080AB810 - bl LZDecompressVram - b _080AB946 - .align 2, 0 -_080AB80C: .4byte gUnknown_08D1725C -_080AB810: .4byte 0x0600d000 -_080AB814: - ldr r0, _080AB830 - ldr r4, _080AB834 - adds r1, r4, 0 - bl LZDecompressVram - ldr r1, _080AB838 - ldr r0, _080AB83C - str r4, [r0] - str r1, [r0, 0x4] - ldr r1, _080AB840 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - b _080AB946 - .align 2, 0 -_080AB830: .4byte gUnknown_08D17424 -_080AB834: .4byte 0x0600e000 -_080AB838: .4byte 0x02018a04 -_080AB83C: .4byte 0x040000d4 -_080AB840: .4byte 0x84000200 -_080AB844: - ldr r0, _080AB8AC - movs r2, 0x80 - lsls r2, 2 - movs r1, 0 - bl LoadCompressedPalette - ldr r5, _080AB8B0 - ldr r6, _080AB8B4 - adds r0, r5, 0 - mov r1, sp - adds r2, r6, 0 - bl CpuSet - ldr r0, _080AB8B8 - mov r9, r0 - ldrb r0, [r0] - adds r0, 0x5 - lsls r0, 5 - ldr r1, _080AB8BC - adds r1, r5 - mov r8, r1 - add r0, r8 - add r4, sp, 0x20 - adds r1, r4, 0 - adds r2, r6, 0 - bl CpuSet - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl CpuSet - mov r2, r9 - ldrb r1, [r2] - adds r1, 0x5 - lsls r1, 5 - add r1, r8 - mov r0, sp - adds r2, r6, 0 - bl CpuSet - ldr r1, _080AB8C0 - ldr r0, _080AB8C4 - mov r2, r8 - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, _080AB8C8 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - bl sub_80AB350 - b _080AB946 - .align 2, 0 -_080AB8AC: .4byte gUnknown_08D17144 -_080AB8B0: .4byte gPlttBufferUnfaded + 0x100 -_080AB8B4: .4byte REG_BG0CNT -_080AB8B8: .4byte gUnknown_02038695 -_080AB8BC: .4byte 0xffffff00 -_080AB8C0: .4byte 0x02018004 -_080AB8C4: .4byte 0x040000d4 -_080AB8C8: .4byte 0x84000080 -_080AB8CC: - bl sub_80B1118 - bl sub_80AFA5C - bl sub_80AEB30 - bl sub_80AE8B4 - ldr r1, _080AB924 - movs r4, 0 - strb r0, [r1, 0x12] - bl sub_80AFE30 - bl sub_80B0034 - bl sub_80B00C8 - bl sub_80B0324 - bl sub_80B0518 - ldr r1, _080AB928 - strb r4, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r3, 0x3 - strb r3, [r1, 0x2] - movs r2, 0x2 - strb r2, [r1, 0x3] - ldr r0, _080AB92C - strh r4, [r0] - ldr r4, _080AB930 - strb r2, [r4] - ldr r0, _080AB934 - strb r3, [r0] - bl sub_80AE858 - ldr r2, _080AB938 - ldrb r1, [r4] - adds r1, r2 - strb r0, [r1] - bl sub_80B292C - b _080AB946 - .align 2, 0 -_080AB924: .4byte 0x02019204 -_080AB928: .4byte gUnknown_02024A72 -_080AB92C: .4byte gUnknown_020239F8 -_080AB930: .4byte gUnknown_02024C07 -_080AB934: .4byte gUnknown_02024C08 -_080AB938: .4byte gUnknown_02024BE0 -_080AB93C: - movs r0, 0 - mov r1, r10 - strb r0, [r1] - movs r0, 0x1 - b _080AB950 -_080AB946: - mov r2, r10 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - movs r0, 0 -_080AB950: - add sp, 0x44 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80AB70C - - thumb_func_start sub_80AB960 -sub_80AB960: @ 80AB960 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _080AB994 - ldrb r2, [r1, 0x8] - movs r0, 0x7F - ands r0, r2 - strb r0, [r1, 0x8] - ldrb r1, [r1, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080AB990 - ldr r0, _080AB998 - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r2, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, _080AB99C - str r0, [r1] -_080AB990: - pop {r0} - bx r0 - .align 2, 0 -_080AB994: .4byte gPaletteFade -_080AB998: .4byte gTasks -_080AB99C: .4byte sub_80AB9A0 - thumb_func_end sub_80AB960 - - thumb_func_start sub_80AB9A0 -sub_80AB9A0: @ 80AB9A0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080AB9C4 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _080ABA7C - lsls r0, 2 - ldr r1, _080AB9C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AB9C4: .4byte gTasks -_080AB9C8: .4byte _080AB9CC - .align 2, 0 -_080AB9CC: - .4byte _080AB9E0 - .4byte _080ABA0A - .4byte _080ABA28 - .4byte _080ABA44 - .4byte _080ABA7C -_080AB9E0: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0xA] - adds r1, r0, 0x1 - strh r1, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _080ABA9C - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x61 - movs r1, 0 - bl PlaySE12WithPanning - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080ABA9C -_080ABA0A: - ldr r1, _080ABA24 - ldrh r0, [r1] - adds r0, 0x7 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA0 - ble _080ABA9C - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - b _080ABA68 - .align 2, 0 -_080ABA24: .4byte gUnknown_030041B4 -_080ABA28: - bl sub_80B2280 - ldr r0, _080ABA40 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080ABA9C - .align 2, 0 -_080ABA40: .4byte gTasks -_080ABA44: - ldr r3, _080ABA70 - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - ldr r2, _080ABA74 - ldrb r0, [r2] - ands r1, r0 - strb r1, [r2] - bl sub_80B1B14 - ldr r1, _080ABA78 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 -_080ABA68: - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080ABA9C - .align 2, 0 -_080ABA70: .4byte REG_BG0CNT -_080ABA74: .4byte REG_BG2CNT -_080ABA78: .4byte gTasks -_080ABA7C: - ldr r0, _080ABAA4 - ldrb r1, [r0, 0x6] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080ABA9C - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - ldr r1, _080ABAA8 - str r1, [r0] -_080ABA9C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ABAA4: .4byte 0x02019204 -_080ABAA8: .4byte sub_80ABB70 - thumb_func_end sub_80AB9A0 - - thumb_func_start sub_80ABAAC -sub_80ABAAC: @ 80ABAAC - push {lr} - bl AnimateSprites - bl RunTasks - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80ABAAC - - thumb_func_start sub_80ABAC4 -sub_80ABAC4: @ 80ABAC4 - push {lr} - ldr r1, _080ABB3C - ldr r0, _080ABB40 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080ABB44 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080ABB48 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080ABB4C - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080ABB50 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080ABB54 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080ABB58 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080ABB5C - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x22 - ldr r0, _080ABB60 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x4 - ldr r0, _080ABB64 - ldrh r0, [r0] - strh r0, [r1] - subs r1, 0x2 - ldr r0, _080ABB68 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x4 - ldr r0, _080ABB6C - ldrh r0, [r0] - strh r0, [r1] - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - bl sub_8089668 - pop {r0} - bx r0 - .align 2, 0 -_080ABB3C: .4byte REG_BG0HOFS -_080ABB40: .4byte gUnknown_030042A4 -_080ABB44: .4byte gUnknown_030042A0 -_080ABB48: .4byte gUnknown_030042C0 -_080ABB4C: .4byte gUnknown_030041B4 -_080ABB50: .4byte gUnknown_03004288 -_080ABB54: .4byte gUnknown_03004280 -_080ABB58: .4byte gUnknown_030041B0 -_080ABB5C: .4byte gUnknown_030041B8 -_080ABB60: .4byte gUnknown_030042C4 -_080ABB64: .4byte gUnknown_03004240 -_080ABB68: .4byte gUnknown_03004200 -_080ABB6C: .4byte gUnknown_03004244 - thumb_func_end sub_80ABAC4 - - thumb_func_start sub_80ABB70 -sub_80ABB70: @ 80ABB70 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _080ABBB0 - movs r1, 0 - strh r1, [r0] - ldr r0, _080ABBB4 - strh r1, [r0] - bl sub_80B0D7C - ldr r1, _080ABBB8 - ldr r2, _080ABBBC - ldr r0, _080ABBC0 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _080ABBC4 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _080ABBC8 - ldrb r0, [r0] - bl sub_80AF59C - lsls r0, 24 - cmp r0, 0 - bne _080ABBD4 - ldr r0, _080ABBCC - ldr r1, _080ABBD0 - bl StringCopy - b _080ABBDC - .align 2, 0 -_080ABBB0: .4byte gUnknown_030042A0 -_080ABBB4: .4byte gUnknown_03004280 -_080ABBB8: .4byte gPlttBufferUnfaded -_080ABBBC: .4byte 0x02018204 -_080ABBC0: .4byte 0x040000d4 -_080ABBC4: .4byte 0x84000100 -_080ABBC8: .4byte gUnknown_02038695 -_080ABBCC: .4byte gUnknown_020238CC -_080ABBD0: .4byte gUnknown_083CAF84 -_080ABBD4: - ldr r0, _080ABC20 - ldr r1, _080ABC24 - bl StringCopy -_080ABBDC: - ldr r5, _080ABC20 - ldr r0, _080ABC28 - ldrb r1, [r0, 0x1] - adds r1, 0x1 - adds r0, r5, 0 - bl sub_80AE020 - bl sub_80AF138 - ldr r4, _080ABC2C - adds r0, r4, 0 - adds r1, r5, 0 - bl StringExpandPlaceholders - ldr r0, _080ABC30 - movs r2, 0xC2 - lsls r2, 2 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8002EB0 - ldr r1, _080ABC34 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _080ABC38 - str r1, [r0] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080ABC20: .4byte gUnknown_020238CC -_080ABC24: .4byte gUnknown_083CAFAE -_080ABC28: .4byte 0x02019204 -_080ABC2C: .4byte gStringVar4 -_080ABC30: .4byte gMenuWindow -_080ABC34: .4byte gTasks -_080ABC38: .4byte sub_80ABC3C - thumb_func_end sub_80ABB70 - - thumb_func_start sub_80ABC3C -sub_80ABC3C: @ 80ABC3C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080ABC64 - bl sub_80037A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080ABC5E - ldr r0, _080ABC68 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080ABC6C - str r0, [r1] -_080ABC5E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ABC64: .4byte gMenuWindow -_080ABC68: .4byte gTasks -_080ABC6C: .4byte sub_80ABC70 - thumb_func_end sub_80ABC3C - - thumb_func_start sub_80ABC70 -sub_80ABC70: @ 80ABC70 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, _080ABCB0 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080ABC88 - cmp r1, 0x2 - bne _080ABCCE -_080ABC88: - movs r0, 0x5 - bl PlaySE - ldr r0, _080ABCB4 - ldrb r0, [r0] - bl sub_80AF59C - lsls r0, 24 - cmp r0, 0 - bne _080ABCC0 - movs r0, 0x1 - bl sub_80AFFE0 - ldr r0, _080ABCB8 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080ABCBC - b _080ABCCC - .align 2, 0 -_080ABCB0: .4byte gMain -_080ABCB4: .4byte gUnknown_02038695 -_080ABCB8: .4byte gTasks -_080ABCBC: .4byte sub_80ABCDC -_080ABCC0: - ldr r0, _080ABCD4 - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080ABCD8 -_080ABCCC: - str r0, [r1] -_080ABCCE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080ABCD4: .4byte gTasks -_080ABCD8: .4byte sub_80AC0C8 - thumb_func_end sub_80ABC70 - - thumb_func_start sub_80ABCDC -sub_80ABCDC: @ 80ABCDC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x28] - ldr r0, _080ABD80 - movs r1, 0xA0 - strh r1, [r0] - ldr r0, _080ABD84 - strh r1, [r0] - ldr r5, _080ABD88 - ldr r4, _080ABD8C - ldrb r2, [r4] - ldrb r3, [r4, 0x1] - ldrb r0, [r4, 0x2] - str r0, [sp] - ldrb r0, [r4, 0x3] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - bl FillWindowRect_DefaultPalette - movs r6, 0 - ldr r0, _080ABD90 - mov r8, r0 - ldr r7, _080ABD94 - mov r9, r5 - mov r10, r4 -_080ABD1C: - lsls r1, r6, 1 - mov r3, r8 - ldrb r2, [r3] - lsls r0, r2, 6 - adds r1, r0 - ldr r0, _080ABD98 - adds r1, r0 - ldrh r4, [r1] - add r5, sp, 0x8 - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r7 - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _080ABDA0 - adds r0, r2, 0 - bl sub_80B214C - lsls r0, 24 - cmp r0, 0 - beq _080ABDA0 - mov r2, r8 - ldrb r1, [r2] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r0, [r0, 0x8] - adds r1, r4, 0 - bl AreMovesContestCombo - lsls r0, 24 - cmp r0, 0 - beq _080ABDA0 - mov r3, r8 - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080ABDA0 - add r0, sp, 0x8 - ldr r1, _080ABD9C - b _080ABDC6 - .align 2, 0 -_080ABD80: .4byte gUnknown_030042A0 -_080ABD84: .4byte gUnknown_03004280 -_080ABD88: .4byte gUnknown_03004210 -_080ABD8C: .4byte gUnknown_083CA340 -_080ABD90: .4byte gUnknown_02038695 -_080ABD94: .4byte 0x02019260 -_080ABD98: .4byte gUnknown_0203858E -_080ABD9C: .4byte gUnknownText_UnknownFormatting2 -_080ABDA0: - cmp r4, 0 - beq _080ABDCC - mov r1, r8 - ldrb r0, [r1] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r7 - ldrh r0, [r1, 0x8] - cmp r0, r4 - bne _080ABDCC - ldr r0, _080ABE74 - lsls r1, r4, 3 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x3 - beq _080ABDCC - add r0, sp, 0x8 - ldr r1, _080ABE78 -_080ABDC6: - bl StringCopy - adds r5, r0, 0 -_080ABDCC: - movs r0, 0xD - adds r1, r4, 0 - muls r1, r0 - ldr r0, _080ABE7C - adds r1, r0 - adds r0, r5, 0 - bl StringCopy - lsls r1, r6, 2 - adds r2, r1, r6 - lsls r2, 18 - movs r3, 0xC2 - lsls r3, 18 - adds r2, r3 - lsrs r2, 16 - mov r3, r10 - adds r0, r1, r3 - ldrb r3, [r0] - lsls r3, 3 - adds r3, 0x4 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _080ABE80 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 3 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - mov r0, r9 - add r1, sp, 0x8 - bl sub_8002E4C - mov r0, r9 - bl sub_8002F44 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bhi _080ABE20 - b _080ABD1C -_080ABE20: - ldr r1, _080ABE84 - ldr r3, _080ABE88 - movs r0, 0x48 - str r0, [sp] - movs r0, 0 - movs r2, 0xC - bl sub_814A5C0 - ldr r4, _080ABE8C - movs r0, 0 - ldrsb r0, [r4, r0] - bl sub_80AC0AC - ldr r2, _080ABE90 - ldrb r1, [r4] - lsls r1, 1 - ldr r0, _080ABE94 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl sub_80AEBEC - ldr r1, _080ABE98 - ldr r2, [sp, 0x28] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldr r1, _080ABE9C - str r1, [r0] - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ABE74: .4byte gContestMoves -_080ABE78: .4byte gUnknownText_UnknownFormatting3 -_080ABE7C: .4byte gMoveNames -_080ABE80: .4byte gUnknown_083CA340 + 0x1 -_080ABE84: .4byte 0x0000ffff -_080ABE88: .4byte 0x00002d9f -_080ABE8C: .4byte 0x02019204 -_080ABE90: .4byte gUnknown_02038570 -_080ABE94: .4byte gUnknown_02038695 -_080ABE98: .4byte gTasks -_080ABE9C: .4byte sub_80ABEA0 - thumb_func_end sub_80ABCDC - - thumb_func_start sub_80ABEA0 -sub_80ABEA0: @ 80ABEA0 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - ldr r3, _080ABEF4 - ldr r1, _080ABEF8 - ldr r0, _080ABEFC - ldrb r0, [r0] - lsls r0, 6 - adds r1, 0x1E - adds r1, r0, r1 - movs r2, 0x3 -_080ABEBA: - ldrh r0, [r1] - cmp r0, 0 - beq _080ABEC6 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080ABEC6: - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _080ABEBA - ldrh r0, [r3, 0x2E] - movs r5, 0x1 - ands r5, r0 - cmp r5, 0 - beq _080ABF08 - bl sub_814A7FC - movs r0, 0x5 - bl PlaySE - ldr r0, _080ABF00 - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, _080ABF04 - str r0, [r1] - b _080AC098 - .align 2, 0 -_080ABEF4: .4byte gMain -_080ABEF8: .4byte gUnknown_02038570 -_080ABEFC: .4byte gUnknown_02038695 -_080ABF00: .4byte gTasks -_080ABF04: .4byte sub_80AC0C8 -_080ABF08: - ldrh r0, [r3, 0x30] - cmp r0, 0x20 - bne _080ABF10 - b _080AC098 -_080ABF10: - cmp r0, 0x20 - bgt _080ABF1A - cmp r0, 0x2 - beq _080ABF26 - b _080AC098 -_080ABF1A: - cmp r0, 0x40 - beq _080ABFEC - cmp r0, 0x80 - bne _080ABF24 - b _080AC048 -_080ABF24: - b _080AC098 -_080ABF26: - bl sub_814A904 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_80AFFE0 - ldr r0, _080ABF64 - ldr r1, _080ABF68 - ldrb r2, [r1] - ldrb r3, [r1, 0x1] - ldrb r4, [r1, 0x2] - str r4, [sp] - ldrb r1, [r1, 0x3] - str r1, [sp, 0x4] - movs r1, 0 - bl FillWindowRect_DefaultPalette - ldr r0, _080ABF6C - ldrb r0, [r0] - bl sub_80AF59C - lsls r0, 24 - cmp r0, 0 - bne _080ABF78 - ldr r0, _080ABF70 - ldr r1, _080ABF74 - bl StringCopy - b _080ABF80 - .align 2, 0 -_080ABF64: .4byte gUnknown_03004210 -_080ABF68: .4byte gUnknown_083CA340 -_080ABF6C: .4byte gUnknown_02038695 -_080ABF70: .4byte gUnknown_020238CC -_080ABF74: .4byte gUnknown_083CAF84 -_080ABF78: - ldr r0, _080ABFC8 - ldr r1, _080ABFCC - bl StringCopy -_080ABF80: - ldr r5, _080ABFC8 - ldr r0, _080ABFD0 - ldrb r1, [r0, 0x1] - adds r1, 0x1 - adds r0, r5, 0 - bl sub_80AE020 - bl sub_80AF138 - ldr r4, _080ABFD4 - adds r0, r4, 0 - adds r1, r5, 0 - bl StringExpandPlaceholders - ldr r0, _080ABFD8 - movs r2, 0xC2 - lsls r2, 2 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8003460 - ldr r0, _080ABFDC - movs r1, 0 - strh r1, [r0] - ldr r0, _080ABFE0 - strh r1, [r0] - ldr r1, _080ABFE4 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, _080ABFE8 - str r1, [r0] - b _080AC098 - .align 2, 0 -_080ABFC8: .4byte gUnknown_020238CC -_080ABFCC: .4byte gUnknown_083CAFAE -_080ABFD0: .4byte 0x02019204 -_080ABFD4: .4byte gStringVar4 -_080ABFD8: .4byte gMenuWindow -_080ABFDC: .4byte gUnknown_030042A0 -_080ABFE0: .4byte gUnknown_03004280 -_080ABFE4: .4byte gTasks -_080ABFE8: .4byte sub_80ABC70 -_080ABFEC: - ldr r4, _080AC000 - movs r0, 0 - ldrsb r0, [r4, r0] - bl nullsub_17 - ldrb r0, [r4] - cmp r0, 0 - bne _080AC004 - subs r0, r6, 0x1 - b _080AC006 - .align 2, 0 -_080AC000: .4byte 0x02019204 -_080AC004: - subs r0, 0x1 -_080AC006: - strb r0, [r4] - ldr r4, _080AC03C - movs r0, 0 - ldrsb r0, [r4, r0] - bl sub_80AC0AC - bl sub_80AED58 - ldr r2, _080AC040 - ldrb r1, [r4] - lsls r1, 1 - ldr r0, _080AC044 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl sub_80AEBEC - cmp r6, 0x1 - bls _080AC098 - movs r0, 0x5 - bl PlaySE - b _080AC098 - .align 2, 0 -_080AC03C: .4byte 0x02019204 -_080AC040: .4byte gUnknown_02038570 -_080AC044: .4byte gUnknown_02038695 -_080AC048: - ldr r4, _080AC060 - movs r0, 0 - ldrsb r0, [r4, r0] - bl nullsub_17 - ldrb r1, [r4] - subs r0, r6, 0x1 - cmp r1, r0 - bne _080AC064 - strb r5, [r4] - b _080AC068 - .align 2, 0 -_080AC060: .4byte 0x02019204 -_080AC064: - adds r0, r1, 0x1 - strb r0, [r4] -_080AC068: - ldr r4, _080AC0A0 - movs r0, 0 - ldrsb r0, [r4, r0] - bl sub_80AC0AC - bl sub_80AED58 - ldr r2, _080AC0A4 - ldrb r1, [r4] - lsls r1, 1 - ldr r0, _080AC0A8 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl sub_80AEBEC - cmp r6, 0x1 - bls _080AC098 - movs r0, 0x5 - bl PlaySE -_080AC098: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AC0A0: .4byte 0x02019204 -_080AC0A4: .4byte gUnknown_02038570 -_080AC0A8: .4byte gUnknown_02038695 - thumb_func_end sub_80ABEA0 - - thumb_func_start sub_80AC0AC -sub_80AC0AC: @ 80AC0AC - push {lr} - adds r1, r0, 0 - lsls r1, 28 - movs r0, 0xB0 - lsls r0, 23 - adds r1, r0 - lsrs r1, 24 - movs r0, 0x4 - bl sub_814A880 - pop {r0} - bx r0 - thumb_func_end sub_80AC0AC - - thumb_func_start nullsub_17 -nullsub_17: @ 80AC0C4 - bx lr - thumb_func_end nullsub_17 - - thumb_func_start sub_80AC0C8 -sub_80AC0C8: @ 80AC0C8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080AC120 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AC13C - ldr r4, _080AC124 - ldrb r0, [r4] - bl sub_80AF15C - ldrb r2, [r4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - ldr r2, _080AC128 - adds r1, r2 - strh r0, [r1, 0x6] - ldr r4, _080AC12C - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080AC130 - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, _080AC134 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080AC138 - str r1, [r0] - bl sub_80AF860 - movs r0, 0 - bl sub_80AFFE0 - b _080AC14E - .align 2, 0 -_080AC120: .4byte gUnknown_0203869A -_080AC124: .4byte gUnknown_02038695 -_080AC128: .4byte 0x02019260 -_080AC12C: .4byte sub_80C8A38 -_080AC130: .4byte sub_80AC15C -_080AC134: .4byte gTasks -_080AC138: .4byte nullsub_89 -_080AC13C: - bl sub_80AF1B8 - ldr r0, _080AC154 - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080AC158 - str r0, [r1] -_080AC14E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AC154: .4byte gTasks -_080AC158: .4byte sub_80AC188 - thumb_func_end sub_80AC0C8 - - thumb_func_start sub_80AC15C -sub_80AC15C: @ 80AC15C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r2, _080AC17C - ldr r0, _080AC180 - ldrb r1, [r0, 0x8] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _080AC184 - str r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080AC17C: .4byte gTasks -_080AC180: .4byte 0x02019204 -_080AC184: .4byte sub_80AC188 - thumb_func_end sub_80AC15C - - thumb_func_start sub_80AC188 -sub_80AC188: @ 80AC188 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl sub_80AF138 - ldr r0, _080AC1E4 - movs r1, 0 - strh r1, [r0] - ldr r0, _080AC1E8 - strh r1, [r0] - movs r0, 0 - bl sub_80AFFE0 - ldr r1, _080AC1EC - ldr r0, _080AC1F0 - movs r2, 0x80 - lsls r2, 3 - ldr r4, _080AC1F4 - str r1, [r4] - str r0, [r4, 0x4] - lsrs r1, r2, 2 - movs r3, 0x84 - lsls r3, 24 - orrs r1, r3 - str r1, [r4, 0x8] - ldr r1, [r4, 0x8] - ldr r1, _080AC1F8 - adds r0, r1 - movs r1, 0 - bl LoadPalette - ldr r1, _080AC1FC - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - ldr r1, _080AC200 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AC1E4: .4byte gUnknown_030042A0 -_080AC1E8: .4byte gUnknown_03004280 -_080AC1EC: .4byte gPlttBufferFaded -_080AC1F0: .4byte 0x02018604 -_080AC1F4: .4byte 0x040000d4 -_080AC1F8: .4byte 0xfffffc00 -_080AC1FC: .4byte gTasks -_080AC200: .4byte sub_80AC204 - thumb_func_end sub_80AC188 - - thumb_func_start sub_80AC204 -sub_80AC204: @ 80AC204 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080AC248 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080AC242 - movs r0, 0 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080AC242 - bl sub_80B1BDC - movs r0, 0x1 - bl sub_80B25E4 - ldr r0, _080AC24C - str r0, [r4] -_080AC242: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AC248: .4byte gTasks -_080AC24C: .4byte sub_80AC250 - thumb_func_end sub_80AC204 - - thumb_func_start sub_80AC250 -sub_80AC250: @ 80AC250 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080AC278 - ldrh r1, [r0, 0x6] - movs r0, 0x90 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - bne _080AC272 - ldr r0, _080AC27C - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, _080AC280 - str r0, [r1] -_080AC272: - pop {r0} - bx r0 - .align 2, 0 -_080AC278: .4byte 0x02019204 -_080AC27C: .4byte gTasks -_080AC280: .4byte sub_80AC284 - thumb_func_end sub_80AC250 - - thumb_func_start sub_80AC284 -sub_80AC284: @ 80AC284 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080AC2BC - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080AC2B6 - ldr r1, _080AC2C0 - movs r0, 0 - strb r0, [r1, 0x10] - ldr r0, _080AC2C4 - ldr r0, [r0] - str r0, [r1, 0x18] - movs r0, 0 - strh r0, [r2, 0x8] - ldr r0, _080AC2C8 - str r0, [r2] -_080AC2B6: - pop {r0} - bx r0 - .align 2, 0 -_080AC2BC: .4byte gTasks -_080AC2C0: .4byte 0x02019204 -_080AC2C4: .4byte gRngValue -_080AC2C8: .4byte sub_80AC2CC - thumb_func_end sub_80AC284 - - thumb_func_start sub_80AC2CC -sub_80AC2CC: @ 80AC2CC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, _080AC308 - ldrb r7, [r2, 0x11] - ldr r1, _080AC30C - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r3, 0x8 - ldrsh r0, [r0, r3] - adds r6, r2, 0 - mov r12, r1 - cmp r0, 0x3B - bls _080AC2FC - bl _080AD8CA -_080AC2FC: - lsls r0, 2 - ldr r1, _080AC310 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AC308: .4byte 0x02019204 -_080AC30C: .4byte gTasks -_080AC310: .4byte _080AC314 - .align 2, 0 -_080AC314: - .4byte _080AC404 - .4byte _080AC4B4 - .4byte _080AC4D4 - .4byte _080AC534 - .4byte _080AC5E8 - .4byte _080AC638 - .4byte _080AC6F8 - .4byte _080AC730 - .4byte _080AC77C - .4byte _080AC7F4 - .4byte _080AD750 - .4byte _080AD77C - .4byte _080AC98C - .4byte _080AC9C0 - .4byte _080ACEC0 - .4byte _080ACFD4 - .4byte _080AD040 - .4byte _080AD070 - .4byte _080AD168 - .4byte _080AD11A - .4byte _080AD7B8 - .4byte _080AD868 - .4byte _080AD88C - .4byte _080AC81E - .4byte _080AC8CC - .4byte _080ACAD8 - .4byte _080ACAEE - .4byte _080ACBB0 - .4byte _080ACBDC - .4byte _080ACC44 - .4byte _080ACD2A - .4byte _080AD7E8 - .4byte _080AD840 - .4byte _080AD648 - .4byte _080AD6D8 - .4byte _080AC9EC - .4byte _080ACA24 - .4byte _080ACA44 - .4byte _080ACA84 - .4byte _080ACC98 - .4byte _080ACD00 - .4byte _080AD1A4 - .4byte _080AD8CA - .4byte _080AD514 - .4byte _080AD8CA - .4byte _080ACFA8 - .4byte _080AD0FA - .4byte _080AC96C - .4byte _080AC8F8 - .4byte _080AC94C - .4byte _080ACAAE - .4byte _080ACDC8 - .4byte _080ACE64 - .4byte _080AD316 - .4byte _080AD3D0 - .4byte _080AD700 - .4byte _080AD71C - .4byte _080AD53C - .4byte _080AD5D0 - .4byte _080AD624 -_080AC404: - bl sub_80B0D7C - movs r6, 0 - ldr r0, _080AC484 - adds r1, r0, 0 - adds r1, 0xCC - ldrb r0, [r0, 0x10] - mov r4, r8 - lsls r4, 2 - mov r9, r4 - ldrb r5, [r1] - cmp r0, r5 - beq _080AC42C - adds r2, r1, 0 - adds r1, r0, 0 -_080AC422: - adds r6, 0x1 - adds r0, r6, r2 - ldrb r0, [r0] - cmp r1, r0 - bne _080AC422 -_080AC42C: - ldr r4, _080AC484 - strb r6, [r4, 0x11] - ldrb r7, [r4, 0x11] - ldr r0, _080AC488 - ldrb r1, [r0] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080AC498 - ldrb r0, [r4, 0x7] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x7] - bl sub_80AE074 - lsls r0, 24 - cmp r0, 0 - beq _080AC458 - ldrb r0, [r4, 0x11] - bl sub_80B114C -_080AC458: - ldr r4, _080AC48C - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080AC490 - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - bl sub_80AF860 - ldr r1, _080AC494 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC484: .4byte 0x02019204 -_080AC488: .4byte gUnknown_0203869A -_080AC48C: .4byte sub_80C8C80 -_080AC490: .4byte sub_80AD8DC -_080AC494: .4byte gTasks -_080AC498: - adds r0, r7, 0 - bl sub_80B114C - ldr r0, _080AC4B0 - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x2 - strh r0, [r1, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC4B0: .4byte gTasks -_080AC4B4: - ldrb r1, [r6, 0x7] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080AC4C2 - bl _080AD8CA -_080AC4C2: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - add r0, r12 - movs r1, 0x2 - strh r1, [r0, 0x8] - bl _080AD8CA -_080AC4D4: - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - ldr r1, _080AC508 - adds r2, r0, r1 - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080AC4F6 - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _080AC50C -_080AC4F6: - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - add r0, r12 - movs r1, 0x1F - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC508: .4byte 0x02019260 -_080AC50C: - bl sub_80AF138 - adds r0, r7, 0 - movs r1, 0 - bl sub_80B0CDC - ldr r0, _080AC530 - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - strh r6, [r1, 0x1C] - movs r0, 0x3 - strh r0, [r1, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC530: .4byte gTasks -_080AC534: - mov r4, r8 - lsls r4, 2 - mov r9, r4 - ldr r4, _080AC5C4 - ldr r1, _080AC5C8 - movs r2, 0 - adds r0, r1, 0x3 -_080AC542: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _080AC542 - movs r6, 0x4 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x14 - bl memset - ldr r5, _080AC5CC - adds r7, r4, r5 - ldrb r0, [r7, 0x11] - bl sub_80B28F0 - ldr r3, _080AC5D0 - ldrb r2, [r7, 0x11] - lsls r2, 6 - adds r0, r2, r3 - ldrh r0, [r0] - adds r1, r3, 0 - adds r1, 0x3C - adds r1, r2, r1 - ldr r1, [r1] - adds r3, 0x38 - adds r2, r3 - ldr r2, [r2] - bl sub_80AE9FC - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _080AC5D4 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r3, r0, r2 - movs r1, 0x78 - strh r1, [r3, 0x24] - adds r2, 0x1C - adds r0, r2 - ldr r1, _080AC5D8 - str r1, [r0] - ldr r0, _080AC5DC - mov r4, r9 - add r4, r8 - lsls r4, 3 - adds r4, r0 - strh r5, [r4, 0xC] - ldr r1, _080AC5E0 - ldr r0, _080AC5E4 - ldrb r0, [r0] - adds r0, r1 - strb r5, [r0] - ldrb r0, [r7, 0x11] - bl sub_80B09E4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80B0BC4 - strh r6, [r4, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC5C4: .4byte 0x02019348 -_080AC5C8: .4byte gUnknown_02024E84 -_080AC5CC: .4byte 0xfffffebc -_080AC5D0: .4byte gUnknown_02038570 -_080AC5D4: .4byte gSprites -_080AC5D8: .4byte sub_80AD8FC -_080AC5DC: .4byte gTasks -_080AC5E0: .4byte gUnknown_02024BE0 -_080AC5E4: .4byte gUnknown_02024C07 -_080AC5E8: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - mov r3, r12 - adds r2, r0, r3 - ldrb r5, [r2, 0xC] - ldr r1, _080AC62C - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, [r0] - ldr r0, _080AC630 - cmp r1, r0 - beq _080AC60E - bl _080AD8CA -_080AC60E: - lsls r0, r7, 2 - ldr r1, _080AC634 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080AC622 - bl _080AD8CA -_080AC622: - movs r0, 0x5 - strh r0, [r2, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC62C: .4byte gSprites -_080AC630: .4byte SpriteCallbackDummy -_080AC634: .4byte 0x02019338 -_080AC638: - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - ldr r1, _080AC660 - adds r5, r0, r1 - ldrb r1, [r5, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AC664 - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - add r0, r12 - movs r1, 0x21 - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC660: .4byte 0x02019260 -_080AC664: - bl sub_80AF138 - ldr r0, _080AC690 - lsls r1, r7, 6 - ldr r2, _080AC694 - adds r1, r2 - bl StringCopy - ldrh r1, [r5, 0x6] - movs r0, 0xB1 - lsls r0, 1 - cmp r1, r0 - bhi _080AC6A0 - ldr r0, _080AC698 - adds r2, r1, 0 - movs r1, 0xD - muls r1, r2 - ldr r2, _080AC69C - adds r1, r2 - bl StringCopy - b _080AC6B0 - .align 2, 0 -_080AC690: .4byte gStringVar1 -_080AC694: .4byte gUnknown_02038572 -_080AC698: .4byte gStringVar2 -_080AC69C: .4byte gMoveNames -_080AC6A0: - ldr r0, _080AC6E0 - ldr r2, _080AC6E4 - ldrb r1, [r5, 0xA] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy -_080AC6B0: - ldr r4, _080AC6E8 - ldr r1, _080AC6EC - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _080AC6F0 - movs r2, 0xC2 - lsls r2, 2 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8002EB0 - ldr r1, _080AC6F4 - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x6 - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC6E0: .4byte gStringVar2 -_080AC6E4: .4byte gUnknown_083CC330 -_080AC6E8: .4byte gStringVar4 -_080AC6EC: .4byte gUnknown_083CAFD7 -_080AC6F0: .4byte gMenuWindow -_080AC6F4: .4byte gTasks -_080AC6F8: - ldr r0, _080AC724 - bl sub_80037A0 - lsls r0, 24 - cmp r0, 0 - bne _080AC708 - bl _080AD8CA -_080AC708: - ldr r0, _080AC728 - adds r0, 0x5A - movs r1, 0 - strb r1, [r0] - ldr r1, _080AC72C - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x7 - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC724: .4byte gMenuWindow -_080AC728: .4byte 0x02019204 -_080AC72C: .4byte gTasks -_080AC730: - ldrb r1, [r6, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x5C - adds r0, r1 - ldrh r0, [r0, 0x6] - bl sub_80B2760 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrb r0, [r6, 0x11] - bl sub_80B2790 - ldrb r0, [r6, 0x11] - bl sub_80B28F0 - adds r0, r4, 0 - bl sub_80B29B4 - adds r0, r4, 0 - bl move_anim_start_t1 - ldr r1, _080AC778 - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC778: .4byte gTasks -_080AC77C: - ldr r0, _080AC7B8 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _080AC7BC - ldrb r4, [r0] - cmp r4, 0 - beq _080AC790 - bl _080AD8CA -_080AC790: - adds r0, r7, 0 - bl unref_sub_80B28CC - ldr r1, _080AC7C0 - adds r0, r1, 0 - adds r0, 0x5A - ldrb r0, [r0] - cmp r0, 0 - beq _080AC7C8 - ldr r0, _080AC7C4 - mov r5, r8 - lsls r1, r5, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - strh r4, [r1, 0x1C] - movs r0, 0x9 - strh r0, [r1, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC7B8: .4byte gUnknown_0202F7AC -_080AC7BC: .4byte gUnknown_0202F7B1 -_080AC7C0: .4byte 0x02019204 -_080AC7C4: .4byte gTasks -_080AC7C8: - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - adds r1, 0x5C - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080AC7E2 - adds r0, r7, 0 - bl sub_80B03A8 -_080AC7E2: - bl unref_sub_80B20C4 - ldr r0, _080AC7F0 - mov r2, r8 - lsls r1, r2, 2 - b _080AC8E2 - .align 2, 0 -_080AC7F0: .4byte gTasks -_080AC7F4: - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - mov r4, r12 - adds r2, r0, r4 - ldrh r0, [r2, 0x1C] - adds r1, r0, 0x1 - strh r1, [r2, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - bgt _080AC812 - bl _080AD8CA -_080AC812: - movs r0, 0 - strh r0, [r2, 0x1C] - movs r0, 0x7 - strh r0, [r2, 0x8] - bl _080AD8CA -_080AC81E: - mov r5, r8 - lsls r3, r5, 2 - adds r0, r3, r5 - lsls r0, 3 - mov r1, r12 - adds r4, r0, r1 - movs r0, 0 - strh r0, [r4, 0xA] - lsls r2, r7, 3 - subs r0, r2, r7 - lsls r0, 2 - ldr r1, _080AC858 - adds r6, r0, r1 - ldrb r0, [r6, 0x13] - mov r9, r3 - mov r10, r2 - adds r3, r1, 0 - cmp r0, 0xFF - beq _080AC85C - adds r1, r0, 0 - adds r0, r7, 0 - bl sub_80B146C - movs r0, 0xFF - strb r0, [r6, 0x13] - movs r0, 0x18 - strh r0, [r4, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC858: .4byte 0x02019260 -_080AC85C: - ldrb r0, [r6, 0x14] - cmp r0, 0xFF - beq _080AC8C4 - movs r6, 0 - cmp r6, r7 - beq _080AC86E - ldrb r0, [r3, 0x13] - cmp r0, 0xFF - bne _080AC886 -_080AC86E: - adds r6, 0x1 - cmp r6, 0x3 - bgt _080AC886 - cmp r6, r7 - beq _080AC86E - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x13] - cmp r0, 0xFF - beq _080AC86E -_080AC886: - cmp r6, 0x4 - bne _080AC8B4 - mov r2, r10 - subs r4, r2, r7 - lsls r4, 2 - adds r4, r3 - ldrb r1, [r4, 0x14] - adds r0, r7, 0 - bl sub_80B146C - movs r0, 0xFF - strb r0, [r4, 0x14] - ldr r1, _080AC8B0 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x18 - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC8B0: .4byte gTasks -_080AC8B4: - mov r0, r9 - add r0, r8 - lsls r0, 3 - add r0, r12 - movs r1, 0x30 - strh r1, [r0, 0x8] - bl _080AD8CA -_080AC8C4: - movs r0, 0x30 - strh r0, [r4, 0x8] - bl _080AD8CA -_080AC8CC: - ldr r0, _080AC8F0 - bl sub_80037A0 - lsls r0, 24 - cmp r0, 0 - bne _080AC8DC - bl _080AD8CA -_080AC8DC: - ldr r0, _080AC8F4 - mov r3, r8 - lsls r1, r3, 2 -_080AC8E2: - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x17 - strh r0, [r1, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC8F0: .4byte gMenuWindow -_080AC8F4: .4byte gTasks -_080AC8F8: - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - ldr r1, _080AC914 - adds r0, r1 - ldrb r0, [r0, 0x11] - movs r3, 0x3 - ands r3, r0 - cmp r3, 0x1 - bne _080AC918 - movs r0, 0x5 - bl sub_80B1710 - b _080AC934 - .align 2, 0 -_080AC914: .4byte 0x02019260 -_080AC918: - cmp r3, 0x2 - bne _080AC924 - movs r0, 0x6 - bl sub_80B1710 - b _080AC934 -_080AC924: - cmp r3, 0x3 - beq _080AC92E - mov r4, r8 - lsls r0, r4, 2 - b _080AC95E -_080AC92E: - movs r0, 0x7 - bl sub_80B1710 -_080AC934: - ldr r0, _080AC948 - mov r5, r8 - lsls r1, r5, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x31 - strh r0, [r1, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC948: .4byte gTasks -_080AC94C: - ldrb r1, [r6, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080AC95A - bl _080AD8CA -_080AC95A: - mov r1, r8 - lsls r0, r1, 2 -_080AC95E: - add r0, r8 - lsls r0, 3 - add r0, r12 - movs r1, 0x2F - strh r1, [r0, 0x8] - bl _080AD8CA -_080AC96C: - movs r0, 0x1 - bl sub_80B1FD0 - ldr r0, _080AC988 - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0xC - strh r0, [r1, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC988: .4byte gTasks -_080AC98C: - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - ldr r1, _080AC9B8 - adds r0, r1 - movs r3, 0x2 - ldrsh r1, [r0, r3] - movs r0, 0 - adds r2, r7, 0 - bl sub_80AFBA0 - ldr r1, _080AC9BC - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0xD - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080AC9B8: .4byte 0x02019260 -_080AC9BC: .4byte gTasks -_080AC9C0: - ldrb r0, [r6, 0x11] - lsls r0, 2 - movs r5, 0x9A - lsls r5, 1 - adds r1, r6, r5 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080AC9DA - bl _080AD8CA -_080AC9DA: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - add r0, r12 - movs r1, 0x23 - strh r1, [r0, 0x8] - bl _080AD8CA -_080AC9EC: - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - ldr r1, _080ACA1C - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0x10 - bne _080ACA06 - movs r0, 0x8 - bl sub_80B1710 -_080ACA06: - ldr r0, _080ACA20 - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x24 - strh r0, [r1, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACA1C: .4byte 0x02019260 -_080ACA20: .4byte gTasks -_080ACA24: - ldrb r1, [r6, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080ACA32 - bl _080AD8CA -_080ACA32: - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - add r0, r12 - movs r1, 0x25 - strh r1, [r0, 0x8] - bl _080AD8CA -_080ACA44: - adds r0, r7, 0 - movs r1, 0x1 - bl sub_80AEE54 - lsls r0, 24 - cmp r0, 0 - beq _080ACA70 - ldr r1, _080ACA6C - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r1, 0x26 - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACA6C: .4byte gTasks -_080ACA70: - ldr r0, _080ACA80 - mov r5, r8 - lsls r1, r5, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - b _080ACAA6 - .align 2, 0 -_080ACA80: .4byte gTasks -_080ACA84: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - mov r2, r12 - adds r1, r0, r2 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bgt _080ACAA2 - bl _080AD8CA -_080ACAA2: - movs r0, 0 - strh r0, [r1, 0x1C] -_080ACAA6: - movs r0, 0x32 - strh r0, [r1, 0x8] - bl _080AD8CA -_080ACAAE: - adds r0, r7, 0 - bl sub_80AF038 - lsls r0, 24 - cmp r0, 0 - beq _080ACAC0 - movs r0, 0x63 - bl PlaySE -_080ACAC0: - ldr r0, _080ACAD4 - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x19 - strh r0, [r1, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACAD4: .4byte gTasks -_080ACAD8: - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - add r0, r12 - movs r1, 0 - strh r1, [r0, 0xA] - movs r1, 0x1A - strh r1, [r0, 0x8] - bl _080AD8CA -_080ACAEE: - movs r2, 0 - movs r4, 0 - mov r5, r8 - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - add r0, r12 - movs r3, 0xA - ldrsh r6, [r0, r3] - mov r9, r1 - cmp r6, 0x3 - bgt _080ACB58 - ldr r3, _080ACB24 - ldr r1, _080ACB28 -_080ACB0A: - movs r4, 0 - movs r2, 0 - cmp r4, r7 - beq _080ACB2C - ldrb r0, [r3] - cmp r0, r6 - bne _080ACB2C - ldrb r0, [r1, 0x13] - cmp r0, 0xFF - beq _080ACB2C - movs r4, 0x1 - b _080ACB60 - .align 2, 0 -_080ACB24: .4byte gUnknown_02038696 -_080ACB28: .4byte 0x02019260 -_080ACB2C: - adds r2, 0x1 - cmp r2, 0x3 - bgt _080ACB4E - cmp r2, r7 - beq _080ACB2C - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, r6 - bne _080ACB2C - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x13] - cmp r0, 0xFF - beq _080ACB2C - movs r4, 0x1 -_080ACB4E: - cmp r4, 0 - bne _080ACB60 - adds r6, 0x1 - cmp r6, 0x3 - ble _080ACB0A -_080ACB58: - lsls r0, r4, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080ACB98 -_080ACB60: - mov r5, r9 - add r5, r8 - lsls r5, 3 - add r5, r12 - ldr r0, _080ACB90 - adds r0, r2, r0 - ldrb r0, [r0] - strh r0, [r5, 0xA] - lsls r0, r2, 24 - lsrs r0, 24 - lsls r4, r2, 3 - subs r4, r2 - lsls r4, 2 - ldr r1, _080ACB94 - adds r4, r1 - ldrb r1, [r4, 0x13] - bl sub_80B146C - movs r0, 0xFF - strb r0, [r4, 0x13] - movs r0, 0x1B - strh r0, [r5, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACB90: .4byte gUnknown_02038696 -_080ACB94: .4byte 0x02019260 -_080ACB98: - mov r0, r9 - add r0, r8 - lsls r0, 3 - add r0, r12 - strh r1, [r0, 0xA] - strh r1, [r0, 0x1C] - movs r1, 0x33 - strh r1, [r0, 0x8] - bl sub_80AF120 - bl _080AD8CA -_080ACBB0: - ldr r0, _080ACBD4 - bl sub_80037A0 - lsls r0, 24 - cmp r0, 0 - bne _080ACBC0 - bl _080AD8CA -_080ACBC0: - ldr r0, _080ACBD8 - mov r4, r8 - lsls r1, r4, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1C - strh r0, [r1, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACBD4: .4byte gMenuWindow -_080ACBD8: .4byte gTasks -_080ACBDC: - movs r6, 0 - mov r5, r8 - lsls r0, r5, 2 - adds r1, r0, r5 - lsls r1, 3 - add r1, r12 - movs r3, 0xA - ldrsh r2, [r1, r3] - ldr r1, _080ACC38 - mov r9, r0 - ldr r3, _080ACC3C - adds r5, r1, 0 - ldrb r4, [r5] - cmp r2, r4 - beq _080ACC08 - adds r1, r2, 0 - adds r2, r5, 0 -_080ACBFE: - adds r6, 0x1 - adds r0, r6, r2 - ldrb r0, [r0] - cmp r1, r0 - bne _080ACBFE -_080ACC08: - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0xE] - ldrh r0, [r0, 0x2] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - negs r1, r1 - lsls r2, r6, 24 - lsrs r2, 24 - bl sub_80AFBA0 - ldr r1, _080ACC40 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1D - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACC38: .4byte gUnknown_02038696 -_080ACC3C: .4byte 0x02019260 -_080ACC40: .4byte gTasks -_080ACC44: - movs r6, 0 - mov r5, r8 - lsls r0, r5, 2 - adds r1, r0, r5 - lsls r1, 3 - add r1, r12 - movs r2, 0xA - ldrsh r3, [r1, r2] - ldr r1, _080ACC90 - mov r9, r0 - ldr r2, _080ACC94 - adds r5, r1, 0 - ldrb r4, [r5] - cmp r3, r4 - beq _080ACC6C -_080ACC62: - adds r6, 0x1 - adds r0, r6, r1 - ldrb r0, [r0] - cmp r3, r0 - bne _080ACC62 -_080ACC6C: - lsls r0, r6, 2 - adds r0, r2 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080ACC7E - bl _080AD8CA -_080ACC7E: - mov r0, r9 - add r0, r8 - lsls r0, 3 - add r0, r12 - movs r1, 0x27 - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACC90: .4byte gUnknown_02038696 -_080ACC94: .4byte 0x02019338 -_080ACC98: - movs r6, 0 - mov r5, r8 - lsls r0, r5, 2 - adds r1, r0, r5 - lsls r1, 3 - add r1, r12 - movs r3, 0xA - ldrsh r2, [r1, r3] - ldr r1, _080ACCE8 - mov r9, r0 - adds r5, r1, 0 - ldrb r4, [r5] - cmp r2, r4 - beq _080ACCC2 - adds r1, r2, 0 - adds r2, r5, 0 -_080ACCB8: - adds r6, 0x1 - adds r0, r6, r2 - ldrb r0, [r0] - cmp r1, r0 - bne _080ACCB8 -_080ACCC2: - lsls r0, r6, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_80AEE54 - lsls r0, 24 - cmp r0, 0 - beq _080ACCF0 - ldr r1, _080ACCEC - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r1, 0x28 - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACCE8: .4byte gUnknown_02038696 -_080ACCEC: .4byte gTasks -_080ACCF0: - ldr r0, _080ACCFC - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 - b _080ACD22 - .align 2, 0 -_080ACCFC: .4byte gTasks -_080ACD00: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - mov r2, r12 - adds r1, r0, r2 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bgt _080ACD1E - bl _080AD8CA -_080ACD1E: - movs r0, 0 - strh r0, [r1, 0x1C] -_080ACD22: - movs r0, 0x1E - strh r0, [r1, 0x8] - bl _080AD8CA -_080ACD2A: - movs r6, 0 - ldr r2, _080ACD78 - ldrb r3, [r2] - mov r4, r8 - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - mov r5, r12 - adds r4, r0, r5 - movs r5, 0xA - ldrsh r0, [r4, r5] - mov r9, r1 - adds r5, r2, 0 - cmp r3, r0 - beq _080ACD5E - adds r3, r5, 0 - adds r2, r4, 0 -_080ACD4C: - adds r6, 0x1 - cmp r6, 0x3 - bgt _080ACD5E - adds r0, r6, r3 - ldrb r1, [r0] - movs r4, 0xA - ldrsh r0, [r2, r4] - cmp r1, r0 - bne _080ACD4C -_080ACD5E: - lsls r4, r6, 24 - lsrs r0, r4, 24 - bl sub_80AF038 - lsls r0, 24 - adds r5, r4, 0 - cmp r0, 0 - beq _080ACD7C - movs r0, 0x63 - bl PlaySE - b _080ACD82 - .align 2, 0 -_080ACD78: .4byte gUnknown_02038696 -_080ACD7C: - movs r0, 0x64 - bl PlaySE -_080ACD82: - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - ldr r1, _080ACDC0 - adds r4, r0, r1 - ldrb r1, [r4, 0x15] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080ACDA6 - lsrs r0, r5, 24 - bl sub_80B03A8 - ldrb r1, [r4, 0x15] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x15] -_080ACDA6: - ldr r0, _080ACDC4 - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - movs r0, 0x1A - strh r0, [r1, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACDC0: .4byte 0x02019260 -_080ACDC4: .4byte gTasks -_080ACDC8: - mov r5, r8 - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - mov r1, r12 - adds r3, r0, r1 - ldrh r0, [r3, 0x1C] - adds r1, r0, 0x1 - strh r1, [r3, 0x1C] - lsls r0, 16 - asrs r0, 16 - mov r9, r2 - cmp r0, 0x9 - bgt _080ACDE8 - bl _080AD8CA -_080ACDE8: - movs r0, 0 - strh r0, [r3, 0x1C] - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - ldr r1, _080ACE48 - adds r2, r0, r1 - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080ACE0A - ldrb r1, [r2, 0x11] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080ACE36 -_080ACE0A: - bl sub_80AF138 - ldr r0, _080ACE4C - lsls r1, r7, 6 - ldr r2, _080ACE50 - adds r1, r2 - bl StringCopy - ldr r4, _080ACE54 - ldr r1, _080ACE58 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _080ACE5C - movs r2, 0xC2 - lsls r2, 2 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8002EB0 -_080ACE36: - ldr r0, _080ACE60 - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x34 - strh r0, [r1, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACE48: .4byte 0x02019260 -_080ACE4C: .4byte gStringVar1 -_080ACE50: .4byte gUnknown_02038572 -_080ACE54: .4byte gStringVar4 -_080ACE58: .4byte gUnknown_083CC103 -_080ACE5C: .4byte gMenuWindow -_080ACE60: .4byte gTasks -_080ACE64: - ldr r0, _080ACE9C - bl sub_80037A0 - lsls r0, 24 - cmp r0, 0 - bne _080ACE74 - bl _080AD8CA -_080ACE74: - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - ldr r1, _080ACEA0 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080ACEA8 - ldr r0, _080ACEA4 - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x11 - strh r0, [r1, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACE9C: .4byte gMenuWindow -_080ACEA0: .4byte 0x02019260 -_080ACEA4: .4byte gTasks -_080ACEA8: - ldr r0, _080ACEBC - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0xE - strh r0, [r1, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACEBC: .4byte gTasks -_080ACEC0: - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - ldr r1, _080ACEE4 - adds r0, r1 - ldrb r4, [r0, 0x16] - lsls r4, 24 - lsrs r5, r4, 24 - cmp r5, 0 - beq _080ACF48 - bl sub_80AF138 - asrs r0, r4, 24 - cmp r0, 0x1 - bne _080ACEF0 - ldr r0, _080ACEE8 - ldr r1, _080ACEEC - b _080ACEF8 - .align 2, 0 -_080ACEE4: .4byte 0x02019260 -_080ACEE8: .4byte gMenuWindow -_080ACEEC: .4byte gUnknown_083CBD79 -_080ACEF0: - cmp r0, 0x2 - bne _080ACF10 - ldr r0, _080ACF08 - ldr r1, _080ACF0C -_080ACEF8: - movs r2, 0xC2 - lsls r2, 2 - movs r3, 0xF - str r3, [sp] - movs r3, 0x1 - bl sub_8002EB0 - b _080ACF22 - .align 2, 0 -_080ACF08: .4byte gMenuWindow -_080ACF0C: .4byte gUnknown_083CBD9D -_080ACF10: - ldr r0, _080ACF3C - ldr r1, _080ACF40 - movs r2, 0xC2 - lsls r2, 2 - movs r3, 0xF - str r3, [sp] - movs r3, 0x1 - bl sub_8002EB0 -_080ACF22: - movs r0, 0x3 - bl sub_80B1710 - ldr r1, _080ACF44 - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - b _080ACF88 - .align 2, 0 -_080ACF3C: .4byte gMenuWindow -_080ACF40: .4byte gUnknown_083CBDC6 -_080ACF44: .4byte gTasks -_080ACF48: - bl sub_80AF138 - ldr r0, _080ACF90 - lsls r1, r7, 6 - ldr r2, _080ACF94 - adds r1, r2 - bl StringCopy - ldr r4, _080ACF98 - ldr r1, _080ACF9C - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _080ACFA0 - movs r2, 0xC2 - lsls r2, 2 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8002EB0 - movs r0, 0x2 - bl sub_80B1710 - ldr r1, _080ACFA4 - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] -_080ACF88: - movs r1, 0x2D - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACF90: .4byte gStringVar1 -_080ACF94: .4byte gUnknown_02038572 -_080ACF98: .4byte gStringVar4 -_080ACF9C: .4byte gUnknown_083CBD52 -_080ACFA0: .4byte gMenuWindow -_080ACFA4: .4byte gTasks -_080ACFA8: - ldrb r1, [r6, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080ACFB6 - bl _080AD8CA -_080ACFB6: - ldrb r0, [r6, 0x11] - bl sub_80B09B0 - ldr r1, _080ACFD0 - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0xF - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080ACFD0: .4byte gTasks -_080ACFD4: - ldr r0, _080AD034 - bl sub_80037A0 - lsls r0, 24 - cmp r0, 0 - bne _080ACFE4 - bl _080AD8CA -_080ACFE4: - ldr r1, _080AD038 - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x32 - bgt _080AD002 - bl _080AD8CA -_080AD002: - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - ldr r1, _080AD03C - adds r6, r0, r1 - ldrb r1, [r6, 0x15] - movs r5, 0x10 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _080AD02C - movs r1, 0x2 - ldrsh r0, [r6, r1] - ldrb r1, [r6, 0x17] - adds r2, r7, 0 - bl sub_80AFBA0 - ldrh r0, [r6, 0x2] - ldrb r2, [r6, 0x17] - adds r0, r2 - strh r0, [r6, 0x2] -_080AD02C: - strh r5, [r4, 0x8] - bl _080AD8CA - .align 2, 0 -_080AD034: .4byte gMenuWindow -_080AD038: .4byte gTasks -_080AD03C: .4byte 0x02019260 -_080AD040: - lsls r0, r7, 2 - ldr r1, _080AD06C - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080AD058 - bl _080AD8CA -_080AD058: - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - add r0, r12 - strh r1, [r0, 0x1C] - movs r1, 0x11 - strh r1, [r0, 0x8] - bl _080AD8CA - .align 2, 0 -_080AD06C: .4byte 0x02019338 -_080AD070: - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - ldr r1, _080AD0CC - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AD0E8 - bl sub_80AF138 - ldr r0, _080AD0D0 - lsls r1, r7, 6 - ldr r2, _080AD0D4 - adds r1, r2 - bl StringCopy - ldr r4, _080AD0D8 - ldr r1, _080AD0DC - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _080AD0E0 - movs r2, 0xC2 - lsls r2, 2 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8002EB0 - ldr r0, _080AD0E4 - mov r5, r8 - lsls r4, r5, 2 - add r4, r8 - lsls r4, 3 - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x1C] - bl sub_80B1710 - movs r0, 0x2E - strh r0, [r4, 0x8] - bl _080AD8CA - .align 2, 0 -_080AD0CC: .4byte 0x02019260 -_080AD0D0: .4byte gStringVar1 -_080AD0D4: .4byte gUnknown_02038572 -_080AD0D8: .4byte gStringVar4 -_080AD0DC: .4byte gUnknown_083CC075 -_080AD0E0: .4byte gMenuWindow -_080AD0E4: .4byte gTasks -_080AD0E8: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - add r0, r12 - movs r1, 0x29 - strh r1, [r0, 0x8] - bl _080AD8CA -_080AD0FA: - ldrb r1, [r6, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080AD108 - bl _080AD8CA -_080AD108: - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - add r0, r12 - movs r1, 0x13 - strh r1, [r0, 0x8] - bl _080AD8CA -_080AD11A: - ldr r0, _080AD15C - bl sub_80037A0 - lsls r0, 24 - cmp r0, 0 - bne _080AD12A - bl _080AD8CA -_080AD12A: - lsls r4, r7, 3 - subs r4, r7 - lsls r4, 2 - ldr r0, _080AD160 - adds r4, r0 - movs r3, 0x2 - ldrsh r0, [r4, r3] - ldrb r1, [r4, 0x18] - negs r1, r1 - adds r2, r7, 0 - bl sub_80AFBA0 - ldrb r1, [r4, 0x18] - ldrh r0, [r4, 0x2] - subs r0, r1 - strh r0, [r4, 0x2] - ldr r1, _080AD164 - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x12 - strh r1, [r0, 0x8] - b _080AD8CA - .align 2, 0 -_080AD15C: .4byte gMenuWindow -_080AD160: .4byte 0x02019260 -_080AD164: .4byte gTasks -_080AD168: - bl sub_80B0D7C - lsls r0, r7, 2 - ldr r1, _080AD19C - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _080AD182 - b _080AD8CA -_080AD182: - ldr r0, _080AD1A0 - mov r5, r8 - lsls r4, r5, 2 - add r4, r8 - lsls r4, 3 - adds r4, r0 - strh r6, [r4, 0x1C] - bl sub_80AF138 - movs r0, 0x29 - strh r0, [r4, 0x8] - b _080AD8CA - .align 2, 0 -_080AD19C: .4byte 0x02019338 -_080AD1A0: .4byte gTasks -_080AD1A4: - ldr r2, _080AD1CC - ldrb r1, [r2, 0x1] - movs r0, 0x1 - ands r0, r1 - adds r1, r2, 0 - cmp r0, 0 - beq _080AD1D0 - ldr r0, [r1] - lsls r0, 20 - lsrs r0, 29 - cmp r7, r0 - beq _080AD1D0 - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - add r0, r12 - movs r1, 0x39 - strh r1, [r0, 0x8] - b _080AD8CA - .align 2, 0 -_080AD1CC: .4byte 0x02019328 -_080AD1D0: - ldrb r4, [r1] - lsls r2, r7, 3 - subs r0, r2, r7 - lsls r0, 2 - subs r1, 0xC8 - adds r5, r0, r1 - ldrb r1, [r5, 0x11] - movs r0, 0x10 - ands r0, r1 - mov r10, r2 - cmp r0, 0 - beq _080AD204 - movs r4, 0x1 - ldr r0, _080AD1FC - ldrh r2, [r5, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, _080AD200 - adds r1, r2 - bl StringCopy - b _080AD21E - .align 2, 0 -_080AD1FC: .4byte gStringVar3 -_080AD200: .4byte gMoveNames -_080AD204: - ldr r0, _080AD270 - ldr r3, _080AD274 - ldr r2, _080AD278 - ldrh r1, [r5, 0x6] - lsls r1, 3 - adds r1, r2 - ldrb r1, [r1, 0x1] - lsls r1, 29 - lsrs r1, 27 - adds r1, r3 - ldr r1, [r1] - bl StringCopy -_080AD21E: - lsls r0, r4, 24 - cmp r0, 0 - ble _080AD23A - mov r2, r10 - subs r0, r2, r7 - lsls r0, 2 - ldr r1, _080AD27C - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AD23A - movs r4, 0 -_080AD23A: - bl sub_80AF138 - ldr r0, _080AD280 - lsls r1, r7, 6 - ldr r2, _080AD284 - adds r1, r2 - bl StringCopy - ldr r3, _080AD288 - ldrb r0, [r3, 0x13] - lsls r1, r4, 24 - asrs r2, r1, 24 - adds r0, r2, r0 - strb r0, [r3, 0x13] - lsls r0, 24 - adds r4, r1, 0 - cmp r0, 0 - bge _080AD262 - movs r0, 0 - strb r0, [r3, 0x13] -_080AD262: - cmp r2, 0 - bne _080AD290 - ldr r0, _080AD28C - mov r3, r8 - lsls r1, r3, 2 - b _080AD6EC - .align 2, 0 -_080AD270: .4byte gStringVar3 -_080AD274: .4byte gUnknown_083CC2D8 -_080AD278: .4byte gContestMoves -_080AD27C: .4byte 0x02019260 -_080AD280: .4byte gStringVar1 -_080AD284: .4byte gUnknown_02038572 -_080AD288: .4byte 0x02019204 -_080AD28C: .4byte gTasks -_080AD290: - cmp r2, 0 - bge _080AD2A8 - ldr r0, _080AD2A0 - ldr r1, _080AD2A4 - bl StringExpandPlaceholders - b _080AD2D0 - .align 2, 0 -_080AD2A0: .4byte gStringVar4 -_080AD2A4: .4byte gUnknown_083CC0BC -_080AD2A8: - cmp r2, 0 - ble _080AD2C8 - movs r0, 0x13 - ldrsb r0, [r3, r0] - cmp r0, 0x4 - bgt _080AD2C8 - ldr r0, _080AD2C0 - ldr r1, _080AD2C4 - bl StringExpandPlaceholders - b _080AD2D0 - .align 2, 0 -_080AD2C0: .4byte gStringVar4 -_080AD2C4: .4byte gUnknown_083CC0A0 -_080AD2C8: - ldr r0, _080AD300 - ldr r1, _080AD304 - bl StringExpandPlaceholders -_080AD2D0: - ldr r0, _080AD308 - ldr r1, _080AD300 - movs r2, 0xC2 - lsls r2, 2 - movs r3, 0xF - str r3, [sp] - movs r3, 0x1 - bl sub_8002EB0 - ldr r1, _080AD30C - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r1 - movs r0, 0 - strh r0, [r1, 0x1C] - strh r0, [r1, 0x1E] - cmp r4, 0 - bge _080AD310 - movs r0, 0x35 - strh r0, [r1, 0x8] - b _080AD8CA - .align 2, 0 -_080AD300: .4byte gStringVar4 -_080AD304: .4byte gUnknown_083CC0E3 -_080AD308: .4byte gMenuWindow -_080AD30C: .4byte gTasks -_080AD310: - movs r0, 0x36 - strh r0, [r1, 0x8] - b _080AD8CA -_080AD316: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - mov r2, r12 - adds r4, r0, r2 - movs r3, 0x1C - ldrsh r2, [r4, r3] - cmp r2, 0x1 - beq _080AD354 - cmp r2, 0x1 - bgt _080AD334 - cmp r2, 0 - beq _080AD33E - b _080AD8CA -_080AD334: - cmp r2, 0x2 - beq _080AD37C - cmp r2, 0x3 - beq _080AD3B0 - b _080AD8CA -_080AD33E: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x1 - bl sub_80B1EA8 - ldr r0, _080AD350 - bl PlayFanfare - b _080AD3A8 - .align 2, 0 -_080AD350: .4byte 0x00000187 -_080AD354: - ldrb r0, [r6, 0x7] - ands r2, r0 - cmp r2, 0 - beq _080AD35E - b _080AD8CA -_080AD35E: - ldr r0, _080AD378 - bl sub_80037A0 - lsls r0, 24 - cmp r0, 0 - bne _080AD36C - b _080AD8CA -_080AD36C: - movs r0, 0x1 - negs r0, r0 - bl sub_80B1CBC - b _080AD3A8 - .align 2, 0 -_080AD378: .4byte gMenuWindow -_080AD37C: - ldrb r1, [r6, 0x6] - movs r0, 0x20 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080AD38C - b _080AD8CA -_080AD38C: - ldrh r0, [r4, 0x1E] - adds r1, r0, 0x1 - strh r1, [r4, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - bgt _080AD39C - b _080AD8CA -_080AD39C: - strh r2, [r4, 0x1E] - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - bl sub_80B1EA8 -_080AD3A8: - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - b _080AD8CA -_080AD3B0: - ldr r0, _080AD3CC - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080AD3C2 - b _080AD8CA -_080AD3C2: - strh r0, [r4, 0x1C] - strh r0, [r4, 0x1E] - movs r0, 0x2B - strh r0, [r4, 0x8] - b _080AD8CA - .align 2, 0 -_080AD3CC: .4byte gPaletteFade -_080AD3D0: - mov r4, r8 - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - add r0, r12 - movs r5, 0x1C - ldrsh r0, [r0, r5] - mov r9, r1 - cmp r0, 0x4 - bls _080AD3E6 - b _080AD8CA -_080AD3E6: - lsls r0, 2 - ldr r1, _080AD3F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AD3F0: .4byte _080AD3F4 - .align 2, 0 -_080AD3F4: - .4byte _080AD408 - .4byte _080AD420 - .4byte _080AD43E - .4byte _080AD4A0 - .4byte _080AD4EC -_080AD408: - ldr r0, _080AD41C - bl sub_80037A0 - lsls r0, 24 - cmp r0, 0 - bne _080AD416 - b _080AD8CA -_080AD416: - movs r0, 0x1 - movs r1, 0x1 - b _080AD4C8 - .align 2, 0 -_080AD41C: .4byte gMenuWindow -_080AD420: - ldrb r1, [r6, 0x7] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AD42C - b _080AD8CA -_080AD42C: - bl sub_80B1DDC - movs r0, 0xDF - bl PlaySE - movs r0, 0x1 - bl sub_80B1CBC - b _080AD4CC -_080AD43E: - ldrb r1, [r6, 0x6] - movs r0, 0x20 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080AD44E - b _080AD8CA -_080AD44E: - mov r0, r9 - add r0, r8 - lsls r0, 3 - mov r1, r12 - adds r3, r0, r1 - ldrh r0, [r3, 0x1E] - adds r1, r0, 0x1 - strh r1, [r3, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - bgt _080AD468 - b _080AD8CA -_080AD468: - strh r2, [r3, 0x1E] - lsls r4, r7, 3 - subs r4, r7 - lsls r4, 2 - adds r0, r6, 0 - adds r0, 0x5C - adds r4, r0 - movs r2, 0x2 - ldrsh r0, [r4, r2] - movs r1, 0x92 - lsls r1, 1 - adds r5, r6, r1 - movs r1, 0x2 - ldrsb r1, [r5, r1] - adds r2, r7, 0 - str r3, [sp, 0x4] - bl sub_80AFBA0 - movs r0, 0x2 - ldrsb r0, [r5, r0] - ldrh r2, [r4, 0x2] - adds r0, r2 - strh r0, [r4, 0x2] - ldr r3, [sp, 0x4] - ldrh r0, [r3, 0x1C] - adds r0, 0x1 - strh r0, [r3, 0x1C] - b _080AD8CA -_080AD4A0: - lsls r0, r7, 2 - ldr r2, _080AD4E0 - adds r0, r2 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080AD4B2 - b _080AD8CA -_080AD4B2: - ldr r3, _080AD4E4 - adds r0, r2, r3 - ldrb r1, [r0, 0x6] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080AD4C2 - b _080AD8CA -_080AD4C2: - movs r1, 0x1 - negs r1, r1 - movs r0, 0x1 -_080AD4C8: - bl sub_80B1EA8 -_080AD4CC: - ldr r0, _080AD4E8 - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - b _080AD8CA - .align 2, 0 -_080AD4E0: .4byte 0x02019338 -_080AD4E4: .4byte 0xfffffecc -_080AD4E8: .4byte gTasks -_080AD4EC: - ldr r0, _080AD510 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080AD4FE - b _080AD8CA -_080AD4FE: - mov r0, r9 - add r0, r8 - lsls r0, 3 - add r0, r12 - strh r1, [r0, 0x1C] - strh r1, [r0, 0x1E] - movs r1, 0x2B - strh r1, [r0, 0x8] - b _080AD8CA - .align 2, 0 -_080AD510: .4byte gPaletteFade -_080AD514: - lsls r0, r7, 2 - ldr r1, _080AD534 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080AD526 - b _080AD8CA -_080AD526: - bl sub_80AF138 - ldr r0, _080AD538 - mov r4, r8 - lsls r1, r4, 2 - b _080AD6EC - .align 2, 0 -_080AD534: .4byte 0x02019338 -_080AD538: .4byte gTasks -_080AD53C: - bl sub_80AF138 - ldr r0, _080AD5A8 - ldr r4, _080AD5AC - ldr r1, [r4] - lsls r1, 20 - lsrs r1, 29 - lsls r1, 6 - ldr r5, _080AD5B0 - adds r1, r5 - bl StringCopy - ldr r0, _080AD5B4 - lsls r1, r7, 6 - adds r1, r5 - bl StringCopy - ldr r0, _080AD5B8 - lsls r1, r7, 3 - subs r1, r7 - lsls r1, 2 - subs r4, 0xC8 - adds r1, r4 - ldrh r2, [r1, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, _080AD5BC - adds r1, r2 - bl StringCopy - ldr r4, _080AD5C0 - ldr r1, _080AD5C4 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _080AD5C8 - movs r2, 0xC2 - lsls r2, 2 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8002EB0 - ldr r1, _080AD5CC - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3A - strh r1, [r0, 0x8] - b _080AD8CA - .align 2, 0 -_080AD5A8: .4byte gStringVar3 -_080AD5AC: .4byte 0x02019328 -_080AD5B0: .4byte gUnknown_02038572 -_080AD5B4: .4byte gStringVar1 -_080AD5B8: .4byte gStringVar2 -_080AD5BC: .4byte gMoveNames -_080AD5C0: .4byte gStringVar4 -_080AD5C4: .4byte gUnknown_083CC14A -_080AD5C8: .4byte gMenuWindow -_080AD5CC: .4byte gTasks -_080AD5D0: - ldr r5, _080AD614 - adds r0, r5, 0 - bl sub_80037A0 - lsls r0, 24 - cmp r0, 0 - bne _080AD5E0 - b _080AD8CA -_080AD5E0: - bl sub_80AF138 - ldr r4, _080AD618 - ldr r1, _080AD61C - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r2, 0xC2 - lsls r2, 2 - movs r0, 0xF - str r0, [sp] - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8002EB0 - ldr r1, _080AD620 - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3B - strh r1, [r0, 0x8] - b _080AD8CA - .align 2, 0 -_080AD614: .4byte gMenuWindow -_080AD618: .4byte gStringVar4 -_080AD61C: .4byte gUnknown_083CC16E -_080AD620: .4byte gTasks -_080AD624: - ldr r0, _080AD640 - bl sub_80037A0 - lsls r0, 24 - cmp r0, 0 - bne _080AD632 - b _080AD8CA -_080AD632: - bl sub_80AF138 - ldr r0, _080AD644 - mov r3, r8 - lsls r1, r3, 2 - b _080AD6EC - .align 2, 0 -_080AD640: .4byte gMenuWindow -_080AD644: .4byte gTasks -_080AD648: - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - ldr r1, _080AD6B4 - adds r4, r0, r1 - ldrb r1, [r4, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080AD664 - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x15] -_080AD664: - adds r0, r7, 0 - bl sub_80B09B0 - ldr r0, _080AD6B8 - lsls r1, r7, 6 - ldr r2, _080AD6BC - adds r1, r2 - bl StringCopy - ldr r0, _080AD6C0 - ldrh r2, [r4, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, _080AD6C4 - adds r1, r2 - bl StringCopy - ldr r4, _080AD6C8 - ldr r1, _080AD6CC - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _080AD6D0 - movs r2, 0xC2 - lsls r2, 2 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8002EB0 - ldr r1, _080AD6D4 - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x22 - strh r1, [r0, 0x8] - b _080AD8CA - .align 2, 0 -_080AD6B4: .4byte 0x02019260 -_080AD6B8: .4byte gStringVar1 -_080AD6BC: .4byte gUnknown_02038572 -_080AD6C0: .4byte gStringVar2 -_080AD6C4: .4byte gMoveNames -_080AD6C8: .4byte gStringVar4 -_080AD6CC: .4byte gUnknown_083CBF60 -_080AD6D0: .4byte gMenuWindow -_080AD6D4: .4byte gTasks -_080AD6D8: - ldr r0, _080AD6F8 - bl sub_80037A0 - lsls r0, 24 - cmp r0, 0 - bne _080AD6E6 - b _080AD8CA -_080AD6E6: - ldr r0, _080AD6FC - mov r5, r8 - lsls r1, r5, 2 -_080AD6EC: - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x37 - strh r0, [r1, 0x8] - b _080AD8CA - .align 2, 0 -_080AD6F8: .4byte gMenuWindow -_080AD6FC: .4byte gTasks -_080AD700: - bl sub_80B1BDC - ldr r0, _080AD718 - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x38 - strh r0, [r1, 0x8] - b _080AD8CA - .align 2, 0 -_080AD718: .4byte gTasks -_080AD71C: - ldrb r1, [r6, 0x6] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080AD72C - b _080AD8CA -_080AD72C: - movs r0, 0x13 - ldrsb r0, [r6, r0] - cmp r0, 0x4 - ble _080AD73A - strb r1, [r6, 0x13] - bl sub_80B1928 -_080AD73A: - ldr r0, _080AD74C - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0xA - strh r0, [r1, 0x8] - b _080AD8CA - .align 2, 0 -_080AD74C: .4byte gTasks -_080AD750: - mov r4, r8 - lsls r2, r4, 2 - add r2, r8 - lsls r2, 3 - add r2, r12 - ldrb r5, [r2, 0xC] - ldr r1, _080AD774 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, _080AD778 - str r1, [r0] - movs r0, 0xB - strh r0, [r2, 0x8] - b _080AD8CA - .align 2, 0 -_080AD774: .4byte gSprites -_080AD778: .4byte sub_80AD92C -_080AD77C: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - mov r1, r12 - adds r4, r0, r1 - ldrb r5, [r4, 0xC] - ldr r1, _080AD7B4 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r6, r0, r1 - adds r0, r6, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _080AD7A2 - b _080AD8CA -_080AD7A2: - adds r0, r6, 0 - bl FreeSpriteOamMatrix - adds r0, r6, 0 - bl DestroySprite - movs r0, 0x14 - strh r0, [r4, 0x8] - b _080AD8CA - .align 2, 0 -_080AD7B4: .4byte gSprites -_080AD7B8: - movs r6, 0 - mov r2, r8 - lsls r2, 2 - mov r9, r2 -_080AD7C0: - lsls r0, r6, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_80B0CDC - adds r6, 0x1 - cmp r6, 0x3 - ble _080AD7C0 - ldr r1, _080AD7E4 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r1, 0x15 - strh r1, [r0, 0x8] - b _080AD8CA - .align 2, 0 -_080AD7E4: .4byte gTasks -_080AD7E8: - bl sub_80AF138 - ldr r0, _080AD828 - lsls r1, r7, 6 - ldr r2, _080AD82C - adds r1, r2 - bl StringCopy - ldr r4, _080AD830 - ldr r1, _080AD834 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _080AD838 - movs r2, 0xC2 - lsls r2, 2 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8002EB0 - ldr r1, _080AD83C - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x20 - strh r1, [r0, 0x8] - b _080AD8CA - .align 2, 0 -_080AD828: .4byte gStringVar1 -_080AD82C: .4byte gUnknown_02038572 -_080AD830: .4byte gStringVar4 -_080AD834: .4byte gUnknown_083CB00D -_080AD838: .4byte gMenuWindow -_080AD83C: .4byte gTasks -_080AD840: - ldr r0, _080AD860 - bl sub_80037A0 - lsls r0, 24 - cmp r0, 0 - beq _080AD8CA - ldr r0, _080AD864 - mov r4, r8 - lsls r1, r4, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x15 - strh r0, [r1, 0x8] - b _080AD8CA - .align 2, 0 -_080AD860: .4byte gMenuWindow -_080AD864: .4byte gTasks -_080AD868: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - mov r2, r12 - adds r1, r0, r2 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _080AD8CA - movs r0, 0 - strh r0, [r1, 0x1C] - movs r0, 0x16 - strh r0, [r1, 0x8] - b _080AD8CA -_080AD88C: - ldrb r0, [r6, 0x10] - adds r0, 0x1 - movs r1, 0 - strb r0, [r6, 0x10] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080AD8B8 - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - add r0, r12 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - strh r1, [r0, 0xC] - ldr r1, _080AD8B4 - str r1, [r0] - b _080AD8C4 - .align 2, 0 -_080AD8B4: .4byte sub_80AD960 -_080AD8B8: - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - add r0, r12 - strh r1, [r0, 0x8] -_080AD8C4: - movs r0, 0 - bl nullsub_18 -_080AD8CA: - 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_80AC2CC - - thumb_func_start sub_80AD8DC -sub_80AD8DC: @ 80AD8DC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080AD8F8 - ldrb r2, [r3, 0x7] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r3, 0x7] - bl DestroyTask - pop {r0} - bx r0 - .align 2, 0 -_080AD8F8: .4byte 0x02019204 - thumb_func_end sub_80AD8DC - - thumb_func_start sub_80AD8FC -sub_80AD8FC: @ 80AD8FC - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x24] - movs r3, 0x24 - ldrsh r2, [r1, r3] - cmp r2, 0 - beq _080AD910 - subs r0, 0x2 - strh r0, [r1, 0x24] - b _080AD924 -_080AD910: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _080AD924 - strh r2, [r1, 0x2E] - ldr r0, _080AD928 - str r0, [r1, 0x1C] -_080AD924: - pop {r0} - bx r0 - .align 2, 0 -_080AD928: .4byte SpriteCallbackDummy - thumb_func_end sub_80AD8FC - - thumb_func_start sub_80AD92C -sub_80AD92C: @ 80AD92C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x24] - subs r0, 0x6 - strh r0, [r2, 0x24] - movs r1, 0x20 - ldrsh r0, [r2, r1] - movs r3, 0x24 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _080AD956 - ldr r0, _080AD95C - str r0, [r2, 0x1C] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080AD956: - pop {r0} - bx r0 - .align 2, 0 -_080AD95C: .4byte SpriteCallbackDummy - thumb_func_end sub_80AD92C - - thumb_func_start sub_80AD960 -sub_80AD960: @ 80AD960 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080AD984 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080AD9F2 - cmp r0, 0x1 - bgt _080AD988 - cmp r0, 0 - beq _080AD98E - b _080ADA10 - .align 2, 0 -_080AD984: .4byte gTasks -_080AD988: - cmp r0, 0x2 - beq _080ADA08 - b _080ADA10 -_080AD98E: - ldr r0, _080AD9D8 - ldrb r1, [r0] - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _080AD9E8 - ldr r2, _080AD9DC - ldrb r0, [r2, 0x7] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x7] - bl sub_80AE074 - lsls r0, 24 - cmp r0, 0 - beq _080AD9B8 - bl sub_80AF2FC - bl sub_80AF3C0 -_080AD9B8: - ldr r4, _080AD9E0 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080AD9E4 - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - bl sub_80AF860 - strh r6, [r5, 0x8] - b _080ADA10 - .align 2, 0 -_080AD9D8: .4byte gUnknown_0203869A -_080AD9DC: .4byte 0x02019204 -_080AD9E0: .4byte sub_80C8C80 -_080AD9E4: .4byte sub_80AD8DC -_080AD9E8: - bl sub_80AF2FC - bl sub_80AF3C0 - b _080AD9FE -_080AD9F2: - ldr r0, _080ADA04 - ldrb r1, [r0, 0x7] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080ADA10 -_080AD9FE: - movs r0, 0x2 - strh r0, [r5, 0x8] - b _080ADA10 - .align 2, 0 -_080ADA04: .4byte 0x02019204 -_080ADA08: - movs r0, 0 - strh r0, [r5, 0x8] - ldr r0, _080ADA18 - str r0, [r5] -_080ADA10: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080ADA18: .4byte sub_80ADA1C - thumb_func_end sub_80AD960 - - thumb_func_start sub_80ADA1C -sub_80ADA1C: @ 80ADA1C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80B1FD0 - ldr r1, _080ADA44 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - ldr r1, _080ADA48 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADA44: .4byte gTasks -_080ADA48: .4byte sub_80ADA4C - thumb_func_end sub_80ADA1C - - thumb_func_start sub_80ADA4C -sub_80ADA4C: @ 80ADA4C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080ADA70 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080ADA92 - cmp r5, 0x1 - bgt _080ADA74 - cmp r5, 0 - beq _080ADA7A - b _080ADACE - .align 2, 0 -_080ADA70: .4byte gTasks -_080ADA74: - cmp r5, 0x2 - beq _080ADAC0 - b _080ADACE -_080ADA7A: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080ADACE - movs r0, 0x2 - bl sub_80B25E4 - strh r5, [r4, 0xA] - b _080ADAB2 -_080ADA92: - ldr r0, _080ADABC - ldrb r1, [r0, 0x7] - movs r0, 0x2 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080ADACE - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080ADACE - strh r1, [r4, 0xA] -_080ADAB2: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080ADACE - .align 2, 0 -_080ADABC: .4byte 0x02019204 -_080ADAC0: - bl sub_80AFF10 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - ldr r0, _080ADAD4 - str r0, [r4] -_080ADACE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080ADAD4: .4byte sub_80ADAD8 - thumb_func_end sub_80ADA4C - - thumb_func_start sub_80ADAD8 -sub_80ADAD8: @ 80ADAD8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80AFF28 - lsls r0, 24 - cmp r0, 0 - beq _080ADAF6 - ldr r0, _080ADAFC - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080ADB00 - str r0, [r1] -_080ADAF6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADAFC: .4byte gTasks -_080ADB00: .4byte sub_80ADB04 - thumb_func_end sub_80ADAD8 - - thumb_func_start sub_80ADB04 -sub_80ADB04: @ 80ADB04 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080ADB30 - ldr r3, _080ADB34 - ldr r1, _080ADB38 - str r2, [r1] - str r3, [r1, 0x4] - ldr r2, _080ADB3C - str r2, [r1, 0x8] - ldr r1, [r1, 0x8] - ldr r2, _080ADB40 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - movs r0, 0x2 - strh r0, [r1, 0xA] - ldr r0, _080ADB44 - str r0, [r1] - bx lr - .align 2, 0 -_080ADB30: .4byte 0x02018204 -_080ADB34: .4byte gPlttBufferUnfaded -_080ADB38: .4byte 0x040000d4 -_080ADB3C: .4byte 0x84000100 -_080ADB40: .4byte gTasks -_080ADB44: .4byte sub_80ADB48 - thumb_func_end sub_80ADB04 - - thumb_func_start sub_80ADB48 -sub_80ADB48: @ 80ADB48 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080ADB80 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080ADB7A - movs r0, 0 - strh r0, [r1, 0x8] - ldrh r0, [r1, 0xA] - subs r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _080ADB7A - ldr r0, _080ADB84 - str r0, [r1] -_080ADB7A: - pop {r0} - bx r0 - .align 2, 0 -_080ADB80: .4byte gTasks -_080ADB84: .4byte sub_80ADB88 - thumb_func_end sub_80ADB48 - - thumb_func_start sub_80ADB88 -sub_80ADB88: @ 80ADB88 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _080ADBEC - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _080ADBF0 - adds r0, r1 - ldrb r4, [r0, 0x1A] - bl sub_80AF138 - ldr r0, _080ADBF4 - ldrb r1, [r6] - lsls r1, 6 - ldr r2, _080ADBF8 - adds r1, r2 - bl StringCopy - ldr r6, _080ADBFC - ldr r0, _080ADC00 - lsls r4, 2 - adds r4, r0 - ldr r1, [r4] - adds r0, r6, 0 - bl StringExpandPlaceholders - ldr r0, _080ADC04 - movs r2, 0xC2 - lsls r2, 2 - movs r1, 0xF - str r1, [sp] - adds r1, r6, 0 - movs r3, 0x1 - bl sub_8002EB0 - ldr r1, _080ADC08 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080ADC0C - str r1, [r0] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080ADBEC: .4byte gUnknown_02038695 -_080ADBF0: .4byte 0x02019260 -_080ADBF4: .4byte gStringVar1 -_080ADBF8: .4byte gUnknown_02038572 -_080ADBFC: .4byte gStringVar4 -_080ADC00: .4byte gUnknown_083CB2F0 -_080ADC04: .4byte gMenuWindow -_080ADC08: .4byte gTasks -_080ADC0C: .4byte sub_80ADC10 - thumb_func_end sub_80ADB88 - - thumb_func_start sub_80ADC10 -sub_80ADC10: @ 80ADC10 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080ADC40 - bl sub_80037A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080ADC3A - ldr r1, _080ADC44 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, _080ADC48 - str r1, [r0] - bl sub_80B0D7C -_080ADC3A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADC40: .4byte gMenuWindow -_080ADC44: .4byte gTasks -_080ADC48: .4byte sub_80ADC4C - thumb_func_end sub_80ADC10 - - thumb_func_start sub_80ADC4C -sub_80ADC4C: @ 80ADC4C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080ADC7C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _080ADC76 - movs r0, 0 - strh r0, [r4, 0x8] - bl sub_80AFF10 - ldr r0, _080ADC80 - str r0, [r4] -_080ADC76: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADC7C: .4byte gTasks -_080ADC80: .4byte sub_80ADC84 - thumb_func_end sub_80ADC4C - - thumb_func_start sub_80ADC84 -sub_80ADC84: @ 80ADC84 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80AFF28 - lsls r0, 24 - cmp r0, 0 - beq _080ADCA6 - ldr r1, _080ADCAC - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, _080ADCB0 - str r1, [r0] -_080ADCA6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADCAC: .4byte gTasks -_080ADCB0: .4byte sub_80ADCB4 - thumb_func_end sub_80ADC84 - - thumb_func_start sub_80ADCB4 -sub_80ADCB4: @ 80ADCB4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80B2184 - ldr r1, _080ADCD4 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080ADCD8 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADCD4: .4byte gTasks -_080ADCD8: .4byte sub_80B237C - thumb_func_end sub_80ADCB4 - - thumb_func_start sub_80ADCDC -sub_80ADCDC: @ 80ADCDC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80B2280 - ldr r1, _080ADCFC - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080ADD00 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADCFC: .4byte gTasks -_080ADD00: .4byte sub_80ADD04 - thumb_func_end sub_80ADCDC - - thumb_func_start sub_80ADD04 -sub_80ADD04: @ 80ADD04 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r3, _080ADD40 - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - ldr r2, _080ADD44 - ldrb r0, [r2] - ands r1, r0 - strb r1, [r2] - ldr r1, _080ADD48 - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _080ADD54 - ldr r0, _080ADD4C - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080ADD50 - b _080ADD64 - .align 2, 0 -_080ADD40: .4byte REG_BG0CNT -_080ADD44: .4byte REG_BG2CNT -_080ADD48: .4byte 0x02019204 -_080ADD4C: .4byte gTasks -_080ADD50: .4byte sub_80ADDA4 -_080ADD54: - bl sub_80B1B14 - ldr r0, _080ADD6C - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080ADD70 -_080ADD64: - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADD6C: .4byte gTasks -_080ADD70: .4byte sub_80ADD74 - thumb_func_end sub_80ADD04 - - thumb_func_start sub_80ADD74 -sub_80ADD74: @ 80ADD74 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080ADD98 - ldrb r1, [r0, 0x6] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080ADD94 - ldr r0, _080ADD9C - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, _080ADDA0 - str r0, [r1] -_080ADD94: - pop {r0} - bx r0 - .align 2, 0 -_080ADD98: .4byte 0x02019204 -_080ADD9C: .4byte gTasks -_080ADDA0: .4byte sub_80ABB70 - thumb_func_end sub_80ADD74 - - thumb_func_start sub_80ADDA4 -sub_80ADDA4: @ 80ADDA4 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _080ADE24 - movs r1, 0 - strh r1, [r0] - ldr r0, _080ADE28 - strh r1, [r0] - ldr r3, _080ADE2C - ldr r2, _080ADE30 - movs r1, 0x3 -_080ADDBC: - ldrh r0, [r3, 0x4] - strh r0, [r2] - adds r3, 0x1C - adds r2, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _080ADDBC - movs r5, 0 - bl sub_80AF668 - bl sub_80AF138 - ldr r0, _080ADE34 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _080ADE2C - adds r0, r1 - ldrh r0, [r0, 0x8] - bl sub_80BE23C - ldr r1, _080ADE38 - ldr r0, _080ADE3C - ldr r0, [r0] - str r0, [r1] - ldr r4, _080ADE40 - ldr r1, _080ADE44 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _080ADE48 - movs r2, 0xC2 - lsls r2, 2 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8002EB0 - ldr r1, _080ADE4C - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0xC] - ldr r1, _080ADE50 - str r1, [r0] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080ADE24: .4byte gUnknown_030042A0 -_080ADE28: .4byte gUnknown_03004280 -_080ADE2C: .4byte 0x02019260 -_080ADE30: .4byte gUnknown_02038680 -_080ADE34: .4byte gUnknown_02038695 -_080ADE38: .4byte gUnknown_03005D28 -_080ADE3C: .4byte gRngValue -_080ADE40: .4byte gStringVar4 -_080ADE44: .4byte gUnknown_083CB02C -_080ADE48: .4byte gMenuWindow -_080ADE4C: .4byte gTasks -_080ADE50: .4byte sub_80ADE54 - thumb_func_end sub_80ADDA4 - - thumb_func_start sub_80ADE54 -sub_80ADE54: @ 80ADE54 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080ADE98 - bl sub_80037A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080ADE92 - bl sub_80B2184 - ldr r1, _080ADE9C - movs r0, 0 - strh r0, [r1] - ldr r1, _080ADEA0 - movs r0, 0xA0 - strh r0, [r1] - movs r0, 0x62 - movs r1, 0 - bl PlaySE12WithPanning - ldr r1, _080ADEA4 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, _080ADEA8 - str r1, [r0] -_080ADE92: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADE98: .4byte gMenuWindow -_080ADE9C: .4byte gUnknown_030042C0 -_080ADEA0: .4byte gUnknown_030041B4 -_080ADEA4: .4byte gTasks -_080ADEA8: .4byte sub_80ADEAC - thumb_func_end sub_80ADE54 - - thumb_func_start sub_80ADEAC -sub_80ADEAC: @ 80ADEAC - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _080ADEE0 - ldrh r0, [r1] - subs r0, 0x7 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bge _080ADEC4 - movs r0, 0 - strh r0, [r1] -_080ADEC4: - ldrh r2, [r1] - cmp r2, 0 - bne _080ADEDA - ldr r0, _080ADEE4 - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldr r0, _080ADEE8 - str r0, [r1] - strh r2, [r1, 0x8] -_080ADEDA: - pop {r0} - bx r0 - .align 2, 0 -_080ADEE0: .4byte gUnknown_030041B4 -_080ADEE4: .4byte gTasks -_080ADEE8: .4byte sub_80ADEEC - thumb_func_end sub_80ADEAC - - thumb_func_start sub_80ADEEC -sub_80ADEEC: @ 80ADEEC - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080ADF20 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x31 - ble _080ADF40 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, _080ADF24 - ldrb r0, [r0] - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080ADF2C - ldr r0, _080ADF28 - b _080ADF3E - .align 2, 0 -_080ADF20: .4byte gTasks -_080ADF24: .4byte gUnknown_0203869A -_080ADF28: .4byte sub_80ADF4C -_080ADF2C: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080ADF48 -_080ADF3E: - str r0, [r4] -_080ADF40: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADF48: .4byte sub_80ADFD8 - thumb_func_end sub_80ADEEC - - thumb_func_start sub_80ADF4C -sub_80ADF4C: @ 80ADF4C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _080ADF88 - adds r0, r5, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080ADF8C - adds r1, r5, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, _080ADF90 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080ADF94 - str r1, [r0] - bl sub_80AF860 - movs r0, 0 - bl sub_80AFFE0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080ADF88: .4byte sub_80C8AD0 -_080ADF8C: .4byte sub_80ADF98 -_080ADF90: .4byte gTasks -_080ADF94: .4byte nullsub_89 - thumb_func_end sub_80ADF4C - - thumb_func_start sub_80ADF98 -sub_80ADF98: @ 80ADF98 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r2, _080ADFCC - ldr r0, _080ADFD0 - ldrb r1, [r0, 0x8] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _080ADFD4 - str r1, [r0] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080ADFCC: .4byte gTasks -_080ADFD0: .4byte 0x02019204 -_080ADFD4: .4byte sub_80ADFD8 - thumb_func_end sub_80ADF98 - - thumb_func_start sub_80ADFD8 -sub_80ADFD8: @ 80ADFD8 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080AE000 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080ADFFC - adds r0, r2, 0 - bl DestroyTask - ldr r0, _080AE004 - ldr r1, _080AE008 - str r1, [r0] - ldr r0, _080AE00C - bl SetMainCallback2 -_080ADFFC: - pop {r0} - bx r0 - .align 2, 0 -_080AE000: .4byte gPaletteFade -_080AE004: .4byte gUnknown_0300485C -_080AE008: .4byte sub_80AE010 -_080AE00C: .4byte c2_exit_to_overworld_2_switch - thumb_func_end sub_80ADFD8 - - thumb_func_start sub_80AE010 -sub_80AE010: @ 80AE010 - push {lr} - bl ScriptContext2_Disable - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80AE010 - - thumb_func_start sub_80AE020 -sub_80AE020: @ 80AE020 - push {r4,lr} - adds r4, r0, 0 - b _080AE028 -_080AE026: - adds r4, 0x1 -_080AE028: - ldrb r0, [r4] - cmp r0, 0xFF - beq _080AE04C - cmp r0, 0xFC - bne _080AE026 - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _080AE026 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - movs r1, 0xFF - strb r1, [r0] - adds r1, r4, 0x2 - bl StringAppend -_080AE04C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AE020 - - thumb_func_start sub_80AE054 -sub_80AE054: @ 80AE054 - push {lr} - ldr r0, _080AE06C - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080AE068 - ldr r1, _080AE070 - movs r0, 0x3 - strb r0, [r1] -_080AE068: - pop {r0} - bx r0 - .align 2, 0 -_080AE06C: .4byte gUnknown_0203869A -_080AE070: .4byte gUnknown_02038695 - thumb_func_end sub_80AE054 - - thumb_func_start sub_80AE074 -sub_80AE074: @ 80AE074 - push {lr} - ldr r0, _080AE088 - ldr r1, _080AE08C - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _080AE090 - movs r0, 0 - b _080AE092 - .align 2, 0 -_080AE088: .4byte gUnknown_02038695 -_080AE08C: .4byte gUnknown_0203869B -_080AE090: - movs r0, 0x1 -_080AE092: - pop {r1} - bx r1 - thumb_func_end sub_80AE074 - - thumb_func_start sub_80AE098 -sub_80AE098: @ 80AE098 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r6, _080AE0F0 - mov r0, sp - adds r1, r6, 0 - bl StringCopy - mov r0, sp - bl SkipExtCtrlCodes - ldr r0, _080AE0F4 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AE0CE - mov r0, sp - ldrb r2, [r0, 0x5] - mov r1, sp - movs r0, 0xFF - strb r0, [r1, 0x5] - mov r0, sp - strb r2, [r0, 0x7] -_080AE0CE: - ldr r5, _080AE0F8 - ldrb r0, [r5] - lsls r0, 6 - ldr r4, _080AE0FC - adds r0, r4 - mov r1, sp - movs r2, 0x8 - bl memcpy - ldrb r0, [r6, 0x8] - cmp r0, 0 - bne _080AE100 - ldrb r0, [r5] - lsls r0, 6 - adds r0, r4, r0 - movs r1, 0xD8 - b _080AE108 - .align 2, 0 -_080AE0F0: .4byte gSaveBlock2 -_080AE0F4: .4byte gUnknown_0203869A -_080AE0F8: .4byte gUnknown_02038695 -_080AE0FC: .4byte gUnknown_0203857D -_080AE100: - ldrb r0, [r5] - lsls r0, 6 - adds r0, r4, r0 - movs r1, 0xD9 -_080AE108: - strb r1, [r0, 0x8] - ldr r5, _080AE17C - ldr r4, _080AE180 - ldrb r0, [r4] - lsls r0, 6 - adds r1, r5, 0 - adds r1, 0x18 - adds r0, r1 - movs r1, 0 - str r1, [r0] - ldrb r0, [r4] - lsls r0, 6 - adds r0, r5 - adds r0, 0x2C - strb r1, [r0] - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _080AE184 - adds r6, r1, r0 - adds r0, r6, 0 - movs r1, 0xB - bl GetMonData - ldrb r1, [r4] - lsls r1, 6 - adds r1, r5 - strh r0, [r1] - adds r0, r6, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - mov r0, sp - bl StringGetEnd10 - ldr r0, _080AE188 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AE19A - mov r0, sp - bl SkipExtCtrlCodes - adds r0, r6, 0 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x1 - bne _080AE18C - mov r1, sp - movs r0, 0xFF - strb r0, [r1, 0x5] - movs r0, 0xFC - strb r0, [r1, 0xA] - b _080AE19A - .align 2, 0 -_080AE17C: .4byte gUnknown_02038570 -_080AE180: .4byte gUnknown_02038695 -_080AE184: .4byte gPlayerParty -_080AE188: .4byte gUnknown_0203869A -_080AE18C: - mov r0, sp - ldrb r2, [r0, 0x5] - mov r1, sp - movs r0, 0xFF - strb r0, [r1, 0x5] - mov r0, sp - strb r2, [r0, 0xA] -_080AE19A: - ldr r5, _080AE2C4 - ldrb r0, [r5] - lsls r0, 6 - ldr r1, _080AE2C8 - mov r8, r1 - add r0, r8 - mov r1, sp - movs r2, 0xB - bl memcpy - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, _080AE2CC - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x16 - bl GetMonData - mov r6, r8 - subs r6, 0x2 - ldrb r1, [r5] - lsls r1, 6 - adds r1, r6 - adds r1, 0x26 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x17 - bl GetMonData - ldrb r1, [r5] - lsls r1, 6 - adds r1, r6 - adds r1, 0x27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x18 - bl GetMonData - ldrb r1, [r5] - lsls r1, 6 - adds r1, r6 - adds r1, 0x28 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x21 - bl GetMonData - ldrb r1, [r5] - lsls r1, 6 - adds r1, r6 - adds r1, 0x29 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2F - bl GetMonData - ldrb r1, [r5] - lsls r1, 6 - adds r1, r6 - adds r1, 0x2A - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x30 - bl GetMonData - ldrb r1, [r5] - lsls r1, 6 - adds r1, r6 - adds r1, 0x2B - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0xD - bl GetMonData - ldrb r1, [r5] - lsls r1, 6 - adds r1, r6 - strh r0, [r1, 0x1E] - adds r0, r4, 0 - movs r1, 0xE - bl GetMonData - ldrb r1, [r5] - lsls r1, 6 - adds r1, r6 - strh r0, [r1, 0x20] - adds r0, r4, 0 - movs r1, 0xF - bl GetMonData - ldrb r1, [r5] - lsls r1, 6 - adds r1, r6 - strh r0, [r1, 0x22] - adds r0, r4, 0 - movs r1, 0x10 - bl GetMonData - ldrb r1, [r5] - lsls r1, 6 - adds r1, r6 - strh r0, [r1, 0x24] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r1, [r5] - lsls r1, 6 - mov r2, r8 - adds r2, 0x36 - adds r1, r2 - str r0, [r1] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - ldrb r1, [r5] - lsls r1, 6 - movs r2, 0x3A - add r8, r2 - add r1, r8 - str r0, [r1] - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r2, r0, 16 - mov r8, r2 - ldrb r0, [r5] - lsls r0, 6 - adds r1, r0, r6 - adds r0, r1, 0 - adds r0, 0x26 - ldrb r3, [r0] - adds r0, 0x1 - ldrb r4, [r0] - adds r0, 0x1 - ldrb r5, [r0] - adds r0, 0x1 - ldrb r6, [r0] - adds r0, 0x1 - ldrb r7, [r0] - cmp r2, 0xFE - bne _080AE2D0 - adds r3, 0x14 - b _080AE31E - .align 2, 0 -_080AE2C4: .4byte gUnknown_02038695 -_080AE2C8: .4byte gUnknown_02038572 -_080AE2CC: .4byte gPlayerParty -_080AE2D0: - cmp r2, 0xFF - bne _080AE2E0 - lsls r0, r4, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r4, r0, 16 - b _080AE31E -_080AE2E0: - movs r0, 0x80 - lsls r0, 1 - cmp r2, r0 - bne _080AE2F4 - lsls r0, r5, 16 - movs r2, 0xA0 - lsls r2, 13 - adds r0, r2 - lsrs r5, r0, 16 - b _080AE31E -_080AE2F4: - ldr r0, _080AE308 - cmp r2, r0 - bne _080AE30C - lsls r0, r6, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r6, r0, 16 - b _080AE31E - .align 2, 0 -_080AE308: .4byte 0x00000101 -_080AE30C: - movs r0, 0x81 - lsls r0, 1 - cmp r8, r0 - bne _080AE31E - lsls r0, r7, 16 - movs r2, 0xA0 - lsls r2, 13 - adds r0, r2 - lsrs r7, r0, 16 -_080AE31E: - cmp r3, 0xFF - ble _080AE324 - movs r3, 0xFF -_080AE324: - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080AE32E - movs r4, 0xFF -_080AE32E: - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080AE338 - movs r5, 0xFF -_080AE338: - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080AE342 - movs r6, 0xFF -_080AE342: - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080AE34C - movs r7, 0xFF -_080AE34C: - ldr r2, _080AE390 - ldr r1, _080AE394 - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x26 - strb r3, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x27 - strb r4, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x28 - strb r5, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x29 - strb r6, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x2A - strb r7, [r0] - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AE390: .4byte gUnknown_02038570 -_080AE394: .4byte gUnknown_02038695 - thumb_func_end sub_80AE098 - - thumb_func_start sub_80AE398 -sub_80AE398: @ 80AE398 - push {r4-r7,lr} - sub sp, 0x40 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - movs r6, 0 - bl sub_80AE054 - movs r5, 0 - ldr r2, _080AE470 -_080AE3AE: - ldrb r1, [r2, 0x1C] - lsls r0, r1, 30 - lsrs r0, 30 - cmp r7, r0 - bne _080AE3FE - cmp r4, 0 - bne _080AE3C2 - lsls r0, r1, 29 - cmp r0, 0 - blt _080AE3F2 -_080AE3C2: - cmp r4, 0x1 - bne _080AE3CE - ldrb r0, [r2, 0x1C] - lsls r0, 28 - cmp r0, 0 - blt _080AE3F2 -_080AE3CE: - cmp r4, 0x2 - bne _080AE3DA - ldrb r0, [r2, 0x1C] - lsls r0, 27 - cmp r0, 0 - blt _080AE3F2 -_080AE3DA: - cmp r4, 0x3 - bne _080AE3E6 - ldrb r0, [r2, 0x1C] - lsls r0, 26 - cmp r0, 0 - blt _080AE3F2 -_080AE3E6: - cmp r4, 0x4 - bne _080AE3FE - ldrb r0, [r2, 0x1C] - lsls r0, 25 - cmp r0, 0 - bge _080AE3FE -_080AE3F2: - adds r0, r6, 0 - adds r1, r0, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - add r0, sp - strb r5, [r0] -_080AE3FE: - adds r2, 0x40 - adds r5, 0x1 - cmp r5, 0x3B - ble _080AE3AE - mov r0, sp - adds r1, r0, r6 - movs r0, 0xFF - strb r0, [r1] - movs r5, 0 - ldr r7, _080AE470 -_080AE412: - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r6, 0 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _080AE474 - lsls r2, r5, 6 - adds r2, r1 - mov r1, sp - adds r4, r1, r0 - ldrb r1, [r4] - lsls r1, 6 - adds r1, r7 - adds r0, r2, 0 - movs r2, 0x40 - bl memcpy - ldrb r0, [r4] - adds r2, r5, 0x1 - subs r1, r6, 0x1 - cmp r0, 0xFF - beq _080AE454 - adds r3, r4, 0 -_080AE448: - ldrb r0, [r3, 0x1] - strb r0, [r3] - adds r3, 0x1 - ldrb r0, [r3] - cmp r0, 0xFF - bne _080AE448 -_080AE454: - lsls r0, r1, 24 - lsrs r6, r0, 24 - adds r5, r2, 0 - cmp r5, 0x2 - ble _080AE412 - ldr r0, _080AE478 - ldrb r0, [r0] - bl sub_80AE098 - add sp, 0x40 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AE470: .4byte gUnknown_083C9408 -_080AE474: .4byte gUnknown_02038570 -_080AE478: .4byte gUnknown_02038694 - thumb_func_end sub_80AE398 - - thumb_func_start sub_80AE47C -sub_80AE47C: @ 80AE47C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _080AE48E - movs r0, 0x3 - b _080AE50A -_080AE48E: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _080AE49E - movs r0, 0x4 - b _080AE50A -_080AE49E: - ldr r0, _080AE4B0 - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080AE4F2 - lsls r0, 2 - ldr r1, _080AE4B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AE4B0: .4byte gUnknown_0203869C -_080AE4B4: .4byte _080AE4B8 - .align 2, 0 -_080AE4B8: - .4byte _080AE4CC - .4byte _080AE4D2 - .4byte _080AE4D8 - .4byte _080AE4DE - .4byte _080AE4E4 -_080AE4CC: - adds r0, r4, 0 - movs r1, 0x32 - b _080AE4E8 -_080AE4D2: - adds r0, r4, 0 - movs r1, 0x33 - b _080AE4E8 -_080AE4D8: - adds r0, r4, 0 - movs r1, 0x34 - b _080AE4E8 -_080AE4DE: - adds r0, r4, 0 - movs r1, 0x35 - b _080AE4E8 -_080AE4E4: - adds r0, r4, 0 - movs r1, 0x36 -_080AE4E8: - bl GetMonData - lsls r0, 24 - lsrs r1, r0, 24 - b _080AE4F6 -_080AE4F2: - movs r0, 0 - b _080AE50A -_080AE4F6: - ldr r0, _080AE510 - adds r2, r1, 0 - ldrh r1, [r0] - movs r0, 0x2 - cmp r2, r1 - bhi _080AE50A - movs r0, 0 - cmp r2, r1 - bcc _080AE50A - movs r0, 0x1 -_080AE50A: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080AE510: .4byte gUnknown_0203869E - thumb_func_end sub_80AE47C - - thumb_func_start sub_80AE514 -sub_80AE514: @ 80AE514 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - movs r5, 0 - ldr r7, _080AE588 - adds r0, r7, 0x1 - mov r9, r0 - ldr r6, _080AE58C - adds r3, r6, 0x1 - mov r8, r3 -_080AE52C: - ldr r4, _080AE590 - adds r4, r5, r4 - ldrb r0, [r4] - lsls r0, 1 - adds r1, r0, r7 - ldrb r2, [r1] - mov r3, r9 - adds r1, r0, r3 - ldrb r3, [r1] - adds r0, r6 - ldrb r0, [r0] - adds r0, 0x5 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - ldrb r0, [r4] - lsls r0, 1 - add r0, r8 - ldrb r0, [r0] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldr r0, _080AE594 - movs r1, 0 - bl FillWindowRect_DefaultPalette - adds r0, r5, 0 - bl sub_80AE5BC - adds r0, r5, 0 - bl sub_80AE6CC - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _080AE52C - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AE588: .4byte gUnknown_083CA308 -_080AE58C: .4byte gUnknown_083CA310 -_080AE590: .4byte gUnknown_02038696 -_080AE594: .4byte gUnknown_03004210 - thumb_func_end sub_80AE514 - - thumb_func_start PutWindowTilemap -PutWindowTilemap: @ 80AE598 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r4, r2, 24 - lsrs r4, 24 - ldr r1, _080AE5B8 - bl StringCopy - strb r4, [r0] - adds r0, 0x1 - adds r1, r5, 0 - bl StringCopy - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080AE5B8: .4byte gUnknown_083CC59C - thumb_func_end PutWindowTilemap - - thumb_func_start sub_80AE5BC -sub_80AE5BC: @ 80AE5BC - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r0, r1, 24 - movs r2, 0xA0 - lsls r2, 20 - adds r1, r2 - lsrs r1, 24 - bl sub_80AE5D4 - pop {r0} - bx r0 - thumb_func_end sub_80AE5BC - - thumb_func_start sub_80AE5D4 -sub_80AE5D4: @ 80AE5D4 - push {r4-r7,lr} - sub sp, 0x8 - adds r2, r1, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080AE660 - ldr r1, _080AE664 - adds r0, r3, 0 - bl PutWindowTilemap - adds r3, r0, 0 - movs r0, 0xFC - strb r0, [r3] - movs r0, 0x6 - strb r0, [r3, 0x1] - movs r0, 0x4 - strb r0, [r3, 0x2] - adds r3, 0x3 - movs r0, 0xBA - strb r0, [r3] - adds r3, 0x1 - ldr r0, _080AE668 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AE67C - ldr r1, _080AE66C - lsls r0, r4, 3 - subs r0, r4 - lsls r2, r0, 2 - adds r0, r2, r1 - ldrh r6, [r0, 0x1A] - cmp r6, 0x1 - bne _080AE67C - adds r1, 0x8 - adds r1, r2, r1 - adds r0, r3, 0 - bl StringCopy - ldr r0, _080AE670 - ldr r1, _080AE660 - ldr r2, _080AE674 - adds r2, r4, r2 - ldrb r4, [r2] - movs r2, 0x16 - muls r2, r4 - movs r3, 0x94 - lsls r3, 2 - adds r2, r3 - ldr r5, _080AE678 - lsls r4, 1 - adds r3, r4, r5 - ldrb r3, [r3] - lsls r3, 27 - movs r7, 0xFB - lsls r7, 24 - adds r3, r7 - lsrs r3, 24 - adds r5, 0x1 - adds r4, r5 - ldrb r4, [r4] - lsls r4, 3 - str r4, [sp] - str r6, [sp, 0x4] - bl sub_8004D04 - b _080AE6B0 - .align 2, 0 -_080AE660: .4byte gUnknown_020238CC -_080AE664: .4byte gEmptyString_81E72B0 -_080AE668: .4byte gUnknown_0203869A -_080AE66C: .4byte gLinkPlayers -_080AE670: .4byte gUnknown_03004210 -_080AE674: .4byte gUnknown_02038696 -_080AE678: .4byte gUnknown_083CA310 -_080AE67C: - lsls r1, r4, 6 - ldr r0, _080AE6B8 - adds r1, r0 - adds r0, r3, 0 - bl StringCopy - ldr r0, _080AE6BC - ldr r1, _080AE6C0 - ldr r2, _080AE6C4 - adds r2, r4, r2 - ldrb r4, [r2] - movs r2, 0x16 - muls r2, r4 - movs r3, 0x94 - lsls r3, 2 - adds r2, r3 - ldr r5, _080AE6C8 - lsls r4, 1 - adds r3, r4, r5 - ldrb r3, [r3] - adds r5, 0x1 - adds r4, r5 - ldrb r4, [r4] - str r4, [sp] - bl sub_8003460 -_080AE6B0: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AE6B8: .4byte gUnknown_0203857D -_080AE6BC: .4byte gUnknown_03004210 -_080AE6C0: .4byte gUnknown_020238CC -_080AE6C4: .4byte gUnknown_02038696 -_080AE6C8: .4byte gUnknown_083CA310 - thumb_func_end sub_80AE5D4 - - thumb_func_start sub_80AE6CC -sub_80AE6CC: @ 80AE6CC - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r0, r1, 24 - movs r2, 0xA0 - lsls r2, 20 - adds r1, r2 - lsrs r1, 24 - bl sub_80AE6E4 - pop {r0} - bx r0 - thumb_func_end sub_80AE6CC - - thumb_func_start sub_80AE6E4 -sub_80AE6E4: @ 80AE6E4 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r2, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080AE75C - movs r0, 0xFC - strb r0, [r3] - movs r0, 0x6 - strb r0, [r3, 0x1] - movs r0, 0x4 - strb r0, [r3, 0x2] - adds r3, 0x3 - lsls r1, r4, 6 - ldr r0, _080AE760 - adds r1, r0 - adds r0, r3, 0 - bl PutWindowTilemap - adds r3, r0, 0 - movs r0, 0xFF - strb r0, [r3] - ldr r0, _080AE764 - ldr r1, _080AE75C - ldr r2, _080AE768 - adds r4, r2 - ldrb r4, [r4] - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 18 - movs r3, 0x80 - lsls r3, 18 - adds r2, r3 - lsrs r2, 16 - ldr r5, _080AE76C - lsls r4, 1 - adds r3, r4, r5 - ldrb r3, [r3] - lsls r3, 27 - movs r6, 0xFD - lsls r6, 24 - adds r3, r6 - lsrs r3, 24 - adds r5, 0x1 - adds r4, r5 - ldrb r4, [r4] - lsls r4, 3 - str r4, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - bl sub_8004D04 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AE75C: .4byte gUnknown_020238CC -_080AE760: .4byte gUnknown_02038572 -_080AE764: .4byte gUnknown_03004210 -_080AE768: .4byte gUnknown_02038696 -_080AE76C: .4byte gUnknown_083CA308 - thumb_func_end sub_80AE6E4 - - thumb_func_start sub_80AE770 -sub_80AE770: @ 80AE770 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r0, r1, 24 - cmp r0, 0x4 - bhi _080AE7FC - lsls r0, 2 - ldr r1, _080AE788 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AE788: .4byte _080AE78C - .align 2, 0 -_080AE78C: - .4byte _080AE7A0 - .4byte _080AE7B8 - .4byte _080AE7D0 - .4byte _080AE7E0 - .4byte _080AE7FC -_080AE7A0: - ldr r0, _080AE7B4 - lsls r2, 6 - adds r1, r2, r0 - adds r3, r1, 0 - adds r3, 0x26 - ldrb r5, [r3] - adds r3, 0x4 - ldrb r4, [r3] - adds r1, 0x27 - b _080AE80E - .align 2, 0 -_080AE7B4: .4byte gUnknown_02038570 -_080AE7B8: - ldr r0, _080AE7CC - lsls r2, 6 - adds r1, r2, r0 - adds r3, r1, 0 - adds r3, 0x27 - ldrb r5, [r3] - subs r3, 0x1 - ldrb r4, [r3] - adds r1, 0x28 - b _080AE80E - .align 2, 0 -_080AE7CC: .4byte gUnknown_02038570 -_080AE7D0: - ldr r1, _080AE7DC - lsls r2, 6 - adds r3, r2, r1 - adds r0, r3, 0 - adds r0, 0x28 - b _080AE7EA - .align 2, 0 -_080AE7DC: .4byte gUnknown_02038570 -_080AE7E0: - ldr r1, _080AE7F8 - lsls r2, 6 - adds r3, r2, r1 - adds r0, r3, 0 - adds r0, 0x29 -_080AE7EA: - ldrb r5, [r0] - subs r0, 0x1 - ldrb r4, [r0] - adds r0, 0x2 - ldrb r3, [r0] - adds r0, r1, 0 - b _080AE810 - .align 2, 0 -_080AE7F8: .4byte gUnknown_02038570 -_080AE7FC: - ldr r0, _080AE828 - lsls r2, 6 - adds r1, r2, r0 - adds r3, r1, 0 - adds r3, 0x2A - ldrb r5, [r3] - subs r3, 0x1 - ldrb r4, [r3] - adds r1, 0x26 -_080AE80E: - ldrb r3, [r1] -_080AE810: - adds r1, r2, r0 - adds r1, 0x2B - adds r0, r4, r3 - ldrb r1, [r1] - adds r0, r1 - asrs r0, 1 - adds r0, r5, r0 - lsls r0, 16 - lsrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080AE828: .4byte gUnknown_02038570 - thumb_func_end sub_80AE770 - - thumb_func_start sub_80AE82C -sub_80AE82C: @ 80AE82C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r6, _080AE854 -_080AE836: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80AE770 - lsls r1, r4, 1 - adds r1, r6 - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080AE836 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AE854: .4byte gUnknown_02038670 - thumb_func_end sub_80AE82C - - thumb_func_start sub_80AE858 -sub_80AE858: @ 80AE858 - push {r4,r5,lr} - ldr r0, _080AE8A0 - bl LoadCompressedObjectPic - ldr r0, _080AE8A4 - movs r1, 0x88 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, _080AE8A8 - movs r1, 0x70 - movs r2, 0x24 - movs r3, 0x1E - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080AE8AC - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r5, r2, r4 - ldrb r3, [r5, 0x5] - movs r1, 0xF - ands r1, r3 - movs r3, 0x10 - orrs r1, r3 - strb r1, [r5, 0x5] - adds r4, 0x1C - adds r2, r4 - ldr r1, _080AE8B0 - str r1, [r2] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080AE8A0: .4byte gUnknown_083CA4BC -_080AE8A4: .4byte gContest2Pal -_080AE8A8: .4byte gSpriteTemplate_83CA4A4 -_080AE8AC: .4byte gSprites -_080AE8B0: .4byte SpriteCallbackDummy - thumb_func_end sub_80AE858 - - thumb_func_start sub_80AE8B4 -sub_80AE8B4: @ 80AE8B4 - push {lr} - ldr r0, _080AE8F8 - bl LoadCompressedObjectPic - ldr r0, _080AE8FC - bl LoadCompressedObjectPalette - ldr r0, _080AE900 - movs r1, 0x60 - movs r2, 0xA - movs r3, 0x1D - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080AE904 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - movs r1, 0x3E - adds r1, r2 - mov r12, r1 - ldrb r1, [r1] - movs r3, 0x4 - orrs r1, r3 - mov r3, r12 - strb r1, [r3] - ldrh r1, [r2, 0x4] - lsls r1, 22 - lsrs r1, 22 - strh r1, [r2, 0x2E] - pop {r1} - bx r1 - .align 2, 0 -_080AE8F8: .4byte gUnknown_083CA4C4 -_080AE8FC: .4byte gUnknown_083CA4CC -_080AE900: .4byte gUnknown_083CA4D4 -_080AE904: .4byte gSprites - thumb_func_end sub_80AE8B4 - - thumb_func_start unref_sub_80AE908 -unref_sub_80AE908: @ 80AE908 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x8 - ldr r0, _080AE9D4 - mov r9, r0 - ldr r1, _080AE9D8 - mov r8, r1 - ldrb r0, [r1] - lsls r0, 6 - add r0, r9 - ldrh r5, [r0] - lsls r6, r5, 3 - ldr r0, _080AE9DC - adds r0, r6, r0 - ldr r2, _080AE9E0 - mov r10, r2 - lsls r2, r5, 2 - add r2, r10 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r4, _080AE9E4 - ldr r4, [r4, 0x4] - str r4, [sp] - str r5, [sp, 0x4] - bl DecompressPicFromTable_2 - ldr r0, _080AE9E8 - adds r6, r0 - ldr r0, [r6] - movs r1, 0x88 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - mov r1, r8 - ldrb r0, [r1] - lsls r0, 6 - add r0, r9 - ldrh r0, [r0] - movs r1, 0x1 - bl GetMonSpriteTemplate_803C56C - ldr r0, _080AE9EC - mov r2, r8 - ldrb r1, [r2] - lsls r1, 6 - add r1, r9 - ldrh r1, [r1] - lsls r1, 2 - add r1, r10 - ldrb r1, [r1] - movs r2, 0x8 - subs r2, r1 - lsls r2, 18 - movs r1, 0xA0 - lsls r1, 15 - adds r2, r1 - asrs r2, 16 - movs r1, 0x70 - movs r3, 0x1E - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _080AE9F0 - lsls r3, r4, 4 - adds r3, r4 - lsls r3, 2 - adds r0, r3, r5 - ldrb r2, [r0, 0x5] - movs r1, 0xF - ands r1, r2 - movs r2, 0x10 - orrs r1, r2 - strb r1, [r0, 0x5] - adds r1, r5, 0 - adds r1, 0x1C - adds r1, r3, r1 - ldr r2, _080AE9F4 - str r2, [r1] - adds r5, 0x10 - adds r3, r5 - ldr r1, _080AE9F8 - str r1, [r3] - movs r1, 0 - bl StartSpriteAffineAnim - adds r0, r4, 0 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080AE9D4: .4byte gUnknown_02038570 -_080AE9D8: .4byte gUnknown_02038695 -_080AE9DC: .4byte gMonFrontPicTable -_080AE9E0: .4byte gMonFrontPicCoords -_080AE9E4: .4byte gUnknown_081FAF4C -_080AE9E8: .4byte gMonPaletteTable -_080AE9EC: .4byte gUnknown_02024E8C -_080AE9F0: .4byte gSprites -_080AE9F4: .4byte SpriteCallbackDummy -_080AE9F8: .4byte gSpriteAffineAnimTable_81E7C18 - thumb_func_end unref_sub_80AE908 - - thumb_func_start sub_80AE9FC -sub_80AE9FC: @ 80AE9FC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - mov r8, r1 - adds r6, r2, 0 - lsls r0, 16 - lsrs r0, 16 - bl sub_80B2778 - mov r9, r0 - mov r5, r9 - lsls r0, r5, 3 - ldr r1, _080AEACC - adds r0, r1 - ldr r1, _080AEAD0 - lsls r2, r5, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r4, _080AEAD4 - ldr r4, [r4] - str r4, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - bl sub_800D334 - adds r0, r5, 0 - mov r1, r8 - adds r2, r6, 0 - bl species_and_otid_get_pal - movs r1, 0x90 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - adds r0, r5, 0 - movs r1, 0 - bl GetMonSpriteTemplate_803C56C - ldr r4, _080AEAD8 - movs r0, 0x2 - adds r1, r5, 0 - movs r2, 0 - bl sub_8077E44 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - movs r1, 0x70 - movs r3, 0x1E - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _080AEADC - mov r8, r0 - lsls r0, r7, 4 - adds r0, r7 - lsls r6, r0, 2 - mov r0, r8 - adds r4, r6, r0 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - movs r1, 0xD - negs r1, r1 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4, 0x5] - movs r0, 0x2 - bl sub_8079E90 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - mov r0, r8 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, _080AEAE0 - str r1, [r0] - ldrb r0, [r4, 0x5] - lsrs r0, 4 - strh r0, [r4, 0x2E] - strh r5, [r4, 0x32] - adds r0, r5, 0 - bl sub_80AEB1C - lsls r0, 24 - cmp r0, 0 - beq _080AEAE8 - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, _080AEAE4 - b _080AEAF0 - .align 2, 0 -_080AEACC: .4byte gMonBackPicTable -_080AEAD0: .4byte gMonBackPicCoords -_080AEAD4: .4byte gUnknown_081FAF4C -_080AEAD8: .4byte gUnknown_02024E8C -_080AEADC: .4byte gSprites -_080AEAE0: .4byte SpriteCallbackDummy -_080AEAE4: .4byte gSpriteAffineAnimTable_81E7C18 -_080AEAE8: - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, _080AEB14 -_080AEAF0: - str r1, [r0] - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, _080AEB18 - adds r0, r1 - movs r1, 0 - bl StartSpriteAffineAnim - adds r0, r7, 0 - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080AEB14: .4byte gSpriteAffineAnimTable_81E7BEC -_080AEB18: .4byte gSprites - thumb_func_end sub_80AE9FC - - thumb_func_start sub_80AEB1C -sub_80AEB1C: @ 80AEB1C - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC9 - beq _080AEB2A - movs r0, 0x1 - b _080AEB2C -_080AEB2A: - movs r0, 0 -_080AEB2C: - pop {r1} - bx r1 - thumb_func_end sub_80AEB1C - - thumb_func_start sub_80AEB30 -sub_80AEB30: @ 80AEB30 - push {lr} - ldr r0, _080AEB44 - bl sub_80AEB4C - ldr r0, _080AEB48 - bl sub_80AEB4C - pop {r0} - bx r0 - .align 2, 0 -_080AEB44: .4byte 0x0600c000 -_080AEB48: .4byte 0x0600e000 - thumb_func_end sub_80AEB30 - - thumb_func_start sub_80AEB4C -sub_80AEB4C: @ 80AEB4C - movs r1, 0xA0 - lsls r1, 3 - adds r2, r0, r1 - ldr r1, _080AEB60 - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, _080AEB64 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bx lr - .align 2, 0 -_080AEB60: .4byte 0x040000d4 -_080AEB64: .4byte 0x80000140 - thumb_func_end sub_80AEB4C - - thumb_func_start sub_80AEB68 -sub_80AEB68: @ 80AEB68 - push {lr} - lsls r0, 16 - lsls r1, 24 - lsrs r3, r1, 24 - ldr r2, _080AEB90 - ldr r1, _080AEB94 - lsrs r0, 13 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x8 - bhi _080AEBD0 - lsls r0, 2 - ldr r1, _080AEB98 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AEB90: .4byte gContestEffects -_080AEB94: .4byte gContestMoves -_080AEB98: .4byte _080AEB9C - .align 2, 0 -_080AEB9C: - .4byte _080AEBC0 - .4byte _080AEBC0 - .4byte _080AEBC8 - .4byte _080AEBC8 - .4byte _080AEBD0 - .4byte _080AEBD0 - .4byte _080AEBD0 - .4byte _080AEBD0 - .4byte _080AEBC0 -_080AEBC0: - ldr r0, _080AEBC4 - b _080AEBD2 - .align 2, 0 -_080AEBC4: .4byte 0x00009082 -_080AEBC8: - ldr r0, _080AEBCC - b _080AEBD2 - .align 2, 0 -_080AEBCC: .4byte 0x00009088 -_080AEBD0: - ldr r0, _080AEBE8 -_080AEBD2: - lsls r1, r3, 12 - movs r2, 0x90 - lsls r2, 8 - adds r1, r2 - lsls r0, 16 - asrs r0, 16 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_080AEBE8: .4byte 0x00009086 - thumb_func_end sub_80AEB68 - - thumb_func_start sub_80AEBEC -sub_80AEBEC: @ 80AEBEC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _080AEC74 - movs r1, 0x10 - str r1, [sp] - movs r1, 0x22 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xB - movs r3, 0x1F - bl FillWindowRect_DefaultPalette - ldr r1, _080AEC78 - lsls r0, r4, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - ldr r1, _080AEC7C - cmp r0, 0 - beq _080AEC34 - adds r1, 0x5 - cmp r0, 0x1 - beq _080AEC34 - adds r1, 0x5 - cmp r0, 0x2 - beq _080AEC34 - adds r1, 0x40 - cmp r0, 0x3 - bne _080AEC34 - subs r1, 0x20 -_080AEC34: - ldr r0, _080AEC74 - mov r8, r0 - ldr r6, _080AEC78 - lsls r5, r4, 3 - ldr r7, _080AEC80 - ldr r0, _080AEC84 - mov r9, r0 - ldr r4, _080AEC88 - ldr r3, _080AEC8C - movs r2, 0x4 -_080AEC48: - strh r1, [r3] - adds r0, r1, 0 - adds r0, 0x10 - strh r0, [r4] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - adds r4, 0x2 - adds r3, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _080AEC48 - adds r0, r5, r6 - ldrb r0, [r0] - lsls r0, 2 - adds r1, r0, r7 - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - bne _080AEC90 - movs r0, 0 - b _080AEC9C - .align 2, 0 -_080AEC74: .4byte gUnknown_03004210 -_080AEC78: .4byte gContestMoves -_080AEC7C: .4byte 0x00004040 -_080AEC80: .4byte gContestEffects -_080AEC84: .4byte gUnknown_083CADD4 -_080AEC88: .4byte 0x0600c816 -_080AEC8C: .4byte 0x0600c7d6 -_080AEC90: - ldrb r0, [r1, 0x1] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 -_080AEC9C: - cmp r0, 0x8 - bls _080AECA2 - movs r0, 0x8 -_080AECA2: - movs r2, 0 - ldr r1, _080AECB8 - adds r4, r1, 0 - adds r1, 0x23 - adds r3, r1, 0 - ldr r1, _080AECBC -_080AECAE: - cmp r2, r0 - bge _080AECC0 - strh r4, [r1] - b _080AECC2 - .align 2, 0 -_080AECB8: .4byte 0x00005012 -_080AECBC: .4byte 0x0600c7ea -_080AECC0: - strh r3, [r1] -_080AECC2: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x7 - ble _080AECAE - adds r0, r5, r6 - ldrb r0, [r0] - lsls r0, 2 - adds r1, r0, r7 - ldrb r0, [r1, 0x2] - cmp r0, 0xFF - bne _080AECDC - movs r0, 0 - b _080AECE8 -_080AECDC: - ldrb r0, [r1, 0x2] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 -_080AECE8: - cmp r0, 0x8 - bls _080AECEE - movs r0, 0x8 -_080AECEE: - movs r2, 0 - ldr r1, _080AED04 - adds r4, r1, 0 - adds r1, 0x22 - adds r3, r1, 0 - ldr r1, _080AED08 -_080AECFA: - cmp r2, r0 - bge _080AED0C - strh r4, [r1] - b _080AED0E - .align 2, 0 -_080AED04: .4byte 0x00005014 -_080AED08: .4byte 0x0600c82a -_080AED0C: - strh r3, [r1] -_080AED0E: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x7 - ble _080AECFA - adds r0, r5, r6 - ldrb r0, [r0] - lsls r0, 2 - add r0, r9 - ldr r1, [r0] - movs r2, 0xD9 - lsls r2, 2 - movs r0, 0x23 - str r0, [sp] - mov r0, r8 - movs r3, 0xB - bl sub_8003460 - ldr r1, _080AED50 - ldr r2, _080AED54 - movs r0, 0x1F - str r0, [sp] - mov r0, r8 - movs r3, 0x10 - bl sub_8003460 - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AED50: .4byte gUnknown_083CC5A2 -_080AED54: .4byte 0x00000362 - thumb_func_end sub_80AEBEC - - thumb_func_start sub_80AED58 -sub_80AED58: @ 80AED58 - push {lr} - sub sp, 0x8 - ldr r0, _080AED78 - movs r1, 0x1C - str r1, [sp] - movs r1, 0x28 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xB - movs r3, 0x23 - bl FillWindowRect_DefaultPalette - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080AED78: .4byte gUnknown_03004210 - thumb_func_end sub_80AED58 - - thumb_func_start sub_80AED7C -sub_80AED7C: @ 80AED7C - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, _080AEDD8 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0x2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl sub_80AF59C - lsls r0, 24 - cmp r0, 0 - bne _080AEDEC - cmp r6, 0 - beq _080AEDEC - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80AEB68 - lsls r0, 16 - lsrs r0, 16 - lsls r3, r5, 6 - ldr r1, _080AEDDC - adds r1, r3, r1 - strh r0, [r1] - ldr r1, _080AEDE0 - adds r1, r3, r1 - adds r2, r0, 0x1 - strh r2, [r1] - ldr r1, _080AEDE4 - adds r2, r3, r1 - adds r1, r0, 0 - adds r1, 0x10 - strh r1, [r2] - ldr r1, _080AEDE8 - adds r3, r1 - adds r0, 0x11 - strh r0, [r3] - b _080AEE08 - .align 2, 0 -_080AEDD8: .4byte gUnknown_02038696 -_080AEDDC: .4byte 0x0600c028 -_080AEDE0: .4byte 0x0600c02a -_080AEDE4: .4byte 0x0600c068 -_080AEDE8: .4byte 0x0600c06a -_080AEDEC: - lsls r1, r5, 6 - ldr r0, _080AEE10 - adds r0, r1, r0 - movs r2, 0 - strh r2, [r0] - ldr r0, _080AEE14 - adds r0, r1, r0 - strh r2, [r0] - ldr r3, _080AEE18 - adds r0, r1, r3 - strh r2, [r0] - ldr r0, _080AEE1C - adds r1, r0 - strh r2, [r1] -_080AEE08: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AEE10: .4byte 0x0600c028 -_080AEE14: .4byte 0x0600c02a -_080AEE18: .4byte 0x0600c068 -_080AEE1C: .4byte 0x0600c06a - thumb_func_end sub_80AED7C - - thumb_func_start unref_sub_80AEE20 -unref_sub_80AEE20: @ 80AEE20 - push {r4,lr} - movs r4, 0 -_080AEE24: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r1, _080AEE48 - adds r0, r1 - ldrh r0, [r0, 0x6] - adds r1, r4, 0 - bl sub_80AED7C - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080AEE24 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AEE48: .4byte 0x02019260 - thumb_func_end unref_sub_80AEE20 - - thumb_func_start sub_80AEE4C -sub_80AEE4C: @ 80AEE4C - ldr r0, _080AEE50 - bx lr - .align 2, 0 -_080AEE50: .4byte 0x00002034 - thumb_func_end sub_80AEE4C - - thumb_func_start sub_80AEE54 -sub_80AEE54: @ 80AEE54 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - lsls r5, r7, 3 - subs r0, r5, r7 - lsls r0, 2 - ldr r1, _080AEE84 - adds r0, r1 - ldrb r0, [r0, 0x10] - movs r2, 0x30 - ands r2, r0 - mov r10, r1 - cmp r2, 0 - bne _080AEE88 - movs r0, 0 - b _080AEF3C - .align 2, 0 -_080AEE84: .4byte 0x02019260 -_080AEE88: - ldr r0, _080AEEB0 - adds r0, r7, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - cmp r2, 0x10 - bne _080AEEF0 - adds r0, r7, 0 - bl sub_80AEE4C - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - movs r4, 0 - adds r6, r5, 0 - b _080AEEC4 - .align 2, 0 -_080AEEB0: .4byte gUnknown_02038696 -_080AEEB4: - mov r1, r9 - adds r0, r1, r4 - lsls r0, 6 - ldr r1, _080AEEE8 - adds r0, r1 - mov r1, r8 - strh r1, [r0] - adds r4, 0x1 -_080AEEC4: - subs r0, r6, r7 - lsls r0, 2 - ldr r1, _080AEEEC - adds r5, r0, r1 - movs r0, 0xD - ldrsb r0, [r5, r0] - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r0, 24 - cmp r0, r4 - bgt _080AEEB4 - ldr r0, [sp] - cmp r0, 0 - beq _080AEF3A - movs r0, 0x5B - b _080AEF2C - .align 2, 0 -_080AEEE8: .4byte 0x0600c026 -_080AEEEC: .4byte 0x02019260 -_080AEEF0: - movs r1, 0 - mov r8, r1 - movs r4, 0x3 - adds r6, r5, 0 - b _080AEF0A -_080AEEFA: - mov r1, r9 - adds r0, r1, r4 - lsls r0, 6 - ldr r1, _080AEF4C - adds r0, r1 - mov r1, r8 - strh r1, [r0] - subs r4, 0x1 -_080AEF0A: - subs r0, r6, r7 - lsls r0, 2 - mov r1, r10 - adds r5, r0, r1 - movs r0, 0xD - ldrsb r0, [r5, r0] - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r0, 24 - cmp r0, r4 - blt _080AEEFA - ldr r0, [sp] - cmp r0, 0 - beq _080AEF3A - movs r0, 0x26 -_080AEF2C: - bl PlaySE - ldrb r1, [r5, 0x10] - movs r0, 0x31 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x10] -_080AEF3A: - movs r0, 0x1 -_080AEF3C: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080AEF4C: .4byte 0x0600bfe6 - thumb_func_end sub_80AEE54 - - thumb_func_start sub_80AEF50 -sub_80AEF50: @ 80AEF50 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r5, 0 -_080AEF5A: - ldr r0, _080AEF80 - adds r0, r5, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80AEE4C - lsls r0, 16 - lsrs r6, r0, 16 - movs r4, 0 - lsls r7, r5, 3 - adds r2, r5, 0x1 - b _080AEF92 - .align 2, 0 -_080AEF80: .4byte gUnknown_02038696 -_080AEF84: - mov r1, r8 - adds r0, r1, r4 - lsls r0, 6 - ldr r3, _080AEFE0 - adds r0, r3 - strh r6, [r0] - adds r4, 0x1 -_080AEF92: - subs r0, r7, r5 - lsls r0, 2 - ldr r1, _080AEFE4 - adds r0, r1 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - movs r1, 0xA - str r2, [sp] - bl __divsi3 - lsls r0, 24 - asrs r0, 24 - ldr r2, [sp] - cmp r4, r0 - blt _080AEF84 - movs r6, 0 - cmp r4, 0x2 - bgt _080AEFCE - lsls r0, r4, 6 - ldr r1, _080AEFE0 - adds r0, r1 - mov r3, r8 - lsls r1, r3, 6 - adds r0, r1 -_080AEFC4: - strh r6, [r0] - adds r0, 0x40 - adds r4, 0x1 - cmp r4, 0x2 - ble _080AEFC4 -_080AEFCE: - adds r5, r2, 0 - cmp r5, 0x3 - ble _080AEF5A - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AEFE0: .4byte 0x0600c026 -_080AEFE4: .4byte 0x02019260 - thumb_func_end sub_80AEF50 - - thumb_func_start sub_80AEFE8 -sub_80AEFE8: @ 80AEFE8 - push {lr} - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - cmp r1, 0x4 - bhi _080AF02A - lsls r0, r1, 2 - ldr r1, _080AF000 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AF000: .4byte _080AF004 - .align 2, 0 -_080AF004: - .4byte _080AF018 - .4byte _080AF01C - .4byte _080AF020 - .4byte _080AF024 - .4byte _080AF028 -_080AF018: - movs r0, 0x80 - b _080AF02A -_080AF01C: - movs r0, 0x84 - b _080AF02A -_080AF020: - movs r0, 0x86 - b _080AF02A -_080AF024: - movs r0, 0x88 - b _080AF02A -_080AF028: - movs r0, 0x82 -_080AF02A: - movs r1, 0x90 - lsls r1, 8 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80AEFE8 - - thumb_func_start sub_80AF038 -sub_80AF038: @ 80AF038 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r5, 0x1 - movs r4, 0 - ldr r0, _080AF074 - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0x2 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - ldr r1, _080AF078 - adds r2, r0, r1 - ldr r0, [r2, 0x10] - ldr r1, _080AF07C - ands r0, r1 - cmp r0, 0 - bne _080AF06C - ldrb r0, [r2, 0xF] - cmp r0, 0 - beq _080AF080 -_080AF06C: - adds r0, r3, 0 - movs r1, 0 - b _080AF0A6 - .align 2, 0 -_080AF074: .4byte gUnknown_02038696 -_080AF078: .4byte 0x02019260 -_080AF07C: .4byte 0x00ff0003 -_080AF080: - ldrb r1, [r2, 0xC] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080AF090 - adds r0, r3, 0 - movs r1, 0x1 - b _080AF0A6 -_080AF090: - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080AF0A2 - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080AF0B0 -_080AF0A2: - adds r0, r3, 0 - movs r1, 0x2 -_080AF0A6: - bl sub_80AEFE8 - lsls r0, 16 - lsrs r4, r0, 16 - b _080AF0B2 -_080AF0B0: - movs r5, 0 -_080AF0B2: - cmp r5, 0 - beq _080AF0EC - lsls r2, r6, 6 - ldr r0, _080AF0DC - adds r0, r2, r0 - strh r4, [r0] - ldr r0, _080AF0E0 - adds r0, r2, r0 - adds r1, r4, 0x1 - strh r1, [r0] - ldr r0, _080AF0E4 - adds r1, r2, r0 - adds r0, r4, 0 - adds r0, 0x10 - strh r0, [r1] - ldr r0, _080AF0E8 - adds r2, r0 - adds r0, r4, 0 - adds r0, 0x11 - strh r0, [r2] - b _080AF106 - .align 2, 0 -_080AF0DC: .4byte 0x0600c028 -_080AF0E0: .4byte 0x0600c02a -_080AF0E4: .4byte 0x0600c068 -_080AF0E8: .4byte 0x0600c06a -_080AF0EC: - lsls r1, r6, 6 - ldr r0, _080AF110 - adds r0, r1, r0 - strh r5, [r0] - ldr r0, _080AF114 - adds r0, r1, r0 - strh r5, [r0] - ldr r2, _080AF118 - adds r0, r1, r2 - strh r5, [r0] - ldr r0, _080AF11C - adds r1, r0 - strh r5, [r1] -_080AF106: - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080AF110: .4byte 0x0600c028 -_080AF114: .4byte 0x0600c02a -_080AF118: .4byte 0x0600c068 -_080AF11C: .4byte 0x0600c06a - thumb_func_end sub_80AF038 - - thumb_func_start sub_80AF120 -sub_80AF120: @ 80AF120 - push {r4,lr} - movs r4, 0 -_080AF124: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80AF038 - adds r4, 0x1 - cmp r4, 0x3 - ble _080AF124 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AF120 - - thumb_func_start sub_80AF138 -sub_80AF138: @ 80AF138 - push {lr} - sub sp, 0x8 - ldr r0, _080AF158 - movs r1, 0x11 - str r1, [sp] - movs r1, 0x12 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0x1 - movs r3, 0xF - bl FillWindowRect_DefaultPalette - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080AF158: .4byte gUnknown_03004210 - thumb_func_end sub_80AF138 - - thumb_func_start sub_80AF15C -sub_80AF15C: @ 80AF15C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - adds r0, r4, 0 - bl sub_80AF59C - lsls r0, 24 - cmp r0, 0 - beq _080AF174 - movs r0, 0 - b _080AF1AA -_080AF174: - ldr r0, _080AF190 - ldrb r0, [r0] - cmp r4, r0 - beq _080AF198 - adds r0, r4, 0 - bl sub_81288F4 - bl sub_8128944 - lsls r0, 24 - ldr r2, _080AF194 - lsrs r0, 23 - lsls r1, r4, 6 - b _080AF1A2 - .align 2, 0 -_080AF190: .4byte gUnknown_02038695 -_080AF194: .4byte gUnknown_02038570 -_080AF198: - ldr r2, _080AF1B0 - ldr r0, _080AF1B4 - ldrb r0, [r0] - lsls r0, 1 - lsls r1, r5, 6 -_080AF1A2: - adds r0, r1 - adds r2, 0x1E - adds r0, r2 - ldrh r0, [r0] -_080AF1AA: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080AF1B0: .4byte gUnknown_02038570 -_080AF1B4: .4byte 0x02019204 - thumb_func_end sub_80AF15C - - thumb_func_start sub_80AF1B8 -sub_80AF1B8: @ 80AF1B8 - push {r4,lr} - movs r4, 0 -_080AF1BC: - adds r0, r4, 0 - bl sub_80AF15C - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, _080AF1E0 - adds r1, r2 - strh r0, [r1, 0x6] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080AF1BC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AF1E0: .4byte 0x02019260 - thumb_func_end sub_80AF1B8 - - thumb_func_start sub_80AF1E4 -sub_80AF1E4: @ 80AF1E4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - cmp r1, 0 - bne _080AF1FC - adds r0, r5, 0 - adds r0, 0xA - lsls r0, 24 - lsrs r3, r0, 24 - b _080AF1FE -_080AF1FC: - movs r3, 0xE -_080AF1FE: - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - ldr r1, _080AF21C - adds r1, r0, r1 - ldrh r0, [r1, 0x6] - cmp r0, 0 - bne _080AF228 - ldr r0, _080AF220 - ldr r1, _080AF224 - adds r2, r3, 0 - bl PutWindowTilemap - b _080AF23A - .align 2, 0 -_080AF21C: .4byte 0x02019260 -_080AF220: .4byte gUnknown_020238CC -_080AF224: .4byte gUnknownText_MissedTurn -_080AF228: - ldr r0, _080AF270 - ldrh r2, [r1, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, _080AF274 - adds r1, r2 - adds r2, r3, 0 - bl PutWindowTilemap -_080AF23A: - adds r0, r5, 0 - bl sub_80AF2A0 - ldr r0, _080AF278 - ldr r1, _080AF270 - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 18 - movs r3, 0xAE - lsls r3, 18 - adds r2, r3 - lsrs r2, 16 - ldr r4, _080AF27C - lsls r5, 1 - adds r3, r5, r4 - ldrb r3, [r3] - adds r4, 0x1 - adds r5, r4 - ldrb r4, [r5] - str r4, [sp] - bl sub_8003460 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AF270: .4byte gUnknown_020238CC -_080AF274: .4byte gMoveNames -_080AF278: .4byte gUnknown_03004210 -_080AF27C: .4byte gUnknown_083CA318 - thumb_func_end sub_80AF1E4 - - thumb_func_start unref_sub_80AF280 -unref_sub_80AF280: @ 80AF280 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 -_080AF288: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80AF1E4 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080AF288 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end unref_sub_80AF280 - - thumb_func_start sub_80AF2A0 -sub_80AF2A0: @ 80AF2A0 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - ldr r4, _080AF2D8 - ldr r1, _080AF2DC - lsrs r0, 23 - adds r2, r0, r1 - ldrb r2, [r2] - adds r1, 0x1 - adds r0, r1 - ldrb r3, [r0] - adds r0, r2, 0x7 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0 - bl FillWindowRect_DefaultPalette - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AF2D8: .4byte gUnknown_03004210 -_080AF2DC: .4byte gUnknown_083CA318 - thumb_func_end sub_80AF2A0 - - thumb_func_start unref_sub_80AF2E0 -unref_sub_80AF2E0: @ 80AF2E0 - push {r4,lr} - movs r4, 0 -_080AF2E4: - adds r0, r4, 0 - bl sub_80AF2A0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080AF2E4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end unref_sub_80AF2E0 - - thumb_func_start sub_80AF2FC -sub_80AF2FC: @ 80AF2FC - push {r4-r7,lr} - sub sp, 0x8 - movs r4, 0 - ldr r2, _080AF398 -_080AF304: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x2] - ldrh r3, [r0, 0x4] - adds r1, r3 - strh r1, [r0, 0x4] - lsls r0, r4, 1 - add r0, sp - strh r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080AF304 - movs r4, 0 -_080AF326: - movs r2, 0x3 - cmp r2, r4 - bls _080AF354 -_080AF32C: - subs r5, r2, 0x1 - lsls r0, r5, 1 - mov r7, sp - adds r3, r7, r0 - lsls r0, r2, 1 - adds r2, r7, r0 - ldrh r6, [r3] - movs r0, 0 - ldrsh r1, [r3, r0] - movs r7, 0 - ldrsh r0, [r2, r7] - cmp r1, r0 - bge _080AF34C - ldrh r0, [r2] - strh r6, [r2] - strh r0, [r3] -_080AF34C: - lsls r0, r5, 24 - lsrs r2, r0, 24 - cmp r2, r4 - bhi _080AF32C -_080AF354: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _080AF326 - movs r4, 0 - ldr r0, _080AF398 - mov r12, r0 - movs r7, 0x4 - negs r7, r7 - movs r6, 0x3 -_080AF36A: - movs r2, 0 - lsls r0, r4, 3 - adds r5, r4, 0x1 - subs r0, r4 - lsls r0, 2 - mov r1, r12 - adds r3, r0, r1 - movs r4, 0x4 - ldrsh r1, [r3, r4] -_080AF37C: - lsls r0, r2, 1 - add r0, sp - movs r4, 0 - ldrsh r0, [r0, r4] - cmp r1, r0 - bne _080AF39C - ands r2, r6 - ldrb r1, [r3, 0xB] - adds r0, r7, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0xB] - b _080AF3A6 - .align 2, 0 -_080AF398: .4byte 0x02019260 -_080AF39C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _080AF37C -_080AF3A6: - lsls r0, r5, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080AF36A - movs r0, 0x1 - bl sub_80B0F28 - bl sub_80B159C - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80AF2FC - - thumb_func_start sub_80AF3C0 -sub_80AF3C0: @ 80AF3C0 - push {lr} - ldr r2, _080AF3D0 - adds r3, r2, 0 -_080AF3C6: - ldrh r0, [r2, 0x6] - cmp r0, 0 - bne _080AF3D4 - movs r1, 0x5 - b _080AF3F2 - .align 2, 0 -_080AF3D0: .4byte 0x02019260 -_080AF3D4: - movs r1, 0x2 - ldrsh r0, [r2, r1] - movs r1, 0 - cmp r0, 0 - ble _080AF3F2 - movs r1, 0x1 - cmp r0, 0x1D - ble _080AF3F2 - movs r1, 0x2 - cmp r0, 0x3B - ble _080AF3F2 - movs r1, 0x4 - cmp r0, 0x4F - bgt _080AF3F2 - movs r1, 0x3 -_080AF3F2: - strb r1, [r2, 0x1A] - adds r2, 0x1C - adds r0, r3, 0 - adds r0, 0x54 - cmp r2, r0 - ble _080AF3C6 - pop {r0} - bx r0 - thumb_func_end sub_80AF3C0 - - thumb_func_start sub_80AF404 -sub_80AF404: @ 80AF404 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, _080AF42C - adds r2, r1, r0 - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080AF428 - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080AF430 -_080AF428: - movs r0, 0 - b _080AF432 - .align 2, 0 -_080AF42C: .4byte 0x02019260 -_080AF430: - movs r0, 0x1 -_080AF432: - pop {r1} - bx r1 - thumb_func_end sub_80AF404 - - thumb_func_start sub_80AF438 -sub_80AF438: @ 80AF438 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r5, 0 - ldr r0, _080AF594 - mov r10, r0 - movs r1, 0 - mov r12, r1 - movs r0, 0x7 - negs r0, r0 - mov r9, r0 - movs r1, 0x2 - negs r1, r1 - mov r8, r1 -_080AF458: - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - mov r1, r10 - adds r3, r0, r1 - movs r0, 0 - strh r0, [r3, 0x2] - strh r0, [r3] - mov r0, r12 - strb r0, [r3, 0x12] - ldrb r2, [r3, 0xC] - movs r0, 0x6 - ands r0, r2 - cmp r0, 0 - beq _080AF48A - lsls r0, r2, 29 - lsrs r0, 30 - subs r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 1 - mov r1, r9 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] -_080AF48A: - mov r1, r12 - strb r1, [r3, 0xE] - ldrb r0, [r3, 0x10] - mov r1, r8 - ands r1, r0 - mov r0, r12 - strb r0, [r3, 0xF] - movs r0, 0x3 - negs r0, r0 - ands r1, r0 - movs r6, 0x5 - negs r6, r6 - ands r1, r6 - movs r7, 0x9 - negs r7, r7 - ands r1, r7 - ldrb r0, [r3, 0xC] - mov r4, r8 - ands r4, r0 - strb r4, [r3, 0xC] - movs r0, 0xFF - strb r0, [r3, 0x13] - movs r0, 0x1 - negs r0, r0 - strb r0, [r3, 0x14] - subs r0, 0x30 - ands r1, r0 - strb r1, [r3, 0x10] - ldrb r2, [r3, 0x15] - lsls r1, r2, 31 - lsrs r1, 31 - lsls r1, 2 - adds r0, r6, 0 - ands r0, r2 - orrs r0, r1 - mov r1, r8 - ands r0, r1 - strb r0, [r3, 0x15] - ldrb r0, [r3, 0x11] - movs r2, 0x4 - negs r2, r2 - ands r2, r0 - movs r0, 0x21 - negs r0, r0 - ands r2, r0 - strb r2, [r3, 0x11] - movs r0, 0x4 - ands r0, r2 - cmp r0, 0 - beq _080AF500 - adds r0, r4, 0 - mov r1, r9 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3, 0xC] - adds r0, r2, 0 - ands r0, r6 - strb r0, [r3, 0x11] -_080AF500: - ldrb r2, [r3, 0x11] - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _080AF518 - ldrb r0, [r3, 0xB] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0xB] - adds r0, r7, 0 - ands r0, r2 - strb r0, [r3, 0x11] -_080AF518: - ldrb r0, [r3, 0x11] - movs r1, 0x11 - negs r1, r1 - ands r1, r0 - strb r1, [r3, 0x11] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _080AF458 - movs r5, 0 - mov r6, r10 - mov r9, r5 - adds r7, r6, 0 - subs r7, 0x5C - movs r0, 0x18 - negs r0, r0 - adds r0, r6 - mov r8, r0 -_080AF53E: - lsls r4, r5, 3 - subs r4, r5 - lsls r4, 2 - adds r4, r6 - ldrh r2, [r4, 0x6] - strh r2, [r4, 0x8] - lsls r1, r5, 1 - ldrb r0, [r7, 0x1] - lsls r0, 3 - adds r1, r0 - adds r0, r6, 0 - subs r0, 0x40 - adds r0, r1 - strh r2, [r0] - ldrh r0, [r4, 0x6] - bl contest_get_move_excitement - ldrb r1, [r7, 0x1] - lsls r1, 2 - adds r1, r5, r1 - add r1, r8 - strb r0, [r1] - mov r1, r9 - strh r1, [r4, 0x6] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _080AF53E - ldr r2, _080AF598 - ldrb r1, [r2, 0x1] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AF594: .4byte 0x02019260 -_080AF598: .4byte 0x02019328 - thumb_func_end sub_80AF438 - - thumb_func_start sub_80AF59C -sub_80AF59C: @ 80AF59C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, _080AF5C4 - adds r2, r1, r0 - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080AF5C0 - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080AF5C8 -_080AF5C0: - movs r0, 0x1 - b _080AF5CA - .align 2, 0 -_080AF5C4: .4byte 0x02019260 -_080AF5C8: - movs r0, 0 -_080AF5CA: - pop {r1} - bx r1 - thumb_func_end sub_80AF59C - - thumb_func_start unref_sub_80AF5D0 -unref_sub_80AF5D0: @ 80AF5D0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - ldr r1, _080AF5E8 - ldrb r1, [r1] - cmp r0, r1 - beq _080AF600 -_080AF5E2: - movs r0, 0x1 - b _080AF626 - .align 2, 0 -_080AF5E8: .4byte gUnknown_02038695 -_080AF5EC: - ldrb r0, [r4, 0x6] - movs r1, 0x1 - b _080AF5F6 -_080AF5F2: - ldrb r0, [r4, 0x6] - movs r1, 0x2 -_080AF5F6: - orrs r0, r1 - strb r0, [r4, 0x6] - b _080AF5E2 -_080AF5FC: - strb r3, [r2] - b _080AF5E2 -_080AF600: - movs r0, 0 - ldr r4, _080AF62C - adds r5, r4, 0x2 -_080AF606: - cmp r3, 0x3 - beq _080AF5EC - cmp r3, 0x4 - beq _080AF5F2 - adds r2, r0, r5 - ldrb r1, [r2] - cmp r1, r3 - beq _080AF5E2 - cmp r1, 0xFF - beq _080AF5FC - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080AF606 - movs r0, 0 -_080AF626: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080AF62C: .4byte 0x02019204 - thumb_func_end unref_sub_80AF5D0 - - thumb_func_start sub_80AF630 -sub_80AF630: @ 80AF630 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80AF688 - ldr r1, _080AF65C - lsls r4, 1 - adds r1, r4, r1 - strh r0, [r1] - ldr r2, _080AF660 - adds r2, r4, r2 - ldr r1, _080AF664 - adds r4, r1 - ldrh r4, [r4] - adds r0, r4 - strh r0, [r2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AF65C: .4byte gUnknown_02038688 -_080AF660: .4byte gUnknown_02038678 -_080AF664: .4byte gUnknown_02038670 - thumb_func_end sub_80AF630 - - thumb_func_start sub_80AF668 -sub_80AF668: @ 80AF668 - push {r4,lr} - movs r4, 0 -_080AF66C: - adds r0, r4, 0 - bl sub_80AF630 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080AF66C - bl sub_80AF6A0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AF668 - - thumb_func_start sub_80AF688 -sub_80AF688: @ 80AF688 - lsls r0, 24 - ldr r1, _080AF69C - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - lsls r0, 17 - asrs r0, 16 - bx lr - .align 2, 0 -_080AF69C: .4byte gUnknown_02038680 - thumb_func_end sub_80AF688 - - thumb_func_start sub_80AF6A0 -sub_80AF6A0: @ 80AF6A0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x70 - mov r0, sp - movs r1, 0 - movs r2, 0x8 - bl memset - movs r0, 0 - mov r9, r0 - mov r1, sp - adds r1, 0x8 - str r1, [sp, 0x64] - mov r3, sp - adds r3, 0xC - str r3, [sp, 0x68] - mov r6, sp - adds r6, 0x14 - str r6, [sp, 0x6C] - mov r4, sp -_080AF6CE: - bl Random - strh r0, [r4] - movs r2, 0 - cmp r2, r9 - bge _080AF70C - mov r1, sp - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bne _080AF6F0 - subs r4, 0x2 - movs r7, 0x1 - negs r7, r7 - add r9, r7 - b _080AF70C -_080AF6F0: - adds r2, 0x1 - cmp r2, r9 - bge _080AF70C - lsls r0, r2, 1 - mov r3, sp - adds r1, r3, r0 - ldrh r0, [r4] - ldrh r1, [r1] - cmp r0, r1 - bne _080AF6F0 - subs r4, 0x2 - movs r6, 0x1 - negs r6, r6 - add r9, r6 -_080AF70C: - adds r4, 0x2 - movs r7, 0x1 - add r9, r7 - mov r0, r9 - cmp r0, 0x3 - ble _080AF6CE - movs r1, 0 - mov r9, r1 - mov r4, sp - ldr r6, _080AF81C - ldr r2, [sp, 0x64] - ldr r5, _080AF820 - ldr r3, [sp, 0x68] -_080AF726: - mov r7, r9 - lsls r1, r7, 4 - movs r7, 0 - ldrsh r0, [r6, r7] - str r0, [r2] - movs r7, 0 - ldrsh r0, [r5, r7] - str r0, [r3] - ldrh r0, [r4] - str r0, [r2, 0x8] - ldr r0, [sp, 0x6C] - adds r1, r0, r1 - mov r7, r9 - str r7, [r1] - adds r4, 0x2 - adds r6, 0x2 - adds r2, 0x10 - adds r5, 0x2 - adds r3, 0x10 - movs r0, 0x1 - add r9, r0 - mov r1, r9 - cmp r1, 0x3 - ble _080AF726 - movs r3, 0 - mov r9, r3 -_080AF75A: - movs r4, 0x3 - cmp r4, r9 - ble _080AF7E4 - add r7, sp, 0x48 - ldr r6, [sp, 0x68] - str r6, [sp, 0x58] - ldr r0, [sp, 0x64] - adds r0, 0x8 - str r0, [sp, 0x5C] - ldr r1, [sp, 0x6C] - str r1, [sp, 0x60] -_080AF770: - subs r3, r4, 0x1 - mov r10, r3 - mov r0, r10 - adds r1, r4, 0 - ldr r2, [sp, 0x64] - bl sub_80AF828 - lsls r0, 24 - cmp r0, 0 - beq _080AF7DE - mov r6, r10 - lsls r2, r6, 4 - ldr r0, [sp, 0x64] - adds r3, r0, r2 - ldr r0, [r3] - str r0, [sp, 0x48] - ldr r1, [sp, 0x58] - adds r6, r1, r2 - ldr r0, [r6] - str r0, [r7, 0x4] - ldr r0, [sp, 0x5C] - adds r0, r2 - mov r8, r0 - ldr r0, [r0] - str r0, [r7, 0x8] - ldr r1, [sp, 0x60] - adds r2, r1, r2 - ldr r0, [r2] - str r0, [r7, 0xC] - lsls r1, r4, 4 - ldr r0, [sp, 0x64] - adds r5, r0, r1 - ldr r0, [r5] - str r0, [r3] - ldr r3, [sp, 0x58] - adds r4, r3, r1 - ldr r0, [r4] - str r0, [r6] - ldr r6, [sp, 0x5C] - adds r3, r6, r1 - ldr r0, [r3] - mov r6, r8 - str r0, [r6] - ldr r0, [sp, 0x60] - adds r1, r0, r1 - ldr r0, [r1] - str r0, [r2] - ldr r0, [sp, 0x48] - str r0, [r5] - ldr r0, [r7, 0x4] - str r0, [r4] - ldr r0, [r7, 0x8] - str r0, [r3] - ldr r0, [r7, 0xC] - str r0, [r1] -_080AF7DE: - mov r4, r10 - cmp r4, r9 - bgt _080AF770 -_080AF7E4: - movs r1, 0x1 - add r9, r1 - mov r3, r9 - cmp r3, 0x2 - ble _080AF75A - movs r6, 0 - mov r9, r6 - ldr r2, _080AF824 - ldr r1, [sp, 0x6C] -_080AF7F6: - ldr r0, [r1] - adds r0, r2 - mov r7, r9 - strb r7, [r0] - adds r1, 0x10 - movs r0, 0x1 - add r9, r0 - mov r3, r9 - cmp r3, 0x3 - ble _080AF7F6 - add sp, 0x70 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AF81C: .4byte gUnknown_02038678 -_080AF820: .4byte gUnknown_02038670 -_080AF824: .4byte gUnknown_02038690 - thumb_func_end sub_80AF6A0 - - thumb_func_start sub_80AF828 -sub_80AF828: @ 80AF828 - push {lr} - lsls r0, 4 - adds r0, r2 - lsls r1, 4 - adds r3, r1, r2 - ldr r2, [r0] - ldr r1, [r3] - cmp r2, r1 - blt _080AF858 - cmp r2, r1 - bgt _080AF84A - ldr r2, [r0, 0x4] - ldr r1, [r3, 0x4] - cmp r2, r1 - blt _080AF858 - cmp r2, r1 - ble _080AF84E -_080AF84A: - movs r2, 0 - b _080AF85A -_080AF84E: - ldr r1, [r0, 0x8] - ldr r0, [r3, 0x8] - movs r2, 0 - cmp r1, r0 - bge _080AF85A -_080AF858: - movs r2, 0x1 -_080AF85A: - adds r0, r2, 0 - pop {r1} - bx r1 - thumb_func_end sub_80AF828 - - thumb_func_start sub_80AF860 -sub_80AF860: @ 80AF860 - push {lr} - sub sp, 0x4 - ldr r0, _080AF88C - movs r1, 0 - strh r1, [r0] - ldr r0, _080AF890 - strh r1, [r0] - bl sub_80AF138 - ldr r0, _080AF894 - ldr r1, _080AF898 - movs r2, 0xC2 - lsls r2, 2 - movs r3, 0xF - str r3, [sp] - movs r3, 0x1 - bl sub_8003460 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080AF88C: .4byte gUnknown_030042A0 -_080AF890: .4byte gUnknown_03004280 -_080AF894: .4byte gMenuWindow -_080AF898: .4byte gUnknownText_LinkStandbyAndWinner - thumb_func_end sub_80AF860 - - thumb_func_start unref_sub_80AF89C -unref_sub_80AF89C: @ 80AF89C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r4, 16 - lsrs r4, 16 - lsls r6, 16 - lsrs r6, 16 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - lsls r2, r3, 2 - ldr r0, _080AF940 - adds r2, r0 - ldrb r0, [r2, 0x2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x2] - ldr r0, _080AF944 - movs r1, 0x14 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - adds r7, r0, 0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - bl sub_80AFB74 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 16 - asrs r6, 16 - adds r4, r6 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - bl sub_80AFB74 - adds r4, r0, 0 - subs r4, r5 - lsls r4, 24 - lsrs r4, 24 - mov r0, r9 - bl sub_80AFB40 - lsls r0, 16 - lsrs r0, 16 - ldr r2, _080AF948 - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0xA] - add r0, r8 - strh r0, [r1, 0xC] - mov r0, r9 - strh r0, [r1, 0xE] - cmp r6, 0 - bge _080AF932 - mov r0, r9 - bl nullsub_19 -_080AF932: - adds r0, r7, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080AF940: .4byte 0x02019338 -_080AF944: .4byte sub_80AF94C -_080AF948: .4byte gTasks - thumb_func_end unref_sub_80AF89C - - thumb_func_start sub_80AF94C -sub_80AF94C: @ 80AF94C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080AF988 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - ldrb r5, [r2, 0xE] - ldrh r3, [r2, 0xA] - movs r0, 0xA - ldrsh r1, [r2, r0] - cmp r1, 0 - bne _080AF990 - adds r0, r5, 0 - bl nullsub_19 - adds r0, r4, 0 - bl DestroyTask - lsls r1, r5, 2 - ldr r0, _080AF98C - adds r1, r0 - ldrb r2, [r1, 0x2] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x2] - b _080AFA56 - .align 2, 0 -_080AF988: .4byte gTasks -_080AF98C: .4byte 0x02019338 -_080AF990: - ldrh r0, [r2, 0x1C] - adds r0, 0x1 - strh r0, [r2, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _080AFA56 - movs r0, 0 - strh r0, [r2, 0x1C] - cmp r1, 0 - bge _080AF9BC - ldrh r0, [r2, 0x8] - subs r1, r0, 0x1 - strh r1, [r2, 0x8] - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r3, 0x1 - strh r0, [r2, 0xA] - movs r0, 0x16 - bl PlaySE - b _080AF9D0 -_080AF9BC: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - lsls r0, 24 - lsrs r6, r0, 24 - subs r0, r3, 0x1 - strh r0, [r2, 0xA] - movs r0, 0x15 - bl PlaySE -_080AF9D0: - ldr r3, _080AFA00 - lsls r0, r4, 2 - adds r0, r4 - lsls r2, r0, 3 - adds r0, r2, r3 - ldrh r1, [r0, 0xC] - ldr r0, _080AFA04 - cmp r1, r0 - beq _080AFA38 - adds r0, r3, r2 - adds r0, 0xC - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 5 - adds r1, 0x93 - adds r1, r6, r1 - lsls r1, 1 - ldr r2, _080AFA08 - adds r1, r2 - movs r2, 0x2 - bl RequestSpriteCopy - b _080AFA56 - .align 2, 0 -_080AFA00: .4byte gTasks -_080AFA04: .4byte 0x0000ffff -_080AFA08: .4byte 0x0600c000 -_080AFA0C: - adds r0, r2, r3 - lsls r1, 1 - adds r1, 0xE - adds r0, r1 - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 5 - adds r1, 0x93 - adds r1, r6, r1 - lsls r1, 1 - ldr r7, _080AFA34 - adds r1, r7 - movs r2, 0x2 - bl RequestSpriteCopy - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080AFA56 - .align 2, 0 -_080AFA34: .4byte 0x0600c000 -_080AFA38: - movs r1, 0 - adds r3, 0x8 -_080AFA3C: - adds r0, r1, 0x4 - lsls r0, 1 - adds r0, r2 - adds r4, r0, r3 - movs r7, 0 - ldrsh r0, [r4, r7] - cmp r0, 0 - blt _080AFA0C - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _080AFA3C -_080AFA56: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80AF94C - - thumb_func_start sub_80AFA5C -sub_80AFA5C: @ 80AFA5C - push {r4-r7,lr} - sub sp, 0x4 - movs r3, 0 - ldr r0, _080AFAAC - mov r12, r0 - mov r4, sp - movs r6, 0 - ldr r2, _080AFAB0 - ldr r5, _080AFAB4 -_080AFA6E: - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 5 - adds r0, r1, 0 - adds r0, 0x56 - lsls r0, 1 - add r0, r12 - strh r6, [r4] - mov r7, sp - str r7, [r2] - str r0, [r2, 0x4] - str r5, [r2, 0x8] - ldr r0, [r2, 0x8] - adds r1, 0x76 - lsls r1, 1 - add r1, r12 - strh r6, [r4] - str r7, [r2] - str r1, [r2, 0x4] - str r5, [r2, 0x8] - ldr r0, [r2, 0x8] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _080AFA6E - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AFAAC: .4byte 0x0600c000 -_080AFAB0: .4byte 0x040000d4 -_080AFAB4: .4byte 0x81000008 - thumb_func_end sub_80AFA5C - - thumb_func_start unref_sub_80AFAB8 -unref_sub_80AFAB8: @ 80AFAB8 - push {r4-r6,lr} - sub sp, 0x14 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r0, 16 - asrs r0, 16 - bl sub_80AFB74 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _080AFAF4 - cmp r4, 0 - beq _080AFAE0 - ldr r2, _080AFAF8 - cmp r4, 0x1 - beq _080AFAE0 - ldr r2, _080AFAFC - cmp r4, 0x2 - bne _080AFAE0 - ldr r2, _080AFB00 -_080AFAE0: - movs r1, 0 - lsls r3, r4, 2 - movs r6, 0 -_080AFAE6: - cmp r1, r5 - bcs _080AFB04 - lsls r0, r1, 1 - add r0, sp - strh r2, [r0] - b _080AFB0A - .align 2, 0 -_080AFAF4: .4byte 0x000050a2 -_080AFAF8: .4byte 0x000060a2 -_080AFAFC: .4byte 0x000080a2 -_080AFB00: .4byte 0x000070a2 -_080AFB04: - lsls r0, r1, 1 - add r0, sp - strh r6, [r0] -_080AFB0A: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x8 - bls _080AFAE6 - adds r0, r3, r4 - lsls r0, 6 - ldr r1, _080AFB34 - adds r0, r1 - ldr r1, _080AFB38 - mov r2, sp - str r2, [r1] - str r0, [r1, 0x4] - ldr r0, _080AFB3C - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AFB34: .4byte 0x0600c128 -_080AFB38: .4byte 0x040000d4 -_080AFB3C: .4byte 0x80000009 - thumb_func_end unref_sub_80AFAB8 - - thumb_func_start sub_80AFB40 -sub_80AFB40: @ 80AFB40 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080AFB64 - cmp r0, 0 - beq _080AFB5A - ldr r1, _080AFB68 - cmp r0, 0x1 - beq _080AFB5A - ldr r1, _080AFB6C - cmp r0, 0x2 - bne _080AFB5A - ldr r1, _080AFB70 -_080AFB5A: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_080AFB64: .4byte 0x00005011 -_080AFB68: .4byte 0x00006011 -_080AFB6C: .4byte 0x00008011 -_080AFB70: .4byte 0x00007011 - thumb_func_end sub_80AFB40 - - thumb_func_start sub_80AFB74 -sub_80AFB74: @ 80AFB74 - push {lr} - lsls r0, 16 - asrs r0, 16 - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - lsrs r1, r0, 24 - asrs r2, r0, 24 - cmp r2, 0x10 - ble _080AFB8E - movs r1, 0x10 - b _080AFB98 -_080AFB8E: - movs r0, 0x10 - negs r0, r0 - cmp r2, r0 - bge _080AFB98 - movs r1, 0xF0 -_080AFB98: - lsls r0, r1, 24 - asrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80AFB74 - - thumb_func_start sub_80AFBA0 -sub_80AFBA0: @ 80AFBA0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r2, r7, 2 - ldr r0, _080AFC30 - adds r2, r0 - ldrb r0, [r2, 0x2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x2] - ldr r0, _080AFC34 - movs r1, 0x14 - bl CreateTask - lsls r0, 24 - lsrs r6, r0, 24 - lsls r5, 16 - asrs r5, 16 - adds r0, r5, 0 - bl sub_80AFB74 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - adds r5, r0 - lsls r5, 16 - asrs r5, 16 - adds r0, r5, 0 - bl sub_80AFB74 - lsls r4, 24 - asrs r4, 24 - subs r0, r4 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r7, 0 - bl sub_80AFB40 - ldr r2, _080AFC38 - lsls r3, r6, 2 - adds r0, r3, r6 - lsls r0, 3 - adds r1, r0, r2 - adds r0, r4, 0 - cmp r4, 0 - bge _080AFC14 - negs r0, r4 -_080AFC14: - strh r0, [r1, 0x8] - lsls r0, r5, 24 - asrs r0, 24 - strh r0, [r1, 0xA] - cmp r4, 0 - bgt _080AFC28 - cmp r4, 0 - bne _080AFC3C - cmp r0, 0 - ble _080AFC3C -_080AFC28: - movs r0, 0x1 - strh r0, [r1, 0xC] - b _080AFC4A - .align 2, 0 -_080AFC30: .4byte 0x02019338 -_080AFC34: .4byte sub_80AFC74 -_080AFC38: .4byte gTasks -_080AFC3C: - ldr r2, _080AFC6C - lsls r3, r6, 2 - adds r0, r3, r6 - lsls r0, 3 - adds r0, r2 - ldr r1, _080AFC70 - strh r1, [r0, 0xC] -_080AFC4A: - adds r0, r3, r6 - lsls r0, 3 - adds r0, r2 - strh r7, [r0, 0xE] - mov r1, r8 - lsls r0, r1, 16 - cmp r0, 0 - bge _080AFC60 - adds r0, r7, 0 - bl nullsub_19 -_080AFC60: - adds r0, r6, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080AFC6C: .4byte gTasks -_080AFC70: .4byte 0x0000ffff - thumb_func_end sub_80AFBA0 - - thumb_func_start sub_80AFC74 -sub_80AFC74: @ 80AFC74 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _080AFCD4 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r1 - ldrb r7, [r4, 0xE] - ldrh r3, [r4, 0x8] - ldrh r1, [r4, 0xA] - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xE - bgt _080AFCA6 - b _080AFE1C -_080AFCA6: - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r2, [r4, 0xA] - movs r5, 0xA - ldrsh r0, [r4, r5] - cmp r0, 0 - bne _080AFCDC - adds r0, r7, 0 - bl nullsub_19 - mov r0, r8 - bl DestroyTask - lsls r1, r7, 2 - ldr r0, _080AFCD8 - adds r1, r0 - ldrb r2, [r1, 0x2] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x2] - b _080AFE1C - .align 2, 0 -_080AFCD4: .4byte gTasks -_080AFCD8: .4byte 0x02019338 -_080AFCDC: - cmp r3, 0 - bne _080AFD28 - lsls r0, r1, 16 - mov r9, r0 - cmp r0, 0 - bge _080AFCFA - adds r0, r7, 0 - bl sub_80AFB40 - adds r0, 0x2 - lsls r0, 16 - lsrs r6, r0, 16 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - b _080AFD08 -_080AFCFA: - adds r0, r7, 0 - bl sub_80AFB40 - lsls r0, 16 - lsrs r6, r0, 16 - ldrh r0, [r4, 0xA] - subs r0, 0x1 -_080AFD08: - strh r0, [r4, 0xA] - ldr r1, _080AFD24 - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r2, r1, 0x1 - strh r2, [r0, 0x8] - lsls r1, 24 - lsrs r5, r1, 24 - b _080AFD94 - .align 2, 0 -_080AFD24: .4byte gTasks -_080AFD28: - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - bge _080AFD62 - lsls r0, r1, 16 - mov r9, r0 - cmp r0, 0 - bge _080AFD50 - ldrh r0, [r4, 0x8] - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r2, 0x1 - strh r0, [r4, 0xA] - adds r0, r7, 0 - bl sub_80AFB40 - adds r0, 0x2 - b _080AFD90 -_080AFD50: - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - subs r0, r2, 0x1 - strh r0, [r4, 0xA] - b _080AFD94 -_080AFD62: - lsls r0, r1, 16 - mov r9, r0 - cmp r0, 0 - bge _080AFD7C - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - adds r0, r2, 0x1 - strh r0, [r4, 0xA] - b _080AFD94 -_080AFD7C: - ldrh r0, [r4, 0x8] - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - lsls r0, 24 - lsrs r5, r0, 24 - subs r0, r2, 0x1 - strh r0, [r4, 0xA] - adds r0, r7, 0 - bl sub_80AFB40 -_080AFD90: - lsls r0, 16 - lsrs r6, r0, 16 -_080AFD94: - mov r10, r5 - cmp r5, 0x7 - bls _080AFDA2 - adds r0, r5, 0 - adds r0, 0x18 - lsls r0, 24 - lsrs r5, r0, 24 -_080AFDA2: - mov r0, sp - strh r6, [r0] - ldr r0, _080AFDE8 - adds r0, r7, r0 - ldrb r0, [r0] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 5 - adds r1, 0x56 - adds r1, r5, r1 - lsls r1, 1 - ldr r0, _080AFDEC - adds r1, r0 - ldr r2, _080AFDF0 - mov r0, sp - bl CpuSet - mov r2, r9 - cmp r2, 0 - ble _080AFDFC - movs r0, 0x60 - bl PlaySE - ldr r4, _080AFDF4 - adds r0, r4, 0 - bl m4aMPlayImmInit - ldr r1, _080AFDF8 - mov r3, r10 - lsls r2, r3, 24 - asrs r2, 16 - adds r0, r4, 0 - bl m4aMPlayPitchControl - b _080AFE02 - .align 2, 0 -_080AFDE8: .4byte gUnknown_02038696 -_080AFDEC: .4byte 0x0600c000 -_080AFDF0: .4byte 0x01000001 -_080AFDF4: .4byte gMPlay_SE1 -_080AFDF8: .4byte 0x0000ffff -_080AFDFC: - movs r0, 0x16 - bl PlaySE -_080AFE02: - cmp r5, 0 - bne _080AFE1C - cmp r6, 0 - bne _080AFE1C - ldr r0, _080AFE2C - mov r5, r8 - lsls r1, r5, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - negs r0, r0 - strh r0, [r1, 0xC] -_080AFE1C: - 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 -_080AFE2C: .4byte gTasks - thumb_func_end sub_80AFC74 - - thumb_func_start sub_80AFE30 -sub_80AFE30: @ 80AFE30 - push {r4,r5,lr} - ldr r0, _080AFE64 - bl LoadSpriteSheet - movs r4, 0 - ldr r5, _080AFE68 -_080AFE3C: - ldr r0, _080AFE6C - adds r0, r4, r0 - ldrb r0, [r0] - adds r0, r5 - ldrb r2, [r0] - ldr r0, _080AFE70 - movs r1, 0xB4 - movs r3, 0x1 - bl CreateSprite - lsls r1, r4, 2 - ldr r2, _080AFE74 - adds r1, r2 - strb r0, [r1] - adds r4, 0x1 - cmp r4, 0x3 - ble _080AFE3C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AFE64: .4byte gUnknown_083CA350 -_080AFE68: .4byte gUnknown_083CA338 -_080AFE6C: .4byte gUnknown_02038696 -_080AFE70: .4byte gSpriteTemplate_83CA3AC -_080AFE74: .4byte 0x02019338 - thumb_func_end sub_80AFE30 - - thumb_func_start sub_80AFE78 -sub_80AFE78: @ 80AFE78 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, r6, 2 - ldr r3, _080AFEB0 - adds r2, r3 - ldrb r0, [r2, 0x2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x2] - ldrb r7, [r2] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - subs r3, 0xD8 - adds r0, r3 - movs r1, 0x4 - ldrsh r0, [r0, r1] - movs r1, 0xA - bl __divsi3 - lsls r0, 17 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x38 - ble _080AFEB4 - movs r5, 0x38 - b _080AFEBA - .align 2, 0 -_080AFEB0: .4byte 0x02019338 -_080AFEB4: - cmp r0, 0 - bge _080AFEBA - movs r5, 0 -_080AFEBA: - ldr r2, _080AFEEC - lsls r3, r7, 4 - adds r0, r3, r7 - lsls r0, 2 - adds r4, r0, r2 - movs r0, 0x3E - adds r0, r4 - mov r12, r0 - ldrb r1, [r0] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - mov r1, r12 - strb r0, [r1] - strh r6, [r4, 0x2E] - strh r5, [r4, 0x30] - lsls r0, r5, 16 - asrs r0, 16 - movs r5, 0x24 - ldrsh r1, [r4, r5] - cmp r0, r1 - ble _080AFEF0 - movs r0, 0x1 - b _080AFEF2 - .align 2, 0 -_080AFEEC: .4byte gSprites -_080AFEF0: - ldr r0, _080AFF08 -_080AFEF2: - strh r0, [r4, 0x32] - adds r0, r3, r7 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _080AFF0C - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AFF08: .4byte 0x0000ffff -_080AFF0C: .4byte sub_80AFF60 - thumb_func_end sub_80AFE78 - - thumb_func_start sub_80AFF10 -sub_80AFF10: @ 80AFF10 - push {r4,lr} - movs r4, 0 -_080AFF14: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80AFE78 - adds r4, 0x1 - cmp r4, 0x3 - ble _080AFF14 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AFF10 - - thumb_func_start sub_80AFF28 -sub_80AFF28: @ 80AFF28 - push {r4,lr} - movs r3, 0 - ldr r2, _080AFF54 - ldrb r1, [r2, 0x2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080AFF4C - movs r4, 0x1 -_080AFF3A: - adds r2, 0x4 - adds r3, 0x1 - cmp r3, 0x3 - bgt _080AFF4C - ldrb r1, [r2, 0x2] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _080AFF3A -_080AFF4C: - cmp r3, 0x4 - beq _080AFF58 - movs r0, 0 - b _080AFF5A - .align 2, 0 -_080AFF54: .4byte 0x02019338 -_080AFF58: - movs r0, 0x1 -_080AFF5A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80AFF28 - - thumb_func_start sub_80AFF60 -sub_80AFF60: @ 80AFF60 - push {r4,lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x24] - movs r0, 0x24 - ldrsh r1, [r3, r0] - movs r4, 0x30 - ldrsh r0, [r3, r4] - cmp r1, r0 - bne _080AFF94 - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r1, 2 - ldr r0, _080AFF8C - adds r1, r0 - ldrb r2, [r1, 0x2] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x2] - ldr r0, _080AFF90 - str r0, [r3, 0x1C] - b _080AFF9A - .align 2, 0 -_080AFF8C: .4byte 0x02019338 -_080AFF90: .4byte SpriteCallbackDummy -_080AFF94: - ldrh r0, [r3, 0x32] - adds r0, r2, r0 - strh r0, [r3, 0x24] -_080AFF9A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AFF60 - - thumb_func_start sub_80AFFA0 -sub_80AFFA0: @ 80AFFA0 - push {r4-r6,lr} - movs r2, 0 - ldr r6, _080AFFD0 - ldr r5, _080AFFD4 - ldr r3, _080AFFD8 - ldr r4, _080AFFDC -_080AFFAC: - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r0, r2, r4 - ldrb r0, [r0] - adds r0, r5 - ldrb r0, [r0] - strh r0, [r1, 0x22] - adds r3, 0x4 - adds r2, 0x1 - cmp r2, 0x3 - ble _080AFFAC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AFFD0: .4byte gSprites -_080AFFD4: .4byte gUnknown_083CA338 -_080AFFD8: .4byte 0x02019338 -_080AFFDC: .4byte gUnknown_02038696 - thumb_func_end sub_80AFFA0 - - thumb_func_start sub_80AFFE0 -sub_80AFFE0: @ 80AFFE0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - ldr r6, _080B0008 - ldr r4, _080B000C - ldr r2, _080B0010 -_080AFFEE: - adds r0, r3, r6 - ldrb r0, [r0] - cmp r0, 0x1 - bls _080B0024 - cmp r5, 0 - bne _080B0014 - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r0, 0xB4 - b _080B0022 - .align 2, 0 -_080B0008: .4byte gUnknown_02038696 -_080B000C: .4byte gSprites -_080B0010: .4byte 0x02019338 -_080B0014: - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r0, 0x80 - lsls r0, 1 -_080B0022: - strh r0, [r1, 0x20] -_080B0024: - adds r2, 0x4 - adds r3, 0x1 - cmp r3, 0x3 - ble _080AFFEE - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80AFFE0 - - thumb_func_start sub_80B0034 -sub_80B0034: @ 80B0034 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _080B00A8 - bl LoadSpritePalette - movs r5, 0 - ldr r0, _080B00AC - mov r8, r0 - ldr r7, _080B00B0 - movs r6, 0 -_080B004A: - lsls r0, r5, 3 - ldr r1, _080B00B4 - adds r0, r1 - bl LoadCompressedObjectPic - ldr r0, _080B00B8 - adds r0, r6, r0 - ldr r1, _080B00BC - adds r1, r5, r1 - ldrb r1, [r1] - add r1, r8 - ldrb r2, [r1] - movs r1, 0xCC - movs r3, 0 - bl CreateSprite - lsls r4, r5, 2 - ldr r1, _080B00C0 - adds r4, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, _080B00C4 - bl SetSubspriteTables - ldrb r1, [r4, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r6, 0x18 - adds r5, 0x1 - cmp r5, 0x3 - ble _080B004A - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B00A8: .4byte gUnknown_083CA3E4 -_080B00AC: .4byte gUnknown_083CA33C -_080B00B0: .4byte gSprites -_080B00B4: .4byte gUnknown_083CA3C4 -_080B00B8: .4byte gSpriteTemplate_83CA3F4 -_080B00BC: .4byte gUnknown_02038696 -_080B00C0: .4byte 0x02019338 -_080B00C4: .4byte gUnknown_083CA464 - thumb_func_end sub_80B0034 - - thumb_func_start sub_80B00C8 -sub_80B00C8: @ 80B00C8 - push {lr} - ldr r0, _080B0104 - bl LoadCompressedObjectPic - ldr r0, _080B0108 - bl LoadSpritePalette - ldr r0, _080B010C - movs r1, 0x1E - movs r2, 0x2C - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B0110 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r2, [r1] - movs r3, 0x4 - orrs r2, r3 - strb r2, [r1] - ldr r1, _080B0114 - adds r1, 0x58 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080B0104: .4byte gUnknown_083CA46C -_080B0108: .4byte gUnknown_083CA474 -_080B010C: .4byte gSpriteTemplate_83CA484 -_080B0110: .4byte gSprites -_080B0114: .4byte 0x02019204 - thumb_func_end sub_80B00C8 - - thumb_func_start nullsub_18 -nullsub_18: @ 80B0118 - bx lr - thumb_func_end nullsub_18 - - thumb_func_start unref_sub_80B011C -unref_sub_80B011C: @ 80B011C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _080B0198 - bl LoadCompressedObjectPic - movs r4, 0 - ldr r5, _080B019C -_080B012C: - lsls r0, r4, 3 - adds r0, r5 - bl LoadCompressedObjectPalette - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080B012C - movs r4, 0 - ldr r5, _080B01A0 - adds r0, r5, 0x1 - mov r8, r0 - ldr r7, _080B01A4 - ldr r6, _080B01A8 -_080B014A: - lsls r2, r4, 1 - adds r0, r2, r4 - lsls r0, 3 - ldr r1, _080B01AC - adds r0, r1 - adds r1, r2, r5 - ldrb r1, [r1] - add r2, r8 - ldrb r2, [r2] - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - movs r2, 0x3E - adds r2, r1 - mov r12, r2 - ldrb r2, [r2] - movs r3, 0x4 - orrs r2, r3 - mov r3, r12 - strb r2, [r3] - strh r4, [r1, 0x2E] - adds r1, r4, r6 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080B014A - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B0198: .4byte gUnknown_083CC3AC -_080B019C: .4byte gUnknown_083CC3B4 -_080B01A0: .4byte gUnknown_083CA330 -_080B01A4: .4byte gSprites -_080B01A8: .4byte 0x0201920d -_080B01AC: .4byte gSpriteTemplate_83CC454 - thumb_func_end unref_sub_80B011C - - thumb_func_start unref_sub_80B01B0 -unref_sub_80B01B0: @ 80B01B0 - push {r4,r5,lr} - movs r2, 0 - ldr r5, _080B01D4 - ldr r4, _080B01D8 - ldr r3, _080B01DC -_080B01BA: - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - str r3, [r0] - adds r2, 0x1 - cmp r2, 0x3 - ble _080B01BA - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B01D4: .4byte 0x0201920d -_080B01D8: .4byte gSprites + 0x1C -_080B01DC: .4byte ObjectCB_SwitchPocketRotatingBallInit - thumb_func_end unref_sub_80B01B0 - - thumb_func_start unref_sub_80B01E0 -unref_sub_80B01E0: @ 80B01E0 - push {r4,r5,lr} - movs r3, 0 - ldr r2, _080B0224 - ldr r4, _080B0228 - ldrb r1, [r4, 0x9] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _080B022C - cmp r1, r0 - bne _080B021A - adds r5, r4, 0 - adds r5, 0x9 - adds r4, r1, 0 -_080B0202: - adds r3, 0x1 - cmp r3, 0x3 - bgt _080B021A - adds r0, r3, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - cmp r0, r4 - beq _080B0202 -_080B021A: - cmp r3, 0x4 - beq _080B0230 - movs r0, 0 - b _080B0232 - .align 2, 0 -_080B0224: .4byte gSprites -_080B0228: .4byte 0x02019204 -_080B022C: .4byte SpriteCallbackDummy -_080B0230: - movs r0, 0x1 -_080B0232: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end unref_sub_80B01E0 - - thumb_func_start ObjectCB_SwitchPocketRotatingBallInit -ObjectCB_SwitchPocketRotatingBallInit: @ 80B0238 - push {r4,lr} - adds r4, r0, 0 - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080B0268 - ldr r0, _080B0264 - b _080B0272 - .align 2, 0 -_080B0264: .4byte sub_80B02A8 -_080B0268: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, _080B027C -_080B0272: - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B027C: .4byte sub_80B0280 - thumb_func_end ObjectCB_SwitchPocketRotatingBallInit - - thumb_func_start sub_80B0280 -sub_80B0280: @ 80B0280 - push {lr} - adds r3, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080B02A0 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080B02A4 - str r0, [r3, 0x1C] -_080B02A0: - pop {r0} - bx r0 - .align 2, 0 -_080B02A4: .4byte sub_80B02A8 - thumb_func_end sub_80B0280 - - thumb_func_start sub_80B02A8 -sub_80B02A8: @ 80B02A8 - push {r4,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _080B02EC - adds r0, r1 - ldrb r1, [r0, 0xB] - lsls r1, 30 - lsrs r1, 30 - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, _080B02F0 - str r0, [r4, 0x1C] - movs r0, 0x18 - bl PlaySE - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B02EC: .4byte 0x02019260 -_080B02F0: .4byte sub_80B02F4 - thumb_func_end sub_80B02A8 - - thumb_func_start sub_80B02F4 -sub_80B02F4: @ 80B02F4 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080B0318 - adds r0, r4, 0 - bl FreeSpriteOamMatrix - ldrb r0, [r4, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x1] - ldr r0, _080B0320 - str r0, [r4, 0x1C] -_080B0318: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B0320: .4byte SpriteCallbackDummy - thumb_func_end sub_80B02F4 - - thumb_func_start sub_80B0324 -sub_80B0324: @ 80B0324 - push {r4,lr} - ldr r0, _080B035C - movs r1, 0x1E - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080B0360 - strb r0, [r1, 0xD] - movs r2, 0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r4, _080B0364 - movs r3, 0xFF -_080B0342: - lsls r0, r2, 3 - adds r0, r1 - adds r0, r4 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _080B0342 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B035C: .4byte sub_80B0458 -_080B0360: .4byte 0x02019204 -_080B0364: .4byte gUnknown_03004B28 - thumb_func_end sub_80B0324 - - thumb_func_start sub_80B0368 -sub_80B0368: @ 80B0368 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080B03A0 - ldr r5, _080B03A4 - ldrb r2, [r5, 0xD] - lsls r1, r2, 2 - adds r1, r2 - adds r1, r0 - lsls r1, 3 - adds r3, 0x8 - adds r1, r3 - movs r4, 0 - strh r4, [r1] - lsls r0, 2 - adds r0, 0x1 - lsls r0, 1 - ldrb r2, [r5, 0xD] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r0, r1 - adds r0, r3 - strh r4, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B03A0: .4byte gTasks -_080B03A4: .4byte 0x02019204 - thumb_func_end sub_80B0368 - - thumb_func_start sub_80B03A8 -sub_80B03A8: @ 80B03A8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080B03D0 - movs r1, 0x1F - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B03D4 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B03D0: .4byte sub_80B03D8 -_080B03D4: .4byte gTasks - thumb_func_end sub_80B03A8 - - thumb_func_start sub_80B03D8 -sub_80B03D8: @ 80B03D8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r2, _080B044C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x8] - adds r4, r0, 0 - ldr r6, _080B0450 - ldrb r1, [r6, 0xD] - lsls r0, r1, 2 - adds r0, r1 - adds r0, r4 - lsls r0, 3 - adds r7, r2, 0 - adds r7, 0x8 - adds r1, r0, r7 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080B040C - cmp r0, 0xFF - bne _080B0444 -_080B040C: - movs r3, 0 - movs r0, 0xFF - strh r0, [r1] - lsls r1, r4, 2 - adds r1, 0x1 - lsls r1, 1 - ldrb r2, [r6, 0xD] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, r7 - strh r3, [r1] - adds r0, r6, 0 - adds r0, 0x14 - adds r0, r4, r0 - ldrb r0, [r0] - adds r0, 0x5 - lsls r0, 4 - adds r0, 0x6 - ldr r3, _080B0454 - movs r1, 0x2 - movs r2, 0 - bl BlendPalette - adds r0, r5, 0 - bl DestroyTask -_080B0444: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B044C: .4byte gTasks -_080B0450: .4byte 0x02019204 -_080B0454: .4byte 0x00004bff - thumb_func_end sub_80B03D8 - - thumb_func_start sub_80B0458 -sub_80B0458: @ 80B0458 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - lsls r1, r0, 2 - adds r1, r0 - mov r9, r1 - lsls r7, r1, 3 - ldr r0, _080B04A8 - mov r8, r0 - movs r1, 0x8 - negs r1, r1 - add r1, r8 - mov r10, r1 -_080B047C: - lsls r0, r6, 26 - lsrs r3, r0, 24 - lsls r0, r3, 1 - adds r0, r7 - mov r4, r8 - adds r2, r0, r4 - ldrh r4, [r2] - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r0, 0xFF - beq _080B04F6 - adds r0, r3, 0x1 - lsls r1, r0, 1 - adds r1, r7 - add r1, r8 - movs r5, 0 - ldrsh r1, [r1, r5] - adds r5, r0, 0 - cmp r1, 0 - bne _080B04AC - adds r0, r4, 0x1 - b _080B04AE - .align 2, 0 -_080B04A8: .4byte gUnknown_03004B28 -_080B04AC: - subs r0, r4, 0x1 -_080B04AE: - strh r0, [r2] - lsls r1, r3, 1 - mov r0, r9 - lsls r2, r0, 3 - adds r0, r1, r2 - mov r3, r10 - adds r3, 0x8 - adds r0, r3 - movs r4, 0 - ldrsh r0, [r0, r4] - adds r4, r1, 0 - cmp r0, 0x10 - beq _080B04CC - cmp r0, 0 - bne _080B04DA -_080B04CC: - lsls r0, r5, 1 - adds r0, r2 - adds r0, r3 - ldrh r1, [r0] - movs r2, 0x1 - eors r1, r2 - strh r1, [r0] -_080B04DA: - ldr r0, _080B0510 - adds r0, 0x14 - adds r0, r6, r0 - ldrb r0, [r0] - adds r0, 0x5 - lsls r0, 4 - adds r0, 0x6 - adds r1, r4, r7 - add r1, r8 - ldrb r2, [r1] - movs r1, 0x2 - ldr r3, _080B0514 - bl BlendPalette -_080B04F6: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _080B047C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B0510: .4byte 0x02019204 -_080B0514: .4byte 0x00004bff - thumb_func_end sub_80B0458 - - thumb_func_start sub_80B0518 -sub_80B0518: @ 80B0518 - push {r4,lr} - ldr r0, _080B0540 - movs r1, 0x1E - bl CreateTask - ldr r1, _080B0544 - strb r0, [r1, 0xE] - movs r4, 0 -_080B0528: - adds r0, r4, 0 - bl sub_80B0548 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080B0528 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B0540: .4byte sub_80B05FC -_080B0544: .4byte 0x02019204 - thumb_func_end sub_80B0518 - - thumb_func_start sub_80B0548 -sub_80B0548: @ 80B0548 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080B0580 - ldr r4, _080B0584 - ldrb r2, [r4, 0xE] - lsls r1, r2, 2 - adds r1, r2 - adds r1, r0 - lsls r1, 3 - adds r3, 0x8 - adds r1, r3 - movs r5, 0 - movs r2, 0xFF - strh r2, [r1] - lsls r0, 2 - adds r0, 0x1 - lsls r0, 1 - ldrb r2, [r4, 0xE] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r0, r1 - adds r0, r3 - strh r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B0580: .4byte gTasks -_080B0584: .4byte 0x02019204 - thumb_func_end sub_80B0548 - - thumb_func_start sub_80B0588 -sub_80B0588: @ 80B0588 - push {r4,lr} - movs r4, 0 -_080B058C: - adds r0, r4, 0 - bl sub_80B05A4 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080B058C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B0588 - - thumb_func_start sub_80B05A4 -sub_80B05A4: @ 80B05A4 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80B0548 - adds r0, r4, 0x5 - lsls r2, r0, 5 - ldr r3, _080B05E8 - adds r6, r2, r3 - ldr r5, _080B05EC - adds r2, r5 - ldr r1, _080B05F0 - str r6, [r1] - str r2, [r1, 0x4] - ldr r2, _080B05F4 - str r2, [r1, 0x8] - ldr r6, [r1, 0x8] - lsls r0, 4 - adds r4, 0xC - adds r0, r4 - lsls r0, 1 - subs r3, 0x14 - adds r3, r0, r3 - subs r5, 0x14 - adds r0, r5 - str r3, [r1] - str r0, [r1, 0x4] - str r2, [r1, 0x8] - ldr r0, [r1, 0x8] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B05E8: .4byte gPlttBufferUnfaded + 0x14 -_080B05EC: .4byte gPlttBufferFaded + 0x14 -_080B05F0: .4byte 0x040000d4 -_080B05F4: .4byte 0x80000001 - thumb_func_end sub_80B05A4 - - thumb_func_start nullsub_19 -nullsub_19: @ 80B05F8 - bx lr - thumb_func_end nullsub_19 - - thumb_func_start sub_80B05FC -sub_80B05FC: @ 80B05FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - movs r7, 0 - lsls r1, r0, 2 - adds r1, r0 - mov r9, r1 - lsls r6, r1, 3 - ldr r0, _080B0664 - mov r8, r0 - ldr r1, _080B0668 - mov r10, r1 -_080B061C: - lsls r0, r7, 26 - lsrs r3, r0, 24 - lsls r0, r3, 1 - adds r0, r6 - mov r4, r8 - adds r2, r0, r4 - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r0, 0xFF - beq _080B06C2 - adds r0, r3, 0x2 - lsls r0, 1 - adds r0, r6 - adds r1, r0, r4 - ldrh r0, [r1] - adds r0, 0x1 - movs r4, 0 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080B06C2 - strh r4, [r1] - adds r0, r3, 0x1 - lsls r1, r0, 1 - adds r1, r6 - add r1, r8 - movs r4, 0 - ldrsh r1, [r1, r4] - adds r4, r0, 0 - cmp r1, 0 - bne _080B066C - ldrh r0, [r2] - adds r0, 0x1 - b _080B0670 - .align 2, 0 -_080B0664: .4byte gUnknown_03004B28 -_080B0668: .4byte 0x00004bff -_080B066C: - ldrh r0, [r2] - subs r0, 0x1 -_080B0670: - strh r0, [r2] - lsls r1, r3, 1 - mov r5, r9 - lsls r2, r5, 3 - adds r0, r1, r2 - ldr r3, _080B06DC - adds r3, 0x8 - adds r0, r3 - movs r5, 0 - ldrsh r0, [r0, r5] - adds r5, r1, 0 - cmp r0, 0x10 - beq _080B068E - cmp r0, 0 - bne _080B069C -_080B068E: - lsls r0, r4, 1 - adds r0, r2 - adds r0, r3 - ldrh r1, [r0] - movs r2, 0x1 - eors r1, r2 - strh r1, [r0] -_080B069C: - adds r4, r7, 0x5 - lsls r4, 4 - adds r0, r4, 0 - adds r0, 0xA - adds r5, r6 - add r5, r8 - ldrb r2, [r5] - movs r1, 0x1 - mov r3, r10 - bl BlendPalette - adds r4, 0xC - adds r4, r7 - ldrb r2, [r5] - adds r0, r4, 0 - movs r1, 0x1 - mov r3, r10 - bl BlendPalette -_080B06C2: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3 - bls _080B061C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B06DC: .4byte gTasks - thumb_func_end sub_80B05FC - - thumb_func_start unref_sub_80B06E0 -unref_sub_80B06E0: @ 80B06E0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - ldr r0, _080B073C - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r0, _080B0740 - mov r8, r0 - ldr r1, _080B0744 - mov r12, r1 -_080B0704: - lsls r4, r3, 2 - lsls r0, r3, 26 - lsrs r0, 23 - adds r0, r6 - add r0, r8 - adds r2, r7, r3 - ldrb r1, [r2] - strh r1, [r0] - ldrb r0, [r2] - cmp r0, 0 - beq _080B0726 - mov r1, r12 - adds r0, r4, r1 - ldrb r1, [r0, 0x2] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x2] -_080B0726: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _080B0704 - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080B073C: .4byte sub_80B0748 -_080B0740: .4byte gUnknown_03004B28 -_080B0744: .4byte 0x02019338 - thumb_func_end unref_sub_80B06E0 - - thumb_func_start sub_80B0748 -sub_80B0748: @ 80B0748 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - ldr r2, _080B07F4 - movs r1, 0x8 - adds r1, r2 - mov r10, r1 - ldr r3, [sp] - lsls r3, 2 - str r3, [sp, 0x1C] - ldr r1, [sp] - adds r0, r3, r1 - lsls r0, 3 - str r0, [sp, 0xC] -_080B0774: - ldr r0, _080B07F8 - ldr r3, [sp, 0x4] - adds r0, r3, r0 - ldrb r4, [r0] - lsls r0, r4, 26 - lsrs r1, r0, 24 - lsls r0, r1, 1 - str r0, [sp, 0x8] - ldr r3, [sp] - lsls r0, r3, 2 - adds r0, r3 - lsls r6, r0, 3 - ldr r3, [sp, 0x8] - adds r0, r3, r6 - add r0, r10 - mov r9, r0 - ldrb r7, [r0] - cmp r7, 0 - bne _080B079C - b _080B0910 -_080B079C: - adds r3, r1, 0x1 - lsls r0, r3, 1 - adds r0, r6 - add r0, r10 - ldrb r0, [r0] - mov r8, r0 - adds r2, r1, 0x2 - lsls r0, r2, 1 - adds r0, r6 - add r0, r10 - ldrb r5, [r0] - adds r1, 0x3 - lsls r0, r1, 1 - adds r0, r6 - add r0, r10 - ldrb r6, [r0] - str r3, [sp, 0x10] - str r2, [sp, 0x14] - str r1, [sp, 0x18] - cmp r7, 0x1 - bne _080B0818 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - beq _080B07D2 - b _080B08EA -_080B07D2: - movs r6, 0 - adds r0, r4, 0x5 - lsls r0, 4 - adds r0, 0x1 - movs r1, 0x3 - adds r2, r5, 0 - ldr r3, _080B07FC - bl BlendPalette - cmp r5, 0 - bne _080B0800 - mov r0, r8 - cmp r0, 0x4 - bne _080B0800 - mov r1, r9 - strh r6, [r1] - b _080B08EA - .align 2, 0 -_080B07F4: .4byte gTasks -_080B07F8: .4byte gUnknown_02038696 -_080B07FC: .4byte 0x00007fff -_080B0800: - adds r0, r5, 0x2 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xD - bls _080B08EA - movs r5, 0 - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - b _080B08EA -_080B0818: - cmp r7, 0x2 - beq _080B0820 - cmp r7, 0x4 - bne _080B0896 -_080B0820: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bne _080B08EA - movs r6, 0 - adds r0, r4, 0x5 - lsls r0, 4 - adds r0, 0x1 - ldr r2, _080B0854 - lsls r1, r4, 1 - adds r1, r2 - ldrh r3, [r1] - movs r1, 0x3 - adds r2, r5, 0 - bl BlendPalette - cmp r5, 0 - bne _080B0858 - mov r2, r8 - cmp r2, 0x2 - bne _080B0858 - mov r3, r9 - strh r6, [r3] - b _080B08EA - .align 2, 0 -_080B0854: .4byte gUnknown_083CC5A4 -_080B0858: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xE - bne _080B08EA - movs r5, 0 - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r7, 0x4 - bne _080B08EA - cmp r0, 0x1 - bne _080B08EA - adds r4, 0x9 - lsls r4, 4 - adds r0, r4, 0x2 - movs r1, 0x1 - movs r2, 0x4 - movs r3, 0 - bl BlendPalette - adds r4, 0x5 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x4 - movs r3, 0 - bl BlendPalette - b _080B08EA -_080B0896: - cmp r7, 0x3 - bne _080B08EA - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xC - bne _080B08EA - movs r6, 0 - adds r0, r4, 0x5 - lsls r0, 4 - adds r4, r0, 0x1 - adds r0, r4, 0 - movs r1, 0x3 - adds r2, r5, 0 - movs r3, 0 - bl BlendPalette - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bne _080B08EA - ldr r0, _080B0930 - lsls r1, r4, 1 - adds r0, r1, r0 - ldrh r2, [r0] - ldr r0, _080B0934 - adds r1, r0 - ldrh r0, [r1] - ldr r1, _080B0938 - str r2, [r1] - str r0, [r1, 0x4] - movs r0, 0x80 - lsls r0, 24 - orrs r7, r0 - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, [sp, 0x8] - ldr r2, [sp, 0xC] - adds r0, r1, r2 - add r0, r10 - strh r6, [r0] -_080B08EA: - ldr r3, [sp, 0x10] - lsls r0, r3, 1 - ldr r1, [sp, 0xC] - adds r0, r1 - add r0, r10 - mov r2, r8 - strh r2, [r0] - ldr r3, [sp, 0x14] - lsls r0, r3, 1 - adds r0, r1 - add r0, r10 - strh r5, [r0] - ldr r1, [sp, 0x18] - lsls r0, r1, 1 - ldr r2, [sp, 0xC] - adds r0, r2 - add r0, r10 - strh r6, [r0] - ldr r2, _080B093C -_080B0910: - ldr r0, [sp, 0x4] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - cmp r0, 0x3 - bhi _080B0920 - b _080B0774 -_080B0920: - movs r4, 0 - ldr r3, [sp, 0x1C] - ldr r1, [sp] - adds r0, r3, r1 - lsls r1, r0, 3 - adds r2, 0x8 - adds r0, r1, r2 - b _080B0950 - .align 2, 0 -_080B0930: .4byte gPlttBufferFaded -_080B0934: .4byte gPlttBufferUnfaded -_080B0938: .4byte 0x040000d4 -_080B093C: .4byte gTasks -_080B0940: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bhi _080B0958 - lsls r0, r4, 3 - adds r0, r1 - adds r0, r2 -_080B0950: - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r0, 0 - beq _080B0940 -_080B0958: - cmp r4, 0x4 - bne _080B0980 - movs r4, 0 - ldr r3, _080B0990 - movs r5, 0x3 - negs r5, r5 -_080B0964: - lsls r1, r4, 2 - adds r1, r3 - ldrb r2, [r1, 0x2] - adds r0, r5, 0 - ands r0, r2 - strb r0, [r1, 0x2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080B0964 - ldr r0, [sp] - bl DestroyTask -_080B0980: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B0990: .4byte 0x02019338 - thumb_func_end sub_80B0748 - - thumb_func_start unref_sub_80B0994 -unref_sub_80B0994: @ 80B0994 - push {lr} - lsls r0, 24 - cmp r0, 0 - beq _080B09A6 - ldr r0, _080B09AC - ldrb r1, [r0, 0x6] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x6] -_080B09A6: - pop {r0} - bx r0 - .align 2, 0 -_080B09AC: .4byte 0x02019204 - thumb_func_end unref_sub_80B0994 - - thumb_func_start sub_80B09B0 -sub_80B09B0: @ 80B09B0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - ldr r1, _080B09D4 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B09D8 - adds r0, r2, 0 - bl sub_80B0368 - b _080B09DE - .align 2, 0 -_080B09D4: .4byte 0x02019260 -_080B09D8: - adds r0, r2, 0 - bl sub_80B03A8 -_080B09DE: - pop {r0} - bx r0 - thumb_func_end sub_80B09B0 - - thumb_func_start sub_80B09E4 -sub_80B09E4: @ 80B09E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r9, r0 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _080B0B2C - mov r1, r9 - adds r7, r1, r0 - ldrb r0, [r7] - lsls r5, r0, 2 - adds r5, r0 - lsls r5, 27 - movs r2, 0x80 - lsls r2, 22 - adds r5, r2 - lsrs r5, 24 - lsls r4, r1, 3 - ldr r0, _080B0B30 - adds r0, r4, r0 - bl LoadCompressedObjectPic - ldr r0, _080B0B34 - adds r4, r0 - adds r0, r4, 0 - bl LoadSpritePalette - mov r3, r9 - lsls r4, r3, 1 - add r4, r9 - lsls r4, 3 - ldr r0, _080B0B38 - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB8 - adds r2, r5, 0 - movs r3, 0x1D - bl CreateSprite - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r0, r4, 0 - movs r1, 0xF8 - adds r2, r5, 0 - movs r3, 0x1D - bl CreateSprite - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r1, _080B0B3C - mov r10, r1 - lsls r5, r6, 4 - adds r5, r6 - lsls r5, 2 - add r5, r10 - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x40 - ldr r3, _080B0B40 - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080B0B44 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - ldrb r0, [r7] - lsls r3, r0, 2 - adds r3, r0 - lsls r3, 6 - ldr r0, _080B0B48 - adds r3, r0 - mov r1, r8 - lsls r4, r1, 4 - add r4, r8 - lsls r4, 2 - add r4, r10 - ldrh r0, [r4, 0x4] - lsls r0, 22 - lsrs r0, 17 - ldr r2, _080B0B4C - mov r10, r2 - add r0, r10 - str r0, [sp] - movs r0, 0 - movs r1, 0x3 - movs r2, 0xC0 - lsls r2, 19 - bl sub_8040F80 - ldrb r0, [r7] - lsls r3, r0, 2 - adds r3, r0 - lsls r3, 6 - ldr r7, _080B0B50 - adds r3, r7 - ldrh r0, [r5, 0x4] - lsls r0, 22 - lsrs r0, 17 - add r0, r10 - str r0, [sp] - movs r0, 0 - movs r1, 0x3 - movs r2, 0xC0 - lsls r2, 19 - bl sub_8040F80 - ldrh r0, [r4, 0x4] - lsls r0, 22 - lsrs r0, 17 - movs r1, 0xA0 - lsls r1, 3 - adds r0, r1 - add r0, r10 - movs r2, 0 - str r2, [sp, 0x8] - ldr r1, _080B0B54 - add r3, sp, 0x8 - mov r12, r3 - str r3, [r1] - str r0, [r1, 0x4] - ldr r3, _080B0B58 - str r3, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0x4 - strb r2, [r0] - strb r2, [r0] - ldrh r0, [r5, 0x4] - lsls r0, 22 - lsrs r0, 17 - movs r7, 0xA0 - lsls r7, 3 - adds r0, r7 - add r0, r10 - str r2, [sp, 0x8] - mov r2, r12 - str r2, [r1] - str r0, [r1, 0x4] - str r3, [r1, 0x8] - ldr r0, [r1, 0x8] - strh r6, [r4, 0x2E] - mov r3, r8 - strh r3, [r5, 0x2E] - mov r7, r9 - strh r7, [r4, 0x30] - mov r0, r9 - strh r0, [r5, 0x30] - mov r0, r8 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080B0B2C: .4byte gUnknown_02038696 -_080B0B30: .4byte gUnknown_083CC4B4 -_080B0B34: .4byte gUnknown_083CC4D4 -_080B0B38: .4byte gSpriteTemplate_83CC53C -_080B0B3C: .4byte gSprites -_080B0B40: .4byte 0x000003ff -_080B0B44: .4byte 0xfffffc00 -_080B0B48: .4byte 0x0600e026 -_080B0B4C: .4byte 0x06010000 -_080B0B50: .4byte 0x0600e036 -_080B0B54: .4byte 0x040000d4 -_080B0B58: .4byte 0x850000c0 - thumb_func_end sub_80B09E4 - - thumb_func_start sub_80B0B5C -sub_80B0B5C: @ 80B0B5C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080B0B94 - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - adds r5, r1 - ldrh r0, [r5, 0x2E] - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r1 - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - adds r0, r5, 0 - bl DestroySpriteAndFreeResources - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B0B94: .4byte gSprites - thumb_func_end sub_80B0B5C - - thumb_func_start sub_80B0B98 -sub_80B0B98: @ 80B0B98 - ldr r1, _080B0BAC - movs r2, 0xFD - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _080B0BB0 - adds r0, r2, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_080B0BAC: .4byte REG_BLDCNT -_080B0BB0: .4byte 0x00000907 - thumb_func_end sub_80B0B98 - - thumb_func_start sub_80B0BB4 -sub_80B0BB4: @ 80B0BB4 - ldr r0, _080B0BC0 - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .align 2, 0 -_080B0BC0: .4byte REG_BLDCNT - thumb_func_end sub_80B0BB4 - - thumb_func_start sub_80B0BC4 -sub_80B0BC4: @ 80B0BC4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - adds r4, r0, 0 - mov r9, r1 - lsls r4, 24 - lsrs r4, 24 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - bl sub_80B0B98 - ldr r1, _080B0C38 - mov r8, r1 - lsls r6, r4, 4 - adds r6, r4 - lsls r6, 2 - adds r0, r6, r1 - movs r1, 0x30 - ldrsh r2, [r0, r1] - lsls r2, 2 - ldr r1, _080B0C3C - adds r2, r1 - ldrb r1, [r2, 0x2] - movs r3, 0x2 - orrs r1, r3 - strb r1, [r2, 0x2] - ldrh r5, [r0, 0x2E] - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x1 - bl StartSpriteAffineAnim - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - mov r1, r8 - adds r0, r4, r1 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r0, 0x1C - add r8, r0 - add r6, r8 - ldr r0, _080B0C40 - str r0, [r6] - add r4, r8 - ldr r0, _080B0C44 - str r0, [r4] - mov r1, r9 - cmp r1, 0 - bne _080B0C48 - movs r0, 0x65 - bl PlaySE - b _080B0C4E - .align 2, 0 -_080B0C38: .4byte gSprites -_080B0C3C: .4byte 0x02019338 -_080B0C40: .4byte sub_80B0C5C -_080B0C44: .4byte SpriteCallbackDummy -_080B0C48: - movs r0, 0x2 - bl PlaySE -_080B0C4E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B0BC4 - - thumb_func_start sub_80B0C5C -sub_80B0C5C: @ 80B0C5C - push {lr} - mov r12, r0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080B0CA4 - mov r0, r12 - ldrh r1, [r0, 0x2E] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080B0CA8 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080B0CA4 - mov r3, r12 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r3] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - ldr r0, _080B0CAC - mov r1, r12 - str r0, [r1, 0x1C] -_080B0CA4: - pop {r0} - bx r0 - .align 2, 0 -_080B0CA8: .4byte gSprites -_080B0CAC: .4byte sub_80B0CB0 - thumb_func_end sub_80B0C5C - - thumb_func_start sub_80B0CB0 -sub_80B0CB0: @ 80B0CB0 - push {lr} - movs r1, 0x30 - ldrsh r2, [r0, r1] - lsls r2, 2 - ldr r1, _080B0CD8 - adds r2, r1 - ldrb r3, [r2, 0x2] - movs r1, 0x3 - negs r1, r1 - ands r1, r3 - strb r1, [r2, 0x2] - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r0, 24 - bl sub_80B0B5C - bl sub_80B0BB4 - pop {r0} - bx r0 - .align 2, 0 -_080B0CD8: .4byte 0x02019338 - thumb_func_end sub_80B0CB0 - - thumb_func_start sub_80B0CDC -sub_80B0CDC: @ 80B0CDC - lsls r0, 24 - lsrs r0, 22 - ldr r1, _080B0CF0 - adds r0, r1 - ldrb r2, [r0, 0x2] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x2] - bx lr - .align 2, 0 -_080B0CF0: .4byte 0x02019338 - thumb_func_end sub_80B0CDC - - thumb_func_start unref_sub_80B0CF4 -unref_sub_80B0CF4: @ 80B0CF4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r0, _080B0D5C - movs r1, 0xC0 - lsls r1, 9 - adds r0, r1 - ldrb r1, [r0] - movs r2, 0x1 - eors r1, r2 - strb r1, [r0] - cmp r1, 0 - bne _080B0D6C - movs r4, 0 - ldr r6, _080B0D60 - adds r3, r6, 0x1 - mov r8, r3 - ldr r5, _080B0D64 - adds r7, r5, 0x1 -_080B0D1C: - lsls r1, r4, 1 - adds r0, r1, r6 - ldrb r2, [r0] - mov r3, r8 - adds r0, r1, r3 - ldrb r3, [r0] - adds r0, r1, r5 - ldrb r0, [r0] - adds r0, 0x5 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldr r0, _080B0D68 - movs r1, 0 - bl FillWindowRect_DefaultPalette - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080B0D1C - bl sub_80AE514 - bl sub_80AEB30 - b _080B0D70 - .align 2, 0 -_080B0D5C: .4byte 0x02000000 -_080B0D60: .4byte gUnknown_083CA308 -_080B0D64: .4byte gUnknown_083CA310 -_080B0D68: .4byte gUnknown_03004210 -_080B0D6C: - bl sub_80B0D7C -_080B0D70: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end unref_sub_80B0CF4 - - thumb_func_start sub_80B0D7C -sub_80B0D7C: @ 80B0D7C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - movs r5, 0 - ldr r0, _080B0ED0 - movs r1, 0xC0 - lsls r1, 9 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080B0D98 - b _080B0EC2 -_080B0D98: - movs r4, 0 - ldr r7, _080B0ED4 - adds r3, r7, 0x1 - mov r9, r3 - ldr r6, _080B0ED8 - adds r0, r6, 0x1 - mov r8, r0 -_080B0DA6: - lsls r1, r4, 1 - adds r0, r1, r7 - ldrb r2, [r0] - mov r3, r9 - adds r0, r1, r3 - ldrb r3, [r0] - adds r0, r1, r6 - ldrb r0, [r0] - adds r0, 0x5 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - add r1, r8 - ldrb r0, [r1] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldr r0, _080B0EDC - movs r1, 0 - bl FillWindowRect_DefaultPalette - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080B0DA6 - movs r4, 0 - ldr r6, _080B0ED8 - adds r7, r6, 0x1 -_080B0DE2: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r1, _080B0EE0 - adds r0, r1 - ldrh r2, [r0, 0x4] - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _080B0E08 - negs r0, r0 - lsls r0, 16 - lsrs r2, r0, 16 - add r1, sp, 0x8 - movs r0, 0xAE - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_080B0E08: - mov r0, sp - adds r0, r5 - adds r0, 0x8 - lsls r1, r2, 16 - asrs r1, 16 - movs r2, 0 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r0, _080B0EE4 - adds r0, r4, r0 - ldrb r0, [r0] - movs r1, 0x16 - adds r2, r0, 0 - muls r2, r1 - movs r3, 0x94 - lsls r3, 2 - adds r2, r3 - lsls r0, 1 - adds r1, r0, r6 - ldrb r3, [r1] - adds r0, r7 - ldrb r0, [r0] - str r0, [sp] - ldr r0, _080B0EDC - add r1, sp, 0x8 - bl sub_8003460 - movs r5, 0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080B0DE2 - movs r4, 0 - ldr r6, _080B0ED4 - adds r7, r6, 0x1 -_080B0E52: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r1, _080B0EE0 - adds r0, r1 - ldrh r2, [r0, 0x2] - movs r1, 0x2 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _080B0E78 - negs r0, r0 - lsls r0, 16 - lsrs r2, r0, 16 - add r1, sp, 0x8 - movs r0, 0xAE - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_080B0E78: - mov r0, sp - adds r0, r5 - adds r0, 0x8 - lsls r1, r2, 16 - asrs r1, 16 - movs r2, 0 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r0, _080B0EE4 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r2, r1, 2 - adds r2, r1 - lsls r2, 18 - movs r3, 0x80 - lsls r3, 18 - adds r2, r3 - lsrs r2, 16 - lsls r1, 1 - adds r0, r1, r6 - ldrb r3, [r0] - adds r1, r7 - ldrb r0, [r1] - str r0, [sp] - ldr r0, _080B0EDC - add r1, sp, 0x8 - bl sub_8003460 - movs r5, 0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080B0E52 - bl sub_80AEB30 -_080B0EC2: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B0ED0: .4byte 0x02000000 -_080B0ED4: .4byte gUnknown_083CA308 -_080B0ED8: .4byte gUnknown_083CA310 -_080B0EDC: .4byte gUnknown_03004210 -_080B0EE0: .4byte 0x02019260 -_080B0EE4: .4byte gUnknown_02038696 - thumb_func_end sub_80B0D7C - - thumb_func_start unref_sub_80B0EE8 -unref_sub_80B0EE8: @ 80B0EE8 - push {r4-r7,lr} - adds r7, r0, 0 - movs r4, 0 - subs r0, r1, 0x1 - cmp r4, r0 - bge _080B0F20 - adds r6, r0, 0 -_080B0EF6: - adds r3, r0, 0 - adds r5, r4, 0x1 - cmp r0, r4 - ble _080B0F18 - lsls r0, 2 - subs r0, 0x4 - adds r0, r7 -_080B0F04: - ldr r1, [r0] - ldr r2, [r0, 0x4] - cmp r1, r2 - ble _080B0F10 - str r1, [r0, 0x4] - str r2, [r0] -_080B0F10: - subs r0, 0x4 - subs r3, 0x1 - cmp r3, r4 - bgt _080B0F04 -_080B0F18: - adds r4, r5, 0 - adds r0, r6, 0 - cmp r4, r0 - blt _080B0EF6 -_080B0F20: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end unref_sub_80B0EE8 - - thumb_func_start sub_80B0F28 -sub_80B0F28: @ 80B0F28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - add r4, sp, 0x4 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x8 - bl memset - movs r5, 0 - add r4, sp, 0x4 - adds r6, r4, 0 - movs r7, 0 -_080B0F4E: - bl Random - adds r1, r0, 0 - mov r0, sp - adds r0, r7 - adds r0, 0x4 - strh r1, [r0] - movs r2, 0 - cmp r2, r5 - bge _080B0F86 - lsls r0, r1, 16 - lsrs r0, 16 - mov r1, sp - ldrh r1, [r1, 0x4] - cmp r0, r1 - beq _080B0F80 -_080B0F6E: - adds r2, 0x1 - cmp r2, r5 - bge _080B0F86 - lsls r0, r2, 1 - adds r0, r4, r0 - ldrh r1, [r6] - ldrh r0, [r0] - cmp r1, r0 - bne _080B0F6E -_080B0F80: - subs r6, 0x2 - subs r7, 0x2 - subs r5, 0x1 -_080B0F86: - adds r6, 0x2 - adds r7, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _080B0F4E - mov r2, r8 - cmp r2, 0 - bne _080B1050 - movs r5, 0 - ldr r3, _080B1008 - mov r8, r3 -_080B0F9C: - mov r6, r8 - strb r5, [r6] - movs r4, 0 - cmp r4, r5 - bge _080B1018 - ldr r7, _080B100C - mov r9, r7 - lsls r0, r5, 1 - adds r1, r0, 0 - add r1, r9 - mov r12, r1 - mov r2, sp - adds r2, 0x4 - str r2, [sp, 0xC] - add r0, sp - adds r0, 0x4 - str r0, [sp, 0x10] - ldr r3, _080B1008 - adds r6, r3, 0 - mov r10, r6 -_080B0FC4: - ldrb r0, [r3] - lsls r2, r0, 1 - mov r7, r9 - adds r0, r2, r7 - movs r6, 0 - ldrsh r1, [r0, r6] - mov r7, r12 - movs r6, 0 - ldrsh r0, [r7, r6] - cmp r1, r0 - blt _080B0FEC - cmp r1, r0 - bne _080B1010 - ldr r7, [sp, 0xC] - adds r0, r7, r2 - ldrh r0, [r0] - ldr r1, [sp, 0x10] - ldrh r1, [r1] - cmp r0, r1 - bcs _080B1010 -_080B0FEC: - adds r2, r5, 0 - cmp r5, r4 - ble _080B1004 - subs r0, r5, 0x1 - mov r6, r10 - adds r1, r0, r6 -_080B0FF8: - ldrb r0, [r1] - strb r0, [r1, 0x1] - subs r1, 0x1 - subs r2, 0x1 - cmp r2, r4 - bgt _080B0FF8 -_080B1004: - strb r5, [r3] - b _080B1018 - .align 2, 0 -_080B1008: .4byte gUnknown_02038696 -_080B100C: .4byte gUnknown_02038670 -_080B1010: - adds r3, 0x1 - adds r4, 0x1 - cmp r4, r5 - blt _080B0FC4 -_080B1018: - cmp r4, r5 - bne _080B1020 - mov r7, r8 - strb r5, [r7] -_080B1020: - movs r0, 0x1 - add r8, r0 - adds r5, 0x1 - cmp r5, 0x3 - ble _080B0F9C - ldr r4, _080B104C - mov r0, sp - adds r1, r4, 0 - movs r2, 0x4 - bl memcpy - movs r5, 0 -_080B1038: - mov r1, sp - adds r0, r1, r5 - ldrb r0, [r0] - adds r0, r4 - strb r5, [r0] - adds r5, 0x1 - cmp r5, 0x3 - ble _080B1038 - b _080B10FC - .align 2, 0 -_080B104C: .4byte gUnknown_02038696 -_080B1050: - mov r0, sp - movs r1, 0xFF - movs r2, 0x4 - bl memset - movs r5, 0 - ldr r3, _080B1070 - movs r6, 0 -_080B1060: - ldr r0, _080B1074 - adds r0, r6, r0 - ldrb r0, [r0, 0xB] - lsls r0, 30 - lsrs r2, r0, 30 - mov r7, sp - adds r1, r7, r2 - b _080B1082 - .align 2, 0 -_080B1070: .4byte gUnknown_02038696 -_080B1074: .4byte 0x02019260 -_080B1078: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - mov r0, sp - adds r1, r0, r2 -_080B1082: - ldrb r0, [r1] - cmp r0, 0xFF - bne _080B1078 - strb r5, [r1] - strb r2, [r3] - adds r3, 0x1 - adds r6, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080B1060 - movs r5, 0 -_080B1098: - movs r4, 0x3 - adds r1, r5, 0x1 - mov r10, r1 - cmp r4, r5 - ble _080B10F6 - mov r9, r4 - ldr r2, _080B110C - mov r8, r2 - add r3, sp, 0x4 - mov r12, r3 -_080B10AC: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r6, _080B1110 - adds r1, r0, r6 - ldrb r2, [r1, 0xB] - ldr r7, _080B1114 - adds r0, r7 - ldrb r3, [r0, 0xB] - mov r1, r9 - ands r1, r2 - mov r0, r9 - ands r0, r3 - subs r3, r4, 0x1 - cmp r1, r0 - bne _080B10F0 - mov r0, r8 - adds r7, r3, r0 - adds r2, r4, r0 - ldrb r6, [r7] - ldrb r1, [r2] - cmp r6, r1 - bcs _080B10F0 - lsls r0, r3, 1 - add r0, r12 - lsls r1, r4, 1 - add r1, r12 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bcs _080B10F0 - ldrb r0, [r2] - strb r6, [r2] - strb r0, [r7] -_080B10F0: - adds r4, r3, 0 - cmp r4, r5 - bgt _080B10AC -_080B10F6: - mov r5, r10 - cmp r5, 0x2 - ble _080B1098 -_080B10FC: - 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 -_080B110C: .4byte gUnknown_02038696 -_080B1110: .4byte 0x02019244 -_080B1114: .4byte 0x02019260 - thumb_func_end sub_80B0F28 - - thumb_func_start sub_80B1118 -sub_80B1118: @ 80B1118 - push {r4,r5,lr} - movs r4, 0 - movs r5, 0xA0 -_080B111E: - ldr r0, _080B1144 - adds r0, r5, r0 - ldr r1, _080B1148 - adds r1, r4, r1 - ldrb r1, [r1] - adds r1, 0x5 - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - adds r5, 0x20 - adds r4, 0x1 - cmp r4, 0x3 - ble _080B111E - bl sub_80AE514 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B1144: .4byte 0x02018004 -_080B1148: .4byte gUnknown_02038696 - thumb_func_end sub_80B1118 - - thumb_func_start sub_80B114C -sub_80B114C: @ 80B114C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r7, r6, 3 - subs r0, r7, r6 - lsls r0, 2 - ldr r4, _080B11B8 - adds r5, r0, r4 - movs r0, 0 - strh r0, [r5, 0x2] - strh r0, [r5] - adds r0, r6, 0 - bl sub_80AF404 - lsls r0, 24 - mov r8, r4 - cmp r0, 0 - bne _080B1176 - b _080B13DC -_080B1176: - ldrh r0, [r5, 0x6] - ldr r1, _080B11BC - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0] - mov r12, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - strb r0, [r5, 0xA] - ldrh r0, [r5, 0x6] - ldrh r1, [r5, 0x8] - cmp r0, r1 - bne _080B11C0 - cmp r0, 0 - beq _080B11C0 - ldrb r0, [r5, 0x15] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r5, 0x15] - ldrb r2, [r5, 0xB] - lsls r1, r2, 25 - lsrs r1, 29 - adds r1, 0x1 - movs r0, 0x7 - ands r1, r0 - lsls r1, 4 - movs r0, 0x71 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0xB] - b _080B11D8 - .align 2, 0 -_080B11B8: .4byte 0x02019260 -_080B11BC: .4byte gContestMoves -_080B11C0: - lsls r4, r6, 3 - subs r1, r4, r6 - lsls r1, 2 - ldr r3, _080B1264 - adds r1, r3 - ldrb r2, [r1, 0xB] - movs r0, 0x71 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0xB] - adds r7, r4, 0 - mov r8, r3 -_080B11D8: - subs r0, r7, r6 - lsls r0, 2 - add r0, r8 - ldr r2, _080B1268 - mov r1, r12 - lsls r3, r1, 2 - adds r2, r3, r2 - ldrb r1, [r2, 0x1] - strh r1, [r0] - strh r1, [r0, 0x2] - mov r0, r8 - adds r0, 0x70 - ldrb r1, [r2, 0x2] - strh r1, [r0, 0x4] - strh r1, [r0, 0x6] - strb r6, [r0, 0x11] - movs r2, 0 - adds r4, r3, 0 - movs r1, 0 - mov r5, r8 - adds r5, 0x7D - mov r3, r8 -_080B1204: - strb r1, [r3, 0xE] - adds r0, r5, r2 - strb r1, [r0] - adds r3, 0x1C - adds r2, 0x1 - cmp r2, 0x3 - ble _080B1204 - subs r0, r7, r6 - lsls r0, 2 - ldr r1, _080B1264 - adds r5, r0, r1 - ldrb r1, [r5, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B123C - ldrh r0, [r5, 0x8] - ldrh r1, [r5, 0x6] - bl AreMovesContestCombo - lsls r0, 24 - cmp r0, 0 - bne _080B123C - ldrb r1, [r5, 0x15] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x15] -_080B123C: - ldr r0, _080B126C - adds r0, r4, r0 - ldr r0, [r0] - bl _call_via_r0 - subs r0, r7, r6 - lsls r0, 2 - ldr r1, _080B1264 - adds r2, r0, r1 - ldrb r1, [r2, 0x10] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0x10 - bne _080B1270 - ldrh r1, [r2, 0x2] - subs r1, 0xA - movs r0, 0xD - ldrsb r0, [r2, r0] - b _080B128A - .align 2, 0 -_080B1264: .4byte 0x02019260 -_080B1268: .4byte gContestEffects -_080B126C: .4byte gContestEffectFuncs -_080B1270: - ldrb r1, [r2, 0x11] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080B1284 - movs r1, 0xD - ldrsb r1, [r2, r1] - lsls r0, r1, 1 - adds r0, r1 - b _080B1288 -_080B1284: - movs r0, 0xD - ldrsb r0, [r2, r0] -_080B1288: - ldrh r1, [r2, 0x2] -_080B128A: - adds r0, r1 - strh r0, [r2, 0x2] - subs r0, r7, r6 - lsls r0, 2 - ldr r1, _080B12E8 - adds r4, r0, r1 - movs r0, 0 - strb r0, [r4, 0x16] - ldrb r1, [r4, 0x15] - subs r0, 0x41 - ands r0, r1 - strb r0, [r4, 0x15] - adds r0, r6, 0 - bl sub_80B214C - lsls r0, 24 - cmp r0, 0 - beq _080B1322 - ldrh r0, [r4, 0x8] - ldrh r1, [r4, 0x6] - bl AreMovesContestCombo - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080B12EC - ldrb r1, [r4, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B12EC - strb r2, [r4, 0x16] - movs r0, 0x40 - orrs r1, r0 - movs r0, 0x11 - negs r0, r0 - ands r1, r0 - movs r0, 0 - ldrsh r2, [r4, r0] - ldrb r0, [r4, 0x16] - muls r0, r2 - strb r0, [r4, 0x17] - movs r0, 0x8 - orrs r1, r0 - strb r1, [r4, 0x15] - b _080B1322 - .align 2, 0 -_080B12E8: .4byte 0x02019260 -_080B12EC: - ldr r2, _080B1310 - subs r0, r7, r6 - lsls r0, 2 - ldr r1, _080B1314 - adds r3, r0, r1 - ldrh r0, [r3, 0x6] - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x2] - cmp r0, 0 - beq _080B1318 - ldrb r0, [r3, 0x15] - movs r1, 0x10 - orrs r0, r1 - movs r1, 0x40 - orrs r0, r1 - b _080B1320 - .align 2, 0 -_080B1310: .4byte gContestMoves -_080B1314: .4byte 0x02019260 -_080B1318: - ldrb r1, [r3, 0x15] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 -_080B1320: - strb r0, [r3, 0x15] -_080B1322: - subs r0, r7, r6 - lsls r0, 2 - ldr r1, _080B139C - mov r8, r1 - adds r4, r0, r1 - ldrb r1, [r4, 0x15] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080B1348 - ldrb r0, [r4, 0xB] - lsls r0, 25 - lsrs r0, 29 - adds r0, 0x1 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - strb r1, [r4, 0x18] -_080B1348: - ldrb r1, [r4, 0xC] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080B1362 - ldrb r0, [r4, 0x15] - movs r1, 0x11 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x15] - movs r0, 0 - strh r0, [r4, 0x2] - strh r0, [r4] -_080B1362: - ldrh r0, [r4, 0x6] - bl contest_get_move_excitement - mov r2, r8 - adds r2, 0xC8 - strb r0, [r2] - ldrb r1, [r4, 0x11] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B137A - strb r5, [r2] -_080B137A: - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0 - ble _080B13A4 - mov r0, r8 - subs r0, 0x5C - ldrb r0, [r0, 0x13] - lsls r0, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r2, r1] - adds r0, r1 - cmp r0, 0x4 - ble _080B13A0 - movs r0, 0x3C - b _080B13A6 - .align 2, 0 -_080B139C: .4byte 0x02019260 -_080B13A0: - movs r0, 0xA - b _080B13A6 -_080B13A4: - movs r0, 0 -_080B13A6: - strb r0, [r2, 0x2] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - b _080B13CA -_080B13BE: - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 -_080B13C4: - adds r2, 0x1 - cmp r2, 0x3 - bgt _080B13D2 -_080B13CA: - cmp r2, r6 - beq _080B13C4 - cmp r0, 0 - bne _080B13BE -_080B13D2: - subs r0, r7, r6 - lsls r0, 2 - ldr r1, _080B13E8 - adds r0, r1 - strb r2, [r0, 0x1B] -_080B13DC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B13E8: .4byte 0x02019260 - thumb_func_end sub_80B114C - - thumb_func_start sub_80B13EC -sub_80B13EC: @ 80B13EC - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - ldr r0, _080B1400 - adds r2, r0 - strb r1, [r2, 0x13] - bx lr - .align 2, 0 -_080B1400: .4byte 0x02019260 - thumb_func_end sub_80B13EC - - thumb_func_start sub_80B1404 -sub_80B1404: @ 80B1404 - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - ldr r0, _080B1418 - adds r2, r0 - strb r1, [r2, 0x14] - bx lr - .align 2, 0 -_080B1418: .4byte 0x02019260 - thumb_func_end sub_80B1404 - - thumb_func_start sub_80B141C -sub_80B141C: @ 80B141C - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0x3B - bls _080B1436 - movs r1, 0x35 - bl sub_80B13EC - b _080B1466 -_080B1436: - cmp r1, 0x27 - bls _080B1442 - movs r1, 0x34 - bl sub_80B13EC - b _080B1466 -_080B1442: - cmp r1, 0x1D - bls _080B144E - movs r1, 0x33 - bl sub_80B13EC - b _080B1466 -_080B144E: - cmp r1, 0x13 - bls _080B145A - movs r1, 0x32 - bl sub_80B13EC - b _080B1466 -_080B145A: - cmp r2, 0x9 - bls _080B1466 - adds r0, r3, 0 - movs r1, 0x31 - bl sub_80B13EC -_080B1466: - pop {r0} - bx r0 - thumb_func_end sub_80B141C - - thumb_func_start sub_80B146C -sub_80B146C: @ 80B146C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _080B14C8 - lsls r1, r4, 6 - ldr r2, _080B14CC - adds r1, r2 - bl StringCopy - ldr r0, _080B14D0 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r4, _080B14D4 - adds r1, r4 - ldrh r2, [r1, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, _080B14D8 - adds r1, r2 - bl StringCopy - ldr r2, _080B14DC - adds r0, r4, 0 - adds r0, 0x70 - ldrb r1, [r0, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x6] - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - lsls r1, r0, 29 - cmp r1, 0 - bne _080B14E8 - ldr r0, _080B14E0 - ldr r1, _080B14E4 - bl StringCopy - b _080B1538 - .align 2, 0 -_080B14C8: .4byte gStringVar1 -_080B14CC: .4byte gUnknown_02038572 -_080B14D0: .4byte gStringVar2 -_080B14D4: .4byte 0x02019260 -_080B14D8: .4byte gMoveNames -_080B14DC: .4byte gContestMoves -_080B14E0: .4byte gStringVar3 -_080B14E4: .4byte gUnknown_083CC280 -_080B14E8: - lsrs r0, r1, 29 - cmp r0, 0x1 - bne _080B1500 - ldr r0, _080B14F8 - ldr r1, _080B14FC - bl StringCopy - b _080B1538 - .align 2, 0 -_080B14F8: .4byte gStringVar3 -_080B14FC: .4byte gUnknown_083CC288 -_080B1500: - lsrs r0, r1, 29 - cmp r0, 0x2 - bne _080B1518 - ldr r0, _080B1510 - ldr r1, _080B1514 - bl StringCopy - b _080B1538 - .align 2, 0 -_080B1510: .4byte gStringVar3 -_080B1514: .4byte gUnknown_083CC290 -_080B1518: - lsrs r0, r1, 29 - cmp r0, 0x3 - bne _080B1530 - ldr r0, _080B1528 - ldr r1, _080B152C - bl StringCopy - b _080B1538 - .align 2, 0 -_080B1528: .4byte gStringVar3 -_080B152C: .4byte gUnknown_083CC299 -_080B1530: - ldr r0, _080B1568 - ldr r1, _080B156C - bl StringCopy -_080B1538: - ldr r4, _080B1570 - ldr r1, _080B1574 - lsls r0, r5, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80AF138 - ldr r0, _080B1578 - movs r2, 0xC2 - lsls r2, 2 - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8002EB0 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B1568: .4byte gStringVar3 -_080B156C: .4byte gUnknown_083CC2A3 -_080B1570: .4byte gStringVar4 -_080B1574: .4byte gUnknown_083CC188 -_080B1578: .4byte gMenuWindow - thumb_func_end sub_80B146C - - thumb_func_start sub_80B157C -sub_80B157C: @ 80B157C - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, _080B1598 - adds r1, r0 - ldrb r0, [r1, 0xC] - movs r2, 0x1 - orrs r0, r2 - strb r0, [r1, 0xC] - movs r0, 0 - strh r0, [r1, 0x6] - bx lr - .align 2, 0 -_080B1598: .4byte 0x02019260 - thumb_func_end sub_80B157C - - thumb_func_start sub_80B159C -sub_80B159C: @ 80B159C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - movs r0, 0 - mov r12, r0 - movs r4, 0 - ldr r1, _080B1600 - mov r9, r1 - add r2, sp, 0x4 - mov r6, r9 - movs r5, 0 - adds r3, r2, 0 -_080B15B8: - mov r0, sp - adds r1, r0, r4 - adds r0, r4, r6 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, r4 - strb r5, [r0] - adds r4, 0x1 - cmp r4, 0x3 - ble _080B15B8 - movs r4, 0 - ldr r7, _080B1604 - adds r5, r2, 0 - movs r1, 0x1 - mov r8, r1 -_080B15D6: - movs r2, 0 - adds r1, r7, 0 -_080B15DA: - ldrb r0, [r1, 0x19] - cmp r0, r4 - beq _080B1608 - adds r1, 0x1C - adds r2, 0x1 - cmp r2, 0x3 - ble _080B15DA -_080B15E8: - cmp r2, 0x4 - bne _080B1680 - movs r2, 0 - ldrb r0, [r5] - cmp r0, 0 - bne _080B1616 - ldrb r0, [r7, 0x19] - cmp r0, 0xFF - bne _080B1616 - mov r12, r2 - movs r2, 0x1 - b _080B163A - .align 2, 0 -_080B1600: .4byte gUnknown_02038696 -_080B1604: .4byte 0x02019260 -_080B1608: - mov r1, sp - adds r0, r1, r2 - strb r4, [r0] - adds r0, r5, r2 - mov r1, r8 - strb r1, [r0] - b _080B15E8 -_080B1616: - adds r2, 0x1 - cmp r2, 0x3 - bgt _080B1672 - adds r0, r5, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080B1616 - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0, 0x19] - cmp r0, 0xFF - bne _080B1616 - lsls r0, r2, 24 - lsrs r0, 24 - mov r12, r0 - adds r2, 0x1 -_080B163A: - cmp r2, 0x3 - bgt _080B1672 - ldr r6, _080B16C8 - lsls r0, r2, 3 - subs r0, r2 - lsls r3, r0, 2 -_080B1646: - adds r0, r5, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080B166A - adds r0, r3, r7 - ldrb r0, [r0, 0x19] - cmp r0, 0xFF - bne _080B166A - mov r1, r12 - adds r0, r1, r6 - adds r1, r2, r6 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080B166A - lsls r0, r2, 24 - lsrs r0, 24 - mov r12, r0 -_080B166A: - adds r3, 0x1C - adds r2, 0x1 - cmp r2, 0x3 - ble _080B1646 -_080B1672: - mov r0, sp - add r0, r12 - strb r4, [r0] - mov r1, r12 - adds r0, r5, r1 - mov r1, r8 - strb r1, [r0] -_080B1680: - adds r4, 0x1 - cmp r4, 0x3 - ble _080B15D6 - movs r4, 0 - ldr r5, _080B16CC - adds r3, r5, 0 - subs r3, 0x60 - movs r6, 0xFF - movs r7, 0x3F -_080B1692: - adds r1, r4, r5 - mov r0, sp - adds r2, r0, r4 - ldrb r0, [r2] - strb r0, [r1] - ldrb r0, [r3, 0x9] - orrs r0, r6 - strb r0, [r3, 0x9] - ldrb r1, [r3] - adds r0, r7, 0 - ands r0, r1 - strb r0, [r3] - mov r0, r9 - adds r1, r4, r0 - ldrb r0, [r2] - strb r0, [r1] - adds r3, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080B1692 - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B16C8: .4byte gUnknown_02038696 -_080B16CC: .4byte 0x020192d0 - thumb_func_end sub_80B159C - - thumb_func_start sub_80B16D0 -sub_80B16D0: @ 80B16D0 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - adds r1, r0, 0x1 - strh r1, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x54 - ble _080B1702 - movs r0, 0 - strh r0, [r2, 0x30] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - ldr r0, _080B1708 - str r0, [r2, 0x1C] - ldr r2, _080B170C - ldrb r1, [r2, 0x6] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x6] -_080B1702: - pop {r0} - bx r0 - .align 2, 0 -_080B1708: .4byte SpriteCallbackDummy -_080B170C: .4byte 0x02019204 - thumb_func_end sub_80B16D0 - - thumb_func_start sub_80B1710 -sub_80B1710: @ 80B1710 - push {r4,r5,lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080B172C - ldrb r5, [r0, 0x12] - cmp r1, 0x8 - bls _080B1720 - b _080B18C0 -_080B1720: - lsls r0, r1, 2 - ldr r1, _080B1730 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B172C: .4byte 0x02019204 -_080B1730: .4byte _080B1734 - .align 2, 0 -_080B1734: - .4byte _080B1758 - .4byte _080B1758 - .4byte _080B1788 - .4byte _080B17BC - .4byte _080B17F0 - .4byte _080B1824 - .4byte _080B1858 - .4byte _080B18C0 - .4byte _080B188C -_080B1758: - ldr r0, _080B177C - lsls r4, r5, 4 - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x2E] - ldr r2, _080B1780 - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _080B1784 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - movs r0, 0x20 - bl PlaySE - b _080B18E4 - .align 2, 0 -_080B177C: .4byte gSprites -_080B1780: .4byte 0x000003ff -_080B1784: .4byte 0xfffffc00 -_080B1788: - ldr r0, _080B17B0 - lsls r4, r5, 4 - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x2E] - adds r2, 0x4 - ldr r3, _080B17B4 - adds r0, r3, 0 - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _080B17B8 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - movs r0, 0x1F - bl PlaySE - b _080B18E4 - .align 2, 0 -_080B17B0: .4byte gSprites -_080B17B4: .4byte 0x000003ff -_080B17B8: .4byte 0xfffffc00 -_080B17BC: - ldr r0, _080B17E4 - lsls r4, r5, 4 - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x2E] - adds r2, 0x8 - ldr r3, _080B17E8 - adds r0, r3, 0 - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _080B17EC - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - movs r0, 0x1F - bl PlaySE - b _080B18E4 - .align 2, 0 -_080B17E4: .4byte gSprites -_080B17E8: .4byte 0x000003ff -_080B17EC: .4byte 0xfffffc00 -_080B17F0: - ldr r0, _080B1818 - lsls r4, r5, 4 - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x2E] - adds r2, 0xC - ldr r3, _080B181C - adds r0, r3, 0 - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _080B1820 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - movs r0, 0x2D - bl PlaySE - b _080B18E4 - .align 2, 0 -_080B1818: .4byte gSprites -_080B181C: .4byte 0x000003ff -_080B1820: .4byte 0xfffffc00 -_080B1824: - ldr r0, _080B184C - lsls r4, r5, 4 - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x2E] - adds r2, 0xC - ldr r3, _080B1850 - adds r0, r3, 0 - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _080B1854 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - movs r0, 0x2D - bl PlaySE - b _080B18E4 - .align 2, 0 -_080B184C: .4byte gSprites -_080B1850: .4byte 0x000003ff -_080B1854: .4byte 0xfffffc00 -_080B1858: - ldr r0, _080B1880 - lsls r4, r5, 4 - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x2E] - adds r2, 0x10 - ldr r3, _080B1884 - adds r0, r3, 0 - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _080B1888 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - movs r0, 0x2D - bl PlaySE - b _080B18E4 - .align 2, 0 -_080B1880: .4byte gSprites -_080B1884: .4byte 0x000003ff -_080B1888: .4byte 0xfffffc00 -_080B188C: - ldr r0, _080B18B4 - lsls r4, r5, 4 - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x2E] - adds r2, 0x18 - ldr r3, _080B18B8 - adds r0, r3, 0 - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _080B18BC - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - movs r0, 0xC3 - bl PlaySE - b _080B18E4 - .align 2, 0 -_080B18B4: .4byte gSprites -_080B18B8: .4byte 0x000003ff -_080B18BC: .4byte 0xfffffc00 -_080B18C0: - ldr r0, _080B1914 - lsls r4, r5, 4 - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x2E] - adds r2, 0x14 - ldr r3, _080B1918 - adds r0, r3, 0 - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _080B191C - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - movs r0, 0x2D - bl PlaySE -_080B18E4: - adds r2, r4, 0 - ldr r4, _080B1914 - adds r2, r5 - lsls r2, 2 - adds r1, r2, r4 - movs r0, 0 - strh r0, [r1, 0x30] - adds r1, 0x3E - ldrb r3, [r1] - subs r0, 0x5 - ands r0, r3 - strb r0, [r1] - adds r4, 0x1C - adds r2, r4 - ldr r0, _080B1920 - str r0, [r2] - ldr r2, _080B1924 - ldrb r0, [r2, 0x6] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r2, 0x6] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B1914: .4byte gSprites -_080B1918: .4byte 0x000003ff -_080B191C: .4byte 0xfffffc00 -_080B1920: .4byte sub_80B16D0 -_080B1924: .4byte 0x02019204 - thumb_func_end sub_80B1710 - - thumb_func_start sub_80B1928 -sub_80B1928: @ 80B1928 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r5, 0 - ldr r6, _080B19BC - ldr r0, _080B19C0 - mov r10, r0 - movs r1, 0x58 - adds r1, r6 - mov r9, r1 - ldr r0, _080B19C4 - mov r8, r0 - ldr r7, _080B19C8 -_080B1946: - movs r0, 0x13 - ldrsb r0, [r6, r0] - ldr r4, _080B19CC - cmp r5, r0 - bge _080B1952 - adds r4, 0x40 -_080B1952: - mov r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldrh r1, [r0, 0x4] - lsls r1, 22 - lsrs r1, 22 - adds r0, r5, 0 - adds r0, 0x11 - adds r1, r0 - lsls r1, 5 - add r1, r8 - adds r0, r4, 0 - adds r2, r7, 0 - bl CpuSet - adds r0, r4, 0 - adds r0, 0x20 - mov r1, r9 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - add r1, r10 - ldrh r1, [r1, 0x4] - lsls r1, 22 - lsrs r1, 22 - adds r2, r5, 0 - adds r2, 0x19 - adds r1, r2 - lsls r1, 5 - add r1, r8 - adds r2, r7, 0 - bl CpuSet - movs r0, 0x13 - ldrsb r0, [r6, r0] - cmp r0, 0x4 - ble _080B19A8 - bl sub_80B1A2C -_080B19A8: - adds r5, 0x1 - cmp r5, 0x4 - ble _080B1946 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B19BC: .4byte 0x02019204 -_080B19C0: .4byte gSprites -_080B19C4: .4byte 0x06010000 -_080B19C8: .4byte REG_BG0CNT -_080B19CC: .4byte gContestApplauseMeterGfx - thumb_func_end sub_80B1928 - - thumb_func_start unref_sub_80B19D0 -unref_sub_80B19D0: @ 80B19D0 - push {lr} - sub sp, 0x18 - ldr r1, _080B19F4 - add r0, sp, 0x4 - bl StringCopy - ldr r0, _080B19F8 - movs r2, 0xAA - lsls r2, 2 - movs r1, 0 - str r1, [sp] - add r1, sp, 0x4 - movs r3, 0 - bl sub_8003460 - add sp, 0x18 - pop {r0} - bx r0 - .align 2, 0 -_080B19F4: .4byte gUnknown_083CC2EC -_080B19F8: .4byte gUnknown_03004210 - thumb_func_end unref_sub_80B19D0 - - thumb_func_start contest_get_move_excitement -contest_get_move_excitement: @ 80B19FC - lsls r0, 16 - ldr r3, _080B1A20 - ldr r1, _080B1A24 - lsrs r0, 13 - adds r0, r1 - ldrb r1, [r0, 0x1] - lsls r1, 29 - lsrs r1, 29 - ldr r0, _080B1A28 - ldrh r2, [r0] - lsls r0, r2, 2 - adds r0, r2 - adds r1, r0 - adds r1, r3 - movs r0, 0 - ldrsb r0, [r1, r0] - bx lr - .align 2, 0 -_080B1A20: .4byte gContestExcitementTable -_080B1A24: .4byte gContestMoves -_080B1A28: .4byte gUnknown_0203869C - thumb_func_end contest_get_move_excitement - - thumb_func_start sub_80B1A2C -sub_80B1A2C: @ 80B1A2C - push {r4,r5,lr} - ldr r0, _080B1A60 - movs r1, 0xA - bl CreateTask - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _080B1A64 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - movs r0, 0x1 - strh r0, [r4, 0xA] - ldr r0, _080B1A68 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xC] - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080B1A60: .4byte c3_08130B10 -_080B1A64: .4byte gTasks -_080B1A68: .4byte 0x0000abe2 - thumb_func_end sub_80B1A2C - - thumb_func_start c3_08130B10 -c3_08130B10: @ 80B1A6C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080B1A9C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080B1B06 - movs r0, 0 - strh r0, [r2, 0x8] - movs r3, 0xE - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _080B1AA0 - ldrh r0, [r2, 0x10] - adds r0, 0x1 - b _080B1AA4 - .align 2, 0 -_080B1A9C: .4byte gTasks -_080B1AA0: - ldrh r0, [r2, 0x10] - subs r0, 0x1 -_080B1AA4: - strh r0, [r2, 0x10] - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - lsls r0, 4 - movs r3, 0x84 - lsls r3, 1 - adds r6, r3, 0 - adds r0, r6 - lsls r0, 16 - lsrs r0, 16 - ldrb r2, [r4, 0x10] - ldr r3, _080B1B0C - movs r1, 0x1 - bl BlendPalette - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B1AD6 - cmp r0, 0x10 - bne _080B1B06 -_080B1AD6: - ldrh r0, [r4, 0xE] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0xE] - ldr r0, _080B1B10 - ldrb r0, [r0, 0x13] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bgt _080B1B06 - movs r3, 0xC - ldrsh r0, [r4, r3] - lsls r0, 4 - adds r0, r6 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - movs r2, 0 - movs r3, 0x1F - bl BlendPalette - adds r0, r5, 0 - bl DestroyTask -_080B1B06: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B1B0C: .4byte 0x00007fff -_080B1B10: .4byte 0x02019204 - thumb_func_end c3_08130B10 - - thumb_func_start sub_80B1B14 -sub_80B1B14: @ 80B1B14 - push {r4,lr} - ldr r0, _080B1B58 - movs r1, 0xA - bl CreateTask - ldr r4, _080B1B5C - ldr r3, _080B1B60 - adds r2, r3, 0 - adds r2, 0x58 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _080B1B64 - strh r1, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrb r0, [r3, 0x6] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r3, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B1B58: .4byte sub_80B1B68 -_080B1B5C: .4byte gSprites -_080B1B60: .4byte 0x02019204 -_080B1B64: .4byte 0x0000ffba - thumb_func_end sub_80B1B14 - - thumb_func_start sub_80B1B68 -sub_80B1B68: @ 80B1B68 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - ldr r4, _080B1BD0 - adds r0, r4, 0 - adds r0, 0x58 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080B1BD4 - adds r2, r0, r1 - ldr r0, _080B1BD8 - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - movs r5, 0xD0 - lsls r5, 3 - adds r0, r5, 0 - ldrh r5, [r1, 0x1C] - adds r0, r5 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 24 - ldrh r5, [r2, 0x24] - adds r0, r5 - strh r0, [r2, 0x24] - ldrb r0, [r1, 0x1C] - strh r0, [r1, 0x1C] - movs r1, 0x24 - ldrsh r0, [r2, r1] - cmp r0, 0 - ble _080B1BB2 - movs r0, 0 - strh r0, [r2, 0x24] -_080B1BB2: - movs r5, 0x24 - ldrsh r0, [r2, r5] - cmp r0, 0 - bne _080B1BCA - ldrb r1, [r4, 0x6] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x6] - adds r0, r3, 0 - bl DestroyTask -_080B1BCA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B1BD0: .4byte 0x02019204 -_080B1BD4: .4byte gSprites -_080B1BD8: .4byte gTasks - thumb_func_end sub_80B1B68 - - thumb_func_start sub_80B1BDC -sub_80B1BDC: @ 80B1BDC - push {r4-r6,lr} - ldr r6, _080B1C04 - ldr r4, _080B1C08 - adds r5, r4, 0 - adds r5, 0x58 - ldrb r0, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r0, [r1] - lsls r0, 29 - cmp r0, 0 - bge _080B1C0C - ldrb r1, [r4, 0x6] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - b _080B1C28 - .align 2, 0 -_080B1C04: .4byte gSprites -_080B1C08: .4byte 0x02019204 -_080B1C0C: - ldr r0, _080B1C30 - movs r1, 0xA - bl CreateTask - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0 - strh r1, [r0, 0x24] - ldrb r0, [r4, 0x6] - movs r1, 0x40 - orrs r0, r1 -_080B1C28: - strb r0, [r4, 0x6] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B1C30: .4byte sub_80B1C34 - thumb_func_end sub_80B1BDC - - thumb_func_start sub_80B1C34 -sub_80B1C34: @ 80B1C34 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r5, _080B1CAC - adds r0, r5, 0 - adds r0, 0x58 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080B1CB0 - adds r3, r0, r1 - ldr r0, _080B1CB4 - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 3 - adds r2, r0 - movs r1, 0xD0 - lsls r1, 3 - adds r0, r1, 0 - ldrh r1, [r2, 0x1C] - adds r0, r1 - strh r0, [r2, 0x1C] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r3, 0x24] - subs r1, r0 - strh r1, [r3, 0x24] - ldrb r0, [r2, 0x1C] - strh r0, [r2, 0x1C] - movs r2, 0x24 - ldrsh r0, [r3, r2] - movs r1, 0x46 - negs r1, r1 - cmp r0, r1 - bge _080B1C82 - ldr r0, _080B1CB8 - strh r0, [r3, 0x24] -_080B1C82: - movs r2, 0x24 - ldrsh r0, [r3, r2] - cmp r0, r1 - bne _080B1CA6 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r5, 0x6] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x6] - adds r0, r4, 0 - bl DestroyTask -_080B1CA6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B1CAC: .4byte 0x02019204 -_080B1CB0: .4byte gSprites -_080B1CB4: .4byte gTasks -_080B1CB8: .4byte 0x0000ffba - thumb_func_end sub_80B1C34 - - thumb_func_start sub_80B1CBC -sub_80B1CBC: @ 80B1CBC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080B1CF0 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B1CF4 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0x8] - ldr r2, _080B1CF8 - ldrb r0, [r2, 0x6] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B1CF0: .4byte sub_80B1CFC -_080B1CF4: .4byte gTasks -_080B1CF8: .4byte 0x02019204 - thumb_func_end sub_80B1CBC - - thumb_func_start sub_80B1CFC -sub_80B1CFC: @ 80B1CFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080B1D20 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080B1D30 - cmp r0, 0x1 - bgt _080B1D24 - cmp r0, 0 - beq _080B1D2A - b _080B1D78 - .align 2, 0 -_080B1D20: .4byte gTasks -_080B1D24: - cmp r0, 0x2 - beq _080B1D50 - b _080B1D78 -_080B1D2A: - bl sub_80B1B14 - b _080B1D44 -_080B1D30: - ldr r0, _080B1D4C - ldrb r1, [r0, 0x6] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080B1D78 - movs r0, 0x8 - ldrsb r0, [r4, r0] - bl nullsub_18 -_080B1D44: - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - b _080B1D78 - .align 2, 0 -_080B1D4C: .4byte 0x02019204 -_080B1D50: - ldrh r0, [r4, 0x1E] - adds r1, r0, 0x1 - strh r1, [r4, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080B1D78 - movs r0, 0 - strh r0, [r4, 0x1E] - bl sub_80B1928 - ldr r2, _080B1D80 - ldrb r1, [r2, 0x6] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x6] - adds r0, r5, 0 - bl DestroyTask -_080B1D78: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B1D80: .4byte 0x02019204 - thumb_func_end sub_80B1CFC - - thumb_func_start unref_sub_80B1D84 -unref_sub_80B1D84: @ 80B1D84 - ldr r3, _080B1DB0 - ldr r2, _080B1DB4 - adds r2, 0x58 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 -_080B1DB0: .4byte gSprites -_080B1DB4: .4byte 0x02019204 - thumb_func_end unref_sub_80B1D84 - - thumb_func_start unref_sub_80B1DB8 -unref_sub_80B1DB8: @ 80B1DB8 - ldr r2, _080B1DD4 - ldr r0, _080B1DD8 - adds r0, 0x58 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 -_080B1DD4: .4byte gSprites -_080B1DD8: .4byte 0x02019204 - thumb_func_end unref_sub_80B1DB8 - - thumb_func_start sub_80B1DDC -sub_80B1DDC: @ 80B1DDC - push {lr} - ldr r0, _080B1DF4 - movs r1, 0xF - bl CreateTask - ldr r2, _080B1DF8 - ldrb r0, [r2, 0x6] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x6] - pop {r0} - bx r0 - .align 2, 0 -_080B1DF4: .4byte sub_80B1DFC -_080B1DF8: .4byte 0x02019204 - thumb_func_end sub_80B1DDC - - thumb_func_start sub_80B1DFC -sub_80B1DFC: @ 80B1DFC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _080B1E3C - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 3 - adds r3, r0, r2 - ldrh r0, [r3, 0x1C] - adds r1, r0, 0x1 - strh r1, [r3, 0x1C] - lsls r0, 16 - asrs r0, 16 - adds r6, r2, 0 - cmp r0, 0x6 - ble _080B1E8E - movs r0, 0 - strh r0, [r3, 0x1C] - movs r1, 0x1E - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080B1E50 - ldr r1, _080B1E40 - ldr r2, _080B1E44 - ldr r0, _080B1E48 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _080B1E4C - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - b _080B1E66 - .align 2, 0 -_080B1E3C: .4byte gTasks -_080B1E40: .4byte 0x02016800 -_080B1E44: .4byte 0x06002000 -_080B1E48: .4byte 0x040000d4 -_080B1E4C: .4byte 0x84000400 -_080B1E50: - ldr r1, _080B1E94 - ldr r2, _080B1E98 - ldr r0, _080B1E9C - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _080B1EA0 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldrh r0, [r3, 0x20] - adds r0, 0x1 - strh r0, [r3, 0x20] -_080B1E66: - adds r0, r4, 0 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - ldrh r1, [r0, 0x1E] - movs r2, 0x1 - eors r1, r2 - strh r1, [r0, 0x1E] - movs r1, 0x20 - ldrsh r0, [r0, r1] - cmp r0, 0x9 - bne _080B1E8E - ldr r2, _080B1EA4 - ldrb r1, [r2, 0x6] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x6] - adds r0, r5, 0 - bl DestroyTask -_080B1E8E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B1E94: .4byte 0x02015800 -_080B1E98: .4byte 0x06002000 -_080B1E9C: .4byte 0x040000d4 -_080B1EA0: .4byte 0x84000400 -_080B1EA4: .4byte 0x02019204 - thumb_func_end sub_80B1DFC - - thumb_func_start sub_80B1EA8 -sub_80B1EA8: @ 80B1EA8 - push {r4-r7,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _080B1EE4 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r6, r0, 24 - lsls r4, 24 - cmp r4, 0 - ble _080B1F08 - ldr r7, _080B1EE8 - lsls r0, r5, 24 - adds r4, r0, 0 - cmp r4, 0 - ble _080B1EF0 - movs r5, 0 - ldr r2, _080B1EEC - movs r1, 0x13 - ldrsb r1, [r2, r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - b _080B1F1E - .align 2, 0 -_080B1EE4: .4byte sub_80B1F4C -_080B1EE8: .4byte 0x0000237e -_080B1EEC: .4byte 0x02019204 -_080B1EF0: - ldr r2, _080B1F04 - movs r1, 0x13 - ldrsb r1, [r2, r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - b _080B1F1E - .align 2, 0 -_080B1F04: .4byte 0x02019204 -_080B1F08: - movs r7, 0 - lsls r0, r5, 24 - adds r4, r0, 0 - cmp r4, 0 - ble _080B1F18 - movs r5, 0 - movs r3, 0xC - b _080B1F1C -_080B1F18: - movs r5, 0xC - movs r3, 0 -_080B1F1C: - ldr r2, _080B1F44 -_080B1F1E: - ldr r1, _080B1F48 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - strh r7, [r0, 0x8] - strh r5, [r0, 0xA] - asrs r1, r4, 24 - strh r1, [r0, 0xC] - strh r3, [r0, 0xE] - ldrb r1, [r2, 0x7] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x7] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B1F44: .4byte 0x02019204 -_080B1F48: .4byte gTasks - thumb_func_end sub_80B1EA8 - - thumb_func_start sub_80B1F4C -sub_80B1F4C: @ 80B1F4C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _080B1F7C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r3, r0, r2 - ldrh r0, [r3, 0x1C] - adds r1, r0, 0x1 - strh r1, [r3, 0x1C] - lsls r0, 16 - cmp r0, 0 - blt _080B1FC4 - movs r0, 0 - strh r0, [r3, 0x1C] - movs r1, 0xC - ldrsh r0, [r3, r1] - cmp r0, 0 - ble _080B1F80 - ldrh r0, [r3, 0xA] - adds r0, 0x1 - b _080B1F84 - .align 2, 0 -_080B1F7C: .4byte gTasks -_080B1F80: - ldrh r0, [r3, 0xA] - subs r0, 0x1 -_080B1F84: - strh r0, [r3, 0xA] - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r2 - ldrb r2, [r4, 0xA] - ldrh r3, [r4, 0x8] - movs r0, 0x11 - movs r1, 0x1 - bl BlendPalette - ldrb r2, [r4, 0xA] - ldrh r3, [r4, 0x8] - movs r0, 0x1A - movs r1, 0x1 - bl BlendPalette - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080B1FC4 - adds r0, r5, 0 - bl DestroyTask - ldr r2, _080B1FCC - ldrb r1, [r2, 0x7] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x7] -_080B1FC4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B1FCC: .4byte 0x02019204 - thumb_func_end sub_80B1F4C - - thumb_func_start sub_80B1FD0 -sub_80B1FD0: @ 80B1FD0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - ldr r0, _080B204C - ldr r6, _080B2050 - adds r4, r0, 0 - adds r4, 0xD8 - adds r7, r0, 0 -_080B1FE8: - ldrb r1, [r7, 0x10] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _080B2064 - mov r0, r8 - cmp r0, 0 - beq _080B2064 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80B208C - ldrb r2, [r4, 0x1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r6 - ldrh r1, [r1, 0x4] - lsls r1, 22 - lsrs r1, 17 - ldr r2, _080B2054 - adds r1, r2 - ldr r2, _080B2058 - bl CpuSet - ldrb r0, [r4, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldr r2, _080B205C - ldr r0, _080B2060 - adds r0, r5, r0 - ldrb r0, [r0] - adds r0, r2 - ldrb r0, [r0] - strh r0, [r1, 0x22] - ldrb r1, [r4, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r3, 0x5 - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - b _080B2076 - .align 2, 0 -_080B204C: .4byte 0x02019260 -_080B2050: .4byte gSprites -_080B2054: .4byte 0x060100a0 -_080B2058: .4byte REG_BG0HOFS -_080B205C: .4byte gUnknown_083CA33C -_080B2060: .4byte gUnknown_02038696 -_080B2064: - ldrb r1, [r4, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 -_080B2076: - strb r1, [r0] - adds r4, 0x4 - adds r7, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080B1FE8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B1FD0 - - thumb_func_start sub_80B208C -sub_80B208C: @ 80B208C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, _080B20B0 - adds r2, r1, r0 - ldrb r1, [r2, 0x10] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0x40 - bne _080B20B8 - ldrb r0, [r2, 0x19] - lsls r0, 6 - ldr r1, _080B20B4 - adds r0, r1 - b _080B20BA - .align 2, 0 -_080B20B0: .4byte 0x02019260 -_080B20B4: .4byte gContestNextTurnNumbersGfx -_080B20B8: - ldr r0, _080B20C0 -_080B20BA: - pop {r1} - bx r1 - .align 2, 0 -_080B20C0: .4byte gContestNextTurnRandomGfx - thumb_func_end sub_80B208C - - thumb_func_start unref_sub_80B20C4 -unref_sub_80B20C4: @ 80B20C4 - push {r4-r7,lr} - movs r6, 0 - ldr r7, _080B2134 -_080B20CA: - adds r0, r6, r7 - ldrb r0, [r0] - cmp r0, 0 - beq _080B2126 - lsls r0, r6, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_80AF59C - lsls r0, 24 - cmp r0, 0 - bne _080B2126 - ldr r0, _080B2138 - adds r0, r6, r0 - ldrb r0, [r0] - lsls r4, r0, 2 - adds r4, r0 - adds r4, 0x2 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x3 - bl sub_80AEFE8 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 6 - ldr r2, _080B213C - adds r1, r4, r2 - strh r0, [r1] - ldr r1, _080B2140 - adds r2, r4, r1 - adds r1, r0, 0x1 - strh r1, [r2] - ldr r1, _080B2144 - adds r2, r4, r1 - adds r1, r0, 0 - adds r1, 0x10 - strh r1, [r2] - ldr r2, _080B2148 - adds r4, r2 - adds r0, 0x11 - strh r0, [r4] - movs r0, 0x63 - bl PlaySE -_080B2126: - adds r6, 0x1 - cmp r6, 0x3 - ble _080B20CA - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B2134: .4byte 0x020192dd -_080B2138: .4byte gUnknown_02038696 -_080B213C: .4byte 0x0600c028 -_080B2140: .4byte 0x0600c02a -_080B2144: .4byte 0x0600c068 -_080B2148: .4byte 0x0600c06a - thumb_func_end unref_sub_80B20C4 - - thumb_func_start sub_80B214C -sub_80B214C: @ 80B214C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, _080B2178 - adds r2, r1, r0 - ldrb r1, [r2, 0x15] - movs r3, 0x1 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _080B2172 - ldrb r1, [r2, 0xC] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _080B217C -_080B2172: - movs r0, 0 - b _080B217E - .align 2, 0 -_080B2178: .4byte 0x02019260 -_080B217C: - movs r0, 0x1 -_080B217E: - pop {r1} - bx r1 - thumb_func_end sub_80B214C - - thumb_func_start sub_80B2184 -sub_80B2184: @ 80B2184 - push {r4-r7,lr} - sub sp, 0x4 - ldr r4, _080B2250 - ldrb r1, [r4] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4] - ldrb r1, [r4, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - ldr r0, _080B2254 - movs r2, 0xF0 - strh r2, [r0] - ldr r0, _080B2258 - movs r1, 0xA0 - strh r1, [r0] - ldr r0, _080B225C - strh r2, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r1, _080B2260 - movs r0, 0 - str r0, [sp] - ldr r0, _080B2264 - mov r2, sp - str r2, [r0] - str r1, [r0, 0x4] - ldr r2, _080B2268 - str r2, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _080B226C - bl LZDecompressVram - ldrb r1, [r4] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - strb r0, [r4] - movs r4, 0 - ldr r6, _080B2270 - adds r7, r2, 0 - movs r5, 0x4 - ldr r3, _080B2274 -_080B21EE: - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r2, [r1, 0x5] - adds r0, r7, 0 - ands r0, r2 - orrs r0, r5 - strb r0, [r1, 0x5] - ldrb r0, [r3, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r2, [r1, 0x5] - adds r0, r7, 0 - ands r0, r2 - orrs r0, r5 - strb r0, [r1, 0x5] - adds r3, 0x4 - adds r4, 0x1 - cmp r4, 0x3 - ble _080B21EE - ldr r3, _080B2278 - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r4, 0x1 - orrs r0, r4 - strb r0, [r3] - ldr r2, _080B227C - ldrb r0, [r2] - ands r1, r0 - orrs r1, r4 - strb r1, [r2] - adds r2, 0x2 - ldrb r1, [r2, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x1] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B2250: .4byte REG_BG1CNT -_080B2254: .4byte gUnknown_030042C0 -_080B2258: .4byte gUnknown_030041B4 -_080B225C: .4byte REG_BG1HOFS -_080B2260: .4byte 0x0600f000 -_080B2264: .4byte 0x040000d4 -_080B2268: .4byte 0x85000400 -_080B226C: .4byte gUnknown_08D17C3C -_080B2270: .4byte gSprites -_080B2274: .4byte 0x02019338 -_080B2278: .4byte REG_BG2CNT -_080B227C: .4byte REG_BG0CNT - thumb_func_end sub_80B2184 - - thumb_func_start sub_80B2280 -sub_80B2280: @ 80B2280 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r2, _080B2358 - movs r3, 0x80 - lsls r3, 6 - ldr r0, _080B235C - mov r12, r0 - ldr r0, _080B2360 - mov r8, r0 - movs r5, 0 - ldr r1, _080B2364 - movs r4, 0x80 - lsls r4, 5 - ldr r6, _080B2368 - movs r7, 0x85 - lsls r7, 24 -_080B22A4: - str r5, [sp] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _080B22A4 - str r5, [sp] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _080B236C - movs r2, 0 - str r2, [sp] - ldr r0, _080B2364 - mov r3, sp - str r3, [r0] - str r1, [r0, 0x4] - ldr r1, _080B2368 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - mov r0, r12 - strh r2, [r0] - mov r3, r8 - strh r2, [r3] - ldr r2, _080B2370 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r2, 0x1] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x1] - ldrb r1, [r2, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1] - ldrb r1, [r2] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2] - movs r4, 0 - ldr r5, _080B2374 - adds r6, r3, 0 - ldr r3, _080B2378 -_080B231E: - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x5] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1, 0x5] - ldrb r0, [r3, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x5] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1, 0x5] - adds r3, 0x4 - adds r4, 0x1 - cmp r4, 0x3 - ble _080B231E - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B2358: .4byte 0x06008000 -_080B235C: .4byte gUnknown_030042C0 -_080B2360: .4byte gUnknown_030041B4 -_080B2364: .4byte 0x040000d4 -_080B2368: .4byte 0x85000400 -_080B236C: .4byte 0x0600f000 -_080B2370: .4byte REG_BG1CNT -_080B2374: .4byte gSprites -_080B2378: .4byte 0x02019338 - thumb_func_end sub_80B2280 - - thumb_func_start sub_80B237C -sub_80B237C: @ 80B237C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080B23AC - movs r0, 0 - strh r0, [r1] - ldr r1, _080B23B0 - movs r0, 0xA0 - strh r0, [r1] - movs r0, 0x62 - movs r1, 0 - bl PlaySE12WithPanning - ldr r1, _080B23B4 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080B23B8 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B23AC: .4byte gUnknown_030042C0 -_080B23B0: .4byte gUnknown_030041B4 -_080B23B4: .4byte gTasks -_080B23B8: .4byte sub_80B23BC - thumb_func_end sub_80B237C - - thumb_func_start sub_80B23BC -sub_80B23BC: @ 80B23BC - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _080B23F4 - ldrh r0, [r1] - subs r0, 0x7 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bge _080B23D4 - movs r0, 0 - strh r0, [r1] -_080B23D4: - ldrh r2, [r1] - cmp r2, 0 - bne _080B23EE - ldr r0, _080B23F8 - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r2, [r1, 0x8] - strh r2, [r1, 0xA] - strh r2, [r1, 0xC] - ldr r0, _080B23FC - str r0, [r1] -_080B23EE: - pop {r0} - bx r0 - .align 2, 0 -_080B23F4: .4byte gUnknown_030041B4 -_080B23F8: .4byte gTasks -_080B23FC: .4byte sub_80B2400 - thumb_func_end sub_80B23BC - - thumb_func_start sub_80B2400 -sub_80B2400: @ 80B2400 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080B2424 - lsls r3, r4, 2 - adds r0, r3, r4 - lsls r0, 3 - adds r5, r0, r1 - movs r0, 0x8 - ldrsh r1, [r5, r0] - cmp r1, 0x1 - beq _080B247C - cmp r1, 0x1 - bgt _080B2428 - cmp r1, 0 - beq _080B2432 - b _080B24FC - .align 2, 0 -_080B2424: .4byte gTasks -_080B2428: - cmp r1, 0x2 - beq _080B24D6 - cmp r1, 0x3 - beq _080B24EC - b _080B24FC -_080B2432: - movs r2, 0 - adds r6, r3, 0 - ldr r5, _080B2470 - ldr r3, _080B2474 -_080B243A: - adds r0, r2, r5 - adds r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x3 - ble _080B243A - bl sub_80AFA5C - bl sub_80B0588 - bl sub_80AEF50 - bl sub_80B1118 - movs r0, 0x1 - bl sub_80B1FD0 - bl sub_80AFFA0 - ldr r0, _080B2478 - adds r1, r6, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x8] - b _080B24FC - .align 2, 0 -_080B2470: .4byte 0x02019218 -_080B2474: .4byte gUnknown_02038696 -_080B2478: .4byte gTasks -_080B247C: - ldr r0, _080B24C0 - ldrb r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _080B24D0 - ldr r2, _080B24C4 - ldrb r0, [r2, 0x7] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x7] - bl sub_80AE074 - lsls r0, 24 - cmp r0, 0 - beq _080B249E - bl sub_80AF438 -_080B249E: - ldr r4, _080B24C8 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B24CC - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - bl sub_80AF860 - movs r0, 0x2 - strh r0, [r5, 0x8] - b _080B24FC - .align 2, 0 -_080B24C0: .4byte gUnknown_0203869A -_080B24C4: .4byte 0x02019204 -_080B24C8: .4byte sub_80C8C80 -_080B24CC: .4byte sub_80AD8DC -_080B24D0: - bl sub_80AF438 - b _080B24E2 -_080B24D6: - ldr r0, _080B24E8 - ldrb r1, [r0, 0x7] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080B24FC -_080B24E2: - movs r0, 0x3 - strh r0, [r5, 0x8] - b _080B24FC - .align 2, 0 -_080B24E8: .4byte 0x02019204 -_080B24EC: - bl sub_80AF120 - bl sub_80AEB30 - movs r0, 0 - strh r0, [r5, 0x8] - ldr r0, _080B2504 - str r0, [r5] -_080B24FC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B2504: .4byte sub_80B253C - thumb_func_end sub_80B2400 - - thumb_func_start sub_80B2508 -sub_80B2508: @ 80B2508 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080B2530 - ldrh r0, [r1] - adds r0, 0x7 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA0 - ble _080B252C - ldr r0, _080B2534 - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, _080B2538 - str r0, [r1] -_080B252C: - pop {r0} - bx r0 - .align 2, 0 -_080B2530: .4byte gUnknown_030041B4 -_080B2534: .4byte gTasks -_080B2538: .4byte sub_80ADCDC - thumb_func_end sub_80B2508 - - thumb_func_start sub_80B253C -sub_80B253C: @ 80B253C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B255C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0x9 - bgt _080B2560 - adds r0, r2, 0x1 - strh r0, [r1, 0xC] - b _080B259C - .align 2, 0 -_080B255C: .4byte gTasks -_080B2560: - ldrh r3, [r1, 0xA] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r0, 0 - bne _080B257E - ldrh r2, [r1, 0x8] - movs r4, 0x8 - ldrsh r0, [r1, r4] - cmp r0, 0x10 - bne _080B257A - adds r0, r3, 0x1 - strh r0, [r1, 0xA] - b _080B259C -_080B257A: - adds r0, r2, 0x1 - b _080B259A -_080B257E: - ldrh r0, [r1, 0x8] - movs r3, 0x8 - ldrsh r2, [r1, r3] - cmp r2, 0 - bne _080B2598 - strh r2, [r1, 0xA] - strh r2, [r1, 0xC] - ldr r0, _080B2594 - str r0, [r1] - b _080B259C - .align 2, 0 -_080B2594: .4byte sub_80B25A4 -_080B2598: - subs r0, 0x1 -_080B259A: - strh r0, [r1, 0x8] -_080B259C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B253C - - thumb_func_start sub_80B25A4 -sub_80B25A4: @ 80B25A4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B25C4 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0x9 - bgt _080B25C8 - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - b _080B25D8 - .align 2, 0 -_080B25C4: .4byte gTasks -_080B25C8: - movs r0, 0 - strh r0, [r4, 0xC] - movs r0, 0x61 - movs r1, 0 - bl PlaySE12WithPanning - ldr r0, _080B25E0 - str r0, [r4] -_080B25D8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B25E0: .4byte sub_80B2508 - thumb_func_end sub_80B25A4 - - thumb_func_start sub_80B25E4 -sub_80B25E4: @ 80B25E4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r6, 0 - ldr r5, _080B26B4 -_080B25F6: - bl AllocOamMatrix - lsls r1, r6, 2 - ldr r2, _080B26B8 - mov r8, r2 - adds r4, r1, r2 - ldrb r1, [r4] - lsls r3, r1, 4 - adds r3, r1 - lsls r3, 2 - adds r3, r5 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1F - ands r0, r1 - lsls r0, 1 - ldrb r1, [r3, 0x3] - movs r7, 0x3F - negs r7, r7 - adds r2, r7, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x3] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r2, [r0, 0x1] - movs r3, 0x4 - negs r3, r3 - adds r1, r3, 0 - ands r2, r1 - movs r1, 0x1 - orrs r2, r1 - strb r2, [r0, 0x1] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r9 - bl StartSpriteAffineAnim - mov r7, r9 - cmp r7, 0x2 - bne _080B267A - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl AnimateSprite - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r3, 0x5 - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - strb r1, [r0] -_080B267A: - adds r6, 0x1 - cmp r6, 0x3 - ble _080B25F6 - ldr r0, _080B26BC - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B26C0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - mov r7, r9 - strh r7, [r1, 0x8] - ldr r2, _080B26C4 - add r2, r8 - ldrb r0, [r2, 0x7] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x7] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B26B4: .4byte gSprites -_080B26B8: .4byte 0x02019338 -_080B26BC: .4byte sub_80B26C8 -_080B26C0: .4byte gTasks -_080B26C4: .4byte 0xfffffecc - thumb_func_end sub_80B25E4 - - thumb_func_start sub_80B26C8 -sub_80B26C8: @ 80B26C8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, _080B2750 - ldr r4, _080B2754 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080B274A - ldr r0, _080B2758 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x8] - cmp r0, 0x1 - bne _080B2718 - adds r5, r2, 0 - movs r3, 0x4 - adds r2, r4, 0 - movs r4, 0x3 -_080B26FE: - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r3 - strb r0, [r1] - adds r2, 0x4 - subs r4, 0x1 - cmp r4, 0 - bge _080B26FE -_080B2718: - movs r4, 0 -_080B271A: - lsls r0, r4, 2 - ldr r5, _080B2754 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080B2750 - adds r0, r1 - bl FreeSpriteOamMatrix - adds r4, 0x1 - cmp r4, 0x3 - ble _080B271A - ldr r0, _080B275C - adds r2, r5, r0 - ldrb r1, [r2, 0x7] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x7] - adds r0, r6, 0 - bl DestroyTask -_080B274A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B2750: .4byte gSprites -_080B2754: .4byte 0x02019338 -_080B2758: .4byte gTasks -_080B275C: .4byte 0xfffffecc - thumb_func_end sub_80B26C8 - - thumb_func_start sub_80B2760 -sub_80B2760: @ 80B2760 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0xB1 - lsls r0, 1 - cmp r1, r0 - bls _080B2770 - movs r1, 0x1 -_080B2770: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_80B2760 - - thumb_func_start sub_80B2778 -sub_80B2778: @ 80B2778 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _080B278C - cmp r1, r0 - bls _080B2786 - movs r1, 0 -_080B2786: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080B278C: .4byte 0x0000019b - thumb_func_end sub_80B2778 - - thumb_func_start sub_80B2790 -sub_80B2790: @ 80B2790 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - ldr r4, _080B27F0 - adds r0, r4 - ldrh r0, [r0, 0x6] - bl sub_80B2760 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r1, _080B27F4 - lsls r0, r6, 6 - adds r0, r1 - ldrh r0, [r0] - bl sub_80B2778 - lsls r0, 16 - lsrs r7, r0, 16 - adds r4, 0xE8 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x14 - bl memset - bl sub_8075624 - ldr r1, _080B27F8 - movs r2, 0 - adds r0, r1, 0x3 -_080B27D0: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _080B27D0 - cmp r5, 0x90 - beq _080B2848 - cmp r5, 0x90 - bgt _080B2806 - cmp r5, 0x4C - beq _080B2898 - cmp r5, 0x4C - bgt _080B27FC - cmp r5, 0xD - beq _080B2898 - b _080B28BE - .align 2, 0 -_080B27F0: .4byte 0x02019260 -_080B27F4: .4byte gUnknown_02038570 -_080B27F8: .4byte gUnknown_02024E84 -_080B27FC: - cmp r5, 0x82 - beq _080B2898 - cmp r5, 0x8F - beq _080B2898 - b _080B28BE -_080B2806: - cmp r5, 0xD8 - beq _080B2880 - cmp r5, 0xD8 - bgt _080B2814 - cmp r5, 0xAE - beq _080B2822 - b _080B28BE -_080B2814: - cmp r5, 0xDA - beq _080B288C - movs r0, 0x88 - lsls r0, 1 - cmp r5, r0 - beq _080B2848 - b _080B28BE -_080B2822: - ldr r0, _080B2840 - lsls r1, r7, 3 - subs r1, r7 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x6] - cmp r0, 0x7 - beq _080B2838 - ldrb r0, [r1, 0x7] - cmp r0, 0x7 - bne _080B28B8 -_080B2838: - ldr r1, _080B2844 - movs r0, 0 - b _080B28BC - .align 2, 0 -_080B2840: .4byte gBaseStats -_080B2844: .4byte gUnknown_0202F7C4 -_080B2848: - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - ldr r4, _080B2878 - adds r0, r4 - ldrb r5, [r0, 0x1B] - ldr r6, _080B287C - lsls r5, 6 - adds r0, r5, r6 - ldrh r0, [r0] - bl sub_80B2778 - adds r4, 0xE8 - strh r0, [r4, 0x2] - adds r6, 0x38 - adds r5, r6 - ldr r0, [r5] - str r0, [r4, 0x10] - ldrb r0, [r4, 0x4] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x4] - b _080B28BE - .align 2, 0 -_080B2878: .4byte 0x02019260 -_080B287C: .4byte gUnknown_02038570 -_080B2880: - ldr r1, _080B2888 - movs r0, 0xFF - b _080B28BC - .align 2, 0 -_080B2888: .4byte gUnknown_0202F7BE -_080B288C: - ldr r1, _080B2894 - movs r0, 0 - b _080B28BC - .align 2, 0 -_080B2894: .4byte gUnknown_0202F7BE -_080B2898: - ldr r0, _080B28B0 - adds r2, r0, 0 - adds r2, 0x5A - ldrb r1, [r2] - cmp r1, 0 - bne _080B28B8 - movs r0, 0x2 - strb r0, [r2] - ldr r0, _080B28B4 - strb r1, [r0] - b _080B28BE - .align 2, 0 -_080B28B0: .4byte 0x02019204 -_080B28B4: .4byte gUnknown_0202F7C4 -_080B28B8: - ldr r1, _080B28C8 - movs r0, 0x1 -_080B28BC: - strb r0, [r1] -_080B28BE: - bl sub_80B2968 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B28C8: .4byte gUnknown_0202F7C4 - thumb_func_end sub_80B2790 - - thumb_func_start unref_sub_80B28CC -unref_sub_80B28CC: @ 80B28CC - push {r4,lr} - ldr r4, _080B28EC - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x14 - bl memset - subs r4, 0xEA - ldrb r0, [r4] - cmp r0, 0 - beq _080B28E6 - subs r0, 0x1 - strb r0, [r4] -_080B28E6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B28EC: .4byte 0x02019348 - thumb_func_end unref_sub_80B28CC - - thumb_func_start sub_80B28F0 -sub_80B28F0: @ 80B28F0 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, _080B2924 - strb r4, [r6, 0x5] - ldr r5, _080B2928 - lsls r4, 6 - adds r0, r4, r5 - ldrh r0, [r0] - bl sub_80B2778 - strh r0, [r6] - adds r0, r5, 0 - adds r0, 0x38 - adds r0, r4, r0 - ldr r0, [r0] - str r0, [r6, 0x8] - adds r5, 0x3C - adds r4, r5 - ldr r0, [r4] - str r0, [r6, 0xC] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B2924: .4byte 0x02019348 -_080B2928: .4byte gUnknown_02038570 - thumb_func_end sub_80B28F0 - - thumb_func_start sub_80B292C -sub_80B292C: @ 80B292C - push {lr} - ldr r0, _080B2958 - bl object_new_hidden_with_callback - ldr r1, _080B295C - strb r0, [r1, 0x3] - ldr r0, _080B2960 - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080B2964 - adds r0, r1 - bl InitSpriteAffineAnim - bl sub_80B2968 - pop {r0} - bx r0 - .align 2, 0 -_080B2958: .4byte SpriteCallbackDummy -_080B295C: .4byte gUnknown_02024BE0 -_080B2960: .4byte gUnknown_02024C08 -_080B2964: .4byte gSprites - thumb_func_end sub_80B292C - - thumb_func_start sub_80B2968 -sub_80B2968: @ 80B2968 - push {r4,lr} - ldr r0, _080B29AC - ldrb r0, [r0, 0x3] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _080B29B0 - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0x3 - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - movs r0, 0x3 - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - adds r4, 0x3E - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B29AC: .4byte gUnknown_02024BE0 -_080B29B0: .4byte gSprites - thumb_func_end sub_80B2968 - - thumb_func_start sub_80B29B4 -sub_80B29B4: @ 80B29B4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r2, _080B29D4 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x6] - cmp r0, 0x20 - bhi _080B2A6C - lsls r0, 2 - ldr r1, _080B29D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B29D4: .4byte gBattleMoves -_080B29D8: .4byte _080B29DC - .align 2, 0 -_080B29DC: - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A60 - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A60 - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C - .4byte _080B2A6C -_080B2A60: - ldr r1, _080B2A68 - movs r0, 0x2 - b _080B2A70 - .align 2, 0 -_080B2A68: .4byte gUnknown_02024C08 -_080B2A6C: - ldr r1, _080B2A78 - movs r0, 0x3 -_080B2A70: - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080B2A78: .4byte gUnknown_02024C08 - thumb_func_end sub_80B29B4 - - thumb_func_start sub_80B2A7C -sub_80B2A7C: @ 80B2A7C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - ldr r1, _080B2AC8 - ldrb r0, [r1] - cmp r0, 0 - beq _080B2AB6 -_080B2AA8: - adds r6, 0x1 - cmp r6, 0x2 - bgt _080B2AB6 - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080B2AA8 -_080B2AB6: - mov r0, r9 - cmp r0, 0xFF - bne _080B2AD0 - ldr r0, _080B2ACC - ldrb r0, [r0] - cmp r6, r0 - beq _080B2AD0 - movs r0, 0 - b _080B2C38 - .align 2, 0 -_080B2AC8: .4byte gUnknown_02038690 -_080B2ACC: .4byte gUnknown_02038695 -_080B2AD0: - ldr r0, _080B2AE4 - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080B2B16 - lsls r0, 2 - ldr r1, _080B2AE8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B2AE4: .4byte gUnknown_0203869C -_080B2AE8: .4byte _080B2AEC - .align 2, 0 -_080B2AEC: - .4byte _080B2B16 - .4byte _080B2B00 - .4byte _080B2B04 - .4byte _080B2B08 - .4byte _080B2B0E -_080B2B00: - adds r0, r7, 0x3 - b _080B2B12 -_080B2B04: - adds r0, r7, 0x6 - b _080B2B12 -_080B2B08: - adds r0, r7, 0 - adds r0, 0x9 - b _080B2B12 -_080B2B0E: - adds r0, r7, 0 - adds r0, 0xC -_080B2B12: - lsls r0, 24 - lsrs r7, r0, 24 -_080B2B16: - mov r1, r9 - cmp r1, 0xFE - beq _080B2BC4 - mov r0, r9 - movs r1, 0x1 - bl sub_80B2C4C - adds r4, r0, 0 - lsls r4, 24 - ldr r2, _080B2B98 - lsrs r4, 19 - ldr r0, _080B2B9C - adds r1, r2, r0 - adds r1, r4, r1 - ldr r5, _080B2BA0 - lsls r6, 6 - adds r0, r5, 0 - adds r0, 0x38 - adds r0, r6, r0 - ldr r0, [r0] - str r0, [r1] - adds r1, r4, r2 - mov r8, r1 - adds r0, r6, r5 - ldrh r1, [r0] - ldr r0, _080B2BA4 - add r0, r8 - strh r1, [r0] - movs r0, 0xB8 - lsls r0, 6 - adds r1, r2, r0 - adds r1, r4, r1 - adds r0, r5, 0 - adds r0, 0x3C - adds r0, r6, r0 - ldr r0, [r0] - str r0, [r1] - ldr r1, _080B2BA8 - adds r0, r2, r1 - adds r0, r4, r0 - adds r1, r5, 0x2 - adds r1, r6, r1 - str r2, [sp] - bl StringCopy - ldr r2, [sp] - ldr r0, _080B2BAC - adds r2, r0 - adds r4, r2 - adds r5, 0xD - adds r6, r5 - adds r0, r4, 0 - adds r1, r6, 0 - bl StringCopy - mov r1, r9 - cmp r1, 0xFF - beq _080B2BB8 - ldr r0, _080B2BB0 - ldrh r1, [r0] - ldr r0, _080B2BB4 - add r0, r8 - strb r1, [r0] - b _080B2C36 - .align 2, 0 -_080B2B98: .4byte gSaveBlock1 -_080B2B9C: .4byte 0x00002dfc -_080B2BA0: .4byte gUnknown_02038570 -_080B2BA4: .4byte 0x00002e04 -_080B2BA8: .4byte 0x00002e07 -_080B2BAC: .4byte 0x00002e12 -_080B2BB0: .4byte gUnknown_0203869C -_080B2BB4: .4byte 0x00002e06 -_080B2BB8: - ldr r0, _080B2BC0 - add r0, r8 - strb r7, [r0] - b _080B2C36 - .align 2, 0 -_080B2BC0: .4byte 0x00002e06 -_080B2BC4: - ldr r5, _080B2C14 - ldr r2, _080B2C18 - lsls r4, r6, 6 - adds r0, r2, 0 - adds r0, 0x38 - adds r0, r4, r0 - ldr r0, [r0] - str r0, [r5] - adds r0, r2, 0 - adds r0, 0x3C - adds r0, r4, r0 - ldr r0, [r0] - str r0, [r5, 0x4] - adds r0, r4, r2 - ldrh r0, [r0] - strh r0, [r5, 0x8] - adds r0, r5, 0 - adds r0, 0xB - adds r1, r2, 0x2 - adds r1, r4, r1 - str r2, [sp] - bl StringCopy - ldr r0, _080B2C1C - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - ldr r2, [sp] - cmp r0, 0 - beq _080B2C24 - adds r0, r5, 0 - adds r0, 0x16 - lsls r1, r6, 3 - subs r1, r6 - lsls r1, 2 - ldr r2, _080B2C20 - adds r1, r2 - bl StringCopy - b _080B2C32 - .align 2, 0 -_080B2C14: .4byte 0x02015de0 -_080B2C18: .4byte gUnknown_02038570 -_080B2C1C: .4byte gUnknown_0203869A -_080B2C20: .4byte gLinkPlayers + 0x8 -_080B2C24: - adds r0, r5, 0 - adds r0, 0x16 - adds r1, r2, 0 - adds r1, 0xD - adds r1, r4, r1 - bl StringCopy -_080B2C32: - ldr r0, _080B2C48 - strb r7, [r0, 0xA] -_080B2C36: - movs r0, 0x1 -_080B2C38: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080B2C48: .4byte 0x02015de0 - thumb_func_end sub_80B2A7C - - thumb_func_start sub_80B2C4C -sub_80B2C4C: @ 80B2C4C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r0, 0x2 - beq _080B2C6E - cmp r0, 0x2 - ble _080B2C66 - cmp r0, 0x3 - beq _080B2CA0 - b _080B2CD4 -_080B2C66: - cmp r2, 0 - blt _080B2CD4 - adds r0, r2, 0 - b _080B2D16 -_080B2C6E: - cmp r1, 0 - beq _080B2C98 - movs r2, 0x4 - ldr r0, _080B2C9C - adds r4, r0, 0 - adds r4, 0x60 - adds r3, r0, 0 - adds r3, 0x80 -_080B2C7E: - adds r1, r3, 0 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5,r6} - stm r1!, {r5,r6} - subs r4, 0x20 - subs r3, 0x20 - subs r2, 0x1 - cmp r2, 0x2 - bgt _080B2C7E -_080B2C98: - movs r0, 0x2 - b _080B2D16 - .align 2, 0 -_080B2C9C: .4byte gSaveBlock1 + 0x2DFC -_080B2CA0: - cmp r1, 0 - beq _080B2CCA - movs r2, 0x7 - ldr r0, _080B2CD0 - adds r4, r0, 0 - adds r4, 0xC0 - adds r3, r0, 0 - adds r3, 0xE0 -_080B2CB0: - adds r1, r3, 0 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5,r7} - stm r1!, {r5,r7} - subs r4, 0x20 - subs r3, 0x20 - subs r2, 0x1 - cmp r2, 0x5 - bgt _080B2CB0 -_080B2CCA: - movs r0, 0x5 - b _080B2D16 - .align 2, 0 -_080B2CD0: .4byte gSaveBlock1 + 0x2DFC -_080B2CD4: - ldr r0, _080B2CE8 - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080B2D14 - lsls r0, 2 - ldr r1, _080B2CEC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B2CE8: .4byte gUnknown_0203869C -_080B2CEC: .4byte _080B2CF0 - .align 2, 0 -_080B2CF0: - .4byte _080B2D04 - .4byte _080B2D08 - .4byte _080B2D0C - .4byte _080B2D10 - .4byte _080B2D14 -_080B2D04: - movs r0, 0x8 - b _080B2D16 -_080B2D08: - movs r0, 0x9 - b _080B2D16 -_080B2D0C: - movs r0, 0xA - b _080B2D16 -_080B2D10: - movs r0, 0xB - b _080B2D16 -_080B2D14: - movs r0, 0xC -_080B2D16: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B2C4C - - thumb_func_start sub_80B2D1C -sub_80B2D1C: @ 80B2D1C - push {r4-r7,lr} - ldr r0, _080B2D48 - ldr r4, _080B2D4C - ldr r1, _080B2D50 - adds r3, r0, r1 - movs r2, 0x7 -_080B2D28: - adds r1, r3, 0 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5,r6} - stm r1!, {r5,r6} - adds r4, 0x20 - adds r3, 0x20 - subs r2, 0x1 - cmp r2, 0 - bge _080B2D28 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B2D48: .4byte gSaveBlock1 -_080B2D4C: .4byte gUnknown_083CC5D0 -_080B2D50: .4byte 0x00002dfc - thumb_func_end sub_80B2D1C - - thumb_func_start CreateShopMenu -CreateShopMenu: @ 80B2D54 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - ldr r1, _080B2D90 - movs r0, 0 - strb r4, [r1, 0xC] - strb r0, [r1, 0x9] - cmp r4, 0 - bne _080B2D9C - movs r0, 0x2 - strb r0, [r1, 0xA] - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x7 - bl MenuDrawTextWindow - ldr r3, _080B2D94 - ldr r0, _080B2D98 - str r0, [sp] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x3 - bl PrintMenuItemsReordered - b _080B2DBC - .align 2, 0 -_080B2D90: .4byte gUnknown_03000708 -_080B2D94: .4byte gUnknown_083CC6D0 -_080B2D98: .4byte gUnknown_083CC6E8 -_080B2D9C: - movs r0, 0x1 - strb r0, [r1, 0xA] - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x5 - bl MenuDrawTextWindow - ldr r3, _080B2DEC - ldr r0, _080B2DF0 - str r0, [sp] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x2 - bl PrintMenuItemsReordered -_080B2DBC: - ldr r0, _080B2DF4 - ldrb r3, [r0, 0xA] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl InitMenu - ldr r0, _080B2DF8 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080B2DEC: .4byte gUnknown_083CC6D0 -_080B2DF0: .4byte gUnknown_083CC6EB -_080B2DF4: .4byte gUnknown_03000708 -_080B2DF8: .4byte sub_80B2E38 - thumb_func_end CreateShopMenu - - thumb_func_start SetShopMenuCallback -SetShopMenuCallback: @ 80B2DFC - ldr r1, _080B2E04 - str r0, [r1] - bx lr - .align 2, 0 -_080B2E04: .4byte gUnknown_03000708 - thumb_func_end SetShopMenuCallback - - thumb_func_start SetShopItemsForSale -SetShopItemsForSale: @ 80B2E08 - push {lr} - adds r1, r0, 0 - movs r2, 0 - ldr r3, _080B2E34 - str r1, [r3, 0x4] - strb r2, [r3, 0x8] - ldrh r0, [r1] - cmp r0, 0 - beq _080B2E30 -_080B2E1A: - ldrb r0, [r3, 0x8] - adds r0, 0x1 - strb r0, [r3, 0x8] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _080B2E1A -_080B2E30: - pop {r0} - bx r0 - .align 2, 0 -_080B2E34: .4byte gUnknown_03000708 - thumb_func_end SetShopItemsForSale - - thumb_func_start sub_80B2E38 -sub_80B2E38: @ 80B2E38 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _080B2E60 - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080B2E68 - ldr r4, _080B2E64 - ldrb r0, [r4, 0x9] - cmp r0, 0 - beq _080B2EF4 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _080B2E82 - .align 2, 0 -_080B2E60: .4byte gMain -_080B2E64: .4byte gUnknown_03000708 -_080B2E68: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080B2E90 - ldr r4, _080B2E8C - ldrb r0, [r4, 0x9] - ldrb r1, [r4, 0xA] - cmp r0, r1 - beq _080B2EF4 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_080B2E82: - bl MoveMenuCursor - strb r0, [r4, 0x9] - b _080B2EF4 - .align 2, 0 -_080B2E8C: .4byte gUnknown_03000708 -_080B2E90: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B2EE0 - movs r0, 0x5 - bl PlaySE - ldr r3, _080B2EB0 - ldrb r0, [r3, 0xC] - cmp r0, 0 - bne _080B2EBC - ldr r1, _080B2EB4 - ldr r2, _080B2EB8 - b _080B2EC0 - .align 2, 0 -_080B2EB0: .4byte gUnknown_03000708 -_080B2EB4: .4byte gUnknown_083CC6D0 -_080B2EB8: .4byte gUnknown_083CC6E8 -_080B2EBC: - ldr r1, _080B2ED8 - ldr r2, _080B2EDC -_080B2EC0: - ldrb r0, [r3, 0x9] - 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 _080B2EF4 - .align 2, 0 -_080B2ED8: .4byte gUnknown_083CC6D0 -_080B2EDC: .4byte gUnknown_083CC6EB -_080B2EE0: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080B2EF4 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl HandleShopMenuQuit -_080B2EF4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B2E38 - - thumb_func_start sub_80B2EFC -sub_80B2EFC: @ 80B2EFC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B2F24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080B2F28 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - ldr r0, _080B2F2C - str r0, [r1] - movs r0, 0x1 - movs r1, 0 - bl fade_screen - pop {r0} - bx r0 - .align 2, 0 -_080B2F24: .4byte gTasks -_080B2F28: .4byte BuyMenuDrawGraphics -_080B2F2C: .4byte sub_80B2FA0 - thumb_func_end sub_80B2EFC - - thumb_func_start sub_80B2F30 -sub_80B2F30: @ 80B2F30 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B2F58 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080B2F5C - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - ldr r0, _080B2F60 - str r0, [r1] - movs r0, 0x1 - movs r1, 0 - bl fade_screen - pop {r0} - bx r0 - .align 2, 0 -_080B2F58: .4byte gTasks -_080B2F5C: .4byte sub_80A6300 -_080B2F60: .4byte sub_80B2FA0 - thumb_func_end sub_80B2F30 - - thumb_func_start HandleShopMenuQuit -HandleShopMenuQuit: @ 80B2F64 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8072DEC - movs r0, 0 - movs r1, 0 - movs r2, 0xB - movs r3, 0x8 - bl MenuZeroFillWindowRect - bl sub_80BE3BC - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - ldr r0, _080B2F9C - ldr r0, [r0] - cmp r0, 0 - beq _080B2F96 - bl _call_via_r0 -_080B2F96: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B2F9C: .4byte gUnknown_03000708 - thumb_func_end HandleShopMenuQuit - - thumb_func_start sub_80B2FA0 -sub_80B2FA0: @ 80B2FA0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080B2FD4 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B2FCE - ldr r0, _080B2FD8 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - lsls r0, 16 - ldrh r1, [r1, 0x1A] - orrs r0, r1 - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_080B2FCE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B2FD4: .4byte gPaletteFade -_080B2FD8: .4byte gTasks - thumb_func_end sub_80B2FA0 - - thumb_func_start ReturnToShopMenuAfterExitingSellMenu -ReturnToShopMenuAfterExitingSellMenu: @ 80B2FDC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080B2FF8 - ldrb r0, [r0, 0xC] - bl CreateShopMenu - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B2FF8: .4byte gUnknown_03000708 - thumb_func_end ReturnToShopMenuAfterExitingSellMenu - - thumb_func_start Task_ExitSellMenu -Task_ExitSellMenu: @ 80B2FFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_807D770 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B3040 - ldr r0, _080B3028 - ldrb r0, [r0, 0xC] - cmp r0, 0x2 - bne _080B3034 - ldr r1, _080B302C - ldr r2, _080B3030 - adds r0, r4, 0 - movs r3, 0 - bl DisplayItemMessageOnField - b _080B3040 - .align 2, 0 -_080B3028: .4byte gUnknown_03000708 -_080B302C: .4byte gOtherText_CanIHelpYou -_080B3030: .4byte ReturnToShopMenuAfterExitingSellMenu -_080B3034: - ldr r1, _080B3048 - ldr r2, _080B304C - adds r0, r5, 0 - movs r3, 0 - bl DisplayItemMessageOnField -_080B3040: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B3048: .4byte gOtherText_AnythingElse -_080B304C: .4byte ReturnToShopMenuAfterExitingSellMenu - thumb_func_end Task_ExitSellMenu - - thumb_func_start sub_80B3050 -sub_80B3050: @ 80B3050 - push {lr} - bl pal_fill_black - ldr r0, _080B3064 - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080B3064: .4byte Task_ExitSellMenu - thumb_func_end sub_80B3050 - - thumb_func_start sub_80B3068 -sub_80B3068: @ 80B3068 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl Task_ExitSellMenu - pop {r0} - bx r0 - thumb_func_end sub_80B3068 - - thumb_func_start unref_sub_80B3078 -unref_sub_80B3078: @ 80B3078 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B308C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080B3090 - str r0, [r1] - bx lr - .align 2, 0 -_080B308C: .4byte gTasks -_080B3090: .4byte Task_ExitSellMenu - thumb_func_end unref_sub_80B3078 - - thumb_func_start sub_80B3094 -sub_80B3094: @ 80B3094 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80B3094 - - thumb_func_start sub_80B30AC -sub_80B30AC: @ 80B30AC - push {r4,lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r3, _080B30F0 - ldr r1, _080B30F4 - ldr r0, _080B30F8 - str r3, [r0] - str r1, [r0, 0x4] - ldr r4, _080B30FC - str r4, [r0, 0x8] - ldr r1, [r0, 0x8] - movs r2, 0x80 - lsls r2, 4 - adds r1, r3, r2 - ldr r2, _080B3100 - str r1, [r0] - str r2, [r0, 0x4] - str r4, [r0, 0x8] - ldr r1, [r0, 0x8] - movs r1, 0x80 - lsls r1, 5 - adds r3, r1 - ldr r1, _080B3104 - str r3, [r0] - str r1, [r0, 0x4] - str r4, [r0, 0x8] - ldr r0, [r0, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B30F0: .4byte gBG1TilemapBuffer -_080B30F4: .4byte 0x0600e800 -_080B30F8: .4byte 0x040000d4 -_080B30FC: .4byte 0x80000400 -_080B3100: .4byte 0x0600e000 -_080B3104: .4byte 0x0600f000 - thumb_func_end sub_80B30AC - - thumb_func_start BuyMenuDrawGraphics -BuyMenuDrawGraphics: @ 80B3108 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - bl sub_80F9438 - bl remove_some_task - ldr r0, _080B3204 - movs r5, 0 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - ldr r0, _080B3208 - mov r8, r0 - ldrb r0, [r0, 0x8] - movs r1, 0x80 - orrs r0, r1 - mov r1, r8 - strb r0, [r1, 0x8] - movs r1, 0xE0 - lsls r1, 19 - movs r6, 0 - str r6, [sp, 0x4] - ldr r0, _080B320C - add r2, sp, 0x4 - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, _080B3210 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _080B3214 - ldr r1, _080B3218 - bl LZDecompressVram - ldr r0, _080B321C - ldr r1, _080B3220 - bl sub_800D238 - ldr r0, _080B3224 - movs r1, 0xC0 - movs r2, 0x20 - bl LoadCompressedPalette - bl FreeAllSpritePalettes - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - ldr r4, _080B3228 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - bl BuyMenuDrawMapGraphics - ldr r0, _080B322C - strb r6, [r0, 0x9] - strb r5, [r0, 0xB] - movs r0, 0 - movs r1, 0 - movs r2, 0x20 - movs r3, 0x20 - bl MenuZeroFillWindowRect - ldr r0, _080B3230 - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_80B7C14 - movs r0, 0 - movs r1, 0x7 - bl sub_80B3764 - bl sub_80B37EC - bl sub_80B3270 - ldr r0, _080B3234 - movs r1, 0x8 - bl CreateTask - bl sub_80B3240 - movs r0, 0x1 - negs r0, r0 - str r6, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - mov r2, r8 - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, _080B3238 - bl SetVBlankCallback - ldr r0, _080B323C - bl SetMainCallback2 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B3204: .4byte REG_BG1HOFS -_080B3208: .4byte gPaletteFade -_080B320C: .4byte 0x040000d4 -_080B3210: .4byte 0x85000100 -_080B3214: .4byte gBuyMenuFrame_Gfx -_080B3218: .4byte 0x06007c00 -_080B321C: .4byte gBuyMenuFrame_Tilemap -_080B3220: .4byte 0x02018000 -_080B3224: .4byte gMenuMoneyPal -_080B3228: .4byte gWindowConfig_81E6DFC -_080B322C: .4byte gUnknown_03000708 -_080B3230: .4byte gSaveBlock1 -_080B3234: .4byte sub_80B40E8 -_080B3238: .4byte sub_80B30AC -_080B323C: .4byte sub_80B3094 - thumb_func_end BuyMenuDrawGraphics - - thumb_func_start sub_80B3240 -sub_80B3240: @ 80B3240 - push {lr} - sub sp, 0x4 - ldr r1, _080B326C - 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 -_080B326C: .4byte gUnknown_083CC710 - thumb_func_end sub_80B3240 - - thumb_func_start sub_80B3270 -sub_80B3270: @ 80B3270 - push {lr} - bl sub_80F944C - ldr r0, _080B32A0 - ldrb r0, [r0, 0x8] - cmp r0, 0x7 - bls _080B329A - movs r0, 0 - movs r1, 0xAC - movs r2, 0xC - bl sub_80F953C - movs r0, 0x1 - movs r1, 0xAC - movs r2, 0x94 - bl sub_80F953C - movs r0, 0 - movs r1, 0x1 - bl sub_80F979C -_080B329A: - pop {r0} - bx r0 - .align 2, 0 -_080B32A0: .4byte gUnknown_03000708 - thumb_func_end sub_80B3270 - - thumb_func_start sub_80B32A4 -sub_80B32A4: @ 80B32A4 - push {lr} - ldr r0, _080B32B8 - ldrb r0, [r0, 0xB] - cmp r0, 0 - bne _080B32BC - movs r0, 0 - movs r1, 0x1 - bl sub_80F979C - b _080B32C4 - .align 2, 0 -_080B32B8: .4byte gUnknown_03000708 -_080B32BC: - movs r0, 0 - movs r1, 0 - bl sub_80F979C -_080B32C4: - ldr r1, _080B32DC - ldrb r0, [r1, 0xB] - adds r0, 0x7 - ldrb r1, [r1, 0x8] - cmp r0, r1 - blt _080B32E0 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C - b _080B32E8 - .align 2, 0 -_080B32DC: .4byte gUnknown_03000708 -_080B32E0: - movs r0, 0x1 - movs r1, 0 - bl sub_80F979C -_080B32E8: - pop {r0} - bx r0 - thumb_func_end sub_80B32A4 - - thumb_func_start sub_80B32EC -sub_80B32EC: @ 80B32EC - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r2 - lsls r1, 1 - adds r1, r0 - ldr r2, _080B3304 - adds r0, r2, 0 - strh r0, [r1] - strh r0, [r1, 0x2] - bx lr - .align 2, 0 -_080B3304: .4byte 0x0000c3e1 - thumb_func_end sub_80B32EC - - thumb_func_start BuyMenuDrawMapMetatileLayer -BuyMenuDrawMapMetatileLayer: @ 80B3308 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r2 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r3] - strh r0, [r1] - ldrh r0, [r3, 0x2] - strh r0, [r1, 0x2] - adds r2, r1, 0 - adds r2, 0x40 - ldrh r0, [r3, 0x4] - strh r0, [r2] - adds r1, 0x42 - ldrh r0, [r3, 0x6] - strh r0, [r1] - bx lr - thumb_func_end BuyMenuDrawMapMetatileLayer - - thumb_func_start BuyMenuDrawMapMetatile -BuyMenuDrawMapMetatile: @ 80B3330 - push {r4-r7,lr} - adds r7, r2, 0 - lsls r3, 24 - lsrs r3, 24 - adds r2, r3, 0 - lsls r0, 17 - lsrs r0, 16 - lsls r1, 22 - movs r4, 0x80 - lsls r4, 15 - adds r1, r4 - lsrs r1, 16 - cmp r3, 0x1 - beq _080B3364 - cmp r3, 0x1 - bgt _080B3356 - cmp r3, 0 - beq _080B335C - b _080B33C0 -_080B3356: - cmp r2, 0x2 - beq _080B3398 - b _080B33C0 -_080B335C: - ldr r5, _080B3360 - b _080B3366 - .align 2, 0 -_080B3360: .4byte gBG2TilemapBuffer -_080B3364: - ldr r5, _080B3390 -_080B3366: - lsls r6, r0, 16 - asrs r6, 16 - lsls r4, r1, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - adds r3, r7, 0 - bl BuyMenuDrawMapMetatileLayer - ldr r0, _080B3394 - adds r5, r0 - adds r3, r7, 0 - adds r3, 0x8 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl BuyMenuDrawMapMetatileLayer - b _080B33C0 - .align 2, 0 -_080B3390: .4byte gBG3TilemapBuffer -_080B3394: .4byte 0xfffff800 -_080B3398: - ldr r5, _080B33C8 - lsls r6, r0, 16 - asrs r6, 16 - lsls r4, r1, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - adds r3, r7, 0 - bl BuyMenuDrawMapMetatileLayer - ldr r0, _080B33CC - adds r5, r0 - adds r3, r7, 0 - adds r3, 0x8 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl BuyMenuDrawMapMetatileLayer -_080B33C0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B33C8: .4byte gBG3TilemapBuffer -_080B33CC: .4byte 0xfffff000 - thumb_func_end BuyMenuDrawMapMetatile - - thumb_func_start sub_80B33D0 -sub_80B33D0: @ 80B33D0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - lsls r4, 22 - ldr r5, _080B3418 - lsls r6, 17 - asrs r6, 16 - movs r0, 0x80 - lsls r0, 15 - adds r4, r0 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - mov r3, r8 - bl BuyMenuDrawMapMetatileLayer - ldr r0, _080B341C - adds r5, r0 - movs r0, 0x8 - add r8, r0 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - mov r3, r8 - bl BuyMenuDrawMapMetatileLayer - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B3418: .4byte gBG3TilemapBuffer -_080B341C: .4byte 0xfffff800 - thumb_func_end sub_80B33D0 - - thumb_func_start sub_80B3420 -sub_80B3420: @ 80B3420 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - mov r1, sp - mov r0, sp - ldrh r0, [r0] - subs r0, 0x3 - strh r0, [r1] - ldrh r0, [r4] - subs r0, 0x3 - strh r0, [r4] - movs r1, 0 - ldr r0, _080B34A8 - mov r10, r0 - ldr r2, _080B34AC - mov r9, r2 -_080B3452: - movs r4, 0 - lsls r1, 16 - mov r8, r1 - asrs r7, r1, 16 -_080B345A: - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - lsls r4, 16 - asrs r6, r4, 16 - adds r0, r6 - mov r2, sp - movs r3, 0x2 - ldrsh r1, [r2, r3] - adds r1, r7 - bl MapGridGetMetatileIdAt - lsls r0, 16 - lsrs r5, r0, 16 - cmp r7, 0x5 - beq _080B34D0 - cmp r6, 0x6 - beq _080B34D0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, r6 - mov r2, sp - movs r3, 0x2 - ldrsh r1, [r2, r3] - adds r1, r7 - bl MapGridGetMetatileLayerTypeAt - lsls r0, 24 - lsrs r3, r0, 24 - cmp r5, r10 - bhi _080B34B0 - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0, 0x10] - lsls r1, r5, 4 - ldr r2, [r0, 0xC] - adds r2, r1 - b _080B34C0 - .align 2, 0 -_080B34A8: .4byte 0x000001ff -_080B34AC: .4byte gMapHeader -_080B34B0: - mov r2, r9 - ldr r0, [r2] - ldr r1, [r0, 0x14] - ldr r2, _080B34CC - adds r0, r5, r2 - lsls r0, 4 - ldr r2, [r1, 0xC] - adds r2, r0 -_080B34C0: - adds r0, r6, 0 - adds r1, r7, 0 - bl BuyMenuDrawMapMetatile - b _080B3506 - .align 2, 0 -_080B34CC: .4byte 0xfffffe00 -_080B34D0: - cmp r5, r10 - bhi _080B34EC - asrs r0, r4, 16 - mov r3, r9 - ldr r1, [r3] - ldr r1, [r1, 0x10] - lsls r3, r5, 4 - ldr r2, [r1, 0xC] - adds r2, r3 - mov r3, r8 - asrs r1, r3, 16 - bl sub_80B33D0 - b _080B3506 -_080B34EC: - asrs r0, r4, 16 - mov r2, r9 - ldr r1, [r2] - ldr r2, [r1, 0x14] - ldr r3, _080B354C - adds r1, r5, r3 - lsls r1, 4 - ldr r2, [r2, 0xC] - adds r2, r1 - mov r3, r8 - asrs r1, r3, 16 - bl sub_80B33D0 -_080B3506: - cmp r7, 0 - bne _080B3520 - asrs r1, r4, 16 - cmp r1, 0 - beq _080B3520 - cmp r1, 0x6 - beq _080B3520 - lsls r1, 17 - asrs r1, 16 - ldr r0, _080B3550 - movs r2, 0x40 - bl sub_80B32EC -_080B3520: - movs r1, 0x80 - lsls r1, 9 - adds r0, r4, r1 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x6 - ble _080B345A - adds r0, r1, 0 - add r0, r8 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080B3452 - 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 -_080B354C: .4byte 0xfffffe00 -_080B3550: .4byte gBG1TilemapBuffer - thumb_func_end sub_80B3420 - - thumb_func_start BuyMenuDrawMapGraphics -BuyMenuDrawMapGraphics: @ 80B3554 - push {lr} - bl sub_80F9020 - bl sub_80B356C - bl sub_80B368C - bl sub_80B3420 - pop {r0} - bx r0 - thumb_func_end BuyMenuDrawMapGraphics - - thumb_func_start sub_80B356C -sub_80B356C: @ 80B356C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r0, 0 - mov r8, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - bl PlayerGetZCoord - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r5, 0 - ldr r2, _080B3674 - movs r1, 0x10 -_080B3598: - lsls r0, r5, 3 - adds r0, r2 - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _080B3598 - movs r5, 0 - ldr r7, _080B3678 - subs r1, r7, 0x6 - mov r9, r1 -_080B35B0: - movs r4, 0 - adds r2, r5, 0x1 - mov r10, r2 -_080B35B6: - mov r1, sp - ldr r3, _080B367C - adds r0, r3, 0 - ldrh r1, [r1] - adds r0, r1 - adds r0, r4 - lsls r0, 16 - lsrs r0, 16 - ldr r2, _080B3680 - adds r1, r2, 0 - mov r3, sp - ldrh r3, [r3, 0x2] - adds r1, r3 - adds r1, r5 - lsls r1, 16 - lsrs r1, 16 - ldr r2, [sp, 0x4] - bl GetFieldObjectIdByXYZ - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _080B3650 - mov r0, r8 - lsls r3, r0, 3 - mov r1, r9 - adds r0, r3, r1 - movs r6, 0 - strh r2, [r0] - mov r0, r9 - adds r0, 0x2 - adds r0, r3, r0 - strh r4, [r0] - ldr r1, _080B3684 - adds r0, r3, r1 - strh r5, [r0] - ldr r1, _080B3688 - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r2, r0, r1 - ldrb r0, [r2, 0x18] - lsls r0, 28 - lsrs r0, 28 - cmp r0, 0x1 - bne _080B3616 - adds r0, r3, r7 - strh r6, [r0] -_080B3616: - ldrb r0, [r2, 0x18] - lsls r0, 28 - lsrs r0, 28 - cmp r0, 0x2 - bne _080B3626 - adds r1, r3, r7 - movs r0, 0x1 - strh r0, [r1] -_080B3626: - ldrb r0, [r2, 0x18] - lsls r0, 28 - lsrs r0, 28 - cmp r0, 0x3 - bne _080B3636 - adds r1, r3, r7 - movs r0, 0x2 - strh r0, [r1] -_080B3636: - ldrb r0, [r2, 0x18] - lsls r0, 28 - lsrs r0, 28 - cmp r0, 0x4 - bne _080B3646 - adds r1, r3, r7 - movs r0, 0x3 - strh r0, [r1] -_080B3646: - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_080B3650: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _080B35B6 - mov r2, r10 - lsls r0, r2, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _080B35B0 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B3674: .4byte gUnknown_020386A4 -_080B3678: .4byte gUnknown_020386AA -_080B367C: .4byte 0x0000fffd -_080B3680: .4byte 0x0000fffe -_080B3684: .4byte gUnknown_020386A8 -_080B3688: .4byte gMapObjects - thumb_func_end sub_80B356C - - thumb_func_start sub_80B368C -sub_80B368C: @ 80B368C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r5, 0 - ldr r6, _080B3710 - adds r0, r6, 0x6 - mov r8, r0 - ldr r7, _080B3714 -_080B369E: - lsls r4, r5, 3 - adds r1, r4, r6 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0x10 - beq _080B36F8 - adds r1, r0, 0 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0, 0x5] - adds r1, r6, 0x2 - adds r1, r4, r1 - ldrh r2, [r1] - lsls r2, 4 - adds r2, 0x8 - lsls r2, 16 - asrs r2, 16 - adds r1, r6, 0x4 - adds r1, r4, r1 - ldrh r3, [r1] - lsls r3, 20 - movs r1, 0x80 - lsls r1, 14 - adds r3, r1 - asrs r3, 16 - movs r1, 0x2 - str r1, [sp] - ldr r1, _080B3718 - bl AddPseudoFieldObject - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080B371C - adds r2, r0 - mov r1, r8 - adds r0, r4, r1 - ldrb r1, [r0] - adds r0, r2, 0 - bl StartSpriteAnim -_080B36F8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _080B369E - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B3710: .4byte gUnknown_020386A4 -_080B3714: .4byte gMapObjects -_080B3718: .4byte SpriteCallbackDummy -_080B371C: .4byte gSprites - thumb_func_end sub_80B368C - - thumb_func_start sub_80B3720 -sub_80B3720: @ 80B3720 - push {r4-r6,lr} - movs r1, 0 - ldr r6, _080B3754 - ldr r5, _080B3758 - ldr r4, _080B375C - ldr r0, _080B3760 - adds r3, r0, 0 -_080B372E: - lsls r0, r1, 16 - asrs r2, r0, 16 - lsls r1, r2, 1 - adds r0, r1, r4 - ldrh r0, [r0] - cmp r0, 0 - beq _080B3742 - adds r1, r6 - adds r0, r3 - strh r0, [r1] -_080B3742: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, r5 - ble _080B372E - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B3754: .4byte gBG1TilemapBuffer -_080B3758: .4byte 0x000003ff -_080B375C: .4byte 0x02018000 -_080B3760: .4byte 0x0000c3e0 - thumb_func_end sub_80B3720 - - thumb_func_start sub_80B3764 -sub_80B3764: @ 80B3764 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_80B3720 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl sub_80B39D0 - ldr r0, _080B3798 - ldrb r0, [r0, 0x9] - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0xE - movs r2, 0x2 - movs r3, 0x8 - bl InitMenu - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B3798: .4byte gUnknown_03000708 - thumb_func_end sub_80B3764 - - thumb_func_start sub_80B379C -sub_80B379C: @ 80B379C - push {r4-r7,lr} - movs r1, 0 - ldr r0, _080B37E0 - mov r12, r0 - ldr r7, _080B37E4 - ldr r0, _080B37E8 - adds r6, r0, 0 -_080B37AA: - movs r2, 0 - adds r0, r1, 0 - adds r0, 0xC - adds r5, r1, 0x1 - lsls r4, r0, 5 - lsls r3, r1, 5 -_080B37B6: - adds r1, r4, r2 - lsls r1, 1 - add r1, r12 - adds r0, r3, r2 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - adds r0, r6, r0 - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xD - bls _080B37B6 - lsls r0, r5, 16 - lsrs r1, r0, 16 - cmp r1, 0x7 - bls _080B37AA - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B37E0: .4byte gBG1TilemapBuffer -_080B37E4: .4byte 0x02018300 -_080B37E8: .4byte 0x0000c3e0 - thumb_func_end sub_80B379C - - thumb_func_start sub_80B37EC -sub_80B37EC: @ 80B37EC - push {lr} - bl sub_80B3A70 - pop {r0} - bx r0 - thumb_func_end sub_80B37EC - - thumb_func_start sub_80B37F8 -sub_80B37F8: @ 80B37F8 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r1, _080B3884 - ldrb r0, [r1, 0xB] - ldrb r2, [r1, 0x9] - adds r0, r2 - ldr r1, [r1, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - bl itemid_get_market_price - adds r4, r0, 0 - movs r0, 0x1 - bl GetPriceReduction - lsls r4, 16 - lsrs r4, 16 - lsls r0, 24 - lsrs r0, 24 - asrs r4, r0 - ldr r0, _080B3888 - lsls r5, r6, 2 - adds r5, r6 - lsls r5, 3 - adds r5, r0 - movs r1, 0xA - ldrsh r0, [r5, r1] - muls r0, r4 - movs r1, 0x6 - movs r2, 0x6 - movs r3, 0xB - bl sub_80B7A94 - ldr r0, _080B388C - movs r1, 0xFC - strb r1, [r0] - movs r1, 0x14 - strb r1, [r0, 0x1] - movs r1, 0x6 - strb r1, [r0, 0x2] - adds r0, 0x3 - movs r2, 0xA - ldrsh r1, [r5, r2] - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _080B3890 - movs r1, 0x1 - movs r2, 0xB - bl MenuPrint - ldr r0, _080B3894 - movs r1, 0x2 - str r1, [sp] - ldr r1, _080B3898 - str r1, [sp, 0x4] - movs r1, 0x1 - movs r2, 0xB - movs r3, 0xC - bl sub_80A3FA0 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B3884: .4byte gUnknown_03000708 -_080B3888: .4byte gTasks -_080B388C: .4byte gStringVar1 -_080B3890: .4byte gOtherText_xString1 -_080B3894: .4byte gBG1TilemapBuffer -_080B3898: .4byte 0x0000c3e1 - thumb_func_end sub_80B37F8 - - thumb_func_start sub_80B389C -sub_80B389C: @ 80B389C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - mov r8, r2 - lsls r0, 16 - lsrs r2, r0, 16 - mov r9, r2 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r5, _080B392C - mov r0, r8 - cmp r0, 0 - beq _080B38C8 - movs r0, 0xFC - strb r0, [r5] - movs r0, 0x1 - strb r0, [r5, 0x1] - movs r0, 0x2 - strb r0, [r5, 0x2] - adds r5, 0x3 -_080B38C8: - adds r0, r2, 0 - adds r1, r5, 0 - bl itemid_copy_name - ldr r6, _080B392C - lsls r7, r4, 3 - movs r0, 0x1 - str r0, [sp] - adds r0, r6, 0 - movs r1, 0x70 - adds r2, r7, 0 - movs r3, 0x58 - bl sub_8072A18 - adds r5, r6, 0 - mov r0, r8 - cmp r0, 0 - beq _080B38EE - adds r5, r6, 0x3 -_080B38EE: - mov r0, r9 - bl itemid_get_market_price - adds r4, r0, 0 - movs r0, 0x1 - bl GetPriceReduction - lsls r4, 16 - lsrs r4, 16 - lsls r0, 24 - lsrs r0, 24 - asrs r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x4 - bl sub_80B79F8 - adds r0, r6, 0 - movs r1, 0xCA - adds r2, r7, 0 - movs r3, 0x1 - bl sub_80729D8 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B392C: .4byte gStringVar1 - thumb_func_end sub_80B389C - - thumb_func_start sub_80B3930 -sub_80B3930: @ 80B3930 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r4, r2, 0 - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - ldr r2, _080B39A0 - cmp r4, 0 - beq _080B395A - movs r0, 0xFC - strb r0, [r2] - movs r0, 0x1 - strb r0, [r2, 0x1] - movs r0, 0x2 - strb r0, [r2, 0x2] - adds r2, 0x3 -_080B395A: - lsls r6, r3, 5 - ldr r0, _080B39A4 - mov r8, r0 - adds r1, r6, r0 - adds r0, r2, 0 - bl StringCopy - ldr r5, _080B39A0 - mov r0, r9 - lsls r7, r0, 3 - movs r0, 0x1 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0x70 - adds r2, r7, 0 - movs r3, 0x58 - bl sub_8072A18 - adds r2, r5, 0 - cmp r4, 0 - beq _080B3986 - adds r2, r5, 0x3 -_080B3986: - mov r0, r8 - subs r0, 0x1 - adds r3, r6, r0 - ldrh r1, [r3, 0x14] - ldr r0, _080B39A8 - cmp r1, r0 - bne _080B39AC - movs r0, 0x19 - mov r1, r9 - adds r2, r4, 0 - bl sub_80B7B34 - b _080B39C2 - .align 2, 0 -_080B39A0: .4byte gStringVar1 -_080B39A4: .4byte gDecorations + 0x1 -_080B39A8: .4byte 0x00002710 -_080B39AC: - ldrh r1, [r3, 0x14] - adds r0, r2, 0 - movs r2, 0x4 - bl sub_80B79F8 - adds r0, r5, 0 - movs r1, 0xCA - adds r2, r7, 0 - movs r3, 0x1 - bl sub_80729D8 -_080B39C2: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B3930 - - thumb_func_start sub_80B39D0 -sub_80B39D0: @ 80B39D0 - push {r4-r6,lr} - adds r6, r1, 0 - adds r5, r2, 0 - b _080B3A1A -_080B39D8: - ldrb r0, [r1, 0xC] - cmp r0, 0 - bne _080B39FC - ldrb r0, [r1, 0xB] - adds r0, r4 - ldr r1, [r1, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r4, 25 - movs r2, 0x80 - lsls r2, 18 - adds r1, r2 - lsrs r1, 24 - adds r2, r5, 0 - bl sub_80B389C - b _080B3A18 -_080B39FC: - ldrb r0, [r1, 0xB] - adds r0, r4 - ldr r1, [r1, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r4, 25 - movs r2, 0x80 - lsls r2, 18 - adds r1, r2 - lsrs r1, 24 - adds r2, r5, 0 - bl sub_80B3930 -_080B3A18: - adds r0, r4, 0x1 -_080B3A1A: - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bgt _080B3A2E - ldr r1, _080B3A68 - ldrb r0, [r1, 0xB] - adds r0, r4 - ldrb r2, [r1, 0x8] - cmp r0, r2 - blt _080B39D8 -_080B3A2E: - cmp r4, 0x8 - beq _080B3A60 - ldr r1, _080B3A68 - ldrb r0, [r1, 0xB] - adds r0, r4 - ldrb r1, [r1, 0x8] - cmp r0, r1 - bne _080B3A60 - lsls r3, r4, 1 - adds r4, r3, 0x2 - lsls r4, 24 - lsrs r4, 24 - adds r3, 0x3 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0xE - adds r1, r4, 0 - movs r2, 0x1C - bl MenuFillWindowRectWithBlankTile - ldr r0, _080B3A6C - movs r1, 0xE - adds r2, r4, 0 - bl MenuPrint -_080B3A60: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B3A68: .4byte gUnknown_03000708 -_080B3A6C: .4byte gOtherText_CancelNoTerminator - thumb_func_end sub_80B39D0 - - thumb_func_start sub_80B3A70 -sub_80B3A70: @ 80B3A70 - push {r4,lr} - sub sp, 0x8 - ldr r2, _080B3A9C - ldrb r1, [r2, 0xB] - ldrb r0, [r2, 0x9] - adds r0, r1, r0 - ldrb r1, [r2, 0x8] - cmp r0, r1 - beq _080B3ACC - ldrb r4, [r2, 0xC] - cmp r4, 0 - bne _080B3AA0 - ldr r1, [r2, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - bl itemid_get_description - movs r1, 0x30 - str r1, [sp] - str r4, [sp, 0x4] - b _080B3ABA - .align 2, 0 -_080B3A9C: .4byte gUnknown_03000708 -_080B3AA0: - ldr r1, _080B3AC8 - ldr r2, [r2, 0x4] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 5 - adds r1, 0x18 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x30 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] -_080B3ABA: - movs r1, 0x4 - movs r2, 0x68 - movs r3, 0x68 - bl sub_8072AB0 - b _080B3AE0 - .align 2, 0 -_080B3AC8: .4byte gDecorations -_080B3ACC: - ldr r0, _080B3AE8 - movs r1, 0x30 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - movs r1, 0x4 - movs r2, 0x68 - movs r3, 0x68 - bl sub_8072AB0 -_080B3AE0: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B3AE8: .4byte gOtherText_QuitShopping - thumb_func_end sub_80B3A70 - - thumb_func_start sub_80B3AEC -sub_80B3AEC: @ 80B3AEC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080B3B5C - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080B3B06 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080B3B7A -_080B3B06: - ldr r4, _080B3B60 - ldrb r1, [r4, 0x9] - adds r0, r1, 0 - movs r2, 0 - bl sub_80B39D0 - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4, 0xB] - ldrb r1, [r4, 0x9] - adds r0, r1 - ldr r1, [r4, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x4 - bne _080B3B74 - ldr r0, _080B3B64 - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0x9 - ble _080B3B74 - movs r0, 0xC - movs r1, 0x1 - bl sub_80A9424 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B3B74 - ldr r1, _080B3B68 - ldr r2, _080B3B6C - ldr r3, _080B3B70 - adds r0, r5, 0 - bl DisplayItemMessageOnField - b _080B3B7A - .align 2, 0 -_080B3B5C: .4byte gMain -_080B3B60: .4byte gUnknown_03000708 -_080B3B64: .4byte gTasks -_080B3B68: .4byte gOtherText_FreePremierBall -_080B3B6C: .4byte sub_80B4378 -_080B3B70: .4byte 0x0000c3e1 -_080B3B74: - adds r0, r5, 0 - bl sub_80B4378 -_080B3B7A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B3AEC - - thumb_func_start sub_80B3B80 -sub_80B3B80: @ 80B3B80 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x26 - bl sav12_xor_increment - ldr r5, _080B3BC0 - ldr r0, _080B3BC4 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_80B79E0 - movs r0, 0x5F - bl PlaySE - ldr r0, [r5] - movs r1, 0 - movs r2, 0 - bl sub_80B7BEC - ldr r1, _080B3BC8 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080B3BCC - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B3BC0: .4byte gSaveBlock1 + 0x490 -_080B3BC4: .4byte gUnknown_020386A0 -_080B3BC8: .4byte gTasks -_080B3BCC: .4byte sub_80B3AEC - thumb_func_end sub_80B3B80 - - thumb_func_start sub_80B3BD0 -sub_80B3BD0: @ 80B3BD0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080B3BF0 - ldrb r1, [r0, 0x9] - adds r0, r1, 0 - movs r2, 0 - bl sub_80B39D0 - adds r0, r4, 0 - bl sub_80B4378 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B3BF0: .4byte gUnknown_03000708 - thumb_func_end sub_80B3BD0 - - thumb_func_start sub_80B3BF4 -sub_80B3BF4: @ 80B3BF4 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0xD - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r0, _080B3C7C - movs r1, 0x4 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - movs r1, 0x8 - movs r2, 0x9 - movs r3, 0x4 - bl sub_80A3FA0 - bl sub_80B379C - bl sub_80B3420 - ldr r0, _080B3C80 - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080B3C84 - ldr r1, [r1] - bl IsEnoughMoney - lsls r0, 24 - cmp r0, 0 - beq _080B3D18 - ldr r4, _080B3C88 - ldrb r0, [r4, 0xC] - cmp r0, 0 - bne _080B3CAC - ldrb r0, [r4, 0xB] - ldrb r1, [r4, 0x9] - adds r0, r1 - ldr r1, [r4, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - ldr r2, _080B3C8C - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r2 - ldrh r1, [r1, 0xA] - bl sub_80A9424 - lsls r0, 24 - cmp r0, 0 - beq _080B3C9C - ldr r1, _080B3C90 - ldr r2, _080B3C94 - ldr r3, _080B3C98 - adds r0, r5, 0 - bl DisplayItemMessageOnField - adds r0, r5, 0 - bl sub_80B4470 - b _080B3D24 - .align 2, 0 -_080B3C7C: .4byte gBG1TilemapBuffer -_080B3C80: .4byte gSaveBlock1 -_080B3C84: .4byte gUnknown_020386A0 -_080B3C88: .4byte gUnknown_03000708 -_080B3C8C: .4byte gTasks -_080B3C90: .4byte gOtherText_HereYouGo -_080B3C94: .4byte sub_80B3B80 -_080B3C98: .4byte 0x0000c3e1 -_080B3C9C: - ldr r1, _080B3CA4 - ldr r2, _080B3CA8 - b _080B3CD8 - .align 2, 0 -_080B3CA4: .4byte gOtherText_NoRoomFor -_080B3CA8: .4byte sub_80B3BD0 -_080B3CAC: - ldrb r0, [r4, 0xB] - ldrb r1, [r4, 0x9] - adds r0, r1 - ldr r1, [r4, 0x4] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - bl IsThereStorageSpaceForDecoration - lsls r0, 24 - cmp r0, 0 - beq _080B3CF0 - ldrb r0, [r4, 0xC] - cmp r0, 0x1 - bne _080B3CD4 - ldr r1, _080B3CD0 - b _080B3CD6 - .align 2, 0 -_080B3CD0: .4byte gOtherText_HereYouGo2 -_080B3CD4: - ldr r1, _080B3CE4 -_080B3CD6: - ldr r2, _080B3CE8 -_080B3CD8: - ldr r3, _080B3CEC - adds r0, r5, 0 - bl DisplayItemMessageOnField - b _080B3D24 - .align 2, 0 -_080B3CE4: .4byte gOtherText_HereYouGo3 -_080B3CE8: .4byte sub_80B3B80 -_080B3CEC: .4byte 0x0000c3e1 -_080B3CF0: - ldr r4, _080B3D08 - ldr r1, _080B3D0C - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080B3D10 - ldr r3, _080B3D14 - adds r0, r5, 0 - adds r1, r4, 0 - bl DisplayItemMessageOnField - b _080B3D24 - .align 2, 0 -_080B3D08: .4byte gStringVar4 -_080B3D0C: .4byte gOtherText_SpaceForIsFull -_080B3D10: .4byte sub_80B3BD0 -_080B3D14: .4byte 0x0000c3e1 -_080B3D18: - ldr r1, _080B3D2C - ldr r2, _080B3D30 - ldr r3, _080B3D34 - adds r0, r5, 0 - bl DisplayItemMessageOnField -_080B3D24: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B3D2C: .4byte gOtherText_NotEnoughMoney -_080B3D30: .4byte sub_80B3BD0 -_080B3D34: .4byte 0x0000c3e1 - thumb_func_end sub_80B3BF4 - - thumb_func_start sub_80B3D38 -sub_80B3D38: @ 80B3D38 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r0, _080B3D70 - movs r1, 0x4 - str r1, [sp] - ldr r1, _080B3D74 - str r1, [sp, 0x4] - movs r1, 0x8 - movs r2, 0x9 - movs r3, 0x4 - bl sub_80A3FA0 - ldr r1, _080B3D78 - adds r0, r4, 0 - bl sub_80F914C - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B3D70: .4byte gBG1TilemapBuffer -_080B3D74: .4byte 0x0000c3e1 -_080B3D78: .4byte gUnknown_083CC708 - thumb_func_end sub_80B3D38 - - thumb_func_start sub_80B3D7C -sub_80B3D7C: @ 80B3D7C - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080B3DC0 - ldrb r1, [r0, 0x9] - adds r0, r1, 0 - movs r2, 0 - bl sub_80B39D0 - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0xD - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r0, _080B3DC4 - movs r1, 0x4 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - movs r1, 0x8 - movs r2, 0x9 - movs r3, 0x4 - bl sub_80A3FA0 - adds r0, r4, 0 - bl sub_80B4378 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B3DC0: .4byte gUnknown_03000708 -_080B3DC4: .4byte gBG1TilemapBuffer - thumb_func_end sub_80B3D7C - - thumb_func_start sub_80B3DC8 -sub_80B3DC8: @ 80B3DC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, r6, 0 - ldr r7, _080B3EA8 - ldrb r1, [r7, 0xD] - adds r0, r6, 0 - bl sub_80A52C4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B3DEE - adds r0, r6, 0 - bl sub_80B37F8 -_080B3DEE: - ldr r0, _080B3EAC - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B3ED8 - ldr r0, _080B3EB0 - mov r8, r0 - ldrb r0, [r7, 0xB] - ldrb r1, [r7, 0x9] - adds r0, r1 - ldr r1, [r7, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - bl itemid_get_market_price - adds r4, r0, 0 - movs r0, 0x1 - bl GetPriceReduction - lsls r4, 16 - lsrs r4, 16 - lsls r0, 24 - lsrs r0, 24 - asrs r4, r0 - ldr r0, _080B3EB4 - lsls r5, r6, 2 - adds r5, r6 - lsls r5, 3 - adds r5, r0 - movs r1, 0xA - ldrsh r0, [r5, r1] - muls r0, r4 - mov r2, r8 - str r0, [r2] - movs r0, 0 - movs r1, 0xA - movs r2, 0xD - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r0, _080B3EB8 - movs r1, 0x2 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - movs r1, 0x1 - movs r2, 0xB - movs r3, 0xC - bl sub_80A3FA0 - bl sub_80B379C - bl sub_80B3420 - ldrb r0, [r7, 0xB] - ldrb r1, [r7, 0x9] - adds r0, r1 - ldr r1, [r7, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - ldr r1, _080B3EBC - bl itemid_copy_name - ldr r0, _080B3EC0 - movs r2, 0xA - ldrsh r1, [r5, r2] - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _080B3EC4 - mov r2, r8 - ldr r1, [r2] - movs r2, 0 - movs r3, 0x8 - bl ConvertIntToDecimalStringN - ldr r4, _080B3EC8 - ldr r1, _080B3ECC - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080B3ED0 - ldr r3, _080B3ED4 - adds r0, r6, 0 - adds r1, r4, 0 - bl DisplayItemMessageOnField - b _080B3EF0 - .align 2, 0 -_080B3EA8: .4byte gUnknown_03000708 -_080B3EAC: .4byte gMain -_080B3EB0: .4byte gUnknown_020386A0 -_080B3EB4: .4byte gTasks -_080B3EB8: .4byte gBG1TilemapBuffer -_080B3EBC: .4byte gStringVar1 -_080B3EC0: .4byte gStringVar2 -_080B3EC4: .4byte gStringVar3 -_080B3EC8: .4byte gStringVar4 -_080B3ECC: .4byte gOtherText_ThatWillBe -_080B3ED0: .4byte sub_80B3D38 -_080B3ED4: .4byte 0x0000c3e1 -_080B3ED8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080B3EF0 - ldrb r1, [r7, 0x9] - adds r0, r1, 0 - movs r2, 0 - bl sub_80B39D0 - adds r0, r4, 0 - bl sub_80B4378 -_080B3EF0: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B3DC8 - - thumb_func_start sub_80B3EFC -sub_80B3EFC: @ 80B3EFC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080B3F78 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0xA] - movs r0, 0 - movs r1, 0xA - movs r2, 0xD - movs r3, 0xD - bl MenuDrawTextWindow - adds r0, r5, 0 - bl sub_80B37F8 - ldr r6, _080B3F7C - ldrb r0, [r6, 0xB] - ldrb r1, [r6, 0x9] - adds r0, r1 - ldr r1, [r6, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - bl itemid_get_market_price - adds r4, r0, 0 - movs r0, 0x1 - bl GetPriceReduction - ldr r1, _080B3F80 - movs r2, 0x92 - lsls r2, 3 - adds r1, r2 - lsls r4, 16 - lsrs r4, 16 - lsls r0, 24 - lsrs r0, 24 - asrs r4, r0 - ldr r0, [r1] - adds r1, r4, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x63 - bls _080B3F62 - movs r0, 0x63 -_080B3F62: - strb r0, [r6, 0xD] - ldr r0, _080B3F78 - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080B3F84 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B3F78: .4byte gTasks -_080B3F7C: .4byte gUnknown_03000708 -_080B3F80: .4byte gSaveBlock1 -_080B3F84: .4byte sub_80B3DC8 - thumb_func_end sub_80B3EFC - - thumb_func_start sub_80B3F88 -sub_80B3F88: @ 80B3F88 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r0, _080B4020 - mov r8, r0 - ldr r1, [r0, 0x28] - ldr r3, _080B4024 - adds r1, r3 - adds r2, r1, 0 - adds r2, 0x80 - ldr r7, [r0, 0x24] - mov r10, r7 - ldr r0, _080B4028 - mov r9, r0 - movs r6, 0xD -_080B3FAC: - adds r3, r2, 0 - subs r3, 0x40 - str r3, [sp] - movs r7, 0x40 - negs r7, r7 - adds r7, r1 - mov r12, r7 - adds r3, r2, 0 - adds r4, r1, 0 - movs r5, 0xE -_080B3FC0: - ldrh r2, [r4] - mov r1, r9 - ands r1, r2 - mov r7, r8 - ldrh r0, [r7, 0x1A] - adds r0, 0x1 - cmp r1, r0 - ble _080B3FD4 - adds r0, r2, 0 - adds r0, 0x3C -_080B3FD4: - strh r0, [r3] - adds r3, 0x2 - adds r4, 0x2 - subs r5, 0x1 - cmp r5, 0 - bge _080B3FC0 - ldr r2, [sp] - mov r1, r12 - subs r6, 0x1 - cmp r6, 0 - bge _080B3FAC - ldr r1, _080B402C - add r1, r10 - movs r0, 0xF0 - lsls r0, 3 - adds r2, r1, r0 - ldr r3, _080B4030 - ldr r5, _080B4034 - ldr r4, _080B4038 - movs r6, 0xD -_080B3FFC: - str r1, [r3] - str r2, [r3, 0x4] - str r5, [r3, 0x8] - ldr r0, [r3, 0x8] - adds r2, r4 - adds r1, r4 - subs r6, 0x1 - cmp r6, 0 - bge _080B3FFC - 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 -_080B4020: .4byte gMenuWindow -_080B4024: .4byte 0x000003de -_080B4028: .4byte 0x000003ff -_080B402C: .4byte 0x00003a20 -_080B4030: .4byte 0x040000d4 -_080B4034: .4byte 0x800000f0 -_080B4038: .4byte 0xfffffc40 - thumb_func_end sub_80B3F88 - - thumb_func_start sub_80B403C -sub_80B403C: @ 80B403C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r0, _080B40D8 - mov r8, r0 - ldr r2, [r0, 0x28] - adds r1, r2, 0 - adds r1, 0x9E - adds r2, r1, 0 - adds r1, 0x80 - ldr r3, [r0, 0x24] - mov r10, r3 - ldr r7, _080B40DC - mov r9, r7 - movs r6, 0xD -_080B4060: - adds r0, r2, 0 - adds r0, 0x40 - str r0, [sp] - movs r3, 0x40 - adds r3, r1 - mov r12, r3 - adds r3, r2, 0 - adds r4, r1, 0 - movs r5, 0xE -_080B4072: - ldrh r2, [r4] - mov r1, r9 - ands r1, r2 - mov r7, r8 - ldrh r0, [r7, 0x1A] - adds r0, 0x1 - cmp r1, r0 - ble _080B4086 - adds r0, r2, 0 - subs r0, 0x3C -_080B4086: - strh r0, [r3] - adds r3, 0x2 - adds r4, 0x2 - subs r5, 0x1 - cmp r5, 0 - bge _080B4072 - ldr r2, [sp] - mov r1, r12 - subs r6, 0x1 - cmp r6, 0 - bge _080B4060 - movs r1, 0x96 - lsls r1, 4 - add r1, r10 - adds r2, r1, 0 - movs r0, 0xF0 - lsls r0, 3 - adds r1, r0 - ldr r3, _080B40E0 - ldr r5, _080B40E4 - movs r4, 0xF0 - lsls r4, 2 - movs r6, 0xD -_080B40B4: - str r1, [r3] - str r2, [r3, 0x4] - str r5, [r3, 0x8] - ldr r0, [r3, 0x8] - adds r2, r4 - adds r1, r4 - subs r6, 0x1 - cmp r6, 0 - bge _080B40B4 - 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 -_080B40D8: .4byte gMenuWindow -_080B40DC: .4byte 0x000003ff -_080B40E0: .4byte 0x040000d4 -_080B40E4: .4byte 0x800000f0 - thumb_func_end sub_80B403C - - thumb_func_start sub_80B40E8 -sub_80B40E8: @ 80B40E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - mov r8, r7 - ldr r0, _080B4134 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080B4102 - b _080B436C -_080B4102: - ldr r2, _080B4138 - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _080B414C - ldr r4, _080B413C - ldrb r0, [r4, 0x9] - cmp r0, 0 - bne _080B4140 - ldrb r0, [r4, 0xB] - cmp r0, 0 - bne _080B411E - b _080B436C -_080B411E: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4, 0xB] - subs r0, 0x1 - strb r0, [r4, 0xB] - bl sub_80B3F88 - movs r0, 0 - movs r1, 0 - b _080B417A - .align 2, 0 -_080B4134: .4byte gPaletteFade -_080B4138: .4byte gMain -_080B413C: .4byte gUnknown_03000708 -_080B4140: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _080B41A0 -_080B414C: - cmp r1, 0x80 - bne _080B41AC - ldr r4, _080B418C - ldrb r0, [r4, 0x9] - cmp r0, 0x7 - bne _080B4190 - ldrb r0, [r4, 0xB] - ldrb r1, [r4, 0x9] - adds r0, r1 - ldrb r1, [r4, 0x8] - cmp r0, r1 - bne _080B4166 - b _080B436C -_080B4166: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4, 0xB] - adds r0, 0x1 - strb r0, [r4, 0xB] - bl sub_80B403C - movs r0, 0x7 - movs r1, 0x7 -_080B417A: - movs r2, 0 - bl sub_80B39D0 - bl sub_80B3A70 - bl sub_80B32A4 - b _080B436C - .align 2, 0 -_080B418C: .4byte gUnknown_03000708 -_080B4190: - ldrb r2, [r4, 0x8] - cmp r0, r2 - bne _080B4198 - b _080B436C -_080B4198: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_080B41A0: - bl MoveMenuCursor - strb r0, [r4, 0x9] - bl sub_80B3A70 - b _080B436C -_080B41AC: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080B41B8 - b _080B4358 -_080B41B8: - movs r0, 0x5 - bl PlaySE - ldr r6, _080B426C - ldrb r0, [r6, 0xB] - ldrb r1, [r6, 0x9] - adds r0, r1 - ldrb r1, [r6, 0x8] - cmp r0, r1 - bne _080B41CE - b _080B4350 -_080B41CE: - movs r0, 0 - bl sub_80F996C - movs r0, 0x1 - bl sub_80F996C - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C - ldrb r1, [r6, 0x9] - adds r0, r1, 0 - movs r2, 0x1 - bl sub_80B39D0 - bl sub_8072DEC - movs r0, 0 - movs r1, 0xC - movs r2, 0xD - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldrb r0, [r6, 0xC] - cmp r0, 0 - bne _080B428C - ldr r5, _080B4270 - ldrb r0, [r6, 0xB] - ldrb r1, [r6, 0x9] - adds r0, r1 - ldr r1, [r6, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - bl itemid_get_market_price - adds r4, r0, 0 - movs r0, 0x1 - bl GetPriceReduction - lsls r4, 16 - lsrs r4, 16 - lsls r0, 24 - lsrs r0, 24 - asrs r4, r0 - str r4, [r5] - ldr r0, _080B4274 - movs r2, 0x92 - lsls r2, 3 - adds r0, r2 - ldr r0, [r0] - adds r1, r4, 0 - bl IsEnoughMoney - lsls r0, 24 - cmp r0, 0 - beq _080B42BA - ldrb r0, [r6, 0xB] - ldrb r1, [r6, 0x9] - adds r0, r1 - ldr r1, [r6, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - ldr r1, _080B4278 - bl itemid_copy_name - ldr r4, _080B427C - ldr r1, _080B4280 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080B4284 - ldr r3, _080B4288 - adds r0, r7, 0 - adds r1, r4, 0 - bl DisplayItemMessageOnField - b _080B436C - .align 2, 0 -_080B426C: .4byte gUnknown_03000708 -_080B4270: .4byte gUnknown_020386A0 -_080B4274: .4byte gSaveBlock1 -_080B4278: .4byte gStringVar1 -_080B427C: .4byte gStringVar4 -_080B4280: .4byte gOtherText_HowManyYouWant -_080B4284: .4byte sub_80B3EFC -_080B4288: .4byte 0x0000c3e1 -_080B428C: - ldr r5, _080B42C8 - ldr r4, _080B42CC - ldrb r0, [r6, 0xB] - ldrb r1, [r6, 0x9] - adds r0, r1 - ldr r1, [r6, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 5 - adds r0, r4 - ldrh r1, [r0, 0x14] - str r1, [r5] - ldr r0, _080B42D0 - movs r2, 0x92 - lsls r2, 3 - adds r0, r2 - ldr r0, [r0] - bl IsEnoughMoney - lsls r0, 24 - cmp r0, 0 - bne _080B42E0 -_080B42BA: - ldr r1, _080B42D4 - ldr r2, _080B42D8 - ldr r3, _080B42DC - adds r0, r7, 0 - bl DisplayItemMessageOnField - b _080B436C - .align 2, 0 -_080B42C8: .4byte gUnknown_020386A0 -_080B42CC: .4byte gDecorations -_080B42D0: .4byte gSaveBlock1 -_080B42D4: .4byte gOtherText_NotEnoughMoney -_080B42D8: .4byte sub_80B3BD0 -_080B42DC: .4byte 0x0000c3e1 -_080B42E0: - ldr r0, _080B4318 - ldrb r1, [r6, 0xB] - ldrb r2, [r6, 0x9] - adds r1, r2 - ldr r2, [r6, 0x4] - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - lsls r1, 5 - adds r2, r4, 0x1 - adds r1, r2 - bl StringCopy - ldr r0, _080B431C - ldr r1, [r5] - movs r2, 0 - movs r3, 0x8 - bl ConvertIntToDecimalStringN - ldrb r0, [r6, 0xC] - cmp r0, 0x1 - bne _080B4328 - ldr r0, _080B4320 - ldr r1, _080B4324 - bl StringExpandPlaceholders - b _080B4330 - .align 2, 0 -_080B4318: .4byte gStringVar1 -_080B431C: .4byte gStringVar2 -_080B4320: .4byte gStringVar4 -_080B4324: .4byte gOtherText_ThatWillBe2 -_080B4328: - ldr r0, _080B4340 - ldr r1, _080B4344 - bl StringExpandPlaceholders -_080B4330: - ldr r1, _080B4340 - ldr r2, _080B4348 - ldr r3, _080B434C - mov r0, r8 - bl DisplayItemMessageOnField - b _080B436C - .align 2, 0 -_080B4340: .4byte gStringVar4 -_080B4344: .4byte gOtherText_ThatWillBe3 -_080B4348: .4byte sub_80B3D38 -_080B434C: .4byte 0x0000c3e1 -_080B4350: - adds r0, r7, 0 - bl sub_80B43F0 - b _080B436C -_080B4358: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080B436C - movs r0, 0x5 - bl PlaySE - mov r0, r8 - bl sub_80B43F0 -_080B436C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B40E8 - - thumb_func_start sub_80B4378 -sub_80B4378: @ 80B4378 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0xA - movs r2, 0xD - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r0, _080B43E4 - movs r1, 0x2 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - movs r1, 0x1 - movs r2, 0xB - movs r3, 0xC - bl sub_80A3FA0 - bl sub_80B3420 - movs r0, 0x6 - movs r1, 0x7 - bl sub_80B3764 - bl sub_80B37EC - movs r0, 0 - bl sub_80F98DC - movs r0, 0x1 - bl sub_80F98DC - bl sub_80B32A4 - ldr r1, _080B43E8 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080B43EC - str r1, [r0] - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B43E4: .4byte gBG1TilemapBuffer -_080B43E8: .4byte gTasks -_080B43EC: .4byte sub_80B40E8 - thumb_func_end sub_80B4378 - - thumb_func_start sub_80B43F0 -sub_80B43F0: @ 80B43F0 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080B4428 - ldr r0, _080B442C - str r0, [r1] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _080B4430 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080B4434 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B4428: .4byte gUnknown_0300485C -_080B442C: .4byte sub_80B3050 -_080B4430: .4byte gTasks -_080B4434: .4byte Task_ExitBuyMenu - thumb_func_end sub_80B43F0 - - thumb_func_start Task_ExitBuyMenu -Task_ExitBuyMenu: @ 80B4438 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080B4468 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B4462 - movs r0, 0 - movs r1, 0 - bl RemoveMoneyLabelObject - bl BuyMenuFreeMemory - ldr r0, _080B446C - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_080B4462: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B4468: .4byte gPaletteFade -_080B446C: .4byte c2_exit_to_overworld_2_switch - thumb_func_end Task_ExitBuyMenu - - thumb_func_start sub_80B4470 -sub_80B4470: @ 80B4470 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r5, r0, 24 - movs r2, 0 - ldr r0, _080B44C8 - mov r12, r0 - ldr r6, _080B44CC - mov r8, r12 - adds r4, r6, 0 - ldr r1, _080B44D0 - mov r9, r1 - lsls r0, r5, 2 - adds r0, r5 - lsls r7, r0, 3 -_080B4492: - lsls r0, r2, 2 - mov r1, r8 - adds r3, r0, r1 - ldrb r0, [r4, 0xB] - ldrb r1, [r4, 0x9] - adds r0, r1 - ldr r1, [r4, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r3] - ldrh r0, [r0] - cmp r1, r0 - bne _080B44DC - ldrh r0, [r3, 0x2] - cmp r0, 0 - beq _080B44DC - adds r2, r0, 0 - mov r4, r9 - adds r1, r7, r4 - movs r4, 0xA - ldrsh r0, [r1, r4] - adds r0, r2, r0 - cmp r0, 0xFF - ble _080B44D4 - movs r0, 0xFF - strh r0, [r3, 0x2] - b _080B451E - .align 2, 0 -_080B44C8: .4byte gUnknown_02038724 -_080B44CC: .4byte gUnknown_03000708 -_080B44D0: .4byte gTasks -_080B44D4: - ldrh r0, [r1, 0xA] - adds r0, r2, r0 - strh r0, [r3, 0x2] - b _080B451E -_080B44DC: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x2 - bls _080B4492 - ldr r3, _080B452C - ldrb r0, [r3] - cmp r0, 0x2 - bhi _080B451E - adds r2, r0, 0 - lsls r2, 2 - add r2, r12 - ldrb r0, [r6, 0xB] - ldrb r1, [r6, 0x9] - adds r0, r1 - ldr r1, [r6, 0x4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - ldrb r1, [r3] - lsls r1, 2 - add r1, r12 - ldr r2, _080B4530 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0xA] - strh r0, [r1, 0x2] - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] -_080B451E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B452C: .4byte gUnknown_02038730 -_080B4530: .4byte gTasks - thumb_func_end sub_80B4470 - - thumb_func_start ClearItemPurchases -ClearItemPurchases: @ 80B4534 - push {lr} - ldr r0, _080B4548 - movs r1, 0 - strb r1, [r0] - ldr r0, _080B454C - movs r1, 0x3 - bl sub_80A9684 - pop {r0} - bx r0 - .align 2, 0 -_080B4548: .4byte gUnknown_02038730 -_080B454C: .4byte gUnknown_02038724 - thumb_func_end ClearItemPurchases - - thumb_func_start CreatePokemartMenu -CreatePokemartMenu: @ 80B4550 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - bl CreateShopMenu - adds r0, r4, 0 - bl SetShopItemsForSale - bl ClearItemPurchases - ldr r0, _080B4570 - bl SetShopMenuCallback - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B4570: .4byte EnableBothScriptContexts - thumb_func_end CreatePokemartMenu - - thumb_func_start CreateDecorationShop1Menu -CreateDecorationShop1Menu: @ 80B4574 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - bl CreateShopMenu - adds r0, r4, 0 - bl SetShopItemsForSale - ldr r0, _080B4590 - bl SetShopMenuCallback - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B4590: .4byte EnableBothScriptContexts - thumb_func_end CreateDecorationShop1Menu - - thumb_func_start CreateDecorationShop2Menu -CreateDecorationShop2Menu: @ 80B4594 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2 - bl CreateShopMenu - adds r0, r4, 0 - bl SetShopItemsForSale - ldr r0, _080B45B0 - bl SetShopMenuCallback - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B45B0: .4byte EnableBothScriptContexts - thumb_func_end CreateDecorationShop2Menu - - thumb_func_start sub_80B45B4 -sub_80B45B4: @ 80B45B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - mov r10, r2 - ldr r2, _080B4648 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r1, 0x10] - subs r0, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r1, 0x12] - subs r0, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r4, [r1, 0xA] - movs r2, 0xC - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080B4678 - movs r2, 0 - lsls r5, 16 - str r5, [sp, 0xC] - lsls r0, r3, 16 - lsls r1, r4, 16 - asrs r0, 16 - str r0, [sp] - asrs r1, 16 - str r1, [sp, 0x4] - lsls r0, r1, 1 - mov r1, r9 - adds r7, r0, r1 -_080B4608: - movs r4, 0 - lsls r2, 16 - mov r8, r2 - asrs r0, r2, 16 - ldr r2, [sp] - adds r6, r2, r0 -_080B4614: - ldr r0, [sp, 0xC] - asrs r1, r0, 16 - lsls r4, 16 - asrs r0, r4, 16 - adds r5, r1, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - movs r2, 0 - ldrsh r1, [r7, r2] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bne _080B465C - ldr r0, [sp, 0x4] - cmp r0, 0x2 - beq _080B464C - ldrh r0, [r7, 0x2] - mov r2, r10 - orrs r2, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt - b _080B465C - .align 2, 0 -_080B4648: .4byte gTasks -_080B464C: - mov r1, r9 - ldrh r0, [r1] - mov r2, r10 - orrs r2, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt -_080B465C: - movs r2, 0x80 - lsls r2, 9 - adds r0, r4, r2 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080B4614 - adds r0, r2, 0 - add r0, r8 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080B4608 - b _080B4700 -_080B4678: - movs r2, 0 - lsls r5, 16 - str r5, [sp, 0xC] - lsls r0, r3, 16 - lsls r1, r4, 16 - asrs r0, 16 - str r0, [sp, 0x8] - asrs r7, r1, 16 -_080B4688: - movs r4, 0 - lsls r2, 16 - mov r8, r2 - asrs r0, r2, 16 - ldr r1, [sp, 0x8] - adds r6, r1, r0 -_080B4694: - ldr r2, [sp, 0xC] - asrs r1, r2, 16 - lsls r4, 16 - asrs r0, r4, 16 - adds r5, r1, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x2 - subs r1, r7 - lsls r1, 1 - add r1, r9 - movs r2, 0 - ldrsh r1, [r1, r2] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bne _080B46E6 - cmp r7, 0x2 - beq _080B46D6 - movs r0, 0x1 - subs r0, r7 - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - mov r2, r10 - orrs r2, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt - b _080B46E6 -_080B46D6: - mov r1, r9 - ldrh r0, [r1, 0x4] - mov r2, r10 - orrs r2, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt -_080B46E6: - movs r2, 0x80 - lsls r2, 9 - adds r0, r4, r2 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080B4694 - adds r0, r2, 0 - add r0, r8 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080B4688 -_080B4700: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B45B4 - - thumb_func_start sub_80B4710 -sub_80B4710: @ 80B4710 - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - ldr r1, _080B4738 - adds r4, r0, r1 - movs r0, 0x1 - strh r0, [r4, 0x6] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bhi _080B47AA - lsls r0, 2 - ldr r1, _080B473C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B4738: .4byte gUnknown_03004B28 -_080B473C: .4byte _080B4740 - .align 2, 0 -_080B4740: - .4byte _080B475C - .4byte _080B4764 - .4byte _080B476C - .4byte _080B4774 - .4byte _080B477C - .4byte _080B4790 - .4byte _080B47A0 -_080B475C: - ldr r1, _080B4760 - b _080B4792 - .align 2, 0 -_080B4760: .4byte gUnknown_083CC714 -_080B4764: - ldr r1, _080B4768 - b _080B4792 - .align 2, 0 -_080B4768: .4byte gUnknown_083CC71A -_080B476C: - ldr r1, _080B4770 - b _080B477E - .align 2, 0 -_080B4770: .4byte gUnknown_083CC720 -_080B4774: - ldr r1, _080B4778 - b _080B4792 - .align 2, 0 -_080B4778: .4byte gUnknown_083CC726 -_080B477C: - ldr r1, _080B478C -_080B477E: - movs r2, 0xC0 - lsls r2, 4 - adds r0, r3, 0 - bl sub_80B45B4 - b _080B47AA - .align 2, 0 -_080B478C: .4byte gUnknown_083CC72C -_080B4790: - ldr r1, _080B479C -_080B4792: - adds r0, r3, 0 - movs r2, 0 - bl sub_80B45B4 - b _080B47AA - .align 2, 0 -_080B479C: .4byte gUnknown_083CC732 -_080B47A0: - ldr r1, _080B47D4 - adds r0, r3, 0 - movs r2, 0 - bl sub_80B45B4 -_080B47AA: - ldrh r0, [r4] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - strh r0, [r4] - adds r5, r0, 0 - cmp r5, 0 - bne _080B47CE - bl DrawWholeMapView - movs r1, 0x2 - ldrsh r0, [r4, r1] - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - strh r0, [r4, 0x2] - strh r5, [r4, 0x6] -_080B47CE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B47D4: .4byte gUnknown_083CC738 - thumb_func_end sub_80B4710 - - thumb_func_start sub_80B47D8 -sub_80B47D8: @ 80B47D8 - push {r4-r7,lr} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r6, _080B481C - adds r0, r6, 0 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080B4820 - adds r7, r0, r1 - adds r0, r7, 0 - adds r0, 0x8 - adds r1, r7, 0 - adds r1, 0xA - bl PlayerGetDestCoords - movs r0, 0 - strh r0, [r7] - strh r0, [r7, 0x2] - strh r5, [r7, 0x4] - adds r0, r4, 0 - bl _call_via_r6 - adds r0, r4, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080B481C: .4byte sub_80B4710 -_080B4820: .4byte gUnknown_03004B28 - thumb_func_end sub_80B47D8 - - thumb_func_start sub_80B4824 -sub_80B4824: @ 80B4824 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80B47D8 - ldr r1, _080B4838 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080B4838: .4byte gUnknown_02038731 - thumb_func_end sub_80B4824 - - thumb_func_start sub_80B483C -sub_80B483C: @ 80B483C - push {lr} - ldr r0, _080B484C - ldrb r0, [r0] - bl DestroyTask - pop {r0} - bx r0 - .align 2, 0 -_080B484C: .4byte gUnknown_02038731 - thumb_func_end sub_80B483C - - thumb_func_start sub_80B4850 -sub_80B4850: @ 80B4850 - push {lr} - ldr r2, _080B4874 - ldr r0, _080B4878 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080B487C - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0x2 - bne _080B487C - movs r0, 0 - b _080B487E - .align 2, 0 -_080B4874: .4byte gTasks -_080B4878: .4byte gUnknown_02038731 -_080B487C: - movs r0, 0x1 -_080B487E: - pop {r1} - bx r1 - thumb_func_end sub_80B4850 - .align 2, 0 @ Don't pad with nop. |