diff options
| author | YamaArashi <shadow962@live.com> | 2016-10-24 03:33:46 -0700 |
|---|---|---|
| committer | YamaArashi <shadow962@live.com> | 2016-10-24 03:33:46 -0700 |
| commit | 3565e0f5e3c8b0de1650dfa0b3f1e800ecfe2b3d (patch) | |
| tree | 880706633d0901af4b3fd93b749543908f11fb7f /asm/rom_804373C.s | |
| parent | b2f1a811ba74f353527d4f590d2d8d96a845f0a4 (diff) | |
split out load_save.s, trade.s, and berry_blender.s
Diffstat (limited to 'asm/rom_804373C.s')
| -rw-r--r-- | asm/rom_804373C.s | 21737 |
1 files changed, 1 insertions, 21736 deletions
diff --git a/asm/rom_804373C.s b/asm/rom_804373C.s index bea90f6ca..bae258fee 100644 --- a/asm/rom_804373C.s +++ b/asm/rom_804373C.s @@ -8492,21739 +8492,4 @@ _080479C4: .4byte gUnknown_02024A6A _080479C8: .4byte gPlayerParty thumb_func_end sub_8047978 - thumb_func_start CheckForFlashMemory -CheckForFlashMemory: @ 80479CC - push {lr} - bl IdentifyFlash - lsls r0, 16 - cmp r0, 0 - bne _080479E8 - ldr r1, _080479E4 @ =gUnknown_3004820 - movs r0, 0x1 - str r0, [r1] - bl InitFlashTimer - b _080479EE - .align 2, 0 -_080479E4: .4byte gUnknown_3004820 -_080479E8: - ldr r1, _080479F4 @ =gUnknown_3004820 - movs r0, 0 - str r0, [r1] -_080479EE: - pop {r0} - bx r0 - .align 2, 0 -_080479F4: .4byte gUnknown_3004820 - thumb_func_end CheckForFlashMemory - - thumb_func_start sub_80479F8 -sub_80479F8: @ 80479F8 - ldr r0, _08047A00 @ =gSaveBlock2 - ldrb r0, [r0, 0x9] - bx lr - .align 2, 0 -_08047A00: .4byte gSaveBlock2 - thumb_func_end sub_80479F8 - - thumb_func_start sub_8047A04 -sub_8047A04: @ 8047A04 - ldr r1, _08047A0C @ =gSaveBlock2 - movs r0, 0 - strb r0, [r1, 0x9] - bx lr - .align 2, 0 -_08047A0C: .4byte gSaveBlock2 - thumb_func_end sub_8047A04 - - thumb_func_start sub_8047A10 -sub_8047A10: @ 8047A10 - ldr r1, _08047A18 @ =gSaveBlock2 - movs r0, 0x1 - strb r0, [r1, 0x9] - bx lr - .align 2, 0 -_08047A18: .4byte gSaveBlock2 - thumb_func_end sub_8047A10 - - thumb_func_start sub_8047A1C -sub_8047A1C: @ 8047A1C - push {lr} - movs r0, 0 - bl gpu_sync_bg_hide - ldr r1, _08047A30 @ =gSaveBlock2 - movs r0, 0x1 - strb r0, [r1, 0x9] - pop {r0} - bx r0 - .align 2, 0 -_08047A30: .4byte gSaveBlock2 - thumb_func_end sub_8047A1C - - thumb_func_start sub_8047A34 -sub_8047A34: @ 8047A34 - ldr r1, _08047A3C @ =gSaveBlock2 - movs r0, 0 - strb r0, [r1, 0x9] - bx lr - .align 2, 0 -_08047A3C: .4byte gSaveBlock2 - thumb_func_end sub_8047A34 - - thumb_func_start sub_8047A40 -sub_8047A40: @ 8047A40 - push {r4-r6,lr} - ldr r2, _08047A78 @ =gSaveBlock1 - ldr r0, _08047A7C @ =gPlayerPartyCount - ldrb r1, [r0] - movs r3, 0x8D - lsls r3, 2 - adds r0, r2, r3 - strb r1, [r0] - movs r6, 0 - movs r0, 0x8E - lsls r0, 2 - adds r5, r2, r0 - movs r4, 0 -_08047A5A: - ldr r1, _08047A80 @ =gPlayerParty - adds r1, r4, r1 - adds r0, r5, 0 - movs r2, 0x64 - bl memcpy - adds r5, 0x64 - adds r4, 0x64 - adds r6, 0x1 - cmp r6, 0x5 - ble _08047A5A - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08047A78: .4byte gSaveBlock1 -_08047A7C: .4byte gPlayerPartyCount -_08047A80: .4byte gPlayerParty - thumb_func_end sub_8047A40 - - thumb_func_start copy_player_party_from_sav1 -copy_player_party_from_sav1: @ 8047A84 - push {r4-r6,lr} - ldr r0, _08047AC0 @ =gPlayerPartyCount - ldr r1, _08047AC4 @ =gSaveBlock1 - movs r2, 0x8D - lsls r2, 2 - adds r1, r2 - ldrb r1, [r1] - strb r1, [r0] - ldr r4, _08047AC8 @ =gPlayerParty - movs r5, 0 - movs r0, 0xFA - lsls r0, 1 - adds r6, r4, r0 -_08047A9E: - ldr r1, _08047AC4 @ =gSaveBlock1 - adds r1, r5, r1 - movs r2, 0x8E - lsls r2, 2 - adds r1, r2 - adds r0, r4, 0 - movs r2, 0x64 - bl memcpy - adds r4, 0x64 - adds r5, 0x64 - cmp r4, r6 - ble _08047A9E - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08047AC0: .4byte gPlayerPartyCount -_08047AC4: .4byte gSaveBlock1 -_08047AC8: .4byte gPlayerParty - thumb_func_end copy_player_party_from_sav1 - - thumb_func_start sub_8047ACC -sub_8047ACC: @ 8047ACC - push {r4-r7,lr} - ldr r0, _08047AFC @ =gSaveBlock1 - ldr r4, _08047B00 @ =gMapObjects - movs r1, 0x9E - lsls r1, 4 - adds r3, r0, r1 - movs r2, 0xF -_08047ADA: - adds r1, r3, 0 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08047ADA - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08047AFC: .4byte gSaveBlock1 -_08047B00: .4byte gMapObjects - thumb_func_end sub_8047ACC - - thumb_func_start save_deserialize_npcs -save_deserialize_npcs: @ 8047B04 - push {r4-r7,lr} - ldr r0, _08047B34 @ =gSaveBlock1 - movs r1, 0x9E - lsls r1, 4 - adds r4, r0, r1 - ldr r3, _08047B38 @ =gMapObjects - movs r2, 0xF -_08047B12: - adds r1, r3, 0 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08047B12 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08047B34: .4byte gSaveBlock1 -_08047B38: .4byte gMapObjects - thumb_func_end save_deserialize_npcs - - thumb_func_start save_serialize_game -save_serialize_game: @ 8047B3C - push {lr} - bl sub_8047A40 - bl sub_8047ACC - pop {r0} - bx r0 - thumb_func_end save_serialize_game - - thumb_func_start save_deserialize_game -save_deserialize_game: @ 8047B4C - push {lr} - bl copy_player_party_from_sav1 - bl save_deserialize_npcs - pop {r0} - bx r0 - thumb_func_end save_deserialize_game - - thumb_func_start copy_bags_and_unk_data_from_save_blocks -copy_bags_and_unk_data_from_save_blocks: @ 8047B5C - push {r4-r7,lr} - ldr r0, _08047C0C @ =gSaveBlock1 - movs r1, 0xAC - lsls r1, 3 - adds r3, r0, r1 - ldr r1, _08047C10 @ =gUnknown_020291F4 - movs r2, 0x13 -_08047B6A: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047B6A - ldr r1, _08047C10 @ =gUnknown_020291F4 - ldr r0, _08047C0C @ =gSaveBlock1 - movs r2, 0xB6 - lsls r2, 3 - adds r3, r0, r2 - adds r1, 0x50 - movs r2, 0x13 -_08047B82: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047B82 - ldr r1, _08047C10 @ =gUnknown_020291F4 - ldr r0, _08047C0C @ =gSaveBlock1 - movs r5, 0xC0 - lsls r5, 3 - adds r3, r0, r5 - adds r1, 0xA0 - movs r2, 0xF -_08047B9A: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047B9A - ldr r1, _08047C10 @ =gUnknown_020291F4 - ldr r0, _08047C0C @ =gSaveBlock1 - movs r6, 0xC8 - lsls r6, 3 - adds r3, r0, r6 - adds r1, 0xE0 - movs r2, 0x3F -_08047BB2: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047BB2 - ldr r1, _08047C10 @ =gUnknown_020291F4 - ldr r0, _08047C0C @ =gSaveBlock1 - movs r7, 0xE8 - lsls r7, 3 - adds r3, r0, r7 - movs r0, 0xF0 - lsls r0, 1 - adds r1, r0 - movs r2, 0x2D -_08047BCE: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047BCE - ldr r0, _08047C10 @ =gUnknown_020291F4 - ldr r4, _08047C0C @ =gSaveBlock1 - movs r1, 0xA6 - lsls r1, 2 - adds r3, r0, r1 - ldr r2, _08047C14 @ =0x00002b4c - mov r12, r2 - movs r2, 0xF -_08047BE8: - adds r1, r3, 0 - mov r5, r12 - adds r0, r4, r5 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08047BE8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08047C0C: .4byte gSaveBlock1 -_08047C10: .4byte gUnknown_020291F4 -_08047C14: .4byte 0x00002b4c - thumb_func_end copy_bags_and_unk_data_from_save_blocks - - thumb_func_start copy_bags_and_unk_data_to_save_blocks -copy_bags_and_unk_data_to_save_blocks: @ 8047C18 - push {r4-r7,lr} - ldr r0, _08047CCC @ =gSaveBlock1 - ldr r3, _08047CD0 @ =gUnknown_020291F4 - movs r2, 0xAC - lsls r2, 3 - adds r1, r0, r2 - movs r2, 0x13 -_08047C26: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047C26 - ldr r1, _08047CCC @ =gSaveBlock1 - ldr r0, _08047CD0 @ =gUnknown_020291F4 - adds r3, r0, 0 - adds r3, 0x50 - movs r5, 0xB6 - lsls r5, 3 - adds r1, r5 - movs r2, 0x13 -_08047C40: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047C40 - ldr r1, _08047CCC @ =gSaveBlock1 - ldr r0, _08047CD0 @ =gUnknown_020291F4 - adds r3, r0, 0 - adds r3, 0xA0 - movs r6, 0xC0 - lsls r6, 3 - adds r1, r6 - movs r2, 0xF -_08047C5A: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047C5A - ldr r1, _08047CCC @ =gSaveBlock1 - ldr r0, _08047CD0 @ =gUnknown_020291F4 - adds r3, r0, 0 - adds r3, 0xE0 - movs r7, 0xC8 - lsls r7, 3 - adds r1, r7 - movs r2, 0x3F -_08047C74: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047C74 - ldr r1, _08047CCC @ =gSaveBlock1 - ldr r0, _08047CD0 @ =gUnknown_020291F4 - movs r2, 0xF0 - lsls r2, 1 - adds r3, r0, r2 - movs r5, 0xE8 - lsls r5, 3 - adds r1, r5 - movs r2, 0x2D -_08047C90: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047C90 - ldr r0, _08047CCC @ =gSaveBlock1 - ldr r4, _08047CD0 @ =gUnknown_020291F4 - ldr r6, _08047CD4 @ =0x00002b4c - adds r3, r0, r6 - movs r7, 0xA6 - lsls r7, 2 - mov r12, r7 - movs r2, 0xF -_08047CAA: - adds r1, r3, 0 - mov r5, r12 - adds r0, r4, r5 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08047CAA - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08047CCC: .4byte gSaveBlock1 -_08047CD0: .4byte gUnknown_020291F4 -_08047CD4: .4byte 0x00002b4c - thumb_func_end copy_bags_and_unk_data_to_save_blocks - - thumb_func_start sub_8047CD8 -sub_8047CD8: @ 8047CD8 - push {lr} - ldr r0, _08047CE4 @ =sub_8047EC0 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_08047CE4: .4byte sub_8047EC0 - thumb_func_end sub_8047CD8 - - thumb_func_start sub_8047CE8 -sub_8047CE8: @ 8047CE8 - push {r4-r6,lr} - ldr r6, _08047D44 @ =gWindowConfig_81E725C - ldr r5, _08047D48 @ =gUnknown_020296CC - ldr r1, [r5] - ldr r2, _08047D4C @ =gSaveBlock2 - adds r0, r6, 0 - movs r3, 0xC - bl sub_804AFB8 - bl GetMultiplayerId - lsls r0, 24 - ldr r1, [r5, 0xC] - movs r3, 0x80 - lsls r3, 17 - eors r3, r0 - lsrs r3, 24 - lsls r2, r3, 3 - subs r2, r3 - lsls r2, 2 - ldr r0, _08047D50 @ =gLinkPlayers + 0x8 - adds r2, r0 - adds r0, r6, 0 - movs r3, 0xC - bl sub_804AFB8 - ldr r1, [r5, 0x18] - ldr r4, _08047D54 @ =gUnknown_0820C14C - ldr r2, [r4] - adds r0, r6, 0 - movs r3, 0x8 - bl sub_804AFB8 - ldr r0, [r4, 0x4] - ldr r1, [r5, 0x20] - movs r2, 0x14 - bl sub_804ACD8 - movs r0, 0x3 - movs r1, 0 - bl nullsub_5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08047D44: .4byte gWindowConfig_81E725C -_08047D48: .4byte gUnknown_020296CC -_08047D4C: .4byte gSaveBlock2 -_08047D50: .4byte gLinkPlayers + 0x8 -_08047D54: .4byte gUnknown_0820C14C - thumb_func_end sub_8047CE8 - - thumb_func_start sub_8047D58 -sub_8047D58: @ 8047D58 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - ldr r0, _08047E30 @ =gSaveBlock2 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - cmp r0, 0x5 - bls _08047D72 - movs r1, 0x1 -_08047D72: - movs r5, 0 - lsls r2, r1, 2 - mov r6, sp - ldr r0, _08047E34 @ =gTradeUnknownSpriteCoords - adds r1, r0, 0x1 - adds r1, r2 - mov r8, r1 - adds r0, r2, r0 - ldrb r0, [r0] - lsls r4, r0, 16 -_08047D86: - mov r1, sp - ldr r0, _08047E38 @ =gSpriteTemplate_820C0EC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldrh r0, [r6] - adds r0, r5 - strh r0, [r6] - asrs r1, r4, 16 - mov r0, sp - mov r3, r8 - ldrb r2, [r3] - movs r3, 0x1 - bl CreateSprite - movs r7, 0x80 - lsls r7, 14 - adds r4, r7 - adds r5, 0x1 - cmp r5, 0x2 - ble _08047D86 - bl GetMultiplayerId - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - eors r1, r0 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _08047E3C @ =gLinkPlayers + 0x8 - adds r0, r1 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - cmp r0, 0x5 - bls _08047DDA - movs r1, 0x1 -_08047DDA: - movs r5, 0 - lsls r2, r1, 2 - mov r6, sp - ldr r0, _08047E40 @ =gTradeUnknownSpriteCoords + 0x3 - adds r1, r2, r0 - mov r8, r1 - subs r0, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - lsls r4, r0, 16 -_08047DEE: - mov r1, sp - ldr r0, _08047E38 @ =gSpriteTemplate_820C0EC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r5, 0x3 - ldrh r1, [r6] - adds r0, r1 - strh r0, [r6] - asrs r1, r4, 16 - mov r0, sp - mov r3, r8 - ldrb r2, [r3] - movs r3, 0x1 - bl CreateSprite - movs r7, 0x80 - lsls r7, 14 - adds r4, r7 - adds r5, 0x1 - cmp r5, 0x2 - ble _08047DEE - movs r0, 0x5 - movs r1, 0 - bl nullsub_5 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08047E30: .4byte gSaveBlock2 -_08047E34: .4byte gTradeUnknownSpriteCoords -_08047E38: .4byte gSpriteTemplate_820C0EC -_08047E3C: .4byte gLinkPlayers + 0x8 -_08047E40: .4byte gTradeUnknownSpriteCoords + 0x3 - thumb_func_end sub_8047D58 - - thumb_func_start sub_8047E44 -sub_8047E44: @ 8047E44 - push {r4-r7,lr} - sub sp, 0x18 - movs r4, 0 - mov r5, sp - movs r6, 0xD6 - lsls r6, 16 -_08047E50: - mov r1, sp - ldr r0, _08047EBC @ =gSpriteTemplate_820C0EC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r4, 0x6 - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - asrs r1, r6, 16 - mov r0, sp - movs r2, 0x98 - movs r3, 0x1 - bl CreateSprite - movs r2, 0x80 - lsls r2, 14 - adds r6, r2 - adds r4, 0x1 - cmp r4, 0x1 - ble _08047E50 - movs r4, 0 - mov r5, sp - movs r6, 0xC0 - lsls r6, 13 -_08047E84: - mov r1, sp - ldr r0, _08047EBC @ =gSpriteTemplate_820C0EC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r4, 0 - adds r0, 0x8 - ldrh r3, [r5] - adds r0, r3 - strh r0, [r5] - asrs r1, r6, 16 - mov r0, sp - movs r2, 0x96 - movs r3, 0x1 - bl CreateSprite - movs r7, 0x80 - lsls r7, 14 - adds r6, r7 - adds r4, 0x1 - cmp r4, 0x4 - ble _08047E84 - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08047EBC: .4byte gSpriteTemplate_820C0EC - thumb_func_end sub_8047E44 - - thumb_func_start sub_8047EC0 -sub_8047EC0: @ 8047EC0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - ldr r1, _08047EE4 @ =gMain - ldr r2, _08047EE8 @ =0x0000043c - adds r0, r1, r2 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x15 - bls _08047ED8 - b _080484C6 -_08047ED8: - lsls r0, 2 - ldr r1, _08047EEC @ =_08047EF0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08047EE4: .4byte gMain -_08047EE8: .4byte 0x0000043c -_08047EEC: .4byte _08047EF0 - .align 2, 0 -_08047EF0: - .4byte _08047F48 - .4byte _08048048 - .4byte _080480B4 - .4byte _080480E0 - .4byte _08048130 - .4byte _08048160 - .4byte _08048172 - .4byte _080482B4 - .4byte _080482DC - .4byte _08048300 - .4byte _08048328 - .4byte _0804834C - .4byte _08048360 - .4byte _080483B8 - .4byte _08048400 - .4byte _08048418 - .4byte _08048430 - .4byte _08048448 - .4byte _0804845A - .4byte _08048470 - .4byte _08048488 - .4byte _080484A8 -_08047F48: - ldr r5, _08048018 @ =gUnknown_03004824 - ldr r6, _0804801C @ =0x02017000 - str r6, [r5] - bl sub_804AA88 - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r0, [r5] - adds r0, 0xC8 - ldr r1, _08048020 @ =0x06002800 - bl sub_804A964 - ldr r0, _08048024 @ =sub_80489F4 - bl SetVBlankCallback - ldr r0, _08048028 @ =gWindowConfig_81E6CE4 - bl InitMenuWindow - ldr r4, _0804802C @ =gWindowConfig_81E6F84 - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r0, [r5] - adds r0, 0x4 - adds r1, r4, 0 - bl InitWindowFromConfig - movs r0, 0x14 - bl SetTextWindowBaseTileNum - ldr r1, [r5] - adds r1, 0x7A - movs r4, 0 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x4 - bl LoadTextWindowGraphics - bl MenuZeroFillScreen - bl sub_809D51C - ldr r0, [r5] - adds r0, 0x75 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7C - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x80 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x81 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x86 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x87 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0xB4 - strb r4, [r0] - ldr r0, _08048030 @ =gUnknown_03000508 - strb r4, [r0] - ldr r1, _08048034 @ =gMain - ldr r3, _08048038 @ =0x0000043c - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - bl sub_804AA0C - add r0, sp, 0x10 - strh r4, [r0] - movs r0, 0xC0 - lsls r0, 7 - adds r1, r6, r0 - ldr r2, _0804803C @ =0x01000680 - add r0, sp, 0x10 - bl CpuSet - ldr r1, _08048040 @ =gUnknown_020296CC - movs r2, 0xD8 - lsls r2, 7 - adds r6, r2 - adds r0, r1, 0 - adds r0, 0x30 - ldr r2, _08048044 @ =0xffffff00 -_0804800A: - str r6, [r0] - adds r6, r2 - subs r0, 0x4 - cmp r0, r1 - bge _0804800A - b _080484C6 - .align 2, 0 -_08048018: .4byte gUnknown_03004824 -_0804801C: .4byte 0x02017000 -_08048020: .4byte 0x06002800 -_08048024: .4byte sub_80489F4 -_08048028: .4byte gWindowConfig_81E6CE4 -_0804802C: .4byte gWindowConfig_81E6F84 -_08048030: .4byte gUnknown_03000508 -_08048034: .4byte gMain -_08048038: .4byte 0x0000043c -_0804803C: .4byte 0x01000680 -_08048040: .4byte gUnknown_020296CC -_08048044: .4byte 0xffffff00 -_08048048: - ldr r1, _08048098 @ =gLinkType - ldr r3, _0804809C @ =0x00001122 - adds r0, r3, 0 - strh r0, [r1] - bl OpenLink - movs r6, 0 - movs r4, 0 -_08048058: - movs r0, 0x64 - muls r0, r6 - ldr r1, _080480A0 @ =gEnemyParty - adds r0, r1 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - movs r1, 0 - movs r2, 0 - movs r3, 0x20 - bl CreateMon - adds r6, 0x1 - cmp r6, 0x5 - ble _08048058 - ldr r1, _080480A4 @ =gMain - ldr r0, _080480A8 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, _080480AC @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xB4 - strb r2, [r0] - ldr r0, _080480B0 @ =sub_8083C50 - movs r1, 0x1 - bl CreateTask - b _080484C6 - .align 2, 0 -_08048098: .4byte gLinkType -_0804809C: .4byte 0x00001122 -_080480A0: .4byte gEnemyParty -_080480A4: .4byte gMain -_080480A8: .4byte 0x0000043c -_080480AC: .4byte gUnknown_03004824 -_080480B0: .4byte sub_8083C50 -_080480B4: - ldr r2, _080480D8 @ =gUnknown_03004824 - ldr r1, [r2] - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0xB4 - ldrb r0, [r1] - cmp r0, 0xB - bhi _080480CE - b _080484C6 -_080480CE: - movs r0, 0 - strb r0, [r1] - ldr r2, _080480DC @ =0x0000043c - adds r1, r3, r2 - b _08048498 - .align 2, 0 -_080480D8: .4byte gUnknown_03004824 -_080480DC: .4byte 0x0000043c -_080480E0: - bl GetLinkPlayerCount_2 - adds r4, r0, 0 - bl sub_800820C - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bcs _080480F4 - b _080484C6 -_080480F4: - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - beq _08048120 - ldr r0, _0804811C @ =gUnknown_03004824 - ldr r1, [r0] - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1E - bhi _08048114 - b _080484C6 -_08048114: - bl sub_8007F4C - b _08048492 - .align 2, 0 -_0804811C: .4byte gUnknown_03004824 -_08048120: - ldr r1, _08048128 @ =gMain - ldr r0, _0804812C @ =0x0000043c - adds r1, r0 - b _08048498 - .align 2, 0 -_08048128: .4byte gMain -_0804812C: .4byte 0x0000043c -_08048130: - ldr r0, _08048154 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - beq _0804813A - b _080484C6 -_0804813A: - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08048148 - b _080484C6 -_08048148: - bl CalculatePlayerPartyCount - ldr r1, _08048158 @ =gMain - ldr r2, _0804815C @ =0x0000043c - adds r1, r2 - b _08048498 - .align 2, 0 -_08048154: .4byte gReceivedRemoteLinkPlayers -_08048158: .4byte gMain -_0804815C: .4byte 0x0000043c -_08048160: - bl sub_8048D44 - lsls r0, 24 - cmp r0, 0 - bne _0804816C - b _080484C6 -_0804816C: - bl sub_804AF84 - b _08048492 -_08048172: - bl CalculateEnemyPartyCount - ldr r4, _08048294 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x1D - str r1, [sp] - movs r1, 0x13 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowRect_DefaultPalette - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - ldr r0, [r4] - ldr r1, _08048298 @ =gPlayerPartyCount - ldrb r1, [r1] - adds r0, 0x42 - strb r1, [r0] - ldr r0, [r4] - ldr r1, _0804829C @ =gEnemyPartyCount - ldrb r1, [r1] - adds r0, 0x43 - strb r1, [r0] - movs r6, 0 - ldr r0, [r4] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - bge _08048216 - mov r8, r4 - ldr r7, _080482A0 @ =gTradeMonSpriteCoords -_080481BA: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _080482A4 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r1, 0xE0 - lsls r1, 12 - adds r2, r1 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, _080482A8 @ =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - ldr r1, _080482AC @ =sub_809D62C - bl sub_809D2FC - mov r2, r8 - ldr r1, [r2] - adds r1, 0x34 - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - blt _080481BA -_08048216: - movs r6, 0 - ldr r1, _08048294 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - bge _0804828A - ldr r0, _080482A0 @ =gTradeMonSpriteCoords - mov r8, r1 - adds r7, r0, 0 - adds r7, 0xC -_0804822C: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _080482B0 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r3, 0xE0 - lsls r3, 12 - adds r2, r3 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, _080482A8 @ =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - ldr r1, _080482AC @ =sub_809D62C - bl sub_809D2FC - mov r2, r8 - ldr r1, [r2] - adds r1, 0x3A - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - blt _0804822C -_0804828A: - movs r0, 0x2 - movs r1, 0 - bl nullsub_5 - b _08048492 - .align 2, 0 -_08048294: .4byte gUnknown_03004824 -_08048298: .4byte gPlayerPartyCount -_0804829C: .4byte gEnemyPartyCount -_080482A0: .4byte gTradeMonSpriteCoords -_080482A4: .4byte gPlayerParty -_080482A8: .4byte 0xfff40000 -_080482AC: .4byte sub_809D62C -_080482B0: .4byte gEnemyParty -_080482B4: - bl sub_806DA98 - ldr r0, _080482D0 @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x42 - adds r1, 0x34 - movs r2, 0 - bl sub_806DB90 - ldr r1, _080482D4 @ =gMain - ldr r0, _080482D8 @ =0x0000043c - adds r1, r0 - b _08048498 - .align 2, 0 -_080482D0: .4byte gUnknown_03004824 -_080482D4: .4byte gMain -_080482D8: .4byte 0x0000043c -_080482DC: - ldr r0, _080482F4 @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x42 - adds r1, 0x34 - movs r2, 0x1 - bl sub_806DB90 - ldr r1, _080482F8 @ =gMain - ldr r2, _080482FC @ =0x0000043c - adds r1, r2 - b _08048498 - .align 2, 0 -_080482F4: .4byte gUnknown_03004824 -_080482F8: .4byte gMain -_080482FC: .4byte 0x0000043c -_08048300: - bl sub_8047CE8 - ldr r1, _0804831C @ =gMain - ldr r3, _08048320 @ =0x0000043c - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, _08048324 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xB4 - strb r2, [r0] - b _080484C6 - .align 2, 0 -_0804831C: .4byte gMain -_08048320: .4byte 0x0000043c -_08048324: .4byte gUnknown_03004824 -_08048328: - movs r0, 0x4 - movs r1, 0 - bl nullsub_5 - bl sub_804ABF8 - lsls r0, 24 - cmp r0, 0 - bne _0804833C - b _080484C6 -_0804833C: - ldr r1, _08048344 @ =gMain - ldr r0, _08048348 @ =0x0000043c - adds r1, r0 - b _08048498 - .align 2, 0 -_08048344: .4byte gMain -_08048348: .4byte 0x0000043c -_0804834C: - bl sub_8047D58 - ldr r1, _08048358 @ =gMain - ldr r2, _0804835C @ =0x0000043c - adds r1, r2 - b _08048498 - .align 2, 0 -_08048358: .4byte gMain -_0804835C: .4byte 0x0000043c -_08048360: - bl sub_8047E44 - ldr r0, _080483A4 @ =gSpriteTemplate_820C134 - ldr r2, _080483A8 @ =gTradeMonSpriteCoords - ldrb r1, [r2] - lsls r1, 19 - movs r3, 0x80 - lsls r3, 14 - adds r1, r3 - asrs r1, 16 - ldrb r2, [r2, 0x1] - lsls r2, 3 - movs r3, 0x2 - bl CreateSprite - ldr r2, _080483AC @ =gUnknown_03004824 - ldr r1, [r2] - adds r1, 0x40 - movs r3, 0 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x41 - strb r3, [r0] - ldr r1, _080483B0 @ =gMain - ldr r0, _080483B4 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x6 - movs r1, 0 - bl nullsub_5 - b _080484C6 - .align 2, 0 -_080483A4: .4byte gSpriteTemplate_820C134 -_080483A8: .4byte gTradeMonSpriteCoords -_080483AC: .4byte gUnknown_03004824 -_080483B0: .4byte gMain -_080483B4: .4byte 0x0000043c -_080483B8: - movs r0, 0 - bl sub_804ACF4 - movs r0, 0 - bl sub_804A41C - ldr r2, _080483F0 @ =gUnknown_03004824 - ldr r0, [r2] - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - strb r1, [r0, 0x1] - bl sub_8048C70 - ldr r1, _080483F4 @ =gMain - ldr r2, _080483F8 @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x7 - movs r1, 0 - bl nullsub_5 - ldr r0, _080483FC @ =0x000001b3 - bl PlayBGM - b _080484C6 - .align 2, 0 -_080483F0: .4byte gUnknown_03004824 -_080483F4: .4byte gMain -_080483F8: .4byte 0x0000043c -_080483FC: .4byte 0x000001b3 -_08048400: - movs r0, 0x1 - bl sub_804ACF4 - movs r0, 0x1 - bl sub_804A41C - ldr r1, _08048428 @ =gMain - ldr r3, _0804842C @ =0x0000043c - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08048418: - movs r0, 0 - bl sub_8048B0C - ldr r1, _08048428 @ =gMain - ldr r0, _0804842C @ =0x0000043c - adds r1, r0 - b _08048498 - .align 2, 0 -_08048428: .4byte gMain -_0804842C: .4byte 0x0000043c -_08048430: - movs r0, 0x1 - bl sub_8048B0C - ldr r1, _08048440 @ =gMain - ldr r2, _08048444 @ =0x0000043c - adds r1, r2 - b _08048498 - .align 2, 0 -_08048440: .4byte gMain -_08048444: .4byte 0x0000043c -_08048448: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _08048492 -_0804845A: - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xFA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0804846C @ =0x0000043c - adds r1, r3, r0 - b _08048498 - .align 2, 0 -_0804846C: .4byte 0x0000043c -_08048470: - movs r0, 0 - bl sub_804AE3C - ldr r1, _08048480 @ =gMain - ldr r2, _08048484 @ =0x0000043c - adds r1, r2 - b _08048498 - .align 2, 0 -_08048480: .4byte gMain -_08048484: .4byte 0x0000043c -_08048488: - movs r0, 0x1 - bl sub_804AE3C - bl sub_804AF10 -_08048492: - ldr r1, _080484A0 @ =gMain - ldr r3, _080484A4 @ =0x0000043c - adds r1, r3 -_08048498: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080484C6 - .align 2, 0 -_080484A0: .4byte gMain -_080484A4: .4byte 0x0000043c -_080484A8: - ldr r0, _080484E4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080484C6 - ldr r0, _080484E8 @ =sub_80494D8 - str r0, [r3] - ldr r0, _080484EC @ =sub_8048AB4 - bl SetMainCallback2 - ldr r0, _080484F0 @ =gUnknown_03000508 - strb r4, [r0] -_080484C6: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080484E4: .4byte gPaletteFade -_080484E8: .4byte sub_80494D8 -_080484EC: .4byte sub_8048AB4 -_080484F0: .4byte gUnknown_03000508 - thumb_func_end sub_8047EC0 - - thumb_func_start sub_80484F4 -sub_80484F4: @ 80484F4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r1, _08048518 @ =gMain - ldr r2, _0804851C @ =0x0000043c - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x15 - bls _0804850C - b _080489CA -_0804850C: - lsls r0, 2 - ldr r1, _08048520 @ =_08048524 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08048518: .4byte gMain -_0804851C: .4byte 0x0000043c -_08048520: .4byte _08048524 - .align 2, 0 -_08048524: - .4byte _0804857C - .4byte _0804865C - .4byte _08048668 - .4byte _08048674 - .4byte _08048680 - .4byte _08048694 - .4byte _080486A0 - .4byte _080487E8 - .4byte _08048810 - .4byte _08048834 - .4byte _0804885C - .4byte _08048880 - .4byte _08048894 - .4byte _080489CA - .4byte _080489CA - .4byte _08048914 - .4byte _0804891C - .4byte _08048950 - .4byte _08048970 - .4byte _08048988 - .4byte _08048994 - .4byte _080489B0 -_0804857C: - ldr r5, _08048630 @ =gUnknown_03004824 - ldr r6, _08048634 @ =0x02017000 - str r6, [r5] - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r0, [r5] - adds r0, 0xC8 - ldr r1, _08048638 @ =0x06002800 - bl sub_804A964 - ldr r0, _0804863C @ =sub_80489F4 - bl SetVBlankCallback - ldr r0, _08048640 @ =gWindowConfig_81E6CE4 - bl InitMenuWindow - ldr r4, _08048644 @ =gWindowConfig_81E6F84 - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r0, [r5] - adds r0, 0x4 - adds r1, r4, 0 - bl InitWindowFromConfig - movs r0, 0x14 - bl SetTextWindowBaseTileNum - ldr r1, [r5] - adds r1, 0x7A - movs r4, 0 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x4 - bl LoadTextWindowGraphics - bl MenuZeroFillScreen - bl sub_809D51C - ldr r0, [r5] - adds r0, 0x75 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7C - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x80 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x81 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x86 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x87 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0xB4 - strb r4, [r0] - ldr r0, _08048648 @ =gUnknown_03000508 - strb r4, [r0] - ldr r1, _0804864C @ =gMain - ldr r3, _08048650 @ =0x0000043c - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, _08048654 @ =gUnknown_020296CC - movs r5, 0xD8 - lsls r5, 7 - adds r6, r5 - adds r0, r1, 0 - adds r0, 0x30 - ldr r2, _08048658 @ =0xffffff00 -_08048622: - str r6, [r0] - adds r6, r2 - subs r0, 0x4 - cmp r0, r1 - bge _08048622 - b _080489CA - .align 2, 0 -_08048630: .4byte gUnknown_03004824 -_08048634: .4byte 0x02017000 -_08048638: .4byte 0x06002800 -_0804863C: .4byte sub_80489F4 -_08048640: .4byte gWindowConfig_81E6CE4 -_08048644: .4byte gWindowConfig_81E6F84 -_08048648: .4byte gUnknown_03000508 -_0804864C: .4byte gMain -_08048650: .4byte 0x0000043c -_08048654: .4byte gUnknown_020296CC -_08048658: .4byte 0xffffff00 -_0804865C: - ldr r0, _08048664 @ =0x0000043c - adds r1, r2, r0 - b _0804883E - .align 2, 0 -_08048664: .4byte 0x0000043c -_08048668: - ldr r3, _08048670 @ =0x0000043c - adds r1, r2, r3 - b _0804899E - .align 2, 0 -_08048670: .4byte 0x0000043c -_08048674: - ldr r5, _0804867C @ =0x0000043c - adds r1, r2, r5 - b _0804899E - .align 2, 0 -_0804867C: .4byte 0x0000043c -_08048680: - bl CalculatePlayerPartyCount - ldr r1, _0804868C @ =gMain - ldr r0, _08048690 @ =0x0000043c - adds r1, r0 - b _0804899E - .align 2, 0 -_0804868C: .4byte gMain -_08048690: .4byte 0x0000043c -_08048694: - ldr r3, _0804869C @ =0x0000043c - adds r1, r2, r3 - b _0804899E - .align 2, 0 -_0804869C: .4byte 0x0000043c -_080486A0: - bl CalculateEnemyPartyCount - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - ldr r4, _080487C0 @ =gUnknown_03004824 - ldr r0, [r4] - ldr r1, _080487C4 @ =gPlayerPartyCount - ldrb r1, [r1] - adds r0, 0x42 - strb r1, [r0] - ldr r0, [r4] - ldr r1, _080487C8 @ =gEnemyPartyCount - ldrb r1, [r1] - adds r0, 0x43 - strb r1, [r0] - movs r0, 0 - bl sub_804A41C - movs r0, 0x1 - bl sub_804A41C - movs r6, 0 - ldr r0, [r4] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - bge _0804873C - mov r8, r4 - ldr r7, _080487CC @ =gTradeMonSpriteCoords -_080486DE: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _080487D0 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r1, 0xE0 - lsls r1, 12 - adds r2, r1 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, _080487D4 @ =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - ldr r1, _080487D8 @ =sub_809D62C - bl sub_809D2FC - mov r2, r8 - ldr r1, [r2] - adds r1, 0x34 - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - blt _080486DE -_0804873C: - movs r6, 0 - ldr r1, _080487C0 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - bge _080487B0 - ldr r0, _080487CC @ =gTradeMonSpriteCoords - mov r8, r1 - adds r7, r0, 0 - adds r7, 0xC -_08048752: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _080487DC @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r3, 0xE0 - lsls r3, 12 - adds r2, r3 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, _080487D4 @ =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - ldr r1, _080487D8 @ =sub_809D62C - bl sub_809D2FC - mov r2, r8 - ldr r1, [r2] - adds r1, 0x3A - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - blt _08048752 -_080487B0: - movs r0, 0x2 - movs r1, 0 - bl nullsub_5 - ldr r1, _080487E0 @ =gMain - ldr r3, _080487E4 @ =0x0000043c - adds r1, r3 - b _0804899E - .align 2, 0 -_080487C0: .4byte gUnknown_03004824 -_080487C4: .4byte gPlayerPartyCount -_080487C8: .4byte gEnemyPartyCount -_080487CC: .4byte gTradeMonSpriteCoords -_080487D0: .4byte gPlayerParty -_080487D4: .4byte 0xfff40000 -_080487D8: .4byte sub_809D62C -_080487DC: .4byte gEnemyParty -_080487E0: .4byte gMain -_080487E4: .4byte 0x0000043c -_080487E8: - bl sub_806DA98 - ldr r0, _08048804 @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x42 - adds r1, 0x34 - movs r2, 0 - bl sub_806DB90 - ldr r1, _08048808 @ =gMain - ldr r5, _0804880C @ =0x0000043c - adds r1, r5 - b _0804899E - .align 2, 0 -_08048804: .4byte gUnknown_03004824 -_08048808: .4byte gMain -_0804880C: .4byte 0x0000043c -_08048810: - ldr r0, _08048828 @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x42 - adds r1, 0x34 - movs r2, 0x1 - bl sub_806DB90 - ldr r1, _0804882C @ =gMain - ldr r0, _08048830 @ =0x0000043c - adds r1, r0 - b _0804899E - .align 2, 0 -_08048828: .4byte gUnknown_03004824 -_0804882C: .4byte gMain -_08048830: .4byte 0x0000043c -_08048834: - bl sub_8047CE8 - ldr r1, _08048850 @ =gMain - ldr r2, _08048854 @ =0x0000043c - adds r1, r2 -_0804883E: - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, _08048858 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xB4 - strb r2, [r0] - b _080489CA - .align 2, 0 -_08048850: .4byte gMain -_08048854: .4byte 0x0000043c -_08048858: .4byte gUnknown_03004824 -_0804885C: - movs r0, 0x4 - movs r1, 0 - bl nullsub_5 - bl sub_804ABF8 - lsls r0, 24 - cmp r0, 0 - bne _08048870 - b _080489CA -_08048870: - ldr r1, _08048878 @ =gMain - ldr r3, _0804887C @ =0x0000043c - adds r1, r3 - b _0804899E - .align 2, 0 -_08048878: .4byte gMain -_0804887C: .4byte 0x0000043c -_08048880: - bl sub_8047D58 - ldr r1, _0804888C @ =gMain - ldr r5, _08048890 @ =0x0000043c - adds r1, r5 - b _0804899E - .align 2, 0 -_0804888C: .4byte gMain -_08048890: .4byte 0x0000043c -_08048894: - bl sub_8047E44 - ldr r2, _080488AC @ =0x02018000 - ldr r0, _080488B0 @ =gUnknown_03004824 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x41 - ldrb r0, [r1] - cmp r0, 0x5 - bhi _080488B4 - ldrb r0, [r2, 0x9] - b _080488B8 - .align 2, 0 -_080488AC: .4byte 0x02018000 -_080488B0: .4byte gUnknown_03004824 -_080488B4: - ldrb r0, [r2, 0x9] - adds r0, 0x6 -_080488B8: - strb r0, [r1] - ldr r0, _08048900 @ =gSpriteTemplate_820C134 - ldr r3, _08048904 @ =gTradeMonSpriteCoords - ldr r4, _08048908 @ =gUnknown_03004824 - ldr r1, [r4] - adds r1, 0x41 - ldrb r2, [r1] - lsls r2, 1 - adds r1, r2, r3 - ldrb r1, [r1] - lsls r1, 19 - movs r5, 0x80 - lsls r5, 14 - adds r1, r5 - asrs r1, 16 - adds r3, 0x1 - adds r2, r3 - ldrb r2, [r2] - lsls r2, 3 - movs r3, 0x2 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x40 - strb r0, [r1] - ldr r0, _0804890C @ =gMain - ldr r1, _08048910 @ =0x0000043c - adds r0, r1 - movs r1, 0xF - strb r1, [r0] - movs r0, 0x6 - movs r1, 0 - bl nullsub_5 - b _080489CA - .align 2, 0 -_08048900: .4byte gSpriteTemplate_820C134 -_08048904: .4byte gTradeMonSpriteCoords -_08048908: .4byte gUnknown_03004824 -_0804890C: .4byte gMain -_08048910: .4byte 0x0000043c -_08048914: - movs r0, 0 - bl sub_8048B0C - b _08048998 -_0804891C: - movs r0, 0x1 - bl sub_8048B0C - ldr r2, _08048944 @ =gUnknown_03004824 - ldr r0, [r2] - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - strb r1, [r0, 0x1] - bl sub_8048C70 - movs r0, 0x7 - movs r1, 0 - bl nullsub_5 - ldr r1, _08048948 @ =gMain - ldr r3, _0804894C @ =0x0000043c - adds r1, r3 - b _0804899E - .align 2, 0 -_08048944: .4byte gUnknown_03004824 -_08048948: .4byte gMain -_0804894C: .4byte 0x0000043c -_08048950: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, _08048968 @ =gMain - ldr r5, _0804896C @ =0x0000043c - adds r1, r5 - b _0804899E - .align 2, 0 -_08048968: .4byte gMain -_0804896C: .4byte 0x0000043c -_08048970: - movs r1, 0x80 - lsls r1, 19 - movs r3, 0xFA - lsls r3, 5 - adds r0, r3, 0 - strh r0, [r1] - ldr r5, _08048984 @ =0x0000043c - adds r1, r2, r5 - b _0804899E - .align 2, 0 -_08048984: .4byte 0x0000043c -_08048988: - ldr r0, _08048990 @ =0x0000043c - adds r1, r2, r0 - b _0804899E - .align 2, 0 -_08048990: .4byte 0x0000043c -_08048994: - bl sub_804AF10 -_08048998: - ldr r1, _080489A8 @ =gMain - ldr r2, _080489AC @ =0x0000043c - adds r1, r2 -_0804899E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080489CA - .align 2, 0 -_080489A8: .4byte gMain -_080489AC: .4byte 0x0000043c -_080489B0: - ldr r0, _080489E8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080489CA - ldr r0, _080489EC @ =sub_8048AB4 - bl SetMainCallback2 - ldr r0, _080489F0 @ =gUnknown_03000508 - strb r4, [r0] -_080489CA: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080489E8: .4byte gPaletteFade -_080489EC: .4byte sub_8048AB4 -_080489F0: .4byte gUnknown_03000508 - thumb_func_end sub_80484F4 - - thumb_func_start sub_80489F4 -sub_80489F4: @ 80489F4 - push {lr} - ldr r0, _08048A10 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xC8 - bl sub_804A940 - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - .align 2, 0 -_08048A10: .4byte gUnknown_03004824 - thumb_func_end sub_80489F4 - - thumb_func_start sub_8048A14 -sub_8048A14: @ 8048A14 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08048A4C @ =gUnknown_03004824 - ldr r1, [r4] - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - bls _08048A44 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0xA - strb r1, [r0] -_08048A44: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08048A4C: .4byte gUnknown_03004824 - thumb_func_end sub_8048A14 - - thumb_func_start sub_8048A50 -sub_8048A50: @ 8048A50 - push {r4,lr} - ldr r0, _08048A84 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08048A7E - ldr r2, _08048A88 @ =gUnknown_020297D8 - ldr r4, _08048A8C @ =gUnknown_03004824 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x41 - ldrb r1, [r1] - strb r1, [r2] - adds r0, 0x8A - ldrb r0, [r0] - strb r0, [r2, 0x1] - bl sub_800832C - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0xD - strb r1, [r0] -_08048A7E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08048A84: .4byte gPaletteFade -_08048A88: .4byte gUnknown_020297D8 -_08048A8C: .4byte gUnknown_03004824 - thumb_func_end sub_8048A50 - - thumb_func_start sub_8048A90 -sub_8048A90: @ 8048A90 - push {lr} - ldr r0, _08048AA8 @ =gReceivedRemoteLinkPlayers - ldrb r1, [r0] - cmp r1, 0 - bne _08048AA4 - ldr r0, _08048AAC @ =gMain - str r1, [r0] - ldr r0, _08048AB0 @ =sub_804B41C - bl SetMainCallback2 -_08048AA4: - pop {r0} - bx r0 - .align 2, 0 -_08048AA8: .4byte gReceivedRemoteLinkPlayers -_08048AAC: .4byte gMain -_08048AB0: .4byte sub_804B41C - thumb_func_end sub_8048A90 - - thumb_func_start sub_8048AB4 -sub_8048AB4: @ 8048AB4 - push {r4,lr} - bl sub_8049DE0 - bl sub_804AB30 - movs r0, 0 - bl sub_8049ED4 - movs r0, 0x1 - bl sub_8049ED4 - ldr r4, _08048B04 @ =REG_BG2HOFS - ldr r3, _08048B08 @ =gUnknown_03004824 - ldr r2, [r3] - ldrb r0, [r2] - adds r1, r0, 0x1 - strb r1, [r2] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - adds r4, 0x4 - ldr r2, [r3] - ldrb r0, [r2, 0x1] - adds r1, r0, 0 - adds r1, 0xFF - strb r1, [r2, 0x1] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08048B04: .4byte REG_BG2HOFS -_08048B08: .4byte gUnknown_03004824 - thumb_func_end sub_8048AB4 - - thumb_func_start sub_8048B0C -sub_8048B0C: @ 8048B0C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08048B1C - cmp r0, 0x1 - beq _08048BD0 - b _08048C3A -_08048B1C: - ldr r5, _08048BA0 @ =gUnknown_08EA0348 - ldr r0, _08048BA4 @ =gTradeStripesBG2Tilemap - mov r12, r0 - ldr r1, _08048BA8 @ =gUnknown_08EA02C8 - ldr r4, _08048BAC @ =gPlttBufferFaded - ldr r3, _08048BB0 @ =gPlttBufferUnfaded - movs r2, 0x2F -_08048B2A: - ldrh r0, [r1] - strh r0, [r3] - ldrh r0, [r1] - strh r0, [r4] - adds r1, 0x2 - adds r4, 0x2 - adds r3, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _08048B2A - adds r3, r5, 0 - movs r4, 0xC0 - lsls r4, 19 - movs r5, 0x94 - lsls r5, 5 - ldr r1, _08048BB4 @ =0x040000d4 - ldr r6, _08048BB8 @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_08048B54: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _08048B54 - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0 - ldr r5, _08048BBC @ =0x000003ff - ldr r4, _08048BC0 @ =gUnknown_03004824 - ldr r3, _08048BC4 @ =gUnknown_08EA15C8 -_08048B7A: - ldr r0, [r4] - lsls r1, r2, 1 - adds r0, 0xDA - adds r0, r1 - ldrh r1, [r3] - strh r1, [r0] - adds r3, 0x2 - adds r2, 0x1 - cmp r2, r5 - ble _08048B7A - ldr r1, _08048BC8 @ =0x06003000 - ldr r0, _08048BB4 @ =0x040000d4 - mov r2, r12 - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, _08048BCC @ =0x80000400 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - b _08048C3A - .align 2, 0 -_08048BA0: .4byte gUnknown_08EA0348 -_08048BA4: .4byte gTradeStripesBG2Tilemap -_08048BA8: .4byte gUnknown_08EA02C8 -_08048BAC: .4byte gPlttBufferFaded -_08048BB0: .4byte gPlttBufferUnfaded -_08048BB4: .4byte 0x040000d4 -_08048BB8: .4byte 0x80000800 -_08048BBC: .4byte 0x000003ff -_08048BC0: .4byte gUnknown_03004824 -_08048BC4: .4byte gUnknown_08EA15C8 -_08048BC8: .4byte 0x06003000 -_08048BCC: .4byte 0x80000400 -_08048BD0: - ldr r1, _08048C40 @ =gTradeStripesBG3Tilemap - ldr r2, _08048C44 @ =0x06003800 - ldr r0, _08048C48 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _08048C4C @ =0x80000400 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - movs r0, 0 - bl sub_804A6DC - movs r0, 0x1 - bl sub_804A6DC - ldr r0, _08048C50 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xC8 - bl sub_804A938 - ldr r2, _08048C54 @ =REG_BG0CNT - ldrh r1, [r2] - ldr r0, _08048C58 @ =0x0000fffc - ands r0, r1 - strh r0, [r2] - ldr r1, _08048C5C @ =REG_BG1CNT - ldr r2, _08048C60 @ =0x00000501 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _08048C64 @ =0x00000602 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _08048C68 @ =0x00000703 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08048C6C @ =REG_BG0HOFS - movs r1, 0 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - subs r0, 0xA - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] -_08048C3A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08048C40: .4byte gTradeStripesBG3Tilemap -_08048C44: .4byte 0x06003800 -_08048C48: .4byte 0x040000d4 -_08048C4C: .4byte 0x80000400 -_08048C50: .4byte gUnknown_03004824 -_08048C54: .4byte REG_BG0CNT -_08048C58: .4byte 0x0000fffc -_08048C5C: .4byte REG_BG1CNT -_08048C60: .4byte 0x00000501 -_08048C64: .4byte 0x00000602 -_08048C68: .4byte 0x00000703 -_08048C6C: .4byte REG_BG0HOFS - thumb_func_end sub_8048B0C - - thumb_func_start sub_8048C70 -sub_8048C70: @ 8048C70 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r3, 0 - ldr r5, _08048CC0 @ =gUnknown_03004824 - mov r8, r5 - ldr r0, _08048CC4 @ =gSprites - mov r12, r0 - movs r1, 0x5 - negs r1, r1 - mov r9, r1 - movs r4, 0x6 - movs r7, 0x1 - movs r6, 0 -_08048C8E: - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x42 - ldrb r1, [r1] - cmp r3, r1 - bge _08048CC8 - adds r0, 0x34 - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x44 - adds r0, r3 - strb r7, [r0] - b _08048CCE - .align 2, 0 -_08048CC0: .4byte gUnknown_03004824 -_08048CC4: .4byte gSprites -_08048CC8: - adds r0, 0x44 - adds r0, r3 - strb r6, [r0] -_08048CCE: - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x43 - ldrb r1, [r1] - cmp r3, r1 - bge _08048CFE - adds r0, 0x3A - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x44 - adds r0, r4 - strb r7, [r0] - b _08048D04 -_08048CFE: - adds r0, 0x44 - adds r0, r4 - strb r6, [r0] -_08048D04: - adds r4, 0x1 - adds r3, 0x1 - cmp r3, 0x5 - ble _08048C8E - ldr r0, [r5] - adds r0, 0x50 - movs r1, 0x1 - strb r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8048C70 - - thumb_func_start nullsub_5 -nullsub_5: @ 8048D20 - bx lr - thumb_func_end nullsub_5 - - thumb_func_start sub_8048D24 -sub_8048D24: @ 8048D24 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r3, 0 - cmp r3, r2 - bcs _08048D3E -_08048D30: - adds r0, r5, r3 - adds r1, r4, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r3, 0x1 - cmp r3, r2 - bcc _08048D30 -_08048D3E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8048D24 - - thumb_func_start sub_8048D44 -sub_8048D44: @ 8048D44 - push {r4-r7,lr} - sub sp, 0xC - bl GetMultiplayerId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r6, _08048D90 @ =gUnknown_03004824 - ldr r0, [r6] - adds r0, 0x75 - ldrb r5, [r0] - adds r0, r5, 0 - movs r1, 0x64 - bl __udivsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x64 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetLinkDebugValues - ldr r0, [r6] - adds r0, 0x75 - ldrb r0, [r0] - cmp r0, 0x10 - bls _08048D86 - b _0804907C -_08048D86: - lsls r0, 2 - ldr r1, _08048D94 @ =_08048D98 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08048D90: .4byte gUnknown_03004824 -_08048D94: .4byte _08048D98 - .align 2, 0 -_08048D98: - .4byte _08048DDC - .4byte _08048DF8 - .4byte _08048E28 - .4byte _08048E3C - .4byte _08048E74 - .4byte _08048E90 - .4byte _08048EA4 - .4byte _08048EDC - .4byte _08048EF8 - .4byte _08048F0C - .4byte _08048F44 - .4byte _08048F60 - .4byte _08048F74 - .4byte _08048FAC - .4byte _08048FC8 - .4byte _08048FDC - .4byte _08049018 -_08048DDC: - ldr r0, _08048DEC @ =gBlockSendBuffer - ldr r1, _08048DF0 @ =gPlayerParty - movs r2, 0xC8 - bl sub_8048D24 - ldr r0, _08048DF4 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048DEC: .4byte gBlockSendBuffer -_08048DF0: .4byte gPlayerParty -_08048DF4: .4byte gUnknown_03004824 -_08048DF8: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _08048E04 - b _0804907C -_08048E04: - bl GetBlockRecievedStatus - lsls r0, 24 - cmp r0, 0 - bne _08048E18 - ldr r0, _08048E14 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E14: .4byte gUnknown_03004824 -_08048E18: - bl ResetBlockReceivedFlags - ldr r0, _08048E24 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E24: .4byte gUnknown_03004824 -_08048E28: - cmp r7, 0 - bne _08048E32 - movs r0, 0x1 - bl sub_8007E9C -_08048E32: - ldr r0, _08048E38 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E38: .4byte gUnknown_03004824 -_08048E3C: - bl GetBlockRecievedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08048E4A - b _0804907C -_08048E4A: - ldr r0, _08048E68 @ =gEnemyParty - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08048E6C @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r0, _08048E70 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E68: .4byte gEnemyParty -_08048E6C: .4byte gBlockRecvBuffer -_08048E70: .4byte gUnknown_03004824 -_08048E74: - ldr r0, _08048E84 @ =gBlockSendBuffer - ldr r1, _08048E88 @ =gUnknown_03004428 - movs r2, 0xC8 - bl sub_8048D24 - ldr r0, _08048E8C @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E84: .4byte gBlockSendBuffer -_08048E88: .4byte gUnknown_03004428 -_08048E8C: .4byte gUnknown_03004824 -_08048E90: - cmp r7, 0 - bne _08048E9A - movs r0, 0x1 - bl sub_8007E9C -_08048E9A: - ldr r0, _08048EA0 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048EA0: .4byte gUnknown_03004824 -_08048EA4: - bl GetBlockRecievedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08048EB2 - b _0804907C -_08048EB2: - ldr r0, _08048ED0 @ =gUnknown_03004688 - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08048ED4 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r0, _08048ED8 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048ED0: .4byte gUnknown_03004688 -_08048ED4: .4byte gBlockRecvBuffer -_08048ED8: .4byte gUnknown_03004824 -_08048EDC: - ldr r0, _08048EEC @ =gBlockSendBuffer - ldr r1, _08048EF0 @ =gUnknown_030044F0 - movs r2, 0xC8 - bl sub_8048D24 - ldr r0, _08048EF4 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048EEC: .4byte gBlockSendBuffer -_08048EF0: .4byte gUnknown_030044F0 -_08048EF4: .4byte gUnknown_03004824 -_08048EF8: - cmp r7, 0 - bne _08048F02 - movs r0, 0x1 - bl sub_8007E9C -_08048F02: - ldr r0, _08048F08 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048F08: .4byte gUnknown_03004824 -_08048F0C: - bl GetBlockRecievedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08048F1A - b _0804907C -_08048F1A: - ldr r0, _08048F38 @ =gUnknown_03004750 - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08048F3C @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r0, _08048F40 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048F38: .4byte gUnknown_03004750 -_08048F3C: .4byte gBlockRecvBuffer -_08048F40: .4byte gUnknown_03004824 -_08048F44: - ldr r0, _08048F54 @ =gBlockSendBuffer - ldr r1, _08048F58 @ =gSaveBlock1 + 0x2B4C - movs r2, 0xDC - bl sub_8048D24 - ldr r0, _08048F5C @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048F54: .4byte gBlockSendBuffer -_08048F58: .4byte gSaveBlock1 + 0x2B4C -_08048F5C: .4byte gUnknown_03004824 -_08048F60: - cmp r7, 0 - bne _08048F6A - movs r0, 0x3 - bl sub_8007E9C -_08048F6A: - ldr r0, _08048F70 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048F70: .4byte gUnknown_03004824 -_08048F74: - bl GetBlockRecievedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08048F82 - b _0804907C -_08048F82: - ldr r0, _08048FA0 @ =gUnknown_02029700 - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08048FA4 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xD8 - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r0, _08048FA8 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048FA0: .4byte gUnknown_02029700 -_08048FA4: .4byte gBlockRecvBuffer -_08048FA8: .4byte gUnknown_03004824 -_08048FAC: - ldr r0, _08048FBC @ =gBlockSendBuffer - ldr r1, _08048FC0 @ =gSaveBlock1 + 0x3110 - movs r2, 0xB - bl sub_8048D24 - ldr r0, _08048FC4 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048FBC: .4byte gBlockSendBuffer -_08048FC0: .4byte gSaveBlock1 + 0x3110 -_08048FC4: .4byte gUnknown_03004824 -_08048FC8: - cmp r7, 0 - bne _08048FD2 - movs r0, 0x4 - bl sub_8007E9C -_08048FD2: - ldr r0, _08048FD8 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048FD8: .4byte gUnknown_03004824 -_08048FDC: - bl GetBlockRecievedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0804907C - ldr r4, _08049010 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0xB5 - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08049014 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xB - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r1, [r4] -_08049006: - adds r1, 0x75 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804907C - .align 2, 0 -_08049010: .4byte gUnknown_03004824 -_08049014: .4byte gBlockRecvBuffer -_08049018: - ldr r4, _0804906C @ =gEnemyParty - ldr r6, _08049070 @ =0x0000012f - movs r5, 0x5 -_0804901E: - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _0804905E - cmp r0, r6 - bne _0804905E - adds r0, r4, 0 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x1 - beq _0804905E - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - mov r0, sp - ldr r1, _08049074 @ =gUnknown_0820C3B0 - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - bne _0804905E - adds r0, r4, 0 - movs r1, 0x2 - ldr r2, _08049078 @ =gSpeciesNames + 0xD05 - bl SetMonData -_0804905E: - adds r4, 0x64 - subs r5, 0x1 - cmp r5, 0 - bge _0804901E - movs r0, 0x1 - b _0804907E - .align 2, 0 -_0804906C: .4byte gEnemyParty -_08049070: .4byte 0x0000012f -_08049074: .4byte gUnknown_0820C3B0 -_08049078: .4byte gSpeciesNames + 0xD05 -_0804907C: - movs r0, 0 -_0804907E: - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8048D44 - - thumb_func_start sub_8049088 -sub_8049088: @ 8049088 - push {lr} - sub sp, 0x1C - ldr r1, _080490B0 @ =gTradeText_TradeOkayPrompt - mov r0, sp - bl StringCopy - ldr r0, _080490B4 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7E - ldrh r1, [r0] - lsls r1, 5 - ldr r0, _080490B8 @ =0x06010000 - adds r1, r0 - mov r0, sp - movs r2, 0x14 - bl sub_804ACD8 - add sp, 0x1C - pop {r0} - bx r0 - .align 2, 0 -_080490B0: .4byte gTradeText_TradeOkayPrompt -_080490B4: .4byte gUnknown_03004824 -_080490B8: .4byte 0x06010000 - thumb_func_end sub_8049088 - - thumb_func_start sub_80490BC -sub_80490BC: @ 80490BC - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0x1 - adds r0, r4, 0 - ands r0, r3 - cmp r0, 0 - beq _08049148 - ldr r1, _080490EC @ =gBlockRecvBuffer - lsls r0, r2, 8 - adds r0, r1 - ldrh r1, [r0] - ldr r0, _080490F0 @ =0x0000bbbb - cmp r1, r0 - beq _08049128 - cmp r1, r0 - bgt _080490F8 - ldr r0, _080490F4 @ =0x0000aabb - cmp r1, r0 - beq _08049118 - b _08049142 - .align 2, 0 -_080490EC: .4byte gBlockRecvBuffer -_080490F0: .4byte 0x0000bbbb -_080490F4: .4byte 0x0000aabb -_080490F8: - ldr r0, _0804910C @ =0x0000bbcc - cmp r1, r0 - beq _08049138 - ldr r0, _08049110 @ =0x0000eeaa - cmp r1, r0 - bne _08049142 - ldr r0, _08049114 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x84 - b _0804913E - .align 2, 0 -_0804910C: .4byte 0x0000bbcc -_08049110: .4byte 0x0000eeaa -_08049114: .4byte gUnknown_03004824 -_08049118: - ldr r0, _08049124 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x84 - strb r3, [r0] - b _08049142 - .align 2, 0 -_08049124: .4byte gUnknown_03004824 -_08049128: - ldr r0, _08049134 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x86 - strb r3, [r0] - b _08049142 - .align 2, 0 -_08049134: .4byte gUnknown_03004824 -_08049138: - ldr r0, _08049170 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x86 -_0804913E: - movs r1, 0x2 - strb r1, [r0] -_08049142: - movs r0, 0 - bl ResetBlockReceivedFlag -_08049148: - movs r2, 0x2 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _080491DA - ldr r3, _08049174 @ =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r3, r1 - ldrh r1, [r0] - ldr r0, _08049178 @ =0x0000bbbb - cmp r1, r0 - beq _080491BC - cmp r1, r0 - bgt _08049180 - ldr r0, _0804917C @ =0x0000aabb - cmp r1, r0 - beq _080491A0 - b _080491D4 - .align 2, 0 -_08049170: .4byte gUnknown_03004824 -_08049174: .4byte gBlockRecvBuffer -_08049178: .4byte 0x0000bbbb -_0804917C: .4byte 0x0000aabb -_08049180: - ldr r0, _08049194 @ =0x0000bbcc - cmp r1, r0 - beq _080491CC - ldr r0, _08049198 @ =0x0000eeaa - cmp r1, r0 - bne _080491D4 - ldr r0, _0804919C @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x85 - b _080491D2 - .align 2, 0 -_08049194: .4byte 0x0000bbcc -_08049198: .4byte 0x0000eeaa -_0804919C: .4byte gUnknown_03004824 -_080491A0: - ldr r2, _080491B8 @ =gUnknown_03004824 - ldr r1, [r2] - movs r4, 0x81 - lsls r4, 1 - adds r0, r3, r4 - ldrb r0, [r0] - adds r0, 0x6 - adds r1, 0x8A - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x85 - b _080491C2 - .align 2, 0 -_080491B8: .4byte gUnknown_03004824 -_080491BC: - ldr r0, _080491C8 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x87 -_080491C2: - movs r1, 0x1 - strb r1, [r0] - b _080491D4 - .align 2, 0 -_080491C8: .4byte gUnknown_03004824 -_080491CC: - ldr r0, _080491E0 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x87 -_080491D2: - strb r2, [r0] -_080491D4: - movs r0, 0x1 - bl ResetBlockReceivedFlag -_080491DA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080491E0: .4byte gUnknown_03004824 - thumb_func_end sub_80490BC - - thumb_func_start sub_80491E4 -sub_80491E4: @ 80491E4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _080492BE - ldr r2, _08049210 @ =gBlockRecvBuffer - ldrh r1, [r2] - ldr r0, _08049214 @ =0x0000ddee - cmp r1, r0 - beq _080492A8 - cmp r1, r0 - bgt _08049220 - ldr r0, _08049218 @ =0x0000ccdd - cmp r1, r0 - beq _08049288 - ldr r0, _0804921C @ =0x0000dddd - cmp r1, r0 - beq _0804925C - b _080492B8 - .align 2, 0 -_08049210: .4byte gBlockRecvBuffer -_08049214: .4byte 0x0000ddee -_08049218: .4byte 0x0000ccdd -_0804921C: .4byte 0x0000dddd -_08049220: - ldr r0, _08049230 @ =0x0000eebb - cmp r1, r0 - beq _08049234 - adds r0, 0x11 - cmp r1, r0 - beq _08049258 - b _080492B8 - .align 2, 0 -_08049230: .4byte 0x0000eebb -_08049234: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x4 - bl sub_804AA0C - ldr r0, _08049254 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0xB - b _080492B6 - .align 2, 0 -_08049254: .4byte gUnknown_03004824 -_08049258: - movs r0, 0x5 - b _080492AA -_0804925C: - ldr r4, _08049284 @ =gUnknown_03004824 - ldr r1, [r4] - ldrb r0, [r2, 0x2] - adds r0, 0x6 - adds r1, 0x8A - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x41 - ldrb r0, [r0] - bl sub_8049E9C - ldr r0, [r4] - adds r0, 0x8A - ldrb r0, [r0] - bl sub_8049E9C - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x7 - b _080492B6 - .align 2, 0 -_08049284: .4byte gUnknown_03004824 -_08049288: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080492A4 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0xA - b _080492B6 - .align 2, 0 -_080492A4: .4byte gUnknown_03004824 -_080492A8: - movs r0, 0x1 -_080492AA: - bl sub_804AA0C - ldr r0, _080492D4 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0x8 -_080492B6: - strb r1, [r0] -_080492B8: - movs r0, 0 - bl ResetBlockReceivedFlag -_080492BE: - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _080492CC - movs r0, 0x1 - bl ResetBlockReceivedFlag -_080492CC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080492D4: .4byte gUnknown_03004824 - thumb_func_end sub_80491E4 - - thumb_func_start sub_80492D8 -sub_80492D8: @ 80492D8 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _08049334 @ =gUnknown_03004824 - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0x84 - ldrb r0, [r1] - cmp r0, 0 - bne _080492EC - b _08049420 -_080492EC: - adds r0, r2, 0 - adds r0, 0x85 - ldrb r0, [r0] - cmp r0, 0 - bne _080492F8 - b _08049420 -_080492F8: - ldrh r1, [r1] - ldr r0, _08049338 @ =0x00000101 - cmp r1, r0 - bne _08049340 - adds r1, r2, 0 - adds r1, 0x7B - movs r0, 0x6 - strb r0, [r1] - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0x8C - movs r4, 0 - ldr r0, _0804933C @ =0x0000dddd - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x41 - ldrb r1, [r0] - adds r0, 0x4D - strh r1, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - ldr r0, [r6] - adds r2, r0, 0 - adds r2, 0x85 - strb r4, [r2] - adds r0, 0x84 - strb r4, [r0] - b _08049420 - .align 2, 0 -_08049334: .4byte gUnknown_03004824 -_08049338: .4byte 0x00000101 -_0804933C: .4byte 0x0000dddd -_08049340: - ldr r0, _08049388 @ =0x00000201 - cmp r1, r0 - bne _08049390 - movs r0, 0x1 - bl sub_804AA0C - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0x8C - movs r4, 0 - movs r3, 0 - ldr r0, _0804938C @ =0x0000eecc - strh r0, [r2] - adds r1, 0x8E - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x87 - strb r4, [r1] - adds r0, 0x86 - strb r4, [r0] - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x85 - strb r4, [r1] - adds r0, 0x84 - strb r4, [r0] - ldr r0, [r6] - adds r0, 0x7B - movs r1, 0x8 - b _0804941E - .align 2, 0 -_08049388: .4byte 0x00000201 -_0804938C: .4byte 0x0000eecc -_08049390: - movs r0, 0x81 - lsls r0, 1 - cmp r1, r0 - bne _080493DC - movs r0, 0x5 - bl sub_804AA0C - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0x8C - movs r4, 0 - movs r3, 0 - ldr r0, _080493D8 @ =0x0000ddee - strh r0, [r2] - adds r1, 0x8E - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x87 - strb r4, [r1] - adds r0, 0x86 - strb r4, [r0] - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x85 - strb r4, [r1] - adds r0, 0x84 - strb r4, [r0] - ldr r0, [r6] - adds r0, 0x7B - movs r1, 0x8 - b _0804941E - .align 2, 0 -_080493D8: .4byte 0x0000ddee -_080493DC: - ldr r0, _080494C0 @ =0x00000202 - cmp r1, r0 - bne _08049420 - adds r1, r2, 0 - adds r1, 0x8C - movs r5, 0 - movs r4, 0 - ldr r0, _080494C4 @ =0x0000eebb - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x8E - strh r4, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x85 - strb r5, [r1] - adds r0, 0x84 - strb r5, [r0] - ldr r0, [r6] - adds r0, 0x7B - movs r1, 0xB -_0804941E: - strb r1, [r0] -_08049420: - ldr r5, _080494C8 @ =gUnknown_03004824 - ldr r3, [r5] - adds r1, r3, 0 - adds r1, 0x86 - ldrb r0, [r1] - cmp r0, 0 - beq _080494B8 - adds r0, r3, 0 - adds r0, 0x87 - ldrb r0, [r0] - cmp r0, 0 - beq _080494B8 - ldrh r1, [r1] - ldr r0, _080494CC @ =0x00000101 - cmp r1, r0 - bne _0804946E - adds r1, r3, 0 - adds r1, 0x8C - movs r4, 0 - movs r2, 0 - ldr r0, _080494D0 @ =0x0000ccdd - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0x8E - strh r2, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - ldr r0, [r5] - adds r0, 0x86 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x87 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - movs r1, 0x9 - strb r1, [r0] -_0804946E: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x86 - ldrb r0, [r0] - cmp r0, 0x2 - beq _08049484 - adds r0, r1, 0 - adds r0, 0x87 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080494B8 -_08049484: - movs r0, 0x1 - bl sub_804AA0C - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x8C - movs r4, 0 - movs r3, 0 - ldr r0, _080494D4 @ =0x0000ddee - strh r0, [r2] - adds r1, 0x8E - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - ldr r0, [r5] - adds r0, 0x86 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x87 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - movs r1, 0x8 - strb r1, [r0] -_080494B8: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080494C0: .4byte 0x00000202 -_080494C4: .4byte 0x0000eebb -_080494C8: .4byte gUnknown_03004824 -_080494CC: .4byte 0x00000101 -_080494D0: .4byte 0x0000ccdd -_080494D4: .4byte 0x0000ddee - thumb_func_end sub_80492D8 - - thumb_func_start sub_80494D8 -sub_80494D8: @ 80494D8 - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - lsrs r4, r0, 24 - bl GetBlockRecievedStatus - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08049504 - cmp r4, 0 - bne _080494FA - movs r0, 0 - bl sub_80490BC - b _08049500 -_080494FA: - adds r0, r4, 0 - bl sub_80491E4 -_08049500: - bl ResetBlockReceivedFlags -_08049504: - cmp r4, 0 - bne _0804950C - bl sub_80492D8 -_0804950C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80494D8 - - thumb_func_start sub_8049514 -sub_8049514: @ 8049514 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r6, 0 - movs r5, 0 - ldr r2, _08049548 @ =gUnknown_03004824 - ldr r3, [r2] - ldr r4, _0804954C @ =gTradeNextSelectedMonTable - lsls r2, r1, 1 - adds r2, r1 - lsls r2, 1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r3, 0x44 - adds r2, r1 - adds r2, r4 -_0804953A: - ldrb r1, [r2] - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08049550 - adds r6, r1, 0 - b _08049558 - .align 2, 0 -_08049548: .4byte gUnknown_03004824 -_0804954C: .4byte gTradeNextSelectedMonTable -_08049550: - adds r2, 0x1 - adds r5, 0x1 - cmp r5, 0x5 - ble _0804953A -_08049558: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8049514 - - thumb_func_start sub_8049560 -sub_8049560: @ 8049560 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r7] - bl sub_8049514 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xC - bne _080495B8 - ldr r5, _080495B0 @ =gUnknown_03004824 - ldr r0, [r5] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080495B4 @ =gSprites - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r2, [r5] - adds r2, 0x40 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xE0 - strh r1, [r0, 0x20] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xA0 - strh r1, [r0, 0x22] - b _08049600 - .align 2, 0 -_080495B0: .4byte gUnknown_03004824 -_080495B4: .4byte gSprites -_080495B8: - ldr r4, _08049614 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _08049618 @ =gSprites - adds r0, r5 - movs r1, 0 - bl StartSpriteAnim - ldr r4, [r4] - adds r4, 0x40 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldr r2, _0804961C @ =gTradeMonSpriteCoords - lsls r3, r6, 1 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r0, 0x20 - strh r0, [r1, 0x20] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r2, 0x1 - adds r3, r2 - ldrb r0, [r3] - lsls r0, 3 - strh r0, [r1, 0x22] -_08049600: - ldrb r0, [r7] - cmp r0, r6 - beq _0804960C - movs r0, 0x5 - bl PlaySE -_0804960C: - strb r6, [r7] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08049614: .4byte gUnknown_03004824 -_08049618: .4byte gSprites -_0804961C: .4byte gTradeMonSpriteCoords - thumb_func_end sub_8049560 - - thumb_func_start sub_8049620 -sub_8049620: @ 8049620 - push {r4,lr} - movs r0, 0 - bl sub_804AA0C - ldr r4, _08049668 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x5 - strb r1, [r0] - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08049670 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x8C - ldr r0, _0804966C @ =0x0000aabb - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x41 - ldrb r1, [r0] - adds r0, 0x4D - strh r1, [r0] - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x8C - movs r2, 0x14 - bl SendBlock - b _08049678 - .align 2, 0 -_08049668: .4byte gUnknown_03004824 -_0804966C: .4byte 0x0000aabb -_08049670: - ldr r0, [r4] - adds r0, 0x84 - movs r1, 0x1 - strb r1, [r0] -_08049678: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8049620 - - thumb_func_start sub_8049680 -sub_8049680: @ 8049680 - push {r4,lr} - sub sp, 0x8 - ldr r0, _080496A0 @ =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080496A8 - ldr r0, _080496A4 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x41 - movs r1, 0 - bl sub_8049560 - b _080496F4 - .align 2, 0 -_080496A0: .4byte gMain -_080496A4: .4byte gUnknown_03004824 -_080496A8: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080496C4 - ldr r0, _080496C0 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x41 - movs r1, 0x1 - bl sub_8049560 - b _080496F4 - .align 2, 0 -_080496C0: .4byte gUnknown_03004824 -_080496C4: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080496E0 - ldr r0, _080496DC @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x41 - movs r1, 0x2 - bl sub_8049560 - b _080496F4 - .align 2, 0 -_080496DC: .4byte gUnknown_03004824 -_080496E0: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080496F4 - ldr r0, _08049750 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x41 - movs r1, 0x3 - bl sub_8049560 -_080496F4: - ldr r0, _08049754 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080497B6 - movs r0, 0x5 - bl PlaySE - ldr r4, _08049750 @ =gUnknown_03004824 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x41 - ldrb r1, [r1] - cmp r1, 0x5 - bhi _0804975C - adds r0, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0x12 - movs r2, 0xE - movs r3, 0x1C - bl DrawTextWindow - ldr r3, _08049758 @ =gUnknown_0820C320 - movs r0, 0x13 - movs r1, 0xF - movs r2, 0x2 - bl PrintMenuItems - movs r0, 0 - str r0, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x13 - movs r2, 0xF - movs r3, 0x2 - bl InitMenu - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x1 - strb r1, [r0] - b _080497B6 - .align 2, 0 -_08049750: .4byte gUnknown_03004824 -_08049754: .4byte gMain -_08049758: .4byte gUnknown_0820C320 -_0804975C: - cmp r1, 0xB - bhi _0804977A - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x2 - strb r1, [r0] - b _080497B6 -_0804977A: - cmp r1, 0xC - bne _080497B6 - adds r0, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0x18 - movs r2, 0xE - movs r3, 0x1D - bl DrawTextWindow - movs r0, 0x18 - movs r1, 0xE - movs r2, 0x4 - bl InitYesNoMenu - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x4 - strb r1, [r0] - ldr r0, _080497F4 @ =gUnknown_0820C14C - ldr r0, [r0, 0x10] - ldr r1, [r4] - adds r1, 0x7E - ldrh r1, [r1] - lsls r1, 5 - ldr r2, _080497F8 @ =0x06010000 - adds r1, r2 - movs r2, 0x14 - bl sub_804ACD8 -_080497B6: - ldr r0, _080497FC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080497EC - movs r2, 0 - ldr r3, _08049800 @ =gUnknown_03004824 -_080497C8: - ldr r0, [r3] - lsls r1, r2, 1 - adds r0, 0x8C - adds r0, r1 - strh r2, [r0] - adds r2, 0x1 - cmp r2, 0x9 - ble _080497C8 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08049800 @ =gUnknown_03004824 - ldr r1, [r1] - adds r1, 0x8C - movs r2, 0x14 - bl SendBlock -_080497EC: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080497F4: .4byte gUnknown_0820C14C -_080497F8: .4byte 0x06010000 -_080497FC: .4byte gMain -_08049800: .4byte gUnknown_03004824 - thumb_func_end sub_8049680 - - thumb_func_start sub_8049804 -sub_8049804: @ 8049804 - push {lr} - bl sub_8072DEC - bl sub_804A80C - ldr r3, _08049850 @ =gUnknown_03004824 - ldr r0, [r3] - adds r0, 0x7B - movs r1, 0 - strb r1, [r0] - ldr r2, _08049854 @ =gSprites - ldr r0, [r3] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r0, _08049858 @ =gUnknown_0820C14C - ldr r0, [r0, 0x4] - ldr r1, [r3] - adds r1, 0x7E - ldrh r1, [r1] - lsls r1, 5 - ldr r2, _0804985C @ =0x06010000 - adds r1, r2 - movs r2, 0x14 - bl sub_804ACD8 - pop {r0} - bx r0 - .align 2, 0 -_08049850: .4byte gUnknown_03004824 -_08049854: .4byte gSprites -_08049858: .4byte gUnknown_0820C14C -_0804985C: .4byte 0x06010000 - thumb_func_end sub_8049804 - - thumb_func_start sub_8049860 -sub_8049860: @ 8049860 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0804987C @ =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08049880 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _08049890 - .align 2, 0 -_0804987C: .4byte gMain -_08049880: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804989C - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_08049890: - bl MoveMenuCursor - ldr r1, _080498D8 @ =gUnknown_03004824 - ldr r1, [r1] - adds r1, 0x7C - strb r0, [r1] -_0804989C: - ldr r0, _080498DC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08049938 - movs r0, 0x5 - bl PlaySE - bl GetMenuCursorPos - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080498E0 - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080498D8 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0x2 - strb r1, [r0] - b _0804994A - .align 2, 0 -_080498D8: .4byte gUnknown_03004824 -_080498DC: .4byte gMain -_080498E0: - ldr r4, _08049910 @ =gUnknown_03004824 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x51 - adds r1, r2, 0 - adds r1, 0x42 - ldrb r1, [r1] - adds r2, 0x41 - ldrb r2, [r2] - bl sub_80499F0 - lsls r0, 24 - cmp r0, 0 - bne _08049914 - movs r0, 0x3 - movs r1, 0x2 - bl sub_804AADC - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x8 - strb r1, [r0] - b _0804994A - .align 2, 0 -_08049910: .4byte gUnknown_03004824 -_08049914: - bl sub_8049620 - ldr r2, _08049934 @ =gSprites - ldr r0, [r4] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0804994A - .align 2, 0 -_08049934: .4byte gSprites -_08049938: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0804994A - movs r0, 0x5 - bl PlaySE - bl sub_8049804 -_0804994A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8049860 - - thumb_func_start sub_8049954 -sub_8049954: @ 8049954 - push {lr} - ldr r0, _08049978 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0804996A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08049974 -_0804996A: - movs r0, 0x5 - bl PlaySE - bl sub_8049804 -_08049974: - pop {r0} - bx r0 - .align 2, 0 -_08049978: .4byte gMain - thumb_func_end sub_8049954 - - thumb_func_start sub_804997C -sub_804997C: @ 804997C - push {r4,lr} - sub sp, 0x4 - ldr r0, _080499B4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080499E0 - ldr r0, _080499B8 @ =gUnknown_03004824 - ldr r2, [r0] - adds r3, r2, 0 - adds r3, 0x41 - ldrb r1, [r3] - cmp r1, 0x5 - bhi _080499C4 - ldr r0, _080499BC @ =gPlayerParty - ldrb r1, [r3] - adds r2, 0x42 - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080499C0 @ =sub_80484F4 - movs r4, 0x4 - str r4, [sp] - bl sub_809D8BC - b _080499E0 - .align 2, 0 -_080499B4: .4byte gPaletteFade -_080499B8: .4byte gUnknown_03004824 -_080499BC: .4byte gPlayerParty -_080499C0: .4byte sub_80484F4 -_080499C4: - ldr r0, _080499E8 @ =gEnemyParty - subs r1, 0x6 - lsls r1, 24 - lsrs r1, 24 - adds r2, 0x43 - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080499EC @ =sub_80484F4 - movs r4, 0x4 - str r4, [sp] - bl sub_809D8BC -_080499E0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080499E8: .4byte gEnemyParty -_080499EC: .4byte sub_80484F4 - thumb_func_end sub_804997C - - thumb_func_start sub_80499F0 -sub_80499F0: @ 80499F0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0 - movs r3, 0 - cmp r1, r4 - bge _08049A18 -_08049A04: - cmp r2, r3 - beq _08049A12 - adds r0, r5, r3 - ldrb r0, [r0] - adds r0, r1, r0 - lsls r0, 24 - lsrs r1, r0, 24 -_08049A12: - adds r3, 0x1 - cmp r3, r4 - blt _08049A04 -_08049A18: - adds r0, r1, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80499F0 - - thumb_func_start sub_8049A20 -sub_8049A20: @ 8049A20 - push {r4,r5,lr} - sub sp, 0xC - movs r2, 0 - ldr r0, _08049A80 @ =gUnknown_03004824 - ldr r1, [r0] - adds r3, r1, 0 - adds r3, 0x42 - adds r5, r0, 0 - ldrb r0, [r3] - cmp r2, r0 - bge _08049A4C - adds r4, r1, 0 - adds r4, 0x51 -_08049A3A: - mov r1, sp - adds r0, r1, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - ldrb r0, [r3] - cmp r2, r0 - blt _08049A3A -_08049A4C: - adds r4, r5, 0 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x42 - ldrb r1, [r1] - adds r0, 0x41 - ldrb r2, [r0] - mov r0, sp - bl sub_80499F0 - lsls r0, 24 - cmp r0, 0 - bne _08049A88 - movs r0, 0x3 - movs r1, 0x2 - bl sub_804AADC - ldr r0, [r4] - adds r0, 0x8C - ldr r1, _08049A84 @ =0x0000bbcc - strh r1, [r0] - movs r0, 0xB4 - movs r1, 0 - bl sub_804AADC - b _08049AB4 - .align 2, 0 -_08049A80: .4byte gUnknown_03004824 -_08049A84: .4byte 0x0000bbcc -_08049A88: - movs r0, 0x3 - movs r1, 0x1 - bl sub_804AADC - ldr r0, [r5] - adds r0, 0x8C - ldr r1, _08049ABC @ =0x0000bbbb - strh r1, [r0] - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _08049AB4 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r5] - adds r1, 0x8C - movs r2, 0x14 - bl SendBlock -_08049AB4: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08049ABC: .4byte 0x0000bbbb - thumb_func_end sub_8049A20 - - thumb_func_start sub_8049AC0 -sub_8049AC0: @ 8049AC0 - push {r4,lr} - ldr r0, _08049ADC @ =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08049AE0 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _08049AF0 - .align 2, 0 -_08049ADC: .4byte gMain -_08049AE0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08049AFC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_08049AF0: - bl MoveMenuCursor - ldr r1, _08049B20 @ =gUnknown_03004824 - ldr r1, [r1] - adds r1, 0x7C - strb r0, [r1] -_08049AFC: - ldr r0, _08049B24 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08049B64 - movs r0, 0x5 - bl PlaySE - bl GetMenuCursorPos - lsls r0, 24 - cmp r0, 0 - bne _08049B28 - bl sub_8049A20 - b _08049B56 - .align 2, 0 -_08049B20: .4byte gUnknown_03004824 -_08049B24: .4byte gMain -_08049B28: - movs r0, 0x3 - movs r1, 0x1 - bl sub_804AADC - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _08049B56 - ldr r4, _08049B5C @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x8C - ldr r1, _08049B60 @ =0x0000bbcc - strh r1, [r0] - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x8C - movs r2, 0x14 - bl SendBlock -_08049B56: - ldr r0, _08049B5C @ =gUnknown_03004824 - ldr r0, [r0] - b _08049BAA - .align 2, 0 -_08049B5C: .4byte gUnknown_03004824 -_08049B60: .4byte 0x0000bbcc -_08049B64: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08049BB0 - movs r0, 0x3 - movs r1, 0x1 - bl sub_804AADC - bl GetMenuCursorPos - lsls r0, 24 - cmp r0, 0 - bne _08049B8C - movs r0, 0x1 - bl MoveMenuCursor - ldr r1, _08049BB8 @ =gUnknown_03004824 - ldr r1, [r1] - adds r1, 0x7C - strb r0, [r1] -_08049B8C: - ldr r4, _08049BB8 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x8C - ldr r1, _08049BBC @ =0x0000bbcc - strh r1, [r0] - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x8C - movs r2, 0x14 - bl SendBlock - ldr r0, [r4] -_08049BAA: - adds r0, 0x7B - movs r1, 0x64 - strb r1, [r0] -_08049BB0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08049BB8: .4byte gUnknown_03004824 -_08049BBC: .4byte 0x0000bbcc - thumb_func_end sub_8049AC0 - - thumb_func_start sub_8049BC0 -sub_8049BC0: @ 8049BC0 - push {r4,r5,lr} - ldr r0, _08049BDC @ =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08049BE0 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _08049BF0 - .align 2, 0 -_08049BDC: .4byte gMain -_08049BE0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08049BFC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_08049BF0: - bl MoveMenuCursor - ldr r1, _08049C5C @ =gUnknown_03004824 - ldr r1, [r1] - adds r1, 0x7C - strb r0, [r1] -_08049BFC: - ldr r0, _08049C60 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08049C72 - movs r0, 0x5 - bl PlaySE - bl GetMenuCursorPos - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _08049C6C - movs r0, 0x4 - bl sub_804AA0C - ldr r4, _08049C5C @ =gUnknown_03004824 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0x8C - ldr r1, _08049C64 @ =0x0000eeaa - strh r1, [r2] - adds r0, 0x8E - strh r5, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - ldr r2, _08049C68 @ =gSprites - ldr r0, [r4] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x64 - strb r1, [r0] - b _08049C84 - .align 2, 0 -_08049C5C: .4byte gUnknown_03004824 -_08049C60: .4byte gMain -_08049C64: .4byte 0x0000eeaa -_08049C68: .4byte gSprites -_08049C6C: - bl sub_8049804 - b _08049C84 -_08049C72: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08049C84 - movs r0, 0x5 - bl PlaySE - bl sub_8049804 -_08049C84: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8049BC0 - - thumb_func_start sub_8049C8C -sub_8049C8C: @ 8049C8C - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _08049CAE - ldr r4, _08049CC0 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x41 - ldrb r0, [r0] - bl sub_8049E9C - ldr r0, [r4] - adds r0, 0x8A - ldrb r0, [r0] - bl sub_8049E9C -_08049CAE: - ldr r0, _08049CC0 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0x7 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08049CC0: .4byte gUnknown_03004824 - thumb_func_end sub_8049C8C - - thumb_func_start sub_8049CC4 -sub_8049CC4: @ 8049CC4 - push {r4,lr} - ldr r4, _08049CE8 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x80 - ldrh r1, [r0] - ldr r0, _08049CEC @ =0x00000505 - cmp r1, r0 - bne _08049CE0 - bl sub_8049088 - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0xE - strb r1, [r0] -_08049CE0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08049CE8: .4byte gUnknown_03004824 -_08049CEC: .4byte 0x00000505 - thumb_func_end sub_8049CC4 - - thumb_func_start DisplayMessageAndContinueTask -DisplayMessageAndContinueTask: @ 8049CF0 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08049D40 @ =gUnknown_03004824 - ldr r1, [r4] - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xB4 - ldrb r0, [r0] - cmp r0, 0x78 - bls _08049D36 - adds r0, r1, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0x18 - movs r2, 0xE - movs r3, 0x1D - bl DrawTextWindow - movs r0, 0x18 - movs r1, 0xE - movs r2, 0x4 - bl InitYesNoMenu - ldr r0, [r4] - adds r0, 0xB4 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x3 - strb r1, [r0] -_08049D36: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08049D40: .4byte gUnknown_03004824 - thumb_func_end DisplayMessageAndContinueTask - - thumb_func_start sub_8049D44 -sub_8049D44: @ 8049D44 - push {lr} - ldr r0, _08049D90 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08049D8A - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_804A840 - movs r0, 0x1 - bl sub_804A840 - ldr r2, _08049D94 @ =gUnknown_03004824 - ldr r0, [r2] - adds r0, 0x7B - movs r1, 0 - strb r1, [r0] - ldr r3, _08049D98 @ =gSprites - ldr r0, [r2] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_08049D8A: - pop {r0} - bx r0 - .align 2, 0 -_08049D90: .4byte gMain -_08049D94: .4byte gUnknown_03004824 -_08049D98: .4byte gSprites - thumb_func_end sub_8049D44 - - thumb_func_start sub_8049D9C -sub_8049D9C: @ 8049D9C - push {lr} - ldr r0, _08049DBC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08049DB8 - bl sub_800832C - ldr r0, _08049DC0 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0xC - strb r1, [r0] -_08049DB8: - pop {r0} - bx r0 - .align 2, 0 -_08049DBC: .4byte gPaletteFade -_08049DC0: .4byte gUnknown_03004824 - thumb_func_end sub_8049D9C - - thumb_func_start sub_8049DC4 -sub_8049DC4: @ 8049DC4 - push {lr} - ldr r0, _08049DD8 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08049DD4 - ldr r0, _08049DDC @ =sub_805465C - bl SetMainCallback2 -_08049DD4: - pop {r0} - bx r0 - .align 2, 0 -_08049DD8: .4byte gReceivedRemoteLinkPlayers -_08049DDC: .4byte sub_805465C - thumb_func_end sub_8049DC4 - - thumb_func_start sub_8049DE0 -sub_8049DE0: @ 8049DE0 - push {lr} - ldr r0, _08049DF8 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - ldrb r0, [r0] - cmp r0, 0xF - bhi _08049E98 - lsls r0, 2 - ldr r1, _08049DFC @ =_08049E00 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08049DF8: .4byte gUnknown_03004824 -_08049DFC: .4byte _08049E00 - .align 2, 0 -_08049E00: - .4byte _08049E40 - .4byte _08049E46 - .4byte _08049E4C - .4byte _08049E52 - .4byte _08049E58 - .4byte _08049E98 - .4byte _08049E5E - .4byte _08049E64 - .4byte _08049E6A - .4byte _08049E70 - .4byte _08049E76 - .4byte _08049E7C - .4byte _08049E82 - .4byte _08049E88 - .4byte _08049E8E - .4byte _08049E94 -_08049E40: - bl sub_8049680 - b _08049E98 -_08049E46: - bl sub_8049860 - b _08049E98 -_08049E4C: - bl sub_804997C - b _08049E98 -_08049E52: - bl sub_8049AC0 - b _08049E98 -_08049E58: - bl sub_8049BC0 - b _08049E98 -_08049E5E: - bl sub_8049C8C - b _08049E98 -_08049E64: - bl sub_8049CC4 - b _08049E98 -_08049E6A: - bl sub_8049D44 - b _08049E98 -_08049E70: - bl sub_8048A14 - b _08049E98 -_08049E76: - bl sub_8048A50 - b _08049E98 -_08049E7C: - bl sub_8049D9C - b _08049E98 -_08049E82: - bl sub_8049DC4 - b _08049E98 -_08049E88: - bl sub_8048A90 - b _08049E98 -_08049E8E: - bl DisplayMessageAndContinueTask - b _08049E98 -_08049E94: - bl sub_8049954 -_08049E98: - pop {r0} - bx r0 - thumb_func_end sub_8049DE0 - - thumb_func_start sub_8049E9C -sub_8049E9C: @ 8049E9C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r3, _08049ED0 @ =gUnknown_03004824 - ldr r0, [r3] - adds r0, 0x80 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - bne _08049EC8 - movs r0, 0x1 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x82 - adds r0, r2 - strb r4, [r0] -_08049EC8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08049ED0: .4byte gUnknown_03004824 - thumb_func_end sub_8049E9C - - thumb_func_start sub_8049ED4 -sub_8049ED4: @ 8049ED4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x74 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _08049F24 @ =gUnknown_03004824 - ldr r5, [r0] - adds r0, r5, 0 - adds r0, 0x82 - add r0, r10 - ldrb r0, [r0] - movs r1, 0x1 - str r1, [sp, 0x6C] - cmp r0, 0x5 - bhi _08049EFE - movs r2, 0 - str r2, [sp, 0x6C] -_08049EFE: - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r0, r5, 0 - adds r0, 0x80 - mov r1, r10 - adds r3, r0, r1 - ldrb r0, [r3] - cmp r0, 0x2 - bne _08049F1A - b _0804A0AC -_08049F1A: - cmp r0, 0x2 - bgt _08049F28 - cmp r0, 0x1 - beq _08049F36 - b _0804A294 - .align 2, 0 -_08049F24: .4byte gUnknown_03004824 -_08049F28: - cmp r0, 0x3 - bne _08049F2E - b _0804A0E4 -_08049F2E: - cmp r0, 0x4 - bne _08049F34 - b _0804A244 -_08049F34: - b _0804A294 -_08049F36: - movs r4, 0 - adds r0, r5, 0 - adds r0, 0x42 - add r0, r10 - ldr r7, _0804A094 @ =gSprites - ldr r2, [sp, 0x6C] - lsls r2, 1 - mov r9, r2 - ldr r3, _0804A098 @ =gTradeMonSpriteCoords - mov r12, r3 - mov r5, r10 - lsls r5, 4 - str r5, [sp, 0x70] - ldrb r0, [r0] - cmp r4, r0 - bcs _08049F8E - adds r6, r7, 0 - ldr r2, _0804A09C @ =gUnknown_03004824 - ldr r0, [sp, 0x6C] - add r0, r9 - lsls r3, r0, 1 - movs r5, 0x4 -_08049F62: - ldr r0, [r2] - adds r1, r4, r3 - adds r0, 0x34 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r5 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [r2] - adds r0, 0x42 - add r0, r10 - ldrb r0, [r0] - cmp r4, r0 - bcc _08049F62 -_08049F8E: - ldr r1, _0804A09C @ =gUnknown_03004824 - ldr r0, [r1] - ldr r5, [sp, 0x6C] - add r5, r9 - lsls r3, r5, 1 - mov r2, r8 - adds r6, r2, r3 - adds r0, 0x34 - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r0, _0804A09C @ =gUnknown_03004824 - ldr r4, [r0] - adds r4, 0x34 - adds r4, r6 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - movs r1, 0x14 - strh r1, [r0, 0x2E] - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r7 - lsls r5, 2 - mov r1, r12 - adds r0, r5, r1 - ldrb r0, [r0] - adds r3, 0x1 - lsls r3, 1 - add r3, r12 - ldrb r1, [r3] - adds r0, r1 - asrs r0, 1 - lsls r0, 3 - adds r0, 0xE - strh r0, [r2, 0x32] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - mov r0, r12 - adds r0, 0x1 - adds r5, r0 - ldrb r0, [r5] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x36] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, _0804A0A0 @ =sub_809D62C - bl oamt_set_x3A_32 - ldr r2, _0804A09C @ =gUnknown_03004824 - ldr r1, [r2] - adds r1, 0x80 - add r1, r10 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x34 - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - bl sub_8078A34 - bl sub_8072DEC - ldr r3, _0804A09C @ =gUnknown_03004824 - ldr r0, [r3] - adds r0, 0x4 - ldr r1, _0804A0A4 @ =gUnknown_0820C330 - mov r5, r9 - adds r2, r5, r1 - ldrb r2, [r2] - adds r1, 0x1 - add r1, r9 - ldrb r1, [r1] - str r1, [sp] - movs r1, 0x13 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0 - bl FillWindowRect_DefaultPalette - ldr r1, _0804A09C @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0xC8 - ldr r2, [sp, 0x70] - mov r3, r10 - subs r1, r2, r3 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0804A0A8 @ =gTradePartyBoxTilemap - movs r2, 0xF - str r2, [sp] - movs r2, 0x11 - str r2, [sp, 0x4] - movs r5, 0 - str r5, [sp, 0x8] - movs r2, 0 - bl sub_804A96C - ldr r0, [sp, 0x6C] - cmp r0, 0 - beq _0804A08C - b _0804A294 -_0804A08C: - bl sub_804A80C - b _0804A294 - .align 2, 0 -_0804A094: .4byte gSprites -_0804A098: .4byte gTradeMonSpriteCoords -_0804A09C: .4byte gUnknown_03004824 -_0804A0A0: .4byte sub_809D62C -_0804A0A4: .4byte gUnknown_0820C330 -_0804A0A8: .4byte gTradePartyBoxTilemap -_0804A0AC: - ldr r2, _0804A0DC @ =gSprites - ldr r1, [sp, 0x6C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r8 - adds r1, r5, 0 - adds r1, 0x34 - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _0804A0E0 @ =sub_809D62C - cmp r1, r0 - beq _0804A0D4 - b _0804A294 -_0804A0D4: - movs r0, 0x3 - strb r0, [r3] - b _0804A294 - .align 2, 0 -_0804A0DC: .4byte gSprites -_0804A0E0: .4byte sub_809D62C -_0804A0E4: - adds r0, r5, 0 - adds r0, 0xC8 - ldr r2, [sp, 0x6C] - lsls r1, r2, 4 - subs r1, r2 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0804A228 @ =gTradeMovesBoxTilemap - movs r2, 0xF - str r2, [sp] - movs r7, 0x11 - str r7, [sp, 0x4] - movs r5, 0 - str r5, [sp, 0x8] - movs r2, 0 - bl sub_804A96C - ldr r0, _0804A22C @ =gUnknown_03004824 - ldr r3, [r0] - ldr r1, [sp, 0x6C] - lsls r6, r1, 1 - adds r1, r6 - mov r9, r1 - lsls r1, 1 - mov r2, r8 - adds r0, r2, r1 - adds r3, 0x34 - adds r3, r0 - ldrb r0, [r3] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r5, _0804A230 @ =gSprites - adds r2, r5 - ldr r4, _0804A234 @ =gTradeMonSpriteCoords - mov r0, r9 - lsls r5, r0, 2 - adds r0, r5, r4 - ldrb r0, [r0] - adds r1, 0x1 - lsls r1, 1 - adds r1, r4 - ldrb r1, [r1] - adds r0, r1 - asrs r0, 1 - lsls r0, 3 - adds r0, 0xE - strh r0, [r2, 0x20] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r2, _0804A230 @ =gSprites - adds r1, r2 - adds r4, 0x1 - adds r5, r4 - ldrb r0, [r5] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x22] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r5, 0 - strh r5, [r0, 0x24] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x26] - mov r0, sp - adds r0, 0x12 - ldr r1, [sp, 0x6C] - mov r2, r8 - bl sub_804A2B4 - add r1, sp, 0xC - movs r3, 0xFC - strb r3, [r1] - adds r2, r1, 0 - movs r1, 0x6 - strb r1, [r2, 0x1] - movs r1, 0x4 - strb r1, [r2, 0x2] - adds r1, r2, 0 - strb r3, [r1, 0x3] - strb r7, [r1, 0x4] - lsls r0, 24 - asrs r0, 24 - movs r1, 0x40 - subs r1, r0 - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - strb r1, [r2, 0x5] - ldr r0, _0804A22C @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r1, 0x4 - adds r1, 0x7A - ldrb r2, [r1] - mov r1, r9 - lsls r1, 6 - mov r9, r1 - add r2, r9 - ldr r4, _0804A238 @ =gUnknown_0820C334 - ldr r3, [sp, 0x6C] - lsls r1, r3, 2 - adds r3, r1, r4 - ldrb r3, [r3] - ldr r5, _0804A23C @ =gUnknown_0820C334 + 0x1 - adds r1, r5 - ldrb r1, [r1] - str r1, [sp] - add r1, sp, 0xC - bl sub_8003460 - add r7, sp, 0x34 - adds r0, r7, 0 - ldr r1, [sp, 0x6C] - mov r2, r8 - bl sub_804A33C - ldr r0, _0804A22C @ =gUnknown_03004824 - ldr r2, [r0] - adds r0, r2, 0x4 - ldr r1, _0804A240 @ =gOtherText_Terminator2 - adds r2, 0x7A - ldrb r2, [r2] - add r2, r9 - adds r2, 0x20 - adds r6, 0x1 - lsls r6, 1 - adds r4, r6, r4 - ldrb r5, [r4] - ldr r3, _0804A23C @ =gUnknown_0820C334 + 0x1 - adds r6, r3 - ldrb r4, [r6] - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - adds r3, r5, 0 - bl sub_8003460 - ldr r0, _0804A22C @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r1, 0x4 - adds r1, 0x7A - ldrb r2, [r1] - add r2, r9 - adds r2, 0x26 - str r4, [sp] - adds r1, r7, 0 - adds r3, r5, 0 - bl sub_8003460 - ldr r2, _0804A22C @ =gUnknown_03004824 - ldr r1, [r2] - b _0804A28A - .align 2, 0 -_0804A228: .4byte gTradeMovesBoxTilemap -_0804A22C: .4byte gUnknown_03004824 -_0804A230: .4byte gSprites -_0804A234: .4byte gTradeMonSpriteCoords -_0804A238: .4byte gUnknown_0820C334 -_0804A23C: .4byte gUnknown_0820C334 + 0x1 -_0804A240: .4byte gOtherText_Terminator2 -_0804A244: - ldr r0, _0804A2A4 @ =gUnknown_0820C14C - ldr r0, [r0, 0x14] - adds r1, r5, 0 - adds r1, 0x7E - ldrh r1, [r1] - lsls r1, 5 - ldr r3, _0804A2A8 @ =0x06010000 - adds r1, r3 - movs r2, 0x14 - bl sub_804ACD8 - ldr r0, _0804A2AC @ =gUnknown_0820C3D1 - mov r5, r10 - lsls r1, r5, 1 - adds r4, r1, r0 - ldrb r2, [r4] - adds r2, 0x4 - lsls r2, 24 - lsrs r2, 24 - adds r0, 0x1 - adds r1, r0 - ldrb r3, [r1] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4] - str r0, [sp] - ldrb r0, [r1] - str r0, [sp, 0x4] - mov r0, r10 - mov r1, r8 - bl sub_804A51C - ldr r0, _0804A2B0 @ =gUnknown_03004824 - ldr r1, [r0] -_0804A28A: - adds r1, 0x80 - add r1, r10 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804A294: - add sp, 0x74 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804A2A4: .4byte gUnknown_0820C14C -_0804A2A8: .4byte 0x06010000 -_0804A2AC: .4byte gUnknown_0820C3D1 -_0804A2B0: .4byte gUnknown_03004824 - thumb_func_end sub_8049ED4 - - thumb_func_start sub_804A2B4 -sub_804A2B4: @ 804A2B4 - push {r4,r5,lr} - sub sp, 0xC - adds r5, r0, 0 - lsls r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r1, 0 - bne _0804A2F4 - movs r0, 0x64 - adds r4, r2, 0 - muls r4, r0 - ldr r0, _0804A2F0 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - adds r0, r5, 0 - mov r1, sp - bl StringCopy10 - adds r0, r4, 0 - bl GetMonGender - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - b _0804A31E - .align 2, 0 -_0804A2F0: .4byte gPlayerParty -_0804A2F4: - movs r0, 0x64 - adds r4, r2, 0 - muls r4, r0 - ldr r0, _0804A334 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - adds r0, r5, 0 - mov r1, sp - bl StringCopy10 - adds r0, r4, 0 - bl GetMonGender - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData -_0804A31E: - ldr r0, _0804A338 @ =gWindowConfig_81E7294 - adds r1, r5, 0 - bl GetStringWidthGivenWindowConfig - lsls r0, 24 - lsrs r0, 24 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0804A334: .4byte gEnemyParty -_0804A338: .4byte gWindowConfig_81E7294 - thumb_func_end sub_804A2B4 - - thumb_func_start sub_804A33C -sub_804A33C: @ 804A33C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r6, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0804A384 @ =gUnknown_03004824 - ldr r1, [r0] - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 1 - adds r0, r2, r0 - adds r1, 0x5D - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _0804A3F4 - movs r4, 0 - movs r0, 0x64 - adds r5, r2, 0 - muls r5, r0 - ldr r0, _0804A388 @ =gPlayerParty - mov r9, r0 - ldr r2, _0804A38C @ =gEnemyParty - mov r8, r2 -_0804A376: - cmp r7, 0 - bne _0804A390 - adds r1, r4, 0 - adds r1, 0xD - mov r2, r9 - b _0804A396 - .align 2, 0 -_0804A384: .4byte gUnknown_03004824 -_0804A388: .4byte gPlayerParty -_0804A38C: .4byte gEnemyParty -_0804A390: - adds r1, r4, 0 - adds r1, 0xD - mov r2, r8 -_0804A396: - adds r0, r5, r2 - movs r2, 0 - bl GetMonData - lsls r1, r4, 1 - add r1, sp - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _0804A376 - ldr r1, _0804A3E8 @ =gOtherText_Terminator - adds r0, r6, 0 - bl StringCopy - movs r4, 0 -_0804A3B8: - lsls r0, r4, 1 - mov r2, sp - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _0804A3D4 - adds r1, r0, 0 - movs r0, 0xD - muls r1, r0 - ldr r0, _0804A3EC @ =gMoveNames - adds r1, r0 - adds r0, r6, 0 - bl StringAppend -_0804A3D4: - adds r0, r6, 0 - ldr r1, _0804A3F0 @ =gOtherText_ControlAndMiscText - bl StringAppend - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _0804A3B8 - b _0804A404 - .align 2, 0 -_0804A3E8: .4byte gOtherText_Terminator -_0804A3EC: .4byte gMoveNames -_0804A3F0: .4byte gOtherText_ControlAndMiscText -_0804A3F4: - ldr r1, _0804A414 @ =gOtherText_Terminator - adds r0, r6, 0 - bl StringCopy - ldr r1, _0804A418 @ =gOtherText_FourQuestions - adds r0, r6, 0 - bl StringAppend -_0804A404: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804A414: .4byte gOtherText_Terminator -_0804A418: .4byte gOtherText_FourQuestions - thumb_func_end sub_804A33C - - thumb_func_start sub_804A41C -sub_804A41C: @ 804A41C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x44 - lsls r0, 24 - lsrs r5, r0, 24 - add r3, sp, 0x1C - movs r2, 0 - movs r1, 0xFC - strb r1, [r3] - movs r0, 0x6 - strb r0, [r3, 0x1] - movs r0, 0x4 - strb r0, [r3, 0x2] - strb r1, [r3, 0x3] - movs r0, 0x11 - strb r0, [r3, 0x4] - strb r2, [r3, 0x5] - movs r6, 0 - ldr r1, _0804A470 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x42 - adds r0, r5 - ldrb r0, [r0] - cmp r6, r0 - bcs _0804A504 - mov r8, r3 - adds r7, r1, 0 - ldr r0, _0804A474 @ =gTradeMonSpriteCoords - mov r9, r0 - movs r4, 0x1 - add r4, r9 - mov r10, r4 -_0804A462: - cmp r5, 0 - bne _0804A47C - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804A478 @ =gPlayerParty - b _0804A484 - .align 2, 0 -_0804A470: .4byte gUnknown_03004824 -_0804A474: .4byte gTradeMonSpriteCoords -_0804A478: .4byte gPlayerParty -_0804A47C: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804A514 @ =gEnemyParty -_0804A484: - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2 - add r2, sp, 0x4 - bl GetMonData - mov r0, sp - adds r0, 0x22 - add r1, sp, 0x4 - bl StringCopy10 - adds r0, r4, 0 - bl GetMonGender - mov r1, sp - adds r1, 0x22 - ldr r0, _0804A518 @ =gWindowConfig_81E7294 - bl GetStringWidthGivenWindowConfig - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x32 - subs r1, r0 - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - mov r0, r8 - strb r1, [r0, 0x5] - ldr r1, [r7] - adds r0, r1, 0x4 - adds r1, 0x7A - lsls r2, r5, 5 - adds r2, r5 - lsls r2, 2 - ldrb r1, [r1] - adds r2, r1 - movs r1, 0x16 - muls r1, r6 - adds r2, r1 - lsls r2, 16 - lsrs r2, 16 - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 1 - adds r1, r6, r1 - lsls r1, 1 - mov r4, r9 - adds r3, r1, r4 - ldrb r3, [r3] - add r1, r10 - ldrb r1, [r1] - str r1, [sp] - mov r1, r8 - bl sub_8003460 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [r7] - adds r0, 0x42 - adds r0, r5 - ldrb r0, [r0] - cmp r6, r0 - bcc _0804A462 -_0804A504: - add sp, 0x44 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804A514: .4byte gEnemyParty -_0804A518: .4byte gWindowConfig_81E7294 - thumb_func_end sub_804A41C - - thumb_func_start sub_804A51C -sub_804A51C: @ 804A51C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - ldr r4, [sp, 0x48] - ldr r5, [sp, 0x4C] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x24] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0804A59C @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xC8 - ldr r3, _0804A5A0 @ =gTradeMonBoxTilemap - movs r1, 0x6 - str r1, [sp] - movs r1, 0x3 - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_804A96C - mov r0, r8 - cmp r0, 0 - bne _0804A5A8 - movs r0, 0x64 - mov r4, r9 - muls r4, r0 - ldr r0, _0804A5A4 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - movs r1, 0x2 - add r2, sp, 0xC - bl GetMonData - b _0804A5D4 - .align 2, 0 -_0804A59C: .4byte gUnknown_03004824 -_0804A5A0: .4byte gTradeMonBoxTilemap -_0804A5A4: .4byte gPlayerParty -_0804A5A8: - movs r0, 0x64 - mov r4, r9 - muls r4, r0 - ldr r0, _0804A65C @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - movs r1, 0x2 - add r2, sp, 0xC - bl GetMonData -_0804A5D4: - ldr r1, _0804A660 @ =gUnknown_03004824 - ldr r5, [r1] - mov r3, r8 - lsls r0, r3, 1 - add r0, r8 - lsls r0, 1 - add r0, r9 - adds r1, r5, 0 - adds r1, 0x5D - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _0804A690 - adds r0, r6, 0 - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [sp, 0x24] - lsls r2, r0, 5 - cmp r4, 0 - beq _0804A614 - mov r1, r10 - adds r0, r1, r2 - lsls r0, 1 - adds r1, r5, 0 - adds r1, 0xDA - adds r1, r0 - adds r0, r4, 0 - adds r0, 0x60 - strh r0, [r1] -_0804A614: - ldr r3, _0804A660 @ =gUnknown_03004824 - ldr r4, [r3] - mov r0, r10 - adds r5, r0, r2 - adds r0, r5, 0x1 - lsls r0, 1 - adds r4, 0xDA - adds r4, r0 - adds r0, r6, 0 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x70 - strh r0, [r4] - cmp r7, 0 - bne _0804A664 - add r0, sp, 0xC - movs r1, 0 - bl NameHasGenderSymbol - lsls r0, 24 - cmp r0, 0 - bne _0804A6CC - ldr r3, _0804A660 @ =gUnknown_03004824 - ldr r1, [r3] - adds r0, r5, 0 - subs r0, 0x1F - lsls r0, 1 - adds r1, 0xDA - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - b _0804A6CA - .align 2, 0 -_0804A65C: .4byte gEnemyParty -_0804A660: .4byte gUnknown_03004824 -_0804A664: - cmp r7, 0xFE - bne _0804A6CC - add r0, sp, 0xC - movs r1, 0xFE - bl NameHasGenderSymbol - lsls r0, 24 - cmp r0, 0 - bne _0804A6CC - ldr r0, _0804A68C @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r5, 0 - subs r0, 0x1F - lsls r0, 1 - adds r1, 0xDA - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x2 - b _0804A6CA - .align 2, 0 -_0804A68C: .4byte gUnknown_03004824 -_0804A690: - ldr r1, [sp, 0x24] - lsls r0, r1, 5 - mov r1, r10 - adds r3, r1, r0 - adds r1, r3, 0 - subs r1, 0x20 - lsls r1, 1 - adds r2, r5, 0 - adds r2, 0xDA - adds r1, r2, r1 - adds r0, r3, 0 - subs r0, 0x21 - lsls r0, 1 - adds r0, r2, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, r3, 0 - subs r1, 0x1F - lsls r1, 1 - adds r1, r2, r1 - adds r0, r3, 0 - subs r0, 0x24 - lsls r0, 1 - adds r2, r0 - ldrh r2, [r2] - movs r3, 0x80 - lsls r3, 3 - adds r0, r3, 0 - orrs r0, r2 -_0804A6CA: - strh r0, [r1] -_0804A6CC: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804A51C - - thumb_func_start sub_804A6DC -sub_804A6DC: @ 804A6DC - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r7, 0 - ldr r0, _0804A734 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x42 - adds r0, r6 - ldrb r0, [r0] - cmp r7, r0 - bge _0804A72C - lsls r0, r6, 1 - adds r0, r6 - ldr r1, _0804A738 @ =gTradeLevelDisplayCoords - lsls r0, 2 - adds r5, r0, r1 - ldr r1, _0804A73C @ =gTradeMonBoxCoords - adds r4, r0, r1 -_0804A702: - lsls r1, r7, 24 - lsrs r1, 24 - ldrb r2, [r5] - ldrb r3, [r5, 0x1] - ldrb r0, [r4] - str r0, [sp] - ldrb r0, [r4, 0x1] - str r0, [sp, 0x4] - adds r0, r6, 0 - bl sub_804A51C - adds r5, 0x2 - adds r4, 0x2 - adds r7, 0x1 - ldr r0, _0804A734 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x42 - adds r0, r6 - ldrb r0, [r0] - cmp r7, r0 - blt _0804A702 -_0804A72C: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804A734: .4byte gUnknown_03004824 -_0804A738: .4byte gTradeLevelDisplayCoords -_0804A73C: .4byte gTradeMonBoxCoords - thumb_func_end sub_804A6DC - - thumb_func_start sub_804A740 -sub_804A740: @ 804A740 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - movs r7, 0 - ldr r3, _0804A800 @ =gUnknown_03004824 - ldr r0, [r3] - adds r0, 0x42 - add r0, r12 - ldrb r0, [r0] - cmp r7, r0 - bge _0804A7F2 - ldr r6, _0804A804 @ =gSprites - mov r9, r3 - mov r1, r12 - lsls r0, r1, 1 - add r0, r12 - lsls r2, r0, 1 - mov r10, r2 - ldr r1, _0804A808 @ =gTradeMonSpriteCoords - movs r2, 0 - mov r8, r2 - lsls r0, 2 - adds r5, r0, r1 -_0804A778: - mov r1, r9 - ldr r0, [r1] - mov r2, r10 - adds r4, r7, r2 - adds r0, 0x34 - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - mov r0, r9 - ldr r3, [r0] - adds r2, r3, 0 - adds r2, 0x34 - adds r2, r4 - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r5] - lsls r0, 3 - adds r0, 0xE - strh r0, [r1, 0x20] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r5, 0x1] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x22] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r2, r8 - strh r2, [r0, 0x26] - adds r5, 0x2 - adds r7, 0x1 - adds r3, 0x42 - add r3, r12 - ldrb r3, [r3] - cmp r7, r3 - blt _0804A778 -_0804A7F2: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804A800: .4byte gUnknown_03004824 -_0804A804: .4byte gSprites -_0804A808: .4byte gTradeMonSpriteCoords - thumb_func_end sub_804A740 - - thumb_func_start sub_804A80C -sub_804A80C: @ 804A80C - push {lr} - sub sp, 0x8 - ldr r0, _0804A838 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x4 - ldr r1, _0804A83C @ =gUnknown_0820C330 - ldrb r2, [r1, 0x2] - ldrb r1, [r1, 0x3] - str r1, [sp] - movs r1, 0x13 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0 - bl FillWindowRect_DefaultPalette - movs r0, 0x1 - bl sub_804A41C - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0804A838: .4byte gUnknown_03004824 -_0804A83C: .4byte gUnknown_0820C330 - thumb_func_end sub_804A80C - - thumb_func_start sub_804A840 -sub_804A840: @ 804A840 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0804A8A8 - ldr r4, _0804A89C @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x4 - ldr r1, _0804A8A0 @ =gUnknown_0820C330 - ldrb r2, [r1] - ldrb r1, [r1, 0x1] - str r1, [sp] - movs r1, 0x13 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0 - bl FillWindowRect_DefaultPalette - ldr r0, [r4] - adds r0, 0xC8 - ldr r3, _0804A8A4 @ =gTradePartyBoxTilemap - movs r1, 0xF - str r1, [sp] - movs r1, 0x11 - str r1, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0 - movs r2, 0 - bl sub_804A96C - movs r0, 0 - bl sub_804A6DC - movs r0, 0 - bl sub_804A41C - movs r0, 0 - bl sub_804A740 - ldr r0, [r4] - adds r0, 0xC8 - bl sub_804A938 - b _0804A8FA - .align 2, 0 -_0804A89C: .4byte gUnknown_03004824 -_0804A8A0: .4byte gUnknown_0820C330 -_0804A8A4: .4byte gTradePartyBoxTilemap -_0804A8A8: - bl sub_8072DEC - ldr r4, _0804A924 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x4 - ldr r1, _0804A928 @ =gUnknown_0820C330 - ldrb r2, [r1, 0x2] - ldrb r1, [r1, 0x3] - str r1, [sp] - movs r1, 0x13 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0 - bl FillWindowRect_DefaultPalette - ldr r0, [r4] - adds r0, 0xC8 - ldr r3, _0804A92C @ =gTradePartyBoxTilemap - movs r1, 0xF - str r1, [sp] - movs r1, 0x11 - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0xF - movs r2, 0 - bl sub_804A96C - movs r0, 0x1 - bl sub_804A6DC - movs r0, 0x1 - bl sub_804A41C - movs r0, 0x1 - bl sub_804A740 - ldr r0, [r4] - adds r0, 0xC8 - bl sub_804A938 -_0804A8FA: - ldr r0, _0804A930 @ =gUnknown_0820C14C - ldr r0, [r0, 0x4] - ldr r4, _0804A924 @ =gUnknown_03004824 - ldr r1, [r4] - adds r1, 0x7E - ldrh r1, [r1] - lsls r1, 5 - ldr r2, _0804A934 @ =0x06010000 - adds r1, r2 - movs r2, 0x14 - bl sub_804ACD8 - ldr r0, [r4] - adds r0, 0x80 - adds r0, r5 - movs r1, 0 - strb r1, [r0] - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804A924: .4byte gUnknown_03004824 -_0804A928: .4byte gUnknown_0820C330 -_0804A92C: .4byte gTradePartyBoxTilemap -_0804A930: .4byte gUnknown_0820C14C -_0804A934: .4byte 0x06010000 - thumb_func_end sub_804A840 - - thumb_func_start sub_804A938 -sub_804A938: @ 804A938 - movs r1, 0x1 - strb r1, [r0, 0x10] - bx lr - thumb_func_end sub_804A938 - - thumb_func_start sub_804A940 -sub_804A940: @ 804A940 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x10] - cmp r0, 0 - beq _0804A95C - adds r0, r4, 0 - adds r0, 0x12 - ldr r1, [r4, 0x8] - movs r2, 0x80 - lsls r2, 3 - bl CpuSet - movs r0, 0 - strb r0, [r4, 0x10] -_0804A95C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804A940 - - thumb_func_start sub_804A964 -sub_804A964: @ 804A964 - movs r2, 0 - strb r2, [r0, 0x10] - str r1, [r0, 0x8] - bx lr - thumb_func_end sub_804A964 - - thumb_func_start sub_804A96C -sub_804A96C: @ 804A96C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - mov r10, r3 - ldr r0, [sp, 0x24] - ldr r3, [sp, 0x28] - ldr r4, [sp, 0x2C] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r3, 24 - lsrs r3, 24 - mov r12, r3 - lsls r4, 16 - lsrs r7, r4, 16 - movs r2, 0 - cmp r2, r12 - bge _0804A9DE - ldr r0, [sp] - adds r0, 0x12 - mov r9, r0 - lsls r0, r6, 5 - adds r0, r1 - mov r8, r0 -_0804A9AA: - movs r4, 0 - adds r6, r2, 0x1 - cmp r4, r5 - bge _0804A9D8 - lsls r1, r2, 5 - add r1, r8 - adds r0, r5, 0 - muls r0, r2 - lsls r0, 1 - mov r2, r10 - adds r3, r0, r2 - lsls r1, 1 - mov r0, r9 - adds r2, r1, r0 -_0804A9C6: - ldrh r1, [r3] - adds r0, r7, 0 - orrs r0, r1 - strh r0, [r2] - adds r3, 0x2 - adds r2, 0x2 - adds r4, 0x1 - cmp r4, r5 - blt _0804A9C6 -_0804A9D8: - adds r2, r6, 0 - cmp r2, r12 - blt _0804A9AA -_0804A9DE: - movs r0, 0x1 - ldr r1, [sp] - strb r0, [r1, 0x10] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804A96C - - thumb_func_start sub_804A9F4 -sub_804A9F4: @ 804A9F4 - push {lr} - bl MenuZeroFillScreen - pop {r0} - bx r0 - thumb_func_end sub_804A9F4 - - thumb_func_start sub_804AA00 -sub_804AA00: @ 804AA00 - push {lr} - bl MenuZeroFillScreen - pop {r0} - bx r0 - thumb_func_end sub_804AA00 - - thumb_func_start sub_804AA0C -sub_804AA0C: @ 804AA0C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - ldr r0, _0804AA7C @ =gUnknown_03004824 - mov r8, r0 - ldr r0, [r0] - adds r0, 0x4 - ldr r2, _0804AA80 @ =gTradeMessageWindowRects - lsrs r4, 22 - adds r1, r4, r2 - ldrb r6, [r1] - adds r1, r2, 0x1 - adds r1, r4, r1 - ldrb r5, [r1] - adds r1, r2, 0x2 - adds r1, r4, r1 - ldrb r3, [r1] - adds r2, 0x3 - adds r2, r4, r2 - ldrb r1, [r2] - str r1, [sp] - adds r1, r6, 0 - adds r2, r5, 0 - bl DrawTextWindow - mov r1, r8 - ldr r3, [r1] - adds r0, r3, 0x4 - ldr r1, _0804AA84 @ =gUnknown_0820C2F0 - adds r4, r1 - ldr r1, [r4] - adds r3, 0x7A - movs r4, 0xC0 - lsls r4, 1 - adds r2, r4, 0 - ldrb r3, [r3] - adds r2, r3 - adds r6, 0x1 - lsls r6, 24 - lsrs r6, 24 - adds r5, 0x1 - lsls r5, 24 - lsrs r5, 24 - str r5, [sp] - adds r3, r6, 0 - bl sub_8003460 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804AA7C: .4byte gUnknown_03004824 -_0804AA80: .4byte gTradeMessageWindowRects -_0804AA84: .4byte gUnknown_0820C2F0 - thumb_func_end sub_804AA0C - - thumb_func_start sub_804AA88 -sub_804AA88: @ 804AA88 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r3, 0 - ldr r5, _0804AAD0 @ =gUnknown_03004824 - ldr r0, _0804AAD4 @ =0x000008dc - mov r8, r0 - movs r4, 0 - ldr r2, _0804AAD8 @ =0x000008de - mov r12, r2 - movs r7, 0x8E - lsls r7, 4 - movs r6, 0xFF -_0804AAA2: - ldr r0, [r5] - lsls r2, r3, 3 - adds r0, r2 - add r0, r8 - strb r4, [r0] - ldr r1, [r5] - adds r1, r2 - mov r2, r12 - adds r0, r1, r2 - strh r4, [r0] - adds r1, r7 - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - adds r3, 0x1 - cmp r3, 0x3 - ble _0804AAA2 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804AAD0: .4byte gUnknown_03004824 -_0804AAD4: .4byte 0x000008dc -_0804AAD8: .4byte 0x000008de - thumb_func_end sub_804AA88 - - thumb_func_start sub_804AADC -sub_804AADC: @ 804AADC - push {r4-r7,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - movs r3, 0 - ldr r4, _0804AB18 @ =gUnknown_03004824 - mov r12, r4 - ldr r7, _0804AB1C @ =0x000008dc -_0804AAEE: - mov r1, r12 - ldr r0, [r1] - lsls r1, r3, 3 - adds r2, r0, r1 - adds r0, r2, r7 - ldrb r0, [r0] - cmp r0, 0 - bne _0804AB24 - ldr r3, _0804AB20 @ =0x000008de - adds r0, r2, r3 - strh r5, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strb r6, [r0] - ldr r0, [r4] - adds r0, r1 - ldr r1, _0804AB1C @ =0x000008dc - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - b _0804AB2A - .align 2, 0 -_0804AB18: .4byte gUnknown_03004824 -_0804AB1C: .4byte 0x000008dc -_0804AB20: .4byte 0x000008de -_0804AB24: - adds r3, 0x1 - cmp r3, 0x3 - ble _0804AAEE -_0804AB2A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804AADC - - thumb_func_start sub_804AB30 -sub_804AB30: @ 804AB30 - push {r4,r5,lr} - movs r4, 0 - ldr r3, _0804AB58 @ =gUnknown_03004824 -_0804AB36: - ldr r0, [r3] - lsls r1, r4, 3 - adds r2, r0, r1 - ldr r5, _0804AB5C @ =0x000008dc - adds r0, r2, r5 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0 - beq _0804ABE2 - ldr r0, _0804AB60 @ =0x000008de - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _0804AB64 - subs r0, 0x1 - strh r0, [r1] - b _0804ABE2 - .align 2, 0 -_0804AB58: .4byte gUnknown_03004824 -_0804AB5C: .4byte 0x000008dc -_0804AB60: .4byte 0x000008de -_0804AB64: - movs r1, 0x8E - lsls r1, 4 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _0804ABD2 - lsls r0, 2 - ldr r1, _0804AB7C @ =_0804AB80 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804AB7C: .4byte _0804AB80 - .align 2, 0 -_0804AB80: - .4byte _0804AB98 - .4byte _0804ABB4 - .4byte _0804ABBC - .4byte _0804ABC4 - .4byte _0804ABC4 - .4byte _0804ABCC -_0804AB98: - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0804ABB0 @ =gUnknown_03004824 - ldr r1, [r1] - adds r1, 0x8C - movs r2, 0x14 - bl SendBlock - b _0804ABD2 - .align 2, 0 -_0804ABB0: .4byte gUnknown_03004824 -_0804ABB4: - movs r0, 0 - bl sub_804AA0C - b _0804ABD2 -_0804ABBC: - movs r0, 0x2 - bl sub_804AA0C - b _0804ABD2 -_0804ABC4: - movs r0, 0x3 - bl sub_804AA0C - b _0804ABD2 -_0804ABCC: - movs r0, 0x3 - bl sub_804AA0C -_0804ABD2: - ldr r0, _0804ABF0 @ =gUnknown_03004824 - ldr r1, [r0] - adds r1, r5 - ldr r2, _0804ABF4 @ =0x000008dc - adds r1, r2 - movs r2, 0 - strb r2, [r1] - adds r3, r0, 0 -_0804ABE2: - adds r4, 0x1 - cmp r4, 0x3 - ble _0804AB36 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804ABF0: .4byte gUnknown_03004824 -_0804ABF4: .4byte 0x000008dc - thumb_func_end sub_804AB30 - - thumb_func_start sub_804ABF8 -sub_804ABF8: @ 804ABF8 - push {r4,lr} - ldr r0, _0804AC14 @ =gUnknown_03004824 - ldr r1, [r0] - adds r1, 0xB4 - ldrb r1, [r1] - subs r1, 0x8 - adds r4, r0, 0 - cmp r1, 0x8 - bhi _0804ACB0 - lsls r0, r1, 2 - ldr r1, _0804AC18 @ =_0804AC1C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804AC14: .4byte gUnknown_03004824 -_0804AC18: .4byte _0804AC1C - .align 2, 0 -_0804AC1C: - .4byte _0804AC40 - .4byte _0804ACB0 - .4byte _0804ACB0 - .4byte _0804ACB0 - .4byte _0804ACB0 - .4byte _0804AC60 - .4byte _0804AC74 - .4byte _0804AC88 - .4byte _0804AC9A -_0804AC40: - ldr r0, [r4] - adds r0, 0xB4 - ldrb r0, [r0] - lsls r0, 3 - ldr r1, _0804AC5C @ =gUnknown_0820C07C - adds r0, r1 - bl LoadSpriteSheet - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0x7E - strh r0, [r2] - b _0804ACC2 - .align 2, 0 -_0804AC5C: .4byte gUnknown_0820C07C -_0804AC60: - ldr r0, _0804AC6C @ =gSpritePalette_TradeScreenText - bl LoadSpritePalette - ldr r0, _0804AC70 @ =gUnknown_03004824 - ldr r1, [r0] - b _0804ACC2 - .align 2, 0 -_0804AC6C: .4byte gSpritePalette_TradeScreenText -_0804AC70: .4byte gUnknown_03004824 -_0804AC74: - ldr r0, _0804AC80 @ =gUnknown_0820C12C - bl LoadSpritePalette - ldr r0, _0804AC84 @ =gUnknown_03004824 - ldr r1, [r0] - b _0804ACC2 - .align 2, 0 -_0804AC80: .4byte gUnknown_0820C12C -_0804AC84: .4byte gUnknown_03004824 -_0804AC88: - ldr r0, _0804ACA8 @ =gUnknown_0820C124 - bl LoadSpriteSheet - ldr r0, _0804ACAC @ =gUnknown_03004824 - ldr r1, [r0] - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804AC9A: - ldr r0, _0804ACAC @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xB4 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _0804ACCC - .align 2, 0 -_0804ACA8: .4byte gUnknown_0820C124 -_0804ACAC: .4byte gUnknown_03004824 -_0804ACB0: - ldr r0, [r4] - adds r0, 0xB4 - ldrb r0, [r0] - lsls r0, 3 - ldr r1, _0804ACD4 @ =gUnknown_0820C07C - adds r0, r1 - bl LoadSpriteSheet - ldr r1, [r4] -_0804ACC2: - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_0804ACCC: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0804ACD4: .4byte gUnknown_0820C07C - thumb_func_end sub_804ABF8 - - thumb_func_start sub_804ACD8 -sub_804ACD8: @ 804ACD8 - push {r4,lr} - adds r4, r0, 0 - lsls r3, r2, 24 - lsrs r3, 24 - ldr r0, _0804ACF0 @ =gWindowConfig_81E725C - adds r2, r4, 0 - bl sub_804AFB8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804ACF0: .4byte gWindowConfig_81E725C - thumb_func_end sub_804ACD8 - - thumb_func_start sub_804ACF4 -sub_804ACF4: @ 804ACF4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0 - beq _0804AD0C - cmp r0, 0x1 - beq _0804ADA0 - b _0804AE2C -_0804AD0C: - movs r7, 0 - ldr r1, _0804AD4C @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x42 - ldrb r0, [r0] - cmp r7, r0 - blt _0804AD1C - b _0804AE2C -_0804AD1C: - adds r6, r1, 0 - movs r5, 0 - mov r9, r5 -_0804AD22: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _0804AD50 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0x1 - bne _0804AD54 - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - mov r2, r9 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x5D - adds r0, r5 - b _0804AD84 - .align 2, 0 -_0804AD4C: .4byte gUnknown_03004824 -_0804AD50: .4byte gPlayerParty -_0804AD54: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - bne _0804AD72 - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x5D - adds r0, r5 - b _0804AD84 -_0804AD72: - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x5D - adds r0, r5 - mov r1, r9 -_0804AD84: - strb r1, [r0] - ldr r0, _0804AD9C @ =gUnknown_03004824 - adds r5, 0x1 - adds r7, 0x1 - ldr r0, [r0] - adds r0, 0x42 - add r0, r8 - ldrb r0, [r0] - cmp r7, r0 - blt _0804AD22 - b _0804AE2C - .align 2, 0 -_0804AD9C: .4byte gUnknown_03004824 -_0804ADA0: - movs r7, 0 - ldr r1, _0804ADE0 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x43 - ldrb r0, [r0] - cmp r7, r0 - bge _0804AE2C - adds r6, r1, 0 - movs r5, 0x6 - movs r2, 0 - mov r9, r2 -_0804ADB6: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _0804ADE4 @ =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0x1 - bne _0804ADE8 - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - mov r2, r9 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x5D - adds r0, r5 - b _0804AE18 - .align 2, 0 -_0804ADE0: .4byte gUnknown_03004824 -_0804ADE4: .4byte gEnemyParty -_0804ADE8: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - bne _0804AE06 - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x5D - adds r0, r5 - b _0804AE18 -_0804AE06: - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x5D - adds r0, r5 - mov r1, r9 -_0804AE18: - strb r1, [r0] - ldr r0, _0804AE38 @ =gUnknown_03004824 - adds r5, 0x1 - adds r7, 0x1 - ldr r0, [r0] - adds r0, 0x42 - add r0, r8 - ldrb r0, [r0] - cmp r7, r0 - blt _0804ADB6 -_0804AE2C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804AE38: .4byte gUnknown_03004824 - thumb_func_end sub_804ACF4 - - thumb_func_start sub_804AE3C -sub_804AE3C: @ 804AE3C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0804AE4C - cmp r0, 0x1 - beq _0804AEAC - b _0804AF00 -_0804AE4C: - movs r6, 0 - ldr r1, _0804AEA4 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - bcs _0804AF00 - adds r7, r1, 0 -_0804AE5C: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804AEA8 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl sub_8046200 - ldr r1, [r7] - adds r1, 0x69 - adds r1, r6 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - bcc _0804AE5C - b _0804AF00 - .align 2, 0 -_0804AEA4: .4byte gUnknown_03004824 -_0804AEA8: .4byte gPlayerParty -_0804AEAC: - movs r6, 0 - ldr r1, _0804AF08 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - bcs _0804AF00 - adds r7, r1, 0 -_0804AEBC: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804AF0C @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl sub_8046200 - ldr r1, [r7] - adds r1, 0x6F - adds r1, r6 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - bcc _0804AEBC -_0804AF00: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804AF08: .4byte gUnknown_03004824 -_0804AF0C: .4byte gEnemyParty - thumb_func_end sub_804AE3C - - thumb_func_start sub_804AF10 -sub_804AF10: @ 804AF10 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 -_0804AF18: - movs r4, 0 - ldr r2, _0804AF7C @ =gUnknown_03004824 - ldr r0, [r2] - adds r0, 0x42 - adds r0, r5 - adds r1, r5, 0x1 - mov r8, r1 - ldrb r0, [r0] - cmp r4, r0 - bge _0804AF6A - adds r6, r2, 0 - lsls r0, r5, 1 - adds r0, r5 - lsls r7, r0, 1 -_0804AF34: - ldr r2, [r6] - adds r3, r4, r7 - adds r0, r2, 0 - adds r0, 0x34 - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804AF80 @ =gSprites - adds r0, r1 - adds r2, 0x69 - adds r2, r3 - ldrb r2, [r2] - movs r1, 0x4 - subs r1, r2 - lsls r1, 24 - lsrs r1, 24 - bl sub_809D824 - adds r4, 0x1 - ldr r0, [r6] - adds r0, 0x42 - adds r0, r5 - ldrb r0, [r0] - cmp r4, r0 - blt _0804AF34 -_0804AF6A: - mov r5, r8 - cmp r5, 0x1 - ble _0804AF18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804AF7C: .4byte gUnknown_03004824 -_0804AF80: .4byte gSprites - thumb_func_end sub_804AF10 - - thumb_func_start sub_804AF84 -sub_804AF84: @ 804AF84 - push {r4,lr} - movs r2, 0 - ldr r4, _0804AFB0 @ =gSaveBlock1 + 0x3110 - ldr r3, _0804AFB4 @ =gUnknown_03004824 -_0804AF8C: - adds r1, r2, r4 - ldrb r0, [r1] - cmp r0, 0 - bne _0804AFA2 - ldr r0, [r3] - adds r0, 0xB5 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0804AFA2 - strb r0, [r1] -_0804AFA2: - adds r2, 0x1 - cmp r2, 0xA - ble _0804AF8C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804AFB0: .4byte gSaveBlock1 + 0x3110 -_0804AFB4: .4byte gUnknown_03004824 - thumb_func_end sub_804AF84 - - thumb_func_start sub_804AFB8 -sub_804AFB8: @ 804AFB8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r9, r0 - mov r8, r1 - mov r10, r2 - lsls r3, 24 - lsrs r6, r3, 24 - adds r0, r6, 0x3 - lsrs r6, r0, 2 - ldr r7, _0804B054 @ =gTileBuffer - mov r0, sp - movs r5, 0 - strh r5, [r0] - lsls r4, r6, 6 - movs r0, 0x80 - lsls r0, 17 - orrs r4, r0 - mov r0, sp - adds r1, r7, 0 - adds r2, r4, 0 - bl CpuSet - mov r0, sp - adds r0, 0x2 - strh r5, [r0] - mov r2, r9 - ldrb r1, [r2, 0xD] - lsls r1, 5 - adds r1, r7 - adds r2, r4, 0 - bl CpuSet - mov r0, r9 - adds r1, r7, 0 - mov r2, r10 - bl sub_8004E3C - movs r4, 0 - cmp r4, r6 - bcs _0804B042 -_0804B010: - lsls r0, r4, 7 - adds r0, r7, r0 - lsls r1, r4, 8 - add r1, r8 - movs r2, 0x40 - bl CpuSet - lsls r0, r4, 2 - mov r1, r9 - ldrb r1, [r1, 0xD] - adds r0, r1 - lsls r0, 5 - adds r0, r7, r0 - lsls r1, r4, 3 - adds r1, 0x4 - lsls r1, 5 - add r1, r8 - movs r2, 0x40 - bl CpuSet - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _0804B010 -_0804B042: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804B054: .4byte gTileBuffer - thumb_func_end sub_804AFB8 - - thumb_func_start sub_804B058 -sub_804B058: @ 804B058 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0804B074 - movs r0, 0x17 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] -_0804B074: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804B058 - - thumb_func_start sub_804B07C -sub_804B07C: @ 804B07C - push {lr} - adds r2, r0, 0 - movs r0, 0x30 - ldrsh r1, [r2, r0] - cmp r1, 0 - bne _0804B0B2 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _0804B098 - strh r1, [r2, 0x2E] -_0804B098: - movs r1, 0x2E - ldrsh r0, [r2, r1] - lsls r0, 1 - ldr r1, _0804B0B8 @ =gTradeGlow2PaletteAnimTable - adds r0, r1 - ldrb r1, [r2, 0x5] - lsrs r1, 4 - adds r1, 0x10 - lsls r1, 4 - adds r1, 0x4 - movs r2, 0x2 - bl LoadPalette -_0804B0B2: - pop {r0} - bx r0 - .align 2, 0 -_0804B0B8: .4byte gTradeGlow2PaletteAnimTable - thumb_func_end sub_804B07C - - thumb_func_start sub_804B0BC -sub_804B0BC: @ 804B0BC - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - adds r1, 0x1 - strh r1, [r2, 0x2E] - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xA - bne _0804B0DA - adds r0, r2, 0 - bl DestroySprite -_0804B0DA: - pop {r0} - bx r0 - thumb_func_end sub_804B0BC - - thumb_func_start sub_804B0E0 -sub_804B0E0: @ 804B0E0 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - adds r1, 0x1 - strh r1, [r2, 0x2E] - ldrh r0, [r2, 0x26] - subs r0, 0x1 - strh r0, [r2, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xA - bne _0804B0FE - adds r0, r2, 0 - bl DestroySprite -_0804B0FE: - pop {r0} - bx r0 - thumb_func_end sub_804B0E0 - - thumb_func_start sub_804B104 -sub_804B104: @ 804B104 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bne _0804B120 - movs r0, 0xCC - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] -_0804B120: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804B104 - - thumb_func_start sub_804B128 -sub_804B128: @ 804B128 - push {r4,r5,lr} - sub sp, 0x20 - ldr r0, _0804B1B4 @ =gUnknown_03004828 - ldr r0, [r0] - mov r12, r0 - movs r0, 0x82 - lsls r0, 1 - add r0, r12 - ldrh r1, [r0] - lsls r1, 8 - movs r0, 0x83 - lsls r0, 1 - add r0, r12 - ldrh r2, [r0] - lsls r2, 8 - movs r0, 0x86 - lsls r0, 1 - add r0, r12 - movs r4, 0 - ldrsh r3, [r0, r4] - movs r0, 0x87 - lsls r0, 1 - add r0, r12 - movs r5, 0 - ldrsh r0, [r0, r5] - str r0, [sp] - movs r4, 0x8C - lsls r4, 1 - add r4, r12 - movs r5, 0 - ldrsh r0, [r4, r5] - str r0, [sp, 0x4] - movs r5, 0 - ldrsh r0, [r4, r5] - str r0, [sp, 0x8] - movs r0, 0x8E - lsls r0, 1 - add r0, r12 - ldrh r0, [r0] - str r0, [sp, 0xC] - add r0, sp, 0x10 - bl sub_8040F34 - ldr r1, _0804B1B8 @ =REG_BG2PA - add r0, sp, 0x10 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - add r0, sp, 0x10 - ldrh r0, [r0, 0x2] - strh r0, [r1] - adds r1, 0x2 - add r0, sp, 0x10 - ldrh r0, [r0, 0x4] - strh r0, [r1] - adds r1, 0x2 - add r0, sp, 0x10 - ldrh r0, [r0, 0x6] - strh r0, [r1] - adds r1, 0x2 - ldr r0, [sp, 0x18] - str r0, [r1] - adds r1, 0x4 - ldr r0, [sp, 0x1C] - str r0, [r1] - add sp, 0x20 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804B1B4: .4byte gUnknown_03004828 -_0804B1B8: .4byte REG_BG2PA - thumb_func_end sub_804B128 - - thumb_func_start sub_804B1BC -sub_804B1BC: @ 804B1BC - push {lr} - ldr r1, _0804B1FC @ =REG_BG1VOFS - ldr r0, _0804B200 @ =gUnknown_03004828 - ldr r2, [r0] - movs r3, 0x88 - lsls r3, 1 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - subs r1, 0x2 - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - movs r0, 0x80 - lsls r0, 19 - ldrh r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0804B208 - ldr r1, _0804B204 @ =REG_BG2VOFS - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - subs r1, 0x2 - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - b _0804B20C - .align 2, 0 -_0804B1FC: .4byte REG_BG1VOFS -_0804B200: .4byte gUnknown_03004828 -_0804B204: .4byte REG_BG2VOFS -_0804B208: - bl sub_804B128 -_0804B20C: - pop {r0} - bx r0 - thumb_func_end sub_804B1BC - - thumb_func_start sub_804B210 -sub_804B210: @ 804B210 - push {lr} - bl sub_804B1BC - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_804B210 - - thumb_func_start sub_804B228 -sub_804B228: @ 804B228 - push {r4,lr} - ldr r4, _0804B248 @ =gUnknown_03004828 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xB4 - movs r3, 0 - movs r0, 0 - strh r0, [r2] - adds r1, 0xB2 - strb r3, [r1] - ldr r0, [r4] - adds r0, 0xB3 - strb r3, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804B248: .4byte gUnknown_03004828 - thumb_func_end sub_804B228 - - thumb_func_start sub_804B24C -sub_804B24C: @ 804B24C - push {r4,r5,lr} - ldr r1, _0804B270 @ =gUnknown_03004828 - ldr r2, [r1] - adds r0, r2, 0 - adds r0, 0xB2 - adds r3, r2, 0 - adds r3, 0xB3 - ldrb r0, [r0] - adds r5, r1, 0 - ldrb r3, [r3] - cmp r0, r3 - bne _0804B274 - adds r1, r2, 0 - adds r1, 0xB4 - ldrh r0, [r1] - adds r0, 0x1 - b _0804B27A - .align 2, 0 -_0804B270: .4byte gUnknown_03004828 -_0804B274: - adds r1, r2, 0 - adds r1, 0xB4 - movs r0, 0 -_0804B27A: - strh r0, [r1] - adds r4, r5, 0 - ldr r3, [r4] - adds r2, r3, 0 - adds r2, 0xB4 - ldrh r0, [r2] - cmp r0, 0xB4 - bls _0804B29C - movs r1, 0 - movs r0, 0 - strh r0, [r2] - adds r0, r3, 0 - adds r0, 0xB3 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xB2 - strb r1, [r0] -_0804B29C: - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0xB2 - ldrb r1, [r1] - adds r0, 0xB3 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_804B24C - - thumb_func_start sub_804B2B0 -sub_804B2B0: @ 804B2B0 - push {lr} - ldr r0, _0804B2C0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0804B2C4 - movs r0, 0 - b _0804B2CC - .align 2, 0 -_0804B2C0: .4byte gReceivedRemoteLinkPlayers -_0804B2C4: - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 -_0804B2CC: - pop {r1} - bx r1 - thumb_func_end sub_804B2B0 - - thumb_func_start sub_804B2D0 -sub_804B2D0: @ 804B2D0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r4, 0 - mov r10, r4 - cmp r7, 0 - bne _0804B2FC - ldr r0, _0804B324 @ =gUnknown_020297D8 - ldrb r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0804B328 @ =gPlayerParty - adds r1, r0 - mov r10, r1 - movs r4, 0x1 -_0804B2FC: - cmp r7, 0x1 - bne _0804B31A - ldr r0, _0804B324 @ =gUnknown_020297D8 - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, _0804B32C @ =gEnemyParty - adds r1, r0 - mov r10, r1 - movs r4, 0x3 -_0804B31A: - cmp r5, 0 - beq _0804B330 - cmp r5, 0x1 - beq _0804B3A4 - b _0804B3FA - .align 2, 0 -_0804B324: .4byte gUnknown_020297D8 -_0804B328: .4byte gPlayerParty -_0804B32C: .4byte gEnemyParty -_0804B330: - mov r0, r10 - movs r1, 0x41 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - mov r0, r10 - movs r1, 0 - bl GetMonData - mov r9, r0 - lsls r0, r5, 3 - ldr r1, _0804B390 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _0804B394 @ =gMonFrontPicCoords - lsls r2, r5, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - ldr r3, _0804B398 @ =0x02000000 - ldr r6, _0804B39C @ =gUnknown_081FAF4C - lsls r7, 1 - mov r8, r7 - mov r4, r8 - adds r4, 0x1 - lsls r4, 2 - adds r4, r6 - ldr r4, [r4] - str r4, [sp] - str r5, [sp, 0x4] - mov r4, r9 - str r4, [sp, 0x8] - bl sub_800D334 - mov r0, r10 - bl sub_8040990 - bl LoadCompressedObjectPalette - ldr r0, _0804B3A0 @ =gUnknown_03004828 - ldr r0, [r0] - movs r1, 0x90 - lsls r1, 1 - adds r0, r1 - add r0, r8 - strh r5, [r0] - b _0804B3FA - .align 2, 0 -_0804B390: .4byte gMonFrontPicTable -_0804B394: .4byte gMonFrontPicCoords -_0804B398: .4byte 0x02000000 -_0804B39C: .4byte gUnknown_081FAF4C -_0804B3A0: .4byte gUnknown_03004828 -_0804B3A4: - mov r0, r10 - bl sub_8040990 - ldrh r0, [r0, 0x4] - adds r1, r4, 0 - bl GetMonSpriteTemplate_803C56C - ldr r0, _0804B40C @ =gUnknown_02024E8C - movs r1, 0x78 - movs r2, 0x3C - movs r3, 0x6 - bl CreateSprite - ldr r4, _0804B410 @ =gUnknown_03004828 - ldr r1, [r4] - adds r1, 0xB8 - adds r1, r7 - strb r0, [r1] - ldr r3, _0804B414 @ =gSprites - ldr r0, [r4] - adds r0, 0xB8 - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xB8 - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, 0x1C - adds r0, r3 - ldr r1, _0804B418 @ =SpriteCallbackDummy - str r1, [r0] -_0804B3FA: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804B40C: .4byte gUnknown_02024E8C -_0804B410: .4byte gUnknown_03004828 -_0804B414: .4byte gSprites -_0804B418: .4byte SpriteCallbackDummy - thumb_func_end sub_804B2D0 - - thumb_func_start sub_804B41C -sub_804B41C: @ 804B41C - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, _0804B43C @ =gMain - ldr r2, _0804B440 @ =0x0000043c - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xC - bls _0804B430 - b _0804B76E -_0804B430: - lsls r0, 2 - ldr r1, _0804B444 @ =_0804B448 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804B43C: .4byte gMain -_0804B440: .4byte 0x0000043c -_0804B444: .4byte _0804B448 - .align 2, 0 -_0804B448: - .4byte _0804B47C - .4byte _0804B5AC - .4byte _0804B5D4 - .4byte _0804B5FC - .4byte _0804B648 - .4byte _0804B678 - .4byte _0804B6A8 - .4byte _0804B6B2 - .4byte _0804B6CC - .4byte _0804B6E4 - .4byte _0804B71C - .4byte _0804B726 - .4byte _0804B75C -_0804B47C: - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - bl ResetTasks - bl CloseLink - ldr r6, _0804B570 @ =gUnknown_03004828 - ldr r5, _0804B574 @ =0x0201f000 - str r5, [r6] - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, _0804B578 @ =sub_804B210 - bl SetVBlankCallback - bl sub_804B228 - ldr r4, _0804B57C @ =gWindowConfig_81E6F84 - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r0, [r6] - adds r0, 0x4 - adds r1, r4, 0 - bl InitWindowFromConfig - movs r0, 0x2 - bl SetTextWindowBaseTileNum - ldr r1, [r6] - adds r1, 0x34 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x4 - bl LoadTextWindowGraphics - bl MenuZeroFillScreen - ldr r1, _0804B580 @ =gLinkType - ldr r4, _0804B584 @ =0x00001144 - adds r0, r4, 0 - strh r0, [r1] - ldr r1, _0804B588 @ =gMain - ldr r0, _0804B58C @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, _0804B590 @ =gUnknown_08D00000 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r0, _0804B594 @ =gUnknown_08D00524 - ldr r1, _0804B598 @ =0xfffe1000 - adds r5, r1 - movs r2, 0x80 - lsls r2, 4 - adds r1, r5, 0 - bl CpuSet - ldr r1, _0804B59C @ =0x06002800 - ldr r0, _0804B5A0 @ =0x040000d4 - str r5, [r0] - str r1, [r0, 0x4] - ldr r1, _0804B5A4 @ =0x80000280 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _0804B5A8 @ =gUnknown_08D004E0 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0xB6 - movs r2, 0 - strh r2, [r0] - adds r0, 0xE - strh r2, [r0] - movs r4, 0x8F - lsls r4, 1 - adds r1, r4 - movs r0, 0x1 - strb r0, [r1] - ldr r3, [r6] - movs r1, 0x82 - lsls r1, 1 - adds r0, r3, r1 - movs r1, 0x40 - strh r1, [r0] - subs r4, 0x18 - adds r0, r3, r4 - strh r1, [r0] - adds r1, 0xC8 - adds r0, r3, r1 - strh r2, [r0] - adds r4, 0x4 - adds r0, r3, r4 - strh r2, [r0] - movs r0, 0x86 - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0x78 - strh r0, [r1] - adds r4, 0x4 - adds r1, r3, r4 - movs r0, 0x50 - strh r0, [r1] - adds r0, 0xC8 - adds r1, r3, r0 - subs r0, 0x18 - strh r0, [r1] - movs r1, 0x8E - lsls r1, 1 - adds r0, r3, r1 - strh r2, [r0] - b _0804B76E - .align 2, 0 -_0804B570: .4byte gUnknown_03004828 -_0804B574: .4byte 0x0201f000 -_0804B578: .4byte sub_804B210 -_0804B57C: .4byte gWindowConfig_81E6F84 -_0804B580: .4byte gLinkType -_0804B584: .4byte 0x00001144 -_0804B588: .4byte gMain -_0804B58C: .4byte 0x0000043c -_0804B590: .4byte gUnknown_08D00000 -_0804B594: .4byte gUnknown_08D00524 -_0804B598: .4byte 0xfffe1000 -_0804B59C: .4byte 0x06002800 -_0804B5A0: .4byte 0x040000d4 -_0804B5A4: .4byte 0x80000280 -_0804B5A8: .4byte gUnknown_08D004E0 -_0804B5AC: - bl OpenLink - ldr r1, _0804B5C8 @ =gMain - ldr r2, _0804B5CC @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, _0804B5D0 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC0 - str r2, [r0] - b _0804B76E - .align 2, 0 -_0804B5C8: .4byte gMain -_0804B5CC: .4byte 0x0000043c -_0804B5D0: .4byte gUnknown_03004828 -_0804B5D4: - ldr r0, _0804B5F4 @ =gUnknown_03004828 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bhi _0804B5E8 - b _0804B76E -_0804B5E8: - movs r0, 0 - str r0, [r1] - ldr r4, _0804B5F8 @ =0x0000043c - adds r1, r2, r4 - b _0804B74C - .align 2, 0 -_0804B5F4: .4byte gUnknown_03004828 -_0804B5F8: .4byte 0x0000043c -_0804B5FC: - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - bne _0804B608 - b _0804B746 -_0804B608: - bl GetLinkPlayerCount_2 - adds r4, r0, 0 - bl sub_800820C - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bcs _0804B61C - b _0804B76E -_0804B61C: - ldr r0, _0804B63C @ =gUnknown_03004828 - ldr r1, [r0] - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x1E - bhi _0804B62E - b _0804B76E -_0804B62E: - bl sub_8007F4C - ldr r1, _0804B640 @ =gMain - ldr r0, _0804B644 @ =0x0000043c - adds r1, r0 - b _0804B74C - .align 2, 0 -_0804B63C: .4byte gUnknown_03004828 -_0804B640: .4byte gMain -_0804B644: .4byte 0x0000043c -_0804B648: - bl sub_804B24C - ldr r0, _0804B66C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - beq _0804B656 - b _0804B76E -_0804B656: - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0804B664 - b _0804B76E -_0804B664: - ldr r1, _0804B670 @ =gMain - ldr r4, _0804B674 @ =0x0000043c - adds r1, r4 - b _0804B74C - .align 2, 0 -_0804B66C: .4byte gReceivedRemoteLinkPlayers -_0804B670: .4byte gMain -_0804B674: .4byte 0x0000043c -_0804B678: - ldr r2, _0804B69C @ =gUnknown_03004828 - ldr r0, [r2] - adds r0, 0x9C - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x9D - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xBD - strb r1, [r0] - movs r0, 0 - bl sub_804B2D0 - ldr r1, _0804B6A0 @ =gMain - ldr r0, _0804B6A4 @ =0x0000043c - adds r1, r0 - b _0804B74C - .align 2, 0 -_0804B69C: .4byte gUnknown_03004828 -_0804B6A0: .4byte gMain -_0804B6A4: .4byte 0x0000043c -_0804B6A8: - movs r0, 0 - movs r1, 0x1 - bl sub_804B2D0 - b _0804B746 -_0804B6B2: - movs r0, 0x1 - movs r1, 0 - bl sub_804B2D0 - ldr r1, _0804B6C4 @ =gMain - ldr r4, _0804B6C8 @ =0x0000043c - adds r1, r4 - b _0804B74C - .align 2, 0 -_0804B6C4: .4byte gMain -_0804B6C8: .4byte 0x0000043c -_0804B6CC: - movs r0, 0x1 - movs r1, 0x1 - bl sub_804B2D0 - ldr r1, _0804B6DC @ =gMain - ldr r0, _0804B6E0 @ =0x0000043c - adds r1, r0 - b _0804B74C - .align 2, 0 -_0804B6DC: .4byte gMain -_0804B6E0: .4byte 0x0000043c -_0804B6E4: - bl sub_804C164 - ldr r0, _0804B704 @ =gUnknown_0821594C - bl LoadSpriteSheet - ldr r0, _0804B708 @ =gUnknown_08215954 - bl LoadSpritePalette - ldr r1, _0804B70C @ =REG_BG1CNT - ldr r2, _0804B710 @ =0x00000502 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0804B714 @ =gMain - ldr r4, _0804B718 @ =0x0000043c - adds r1, r4 - b _0804B74C - .align 2, 0 -_0804B704: .4byte gUnknown_0821594C -_0804B708: .4byte gUnknown_08215954 -_0804B70C: .4byte REG_BG1CNT -_0804B710: .4byte 0x00000502 -_0804B714: .4byte gMain -_0804B718: .4byte 0x0000043c -_0804B71C: - ldr r0, _0804B754 @ =0x0000043c - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804B726: - movs r0, 0x5 - bl sub_804BBE8 - movs r0, 0 - bl sub_804BBE8 - bl sub_804C1A8 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_0804B746: - ldr r1, _0804B758 @ =gMain - ldr r2, _0804B754 @ =0x0000043c - adds r1, r2 -_0804B74C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804B76E - .align 2, 0 -_0804B754: .4byte 0x0000043c -_0804B758: .4byte gMain -_0804B75C: - ldr r0, _0804B788 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804B76E - ldr r0, _0804B78C @ =sub_804DB84 - bl SetMainCallback2 -_0804B76E: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804B788: .4byte gPaletteFade -_0804B78C: .4byte sub_804DB84 - thumb_func_end sub_804B41C - - thumb_func_start sub_804B790 -sub_804B790: @ 804B790 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - ldr r1, _0804B7B4 @ =gMain - ldr r2, _0804B7B8 @ =0x0000043c - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xC - bls _0804B7A8 - b _0804B9F2 -_0804B7A8: - lsls r0, 2 - ldr r1, _0804B7BC @ =_0804B7C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804B7B4: .4byte gMain -_0804B7B8: .4byte 0x0000043c -_0804B7BC: .4byte _0804B7C0 - .align 2, 0 -_0804B7C0: - .4byte _0804B7F4 - .4byte _0804B9F2 - .4byte _0804B9F2 - .4byte _0804B9F2 - .4byte _0804B9F2 - .4byte _0804B914 - .4byte _0804B92C - .4byte _0804B944 - .4byte _0804B94E - .4byte _0804B968 - .4byte _0804B9A0 - .4byte _0804B9AA - .4byte _0804B9E0 -_0804B7F4: - ldr r1, _0804B8E0 @ =gUnknown_020297D8 - ldr r0, _0804B8E4 @ =gUnknown_0202E8CE - ldrh r0, [r0] - movs r6, 0 - strb r0, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - ldr r4, _0804B8E8 @ =gLinkPlayers + 0x8 - ldr r1, _0804B8EC @ =gSaveBlock2 - adds r0, r4, 0 - bl StringCopy - ldr r0, _0804B8F0 @ =gEnemyParty - movs r1, 0x7 - add r2, sp, 0x4 - bl GetMonData - adds r4, 0x1C - adds r0, r4, 0 - add r1, sp, 0x4 - bl StringCopy - movs r0, 0x80 - lsls r0, 19 - movs r3, 0 - mov r8, r3 - strh r6, [r0] - bl ResetTasks - ldr r5, _0804B8F4 @ =gUnknown_03004828 - ldr r0, _0804B8F8 @ =0x0201f000 - str r0, [r5] - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, _0804B8FC @ =sub_804B210 - bl SetVBlankCallback - bl sub_804B228 - ldr r4, _0804B900 @ =gWindowConfig_81E717C - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r0, [r5] - adds r0, 0x4 - adds r1, r4, 0 - bl InitWindowFromConfig - movs r0, 0x2 - bl SetTextWindowBaseTileNum - ldr r1, [r5] - adds r1, 0x34 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x4 - bl LoadTextWindowGraphics - bl MenuZeroFillScreen - ldr r1, _0804B904 @ =gLinkType - ldr r2, _0804B908 @ =0x00001144 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, [r5] - movs r3, 0x8F - lsls r3, 1 - adds r0, r3 - mov r1, r8 - strb r1, [r0] - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0xB6 - strh r6, [r0] - adds r0, 0xE - strh r6, [r0] - subs r3, 0x1A - adds r0, r2, r3 - movs r1, 0x40 - strh r1, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strh r1, [r0] - adds r1, 0xC8 - adds r0, r2, r1 - strh r6, [r0] - adds r3, 0x4 - adds r0, r2, r3 - strh r6, [r0] - movs r0, 0x86 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0x78 - strh r0, [r1] - adds r3, 0x4 - adds r1, r2, r3 - movs r0, 0x50 - strh r0, [r1] - adds r0, 0xC8 - adds r1, r2, r0 - subs r0, 0x18 - strh r0, [r1] - movs r1, 0x8E - lsls r1, 1 - adds r0, r2, r1 - strh r6, [r0] - adds r0, r2, 0 - adds r0, 0xC0 - str r6, [r0] - ldr r0, _0804B90C @ =gMain - ldr r2, _0804B910 @ =0x0000043c - adds r0, r2 - movs r1, 0x5 - strb r1, [r0] - b _0804B9F2 - .align 2, 0 -_0804B8E0: .4byte gUnknown_020297D8 -_0804B8E4: .4byte gUnknown_0202E8CE -_0804B8E8: .4byte gLinkPlayers + 0x8 -_0804B8EC: .4byte gSaveBlock2 -_0804B8F0: .4byte gEnemyParty -_0804B8F4: .4byte gUnknown_03004828 -_0804B8F8: .4byte 0x0201f000 -_0804B8FC: .4byte sub_804B210 -_0804B900: .4byte gWindowConfig_81E717C -_0804B904: .4byte gLinkType -_0804B908: .4byte 0x00001144 -_0804B90C: .4byte gMain -_0804B910: .4byte 0x0000043c -_0804B914: - movs r0, 0 - movs r1, 0 - bl sub_804B2D0 - ldr r1, _0804B924 @ =gMain - ldr r3, _0804B928 @ =0x0000043c - adds r1, r3 - b _0804B9D0 - .align 2, 0 -_0804B924: .4byte gMain -_0804B928: .4byte 0x0000043c -_0804B92C: - movs r0, 0 - movs r1, 0x1 - bl sub_804B2D0 - ldr r1, _0804B93C @ =gMain - ldr r0, _0804B940 @ =0x0000043c - adds r1, r0 - b _0804B9D0 - .align 2, 0 -_0804B93C: .4byte gMain -_0804B940: .4byte 0x0000043c -_0804B944: - movs r0, 0x1 - movs r1, 0 - bl sub_804B2D0 - b _0804B9CA -_0804B94E: - movs r0, 0x1 - movs r1, 0x1 - bl sub_804B2D0 - ldr r1, _0804B960 @ =gMain - ldr r3, _0804B964 @ =0x0000043c - adds r1, r3 - b _0804B9D0 - .align 2, 0 -_0804B960: .4byte gMain -_0804B964: .4byte 0x0000043c -_0804B968: - bl sub_804C164 - ldr r0, _0804B988 @ =gUnknown_0821594C - bl LoadSpriteSheet - ldr r0, _0804B98C @ =gUnknown_08215954 - bl LoadSpritePalette - ldr r1, _0804B990 @ =REG_BG1CNT - ldr r2, _0804B994 @ =0x00000502 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0804B998 @ =gMain - ldr r3, _0804B99C @ =0x0000043c - adds r1, r3 - b _0804B9D0 - .align 2, 0 -_0804B988: .4byte gUnknown_0821594C -_0804B98C: .4byte gUnknown_08215954 -_0804B990: .4byte REG_BG1CNT -_0804B994: .4byte 0x00000502 -_0804B998: .4byte gMain -_0804B99C: .4byte 0x0000043c -_0804B9A0: - ldr r0, _0804B9D8 @ =0x0000043c - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804B9AA: - movs r0, 0x5 - bl sub_804BBE8 - movs r0, 0 - bl sub_804BBE8 - bl sub_804C1A8 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_0804B9CA: - ldr r1, _0804B9DC @ =gMain - ldr r2, _0804B9D8 @ =0x0000043c - adds r1, r2 -_0804B9D0: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804B9F2 - .align 2, 0 -_0804B9D8: .4byte 0x0000043c -_0804B9DC: .4byte gMain -_0804B9E0: - ldr r0, _0804BA10 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804B9F2 - ldr r0, _0804BA14 @ =sub_804BBCC - bl SetMainCallback2 -_0804B9F2: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804BA10: .4byte gPaletteFade -_0804BA14: .4byte sub_804BBCC - thumb_func_end sub_804B790 - - thumb_func_start sub_804BA18 -sub_804BA18: @ 804BA18 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, _0804BA60 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0804BA5A - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl SpeciesToNationalPokedexNum - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0x2 - bl sub_8090D90 - adds r0, r4, 0 - movs r1, 0x3 - bl sub_8090D90 -_0804BA5A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804BA60: .4byte gPlayerParty - thumb_func_end sub_804BA18 - - thumb_func_start sub_804BA64 -sub_804BA64: @ 804BA64 - push {lr} - bl GetMultiplayerId - lsls r0, 24 - ldr r2, _0804BA90 @ =gLinkPlayers - movs r1, 0x80 - lsls r1, 17 - eors r1, r0 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x2] - movs r0, 0x80 - lsls r0, 8 - cmp r1, r0 - bne _0804BA8C - bl sub_80690F0 -_0804BA8C: - pop {r0} - bx r0 - .align 2, 0 -_0804BA90: .4byte gLinkPlayers - thumb_func_end sub_804BA64 - - thumb_func_start sub_804BA94 -sub_804BA94: @ 804BA94 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r4, 24 - lsrs r4, 24 - movs r5, 0x64 - mov r1, r9 - muls r1, r5 - ldr r0, _0804BB60 @ =gPlayerParty - adds r7, r1, r0 - adds r0, r7, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r1, r4, 0 - muls r1, r5 - ldr r0, _0804BB64 @ =gEnemyParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r6, 0xFF - beq _0804BAE8 - lsls r0, r6, 3 - adds r0, r6 - lsls r0, 2 - ldr r1, _0804BB68 @ =gSaveBlock1 + 0x2B4C - adds r0, r1 - bl sub_80A2B40 -_0804BAE8: - ldr r4, _0804BB6C @ =gUnknown_03004828 - ldr r0, [r4] - adds r0, 0x38 - adds r1, r7, 0 - movs r2, 0x64 - bl memcpy - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - ldr r1, [r4] - adds r1, 0x38 - adds r0, r5, 0 - movs r2, 0x64 - bl memcpy - movs r1, 0x46 - mov r0, sp - strb r1, [r0] - adds r0, r7, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0804BB28 - adds r0, r7, 0 - movs r1, 0x20 - mov r2, sp - bl SetMonData -_0804BB28: - mov r0, r8 - cmp r0, 0xFF - beq _0804BB3E - lsls r1, r0, 3 - add r1, r8 - lsls r1, 2 - ldr r0, _0804BB70 @ =gUnknown_02029700 - adds r1, r0 - adds r0, r7, 0 - bl sub_80A2D88 -_0804BB3E: - mov r0, r9 - bl sub_804BA18 - ldr r0, _0804BB74 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0804BB50 - bl sub_804BA64 -_0804BB50: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804BB60: .4byte gPlayerParty -_0804BB64: .4byte gEnemyParty -_0804BB68: .4byte gSaveBlock1 + 0x2B4C -_0804BB6C: .4byte gUnknown_03004828 -_0804BB70: .4byte gUnknown_02029700 -_0804BB74: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_804BA94 - - thumb_func_start sub_804BB78 -sub_804BB78: @ 804BB78 - push {r4,lr} - ldr r4, _0804BB8C @ =gUnknown_03004828 - ldr r0, [r4] - adds r0, 0xBD - ldrb r0, [r0] - cmp r0, 0x1 - beq _0804BB90 - cmp r0, 0x2 - beq _0804BBB6 - b _0804BBC0 - .align 2, 0 -_0804BB8C: .4byte gUnknown_03004828 -_0804BB90: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _0804BBB6 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x9E - movs r2, 0x14 - bl SendBlock - ldr r1, [r4] - adds r1, 0xBD - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804BBB6: - ldr r0, _0804BBC8 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xBD - movs r1, 0 - strb r1, [r0] -_0804BBC0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804BBC8: .4byte gUnknown_03004828 - thumb_func_end sub_804BB78 - - thumb_func_start sub_804BBCC -sub_804BBCC: @ 804BBCC - push {lr} - bl sub_804C29C - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_804BBCC - - thumb_func_start sub_804BBE8 -sub_804BBE8: @ 804BBE8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x7 - bls _0804BBF4 - b _0804C0CA -_0804BBF4: - lsls r0, 2 - ldr r1, _0804BC00 @ =_0804BC04 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804BC00: .4byte _0804BC04 - .align 2, 0 -_0804BC04: - .4byte _0804BC24 - .4byte _0804BCC4 - .4byte _0804BD5C - .4byte _0804BDA4 - .4byte _0804BE48 - .4byte _0804BEF8 - .4byte _0804BFA0 - .4byte _0804C060 -_0804BC24: - ldr r0, _0804BCA0 @ =gUnknown_0820C9F8 - movs r1, 0x10 - movs r2, 0xA0 - bl LoadPalette - ldr r3, _0804BCA4 @ =gUnknown_0820CA98 - ldr r4, _0804BCA8 @ =0x06004000 - movs r5, 0x98 - lsls r5, 5 - ldr r1, _0804BCAC @ =0x040000d4 - ldr r6, _0804BCB0 @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0804BC42: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0804BC42 - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _0804BCB4 @ =gUnknown_0820F798 - ldr r2, _0804BCB8 @ =0x06009000 - ldr r0, _0804BCAC @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0804BCB0 @ =0x80000800 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _0804BCBC @ =gUnknown_03004828 - ldr r2, [r0] - movs r0, 0x8A - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0 - strh r0, [r1] - movs r3, 0x8B - lsls r3, 1 - adds r1, r2, r3 - movs r0, 0xB4 - strh r0, [r1] - movs r1, 0x80 - lsls r1, 19 - movs r4, 0xBA - lsls r4, 5 - adds r0, r4, 0 - strh r0, [r1] - adds r1, 0xC - ldr r2, _0804BCC0 @ =0x00005206 - adds r0, r2, 0 - strh r0, [r1] - b _0804C0CA - .align 2, 0 -_0804BCA0: .4byte gUnknown_0820C9F8 -_0804BCA4: .4byte gUnknown_0820CA98 -_0804BCA8: .4byte 0x06004000 -_0804BCAC: .4byte 0x040000d4 -_0804BCB0: .4byte 0x80000800 -_0804BCB4: .4byte gUnknown_0820F798 -_0804BCB8: .4byte 0x06009000 -_0804BCBC: .4byte gUnknown_03004828 -_0804BCC0: .4byte 0x00005206 -_0804BCC4: - ldr r0, _0804BD3C @ =gUnknown_03004828 - ldr r2, [r0] - movs r3, 0x89 - lsls r3, 1 - adds r1, r2, r3 - movs r0, 0 - strh r0, [r1] - movs r4, 0x88 - lsls r4, 1 - adds r0, r2, r4 - movs r1, 0xAE - lsls r1, 1 - strh r1, [r0] - ldr r0, _0804BD40 @ =REG_BG1VOFS - strh r1, [r0] - ldr r1, _0804BD44 @ =REG_BG1CNT - ldr r2, _0804BD48 @ =0x00008502 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0804BD4C @ =gUnknown_08210798 - ldr r2, _0804BD50 @ =0x06002800 - movs r3, 0x80 - lsls r3, 5 - adds r1, 0xCA - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - movs r2, 0x80 - lsls r2, 24 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r4, [r1, 0x8] - ldr r4, _0804BD54 @ =gUnknown_0820CA98 - movs r5, 0xC0 - lsls r5, 19 - movs r6, 0x98 - lsls r6, 5 - adds r7, r0, 0 -_0804BD10: - str r4, [r1] - str r5, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r4, r3 - adds r5, r3 - subs r6, r3 - cmp r6, r3 - bhi _0804BD10 - str r4, [r1] - str r5, [r1, 0x4] - lsrs r0, r6, 1 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r1, 0x80 - lsls r1, 19 - ldr r3, _0804BD58 @ =0x00001241 - adds r0, r3, 0 - strh r0, [r1] - b _0804C0CA - .align 2, 0 -_0804BD3C: .4byte gUnknown_03004828 -_0804BD40: .4byte REG_BG1VOFS -_0804BD44: .4byte REG_BG1CNT -_0804BD48: .4byte 0x00008502 -_0804BD4C: .4byte gUnknown_08210798 -_0804BD50: .4byte 0x06002800 -_0804BD54: .4byte gUnknown_0820CA98 -_0804BD58: .4byte 0x00001241 -_0804BD5C: - ldr r0, _0804BD8C @ =gUnknown_03004828 - ldr r2, [r0] - movs r4, 0x88 - lsls r4, 1 - adds r0, r2, r4 - movs r1, 0 - strh r1, [r0] - movs r3, 0x89 - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - movs r1, 0x80 - lsls r1, 19 - ldr r4, _0804BD90 @ =0x00001241 - adds r0, r4, 0 - strh r0, [r1] - ldr r1, _0804BD94 @ =gUnknown_08211798 - ldr r2, _0804BD98 @ =0x06002800 - ldr r0, _0804BD9C @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0804BDA0 @ =0x80000400 - b _0804C0C6 - .align 2, 0 -_0804BD8C: .4byte gUnknown_03004828 -_0804BD90: .4byte 0x00001241 -_0804BD94: .4byte gUnknown_08211798 -_0804BD98: .4byte 0x06002800 -_0804BD9C: .4byte 0x040000d4 -_0804BDA0: .4byte 0x80000400 -_0804BDA4: - movs r1, 0x80 - lsls r1, 19 - movs r2, 0x92 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0804BE24 @ =gUnknown_03004828 - ldr r3, [r0] - movs r4, 0x82 - lsls r4, 1 - adds r1, r3, r4 - movs r2, 0 - movs r0, 0x40 - strh r0, [r1] - adds r4, 0x2 - adds r1, r3, r4 - strh r0, [r1] - adds r0, 0xCC - adds r1, r3, r0 - movs r0, 0x78 - strh r0, [r1] - adds r4, 0x8 - adds r1, r3, r4 - ldr r0, _0804BE28 @ =0x0000ffba - strh r0, [r1] - movs r1, 0x8E - lsls r1, 1 - adds r0, r3, r1 - strh r2, [r0] - ldr r3, _0804BE2C @ =gUnknown_0820DD98 - ldr r4, _0804BE30 @ =0x06004000 - movs r5, 0xD0 - lsls r5, 5 - ldr r2, _0804BE34 @ =gUnknown_08211F98 - mov r12, r2 - ldr r1, _0804BE38 @ =0x040000d4 - ldr r6, _0804BE3C @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0804BDF6: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0804BDF6 - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _0804BE40 @ =0x06009000 - ldr r0, _0804BE38 @ =0x040000d4 - mov r3, r12 - str r3, [r0] - str r1, [r0, 0x4] - ldr r1, _0804BE44 @ =0x80000080 - b _0804C0C6 - .align 2, 0 -_0804BE24: .4byte gUnknown_03004828 -_0804BE28: .4byte 0x0000ffba -_0804BE2C: .4byte gUnknown_0820DD98 -_0804BE30: .4byte 0x06004000 -_0804BE34: .4byte gUnknown_08211F98 -_0804BE38: .4byte 0x040000d4 -_0804BE3C: .4byte 0x80000800 -_0804BE40: .4byte 0x06009000 -_0804BE44: .4byte 0x80000080 -_0804BE48: - movs r1, 0x80 - lsls r1, 19 - ldr r4, _0804BED0 @ =0x00001441 - adds r0, r4, 0 - strh r0, [r1] - adds r1, 0xC - ldr r2, _0804BED4 @ =0x00001287 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0804BED8 @ =gUnknown_03004828 - ldr r3, [r0] - movs r4, 0x82 - lsls r4, 1 - adds r1, r3, r4 - movs r2, 0 - movs r0, 0x40 - strh r0, [r1] - adds r0, 0xC6 - adds r1, r3, r0 - movs r0, 0x5C - strh r0, [r1] - adds r4, 0x14 - adds r1, r3, r4 - movs r0, 0x20 - strh r0, [r1] - adds r0, 0xFA - adds r1, r3, r0 - movs r0, 0x80 - lsls r0, 3 - strh r0, [r1] - movs r1, 0x8E - lsls r1, 1 - adds r0, r3, r1 - strh r2, [r0] - ldr r3, _0804BEDC @ =gUnknown_08213738 - ldr r4, _0804BEE0 @ =0x06004000 - movs r5, 0x81 - lsls r5, 6 - ldr r2, _0804BEE4 @ =gUnknown_08215778 - mov r12, r2 - ldr r1, _0804BEE8 @ =0x040000d4 - ldr r6, _0804BEEC @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0804BEA4: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0804BEA4 - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _0804BEF0 @ =0x06009000 - ldr r0, _0804BEE8 @ =0x040000d4 - mov r3, r12 - str r3, [r0] - str r1, [r0, 0x4] - ldr r1, _0804BEF4 @ =0x80000080 - b _0804C0C6 - .align 2, 0 -_0804BED0: .4byte 0x00001441 -_0804BED4: .4byte 0x00001287 -_0804BED8: .4byte gUnknown_03004828 -_0804BEDC: .4byte gUnknown_08213738 -_0804BEE0: .4byte 0x06004000 -_0804BEE4: .4byte gUnknown_08215778 -_0804BEE8: .4byte 0x040000d4 -_0804BEEC: .4byte 0x80000800 -_0804BEF0: .4byte 0x06009000 -_0804BEF4: .4byte 0x80000080 -_0804BEF8: - ldr r0, _0804BF78 @ =gUnknown_03004828 - ldr r2, [r0] - movs r4, 0x88 - lsls r4, 1 - adds r0, r2, r4 - movs r1, 0 - strh r1, [r0] - movs r3, 0x89 - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - ldr r1, _0804BF7C @ =REG_BG1CNT - ldr r4, _0804BF80 @ =0x00000502 - adds r0, r4, 0 - strh r0, [r1] - ldr r0, _0804BF84 @ =gUnknown_08D00000 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r0, _0804BF88 @ =gUnknown_08D00524 - ldr r4, _0804BF8C @ =0x02000000 - movs r2, 0x80 - lsls r2, 4 - adds r1, r4, 0 - bl CpuSet - ldr r0, _0804BF90 @ =gUnknown_08D004E0 - movs r1, 0x70 - movs r2, 0x20 - bl LoadCompressedPalette - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - movs r0, 0xE0 - lsls r0, 7 - adds r2, r0, 0 - movs r1, 0xA0 - lsls r1, 2 -_0804BF4C: - ldrh r0, [r4] - orrs r0, r2 - strh r0, [r4] - adds r4, 0x2 - subs r1, 0x1 - cmp r1, 0 - bne _0804BF4C - ldr r1, _0804BF8C @ =0x02000000 - ldr r2, _0804BF94 @ =0x06002800 - ldr r0, _0804BF98 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0804BF9C @ =0x80000280 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - movs r0, 0x2 - movs r1, 0xF - movs r2, 0x1B - movs r3, 0x12 - bl MenuZeroFillWindowRect - b _0804C0CA - .align 2, 0 -_0804BF78: .4byte gUnknown_03004828 -_0804BF7C: .4byte REG_BG1CNT -_0804BF80: .4byte 0x00000502 -_0804BF84: .4byte gUnknown_08D00000 -_0804BF88: .4byte gUnknown_08D00524 -_0804BF8C: .4byte 0x02000000 -_0804BF90: .4byte gUnknown_08D004E0 -_0804BF94: .4byte 0x06002800 -_0804BF98: .4byte 0x040000d4 -_0804BF9C: .4byte 0x80000280 -_0804BFA0: - movs r1, 0x80 - lsls r1, 19 - ldr r2, _0804C038 @ =0x00001441 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0xC - ldr r3, _0804C03C @ =0x00001287 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _0804C040 @ =gUnknown_03004828 - ldr r3, [r0] - movs r4, 0x82 - lsls r4, 1 - adds r1, r3, r4 - movs r2, 0 - movs r0, 0x40 - strh r0, [r1] - adds r0, 0xC6 - adds r1, r3, r0 - movs r0, 0x5C - strh r0, [r1] - adds r4, 0x14 - adds r1, r3, r4 - adds r0, 0xA4 - strh r0, [r1] - adds r0, 0x1A - adds r1, r3, r0 - movs r0, 0x80 - strh r0, [r1] - subs r4, 0xC - adds r1, r3, r4 - movs r0, 0x78 - strh r0, [r1] - adds r0, 0x96 - adds r1, r3, r0 - movs r0, 0x50 - strh r0, [r1] - movs r1, 0x8E - lsls r1, 1 - adds r0, r3, r1 - strh r2, [r0] - ldr r3, _0804C044 @ =gUnknown_08213738 - ldr r4, _0804C048 @ =0x06004000 - movs r5, 0x81 - lsls r5, 6 - ldr r2, _0804C04C @ =gUnknown_08215778 - mov r12, r2 - ldr r1, _0804C050 @ =0x040000d4 - ldr r6, _0804C054 @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0804C00A: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0804C00A - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _0804C058 @ =0x06009000 - ldr r0, _0804C050 @ =0x040000d4 - mov r3, r12 - str r3, [r0] - str r1, [r0, 0x4] - ldr r1, _0804C05C @ =0x80000080 - b _0804C0C6 - .align 2, 0 -_0804C038: .4byte 0x00001441 -_0804C03C: .4byte 0x00001287 -_0804C040: .4byte gUnknown_03004828 -_0804C044: .4byte gUnknown_08213738 -_0804C048: .4byte 0x06004000 -_0804C04C: .4byte gUnknown_08215778 -_0804C050: .4byte 0x040000d4 -_0804C054: .4byte 0x80000800 -_0804C058: .4byte 0x06009000 -_0804C05C: .4byte 0x80000080 -_0804C060: - ldr r0, _0804C0D0 @ =gUnknown_03004828 - ldr r2, [r0] - movs r4, 0x8A - lsls r4, 1 - adds r0, r2, r4 - movs r1, 0 - strh r1, [r0] - movs r3, 0x8B - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - ldr r1, _0804C0D4 @ =REG_BG2CNT - ldr r4, _0804C0D8 @ =0x00005206 - adds r0, r4, 0 - strh r0, [r1] - ldr r0, _0804C0DC @ =gUnknown_0820C9F8 - movs r1, 0x10 - movs r2, 0xA0 - bl LoadPalette - ldr r3, _0804C0E0 @ =gUnknown_0820CA98 - ldr r4, _0804C0E4 @ =0x06004000 - movs r5, 0x98 - lsls r5, 5 - ldr r1, _0804C0E8 @ =0x040000d4 - ldr r6, _0804C0EC @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0804C09C: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0804C09C - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _0804C0F0 @ =gUnknown_0820F798 - ldr r2, _0804C0F4 @ =0x06009000 - ldr r0, _0804C0E8 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0804C0EC @ =0x80000800 -_0804C0C6: - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] -_0804C0CA: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804C0D0: .4byte gUnknown_03004828 -_0804C0D4: .4byte REG_BG2CNT -_0804C0D8: .4byte 0x00005206 -_0804C0DC: .4byte gUnknown_0820C9F8 -_0804C0E0: .4byte gUnknown_0820CA98 -_0804C0E4: .4byte 0x06004000 -_0804C0E8: .4byte 0x040000d4 -_0804C0EC: .4byte 0x80000800 -_0804C0F0: .4byte gUnknown_0820F798 -_0804C0F4: .4byte 0x06009000 - thumb_func_end sub_804BBE8 - - thumb_func_start sub_804C0F8 -sub_804C0F8: @ 804C0F8 - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0804C130 - ldr r0, _0804C128 @ =gUnknown_03004828 - ldr r2, [r0] - movs r1, 0x88 - lsls r1, 1 - adds r0, r2, r1 - movs r3, 0 - ldrsh r1, [r0, r3] - ldr r0, _0804C12C @ =0x00000109 - cmp r1, r0 - bgt _0804C15A - adds r0, 0x5 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r3, 0x8E - lsls r3, 1 - adds r1, r2, r3 - b _0804C154 - .align 2, 0 -_0804C128: .4byte gUnknown_03004828 -_0804C12C: .4byte 0x00000109 -_0804C130: - ldr r0, _0804C160 @ =gUnknown_03004828 - ldr r0, [r0] - mov r12, r0 - movs r2, 0x87 - lsls r2, 1 - add r2, r12 - ldrh r3, [r2] - movs r0, 0 - ldrsh r1, [r2, r0] - movs r0, 0x40 - negs r0, r0 - cmp r1, r0 - ble _0804C15A - subs r0, r3, 0x1 - strh r0, [r2] - movs r1, 0x8E - lsls r1, 1 - add r1, r12 -_0804C154: - ldrh r0, [r1] - adds r0, 0x40 - strh r0, [r1] -_0804C15A: - pop {r0} - bx r0 - .align 2, 0 -_0804C160: .4byte gUnknown_03004828 - thumb_func_end sub_804C0F8 - - thumb_func_start sub_804C164 -sub_804C164: @ 804C164 - push {lr} - ldr r0, _0804C190 @ =gUnknown_082159A4 - bl LoadSpriteSheet - ldr r0, _0804C194 @ =gUnknown_082159F4 - bl LoadSpriteSheet - ldr r0, _0804C198 @ =gUnknown_08215A28 - bl LoadSpriteSheet - ldr r0, _0804C19C @ =gUnknown_08215A78 - bl LoadSpriteSheet - ldr r0, _0804C1A0 @ =gUnknown_082159AC - bl LoadSpritePalette - ldr r0, _0804C1A4 @ =gUnknown_082159B4 - bl LoadSpritePalette - pop {r0} - bx r0 - .align 2, 0 -_0804C190: .4byte gUnknown_082159A4 -_0804C194: .4byte gUnknown_082159F4 -_0804C198: .4byte gUnknown_08215A28 -_0804C19C: .4byte gUnknown_08215A78 -_0804C1A0: .4byte gUnknown_082159AC -_0804C1A4: .4byte gUnknown_082159B4 - thumb_func_end sub_804C164 - - thumb_func_start sub_804C1A8 -sub_804C1A8: @ 804C1A8 - push {r4,r5,lr} - sub sp, 0x14 - ldr r0, _0804C21C @ =gUnknown_03004828 - ldr r0, [r0] - movs r1, 0x8F - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0804C23C - bl GetMultiplayerId - lsls r0, 24 - ldr r3, _0804C220 @ =gStringVar1 - movs r2, 0x80 - lsls r2, 17 - eors r2, r0 - lsrs r2, 24 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - ldr r0, _0804C224 @ =gLinkPlayers + 0x8 - adds r1, r0 - adds r0, r3, 0 - bl StringCopy - ldr r5, _0804C228 @ =gUnknown_020297D8 - ldrb r0, [r5, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x64 - muls r0, r4 - ldr r1, _0804C22C @ =gEnemyParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, _0804C230 @ =gStringVar3 - mov r1, sp - bl StringCopy10 - ldrb r0, [r5] - muls r0, r4 - ldr r1, _0804C234 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, _0804C238 @ =gStringVar2 - mov r1, sp - bl StringCopy10 - b _0804C278 - .align 2, 0 -_0804C21C: .4byte gUnknown_03004828 -_0804C220: .4byte gStringVar1 -_0804C224: .4byte gLinkPlayers + 0x8 -_0804C228: .4byte gUnknown_020297D8 -_0804C22C: .4byte gEnemyParty -_0804C230: .4byte gStringVar3 -_0804C234: .4byte gPlayerParty -_0804C238: .4byte gStringVar2 -_0804C23C: - ldr r0, _0804C280 @ =gUnknown_0202E8CC - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, _0804C284 @ =gIngameTrades - adds r4, r0 - ldr r0, _0804C288 @ =gStringVar1 - adds r1, r4, 0 - adds r1, 0x2B - bl StringCopy - ldr r0, _0804C28C @ =gStringVar3 - adds r1, r4, 0 - bl StringCopy10 - ldr r0, _0804C290 @ =gUnknown_0202E8CE - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0804C294 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, _0804C298 @ =gStringVar2 - mov r1, sp - bl StringCopy10 -_0804C278: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804C280: .4byte gUnknown_0202E8CC -_0804C284: .4byte gIngameTrades -_0804C288: .4byte gStringVar1 -_0804C28C: .4byte gStringVar3 -_0804C290: .4byte gUnknown_0202E8CE -_0804C294: .4byte gPlayerParty -_0804C298: .4byte gStringVar2 - thumb_func_end sub_804C1A8 - - thumb_func_start sub_804C29C -sub_804C29C: @ 804C29C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r1, _0804C2C0 @ =gUnknown_03004828 - ldr r0, [r1] - adds r0, 0xC4 - ldrh r0, [r0] - adds r6, r1, 0 - cmp r0, 0xC8 - bls _0804C2B6 - bl _0804D570 -_0804C2B6: - lsls r0, 2 - ldr r1, _0804C2C4 @ =_0804C2C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804C2C0: .4byte gUnknown_03004828 -_0804C2C4: .4byte _0804C2C8 - .align 2, 0 -_0804C2C8: - .4byte _0804C5EC - .4byte _0804C66C - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804C6C8 - .4byte _0804C704 - .4byte _0804C79C - .4byte _0804D570 - .4byte _0804C824 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804C848 - .4byte _0804C868 - .4byte _0804C87A - .4byte _0804C89C - .4byte _0804C8F4 - .4byte _0804C92C - .4byte _0804C978 - .4byte _0804C9C8 - .4byte _0804CA1C - .4byte _0804CAB4 - .4byte _0804CAD8 - .4byte _0804CB24 - .4byte _0804CB70 - .4byte _0804CBCC - .4byte _0804CC2C - .4byte _0804CC40 - .4byte _0804CC54 - .4byte _0804CC68 - .4byte _0804CD94 - .4byte _0804CE64 - .4byte _0804CEEC - .4byte _0804CF68 - .4byte _0804CF78 - .4byte _0804CFA0 - .4byte _0804CFFC - .4byte _0804D028 - .4byte _0804D054 - .4byte _0804D06A - .4byte _0804D0D4 - .4byte _0804D570 - .4byte _0804D0FC - .4byte _0804D13C - .4byte _0804D182 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D1A4 - .4byte _0804D1C4 - .4byte _0804D1D2 - .4byte _0804D1F4 - .4byte _0804D2A8 - .4byte _0804D2E4 - .4byte _0804D314 - .4byte _0804D3C4 - .4byte _0804D41C - .4byte _0804D48C - .4byte _0804D4A0 - .4byte _0804D4A6 - .4byte _0804D4CC - .4byte _0804D528 - .4byte _0804D54C - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804CA54 -_0804C5EC: - ldr r3, _0804C65C @ =gSprites - ldr r0, [r6] - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r4, [r6] - adds r2, r4, 0 - adds r2, 0xB8 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, _0804C660 @ =0x0000ff4c - strh r1, [r0, 0x24] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldr r2, _0804C664 @ =gMonFrontPicCoords - movs r3, 0x90 - lsls r3, 1 - adds r0, r4, r3 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r1, 0x26] - adds r1, r4, 0 - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bl GetCurrentMapMusic - ldr r1, [r6] - movs r7, 0x92 - lsls r7, 1 - adds r1, r7 - strh r0, [r1] - ldr r0, _0804C668 @ =0x00000179 - bl PlayBGM - bl _0804D570 - .align 2, 0 -_0804C65C: .4byte gSprites -_0804C660: .4byte 0x0000ff4c -_0804C664: .4byte gMonFrontPicCoords -_0804C668: .4byte 0x00000179 -_0804C66C: - ldr r4, [r6] - movs r0, 0x8B - lsls r0, 1 - adds r5, r4, r0 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - ble _0804C6A0 - ldr r2, _0804C69C @ =gSprites - adds r0, r4, 0 - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - adds r1, 0x3 - strh r1, [r0, 0x24] - ldrh r0, [r5] - subs r0, 0x3 - strh r0, [r5] - bl _0804D570 - .align 2, 0 -_0804C69C: .4byte gSprites -_0804C6A0: - ldr r2, _0804C6C4 @ =gSprites - adds r0, r4, 0 - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x24] - strh r1, [r5] - adds r1, r4, 0 - adds r1, 0xC4 - movs r0, 0xA - strh r0, [r1] - bl _0804D570 - .align 2, 0 -_0804C6C4: .4byte gSprites -_0804C6C8: - ldr r5, _0804C6F8 @ =gStringVar4 - ldr r1, _0804C6FC @ =gTradeText_WillBeSent - adds r0, r5, 0 - bl StringExpandPlaceholders - ldr r4, _0804C700 @ =gUnknown_03004828 - ldr r1, [r4] - adds r0, r1, 0x4 - adds r1, 0x34 - ldrb r2, [r1] - movs r1, 0xF - str r1, [sp] - adds r1, r5, 0 - movs r3, 0x2 - bl sub_8003460 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xC4 - movs r3, 0 - movs r0, 0xB - bl _0804D40C - .align 2, 0 -_0804C6F8: .4byte gStringVar4 -_0804C6FC: .4byte gTradeText_WillBeSent -_0804C700: .4byte gUnknown_03004828 -_0804C704: - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x50 - beq _0804C718 - bl _0804D570 -_0804C718: - adds r0, r2, 0 - adds r0, 0xB8 - ldrb r0, [r0] - ldr r2, _0804C78C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, _0804C790 @ =0x000fffff - str r2, [sp, 0xC] - movs r2, 0x78 - movs r3, 0x20 - bl sub_8047580 - ldr r1, [r6] - movs r2, 0x81 - lsls r2, 1 - adds r1, r2 - strb r0, [r1] - ldr r0, [r6] - adds r2, r0, 0 - adds r2, 0xC4 - ldrh r1, [r2] - adds r1, 0x1 - strh r1, [r2] - adds r0, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1D - bl ZeroFillWindowRect - ldr r4, _0804C794 @ =gStringVar4 - ldr r1, _0804C798 @ =gTradeText_ByeBye - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, 0x34 - ldrb r2, [r1] - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x2 - bl sub_8003460 - bl _0804D570 - .align 2, 0 -_0804C78C: .4byte gSprites -_0804C790: .4byte 0x000fffff -_0804C794: .4byte gStringVar4 -_0804C798: .4byte gTradeText_ByeBye -_0804C79C: - ldr r7, _0804C810 @ =gSprites - ldr r2, [r6] - movs r5, 0x81 - lsls r5, 1 - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r7, 0 - adds r4, 0x1C - adds r0, r4 - ldr r1, [r0] - ldr r0, _0804C814 @ =SpriteCallbackDummy - cmp r1, r0 - beq _0804C7C0 - bl _0804D570 -_0804C7C0: - adds r0, r2, 0x4 - bl sub_80035AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0804C7D2 - bl _0804D570 -_0804C7D2: - ldr r0, _0804C818 @ =gSpriteTemplate_821595C - movs r1, 0x78 - movs r2, 0x20 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - ldr r2, _0804C81C @ =0x00000103 - adds r1, r2 - strb r0, [r1] - ldr r3, [r6] - adds r2, r3, r2 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _0804C820 @ =sub_804D738 - str r1, [r0] - adds r3, r5 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - bl DestroySprite - ldr r1, [r6] - bl _0804D53C - .align 2, 0 -_0804C810: .4byte gSprites -_0804C814: .4byte SpriteCallbackDummy -_0804C818: .4byte gSpriteTemplate_821595C -_0804C81C: .4byte 0x00000103 -_0804C820: .4byte sub_804D738 -_0804C824: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0804C844 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC4 - movs r1, 0x14 - strh r1, [r0] - bl _0804D570 - .align 2, 0 -_0804C844: .4byte gUnknown_03004828 -_0804C848: - ldr r0, _0804C864 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804C858 - bl _0804D570 -_0804C858: - movs r0, 0x4 - bl sub_804BBE8 - bl _0804D538 - .align 2, 0 -_0804C864: .4byte gPaletteFade -_0804C868: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl _0804D534 -_0804C87A: - ldr r0, _0804C898 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804C88A - bl _0804D570 -_0804C88A: - ldr r0, [r6] - adds r0, 0xC4 - movs r1, 0x17 - strh r1, [r0] - bl _0804D570 - .align 2, 0 -_0804C898: .4byte gPaletteFade -_0804C89C: - ldr r4, _0804C8B8 @ =gUnknown_03004828 - ldr r0, [r4] - movs r3, 0x8D - lsls r3, 1 - adds r2, r0, r3 - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bls _0804C8BC - adds r0, r1, 0 - subs r0, 0x34 - strh r0, [r2] - b _0804C8E0 - .align 2, 0 -_0804C8B8: .4byte gUnknown_03004828 -_0804C8BC: - movs r0, 0x1 - bl sub_804BBE8 - ldr r3, [r4] - movs r7, 0x8D - lsls r7, 1 - adds r1, r3, r7 - movs r2, 0 - movs r0, 0x80 - strh r0, [r1] - adds r1, r3, 0 - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xC0 - str r2, [r0] -_0804C8E0: - ldr r0, _0804C8F0 @ =gUnknown_03004828 - ldr r4, [r0] - movs r1, 0x8D - lsls r1, 1 - adds r0, r4, r1 - bl _0804D16E - .align 2, 0 -_0804C8F0: .4byte gUnknown_03004828 -_0804C8F4: - ldr r1, [r6] - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x14 - bhi _0804C906 - bl _0804D570 -_0804C906: - movs r0, 0x3 - bl sub_804BBE8 - bl sub_804B128 - ldr r0, _0804C928 @ =gSpriteTemplate_8215A80 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - adds r1, 0xBB - strb r0, [r1] - ldr r1, [r6] - bl _0804D53C - .align 2, 0 -_0804C928: .4byte gSpriteTemplate_8215A80 -_0804C92C: - ldr r2, _0804C96C @ =gSprites - ldr r0, [r6] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _0804C94C - bl _0804D570 -_0804C94C: - adds r0, r1, 0 - bl DestroySprite - ldr r1, _0804C970 @ =REG_BLDCNT - movs r3, 0xC8 - lsls r3, 3 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r7, _0804C974 @ =0x0000040c - adds r0, r7, 0 - strh r0, [r1] - ldr r1, [r6] - bl _0804D53C - .align 2, 0 -_0804C96C: .4byte gSprites -_0804C970: .4byte REG_BLDCNT -_0804C974: .4byte 0x0000040c -_0804C978: - ldr r2, [r6] - movs r3, 0x88 - lsls r3, 1 - adds r0, r2, r3 - ldrh r1, [r0] - subs r1, 0x1 - strh r1, [r0] - lsls r1, 16 - movs r0, 0x9E - lsls r0, 17 - cmp r1, r0 - bne _0804C99A - adds r1, r2, 0 - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0804C99A: - ldr r0, [r6] - adds r0, r3 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - beq _0804C9AE - bl _0804D570 -_0804C9AE: - ldr r0, _0804C9C4 @ =gSpriteTemplate_8215A30 - movs r1, 0x80 - movs r2, 0x41 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - adds r1, 0xBC - strb r0, [r1] - bl _0804D570 - .align 2, 0 -_0804C9C4: .4byte gSpriteTemplate_8215A30 -_0804C9C8: - ldr r0, _0804CA0C @ =gSpriteTemplate_82159BC - movs r1, 0x80 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - ldr r4, _0804CA10 @ =gUnknown_03004828 - ldr r1, [r4] - adds r1, 0xBA - strb r0, [r1] - ldr r0, _0804CA14 @ =gSpriteTemplate_82159FC - movs r1, 0x80 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0xBB - strb r0, [r1] - ldr r0, [r4] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804CA18 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r4] - bl _0804D53C - .align 2, 0 -_0804CA0C: .4byte gSpriteTemplate_82159BC -_0804CA10: .4byte gUnknown_03004828 -_0804CA14: .4byte gSpriteTemplate_82159FC -_0804CA18: .4byte gSprites -_0804CA1C: - ldr r2, [r6] - movs r3, 0x88 - lsls r3, 1 - adds r1, r2, r3 - ldrh r0, [r1] - subs r0, 0x2 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA6 - bne _0804CA3A - adds r1, r2, 0 - adds r1, 0xC4 - movs r0, 0xC8 - strh r0, [r1] -_0804CA3A: - movs r0, 0 - bl sub_804C0F8 - movs r1, 0x80 - lsls r1, 19 - ldr r7, _0804CA50 @ =0x00001641 - adds r0, r7, 0 - strh r0, [r1] - bl _0804D570 - .align 2, 0 -_0804CA50: .4byte 0x00001641 -_0804CA54: - ldr r4, _0804CAB0 @ =gSprites - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0xBA - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - adds r2, 0xBB - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - movs r0, 0 - bl sub_804C0F8 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0xBA - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r3, 0x22 - ldrsh r1, [r0, r3] - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _0804CAA4 - bl _0804D570 -_0804CAA4: - adds r1, r2, 0 - adds r1, 0xC4 - movs r0, 0x1D - strh r0, [r1] - bl _0804D570 - .align 2, 0 -_0804CAB0: .4byte gSprites -_0804CAB4: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0804CAD4 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC4 - movs r1, 0x1E - strh r1, [r0] - bl _0804D570 - .align 2, 0 -_0804CAD4: .4byte gUnknown_03004828 -_0804CAD8: - ldr r0, _0804CB1C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804CAE8 - bl _0804D570 -_0804CAE8: - ldr r0, [r6] - adds r0, 0xBA - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0804CB20 @ =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r6] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r0, 0x2 - bl sub_804BBE8 - ldr r1, [r6] - bl _0804D53C - .align 2, 0 -_0804CB1C: .4byte gPaletteFade -_0804CB20: .4byte gSprites -_0804CB24: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r5, _0804CB68 @ =gSpriteTemplate_82159FC - adds r0, r5, 0 - movs r1, 0x6F - movs r2, 0xAA - movs r3, 0 - bl CreateSprite - ldr r4, _0804CB6C @ =gUnknown_03004828 - ldr r1, [r4] - adds r1, 0xBA - strb r0, [r1] - movs r2, 0xA - negs r2, r2 - adds r0, r5, 0 - movs r1, 0x81 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0xBB - strb r0, [r1] - ldr r1, [r4] - bl _0804D53C - .align 2, 0 -_0804CB68: .4byte gSpriteTemplate_82159FC -_0804CB6C: .4byte gUnknown_03004828 -_0804CB70: - ldr r0, _0804CBC0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804CB8E - movs r0, 0x2E - bl PlaySE - ldr r0, _0804CBC4 @ =gUnknown_03004828 - ldr r1, [r0] - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0804CB8E: - ldr r3, _0804CBC8 @ =gSprites - ldr r0, _0804CBC4 @ =gUnknown_03004828 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0xBA - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0xBB - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - bl _0804D570 - .align 2, 0 -_0804CBC0: .4byte gPaletteFade -_0804CBC4: .4byte gUnknown_03004828 -_0804CBC8: .4byte gSprites -_0804CBCC: - ldr r5, _0804CC28 @ =gSprites - ldr r4, [r6] - adds r2, r4, 0 - adds r2, 0xBA - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r6, r4, 0 - adds r6, 0xBB - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r5 - movs r7, 0x26 - ldrsh r1, [r3, r7] - movs r0, 0x5A - negs r0, r0 - cmp r1, r0 - ble _0804CC12 - bl _0804D570 -_0804CC12: - movs r2, 0x1 - strh r2, [r3, 0x30] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x30] - adds r1, r4, 0 - bl _0804D53C - .align 2, 0 -_0804CC28: .4byte gSprites -_0804CC2C: - ldr r2, _0804CC3C @ =0x0000ffff - movs r0, 0x1 - movs r1, 0x10 - bl BlendPalettes - bl _0804D538 - .align 2, 0 -_0804CC3C: .4byte 0x0000ffff -_0804CC40: - ldr r2, _0804CC50 @ =0x0000ffff - movs r0, 0x1 - movs r1, 0 - bl BlendPalettes - bl _0804D538 - .align 2, 0 -_0804CC50: .4byte 0x0000ffff -_0804CC54: - ldr r2, _0804CC64 @ =0x0000ffff - movs r0, 0x1 - movs r1, 0x10 - bl BlendPalettes - bl _0804D538 - .align 2, 0 -_0804CC64: .4byte 0x0000ffff -_0804CC68: - ldr r5, _0804CCD8 @ =gUnknown_03004828 - ldr r0, [r5] - movs r1, 0x90 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_8040A3C - lsls r0, 24 - cmp r0, 0 - bne _0804CCE4 - ldr r4, _0804CCDC @ =gSprites - ldr r2, [r5] - adds r2, 0xB8 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x10 - adds r0, r1 - ldr r1, _0804CCE0 @ =gSpriteAffineAnimTable_8215AC0 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r0, [r5] - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - ldr r0, [r5] - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - b _0804CCFA - .align 2, 0 -_0804CCD8: .4byte gUnknown_03004828 -_0804CCDC: .4byte gSprites -_0804CCE0: .4byte gSpriteAffineAnimTable_8215AC0 -_0804CCE4: - ldr r0, [r5] - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804CD88 @ =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAffineAnim -_0804CCFA: - ldr r5, _0804CD8C @ =gUnknown_03004828 - ldr r0, [r5] - adds r0, 0xB9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0804CD88 @ =gSprites - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r2, [r5] - adds r3, r2, 0 - adds r3, 0xB8 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x3C - strh r1, [r0, 0x20] - adds r2, 0xB9 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xB4 - strh r1, [r0, 0x20] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xC0 - strh r1, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _0804CD90 @ =0x0000ffe0 - strh r1, [r0, 0x22] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0xB9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - ldr r1, [r5] - bl _0804D53C - .align 2, 0 -_0804CD88: .4byte gSprites -_0804CD8C: .4byte gUnknown_03004828 -_0804CD90: .4byte 0x0000ffe0 -_0804CD94: - ldr r4, _0804CE5C @ =gSprites - ldr r2, [r6] - adds r3, r2, 0 - adds r3, 0xB8 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - movs r5, 0 - strh r1, [r0, 0x26] - adds r2, 0xB9 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x26] - adds r0, 0xA3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0804CDDC - movs r0, 0x2D - bl PlaySE -_0804CDDC: - ldr r2, [r6] - adds r3, r2, 0 - adds r3, 0xB8 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r7, 0x26 - ldrsh r1, [r0, r7] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - blt _0804CDFA - b _0804D570 -_0804CDFA: - adds r0, r2, 0 - adds r0, 0xBA - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r0, r2, 0 - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r1, r2, 0 - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0xB9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r2, _0804CE60 @ =0x0000ffff - movs r0, 0x1 - movs r1, 0 - bl BlendPalettes - b _0804D570 - .align 2, 0 -_0804CE5C: .4byte gSprites -_0804CE60: .4byte 0x0000ffff -_0804CE64: - ldr r4, _0804CEE8 @ =gSprites - ldr r2, [r6] - adds r3, r2, 0 - adds r3, 0xBA - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0xBB - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r2, 0x26 - ldrsh r1, [r0, r2] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - ble _0804CEA6 - b _0804D570 -_0804CEA6: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0xC4 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0xBA - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r0, [r6] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - b _0804D570 - .align 2, 0 -_0804CEE8: .4byte gSprites -_0804CEEC: - ldr r0, _0804CF58 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804CEFA - b _0804D570 -_0804CEFA: - ldr r1, [r6] - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x1 - bl sub_804BBE8 - ldr r0, [r6] - movs r3, 0x88 - lsls r3, 1 - adds r0, r3 - movs r1, 0xA6 - strh r1, [r0] - ldr r0, _0804CF5C @ =gSpriteTemplate_82159BC - movs r4, 0x14 - negs r4, r4 - movs r1, 0x80 - adds r2, r4, 0 - movs r3, 0x3 - bl CreateSprite - ldr r1, [r6] - adds r1, 0xBA - strb r0, [r1] - ldr r0, _0804CF60 @ =gSpriteTemplate_82159FC - movs r1, 0x80 - adds r2, r4, 0 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - adds r1, 0xBB - strb r0, [r1] - ldr r0, [r6] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804CF64 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - b _0804D570 - .align 2, 0 -_0804CF58: .4byte gPaletteFade -_0804CF5C: .4byte gSpriteTemplate_82159BC -_0804CF60: .4byte gSpriteTemplate_82159FC -_0804CF64: .4byte gSprites -_0804CF68: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - b _0804D534 -_0804CF78: - movs r1, 0x80 - lsls r1, 19 - ldr r7, _0804CF98 @ =0x00001641 - adds r0, r7, 0 - strh r0, [r1] - movs r0, 0x1 - bl sub_804C0F8 - ldr r0, _0804CF9C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804CF96 - b _0804D570 -_0804CF96: - b _0804D538 - .align 2, 0 -_0804CF98: .4byte 0x00001641 -_0804CF9C: .4byte gPaletteFade -_0804CFA0: - movs r0, 0x1 - bl sub_804C0F8 - ldr r2, _0804CFF4 @ =gSprites - ldr r0, _0804CFF8 @ =gUnknown_03004828 - ldr r3, [r0] - adds r4, r3, 0 - adds r4, 0xBA - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - adds r0, r3, 0 - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r2, 0x26 - ldrsh r1, [r0, r2] - movs r7, 0x22 - ldrsh r0, [r0, r7] - adds r1, r0 - cmp r1, 0x40 - beq _0804CFEE - b _0804D570 -_0804CFEE: - adds r1, r3, 0 - b _0804D53C - .align 2, 0 -_0804CFF4: .4byte gSprites -_0804CFF8: .4byte gUnknown_03004828 -_0804CFFC: - movs r0, 0x1 - bl sub_804C0F8 - ldr r0, _0804D024 @ =gUnknown_03004828 - ldr r1, [r0] - movs r0, 0x88 - lsls r0, 1 - adds r2, r1, r0 - ldrh r0, [r2] - adds r0, 0x2 - strh r0, [r2] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x9E - lsls r3, 1 - cmp r0, r3 - bgt _0804D020 - b _0804D570 -_0804D020: - strh r3, [r2] - b _0804D53C - .align 2, 0 -_0804D024: .4byte gUnknown_03004828 -_0804D028: - ldr r0, [r6] - adds r0, 0xBA - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0804D050 @ =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r6] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - b _0804D400 - .align 2, 0 -_0804D050: .4byte gSprites -_0804D054: - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0xA - beq _0804D066 - b _0804D570 -_0804D066: - adds r1, 0x4 - b _0804D53E -_0804D06A: - ldr r1, [r6] - movs r4, 0x88 - lsls r4, 1 - adds r2, r1, r4 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - asrs r0, 16 - movs r3, 0xAE - lsls r3, 1 - cmp r0, r3 - ble _0804D08E - strh r3, [r2] - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0804D08E: - ldr r0, [r6] - adds r0, r4 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - bne _0804D0B0 - ldr r0, _0804D0C8 @ =gSpriteTemplate_8215A30 - movs r1, 0x80 - movs r2, 0x41 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - adds r1, 0xBC - strb r0, [r1] -_0804D0B0: - ldr r2, _0804D0CC @ =gSprites - ldr r0, [r6] - adds r0, 0xBC - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _0804D0D0 @ =sub_804B0E0 - str r1, [r0] - b _0804D570 - .align 2, 0 -_0804D0C8: .4byte gSpriteTemplate_8215A30 -_0804D0CC: .4byte gSprites -_0804D0D0: .4byte sub_804B0E0 -_0804D0D4: - ldr r0, _0804D0F4 @ =gSpriteTemplate_8215A80 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r2, _0804D0F8 @ =gUnknown_03004828 - ldr r1, [r2] - adds r1, 0xBB - strb r0, [r1] - ldr r0, [r2] - adds r0, 0xC4 - movs r1, 0x32 - strh r1, [r0] - b _0804D570 - .align 2, 0 -_0804D0F4: .4byte gSpriteTemplate_8215A80 -_0804D0F8: .4byte gUnknown_03004828 -_0804D0FC: - ldr r2, _0804D138 @ =gSprites - ldr r0, [r6] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _0804D11A - b _0804D570 -_0804D11A: - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x6 - bl sub_804BBE8 - ldr r1, [r6] - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x9F - bl PlaySE - b _0804D570 - .align 2, 0 -_0804D138: .4byte gSprites -_0804D13C: - ldr r1, [r6] - movs r3, 0x8D - lsls r3, 1 - adds r2, r1, r3 - ldrh r3, [r2] - ldr r0, _0804D154 @ =0x000003ff - cmp r3, r0 - bhi _0804D158 - adds r0, r3, 0 - adds r0, 0x34 - strh r0, [r2] - b _0804D166 - .align 2, 0 -_0804D154: .4byte 0x000003ff -_0804D158: - movs r0, 0x80 - lsls r0, 3 - strh r0, [r2] - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0804D166: - ldr r4, [r6] - movs r7, 0x8D - lsls r7, 1 - adds r0, r4, r7 -_0804D16E: - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - movs r2, 0x8C - lsls r2, 1 - adds r1, r4, r2 - strh r0, [r1] - b _0804D570 -_0804D182: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0804D1A0 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC4 - movs r1, 0x3C - strh r1, [r0] - b _0804D570 - .align 2, 0 -_0804D1A0: .4byte gUnknown_03004828 -_0804D1A4: - ldr r0, _0804D1C0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804D1B2 - b _0804D570 -_0804D1B2: - movs r0, 0x5 - bl sub_804BBE8 - movs r0, 0x7 - bl sub_804BBE8 - b _0804D538 - .align 2, 0 -_0804D1C0: .4byte gPaletteFade -_0804D1C4: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - b _0804D534 -_0804D1D2: - movs r1, 0x80 - lsls r1, 19 - movs r3, 0xA2 - lsls r3, 5 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _0804D1F0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804D1EC - b _0804D570 -_0804D1EC: - ldr r1, [r6] - b _0804D53C - .align 2, 0 -_0804D1F0: .4byte gPaletteFade -_0804D1F4: - ldr r0, _0804D290 @ =gSpriteTemplate_821595C - movs r2, 0x8 - negs r2, r2 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - ldr r6, _0804D294 @ =gUnknown_03004828 - ldr r1, [r6] - ldr r5, _0804D298 @ =0x00000103 - adds r1, r5 - movs r7, 0 - mov r8, r7 - strb r0, [r1] - ldr r4, _0804D29C @ =gSprites - ldr r2, [r6] - adds r2, r5 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x4A - strh r1, [r0, 0x34] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _0804D2A0 @ =sub_804D80C - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r2, _0804D2A4 @ =0x0000ffff - movs r1, 0x10 - bl BlendPalettes - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0xC4 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0xC0 - mov r0, r8 - str r0, [r1] - b _0804D570 - .align 2, 0 -_0804D290: .4byte gSpriteTemplate_821595C -_0804D294: .4byte gUnknown_03004828 -_0804D298: .4byte 0x00000103 -_0804D29C: .4byte gSprites -_0804D2A0: .4byte sub_804D80C -_0804D2A4: .4byte 0x0000ffff -_0804D2A8: - ldr r2, _0804D2D8 @ =gSprites - ldr r0, [r6] - ldr r1, _0804D2DC @ =0x00000103 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r1, _0804D2E0 @ =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r6] - b _0804D53C - .align 2, 0 -_0804D2D8: .4byte gSprites -_0804D2DC: .4byte 0x00000103 -_0804D2E0: .4byte 0x0000ffff -_0804D2E4: - ldr r2, _0804D308 @ =gSprites - ldr r3, [r6] - ldr r7, _0804D30C @ =0x00000103 - adds r0, r3, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _0804D310 @ =SpriteCallbackDummy - cmp r1, r0 - beq _0804D302 - b _0804D570 -_0804D302: - adds r1, r3, 0 - b _0804D53C - .align 2, 0 -_0804D308: .4byte gSprites -_0804D30C: .4byte 0x00000103 -_0804D310: .4byte SpriteCallbackDummy -_0804D314: - ldr r4, _0804D3B4 @ =gSprites - ldr r0, [r6] - mov r8, r0 - mov r5, r8 - adds r5, 0xB9 - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r3, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - ldrb r0, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldr r2, _0804D3B8 @ =gMonFrontPicCoords - movs r0, 0x91 - lsls r0, 1 - add r0, r8 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - adds r0, 0x3C - strh r0, [r1, 0x22] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r3, [r0, 0x24] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r3, [r0, 0x26] - ldrb r0, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, _0804D3BC @ =0x000fffff - str r2, [sp, 0xC] - movs r2, 0x78 - movs r3, 0x54 - bl CreatePokeballSprite - ldr r0, [r6] - ldr r5, _0804D3C0 @ =0x00000103 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldr r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r1, [r6] - b _0804D53C - .align 2, 0 -_0804D3B4: .4byte gSprites -_0804D3B8: .4byte gMonFrontPicCoords -_0804D3BC: .4byte 0x000fffff -_0804D3C0: .4byte 0x00000103 -_0804D3C4: - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xBA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, [r6] - adds r0, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1D - bl ZeroFillWindowRect - ldr r4, _0804D414 @ =gStringVar4 - ldr r1, _0804D418 @ =gTradeText_SentOverPoke - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, 0x34 - ldrb r2, [r1] - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x2 - bl sub_8003460 -_0804D400: - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0xC4 - ldrh r0, [r2] - adds r0, 0x1 - movs r3, 0 -_0804D40C: - strh r0, [r2] - adds r1, 0xC0 - str r3, [r1] - b _0804D570 - .align 2, 0 -_0804D414: .4byte gStringVar4 -_0804D418: .4byte gTradeText_SentOverPoke -_0804D41C: - ldr r1, [r6] - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x4 - bne _0804D430 - ldr r0, _0804D480 @ =0x00000173 - bl PlayFanfare -_0804D430: - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0xC0 - ldr r0, [r0] - cmp r0, 0xF0 - beq _0804D43E - b _0804D570 -_0804D43E: - adds r1, r2, 0 - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - movs r5, 0 - strh r0, [r1] - adds r0, r2, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1D - bl ZeroFillWindowRect - ldr r4, _0804D484 @ =gStringVar4 - ldr r1, _0804D488 @ =gTradeText_TakeGoodCare - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, 0x34 - ldrb r2, [r1] - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x2 - bl sub_8003460 - ldr r0, [r6] - adds r0, 0xC0 - str r5, [r0] - b _0804D570 - .align 2, 0 -_0804D480: .4byte 0x00000173 -_0804D484: .4byte gStringVar4 -_0804D488: .4byte gTradeText_TakeGoodCare -_0804D48C: - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bne _0804D570 - adds r1, 0x4 - b _0804D53E -_0804D4A0: - bl sub_804E1DC - b _0804D538 -_0804D4A6: - ldr r2, [r6] - movs r3, 0x8F - lsls r3, 1 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _0804D4B8 - movs r0, 0x1 - b _0804D572 -_0804D4B8: - ldr r0, _0804D4C8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0804D570 - adds r1, r2, 0 - b _0804D53C - .align 2, 0 -_0804D4C8: .4byte gMain -_0804D4CC: - ldr r0, _0804D510 @ =gUnknown_0202E8CE - ldrb r0, [r0] - movs r1, 0 - bl sub_804BA94 - ldr r1, _0804D514 @ =gUnknown_03005E94 - ldr r0, _0804D518 @ =sub_804BBCC - str r0, [r1] - ldr r7, _0804D51C @ =gUnknown_020297D8 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _0804D520 @ =gPlayerParty - adds r0, r5 - movs r1, 0x1 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0804D538 - ldrb r3, [r7] - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - ldr r1, _0804D524 @ =gUnknown_03004828 - ldr r1, [r1] - adds r1, 0xB9 - ldrb r2, [r1] - adds r1, r4, 0 - bl sub_81120E4 - b _0804D538 - .align 2, 0 -_0804D510: .4byte gUnknown_0202E8CE -_0804D514: .4byte gUnknown_03005E94 -_0804D518: .4byte sub_804BBCC -_0804D51C: .4byte gUnknown_020297D8 -_0804D520: .4byte gPlayerParty -_0804D524: .4byte gUnknown_03004828 -_0804D528: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_0804D534: - bl BeginNormalPaletteFade -_0804D538: - ldr r0, _0804D548 @ =gUnknown_03004828 - ldr r1, [r0] -_0804D53C: - adds r1, 0xC4 -_0804D53E: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0804D570 - .align 2, 0 -_0804D548: .4byte gUnknown_03004828 -_0804D54C: - ldr r0, _0804D580 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804D570 - ldr r0, [r6] - movs r7, 0x92 - lsls r7, 1 - adds r0, r7 - ldrh r0, [r0] - bl PlayBGM - ldr r0, _0804D584 @ =c2_exit_to_overworld_2_switch - bl SetMainCallback2 - bl sub_804D8E4 -_0804D570: - movs r0, 0 -_0804D572: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0804D580: .4byte gPaletteFade -_0804D584: .4byte c2_exit_to_overworld_2_switch - thumb_func_end sub_804C29C - - thumb_func_start sub_804D588 -sub_804D588: @ 804D588 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _0804D5A0 @ =gMain - ldr r2, _0804D5A4 @ =0x0000043c - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _0804D5A8 - cmp r0, 0x4 - beq _0804D5B8 - b _0804D614 - .align 2, 0 -_0804D5A0: .4byte gMain -_0804D5A4: .4byte 0x0000043c -_0804D5A8: - movs r0, 0x4 - strb r0, [r1] - ldr r1, _0804D5B4 @ =gUnknown_3001BB4 - movs r0, 0x1 - b _0804D612 - .align 2, 0 -_0804D5B4: .4byte gUnknown_3001BB4 -_0804D5B8: - ldr r0, _0804D5F4 @ =gUnknown_03005E94 - ldr r1, _0804D5F8 @ =sub_804DC88 - mov r8, r1 - str r1, [r0] - ldr r7, _0804D5FC @ =gUnknown_020297D8 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _0804D600 @ =gPlayerParty - adds r0, r5 - movs r1, 0x1 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0804D608 - ldrb r3, [r7] - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - ldr r1, _0804D604 @ =gUnknown_03004828 - ldr r1, [r1] - adds r1, 0xB9 - ldrb r2, [r1] - adds r1, r4, 0 - bl sub_81120E4 - b _0804D60E - .align 2, 0 -_0804D5F4: .4byte gUnknown_03005E94 -_0804D5F8: .4byte sub_804DC88 -_0804D5FC: .4byte gUnknown_020297D8 -_0804D600: .4byte gPlayerParty -_0804D604: .4byte gUnknown_03004828 -_0804D608: - mov r0, r8 - bl SetMainCallback2 -_0804D60E: - ldr r1, _0804D638 @ =gUnknown_020297D8 - movs r0, 0xFF -_0804D612: - strb r0, [r1] -_0804D614: - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - bne _0804D622 - bl RunTasks -_0804D622: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804D638: .4byte gUnknown_020297D8 - thumb_func_end sub_804D588 - - thumb_func_start sub_804D63C -sub_804D63C: @ 804D63C - push {r4-r6,lr} - bl sub_804B2B0 - bl GetBlockRecievedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0x1 - adds r0, r5, 0 - ands r0, r6 - cmp r0, 0 - beq _0804D67A - ldr r4, _0804D6A8 @ =gBlockRecvBuffer - ldrh r1, [r4] - ldr r0, _0804D6AC @ =0x0000dcba - cmp r1, r0 - bne _0804D664 - ldr r0, _0804D6B0 @ =sub_804D588 - bl SetMainCallback2 -_0804D664: - ldrh r1, [r4] - ldr r0, _0804D6B4 @ =0x0000abcd - cmp r1, r0 - bne _0804D674 - ldr r0, _0804D6B8 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0x9C - strb r6, [r0] -_0804D674: - movs r0, 0 - bl ResetBlockReceivedFlag -_0804D67A: - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _0804D6A2 - ldr r0, _0804D6A8 @ =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldrh r1, [r0] - ldr r0, _0804D6B4 @ =0x0000abcd - cmp r1, r0 - bne _0804D69C - ldr r0, _0804D6B8 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0x9D - movs r1, 0x1 - strb r1, [r0] -_0804D69C: - movs r0, 0x1 - bl ResetBlockReceivedFlag -_0804D6A2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804D6A8: .4byte gBlockRecvBuffer -_0804D6AC: .4byte 0x0000dcba -_0804D6B0: .4byte sub_804D588 -_0804D6B4: .4byte 0x0000abcd -_0804D6B8: .4byte gUnknown_03004828 - thumb_func_end sub_804D63C - - thumb_func_start sub_804D6BC -sub_804D6BC: @ 804D6BC - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r1, 0xA - bl __divsi3 - ldrh r4, [r5, 0x22] - adds r4, r0 - strh r4, [r5, 0x22] - ldrh r0, [r5, 0x30] - ldrh r2, [r5, 0x38] - adds r0, r2 - strh r0, [r5, 0x38] - movs r1, 0x38 - ldrsh r0, [r5, r1] - movs r1, 0xA - bl __divsi3 - strh r0, [r5, 0x20] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0x4C - ble _0804D70A - movs r0, 0x4C - strh r0, [r5, 0x22] - movs r2, 0x2E - ldrsh r1, [r5, r2] - movs r2, 0x32 - ldrsh r0, [r5, r2] - muls r0, r1 - negs r0, r0 - movs r1, 0x64 - bl __divsi3 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] -_0804D70A: - movs r1, 0x20 - ldrsh r0, [r5, r1] - cmp r0, 0x78 - bne _0804D716 - movs r0, 0 - strh r0, [r5, 0x30] -_0804D716: - ldrh r0, [r5, 0x36] - ldrh r2, [r5, 0x2E] - adds r0, r2 - strh r0, [r5, 0x2E] - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bne _0804D72E - movs r0, 0x1 - strh r0, [r5, 0x3C] - ldr r0, _0804D734 @ =SpriteCallbackDummy - str r0, [r5, 0x1C] -_0804D72E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804D734: .4byte SpriteCallbackDummy - thumb_func_end sub_804D6BC - - thumb_func_start sub_804D738 -sub_804D738: @ 804D738 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, _0804D7A0 @ =gTradeBallVerticalVelocityTable - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x16 - bne _0804D760 - movs r0, 0x38 - bl PlaySE -_0804D760: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2C - bne _0804D796 - movs r0, 0x8C - bl PlaySE - ldr r0, _0804D7A4 @ =sub_804D7AC - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x2E] - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - movs r1, 0x1 - negs r1, r1 - ldr r2, _0804D7A8 @ =0x0000ffff - str r2, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0804D796: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804D7A0: .4byte gTradeBallVerticalVelocityTable -_0804D7A4: .4byte sub_804D7AC -_0804D7A8: .4byte 0x0000ffff - thumb_func_end sub_804D738 - - thumb_func_start sub_804D7AC -sub_804D7AC: @ 804D7AC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x14 - bne _0804D7C0 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_0804D7C0: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _0804D7FE - ldr r1, _0804D804 @ =gTradeBallVerticalVelocityTable - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrh r0, [r4, 0x26] - subs r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x17 - bne _0804D7FE - adds r0, r4, 0 - bl DestroySprite - ldr r0, _0804D808 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC4 - movs r1, 0xE - strh r1, [r0] -_0804D7FE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804D804: .4byte gTradeBallVerticalVelocityTable -_0804D808: .4byte gUnknown_03004828 - thumb_func_end sub_804D7AC - - thumb_func_start sub_804D80C -sub_804D80C: @ 804D80C - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0804D83C - ldrh r0, [r4, 0x22] - adds r0, 0x4 - strh r0, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x34 - ldrsh r1, [r4, r3] - cmp r0, r1 - ble _0804D88C - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r0, 0x16 - strh r0, [r4, 0x2E] - movs r0, 0x38 - bl PlaySE - b _0804D88C -_0804D83C: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x42 - bne _0804D84A - movs r0, 0x39 - bl PlaySE -_0804D84A: - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x5C - bne _0804D858 - movs r0, 0x3A - bl PlaySE -_0804D858: - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r0, 0x6B - bne _0804D866 - movs r0, 0x3B - bl PlaySE -_0804D866: - ldr r1, _0804D894 @ =gTradeBallVerticalVelocityTable - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r3, [r4, 0x26] - adds r0, r3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6C - bne _0804D88C - ldr r0, _0804D898 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0804D88C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804D894: .4byte gTradeBallVerticalVelocityTable -_0804D898: .4byte SpriteCallbackDummy - thumb_func_end sub_804D80C - - thumb_func_start sub_804D89C -sub_804D89C: @ 804D89C - push {r4-r6,lr} - ldr r0, _0804D8D0 @ =gUnknown_0202E8CC - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, _0804D8D4 @ =gIngameTrades - adds r4, r0 - ldr r0, _0804D8D8 @ =gStringVar1 - ldrh r1, [r4, 0x38] - movs r6, 0xB - muls r1, r6 - ldr r5, _0804D8DC @ =gSpeciesNames - adds r1, r5 - bl StringCopy - ldr r0, _0804D8E0 @ =gStringVar2 - ldrh r1, [r4, 0xC] - muls r1, r6 - adds r1, r5 - bl StringCopy - ldrh r0, [r4, 0x38] - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0804D8D0: .4byte gUnknown_0202E8CC -_0804D8D4: .4byte gIngameTrades -_0804D8D8: .4byte gStringVar1 -_0804D8DC: .4byte gSpeciesNames -_0804D8E0: .4byte gStringVar2 - thumb_func_end sub_804D89C - - thumb_func_start sub_804D8E4 -sub_804D8E4: @ 804D8E4 - push {r4,lr} - sub sp, 0x20 - ldr r0, _0804D92C @ =gUnknown_0202E8CC - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, _0804D930 @ =gIngameTrades - adds r4, r0 - ldr r0, _0804D934 @ =gUnknown_0202E8CE - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0804D938 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, _0804D93C @ =gStringVar1 - mov r1, sp - bl StringCopy10 - ldr r0, _0804D940 @ =gStringVar2 - ldrh r2, [r4, 0xC] - movs r1, 0xB - muls r1, r2 - ldr r2, _0804D944 @ =gSpeciesNames - adds r1, r2 - bl StringCopy - add sp, 0x20 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804D92C: .4byte gUnknown_0202E8CC -_0804D930: .4byte gIngameTrades -_0804D934: .4byte gUnknown_0202E8CE -_0804D938: .4byte gPlayerParty -_0804D93C: .4byte gStringVar1 -_0804D940: .4byte gStringVar2 -_0804D944: .4byte gSpeciesNames - thumb_func_end sub_804D8E4 - - thumb_func_start sub_804D948 -sub_804D948: @ 804D948 - push {r4-r7,lr} - sub sp, 0x38 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r1, 4 - subs r2, r1 - lsls r2, 2 - ldr r1, _0804DAA4 @ =gIngameTrades - adds r5, r2, r1 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0804DAA8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x38 - bl GetMonData - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - add r4, sp, 0x34 - movs r0, 0xFE - strb r0, [r4] - ldr r6, _0804DAAC @ =gEnemyParty - ldrh r1, [r5, 0xC] - movs r3, 0x1 - str r3, [sp] - ldr r0, [r5, 0x24] - str r0, [sp, 0x4] - str r3, [sp, 0x8] - ldr r0, [r5, 0x18] - str r0, [sp, 0xC] - adds r0, r6, 0 - movs r3, 0x20 - bl CreateMon - adds r2, r5, 0 - adds r2, 0xE - adds r0, r6, 0 - movs r1, 0x27 - bl SetMonData - adds r2, r5, 0 - adds r2, 0xF - adds r0, r6, 0 - movs r1, 0x28 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x10 - adds r0, r6, 0 - movs r1, 0x29 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x11 - adds r0, r6, 0 - movs r1, 0x2A - bl SetMonData - adds r2, r5, 0 - adds r2, 0x12 - adds r0, r6, 0 - movs r1, 0x2B - bl SetMonData - adds r2, r5, 0 - adds r2, 0x13 - adds r0, r6, 0 - movs r1, 0x2C - bl SetMonData - adds r0, r6, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x2B - adds r0, r6, 0 - movs r1, 0x7 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x36 - adds r0, r6, 0 - movs r1, 0x31 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x14 - adds r0, r6, 0 - movs r1, 0x2E - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1D - adds r0, r6, 0 - movs r1, 0x17 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1E - adds r0, r6, 0 - movs r1, 0x18 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1C - adds r0, r6, 0 - movs r1, 0x16 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1F - adds r0, r6, 0 - movs r1, 0x21 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x20 - adds r0, r6, 0 - movs r1, 0x2F - bl SetMonData - adds r2, r5, 0 - adds r2, 0x37 - adds r0, r6, 0 - movs r1, 0x30 - bl SetMonData - adds r0, r6, 0 - movs r1, 0x23 - adds r2, r4, 0 - bl SetMonData - mov r4, sp - adds r4, 0x35 - movs r0, 0 - strb r0, [r4] - ldrh r0, [r5, 0x28] - cmp r0, 0 - beq _0804DAC0 - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _0804DAB4 - add r0, sp, 0x10 - adds r1, r5, 0 - bl sub_804DAD4 - ldr r0, _0804DAB0 @ =gUnknown_02029700 - add r1, sp, 0x10 - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - adds r0, r6, 0 - movs r1, 0x40 - adds r2, r4, 0 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x28 - adds r0, r6, 0 - movs r1, 0xC - bl SetMonData - b _0804DAC0 - .align 2, 0 -_0804DAA4: .4byte gIngameTrades -_0804DAA8: .4byte gPlayerParty -_0804DAAC: .4byte gEnemyParty -_0804DAB0: .4byte gUnknown_02029700 -_0804DAB4: - adds r2, r5, 0 - adds r2, 0x28 - adds r0, r6, 0 - movs r1, 0xC - bl SetMonData -_0804DAC0: - ldr r0, _0804DAD0 @ =gEnemyParty - bl CalculateMonStats - add sp, 0x38 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804DAD0: .4byte gEnemyParty - thumb_func_end sub_804D948 - - thumb_func_start sub_804DAD4 -sub_804DAD4: @ 804DAD4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r2, _0804DB28 @ =gIngameTradeMail - adds r0, r5, 0 - adds r0, 0x2A - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r2 - adds r1, r4, 0 - movs r3, 0x8 -_0804DAEE: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _0804DAEE - adds r0, r4, 0 - adds r0, 0x12 - adds r1, r5, 0 - adds r1, 0x2B - bl StringCopy - ldr r1, [r5, 0x18] - lsrs r0, r1, 24 - strb r0, [r4, 0x1A] - lsrs r0, r1, 16 - strb r0, [r4, 0x1B] - lsrs r0, r1, 8 - strb r0, [r4, 0x1C] - strb r1, [r4, 0x1D] - ldrh r0, [r5, 0xC] - strh r0, [r4, 0x1E] - ldrh r0, [r5, 0x28] - strh r0, [r4, 0x20] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804DB28: .4byte gIngameTradeMail - thumb_func_end sub_804DAD4 - - thumb_func_start sub_804DB2C -sub_804DB2C: @ 804DB2C - push {r4-r6,lr} - ldr r6, _0804DB58 @ =gUnknown_0202E8CE - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, _0804DB5C @ =gPlayerParty - adds r0, r4 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0804DB60 - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - b _0804DB62 - .align 2, 0 -_0804DB58: .4byte gUnknown_0202E8CE -_0804DB5C: .4byte gPlayerParty -_0804DB60: - movs r0, 0 -_0804DB62: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_804DB2C - - thumb_func_start sub_804DB68 -sub_804DB68: @ 804DB68 - push {lr} - ldr r0, _0804DB7C @ =gUnknown_0202E8CE - ldrb r0, [r0] - ldr r1, _0804DB80 @ =gUnknown_0202E8CC - ldrb r1, [r1] - bl sub_804D948 - pop {r0} - bx r0 - .align 2, 0 -_0804DB7C: .4byte gUnknown_0202E8CE -_0804DB80: .4byte gUnknown_0202E8CC - thumb_func_end sub_804DB68 - - thumb_func_start sub_804DB84 -sub_804DB84: @ 804DB84 - push {r4-r6,lr} - bl sub_804C29C - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - bne _0804DBE6 - ldr r5, _0804DC04 @ =gUnknown_03004828 - ldr r0, [r5] - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0804DC08 @ =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r5] - adds r0, 0xB9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldr r0, _0804DC0C @ =gUnknown_020297D8 - ldrb r4, [r0] - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_804BA94 - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x9E - ldr r1, _0804DC10 @ =0x0000abcd - strh r1, [r2] - adds r0, 0xBD - strb r6, [r0] - ldr r0, _0804DC14 @ =sub_804DC18 - bl SetMainCallback2 -_0804DBE6: - bl sub_804BB78 - bl sub_804D63C - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804DC04: .4byte gUnknown_03004828 -_0804DC08: .4byte gSprites -_0804DC0C: .4byte gUnknown_020297D8 -_0804DC10: .4byte 0x0000abcd -_0804DC14: .4byte sub_804DC18 - thumb_func_end sub_804DB84 - - thumb_func_start sub_804DC18 -sub_804DC18: @ 804DC18 - push {r4,lr} - bl sub_804B2B0 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_804D63C - cmp r4, 0 - bne _0804DC64 - ldr r4, _0804DC7C @ =gUnknown_03004828 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x9C - ldrh r1, [r0] - ldr r0, _0804DC80 @ =0x00000101 - cmp r1, r0 - bne _0804DC64 - adds r1, r2, 0 - adds r1, 0x9E - ldr r0, _0804DC84 @ =0x0000dcba - strh r0, [r1] - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x9E - movs r2, 0x14 - bl SendBlock - ldr r0, [r4] - adds r0, 0x9C - movs r1, 0x2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9D - strb r1, [r0] -_0804DC64: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804DC7C: .4byte gUnknown_03004828 -_0804DC80: .4byte 0x00000101 -_0804DC84: .4byte 0x0000dcba - thumb_func_end sub_804DC18 - - thumb_func_start sub_804DC88 -sub_804DC88: @ 804DC88 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, _0804DCA8 @ =gMain - ldr r2, _0804DCAC @ =0x0000043c - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x65 - bls _0804DC9C - b _0804E11A -_0804DC9C: - lsls r0, 2 - ldr r1, _0804DCB0 @ =_0804DCB4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804DCA8: .4byte gMain -_0804DCAC: .4byte 0x0000043c -_0804DCB0: .4byte _0804DCB4 - .align 2, 0 -_0804DCB4: - .4byte _0804DE4C - .4byte _0804DE9C - .4byte _0804DF14 - .4byte _0804E11A - .4byte _0804DFE0 - .4byte _0804E078 - .4byte _0804E0A0 - .4byte _0804E0BC - .4byte _0804E0E4 - .4byte _0804E10C - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E008 - .4byte _0804E034 - .4byte _0804E04C - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804DF54 - .4byte _0804DF7C - .4byte _0804DF9C - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804DEB4 - .4byte _0804DEF4 -_0804DE4C: - ldr r5, _0804DE88 @ =gUnknown_03004828 - ldr r0, _0804DE8C @ =0x0201f000 - str r0, [r5] - ldr r1, _0804DE90 @ =0x0000043c - adds r2, r1 - ldrb r1, [r2] - adds r1, 0x1 - strb r1, [r2] - adds r0, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1D - bl ZeroFillWindowRect - ldr r4, _0804DE94 @ =gStringVar4 - ldr r1, _0804DE98 @ =gOtherText_LinkStandby2 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r1, [r5] - adds r0, r1, 0x4 - adds r1, 0x34 - ldrb r2, [r1] - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - b _0804DF3E - .align 2, 0 -_0804DE88: .4byte gUnknown_03004828 -_0804DE8C: .4byte 0x0201f000 -_0804DE90: .4byte 0x0000043c -_0804DE94: .4byte gStringVar4 -_0804DE98: .4byte gOtherText_LinkStandby2 -_0804DE9C: - bl sub_80084A4 - ldr r0, _0804DEAC @ =gMain - ldr r2, _0804DEB0 @ =0x0000043c - adds r0, r2 - movs r2, 0 - movs r1, 0x64 - b _0804DFEE - .align 2, 0 -_0804DEAC: .4byte gMain -_0804DEB0: .4byte 0x0000043c -_0804DEB4: - ldr r0, _0804DEE8 @ =gUnknown_03004828 - ldr r0, [r0] - adds r3, r0, 0 - adds r3, 0xC0 - ldr r0, [r3] - adds r0, 0x1 - str r0, [r3] - cmp r0, 0xB4 - bls _0804DED2 - ldr r1, _0804DEEC @ =0x0000043c - adds r0, r2, r1 - movs r2, 0 - movs r1, 0x65 - strb r1, [r0] - str r2, [r3] -_0804DED2: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _0804DEDE - b _0804E11A -_0804DEDE: - ldr r0, _0804DEF0 @ =gMain - ldr r2, _0804DEEC @ =0x0000043c - adds r0, r2 - b _0804DF06 - .align 2, 0 -_0804DEE8: .4byte gUnknown_03004828 -_0804DEEC: .4byte 0x0000043c -_0804DEF0: .4byte gMain -_0804DEF4: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _0804DF00 - b _0804E11A -_0804DF00: - ldr r0, _0804DF0C @ =gMain - ldr r1, _0804DF10 @ =0x0000043c - adds r0, r1 -_0804DF06: - movs r1, 0x2 - strb r1, [r0] - b _0804E11A - .align 2, 0 -_0804DF0C: .4byte gMain -_0804DF10: .4byte 0x0000043c -_0804DF14: - ldr r0, _0804DF48 @ =0x0000043c - adds r1, r2, r0 - movs r0, 0x32 - strb r0, [r1] - ldr r4, _0804DF4C @ =gUnknown_03004828 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1D - bl ZeroFillWindowRect - ldr r2, [r4] - adds r0, r2, 0x4 - ldr r1, _0804DF50 @ =gSystemText_Saving - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] -_0804DF3E: - movs r3, 0x2 - bl sub_8003460 - b _0804E11A - .align 2, 0 -_0804DF48: .4byte 0x0000043c -_0804DF4C: .4byte gUnknown_03004828 -_0804DF50: .4byte gSystemText_Saving -_0804DF54: - bl sub_8047A1C - movs r0, 0x15 - bl sav12_xor_increment - bl sub_8125D80 - ldr r1, _0804DF74 @ =gMain - ldr r2, _0804DF78 @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - b _0804DFF0 - .align 2, 0 -_0804DF74: .4byte gMain -_0804DF78: .4byte 0x0000043c -_0804DF7C: - ldr r0, _0804DF94 @ =gUnknown_03004828 - ldr r1, [r0] - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x5 - beq _0804DF8E - b _0804E11A -_0804DF8E: - ldr r0, _0804DF98 @ =0x0000043c - adds r1, r2, r0 - b _0804E0FA - .align 2, 0 -_0804DF94: .4byte gUnknown_03004828 -_0804DF98: .4byte 0x0000043c -_0804DF9C: - bl sub_8125DA8 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0804DFC0 - bl sub_8047A34 - ldr r0, _0804DFB8 @ =gMain - ldr r1, _0804DFBC @ =0x0000043c - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - b _0804E11A - .align 2, 0 -_0804DFB8: .4byte gMain -_0804DFBC: .4byte 0x0000043c -_0804DFC0: - ldr r0, _0804DFD4 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC0 - str r1, [r0] - ldr r0, _0804DFD8 @ =gMain - ldr r2, _0804DFDC @ =0x0000043c - adds r0, r2 - movs r1, 0x33 - strb r1, [r0] - b _0804E11A - .align 2, 0 -_0804DFD4: .4byte gUnknown_03004828 -_0804DFD8: .4byte gMain -_0804DFDC: .4byte 0x0000043c -_0804DFE0: - bl sub_8125DDC - ldr r0, _0804DFFC @ =gMain - ldr r1, _0804E000 @ =0x0000043c - adds r0, r1 - movs r2, 0 - movs r1, 0x28 -_0804DFEE: - strb r1, [r0] -_0804DFF0: - ldr r0, _0804E004 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC0 - str r2, [r0] - b _0804E11A - .align 2, 0 -_0804DFFC: .4byte gMain -_0804E000: .4byte 0x0000043c -_0804E004: .4byte gUnknown_03004828 -_0804E008: - ldr r0, _0804E02C @ =gUnknown_03004828 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x32 - bhi _0804E01C - b _0804E11A -_0804E01C: - movs r0, 0 - str r0, [r1] - ldr r0, _0804E030 @ =0x0000043c - adds r1, r2, r0 - movs r0, 0x29 - strb r0, [r1] - b _0804E11A - .align 2, 0 -_0804E02C: .4byte gUnknown_03004828 -_0804E030: .4byte 0x0000043c -_0804E034: - bl sub_80084A4 - ldr r0, _0804E044 @ =gMain - ldr r1, _0804E048 @ =0x0000043c - adds r0, r1 - movs r1, 0x2A - strb r1, [r0] - b _0804E11A - .align 2, 0 -_0804E044: .4byte gMain -_0804E048: .4byte 0x0000043c -_0804E04C: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _0804E11A - bl sub_8125E04 - ldr r1, _0804E06C @ =gUnknown_3001BB4 - movs r0, 0 - strb r0, [r1] - ldr r0, _0804E070 @ =gMain - ldr r2, _0804E074 @ =0x0000043c - adds r0, r2 - movs r1, 0x5 - strb r1, [r0] - b _0804E11A - .align 2, 0 -_0804E06C: .4byte gUnknown_3001BB4 -_0804E070: .4byte gMain -_0804E074: .4byte 0x0000043c -_0804E078: - ldr r0, _0804E098 @ =gUnknown_03004828 - ldr r1, [r0] - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bls _0804E11A - ldr r0, _0804E09C @ =0x0000043c - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_80084A4 - b _0804E11A - .align 2, 0 -_0804E098: .4byte gUnknown_03004828 -_0804E09C: .4byte 0x0000043c -_0804E0A0: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _0804E11A - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0804E0F4 -_0804E0BC: - ldr r0, _0804E0D8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804E11A - movs r0, 0x3 - bl FadeOutBGM - ldr r1, _0804E0DC @ =gMain - ldr r0, _0804E0E0 @ =0x0000043c - adds r1, r0 - b _0804E0FA - .align 2, 0 -_0804E0D8: .4byte gPaletteFade -_0804E0DC: .4byte gMain -_0804E0E0: .4byte 0x0000043c -_0804E0E4: - bl IsBGMStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0804E11A - bl sub_800832C -_0804E0F4: - ldr r1, _0804E104 @ =gMain - ldr r2, _0804E108 @ =0x0000043c - adds r1, r2 -_0804E0FA: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804E11A - .align 2, 0 -_0804E104: .4byte gMain -_0804E108: .4byte 0x0000043c -_0804E10C: - ldr r0, _0804E13C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0804E11A - ldr r0, _0804E140 @ =sub_804E144 - bl SetMainCallback2 -_0804E11A: - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - bne _0804E128 - bl RunTasks -_0804E128: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804E13C: .4byte gReceivedRemoteLinkPlayers -_0804E140: .4byte sub_804E144 - thumb_func_end sub_804DC88 - - thumb_func_start sub_804E144 -sub_804E144: @ 804E144 - push {lr} - ldr r0, _0804E16C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804E158 - ldr r0, _0804E170 @ =sub_8047CD8 - bl SetMainCallback2 -_0804E158: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - .align 2, 0 -_0804E16C: .4byte gPaletteFade -_0804E170: .4byte sub_8047CD8 - thumb_func_end sub_804E144 - - thumb_func_start sub_804E174 -sub_804E174: @ 804E174 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _0804E19C @ =sub_804E1A0 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0804E19C: .4byte sub_804E1A0 - thumb_func_end sub_804E174 - - thumb_func_start sub_804E1A0 -sub_804E1A0: @ 804E1A0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0804E1CC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804E1C4 - ldr r0, _0804E1D0 @ =sub_804B790 - bl SetMainCallback2 - ldr r1, _0804E1D4 @ =gUnknown_0300485C - ldr r0, _0804E1D8 @ =sub_8080990 - str r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0804E1C4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804E1CC: .4byte gPaletteFade -_0804E1D0: .4byte sub_804B790 -_0804E1D4: .4byte gUnknown_0300485C -_0804E1D8: .4byte sub_8080990 - thumb_func_end sub_804E1A0 - - thumb_func_start sub_804E1DC -sub_804E1DC: @ 804E1DC - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0804E1E2: - ldr r0, _0804E220 @ =gUnknown_020297D8 - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0804E224 @ =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x43 - bl GetMonData - adds r0, r5, r0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xB - bls _0804E1E2 - cmp r5, 0 - beq _0804E21A - ldr r0, _0804E228 @ =0x0000083b - bl FlagSet -_0804E21A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804E220: .4byte gUnknown_020297D8 -_0804E224: .4byte gEnemyParty -_0804E228: .4byte 0x0000083b - thumb_func_end sub_804E1DC - - thumb_func_start sub_804E22C -sub_804E22C: @ 804E22C - push {r4,lr} - ldr r0, _0804E26C @ =gUnknown_08D00000 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r0, _0804E270 @ =gUnknown_08D00524 - ldr r4, _0804E274 @ =0x02000000 - movs r2, 0x80 - lsls r2, 4 - adds r1, r4, 0 - bl CpuSet - ldr r1, _0804E278 @ =0x06002800 - ldr r0, _0804E27C @ =0x040000d4 - str r4, [r0] - str r1, [r0, 0x4] - ldr r1, _0804E280 @ =0x80000280 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _0804E284 @ =gUnknown_08D004E0 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r1, _0804E288 @ =REG_BG1CNT - ldr r2, _0804E28C @ =0x00000502 - adds r0, r2, 0 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804E26C: .4byte gUnknown_08D00000 -_0804E270: .4byte gUnknown_08D00524 -_0804E274: .4byte 0x02000000 -_0804E278: .4byte 0x06002800 -_0804E27C: .4byte 0x040000d4 -_0804E280: .4byte 0x80000280 -_0804E284: .4byte gUnknown_08D004E0 -_0804E288: .4byte REG_BG1CNT -_0804E28C: .4byte 0x00000502 - thumb_func_end sub_804E22C - - thumb_func_start sub_804E290 -sub_804E290: @ 804E290 - push {lr} - ldr r0, _0804E2B0 @ =gMPlay_SE2 - ldr r1, _0804E2B4 @ =0x0000ffff - ldr r2, _0804E2B8 @ =gUnknown_03004854 - ldr r2, [r2] - adds r2, 0x56 - movs r3, 0 - ldrsh r2, [r2, r3] - subs r2, 0x80 - lsls r2, 17 - asrs r2, 16 - bl m4aMPlayPitchControl - pop {r0} - bx r0 - .align 2, 0 -_0804E2B0: .4byte gMPlay_SE2 -_0804E2B4: .4byte 0x0000ffff -_0804E2B8: .4byte gUnknown_03004854 - thumb_func_end sub_804E290 - - thumb_func_start sub_804E2BC -sub_804E2BC: @ 804E2BC - push {lr} - bl sub_80514A4 - bl sub_80514F0 - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_804E2BC - - thumb_func_start sub_804E2D8 -sub_804E2D8: @ 804E2D8 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_804E2D8 - - thumb_func_start sub_804E2EC -sub_804E2EC: @ 804E2EC - push {r4-r7,lr} - ldr r1, _0804E308 @ =gUnknown_03004854 - ldr r0, [r1] - ldrb r0, [r0, 0x1] - mov r12, r1 - cmp r0, 0x9 - bls _0804E2FC - b _0804E4F4 -_0804E2FC: - lsls r0, 2 - ldr r1, _0804E30C @ =_0804E310 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804E308: .4byte gUnknown_03004854 -_0804E30C: .4byte _0804E310 - .align 2, 0 -_0804E310: - .4byte _0804E338 - .4byte _0804E34C - .4byte _0804E380 - .4byte _0804E3C4 - .4byte _0804E3D8 - .4byte _0804E3EC - .4byte _0804E410 - .4byte _0804E434 - .4byte _0804E48C - .4byte _0804E4BC -_0804E338: - ldr r0, _0804E344 @ =gUnknown_08E6C100 - ldr r1, _0804E348 @ =0x02010000 - bl sub_800D238 - b _0804E49E - .align 2, 0 -_0804E344: .4byte gUnknown_08E6C100 -_0804E348: .4byte 0x02010000 -_0804E34C: - ldr r1, _0804E36C @ =gUnknown_08215C2C - ldr r2, _0804E370 @ =0x06004000 - ldr r0, _0804E374 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0804E378 @ =0x80000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _0804E37C @ =gUnknown_08215C0C - movs r2, 0x80 - lsls r2, 1 - movs r1, 0 - bl LoadPalette - b _0804E49E - .align 2, 0 -_0804E36C: .4byte gUnknown_08215C2C -_0804E370: .4byte 0x06004000 -_0804E374: .4byte 0x040000d4 -_0804E378: .4byte 0x80000200 -_0804E37C: .4byte gUnknown_08215C0C -_0804E380: - ldr r3, _0804E3B8 @ =0x02010000 - movs r4, 0xC0 - lsls r4, 19 - movs r5, 0x80 - lsls r5, 6 - ldr r1, _0804E3BC @ =0x040000d4 - ldr r6, _0804E3C0 @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0804E396: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0804E396 - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, r12 - b _0804E4A0 - .align 2, 0 -_0804E3B8: .4byte 0x02010000 -_0804E3BC: .4byte 0x040000d4 -_0804E3C0: .4byte 0x80000800 -_0804E3C4: - ldr r0, _0804E3D0 @ =gUnknown_08E6C920 - ldr r1, _0804E3D4 @ =0x02010000 - bl sub_800D238 - b _0804E49E - .align 2, 0 -_0804E3D0: .4byte gUnknown_08E6C920 -_0804E3D4: .4byte 0x02010000 -_0804E3D8: - ldr r0, _0804E3E4 @ =gUnknown_08E6D354 - ldr r1, _0804E3E8 @ =0x02013000 - bl sub_800D238 - b _0804E49E - .align 2, 0 -_0804E3E4: .4byte gUnknown_08E6D354 -_0804E3E8: .4byte 0x02013000 -_0804E3EC: - ldr r1, _0804E400 @ =0x02010000 - ldr r2, _0804E404 @ =0x0600e000 - ldr r0, _0804E408 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0804E40C @ =0x80000800 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - mov r0, r12 - b _0804E4A0 - .align 2, 0 -_0804E400: .4byte 0x02010000 -_0804E404: .4byte 0x0600e000 -_0804E408: .4byte 0x040000d4 -_0804E40C: .4byte 0x80000800 -_0804E410: - ldr r1, _0804E424 @ =0x02011000 - ldr r2, _0804E428 @ =0x0600f000 - ldr r0, _0804E42C @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0804E430 @ =0x80000800 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - mov r0, r12 - b _0804E4A0 - .align 2, 0 -_0804E424: .4byte 0x02011000 -_0804E428: .4byte 0x0600f000 -_0804E42C: .4byte 0x040000d4 -_0804E430: .4byte 0x80000800 -_0804E434: - ldr r3, _0804E474 @ =0x02013000 - movs r2, 0 - adds r6, r3, 0 - ldr r7, _0804E478 @ =gUnknown_0821602C - movs r0, 0x80 - lsls r0, 1 - adds r5, r0, 0 - ldr r4, _0804E47C @ =0x0000027f -_0804E444: - lsls r0, r2, 1 - adds r0, r3 - ldrh r1, [r0] - orrs r1, r5 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r4 - bls _0804E444 - ldr r1, _0804E480 @ =0x06006000 - ldr r0, _0804E484 @ =0x040000d4 - str r6, [r0] - str r1, [r0, 0x4] - ldr r1, _0804E488 @ =0x80000280 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - adds r0, r7, 0 - movs r1, 0x80 - movs r2, 0x20 - bl LoadPalette - b _0804E49E - .align 2, 0 -_0804E474: .4byte 0x02013000 -_0804E478: .4byte gUnknown_0821602C -_0804E47C: .4byte 0x0000027f -_0804E480: .4byte 0x06006000 -_0804E484: .4byte 0x040000d4 -_0804E488: .4byte 0x80000280 -_0804E48C: - ldr r0, _0804E4AC @ =gUnknown_082163DC - bl LoadSpriteSheet - ldr r0, _0804E4B0 @ =gUnknown_082164F4 - bl LoadSpriteSheet - ldr r0, _0804E4B4 @ =gUnknown_08216454 - bl LoadSpriteSheet -_0804E49E: - ldr r0, _0804E4B8 @ =gUnknown_03004854 -_0804E4A0: - ldr r1, [r0] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _0804E4F4 - .align 2, 0 -_0804E4AC: .4byte gUnknown_082163DC -_0804E4B0: .4byte gUnknown_082164F4 -_0804E4B4: .4byte gUnknown_08216454 -_0804E4B8: .4byte gUnknown_03004854 -_0804E4BC: - ldr r0, _0804E4E0 @ =gUnknown_08216540 - bl LoadSpriteSheet - ldr r0, _0804E4E4 @ =gUnknown_08216574 - bl LoadSpriteSheet - ldr r0, _0804E4E8 @ =gUnknown_082163EC - bl LoadSpritePalette - ldr r0, _0804E4EC @ =gUnknown_082163E4 - bl LoadSpritePalette - ldr r0, _0804E4F0 @ =gUnknown_03004854 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x1] - movs r0, 0x1 - b _0804E4F6 - .align 2, 0 -_0804E4E0: .4byte gUnknown_08216540 -_0804E4E4: .4byte gUnknown_08216574 -_0804E4E8: .4byte gUnknown_082163EC -_0804E4EC: .4byte gUnknown_082163E4 -_0804E4F0: .4byte gUnknown_03004854 -_0804E4F4: - movs r0, 0 -_0804E4F6: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_804E2EC - - thumb_func_start sub_804E4FC -sub_804E4FC: @ 804E4FC - movs r1, 0x80 - lsls r1, 19 - ldr r2, _0804E52C @ =0x00001341 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0xC - movs r2, 0x91 - lsls r2, 7 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x2 - ldr r2, _0804E530 @ =0x00000c0d - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0804E534 @ =REG_BG0HOFS - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .align 2, 0 -_0804E52C: .4byte 0x00001341 -_0804E530: .4byte 0x00000c0d -_0804E534: .4byte REG_BG0HOFS - thumb_func_end sub_804E4FC - - thumb_func_start sub_804E538 -sub_804E538: @ 804E538 - push {lr} - ldr r1, _0804E55C @ =gUnknown_03004854 - ldr r0, _0804E560 @ =0x02018000 - str r0, [r1] - adds r2, r0, 0 - adds r2, 0x6F - movs r1, 0 - strb r1, [r0] - strb r1, [r2] - ldr r0, _0804E564 @ =gUnknown_0202E8CC - ldrb r0, [r0] - bl sub_804E884 - ldr r0, _0804E568 @ =sub_804E56C - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0804E55C: .4byte gUnknown_03004854 -_0804E560: .4byte 0x02018000 -_0804E564: .4byte gUnknown_0202E8CC -_0804E568: .4byte sub_804E56C - thumb_func_end sub_804E538 - - thumb_func_start sub_804E56C -sub_804E56C: @ 804E56C - push {r4-r6,lr} - sub sp, 0x4 - ldr r0, _0804E588 @ =gUnknown_03004854 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x6 - bls _0804E57C - b _0804E71A -_0804E57C: - lsls r0, 2 - ldr r1, _0804E58C @ =_0804E590 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804E588: .4byte gUnknown_03004854 -_0804E58C: .4byte _0804E590 - .align 2, 0 -_0804E590: - .4byte _0804E5AC - .4byte _0804E614 - .4byte _0804E67C - .4byte _0804E692 - .4byte _0804E6A8 - .4byte _0804E6D4 - .4byte _0804E700 -_0804E5AC: - movs r0, 0x80 - lsls r0, 19 - movs r5, 0 - strh r5, [r0] - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0 - bl SetVBlankCallback - ldr r4, _0804E60C @ =gWindowConfig_81E6F68 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - ldr r3, _0804E610 @ =gUnknown_03004854 - ldr r2, [r3] - ldrb r0, [r2] - adds r0, 0x1 - movs r1, 0 - strb r0, [r2] - ldr r2, [r3] - movs r3, 0xA0 - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - subs r3, 0x2 - adds r0, r2, r3 - strh r1, [r0] - movs r0, 0xA1 - lsls r0, 1 - adds r3, r2, r0 - movs r0, 0x50 - strh r0, [r3] - movs r3, 0xA2 - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strh r1, [r0] - strb r5, [r2, 0x1] - bl sub_8051474 - b _0804E71A - .align 2, 0 -_0804E60C: .4byte gWindowConfig_81E6F68 -_0804E610: .4byte gUnknown_03004854 -_0804E614: - bl sub_804E2EC - lsls r0, 24 - cmp r0, 0 - bne _0804E620 - b _0804E71A -_0804E620: - movs r4, 0 - ldr r5, _0804E668 @ =gUnknown_082162E4 - ldr r6, _0804E66C @ =gUnknown_03004854 -_0804E626: - ldrb r1, [r5] - ldrb r2, [r5, 0x1] - ldr r0, _0804E670 @ =gSpriteTemplate_82163F4 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r6] - adds r1, 0x5C - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x5C - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804E674 @ =gSprites - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x8 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0804E626 - ldr r0, _0804E678 @ =sub_804E2BC - bl SetVBlankCallback - b _0804E6BE - .align 2, 0 -_0804E668: .4byte gUnknown_082162E4 -_0804E66C: .4byte gUnknown_03004854 -_0804E670: .4byte gSpriteTemplate_82163F4 -_0804E674: .4byte gSprites -_0804E678: .4byte sub_804E2BC -_0804E67C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - bl sub_8051474 - b _0804E6BE -_0804E692: - bl sub_804E4FC - ldr r0, _0804E6A4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804E71A - b _0804E6BE - .align 2, 0 -_0804E6A4: .4byte gPaletteFade -_0804E6A8: - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _0804E6CC @ =gOtherText_BlenderChooseBerry - movs r1, 0x1 - movs r2, 0xF - bl MenuPrintMessage -_0804E6BE: - ldr r0, _0804E6D0 @ =gUnknown_03004854 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804E71A - .align 2, 0 -_0804E6CC: .4byte gOtherText_BlenderChooseBerry -_0804E6D0: .4byte gUnknown_03004854 -_0804E6D4: - bl MenuUpdateWindowText - lsls r0, 24 - cmp r0, 0 - beq _0804E71A - ldr r0, _0804E6FC @ =gUnknown_03004854 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - movs r0, 0x1 - negs r0, r0 - str r2, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0804E71A - .align 2, 0 -_0804E6FC: .4byte gUnknown_03004854 -_0804E700: - ldr r0, _0804E730 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0804E71A - bl sub_80A6978 - ldr r0, _0804E734 @ =gUnknown_03004854 - ldr r0, [r0] - strb r4, [r0] -_0804E71A: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804E730: .4byte gPaletteFade -_0804E734: .4byte gUnknown_03004854 - thumb_func_end sub_804E56C - - thumb_func_start sub_804E738 -sub_804E738: @ 804E738 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x32] - ldrh r2, [r4, 0x36] - subs r1, r2 - ldrh r0, [r4, 0x3C] - adds r1, r0 - strh r1, [r4, 0x32] - ldrh r3, [r4, 0x2E] - adds r0, r3 - strh r0, [r4, 0x2E] - subs r2, 0x1 - strh r2, [r4, 0x36] - lsls r0, 16 - lsls r1, 16 - cmp r0, r1 - bge _0804E786 - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x36] - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0804E780 - adds r0, r4, 0 - bl DestroySprite - b _0804E786 -_0804E780: - movs r0, 0x74 - bl PlaySE -_0804E786: - ldrh r0, [r4, 0x30] - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x32] - strh r0, [r4, 0x22] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804E738 - - thumb_func_start sub_804E794 -sub_804E794: @ 804E794 - push {r4-r6,lr} - ldr r5, [sp, 0x10] - ldr r6, [sp, 0x14] - lsls r2, 16 - lsrs r2, 16 - movs r4, 0 - strh r2, [r0, 0x2E] - strh r1, [r0, 0x30] - strh r2, [r0, 0x32] - strh r3, [r0, 0x34] - movs r1, 0xA - strh r1, [r0, 0x36] - strh r4, [r0, 0x38] - strh r5, [r0, 0x3A] - strh r6, [r0, 0x3C] - ldr r1, _0804E7BC @ =sub_804E738 - str r1, [r0, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804E7BC: .4byte sub_804E738 - thumb_func_end sub_804E794 - - thumb_func_start sub_804E7C0 -sub_804E7C0: @ 804E7C0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r6, r1, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r0, 24 - movs r1, 0xF6 - lsls r1, 23 - adds r0, r1 - lsrs r0, 24 - movs r3, 0x1 - ands r3, r6 - movs r1, 0 - movs r2, 0x50 - bl sub_80A7DEC - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - mov r8, r2 - add r8, r0 - mov r3, r8 - lsls r3, 2 - mov r8, r3 - ldr r0, _0804E83C @ =gSprites - add r8, r0 - ldr r5, _0804E840 @ =gUnknown_08216594 - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 1 - adds r0, r4, r5 - movs r6, 0 - ldrsh r1, [r0, r6] - adds r0, r5, 0x2 - adds r0, r4, r0 - movs r3, 0 - ldrsh r2, [r0, r3] - adds r0, r5, 0x4 - adds r0, r4, r0 - movs r6, 0 - ldrsh r3, [r0, r6] - adds r0, r5, 0x6 - adds r0, r4, r0 - movs r6, 0 - ldrsh r0, [r0, r6] - str r0, [sp] - adds r5, 0x8 - adds r4, r5 - movs r5, 0 - ldrsh r0, [r4, r5] - str r0, [sp, 0x4] - mov r0, r8 - bl sub_804E794 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804E83C: .4byte gSprites -_0804E840: .4byte gUnknown_08216594 - thumb_func_end sub_804E7C0 - - thumb_func_start sub_804E844 -sub_804E844: @ 804E844 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r5, r1, 16 - lsrs r5, 16 - adds r0, r5, 0 - adds r0, 0x7C - lsls r0, 24 - lsrs r0, 24 - bl GetBerryInfo - adds r4, r0, 0 - strh r5, [r6] - adds r0, r6, 0x2 - adds r1, r4, 0 - bl StringCopy - ldrb r0, [r4, 0x15] - strb r0, [r6, 0x9] - ldrb r0, [r4, 0x16] - strb r0, [r6, 0xA] - ldrb r0, [r4, 0x17] - strb r0, [r6, 0xB] - ldrb r0, [r4, 0x18] - strb r0, [r6, 0xC] - ldrb r0, [r4, 0x19] - strb r0, [r6, 0xD] - ldrb r0, [r4, 0x1A] - strb r0, [r6, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_804E844 - - thumb_func_start sub_804E884 -sub_804E884: @ 804E884 - push {r4,r5,lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0804E89E - ldr r2, _0804E8AC @ =gLinkPlayers - movs r3, 0x2 - adds r0, r2, 0 - adds r0, 0x54 -_0804E896: - strh r3, [r0, 0x1A] - subs r0, 0x1C - cmp r0, r2 - bge _0804E896 -_0804E89E: - cmp r1, 0x1 - beq _0804E8C4 - cmp r1, 0x1 - bgt _0804E8B0 - cmp r1, 0 - beq _0804E8BA - b _0804E974 - .align 2, 0 -_0804E8AC: .4byte gLinkPlayers -_0804E8B0: - cmp r1, 0x2 - beq _0804E8F8 - cmp r1, 0x3 - beq _0804E93C - b _0804E974 -_0804E8BA: - ldr r0, _0804E8C0 @ =gUnknown_03004834 - strb r1, [r0] - b _0804E974 - .align 2, 0 -_0804E8C0: .4byte gUnknown_03004834 -_0804E8C4: - ldr r0, _0804E8E4 @ =gUnknown_03004834 - strb r1, [r0] - ldr r0, _0804E8E8 @ =gUnknown_03004854 - ldr r0, [r0] - adds r0, 0x88 - movs r1, 0x2 - strb r1, [r0] - ldr r4, _0804E8EC @ =gLinkPlayers + 0x8 - ldr r1, _0804E8F0 @ =gSaveBlock2 - adds r0, r4, 0 - bl StringCopy - adds r4, 0x1C - ldr r0, _0804E8F4 @ =gUnknown_082162B8 - ldr r1, [r0] - b _0804E920 - .align 2, 0 -_0804E8E4: .4byte gUnknown_03004834 -_0804E8E8: .4byte gUnknown_03004854 -_0804E8EC: .4byte gLinkPlayers + 0x8 -_0804E8F0: .4byte gSaveBlock2 -_0804E8F4: .4byte gUnknown_082162B8 -_0804E8F8: - ldr r0, _0804E928 @ =gUnknown_03004834 - strb r1, [r0] - ldr r0, _0804E92C @ =gUnknown_03004854 - ldr r0, [r0] - adds r0, 0x88 - movs r1, 0x3 - strb r1, [r0] - ldr r4, _0804E930 @ =gLinkPlayers + 0x8 - ldr r1, _0804E934 @ =gSaveBlock2 - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - adds r0, 0x1C - ldr r5, _0804E938 @ =gUnknown_082162B8 - ldr r1, [r5] - bl StringCopy - adds r4, 0x38 - ldr r1, [r5, 0x4] -_0804E920: - adds r0, r4, 0 - bl StringCopy - b _0804E974 - .align 2, 0 -_0804E928: .4byte gUnknown_03004834 -_0804E92C: .4byte gUnknown_03004854 -_0804E930: .4byte gLinkPlayers + 0x8 -_0804E934: .4byte gSaveBlock2 -_0804E938: .4byte gUnknown_082162B8 -_0804E93C: - ldr r0, _0804E97C @ =gUnknown_03004834 - strb r1, [r0] - ldr r0, _0804E980 @ =gUnknown_03004854 - ldr r0, [r0] - adds r0, 0x88 - movs r1, 0x4 - strb r1, [r0] - ldr r4, _0804E984 @ =gLinkPlayers + 0x8 - ldr r1, _0804E988 @ =gSaveBlock2 - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - adds r0, 0x1C - ldr r5, _0804E98C @ =gUnknown_082162B8 - ldr r1, [r5] - bl StringCopy - adds r0, r4, 0 - adds r0, 0x38 - ldr r1, [r5, 0x4] - bl StringCopy - adds r4, 0x54 - ldr r1, [r5, 0x8] - adds r0, r4, 0 - bl StringCopy -_0804E974: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804E97C: .4byte gUnknown_03004834 -_0804E980: .4byte gUnknown_03004854 -_0804E984: .4byte gLinkPlayers + 0x8 -_0804E988: .4byte gSaveBlock2 -_0804E98C: .4byte gUnknown_082162B8 - thumb_func_end sub_804E884 - - thumb_func_start sub_804E990 -sub_804E990: @ 804E990 - push {r4,r5,lr} - movs r0, 0x80 - lsls r0, 19 - movs r2, 0 - strh r2, [r0] - ldr r3, _0804E9D8 @ =gUnknown_03004854 - ldr r0, _0804E9DC @ =0x02018000 - str r0, [r3] - movs r1, 0 - strb r2, [r0] - movs r2, 0x9A - lsls r2, 1 - adds r0, r2 - str r1, [r0] - movs r2, 0 - ldr r5, _0804E9E0 @ =gUnknown_0202E8CC - adds r4, r3, 0 - movs r3, 0 -_0804E9B4: - ldr r0, [r4] - lsls r1, r2, 1 - adds r0, 0x80 - adds r0, r1 - strh r3, [r0] - adds r2, 0x1 - cmp r2, 0x3 - ble _0804E9B4 - ldrb r0, [r5] - bl sub_804E884 - ldrh r0, [r5] - cmp r0, 0 - bne _0804E9E8 - ldr r0, _0804E9E4 @ =sub_804E9F8 - bl SetMainCallback2 - b _0804E9EE - .align 2, 0 -_0804E9D8: .4byte gUnknown_03004854 -_0804E9DC: .4byte 0x02018000 -_0804E9E0: .4byte gUnknown_0202E8CC -_0804E9E4: .4byte sub_804E9F8 -_0804E9E8: - ldr r0, _0804E9F4 @ =sub_804F378 - bl SetMainCallback2 -_0804E9EE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804E9F4: .4byte sub_804F378 - thumb_func_end sub_804E990 - - thumb_func_start sub_804E9F8 -sub_804E9F8: @ 804E9F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r1, _0804EA18 @ =gUnknown_03004854 - ldr r0, [r1] - ldrb r0, [r0] - mov r8, r1 - cmp r0, 0x66 - bls _0804EA0E - b _0804F0CE -_0804EA0E: - lsls r0, 2 - ldr r1, _0804EA1C @ =_0804EA20 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804EA18: .4byte gUnknown_03004854 -_0804EA1C: .4byte _0804EA20 - .align 2, 0 -_0804EA20: - .4byte _0804EBBC - .4byte _0804EC74 - .4byte _0804EC94 - .4byte _0804ECE8 - .4byte _0804ECFA - .4byte _0804ED14 - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804ED48 - .4byte _0804ED94 - .4byte _0804EDB8 - .4byte _0804EE46 - .4byte _0804EEA0 - .4byte _0804EF16 - .4byte _0804EF34 - .4byte _0804EFD8 - .4byte _0804F00C - .4byte _0804F0CE - .4byte _0804F020 - .4byte _0804F024 - .4byte _0804F02A - .4byte _0804F03A - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F0CE - .4byte _0804F084 - .4byte _0804F0A0 - .4byte _0804F0BC -_0804EBBC: - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r0, _0804EC60 @ =sub_804E2BC - bl SetVBlankCallback - ldr r4, _0804EC64 @ =gWindowConfig_81E6F68 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - ldr r1, _0804EC68 @ =gLinkType - ldr r2, _0804EC6C @ =0x00004422 - adds r0, r2, 0 - strh r0, [r1] - ldr r3, _0804EC70 @ =gUnknown_03004854 - ldr r1, [r3] - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, [r3] - adds r4, r0, 0 - adds r4, 0x4E - movs r1, 0 - strh r2, [r4] - adds r0, 0x7E - strb r1, [r0] - ldr r1, [r3] - movs r4, 0xA2 - lsls r4, 1 - adds r0, r1, r4 - strh r2, [r0] - adds r4, 0x2 - adds r0, r1, r4 - strh r2, [r0] - movs r5, 0 - movs r6, 0 - mov r8, r3 - movs r7, 0xA6 - lsls r7, 1 -_0804EC18: - ldr r0, [r3] - lsls r1, r5, 1 - adds r0, 0x70 - adds r0, r1 - strh r6, [r0] - adds r4, r5, 0x1 - adds r1, r5 - lsls r1, 1 - movs r2, 0x2 -_0804EC2A: - ldr r0, [r3] - adds r0, r7 - adds r0, r1 - strh r6, [r0] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _0804EC2A - adds r5, r4, 0 - cmp r5, 0x3 - ble _0804EC18 - mov r0, r8 - ldr r3, [r0] - adds r0, r3, 0 - adds r0, 0x7C - movs r2, 0 - movs r1, 0 - strh r1, [r0] - subs r0, 0x26 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x6 - strh r1, [r0] - strb r2, [r3, 0x1] - b _0804F0CE - .align 2, 0 -_0804EC60: .4byte sub_804E2BC -_0804EC64: .4byte gWindowConfig_81E6F68 -_0804EC68: .4byte gLinkType -_0804EC6C: .4byte 0x00004422 -_0804EC70: .4byte gUnknown_03004854 -_0804EC74: - bl sub_804E2EC - lsls r0, 24 - cmp r0, 0 - bne _0804EC80 - b _0804F0CE -_0804EC80: - ldr r0, _0804EC90 @ =gUnknown_03004854 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_8051474 - b _0804F0CE - .align 2, 0 -_0804EC90: .4byte gUnknown_03004854 -_0804EC94: - movs r5, 0 - ldr r4, _0804ECD8 @ =gUnknown_082162E4 - ldr r6, _0804ECDC @ =gUnknown_03004854 -_0804EC9A: - ldrb r1, [r4] - ldrb r2, [r4, 0x1] - ldr r0, _0804ECE0 @ =gSpriteTemplate_82163F4 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r6] - adds r1, 0x60 - adds r1, r5 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x60 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804ECE4 @ =gSprites - adds r0, r1 - adds r1, r5, 0 - adds r1, 0x8 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _0804EC9A - b _0804F0AA - .align 2, 0 -_0804ECD8: .4byte gUnknown_082162E4 -_0804ECDC: .4byte gUnknown_03004854 -_0804ECE0: .4byte gSpriteTemplate_82163F4 -_0804ECE4: .4byte gSprites -_0804ECE8: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _0804F0AA -_0804ECFA: - bl sub_804E4FC - ldr r0, _0804ED10 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804ED0C - b _0804F0CE -_0804ED0C: - b _0804F0AA - .align 2, 0 -_0804ED10: .4byte gPaletteFade -_0804ED14: - movs r0, 0 - movs r1, 0xD - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _0804ED40 @ =gOtherText_LinkStandby3 - movs r1, 0x1 - movs r2, 0xE - bl MenuPrint - ldr r2, _0804ED44 @ =gUnknown_03004854 - ldr r1, [r2] - movs r3, 0 - movs r0, 0x8 - strb r0, [r1] - ldr r0, [r2] - movs r1, 0x98 - lsls r1, 1 - adds r0, r1 - str r3, [r0] - b _0804F0CE - .align 2, 0 -_0804ED40: .4byte gOtherText_LinkStandby3 -_0804ED44: .4byte gUnknown_03004854 -_0804ED48: - mov r2, r8 - ldr r1, [r2] - ldrb r0, [r1] - adds r0, 0x1 - movs r5, 0 - strb r0, [r1] - ldr r0, [r2] - movs r3, 0x9E - lsls r3, 1 - adds r0, r3 - strb r5, [r0] - ldr r0, [r2] - movs r4, 0xBE - lsls r4, 1 - adds r0, r4 - ldr r1, _0804ED8C @ =word_203855E - ldrh r1, [r1] - bl sub_804E844 - ldr r0, _0804ED90 @ =gBlockSendBuffer - mov r2, r8 - ldr r1, [r2] - adds r1, r4 - movs r2, 0x10 - bl memcpy - bl sub_80084A4 - mov r3, r8 - ldr r0, [r3] - subs r4, 0x4C - adds r0, r4 - str r5, [r0] - b _0804F0CE - .align 2, 0 -_0804ED8C: .4byte word_203855E -_0804ED90: .4byte gBlockSendBuffer -_0804ED94: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _0804EDA0 - b _0804F0CE -_0804EDA0: - bl ResetBlockReceivedFlags - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0804EDB0 - b _0804F0AA -_0804EDB0: - movs r0, 0x4 - bl sub_8007E9C - b _0804F0AA -_0804EDB8: - mov r0, r8 - ldr r1, [r0] - movs r2, 0x98 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x14 - bgt _0804EDCE - b _0804F0CE -_0804EDCE: - bl MenuZeroFillScreen - bl GetBlockRecievedStatus - adds r4, r0, 0 - bl sub_8008198 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _0804EDE6 - b _0804F0CE -_0804EDE6: - movs r5, 0 - mov r7, r8 - movs r6, 0xBE - lsls r6, 1 - b _0804EE18 -_0804EDF0: - ldr r0, [r7] - lsls r4, r5, 4 - adds r0, r4, r0 - adds r0, r6 - lsls r1, r5, 8 - ldr r2, _0804EE2C @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x10 - bl memcpy - ldr r0, [r7] - lsls r2, r5, 1 - adds r1, r0, 0 - adds r1, 0x80 - adds r1, r2 - adds r0, r4 - adds r0, r6 - ldrh r0, [r0] - strh r0, [r1] - adds r5, 0x1 -_0804EE18: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - blt _0804EDF0 - bl ResetBlockReceivedFlags - b _0804F0AA - .align 2, 0 -_0804EE2C: .4byte gBlockRecvBuffer -_0804EE30: - ldrb r1, [r4] - lsls r1, 1 - adds r0, r2, 0 - adds r0, 0x80 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r5, 24 - lsrs r1, 24 - bl sub_804E7C0 - b _0804EE7A -_0804EE46: - bl GetLinkPlayerCount - ldr r2, _0804EE98 @ =gUnknown_03004854 - ldr r1, [r2] - adds r1, 0x88 - strb r0, [r1] - movs r5, 0 - ldr r2, [r2] - movs r3, 0x9E - lsls r3, 1 - adds r4, r2, r3 - ldr r1, _0804EE9C @ =gUnknown_082162EC - adds r0, r2, 0 - adds r0, 0x88 - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 2 - ldrb r3, [r4] - adds r0, r1 -_0804EE6C: - ldrb r1, [r0] - cmp r3, r1 - beq _0804EE30 - adds r0, 0x1 - adds r5, 0x1 - cmp r5, 0x3 - ble _0804EE6C -_0804EE7A: - ldr r3, _0804EE98 @ =gUnknown_03004854 - ldr r1, [r3] - movs r4, 0x98 - lsls r4, 1 - adds r2, r1, r4 - movs r0, 0 - str r0, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, [r3] - movs r0, 0x9E - lsls r0, 1 - adds r1, r0 - b _0804F0AE - .align 2, 0 -_0804EE98: .4byte gUnknown_03004854 -_0804EE9C: .4byte gUnknown_082162EC -_0804EEA0: - mov r1, r8 - ldr r2, [r1] - movs r3, 0x98 - lsls r3, 1 - adds r1, r2, r3 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bgt _0804EEB6 - b _0804F0CE -_0804EEB6: - movs r4, 0x9E - lsls r4, 1 - adds r0, r2, r4 - adds r1, r2, 0 - adds r1, 0x88 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcc _0804EF00 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - mov r0, r8 - ldr r2, [r0] - ldr r3, _0804EEF4 @ =gUnknown_082162F8 - ldr r1, _0804EEF8 @ =gUnknown_08216300 - adds r0, r2, 0 - adds r0, 0x88 - ldrb r0, [r0] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r3 - ldr r3, _0804EEFC @ =0xffffa800 - adds r1, r3, 0 - ldrh r0, [r0] - adds r1, r0 - adds r2, 0x54 - strh r1, [r2] - b _0804EF06 - .align 2, 0 -_0804EEF4: .4byte gUnknown_082162F8 -_0804EEF8: .4byte gUnknown_08216300 -_0804EEFC: .4byte 0xffffa800 -_0804EF00: - ldrb r0, [r2] - subs r0, 0x1 - strb r0, [r2] -_0804EF06: - mov r4, r8 - ldr r0, [r4] - movs r1, 0x98 - lsls r1, 1 - adds r0, r1 - movs r1, 0 - str r1, [r0] - b _0804F0CE -_0804EF16: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _0804EF22 - b _0804F0CE -_0804EF22: - ldr r2, _0804EF30 @ =gUnknown_03004854 - ldr r1, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - b _0804EFBC - .align 2, 0 -_0804EF30: .4byte gUnknown_03004854 -_0804EF34: - movs r2, 0x80 - lsls r2, 19 - ldrh r0, [r2] - movs r3, 0x80 - lsls r3, 3 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - mov r4, r8 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x54 - movs r3, 0x80 - lsls r3, 2 - adds r0, r3, 0 - ldrh r4, [r1] - adds r0, r4 - strh r0, [r1] - movs r0, 0xA1 - lsls r0, 1 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xFF - bls _0804EFB8 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - mov r1, r8 - ldr r3, [r1] - movs r2, 0xA1 - lsls r2, 1 - adds r1, r3, r2 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r1] - ldr r2, _0804EFC8 @ =gUnknown_082162F8 - ldr r1, _0804EFCC @ =gUnknown_08216300 - adds r0, r3, 0 - adds r0, 0x88 - ldrb r0, [r0] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - adds r0, r3, 0 - adds r0, 0x54 - strh r1, [r0] - ldr r1, _0804EFD0 @ =REG_BG2CNT - ldr r4, _0804EFD4 @ =0x00004882 - adds r0, r4, 0 - strh r0, [r1] - movs r0, 0x98 - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0 - str r0, [r1] - bl sub_804F238 - bl BuyMenuDrawFieldObjects -_0804EFB8: - mov r1, r8 - ldr r0, [r1] -_0804EFBC: - movs r2, 0xB4 - lsls r2, 1 - adds r0, r2 - bl sub_8051414 - b _0804F0CE - .align 2, 0 -_0804EFC8: .4byte gUnknown_082162F8 -_0804EFCC: .4byte gUnknown_08216300 -_0804EFD0: .4byte REG_BG2CNT -_0804EFD4: .4byte 0x00004882 -_0804EFD8: - bl sub_8051B8C - lsls r0, 24 - cmp r0, 0 - beq _0804EFF6 - ldr r0, _0804F008 @ =gUnknown_03004854 - ldr r1, [r0] - movs r3, 0x98 - lsls r3, 1 - adds r2, r1, r3 - movs r0, 0 - str r0, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804EFF6: - ldr r0, _0804F008 @ =gUnknown_03004854 - ldr r0, [r0] - movs r4, 0xB4 - lsls r4, 1 - adds r0, r4 - bl sub_8051414 - b _0804F0CE - .align 2, 0 -_0804F008: .4byte gUnknown_03004854 -_0804F00C: - ldr r0, _0804F01C @ =gSpriteTemplate_8216548 - movs r2, 0x10 - negs r2, r2 - movs r1, 0x78 - movs r3, 0x3 - bl CreateSprite - b _0804F0AA - .align 2, 0 -_0804F01C: .4byte gSpriteTemplate_8216548 -_0804F020: - mov r0, r8 - b _0804F0AC -_0804F024: - bl sub_80084A4 - b _0804F0AA -_0804F02A: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _0804F0CE - bl sub_8007E24 - b _0804F0AA -_0804F03A: - mov r1, r8 - ldr r3, [r1] - adds r2, r3, 0 - adds r2, 0x56 - movs r1, 0 - movs r0, 0x80 - strh r0, [r2] - movs r2, 0x96 - lsls r2, 1 - adds r0, r3, r2 - str r1, [r0] - ldr r0, _0804F07C @ =sub_80501FC - bl SetMainCallback2 - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r0, 16 - ldr r4, _0804F080 @ =0x00000193 - cmp r0, r4 - beq _0804F074 - bl GetCurrentMapMusic - mov r3, r8 - ldr r1, [r3] - movs r2, 0xBC - lsls r2, 1 - adds r1, r2 - strh r0, [r1] -_0804F074: - adds r0, r4, 0 - bl PlayBGM - b _0804F0CE - .align 2, 0 -_0804F07C: .4byte sub_80501FC -_0804F080: .4byte 0x00000193 -_0804F084: - movs r0, 0 - movs r1, 0xD - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _0804F09C @ =gOtherText_LinkNotFound - movs r1, 0x1 - movs r2, 0xF - bl MenuPrintMessage - b _0804F0AA - .align 2, 0 -_0804F09C: .4byte gOtherText_LinkNotFound -_0804F0A0: - bl MenuUpdateWindowText - lsls r0, 24 - cmp r0, 0 - beq _0804F0CE -_0804F0AA: - ldr r0, _0804F0B8 @ =gUnknown_03004854 -_0804F0AC: - ldr r1, [r0] -_0804F0AE: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804F0CE - .align 2, 0 -_0804F0B8: .4byte gUnknown_03004854 -_0804F0BC: - ldr r0, _0804F0EC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804F0CE - ldr r0, _0804F0F0 @ =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 -_0804F0CE: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804F0EC: .4byte gPaletteFade -_0804F0F0: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music - thumb_func_end sub_804E9F8 - - thumb_func_start sub_804F0F4 -sub_804F0F4: @ 804F0F4 - push {r4,lr} - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r0, _0804F158 @ =sub_804E2BC - bl SetVBlankCallback - ldr r4, _0804F15C @ =gWindowConfig_81E6F68 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - ldr r1, _0804F160 @ =gLinkType - ldr r2, _0804F164 @ =0x00004422 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0804F168 @ =gUnknown_03004854 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x4E - movs r1, 0 - strh r1, [r0] - adds r0, 0x8 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x6 - strh r1, [r0] - movs r3, 0xA2 - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strh r1, [r0] - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804F158: .4byte sub_804E2BC -_0804F15C: .4byte gWindowConfig_81E6F68 -_0804F160: .4byte gLinkType -_0804F164: .4byte 0x00004422 -_0804F168: .4byte gUnknown_03004854 - thumb_func_end sub_804F0F4 - - thumb_func_start task_tutorial_oak_boy_girl -task_tutorial_oak_boy_girl: @ 804F16C - push {lr} - lsls r0, 16 - lsls r1, 24 - lsrs r0, 24 - adds r2, r0, 0 - adds r2, 0x18 - ldr r0, _0804F1A8 @ =gUnknown_03004854 - ldr r0, [r0] - lsrs r1, 23 - adds r0, 0xA2 - adds r0, r1 - ldrb r0, [r0] - ldr r1, _0804F1AC @ =gUnknown_08216303 - adds r0, r1 - ldrb r1, [r0] - cmp r2, r1 - bcc _0804F1B4 - adds r0, r1, 0 - adds r0, 0x30 - cmp r2, r0 - bcs _0804F1B4 - subs r0, 0x1C - cmp r2, r0 - bcc _0804F1B0 - adds r0, 0x8 - cmp r2, r0 - bcs _0804F1B0 - movs r0, 0x2 - b _0804F1B6 - .align 2, 0 -_0804F1A8: .4byte gUnknown_03004854 -_0804F1AC: .4byte gUnknown_08216303 -_0804F1B0: - movs r0, 0x1 - b _0804F1B6 -_0804F1B4: - movs r0, 0 -_0804F1B6: - pop {r1} - bx r1 - thumb_func_end task_tutorial_oak_boy_girl - - thumb_func_start sub_804F1BC -sub_804F1BC: @ 804F1BC - push {r4-r7,lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r1, 24 - movs r4, 0 - cmp r0, 0xAF - bne _0804F1EE - movs r3, 0 - subs r5, r1, 0x1 - adds r2, 0x9 -_0804F1D2: - adds r0, r2, r4 - adds r1, r2, r3 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _0804F1E0 - adds r4, r3, 0 -_0804F1E0: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x4 - bls _0804F1D2 - adds r0, r4, 0x5 - b _0804F204 -_0804F1EE: - subs r0, 0x85 - lsls r0, 16 - lsrs r4, r0, 16 - subs r5, r1, 0x1 - cmp r4, 0x4 - bls _0804F208 - adds r0, r4, 0 - movs r1, 0x5 - bl __umodsi3 - adds r0, 0x5 -_0804F204: - lsls r0, 16 - lsrs r4, r0, 16 -_0804F208: - movs r3, 0 - cmp r3, r5 - bge _0804F22E - ldr r7, _0804F234 @ =gUnknown_082165BC - lsls r0, r4, 1 - adds r6, r0, r4 -_0804F214: - adds r4, r3, 0x1 - lsls r0, r4, 24 - lsrs r0, 24 - adds r1, r3, r6 - adds r1, r7 - ldrb r1, [r1] - adds r1, 0x85 - bl sub_80516C4 - lsls r4, 16 - lsrs r3, r4, 16 - cmp r3, r5 - blt _0804F214 -_0804F22E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804F234: .4byte gUnknown_082165BC - thumb_func_end sub_804F1BC - - thumb_func_start sub_804F238 -sub_804F238: @ 804F238 - push {r4-r7,lr} - movs r4, 0 - ldr r7, _0804F2A0 @ =gUnknown_03004854 - movs r6, 0xFF - ldr r5, _0804F2A4 @ =gUnknown_082162EC -_0804F242: - ldr r3, [r7] - lsls r2, r4, 1 - adds r0, r3, 0 - adds r0, 0xA2 - adds r0, r2 - strh r6, [r0] - adds r1, r3, 0 - adds r1, 0x9A - adds r1, r2 - adds r0, r3, 0 - adds r0, 0x88 - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 2 - adds r0, r4, r0 - adds r0, r5 - ldrb r0, [r0] - strh r0, [r1] - adds r4, 0x1 - cmp r4, 0x3 - ble _0804F242 - movs r3, 0 - ldr r7, _0804F2A0 @ =gUnknown_03004854 -_0804F270: - movs r4, 0 - adds r6, r3, 0x1 - lsls r5, r3, 1 -_0804F276: - ldr r2, [r7] - lsls r0, r4, 1 - adds r1, r2, 0 - adds r1, 0x9A - adds r1, r0 - ldrh r0, [r1] - cmp r0, r3 - bne _0804F28E - adds r0, r2, 0 - adds r0, 0xA2 - adds r0, r5 - strh r4, [r0] -_0804F28E: - adds r4, 0x1 - cmp r4, 0x3 - ble _0804F276 - adds r3, r6, 0 - cmp r3, 0x3 - ble _0804F270 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804F2A0: .4byte gUnknown_03004854 -_0804F2A4: .4byte gUnknown_082162EC - thumb_func_end sub_804F238 - - thumb_func_start BuyMenuDrawFieldObjects -BuyMenuDrawFieldObjects: @ 804F2A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - ldr r7, _0804F360 @ =gUnknown_03004854 - ldr r0, _0804F364 @ =gUnknown_082162D4 - mov r8, r0 -_0804F2B6: - ldr r2, [r7] - lsls r4, r6, 1 - adds r0, r2, 0 - adds r0, 0x9A - adds r3, r0, r4 - ldrh r0, [r3] - cmp r0, 0xFF - beq _0804F34A - ldr r5, _0804F368 @ =gStringVar1 - adds r1, r2, 0 - adds r1, 0x5C - ldrh r3, [r3] - adds r1, r3 - adds r0, r2, 0 - adds r0, 0x60 - adds r0, r6 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, [r7] - adds r1, r0, 0 - adds r1, 0x9A - adds r1, r4 - adds r0, 0x5C - ldrh r1, [r1] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804F36C @ =gSprites - adds r0, r1 - lsls r1, r6, 24 - lsrs r1, 24 - bl StartSpriteAnim - bl GetMultiplayerId - lsls r0, 24 - ldr r1, [r7] - adds r1, 0x9A - adds r1, r4 - lsrs r0, 24 - ldrh r1, [r1] - cmp r0, r1 - bne _0804F31A - adds r0, r5, 0 - ldr r1, _0804F370 @ =gUnknown_082162C4 - bl StringCopy - adds r5, r0, 0 -_0804F31A: - ldr r0, [r7] - adds r0, 0x9A - adds r0, r4 - ldrh r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, _0804F374 @ =gLinkPlayers + 0x8 - adds r1, r0 - adds r0, r5, 0 - bl StringCopy - mov r0, r8 - ldrb r1, [r0] - lsls r1, 3 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0x1] - lsls r2, 3 - ldr r0, _0804F368 @ =gStringVar1 - movs r3, 0x1 - bl MenuPrint_PixelCoords -_0804F34A: - movs r0, 0x2 - add r8, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _0804F2B6 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804F360: .4byte gUnknown_03004854 -_0804F364: .4byte gUnknown_082162D4 -_0804F368: .4byte gStringVar1 -_0804F36C: .4byte gSprites -_0804F370: .4byte gUnknown_082162C4 -_0804F374: .4byte gLinkPlayers + 0x8 - thumb_func_end BuyMenuDrawFieldObjects - - thumb_func_start sub_804F378 -sub_804F378: @ 804F378 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r1, _0804F398 @ =gUnknown_03004854 - ldr r0, [r1] - ldrb r0, [r0] - mov r8, r1 - cmp r0, 0x15 - bls _0804F38E - b _0804F7E6 -_0804F38E: - lsls r0, 2 - ldr r1, _0804F39C @ =_0804F3A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804F398: .4byte gUnknown_03004854 -_0804F39C: .4byte _0804F3A0 - .align 2, 0 -_0804F3A0: - .4byte _0804F3F8 - .4byte _0804F474 - .4byte _0804F494 - .4byte _0804F4EC - .4byte _0804F518 - .4byte _0804F7E6 - .4byte _0804F7E6 - .4byte _0804F7E6 - .4byte _0804F54C - .4byte _0804F7E6 - .4byte _0804F7E6 - .4byte _0804F578 - .4byte _0804F5C8 - .4byte _0804F636 - .4byte _0804F650 - .4byte _0804F6F8 - .4byte _0804F720 - .4byte _0804F7E6 - .4byte _0804F73C - .4byte _0804F742 - .4byte _0804F748 - .4byte _0804F754 -_0804F3F8: - bl sub_804F0F4 - ldr r4, _0804F46C @ =word_203855E - ldrh r1, [r4] - movs r0, 0 - bl sub_80516C4 - ldr r5, _0804F470 @ =gUnknown_03004854 - ldr r0, [r5] - movs r6, 0xBE - lsls r6, 1 - adds r0, r6 - ldrh r1, [r4] - bl sub_804E844 - ldrh r0, [r4] - ldr r2, [r5] - adds r1, r2, 0 - adds r1, 0x88 - ldrb r1, [r1] - adds r2, r6 - bl sub_804F1BC - movs r4, 0 - movs r6, 0 - mov r8, r5 - movs r7, 0xA6 - lsls r7, 1 -_0804F430: - ldr r0, [r5] - lsls r1, r4, 1 - adds r0, 0x70 - adds r0, r1 - strh r6, [r0] - adds r3, r4, 0x1 - adds r1, r4 - lsls r1, 1 - movs r2, 0x2 -_0804F442: - ldr r0, [r5] - adds r0, r7 - adds r0, r1 - strh r6, [r0] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _0804F442 - adds r4, r3, 0 - cmp r4, 0x3 - ble _0804F430 - mov r0, r8 - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0x7C - movs r2, 0 - movs r0, 0 - strh r0, [r1] - strb r2, [r3, 0x1] - b _0804F7E6 - .align 2, 0 -_0804F46C: .4byte word_203855E -_0804F470: .4byte gUnknown_03004854 -_0804F474: - bl sub_804E2EC - lsls r0, 24 - cmp r0, 0 - bne _0804F480 - b _0804F7E6 -_0804F480: - ldr r0, _0804F490 @ =gUnknown_03004854 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_8051474 - b _0804F7E6 - .align 2, 0 -_0804F490: .4byte gUnknown_03004854 -_0804F494: - movs r4, 0 - ldr r5, _0804F4DC @ =gUnknown_082162E4 - ldr r6, _0804F4E0 @ =gUnknown_03004854 -_0804F49A: - ldrb r1, [r5] - ldrb r2, [r5, 0x1] - ldr r0, _0804F4E4 @ =gSpriteTemplate_82163F4 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r6] - adds r1, 0x60 - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x60 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804F4E8 @ =gSprites - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x8 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0804F49A - ldr r0, _0804F4E0 @ =gUnknown_03004854 - ldr r1, [r0] - b _0804F74C - .align 2, 0 -_0804F4DC: .4byte gUnknown_082162E4 -_0804F4E0: .4byte gUnknown_03004854 -_0804F4E4: .4byte gSpriteTemplate_82163F4 -_0804F4E8: .4byte gSprites -_0804F4EC: - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, _0804F514 @ =gUnknown_03004854 - ldr r1, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - movs r1, 0x98 - lsls r1, 1 - adds r0, r1 - str r4, [r0] - b _0804F7E6 - .align 2, 0 -_0804F514: .4byte gUnknown_03004854 -_0804F518: - mov r2, r8 - ldr r1, [r2] - movs r3, 0x98 - lsls r3, 1 - adds r1, r3 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x2 - bne _0804F530 - bl sub_804E4FC -_0804F530: - ldr r0, _0804F548 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804F53E - b _0804F7E6 -_0804F53E: - mov r5, r8 - ldr r1, [r5] - movs r0, 0x8 - strb r0, [r1] - b _0804F7E6 - .align 2, 0 -_0804F548: .4byte gPaletteFade -_0804F54C: - mov r0, r8 - ldr r1, [r0] - movs r2, 0 - movs r0, 0xB - strb r0, [r1] - mov r1, r8 - ldr r0, [r1] - movs r3, 0x9E - lsls r3, 1 - adds r0, r3 - strb r2, [r0] - b _0804F7E6 -_0804F564: - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x80 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r4, 24 - lsrs r1, 24 - bl sub_804E7C0 - b _0804F5A2 -_0804F578: - movs r4, 0 - ldr r2, _0804F5C0 @ =gUnknown_082162EC - ldr r0, _0804F5C4 @ =gUnknown_03004854 - ldr r3, [r0] - adds r0, r3, 0 - adds r0, 0x88 - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 2 - movs r5, 0x9E - lsls r5, 1 - adds r1, r3, r5 - ldrb r1, [r1] - adds r0, r2 -_0804F594: - ldrb r2, [r0] - cmp r1, r2 - beq _0804F564 - adds r0, 0x1 - adds r4, 0x1 - cmp r4, 0x3 - ble _0804F594 -_0804F5A2: - ldr r3, _0804F5C4 @ =gUnknown_03004854 - ldr r1, [r3] - movs r5, 0x98 - lsls r5, 1 - adds r2, r1, r5 - movs r0, 0 - str r0, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, [r3] - movs r0, 0x9E - lsls r0, 1 - adds r1, r0 - b _0804F74C - .align 2, 0 -_0804F5C0: .4byte gUnknown_082162EC -_0804F5C4: .4byte gUnknown_03004854 -_0804F5C8: - mov r1, r8 - ldr r3, [r1] - movs r2, 0x98 - lsls r2, 1 - adds r1, r3, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bgt _0804F5DE - b _0804F7E6 -_0804F5DE: - movs r5, 0x9E - lsls r5, 1 - adds r0, r3, r5 - adds r4, r3, 0 - adds r4, 0x88 - ldrb r0, [r0] - ldrb r1, [r4] - cmp r0, r1 - bcc _0804F620 - ldr r2, _0804F614 @ =gUnknown_082162F8 - ldr r1, _0804F618 @ =gUnknown_08216300 - ldrb r0, [r4] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldr r2, _0804F61C @ =0xffffa800 - adds r1, r2, 0 - ldrh r0, [r0] - adds r1, r0 - adds r0, r3, 0 - adds r0, 0x54 - strh r1, [r0] - ldrb r0, [r3] - adds r0, 0x1 - b _0804F624 - .align 2, 0 -_0804F614: .4byte gUnknown_082162F8 -_0804F618: .4byte gUnknown_08216300 -_0804F61C: .4byte 0xffffa800 -_0804F620: - ldrb r0, [r3] - subs r0, 0x1 -_0804F624: - strb r0, [r3] - mov r3, r8 - ldr r0, [r3] - movs r5, 0x98 - lsls r5, 1 - adds r0, r5 - movs r1, 0 - str r1, [r0] - b _0804F7E6 -_0804F636: - mov r1, r8 - ldr r0, [r1] - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - bl sub_804F238 - movs r0, 0x2B - bl PlaySE - mov r2, r8 - ldr r0, [r2] - b _0804F710 -_0804F650: - movs r2, 0x80 - lsls r2, 19 - ldrh r0, [r2] - movs r5, 0x80 - lsls r5, 3 - adds r1, r5, 0 - orrs r0, r1 - strh r0, [r2] - mov r0, r8 - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x54 - movs r3, 0x80 - lsls r3, 2 - adds r0, r3, 0 - ldrh r5, [r1] - adds r0, r5 - strh r0, [r1] - movs r0, 0xA1 - lsls r0, 1 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xFF - bls _0804F6D6 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - mov r1, r8 - ldr r3, [r1] - movs r2, 0xA1 - lsls r2, 1 - adds r1, r3, r2 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r1] - ldr r2, _0804F6E8 @ =gUnknown_082162F8 - ldr r1, _0804F6EC @ =gUnknown_08216300 - adds r0, r3, 0 - adds r0, 0x88 - ldrb r0, [r0] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - adds r0, r3, 0 - adds r0, 0x54 - strh r1, [r0] - ldr r1, _0804F6F0 @ =REG_BG2CNT - ldr r5, _0804F6F4 @ =0x00004882 - adds r0, r5, 0 - strh r0, [r1] - movs r0, 0x98 - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0 - str r0, [r1] - movs r0, 0x34 - bl PlaySE - bl BuyMenuDrawFieldObjects -_0804F6D6: - mov r1, r8 - ldr r0, [r1] - movs r2, 0xB4 - lsls r2, 1 - adds r0, r2 - bl sub_8051414 - b _0804F7E6 - .align 2, 0 -_0804F6E8: .4byte gUnknown_082162F8 -_0804F6EC: .4byte gUnknown_08216300 -_0804F6F0: .4byte REG_BG2CNT -_0804F6F4: .4byte 0x00004882 -_0804F6F8: - bl sub_8051B8C - lsls r0, 24 - cmp r0, 0 - beq _0804F70C - ldr r0, _0804F71C @ =gUnknown_03004854 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804F70C: - ldr r0, _0804F71C @ =gUnknown_03004854 - ldr r0, [r0] -_0804F710: - movs r3, 0xB4 - lsls r3, 1 - adds r0, r3 - bl sub_8051414 - b _0804F7E6 - .align 2, 0 -_0804F71C: .4byte gUnknown_03004854 -_0804F720: - ldr r0, _0804F734 @ =gSpriteTemplate_8216548 - movs r2, 0x10 - negs r2, r2 - movs r1, 0x78 - movs r3, 0x3 - bl CreateSprite - ldr r0, _0804F738 @ =gUnknown_03004854 - ldr r1, [r0] - b _0804F74C - .align 2, 0 -_0804F734: .4byte gSpriteTemplate_8216548 -_0804F738: .4byte gUnknown_03004854 -_0804F73C: - mov r5, r8 - ldr r1, [r5] - b _0804F74C -_0804F742: - mov r0, r8 - ldr r1, [r0] - b _0804F74C -_0804F748: - mov r2, r8 - ldr r1, [r2] -_0804F74C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804F7E6 -_0804F754: - bl sub_804F81C - ldr r3, _0804F804 @ =gUnknown_03004854 - ldr r4, [r3] - adds r5, r4, 0 - adds r5, 0x56 - movs r2, 0 - movs r1, 0 - movs r0, 0x80 - strh r0, [r5] - movs r5, 0x96 - lsls r5, 1 - adds r0, r4, r5 - str r1, [r0] - ldr r1, _0804F808 @ =0x0000014b - adds r0, r4, r1 - strb r2, [r0] - ldr r0, [r3] - adds r0, 0x7E - strb r2, [r0] - ldr r0, _0804F80C @ =sub_80501FC - bl SetMainCallback2 - movs r4, 0 - ldr r0, _0804F810 @ =gUnknown_0202E8CC - ldrh r0, [r0] - cmp r4, r0 - bge _0804F7B8 - movs r5, 0xA0 - lsls r5, 20 - ldr r6, _0804F814 @ =gUnknown_08216308 -_0804F792: - ldm r6!, {r0} - lsrs r1, r5, 24 - bl CreateTask - ldr r1, _0804F804 @ =gUnknown_03004854 - ldr r1, [r1] - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - adds r1, r4 - strb r0, [r1] - movs r3, 0x80 - lsls r3, 17 - adds r5, r3 - adds r4, 0x1 - ldr r0, _0804F810 @ =gUnknown_0202E8CC - ldrh r0, [r0] - cmp r4, r0 - blt _0804F792 -_0804F7B8: - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r0, 16 - ldr r4, _0804F818 @ =0x00000193 - cmp r0, r4 - beq _0804F7D6 - bl GetCurrentMapMusic - ldr r1, _0804F804 @ =gUnknown_03004854 - ldr r1, [r1] - movs r5, 0xBC - lsls r5, 1 - adds r1, r5 - strh r0, [r1] -_0804F7D6: - adds r0, r4, 0 - bl PlayBGM - movs r0, 0x35 - bl PlaySE - bl sub_804E290 -_0804F7E6: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804F804: .4byte gUnknown_03004854 -_0804F808: .4byte 0x0000014b -_0804F80C: .4byte sub_80501FC -_0804F810: .4byte gUnknown_0202E8CC -_0804F814: .4byte gUnknown_08216308 -_0804F818: .4byte 0x00000193 - thumb_func_end sub_804F378 - - thumb_func_start sub_804F81C -sub_804F81C: @ 804F81C - push {lr} - ldr r3, _0804F83C @ =gSendCmd - movs r0, 0 - ldr r1, _0804F840 @ =gRecvCmds - movs r2, 0x3 -_0804F826: - strh r0, [r3] - strh r0, [r3, 0x4] - strh r0, [r1] - strh r0, [r1, 0x10] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _0804F826 - pop {r0} - bx r0 - .align 2, 0 -_0804F83C: .4byte gSendCmd -_0804F840: .4byte gRecvCmds - thumb_func_end sub_804F81C - - thumb_func_start sub_804F844 -sub_804F844: @ 804F844 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _0804F884 @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r4, 0xA - ldrsh r1, [r2, r4] - cmp r0, r1 - ble _0804F87C - ldr r0, _0804F888 @ =gRecvCmds - movs r4, 0xC - ldrsh r1, [r2, r4] - lsls r1, 1 - adds r0, 0x10 - adds r1, r0 - ldr r0, _0804F88C @ =0x00002345 - strh r0, [r1] - adds r0, r3, 0 - bl DestroyTask -_0804F87C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804F884: .4byte gTasks -_0804F888: .4byte gRecvCmds -_0804F88C: .4byte 0x00002345 - thumb_func_end sub_804F844 - - thumb_func_start sub_804F890 -sub_804F890: @ 804F890 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0804F8C0 @ =sub_804F844 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0804F8C4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - strh r5, [r1, 0xC] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804F8C0: .4byte sub_804F844 -_0804F8C4: .4byte gTasks - thumb_func_end sub_804F890 - - thumb_func_start sub_804F8C8 -sub_804F8C8: @ 804F8C8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _0804F934 @ =gUnknown_03004854 - ldr r0, [r4] - adds r0, 0x54 - ldrh r0, [r0] - movs r1, 0x1 - bl task_tutorial_oak_boy_girl - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _0804F8E6 - b _0804F9DC -_0804F8E6: - ldr r2, _0804F938 @ =gTasks - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r6, r1, 0 - cmp r0, 0 - beq _0804F8FC - b _0804F9EA -_0804F8FC: - ldr r0, [r4] - ldr r1, _0804F93C @ =0x0000014b - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0804F9BE - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0804F940 @ =0x0000028f - bl __udivsi3 - lsls r0, 24 - lsrs r1, r0, 24 - adds r3, r1, 0 - ldr r0, [r4] - adds r0, 0x56 - movs r4, 0 - ldrsh r2, [r0, r4] - ldr r0, _0804F944 @ =0x000001f3 - cmp r2, r0 - bgt _0804F964 - cmp r1, 0x4B - bls _0804F950 - ldr r1, _0804F948 @ =gRecvCmds - ldr r0, _0804F94C @ =0x00004523 - b _0804F954 - .align 2, 0 -_0804F934: .4byte gUnknown_03004854 -_0804F938: .4byte gTasks -_0804F93C: .4byte 0x0000014b -_0804F940: .4byte 0x0000028f -_0804F944: .4byte 0x000001f3 -_0804F948: .4byte gRecvCmds -_0804F94C: .4byte 0x00004523 -_0804F950: - ldr r1, _0804F95C @ =gRecvCmds - ldr r0, _0804F960 @ =0x00005432 -_0804F954: - strh r0, [r1, 0x12] - ldr r0, _0804F960 @ =0x00005432 - b _0804F9C2 - .align 2, 0 -_0804F95C: .4byte gRecvCmds -_0804F960: .4byte 0x00005432 -_0804F964: - ldr r0, _0804F980 @ =0x000005db - cmp r2, r0 - bgt _0804F992 - cmp r1, 0x50 - bhi _0804F9BE - adds r0, r1, 0 - subs r0, 0x15 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3B - bhi _0804F98C - ldr r1, _0804F984 @ =gRecvCmds - ldr r0, _0804F988 @ =0x00005432 - b _0804F9C2 - .align 2, 0 -_0804F980: .4byte 0x000005db -_0804F984: .4byte gRecvCmds -_0804F988: .4byte 0x00005432 -_0804F98C: - cmp r1, 0x9 - bhi _0804F9C4 - b _0804F9B4 -_0804F992: - cmp r1, 0x5A - bhi _0804F9BE - adds r0, r1, 0 - subs r0, 0x47 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _0804F9B0 - ldr r1, _0804F9A8 @ =gRecvCmds - ldr r0, _0804F9AC @ =0x00005432 - b _0804F9C2 - .align 2, 0 -_0804F9A8: .4byte gRecvCmds -_0804F9AC: .4byte 0x00005432 -_0804F9B0: - cmp r3, 0x1D - bhi _0804F9C4 -_0804F9B4: - movs r0, 0x1 - movs r1, 0x5 - bl sub_804F890 - b _0804F9C4 -_0804F9BE: - ldr r1, _0804F9D0 @ =gRecvCmds - ldr r0, _0804F9D4 @ =0x00004523 -_0804F9C2: - strh r0, [r1, 0x12] -_0804F9C4: - ldr r0, _0804F9D8 @ =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - b _0804F9E8 - .align 2, 0 -_0804F9D0: .4byte gRecvCmds -_0804F9D4: .4byte 0x00004523 -_0804F9D8: .4byte gTasks -_0804F9DC: - ldr r0, _0804F9F0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0 -_0804F9E8: - strh r0, [r1, 0x8] -_0804F9EA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804F9F0: .4byte gTasks - thumb_func_end sub_804F8C8 - - thumb_func_start sub_804F9F4 -sub_804F9F4: @ 804F9F4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, _0804FA78 @ =gUnknown_03004854 - ldr r3, [r6] - adds r0, r3, 0 - adds r0, 0x54 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldr r1, _0804FA7C @ =0x0000ffff - ands r0, r1 - adds r1, r3, 0 - adds r1, 0xA6 - ldrb r1, [r1] - lsrs r2, r0, 8 - ldr r0, _0804FA80 @ =gUnknown_08216303 - adds r1, r0 - ldrb r1, [r1] - adds r0, r1, 0 - adds r0, 0x14 - cmp r2, r0 - bls _0804FB04 - adds r0, 0x14 - cmp r2, r0 - bcs _0804FB04 - ldr r2, _0804FA84 @ =gTasks - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r2, r0, r2 - movs r5, 0x8 - ldrsh r0, [r2, r5] - adds r5, r1, 0 - cmp r0, 0 - bne _0804FB12 - ldr r1, _0804FA88 @ =0x0000014b - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0804FAF0 - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0804FA8C @ =0x0000028f - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - ldr r0, [r6] - adds r0, 0x56 - movs r6, 0 - ldrsh r1, [r0, r6] - ldr r0, _0804FA90 @ =0x000001f3 - cmp r1, r0 - bgt _0804FAAC - cmp r2, 0x42 - bls _0804FA9C - ldr r1, _0804FA94 @ =gRecvCmds - ldr r0, _0804FA98 @ =0x00004523 - strh r0, [r1, 0x14] - b _0804FAD4 - .align 2, 0 -_0804FA78: .4byte gUnknown_03004854 -_0804FA7C: .4byte 0x0000ffff -_0804FA80: .4byte gUnknown_08216303 -_0804FA84: .4byte gTasks -_0804FA88: .4byte 0x0000014b -_0804FA8C: .4byte 0x0000028f -_0804FA90: .4byte 0x000001f3 -_0804FA94: .4byte gRecvCmds -_0804FA98: .4byte 0x00004523 -_0804FA9C: - ldr r1, _0804FAA4 @ =gRecvCmds - ldr r0, _0804FAA8 @ =0x00005432 - strh r0, [r1, 0x14] - b _0804FAD4 - .align 2, 0 -_0804FAA4: .4byte gRecvCmds -_0804FAA8: .4byte 0x00005432 -_0804FAAC: - cmp r2, 0x41 - bls _0804FAB6 - ldr r1, _0804FAE0 @ =gRecvCmds - ldr r0, _0804FAE4 @ =0x00004523 - strh r0, [r1, 0x14] -_0804FAB6: - adds r0, r2, 0 - subs r0, 0x29 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x18 - bhi _0804FAC8 - ldr r1, _0804FAE0 @ =gRecvCmds - ldr r0, _0804FAE8 @ =0x00005432 - strh r0, [r1, 0x14] -_0804FAC8: - cmp r3, 0x9 - bhi _0804FAD4 - movs r0, 0x2 - movs r1, 0x5 - bl sub_804F890 -_0804FAD4: - ldr r0, _0804FAEC @ =gTasks - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - b _0804FB10 - .align 2, 0 -_0804FAE0: .4byte gRecvCmds -_0804FAE4: .4byte 0x00004523 -_0804FAE8: .4byte 0x00005432 -_0804FAEC: .4byte gTasks -_0804FAF0: - ldr r0, _0804FAFC @ =gRecvCmds - ldr r1, _0804FB00 @ =0x00004523 - strh r1, [r0, 0x14] - movs r0, 0x1 - strh r0, [r2, 0x8] - b _0804FB12 - .align 2, 0 -_0804FAFC: .4byte gRecvCmds -_0804FB00: .4byte 0x00004523 -_0804FB04: - ldr r0, _0804FB18 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0 -_0804FB10: - strh r0, [r1, 0x8] -_0804FB12: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804FB18: .4byte gTasks - thumb_func_end sub_804F9F4 - - thumb_func_start sub_804FB1C -sub_804FB1C: @ 804FB1C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, _0804FB9C @ =gUnknown_03004854 - ldr r3, [r5] - adds r0, r3, 0 - adds r0, 0x54 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldr r1, _0804FBA0 @ =0x0000ffff - ands r0, r1 - adds r1, r3, 0 - adds r1, 0xA8 - ldrb r1, [r1] - lsrs r2, r0, 8 - ldr r0, _0804FBA4 @ =gUnknown_08216303 - adds r1, r0 - ldrb r1, [r1] - adds r0, r1, 0 - adds r0, 0x14 - cmp r2, r0 - bls _0804FC30 - adds r0, 0x14 - cmp r2, r0 - bcs _0804FC30 - ldr r2, _0804FBA8 @ =gTasks - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r2, r0, r2 - movs r6, 0x8 - ldrsh r0, [r2, r6] - adds r6, r1, 0 - cmp r0, 0 - bne _0804FC3E - ldr r1, _0804FBAC @ =0x0000014b - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0804FC1C - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0804FBB0 @ =0x0000028f - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, [r5] - adds r0, 0x56 - movs r3, 0 - ldrsh r1, [r0, r3] - ldr r0, _0804FBB4 @ =0x000001f3 - cmp r1, r0 - bgt _0804FBD0 - cmp r2, 0x58 - bls _0804FBC0 - ldr r1, _0804FBB8 @ =gRecvCmds - ldr r0, _0804FBBC @ =0x00004523 - strh r0, [r1, 0x16] - b _0804FC02 - .align 2, 0 -_0804FB9C: .4byte gUnknown_03004854 -_0804FBA0: .4byte 0x0000ffff -_0804FBA4: .4byte gUnknown_08216303 -_0804FBA8: .4byte gTasks -_0804FBAC: .4byte 0x0000014b -_0804FBB0: .4byte 0x0000028f -_0804FBB4: .4byte 0x000001f3 -_0804FBB8: .4byte gRecvCmds -_0804FBBC: .4byte 0x00004523 -_0804FBC0: - ldr r1, _0804FBC8 @ =gRecvCmds - ldr r0, _0804FBCC @ =0x00005432 - strh r0, [r1, 0x16] - b _0804FC02 - .align 2, 0 -_0804FBC8: .4byte gRecvCmds -_0804FBCC: .4byte 0x00005432 -_0804FBD0: - cmp r2, 0x3C - bls _0804FBE4 - ldr r1, _0804FBDC @ =gRecvCmds - ldr r0, _0804FBE0 @ =0x00004523 - b _0804FBF4 - .align 2, 0 -_0804FBDC: .4byte gRecvCmds -_0804FBE0: .4byte 0x00004523 -_0804FBE4: - adds r0, r2, 0 - subs r0, 0x38 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _0804FBF6 - ldr r1, _0804FC10 @ =gRecvCmds - ldr r0, _0804FC14 @ =0x00005432 -_0804FBF4: - strh r0, [r1, 0x16] -_0804FBF6: - cmp r2, 0x4 - bhi _0804FC02 - movs r0, 0x3 - movs r1, 0x5 - bl sub_804F890 -_0804FC02: - ldr r0, _0804FC18 @ =gTasks - adds r1, r6, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - b _0804FC3C - .align 2, 0 -_0804FC10: .4byte gRecvCmds -_0804FC14: .4byte 0x00005432 -_0804FC18: .4byte gTasks -_0804FC1C: - ldr r0, _0804FC28 @ =gRecvCmds - ldr r1, _0804FC2C @ =0x00004523 - strh r1, [r0, 0x16] - movs r0, 0x1 - strh r0, [r2, 0x8] - b _0804FC3E - .align 2, 0 -_0804FC28: .4byte gRecvCmds -_0804FC2C: .4byte 0x00004523 -_0804FC30: - ldr r0, _0804FC44 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0 -_0804FC3C: - strh r0, [r1, 0x8] -_0804FC3E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804FC44: .4byte gTasks - thumb_func_end sub_804FB1C - - thumb_func_start sub_804FC48 -sub_804FC48: @ 804FC48 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r7, r0, 16 - mov r8, r7 - lsls r1, 24 - ldr r0, _0804FCBC @ =gSpriteTemplate_821645C - ldr r4, _0804FCC0 @ =gUnknown_082162E4 - lsrs r1, 23 - adds r2, r1, r4 - ldrb r6, [r2] - ldr r5, _0804FCC4 @ =gUnknown_082162CC - adds r2, r1, r5 - movs r3, 0 - ldrsb r3, [r2, r3] - lsls r2, r3, 2 - adds r2, r3 - lsls r2, 1 - subs r6, r2 - adds r4, 0x1 - adds r4, r1, r4 - ldrb r2, [r4] - adds r5, 0x1 - adds r1, r5 - movs r3, 0 - ldrsb r3, [r1, r3] - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 1 - subs r2, r1 - adds r1, r6, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - ldr r0, _0804FCC8 @ =0x00004523 - cmp r7, r0 - bne _0804FCD4 - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - ldr r5, _0804FCCC @ =gSprites - adds r0, r4, r5 - movs r1, 0x2 - bl StartSpriteAnim - adds r5, 0x1C - adds r4, r5 - ldr r0, _0804FCD0 @ =sub_8051684 - str r0, [r4] - movs r0, 0x28 - bl PlaySE - b _0804FD18 - .align 2, 0 -_0804FCBC: .4byte gSpriteTemplate_821645C -_0804FCC0: .4byte gUnknown_082162E4 -_0804FCC4: .4byte gUnknown_082162CC -_0804FCC8: .4byte 0x00004523 -_0804FCCC: .4byte gSprites -_0804FCD0: .4byte sub_8051684 -_0804FCD4: - ldr r0, _0804FCF4 @ =0x00005432 - cmp r7, r0 - bne _0804FCFC - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804FCF8 @ =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAnim - movs r0, 0x1F - bl PlaySE - b _0804FD18 - .align 2, 0 -_0804FCF4: .4byte 0x00005432 -_0804FCF8: .4byte gSprites -_0804FCFC: - ldr r0, _0804FD28 @ =0x00002345 - cmp r8, r0 - bne _0804FD18 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, _0804FD2C @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0x20 - bl PlaySE -_0804FD18: - bl sub_805156C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804FD28: .4byte 0x00002345 -_0804FD2C: .4byte gSprites - thumb_func_end sub_804FC48 - - thumb_func_start sub_804FD30 -sub_804FD30: @ 804FD30 - push {r4-r7,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r5, r4, 0 - bl sub_804E290 - ldr r0, _0804FD50 @ =0x00004523 - cmp r4, r0 - beq _0804FD64 - cmp r4, r0 - bgt _0804FD58 - ldr r0, _0804FD54 @ =0x00002345 - cmp r4, r0 - beq _0804FE34 - b _0804FE60 - .align 2, 0 -_0804FD50: .4byte 0x00004523 -_0804FD54: .4byte 0x00002345 -_0804FD58: - ldr r0, _0804FD60 @ =0x00005432 - cmp r5, r0 - beq _0804FDFC - b _0804FE60 - .align 2, 0 -_0804FD60: .4byte 0x00005432 -_0804FD64: - ldr r7, _0804FD94 @ =gUnknown_03004854 - ldr r4, [r7] - adds r5, r4, 0 - adds r5, 0x56 - ldrh r6, [r5] - movs r0, 0 - ldrsh r1, [r5, r0] - ldr r0, _0804FD98 @ =0x000005db - cmp r1, r0 - bgt _0804FDA0 - ldr r1, _0804FD9C @ =gUnknown_082165DA - adds r0, r4, 0 - adds r0, 0x88 - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0xC0 - lsls r0, 1 - bl __divsi3 - adds r0, r6, r0 - strh r0, [r5] - b _0804FE60 - .align 2, 0 -_0804FD94: .4byte gUnknown_03004854 -_0804FD98: .4byte 0x000005db -_0804FD9C: .4byte gUnknown_082165DA -_0804FDA0: - ldr r1, _0804FDF8 @ =gUnknown_082165DA - adds r0, r4, 0 - adds r0, 0x88 - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x80 - bl __divsi3 - adds r0, r6, r0 - strh r0, [r5] - movs r1, 0xA2 - lsls r1, 1 - adds r4, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - subs r1, 0xA - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8051AC8 - ldr r0, [r7] - movs r1, 0xA3 - lsls r1, 1 - adds r4, r0, r1 - adds r0, 0x56 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - subs r1, 0xA - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8051AC8 - b _0804FE60 - .align 2, 0 -_0804FDF8: .4byte gUnknown_082165DA -_0804FDFC: - ldr r0, _0804FE28 @ =gUnknown_03004854 - ldr r2, [r0] - adds r4, r2, 0 - adds r4, 0x56 - ldrh r5, [r4] - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r0, _0804FE2C @ =0x000005db - cmp r1, r0 - bgt _0804FE60 - ldr r1, _0804FE30 @ =gUnknown_082165DA - adds r0, r2, 0 - adds r0, 0x88 - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x80 - lsls r0, 1 - bl __divsi3 - adds r0, r5, r0 - b _0804FE5E - .align 2, 0 -_0804FE28: .4byte gUnknown_03004854 -_0804FE2C: .4byte 0x000005db -_0804FE30: .4byte gUnknown_082165DA -_0804FE34: - ldr r0, _0804FE68 @ =gUnknown_03004854 - ldr r0, [r0] - adds r4, r0, 0 - adds r4, 0x56 - ldr r1, _0804FE6C @ =gUnknown_082165DA - adds r0, 0x88 - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x80 - lsls r0, 1 - bl __divsi3 - ldrh r1, [r4] - subs r1, r0 - strh r1, [r4] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - bgt _0804FE60 - movs r0, 0x80 -_0804FE5E: - strh r0, [r4] -_0804FE60: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804FE68: .4byte gUnknown_03004854 -_0804FE6C: .4byte gUnknown_082165DA - thumb_func_end sub_804FD30 - - thumb_func_start sub_804FE70 -sub_804FE70: @ 804FE70 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r0, _0804FF40 @ =gUnknown_0202E8CC - ldrh r0, [r0] - cmp r0, 0 - beq _0804FEB6 - ldr r3, _0804FF44 @ =gSendCmd - ldrh r0, [r3, 0x4] - ldr r2, _0804FF48 @ =gRecvCmds - cmp r0, 0 - beq _0804FE98 - movs r1, 0 - strh r0, [r2, 0x10] - ldr r0, _0804FF4C @ =0x00004444 - strh r0, [r2] - strh r1, [r3, 0x4] -_0804FE98: - ldr r0, _0804FF48 @ =gRecvCmds - ldr r3, _0804FF4C @ =0x00004444 - adds r1, r2, 0x2 - adds r2, r0, 0 - adds r2, 0x12 - movs r6, 0x2 -_0804FEA4: - ldrh r0, [r2] - cmp r0, 0 - beq _0804FEAC - strh r3, [r1] -_0804FEAC: - adds r1, 0x2 - adds r2, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _0804FEA4 -_0804FEB6: - movs r6, 0 - ldr r7, _0804FF50 @ =gUnknown_03004854 - adds r1, r7, 0 - ldr r0, [r1] - adds r0, 0x88 - ldrb r0, [r0] - cmp r6, r0 - blt _0804FEC8 - b _0805005C -_0804FEC8: - movs r2, 0 - str r2, [sp] - mov r9, r2 - ldr r0, _0804FF48 @ =gRecvCmds - adds r0, 0x10 - mov r8, r0 - ldr r1, _0804FF54 @ =0x00005432 - mov r10, r1 -_0804FED8: - ldr r2, [sp] - ldr r1, _0804FF48 @ =gRecvCmds - adds r0, r2, r1 - ldrh r1, [r0] - ldr r0, _0804FF4C @ =0x00004444 - cmp r1, r0 - beq _0804FEE8 - b _0805003E -_0804FEE8: - ldr r0, [r7] - adds r0, 0xA2 - adds r0, r2 - ldrh r5, [r0] - mov r2, r8 - ldrh r4, [r2] - ldr r0, _0804FF58 @ =0x00004523 - cmp r4, r0 - bne _0804FF60 - bl sub_804FD30 - ldr r0, [r7] - movs r1, 0x9F - lsls r1, 1 - adds r4, r0, r1 - adds r0, 0x56 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0x37 - bl __divsi3 - ldrh r1, [r4] - adds r1, r0 - strh r1, [r4] - lsls r1, 16 - ldr r0, _0804FF5C @ =0x03e70000 - cmp r1, r0 - bls _0804FF26 - movs r0, 0xFA - lsls r0, 2 - strh r0, [r4] -_0804FF26: - lsls r1, r5, 24 - lsrs r1, 24 - ldr r0, _0804FF58 @ =0x00004523 - bl sub_804FC48 - ldr r1, [r7] - movs r0, 0xA6 - lsls r0, 1 - adds r1, r0 - add r1, r9 - ldrh r0, [r1] - adds r0, 0x1 - b _0804FFCA - .align 2, 0 -_0804FF40: .4byte gUnknown_0202E8CC -_0804FF44: .4byte gSendCmd -_0804FF48: .4byte gRecvCmds -_0804FF4C: .4byte 0x00004444 -_0804FF50: .4byte gUnknown_03004854 -_0804FF54: .4byte 0x00005432 -_0804FF58: .4byte 0x00004523 -_0804FF5C: .4byte 0x03e70000 -_0804FF60: - cmp r4, r10 - bne _0804FF9E - mov r0, r10 - bl sub_804FD30 - ldr r0, [r7] - movs r1, 0x9F - lsls r1, 1 - adds r4, r0, r1 - adds r0, 0x56 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0x46 - bl __divsi3 - ldrh r1, [r4] - adds r1, r0 - strh r1, [r4] - lsls r1, r5, 24 - lsrs r1, 24 - mov r0, r10 - bl sub_804FC48 - ldr r1, [r7] - movs r0, 0xA7 - lsls r0, 1 - adds r1, r0 - add r1, r9 - ldrh r0, [r1] - adds r0, 0x1 - b _0804FFCA -_0804FF9E: - ldr r0, _08050018 @ =0x00002345 - cmp r4, r0 - bne _0804FFD6 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_804FC48 - adds r0, r4, 0 - bl sub_804FD30 - ldr r0, [r7] - movs r1, 0xA8 - lsls r1, 1 - adds r0, r1 - mov r2, r9 - adds r1, r0, r2 - ldrh r2, [r1] - ldr r0, _0805001C @ =0x000003e6 - cmp r2, r0 - bhi _0804FFCC - adds r0, r2, 0x1 -_0804FFCA: - strh r0, [r1] -_0804FFCC: - mov r0, r8 - ldrh r1, [r0] - ldr r0, _08050018 @ =0x00002345 - cmp r1, r0 - beq _0804FFE4 -_0804FFD6: - mov r1, r8 - ldrh r0, [r1] - ldr r2, _08050020 @ =0x00004523 - cmp r0, r2 - beq _0804FFE4 - cmp r0, r10 - bne _0805003E -_0804FFE4: - ldr r0, _08050024 @ =gUnknown_03004854 - ldr r0, [r0] - adds r2, r0, 0 - adds r2, 0x56 - movs r0, 0 - ldrsh r1, [r2, r0] - ldr r0, _08050028 @ =0x000005dc - cmp r1, r0 - ble _08050034 - adds r0, r1, 0 - ldr r2, _0805002C @ =0xfffffd12 - adds r0, r2 - movs r1, 0x14 - bl __divsi3 - adds r1, r0, 0 - movs r0, 0x80 - lsls r0, 1 - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _08050030 @ =gMPlay_BGM - bl m4aMPlayTempoControl - b _0805003E - .align 2, 0 -_08050018: .4byte 0x00002345 -_0805001C: .4byte 0x000003e6 -_08050020: .4byte 0x00004523 -_08050024: .4byte gUnknown_03004854 -_08050028: .4byte 0x000005dc -_0805002C: .4byte 0xfffffd12 -_08050030: .4byte gMPlay_BGM -_08050034: - ldr r0, _08050098 @ =gMPlay_BGM - movs r1, 0x80 - lsls r1, 1 - bl m4aMPlayTempoControl -_0805003E: - ldr r1, [sp] - adds r1, 0x2 - str r1, [sp] - movs r2, 0x6 - add r9, r2 - movs r0, 0x2 - add r8, r0 - adds r6, 0x1 - ldr r7, _0805009C @ =gUnknown_03004854 - ldr r0, [r7] - adds r0, 0x88 - ldrb r0, [r0] - cmp r6, r0 - bge _0805005C - b _0804FED8 -_0805005C: - ldr r0, _080500A0 @ =gUnknown_0202E8CC - ldrh r0, [r0] - cmp r0, 0 - beq _08050088 - movs r6, 0 - ldr r3, _0805009C @ =gUnknown_03004854 - ldr r0, [r3] - adds r0, 0x88 - ldrb r0, [r0] - cmp r6, r0 - bge _08050088 - movs r2, 0 - ldr r1, _080500A4 @ =gRecvCmds -_08050076: - strh r2, [r1] - strh r2, [r1, 0x10] - adds r1, 0x2 - adds r6, 0x1 - ldr r0, [r3] - adds r0, 0x88 - ldrb r0, [r0] - cmp r6, r0 - blt _08050076 -_08050088: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08050098: .4byte gMPlay_BGM -_0805009C: .4byte gUnknown_03004854 -_080500A0: .4byte gUnknown_0202E8CC -_080500A4: .4byte gRecvCmds - thumb_func_end sub_804FE70 - - thumb_func_start sub_80500A8 -sub_80500A8: @ 80500A8 - push {r4-r6,lr} - movs r6, 0 - ldr r5, _080500EC @ =gUnknown_03004854 - ldr r4, [r5] - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 23 - adds r4, 0xA2 - adds r4, r0 - ldrb r3, [r4] - ldr r0, [r5] - adds r0, 0x6F - ldrb r0, [r0] - cmp r0, 0 - bne _0805018A - ldr r0, _080500F0 @ =gSaveBlock2 - ldrb r0, [r0, 0x13] - cmp r0, 0x2 - bne _080500FC - ldr r2, _080500F4 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0805010A - ldrh r0, [r2, 0x28] - ldr r1, _080500F8 @ =0x00000201 - bics r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r6, r0, 31 - b _0805010A - .align 2, 0 -_080500EC: .4byte gUnknown_03004854 -_080500F0: .4byte gSaveBlock2 -_080500F4: .4byte gMain -_080500F8: .4byte 0x00000201 -_080500FC: - ldr r0, _0805015C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0805010A - movs r6, 0x1 -_0805010A: - cmp r6, 0 - beq _0805018A - ldr r4, _08050160 @ =gUnknown_03004854 - ldr r1, [r4] - lsls r2, r3, 1 - adds r0, r1, 0 - adds r0, 0x9A - adds r0, r2 - adds r1, 0x5C - ldrh r0, [r0] - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08050164 @ =gSprites - adds r0, r1 - adds r1, r3, 0x4 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - ldr r0, [r4] - adds r0, 0x54 - ldrh r4, [r0] - bl GetMultiplayerId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl task_tutorial_oak_boy_girl - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08050170 - ldr r1, _08050168 @ =gSendCmd - ldr r0, _0805016C @ =0x00004523 - b _08050188 - .align 2, 0 -_0805015C: .4byte gMain -_08050160: .4byte gUnknown_03004854 -_08050164: .4byte gSprites -_08050168: .4byte gSendCmd -_0805016C: .4byte 0x00004523 -_08050170: - cmp r0, 0x1 - bne _08050184 - ldr r1, _0805017C @ =gSendCmd - ldr r0, _08050180 @ =0x00005432 - b _08050188 - .align 2, 0 -_0805017C: .4byte gSendCmd -_08050180: .4byte 0x00005432 -_08050184: - ldr r1, _080501E4 @ =gSendCmd - ldr r0, _080501E8 @ =0x00002345 -_08050188: - strh r0, [r1, 0x4] -_0805018A: - ldr r2, _080501EC @ =gUnknown_03004854 - ldr r1, [r2] - adds r1, 0x7E - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _080501BA - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0x56 - ldrh r3, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0x80 - ble _080501B2 - subs r0, r3, 0x1 - strh r0, [r1] -_080501B2: - ldr r0, [r2] - adds r0, 0x7E - movs r1, 0 - strb r1, [r0] -_080501BA: - ldr r0, _080501F0 @ =gUnknown_020297ED - ldrb r0, [r0] - cmp r0, 0 - beq _080501DE - ldr r0, _080501F4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _080501DE - ldr r0, [r2] - ldr r1, _080501F8 @ =0x0000014b - adds r2, r0, r1 - ldrb r0, [r2] - movs r1, 0x1 - eors r0, r1 - strb r0, [r2] -_080501DE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080501E4: .4byte gSendCmd -_080501E8: .4byte 0x00002345 -_080501EC: .4byte gUnknown_03004854 -_080501F0: .4byte gUnknown_020297ED -_080501F4: .4byte gMain -_080501F8: .4byte 0x0000014b - thumb_func_end sub_80500A8 - - thumb_func_start sub_80501FC -sub_80501FC: @ 80501FC - push {r4-r6,lr} - bl sub_8051474 - ldr r4, _08050294 @ =gUnknown_03004854 - ldr r0, [r4] - movs r1, 0x96 - lsls r1, 1 - adds r2, r0, r1 - ldr r1, [r2] - ldr r0, _08050298 @ =0x00057e03 - cmp r1, r0 - bhi _08050218 - adds r0, r1, 0x1 - str r0, [r2] -_08050218: - bl sub_80500A8 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x56 - ldrh r0, [r0] - movs r5, 0x9F - lsls r5, 1 - adds r1, r5 - ldrh r1, [r1] - bl SetLinkDebugValues - bl sub_804FE70 - ldr r0, [r4] - adds r0, r5 - ldrh r0, [r0] - movs r6, 0xFA - lsls r6, 2 - adds r1, r6, 0 - bl sub_805194C - ldr r0, [r4] - adds r0, 0x56 - ldrh r0, [r0] - bl sub_8051A3C - bl sub_8051B18 - bl sub_805123C - ldr r2, [r4] - adds r3, r2, 0 - adds r3, 0x6F - ldrb r0, [r3] - cmp r0, 0 - bne _0805027E - movs r1, 0xA0 - lsls r1, 1 - adds r0, r2, r1 - ldrh r1, [r0] - ldr r0, _0805029C @ =0x000003e7 - cmp r1, r0 - bls _0805027E - adds r0, r2, r5 - strh r6, [r0] - movs r0, 0x1 - strb r0, [r3] - ldr r0, _080502A0 @ =sub_8050954 - bl SetMainCallback2 -_0805027E: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08050294: .4byte gUnknown_03004854 -_08050298: .4byte 0x00057e03 -_0805029C: .4byte 0x000003e7 -_080502A0: .4byte sub_8050954 - thumb_func_end sub_80501FC - - thumb_func_start help_system_is_not_first_time -help_system_is_not_first_time: @ 80502A4 - push {r4,r5,lr} - lsls r1, 24 - lsls r2, 24 - lsrs r1, 20 - adds r4, r1, r0 - lsrs r2, 20 - adds r5, r2, r0 - ldrh r0, [r4] - ldrh r1, [r5] - cmp r0, r1 - bne _080502E2 - adds r0, r4, 0x2 - adds r1, r5, 0x2 - bl StringCompare - cmp r0, 0 - bne _080502F0 - ldr r0, [r4, 0x8] - ldr r2, _080502E8 @ =0xffffff00 - ands r0, r2 - ldr r1, [r5, 0x8] - ands r1, r2 - cmp r0, r1 - bne _080502F0 - ldr r0, [r4, 0xC] - ldr r2, _080502EC @ =0x00ffffff - ands r0, r2 - ldr r1, [r5, 0xC] - ands r1, r2 - cmp r0, r1 - bne _080502F0 -_080502E2: - movs r0, 0x1 - b _080502F2 - .align 2, 0 -_080502E8: .4byte 0xffffff00 -_080502EC: .4byte 0x00ffffff -_080502F0: - movs r0, 0 -_080502F2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end help_system_is_not_first_time - - thumb_func_start sub_80502F8 -sub_80502F8: @ 80502F8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r10, r0 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x10] - lsls r3, 24 - lsrs r3, 24 - mov r2, sp - movs r4, 0x5 -_08050314: - ldrh r0, [r1] - strh r0, [r2] - adds r1, 0x2 - adds r2, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _08050314 - movs r6, 0 - mov r1, sp - movs r4, 0x4 -_08050328: - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08050332 - adds r6, 0x1 -_08050332: - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _08050328 - cmp r6, 0x5 - beq _08050386 - cmp r3, 0x3 - bhi _08050386 - movs r4, 0 - ldr r3, [sp, 0x10] - cmp r4, r3 - bge _0805039E - mov r3, r10 -_0805034C: - movs r6, 0 - ldr r7, [sp, 0x10] - cmp r6, r7 - bge _08050394 - mov r9, r3 - mov r5, r10 - lsls r0, r4, 24 - mov r8, r0 -_0805035C: - mov r1, r9 - ldrh r0, [r1] - ldrh r2, [r5] - cmp r0, r2 - bne _0805038A - cmp r4, r6 - beq _0805038A - cmp r0, 0xAF - bne _08050386 - lsls r2, r6, 24 - lsrs r2, 24 - mov r0, r10 - mov r7, r8 - lsrs r1, r7, 24 - str r3, [sp, 0xC] - bl help_system_is_not_first_time - lsls r0, 24 - ldr r3, [sp, 0xC] - cmp r0, 0 - beq _0805038A -_08050386: - movs r0, 0xC - b _080504DE -_0805038A: - adds r5, 0x10 - adds r6, 0x1 - ldr r0, [sp, 0x10] - cmp r6, r0 - blt _0805035C -_08050394: - adds r3, 0x10 - adds r4, 0x1 - ldr r1, [sp, 0x10] - cmp r4, r1 - blt _0805034C -_0805039E: - movs r2, 0 - mov r1, sp - movs r4, 0x4 -_080503A4: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _080503B2 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_080503B2: - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080503A4 - cmp r2, 0x3 - bls _080503C2 - movs r0, 0xD - b _080504DE -_080503C2: - cmp r2, 0x3 - bne _080503CA - movs r0, 0xB - b _080504DE -_080503CA: - movs r4, 0 - mov r1, sp -_080503CE: - movs r7, 0 - ldrsh r0, [r1, r7] - cmp r0, 0x32 - ble _080503D8 - b _080504D8 -_080503D8: - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x4 - ble _080503CE - cmp r2, 0x1 - bne _0805042A - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _080503F2 - movs r0, 0x1 - b _080504DE -_080503F2: - mov r0, sp - ldrh r0, [r0, 0x2] - lsls r0, 16 - cmp r0, 0 - ble _08050400 - movs r0, 0x2 - b _080504DE -_08050400: - mov r0, sp - movs r3, 0x4 - ldrsh r0, [r0, r3] - cmp r0, 0 - ble _0805040E - movs r0, 0x3 - b _080504DE -_0805040E: - mov r0, sp - movs r4, 0x6 - ldrsh r0, [r0, r4] - cmp r0, 0 - ble _0805041C - movs r0, 0x4 - b _080504DE -_0805041C: - mov r0, sp - movs r7, 0x8 - ldrsh r0, [r0, r7] - cmp r0, 0 - ble _0805042A - movs r0, 0x5 - b _080504DE -_0805042A: - cmp r2, 0x2 - bne _080504DC - movs r4, 0 - ldr r5, _08050474 @ =gUnknown_03000520 - mov r1, sp - adds r2, r5, 0 -_08050436: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08050442 - strh r4, [r2] - adds r2, 0x2 -_08050442: - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x4 - ble _08050436 - movs r4, 0 - ldrsh r3, [r5, r4] - lsls r0, r3, 1 - mov r7, sp - adds r1, r7, r0 - movs r0, 0x2 - ldrsh r2, [r5, r0] - lsls r0, r2, 1 - add r0, sp - movs r4, 0 - ldrsh r1, [r1, r4] - movs r7, 0 - ldrsh r0, [r0, r7] - cmp r1, r0 - blt _08050498 - adds r0, r3, 0 - cmp r0, 0 - bne _08050478 - lsls r0, r2, 16 - b _080504A2 - .align 2, 0 -_08050474: .4byte gUnknown_03000520 -_08050478: - cmp r0, 0x1 - bne _08050480 - lsls r0, r2, 16 - b _080504AE -_08050480: - cmp r0, 0x2 - bne _08050488 - lsls r0, r2, 16 - b _080504BA -_08050488: - cmp r0, 0x3 - bne _08050490 - lsls r0, r2, 16 - b _080504C6 -_08050490: - cmp r0, 0x4 - bne _080504DC - lsls r0, r2, 16 - b _080504D2 -_08050498: - movs r2, 0x2 - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _080504A8 - lsls r0, r3, 16 -_080504A2: - movs r1, 0x6 - orrs r0, r1 - b _080504DE -_080504A8: - cmp r0, 0x1 - bne _080504B4 - lsls r0, r3, 16 -_080504AE: - movs r1, 0x7 - orrs r0, r1 - b _080504DE -_080504B4: - cmp r0, 0x2 - bne _080504C0 - lsls r0, r3, 16 -_080504BA: - movs r1, 0x8 - orrs r0, r1 - b _080504DE -_080504C0: - cmp r0, 0x3 - bne _080504CC - lsls r0, r3, 16 -_080504C6: - movs r1, 0x9 - orrs r0, r1 - b _080504DE -_080504CC: - cmp r0, 0x4 - bne _080504DC - lsls r0, r3, 16 -_080504D2: - movs r1, 0xA - orrs r0, r1 - b _080504DE -_080504D8: - movs r0, 0xE - b _080504DE -_080504DC: - movs r0, 0 -_080504DE: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80502F8 - - thumb_func_start sub_80504F0 -sub_80504F0: @ 80504F0 - ldr r1, _080504F8 @ =gUnknown_0300052C - strh r0, [r1] - bx lr - .align 2, 0 -_080504F8: .4byte gUnknown_0300052C - thumb_func_end sub_80504F0 - - thumb_func_start unref_sub_80504FC -unref_sub_80504FC: @ 80504FC - ldr r0, _08050504 @ =gUnknown_0300052C - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_08050504: .4byte gUnknown_0300052C - thumb_func_end unref_sub_80504FC - - thumb_func_start sub_8050508 -sub_8050508: @ 8050508 - ldr r1, _08050510 @ =gUnknown_0300052E - strh r0, [r1] - bx lr - .align 2, 0 -_08050510: .4byte gUnknown_0300052E - thumb_func_end sub_8050508 - - thumb_func_start unref_sub_8050514 -unref_sub_8050514: @ 8050514 - ldr r0, _0805051C @ =gUnknown_0300052E - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_0805051C: .4byte gUnknown_0300052E - thumb_func_end unref_sub_8050514 - - thumb_func_start sub_8050520 -sub_8050520: @ 8050520 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - str r0, [sp] - mov r8, r1 - str r3, [sp, 0x4] - ldr r0, [sp, 0x30] - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - ldr r7, _080505DC @ =gUnknown_03000510 - adds r2, r7, 0 - movs r1, 0 - adds r0, r7, 0 - adds r0, 0xA -_0805054A: - strh r1, [r0] - subs r0, 0x2 - cmp r0, r2 - bge _0805054A - movs r6, 0 - cmp r6, r9 - bge _08050580 - ldr r0, _080505DC @ =gUnknown_03000510 - mov r12, r0 - ldr r5, [sp] - adds r5, 0x9 -_08050560: - movs r3, 0 - adds r4, r5, 0 - mov r2, r12 -_08050566: - adds r1, r4, r3 - ldrh r0, [r2] - ldrb r1, [r1] - adds r0, r1 - strh r0, [r2] - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x5 - ble _08050566 - adds r5, 0x10 - adds r6, 0x1 - cmp r6, r9 - blt _08050560 -_08050580: - movs r1, 0 - ldrsh r3, [r7, r1] - ldrh r0, [r7] - ldrh r1, [r7, 0x2] - subs r0, r1 - strh r0, [r7] - ldrh r0, [r7, 0x4] - subs r1, r0 - strh r1, [r7, 0x2] - ldrh r1, [r7, 0x6] - subs r0, r1 - strh r0, [r7, 0x4] - ldrh r0, [r7, 0x8] - subs r1, r0 - strh r1, [r7, 0x6] - subs r0, r3 - strh r0, [r7, 0x8] - movs r3, 0 - movs r2, 0 - adds r1, r7, 0 - movs r6, 0x4 -_080505AA: - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0 - bge _080505B6 - strh r2, [r1] - adds r3, 0x1 -_080505B6: - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _080505AA - lsls r0, r3, 24 - lsrs r0, 24 - mov r10, r0 - movs r4, 0 - ldr r1, _080505DC @ =gUnknown_03000510 - movs r6, 0x4 -_080505CA: - ldrh r2, [r1] - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, 0 - ble _080505E4 - cmp r0, r3 - bge _080505E0 - strh r4, [r1] - b _080505E4 - .align 2, 0 -_080505DC: .4byte gUnknown_03000510 -_080505E0: - subs r0, r2, r3 - strh r0, [r1] -_080505E4: - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _080505CA - ldr r1, _080506C4 @ =gUnknown_03000510 - ldr r2, _080506C8 @ =gUnknown_03000530 - movs r6, 0x4 -_080505F2: - movs r3, 0 - ldrsh r0, [r1, r3] - stm r2!, {r0} - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _080505F2 - ldr r1, _080506CC @ =0x0000014d - ldr r0, [sp, 0x8] - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - adds r3, r0, 0 - adds r3, 0x64 - ldr r4, _080506D0 @ =gUnknown_0300055C - str r3, [r4] - movs r6, 0x4 -_08050616: - movs r0, 0 - ldrsh r5, [r7, r0] - adds r0, r5, 0 - muls r0, r3 - movs r1, 0xA - str r3, [sp, 0xC] - bl __divsi3 - adds r5, r0, 0 - movs r1, 0xA - bl __modsi3 - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 - ldr r3, [sp, 0xC] - cmp r4, 0x4 - ble _08050642 - adds r5, 0x1 -_08050642: - strh r5, [r7] - adds r7, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08050616 - ldr r1, _080506C4 @ =gUnknown_03000510 - ldr r2, _080506D4 @ =gUnknown_03000548 - movs r6, 0x4 -_08050652: - movs r3, 0 - ldrsh r0, [r1, r3] - stm r2!, {r0} - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08050652 - ldr r4, _080506C4 @ =gUnknown_03000510 - ldr r0, [sp] - adds r1, r4, 0 - mov r2, r9 - mov r3, r10 - bl sub_80502F8 - mov r5, r8 - strb r0, [r5] - movs r1, 0xA - ldrsh r0, [r4, r1] - mov r1, r9 - bl __divsi3 - mov r3, r9 - subs r0, r3 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _0805068C - movs r0, 0 - strh r0, [r4, 0xA] -_0805068C: - mov r5, r8 - ldrb r0, [r5] - cmp r0, 0xC - bne _080506E6 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r3, r0, 16 - movs r6, 0 - ldr r0, _080506D8 @ =gUnknown_082165DF - adds r0, r3, r0 - ldrb r0, [r0] - adds r1, r4, 0 - movs r4, 0x1 - movs r3, 0x2 -_080506B4: - adds r2, r0, 0 - asrs r2, r6 - ands r2, r4 - cmp r2, 0 - beq _080506DC - strh r3, [r1] - b _080506DE - .align 2, 0 -_080506C4: .4byte gUnknown_03000510 -_080506C8: .4byte gUnknown_03000530 -_080506CC: .4byte 0x0000014d -_080506D0: .4byte gUnknown_0300055C -_080506D4: .4byte gUnknown_03000548 -_080506D8: .4byte gUnknown_082165DF -_080506DC: - strh r2, [r1] -_080506DE: - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x4 - ble _080506B4 -_080506E6: - ldr r7, _08050740 @ =gUnknown_03000510 - movs r2, 0xFF - adds r1, r7, 0 - movs r6, 0x5 -_080506EE: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0xFF - ble _080506F8 - strh r2, [r1] -_080506F8: - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _080506EE - ldrh r0, [r7] - mov r4, r8 - strb r0, [r4, 0x1] - ldrh r0, [r7, 0x2] - strb r0, [r4, 0x2] - ldrh r0, [r7, 0x4] - strb r0, [r4, 0x3] - ldrh r0, [r7, 0x6] - strb r0, [r4, 0x4] - ldrh r0, [r7, 0x8] - strb r0, [r4, 0x5] - ldrh r0, [r7, 0xA] - strb r0, [r4, 0x6] - movs r6, 0 - adds r2, r7, 0 -_0805071E: - ldr r5, [sp, 0x4] - adds r1, r5, r6 - ldrh r0, [r2] - strb r0, [r1] - adds r2, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _0805071E - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08050740: .4byte gUnknown_03000510 - thumb_func_end sub_8050520 - - thumb_func_start sub_8050744 -sub_8050744: @ 8050744 - push {r4,lr} - sub sp, 0x4 - ldr r4, [sp, 0xC] - lsls r2, 24 - lsrs r2, 24 - lsls r4, 16 - lsrs r4, 16 - str r4, [sp] - bl sub_8050520 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8050744 - - thumb_func_start sub_8050760 -sub_8050760: @ 8050760 - push {r4-r6,lr} - ldr r0, _08050780 @ =gUnknown_03004854 - ldr r0, [r0] - movs r2, 0x96 - lsls r2, 1 - adds r1, r0, r2 - ldrh r1, [r1] - adds r0, 0x5A - ldrh r4, [r0] - movs r2, 0 - ldr r5, _08050784 @ =0x00000383 - cmp r1, r5 - bhi _08050788 - movs r2, 0x5 - b _080507DA - .align 2, 0 -_08050780: .4byte gUnknown_03004854 -_08050784: .4byte 0x00000383 -_08050788: - ldr r3, _0805079C @ =0xfffffc7c - adds r0, r1, r3 - lsls r0, 16 - lsrs r0, 16 - ldr r3, _080507A0 @ =0x00000257 - cmp r0, r3 - bhi _080507A4 - movs r2, 0x4 - b _080507DA - .align 2, 0 -_0805079C: .4byte 0xfffffc7c -_080507A0: .4byte 0x00000257 -_080507A4: - ldr r6, _080507B4 @ =0xfffffa24 - adds r0, r1, r6 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r3 - bhi _080507B8 - movs r2, 0x3 - b _080507DA - .align 2, 0 -_080507B4: .4byte 0xfffffa24 -_080507B8: - ldr r3, _080507C8 @ =0xfffff7cc - adds r0, r1, r3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r5 - bhi _080507CC - movs r2, 0x2 - b _080507DA - .align 2, 0 -_080507C8: .4byte 0xfffff7cc -_080507CC: - ldr r6, _080507F8 @ =0xfffff31c - adds r0, r1, r6 - lsls r0, 16 - ldr r1, _080507FC @ =0x012b0000 - cmp r0, r1 - bhi _080507DA - movs r2, 0x1 -_080507DA: - lsls r0, r2, 16 - asrs r0, 16 - bl sub_8050508 - movs r2, 0 - cmp r4, 0x40 - bhi _080508BC - adds r0, r4, 0 - subs r0, 0x32 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08050804 - ldr r2, _08050800 @ =0x0000ffff - b _080508BC - .align 2, 0 -_080507F8: .4byte 0xfffff31c -_080507FC: .4byte 0x012b0000 -_08050800: .4byte 0x0000ffff -_08050804: - adds r0, r4, 0 - subs r0, 0x64 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08050818 - ldr r2, _08050814 @ =0x0000fffe - b _080508BC - .align 2, 0 -_08050814: .4byte 0x0000fffe -_08050818: - adds r0, r4, 0 - subs r0, 0x96 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _0805082C - ldr r2, _08050828 @ =0x0000fffd - b _080508BC - .align 2, 0 -_08050828: .4byte 0x0000fffd -_0805082C: - adds r0, r4, 0 - subs r0, 0xC8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08050840 - ldr r2, _0805083C @ =0x0000fffc - b _080508BC - .align 2, 0 -_0805083C: .4byte 0x0000fffc -_08050840: - adds r0, r4, 0 - subs r0, 0xFA - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08050854 - ldr r2, _08050850 @ =0x0000fffb - b _080508BC - .align 2, 0 -_08050850: .4byte 0x0000fffb -_08050854: - ldr r1, _08050864 @ =0xfffffea2 - adds r0, r4, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _0805086C - ldr r2, _08050868 @ =0x0000fffa - b _080508BC - .align 2, 0 -_08050864: .4byte 0xfffffea2 -_08050868: .4byte 0x0000fffa -_0805086C: - ldr r3, _0805087C @ =0xfffffe70 - adds r0, r4, r3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08050884 - ldr r2, _08050880 @ =0x0000fff9 - b _080508BC - .align 2, 0 -_0805087C: .4byte 0xfffffe70 -_08050880: .4byte 0x0000fff9 -_08050884: - ldr r6, _08050894 @ =0xfffffe0c - adds r0, r4, r6 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _0805089C - ldr r2, _08050898 @ =0x0000fff8 - b _080508BC - .align 2, 0 -_08050894: .4byte 0xfffffe0c -_08050898: .4byte 0x0000fff8 -_0805089C: - ldr r1, _080508AC @ =0xfffffdda - adds r0, r4, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _080508B4 - ldr r2, _080508B0 @ =0x0000fff7 - b _080508BC - .align 2, 0 -_080508AC: .4byte 0xfffffdda -_080508B0: .4byte 0x0000fff7 -_080508B4: - ldr r0, _080508CC @ =0x00000257 - cmp r4, r0 - bls _080508BC - ldr r2, _080508D0 @ =0x0000fff6 -_080508BC: - lsls r0, r2, 16 - asrs r0, 16 - bl sub_80504F0 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080508CC: .4byte 0x00000257 -_080508D0: .4byte 0x0000fff6 - thumb_func_end sub_8050760 - - thumb_func_start sub_80508D4 -sub_80508D4: @ 80508D4 - push {lr} - ldr r2, _080508F8 @ =gUnknown_03004854 - ldr r1, [r2] - adds r1, 0xAA - strb r0, [r1] - ldr r0, [r2] - adds r0, 0xAA - ldrb r1, [r0] - lsls r1, 28 - movs r0, 0x90 - lsls r0, 23 - adds r1, r0 - lsrs r1, 24 - movs r0, 0xC0 - bl sub_814A880 - pop {r0} - bx r0 - .align 2, 0 -_080508F8: .4byte gUnknown_03004854 - thumb_func_end sub_80508D4 - - thumb_func_start sub_80508FC -sub_80508FC: @ 80508FC - push {r4,lr} - sub sp, 0x4 - ldr r4, _08050944 @ =gUnknown_03004854 - ldr r0, [r4] - adds r0, 0xAA - movs r1, 0 - strb r1, [r0] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1C - movs r3, 0xD - bl MenuDrawTextWindow - ldr r1, _08050948 @ =0x0000ffff - ldr r3, _0805094C @ =0x00002d9f - movs r0, 0x20 - str r0, [sp] - movs r0, 0 - movs r2, 0xC - bl sub_814A5C0 - ldr r0, _08050950 @ =gOtherText_YesNoTerminating - movs r1, 0x18 - movs r2, 0x9 - bl MenuPrint - ldr r0, [r4] - adds r0, 0xAA - ldrb r0, [r0] - bl sub_80508D4 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08050944: .4byte gUnknown_03004854 -_08050948: .4byte 0x0000ffff -_0805094C: .4byte 0x00002d9f -_08050950: .4byte gOtherText_YesNoTerminating - thumb_func_end sub_80508FC - - thumb_func_start sub_8050954 -sub_8050954: @ 8050954 - push {r4-r7,lr} - bl sub_8051474 - bl GetMultiplayerId - ldr r0, _08050978 @ =gUnknown_03004854 - ldr r0, [r0] - adds r0, 0x6F - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0xC - bls _0805096E - b _08050CB6 -_0805096E: - lsls r0, 2 - ldr r1, _0805097C @ =_08050980 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08050978: .4byte gUnknown_03004854 -_0805097C: .4byte _08050980 - .align 2, 0 -_08050980: - .4byte _080509B4 - .4byte _080509F8 - .4byte _08050A4C - .4byte _08050A94 - .4byte _08050AD0 - .4byte _08050ADE - .4byte _08050B08 - .4byte _08050B34 - .4byte _08050B42 - .4byte _08050B58 - .4byte _08050BE0 - .4byte _08050C64 - .4byte _08050C98 -_080509B4: - bl ClearLinkCallback - ldr r0, _080509C8 @ =gMPlay_BGM - movs r1, 0x80 - lsls r1, 1 - bl m4aMPlayTempoControl - movs r4, 0 - b _080509E4 - .align 2, 0 -_080509C8: .4byte gMPlay_BGM -_080509CC: - ldr r0, _080509F0 @ =gUnknown_03004854 - ldr r0, [r0] - movs r1, 0xA4 - lsls r1, 1 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - bl DestroyTask - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080509E4: - ldr r0, _080509F4 @ =gUnknown_0202E8CC - ldrh r0, [r0] - cmp r4, r0 - bcc _080509CC - b _08050C82 - .align 2, 0 -_080509F0: .4byte gUnknown_03004854 -_080509F4: .4byte gUnknown_0202E8CC -_080509F8: - ldr r1, _08050A24 @ =gUnknown_03004854 - ldr r3, [r1] - adds r2, r3, 0 - adds r2, 0x56 - ldrh r0, [r2] - subs r0, 0x20 - strh r0, [r2] - lsls r0, 16 - adds r4, r1, 0 - cmp r0, 0 - bgt _08050A40 - movs r0, 0 - strh r0, [r2] - ldr r0, _08050A28 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08050A2C - adds r1, r3, 0 - adds r1, 0x6F - ldrb r0, [r1] - adds r0, 0x1 - b _08050A32 - .align 2, 0 -_08050A24: .4byte gUnknown_03004854 -_08050A28: .4byte gReceivedRemoteLinkPlayers -_08050A2C: - adds r1, r3, 0 - adds r1, 0x6F - movs r0, 0x5 -_08050A32: - strb r0, [r1] - ldr r0, [r4] - movs r1, 0 - strb r1, [r0] - ldr r0, _08050A48 @ =gMPlay_SE2 - bl m4aMPlayStop -_08050A40: - bl sub_804E290 - b _08050CB6 - .align 2, 0 -_08050A48: .4byte gMPlay_SE2 -_08050A4C: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _08050A58 - b _08050C82 -_08050A58: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _08050A64 - b _08050CB6 -_08050A64: - ldr r4, _08050A90 @ =gUnknown_03004854 - ldr r3, [r4] - movs r2, 0xDE - lsls r2, 1 - adds r1, r3, r2 - movs r5, 0x96 - lsls r5, 1 - adds r0, r3, r5 - ldr r0, [r0] - str r0, [r1] - adds r0, r3, 0 - adds r0, 0x5A - ldrh r2, [r0] - adds r5, 0x94 - adds r0, r3, r5 - strh r2, [r0] - movs r0, 0 - movs r2, 0x28 - bl SendBlock - ldr r1, [r4] - b _08050C86 - .align 2, 0 -_08050A90: .4byte gUnknown_03004854 -_08050A94: - bl GetBlockRecievedStatus - lsls r0, 24 - cmp r0, 0 - bne _08050AA0 - b _08050CB6 -_08050AA0: - ldr r2, _08050AC8 @ =gBlockRecvBuffer - ldr r0, _08050ACC @ =gUnknown_03004854 - ldr r3, [r0] - ldrh r0, [r2, 0x4] - adds r1, r3, 0 - adds r1, 0x5A - strh r0, [r1] - movs r0, 0x96 - lsls r0, 1 - adds r1, r3, r0 - ldr r0, [r2] - str r0, [r1] - adds r1, r3, 0 - adds r1, 0x6F - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl ResetBlockReceivedFlags - b _08050CB6 - .align 2, 0 -_08050AC8: .4byte gBlockRecvBuffer -_08050ACC: .4byte gUnknown_03004854 -_08050AD0: - bl sub_8052228 - lsls r0, 24 - cmp r0, 0 - bne _08050ADC - b _08050CB6 -_08050ADC: - b _08050C82 -_08050ADE: - bl sub_8051C58 - lsls r0, 24 - cmp r0, 0 - bne _08050AEA - b _08050CB6 -_08050AEA: - ldr r0, _08050AFC @ =gUnknown_03004834 - ldrb r0, [r0] - cmp r0, 0 - bne _08050B00 - movs r0, 0x22 - bl sav12_xor_increment - b _08050C82 - .align 2, 0 -_08050AFC: .4byte gUnknown_03004834 -_08050B00: - movs r0, 0x21 - bl sav12_xor_increment - b _08050C82 -_08050B08: - ldr r0, _08050B2C @ =gUnknown_03004854 - ldr r1, [r0] - adds r1, 0x6F - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _08050B30 @ =gOtherText_BlendAnotherBerryPrompt - movs r1, 0x1 - movs r2, 0xF - bl MenuPrintMessage - b _08050CB6 - .align 2, 0 -_08050B2C: .4byte gUnknown_03004854 -_08050B30: .4byte gOtherText_BlendAnotherBerryPrompt -_08050B34: - bl MenuUpdateWindowText - lsls r0, 24 - cmp r0, 0 - bne _08050B40 - b _08050CB6 -_08050B40: - b _08050C82 -_08050B42: - ldr r4, _08050B54 @ =gUnknown_03004854 - ldr r0, [r4] - adds r0, 0xAA - movs r1, 0 - strb r1, [r0] - bl sub_80508FC - ldr r1, [r4] - b _08050C86 - .align 2, 0 -_08050B54: .4byte gUnknown_03004854 -_08050B58: - ldr r0, _08050B80 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08050B88 - ldr r0, _08050B84 @ =gUnknown_03004854 - ldr r0, [r0] - adds r0, 0xAA - ldrb r0, [r0] - cmp r0, 0 - beq _08050B76 - movs r0, 0x5 - bl PlaySE -_08050B76: - movs r0, 0 - bl sub_80508D4 - b _08050CB6 - .align 2, 0 -_08050B80: .4byte gMain -_08050B84: .4byte gUnknown_03004854 -_08050B88: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08050BA8 - ldr r0, _08050BA4 @ =gUnknown_03004854 - ldr r0, [r0] - adds r0, 0xAA - ldrb r0, [r0] - cmp r0, 0x1 - beq _08050BD4 - movs r0, 0x5 - bl PlaySE - b _08050BD4 - .align 2, 0 -_08050BA4: .4byte gUnknown_03004854 -_08050BA8: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08050BB8 - movs r0, 0x5 - bl PlaySE - b _08050C82 -_08050BB8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08050BC2 - b _08050CB6 -_08050BC2: - movs r0, 0x5 - bl PlaySE - ldr r0, _08050BDC @ =gUnknown_03004854 - ldr r1, [r0] - adds r1, 0x6F - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08050BD4: - movs r0, 0x1 - bl sub_80508D4 - b _08050CB6 - .align 2, 0 -_08050BDC: .4byte gUnknown_03004854 -_08050BE0: - ldr r6, _08050C10 @ =gSendCmd - movs r7, 0 - ldr r0, _08050C14 @ =0x00002fff - strh r0, [r6] - ldr r4, _08050C18 @ =gUnknown_03004854 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0xAA - ldrb r5, [r0] - cmp r5, 0 - bne _08050C50 - movs r0, 0x4 - bl IsBagPocketNonEmpty - lsls r0, 24 - cmp r0, 0 - bne _08050C20 - ldr r0, [r4] - adds r0, 0x7C - movs r1, 0x2 - strh r1, [r0] - ldr r0, _08050C1C @ =0x00009999 - b _08050C48 - .align 2, 0 -_08050C10: .4byte gSendCmd -_08050C14: .4byte 0x00002fff -_08050C18: .4byte gUnknown_03004854 -_08050C1C: .4byte 0x00009999 -_08050C20: - bl sub_810CA00 - lsls r0, 24 - asrs r0, 24 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _08050C40 - ldr r0, [r4] - adds r0, 0x7C - movs r1, 0x3 - strh r1, [r0] - ldr r0, _08050C3C @ =0x0000aaaa - b _08050C48 - .align 2, 0 -_08050C3C: .4byte 0x0000aaaa -_08050C40: - ldr r0, [r4] - adds r0, 0x7C - strh r5, [r0] - ldr r0, _08050C4C @ =0x00007779 -_08050C48: - strh r0, [r6, 0x2] - b _08050C82 - .align 2, 0 -_08050C4C: .4byte 0x00007779 -_08050C50: - adds r1, r2, 0 - adds r1, 0x7C - movs r0, 0x1 - strh r0, [r1] - ldr r0, _08050C60 @ =0x00008888 - strh r0, [r6, 0x2] - subs r1, 0xD - b _08050C88 - .align 2, 0 -_08050C60: .4byte 0x00008888 -_08050C64: - ldr r0, _08050C70 @ =gUnknown_03004834 - ldrb r0, [r0] - cmp r0, 0 - beq _08050C78 - ldr r0, _08050C74 @ =sub_80510E8 - b _08050CA4 - .align 2, 0 -_08050C70: .4byte gUnknown_03004834 -_08050C74: .4byte sub_80510E8 -_08050C78: - ldr r0, _08050C90 @ =gOtherText_LinkStandby3 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrintMessage -_08050C82: - ldr r0, _08050C94 @ =gUnknown_03004854 - ldr r1, [r0] -_08050C86: - adds r1, 0x6F -_08050C88: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08050CB6 - .align 2, 0 -_08050C90: .4byte gOtherText_LinkStandby3 -_08050C94: .4byte gUnknown_03004854 -_08050C98: - bl MenuUpdateWindowText - lsls r0, 24 - cmp r0, 0 - beq _08050CB6 - ldr r0, _08050CE0 @ =sub_8050E30 -_08050CA4: - bl SetMainCallback2 - ldr r2, _08050CE4 @ =gUnknown_03004854 - ldr r0, [r2] - adds r0, 0x6F - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - strb r1, [r0] -_08050CB6: - bl sub_8051B18 - ldr r0, _08050CE4 @ =gUnknown_03004854 - ldr r0, [r0] - adds r0, 0x56 - ldrh r0, [r0] - bl sub_8051A3C - bl sub_805123C - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08050CE0: .4byte sub_8050E30 -_08050CE4: .4byte gUnknown_03004854 - thumb_func_end sub_8050954 - - thumb_func_start sub_8050CE8 -sub_8050CE8: @ 8050CE8 - push {r4,lr} - ldr r1, _08050D08 @ =gUnknown_03004854 - ldr r0, [r1] - movs r2, 0xE2 - lsls r2, 1 - adds r0, r2 - ldr r0, [r0] - adds r4, r1, 0 - cmp r0, 0x6 - bls _08050CFE - b _08050E28 -_08050CFE: - lsls r0, 2 - ldr r1, _08050D0C @ =_08050D10 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08050D08: .4byte gUnknown_03004854 -_08050D0C: .4byte _08050D10 - .align 2, 0 -_08050D10: - .4byte _08050D2C - .4byte _08050D44 - .4byte _08050D70 - .4byte _08050D80 - .4byte _08050DA6 - .4byte _08050DEC - .4byte _08050E06 -_08050D2C: - bl sub_80084A4 - ldr r0, _08050D40 @ =gUnknown_03004854 - ldr r2, [r0] - movs r3, 0xE2 - lsls r3, 1 - adds r1, r2, r3 - movs r0, 0x1 - b _08050DF8 - .align 2, 0 -_08050D40: .4byte gUnknown_03004854 -_08050D44: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _08050E28 - ldr r0, _08050D68 @ =gUnknown_03004854 - ldr r1, [r0] - movs r2, 0xE2 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r1, _08050D6C @ =gUnknown_3001BB4 - movs r0, 0x1 - strb r0, [r1] - b _08050E28 - .align 2, 0 -_08050D68: .4byte gUnknown_03004854 -_08050D6C: .4byte gUnknown_3001BB4 -_08050D70: - bl sub_8125E2C - ldr r0, _08050D7C @ =gUnknown_03004854 - ldr r2, [r0] - b _08050DEE - .align 2, 0 -_08050D7C: .4byte gUnknown_03004854 -_08050D80: - ldr r1, [r4] - movs r2, 0x98 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0xA - bne _08050E28 - bl sub_80084A4 - ldr r1, [r4] - movs r3, 0xE2 - lsls r3, 1 - adds r1, r3 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - b _08050E28 -_08050DA6: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _08050E28 - bl sub_8125E6C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08050DD0 - ldr r0, _08050DCC @ =gUnknown_03004854 - ldr r0, [r0] - movs r1, 0xE2 - lsls r1, 1 - adds r0, r1 - movs r1, 0x5 - str r1, [r0] - b _08050E28 - .align 2, 0 -_08050DCC: .4byte gUnknown_03004854 -_08050DD0: - ldr r0, _08050DE8 @ =gUnknown_03004854 - ldr r1, [r0] - movs r3, 0x98 - lsls r3, 1 - adds r0, r1, r3 - str r2, [r0] - movs r0, 0xE2 - lsls r0, 1 - adds r1, r0 - movs r0, 0x3 - str r0, [r1] - b _08050E28 - .align 2, 0 -_08050DE8: .4byte gUnknown_03004854 -_08050DEC: - ldr r2, [r4] -_08050DEE: - movs r3, 0xE2 - lsls r3, 1 - adds r1, r2, r3 - ldr r0, [r1] - adds r0, 0x1 -_08050DF8: - str r0, [r1] - movs r0, 0x98 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0 - str r0, [r1] - b _08050E28 -_08050E06: - ldr r1, [r4] - movs r2, 0x98 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x5 - ble _08050E28 - ldr r1, _08050E24 @ =gUnknown_3001BB4 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _08050E2A - .align 2, 0 -_08050E24: .4byte gUnknown_3001BB4 -_08050E28: - movs r0, 0 -_08050E2A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8050CE8 - - thumb_func_start sub_8050E30 -sub_8050E30: @ 8050E30 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, _08050E50 @ =gUnknown_03004854 - ldr r0, [r1] - adds r0, 0x6F - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0xC - bls _08050E44 - b _080510C4 -_08050E44: - lsls r0, 2 - ldr r1, _08050E54 @ =_08050E58 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08050E50: .4byte gUnknown_03004854 -_08050E54: .4byte _08050E58 - .align 2, 0 -_08050E58: - .4byte _08050E8C - .4byte _08050ED8 - .4byte _08050F18 - .4byte _08050F6C - .4byte _08050F8C - .4byte _08050FAA - .4byte _08050FD4 - .4byte _08051004 - .4byte _08051020 - .4byte _08051030 - .4byte _08051054 - .4byte _08051094 - .4byte _080510B6 -_08050E8C: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x70 - ldrh r2, [r0] - ldr r0, _08050EB8 @ =0x00002222 - cmp r2, r0 - bne _08050E9C - b _08050FA2 -_08050E9C: - ldr r0, _08050EBC @ =0x00001111 - cmp r2, r0 - beq _08050EA4 - b _080510C4 -_08050EA4: - adds r0, r1, 0 - adds r0, 0x78 - ldrh r2, [r0] - ldr r0, _08050EC0 @ =0x00009999 - cmp r2, r0 - bne _08050EC4 - adds r1, 0x6F - movs r0, 0x2 - strb r0, [r1] - b _080510C4 - .align 2, 0 -_08050EB8: .4byte 0x00002222 -_08050EBC: .4byte 0x00001111 -_08050EC0: .4byte 0x00009999 -_08050EC4: - ldr r0, _08050ED4 @ =0x0000aaaa - cmp r2, r0 - bne _08050FA2 - adds r1, 0x6F - movs r0, 0x1 - strb r0, [r1] - b _080510C4 - .align 2, 0 -_08050ED4: .4byte 0x0000aaaa -_08050ED8: - ldr r0, [r5] - adds r0, 0x6F - movs r1, 0x3 - strb r1, [r0] - bl sub_814A7FC - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1C - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r4, _08050F0C @ =gStringVar4 - ldr r0, [r5] - adds r0, 0x7A - ldrh r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, _08050F10 @ =gLinkPlayers + 0x8 - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r1, _08050F14 @ =gOtherText_OtherCaseIsFull - b _08050F4C - .align 2, 0 -_08050F0C: .4byte gStringVar4 -_08050F10: .4byte gLinkPlayers + 0x8 -_08050F14: .4byte gOtherText_OtherCaseIsFull -_08050F18: - ldr r1, [r5] - adds r1, 0x6F - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_814A7FC - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1C - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r4, _08050F60 @ =gStringVar4 - ldr r0, [r5] - adds r0, 0x7A - ldrh r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, _08050F64 @ =gLinkPlayers + 0x8 - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r1, _08050F68 @ =gOtherText_NoBerriesForBlend -_08050F4C: - adds r0, r4, 0 - bl StringAppend - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrintMessage - b _080510C4 - .align 2, 0 -_08050F60: .4byte gStringVar4 -_08050F64: .4byte gLinkPlayers + 0x8 -_08050F68: .4byte gOtherText_NoBerriesForBlend -_08050F6C: - bl MenuUpdateWindowText - lsls r0, 24 - cmp r0, 0 - bne _08050F78 - b _080510C4 -_08050F78: - ldr r0, _08050F88 @ =gUnknown_03004854 - ldr r1, [r0] - movs r0, 0x98 - lsls r0, 1 - adds r2, r1, r0 - movs r0, 0 - str r0, [r2] - b _080510AC - .align 2, 0 -_08050F88: .4byte gUnknown_03004854 -_08050F8C: - ldr r2, [r5] - movs r0, 0x98 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bgt _08050FA0 - b _080510C4 -_08050FA0: - adds r1, r2, 0 -_08050FA2: - adds r1, 0x6F - movs r0, 0x5 - strb r0, [r1] - b _080510C4 -_08050FAA: - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _08050FCC @ =gMultiText_Saving - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - bl sub_80084A4 - ldr r0, _08050FD0 @ =gUnknown_03004854 - ldr r1, [r0] - b _080510AC - .align 2, 0 -_08050FCC: .4byte gMultiText_Saving -_08050FD0: .4byte gUnknown_03004854 -_08050FD4: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080510C4 - ldr r3, _08051000 @ =gUnknown_03004854 - ldr r1, [r3] - movs r2, 0x98 - lsls r2, 1 - adds r0, r1, r2 - movs r2, 0 - str r2, [r0] - adds r1, 0x6F - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r3] - movs r1, 0xE2 - lsls r1, 1 - adds r0, r1 - str r2, [r0] - b _080510C4 - .align 2, 0 -_08051000: .4byte gUnknown_03004854 -_08051004: - bl sub_8050CE8 - lsls r0, 24 - cmp r0, 0 - beq _080510C4 - movs r0, 0x37 - bl PlaySE - ldr r0, _0805101C @ =gUnknown_03004854 - ldr r1, [r0] - b _080510AC - .align 2, 0 -_0805101C: .4byte gUnknown_03004854 -_08051020: - ldr r1, [r5] - adds r1, 0x6F - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_80084A4 - b _080510C4 -_08051030: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080510C4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _08051050 @ =gUnknown_03004854 - ldr r1, [r0] - b _080510AC - .align 2, 0 -_08051050: .4byte gUnknown_03004854 -_08051054: - ldr r0, _0805107C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _080510C4 - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0x70 - ldrh r1, [r0] - ldr r0, _08051080 @ =0x00002222 - cmp r1, r0 - bne _08051088 - ldr r0, _08051084 @ =sub_804E538 - bl SetMainCallback2 - b _080510C4 - .align 2, 0 -_0805107C: .4byte gPaletteFade -_08051080: .4byte 0x00002222 -_08051084: .4byte sub_804E538 -_08051088: - movs r1, 0x98 - lsls r1, 1 - adds r0, r2, r1 - str r3, [r0] - adds r1, r2, 0 - b _080510AC -_08051094: - ldr r1, [r5] - movs r2, 0x98 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x1E - ble _080510C4 - bl sub_800832C - ldr r1, [r5] -_080510AC: - adds r1, 0x6F - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080510C4 -_080510B6: - ldr r0, _080510E0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080510C4 - ldr r0, _080510E4 @ =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 -_080510C4: - bl sub_805123C - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080510E0: .4byte gReceivedRemoteLinkPlayers -_080510E4: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music - thumb_func_end sub_8050E30 - - thumb_func_start sub_80510E8 -sub_80510E8: @ 80510E8 - push {lr} - ldr r1, _08051104 @ =gUnknown_03004854 - ldr r0, [r1] - adds r0, 0x6F - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0xA - bls _080510FA - b _0805121E -_080510FA: - lsls r0, 2 - ldr r1, _08051108 @ =_0805110C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08051104: .4byte gUnknown_03004854 -_08051108: .4byte _0805110C - .align 2, 0 -_0805110C: - .4byte _08051138 - .4byte _0805116E - .4byte _08051190 - .4byte _080511BC - .4byte _0805121E - .4byte _0805121E - .4byte _0805121E - .4byte _0805121E - .4byte _0805121E - .4byte _080511D8 - .4byte _080511F0 -_08051138: - ldr r1, [r3] - adds r0, r1, 0 - adds r0, 0x7C - ldrh r0, [r0] - cmp r0, 0x1 - bhi _0805114A - adds r1, 0x6F - movs r0, 0x9 - strb r0, [r1] -_0805114A: - ldr r2, [r3] - adds r0, r2, 0 - adds r0, 0x7C - ldrh r1, [r0] - cmp r1, 0x2 - bne _0805115A - subs r0, 0xD - strb r1, [r0] -_0805115A: - ldr r1, [r3] - adds r0, r1, 0 - adds r0, 0x7C - ldrh r0, [r0] - cmp r0, 0x3 - bne _0805121E - adds r1, 0x6F - movs r0, 0x1 - strb r0, [r1] - b _0805121E -_0805116E: - ldr r0, [r3] - adds r0, 0x6F - movs r1, 0x3 - strb r1, [r0] - bl sub_814A7FC - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1C - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r0, _0805118C @ =gOtherText_CaseIsFull - b _080511AC - .align 2, 0 -_0805118C: .4byte gOtherText_CaseIsFull -_08051190: - ldr r0, [r3] - adds r0, 0x6F - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - bl sub_814A7FC - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1C - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r0, _080511B8 @ =gOtherText_OutOfBerries -_080511AC: - movs r1, 0x1 - movs r2, 0xF - bl MenuPrintMessage - b _0805121E - .align 2, 0 -_080511B8: .4byte gOtherText_OutOfBerries -_080511BC: - bl MenuUpdateWindowText - lsls r0, 24 - cmp r0, 0 - beq _0805121E - ldr r0, _080511D4 @ =gUnknown_03004854 - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x9 - strb r1, [r0] - b _0805121E - .align 2, 0 -_080511D4: .4byte gUnknown_03004854 -_080511D8: - movs r0, 0x3 - bl BeginFastPaletteFade - ldr r0, _080511EC @ =gUnknown_03004854 - ldr r1, [r0] - adds r1, 0x6F - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0805121E - .align 2, 0 -_080511EC: .4byte gUnknown_03004854 -_080511F0: - ldr r0, _08051210 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0805121E - ldr r0, [r3] - adds r0, 0x7C - ldrh r0, [r0] - cmp r0, 0 - bne _08051218 - ldr r0, _08051214 @ =sub_804E538 - bl SetMainCallback2 - b _0805121E - .align 2, 0 -_08051210: .4byte gPaletteFade -_08051214: .4byte sub_804E538 -_08051218: - ldr r0, _08051238 @ =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 -_0805121E: - bl sub_805123C - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - .align 2, 0 -_08051238: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music - thumb_func_end sub_80510E8 - - thumb_func_start sub_805123C -sub_805123C: @ 805123C - push {r4-r6,lr} - ldr r0, _0805126C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08051248 - b _08051404 -_08051248: - ldr r4, _08051270 @ =gRecvCmds - ldrh r1, [r4] - ldr r0, _08051274 @ =0x00002fff - cmp r1, r0 - bne _080512C6 - ldrh r1, [r4, 0x8] - ldr r0, _08051278 @ =0x00001111 - cmp r1, r0 - bne _080512B8 - ldrh r3, [r4, 0x10] - ldr r0, _0805127C @ =0x00009999 - cmp r3, r0 - beq _08051298 - cmp r3, r0 - bgt _08051284 - ldr r0, _08051280 @ =0x00008888 - b _08051286 - .align 2, 0 -_0805126C: .4byte gReceivedRemoteLinkPlayers -_08051270: .4byte gRecvCmds -_08051274: .4byte 0x00002fff -_08051278: .4byte 0x00001111 -_0805127C: .4byte 0x00009999 -_08051280: .4byte 0x00008888 -_08051284: - ldr r0, _08051290 @ =0x0000aaaa -_08051286: - cmp r3, r0 - beq _08051298 - ldr r2, _08051294 @ =gUnknown_03004854 - b _080512A8 - .align 2, 0 -_08051290: .4byte 0x0000aaaa -_08051294: .4byte gUnknown_03004854 -_08051298: - ldr r2, _080512B0 @ =gUnknown_03004854 - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0x78 - strh r3, [r1] - ldrh r1, [r4, 0x18] - adds r0, 0x7A - strh r1, [r0] -_080512A8: - ldr r0, [r2] - adds r0, 0x70 - ldr r1, _080512B4 @ =0x00001111 - b _080512C4 - .align 2, 0 -_080512B0: .4byte gUnknown_03004854 -_080512B4: .4byte 0x00001111 -_080512B8: - ldr r0, _080512F4 @ =0x00002222 - cmp r1, r0 - bne _080512C6 - ldr r0, _080512F8 @ =gUnknown_03004854 - ldr r0, [r0] - adds r0, 0x70 -_080512C4: - strh r1, [r0] -_080512C6: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _080512D2 - b _08051404 -_080512D2: - ldr r2, _080512F8 @ =gUnknown_03004854 - ldr r0, [r2] - adds r0, 0x70 - ldrh r1, [r0] - ldr r0, _080512FC @ =0x00001111 - cmp r1, r0 - bne _080512E2 - b _08051404 -_080512E2: - ldr r0, _080512F4 @ =0x00002222 - cmp r1, r0 - bne _080512EA - b _08051404 -_080512EA: - movs r4, 0 - ldr r6, _08051300 @ =0x00002fff - adds r5, r2, 0 - b _0805134E - .align 2, 0 -_080512F4: .4byte 0x00002222 -_080512F8: .4byte gUnknown_03004854 -_080512FC: .4byte 0x00001111 -_08051300: .4byte 0x00002fff -_08051304: - ldr r1, _08051328 @ =gRecvCmds - lsls r2, r4, 1 - adds r0, r2, r1 - ldrh r0, [r0] - cmp r0, r6 - bne _08051348 - adds r0, r1, 0 - adds r0, 0x8 - adds r0, r2, r0 - ldrh r1, [r0] - ldr r0, _0805132C @ =0x00008888 - cmp r1, r0 - beq _08051340 - cmp r1, r0 - bgt _08051334 - ldr r0, _08051330 @ =0x00007779 - b _0805133C - .align 2, 0 -_08051328: .4byte gRecvCmds -_0805132C: .4byte 0x00008888 -_08051330: .4byte 0x00007779 -_08051334: - ldr r0, _08051360 @ =0x00009999 - cmp r1, r0 - beq _08051340 - ldr r0, _08051364 @ =0x0000aaaa -_0805133C: - cmp r1, r0 - bne _08051348 -_08051340: - ldr r0, [r5] - adds r0, 0x70 - adds r0, r2 - strh r1, [r0] -_08051348: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0805134E: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _08051304 - movs r4, 0 - b _0805136E - .align 2, 0 -_08051360: .4byte 0x00009999 -_08051364: .4byte 0x0000aaaa -_08051368: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0805136E: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcs _0805138A - ldr r0, _0805139C @ =gUnknown_03004854 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x70 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _08051368 -_0805138A: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _08051404 - movs r4, 0 - ldr r5, _080513A0 @ =0x00007779 - b _080513AA - .align 2, 0 -_0805139C: .4byte gUnknown_03004854 -_080513A0: .4byte 0x00007779 -_080513A4: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080513AA: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcs _080513C6 - ldr r0, _080513E0 @ =gUnknown_03004854 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x70 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r5 - beq _080513A4 -_080513C6: - ldr r5, _080513E4 @ =gSendCmd - movs r6, 0 - ldr r0, _080513E8 @ =0x00002fff - strh r0, [r5] - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080513F0 - ldr r0, _080513EC @ =0x00002222 - strh r0, [r5, 0x2] - b _08051404 - .align 2, 0 -_080513E0: .4byte gUnknown_03004854 -_080513E4: .4byte gSendCmd -_080513E8: .4byte 0x00002fff -_080513EC: .4byte 0x00002222 -_080513F0: - ldr r0, _0805140C @ =0x00001111 - strh r0, [r5, 0x2] - ldr r0, _08051410 @ =gUnknown_03004854 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x70 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5, 0x4] - strh r4, [r5, 0x6] -_08051404: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805140C: .4byte 0x00001111 -_08051410: .4byte gUnknown_03004854 - thumb_func_end sub_805123C - - thumb_func_start sub_8051414 -sub_8051414: @ 8051414 - push {lr} - sub sp, 0x14 - adds r1, r0, 0 - movs r0, 0xF0 - lsls r0, 7 - str r0, [sp] - movs r0, 0xA0 - lsls r0, 7 - str r0, [sp, 0x4] - mov r3, sp - ldr r0, _08051470 @ =gUnknown_03004854 - ldr r0, [r0] - mov r12, r0 - movs r0, 0xA2 - lsls r0, 1 - add r0, r12 - ldrh r2, [r0] - movs r0, 0x78 - subs r0, r2 - strh r0, [r3, 0x8] - movs r0, 0xA3 - lsls r0, 1 - add r0, r12 - ldrh r2, [r0] - movs r0, 0x50 - subs r0, r2 - strh r0, [r3, 0xA] - mov r2, sp - movs r3, 0xA1 - lsls r3, 1 - add r3, r12 - ldrh r0, [r3] - strh r0, [r2, 0xC] - ldrh r0, [r3] - strh r0, [r2, 0xE] - mov r0, r12 - adds r0, 0x54 - ldrh r0, [r0] - strh r0, [r2, 0x10] - mov r0, sp - movs r2, 0x1 - bl BgAffineSet - add sp, 0x14 - pop {r0} - bx r0 - .align 2, 0 -_08051470: .4byte gUnknown_03004854 - thumb_func_end sub_8051414 - - thumb_func_start sub_8051474 -sub_8051474: @ 8051474 - push {lr} - ldr r0, _080514A0 @ =gUnknown_03004854 - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0x54 - ldrh r2, [r1] - adds r0, r3, 0 - adds r0, 0x58 - strh r2, [r0] - subs r0, 0x2 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - movs r1, 0xB4 - lsls r1, 1 - adds r0, r3, r1 - bl sub_8051414 - pop {r0} - bx r0 - .align 2, 0 -_080514A0: .4byte gUnknown_03004854 - thumb_func_end sub_8051474 - - thumb_func_start sub_80514A4 -sub_80514A4: @ 80514A4 - ldr r1, _080514E8 @ =REG_BG2PA - ldr r0, _080514EC @ =gUnknown_03004854 - ldr r2, [r0] - movs r3, 0xB4 - lsls r3, 1 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - adds r3, 0x2 - adds r0, r2, r3 - ldr r0, [r0] - str r0, [r1] - adds r1, 0x4 - adds r3, 0x4 - adds r0, r2, r3 - ldr r0, [r0] - str r0, [r1] - bx lr - .align 2, 0 -_080514E8: .4byte REG_BG2PA -_080514EC: .4byte gUnknown_03004854 - thumb_func_end sub_80514A4 - - thumb_func_start sub_80514F0 -sub_80514F0: @ 80514F0 - ldr r1, _0805151C @ =REG_BG1HOFS - ldr r0, _08051520 @ =gUnknown_03004854 - ldr r3, [r0] - movs r0, 0xA2 - lsls r0, 1 - adds r2, r3, r0 - ldrh r0, [r2] - strh r0, [r1] - adds r1, 0x2 - movs r0, 0xA3 - lsls r0, 1 - adds r3, r0 - ldrh r0, [r3] - strh r0, [r1] - subs r1, 0x6 - ldrh r0, [r2] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r3] - strh r0, [r1] - bx lr - .align 2, 0 -_0805151C: .4byte REG_BG1HOFS -_08051520: .4byte gUnknown_03004854 - thumb_func_end sub_80514F0 - - thumb_func_start sub_8051524 -sub_8051524: @ 8051524 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r0, r1 - strh r0, [r2, 0x34] - movs r1, 0x32 - ldrsh r0, [r2, r1] - cmp r0, 0 - bge _08051542 - adds r0, 0x7 -_08051542: - asrs r0, 3 - strh r0, [r2, 0x24] - movs r1, 0x34 - ldrsh r0, [r2, r1] - cmp r0, 0 - bge _08051550 - adds r0, 0x7 -_08051550: - asrs r0, 3 - strh r0, [r2, 0x26] - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08051568 - adds r0, r2, 0 - bl DestroySprite -_08051568: - pop {r0} - bx r0 - thumb_func_end sub_8051524 - - thumb_func_start sub_805156C -sub_805156C: @ 805156C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - bl Random - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0x1 - ands r1, r0 - adds r0, r1, 0x1 - cmp r0, 0 - beq _08051628 - ldr r0, _08051638 @ =gSineTable - mov r9, r0 - ldr r2, _0805163C @ =gSprites - mov r10, r2 - adds r6, r1, 0x1 - movs r3, 0x1F - mov r8, r3 - movs r7, 0x10 -_08051598: - bl Random - ldr r1, _08051640 @ =gUnknown_03004854 - ldr r4, [r1] - adds r4, 0x54 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x14 - bl __umodsi3 - ldrh r1, [r4] - adds r1, r0 - lsls r1, 16 - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r2, r0, 16 - adds r0, r2, 0 - adds r0, 0x40 - lsls r0, 1 - add r0, r9 - movs r3, 0 - ldrsh r1, [r0, r3] - cmp r1, 0 - bge _080515CC - adds r1, 0x3 -_080515CC: - asrs r1, 2 - lsls r0, r2, 1 - add r0, r9 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _080515DC - adds r0, 0x3 -_080515DC: - asrs r2, r0, 2 - adds r1, 0x78 - adds r2, 0x50 - ldr r0, _08051644 @ =gSpriteTemplate_82164FC - movs r3, 0x1 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r5, r4, 4 - adds r5, r4 - lsls r5, 2 - mov r3, r10 - adds r4, r5, r3 - lsls r0, 16 - lsrs r0, 16 - mov r1, r8 - ands r0, r1 - subs r0, r7, r0 - strh r0, [r4, 0x2E] - bl Random - lsls r0, 16 - lsrs r0, 16 - mov r2, r8 - ands r0, r2 - subs r0, r7, r0 - strh r0, [r4, 0x30] - ldr r3, _08051648 @ =gSprites + 0x1C - adds r5, r3 - ldr r0, _0805164C @ =sub_8051524 - str r0, [r5] - subs r6, 0x1 - cmp r6, 0 - bne _08051598 -_08051628: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08051638: .4byte gSineTable -_0805163C: .4byte gSprites -_08051640: .4byte gUnknown_03004854 -_08051644: .4byte gSpriteTemplate_82164FC -_08051648: .4byte gSprites + 0x1C -_0805164C: .4byte sub_8051524 - thumb_func_end sub_805156C - - thumb_func_start sub_8051650 -sub_8051650: @ 8051650 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __divsi3 - negs r0, r0 - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0805167C - adds r0, r4, 0 - bl DestroySprite -_0805167C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8051650 - - thumb_func_start sub_8051684 -sub_8051684: @ 8051684 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - movs r1, 0x2E - ldrsh r0, [r2, r1] - lsls r0, 1 - negs r0, r0 - strh r0, [r2, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xC - negs r1, r1 - cmp r0, r1 - bge _080516A8 - ldr r0, _080516C0 @ =0x0000fff4 - strh r0, [r2, 0x26] -_080516A8: - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080516BC - adds r0, r2, 0 - bl DestroySprite -_080516BC: - pop {r0} - bx r0 - .align 2, 0 -_080516C0: .4byte 0x0000fff4 - thumb_func_end sub_8051684 - - thumb_func_start sub_80516C4 -sub_80516C4: @ 80516C4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r2, _080516F4 @ =gUnknown_03004854 - ldr r3, [r2] - lsls r4, r0, 1 - adds r2, r3, 0 - adds r2, 0x80 - adds r2, r4 - strh r1, [r2] - lsls r0, 4 - movs r2, 0xBE - lsls r2, 1 - adds r0, r2 - adds r3, r0 - adds r0, r3, 0 - bl sub_804E844 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080516F4: .4byte gUnknown_03004854 - thumb_func_end sub_80516C4 - - thumb_func_start unref_sub_80516F8 -unref_sub_80516F8: @ 80516F8 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080517B8 @ =gTasks - adds r4, r0, r1 - ldr r6, _080517BC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r6] - cmp r0, 0 - beq _0805180C - bl GetMultiplayerId - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080517D4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - ble _08051730 - strh r1, [r4, 0x8] -_08051730: - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x64 - bne _080517A0 - ldr r0, _080517C0 @ =gUnknown_03004854 - ldr r0, [r0] - adds r0, 0x4 - movs r1, 0x14 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl ZeroFillWindowRect - movs r0, 0x4 - movs r1, 0x4 - movs r2, 0xA - movs r3, 0xC - bl MenuDrawTextWindow - movs r2, 0 - ldr r6, _080517C4 @ =gLinkPlayers + 0x4 -_0805175C: - adds r4, r2, 0x1 - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - cmp r0, 0 - beq _08051784 - ldr r1, _080517C8 @ =gUnknown_08216284 - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - lsls r2, 25 - movs r1, 0xA0 - lsls r1, 19 - adds r2, r1 - lsrs r2, 24 - movs r1, 0x5 - bl MenuPrint -_08051784: - movs r0, 0 - movs r1, 0xD - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _080517CC @ =gOtherText_PressAToStart - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - adds r2, r4, 0 - cmp r2, 0x2 - ble _0805175C -_080517A0: - ldr r0, _080517D0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0805180C - bl sub_8007E4C - adds r0, r5, 0 - bl DestroyTask - b _0805180C - .align 2, 0 -_080517B8: .4byte gTasks -_080517BC: .4byte gReceivedRemoteLinkPlayers -_080517C0: .4byte gUnknown_03004854 -_080517C4: .4byte gLinkPlayers + 0x4 -_080517C8: .4byte gUnknown_08216284 -_080517CC: .4byte gOtherText_PressAToStart -_080517D0: .4byte gMain -_080517D4: - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0xA - bne _080517E6 - ldr r0, _08051814 @ =gOtherText_PleaseWait - movs r1, 0x3 - movs r2, 0xA - bl MenuPrint -_080517E6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - ble _080517F8 - movs r0, 0 - strh r0, [r4, 0x8] -_080517F8: - ldr r0, _08051818 @ =byte_3002A68 - ldrb r0, [r0] - cmp r0, 0x4 - bls _0805180C - ldrb r0, [r6] - cmp r0, 0x1 - bne _0805180C - adds r0, r5, 0 - bl DestroyTask -_0805180C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08051814: .4byte gOtherText_PleaseWait -_08051818: .4byte byte_3002A68 - thumb_func_end unref_sub_80516F8 - - thumb_func_start sub_805181C -sub_805181C: @ 805181C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08051858 - cmp r0, 0x1 - bgt _08051832 - cmp r0, 0 - beq _08051838 - b _080518BE -_08051832: - cmp r0, 0x2 - beq _08051872 - b _080518BE -_08051838: - ldrh r0, [r4, 0x30] - adds r0, 0x8 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x58 - ble _080518BE - movs r0, 0x58 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x38 - bl PlaySE - b _080518BE -_08051858: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080518BE - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0 - strh r0, [r4, 0x32] - b _080518BE -_08051872: - ldrh r0, [r4, 0x30] - adds r0, 0x4 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB0 - ble _080518BE - ldrh r0, [r4, 0x34] - adds r0, 0x1 - adds r1, r0, 0 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080518AC - adds r0, r4, 0 - bl DestroySprite - ldr r0, _080518A8 @ =gSpriteTemplate_821657C - movs r2, 0x14 - negs r2, r2 - movs r1, 0x78 - movs r3, 0x2 - bl CreateSprite - b _080518BE - .align 2, 0 -_080518A8: .4byte gSpriteTemplate_821657C -_080518AC: - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, _080518C8 @ =0x0000fff0 - strh r0, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_080518BE: - ldrh r0, [r4, 0x30] - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080518C8: .4byte 0x0000fff0 - thumb_func_end sub_805181C - - thumb_func_start sub_80518CC -sub_80518CC: @ 80518CC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08051908 - cmp r0, 0x1 - bgt _080518E2 - cmp r0, 0 - beq _080518E8 - b _0805193C -_080518E2: - cmp r0, 0x2 - beq _0805191E - b _0805193C -_080518E8: - ldrh r0, [r4, 0x30] - adds r0, 0x8 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5C - ble _0805193C - movs r0, 0x5C - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x15 - bl PlaySE - b _0805193C -_08051908: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _0805193C - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0805193C -_0805191E: - ldrh r0, [r4, 0x30] - adds r0, 0x4 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB0 - ble _0805193C - ldr r0, _08051948 @ =gUnknown_03004854 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_0805193C: - ldrh r0, [r4, 0x30] - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08051948: .4byte gUnknown_03004854 - thumb_func_end sub_80518CC - - thumb_func_start sub_805194C -sub_805194C: @ 805194C - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r3, r1, 16 - ldr r1, _08051978 @ =gUnknown_03004854 - ldr r1, [r1] - movs r2, 0xA0 - lsls r2, 1 - adds r1, r2 - ldrh r2, [r1] - cmp r2, r0 - bcs _08051972 - adds r0, r2, 0x2 - strh r0, [r1] - ldrh r0, [r1] - adds r1, r3, 0 - bl sub_805197C -_08051972: - pop {r0} - bx r0 - .align 2, 0 -_08051978: .4byte gUnknown_03004854 - thumb_func_end sub_805194C - - thumb_func_start sub_805197C -sub_805197C: @ 805197C - push {r4-r7,lr} - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r7, _08051A0C @ =0x06006000 - lsrs r0, 10 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _08051994 - adds r0, r1, 0x7 -_08051994: - asrs r4, r0, 3 - movs r3, 0 - cmp r3, r4 - bge _080519BC - ldr r0, _08051A10 @ =0x000081e9 - adds r6, r0, 0 - adds r0, 0x10 - adds r5, r0, 0 - adds r2, r7, 0 - adds r2, 0x56 - adds r0, r7, 0 - adds r3, r4, 0 -_080519AC: - strh r6, [r0, 0x16] - strh r5, [r2] - adds r2, 0x2 - adds r0, 0x2 - subs r3, 0x1 - cmp r3, 0 - bne _080519AC - adds r3, r4, 0 -_080519BC: - adds r0, r1, 0 - cmp r1, 0 - bge _080519C4 - adds r0, r1, 0x7 -_080519C4: - asrs r2, r0, 3 - lsls r0, r2, 3 - subs r2, r1, r0 - cmp r2, 0 - beq _080519E2 - lsls r0, r3, 1 - adds r0, r7 - ldr r4, _08051A14 @ =0xffff81e1 - adds r1, r2, r4 - strh r1, [r0, 0x16] - adds r0, 0x56 - adds r4, 0x10 - adds r1, r2, r4 - strh r1, [r0] - adds r3, 0x1 -_080519E2: - cmp r3, 0x7 - bgt _08051A06 - ldr r0, _08051A18 @ =0x000081e1 - adds r4, r0, 0 - adds r0, 0x10 - adds r2, r0, 0 - lsls r1, r3, 1 - adds r0, r1, 0 - adds r0, 0x56 - adds r0, r7 - adds r1, r7 -_080519F8: - strh r4, [r1, 0x16] - strh r2, [r0] - adds r0, 0x2 - adds r1, 0x2 - adds r3, 0x1 - cmp r3, 0x7 - ble _080519F8 -_08051A06: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08051A0C: .4byte 0x06006000 -_08051A10: .4byte 0x000081e9 -_08051A14: .4byte 0xffff81e1 -_08051A18: .4byte 0x000081e1 - thumb_func_end sub_805197C - - thumb_func_start sub_8051A1C -sub_8051A1C: @ 8051A1C - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08051A34 @ =0x00057e40 - muls r0, r1 - cmp r0, 0 - bge _08051A2E - ldr r1, _08051A38 @ =0x0000ffff - adds r0, r1 -_08051A2E: - asrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_08051A34: .4byte 0x00057e40 -_08051A38: .4byte 0x0000ffff - thumb_func_end sub_8051A1C - - thumb_func_start sub_8051A3C -sub_8051A3C: @ 8051A3C - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 16 - lsrs r0, 16 - bl sub_8051A1C - adds r5, r0, 0 - ldr r0, _08051ABC @ =gUnknown_03004854 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x5A - ldrh r0, [r1] - cmp r0, r5 - bcs _08051A5A - strh r5, [r1] -_08051A5A: - movs r6, 0 -_08051A5C: - mov r0, sp - adds r4, r0, r6 - adds r0, r5, 0 - movs r1, 0xA - bl __umodsi3 - strb r0, [r4] - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x4 - bls _08051A5C - ldr r2, _08051AC0 @ =0x06006458 - mov r0, sp - ldr r3, _08051AC4 @ =0x00008172 - adds r1, r3, 0 - ldrb r0, [r0, 0x4] - adds r0, r1, r0 - strh r0, [r2] - adds r2, 0x2 - mov r0, sp - ldrb r0, [r0, 0x3] - adds r0, r1 - strh r0, [r2] - adds r2, 0x2 - mov r0, sp - ldrb r0, [r0, 0x2] - adds r0, r1 - strh r0, [r2] - adds r2, 0x4 - mov r0, sp - ldrb r0, [r0, 0x1] - adds r0, r1 - strh r0, [r2] - adds r2, 0x2 - mov r0, sp - ldrb r0, [r0] - adds r1, r0 - strh r1, [r2] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08051ABC: .4byte gUnknown_03004854 -_08051AC0: .4byte 0x06006458 -_08051AC4: .4byte 0x00008172 - thumb_func_end sub_8051A3C - - thumb_func_start sub_8051AC8 -sub_8051AC8: @ 8051AC8 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r4, r1, 16 - lsrs r5, r4, 16 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08051AEC - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - bl __umodsi3 - lsrs r1, r4, 17 - subs r0, r1 - strh r0, [r6] -_08051AEC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8051AC8 - - thumb_func_start sub_8051AF4 -sub_8051AF4: @ 8051AF4 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - bge _08051B06 - adds r0, r2, 0x1 - strh r0, [r1] -_08051B06: - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08051B14 - subs r0, r2, 0x1 - strh r0, [r1] -_08051B14: - pop {r0} - bx r0 - thumb_func_end sub_8051AF4 - - thumb_func_start sub_8051B18 -sub_8051B18: @ 8051B18 - push {r4,lr} - ldr r4, _08051B3C @ =gUnknown_03004854 - ldr r0, [r4] - movs r1, 0xA2 - lsls r1, 1 - adds r0, r1 - bl sub_8051AF4 - ldr r0, [r4] - movs r1, 0xA3 - lsls r1, 1 - adds r0, r1 - bl sub_8051AF4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08051B3C: .4byte gUnknown_03004854 - thumb_func_end sub_8051B18 - - thumb_func_start sub_8051B40 -sub_8051B40: @ 8051B40 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r5, 0x8 - cmp r1, 0x9 - bhi _08051B50 - movs r5, 0x10 -_08051B50: - ldrh r0, [r4] - movs r2, 0 - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _08051B6E - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - bl __modsi3 - lsrs r1, r5, 1 - subs r0, r1 - b _08051B82 -_08051B6E: - cmp r1, 0 - bge _08051B76 - adds r0, 0x1 - strh r0, [r4] -_08051B76: - ldrh r1, [r4] - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08051B84 - subs r0, r1, 0x1 -_08051B82: - strh r0, [r4] -_08051B84: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8051B40 - - thumb_func_start sub_8051B8C -sub_8051B8C: @ 8051B8C - push {r4,r5,lr} - ldr r5, _08051BE4 @ =gUnknown_03004854 - ldr r2, [r5] - movs r4, 0x98 - lsls r4, 1 - adds r0, r2, r4 - ldr r1, [r0] - cmp r1, 0 - bne _08051BAC - movs r3, 0xA2 - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strh r1, [r0] -_08051BAC: - ldr r0, [r5] - adds r2, r0, r4 - ldr r1, [r2] - adds r1, 0x1 - str r1, [r2] - movs r2, 0xA2 - lsls r2, 1 - adds r0, r2 - lsls r1, 16 - lsrs r1, 16 - bl sub_8051B40 - ldr r1, [r5] - movs r3, 0xA3 - lsls r3, 1 - adds r0, r1, r3 - adds r1, r4 - ldrh r1, [r1] - bl sub_8051B40 - ldr r2, [r5] - adds r0, r2, r4 - ldr r0, [r0] - cmp r0, 0x14 - beq _08051BE8 - movs r0, 0 - b _08051BFC - .align 2, 0 -_08051BE4: .4byte gUnknown_03004854 -_08051BE8: - movs r1, 0xA2 - lsls r1, 1 - adds r0, r2, r1 - movs r1, 0 - strh r1, [r0] - movs r3, 0xA3 - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - movs r0, 0x1 -_08051BFC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8051B8C - - thumb_func_start sub_8051C04 -sub_8051C04: @ 8051C04 - ldr r1, _08051C20 @ =gUnknown_03004854 - ldr r2, [r1] - movs r3, 0xA2 - lsls r3, 1 - adds r1, r2, r3 - ldrh r1, [r1] - negs r1, r1 - strh r1, [r0, 0x24] - adds r3, 0x2 - adds r1, r2, r3 - ldrh r1, [r1] - negs r1, r1 - strh r1, [r0, 0x26] - bx lr - .align 2, 0 -_08051C20: .4byte gUnknown_03004854 - thumb_func_end sub_8051C04 - - thumb_func_start sub_8051C24 -sub_8051C24: @ 8051C24 - push {lr} - ldr r2, _08051C4C @ =gSaveBlock1 - ldr r0, _08051C50 @ =gUnknown_03004854 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x88 - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 1 - ldr r3, _08051C54 @ =0x0000096c - adds r2, r3 - adds r2, r0, r2 - adds r1, 0x5A - ldrh r1, [r1] - ldrh r0, [r2] - cmp r0, r1 - bcs _08051C48 - strh r1, [r2] -_08051C48: - pop {r0} - bx r0 - .align 2, 0 -_08051C4C: .4byte gSaveBlock1 -_08051C50: .4byte gUnknown_03004854 -_08051C54: .4byte 0x0000096c - thumb_func_end sub_8051C24 - - thumb_func_start sub_8051C58 -sub_8051C58: @ 8051C58 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - ldr r1, _08051C7C @ =gUnknown_03004854 - ldr r0, [r1] - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x6 - bls _08051C72 - b _0805200A -_08051C72: - lsls r0, 2 - ldr r1, _08051C80 @ =_08051C84 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08051C7C: .4byte gUnknown_03004854 -_08051C80: .4byte _08051C84 - .align 2, 0 -_08051C84: - .4byte _08051CA0 - .4byte _08051CB6 - .4byte _08051CD0 - .4byte _08051D20 - .4byte _08051F44 - .4byte _08051F58 - .4byte _08051FF8 -_08051CA0: - ldr r1, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - movs r1, 0x98 - lsls r1, 1 - adds r0, r1 - movs r1, 0x11 - str r1, [r0] - b _0805200A -_08051CB6: - ldr r1, [r2] - movs r0, 0x98 - lsls r0, 1 - adds r2, r1, r0 - ldr r0, [r2] - subs r0, 0xA - str r0, [r2] - cmp r0, 0 - blt _08051CCA - b _0805200A -_08051CCA: - movs r0, 0 - str r0, [r2] - b _08051FE2 -_08051CD0: - ldr r1, [r2] - movs r2, 0x98 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x14 - bgt _08051CE4 - b _0805200A -_08051CE4: - movs r6, 0 -_08051CE6: - ldr r4, _08051D18 @ =gUnknown_03004854 - ldr r0, [r4] - adds r0, 0x50 - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08051D1C @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x2 - bls _08051CE6 - ldr r1, [r4] - movs r0, 0x98 - lsls r0, 1 - adds r2, r1, r0 - movs r0, 0 - str r0, [r2] - b _08051FE2 - .align 2, 0 -_08051D18: .4byte gUnknown_03004854 -_08051D1C: .4byte gSprites -_08051D20: - movs r0, 0x4 - movs r1, 0x2 - movs r2, 0x19 - movs r3, 0x11 - bl MenuDrawTextWindow - ldr r0, _08051F14 @ =gOtherText_ResultsOfBlending - movs r1, 0x5 - movs r2, 0x3 - movs r3, 0xA0 - bl sub_8072BD8 - movs r6, 0 - ldr r1, _08051F18 @ =gUnknown_03004854 - ldr r0, [r1] - adds r0, 0x88 - add r2, sp, 0xC - mov r9, r2 - mov r2, sp - adds r2, 0x16 - str r2, [sp, 0x30] - ldrb r0, [r0] - cmp r6, r0 - bcs _08051E04 - mov r8, r1 - ldr r0, _08051F1C @ =gLinkPlayers - mov r10, r0 -_08051D56: - mov r1, r8 - ldr r2, [r1] - movs r1, 0xB2 - lsls r1, 1 - adds r0, r2, r1 - adds r0, r6 - ldrb r5, [r0] - mov r7, r9 - lsls r1, r5, 4 - adds r1, r2 - movs r2, 0xBF - lsls r2, 1 - adds r1, r2 - adds r0, r7, 0 - bl StringCopy - lsls r4, r5, 3 - subs r4, r5 - lsls r4, 2 - mov r1, r10 - adds r0, r4, r1 - ldrb r1, [r0, 0x1A] - adds r0, r7, 0 - bl ConvertInternationalString - adds r0, r7, 0 - ldr r1, _08051F20 @ =gOtherText_Berry - bl StringAppend - mov r2, r8 - ldr r0, [r2] - adds r7, r0, 0 - adds r7, 0xAB - adds r5, r6, 0x1 - adds r0, r7, 0 - adds r1, r5, 0 - bl ConvertIntToDecimalString - adds r7, r0, 0 - movs r1, 0 - strb r1, [r7] - movs r0, 0xAD - strb r0, [r7, 0x1] - strb r1, [r7, 0x2] - adds r7, 0x3 - ldr r0, _08051F24 @ =gLinkPlayers + 0x8 - adds r4, r0 - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0x58 - movs r3, 0 - bl sub_8072C74 - adds r7, r0, 0 - add r1, sp, 0xC - movs r2, 0x9D - movs r3, 0 - bl sub_8072C74 - mov r2, r8 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0xAB - ldr r3, _08051F28 @ =gUnknown_082165E9 - adds r1, 0x88 - ldrb r2, [r1] - adds r3, r2, r3 - ldr r1, _08051F2C @ =gUnknown_082165EE - adds r2, r1 - ldrb r1, [r2] - adds r2, r6, 0 - muls r2, r1 - ldrb r3, [r3] - adds r2, r3 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x5 - bl MenuPrint - lsls r5, 16 - lsrs r6, r5, 16 - mov r1, r8 - ldr r0, [r1] - adds r0, 0x88 - ldrb r0, [r0] - cmp r6, r0 - bcc _08051D56 -_08051E04: - ldr r6, _08051F18 @ =gUnknown_03004854 - ldr r0, [r6] - adds r0, 0x5A - ldrh r0, [r0] - movs r1, 0x64 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r0, r9 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, [r6] - adds r7, r0, 0 - adds r7, 0xAB - ldr r1, _08051F30 @ =gOtherText_MaxSpeed - adds r0, r7, 0 - bl StringCopy - adds r7, r0, 0 - ldr r0, [r6] - adds r0, 0x5A - ldrh r0, [r0] - movs r1, 0x64 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r7, 0 - movs r2, 0x79 - movs r3, 0x1 - bl sub_8072C14 - adds r7, r0, 0 - movs r1, 0 - strb r1, [r7] - movs r0, 0xAD - strb r0, [r7, 0x1] - strb r1, [r7, 0x2] - adds r7, 0x3 - adds r0, r7, 0 - mov r1, r9 - movs r2, 0x8E - movs r3, 0x1 - bl sub_8072C74 - adds r7, r0, 0 - ldr r1, _08051F34 @ =gOtherText_RPM - bl StringCopy - ldr r0, [r6] - adds r0, 0xAB - movs r1, 0x5 - movs r2, 0xD - bl MenuPrint - ldr r0, [r6] - movs r2, 0x96 - lsls r2, 1 - adds r0, r2 - ldr r0, [r0] - movs r1, 0x3C - bl __udivsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0x3C - bl __umodsi3 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r0, r9 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, [sp, 0x30] - adds r1, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, [r6] - adds r7, r0, 0 - adds r7, 0xAB - ldr r1, _08051F38 @ =gOtherText_RequiredTime - adds r0, r7, 0 - bl StringCopy - adds r7, r0, 0 - mov r1, r9 - movs r2, 0x66 - movs r3, 0x1 - bl sub_8072C74 - adds r7, r0, 0 - ldr r1, _08051F3C @ =gOtherText_Min - bl StringAppend - adds r7, r0, 0 - ldr r1, [sp, 0x30] - movs r2, 0x88 - movs r3, 0x1 - bl sub_8072C74 - adds r7, r0, 0 - ldr r1, _08051F40 @ =gOtherText_Sec - bl StringCopy - ldr r0, [r6] - adds r0, 0xAB - movs r1, 0x5 - movs r2, 0xF - bl MenuPrint - ldr r1, [r6] - movs r0, 0x98 - lsls r0, 1 - adds r2, r1, r0 - movs r0, 0 - str r0, [r2] - b _08051FE2 - .align 2, 0 -_08051F14: .4byte gOtherText_ResultsOfBlending -_08051F18: .4byte gUnknown_03004854 -_08051F1C: .4byte gLinkPlayers -_08051F20: .4byte gOtherText_Berry -_08051F24: .4byte gLinkPlayers + 0x8 -_08051F28: .4byte gUnknown_082165E9 -_08051F2C: .4byte gUnknown_082165EE -_08051F30: .4byte gOtherText_MaxSpeed -_08051F34: .4byte gOtherText_RPM -_08051F38: .4byte gOtherText_RequiredTime -_08051F3C: .4byte gOtherText_Min -_08051F40: .4byte gOtherText_Sec -_08051F44: - ldr r0, _08051F54 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0805200A - ldr r1, [r2] - b _08051FE2 - .align 2, 0 -_08051F54: .4byte gMain -_08051F58: - bl MenuZeroFillScreen - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - movs r6, 0 - add r5, sp, 0x28 - ldr r0, _08051FEC @ =gUnknown_03004854 - ldr r0, [r0] - adds r3, r0, 0 - adds r3, 0x80 - add r2, sp, 0x20 -_08051F76: - lsls r1, r6, 1 - adds r0, r3, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _08051F86 - adds r1, r2, r1 - subs r0, 0x85 - strh r0, [r1] -_08051F86: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _08051F76 - bl sub_8050760 - ldr r4, _08051FEC @ =gUnknown_03004854 - ldr r3, [r4] - movs r1, 0xBE - lsls r1, 1 - adds r0, r3, r1 - adds r1, r3, 0 - adds r1, 0x88 - ldrb r2, [r1] - subs r1, 0x2E - ldrh r1, [r1] - str r1, [sp] - adds r1, r5, 0 - add r3, sp, 0x4 - bl sub_8050520 - ldr r1, [r4] - adds r1, 0xAB - adds r0, r5, 0 - bl sub_805201C - ldr r0, _08051FF0 @ =sub_8052BD0 - movs r1, 0x6 - bl CreateTask - ldr r0, [r4] - adds r0, 0xAB - movs r1, 0x1 - movs r2, 0xF - bl MenuPrintMessage - ldr r0, _08051FF4 @ =word_203855E - ldrh r0, [r0] - movs r1, 0x1 - bl sub_80A9538 - adds r0, r5, 0 - bl sub_810CA34 - ldr r1, [r4] -_08051FE2: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0805200A - .align 2, 0 -_08051FEC: .4byte gUnknown_03004854 -_08051FF0: .4byte sub_8052BD0 -_08051FF4: .4byte word_203855E -_08051FF8: - bl MenuUpdateWindowText - lsls r0, 24 - cmp r0, 0 - beq _0805200A - bl sub_8051C24 - movs r0, 0x1 - b _0805200C -_0805200A: - movs r0, 0 -_0805200C: - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8051C58 - - thumb_func_start sub_805201C -sub_805201C: @ 805201C - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - adds r6, r1, 0 - movs r0, 0xFF - strb r0, [r6] - ldr r1, _080520B0 @ =gUnknown_083F7EB8 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - bl StringCopy - ldr r1, _080520B4 @ =gOtherText_PokeBlockMade - adds r0, r6, 0 - bl StringAppend - ldr r1, _080520B8 @ =gUnknown_082162C8 - adds r0, r6, 0 - bl StringAppend - adds r0, r5, 0 - bl sub_810C9B0 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl sub_810C9E8 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _080520BC @ =gOtherText_BlockLevelIs - adds r0, r6, 0 - bl StringAppend - mov r0, sp - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r6, 0 - mov r1, sp - bl StringAppend - ldr r1, _080520C0 @ =gOtherText_BlockFeelIs - adds r0, r6, 0 - bl StringAppend - mov r0, sp - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r6, 0 - mov r1, sp - bl StringAppend - ldr r1, _080520C4 @ =gOtherText_Period - adds r0, r6, 0 - bl StringAppend - ldr r1, _080520C8 @ =gUnknown_08216249 - adds r0, r6, 0 - bl StringAppend - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080520B0: .4byte gUnknown_083F7EB8 -_080520B4: .4byte gOtherText_PokeBlockMade -_080520B8: .4byte gUnknown_082162C8 -_080520BC: .4byte gOtherText_BlockLevelIs -_080520C0: .4byte gOtherText_BlockFeelIs -_080520C4: .4byte gOtherText_Period -_080520C8: .4byte gUnknown_08216249 - thumb_func_end sub_805201C - - thumb_func_start sub_80520CC -sub_80520CC: @ 80520CC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r0 - mov r12, r2 - lsls r1, 24 - lsrs r7, r1, 24 - movs r0, 0 - cmp r0, r7 - bge _08052118 -_080520E2: - movs r5, 0 - adds r1, r0, 0x1 - mov r8, r1 - cmp r5, r7 - bge _08052112 - mov r1, r9 - adds r6, r1, r0 -_080520F0: - ldrb r4, [r6] - lsls r1, r4, 2 - add r1, r12 - mov r0, r9 - adds r2, r0, r5 - ldrb r3, [r2] - lsls r0, r3, 2 - add r0, r12 - ldr r1, [r1] - ldr r0, [r0] - cmp r1, r0 - bls _0805210C - strb r3, [r6] - strb r4, [r2] -_0805210C: - adds r5, 0x1 - cmp r5, r7 - blt _080520F0 -_08052112: - mov r0, r8 - cmp r0, r7 - blt _080520E2 -_08052118: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80520CC - - thumb_func_start sub_8052124 -sub_8052124: @ 8052124 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - movs r5, 0 - ldr r1, _08052144 @ =gUnknown_03004854 - ldr r0, [r1] - adds r0, 0x88 - mov r10, r1 - mov r2, sp - adds r2, 0x4 - str r2, [sp, 0x14] - b _08052158 - .align 2, 0 -_08052144: .4byte gUnknown_03004854 -_08052148: - mov r4, sp - adds r0, r4, r5 - strb r5, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r1] - adds r0, 0x88 -_08052158: - ldrb r0, [r0] - cmp r5, r0 - bcc _08052148 - movs r5, 0 - mov r1, r10 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x88 - ldrb r2, [r1] - cmp r5, r2 - bcs _080521D6 - ldr r4, [sp, 0x14] - mov r9, r4 - movs r2, 0xA6 - lsls r2, 1 - adds r2, r0 - mov r8, r2 - mov r12, r1 - movs r4, 0xA7 - lsls r4, 1 - adds r7, r0, r4 - movs r1, 0xA8 - lsls r1, 1 - adds r6, r0, r1 -_08052188: - lsls r4, r5, 2 - add r4, r9 - lsls r3, r5, 1 - adds r3, r5 - lsls r3, 1 - mov r2, r8 - adds r0, r2, r3 - ldrh r2, [r0] - lsls r0, r2, 5 - subs r0, r2 - lsls r1, r0, 6 - subs r1, r0 - lsls r1, 3 - adds r1, r2 - lsls r1, 6 - str r1, [r4] - adds r0, r7, r3 - ldrh r2, [r0] - lsls r0, r2, 5 - subs r0, r2 - lsls r0, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - str r1, [r4] - movs r0, 0xFA - lsls r0, 2 - adds r1, r0 - adds r3, r6, r3 - ldrh r0, [r3] - subs r1, r0 - str r1, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r12 - ldrb r1, [r1] - cmp r5, r1 - bcc _08052188 -_080521D6: - mov r2, r10 - ldr r0, [r2] - adds r0, 0x88 - ldrb r1, [r0] - mov r0, sp - ldr r2, [sp, 0x14] - bl sub_80520CC - movs r5, 0 - mov r4, r10 - ldr r0, [r4] - adds r0, 0x88 - ldrb r0, [r0] - cmp r5, r0 - bcs _08052218 - mov r2, r10 - movs r3, 0xB2 - lsls r3, 1 -_080521FA: - ldr r1, [r2] - adds r1, r3 - adds r1, r5 - mov r4, sp - adds r0, r4, r5 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r2] - adds r0, 0x88 - ldrb r0, [r0] - cmp r5, r0 - bcc _080521FA -_08052218: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8052124 - - thumb_func_start sub_8052228 -sub_8052228: @ 8052228 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r1, _08052248 @ =gUnknown_03004854 - ldr r0, [r1] - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x6 - bls _0805223C - b _080524AE -_0805223C: - lsls r0, 2 - ldr r1, _0805224C @ =_08052250 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08052248: .4byte gUnknown_03004854 -_0805224C: .4byte _08052250 - .align 2, 0 -_08052250: - .4byte _0805226C - .4byte _08052282 - .4byte _0805229C - .4byte _080522B6 - .4byte _08052464 - .4byte _0805247E - .4byte _080524A4 -_0805226C: - ldr r1, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - movs r1, 0x98 - lsls r1, 1 - adds r0, r1 - movs r1, 0xFF - str r1, [r0] - b _080524AE -_08052282: - ldr r1, [r2] - movs r0, 0x98 - lsls r0, 1 - adds r2, r1, r0 - ldr r0, [r2] - subs r0, 0xA - str r0, [r2] - cmp r0, 0 - blt _08052296 - b _080524AE -_08052296: - movs r0, 0 - str r0, [r2] - b _08052494 -_0805229C: - ldr r1, [r2] - movs r0, 0x98 - lsls r0, 1 - adds r2, r1, r0 - ldr r0, [r2] - adds r0, 0x1 - str r0, [r2] - cmp r0, 0x14 - bgt _080522B0 - b _080524AE -_080522B0: - movs r0, 0 - str r0, [r2] - b _08052494 -_080522B6: - movs r0, 0x4 - movs r1, 0x2 - movs r2, 0x19 - movs r3, 0x11 - bl MenuDrawTextWindow - ldr r0, _0805236C @ =gOtherText_Ranking - movs r1, 0x5 - movs r2, 0x3 - movs r3, 0xA0 - bl sub_8072BD8 - ldr r6, _08052370 @ =gSpriteTemplate_821645C - adds r0, r6, 0 - movs r1, 0x8C - movs r2, 0x34 - movs r3, 0 - bl CreateSprite - ldr r7, _08052374 @ =gUnknown_03004854 - ldr r1, [r7] - adds r1, 0x50 - strb r0, [r1] - ldr r1, _08052378 @ =gSprites - mov r8, r1 - ldr r2, [r7] - adds r2, 0x50 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r5, r8 - adds r5, 0x1C - adds r0, r5 - ldr r4, _0805237C @ =SpriteCallbackDummy - str r4, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - movs r1, 0x3 - bl StartSpriteAnim - adds r0, r6, 0 - movs r1, 0xA4 - movs r2, 0x34 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x51 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x51 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - str r4, [r0] - adds r0, r6, 0 - movs r1, 0xBC - movs r2, 0x34 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x52 - strb r0, [r1] - ldr r2, [r7] - adds r2, 0x52 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - str r4, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - movs r1, 0x1 - bl StartSpriteAnim - bl sub_8052124 - movs r2, 0 - mov r8, r2 - b _0805243C - .align 2, 0 -_0805236C: .4byte gOtherText_Ranking -_08052370: .4byte gSpriteTemplate_821645C -_08052374: .4byte gUnknown_03004854 -_08052378: .4byte gSprites -_0805237C: .4byte SpriteCallbackDummy -_08052380: - ldr r1, [r7] - movs r2, 0xB2 - lsls r2, 1 - adds r0, r1, r2 - add r0, r8 - ldrb r5, [r0] - adds r2, r1, 0 - adds r2, 0xAB - movs r0, 0xFC - strb r0, [r2] - movs r0, 0x13 - strb r0, [r2, 0x1] - movs r0, 0x4 - strb r0, [r2, 0x2] - adds r2, 0x3 - mov r6, r8 - adds r6, 0x1 - adds r0, r2, 0 - adds r1, r6, 0 - bl ConvertIntToDecimalString - adds r2, r0, 0 - movs r1, 0 - strb r1, [r2] - movs r0, 0xAD - strb r0, [r2, 0x1] - strb r1, [r2, 0x2] - adds r2, 0x3 - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - ldr r0, _08052458 @ =gLinkPlayers + 0x8 - adds r1, r0 - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 - ldr r0, [r7] - lsls r4, r5, 1 - adds r4, r5 - lsls r4, 1 - movs r1, 0xA6 - lsls r1, 1 - adds r0, r1 - adds r0, r4 - ldrh r1, [r0] - adds r0, r2, 0 - movs r2, 0x6C - movs r3, 0x1 - bl sub_8072C14 - adds r2, r0, 0 - ldr r0, [r7] - movs r1, 0xA7 - lsls r1, 1 - adds r0, r1 - adds r0, r4 - ldrh r1, [r0] - adds r0, r2, 0 - movs r2, 0x84 - movs r3, 0x1 - bl sub_8072C14 - adds r2, r0, 0 - ldr r0, [r7] - movs r1, 0xA8 - lsls r1, 1 - adds r0, r1 - adds r0, r4 - ldrh r1, [r0] - adds r0, r2, 0 - movs r2, 0x9C - movs r3, 0x1 - bl sub_8072C14 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0xAB - ldr r2, _0805245C @ =gUnknown_082165F3 - adds r1, 0x88 - ldrb r1, [r1] - adds r1, r2 - ldrb r1, [r1] - mov r2, r8 - muls r2, r1 - adds r2, 0x8 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x5 - bl MenuPrint - lsls r6, 16 - lsrs r6, 16 - mov r8, r6 -_0805243C: - ldr r0, [r7] - adds r0, 0x88 - ldrb r0, [r0] - cmp r8, r0 - bcc _08052380 - ldr r0, _08052460 @ =gUnknown_03004854 - ldr r1, [r0] - movs r0, 0x98 - lsls r0, 1 - adds r2, r1, r0 - movs r0, 0 - str r0, [r2] - b _08052494 - .align 2, 0 -_08052458: .4byte gLinkPlayers + 0x8 -_0805245C: .4byte gUnknown_082165F3 -_08052460: .4byte gUnknown_03004854 -_08052464: - ldr r2, [r2] - movs r0, 0x98 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x14 - ble _080524AE - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _080524AE -_0805247E: - ldr r0, _0805249C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080524AE - movs r0, 0x5 - bl PlaySE - ldr r0, _080524A0 @ =gUnknown_03004854 - ldr r1, [r0] -_08052494: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080524AE - .align 2, 0 -_0805249C: .4byte gMain -_080524A0: .4byte gUnknown_03004854 -_080524A4: - ldr r1, [r2] - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _080524B0 -_080524AE: - movs r0, 0 -_080524B0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8052228 - - thumb_func_start unref_sub_80524BC -unref_sub_80524BC: @ 80524BC - push {r4,lr} - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r0, _0805251C @ =sub_804E2D8 - bl SetVBlankCallback - ldr r4, _08052520 @ =gWindowConfig_81E6CE4 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - ldr r0, _08052524 @ =gMain - ldrh r0, [r0, 0x20] - bl SeedRng - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xAA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - ldr r1, _08052528 @ =gUnknown_03000560 - movs r0, 0xFA - lsls r0, 5 - strh r0, [r1, 0x1A] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - ldr r0, _0805252C @ =sub_8052AF8 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805251C: .4byte sub_804E2D8 -_08052520: .4byte gWindowConfig_81E6CE4 -_08052524: .4byte gMain -_08052528: .4byte gUnknown_03000560 -_0805252C: .4byte sub_8052AF8 - thumb_func_end unref_sub_80524BC - - thumb_func_start sub_8052530 -sub_8052530: @ 8052530 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x98 - ldr r1, _080525C8 @ =gOtherText_BPMAndDash - mov r0, sp - bl StringCopy - mov r0, sp - movs r1, 0x2 - movs r2, 0 - bl MenuPrint - ldr r4, _080525CC @ =gUnknown_03000560 - movs r1, 0x1A - ldrsh r0, [r4, r1] - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - mov r0, sp - movs r2, 0x2 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r0, sp - movs r1, 0x6 - movs r2, 0 - bl MenuPrint - movs r6, 0 - mov r2, sp - adds r2, 0x3 - str r2, [sp, 0x84] - mov r3, sp - adds r3, 0x6 - str r3, [sp, 0x88] - mov r0, sp - adds r0, 0x9 - str r0, [sp, 0x8C] - mov r1, sp - adds r1, 0xC - str r1, [sp, 0x90] - adds r2, 0xC - str r2, [sp, 0x94] - mov r8, r4 - mov r7, sp - ldr r3, _080525D0 @ =gBerries - mov r9, r3 - ldr r0, _080525D4 @ =gUnknown_082165F8 - mov r10, r0 -_0805259E: - mov r1, r8 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, r6 - bne _080525D8 - movs r0, 0xEF - strb r0, [r7] - mov r0, r8 - adds r0, 0x1 - adds r0, r6, r0 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, 0x85 - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - adds r1, 0x1 - bl itemid_copy_name - b _080525F8 - .align 2, 0 -_080525C8: .4byte gOtherText_BPMAndDash -_080525CC: .4byte gUnknown_03000560 -_080525D0: .4byte gBerries -_080525D4: .4byte gUnknown_082165F8 -_080525D8: - mov r0, r8 - adds r0, 0x1 - adds r0, r6, r0 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, 0x85 - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - bl itemid_copy_name - movs r0, 0 - strb r0, [r7, 0x6] - movs r0, 0xFF - strb r0, [r7, 0x7] -_080525F8: - lsls r5, r6, 1 - adds r5, r6 - adds r5, 0x3 - lsls r5, 24 - lsrs r5, 24 - mov r0, sp - movs r1, 0x2 - adds r2, r5, 0 - bl MenuPrint - mov r4, r8 - adds r4, 0x1 - adds r4, r6, r4 - movs r1, 0 - ldrsb r1, [r4, r1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r1, [r0, 0x15] - mov r0, sp - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - mov r0, sp - mov r1, r10 - bl StringAppend - movs r1, 0 - ldrsb r1, [r4, r1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r1, [r0, 0x16] - ldr r0, [sp, 0x84] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - mov r0, sp - mov r1, r10 - bl StringAppend - movs r1, 0 - ldrsb r1, [r4, r1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r1, [r0, 0x17] - ldr r0, [sp, 0x88] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - mov r0, sp - mov r1, r10 - bl StringAppend - movs r1, 0 - ldrsb r1, [r4, r1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r1, [r0, 0x18] - ldr r0, [sp, 0x8C] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - mov r0, sp - mov r1, r10 - bl StringAppend - movs r1, 0 - ldrsb r1, [r4, r1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r1, [r0, 0x19] - ldr r0, [sp, 0x90] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - mov r0, sp - mov r1, r10 - bl StringAppend - movs r1, 0 - ldrsb r1, [r4, r1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r1, [r0, 0x1A] - ldr r0, [sp, 0x94] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r2, 0x1 - negs r2, r2 - add r3, sp, 0x80 - strb r2, [r3] - movs r0, 0xFF - strb r0, [r7, 0x11] - mov r0, sp - movs r1, 0x7 - adds r2, r5, 0 - bl MenuPrint - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bhi _080526EC - b _0805259E -_080526EC: - mov r1, r8 - ldrb r0, [r1, 0x8] - cmp r0, 0 - beq _080527A4 - ldr r1, _080527B4 @ =gUnknown_083F7EB8 - mov r2, r8 - ldrb r0, [r2, 0x8] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - mov r0, sp - bl StringCopy - mov r0, sp - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - mov r3, r8 - ldrb r1, [r3, 0x11] - mov r0, sp - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToHexStringN - ldr r4, _080527B8 @ =gUnknown_082165F8 - mov r0, sp - adds r1, r4, 0 - bl StringAppend - mov r0, r8 - ldrb r1, [r0, 0x12] - ldr r0, [sp, 0x84] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToHexStringN - mov r0, sp - adds r1, r4, 0 - bl StringAppend - mov r2, r8 - ldrb r1, [r2, 0x13] - ldr r0, [sp, 0x88] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToHexStringN - mov r0, sp - adds r1, r4, 0 - bl StringAppend - mov r3, r8 - ldrb r1, [r3, 0x14] - ldr r0, [sp, 0x8C] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToHexStringN - mov r0, sp - adds r1, r4, 0 - bl StringAppend - mov r0, r8 - ldrb r1, [r0, 0x15] - ldr r0, [sp, 0x90] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToHexStringN - mov r0, sp - adds r1, r4, 0 - bl StringAppend - mov r2, r8 - ldrb r1, [r2, 0x16] - ldr r0, [sp, 0x94] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToHexStringN - mov r1, sp - ldrb r0, [r1, 0x11] - add r3, sp, 0x80 - ldrb r3, [r3] - orrs r0, r3 - strb r0, [r1, 0x11] - mov r0, sp - movs r1, 0x7 - movs r2, 0x11 - bl MenuPrint -_080527A4: - add sp, 0x98 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080527B4: .4byte gUnknown_083F7EB8 -_080527B8: .4byte gUnknown_082165F8 - thumb_func_end sub_8052530 - - thumb_func_start sub_80527BC -sub_80527BC: @ 80527BC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x58 - ldr r0, _08052844 @ =gUnknown_020297DC - ldrb r0, [r0] - add r6, sp, 0x48 - cmp r0, 0x1 - bne _08052814 - movs r1, 0 - ldr r3, _08052848 @ =gUnknown_03004840 - movs r2, 0 -_080527D6: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9 - bls _080527D6 - bl Random - ldr r1, _0805284C @ =gUnknown_03004830 - strh r0, [r1] - ldr r1, _08052850 @ =gUnknown_020297E0 - movs r0, 0 - str r0, [r1] - ldr r1, _08052844 @ =gUnknown_020297DC - movs r0, 0x2 - strb r0, [r1] - movs r4, 0 - ldr r2, _08052854 @ =0x02000000 - movs r1, 0 -_08052800: - adds r0, r4, r2 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0xC7 - bls _08052800 - ldr r1, _08052858 @ =gUnknown_020297E8 - movs r0, 0 - strb r0, [r1] -_08052814: - movs r4, 0 - movs r0, 0x1 - mov r8, r0 - ldr r7, _08052858 @ =gUnknown_020297E8 - ldr r5, _08052850 @ =gUnknown_020297E0 - ldr r1, _08052854 @ =0x02000000 - mov r9, r1 - ldr r3, _0805285C @ =gUnknown_020297E4 -_08052824: - str r3, [sp, 0x54] - bl Random - lsls r0, 16 - lsrs r0, 31 - mov r1, r8 - ands r0, r1 - ldr r3, [sp, 0x54] - ldrb r1, [r7] - cmp r0, r1 - bne _08052860 - ldr r0, [r5] - adds r0, 0x1 - str r0, [r5] - b _0805287A - .align 2, 0 -_08052844: .4byte gUnknown_020297DC -_08052848: .4byte gUnknown_03004840 -_0805284C: .4byte gUnknown_03004830 -_08052850: .4byte gUnknown_020297E0 -_08052854: .4byte 0x02000000 -_08052858: .4byte gUnknown_020297E8 -_0805285C: .4byte gUnknown_020297E4 -_08052860: - ldr r2, [r3] - lsls r0, r2, 1 - add r0, r9 - ldr r1, [r5] - strh r1, [r0] - adds r2, 0x1 - str r2, [r3] - movs r0, 0 - str r0, [r5] - ldrb r0, [r7] - mov r1, r8 - eors r0, r1 - strb r0, [r7] -_0805287A: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x63 - bls _08052824 - mov r1, sp - movs r0, 0xFF - strb r0, [r1] - ldr r0, _08052900 @ =gUnknown_03004830 - ldrh r1, [r0] - adds r0, r6, 0 - movs r2, 0x2 - movs r3, 0x8 - bl ConvertIntToHexStringN - mov r0, sp - adds r1, r6, 0 - bl StringAppend - ldr r1, _08052904 @ =gUnknown_082165F8 - mov r0, sp - bl StringAppend - ldr r0, _08052908 @ =gUnknown_020297E0 - ldr r1, [r0] - adds r0, r6, 0 - movs r2, 0x2 - movs r3, 0x8 - bl ConvertIntToHexStringN - mov r0, sp - adds r1, r6, 0 - bl StringAppend - ldr r1, _0805290C @ =gUnknown_08216600 - mov r0, sp - bl StringAppend - ldr r4, _08052910 @ =gUnknown_020297DC - ldrb r0, [r4] - cmp r0, 0x3 - bne _080528E8 - ldr r0, _08052914 @ =gUnknown_020297E4 - ldr r1, [r0] - adds r0, r6, 0 - movs r2, 0x2 - movs r3, 0x10 - bl ConvertIntToHexStringN - mov r0, sp - adds r1, r6, 0 - bl StringAppend - movs r0, 0 - strb r0, [r4] -_080528E8: - mov r0, sp - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - add sp, 0x58 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08052900: .4byte gUnknown_03004830 -_08052904: .4byte gUnknown_082165F8 -_08052908: .4byte gUnknown_020297E0 -_0805290C: .4byte gUnknown_08216600 -_08052910: .4byte gUnknown_020297DC -_08052914: .4byte gUnknown_020297E4 - thumb_func_end sub_80527BC - - thumb_func_start sub_8052918 -sub_8052918: @ 8052918 - push {r4-r6,lr} - sub sp, 0x4C - ldr r2, _08052A88 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - ldr r4, _08052A8C @ =gUnknown_03000560 - cmp r0, 0 - beq _0805294C - movs r1, 0xFA - lsls r1, 2 - adds r0, r1, 0 - ldrh r1, [r4, 0x1A] - adds r0, r1 - strh r0, [r4, 0x1A] - lsls r0, 16 - ldr r1, _08052A90 @ =0x75300000 - cmp r0, r1 - ble _08052946 - movs r0, 0xFA - lsls r0, 2 - strh r0, [r4, 0x1A] -_08052946: - ldrb r0, [r4, 0x10] - adds r0, 0x1 - strb r0, [r4, 0x10] -_0805294C: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _08052972 - ldr r1, _08052A94 @ =0xfffffc18 - adds r0, r1, 0 - ldrh r1, [r4, 0x1A] - adds r0, r1 - strh r0, [r4, 0x1A] - lsls r0, 16 - cmp r0, 0 - bge _0805296C - ldr r0, _08052A98 @ =0x00007530 - strh r0, [r4, 0x1A] -_0805296C: - ldrb r0, [r4, 0x10] - adds r0, 0x1 - strb r0, [r4, 0x10] -_08052972: - ldrh r1, [r2, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08052992 - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - lsls r0, 24 - cmp r0, 0 - bge _0805298C - movs r0, 0x3 - strb r0, [r4] -_0805298C: - ldrb r0, [r4, 0x10] - adds r0, 0x1 - strb r0, [r4, 0x10] -_08052992: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080529B4 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080529AE - movs r0, 0 - strb r0, [r4] -_080529AE: - ldrb r0, [r4, 0x10] - adds r0, 0x1 - strb r0, [r4, 0x10] -_080529B4: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080529E4 - adds r3, r4, 0 - movs r1, 0 - ldrsb r1, [r3, r1] - adds r5, r3, 0x1 - adds r1, r5 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bge _080529DE - movs r0, 0 - ldrsb r0, [r3, r0] - adds r0, r5 - movs r1, 0x2A - strb r1, [r0] -_080529DE: - ldrb r0, [r4, 0x10] - adds r0, 0x1 - strb r0, [r4, 0x10] -_080529E4: - ldrh r1, [r2, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08052A16 - ldr r3, _08052A8C @ =gUnknown_03000560 - movs r1, 0 - ldrsb r1, [r3, r1] - adds r4, r3, 0x1 - adds r1, r4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x2A - ble _08052A10 - movs r0, 0 - ldrsb r0, [r3, r0] - adds r0, r4 - movs r1, 0 - strb r1, [r0] -_08052A10: - ldrb r0, [r3, 0x10] - adds r0, 0x1 - strb r0, [r3, 0x10] -_08052A16: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08052AA0 - movs r6, 0 - movs r4, 0 - ldr r5, _08052A8C @ =gUnknown_03000560 -_08052A26: - adds r0, r5, 0x1 - adds r2, r4, r0 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0x2A - beq _08052A64 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r0, r4, 1 - mov r1, sp - adds r1, r0 - adds r1, 0x4 - movs r0, 0 - ldrsb r0, [r2, r0] - strh r0, [r1] - add r0, sp, 0xC - lsls r1, r4, 4 - adds r0, r1 - movs r1, 0 - ldrsb r1, [r2, r1] - adds r1, 0x85 - lsls r1, 16 - lsrs r1, 16 - bl sub_804E844 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _08052A26 -_08052A64: - cmp r6, 0x1 - bls _08052A9C - add r0, sp, 0xC - adds r1, r5, 0 - adds r1, 0x8 - lsls r2, r6, 24 - lsrs r2, 24 - adds r3, r5, 0 - adds r3, 0x11 - ldrh r4, [r5, 0x1A] - str r4, [sp] - bl sub_8050744 - ldrb r0, [r5, 0x10] - adds r0, 0x1 - strb r0, [r5, 0x10] - b _08052AA0 - .align 2, 0 -_08052A88: .4byte gMain -_08052A8C: .4byte gUnknown_03000560 -_08052A90: .4byte 0x75300000 -_08052A94: .4byte 0xfffffc18 -_08052A98: .4byte 0x00007530 -_08052A9C: - movs r0, 0xFF - strb r0, [r5, 0x8] -_08052AA0: - ldr r4, _08052AE8 @ =gUnknown_03000560 - ldrb r0, [r4, 0x10] - cmp r0, 0 - beq _08052AB0 - bl sub_8052530 - movs r0, 0 - strb r0, [r4, 0x10] -_08052AB0: - ldr r3, _08052AEC @ =gMain - ldrh r1, [r3, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08052AD4 - ldr r2, _08052AF0 @ =gUnknown_020297DC - ldrb r0, [r2] - adds r1, r0, 0 - cmp r1, 0 - bne _08052ADC - adds r0, 0x1 - strb r0, [r2] - ldr r0, _08052AF4 @ =gUnknown_020297E0 - str r1, [r0] - ldrh r0, [r3, 0x20] - bl SeedRng -_08052AD4: - ldr r0, _08052AF0 @ =gUnknown_020297DC - ldrb r0, [r0] - cmp r0, 0 - beq _08052AE0 -_08052ADC: - bl sub_80527BC -_08052AE0: - add sp, 0x4C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08052AE8: .4byte gUnknown_03000560 -_08052AEC: .4byte gMain -_08052AF0: .4byte gUnknown_020297DC -_08052AF4: .4byte gUnknown_020297E0 - thumb_func_end sub_8052918 - - thumb_func_start sub_8052AF8 -sub_8052AF8: @ 8052AF8 - push {lr} - bl sub_8052918 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8052AF8 - - thumb_func_start ShowBerryBlenderRecordWindow -ShowBerryBlenderRecordWindow: @ 8052B14 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x20 - movs r0, 0x6 - movs r1, 0x3 - movs r2, 0x17 - movs r3, 0x10 - bl MenuDrawTextWindow - ldr r0, _08052BBC @ =gMultiText_BerryBlenderMaxSpeedRecord - movs r1, 0x8 - movs r2, 0x4 - bl MenuPrint - ldr r0, _08052BC0 @ =gMultiText_2P3P4P - movs r1, 0x8 - movs r2, 0x9 - bl MenuPrint - movs r0, 0 - mov r8, r0 - ldr r0, _08052BC4 @ =gSaveBlock1 - movs r7, 0x90 - lsls r7, 20 - ldr r1, _08052BC8 @ =0x0000096c - adds r6, r0, r1 - movs r0, 0 - mov r9, r0 -_08052B50: - ldrh r4, [r6] - adds r0, r4, 0 - movs r1, 0x64 - bl __udivsi3 - adds r1, r0, 0 - mov r0, sp - movs r2, 0x12 - movs r3, 0x1 - bl sub_8072C14 - adds r5, r0, 0 - mov r1, r9 - strb r1, [r5] - movs r0, 0xAD - strb r0, [r5, 0x1] - strb r1, [r5, 0x2] - adds r5, 0x3 - adds r0, r4, 0 - movs r1, 0x64 - bl __umodsi3 - adds r1, r0, 0 - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r5, r0, 0 - ldr r1, _08052BCC @ =gOtherText_RPM - bl StringAppend - lsrs r2, r7, 24 - mov r0, sp - movs r1, 0xF - bl MenuPrint - movs r0, 0x80 - lsls r0, 18 - adds r7, r0 - adds r6, 0x2 - movs r1, 0x1 - add r8, r1 - mov r0, r8 - cmp r0, 0x2 - ble _08052B50 - add sp, 0x20 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08052BBC: .4byte gMultiText_BerryBlenderMaxSpeedRecord -_08052BC0: .4byte gMultiText_2P3P4P -_08052BC4: .4byte gSaveBlock1 -_08052BC8: .4byte 0x0000096c -_08052BCC: .4byte gOtherText_RPM - thumb_func_end ShowBerryBlenderRecordWindow - - thumb_func_start sub_8052BD0 -sub_8052BD0: @ 8052BD0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _08052C1C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08052BF6 - ldr r0, _08052C20 @ =0x0000016f - bl PlayFanfare - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08052BF6: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _08052C16 - ldr r0, _08052C24 @ =gUnknown_03004854 - ldr r0, [r0] - movs r1, 0xBC - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - bl PlayBGM - adds r0, r5, 0 - bl DestroyTask -_08052C16: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08052C1C: .4byte gTasks -_08052C20: .4byte 0x0000016f -_08052C24: .4byte gUnknown_03004854 - thumb_func_end sub_8052BD0 + .align 2, 0 @ Don't pad with nop. |
