diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_interface.s | 5660 | ||||
-rw-r--r-- | asm/crt0.s | 77 | ||||
-rw-r--r-- | asm/librfu.s | 6697 | ||||
-rw-r--r-- | asm/librfu_intr.s | 54 | ||||
-rw-r--r-- | asm/librfu_stwi.s | 1560 | ||||
-rw-r--r-- | asm/link_rfu.s | 134 | ||||
-rw-r--r-- | asm/link_rfu_2.s | 132 | ||||
-rw-r--r-- | asm/link_rfu_3.s | 4 | ||||
-rw-r--r-- | asm/pc_screen_effect.s | 477 | ||||
-rw-r--r-- | asm/pokemon_summary_screen.s | 8 | ||||
-rw-r--r-- | asm/region_map.s | 13825 | ||||
-rw-r--r-- | asm/script_pokemon_util_80A0058.s | 535 | ||||
-rw-r--r-- | asm/script_pokemon_util_80BF8FC.s | 422 |
13 files changed, 206 insertions, 29379 deletions
diff --git a/asm/battle_interface.s b/asm/battle_interface.s deleted file mode 100644 index 753b1696b..000000000 --- a/asm/battle_interface.s +++ /dev/null @@ -1,5660 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8047B0C -sub_8047B0C: @ 8047B0C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r7, r1, 0 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - movs r3, 0 - movs r2, 0 -_08047B28: - lsls r0, r3, 24 - asrs r0, 24 - mov r3, sp - adds r1, r3, r0 - strb r2, [r1] - adds r0, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _08047B28 - movs r3, 0x3 - movs r0, 0x1 - negs r0, r0 - mov r9, r0 - mov r8, sp -_08047B48: - lsls r0, r5, 16 - asrs r6, r0, 16 - cmp r6, 0 - ble _08047B76 - lsls r4, r3, 24 - asrs r4, 24 - mov r1, sp - adds r5, r1, r4 - adds r0, r6, 0 - movs r1, 0xA - bl __modsi3 - strb r0, [r5] - adds r0, r6, 0 - movs r1, 0xA - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - subs r4, 0x1 - lsls r4, 24 - lsrs r3, r4, 24 - b _08047B48 -_08047B76: - lsls r1, r3, 24 - asrs r0, r1, 24 - cmp r0, r9 - ble _08047B9A - movs r4, 0xFF - movs r3, 0x1 - negs r3, r3 -_08047B84: - asrs r2, r1, 24 - mov r5, sp - adds r1, r5, r2 - ldrb r0, [r1] - orrs r0, r4 - strb r0, [r1] - subs r2, 0x1 - lsls r1, r2, 24 - asrs r0, r1, 24 - cmp r0, r3 - bgt _08047B84 -_08047B9A: - mov r1, r8 - ldrb r0, [r1, 0x3] - cmp r0, 0xFF - bne _08047BA6 - movs r0, 0 - strb r0, [r1, 0x3] -_08047BA6: - mov r2, r10 - cmp r2, 0 - bne _08047C36 - movs r3, 0 - movs r1, 0 - movs r6, 0xFC - lsls r6, 8 - movs r5, 0x1E - mov r12, r5 -_08047BB8: - lsls r1, 24 - asrs r2, r1, 24 - mov r0, sp - adds r5, r0, r2 - ldrb r0, [r5] - mov r8, r1 - cmp r0, 0xFF - bne _08047BEE - lsls r1, r2, 1 - adds r1, r7 - ldrh r2, [r1] - adds r0, r6, 0 - ands r0, r2 - mov r2, r12 - orrs r0, r2 - strh r0, [r1] - lsls r3, 24 - asrs r1, r3, 23 - adds r1, r7 - adds r1, 0x40 - ldrh r2, [r1] - adds r0, r6, 0 - ands r0, r2 - mov r5, r12 - orrs r0, r5 - strh r0, [r1] - b _08047C1E -_08047BEE: - lsls r2, 1 - adds r2, r7 - ldrh r0, [r2] - adds r1, r6, 0 - ands r1, r0 - ldrb r0, [r5] - adds r0, 0x14 - orrs r1, r0 - strh r1, [r2] - lsls r4, r3, 24 - asrs r3, r4, 24 - lsls r2, r3, 1 - adds r2, r7 - adds r2, 0x40 - ldrh r0, [r2] - adds r1, r6, 0 - ands r1, r0 - mov r5, sp - adds r0, r5, r3 - ldrb r0, [r0] - adds r0, 0x34 - orrs r1, r0 - strh r1, [r2] - adds r3, r4, 0 -_08047C1E: - movs r0, 0x80 - lsls r0, 17 - add r0, r8 - lsrs r1, r0, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r3, r2 - lsrs r3, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _08047BB8 - b _08047C9A -_08047C36: - movs r3, 0 - movs r4, 0xFC - lsls r4, 8 - movs r6, 0x1E -_08047C3E: - lsls r1, r3, 24 - asrs r2, r1, 24 - mov r3, sp - adds r5, r3, r2 - ldrb r0, [r5] - adds r3, r1, 0 - cmp r0, 0xFF - bne _08047C6A - lsls r1, r2, 1 - adds r1, r7 - ldrh r2, [r1] - adds r0, r4, 0 - ands r0, r2 - orrs r0, r6 - strh r0, [r1] - adds r1, 0x40 - ldrh r2, [r1] - adds r0, r4, 0 - ands r0, r2 - orrs r0, r6 - strh r0, [r1] - b _08047C8C -_08047C6A: - lsls r2, 1 - adds r2, r7 - ldrh r0, [r2] - adds r1, r4, 0 - ands r1, r0 - ldrb r0, [r5] - adds r0, 0x14 - orrs r1, r0 - strh r1, [r2] - adds r2, 0x40 - ldrh r0, [r2] - adds r1, r4, 0 - ands r1, r0 - ldrb r0, [r5] - adds r0, 0x34 - orrs r1, r0 - strh r1, [r2] -_08047C8C: - movs r5, 0x80 - lsls r5, 17 - adds r0, r3, r5 - lsrs r3, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _08047C3E -_08047C9A: - 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_8047B0C - - thumb_func_start sub_8047CAC -sub_8047CAC: @ 8047CAC - push {r4,r5,lr} - adds r4, r0, 0 - adds r0, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - movs r1, 0x1E - strh r1, [r5, 0x8] - lsls r0, 16 - asrs r0, 16 - adds r1, r5, 0 - movs r2, 0 - bl sub_8047B0C - lsls r4, 16 - asrs r4, 16 - adds r5, 0xA - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_8047B0C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8047CAC - - thumb_func_start CreateBattlerHealthboxSprites -CreateBattlerHealthboxSprites: @ 8047CE0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r0, 0 - str r0, [sp] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _08047DF4 - mov r0, r10 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08047D78 - ldr r4, _08047D68 @ =gUnknown_8260278 - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0xA0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0xA0 - movs r3, 0x1 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r7, r0, 24 - ldr r4, _08047D6C @ =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x1] - movs r3, 0x3F - adds r0, r3, 0 - ands r0, r2 - strb r0, [r1, 0x1] - lsls r2, r7, 4 - adds r2, r7 - lsls r2, 2 - adds r2, r4 - ldrb r0, [r2, 0x1] - ands r3, r0 - strb r3, [r2, 0x1] - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x40 - ldr r4, _08047D70 @ =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, _08047D74 @ =0xfffffc00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] - b _08047DBE - .align 2, 0 -_08047D68: .4byte gUnknown_8260278 -_08047D6C: .4byte gSprites -_08047D70: .4byte 0x000003ff -_08047D74: .4byte 0xfffffc00 -_08047D78: - ldr r4, _08047DE0 @ =gUnknown_82602A8 - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0xA0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0xA0 - movs r3, 0x1 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _08047DE4 @ =gSprites - lsls r2, r7, 4 - adds r2, r7 - lsls r2, 2 - adds r2, r0 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x20 - ldr r5, _08047DE8 @ =0x000003ff - adds r0, r5, 0 - ands r1, r0 - ldr r0, _08047DEC @ =0xfffffc00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] - movs r0, 0x2 - str r0, [sp] -_08047DBE: - ldr r2, _08047DE4 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r2 - strh r7, [r0, 0x6] - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r1, r0, r2 - strh r6, [r1, 0x38] - adds r2, 0x1C - adds r0, r2 - ldr r1, _08047DF0 @ =sub_8048128 - str r1, [r0] - b _08047F1C - .align 2, 0 -_08047DE0: .4byte gUnknown_82602A8 -_08047DE4: .4byte gSprites -_08047DE8: .4byte 0x000003ff -_08047DEC: .4byte 0xfffffc00 -_08047DF0: .4byte sub_8048128 -_08047DF4: - mov r0, r10 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08047E98 - mov r0, r10 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 25 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldr r4, _08047E84 @ =gUnknown_8260278 - adds r0, r4 - movs r1, 0xF0 - movs r2, 0xA0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r10 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 25 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r1, 0xF0 - movs r2, 0xA0 - movs r3, 0x1 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r7, r0, 24 - ldr r4, _08047E88 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r4 - strh r7, [r0, 0x6] - lsls r2, r7, 4 - adds r2, r7 - lsls r2, 2 - adds r3, r2, r4 - strh r6, [r3, 0x38] - ldrh r1, [r3, 0x4] - mov r8, r1 - mov r5, r8 - lsls r1, r5, 22 - lsrs r1, 22 - adds r1, 0x20 - ldr r5, _08047E8C @ =0x000003ff - adds r0, r5, 0 - ands r1, r0 - ldr r0, _08047E90 @ =0xfffffc00 - mov r5, r8 - ands r0, r5 - orrs r0, r1 - strh r0, [r3, 0x4] - adds r4, 0x1C - adds r2, r4 - ldr r0, _08047E94 @ =sub_8048128 - str r0, [r2] - movs r0, 0x1 - b _08047F1A - .align 2, 0 -_08047E84: .4byte gUnknown_8260278 -_08047E88: .4byte gSprites -_08047E8C: .4byte 0x000003ff -_08047E90: .4byte 0xfffffc00 -_08047E94: .4byte sub_8048128 -_08047E98: - mov r0, r10 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 25 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldr r4, _08047FE0 @ =gUnknown_82602A8 - adds r0, r4 - movs r1, 0xF0 - movs r2, 0xA0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r10 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 25 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r1, 0xF0 - movs r2, 0xA0 - movs r3, 0x1 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r7, r0, 24 - ldr r4, _08047FE4 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r4 - strh r7, [r0, 0x6] - lsls r2, r7, 4 - adds r2, r7 - lsls r2, 2 - adds r3, r2, r4 - strh r6, [r3, 0x38] - ldrh r1, [r3, 0x4] - mov r8, r1 - mov r5, r8 - lsls r1, r5, 22 - lsrs r1, 22 - adds r1, 0x20 - ldr r5, _08047FE8 @ =0x000003ff - adds r0, r5, 0 - ands r1, r0 - ldr r0, _08047FEC @ =0xfffffc00 - mov r5, r8 - ands r0, r5 - orrs r0, r1 - strh r0, [r3, 0x4] - adds r4, 0x1C - adds r2, r4 - ldr r0, _08047FF0 @ =sub_8048128 - str r0, [r2] - movs r0, 0x2 -_08047F1A: - str r0, [sp] -_08047F1C: - ldr r0, _08047FF4 @ =gBattlerPositions - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldr r1, _08047FF8 @ =gUnknown_82602F8 - adds r0, r1 - movs r1, 0x8C - movs r2, 0x3C - movs r3, 0 - bl CreateSpriteAtEnd - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - ldr r1, _08047FE4 @ =gSprites - mov r8, r1 - add r4, r8 - mov r0, r10 - bl GetBattlerSide - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 21 - ldr r0, _08047FFC @ =gUnknown_82603C4 - adds r1, r0 - adds r0, r4, 0 - bl SetSubspriteTables - adds r2, r4, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r2, 0x4 - mov r9, r2 - mov r1, r9 - orrs r0, r1 - strb r0, [r4, 0x5] - movs r0, 0x1 - bl GetHealthboxElementGfxPtr - ldrh r1, [r4, 0x4] - lsls r1, 22 - lsrs r1, 17 - ldr r2, _08048000 @ =0x06010000 - adds r1, r2 - ldr r2, _08048004 @ =0x04000010 - bl CpuSet - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - add r0, r8 - strh r5, [r0, 0x38] - mov r2, r10 - strh r2, [r0, 0x3A] - adds r0, 0x3E - ldrb r1, [r0] - mov r5, r9 - orrs r1, r5 - strb r1, [r0] - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - add r0, r8 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r5 - strb r1, [r0] - strh r6, [r4, 0x38] - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x3A] - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r5 - strb r0, [r4] - adds r0, r6, 0 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08047FE0: .4byte gUnknown_82602A8 -_08047FE4: .4byte gSprites -_08047FE8: .4byte 0x000003ff -_08047FEC: .4byte 0xfffffc00 -_08047FF0: .4byte sub_8048128 -_08047FF4: .4byte gBattlerPositions -_08047FF8: .4byte gUnknown_82602F8 -_08047FFC: .4byte gUnknown_82603C4 -_08048000: .4byte 0x06010000 -_08048004: .4byte 0x04000010 - thumb_func_end CreateBattlerHealthboxSprites - - thumb_func_start CreateSafariPlayerHealthboxSprites -CreateSafariPlayerHealthboxSprites: @ 8048008 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r4, _08048094 @ =gUnknown_82602D8 - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0xA0 - movs r3, 0x1 - bl CreateSprite - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0xA0 - movs r3, 0x1 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08048098 @ =gSprites - mov r9, r1 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - add r4, r9 - ldrb r3, [r4, 0x1] - movs r2, 0x3F - adds r1, r2, 0 - ands r1, r3 - strb r1, [r4, 0x1] - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - mov r7, r9 - adds r5, r3, r7 - ldrb r1, [r5, 0x1] - ands r2, r1 - strb r2, [r5, 0x1] - ldrh r1, [r5, 0x4] - mov r8, r1 - mov r7, r8 - lsls r2, r7, 22 - lsrs r2, 22 - adds r2, 0x40 - ldr r7, _0804809C @ =0x000003ff - adds r1, r7, 0 - ands r2, r1 - ldr r1, _080480A0 @ =0xfffffc00 - mov r7, r8 - ands r1, r7 - orrs r1, r2 - strh r1, [r5, 0x4] - strh r0, [r4, 0x6] - strh r6, [r5, 0x38] - movs r0, 0x1C - add r9, r0 - add r3, r9 - ldr r0, _080480A4 @ =sub_8048128 - str r0, [r3] - adds r0, r6, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08048094: .4byte gUnknown_82602D8 -_08048098: .4byte gSprites -_0804809C: .4byte 0x000003ff -_080480A0: .4byte 0xfffffc00 -_080480A4: .4byte sub_8048128 - thumb_func_end CreateSafariPlayerHealthboxSprites - - thumb_func_start GetHealthboxElementGfxPtr -GetHealthboxElementGfxPtr: @ 80480A8 - lsls r0, 24 - lsrs r0, 19 - ldr r1, _080480B4 @ =gHealthboxElementsGfxTable - adds r0, r1 - bx lr - .align 2, 0 -_080480B4: .4byte gHealthboxElementsGfxTable - thumb_func_end GetHealthboxElementGfxPtr - - thumb_func_start sub_80480B8 -sub_80480B8: @ 80480B8 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080480E8 - cmp r0, 0x1 - bgt _080480FC - cmp r0, 0 - bne _080480FC - ldr r2, _080480E4 @ =gSprites - lsls r3, r5, 4 - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x20] - adds r0, 0x10 - b _0804810A - .align 2, 0 -_080480E4: .4byte gSprites -_080480E8: - ldr r2, _080480F8 @ =gSprites - lsls r3, r5, 4 - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x20] - adds r0, 0x10 - b _0804810A - .align 2, 0 -_080480F8: .4byte gSprites -_080480FC: - ldr r2, _08048124 @ =gSprites - lsls r3, r5, 4 - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x20] - adds r0, 0x8 -_0804810A: - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x22] - strh r0, [r4, 0x22] - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - strh r1, [r4, 0x24] - ldrh r0, [r0, 0x26] - strh r0, [r4, 0x26] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08048124: .4byte gSprites - thumb_func_end sub_80480B8 - - thumb_func_start sub_8048128 -sub_8048128: @ 8048128 - ldrh r1, [r0, 0x38] - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0804814C @ =gSprites - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x20] - adds r1, 0x40 - strh r1, [r0, 0x20] - ldrh r1, [r2, 0x22] - strh r1, [r0, 0x22] - ldrh r1, [r2, 0x24] - strh r1, [r0, 0x24] - ldrh r1, [r2, 0x26] - strh r1, [r0, 0x26] - bx lr - .align 2, 0 -_0804814C: .4byte gSprites - thumb_func_end sub_8048128 - - thumb_func_start SetBattleBarStruct -SetBattleBarStruct: @ 8048150 - push {r4-r7,lr} - ldr r7, [sp, 0x14] - lsls r0, 24 - lsrs r0, 24 - ldr r6, _08048180 @ =gBattleSpritesDataPtr - ldr r4, [r6] - ldr r5, [r4, 0xC] - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 2 - adds r5, r4, r5 - strb r1, [r5] - ldr r0, [r6] - ldr r0, [r0, 0xC] - adds r4, r0 - str r2, [r4, 0x4] - str r3, [r4, 0x8] - str r7, [r4, 0xC] - ldr r0, _08048184 @ =0xffff8000 - str r0, [r4, 0x10] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08048180: .4byte gBattleSpritesDataPtr -_08048184: .4byte 0xffff8000 - thumb_func_end SetBattleBarStruct - - thumb_func_start SetHealthboxSpriteInvisible -SetHealthboxSpriteInvisible: @ 8048188 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080481D0 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - adds r1, r2, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1] - movs r0, 0x38 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - ldrh r1, [r2, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080481D0: .4byte gSprites - thumb_func_end SetHealthboxSpriteInvisible - - thumb_func_start SetHealthboxSpriteVisible -SetHealthboxSpriteVisible: @ 80481D4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08048224 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r5 - adds r4, r2, 0 - adds r4, 0x3E - ldrb r1, [r4] - movs r3, 0x5 - negs r3, r3 - adds r0, r3, 0 - ands r0, r1 - strb r0, [r4] - movs r0, 0x38 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r4, [r0] - adds r1, r3, 0 - ands r1, r4 - strb r1, [r0] - ldrh r1, [r2, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r3, r1 - strb r3, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08048224: .4byte gSprites - thumb_func_end SetHealthboxSpriteVisible - - thumb_func_start UpdateSpritePos -UpdateSpritePos: @ 8048228 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08048244 @ =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r3, r4 - strh r1, [r3, 0x20] - strh r2, [r3, 0x22] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08048244: .4byte gSprites - thumb_func_end UpdateSpritePos - - thumb_func_start DestoryHealthboxSprite -DestoryHealthboxSprite: @ 8048248 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08048284 @ =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r5 - ldrh r1, [r4, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - movs r0, 0x38 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - adds r0, r4, 0 - bl DestroySprite - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08048284: .4byte gSprites - thumb_func_end DestoryHealthboxSprite - - thumb_func_start DummyBattleInterfaceFunc -DummyBattleInterfaceFunc: @ 8048288 - bx lr - thumb_func_end DummyBattleInterfaceFunc - - thumb_func_start UpdateOamPriorityInAllHealthboxes -UpdateOamPriorityInAllHealthboxes: @ 804828C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - ldr r1, _08048310 @ =gBattlersCount - mov r8, r1 - ldrb r2, [r1] - cmp r6, r2 - bge _08048304 - ldr r1, _08048314 @ =gSprites - mov r12, r1 - movs r1, 0x3 - ands r0, r1 - lsls r5, r0, 2 - movs r7, 0xD - negs r7, r7 - ldr r2, _08048318 @ =gHealthboxSpriteIds - mov r9, r2 -_080482B6: - mov r1, r9 - adds r0, r6, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - ldrb r4, [r1, 0x6] - ldrh r3, [r1, 0x38] - lsls r3, 24 - lsrs r3, 24 - ldrb r2, [r1, 0x5] - adds r0, r7, 0 - ands r0, r2 - orrs r0, r5 - strb r0, [r1, 0x5] - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - add r1, r12 - ldrb r2, [r1, 0x5] - adds r0, r7, 0 - ands r0, r2 - orrs r0, r5 - strb r0, [r1, 0x5] - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - add r1, r12 - ldrb r2, [r1, 0x5] - adds r0, r7, 0 - ands r0, r2 - orrs r0, r5 - strb r0, [r1, 0x5] - adds r6, 0x1 - mov r2, r8 - ldrb r2, [r2] - cmp r6, r2 - blt _080482B6 -_08048304: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08048310: .4byte gBattlersCount -_08048314: .4byte gSprites -_08048318: .4byte gHealthboxSpriteIds - thumb_func_end UpdateOamPriorityInAllHealthboxes - - thumb_func_start InitBattlerHealthboxCoords -InitBattlerHealthboxCoords: @ 804831C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - movs r4, 0 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _08048348 - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08048342 - movs r5, 0x2C - movs r4, 0x1E - b _08048380 -_08048342: - movs r5, 0x9E - movs r4, 0x58 - b _08048380 -_08048348: - adds r0, r6, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08048376 - cmp r0, 0x1 - bgt _08048360 - cmp r0, 0 - beq _0804836A - b _08048380 -_08048360: - cmp r0, 0x2 - beq _08048370 - cmp r0, 0x3 - beq _0804837C - b _08048380 -_0804836A: - movs r5, 0x9F - movs r4, 0x4B - b _08048380 -_08048370: - movs r5, 0xAB - movs r4, 0x64 - b _08048380 -_08048376: - movs r5, 0x2C - movs r4, 0x13 - b _08048380 -_0804837C: - movs r5, 0x20 - movs r4, 0x2C -_08048380: - ldr r0, _08048394 @ =gHealthboxSpriteIds - adds r0, r6, r0 - ldrb r0, [r0] - adds r1, r5, 0 - adds r2, r4, 0 - bl UpdateSpritePos - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08048394: .4byte gHealthboxSpriteIds - thumb_func_end InitBattlerHealthboxCoords - - thumb_func_start UpdateLvlInHealthbox -UpdateLvlInHealthbox: @ 8048398 - push {r4-r6,lr} - sub sp, 0x14 - adds r5, r0, 0 - adds r4, r1, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _08048410 @ =gUnknown_826051C - mov r0, sp - movs r2, 0x10 - bl memcpy - mov r0, sp - adds r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r1, r0, 0 - subs r1, 0x2 - mov r0, sp - subs r1, r0 - movs r0, 0x3 - subs r0, r1 - lsls r1, r0, 2 - adds r1, r0 - add r3, sp, 0x10 - mov r0, sp - movs r2, 0x3 - bl AddTextPrinterAndCreateWindowOnHealthbox - adds r6, r0, 0 - ldr r0, _08048414 @ =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x4] - lsls r0, 22 - lsrs r4, r0, 17 - ldrh r0, [r1, 0x3A] - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08048420 - bl IsDoubleBattle - lsls r0, 24 - ldr r2, _08048418 @ =0x06010420 - adds r1, r4, r2 - cmp r0, 0 - bne _08048424 - ldr r0, _0804841C @ =0x06010820 - adds r1, r4, r0 - b _08048424 - .align 2, 0 -_08048410: .4byte gUnknown_826051C -_08048414: .4byte gSprites -_08048418: .4byte 0x06010420 -_0804841C: .4byte 0x06010820 -_08048420: - ldr r2, _0804843C @ =0x06010400 - adds r1, r4, r2 -_08048424: - adds r0, r1, 0 - adds r1, r6, 0 - movs r2, 0x3 - bl sub_804A6E8 - ldr r0, [sp, 0x10] - bl sub_804A6D8 - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804843C: .4byte 0x06010400 - thumb_func_end UpdateLvlInHealthbox - - thumb_func_start UpdateHpTextInHealthbox -UpdateHpTextInHealthbox: @ 8048440 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldr r1, _080484B4 @ =gSprites - lsls r0, 4 - add r0, r9 - lsls r0, 2 - adds r4, r0, r1 - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08048514 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _08048514 - mov r0, r8 - cmp r0, 0 - beq _080484BC - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - add r0, sp, 0x10 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - add r3, sp, 0x2C - add r0, sp, 0x10 - movs r1, 0 - movs r2, 0x5 - bl AddTextPrinterAndCreateWindowOnHealthbox - adds r5, r0, 0 - ldrh r0, [r4, 0x4] - lsls r0, 22 - lsrs r0, 17 - ldr r1, _080484B8 @ =0x06010a40 - adds r0, r1 - adds r1, r5, 0 - b _080484FE - .align 2, 0 -_080484B4: .4byte gSprites -_080484B8: .4byte 0x06010a40 -_080484BC: - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - add r0, sp, 0x10 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r1, 0xBA - strb r1, [r0] - movs r1, 0xFF - strb r1, [r0, 0x1] - add r3, sp, 0x2C - add r0, sp, 0x10 - movs r1, 0x4 - movs r2, 0x5 - bl AddTextPrinterAndCreateWindowOnHealthbox - adds r5, r0, 0 - ldrh r4, [r4, 0x4] - lsls r4, 22 - lsrs r4, 17 - ldr r1, _0804850C @ =0x060102e0 - adds r0, r4, r1 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_804A6E8 - ldr r2, _08048510 @ =0x06010a00 - adds r4, r2 - adds r1, r5, 0 - adds r1, 0x20 - adds r0, r4, 0 -_080484FE: - movs r2, 0x2 - bl sub_804A6E8 - ldr r0, [sp, 0x2C] - bl sub_804A6D8 - b _080485F8 - .align 2, 0 -_0804850C: .4byte 0x060102e0 -_08048510: .4byte 0x06010a00 -_08048514: - add r5, sp, 0x18 - ldr r1, _0804855C @ =gUnknown_826052C - adds r0, r5, 0 - movs r2, 0x14 - bl memcpy - ldr r1, _08048560 @ =gSprites - mov r0, r9 - lsls r4, r0, 4 - adds r0, r4, r0 - lsls r0, 2 - adds r7, r0, r1 - ldrh r0, [r7, 0x3A] - lsls r0, 24 - lsrs r6, r0, 24 - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0804854C - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08048564 -_0804854C: - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - mov r0, r9 - mov r2, r8 - bl sub_8048618 - b _080485F8 - .align 2, 0 -_0804855C: .4byte gUnknown_826052C -_08048560: .4byte gSprites -_08048564: - ldrh r0, [r7, 0x3A] - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08048580 - movs r6, 0x59 - mov r0, r8 - cmp r0, 0 - bne _0804858A - movs r6, 0x1D - b _0804858A -_08048580: - movs r6, 0x30 - mov r1, r8 - cmp r1, 0 - bne _0804858A - movs r6, 0x14 -_0804858A: - mov r0, sp - adds r0, 0x1E - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _08048608 @ =gMonSpritesGfxPtr - ldr r0, [r0] - movs r1, 0xBA - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - adds r2, r5, 0 - movs r3, 0 - bl RenderTextFont9 - movs r5, 0 - ldr r1, _0804860C @ =gSprites - mov r2, r9 - adds r0, r4, r2 - lsls r0, 2 - adds r4, r0, r1 -_080485C6: - ldr r0, _08048608 @ =gMonSpritesGfxPtr - ldr r0, [r0] - movs r1, 0xBA - lsls r1, 1 - adds r0, r1 - lsls r1, r5, 6 - adds r1, 0x20 - ldr r0, [r0] - adds r0, r1 - ldrh r1, [r4, 0x4] - lsls r1, 22 - lsrs r1, 22 - adds r1, r6 - adds r1, r5 - lsls r1, 5 - ldr r2, _08048610 @ =0x06010000 - adds r1, r2 - ldr r2, _08048614 @ =0x04000008 - bl CpuSet - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _080485C6 -_080485F8: - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08048608: .4byte gMonSpritesGfxPtr -_0804860C: .4byte gSprites -_08048610: .4byte 0x06010000 -_08048614: .4byte 0x04000008 - thumb_func_end UpdateHpTextInHealthbox - - thumb_func_start sub_8048618 -sub_8048618: @ 8048618 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldr r1, _080486F8 @ =gUnknown_8260542 - add r0, sp, 0x10 - movs r2, 0x14 - bl memcpy - ldr r5, _080486FC @ =gSprites - mov r1, r9 - lsls r0, r1, 4 - add r0, r9 - lsls r0, 2 - adds r2, r0, r5 - ldrh r0, [r2, 0x3A] - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _08048700 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - mov r3, r10 - lsls r0, r3, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0804866A - b _080487DC -_0804866A: - movs r6, 0x4 - mov r1, r8 - negs r0, r1 - orrs r0, r1 - asrs r0, 31 - ands r6, r0 - ldrh r0, [r2, 0x38] - lsls r0, 24 - lsrs r7, r0, 24 - mov r0, sp - adds r0, 0x16 - lsls r1, r4, 16 - asrs r1, 16 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r2, r8 - cmp r2, 0 - bne _08048698 - ldr r1, _08048704 @ =gUnknown_8260540 - bl StringCopy -_08048698: - ldr r0, _08048708 @ =gMonSpritesGfxPtr - ldr r0, [r0] - movs r3, 0xBA - lsls r3, 1 - adds r0, r3 - ldr r0, [r0] - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - add r2, sp, 0x10 - movs r3, 0 - bl RenderTextFont9 - adds r4, r6, 0 - adds r0, r4, 0x3 - cmp r4, r0 - bge _08048748 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r5, r0, r5 -_080486C6: - cmp r4, 0x2 - bhi _08048714 - ldr r0, _08048708 @ =gMonSpritesGfxPtr - ldr r0, [r0] - movs r1, 0xBA - lsls r1, 1 - adds r0, r1 - subs r1, r4, r6 - lsls r1, 6 - adds r1, 0x20 - ldr r0, [r0] - adds r0, r1 - ldrh r1, [r5, 0x4] - lsls r1, 22 - lsrs r1, 22 - adds r4, 0x1 - adds r1, r4 - lsls r1, 5 - ldr r2, _0804870C @ =0x06010000 - adds r1, r2 - ldr r2, _08048710 @ =0x04000008 - bl CpuSet - b _0804873E - .align 2, 0 -_080486F8: .4byte gUnknown_8260542 -_080486FC: .4byte gSprites -_08048700: .4byte gBattleSpritesDataPtr -_08048704: .4byte gUnknown_8260540 -_08048708: .4byte gMonSpritesGfxPtr -_0804870C: .4byte 0x06010000 -_08048710: .4byte 0x04000008 -_08048714: - ldr r0, _08048790 @ =gMonSpritesGfxPtr - ldr r0, [r0] - movs r3, 0xBA - lsls r3, 1 - adds r0, r3 - subs r1, r4, r6 - lsls r1, 6 - adds r1, 0x20 - ldr r0, [r0] - adds r0, r1 - ldrh r1, [r5, 0x4] - lsls r1, 22 - lsrs r1, 22 - adds r1, r4, r1 - lsls r1, 5 - ldr r2, _08048794 @ =0x06010020 - adds r1, r2 - ldr r2, _08048798 @ =0x04000008 - bl CpuSet - adds r4, 0x1 -_0804873E: - lsls r0, r4, 24 - lsrs r4, r0, 24 - adds r0, r6, 0x3 - cmp r4, r0 - blt _080486C6 -_08048748: - mov r3, r8 - cmp r3, 0 - bne _080487A8 - ldr r0, _08048790 @ =gMonSpritesGfxPtr - ldr r0, [r0] - movs r1, 0xBA - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - adds r0, 0xE0 - ldr r1, _0804879C @ =gSprites - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r4, r1 - ldrh r1, [r4, 0x4] - lsls r1, 22 - lsrs r1, 17 - adds r1, 0x80 - ldr r5, _080487A0 @ =0x06010000 - adds r1, r5 - ldr r2, _08048798 @ =0x04000008 - bl CpuSet - mov r2, r8 - str r2, [sp, 0x24] - add r0, sp, 0x24 - ldrh r1, [r4, 0x4] - lsls r1, 22 - lsrs r1, 17 - adds r1, r5 - ldr r2, _080487A4 @ =0x05000008 - bl CpuSet - b _080487DC - .align 2, 0 -_08048790: .4byte gMonSpritesGfxPtr -_08048794: .4byte 0x06010020 -_08048798: .4byte 0x04000008 -_0804879C: .4byte gSprites -_080487A0: .4byte 0x06010000 -_080487A4: .4byte 0x05000008 -_080487A8: - mov r0, r10 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080487DC - movs r0, 0x74 - bl GetHealthboxElementGfxPtr - ldr r2, _080487EC @ =gSprites - mov r3, r9 - lsls r1, r3, 4 - add r1, r9 - lsls r1, 2 - adds r1, r2 - ldrh r1, [r1, 0x4] - lsls r1, 22 - lsrs r1, 17 - movs r2, 0xD0 - lsls r2, 3 - adds r1, r2 - ldr r2, _080487F0 @ =0x06010000 - adds r1, r2 - ldr r2, _080487F4 @ =0x04000008 - bl CpuSet -_080487DC: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080487EC: .4byte gSprites -_080487F0: .4byte 0x06010000 -_080487F4: .4byte 0x04000008 - thumb_func_end sub_8048618 - - thumb_func_start sub_80487F8 -sub_80487F8: @ 80487F8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] - ldr r1, _080488AC @ =gUnknown_826052C - add r0, sp, 0x10 - movs r2, 0x14 - bl memcpy - ldr r1, _080488B0 @ =gSprites - ldr r2, [sp, 0x24] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x3A] - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerPosition - ldr r1, _080488B4 @ =gMonSpritesGfxPtr - ldr r2, [r1] - movs r3, 0xBA - lsls r3, 1 - adds r2, r3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 7 - movs r0, 0xA4 - lsls r0, 3 - adds r1, r0 - ldr r0, [r2] - adds r6, r0, r1 - movs r1, 0x5 - mov r8, r1 - adds r0, r4, 0 - bl GetNature - lsls r0, 24 - mov r4, sp - adds r4, 0x16 - ldr r1, _080488B8 @ =gNatureNames - lsrs r0, 22 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - adds r0, r6, 0 - movs r1, 0 - add r2, sp, 0x10 - movs r3, 0 - bl RenderTextFont9 - movs r7, 0x6 - movs r5, 0 - mov r2, sp - adds r2, 0x19 - str r2, [sp, 0x28] -_08048888: - mov r0, sp - adds r0, r7 - adds r0, 0x10 - ldrb r1, [r0] - adds r0, r1, 0 - subs r0, 0x37 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bls _080488A8 - adds r0, r1, 0 - adds r0, 0x79 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _080488BC -_080488A8: - movs r0, 0x2C - b _080488DA - .align 2, 0 -_080488AC: .4byte gUnknown_826052C -_080488B0: .4byte gSprites -_080488B4: .4byte gMonSpritesGfxPtr -_080488B8: .4byte gNatureNames -_080488BC: - adds r0, r1, 0 - subs r0, 0x4B - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080488D4 - adds r0, r1, 0 - adds r0, 0x65 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080488D8 -_080488D4: - movs r0, 0x2D - b _080488DA -_080488D8: - movs r0, 0x2B -_080488DA: - bl GetHealthboxElementGfxPtr - lsls r1, r5, 6 - adds r1, r6, r1 - ldr r2, _080489F8 @ =0x04000008 - bl CpuSet - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, 0x1 - cmp r5, r8 - bcc _08048888 - movs r7, 0x1 - ldr r3, [sp, 0x24] - lsls r3, 4 - str r3, [sp, 0x2C] - movs r0, 0x1 - add r0, r8 - mov r9, r0 - cmp r7, r9 - bge _08048966 - ldr r1, _080489FC @ =gSprites - ldr r2, _080489F8 @ =0x04000008 - mov r10, r2 - ldr r2, [sp, 0x24] - adds r0, r3, r2 - lsls r0, 2 - adds r0, r1 - mov r8, r0 -_08048916: - mov r3, r8 - ldrh r0, [r3, 0x4] - lsls r0, 22 - lsrs r0, 22 - adds r5, r7, 0 - cmp r7, 0 - bge _08048926 - adds r5, r7, 0x7 -_08048926: - asrs r5, 3 - lsls r4, r5, 3 - subs r4, r7, r4 - adds r0, r4 - lsls r5, 6 - adds r0, r5 - lsls r0, 5 - ldr r2, _08048A00 @ =0x06010000 - adds r1, r0, r2 - adds r0, r6, 0 - mov r2, r10 - bl CpuSet - adds r6, 0x20 - mov r3, r8 - ldrh r0, [r3, 0x4] - lsls r0, 22 - lsrs r0, 22 - adds r4, 0x8 - adds r0, r4 - adds r0, r5 - lsls r0, 5 - ldr r2, _08048A00 @ =0x06010000 - adds r1, r0, r2 - adds r0, r6, 0 - mov r2, r10 - bl CpuSet - adds r6, 0x20 - adds r7, 0x1 - cmp r7, r9 - blt _08048916 -_08048966: - ldr r6, _080489FC @ =gSprites - ldr r3, [sp, 0x2C] - ldr r1, [sp, 0x24] - adds r0, r3, r1 - lsls r0, 2 - adds r0, r6 - ldrh r4, [r0, 0x38] - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08048A04 @ =gBattleStruct - ldr r0, [r5] - adds r0, 0x7C - ldrb r1, [r0] - mov r0, sp - adds r0, 0x16 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, [r5] - adds r0, 0x7B - ldrb r1, [r0] - ldr r0, [sp, 0x28] - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - add r0, sp, 0x10 - movs r1, 0 - strb r1, [r0, 0x5] - adds r2, r0, 0 - movs r0, 0xBA - strb r0, [r2, 0x8] - ldr r5, _08048A08 @ =gMonSpritesGfxPtr - ldr r0, [r5] - movs r2, 0xBA - lsls r2, 1 - adds r0, r2 - ldr r0, [r0] - str r1, [sp] - str r1, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - add r2, sp, 0x10 - movs r3, 0 - bl RenderTextFont9 - movs r7, 0 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r6, r0, r6 - movs r4, 0x20 -_080489D0: - cmp r7, 0x1 - bgt _08048A0C - ldr r0, [r5] - movs r3, 0xBA - lsls r3, 1 - adds r0, r3 - ldr r0, [r0] - adds r0, r4 - ldrh r1, [r6, 0x4] - lsls r1, 22 - lsrs r1, 22 - adds r2, r7, 0x2 - adds r1, r2 - lsls r1, 5 - ldr r2, _08048A00 @ =0x06010000 - adds r1, r2 - ldr r2, _080489F8 @ =0x04000008 - bl CpuSet - b _08048A2C - .align 2, 0 -_080489F8: .4byte 0x04000008 -_080489FC: .4byte gSprites -_08048A00: .4byte 0x06010000 -_08048A04: .4byte gBattleStruct -_08048A08: .4byte gMonSpritesGfxPtr -_08048A0C: - ldr r0, [r5] - movs r3, 0xBA - lsls r3, 1 - adds r0, r3 - ldr r0, [r0] - adds r0, r4 - ldrh r1, [r6, 0x4] - lsls r1, 22 - lsrs r1, 22 - adds r1, r7, r1 - lsls r1, 5 - ldr r2, _08048A44 @ =0x060100c0 - adds r1, r2 - ldr r2, _08048A48 @ =0x04000008 - bl CpuSet -_08048A2C: - adds r4, 0x40 - adds r7, 0x1 - cmp r7, 0x4 - ble _080489D0 - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08048A44: .4byte 0x060100c0 -_08048A48: .4byte 0x04000008 - thumb_func_end sub_80487F8 - - thumb_func_start SwapHpBarsWithHpText -SwapHpBarsWithHpText: @ 8048A4C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r0, 0 - mov r9, r0 - ldr r0, _08048B78 @ =gBattlersCount - ldrb r0, [r0] - cmp r9, r0 - blt _08048A66 - b _08048CF2 -_08048A66: - ldr r1, _08048B7C @ =gSprites - mov r10, r1 - ldr r2, _08048B80 @ =gBattlerPartyIndexes - mov r8, r2 -_08048A6E: - ldr r0, _08048B84 @ =gHealthboxSpriteIds - mov r1, r9 - adds r6, r1, r0 - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r1, r10 - adds r1, 0x1C - adds r0, r1 - ldr r1, [r0] - ldr r0, _08048B88 @ =SpriteCallbackDummy - cmp r1, r0 - beq _08048A8C - b _08048CE0 -_08048A8C: - mov r2, r9 - lsls r0, r2, 24 - lsrs r7, r0, 24 - adds r0, r7, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08048AA2 - b _08048CE0 -_08048AA2: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _08048ABA - adds r0, r7, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08048ABA - b _08048CE0 -_08048ABA: - ldr r5, _08048B8C @ =gBattleSpritesDataPtr - ldr r0, [r5] - ldr r3, [r0] - mov r0, r9 - lsls r4, r0, 2 - adds r3, r4, r3 - ldr r0, [r3] - lsls r0, 27 - lsrs r0, 31 - movs r2, 0x1 - eors r2, r0 - lsls r2, 4 - mov r12, r2 - ldrb r0, [r3] - movs r2, 0x11 - negs r2, r2 - adds r1, r2, 0 - ands r0, r1 - mov r1, r12 - orrs r0, r1 - strb r0, [r3] - ldr r0, [r5] - ldr r0, [r0] - adds r4, r0 - ldr r0, [r4] - lsls r0, 27 - lsrs r4, r0, 31 - adds r0, r7, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08048BE8 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _08048B08 - b _08048CE0 -_08048B08: - ldr r0, _08048B90 @ =gBattleTypeFlags - ldr r2, [r0] - movs r0, 0x80 - ands r2, r0 - cmp r2, 0 - beq _08048B16 - b _08048CE0 -_08048B16: - cmp r4, 0x1 - bne _08048BA0 - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldrh r0, [r0, 0x38] - lsls r0, 24 - lsrs r1, r0, 24 - str r2, [sp] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldrh r1, [r0, 0x4] - lsls r1, 22 - lsrs r1, 17 - ldr r2, _08048B94 @ =0x06010000 - adds r1, r2 - mov r0, sp - ldr r2, _08048B98 @ =0x05000040 - bl CpuSet - ldrb r4, [r6] - mov r1, r8 - ldrh r0, [r1] - movs r2, 0x64 - muls r0, r2 - ldr r1, _08048B9C @ =gPlayerParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl sub_8048618 - ldrb r4, [r6] - mov r2, r8 - ldrh r0, [r2] - movs r1, 0x64 - muls r0, r1 - ldr r2, _08048B9C @ =gPlayerParty - b _08048C6E - .align 2, 0 -_08048B78: .4byte gBattlersCount -_08048B7C: .4byte gSprites -_08048B80: .4byte gBattlerPartyIndexes -_08048B84: .4byte gHealthboxSpriteIds -_08048B88: .4byte SpriteCallbackDummy -_08048B8C: .4byte gBattleSpritesDataPtr -_08048B90: .4byte gBattleTypeFlags -_08048B94: .4byte 0x06010000 -_08048B98: .4byte 0x05000040 -_08048B9C: .4byte gPlayerParty -_08048BA0: - ldrb r0, [r6] - bl UpdateStatusIconInHealthbox - ldrb r0, [r6] - mov r2, r8 - ldrh r1, [r2] - movs r2, 0x64 - muls r1, r2 - ldr r2, _08048BDC @ =gPlayerParty - adds r1, r2 - movs r2, 0x5 - bl UpdateHealthboxAttribute - movs r0, 0x75 - bl GetHealthboxElementGfxPtr - ldrb r2, [r6] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - add r1, r10 - ldrh r1, [r1, 0x4] - lsls r1, 22 - lsrs r1, 17 - ldr r2, _08048BE0 @ =0x06010680 - adds r1, r2 - ldr r2, _08048BE4 @ =0x04000008 - bl CpuSet - b _08048CCA - .align 2, 0 -_08048BDC: .4byte gPlayerParty -_08048BE0: .4byte 0x06010680 -_08048BE4: .4byte 0x04000008 -_08048BE8: - cmp r4, 0x1 - bne _08048C94 - ldr r0, _08048C0C @ =gBattleTypeFlags - ldr r2, [r0] - movs r0, 0x80 - ands r2, r0 - cmp r2, 0 - beq _08048C14 - ldrb r0, [r6] - mov r2, r8 - ldrh r1, [r2] - movs r2, 0x64 - muls r1, r2 - ldr r2, _08048C10 @ =gEnemyParty - adds r1, r2 - bl sub_80487F8 - b _08048CCA - .align 2, 0 -_08048C0C: .4byte gBattleTypeFlags -_08048C10: .4byte gEnemyParty -_08048C14: - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldrh r0, [r0, 0x38] - lsls r0, 24 - lsrs r1, r0, 24 - str r2, [sp] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldrh r1, [r0, 0x4] - lsls r1, 22 - lsrs r1, 17 - ldr r0, _08048C88 @ =0x06010000 - adds r1, r0 - mov r0, sp - ldr r2, _08048C8C @ =0x05000040 - bl CpuSet - ldrb r4, [r6] - mov r1, r8 - ldrh r0, [r1] - movs r2, 0x64 - muls r0, r2 - ldr r1, _08048C90 @ =gEnemyParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl sub_8048618 - ldrb r4, [r6] - mov r2, r8 - ldrh r0, [r2] - movs r1, 0x64 - muls r0, r1 - ldr r2, _08048C90 @ =gEnemyParty -_08048C6E: - adds r0, r2 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - movs r2, 0x1 - bl sub_8048618 - b _08048CCA - .align 2, 0 -_08048C88: .4byte 0x06010000 -_08048C8C: .4byte 0x05000040 -_08048C90: .4byte gEnemyParty -_08048C94: - ldrb r0, [r6] - bl UpdateStatusIconInHealthbox - ldrb r0, [r6] - mov r2, r8 - ldrh r1, [r2] - movs r5, 0x64 - muls r1, r5 - ldr r4, _08048D04 @ =gEnemyParty - adds r1, r4 - movs r2, 0x5 - bl UpdateHealthboxAttribute - ldr r0, _08048D08 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08048CCA - ldrb r0, [r6] - mov r2, r8 - ldrh r1, [r2] - muls r1, r5 - adds r1, r4 - movs r2, 0x4 - bl UpdateHealthboxAttribute -_08048CCA: - ldr r0, _08048D0C @ =gHealthboxSpriteIds - add r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldrh r1, [r0, 0x3C] - movs r2, 0x1 - eors r1, r2 - strh r1, [r0, 0x3C] -_08048CE0: - movs r0, 0x2 - add r8, r0 - movs r1, 0x1 - add r9, r1 - ldr r0, _08048D10 @ =gBattlersCount - ldrb r0, [r0] - cmp r9, r0 - bge _08048CF2 - b _08048A6E -_08048CF2: - 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 -_08048D04: .4byte gEnemyParty -_08048D08: .4byte gBattleTypeFlags -_08048D0C: .4byte gHealthboxSpriteIds -_08048D10: .4byte gBattlersCount - thumb_func_end SwapHpBarsWithHpText - - thumb_func_start CreatePartyStatusSummarySprites -CreatePartyStatusSummarySprites: @ 8048D14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - str r1, [sp, 0xC] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - lsls r2, 24 - lsrs r2, 24 - adds r4, r2, 0 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x10] - cmp r4, 0 - beq _08048D44 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08048D88 -_08048D44: - ldr r0, [sp, 0x8] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08048D64 - movs r7, 0 - movs r1, 0x88 - movs r2, 0x60 - movs r0, 0x64 - mov r8, r0 - ldr r5, _08048D60 @ =0x0000fffb - b _08048D94 - .align 2, 0 -_08048D60: .4byte 0x0000fffb -_08048D64: - movs r7, 0x1 - cmp r4, 0 - beq _08048D74 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _08048D7A -_08048D74: - movs r1, 0x68 - movs r2, 0x28 - b _08048D7E -_08048D7A: - movs r1, 0x68 - movs r2, 0x10 -_08048D7E: - ldr r3, _08048D84 @ =0x0000ff9c - mov r8, r3 - b _08048D92 - .align 2, 0 -_08048D84: .4byte 0x0000ff9c -_08048D88: - movs r7, 0x1 - movs r1, 0x68 - movs r2, 0x28 - ldr r5, _08048E40 @ =0x0000ff9c - mov r8, r5 -_08048D92: - movs r5, 0x5 -_08048D94: - movs r6, 0 - str r6, [sp, 0x14] - lsls r4, r7, 3 - ldr r0, _08048E44 @ =gUnknown_826046C - mov r10, r0 - lsls r3, r7, 1 - mov r9, r3 - lsls r1, 16 - str r1, [sp, 0x20] - lsls r2, 16 - str r2, [sp, 0x24] - ldr r2, _08048E48 @ =0x0000ffff - ldr r1, [sp, 0xC] - movs r6, 0x5 -_08048DB0: - ldrh r0, [r1] - cmp r0, r2 - beq _08048DC4 - ldr r3, [sp, 0x14] - lsls r0, r3, 24 - movs r3, 0x80 - lsls r3, 17 - adds r0, r3 - lsrs r0, 24 - str r0, [sp, 0x14] -_08048DC4: - adds r1, 0x8 - subs r6, 0x1 - cmp r6, 0 - bge _08048DB0 - mov r6, r10 - adds r0, r4, r6 - bl LoadCompressedSpriteSheetUsingHeap - ldr r0, _08048E4C @ =gUnknown_826049C - adds r0, r4, r0 - bl LoadSpriteSheet - ldr r0, _08048E50 @ =gUnknown_826047C - adds r0, r4, r0 - bl LoadSpritePalette - ldr r0, _08048E54 @ =gUnknown_826048C - adds r0, r4, r0 - bl LoadSpritePalette - mov r1, r9 - adds r0, r1, r7 - lsls r0, 3 - ldr r1, _08048E58 @ =gUnknown_82604BC - adds r0, r1 - ldr r2, [sp, 0x20] - asrs r1, r2, 16 - ldr r3, [sp, 0x24] - asrs r2, r3, 16 - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x18] - lsls r0, 4 - ldr r6, [sp, 0x18] - adds r0, r6 - lsls r0, 2 - ldr r1, _08048E5C @ =gSprites - adds r4, r0, r1 - ldr r1, _08048E60 @ =gUnknown_82603FC - adds r0, r4, 0 - bl SetSubspriteTables - mov r0, r8 - strh r0, [r4, 0x24] - strh r5, [r4, 0x2E] - cmp r7, 0 - beq _08048E64 - ldrh r0, [r4, 0x20] - subs r0, 0x60 - strh r0, [r4, 0x20] - ldrb r1, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4, 0x3] - b _08048E6A - .align 2, 0 -_08048E40: .4byte 0x0000ff9c -_08048E44: .4byte gUnknown_826046C -_08048E48: .4byte 0x0000ffff -_08048E4C: .4byte gUnknown_826049C -_08048E50: .4byte gUnknown_826047C -_08048E54: .4byte gUnknown_826048C -_08048E58: .4byte gUnknown_82604BC -_08048E5C: .4byte gSprites -_08048E60: .4byte gUnknown_82603FC -_08048E64: - ldrh r0, [r4, 0x20] - adds r0, 0x60 - strh r0, [r4, 0x20] -_08048E6A: - movs r6, 0 - ldr r1, _08048F14 @ =gSprites - mov r10, r1 - mov r4, sp - mov r2, r9 - adds r0, r2, r7 - lsls r0, 3 - str r0, [sp, 0x1C] - movs r3, 0xA - mov r9, r3 - mov r8, r6 -_08048E80: - ldr r0, _08048F18 @ =gUnknown_82604EC - ldr r5, [sp, 0x24] - ldr r1, _08048F1C @ =0xfffc0000 - adds r2, r5, r1 - ldr r3, [sp, 0x1C] - adds r0, r3, r0 - ldr r5, [sp, 0x20] - asrs r1, r5, 16 - asrs r2, 16 - movs r3, 0x9 - bl CreateSpriteAtEnd - strb r0, [r4] - ldr r0, [sp, 0x10] - cmp r0, 0 - bne _08048EB0 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r2, _08048F20 @ =gSprites + 0x1C - adds r1, r2 - ldr r0, _08048F24 @ =SpriteCB_StatusSummaryBallsOnSwitchout - str r0, [r1] -_08048EB0: - ldr r5, _08048F14 @ =gSprites - cmp r7, 0 - bne _08048ECE - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - strh r7, [r0, 0x24] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - strh r7, [r0, 0x26] -_08048ECE: - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0 - mov r3, sp - ldrh r3, [r3, 0x18] - strh r3, [r0, 0x2E] - cmp r7, 0 - bne _08048F28 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrh r0, [r1, 0x20] - adds r0, 0x18 - add r0, r8 - strh r0, [r1, 0x20] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r9 - strh r1, [r0, 0x30] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x78 - b _08048F66 - .align 2, 0 -_08048F14: .4byte gSprites -_08048F18: .4byte gUnknown_82604EC -_08048F1C: .4byte 0xfffc0000 -_08048F20: .4byte gSprites + 0x1C -_08048F24: .4byte SpriteCB_StatusSummaryBallsOnSwitchout -_08048F28: - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r5 - ldrh r3, [r2, 0x20] - subs r3, 0x18 - movs r1, 0x5 - subs r1, r6 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - subs r3, r0 - strh r3, [r2, 0x20] - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r5 - movs r1, 0x6 - subs r1, r6 - lsls r0, r1, 3 - subs r0, r1 - adds r0, 0xA - strh r0, [r2, 0x30] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08048FD4 @ =0x0000ff88 -_08048F66: - strh r1, [r0, 0x24] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r7, [r0, 0x32] - adds r4, 0x1 - movs r2, 0x7 - add r9, r2 - movs r3, 0xA - add r8, r3 - adds r6, 0x1 - cmp r6, 0x5 - bgt _08048F86 - b _08048E80 -_08048F86: - ldr r0, [sp, 0x8] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0804906E - movs r6, 0 - ldr r5, _08048FD8 @ =gBattleTypeFlags - mov r10, r5 - ldr r0, _08048FDC @ =0x0000ffff - mov r9, r0 - ldr r7, _08048FE0 @ =gSprites - ldr r1, _08048FE4 @ =0x000003ff - mov r12, r1 - ldr r2, _08048FE8 @ =0xfffffc00 - mov r8, r2 - mov r4, sp - ldr r5, [sp, 0xC] -_08048FAA: - mov r3, r10 - ldr r0, [r3] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08048FEC - ldrh r0, [r5] - cmp r0, r9 - beq _08048FF6 - cmp r0, 0 - bne _0804903E - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r7 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x3 - b _08049056 - .align 2, 0 -_08048FD4: .4byte 0x0000ff88 -_08048FD8: .4byte gBattleTypeFlags -_08048FDC: .4byte 0x0000ffff -_08048FE0: .4byte gSprites -_08048FE4: .4byte 0x000003ff -_08048FE8: .4byte 0xfffffc00 -_08048FEC: - ldr r1, [sp, 0x14] - lsls r0, r1, 24 - asrs r0, 24 - cmp r6, r0 - blt _08049024 -_08048FF6: - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r7 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x1 - mov r0, r12 - ands r1, r0 - mov r0, r8 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - movs r1, 0x1 - strh r1, [r0, 0x3C] - b _08049062 -_08049024: - ldrh r0, [r5] - cmp r0, 0 - bne _0804903E - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r7 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x3 - b _08049056 -_0804903E: - ldr r0, [r5, 0x4] - cmp r0, 0 - beq _08049062 - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r7 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x2 -_08049056: - mov r0, r12 - ands r1, r0 - mov r0, r8 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] -_08049062: - adds r4, 0x1 - adds r5, 0x8 - adds r6, 0x1 - cmp r6, 0x5 - ble _08048FAA - b _08049148 -_0804906E: - movs r6, 0 - ldr r1, _080490B4 @ =gBattleTypeFlags - mov r10, r1 - ldr r2, _080490B8 @ =0x0000ffff - mov r9, r2 - ldr r7, _080490BC @ =gSprites - ldr r3, _080490C0 @ =0x000003ff - mov r12, r3 - ldr r5, _080490C4 @ =0xfffffc00 - mov r8, r5 - ldr r5, [sp, 0xC] - mov r4, sp - adds r4, 0x5 -_08049088: - mov r1, r10 - ldr r0, [r1] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080490C8 - ldrh r0, [r5] - cmp r0, r9 - beq _080490D2 - cmp r0, 0 - bne _0804911A - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r7 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x3 - b _08049132 - .align 2, 0 -_080490B4: .4byte gBattleTypeFlags -_080490B8: .4byte 0x0000ffff -_080490BC: .4byte gSprites -_080490C0: .4byte 0x000003ff -_080490C4: .4byte 0xfffffc00 -_080490C8: - ldr r1, [sp, 0x14] - lsls r0, r1, 24 - asrs r0, 24 - cmp r6, r0 - blt _08049100 -_080490D2: - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r7 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x1 - mov r0, r12 - ands r1, r0 - mov r0, r8 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - movs r1, 0x1 - strh r1, [r0, 0x3C] - b _0804913E -_08049100: - ldrh r0, [r5] - cmp r0, 0 - bne _0804911A - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r7 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x3 - b _08049132 -_0804911A: - ldr r0, [r5, 0x4] - cmp r0, 0 - beq _0804913E - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r7 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x2 -_08049132: - mov r0, r12 - ands r1, r0 - mov r0, r8 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] -_0804913E: - subs r4, 0x1 - adds r5, 0x8 - adds r6, 0x1 - cmp r6, 0x5 - ble _08049088 -_08049148: - ldr r0, _080491A8 @ =TaskDummy - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _080491AC @ =gTasks - lsls r3, r4, 2 - adds r1, r3, r4 - lsls r1, 3 - adds r0, r1, r2 - mov r5, sp - ldrh r5, [r5, 0x8] - strh r5, [r0, 0x8] - mov r6, sp - ldrh r6, [r6, 0x18] - strh r6, [r0, 0xA] - movs r6, 0 - adds r0, r2, 0 - adds r0, 0xE - adds r1, r0 -_08049172: - mov r5, sp - adds r0, r5, r6 - ldrb r0, [r0] - strh r0, [r1] - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _08049172 - adds r0, r3, r4 - lsls r0, 3 - adds r0, r2 - ldrh r6, [r5, 0x10] - strh r6, [r0, 0x1C] - movs r0, 0x6B - movs r1, 0 - bl PlaySE12WithPanning - adds r0, r4, 0 - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080491A8: .4byte TaskDummy -_080491AC: .4byte gTasks - thumb_func_end CreatePartyStatusSummarySprites - - thumb_func_start Task_HidePartyStatusSummary -Task_HidePartyStatusSummary: @ 80491B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, _080492C0 @ =gTasks - lsls r3, r0, 2 - adds r1, r3, r0 - lsls r1, 3 - adds r0, r1, r2 - ldrb r7, [r0, 0x1C] - ldrb r4, [r0, 0xA] - mov r10, r4 - ldrb r0, [r0, 0x8] - str r0, [sp, 0x8] - movs r5, 0 - str r3, [sp, 0xC] - adds r2, 0xE - adds r2, r1, r2 -_080491DE: - mov r0, sp - adds r1, r0, r5 - ldrh r0, [r2] - strb r0, [r1] - adds r2, 0x2 - adds r5, 0x1 - cmp r5, 0x5 - ble _080491DE - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldr r1, _080492C0 @ =gTasks - ldr r0, [sp, 0xC] - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x10 - strh r1, [r0, 0x26] - movs r5, 0 - mov r1, r10 - lsls r1, 4 - str r1, [sp, 0x10] - ldr r3, _080492C4 @ =gSprites - movs r6, 0xD - negs r6, r6 - mov r12, r3 - movs r4, 0x4 -_08049220: - mov r2, sp - adds r0, r2, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1, 0x1] - adds r0, r6, 0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1, 0x1] - adds r5, 0x1 - cmp r5, 0x5 - ble _08049220 - ldr r2, [sp, 0x10] - add r2, r10 - lsls r2, 2 - add r2, r12 - ldrb r1, [r2, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x1] - cmp r7, 0 - bne _0804925A - b _08049360 -_0804925A: - movs r5, 0 - mov r6, r12 - mov r9, r5 - adds r3, r6, 0 - adds r3, 0x1C - mov r4, sp - movs r7, 0 -_08049268: - ldr r0, [sp, 0x8] - str r3, [sp, 0x14] - bl GetBattlerSide - lsls r0, 24 - lsrs r2, r0, 24 - ldr r3, [sp, 0x14] - cmp r2, 0 - beq _080492CC - movs r0, 0x5 - subs r0, r5 - mov r1, sp - adds r2, r1, r0 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r7, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r9 - strh r1, [r0, 0x34] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r9 - strh r1, [r0, 0x36] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, _080492C8 @ =sub_8049630 - str r1, [r0] - ldr r2, _080492C4 @ =gSprites - mov r12, r2 - b _08049302 - .align 2, 0 -_080492C0: .4byte gTasks -_080492C4: .4byte gSprites -_080492C8: .4byte sub_8049630 -_080492CC: - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r7, [r0, 0x30] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x34] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x36] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, _08049348 @ =sub_8049630 - str r1, [r0] - ldr r0, _0804934C @ =gSprites - mov r12, r0 -_08049302: - adds r4, 0x1 - adds r7, 0x7 - adds r5, 0x1 - cmp r5, 0x5 - ble _08049268 - ldr r3, [sp, 0x10] - add r3, r10 - lsls r3, 2 - mov r1, r12 - adds r0, r3, r1 - movs r2, 0x2E - ldrsh r1, [r0, r2] - lsrs r2, r1, 31 - adds r1, r2 - asrs r1, 1 - movs r2, 0 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - mov r1, r12 - adds r1, 0x1C - adds r3, r1 - ldr r1, _08049350 @ =sub_8049568 - str r1, [r3] - ldr r1, _08049354 @ =gUnknown_8260404 - bl SetSubspriteTables - ldr r1, _08049358 @ =gTasks - ldr r0, [sp, 0xC] - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, _0804935C @ =sub_8049388 - str r1, [r0] - b _0804936E - .align 2, 0 -_08049348: .4byte sub_8049630 -_0804934C: .4byte gSprites -_08049350: .4byte sub_8049568 -_08049354: .4byte gUnknown_8260404 -_08049358: .4byte gTasks -_0804935C: .4byte sub_8049388 -_08049360: - ldr r0, _08049380 @ =gTasks - ldr r1, [sp, 0xC] - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldr r0, _08049384 @ =sub_804948C - str r0, [r1] -_0804936E: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08049380: .4byte gTasks -_08049384: .4byte sub_804948C - thumb_func_end Task_HidePartyStatusSummary - - thumb_func_start sub_8049388 -sub_8049388: @ 8049388 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080493DC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x1E] - adds r1, r0, 0x1 - strh r1, [r4, 0x1E] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080493C8 - ldrh r0, [r4, 0x26] - subs r1, r0, 0x1 - strh r1, [r4, 0x26] - lsls r0, r1, 16 - cmp r0, 0 - blt _080493D4 - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_080493C8: - movs r1, 0x26 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080493D4 - ldr r0, _080493E0 @ =sub_80493E4 - str r0, [r4] -_080493D4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080493DC: .4byte gTasks -_080493E0: .4byte sub_80493E4 - thumb_func_end sub_8049388 - - thumb_func_start sub_80493E4 -sub_80493E4: @ 80493E4 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r7, _0804945C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r6, r0, 3 - adds r1, r6, r7 - ldrh r0, [r1, 0x26] - subs r0, 0x1 - strh r0, [r1, 0x26] - lsls r0, 16 - asrs r2, r0, 16 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - bne _08049464 - ldrb r3, [r1, 0xA] - movs r5, 0 - adds r0, r7, 0 - adds r0, 0xE - adds r2, r6, r0 -_08049412: - mov r0, sp - adds r1, r0, r5 - ldrh r0, [r2] - strb r0, [r1] - adds r2, 0x2 - adds r5, 0x1 - cmp r5, 0x5 - ble _08049412 - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - ldr r4, _08049460 @ =gSprites - adds r0, r4 - bl DestroySpriteAndFreeResources - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySpriteAndFreeResources - movs r5, 0x1 -_08049442: - mov r1, sp - adds r0, r1, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - adds r5, 0x1 - cmp r5, 0x5 - ble _08049442 - b _08049482 - .align 2, 0 -_0804945C: .4byte gTasks -_08049460: .4byte gSprites -_08049464: - movs r0, 0x3 - negs r0, r0 - cmp r2, r0 - bne _08049482 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyTask -_08049482: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80493E4 - - thumb_func_start sub_804948C -sub_804948C: @ 804948C - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r7, _080494C4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r6, r0, 3 - adds r3, r6, r7 - ldrh r0, [r3, 0x26] - subs r1, r0, 0x1 - strh r1, [r3, 0x26] - lsls r0, r1, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _080494C8 - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - b _08049546 - .align 2, 0 -_080494C4: .4byte gTasks -_080494C8: - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - bne _08049528 - ldrb r3, [r3, 0xA] - movs r5, 0 - adds r0, r7, 0 - adds r0, 0xE - adds r2, r6, r0 -_080494DA: - mov r0, sp - adds r1, r0, r5 - ldrh r0, [r2] - strb r0, [r1] - adds r2, 0x2 - adds r5, 0x1 - cmp r5, 0x5 - ble _080494DA - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - ldr r4, _08049524 @ =gSprites - adds r0, r4 - bl DestroySpriteAndFreeResources - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySpriteAndFreeResources - movs r5, 0x1 -_0804950A: - mov r1, sp - adds r0, r1, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - adds r5, 0x1 - cmp r5, 0x5 - ble _0804950A - b _08049546 - .align 2, 0 -_08049524: .4byte gSprites -_08049528: - movs r0, 0x3 - negs r0, r0 - cmp r2, r0 - bne _08049546 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyTask -_08049546: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804948C - - thumb_func_start SpriteCB_StatusSummaryBar -SpriteCB_StatusSummaryBar: @ 8049550 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x24] - movs r3, 0x24 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08049564 - ldrh r0, [r1, 0x2E] - adds r0, r2, r0 - strh r0, [r1, 0x24] -_08049564: - pop {r0} - bx r0 - thumb_func_end SpriteCB_StatusSummaryBar - - thumb_func_start sub_8049568 -sub_8049568: @ 8049568 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - adds r1, r0, 0 - adds r1, 0x20 - strh r1, [r2, 0x30] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - ble _08049586 - lsls r0, r1, 16 - asrs r0, 20 - ldrh r1, [r2, 0x24] - adds r0, r1 - b _0804958E -_08049586: - lsls r1, 16 - asrs r1, 20 - ldrh r0, [r2, 0x24] - subs r0, r1 -_0804958E: - strh r0, [r2, 0x24] - ldrh r1, [r2, 0x30] - movs r0, 0xF - ands r0, r1 - strh r0, [r2, 0x30] - pop {r0} - bx r0 - thumb_func_end sub_8049568 - - thumb_func_start SpriteCB_StatusSummaryBallsOnBattleStart -SpriteCB_StatusSummaryBallsOnBattleStart: @ 804959C - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080495B0 - subs r0, r1, 0x1 - strh r0, [r4, 0x30] - b _08049626 -_080495B0: - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r3, r0, 24 - ldrh r2, [r4, 0x34] - adds r0, r2, 0 - adds r0, 0x38 - lsls r1, r0, 16 - lsrs r2, r1, 16 - ldr r0, _080495E0 @ =0x0000fff0 - ands r2, r0 - strh r2, [r4, 0x34] - cmp r3, 0 - beq _080495E4 - lsrs r0, r1, 20 - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _080495F4 - movs r0, 0 - strh r0, [r4, 0x24] - b _080495F4 - .align 2, 0 -_080495E0: .4byte 0x0000fff0 -_080495E4: - lsrs r1, 20 - ldrh r0, [r4, 0x24] - subs r0, r1 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - bge _080495F4 - strh r3, [r4, 0x24] -_080495F4: - movs r2, 0x24 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08049626 - movs r1, 0x3F - cmp r3, 0 - beq _08049604 - movs r1, 0xC0 -_08049604: - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08049618 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x6D - bl PlaySE2WithPanning - b _08049622 -_08049618: - lsls r1, 24 - asrs r1, 24 - movs r0, 0x6C - bl PlaySE1WithPanning -_08049622: - ldr r0, _0804962C @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_08049626: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804962C: .4byte SpriteCallbackDummy - thumb_func_end SpriteCB_StatusSummaryBallsOnBattleStart - - thumb_func_start sub_8049630 -sub_8049630: @ 8049630 - push {r4,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x30] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r0, 0 - ble _08049644 - subs r0, r1, 0x1 - strh r0, [r3, 0x30] - b _08049694 -_08049644: - ldrh r0, [r3, 0x32] - lsls r0, 24 - ldrh r2, [r3, 0x34] - adds r1, r2, 0 - adds r1, 0x38 - lsls r4, r1, 16 - lsrs r2, r4, 16 - ldr r1, _08049664 @ =0x0000fff0 - ands r2, r1 - strh r2, [r3, 0x34] - cmp r0, 0 - beq _08049668 - lsrs r0, r4, 20 - ldrh r1, [r3, 0x24] - adds r0, r1 - b _0804966E - .align 2, 0 -_08049664: .4byte 0x0000fff0 -_08049668: - lsrs r1, r4, 20 - ldrh r0, [r3, 0x24] - subs r0, r1 -_0804966E: - strh r0, [r3, 0x24] - movs r2, 0x24 - ldrsh r0, [r3, r2] - movs r2, 0x20 - ldrsh r1, [r3, r2] - adds r0, r1 - adds r0, 0x8 - movs r1, 0x80 - lsls r1, 1 - cmp r0, r1 - bls _08049694 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0804969C @ =SpriteCallbackDummy - str r0, [r3, 0x1C] -_08049694: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804969C: .4byte SpriteCallbackDummy - thumb_func_end sub_8049630 - - thumb_func_start SpriteCB_StatusSummaryBallsOnSwitchout -SpriteCB_StatusSummaryBallsOnSwitchout: @ 80496A0 - ldrh r2, [r0, 0x2E] - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080496BC @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrh r2, [r1, 0x24] - strh r2, [r0, 0x24] - ldrh r1, [r1, 0x26] - strh r1, [r0, 0x26] - bx lr - .align 2, 0 -_080496BC: .4byte gSprites - thumb_func_end SpriteCB_StatusSummaryBallsOnSwitchout - - thumb_func_start sub_80496C0 -sub_80496C0: @ 80496C0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r7, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _08049760 @ =gDisplayedStringBattle - ldr r1, _08049764 @ =gUnknown_8260556 - bl StringCopy - adds r5, r0, 0 - adds r0, r7, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - mov r0, sp - bl StringGetEnd10 - adds r0, r5, 0 - mov r1, sp - bl StringCopy - adds r5, r0, 0 - movs r0, 0xFC - strb r0, [r5] - adds r5, 0x1 - movs r0, 0x1 - strb r0, [r5] - adds r5, 0x1 - adds r0, r7, 0 - bl GetMonGender - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r7, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0x1D - beq _08049720 - cmp r0, 0x20 - bne _08049734 -_08049720: - movs r0, 0xB - muls r1, r0 - ldr r0, _08049768 @ =gSpeciesNames - adds r1, r0 - mov r0, sp - bl StringCompare - cmp r0, 0 - bne _08049734 - movs r6, 0x64 -_08049734: - ldr r1, _0804976C @ =gSprites - mov r0, r8 - lsls r4, r0, 4 - adds r0, r4, r0 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x3A] - lsls r1, 24 - lsrs r1, 24 - adds r0, r7, 0 - bl CheckBattleTypeGhost - lsls r0, 24 - cmp r0, 0 - beq _08049754 - movs r6, 0x64 -_08049754: - cmp r6, 0 - beq _08049770 - cmp r6, 0xFE - beq _0804977A - movs r0, 0xB - b _08049782 - .align 2, 0 -_08049760: .4byte gDisplayedStringBattle -_08049764: .4byte gUnknown_8260556 -_08049768: .4byte gSpeciesNames -_0804976C: .4byte gSprites -_08049770: - movs r0, 0xB - strb r0, [r5] - adds r5, 0x1 - movs r0, 0xB5 - b _08049782 -_0804977A: - movs r0, 0xA - strb r0, [r5] - adds r5, 0x1 - movs r0, 0xB6 -_08049782: - strb r0, [r5] - movs r0, 0xFF - strb r0, [r5, 0x1] - ldr r0, _080497E4 @ =gDisplayedStringBattle - add r3, sp, 0xC - movs r1, 0 - movs r2, 0x3 - bl AddTextPrinterAndCreateWindowOnHealthbox - adds r6, r0, 0 - ldr r0, _080497E8 @ =gSprites - mov r2, r8 - adds r1, r4, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x4] - lsls r0, 22 - lsrs r4, r0, 17 - ldrh r0, [r1, 0x3A] - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080497F8 - ldr r1, _080497EC @ =0x06010040 - adds r0, r4, r1 - adds r1, r6, 0 - movs r2, 0x6 - bl sub_804A6E8 - bl IsDoubleBattle - lsls r0, 24 - ldr r2, _080497F0 @ =0x06010400 - adds r5, r4, r2 - cmp r0, 0 - bne _080497D4 - ldr r0, _080497F4 @ =0x06010800 - adds r5, r4, r0 -_080497D4: - adds r1, r6, 0 - adds r1, 0xC0 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_804A6E8 - b _08049804 - .align 2, 0 -_080497E4: .4byte gDisplayedStringBattle -_080497E8: .4byte gSprites -_080497EC: .4byte 0x06010040 -_080497F0: .4byte 0x06010400 -_080497F4: .4byte 0x06010800 -_080497F8: - ldr r1, _08049818 @ =0x06010020 - adds r0, r4, r1 - adds r1, r6, 0 - movs r2, 0x7 - bl sub_804A6E8 -_08049804: - ldr r0, [sp, 0xC] - bl sub_804A6D8 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08049818: .4byte 0x06010020 - thumb_func_end sub_80496C0 - - thumb_func_start sub_804981C -sub_804981C: @ 804981C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - ldr r0, _080498DC @ =gBattleTypeFlags - ldr r1, [r0] - ldr r0, _080498E0 @ =0x00010210 - ands r0, r1 - cmp r0, 0 - bne _0804991C - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - bne _0804991C - ldr r0, _080498E4 @ =gSprites - mov r9, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - add r0, r9 - mov r8, r0 - ldrh r0, [r0, 0x3A] - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0804991C - ldr r1, _080498E8 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r5, r0, r1 - ldrh r0, [r5] - movs r7, 0x64 - muls r0, r7 - ldr r6, _080498EC @ =gEnemyParty - adds r0, r6 - adds r1, r4, 0 - bl CheckBattleTypeGhost - lsls r0, 24 - cmp r0, 0 - bne _0804991C - ldrh r0, [r5] - muls r0, r7 - adds r0, r6 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _0804991C - mov r1, r8 - ldrh r0, [r1, 0x38] - lsls r0, 24 - lsrs r4, r0, 24 - mov r2, r10 - cmp r2, 0 - beq _080498F8 - movs r0, 0x46 - bl GetHealthboxElementGfxPtr - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - add r1, r9 - ldrh r1, [r1, 0x4] - lsls r1, 22 - lsrs r1, 17 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2 - ldr r2, _080498F0 @ =0x06010000 - adds r1, r2 - ldr r2, _080498F4 @ =0x04000008 - bl CpuSet - b _0804991C - .align 2, 0 -_080498DC: .4byte gBattleTypeFlags -_080498E0: .4byte 0x00010210 -_080498E4: .4byte gSprites -_080498E8: .4byte gBattlerPartyIndexes -_080498EC: .4byte gEnemyParty -_080498F0: .4byte 0x06010000 -_080498F4: .4byte 0x04000008 -_080498F8: - mov r0, r10 - str r0, [sp] - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - add r0, r9 - ldrh r1, [r0, 0x4] - lsls r1, 22 - lsrs r1, 17 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2 - ldr r0, _0804992C @ =0x06010000 - adds r1, r0 - ldr r2, _08049930 @ =0x05000008 - mov r0, sp - bl CpuSet -_0804991C: - 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 -_0804992C: .4byte 0x06010000 -_08049930: .4byte 0x05000008 - thumb_func_end sub_804981C - - thumb_func_start UpdateStatusIconInHealthbox -UpdateStatusIconInHealthbox: @ 8049934 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _08049998 @ =gSprites - mov r2, r9 - lsls r1, r2, 4 - add r1, r9 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x3A] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r1, 0x38] - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - adds r0, r7, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080499A4 - ldr r1, _0804999C @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080499A0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x37 - bl GetMonData - adds r4, r0, 0 - bl IsDoubleBattle - lsls r0, 24 - movs r3, 0x12 - mov r8, r3 - cmp r0, 0 - bne _080499C0 - movs r0, 0x1A - mov r8, r0 - b _080499C0 - .align 2, 0 -_08049998: .4byte gSprites -_0804999C: .4byte gBattlerPartyIndexes -_080499A0: .4byte gPlayerParty -_080499A4: - ldr r1, _080499E0 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080499E4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x37 - bl GetMonData - adds r4, r0, 0 - movs r1, 0x11 - mov r8, r1 -_080499C0: - movs r0, 0x7 - ands r0, r4 - cmp r0, 0 - beq _080499E8 - movs r0, 0x1B - adds r1, r7, 0 - bl GetStatusIconForBankId - lsls r0, 24 - lsrs r0, 24 - bl GetHealthboxElementGfxPtr - adds r6, r0, 0 - movs r0, 0x2 - b _08049AF4 - .align 2, 0 -_080499E0: .4byte gBattlerPartyIndexes -_080499E4: .4byte gEnemyParty -_080499E8: - movs r0, 0x88 - ands r0, r4 - cmp r0, 0 - beq _08049A06 - movs r0, 0x15 - adds r1, r7, 0 - bl GetStatusIconForBankId - lsls r0, 24 - lsrs r0, 24 - bl GetHealthboxElementGfxPtr - adds r6, r0, 0 - movs r0, 0 - b _08049AF4 -_08049A06: - movs r0, 0x10 - ands r0, r4 - cmp r0, 0 - beq _08049A24 - movs r0, 0x21 - adds r1, r7, 0 - bl GetStatusIconForBankId - lsls r0, 24 - lsrs r0, 24 - bl GetHealthboxElementGfxPtr - adds r6, r0, 0 - movs r0, 0x4 - b _08049AF4 -_08049A24: - movs r0, 0x20 - ands r0, r4 - cmp r0, 0 - beq _08049A42 - movs r0, 0x1E - adds r1, r7, 0 - bl GetStatusIconForBankId - lsls r0, 24 - lsrs r0, 24 - bl GetHealthboxElementGfxPtr - adds r6, r0, 0 - movs r0, 0x3 - b _08049AF4 -_08049A42: - movs r0, 0x40 - ands r0, r4 - cmp r0, 0 - beq _08049A60 - movs r0, 0x18 - adds r1, r7, 0 - bl GetStatusIconForBankId - lsls r0, 24 - lsrs r0, 24 - bl GetHealthboxElementGfxPtr - adds r6, r0, 0 - movs r0, 0x1 - b _08049AF4 -_08049A60: - movs r0, 0x27 - bl GetHealthboxElementGfxPtr - adds r6, r0, 0 - movs r4, 0 - mov r2, r9 - lsls r0, r2, 4 - mov r3, r8 - lsls r3, 16 - mov r8, r3 - lsls r7, 2 - ldr r1, _08049AE0 @ =gSprites - add r0, r9 - lsls r0, 2 - adds r5, r0, r1 -_08049A7E: - ldrh r1, [r5, 0x4] - lsls r1, 22 - lsrs r1, 22 - mov r2, r8 - asrs r0, r2, 16 - adds r1, r0 - adds r1, r4 - lsls r1, 5 - ldr r3, _08049AE4 @ =0x06010000 - adds r1, r3 - adds r0, r6, 0 - ldr r2, _08049AE8 @ =0x04000008 - bl CpuSet - adds r4, 0x1 - cmp r4, 0x2 - ble _08049A7E - ldr r0, _08049AEC @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - adds r0, r7, r0 - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _08049AD4 - movs r0, 0x1 - bl GetHealthboxElementGfxPtr - ldr r2, _08049AE0 @ =gSprites - mov r3, r10 - lsls r1, r3, 4 - add r1, r10 - lsls r1, 2 - adds r1, r2 - ldrh r1, [r1, 0x4] - lsls r1, 22 - lsrs r1, 17 - ldr r2, _08049AE4 @ =0x06010000 - adds r1, r2 - ldr r2, _08049AF0 @ =0x04000010 - bl CpuSet -_08049AD4: - mov r0, r9 - movs r1, 0x1 - bl sub_804981C - b _08049BB6 - .align 2, 0 -_08049AE0: .4byte gSprites -_08049AE4: .4byte 0x06010000 -_08049AE8: .4byte 0x04000008 -_08049AEC: .4byte gBattleSpritesDataPtr -_08049AF0: .4byte 0x04000010 -_08049AF4: - mov r1, r9 - lsls r5, r1, 4 - add r5, r9 - lsls r5, 2 - ldr r2, _08049BC4 @ =gSprites - adds r5, r2 - ldrb r4, [r5, 0x5] - lsrs r4, 4 - lsls r4, 4 - adds r4, 0xC - adds r4, r7 - ldr r1, _08049BC8 @ =gUnknown_826055A - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - movs r3, 0x80 - lsls r3, 1 - adds r1, r4, r3 - movs r2, 0x2 - bl FillPalette - lsls r4, 1 - ldr r0, _08049BCC @ =gPlttBufferUnfaded + 0x200 - adds r0, r4, r0 - ldr r1, _08049BD0 @ =0x05000200 - adds r4, r1 - adds r1, r4, 0 - movs r2, 0x1 - bl CpuSet - ldrh r1, [r5, 0x4] - lsls r1, 22 - lsrs r1, 22 - add r1, r8 - lsls r1, 5 - ldr r2, _08049BD4 @ =0x06010000 - mov r8, r2 - add r1, r8 - ldr r2, _08049BD8 @ =0x04000018 - adds r0, r6, 0 - bl CpuSet - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08049B62 - adds r0, r7, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08049BAE -_08049B62: - ldr r0, _08049BDC @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r7, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _08049BAE - movs r0, 0 - bl GetHealthboxElementGfxPtr - mov r3, r10 - lsls r4, r3, 4 - add r4, r10 - lsls r4, 2 - ldr r1, _08049BC4 @ =gSprites - adds r4, r1 - ldrh r1, [r4, 0x4] - lsls r1, 22 - lsrs r1, 17 - add r1, r8 - ldr r5, _08049BE0 @ =0x04000008 - adds r2, r5, 0 - bl CpuSet - movs r0, 0x41 - bl GetHealthboxElementGfxPtr - ldrh r1, [r4, 0x4] - lsls r1, 22 - lsrs r1, 17 - adds r1, 0x20 - add r1, r8 - adds r2, r5, 0 - bl CpuSet -_08049BAE: - mov r0, r9 - movs r1, 0 - bl sub_804981C -_08049BB6: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08049BC4: .4byte gSprites -_08049BC8: .4byte gUnknown_826055A -_08049BCC: .4byte gPlttBufferUnfaded + 0x200 -_08049BD0: .4byte 0x05000200 -_08049BD4: .4byte 0x06010000 -_08049BD8: .4byte 0x04000018 -_08049BDC: .4byte gBattleSpritesDataPtr -_08049BE0: .4byte 0x04000008 - thumb_func_end UpdateStatusIconInHealthbox - - thumb_func_start GetStatusIconForBankId -GetStatusIconForBankId: @ 8049BE4 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsrs r2, r0, 24 - adds r0, r2, 0 - subs r0, 0x15 - cmp r0, 0xC - bhi _08049CA4 - lsls r0, 2 - ldr r1, _08049C00 @ =_08049C04 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08049C00: .4byte _08049C04 - .align 2, 0 -_08049C04: - .4byte _08049C38 - .4byte _08049CA4 - .4byte _08049CA4 - .4byte _08049C4E - .4byte _08049CA4 - .4byte _08049CA4 - .4byte _08049C64 - .4byte _08049CA4 - .4byte _08049CA4 - .4byte _08049C7A - .4byte _08049CA4 - .4byte _08049CA4 - .4byte _08049C90 -_08049C38: - movs r2, 0x15 - cmp r3, 0 - beq _08049CA4 - movs r2, 0x47 - cmp r3, 0x1 - beq _08049CA4 - movs r2, 0x65 - cmp r3, 0x2 - bne _08049CA4 - movs r2, 0x56 - b _08049CA4 -_08049C4E: - movs r2, 0x18 - cmp r3, 0 - beq _08049CA4 - movs r2, 0x4A - cmp r3, 0x1 - beq _08049CA4 - movs r2, 0x68 - cmp r3, 0x2 - bne _08049CA4 - movs r2, 0x59 - b _08049CA4 -_08049C64: - movs r2, 0x1B - cmp r3, 0 - beq _08049CA4 - movs r2, 0x4D - cmp r3, 0x1 - beq _08049CA4 - movs r2, 0x6B - cmp r3, 0x2 - bne _08049CA4 - movs r2, 0x5C - b _08049CA4 -_08049C7A: - movs r2, 0x1E - cmp r3, 0 - beq _08049CA4 - movs r2, 0x50 - cmp r3, 0x1 - beq _08049CA4 - movs r2, 0x6E - cmp r3, 0x2 - bne _08049CA4 - movs r2, 0x5F - b _08049CA4 -_08049C90: - movs r2, 0x21 - cmp r3, 0 - beq _08049CA4 - movs r2, 0x53 - cmp r3, 0x1 - beq _08049CA4 - movs r2, 0x71 - cmp r3, 0x2 - bne _08049CA4 - movs r2, 0x62 -_08049CA4: - adds r0, r2, 0 - pop {r1} - bx r1 - thumb_func_end GetStatusIconForBankId - - thumb_func_start UpdateSafariBallsTextOnHealthbox -UpdateSafariBallsTextOnHealthbox: @ 8049CAC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08049D00 @ =gUnknown_83FE80C - movs r1, 0 - movs r2, 0x3 - mov r3, sp - bl AddTextPrinterAndCreateWindowOnHealthbox - adds r5, r0, 0 - ldr r1, _08049D04 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r4, [r0, 0x4] - lsls r4, 22 - lsrs r4, 17 - ldr r1, _08049D08 @ =0x06010040 - adds r0, r4, r1 - adds r1, r5, 0 - movs r2, 0x6 - bl sub_804A6E8 - ldr r0, _08049D0C @ =0x06010800 - adds r4, r0 - adds r5, 0xC0 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x2 - bl sub_804A6E8 - ldr r0, [sp] - bl sub_804A6D8 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08049D00: .4byte gUnknown_83FE80C -_08049D04: .4byte gSprites -_08049D08: .4byte 0x06010040 -_08049D0C: .4byte 0x06010800 - thumb_func_end UpdateSafariBallsTextOnHealthbox - - thumb_func_start UpdateLeftNoOfBallsTextOnHealthbox -UpdateLeftNoOfBallsTextOnHealthbox: @ 8049D10 - push {r4,r5,lr} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _08049D84 @ =gText_HighlightRed_Left - mov r0, sp - bl StringCopy - ldr r1, _08049D88 @ =gNumSafariBalls - ldrb r1, [r1] - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0 - mov r1, sp - movs r2, 0 - bl GetStringWidth - movs r1, 0x2F - subs r1, r0 - add r3, sp, 0x10 - mov r0, sp - movs r2, 0x3 - bl AddTextPrinterAndCreateWindowOnHealthbox - adds r5, r0, 0 - ldr r1, _08049D8C @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r4, [r0, 0x4] - lsls r4, 22 - lsrs r4, 17 - ldr r1, _08049D90 @ =0x060102c0 - adds r0, r4, r1 - adds r1, r5, 0 - movs r2, 0x2 - bl sub_804A734 - ldr r0, _08049D94 @ =0x06010a00 - adds r4, r0 - adds r5, 0x40 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x4 - bl sub_804A734 - ldr r0, [sp, 0x10] - bl sub_804A6D8 - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08049D84: .4byte gText_HighlightRed_Left -_08049D88: .4byte gNumSafariBalls -_08049D8C: .4byte gSprites -_08049D90: .4byte 0x060102c0 -_08049D94: .4byte 0x06010a00 - thumb_func_end UpdateLeftNoOfBallsTextOnHealthbox - - thumb_func_start UpdateHealthboxAttribute -UpdateHealthboxAttribute: @ 8049D98 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r1 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r7, r2, 24 - ldr r1, _08049F44 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x3A] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - cmp r7, 0 - bne _08049DD4 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _08049DD4 - mov r0, r9 - bl GetBattlerSide -_08049DD4: - ldr r1, _08049F44 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x3A] - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08049DF0 - b _08049F50 -_08049DF0: - cmp r7, 0x3 - beq _08049DF8 - cmp r7, 0 - bne _08049E0C -_08049DF8: - mov r0, r8 - movs r1, 0x38 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl UpdateLvlInHealthbox -_08049E0C: - cmp r7, 0x1 - bhi _08049E26 - mov r0, r8 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r6, 0 - movs r2, 0 - bl UpdateHpTextInHealthbox -_08049E26: - cmp r7, 0x2 - beq _08049E2E - cmp r7, 0 - bne _08049E44 -_08049E2E: - mov r0, r8 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r6, 0 - movs r2, 0x1 - bl UpdateHpTextInHealthbox -_08049E44: - cmp r7, 0x5 - beq _08049E4C - cmp r7, 0 - bne _08049E80 -_08049E4C: - movs r0, 0 - bl LoadBattleBarGfx - mov r0, r8 - movs r1, 0x3A - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x39 - bl GetMonData - adds r3, r0, 0 - movs r0, 0 - str r0, [sp] - mov r0, r9 - adds r1, r6, 0 - adds r2, r4, 0 - bl SetBattleBarStruct - mov r0, r9 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0 - bl MoveBattleBar -_08049E80: - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0 - bne _08049F06 - cmp r7, 0x6 - beq _08049E96 - cmp r7, 0 - bne _08049F06 -_08049E96: - movs r0, 0x3 - bl LoadBattleBarGfx - mov r0, r8 - movs r1, 0xB - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - mov r0, r8 - movs r1, 0x38 - bl GetMonData - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r0, r8 - movs r1, 0x19 - bl GetMonData - adds r3, r0, 0 - ldr r0, _08049F48 @ =gExperienceTables - mov r12, r0 - lsls r1, r4, 2 - ldr r2, _08049F4C @ =gBaseStats - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x13] - movs r0, 0xCA - lsls r0, 1 - muls r0, r2 - adds r1, r0 - add r1, r12 - ldr r1, [r1] - subs r3, r1 - adds r4, 0x1 - lsls r4, 2 - adds r4, r0 - add r4, r12 - ldr r2, [r4] - subs r2, r1 - mov r0, r10 - str r0, [sp] - mov r0, r9 - adds r1, r6, 0 - bl SetBattleBarStruct - mov r0, r9 - adds r1, r6, 0 - movs r2, 0x1 - movs r3, 0 - bl MoveBattleBar -_08049F06: - cmp r7, 0x4 - beq _08049F0E - cmp r7, 0 - bne _08049F16 -_08049F0E: - adds r0, r6, 0 - mov r1, r8 - bl sub_80496C0 -_08049F16: - cmp r7, 0x9 - beq _08049F1E - cmp r7, 0 - bne _08049F24 -_08049F1E: - adds r0, r6, 0 - bl UpdateStatusIconInHealthbox -_08049F24: - cmp r7, 0xA - bne _08049F2E - adds r0, r6, 0 - bl UpdateSafariBallsTextOnHealthbox -_08049F2E: - adds r0, r7, 0 - subs r0, 0xA - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _08049FC6 - adds r0, r6, 0 - bl UpdateLeftNoOfBallsTextOnHealthbox - b _08049FC6 - .align 2, 0 -_08049F44: .4byte gSprites -_08049F48: .4byte gExperienceTables -_08049F4C: .4byte gBaseStats -_08049F50: - cmp r7, 0x3 - beq _08049F58 - cmp r7, 0 - bne _08049F6C -_08049F58: - mov r0, r8 - movs r1, 0x38 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl UpdateLvlInHealthbox -_08049F6C: - cmp r7, 0x5 - beq _08049F74 - cmp r7, 0 - bne _08049FA8 -_08049F74: - movs r0, 0 - bl LoadBattleBarGfx - mov r0, r8 - movs r1, 0x3A - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x39 - bl GetMonData - adds r3, r0, 0 - movs r0, 0 - str r0, [sp] - mov r0, r9 - adds r1, r6, 0 - adds r2, r4, 0 - bl SetBattleBarStruct - mov r0, r9 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0 - bl MoveBattleBar -_08049FA8: - cmp r7, 0x4 - beq _08049FB0 - cmp r7, 0 - bne _08049FB8 -_08049FB0: - adds r0, r6, 0 - mov r1, r8 - bl sub_80496C0 -_08049FB8: - cmp r7, 0x9 - beq _08049FC0 - cmp r7, 0 - bne _08049FC6 -_08049FC0: - adds r0, r6, 0 - bl UpdateStatusIconInHealthbox -_08049FC6: - 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 UpdateHealthboxAttribute - - thumb_func_start MoveBattleBar -MoveBattleBar: @ 8049FD8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - cmp r2, 0 - bne _0804A024 - ldr r0, _0804A020 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0xC] - mov r1, r8 - lsls r5, r1, 2 - adds r3, r5, r1 - lsls r3, 2 - adds r3, r0 - ldr r0, [r3, 0x4] - ldr r1, [r3, 0x8] - ldr r2, [r3, 0xC] - adds r3, 0x10 - movs r4, 0x6 - str r4, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - bl sub_804A2F0 - adds r4, r0, 0 - adds r7, r5, 0 - b _0804A080 - .align 2, 0 -_0804A020: .4byte gBattleSpritesDataPtr -_0804A024: - ldr r2, _0804A0D0 @ =gBattleSpritesDataPtr - mov r10, r2 - ldr r0, [r2] - ldr r2, [r0, 0xC] - mov r0, r8 - lsls r4, r0, 2 - adds r0, r4, r0 - lsls r6, r0, 2 - adds r2, r6, r2 - ldr r0, [r2, 0x8] - ldr r1, [r2, 0xC] - ldr r2, [r2, 0x4] - movs r3, 0x8 - bl GetScaledExpFraction - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r4, 0 - cmp r5, 0 - bne _0804A04E - movs r5, 0x1 -_0804A04E: - mov r1, r10 - ldr r0, [r1] - ldr r0, [r0, 0xC] - adds r4, r6, r0 - ldr r6, [r4, 0xC] - adds r0, r6, 0 - adds r1, r5, 0 - bl __divsi3 - cmp r0, 0 - bge _0804A066 - negs r0, r0 -_0804A066: - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, [r4, 0x4] - ldr r1, [r4, 0x8] - adds r3, r4, 0 - adds r3, 0x10 - movs r2, 0x8 - str r2, [sp] - str r5, [sp, 0x4] - adds r2, r6, 0 - bl sub_804A2F0 - adds r4, r0, 0 -_0804A080: - mov r2, r9 - cmp r2, 0x1 - beq _0804A09C - cmp r2, 0 - bne _0804A0A4 - ldr r0, _0804A0D0 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - adds r0, r7, r0 - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0804A0A4 -_0804A09C: - mov r0, r8 - mov r1, r9 - bl sub_804A0D4 -_0804A0A4: - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - bne _0804A0BE - ldr r0, _0804A0D0 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0, 0xC] - mov r2, r8 - adds r0, r7, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - str r1, [r0, 0x10] -_0804A0BE: - adds r0, r4, 0 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0804A0D0: .4byte gBattleSpritesDataPtr - thumb_func_end MoveBattleBar - - thumb_func_start sub_804A0D4 -sub_804A0D4: @ 804A0D4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - beq _0804A0F0 - cmp r1, 0x1 - beq _0804A1D8 - b _0804A2D6 -_0804A0F0: - ldr r0, _0804A184 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0xC] - lsls r5, r6, 2 - adds r3, r5, r6 - lsls r3, 2 - adds r3, r0 - ldr r0, [r3, 0x4] - ldr r1, [r3, 0x8] - ldr r2, [r3, 0xC] - adds r3, 0x10 - add r4, sp, 0x8 - str r4, [sp] - movs r4, 0x6 - str r4, [sp, 0x4] - bl sub_804A3C4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - mov r9, r1 - adds r7, r5, 0 - cmp r0, 0x18 - bhi _0804A12C - movs r2, 0x38 - mov r9, r2 - cmp r0, 0x9 - bls _0804A12C - movs r4, 0x2F - mov r9, r4 -_0804A12C: - movs r5, 0 - ldr r0, _0804A188 @ =gSprites - mov r8, r0 -_0804A132: - ldr r0, _0804A184 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0, 0xC] - adds r0, r7, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrh r0, [r0, 0x38] - lsls r0, 24 - lsrs r4, r0, 24 - cmp r5, 0x1 - bhi _0804A194 - mov r0, r9 - bl GetHealthboxElementGfxPtr - mov r1, sp - adds r1, r5 - adds r1, 0x8 - ldrb r1, [r1] - lsls r1, 5 - adds r0, r1 - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - add r1, r8 - ldrh r1, [r1, 0x4] - lsls r1, 22 - lsrs r1, 22 - adds r2, r5, 0x2 - adds r1, r2 - lsls r1, 5 - ldr r2, _0804A18C @ =0x06010000 - adds r1, r2 - ldr r2, _0804A190 @ =0x04000008 - bl CpuSet - b _0804A1C2 - .align 2, 0 -_0804A184: .4byte gBattleSpritesDataPtr -_0804A188: .4byte gSprites -_0804A18C: .4byte 0x06010000 -_0804A190: .4byte 0x04000008 -_0804A194: - mov r0, r9 - bl GetHealthboxElementGfxPtr - mov r1, sp - adds r1, r5 - adds r1, 0x8 - ldrb r1, [r1] - lsls r1, 5 - adds r0, r1 - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - add r1, r8 - ldrh r1, [r1, 0x4] - lsls r1, 22 - lsrs r1, 22 - adds r1, r5, r1 - lsls r1, 5 - ldr r4, _0804A1D0 @ =0x06010040 - adds r1, r4 - ldr r2, _0804A1D4 @ =0x04000008 - bl CpuSet -_0804A1C2: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0804A132 - b _0804A2D6 - .align 2, 0 -_0804A1D0: .4byte 0x06010040 -_0804A1D4: .4byte 0x04000008 -_0804A1D8: - ldr r0, _0804A27C @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0xC] - lsls r5, r6, 2 - adds r3, r5, r6 - lsls r3, 2 - adds r3, r0 - ldr r0, [r3, 0x4] - ldr r1, [r3, 0x8] - ldr r2, [r3, 0xC] - adds r3, 0x10 - add r4, sp, 0x8 - str r4, [sp] - movs r4, 0x8 - str r4, [sp, 0x4] - bl sub_804A3C4 - ldr r1, _0804A280 @ =gBattlerPartyIndexes - lsls r0, r6, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0804A284 @ =gPlayerParty - adds r0, r1 - movs r1, 0x38 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - adds r7, r5, 0 - cmp r0, 0x64 - bne _0804A230 - movs r5, 0 - movs r1, 0 -_0804A21E: - mov r0, sp - adds r0, r5 - adds r0, 0x8 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0804A21E -_0804A230: - movs r5, 0 - ldr r0, _0804A288 @ =gSprites - mov r8, r0 - adds r0, r7, r6 - lsls r4, r0, 2 -_0804A23A: - cmp r5, 0x3 - bhi _0804A294 - movs r0, 0xC - bl GetHealthboxElementGfxPtr - mov r1, sp - adds r1, r5 - adds r1, 0x8 - ldrb r1, [r1] - lsls r1, 5 - adds r0, r1 - ldr r1, _0804A27C @ =gBattleSpritesDataPtr - ldr r1, [r1] - ldr r1, [r1, 0xC] - adds r1, r4, r1 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - add r1, r8 - ldrh r1, [r1, 0x4] - lsls r1, 22 - lsrs r1, 22 - adds r2, r5, 0 - adds r2, 0x24 - adds r1, r2 - lsls r1, 5 - ldr r2, _0804A28C @ =0x06010000 - adds r1, r2 - ldr r2, _0804A290 @ =0x04000008 - bl CpuSet - b _0804A2CC - .align 2, 0 -_0804A27C: .4byte gBattleSpritesDataPtr -_0804A280: .4byte gBattlerPartyIndexes -_0804A284: .4byte gPlayerParty -_0804A288: .4byte gSprites -_0804A28C: .4byte 0x06010000 -_0804A290: .4byte 0x04000008 -_0804A294: - movs r0, 0xC - bl GetHealthboxElementGfxPtr - mov r1, sp - adds r1, r5 - adds r1, 0x8 - ldrb r1, [r1] - lsls r1, 5 - adds r0, r1 - ldr r1, _0804A2E4 @ =gBattleSpritesDataPtr - ldr r1, [r1] - ldr r1, [r1, 0xC] - adds r1, r4, r1 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - add r1, r8 - ldrh r1, [r1, 0x4] - lsls r1, 22 - lsrs r1, 22 - adds r1, r5, r1 - lsls r1, 5 - ldr r2, _0804A2E8 @ =0x06010b80 - adds r1, r2 - ldr r2, _0804A2EC @ =0x04000008 - bl CpuSet -_0804A2CC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0804A23A -_0804A2D6: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804A2E4: .4byte gBattleSpritesDataPtr -_0804A2E8: .4byte 0x06010b80 -_0804A2EC: .4byte 0x04000008 - thumb_func_end sub_804A0D4 - - thumb_func_start sub_804A2F0 -sub_804A2F0: @ 804A2F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - adds r4, r1, 0 - mov r8, r2 - adds r5, r3, 0 - ldr r1, [sp, 0x18] - ldr r0, [sp, 0x1C] - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 27 - lsrs r2, r1, 24 - ldr r1, [r5] - ldr r0, _0804A31C @ =0xffff8000 - cmp r1, r0 - bne _0804A322 - cmp r7, r2 - bge _0804A320 - lsls r0, r4, 8 - str r0, [r5] - b _0804A322 - .align 2, 0 -_0804A31C: .4byte 0xffff8000 -_0804A320: - str r4, [r5] -_0804A322: - mov r0, r8 - subs r4, r0 - cmp r4, 0 - bge _0804A32E - movs r4, 0 - b _0804A334 -_0804A32E: - cmp r4, r7 - ble _0804A334 - adds r4, r7, 0 -_0804A334: - cmp r7, r2 - bge _0804A350 - ldr r0, [r5] - asrs r1, r0, 8 - adds r6, r0, 0 - cmp r4, r1 - bne _0804A35C - movs r0, 0xFF - ands r0, r6 - cmp r0, 0 - bne _0804A35C - movs r0, 0x1 - negs r0, r0 - b _0804A3B8 -_0804A350: - ldr r6, [r5] - cmp r4, r6 - bne _0804A35C - movs r0, 0x1 - negs r0, r0 - b _0804A3B8 -_0804A35C: - cmp r7, r2 - bge _0804A396 - lsls r0, r7, 8 - adds r1, r2, 0 - bl __divsi3 - mov r1, r8 - cmp r1, 0 - bge _0804A37A - adds r0, r6, r0 - str r0, [r5] - asrs r2, r0, 8 - cmp r2, r4 - blt _0804A3B6 - b _0804A38E -_0804A37A: - subs r0, r6, r0 - str r0, [r5] - asrs r2, r0, 8 - movs r1, 0xFF - ands r0, r1 - cmp r0, 0 - ble _0804A38A - adds r2, 0x1 -_0804A38A: - cmp r2, r4 - bgt _0804A3B6 -_0804A38E: - lsls r0, r4, 8 - str r0, [r5] - adds r2, r4, 0 - b _0804A3B6 -_0804A396: - mov r0, r8 - cmp r0, 0 - bge _0804A3A8 - ldr r0, [r5] - adds r0, r3 - str r0, [r5] - cmp r0, r4 - ble _0804A3B4 - b _0804A3B2 -_0804A3A8: - ldr r0, [r5] - subs r0, r3 - str r0, [r5] - cmp r0, r4 - bge _0804A3B4 -_0804A3B2: - str r4, [r5] -_0804A3B4: - ldr r2, [r5] -_0804A3B6: - adds r0, r2, 0 -_0804A3B8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_804A2F0 - - thumb_func_start sub_804A3C4 -sub_804A3C4: @ 804A3C4 - push {r4-r7,lr} - adds r4, r0, 0 - mov r12, r3 - ldr r7, [sp, 0x14] - ldr r0, [sp, 0x18] - lsls r0, 24 - lsrs r6, r0, 24 - subs r5, r1, r2 - cmp r5, 0 - bge _0804A3DC - movs r5, 0 - b _0804A3E2 -_0804A3DC: - cmp r5, r4 - ble _0804A3E2 - adds r5, r4, 0 -_0804A3E2: - lsls r0, r6, 27 - lsrs r3, r0, 24 - movs r1, 0 - cmp r1, r6 - bcs _0804A3FC - movs r2, 0 -_0804A3EE: - adds r0, r7, r1 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r6 - bcc _0804A3EE -_0804A3FC: - cmp r4, r3 - bge _0804A410 - mov r1, r12 - ldr r0, [r1] - muls r0, r3 - adds r1, r4, 0 - bl __divsi3 - asrs r0, 8 - b _0804A41C -_0804A410: - mov r1, r12 - ldr r0, [r1] - muls r0, r3 - adds r1, r4, 0 - bl __divsi3 -_0804A41C: - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - cmp r3, 0 - bne _0804A432 - cmp r5, 0 - ble _0804A432 - movs r0, 0x1 - strb r0, [r7] - movs r3, 0x1 - b _0804A456 -_0804A432: - movs r1, 0 - movs r4, 0x8 -_0804A436: - cmp r1, r6 - bcs _0804A456 - cmp r2, 0x7 - bls _0804A452 - adds r0, r7, r1 - strb r4, [r0] - adds r0, r2, 0 - subs r0, 0x8 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - b _0804A436 -_0804A452: - adds r0, r7, r1 - strb r2, [r0] -_0804A456: - adds r0, r3, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_804A3C4 - - thumb_func_start sub_804A460 -sub_804A460: @ 804A460 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x8 - mov r9, r0 - mov r10, r1 - adds r6, r2, 0 - mov r8, r3 - ldr r5, [sp, 0x24] - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r5, 24 - lsrs r5, 24 - mov r1, r9 - ldr r0, [r1] - ldr r1, [r1, 0x4] - mov r3, r9 - ldr r2, [r3, 0x8] - movs r3, 0x6 - str r3, [sp] - movs r3, 0x1 - str r3, [sp, 0x4] - mov r3, r10 - bl sub_804A2F0 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - str r5, [sp] - mov r0, r9 - mov r1, r10 - adds r2, r6, 0 - mov r3, r8 - bl sub_804A510 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_804A460 - - thumb_func_start sub_804A4C8 -sub_804A4C8: @ 804A4C8 - push {r4,lr} - sub sp, 0x8 - adds r3, r1, 0 - ldr r4, [r0] - ldr r1, [r0, 0x4] - ldr r2, [r0, 0x8] - movs r0, 0x6 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - adds r0, r4, 0 - bl sub_804A2F0 - lsls r0, 16 - asrs r0, 16 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_804A4C8 - - thumb_func_start sub_804A4F0 -sub_804A4F0: @ 804A4F0 - push {r4,lr} - sub sp, 0x4 - ldr r4, [sp, 0xC] - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - bl sub_804A510 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804A4F0 - - thumb_func_start sub_804A510 -sub_804A510: @ 804A510 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [sp, 0x40] - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, [r4] - ldr r1, [r4, 0x4] - ldr r2, [r4, 0x8] - add r3, sp, 0xC - str r3, [sp] - movs r3, 0x6 - str r3, [sp, 0x4] - adds r3, r5, 0 - bl sub_804A3C4 - movs r3, 0 - add r6, sp, 0x14 - adds r7, r6, 0 - ldrb r0, [r4, 0xC] - lsls r5, r0, 27 - ldr r4, [r4, 0x10] -_0804A554: - lsls r2, r3, 1 - adds r2, r7, r2 - lsrs r1, r5, 15 - mov r0, sp - adds r0, r3 - adds r0, 0xC - ldrb r0, [r0] - adds r0, r4, r0 - orrs r1, r0 - strh r1, [r2] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x5 - bls _0804A554 - movs r0, 0x6 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - mov r0, r9 - adds r1, r6, 0 - mov r2, r10 - mov r3, r8 - bl CopyToBgTilemapBufferRect_ChangePalette - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804A510 - - thumb_func_start GetScaledExpFraction -GetScaledExpFraction: @ 804A59C - push {r4-r7,lr} - adds r6, r2, 0 - lsls r3, 27 - lsrs r7, r3, 24 - subs r5, r0, r1 - cmp r5, 0 - bge _0804A5AE - movs r5, 0 - b _0804A5B4 -_0804A5AE: - cmp r5, r6 - ble _0804A5B4 - adds r5, r6, 0 -_0804A5B4: - muls r0, r7 - adds r1, r6, 0 - bl __divsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - muls r0, r7 - adds r1, r6, 0 - bl __divsi3 - lsls r4, 24 - asrs r4, 24 - lsls r0, 24 - asrs r0, 24 - subs r0, r4, r0 - cmp r0, 0 - bge _0804A5DC - negs r0, r0 -_0804A5DC: - lsls r0, 24 - lsrs r0, 24 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetScaledExpFraction - - thumb_func_start GetScaledHPFraction -GetScaledHPFraction: @ 804A5E8 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - lsls r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - muls r0, r2 - lsls r1, 16 - asrs r1, 16 - bl __divsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0804A60C - cmp r4, 0 - ble _0804A60C - movs r0, 0x1 -_0804A60C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetScaledHPFraction - - thumb_func_start GetHPBarLevel -GetHPBarLevel: @ 804A614 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bne _0804A626 - movs r0, 0x4 - b _0804A642 -_0804A626: - movs r2, 0x30 - bl GetScaledHPFraction - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x3 - cmp r1, 0x18 - bhi _0804A642 - movs r0, 0x2 - cmp r1, 0x9 - bhi _0804A642 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 -_0804A642: - pop {r1} - bx r1 - thumb_func_end GetHPBarLevel - - thumb_func_start AddTextPrinterAndCreateWindowOnHealthbox -AddTextPrinterAndCreateWindowOnHealthbox: @ 804A648 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x20 - mov r9, r0 - adds r6, r1, 0 - mov r8, r2 - mov r10, r3 - ldr r0, _0804A6D4 @ =gUnknown_8260564 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - add r0, sp, 0x18 - bl AddWindow - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, r4, 24 - lsrs r5, 24 - adds r0, r5, 0 - movs r1, 0x22 - bl FillWindowPixelBuffer - add r1, sp, 0x14 - movs r2, 0 - movs r0, 0x2 - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r0, 0x3 - strb r0, [r1, 0x2] - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - str r2, [sp] - str r2, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0xC] - mov r0, r9 - str r0, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0 - adds r2, r6, 0 - mov r3, r8 - bl AddTextPrinterParameterized4 - mov r0, r10 - str r4, [r0] - adds r0, r5, 0 - movs r1, 0x7 - bl GetWindowAttribute - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0804A6D4: .4byte gUnknown_8260564 - thumb_func_end AddTextPrinterAndCreateWindowOnHealthbox - - thumb_func_start sub_804A6D8 -sub_804A6D8: @ 804A6D8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - pop {r0} - bx r0 - thumb_func_end sub_804A6D8 - - thumb_func_start sub_804A6E8 -sub_804A6E8: @ 804A6E8 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - movs r1, 0x80 - lsls r1, 1 - adds r0, r5, r1 - adds r1, r6, r1 - lsls r2, r4, 3 - ldr r3, _0804A72C @ =0x001fffff - ands r2, r3 - movs r3, 0x80 - lsls r3, 19 - orrs r2, r3 - bl CpuSet - cmp r4, 0 - ble _0804A724 -_0804A70C: - adds r0, r5, 0 - adds r0, 0x14 - adds r1, r6, 0 - adds r1, 0x14 - ldr r2, _0804A730 @ =0x04000003 - bl CpuSet - adds r6, 0x20 - adds r5, 0x20 - subs r4, 0x1 - cmp r4, 0 - bne _0804A70C -_0804A724: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804A72C: .4byte 0x001fffff -_0804A730: .4byte 0x04000003 - thumb_func_end sub_804A6E8 - - thumb_func_start sub_804A734 -sub_804A734: @ 804A734 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - lsls r4, r2, 3 - ldr r0, _0804A768 @ =0x001fffff - ands r4, r0 - movs r0, 0x80 - lsls r0, 19 - orrs r4, r0 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl CpuSet - movs r0, 0x80 - lsls r0, 1 - adds r5, r0 - adds r6, r0 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl CpuSet - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804A768: .4byte 0x001fffff - thumb_func_end sub_804A734 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/crt0.s b/asm/crt0.s index 609845337..8530a76f5 100644 --- a/asm/crt0.s +++ b/asm/crt0.s @@ -1,4 +1,6 @@ .include "constants/gba_constants.inc" + .include "constants/misc_constants.inc" + .include "constants/version.inc" .syntax unified @@ -8,8 +10,8 @@ .arm -Start: @ 8000000 - b Init +_start: @ 8000000 + b start_vector .include "asm/rom_header.inc" @@ -32,8 +34,6 @@ GPIOPortReadEnable: @ 80000C8 @ 80000D0 -@ TODO: figure out what this data is - .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF @@ -46,19 +46,21 @@ GPIOPortReadEnable: @ 80000C8 .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF + +@ 8000100 + .global CartIdent +CartIdent: + .4byte GAME_VERSION + .4byte GAME_LANGUAGE +.game_name: .ifdef FIRERED - .4byte 4 - .4byte 2 .ascii "pokemon red version" - .space 13 .else .ifdef LEAFGREEN - .4byte 5 - .4byte 2 .ascii "pokemon green version" - .space 11 .endif .endif + .space .game_name+0x20-. .4byte gMonFrontPicTable .4byte gMonBackPicTable .4byte gMonPaletteTable @@ -118,32 +120,32 @@ GPIOPortReadEnable: @ 80000C8 .arm .align 2, 0 - .global Init -Init: + .global start_vector +start_vector: mov r0, PSR_IRQ_MODE msr cpsr_cf, r0 ldr sp, sp_irq mov r0, PSR_SYS_MODE msr cpsr_cf, r0 - ldr sp, sp_sys + ldr sp, sp_usr ldr r1, =INTR_VECTOR - adr r0, IntrMain + adr r0, intr_main str r0, [r1] ldr r1, =AgbMain mov lr, pc bx r1 - b Init + b start_vector .align 2, 0 -sp_sys: .word IWRAM_END - 0x1C0 +sp_usr: .word IWRAM_END - 0x1C0 sp_irq: .word IWRAM_END - 0x60 .pool .arm .align 2, 0 - .global IntrMain -IntrMain: + .global intr_main +intr_main: mov r3, REG_BASE add r3, r3, 0x200 ldr r2, [r3, OFFSET_REG_IE - 0x200] @@ -155,56 +157,57 @@ IntrMain: and r1, r2, r2, lsr 16 mov r12, 0 ands r0, r1, INTR_FLAG_VCOUNT - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 mov r0, 0x1 strh r0, [r3, OFFSET_REG_IME - 0x200] ands r0, r1, INTR_FLAG_SERIAL - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_TIMER3 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_HBLANK - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_VBLANK - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_TIMER0 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_TIMER1 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_TIMER2 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_DMA0 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_DMA1 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_DMA2 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_DMA3 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_KEYPAD - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_GAMEPAK strbne r0, [r3, OFFSET_REG_SOUNDCNT_X - 0x200] - bne . @ spin -IntrMain_FoundIntr: +loop: + bne loop @ spin +jump_intr: strh r0, [r3, OFFSET_REG_IF - 0x200] bic r2, r2, r0 - ldr r0, =gRfuState + ldr r0, =gSTWIStatus ldr r0, [r0] ldrb r0, [r0, 0xA] - mov r1, 0x8 + mov r1, INTR_FLAG_TIMER0 mov r0, r1, lsl r0 orr r0, r0, INTR_FLAG_GAMEPAK orr r1, r0, INTR_FLAG_SERIAL | INTR_FLAG_TIMER3 | INTR_FLAG_VCOUNT | INTR_FLAG_HBLANK @@ -218,9 +221,9 @@ IntrMain_FoundIntr: add r1, r1, r12 ldr r0, [r1] stmdb sp!, {lr} - adr lr, IntrMain_RetAddr + adr lr, intr_return bx r0 -IntrMain_RetAddr: +intr_return: ldmia sp!, {lr} mrs r3, cpsr bic r3, r3, PSR_I_BIT | PSR_F_BIT | PSR_MODE_MASK diff --git a/asm/librfu.s b/asm/librfu.s deleted file mode 100644 index 03bf3eeb8..000000000 --- a/asm/librfu.s +++ /dev/null @@ -1,6697 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_81E05B0 -sub_81E05B0: @ 81E05B0 - push {r4-r7,lr} - adds r4, r0, 0 - mov r12, r2 - lsls r1, 16 - lsrs r2, r1, 16 - lsls r3, 24 - lsrs r7, r3, 24 - movs r0, 0xF0 - lsls r0, 20 - ands r0, r4 - movs r1, 0x80 - lsls r1, 18 - cmp r0, r1 - bne _081E05D0 - cmp r7, 0 - bne _081E05D8 -_081E05D0: - movs r0, 0x3 - ands r0, r4 - cmp r0, 0 - beq _081E05DC -_081E05D8: - movs r0, 0x2 - b _081E06C6 -_081E05DC: - cmp r7, 0 - beq _081E05E8 - ldr r3, _081E05E4 @ =0x00000e64 - b _081E05EA - .align 2, 0 -_081E05E4: .4byte 0x00000e64 -_081E05E8: - ldr r3, _081E05F4 @ =0x00000504 -_081E05EA: - cmp r2, r3 - bcs _081E05F8 - movs r0, 0x1 - b _081E06C6 - .align 2, 0 -_081E05F4: .4byte 0x00000504 -_081E05F8: - ldr r0, _081E06CC @ =gUnknown_3007460 - str r4, [r0] - ldr r1, _081E06D0 @ =gUnknown_3007464 - adds r0, r4, 0 - adds r0, 0xB4 - str r0, [r1] - ldr r1, _081E06D4 @ =gUnknown_3007468 - adds r0, 0x28 - str r0, [r1] - ldr r2, _081E06D8 @ =gUnknown_3007450 - movs r1, 0xDE - lsls r1, 1 - adds r0, r4, r1 - str r0, [r2] - ldr r1, _081E06DC @ =gUnknown_3007440 - movs r3, 0xDF - lsls r3, 2 - adds r0, r4, r3 - str r0, [r1] - movs r5, 0x1 - adds r6, r2, 0 - adds r4, r1, 0 -_081E0624: - lsls r2, r5, 2 - adds r3, r2, r6 - subs r1, r5, 0x1 - lsls r1, 2 - adds r0, r1, r6 - ldr r0, [r0] - adds r0, 0x70 - str r0, [r3] - adds r2, r4 - adds r1, r4 - ldr r0, [r1] - adds r0, 0x1C - str r0, [r2] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _081E0624 - ldr r0, _081E06D4 @ =gUnknown_3007468 - ldr r1, [r0] - adds r1, 0xDC - ldr r4, _081E06DC @ =gUnknown_3007440 - ldr r0, [r4, 0xC] - adds r0, 0x1C - str r0, [r1] - mov r1, r12 - adds r2, r7, 0 - bl STWI_init_all - bl rfu_STC_clearAPIVariables - movs r5, 0 - ldr r3, _081E06D8 @ =gUnknown_3007450 - movs r2, 0 -_081E0668: - lsls r1, r5, 2 - adds r0, r1, r3 - ldr r0, [r0] - str r2, [r0, 0x68] - str r2, [r0, 0x6C] - adds r1, r4 - ldr r0, [r1] - str r2, [r0, 0x14] - str r2, [r0, 0x18] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _081E0668 - ldr r1, _081E06E0 @ =sub_81E1B24 - movs r5, 0x2 - negs r5, r5 - ands r5, r1 - ldr r2, _081E06D4 @ =gUnknown_3007468 - ldr r0, [r2] - adds r4, r0, 0 - adds r4, 0x8 - ldr r0, _081E06E4 @ =rfu_REQ_changeMasterSlave - subs r0, r1 - lsls r0, 15 - lsrs r3, r0, 16 - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _081E06E8 @ =0x0000ffff - cmp r3, r0 - beq _081E06BC - adds r6, r0, 0 -_081E06AA: - ldrh r0, [r5] - strh r0, [r4] - adds r5, 0x2 - adds r4, 0x2 - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r6 - bne _081E06AA -_081E06BC: - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x9 - str r0, [r1, 0x4] - movs r0, 0 -_081E06C6: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081E06CC: .4byte gUnknown_3007460 -_081E06D0: .4byte gUnknown_3007464 -_081E06D4: .4byte gUnknown_3007468 -_081E06D8: .4byte gUnknown_3007450 -_081E06DC: .4byte gUnknown_3007440 -_081E06E0: .4byte sub_81E1B24 -_081E06E4: .4byte rfu_REQ_changeMasterSlave -_081E06E8: .4byte 0x0000ffff - thumb_func_end sub_81E05B0 - - thumb_func_start rfu_STC_clearAPIVariables -rfu_STC_clearAPIVariables: @ 81E06EC - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, _081E0760 @ =0x04000208 - ldrh r0, [r1] - adds r7, r0, 0 - movs r6, 0 - strh r6, [r1] - ldr r5, _081E0764 @ =gUnknown_3007464 - ldr r1, [r5] - ldrb r4, [r1] - mov r0, sp - strh r6, [r0] - ldr r2, _081E0768 @ =0x01000014 - bl CpuSet - ldr r2, [r5] - movs r0, 0x8 - ands r4, r0 - movs r1, 0 - strb r4, [r2] - mov r0, sp - adds r0, 0x2 - strh r1, [r0] - ldr r4, _081E076C @ =gUnknown_3007460 - ldr r1, [r4] - ldr r2, _081E0770 @ =0x0100005a - bl CpuSet - ldr r1, [r4] - movs r0, 0x4 - strb r0, [r1, 0x9] - ldr r0, [r5] - strb r6, [r0, 0x6] - ldr r1, [r4] - movs r0, 0xFF - strb r0, [r1] - bl rfu_clearAllSlot - ldr r0, [r5] - strb r6, [r0, 0x9] - movs r2, 0 - movs r3, 0 -_081E0740: - ldr r0, [r5] - lsls r1, r2, 1 - adds r0, 0x12 - adds r0, r1 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _081E0740 - ldr r0, _081E0760 @ =0x04000208 - strh r7, [r0] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E0760: .4byte 0x04000208 -_081E0764: .4byte gUnknown_3007464 -_081E0768: .4byte 0x01000014 -_081E076C: .4byte gUnknown_3007460 -_081E0770: .4byte 0x0100005a - thumb_func_end rfu_STC_clearAPIVariables - - thumb_func_start rfu_REQ_PARENT_resumeRetransmitAndChange -rfu_REQ_PARENT_resumeRetransmitAndChange: @ 81E0774 - push {lr} - ldr r0, _081E0784 @ =rfu_STC_REQ_callback - bl STWI_set_Callback_M - bl STWI_send_ResumeRetransmitAndChangeREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0784: .4byte rfu_STC_REQ_callback - thumb_func_end rfu_REQ_PARENT_resumeRetransmitAndChange - - thumb_func_start rfu_UNI_PARENT_getDRAC_ACK -rfu_UNI_PARENT_getDRAC_ACK: @ 81E0788 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0 - strb r0, [r4] - ldr r5, _081E07A0 @ =gUnknown_3007460 - ldr r0, [r5] - ldrb r0, [r0] - cmp r0, 0x1 - beq _081E07A4 - movs r0, 0xC0 - lsls r0, 2 - b _081E07CA - .align 2, 0 -_081E07A0: .4byte gUnknown_3007460 -_081E07A4: - bl rfu_getSTWIRecvBuffer - adds r1, r0, 0 - ldrb r0, [r1] - cmp r0, 0x28 - beq _081E07B4 - cmp r0, 0x36 - bne _081E07C8 -_081E07B4: - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _081E07C0 - ldr r0, [r5] - ldrb r0, [r0, 0x2] - b _081E07C2 -_081E07C0: - ldrb r0, [r1, 0x4] -_081E07C2: - strb r0, [r4] - movs r0, 0 - b _081E07CA -_081E07C8: - movs r0, 0x10 -_081E07CA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end rfu_UNI_PARENT_getDRAC_ACK - - thumb_func_start rfu_setTimerInterrupt -rfu_setTimerInterrupt: @ 81E07D0 - push {lr} - adds r2, r0, 0 - adds r0, r1, 0 - lsls r2, 24 - lsrs r2, 24 - adds r1, r2, 0 - bl STWI_init_timer - pop {r0} - bx r0 - thumb_func_end rfu_setTimerInterrupt - - thumb_func_start rfu_getSTWIRecvBuffer -rfu_getSTWIRecvBuffer: @ 81E07E4 - ldr r0, _081E07F0 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r0, [r0] - bx lr - .align 2, 0 -_081E07F0: .4byte gUnknown_3007468 - thumb_func_end rfu_getSTWIRecvBuffer - - thumb_func_start rfu_setMSCCallback -rfu_setMSCCallback: @ 81E07F4 - push {lr} - bl STWI_set_Callback_S - pop {r0} - bx r0 - thumb_func_end rfu_setMSCCallback - - thumb_func_start rfu_setREQCallback -rfu_setREQCallback: @ 81E0800 - push {lr} - adds r1, r0, 0 - ldr r0, _081E0818 @ =gUnknown_3007468 - ldr r0, [r0] - str r1, [r0] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bl rfu_enableREQCallback - pop {r0} - bx r0 - .align 2, 0 -_081E0818: .4byte gUnknown_3007468 - thumb_func_end rfu_setREQCallback - - thumb_func_start rfu_enableREQCallback -rfu_enableREQCallback: @ 81E081C - push {lr} - lsls r0, 24 - cmp r0, 0 - beq _081E0834 - ldr r0, _081E0830 @ =gUnknown_3007464 - ldr r2, [r0] - ldrb r1, [r2] - movs r0, 0x8 - orrs r0, r1 - b _081E083E - .align 2, 0 -_081E0830: .4byte gUnknown_3007464 -_081E0834: - ldr r0, _081E0844 @ =gUnknown_3007464 - ldr r2, [r0] - ldrb r1, [r2] - movs r0, 0xF7 - ands r0, r1 -_081E083E: - strb r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_081E0844: .4byte gUnknown_3007464 - thumb_func_end rfu_enableREQCallback - - thumb_func_start rfu_STC_REQ_callback -rfu_STC_REQ_callback: @ 81E0848 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r0, _081E087C @ =rfu_CB_defaultCallback - bl STWI_set_Callback_M - ldr r0, _081E0880 @ =gUnknown_3007464 - ldr r0, [r0] - strh r4, [r0, 0x1C] - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _081E0876 - ldr r0, _081E0884 @ =gUnknown_3007468 - ldr r0, [r0] - ldr r2, [r0] - adds r0, r5, 0 - adds r1, r4, 0 - bl _call_via_r2 -_081E0876: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081E087C: .4byte rfu_CB_defaultCallback -_081E0880: .4byte gUnknown_3007464 -_081E0884: .4byte gUnknown_3007468 - thumb_func_end rfu_STC_REQ_callback - - thumb_func_start rfu_CB_defaultCallback -rfu_CB_defaultCallback: @ 81E0888 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - cmp r0, 0xFF - bne _081E08E4 - ldr r0, _081E08EC @ =gUnknown_3007464 - ldr r0, [r0] - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _081E08B2 - ldr r0, _081E08F0 @ =gUnknown_3007468 - ldr r0, [r0] - ldr r2, [r0] - movs r0, 0xFF - adds r1, r3, 0 - bl _call_via_r2 -_081E08B2: - ldr r0, _081E08F4 @ =gUnknown_3007460 - ldr r0, [r0] - ldrb r1, [r0, 0x2] - ldrb r0, [r0, 0x3] - adds r5, r0, 0 - orrs r5, r1 - movs r4, 0 -_081E08C0: - adds r0, r5, 0 - asrs r0, r4 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081E08D2 - adds r0, r4, 0 - bl rfu_STC_removeLinkData -_081E08D2: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081E08C0 - ldr r0, _081E08F4 @ =gUnknown_3007460 - ldr r1, [r0] - movs r0, 0xFF - strb r0, [r1] -_081E08E4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081E08EC: .4byte gUnknown_3007464 -_081E08F0: .4byte gUnknown_3007468 -_081E08F4: .4byte gUnknown_3007460 - thumb_func_end rfu_CB_defaultCallback - - thumb_func_start rfu_waitREQComplete -rfu_waitREQComplete: @ 81E08F8 - push {lr} - bl STWI_poll_CommandEnd - ldr r0, _081E0908 @ =gUnknown_3007464 - ldr r0, [r0] - ldrh r0, [r0, 0x1C] - pop {r1} - bx r1 - .align 2, 0 -_081E0908: .4byte gUnknown_3007464 - thumb_func_end rfu_waitREQComplete - - thumb_func_start rfu_REQ_RFUStatus -rfu_REQ_RFUStatus: @ 81E090C - push {lr} - ldr r0, _081E091C @ =rfu_STC_REQ_callback - bl STWI_set_Callback_M - bl STWI_send_SystemStatusREQ - pop {r0} - bx r0 - .align 2, 0 -_081E091C: .4byte rfu_STC_REQ_callback - thumb_func_end rfu_REQ_RFUStatus - - thumb_func_start rfu_getRFUStatus -rfu_getRFUStatus: @ 81E0920 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _081E0938 @ =gUnknown_3007468 - ldr r0, [r5] - adds r0, 0xDC - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x93 - beq _081E093C - movs r0, 0x10 - b _081E0956 - .align 2, 0 -_081E0938: .4byte gUnknown_3007468 -_081E093C: - bl STWI_poll_CommandEnd - lsls r0, 16 - cmp r0, 0 - bne _081E0950 - ldr r0, [r5] - adds r0, 0xDC - ldr r0, [r0] - ldrb r0, [r0, 0x7] - b _081E0952 -_081E0950: - movs r0, 0xFF -_081E0952: - strb r0, [r4] - movs r0, 0 -_081E0956: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end rfu_getRFUStatus - - thumb_func_start sub_81E095C -sub_81E095C: @ 81E095C - push {lr} - ldr r2, _081E0964 @ =_Str_RFU_MBOOT - ldr r3, _081E0968 @ =0x30000F0 - b _081E0976 - .align 2, 0 -_081E0964: .4byte _Str_RFU_MBOOT -_081E0968: .4byte 0x30000F0 -_081E096C: - ldrb r0, [r3] - adds r3, 0x1 - adds r2, 0x1 - cmp r1, r0 - bne _081E09CC -_081E0976: - ldrb r1, [r2] - cmp r1, 0 - bne _081E096C - movs r2, 0xC0 - lsls r2, 18 - movs r3, 0 - movs r1, 0 -_081E0984: - ldrh r0, [r2] - adds r0, r3, r0 - lsls r0, 16 - lsrs r3, r0, 16 - adds r2, 0x2 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x59 - bls _081E0984 - ldr r0, _081E09C0 @ =0x30000FA - ldrh r0, [r0] - cmp r3, r0 - bne _081E09CC - movs r0, 0xC0 - lsls r0, 18 - ldr r1, _081E09C4 @ =gUnknown_3007460 - ldr r1, [r1] - movs r2, 0x5A - bl CpuSet - ldr r0, _081E09C8 @ =gUnknown_3007464 - ldr r2, [r0] - ldrb r1, [r2] - movs r0, 0x80 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - b _081E09CE - .align 2, 0 -_081E09C0: .4byte 0x30000FA -_081E09C4: .4byte gUnknown_3007460 -_081E09C8: .4byte gUnknown_3007464 -_081E09CC: - movs r0, 0x1 -_081E09CE: - pop {r1} - bx r1 - thumb_func_end sub_81E095C - - thumb_func_start rfu_REQ_stopMode -rfu_REQ_stopMode: @ 81E09D4 - push {lr} - ldr r0, _081E09F4 @ =0x04000208 - ldrh r0, [r0] - cmp r0, 0 - bne _081E09FC - movs r0, 0x3D - movs r1, 0x6 - bl rfu_STC_REQ_callback - ldr r0, _081E09F8 @ =gRfuState - ldr r1, [r0] - ldrh r0, [r1, 0x12] - movs r0, 0x6 - strh r0, [r1, 0x12] - b _081E0A72 - .align 2, 0 -_081E09F4: .4byte 0x04000208 -_081E09F8: .4byte gRfuState -_081E09FC: - bl AgbRFU_SoftReset - bl rfu_STC_clearAPIVariables - movs r0, 0x8 - bl sub_81E349C - ldr r1, _081E0A4C @ =0x00008001 - cmp r0, r1 - bne _081E0A60 - ldr r0, _081E0A50 @ =gRfuState - ldr r0, [r0] - ldrb r0, [r0, 0xA] - lsls r0, 2 - ldr r2, _081E0A54 @ =0x04000100 - adds r1, r0, r2 - movs r0, 0 - str r0, [r1] - movs r0, 0x83 - lsls r0, 16 - str r0, [r1] - ldr r0, [r1] - lsls r0, 16 - ldr r2, _081E0A58 @ =0x0105ffff - ldr r3, _081E0A5C @ =rfu_CB_stopMode - cmp r0, r2 - bhi _081E0A3A -_081E0A32: - ldr r0, [r1] - lsls r0, 16 - cmp r0, r2 - bls _081E0A32 -_081E0A3A: - movs r0, 0 - str r0, [r1] - adds r0, r3, 0 - bl STWI_set_Callback_M - bl STWI_send_StopModeREQ - b _081E0A72 - .align 2, 0 -_081E0A4C: .4byte 0x00008001 -_081E0A50: .4byte gRfuState -_081E0A54: .4byte 0x04000100 -_081E0A58: .4byte 0x0105ffff -_081E0A5C: .4byte rfu_CB_stopMode -_081E0A60: - ldr r1, _081E0A78 @ =0x04000128 - movs r2, 0x80 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0x3D - movs r1, 0 - bl rfu_STC_REQ_callback -_081E0A72: - pop {r0} - bx r0 - .align 2, 0 -_081E0A78: .4byte 0x04000128 - thumb_func_end rfu_REQ_stopMode - - thumb_func_start rfu_CB_stopMode -rfu_CB_stopMode: @ 81E0A7C - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r1, 16 - adds r2, r1, 0 - cmp r2, 0 - bne _081E0A96 - ldr r1, _081E0AA4 @ =0x04000128 - movs r4, 0x80 - lsls r4, 6 - adds r0, r4, 0 - strh r0, [r1] -_081E0A96: - adds r0, r3, 0 - adds r1, r2, 0 - bl rfu_STC_REQ_callback - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081E0AA4: .4byte 0x04000128 - thumb_func_end rfu_CB_stopMode - - thumb_func_start rfu_REQBN_softReset_and_checkID -rfu_REQBN_softReset_and_checkID: @ 81E0AA8 - push {lr} - ldr r0, _081E0AB8 @ =0x04000208 - ldrh r0, [r0] - cmp r0, 0 - bne _081E0ABC - movs r0, 0x1 - negs r0, r0 - b _081E0ADC - .align 2, 0 -_081E0AB8: .4byte 0x04000208 -_081E0ABC: - bl AgbRFU_SoftReset - bl rfu_STC_clearAPIVariables - movs r0, 0x1E - bl sub_81E349C - adds r2, r0, 0 - cmp r2, 0 - bne _081E0ADA - ldr r1, _081E0AE0 @ =0x04000128 - movs r3, 0x80 - lsls r3, 6 - adds r0, r3, 0 - strh r0, [r1] -_081E0ADA: - adds r0, r2, 0 -_081E0ADC: - pop {r1} - bx r1 - .align 2, 0 -_081E0AE0: .4byte 0x04000128 - thumb_func_end rfu_REQBN_softReset_and_checkID - - thumb_func_start rfu_REQ_reset -rfu_REQ_reset: @ 81E0AE4 - push {lr} - ldr r0, _081E0AF4 @ =rfu_CB_reset - bl STWI_set_Callback_M - bl STWI_send_ResetREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0AF4: .4byte rfu_CB_reset - thumb_func_end rfu_REQ_reset - - thumb_func_start rfu_CB_reset -rfu_CB_reset: @ 81E0AF8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r1, 16 - adds r4, r1, 0 - cmp r4, 0 - bne _081E0B0C - bl rfu_STC_clearAPIVariables -_081E0B0C: - adds r0, r5, 0 - adds r1, r4, 0 - bl rfu_STC_REQ_callback - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end rfu_CB_reset - - thumb_func_start rfu_REQ_configSystem -rfu_REQ_configSystem: @ 81E0B1C - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, _081E0B54 @ =rfu_STC_REQ_callback - bl STWI_set_Callback_M - movs r0, 0x3 - ands r4, r0 - movs r0, 0x3C - orrs r4, r0 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl STWI_send_SystemConfigREQ - cmp r6, 0 - bne _081E0B5C - ldr r0, _081E0B58 @ =gUnknown_3007464 - ldr r1, [r0] - movs r0, 0x1 - strh r0, [r1, 0x1A] - b _081E0B76 - .align 2, 0 -_081E0B54: .4byte rfu_STC_REQ_callback -_081E0B58: .4byte gUnknown_3007464 -_081E0B5C: - ldr r5, _081E0B7C @ =0x04000208 - ldrh r4, [r5] - movs r0, 0 - strh r0, [r5] - movs r0, 0x96 - lsls r0, 2 - adds r1, r6, 0 - bl Div - ldr r1, _081E0B80 @ =gUnknown_3007464 - ldr r1, [r1] - strh r0, [r1, 0x1A] - strh r4, [r5] -_081E0B76: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081E0B7C: .4byte 0x04000208 -_081E0B80: .4byte gUnknown_3007464 - thumb_func_end rfu_REQ_configSystem - - thumb_func_start rfu_REQ_configGameData -rfu_REQ_configGameData: @ 81E0B84 - push {r4-r7,lr} - sub sp, 0x10 - adds r4, r2, 0 - adds r7, r3, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, r1, 16 - adds r5, r4, 0 - mov r0, sp - strb r1, [r0] - lsrs r2, 24 - strb r2, [r0, 0x1] - cmp r6, 0 - beq _081E0BAA - movs r1, 0x80 - orrs r2, r1 - movs r1, 0 - orrs r2, r1 - strb r2, [r0, 0x1] -_081E0BAA: - movs r2, 0x2 - ldr r0, _081E0C0C @ =rfu_CB_configGameData - mov r12, r0 -_081E0BB0: - mov r3, sp - adds r1, r3, r2 - ldrb r0, [r4] - strb r0, [r1] - adds r4, 0x1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xE - bls _081E0BB0 - movs r3, 0 - adds r1, r7, 0 - movs r2, 0 -_081E0BCA: - ldrb r0, [r1] - adds r0, r3, r0 - lsls r0, 24 - adds r1, 0x1 - lsrs r0, 24 - ldrb r3, [r5] - adds r0, r3 - lsls r0, 24 - lsrs r3, r0, 24 - adds r5, 0x1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _081E0BCA - mov r1, sp - mvns r0, r3 - strb r0, [r1, 0xF] - cmp r6, 0 - beq _081E0BF6 - movs r0, 0 - strb r0, [r1, 0xE] -_081E0BF6: - mov r0, r12 - bl STWI_set_Callback_M - mov r0, sp - adds r1, r7, 0 - bl STWI_send_GameConfigREQ - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E0C0C: .4byte rfu_CB_configGameData - thumb_func_end rfu_REQ_configGameData - - thumb_func_start rfu_CB_configGameData -rfu_CB_configGameData: @ 81E0C10 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r1, 16 - lsrs r7, r1, 16 - cmp r7, 0 - bne _081E0C9A - ldr r0, _081E0C54 @ =gRfuState - ldr r0, [r0] - ldr r1, [r0, 0x24] - ldr r0, _081E0C58 @ =gUnknown_3007460 - ldr r6, [r0] - ldrb r2, [r1, 0x4] - adds r5, r6, 0 - adds r5, 0x98 - strh r2, [r5] - ldrb r0, [r1, 0x5] - lsls r3, r0, 8 - orrs r3, r2 - strh r3, [r5] - adds r4, r1, 0x6 - movs r1, 0x80 - lsls r1, 8 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _081E0C5C - eors r3, r1 - strh r3, [r5] - adds r1, r6, 0 - adds r1, 0x97 - movs r0, 0x1 - b _081E0C62 - .align 2, 0 -_081E0C54: .4byte gRfuState -_081E0C58: .4byte gUnknown_3007460 -_081E0C5C: - adds r1, r6, 0 - adds r1, 0x97 - movs r0, 0 -_081E0C62: - strb r0, [r1] - movs r2, 0 - ldr r3, _081E0CA8 @ =gUnknown_3007460 -_081E0C68: - ldr r0, [r3] - adds r0, 0x9A - adds r0, r2 - ldrb r1, [r4] - strb r1, [r0] - adds r4, 0x1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xC - bls _081E0C68 - adds r4, 0x1 - movs r2, 0 - ldr r3, _081E0CA8 @ =gUnknown_3007460 -_081E0C84: - ldr r0, [r3] - adds r0, 0xA9 - adds r0, r2 - ldrb r1, [r4] - strb r1, [r0] - adds r4, 0x1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _081E0C84 -_081E0C9A: - mov r0, r12 - adds r1, r7, 0 - bl rfu_STC_REQ_callback - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E0CA8: .4byte gUnknown_3007460 - thumb_func_end rfu_CB_configGameData - - thumb_func_start sub_81E0CAC -sub_81E0CAC: @ 81E0CAC - push {lr} - ldr r0, _081E0CDC @ =rfu_CB_defaultCallback - bl STWI_set_Callback_M - bl STWI_send_SystemStatusREQ - bl STWI_poll_CommandEnd - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081E0CE4 - ldr r0, _081E0CE0 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r0, [r0] - ldrb r0, [r0, 0x7] - cmp r0, 0 - bne _081E0CEA - movs r0, 0x1 - bl rfu_STC_clearLinkStatus - b _081E0CEA - .align 2, 0 -_081E0CDC: .4byte rfu_CB_defaultCallback -_081E0CE0: .4byte gUnknown_3007468 -_081E0CE4: - movs r0, 0x19 - bl rfu_STC_REQ_callback -_081E0CEA: - ldr r0, _081E0CF8 @ =rfu_CB_startSearchChild - bl STWI_set_Callback_M - bl STWI_send_SC_StartREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0CF8: .4byte rfu_CB_startSearchChild - thumb_func_end sub_81E0CAC - - thumb_func_start rfu_CB_startSearchChild -rfu_CB_startSearchChild: @ 81E0CFC - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r1, 16 - adds r2, r1, 0 - cmp r2, 0 - bne _081E0D14 - ldr r0, _081E0D20 @ =gUnknown_3007464 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x9] -_081E0D14: - adds r0, r3, 0 - adds r1, r2, 0 - bl rfu_STC_REQ_callback - pop {r0} - bx r0 - .align 2, 0 -_081E0D20: .4byte gUnknown_3007464 - thumb_func_end rfu_CB_startSearchChild - - thumb_func_start rfu_STC_clearLinkStatus -rfu_STC_clearLinkStatus: @ 81E0D24 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl rfu_clearAllSlot - cmp r4, 0 - beq _081E0D4C - mov r0, sp - movs r5, 0 - strh r5, [r0] - ldr r4, _081E0D80 @ =gUnknown_3007460 - ldr r1, [r4] - adds r1, 0x14 - ldr r2, _081E0D84 @ =0x01000040 - bl CpuSet - ldr r0, [r4] - strb r5, [r0, 0x8] -_081E0D4C: - movs r1, 0 - ldr r2, _081E0D80 @ =gUnknown_3007460 - adds r4, r2, 0 - movs r3, 0 -_081E0D54: - ldr r0, [r4] - adds r0, 0xA - adds r0, r1 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _081E0D54 - ldr r0, [r2] - movs r1, 0 - strb r1, [r0, 0x1] - ldr r0, [r2] - strb r1, [r0, 0x2] - ldr r0, [r2] - strb r1, [r0, 0x3] - ldr r0, [r2] - strb r1, [r0, 0x7] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081E0D80: .4byte gUnknown_3007460 -_081E0D84: .4byte 0x01000040 - thumb_func_end rfu_STC_clearLinkStatus - - thumb_func_start rfu_REQ_pollSearchChild -rfu_REQ_pollSearchChild: @ 81E0D88 - push {lr} - ldr r0, _081E0D98 @ =rfu_CB_pollAndEndSearchChild - bl STWI_set_Callback_M - bl STWI_send_SC_PollingREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0D98: .4byte rfu_CB_pollAndEndSearchChild - thumb_func_end rfu_REQ_pollSearchChild - - thumb_func_start rfu_REQ_endSearchChild -rfu_REQ_endSearchChild: @ 81E0D9C - push {lr} - ldr r0, _081E0DAC @ =rfu_CB_pollAndEndSearchChild - bl STWI_set_Callback_M - bl STWI_send_SC_EndREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0DAC: .4byte rfu_CB_pollAndEndSearchChild - thumb_func_end rfu_REQ_endSearchChild - - thumb_func_start rfu_CB_pollAndEndSearchChild -rfu_CB_pollAndEndSearchChild: @ 81E0DB0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r6, r1, 16 - cmp r6, 0 - bne _081E0DC2 - bl sub_81E0E38 -_081E0DC2: - cmp r4, 0x1A - bne _081E0E04 - ldr r5, _081E0DF8 @ =gUnknown_3007460 - ldr r0, [r5] - adds r0, 0x94 - ldrh r0, [r0] - cmp r0, 0 - bne _081E0E20 - ldr r0, _081E0DFC @ =rfu_CB_defaultCallback - bl STWI_set_Callback_M - bl STWI_send_SystemStatusREQ - bl STWI_poll_CommandEnd - lsls r0, 16 - cmp r0, 0 - bne _081E0E20 - ldr r1, [r5] - ldr r0, _081E0E00 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r0, [r0] - ldrh r0, [r0, 0x4] - adds r1, 0x94 - strh r0, [r1] - b _081E0E20 - .align 2, 0 -_081E0DF8: .4byte gUnknown_3007460 -_081E0DFC: .4byte rfu_CB_defaultCallback -_081E0E00: .4byte gUnknown_3007468 -_081E0E04: - cmp r4, 0x1B - bne _081E0E20 - ldr r0, _081E0E30 @ =gUnknown_3007460 - ldr r1, [r0] - ldrb r0, [r1] - cmp r0, 0xFF - bne _081E0E18 - adds r1, 0x94 - movs r0, 0 - strh r0, [r1] -_081E0E18: - ldr r0, _081E0E34 @ =gUnknown_3007464 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x9] -_081E0E20: - adds r0, r4, 0 - adds r1, r6, 0 - bl rfu_STC_REQ_callback - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081E0E30: .4byte gUnknown_3007460 -_081E0E34: .4byte gUnknown_3007464 - thumb_func_end rfu_CB_pollAndEndSearchChild - - thumb_func_start sub_81E0E38 -sub_81E0E38: @ 81E0E38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r1, _081E0F64 @ =gUnknown_3007468 - ldr r0, [r1] - adds r0, 0xDC - ldr r0, [r0] - ldrb r2, [r0, 0x1] - mov r8, r2 - adds r4, r1, 0 - cmp r2, 0 - beq _081E0E96 - ldr r5, [r0, 0x4] - ldr r0, _081E0F68 @ =rfu_CB_defaultCallback - bl STWI_set_Callback_M - bl STWI_send_LinkStatusREQ - bl STWI_poll_CommandEnd - lsls r0, 16 - cmp r0, 0 - bne _081E0E8A - ldr r0, [r4] - adds r0, 0xDC - ldr r0, [r0] - adds r4, r0, 0x4 - movs r2, 0 -_081E0E76: - mov r0, sp - adds r1, r0, r2 - ldrb r0, [r4] - strb r0, [r1] - adds r4, 0x1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _081E0E76 -_081E0E8A: - ldr r0, _081E0F64 @ =gUnknown_3007468 - ldr r1, [r0] - adds r1, 0xDC - ldr r1, [r1] - str r5, [r1, 0x4] - adds r4, r0, 0 -_081E0E96: - ldr r0, [r4] - adds r0, 0xDC - ldr r0, [r0] - adds r4, r0, 0x4 - mov r1, r8 - cmp r1, 0 - beq _081E0F52 - ldr r2, _081E0F6C @ =gUnknown_3007464 - mov r9, r2 - ldr r7, _081E0F70 @ =gUnknown_3007460 - mov r10, r9 -_081E0EAC: - ldrb r2, [r4, 0x2] - adds r5, r2, 0 - cmp r2, 0x3 - bhi _081E0F42 - ldr r1, [r7] - ldrb r0, [r1, 0x2] - asrs r0, r2 - movs r6, 0x1 - ands r0, r6 - cmp r0, 0 - bne _081E0F42 - ldrb r3, [r1, 0x3] - asrs r3, r2 - ands r3, r6 - cmp r3, 0 - bne _081E0F42 - mov r1, sp - adds r0, r1, r2 - ldrb r0, [r0] - mov r12, r10 - cmp r0, 0 - beq _081E0EE6 - mov r0, r9 - ldr r1, [r0] - adds r1, 0xE - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081E0EE6: - mov r1, r9 - ldr r0, [r1] - adds r0, 0xE - adds r1, r0, r5 - ldrb r0, [r1] - cmp r0, 0x3 - bls _081E0F42 - strb r3, [r1] - ldr r0, [r7] - adds r0, 0xA - adds r0, r5 - movs r1, 0xFF - strb r1, [r0] - ldr r2, [r7] - adds r0, r6, 0 - lsls r0, r5 - ldrb r1, [r2, 0x2] - orrs r0, r1 - strb r0, [r2, 0x2] - ldr r1, [r7] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - ldr r1, [r7] - lsls r3, r5, 5 - adds r1, r3 - ldrh r0, [r4] - strh r0, [r1, 0x14] - strb r5, [r1, 0x16] - ldr r0, [r7] - strb r6, [r0] - mov r0, r12 - ldr r2, [r0] - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - mov r2, r12 - ldr r1, [r2] - lsls r0, r5, 1 - adds r1, 0x12 - adds r1, r0 - ldr r0, [r7] - adds r0, r3 - ldrh r0, [r0, 0x14] - strh r0, [r1] -_081E0F42: - mov r0, r8 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r4, 0x4 - cmp r0, 0 - bne _081E0EAC -_081E0F52: - 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 -_081E0F64: .4byte gUnknown_3007468 -_081E0F68: .4byte rfu_CB_defaultCallback -_081E0F6C: .4byte gUnknown_3007464 -_081E0F70: .4byte gUnknown_3007460 - thumb_func_end sub_81E0E38 - - thumb_func_start rfu_REQ_startSearchParent -rfu_REQ_startSearchParent: @ 81E0F74 - push {lr} - ldr r0, _081E0F84 @ =rfu_CB_startSearchParent - bl STWI_set_Callback_M - bl STWI_send_SP_StartREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0F84: .4byte rfu_CB_startSearchParent - thumb_func_end rfu_REQ_startSearchParent - - thumb_func_start rfu_CB_startSearchParent -rfu_CB_startSearchParent: @ 81E0F88 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r1, 16 - adds r4, r1, 0 - cmp r4, 0 - bne _081E0F9E - movs r0, 0 - bl rfu_STC_clearLinkStatus -_081E0F9E: - adds r0, r5, 0 - adds r1, r4, 0 - bl rfu_STC_REQ_callback - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end rfu_CB_startSearchParent - - thumb_func_start rfu_REQ_pollSearchParent -rfu_REQ_pollSearchParent: @ 81E0FAC - push {lr} - ldr r0, _081E0FBC @ =sub_81E0FC0 - bl STWI_set_Callback_M - bl STWI_send_SP_PollingREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0FBC: .4byte sub_81E0FC0 - thumb_func_end rfu_REQ_pollSearchParent - - thumb_func_start sub_81E0FC0 -sub_81E0FC0: @ 81E0FC0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r1, 16 - adds r4, r1, 0 - cmp r4, 0 - bne _081E0FD4 - bl rfu_STC_readParentCandidateList -_081E0FD4: - adds r0, r5, 0 - adds r1, r4, 0 - bl rfu_STC_REQ_callback - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81E0FC0 - - thumb_func_start rfu_REQ_endSearchParent -rfu_REQ_endSearchParent: @ 81E0FE4 - push {lr} - ldr r0, _081E0FF4 @ =rfu_STC_REQ_callback - bl STWI_set_Callback_M - bl STWI_send_SP_EndREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0FF4: .4byte rfu_STC_REQ_callback - thumb_func_end rfu_REQ_endSearchParent - - thumb_func_start rfu_STC_readParentCandidateList -rfu_STC_readParentCandidateList: @ 81E0FF8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r0, sp - movs r4, 0 - strh r4, [r0] - ldr r5, _081E10A0 @ =gUnknown_3007460 - ldr r1, [r5] - adds r1, 0x14 - ldr r2, _081E10A4 @ =0x01000040 - bl CpuSet - ldr r0, _081E10A8 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r2, [r0] - ldrb r7, [r2, 0x1] - adds r2, 0x4 - ldr r0, [r5] - strb r4, [r0, 0x8] - movs r6, 0 - cmp r7, 0 - beq _081E10FC - mov r12, r5 - ldr r0, _081E10AC @ =0x00007fff - mov r8, r0 -_081E102E: - subs r0, r7, 0x7 - lsls r0, 24 - lsrs r7, r0, 24 - adds r1, r2, 0x6 - adds r2, 0x13 - ldrb r0, [r2] - mvns r0, r0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, 0x1 - movs r4, 0 - movs r3, 0 - adds r6, 0x1 -_081E1048: - ldrb r0, [r2] - adds r0, r4, r0 - lsls r0, 24 - adds r2, 0x1 - lsrs r0, 24 - ldrb r4, [r1] - adds r0, r4 - lsls r0, 24 - lsrs r4, r0, 24 - adds r1, 0x1 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x7 - bls _081E1048 - cmp r4, r5 - bne _081E10F0 - subs r2, 0x1C - mov r0, r12 - ldr r1, [r0] - ldrb r0, [r1, 0x8] - lsls r0, 5 - adds r0, 0x14 - adds r4, r1, r0 - ldrh r0, [r2] - movs r3, 0 - strh r0, [r4] - adds r2, 0x2 - ldrb r0, [r2] - strb r0, [r4, 0x2] - adds r2, 0x2 - ldrh r1, [r2] - mov r0, r8 - ands r0, r1 - strh r0, [r4, 0x4] - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _081E10B0 - movs r0, 0x1 - strb r0, [r4, 0x3] - b _081E10B2 - .align 2, 0 -_081E10A0: .4byte gUnknown_3007460 -_081E10A4: .4byte 0x01000040 -_081E10A8: .4byte gUnknown_3007468 -_081E10AC: .4byte 0x00007fff -_081E10B0: - strb r3, [r4, 0x3] -_081E10B2: - adds r2, 0x2 - movs r3, 0 - adds r5, r4, 0 - adds r5, 0x15 - adds r4, 0x6 -_081E10BC: - adds r1, r4, r3 - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xC - bls _081E10BC - adds r2, 0x1 - movs r3, 0 - adds r4, r5, 0 -_081E10D4: - adds r1, r4, r3 - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x7 - bls _081E10D4 - mov r4, r12 - ldr r1, [r4] - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] -_081E10F0: - lsls r0, r6, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bhi _081E10FC - cmp r7, 0 - bne _081E102E -_081E10FC: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end rfu_STC_readParentCandidateList - - thumb_func_start rfu_REQ_startConnectParent -rfu_REQ_startConnectParent: @ 81E1108 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - movs r3, 0 - movs r2, 0 - ldr r1, _081E1154 @ =gUnknown_3007460 - ldr r0, [r1] - ldrh r0, [r0, 0x14] - cmp r0, r4 - beq _081E1134 - adds r5, r1, 0 -_081E111E: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bhi _081E1134 - ldr r0, [r5] - lsls r1, r2, 5 - adds r0, r1 - ldrh r0, [r0, 0x14] - cmp r0, r4 - bne _081E111E -_081E1134: - cmp r2, 0x4 - bne _081E113C - movs r3, 0x80 - lsls r3, 1 -_081E113C: - cmp r3, 0 - bne _081E1160 - ldr r0, _081E1158 @ =gUnknown_3007464 - ldr r0, [r0] - strh r4, [r0, 0x1E] - ldr r0, _081E115C @ =rfu_STC_REQ_callback - bl STWI_set_Callback_M - adds r0, r4, 0 - bl STWI_send_CP_StartREQ - b _081E1168 - .align 2, 0 -_081E1154: .4byte gUnknown_3007460 -_081E1158: .4byte gUnknown_3007464 -_081E115C: .4byte rfu_STC_REQ_callback -_081E1160: - movs r0, 0x1F - adds r1, r3, 0 - bl rfu_STC_REQ_callback -_081E1168: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end rfu_REQ_startConnectParent - - thumb_func_start rfu_REQ_pollConnectParent -rfu_REQ_pollConnectParent: @ 81E1170 - push {lr} - ldr r0, _081E1180 @ =rfu_CB_pollConnectParent - bl STWI_set_Callback_M - bl STWI_send_CP_PollingREQ - pop {r0} - bx r0 - .align 2, 0 -_081E1180: .4byte rfu_CB_pollConnectParent - thumb_func_end rfu_REQ_pollConnectParent - - thumb_func_start rfu_CB_pollConnectParent -rfu_CB_pollConnectParent: @ 81E1184 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x28] - cmp r1, 0 - bne _081E1286 - ldr r0, _081E1240 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r0, [r0] - ldrh r5, [r0, 0x4] - ldrb r1, [r0, 0x6] - mov r10, r1 - ldrb r0, [r0, 0x7] - cmp r0, 0 - bne _081E1286 - movs r0, 0x80 - lsls r0, 17 - lsls r0, r1 - lsrs r2, r0, 24 - ldr r4, _081E1244 @ =gUnknown_3007460 - ldr r3, [r4] - ldrb r1, [r3, 0x2] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _081E1286 - adds r0, r2, 0 - orrs r0, r1 - strb r0, [r3, 0x2] - ldr r1, [r4] - ldrb r0, [r1, 0x3] - bics r0, r2 - strb r0, [r1, 0x3] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x94 - movs r2, 0 - strh r5, [r0] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - ldr r0, [r4] - strb r2, [r0] - ldr r3, _081E1248 @ =gUnknown_3007464 - ldr r2, [r3] - ldrb r1, [r2] - movs r0, 0x80 - orrs r0, r1 - strb r0, [r2] - movs r5, 0 - adds r7, r4, 0 - add r6, sp, 0x20 - movs r0, 0 - mov r8, r0 -_081E1202: - ldr r2, [r7] - lsls r4, r5, 5 - adds r0, r2, r4 - ldr r1, [r3] - ldrh r0, [r0, 0x14] - ldrh r1, [r1, 0x1E] - cmp r0, r1 - bne _081E125A - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _081E1250 - mov r9, sp - adds r0, r4, 0 - adds r0, 0x14 - adds r0, r2, r0 - mov r1, sp - movs r2, 0x10 - bl CpuSet - mov r1, r8 - strh r1, [r6] - ldr r1, [r7] - adds r1, 0x14 - adds r0, r6, 0 - ldr r2, _081E124C @ =0x01000040 - bl CpuSet - ldr r0, [r7] - mov r1, r8 - strb r1, [r0, 0x8] - b _081E1264 - .align 2, 0 -_081E1240: .4byte gUnknown_3007468 -_081E1244: .4byte gUnknown_3007460 -_081E1248: .4byte gUnknown_3007464 -_081E124C: .4byte 0x01000040 -_081E1250: - adds r0, r4, 0 - adds r0, 0x14 - adds r2, r0 - mov r9, r2 - b _081E1264 -_081E125A: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _081E1202 -_081E1264: - cmp r5, 0x3 - bhi _081E1286 - ldr r4, _081E12A0 @ =gUnknown_3007460 - mov r0, r10 - lsls r5, r0, 5 - adds r0, r5, 0 - adds r0, 0x14 - ldr r1, [r4] - adds r1, r0 - mov r0, r9 - movs r2, 0x10 - bl CpuSet - ldr r0, [r4] - adds r0, r5 - mov r1, r10 - strb r1, [r0, 0x16] -_081E1286: - ldr r0, [sp, 0x24] - ldr r1, [sp, 0x28] - bl rfu_STC_REQ_callback - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E12A0: .4byte gUnknown_3007460 - thumb_func_end rfu_CB_pollConnectParent - - thumb_func_start rfu_getConnectParentStatus -rfu_getConnectParentStatus: @ 81E12A4 - push {lr} - adds r3, r0, 0 - movs r0, 0xFF - strb r0, [r3] - ldr r0, _081E12C4 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r2, [r0] - ldrb r0, [r2] - adds r0, 0x60 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _081E12C8 - movs r0, 0x10 - b _081E12D4 - .align 2, 0 -_081E12C4: .4byte gUnknown_3007468 -_081E12C8: - adds r2, 0x6 - ldrb r0, [r2] - strb r0, [r1] - ldrb r0, [r2, 0x1] - strb r0, [r3] - movs r0, 0 -_081E12D4: - pop {r1} - bx r1 - thumb_func_end rfu_getConnectParentStatus - - thumb_func_start rfu_REQ_endConnectParent -rfu_REQ_endConnectParent: @ 81E12D8 - push {lr} - ldr r0, _081E1304 @ =rfu_CB_pollConnectParent - bl STWI_set_Callback_M - bl STWI_send_CP_EndREQ - ldr r0, _081E1308 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r1, [r0] - ldrb r0, [r1, 0x6] - cmp r0, 0x3 - bhi _081E1300 - ldr r0, _081E130C @ =gUnknown_3007464 - ldr r0, [r0] - adds r0, 0xA - ldrb r1, [r1, 0x6] - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_081E1300: - pop {r0} - bx r0 - .align 2, 0 -_081E1304: .4byte rfu_CB_pollConnectParent -_081E1308: .4byte gUnknown_3007468 -_081E130C: .4byte gUnknown_3007464 - thumb_func_end rfu_REQ_endConnectParent - - thumb_func_start rfu_syncVBlank -rfu_syncVBlank: @ 81E1310 - push {r4,r5,lr} - bl rfu_NI_checkCommFailCounter - ldr r0, _081E1358 @ =gUnknown_3007460 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0xFF - beq _081E13E8 - ldr r4, _081E135C @ =gUnknown_3007464 - ldr r1, [r4] - ldrb r0, [r1, 0x6] - cmp r0, 0 - beq _081E132E - subs r0, 0x1 - strb r0, [r1, 0x6] -_081E132E: - bl rfu_getMasterSlave - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, [r4] - ldrb r1, [r2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081E1360 - cmp r3, 0 - bne _081E136E - movs r0, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r4] - movs r0, 0xB4 - lsls r0, 1 - strh r0, [r1, 0x20] - b _081E136A - .align 2, 0 -_081E1358: .4byte gUnknown_3007460 -_081E135C: .4byte gUnknown_3007464 -_081E1360: - cmp r3, 0 - beq _081E1380 - movs r0, 0xFB - ands r0, r1 - strb r0, [r2] -_081E136A: - cmp r3, 0 - beq _081E1380 -_081E136E: - ldr r3, _081E137C @ =gUnknown_3007464 - ldr r2, [r3] - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - b _081E138A - .align 2, 0 -_081E137C: .4byte gUnknown_3007464 -_081E1380: - ldr r3, _081E13DC @ =gUnknown_3007464 - ldr r2, [r3] - ldrb r1, [r2] - movs r0, 0x2 - orrs r0, r1 -_081E138A: - strb r0, [r2] - ldr r3, [r3] - ldrb r1, [r3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _081E13E8 - ldrh r0, [r3, 0x20] - cmp r0, 0 - bne _081E13E4 - movs r0, 0xFB - ands r0, r1 - strb r0, [r3] - ldr r0, _081E13E0 @ =gUnknown_3007460 - ldr r0, [r0] - ldrb r1, [r0, 0x2] - ldrb r0, [r0, 0x3] - adds r5, r0, 0 - orrs r5, r1 - movs r4, 0 -_081E13B2: - adds r0, r5, 0 - asrs r0, r4 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081E13C4 - adds r0, r4, 0 - bl rfu_STC_removeLinkData -_081E13C4: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081E13B2 - ldr r0, _081E13E0 @ =gUnknown_3007460 - ldr r1, [r0] - movs r0, 0xFF - strb r0, [r1] - movs r0, 0x1 - b _081E13EA - .align 2, 0 -_081E13DC: .4byte gUnknown_3007464 -_081E13E0: .4byte gUnknown_3007460 -_081E13E4: - subs r0, 0x1 - strh r0, [r3, 0x20] -_081E13E8: - movs r0, 0 -_081E13EA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end rfu_syncVBlank - - thumb_func_start sub_81E13F0 -sub_81E13F0: @ 81E13F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - mov r8, r1 - str r2, [sp] - str r3, [sp, 0x4] - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0 - str r1, [sp, 0xC] - mov r2, r8 - strb r1, [r2] - mov r0, sp - ldrb r1, [r0, 0xC] - ldr r0, [sp] - strb r1, [r0] - mov r2, sp - ldrb r0, [r2, 0xC] - ldr r2, [sp, 0x4] - strb r0, [r2] - ldr r4, _081E1490 @ =gUnknown_3007460 - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0xFF - bne _081E142E - b _081E178E -_081E142E: - ldr r0, _081E1494 @ =gRfuState - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0 - bne _081E143A - b _081E178E -_081E143A: - ldr r3, _081E1498 @ =gUnknown_3007464 - ldr r2, [r3] - ldrb r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _081E144E - movs r0, 0xB4 - lsls r0, 1 - strh r0, [r2, 0x20] -_081E144E: - ldr r1, [r3] - ldrb r0, [r1, 0x6] - cmp r0, 0 - bne _081E1460 - ldr r0, [r4] - ldrb r0, [r0, 0x9] - strb r0, [r1, 0x6] - movs r1, 0x1 - str r1, [sp, 0x8] -_081E1460: - lsls r0, r5, 24 - lsrs r0, 24 - cmp r0, 0x29 - bne _081E14A0 - ldr r0, _081E149C @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r1, [r0] - ldrb r0, [r1, 0x4] - mov r2, r8 - strb r0, [r2] - ldrb r0, [r1, 0x5] - ldr r1, [sp] - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081E148A - ldr r0, [r4] - ldrb r0, [r0, 0x2] - strb r0, [r2] -_081E148A: - movs r2, 0x2 - str r2, [sp, 0x8] - b _081E14F8 - .align 2, 0 -_081E1490: .4byte gUnknown_3007460 -_081E1494: .4byte gRfuState -_081E1498: .4byte gUnknown_3007464 -_081E149C: .4byte gUnknown_3007468 -_081E14A0: - movs r0, 0x9B - lsls r0, 1 - cmp r5, r0 - bne _081E14F0 - ldr r0, _081E154C @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r0, [r0] - ldrb r6, [r0, 0x5] - ldr r0, [r4] - ldrb r0, [r0, 0x2] - eors r6, r0 - ands r6, r0 - mov r0, r8 - strb r6, [r0] - movs r0, 0x1 - ldr r1, [sp] - strb r0, [r1] - movs r5, 0 -_081E14C6: - mov r2, r8 - ldrb r0, [r2] - asrs r0, r5 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081E14E6 - ldr r0, _081E1550 @ =gUnknown_3007460 - ldr r0, [r0] - adds r0, 0xA - adds r0, r5 - movs r1, 0 - strb r1, [r0] - adds r0, r5, 0 - bl rfu_STC_removeLinkData -_081E14E6: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _081E14C6 -_081E14F0: - ldr r0, [sp, 0x8] - cmp r0, 0 - bne _081E14F8 - b _081E178E -_081E14F8: - ldr r4, _081E154C @ =gUnknown_3007468 - ldr r0, [r4] - adds r0, 0xDC - ldr r0, [r0] - ldr r1, [r0] - str r1, [sp, 0x10] - ldr r0, [r0, 0x4] - str r0, [sp, 0x14] - ldr r0, _081E1554 @ =rfu_CB_defaultCallback - bl STWI_set_Callback_M - bl STWI_send_LinkStatusREQ - bl STWI_poll_CommandEnd - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0xC] - cmp r0, 0 - bne _081E1558 - ldr r0, [r4] - adds r0, 0xDC - ldr r0, [r0] - adds r2, r0, 0x4 - movs r5, 0 - ldr r3, _081E1550 @ =gUnknown_3007460 -_081E152C: - ldr r0, [r3] - adds r0, 0xA - adds r0, r5 - ldrb r1, [r2] - strb r1, [r0] - adds r2, 0x1 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _081E152C - movs r2, 0 - mov r9, r2 - movs r5, 0 - b _081E1564 - .align 2, 0 -_081E154C: .4byte gUnknown_3007468 -_081E1550: .4byte gUnknown_3007460 -_081E1554: .4byte rfu_CB_defaultCallback -_081E1558: - movs r0, 0x11 - ldr r1, [sp, 0xC] - bl rfu_STC_REQ_callback - ldr r0, [sp, 0xC] - b _081E1790 -_081E1564: - movs r0, 0x80 - lsls r0, 17 - lsls r0, r5 - lsrs r6, r0, 24 - adds r0, r5, 0x1 - mov r10, r0 - ldr r1, [sp, 0xC] - cmp r1, 0 - beq _081E1578 - b _081E1742 -_081E1578: - ldr r2, [sp, 0x8] - cmp r2, 0x1 - bne _081E164E - ldr r4, _081E15B8 @ =gUnknown_3007460 - ldr r1, [r4] - ldrb r0, [r1, 0x2] - ands r0, r6 - cmp r0, 0 - beq _081E164E - adds r0, r1, 0 - adds r0, 0xA - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _081E1640 - ldrb r0, [r1] - cmp r0, 0x1 - bne _081E15C0 - ldr r2, _081E15BC @ =gUnknown_3007464 - ldr r1, [r2] - adds r1, 0xA - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0xA - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x3 - bls _081E164E - b _081E1626 - .align 2, 0 -_081E15B8: .4byte gUnknown_3007460 -_081E15BC: .4byte gUnknown_3007464 -_081E15C0: - bl STWI_send_SystemStatusREQ - bl STWI_poll_CommandEnd - lsls r0, 16 - cmp r0, 0 - bne _081E164E - ldr r0, _081E15F0 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r0, [r0] - ldrb r0, [r0, 0x7] - cmp r0, 0 - bne _081E15F4 - mov r2, r8 - ldrb r1, [r2] - adds r0, r6, 0 - orrs r0, r1 - strb r0, [r2] - mov r0, sp - ldrb r1, [r0, 0x8] - ldr r0, [sp] - b _081E164C - .align 2, 0 -_081E15F0: .4byte gUnknown_3007468 -_081E15F4: - ldr r2, _081E163C @ =gUnknown_3007464 - ldr r1, [r2] - adds r1, 0xA - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - ldr r2, [r2] - lsrs r0, 24 - ldrh r1, [r2, 0x1A] - cmp r0, r1 - bls _081E164E - adds r0, r2, 0 - adds r0, 0xA - adds r0, r5 - mov r2, sp - ldrb r2, [r2, 0xC] - strb r2, [r0] - ldr r0, [r4] - ldrb r0, [r0, 0x2] - bl STWI_send_DisconnectREQ - bl STWI_poll_CommandEnd -_081E1626: - mov r0, r8 - ldrb r1, [r0] - adds r0, r6, 0 - orrs r0, r1 - mov r1, r8 - strb r0, [r1] - mov r2, sp - ldrb r0, [r2, 0x8] - ldr r2, [sp] - strb r0, [r2] - b _081E164E - .align 2, 0 -_081E163C: .4byte gUnknown_3007464 -_081E1640: - ldr r0, _081E16B0 @ =gUnknown_3007464 - ldr r0, [r0] - adds r0, 0xA - adds r0, r5 - mov r1, sp - ldrb r1, [r1, 0xC] -_081E164C: - strb r1, [r0] -_081E164E: - ldr r2, _081E16B4 @ =gUnknown_3007460 - mov r12, r2 - ldr r1, [r2] - ldrb r7, [r1] - adds r0, r5, 0x1 - mov r10, r0 - cmp r7, 0x1 - bne _081E1742 - adds r0, r1, 0 - adds r0, 0xA - adds r4, r0, r5 - ldrb r3, [r4] - cmp r3, 0 - beq _081E1742 - ldrb r2, [r1, 0x3] - adds r0, r6, 0 - ands r0, r2 - cmp r0, 0 - beq _081E16BE - cmp r3, 0xA - bls _081E16B8 - ldr r2, [sp, 0x4] - ldrb r1, [r2] - adds r0, r6, 0 - orrs r0, r1 - strb r0, [r2] - mov r0, r12 - ldr r2, [r0] - ldrb r1, [r2, 0x2] - adds r0, r6, 0 - orrs r0, r1 - movs r3, 0 - strb r0, [r2, 0x2] - mov r2, r12 - ldr r1, [r2] - ldrb r0, [r1, 0x3] - bics r0, r6 - strb r0, [r1, 0x3] - ldr r1, [r2] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - ldr r0, _081E16B0 @ =gUnknown_3007464 - ldr r0, [r0] - adds r0, 0xA - adds r0, r5 - strb r3, [r0] - b _081E1742 - .align 2, 0 -_081E16B0: .4byte gUnknown_3007464 -_081E16B4: .4byte gUnknown_3007460 -_081E16B8: - movs r0, 0 - strb r0, [r4] - b _081E1742 -_081E16BE: - ldrb r0, [r1, 0x2] - orrs r0, r2 - ands r0, r6 - cmp r0, 0 - bne _081E1742 - bl STWI_send_SlotStatusREQ - bl STWI_poll_CommandEnd - ldr r0, _081E1708 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r2, [r0] - ldrb r0, [r2, 0x1] - subs r0, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r2, 0x8 - cmp r3, 0 - beq _081E1742 - ldrh r4, [r2] - ldrb r0, [r2, 0x2] - cmp r0, r5 - bne _081E1710 - ldr r0, _081E170C @ =gUnknown_3007464 - ldr r0, [r0] - lsls r1, r5, 1 - adds r0, 0x12 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - bne _081E1710 - lsls r7, r5 - mov r0, r9 - orrs r0, r7 - lsls r0, 24 - b _081E173E - .align 2, 0 -_081E1708: .4byte gUnknown_3007468 -_081E170C: .4byte gUnknown_3007464 -_081E1710: - adds r2, 0x4 - subs r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _081E1742 - ldrh r4, [r2] - ldrb r0, [r2, 0x2] - cmp r0, r5 - bne _081E1710 - ldr r0, _081E17A0 @ =gUnknown_3007464 - ldr r0, [r0] - lsls r1, r5, 1 - adds r0, 0x12 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - bne _081E1710 - movs r0, 0x1 - lsls r0, r5 - mov r1, r9 - orrs r1, r0 - lsls r0, r1, 24 -_081E173E: - lsrs r0, 24 - mov r9, r0 -_081E1742: - ldr r0, _081E17A4 @ =gUnknown_3007460 - ldr r0, [r0] - ldrb r1, [r0, 0x2] - mov r2, r8 - ldrb r0, [r2] - ands r0, r1 - ands r6, r0 - cmp r6, 0 - beq _081E175C - adds r0, r5, 0 - movs r1, 0 - bl rfu_STC_removeLinkData -_081E175C: - mov r1, r10 - lsls r0, r1, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bhi _081E1768 - b _081E1564 -_081E1768: - mov r2, r9 - cmp r2, 0 - beq _081E1778 - mov r0, r9 - bl STWI_send_DisconnectREQ - bl STWI_poll_CommandEnd -_081E1778: - ldr r1, _081E17A8 @ =gUnknown_3007468 - ldr r0, [r1] - adds r0, 0xDC - ldr r0, [r0] - ldr r2, [sp, 0x10] - str r2, [r0] - ldr r0, [r1] - adds r0, 0xDC - ldr r0, [r0] - ldr r1, [sp, 0x14] - str r1, [r0, 0x4] -_081E178E: - movs r0, 0 -_081E1790: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081E17A0: .4byte gUnknown_3007464 -_081E17A4: .4byte gUnknown_3007460 -_081E17A8: .4byte gUnknown_3007468 - thumb_func_end sub_81E13F0 - - thumb_func_start rfu_STC_removeLinkData -rfu_STC_removeLinkData: @ 81E17AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r12, r1 - movs r0, 0x80 - lsls r0, 17 - lsls r0, r7 - lsrs r5, r0, 24 - ldr r1, _081E1850 @ =gUnknown_3007460 - ldr r4, [r1] - ldrb r0, [r4, 0x2] - ands r0, r5 - mov r8, r1 - cmp r0, 0 - beq _081E17DE - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _081E17DE - subs r0, 0x1 - strb r0, [r4, 0x1] -_081E17DE: - mov r3, r8 - ldr r2, [r3] - mvns r6, r5 - ldrb r1, [r2, 0x2] - adds r0, r6, 0 - ands r0, r1 - strb r0, [r2, 0x2] - ldr r2, [r3] - ldrb r1, [r2, 0x3] - adds r0, r5, 0 - orrs r0, r1 - strb r0, [r2, 0x3] - ldr r3, [r3] - ldr r0, [r3] - ldr r1, _081E1854 @ =0x00ff00ff - ands r0, r1 - cmp r0, 0 - bne _081E1806 - movs r0, 0xFF - strb r0, [r3] -_081E1806: - mov r0, r12 - cmp r0, 0 - beq _081E1844 - mov r1, sp - movs r4, 0 - movs r0, 0 - strh r0, [r1] - lsls r0, r7, 5 - adds r0, 0x14 - mov r2, r8 - ldr r1, [r2] - adds r1, r0 - ldr r2, _081E1858 @ =0x01000010 - mov r0, sp - bl CpuSet - mov r0, r8 - ldr r2, [r0] - ldrb r1, [r2, 0x3] - adds r0, r6, 0 - ands r0, r1 - strb r0, [r2, 0x3] - mov r2, r8 - ldr r1, [r2] - ldrb r0, [r1, 0x7] - ands r6, r0 - strb r6, [r1, 0x7] - ldr r0, [r2] - adds r0, 0xA - adds r0, r7 - strb r4, [r0] -_081E1844: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E1850: .4byte gUnknown_3007460 -_081E1854: .4byte 0x00ff00ff -_081E1858: .4byte 0x01000010 - thumb_func_end rfu_STC_removeLinkData - - thumb_func_start rfu_REQ_disconnect -rfu_REQ_disconnect: @ 81E185C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _081E18A0 @ =gUnknown_3007460 - ldr r1, [r2] - ldrb r0, [r1, 0x2] - ldrb r1, [r1, 0x3] - orrs r0, r1 - ands r0, r4 - cmp r0, 0 - beq _081E18E0 - ldr r0, _081E18A4 @ =gUnknown_3007464 - ldr r1, [r0] - strb r4, [r1, 0x5] - ldr r2, [r2] - ldrb r1, [r2] - adds r3, r0, 0 - cmp r1, 0xFF - bne _081E18A8 - ldr r0, [r3] - ldrb r1, [r0] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081E18A8 - ldrb r0, [r2, 0x3] - ands r0, r4 - cmp r0, 0 - beq _081E18E0 - movs r0, 0x30 - movs r1, 0 - bl rfu_CB_disconnect - b _081E18E0 - .align 2, 0 -_081E18A0: .4byte gUnknown_3007460 -_081E18A4: .4byte gUnknown_3007464 -_081E18A8: - ldr r0, [r3] - ldrb r0, [r0, 0x9] - cmp r0, 0 - beq _081E18D4 - ldr r0, _081E18D0 @ =rfu_CB_defaultCallback - bl STWI_set_Callback_M - bl STWI_send_SC_EndREQ - bl STWI_poll_CommandEnd - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _081E18D4 - movs r0, 0x1B - bl rfu_STC_REQ_callback - b _081E18E0 - .align 2, 0 -_081E18D0: .4byte rfu_CB_defaultCallback -_081E18D4: - ldr r0, _081E18E8 @ =rfu_CB_disconnect - bl STWI_set_Callback_M - adds r0, r4, 0 - bl STWI_send_DisconnectREQ -_081E18E0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081E18E8: .4byte rfu_CB_disconnect - thumb_func_end rfu_REQ_disconnect - - thumb_func_start rfu_CB_disconnect -rfu_CB_disconnect: @ 81E18EC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - cmp r5, 0x3 - bne _081E1928 - ldr r0, _081E19BC @ =gUnknown_3007460 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0 - bne _081E1928 - ldr r0, _081E19C0 @ =rfu_CB_defaultCallback - bl STWI_set_Callback_M - bl STWI_send_SystemStatusREQ - bl STWI_poll_CommandEnd - lsls r0, 16 - cmp r0, 0 - bne _081E1928 - ldr r0, _081E19C4 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r0, [r0] - ldrb r0, [r0, 0x7] - cmp r0, 0 - bne _081E1928 - movs r5, 0 -_081E1928: - ldr r3, _081E19C8 @ =gUnknown_3007464 - ldr r2, [r3] - ldr r0, _081E19BC @ =gUnknown_3007460 - ldr r1, [r0] - ldrb r0, [r1, 0x2] - ldrb r1, [r1, 0x3] - orrs r0, r1 - ldrb r1, [r2, 0x5] - ands r0, r1 - strb r0, [r2, 0x5] - ldr r0, _081E19C4 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r1, [r0] - ldr r0, [r3] - ldrb r0, [r0, 0x5] - strb r0, [r1, 0x8] - cmp r5, 0 - bne _081E1976 - movs r4, 0 -_081E1950: - movs r0, 0x80 - lsls r0, 17 - lsls r0, r4 - lsrs r0, 24 - ldr r1, _081E19C8 @ =gUnknown_3007464 - ldr r1, [r1] - ldrb r1, [r1, 0x5] - ands r0, r1 - cmp r0, 0 - beq _081E196C - adds r0, r4, 0 - movs r1, 0x1 - bl rfu_STC_removeLinkData -_081E196C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081E1950 -_081E1976: - ldr r0, _081E19BC @ =gUnknown_3007460 - ldr r2, [r0] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - orrs r0, r1 - cmp r0, 0 - bne _081E1988 - movs r0, 0xFF - strb r0, [r2] -_081E1988: - adds r0, r6, 0 - adds r1, r5, 0 - bl rfu_STC_REQ_callback - ldr r0, _081E19C8 @ =gUnknown_3007464 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0 - beq _081E19B6 - ldr r0, _081E19C0 @ =rfu_CB_defaultCallback - bl STWI_set_Callback_M - bl STWI_send_SC_StartREQ - bl STWI_poll_CommandEnd - adds r5, r0, 0 - cmp r5, 0 - beq _081E19B6 - movs r0, 0x19 - adds r1, r5, 0 - bl rfu_STC_REQ_callback -_081E19B6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081E19BC: .4byte gUnknown_3007460 -_081E19C0: .4byte rfu_CB_defaultCallback -_081E19C4: .4byte gUnknown_3007468 -_081E19C8: .4byte gUnknown_3007464 - thumb_func_end rfu_CB_disconnect - - thumb_func_start rfu_REQ_CHILD_startConnectRecovery -rfu_REQ_CHILD_startConnectRecovery: @ 81E19CC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _081E1A1C @ =gUnknown_3007464 - ldr r0, [r0] - strb r5, [r0, 0x5] - movs r4, 0 - movs r0, 0x1 - ands r0, r5 - ldr r2, _081E1A20 @ =rfu_STC_REQ_callback - cmp r0, 0 - bne _081E19FA - movs r1, 0x1 -_081E19E6: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bhi _081E19FA - adds r0, r5, 0 - asrs r0, r4 - ands r0, r1 - cmp r0, 0 - beq _081E19E6 -_081E19FA: - adds r0, r2, 0 - bl STWI_set_Callback_M - ldr r0, _081E1A24 @ =gUnknown_3007460 - ldr r1, [r0] - lsls r0, r4, 5 - adds r0, r1, r0 - ldrh r0, [r0, 0x14] - adds r1, 0x94 - ldrh r1, [r1] - adds r2, r5, 0 - bl STWI_send_CPR_StartREQ - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081E1A1C: .4byte gUnknown_3007464 -_081E1A20: .4byte rfu_STC_REQ_callback -_081E1A24: .4byte gUnknown_3007460 - thumb_func_end rfu_REQ_CHILD_startConnectRecovery - - thumb_func_start rfu_REQ_CHILD_pollConnectRecovery -rfu_REQ_CHILD_pollConnectRecovery: @ 81E1A28 - push {lr} - ldr r0, _081E1A38 @ =rfu_CB_CHILD_pollConnectRecovery - bl STWI_set_Callback_M - bl STWI_send_CPR_PollingREQ - pop {r0} - bx r0 - .align 2, 0 -_081E1A38: .4byte rfu_CB_CHILD_pollConnectRecovery - thumb_func_end rfu_REQ_CHILD_pollConnectRecovery - - thumb_func_start rfu_CB_CHILD_pollConnectRecovery -rfu_CB_CHILD_pollConnectRecovery: @ 81E1A3C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 16 - lsrs r7, r1, 16 - cmp r7, 0 - bne _081E1AC0 - ldr r0, _081E1AD4 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _081E1AC0 - ldr r0, _081E1AD8 @ =gUnknown_3007464 - ldr r1, [r0] - ldrb r1, [r1, 0x5] - adds r6, r0, 0 - cmp r1, 0 - beq _081E1AC0 - ldr r1, _081E1ADC @ =gUnknown_3007460 - ldr r0, [r1] - strb r7, [r0] - movs r4, 0 - adds r5, r1, 0 - mov r12, r4 -_081E1A76: - movs r0, 0x80 - lsls r0, 17 - lsls r0, r4 - lsrs r3, r0, 24 - ldr r2, [r5] - ldr r0, [r6] - ldrb r0, [r0, 0x5] - ands r0, r3 - ldrb r1, [r2, 0x3] - ands r0, r1 - cmp r0, 0 - beq _081E1AB0 - ldrb r1, [r2, 0x2] - adds r0, r3, 0 - orrs r0, r1 - strb r0, [r2, 0x2] - ldr r1, [r5] - ldrb r0, [r1, 0x3] - bics r0, r3 - strb r0, [r1, 0x3] - ldr r1, [r5] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - ldr r0, [r6] - adds r0, 0xA - adds r0, r4 - mov r1, r12 - strb r1, [r0] -_081E1AB0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081E1A76 - ldr r1, [r6] - movs r0, 0 - strb r0, [r1, 0x5] -_081E1AC0: - mov r0, r8 - adds r1, r7, 0 - bl rfu_STC_REQ_callback - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E1AD4: .4byte gUnknown_3007468 -_081E1AD8: .4byte gUnknown_3007464 -_081E1ADC: .4byte gUnknown_3007460 - thumb_func_end rfu_CB_CHILD_pollConnectRecovery - - thumb_func_start rfu_CHILD_getConnectRecoveryStatus -rfu_CHILD_getConnectRecoveryStatus: @ 81E1AE0 - push {lr} - adds r2, r0, 0 - movs r0, 0xFF - strb r0, [r2] - ldr r0, _081E1B00 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x4D - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _081E1B04 - movs r0, 0x10 - b _081E1B0A - .align 2, 0 -_081E1B00: .4byte gUnknown_3007468 -_081E1B04: - ldrb r0, [r1, 0x4] - strb r0, [r2] - movs r0, 0 -_081E1B0A: - pop {r1} - bx r1 - thumb_func_end rfu_CHILD_getConnectRecoveryStatus - - thumb_func_start rfu_REQ_CHILD_endConnectRecovery -rfu_REQ_CHILD_endConnectRecovery: @ 81E1B10 - push {lr} - ldr r0, _081E1B20 @ =rfu_CB_CHILD_pollConnectRecovery - bl STWI_set_Callback_M - bl STWI_send_CPR_EndREQ - pop {r0} - bx r0 - .align 2, 0 -_081E1B20: .4byte rfu_CB_CHILD_pollConnectRecovery - thumb_func_end rfu_REQ_CHILD_endConnectRecovery - - thumb_func_start sub_81E1B24 -sub_81E1B24: @ 81E1B24 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r3, [r5] - ldr r1, [r6] - subs r2, 0x1 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _081E1B48 - adds r4, r0, 0 -_081E1B3A: - ldrb r0, [r3] - strb r0, [r1] - adds r3, 0x1 - adds r1, 0x1 - subs r2, 0x1 - cmp r2, r4 - bne _081E1B3A -_081E1B48: - str r3, [r5] - str r1, [r6] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81E1B24 - - thumb_func_start rfu_REQ_changeMasterSlave -rfu_REQ_changeMasterSlave: @ 81E1B54 - push {lr} - movs r0, 0x1 - bl STWI_read_status - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _081E1B74 - ldr r0, _081E1B70 @ =rfu_STC_REQ_callback - bl STWI_set_Callback_M - bl STWI_send_MS_ChangeREQ - b _081E1B7C - .align 2, 0 -_081E1B70: .4byte rfu_STC_REQ_callback -_081E1B74: - movs r0, 0x27 - movs r1, 0 - bl rfu_STC_REQ_callback -_081E1B7C: - pop {r0} - bx r0 - thumb_func_end rfu_REQ_changeMasterSlave - - thumb_func_start rfu_getMasterSlave -rfu_getMasterSlave: @ 81E1B80 - push {lr} - movs r0, 0x1 - bl STWI_read_status - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bne _081E1BAE - ldr r0, _081E1BB4 @ =gRfuState - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x2C - ldrb r0, [r0] - cmp r0, 0 - beq _081E1BAE - ldrb r0, [r1, 0x6] - cmp r0, 0x27 - beq _081E1BAC - cmp r0, 0x25 - beq _081E1BAC - cmp r0, 0x37 - bne _081E1BAE -_081E1BAC: - movs r2, 0 -_081E1BAE: - adds r0, r2, 0 - pop {r1} - bx r1 - .align 2, 0 -_081E1BB4: .4byte gRfuState - thumb_func_end rfu_getMasterSlave - - thumb_func_start rfu_clearAllSlot -rfu_clearAllSlot: @ 81E1BB8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r1, _081E1C3C @ =0x04000208 - ldrh r0, [r1] - mov r8, r0 - movs r0, 0 - strh r0, [r1] - movs r5, 0 - mov r0, sp - adds r0, 0x2 - movs r7, 0 - adds r6, r0, 0 -_081E1BD4: - mov r0, sp - strh r7, [r0] - ldr r0, _081E1C40 @ =gUnknown_3007450 - lsls r4, r5, 2 - adds r0, r4, r0 - ldr r1, [r0] - mov r0, sp - ldr r2, _081E1C44 @ =0x01000034 - bl CpuSet - strh r7, [r6] - ldr r0, _081E1C48 @ =gUnknown_3007440 - adds r4, r0 - ldr r1, [r4] - adds r0, r6, 0 - ldr r2, _081E1C4C @ =0x0100000a - bl CpuSet - ldr r3, _081E1C50 @ =gUnknown_3007460 - ldr r0, [r3] - adds r0, 0x10 - adds r0, r5 - movs r1, 0x10 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _081E1BD4 - ldr r2, [r3] - movs r1, 0 - movs r0, 0x57 - strb r0, [r2, 0xF] - ldr r0, [r3] - strb r1, [r0, 0x4] - ldr r0, [r3] - strb r1, [r0, 0x5] - ldr r0, [r3] - strb r1, [r0, 0x6] - ldr r0, _081E1C54 @ =gUnknown_3007464 - ldr r0, [r0] - strb r1, [r0, 0x2] - ldr r0, _081E1C3C @ =0x04000208 - mov r1, r8 - strh r1, [r0] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E1C3C: .4byte 0x04000208 -_081E1C40: .4byte gUnknown_3007450 -_081E1C44: .4byte 0x01000034 -_081E1C48: .4byte gUnknown_3007440 -_081E1C4C: .4byte 0x0100000a -_081E1C50: .4byte gUnknown_3007460 -_081E1C54: .4byte gUnknown_3007464 - thumb_func_end rfu_clearAllSlot - - thumb_func_start rfu_STC_releaseFrame -rfu_STC_releaseFrame: @ 81E1C58 - push {r4-r6,lr} - adds r4, r2, 0 - lsls r0, 24 - lsrs r2, r0, 24 - adds r5, r2, 0 - lsls r1, 24 - lsrs r3, r1, 24 - ldr r0, _081E1C90 @ =gUnknown_3007464 - ldr r0, [r0] - ldrb r1, [r0] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081E1C98 - ldr r6, _081E1C94 @ =gUnknown_3007460 - cmp r3, 0 - bne _081E1C84 - ldr r1, [r6] - ldrb r0, [r1, 0xF] - ldrh r4, [r4, 0x2E] - adds r0, r4 - strb r0, [r1, 0xF] -_081E1C84: - ldr r1, [r6] - ldrb r0, [r1, 0xF] - adds r0, 0x3 - strb r0, [r1, 0xF] - b _081E1CB8 - .align 2, 0 -_081E1C90: .4byte gUnknown_3007464 -_081E1C94: .4byte gUnknown_3007460 -_081E1C98: - ldr r6, _081E1CC0 @ =gUnknown_3007460 - cmp r3, 0 - bne _081E1CAC - ldr r1, [r6] - adds r1, 0x10 - adds r1, r2 - ldrb r0, [r1] - ldrh r4, [r4, 0x2E] - adds r0, r4 - strb r0, [r1] -_081E1CAC: - ldr r1, [r6] - adds r1, 0x10 - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x2 - strb r0, [r1] -_081E1CB8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081E1CC0: .4byte gUnknown_3007460 - thumb_func_end rfu_STC_releaseFrame - - thumb_func_start rfu_clearSlot -rfu_clearSlot: @ 81E1CC4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - cmp r7, 0x3 - bls _081E1CE4 - movs r0, 0x80 - lsls r0, 3 - b _081E1E5C -_081E1CE4: - movs r0, 0xF - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _081E1CF4 - movs r0, 0xC0 - lsls r0, 3 - b _081E1E5C -_081E1CF4: - ldr r1, _081E1D38 @ =0x04000208 - ldrh r0, [r1] - mov r10, r0 - movs r0, 0 - strh r0, [r1] - movs r0, 0xC - mov r2, r8 - ands r0, r2 - cmp r0, 0 - beq _081E1DBC - movs r3, 0 - ldr r1, _081E1D3C @ =gUnknown_3007450 - lsls r0, r7, 2 - adds r0, r1 - mov r9, r0 -_081E1D12: - movs r4, 0 - cmp r3, 0 - bne _081E1D44 - movs r0, 0x4 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _081E1D64 - mov r2, r9 - ldr r4, [r2] - ldr r0, _081E1D40 @ =gUnknown_3007460 - ldr r2, [r0] - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - ldrb r0, [r2, 0x4] - bics r0, r1 - strb r0, [r2, 0x4] - b _081E1D64 - .align 2, 0 -_081E1D38: .4byte 0x04000208 -_081E1D3C: .4byte gUnknown_3007450 -_081E1D40: .4byte gUnknown_3007460 -_081E1D44: - movs r0, 0x8 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _081E1D64 - mov r2, r9 - ldr r0, [r2] - adds r4, r0, 0 - adds r4, 0x34 - ldr r0, _081E1DF8 @ =gUnknown_3007460 - ldr r2, [r0] - movs r1, 0x1 - lsls r1, r7 - ldrb r0, [r2, 0x5] - bics r0, r1 - strb r0, [r2, 0x5] -_081E1D64: - adds r6, r3, 0x1 - cmp r4, 0 - beq _081E1DB4 - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _081E1DA4 - lsls r1, r3, 24 - lsrs r1, 24 - adds r0, r7, 0 - adds r2, r4, 0 - bl rfu_STC_releaseFrame - movs r1, 0 - adds r2, r4, 0 - adds r2, 0x2C - movs r5, 0x1 - movs r3, 0 -_081E1D8E: - ldrb r0, [r2] - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _081E1D9A - strh r3, [r4, 0x2] -_081E1D9A: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x3 - bls _081E1D8E -_081E1DA4: - mov r1, sp - movs r0, 0 - strh r0, [r1] - mov r0, sp - adds r1, r4, 0 - ldr r2, _081E1DFC @ =0x0100001a - bl CpuSet -_081E1DB4: - lsls r0, r6, 16 - lsrs r3, r0, 16 - cmp r3, 0x1 - bls _081E1D12 -_081E1DBC: - movs r0, 0x1 - mov r4, r8 - ands r0, r4 - cmp r0, 0 - beq _081E1E32 - ldr r1, _081E1E00 @ =gUnknown_3007440 - lsls r0, r7, 2 - adds r0, r1 - ldr r3, [r0] - ldrh r1, [r3] - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _081E1E24 - ldr r0, _081E1E04 @ =gUnknown_3007464 - ldr r0, [r0] - ldrb r1, [r0] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081E1E08 - ldr r2, _081E1DF8 @ =gUnknown_3007460 - ldr r1, [r2] - ldrb r0, [r1, 0xF] - adds r0, 0x3 - ldrb r4, [r3, 0x4] - adds r0, r4 - strb r0, [r1, 0xF] - b _081E1E1A - .align 2, 0 -_081E1DF8: .4byte gUnknown_3007460 -_081E1DFC: .4byte 0x0100001a -_081E1E00: .4byte gUnknown_3007440 -_081E1E04: .4byte gUnknown_3007464 -_081E1E08: - ldr r2, _081E1E6C @ =gUnknown_3007460 - ldr r1, [r2] - adds r1, 0x10 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x2 - ldrb r4, [r3, 0x4] - adds r0, r4 - strb r0, [r1] -_081E1E1A: - ldr r2, [r2] - ldrb r1, [r3, 0x3] - ldrb r0, [r2, 0x6] - bics r0, r1 - strb r0, [r2, 0x6] -_081E1E24: - mov r0, sp - movs r1, 0 - strh r1, [r0] - ldr r2, _081E1E70 @ =0x01000006 - adds r1, r3, 0 - bl CpuSet -_081E1E32: - movs r0, 0x2 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _081E1E54 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, _081E1E74 @ =gUnknown_3007440 - lsls r0, r7, 2 - adds r0, r1 - ldr r1, [r0] - adds r1, 0xC - ldr r2, _081E1E78 @ =0x01000004 - mov r0, sp - bl CpuSet -_081E1E54: - ldr r0, _081E1E7C @ =0x04000208 - mov r2, r10 - strh r2, [r0] - movs r0, 0 -_081E1E5C: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081E1E6C: .4byte gUnknown_3007460 -_081E1E70: .4byte 0x01000006 -_081E1E74: .4byte gUnknown_3007440 -_081E1E78: .4byte 0x01000004 -_081E1E7C: .4byte 0x04000208 - thumb_func_end rfu_clearSlot - - thumb_func_start rfu_setRecvBuffer -rfu_setRecvBuffer: @ 81E1E80 - push {r4-r6,lr} - adds r5, r2, 0 - adds r6, r3, 0 - lsls r0, 24 - lsrs r3, r0, 24 - adds r2, r3, 0 - lsls r1, 24 - lsrs r1, 24 - adds r4, r1, 0 - cmp r1, 0x3 - bls _081E1E9C - movs r0, 0x80 - lsls r0, 3 - b _081E1ED4 -_081E1E9C: - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _081E1EB8 - ldr r0, _081E1EB4 @ =gUnknown_3007450 - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - str r5, [r0, 0x68] - str r6, [r0, 0x6C] - b _081E1ED2 - .align 2, 0 -_081E1EB4: .4byte gUnknown_3007450 -_081E1EB8: - movs r0, 0x10 - ands r2, r0 - cmp r2, 0 - bne _081E1EC6 - movs r0, 0xC0 - lsls r0, 3 - b _081E1ED4 -_081E1EC6: - ldr r0, _081E1EDC @ =gUnknown_3007440 - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r1] - str r5, [r0, 0x14] - str r6, [r0, 0x18] -_081E1ED2: - movs r0, 0 -_081E1ED4: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081E1EDC: .4byte gUnknown_3007440 - thumb_func_end rfu_setRecvBuffer - - thumb_func_start rfu_NI_setSendData -rfu_NI_setSendData: @ 81E1EE0 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - str r3, [sp] - movs r0, 0x20 - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl rfu_STC_setSendData_org - lsls r0, 16 - lsrs r0, 16 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end rfu_NI_setSendData - - thumb_func_start rfu_UNI_setSendData -rfu_UNI_setSendData: @ 81E1F0C - push {lr} - sub sp, 0x4 - adds r3, r1, 0 - lsls r0, 24 - lsrs r1, r0, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _081E1F28 @ =gUnknown_3007460 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x1 - bne _081E1F2C - adds r0, r2, 0x3 - b _081E1F2E - .align 2, 0 -_081E1F28: .4byte gUnknown_3007460 -_081E1F2C: - adds r0, r2, 0x2 -_081E1F2E: - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x10 - bl rfu_STC_setSendData_org - lsls r0, 16 - lsrs r0, 16 - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end rfu_UNI_setSendData - - thumb_func_start rfu_NI_CHILD_setSendGameName -rfu_NI_CHILD_setSendGameName: @ 81E1F48 - push {lr} - sub sp, 0x4 - adds r2, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x80 - lsls r1, 17 - lsls r1, r0 - lsrs r1, 24 - ldr r0, _081E1F78 @ =gUnknown_3007460 - ldr r3, [r0] - adds r3, 0x98 - movs r0, 0x1A - str r0, [sp] - movs r0, 0x40 - bl rfu_STC_setSendData_org - lsls r0, 16 - lsrs r0, 16 - add sp, 0x4 - pop {r1} - bx r1 - .align 2, 0 -_081E1F78: .4byte gUnknown_3007460 - thumb_func_end rfu_NI_CHILD_setSendGameName - - thumb_func_start rfu_STC_setSendData_org -rfu_STC_setSendData_org: @ 81E1F7C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - str r3, [sp] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldr r0, _081E1FA8 @ =gUnknown_3007460 - ldr r2, [r0] - ldrb r1, [r2] - mov r10, r0 - cmp r1, 0xFF - bne _081E1FB0 - ldr r0, _081E1FAC @ =0x00000301 - b _081E2166 - .align 2, 0 -_081E1FA8: .4byte gUnknown_3007460 -_081E1FAC: .4byte 0x00000301 -_081E1FB0: - movs r0, 0xF - ands r0, r3 - cmp r0, 0 - bne _081E1FBE - movs r0, 0x80 - lsls r0, 3 - b _081E2166 -_081E1FBE: - ldrb r0, [r2, 0x2] - ldrb r1, [r2, 0x3] - orrs r0, r1 - ands r0, r3 - cmp r0, r3 - beq _081E1FD4 - ldr r0, _081E1FD0 @ =0x00000401 - b _081E2166 - .align 2, 0 -_081E1FD0: .4byte 0x00000401 -_081E1FD4: - movs r0, 0x10 - ands r0, r6 - cmp r0, 0 - beq _081E1FE0 - ldrb r0, [r2, 0x6] - b _081E1FE2 -_081E1FE0: - ldrb r0, [r2, 0x4] -_081E1FE2: - ands r0, r3 - cmp r0, 0 - beq _081E1FF0 - ldr r0, _081E1FEC @ =0x00000402 - b _081E2166 - .align 2, 0 -_081E1FEC: .4byte 0x00000402 -_081E1FF0: - movs r2, 0 - movs r0, 0x1 - ands r0, r3 - ldr r4, _081E2020 @ =_Str_RfuHeader - cmp r0, 0 - bne _081E2012 - movs r1, 0x1 -_081E1FFE: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bhi _081E2012 - adds r0, r3, 0 - asrs r0, r2 - ands r0, r1 - cmp r0, 0 - beq _081E1FFE -_081E2012: - mov r0, r10 - ldr r1, [r0] - ldrb r0, [r1] - cmp r0, 0x1 - bne _081E2024 - adds r1, 0xF - b _081E202E - .align 2, 0 -_081E2020: .4byte _Str_RfuHeader -_081E2024: - cmp r0, 0 - bne _081E2030 - adds r0, r2, 0 - adds r0, 0x10 - adds r1, r0 -_081E202E: - mov r9, r1 -_081E2030: - mov r1, r10 - ldr r0, [r1] - ldrb r0, [r0] - lsls r0, 4 - adds r0, r4 - ldrb r4, [r0] - mov r0, r9 - ldrb r0, [r0] - cmp r8, r0 - bhi _081E2048 - cmp r8, r4 - bhi _081E204E -_081E2048: - movs r0, 0xA0 - lsls r0, 3 - b _081E2166 -_081E204E: - ldr r1, _081E209C @ =0x04000208 - ldrh r0, [r1] - str r0, [sp, 0x4] - movs r7, 0 - strh r7, [r1] - movs r0, 0x20 - ands r0, r6 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _081E2068 - cmp r6, 0x40 - bne _081E2124 -_081E2068: - ldr r1, _081E20A0 @ =gUnknown_3007450 - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - mov r12, r0 - movs r1, 0 - strh r1, [r0, 0x18] - mov r1, r12 - adds r1, 0x2D - mov r2, r12 - str r1, [r2, 0x4] - movs r0, 0x7 - str r0, [r2, 0x14] - mov r0, r12 - adds r0, 0x2C - strb r3, [r0] - strb r3, [r2, 0x1A] - mov r2, r8 - subs r0, r2, r4 - mov r2, r12 - strh r0, [r2, 0x2E] - cmp r5, 0 - beq _081E20A4 - strb r7, [r1] - b _081E20A8 - .align 2, 0 -_081E209C: .4byte 0x04000208 -_081E20A0: .4byte gUnknown_3007450 -_081E20A4: - movs r0, 0x1 - strb r0, [r1] -_081E20A8: - ldr r0, [sp, 0x28] - mov r1, r12 - str r0, [r1, 0x30] - ldr r2, [sp] - str r2, [r1, 0x28] - movs r1, 0 - mov r0, r12 - strb r1, [r0, 0x1F] - adds r0, 0x20 - strb r1, [r0] - mov r4, r12 - adds r4, 0x1B - movs r6, 0 - mov r2, r12 - adds r2, 0x21 - movs r5, 0x1 -_081E20C8: - adds r0, r4, r1 - strb r6, [r0] - adds r0, r2, r1 - strb r5, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _081E20C8 - movs r2, 0 - movs r5, 0x1 - ldr r4, _081E211C @ =gUnknown_3007450 - movs r1, 0 -_081E20E2: - adds r0, r3, 0 - asrs r0, r2 - ands r0, r5 - cmp r0, 0 - beq _081E20F4 - lsls r0, r2, 2 - adds r0, r4 - ldr r0, [r0] - strh r1, [r0, 0x2] -_081E20F4: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _081E20E2 - mov r1, r10 - ldr r2, [r1] - ldrb r1, [r2, 0x4] - adds r0, r3, 0 - orrs r0, r1 - strb r0, [r2, 0x4] - mov r2, r9 - ldrb r0, [r2] - mov r1, r8 - subs r0, r1 - strb r0, [r2] - ldr r0, _081E2120 @ =0x00008021 - mov r2, r12 - strh r0, [r2] - b _081E215C - .align 2, 0 -_081E211C: .4byte gUnknown_3007450 -_081E2120: .4byte 0x00008021 -_081E2124: - movs r0, 0x10 - ands r0, r6 - cmp r0, 0 - beq _081E215C - ldr r1, _081E2178 @ =gUnknown_3007440 - lsls r0, r2, 2 - adds r0, r1 - ldr r1, [r0] - strb r3, [r1, 0x3] - ldr r0, [sp] - str r0, [r1, 0x8] - mov r2, r8 - subs r0, r2, r4 - strh r0, [r1, 0x4] - mov r2, r9 - ldrb r0, [r2] - mov r2, r8 - subs r0, r2 - mov r2, r9 - strb r0, [r2] - ldr r0, _081E217C @ =0x00008024 - strh r0, [r1] - mov r0, r10 - ldr r2, [r0] - ldrb r1, [r2, 0x6] - adds r0, r3, 0 - orrs r0, r1 - strb r0, [r2, 0x6] -_081E215C: - ldr r0, _081E2180 @ =0x04000208 - mov r1, sp - ldrh r1, [r1, 0x4] - strh r1, [r0] - movs r0, 0 -_081E2166: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081E2178: .4byte gUnknown_3007440 -_081E217C: .4byte 0x00008024 -_081E2180: .4byte 0x04000208 - thumb_func_end rfu_STC_setSendData_org - - thumb_func_start rfu_changeSendTarget -rfu_changeSendTarget: @ 81E2184 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - cmp r7, 0x3 - bls _081E21A8 - movs r0, 0x80 - lsls r0, 3 - b _081E22DC -_081E21A8: - cmp r0, 0x20 - bne _081E2248 - ldr r0, _081E2238 @ =gUnknown_3007450 - mov r12, r0 - lsls r0, r7, 2 - add r0, r12 - ldr r5, [r0] - ldrh r2, [r5] - ldr r1, _081E223C @ =0x00008020 - adds r0, r1, 0 - ands r0, r2 - cmp r0, r1 - bne _081E225E - ldrb r0, [r5, 0x1A] - adds r3, r6, 0 - eors r3, r0 - adds r2, r3, 0 - ands r2, r6 - cmp r2, 0 - bne _081E2296 - cmp r3, 0 - bne _081E21D6 - b _081E22DA -_081E21D6: - ldr r1, _081E2240 @ =0x04000208 - ldrh r0, [r1] - mov r8, r0 - strh r2, [r1] - movs r2, 0 - mvns r1, r3 - str r1, [sp] - lsls r4, r6, 24 - mov r10, r4 - movs r0, 0x1 - mov r9, r0 - movs r1, 0 -_081E21EE: - adds r0, r3, 0 - asrs r0, r2 - mov r4, r9 - ands r0, r4 - cmp r0, 0 - beq _081E2202 - lsls r0, r2, 2 - add r0, r12 - ldr r0, [r0] - strh r1, [r0, 0x2] -_081E2202: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _081E21EE - ldr r0, _081E2244 @ =gUnknown_3007460 - ldr r1, [r0] - ldrb r0, [r1, 0x4] - ldr r2, [sp] - ands r2, r0 - strb r2, [r1, 0x4] - strb r6, [r5, 0x1A] - mov r0, r10 - cmp r0, 0 - bne _081E222E - adds r0, r7, 0 - movs r1, 0 - adds r2, r5, 0 - bl rfu_STC_releaseFrame - movs r0, 0x27 - strh r0, [r5] -_081E222E: - ldr r0, _081E2240 @ =0x04000208 - mov r1, r8 - strh r1, [r0] - b _081E22DA - .align 2, 0 -_081E2238: .4byte gUnknown_3007450 -_081E223C: .4byte 0x00008020 -_081E2240: .4byte 0x04000208 -_081E2244: .4byte gUnknown_3007460 -_081E2248: - cmp r3, 0x10 - bne _081E22D4 - ldr r3, _081E2264 @ =gUnknown_3007440 - lsls r1, r7, 2 - adds r0, r1, r3 - ldr r0, [r0] - ldrh r2, [r0] - ldr r0, _081E2268 @ =0x00008024 - adds r5, r3, 0 - cmp r2, r0 - beq _081E2270 -_081E225E: - ldr r0, _081E226C @ =0x00000403 - b _081E22DC - .align 2, 0 -_081E2264: .4byte gUnknown_3007440 -_081E2268: .4byte 0x00008024 -_081E226C: .4byte 0x00000403 -_081E2270: - movs r3, 0 - movs r2, 0 - adds r4, r5, 0 -_081E2276: - cmp r2, r7 - beq _081E2284 - lsls r0, r2, 2 - adds r0, r4 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - orrs r3, r0 -_081E2284: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _081E2276 - adds r2, r6, 0 - ands r2, r3 - cmp r2, 0 - beq _081E22A0 -_081E2296: - ldr r0, _081E229C @ =0x00000404 - b _081E22DC - .align 2, 0 -_081E229C: .4byte 0x00000404 -_081E22A0: - ldr r3, _081E22CC @ =0x04000208 - ldrh r0, [r3] - mov r8, r0 - strh r2, [r3] - ldr r4, _081E22D0 @ =gUnknown_3007460 - ldr r2, [r4] - adds r5, r1, r5 - ldr r0, [r5] - ldrb r1, [r0, 0x3] - ldrb r0, [r2, 0x6] - bics r0, r1 - strb r0, [r2, 0x6] - ldr r2, [r4] - ldrb r1, [r2, 0x6] - adds r0, r6, 0 - orrs r0, r1 - strb r0, [r2, 0x6] - ldr r0, [r5] - strb r6, [r0, 0x3] - mov r2, r8 - strh r2, [r3] - b _081E22DA - .align 2, 0 -_081E22CC: .4byte 0x04000208 -_081E22D0: .4byte gUnknown_3007460 -_081E22D4: - movs r0, 0xC0 - lsls r0, 3 - b _081E22DC -_081E22DA: - movs r0, 0 -_081E22DC: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end rfu_changeSendTarget - - thumb_func_start rfu_NI_stopReceivingData -rfu_NI_stopReceivingData: @ 81E22EC - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _081E22FC - movs r0, 0x80 - lsls r0, 3 - b _081E2356 -_081E22FC: - ldr r1, _081E2328 @ =gUnknown_3007450 - lsls r0, r3, 2 - adds r0, r1 - ldr r2, [r0] - adds r5, r2, 0 - adds r5, 0x34 - ldr r1, _081E232C @ =0x04000208 - ldrh r0, [r1] - adds r4, r0, 0 - movs r0, 0 - strh r0, [r1] - ldrh r1, [r2, 0x34] - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _081E2350 - ldr r0, _081E2330 @ =0x00008043 - cmp r1, r0 - bne _081E2334 - movs r0, 0x48 - b _081E2336 - .align 2, 0 -_081E2328: .4byte gUnknown_3007450 -_081E232C: .4byte 0x04000208 -_081E2330: .4byte 0x00008043 -_081E2334: - movs r0, 0x47 -_081E2336: - strh r0, [r2, 0x34] - ldr r0, _081E235C @ =gUnknown_3007460 - ldr r2, [r0] - movs r1, 0x1 - lsls r1, r3 - ldrb r0, [r2, 0x5] - bics r0, r1 - strb r0, [r2, 0x5] - adds r0, r3, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl rfu_STC_releaseFrame -_081E2350: - ldr r0, _081E2360 @ =0x04000208 - strh r4, [r0] - movs r0, 0 -_081E2356: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_081E235C: .4byte gUnknown_3007460 -_081E2360: .4byte 0x04000208 - thumb_func_end rfu_NI_stopReceivingData - - thumb_func_start rfu_UNI_changeAndReadySendData -rfu_UNI_changeAndReadySendData: @ 81E2364 - push {r4-r7,lr} - adds r7, r1, 0 - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - lsls r2, 24 - lsrs r5, r2, 24 - cmp r0, 0x3 - bls _081E237C - movs r0, 0x80 - lsls r0, 3 - b _081E23F0 -_081E237C: - ldr r1, _081E2390 @ =gUnknown_3007440 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - ldrh r1, [r4] - ldr r0, _081E2394 @ =0x00008024 - cmp r1, r0 - beq _081E239C - ldr r0, _081E2398 @ =0x00000403 - b _081E23F0 - .align 2, 0 -_081E2390: .4byte gUnknown_3007440 -_081E2394: .4byte 0x00008024 -_081E2398: .4byte 0x00000403 -_081E239C: - ldr r0, _081E23B0 @ =gUnknown_3007460 - ldr r1, [r0] - ldrb r0, [r1] - cmp r0, 0x1 - bne _081E23B4 - adds r6, r1, 0 - adds r6, 0xF - ldrb r0, [r4, 0x4] - ldrb r1, [r1, 0xF] - b _081E23C2 - .align 2, 0 -_081E23B0: .4byte gUnknown_3007460 -_081E23B4: - adds r0, r3, 0 - adds r0, 0x10 - adds r6, r1, r0 - adds r1, 0x10 - adds r1, r3 - ldrb r0, [r4, 0x4] - ldrb r1, [r1] -_081E23C2: - adds r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r5 - bcc _081E23EC - ldr r2, _081E23E8 @ =0x04000208 - ldrh r1, [r2] - movs r0, 0 - strh r0, [r2] - str r7, [r4, 0x8] - subs r0, r3, r5 - strb r0, [r6] - strh r5, [r4, 0x4] - movs r0, 0x1 - strb r0, [r4, 0x2] - strh r1, [r2] - movs r0, 0 - b _081E23F0 - .align 2, 0 -_081E23E8: .4byte 0x04000208 -_081E23EC: - movs r0, 0xA0 - lsls r0, 3 -_081E23F0: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end rfu_UNI_changeAndReadySendData - - thumb_func_start rfu_UNI_readySendData -rfu_UNI_readySendData: @ 81E23F8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bhi _081E2416 - ldr r1, _081E241C @ =gUnknown_3007440 - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - ldrh r1, [r2] - ldr r0, _081E2420 @ =0x00008024 - cmp r1, r0 - bne _081E2416 - movs r0, 0x1 - strb r0, [r2, 0x2] -_081E2416: - pop {r0} - bx r0 - .align 2, 0 -_081E241C: .4byte gUnknown_3007440 -_081E2420: .4byte 0x00008024 - thumb_func_end rfu_UNI_readySendData - - thumb_func_start rfu_UNI_clearRecvNewDataFlag -rfu_UNI_clearRecvNewDataFlag: @ 81E2424 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bhi _081E243A - ldr r1, _081E2440 @ =gUnknown_3007440 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x12] -_081E243A: - pop {r0} - bx r0 - .align 2, 0 -_081E2440: .4byte gUnknown_3007440 - thumb_func_end rfu_UNI_clearRecvNewDataFlag - - thumb_func_start rfu_REQ_sendData -rfu_REQ_sendData: @ 81E2444 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _081E2490 @ =gUnknown_3007460 - ldr r2, [r0] - ldrb r1, [r2] - adds r4, r0, 0 - cmp r1, 0xFF - bne _081E2458 - b _081E257E -_081E2458: - cmp r1, 0x1 - bne _081E24E8 - ldrb r0, [r2, 0x4] - ldrb r1, [r2, 0x5] - adds r3, r0, 0 - orrs r3, r1 - ldrb r0, [r2, 0x6] - orrs r3, r0 - cmp r3, 0 - bne _081E24E8 - ldr r0, _081E2494 @ =gUnknown_3007464 - ldr r2, [r0] - ldrb r1, [r2, 0x3] - adds r4, r0, 0 - cmp r1, 0 - beq _081E2480 - movs r0, 0x10 - strb r0, [r2, 0x8] - ldr r0, [r4] - strb r3, [r0, 0x7] -_081E2480: - ldr r1, [r4] - ldrb r0, [r1, 0x8] - cmp r0, 0 - beq _081E2498 - subs r0, 0x1 - strb r0, [r1, 0x8] - b _081E249E - .align 2, 0 -_081E2490: .4byte gUnknown_3007460 -_081E2494: .4byte gUnknown_3007464 -_081E2498: - ldrb r0, [r1, 0x7] - adds r0, 0x1 - strb r0, [r1, 0x7] -_081E249E: - ldr r1, [r4] - ldrb r0, [r1, 0x8] - cmp r0, 0 - bne _081E24B0 - ldrb r1, [r1, 0x7] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _081E2542 -_081E24B0: - ldr r4, _081E24D4 @ =gUnknown_3007468 - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1, 0x68] - movs r0, 0xFF - str r0, [r1, 0x78] - ldr r0, _081E24D8 @ =sub_81E2630 - bl STWI_set_Callback_M - cmp r5, 0 - bne _081E24DC - ldr r0, [r4] - adds r0, 0x68 - movs r1, 0x1 - bl STWI_send_DataTxREQ - b _081E257E - .align 2, 0 -_081E24D4: .4byte gUnknown_3007468 -_081E24D8: .4byte sub_81E2630 -_081E24DC: - ldr r0, [r4] - adds r0, 0x68 - movs r1, 0x1 - bl STWI_send_DataTxAndChangeREQ - b _081E257E -_081E24E8: - ldr r0, [r4] - ldrb r0, [r0, 0xE] - cmp r0, 0 - bne _081E24F4 - bl rfu_constructSendLLFrame -_081E24F4: - ldr r0, [r4] - ldrb r0, [r0, 0xE] - cmp r0, 0 - beq _081E2542 - ldr r0, _081E2520 @ =rfu_CB_sendData - bl STWI_set_Callback_M - cmp r5, 0 - beq _081E252C - ldr r0, _081E2524 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0x68 - ldr r1, _081E2528 @ =gUnknown_3007464 - ldr r1, [r1] - ldr r1, [r1, 0x24] - adds r1, 0x4 - lsls r1, 24 - lsrs r1, 24 - bl STWI_send_DataTxAndChangeREQ - b _081E257E - .align 2, 0 -_081E2520: .4byte rfu_CB_sendData -_081E2524: .4byte gUnknown_3007468 -_081E2528: .4byte gUnknown_3007464 -_081E252C: - ldr r0, _081E2564 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0x68 - ldr r1, _081E2568 @ =gUnknown_3007464 - ldr r1, [r1] - ldr r1, [r1, 0x24] - adds r1, 0x4 - lsls r1, 24 - lsrs r1, 24 - bl STWI_send_DataTxREQ -_081E2542: - cmp r5, 0 - beq _081E257E - ldr r0, _081E256C @ =gUnknown_3007460 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x1 - bne _081E2574 - ldr r0, _081E2570 @ =gRfuState - ldr r0, [r0] - ldr r1, [r0, 0x1C] - cmp r1, 0 - beq _081E257E - movs r0, 0x27 - bl _call_via_r1 - b _081E257E - .align 2, 0 -_081E2564: .4byte gUnknown_3007468 -_081E2568: .4byte gUnknown_3007464 -_081E256C: .4byte gUnknown_3007460 -_081E2570: .4byte gRfuState -_081E2574: - ldr r0, _081E2584 @ =rfu_CB_sendData2 - bl STWI_set_Callback_M - bl STWI_send_MS_ChangeREQ -_081E257E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081E2584: .4byte rfu_CB_sendData2 - thumb_func_end rfu_REQ_sendData - - thumb_func_start rfu_CB_sendData -rfu_CB_sendData: @ 81E2588 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r1, 16 - lsrs r7, r1, 16 - cmp r7, 0 - bne _081E25F2 - movs r6, 0 - ldr r0, _081E2610 @ =0x00008020 - mov r8, r0 -_081E259C: - ldr r0, _081E2614 @ =gUnknown_3007440 - lsls r2, r6, 2 - adds r0, r2, r0 - ldr r1, [r0] - ldrb r0, [r1, 0x2] - cmp r0, 0 - beq _081E25AE - movs r0, 0 - strb r0, [r1, 0x2] -_081E25AE: - ldr r0, _081E2618 @ =gUnknown_3007450 - adds r0, r2, r0 - ldr r4, [r0] - ldrh r0, [r4] - cmp r0, r8 - bne _081E25E8 - adds r0, r6, 0 - movs r1, 0 - adds r2, r4, 0 - bl rfu_STC_releaseFrame - ldr r5, _081E261C @ =gUnknown_3007460 - ldr r2, [r5] - ldrb r1, [r4, 0x1A] - ldrb r0, [r2, 0x4] - bics r0, r1 - strb r0, [r2, 0x4] - adds r0, r4, 0 - adds r0, 0x2D - ldrb r3, [r0] - cmp r3, 0x1 - bne _081E25E4 - ldr r1, [r5] - lsls r3, r6 - ldrb r0, [r1, 0x7] - orrs r3, r0 - strb r3, [r1, 0x7] -_081E25E4: - movs r0, 0x26 - strh r0, [r4] -_081E25E8: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _081E259C -_081E25F2: - ldr r0, _081E261C @ =gUnknown_3007460 - ldr r1, [r0] - ldrb r0, [r1, 0xE] - movs r0, 0 - strb r0, [r1, 0xE] - movs r0, 0x24 - adds r1, r7, 0 - bl rfu_STC_REQ_callback - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E2610: .4byte 0x00008020 -_081E2614: .4byte gUnknown_3007440 -_081E2618: .4byte gUnknown_3007450 -_081E261C: .4byte gUnknown_3007460 - thumb_func_end rfu_CB_sendData - - thumb_func_start rfu_CB_sendData2 -rfu_CB_sendData2: @ 81E2620 - push {lr} - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x24 - bl rfu_STC_REQ_callback - pop {r0} - bx r0 - thumb_func_end rfu_CB_sendData2 - - thumb_func_start sub_81E2630 -sub_81E2630: @ 81E2630 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0 - beq _081E2646 - movs r0, 0x24 - bl rfu_STC_REQ_callback - b _081E2652 -_081E2646: - cmp r0, 0xFF - bne _081E2652 - movs r0, 0xFF - movs r1, 0 - bl rfu_STC_REQ_callback -_081E2652: - pop {r0} - bx r0 - thumb_func_end sub_81E2630 - - thumb_func_start rfu_constructSendLLFrame -rfu_constructSendLLFrame: @ 81E2658 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r0, _081E2704 @ =gUnknown_3007460 - ldr r2, [r0] - ldrb r0, [r2] - cmp r0, 0xFF - bne _081E2670 - b _081E2774 -_081E2670: - ldrb r0, [r2, 0x4] - ldrb r1, [r2, 0x5] - orrs r0, r1 - ldrb r1, [r2, 0x6] - orrs r0, r1 - cmp r0, 0 - beq _081E2774 - ldrb r0, [r2, 0xE] - movs r0, 0 - strb r0, [r2, 0xE] - mov r8, r0 - ldr r0, _081E2708 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0x6C - str r0, [sp] - movs r6, 0 - movs r0, 0x80 - lsls r0, 8 - mov r9, r0 - ldr r1, _081E270C @ =0x00008024 - mov r10, r1 -_081E269A: - movs r5, 0 - ldr r0, _081E2710 @ =gUnknown_3007450 - lsls r7, r6, 2 - adds r4, r7, r0 - ldr r2, [r4] - ldrh r1, [r2] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - beq _081E26BA - adds r0, r6, 0 - mov r1, sp - bl rfu_STC_NI_constructLLSF - lsls r0, 16 - lsrs r5, r0, 16 -_081E26BA: - ldr r2, [r4] - ldrh r1, [r2, 0x34] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - beq _081E26D6 - adds r2, 0x34 - adds r0, r6, 0 - mov r1, sp - bl rfu_STC_NI_constructLLSF - lsls r0, 16 - lsrs r0, 16 - adds r5, r0 -_081E26D6: - ldr r0, _081E2714 @ =gUnknown_3007440 - adds r0, r7, r0 - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, r10 - bne _081E26F0 - adds r0, r6, 0 - mov r1, sp - bl rfu_STC_UNI_constructLLSF - lsls r0, 16 - lsrs r0, 16 - adds r5, r0 -_081E26F0: - cmp r5, 0 - beq _081E2724 - ldr r0, _081E2704 @ =gUnknown_3007460 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x1 - bne _081E2718 - add r8, r5 - b _081E2724 - .align 2, 0 -_081E2704: .4byte gUnknown_3007460 -_081E2708: .4byte gUnknown_3007468 -_081E270C: .4byte 0x00008024 -_081E2710: .4byte gUnknown_3007450 -_081E2714: .4byte gUnknown_3007440 -_081E2718: - adds r0, r7, r6 - adds r0, 0x8 - lsls r5, r0 - mov r2, r8 - orrs r2, r5 - mov r8, r2 -_081E2724: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _081E269A - ldr r6, _081E2784 @ =gUnknown_3007464 - mov r0, r8 - cmp r0, 0 - beq _081E276E - ldr r2, [sp] - movs r0, 0x3 - ands r0, r2 - ldr r5, _081E2788 @ =gUnknown_3007460 - ldr r1, _081E278C @ =gUnknown_3007468 - cmp r0, 0 - beq _081E2756 - movs r4, 0 - movs r3, 0x3 -_081E2748: - strb r4, [r2] - adds r0, r2, 0x1 - str r0, [sp] - adds r2, r0, 0 - ands r0, r3 - cmp r0, 0 - bne _081E2748 -_081E2756: - ldr r0, [r1] - mov r2, r8 - str r2, [r0, 0x68] - ldr r0, [r5] - ldrb r0, [r0] - cmp r0, 0 - bne _081E276E - ldr r0, [sp] - subs r0, 0x6C - ldr r1, [r1] - subs r0, r1 - mov r8, r0 -_081E276E: - ldr r0, [r6] - mov r1, r8 - str r1, [r0, 0x24] -_081E2774: - 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 -_081E2784: .4byte gUnknown_3007464 -_081E2788: .4byte gUnknown_3007460 -_081E278C: .4byte gUnknown_3007468 - thumb_func_end rfu_constructSendLLFrame - - thumb_func_start rfu_STC_NI_constructLLSF -rfu_STC_NI_constructLLSF: @ 81E2790 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r12, r1 - adds r4, r2, 0 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r2, _081E280C @ =gUnknown_3007460 - ldr r0, [r2] - ldrb r0, [r0] - lsls r0, 4 - ldr r1, _081E2810 @ =_Str_RfuHeader - adds r0, r1 - mov r8, r0 - ldrh r1, [r4] - ldr r0, _081E2814 @ =0x00008022 - cmp r1, r0 - bne _081E27FA - adds r3, r4, 0 - adds r3, 0x20 - ldrb r1, [r3] - lsls r1, 2 - adds r5, r4, 0x4 - adds r1, r5, r1 - ldr r2, [r4, 0x28] - ldr r0, [r4, 0x30] - adds r2, r0 - ldr r0, [r1] - adds r6, r3, 0 - cmp r0, r2 - bcc _081E27FA - movs r7, 0 -_081E27D8: - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _081E27E8 - strb r7, [r6] -_081E27E8: - ldrb r1, [r3] - lsls r1, 2 - adds r1, r5, r1 - ldr r2, [r4, 0x28] - ldr r0, [r4, 0x30] - adds r2, r0 - ldr r0, [r1] - cmp r0, r2 - bcs _081E27D8 -_081E27FA: - ldrh r1, [r4] - movs r0, 0x40 - ands r0, r1 - mov r9, r1 - cmp r0, 0 - beq _081E2818 - movs r5, 0 - b _081E285C - .align 2, 0 -_081E280C: .4byte gUnknown_3007460 -_081E2810: .4byte _Str_RfuHeader -_081E2814: .4byte 0x00008022 -_081E2818: - ldr r0, _081E2844 @ =0x00008022 - cmp r9, r0 - bne _081E284C - adds r3, r4, 0 - adds r3, 0x20 - ldrb r0, [r3] - lsls r0, 2 - adds r1, r4, 0x4 - adds r1, r0 - ldrh r7, [r4, 0x2E] - ldr r5, [r1] - adds r2, r5, r7 - ldr r1, [r4, 0x28] - ldr r0, [r4, 0x30] - adds r0, r1, r0 - adds r6, r3, 0 - cmp r2, r0 - bls _081E2848 - subs r0, r5 - lsls r0, 16 - lsrs r5, r0, 16 - b _081E2860 - .align 2, 0 -_081E2844: .4byte 0x00008022 -_081E2848: - adds r5, r7, 0 - b _081E2860 -_081E284C: - ldrh r2, [r4, 0x2E] - ldr r0, [r4, 0x14] - cmp r0, r2 - bcc _081E2858 - adds r5, r2, 0 - b _081E285C -_081E2858: - lsls r0, 16 - lsrs r5, r0, 16 -_081E285C: - adds r6, r4, 0 - adds r6, 0x20 -_081E2860: - movs r3, 0xF - mov r0, r9 - ands r3, r0 - mov r1, r8 - ldrb r1, [r1, 0x3] - lsls r3, r1 - ldrb r0, [r4, 0x1F] - mov r2, r8 - ldrb r2, [r2, 0x4] - lsls r0, r2 - orrs r3, r0 - ldrb r1, [r6] - adds r0, r1, 0 - mov r7, r8 - ldrb r7, [r7, 0x5] - lsls r0, r7 - orrs r3, r0 - adds r0, r4, 0 - adds r0, 0x21 - adds r0, r1 - ldrb r0, [r0] - mov r1, r8 - ldrb r1, [r1, 0x6] - lsls r0, r1 - orrs r3, r0 - orrs r3, r5 - str r3, [sp] - ldr r2, _081E291C @ =gUnknown_3007460 - ldr r0, [r2] - ldrb r0, [r0] - cmp r0, 0x1 - bne _081E28A8 - ldrb r0, [r4, 0x1A] - lsls r0, 18 - orrs r3, r0 - str r3, [sp] -_081E28A8: - mov r2, sp - movs r3, 0 - mov r7, r8 - ldrb r7, [r7] - cmp r3, r7 - bcs _081E28D2 -_081E28B4: - mov r0, r12 - ldr r1, [r0] - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - mov r7, r12 - str r1, [r7] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - mov r0, r8 - ldrb r0, [r0] - cmp r3, r0 - bcc _081E28B4 -_081E28D2: - cmp r5, 0 - beq _081E28F2 - ldrb r1, [r6] - lsls r1, 2 - adds r0, r4, 0x4 - adds r0, r1 - ldr r0, [r0] - str r0, [sp, 0x4] - ldr r0, _081E2920 @ =gUnknown_3007468 - ldr r1, [r0] - add r0, sp, 0x4 - ldr r3, [r1, 0x4] - mov r1, r12 - adds r2, r5, 0 - bl _call_via_r3 -_081E28F2: - ldrh r1, [r4] - ldr r0, _081E2924 @ =0x00008022 - cmp r1, r0 - bne _081E290C - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _081E290C - movs r0, 0 - strb r0, [r6] -_081E290C: - ldr r0, _081E291C @ =gUnknown_3007460 - ldr r2, [r0] - ldrb r1, [r2] - cmp r1, 0x1 - bne _081E2928 - ldrb r0, [r2, 0xE] - strb r1, [r2, 0xE] - b _081E2936 - .align 2, 0 -_081E291C: .4byte gUnknown_3007460 -_081E2920: .4byte gUnknown_3007468 -_081E2924: .4byte 0x00008022 -_081E2928: - movs r0, 0x1 - mov r1, r10 - lsls r0, r1 - ldrb r1, [r2, 0xE] - orrs r0, r1 - ldrb r1, [r2, 0xE] - strb r0, [r2, 0xE] -_081E2936: - mov r2, r8 - ldrb r0, [r2] - adds r0, r5, r0 - lsls r0, 16 - lsrs r0, 16 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end rfu_STC_NI_constructLLSF - - thumb_func_start rfu_STC_UNI_constructLLSF -rfu_STC_UNI_constructLLSF: @ 81E2950 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r6, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _081E2978 @ =gUnknown_3007440 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - ldrb r0, [r4, 0x2] - cmp r0, 0 - beq _081E2974 - ldrb r0, [r4, 0x3] - cmp r0, 0 - bne _081E297C -_081E2974: - movs r0, 0 - b _081E2A18 - .align 2, 0 -_081E2978: .4byte gUnknown_3007440 -_081E297C: - ldr r0, _081E29F4 @ =gUnknown_3007460 - ldr r2, [r0] - ldrb r0, [r2] - lsls r0, 4 - ldr r1, _081E29F8 @ =_Str_RfuHeader - adds r5, r0, r1 - ldrh r0, [r4] - movs r1, 0xF - ands r1, r0 - ldrb r0, [r5, 0x3] - lsls r1, r0 - ldrh r0, [r4, 0x4] - orrs r1, r0 - str r1, [sp] - ldrb r0, [r2] - cmp r0, 0x1 - bne _081E29A6 - ldrb r0, [r4, 0x3] - lsls r0, 18 - orrs r1, r0 - str r1, [sp] -_081E29A6: - mov r2, sp - movs r3, 0 - ldr r1, _081E29FC @ =gUnknown_3007468 - mov r12, r1 - add r7, sp, 0x4 - ldrb r0, [r5] - cmp r3, r0 - bcs _081E29CE -_081E29B6: - ldr r1, [r6] - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - str r1, [r6] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r1, [r5] - cmp r3, r1 - bcc _081E29B6 -_081E29CE: - ldr r0, [r4, 0x8] - str r0, [sp, 0x4] - mov r2, r12 - ldr r0, [r2] - ldrh r2, [r4, 0x4] - ldr r3, [r0, 0x4] - adds r0, r7, 0 - adds r1, r6, 0 - bl _call_via_r3 - ldr r0, _081E29F4 @ =gUnknown_3007460 - ldr r2, [r0] - ldrb r0, [r2] - cmp r0, 0x1 - bne _081E2A00 - ldrb r0, [r2, 0xE] - movs r0, 0x10 - b _081E2A0C - .align 2, 0 -_081E29F4: .4byte gUnknown_3007460 -_081E29F8: .4byte _Str_RfuHeader -_081E29FC: .4byte gUnknown_3007468 -_081E2A00: - movs r0, 0x10 - mov r1, r8 - lsls r0, r1 - ldrb r1, [r2, 0xE] - orrs r0, r1 - ldrb r1, [r2, 0xE] -_081E2A0C: - strb r0, [r2, 0xE] - ldrh r0, [r4, 0x4] - ldrb r5, [r5] - adds r0, r5 - lsls r0, 16 - lsrs r0, 16 -_081E2A18: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end rfu_STC_UNI_constructLLSF - - thumb_func_start rfu_REQ_recvData -rfu_REQ_recvData: @ 81E2A24 - push {r4,lr} - ldr r0, _081E2A58 @ =gUnknown_3007460 - ldr r4, [r0] - ldrb r0, [r4] - cmp r0, 0xFF - beq _081E2A50 - ldr r2, _081E2A5C @ =gUnknown_3007464 - ldr r3, [r2] - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - orrs r0, r1 - ldrb r1, [r4, 0x6] - orrs r0, r1 - movs r1, 0 - strb r0, [r3, 0x3] - ldr r0, [r2] - strb r1, [r0, 0x4] - ldr r0, _081E2A60 @ =rfu_CB_recvData - bl STWI_set_Callback_M - bl STWI_send_DataRxREQ -_081E2A50: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081E2A58: .4byte gUnknown_3007460 -_081E2A5C: .4byte gUnknown_3007464 -_081E2A60: .4byte rfu_CB_recvData - thumb_func_end rfu_REQ_recvData - - thumb_func_start rfu_CB_recvData -rfu_CB_recvData: @ 81E2A64 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 16 - lsrs r7, r1, 16 - cmp r7, 0 - bne _081E2B28 - ldr r0, _081E2AA0 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _081E2B28 - ldr r0, _081E2AA4 @ =gUnknown_3007464 - ldr r0, [r0] - strb r7, [r0, 0x1] - ldr r0, _081E2AA8 @ =gUnknown_3007460 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x1 - bne _081E2AAC - bl rfu_STC_PARENT_analyzeRecvPacket - b _081E2AB0 - .align 2, 0 -_081E2AA0: .4byte gUnknown_3007468 -_081E2AA4: .4byte gUnknown_3007464 -_081E2AA8: .4byte gUnknown_3007460 -_081E2AAC: - bl rfu_STC_CHILD_analyzeRecvPacket -_081E2AB0: - movs r6, 0 - ldr r0, _081E2B40 @ =0x00008043 - mov r8, r0 - ldr r3, _081E2B44 @ =gUnknown_3007460 -_081E2AB8: - ldr r0, _081E2B48 @ =gUnknown_3007450 - lsls r1, r6, 2 - adds r1, r0 - ldr r4, [r1] - ldrh r0, [r4, 0x34] - cmp r0, r8 - bne _081E2B0A - ldr r0, _081E2B4C @ =gUnknown_3007464 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - asrs r0, r6 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081E2B0A - adds r5, r4, 0 - adds r5, 0x34 - adds r0, r4, 0 - adds r0, 0x61 - ldrb r2, [r0] - cmp r2, 0x1 - bne _081E2AEE - ldr r1, [r3] - lsls r2, r6 - ldrb r0, [r1, 0x7] - orrs r2, r0 - strb r2, [r1, 0x7] -_081E2AEE: - adds r0, r6, 0 - movs r1, 0x1 - adds r2, r5, 0 - str r3, [sp] - bl rfu_STC_releaseFrame - ldr r3, [sp] - ldr r2, [r3] - ldrb r1, [r5, 0x1A] - ldrb r0, [r2, 0x5] - bics r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x46 - strh r0, [r4, 0x34] -_081E2B0A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _081E2AB8 - ldr r0, _081E2B4C @ =gUnknown_3007464 - ldr r1, [r0] - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _081E2B28 - adds r7, r0, 0 - movs r1, 0xE0 - lsls r1, 3 - adds r0, r1, 0 - orrs r7, r0 -_081E2B28: - mov r0, r9 - adds r1, r7, 0 - bl rfu_STC_REQ_callback - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E2B40: .4byte 0x00008043 -_081E2B44: .4byte gUnknown_3007460 -_081E2B48: .4byte gUnknown_3007450 -_081E2B4C: .4byte gUnknown_3007464 - thumb_func_end rfu_CB_recvData - - thumb_func_start rfu_STC_PARENT_analyzeRecvPacket -rfu_STC_PARENT_analyzeRecvPacket: @ 81E2B50 - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, _081E2BE0 @ =gUnknown_3007468 - ldr r0, [r1] - adds r0, 0xDC - ldr r0, [r0] - ldr r0, [r0, 0x4] - lsrs r3, r0, 8 - movs r5, 0 - mov r12, r1 - movs r7, 0x1F - ldr r4, _081E2BE4 @ =gUnknown_3007464 - movs r6, 0x1 -_081E2B6A: - mov r0, sp - adds r1, r0, r5 - adds r0, r3, 0 - ands r0, r7 - strb r0, [r1] - lsrs r3, 5 - cmp r0, 0 - bne _081E2B86 - ldr r0, [r4] - adds r1, r6, 0 - lsls r1, r5 - ldrb r2, [r0, 0x1] - orrs r1, r2 - strb r1, [r0, 0x1] -_081E2B86: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _081E2B6A - mov r1, r12 - ldr r0, [r1] - adds r0, 0xDC - ldr r0, [r0] - adds r6, r0, 0 - adds r6, 0x8 - movs r5, 0 -_081E2B9E: - mov r0, sp - adds r1, r0, r5 - ldrb r0, [r1] - adds r7, r5, 0x1 - cmp r0, 0 - beq _081E2BD0 - adds r4, r1, 0 -_081E2BAC: - ldrb r2, [r4] - adds r0, r5, 0 - adds r1, r6, 0 - bl rfu_STC_analyzeLLSF - lsls r0, 24 - lsrs r0, 24 - adds r6, r0 - ldrb r1, [r4] - subs r1, r0 - strb r1, [r4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081E2BD0 - lsls r0, r1, 24 - cmp r0, 0 - bne _081E2BAC -_081E2BD0: - lsls r0, r7, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _081E2B9E - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E2BE0: .4byte gUnknown_3007468 -_081E2BE4: .4byte gUnknown_3007464 - thumb_func_end rfu_STC_PARENT_analyzeRecvPacket - - thumb_func_start rfu_STC_CHILD_analyzeRecvPacket -rfu_STC_CHILD_analyzeRecvPacket: @ 81E2BE8 - push {r4-r6,lr} - ldr r0, _081E2C38 @ =gUnknown_3007468 - ldr r0, [r0] - adds r0, 0xDC - ldr r1, [r0] - ldrh r0, [r1, 0x4] - movs r4, 0x7F - ands r4, r0 - adds r5, r1, 0 - adds r5, 0x8 - cmp r4, 0 - bne _081E2C08 - ldr r0, _081E2C3C @ =gUnknown_3007464 - ldr r1, [r0] - movs r0, 0xF - strb r0, [r1, 0x1] -_081E2C08: - movs r0, 0x80 - lsls r0, 8 - adds r6, r0, 0 -_081E2C0E: - cmp r4, 0 - beq _081E2C30 - movs r0, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl rfu_STC_analyzeLLSF - lsls r0, 16 - lsrs r0, 16 - adds r5, r0 - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - ands r0, r6 - cmp r0, 0 - beq _081E2C0E -_081E2C30: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081E2C38: .4byte gUnknown_3007468 -_081E2C3C: .4byte gUnknown_3007464 - thumb_func_end rfu_STC_CHILD_analyzeRecvPacket - - thumb_func_start rfu_STC_analyzeLLSF -rfu_STC_analyzeLLSF: @ 81E2C40 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r7, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r2, 16 - lsrs r3, r2, 16 - ldr r2, _081E2C74 @ =gUnknown_3007460 - ldr r0, [r2] - ldrb r0, [r0] - mvns r0, r0 - movs r1, 0x1 - ands r0, r1 - lsls r0, 4 - ldr r1, _081E2C78 @ =_Str_RfuHeader - adds r6, r0, r1 - ldrb r0, [r6] - cmp r3, r0 - bcs _081E2C7C - adds r0, r3, 0 - b _081E2E6E - .align 2, 0 -_081E2C74: .4byte gUnknown_3007460 -_081E2C78: .4byte _Str_RfuHeader -_081E2C7C: - movs r5, 0 - movs r4, 0 - ldrb r3, [r6, 0x1] - ldrb r1, [r6, 0x7] - mov r8, r1 - ldr r2, [sp] - mov r9, r2 - cmp r4, r0 - bcs _081E2CA4 - adds r2, r0, 0 -_081E2C90: - ldrb r0, [r7] - lsls r1, r4, 3 - lsls r0, r1 - orrs r5, r0 - adds r7, 0x1 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r2 - bcc _081E2C90 -_081E2CA4: - adds r0, r5, 0 - lsrs r0, r3 - mov r3, r8 - ands r0, r3 - ldr r1, _081E2D7C @ =0xffffff00 - mov r10, r1 - mov r3, r10 - mov r2, r9 - ands r3, r2 - orrs r3, r0 - str r3, [sp] - adds r0, r5, 0 - ldrb r1, [r6, 0x2] - lsrs r0, r1 - ldrb r1, [r6, 0x8] - ands r0, r1 - lsls r0, 8 - ldr r4, _081E2D80 @ =0xffff00ff - adds r2, r4, 0 - ands r2, r3 - orrs r2, r0 - str r2, [sp] - adds r0, r5, 0 - ldrb r3, [r6, 0x3] - lsrs r0, r3 - ldrb r1, [r6, 0x9] - ands r0, r1 - lsls r0, 16 - ldr r3, _081E2D84 @ =0xff00ffff - ands r3, r2 - orrs r3, r0 - str r3, [sp] - adds r0, r5, 0 - ldrb r1, [r6, 0x4] - lsrs r0, r1 - ldrb r1, [r6, 0xA] - ands r0, r1 - lsls r0, 24 - ldr r2, _081E2D88 @ =0x00ffffff - mov r8, r2 - mov r1, r8 - ands r1, r3 - orrs r1, r0 - mov r8, r1 - str r1, [sp] - adds r1, r5, 0 - ldrb r2, [r6, 0x5] - lsrs r1, r2 - ldrb r0, [r6, 0xB] - ands r1, r0 - mov r9, sp - ldr r2, [sp, 0x4] - mov r3, r10 - ands r2, r3 - orrs r2, r1 - str r2, [sp, 0x4] - adds r0, r5, 0 - ldrb r1, [r6, 0x6] - lsrs r0, r1 - ldrb r1, [r6, 0xC] - ands r0, r1 - lsls r0, 8 - ands r4, r2 - orrs r4, r0 - str r4, [sp, 0x4] - ldrh r0, [r6, 0xE] - ands r5, r0 - lsls r1, r5, 16 - ldr r0, _081E2D8C @ =0x0000ffff - ands r0, r4 - orrs r0, r1 - str r0, [sp, 0x4] - lsrs r0, 16 - ldrb r6, [r6] - adds r0, r6 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - beq _081E2D4A - b _081E2E6C -_081E2D4A: - ldr r2, _081E2D90 @ =gUnknown_3007460 - ldr r3, [r2] - ldrb r2, [r3] - cmp r2, 0x1 - bne _081E2E08 - ldrb r0, [r3, 0x2] - mov r5, r12 - asrs r0, r5 - ands r0, r2 - cmp r0, 0 - bne _081E2D62 - b _081E2E6C -_081E2D62: - mov r1, r8 - lsrs r0, r1, 16 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _081E2D94 - mov r0, r12 - mov r1, sp - adds r2, r7, 0 - bl rfu_STC_UNI_receive - b _081E2E6C - .align 2, 0 -_081E2D7C: .4byte 0xffffff00 -_081E2D80: .4byte 0xffff00ff -_081E2D84: .4byte 0xff00ffff -_081E2D88: .4byte 0x00ffffff -_081E2D8C: .4byte 0x0000ffff -_081E2D90: .4byte gUnknown_3007460 -_081E2D94: - mov r5, r9 - ldrb r0, [r5, 0x3] - cmp r0, 0 - bne _081E2DA8 - mov r0, r12 - mov r1, sp - adds r2, r7, 0 - bl rfu_STC_NI_receive_Receiver - b _081E2E6C -_081E2DA8: - movs r4, 0 - ldr r1, _081E2DC0 @ =gUnknown_3007450 - ldr r0, [r1] - ldrb r0, [r0, 0x1A] - mov r5, r12 - asrs r0, r5 - ands r0, r2 - cmp r0, 0 - beq _081E2DC4 - ldrb r0, [r3, 0x4] - b _081E2DEA - .align 2, 0 -_081E2DC0: .4byte gUnknown_3007450 -_081E2DC4: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bhi _081E2E6C - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1A] - mov r2, r12 - asrs r0, r2 - movs r2, 0x1 - ands r0, r2 - cmp r0, 0 - beq _081E2DC4 - ldr r3, _081E2E04 @ =gUnknown_3007460 - ldr r0, [r3] - ldrb r0, [r0, 0x4] - mov r5, r12 -_081E2DEA: - asrs r0, r5 - ands r0, r2 - cmp r0, 0 - beq _081E2DC4 - cmp r4, 0x3 - bhi _081E2E6C - adds r0, r4, 0 - mov r1, r12 - mov r2, sp - adds r3, r7, 0 - bl rfu_STC_NI_receive_Sender - b _081E2E6C - .align 2, 0 -_081E2E04: .4byte gUnknown_3007460 -_081E2E08: - ldrb r1, [r3, 0x2] - mov r2, r9 - ldrb r0, [r2, 0x1] - adds r5, r1, 0 - ands r5, r0 - cmp r5, 0 - beq _081E2E6C - movs r4, 0 - movs r6, 0x1 -_081E2E1A: - adds r0, r5, 0 - asrs r0, r4 - ands r0, r6 - cmp r0, 0 - beq _081E2E62 - mov r1, sp - ldrb r0, [r1, 0x2] - cmp r0, 0x4 - bne _081E2E36 - adds r0, r4, 0 - adds r2, r7, 0 - bl rfu_STC_UNI_receive - b _081E2E62 -_081E2E36: - ldrb r0, [r1, 0x3] - cmp r0, 0 - bne _081E2E48 - adds r0, r4, 0 - mov r1, sp - adds r2, r7, 0 - bl rfu_STC_NI_receive_Receiver - b _081E2E62 -_081E2E48: - ldr r0, _081E2E80 @ =gUnknown_3007460 - ldr r0, [r0] - ldrb r0, [r0, 0x4] - asrs r0, r4 - ands r0, r6 - cmp r0, 0 - beq _081E2E62 - adds r0, r4, 0 - adds r1, r4, 0 - mov r2, sp - adds r3, r7, 0 - bl rfu_STC_NI_receive_Sender -_081E2E62: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081E2E1A -_081E2E6C: - mov r0, r10 -_081E2E6E: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081E2E80: .4byte gUnknown_3007460 - thumb_func_end rfu_STC_analyzeLLSF - - thumb_func_start rfu_STC_UNI_receive -rfu_STC_UNI_receive: @ 81E2E84 - push {r4-r7,lr} - sub sp, 0x8 - adds r6, r1, 0 - str r2, [sp] - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, _081E2EB8 @ =gUnknown_3007440 - lsls r1, r7, 2 - adds r1, r2 - ldr r3, [r1] - adds r5, r3, 0 - adds r5, 0xC - movs r4, 0 - movs r0, 0 - strh r0, [r5, 0x2] - ldr r0, [r1] - ldr r0, [r0, 0x18] - adds r1, r2, 0 - ldrh r2, [r6, 0x6] - cmp r0, r2 - bcs _081E2EC0 - movs r0, 0x49 - strh r0, [r3, 0xC] - ldr r0, _081E2EBC @ =0x00000701 - strh r0, [r5, 0x2] - b _081E2F0E - .align 2, 0 -_081E2EB8: .4byte gUnknown_3007440 -_081E2EBC: .4byte 0x00000701 -_081E2EC0: - ldrb r0, [r5, 0x7] - cmp r0, 0 - beq _081E2ED8 - ldrb r0, [r5, 0x6] - cmp r0, 0 - beq _081E2EE4 - ldr r0, _081E2ED4 @ =0x00000709 - strh r0, [r5, 0x2] - b _081E2F0E - .align 2, 0 -_081E2ED4: .4byte 0x00000709 -_081E2ED8: - ldrb r0, [r5, 0x6] - cmp r0, 0 - beq _081E2EE4 - movs r0, 0xE1 - lsls r0, 3 - strh r0, [r5, 0x2] -_081E2EE4: - movs r4, 0 - ldr r0, _081E2F2C @ =0x00008042 - strh r0, [r5] - ldrh r0, [r6, 0x6] - strh r0, [r5, 0x4] - ldrh r2, [r6, 0x6] - lsls r0, r7, 2 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0, 0x14] - str r0, [sp, 0x4] - ldr r0, _081E2F30 @ =gUnknown_3007468 - ldr r0, [r0] - add r1, sp, 0x4 - ldr r3, [r0, 0x4] - mov r0, sp - bl _call_via_r3 - movs r0, 0x1 - strb r0, [r5, 0x6] - strh r4, [r5] -_081E2F0E: - ldrh r0, [r5, 0x2] - cmp r0, 0 - beq _081E2F22 - ldr r0, _081E2F34 @ =gUnknown_3007464 - ldr r2, [r0] - movs r0, 0x10 - lsls r0, r7 - ldrb r1, [r2, 0x4] - orrs r0, r1 - strb r0, [r2, 0x4] -_081E2F22: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E2F2C: .4byte 0x00008042 -_081E2F30: .4byte gUnknown_3007468 -_081E2F34: .4byte gUnknown_3007464 - thumb_func_end rfu_STC_UNI_receive - - thumb_func_start rfu_STC_NI_receive_Sender -rfu_STC_NI_receive_Sender: @ 81E2F38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r2, 0 - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - ldr r1, _081E3004 @ =gUnknown_3007450 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - mov r12, r0 - ldrh r0, [r0] - mov r9, r0 - mov r0, r12 - adds r0, 0x21 - ldrb r2, [r6, 0x4] - adds r0, r2 - ldrb r0, [r0] - str r0, [sp] - ldrb r2, [r6, 0x2] - cmp r2, 0x2 - bne _081E2F74 - ldr r0, _081E3008 @ =0x00008022 - cmp r9, r0 - beq _081E2F8E -_081E2F74: - cmp r2, 0x1 - bne _081E2F7E - ldr r0, _081E300C @ =0x00008021 - cmp r9, r0 - beq _081E2F8E -_081E2F7E: - movs r3, 0x1B - add r3, r12 - mov r8, r3 - cmp r2, 0x3 - bne _081E2FB2 - ldr r0, _081E3010 @ =0x00008023 - cmp r9, r0 - bne _081E2FB2 -_081E2F8E: - ldrb r1, [r6, 0x4] - mov r0, r12 - adds r0, 0x21 - adds r0, r1 - ldrb r0, [r0] - movs r7, 0x1B - add r7, r12 - mov r8, r7 - ldrb r2, [r6, 0x5] - cmp r0, r2 - bne _081E2FB2 - adds r0, r7, r1 - movs r1, 0x1 - mov r3, r10 - lsls r1, r3 - ldrb r2, [r0] - orrs r1, r2 - strb r1, [r0] -_081E2FB2: - ldrb r2, [r6, 0x4] - mov r7, r8 - adds r0, r7, r2 - ldrb r0, [r0] - mov r3, r12 - ldrb r1, [r3, 0x1A] - ands r0, r1 - cmp r0, r1 - bne _081E30AE - adds r3, 0x21 - adds r2, r3, r2 - ldrb r0, [r2] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - movs r1, 0 - strb r0, [r2] - ldrb r0, [r6, 0x4] - add r0, r8 - strb r1, [r0] - mov r7, r12 - ldrh r1, [r7] - ldr r2, _081E3014 @ =0x00007fdf - adds r0, r1, r2 - lsls r0, 16 - lsrs r0, 16 - adds r5, r3, 0 - cmp r0, 0x1 - bhi _081E30A0 - ldr r0, _081E300C @ =0x00008021 - cmp r1, r0 - bne _081E3018 - ldrb r1, [r6, 0x4] - lsls r1, 2 - subs r3, 0x1D - adds r1, r3, r1 - ldrh r2, [r7, 0x2E] - ldr r0, [r1] - adds r0, r2 - str r0, [r1] - b _081E302E - .align 2, 0 -_081E3004: .4byte gUnknown_3007450 -_081E3008: .4byte 0x00008022 -_081E300C: .4byte 0x00008021 -_081E3010: .4byte 0x00008023 -_081E3014: .4byte 0x00007fdf -_081E3018: - ldrb r2, [r6, 0x4] - lsls r2, 2 - mov r3, r12 - adds r3, 0x4 - adds r2, r3, r2 - mov r7, r12 - ldrh r1, [r7, 0x2E] - lsls r1, 2 - ldr r0, [r2] - adds r0, r1 - str r0, [r2] -_081E302E: - mov r0, r12 - ldrh r1, [r0, 0x2E] - ldr r0, [r0, 0x14] - subs r0, r1 - mov r1, r12 - str r0, [r1, 0x14] - cmp r0, 0 - beq _081E3042 - cmp r0, 0 - bge _081E30AE -_081E3042: - mov r0, r12 - adds r0, 0x20 - movs r2, 0 - strb r2, [r0] - mov r7, r12 - ldrh r1, [r7] - ldr r0, _081E3084 @ =0x00008021 - cmp r1, r0 - bne _081E308C - movs r4, 0 -_081E3056: - adds r0, r5, r4 - movs r1, 0x1 - strb r1, [r0] - lsls r1, r4, 2 - adds r1, r3, r1 - mov r2, r12 - ldrh r0, [r2, 0x2E] - adds r2, r0, 0 - muls r2, r4 - mov r7, r12 - ldr r0, [r7, 0x28] - adds r0, r2 - str r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081E3056 - ldr r0, [r7, 0x30] - str r0, [r7, 0x14] - ldr r0, _081E3088 @ =0x00008022 - strh r0, [r7] - b _081E30AE - .align 2, 0 -_081E3084: .4byte 0x00008021 -_081E3088: .4byte 0x00008022 -_081E308C: - strb r2, [r5] - mov r0, r12 - str r2, [r0, 0x14] - ldr r0, _081E309C @ =0x00008023 - mov r1, r12 - strh r0, [r1] - b _081E30AE - .align 2, 0 -_081E309C: .4byte 0x00008023 -_081E30A0: - lsls r1, 16 - ldr r0, _081E3110 @ =0x80230000 - cmp r1, r0 - bne _081E30AE - ldr r0, _081E3114 @ =0x00008020 - mov r2, r12 - strh r0, [r2] -_081E30AE: - mov r3, r12 - ldrh r0, [r3] - cmp r0, r9 - bne _081E30D8 - ldrb r2, [r6, 0x4] - mov r0, r12 - adds r0, 0x21 - adds r0, r2 - ldrb r0, [r0] - ldr r7, [sp] - cmp r0, r7 - bne _081E30D8 - mov r1, r8 - adds r0, r1, r2 - ldrb r0, [r0] - mov r2, r10 - asrs r0, r2 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081E30FE -_081E30D8: - ldr r4, _081E3118 @ =0x04000208 - ldrh r2, [r4] - movs r0, 0 - strh r0, [r4] - ldr r0, _081E311C @ =gUnknown_3007464 - ldr r3, [r0] - movs r0, 0x10 - mov r7, r10 - lsls r0, r7 - ldrb r1, [r3, 0x2] - orrs r0, r1 - movs r1, 0 - strb r0, [r3, 0x2] - lsls r0, r7, 2 - ldr r3, _081E3120 @ =gUnknown_3007450 - adds r0, r3 - ldr r0, [r0] - strh r1, [r0, 0x2] - strh r2, [r4] -_081E30FE: - 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 -_081E3110: .4byte 0x80230000 -_081E3114: .4byte 0x00008020 -_081E3118: .4byte 0x04000208 -_081E311C: .4byte gUnknown_3007464 -_081E3120: .4byte gUnknown_3007450 - thumb_func_end rfu_STC_NI_receive_Sender - - thumb_func_start rfu_STC_NI_receive_Receiver -rfu_STC_NI_receive_Receiver: @ 81E3124 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r1, 0 - str r2, [sp] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r7, 0 - ldr r1, _081E3184 @ =gUnknown_3007450 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - adds r5, r4, 0 - adds r5, 0x34 - ldrh r0, [r4, 0x34] - mov r9, r0 - ldrb r0, [r6, 0x4] - adds r3, r4, 0 - adds r3, 0x55 - adds r0, r3, r0 - ldrb r0, [r0] - mov r10, r0 - ldrb r0, [r6, 0x2] - cmp r0, 0x3 - bne _081E3194 - ldr r0, _081E3188 @ =gUnknown_3007464 - ldr r2, [r0] - movs r0, 0x1 - mov r1, r8 - lsls r0, r1 - ldrb r1, [r2, 0x1] - orrs r0, r1 - strb r0, [r2, 0x1] - ldrh r1, [r4, 0x34] - ldr r0, _081E318C @ =0x00008042 - cmp r1, r0 - bne _081E31DA - adds r0, r4, 0 - adds r0, 0x54 - strb r7, [r0] - strb r7, [r3] - ldr r0, _081E3190 @ =0x00008043 - strh r0, [r4, 0x34] - b _081E31DA - .align 2, 0 -_081E3184: .4byte gUnknown_3007450 -_081E3188: .4byte gUnknown_3007464 -_081E318C: .4byte 0x00008042 -_081E3190: .4byte 0x00008043 -_081E3194: - cmp r0, 0x2 - bne _081E31C0 - ldr r0, _081E31B8 @ =0x00008041 - cmp r9, r0 - bne _081E31AC - ldr r0, [r5, 0x14] - cmp r0, 0 - bne _081E31AC - mov r0, r8 - adds r1, r5, 0 - bl rfu_STC_NI_initSlot_asRecvDataEntity -_081E31AC: - ldrh r1, [r5] - ldr r0, _081E31BC @ =0x00008042 - cmp r1, r0 - bne _081E31DA - b _081E31DE - .align 2, 0 -_081E31B8: .4byte 0x00008041 -_081E31BC: .4byte 0x00008042 -_081E31C0: - cmp r0, 0x1 - bne _081E31DA - ldr r7, _081E328C @ =0x00008041 - cmp r9, r7 - beq _081E31DE - mov r0, r8 - adds r1, r5, 0 - bl rfu_STC_NI_initSlot_asRecvControllData - ldrh r0, [r4, 0x34] - cmp r0, r7 - bne _081E327A - movs r7, 0x1 -_081E31DA: - cmp r7, 0 - beq _081E3234 -_081E31DE: - ldrb r2, [r6, 0x5] - ldrb r3, [r6, 0x4] - adds r4, r5, 0 - adds r4, 0x21 - adds r0, r4, r3 - ldrb r0, [r0] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - cmp r2, r0 - bne _081E3234 - ldr r0, _081E3290 @ =gUnknown_3007468 - ldr r0, [r0] - lsls r1, r3, 2 - adds r1, 0x4 - adds r1, r5, r1 - ldrh r2, [r6, 0x6] - ldr r3, [r0, 0x4] - mov r0, sp - bl _call_via_r3 - ldrh r1, [r5] - ldr r0, _081E3294 @ =0x00008042 - cmp r1, r0 - bne _081E3224 - ldrb r0, [r6, 0x4] - lsls r0, 2 - adds r2, r5, 0x4 - adds r2, r0 - ldrh r0, [r5, 0x2E] - lsls r1, r0, 1 - adds r1, r0 - ldr r0, [r2] - adds r0, r1 - str r0, [r2] -_081E3224: - ldrh r1, [r6, 0x6] - ldr r0, [r5, 0x14] - subs r0, r1 - str r0, [r5, 0x14] - ldrb r0, [r6, 0x4] - adds r0, r4, r0 - ldrb r1, [r6, 0x5] - strb r1, [r0] -_081E3234: - ldrh r0, [r5, 0x18] - cmp r0, 0 - bne _081E327A - ldrb r0, [r6, 0x4] - adds r1, r5, 0 - adds r1, 0x20 - strb r0, [r1] - ldrh r0, [r5] - cmp r0, r9 - bne _081E325C - adds r0, r5, 0 - adds r0, 0x21 - ldrb r2, [r6, 0x4] - adds r0, r2 - ldrb r0, [r0] - cmp r0, r10 - bne _081E325C - ldrb r6, [r6, 0x5] - cmp r0, r6 - bne _081E327A -_081E325C: - ldr r3, _081E3298 @ =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r0, _081E329C @ =gUnknown_3007464 - ldr r4, [r0] - movs r0, 0x1 - mov r1, r8 - lsls r0, r1 - ldrb r1, [r4, 0x2] - orrs r0, r1 - movs r1, 0 - strb r0, [r4, 0x2] - strh r1, [r5, 0x2] - strh r2, [r3] -_081E327A: - 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 -_081E328C: .4byte 0x00008041 -_081E3290: .4byte gUnknown_3007468 -_081E3294: .4byte 0x00008042 -_081E3298: .4byte 0x04000208 -_081E329C: .4byte gUnknown_3007464 - thumb_func_end rfu_STC_NI_receive_Receiver - - thumb_func_start rfu_STC_NI_initSlot_asRecvControllData -rfu_STC_NI_initSlot_asRecvControllData: @ 81E32A0 - push {r4-r7,lr} - adds r2, r1, 0 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _081E32BC @ =gUnknown_3007460 - ldr r3, [r0] - ldrb r1, [r3] - mov r12, r0 - cmp r1, 0x1 - bne _081E32C0 - movs r5, 0x3 - adds r1, r3, 0 - adds r1, 0xF - b _081E32C8 - .align 2, 0 -_081E32BC: .4byte gUnknown_3007460 -_081E32C0: - movs r5, 0x2 - adds r0, r4, 0 - adds r0, 0x10 - adds r1, r3, r0 -_081E32C8: - movs r7, 0x1 - adds r0, r7, 0 - lsls r0, r4 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, r6, 0 - ldrh r3, [r2] - cmp r3, 0 - bne _081E3326 - ldrb r0, [r1] - cmp r0, r5 - bcs _081E3300 - movs r0, 0x49 - strh r0, [r2] - ldr r0, _081E32F8 @ =0x00000702 - strh r0, [r2, 0x18] - ldr r0, _081E32FC @ =gUnknown_3007464 - ldr r2, [r0] - ldrb r1, [r2, 0x4] - adds r0, r6, 0 - orrs r0, r1 - strb r0, [r2, 0x4] - b _081E3326 - .align 2, 0 -_081E32F8: .4byte 0x00000702 -_081E32FC: .4byte gUnknown_3007464 -_081E3300: - strh r3, [r2, 0x18] - ldrb r0, [r1] - subs r0, r5 - strb r0, [r1] - adds r0, r2, 0 - adds r0, 0x2D - str r0, [r2, 0x4] - movs r0, 0x7 - str r0, [r2, 0x14] - strb r7, [r2, 0x1F] - strh r3, [r2, 0x2E] - strb r4, [r2, 0x1A] - ldr r0, _081E332C @ =0x00008041 - strh r0, [r2] - mov r0, r12 - ldr r1, [r0] - ldrb r0, [r1, 0x5] - orrs r4, r0 - strb r4, [r1, 0x5] -_081E3326: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E332C: .4byte 0x00008041 - thumb_func_end rfu_STC_NI_initSlot_asRecvControllData - - thumb_func_start rfu_STC_NI_initSlot_asRecvDataEntity -rfu_STC_NI_initSlot_asRecvDataEntity: @ 81E3330 - push {r4-r7,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - adds r0, 0x2D - ldrb r0, [r0] - cmp r0, 0x1 - bne _081E3354 - ldr r0, _081E3350 @ =gUnknown_3007460 - lsls r1, r5, 5 - adds r1, 0x14 - ldr r0, [r0] - adds r0, r1 - adds r0, 0x4 - b _081E33AA - .align 2, 0 -_081E3350: .4byte gUnknown_3007460 -_081E3354: - ldr r1, _081E3398 @ =gUnknown_3007450 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - ldr r1, [r4, 0x30] - ldr r0, [r2, 0x6C] - cmp r1, r0 - bls _081E33A8 - movs r1, 0x80 - lsls r1, 17 - lsls r1, r5 - lsrs r1, 24 - ldr r0, _081E339C @ =gUnknown_3007464 - ldr r3, [r0] - ldrb r2, [r3, 0x4] - adds r0, r1, 0 - orrs r0, r2 - strb r0, [r3, 0x4] - ldr r0, _081E33A0 @ =gUnknown_3007460 - ldr r2, [r0] - ldrb r0, [r2, 0x5] - bics r0, r1 - strb r0, [r2, 0x5] - ldr r0, _081E33A4 @ =0x00000701 - strh r0, [r4, 0x18] - movs r0, 0x47 - strh r0, [r4] - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl rfu_STC_releaseFrame - b _081E33DC - .align 2, 0 -_081E3398: .4byte gUnknown_3007450 -_081E339C: .4byte gUnknown_3007464 -_081E33A0: .4byte gUnknown_3007460 -_081E33A4: .4byte 0x00000701 -_081E33A8: - ldr r0, [r2, 0x68] -_081E33AA: - str r0, [r4, 0x4] - movs r3, 0 - adds r6, r4, 0 - adds r6, 0x21 - movs r7, 0 - adds r5, r4, 0x4 -_081E33B6: - adds r0, r6, r3 - strb r7, [r0] - lsls r1, r3, 2 - adds r1, r5, r1 - ldrh r0, [r4, 0x2E] - adds r2, r0, 0 - muls r2, r3 - ldr r0, [r4, 0x4] - adds r0, r2 - str r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _081E33B6 - ldr r0, [r4, 0x30] - str r0, [r4, 0x14] - ldr r0, _081E33E4 @ =0x00008042 - strh r0, [r4] -_081E33DC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E33E4: .4byte 0x00008042 - thumb_func_end rfu_STC_NI_initSlot_asRecvDataEntity - - thumb_func_start rfu_NI_checkCommFailCounter -rfu_NI_checkCommFailCounter: @ 81E33E8 - push {r4-r7,lr} - ldr r2, _081E3474 @ =gUnknown_3007460 - ldr r0, [r2] - ldrb r1, [r0, 0x4] - ldrb r0, [r0, 0x5] - orrs r0, r1 - cmp r0, 0 - beq _081E346E - ldr r1, _081E3478 @ =0x04000208 - ldrh r0, [r1] - mov r12, r0 - movs r0, 0 - strh r0, [r1] - ldr r1, _081E347C @ =gUnknown_3007464 - ldr r0, [r1] - ldrb r0, [r0, 0x2] - lsrs r7, r0, 4 - movs r3, 0 - adds r6, r1, 0 - adds r5, r2, 0 - ldr r4, _081E3480 @ =gUnknown_3007450 -_081E3412: - movs r0, 0x80 - lsls r0, 17 - lsls r0, r3 - lsrs r2, r0, 24 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - ands r0, r2 - cmp r0, 0 - beq _081E343A - ldr r0, [r6] - ldrb r0, [r0, 0x2] - ands r0, r2 - cmp r0, 0 - bne _081E343A - lsls r0, r3, 2 - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x2] - adds r0, 0x1 - strh r0, [r1, 0x2] -_081E343A: - ldr r0, [r5] - ldrb r0, [r0, 0x5] - ands r0, r2 - cmp r0, 0 - beq _081E3458 - adds r0, r7, 0 - ands r0, r2 - cmp r0, 0 - bne _081E3458 - lsls r0, r3, 2 - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x36] - adds r0, 0x1 - strh r0, [r1, 0x36] -_081E3458: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _081E3412 - ldr r0, [r6] - movs r1, 0 - strb r1, [r0, 0x2] - ldr r0, _081E3478 @ =0x04000208 - mov r1, r12 - strh r1, [r0] -_081E346E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E3474: .4byte gUnknown_3007460 -_081E3478: .4byte 0x04000208 -_081E347C: .4byte gUnknown_3007464 -_081E3480: .4byte gUnknown_3007450 - thumb_func_end rfu_NI_checkCommFailCounter - - thumb_func_start rfu_REQ_noise -rfu_REQ_noise: @ 81E3484 - push {lr} - ldr r0, _081E3498 @ =rfu_STC_REQ_callback - bl STWI_set_Callback_M - movs r0, 0x1 - movs r1, 0 - bl STWI_send_TestModeREQ - pop {r0} - bx r0 - .align 2, 0 -_081E3498: .4byte rfu_STC_REQ_callback - thumb_func_end rfu_REQ_noise - - thumb_func_start sub_81E349C -sub_81E349C: @ 81E349C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _081E34B4 @ =0x04000208 - ldrh r0, [r0] - cmp r0, 0 - bne _081E34B8 - movs r0, 0x1 - negs r0, r0 - b _081E3538 - .align 2, 0 -_081E34B4: .4byte 0x04000208 -_081E34B8: - ldr r0, _081E34E4 @ =0x04000200 - ldrh r0, [r0] - mov r8, r0 - ldr r4, _081E34E8 @ =gRfuState - ldr r1, [r4] - movs r0, 0xA - str r0, [r1] - ldr r0, _081E34EC @ =sub_81E36B8 - bl STWI_set_Callback_ID - bl sub_81E3550 - ldr r0, [r4] - ldrb r0, [r0, 0xA] - lsls r0, 2 - ldr r1, _081E34F0 @ =0x04000100 - adds r4, r0, r1 - lsls r0, r5, 27 - lsrs r5, r0, 24 - movs r7, 0 - b _081E3506 - .align 2, 0 -_081E34E4: .4byte 0x04000200 -_081E34E8: .4byte gRfuState -_081E34EC: .4byte sub_81E36B8 -_081E34F0: .4byte 0x04000100 -_081E34F4: - strh r6, [r4, 0x2] - strh r6, [r4] - movs r0, 0x83 - strh r0, [r4, 0x2] -_081E34FC: - ldrh r0, [r4] - cmp r0, 0x1F - bls _081E34FC - strh r7, [r4, 0x2] - strh r7, [r4] -_081E3506: - subs r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xFF - beq _081E351A - bl sub_81E35C4 - adds r6, r0, 0 - cmp r6, 0 - beq _081E34F4 -_081E351A: - ldr r1, _081E3544 @ =0x04000208 - movs r0, 0 - strh r0, [r1] - ldr r0, _081E3548 @ =0x04000200 - mov r2, r8 - strh r2, [r0] - movs r0, 0x1 - strh r0, [r1] - ldr r0, _081E354C @ =gRfuState - ldr r1, [r0] - movs r0, 0 - str r0, [r1] - bl STWI_set_Callback_ID - adds r0, r6, 0 -_081E3538: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081E3544: .4byte 0x04000208 -_081E3548: .4byte 0x04000200 -_081E354C: .4byte gRfuState - thumb_func_end sub_81E349C - - thumb_func_start sub_81E3550 -sub_81E3550: @ 81E3550 - push {r4,r5,lr} - sub sp, 0x4 - ldr r3, _081E35A8 @ =0x04000208 - movs r4, 0 - strh r4, [r3] - ldr r2, _081E35AC @ =0x04000200 - ldr r0, _081E35B0 @ =gRfuState - ldr r0, [r0] - movs r1, 0x8 - ldrb r0, [r0, 0xA] - lsls r1, r0 - movs r5, 0x80 - orrs r1, r5 - ldrh r0, [r2] - bics r0, r1 - strh r0, [r2] - movs r0, 0x1 - strh r0, [r3] - ldr r0, _081E35B4 @ =0x04000134 - strh r4, [r0] - subs r2, 0xD8 - movs r1, 0x80 - lsls r1, 5 - adds r0, r1, 0 - strh r0, [r2] - ldrh r0, [r2] - movs r3, 0x81 - lsls r3, 7 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - movs r0, 0 - str r0, [sp] - ldr r1, _081E35B8 @ =gUnknown_3007470 - ldr r2, _081E35BC @ =0x05000003 - mov r0, sp - bl CpuSet - ldr r0, _081E35C0 @ =0x04000202 - strh r5, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081E35A8: .4byte 0x04000208 -_081E35AC: .4byte 0x04000200 -_081E35B0: .4byte gRfuState -_081E35B4: .4byte 0x04000134 -_081E35B8: .4byte gUnknown_3007470 -_081E35BC: .4byte 0x05000003 -_081E35C0: .4byte 0x04000202 - thumb_func_end sub_81E3550 - - thumb_func_start sub_81E35C4 -sub_81E35C4: @ 81E35C4 - push {r4-r7,lr} - ldr r0, _081E35D8 @ =gUnknown_3007470 - ldrb r1, [r0, 0x1] - mov r12, r1 - adds r7, r0, 0 - cmp r1, 0 - beq _081E35DC - cmp r1, 0x1 - beq _081E3614 - b _081E36AC - .align 2, 0 -_081E35D8: .4byte gUnknown_3007470 -_081E35DC: - movs r6, 0x1 - strb r6, [r7] - ldr r3, _081E3608 @ =0x04000128 - ldrh r0, [r3] - movs r5, 0x1 - orrs r0, r5 - strh r0, [r3] - ldr r4, _081E360C @ =0x04000208 - mov r0, r12 - strh r0, [r4] - ldr r2, _081E3610 @ =0x04000200 - ldrh r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strh r0, [r2] - strh r6, [r4] - strb r5, [r7, 0x1] - ldrb r0, [r3] - orrs r0, r1 - strb r0, [r3] - b _081E36B0 - .align 2, 0 -_081E3608: .4byte 0x04000128 -_081E360C: .4byte 0x04000208 -_081E3610: .4byte 0x04000200 -_081E3614: - ldrh r0, [r7, 0xA] - cmp r0, 0 - bne _081E36A8 - ldrb r0, [r7] - cmp r0, 0x1 - bne _081E3644 - ldrh r0, [r7, 0x2] - cmp r0, 0 - bne _081E36B0 - ldr r3, _081E363C @ =0x04000208 - strh r0, [r3] - ldr r2, _081E3640 @ =0x04000128 - ldrh r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strh r0, [r2] - mov r1, r12 - strh r1, [r3] - b _081E36B0 - .align 2, 0 -_081E363C: .4byte 0x04000208 -_081E3640: .4byte 0x04000128 -_081E3644: - ldrh r1, [r7, 0x4] - ldr r0, _081E3690 @ =0x00008001 - cmp r1, r0 - beq _081E36B0 - ldrh r6, [r7, 0x2] - cmp r6, 0 - bne _081E36B0 - ldr r4, _081E3694 @ =0x04000208 - strh r6, [r4] - ldr r3, _081E3698 @ =0x04000200 - ldrh r1, [r3] - ldr r0, _081E369C @ =0x0000ff7f - ands r0, r1 - strh r0, [r3] - mov r7, r12 - strh r7, [r4] - ldr r2, _081E36A0 @ =0x04000128 - strh r6, [r2] - movs r1, 0x80 - lsls r1, 5 - adds r0, r1, 0 - strh r0, [r2] - ldr r0, _081E36A4 @ =0x04000202 - movs r5, 0x80 - strh r5, [r0] - ldrh r0, [r2] - movs r7, 0x81 - lsls r7, 7 - adds r1, r7, 0 - orrs r0, r1 - strh r0, [r2] - strh r6, [r4] - ldrh r0, [r3] - orrs r0, r5 - strh r0, [r3] - mov r0, r12 - strh r0, [r4] - b _081E36B0 - .align 2, 0 -_081E3690: .4byte 0x00008001 -_081E3694: .4byte 0x04000208 -_081E3698: .4byte 0x04000200 -_081E369C: .4byte 0x0000ff7f -_081E36A0: .4byte 0x04000128 -_081E36A4: .4byte 0x04000202 -_081E36A8: - movs r0, 0x2 - strb r0, [r7, 0x1] -_081E36AC: - ldrh r0, [r7, 0xA] - b _081E36B2 -_081E36B0: - movs r0, 0 -_081E36B2: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81E35C4 - - thumb_func_start sub_81E36B8 -sub_81E36B8: @ 81E36B8 - push {r4,r5,lr} - ldr r0, _081E3700 @ =0x04000120 - ldr r5, [r0] - ldr r0, _081E3704 @ =gUnknown_3007470 - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0x1 - beq _081E36D2 - ldr r0, _081E3708 @ =0x04000128 - ldrh r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strh r1, [r0] -_081E36D2: - ldrb r2, [r4] - lsls r1, r2, 4 - adds r0, r5, 0 - lsls r0, r1 - lsrs r1, r0, 16 - movs r0, 0x1 - subs r0, r2 - lsls r0, 4 - lsls r5, r0 - adds r0, r5, 0 - lsrs r5, r0, 16 - ldrh r0, [r4, 0xA] - cmp r0, 0 - bne _081E3726 - ldrh r2, [r4, 0x6] - cmp r1, r2 - bne _081E3724 - ldrh r3, [r4, 0x2] - cmp r3, 0x3 - bls _081E370C - strh r5, [r4, 0xA] - b _081E3726 - .align 2, 0 -_081E3700: .4byte 0x04000120 -_081E3704: .4byte gUnknown_3007470 -_081E3708: .4byte 0x04000128 -_081E370C: - ldrh r0, [r4, 0x4] - mvns r0, r0 - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bne _081E3726 - mvns r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r5, r0 - bne _081E3726 - adds r0, r3, 0x1 -_081E3724: - strh r0, [r4, 0x2] -_081E3726: - ldrh r0, [r4, 0x2] - cmp r0, 0x3 - bhi _081E373C - lsls r0, 1 - ldr r1, _081E3738 @ =_Str_Sio32ID - adds r0, r1 - ldrh r0, [r0] - b _081E373E - .align 2, 0 -_081E3738: .4byte _Str_Sio32ID -_081E373C: - ldr r0, _081E3794 @ =0x00008001 -_081E373E: - strh r0, [r4, 0x4] - mvns r0, r5 - strh r0, [r4, 0x6] - ldr r3, _081E3798 @ =0x04000120 - ldrh r2, [r4, 0x4] - ldrb r1, [r4] - movs r0, 0x1 - subs r0, r1 - lsls r0, 4 - lsls r2, r0 - ldrh r0, [r4, 0x6] - lsls r1, 4 - lsls r0, r1 - adds r2, r0 - str r2, [r3] - ldrb r0, [r4] - cmp r0, 0x1 - bne _081E378C - ldrh r0, [r4, 0x2] - cmp r0, 0 - bne _081E376E - ldr r0, _081E379C @ =0x0000494e - cmp r5, r0 - bne _081E378C -_081E376E: - movs r0, 0 - ldr r1, _081E37A0 @ =0x00000257 -_081E3772: - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r1 - bls _081E3772 - ldrh r0, [r4, 0xA] - cmp r0, 0 - bne _081E378C - ldr r0, _081E37A4 @ =0x04000128 - ldrh r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strh r1, [r0] -_081E378C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081E3794: .4byte 0x00008001 -_081E3798: .4byte 0x04000120 -_081E379C: .4byte 0x0000494e -_081E37A0: .4byte 0x00000257 -_081E37A4: .4byte 0x04000128 - thumb_func_end sub_81E36B8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/librfu_intr.s b/asm/librfu_intr.s index 63aa88f3e..2cc761554 100644 --- a/asm/librfu_intr.s +++ b/asm/librfu_intr.s @@ -9,7 +9,7 @@ IntrSIO32: @ 81DFC50 mov r12, sp stmdb sp!, {r11,r12,lr,pc} - ldr r3, _081DFCB0 @ =gRfuState + ldr r3, _081DFCB0 @ =gSTWIStatus ldr r0, [r3] ldr r2, [r0] sub r11, r12, 0x4 @@ -19,7 +19,7 @@ IntrSIO32: @ 81DFC50 cmp r0, 0 ldmdbeq r11, {r11,sp,lr} bxeq lr - bl sub_81E05AC + bl Callback_Dummy_ID ldmdb r11, {r11,sp,lr} bx lr _081DFC8C: @@ -34,7 +34,7 @@ _081DFCA4: ldmdb r11, {r11,sp,lr} bx lr .align 2, 0 -_081DFCB0: .4byte gRfuState +_081DFCB0: .4byte gSTWIStatus arm_func_end IntrSIO32 arm_func_start sio32intr_clock_master @@ -45,7 +45,7 @@ sio32intr_clock_master: @ 81DFCB4 sub r11, r12, 0x4 bl STWI_set_timer_in_RAM mov r4, 0x120 - ldr r2, _081DFF28 @ =gRfuState + ldr r2, _081DFF28 @ =gSTWIStatus add r4, r4, 0x4000000 ldr lr, [r4] ldr r12, [r2] @@ -205,10 +205,10 @@ _081DFEFC: beq _081DFF3C ldrh r1, [r0, 0x12] ldrb r0, [r0, 0x6] - bl sub_81E05A4 + bl Callback_Dummy_M b _081DFF3C .align 2, 0 -_081DFF28: .4byte gRfuState +_081DFF28: .4byte gSTWIStatus _081DFF2C: add r3, r5, 0x3 strh r3, [r4] @@ -223,7 +223,7 @@ _081DFF3C: sio32intr_clock_slave: @ 81DFF44 mov r12, sp stmdb sp!, {r4-r6,r11,r12,lr,pc} - ldr r4, _081E02F0 @ =gRfuState + ldr r4, _081E02F0 @ =gSTWIStatus mov r0, 0x64 ldr r3, [r4] mov r6, 0 @@ -424,7 +424,7 @@ _081E01D0: beq _081E0348 mov r0, 0x1EC add r0, r0, 0x2 - bl sub_81E05A8 + bl Callback_Dummy_S b _081E0348 _081E0244: mov r3, 0x120 @@ -446,7 +446,7 @@ _081E0244: ldrb r0, [r0, 0x6] mov r1, r2 orr r0, r0, r3, lsl 8 - bl sub_81E05A8 + bl Callback_Dummy_S b _081E0348 _081E0298: mov r3, 0x208 @@ -473,7 +473,7 @@ _081E02E0: bhi _081E02E0 b _081E031C .align 2, 0 -_081E02F0: .4byte gRfuState +_081E02F0: .4byte gSTWIStatus _081E02F4: .4byte 0x996601ee _081E02F8: mov r2, 0xFF00 @@ -510,7 +510,7 @@ handshake_wait: @ 81E0350 mov r1, 0x128 add r1, r1, 0x4000000 mov r0, r0, lsl 16 - ldr r2, _081E03B4 @ =gRfuState + ldr r2, _081E03B4 @ =gSTWIStatus sub r11, r12, 0x4 mov lr, r0, lsr 14 ldr r12, [r2] @@ -533,7 +533,7 @@ _081E03A0: ldmdb r11, {r11,sp,lr} bx lr .align 2, 0 -_081E03B4: .4byte gRfuState +_081E03B4: .4byte gSTWIStatus arm_func_end handshake_wait arm_func_start STWI_set_timer_in_RAM @@ -544,7 +544,7 @@ STWI_set_timer_in_RAM: @ 81E03B8 add r1, r1, 0x4000000 mov r3, 0 sub r11, r12, 0x4 - ldr r12, _081E0470 @ =gRfuState + ldr r12, _081E0470 @ =gSTWIStatus and lr, r0, 0xFF ldr r2, [r12] cmp lr, 0x50 @@ -589,7 +589,7 @@ _081E0458: mov r3, 0x3 b _081E0488 .align 2, 0 -_081E0470: .4byte gRfuState +_081E0470: .4byte gSTWIStatus _081E0474: mvn r3, 0x850 sub r3, r3, 0x2 @@ -621,7 +621,7 @@ STWI_stop_timer_in_RAM: @ 81E04C8 mov r12, sp stmdb sp!, {r11,r12,lr,pc} mov r1, 0x100 - ldr lr, _081E0514 @ =gRfuState + ldr lr, _081E0514 @ =gSTWIStatus add r0, r1, 0x4000000 ldr r2, [lr] sub r11, r12, 0x4 @@ -638,14 +638,14 @@ STWI_stop_timer_in_RAM: @ 81E04C8 ldmdb r11, {r11,sp,lr} bx lr .align 2, 0 -_081E0514: .4byte gRfuState +_081E0514: .4byte gSTWIStatus arm_func_end STWI_stop_timer_in_RAM arm_func_start STWI_init_slave STWI_init_slave: @ 81E0518 mov r12, sp stmdb sp!, {r11,r12,lr,pc} - ldr r0, _081E05A0 @ =gRfuState + ldr r0, _081E05A0 @ =gSTWIStatus ldr r2, [r0] mov r3, 0x5 str r3, [r2] @@ -678,20 +678,20 @@ STWI_init_slave: @ 81E0518 ldmdb r11, {r11,sp,lr} bx lr .align 2, 0 -_081E05A0: .4byte gRfuState +_081E05A0: .4byte gSTWIStatus arm_func_end STWI_init_slave - arm_func_start sub_81E05A4 -sub_81E05A4: @ 81E05A4 + arm_func_start Callback_Dummy_M +Callback_Dummy_M: @ 81E05A4 bx r2 - arm_func_end sub_81E05A4 + arm_func_end Callback_Dummy_M - arm_func_start sub_81E05A8 -sub_81E05A8: @ 81E05A8 + arm_func_start Callback_Dummy_S +Callback_Dummy_S: @ 81E05A8 bx r1 - arm_func_end sub_81E05A8 + arm_func_end Callback_Dummy_S - arm_func_start sub_81E05AC -sub_81E05AC: @ 81E05AC + arm_func_start Callback_Dummy_ID +Callback_Dummy_ID: @ 81E05AC bx r0 - arm_func_end sub_81E05AC + arm_func_end Callback_Dummy_ID diff --git a/asm/librfu_stwi.s b/asm/librfu_stwi.s deleted file mode 100644 index 5434d037f..000000000 --- a/asm/librfu_stwi.s +++ /dev/null @@ -1,1560 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start STWI_init_all -STWI_init_all: @ 81DF114 - push {r4,lr} - adds r3, r0, 0 - lsls r2, 24 - lsrs r2, 24 - cmp r2, 0x1 - bne _081DF150 - adds r2, r3, 0 - adds r2, 0xE8 - str r2, [r1] - ldr r1, _081DF13C @ =0x040000d4 - ldr r0, _081DF140 @ =IntrSIO32 - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, _081DF144 @ =0x800004b0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _081DF148 @ =gRfuState - ldr r2, _081DF14C @ =0x00000a48 - adds r0, r3, r2 - b _081DF15A - .align 2, 0 -_081DF13C: .4byte 0x040000d4 -_081DF140: .4byte IntrSIO32 -_081DF144: .4byte 0x800004b0 -_081DF148: .4byte gRfuState -_081DF14C: .4byte 0x00000a48 -_081DF150: - ldr r0, _081DF1D4 @ =IntrSIO32 - str r0, [r1] - ldr r1, _081DF1D8 @ =gRfuState - adds r0, r3, 0 - adds r0, 0xE8 -_081DF15A: - str r0, [r1] - adds r2, r1, 0 - ldr r1, [r2] - str r3, [r1, 0x28] - adds r0, r3, 0 - adds r0, 0x74 - str r0, [r1, 0x24] - ldrb r0, [r1, 0x14] - movs r4, 0 - movs r0, 0x1 - strb r0, [r1, 0x14] - ldr r0, [r2] - str r4, [r0] - strb r4, [r0, 0x4] - ldr r0, [r2] - strb r4, [r0, 0x5] - ldr r0, [r2] - strb r4, [r0, 0x7] - ldr r0, [r2] - strb r4, [r0, 0x8] - ldr r0, [r2] - strb r4, [r0, 0x9] - ldr r0, [r2] - str r4, [r0, 0xC] - ldrb r1, [r0, 0x10] - strb r4, [r0, 0x10] - ldr r0, [r2] - ldrh r1, [r0, 0x12] - movs r1, 0 - strh r4, [r0, 0x12] - strb r1, [r0, 0x15] - ldr r0, [r2] - adds r0, 0x2C - ldrb r2, [r0] - strb r1, [r0] - ldr r1, _081DF1DC @ =0x04000134 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xC - ldr r2, _081DF1E0 @ =0x00005003 - adds r0, r2, 0 - strh r0, [r1] - bl STWI_init_Callback_M - bl STWI_init_Callback_S - ldr r3, _081DF1E4 @ =0x04000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, _081DF1E8 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x80 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081DF1D4: .4byte IntrSIO32 -_081DF1D8: .4byte gRfuState -_081DF1DC: .4byte 0x04000134 -_081DF1E0: .4byte 0x00005003 -_081DF1E4: .4byte 0x04000208 -_081DF1E8: .4byte 0x04000200 - thumb_func_end STWI_init_all - - thumb_func_start STWI_init_timer -STWI_init_timer: @ 81DF1EC - push {r4,r5,lr} - ldr r2, _081DF218 @ =STWI_intr_timer - str r2, [r0] - ldr r5, _081DF21C @ =gRfuState - ldr r0, [r5] - movs r4, 0 - strb r1, [r0, 0xA] - ldr r3, _081DF220 @ =0x04000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, _081DF224 @ =0x04000200 - ldr r1, [r5] - movs r0, 0x8 - ldrb r1, [r1, 0xA] - lsls r0, r1 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081DF218: .4byte STWI_intr_timer -_081DF21C: .4byte gRfuState -_081DF220: .4byte 0x04000208 -_081DF224: .4byte 0x04000200 - thumb_func_end STWI_init_timer - - thumb_func_start AgbRFU_SoftReset -AgbRFU_SoftReset: @ 81DF228 - push {r4,r5,lr} - ldr r5, _081DF2C0 @ =0x04000134 - movs r1, 0x80 - lsls r1, 8 - adds r0, r1, 0 - strh r0, [r5] - ldr r2, _081DF2C4 @ =0x000080a0 - adds r0, r2, 0 - strh r0, [r5] - ldr r1, _081DF2C8 @ =gRfuState - ldr r0, [r1] - ldrb r0, [r0, 0xA] - lsls r0, 2 - ldr r3, _081DF2CC @ =0x04000100 - adds r2, r0, r3 - ldr r4, _081DF2D0 @ =0x04000102 - adds r3, r0, r4 - movs r0, 0 - strh r0, [r3] - strh r0, [r2] - movs r0, 0x83 - strh r0, [r3] - ldrh r0, [r2] - adds r4, r1, 0 - cmp r0, 0x11 - bhi _081DF268 - ldr r0, _081DF2D4 @ =0x000080a2 - adds r1, r0, 0 -_081DF260: - strh r1, [r5] - ldrh r0, [r2] - cmp r0, 0x11 - bls _081DF260 -_081DF268: - movs r0, 0x3 - strh r0, [r3] - ldr r1, _081DF2C0 @ =0x04000134 - ldr r2, _081DF2C4 @ =0x000080a0 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xC - ldr r3, _081DF2D8 @ =0x00005003 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, [r4] - movs r2, 0 - str r2, [r0] - strb r2, [r0, 0x4] - ldr r0, [r4] - strb r2, [r0, 0x5] - ldr r0, [r4] - strb r2, [r0, 0x6] - ldr r0, [r4] - strb r2, [r0, 0x7] - ldr r0, [r4] - strb r2, [r0, 0x8] - ldr r0, [r4] - strb r2, [r0, 0x9] - ldr r0, [r4] - str r2, [r0, 0xC] - ldrb r1, [r0, 0x10] - strb r2, [r0, 0x10] - ldr r1, [r4] - ldrh r0, [r1, 0x12] - movs r3, 0 - strh r2, [r1, 0x12] - ldrb r0, [r1, 0x14] - movs r0, 0x1 - strb r0, [r1, 0x14] - ldr r0, [r4] - strb r3, [r0, 0x15] - ldr r0, [r4] - adds r0, 0x2C - ldrb r1, [r0] - strb r3, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081DF2C0: .4byte 0x04000134 -_081DF2C4: .4byte 0x000080a0 -_081DF2C8: .4byte gRfuState -_081DF2CC: .4byte 0x04000100 -_081DF2D0: .4byte 0x04000102 -_081DF2D4: .4byte 0x000080a2 -_081DF2D8: .4byte 0x00005003 - thumb_func_end AgbRFU_SoftReset - - thumb_func_start STWI_set_MS_mode -STWI_set_MS_mode: @ 81DF2DC - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081DF2EC @ =gRfuState - ldr r1, [r1] - ldrb r2, [r1, 0x14] - strb r0, [r1, 0x14] - bx lr - .align 2, 0 -_081DF2EC: .4byte gRfuState - thumb_func_end STWI_set_MS_mode - - thumb_func_start STWI_read_status -STWI_read_status: @ 81DF2F0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x1 - beq _081DF31C - cmp r0, 0x1 - bgt _081DF306 - cmp r0, 0 - beq _081DF310 - b _081DF344 -_081DF306: - cmp r1, 0x2 - beq _081DF328 - cmp r1, 0x3 - beq _081DF338 - b _081DF344 -_081DF310: - ldr r0, _081DF318 @ =gRfuState - ldr r0, [r0] - ldrh r0, [r0, 0x12] - b _081DF346 - .align 2, 0 -_081DF318: .4byte gRfuState -_081DF31C: - ldr r0, _081DF324 @ =gRfuState - ldr r0, [r0] - ldrb r0, [r0, 0x14] - b _081DF346 - .align 2, 0 -_081DF324: .4byte gRfuState -_081DF328: - ldr r0, _081DF334 @ =gRfuState - ldr r0, [r0] - ldr r0, [r0] - lsls r0, 16 - lsrs r0, 16 - b _081DF346 - .align 2, 0 -_081DF334: .4byte gRfuState -_081DF338: - ldr r0, _081DF340 @ =gRfuState - ldr r0, [r0] - ldrb r0, [r0, 0x6] - b _081DF346 - .align 2, 0 -_081DF340: .4byte gRfuState -_081DF344: - ldr r0, _081DF34C @ =0x0000ffff -_081DF346: - pop {r1} - bx r1 - .align 2, 0 -_081DF34C: .4byte 0x0000ffff - thumb_func_end STWI_read_status - - thumb_func_start STWI_init_Callback_M -STWI_init_Callback_M: @ 81DF350 - push {lr} - movs r0, 0 - bl STWI_set_Callback_M - pop {r0} - bx r0 - thumb_func_end STWI_init_Callback_M - - thumb_func_start STWI_init_Callback_S -STWI_init_Callback_S: @ 81DF35C - push {lr} - movs r0, 0 - bl STWI_set_Callback_S - pop {r0} - bx r0 - thumb_func_end STWI_init_Callback_S - - thumb_func_start STWI_set_Callback_M -STWI_set_Callback_M: @ 81DF368 - ldr r1, _081DF370 @ =gRfuState - ldr r1, [r1] - str r0, [r1, 0x18] - bx lr - .align 2, 0 -_081DF370: .4byte gRfuState - thumb_func_end STWI_set_Callback_M - - thumb_func_start STWI_set_Callback_S -STWI_set_Callback_S: @ 81DF374 - ldr r1, _081DF37C @ =gRfuState - ldr r1, [r1] - str r0, [r1, 0x1C] - bx lr - .align 2, 0 -_081DF37C: .4byte gRfuState - thumb_func_end STWI_set_Callback_S - - thumb_func_start STWI_set_Callback_ID -STWI_set_Callback_ID: @ 81DF380 - ldr r1, _081DF388 @ =gRfuState - ldr r1, [r1] - str r0, [r1, 0x20] - bx lr - .align 2, 0 -_081DF388: .4byte gRfuState - thumb_func_end STWI_set_Callback_ID - - thumb_func_start STWI_poll_CommandEnd -STWI_poll_CommandEnd: @ 81DF38C - push {lr} - ldr r0, _081DF3B0 @ =gRfuState - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0x2C - ldrb r1, [r2] - adds r3, r0, 0 - cmp r1, 0x1 - bne _081DF3A6 - adds r1, r2, 0 -_081DF3A0: - ldrb r0, [r1] - cmp r0, 0x1 - beq _081DF3A0 -_081DF3A6: - ldr r0, [r3] - ldrh r0, [r0, 0x12] - pop {r1} - bx r1 - .align 2, 0 -_081DF3B0: .4byte gRfuState - thumb_func_end STWI_poll_CommandEnd - - thumb_func_start STWI_send_ResetREQ -STWI_send_ResetREQ: @ 81DF3B4 - push {lr} - movs r0, 0x10 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF3CE - ldr r0, _081DF3D4 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF3CE: - pop {r0} - bx r0 - .align 2, 0 -_081DF3D4: .4byte gRfuState - thumb_func_end STWI_send_ResetREQ - - thumb_func_start STWI_send_LinkStatusREQ -STWI_send_LinkStatusREQ: @ 81DF3D8 - push {lr} - movs r0, 0x11 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF3F2 - ldr r0, _081DF3F8 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF3F2: - pop {r0} - bx r0 - .align 2, 0 -_081DF3F8: .4byte gRfuState - thumb_func_end STWI_send_LinkStatusREQ - - thumb_func_start STWI_send_VersionStatusREQ -STWI_send_VersionStatusREQ: @ 81DF3FC - push {lr} - movs r0, 0x12 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF416 - ldr r0, _081DF41C @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF416: - pop {r0} - bx r0 - .align 2, 0 -_081DF41C: .4byte gRfuState - thumb_func_end STWI_send_VersionStatusREQ - - thumb_func_start STWI_send_SystemStatusREQ -STWI_send_SystemStatusREQ: @ 81DF420 - push {lr} - movs r0, 0x13 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF43A - ldr r0, _081DF440 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF43A: - pop {r0} - bx r0 - .align 2, 0 -_081DF440: .4byte gRfuState - thumb_func_end STWI_send_SystemStatusREQ - - thumb_func_start STWI_send_SlotStatusREQ -STWI_send_SlotStatusREQ: @ 81DF444 - push {lr} - movs r0, 0x14 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF45E - ldr r0, _081DF464 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF45E: - pop {r0} - bx r0 - .align 2, 0 -_081DF464: .4byte gRfuState - thumb_func_end STWI_send_SlotStatusREQ - - thumb_func_start STWI_send_ConfigStatusREQ -STWI_send_ConfigStatusREQ: @ 81DF468 - push {lr} - movs r0, 0x15 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF482 - ldr r0, _081DF488 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF482: - pop {r0} - bx r0 - .align 2, 0 -_081DF488: .4byte gRfuState - thumb_func_end STWI_send_ConfigStatusREQ - - thumb_func_start STWI_send_GameConfigREQ -STWI_send_GameConfigREQ: @ 81DF48C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x16 - bl STWI_init - lsls r0, 16 - cmp r0, 0 - bne _081DF4D8 - ldr r2, _081DF4E0 @ =gRfuState - ldr r1, [r2] - movs r0, 0x6 - strb r0, [r1, 0x4] - ldr r0, [r2] - ldr r1, [r0, 0x24] - adds r1, 0x4 - ldrh r0, [r4] - strh r0, [r1] - adds r1, 0x2 - adds r4, 0x2 - movs r2, 0xD -_081DF4B6: - ldrb r0, [r4] - strb r0, [r1] - adds r1, 0x1 - adds r4, 0x1 - subs r2, 0x1 - cmp r2, 0 - bge _081DF4B6 - movs r2, 0x7 -_081DF4C6: - ldrb r0, [r5] - strb r0, [r1] - adds r1, 0x1 - adds r5, 0x1 - subs r2, 0x1 - cmp r2, 0 - bge _081DF4C6 - bl STWI_start_Command -_081DF4D8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081DF4E0: .4byte gRfuState - thumb_func_end STWI_send_GameConfigREQ - - thumb_func_start STWI_send_SystemConfigREQ -STWI_send_SystemConfigREQ: @ 81DF4E4 - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r0, 0x17 - bl STWI_init - lsls r0, 16 - cmp r0, 0 - bne _081DF51A - ldr r2, _081DF520 @ =gRfuState - ldr r1, [r2] - movs r0, 0x1 - strb r0, [r1, 0x4] - ldr r0, [r2] - ldr r0, [r0, 0x24] - adds r0, 0x4 - strb r4, [r0] - adds r0, 0x1 - strb r5, [r0] - adds r0, 0x1 - strh r6, [r0] - bl STWI_start_Command -_081DF51A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081DF520: .4byte gRfuState - thumb_func_end STWI_send_SystemConfigREQ - - thumb_func_start STWI_send_SC_StartREQ -STWI_send_SC_StartREQ: @ 81DF524 - push {lr} - movs r0, 0x19 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF53E - ldr r0, _081DF544 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF53E: - pop {r0} - bx r0 - .align 2, 0 -_081DF544: .4byte gRfuState - thumb_func_end STWI_send_SC_StartREQ - - thumb_func_start STWI_send_SC_PollingREQ -STWI_send_SC_PollingREQ: @ 81DF548 - push {lr} - movs r0, 0x1A - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF562 - ldr r0, _081DF568 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF562: - pop {r0} - bx r0 - .align 2, 0 -_081DF568: .4byte gRfuState - thumb_func_end STWI_send_SC_PollingREQ - - thumb_func_start STWI_send_SC_EndREQ -STWI_send_SC_EndREQ: @ 81DF56C - push {lr} - movs r0, 0x1B - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF586 - ldr r0, _081DF58C @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF586: - pop {r0} - bx r0 - .align 2, 0 -_081DF58C: .4byte gRfuState - thumb_func_end STWI_send_SC_EndREQ - - thumb_func_start STWI_send_SP_StartREQ -STWI_send_SP_StartREQ: @ 81DF590 - push {lr} - movs r0, 0x1C - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF5AA - ldr r0, _081DF5B0 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF5AA: - pop {r0} - bx r0 - .align 2, 0 -_081DF5B0: .4byte gRfuState - thumb_func_end STWI_send_SP_StartREQ - - thumb_func_start STWI_send_SP_PollingREQ -STWI_send_SP_PollingREQ: @ 81DF5B4 - push {lr} - movs r0, 0x1D - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF5CE - ldr r0, _081DF5D4 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF5CE: - pop {r0} - bx r0 - .align 2, 0 -_081DF5D4: .4byte gRfuState - thumb_func_end STWI_send_SP_PollingREQ - - thumb_func_start STWI_send_SP_EndREQ -STWI_send_SP_EndREQ: @ 81DF5D8 - push {lr} - movs r0, 0x1E - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF5F2 - ldr r0, _081DF5F8 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF5F2: - pop {r0} - bx r0 - .align 2, 0 -_081DF5F8: .4byte gRfuState - thumb_func_end STWI_send_SP_EndREQ - - thumb_func_start STWI_send_CP_StartREQ -STWI_send_CP_StartREQ: @ 81DF5FC - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x1F - bl STWI_init - lsls r0, 16 - cmp r0, 0 - bne _081DF620 - ldr r2, _081DF628 @ =gRfuState - ldr r1, [r2] - movs r0, 0x1 - strb r0, [r1, 0x4] - ldr r0, [r2] - ldr r0, [r0, 0x24] - str r4, [r0, 0x4] - bl STWI_start_Command -_081DF620: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081DF628: .4byte gRfuState - thumb_func_end STWI_send_CP_StartREQ - - thumb_func_start STWI_send_CP_PollingREQ -STWI_send_CP_PollingREQ: @ 81DF62C - push {lr} - movs r0, 0x20 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF646 - ldr r0, _081DF64C @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF646: - pop {r0} - bx r0 - .align 2, 0 -_081DF64C: .4byte gRfuState - thumb_func_end STWI_send_CP_PollingREQ - - thumb_func_start STWI_send_CP_EndREQ -STWI_send_CP_EndREQ: @ 81DF650 - push {lr} - movs r0, 0x21 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF66A - ldr r0, _081DF670 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF66A: - pop {r0} - bx r0 - .align 2, 0 -_081DF670: .4byte gRfuState - thumb_func_end STWI_send_CP_EndREQ - - thumb_func_start STWI_send_DataTxREQ -STWI_send_DataTxREQ: @ 81DF674 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r4, r1, 24 - lsrs r5, r4, 24 - movs r0, 0x24 - bl STWI_init - lsls r0, 16 - cmp r0, 0 - bne _081DF6B2 - lsrs r2, r4, 26 - movs r0, 0x3 - ands r0, r5 - cmp r0, 0 - beq _081DF694 - adds r2, 0x1 -_081DF694: - ldr r1, _081DF6B8 @ =gRfuState - ldr r0, [r1] - strb r2, [r0, 0x4] - ldr r0, [r1] - ldr r1, [r0, 0x24] - adds r1, 0x4 - ldrb r2, [r0, 0x4] - movs r0, 0x80 - lsls r0, 19 - orrs r2, r0 - adds r0, r6, 0 - bl CpuSet - bl STWI_start_Command -_081DF6B2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081DF6B8: .4byte gRfuState - thumb_func_end STWI_send_DataTxREQ - - thumb_func_start STWI_send_DataTxAndChangeREQ -STWI_send_DataTxAndChangeREQ: @ 81DF6BC - push {r4-r6,lr} - adds r6, r0, 0 - lsls r4, r1, 24 - lsrs r5, r4, 24 - movs r0, 0x25 - bl STWI_init - lsls r0, 16 - cmp r0, 0 - bne _081DF6FA - lsrs r2, r4, 26 - movs r0, 0x3 - ands r0, r5 - cmp r0, 0 - beq _081DF6DC - adds r2, 0x1 -_081DF6DC: - ldr r1, _081DF700 @ =gRfuState - ldr r0, [r1] - strb r2, [r0, 0x4] - ldr r0, [r1] - ldr r1, [r0, 0x24] - adds r1, 0x4 - ldrb r2, [r0, 0x4] - movs r0, 0x80 - lsls r0, 19 - orrs r2, r0 - adds r0, r6, 0 - bl CpuSet - bl STWI_start_Command -_081DF6FA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081DF700: .4byte gRfuState - thumb_func_end STWI_send_DataTxAndChangeREQ - - thumb_func_start STWI_send_DataRxREQ -STWI_send_DataRxREQ: @ 81DF704 - push {lr} - movs r0, 0x26 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF71E - ldr r0, _081DF724 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF71E: - pop {r0} - bx r0 - .align 2, 0 -_081DF724: .4byte gRfuState - thumb_func_end STWI_send_DataRxREQ - - thumb_func_start STWI_send_MS_ChangeREQ -STWI_send_MS_ChangeREQ: @ 81DF728 - push {lr} - movs r0, 0x27 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF742 - ldr r0, _081DF748 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF742: - pop {r0} - bx r0 - .align 2, 0 -_081DF748: .4byte gRfuState - thumb_func_end STWI_send_MS_ChangeREQ - - thumb_func_start STWI_send_DataReadyAndChangeREQ -STWI_send_DataReadyAndChangeREQ: @ 81DF74C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - movs r0, 0x28 - bl STWI_init - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - bne _081DF792 - cmp r4, 0 - bne _081DF774 - ldr r0, _081DF770 @ =gRfuState - ldr r0, [r0] - strb r3, [r0, 0x4] - b _081DF78E - .align 2, 0 -_081DF770: .4byte gRfuState -_081DF774: - ldr r2, _081DF798 @ =gRfuState - ldr r1, [r2] - movs r0, 0x1 - strb r0, [r1, 0x4] - ldr r0, [r2] - ldr r0, [r0, 0x24] - adds r0, 0x4 - strb r5, [r0] - adds r0, 0x1 - strb r3, [r0] - adds r0, 0x1 - strb r3, [r0] - strb r3, [r0, 0x1] -_081DF78E: - bl STWI_start_Command -_081DF792: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081DF798: .4byte gRfuState - thumb_func_end STWI_send_DataReadyAndChangeREQ - - thumb_func_start STWI_send_DisconnectedAndChangeREQ -STWI_send_DisconnectedAndChangeREQ: @ 81DF79C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0x29 - bl STWI_init - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - bne _081DF7D2 - ldr r2, _081DF7D8 @ =gRfuState - ldr r1, [r2] - movs r0, 0x1 - strb r0, [r1, 0x4] - ldr r0, [r2] - ldr r0, [r0, 0x24] - adds r0, 0x4 - strb r4, [r0] - adds r0, 0x1 - strb r5, [r0] - adds r0, 0x1 - strb r3, [r0] - strb r3, [r0, 0x1] - bl STWI_start_Command -_081DF7D2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081DF7D8: .4byte gRfuState - thumb_func_end STWI_send_DisconnectedAndChangeREQ - - thumb_func_start STWI_send_ResumeRetransmitAndChangeREQ -STWI_send_ResumeRetransmitAndChangeREQ: @ 81DF7DC - push {lr} - movs r0, 0x37 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF7F6 - ldr r0, _081DF7FC @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF7F6: - pop {r0} - bx r0 - .align 2, 0 -_081DF7FC: .4byte gRfuState - thumb_func_end STWI_send_ResumeRetransmitAndChangeREQ - - thumb_func_start STWI_send_DisconnectREQ -STWI_send_DisconnectREQ: @ 81DF800 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x30 - bl STWI_init - lsls r0, 16 - cmp r0, 0 - bne _081DF824 - ldr r2, _081DF82C @ =gRfuState - ldr r1, [r2] - movs r0, 0x1 - strb r0, [r1, 0x4] - ldr r0, [r2] - ldr r0, [r0, 0x24] - str r4, [r0, 0x4] - bl STWI_start_Command -_081DF824: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081DF82C: .4byte gRfuState - thumb_func_end STWI_send_DisconnectREQ - - thumb_func_start STWI_send_TestModeREQ -STWI_send_TestModeREQ: @ 81DF830 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - movs r0, 0x31 - bl STWI_init - lsls r0, 16 - cmp r0, 0 - bne _081DF85C - ldr r2, _081DF864 @ =gRfuState - ldr r1, [r2] - movs r0, 0x1 - strb r0, [r1, 0x4] - ldr r0, [r2] - ldr r1, [r0, 0x24] - lsls r0, r4, 8 - orrs r0, r5 - str r0, [r1, 0x4] - bl STWI_start_Command -_081DF85C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081DF864: .4byte gRfuState - thumb_func_end STWI_send_TestModeREQ - - thumb_func_start STWI_send_CPR_StartREQ -STWI_send_CPR_StartREQ: @ 81DF868 - push {r4-r6,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r6, r2, 24 - movs r0, 0x32 - bl STWI_init - lsls r0, 16 - cmp r0, 0 - bne _081DF89A - ldr r2, _081DF8A0 @ =gRfuState - ldr r1, [r2] - movs r0, 0x2 - strb r0, [r1, 0x4] - lsls r0, r5, 16 - orrs r0, r4 - ldr r1, [r2] - ldr r1, [r1, 0x24] - str r0, [r1, 0x4] - str r6, [r1, 0x8] - bl STWI_start_Command -_081DF89A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081DF8A0: .4byte gRfuState - thumb_func_end STWI_send_CPR_StartREQ - - thumb_func_start STWI_send_CPR_PollingREQ -STWI_send_CPR_PollingREQ: @ 81DF8A4 - push {lr} - movs r0, 0x33 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF8BE - ldr r0, _081DF8C4 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF8BE: - pop {r0} - bx r0 - .align 2, 0 -_081DF8C4: .4byte gRfuState - thumb_func_end STWI_send_CPR_PollingREQ - - thumb_func_start STWI_send_CPR_EndREQ -STWI_send_CPR_EndREQ: @ 81DF8C8 - push {lr} - movs r0, 0x34 - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF8E2 - ldr r0, _081DF8E8 @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF8E2: - pop {r0} - bx r0 - .align 2, 0 -_081DF8E8: .4byte gRfuState - thumb_func_end STWI_send_CPR_EndREQ - - thumb_func_start STWI_send_StopModeREQ -STWI_send_StopModeREQ: @ 81DF8EC - push {lr} - movs r0, 0x3D - bl STWI_init - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081DF906 - ldr r0, _081DF90C @ =gRfuState - ldr r0, [r0] - strb r1, [r0, 0x4] - bl STWI_start_Command -_081DF906: - pop {r0} - bx r0 - .align 2, 0 -_081DF90C: .4byte gRfuState - thumb_func_end STWI_send_StopModeREQ - - thumb_func_start STWI_intr_timer -STWI_intr_timer: @ 81DF910 - push {r4,lr} - ldr r4, _081DF928 @ =gRfuState - ldr r1, [r4] - ldr r0, [r1, 0xC] - cmp r0, 0x2 - beq _081DF936 - cmp r0, 0x2 - bhi _081DF92C - cmp r0, 0x1 - beq _081DF944 - b _081DF96C - .align 2, 0 -_081DF928: .4byte gRfuState -_081DF92C: - cmp r0, 0x3 - beq _081DF94E - cmp r0, 0x4 - beq _081DF944 - b _081DF96C -_081DF936: - ldrb r0, [r1, 0x10] - movs r0, 0x1 - strb r0, [r1, 0x10] - movs r0, 0x32 - bl STWI_set_timer - b _081DF96C -_081DF944: - bl STWI_stop_timer - bl STWI_restart_Command - b _081DF96C -_081DF94E: - ldrb r0, [r1, 0x10] - movs r0, 0x1 - strb r0, [r1, 0x10] - bl STWI_stop_timer - bl STWI_reset_ClockCounter - ldr r0, [r4] - ldr r2, [r0, 0x18] - cmp r2, 0 - beq _081DF96C - movs r0, 0xFF - movs r1, 0 - bl _call_via_r2 -_081DF96C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end STWI_intr_timer - - thumb_func_start STWI_set_timer -STWI_set_timer: @ 81DF974 - push {r4-r7,lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r5, r3, 0 - ldr r2, _081DF9A4 @ =gRfuState - ldr r0, [r2] - ldrb r0, [r0, 0xA] - lsls r0, 2 - ldr r1, _081DF9A8 @ =0x04000100 - adds r4, r0, r1 - adds r1, 0x2 - adds r7, r0, r1 - ldr r1, _081DF9AC @ =0x04000208 - movs r0, 0 - strh r0, [r1] - adds r6, r2, 0 - cmp r3, 0x50 - beq _081DF9CC - cmp r3, 0x50 - bgt _081DF9B0 - cmp r3, 0x32 - beq _081DF9BA - b _081DF9F8 - .align 2, 0 -_081DF9A4: .4byte gRfuState -_081DF9A8: .4byte 0x04000100 -_081DF9AC: .4byte 0x04000208 -_081DF9B0: - cmp r5, 0x64 - beq _081DF9DC - cmp r5, 0x82 - beq _081DF9EC - b _081DF9F8 -_081DF9BA: - ldr r1, _081DF9C8 @ =0x0000fccb - adds r0, r1, 0 - strh r0, [r4] - ldr r1, [r6] - movs r0, 0x1 - b _081DF9F6 - .align 2, 0 -_081DF9C8: .4byte 0x0000fccb -_081DF9CC: - ldr r1, _081DF9D8 @ =0x0000fae0 - adds r0, r1, 0 - strh r0, [r4] - ldr r1, [r6] - movs r0, 0x2 - b _081DF9F6 - .align 2, 0 -_081DF9D8: .4byte 0x0000fae0 -_081DF9DC: - ldr r1, _081DF9E8 @ =0x0000f996 - adds r0, r1, 0 - strh r0, [r4] - ldr r1, [r6] - movs r0, 0x3 - b _081DF9F6 - .align 2, 0 -_081DF9E8: .4byte 0x0000f996 -_081DF9EC: - ldr r1, _081DFA14 @ =0x0000f7ad - adds r0, r1, 0 - strh r0, [r4] - ldr r1, [r6] - movs r0, 0x4 -_081DF9F6: - str r0, [r1, 0xC] -_081DF9F8: - movs r0, 0xC3 - strh r0, [r7] - ldr r2, _081DFA18 @ =0x04000202 - ldr r1, [r6] - movs r0, 0x8 - ldrb r1, [r1, 0xA] - lsls r0, r1 - strh r0, [r2] - ldr r1, _081DFA1C @ =0x04000208 - movs r0, 0x1 - strh r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081DFA14: .4byte 0x0000f7ad -_081DFA18: .4byte 0x04000202 -_081DFA1C: .4byte 0x04000208 - thumb_func_end STWI_set_timer - - thumb_func_start STWI_stop_timer -STWI_stop_timer: @ 81DFA20 - ldr r2, _081DFA40 @ =gRfuState - ldr r0, [r2] - movs r1, 0 - str r1, [r0, 0xC] - ldrb r0, [r0, 0xA] - lsls r0, 2 - ldr r3, _081DFA44 @ =0x04000100 - adds r0, r3 - strh r1, [r0] - ldr r0, [r2] - ldrb r0, [r0, 0xA] - lsls r0, 2 - ldr r2, _081DFA48 @ =0x04000102 - adds r0, r2 - strh r1, [r0] - bx lr - .align 2, 0 -_081DFA40: .4byte gRfuState -_081DFA44: .4byte 0x04000100 -_081DFA48: .4byte 0x04000102 - thumb_func_end STWI_stop_timer - - thumb_func_start STWI_init -STWI_init: @ 81DFA4C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - ldr r0, _081DFA78 @ =0x04000208 - ldrh r0, [r0] - cmp r0, 0 - bne _081DFA80 - ldr r0, _081DFA7C @ =gRfuState - ldr r1, [r0] - ldrh r0, [r1, 0x12] - movs r0, 0x6 - strh r0, [r1, 0x12] - ldr r2, [r1, 0x18] - cmp r2, 0 - beq _081DFACA - ldrh r1, [r1, 0x12] - adds r0, r5, 0 - bl _call_via_r2 - b _081DFACA - .align 2, 0 -_081DFA78: .4byte 0x04000208 -_081DFA7C: .4byte gRfuState -_081DFA80: - ldr r4, _081DFAAC @ =gRfuState - ldr r2, [r4] - adds r3, r2, 0 - adds r3, 0x2C - ldrb r0, [r3] - cmp r0, 0x1 - bne _081DFAB0 - ldrh r0, [r2, 0x12] - movs r1, 0 - movs r0, 0x2 - strh r0, [r2, 0x12] - ldrb r0, [r3] - strb r1, [r3] - ldr r0, [r4] - ldr r2, [r0, 0x18] - cmp r2, 0 - beq _081DFACA - ldrh r1, [r0, 0x12] - adds r0, r5, 0 - bl _call_via_r2 - b _081DFACA - .align 2, 0 -_081DFAAC: .4byte gRfuState -_081DFAB0: - ldrb r0, [r2, 0x14] - cmp r0, 0 - bne _081DFACE - ldrh r0, [r2, 0x12] - movs r0, 0x4 - strh r0, [r2, 0x12] - ldr r3, [r2, 0x18] - cmp r3, 0 - beq _081DFACA - ldrh r1, [r2, 0x12] - adds r0, r5, 0 - bl _call_via_r3 -_081DFACA: - movs r0, 0x1 - b _081DFB16 -_081DFACE: - ldrb r0, [r3] - movs r1, 0 - movs r0, 0x1 - strb r0, [r3] - ldr r0, [r4] - strb r6, [r0, 0x6] - ldr r0, [r4] - str r1, [r0] - strb r1, [r0, 0x4] - ldr r0, [r4] - strb r1, [r0, 0x5] - ldr r0, [r4] - strb r1, [r0, 0x7] - ldr r0, [r4] - strb r1, [r0, 0x8] - ldr r0, [r4] - strb r1, [r0, 0x9] - ldr r0, [r4] - str r1, [r0, 0xC] - ldrb r2, [r0, 0x10] - strb r1, [r0, 0x10] - ldr r0, [r4] - ldrh r2, [r0, 0x12] - movs r2, 0 - strh r1, [r0, 0x12] - strb r2, [r0, 0x15] - ldr r1, _081DFB1C @ =0x04000134 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xC - ldr r2, _081DFB20 @ =0x00005003 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 -_081DFB16: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081DFB1C: .4byte 0x04000134 -_081DFB20: .4byte 0x00005003 - thumb_func_end STWI_init - - thumb_func_start STWI_start_Command -STWI_start_Command: @ 81DFB24 - push {r4,r5,lr} - ldr r5, _081DFB7C @ =gRfuState - ldr r0, [r5] - ldr r3, [r0, 0x24] - ldrb r1, [r0, 0x4] - lsls r1, 8 - ldrb r0, [r0, 0x6] - ldr r2, _081DFB80 @ =0x99660000 - orrs r0, r2 - orrs r1, r0 - str r1, [r3] - ldr r2, _081DFB84 @ =0x04000120 - ldr r1, [r5] - ldr r0, [r1, 0x24] - ldr r0, [r0] - str r0, [r2] - movs r2, 0 - str r2, [r1] - movs r0, 0x1 - strb r0, [r1, 0x5] - ldr r4, _081DFB88 @ =0x04000208 - ldrh r3, [r4] - strh r2, [r4] - ldr r2, _081DFB8C @ =0x04000200 - ldr r1, [r5] - movs r0, 0x8 - ldrb r1, [r1, 0xA] - lsls r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strh r0, [r2] - strh r3, [r4] - ldr r1, _081DFB90 @ =0x04000128 - ldr r2, _081DFB94 @ =0x00005083 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_081DFB7C: .4byte gRfuState -_081DFB80: .4byte 0x99660000 -_081DFB84: .4byte 0x04000120 -_081DFB88: .4byte 0x04000208 -_081DFB8C: .4byte 0x04000200 -_081DFB90: .4byte 0x04000128 -_081DFB94: .4byte 0x00005083 - thumb_func_end STWI_start_Command - - thumb_func_start STWI_restart_Command -STWI_restart_Command: @ 81DFB98 - push {r4,lr} - ldr r4, _081DFBB0 @ =gRfuState - ldr r2, [r4] - ldrb r0, [r2, 0x15] - adds r3, r4, 0 - cmp r0, 0x1 - bhi _081DFBB4 - adds r0, 0x1 - strb r0, [r2, 0x15] - bl STWI_start_Command - b _081DFC0E - .align 2, 0 -_081DFBB0: .4byte gRfuState -_081DFBB4: - ldrb r0, [r2, 0x6] - cmp r0, 0x27 - beq _081DFBC6 - cmp r0, 0x25 - beq _081DFBC6 - cmp r0, 0x35 - beq _081DFBC6 - cmp r0, 0x37 - bne _081DFBE8 -_081DFBC6: - ldr r0, [r3] - ldrh r1, [r0, 0x12] - movs r2, 0 - movs r1, 0x1 - strh r1, [r0, 0x12] - adds r0, 0x2C - ldrb r1, [r0] - strb r2, [r0] - ldr r1, [r3] - ldr r2, [r1, 0x18] - cmp r2, 0 - beq _081DFC0E - ldrb r0, [r1, 0x6] - ldrh r1, [r1, 0x12] - bl _call_via_r2 - b _081DFC0E -_081DFBE8: - ldrh r0, [r2, 0x12] - movs r1, 0 - movs r0, 0x1 - strh r0, [r2, 0x12] - adds r0, r2, 0 - adds r0, 0x2C - ldrb r2, [r0] - strb r1, [r0] - ldr r1, [r4] - ldr r2, [r1, 0x18] - cmp r2, 0 - beq _081DFC08 - ldrb r0, [r1, 0x6] - ldrh r1, [r1, 0x12] - bl _call_via_r2 -_081DFC08: - ldr r1, [r4] - movs r0, 0x4 - str r0, [r1] -_081DFC0E: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end STWI_restart_Command - - thumb_func_start STWI_reset_ClockCounter -STWI_reset_ClockCounter: @ 81DFC18 - ldr r3, _081DFC44 @ =gRfuState - ldr r1, [r3] - movs r0, 0x5 - str r0, [r1] - movs r2, 0 - strb r2, [r1, 0x4] - ldr r0, [r3] - strb r2, [r0, 0x5] - ldr r1, _081DFC48 @ =0x04000120 - movs r0, 0x80 - lsls r0, 24 - str r0, [r1] - adds r1, 0x8 - strh r2, [r1] - ldr r2, _081DFC4C @ =0x00005003 - adds r0, r2, 0 - strh r0, [r1] - adds r2, 0x7F - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - bx lr - .align 2, 0 -_081DFC44: .4byte gRfuState -_081DFC48: .4byte 0x04000120 -_081DFC4C: .4byte 0x00005003 - thumb_func_end STWI_reset_ClockCounter diff --git a/asm/link_rfu.s b/asm/link_rfu.s index 7c1485466..49fe3aef5 100644 --- a/asm/link_rfu.s +++ b/asm/link_rfu.s @@ -50,7 +50,7 @@ rfu_REQ_sendData_wrapper: @ 80FD3F0 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080FD410 @ =gUnknown_3007460 + ldr r0, _080FD410 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0] cmp r0, 0 @@ -63,7 +63,7 @@ rfu_REQ_sendData_wrapper: @ 80FD3F0 movs r2, 0x1 b _080FD420 .align 2, 0 -_080FD410: .4byte gUnknown_3007460 +_080FD410: .4byte gRfuLinkStatus _080FD414: .4byte gUnknown_3005E10 _080FD418: ldr r0, _080FD42C @ =gUnknown_3005E10 @@ -383,7 +383,7 @@ _080FD648: _080FD664: .4byte gUnknown_3005E10 _080FD668: movs r2, 0 - ldr r0, _080FD6B4 @ =gUnknown_3007460 + ldr r0, _080FD6B4 @ =gRfuLinkStatus ldr r1, [r0] ldrb r3, [r1, 0x8] ldr r5, _080FD6B8 @ =gUnknown_3005E10 @@ -422,7 +422,7 @@ _080FD6A2: movs r0, 0x3 b _080FD6E8 .align 2, 0 -_080FD6B4: .4byte gUnknown_3007460 +_080FD6B4: .4byte gRfuLinkStatus _080FD6B8: .4byte gUnknown_3005E10 _080FD6BC: ldrb r0, [r5, 0x4] @@ -476,7 +476,7 @@ sub_80FD6F4: @ 80FD6F4 bics r0, r1 strb r0, [r3] movs r4, 0 - ldr r7, _080FD75C @ =gUnknown_3007460 + ldr r7, _080FD75C @ =gRfuLinkStatus movs r5, 0x1 adds r3, 0x4 movs r2, 0 @@ -514,7 +514,7 @@ _080FD750: bx r0 .align 2, 0 _080FD758: .4byte gUnknown_3005E10 -_080FD75C: .4byte gUnknown_3007460 +_080FD75C: .4byte gRfuLinkStatus thumb_func_end sub_80FD6F4 thumb_func_start sub_80FD760 @@ -601,7 +601,7 @@ _080FD80A: strb r0, [r5, 0x4] ldrb r0, [r5, 0x12] strb r0, [r5, 0x5] - ldr r4, _080FD82C @ =gUnknown_3007460 + ldr r4, _080FD82C @ =gRfuLinkStatus ldr r0, [r4] ldrb r0, [r0, 0x3] bl sub_80FE818 @@ -613,7 +613,7 @@ _080FD80A: bl sub_80FE7F0 b _080FD84A .align 2, 0 -_080FD82C: .4byte gUnknown_3007460 +_080FD82C: .4byte gRfuLinkStatus _080FD830: movs r0, 0x12 strb r0, [r5, 0x4] @@ -653,7 +653,7 @@ sub_80FD850: @ 80FD850 mov r1, sp adds r2, r5, 0 adds r3, r4, 0 - bl sub_81E13F0 + bl rfu_REQBN_watchLink mov r0, sp ldrb r0, [r0] adds r7, r4, 0 @@ -743,7 +743,7 @@ _080FD90A: _080FD91E: bl sub_80FEAF4 _080FD922: - ldr r0, _080FDA0C @ =gUnknown_3007460 + ldr r0, _080FDA0C @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x1 @@ -866,7 +866,7 @@ _080FD9FC: pop {r1} bx r1 .align 2, 0 -_080FDA0C: .4byte gUnknown_3007460 +_080FDA0C: .4byte gRfuLinkStatus _080FDA10: .4byte gUnknown_3005E10 thumb_func_end sub_80FD850 @@ -1025,7 +1025,7 @@ _080FDB5C: .align 2, 0 _080FDB70: .4byte gUnknown_3005E10 _080FDB74: - bl sub_81E0CAC + bl rfu_REQ_startSearchChild b _080FDBDA _080FDB7A: bl rfu_REQ_pollSearchChild @@ -1056,13 +1056,13 @@ _080FDBAE: bl rfu_REQ_endConnectParent b _080FDBDA _080FDBB4: - ldr r0, _080FDBC0 @ =gUnknown_3007460 + ldr r0, _080FDBC0 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0, 0x3] bl rfu_REQ_CHILD_startConnectRecovery b _080FDBDA .align 2, 0 -_080FDBC0: .4byte gUnknown_3007460 +_080FDBC0: .4byte gRfuLinkStatus _080FDBC4: bl rfu_REQ_CHILD_pollConnectRecovery b _080FDBDA @@ -1089,7 +1089,7 @@ _080FDBE4: bhi _080FDBF4 b _080FDA5A _080FDBF4: - ldr r0, _080FDC24 @ =gUnknown_3007460 + ldr r0, _080FDC24 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x1 @@ -1110,7 +1110,7 @@ _080FDC1A: bx r0 .align 2, 0 _080FDC20: .4byte gUnknown_3005E10 -_080FDC24: .4byte gUnknown_3007460 +_080FDC24: .4byte gRfuLinkStatus thumb_func_end sub_80FDA30 thumb_func_start sub_80FDC28 @@ -1387,7 +1387,7 @@ _080FDE64: ldrh r0, [r4, 0x1A] cmp r0, 0x1 beq _080FDE8A - ldr r0, _080FDEB0 @ =gUnknown_3007460 + ldr r0, _080FDEB0 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0x4 @@ -1419,7 +1419,7 @@ _080FDEA0: b _080FE16E .align 2, 0 _080FDEAC: .4byte gUnknown_3005E10 -_080FDEB0: .4byte gUnknown_3007460 +_080FDEB0: .4byte gRfuLinkStatus _080FDEB4: cmp r6, 0 beq _080FDEBA @@ -1563,7 +1563,7 @@ _080FDFB4: beq _080FDFBA b _080FE16E _080FDFBA: - ldr r2, _080FDFFC @ =gUnknown_3007460 + ldr r2, _080FDFFC @ =gRfuLinkStatus ldr r3, [r2] ldrb r0, [r3, 0x3] movs r1, 0 @@ -1600,7 +1600,7 @@ _080FDFEC: beq _080FDFDC b _080FE16E .align 2, 0 -_080FDFFC: .4byte gUnknown_3007460 +_080FDFFC: .4byte gRfuLinkStatus _080FE000: cmp r6, 0 bne _080FE01E @@ -1670,7 +1670,7 @@ _080FE078: ldr r4, _080FE0B4 @ =gUnknown_3005E10 strb r6, [r4, 0x5] strb r6, [r4, 0x4] - ldr r0, _080FE0B8 @ =gUnknown_3007460 + ldr r0, _080FE0B8 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0, 0x3] bl sub_80FE818 @@ -1697,7 +1697,7 @@ _080FE08C: b _080FE16E .align 2, 0 _080FE0B4: .4byte gUnknown_3005E10 -_080FE0B8: .4byte gUnknown_3007460 +_080FE0B8: .4byte gRfuLinkStatus _080FE0BC: cmp r6, 0 bne _080FE16E @@ -1758,7 +1758,7 @@ _080FE0E8: strb r7, [r5, 0x5] strb r7, [r5, 0x4] bl sub_80FEAF4 - ldr r0, _080FE158 @ =gUnknown_3007460 + ldr r0, _080FE158 @ =gRfuLinkStatus ldr r0, [r0] ldrb r1, [r0, 0x2] ldrb r0, [r0, 0x3] @@ -1772,7 +1772,7 @@ _080FE0E8: bl sub_80FE7F0 b _080FE16E .align 2, 0 -_080FE158: .4byte gUnknown_3007460 +_080FE158: .4byte gRfuLinkStatus _080FE15C: cmp r6, 0 bne _080FE16E @@ -1811,7 +1811,7 @@ _080FE194: ldrb r0, [r0] cmp r0, 0 bne _080FE1CA - ldr r4, _080FE1E0 @ =gUnknown_3007460 + ldr r4, _080FE1E0 @ =gRfuLinkStatus ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -1839,7 +1839,7 @@ _080FE1D2: _080FE1DC: b _080FE322 .align 2, 0 -_080FE1E0: .4byte gUnknown_3007460 +_080FE1E0: .4byte gRfuLinkStatus _080FE1E4: mov r0, r8 cmp r0, 0x30 @@ -1906,7 +1906,7 @@ _080FE24E: strb r0, [r3] movs r3, 0 adds r7, r1, 0 - ldr r2, _080FE2AC @ =gUnknown_3007460 + ldr r2, _080FE2AC @ =gRfuLinkStatus mov r1, sp movs r5, 0x1 adds r4, r7, 0 @@ -1947,7 +1947,7 @@ _080FE27A: b _080FE2C2 .align 2, 0 _080FE2A8: .4byte gUnknown_3005E10 -_080FE2AC: .4byte gUnknown_3007460 +_080FE2AC: .4byte gRfuLinkStatus _080FE2B0: ldrb r0, [r7, 0x4] subs r0, 0x6 @@ -1980,7 +1980,7 @@ _080FE2D6: b _080FE322 _080FE2E6: bl sub_80FE6F0 - ldr r0, _080FE300 @ =gUnknown_3007460 + ldr r0, _080FE300 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0] cmp r0, 0xFF @@ -1990,7 +1990,7 @@ _080FE2E6: bl sub_80FE7F0 b _080FE322 .align 2, 0 -_080FE300: .4byte gUnknown_3007460 +_080FE300: .4byte gRfuLinkStatus _080FE304: cmp r6, 0 bne _080FE326 @@ -2018,7 +2018,7 @@ _080FE326: ldrb r0, [r7, 0x7] cmp r0, 0x4 bne _080FE358 - ldr r2, _080FE354 @ =gUnknown_3007460 + ldr r2, _080FE354 @ =gRfuLinkStatus ldr r1, [r2] movs r0, 0x1 strb r0, [r1] @@ -2030,7 +2030,7 @@ _080FE326: b _080FE388 .align 2, 0 _080FE350: .4byte gUnknown_3005E10 -_080FE354: .4byte gUnknown_3007460 +_080FE354: .4byte gRfuLinkStatus _080FE358: movs r1, 0 mov r3, r8 @@ -2075,7 +2075,7 @@ sub_80FE394: @ 80FE394 strb r0, [r4, 0xE] movs r0, 0x1 strb r0, [r4, 0xF] - ldr r0, _080FE3CC @ =gUnknown_3007460 + ldr r0, _080FE3CC @ =gRfuLinkStatus ldr r0, [r0] ldrb r5, [r0] cmp r5, 0 @@ -2091,7 +2091,7 @@ sub_80FE394: @ 80FE394 b _080FE40C .align 2, 0 _080FE3C8: .4byte gUnknown_3005E10 -_080FE3CC: .4byte gUnknown_3007460 +_080FE3CC: .4byte gRfuLinkStatus _080FE3D0: mov r0, sp bl rfu_UNI_PARENT_getDRAC_ACK @@ -2148,7 +2148,7 @@ sub_80FE418: @ 80FE418 bls _080FE436 b _080FE62A _080FE436: - ldr r0, _080FE4A0 @ =gUnknown_3007460 + ldr r0, _080FE4A0 @ =gRfuLinkStatus ldr r2, [r0] ldrb r1, [r2, 0x2] ldrb r0, [r3, 0xC] @@ -2201,7 +2201,7 @@ _080FE46C: b _080FE574 .align 2, 0 _080FE49C: .4byte gUnknown_3005E10 -_080FE4A0: .4byte gUnknown_3007460 +_080FE4A0: .4byte gRfuLinkStatus _080FE4A4: ldrb r1, [r7] adds r0, r4, 0 @@ -2224,7 +2224,7 @@ _080FE4BE: mov r10, r2 cmp r0, 0 beq _080FE574 - ldr r0, _080FE518 @ =gUnknown_3007450 + ldr r0, _080FE518 @ =gRfuSlotStatusNI lsls r1, r6, 2 adds r1, r0 ldr r1, [r1] @@ -2242,7 +2242,7 @@ _080FE4BE: ldr r0, _080FE51C @ =0x0000ffff cmp r2, r0 beq _080FE508 - ldr r0, _080FE520 @ =gUnknown_3007460 + ldr r0, _080FE520 @ =gRfuLinkStatus ldr r0, [r0] lsls r1, r6, 5 adds r0, r1 @@ -2264,9 +2264,9 @@ _080FE508: orrs r5, r0 b _080FE53C .align 2, 0 -_080FE518: .4byte gUnknown_3007450 +_080FE518: .4byte gRfuSlotStatusNI _080FE51C: .4byte 0x0000ffff -_080FE520: .4byte gUnknown_3007460 +_080FE520: .4byte gRfuLinkStatus _080FE524: lsls r1, r6, 1 adds r0, r3, 0 @@ -2331,7 +2331,7 @@ _080FE592: cmp r0, 0 beq _080FE5CE movs r5, 0x1 - ldr r0, _080FE600 @ =gUnknown_3007460 + ldr r0, _080FE600 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0, 0x6] cmp r0, 0 @@ -2378,7 +2378,7 @@ _080FE5CE: .align 2, 0 _080FE5F8: .4byte 0x0000ffff _080FE5FC: .4byte gUnknown_3005E10 -_080FE600: .4byte gUnknown_3007460 +_080FE600: .4byte gRfuLinkStatus _080FE604: cmp r0, 0x2 bne _080FE610 @@ -2435,7 +2435,7 @@ sub_80FE63C: @ 80FE63C lsls r0, 16 cmp r0, 0 beq _080FE676 - ldr r1, _080FE6E8 @ =gUnknown_3007450 + ldr r1, _080FE6E8 @ =gRfuSlotStatusNI ldrb r0, [r4, 0x10] lsls r0, 2 adds r0, r1 @@ -2481,7 +2481,7 @@ _080FE6B6: bne _080FE6DA strb r4, [r5, 0x5] strb r4, [r5, 0x4] - ldr r0, _080FE6EC @ =gUnknown_3007460 + ldr r0, _080FE6EC @ =gRfuLinkStatus ldr r0, [r0] ldrb r1, [r0, 0x2] ldrb r0, [r0, 0x3] @@ -2498,8 +2498,8 @@ _080FE6DA: .align 2, 0 _080FE6E0: .4byte 0x04000208 _080FE6E4: .4byte gUnknown_3005E10 -_080FE6E8: .4byte gUnknown_3007450 -_080FE6EC: .4byte gUnknown_3007460 +_080FE6E8: .4byte gRfuSlotStatusNI +_080FE6EC: .4byte gRfuLinkStatus thumb_func_end sub_80FE63C thumb_func_start sub_80FE6F0 @@ -2509,7 +2509,7 @@ sub_80FE6F0: @ 80FE6F0 ldrb r0, [r5, 0x4] cmp r0, 0xF bne _080FE73C - ldr r1, _080FE748 @ =gUnknown_3007450 + ldr r1, _080FE748 @ =gRfuSlotStatusNI ldrb r2, [r5, 0x10] lsls r0, r2, 2 adds r0, r1 @@ -2546,7 +2546,7 @@ _080FE73C: bx r0 .align 2, 0 _080FE744: .4byte gUnknown_3005E10 -_080FE748: .4byte gUnknown_3007450 +_080FE748: .4byte gRfuSlotStatusNI thumb_func_end sub_80FE6F0 thumb_func_start sub_80FE74C @@ -2585,7 +2585,7 @@ sub_80FE778: @ 80FE778 push {r5-r7} movs r6, 0 movs r5, 0 - ldr r1, _080FE7E4 @ =gUnknown_3007460 + ldr r1, _080FE7E4 @ =gRfuLinkStatus ldr r0, [r1] ldrb r0, [r0, 0x8] cmp r6, r0 @@ -2638,7 +2638,7 @@ _080FE7D4: pop {r1} bx r1 .align 2, 0 -_080FE7E4: .4byte gUnknown_3007460 +_080FE7E4: .4byte gRfuLinkStatus _080FE7E8: .4byte gUnknown_3005E10 _080FE7EC: .4byte 0x0000ffff thumb_func_end sub_80FE778 @@ -2690,14 +2690,14 @@ sub_80FE83C: @ 80FE83C push {r4-r7,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _080FE908 @ =gUnknown_3007460 + ldr r0, _080FE908 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0, 0x4] cmp r0, 0 beq _080FE884 movs r4, 0 _080FE84E: - ldr r1, _080FE90C @ =gUnknown_3007450 + ldr r1, _080FE90C @ =gRfuSlotStatusNI lsls r0, r4, 2 adds r0, r1 ldr r2, [r0] @@ -2725,14 +2725,14 @@ _080FE87A: cmp r4, 0x3 bls _080FE84E _080FE884: - ldr r0, _080FE908 @ =gUnknown_3007460 + ldr r0, _080FE908 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0, 0x5] cmp r0, 0 beq _080FE8C2 movs r4, 0 _080FE890: - ldr r1, _080FE90C @ =gUnknown_3007450 + ldr r1, _080FE90C @ =gRfuSlotStatusNI lsls r0, r4, 2 adds r0, r1 ldr r2, [r0] @@ -2758,7 +2758,7 @@ _080FE8B8: cmp r4, 0x3 bls _080FE890 _080FE8C2: - ldr r0, _080FE908 @ =gUnknown_3007460 + ldr r0, _080FE908 @ =gRfuLinkStatus ldr r3, [r0] ldrb r2, [r3, 0x6] cmp r2, 0 @@ -2768,7 +2768,7 @@ _080FE8C2: ands r0, r2 strb r0, [r3, 0x6] movs r4, 0 - ldr r7, _080FE910 @ =gUnknown_3007440 + ldr r7, _080FE910 @ =gRfuSlotStatusUNI ldr r6, _080FE914 @ =0x00008024 _080FE8DA: lsls r0, r4, 2 @@ -2796,9 +2796,9 @@ _080FE900: pop {r0} bx r0 .align 2, 0 -_080FE908: .4byte gUnknown_3007460 -_080FE90C: .4byte gUnknown_3007450 -_080FE910: .4byte gUnknown_3007440 +_080FE908: .4byte gRfuLinkStatus +_080FE90C: .4byte gRfuSlotStatusNI +_080FE910: .4byte gRfuSlotStatusUNI _080FE914: .4byte 0x00008024 thumb_func_end sub_80FE83C @@ -2814,14 +2814,14 @@ sub_80FE918: @ 80FE918 ldrh r0, [r0, 0x18] cmp r0, 0 beq _080FE9F4 - ldr r0, _080FEA08 @ =gUnknown_3007460 + ldr r0, _080FEA08 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0, 0x4] cmp r0, 0 beq _080FE9B8 movs r6, 0 _080FE938: - ldr r3, _080FEA0C @ =gUnknown_3007450 + ldr r3, _080FEA0C @ =gRfuSlotStatusNI lsls r2, r6, 2 adds r0, r2, r3 ldr r0, [r0] @@ -2889,14 +2889,14 @@ _080FE9AE: cmp r6, 0x3 bls _080FE938 _080FE9B8: - ldr r0, _080FEA08 @ =gUnknown_3007460 + ldr r0, _080FEA08 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0, 0x5] cmp r0, 0 beq _080FE9F4 movs r6, 0 _080FE9C4: - ldr r1, _080FEA0C @ =gUnknown_3007450 + ldr r1, _080FEA0C @ =gRfuSlotStatusNI lsls r0, r6, 2 adds r0, r1 ldr r2, [r0] @@ -2931,8 +2931,8 @@ _080FE9F4: bx r0 .align 2, 0 _080FEA04: .4byte gUnknown_3005E10 -_080FEA08: .4byte gUnknown_3007460 -_080FEA0C: .4byte gUnknown_3007450 +_080FEA08: .4byte gRfuLinkStatus +_080FEA0C: .4byte gRfuSlotStatusNI thumb_func_end sub_80FE918 thumb_func_start sub_80FEA10 @@ -3002,7 +3002,7 @@ sub_80FEA78: @ 80FEA78 push {lr} lsls r0, 16 lsrs r2, r0, 16 - ldr r0, _080FEA94 @ =gUnknown_3007460 + ldr r0, _080FEA94 @ =gRfuLinkStatus ldr r0, [r0] ldrb r1, [r0, 0x4] ldrb r0, [r0, 0x5] @@ -3014,7 +3014,7 @@ sub_80FEA78: @ 80FEA78 movs r0, 0 b _080FEAAC .align 2, 0 -_080FEA94: .4byte gUnknown_3007460 +_080FEA94: .4byte gRfuLinkStatus _080FEA98: .4byte gUnknown_3005E10 _080FEA9C: ldr r1, _080FEAB0 @ =gUnknown_3005E10 diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index f37313210..10d4fd03d 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -132,12 +132,12 @@ _080F86F0: .4byte 0x04000208 thumb_func_start sub_80F86F4 sub_80F86F4: @ 80F86F4 push {r4,lr} - ldr r0, _080F8728 @ =gUnknown_3001190 + ldr r0, _080F8728 @ =gRfuAPIBuffer ldr r1, _080F872C @ =0x00000e64 ldr r4, _080F8730 @ =gIntrTable + 0x4 adds r2, r4, 0 movs r3, 0x1 - bl sub_81E05B0 + bl rfu_initializeAPI lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0 @@ -155,7 +155,7 @@ _080F8722: pop {r0} bx r0 .align 2, 0 -_080F8728: .4byte gUnknown_3001190 +_080F8728: .4byte gRfuAPIBuffer _080F872C: .4byte 0x00000e64 _080F8730: .4byte gIntrTable + 0x4 _080F8734: .4byte gLinkType @@ -871,7 +871,7 @@ _080F8D2A: bge _080F8D2A bl rfu_REQ_recvData bl rfu_waitREQComplete - ldr r1, _080F8D94 @ =gUnknown_3007440 + ldr r1, _080F8D94 @ =gRfuSlotStatusUNI ldr r3, _080F8D90 @ =gUnknown_3005450 ldr r0, _080F8D98 @ =0x000008f6 adds r4, r3, r0 @@ -911,7 +911,7 @@ _080F8D84: bx r0 .align 2, 0 _080F8D90: .4byte gUnknown_3005450 -_080F8D94: .4byte gUnknown_3007440 +_080F8D94: .4byte gRfuSlotStatusUNI _080F8D98: .4byte 0x000008f6 _080F8D9C: .4byte 0x00000988 _080F8DA0: .4byte 0x000008f7 @@ -1074,7 +1074,7 @@ sub_80F8ECC: @ 80F8ECC ldrh r0, [r4, 0x4] cmp r0, 0x7 bne _080F8F08 - ldr r0, _080F8F00 @ =gUnknown_3007460 + ldr r0, _080F8F00 @ =gRfuLinkStatus ldr r1, [r0] ldr r2, _080F8F04 @ =0x000008f5 adds r0, r4, r2 @@ -1093,7 +1093,7 @@ sub_80F8ECC: @ 80F8ECC b _080F8F0A .align 2, 0 _080F8EFC: .4byte gUnknown_3005450 -_080F8F00: .4byte gUnknown_3007460 +_080F8F00: .4byte gRfuLinkStatus _080F8F04: .4byte 0x000008f5 _080F8F08: movs r0, 0 @@ -1363,7 +1363,7 @@ _080F90D8: .4byte 0x000008f2 thumb_func_start IsRfuRecvQueueEmpty IsRfuRecvQueueEmpty: @ 80F90DC push {r4,lr} - ldr r0, _080F90EC @ =gUnknown_3007460 + ldr r0, _080F90EC @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0, 0x6] cmp r0, 0 @@ -1372,7 +1372,7 @@ _080F90E8: movs r0, 0 b _080F9110 .align 2, 0 -_080F90EC: .4byte gUnknown_3007460 +_080F90EC: .4byte gRfuLinkStatus _080F90F0: movs r3, 0 ldr r4, _080F9118 @ =gRecvCmds @@ -1422,7 +1422,7 @@ _080F913C: strb r0, [r1] ldr r0, _080F919C @ =0x0000099a adds r1, r6, r0 - ldr r0, _080F91A0 @ =gUnknown_3007460 + ldr r0, _080F91A0 @ =gRfuLinkStatus ldr r0, [r0] ldrb r1, [r1] ldrb r0, [r0, 0x2] @@ -1460,7 +1460,7 @@ _080F913C: .align 2, 0 _080F9198: .4byte 0x00000993 _080F919C: .4byte 0x0000099a -_080F91A0: .4byte gUnknown_3007460 +_080F91A0: .4byte gRfuLinkStatus _080F91A4: .4byte 0x00000994 _080F91A8: .4byte 0x0000099b _080F91AC: .4byte 0x0000099c @@ -1815,7 +1815,7 @@ _080F947E: adds r0, r6, r1 ldrb r0, [r0] adds r1, r0, 0 - ldr r0, _080F94A0 @ =gUnknown_3007460 + ldr r0, _080F94A0 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0, 0x6] cmp r0, 0 @@ -1826,7 +1826,7 @@ _080F947E: .align 2, 0 _080F9498: .4byte 0x00000994 _080F949C: .4byte gUnknown_3005450 -_080F94A0: .4byte gUnknown_3007460 +_080F94A0: .4byte gRfuLinkStatus _080F94A4: movs r0, 0 b _080F94AA @@ -1950,7 +1950,7 @@ _080F9538: ldrb r0, [r0] cmp r0, 0 beq _080F95E4 - ldr r0, _080F964C @ =gUnknown_3007460 + ldr r0, _080F964C @ =gRfuLinkStatus ldr r0, [r0] ldrb r1, [r0, 0x2] ldrb r0, [r0, 0x3] @@ -2042,7 +2042,7 @@ _080F963C: .4byte gRecvCmds _080F9640: .4byte gUnknown_3005E10 _080F9644: .4byte gUnknown_3005450 _080F9648: .4byte 0x0000099c -_080F964C: .4byte gUnknown_3007460 +_080F964C: .4byte gRfuLinkStatus _080F9650: .4byte gReceivedRemoteLinkPlayers _080F9654: .4byte 0x00000988 _080F9658: .4byte gSendCmd @@ -2435,7 +2435,7 @@ _080F9902: beq _080F9914 b _080F9C40 _080F9914: - ldr r0, _080F9944 @ =gUnknown_3007460 + ldr r0, _080F9944 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0] mov r6, r8 @@ -2458,7 +2458,7 @@ _080F9924: .align 2, 0 _080F993C: .4byte gUnknown_3005450 _080F9940: .4byte gReceivedRemoteLinkPlayers -_080F9944: .4byte gUnknown_3007460 +_080F9944: .4byte gRfuLinkStatus _080F9948: .4byte gRecvCmds + 2 _080F994C: .4byte gRecvCmds + 4 _080F9950: .4byte gUnknown_3005DD6 @@ -2688,7 +2688,7 @@ _080F9B00: ldr r0, _080F9B54 @ =gRecvCmds + 2 adds r4, r5, r0 ldrh r1, [r4] - ldr r0, _080F9B58 @ =gUnknown_3007460 + ldr r0, _080F9B58 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0, 0x2] ands r1, r0 @@ -2715,7 +2715,7 @@ _080F9B38: _080F9B4C: .4byte gUnknown_3005450 _080F9B50: .4byte gReceivedRemoteLinkPlayers _080F9B54: .4byte gRecvCmds + 2 -_080F9B58: .4byte gUnknown_3007460 +_080F9B58: .4byte gRfuLinkStatus _080F9B5C: .4byte gRecvCmds + 4 _080F9B60: .4byte 0x0000099c _080F9B64: .4byte gRecvCmds @@ -3502,7 +3502,7 @@ _080FA13C: .4byte gUnknown_3005450 thumb_func_start sub_80FA140 sub_80FA140: @ 80FA140 push {lr} - ldr r0, _080FA15C @ =gUnknown_3007460 + ldr r0, _080FA15C @ =gRfuLinkStatus ldr r0, [r0] ldrb r1, [r0, 0x2] ldrb r0, [r0, 0x3] @@ -3513,7 +3513,7 @@ sub_80FA140: @ 80FA140 pop {r0} bx r0 .align 2, 0 -_080FA15C: .4byte gUnknown_3007460 +_080FA15C: .4byte gRfuLinkStatus thumb_func_end sub_80FA140 thumb_func_start sub_80FA160 @@ -3552,7 +3552,7 @@ sub_80FA190: @ 80FA190 adds r1, r2, r0 movs r0, 0x1 strb r0, [r1] - ldr r0, _080FA1BC @ =gUnknown_3007460 + ldr r0, _080FA1BC @ =gRfuLinkStatus ldr r1, [r0] ldrb r0, [r1, 0x2] ldrb r1, [r1, 0x3] @@ -3565,7 +3565,7 @@ sub_80FA190: @ 80FA190 .align 2, 0 _080FA1B4: .4byte gUnknown_3005450 _080FA1B8: .4byte 0x0000099c -_080FA1BC: .4byte gUnknown_3007460 +_080FA1BC: .4byte gRfuLinkStatus _080FA1C0: .4byte 0x0000099b thumb_func_end sub_80FA190 @@ -4065,7 +4065,7 @@ _080FA53A: lsrs r0, 24 cmp r0, 0x1 bls _080FA5C2 - ldr r1, _080FA5A0 @ =gUnknown_3007450 + ldr r1, _080FA5A0 @ =gRfuSlotStatusNI lsls r0, r5, 2 adds r0, r1 ldr r0, [r0] @@ -4103,7 +4103,7 @@ _080FA55E: _080FA594: .4byte gUnknown_3005450 _080FA598: .4byte 0x000008f6 _080FA59C: .4byte 0x00000989 -_080FA5A0: .4byte gUnknown_3007450 +_080FA5A0: .4byte gRfuSlotStatusNI _080FA5A4: .4byte 0x0000098d _080FA5A8: mov r2, r8 @@ -4300,7 +4300,7 @@ sub_80FA6FC: @ 80FA6FC movs r0, 0x2 b _080FA732 _080FA718: - ldr r1, _080FA72C @ =gUnknown_3007450 + ldr r1, _080FA72C @ =gRfuSlotStatusNI lsls r0, 2 adds r0, r1 ldr r0, [r0] @@ -4310,7 +4310,7 @@ _080FA718: movs r0, 0 b _080FA732 .align 2, 0 -_080FA72C: .4byte gUnknown_3007450 +_080FA72C: .4byte gRfuSlotStatusNI _080FA730: movs r0, 0x1 _080FA732: @@ -4327,7 +4327,7 @@ sub_80FA738: @ 80FA738 ldr r1, _080FA780 @ =0x0000098d adds r5, r0, r1 _080FA746: - ldr r1, _080FA784 @ =gUnknown_3007450 + ldr r1, _080FA784 @ =gRfuSlotStatusNI lsls r0, r4, 2 adds r0, r1 ldr r0, [r0] @@ -4358,7 +4358,7 @@ _080FA770: .align 2, 0 _080FA77C: .4byte gUnknown_3005450 _080FA780: .4byte 0x0000098d -_080FA784: .4byte gUnknown_3007450 +_080FA784: .4byte gRfuSlotStatusNI thumb_func_end sub_80FA738 thumb_func_start sub_80FA788 @@ -4371,7 +4371,7 @@ sub_80FA788: @ 80FA788 ldrb r0, [r0] cmp r0, 0x8 bne _080FA7C2 - ldr r2, _080FA808 @ =gUnknown_3007450 + ldr r2, _080FA808 @ =gRfuSlotStatusNI ldr r0, _080FA80C @ =0x000008f6 adds r1, r0 ldrb r0, [r1] @@ -4393,7 +4393,7 @@ _080FA7BA: movs r0, 0x4 bl rfu_clearSlot _080FA7C2: - ldr r2, _080FA808 @ =gUnknown_3007450 + ldr r2, _080FA808 @ =gRfuSlotStatusNI ldr r5, _080FA800 @ =gUnknown_3005450 ldr r0, _080FA80C @ =0x000008f6 adds r1, r5, r0 @@ -4425,7 +4425,7 @@ _080FA7E6: .align 2, 0 _080FA800: .4byte gUnknown_3005450 _080FA804: .4byte 0x0000093d -_080FA808: .4byte gUnknown_3007450 +_080FA808: .4byte gRfuSlotStatusNI _080FA80C: .4byte 0x000008f6 _080FA810: .4byte 0x0000093e _080FA814: @@ -5772,7 +5772,7 @@ _080FB21E: ands r0, r1 cmp r0, 0 beq _080FB286 - ldr r0, _080FB274 @ =gUnknown_3007460 + ldr r0, _080FB274 @ =gRfuLinkStatus lsls r1, r5, 5 adds r1, 0x14 ldr r0, [r0] @@ -5803,7 +5803,7 @@ _080FB21E: _080FB268: .4byte gUnknown_3005E10 _080FB26C: .4byte gUnknown_3005450 _080FB270: .4byte 0x0000098d -_080FB274: .4byte gUnknown_3007460 +_080FB274: .4byte gRfuLinkStatus _080FB278: .4byte 0x00000989 _080FB27C: mov r0, r8 @@ -6216,7 +6216,7 @@ sub_80FB5A0: @ 80FB5A0 movs r3, 0 movs r2, 0 movs r4, 0x1 - ldr r6, _080FB5E8 @ =gUnknown_3007460 + ldr r6, _080FB5E8 @ =gRfuLinkStatus movs r7, 0x7F _080FB5AE: adds r0, r5, 0 @@ -6249,7 +6249,7 @@ _080FB5D4: pop {r1} bx r1 .align 2, 0 -_080FB5E8: .4byte gUnknown_3007460 +_080FB5E8: .4byte gRfuLinkStatus thumb_func_end sub_80FB5A0 thumb_func_start sub_80FB5EC @@ -6601,7 +6601,7 @@ _080FB894: adds r1, 0xF0 movs r0, 0x3 strb r0, [r1] - ldr r0, _080FB8B8 @ =gUnknown_3007460 + ldr r0, _080FB8B8 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0] cmp r0, 0 @@ -6615,7 +6615,7 @@ _080FB8AA: b _080FB9C0 .align 2, 0 _080FB8B4: .4byte gUnknown_3005450 -_080FB8B8: .4byte gUnknown_3007460 +_080FB8B8: .4byte gRfuLinkStatus _080FB8BC: .4byte 0x000008f4 _080FB8C0: ldr r0, _080FB900 @ =gUnknown_3005450 @@ -6674,7 +6674,7 @@ _080FB916: movs r0, 0 bl sub_80FD760 _080FB934: - ldr r0, _080FB96C @ =gUnknown_3007460 + ldr r0, _080FB96C @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0] cmp r0, 0xFF @@ -6700,7 +6700,7 @@ _080FB95A: .align 2, 0 _080FB964: .4byte 0x0000099c _080FB968: .4byte gReceivedRemoteLinkPlayers -_080FB96C: .4byte gUnknown_3007460 +_080FB96C: .4byte gRfuLinkStatus _080FB970: .4byte gUnknown_3005E10 _080FB974: .4byte sub_80F8B34 _080FB978: .4byte gUnknown_3005450 @@ -7108,7 +7108,7 @@ sub_80FBC70: @ 80FBC70 movs r0, 0xFF mov r9, r0 movs r7, 0 - ldr r1, _080FBCF4 @ =gUnknown_3007460 + ldr r1, _080FBCF4 @ =gRfuLinkStatus mov r8, r1 _080FBC8E: lsls r4, r7, 5 @@ -7162,7 +7162,7 @@ _080FBCE2: pop {r1} bx r1 .align 2, 0 -_080FBCF4: .4byte gUnknown_3007460 +_080FBCF4: .4byte gRfuLinkStatus thumb_func_end sub_80FBC70 thumb_func_start sub_80FBCF8 @@ -7391,7 +7391,7 @@ sub_80FBE80: @ 80FBE80 lsrs r2, r0, 24 cmp r2, 0xFF beq _080FBF18 - ldr r0, _080FBEDC @ =gUnknown_3007460 + ldr r0, _080FBEDC @ =gRfuLinkStatus ldr r0, [r0] lsls r1, r2, 5 adds r0, r1 @@ -7408,7 +7408,7 @@ sub_80FBE80: @ 80FBE80 b _080FBF10 .align 2, 0 _080FBED8: .4byte gTasks+0x8 -_080FBEDC: .4byte gUnknown_3007460 +_080FBEDC: .4byte gRfuLinkStatus _080FBEE0: .4byte gUnknown_3005450 _080FBEE4: .4byte 0x000008f5 _080FBEE8: @@ -7638,7 +7638,7 @@ _080FC070: beq _080FC108 movs r1, 0xA ldrsh r0, [r4, r1] - ldr r7, _080FC0F4 @ =gUnknown_3007460 + ldr r7, _080FC0F4 @ =gRfuLinkStatus lsls r4, r2, 5 adds r2, r4, 0 adds r2, 0x14 @@ -7670,7 +7670,7 @@ _080FC0E4: .4byte gTasks _080FC0E8: .4byte 0x00000985 _080FC0EC: .4byte gUnknown_3005E10 _080FC0F0: .4byte 0x00000119 -_080FC0F4: .4byte gUnknown_3007460 +_080FC0F4: .4byte gRfuLinkStatus _080FC0F8: movs r1, 0xE0 lsls r1, 7 @@ -7845,7 +7845,7 @@ sub_80FC228: @ 80FC228 movs r2, 0x13 movs r3, 0x2 bl nullsub_88 - ldr r4, _080FC2F8 @ =gUnknown_3007460 + ldr r4, _080FC2F8 @ =gRfuLinkStatus ldr r0, [r4] ldrb r0, [r0, 0x2] movs r1, 0x14 @@ -7934,7 +7934,7 @@ _080FC2CE: bl nullsub_87 b _080FC436 .align 2, 0 -_080FC2F8: .4byte gUnknown_3007460 +_080FC2F8: .4byte gRfuLinkStatus _080FC2FC: .4byte gUnknown_3005450 _080FC300: .4byte gUnknown_843EE64 _080FC304: @@ -7969,7 +7969,7 @@ _080FC318: adds r6, 0x1 cmp r6, 0x3 ble _080FC318 - ldr r5, _080FC394 @ =gUnknown_3007460 + ldr r5, _080FC394 @ =gRfuLinkStatus ldr r1, [r5] ldr r4, _080FC398 @ =gUnknown_3005450 ldr r0, _080FC39C @ =0x000008f6 @@ -8004,12 +8004,12 @@ _080FC318: .align 2, 0 _080FC38C: .4byte gUnknown_843EE47 _080FC390: .4byte gUnknown_843EE57 -_080FC394: .4byte gUnknown_3007460 +_080FC394: .4byte gRfuLinkStatus _080FC398: .4byte gUnknown_3005450 _080FC39C: .4byte 0x000008f6 _080FC3A0: movs r6, 0 - ldr r1, _080FC440 @ =gUnknown_3007460 + ldr r1, _080FC440 @ =gRfuLinkStatus ldr r0, [r1] ldrb r0, [r0, 0x8] cmp r6, r0 @@ -8088,7 +8088,7 @@ _080FC436: pop {r0} bx r0 .align 2, 0 -_080FC440: .4byte gUnknown_3007460 +_080FC440: .4byte gRfuLinkStatus _080FC444: .4byte gUnknown_843EE47 _080FC448: .4byte gUnknown_843EE57 thumb_func_end sub_80FC228 @@ -9032,7 +9032,7 @@ sub_80FCADC: @ 80FCADC lsls r0, 24 lsrs r5, r0, 24 movs r6, 0 - ldr r0, _080FCB04 @ =gUnknown_3007460 + ldr r0, _080FCB04 @ =gRfuLinkStatus ldr r4, [r0] ldrb r2, [r4, 0x2] ldrb r1, [r4] @@ -9048,7 +9048,7 @@ sub_80FCADC: @ 80FCADC ldrb r0, [r4, 0xA] b _080FCB4C .align 2, 0 -_080FCB04: .4byte gUnknown_3007460 +_080FCB04: .4byte gRfuLinkStatus _080FCB08: adds r0, r6, 0x1 lsls r0, 24 @@ -9234,7 +9234,7 @@ sub_80FCC3C: @ 80FCC3C bne _080FCC98 movs r0, 0x1 mov r9, r0 - ldr r6, _080FCC94 @ =gUnknown_3007460 + ldr r6, _080FCC94 @ =gRfuLinkStatus ldr r0, [r6] lsls r4, r5, 5 adds r0, r4 @@ -9261,11 +9261,11 @@ _080FCC78: b _080FCCE4 .align 2, 0 _080FCC90: .4byte gUnknown_3005E10 -_080FCC94: .4byte gUnknown_3007460 +_080FCC94: .4byte gRfuLinkStatus _080FCC98: movs r0, 0 mov r9, r0 - ldr r6, _080FCCCC @ =gUnknown_3007460 + ldr r6, _080FCCCC @ =gRfuLinkStatus ldr r0, [r6] lsls r4, r5, 5 adds r0, r4 @@ -9288,7 +9288,7 @@ _080FCCB0: bl memcpy b _080FCCE4 .align 2, 0 -_080FCCCC: .4byte gUnknown_3007460 +_080FCCCC: .4byte gRfuLinkStatus _080FCCD0: adds r0, r7, 0 movs r1, 0 @@ -9315,7 +9315,7 @@ sub_80FCCF4: @ 80FCCF4 adds r5, r1, 0 lsls r2, 24 movs r7, 0 - ldr r6, _080FCD2C @ =gUnknown_3007460 + ldr r6, _080FCD2C @ =gRfuLinkStatus ldr r0, [r6] lsrs r4, r2, 19 adds r2, r0, r4 @@ -9337,7 +9337,7 @@ sub_80FCCF4: @ 80FCCF4 movs r7, 0x1 b _080FCD48 .align 2, 0 -_080FCD2C: .4byte gUnknown_3007460 +_080FCD2C: .4byte gRfuLinkStatus _080FCD30: .4byte 0x00007f7d _080FCD34: adds r0, r3, 0 @@ -9388,7 +9388,7 @@ CreateWirelessStatusIndicatorSprite: @ 80FCD74 movs r3, 0xE7 movs r2, 0x8 _080FCD8A: - ldr r0, _080FCDCC @ =gUnknown_3007460 + ldr r0, _080FCDCC @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x1 @@ -9420,7 +9420,7 @@ _080FCD8A: strb r5, [r0] b _080FCE2A .align 2, 0 -_080FCDCC: .4byte gUnknown_3007460 +_080FCDCC: .4byte gRfuLinkStatus _080FCDD0: .4byte gUnknown_843F284 _080FCDD4: .4byte gSprites _080FCDD8: .4byte 0x00001234 @@ -9551,7 +9551,7 @@ _080FCEE0: .4byte gUnknown_203ACE4 thumb_func_start sub_80FCEE4 sub_80FCEE4: @ 80FCEE4 push {r4,lr} - ldr r1, _080FCF04 @ =gUnknown_3007460 + ldr r1, _080FCF04 @ =gRfuLinkStatus ldr r0, [r1] ldrb r2, [r0, 0x2] movs r3, 0 @@ -9567,7 +9567,7 @@ _080FCEF0: ldrb r0, [r0] b _080FCF16 .align 2, 0 -_080FCF04: .4byte gUnknown_3007460 +_080FCF04: .4byte gRfuLinkStatus _080FCF08: lsrs r2, 1 adds r0, r3, 0x1 @@ -9626,7 +9626,7 @@ _080FCF5C: adds r6, r2, 0 movs r5, 0xFF movs r4, 0 - ldr r0, _080FCF84 @ =gUnknown_3007460 + ldr r0, _080FCF84 @ =gRfuLinkStatus ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x1 @@ -9641,7 +9641,7 @@ _080FCF5C: _080FCF78: .4byte gUnknown_203ACE4 _080FCF7C: .4byte gSprites _080FCF80: .4byte 0x00001234 -_080FCF84: .4byte gUnknown_3007460 +_080FCF84: .4byte gRfuLinkStatus _080FCF88: adds r0, r4, 0x1 lsls r0, 24 diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index ef64c08dd..1bd5420fa 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -10493,7 +10493,7 @@ _0811AFF8: _0811AFFA: cmp r4, 0x3 bgt _0811B030 - ldr r0, _0811B044 @ =gUnknown_3007460 + ldr r0, _0811B044 @ =gRfuLinkStatus ldr r0, [r0] lsls r1, r4, 5 adds r0, r1 @@ -10526,7 +10526,7 @@ _0811B030: bl StringCopy b _0811B080 .align 2, 0 -_0811B044: .4byte gUnknown_3007460 +_0811B044: .4byte gRfuLinkStatus _0811B048: .4byte gSpeciesNames _0811B04C: .4byte gUnknown_8457DB8 _0811B050: diff --git a/asm/pc_screen_effect.s b/asm/pc_screen_effect.s deleted file mode 100644 index 61c47a719..000000000 --- a/asm/pc_screen_effect.s +++ /dev/null @@ -1,477 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80A0A48 -sub_80A0A48: @ 80A0A48 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _080A0A6C @ =sub_80A0B0C - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A0AC0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A0A6C: .4byte sub_80A0B0C - thumb_func_end sub_80A0A48 - - thumb_func_start sub_80A0A70 -sub_80A0A70: @ 80A0A70 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _080A0A94 @ =sub_80A0C78 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A0AC0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A0A94: .4byte sub_80A0C78 - thumb_func_end sub_80A0A70 - - thumb_func_start sub_80A0A98 -sub_80A0A98: @ 80A0A98 - push {lr} - ldr r0, _080A0AA8 @ =sub_80A0B0C - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080A0AA8: .4byte sub_80A0B0C - thumb_func_end sub_80A0A98 - - thumb_func_start sub_80A0AAC -sub_80A0AAC: @ 80A0AAC - push {lr} - ldr r0, _080A0ABC @ =sub_80A0C78 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080A0ABC: .4byte sub_80A0C78 - thumb_func_end sub_80A0AAC - - thumb_func_start sub_80A0AC0 -sub_80A0AC0: @ 80A0AC0 - push {r4,r5,lr} - lsls r1, 16 - lsrs r4, r1, 16 - adds r5, r4, 0 - lsls r3, 24 - lsrs r3, 24 - adds r1, r3, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - ldr r1, _080A0B08 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0, r1 - movs r0, 0 - strh r0, [r1, 0x8] - movs r0, 0x10 - cmp r4, 0 - beq _080A0AEE - adds r0, r4, 0 -_080A0AEE: - strh r0, [r1, 0xA] - movs r0, 0x14 - cmp r5, 0 - beq _080A0AF8 - adds r0, r5, 0 -_080A0AF8: - strh r0, [r1, 0xC] - ldr r1, [r1] - adds r0, r2, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A0B08: .4byte gTasks - thumb_func_end sub_80A0AC0 - - thumb_func_start sub_80A0B0C -sub_80A0B0C: @ 80A0B0C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080A0B30 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080A0B8C - cmp r0, 0x1 - bgt _080A0B34 - cmp r0, 0 - beq _080A0B3E - b _080A0C5A - .align 2, 0 -_080A0B30: .4byte gTasks -_080A0B34: - cmp r0, 0x2 - beq _080A0BAE - cmp r0, 0x3 - beq _080A0C10 - b _080A0C5A -_080A0B3E: - movs r0, 0x78 - strh r0, [r4, 0xE] - strh r0, [r4, 0x10] - movs r0, 0x50 - strh r0, [r4, 0x12] - movs r0, 0x51 - strh r0, [r4, 0x14] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x10] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x14] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - b _080A0C6A -_080A0B8C: - movs r0, 0x50 - bl GetGpuReg - strh r0, [r4, 0x16] - movs r0, 0x54 - bl GetGpuReg - strh r0, [r4, 0x18] - movs r0, 0x50 - movs r1, 0xBF - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x10 - bl SetGpuReg - b _080A0C6A -_080A0BAE: - ldrh r0, [r4, 0xE] - ldrh r1, [r4, 0xA] - subs r0, r1 - movs r5, 0 - strh r0, [r4, 0xE] - ldrh r2, [r4, 0x10] - adds r1, r2 - strh r1, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - ble _080A0BCC - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xEF - ble _080A0BF2 -_080A0BCC: - strh r5, [r4, 0xE] - movs r0, 0xF0 - strh r0, [r4, 0x10] - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4, 0x16] - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - movs r2, 0 - bl BlendPalettes - ldr r0, _080A0C0C @ =gPlttBufferFaded - strh r5, [r0] -_080A0BF2: - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x10] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - movs r1, 0xE - ldrsh r0, [r4, r1] - b _080A0C54 - .align 2, 0 -_080A0C0C: .4byte gPlttBufferFaded -_080A0C10: - ldrh r0, [r4, 0x12] - ldrh r1, [r4, 0xC] - subs r0, r1 - strh r0, [r4, 0x12] - ldrh r2, [r4, 0x14] - adds r1, r2 - strh r1, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - ble _080A0C2C - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _080A0C3E -_080A0C2C: - movs r0, 0 - strh r0, [r4, 0x12] - movs r0, 0xA0 - strh r0, [r4, 0x14] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits -_080A0C3E: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x14] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r1, 0x12 - ldrsh r0, [r4, r1] -_080A0C54: - cmp r0, 0 - bne _080A0C70 - b _080A0C6A -_080A0C5A: - ldrh r1, [r4, 0x16] - movs r0, 0x50 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyTask - b _080A0C70 -_080A0C6A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080A0C70: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A0B0C - - thumb_func_start sub_80A0C78 -sub_80A0C78: @ 80A0C78 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080A0C9C @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _080A0CB4 - cmp r1, 0x1 - bgt _080A0CA0 - cmp r1, 0 - beq _080A0CAA - b _080A0DA8 - .align 2, 0 -_080A0C9C: .4byte gTasks -_080A0CA0: - cmp r1, 0x2 - beq _080A0D02 - cmp r1, 0x3 - beq _080A0D54 - b _080A0DA8 -_080A0CAA: - ldr r0, _080A0CB0 @ =gPlttBufferFaded - strh r1, [r0] - b _080A0DCA - .align 2, 0 -_080A0CB0: .4byte gPlttBufferFaded -_080A0CB4: - movs r1, 0 - strh r1, [r4, 0xE] - movs r0, 0xF0 - strh r0, [r4, 0x10] - strh r1, [r4, 0x12] - movs r0, 0xA0 - strh r0, [r4, 0x14] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x10] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x14] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - b _080A0DCA -_080A0D02: - ldrh r0, [r4, 0xC] - ldrh r2, [r4, 0x12] - adds r1, r0, r2 - strh r1, [r4, 0x12] - ldrh r2, [r4, 0x14] - subs r0, r2, r0 - strh r0, [r4, 0x14] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x4F - bgt _080A0D20 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x51 - bgt _080A0D38 -_080A0D20: - movs r0, 0x50 - strh r0, [r4, 0x12] - movs r0, 0x51 - strh r0, [r4, 0x14] - movs r0, 0x50 - movs r1, 0xBF - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x10 - bl SetGpuReg -_080A0D38: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x14] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x50 - bne _080A0DD0 - b _080A0DCA -_080A0D54: - ldrh r0, [r4, 0xA] - ldrh r2, [r4, 0xE] - adds r1, r0, r2 - strh r1, [r4, 0xE] - ldrh r2, [r4, 0x10] - subs r0, r2, r0 - strh r0, [r4, 0x10] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x77 - bgt _080A0D72 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - bgt _080A0D88 -_080A0D72: - movs r0, 0x78 - strh r0, [r4, 0xE] - strh r0, [r4, 0x10] - subs r0, 0x79 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r1, _080A0DA4 @ =gPlttBufferFaded - movs r0, 0 - strh r0, [r1] -_080A0D88: - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x10] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x78 - bne _080A0DD0 - b _080A0DCA - .align 2, 0 -_080A0DA4: .4byte gPlttBufferFaded -_080A0DA8: - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyTask - b _080A0DD0 -_080A0DCA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080A0DD0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A0C78 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 45eba1df8..d14d64ee4 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -5755,7 +5755,7 @@ sub_8137578: @ 8137578 bl GetNature lsls r0, 24 lsrs r6, r0, 24 - ldr r1, _081375F0 @ =gNatureNames + ldr r1, _081375F0 @ =gNatureNamePointers lsls r0, r6, 2 adds r0, r1 ldr r1, [r0] @@ -5796,7 +5796,7 @@ _081375B2: .align 2, 0 _081375E8: .4byte gUnknown_203B140 _081375EC: .4byte 0x00003290 -_081375F0: .4byte gNatureNames +_081375F0: .4byte gNatureNamePointers _081375F4: ldr r0, [r7] ldr r1, _08137614 @ =0x00003024 @@ -5952,7 +5952,7 @@ sub_8137724: @ 8137724 bl GetNature lsls r0, 24 lsrs r6, r0, 24 - ldr r1, _081377A8 @ =gNatureNames + ldr r1, _081377A8 @ =gNatureNamePointers lsls r0, r6, 2 adds r0, r1 ldr r1, [r0] @@ -5997,7 +5997,7 @@ _08137790: .align 2, 0 _081377A0: .4byte gUnknown_203B140 _081377A4: .4byte 0x00003290 -_081377A8: .4byte gNatureNames +_081377A8: .4byte gNatureNamePointers _081377AC: cmp r5, 0xFF bne _081377D0 diff --git a/asm/region_map.s b/asm/region_map.s deleted file mode 100644 index 662c65fa7..000000000 --- a/asm/region_map.s +++ /dev/null @@ -1,13825 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80BFE18 -sub_80BFE18: @ 80BFE18 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - cmp r1, 0 - beq _080BFE92 - movs r0, 0x1F - mov r10, r0 - mov r8, r1 -_080BFE38: - ldrh r1, [r6] - movs r0, 0x1F - ands r0, r1 - lsls r1, 16 - lsrs r5, r1, 21 - mov r2, r10 - ands r5, r2 - lsrs r4, r1, 26 - ands r4, r2 - lsls r0, 8 - movs r1, 0x64 - bl __divsi3 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - asrs r7, r0, 8 - lsls r0, r5, 8 - movs r1, 0x64 - bl __divsi3 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - asrs r5, r0, 8 - lsls r0, r4, 8 - movs r1, 0x64 - bl __divsi3 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - asrs r4, r0, 8 - lsls r0, r4, 10 - lsls r1, r5, 5 - orrs r0, r1 - orrs r0, r7 - strh r0, [r6] - adds r6, 0x2 - movs r2, 0x1 - negs r2, r2 - add r8, r2 - mov r0, r8 - cmp r0, 0 - bne _080BFE38 -_080BFE92: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BFE18 - - thumb_func_start sub_80BFEA0 -sub_80BFEA0: @ 80BFEA0 - push {r4,lr} - sub sp, 0x20 - ldr r4, _080BFED8 @ =gUnknown_83EF2DC + 0x40 - adds r0, r4, 0 - mov r1, sp - movs r2, 0x10 - bl CpuSet - mov r0, sp - movs r1, 0x10 - movs r2, 0x5F - bl sub_80BFE18 - mov r0, sp - movs r1, 0x20 - movs r2, 0x20 - bl LoadPalette - adds r4, 0x1E - adds r0, r4, 0 - movs r1, 0x2F - movs r2, 0x2 - bl LoadPalette - add sp, 0x20 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BFED8: .4byte gUnknown_83EF2DC + 0x40 - thumb_func_end sub_80BFEA0 - - thumb_func_start sub_80BFEDC -sub_80BFEDC: @ 80BFEDC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080BFEFC @ =gUnknown_20399D4 - ldr r0, _080BFF00 @ =0x000047c0 - bl AllocZeroed - adds r2, r0, 0 - str r2, [r4] - cmp r2, 0 - bne _080BFF08 - ldr r0, _080BFF04 @ =CB2_ReturnToField - bl SetMainCallback2 - b _080BFF38 - .align 2, 0 -_080BFEFC: .4byte gUnknown_20399D4 -_080BFF00: .4byte 0x000047c0 -_080BFF04: .4byte CB2_ReturnToField -_080BFF08: - ldr r1, _080BFF40 @ =gUnknown_2031DE0 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _080BFF44 @ =0x00004796 - adds r0, r2, r1 - movs r1, 0 - strb r5, [r0] - ldr r0, [r4] - ldr r2, _080BFF48 @ =0x000047a0 - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r2, 0x4 - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r2, 0x4 - adds r0, r2 - strb r1, [r0] - bl sub_80BFFD0 - ldr r0, _080BFF4C @ =sub_80C0100 - bl SetMainCallback2 -_080BFF38: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BFF40: .4byte gUnknown_2031DE0 -_080BFF44: .4byte 0x00004796 -_080BFF48: .4byte 0x000047a0 -_080BFF4C: .4byte sub_80C0100 - thumb_func_end sub_80BFEDC - - thumb_func_start sub_80BFF50 -sub_80BFF50: @ 80BFF50 - push {r4-r6,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080BFF70 @ =gUnknown_20399D4 - ldr r0, _080BFF74 @ =0x000047c0 - bl AllocZeroed - adds r2, r0, 0 - str r2, [r4] - cmp r2, 0 - bne _080BFF7C - ldr r0, _080BFF78 @ =CB2_ReturnToField - bl SetMainCallback2 - b _080BFFB4 - .align 2, 0 -_080BFF70: .4byte gUnknown_20399D4 -_080BFF74: .4byte 0x000047c0 -_080BFF78: .4byte CB2_ReturnToField -_080BFF7C: - ldr r1, _080BFFBC @ =gUnknown_2031DE0 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _080BFFC0 @ =0x00004796 - adds r0, r2, r1 - movs r1, 0 - strb r5, [r0] - ldr r0, [r4] - ldr r2, _080BFFC4 @ =0x000047a0 - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r2, 0x4 - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r2, 0x4 - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - ldr r1, _080BFFC8 @ =0x000047bc - adds r0, r1 - str r6, [r0] - bl sub_80BFFD0 - ldr r0, _080BFFCC @ =sub_80C0100 - bl SetMainCallback2 -_080BFFB4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BFFBC: .4byte gUnknown_2031DE0 -_080BFFC0: .4byte 0x00004796 -_080BFFC4: .4byte 0x000047a0 -_080BFFC8: .4byte 0x000047bc -_080BFFCC: .4byte sub_80C0100 - thumb_func_end sub_80BFF50 - - thumb_func_start sub_80BFFD0 -sub_80BFFD0: @ 80BFFD0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r1, _080C0000 @ =gUnknown_20399D4 - ldr r2, [r1] - ldr r3, _080C0004 @ =0x00004796 - adds r0, r2, r3 - ldrb r0, [r0] - mov r8, r1 - cmp r0, 0 - blt _080BFFF2 - cmp r0, 0x1 - ble _080BFFF2 - cmp r0, 0x2 - beq _080C0010 -_080BFFF2: - mov r4, r8 - ldr r0, [r4] - ldr r1, _080C0008 @ =0x000047b8 - adds r0, r1 - ldr r1, _080C000C @ =sub_80C04E4 - str r1, [r0] - b _080C0018 - .align 2, 0 -_080C0000: .4byte gUnknown_20399D4 -_080C0004: .4byte 0x00004796 -_080C0008: .4byte 0x000047b8 -_080C000C: .4byte sub_80C04E4 -_080C0010: - ldr r3, _080C009C @ =0x000047b8 - adds r1, r2, r3 - ldr r0, _080C00A0 @ =sub_80C4F08 - str r0, [r1] -_080C0018: - movs r3, 0 - ldr r6, _080C00A4 @ =gUnknown_20399D4 - ldr r5, _080C00A8 @ =0x00004797 - ldr r4, _080C00AC @ =gUnknown_83F1B00 - ldr r2, _080C00B0 @ =0x00004796 -_080C0022: - ldr r0, [r6] - adds r1, r0, r5 - adds r1, r3 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3, r0 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _080C0022 - ldr r0, _080C00B4 @ =0x00000845 - bl FlagGet - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080C0058 - ldr r0, _080C00A4 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r4, _080C00A8 @ =0x00004797 - adds r0, r4 - strb r1, [r0] -_080C0058: - movs r7, 0 - movs r1, 0 - ldr r2, _080C00B8 @ =gMapHeader - ldrb r0, [r2, 0x14] - ldr r3, _080C00A4 @ =gUnknown_20399D4 - mov r8, r3 - cmp r0, 0x8E - bls _080C00D8 - ldr r4, _080C00BC @ =gUnknown_83F1AA4 - mov r12, r4 - mov r10, r12 - mov r9, r2 -_080C0070: - movs r3, 0 - lsls r0, r1, 4 - subs r0, r1 - lsls r2, r0, 1 - mov r4, r10 - adds r0, r2, r4 - ldrb r0, [r0] - adds r5, r1, 0x1 - cmp r0, 0xC5 - beq _080C00D0 - ldr r6, _080C00BC @ =gUnknown_83F1AA4 - mov r0, r9 - ldrb r1, [r0, 0x14] - lsls r4, r5, 24 -_080C008C: - adds r0, r3, r2 - adds r0, r6 - ldrb r0, [r0] - cmp r1, r0 - bne _080C00C0 - lsrs r7, r4, 24 - b _080C00D0 - .align 2, 0 -_080C009C: .4byte 0x000047b8 -_080C00A0: .4byte sub_80C4F08 -_080C00A4: .4byte gUnknown_20399D4 -_080C00A8: .4byte 0x00004797 -_080C00AC: .4byte gUnknown_83F1B00 -_080C00B0: .4byte 0x00004796 -_080C00B4: .4byte 0x00000845 -_080C00B8: .4byte gMapHeader -_080C00BC: .4byte gUnknown_83F1AA4 -_080C00C0: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r3, r2 - add r0, r12 - ldrb r0, [r0] - cmp r0, 0xC5 - bne _080C008C -_080C00D0: - lsls r0, r5, 24 - lsrs r1, r0, 24 - cmp r7, 0 - beq _080C0070 -_080C00D8: - mov r1, r8 - ldr r0, [r1] - ldr r2, _080C00F8 @ =0x0000479b - adds r0, r2 - strb r7, [r0] - ldr r0, [r1] - ldr r3, _080C00FC @ =0x0000479c - adds r0, r3 - strb r7, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C00F8: .4byte 0x0000479b -_080C00FC: .4byte 0x0000479c - thumb_func_end sub_80BFFD0 - - thumb_func_start sub_80C0100 -sub_80C0100: @ 80C0100 - push {r4,lr} - sub sp, 0x8 - ldr r0, _080C011C @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C0120 @ =0x000047a4 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x8 - bhi _080C0202 - lsls r0, 2 - ldr r1, _080C0124 @ =_080C0128 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C011C: .4byte gUnknown_20399D4 -_080C0120: .4byte 0x000047a4 -_080C0124: .4byte _080C0128 - .align 2, 0 -_080C0128: - .4byte _080C014C - .4byte _080C0152 - .4byte _080C0158 - .4byte _080C015E - .4byte _080C016A - .4byte _080C0180 - .4byte _080C01D4 - .4byte _080C01E0 - .4byte _080C01EC -_080C014C: - bl sub_80C08E0 - b _080C021A -_080C0152: - bl sub_80C0904 - b _080C021A -_080C0158: - bl sub_80C0A6C - b _080C021A -_080C015E: - bl sub_80C0238 - lsls r0, 24 - cmp r0, 0 - beq _080C0228 - b _080C021A -_080C016A: - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - b _080C01BA -_080C0180: - ldr r4, _080C01C4 @ =gUnknown_20399D4 - ldr r1, [r4] - ldr r2, _080C01C8 @ =0x0000479b - adds r0, r1, r2 - ldrb r0, [r0] - lsls r2, r0, 2 - adds r2, r0 - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 4 - adds r0, 0x26 - adds r1, r0 - movs r0, 0 - bl sub_80C0CC8 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r1, [r4] - ldr r2, _080C01CC @ =0x00004796 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080C021A - ldr r0, _080C01D0 @ =0x000012e6 - adds r1, r0 - movs r0, 0x1 - bl sub_80C0CC8 -_080C01BA: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _080C021A - .align 2, 0 -_080C01C4: .4byte gUnknown_20399D4 -_080C01C8: .4byte 0x0000479b -_080C01CC: .4byte 0x00004796 -_080C01D0: .4byte 0x000012e6 -_080C01D4: - bl sub_80C0B18 - movs r0, 0 - bl PutWindowTilemap - b _080C021A -_080C01E0: - bl sub_80C0BB0 - movs r0, 0x1 - bl PutWindowTilemap - b _080C021A -_080C01EC: - movs r0, 0x2 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C021A - movs r0, 0x1 - bl sub_80C0A88 - b _080C021A -_080C0202: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - bl sub_80C03E8 - bl sub_80C08F4 -_080C021A: - ldr r0, _080C0230 @ =gUnknown_20399D4 - ldr r1, [r0] - ldr r2, _080C0234 @ =0x000047a4 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080C0228: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C0230: .4byte gUnknown_20399D4 -_080C0234: .4byte 0x000047a4 - thumb_func_end sub_80C0100 - - thumb_func_start sub_80C0238 -sub_80C0238: @ 80C0238 - push {r4,lr} - sub sp, 0x4 - ldr r0, _080C0258 @ =gUnknown_20399D4 - ldr r1, [r0] - ldr r2, _080C025C @ =0x000047a8 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x8 - bls _080C024C - b _080C03B0 -_080C024C: - lsls r0, 2 - ldr r1, _080C0260 @ =_080C0264 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C0258: .4byte gUnknown_20399D4 -_080C025C: .4byte 0x000047a8 -_080C0260: .4byte _080C0264 - .align 2, 0 -_080C0264: - .4byte _080C0288 - .4byte _080C0298 - .4byte _080C02FC - .4byte _080C0302 - .4byte _080C0340 - .4byte _080C034E - .4byte _080C0364 - .4byte _080C037C - .4byte _080C0394 -_080C0288: - ldr r0, _080C0294 @ =gUnknown_83EF23C - movs r1, 0xC0 - movs r2, 0x20 - bl LoadPalette - b _080C03C8 - .align 2, 0 -_080C0294: .4byte gUnknown_83EF23C -_080C0298: - ldr r0, _080C02EC @ =gUnknown_83EF2DC - movs r1, 0 - movs r2, 0xA0 - bl LoadPalette - bl sub_80BFEA0 - ldr r0, _080C02F0 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C02F4 @ =0x00004796 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080C02B6 - b _080C03C8 -_080C02B6: - ldr r4, _080C02F8 @ =gUnknown_83EF23C + 0x1E - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x20 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x30 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x40 - movs r2, 0x2 - bl LoadPalette - b _080C03C8 - .align 2, 0 -_080C02EC: .4byte gUnknown_83EF2DC -_080C02F0: .4byte gUnknown_20399D4 -_080C02F4: .4byte 0x00004796 -_080C02F8: .4byte gUnknown_83EF23C + 0x1E -_080C02FC: - bl ResetTempTileDataBuffers - b _080C03C8 -_080C0302: - ldr r1, _080C0330 @ =gUnknown_83EF61C - movs r4, 0 - str r4, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r0, _080C0334 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r2, _080C0338 @ =0x00004796 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080C03C8 - ldr r1, _080C033C @ =gUnknown_83F1978 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - b _080C03C8 - .align 2, 0 -_080C0330: .4byte gUnknown_83EF61C -_080C0334: .4byte gUnknown_20399D4 -_080C0338: .4byte 0x00004796 -_080C033C: .4byte gUnknown_83F1978 -_080C0340: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C03C8 - b _080C03D6 -_080C034E: - ldr r0, _080C035C @ =gUnknown_83F089C - ldr r1, _080C0360 @ =gUnknown_20399D4 - ldr r1, [r1] - adds r1, 0x26 - bl LZ77UnCompWram - b _080C03C8 - .align 2, 0 -_080C035C: .4byte gUnknown_83F089C -_080C0360: .4byte gUnknown_20399D4 -_080C0364: - ldr r0, _080C0370 @ =gUnknown_83F0AFC - ldr r1, _080C0374 @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C0378 @ =0x000004d6 - b _080C039C - .align 2, 0 -_080C0370: .4byte gUnknown_83F0AFC -_080C0374: .4byte gUnknown_20399D4 -_080C0378: .4byte 0x000004d6 -_080C037C: - ldr r0, _080C0388 @ =gUnknown_83F0C0C - ldr r1, _080C038C @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C0390 @ =0x00000986 - b _080C039C - .align 2, 0 -_080C0388: .4byte gUnknown_83F0C0C -_080C038C: .4byte gUnknown_20399D4 -_080C0390: .4byte 0x00000986 -_080C0394: - ldr r0, _080C03A4 @ =gUnknown_83F0CF0 - ldr r1, _080C03A8 @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C03AC @ =0x00000e36 -_080C039C: - adds r1, r2 - bl LZ77UnCompWram - b _080C03C8 - .align 2, 0 -_080C03A4: .4byte gUnknown_83F0CF0 -_080C03A8: .4byte gUnknown_20399D4 -_080C03AC: .4byte 0x00000e36 -_080C03B0: - ldr r0, _080C03C0 @ =gUnknown_83F19A0 - ldr r2, _080C03C4 @ =0x000012e6 - adds r1, r2 - bl LZ77UnCompWram - movs r0, 0x1 - b _080C03D8 - .align 2, 0 -_080C03C0: .4byte gUnknown_83F19A0 -_080C03C4: .4byte 0x000012e6 -_080C03C8: - ldr r0, _080C03E0 @ =gUnknown_20399D4 - ldr r1, [r0] - ldr r0, _080C03E4 @ =0x000047a8 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080C03D6: - movs r0, 0 -_080C03D8: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C03E0: .4byte gUnknown_20399D4 -_080C03E4: .4byte 0x000047a8 - thumb_func_end sub_80C0238 - - thumb_func_start sub_80C03E8 -sub_80C03E8: @ 80C03E8 - push {lr} - ldr r0, _080C0404 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C0408 @ =0x000047b8 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl CreateTask - ldr r0, _080C040C @ =sub_80C08B4 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080C0404: .4byte gUnknown_20399D4 -_080C0408: .4byte 0x000047b8 -_080C040C: .4byte sub_80C08B4 - thumb_func_end sub_80C03E8 - - thumb_func_start sub_80C0410 -sub_80C0410: @ 80C0410 - push {r4,r5,lr} - bl sub_80C0E20 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl sub_80C3514 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - bl sub_80C3508 - adds r3, r0, 0 - lsls r3, 16 - asrs r3, 16 - adds r0, r5, 0 - movs r1, 0 - adds r2, r4, 0 - bl sub_80C4164 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x63 - beq _080C0446 - movs r0, 0x1 - b _080C0448 -_080C0446: - movs r0, 0 -_080C0448: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80C0410 - - thumb_func_start sub_80C0450 -sub_80C0450: @ 80C0450 - push {lr} - bl sub_80C0410 - cmp r0, 0 - beq _080C04E0 - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080C0474 - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - cmp r0, 0 - bne _080C048E -_080C0474: - movs r0, 0x1 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080C0494 - movs r0, 0x1 - bl sub_80C3AC8 - lsls r0, 24 - cmp r0, 0 - beq _080C0494 -_080C048E: - movs r0, 0x65 - bl PlaySE -_080C0494: - bl sub_80C3508 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x15 - bne _080C04C2 - bl sub_80C3514 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB - bne _080C04C2 - movs r0, 0 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C04C2 - movs r0, 0xE1 - bl PlaySE - b _080C04E0 -_080C04C2: - bl sub_80C3508 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x15 - bne _080C04E0 - bl sub_80C3514 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xD - bne _080C04E0 - movs r0, 0xE1 - bl PlaySE -_080C04E0: - pop {r0} - bx r0 - thumb_func_end sub_80C0450 - - thumb_func_start sub_80C04E4 -sub_80C04E4: @ 80C04E4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080C0508 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C050C @ =0x000047a0 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x5 - bls _080C04FC - b _080C07B0 -_080C04FC: - lsls r0, 2 - ldr r1, _080C0510 @ =_080C0514 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C0508: .4byte gUnknown_20399D4 -_080C050C: .4byte 0x000047a0 -_080C0510: .4byte _080C0514 - .align 2, 0 -_080C0514: - .4byte _080C052C - .4byte _080C0560 - .4byte _080C05E0 - .4byte _080C0624 - .4byte _080C0760 - .4byte _080C0788 -_080C052C: - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080C0558 @ =gUnknown_20399D4 - ldr r1, [r4] - ldr r2, _080C055C @ =0x000047b8 - adds r1, r2 - ldr r2, [r1] - adds r1, r5, 0 - bl sub_80C4398 - movs r0, 0 - movs r1, 0 - bl sub_80C3008 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80C41D8 - ldr r1, [r4] - b _080C079C - .align 2, 0 -_080C0558: .4byte gUnknown_20399D4 -_080C055C: .4byte 0x000047b8 -_080C0560: - ldr r0, _080C057C @ =gUnknown_20399D4 - ldr r1, [r0] - ldr r2, _080C0580 @ =0x00004799 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080C0584 - adds r2, 0x1F - adds r0, r1, r2 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_80C2208 - b _080C0798 - .align 2, 0 -_080C057C: .4byte gUnknown_20399D4 -_080C0580: .4byte 0x00004799 -_080C0584: - movs r0, 0 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x1 - bl ShowBg - ldr r0, _080C05D8 @ =gUnknown_8418EB5 - bl sub_80C4E18 - ldr r0, _080C05DC @ =gUnknown_8418E8B - bl sub_80C4E74 - movs r0, 0 - bl sub_80C4ED0 - movs r0, 0 - bl sub_80C4324 - movs r0, 0 - bl sub_80C3154 - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0 - bl sub_80C48BC - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0 - bl sub_80C4960 - b _080C0798 - .align 2, 0 -_080C05D8: .4byte gUnknown_8418EB5 -_080C05DC: .4byte gUnknown_8418E8B -_080C05E0: - ldr r0, _080C0618 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C05EE - b _080C07C2 -_080C05EE: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _080C05FA - b _080C07C2 -_080C05FA: - bl sub_80C0B18 - movs r0, 0 - bl PutWindowTilemap - bl sub_80C0BB0 - movs r0, 0x1 - bl PutWindowTilemap - ldr r0, _080C061C @ =gUnknown_20399D4 - ldr r1, [r0] - ldr r2, _080C0620 @ =0x000047a0 - adds r1, r2 - b _080C07A0 - .align 2, 0 -_080C0618: .4byte gPaletteFade -_080C061C: .4byte gUnknown_20399D4 -_080C0620: .4byte 0x000047a0 -_080C0624: - bl sub_80C3400 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x5 - bls _080C0634 - b _080C07C2 -_080C0634: - lsls r0, 2 - ldr r1, _080C0640 @ =_080C0644 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C0640: .4byte _080C0644 - .align 2, 0 -_080C0644: - .4byte _080C065C - .4byte _080C07C2 - .4byte _080C0662 - .4byte _080C070C - .4byte _080C0740 - .4byte _080C0798 -_080C065C: - bl sub_80C3178 - b _080C07C2 -_080C0662: - bl sub_80C0B18 - bl sub_80C0BB0 - bl sub_80C0B9C - bl sub_80C0450 - bl sub_80C3580 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC5 - beq _080C06A8 - movs r0, 0x1 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080C068E - b _080C07C2 -_080C068E: - movs r0, 0x1 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080C0700 - ldr r0, _080C06A4 @ =gUnknown_8418E8D - bl sub_80C4E74 - b _080C07C2 - .align 2, 0 -_080C06A4: .4byte gUnknown_8418E8D -_080C06A8: - bl sub_80C3508 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x15 - bne _080C06DC - bl sub_80C3514 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB - bne _080C06DC - movs r0, 0 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C06DC - ldr r0, _080C06D8 @ =gUnknown_8418EA7 - bl sub_80C4E74 - b _080C07C2 - .align 2, 0 -_080C06D8: .4byte gUnknown_8418EA7 -_080C06DC: - bl sub_80C3508 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x15 - bne _080C0700 - bl sub_80C3514 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xD - bne _080C0700 - ldr r0, _080C06FC @ =gUnknown_8418E95 - bl sub_80C4E74 - b _080C07C2 - .align 2, 0 -_080C06FC: .4byte gUnknown_8418E95 -_080C0700: - ldr r0, _080C0708 @ =gUnknown_8418E8B - bl sub_80C4E74 - b _080C07C2 - .align 2, 0 -_080C0708: .4byte gUnknown_8418E8B -_080C070C: - movs r0, 0x1 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080C07C2 - ldr r0, _080C0734 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C0738 @ =0x00004798 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080C07C2 - ldr r2, _080C073C @ =sub_80C07F8 - movs r0, 0 - adds r1, r5, 0 - bl sub_80C195C - b _080C07C2 - .align 2, 0 -_080C0734: .4byte gUnknown_20399D4 -_080C0738: .4byte 0x00004798 -_080C073C: .4byte sub_80C07F8 -_080C0740: - ldr r0, _080C0754 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r2, _080C0758 @ =0x0000479b - adds r0, r2 - ldrb r0, [r0] - ldr r2, _080C075C @ =sub_80C07F8 - adds r1, r5, 0 - bl sub_80C0E70 - b _080C07C2 - .align 2, 0 -_080C0754: .4byte gUnknown_20399D4 -_080C0758: .4byte 0x0000479b -_080C075C: .4byte sub_80C07F8 -_080C0760: - movs r0, 0x2 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C0776 - adds r0, r5, 0 - bl sub_80C2C1C - b _080C0798 -_080C0776: - ldr r0, _080C0780 @ =gUnknown_20399D4 - ldr r1, [r0] - ldr r2, _080C0784 @ =0x000047a0 - adds r1, r2 - b _080C07A0 - .align 2, 0 -_080C0780: .4byte gUnknown_20399D4 -_080C0784: .4byte 0x000047a0 -_080C0788: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_080C0798: - ldr r0, _080C07A8 @ =gUnknown_20399D4 - ldr r1, [r0] -_080C079C: - ldr r0, _080C07AC @ =0x000047a0 - adds r1, r0 -_080C07A0: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C07C2 - .align 2, 0 -_080C07A8: .4byte gUnknown_20399D4 -_080C07AC: .4byte 0x000047a0 -_080C07B0: - ldr r0, _080C07CC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C07C2 - adds r0, r5, 0 - bl sub_80C0820 -_080C07C2: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C07CC: .4byte gPaletteFade - thumb_func_end sub_80C04E4 - - thumb_func_start sub_80C07D0 -sub_80C07D0: @ 80C07D0 - ldr r1, _080C07DC @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C07E0 @ =0x000047b8 - adds r1, r2 - str r0, [r1] - bx lr - .align 2, 0 -_080C07DC: .4byte gUnknown_20399D4 -_080C07E0: .4byte 0x000047b8 - thumb_func_end sub_80C07D0 - - thumb_func_start sub_80C07E4 -sub_80C07E4: @ 80C07E4 - ldr r0, _080C07F0 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C07F4 @ =0x000047b8 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_080C07F0: .4byte gUnknown_20399D4 -_080C07F4: .4byte 0x000047b8 - thumb_func_end sub_80C07E4 - - thumb_func_start sub_80C07F8 -sub_80C07F8: @ 80C07F8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C0814 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080C0818 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r2, _080C081C @ =0x000047b8 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - bx lr - .align 2, 0 -_080C0814: .4byte gTasks -_080C0818: .4byte gUnknown_20399D4 -_080C081C: .4byte 0x000047b8 - thumb_func_end sub_80C07F8 - - thumb_func_start sub_80C0820 -sub_80C0820: @ 80C0820 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C0838 - bl sub_80C25BC -_080C0838: - bl sub_80C4A04 - bl sub_80C3188 - bl sub_80C4348 - bl sub_80C4D30 - adds r0, r4, 0 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, _080C086C @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C0870 @ =0x000047bc - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _080C0878 - ldr r0, _080C0874 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 - b _080C087C - .align 2, 0 -_080C086C: .4byte gUnknown_20399D4 -_080C0870: .4byte 0x000047bc -_080C0874: .4byte gMain -_080C0878: - bl SetMainCallback2 -_080C087C: - ldr r4, _080C0894 @ =gUnknown_20399D4 - ldr r0, [r4] - cmp r0, 0 - beq _080C088C - bl Free - movs r0, 0 - str r0, [r4] -_080C088C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C0894: .4byte gUnknown_20399D4 - thumb_func_end sub_80C0820 - - thumb_func_start sub_80C0898 -sub_80C0898: @ 80C0898 - push {r4,lr} - ldr r4, _080C08B0 @ =gUnknown_20399D4 - ldr r0, [r4] - cmp r0, 0 - beq _080C08AA - bl Free - movs r0, 0 - str r0, [r4] -_080C08AA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C08B0: .4byte gUnknown_20399D4 - thumb_func_end sub_80C0898 - - thumb_func_start sub_80C08B4 -sub_80C08B4: @ 80C08B4 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80C08B4 - - thumb_func_start sub_80C08CC -sub_80C08CC: @ 80C08CC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80C08CC - - thumb_func_start sub_80C08E0 -sub_80C08E0: @ 80C08E0 - push {lr} - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - pop {r0} - bx r0 - thumb_func_end sub_80C08E0 - - thumb_func_start sub_80C08F4 -sub_80C08F4: @ 80C08F4 - push {lr} - ldr r0, _080C0900 @ =sub_80C08CC - bl SetVBlankCallback - pop {r0} - bx r0 - .align 2, 0 -_080C0900: .4byte sub_80C08CC - thumb_func_end sub_80C08F4 - - thumb_func_start sub_80C0904 -sub_80C0904: @ 80C0904 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x4 - mov r8, r0 - mov r2, sp - movs r6, 0 - ldr r1, _080C0A18 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _080C0A1C @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_080C092A: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _080C092A - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, _080C0A18 @ =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _080C0A20 @ =gUnknown_83F1A50 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r0, _080C0A24 @ =gUnknown_83F1A60 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r1, _080C0A28 @ =0x00006040 - movs r0, 0 - bl SetGpuReg - bl sub_80C0A2C - bl sub_80C0AB8 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C0A18: .4byte 0x040000d4 -_080C0A1C: .4byte 0x81000800 -_080C0A20: .4byte gUnknown_83F1A50 -_080C0A24: .4byte gUnknown_83F1A60 -_080C0A28: .4byte 0x00006040 - thumb_func_end sub_80C0904 - - thumb_func_start sub_80C0A2C -sub_80C0A2C: @ 80C0A2C - push {r4,lr} - ldr r4, _080C0A5C @ =gUnknown_20399D4 - ldr r1, [r4] - ldr r0, _080C0A60 @ =0x00001796 - adds r1, r0 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, _080C0A64 @ =0x00002796 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, _080C0A68 @ =0x00003796 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C0A5C: .4byte gUnknown_20399D4 -_080C0A60: .4byte 0x00001796 -_080C0A64: .4byte 0x00002796 -_080C0A68: .4byte 0x00003796 - thumb_func_end sub_80C0A2C - - thumb_func_start sub_80C0A6C -sub_80C0A6C: @ 80C0A6C - push {lr} - bl ResetSpriteData - bl ResetPaletteFade - bl FreeAllSpritePalettes - bl ResetTasks - bl ScanlineEffect_Stop - pop {r0} - bx r0 - thumb_func_end sub_80C0A6C - - thumb_func_start sub_80C0A88 -sub_80C0A88: @ 80C0A88 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080C0A98 - cmp r0, 0x1 - beq _080C0AA6 - b _080C0AB2 -_080C0A98: - movs r0, 0 - bl ShowBg - movs r0, 0x3 - bl ShowBg - b _080C0AB2 -_080C0AA6: - movs r0, 0 - bl HideBg - movs r0, 0x3 - bl HideBg -_080C0AB2: - pop {r0} - bx r0 - thumb_func_end sub_80C0A88 - - thumb_func_start sub_80C0AB8 -sub_80C0AB8: @ 80C0AB8 - push {r4,lr} - bl sub_80C4BE4 - movs r0, 0 - movs r1, 0x11 - movs r2, 0xC0 - bl sub_80C4C2C - movs r0, 0x6 - bl sub_80C4C48 - movs r0, 0x39 - movs r1, 0x39 - bl sub_80C4C74 - movs r0, 0x1B - bl sub_80C4C88 - ldr r4, _080C0B14 @ =gUnknown_83F1B0C - movs r0, 0 - adds r1, r4, 0 - bl sub_80C4CF0 - adds r4, 0x8 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_80C4CF0 - movs r0, 0 - movs r1, 0 - bl sub_80C4C9C - bl sub_80C3580 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC5 - beq _080C0B0C - movs r0, 0x1 - movs r1, 0 - bl sub_80C4C9C -_080C0B0C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C0B14: .4byte gUnknown_83F1B0C - thumb_func_end sub_80C0AB8 - - thumb_func_start sub_80C0B18 -sub_80C0B18: @ 80C0B18 - push {r4,r5,lr} - sub sp, 0xC - movs r0, 0 - bl ClearWindowTilemap - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - bl sub_80C3520 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC5 - bne _080C0B44 - ldr r1, _080C0B40 @ =gUnknown_83F1B1C - movs r0, 0 - bl sub_80C4CF0 - b _080C0B88 - .align 2, 0 -_080C0B40: .4byte gUnknown_83F1B1C -_080C0B44: - ldr r5, _080C0B90 @ =gUnknown_20399D4 - ldr r4, [r5] - bl sub_80C3520 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl GetMapName - ldr r0, _080C0B94 @ =gUnknown_83F1A90 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - ldr r0, [r5] - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x2 - movs r2, 0x2 - movs r3, 0x2 - bl AddTextPrinterParameterized3 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, _080C0B98 @ =gUnknown_83F1B0C - movs r0, 0 - bl sub_80C4CF0 -_080C0B88: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C0B90: .4byte gUnknown_20399D4 -_080C0B94: .4byte gUnknown_83F1A90 -_080C0B98: .4byte gUnknown_83F1B0C - thumb_func_end sub_80C0B18 - - thumb_func_start sub_80C0B9C -sub_80C0B9C: @ 80C0B9C - push {lr} - ldr r1, _080C0BAC @ =gUnknown_83F1B14 - movs r0, 0x1 - bl sub_80C4CF0 - pop {r0} - bx r0 - .align 2, 0 -_080C0BAC: .4byte gUnknown_83F1B14 - thumb_func_end sub_80C0B9C - - thumb_func_start sub_80C0BB0 -sub_80C0BB0: @ 80C0BB0 - push {r4-r6,lr} - sub sp, 0xC - ldr r5, _080C0C84 @ =gUnknown_20399D4 - ldr r1, [r5] - ldr r2, _080C0C88 @ =0x000047ac - adds r0, r1, r2 - movs r6, 0 - strh r6, [r0] - ldr r3, _080C0C8C @ =0x000047ae - adds r2, r1, r3 - movs r0, 0x18 - strh r0, [r2] - ldr r0, _080C0C90 @ =0x000047b0 - adds r1, r0 - movs r0, 0x20 - strh r0, [r1] - movs r0, 0x1 - movs r1, 0x1 - bl sub_80C4C9C - movs r0, 0x1 - bl ClearWindowTilemap - bl sub_80C3580 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC5 - beq _080C0C7A - adds r4, r0, 0 - subs r4, 0x58 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x1 - movs r1, 0 - bl sub_80C4C9C - ldr r0, [r5] - ldr r1, _080C0C88 @ =0x000047ac - adds r0, r1 - movs r1, 0x1 - strh r1, [r0] - ldr r0, _080C0C94 @ =gUnknown_83F1CAC - lsls r4, 2 - adds r4, r0 - ldr r4, [r4] - adds r0, r4, 0 - bl StringLength - ldr r2, [r5] - ldr r3, _080C0C98 @ =0x000047aa - adds r1, r2, r3 - strh r0, [r1] - ldrh r1, [r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, 0x32 - adds r3, 0x4 - adds r1, r2, r3 - strh r0, [r1] - ldr r0, _080C0C90 @ =0x000047b0 - adds r2, r0 - movs r0, 0x30 - strh r0, [r2] - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, 0x13 - adds r1, r4, 0 - bl StringCopy - ldr r4, _080C0C9C @ =gUnknown_83F1A9C - movs r0, 0x1 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 22 - subs r0, 0x8 - adds r0, r4 - ldr r0, [r0] - str r0, [sp] - str r6, [sp, 0x4] - ldr r0, [r5] - adds r0, 0x13 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0xC - movs r3, 0x2 - bl AddTextPrinterParameterized3 - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram -_080C0C7A: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C0C84: .4byte gUnknown_20399D4 -_080C0C88: .4byte 0x000047ac -_080C0C8C: .4byte 0x000047ae -_080C0C90: .4byte 0x000047b0 -_080C0C94: .4byte gUnknown_83F1CAC -_080C0C98: .4byte 0x000047aa -_080C0C9C: .4byte gUnknown_83F1A9C - thumb_func_end sub_80C0BB0 - - thumb_func_start sub_80C0CA0 -sub_80C0CA0: @ 80C0CA0 - push {lr} - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_80C0CA0 - - thumb_func_start sub_80C0CC8 -sub_80C0CC8: @ 80C0CC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r7, r1, 0 - lsls r0, 24 - ldr r2, _080C0D0C @ =gUnknown_20399D4 - lsrs r0, 12 - ldr r1, _080C0D10 @ =0x00001796 - adds r0, r1 - ldr r1, [r2] - adds r6, r1, r0 - movs r1, 0 - mov r8, r2 -_080C0CE4: - movs r2, 0 - lsls r5, r1, 16 - asrs r1, r5, 16 - lsls r3, r1, 5 - lsls r0, r1, 4 - subs r0, r1 - lsls r4, r0, 1 -_080C0CF2: - lsls r0, r2, 16 - asrs r1, r0, 16 - adds r2, r0, 0 - cmp r1, 0x1D - bgt _080C0D14 - adds r0, r3, r1 - lsls r0, 1 - adds r0, r6 - adds r1, r4, r1 - lsls r1, 1 - adds r1, r7 - ldrh r1, [r1] - b _080C0D1C - .align 2, 0 -_080C0D0C: .4byte gUnknown_20399D4 -_080C0D10: .4byte 0x00001796 -_080C0D14: - adds r0, r3, r1 - lsls r0, 1 - adds r0, r6 - ldrh r1, [r7] -_080C0D1C: - strh r1, [r0] - movs r1, 0x80 - lsls r1, 9 - adds r0, r2, r1 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, 0x1F - ble _080C0CF2 - adds r0, r5, r1 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080C0CE4 - mov r1, r8 - ldr r0, [r1] - ldr r1, _080C0D94 @ =0x00004797 - adds r0, r1 - ldrb r5, [r0] - cmp r5, 0x1 - bne _080C0D86 - movs r4, 0x3 - str r4, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0 - movs r1, 0xF0 - movs r2, 0x18 - movs r3, 0xE - bl WriteSequenceToBgTilemapBuffer - movs r1, 0x80 - lsls r1, 1 - str r4, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0 - movs r2, 0x18 - movs r3, 0xF - bl WriteSequenceToBgTilemapBuffer - movs r1, 0x88 - lsls r1, 1 - str r4, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0 - movs r2, 0x18 - movs r3, 0x10 - bl WriteSequenceToBgTilemapBuffer -_080C0D86: - ldr r0, _080C0D98 @ =gUnknown_20399D8 - ldr r0, [r0] - cmp r0, 0 - beq _080C0DA0 - ldr r1, _080C0D9C @ =0x00001cca - b _080C0DA6 - .align 2, 0 -_080C0D94: .4byte 0x00004797 -_080C0D98: .4byte gUnknown_20399D8 -_080C0D9C: .4byte 0x00001cca -_080C0DA0: - mov r1, r8 - ldr r0, [r1] - ldr r1, _080C0DF8 @ =0x0000479b -_080C0DA6: - adds r0, r1 - ldrb r4, [r0] - cmp r4, 0x2 - bne _080C0DCC - ldr r0, _080C0DFC @ =0x000008b5 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080C0DCC - movs r0, 0x3 - str r0, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0x3 - movs r2, 0xD - movs r3, 0xB - bl FillBgTilemapBufferRect_Palette0 -_080C0DCC: - cmp r4, 0x3 - bne _080C0DEC - ldr r0, _080C0E00 @ =0x000008c2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080C0DEC - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0x3 - movs r2, 0x15 - movs r3, 0x10 - bl FillBgTilemapBufferRect_Palette0 -_080C0DEC: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C0DF8: .4byte 0x0000479b -_080C0DFC: .4byte 0x000008b5 -_080C0E00: .4byte 0x000008c2 - thumb_func_end sub_80C0CC8 - - thumb_func_start sub_80C0E04 -sub_80C0E04: @ 80C0E04 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C0E18 @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C0E1C @ =0x00004797 - adds r1, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_080C0E18: .4byte gUnknown_20399D4 -_080C0E1C: .4byte 0x00004797 - thumb_func_end sub_80C0E04 - - thumb_func_start sub_80C0E20 -sub_80C0E20: @ 80C0E20 - ldr r0, _080C0E2C @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C0E30 @ =0x0000479b - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080C0E2C: .4byte gUnknown_20399D4 -_080C0E30: .4byte 0x0000479b - thumb_func_end sub_80C0E20 - - thumb_func_start sub_80C0E34 -sub_80C0E34: @ 80C0E34 - ldr r0, _080C0E40 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C0E44 @ =0x0000479c - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080C0E40: .4byte gUnknown_20399D4 -_080C0E44: .4byte 0x0000479c - thumb_func_end sub_80C0E34 - - thumb_func_start sub_80C0E48 -sub_80C0E48: @ 80C0E48 - ldr r1, _080C0E54 @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C0E58 @ =0x0000479b - adds r1, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_080C0E54: .4byte gUnknown_20399D4 -_080C0E58: .4byte 0x0000479b - thumb_func_end sub_80C0E48 - - thumb_func_start sub_80C0E5C -sub_80C0E5C: @ 80C0E5C - ldr r1, _080C0E68 @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C0E6C @ =0x0000479c - adds r1, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_080C0E68: .4byte gUnknown_20399D4 -_080C0E6C: .4byte 0x0000479c - thumb_func_end sub_80C0E5C - - thumb_func_start sub_80C0E70 -sub_80C0E70: @ 80C0E70 - push {r4-r7,lr} - adds r7, r2, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, _080C0EA0 @ =gUnknown_20399D8 - movs r0, 0xE7 - lsls r0, 5 - bl AllocZeroed - str r0, [r4] - ldr r0, _080C0EA4 @ =0x00000846 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080C0EAC - ldr r0, [r4] - ldr r1, _080C0EA8 @ =0x00001ccc - adds r0, r1 - movs r1, 0x3 - b _080C0ED2 - .align 2, 0 -_080C0EA0: .4byte gUnknown_20399D8 -_080C0EA4: .4byte 0x00000846 -_080C0EA8: .4byte 0x00001ccc -_080C0EAC: - ldr r0, _080C0EC4 @ =0x00000845 - bl FlagGet - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080C0ECC - ldr r0, [r4] - ldr r2, _080C0EC8 @ =0x00001ccc - adds r0, r2 - movs r1, 0x1 - b _080C0ED2 - .align 2, 0 -_080C0EC4: .4byte 0x00000845 -_080C0EC8: .4byte 0x00001ccc -_080C0ECC: - ldr r0, [r4] - ldr r3, _080C0F14 @ =0x00001ccc - adds r0, r3 -_080C0ED2: - strb r1, [r0] - ldr r4, _080C0F18 @ =gUnknown_20399D8 - ldr r2, [r4] - ldr r0, _080C0F1C @ =0x000018b8 - adds r1, r2, r0 - movs r0, 0x58 - strh r0, [r1] - ldr r3, _080C0F20 @ =0x00001cc4 - adds r1, r2, r3 - movs r0, 0x98 - strh r0, [r1] - ldr r1, _080C0F14 @ =0x00001ccc - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _080C0F2C - cmp r0, 0x2 - bgt _080C0F4C - cmp r0, 0x1 - bne _080C0F4C - ldr r0, _080C0F24 @ =gUnknown_83F1084 - movs r3, 0x80 - lsls r3, 5 - adds r1, r2, r3 - bl LZ77UnCompWram - ldr r0, [r4] - ldr r1, _080C0F28 @ =0x00001cce - adds r0, r1 - movs r1, 0x6 - strh r1, [r0] - b _080C0F64 - .align 2, 0 -_080C0F14: .4byte 0x00001ccc -_080C0F18: .4byte gUnknown_20399D8 -_080C0F1C: .4byte 0x000018b8 -_080C0F20: .4byte 0x00001cc4 -_080C0F24: .4byte gUnknown_83F1084 -_080C0F28: .4byte 0x00001cce -_080C0F2C: - ldr r0, _080C0F44 @ =gUnknown_83F1190 - movs r3, 0x80 - lsls r3, 5 - adds r1, r2, r3 - bl LZ77UnCompWram - ldr r0, [r4] - ldr r1, _080C0F48 @ =0x00001cce - adds r0, r1 - movs r1, 0x4 - strh r1, [r0] - b _080C0F64 - .align 2, 0 -_080C0F44: .4byte gUnknown_83F1190 -_080C0F48: .4byte 0x00001cce -_080C0F4C: - ldr r0, _080C0FB4 @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r3, _080C0FB8 @ =0x00001cce - adds r2, r1, r3 - movs r0, 0x3 - strh r0, [r2] - ldr r0, _080C0FBC @ =gUnknown_83F0F1C - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - bl LZ77UnCompWram -_080C0F64: - ldr r0, _080C0FC0 @ =gUnknown_83F0580 - ldr r4, _080C0FB4 @ =gUnknown_20399D8 - ldr r1, [r4] - bl LZ77UnCompWram - ldr r0, [r4] - ldr r3, _080C0FC4 @ =0x00001cc8 - adds r0, r3 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - ldr r1, _080C0FC8 @ =0x00001cca - adds r0, r1 - strb r6, [r0] - ldr r0, [r4] - ldr r2, _080C0FCC @ =0x00001cd0 - adds r0, r2 - str r7, [r0] - bl sub_80C0E34 - ldr r1, [r4] - ldr r3, _080C0FD0 @ =0x00001ccb - adds r1, r3 - strb r0, [r1] - movs r0, 0 - bl sub_80C4AAC - ldr r0, _080C0FD4 @ =gUnknown_8418EB0 - bl sub_80C4E74 - ldr r1, _080C0FD8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C0FDC @ =sub_80C1098 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C0FB4: .4byte gUnknown_20399D8 -_080C0FB8: .4byte 0x00001cce -_080C0FBC: .4byte gUnknown_83F0F1C -_080C0FC0: .4byte gUnknown_83F0580 -_080C0FC4: .4byte 0x00001cc8 -_080C0FC8: .4byte 0x00001cca -_080C0FCC: .4byte 0x00001cd0 -_080C0FD0: .4byte 0x00001ccb -_080C0FD4: .4byte gUnknown_8418EB0 -_080C0FD8: .4byte gTasks -_080C0FDC: .4byte sub_80C1098 - thumb_func_end sub_80C0E70 - - thumb_func_start sub_80C0FE0 -sub_80C0FE0: @ 80C0FE0 - push {lr} - bl sub_80C4BE4 - movs r0, 0x1B - movs r1, 0x4 - movs r2, 0x40 - bl sub_80C4C2C - ldr r0, _080C100C @ =gUnknown_20399D8 - ldr r0, [r0] - ldr r1, _080C1010 @ =0x00001ccd - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl sub_80C4C5C - pop {r0} - bx r0 - .align 2, 0 -_080C100C: .4byte gUnknown_20399D8 -_080C1010: .4byte 0x00001ccd - thumb_func_end sub_80C0FE0 - - thumb_func_start sub_80C1014 -sub_80C1014: @ 80C1014 - push {r4,lr} - ldr r4, _080C1028 @ =gUnknown_20399D8 - ldr r0, [r4] - ldr r2, _080C102C @ =0x00001ccd - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xF - bls _080C1030 - movs r0, 0x1 - b _080C104C - .align 2, 0 -_080C1028: .4byte gUnknown_20399D8 -_080C102C: .4byte 0x00001ccd -_080C1030: - ldrb r1, [r1] - movs r0, 0x10 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl sub_80C4C5C - ldr r1, [r4] - ldr r0, _080C1054 @ =0x00001ccd - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x2 - strb r0, [r1] - movs r0, 0 -_080C104C: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C1054: .4byte 0x00001ccd - thumb_func_end sub_80C1014 - - thumb_func_start sub_80C1058 -sub_80C1058: @ 80C1058 - push {lr} - ldr r2, _080C106C @ =gUnknown_20399D8 - ldr r0, [r2] - ldr r3, _080C1070 @ =0x00001ccd - adds r1, r0, r3 - ldrb r0, [r1] - cmp r0, 0x1 - bhi _080C1074 - movs r0, 0x1 - b _080C108E - .align 2, 0 -_080C106C: .4byte gUnknown_20399D8 -_080C1070: .4byte 0x00001ccd -_080C1074: - subs r0, 0x2 - strb r0, [r1] - ldr r0, [r2] - ldr r1, _080C1094 @ =0x00001ccd - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl sub_80C4C5C - movs r0, 0 -_080C108E: - pop {r1} - bx r1 - .align 2, 0 -_080C1094: .4byte 0x00001ccd - thumb_func_end sub_80C1058 - - thumb_func_start sub_80C1098 -sub_80C1098: @ 80C1098 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080C10BC @ =gUnknown_20399D8 - ldr r0, [r1] - ldr r3, _080C10C0 @ =0x00001cc8 - adds r0, r3 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0xC - bls _080C10B0 - b _080C1274 -_080C10B0: - lsls r0, 2 - ldr r1, _080C10C4 @ =_080C10C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C10BC: .4byte gUnknown_20399D8 -_080C10C0: .4byte 0x00001cc8 -_080C10C4: .4byte _080C10C8 - .align 2, 0 -_080C10C8: - .4byte _080C10FC - .4byte _080C111C - .4byte _080C112E - .4byte _080C1146 - .4byte _080C115C - .4byte _080C1168 - .4byte _080C1180 - .4byte _080C1192 - .4byte _080C11B0 - .4byte _080C11BE - .4byte _080C1220 - .4byte _080C1236 - .4byte _080C1254 -_080C10FC: - bl sub_80C08E0 - ldr r0, _080C1110 @ =gUnknown_8418EBC - bl sub_80C4E18 - ldr r0, _080C1114 @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r0, _080C1118 @ =0x00001cc8 - adds r1, r0 - b _080C1262 - .align 2, 0 -_080C1110: .4byte gUnknown_8418EBC -_080C1114: .4byte gUnknown_20399D8 -_080C1118: .4byte 0x00001cc8 -_080C111C: - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 5 - movs r0, 0x2 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r4] - b _080C125E -_080C112E: - ldr r1, [r4] - movs r0, 0x80 - lsls r0, 5 - adds r1, r0 - movs r0, 0x2 - bl sub_80C1324 - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r1, [r4] - b _080C125E -_080C1146: - bl sub_80C0CA0 - ldr r0, _080C1154 @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r0, _080C1158 @ =0x00001cc8 - adds r1, r0 - b _080C1262 - .align 2, 0 -_080C1154: .4byte gUnknown_20399D8 -_080C1158: .4byte 0x00001cc8 -_080C115C: - bl sub_80C0FE0 - movs r0, 0x2 - bl ShowBg - b _080C125A -_080C1168: - bl sub_80C08F4 - ldr r0, _080C1178 @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r0, _080C117C @ =0x00001cc8 - adds r1, r0 - b _080C1262 - .align 2, 0 -_080C1178: .4byte gUnknown_20399D8 -_080C117C: .4byte 0x00001cc8 -_080C1180: - bl sub_80C1014 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C127A - bl sub_80C1390 - b _080C125A -_080C1192: - bl sub_80C144C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C127A - ldr r0, _080C11A8 @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r0, _080C11AC @ =0x00001cc8 - adds r1, r0 - b _080C1262 - .align 2, 0 -_080C11A8: .4byte gUnknown_20399D8 -_080C11AC: .4byte 0x00001cc8 -_080C11B0: - bl sub_80C16D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C127A - b _080C125A -_080C11BE: - bl sub_80C1478 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C127A - ldr r5, _080C1214 @ =gUnknown_20399D8 - ldr r0, [r5] - ldr r4, _080C1218 @ =0x00001cca - adds r0, r4 - ldrb r0, [r0] - bl sub_80C0E48 - bl sub_80C0E34 - ldr r1, [r5] - adds r1, r4 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _080C120C - movs r0, 0 - bl sub_80C4324 - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x19 - movs r2, 0 - bl sub_80C48BC - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x19 - movs r2, 0 - bl sub_80C4960 -_080C120C: - ldr r1, [r5] - ldr r0, _080C121C @ =0x00001cc8 - adds r1, r0 - b _080C1262 - .align 2, 0 -_080C1214: .4byte gUnknown_20399D8 -_080C1218: .4byte 0x00001cca -_080C121C: .4byte 0x00001cc8 -_080C1220: - bl sub_80C12EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C127A - bl sub_80C1880 - bl sub_80C0FE0 - b _080C125A -_080C1236: - bl sub_80C1058 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C127A - ldr r0, _080C124C @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r0, _080C1250 @ =0x00001cc8 - adds r1, r0 - b _080C1262 - .align 2, 0 -_080C124C: .4byte gUnknown_20399D8 -_080C1250: .4byte 0x00001cc8 -_080C1254: - movs r0, 0 - bl sub_80C3154 -_080C125A: - ldr r0, _080C126C @ =gUnknown_20399D8 - ldr r1, [r0] -_080C125E: - ldr r3, _080C1270 @ =0x00001cc8 - adds r1, r3 -_080C1262: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C127A - .align 2, 0 -_080C126C: .4byte gUnknown_20399D8 -_080C1270: .4byte 0x00001cc8 -_080C1274: - adds r0, r2, 0 - bl sub_80C1280 -_080C127A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C1098 - - thumb_func_start sub_80C1280 -sub_80C1280: @ 80C1280 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C12D4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r4, _080C12D8 @ =gUnknown_20399D8 - ldr r0, [r4] - ldr r2, _080C12DC @ =0x00001cd0 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - movs r0, 0x2 - bl HideBg - ldr r0, _080C12E0 @ =gUnknown_8418EB5 - bl sub_80C4E18 - ldr r0, _080C12E4 @ =gUnknown_8418EA7 - bl sub_80C4E74 - bl sub_80C0AB8 - bl sub_80C0B9C - ldr r1, _080C12E8 @ =gUnknown_83F1B1C - movs r0, 0 - bl sub_80C4CF0 - ldr r0, [r4] - cmp r0, 0 - beq _080C12CC - bl Free - movs r0, 0 - str r0, [r4] -_080C12CC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C12D4: .4byte gTasks -_080C12D8: .4byte gUnknown_20399D8 -_080C12DC: .4byte 0x00001cd0 -_080C12E0: .4byte gUnknown_8418EB5 -_080C12E4: .4byte gUnknown_8418EA7 -_080C12E8: .4byte gUnknown_83F1B1C - thumb_func_end sub_80C1280 - - thumb_func_start sub_80C12EC -sub_80C12EC: @ 80C12EC - push {lr} - ldr r0, _080C1308 @ =gUnknown_20399D8 - ldr r0, [r0] - ldr r2, _080C130C @ =0x00001cdc - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0 - bne _080C1310 - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1 - b _080C131E - .align 2, 0 -_080C1308: .4byte gUnknown_20399D8 -_080C130C: .4byte 0x00001cdc -_080C1310: - subs r0, 0x1 - strh r0, [r1] - ldrh r1, [r1] - movs r0, 0x54 - bl SetGpuReg - movs r0, 0 -_080C131E: - pop {r1} - bx r1 - thumb_func_end sub_80C12EC - - thumb_func_start sub_80C1324 -sub_80C1324: @ 80C1324 - push {r4-r7,lr} - adds r7, r1, 0 - lsls r0, 24 - ldr r1, _080C1360 @ =gUnknown_20399D4 - lsrs r0, 12 - ldr r2, _080C1364 @ =0x00001796 - adds r0, r2 - ldr r1, [r1] - adds r6, r1, r0 - movs r1, 0 -_080C1338: - movs r2, 0 - lsls r5, r1, 16 - asrs r1, r5, 16 - lsls r3, r1, 5 - lsls r0, r1, 4 - subs r0, r1 - lsls r4, r0, 1 -_080C1346: - lsls r0, r2, 16 - asrs r1, r0, 16 - adds r2, r0, 0 - cmp r1, 0x1D - bgt _080C1368 - adds r0, r3, r1 - lsls r0, 1 - adds r0, r6 - adds r1, r4, r1 - lsls r1, 1 - adds r1, r7 - ldrh r1, [r1] - b _080C1370 - .align 2, 0 -_080C1360: .4byte gUnknown_20399D4 -_080C1364: .4byte 0x00001796 -_080C1368: - adds r0, r3, r1 - lsls r0, 1 - adds r0, r6 - ldrh r1, [r7] -_080C1370: - strh r1, [r0] - movs r1, 0x80 - lsls r1, 9 - adds r0, r2, r1 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, 0x1F - ble _080C1346 - adds r0, r5, r1 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080C1338 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C1324 - - thumb_func_start sub_80C1390 -sub_80C1390: @ 80C1390 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _080C1428 @ =gUnknown_20399D8 - ldr r2, [r0] - ldr r1, _080C142C @ =0x00001cd4 - adds r0, r2, r1 - movs r1, 0x48 - strh r1, [r0] - ldr r5, _080C1430 @ =0xffff0000 - ldr r0, [sp] - ands r0, r5 - orrs r0, r1 - str r0, [sp] - ldr r0, _080C1434 @ =0x00001cce - adds r3, r2, r0 - ldr r1, _080C1438 @ =0x00001cca - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 2 - ldrh r3, [r3] - adds r1, r3 - lsls r1, 3 - ldr r0, _080C143C @ =0x00001cd6 - adds r4, r2, r0 - strh r1, [r4] - lsls r1, 16 - ldr r3, _080C1440 @ =0x0000ffff - ldr r0, [sp] - ands r0, r3 - orrs r0, r1 - str r0, [sp] - ldr r1, _080C1444 @ =0x00001cd8 - adds r0, r2, r1 - movs r1, 0xA8 - strh r1, [r0] - ldr r0, [sp, 0x4] - ands r0, r5 - orrs r0, r1 - str r0, [sp, 0x4] - ldrh r1, [r4] - adds r1, 0x20 - ldr r0, _080C1448 @ =0x00001cda - adds r2, r0 - strh r1, [r2] - ands r1, r3 - lsls r1, 16 - ldr r0, [sp, 0x4] - ands r0, r3 - orrs r0, r1 - str r0, [sp, 0x4] - bl sub_80C4BE4 - movs r0, 0 - movs r1, 0x15 - movs r2, 0xC0 - bl sub_80C4C2C - movs r0, 0x1F - movs r1, 0x15 - bl sub_80C4C74 - movs r0, 0x3F - bl sub_80C4C88 - movs r0, 0x1 - movs r1, 0 - bl sub_80C4C9C - movs r0, 0x1 - mov r1, sp - bl sub_80C4CF0 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C1428: .4byte gUnknown_20399D8 -_080C142C: .4byte 0x00001cd4 -_080C1430: .4byte 0xffff0000 -_080C1434: .4byte 0x00001cce -_080C1438: .4byte 0x00001cca -_080C143C: .4byte 0x00001cd6 -_080C1440: .4byte 0x0000ffff -_080C1444: .4byte 0x00001cd8 -_080C1448: .4byte 0x00001cda - thumb_func_end sub_80C1390 - - thumb_func_start sub_80C144C -sub_80C144C: @ 80C144C - push {lr} - ldr r0, _080C1460 @ =gUnknown_20399D8 - ldr r0, [r0] - ldr r2, _080C1464 @ =0x00001cdc - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0x5 - bls _080C1468 - movs r0, 0x1 - b _080C1474 - .align 2, 0 -_080C1460: .4byte gUnknown_20399D8 -_080C1464: .4byte 0x00001cdc -_080C1468: - adds r0, 0x1 - strh r0, [r1] - ldrh r0, [r1] - bl sub_80C4C48 - movs r0, 0 -_080C1474: - pop {r1} - bx r1 - thumb_func_end sub_80C144C - - thumb_func_start sub_80C1478 -sub_80C1478: @ 80C1478 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r6, 0 - ldr r0, _080C1574 @ =gUnknown_20399D8 - mov r8, r0 - ldr r5, [r0] - ldr r1, _080C1578 @ =0x00001cd4 - adds r0, r5, r1 - movs r1, 0x48 - strh r1, [r0] - ldr r4, _080C157C @ =0xffff0000 - ldr r0, [sp] - ands r0, r4 - orrs r0, r1 - str r0, [sp] - ldr r3, _080C1580 @ =0x00001cce - adds r2, r5, r3 - ldr r7, _080C1584 @ =0x00001cca - adds r0, r5, r7 - ldrb r1, [r0] - lsls r1, 2 - ldrh r2, [r2] - adds r1, r2 - lsls r1, 3 - ldr r0, _080C1588 @ =0x00001cd6 - adds r3, r5, r0 - strh r1, [r3] - lsls r1, 16 - ldr r2, _080C158C @ =0x0000ffff - ldr r0, [sp] - ands r0, r2 - orrs r0, r1 - str r0, [sp] - ldr r1, _080C1590 @ =0x00001cd8 - adds r0, r5, r1 - movs r1, 0xA8 - strh r1, [r0] - ldr r0, [sp, 0x4] - ands r0, r4 - orrs r0, r1 - str r0, [sp, 0x4] - ldrh r1, [r3] - adds r1, 0x20 - ldr r3, _080C1594 @ =0x00001cda - adds r0, r5, r3 - strh r1, [r0] - ands r1, r2 - lsls r1, 16 - ldr r0, [sp, 0x4] - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x4] - ldr r0, _080C1598 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080C150E - adds r1, r7, 0 - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080C150E - movs r0, 0xF5 - bl PlaySE - mov r2, r8 - ldr r1, [r2] - adds r1, r7 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - movs r6, 0x1 -_080C150E: - ldr r0, _080C1598 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C1542 - ldr r4, _080C1574 @ =gUnknown_20399D8 - ldr r0, [r4] - ldr r3, _080C1584 @ =0x00001cca - adds r1, r0, r3 - ldr r2, _080C159C @ =0x00001ccc - adds r0, r2 - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bcs _080C1542 - movs r0, 0xF5 - bl PlaySE - ldr r1, [r4] - ldr r3, _080C1584 @ =0x00001cca - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r6, 0x1 -_080C1542: - ldr r2, _080C1598 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - ldr r4, _080C1574 @ =gUnknown_20399D8 - cmp r0, 0 - beq _080C15A8 - ldr r0, [r4] - ldr r1, _080C15A0 @ =0x00001cdc - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x6 - bne _080C15A8 - movs r0, 0xC7 - bl PlaySE - ldr r0, [r4] - ldr r2, _080C1584 @ =0x00001cca - adds r1, r0, r2 - ldrb r1, [r1] - ldr r3, _080C15A4 @ =0x00001ccb - adds r0, r3 - strb r1, [r0] - movs r0, 0x1 - b _080C16AC - .align 2, 0 -_080C1574: .4byte gUnknown_20399D8 -_080C1578: .4byte 0x00001cd4 -_080C157C: .4byte 0xffff0000 -_080C1580: .4byte 0x00001cce -_080C1584: .4byte 0x00001cca -_080C1588: .4byte 0x00001cd6 -_080C158C: .4byte 0x0000ffff -_080C1590: .4byte 0x00001cd8 -_080C1594: .4byte 0x00001cda -_080C1598: .4byte gMain -_080C159C: .4byte 0x00001ccc -_080C15A0: .4byte 0x00001cdc -_080C15A4: .4byte 0x00001ccb -_080C15A8: - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080C1604 - ldr r0, [r4] - ldr r2, _080C15FC @ =0x00001ccb - adds r1, r0, r2 - ldrb r1, [r1] - subs r2, 0x1 - adds r0, r2 - strb r1, [r0] - ldr r3, _080C1600 @ =gUnknown_20399D4 - ldr r0, [r4] - adds r0, r2 - ldrb r0, [r0] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 4 - adds r0, 0x26 - ldr r1, [r3] - adds r1, r0 - movs r0, 0 - bl sub_80C0CC8 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0xFF - movs r1, 0x19 - movs r2, 0x1 - bl sub_80C48BC - movs r0, 0xFF - movs r1, 0x19 - movs r2, 0x1 - bl sub_80C4960 - movs r0, 0x1 - b _080C16AC - .align 2, 0 -_080C15FC: .4byte 0x00001ccb -_080C1600: .4byte gUnknown_20399D4 -_080C1604: - cmp r6, 0 - beq _080C166C - ldr r2, _080C168C @ =gUnknown_20399D4 - ldr r5, _080C1690 @ =gUnknown_20399D8 - ldr r0, [r5] - ldr r4, _080C1694 @ =0x00001cca - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 4 - adds r0, 0x26 - ldr r1, [r2] - adds r1, r0 - movs r0, 0 - bl sub_80C0CC8 - ldr r0, _080C1698 @ =gUnknown_8418EB0 - bl sub_80C4E74 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0xFF - movs r1, 0x19 - movs r2, 0x1 - bl sub_80C48BC - movs r0, 0xFF - movs r1, 0x19 - movs r2, 0x1 - bl sub_80C4960 - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x19 - movs r2, 0 - bl sub_80C48BC - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x19 - movs r2, 0 - bl sub_80C4960 -_080C166C: - ldr r0, _080C1690 @ =gUnknown_20399D8 - ldr r4, [r0] - ldr r3, _080C1694 @ =0x00001cca - adds r4, r3 - bl sub_80C0E34 - ldrb r1, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - beq _080C169C - movs r0, 0x1 - bl sub_80C4324 - b _080C16A2 - .align 2, 0 -_080C168C: .4byte gUnknown_20399D4 -_080C1690: .4byte gUnknown_20399D8 -_080C1694: .4byte 0x00001cca -_080C1698: .4byte gUnknown_8418EB0 -_080C169C: - movs r0, 0 - bl sub_80C4324 -_080C16A2: - movs r0, 0x1 - mov r1, sp - bl sub_80C4CF0 - movs r0, 0 -_080C16AC: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C1478 - - thumb_func_start sub_80C16B8 -sub_80C16B8: @ 80C16B8 - ldr r1, _080C16C8 @ =gUnknown_20399D8 - ldr r1, [r1] - ldr r2, _080C16CC @ =0x00001cd6 - adds r1, r2 - ldrh r1, [r1] - adds r1, 0x10 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_080C16C8: .4byte gUnknown_20399D8 -_080C16CC: .4byte 0x00001cd6 - thumb_func_end sub_80C16B8 - - thumb_func_start sub_80C16D0 -sub_80C16D0: @ 80C16D0 - push {lr} - ldr r0, _080C16EC @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r2, _080C16F0 @ =0x00001cc9 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080C1708 - cmp r0, 0x1 - bgt _080C16F4 - cmp r0, 0 - beq _080C16FA - b _080C1732 - .align 2, 0 -_080C16EC: .4byte gUnknown_20399D8 -_080C16F0: .4byte 0x00001cc9 -_080C16F4: - cmp r0, 0x2 - beq _080C171C - b _080C1732 -_080C16FA: - ldr r0, _080C1700 @ =gUnknown_83EF3C4 - ldr r2, _080C1704 @ =0x000014b0 - b _080C170C - .align 2, 0 -_080C1700: .4byte gUnknown_83EF3C4 -_080C1704: .4byte 0x000014b0 -_080C1708: - ldr r0, _080C1714 @ =gUnknown_83EF450 - ldr r2, _080C1718 @ =0x000018bc -_080C170C: - adds r1, r2 - bl LZ77UnCompWram - b _080C1736 - .align 2, 0 -_080C1714: .4byte gUnknown_83EF450 -_080C1718: .4byte 0x000018bc -_080C171C: - movs r0, 0 - movs r1, 0x2 - movs r2, 0x2 - bl sub_80C1754 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x3 - bl sub_80C1754 - b _080C1736 -_080C1732: - movs r0, 0x1 - b _080C1746 -_080C1736: - ldr r0, _080C174C @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r0, _080C1750 @ =0x00001cc9 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_080C1746: - pop {r1} - bx r1 - .align 2, 0 -_080C174C: .4byte gUnknown_20399D8 -_080C1750: .4byte 0x00001cc9 - thumb_func_end sub_80C16D0 - - thumb_func_start sub_80C1754 -sub_80C1754: @ 80C1754 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - bl sub_80C176C - pop {r0} - bx r0 - thumb_func_end sub_80C1754 - - thumb_func_start sub_80C176C -sub_80C176C: @ 80C176C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x28 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r3, _080C1848 @ =gUnknown_20399D8 - mov r8, r3 - lsls r5, r0, 6 - adds r5, r0 - lsls r5, 2 - subs r5, r0 - lsls r5, 2 - ldr r4, _080C184C @ =0x000014b0 - adds r0, r5, r4 - ldr r3, [r3] - adds r0, r3, r0 - str r0, [sp, 0x18] - movs r4, 0x80 - lsls r4, 3 - add r0, sp, 0x18 - lsrs r6, r1, 16 - mov r9, r6 - orrs r1, r4 - str r1, [r0, 0x4] - ldr r1, _080C1850 @ =gUnknown_83EF384 - str r1, [sp, 0x20] - ldr r4, _080C1854 @ =0xffff0000 - add r6, sp, 0x20 - ldr r1, [r6, 0x4] - ands r1, r4 - orrs r1, r2 - str r1, [r6, 0x4] - mov r1, sp - movs r4, 0 - mov r7, r9 - strh r7, [r1] - strh r2, [r1, 0x2] - ldr r1, _080C1858 @ =gUnknown_83F1B24 - str r1, [sp, 0x4] - ldr r1, _080C185C @ =gUnknown_83F1B38 - str r1, [sp, 0x8] - str r4, [sp, 0xC] - ldr r1, _080C1860 @ =gDummySpriteAffineAnimTable - str r1, [sp, 0x10] - ldr r1, _080C1864 @ =sub_80C16B8 - str r1, [sp, 0x14] - adds r3, r5 - ldr r4, _080C1868 @ =0x000018b4 - adds r1, r3, r4 - strh r7, [r1] - ldr r1, _080C186C @ =0x000018b6 - adds r3, r1 - strh r2, [r3] - bl LoadSpriteSheet - adds r0, r6, 0 - bl LoadSpritePalette - mov r3, r8 - ldr r2, [r3] - adds r0, r2, r5 - adds r4, 0x4 - adds r0, r4 - movs r6, 0 - ldrsh r1, [r0, r6] - ldr r7, _080C1870 @ =0x00001cce - adds r0, r2, r7 - ldr r3, _080C1874 @ =0x00001cca - adds r2, r3 - ldrb r2, [r2] - lsls r2, 2 - ldrh r0, [r0] - adds r2, r0 - lsls r2, 19 - asrs r2, 16 - mov r0, sp - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r4, r8 - ldr r2, [r4] - ldr r6, _080C1878 @ =0x000018b0 - adds r2, r6 - adds r2, r5 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080C187C @ =gSprites - adds r1, r0 - str r1, [r2] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - add sp, 0x28 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C1848: .4byte gUnknown_20399D8 -_080C184C: .4byte 0x000014b0 -_080C1850: .4byte gUnknown_83EF384 -_080C1854: .4byte 0xffff0000 -_080C1858: .4byte gUnknown_83F1B24 -_080C185C: .4byte gUnknown_83F1B38 -_080C1860: .4byte gDummySpriteAffineAnimTable -_080C1864: .4byte sub_80C16B8 -_080C1868: .4byte 0x000018b4 -_080C186C: .4byte 0x000018b6 -_080C1870: .4byte 0x00001cce -_080C1874: .4byte 0x00001cca -_080C1878: .4byte 0x000018b0 -_080C187C: .4byte gSprites - thumb_func_end sub_80C176C - - thumb_func_start sub_80C1880 -sub_80C1880: @ 80C1880 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _080C18D0 @ =gUnknown_20399D8 -_080C1886: - ldr r1, [r6] - lsls r0, r5, 6 - adds r0, r5 - lsls r0, 2 - subs r0, r5 - lsls r4, r0, 2 - ldr r0, _080C18D4 @ =0x000018b0 - adds r1, r0 - adds r1, r4 - ldr r0, [r1] - cmp r0, 0 - beq _080C18BE - bl DestroySprite - ldr r0, [r6] - adds r0, r4 - ldr r1, _080C18D8 @ =0x000018b4 - adds r0, r1 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r6] - adds r0, r4 - ldr r1, _080C18DC @ =0x000018b6 - adds r0, r1 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080C18BE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _080C1886 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C18D0: .4byte gUnknown_20399D8 -_080C18D4: .4byte 0x000018b0 -_080C18D8: .4byte 0x000018b4 -_080C18DC: .4byte 0x000018b6 - thumb_func_end sub_80C1880 - - thumb_func_start sub_80C18E0 -sub_80C18E0: @ 80C18E0 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - movs r2, 0 - ldr r3, _080C1904 @ =gUnknown_83F1B3C - adds r5, r3, 0 - adds r5, 0x8 -_080C18EE: - lsls r0, r2, 1 - adds r0, r2 - lsls r1, r0, 2 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, r4 - bne _080C1908 - adds r0, r1, r5 - ldr r0, [r0] - b _080C1914 - .align 2, 0 -_080C1904: .4byte gUnknown_83F1B3C -_080C1908: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x12 - bls _080C18EE - ldr r0, _080C191C @ =gUnknown_8418EC3 -_080C1914: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080C191C: .4byte gUnknown_8418EC3 - thumb_func_end sub_80C18E0 - - thumb_func_start sub_80C1920 -sub_80C1920: @ 80C1920 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - movs r2, 0 - ldr r3, _080C1940 @ =gUnknown_83F1B3C - adds r5, r3, 0x4 -_080C192C: - lsls r0, r2, 1 - adds r0, r2 - lsls r1, r0, 2 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, r4 - bne _080C1944 - adds r0, r1, r5 - ldr r0, [r0] - b _080C1950 - .align 2, 0 -_080C1940: .4byte gUnknown_83F1B3C -_080C1944: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x12 - bls _080C192C - ldr r0, _080C1958 @ =gUnknown_8418EC3 -_080C1950: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080C1958: .4byte gUnknown_8418EC3 - thumb_func_end sub_80C1920 - - thumb_func_start sub_80C195C -sub_80C195C: @ 80C195C - push {r4-r6,lr} - adds r6, r2, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, _080C19E0 @ =gUnknown_20399DC - ldr r0, _080C19E4 @ =0x00003e28 - bl AllocZeroed - str r0, [r4] - bl sub_80C3580 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB8 - bne _080C197C - movs r0, 0xBC -_080C197C: - bl sub_80F8544 - ldr r1, [r4] - movs r2, 0xF5 - lsls r2, 6 - adds r1, r2 - str r0, [r1] - cmp r0, 0 - bne _080C199E - movs r0, 0x8A - bl sub_80F8544 - ldr r1, [r4] - movs r3, 0xF5 - lsls r3, 6 - adds r1, r3 - str r0, [r1] -_080C199E: - ldr r0, [r4] - ldr r1, _080C19E8 @ =0x00003d48 - adds r0, r1 - movs r2, 0 - strb r2, [r0] - ldr r0, [r4] - ldr r3, _080C19EC @ =0x00003d4a - adds r0, r3 - strb r2, [r0] - ldr r0, [r4] - subs r3, 0x6 - adds r1, r0, r3 - str r6, [r1] - ldr r1, _080C19F0 @ =0x00003e14 - adds r0, r1 - strh r2, [r0] - movs r0, 0 - bl sub_80C4AAC - bl sub_80C4BE4 - bl sub_80C0CA0 - ldr r1, _080C19F4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C19F8 @ =sub_80C1A94 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C19E0: .4byte gUnknown_20399DC -_080C19E4: .4byte 0x00003e28 -_080C19E8: .4byte 0x00003d48 -_080C19EC: .4byte 0x00003d4a -_080C19F0: .4byte 0x00003e14 -_080C19F4: .4byte gTasks -_080C19F8: .4byte sub_80C1A94 - thumb_func_end sub_80C195C - - thumb_func_start sub_80C19FC -sub_80C19FC: @ 80C19FC - push {lr} - ldr r0, _080C1A18 @ =gUnknown_20399DC - ldr r1, [r0] - ldr r2, _080C1A1C @ =0x00003d4a - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080C1A3A - cmp r0, 0x1 - bgt _080C1A20 - cmp r0, 0 - beq _080C1A2A - b _080C1A72 - .align 2, 0 -_080C1A18: .4byte gUnknown_20399DC -_080C1A1C: .4byte 0x00003d4a -_080C1A20: - cmp r0, 0x2 - beq _080C1A50 - cmp r0, 0x3 - beq _080C1A5E - b _080C1A72 -_080C1A2A: - movs r2, 0xF5 - lsls r2, 6 - adds r0, r1, r2 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl LZ77UnCompWram - b _080C1A76 -_080C1A3A: - movs r2, 0xF5 - lsls r2, 6 - adds r0, r1, r2 - ldr r0, [r0] - ldr r0, [r0, 0x8] - movs r2, 0xE1 - lsls r2, 6 - adds r1, r2 - bl LZ77UnCompWram - b _080C1A76 -_080C1A50: - movs r2, 0xE1 - lsls r2, 6 - movs r0, 0x2 - movs r3, 0 - bl LoadBgTiles - b _080C1A76 -_080C1A5E: - movs r2, 0xF5 - lsls r2, 6 - adds r0, r1, r2 - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0xD0 - movs r2, 0x60 - bl LoadPalette - b _080C1A76 -_080C1A72: - movs r0, 0x1 - b _080C1A86 -_080C1A76: - ldr r0, _080C1A8C @ =gUnknown_20399DC - ldr r1, [r0] - ldr r0, _080C1A90 @ =0x00003d4a - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_080C1A86: - pop {r1} - bx r1 - .align 2, 0 -_080C1A8C: .4byte gUnknown_20399DC -_080C1A90: .4byte 0x00003d4a - thumb_func_end sub_80C19FC - - thumb_func_start sub_80C1A94 -sub_80C1A94: @ 80C1A94 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080C1AB8 @ =gUnknown_20399DC - ldr r0, [r1] - ldr r3, _080C1ABC @ =0x00003d48 - adds r0, r3 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x9 - bls _080C1AAC - b _080C1BD0 -_080C1AAC: - lsls r0, 2 - ldr r1, _080C1AC0 @ =_080C1AC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C1AB8: .4byte gUnknown_20399DC -_080C1ABC: .4byte 0x00003d48 -_080C1AC0: .4byte _080C1AC4 - .align 2, 0 -_080C1AC4: - .4byte _080C1AEC - .4byte _080C1B04 - .4byte _080C1B12 - .4byte _080C1B34 - .4byte _080C1B54 - .4byte _080C1B5C - .4byte _080C1B74 - .4byte _080C1B84 - .4byte _080C1B9C - .4byte _080C1BBC -_080C1AEC: - bl sub_80C08E0 - ldr r0, _080C1AFC @ =gUnknown_20399DC - ldr r1, [r0] - ldr r0, _080C1B00 @ =0x00003d48 - adds r1, r0 - b _080C1BCA - .align 2, 0 -_080C1AFC: .4byte gUnknown_20399DC -_080C1B00: .4byte 0x00003d48 -_080C1B04: - bl sub_80C19FC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C1BD0 - b _080C1BC2 -_080C1B12: - bl sub_80C1E94 - ldr r0, _080C1B28 @ =gUnknown_8418E9E - bl sub_80C4E74 - ldr r0, _080C1B2C @ =gUnknown_20399DC - ldr r1, [r0] - ldr r0, _080C1B30 @ =0x00003d48 - adds r1, r0 - b _080C1BCA - .align 2, 0 -_080C1B28: .4byte gUnknown_8418E9E -_080C1B2C: .4byte gUnknown_20399DC -_080C1B30: .4byte 0x00003d48 -_080C1B34: - ldr r1, [r4] - movs r3, 0xE1 - lsls r3, 6 - adds r1, r3 - movs r0, 0x2 - bl sub_80C1E78 - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r1, [r4] - ldr r0, _080C1B50 @ =0x00003d48 - adds r1, r0 - b _080C1BCA - .align 2, 0 -_080C1B50: .4byte 0x00003d48 -_080C1B54: - movs r0, 0x2 - bl ShowBg - b _080C1BC2 -_080C1B5C: - bl sub_80C08F4 - ldr r0, _080C1B6C @ =gUnknown_20399DC - ldr r1, [r0] - ldr r0, _080C1B70 @ =0x00003d48 - adds r1, r0 - b _080C1BCA - .align 2, 0 -_080C1B6C: .4byte gUnknown_20399DC -_080C1B70: .4byte 0x00003d48 -_080C1B74: - movs r0, 0 - bl sub_80C1F80 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C1BD0 - b _080C1BC2 -_080C1B84: - ldr r0, _080C1B94 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, _080C1B98 @ =sub_80C1BE0 - str r0, [r1] - b _080C1BD0 - .align 2, 0 -_080C1B94: .4byte gTasks -_080C1B98: .4byte sub_80C1BE0 -_080C1B9C: - movs r0, 0x1 - bl sub_80C1F80 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C1BD0 - ldr r0, _080C1BB4 @ =gUnknown_20399DC - ldr r1, [r0] - ldr r0, _080C1BB8 @ =0x00003d48 - adds r1, r0 - b _080C1BCA - .align 2, 0 -_080C1BB4: .4byte gUnknown_20399DC -_080C1BB8: .4byte 0x00003d48 -_080C1BBC: - adds r0, r2, 0 - bl sub_80C1E14 -_080C1BC2: - ldr r0, _080C1BD8 @ =gUnknown_20399DC - ldr r1, [r0] - ldr r3, _080C1BDC @ =0x00003d48 - adds r1, r3 -_080C1BCA: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080C1BD0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C1BD8: .4byte gUnknown_20399DC -_080C1BDC: .4byte 0x00003d48 - thumb_func_end sub_80C1A94 - - thumb_func_start sub_80C1BE0 -sub_80C1BE0: @ 80C1BE0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080C1C08 @ =gUnknown_20399DC - ldr r0, [r1] - ldr r3, _080C1C0C @ =0x00003d49 - adds r0, r3 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x4 - bls _080C1BFE - b _080C1DF0 -_080C1BFE: - lsls r0, 2 - ldr r1, _080C1C10 @ =_080C1C14 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C1C08: .4byte gUnknown_20399DC -_080C1C0C: .4byte 0x00003d49 -_080C1C10: .4byte _080C1C14 - .align 2, 0 -_080C1C14: - .4byte _080C1C28 - .4byte _080C1C58 - .4byte _080C1C80 - .4byte _080C1CA8 - .4byte _080C1DA0 -_080C1C28: - ldr r1, [r3] - ldr r0, _080C1C48 @ =0x00003e0e - adds r2, r1, r0 - ldr r0, _080C1C4C @ =0x00000133 - strh r0, [r2] - ldr r3, _080C1C50 @ =0x00003e10 - adds r2, r1, r3 - subs r0, 0x33 - strh r0, [r2] - ldr r0, _080C1C54 @ =0x00003e12 - adds r2, r1, r0 - movs r0, 0xF0 - strh r0, [r2] - subs r3, 0xC7 - b _080C1DD6 - .align 2, 0 -_080C1C48: .4byte 0x00003e0e -_080C1C4C: .4byte 0x00000133 -_080C1C50: .4byte 0x00003e10 -_080C1C54: .4byte 0x00003e12 -_080C1C58: - ldr r0, [r3] - ldr r1, _080C1C7C @ =0x00003d4c - adds r0, r1 - ldrb r1, [r0] - adds r2, r1, 0x1 - strb r2, [r0] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x28 - bhi _080C1C6E - b _080C1DFE -_080C1C6E: - ldr r0, [r3] - ldr r1, _080C1C7C @ =0x00003d4c - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r1, [r3] - b _080C1DD4 - .align 2, 0 -_080C1C7C: .4byte 0x00003d4c -_080C1C80: - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x2 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x2 - bl PutWindowTilemap - ldr r0, _080C1CA0 @ =gUnknown_20399DC - ldr r1, [r0] - ldr r0, _080C1CA4 @ =0x00003d49 - adds r1, r0 - b _080C1DD8 - .align 2, 0 -_080C1CA0: .4byte gUnknown_20399DC -_080C1CA4: .4byte 0x00003d49 -_080C1CA8: - ldr r7, _080C1D10 @ =gUnknown_20399DC - ldr r2, [r7] - ldr r1, _080C1D14 @ =0x00003d4c - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x19 - bls _080C1D24 - bl sub_80C3580 - lsls r0, 16 - lsrs r0, 16 - bl sub_80C1920 - ldr r1, _080C1D18 @ =gUnknown_83F1A94 - str r1, [sp] - movs r4, 0x1 - negs r4, r4 - str r4, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x2 - movs r2, 0x4 - movs r3, 0 - bl AddTextPrinterParameterized3 - bl sub_80C3580 - lsls r0, 16 - lsrs r0, 16 - bl sub_80C18E0 - ldr r1, _080C1D1C @ =gUnknown_83F1A90 - str r1, [sp] - str r4, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x2 - movs r2, 0x2 - movs r3, 0xE - bl AddTextPrinterParameterized3 - movs r0, 0x2 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, [r7] - ldr r3, _080C1D20 @ =0x00003d49 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C1D80 - .align 2, 0 -_080C1D10: .4byte gUnknown_20399DC -_080C1D14: .4byte 0x00003d4c -_080C1D18: .4byte gUnknown_83F1A94 -_080C1D1C: .4byte gUnknown_83F1A90 -_080C1D20: .4byte 0x00003d49 -_080C1D24: - cmp r0, 0x14 - bls _080C1D80 - ldr r6, _080C1D88 @ =0x00003e0e - adds r1, r2, r6 - ldrh r0, [r1] - subs r0, 0x6 - strh r0, [r1] - ldr r4, _080C1D8C @ =0x00003e10 - adds r1, r2, r4 - ldrh r0, [r1] - subs r0, 0x5 - strh r0, [r1] - ldr r0, _080C1D90 @ =0x00003e12 - mov r8, r0 - adds r1, r2, r0 - ldrh r0, [r1] - subs r0, 0x5 - strh r0, [r1] - movs r1, 0xF5 - lsls r1, 6 - adds r0, r2, r1 - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r5, _080C1D94 @ =0x00003d4e - adds r1, r2, r5 - movs r2, 0x30 - bl CpuSet - ldr r1, [r7] - adds r0, r1, r5 - adds r6, r1, r6 - ldrh r2, [r6] - adds r4, r1, r4 - ldrh r3, [r4] - add r1, r8 - ldrh r1, [r1] - str r1, [sp] - movs r1, 0x30 - bl TintPalette_CustomTone - ldr r0, [r7] - adds r0, r5 - movs r1, 0xD0 - movs r2, 0x60 - bl LoadPalette -_080C1D80: - ldr r0, _080C1D98 @ =gUnknown_20399DC - ldr r1, [r0] - ldr r3, _080C1D9C @ =0x00003d4c - b _080C1DD6 - .align 2, 0 -_080C1D88: .4byte 0x00003e0e -_080C1D8C: .4byte 0x00003e10 -_080C1D90: .4byte 0x00003e12 -_080C1D94: .4byte 0x00003d4e -_080C1D98: .4byte gUnknown_20399DC -_080C1D9C: .4byte 0x00003d4c -_080C1DA0: - ldr r0, _080C1DE0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080C1DB4 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C1DFE -_080C1DB4: - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x2 - movs r1, 0x3 - bl CopyWindowToVram - ldr r2, _080C1DE4 @ =gUnknown_20399DC - ldr r1, [r2] - ldr r0, _080C1DE8 @ =0x00003d48 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, [r2] -_080C1DD4: - ldr r3, _080C1DEC @ =0x00003d49 -_080C1DD6: - adds r1, r3 -_080C1DD8: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C1DFE - .align 2, 0 -_080C1DE0: .4byte gMain -_080C1DE4: .4byte gUnknown_20399DC -_080C1DE8: .4byte 0x00003d48 -_080C1DEC: .4byte 0x00003d49 -_080C1DF0: - ldr r0, _080C1E0C @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, _080C1E10 @ =sub_80C1A94 - str r0, [r1] -_080C1DFE: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C1E0C: .4byte gTasks -_080C1E10: .4byte sub_80C1A94 - thumb_func_end sub_80C1BE0 - - thumb_func_start sub_80C1E14 -sub_80C1E14: @ 80C1E14 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C1E68 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r4, _080C1E6C @ =gUnknown_20399DC - ldr r0, [r4] - ldr r2, _080C1E70 @ =0x00003d44 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - movs r0, 0x2 - bl HideBg - movs r0, 0 - bl sub_80C4B30 - bl sub_80C0B18 - bl sub_80C0BB0 - bl sub_80C0AB8 - bl sub_80C0B9C - ldr r0, _080C1E74 @ =gUnknown_8418E8D - bl sub_80C4E74 - ldr r0, [r4] - cmp r0, 0 - beq _080C1E60 - bl Free - movs r0, 0 - str r0, [r4] -_080C1E60: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C1E68: .4byte gTasks -_080C1E6C: .4byte gUnknown_20399DC -_080C1E70: .4byte 0x00003d44 -_080C1E74: .4byte gUnknown_8418E8D - thumb_func_end sub_80C1E14 - - thumb_func_start sub_80C1E78 -sub_80C1E78: @ 80C1E78 - push {lr} - sub sp, 0x8 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_80C1E78 - - thumb_func_start sub_80C1E94 -sub_80C1E94: @ 80C1E94 - push {r4-r6,lr} - bl sub_80C4BE4 - movs r0, 0 - movs r1, 0x11 - movs r2, 0xC0 - bl sub_80C4C2C - ldr r5, _080C1F58 @ =gUnknown_20399DC - ldr r0, [r5] - ldr r1, _080C1F5C @ =0x00003e14 - adds r0, r1 - ldrh r0, [r0] - bl sub_80C4C48 - movs r0, 0 - movs r1, 0xD - bl sub_80C4C74 - movs r0, 0x3B - bl sub_80C4C88 - movs r0, 0x1 - movs r1, 0 - bl sub_80C4C9C - bl sub_80C3508 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_80C3514 - lsls r0, 16 - ldr r5, [r5] - lsls r4, 3 - adds r4, 0x20 - ldr r2, _080C1F60 @ =0x00003e16 - adds r1, r5, r2 - strh r4, [r1] - lsrs r0, 13 - adds r0, 0x18 - ldr r3, _080C1F64 @ =0x00003e18 - adds r2, r5, r3 - strh r0, [r2] - ldrh r0, [r1] - adds r0, 0x8 - ldr r4, _080C1F68 @ =0x00003e1a - adds r3, r5, r4 - strh r0, [r3] - ldrh r0, [r2] - adds r0, 0x8 - ldr r6, _080C1F6C @ =0x00003e1c - adds r4, r5, r6 - strh r0, [r4] - ldrh r1, [r1] - movs r0, 0x10 - subs r0, r1 - cmp r0, 0 - bge _080C1F0E - adds r0, 0x7 -_080C1F0E: - asrs r1, r0, 3 - ldr r6, _080C1F70 @ =0x00003e1e - adds r0, r5, r6 - strh r1, [r0] - ldrh r1, [r2] - movs r0, 0x20 - subs r0, r1 - cmp r0, 0 - bge _080C1F22 - adds r0, 0x7 -_080C1F22: - asrs r1, r0, 3 - ldr r2, _080C1F74 @ =0x00003e20 - adds r0, r5, r2 - strh r1, [r0] - ldrh r1, [r3] - movs r0, 0xE0 - subs r0, r1 - cmp r0, 0 - bge _080C1F36 - adds r0, 0x7 -_080C1F36: - asrs r1, r0, 3 - ldr r3, _080C1F78 @ =0x00003e22 - adds r0, r5, r3 - strh r1, [r0] - ldrh r1, [r4] - movs r0, 0x88 - subs r0, r1 - cmp r0, 0 - bge _080C1F4A - adds r0, 0x7 -_080C1F4A: - asrs r1, r0, 3 - ldr r4, _080C1F7C @ =0x00003e24 - adds r0, r5, r4 - strh r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C1F58: .4byte gUnknown_20399DC -_080C1F5C: .4byte 0x00003e14 -_080C1F60: .4byte 0x00003e16 -_080C1F64: .4byte 0x00003e18 -_080C1F68: .4byte 0x00003e1a -_080C1F6C: .4byte 0x00003e1c -_080C1F70: .4byte 0x00003e1e -_080C1F74: .4byte 0x00003e20 -_080C1F78: .4byte 0x00003e22 -_080C1F7C: .4byte 0x00003e24 - thumb_func_end sub_80C1E94 - - thumb_func_start sub_80C1F80 -sub_80C1F80: @ 80C1F80 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - cmp r0, 0 - bne _080C2014 - ldr r1, _080C1FF0 @ =gUnknown_20399DC - ldr r2, [r1] - ldr r0, _080C1FF4 @ =0x00003d4b - adds r3, r2, r0 - ldrb r0, [r3] - adds r6, r1, 0 - cmp r0, 0x7 - bhi _080C2024 - ldr r4, _080C1FF8 @ =0x00003e16 - adds r1, r2, r4 - adds r4, 0x8 - adds r0, r2, r4 - ldrh r0, [r0] - ldrh r4, [r1] - adds r0, r4 - strh r0, [r1] - ldr r0, _080C1FFC @ =0x00003e18 - adds r1, r2, r0 - ldr r4, _080C2000 @ =0x00003e20 - adds r0, r2, r4 - ldrh r0, [r0] - ldrh r4, [r1] - adds r0, r4 - strh r0, [r1] - ldr r0, _080C2004 @ =0x00003e1a - adds r1, r2, r0 - ldr r4, _080C2008 @ =0x00003e22 - adds r0, r2, r4 - ldrh r0, [r0] - ldrh r4, [r1] - adds r0, r4 - strh r0, [r1] - ldr r0, _080C200C @ =0x00003e1c - adds r1, r2, r0 - ldr r4, _080C2010 @ =0x00003e24 - adds r0, r2, r4 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - ldr r0, [r6] - subs r4, 0x10 - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, 0x5 - bhi _080C2086 - adds r0, 0x1 - b _080C2084 - .align 2, 0 -_080C1FF0: .4byte gUnknown_20399DC -_080C1FF4: .4byte 0x00003d4b -_080C1FF8: .4byte 0x00003e16 -_080C1FFC: .4byte 0x00003e18 -_080C2000: .4byte 0x00003e20 -_080C2004: .4byte 0x00003e1a -_080C2008: .4byte 0x00003e22 -_080C200C: .4byte 0x00003e1c -_080C2010: .4byte 0x00003e24 -_080C2014: - ldr r1, _080C2028 @ =gUnknown_20399DC - ldr r3, [r1] - ldr r0, _080C202C @ =0x00003d4b - adds r5, r3, r0 - ldrb r0, [r5] - adds r6, r1, 0 - cmp r0, 0 - bne _080C2030 -_080C2024: - movs r0, 0x1 - b _080C20DE - .align 2, 0 -_080C2028: .4byte gUnknown_20399DC -_080C202C: .4byte 0x00003d4b -_080C2030: - ldr r1, _080C20E8 @ =0x00003e16 - adds r2, r3, r1 - ldr r4, _080C20EC @ =0x00003e1e - adds r1, r3, r4 - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2] - ldr r0, _080C20F0 @ =0x00003e18 - adds r2, r3, r0 - adds r4, 0x2 - adds r1, r3, r4 - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2] - ldr r0, _080C20F4 @ =0x00003e1a - adds r2, r3, r0 - adds r4, 0x2 - adds r1, r3, r4 - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2] - ldr r0, _080C20F8 @ =0x00003e1c - adds r2, r3, r0 - adds r4, 0x2 - adds r1, r3, r4 - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2] - ldrb r0, [r5] - subs r0, 0x1 - strb r0, [r5] - ldr r0, [r6] - ldr r2, _080C20FC @ =0x00003e14 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0 - beq _080C2086 - subs r0, 0x1 -_080C2084: - strh r0, [r1] -_080C2086: - ldr r4, [r6] - ldr r1, _080C20E8 @ =0x00003e16 - adds r0, r4, r1 - ldrh r0, [r0] - ldr r5, _080C2100 @ =0xffff0000 - ldr r2, [sp] - ands r2, r5 - orrs r2, r0 - str r2, [sp] - adds r1, 0x2 - adds r0, r4, r1 - ldrh r1, [r0] - lsls r1, 16 - ldr r3, _080C2104 @ =0x0000ffff - adds r0, r3, 0 - ands r0, r2 - orrs r0, r1 - str r0, [sp] - ldr r2, _080C20F4 @ =0x00003e1a - adds r4, r2 - ldrh r0, [r4] - ldr r1, [sp, 0x4] - ands r1, r5 - orrs r1, r0 - str r1, [sp, 0x4] - ldr r0, [r6] - ldr r4, _080C20F8 @ =0x00003e1c - adds r0, r4 - ldrh r0, [r0] - lsls r0, 16 - ands r3, r1 - orrs r3, r0 - str r3, [sp, 0x4] - movs r0, 0x1 - mov r1, sp - bl sub_80C4CF0 - ldr r0, [r6] - ldr r1, _080C20FC @ =0x00003e14 - adds r0, r1 - ldrh r0, [r0] - bl sub_80C4C48 - movs r0, 0 -_080C20DE: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080C20E8: .4byte 0x00003e16 -_080C20EC: .4byte 0x00003e1e -_080C20F0: .4byte 0x00003e18 -_080C20F4: .4byte 0x00003e1a -_080C20F8: .4byte 0x00003e1c -_080C20FC: .4byte 0x00003e14 -_080C2100: .4byte 0xffff0000 -_080C2104: .4byte 0x0000ffff - thumb_func_end sub_80C1F80 - - thumb_func_start nullsub_63 -nullsub_63: @ 80C2108 - bx lr - thumb_func_end nullsub_63 - - thumb_func_start sub_80C210C -sub_80C210C: @ 80C210C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - adds r5, r0, 0 - lsls r5, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _080C21E0 @ =gUnknown_20399E0 - mov r9, r0 - ldr r6, [r0] - lsrs r5, 22 - adds r6, r5 - ldr r0, [r6] - str r0, [sp, 0x18] - movs r3, 0x80 - lsls r3, 3 - mov r10, r3 - add r0, sp, 0x18 - lsls r3, r1, 16 - mov r4, r10 - orrs r3, r4 - str r3, [r0, 0x4] - ldr r3, _080C21E4 @ =gUnknown_83EF3A4 - str r3, [sp, 0x20] - ldr r4, _080C21E8 @ =0xffff0000 - add r7, sp, 0x20 - mov r8, r7 - ldr r3, [r7, 0x4] - ands r3, r4 - orrs r3, r2 - str r3, [r7, 0x4] - mov r3, sp - movs r4, 0 - strh r1, [r3] - strh r2, [r3, 0x2] - ldr r3, _080C21EC @ =gUnknown_83F1C20 - str r3, [sp, 0x4] - ldr r3, _080C21F0 @ =gUnknown_83F1C30 - str r3, [sp, 0x8] - str r4, [sp, 0xC] - ldr r3, _080C21F4 @ =gDummySpriteAffineAnimTable - str r3, [sp, 0x10] - ldr r3, _080C21F8 @ =nullsub_63 - str r3, [sp, 0x14] - ldr r3, [r6] - movs r4, 0x81 - lsls r4, 3 - adds r3, r4 - strh r1, [r3] - ldr r1, [r6] - ldr r7, _080C21FC @ =0x0000040a - adds r1, r7 - strh r2, [r1] - bl LoadSpriteSheet - mov r0, r8 - bl LoadSpritePalette - mov r1, r9 - ldr r0, [r1] - adds r0, r5 - ldr r0, [r0] - ldr r2, _080C2200 @ =0x00000404 - adds r1, r0, r2 - movs r3, 0 - ldrsh r1, [r1, r3] - subs r4, 0x2 - adds r0, r4 - movs r7, 0 - ldrsh r2, [r0, r7] - mov r0, sp - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r2, r9 - ldr r1, [r2] - adds r1, r5 - ldr r2, [r1] - add r2, r10 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080C2204 @ =gSprites - adds r1, r0 - str r1, [r2] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C21E0: .4byte gUnknown_20399E0 -_080C21E4: .4byte gUnknown_83EF3A4 -_080C21E8: .4byte 0xffff0000 -_080C21EC: .4byte gUnknown_83F1C20 -_080C21F0: .4byte gUnknown_83F1C30 -_080C21F4: .4byte gDummySpriteAffineAnimTable -_080C21F8: .4byte nullsub_63 -_080C21FC: .4byte 0x0000040a -_080C2200: .4byte 0x00000404 -_080C2204: .4byte gSprites - thumb_func_end sub_80C210C - - thumb_func_start sub_80C2208 -sub_80C2208: @ 80C2208 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, _080C22A4 @ =gUnknown_20399E0 - ldr r0, _080C22A8 @ =0x00000cd4 - bl AllocZeroed - str r0, [r4] - movs r6, 0 -_080C2224: - ldr r0, _080C22AC @ =0x0000040c - bl AllocZeroed - adds r5, r0, 0 - ldr r7, _080C22A4 @ =gUnknown_20399E0 - ldr r4, [r7] - lsls r0, r6, 2 - adds r4, r0 - str r5, [r4] - adds r0, r6, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 19 - adds r0, 0x68 - ldr r1, _080C22B0 @ =0x00000404 - adds r5, r1 - strh r0, [r5] - ldr r4, [r4] - adds r0, r6, 0 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 18 - adds r0, 0x28 - ldr r2, _080C22B4 @ =0x00000406 - adds r4, r2 - strh r0, [r4] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x5 - bls _080C2224 - movs r0, 0 - bl sub_80C4AAC - bl sub_80C4BE4 - bl sub_80C24BC - movs r0, 0x1 - bl sub_80C0A88 - ldr r0, [r7] - ldr r1, _080C22B8 @ =0x00000cc8 - adds r0, r1 - mov r2, r9 - str r2, [r0] - ldr r1, _080C22BC @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C22C0 @ =sub_80C267C - str r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C22A4: .4byte gUnknown_20399E0 -_080C22A8: .4byte 0x00000cd4 -_080C22AC: .4byte 0x0000040c -_080C22B0: .4byte 0x00000404 -_080C22B4: .4byte 0x00000406 -_080C22B8: .4byte 0x00000cc8 -_080C22BC: .4byte gTasks -_080C22C0: .4byte sub_80C267C - thumb_func_end sub_80C2208 - - thumb_func_start sub_80C22C4 -sub_80C22C4: @ 80C22C4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r2, 0x6 - bne _080C2310 - movs r3, 0 - ldr r7, _080C230C @ =gUnknown_20399E0 - movs r6, 0x80 - lsls r6, 3 - movs r1, 0x1 - adds r0, r4, 0 - ands r0, r1 - lsls r4, r0, 2 - movs r5, 0x5 - negs r5, r5 -_080C22E6: - ldr r0, [r7] - lsls r1, r3, 2 - adds r0, r1 - ldr r0, [r0] - adds r0, r6 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x5 - bls _080C22E6 - b _080C2338 - .align 2, 0 -_080C230C: .4byte gUnknown_20399E0 -_080C2310: - ldr r0, _080C2340 @ =gUnknown_20399E0 - ldr r0, [r0] - lsls r1, r2, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 3 - adds r0, r1 - ldr r2, [r0] - adds r2, 0x3E - movs r0, 0x1 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_080C2338: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C2340: .4byte gUnknown_20399E0 - thumb_func_end sub_80C22C4 - - thumb_func_start sub_80C2344 -sub_80C2344: @ 80C2344 - push {lr} - ldr r0, _080C2360 @ =gUnknown_20399E0 - ldr r0, [r0] - ldr r1, _080C2364 @ =0x00000ccd - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x8 - bls _080C2356 - b _080C249C -_080C2356: - lsls r0, 2 - ldr r1, _080C2368 @ =_080C236C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C2360: .4byte gUnknown_20399E0 -_080C2364: .4byte 0x00000ccd -_080C2368: .4byte _080C236C - .align 2, 0 -_080C236C: - .4byte _080C2390 - .4byte _080C23B0 - .4byte _080C23D0 - .4byte _080C23F0 - .4byte _080C2410 - .4byte _080C2430 - .4byte _080C2450 - .4byte _080C2468 - .4byte _080C2484 -_080C2390: - ldr r0, _080C23A8 @ =gUnknown_83F12CC - ldr r1, _080C23AC @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r1, [r1] - bl LZ77UnCompWram - movs r0, 0 - movs r1, 0x4 - movs r2, 0x4 - bl sub_80C210C - b _080C24A0 - .align 2, 0 -_080C23A8: .4byte gUnknown_83F12CC -_080C23AC: .4byte gUnknown_20399E0 -_080C23B0: - ldr r0, _080C23C8 @ =gUnknown_83F1550 - ldr r1, _080C23CC @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r1, [r1, 0x4] - bl LZ77UnCompWram - movs r0, 0x1 - movs r1, 0x5 - movs r2, 0x5 - bl sub_80C210C - b _080C24A0 - .align 2, 0 -_080C23C8: .4byte gUnknown_83F1550 -_080C23CC: .4byte gUnknown_20399E0 -_080C23D0: - ldr r0, _080C23E8 @ =gUnknown_83F1738 - ldr r1, _080C23EC @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r1, [r1, 0x8] - bl LZ77UnCompWram - movs r0, 0x2 - movs r1, 0x6 - movs r2, 0x6 - bl sub_80C210C - b _080C24A0 - .align 2, 0 -_080C23E8: .4byte gUnknown_83F1738 -_080C23EC: .4byte gUnknown_20399E0 -_080C23F0: - ldr r0, _080C2408 @ =gUnknown_83F13EC - ldr r1, _080C240C @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r1, [r1, 0xC] - bl LZ77UnCompWram - movs r0, 0x3 - movs r1, 0x7 - movs r2, 0x7 - bl sub_80C210C - b _080C24A0 - .align 2, 0 -_080C2408: .4byte gUnknown_83F13EC -_080C240C: .4byte gUnknown_20399E0 -_080C2410: - ldr r0, _080C2428 @ =gUnknown_83F1640 - ldr r1, _080C242C @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r1, [r1, 0x10] - bl LZ77UnCompWram - movs r0, 0x4 - movs r1, 0x8 - movs r2, 0x8 - bl sub_80C210C - b _080C24A0 - .align 2, 0 -_080C2428: .4byte gUnknown_83F1640 -_080C242C: .4byte gUnknown_20399E0 -_080C2430: - ldr r0, _080C2448 @ =gUnknown_83F1804 - ldr r1, _080C244C @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r1, [r1, 0x14] - bl LZ77UnCompWram - movs r0, 0x5 - movs r1, 0x9 - movs r2, 0x9 - bl sub_80C210C - b _080C24A0 - .align 2, 0 -_080C2448: .4byte gUnknown_83F1804 -_080C244C: .4byte gUnknown_20399E0 -_080C2450: - ldr r0, _080C2460 @ =gUnknown_83F0330 - ldr r1, _080C2464 @ =gUnknown_20399E0 - ldr r1, [r1] - adds r1, 0x18 - bl LZ77UnCompWram - b _080C24A0 - .align 2, 0 -_080C2460: .4byte gUnknown_83F0330 -_080C2464: .4byte gUnknown_20399E0 -_080C2468: - ldr r0, _080C2478 @ =gUnknown_83F0E0C - ldr r1, _080C247C @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r2, _080C2480 @ =0x00000818 - adds r1, r2 - bl LZ77UnCompWram - b _080C24A0 - .align 2, 0 -_080C2478: .4byte gUnknown_83F0E0C -_080C247C: .4byte gUnknown_20399E0 -_080C2480: .4byte 0x00000818 -_080C2484: - ldr r0, _080C2498 @ =gUnknown_20399E0 - ldr r1, [r0] - adds r1, 0x18 - movs r2, 0x80 - lsls r2, 4 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTiles - b _080C24A0 - .align 2, 0 -_080C2498: .4byte gUnknown_20399E0 -_080C249C: - movs r0, 0x1 - b _080C24B0 -_080C24A0: - ldr r0, _080C24B4 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C24B8 @ =0x00000ccd - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_080C24B0: - pop {r1} - bx r1 - .align 2, 0 -_080C24B4: .4byte gUnknown_20399E0 -_080C24B8: .4byte 0x00000ccd - thumb_func_end sub_80C2344 - - thumb_func_start sub_80C24BC -sub_80C24BC: @ 80C24BC - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _080C252C @ =gUnknown_20399E0 - ldr r3, [r0] - ldr r0, [r3] - ldr r2, _080C2530 @ =0x00000404 - adds r0, r2 - ldrh r0, [r0] - adds r0, 0x8 - lsls r0, 16 - ldr r4, _080C2534 @ =0xffff0000 - ldr r5, _080C2538 @ =0x0000ffff - lsrs r0, 16 - movs r1, 0x80 - lsls r1, 13 - orrs r0, r1 - str r0, [sp] - ldr r0, [r3, 0xC] - adds r0, r2 - ldrh r1, [r0] - subs r1, 0x8 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x4] - ands r0, r4 - orrs r0, r1 - ands r0, r5 - movs r1, 0xA0 - lsls r1, 16 - orrs r0, r1 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - bl sub_80C4C2C - movs r0, 0x12 - movs r1, 0 - bl sub_80C4C74 - movs r0, 0x10 - bl sub_80C4C88 - movs r0, 0 - mov r1, sp - bl sub_80C4CF0 - movs r0, 0 - movs r1, 0 - bl sub_80C4C9C - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C252C: .4byte gUnknown_20399E0 -_080C2530: .4byte 0x00000404 -_080C2534: .4byte 0xffff0000 -_080C2538: .4byte 0x0000ffff - thumb_func_end sub_80C24BC - - thumb_func_start sub_80C253C -sub_80C253C: @ 80C253C - push {lr} - sub sp, 0x8 - ldr r0, _080C258C @ =gUnknown_83F1C34 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - bl sub_80C4BE4 - movs r0, 0x2 - movs r1, 0x29 - movs r2, 0x80 - bl sub_80C4C2C - ldr r0, _080C2590 @ =gUnknown_20399E0 - ldr r0, [r0] - movs r1, 0xCD - lsls r1, 4 - adds r0, r1 - ldrb r0, [r0] - bl sub_80C4C48 - movs r0, 0x37 - movs r1, 0 - bl sub_80C4C74 - movs r0, 0x12 - bl sub_80C4C88 - movs r0, 0 - mov r1, sp - bl sub_80C4CF0 - movs r0, 0 - movs r1, 0 - bl sub_80C4C9C - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080C258C: .4byte gUnknown_83F1C34 -_080C2590: .4byte gUnknown_20399E0 - thumb_func_end sub_80C253C - - thumb_func_start sub_80C2594 -sub_80C2594: @ 80C2594 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C25B0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080C25B4 @ =gUnknown_20399E0 - ldr r0, [r0] - ldr r2, _080C25B8 @ =0x00000cc8 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - bx lr - .align 2, 0 -_080C25B0: .4byte gTasks -_080C25B4: .4byte gUnknown_20399E0 -_080C25B8: .4byte 0x00000cc8 - thumb_func_end sub_80C2594 - - thumb_func_start sub_80C25BC -sub_80C25BC: @ 80C25BC - push {r4-r6,lr} - bl sub_80C2604 - movs r5, 0 - ldr r6, _080C2600 @ =gUnknown_20399E0 -_080C25C6: - ldr r0, [r6] - lsls r4, r5, 2 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080C25DE - bl Free - ldr r0, [r6] - adds r0, r4 - movs r1, 0 - str r1, [r0] -_080C25DE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080C25C6 - ldr r4, _080C2600 @ =gUnknown_20399E0 - ldr r0, [r4] - cmp r0, 0 - beq _080C25F8 - bl Free - movs r0, 0 - str r0, [r4] -_080C25F8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C2600: .4byte gUnknown_20399E0 - thumb_func_end sub_80C25BC - - thumb_func_start sub_80C2604 -sub_80C2604: @ 80C2604 - push {r4-r7,lr} - movs r5, 0 - ldr r7, _080C2670 @ =gUnknown_20399E0 - movs r6, 0x80 - lsls r6, 3 -_080C260E: - ldr r2, [r7] - lsls r4, r5, 2 - adds r2, r4 - ldr r1, [r2] - adds r0, r1, r6 - ldr r0, [r0] - ldrh r0, [r0, 0x20] - ldr r3, _080C2674 @ =0x00000404 - adds r1, r3 - strh r0, [r1] - ldr r1, [r2] - adds r0, r1, r6 - ldr r0, [r0] - ldrh r0, [r0, 0x22] - adds r3, 0x2 - adds r1, r3 - strh r0, [r1] - ldr r0, [r2] - adds r0, r6 - ldr r0, [r0] - cmp r0, 0 - beq _080C2660 - bl DestroySprite - ldr r0, [r7] - adds r0, r4 - ldr r0, [r0] - movs r1, 0x81 - lsls r1, 3 - adds r0, r1 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r7] - adds r0, r4 - ldr r0, [r0] - ldr r3, _080C2678 @ =0x0000040a - adds r0, r3 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080C2660: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080C260E - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C2670: .4byte gUnknown_20399E0 -_080C2674: .4byte 0x00000404 -_080C2678: .4byte 0x0000040a - thumb_func_end sub_80C2604 - - thumb_func_start sub_80C267C -sub_80C267C: @ 80C267C - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080C26A0 @ =gUnknown_20399E0 - ldr r0, [r1] - ldr r2, _080C26A4 @ =0x00000ccc - adds r0, r2 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0xD - bls _080C2696 - b _080C2990 -_080C2696: - lsls r0, 2 - ldr r1, _080C26A8 @ =_080C26AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C26A0: .4byte gUnknown_20399E0 -_080C26A4: .4byte 0x00000ccc -_080C26A8: .4byte _080C26AC - .align 2, 0 -_080C26AC: - .4byte _080C26E4 - .4byte _080C26FC - .4byte _080C270C - .4byte _080C272C - .4byte _080C2768 - .4byte _080C2788 - .4byte _080C27B4 - .4byte _080C27C4 - .4byte _080C27E4 - .4byte _080C281E - .4byte _080C2868 - .4byte _080C28A4 - .4byte _080C2928 - .4byte _080C296C -_080C26E4: - bl sub_80C08E0 - ldr r0, _080C26F4 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C26F8 @ =0x00000ccc - adds r1, r0 - b _080C297E - .align 2, 0 -_080C26F4: .4byte gUnknown_20399E0 -_080C26F8: .4byte 0x00000ccc -_080C26FC: - bl sub_80C2344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080C270A - b _080C299A -_080C270A: - b _080C2976 -_080C270C: - ldr r1, [r4] - ldr r0, _080C2728 @ =0x00000818 - adds r1, r0 - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect - ldr r1, [r4] - b _080C297A - .align 2, 0 -_080C2728: .4byte 0x00000818 -_080C272C: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - bl sub_80C08F4 - ldr r0, _080C2760 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2764 @ =0x00000ccc - adds r1, r0 - b _080C297E - .align 2, 0 -_080C2760: .4byte gUnknown_20399E0 -_080C2764: .4byte 0x00000ccc -_080C2768: - movs r0, 0 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x6 - movs r1, 0 - bl sub_80C22C4 - bl sub_80C2B48 - b _080C2976 -_080C2788: - ldr r0, _080C27AC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C2796 - b _080C299A -_080C2796: - ldr r1, [r4] - ldr r0, _080C27B0 @ =0x00000ccc - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0xF4 - bl PlaySE - b _080C299A - .align 2, 0 -_080C27AC: .4byte gPaletteFade -_080C27B0: .4byte 0x00000ccc -_080C27B4: - bl sub_80C29A4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080C27C2 - b _080C299A -_080C27C2: - b _080C2976 -_080C27C4: - movs r0, 0 - bl sub_80C4324 - movs r0, 0 - bl sub_80C3154 - ldr r0, _080C27DC @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C27E0 @ =0x00000ccc - adds r1, r0 - b _080C297E - .align 2, 0 -_080C27DC: .4byte gUnknown_20399E0 -_080C27E0: .4byte 0x00000ccc -_080C27E4: - ldr r0, [r4] - movs r1, 0xCD - lsls r1, 4 - adds r0, r1 - movs r1, 0xF - strb r1, [r0] - bl sub_80C253C - movs r0, 0 - bl sub_80C0A88 - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0 - bl sub_80C48BC - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0 - bl sub_80C4960 - ldr r1, [r4] - b _080C297A -_080C281E: - ldr r0, _080C283C @ =gUnknown_8418EB5 - bl sub_80C4E18 - movs r0, 0x1 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080C2844 - ldr r0, _080C2840 @ =gUnknown_8418E8B - bl sub_80C4E74 - b _080C284A - .align 2, 0 -_080C283C: .4byte gUnknown_8418EB5 -_080C2840: .4byte gUnknown_8418E8B -_080C2844: - ldr r0, _080C285C @ =gUnknown_8418E8D - bl sub_80C4E74 -_080C284A: - movs r0, 0 - bl sub_80C4ED0 - ldr r0, _080C2860 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2864 @ =0x00000ccc - adds r1, r0 - b _080C297E - .align 2, 0 -_080C285C: .4byte gUnknown_8418E8D -_080C2860: .4byte gUnknown_20399E0 -_080C2864: .4byte 0x00000ccc -_080C2868: - ldr r4, _080C28A0 @ =gUnknown_83EF23C + 0x1E - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x20 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x30 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x40 - movs r2, 0x2 - bl LoadPalette - b _080C2976 - .align 2, 0 -_080C28A0: .4byte gUnknown_83EF23C + 0x1E -_080C28A4: - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - movs r5, 0x2 - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x1 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - movs r3, 0x1 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x3E - movs r2, 0x1C - movs r3, 0x1 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x3F - movs r2, 0x1D - movs r3, 0x1 - bl FillBgTilemapBufferRect - movs r0, 0x1A - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x3D - movs r2, 0x2 - movs r3, 0x1 - bl FillBgTilemapBufferRect - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0xF4 - bl m4aSongNumStop - movs r0, 0x2A - bl PlaySE - ldr r0, _080C2920 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2924 @ =0x00000ccc - adds r1, r0 - b _080C297E - .align 2, 0 -_080C2920: .4byte gUnknown_20399E0 -_080C2924: .4byte 0x00000ccc -_080C2928: - ldr r0, [r4] - movs r2, 0xCD - lsls r2, 4 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0x2 - bne _080C2958 - movs r0, 0x6 - movs r1, 0x1 - bl sub_80C22C4 - ldr r1, [r4] - ldr r0, _080C2954 @ =0x00000ccc - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - bl sub_80C4C48 - b _080C299A - .align 2, 0 -_080C2954: .4byte 0x00000ccc -_080C2958: - subs r0, 0x1 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0xCD - lsls r1, 4 - adds r0, r1 - ldrb r0, [r0] - bl sub_80C4C48 - b _080C299A -_080C296C: - movs r0, 0 - bl sub_80C4B30 - bl sub_80C0BB0 -_080C2976: - ldr r0, _080C2988 @ =gUnknown_20399E0 - ldr r1, [r0] -_080C297A: - ldr r2, _080C298C @ =0x00000ccc - adds r1, r2 -_080C297E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C299A - .align 2, 0 -_080C2988: .4byte gUnknown_20399E0 -_080C298C: .4byte 0x00000ccc -_080C2990: - bl sub_80C2604 - adds r0, r5, 0 - bl sub_80C2594 -_080C299A: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C267C - - thumb_func_start sub_80C29A4 -sub_80C29A4: @ 80C29A4 - push {r4,r5,lr} - bl sub_80C2B48 - ldr r0, _080C29C8 @ =gUnknown_20399E0 - ldr r2, [r0] - ldr r0, [r2] - movs r4, 0x80 - lsls r4, 3 - adds r0, r4 - ldr r1, [r0] - ldrh r3, [r1, 0x20] - movs r5, 0x20 - ldrsh r0, [r1, r5] - cmp r0, 0 - bne _080C29CC - movs r0, 0x1 - b _080C2B3A - .align 2, 0 -_080C29C8: .4byte gUnknown_20399E0 -_080C29CC: - ldr r5, _080C2A18 @ =0x00000cce - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, 0x11 - bls _080C2A1C - subs r0, r3, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - b _080C2B28 - .align 2, 0 -_080C2A18: .4byte 0x00000cce -_080C2A1C: - cmp r0, 0xE - bls _080C2A60 - subs r0, r3, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x2 - b _080C2B28 -_080C2A60: - cmp r0, 0xA - bls _080C2AA4 - subs r0, r3, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x3 - b _080C2B28 -_080C2AA4: - cmp r0, 0x6 - bls _080C2AE8 - subs r0, r3, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x5 - b _080C2B28 -_080C2AE8: - adds r0, r3, 0 - subs r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x8 -_080C2B28: - strh r0, [r1, 0x20] - ldr r0, _080C2B40 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2B44 @ =0x00000cce - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_080C2B3A: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080C2B40: .4byte gUnknown_20399E0 -_080C2B44: .4byte 0x00000cce - thumb_func_end sub_80C29A4 - - thumb_func_start sub_80C2B48 -sub_80C2B48: @ 80C2B48 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _080C2B90 @ =gUnknown_20399E0 - ldr r3, [r0] - ldr r0, [r3] - movs r2, 0x80 - lsls r2, 3 - adds r0, r2 - ldr r0, [r0] - ldr r4, _080C2B94 @ =0xffff0000 - ldr r5, _080C2B98 @ =0x0000ffff - ldrh r0, [r0, 0x20] - movs r1, 0x80 - lsls r1, 13 - orrs r0, r1 - str r0, [sp] - ldr r0, [r3, 0xC] - adds r0, r2 - ldr r0, [r0] - ldrh r1, [r0, 0x20] - ldr r0, [sp, 0x4] - ands r0, r4 - orrs r0, r1 - ands r0, r5 - movs r1, 0xA0 - lsls r1, 16 - orrs r0, r1 - str r0, [sp, 0x4] - movs r0, 0 - mov r1, sp - bl sub_80C4CF0 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C2B90: .4byte gUnknown_20399E0 -_080C2B94: .4byte 0xffff0000 -_080C2B98: .4byte 0x0000ffff - thumb_func_end sub_80C2B48 - - thumb_func_start sub_80C2B9C -sub_80C2B9C: @ 80C2B9C - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _080C2C0C @ =gUnknown_20399E0 - ldr r3, [r0] - ldr r0, [r3] - ldr r2, _080C2C10 @ =0x00000404 - adds r0, r2 - ldrh r0, [r0] - adds r0, 0x10 - lsls r0, 16 - ldr r4, _080C2C14 @ =0xffff0000 - ldr r5, _080C2C18 @ =0x0000ffff - lsrs r0, 16 - movs r1, 0x80 - lsls r1, 13 - orrs r0, r1 - str r0, [sp] - ldr r0, [r3, 0xC] - adds r0, r2 - ldrh r1, [r0] - subs r1, 0x10 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x4] - ands r0, r4 - orrs r0, r1 - ands r0, r5 - movs r1, 0xA0 - lsls r1, 16 - orrs r0, r1 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - bl sub_80C4C2C - movs r0, 0x12 - movs r1, 0 - bl sub_80C4C74 - movs r0, 0x10 - bl sub_80C4C88 - movs r0, 0 - mov r1, sp - bl sub_80C4CF0 - movs r0, 0 - movs r1, 0 - bl sub_80C4C9C - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C2C0C: .4byte gUnknown_20399E0 -_080C2C10: .4byte 0x00000404 -_080C2C14: .4byte 0xffff0000 -_080C2C18: .4byte 0x0000ffff - thumb_func_end sub_80C2B9C - - thumb_func_start sub_80C2C1C -sub_80C2C1C: @ 80C2C1C - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C2C30 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080C2C34 @ =sub_80C2C7C - str r0, [r1] - bx lr - .align 2, 0 -_080C2C30: .4byte gTasks -_080C2C34: .4byte sub_80C2C7C - thumb_func_end sub_80C2C1C - - thumb_func_start sub_80C2C38 -sub_80C2C38: @ 80C2C38 - push {lr} - movs r0, 0 - movs r1, 0x4 - movs r2, 0x4 - bl sub_80C210C - movs r0, 0x1 - movs r1, 0x5 - movs r2, 0x5 - bl sub_80C210C - movs r0, 0x2 - movs r1, 0x6 - movs r2, 0x6 - bl sub_80C210C - movs r0, 0x3 - movs r1, 0x7 - movs r2, 0x7 - bl sub_80C210C - movs r0, 0x4 - movs r1, 0x8 - movs r2, 0x8 - bl sub_80C210C - movs r0, 0x5 - movs r1, 0x9 - movs r2, 0x9 - bl sub_80C210C - pop {r0} - bx r0 - thumb_func_end sub_80C2C38 - - thumb_func_start sub_80C2C7C -sub_80C2C7C: @ 80C2C7C - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080C2CA0 @ =gUnknown_20399E0 - ldr r3, [r1] - ldr r4, _080C2CA4 @ =0x00000ccf - adds r0, r3, r4 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x7 - bls _080C2C94 - b _080C2DFC -_080C2C94: - lsls r0, 2 - ldr r1, _080C2CA8 @ =_080C2CAC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C2CA0: .4byte gUnknown_20399E0 -_080C2CA4: .4byte 0x00000ccf -_080C2CA8: .4byte _080C2CAC - .align 2, 0 -_080C2CAC: - .4byte _080C2CCC - .4byte _080C2CF4 - .4byte _080C2CFA - .4byte _080C2D1C - .4byte _080C2D6C - .4byte _080C2D84 - .4byte _080C2DB8 - .4byte _080C2DD8 -_080C2CCC: - movs r0, 0x1 - bl sub_80C4ED0 - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x4 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _080C2CEC @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2CF0 @ =0x00000ccf - adds r1, r0 - b _080C2DEC - .align 2, 0 -_080C2CEC: .4byte gUnknown_20399E0 -_080C2CF0: .4byte 0x00000ccf -_080C2CF4: - bl sub_80C2C38 - b _080C2DE4 -_080C2CFA: - ldr r0, _080C2D10 @ =gUnknown_83EF2DC - movs r1, 0 - movs r2, 0xA0 - bl LoadPalette - ldr r0, _080C2D14 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r3, _080C2D18 @ =0x00000ccf - adds r1, r3 - b _080C2DEC - .align 2, 0 -_080C2D10: .4byte gUnknown_83EF2DC -_080C2D14: .4byte gUnknown_20399E0 -_080C2D18: .4byte 0x00000ccf -_080C2D1C: - movs r0, 0x6 - movs r1, 0 - bl sub_80C22C4 - movs r0, 0x1 - bl sub_80C4324 - movs r0, 0x1 - bl sub_80C3154 - movs r0, 0xFF - movs r1, 0x19 - movs r2, 0x1 - bl sub_80C4960 - movs r0, 0xFF - movs r1, 0x19 - movs r2, 0x1 - bl sub_80C48BC - ldr r1, _080C2D64 @ =gUnknown_20399E0 - ldr r0, [r1] - ldr r4, _080C2D68 @ =0x00000cce - adds r0, r4 - movs r2, 0 - strb r2, [r0] - ldr r0, [r1] - movs r3, 0xCD - lsls r3, 4 - adds r0, r3 - strb r2, [r0] - ldr r1, [r1] - adds r4, 0x1 - adds r1, r4 - b _080C2DEC - .align 2, 0 -_080C2D64: .4byte gUnknown_20399E0 -_080C2D68: .4byte 0x00000cce -_080C2D6C: - bl sub_80C253C - ldr r0, _080C2D7C @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2D80 @ =0x00000ccf - adds r1, r0 - b _080C2DEC - .align 2, 0 -_080C2D7C: .4byte gUnknown_20399E0 -_080C2D80: .4byte 0x00000ccf -_080C2D84: - ldr r0, [r4] - movs r2, 0xCD - lsls r2, 4 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xF - bne _080C2DA4 - ldrb r0, [r1] - bl sub_80C4C48 - ldr r1, [r4] - ldr r3, _080C2DA0 @ =0x00000ccf - adds r1, r3 - b _080C2DEC - .align 2, 0 -_080C2DA0: .4byte 0x00000ccf -_080C2DA4: - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r4] - movs r4, 0xCD - lsls r4, 4 - adds r0, r4 - ldrb r0, [r0] - bl sub_80C4C48 - b _080C2E0E -_080C2DB8: - bl sub_80C2B9C - bl sub_80C2B48 - movs r0, 0xF3 - bl PlaySE - ldr r0, _080C2DD0 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2DD4 @ =0x00000ccf - adds r1, r0 - b _080C2DEC - .align 2, 0 -_080C2DD0: .4byte gUnknown_20399E0 -_080C2DD4: .4byte 0x00000ccf -_080C2DD8: - bl sub_80C2E1C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C2E0E -_080C2DE4: - ldr r0, _080C2DF4 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r2, _080C2DF8 @ =0x00000ccf - adds r1, r2 -_080C2DEC: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C2E0E - .align 2, 0 -_080C2DF4: .4byte gUnknown_20399E0 -_080C2DF8: .4byte 0x00000ccf -_080C2DFC: - ldr r1, _080C2E14 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldr r4, _080C2E18 @ =0x00000cc8 - adds r1, r3, r4 - ldr r1, [r1] - str r1, [r0] -_080C2E0E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C2E14: .4byte gTasks -_080C2E18: .4byte 0x00000cc8 - thumb_func_end sub_80C2C7C - - thumb_func_start sub_80C2E1C -sub_80C2E1C: @ 80C2E1C - push {r4,r5,lr} - bl sub_80C2B48 - ldr r0, _080C2E40 @ =gUnknown_20399E0 - ldr r2, [r0] - ldr r0, [r2] - movs r4, 0x80 - lsls r4, 3 - adds r0, r4 - ldr r1, [r0] - ldrh r3, [r1, 0x20] - movs r5, 0x20 - ldrsh r0, [r1, r5] - cmp r0, 0x68 - bne _080C2E44 - movs r0, 0x1 - b _080C2FB2 - .align 2, 0 -_080C2E40: .4byte gUnknown_20399E0 -_080C2E44: - ldr r5, _080C2E90 @ =0x00000cce - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, 0x11 - bls _080C2E94 - adds r0, r3, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x1 - b _080C2FA0 - .align 2, 0 -_080C2E90: .4byte 0x00000cce -_080C2E94: - cmp r0, 0xE - bls _080C2ED8 - adds r0, r3, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x2 - b _080C2FA0 -_080C2ED8: - cmp r0, 0xA - bls _080C2F1C - adds r0, r3, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x3 - b _080C2FA0 -_080C2F1C: - cmp r0, 0x6 - bls _080C2F60 - adds r0, r3, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x5 - b _080C2FA0 -_080C2F60: - adds r0, r3, 0 - adds r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x8 -_080C2FA0: - strh r0, [r1, 0x20] - ldr r0, _080C2FB8 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2FBC @ =0x00000cce - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_080C2FB2: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080C2FB8: .4byte gUnknown_20399E0 -_080C2FBC: .4byte 0x00000cce - thumb_func_end sub_80C2E1C - - thumb_func_start sub_80C2FC0 -sub_80C2FC0: @ 80C2FC0 - push {lr} - adds r1, r0, 0 - ldr r0, _080C2FE8 @ =gUnknown_20399E4 - ldr r2, [r0] - ldrh r0, [r2, 0xC] - cmp r0, 0 - beq _080C2FEC - ldrh r0, [r2, 0x8] - ldrh r3, [r1, 0x20] - adds r0, r3 - strh r0, [r1, 0x20] - ldrh r0, [r2, 0xA] - ldrh r3, [r1, 0x22] - adds r0, r3 - strh r0, [r1, 0x22] - ldrh r0, [r2, 0xC] - subs r0, 0x1 - strh r0, [r2, 0xC] - b _080C3004 - .align 2, 0 -_080C2FE8: .4byte gUnknown_20399E4 -_080C2FEC: - ldr r1, [r2, 0x1C] - movs r3, 0 - ldrsh r0, [r2, r3] - lsls r0, 3 - adds r0, 0x24 - strh r0, [r1, 0x20] - ldr r1, [r2, 0x1C] - movs r3, 0x2 - ldrsh r0, [r2, r3] - lsls r0, 3 - adds r0, 0x24 - strh r0, [r1, 0x22] -_080C3004: - pop {r0} - bx r0 - thumb_func_end sub_80C2FC0 - - thumb_func_start sub_80C3008 -sub_80C3008: @ 80C3008 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r6, _080C3090 @ =gUnknown_20399E4 - movs r0, 0x92 - lsls r0, 1 - bl AllocZeroed - adds r1, r0, 0 - str r1, [r6] - ldr r0, _080C3094 @ =gUnknown_83EF4E0 - adds r1, 0x24 - bl LZ77UnCompWram - ldr r0, [r6] - strh r4, [r0, 0x20] - strh r5, [r0, 0x22] - bl sub_80C3D40 - ldr r1, [r6] - movs r2, 0 - ldrsh r0, [r1, r2] - lsls r0, 3 - adds r0, 0x24 - strh r0, [r1, 0x4] - movs r3, 0x2 - ldrsh r0, [r1, r3] - lsls r0, 3 - adds r0, 0x24 - strh r0, [r1, 0x6] - ldr r0, _080C3098 @ =sub_80C31C0 - str r0, [r1, 0x10] - ldrb r0, [r1, 0x14] - bl sub_80C35DC - ldr r1, [r6] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x16] - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r6] - movs r4, 0x2 - ldrsh r2, [r1, r4] - movs r4, 0 - ldrsh r3, [r1, r4] - movs r1, 0x1 - bl sub_80C4164 - lsls r0, 24 - lsrs r0, 24 - bl sub_80C3878 - ldr r1, [r6] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x18] - bl sub_80C309C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C3090: .4byte gUnknown_20399E4 -_080C3094: .4byte gUnknown_83EF4E0 -_080C3098: .4byte sub_80C31C0 - thumb_func_end sub_80C3008 - - thumb_func_start sub_80C309C -sub_80C309C: @ 80C309C - push {r4-r6,lr} - sub sp, 0x40 - ldr r6, _080C3134 @ =gUnknown_20399E4 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x24 - str r0, [sp, 0x30] - movs r1, 0x80 - lsls r1, 1 - add r5, sp, 0x30 - str r1, [r5, 0x4] - ldrh r0, [r2, 0x20] - lsls r0, 16 - orrs r0, r1 - str r0, [r5, 0x4] - ldr r0, _080C3138 @ =gUnknown_83EF25C - str r0, [sp, 0x38] - ldrh r3, [r2, 0x22] - ldr r1, _080C313C @ =0xffff0000 - add r4, sp, 0x38 - ldr r0, [r4, 0x4] - ands r0, r1 - orrs r0, r3 - str r0, [r4, 0x4] - ldrh r0, [r2, 0x20] - add r1, sp, 0x18 - movs r3, 0 - strh r0, [r1] - ldrh r2, [r2, 0x22] - mov r0, sp - adds r0, 0x1A - strh r2, [r0] - ldr r0, _080C3140 @ =gUnknown_83F1C3C - str r0, [sp, 0x1C] - ldr r0, _080C3144 @ =gUnknown_83F1C50 - str r0, [sp, 0x20] - str r3, [sp, 0x24] - ldr r0, _080C3148 @ =gDummySpriteAffineAnimTable - str r0, [sp, 0x28] - ldr r0, _080C314C @ =sub_80C2FC0 - str r0, [sp, 0x2C] - mov r0, sp - movs r2, 0x18 - bl memcpy - adds r0, r5, 0 - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - ldr r0, [r6] - movs r2, 0x4 - ldrsh r1, [r0, r2] - movs r3, 0x6 - ldrsh r2, [r0, r3] - mov r0, sp - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080C3150 @ =gSprites - adds r1, r0 - str r1, [r2, 0x1C] - movs r0, 0x1 - bl sub_80C3154 - add sp, 0x40 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C3134: .4byte gUnknown_20399E4 -_080C3138: .4byte gUnknown_83EF25C -_080C313C: .4byte 0xffff0000 -_080C3140: .4byte gUnknown_83F1C3C -_080C3144: .4byte gUnknown_83F1C50 -_080C3148: .4byte gDummySpriteAffineAnimTable -_080C314C: .4byte sub_80C2FC0 -_080C3150: .4byte gSprites - thumb_func_end sub_80C309C - - thumb_func_start sub_80C3154 -sub_80C3154: @ 80C3154 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C3174 @ =gUnknown_20399E4 - ldr r1, [r1] - ldr r2, [r1, 0x1C] - adds r2, 0x3E - movs r1, 0x1 - ands r0, r1 - lsls r0, 2 - ldrb r3, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - orrs r1, r0 - strb r1, [r2] - bx lr - .align 2, 0 -_080C3174: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3154 - - thumb_func_start sub_80C3178 -sub_80C3178: @ 80C3178 - ldr r0, _080C3184 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0xE] - bx lr - .align 2, 0 -_080C3184: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3178 - - thumb_func_start sub_80C3188 -sub_80C3188: @ 80C3188 - push {r4,lr} - ldr r4, _080C31BC @ =gUnknown_20399E4 - ldr r0, [r4] - ldr r0, [r0, 0x1C] - cmp r0, 0 - beq _080C31A8 - bl DestroySprite - ldr r0, [r4] - ldrh r0, [r0, 0x20] - bl FreeSpriteTilesByTag - ldr r0, [r4] - ldrh r0, [r0, 0x22] - bl FreeSpritePaletteByTag -_080C31A8: - ldr r0, [r4] - cmp r0, 0 - beq _080C31B6 - bl Free - movs r0, 0 - str r0, [r4] -_080C31B6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C31BC: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3188 - - thumb_func_start sub_80C31C0 -sub_80C31C0: @ 80C31C0 - push {r4-r6,lr} - movs r5, 0 - ldr r3, _080C3278 @ =gUnknown_20399E4 - ldr r4, [r3] - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - ldr r2, _080C327C @ =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x40 - ands r0, r1 - adds r6, r3, 0 - cmp r0, 0 - beq _080C31E8 - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0 - ble _080C31E8 - ldr r0, _080C3280 @ =0x0000fffe - strh r0, [r4, 0xA] - movs r5, 0x1 -_080C31E8: - ldrh r1, [r2, 0x2C] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C3202 - ldr r1, [r6] - movs r3, 0x2 - ldrsh r0, [r1, r3] - cmp r0, 0xD - bgt _080C3202 - movs r0, 0x2 - strh r0, [r1, 0xA] - movs r5, 0x1 -_080C3202: - ldrh r1, [r2, 0x2C] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080C321C - ldr r1, [r6] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0x14 - bgt _080C321C - movs r0, 0x2 - strh r0, [r1, 0x8] - movs r5, 0x1 -_080C321C: - ldrh r1, [r2, 0x2C] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080C3236 - ldr r1, [r6] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _080C3236 - ldr r0, _080C3280 @ =0x0000fffe - strh r0, [r1, 0x8] - movs r5, 0x1 -_080C3236: - ldrh r3, [r2, 0x2E] - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _080C328C - movs r5, 0x4 - ldr r0, [r6] - ldr r1, [r0] - ldr r0, _080C3284 @ =0x000d0015 - cmp r1, r0 - bne _080C3254 - movs r0, 0xF0 - bl PlaySE - movs r5, 0x6 -_080C3254: - ldr r0, [r6] - ldr r1, [r0] - ldr r0, _080C3288 @ =0x000b0015 - cmp r1, r0 - bne _080C331A - movs r0, 0 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C331A - movs r0, 0xF0 - bl PlaySE - movs r5, 0x5 - b _080C331A - .align 2, 0 -_080C3278: .4byte gUnknown_20399E4 -_080C327C: .4byte gMain -_080C3280: .4byte 0x0000fffe -_080C3284: .4byte 0x000d0015 -_080C3288: .4byte 0x000b0015 -_080C328C: - movs r0, 0x2 - ands r0, r3 - cmp r0, 0 - bne _080C3318 - ldrh r1, [r2, 0x30] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080C3300 - bl sub_80C3418 - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080C32FC @ =gUnknown_20399E4 - ldr r1, [r4] - movs r5, 0x2 - ldrsh r2, [r1, r5] - movs r5, 0 - ldrsh r3, [r1, r5] - movs r1, 0 - bl sub_80C4164 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x14] - bl sub_80C35DC - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x16] - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r5, 0 - ldrsh r3, [r1, r5] - movs r1, 0x1 - bl sub_80C4164 - lsls r0, 24 - lsrs r0, 24 - bl sub_80C3878 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x18] - movs r0, 0x3 - b _080C332C - .align 2, 0 -_080C32FC: .4byte gUnknown_20399E4 -_080C3300: - movs r0, 0x4 - ands r0, r3 - cmp r0, 0 - beq _080C331A - ldr r0, _080C3334 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C3338 @ =0x000047bc - adds r0, r1 - ldr r1, [r0] - ldr r0, _080C333C @ =CB2_ReturnToField - cmp r1, r0 - bne _080C331A -_080C3318: - movs r5, 0x6 -_080C331A: - cmp r5, 0x1 - bne _080C332A - ldr r0, _080C3340 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 - strh r0, [r1, 0xC] - ldr r0, _080C3344 @ =sub_80C3348 - str r0, [r1, 0x10] -_080C332A: - adds r0, r5, 0 -_080C332C: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080C3334: .4byte gUnknown_20399D4 -_080C3338: .4byte 0x000047bc -_080C333C: .4byte CB2_ReturnToField -_080C3340: .4byte gUnknown_20399E4 -_080C3344: .4byte sub_80C3348 - thumb_func_end sub_80C31C0 - - thumb_func_start sub_80C3348 -sub_80C3348: @ 80C3348 - push {r4,r5,lr} - ldr r4, _080C3358 @ =gUnknown_20399E4 - ldr r1, [r4] - ldrh r0, [r1, 0xC] - cmp r0, 0 - beq _080C335C - movs r0, 0x2 - b _080C33F4 - .align 2, 0 -_080C3358: .4byte gUnknown_20399E4 -_080C335C: - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - ble _080C336A - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080C336A: - ldr r1, [r4] - movs r3, 0x8 - ldrsh r0, [r1, r3] - cmp r0, 0 - bge _080C337A - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] -_080C337A: - ldr r1, [r4] - movs r5, 0xA - ldrsh r0, [r1, r5] - cmp r0, 0 - ble _080C338A - ldrh r0, [r1, 0x2] - adds r0, 0x1 - strh r0, [r1, 0x2] -_080C338A: - ldr r1, [r4] - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - bge _080C339A - ldrh r0, [r1, 0x2] - subs r0, 0x1 - strh r0, [r1, 0x2] -_080C339A: - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r5, 0 - ldrsh r3, [r1, r5] - movs r1, 0 - bl sub_80C4164 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x14] - bl sub_80C35DC - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x16] - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r5, 0 - ldrsh r3, [r1, r5] - movs r1, 0x1 - bl sub_80C4164 - lsls r0, 24 - lsrs r0, 24 - bl sub_80C3878 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x18] - ldr r0, _080C33FC @ =sub_80C31C0 - str r0, [r1, 0x10] - movs r0, 0x3 -_080C33F4: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080C33FC: .4byte sub_80C31C0 - thumb_func_end sub_80C3348 - - thumb_func_start sub_80C3400 -sub_80C3400: @ 80C3400 - push {lr} - ldr r0, _080C3414 @ =gUnknown_20399E4 - ldr r0, [r0] - ldr r0, [r0, 0x10] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080C3414: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3400 - - thumb_func_start sub_80C3418 -sub_80C3418: @ 80C3418 - push {r4,r5,lr} - movs r0, 0 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C3482 - ldr r5, _080C3474 @ =gUnknown_20399E4 - ldr r1, [r5] - ldrb r0, [r1, 0xE] - adds r0, 0x1 - strb r0, [r1, 0xE] - ldr r4, [r5] - ldrb r0, [r4, 0xE] - movs r1, 0x3 - bl __umodsi3 - strb r0, [r4, 0xE] - ldr r0, [r5] - ldrb r0, [r0, 0xE] - cmp r0, 0 - bne _080C3460 - bl sub_80C0E20 - adds r4, r0, 0 - bl sub_80C0E34 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _080C3460 - ldr r1, [r5] - ldrb r0, [r1, 0xE] - adds r0, 0x1 - strb r0, [r1, 0xE] -_080C3460: - ldr r4, _080C3474 @ =gUnknown_20399E4 - ldr r1, [r4] - ldrb r0, [r1, 0xE] - cmp r0, 0x1 - beq _080C3478 - cmp r0, 0x1 - ble _080C34A2 - cmp r0, 0x2 - beq _080C34B8 - b _080C34A2 - .align 2, 0 -_080C3474: .4byte gUnknown_20399E4 -_080C3478: - movs r0, 0x15 - strh r0, [r1] - movs r0, 0xB - strh r0, [r1, 0x2] - b _080C34C0 -_080C3482: - ldr r4, _080C34B4 @ =gUnknown_20399E4 - ldr r1, [r4] - ldrb r0, [r1, 0xE] - adds r0, 0x1 - strb r0, [r1, 0xE] - ldr r2, [r4] - ldrb r0, [r2, 0xE] - movs r1, 0x1 - ands r0, r1 - strb r0, [r2, 0xE] - ldr r1, [r4] - ldrb r0, [r1, 0xE] - cmp r0, 0 - beq _080C34A2 - cmp r0, 0x1 - beq _080C34B8 -_080C34A2: - bl sub_80C4380 - ldr r1, [r4] - strh r0, [r1] - bl sub_80C438C - ldr r1, [r4] - strh r0, [r1, 0x2] - b _080C34C0 - .align 2, 0 -_080C34B4: .4byte gUnknown_20399E4 -_080C34B8: - movs r0, 0xD - strh r0, [r1, 0x2] - movs r0, 0x15 - strh r0, [r1] -_080C34C0: - ldr r4, _080C3504 @ =gUnknown_20399E4 - ldr r1, [r4] - ldr r2, [r1, 0x1C] - movs r3, 0 - ldrsh r0, [r1, r3] - lsls r0, 3 - adds r0, 0x24 - strh r0, [r2, 0x20] - ldr r2, [r1, 0x1C] - movs r5, 0x2 - ldrsh r0, [r1, r5] - lsls r0, 3 - adds r0, 0x24 - strh r0, [r2, 0x22] - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r5, 0 - ldrsh r3, [r1, r5] - movs r1, 0 - bl sub_80C4164 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x14] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C3504: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3418 - - thumb_func_start sub_80C3508 -sub_80C3508: @ 80C3508 - ldr r0, _080C3510 @ =gUnknown_20399E4 - ldr r0, [r0] - ldrh r0, [r0] - bx lr - .align 2, 0 -_080C3510: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3508 - - thumb_func_start sub_80C3514 -sub_80C3514: @ 80C3514 - ldr r0, _080C351C @ =gUnknown_20399E4 - ldr r0, [r0] - ldrh r0, [r0, 0x2] - bx lr - .align 2, 0 -_080C351C: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3514 - - thumb_func_start sub_80C3520 -sub_80C3520: @ 80C3520 - push {r4,lr} - ldr r4, _080C353C @ =gUnknown_20399E4 - ldr r1, [r4] - ldrh r0, [r1, 0x2] - cmp r0, 0xE - bhi _080C3538 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - blt _080C3538 - cmp r0, 0x15 - ble _080C3540 -_080C3538: - movs r0, 0xC5 - b _080C3574 - .align 2, 0 -_080C353C: .4byte gUnknown_20399E4 -_080C3540: - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r4, 0 - ldrsh r3, [r1, r4] - movs r1, 0 - bl sub_80C4164 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xAE - beq _080C3564 - cmp r4, 0xBB - bne _080C3572 -_080C3564: - ldr r0, _080C357C @ =0x000008b5 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080C3572 - movs r4, 0xC5 -_080C3572: - adds r0, r4, 0 -_080C3574: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C357C: .4byte 0x000008b5 - thumb_func_end sub_80C3520 - - thumb_func_start sub_80C3580 -sub_80C3580: @ 80C3580 - push {r4,lr} - ldr r4, _080C359C @ =gUnknown_20399E4 - ldr r1, [r4] - ldrh r0, [r1, 0x2] - cmp r0, 0xE - bhi _080C3598 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - blt _080C3598 - cmp r0, 0x15 - ble _080C35A0 -_080C3598: - movs r0, 0xC5 - b _080C35D0 - .align 2, 0 -_080C359C: .4byte gUnknown_20399E4 -_080C35A0: - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r4, 0 - ldrsh r3, [r1, r4] - movs r1, 0x1 - bl sub_80C4164 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x8D - bne _080C35CE - ldr r0, _080C35D8 @ =0x00000844 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080C35CE - movs r4, 0xC5 -_080C35CE: - adds r0, r4, 0 -_080C35D0: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C35D8: .4byte 0x00000844 - thumb_func_end sub_80C3580 - - thumb_func_start sub_80C35DC -sub_80C35DC: @ 80C35DC - push {lr} - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x58 - cmp r0, 0x6D - bls _080C35EA - b _080C3870 -_080C35EA: - lsls r0, 2 - ldr r1, _080C35F4 @ =_080C35F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C35F4: .4byte _080C35F8 - .align 2, 0 -_080C35F8: - .4byte _080C37B0 - .4byte _080C37B6 - .4byte _080C37C0 - .4byte _080C37C8 - .4byte _080C37D0 - .4byte _080C37D8 - .4byte _080C37E0 - .4byte _080C37E8 - .4byte _080C37F0 - .4byte _080C37F8 - .4byte _080C3800 - .4byte _080C3840 - .4byte _080C3858 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3808 - .4byte _080C3810 - .4byte _080C3818 - .4byte _080C3820 - .4byte _080C3828 - .4byte _080C3830 - .4byte _080C3836 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C384C -_080C37B0: - movs r0, 0x89 - lsls r0, 4 - b _080C385A -_080C37B6: - ldr r0, _080C37BC @ =0x00000891 - b _080C385A - .align 2, 0 -_080C37BC: .4byte 0x00000891 -_080C37C0: - ldr r0, _080C37C4 @ =0x00000892 - b _080C385A - .align 2, 0 -_080C37C4: .4byte 0x00000892 -_080C37C8: - ldr r0, _080C37CC @ =0x00000893 - b _080C385A - .align 2, 0 -_080C37CC: .4byte 0x00000893 -_080C37D0: - ldr r0, _080C37D4 @ =0x00000894 - b _080C385A - .align 2, 0 -_080C37D4: .4byte 0x00000894 -_080C37D8: - ldr r0, _080C37DC @ =0x00000895 - b _080C385A - .align 2, 0 -_080C37DC: .4byte 0x00000895 -_080C37E0: - ldr r0, _080C37E4 @ =0x00000896 - b _080C385A - .align 2, 0 -_080C37E4: .4byte 0x00000896 -_080C37E8: - ldr r0, _080C37EC @ =0x00000897 - b _080C385A - .align 2, 0 -_080C37EC: .4byte 0x00000897 -_080C37F0: - ldr r0, _080C37F4 @ =0x00000898 - b _080C385A - .align 2, 0 -_080C37F4: .4byte 0x00000898 -_080C37F8: - ldr r0, _080C37FC @ =0x00000899 - b _080C385A - .align 2, 0 -_080C37FC: .4byte 0x00000899 -_080C3800: - ldr r0, _080C3804 @ =0x0000089a - b _080C385A - .align 2, 0 -_080C3804: .4byte 0x0000089a -_080C3808: - ldr r0, _080C380C @ =0x0000089b - b _080C385A - .align 2, 0 -_080C380C: .4byte 0x0000089b -_080C3810: - ldr r0, _080C3814 @ =0x0000089c - b _080C385A - .align 2, 0 -_080C3814: .4byte 0x0000089c -_080C3818: - ldr r0, _080C381C @ =0x0000089d - b _080C385A - .align 2, 0 -_080C381C: .4byte 0x0000089d -_080C3820: - ldr r0, _080C3824 @ =0x0000089e - b _080C385A - .align 2, 0 -_080C3824: .4byte 0x0000089e -_080C3828: - ldr r0, _080C382C @ =0x0000089f - b _080C385A - .align 2, 0 -_080C382C: .4byte 0x0000089f -_080C3830: - movs r0, 0x8A - lsls r0, 4 - b _080C385A -_080C3836: - ldr r0, _080C383C @ =0x000008a1 - b _080C385A - .align 2, 0 -_080C383C: .4byte 0x000008a1 -_080C3840: - movs r0, 0x3 - bl sub_80C0E04 - lsls r0, 24 - cmp r0, 0 - bne _080C3850 -_080C384C: - movs r0, 0 - b _080C3872 -_080C3850: - ldr r0, _080C3854 @ =0x000008a2 - b _080C385A - .align 2, 0 -_080C3854: .4byte 0x000008a2 -_080C3858: - ldr r0, _080C386C @ =0x000008a3 -_080C385A: - bl FlagGet - lsls r0, 24 - movs r1, 0x3 - cmp r0, 0 - beq _080C3868 - movs r1, 0x2 -_080C3868: - adds r0, r1, 0 - b _080C3872 - .align 2, 0 -_080C386C: .4byte 0x000008a3 -_080C3870: - movs r0, 0x1 -_080C3872: - pop {r1} - bx r1 - thumb_func_end sub_80C35DC - - thumb_func_start sub_80C3878 -sub_80C3878: @ 80C3878 - push {lr} - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x7E - cmp r0, 0x47 - bls _080C3886 - b _080C3AC0 -_080C3886: - lsls r0, 2 - ldr r1, _080C3890 @ =_080C3894 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C3890: .4byte _080C3894 - .align 2, 0 -_080C3894: - .4byte _080C39B8 - .4byte _080C39C0 - .4byte _080C39C8 - .4byte _080C39D0 - .4byte _080C39D8 - .4byte _080C39E0 - .4byte _080C39E8 - .4byte _080C39F0 - .4byte _080C39F8 - .4byte _080C3A00 - .4byte _080C3A08 - .4byte _080C3A10 - .4byte _080C3A18 - .4byte _080C3A1E - .4byte _080C3A28 - .4byte _080C3A30 - .4byte _080C3A38 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3A40 - .4byte _080C3A48 - .4byte _080C3A50 - .4byte _080C3A58 - .4byte _080C3A60 - .4byte _080C3A68 - .4byte _080C3A70 - .4byte _080C3A78 - .4byte _080C3A80 - .4byte _080C3A88 - .4byte _080C3A90 - .4byte _080C3A98 - .4byte _080C3A9E - .4byte _080C3AA8 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C39B4 -_080C39B4: - movs r0, 0 - b _080C3AC2 -_080C39B8: - ldr r0, _080C39BC @ =0x000008a4 - b _080C3AAA - .align 2, 0 -_080C39BC: .4byte 0x000008a4 -_080C39C0: - ldr r0, _080C39C4 @ =0x000008a5 - b _080C3AAA - .align 2, 0 -_080C39C4: .4byte 0x000008a5 -_080C39C8: - ldr r0, _080C39CC @ =0x000008a6 - b _080C3AAA - .align 2, 0 -_080C39CC: .4byte 0x000008a6 -_080C39D0: - ldr r0, _080C39D4 @ =0x000008a7 - b _080C3AAA - .align 2, 0 -_080C39D4: .4byte 0x000008a7 -_080C39D8: - ldr r0, _080C39DC @ =0x000008a8 - b _080C3AAA - .align 2, 0 -_080C39DC: .4byte 0x000008a8 -_080C39E0: - ldr r0, _080C39E4 @ =0x000008a9 - b _080C3AAA - .align 2, 0 -_080C39E4: .4byte 0x000008a9 -_080C39E8: - ldr r0, _080C39EC @ =0x000008aa - b _080C3AAA - .align 2, 0 -_080C39EC: .4byte 0x000008aa -_080C39F0: - ldr r0, _080C39F4 @ =0x000008ab - b _080C3AAA - .align 2, 0 -_080C39F4: .4byte 0x000008ab -_080C39F8: - ldr r0, _080C39FC @ =0x000008ac - b _080C3AAA - .align 2, 0 -_080C39FC: .4byte 0x000008ac -_080C3A00: - ldr r0, _080C3A04 @ =0x000008ad - b _080C3AAA - .align 2, 0 -_080C3A04: .4byte 0x000008ad -_080C3A08: - ldr r0, _080C3A0C @ =0x000008ae - b _080C3AAA - .align 2, 0 -_080C3A0C: .4byte 0x000008ae -_080C3A10: - ldr r0, _080C3A14 @ =0x000008af - b _080C3AAA - .align 2, 0 -_080C3A14: .4byte 0x000008af -_080C3A18: - movs r0, 0x8B - lsls r0, 4 - b _080C3AAA -_080C3A1E: - ldr r0, _080C3A24 @ =0x000008b1 - b _080C3AAA - .align 2, 0 -_080C3A24: .4byte 0x000008b1 -_080C3A28: - ldr r0, _080C3A2C @ =0x000008b2 - b _080C3AAA - .align 2, 0 -_080C3A2C: .4byte 0x000008b2 -_080C3A30: - ldr r0, _080C3A34 @ =0x000008b3 - b _080C3AAA - .align 2, 0 -_080C3A34: .4byte 0x000008b3 -_080C3A38: - ldr r0, _080C3A3C @ =0x000008b4 - b _080C3AAA - .align 2, 0 -_080C3A3C: .4byte 0x000008b4 -_080C3A40: - ldr r0, _080C3A44 @ =0x000008b5 - b _080C3AAA - .align 2, 0 -_080C3A44: .4byte 0x000008b5 -_080C3A48: - ldr r0, _080C3A4C @ =0x000008b6 - b _080C3AAA - .align 2, 0 -_080C3A4C: .4byte 0x000008b6 -_080C3A50: - ldr r0, _080C3A54 @ =0x000008b7 - b _080C3AAA - .align 2, 0 -_080C3A54: .4byte 0x000008b7 -_080C3A58: - ldr r0, _080C3A5C @ =0x000008b8 - b _080C3AAA - .align 2, 0 -_080C3A5C: .4byte 0x000008b8 -_080C3A60: - ldr r0, _080C3A64 @ =0x000008b9 - b _080C3AAA - .align 2, 0 -_080C3A64: .4byte 0x000008b9 -_080C3A68: - ldr r0, _080C3A6C @ =0x000008ba - b _080C3AAA - .align 2, 0 -_080C3A6C: .4byte 0x000008ba -_080C3A70: - ldr r0, _080C3A74 @ =0x000008bb - b _080C3AAA - .align 2, 0 -_080C3A74: .4byte 0x000008bb -_080C3A78: - ldr r0, _080C3A7C @ =0x000008bc - b _080C3AAA - .align 2, 0 -_080C3A7C: .4byte 0x000008bc -_080C3A80: - ldr r0, _080C3A84 @ =0x000008bd - b _080C3AAA - .align 2, 0 -_080C3A84: .4byte 0x000008bd -_080C3A88: - ldr r0, _080C3A8C @ =0x000008be - b _080C3AAA - .align 2, 0 -_080C3A8C: .4byte 0x000008be -_080C3A90: - ldr r0, _080C3A94 @ =0x000008bf - b _080C3AAA - .align 2, 0 -_080C3A94: .4byte 0x000008bf -_080C3A98: - movs r0, 0x8C - lsls r0, 4 - b _080C3AAA -_080C3A9E: - ldr r0, _080C3AA4 @ =0x000008c1 - b _080C3AAA - .align 2, 0 -_080C3AA4: .4byte 0x000008c1 -_080C3AA8: - ldr r0, _080C3ABC @ =0x000008c2 -_080C3AAA: - bl FlagGet - lsls r0, 24 - movs r1, 0x3 - cmp r0, 0 - beq _080C3AB8 - movs r1, 0x2 -_080C3AB8: - adds r0, r1, 0 - b _080C3AC2 - .align 2, 0 -_080C3ABC: .4byte 0x000008c2 -_080C3AC0: - movs r0, 0x1 -_080C3AC2: - pop {r1} - bx r1 - thumb_func_end sub_80C3878 - - thumb_func_start sub_80C3AC8 -sub_80C3AC8: @ 80C3AC8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080C3AE4 - cmp r0, 0x1 - beq _080C3AF0 - ldr r0, _080C3AE0 @ =gUnknown_20399E4 - ldr r0, [r0] - ldrb r0, [r0, 0x16] - b _080C3AF6 - .align 2, 0 -_080C3AE0: .4byte gUnknown_20399E4 -_080C3AE4: - ldr r0, _080C3AEC @ =gUnknown_20399E4 - ldr r0, [r0] - ldrb r0, [r0, 0x16] - b _080C3AF6 - .align 2, 0 -_080C3AEC: .4byte gUnknown_20399E4 -_080C3AF0: - ldr r0, _080C3AFC @ =gUnknown_20399E4 - ldr r0, [r0] - ldrb r0, [r0, 0x18] -_080C3AF6: - pop {r1} - bx r1 - .align 2, 0 -_080C3AFC: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3AC8 - - thumb_func_start sub_80C3B00 -sub_80C3B00: @ 80C3B00 - push {lr} - ldr r0, _080C3B24 @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - ldrb r0, [r0, 0x14] - pop {r1} - bx r1 - .align 2, 0 -_080C3B24: .4byte gSaveBlock1Ptr - thumb_func_end sub_80C3B00 - - thumb_func_start sub_80C3B28 -sub_80C3B28: @ 80C3B28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _080C3B58 @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - bl get_map_light_level_by_bank_and_number - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x8 - bhi _080C3B84 - lsls r0, 2 - ldr r1, _080C3B5C @ =_080C3B60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C3B58: .4byte gSaveBlock1Ptr -_080C3B5C: .4byte _080C3B60 - .align 2, 0 -_080C3B60: - .4byte _080C3B84 - .4byte _080C3B84 - .4byte _080C3B84 - .4byte _080C3BAC - .4byte _080C3B84 - .4byte _080C3B84 - .4byte _080C3BAC - .4byte _080C3C2C - .4byte _080C3BF0 -_080C3B84: - ldr r0, _080C3BA0 @ =gUnknown_20399E4 - ldr r2, [r0] - ldr r1, _080C3BA4 @ =gMapHeader - ldrb r0, [r1, 0x14] - strh r0, [r2, 0x14] - ldr r0, [r1] - ldrh r1, [r0] - ldrh r0, [r0, 0x4] - mov r8, r0 - ldr r0, _080C3BA8 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r4, [r0] - ldrh r5, [r0, 0x2] - b _080C3C9A - .align 2, 0 -_080C3BA0: .4byte gUnknown_20399E4 -_080C3BA4: .4byte gMapHeader -_080C3BA8: .4byte gSaveBlock1Ptr -_080C3BAC: - ldr r4, _080C3BE8 @ =gSaveBlock1Ptr - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r0, 16 - adds r1, 0x25 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - adds r2, r0, 0 - ldr r0, _080C3BEC @ =gUnknown_20399E4 - ldr r1, [r0] - ldrb r0, [r2, 0x14] - strh r0, [r1, 0x14] - ldr r0, [r2] - ldrh r1, [r0] - ldrh r0, [r0, 0x4] - mov r8, r0 - ldr r0, [r4] - ldrh r4, [r0, 0x28] - ldrh r5, [r0, 0x2A] - b _080C3C9A - .align 2, 0 -_080C3BE8: .4byte gSaveBlock1Ptr -_080C3BEC: .4byte gUnknown_20399E4 -_080C3BF0: - ldr r4, _080C3C24 @ =gSaveBlock1Ptr - ldr r1, [r4] - movs r0, 0x14 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x15] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - adds r2, r0, 0 - ldr r0, _080C3C28 @ =gUnknown_20399E4 - ldr r1, [r0] - ldrb r0, [r2, 0x14] - strh r0, [r1, 0x14] - ldr r0, [r2] - ldrh r1, [r0] - ldrh r0, [r0, 0x4] - mov r8, r0 - ldr r0, [r4] - ldrh r4, [r0, 0x18] - ldrh r5, [r0, 0x1A] - b _080C3C9A - .align 2, 0 -_080C3C24: .4byte gSaveBlock1Ptr -_080C3C28: .4byte gUnknown_20399E4 -_080C3C2C: - ldr r4, _080C3C5C @ =gUnknown_20399E4 - ldr r0, [r4] - ldr r1, _080C3C60 @ =gMapHeader - ldrb r1, [r1, 0x14] - strh r1, [r0, 0x14] - cmp r1, 0xC4 - beq _080C3C68 - ldr r0, _080C3C64 @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0x24 - movs r0, 0 - ldrsb r0, [r5, r0] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ldrsb r1, [r5, r1] - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - adds r2, r0, 0 - b _080C3C8E - .align 2, 0 -_080C3C5C: .4byte gUnknown_20399E4 -_080C3C60: .4byte gMapHeader -_080C3C64: .4byte gSaveBlock1Ptr -_080C3C68: - ldr r0, _080C3D30 @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0x14 - ldrb r0, [r0, 0x14] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ldrsb r1, [r5, r1] - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - adds r2, r0, 0 - ldr r1, [r4] - ldrb r0, [r2, 0x14] - strh r0, [r1, 0x14] -_080C3C8E: - ldr r0, [r2] - ldrh r1, [r0] - ldrh r0, [r0, 0x4] - mov r8, r0 - ldrh r4, [r5, 0x4] - ldrh r5, [r5, 0x6] -_080C3C9A: - ldr r0, _080C3D34 @ =gUnknown_20399E4 - ldr r7, [r0] - ldrh r0, [r7, 0x14] - subs r0, 0x58 - strh r0, [r7, 0x14] - ldr r0, _080C3D38 @ =gUnknown_83F2178 - mov r10, r0 - ldrh r0, [r7, 0x14] - lsls r0, 2 - mov r9, r0 - add r0, r10 - ldrh r6, [r0] - adds r0, r1, 0 - adds r1, r6, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _080C3CC4 - movs r1, 0x1 -_080C3CC4: - adds r0, r4, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r6 - bcc _080C3CD8 - subs r0, r6, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_080C3CD8: - mov r0, r10 - adds r0, 0x2 - add r0, r9 - ldrh r6, [r0] - mov r0, r8 - adds r1, r6, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _080C3CF2 - movs r1, 0x1 -_080C3CF2: - adds r0, r5, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r6 - bcc _080C3D06 - subs r0, r6, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C3D06: - ldr r1, _080C3D3C @ =gUnknown_83F1E60 - mov r2, r9 - adds r0, r2, r1 - ldrh r0, [r0] - adds r0, r4, r0 - strh r0, [r7] - ldrh r0, [r7, 0x14] - lsls r0, 2 - adds r1, 0x2 - adds r0, r1 - ldrh r0, [r0] - adds r0, r5, r0 - strh r0, [r7, 0x2] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C3D30: .4byte gSaveBlock1Ptr -_080C3D34: .4byte gUnknown_20399E4 -_080C3D38: .4byte gUnknown_83F2178 -_080C3D3C: .4byte gUnknown_83F1E60 - thumb_func_end sub_80C3B28 - - thumb_func_start sub_80C3D40 -sub_80C3D40: @ 80C3D40 - push {r4,r5,lr} - bl sub_80C3B00 - lsls r0, 16 - lsrs r0, 16 - subs r0, 0x66 - cmp r0, 0x5C - bls _080C3D52 - b _080C4132 -_080C3D52: - lsls r0, 2 - ldr r1, _080C3D5C @ =_080C3D60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C3D5C: .4byte _080C3D60 - .align 2, 0 -_080C3D60: - .4byte _080C4034 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C40A0 - .4byte _080C40C4 - .4byte _080C40E8 - .4byte _080C4108 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4064 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4028 - .4byte _080C4132 - .4byte _080C3F24 - .4byte _080C3F50 - .4byte _080C3F78 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C3F44 - .4byte _080C3EE4 - .4byte _080C3EF0 - .4byte _080C3ED4 - .4byte _080C3F38 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C3F04 - .4byte _080C4132 - .4byte _080C3F10 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C3FB0 - .4byte _080C3FC8 - .4byte _080C3FD4 - .4byte _080C4132 - .4byte _080C3FF4 - .4byte _080C3FBC - .4byte _080C4014 - .4byte _080C4132 - .4byte _080C3FE0 - .4byte _080C4132 - .4byte _080C4008 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C3FA4 - .4byte _080C4008 - .4byte _080C4008 - .4byte _080C4008 - .4byte _080C4008 - .4byte _080C4008 - .4byte _080C4008 - .4byte _080C4008 -_080C3ED4: - ldr r0, _080C3EE0 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xC - strh r0, [r1] - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C3EE0: .4byte gUnknown_20399E4 -_080C3EE4: - ldr r0, _080C3EEC @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xE - b _080C411C - .align 2, 0 -_080C3EEC: .4byte gUnknown_20399E4 -_080C3EF0: - ldr r0, _080C3F00 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 - strh r0, [r1] - movs r0, 0xE - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C3F00: .4byte gUnknown_20399E4 -_080C3F04: - ldr r0, _080C3F0C @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x12 - b _080C411C - .align 2, 0 -_080C3F0C: .4byte gUnknown_20399E4 -_080C3F10: - ldr r0, _080C3F20 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x12 - strh r0, [r1] - movs r0, 0x4 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C3F20: .4byte gUnknown_20399E4 -_080C3F24: - ldr r0, _080C3F34 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xE - strh r0, [r1] - movs r0, 0x9 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C3F34: .4byte gUnknown_20399E4 -_080C3F38: - ldr r0, _080C3F40 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x2 - b _080C3FE6 - .align 2, 0 -_080C3F40: .4byte gUnknown_20399E4 -_080C3F44: - ldr r0, _080C3F4C @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xB - b _080C411C - .align 2, 0 -_080C3F4C: .4byte gUnknown_20399E4 -_080C3F50: - ldr r0, _080C3F70 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r2, 0xE - strh r2, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - ldr r0, _080C3F74 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1E - beq _080C3F6C - b _080C4136 -_080C3F6C: - b _080C40B6 - .align 2, 0 -_080C3F70: .4byte gUnknown_20399E4 -_080C3F74: .4byte gSaveBlock1Ptr -_080C3F78: - ldr r0, _080C3F9C @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xC - strh r0, [r1] - movs r2, 0x6 - strh r2, [r1, 0x2] - ldr r0, _080C3FA0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x23 - beq _080C3F94 - b _080C4136 -_080C3F94: - movs r0, 0xF - strh r0, [r1] - b _080C4136 - .align 2, 0 -_080C3F9C: .4byte gUnknown_20399E4 -_080C3FA0: .4byte gSaveBlock1Ptr -_080C3FA4: - ldr r0, _080C3FAC @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x12 - b _080C4092 - .align 2, 0 -_080C3FAC: .4byte gUnknown_20399E4 -_080C3FB0: - ldr r0, _080C3FB8 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xA - b _080C401A - .align 2, 0 -_080C3FB8: .4byte gUnknown_20399E4 -_080C3FBC: - ldr r0, _080C3FC4 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x5 - b _080C411C - .align 2, 0 -_080C3FC4: .4byte gUnknown_20399E4 -_080C3FC8: - ldr r0, _080C3FD0 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x2 - b _080C3FE6 - .align 2, 0 -_080C3FD0: .4byte gUnknown_20399E4 -_080C3FD4: - ldr r0, _080C3FDC @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xE - b _080C4078 - .align 2, 0 -_080C3FDC: .4byte gUnknown_20399E4 -_080C3FE0: - ldr r0, _080C3FF0 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x11 -_080C3FE6: - strh r0, [r1] - movs r0, 0x3 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C3FF0: .4byte gUnknown_20399E4 -_080C3FF4: - ldr r0, _080C4004 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x11 - strh r0, [r1] - movs r0, 0xB - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C4004: .4byte gUnknown_20399E4 -_080C4008: - ldr r0, _080C4010 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x9 - b _080C4078 - .align 2, 0 -_080C4010: .4byte gUnknown_20399E4 -_080C4014: - ldr r0, _080C4024 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x10 -_080C401A: - strh r0, [r1] - movs r0, 0x8 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C4024: .4byte gUnknown_20399E4 -_080C4028: - ldr r0, _080C4030 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 - b _080C411C - .align 2, 0 -_080C4030: .4byte gUnknown_20399E4 -_080C4034: - ldr r0, _080C404C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080C4054 - ldr r0, _080C4050 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 - b _080C40D8 - .align 2, 0 -_080C404C: .4byte gSaveBlock1Ptr -_080C4050: .4byte gUnknown_20399E4 -_080C4054: - cmp r0, 0x3 - bne _080C412C - ldr r0, _080C4060 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 - b _080C40B4 - .align 2, 0 -_080C4060: .4byte gUnknown_20399E4 -_080C4064: - ldr r0, _080C4080 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x27 - bne _080C4088 - ldr r0, _080C4084 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 -_080C4078: - strh r0, [r1] - movs r0, 0xC - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C4080: .4byte gSaveBlock1Ptr -_080C4084: .4byte gUnknown_20399E4 -_080C4088: - cmp r0, 0x28 - bne _080C4136 - ldr r0, _080C409C @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 -_080C4092: - strh r0, [r1] - movs r0, 0xD - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C409C: .4byte gUnknown_20399E4 -_080C40A0: - ldr r0, _080C40BC @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _080C412C - ldr r0, _080C40C0 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xE -_080C40B4: - strh r0, [r1] -_080C40B6: - movs r0, 0x5 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C40BC: .4byte gSaveBlock1Ptr -_080C40C0: .4byte gUnknown_20399E4 -_080C40C4: - ldr r0, _080C40E0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080C412C - ldr r0, _080C40E4 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xE -_080C40D8: - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C40E0: .4byte gSaveBlock1Ptr -_080C40E4: .4byte gUnknown_20399E4 -_080C40E8: - ldr r0, _080C4100 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080C412C - ldr r0, _080C4104 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xD - b _080C411C - .align 2, 0 -_080C4100: .4byte gSaveBlock1Ptr -_080C4104: .4byte gUnknown_20399E4 -_080C4108: - ldr r0, _080C4124 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080C412C - ldr r0, _080C4128 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xF -_080C411C: - strh r0, [r1] - movs r0, 0x6 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C4124: .4byte gSaveBlock1Ptr -_080C4128: .4byte gUnknown_20399E4 -_080C412C: - bl sub_80C3B28 - b _080C4136 -_080C4132: - bl sub_80C3B28 -_080C4136: - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080C4160 @ =gUnknown_20399E4 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r5, 0 - ldrsh r3, [r1, r5] - movs r1, 0 - bl sub_80C4164 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x14] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C4160: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3D40 - - thumb_func_start sub_80C4164 -sub_80C4164: @ 80C4164 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r1, r3, 16 - cmp r0, 0x1 - beq _080C4198 - cmp r0, 0x1 - bgt _080C4186 - cmp r0, 0 - beq _080C4190 - b _080C41D0 -_080C4186: - cmp r5, 0x2 - beq _080C41A0 - cmp r5, 0x3 - beq _080C41A8 - b _080C41D0 -_080C4190: - ldr r3, _080C4194 @ =gUnknown_83F2490 - b _080C41AA - .align 2, 0 -_080C4194: .4byte gUnknown_83F2490 -_080C4198: - ldr r3, _080C419C @ =gUnknown_83F2724 - b _080C41AA - .align 2, 0 -_080C419C: .4byte gUnknown_83F2724 -_080C41A0: - ldr r3, _080C41A4 @ =gUnknown_83F29B8 - b _080C41AA - .align 2, 0 -_080C41A4: .4byte gUnknown_83F29B8 -_080C41A8: - ldr r3, _080C41CC @ =gUnknown_83F2C4C -_080C41AA: - lsls r1, 16 - asrs r1, 16 - lsls r0, r2, 16 - asrs r0, 16 - movs r2, 0x16 - muls r0, r2 - adds r1, r0 - lsls r0, r4, 2 - adds r0, r4 - lsls r2, r0, 5 - adds r0, r2 - lsls r0, 1 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - b _080C41D2 - .align 2, 0 -_080C41CC: .4byte gUnknown_83F2C4C -_080C41D0: - movs r0, 0xC5 -_080C41D2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80C4164 - - thumb_func_start sub_80C41D8 -sub_80C41D8: @ 80C41D8 - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - ldr r4, _080C4204 @ =gUnknown_20399E8 - movs r0, 0x8C - bl AllocZeroed - adds r1, r0, 0 - str r1, [r4] - ldr r0, _080C4208 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - bne _080C4210 - ldr r0, _080C420C @ =gUnknown_83EF59C - adds r1, 0xC - bl LZ77UnCompWram - b _080C4218 - .align 2, 0 -_080C4204: .4byte gUnknown_20399E8 -_080C4208: .4byte gSaveBlock2Ptr -_080C420C: .4byte gUnknown_83EF59C -_080C4210: - ldr r0, _080C423C @ =gUnknown_83EF524 - adds r1, 0xC - bl LZ77UnCompWram -_080C4218: - ldr r4, _080C4240 @ =gUnknown_20399E8 - ldr r0, [r4] - strh r6, [r0, 0x8] - strh r5, [r0, 0xA] - bl sub_80C3508 - ldr r1, [r4] - strh r0, [r1] - bl sub_80C3514 - ldr r1, [r4] - strh r0, [r1, 0x2] - bl sub_80C4244 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C423C: .4byte gUnknown_83EF524 -_080C4240: .4byte gUnknown_20399E8 - thumb_func_end sub_80C41D8 - - thumb_func_start sub_80C4244 -sub_80C4244: @ 80C4244 - push {r4-r6,lr} - sub sp, 0x40 - ldr r6, _080C42FC @ =gUnknown_20399E8 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0xC - str r0, [sp, 0x30] - movs r1, 0x80 - add r5, sp, 0x30 - str r1, [r5, 0x4] - ldrh r0, [r2, 0x8] - lsls r0, 16 - orrs r0, r1 - str r0, [r5, 0x4] - ldr r0, _080C4300 @ =gUnknown_83EF27C - str r0, [sp, 0x38] - ldrh r3, [r2, 0xA] - ldr r1, _080C4304 @ =0xffff0000 - add r4, sp, 0x38 - ldr r0, [r4, 0x4] - ands r0, r1 - orrs r0, r3 - str r0, [r4, 0x4] - ldrh r0, [r2, 0x8] - add r1, sp, 0x18 - movs r3, 0 - strh r0, [r1] - ldrh r2, [r2, 0xA] - mov r0, sp - adds r0, 0x1A - strh r2, [r0] - ldr r0, _080C4308 @ =gUnknown_83F1C54 - str r0, [sp, 0x1C] - ldr r0, _080C430C @ =gUnknown_83F1C64 - str r0, [sp, 0x20] - str r3, [sp, 0x24] - ldr r0, _080C4310 @ =gDummySpriteAffineAnimTable - str r0, [sp, 0x28] - ldr r0, _080C4314 @ =SpriteCallbackDummy - str r0, [sp, 0x2C] - mov r0, sp - movs r2, 0x18 - bl memcpy - ldr r0, _080C4318 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - bne _080C42AA - ldr r0, _080C431C @ =gUnknown_83EF29C - str r0, [sp, 0x38] -_080C42AA: - adds r0, r5, 0 - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - ldr r0, [r6] - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r1, 19 - movs r3, 0x90 - lsls r3, 14 - adds r1, r3 - asrs r1, 16 - movs r3, 0x2 - ldrsh r2, [r0, r3] - lsls r2, 19 - movs r0, 0x90 - lsls r0, 14 - adds r2, r0 - asrs r2, 16 - mov r0, sp - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080C4320 @ =gSprites - adds r1, r0 - str r1, [r2, 0x4] - movs r0, 0x1 - bl sub_80C4324 - add sp, 0x40 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C42FC: .4byte gUnknown_20399E8 -_080C4300: .4byte gUnknown_83EF27C -_080C4304: .4byte 0xffff0000 -_080C4308: .4byte gUnknown_83F1C54 -_080C430C: .4byte gUnknown_83F1C64 -_080C4310: .4byte gDummySpriteAffineAnimTable -_080C4314: .4byte SpriteCallbackDummy -_080C4318: .4byte gSaveBlock2Ptr -_080C431C: .4byte gUnknown_83EF29C -_080C4320: .4byte gSprites - thumb_func_end sub_80C4244 - - thumb_func_start sub_80C4324 -sub_80C4324: @ 80C4324 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C4344 @ =gUnknown_20399E8 - ldr r1, [r1] - ldr r2, [r1, 0x4] - adds r2, 0x3E - movs r1, 0x1 - ands r0, r1 - lsls r0, 2 - ldrb r3, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - orrs r1, r0 - strb r1, [r2] - bx lr - .align 2, 0 -_080C4344: .4byte gUnknown_20399E8 - thumb_func_end sub_80C4324 - - thumb_func_start sub_80C4348 -sub_80C4348: @ 80C4348 - push {r4,lr} - ldr r4, _080C437C @ =gUnknown_20399E8 - ldr r0, [r4] - ldr r0, [r0, 0x4] - cmp r0, 0 - beq _080C4368 - bl DestroySprite - ldr r0, [r4] - ldrh r0, [r0, 0x8] - bl FreeSpriteTilesByTag - ldr r0, [r4] - ldrh r0, [r0, 0xA] - bl FreeSpritePaletteByTag -_080C4368: - ldr r0, [r4] - cmp r0, 0 - beq _080C4376 - bl Free - movs r0, 0 - str r0, [r4] -_080C4376: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C437C: .4byte gUnknown_20399E8 - thumb_func_end sub_80C4348 - - thumb_func_start sub_80C4380 -sub_80C4380: @ 80C4380 - ldr r0, _080C4388 @ =gUnknown_20399E8 - ldr r0, [r0] - ldrh r0, [r0] - bx lr - .align 2, 0 -_080C4388: .4byte gUnknown_20399E8 - thumb_func_end sub_80C4380 - - thumb_func_start sub_80C438C -sub_80C438C: @ 80C438C - ldr r0, _080C4394 @ =gUnknown_20399E8 - ldr r0, [r0] - ldrh r0, [r0, 0x2] - bx lr - .align 2, 0 -_080C4394: .4byte gUnknown_20399E8 - thumb_func_end sub_80C438C - - thumb_func_start sub_80C4398 -sub_80C4398: @ 80C4398 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r5, _080C43F4 @ =gUnknown_20399EC - ldr r0, _080C43F8 @ =0x0000046c - bl AllocZeroed - str r0, [r5] - movs r2, 0x8D - lsls r2, 3 - adds r1, r0, r2 - mov r2, r8 - str r2, [r1] - movs r1, 0x8C - lsls r1, 3 - adds r0, r1 - strb r4, [r0] - ldr r0, _080C43FC @ =gUnknown_83F18D8 - ldr r1, [r5] - bl LZ77UnCompWram - ldr r0, _080C4400 @ =gUnknown_83F1908 - ldr r1, [r5] - adds r1, 0x40 - bl LZ77UnCompWram - ldr r1, _080C4404 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C4408 @ =sub_80C440C - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C43F4: .4byte gUnknown_20399EC -_080C43F8: .4byte 0x0000046c -_080C43FC: .4byte gUnknown_83F18D8 -_080C4400: .4byte gUnknown_83F1908 -_080C4404: .4byte gTasks -_080C4408: .4byte sub_80C440C - thumb_func_end sub_80C4398 - - thumb_func_start sub_80C440C -sub_80C440C: @ 80C440C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080C442C @ =gUnknown_20399EC - ldr r0, [r0] - ldr r1, _080C4430 @ =0x00000463 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bhi _080C44BC - lsls r0, 2 - ldr r1, _080C4434 @ =_080C4438 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C442C: .4byte gUnknown_20399EC -_080C4430: .4byte 0x00000463 -_080C4434: .4byte _080C4438 - .align 2, 0 -_080C4438: - .4byte _080C444C - .4byte _080C4452 - .4byte _080C4468 - .4byte _080C446E - .4byte _080C44A0 -_080C444C: - bl sub_80C08E0 - b _080C44A4 -_080C4452: - bl sub_80C47F0 - ldr r0, _080C4460 @ =gUnknown_20399EC - ldr r1, [r0] - ldr r0, _080C4464 @ =0x00000463 - adds r1, r0 - b _080C44AC - .align 2, 0 -_080C4460: .4byte gUnknown_20399EC -_080C4464: .4byte 0x00000463 -_080C4468: - bl sub_80C4750 - b _080C44A4 -_080C446E: - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _080C4498 @ =gUnknown_20399EC - ldr r1, [r0] - ldr r0, _080C449C @ =0x00000463 - adds r1, r0 - b _080C44AC - .align 2, 0 -_080C4498: .4byte gUnknown_20399EC -_080C449C: .4byte 0x00000463 -_080C44A0: - bl sub_80C08F4 -_080C44A4: - ldr r0, _080C44B4 @ =gUnknown_20399EC - ldr r1, [r0] - ldr r2, _080C44B8 @ =0x00000463 - adds r1, r2 -_080C44AC: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C44DC - .align 2, 0 -_080C44B4: .4byte gUnknown_20399EC -_080C44B8: .4byte 0x00000463 -_080C44BC: - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 5 - adds r0, r2, 0 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - adds r0, r4, 0 - bl sub_80C44E4 -_080C44DC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C440C - - thumb_func_start sub_80C44E4 -sub_80C44E4: @ 80C44E4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C4504 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080C4508 @ =gUnknown_20399EC - ldr r0, [r0] - movs r2, 0x8D - lsls r2, 3 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - bx lr - .align 2, 0 -_080C4504: .4byte gTasks -_080C4508: .4byte gUnknown_20399EC - thumb_func_end sub_80C44E4 - - thumb_func_start sub_80C450C -sub_80C450C: @ 80C450C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - mov r10, r0 - mov r9, r1 - adds r4, r2, 0 - adds r5, r3, 0 - ldr r3, [sp, 0x4C] - ldr r6, [sp, 0x50] - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - str r5, [sp, 0x28] - lsls r3, 24 - lsrs r3, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r7, _080C45F4 @ =gUnknown_20399EC - ldr r0, [r7] - adds r0, 0x40 - str r0, [sp, 0x18] - movs r2, 0x80 - lsls r2, 1 - add r0, sp, 0x18 - lsls r1, r3, 16 - orrs r1, r2 - str r1, [r0, 0x4] - ldr r1, _080C45F8 @ =gUnknown_83EF2BC - str r1, [sp, 0x20] - ldr r2, _080C45FC @ =0xffff0000 - add r5, sp, 0x20 - mov r8, r5 - ldr r1, [r5, 0x4] - ands r1, r2 - orrs r1, r6 - str r1, [r5, 0x4] - mov r1, sp - movs r2, 0 - strh r3, [r1] - strh r6, [r1, 0x2] - ldr r1, _080C4600 @ =gUnknown_83F1C68 - str r1, [sp, 0x4] - ldr r1, _080C4604 @ =gUnknown_83F1C94 - str r1, [sp, 0x8] - str r2, [sp, 0xC] - ldr r1, _080C4608 @ =gDummySpriteAffineAnimTable - str r1, [sp, 0x10] - ldr r1, _080C460C @ =SpriteCallbackDummy - str r1, [sp, 0x14] - bl LoadSpriteSheet - mov r0, r8 - bl LoadSpritePalette - lsls r4, 19 - movs r0, 0x90 - lsls r0, 14 - adds r4, r0 - asrs r4, 16 - ldr r1, [sp, 0x28] - lsls r5, r1, 19 - adds r5, r0 - asrs r5, 16 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r7] - mov r5, r9 - lsls r5, 4 - mov r9, r5 - movs r1, 0xB6 - lsls r1, 2 - adds r2, r1 - add r2, r9 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080C4610 @ =gSprites - adds r1, r0 - str r1, [r2] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, [r7] - add r0, r9 - movs r2, 0xB5 - lsls r2, 2 - adds r0, r2 - mov r5, r10 - strb r5, [r0] - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C45F4: .4byte gUnknown_20399EC -_080C45F8: .4byte gUnknown_83EF2BC -_080C45FC: .4byte 0xffff0000 -_080C4600: .4byte gUnknown_83F1C68 -_080C4604: .4byte gUnknown_83F1C94 -_080C4608: .4byte gDummySpriteAffineAnimTable -_080C460C: .4byte SpriteCallbackDummy -_080C4610: .4byte gSprites - thumb_func_end sub_80C450C - - thumb_func_start sub_80C4614 -sub_80C4614: @ 80C4614 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - ldr r4, [sp, 0x4C] - ldr r5, [sp, 0x50] - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x28] - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - lsls r3, 16 - lsrs r3, 16 - mov r9, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r7, 0 - ldr r0, _080C4730 @ =gUnknown_20399EC - ldr r0, [r0] - str r0, [sp, 0x18] - movs r2, 0x40 - add r0, sp, 0x18 - lsls r1, r4, 16 - orrs r1, r2 - str r1, [r0, 0x4] - ldr r1, _080C4734 @ =gUnknown_83EF2BC - str r1, [sp, 0x20] - ldr r2, _080C4738 @ =0xffff0000 - add r6, sp, 0x20 - ldr r1, [r6, 0x4] - ands r1, r2 - orrs r1, r5 - str r1, [r6, 0x4] - mov r1, sp - strh r4, [r1] - strh r5, [r1, 0x2] - ldr r1, _080C473C @ =gUnknown_83F1C70 - str r1, [sp, 0x4] - ldr r1, _080C4740 @ =gUnknown_83F1C98 - str r1, [sp, 0x8] - str r7, [sp, 0xC] - ldr r1, _080C4744 @ =gDummySpriteAffineAnimTable - str r1, [sp, 0x10] - ldr r1, _080C4748 @ =SpriteCallbackDummy - str r1, [sp, 0x14] - bl LoadSpriteSheet - adds r0, r6, 0 - bl LoadSpritePalette - mov r0, r9 - lsls r2, r0, 16 - asrs r2, 16 - mov r1, r8 - lsls r3, r1, 16 - asrs r3, 16 - mov r0, r10 - movs r1, 0 - bl sub_80C4164 - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - adds r0, r4, 0 - bl sub_80C35DC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080C46BE - adds r0, r4, 0 - bl sub_80C35DC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _080C46C4 -_080C46BE: - cmp r5, 0x64 - beq _080C46C4 - movs r7, 0x2 -_080C46C4: - mov r3, r8 - lsls r1, r3, 3 - lsls r0, r7, 16 - asrs r0, 16 - adds r0, 0x24 - adds r1, r0 - lsls r1, 16 - asrs r1, 16 - mov r3, r9 - lsls r2, r3, 3 - adds r2, r0 - lsls r2, 16 - asrs r2, 16 - mov r0, sp - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080C4730 @ =gUnknown_20399EC - ldr r2, [r4] - ldr r1, [sp, 0x28] - lsls r3, r1, 4 - movs r1, 0xA4 - lsls r1, 1 - adds r2, r1 - adds r2, r3 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080C474C @ =gSprites - adds r1, r0 - str r1, [r2] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, [r4] - adds r0, r3 - movs r3, 0xA2 - lsls r3, 1 - adds r0, r3 - mov r1, r10 - strb r1, [r0] - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C4730: .4byte gUnknown_20399EC -_080C4734: .4byte gUnknown_83EF2BC -_080C4738: .4byte 0xffff0000 -_080C473C: .4byte gUnknown_83F1C70 -_080C4740: .4byte gUnknown_83F1C98 -_080C4744: .4byte gDummySpriteAffineAnimTable -_080C4748: .4byte SpriteCallbackDummy -_080C474C: .4byte gSprites - thumb_func_end sub_80C4614 - - thumb_func_start sub_80C4750 -sub_80C4750: @ 80C4750 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r7, 0 - movs r0, 0x3 - bl sub_80C0E04 - lsls r0, 24 - cmp r0, 0 - beq _080C47E0 - movs r1, 0 -_080C476C: - movs r5, 0 - lsls r0, r1, 24 - adds r1, 0x1 - mov r10, r1 - lsrs r0, 24 - str r0, [sp, 0x8] -_080C4778: - movs r4, 0 - lsls r0, r5, 16 - mov r8, r0 - adds r1, r5, 0x1 - mov r9, r1 -_080C4782: - lsls r3, r4, 16 - asrs r3, 16 - ldr r0, [sp, 0x8] - movs r1, 0 - mov r6, r8 - asrs r2, r6, 16 - bl sub_80C4164 - lsls r0, 24 - lsrs r0, 24 - bl sub_80C35DC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080C47C2 - adds r0, r7, 0 - adds r0, 0xA - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - ldr r0, [sp, 0x8] - adds r1, r7, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_80C450C - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080C47C2: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x15 - bls _080C4782 - mov r1, r9 - lsls r0, r1, 16 - lsrs r5, r0, 16 - cmp r5, 0xE - bls _080C4778 - mov r6, r10 - lsls r0, r6, 16 - lsrs r1, r0, 16 - cmp r1, 0x3 - bls _080C476C -_080C47E0: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C4750 - - thumb_func_start sub_80C47F0 -sub_80C47F0: @ 80C47F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r6, 0 - movs r1, 0 -_080C4800: - movs r7, 0 - lsls r0, r1, 24 - adds r1, 0x1 - str r1, [sp, 0x8] - lsrs r0, 24 - mov r8, r0 -_080C480C: - movs r5, 0 - lsls r0, r7, 16 - mov r9, r0 - adds r1, r7, 0x1 - mov r10, r1 -_080C4816: - lsls r3, r5, 16 - asrs r3, 16 - mov r0, r8 - movs r1, 0x1 - mov r4, r9 - asrs r2, r4, 16 - bl sub_80C4164 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r0, 0xC5 - beq _080C4884 - cmp r0, 0x8D - bne _080C4840 - ldr r0, _080C48B4 @ =0x00000844 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080C4884 -_080C4840: - adds r0, r6, 0 - adds r0, 0x23 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - mov r0, r8 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r7, 0 - bl sub_80C4614 - adds r0, r4, 0 - bl sub_80C3878 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080C487E - ldr r0, _080C48B8 @ =gUnknown_20399EC - ldr r0, [r0] - lsls r1, r6, 4 - movs r2, 0xA4 - lsls r2, 1 - adds r0, r2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim -_080C487E: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080C4884: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x15 - bls _080C4816 - mov r4, r10 - lsls r0, r4, 16 - lsrs r7, r0, 16 - cmp r7, 0xE - bls _080C480C - ldr r1, [sp, 0x8] - lsls r0, r1, 16 - lsrs r1, r0, 16 - cmp r1, 0x3 - bls _080C4800 - 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 -_080C48B4: .4byte 0x00000844 -_080C48B8: .4byte gUnknown_20399EC - thumb_func_end sub_80C47F0 - - thumb_func_start sub_80C48BC -sub_80C48BC: @ 80C48BC - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - cmp r1, 0x19 - bne _080C4920 - movs r3, 0 - ldr r0, _080C491C @ =gUnknown_20399EC - mov r12, r0 - movs r1, 0x1 - adds r0, r5, 0 - ands r0, r1 - lsls r5, r0, 2 - movs r6, 0x5 - negs r6, r6 -_080C48E0: - mov r7, r12 - ldr r1, [r7] - lsls r2, r3, 4 - adds r0, r1, r2 - movs r7, 0xB5 - lsls r7, 2 - adds r0, r7 - ldrb r0, [r0] - cmp r0, r4 - beq _080C48F8 - cmp r4, 0xFF - bne _080C490E -_080C48F8: - movs r7, 0xB6 - lsls r7, 2 - adds r0, r1, r7 - adds r0, r2 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - orrs r0, r5 - strb r0, [r1] -_080C490E: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x18 - bls _080C48E0 - b _080C4954 - .align 2, 0 -_080C491C: .4byte gUnknown_20399EC -_080C4920: - ldr r0, _080C495C @ =gUnknown_20399EC - ldr r2, [r0] - lsls r1, 4 - adds r0, r2, r1 - movs r3, 0xB5 - lsls r3, 2 - adds r0, r3 - ldrb r0, [r0] - cmp r0, r4 - bne _080C4954 - movs r7, 0xB6 - lsls r7, 2 - adds r0, r2, r7 - adds r0, r1 - ldr r2, [r0] - adds r2, 0x3E - movs r0, 0x1 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_080C4954: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C495C: .4byte gUnknown_20399EC - thumb_func_end sub_80C48BC - - thumb_func_start sub_80C4960 -sub_80C4960: @ 80C4960 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - cmp r1, 0x19 - bne _080C49C4 - movs r3, 0 - ldr r0, _080C49C0 @ =gUnknown_20399EC - mov r12, r0 - movs r1, 0x1 - adds r0, r5, 0 - ands r0, r1 - lsls r5, r0, 2 - movs r6, 0x5 - negs r6, r6 -_080C4984: - mov r7, r12 - ldr r1, [r7] - lsls r2, r3, 4 - adds r0, r1, r2 - movs r7, 0xA2 - lsls r7, 1 - adds r0, r7 - ldrb r0, [r0] - cmp r0, r4 - beq _080C499C - cmp r4, 0xFF - bne _080C49B2 -_080C499C: - movs r7, 0xA4 - lsls r7, 1 - adds r0, r1, r7 - adds r0, r2 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - orrs r0, r5 - strb r0, [r1] -_080C49B2: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x18 - bls _080C4984 - b _080C49F8 - .align 2, 0 -_080C49C0: .4byte gUnknown_20399EC -_080C49C4: - ldr r0, _080C4A00 @ =gUnknown_20399EC - ldr r2, [r0] - lsls r1, 4 - adds r0, r2, r1 - movs r3, 0xA2 - lsls r3, 1 - adds r0, r3 - ldrb r0, [r0] - cmp r0, r4 - beq _080C49F8 - movs r7, 0xA4 - lsls r7, 1 - adds r0, r2, r7 - adds r0, r1 - ldr r2, [r0] - adds r2, 0x3E - movs r0, 0x1 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_080C49F8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C4A00: .4byte gUnknown_20399EC - thumb_func_end sub_80C4960 - - thumb_func_start sub_80C4A04 -sub_80C4A04: @ 80C4A04 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _080C4AA4 @ =gUnknown_20399EC -_080C4A0A: - ldr r0, [r6] - lsls r4, r5, 4 - movs r1, 0xB6 - lsls r1, 2 - adds r0, r1 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080C4A3E - bl DestroySprite - ldr r0, [r6] - adds r0, r4 - movs r1, 0xB7 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r6] - adds r0, r4 - ldr r1, _080C4AA8 @ =0x000002de - adds r0, r1 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080C4A3E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x18 - bls _080C4A0A - movs r5, 0 - ldr r6, _080C4AA4 @ =gUnknown_20399EC -_080C4A4C: - ldr r0, [r6] - lsls r4, r5, 4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r1 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080C4A82 - bl DestroySprite - ldr r0, [r6] - adds r0, r4 - movs r1, 0xA6 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r6] - adds r0, r4 - movs r1, 0xA7 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080C4A82: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x18 - bls _080C4A4C - ldr r4, _080C4AA4 @ =gUnknown_20399EC - ldr r0, [r4] - cmp r0, 0 - beq _080C4A9C - bl Free - movs r0, 0 - str r0, [r4] -_080C4A9C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C4AA4: .4byte gUnknown_20399EC -_080C4AA8: .4byte 0x000002de - thumb_func_end sub_80C4A04 - - thumb_func_start sub_80C4AAC -sub_80C4AAC: @ 80C4AAC - push {r4,lr} - lsls r0, 24 - ldr r1, _080C4B24 @ =gUnknown_20399F0 - lsrs r0, 22 - adds r4, r0, r1 - ldr r0, [r4] - cmp r0, 0 - bne _080C4B28 - movs r0, 0x14 - bl AllocZeroed - str r0, [r4] - movs r0, 0x50 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1] - movs r0, 0x54 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0x2] - movs r0, 0x52 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0x4] - movs r0, 0x48 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0x6] - movs r0, 0x4A - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0x8] - movs r0, 0x40 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0xA] - movs r0, 0x42 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0xC] - movs r0, 0x44 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0xE] - movs r0, 0x46 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0x10] - movs r0, 0x1 - b _080C4B2A - .align 2, 0 -_080C4B24: .4byte gUnknown_20399F0 -_080C4B28: - movs r0, 0 -_080C4B2A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C4AAC - - thumb_func_start sub_80C4B30 -sub_80C4B30: @ 80C4B30 - push {r4,lr} - lsls r0, 24 - ldr r1, _080C4B44 @ =gUnknown_20399F0 - lsrs r0, 22 - adds r4, r0, r1 - ldr r0, [r4] - cmp r0, 0 - bne _080C4B48 - movs r0, 0 - b _080C4BB0 - .align 2, 0 -_080C4B44: .4byte gUnknown_20399F0 -_080C4B48: - ldrh r1, [r0] - movs r0, 0x50 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x2] - movs r0, 0x54 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x4] - movs r0, 0x52 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x6] - movs r0, 0x48 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x8] - movs r0, 0x4A - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0xA] - movs r0, 0x40 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0xC] - movs r0, 0x42 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0xE] - movs r0, 0x44 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x10] - movs r0, 0x46 - bl SetGpuReg - ldr r0, [r4] - cmp r0, 0 - beq _080C4BAE - bl Free - movs r0, 0 - str r0, [r4] -_080C4BAE: - movs r0, 0x1 -_080C4BB0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C4B30 - - thumb_func_start sub_80C4BB8 -sub_80C4BB8: @ 80C4BB8 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _080C4BE0 @ =gUnknown_20399F0 -_080C4BBE: - lsls r0, r5, 2 - adds r4, r0, r6 - ldr r0, [r4] - cmp r0, 0 - beq _080C4BD0 - bl Free - movs r0, 0 - str r0, [r4] -_080C4BD0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _080C4BBE - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C4BE0: .4byte gUnknown_20399F0 - thumb_func_end sub_80C4BB8 - - thumb_func_start sub_80C4BE4 -sub_80C4BE4: @ 80C4BE4 - push {lr} - sub sp, 0x8 - movs r0, 0 - movs r1, 0 - str r0, [sp] - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - bl sub_80C4C2C - movs r0, 0 - bl sub_80C4C48 - movs r0, 0 - mov r1, sp - bl sub_80C4CF0 - movs r0, 0x1 - mov r1, sp - bl sub_80C4CF0 - movs r0, 0 - movs r1, 0 - bl sub_80C4C74 - movs r0, 0 - movs r1, 0x1 - bl sub_80C4C9C - movs r0, 0x1 - movs r1, 0x1 - bl sub_80C4C9C - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_80C4BE4 - - thumb_func_start sub_80C4C2C -sub_80C4C2C: @ 80C4C2C - push {lr} - adds r3, r0, 0 - lsls r1, 16 - lsls r2, 16 - lsls r3, 24 - orrs r3, r1 - orrs r3, r2 - lsrs r3, 16 - movs r0, 0x50 - adds r1, r3, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_80C4C2C - - thumb_func_start sub_80C4C48 -sub_80C4C48: @ 80C4C48 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x54 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_80C4C48 - - thumb_func_start sub_80C4C5C -sub_80C4C5C: @ 80C4C5C - push {lr} - adds r2, r0, 0 - lsls r1, 16 - lsls r2, 24 - orrs r2, r1 - lsrs r2, 16 - movs r0, 0x52 - adds r1, r2, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_80C4C5C - - thumb_func_start sub_80C4C74 -sub_80C4C74: @ 80C4C74 - push {lr} - lsls r0, 16 - lsls r1, 24 - orrs r1, r0 - lsrs r1, 16 - movs r0, 0x48 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_80C4C74 - - thumb_func_start sub_80C4C88 -sub_80C4C88: @ 80C4C88 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4A - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_80C4C88 - - thumb_func_start sub_80C4C9C -sub_80C4C9C: @ 80C4C9C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r1, _080C4CBC @ =gUnknown_83F1CA0 - mov r0, sp - movs r2, 0x4 - bl memcpy - cmp r4, 0 - beq _080C4CC0 - cmp r4, 0x1 - beq _080C4CDC - b _080C4CE8 - .align 2, 0 -_080C4CBC: .4byte gUnknown_83F1CA0 -_080C4CC0: - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - lsls r0, r5, 1 - add r0, sp - ldrh r0, [r0] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - b _080C4CE8 -_080C4CDC: - lsls r0, r5, 1 - add r0, sp - ldrh r1, [r0] - movs r0, 0 - bl ClearGpuRegBits -_080C4CE8: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C4C9C - - thumb_func_start sub_80C4CF0 -sub_80C4CF0: @ 80C4CF0 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - ldr r5, _080C4D2C @ =gUnknown_83F1CA4 - lsrs r4, 23 - adds r0, r4, r5 - ldrb r0, [r0] - ldrh r1, [r6, 0x2] - lsls r1, 8 - ldrh r2, [r6, 0x6] - orrs r1, r2 - lsls r1, 16 - lsrs r1, 16 - bl SetGpuReg - adds r5, 0x1 - adds r4, r5 - ldrb r0, [r4] - ldrh r1, [r6] - lsls r1, 8 - ldrh r2, [r6, 0x4] - orrs r1, r2 - lsls r1, 16 - lsrs r1, 16 - bl SetGpuReg - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C4D2C: .4byte gUnknown_83F1CA4 - thumb_func_end sub_80C4CF0 - - thumb_func_start sub_80C4D30 -sub_80C4D30: @ 80C4D30 - push {lr} - bl sub_80C4BB8 - bl sub_80C4BE4 - pop {r0} - bx r0 - thumb_func_end sub_80C4D30 - - thumb_func_start sub_80C4D40 -sub_80C4D40: @ 80C4D40 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _080C4D68 @ =gUnknown_20399D4 - ldr r0, [r0] - cmp r0, 0 - bne _080C4D70 - cmp r1, 0x5E - bne _080C4D70 - ldr r0, _080C4D6C @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - cmp r0, 0xA - bne _080C4D70 - ldrb r0, [r1, 0x5] - cmp r0, 0x6 - bhi _080C4D70 - movs r0, 0x1 - b _080C4D72 - .align 2, 0 -_080C4D68: .4byte gUnknown_20399D4 -_080C4D6C: .4byte gSaveBlock1Ptr -_080C4D70: - movs r0, 0 -_080C4D72: - pop {r1} - bx r1 - thumb_func_end sub_80C4D40 - - thumb_func_start GetMapName -GetMapName: @ 80C4D78 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - lsrs r0, r1, 16 - ldr r2, _080C4D9C @ =0xffa80000 - adds r1, r2 - lsrs r5, r1, 16 - cmp r5, 0x6C - bhi _080C4DBC - bl sub_80C4D40 - cmp r0, 0x1 - bne _080C4DA4 - ldr r1, _080C4DA0 @ =gMapSecName_CeladonDept - b _080C4DAC - .align 2, 0 -_080C4D9C: .4byte 0xffa80000 -_080C4DA0: .4byte gMapSecName_CeladonDept -_080C4DA4: - ldr r0, _080C4DB8 @ =gUnknown_83F1CAC - lsls r1, r5, 2 - adds r1, r0 - ldr r1, [r1] -_080C4DAC: - adds r0, r6, 0 - bl StringCopy - adds r1, r0, 0 - b _080C4DCE - .align 2, 0 -_080C4DB8: .4byte gUnknown_83F1CAC -_080C4DBC: - cmp r4, 0 - bne _080C4DC2 - movs r4, 0x12 -_080C4DC2: - adds r0, r6, 0 - movs r1, 0 - adds r2, r4, 0 - bl StringFill - b _080C4DF2 -_080C4DCE: - cmp r4, 0 - beq _080C4DF0 - subs r0, r1, r6 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bcs _080C4DEC - movs r2, 0 -_080C4DDE: - strb r2, [r1] - adds r1, 0x1 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bcc _080C4DDE -_080C4DEC: - movs r0, 0xFF - strb r0, [r1] -_080C4DF0: - adds r0, r1, 0 -_080C4DF2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetMapName - - thumb_func_start GetMapNameGeneric -GetMapNameGeneric: @ 80C4DF8 - push {lr} - lsls r1, 16 - lsrs r1, 16 - movs r2, 0 - bl GetMapName - pop {r1} - bx r1 - thumb_func_end GetMapNameGeneric - - thumb_func_start sub_80C4E08 -sub_80C4E08: @ 80C4E08 - push {lr} - lsls r1, 16 - lsrs r1, 16 - bl GetMapNameGeneric - pop {r1} - bx r1 - thumb_func_end sub_80C4E08 - - thumb_func_start sub_80C4E18 -sub_80C4E18: @ 80C4E18 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r0, _080C4E38 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C4E3C @ =0x00004799 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080C4E40 - movs r0, 0x3 - movs r1, 0 - bl FillWindowPixelBuffer - b _080C4E48 - .align 2, 0 -_080C4E38: .4byte gUnknown_20399D4 -_080C4E3C: .4byte 0x00004799 -_080C4E40: - movs r0, 0x3 - movs r1, 0xFF - bl FillWindowPixelBuffer -_080C4E48: - ldr r0, _080C4E70 @ =gUnknown_83F1CA8 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl AddTextPrinterParameterized3 - movs r0, 0x3 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C4E70: .4byte gUnknown_83F1CA8 - thumb_func_end sub_80C4E18 - - thumb_func_start sub_80C4E74 -sub_80C4E74: @ 80C4E74 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r0, _080C4E94 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C4E98 @ =0x00004799 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080C4E9C - movs r0, 0x4 - movs r1, 0 - bl FillWindowPixelBuffer - b _080C4EA4 - .align 2, 0 -_080C4E94: .4byte gUnknown_20399D4 -_080C4E98: .4byte 0x00004799 -_080C4E9C: - movs r0, 0x4 - movs r1, 0xFF - bl FillWindowPixelBuffer -_080C4EA4: - ldr r0, _080C4ECC @ =gUnknown_83F1CA8 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x4 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl AddTextPrinterParameterized3 - movs r0, 0x4 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C4ECC: .4byte gUnknown_83F1CA8 - thumb_func_end sub_80C4E74 - - thumb_func_start sub_80C4ED0 -sub_80C4ED0: @ 80C4ED0 - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _080C4EE6 - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - b _080C4EF2 -_080C4EE6: - movs r0, 0x3 - bl ClearWindowTilemap - movs r0, 0x4 - bl ClearWindowTilemap -_080C4EF2: - pop {r0} - bx r0 - thumb_func_end sub_80C4ED0 - - thumb_func_start MCB2_FlyMap -MCB2_FlyMap: @ 80C4EF8 - push {lr} - bl sub_80C51E8 - movs r0, 0x2 - bl sub_80BFEDC - pop {r0} - bx r0 - thumb_func_end MCB2_FlyMap - - thumb_func_start sub_80C4F08 -sub_80C4F08: @ 80C4F08 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080C4F28 @ =gUnknown_20399FC - ldr r2, [r0] - ldrb r0, [r2] - cmp r0, 0x6 - bls _080C4F1C - b _080C51B8 -_080C4F1C: - lsls r0, 2 - ldr r1, _080C4F2C @ =_080C4F30 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C4F28: .4byte gUnknown_20399FC -_080C4F2C: .4byte _080C4F30 - .align 2, 0 -_080C4F30: - .4byte _080C4F4C - .4byte _080C4F92 - .4byte _080C4FEC - .4byte _080C5000 - .4byte _080C5028 - .4byte _080C5180 - .4byte _080C5196 -_080C4F4C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - bl sub_80C0E20 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80C07E4 - adds r2, r0, 0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80C4398 - movs r0, 0 - movs r1, 0 - bl sub_80C3008 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80C41D8 - movs r0, 0 - bl sub_80C3154 - movs r0, 0 - bl sub_80C4324 - b _080C51A6 -_080C4F92: - movs r0, 0x2 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C4FAE - bl sub_80C07E4 - adds r1, r0, 0 - adds r0, r5, 0 - bl sub_80C2208 - b _080C51A6 -_080C4FAE: - movs r0, 0 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x1 - bl ShowBg - ldr r0, _080C4FE8 @ =gUnknown_8418EB5 - bl sub_80C4E18 - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0 - bl sub_80C48BC - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0 - bl sub_80C4960 - b _080C51A6 - .align 2, 0 -_080C4FE8: .4byte gUnknown_8418EB5 -_080C4FEC: - ldr r0, _080C4FFC @ =gUnknown_8418EB0 - bl sub_80C4E74 - movs r0, 0 - bl sub_80C4ED0 - b _080C51A6 - .align 2, 0 -_080C4FFC: .4byte gUnknown_8418EB0 -_080C5000: - ldr r0, _080C5024 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C500E - b _080C51DC -_080C500E: - bl sub_80C0B18 - movs r0, 0 - bl PutWindowTilemap - bl sub_80C0BB0 - movs r0, 0x1 - bl PutWindowTilemap - b _080C51A6 - .align 2, 0 -_080C5024: .4byte gPaletteFade -_080C5028: - bl sub_80C3400 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x5 - bls _080C5038 - b _080C51DC -_080C5038: - lsls r0, 2 - ldr r1, _080C5044 @ =_080C5048 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C5044: .4byte _080C5048 - .align 2, 0 -_080C5048: - .4byte _080C51DC - .4byte _080C51DC - .4byte _080C5070 - .4byte _080C50F8 - .4byte _080C5168 - .4byte _080C5060 -_080C5060: - ldr r0, _080C506C @ =gUnknown_20399FC - ldr r1, [r0] - movs r0, 0x6 - strb r0, [r1] - b _080C51DC - .align 2, 0 -_080C506C: .4byte gUnknown_20399FC -_080C5070: - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080C5086 - movs r0, 0x66 - bl PlaySE - b _080C508A -_080C5086: - bl sub_80C0450 -_080C508A: - bl sub_80C3178 - bl sub_80C0B18 - bl sub_80C0BB0 - bl sub_80C0B9C - bl sub_80C3508 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x15 - bne _080C50C4 - bl sub_80C3514 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xD - bne _080C50C4 - movs r0, 0xE1 - bl PlaySE - ldr r0, _080C50C0 @ =gUnknown_8418E95 - bl sub_80C4E74 - b _080C51DC - .align 2, 0 -_080C50C0: .4byte gUnknown_8418E95 -_080C50C4: - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080C50E0 - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080C50EC -_080C50E0: - ldr r0, _080C50E8 @ =gUnknown_8418EB0 - bl sub_80C4E74 - b _080C51DC - .align 2, 0 -_080C50E8: .4byte gUnknown_8418EB0 -_080C50EC: - ldr r0, _080C50F4 @ =gUnknown_8418E8B - bl sub_80C4E74 - b _080C51DC - .align 2, 0 -_080C50F4: .4byte gUnknown_8418E8B -_080C50F8: - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080C5114 - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080C51DC -_080C5114: - movs r0, 0x3 - bl sub_80C0E04 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _080C51DC - ldr r0, _080C514C @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - bl get_map_light_level_by_bank_and_number - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _080C5140 - cmp r0, 0x8 - bne _080C5154 -_080C5140: - ldr r2, _080C5150 @ =gUnknown_20399FC - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0x2] - ldr r1, [r2] - b _080C51AA - .align 2, 0 -_080C514C: .4byte gSaveBlock1Ptr -_080C5150: .4byte gUnknown_20399FC -_080C5154: - movs r0, 0x1 - bl PlaySE - ldr r1, _080C5164 @ =gUnknown_20399FC - ldr r0, [r1] - strb r4, [r0, 0x2] - ldr r1, [r1] - b _080C51AA - .align 2, 0 -_080C5164: .4byte gUnknown_20399FC -_080C5168: - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C517C @ =sub_80C07F8 - adds r1, r5, 0 - bl sub_80C0E70 - b _080C51DC - .align 2, 0 -_080C517C: .4byte sub_80C07F8 -_080C5180: - movs r0, 0x2 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C51A6 - adds r0, r5, 0 - bl sub_80C2C1C - b _080C51A6 -_080C5196: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_080C51A6: - ldr r0, _080C51B4 @ =gUnknown_20399FC - ldr r1, [r0] -_080C51AA: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C51DC - .align 2, 0 -_080C51B4: .4byte gUnknown_20399FC -_080C51B8: - ldr r0, _080C51E4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C51DC - ldrb r0, [r2, 0x2] - cmp r0, 0x1 - bne _080C51D6 - bl sub_80C3520 - lsls r0, 16 - lsrs r0, 16 - bl sub_80C527C -_080C51D6: - adds r0, r5, 0 - bl sub_80C5208 -_080C51DC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C51E4: .4byte gPaletteFade - thumb_func_end sub_80C4F08 - - thumb_func_start sub_80C51E8 -sub_80C51E8: @ 80C51E8 - push {r4,lr} - ldr r4, _080C5204 @ =gUnknown_20399FC - movs r0, 0x4 - bl AllocZeroed - str r0, [r4] - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - strb r1, [r0, 0x1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C5204: .4byte gUnknown_20399FC - thumb_func_end sub_80C51E8 - - thumb_func_start sub_80C5208 -sub_80C5208: @ 80C5208 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C5220 - bl sub_80C25BC -_080C5220: - bl sub_80C4A04 - bl sub_80C3188 - bl sub_80C4348 - bl sub_80C4D30 - bl sub_80C0898 - adds r0, r4, 0 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, _080C5250 @ =gUnknown_20399FC - ldr r0, [r0] - ldrb r0, [r0, 0x2] - cmp r0, 0x1 - bne _080C5258 - ldr r0, _080C5254 @ =CB2_ReturnToField - bl SetMainCallback2 - b _080C525E - .align 2, 0 -_080C5250: .4byte gUnknown_20399FC -_080C5254: .4byte CB2_ReturnToField -_080C5258: - ldr r0, _080C5274 @ =CB2_ReturnToPartyMenuFromFlyMap - bl SetMainCallback2 -_080C525E: - ldr r4, _080C5278 @ =gUnknown_20399FC - ldr r0, [r4] - cmp r0, 0 - beq _080C526E - bl Free - movs r0, 0 - str r0, [r4] -_080C526E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C5274: .4byte CB2_ReturnToPartyMenuFromFlyMap -_080C5278: .4byte gUnknown_20399FC - thumb_func_end sub_80C5208 - - thumb_func_start sub_80C527C -sub_80C527C: @ 80C527C - push {r4,r5,lr} - lsls r0, 16 - ldr r1, _080C52A4 @ =0xffa80000 - adds r0, r1 - lsrs r0, 16 - ldr r5, _080C52A8 @ =gUnknown_83F2EE0 - lsls r1, r0, 1 - adds r4, r1, r0 - adds r0, r5, 0x2 - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _080C52AC - bl sub_805546C - adds r0, r4, r5 - bl sub_8124C1C - b _080C52C6 - .align 2, 0 -_080C52A4: .4byte 0xffa80000 -_080C52A8: .4byte gUnknown_83F2EE0 -_080C52AC: - adds r0, r4, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r1, r5, 0x1 - adds r1, r4, r1 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - negs r2, r2 - bl warp1_set_2 -_080C52C6: - bl sub_80842C8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C527C - - thumb_func_start sub_80C52D0 -sub_80C52D0: @ 80C52D0 - push {lr} - ldr r2, _080C5318 @ =gUnknown_3005334 - ldr r1, [r0, 0x4] - str r1, [r2] - ldr r2, _080C531C @ =gUnknown_3005348 - ldrb r1, [r0, 0x1F] - strb r1, [r2] - ldr r2, _080C5320 @ =gUnknown_3005330 - ldrb r1, [r0, 0x19] - strb r1, [r2] - ldr r2, _080C5324 @ =gUnknown_3005344 - ldrb r1, [r0, 0x1A] - strb r1, [r2] - ldr r2, _080C5328 @ =gUnknown_3005340 - ldrb r1, [r0, 0x1B] - strb r1, [r2] - ldr r2, _080C532C @ =gUnknown_3005338 - ldrb r1, [r0, 0x1C] - strb r1, [r2] - ldr r2, _080C5330 @ =gUnknown_300534C - ldrb r1, [r0, 0x1D] - strb r1, [r2] - ldr r2, _080C5334 @ =gUnknown_300533C - ldrb r1, [r0, 0x1E] - strb r1, [r2] - ldrb r0, [r0] - subs r0, 0x2 - cmp r0, 0x22 - bls _080C530C - b _080C5458 -_080C530C: - lsls r0, 2 - ldr r1, _080C5338 @ =_080C533C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C5318: .4byte gUnknown_3005334 -_080C531C: .4byte gUnknown_3005348 -_080C5320: .4byte gUnknown_3005330 -_080C5324: .4byte gUnknown_3005344 -_080C5328: .4byte gUnknown_3005340 -_080C532C: .4byte gUnknown_3005338 -_080C5330: .4byte gUnknown_300534C -_080C5334: .4byte gUnknown_300533C -_080C5338: .4byte _080C533C - .align 2, 0 -_080C533C: - .4byte _080C53C8 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5428 - .4byte _080C5458 - .4byte _080C53CE - .4byte _080C53D4 - .4byte _080C53E8 - .4byte _080C53FA - .4byte _080C5458 - .4byte _080C5410 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5416 - .4byte _080C53F4 - .4byte _080C541C - .4byte _080C5422 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5434 -_080C53C8: - bl sub_80C55D4 - b _080C5458 -_080C53CE: - bl sub_80C568C - b _080C5458 -_080C53D4: - bl sub_80C5884 - ldr r0, _080C53E4 @ =gUnknown_3005348 - ldrb r0, [r0] - bl sub_80C5748 - b _080C5458 - .align 2, 0 -_080C53E4: .4byte gUnknown_3005348 -_080C53E8: - bl sub_80C5884 - bl sub_80C59D4 - bl sub_80C57EC -_080C53F4: - bl sub_80C59D4 - b _080C5458 -_080C53FA: - bl sub_80C5884 - bl sub_80C5B9C - bl sub_80C5B9C - bl sub_80C5C44 - bl sub_80C57EC - b _080C5458 -_080C5410: - bl sub_80C5A6C - b _080C5458 -_080C5416: - bl sub_80C5884 - b _080C5458 -_080C541C: - bl sub_80C5B9C - b _080C5458 -_080C5422: - bl sub_80C5C44 - b _080C5458 -_080C5428: - bl sub_80C55F4 - movs r0, 0x3 - bl sub_80C545C - b _080C5458 -_080C5434: - bl sub_80C5884 - bl sub_80C5B9C - bl sub_80C5C44 - bl sub_80C57EC - bl sub_80C568C - bl sub_80C568C - movs r0, 0x2 - bl sub_80C545C - movs r0, 0x4 - bl sub_80C5514 -_080C5458: - pop {r0} - bx r0 - thumb_func_end sub_80C52D0 - - thumb_func_start sub_80C545C -sub_80C545C: @ 80C545C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r2, 0 - ldr r0, _080C54FC @ =gUnknown_3005338 - mov r8, r0 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C54EE - ldr r1, _080C5500 @ =gUnknown_3005340 - mov r12, r1 - ldr r3, _080C5504 @ =gUnknown_300534C - mov r10, r3 - ldr r0, _080C5508 @ =gUnknown_3005330 - mov r9, r0 -_080C5482: - ldr r1, _080C550C @ =gUnknown_3005344 - ldrb r0, [r1] - adds r0, r2 - mov r3, r10 - ldrb r1, [r3] - muls r0, r1 - lsls r0, 1 - ldr r3, _080C5510 @ =gUnknown_3005334 - ldr r1, [r3] - adds r1, r0 - mov r3, r9 - ldrb r0, [r3] - lsls r0, 1 - adds r3, r1, r0 - movs r4, 0 - adds r5, r2, 0x1 - mov r0, r12 - ldrb r0, [r0] - cmp r4, r0 - bcs _080C54E2 - movs r6, 0x80 - lsls r6, 8 -_080C54AE: - ldrh r1, [r3] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _080C54D2 - movs r0, 0x1F - ands r0, r1 - adds r0, r7 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _080C54C8 - movs r2, 0x1F -_080C54C8: - lsls r0, r2, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r3] -_080C54D2: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r3, 0x2 - mov r1, r12 - ldrb r1, [r1] - cmp r4, r1 - bcc _080C54AE -_080C54E2: - lsls r0, r5, 24 - lsrs r2, r0, 24 - mov r3, r8 - ldrb r3, [r3] - cmp r2, r3 - bcc _080C5482 -_080C54EE: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C54FC: .4byte gUnknown_3005338 -_080C5500: .4byte gUnknown_3005340 -_080C5504: .4byte gUnknown_300534C -_080C5508: .4byte gUnknown_3005330 -_080C550C: .4byte gUnknown_3005344 -_080C5510: .4byte gUnknown_3005334 - thumb_func_end sub_80C545C - - thumb_func_start sub_80C5514 -sub_80C5514: @ 80C5514 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r2, 0 - ldr r0, _080C55BC @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C55AC - ldr r1, _080C55C0 @ =gUnknown_3005340 - mov r10, r1 -_080C5532: - ldr r3, _080C55C4 @ =gUnknown_3005344 - ldrb r0, [r3] - adds r0, r2 - ldr r3, _080C55C8 @ =gUnknown_300534C - ldrb r1, [r3] - muls r0, r1 - lsls r0, 1 - ldr r3, _080C55CC @ =gUnknown_3005334 - ldr r1, [r3] - adds r1, r0 - ldr r3, _080C55D0 @ =gUnknown_3005330 - ldrb r0, [r3] - lsls r0, 1 - adds r3, r1, r0 - movs r5, 0 - adds r7, r2, 0x1 - mov r0, r10 - ldrb r0, [r0] - cmp r5, r0 - bcs _080C55A0 - movs r1, 0x80 - lsls r1, 8 - mov r9, r1 - movs r0, 0x1F - mov r12, r0 - mov r1, r8 - subs r6, r0, r1 -_080C5568: - ldrh r1, [r3] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _080C5590 - movs r4, 0x1F - mov r2, r12 - ands r2, r1 - cmp r2, r6 - ble _080C5586 - mov r1, r8 - lsrs r0, r1, 1 - subs r0, r4, r0 - lsls r0, 24 - lsrs r2, r0, 24 -_080C5586: - lsls r0, r2, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r3] -_080C5590: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r3, 0x2 - mov r0, r10 - ldrb r0, [r0] - cmp r5, r0 - bcc _080C5568 -_080C55A0: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r1, _080C55BC @ =gUnknown_3005338 - ldrb r1, [r1] - cmp r2, r1 - bcc _080C5532 -_080C55AC: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C55BC: .4byte gUnknown_3005338 -_080C55C0: .4byte gUnknown_3005340 -_080C55C4: .4byte gUnknown_3005344 -_080C55C8: .4byte gUnknown_300534C -_080C55CC: .4byte gUnknown_3005334 -_080C55D0: .4byte gUnknown_3005330 - thumb_func_end sub_80C5514 - - thumb_func_start sub_80C55D4 -sub_80C55D4: @ 80C55D4 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _080C55F0 @ =0x00000c7f -_080C55DA: - lsls r0, r4, 16 - lsrs r0, 16 - bl sub_80C5CF8 - adds r4, 0x1 - cmp r4, r5 - bls _080C55DA - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C55F0: .4byte 0x00000c7f - thumb_func_end sub_80C55D4 - - thumb_func_start sub_80C55F4 -sub_80C55F4: @ 80C55F4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C5674 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C5666 - ldr r0, _080C5678 @ =gUnknown_3005334 - mov r8, r0 - ldr r3, _080C567C @ =gUnknown_3005340 -_080C560C: - ldr r0, _080C5680 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C5684 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080C5688 @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _080C565A - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080C5638: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080C564C - adds r0, r4, 0 - str r3, [sp] - bl sub_80C5ECC - strh r0, [r4] - ldr r3, [sp] -_080C564C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _080C5638 -_080C565A: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080C5674 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C560C -_080C5666: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5674: .4byte gUnknown_3005338 -_080C5678: .4byte gUnknown_3005334 -_080C567C: .4byte gUnknown_3005340 -_080C5680: .4byte gUnknown_3005344 -_080C5684: .4byte gUnknown_300534C -_080C5688: .4byte gUnknown_3005330 - thumb_func_end sub_80C55F4 - - thumb_func_start sub_80C568C -sub_80C568C: @ 80C568C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r2, 0 - ldr r0, _080C5730 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C5722 - ldr r0, _080C5734 @ =gUnknown_3005334 - mov r8, r0 - ldr r3, _080C5738 @ =gUnknown_300534C -_080C56A4: - ldr r0, _080C573C @ =gUnknown_3005344 - ldrb r1, [r0] - ldrb r0, [r3] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080C5740 @ =gUnknown_3005330 - ldrb r0, [r0] - adds r0, r2 - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - ldrb r0, [r3] - lsls r0, 1 - adds r4, r0 - ldr r0, _080C5744 @ =gUnknown_3005338 - ldrb r0, [r0] - subs r0, 0x1 - adds r7, r2, 0x1 - cmp r5, r0 - bge _080C5716 - ldr r6, _080C5738 @ =gUnknown_300534C -_080C56DA: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _080C5700 - ldrb r2, [r6] - lsls r2, 1 - adds r2, r4, r2 - mov r0, sp - adds r1, r4, 0 - str r3, [sp, 0x4] - bl sub_80C61BC - strh r0, [r4] - mov r1, sp - strh r0, [r1] - ldr r3, [sp, 0x4] -_080C5700: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r6] - lsls r0, 1 - adds r4, r0 - ldr r0, _080C5744 @ =gUnknown_3005338 - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _080C56DA -_080C5716: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, _080C5730 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C56A4 -_080C5722: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5730: .4byte gUnknown_3005340 -_080C5734: .4byte gUnknown_3005334 -_080C5738: .4byte gUnknown_300534C -_080C573C: .4byte gUnknown_3005344 -_080C5740: .4byte gUnknown_3005330 -_080C5744: .4byte gUnknown_3005338 - thumb_func_end sub_80C568C - - thumb_func_start sub_80C5748 -sub_80C5748: @ 80C5748 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r2, 0 - ldr r0, _080C57D4 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C57C4 - ldr r0, _080C57D8 @ =gUnknown_3005334 - mov r9, r0 - ldr r3, _080C57DC @ =gUnknown_3005340 -_080C5768: - ldr r0, _080C57E0 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C57E4 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r9 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080C57E8 @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _080C57B8 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080C5794: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080C57AA - adds r0, r4, 0 - mov r1, r8 - str r3, [sp] - bl sub_80C5F00 - strh r0, [r4] - ldr r3, [sp] -_080C57AA: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _080C5794 -_080C57B8: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080C57D4 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C5768 -_080C57C4: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C57D4: .4byte gUnknown_3005338 -_080C57D8: .4byte gUnknown_3005334 -_080C57DC: .4byte gUnknown_3005340 -_080C57E0: .4byte gUnknown_3005344 -_080C57E4: .4byte gUnknown_300534C -_080C57E8: .4byte gUnknown_3005330 - thumb_func_end sub_80C5748 - - thumb_func_start sub_80C57EC -sub_80C57EC: @ 80C57EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C586C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C585E - ldr r0, _080C5870 @ =gUnknown_3005334 - mov r8, r0 - ldr r3, _080C5874 @ =gUnknown_3005340 -_080C5804: - ldr r0, _080C5878 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C587C @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080C5880 @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _080C5852 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080C5830: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080C5844 - adds r0, r4, 0 - str r3, [sp] - bl sub_80C600C - strh r0, [r4] - ldr r3, [sp] -_080C5844: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _080C5830 -_080C5852: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080C586C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C5804 -_080C585E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C586C: .4byte gUnknown_3005338 -_080C5870: .4byte gUnknown_3005334 -_080C5874: .4byte gUnknown_3005340 -_080C5878: .4byte gUnknown_3005344 -_080C587C: .4byte gUnknown_300534C -_080C5880: .4byte gUnknown_3005330 - thumb_func_end sub_80C57EC - - thumb_func_start sub_80C5884 -sub_80C5884: @ 80C5884 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r7, 0 - ldr r0, _080C59BC @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r7, r0 - bcs _080C5910 - ldr r0, _080C59C0 @ =gUnknown_3005334 - mov r8, r0 -_080C589A: - ldr r0, _080C59C4 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r7 - ldr r0, _080C59C8 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r2, r8 - ldr r1, [r2] - adds r1, r0 - ldr r0, _080C59CC @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r5, r1, r0 - adds r4, r5, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80C603C - strh r0, [r5] - movs r6, 0x1 - adds r5, r4, 0 - ldr r0, _080C59D0 @ =gUnknown_3005340 - ldrb r0, [r0] - subs r0, 0x1 - adds r7, 0x1 - cmp r6, r0 - bge _080C58FA -_080C58D2: - adds r4, r5, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80C603C - strh r0, [r5] - subs r1, r5, 0x2 - adds r0, r5, 0 - bl sub_80C603C - strh r0, [r5] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r5, r4, 0 - ldr r0, _080C59D0 @ =gUnknown_3005340 - ldrb r0, [r0] - subs r0, 0x1 - cmp r6, r0 - blt _080C58D2 -_080C58FA: - subs r1, r5, 0x2 - adds r0, r5, 0 - bl sub_80C603C - strh r0, [r5] - lsls r0, r7, 24 - lsrs r7, r0, 24 - ldr r0, _080C59BC @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r7, r0 - bcc _080C589A -_080C5910: - movs r6, 0 - ldr r0, _080C59D0 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r6, r0 - bcs _080C59B0 - ldr r3, _080C59C0 @ =gUnknown_3005334 - mov r9, r3 - ldr r0, _080C59C8 @ =gUnknown_300534C - mov r8, r0 -_080C5922: - ldr r0, _080C59C4 @ =gUnknown_3005344 - ldrb r0, [r0] - mov r2, r8 - ldrb r1, [r2] - muls r0, r1 - lsls r0, 1 - mov r3, r9 - ldr r2, [r3] - adds r2, r0 - ldr r0, _080C59CC @ =gUnknown_3005330 - ldrb r0, [r0] - adds r0, r6 - lsls r0, 1 - adds r5, r2, r0 - lsls r1, 1 - adds r1, r5, r1 - adds r0, r5, 0 - bl sub_80C603C - strh r0, [r5] - movs r7, 0x1 - mov r1, r8 - ldrb r0, [r1] - lsls r0, 1 - adds r5, r0 - ldr r0, _080C59BC @ =gUnknown_3005338 - ldrb r0, [r0] - subs r0, 0x1 - adds r6, 0x1 - cmp r7, r0 - bge _080C5994 - ldr r4, _080C59C8 @ =gUnknown_300534C -_080C5962: - ldrb r1, [r4] - lsls r1, 1 - adds r1, r5, r1 - adds r0, r5, 0 - bl sub_80C603C - strh r0, [r5] - ldrb r1, [r4] - lsls r1, 1 - subs r1, r5, r1 - adds r0, r5, 0 - bl sub_80C603C - strh r0, [r5] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r4] - lsls r0, 1 - adds r5, r0 - ldr r0, _080C59BC @ =gUnknown_3005338 - ldrb r0, [r0] - subs r0, 0x1 - cmp r7, r0 - blt _080C5962 -_080C5994: - mov r2, r8 - ldrb r1, [r2] - lsls r1, 1 - subs r1, r5, r1 - adds r0, r5, 0 - bl sub_80C603C - strh r0, [r5] - lsls r0, r6, 24 - lsrs r6, r0, 24 - ldr r0, _080C59D0 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r6, r0 - bcc _080C5922 -_080C59B0: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C59BC: .4byte gUnknown_3005338 -_080C59C0: .4byte gUnknown_3005334 -_080C59C4: .4byte gUnknown_3005344 -_080C59C8: .4byte gUnknown_300534C -_080C59CC: .4byte gUnknown_3005330 -_080C59D0: .4byte gUnknown_3005340 - thumb_func_end sub_80C5884 - - thumb_func_start sub_80C59D4 -sub_80C59D4: @ 80C59D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C5A54 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C5A46 - ldr r0, _080C5A58 @ =gUnknown_3005334 - mov r8, r0 - ldr r3, _080C5A5C @ =gUnknown_3005340 -_080C59EC: - ldr r0, _080C5A60 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C5A64 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080C5A68 @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _080C5A3A - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080C5A18: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080C5A2C - adds r0, r4, 0 - str r3, [sp] - bl sub_80C606C - strh r0, [r4] - ldr r3, [sp] -_080C5A2C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _080C5A18 -_080C5A3A: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080C5A54 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C59EC -_080C5A46: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5A54: .4byte gUnknown_3005338 -_080C5A58: .4byte gUnknown_3005334 -_080C5A5C: .4byte gUnknown_3005340 -_080C5A60: .4byte gUnknown_3005344 -_080C5A64: .4byte gUnknown_300534C -_080C5A68: .4byte gUnknown_3005330 - thumb_func_end sub_80C59D4 - - thumb_func_start sub_80C5A6C -sub_80C5A6C: @ 80C5A6C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, _080C5B98 @ =gUnknown_3005334 - ldr r4, [r0] - movs r6, 0 - movs r0, 0x80 - lsls r0, 8 - adds r5, r0, 0 -_080C5A84: - movs r7, 0 -_080C5A86: - ldrh r0, [r4] - ands r0, r5 - cmp r0, 0 - bne _080C5A96 - adds r0, r4, 0 - bl sub_80C606C - strh r0, [r4] -_080C5A96: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, 0x2 - cmp r7, 0x3F - bls _080C5A86 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3F - bls _080C5A84 - movs r7, 0 - ldr r1, _080C5B98 @ =gUnknown_3005334 - mov r10, r1 - mov r3, sp - movs r2, 0x80 - lsls r2, 8 - mov r9, r2 -_080C5ABA: - lsls r0, r7, 1 - mov r2, r10 - ldr r1, [r2] - adds r4, r1, r0 - ldrh r1, [r4] - strh r1, [r3] - mov r1, r9 - strh r1, [r4] - movs r6, 0x1 - adds r4, 0x80 - adds r5, r0, 0 -_080C5AD0: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - ands r0, r2 - cmp r0, 0 - bne _080C5AF0 - adds r2, r4, 0 - adds r2, 0x80 - mov r0, sp - adds r1, r4, 0 - str r3, [sp, 0x4] - bl sub_80C62DC - strh r0, [r4] - ldr r3, [sp, 0x4] - strh r0, [r3] -_080C5AF0: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, 0x80 - cmp r6, 0x3E - bls _080C5AD0 - mov r0, r9 - strh r0, [r4] - mov r1, r10 - ldr r0, [r1] - adds r4, r0, r5 - ldrh r0, [r4] - strh r0, [r3] - mov r2, r9 - strh r2, [r4] - movs r6, 0x1 - adds r4, 0x80 - movs r0, 0x80 - lsls r0, 8 - mov r8, r0 -_080C5B18: - ldrh r0, [r4] - mov r1, r8 - ands r0, r1 - adds r5, r4, 0 - adds r5, 0x80 - cmp r0, 0 - bne _080C5B38 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - str r3, [sp, 0x4] - bl sub_80C62DC - strh r0, [r4] - ldr r3, [sp, 0x4] - strh r0, [r3] -_080C5B38: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, r5, 0 - cmp r6, 0x3E - bls _080C5B18 - mov r2, r9 - strh r2, [r4] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3F - bls _080C5ABA - ldr r0, _080C5B98 @ =gUnknown_3005334 - ldr r4, [r0] - movs r6, 0 - movs r0, 0x80 - lsls r0, 8 - mov r8, r0 -_080C5B5E: - movs r7, 0 - adds r5, r6, 0x1 -_080C5B62: - ldrh r0, [r4] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _080C5B74 - adds r0, r4, 0 - bl sub_80C606C - strh r0, [r4] -_080C5B74: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, 0x2 - cmp r7, 0x3F - bls _080C5B62 - lsls r0, r5, 24 - lsrs r6, r0, 24 - cmp r6, 0x3F - bls _080C5B5E - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5B98: .4byte gUnknown_3005334 - thumb_func_end sub_80C5A6C - - thumb_func_start sub_80C5B9C -sub_80C5B9C: @ 80C5B9C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C5C2C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C5C1E - ldr r0, _080C5C30 @ =gUnknown_3005334 - mov r8, r0 -_080C5BB2: - ldr r0, _080C5C34 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C5C38 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080C5C3C @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - adds r4, 0x2 - ldr r0, _080C5C40 @ =gUnknown_3005340 - ldrb r0, [r0] - subs r0, 0x1 - adds r6, r2, 0x1 - cmp r5, r0 - bge _080C5C12 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080C5BEA: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080C5C00 - mov r0, sp - adds r1, r4, 0 - bl sub_80C6098 - strh r0, [r4] - mov r1, sp - strh r0, [r1] -_080C5C00: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, _080C5C40 @ =gUnknown_3005340 - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _080C5BEA -_080C5C12: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080C5C2C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C5BB2 -_080C5C1E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5C2C: .4byte gUnknown_3005338 -_080C5C30: .4byte gUnknown_3005334 -_080C5C34: .4byte gUnknown_3005344 -_080C5C38: .4byte gUnknown_300534C -_080C5C3C: .4byte gUnknown_3005330 -_080C5C40: .4byte gUnknown_3005340 - thumb_func_end sub_80C5B9C - - thumb_func_start sub_80C5C44 -sub_80C5C44: @ 80C5C44 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r2, 0 - ldr r0, _080C5CE0 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C5CD2 - ldr r0, _080C5CE4 @ =gUnknown_3005334 - mov r8, r0 - ldr r7, _080C5CE8 @ =gUnknown_300534C -_080C5C5C: - ldr r0, _080C5CEC @ =gUnknown_3005344 - ldrb r1, [r0] - ldrb r0, [r7] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080C5CF0 @ =gUnknown_3005330 - ldrb r0, [r0] - adds r0, r2 - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - ldrb r0, [r7] - lsls r0, 1 - adds r4, r0 - ldr r0, _080C5CF4 @ =gUnknown_3005338 - ldrb r0, [r0] - subs r0, 0x1 - adds r6, r2, 0x1 - cmp r5, r0 - bge _080C5CC6 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_080C5C96: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - bne _080C5CB0 - mov r0, sp - adds r1, r4, 0 - str r2, [sp, 0x4] - bl sub_80C6098 - strh r0, [r4] - mov r1, sp - strh r0, [r1] - ldr r2, [sp, 0x4] -_080C5CB0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r7] - lsls r0, 1 - adds r4, r0 - ldr r0, _080C5CF4 @ =gUnknown_3005338 - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _080C5C96 -_080C5CC6: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080C5CE0 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C5C5C -_080C5CD2: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5CE0: .4byte gUnknown_3005340 -_080C5CE4: .4byte gUnknown_3005334 -_080C5CE8: .4byte gUnknown_300534C -_080C5CEC: .4byte gUnknown_3005344 -_080C5CF0: .4byte gUnknown_3005330 -_080C5CF4: .4byte gUnknown_3005338 - thumb_func_end sub_80C5C44 - - thumb_func_start sub_80C5CF8 -sub_80C5CF8: @ 80C5CF8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - mov r2, sp - ldr r3, _080C5D64 @ =gUnknown_83F3024 - lsls r1, r0, 1 - add r1, r10 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - strb r0, [r2, 0x1] - mov r5, sp - adds r0, r3, 0x2 - adds r1, r0 - ldrb r4, [r1] - lsls r2, r4, 24 - lsrs r1, r2, 27 - movs r0, 0x7 - ands r1, r0 - strh r1, [r5, 0x2] - lsrs r2, 25 - mov r9, r2 - movs r0, 0x3 - ands r2, r0 - mov r9, r2 - movs r5, 0x1 - ands r5, r4 - movs r4, 0x1 - mov r8, r4 - cmp r8, r1 - bcs _080C5DAA - mov r3, sp -_080C5D4A: - cmp r5, 0 - bne _080C5D68 - mov r0, r8 - lsls r2, r0, 2 - mov r4, sp - adds r1, r4, r2 - ldrb r0, [r3] - mov r4, r8 - subs r0, r4 - strb r0, [r1] - ldrb r0, [r3, 0x1] - add r0, r8 - b _080C5D7A - .align 2, 0 -_080C5D64: .4byte gUnknown_83F3024 -_080C5D68: - mov r0, r8 - lsls r2, r0, 2 - mov r4, sp - adds r1, r4, r2 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r1] - ldrb r0, [r3, 0x1] - subs r0, 0x1 -_080C5D7A: - strb r0, [r1, 0x1] - add r2, sp - ldrb r0, [r2] - cmp r0, 0x3F - bhi _080C5D8A - ldrb r0, [r2, 0x1] - cmp r0, 0x3F - bls _080C5D92 -_080C5D8A: - mov r0, r8 - subs r0, 0x1 - strh r0, [r3, 0x2] - b _080C5DAA -_080C5D92: - ldrh r0, [r3, 0x2] - mov r1, r8 - subs r0, r1 - strh r0, [r2, 0x2] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r0, [r3, 0x2] - cmp r8, r0 - bcc _080C5D4A -_080C5DAA: - movs r2, 0 - mov r8, r2 - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r8, r0 - bcc _080C5DB8 - b _080C5EBA -_080C5DB8: - movs r3, 0x1F -_080C5DBA: - ldr r1, _080C5E18 @ =gUnknown_3005334 - mov r4, r8 - lsls r0, r4, 2 - mov r2, sp - adds r6, r2, r0 - ldrb r0, [r6, 0x1] - lsls r0, 7 - ldr r1, [r1] - adds r1, r0 - ldrb r0, [r6] - lsls r0, 1 - adds r2, r1, r0 - ldrh r1, [r2] - movs r4, 0x80 - lsls r4, 8 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _080C5EA6 - movs r7, 0x1F - ands r7, r1 - lsls r0, r1, 16 - lsrs r5, r0, 21 - ands r5, r3 - lsrs r4, r0, 26 - ands r4, r3 - mov r0, r9 - cmp r0, 0 - blt _080C5E9C - cmp r0, 0x1 - ble _080C5E1C - cmp r0, 0x3 - bgt _080C5E9C - ldrh r0, [r6, 0x2] - adds r1, r7, r0 - lsls r1, 16 - lsrs r7, r1, 16 - adds r1, r5, r0 - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r7, 0x1F - bls _080C5E90 - movs r7, 0x1F - b _080C5E90 - .align 2, 0 -_080C5E18: .4byte gUnknown_3005334 -_080C5E1C: - mov r1, r10 - lsls r0, r1, 1 - add r0, r10 - ldr r1, _080C5E50 @ =gUnknown_83F3024 - adds r1, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsrs r0, 3 - movs r1, 0x7 - ands r0, r1 - movs r1, 0x3 - str r2, [sp, 0x18] - str r3, [sp, 0x1C] - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - cmp r0, 0x1 - beq _080C5E6C - cmp r0, 0x1 - bgt _080C5E54 - cmp r0, 0 - beq _080C5E5A - b _080C5E9C - .align 2, 0 -_080C5E50: .4byte gUnknown_83F3024 -_080C5E54: - cmp r0, 0x2 - beq _080C5E7E - b _080C5E9C -_080C5E5A: - ldrh r0, [r6, 0x2] - cmp r7, r0 - bcc _080C5E68 - subs r0, r7, r0 - lsls r0, 16 - lsrs r7, r0, 16 - b _080C5E9C -_080C5E68: - movs r7, 0 - b _080C5E9C -_080C5E6C: - ldrh r0, [r6, 0x2] - cmp r5, r0 - bcc _080C5E7A - subs r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 - b _080C5E9C -_080C5E7A: - movs r5, 0 - b _080C5E9C -_080C5E7E: - ldrh r0, [r6, 0x2] - cmp r4, r0 - bcc _080C5E8C - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - b _080C5E9C -_080C5E8C: - movs r4, 0 - b _080C5E9C -_080C5E90: - cmp r5, 0x1F - bls _080C5E96 - movs r5, 0x1F -_080C5E96: - cmp r4, 0x1F - bls _080C5E9C - movs r4, 0x1F -_080C5E9C: - lsls r0, r4, 10 - lsls r1, r5, 5 - orrs r0, r1 - orrs r7, r0 - strh r7, [r2] -_080C5EA6: - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r8, r0 - bcs _080C5EBA - b _080C5DBA -_080C5EBA: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C5CF8 - - thumb_func_start sub_80C5ECC -sub_80C5ECC: @ 80C5ECC - push {lr} - ldrh r1, [r0] - movs r3, 0x1F - movs r0, 0x1F - ands r0, r1 - lsls r1, 16 - lsrs r2, r1, 21 - ands r2, r3 - lsrs r1, 26 - ands r1, r3 - adds r0, r2 - adds r0, r1 - movs r1, 0x3 - bl __divsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r0, r1, 10 - lsls r2, r1, 5 - orrs r0, r2 - orrs r0, r1 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80C5ECC - - thumb_func_start sub_80C5F00 -sub_80C5F00: @ 80C5F00 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrh r0, [r0] - movs r2, 0x1F - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r3, r0, 21 - ands r3, r2 - lsrs r0, 26 - ands r0, r2 - cmp r1, 0x10 - bhi _080C5F30 - cmp r3, 0x10 - bhi _080C5F30 - cmp r0, 0x10 - bhi _080C5F30 - adds r0, r4, 0 - bl sub_80C5F3C - lsls r0, 16 - lsrs r0, 16 - b _080C5F32 -_080C5F30: - ldr r0, _080C5F38 @ =0x00007fff -_080C5F32: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C5F38: .4byte 0x00007fff - thumb_func_end sub_80C5F00 - - thumb_func_start sub_80C5F3C -sub_80C5F3C: @ 80C5F3C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - mov r8, r0 - movs r6, 0 - movs r7, 0 - adds r0, r4, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bhi _080C5FF4 - lsls r0, 2 - ldr r1, _080C5F80 @ =_080C5F84 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C5F80: .4byte _080C5F84 - .align 2, 0 -_080C5F84: - .4byte _080C5F9C - .4byte _080C5FAC - .4byte _080C5FBC - .4byte _080C5FCA - .4byte _080C5FD8 - .4byte _080C5FE6 -_080C5F9C: - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r6, r0, 16 - adds r7, r6, 0 - movs r1, 0 - mov r8, r1 - b _080C5FF4 -_080C5FAC: - movs r7, 0 - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - mov r6, r8 - b _080C5FF4 -_080C5FBC: - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r7, r0, 16 - movs r6, 0 - mov r8, r7 - b _080C5FF4 -_080C5FCA: - movs r7, 0 - movs r6, 0 - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r0, 16 - b _080C5FF2 -_080C5FD8: - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r7, r0, 16 - movs r6, 0 - mov r8, r6 - b _080C5FF4 -_080C5FE6: - movs r7, 0 - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r6, r0, 16 - movs r0, 0 -_080C5FF2: - mov r8, r0 -_080C5FF4: - lsls r0, r7, 10 - lsls r1, r6, 5 - orrs r0, r1 - mov r1, r8 - orrs r1, r0 - lsls r0, r1, 16 - lsrs r0, 16 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C5F3C - - thumb_func_start sub_80C600C -sub_80C600C: @ 80C600C - push {lr} - ldrh r0, [r0] - movs r2, 0x1F - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r3, r0, 21 - ands r3, r2 - lsrs r0, 26 - ands r0, r2 - cmp r1, 0x10 - bhi _080C6030 - cmp r3, 0x10 - bhi _080C6030 - cmp r0, 0x10 - bhi _080C6030 - movs r0, 0 - b _080C6032 -_080C6030: - ldr r0, _080C6038 @ =0x00007fff -_080C6032: - pop {r1} - bx r1 - .align 2, 0 -_080C6038: .4byte 0x00007fff - thumb_func_end sub_80C600C - - thumb_func_start sub_80C603C -sub_80C603C: @ 80C603C - push {r4,lr} - adds r4, r0, 0 - ldrh r3, [r4] - cmp r3, 0 - beq _080C6064 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _080C6056 - adds r0, r2, 0 - b _080C6066 -_080C6056: - ldrh r1, [r1] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _080C6064 - ldrh r0, [r4] - b _080C6066 -_080C6064: - movs r0, 0 -_080C6066: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C603C - - thumb_func_start sub_80C606C -sub_80C606C: @ 80C606C - push {r4,lr} - ldrh r1, [r0] - movs r0, 0x1F - movs r3, 0x1F - ands r3, r1 - lsls r1, 16 - lsrs r2, r1, 21 - lsrs r1, 26 - subs r3, r0, r3 - adds r4, r0, 0 - bics r4, r2 - adds r2, r4, 0 - bics r0, r1 - lsls r0, 10 - lsls r2, 5 - orrs r0, r2 - orrs r0, r3 - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C606C - - thumb_func_start sub_80C6098 -sub_80C6098: @ 80C6098 - push {r4-r7,lr} - sub sp, 0x14 - adds r7, r1, 0 - ldrh r4, [r0] - ldrh r5, [r7] - lsls r6, r4, 16 - lsls r0, r5, 16 - mov r12, r0 - cmp r4, r5 - beq _080C610A - mov r2, sp - movs r3, 0x1F - movs r1, 0x1F - adds r0, r1, 0 - ands r0, r4 - strh r0, [r2] - lsrs r0, r6, 21 - ands r0, r3 - strh r0, [r2, 0x2] - lsrs r0, r6, 26 - ands r0, r3 - strh r0, [r2, 0x4] - mov r0, sp - ands r1, r5 - strh r1, [r0, 0x6] - mov r1, sp - mov r2, r12 - lsrs r0, r2, 21 - ands r0, r3 - strh r0, [r1, 0x8] - lsrs r0, r2, 26 - ands r0, r3 - strh r0, [r1, 0xA] - mov r0, sp - ldrh r0, [r0] - cmp r0, 0x19 - bls _080C60F2 - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r0, 0x19 - bls _080C60F2 - mov r0, sp - ldrh r0, [r0, 0x4] - cmp r0, 0x19 - bhi _080C610A -_080C60F2: - mov r0, sp - ldrh r0, [r0, 0x6] - cmp r0, 0x19 - bls _080C610E - mov r0, sp - ldrh r0, [r0, 0x8] - cmp r0, 0x19 - bls _080C610E - mov r0, sp - ldrh r0, [r0, 0xA] - cmp r0, 0x19 - bls _080C610E -_080C610A: - ldrh r0, [r7] - b _080C61B4 -_080C610E: - movs r4, 0 - add r6, sp, 0xC - mov r7, sp - adds r7, 0x6 - adds r5, r6, 0 -_080C6118: - lsls r2, r4, 1 - mov r1, sp - adds r0, r1, r2 - adds r1, r7, r2 - ldrh r3, [r0] - ldrh r0, [r1] - cmp r3, r0 - bls _080C612E - adds r1, r5, r2 - subs r0, r3, r0 - b _080C6132 -_080C612E: - adds r1, r5, r2 - subs r0, r3 -_080C6132: - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _080C6118 - adds r1, r6, 0 - ldrh r0, [r1, 0x2] - ldrh r3, [r1] - cmp r3, r0 - bcc _080C6158 - ldrh r2, [r1, 0x4] - cmp r3, r2 - bcc _080C6152 - adds r2, r3, 0 - b _080C616C -_080C6152: - cmp r0, r2 - bcs _080C615E - b _080C6166 -_080C6158: - ldrh r2, [r1, 0x4] - cmp r0, r2 - bcc _080C6162 -_080C615E: - ldrh r2, [r1, 0x2] - b _080C616C -_080C6162: - cmp r2, r3 - bcc _080C616A -_080C6166: - ldrh r2, [r1, 0x4] - b _080C616C -_080C616A: - ldrh r2, [r6] -_080C616C: - mov r0, sp - ldrh r1, [r0, 0x6] - lsrs r0, r2, 1 - movs r6, 0x1F - subs r6, r0 - adds r0, r1, 0 - muls r0, r6 - movs r1, 0x1F - bl __divsi3 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - mov r0, sp - ldrh r0, [r0, 0x8] - muls r0, r6 - movs r1, 0x1F - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, sp - ldrh r0, [r0, 0xA] - muls r0, r6 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 6 - lsls r4, 5 - orrs r0, r4 - orrs r5, r0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r5, 0 -_080C61B4: - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C6098 - - thumb_func_start sub_80C61BC -sub_80C61BC: @ 80C61BC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r3, r0, 0 - mov r10, r1 - str r2, [sp] - ldrh r1, [r3] - mov r0, r10 - ldrh r0, [r0] - cmp r1, r0 - bne _080C61E4 - ldrh r0, [r2] - cmp r0, r1 - bne _080C61E4 - mov r1, r10 - ldrh r0, [r1] - b _080C62CC -_080C61E4: - mov r2, r10 - ldrh r0, [r2] - movs r1, 0x1F - mov r9, r1 - movs r4, 0x1F - adds r5, r4, 0 - ands r5, r0 - lsls r0, 16 - lsrs r2, r0, 21 - mov r1, r9 - ands r1, r2 - mov r8, r1 - lsrs r0, 26 - mov r2, r9 - ands r2, r0 - str r2, [sp, 0x4] - ldrh r2, [r3] - adds r0, r4, 0 - ands r0, r2 - lsls r2, 16 - lsrs r1, r2, 21 - mov r3, r9 - ands r1, r3 - adds r0, r1 - lsrs r2, 26 - ands r2, r3 - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - mov r1, r8 - adds r0, r5, r1 - ldr r2, [sp, 0x4] - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, [sp] - ldrh r1, [r3] - ands r4, r1 - lsls r1, 16 - lsrs r0, r1, 21 - mov r2, r9 - ands r0, r2 - adds r4, r0 - lsrs r1, 26 - ands r1, r2 - adds r4, r1 - adds r0, r4, 0 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r7, r6 - bne _080C6266 - cmp r1, r6 - bne _080C6266 - mov r3, r10 - ldrh r0, [r3] - b _080C62CC -_080C6266: - cmp r7, r6 - bls _080C626E - subs r0, r7, r6 - b _080C6270 -_080C626E: - subs r0, r6, r7 -_080C6270: - lsls r0, 16 - lsrs r2, r0, 16 - cmp r1, r6 - bls _080C627C - subs r0, r1, r6 - b _080C627E -_080C627C: - subs r0, r6, r1 -_080C627E: - lsls r0, 16 - lsrs r0, 16 - cmp r2, r0 - bcc _080C6288 - adds r0, r2, 0 -_080C6288: - lsrs r0, 1 - movs r4, 0x1F - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r8 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, [sp, 0x4] - adds r0, r1, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 6 - mov r2, r8 - lsls r1, r2, 5 - orrs r0, r1 - orrs r5, r0 - lsls r0, r5, 16 - lsrs r0, 16 -_080C62CC: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C61BC - - thumb_func_start sub_80C62DC -sub_80C62DC: @ 80C62DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r3, r0, 0 - mov r10, r1 - str r2, [sp] - ldrh r1, [r3] - mov r0, r10 - ldrh r0, [r0] - cmp r1, r0 - bne _080C6304 - ldrh r0, [r2] - cmp r0, r1 - bne _080C6304 - mov r1, r10 - ldrh r0, [r1] - b _080C63EA -_080C6304: - mov r2, r10 - ldrh r0, [r2] - movs r1, 0x1F - mov r9, r1 - movs r4, 0x1F - adds r5, r4, 0 - ands r5, r0 - lsls r0, 16 - lsrs r2, r0, 21 - mov r1, r9 - ands r1, r2 - mov r8, r1 - lsrs r0, 26 - mov r2, r9 - ands r2, r0 - str r2, [sp, 0x4] - ldrh r2, [r3] - adds r0, r4, 0 - ands r0, r2 - lsls r2, 16 - lsrs r1, r2, 21 - mov r3, r9 - ands r1, r3 - adds r0, r1 - lsrs r2, 26 - ands r2, r3 - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - mov r1, r8 - adds r0, r5, r1 - ldr r2, [sp, 0x4] - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, [sp] - ldrh r1, [r3] - ands r4, r1 - lsls r1, 16 - lsrs r0, r1, 21 - mov r2, r9 - ands r0, r2 - adds r4, r0 - lsrs r1, 26 - ands r1, r2 - adds r4, r1 - adds r0, r4, 0 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r7, r6 - bne _080C6386 - cmp r1, r6 - bne _080C6386 - mov r3, r10 - ldrh r0, [r3] - b _080C63EA -_080C6386: - cmp r7, r6 - bls _080C638E - subs r0, r7, r6 - b _080C6390 -_080C638E: - subs r0, r6, r7 -_080C6390: - lsls r0, 16 - lsrs r2, r0, 16 - cmp r1, r6 - bls _080C639C - subs r0, r1, r6 - b _080C639E -_080C639C: - subs r0, r6, r1 -_080C639E: - lsls r0, 16 - lsrs r0, 16 - cmp r2, r0 - bcc _080C63A8 - adds r0, r2, 0 -_080C63A8: - movs r4, 0x1F - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r8 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, [sp, 0x4] - adds r0, r1, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 6 - mov r2, r8 - lsls r1, r2, 5 - orrs r0, r1 - orrs r5, r0 - lsls r0, r5, 16 - lsrs r0, 16 -_080C63EA: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C62DC - - thumb_func_start sub_80C63FC -sub_80C63FC: @ 80C63FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - ldrb r1, [r0, 0x1D] - lsrs r5, r1, 3 - ldrb r1, [r0, 0x1E] - lsrs r1, 3 - str r1, [sp, 0x8] - ldr r1, [r0, 0x4] - str r1, [sp] - ldr r2, [r0, 0x10] - str r2, [sp, 0x4] - ldrh r0, [r0, 0x16] - cmp r0, 0x2 - bne _080C64AC - movs r1, 0 - ldr r0, [sp, 0x8] - cmp r1, r0 - bcc _080C642A - b _080C6538 -_080C642A: - movs r0, 0 - adds r2, r1, 0x1 - mov r10, r2 - cmp r0, r5 - bcs _080C649E - adds r2, r1, 0 - muls r2, r5 - mov r9, r2 - lsls r1, 3 - mov r8, r1 -_080C643E: - movs r4, 0 - lsls r6, r0, 4 - adds r7, r0, 0x1 - add r0, r9 - lsls r0, 6 - ldr r1, [sp, 0x4] - adds r1, r0 - mov r12, r1 -_080C644E: - lsls r0, r4, 3 - mov r2, r12 - adds r3, r2, r0 - mov r1, r8 - adds r0, r1, r4 - lsls r0, 3 - muls r0, r5 - lsls r0, 1 - ldr r2, [sp] - adds r0, r2, r0 - adds r2, r0, r6 - ldrh r0, [r2, 0x2] - lsls r0, 8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r3] - ldrh r0, [r2, 0x6] - lsls r0, 8 - ldrh r1, [r2, 0x4] - orrs r0, r1 - strh r0, [r3, 0x2] - ldrh r0, [r2, 0xA] - lsls r0, 8 - ldrh r1, [r2, 0x8] - orrs r0, r1 - strh r0, [r3, 0x4] - ldrh r0, [r2, 0xE] - lsls r0, 8 - ldrh r1, [r2, 0xC] - orrs r0, r1 - strh r0, [r3, 0x6] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x7 - bls _080C644E - lsls r0, r7, 16 - lsrs r0, 16 - cmp r0, r5 - bcc _080C643E -_080C649E: - mov r1, r10 - lsls r0, r1, 16 - lsrs r1, r0, 16 - ldr r2, [sp, 0x8] - cmp r1, r2 - bcc _080C642A - b _080C6538 -_080C64AC: - movs r1, 0 - ldr r0, [sp, 0x8] - cmp r1, r0 - bcs _080C6538 -_080C64B4: - movs r0, 0 - adds r2, r1, 0x1 - mov r10, r2 - cmp r0, r5 - bcs _080C652C - adds r2, r1, 0 - muls r2, r5 - mov r9, r2 - lsls r1, 3 - mov r8, r1 -_080C64C8: - movs r4, 0 - lsls r6, r0, 4 - adds r7, r0, 0x1 - add r0, r9 - lsls r0, 5 - ldr r1, [sp, 0x4] - adds r1, r0 - mov r12, r1 -_080C64D8: - lsls r0, r4, 2 - mov r2, r12 - adds r3, r2, r0 - mov r1, r8 - adds r0, r1, r4 - lsls r0, 3 - muls r0, r5 - lsls r0, 1 - ldr r2, [sp] - adds r0, r2, r0 - adds r2, r0, r6 - ldrh r1, [r2, 0x2] - lsls r1, 4 - ldrh r0, [r2] - orrs r1, r0 - ldrh r0, [r2, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrh r0, [r2, 0x6] - lsls r0, 12 - orrs r1, r0 - strh r1, [r3] - ldrh r1, [r2, 0xA] - lsls r1, 4 - ldrh r0, [r2, 0x8] - orrs r1, r0 - ldrh r0, [r2, 0xC] - lsls r0, 8 - orrs r1, r0 - ldrh r0, [r2, 0xE] - lsls r0, 12 - orrs r1, r0 - strh r1, [r3, 0x2] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x7 - bls _080C64D8 - lsls r0, r7, 16 - lsrs r0, 16 - cmp r0, r5 - bcc _080C64C8 -_080C652C: - mov r1, r10 - lsls r0, r1, 16 - lsrs r1, r0, 16 - ldr r2, [sp, 0x8] - cmp r1, r2 - bcc _080C64B4 -_080C6538: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C63FC - - thumb_func_start sub_80C6548 -sub_80C6548: @ 80C6548 - push {lr} - ldr r2, _080C6598 @ =gUnknown_3005354 - ldrb r1, [r0, 0x18] - lsls r1, 4 - strh r1, [r2] - ldr r3, _080C659C @ =gUnknown_3005350 - ldrh r2, [r2] - lsls r2, 1 - ldr r1, [r0, 0x8] - adds r1, r2 - str r1, [r3] - ldr r2, _080C65A0 @ =gUnknown_3005334 - ldr r1, [r0, 0x4] - str r1, [r2] - ldr r2, _080C65A4 @ =gUnknown_3005330 - ldrb r1, [r0, 0x19] - strb r1, [r2] - ldr r2, _080C65A8 @ =gUnknown_3005344 - ldrb r1, [r0, 0x1A] - strb r1, [r2] - ldr r2, _080C65AC @ =gUnknown_3005340 - ldrb r1, [r0, 0x1B] - strb r1, [r2] - ldr r2, _080C65B0 @ =gUnknown_3005338 - ldrb r1, [r0, 0x1C] - strb r1, [r2] - ldr r2, _080C65B4 @ =gUnknown_300534C - ldrb r1, [r0, 0x1D] - strb r1, [r2] - ldr r2, _080C65B8 @ =gUnknown_300533C - ldrb r1, [r0, 0x1E] - strb r1, [r2] - ldrh r0, [r0, 0x14] - cmp r0, 0x5 - bhi _080C660E - lsls r0, 2 - ldr r1, _080C65BC @ =_080C65C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C6598: .4byte gUnknown_3005354 -_080C659C: .4byte gUnknown_3005350 -_080C65A0: .4byte gUnknown_3005334 -_080C65A4: .4byte gUnknown_3005330 -_080C65A8: .4byte gUnknown_3005344 -_080C65AC: .4byte gUnknown_3005340 -_080C65B0: .4byte gUnknown_3005338 -_080C65B4: .4byte gUnknown_300534C -_080C65B8: .4byte gUnknown_300533C -_080C65BC: .4byte _080C65C0 - .align 2, 0 -_080C65C0: - .4byte _080C65D8 - .4byte _080C65E0 - .4byte _080C65E8 - .4byte _080C65F2 - .4byte _080C65FC - .4byte _080C6606 -_080C65D8: - movs r0, 0 - bl sub_80C6748 - b _080C660E -_080C65E0: - movs r0, 0x1 - bl sub_80C6748 - b _080C660E -_080C65E8: - bl sub_80C6614 - bl sub_80C6AB8 - b _080C660E -_080C65F2: - bl sub_80C6714 - bl sub_80C6A08 - b _080C660E -_080C65FC: - bl sub_80C66D8 - bl sub_80C6958 - b _080C660E -_080C6606: - bl sub_80C66BC - bl sub_80C68A0 -_080C660E: - pop {r0} - bx r0 - thumb_func_end sub_80C6548 - - thumb_func_start sub_80C6614 -sub_80C6614: @ 80C6614 - ldr r2, _080C667C @ =gUnknown_3005350 - ldr r1, [r2] - movs r0, 0 - strh r0, [r1] - ldr r0, [r2] - ldr r2, _080C6680 @ =0x000018c6 - adds r1, r2, 0 - strh r1, [r0, 0x2] - ldr r2, _080C6684 @ =0x000077bd - adds r1, r2, 0 - strh r1, [r0, 0x4] - ldr r2, _080C6688 @ =0x00002d6b - adds r1, r2, 0 - strh r1, [r0, 0x6] - ldr r2, _080C668C @ =0x000018dd - adds r1, r2, 0 - strh r1, [r0, 0x8] - ldr r2, _080C6690 @ =0x00001ba6 - adds r1, r2, 0 - strh r1, [r0, 0xA] - ldr r2, _080C6694 @ =0x000074c6 - adds r1, r2, 0 - strh r1, [r0, 0xC] - ldr r2, _080C6698 @ =0x00001bbd - adds r1, r2, 0 - strh r1, [r0, 0xE] - ldr r2, _080C669C @ =0x000074dd - adds r1, r2, 0 - strh r1, [r0, 0x10] - ldr r2, _080C66A0 @ =0x000077a6 - adds r1, r2, 0 - strh r1, [r0, 0x12] - ldr r2, _080C66A4 @ =0x0000197d - adds r1, r2, 0 - strh r1, [r0, 0x14] - ldr r2, _080C66A8 @ =0x00001bab - adds r1, r2, 0 - strh r1, [r0, 0x16] - ldr r2, _080C66AC @ =0x00007566 - adds r1, r2, 0 - strh r1, [r0, 0x18] - ldr r2, _080C66B0 @ =0x00002cdd - adds r1, r2, 0 - strh r1, [r0, 0x1A] - ldr r2, _080C66B4 @ =0x00002fa6 - adds r1, r2, 0 - strh r1, [r0, 0x1C] - ldr r2, _080C66B8 @ =0x000074cb - adds r1, r2, 0 - strh r1, [r0, 0x1E] - bx lr - .align 2, 0 -_080C667C: .4byte gUnknown_3005350 -_080C6680: .4byte 0x000018c6 -_080C6684: .4byte 0x000077bd -_080C6688: .4byte 0x00002d6b -_080C668C: .4byte 0x000018dd -_080C6690: .4byte 0x00001ba6 -_080C6694: .4byte 0x000074c6 -_080C6698: .4byte 0x00001bbd -_080C669C: .4byte 0x000074dd -_080C66A0: .4byte 0x000077a6 -_080C66A4: .4byte 0x0000197d -_080C66A8: .4byte 0x00001bab -_080C66AC: .4byte 0x00007566 -_080C66B0: .4byte 0x00002cdd -_080C66B4: .4byte 0x00002fa6 -_080C66B8: .4byte 0x000074cb - thumb_func_end sub_80C6614 - - thumb_func_start sub_80C66BC -sub_80C66BC: @ 80C66BC - ldr r2, _080C66D0 @ =gUnknown_3005350 - ldr r0, [r2] - movs r1, 0 - strh r1, [r0] - ldr r2, [r2] - strh r1, [r2, 0x2] - ldr r1, _080C66D4 @ =0x00007fff - adds r0, r1, 0 - strh r0, [r2, 0x4] - bx lr - .align 2, 0 -_080C66D0: .4byte gUnknown_3005350 -_080C66D4: .4byte 0x00007fff - thumb_func_end sub_80C66BC - - thumb_func_start sub_80C66D8 -sub_80C66D8: @ 80C66D8 - push {r4,r5,lr} - ldr r1, _080C6710 @ =gUnknown_3005350 - ldr r0, [r1] - movs r2, 0 - strh r2, [r0] - ldr r0, [r1] - strh r2, [r0, 0x2] - movs r4, 0 - adds r5, r1, 0 -_080C66EA: - ldr r0, [r5] - lsls r2, r4, 1 - adds r2, r0 - adds r0, r4, 0x2 - lsls r3, r0, 1 - lsls r1, r0, 11 - lsls r0, 6 - orrs r1, r0 - orrs r1, r3 - strh r1, [r2, 0x4] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xD - bls _080C66EA - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C6710: .4byte gUnknown_3005350 - thumb_func_end sub_80C66D8 - - thumb_func_start sub_80C6714 -sub_80C6714: @ 80C6714 - push {r4,lr} - ldr r2, _080C6744 @ =gUnknown_3005350 - ldr r1, [r2] - movs r0, 0 - strh r0, [r1] - movs r3, 0 - adds r4, r2, 0 -_080C6722: - ldr r0, [r4] - lsls r2, r3, 1 - adds r2, r0 - lsls r0, r3, 10 - lsls r1, r3, 5 - orrs r0, r1 - orrs r0, r3 - strh r0, [r2, 0x2] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1F - bls _080C6722 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C6744: .4byte gUnknown_3005350 - thumb_func_end sub_80C6714 - - thumb_func_start sub_80C6748 -sub_80C6748: @ 80C6748 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - movs r1, 0xDF - mov r9, r1 - cmp r0, 0 - bne _080C6760 - movs r2, 0xFF - mov r9, r2 -_080C6760: - movs r6, 0 - ldr r3, _080C67E4 @ =gUnknown_3005350 - mov r12, r3 - mov r0, r9 - lsls r4, r0, 1 - ldr r5, _080C67E8 @ =gUnknown_3005338 - cmp r6, r9 - bcs _080C6784 - movs r2, 0 -_080C6772: - ldr r0, [r3] - lsls r1, r6, 1 - adds r1, r0 - strh r2, [r1] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r9 - bcc _080C6772 -_080C6784: - mov r1, r12 - ldr r0, [r1] - adds r0, r4, r0 - ldr r2, _080C67EC @ =0x00003def - adds r1, r2, 0 - strh r1, [r0] - movs r3, 0 - ldrb r5, [r5] - cmp r3, r5 - bcs _080C6888 -_080C6798: - ldr r2, _080C67F0 @ =gUnknown_3005334 - ldr r0, _080C67F4 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r3 - ldr r0, _080C67F8 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - ldr r1, [r2] - adds r1, r0 - ldr r0, _080C67FC @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r6, 0 - ldr r0, _080C6800 @ =gUnknown_3005340 - adds r2, r0, 0 - adds r3, 0x1 - mov r10, r3 - ldrb r3, [r2] - cmp r6, r3 - bcs _080C687A - ldr r0, _080C6804 @ =gUnknown_3005354 - mov r8, r0 -_080C67C8: - ldrh r0, [r4] - movs r3, 0x80 - lsls r3, 8 - adds r1, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _080C6808 - mov r1, r8 - ldrh r0, [r1] - strh r0, [r4] - adds r6, 0x1 - adds r7, r4, 0x2 - b _080C686E - .align 2, 0 -_080C67E4: .4byte gUnknown_3005350 -_080C67E8: .4byte gUnknown_3005338 -_080C67EC: .4byte 0x00003def -_080C67F0: .4byte gUnknown_3005334 -_080C67F4: .4byte gUnknown_3005344 -_080C67F8: .4byte gUnknown_300534C -_080C67FC: .4byte gUnknown_3005330 -_080C6800: .4byte gUnknown_3005340 -_080C6804: .4byte gUnknown_3005354 -_080C6808: - adds r0, r4, 0 - bl sub_80C6B68 - lsls r0, 16 - lsrs r5, r0, 16 - movs r3, 0x1 - adds r6, 0x1 - adds r7, r4, 0x2 - cmp r3, r9 - bcs _080C6864 - ldr r0, _080C6834 @ =gUnknown_3005350 - ldr r2, [r0] - ldrh r1, [r2, 0x2] - mov r12, r0 - cmp r1, 0 - bne _080C6838 - strh r5, [r2, 0x2] - mov r2, r8 - ldrh r0, [r2] - adds r0, 0x1 - b _080C6862 - .align 2, 0 -_080C6834: .4byte gUnknown_3005350 -_080C6838: - mov r2, r12 - ldr r1, [r2] - lsls r0, r3, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r5 - beq _080C685C - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r9 - bcs _080C6864 - lsls r0, r3, 1 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, 0 - bne _080C6838 - strh r5, [r1] -_080C685C: - mov r1, r8 - ldrh r0, [r1] - adds r0, r3 -_080C6862: - strh r0, [r4] -_080C6864: - ldr r2, _080C6898 @ =gUnknown_3005340 - cmp r3, r9 - bne _080C686E - mov r3, r9 - strh r3, [r4] -_080C686E: - lsls r0, r6, 24 - lsrs r6, r0, 24 - adds r4, r7, 0 - ldrb r0, [r2] - cmp r6, r0 - bcc _080C67C8 -_080C687A: - mov r1, r10 - lsls r0, r1, 24 - lsrs r3, r0, 24 - ldr r0, _080C689C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r3, r0 - bcc _080C6798 -_080C6888: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C6898: .4byte gUnknown_3005340 -_080C689C: .4byte gUnknown_3005338 - thumb_func_end sub_80C6748 - - thumb_func_start sub_80C68A0 -sub_80C68A0: @ 80C68A0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r2, 0 - ldr r0, _080C68F4 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C6944 - ldr r0, _080C68F8 @ =gUnknown_3005334 - mov r8, r0 -_080C68B4: - ldr r0, _080C68FC @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C6900 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080C6904 @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r6, 0 - ldr r0, _080C6908 @ =gUnknown_3005340 - adds r3, r0, 0 - adds r7, r2, 0x1 - ldrb r0, [r3] - cmp r6, r0 - bcs _080C6938 - ldr r5, _080C690C @ =gUnknown_3005354 -_080C68E0: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _080C6910 - ldrh r0, [r5] - strh r0, [r4] - b _080C692A - .align 2, 0 -_080C68F4: .4byte gUnknown_3005338 -_080C68F8: .4byte gUnknown_3005334 -_080C68FC: .4byte gUnknown_3005344 -_080C6900: .4byte gUnknown_300534C -_080C6904: .4byte gUnknown_3005330 -_080C6908: .4byte gUnknown_3005340 -_080C690C: .4byte gUnknown_3005354 -_080C6910: - adds r0, r4, 0 - bl sub_80C600C - lsls r0, 16 - cmp r0, 0 - bne _080C6922 - ldrh r0, [r5] - adds r0, 0x1 - b _080C6926 -_080C6922: - ldrh r0, [r5] - adds r0, 0x2 -_080C6926: - strh r0, [r4] - ldr r3, _080C6950 @ =gUnknown_3005340 -_080C692A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r6, r0 - bcc _080C68E0 -_080C6938: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, _080C6954 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C68B4 -_080C6944: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C6950: .4byte gUnknown_3005340 -_080C6954: .4byte gUnknown_3005338 - thumb_func_end sub_80C68A0 - - thumb_func_start sub_80C6958 -sub_80C6958: @ 80C6958 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C69AC @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C69F4 - ldr r0, _080C69B0 @ =gUnknown_3005334 - mov r8, r0 -_080C696E: - ldr r0, _080C69B4 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C69B8 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080C69BC @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - ldr r0, _080C69C0 @ =gUnknown_3005340 - adds r7, r2, 0x1 - ldrb r0, [r0] - cmp r5, r0 - bcs _080C69E8 - ldr r6, _080C69C4 @ =gUnknown_3005354 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_080C699E: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - beq _080C69C8 - ldrh r0, [r6] - strh r0, [r4] - b _080C69D8 - .align 2, 0 -_080C69AC: .4byte gUnknown_3005338 -_080C69B0: .4byte gUnknown_3005334 -_080C69B4: .4byte gUnknown_3005344 -_080C69B8: .4byte gUnknown_300534C -_080C69BC: .4byte gUnknown_3005330 -_080C69C0: .4byte gUnknown_3005340 -_080C69C4: .4byte gUnknown_3005354 -_080C69C8: - adds r0, r4, 0 - str r2, [sp] - bl sub_80C6CAC - ldrh r1, [r6] - adds r0, r1 - strh r0, [r4] - ldr r2, [sp] -_080C69D8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, _080C6A00 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r5, r0 - bcc _080C699E -_080C69E8: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, _080C6A04 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C696E -_080C69F4: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C6A00: .4byte gUnknown_3005340 -_080C6A04: .4byte gUnknown_3005338 - thumb_func_end sub_80C6958 - - thumb_func_start sub_80C6A08 -sub_80C6A08: @ 80C6A08 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C6A5C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C6AA4 - ldr r0, _080C6A60 @ =gUnknown_3005334 - mov r8, r0 -_080C6A1E: - ldr r0, _080C6A64 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C6A68 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080C6A6C @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - ldr r0, _080C6A70 @ =gUnknown_3005340 - adds r7, r2, 0x1 - ldrb r0, [r0] - cmp r5, r0 - bcs _080C6A98 - ldr r6, _080C6A74 @ =gUnknown_3005354 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_080C6A4E: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - beq _080C6A78 - ldrh r0, [r6] - strh r0, [r4] - b _080C6A88 - .align 2, 0 -_080C6A5C: .4byte gUnknown_3005338 -_080C6A60: .4byte gUnknown_3005334 -_080C6A64: .4byte gUnknown_3005344 -_080C6A68: .4byte gUnknown_300534C -_080C6A6C: .4byte gUnknown_3005330 -_080C6A70: .4byte gUnknown_3005340 -_080C6A74: .4byte gUnknown_3005354 -_080C6A78: - adds r0, r4, 0 - str r2, [sp] - bl sub_80C6CE0 - ldrh r1, [r6] - adds r0, r1 - strh r0, [r4] - ldr r2, [sp] -_080C6A88: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, _080C6AB0 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r5, r0 - bcc _080C6A4E -_080C6A98: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, _080C6AB4 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C6A1E -_080C6AA4: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C6AB0: .4byte gUnknown_3005340 -_080C6AB4: .4byte gUnknown_3005338 - thumb_func_end sub_80C6A08 - - thumb_func_start sub_80C6AB8 -sub_80C6AB8: @ 80C6AB8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C6B0C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C6B54 - ldr r0, _080C6B10 @ =gUnknown_3005334 - mov r8, r0 -_080C6ACE: - ldr r0, _080C6B14 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C6B18 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080C6B1C @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - ldr r0, _080C6B20 @ =gUnknown_3005340 - adds r7, r2, 0x1 - ldrb r0, [r0] - cmp r5, r0 - bcs _080C6B48 - ldr r6, _080C6B24 @ =gUnknown_3005354 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_080C6AFE: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - beq _080C6B28 - ldrh r0, [r6] - strh r0, [r4] - b _080C6B38 - .align 2, 0 -_080C6B0C: .4byte gUnknown_3005338 -_080C6B10: .4byte gUnknown_3005334 -_080C6B14: .4byte gUnknown_3005344 -_080C6B18: .4byte gUnknown_300534C -_080C6B1C: .4byte gUnknown_3005330 -_080C6B20: .4byte gUnknown_3005340 -_080C6B24: .4byte gUnknown_3005354 -_080C6B28: - adds r0, r4, 0 - str r2, [sp] - bl sub_80C6BDC - ldrh r1, [r6] - adds r0, r1 - strh r0, [r4] - ldr r2, [sp] -_080C6B38: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, _080C6B60 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r5, r0 - bcc _080C6AFE -_080C6B48: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, _080C6B64 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C6ACE -_080C6B54: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C6B60: .4byte gUnknown_3005340 -_080C6B64: .4byte gUnknown_3005338 - thumb_func_end sub_80C6AB8 - - thumb_func_start sub_80C6B68 -sub_80C6B68: @ 80C6B68 - push {r4,lr} - ldrh r0, [r0] - movs r1, 0x1F - movs r4, 0x1F - ands r4, r0 - lsls r0, 16 - lsrs r3, r0, 21 - ands r3, r1 - lsrs r2, r0, 26 - ands r2, r1 - movs r1, 0x3 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _080C6B8C - movs r0, 0x1C - ands r0, r4 - adds r4, r0, 0x4 -_080C6B8C: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _080C6B9A - movs r0, 0x1C - ands r0, r3 - adds r3, r0, 0x4 -_080C6B9A: - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _080C6BA8 - movs r0, 0x1C - ands r0, r2 - adds r2, r0, 0x4 -_080C6BA8: - cmp r4, 0x5 - bhi _080C6BAE - movs r4, 0x6 -_080C6BAE: - cmp r4, 0x1E - bls _080C6BB4 - movs r4, 0x1E -_080C6BB4: - cmp r3, 0x5 - bhi _080C6BBA - movs r3, 0x6 -_080C6BBA: - cmp r3, 0x1E - bls _080C6BC0 - movs r3, 0x1E -_080C6BC0: - cmp r2, 0x5 - bhi _080C6BC6 - movs r2, 0x6 -_080C6BC6: - cmp r2, 0x1E - bls _080C6BCC - movs r2, 0x1E -_080C6BCC: - lsls r0, r2, 10 - lsls r1, r3, 5 - orrs r0, r1 - orrs r4, r0 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C6B68 - - thumb_func_start sub_80C6BDC -sub_80C6BDC: @ 80C6BDC - push {lr} - ldrh r0, [r0] - movs r1, 0x1F - movs r3, 0x1F - ands r3, r0 - lsls r0, 16 - lsrs r2, r0, 21 - ands r2, r1 - lsrs r0, 26 - ands r0, r1 - cmp r3, 0xB - bhi _080C6C00 - cmp r2, 0xA - bhi _080C6C00 - cmp r0, 0xA - bhi _080C6C00 - movs r0, 0x1 - b _080C6CA6 -_080C6C00: - cmp r3, 0x13 - bls _080C6C24 - cmp r2, 0x13 - bls _080C6C0C - cmp r0, 0x13 - bhi _080C6C30 -_080C6C0C: - cmp r3, 0x13 - bls _080C6C24 - cmp r2, 0x13 - bls _080C6C1A - cmp r0, 0xE - bhi _080C6C30 - b _080C6C68 -_080C6C1A: - cmp r0, 0x13 - bls _080C6C24 - cmp r2, 0xE - bhi _080C6C30 - b _080C6C44 -_080C6C24: - cmp r2, 0x13 - bls _080C6C34 - cmp r0, 0x13 - bls _080C6C34 - cmp r3, 0xE - bls _080C6C8C -_080C6C30: - movs r0, 0x2 - b _080C6CA6 -_080C6C34: - cmp r3, 0x13 - bls _080C6C58 - cmp r2, 0xB - bls _080C6C4C - cmp r0, 0xB - bls _080C6C48 - cmp r2, r0 - bcs _080C6C68 -_080C6C44: - movs r0, 0x8 - b _080C6CA6 -_080C6C48: - movs r0, 0xA - b _080C6CA6 -_080C6C4C: - cmp r0, 0xB - bls _080C6C54 - movs r0, 0xD - b _080C6CA6 -_080C6C54: - movs r0, 0x4 - b _080C6CA6 -_080C6C58: - cmp r2, 0x13 - bls _080C6C7C - cmp r3, 0xB - bls _080C6C70 - cmp r0, 0xB - bls _080C6C6C - cmp r3, r0 - bcc _080C6C8C -_080C6C68: - movs r0, 0x7 - b _080C6CA6 -_080C6C6C: - movs r0, 0xB - b _080C6CA6 -_080C6C70: - cmp r0, 0xB - bls _080C6C78 - movs r0, 0xE - b _080C6CA6 -_080C6C78: - movs r0, 0x5 - b _080C6CA6 -_080C6C7C: - cmp r0, 0x13 - bls _080C6CA4 - cmp r3, 0xB - bls _080C6C90 - cmp r2, 0xB - bls _080C6C98 - cmp r3, r2 - bcs _080C6C44 -_080C6C8C: - movs r0, 0x9 - b _080C6CA6 -_080C6C90: - cmp r2, 0xB - bls _080C6C98 - movs r0, 0xC - b _080C6CA6 -_080C6C98: - cmp r0, 0xB - bls _080C6CA0 - movs r0, 0xF - b _080C6CA6 -_080C6CA0: - movs r0, 0x6 - b _080C6CA6 -_080C6CA4: - movs r0, 0x3 -_080C6CA6: - pop {r1} - bx r1 - thumb_func_end sub_80C6BDC - - thumb_func_start sub_80C6CAC -sub_80C6CAC: @ 80C6CAC - push {lr} - ldrh r1, [r0] - movs r3, 0x1F - movs r0, 0x1F - ands r0, r1 - lsls r1, 16 - lsrs r2, r1, 21 - ands r2, r3 - lsrs r1, 26 - ands r1, r3 - adds r0, r2 - adds r0, r1 - movs r1, 0x3 - bl __divsi3 - movs r1, 0x1E - ands r0, r1 - lsls r0, 16 - cmp r0, 0 - beq _080C6CD8 - lsrs r0, 17 - b _080C6CDA -_080C6CD8: - movs r0, 0x1 -_080C6CDA: - pop {r1} - bx r1 - thumb_func_end sub_80C6CAC - - thumb_func_start sub_80C6CE0 -sub_80C6CE0: @ 80C6CE0 - push {lr} - ldrh r1, [r0] - movs r3, 0x1F - movs r0, 0x1F - ands r0, r1 - lsls r1, 16 - lsrs r2, r1, 21 - ands r2, r3 - lsrs r1, 26 - ands r1, r3 - adds r0, r2 - adds r0, r1 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80C6CE0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_pokemon_util_80A0058.s b/asm/script_pokemon_util_80A0058.s deleted file mode 100644 index 17385cd01..000000000 --- a/asm/script_pokemon_util_80A0058.s +++ /dev/null @@ -1,535 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start HealPlayerParty -HealPlayerParty: @ 80A0058 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r0, 0 - mov r8, r0 - ldr r0, _080A0114 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r8, r0 - bcs _080A0104 - ldr r1, _080A0118 @ =gPlayerParty - mov r10, r1 - mov r6, sp -_080A0076: - movs r0, 0x64 - mov r4, r8 - muls r4, r0 - add r4, r10 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - lsls r1, r0, 16 - strb r0, [r6] - lsrs r1, 24 - strb r1, [r6, 0x1] - adds r0, r4, 0 - movs r1, 0x39 - mov r2, sp - bl SetMonData - adds r0, r4, 0 - movs r1, 0x15 - bl GetMonData - lsls r0, 24 - lsrs r7, r0, 24 - movs r5, 0 - movs r1, 0x1 - add r1, r8 - mov r9, r1 -_080A00AC: - adds r1, r5, 0 - adds r1, 0xD - adds r0, r4, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - adds r1, r7, 0 - adds r2, r5, 0 - bl CalculatePPWithBonus - strb r0, [r6] - adds r1, r5, 0 - adds r1, 0x11 - adds r0, r4, 0 - mov r2, sp - bl SetMonData - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _080A00AC - movs r0, 0 - strb r0, [r6] - strb r0, [r6, 0x1] - strb r0, [r6, 0x2] - strb r0, [r6, 0x3] - movs r1, 0x64 - mov r0, r8 - muls r0, r1 - add r0, r10 - movs r1, 0x37 - mov r2, sp - bl SetMonData - mov r1, r9 - lsls r0, r1, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _080A0114 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r8, r0 - bcc _080A0076 -_080A0104: - 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 -_080A0114: .4byte gPlayerPartyCount -_080A0118: .4byte gPlayerParty - thumb_func_end HealPlayerParty - - thumb_func_start ScriptGiveMon -ScriptGiveMon: @ 80A011C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r6, 16 - lsrs r6, 16 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r0, r5, 16 - mov r8, r0 - movs r0, 0x64 - bl AllocZeroed - adds r7, r0, 0 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - movs r3, 0x20 - bl CreateMon - add r0, sp, 0x10 - mov r1, r8 - strb r1, [r0] - lsrs r5, 24 - strb r5, [r0, 0x1] - adds r0, r7, 0 - movs r1, 0xC - add r2, sp, 0x10 - bl SetMonData - adds r0, r7, 0 - bl GiveMonToPlayer - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r5, r0, 16 - cmp r4, 0x1 - bgt _080A0196 - cmp r4, 0 - blt _080A0196 - adds r0, r5, 0 - movs r1, 0x2 - bl GetSetPokedexFlag - adds r0, r5, 0 - movs r1, 0x3 - bl GetSetPokedexFlag -_080A0196: - adds r0, r7, 0 - bl Free - adds r0, r4, 0 - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end ScriptGiveMon - - thumb_func_start ScriptGiveEgg -ScriptGiveEgg: @ 80A01AC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x64 - bl AllocZeroed - adds r5, r0, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl CreateEgg - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - adds r0, r5, 0 - movs r1, 0x2D - mov r2, sp - bl SetMonData - adds r0, r5, 0 - bl GiveMonToPlayer - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl Free - adds r0, r4, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ScriptGiveEgg - - thumb_func_start HasEnoughMonsForDoubleBattle -HasEnoughMonsForDoubleBattle: @ 80A01F4 - push {lr} - bl GetMonsStateToDoubles - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - beq _080A0210 - cmp r1, 0x1 - bgt _080A020C - cmp r1, 0 - beq _080A0210 - b _080A0214 -_080A020C: - cmp r1, 0x2 - bne _080A0214 -_080A0210: - ldr r0, _080A0218 @ =gSpecialVar_Result - strh r1, [r0] -_080A0214: - pop {r0} - bx r0 - .align 2, 0 -_080A0218: .4byte gSpecialVar_Result - thumb_func_end HasEnoughMonsForDoubleBattle - - thumb_func_start CheckPartyMonHasHeldItem -CheckPartyMonHasHeldItem: @ 80A021C - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - movs r5, 0 - movs r7, 0xCE - lsls r7, 1 -_080A0228: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _080A0258 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _080A025C - cmp r0, r7 - beq _080A025C - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - cmp r0, r6 - bne _080A025C - movs r0, 0x1 - b _080A0264 - .align 2, 0 -_080A0258: .4byte gPlayerParty -_080A025C: - adds r5, 0x1 - cmp r5, 0x5 - ble _080A0228 - movs r0, 0 -_080A0264: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPartyMonHasHeldItem - - thumb_func_start GetNameOfEnigmaBerryInPlayerParty -GetNameOfEnigmaBerryInPlayerParty: @ 80A026C - push {r4,lr} - movs r0, 0xAF - bl CheckPartyMonHasHeldItem - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r4, 0x1 - bne _080A028E - movs r0, 0xAF - bl ItemIdToBerryType - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A0298 @ =gStringVar1 - bl GetBerryNameByBerryType -_080A028E: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A0298: .4byte gStringVar1 - thumb_func_end GetNameOfEnigmaBerryInPlayerParty - - thumb_func_start CreateScriptedWildMon -CreateScriptedWildMon: @ 80A029C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r7, r2, 16 - lsrs r6, r7, 16 - bl ZeroEnemyPartyMons - ldr r0, _080A02F8 @ =gEnemyParty - mov r8, r0 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - mov r0, r8 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x20 - bl CreateMon - cmp r6, 0 - beq _080A02EA - add r0, sp, 0x10 - strb r6, [r0] - adds r1, r0, 0 - lsrs r0, r7, 24 - strb r0, [r1, 0x1] - mov r0, r8 - movs r1, 0xC - add r2, sp, 0x10 - bl SetMonData -_080A02EA: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A02F8: .4byte gEnemyParty - thumb_func_end CreateScriptedWildMon - - thumb_func_start ScriptSetMonMoveSlot -ScriptSetMonMoveSlot: @ 80A02FC - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r2, 24 - cmp r3, 0x6 - bls _080A0318 - ldr r0, _080A032C @ =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_080A0318: - movs r0, 0x64 - muls r0, r3 - ldr r1, _080A0330 @ =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - bl SetMonMoveSlot - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A032C: .4byte gPlayerPartyCount -_080A0330: .4byte gPlayerParty - thumb_func_end ScriptSetMonMoveSlot - - thumb_func_start ChooseHalfPartyForBattle -ChooseHalfPartyForBattle: @ 80A0334 - push {lr} - ldr r1, _080A0348 @ =gMain - ldr r0, _080A034C @ =sub_80A0350 - str r0, [r1, 0x8] - movs r0, 0 - bl InitChooseHalfPartyForBattle - pop {r0} - bx r0 - .align 2, 0 -_080A0348: .4byte gMain -_080A034C: .4byte sub_80A0350 - thumb_func_end ChooseHalfPartyForBattle - - thumb_func_start sub_80A0350 -sub_80A0350: @ 80A0350 - push {lr} - ldr r0, _080A0360 @ =gSelectedOrderFromParty - ldrb r1, [r0] - cmp r1, 0 - bne _080A0368 - ldr r0, _080A0364 @ =gSpecialVar_Result - strh r1, [r0] - b _080A036E - .align 2, 0 -_080A0360: .4byte gSelectedOrderFromParty -_080A0364: .4byte gSpecialVar_Result -_080A0368: - ldr r1, _080A0378 @ =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] -_080A036E: - ldr r0, _080A037C @ =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A0378: .4byte gSpecialVar_Result -_080A037C: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic - thumb_func_end sub_80A0350 - - thumb_func_start ChooseBattleTowerPlayerParty -ChooseBattleTowerPlayerParty: @ 80A0380 - push {lr} - ldr r1, _080A0394 @ =gMain - ldr r0, _080A0398 @ =sub_80A039C - str r0, [r1, 0x8] - movs r0, 0x1 - bl InitChooseHalfPartyForBattle - pop {r0} - bx r0 - .align 2, 0 -_080A0394: .4byte gMain -_080A0398: .4byte sub_80A039C - thumb_func_end ChooseBattleTowerPlayerParty - - thumb_func_start sub_80A039C -sub_80A039C: @ 80A039C - push {r4,lr} - ldr r0, _080A03B0 @ =gSelectedOrderFromParty - ldrb r4, [r0] - cmp r4, 0 - bne _080A03B8 - bl LoadPlayerParty - ldr r0, _080A03B4 @ =gSpecialVar_Result - strh r4, [r0] - b _080A03C2 - .align 2, 0 -_080A03B0: .4byte gSelectedOrderFromParty -_080A03B4: .4byte gSpecialVar_Result -_080A03B8: - bl ReducePlayerPartyToThree - ldr r1, _080A03D0 @ =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] -_080A03C2: - ldr r0, _080A03D4 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A03D0: .4byte gSpecialVar_Result -_080A03D4: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic - thumb_func_end sub_80A039C - - thumb_func_start ReducePlayerPartyToThree -ReducePlayerPartyToThree: @ 80A03D8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r0, 0x96 - lsls r0, 1 - bl AllocZeroed - adds r7, r0, 0 - movs r5, 0 - movs r0, 0x64 - mov r8, r0 - ldr r6, _080A0454 @ =gPlayerParty - adds r4, r7, 0 -_080A03F4: - ldr r0, _080A0458 @ =gSelectedOrderFromParty - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _080A040E - subs r0, 0x1 - mov r1, r8 - muls r1, r0 - adds r1, r6 - adds r0, r4, 0 - movs r2, 0x64 - bl memcpy -_080A040E: - adds r4, 0x64 - adds r5, 0x1 - cmp r5, 0x2 - ble _080A03F4 - movs r0, 0 - str r0, [sp] - ldr r4, _080A0454 @ =gPlayerParty - ldr r2, _080A045C @ =0x05000096 - mov r0, sp - adds r1, r4, 0 - bl CpuSet - adds r5, r7, 0 - adds r6, r7, 0 - adds r6, 0xC8 -_080A042C: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - adds r5, 0x64 - adds r4, 0x64 - cmp r5, r6 - ble _080A042C - bl CalculatePlayerPartyCount - adds r0, r7, 0 - bl Free - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A0454: .4byte gPlayerParty -_080A0458: .4byte gSelectedOrderFromParty -_080A045C: .4byte 0x05000096 - thumb_func_end ReducePlayerPartyToThree - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_pokemon_util_80BF8FC.s b/asm/script_pokemon_util_80BF8FC.s deleted file mode 100644 index a909758c2..000000000 --- a/asm/script_pokemon_util_80BF8FC.s +++ /dev/null @@ -1,422 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Special_ChooseMonFromParty -Special_ChooseMonFromParty: @ 80BF8FC - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _080BF934 @ =sub_80BF97C - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080BF938 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x3 - strh r0, [r1, 0x8] - subs r0, 0x4 - str r2, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080BF934: .4byte sub_80BF97C -_080BF938: .4byte gTasks - thumb_func_end Special_ChooseMonFromParty - - thumb_func_start SelectMoveTutorMon -SelectMoveTutorMon: @ 80BF93C - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _080BF974 @ =sub_80BF97C - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080BF978 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x7 - strh r0, [r1, 0x8] - subs r0, 0x8 - str r2, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080BF974: .4byte sub_80BF97C -_080BF978: .4byte gTasks - thumb_func_end SelectMoveTutorMon - - thumb_func_start sub_80BF97C -sub_80BF97C: @ 80BF97C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _080BF9B4 @ =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BF9AC - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, _080BF9B8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x8] - bl ChoosePartyMonByMenuType - adds r0, r4, 0 - bl DestroyTask -_080BF9AC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BF9B4: .4byte gPaletteFade -_080BF9B8: .4byte gTasks - thumb_func_end sub_80BF97C - - thumb_func_start SelectMove -SelectMove: @ 80BF9BC - push {r4,lr} - sub sp, 0x4 - ldr r0, _080BF9F0 @ =gPlayerParty - ldr r1, _080BF9F4 @ =gSpecialVar_0x8004 - ldrb r1, [r1] - ldr r2, _080BF9F8 @ =gPlayerPartyCount - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080BF9FC @ =CB2_ReturnToField - movs r4, 0 - str r4, [sp] - bl ShowSelectMovePokemonSummaryScreen - movs r0, 0x3 - bl sub_8138B38 - ldr r1, _080BFA00 @ =gFieldCallback - ldr r0, _080BFA04 @ =FieldCallback_ReturnToEventScript2 - str r0, [r1] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BF9F0: .4byte gPlayerParty -_080BF9F4: .4byte gSpecialVar_0x8004 -_080BF9F8: .4byte gPlayerPartyCount -_080BF9FC: .4byte CB2_ReturnToField -_080BFA00: .4byte gFieldCallback -_080BFA04: .4byte FieldCallback_ReturnToEventScript2 - thumb_func_end SelectMove - - thumb_func_start ScrSpecial_CountPokemonMoves -ScrSpecial_CountPokemonMoves: @ 80BFA08 - push {r4,r5,lr} - ldr r1, _080BFA44 @ =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - movs r4, 0 - adds r5, r1, 0 -_080BFA14: - ldr r0, _080BFA48 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080BFA4C @ =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - adds r1, 0xD - bl GetMonData - cmp r0, 0 - beq _080BFA32 - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_080BFA32: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080BFA14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BFA44: .4byte gSpecialVar_Result -_080BFA48: .4byte gSpecialVar_0x8004 -_080BFA4C: .4byte gPlayerParty - thumb_func_end ScrSpecial_CountPokemonMoves - - thumb_func_start ScrSpecial_GetPokemonNicknameAndMoveName -ScrSpecial_GetPokemonNicknameAndMoveName: @ 80BFA50 - push {r4,r5,lr} - ldr r0, _080BFA90 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - adds r5, r1, 0 - muls r5, r0 - ldr r0, _080BFA94 @ =gPlayerParty - adds r5, r0 - ldr r0, _080BFA98 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - adds r1, 0xD - adds r0, r5, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, _080BFA9C @ =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r0, _080BFAA0 @ =gStringVar2 - movs r1, 0xD - muls r1, r4 - ldr r2, _080BFAA4 @ =gMoveNames - adds r1, r2 - bl StringCopy - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BFA90: .4byte gSpecialVar_0x8004 -_080BFA94: .4byte gPlayerParty -_080BFA98: .4byte gSpecialVar_0x8005 -_080BFA9C: .4byte gStringVar1 -_080BFAA0: .4byte gStringVar2 -_080BFAA4: .4byte gMoveNames - thumb_func_end ScrSpecial_GetPokemonNicknameAndMoveName - - thumb_func_start sub_80BFAA8 -sub_80BFAA8: @ 80BFAA8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - mov r8, r0 - adds r5, r1, 0 - adds r4, r2, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r0, 0xD - str r0, [sp, 0x8] - mov r0, r8 - ldr r1, [sp, 0x8] - bl GetMonData - mov r1, sp - adds r1, 0x2 - str r1, [sp, 0x14] - strh r0, [r1] - adds r3, r4, 0 - adds r3, 0xD - str r3, [sp, 0xC] - mov r0, r8 - adds r1, r3, 0 - bl GetMonData - mov r1, sp - strh r0, [r1] - adds r7, r5, 0 - adds r7, 0x11 - str r7, [sp, 0x10] - mov r0, r8 - adds r1, r7, 0 - bl GetMonData - mov r1, sp - adds r1, 0x5 - str r1, [sp, 0x18] - strb r0, [r1] - adds r3, r4, 0 - adds r3, 0x11 - str r3, [sp, 0x1C] - mov r0, r8 - adds r1, r3, 0 - bl GetMonData - add r7, sp, 0x4 - mov r10, r7 - strb r0, [r7] - mov r0, r8 - movs r1, 0x15 - bl GetMonData - mov r6, sp - adds r6, 0x6 - strb r0, [r6] - ldr r1, _080BFBA4 @ =gPPUpGetMask - adds r0, r5, r1 - ldrb r0, [r0] - mov r9, r0 - ldrb r0, [r6] - adds r2, r0, 0 - mov r3, r9 - ands r2, r3 - lsls r5, 1 - asrs r2, r5 - lsls r2, 24 - lsrs r2, 24 - adds r1, r4, r1 - ldrb r3, [r1] - adds r1, r0, 0 - ands r1, r3 - lsls r4, 1 - asrs r1, r4 - lsls r1, 24 - lsrs r1, 24 - mov r7, r9 - bics r0, r7 - strb r0, [r6] - ldrb r0, [r6] - bics r0, r3 - strb r0, [r6] - lsls r2, r4 - lsls r1, r5 - adds r2, r1 - ldrb r0, [r6] - orrs r0, r2 - strb r0, [r6] - mov r0, r8 - ldr r1, [sp, 0x8] - mov r2, sp - bl SetMonData - mov r0, r8 - ldr r1, [sp, 0xC] - ldr r2, [sp, 0x14] - bl SetMonData - mov r0, r8 - ldr r1, [sp, 0x10] - mov r2, r10 - bl SetMonData - mov r0, r8 - ldr r1, [sp, 0x1C] - ldr r2, [sp, 0x18] - bl SetMonData - mov r0, r8 - movs r1, 0x15 - adds r2, r6, 0 - bl SetMonData - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BFBA4: .4byte gPPUpGetMask - thumb_func_end sub_80BFAA8 - - thumb_func_start DeleteMonMove -DeleteMonMove: @ 80BFBA8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, _080BFC08 @ =gSpecialVar_0x8004 - mov r8, r0 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080BFC0C @ =gPlayerParty - adds r0, r5 - ldr r4, _080BFC10 @ =gSpecialVar_0x8005 - ldrb r2, [r4] - movs r1, 0 - bl SetMonMoveSlot - mov r1, r8 - ldrh r0, [r1] - muls r0, r6 - adds r0, r5 - ldrb r1, [r4] - bl RemoveMonPPBonus - ldrh r4, [r4] - cmp r4, 0x2 - bhi _080BFBFC -_080BFBDA: - ldr r0, _080BFC08 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080BFC0C @ =gPlayerParty - adds r0, r1 - lsls r1, r4, 24 - lsrs r1, 24 - adds r4, 0x1 - lsls r2, r4, 24 - lsrs r2, 24 - bl sub_80BFAA8 - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x2 - bls _080BFBDA -_080BFBFC: - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BFC08: .4byte gSpecialVar_0x8004 -_080BFC0C: .4byte gPlayerParty -_080BFC10: .4byte gSpecialVar_0x8005 - thumb_func_end DeleteMonMove - - thumb_func_start IsSelectedMonEgg -IsSelectedMonEgg: @ 80BFC14 - push {lr} - ldr r0, _080BFC38 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080BFC3C @ =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - beq _080BFC44 - ldr r1, _080BFC40 @ =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - b _080BFC48 - .align 2, 0 -_080BFC38: .4byte gSpecialVar_0x8004 -_080BFC3C: .4byte gPlayerParty -_080BFC40: .4byte gSpecialVar_Result -_080BFC44: - ldr r0, _080BFC4C @ =gSpecialVar_Result - strh r1, [r0] -_080BFC48: - pop {r0} - bx r0 - .align 2, 0 -_080BFC4C: .4byte gSpecialVar_Result - thumb_func_end IsSelectedMonEgg - - .align 2, 0 @ Don't pad with nop. |