From db05ce306fa55c9d64b7123e47cf2b66416afe40 Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Wed, 1 Sep 2021 18:05:30 -0700 Subject: More PMD grind (#50) * more sese grind * match sub_802ABF8 * some more work --- asm/code_8027C84.s | 391 ----- asm/code_802B640.s | 3387 --------------------------------------- asm/code_80428A0.s | 2 +- asm/code_8057824.s | 4 +- asm/code_807001C.s | 20 +- asm/friend_area_action_menu.s | 28 +- asm/friend_area_action_menu_1.s | 391 +++++ asm/gulpin_shop.s | 121 -- asm/rescue_password_menu.s | 244 +-- asm/wonder_mail.s | 307 ---- asm/wonder_mail_1.s | 806 ---------- asm/wonder_mail_2.s | 3103 +++++++++++++++++++++++++++++++++++ asm/wonder_mail_3.s | 24 - 13 files changed, 3525 insertions(+), 5303 deletions(-) delete mode 100644 asm/code_8027C84.s delete mode 100644 asm/code_802B640.s create mode 100644 asm/friend_area_action_menu_1.s delete mode 100644 asm/wonder_mail_1.s create mode 100644 asm/wonder_mail_2.s (limited to 'asm') diff --git a/asm/code_8027C84.s b/asm/code_8027C84.s deleted file mode 100644 index c9fdacd..0000000 --- a/asm/code_8027C84.s +++ /dev/null @@ -1,391 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8027CA0 -sub_8027CA0: - push {lr} - movs r0, 0x1 - bl sub_801EF38 - cmp r0, 0x4 - bhi _08027CFA - lsls r0, 2 - ldr r1, _08027CB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08027CB8: .4byte _08027CBC - .align 2, 0 -_08027CBC: - .4byte _08027CFA - .4byte _08027CFA - .4byte _08027CF0 - .4byte _08027CD0 - .4byte _08027CD0 -_08027CD0: - bl sub_801F194 - ldr r1, _08027CEC - ldr r1, [r1] - str r0, [r1, 0x20] - lsls r0, 3 - adds r0, r1, r0 - ldrh r0, [r0, 0x2A] - strh r0, [r1, 0x24] - movs r0, 0x10 - bl sub_8027184 - b _08027CFA - .align 2, 0 -_08027CEC: .4byte gUnknown_203B2BC -_08027CF0: - bl sub_801F214 - movs r0, 0x2 - bl sub_8027184 -_08027CFA: - pop {r0} - bx r0 - thumb_func_end sub_8027CA0 - - thumb_func_start sub_8027D00 -sub_8027D00: - push {lr} - bl sub_801F890 - cmp r0, 0x1 - bls _08027D18 - cmp r0, 0x3 - bhi _08027D18 - bl sub_801F8D0 - movs r0, 0xF - bl sub_8027184 -_08027D18: - pop {r0} - bx r0 - thumb_func_end sub_8027D00 - - thumb_func_start sub_8027D1C -sub_8027D1C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08027D34 - ldr r0, _08027D3C - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_8027184 -_08027D34: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08027D3C: .4byte gUnknown_203B2BC - thumb_func_end sub_8027D1C - - thumb_func_start sub_8027D40 -sub_8027D40: - push {r4-r6,lr} - sub sp, 0x14 - adds r6, r0, 0 - adds r5, r1, 0 - bl sub_8008C54 - adds r0, r6, 0 - bl sub_80073B8 - add r4, sp, 0x10 - adds r0, r4, 0 - adds r1, r5, 0 - bl HeldItemToSlot - movs r5, 0 - str r5, [sp, 0x4] - add r0, sp, 0x4 - strb r5, [r0, 0x4] - adds r1, r0, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - strb r0, [r4] - ldr r0, _08027D94 - adds r1, r4, 0 - add r2, sp, 0x4 - bl sub_8090E14 - ldr r2, _08027D98 - str r5, [sp] - movs r0, 0x4 - movs r1, 0x3 - adds r3, r6, 0 - bl xxx_format_and_draw - adds r0, r6, 0 - bl sub_80073E0 - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08027D94: .4byte gUnknown_202DE58 -_08027D98: .4byte gUnknown_80DD958 - thumb_func_end sub_8027D40 - - thumb_func_start sub_8027D9C -sub_8027D9C: - push {lr} - adds r1, r0, 0 - ldrb r0, [r1, 0x2] - cmp r0, 0 - bne _08027DC0 - movs r2, 0 - ldrb r0, [r1, 0x4] - cmp r0, 0x41 - bne _08027DB0 - movs r2, 0x1 -_08027DB0: - cmp r2, 0 - beq _08027DC4 - movs r0, 0x8 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - bne _08027DC4 -_08027DC0: - movs r0, 0 - b _08027DC6 -_08027DC4: - movs r0, 0x1 -_08027DC6: - pop {r1} - bx r1 - thumb_func_end sub_8027D9C - - thumb_func_start sub_8027DCC -sub_8027DCC: - push {r4,lr} - adds r4, r0, 0 - bl sub_808D3BC - cmp r0, r4 - beq _08027E0E - bl sub_808D3F8 - cmp r0, r4 - beq _08027E0E - ldrb r0, [r4, 0x2] - cmp r0, 0 - bne _08027E0E - movs r1, 0 - ldrb r0, [r4, 0x4] - cmp r0, 0x41 - bne _08027DF0 - movs r1, 0x1 -_08027DF0: - cmp r1, 0 - beq _08027E00 - movs r0, 0x8 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _08027E0E -_08027E00: - adds r0, r4, 0 - bl sub_8027E18 - cmp r0, 0x3 - beq _08027E0E - movs r0, 0x1 - b _08027E10 -_08027E0E: - movs r0, 0 -_08027E10: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8027DCC - - thumb_func_start sub_8027E18 -sub_8027E18: - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x28 - ldrb r0, [r0] - cmp r0, 0 - bne _08027E28 - movs r0, 0 - b _08027E46 -_08027E28: - bl GetNumberOfFilledInventorySlots - cmp r0, 0x13 - bgt _08027E34 - movs r0, 0x1 - b _08027E46 -_08027E34: - adds r0, r4, 0 - bl sub_8027E4C - lsls r0, 24 - cmp r0, 0 - bne _08027E44 - movs r0, 0x3 - b _08027E46 -_08027E44: - movs r0, 0x2 -_08027E46: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8027E18 - - thumb_func_start sub_8027E4C -sub_8027E4C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x28 - ldrb r0, [r4] - bl IsNotMoneyOrUsedTMItem - lsls r0, 24 - cmp r0, 0 - beq _08027E88 - ldrb r0, [r4] - bl IsThrowableItem - lsls r0, 24 - cmp r0, 0 - beq _08027E94 - ldr r0, _08027E8C - ldr r1, [r0] - ldrb r0, [r4] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r1, [r1] - adds r0, r5, 0 - adds r0, 0x29 - ldrb r0, [r0] - adds r1, r0 - ldr r0, _08027E90 - cmp r1, r0 - ble _08027EA8 -_08027E88: - movs r0, 0 - b _08027EAA - .align 2, 0 -_08027E8C: .4byte gTeamInventory_203B460 -_08027E90: .4byte 0x000003e7 -_08027E94: - ldr r0, _08027EB0 - ldr r1, [r0] - ldrb r0, [r4] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r1, [r1] - ldr r0, _08027EB4 - cmp r1, r0 - bhi _08027E88 -_08027EA8: - movs r0, 0x1 -_08027EAA: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08027EB0: .4byte gTeamInventory_203B460 -_08027EB4: .4byte 0x000003e6 - thumb_func_end sub_8027E4C - - thumb_func_start sub_8027EB8 -sub_8027EB8: - push {r4,lr} - ldr r4, _08027ED4 - ldr r0, [r4] - ldr r0, [r0, 0x18] - bl sub_8027E18 - cmp r0, 0x1 - beq _08027ED8 - cmp r0, 0x1 - bcc _08027F7C - cmp r0, 0x2 - beq _08027F0C - b _08027F7C - .align 2, 0 -_08027ED4: .4byte gUnknown_203B2BC -_08027ED8: - ldr r0, _08027F08 - bl PlaySound - ldr r0, [r4] - adds r0, 0x14 - bl sub_8091274 - bl FillInventoryGaps - ldr r0, [r4] - movs r1, 0 - strb r1, [r0, 0x14] - ldr r0, [r4] - strb r1, [r0, 0x15] - ldr r1, [r4] - movs r2, 0x8 - ldrsh r0, [r1, r2] - adds r1, 0x14 - bl GivePokemonItem - movs r0, 0x6 - bl sub_8027184 - b _08027F82 - .align 2, 0 -_08027F08: .4byte 0x0000014d -_08027F0C: - ldr r0, _08027F38 - bl PlaySound - ldr r0, [r4] - ldrb r0, [r0, 0x14] - bl IsThrowableItem - lsls r0, 24 - cmp r0, 0 - beq _08027F40 - ldr r0, _08027F3C - ldr r1, [r0] - ldr r2, [r4] - ldrb r0, [r2, 0x14] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r0, [r1] - ldrb r2, [r2, 0x15] - adds r0, r2 - b _08027F52 - .align 2, 0 -_08027F38: .4byte 0x0000014d -_08027F3C: .4byte gTeamInventory_203B460 -_08027F40: - ldr r0, _08027F74 - ldr r1, [r0] - ldr r0, [r4] - ldrb r0, [r0, 0x14] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 -_08027F52: - strh r0, [r1] - ldr r1, _08027F78 - ldr r0, [r1] - movs r2, 0 - strb r2, [r0, 0x14] - ldr r0, [r1] - strb r2, [r0, 0x15] - ldr r1, [r1] - movs r2, 0x8 - ldrsh r0, [r1, r2] - adds r1, 0x14 - bl GivePokemonItem - movs r0, 0x7 - bl sub_8027184 - b _08027F82 - .align 2, 0 -_08027F74: .4byte gTeamInventory_203B460 -_08027F78: .4byte gUnknown_203B2BC -_08027F7C: - movs r0, 0x2 - bl sub_8027184 -_08027F82: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8027EB8 - - - .align 2,0 diff --git a/asm/code_802B640.s b/asm/code_802B640.s deleted file mode 100644 index 68c3ef2..0000000 --- a/asm/code_802B640.s +++ /dev/null @@ -1,3387 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_802B640 -sub_802B640: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - bl sub_802B9D8 - lsls r0, 24 - cmp r0, 0 - beq _0802B65A - movs r0, 0 - b _0802B706 -_0802B65A: - ldr r5, _0802B710 - ldr r0, [r5] - cmp r0, 0 - bne _0802B66C - movs r0, 0xD4 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] -_0802B66C: - ldr r0, [r5] - str r6, [r0, 0x6C] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x74 - adds r1, r0, r1 - str r1, [r0, 0x70] - adds r0, 0x74 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x6C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x74 - ldr r0, _0802B714 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - cmp r4, 0 - beq _0802B6B0 - ldr r1, [r5] - ldr r2, [r1, 0x6C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, 0x7C - adds r1, r0 - ldr r0, [r4] - str r0, [r1] -_0802B6B0: - ldr r0, [r5] - ldr r0, [r0, 0x70] - mov r1, r8 - bl sub_8012D08 - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x74 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x38 - bl sub_802B9A8 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_8013818 - ldr r2, [r5] - ldr r0, _0802B718 - ldrh r1, [r0] - adds r0, r2, 0 - adds r0, 0x50 - strh r1, [r0] - ldr r0, _0802B71C - ldrh r0, [r0] - adds r1, r2, 0 - adds r1, 0x56 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x38 - bl sub_8013984 - bl sub_802B880 - bl sub_802B8D4 - movs r0, 0x1 -_0802B706: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802B710: .4byte gUnknown_203B2CC -_0802B714: .4byte gUnknown_80DFBEC -_0802B718: .4byte gUnknown_203B2D0 -_0802B71C: .4byte gUnknown_203B2D2 - thumb_func_end sub_802B640 - - thumb_func_start sub_802B720 -sub_802B720: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0802B73C - ldr r0, _0802B738 - ldr r0, [r0] - adds r0, 0x38 - bl sub_8013660 - movs r0, 0 - b _0802B7A2 - .align 2, 0 -_0802B738: .4byte gUnknown_203B2CC -_0802B73C: - ldr r0, _0802B754 - ldr r0, [r0] - adds r0, 0x38 - bl GetKeyPress - cmp r0, 0x2 - beq _0802B75E - cmp r0, 0x2 - bgt _0802B758 - cmp r0, 0x1 - beq _0802B768 - b _0802B77C - .align 2, 0 -_0802B754: .4byte gUnknown_203B2CC -_0802B758: - cmp r0, 0x4 - beq _0802B772 - b _0802B77C -_0802B75E: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0802B7A2 -_0802B768: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0802B7A2 -_0802B772: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _0802B7A2 -_0802B77C: - ldr r0, _0802B794 - ldr r0, [r0] - adds r0, 0x38 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802B798 - movs r0, 0 - b _0802B7A2 - .align 2, 0 -_0802B794: .4byte gUnknown_203B2CC -_0802B798: - bl sub_802B880 - bl sub_802B8D4 - movs r0, 0x1 -_0802B7A2: - pop {r1} - bx r1 - thumb_func_end sub_802B720 - - thumb_func_start sub_802B7A8 -sub_802B7A8: - ldr r0, _0802B7CC - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x56 - movs r3, 0 - ldrsh r1, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r1 - adds r1, r2, 0 - adds r1, 0x50 - movs r3, 0 - ldrsh r1, [r1, r3] - adds r0, r1 - adds r0, r2, r0 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0802B7CC: .4byte gUnknown_203B2CC - thumb_func_end sub_802B7A8 - - thumb_func_start sub_802B7D0 -sub_802B7D0: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0802B818 - ldr r0, [r5] - adds r0, 0x74 - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_802B9A8 - adds r1, r0, 0 - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x5A - strh r1, [r2] - adds r0, 0x38 - bl sub_8013984 - bl sub_802B880 - bl sub_802B8D4 - cmp r4, 0 - beq _0802B812 - ldr r0, [r5] - adds r0, 0x38 - bl AddMenuCursorSprite -_0802B812: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802B818: .4byte gUnknown_203B2CC - thumb_func_end sub_802B7D0 - - thumb_func_start sub_802B81C -sub_802B81C: - push {r4,r5,lr} - ldr r4, _0802B870 - ldr r2, [r4] - cmp r2, 0 - beq _0802B86A - ldr r1, _0802B874 - adds r0, r2, 0 - adds r0, 0x50 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _0802B878 - adds r0, r2, 0 - adds r0, 0x56 - ldrh r0, [r0] - strh r0, [r1] - ldr r0, [r2, 0x6C] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x74 - ldr r0, _0802B87C - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x74 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802B86A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802B870: .4byte gUnknown_203B2CC -_0802B874: .4byte gUnknown_203B2D0 -_0802B878: .4byte gUnknown_203B2D2 -_0802B87C: .4byte gUnknown_80DFBD0 - thumb_func_end sub_802B81C - - thumb_func_start sub_802B880 -sub_802B880: - push {r4,lr} - ldr r4, _0802B8D0 - ldr r0, [r4] - adds r0, 0x52 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x6C] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x82 - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x6C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x84 - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x74 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802B8D0: .4byte gUnknown_203B2CC - thumb_func_end sub_802B880 - - thumb_func_start sub_802B8D4 -sub_802B8D4: - push {r4-r7,lr} - sub sp, 0x8 - ldr r4, _0802B99C - ldr r0, [r4] - ldr r0, [r0, 0x6C] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x6C] - bl sub_80073B8 - ldr r2, _0802B9A0 - ldr r0, [r4] - ldr r3, [r0, 0x6C] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r0, _0802B9A4 - ldrb r0, [r0, 0x2] - lsls r0, 3 - adds r0, 0x4 - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0x56 - movs r5, 0 - ldrsh r2, [r1, r5] - adds r2, 0x1 - movs r1, 0x7 - str r1, [sp] - ldr r1, [r3, 0x6C] - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r6, 0 - ldr r0, [r4] - adds r0, 0x52 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r6, r0 - bge _0802B98A - adds r7, r4, 0 -_0802B930: - ldr r0, [r7] - adds r0, 0x38 - adds r1, r6, 0 - bl sub_8013800 - adds r5, r0, 0 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x56 - movs r3, 0 - ldrsh r2, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r2 - adds r0, r6 - adds r0, r1, r0 - ldrb r4, [r0] - ldr r3, [r1, 0x6C] - movs r0, 0xA - adds r1, r5, 0 - movs r2, 0x6 - bl sub_803B6B0 - bl sub_802BC7C - adds r0, r4, 0 - bl GetPokemonMailHeadline - adds r2, r0, 0 - ldr r0, [r7] - ldr r3, [r0, 0x6C] - movs r0, 0 - str r0, [sp] - movs r0, 0x15 - adds r1, r5, 0 - bl xxx_format_and_draw - adds r6, 0x1 - ldr r0, [r7] - adds r0, 0x52 - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r6, r0 - blt _0802B930 -_0802B98A: - ldr r0, _0802B99C - ldr r0, [r0] - ldr r0, [r0, 0x6C] - bl sub_80073E0 - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B99C: .4byte gUnknown_203B2CC -_0802B9A0: .4byte gUnknown_80DFC04 -_0802B9A4: .4byte gUnknown_80DFBE8 - thumb_func_end sub_802B8D4 - - thumb_func_start sub_802B9A8 -sub_802B9A8: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0802B9AE: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096E14 - lsls r0, 24 - cmp r0, 0 - beq _0802B9C6 - ldr r0, _0802B9D4 - ldr r0, [r0] - adds r0, r5 - strb r4, [r0] - adds r5, 0x1 -_0802B9C6: - adds r4, 0x1 - cmp r4, 0x37 - ble _0802B9AE - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0802B9D4: .4byte gUnknown_203B2CC - thumb_func_end sub_802B9A8 - - thumb_func_start sub_802B9D8 -sub_802B9D8: - push {r4,lr} - movs r4, 0 -_0802B9DC: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096E14 - lsls r0, 24 - cmp r0, 0 - beq _0802B9EE - movs r0, 0 - b _0802B9F6 -_0802B9EE: - adds r4, 0x1 - cmp r4, 0x37 - ble _0802B9DC - movs r0, 0x1 -_0802B9F6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B9D8 - - thumb_func_start sub_802B9FC -sub_802B9FC: - push {r4-r7,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _0802BA80 - movs r0, 0x94 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r6, 0 - strb r4, [r0, 0x4] - ldr r0, [r5] - adds r0, 0x88 - bl sub_801317C - ldr r1, [r5] - str r6, [r1, 0x24] - adds r1, 0x28 - ldr r0, _0802BA84 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r1, [r5] - ldr r2, _0802BA88 - adds r1, 0x40 - adds r0, r2, 0 - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldr r1, [r5] - adds r1, 0x58 - adds r0, r2, 0 - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldr r0, [r5] - adds r0, 0x70 - ldm r2!, {r1,r4,r7} - stm r0!, {r1,r4,r7} - ldm r2!, {r3,r4,r7} - stm r0!, {r3,r4,r7} - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x28 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r5] - str r6, [r0, 0x8] - bl sub_802BCC4 - bl sub_802BC7C - movs r0, 0 - bl sub_802BB14 - movs r0, 0x1 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802BA80: .4byte gUnknown_203B2D4 -_0802BA84: .4byte gUnknown_80DFC34 -_0802BA88: .4byte gUnknown_80DFC18 - thumb_func_end sub_802B9FC - - thumb_func_start sub_802BA8C -sub_802BA8C: - push {lr} - ldr r0, _0802BAA4 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x1 - beq _0802BAB8 - cmp r0, 0x1 - bgt _0802BAA8 - cmp r0, 0 - beq _0802BAB2 - b _0802BAC2 - .align 2, 0 -_0802BAA4: .4byte gUnknown_203B2D4 -_0802BAA8: - cmp r0, 0x2 - beq _0802BAC2 - cmp r0, 0x3 - beq _0802BABE - b _0802BAC2 -_0802BAB2: - bl sub_802BB98 - b _0802BAC6 -_0802BAB8: - bl sub_802BC08 - b _0802BAC6 -_0802BABE: - movs r0, 0x3 - b _0802BAC8 -_0802BAC2: - movs r0, 0x2 - b _0802BAC8 -_0802BAC6: - movs r0, 0 -_0802BAC8: - pop {r1} - bx r1 - thumb_func_end sub_802BA8C - - thumb_func_start sub_802BACC -sub_802BACC: - push {r4,r5,lr} - ldr r4, _0802BB0C - ldr r2, [r4] - cmp r2, 0 - beq _0802BB06 - ldr r0, [r2, 0x24] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x28 - ldr r0, _0802BB10 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x28 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802BB06: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BB0C: .4byte gUnknown_203B2D4 -_0802BB10: .4byte gUnknown_80DFC18 - thumb_func_end sub_802BACC - - thumb_func_start sub_802BB14 -sub_802BB14: - push {lr} - ldr r1, _0802BB24 - ldr r1, [r1] - str r0, [r1] - bl sub_802BB28 - pop {r0} - bx r0 - .align 2, 0 -_0802BB24: .4byte gUnknown_203B2D4 - thumb_func_end sub_802BB14 - - thumb_func_start sub_802BB28 -sub_802BB28: - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _0802BB94 - ldr r1, [r5] - ldr r0, [r1] - cmp r0, 0 - blt _0802BB8C - cmp r0, 0x1 - bgt _0802BB8C - ldr r0, [r1, 0x24] - bl sub_8008C54 - ldr r0, [r5] - ldr r0, [r0, 0x24] - bl sub_80073B8 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - bl GetPokemonMailHeadline - adds r2, r0, 0 - ldr r0, [r5] - ldr r3, [r0, 0x24] - movs r4, 0 - str r4, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_format_and_draw - ldr r3, [r5] - ldr r1, [r3, 0x8] - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x10 - adds r0, r1 - ldr r2, [r0] - ldr r3, [r3, 0x24] - str r4, [sp] - movs r0, 0x6 - movs r1, 0x14 - bl xxx_format_and_draw - ldr r0, [r5] - ldr r0, [r0, 0x24] - bl sub_80073E0 - ldr r1, [r5] - ldr r0, [r1, 0x8] - adds r0, 0x1 - str r0, [r1, 0x8] -_0802BB8C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BB94: .4byte gUnknown_203B2D4 - thumb_func_end sub_802BB28 - - thumb_func_start sub_802BB98 -sub_802BB98: - push {r4,lr} - ldr r0, _0802BBD4 - ldr r2, [r0] - ldr r1, [r2, 0xC] - adds r4, r0, 0 - cmp r1, 0 - beq _0802BBBC - ldr r0, [r2, 0x20] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802BBB4 - bl sub_8013E54 -_0802BBB4: - ldr r1, [r4] - ldr r0, [r1, 0x20] - adds r0, 0x1 - str r0, [r1, 0x20] -_0802BBBC: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x88 - ldr r1, [r1, 0x24] - bl sub_8012A64 - cmp r0, 0x1 - beq _0802BBD8 - cmp r0, 0x2 - beq _0802BBF6 - b _0802BC02 - .align 2, 0 -_0802BBD4: .4byte gUnknown_203B2D4 -_0802BBD8: - movs r0, 0 - bl PlayMenuSoundEffect - ldr r0, [r4] - ldr r0, [r0, 0xC] - cmp r0, 0 - beq _0802BBEE - movs r0, 0x1 - bl sub_802BB14 - b _0802BC02 -_0802BBEE: - movs r0, 0x3 - bl sub_802BB14 - b _0802BC02 -_0802BBF6: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - bl sub_802BB14 -_0802BC02: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802BB98 - - thumb_func_start sub_802BC08 -sub_802BC08: - push {r4,lr} - ldr r0, _0802BC44 - ldr r3, [r0] - ldr r2, [r3, 0x8] - ldr r1, [r3, 0xC] - adds r4, r0, 0 - cmp r2, r1 - bge _0802BC2E - ldr r0, [r3, 0x20] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802BC26 - bl sub_8013E54 -_0802BC26: - ldr r1, [r4] - ldr r0, [r1, 0x20] - adds r0, 0x1 - str r0, [r1, 0x20] -_0802BC2E: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x88 - ldr r1, [r1, 0x24] - bl sub_8012A64 - cmp r0, 0x1 - beq _0802BC48 - cmp r0, 0x2 - beq _0802BC68 - b _0802BC74 - .align 2, 0 -_0802BC44: .4byte gUnknown_203B2D4 -_0802BC48: - movs r0, 0 - bl PlayMenuSoundEffect - ldr r0, [r4] - ldr r1, [r0, 0x8] - ldr r0, [r0, 0xC] - cmp r1, r0 - bge _0802BC60 - movs r0, 0x1 - bl sub_802BB14 - b _0802BC74 -_0802BC60: - movs r0, 0x3 - bl sub_802BB14 - b _0802BC74 -_0802BC68: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - bl sub_802BB14 -_0802BC74: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802BC08 - - thumb_func_start sub_802BC7C -sub_802BC7C: - push {r4,lr} - ldr r4, _0802BCA4 - bl sub_808D3BC - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_808DA34 - ldr r0, _0802BCA8 - ldr r0, [r0] - ldrb r0, [r0, 0xB] - cmp r0, 0x1 - bne _0802BCB0 - adds r0, r4, 0 - adds r0, 0x50 - ldr r1, _0802BCAC - bl strcpy - b _0802BCBA - .align 2, 0 -_0802BCA4: .4byte gAvailablePokemonNames -_0802BCA8: .4byte gUnknown_203B46C -_0802BCAC: .4byte gUnknown_80DFC4C -_0802BCB0: - adds r0, r4, 0 - adds r0, 0x50 - ldr r1, _0802BCC0 - bl strcpy -_0802BCBA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802BCC0: .4byte gUnknown_80DFC50 - thumb_func_end sub_802BC7C - - thumb_func_start sub_802BCC4 -sub_802BCC4: - push {r4,lr} - ldr r4, _0802BCDC - ldr r0, [r4] - ldrb r0, [r0, 0x4] - bl GetPokemonMailText - adds r3, r0, 0 - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0xC] - str r3, [r1, 0x10] - b _0802BD08 - .align 2, 0 -_0802BCDC: .4byte gUnknown_203B2D4 -_0802BCE0: - cmp r0, 0x23 - bne _0802BD06 - ldrb r2, [r3, 0x1] - cmp r2, 0x50 - beq _0802BCF0 - adds r1, r3, 0x2 - cmp r2, 0x70 - bne _0802BD02 -_0802BCF0: - ldr r0, [r4] - ldr r1, [r0, 0xC] - adds r1, 0x1 - str r1, [r0, 0xC] - lsls r1, 2 - adds r0, 0x10 - adds r0, r1 - adds r1, r3, 0x2 - str r1, [r0] -_0802BD02: - adds r3, r1, 0 - b _0802BD08 -_0802BD06: - adds r3, 0x1 -_0802BD08: - ldrb r0, [r3] - cmp r0, 0 - bne _0802BCE0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802BCC4 - - thumb_func_start sub_802BD14 -sub_802BD14: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - bl sub_802C0E8 - lsls r0, 24 - cmp r0, 0 - beq _0802BD2E - movs r0, 0 - b _0802BDD4 -_0802BD2E: - ldr r5, _0802BDE0 - ldr r0, [r5] - cmp r0, 0 - bne _0802BD40 - movs r0, 0xA4 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] -_0802BD40: - ldr r0, [r5] - str r6, [r0, 0x38] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x40 - adds r1, r0, r1 - str r1, [r0, 0x3C] - adds r0, 0x40 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x38] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x40 - ldr r0, _0802BDE4 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r2, [r5] - ldr r1, [r2, 0x3C] - adds r0, r2, 0 - adds r0, 0xA0 - str r0, [r1, 0x14] - cmp r4, 0 - beq _0802BD8E - ldr r1, [r2, 0x38] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x48 - adds r1, r0 - ldr r0, [r4] - str r0, [r1] -_0802BD8E: - ldr r0, [r5] - ldr r0, [r0, 0x3C] - mov r1, r8 - bl sub_8012D34 - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x40 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x4 - bl sub_802C0B8 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_8013848 - ldr r0, [r5] - ldr r1, _0802BDE8 - ldrh r1, [r1] - strh r1, [r0, 0x1C] - adds r0, 0x4 - bl sub_8013984 - bl sub_802BF30 - bl CreateMailMenu - movs r0, 0x1 -_0802BDD4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802BDE0: .4byte gUnknown_203B2D8 -_0802BDE4: .4byte gUnknown_80DFC74 -_0802BDE8: .4byte gUnknown_203B2DC - thumb_func_end sub_802BD14 - - thumb_func_start sub_802BDEC -sub_802BDEC: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0802BE08 - ldr r0, _0802BE04 - ldr r0, [r0] - adds r0, 0x4 - bl sub_8013660 - movs r0, 0 - b _0802BE6E - .align 2, 0 -_0802BE04: .4byte gUnknown_203B2D8 -_0802BE08: - ldr r0, _0802BE20 - ldr r0, [r0] - adds r0, 0x4 - bl GetKeyPress - cmp r0, 0x2 - beq _0802BE2A - cmp r0, 0x2 - bgt _0802BE24 - cmp r0, 0x1 - beq _0802BE34 - b _0802BE48 - .align 2, 0 -_0802BE20: .4byte gUnknown_203B2D8 -_0802BE24: - cmp r0, 0x4 - beq _0802BE3E - b _0802BE48 -_0802BE2A: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0802BE6E -_0802BE34: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0802BE6E -_0802BE3E: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _0802BE6E -_0802BE48: - ldr r0, _0802BE60 - ldr r0, [r0] - adds r0, 0x4 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802BE64 - movs r0, 0 - b _0802BE6E - .align 2, 0 -_0802BE60: .4byte gUnknown_203B2D8 -_0802BE64: - bl sub_802BF30 - bl CreateMailMenu - movs r0, 0x1 -_0802BE6E: - pop {r1} - bx r1 - thumb_func_end sub_802BDEC - - thumb_func_start sub_802BE74 -sub_802BE74: - ldr r0, _0802BE90 - ldr r1, [r0] - movs r0, 0x22 - ldrsh r2, [r1, r0] - movs r3, 0x20 - ldrsh r0, [r1, r3] - muls r0, r2 - movs r3, 0x1C - ldrsh r2, [r1, r3] - adds r0, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_0802BE90: .4byte gUnknown_203B2D8 - thumb_func_end sub_802BE74 - - thumb_func_start sub_802BE94 -sub_802BE94: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0802BED8 - ldr r0, [r5] - adds r0, 0x40 - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_802C0B8 - adds r1, r0, 0 - ldr r0, [r5] - strh r1, [r0, 0x26] - adds r0, 0x4 - bl sub_8013984 - bl sub_802BF30 - bl CreateMailMenu - cmp r4, 0 - beq _0802BED2 - ldr r0, [r5] - adds r0, 0x4 - bl AddMenuCursorSprite -_0802BED2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BED8: .4byte gUnknown_203B2D8 - thumb_func_end sub_802BE94 - - thumb_func_start sub_802BEDC -sub_802BEDC: - push {r4,r5,lr} - ldr r4, _0802BF24 - ldr r2, [r4] - cmp r2, 0 - beq _0802BF1C - ldr r1, _0802BF28 - ldrh r0, [r2, 0x1C] - strh r0, [r1] - ldr r0, [r2, 0x38] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x40 - ldr r0, _0802BF2C - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x40 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802BF1C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BF24: .4byte gUnknown_203B2D8 -_0802BF28: .4byte gUnknown_203B2DC -_0802BF2C: .4byte gUnknown_80DFC5C - thumb_func_end sub_802BEDC - - thumb_func_start sub_802BF30 -sub_802BF30: - push {r4,lr} - ldr r4, _0802BF9C - ldr r0, [r4] - adds r0, 0xA0 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA1 - strb r2, [r0] - ldr r0, [r4] - adds r0, 0xA2 - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA3 - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x1E - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl sub_8009614 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x38] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x4E - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x38] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x50 - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x40 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802BF9C: .4byte gUnknown_203B2D8 - thumb_func_end sub_802BF30 - - thumb_func_start CreateMailMenu -CreateMailMenu: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xDC - ldr r4, _0802C060 - ldr r0, [r4] - ldr r0, [r0, 0x38] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x38] - bl sub_80073B8 - ldr r1, [r4] - movs r2, 0x22 - ldrsh r0, [r1, r2] - lsls r0, 3 - adds r0, 0xA - ldr r2, _0802C064 - ldr r3, [r1, 0x38] - movs r1, 0 - str r1, [sp] - bl xxx_call_draw_string - movs r6, 0 - ldr r0, [r4] - movs r3, 0x1E - ldrsh r0, [r0, r3] - cmp r6, r0 - bge _0802C09A - adds r7, r4, 0 - ldr r0, _0802C068 - mov r9, r0 - add r1, sp, 0x5C - mov r8, r1 -_0802BFE8: - ldr r1, [r7] - movs r3, 0x22 - ldrsh r2, [r1, r3] - movs r3, 0x20 - ldrsh r0, [r1, r3] - muls r0, r2 - adds r0, r6 - adds r1, r0 - ldrb r0, [r1] - bl sub_8095FE8 - adds r5, r0, 0 - ldr r0, [r7] - ldr r1, [r0, 0x38] - str r1, [sp, 0x4] - adds r0, 0x4 - adds r1, r6, 0 - bl sub_8013800 - str r0, [sp, 0x4C] - ldrb r0, [r5] - cmp r0, 0x1 - bne _0802C06C - ldr r0, [r7] - adds r0, 0x4 - adds r1, r6, 0 - bl sub_8013800 - adds r4, r0, 0 - ldr r0, [r7] - ldr r3, [r0, 0x38] - movs r0, 0xA - adds r1, r4, 0 - movs r2, 0x6 - bl sub_803B6B0 - bl sub_808D33C - adds r1, r0, 0 - mov r0, r9 - bl sub_808DA34 - ldrb r0, [r5, 0x5] - bl GetPokemonMailHeadline - adds r1, r0, 0 - mov r0, r8 - mov r2, r9 - bl ExpandPlaceholdersBuffer - ldr r0, [r7] - ldr r3, [r0, 0x38] - movs r0, 0 - str r0, [sp] - movs r0, 0x15 - adds r1, r4, 0 - mov r2, r8 - bl xxx_call_draw_string - b _0802C08E - .align 2, 0 -_0802C060: .4byte gUnknown_203B2D8 -_0802C064: .4byte gMailboxText -_0802C068: .4byte gAvailablePokemonNames -_0802C06C: - adds r0, r5, 0 - add r1, sp, 0x4 - bl sub_803B35C - adds r0, r5, 0 - bl sub_80968B0 - lsls r0, 24 - cmp r0, 0 - beq _0802C088 - mov r1, sp - adds r1, 0x47 - movs r0, 0x2 - strb r0, [r1] -_0802C088: - add r0, sp, 0x4 - bl sub_803B6D4 -_0802C08E: - adds r6, 0x1 - ldr r0, [r7] - movs r1, 0x1E - ldrsh r0, [r0, r1] - cmp r6, r0 - blt _0802BFE8 -_0802C09A: - ldr r0, _0802C0B4 - ldr r0, [r0] - ldr r0, [r0, 0x38] - bl sub_80073E0 - add sp, 0xDC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C0B4: .4byte gUnknown_203B2D8 - thumb_func_end CreateMailMenu - - thumb_func_start sub_802C0B8 -sub_802C0B8: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0802C0BE: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096000 - lsls r0, 24 - cmp r0, 0 - bne _0802C0D6 - ldr r0, _0802C0E4 - ldr r0, [r0] - adds r0, r5 - strb r4, [r0] - adds r5, 0x1 -_0802C0D6: - adds r4, 0x1 - cmp r4, 0x3 - ble _0802C0BE - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0802C0E4: .4byte gUnknown_203B2D8 - thumb_func_end sub_802C0B8 - - thumb_func_start sub_802C0E8 -sub_802C0E8: - push {r4,lr} - movs r4, 0 -_0802C0EC: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096000 - lsls r0, 24 - cmp r0, 0 - bne _0802C0FE - movs r0, 0 - b _0802C106 -_0802C0FE: - adds r4, 0x1 - cmp r4, 0x3 - ble _0802C0EC - movs r0, 0x1 -_0802C106: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802C0E8 - - thumb_func_start sub_802C10C -sub_802C10C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - bl sub_802C4A4 - lsls r0, 24 - cmp r0, 0 - beq _0802C126 - movs r0, 0 - b _0802C1CC -_0802C126: - ldr r5, _0802C1D8 - ldr r0, [r5] - cmp r0, 0 - bne _0802C138 - movs r0, 0xA8 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] -_0802C138: - ldr r0, [r5] - str r6, [r0, 0x3C] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x44 - adds r1, r0, r1 - str r1, [r0, 0x40] - adds r0, 0x44 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x3C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x44 - ldr r0, _0802C1DC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r2, [r5] - ldr r1, [r2, 0x40] - adds r0, r2, 0 - adds r0, 0xA4 - str r0, [r1, 0x14] - cmp r4, 0 - beq _0802C186 - ldr r1, [r2, 0x3C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x4C - adds r1, r0 - ldr r0, [r4] - str r0, [r1] -_0802C186: - ldr r0, [r5] - ldr r0, [r0, 0x40] - mov r1, r8 - bl sub_8012D34 - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x8 - bl sub_802C474 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_8013848 - ldr r0, [r5] - ldr r1, _0802C1E0 - ldrh r1, [r1] - strh r1, [r0, 0x20] - adds r0, 0x8 - bl sub_8013984 - bl sub_802C328 - bl sub_802C39C - movs r0, 0x1 -_0802C1CC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802C1D8: .4byte gUnknown_203B2E0 -_0802C1DC: .4byte gUnknown_80DFCB4 -_0802C1E0: .4byte gUnknown_203B2E4 - thumb_func_end sub_802C10C - - thumb_func_start sub_802C1E4 -sub_802C1E4: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0802C200 - ldr r0, _0802C1FC - ldr r0, [r0] - adds r0, 0x8 - bl sub_8013660 - movs r0, 0 - b _0802C266 - .align 2, 0 -_0802C1FC: .4byte gUnknown_203B2E0 -_0802C200: - ldr r0, _0802C218 - ldr r0, [r0] - adds r0, 0x8 - bl GetKeyPress - cmp r0, 0x2 - beq _0802C222 - cmp r0, 0x2 - bgt _0802C21C - cmp r0, 0x1 - beq _0802C22C - b _0802C240 - .align 2, 0 -_0802C218: .4byte gUnknown_203B2E0 -_0802C21C: - cmp r0, 0x4 - beq _0802C236 - b _0802C240 -_0802C222: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0802C266 -_0802C22C: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0802C266 -_0802C236: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _0802C266 -_0802C240: - ldr r0, _0802C258 - ldr r0, [r0] - adds r0, 0x8 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802C25C - movs r0, 0 - b _0802C266 - .align 2, 0 -_0802C258: .4byte gUnknown_203B2E0 -_0802C25C: - bl sub_802C328 - bl sub_802C39C - movs r0, 0x1 -_0802C266: - pop {r1} - bx r1 - thumb_func_end sub_802C1E4 - - thumb_func_start sub_802C26C -sub_802C26C: - ldr r0, _0802C288 - ldr r1, [r0] - movs r0, 0x26 - ldrsh r2, [r1, r0] - movs r3, 0x24 - ldrsh r0, [r1, r3] - muls r0, r2 - movs r3, 0x20 - ldrsh r2, [r1, r3] - adds r0, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_0802C288: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C26C - - thumb_func_start sub_802C28C -sub_802C28C: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0802C2D0 - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_802C474 - adds r1, r0, 0 - ldr r0, [r5] - strh r1, [r0, 0x2A] - adds r0, 0x8 - bl sub_8013984 - bl sub_802C328 - bl sub_802C39C - cmp r4, 0 - beq _0802C2CA - ldr r0, [r5] - adds r0, 0x8 - bl AddMenuCursorSprite -_0802C2CA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802C2D0: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C28C - - thumb_func_start sub_802C2D4 -sub_802C2D4: - push {r4,r5,lr} - ldr r4, _0802C31C - ldr r2, [r4] - cmp r2, 0 - beq _0802C314 - ldr r1, _0802C320 - ldrh r0, [r2, 0x20] - strh r0, [r1] - ldr r0, [r2, 0x3C] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x44 - ldr r0, _0802C324 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802C314: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802C31C: .4byte gUnknown_203B2E0 -_0802C320: .4byte gUnknown_203B2E4 -_0802C324: .4byte gUnknown_80DFC9C - thumb_func_end sub_802C2D4 - - thumb_func_start sub_802C328 -sub_802C328: - push {r4,lr} - ldr r4, _0802C398 - ldr r0, [r4] - ldrh r1, [r0, 0x28] - adds r0, 0xA4 - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - ldrh r1, [r0, 0x26] - adds r0, 0xA5 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA6 - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA7 - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x22 - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl sub_8009614 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x3C] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x52 - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x3C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x54 - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C398: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C328 - - thumb_func_start sub_802C39C -sub_802C39C: - push {r4-r7,lr} - sub sp, 0x60 - ldr r7, _0802C3F8 - ldr r0, [r7] - ldr r0, [r0, 0x3C] - bl sub_8008C54 - ldr r0, [r7] - ldr r0, [r0, 0x3C] - bl sub_80073B8 - ldr r0, [r7] - movs r1, 0x26 - ldrsh r4, [r0, r1] - lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA - ldr r2, _0802C3FC - ldr r3, [r0, 0x3C] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0xA6 - ldrb r0, [r0] - lsls r0, 3 - adds r5, r4, r0 - movs r3, 0x26 - ldrsh r2, [r1, r3] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x3C] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r6, 0 - b _0802C452 - .align 2, 0 -_0802C3F8: .4byte gUnknown_203B2E0 -_0802C3FC: .4byte gBulletinBoardText -_0802C400: - ldr r1, [r7] - movs r3, 0x26 - ldrsh r2, [r1, r3] - movs r3, 0x24 - ldrsh r0, [r1, r3] - muls r0, r2 - adds r0, r6 - adds r1, r0 - ldrb r5, [r1] - adds r0, r5, 0 - bl sub_8096574 - adds r4, r0, 0 - ldr r0, [r7] - ldr r1, [r0, 0x3C] - str r1, [sp, 0x8] - adds r0, 0x8 - adds r1, r6, 0 - bl sub_8013800 - str r0, [sp, 0x50] - adds r0, r4, 0 - add r1, sp, 0x8 - bl sub_803B35C - adds r0, r5, 0 - bl sub_8096574 - bl sub_80968B0 - lsls r0, 24 - cmp r0, 0 - beq _0802C44A - mov r1, sp - adds r1, 0x4B - movs r0, 0x2 - strb r0, [r1] -_0802C44A: - add r0, sp, 0x8 - bl sub_803B6D4 - adds r6, 0x1 -_0802C452: - ldr r0, [r7] - movs r1, 0x22 - ldrsh r0, [r0, r1] - cmp r6, r0 - blt _0802C400 - ldr r0, _0802C470 - ldr r0, [r0] - ldr r0, [r0, 0x3C] - bl sub_80073E0 - add sp, 0x60 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C470: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C39C - - thumb_func_start sub_802C474 -sub_802C474: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0802C47A: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_809658C - lsls r0, 24 - cmp r0, 0 - bne _0802C492 - ldr r0, _0802C4A0 - ldr r0, [r0] - adds r0, r5 - strb r4, [r0] - adds r5, 0x1 -_0802C492: - adds r4, 0x1 - cmp r4, 0x7 - ble _0802C47A - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0802C4A0: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C474 - - thumb_func_start sub_802C4A4 -sub_802C4A4: - push {r4,lr} - movs r4, 0 -_0802C4A8: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_809658C - lsls r0, 24 - cmp r0, 0 - bne _0802C4BA - movs r0, 0 - b _0802C4C2 -_0802C4BA: - adds r4, 0x1 - cmp r4, 0x7 - ble _0802C4A8 - movs r0, 0x1 -_0802C4C2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802C4A4 - - thumb_func_start sub_802C4C8 -sub_802C4C8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - beq _0802C4E2 - movs r0, 0 - b _0802C580 -_0802C4E2: - ldr r5, _0802C58C - movs r0, 0xA8 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - str r6, [r0, 0x3C] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x44 - adds r1, r0, r1 - str r1, [r0, 0x40] - adds r0, 0x44 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x3C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x44 - ldr r0, _0802C590 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r2, [r5] - ldr r1, [r2, 0x40] - adds r0, r2, 0 - adds r0, 0xA4 - str r0, [r1, 0x14] - cmp r4, 0 - beq _0802C53A - ldr r1, [r2, 0x3C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x4C - adds r1, r0 - ldr r0, [r4] - str r0, [r1] -_0802C53A: - ldr r0, [r5] - ldr r0, [r0, 0x40] - mov r1, r8 - bl sub_8012D34 - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x8 - bl sub_802C80C - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_8013848 - ldr r0, [r5] - ldr r1, _0802C594 - ldrh r1, [r1] - strh r1, [r0, 0x20] - adds r0, 0x8 - bl sub_8013984 - bl sub_802C6DC - bl sub_802C750 - movs r0, 0x1 -_0802C580: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802C58C: .4byte gUnknown_203B2E8 -_0802C590: .4byte gUnknown_80DFCFC -_0802C594: .4byte gUnknown_203B2EC - thumb_func_end sub_802C4C8 - - thumb_func_start sub_802C598 -sub_802C598: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0802C5B4 - ldr r0, _0802C5B0 - ldr r0, [r0] - adds r0, 0x8 - bl sub_8013660 - movs r0, 0 - b _0802C61A - .align 2, 0 -_0802C5B0: .4byte gUnknown_203B2E8 -_0802C5B4: - ldr r0, _0802C5CC - ldr r0, [r0] - adds r0, 0x8 - bl GetKeyPress - cmp r0, 0x2 - beq _0802C5D6 - cmp r0, 0x2 - bgt _0802C5D0 - cmp r0, 0x1 - beq _0802C5E0 - b _0802C5F4 - .align 2, 0 -_0802C5CC: .4byte gUnknown_203B2E8 -_0802C5D0: - cmp r0, 0x4 - beq _0802C5EA - b _0802C5F4 -_0802C5D6: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0802C61A -_0802C5E0: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0802C61A -_0802C5EA: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _0802C61A -_0802C5F4: - ldr r0, _0802C60C - ldr r0, [r0] - adds r0, 0x8 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802C610 - movs r0, 0 - b _0802C61A - .align 2, 0 -_0802C60C: .4byte gUnknown_203B2E8 -_0802C610: - bl sub_802C6DC - bl sub_802C750 - movs r0, 0x1 -_0802C61A: - pop {r1} - bx r1 - thumb_func_end sub_802C598 - - thumb_func_start sub_802C620 -sub_802C620: - ldr r0, _0802C63C - ldr r1, [r0] - movs r0, 0x26 - ldrsh r2, [r1, r0] - movs r3, 0x24 - ldrsh r0, [r1, r3] - muls r0, r2 - movs r3, 0x20 - ldrsh r2, [r1, r3] - adds r0, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_0802C63C: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C620 - - thumb_func_start sub_802C640 -sub_802C640: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0802C684 - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_802C80C - adds r1, r0, 0 - ldr r0, [r5] - strh r1, [r0, 0x2A] - adds r0, 0x8 - bl sub_8013984 - bl sub_802C6DC - bl sub_802C750 - cmp r4, 0 - beq _0802C67E - ldr r0, [r5] - adds r0, 0x8 - bl AddMenuCursorSprite -_0802C67E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802C684: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C640 - - thumb_func_start sub_802C688 -sub_802C688: - push {r4,r5,lr} - ldr r4, _0802C6D0 - ldr r2, [r4] - cmp r2, 0 - beq _0802C6C8 - ldr r1, _0802C6D4 - ldrh r0, [r2, 0x20] - strh r0, [r1] - ldr r0, [r2, 0x3C] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x44 - ldr r0, _0802C6D8 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802C6C8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802C6D0: .4byte gUnknown_203B2E8 -_0802C6D4: .4byte gUnknown_203B2EC -_0802C6D8: .4byte gUnknown_80DFCE4 - thumb_func_end sub_802C688 - - thumb_func_start sub_802C6DC -sub_802C6DC: - push {r4,lr} - ldr r4, _0802C74C - ldr r0, [r4] - ldrh r1, [r0, 0x28] - adds r0, 0xA4 - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - ldrh r1, [r0, 0x26] - adds r0, 0xA5 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA6 - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA7 - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x22 - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl sub_8009614 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x3C] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x52 - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x3C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x54 - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C74C: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C6DC - - thumb_func_start sub_802C750 -sub_802C750: - push {r4-r6,lr} - sub sp, 0x60 - ldr r6, _0802C7AC - ldr r0, [r6] - ldr r0, [r0, 0x3C] - bl sub_8008C54 - ldr r0, [r6] - ldr r0, [r0, 0x3C] - bl sub_80073B8 - ldr r0, [r6] - movs r1, 0x26 - ldrsh r4, [r0, r1] - lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA - ldr r2, _0802C7B0 - ldr r3, [r0, 0x3C] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0xA6 - ldrb r0, [r0] - lsls r0, 3 - adds r5, r4, r0 - movs r3, 0x26 - ldrsh r2, [r1, r3] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x3C] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r5, 0 - b _0802C7EC - .align 2, 0 -_0802C7AC: .4byte gUnknown_203B2E8 -_0802C7B0: .4byte gUnknown_80DFD14 -_0802C7B4: - ldr r1, [r6] - movs r3, 0x26 - ldrsh r2, [r1, r3] - movs r3, 0x24 - ldrsh r0, [r1, r3] - muls r0, r2 - adds r0, r5 - adds r1, r0 - ldrb r0, [r1] - bl sub_8096AB4 - adds r4, r0, 0 - ldr r0, [r6] - ldr r1, [r0, 0x3C] - str r1, [sp, 0x8] - adds r0, 0x8 - adds r1, r5, 0 - bl sub_8013800 - str r0, [sp, 0x50] - adds r0, r4, 0 - add r1, sp, 0x8 - bl sub_803B35C - add r0, sp, 0x8 - bl sub_803B6D4 - adds r5, 0x1 -_0802C7EC: - ldr r0, [r6] - movs r1, 0x22 - ldrsh r0, [r0, r1] - cmp r5, r0 - blt _0802C7B4 - ldr r0, _0802C808 - ldr r0, [r0] - ldr r0, [r0, 0x3C] - bl sub_80073E0 - add sp, 0x60 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802C808: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C750 - - thumb_func_start sub_802C80C -sub_802C80C: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0802C812: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096ACC - lsls r0, 24 - cmp r0, 0 - bne _0802C82A - ldr r0, _0802C838 - ldr r0, [r0] - adds r0, r5 - strb r4, [r0] - adds r5, 0x1 -_0802C82A: - adds r4, 0x1 - cmp r4, 0x7 - ble _0802C812 - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0802C838: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C80C - - thumb_func_start sub_802C83C -sub_802C83C: - push {r4,lr} - movs r4, 0 -_0802C840: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096ACC - lsls r0, 24 - cmp r0, 0 - bne _0802C852 - movs r0, 0 - b _0802C85A -_0802C852: - adds r4, 0x1 - cmp r4, 0x7 - ble _0802C840 - movs r0, 0x1 -_0802C85A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802C83C - - thumb_func_start sub_802C860 -sub_802C860: - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_802C83C - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0802C890 - ldr r4, _0802C88C - movs r0, 0xFE - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - str r5, [r0, 0x68] - str r6, [r0] - movs r0, 0 - bl sub_802C910 - movs r0, 0x1 - b _0802C892 - .align 2, 0 -_0802C88C: .4byte gUnknown_203B2F0 -_0802C890: - movs r0, 0 -_0802C892: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_802C860 - - thumb_func_start sub_802C898 -sub_802C898: - push {lr} - ldr r0, _0802C8B0 - ldr r0, [r0] - ldr r0, [r0, 0x4] - cmp r0, 0x5 - bhi _0802C8E8 - lsls r0, 2 - ldr r1, _0802C8B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802C8B0: .4byte gUnknown_203B2F0 -_0802C8B4: .4byte _0802C8B8 - .align 2, 0 -_0802C8B8: - .4byte _0802C8D0 - .4byte _0802C8D0 - .4byte _0802C8D6 - .4byte _0802C8DC - .4byte _0802C8E2 - .4byte _0802C8E8 -_0802C8D0: - bl sub_802CC00 - b _0802C8EC -_0802C8D6: - bl sub_802CC70 - b _0802C8EC -_0802C8DC: - bl sub_802CD38 - b _0802C8EC -_0802C8E2: - bl sub_802CDB8 - b _0802C8EC -_0802C8E8: - movs r0, 0x3 - b _0802C8EE -_0802C8EC: - movs r0, 0 -_0802C8EE: - pop {r1} - bx r1 - thumb_func_end sub_802C898 - - thumb_func_start sub_802C8F4 -sub_802C8F4: - push {r4,lr} - ldr r4, _0802C90C - ldr r0, [r4] - cmp r0, 0 - beq _0802C906 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802C906: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C90C: .4byte gUnknown_203B2F0 - thumb_func_end sub_802C8F4 - - thumb_func_start sub_802C910 -sub_802C910: - push {lr} - ldr r1, _0802C924 - ldr r1, [r1] - str r0, [r1, 0x4] - bl sub_802C928 - bl sub_802C9D8 - pop {r0} - bx r0 - .align 2, 0 -_0802C924: .4byte gUnknown_203B2F0 - thumb_func_end sub_802C910 - - thumb_func_start sub_802C928 -sub_802C928: - push {r4-r7,lr} - ldr r4, _0802C94C - ldr r0, [r4] - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - ldr r1, [r4] - ldr r0, [r1, 0x4] - cmp r0, 0x2 - beq _0802C954 - cmp r0, 0x3 - beq _0802C980 - movs r2, 0 - ldr r3, _0802C950 - b _0802C998 - .align 2, 0 -_0802C94C: .4byte gUnknown_203B2F0 -_0802C950: .4byte gUnknown_80DFD28 -_0802C954: - bl sub_802CAA4 - ldr r2, [r4] - movs r0, 0xE6 - lsls r0, 1 - adds r2, r0 - ldr r1, _0802C97C - ldm r1!, {r3,r5,r6} - stm r2!, {r3,r5,r6} - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldr r1, [r4] - adds r0, r1, r0 - movs r6, 0x86 - lsls r6, 1 - adds r1, r6 - bl sub_8012CAC - b _0802C9B8 - .align 2, 0 -_0802C97C: .4byte gUnknown_80DFD40 -_0802C980: - movs r7, 0xF2 - lsls r7, 1 - adds r1, r7 - ldr r0, _0802C994 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - b _0802C9B8 - .align 2, 0 -_0802C994: .4byte gUnknown_80DFD58 -_0802C998: - ldr r0, [r4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 3 - adds r0, r1 - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - adds r1, r3, 0 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - adds r2, 0x1 - cmp r2, 0x3 - ble _0802C998 -_0802C9B8: - bl ResetUnusedInputStruct - ldr r0, _0802C9D4 - ldr r0, [r0] - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C9D4: .4byte gUnknown_203B2F0 - thumb_func_end sub_802C928 - - thumb_func_start sub_802C9D8 -sub_802C9D8: - push {r4,lr} - sub sp, 0x8 - ldr r1, _0802C9F4 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r4, r1, 0 - cmp r0, 0x5 - bhi _0802CA9C - lsls r0, 2 - ldr r1, _0802C9F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802C9F4: .4byte gUnknown_203B2F0 -_0802C9F8: .4byte _0802C9FC - .align 2, 0 -_0802C9FC: - .4byte _0802CA14 - .4byte _0802CA20 - .4byte _0802CA28 - .4byte _0802CA48 - .4byte _0802CA80 - .4byte _0802CA9C -_0802CA14: - movs r0, 0 - movs r1, 0 - movs r2, 0x4 - bl sub_802C4C8 - b _0802CA9C -_0802CA20: - movs r0, 0x1 - bl sub_802C640 - b _0802CA9C -_0802CA28: - bl sub_802C750 - ldr r0, _0802CA44 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x6C - movs r3, 0x86 - lsls r3, 1 - adds r1, r2, r3 - ldr r2, [r2, 0x68] - str r2, [sp] - movs r2, 0x2 - b _0802CA6E - .align 2, 0 -_0802CA44: .4byte gUnknown_203B2F0 -_0802CA48: - bl sub_802CBAC - bl sub_802C750 - ldr r4, _0802CA7C - ldr r0, [r4] - adds r0, 0x6C - movs r1, 0 - bl sub_8012EA4 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xBC - movs r2, 0xA6 - lsls r2, 1 - adds r1, r2 - movs r2, 0x6 - str r2, [sp] - movs r2, 0x3 -_0802CA6E: - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0802CA9C - .align 2, 0 -_0802CA7C: .4byte gUnknown_203B2F0 -_0802CA80: - ldr r0, [r4] - ldrb r0, [r0, 0xC] - bl sub_8096AB4 - ldr r1, [r4] - adds r1, 0x10 - bl sub_803B35C - ldr r0, [r4] - movs r1, 0x3 - str r1, [r0, 0x10] - adds r0, 0x10 - bl sub_802DE84 -_0802CA9C: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802C9D8 - - thumb_func_start sub_802CAA4 -sub_802CAA4: - push {r4-r7,lr} - movs r7, 0 - ldr r5, _0802CAC8 - ldr r0, [r5] - ldrb r0, [r0, 0xC] - bl sub_8096AB4 - adds r4, r0, 0 - ldr r2, [r5] - ldr r0, [r2] - cmp r0, 0 - bne _0802CB26 - ldrb r0, [r4] - cmp r0, 0x5 - beq _0802CACC - cmp r0, 0x6 - beq _0802CB10 - b _0802CB26 - .align 2, 0 -_0802CAC8: .4byte gUnknown_203B2F0 -_0802CACC: - movs r0, 0x86 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, _0802CAFC - str r0, [r1] - adds r0, r4, 0 - bl sub_809693C - lsls r0, 24 - cmp r0, 0 - bne _0802CAEE - ldrb r0, [r4, 0x4] - bl sub_80A2824 - lsls r0, 24 - cmp r0, 0 - bne _0802CB00 -_0802CAEE: - ldr r0, [r5] - movs r1, 0x88 - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - b _0802CB0A - .align 2, 0 -_0802CAFC: .4byte gUnknown_80DFD70 -_0802CB00: - ldr r0, [r5] - movs r1, 0x88 - lsls r1, 1 - adds r0, r1 - movs r1, 0x2 -_0802CB0A: - str r1, [r0] - adds r7, 0x1 - b _0802CB26 -_0802CB10: - movs r0, 0x86 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, _0802CB9C - str r0, [r1] - movs r0, 0x88 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0x3 - str r0, [r1] - movs r7, 0x1 -_0802CB26: - ldr r4, _0802CBA0 - ldr r6, [r4] - lsls r1, r7, 3 - movs r0, 0x86 - lsls r0, 1 - adds r3, r6, r0 - adds r2, r3, r1 - ldr r0, _0802CBA4 - ldr r0, [r0] - str r0, [r2] - movs r0, 0x88 - lsls r0, 1 - adds r5, r6, r0 - adds r1, r5, r1 - movs r0, 0x4 - str r0, [r1] - adds r7, 0x1 - lsls r1, r7, 3 - adds r2, r3, r1 - ldr r0, _0802CBA8 - ldr r0, [r0] - str r0, [r2] - adds r1, r5, r1 - movs r0, 0x7 - str r0, [r1] - adds r7, 0x1 - lsls r1, r7, 3 - adds r3, r1 - movs r0, 0 - str r0, [r3] - adds r1, r5, r1 - movs r0, 0x1 - str r0, [r1] - movs r3, 0 - mov r12, r4 - cmp r3, r7 - bge _0802CB8C - adds r4, r6, 0 - adds r1, r5, 0 - movs r5, 0x1 - negs r5, r5 -_0802CB78: - ldr r2, [r1] - cmp r2, r5 - beq _0802CB84 - ldr r0, [r4, 0x68] - cmp r2, r0 - beq _0802CB94 -_0802CB84: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, r7 - blt _0802CB78 -_0802CB8C: - mov r0, r12 - ldr r1, [r0] - movs r0, 0x7 - str r0, [r1, 0x68] -_0802CB94: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802CB9C: .4byte gUnknown_80DFD7C -_0802CBA0: .4byte gUnknown_203B2F0 -_0802CBA4: .4byte gUnknown_80D494C -_0802CBA8: .4byte gUnknown_80D4970 - thumb_func_end sub_802CAA4 - - thumb_func_start sub_802CBAC -sub_802CBAC: - ldr r0, _0802CBF4 - ldr r0, [r0] - mov r12, r0 - movs r3, 0 - movs r1, 0xA6 - lsls r1, 1 - add r1, r12 - ldr r0, _0802CBF8 - ldr r0, [r0] - str r0, [r1] - movs r1, 0xA8 - lsls r1, 1 - add r1, r12 - movs r0, 0x5 - str r0, [r1] - movs r2, 0x1 - movs r1, 0xAA - lsls r1, 1 - add r1, r12 - ldr r0, _0802CBFC - ldr r0, [r0] - str r0, [r1] - movs r1, 0xAC - lsls r1, 1 - add r1, r12 - movs r0, 0x6 - str r0, [r1] - movs r0, 0xAE - lsls r0, 1 - add r0, r12 - str r3, [r0] - movs r0, 0xB0 - lsls r0, 1 - add r0, r12 - str r2, [r0] - bx lr - .align 2, 0 -_0802CBF4: .4byte gUnknown_203B2F0 -_0802CBF8: .4byte gUnknown_80D4920 -_0802CBFC: .4byte gUnknown_80D4928 - thumb_func_end sub_802CBAC - - thumb_func_start sub_802CC00 -sub_802CC00: - push {lr} - movs r0, 0x1 - bl sub_802C598 - cmp r0, 0x4 - bhi _0802CC6A - lsls r0, 2 - ldr r1, _0802CC18 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802CC18: .4byte _0802CC1C - .align 2, 0 -_0802CC1C: - .4byte _0802CC6A - .4byte _0802CC6A - .4byte _0802CC60 - .4byte _0802CC30 - .4byte _0802CC48 -_0802CC30: - bl sub_802C620 - ldr r1, _0802CC44 - ldr r1, [r1] - strb r0, [r1, 0xC] - movs r0, 0x2 - bl sub_802C910 - b _0802CC6A - .align 2, 0 -_0802CC44: .4byte gUnknown_203B2F0 -_0802CC48: - bl sub_802C620 - ldr r1, _0802CC5C - ldr r1, [r1] - strb r0, [r1, 0xC] - movs r0, 0x4 - bl sub_802C910 - b _0802CC6A - .align 2, 0 -_0802CC5C: .4byte gUnknown_203B2F0 -_0802CC60: - bl sub_802C688 - movs r0, 0x5 - bl sub_802C910 -_0802CC6A: - pop {r0} - bx r0 - thumb_func_end sub_802CC00 - - thumb_func_start sub_802CC70 -sub_802CC70: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802C598 - ldr r4, _0802CCB4 - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802CCA0 - ldr r0, [r4] - adds r0, 0x6C - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802CCA0 - ldr r0, [r4] - str r1, [r0, 0x68] -_0802CCA0: - ldr r0, [sp] - subs r0, 0x1 - cmp r0, 0x6 - bhi _0802CD2E - lsls r0, 2 - ldr r1, _0802CCB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802CCB4: .4byte gUnknown_203B2F0 -_0802CCB8: .4byte _0802CCBC - .align 2, 0 -_0802CCBC: - .4byte _0802CD28 - .4byte _0802CCD8 - .4byte _0802CCF4 - .4byte _0802CD18 - .4byte _0802CD2E - .4byte _0802CD2E - .4byte _0802CD20 -_0802CCD8: - ldr r0, _0802CCEC - bl PlaySound - ldr r0, _0802CCF0 - ldr r0, [r0] - ldrb r0, [r0, 0xC] - bl sub_8096AB4 - movs r1, 0x6 - b _0802CD06 - .align 2, 0 -_0802CCEC: .4byte 0x00000133 -_0802CCF0: .4byte gUnknown_203B2F0 -_0802CCF4: - ldr r0, _0802CD10 - bl PlaySound - ldr r0, _0802CD14 - ldr r0, [r0] - ldrb r0, [r0, 0xC] - bl sub_8096AB4 - movs r1, 0x5 -_0802CD06: - strb r1, [r0] - movs r0, 0x1 - bl sub_802C910 - b _0802CD2E - .align 2, 0 -_0802CD10: .4byte 0x00000133 -_0802CD14: .4byte gUnknown_203B2F0 -_0802CD18: - movs r0, 0x3 - bl sub_802C910 - b _0802CD2E -_0802CD20: - movs r0, 0x4 - bl sub_802C910 - b _0802CD2E -_0802CD28: - movs r0, 0x1 - bl sub_802C910 -_0802CD2E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802CC70 - - thumb_func_start sub_802CD38 -sub_802CD38: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802C598 - ldr r4, _0802CD78 - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0xBC - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802CD66 - ldr r0, [r4] - adds r0, 0xBC - mov r1, sp - bl sub_8013114 -_0802CD66: - ldr r0, [sp] - cmp r0, 0x5 - beq _0802CD88 - cmp r0, 0x5 - bgt _0802CD7C - cmp r0, 0x1 - beq _0802CD80 - b _0802CDB0 - .align 2, 0 -_0802CD78: .4byte gUnknown_203B2F0 -_0802CD7C: - cmp r0, 0x6 - bne _0802CDB0 -_0802CD80: - movs r0, 0x1 - bl sub_802C910 - b _0802CDB0 -_0802CD88: - ldr r0, [r4] - ldrb r0, [r0, 0xC] - bl sub_8096C3C - bl sub_8096C80 - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - beq _0802CDAA - bl sub_802C688 - movs r0, 0x5 - bl sub_802C910 - b _0802CDB0 -_0802CDAA: - movs r0, 0x1 - bl sub_802C910 -_0802CDB0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802CD38 - - thumb_func_start sub_802CDB8 -sub_802CDB8: - push {lr} - bl sub_802DEE0 - cmp r0, 0x1 - bls _0802CDD0 - cmp r0, 0x3 - bhi _0802CDD0 - bl sub_802DF24 - movs r0, 0x1 - bl sub_802C910 -_0802CDD0: - pop {r0} - bx r0 - thumb_func_end sub_802CDB8 - - thumb_func_start sub_802CDD4 -sub_802CDD4: - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _0802CE54 - ldr r0, [r4] - cmp r0, 0 - bne _0802CDEA - movs r0, 0xA0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] -_0802CDEA: - ldr r0, [r4] - str r5, [r0, 0x34] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - adds r1, 0x3C - adds r1, r0, r1 - str r1, [r0, 0x38] - adds r0, 0x3C - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x34] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x3C - ldr r0, _0802CE58 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r1, [r4] - ldr r0, [r1, 0x38] - adds r1, 0x9C - str r1, [r0, 0x14] - movs r1, 0x4 - bl sub_8012D34 - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x5 - movs r2, 0x4 - adds r3, r5, 0 - bl sub_8013848 - bl sub_802CF5C - bl sub_802CFD0 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0802CE54: .4byte gUnknown_203B2F4 -_0802CE58: .4byte gUnknown_80DFDA4 - thumb_func_end sub_802CDD4 - - thumb_func_start sub_802CE5C -sub_802CE5C: - push {r4,lr} - lsls r0, 24 - cmp r0, 0 - bne _0802CE74 - ldr r0, _0802CE70 - ldr r0, [r0] - bl sub_8013660 - movs r0, 0 - b _0802CEB4 - .align 2, 0 -_0802CE70: .4byte gUnknown_203B2F4 -_0802CE74: - ldr r4, _0802CE90 - ldr r0, [r4] - bl GetKeyPress - cmp r0, 0x1 - beq _0802CE94 - cmp r0, 0x2 - bne _0802CE98 - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0802CEB4 - .align 2, 0 -_0802CE90: .4byte gUnknown_203B2F4 -_0802CE94: - movs r0, 0x3 - b _0802CEB4 -_0802CE98: - ldr r0, [r4] - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802CEAA - movs r0, 0 - b _0802CEB4 -_0802CEAA: - bl sub_802CF5C - bl sub_802CFD0 - movs r0, 0x1 -_0802CEB4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802CE5C - - thumb_func_start sub_802CEBC -sub_802CEBC: - ldr r0, _0802CED4 - ldr r1, [r0] - movs r0, 0x1E - ldrsh r2, [r1, r0] - movs r3, 0x1C - ldrsh r0, [r1, r3] - muls r0, r2 - ldrb r1, [r1, 0x18] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - bx lr - .align 2, 0 -_0802CED4: .4byte gUnknown_203B2F4 - thumb_func_end sub_802CEBC - - thumb_func_start sub_802CED8 -sub_802CED8: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0802CF10 - ldr r0, [r5] - adds r0, 0x3C - movs r1, 0 - movs r2, 0 - bl sub_800641C - ldr r0, [r5] - bl sub_8013984 - bl sub_802CF5C - bl sub_802CFD0 - cmp r4, 0 - beq _0802CF0A - ldr r0, [r5] - bl AddMenuCursorSprite -_0802CF0A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802CF10: .4byte gUnknown_203B2F4 - thumb_func_end sub_802CED8 - - thumb_func_start sub_802CF14 -sub_802CF14: - push {r4,r5,lr} - ldr r4, _0802CF54 - ldr r2, [r4] - cmp r2, 0 - beq _0802CF4E - ldr r0, [r2, 0x34] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x3C - ldr r0, _0802CF58 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802CF4E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802CF54: .4byte gUnknown_203B2F4 -_0802CF58: .4byte gUnknown_80DFD8C - thumb_func_end sub_802CF14 - - thumb_func_start sub_802CF5C -sub_802CF5C: - push {r4,lr} - ldr r4, _0802CFCC - ldr r0, [r4] - ldrh r1, [r0, 0x20] - adds r0, 0x9C - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - ldrh r1, [r0, 0x1E] - adds r0, 0x9D - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9E - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9F - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x1A - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl sub_8009614 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x34] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x4A - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x34] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x4C - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802CFCC: .4byte gUnknown_203B2F4 - thumb_func_end sub_802CF5C - - thumb_func_start sub_802CFD0 -sub_802CFD0: - push {r4-r6,lr} - sub sp, 0x60 - ldr r6, _0802D02C - ldr r0, [r6] - ldr r0, [r0, 0x34] - bl sub_8008C54 - ldr r0, [r6] - ldr r0, [r0, 0x34] - bl sub_80073B8 - ldr r0, [r6] - movs r1, 0x1E - ldrsh r4, [r0, r1] - lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA - ldr r2, _0802D030 - ldr r3, [r0, 0x34] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x9E - ldrb r0, [r0] - lsls r0, 3 - adds r5, r4, r0 - movs r0, 0x1E - ldrsh r2, [r1, r0] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x34] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r5, 0 - b _0802D076 - .align 2, 0 -_0802D02C: .4byte gUnknown_203B2F4 -_0802D030: .4byte gUnknown_80DFDBC -_0802D034: - ldr r0, [r6] - movs r2, 0x1E - ldrsh r1, [r0, r2] - movs r2, 0x1C - ldrsh r0, [r0, r2] - muls r0, r1 - adds r0, r5 - lsls r0, 24 - lsrs r0, 24 - bl sub_803B344 - adds r4, r0, 0 - ldr r0, [r6] - ldr r1, [r0, 0x34] - str r1, [sp, 0x8] - adds r1, r5, 0 - bl sub_8013800 - str r0, [sp, 0x50] - adds r0, r4, 0 - add r1, sp, 0x8 - bl sub_803B35C - mov r1, sp - adds r1, 0x4B - movs r0, 0x1 - strb r0, [r1] - ldr r0, [r4, 0x14] - str r0, [sp, 0x54] - add r0, sp, 0x8 - bl sub_803B6D4 - adds r5, 0x1 -_0802D076: - ldr r0, [r6] - movs r1, 0x1A - ldrsh r0, [r0, r1] - cmp r5, r0 - blt _0802D034 - ldr r0, _0802D094 - ldr r0, [r0] - ldr r0, [r0, 0x34] - bl sub_80073E0 - add sp, 0x60 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802D094: .4byte gUnknown_203B2F4 - thumb_func_end sub_802CFD0 - - .align 2,0 diff --git a/asm/code_80428A0.s b/asm/code_80428A0.s index 402ea92..996e063 100644 --- a/asm/code_80428A0.s +++ b/asm/code_80428A0.s @@ -6309,7 +6309,7 @@ _08045BD2: bl sub_804510C ldrb r1, [r0] adds r0, r5, 0 - bl sub_807FE84 + bl GetTrapName b _08045BEC _08045BE2: ldr r0, _08045BF4 diff --git a/asm/code_8057824.s b/asm/code_8057824.s index 2c65ae8..b344d4a 100644 --- a/asm/code_8057824.s +++ b/asm/code_8057824.s @@ -16175,7 +16175,7 @@ _0805FA62: lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 - bl sub_807EA18 + bl GetWeatherName ldr r0, _0805FBD4 ldr r2, [r0] str r6, [sp] @@ -25622,7 +25622,7 @@ _080646C4: adds r4, r0, 0 ldrb r1, [r4] mov r0, r10 - bl sub_807FE84 + bl GetTrapName movs r0, 0 bl sub_80073B8 str r7, [sp] diff --git a/asm/code_807001C.s b/asm/code_807001C.s index 52b13ab..8dc5eb2 100644 --- a/asm/code_807001C.s +++ b/asm/code_807001C.s @@ -29515,7 +29515,7 @@ _0807E816: lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl sub_807EA18 + bl GetWeatherName ldr r0, _0807E884 ldr r1, [r0] adds r0, r5, 0 @@ -29752,8 +29752,8 @@ _0807EA0A: bx r0 thumb_func_end sub_807E8F0 - thumb_func_start sub_807EA18 -sub_807EA18: + thumb_func_start GetWeatherName +GetWeatherName: push {lr} lsls r1, 24 ldr r2, _0807EA2C @@ -29764,8 +29764,8 @@ sub_807EA18: pop {r0} bx r0 .align 2, 0 -_0807EA2C: .4byte gUnknown_80F9A54 - thumb_func_end sub_807EA18 +_0807EA2C: .4byte gWeatherNames + thumb_func_end GetWeatherName thumb_func_start sub_807EA30 sub_807EA30: @@ -32341,8 +32341,8 @@ _0807FE7E: bx r1 thumb_func_end sub_807FE44 - thumb_func_start sub_807FE84 -sub_807FE84: + thumb_func_start GetTrapName +GetTrapName: push {lr} lsls r1, 24 ldr r2, _0807FE98 @@ -32353,8 +32353,8 @@ sub_807FE84: pop {r0} bx r0 .align 2, 0 -_0807FE98: .4byte gUnknown_80F91F0 - thumb_func_end sub_807FE84 +_0807FE98: .4byte gTrapNames + thumb_func_end GetTrapName thumb_func_start sub_807FE9C sub_807FE9C: @@ -32394,7 +32394,7 @@ _0807FED8: ldr r0, _0807FF58 mov r2, r8 ldrb r1, [r2] - bl sub_807FE84 + bl GetTrapName ldr r3, [sp, 0x4] ldr r4, [r3, 0x10] cmp r4, 0 diff --git a/asm/friend_area_action_menu.s b/asm/friend_area_action_menu.s index 3c0a469..0117899 100644 --- a/asm/friend_area_action_menu.s +++ b/asm/friend_area_action_menu.s @@ -514,7 +514,7 @@ _0802782C: adds r1, 0x14 bl PeekPokemonItem movs r0, 0x3 - bl sub_8027184 + bl SetFriendAreaActionMenuState b _080278AE .align 2, 0 _08027860: .4byte gUnknown_203B2BC @@ -540,7 +540,7 @@ _08027868: adds r1, 0x14 bl PeekPokemonItem movs r0, 0x4 - bl sub_8027184 + bl SetFriendAreaActionMenuState b _080278AE .align 2, 0 _0802789C: .4byte gUnknown_203B2BC @@ -548,7 +548,7 @@ _080278A0: .4byte gRecruitedPokemonRef _080278A4: bl sub_8023C60 movs r0, 0x11 - bl sub_8027184 + bl SetFriendAreaActionMenuState _080278AE: pop {r4} pop {r0} @@ -675,15 +675,15 @@ _080279B8: .4byte gRecruitedPokemonRef _080279BC: .4byte gUnknown_203B2BC _080279C0: movs r0, 0x8 - bl sub_8027184 + bl SetFriendAreaActionMenuState b _08027A36 _080279C8: movs r0, 0xE - bl sub_8027184 + bl SetFriendAreaActionMenuState b _08027A36 _080279D0: movs r0, 0xA - bl sub_8027184 + bl SetFriendAreaActionMenuState b _08027A36 _080279D8: ldr r0, _08027A18 @@ -711,22 +711,22 @@ _080279F0: bl nullsub_104 _08027A0E: movs r0, 0x2 - bl sub_8027184 + bl SetFriendAreaActionMenuState b _08027A36 .align 2, 0 _08027A18: .4byte 0x0000014d _08027A1C: .4byte gUnknown_203B2BC _08027A20: movs r0, 0x4 - bl sub_8027184 + bl SetFriendAreaActionMenuState b _08027A36 _08027A28: movs r0, 0x5 - bl sub_8027184 + bl SetFriendAreaActionMenuState b _08027A36 _08027A30: movs r0, 0x2 - bl sub_8027184 + bl SetFriendAreaActionMenuState _08027A36: add sp, 0x4 pop {r4} @@ -744,7 +744,7 @@ sub_8027A40: bhi _08027A58 bl sub_802453C movs r0, 0x2 - bl sub_8027184 + bl SetFriendAreaActionMenuState _08027A58: pop {r0} bx r0 @@ -760,7 +760,7 @@ sub_8027A5C: bhi _08027A74 bl sub_801BF98 movs r0, 0x2 - bl sub_8027184 + bl SetFriendAreaActionMenuState _08027A74: pop {r0} bx r0 @@ -787,7 +787,7 @@ _08027A96: bne _08027AD8 _08027A9A: movs r0, 0x2 - bl sub_8027184 + bl SetFriendAreaActionMenuState b _08027AD8 _08027AA2: ldr r0, _08027AB8 @@ -809,7 +809,7 @@ _08027ABE: cmp r0, 0 beq _08027ACA movs r0, 0x9 - bl sub_8027184 + bl SetFriendAreaActionMenuState b _08027AD8 _08027ACA: bl sub_8027EB8 diff --git a/asm/friend_area_action_menu_1.s b/asm/friend_area_action_menu_1.s new file mode 100644 index 0000000..2724a25 --- /dev/null +++ b/asm/friend_area_action_menu_1.s @@ -0,0 +1,391 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8027CA0 +sub_8027CA0: + push {lr} + movs r0, 0x1 + bl sub_801EF38 + cmp r0, 0x4 + bhi _08027CFA + lsls r0, 2 + ldr r1, _08027CB8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08027CB8: .4byte _08027CBC + .align 2, 0 +_08027CBC: + .4byte _08027CFA + .4byte _08027CFA + .4byte _08027CF0 + .4byte _08027CD0 + .4byte _08027CD0 +_08027CD0: + bl sub_801F194 + ldr r1, _08027CEC + ldr r1, [r1] + str r0, [r1, 0x20] + lsls r0, 3 + adds r0, r1, r0 + ldrh r0, [r0, 0x2A] + strh r0, [r1, 0x24] + movs r0, 0x10 + bl SetFriendAreaActionMenuState + b _08027CFA + .align 2, 0 +_08027CEC: .4byte gUnknown_203B2BC +_08027CF0: + bl sub_801F214 + movs r0, 0x2 + bl SetFriendAreaActionMenuState +_08027CFA: + pop {r0} + bx r0 + thumb_func_end sub_8027CA0 + + thumb_func_start sub_8027D00 +sub_8027D00: + push {lr} + bl sub_801F890 + cmp r0, 0x1 + bls _08027D18 + cmp r0, 0x3 + bhi _08027D18 + bl sub_801F8D0 + movs r0, 0xF + bl SetFriendAreaActionMenuState +_08027D18: + pop {r0} + bx r0 + thumb_func_end sub_8027D00 + + thumb_func_start sub_8027D1C +sub_8027D1C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08027D34 + ldr r0, _08027D3C + ldr r0, [r0] + ldr r0, [r0, 0x4] + bl SetFriendAreaActionMenuState +_08027D34: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_08027D3C: .4byte gUnknown_203B2BC + thumb_func_end sub_8027D1C + + thumb_func_start sub_8027D40 +sub_8027D40: + push {r4-r6,lr} + sub sp, 0x14 + adds r6, r0, 0 + adds r5, r1, 0 + bl sub_8008C54 + adds r0, r6, 0 + bl sub_80073B8 + add r4, sp, 0x10 + adds r0, r4, 0 + adds r1, r5, 0 + bl HeldItemToSlot + movs r5, 0 + str r5, [sp, 0x4] + add r0, sp, 0x4 + strb r5, [r0, 0x4] + adds r1, r0, 0 + movs r0, 0x1 + strb r0, [r1, 0x8] + strb r0, [r4] + ldr r0, _08027D94 + adds r1, r4, 0 + add r2, sp, 0x4 + bl sub_8090E14 + ldr r2, _08027D98 + str r5, [sp] + movs r0, 0x4 + movs r1, 0x3 + adds r3, r6, 0 + bl xxx_format_and_draw + adds r0, r6, 0 + bl sub_80073E0 + add sp, 0x14 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08027D94: .4byte gUnknown_202DE58 +_08027D98: .4byte gUnknown_80DD958 + thumb_func_end sub_8027D40 + + thumb_func_start sub_8027D9C +sub_8027D9C: + push {lr} + adds r1, r0, 0 + ldrb r0, [r1, 0x2] + cmp r0, 0 + bne _08027DC0 + movs r2, 0 + ldrb r0, [r1, 0x4] + cmp r0, 0x41 + bne _08027DB0 + movs r2, 0x1 +_08027DB0: + cmp r2, 0 + beq _08027DC4 + movs r0, 0x8 + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + bne _08027DC4 +_08027DC0: + movs r0, 0 + b _08027DC6 +_08027DC4: + movs r0, 0x1 +_08027DC6: + pop {r1} + bx r1 + thumb_func_end sub_8027D9C + + thumb_func_start sub_8027DCC +sub_8027DCC: + push {r4,lr} + adds r4, r0, 0 + bl sub_808D3BC + cmp r0, r4 + beq _08027E0E + bl sub_808D3F8 + cmp r0, r4 + beq _08027E0E + ldrb r0, [r4, 0x2] + cmp r0, 0 + bne _08027E0E + movs r1, 0 + ldrb r0, [r4, 0x4] + cmp r0, 0x41 + bne _08027DF0 + movs r1, 0x1 +_08027DF0: + cmp r1, 0 + beq _08027E00 + movs r0, 0x8 + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + beq _08027E0E +_08027E00: + adds r0, r4, 0 + bl sub_8027E18 + cmp r0, 0x3 + beq _08027E0E + movs r0, 0x1 + b _08027E10 +_08027E0E: + movs r0, 0 +_08027E10: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8027DCC + + thumb_func_start sub_8027E18 +sub_8027E18: + push {r4,lr} + adds r4, r0, 0 + adds r0, 0x28 + ldrb r0, [r0] + cmp r0, 0 + bne _08027E28 + movs r0, 0 + b _08027E46 +_08027E28: + bl GetNumberOfFilledInventorySlots + cmp r0, 0x13 + bgt _08027E34 + movs r0, 0x1 + b _08027E46 +_08027E34: + adds r0, r4, 0 + bl sub_8027E4C + lsls r0, 24 + cmp r0, 0 + bne _08027E44 + movs r0, 0x3 + b _08027E46 +_08027E44: + movs r0, 0x2 +_08027E46: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8027E18 + + thumb_func_start sub_8027E4C +sub_8027E4C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r5, 0 + adds r4, 0x28 + ldrb r0, [r4] + bl IsNotMoneyOrUsedTMItem + lsls r0, 24 + cmp r0, 0 + beq _08027E88 + ldrb r0, [r4] + bl IsThrowableItem + lsls r0, 24 + cmp r0, 0 + beq _08027E94 + ldr r0, _08027E8C + ldr r1, [r0] + ldrb r0, [r4] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r1, [r1] + adds r0, r5, 0 + adds r0, 0x29 + ldrb r0, [r0] + adds r1, r0 + ldr r0, _08027E90 + cmp r1, r0 + ble _08027EA8 +_08027E88: + movs r0, 0 + b _08027EAA + .align 2, 0 +_08027E8C: .4byte gTeamInventory_203B460 +_08027E90: .4byte 0x000003e7 +_08027E94: + ldr r0, _08027EB0 + ldr r1, [r0] + ldrb r0, [r4] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r1, [r1] + ldr r0, _08027EB4 + cmp r1, r0 + bhi _08027E88 +_08027EA8: + movs r0, 0x1 +_08027EAA: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08027EB0: .4byte gTeamInventory_203B460 +_08027EB4: .4byte 0x000003e6 + thumb_func_end sub_8027E4C + + thumb_func_start sub_8027EB8 +sub_8027EB8: + push {r4,lr} + ldr r4, _08027ED4 + ldr r0, [r4] + ldr r0, [r0, 0x18] + bl sub_8027E18 + cmp r0, 0x1 + beq _08027ED8 + cmp r0, 0x1 + bcc _08027F7C + cmp r0, 0x2 + beq _08027F0C + b _08027F7C + .align 2, 0 +_08027ED4: .4byte gUnknown_203B2BC +_08027ED8: + ldr r0, _08027F08 + bl PlaySound + ldr r0, [r4] + adds r0, 0x14 + bl sub_8091274 + bl FillInventoryGaps + ldr r0, [r4] + movs r1, 0 + strb r1, [r0, 0x14] + ldr r0, [r4] + strb r1, [r0, 0x15] + ldr r1, [r4] + movs r2, 0x8 + ldrsh r0, [r1, r2] + adds r1, 0x14 + bl GivePokemonItem + movs r0, 0x6 + bl SetFriendAreaActionMenuState + b _08027F82 + .align 2, 0 +_08027F08: .4byte 0x0000014d +_08027F0C: + ldr r0, _08027F38 + bl PlaySound + ldr r0, [r4] + ldrb r0, [r0, 0x14] + bl IsThrowableItem + lsls r0, 24 + cmp r0, 0 + beq _08027F40 + ldr r0, _08027F3C + ldr r1, [r0] + ldr r2, [r4] + ldrb r0, [r2, 0x14] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r0, [r1] + ldrb r2, [r2, 0x15] + adds r0, r2 + b _08027F52 + .align 2, 0 +_08027F38: .4byte 0x0000014d +_08027F3C: .4byte gTeamInventory_203B460 +_08027F40: + ldr r0, _08027F74 + ldr r1, [r0] + ldr r0, [r4] + ldrb r0, [r0, 0x14] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r0, [r1] + adds r0, 0x1 +_08027F52: + strh r0, [r1] + ldr r1, _08027F78 + ldr r0, [r1] + movs r2, 0 + strb r2, [r0, 0x14] + ldr r0, [r1] + strb r2, [r0, 0x15] + ldr r1, [r1] + movs r2, 0x8 + ldrsh r0, [r1, r2] + adds r1, 0x14 + bl GivePokemonItem + movs r0, 0x7 + bl SetFriendAreaActionMenuState + b _08027F82 + .align 2, 0 +_08027F74: .4byte gTeamInventory_203B460 +_08027F78: .4byte gUnknown_203B2BC +_08027F7C: + movs r0, 0x2 + bl SetFriendAreaActionMenuState +_08027F82: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8027EB8 + + + .align 2,0 diff --git a/asm/gulpin_shop.s b/asm/gulpin_shop.s index 3e8b4b4..6482a8a 100644 --- a/asm/gulpin_shop.s +++ b/asm/gulpin_shop.s @@ -389,125 +389,4 @@ _0801ED22: bx r0 thumb_func_end sub_801ECBC - thumb_func_start sub_801ED28 -sub_801ED28: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_801EF38 - ldr r4, _0801ED60 - ldr r0, [r4] - adds r0, 0x78 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0801ED4E - ldr r0, [r4] - adds r0, 0x78 - mov r1, sp - bl sub_8013114 -_0801ED4E: - ldr r0, [sp] - cmp r0, 0x2 - beq _0801ED74 - cmp r0, 0x2 - bgt _0801ED64 - cmp r0, 0x1 - beq _0801ED6C - b _0801ED9A - .align 2, 0 -_0801ED60: .4byte gUnknown_203B26C -_0801ED64: - cmp r0, 0x3 - beq _0801ED94 - cmp r0, 0x5 - bne _0801ED9A -_0801ED6C: - movs r0, 0x1 - bl UpdateGulpinShopState - b _0801ED9A -_0801ED74: - ldr r0, _0801ED90 - bl PlaySound - ldr r1, [r4] - ldr r0, [r1, 0x20] - ldr r1, [r1, 0x10] - bl sub_80934B0 - ldr r1, [r4] - strb r0, [r1, 0xE] - movs r0, 0x4 - bl UpdateGulpinShopState - b _0801ED9A - .align 2, 0 -_0801ED90: .4byte 0x00000133 -_0801ED94: - movs r0, 0x3 - bl UpdateGulpinShopState -_0801ED9A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_801ED28 - - thumb_func_start sub_801EDA4 -sub_801EDA4: - push {lr} - bl sub_801F890 - cmp r0, 0x1 - bls _0801EDBC - cmp r0, 0x3 - bhi _0801EDBC - bl sub_801F8D0 - movs r0, 0x1 - bl UpdateGulpinShopState -_0801EDBC: - pop {r0} - bx r0 - thumb_func_end sub_801EDA4 - - thumb_func_start sub_801EDC0 -sub_801EDC0: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0801EE06 - ldr r0, [sp] - cmp r0, 0x4 - beq _0801EDE4 - cmp r0, 0x4 - bgt _0801EDDE - cmp r0, 0x1 - beq _0801EE00 - b _0801EE06 -_0801EDDE: - cmp r0, 0x5 - beq _0801EE00 - b _0801EE06 -_0801EDE4: - bl sub_801F214 - ldr r4, _0801EDFC - ldr r1, [r4] - ldr r0, [r1, 0x10] - ldr r1, [r1, 0x20] - bl sub_8093CF8 - ldr r1, [r4] - movs r0, 0x5 - str r0, [r1, 0x4] - b _0801EE06 - .align 2, 0 -_0801EDFC: .4byte gUnknown_203B26C -_0801EE00: - movs r0, 0x1 - bl UpdateGulpinShopState -_0801EE06: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_801EDC0 - .align 2,0 diff --git a/asm/rescue_password_menu.s b/asm/rescue_password_menu.s index 4f85be7..88fcd49 100644 --- a/asm/rescue_password_menu.s +++ b/asm/rescue_password_menu.s @@ -5,193 +5,6 @@ .text - thumb_func_start CreateRescuePasswordMenu -CreateRescuePasswordMenu: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - ldr r5, _080389B8 - ldr r0, [r5] - cmp r0, 0 - bne _0803892A - movs r4, 0x85 - lsls r4, 2 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_0803892A: - movs r0, 0x1B - negs r0, r0 - adds r0, r6 - mov r8, r0 - mov r12, r5 - movs r1, 0xA4 - lsls r1, 1 - mov r9, r1 - ldr r4, _080389BC - mov r10, r4 - movs r3, 0 - movs r2, 0x3 -_08038942: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r9 - mov r0, r10 - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _08038942 - bl ResetUnusedInputStruct - ldr r4, _080389B8 - ldr r0, [r4] - movs r7, 0xA4 - lsls r7, 1 - adds r0, r7 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r2, _080389C0 - ldrb r0, [r2] - cmp r0, 0 - bne _08038986 - ldr r0, _080389C4 - ldr r1, [r0] - adds r7, r4, 0 - adds r5, r0, 0 - cmp r1, r6 - beq _080389A0 -_08038986: - adds r7, r4, 0 - adds r3, r2, 0 - ldr r5, _080389C4 - ldr r1, _080389C8 - movs r2, 0 - adds r0, r1, 0 - adds r0, 0x35 -_08038994: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _08038994 - movs r0, 0 - strb r0, [r3] -_080389A0: - ldr r0, [r7] - str r6, [r0] - str r6, [r5] - mov r0, r8 - cmp r0, 0x7 - bhi _08038A36 - lsls r0, 2 - ldr r1, _080389CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080389B8: .4byte gRescuePasswordMenu -_080389BC: .4byte gUnknown_80E71E4 -_080389C0: .4byte gUnknown_203B368 -_080389C4: .4byte gUnknown_203B36C -_080389C8: .4byte gUnknown_202EC50 -_080389CC: .4byte _080389D0 - .align 2, 0 -_080389D0: - .4byte _080389F0 - .4byte _080389FC - .4byte _080389F0 - .4byte _080389FC - .4byte _080389F0 - .4byte _080389FC - .4byte _08038A0C - .4byte _08038A2E -_080389F0: - bl sub_8035D74 - movs r1, 0 - bl sub_8031D70 - b _08038A36 -_080389FC: - ldr r1, _08038A08 - movs r0, 0x4 - bl sub_80151C0 - b _08038A36 - .align 2, 0 -_08038A08: .4byte gUnknown_202EC50 -_08038A0C: - movs r0, 0x1F - bl sub_8095228 - adds r4, r0, 0 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - movs r1, 0 - movs r0, 0x2 - strb r0, [r4] - adds r4, 0x22 - strb r1, [r4] - movs r0, 0x1F - bl sub_8031D70 - b _08038A36 -_08038A2E: - ldr r1, _08038A54 - movs r0, 0x4 - bl sub_80151C0 -_08038A36: - adds r0, r6, 0 - bl sub_8039000 - ldr r1, _08038A58 - ldr r1, [r1] - str r0, [r1, 0x4] - bl sub_8039174 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08038A54: .4byte gUnknown_202EC50 -_08038A58: .4byte gRescuePasswordMenu - thumb_func_end CreateRescuePasswordMenu - - thumb_func_start CleanRescuePasswordMenu -CleanRescuePasswordMenu: - push {r4,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _08038A8C - ldr r0, [r4] - cmp r0, 0 - beq _08038A86 - bl sub_80155F0 - bl sub_8031E10 - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08038A86: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08038A8C: .4byte gRescuePasswordMenu - thumb_func_end CleanRescuePasswordMenu - thumb_func_start UpdateRescuePasswordMenu UpdateRescuePasswordMenu: push {r4-r6,lr} @@ -535,7 +348,7 @@ _08038D66: ldr r4, _08038DA0 ldr r0, [r4] ldr r0, [r0] - bl sub_8039000 + bl ConvertMenutoRescuePasswordState ldr r1, [r4] str r0, [r1, 0x4] ldr r0, [r1] @@ -822,8 +635,8 @@ _08038FF8: .4byte gUnknown_80E7278 _08038FFC: .4byte gUnknown_80E7290 thumb_func_end sub_8038F98 - thumb_func_start sub_8039000 -sub_8039000: + thumb_func_start ConvertMenutoRescuePasswordState +ConvertMenutoRescuePasswordState: push {lr} movs r1, 0xB ldr r0, _0803901C @@ -877,7 +690,7 @@ _08039062: adds r0, r1, 0 pop {r1} bx r1 - thumb_func_end sub_8039000 + thumb_func_end ConvertMenutoRescuePasswordState thumb_func_start sub_8039068 sub_8039068: @@ -1085,53 +898,4 @@ _080391F0: .4byte 0x00003fff _080391F4: .4byte 0x00000fff thumb_func_end sub_8039174 - thumb_func_start sub_80391F8 -sub_80391F8: - push {r4-r6,lr} - ldr r6, _08039250 - ldr r2, [r6] - movs r0, 0x82 - lsls r0, 2 - adds r4, r2, r0 - ldrh r1, [r4, 0x2] - movs r0, 0xFE - lsls r0, 8 - ands r0, r1 - movs r1, 0x70 - orrs r0, r1 - strh r0, [r4, 0x2] - movs r3, 0xE0 - lsls r3, 3 - ldrh r1, [r4, 0x6] - movs r0, 0xF - ands r0, r1 - orrs r0, r3 - strh r0, [r4, 0x6] - movs r5, 0x84 - lsls r5, 2 - adds r2, r5 - ldr r0, [r2] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0803923C - adds r1, 0xF8 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0 - bl AddSprite -_0803923C: - bl xxx_draw_string_80144C4 - ldr r1, [r6] - adds r1, r5 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08039250: .4byte gRescuePasswordMenu - thumb_func_end sub_80391F8 - .align 2,0 diff --git a/asm/wonder_mail.s b/asm/wonder_mail.s index 2955f9f..45f3360 100644 --- a/asm/wonder_mail.s +++ b/asm/wonder_mail.s @@ -5,313 +5,6 @@ .text - thumb_func_start sub_8028078 -sub_8028078: - push {lr} - ldr r0, _08028090 - ldr r0, [r0] - ldr r0, [r0, 0x4] - cmp r0, 0x3C - bls _08028086 - b _080282D4 -_08028086: - lsls r0, 2 - ldr r1, _08028094 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08028090: .4byte gUnknown_203B2C0 -_08028094: .4byte _08028098 - .align 2, 0 -_08028098: - .4byte _080282C4 - .4byte _080282C4 - .4byte _080282CA - .4byte _080282D0 - .4byte _08028222 - .4byte _08028234 - .4byte _08028228 - .4byte _0802822E - .4byte _0802823A - .4byte _080281FE - .4byte _08028272 - .4byte _08028278 - .4byte _0802828C - .4byte _0802827E - .4byte _0802828C - .4byte _0802827E - .4byte _0802828C - .4byte _08028286 - .4byte _08028294 - .4byte _0802829A - .4byte _080282B2 - .4byte _080282B8 - .4byte _080282BE - .4byte _080282A0 - .4byte _080282A6 - .4byte _080282AC - .4byte _08028240 - .4byte _08028248 - .4byte _0802824E - .4byte _0802824E - .4byte _0802825A - .4byte _0802826C - .4byte _08028260 - .4byte _08028266 - .4byte _08028254 - .4byte _08028204 - .4byte _0802820A - .4byte _080282CA - .4byte _08028210 - .4byte _08028216 - .4byte _0802821C - .4byte _080281E0 - .4byte _080281F2 - .4byte _080281E6 - .4byte _080281EC - .4byte _080281DA - .4byte _080281D4 - .4byte _080281F8 - .4byte _080281CE - .4byte _080281C2 - .4byte _080281AA - .4byte _080281B0 - .4byte _080281B6 - .4byte _080281BC - .4byte _080281C8 - .4byte _080281A4 - .4byte _0802819E - .4byte _080282CA - .4byte _08028192 - .4byte _08028198 - .4byte _0802818C -_0802818C: - bl sub_8029B34 - b _080282D4 -_08028192: - bl sub_8029AD8 - b _080282D4 -_08028198: - bl sub_8029AF4 - b _080282D4 -_0802819E: - bl sub_8029A88 - b _080282D4 -_080281A4: - bl sub_8029AB0 - b _080282D4 -_080281AA: - bl sub_80297B8 - b _080282D4 -_080281B0: - bl sub_80297D4 - b _080282D4 -_080281B6: - bl sub_8029884 - b _080282D4 -_080281BC: - bl sub_8029944 - b _080282D4 -_080281C2: - bl sub_80299AC - b _080282D4 -_080281C8: - bl sub_80299D8 - b _080282D4 -_080281CE: - bl sub_8029A6C - b _080282D4 -_080281D4: - bl sub_8029A18 - b _080282D4 -_080281DA: - bl sub_80295A8 - b _080282D4 -_080281E0: - bl sub_8029668 - b _080282D4 -_080281E6: - bl sub_8029684 - b _080282D4 -_080281EC: - bl sub_8029740 - b _080282D4 -_080281F2: - bl sub_80295D8 - b _080282D4 -_080281F8: - bl sub_802979C - b _080282D4 -_080281FE: - bl sub_8029358 - b _080282D4 -_08028204: - bl sub_8029374 - b _080282D4 -_0802820A: - bl sub_802939C - b _080282D4 -_08028210: - bl sub_80293D8 - b _080282D4 -_08028216: - bl sub_80293F4 - b _080282D4 -_0802821C: - bl sub_802955C - b _080282D4 -_08028222: - bl sub_80292A4 - b _080282D4 -_08028228: - bl sub_80292EC - b _080282D4 -_0802822E: - bl sub_802933C - b _080282D4 -_08028234: - bl sub_802958C - b _080282D4 -_0802823A: - bl sub_8029208 - b _080282D4 -_08028240: - movs r0, 0x1 - bl sub_8028DE8 - b _080282D4 -_08028248: - bl sub_8028F80 - b _080282D4 -_0802824E: - bl sub_8028FC0 - b _080282D4 -_08028254: - bl sub_8028FDC - b _080282D4 -_0802825A: - bl sub_80290D4 - b _080282D4 -_08028260: - bl sub_80290F0 - b _080282D4 -_08028266: - bl sub_80291AC - b _080282D4 -_0802826C: - bl sub_8029044 - b _080282D4 -_08028272: - bl sub_8028CFC - b _080282D4 -_08028278: - bl sub_8028D4C - b _080282D4 -_0802827E: - movs r0, 0xA - bl sub_8028DE8 - b _080282D4 -_08028286: - bl sub_8028E08 - b _080282D4 -_0802828C: - movs r0, 0x19 - bl sub_8028DE8 - b _080282D4 -_08028294: - bl sub_8028E24 - b _080282D4 -_0802829A: - bl sub_8028E54 - b _080282D4 -_080282A0: - bl sub_8028E84 - b _080282D4 -_080282A6: - bl sub_8028EAC - b _080282D4 -_080282AC: - bl sub_8028ED4 - b _080282D4 -_080282B2: - bl sub_8028F04 - b _080282D4 -_080282B8: - bl sub_8028F30 - b _080282D4 -_080282BE: - bl sub_8028F58 - b _080282D4 -_080282C4: - bl sub_8028BF0 - b _080282D4 -_080282CA: - bl sub_8028CE0 - b _080282D4 -_080282D0: - movs r0, 0x3 - b _080282D6 -_080282D4: - movs r0, 0 -_080282D6: - pop {r1} - bx r1 - thumb_func_end sub_8028078 - - thumb_func_start sub_80282DC -sub_80282DC: - ldr r1, _080282F4 - ldr r1, [r1] - movs r3, 0x86 - lsls r3, 2 - adds r2, r1, r3 - ldrb r2, [r2] - strb r2, [r0] - ldr r0, _080282F8 - adds r1, r0 - ldr r0, [r1] - bx lr - .align 2, 0 -_080282F4: .4byte gUnknown_203B2C0 -_080282F8: .4byte 0x0000053c - thumb_func_end sub_80282DC - - thumb_func_start sub_80282FC -sub_80282FC: - push {r4,lr} - ldr r4, _08028340 - ldr r0, [r4] - cmp r0, 0 - beq _08028338 - movs r1, 0x84 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - bl CloseFile - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] - bl sub_8031E10 - bl sub_8023C60 - bl sub_803084C - bl sub_80155F0 - bl sub_80310B4 - bl sub_8030DE4 - bl sub_802453C -_08028338: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08028340: .4byte gUnknown_203B2C0 - thumb_func_end sub_80282FC - - thumb_func_start nullsub_130 -nullsub_130: - bx lr - thumb_func_end nullsub_130 - thumb_func_start sub_8028348 sub_8028348: push {r4-r6,lr} diff --git a/asm/wonder_mail_1.s b/asm/wonder_mail_1.s deleted file mode 100644 index 133b481..0000000 --- a/asm/wonder_mail_1.s +++ /dev/null @@ -1,806 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_802ABF8 -sub_802ABF8: - push {r4-r6,lr} - sub sp, 0xB8 - ldr r1, _0802AC14 - ldr r0, [r1] - ldrb r0, [r0] - adds r6, r1, 0 - cmp r0, 0x2A - bls _0802AC0A - b _0802B2AA -_0802AC0A: - lsls r0, 2 - ldr r1, _0802AC18 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802AC14: .4byte gUnknown_203B2C4 -_0802AC18: .4byte _0802AC1C - .align 2, 0 -_0802AC1C: - .4byte _0802B1DC - .4byte _0802B1FC - .4byte _0802B22C - .4byte _0802B2AA - .4byte _0802B1D4 - .4byte _0802ACC8 - .4byte _0802B248 - .4byte _0802B194 - .4byte _0802B1A4 - .4byte _0802B168 - .4byte _0802B138 - .4byte _0802B128 - .4byte _0802B0F0 - .4byte _0802B0AC - .4byte _0802AD08 - .4byte _0802AD18 - .4byte _0802AD20 - .4byte _0802AD46 - .4byte _0802B2AA - .4byte _0802AD80 - .4byte _0802ADB0 - .4byte _0802B2AA - .4byte _0802B07C - .4byte _0802B094 - .4byte _0802B2AA - .4byte _0802AF50 - .4byte _0802AF1A - .4byte _0802AF46 - .4byte _0802B2AA - .4byte _0802B0A4 - .4byte _0802ADF8 - .4byte _0802B2AA - .4byte _0802AF70 - .4byte _0802AF78 - .4byte _0802AFAC - .4byte _0802B2AA - .4byte _0802AF60 - .4byte _0802B2AA - .4byte _0802AEEC - .4byte _0802AEF4 - .4byte _0802B2AA - .4byte _0802B110 - .4byte _0802B120 -_0802ACC8: - bl sub_808D33C - adds r1, r0, 0 - adds r1, 0x4C - add r0, sp, 0x14 - movs r2, 0xA - bl sub_80922B4 - ldr r5, _0802ACF8 - ldr r0, [r5] - ldr r4, _0802ACFC - adds r0, r4 - ldr r1, _0802AD00 - add r2, sp, 0x14 - bl ExpandPlaceholdersBuffer - ldr r2, [r5] - adds r4, r2, r4 - movs r0, 0x84 - lsls r0, 3 - adds r2, r0 - ldr r3, _0802AD04 - adds r0, r4, 0 - b _0802B238 - .align 2, 0 -_0802ACF8: .4byte gUnknown_203B2C4 -_0802ACFC: .4byte 0x00000434 -_0802AD00: .4byte gUnknown_80DF250 -_0802AD04: .4byte 0x0000010d -_0802AD08: - ldr r0, _0802AD10 - ldr r3, _0802AD14 - b _0802B1A8 - .align 2, 0 -_0802AD10: .4byte gUnknown_80DF304 -_0802AD14: .4byte gUnknown_80DEE60 -_0802AD18: - ldr r0, _0802AD1C - b _0802B22E - .align 2, 0 -_0802AD1C: .4byte gUnknown_80DF330 -_0802AD20: - bl sub_8030894 - cmp r0, 0 - beq _0802AD2A - b _0802B2AA -_0802AD2A: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x5 - movs r1, 0 - movs r2, 0 - movs r3, 0x6 - bl sub_80306A8 - b _0802B2AA -_0802AD46: - ldr r0, [r6] - movs r4, 0xD7 - lsls r4, 2 - adds r0, r4 - bl sub_8006518 - ldr r1, [r6] - movs r5, 0x87 - lsls r5, 2 - adds r0, r1, r5 - adds r1, r4 - ldr r3, _0802AD78 - ldr r2, _0802AD7C - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - str r2, [sp, 0xC] - movs r2, 0x3 - bl SetMenuItems - bl sub_803092C - b _0802ADE0 - .align 2, 0 -_0802AD78: .4byte gUnknown_80DED60 -_0802AD7C: .4byte gUnknown_80DED78 -_0802AD80: - bl sub_801D008 - cmp r0, 0 - beq _0802AD8A - b _0802B2AA -_0802AD8A: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - add r2, sp, 0xB4 - ldr r0, _0802ADAC - str r0, [r2] - movs r0, 0 - movs r1, 0x1 - movs r3, 0x9 - bl sub_801C8C4 - b _0802B2AA - .align 2, 0 -_0802ADAC: .4byte 0x00020003 -_0802ADB0: - ldr r0, [r6] - movs r4, 0xD7 - lsls r4, 2 - adds r0, r4 - bl sub_8006518 - ldr r1, [r6] - movs r5, 0x87 - lsls r5, 2 - adds r0, r1, r5 - adds r1, r4 - ldr r3, _0802ADF0 - ldr r2, _0802ADF4 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - str r2, [sp, 0xC] - movs r2, 0x3 - bl SetMenuItems - bl sub_801CCD8 -_0802ADE0: - ldr r0, [r6] - adds r0, r5 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - b _0802B2AA - .align 2, 0 -_0802ADF0: .4byte gUnknown_80DED48 -_0802ADF4: .4byte gUnknown_80DED78 -_0802ADF8: - ldr r1, [r6] - movs r0, 0 - str r0, [r1, 0x44] - bl sub_8011830 - ldr r0, [r6] - ldr r0, [r0, 0x40] - bl sub_8037B28 - ldr r1, [r6] - str r0, [r1, 0x44] - cmp r0, 0 - bne _0802AEE6 - ldr r0, [r1, 0x40] - cmp r0, 0x6 - beq _0802AE1E - cmp r0, 0x7 - beq _0802AE5C - b _0802AE8C -_0802AE1E: - movs r4, 0xDC - lsls r4, 1 - adds r0, r1, r4 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r5, 0x86 - lsls r5, 2 - adds r0, r5 - ldrb r0, [r0] - bl sub_8095228 - ldr r1, [r6] - adds r1, r4 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r4, r2, r4 - movs r1, 0xF4 - lsls r1, 1 - adds r2, r1 - b _0802AE82 -_0802AE5C: - movs r4, 0xDC - lsls r4, 1 - adds r0, r1, r4 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r5, 0xF4 - lsls r5, 1 - adds r0, r5 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r4, r2, r4 - adds r2, r5 -_0802AE82: - adds r1, r4, 0 - bl sub_8037D64 - ldr r1, [r6] - str r0, [r1, 0x44] -_0802AE8C: - ldr r4, _0802AED0 - ldr r2, [r4] - ldr r0, [r2, 0x44] - cmp r0, 0 - bne _0802AEE6 - ldr r0, [r2, 0x40] - cmp r0, 0x7 - bhi _0802AEE6 - cmp r0, 0x6 - bcc _0802AEE6 - movs r3, 0xDC - lsls r3, 1 - adds r1, r2, r3 - movs r5, 0xF4 - lsls r5, 1 - adds r2, r5 - bl sub_80381F4 - ldr r1, [r4] - str r0, [r1, 0x44] - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _0802AED4 - ldr r0, [r4] - movs r2, 0x86 - lsls r2, 3 - adds r1, r0, r2 - movs r3, 0xFC - lsls r3, 1 - adds r0, r3 - b _0802AEE2 - .align 2, 0 -_0802AED0: .4byte gUnknown_203B2C4 -_0802AED4: - ldr r0, [r4] - movs r5, 0x86 - lsls r5, 3 - adds r1, r0, r5 - movs r2, 0xE4 - lsls r2, 1 - adds r0, r2 -_0802AEE2: - ldr r0, [r0] - str r0, [r1] -_0802AEE6: - bl xxx_call_start_bg_music - b _0802B2AA -_0802AEEC: - ldr r0, _0802AEF0 - b _0802B22E - .align 2, 0 -_0802AEF0: .4byte gUnknown_80DF380 -_0802AEF4: - ldr r0, [r6] - movs r5, 0xEF - lsls r5, 2 - adds r0, r5 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, [r6] - adds r1, 0x8 - movs r0, 0x4 - bl sub_80151C0 - b _0802B2AA -_0802AF1A: - ldr r0, [r6] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r6] - movs r2, 0x86 - lsls r2, 2 - adds r0, r2 - ldrb r0, [r0] - movs r1, 0 - bl sub_8031D70 - b _0802B2AA -_0802AF46: - ldr r0, _0802AF4C - b _0802B22E - .align 2, 0 -_0802AF4C: .4byte gUnknown_80DF3B4 -_0802AF50: - ldr r0, _0802AF5C - ldr r2, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r2, r5 - b _0802B236 - .align 2, 0 -_0802AF5C: .4byte gUnknown_80DF418 -_0802AF60: - ldr r0, _0802AF6C - ldr r2, [r6] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - b _0802B236 - .align 2, 0 -_0802AF6C: .4byte gUnknown_80DF44C -_0802AF70: - ldr r0, _0802AF74 - b _0802B22E - .align 2, 0 -_0802AF74: .4byte gUnknown_80DF46C -_0802AF78: - ldr r0, [r6] - ldr r5, _0802AF90 - adds r0, r5 - ldr r0, [r0] - cmp r0, 0x4 - bne _0802AF86 - b _0802B2AA -_0802AF86: - cmp r0, 0x4 - bgt _0802AF94 - cmp r0, 0x3 - beq _0802AF9A - b _0802B2AA - .align 2, 0 -_0802AF90: .4byte 0x00000534 -_0802AF94: - cmp r0, 0x6 - ble _0802AF9A - b _0802B2AA -_0802AF9A: - ldr r0, _0802AFA8 - ldr r2, [r6] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - b _0802B236 - .align 2, 0 -_0802AFA8: .4byte gUnknown_80DF4F4 -_0802AFAC: - movs r4, 0x98 - lsls r4, 1 - adds r0, r4, 0 - bl GetMonSpecies - adds r1, r0, 0 - ldr r5, _0802B00C - ldr r0, [r5] - ldr r2, _0802B010 - adds r0, r2 - bl strcpy - ldr r1, [r5] - movs r3, 0xAA - lsls r3, 3 - adds r0, r1, r3 - movs r2, 0 - strh r4, [r0] - ldr r0, _0802B014 - adds r1, r0 - movs r0, 0x2 - strb r0, [r1] - ldr r0, [r5] - adds r3, 0x4 - adds r1, r0, r3 - str r2, [r1] - movs r1, 0x86 - lsls r1, 3 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x6 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r2, r0, 0 - adds r0, 0x22 - ldrb r1, [r0] - cmp r1, 0 - beq _0802B018 - ldr r0, [r5] - movs r3, 0xAB - lsls r3, 3 - adds r0, r3 - b _0802B022 - .align 2, 0 -_0802B00C: .4byte gUnknown_203B2C4 -_0802B010: .4byte 0x0000053c -_0802B014: .4byte 0x00000552 -_0802B018: - ldr r0, [r5] - movs r5, 0xAB - lsls r5, 3 - adds r0, r5 - movs r1, 0 -_0802B022: - strb r1, [r0] - ldr r4, _0802B068 - ldr r0, [r4] - ldr r1, _0802B06C - adds r0, r1 - movs r5, 0 - movs r1, 0x1 - strb r1, [r0] - adds r0, r2, 0x4 - movs r1, 0 - bl sub_803C200 - ldr r1, [r4] - movs r3, 0xAC - lsls r3, 3 - adds r2, r1, r3 - str r0, [r2] - ldr r0, _0802B070 - adds r1, r0 - strb r5, [r1] - ldr r0, [r4] - ldr r1, _0802B074 - adds r0, r1 - strb r5, [r0] - ldr r0, [r4] - ldr r2, _0802B078 - adds r0, r2 - strb r5, [r0] - ldr r0, [r4] - subs r3, 0x24 - adds r0, r3 - movs r1, 0 - bl sub_802F204 - b _0802B2AA - .align 2, 0 -_0802B068: .4byte gUnknown_203B2C4 -_0802B06C: .4byte 0x0000055b -_0802B070: .4byte 0x00000559 -_0802B074: .4byte 0x0000055a -_0802B078: .4byte 0x0000055c -_0802B07C: - movs r0, 0 - bl nullsub_23 - ldr r0, _0802B090 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80141B4 - b _0802B2AA - .align 2, 0 -_0802B090: .4byte gUnknown_80DF544 -_0802B094: - ldr r0, _0802B0A0 - ldr r2, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r2, r5 - b _0802B236 - .align 2, 0 -_0802B0A0: .4byte gUnknown_80DF594 -_0802B0A4: - ldr r0, _0802B0A8 - b _0802B1A6 - .align 2, 0 -_0802B0A8: .4byte gUnknown_80DF5E4 -_0802B0AC: - bl sub_808D33C - adds r1, r0, 0 - add r6, sp, 0x64 - adds r1, 0x4C - adds r0, r6, 0 - movs r2, 0xA - bl sub_80922B4 - ldr r5, _0802B0E0 - ldr r0, [r5] - ldr r4, _0802B0E4 - adds r0, r4 - ldr r1, _0802B0E8 - adds r2, r6, 0 - bl ExpandPlaceholdersBuffer - ldr r2, [r5] - adds r4, r2, r4 - movs r3, 0x84 - lsls r3, 3 - adds r2, r3 - ldr r3, _0802B0EC - adds r0, r4, 0 - b _0802B238 - .align 2, 0 -_0802B0E0: .4byte gUnknown_203B2C4 -_0802B0E4: .4byte 0x00000434 -_0802B0E8: .4byte gUnknown_80DF63C -_0802B0EC: .4byte 0x0000010d -_0802B0F0: - ldr r0, _0802B108 - ldr r3, _0802B10C - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r1, r5 - b _0802B1BA - .align 2, 0 -_0802B108: .4byte gUnknown_80DF694 -_0802B10C: .4byte gUnknown_80DEEE4 -_0802B110: - ldr r0, _0802B11C - ldr r2, [r6] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - b _0802B236 - .align 2, 0 -_0802B11C: .4byte gUnknown_80DF44C -_0802B120: - ldr r0, _0802B124 - b _0802B22E - .align 2, 0 -_0802B124: .4byte gUnknown_80DF6F0 -_0802B128: - ldr r0, _0802B134 - ldr r2, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r2, r5 - b _0802B236 - .align 2, 0 -_0802B134: .4byte gUnknown_80DF710 -_0802B138: - ldr r0, _0802B160 - ldr r3, _0802B164 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, [r6] - movs r2, 0x84 - lsls r2, 3 - adds r1, r2 - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0 - bl sub_8014248 - b _0802B2AA - .align 2, 0 -_0802B160: .4byte gUnknown_80DF73C -_0802B164: .4byte gUnknown_80DEEBC -_0802B168: - ldr r0, _0802B18C - ldr r3, _0802B190 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r1, r5 - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _0802B2AA - .align 2, 0 -_0802B18C: .4byte gUnknown_80DF77C -_0802B190: .4byte gUnknown_80DEE7C -_0802B194: - ldr r0, _0802B1A0 - ldr r2, [r6] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - b _0802B236 - .align 2, 0 -_0802B1A0: .4byte gUnknown_80DF7D4 -_0802B1A4: - ldr r0, _0802B1CC -_0802B1A6: - ldr r3, _0802B1D0 -_0802B1A8: - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, [r6] - movs r2, 0x84 - lsls r2, 3 - adds r1, r2 -_0802B1BA: - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x7 - bl sub_8014248 - b _0802B2AA - .align 2, 0 -_0802B1CC: .4byte gUnknown_80DF870 -_0802B1D0: .4byte gUnknown_80DEE44 -_0802B1D4: - ldr r0, _0802B1D8 - b _0802B22E - .align 2, 0 -_0802B1D8: .4byte gUnknown_80DF8B4 -_0802B1DC: - ldr r0, _0802B1F4 - ldr r3, _0802B1F8 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r1, r5 - b _0802B212 - .align 2, 0 -_0802B1F4: .4byte gUnknown_80DF8EC -_0802B1F8: .4byte gUnknown_80DEDB8 -_0802B1FC: - ldr r0, _0802B224 - ldr r3, _0802B228 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, [r6] - movs r2, 0x84 - lsls r2, 3 - adds r1, r2 -_0802B212: - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x1 - bl sub_8014248 - b _0802B2AA - .align 2, 0 -_0802B224: .4byte gUnknown_80DF928 -_0802B228: .4byte gUnknown_80DEDB8 -_0802B22C: - ldr r0, _0802B240 -_0802B22E: - ldr r2, [r6] - movs r3, 0x84 - lsls r3, 3 - adds r2, r3 -_0802B236: - ldr r3, _0802B244 -_0802B238: - movs r1, 0 - bl sub_80141B4 - b _0802B2AA - .align 2, 0 -_0802B240: .4byte gUnknown_80DF94C -_0802B244: .4byte 0x0000010d -_0802B248: - ldr r4, [r6] - movs r5, 0xA7 - lsls r5, 3 - adds r0, r4, r5 - ldr r0, [r0] - cmp r0, 0x1 - beq _0802B25C - cmp r0, 0x2 - beq _0802B288 - b _0802B2AA -_0802B25C: - ldr r0, _0802B280 - ldr r3, _0802B284 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - movs r2, 0x84 - lsls r2, 3 - adds r1, r4, r2 - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x3 - bl sub_8014248 - b _0802B2AA - .align 2, 0 -_0802B280: .4byte gUnknown_80DF96C -_0802B284: .4byte gUnknown_80DEE08 -_0802B288: - ldr r0, _0802B2B4 - ldr r3, _0802B2B8 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - movs r5, 0x84 - lsls r5, 3 - adds r1, r4, r5 - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x3 - bl sub_8014248 -_0802B2AA: - add sp, 0xB8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802B2B4: .4byte gUnknown_80DF9A4 -_0802B2B8: .4byte gUnknown_80DEE08 - thumb_func_end sub_802ABF8 - - .align 2,0 diff --git a/asm/wonder_mail_2.s b/asm/wonder_mail_2.s new file mode 100644 index 0000000..f1ec9b6 --- /dev/null +++ b/asm/wonder_mail_2.s @@ -0,0 +1,3103 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_802B880 +sub_802B880: + push {r4,lr} + ldr r4, _0802B8D0 + ldr r0, [r4] + adds r0, 0x52 + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x6C] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x82 + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x6C] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x84 + strh r3, [r2] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x74 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802B8D0: .4byte gUnknown_203B2CC + thumb_func_end sub_802B880 + + thumb_func_start sub_802B8D4 +sub_802B8D4: + push {r4-r7,lr} + sub sp, 0x8 + ldr r4, _0802B99C + ldr r0, [r4] + ldr r0, [r0, 0x6C] + bl sub_8008C54 + ldr r0, [r4] + ldr r0, [r0, 0x6C] + bl sub_80073B8 + ldr r2, _0802B9A0 + ldr r0, [r4] + ldr r3, [r0, 0x6C] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + movs r1, 0 + bl xxx_call_draw_string + ldr r0, _0802B9A4 + ldrb r0, [r0, 0x2] + lsls r0, 3 + adds r0, 0x4 + ldr r3, [r4] + adds r1, r3, 0 + adds r1, 0x56 + movs r5, 0 + ldrsh r2, [r1, r5] + adds r2, 0x1 + movs r1, 0x7 + str r1, [sp] + ldr r1, [r3, 0x6C] + str r1, [sp, 0x4] + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + movs r6, 0 + ldr r0, [r4] + adds r0, 0x52 + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r6, r0 + bge _0802B98A + adds r7, r4, 0 +_0802B930: + ldr r0, [r7] + adds r0, 0x38 + adds r1, r6, 0 + bl sub_8013800 + adds r5, r0, 0 + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0x56 + movs r3, 0 + ldrsh r2, [r0, r3] + subs r0, 0x2 + movs r3, 0 + ldrsh r0, [r0, r3] + muls r0, r2 + adds r0, r6 + adds r0, r1, r0 + ldrb r4, [r0] + ldr r3, [r1, 0x6C] + movs r0, 0xA + adds r1, r5, 0 + movs r2, 0x6 + bl sub_803B6B0 + bl sub_802BC7C + adds r0, r4, 0 + bl GetPokemonMailHeadline + adds r2, r0, 0 + ldr r0, [r7] + ldr r3, [r0, 0x6C] + movs r0, 0 + str r0, [sp] + movs r0, 0x15 + adds r1, r5, 0 + bl xxx_format_and_draw + adds r6, 0x1 + ldr r0, [r7] + adds r0, 0x52 + movs r5, 0 + ldrsh r0, [r0, r5] + cmp r6, r0 + blt _0802B930 +_0802B98A: + ldr r0, _0802B99C + ldr r0, [r0] + ldr r0, [r0, 0x6C] + bl sub_80073E0 + add sp, 0x8 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802B99C: .4byte gUnknown_203B2CC +_0802B9A0: .4byte gUnknown_80DFC04 +_0802B9A4: .4byte gUnknown_80DFBE8 + thumb_func_end sub_802B8D4 + + thumb_func_start sub_802B9A8 +sub_802B9A8: + push {r4,r5,lr} + movs r5, 0 + movs r4, 0 +_0802B9AE: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096E14 + lsls r0, 24 + cmp r0, 0 + beq _0802B9C6 + ldr r0, _0802B9D4 + ldr r0, [r0] + adds r0, r5 + strb r4, [r0] + adds r5, 0x1 +_0802B9C6: + adds r4, 0x1 + cmp r4, 0x37 + ble _0802B9AE + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0802B9D4: .4byte gUnknown_203B2CC + thumb_func_end sub_802B9A8 + + thumb_func_start sub_802B9D8 +sub_802B9D8: + push {r4,lr} + movs r4, 0 +_0802B9DC: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096E14 + lsls r0, 24 + cmp r0, 0 + beq _0802B9EE + movs r0, 0 + b _0802B9F6 +_0802B9EE: + adds r4, 0x1 + cmp r4, 0x37 + ble _0802B9DC + movs r0, 0x1 +_0802B9F6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_802B9D8 + + thumb_func_start sub_802B9FC +sub_802B9FC: + push {r4-r7,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _0802BA80 + movs r0, 0x94 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r6, 0 + strb r4, [r0, 0x4] + ldr r0, [r5] + adds r0, 0x88 + bl sub_801317C + ldr r1, [r5] + str r6, [r1, 0x24] + adds r1, 0x28 + ldr r0, _0802BA84 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldr r1, [r5] + ldr r2, _0802BA88 + adds r1, 0x40 + adds r0, r2, 0 + ldm r0!, {r3,r4,r7} + stm r1!, {r3,r4,r7} + ldm r0!, {r3,r4,r7} + stm r1!, {r3,r4,r7} + ldr r1, [r5] + adds r1, 0x58 + adds r0, r2, 0 + ldm r0!, {r3,r4,r7} + stm r1!, {r3,r4,r7} + ldm r0!, {r3,r4,r7} + stm r1!, {r3,r4,r7} + ldr r0, [r5] + adds r0, 0x70 + ldm r2!, {r1,r4,r7} + stm r0!, {r1,r4,r7} + ldm r2!, {r3,r4,r7} + stm r0!, {r3,r4,r7} + bl ResetUnusedInputStruct + ldr r0, [r5] + adds r0, 0x28 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r5] + str r6, [r0, 0x8] + bl sub_802BCC4 + bl sub_802BC7C + movs r0, 0 + bl sub_802BB14 + movs r0, 0x1 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0802BA80: .4byte gUnknown_203B2D4 +_0802BA84: .4byte gUnknown_80DFC34 +_0802BA88: .4byte gUnknown_80DFC18 + thumb_func_end sub_802B9FC + + thumb_func_start sub_802BA8C +sub_802BA8C: + push {lr} + ldr r0, _0802BAA4 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x1 + beq _0802BAB8 + cmp r0, 0x1 + bgt _0802BAA8 + cmp r0, 0 + beq _0802BAB2 + b _0802BAC2 + .align 2, 0 +_0802BAA4: .4byte gUnknown_203B2D4 +_0802BAA8: + cmp r0, 0x2 + beq _0802BAC2 + cmp r0, 0x3 + beq _0802BABE + b _0802BAC2 +_0802BAB2: + bl sub_802BB98 + b _0802BAC6 +_0802BAB8: + bl sub_802BC08 + b _0802BAC6 +_0802BABE: + movs r0, 0x3 + b _0802BAC8 +_0802BAC2: + movs r0, 0x2 + b _0802BAC8 +_0802BAC6: + movs r0, 0 +_0802BAC8: + pop {r1} + bx r1 + thumb_func_end sub_802BA8C + + thumb_func_start sub_802BACC +sub_802BACC: + push {r4,r5,lr} + ldr r4, _0802BB0C + ldr r2, [r4] + cmp r2, 0 + beq _0802BB06 + ldr r0, [r2, 0x24] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x28 + ldr r0, _0802BB10 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x28 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802BB06: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802BB0C: .4byte gUnknown_203B2D4 +_0802BB10: .4byte gUnknown_80DFC18 + thumb_func_end sub_802BACC + + thumb_func_start sub_802BB14 +sub_802BB14: + push {lr} + ldr r1, _0802BB24 + ldr r1, [r1] + str r0, [r1] + bl sub_802BB28 + pop {r0} + bx r0 + .align 2, 0 +_0802BB24: .4byte gUnknown_203B2D4 + thumb_func_end sub_802BB14 + + thumb_func_start sub_802BB28 +sub_802BB28: + push {r4,r5,lr} + sub sp, 0x4 + ldr r5, _0802BB94 + ldr r1, [r5] + ldr r0, [r1] + cmp r0, 0 + blt _0802BB8C + cmp r0, 0x1 + bgt _0802BB8C + ldr r0, [r1, 0x24] + bl sub_8008C54 + ldr r0, [r5] + ldr r0, [r0, 0x24] + bl sub_80073B8 + ldr r0, [r5] + ldrb r0, [r0, 0x4] + bl GetPokemonMailHeadline + adds r2, r0, 0 + ldr r0, [r5] + ldr r3, [r0, 0x24] + movs r4, 0 + str r4, [sp] + movs r0, 0xA + movs r1, 0 + bl xxx_format_and_draw + ldr r3, [r5] + ldr r1, [r3, 0x8] + lsls r1, 2 + adds r0, r3, 0 + adds r0, 0x10 + adds r0, r1 + ldr r2, [r0] + ldr r3, [r3, 0x24] + str r4, [sp] + movs r0, 0x6 + movs r1, 0x14 + bl xxx_format_and_draw + ldr r0, [r5] + ldr r0, [r0, 0x24] + bl sub_80073E0 + ldr r1, [r5] + ldr r0, [r1, 0x8] + adds r0, 0x1 + str r0, [r1, 0x8] +_0802BB8C: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802BB94: .4byte gUnknown_203B2D4 + thumb_func_end sub_802BB28 + + thumb_func_start sub_802BB98 +sub_802BB98: + push {r4,lr} + ldr r0, _0802BBD4 + ldr r2, [r0] + ldr r1, [r2, 0xC] + adds r4, r0, 0 + cmp r1, 0 + beq _0802BBBC + ldr r0, [r2, 0x20] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _0802BBB4 + bl sub_8013E54 +_0802BBB4: + ldr r1, [r4] + ldr r0, [r1, 0x20] + adds r0, 0x1 + str r0, [r1, 0x20] +_0802BBBC: + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x88 + ldr r1, [r1, 0x24] + bl sub_8012A64 + cmp r0, 0x1 + beq _0802BBD8 + cmp r0, 0x2 + beq _0802BBF6 + b _0802BC02 + .align 2, 0 +_0802BBD4: .4byte gUnknown_203B2D4 +_0802BBD8: + movs r0, 0 + bl PlayMenuSoundEffect + ldr r0, [r4] + ldr r0, [r0, 0xC] + cmp r0, 0 + beq _0802BBEE + movs r0, 0x1 + bl sub_802BB14 + b _0802BC02 +_0802BBEE: + movs r0, 0x3 + bl sub_802BB14 + b _0802BC02 +_0802BBF6: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + bl sub_802BB14 +_0802BC02: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802BB98 + + thumb_func_start sub_802BC08 +sub_802BC08: + push {r4,lr} + ldr r0, _0802BC44 + ldr r3, [r0] + ldr r2, [r3, 0x8] + ldr r1, [r3, 0xC] + adds r4, r0, 0 + cmp r2, r1 + bge _0802BC2E + ldr r0, [r3, 0x20] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _0802BC26 + bl sub_8013E54 +_0802BC26: + ldr r1, [r4] + ldr r0, [r1, 0x20] + adds r0, 0x1 + str r0, [r1, 0x20] +_0802BC2E: + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x88 + ldr r1, [r1, 0x24] + bl sub_8012A64 + cmp r0, 0x1 + beq _0802BC48 + cmp r0, 0x2 + beq _0802BC68 + b _0802BC74 + .align 2, 0 +_0802BC44: .4byte gUnknown_203B2D4 +_0802BC48: + movs r0, 0 + bl PlayMenuSoundEffect + ldr r0, [r4] + ldr r1, [r0, 0x8] + ldr r0, [r0, 0xC] + cmp r1, r0 + bge _0802BC60 + movs r0, 0x1 + bl sub_802BB14 + b _0802BC74 +_0802BC60: + movs r0, 0x3 + bl sub_802BB14 + b _0802BC74 +_0802BC68: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + bl sub_802BB14 +_0802BC74: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802BC08 + + thumb_func_start sub_802BC7C +sub_802BC7C: + push {r4,lr} + ldr r4, _0802BCA4 + bl sub_808D3BC + adds r1, r0, 0 + adds r0, r4, 0 + bl sub_808DA34 + ldr r0, _0802BCA8 + ldr r0, [r0] + ldrb r0, [r0, 0xB] + cmp r0, 0x1 + bne _0802BCB0 + adds r0, r4, 0 + adds r0, 0x50 + ldr r1, _0802BCAC + bl strcpy + b _0802BCBA + .align 2, 0 +_0802BCA4: .4byte gAvailablePokemonNames +_0802BCA8: .4byte gUnknown_203B46C +_0802BCAC: .4byte gUnknown_80DFC4C +_0802BCB0: + adds r0, r4, 0 + adds r0, 0x50 + ldr r1, _0802BCC0 + bl strcpy +_0802BCBA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802BCC0: .4byte gUnknown_80DFC50 + thumb_func_end sub_802BC7C + + thumb_func_start sub_802BCC4 +sub_802BCC4: + push {r4,lr} + ldr r4, _0802BCDC + ldr r0, [r4] + ldrb r0, [r0, 0x4] + bl GetPokemonMailText + adds r3, r0, 0 + ldr r1, [r4] + movs r0, 0 + str r0, [r1, 0xC] + str r3, [r1, 0x10] + b _0802BD08 + .align 2, 0 +_0802BCDC: .4byte gUnknown_203B2D4 +_0802BCE0: + cmp r0, 0x23 + bne _0802BD06 + ldrb r2, [r3, 0x1] + cmp r2, 0x50 + beq _0802BCF0 + adds r1, r3, 0x2 + cmp r2, 0x70 + bne _0802BD02 +_0802BCF0: + ldr r0, [r4] + ldr r1, [r0, 0xC] + adds r1, 0x1 + str r1, [r0, 0xC] + lsls r1, 2 + adds r0, 0x10 + adds r0, r1 + adds r1, r3, 0x2 + str r1, [r0] +_0802BD02: + adds r3, r1, 0 + b _0802BD08 +_0802BD06: + adds r3, 0x1 +_0802BD08: + ldrb r0, [r3] + cmp r0, 0 + bne _0802BCE0 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802BCC4 + + thumb_func_start sub_802BD14 +sub_802BD14: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + adds r4, r1, 0 + mov r8, r2 + bl sub_802C0E8 + lsls r0, 24 + cmp r0, 0 + beq _0802BD2E + movs r0, 0 + b _0802BDD4 +_0802BD2E: + ldr r5, _0802BDE0 + ldr r0, [r5] + cmp r0, 0 + bne _0802BD40 + movs r0, 0xA4 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] +_0802BD40: + ldr r0, [r5] + str r6, [r0, 0x38] + lsls r1, r6, 1 + adds r1, r6 + lsls r1, 3 + adds r1, 0x40 + adds r1, r0, r1 + str r1, [r0, 0x3C] + adds r0, 0x40 + bl sub_8006518 + ldr r1, [r5] + ldr r2, [r1, 0x38] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x40 + ldr r0, _0802BDE4 + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldr r2, [r5] + ldr r1, [r2, 0x3C] + adds r0, r2, 0 + adds r0, 0xA0 + str r0, [r1, 0x14] + cmp r4, 0 + beq _0802BD8E + ldr r1, [r2, 0x38] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r1, r2, 0 + adds r1, 0x48 + adds r1, r0 + ldr r0, [r4] + str r0, [r1] +_0802BD8E: + ldr r0, [r5] + ldr r0, [r0, 0x3C] + mov r1, r8 + bl sub_8012D34 + bl ResetUnusedInputStruct + ldr r0, [r5] + adds r0, 0x40 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r5] + adds r4, 0x4 + bl sub_802C0B8 + adds r1, r0, 0 + adds r0, r4, 0 + mov r2, r8 + adds r3, r6, 0 + bl sub_8013848 + ldr r0, [r5] + ldr r1, _0802BDE8 + ldrh r1, [r1] + strh r1, [r0, 0x1C] + adds r0, 0x4 + bl sub_8013984 + bl sub_802BF30 + bl CreateMailMenu + movs r0, 0x1 +_0802BDD4: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0802BDE0: .4byte gUnknown_203B2D8 +_0802BDE4: .4byte gUnknown_80DFC74 +_0802BDE8: .4byte gUnknown_203B2DC + thumb_func_end sub_802BD14 + + thumb_func_start sub_802BDEC +sub_802BDEC: + push {lr} + lsls r0, 24 + cmp r0, 0 + bne _0802BE08 + ldr r0, _0802BE04 + ldr r0, [r0] + adds r0, 0x4 + bl sub_8013660 + movs r0, 0 + b _0802BE6E + .align 2, 0 +_0802BE04: .4byte gUnknown_203B2D8 +_0802BE08: + ldr r0, _0802BE20 + ldr r0, [r0] + adds r0, 0x4 + bl GetKeyPress + cmp r0, 0x2 + beq _0802BE2A + cmp r0, 0x2 + bgt _0802BE24 + cmp r0, 0x1 + beq _0802BE34 + b _0802BE48 + .align 2, 0 +_0802BE20: .4byte gUnknown_203B2D8 +_0802BE24: + cmp r0, 0x4 + beq _0802BE3E + b _0802BE48 +_0802BE2A: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + b _0802BE6E +_0802BE34: + movs r0, 0 + bl PlayMenuSoundEffect + movs r0, 0x3 + b _0802BE6E +_0802BE3E: + movs r0, 0x4 + bl PlayMenuSoundEffect + movs r0, 0x4 + b _0802BE6E +_0802BE48: + ldr r0, _0802BE60 + ldr r0, [r0] + adds r0, 0x4 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0802BE64 + movs r0, 0 + b _0802BE6E + .align 2, 0 +_0802BE60: .4byte gUnknown_203B2D8 +_0802BE64: + bl sub_802BF30 + bl CreateMailMenu + movs r0, 0x1 +_0802BE6E: + pop {r1} + bx r1 + thumb_func_end sub_802BDEC + + thumb_func_start sub_802BE74 +sub_802BE74: + ldr r0, _0802BE90 + ldr r1, [r0] + movs r0, 0x22 + ldrsh r2, [r1, r0] + movs r3, 0x20 + ldrsh r0, [r1, r3] + muls r0, r2 + movs r3, 0x1C + ldrsh r2, [r1, r3] + adds r0, r2 + adds r1, r0 + ldrb r0, [r1] + bx lr + .align 2, 0 +_0802BE90: .4byte gUnknown_203B2D8 + thumb_func_end sub_802BE74 + + thumb_func_start sub_802BE94 +sub_802BE94: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl ResetUnusedInputStruct + ldr r5, _0802BED8 + ldr r0, [r5] + adds r0, 0x40 + movs r1, 0 + movs r2, 0 + bl sub_800641C + bl sub_802C0B8 + adds r1, r0, 0 + ldr r0, [r5] + strh r1, [r0, 0x26] + adds r0, 0x4 + bl sub_8013984 + bl sub_802BF30 + bl CreateMailMenu + cmp r4, 0 + beq _0802BED2 + ldr r0, [r5] + adds r0, 0x4 + bl AddMenuCursorSprite +_0802BED2: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802BED8: .4byte gUnknown_203B2D8 + thumb_func_end sub_802BE94 + + thumb_func_start sub_802BEDC +sub_802BEDC: + push {r4,r5,lr} + ldr r4, _0802BF24 + ldr r2, [r4] + cmp r2, 0 + beq _0802BF1C + ldr r1, _0802BF28 + ldrh r0, [r2, 0x1C] + strh r0, [r1] + ldr r0, [r2, 0x38] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x40 + ldr r0, _0802BF2C + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x40 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802BF1C: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802BF24: .4byte gUnknown_203B2D8 +_0802BF28: .4byte gUnknown_203B2DC +_0802BF2C: .4byte gUnknown_80DFC5C + thumb_func_end sub_802BEDC + + thumb_func_start sub_802BF30 +sub_802BF30: + push {r4,lr} + ldr r4, _0802BF9C + ldr r0, [r4] + adds r0, 0xA0 + movs r2, 0 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xA1 + strb r2, [r0] + ldr r0, [r4] + adds r0, 0xA2 + movs r1, 0xC + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xA3 + strb r2, [r0] + ldr r0, [r4] + movs r1, 0x1E + ldrsh r0, [r0, r1] + movs r1, 0x18 + bl sub_8009614 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x38] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x4E + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x38] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x50 + strh r3, [r2] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x40 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802BF9C: .4byte gUnknown_203B2D8 + thumb_func_end sub_802BF30 + + thumb_func_start CreateMailMenu +CreateMailMenu: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0xDC + ldr r4, _0802C060 + ldr r0, [r4] + ldr r0, [r0, 0x38] + bl sub_8008C54 + ldr r0, [r4] + ldr r0, [r0, 0x38] + bl sub_80073B8 + ldr r1, [r4] + movs r2, 0x22 + ldrsh r0, [r1, r2] + lsls r0, 3 + adds r0, 0xA + ldr r2, _0802C064 + ldr r3, [r1, 0x38] + movs r1, 0 + str r1, [sp] + bl xxx_call_draw_string + movs r6, 0 + ldr r0, [r4] + movs r3, 0x1E + ldrsh r0, [r0, r3] + cmp r6, r0 + bge _0802C09A + adds r7, r4, 0 + ldr r0, _0802C068 + mov r9, r0 + add r1, sp, 0x5C + mov r8, r1 +_0802BFE8: + ldr r1, [r7] + movs r3, 0x22 + ldrsh r2, [r1, r3] + movs r3, 0x20 + ldrsh r0, [r1, r3] + muls r0, r2 + adds r0, r6 + adds r1, r0 + ldrb r0, [r1] + bl sub_8095FE8 + adds r5, r0, 0 + ldr r0, [r7] + ldr r1, [r0, 0x38] + str r1, [sp, 0x4] + adds r0, 0x4 + adds r1, r6, 0 + bl sub_8013800 + str r0, [sp, 0x4C] + ldrb r0, [r5] + cmp r0, 0x1 + bne _0802C06C + ldr r0, [r7] + adds r0, 0x4 + adds r1, r6, 0 + bl sub_8013800 + adds r4, r0, 0 + ldr r0, [r7] + ldr r3, [r0, 0x38] + movs r0, 0xA + adds r1, r4, 0 + movs r2, 0x6 + bl sub_803B6B0 + bl sub_808D33C + adds r1, r0, 0 + mov r0, r9 + bl sub_808DA34 + ldrb r0, [r5, 0x5] + bl GetPokemonMailHeadline + adds r1, r0, 0 + mov r0, r8 + mov r2, r9 + bl ExpandPlaceholdersBuffer + ldr r0, [r7] + ldr r3, [r0, 0x38] + movs r0, 0 + str r0, [sp] + movs r0, 0x15 + adds r1, r4, 0 + mov r2, r8 + bl xxx_call_draw_string + b _0802C08E + .align 2, 0 +_0802C060: .4byte gUnknown_203B2D8 +_0802C064: .4byte gMailboxText +_0802C068: .4byte gAvailablePokemonNames +_0802C06C: + adds r0, r5, 0 + add r1, sp, 0x4 + bl sub_803B35C + adds r0, r5, 0 + bl sub_80968B0 + lsls r0, 24 + cmp r0, 0 + beq _0802C088 + mov r1, sp + adds r1, 0x47 + movs r0, 0x2 + strb r0, [r1] +_0802C088: + add r0, sp, 0x4 + bl sub_803B6D4 +_0802C08E: + adds r6, 0x1 + ldr r0, [r7] + movs r1, 0x1E + ldrsh r0, [r0, r1] + cmp r6, r0 + blt _0802BFE8 +_0802C09A: + ldr r0, _0802C0B4 + ldr r0, [r0] + ldr r0, [r0, 0x38] + bl sub_80073E0 + add sp, 0xDC + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802C0B4: .4byte gUnknown_203B2D8 + thumb_func_end CreateMailMenu + + thumb_func_start sub_802C0B8 +sub_802C0B8: + push {r4,r5,lr} + movs r5, 0 + movs r4, 0 +_0802C0BE: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096000 + lsls r0, 24 + cmp r0, 0 + bne _0802C0D6 + ldr r0, _0802C0E4 + ldr r0, [r0] + adds r0, r5 + strb r4, [r0] + adds r5, 0x1 +_0802C0D6: + adds r4, 0x1 + cmp r4, 0x3 + ble _0802C0BE + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0802C0E4: .4byte gUnknown_203B2D8 + thumb_func_end sub_802C0B8 + + thumb_func_start sub_802C0E8 +sub_802C0E8: + push {r4,lr} + movs r4, 0 +_0802C0EC: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096000 + lsls r0, 24 + cmp r0, 0 + bne _0802C0FE + movs r0, 0 + b _0802C106 +_0802C0FE: + adds r4, 0x1 + cmp r4, 0x3 + ble _0802C0EC + movs r0, 0x1 +_0802C106: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_802C0E8 + + thumb_func_start sub_802C10C +sub_802C10C: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + adds r4, r1, 0 + mov r8, r2 + bl sub_802C4A4 + lsls r0, 24 + cmp r0, 0 + beq _0802C126 + movs r0, 0 + b _0802C1CC +_0802C126: + ldr r5, _0802C1D8 + ldr r0, [r5] + cmp r0, 0 + bne _0802C138 + movs r0, 0xA8 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] +_0802C138: + ldr r0, [r5] + str r6, [r0, 0x3C] + lsls r1, r6, 1 + adds r1, r6 + lsls r1, 3 + adds r1, 0x44 + adds r1, r0, r1 + str r1, [r0, 0x40] + adds r0, 0x44 + bl sub_8006518 + ldr r1, [r5] + ldr r2, [r1, 0x3C] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x44 + ldr r0, _0802C1DC + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldr r2, [r5] + ldr r1, [r2, 0x40] + adds r0, r2, 0 + adds r0, 0xA4 + str r0, [r1, 0x14] + cmp r4, 0 + beq _0802C186 + ldr r1, [r2, 0x3C] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r1, r2, 0 + adds r1, 0x4C + adds r1, r0 + ldr r0, [r4] + str r0, [r1] +_0802C186: + ldr r0, [r5] + ldr r0, [r0, 0x40] + mov r1, r8 + bl sub_8012D34 + bl ResetUnusedInputStruct + ldr r0, [r5] + adds r0, 0x44 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r5] + adds r4, 0x8 + bl sub_802C474 + adds r1, r0, 0 + adds r0, r4, 0 + mov r2, r8 + adds r3, r6, 0 + bl sub_8013848 + ldr r0, [r5] + ldr r1, _0802C1E0 + ldrh r1, [r1] + strh r1, [r0, 0x20] + adds r0, 0x8 + bl sub_8013984 + bl sub_802C328 + bl sub_802C39C + movs r0, 0x1 +_0802C1CC: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0802C1D8: .4byte gUnknown_203B2E0 +_0802C1DC: .4byte gUnknown_80DFCB4 +_0802C1E0: .4byte gUnknown_203B2E4 + thumb_func_end sub_802C10C + + thumb_func_start sub_802C1E4 +sub_802C1E4: + push {lr} + lsls r0, 24 + cmp r0, 0 + bne _0802C200 + ldr r0, _0802C1FC + ldr r0, [r0] + adds r0, 0x8 + bl sub_8013660 + movs r0, 0 + b _0802C266 + .align 2, 0 +_0802C1FC: .4byte gUnknown_203B2E0 +_0802C200: + ldr r0, _0802C218 + ldr r0, [r0] + adds r0, 0x8 + bl GetKeyPress + cmp r0, 0x2 + beq _0802C222 + cmp r0, 0x2 + bgt _0802C21C + cmp r0, 0x1 + beq _0802C22C + b _0802C240 + .align 2, 0 +_0802C218: .4byte gUnknown_203B2E0 +_0802C21C: + cmp r0, 0x4 + beq _0802C236 + b _0802C240 +_0802C222: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + b _0802C266 +_0802C22C: + movs r0, 0 + bl PlayMenuSoundEffect + movs r0, 0x3 + b _0802C266 +_0802C236: + movs r0, 0x4 + bl PlayMenuSoundEffect + movs r0, 0x4 + b _0802C266 +_0802C240: + ldr r0, _0802C258 + ldr r0, [r0] + adds r0, 0x8 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0802C25C + movs r0, 0 + b _0802C266 + .align 2, 0 +_0802C258: .4byte gUnknown_203B2E0 +_0802C25C: + bl sub_802C328 + bl sub_802C39C + movs r0, 0x1 +_0802C266: + pop {r1} + bx r1 + thumb_func_end sub_802C1E4 + + thumb_func_start sub_802C26C +sub_802C26C: + ldr r0, _0802C288 + ldr r1, [r0] + movs r0, 0x26 + ldrsh r2, [r1, r0] + movs r3, 0x24 + ldrsh r0, [r1, r3] + muls r0, r2 + movs r3, 0x20 + ldrsh r2, [r1, r3] + adds r0, r2 + adds r1, r0 + ldrb r0, [r1] + bx lr + .align 2, 0 +_0802C288: .4byte gUnknown_203B2E0 + thumb_func_end sub_802C26C + + thumb_func_start sub_802C28C +sub_802C28C: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl ResetUnusedInputStruct + ldr r5, _0802C2D0 + ldr r0, [r5] + adds r0, 0x44 + movs r1, 0 + movs r2, 0 + bl sub_800641C + bl sub_802C474 + adds r1, r0, 0 + ldr r0, [r5] + strh r1, [r0, 0x2A] + adds r0, 0x8 + bl sub_8013984 + bl sub_802C328 + bl sub_802C39C + cmp r4, 0 + beq _0802C2CA + ldr r0, [r5] + adds r0, 0x8 + bl AddMenuCursorSprite +_0802C2CA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802C2D0: .4byte gUnknown_203B2E0 + thumb_func_end sub_802C28C + + thumb_func_start sub_802C2D4 +sub_802C2D4: + push {r4,r5,lr} + ldr r4, _0802C31C + ldr r2, [r4] + cmp r2, 0 + beq _0802C314 + ldr r1, _0802C320 + ldrh r0, [r2, 0x20] + strh r0, [r1] + ldr r0, [r2, 0x3C] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x44 + ldr r0, _0802C324 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802C314: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802C31C: .4byte gUnknown_203B2E0 +_0802C320: .4byte gUnknown_203B2E4 +_0802C324: .4byte gUnknown_80DFC9C + thumb_func_end sub_802C2D4 + + thumb_func_start sub_802C328 +sub_802C328: + push {r4,lr} + ldr r4, _0802C398 + ldr r0, [r4] + ldrh r1, [r0, 0x28] + adds r0, 0xA4 + movs r2, 0 + strb r1, [r0] + ldr r0, [r4] + ldrh r1, [r0, 0x26] + adds r0, 0xA5 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xA6 + movs r1, 0xC + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xA7 + strb r2, [r0] + ldr r0, [r4] + movs r1, 0x22 + ldrsh r0, [r0, r1] + movs r1, 0x18 + bl sub_8009614 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x3C] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x52 + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x3C] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x54 + strh r3, [r2] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802C398: .4byte gUnknown_203B2E0 + thumb_func_end sub_802C328 + + thumb_func_start sub_802C39C +sub_802C39C: + push {r4-r7,lr} + sub sp, 0x60 + ldr r7, _0802C3F8 + ldr r0, [r7] + ldr r0, [r0, 0x3C] + bl sub_8008C54 + ldr r0, [r7] + ldr r0, [r0, 0x3C] + bl sub_80073B8 + ldr r0, [r7] + movs r1, 0x26 + ldrsh r4, [r0, r1] + lsls r4, 3 + adds r5, r4, 0 + adds r5, 0xA + ldr r2, _0802C3FC + ldr r3, [r0, 0x3C] + movs r0, 0 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0 + bl xxx_call_draw_string + adds r4, 0x4 + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0xA6 + ldrb r0, [r0] + lsls r0, 3 + adds r5, r4, r0 + movs r3, 0x26 + ldrsh r2, [r1, r3] + adds r2, 0x1 + movs r0, 0x7 + str r0, [sp] + ldr r0, [r1, 0x3C] + str r0, [sp, 0x4] + adds r0, r5, 0 + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + movs r6, 0 + b _0802C452 + .align 2, 0 +_0802C3F8: .4byte gUnknown_203B2E0 +_0802C3FC: .4byte gBulletinBoardText +_0802C400: + ldr r1, [r7] + movs r3, 0x26 + ldrsh r2, [r1, r3] + movs r3, 0x24 + ldrsh r0, [r1, r3] + muls r0, r2 + adds r0, r6 + adds r1, r0 + ldrb r5, [r1] + adds r0, r5, 0 + bl sub_8096574 + adds r4, r0, 0 + ldr r0, [r7] + ldr r1, [r0, 0x3C] + str r1, [sp, 0x8] + adds r0, 0x8 + adds r1, r6, 0 + bl sub_8013800 + str r0, [sp, 0x50] + adds r0, r4, 0 + add r1, sp, 0x8 + bl sub_803B35C + adds r0, r5, 0 + bl sub_8096574 + bl sub_80968B0 + lsls r0, 24 + cmp r0, 0 + beq _0802C44A + mov r1, sp + adds r1, 0x4B + movs r0, 0x2 + strb r0, [r1] +_0802C44A: + add r0, sp, 0x8 + bl sub_803B6D4 + adds r6, 0x1 +_0802C452: + ldr r0, [r7] + movs r1, 0x22 + ldrsh r0, [r0, r1] + cmp r6, r0 + blt _0802C400 + ldr r0, _0802C470 + ldr r0, [r0] + ldr r0, [r0, 0x3C] + bl sub_80073E0 + add sp, 0x60 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802C470: .4byte gUnknown_203B2E0 + thumb_func_end sub_802C39C + + thumb_func_start sub_802C474 +sub_802C474: + push {r4,r5,lr} + movs r5, 0 + movs r4, 0 +_0802C47A: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_809658C + lsls r0, 24 + cmp r0, 0 + bne _0802C492 + ldr r0, _0802C4A0 + ldr r0, [r0] + adds r0, r5 + strb r4, [r0] + adds r5, 0x1 +_0802C492: + adds r4, 0x1 + cmp r4, 0x7 + ble _0802C47A + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0802C4A0: .4byte gUnknown_203B2E0 + thumb_func_end sub_802C474 + + thumb_func_start sub_802C4A4 +sub_802C4A4: + push {r4,lr} + movs r4, 0 +_0802C4A8: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_809658C + lsls r0, 24 + cmp r0, 0 + bne _0802C4BA + movs r0, 0 + b _0802C4C2 +_0802C4BA: + adds r4, 0x1 + cmp r4, 0x7 + ble _0802C4A8 + movs r0, 0x1 +_0802C4C2: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_802C4A4 + + thumb_func_start sub_802C4C8 +sub_802C4C8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + adds r4, r1, 0 + mov r8, r2 + bl sub_802C83C + lsls r0, 24 + cmp r0, 0 + beq _0802C4E2 + movs r0, 0 + b _0802C580 +_0802C4E2: + ldr r5, _0802C58C + movs r0, 0xA8 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + str r6, [r0, 0x3C] + lsls r1, r6, 1 + adds r1, r6 + lsls r1, 3 + adds r1, 0x44 + adds r1, r0, r1 + str r1, [r0, 0x40] + adds r0, 0x44 + bl sub_8006518 + ldr r1, [r5] + ldr r2, [r1, 0x3C] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x44 + ldr r0, _0802C590 + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldr r2, [r5] + ldr r1, [r2, 0x40] + adds r0, r2, 0 + adds r0, 0xA4 + str r0, [r1, 0x14] + cmp r4, 0 + beq _0802C53A + ldr r1, [r2, 0x3C] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r1, r2, 0 + adds r1, 0x4C + adds r1, r0 + ldr r0, [r4] + str r0, [r1] +_0802C53A: + ldr r0, [r5] + ldr r0, [r0, 0x40] + mov r1, r8 + bl sub_8012D34 + bl ResetUnusedInputStruct + ldr r0, [r5] + adds r0, 0x44 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r5] + adds r4, 0x8 + bl sub_802C80C + adds r1, r0, 0 + adds r0, r4, 0 + mov r2, r8 + adds r3, r6, 0 + bl sub_8013848 + ldr r0, [r5] + ldr r1, _0802C594 + ldrh r1, [r1] + strh r1, [r0, 0x20] + adds r0, 0x8 + bl sub_8013984 + bl sub_802C6DC + bl sub_802C750 + movs r0, 0x1 +_0802C580: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0802C58C: .4byte gUnknown_203B2E8 +_0802C590: .4byte gUnknown_80DFCFC +_0802C594: .4byte gUnknown_203B2EC + thumb_func_end sub_802C4C8 + + thumb_func_start sub_802C598 +sub_802C598: + push {lr} + lsls r0, 24 + cmp r0, 0 + bne _0802C5B4 + ldr r0, _0802C5B0 + ldr r0, [r0] + adds r0, 0x8 + bl sub_8013660 + movs r0, 0 + b _0802C61A + .align 2, 0 +_0802C5B0: .4byte gUnknown_203B2E8 +_0802C5B4: + ldr r0, _0802C5CC + ldr r0, [r0] + adds r0, 0x8 + bl GetKeyPress + cmp r0, 0x2 + beq _0802C5D6 + cmp r0, 0x2 + bgt _0802C5D0 + cmp r0, 0x1 + beq _0802C5E0 + b _0802C5F4 + .align 2, 0 +_0802C5CC: .4byte gUnknown_203B2E8 +_0802C5D0: + cmp r0, 0x4 + beq _0802C5EA + b _0802C5F4 +_0802C5D6: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + b _0802C61A +_0802C5E0: + movs r0, 0 + bl PlayMenuSoundEffect + movs r0, 0x3 + b _0802C61A +_0802C5EA: + movs r0, 0x4 + bl PlayMenuSoundEffect + movs r0, 0x4 + b _0802C61A +_0802C5F4: + ldr r0, _0802C60C + ldr r0, [r0] + adds r0, 0x8 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0802C610 + movs r0, 0 + b _0802C61A + .align 2, 0 +_0802C60C: .4byte gUnknown_203B2E8 +_0802C610: + bl sub_802C6DC + bl sub_802C750 + movs r0, 0x1 +_0802C61A: + pop {r1} + bx r1 + thumb_func_end sub_802C598 + + thumb_func_start sub_802C620 +sub_802C620: + ldr r0, _0802C63C + ldr r1, [r0] + movs r0, 0x26 + ldrsh r2, [r1, r0] + movs r3, 0x24 + ldrsh r0, [r1, r3] + muls r0, r2 + movs r3, 0x20 + ldrsh r2, [r1, r3] + adds r0, r2 + adds r1, r0 + ldrb r0, [r1] + bx lr + .align 2, 0 +_0802C63C: .4byte gUnknown_203B2E8 + thumb_func_end sub_802C620 + + thumb_func_start sub_802C640 +sub_802C640: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl ResetUnusedInputStruct + ldr r5, _0802C684 + ldr r0, [r5] + adds r0, 0x44 + movs r1, 0 + movs r2, 0 + bl sub_800641C + bl sub_802C80C + adds r1, r0, 0 + ldr r0, [r5] + strh r1, [r0, 0x2A] + adds r0, 0x8 + bl sub_8013984 + bl sub_802C6DC + bl sub_802C750 + cmp r4, 0 + beq _0802C67E + ldr r0, [r5] + adds r0, 0x8 + bl AddMenuCursorSprite +_0802C67E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802C684: .4byte gUnknown_203B2E8 + thumb_func_end sub_802C640 + + thumb_func_start sub_802C688 +sub_802C688: + push {r4,r5,lr} + ldr r4, _0802C6D0 + ldr r2, [r4] + cmp r2, 0 + beq _0802C6C8 + ldr r1, _0802C6D4 + ldrh r0, [r2, 0x20] + strh r0, [r1] + ldr r0, [r2, 0x3C] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x44 + ldr r0, _0802C6D8 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802C6C8: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802C6D0: .4byte gUnknown_203B2E8 +_0802C6D4: .4byte gUnknown_203B2EC +_0802C6D8: .4byte gUnknown_80DFCE4 + thumb_func_end sub_802C688 + + thumb_func_start sub_802C6DC +sub_802C6DC: + push {r4,lr} + ldr r4, _0802C74C + ldr r0, [r4] + ldrh r1, [r0, 0x28] + adds r0, 0xA4 + movs r2, 0 + strb r1, [r0] + ldr r0, [r4] + ldrh r1, [r0, 0x26] + adds r0, 0xA5 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xA6 + movs r1, 0xC + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xA7 + strb r2, [r0] + ldr r0, [r4] + movs r1, 0x22 + ldrsh r0, [r0, r1] + movs r1, 0x18 + bl sub_8009614 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x3C] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x52 + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x3C] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x54 + strh r3, [r2] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802C74C: .4byte gUnknown_203B2E8 + thumb_func_end sub_802C6DC + + thumb_func_start sub_802C750 +sub_802C750: + push {r4-r6,lr} + sub sp, 0x60 + ldr r6, _0802C7AC + ldr r0, [r6] + ldr r0, [r0, 0x3C] + bl sub_8008C54 + ldr r0, [r6] + ldr r0, [r0, 0x3C] + bl sub_80073B8 + ldr r0, [r6] + movs r1, 0x26 + ldrsh r4, [r0, r1] + lsls r4, 3 + adds r5, r4, 0 + adds r5, 0xA + ldr r2, _0802C7B0 + ldr r3, [r0, 0x3C] + movs r0, 0 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0 + bl xxx_call_draw_string + adds r4, 0x4 + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0xA6 + ldrb r0, [r0] + lsls r0, 3 + adds r5, r4, r0 + movs r3, 0x26 + ldrsh r2, [r1, r3] + adds r2, 0x1 + movs r0, 0x7 + str r0, [sp] + ldr r0, [r1, 0x3C] + str r0, [sp, 0x4] + adds r0, r5, 0 + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + movs r5, 0 + b _0802C7EC + .align 2, 0 +_0802C7AC: .4byte gUnknown_203B2E8 +_0802C7B0: .4byte gUnknown_80DFD14 +_0802C7B4: + ldr r1, [r6] + movs r3, 0x26 + ldrsh r2, [r1, r3] + movs r3, 0x24 + ldrsh r0, [r1, r3] + muls r0, r2 + adds r0, r5 + adds r1, r0 + ldrb r0, [r1] + bl sub_8096AB4 + adds r4, r0, 0 + ldr r0, [r6] + ldr r1, [r0, 0x3C] + str r1, [sp, 0x8] + adds r0, 0x8 + adds r1, r5, 0 + bl sub_8013800 + str r0, [sp, 0x50] + adds r0, r4, 0 + add r1, sp, 0x8 + bl sub_803B35C + add r0, sp, 0x8 + bl sub_803B6D4 + adds r5, 0x1 +_0802C7EC: + ldr r0, [r6] + movs r1, 0x22 + ldrsh r0, [r0, r1] + cmp r5, r0 + blt _0802C7B4 + ldr r0, _0802C808 + ldr r0, [r0] + ldr r0, [r0, 0x3C] + bl sub_80073E0 + add sp, 0x60 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0802C808: .4byte gUnknown_203B2E8 + thumb_func_end sub_802C750 + + thumb_func_start sub_802C80C +sub_802C80C: + push {r4,r5,lr} + movs r5, 0 + movs r4, 0 +_0802C812: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096ACC + lsls r0, 24 + cmp r0, 0 + bne _0802C82A + ldr r0, _0802C838 + ldr r0, [r0] + adds r0, r5 + strb r4, [r0] + adds r5, 0x1 +_0802C82A: + adds r4, 0x1 + cmp r4, 0x7 + ble _0802C812 + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0802C838: .4byte gUnknown_203B2E8 + thumb_func_end sub_802C80C + + thumb_func_start sub_802C83C +sub_802C83C: + push {r4,lr} + movs r4, 0 +_0802C840: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096ACC + lsls r0, 24 + cmp r0, 0 + bne _0802C852 + movs r0, 0 + b _0802C85A +_0802C852: + adds r4, 0x1 + cmp r4, 0x7 + ble _0802C840 + movs r0, 0x1 +_0802C85A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_802C83C + + thumb_func_start sub_802C860 +sub_802C860: + push {r4-r6,lr} + adds r6, r0, 0 + bl sub_802C83C + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + bne _0802C890 + ldr r4, _0802C88C + movs r0, 0xFE + lsls r0, 1 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + str r5, [r0, 0x68] + str r6, [r0] + movs r0, 0 + bl sub_802C910 + movs r0, 0x1 + b _0802C892 + .align 2, 0 +_0802C88C: .4byte gUnknown_203B2F0 +_0802C890: + movs r0, 0 +_0802C892: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_802C860 + + thumb_func_start sub_802C898 +sub_802C898: + push {lr} + ldr r0, _0802C8B0 + ldr r0, [r0] + ldr r0, [r0, 0x4] + cmp r0, 0x5 + bhi _0802C8E8 + lsls r0, 2 + ldr r1, _0802C8B4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802C8B0: .4byte gUnknown_203B2F0 +_0802C8B4: .4byte _0802C8B8 + .align 2, 0 +_0802C8B8: + .4byte _0802C8D0 + .4byte _0802C8D0 + .4byte _0802C8D6 + .4byte _0802C8DC + .4byte _0802C8E2 + .4byte _0802C8E8 +_0802C8D0: + bl sub_802CC00 + b _0802C8EC +_0802C8D6: + bl sub_802CC70 + b _0802C8EC +_0802C8DC: + bl sub_802CD38 + b _0802C8EC +_0802C8E2: + bl sub_802CDB8 + b _0802C8EC +_0802C8E8: + movs r0, 0x3 + b _0802C8EE +_0802C8EC: + movs r0, 0 +_0802C8EE: + pop {r1} + bx r1 + thumb_func_end sub_802C898 + + thumb_func_start sub_802C8F4 +sub_802C8F4: + push {r4,lr} + ldr r4, _0802C90C + ldr r0, [r4] + cmp r0, 0 + beq _0802C906 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802C906: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802C90C: .4byte gUnknown_203B2F0 + thumb_func_end sub_802C8F4 + + thumb_func_start sub_802C910 +sub_802C910: + push {lr} + ldr r1, _0802C924 + ldr r1, [r1] + str r0, [r1, 0x4] + bl sub_802C928 + bl sub_802C9D8 + pop {r0} + bx r0 + .align 2, 0 +_0802C924: .4byte gUnknown_203B2F0 + thumb_func_end sub_802C910 + + thumb_func_start sub_802C928 +sub_802C928: + push {r4-r7,lr} + ldr r4, _0802C94C + ldr r0, [r4] + movs r1, 0xCE + lsls r1, 1 + adds r0, r1 + bl sub_8006518 + ldr r1, [r4] + ldr r0, [r1, 0x4] + cmp r0, 0x2 + beq _0802C954 + cmp r0, 0x3 + beq _0802C980 + movs r2, 0 + ldr r3, _0802C950 + b _0802C998 + .align 2, 0 +_0802C94C: .4byte gUnknown_203B2F0 +_0802C950: .4byte gUnknown_80DFD28 +_0802C954: + bl sub_802CAA4 + ldr r2, [r4] + movs r0, 0xE6 + lsls r0, 1 + adds r2, r0 + ldr r1, _0802C97C + ldm r1!, {r3,r5,r6} + stm r2!, {r3,r5,r6} + ldm r1!, {r3,r5,r7} + stm r2!, {r3,r5,r7} + ldr r1, [r4] + adds r0, r1, r0 + movs r6, 0x86 + lsls r6, 1 + adds r1, r6 + bl sub_8012CAC + b _0802C9B8 + .align 2, 0 +_0802C97C: .4byte gUnknown_80DFD40 +_0802C980: + movs r7, 0xF2 + lsls r7, 1 + adds r1, r7 + ldr r0, _0802C994 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + b _0802C9B8 + .align 2, 0 +_0802C994: .4byte gUnknown_80DFD58 +_0802C998: + ldr r0, [r4] + lsls r1, r2, 1 + adds r1, r2 + lsls r1, 3 + adds r0, r1 + movs r1, 0xCE + lsls r1, 1 + adds r0, r1 + adds r1, r3, 0 + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + adds r2, 0x1 + cmp r2, 0x3 + ble _0802C998 +_0802C9B8: + bl ResetUnusedInputStruct + ldr r0, _0802C9D4 + ldr r0, [r0] + movs r1, 0xCE + lsls r1, 1 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802C9D4: .4byte gUnknown_203B2F0 + thumb_func_end sub_802C928 + + thumb_func_start sub_802C9D8 +sub_802C9D8: + push {r4,lr} + sub sp, 0x8 + ldr r1, _0802C9F4 + ldr r0, [r1] + ldr r0, [r0, 0x4] + adds r4, r1, 0 + cmp r0, 0x5 + bhi _0802CA9C + lsls r0, 2 + ldr r1, _0802C9F8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802C9F4: .4byte gUnknown_203B2F0 +_0802C9F8: .4byte _0802C9FC + .align 2, 0 +_0802C9FC: + .4byte _0802CA14 + .4byte _0802CA20 + .4byte _0802CA28 + .4byte _0802CA48 + .4byte _0802CA80 + .4byte _0802CA9C +_0802CA14: + movs r0, 0 + movs r1, 0 + movs r2, 0x4 + bl sub_802C4C8 + b _0802CA9C +_0802CA20: + movs r0, 0x1 + bl sub_802C640 + b _0802CA9C +_0802CA28: + bl sub_802C750 + ldr r0, _0802CA44 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x6C + movs r3, 0x86 + lsls r3, 1 + adds r1, r2, r3 + ldr r2, [r2, 0x68] + str r2, [sp] + movs r2, 0x2 + b _0802CA6E + .align 2, 0 +_0802CA44: .4byte gUnknown_203B2F0 +_0802CA48: + bl sub_802CBAC + bl sub_802C750 + ldr r4, _0802CA7C + ldr r0, [r4] + adds r0, 0x6C + movs r1, 0 + bl sub_8012EA4 + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0xBC + movs r2, 0xA6 + lsls r2, 1 + adds r1, r2 + movs r2, 0x6 + str r2, [sp] + movs r2, 0x3 +_0802CA6E: + str r2, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_8012D60 + b _0802CA9C + .align 2, 0 +_0802CA7C: .4byte gUnknown_203B2F0 +_0802CA80: + ldr r0, [r4] + ldrb r0, [r0, 0xC] + bl sub_8096AB4 + ldr r1, [r4] + adds r1, 0x10 + bl sub_803B35C + ldr r0, [r4] + movs r1, 0x3 + str r1, [r0, 0x10] + adds r0, 0x10 + bl sub_802DE84 +_0802CA9C: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802C9D8 + + thumb_func_start sub_802CAA4 +sub_802CAA4: + push {r4-r7,lr} + movs r7, 0 + ldr r5, _0802CAC8 + ldr r0, [r5] + ldrb r0, [r0, 0xC] + bl sub_8096AB4 + adds r4, r0, 0 + ldr r2, [r5] + ldr r0, [r2] + cmp r0, 0 + bne _0802CB26 + ldrb r0, [r4] + cmp r0, 0x5 + beq _0802CACC + cmp r0, 0x6 + beq _0802CB10 + b _0802CB26 + .align 2, 0 +_0802CAC8: .4byte gUnknown_203B2F0 +_0802CACC: + movs r0, 0x86 + lsls r0, 1 + adds r1, r2, r0 + ldr r0, _0802CAFC + str r0, [r1] + adds r0, r4, 0 + bl sub_809693C + lsls r0, 24 + cmp r0, 0 + bne _0802CAEE + ldrb r0, [r4, 0x4] + bl sub_80A2824 + lsls r0, 24 + cmp r0, 0 + bne _0802CB00 +_0802CAEE: + ldr r0, [r5] + movs r1, 0x88 + lsls r1, 1 + adds r0, r1 + movs r1, 0x1 + negs r1, r1 + b _0802CB0A + .align 2, 0 +_0802CAFC: .4byte gUnknown_80DFD70 +_0802CB00: + ldr r0, [r5] + movs r1, 0x88 + lsls r1, 1 + adds r0, r1 + movs r1, 0x2 +_0802CB0A: + str r1, [r0] + adds r7, 0x1 + b _0802CB26 +_0802CB10: + movs r0, 0x86 + lsls r0, 1 + adds r1, r2, r0 + ldr r0, _0802CB9C + str r0, [r1] + movs r0, 0x88 + lsls r0, 1 + adds r1, r2, r0 + movs r0, 0x3 + str r0, [r1] + movs r7, 0x1 +_0802CB26: + ldr r4, _0802CBA0 + ldr r6, [r4] + lsls r1, r7, 3 + movs r0, 0x86 + lsls r0, 1 + adds r3, r6, r0 + adds r2, r3, r1 + ldr r0, _0802CBA4 + ldr r0, [r0] + str r0, [r2] + movs r0, 0x88 + lsls r0, 1 + adds r5, r6, r0 + adds r1, r5, r1 + movs r0, 0x4 + str r0, [r1] + adds r7, 0x1 + lsls r1, r7, 3 + adds r2, r3, r1 + ldr r0, _0802CBA8 + ldr r0, [r0] + str r0, [r2] + adds r1, r5, r1 + movs r0, 0x7 + str r0, [r1] + adds r7, 0x1 + lsls r1, r7, 3 + adds r3, r1 + movs r0, 0 + str r0, [r3] + adds r1, r5, r1 + movs r0, 0x1 + str r0, [r1] + movs r3, 0 + mov r12, r4 + cmp r3, r7 + bge _0802CB8C + adds r4, r6, 0 + adds r1, r5, 0 + movs r5, 0x1 + negs r5, r5 +_0802CB78: + ldr r2, [r1] + cmp r2, r5 + beq _0802CB84 + ldr r0, [r4, 0x68] + cmp r2, r0 + beq _0802CB94 +_0802CB84: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, r7 + blt _0802CB78 +_0802CB8C: + mov r0, r12 + ldr r1, [r0] + movs r0, 0x7 + str r0, [r1, 0x68] +_0802CB94: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802CB9C: .4byte gUnknown_80DFD7C +_0802CBA0: .4byte gUnknown_203B2F0 +_0802CBA4: .4byte gUnknown_80D494C +_0802CBA8: .4byte gUnknown_80D4970 + thumb_func_end sub_802CAA4 + + thumb_func_start sub_802CBAC +sub_802CBAC: + ldr r0, _0802CBF4 + ldr r0, [r0] + mov r12, r0 + movs r3, 0 + movs r1, 0xA6 + lsls r1, 1 + add r1, r12 + ldr r0, _0802CBF8 + ldr r0, [r0] + str r0, [r1] + movs r1, 0xA8 + lsls r1, 1 + add r1, r12 + movs r0, 0x5 + str r0, [r1] + movs r2, 0x1 + movs r1, 0xAA + lsls r1, 1 + add r1, r12 + ldr r0, _0802CBFC + ldr r0, [r0] + str r0, [r1] + movs r1, 0xAC + lsls r1, 1 + add r1, r12 + movs r0, 0x6 + str r0, [r1] + movs r0, 0xAE + lsls r0, 1 + add r0, r12 + str r3, [r0] + movs r0, 0xB0 + lsls r0, 1 + add r0, r12 + str r2, [r0] + bx lr + .align 2, 0 +_0802CBF4: .4byte gUnknown_203B2F0 +_0802CBF8: .4byte gUnknown_80D4920 +_0802CBFC: .4byte gUnknown_80D4928 + thumb_func_end sub_802CBAC + + thumb_func_start sub_802CC00 +sub_802CC00: + push {lr} + movs r0, 0x1 + bl sub_802C598 + cmp r0, 0x4 + bhi _0802CC6A + lsls r0, 2 + ldr r1, _0802CC18 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802CC18: .4byte _0802CC1C + .align 2, 0 +_0802CC1C: + .4byte _0802CC6A + .4byte _0802CC6A + .4byte _0802CC60 + .4byte _0802CC30 + .4byte _0802CC48 +_0802CC30: + bl sub_802C620 + ldr r1, _0802CC44 + ldr r1, [r1] + strb r0, [r1, 0xC] + movs r0, 0x2 + bl sub_802C910 + b _0802CC6A + .align 2, 0 +_0802CC44: .4byte gUnknown_203B2F0 +_0802CC48: + bl sub_802C620 + ldr r1, _0802CC5C + ldr r1, [r1] + strb r0, [r1, 0xC] + movs r0, 0x4 + bl sub_802C910 + b _0802CC6A + .align 2, 0 +_0802CC5C: .4byte gUnknown_203B2F0 +_0802CC60: + bl sub_802C688 + movs r0, 0x5 + bl sub_802C910 +_0802CC6A: + pop {r0} + bx r0 + thumb_func_end sub_802CC00 + + thumb_func_start sub_802CC70 +sub_802CC70: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_802C598 + ldr r4, _0802CCB4 + ldr r0, [r4] + adds r0, 0x6C + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0802CCA0 + ldr r0, [r4] + adds r0, 0x6C + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _0802CCA0 + ldr r0, [r4] + str r1, [r0, 0x68] +_0802CCA0: + ldr r0, [sp] + subs r0, 0x1 + cmp r0, 0x6 + bhi _0802CD2E + lsls r0, 2 + ldr r1, _0802CCB8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802CCB4: .4byte gUnknown_203B2F0 +_0802CCB8: .4byte _0802CCBC + .align 2, 0 +_0802CCBC: + .4byte _0802CD28 + .4byte _0802CCD8 + .4byte _0802CCF4 + .4byte _0802CD18 + .4byte _0802CD2E + .4byte _0802CD2E + .4byte _0802CD20 +_0802CCD8: + ldr r0, _0802CCEC + bl PlaySound + ldr r0, _0802CCF0 + ldr r0, [r0] + ldrb r0, [r0, 0xC] + bl sub_8096AB4 + movs r1, 0x6 + b _0802CD06 + .align 2, 0 +_0802CCEC: .4byte 0x00000133 +_0802CCF0: .4byte gUnknown_203B2F0 +_0802CCF4: + ldr r0, _0802CD10 + bl PlaySound + ldr r0, _0802CD14 + ldr r0, [r0] + ldrb r0, [r0, 0xC] + bl sub_8096AB4 + movs r1, 0x5 +_0802CD06: + strb r1, [r0] + movs r0, 0x1 + bl sub_802C910 + b _0802CD2E + .align 2, 0 +_0802CD10: .4byte 0x00000133 +_0802CD14: .4byte gUnknown_203B2F0 +_0802CD18: + movs r0, 0x3 + bl sub_802C910 + b _0802CD2E +_0802CD20: + movs r0, 0x4 + bl sub_802C910 + b _0802CD2E +_0802CD28: + movs r0, 0x1 + bl sub_802C910 +_0802CD2E: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802CC70 + + thumb_func_start sub_802CD38 +sub_802CD38: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_802C598 + ldr r4, _0802CD78 + ldr r0, [r4] + adds r0, 0x6C + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0xBC + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0802CD66 + ldr r0, [r4] + adds r0, 0xBC + mov r1, sp + bl sub_8013114 +_0802CD66: + ldr r0, [sp] + cmp r0, 0x5 + beq _0802CD88 + cmp r0, 0x5 + bgt _0802CD7C + cmp r0, 0x1 + beq _0802CD80 + b _0802CDB0 + .align 2, 0 +_0802CD78: .4byte gUnknown_203B2F0 +_0802CD7C: + cmp r0, 0x6 + bne _0802CDB0 +_0802CD80: + movs r0, 0x1 + bl sub_802C910 + b _0802CDB0 +_0802CD88: + ldr r0, [r4] + ldrb r0, [r0, 0xC] + bl sub_8096C3C + bl sub_8096C80 + bl sub_802C83C + lsls r0, 24 + cmp r0, 0 + beq _0802CDAA + bl sub_802C688 + movs r0, 0x5 + bl sub_802C910 + b _0802CDB0 +_0802CDAA: + movs r0, 0x1 + bl sub_802C910 +_0802CDB0: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802CD38 + + thumb_func_start sub_802CDB8 +sub_802CDB8: + push {lr} + bl sub_802DEE0 + cmp r0, 0x1 + bls _0802CDD0 + cmp r0, 0x3 + bhi _0802CDD0 + bl sub_802DF24 + movs r0, 0x1 + bl sub_802C910 +_0802CDD0: + pop {r0} + bx r0 + thumb_func_end sub_802CDB8 + + thumb_func_start sub_802CDD4 +sub_802CDD4: + push {r4-r6,lr} + adds r5, r0, 0 + ldr r4, _0802CE54 + ldr r0, [r4] + cmp r0, 0 + bne _0802CDEA + movs r0, 0xA0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] +_0802CDEA: + ldr r0, [r4] + str r5, [r0, 0x34] + lsls r1, r5, 1 + adds r1, r5 + lsls r1, 3 + adds r1, 0x3C + adds r1, r0, r1 + str r1, [r0, 0x38] + adds r0, 0x3C + bl sub_8006518 + ldr r1, [r4] + ldr r2, [r1, 0x34] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x3C + ldr r0, _0802CE58 + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldr r1, [r4] + ldr r0, [r1, 0x38] + adds r1, 0x9C + str r1, [r0, 0x14] + movs r1, 0x4 + bl sub_8012D34 + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0x5 + movs r2, 0x4 + adds r3, r5, 0 + bl sub_8013848 + bl sub_802CF5C + bl sub_802CFD0 + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0802CE54: .4byte gUnknown_203B2F4 +_0802CE58: .4byte gUnknown_80DFDA4 + thumb_func_end sub_802CDD4 + + thumb_func_start sub_802CE5C +sub_802CE5C: + push {r4,lr} + lsls r0, 24 + cmp r0, 0 + bne _0802CE74 + ldr r0, _0802CE70 + ldr r0, [r0] + bl sub_8013660 + movs r0, 0 + b _0802CEB4 + .align 2, 0 +_0802CE70: .4byte gUnknown_203B2F4 +_0802CE74: + ldr r4, _0802CE90 + ldr r0, [r4] + bl GetKeyPress + cmp r0, 0x1 + beq _0802CE94 + cmp r0, 0x2 + bne _0802CE98 + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + b _0802CEB4 + .align 2, 0 +_0802CE90: .4byte gUnknown_203B2F4 +_0802CE94: + movs r0, 0x3 + b _0802CEB4 +_0802CE98: + ldr r0, [r4] + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0802CEAA + movs r0, 0 + b _0802CEB4 +_0802CEAA: + bl sub_802CF5C + bl sub_802CFD0 + movs r0, 0x1 +_0802CEB4: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_802CE5C + + thumb_func_start sub_802CEBC +sub_802CEBC: + ldr r0, _0802CED4 + ldr r1, [r0] + movs r0, 0x1E + ldrsh r2, [r1, r0] + movs r3, 0x1C + ldrsh r0, [r1, r3] + muls r0, r2 + ldrb r1, [r1, 0x18] + adds r0, r1 + lsls r0, 24 + lsrs r0, 24 + bx lr + .align 2, 0 +_0802CED4: .4byte gUnknown_203B2F4 + thumb_func_end sub_802CEBC + + thumb_func_start sub_802CED8 +sub_802CED8: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl ResetUnusedInputStruct + ldr r5, _0802CF10 + ldr r0, [r5] + adds r0, 0x3C + movs r1, 0 + movs r2, 0 + bl sub_800641C + ldr r0, [r5] + bl sub_8013984 + bl sub_802CF5C + bl sub_802CFD0 + cmp r4, 0 + beq _0802CF0A + ldr r0, [r5] + bl AddMenuCursorSprite +_0802CF0A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802CF10: .4byte gUnknown_203B2F4 + thumb_func_end sub_802CED8 + + thumb_func_start sub_802CF14 +sub_802CF14: + push {r4,r5,lr} + ldr r4, _0802CF54 + ldr r2, [r4] + cmp r2, 0 + beq _0802CF4E + ldr r0, [r2, 0x34] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x3C + ldr r0, _0802CF58 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802CF4E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802CF54: .4byte gUnknown_203B2F4 +_0802CF58: .4byte gUnknown_80DFD8C + thumb_func_end sub_802CF14 + + thumb_func_start sub_802CF5C +sub_802CF5C: + push {r4,lr} + ldr r4, _0802CFCC + ldr r0, [r4] + ldrh r1, [r0, 0x20] + adds r0, 0x9C + movs r2, 0 + strb r1, [r0] + ldr r0, [r4] + ldrh r1, [r0, 0x1E] + adds r0, 0x9D + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9E + movs r1, 0xC + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9F + strb r2, [r0] + ldr r0, [r4] + movs r1, 0x1A + ldrsh r0, [r0, r1] + movs r1, 0x18 + bl sub_8009614 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x34] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x4A + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x34] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x4C + strh r3, [r2] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802CFCC: .4byte gUnknown_203B2F4 + thumb_func_end sub_802CF5C + + thumb_func_start sub_802CFD0 +sub_802CFD0: + push {r4-r6,lr} + sub sp, 0x60 + ldr r6, _0802D02C + ldr r0, [r6] + ldr r0, [r0, 0x34] + bl sub_8008C54 + ldr r0, [r6] + ldr r0, [r0, 0x34] + bl sub_80073B8 + ldr r0, [r6] + movs r1, 0x1E + ldrsh r4, [r0, r1] + lsls r4, 3 + adds r5, r4, 0 + adds r5, 0xA + ldr r2, _0802D030 + ldr r3, [r0, 0x34] + movs r0, 0 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0 + bl xxx_call_draw_string + adds r4, 0x4 + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0x9E + ldrb r0, [r0] + lsls r0, 3 + adds r5, r4, r0 + movs r0, 0x1E + ldrsh r2, [r1, r0] + adds r2, 0x1 + movs r0, 0x7 + str r0, [sp] + ldr r0, [r1, 0x34] + str r0, [sp, 0x4] + adds r0, r5, 0 + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + movs r5, 0 + b _0802D076 + .align 2, 0 +_0802D02C: .4byte gUnknown_203B2F4 +_0802D030: .4byte gUnknown_80DFDBC +_0802D034: + ldr r0, [r6] + movs r2, 0x1E + ldrsh r1, [r0, r2] + movs r2, 0x1C + ldrsh r0, [r0, r2] + muls r0, r1 + adds r0, r5 + lsls r0, 24 + lsrs r0, 24 + bl sub_803B344 + adds r4, r0, 0 + ldr r0, [r6] + ldr r1, [r0, 0x34] + str r1, [sp, 0x8] + adds r1, r5, 0 + bl sub_8013800 + str r0, [sp, 0x50] + adds r0, r4, 0 + add r1, sp, 0x8 + bl sub_803B35C + mov r1, sp + adds r1, 0x4B + movs r0, 0x1 + strb r0, [r1] + ldr r0, [r4, 0x14] + str r0, [sp, 0x54] + add r0, sp, 0x8 + bl sub_803B6D4 + adds r5, 0x1 +_0802D076: + ldr r0, [r6] + movs r1, 0x1A + ldrsh r0, [r0, r1] + cmp r5, r0 + blt _0802D034 + ldr r0, _0802D094 + ldr r0, [r0] + ldr r0, [r0, 0x34] + bl sub_80073E0 + add sp, 0x60 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0802D094: .4byte gUnknown_203B2F4 + thumb_func_end sub_802CFD0 + + .align 2,0 diff --git a/asm/wonder_mail_3.s b/asm/wonder_mail_3.s index 501d8b0..4fc8c85 100644 --- a/asm/wonder_mail_3.s +++ b/asm/wonder_mail_3.s @@ -5350,28 +5350,4 @@ _0802FCCE: _0802FCEC: .4byte gUnknown_203B314 thumb_func_end sub_802FBF4 - thumb_func_start sub_802FCF0 -sub_802FCF0: - push {r4,lr} - movs r4, 0 -_0802FCF4: - lsls r0, r4, 16 - asrs r0, 16 - bl sub_80A27CC - lsls r0, 24 - cmp r0, 0 - beq _0802FD06 - movs r0, 0 - b _0802FD0E -_0802FD06: - adds r4, 0x1 - cmp r4, 0x2D - ble _0802FCF4 - movs r0, 0x1 -_0802FD0E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802FCF0 - .align 2,0 -- cgit v1.2.3