diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/pokemon_storage_system.s | 23034 | ||||
-rw-r--r-- | asm/pokemon_summary_screen.s | 2 |
2 files changed, 1 insertions, 23035 deletions
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s deleted file mode 100644 index 3227d5dcd..000000000 --- a/asm/pokemon_storage_system.s +++ /dev/null @@ -1,23034 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_808B9C0 -sub_808B9C0: @ 808B9C0 - push {lr} - ldr r1, _0808B9D0 @ =gPokemonStoragePtr - ldr r1, [r1] - ldr r2, _0808B9D4 @ =0x000083d0 - bl memcpy - pop {r0} - bx r0 - .align 2, 0 -_0808B9D0: .4byte gPokemonStoragePtr -_0808B9D4: .4byte 0x000083d0 - thumb_func_end sub_808B9C0 - - thumb_func_start sub_808B9D8 -sub_808B9D8: @ 808B9D8 - push {lr} - adds r1, r0, 0 - ldr r0, _0808B9EC @ =gPokemonStoragePtr - ldr r0, [r0] - ldr r2, _0808B9F0 @ =0x000083d0 - bl memcpy - pop {r0} - bx r0 - .align 2, 0 -_0808B9EC: .4byte gPokemonStoragePtr -_0808B9F0: .4byte 0x000083d0 - thumb_func_end sub_808B9D8 - - thumb_func_start StorageGetCurrentBox -StorageGetCurrentBox: @ 808B9F4 - ldr r0, _0808B9FC @ =gPokemonStoragePtr - ldr r0, [r0] - ldrb r0, [r0] - bx lr - .align 2, 0 -_0808B9FC: .4byte gPokemonStoragePtr - thumb_func_end StorageGetCurrentBox - - thumb_func_start sub_808BA00 -sub_808BA00: @ 808BA00 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xD - bhi _0808BA10 - ldr r0, _0808BA14 @ =gPokemonStoragePtr - ldr r0, [r0] - strb r1, [r0] -_0808BA10: - pop {r0} - bx r0 - .align 2, 0 -_0808BA14: .4byte gPokemonStoragePtr - thumb_func_end sub_808BA00 - - thumb_func_start GetBoxMonDataFromAnyBox -GetBoxMonDataFromAnyBox: @ 808BA18 - push {r4,r5,lr} - adds r5, r2, 0 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _0808BA54 - cmp r4, 0x1D - bhi _0808BA54 - ldr r2, _0808BA50 @ =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - adds r1, r5, 0 - bl GetBoxMonData - b _0808BA56 - .align 2, 0 -_0808BA50: .4byte gPokemonStoragePtr -_0808BA54: - movs r0, 0 -_0808BA56: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetBoxMonDataFromAnyBox - - thumb_func_start SetBoxMonDataFromAnyBox -SetBoxMonDataFromAnyBox: @ 808BA5C - push {r4-r6,lr} - adds r5, r2, 0 - adds r6, r3, 0 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _0808BA94 - cmp r4, 0x1D - bhi _0808BA94 - ldr r2, _0808BA9C @ =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - adds r1, r5, 0 - adds r2, r6, 0 - bl SetBoxMonData -_0808BA94: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0808BA9C: .4byte gPokemonStoragePtr - thumb_func_end SetBoxMonDataFromAnyBox - - thumb_func_start GetBoxMonDataFromSelectedBox -GetBoxMonDataFromSelectedBox: @ 808BAA0 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _0808BABC @ =gPokemonStoragePtr - ldr r0, [r0] - ldrb r0, [r0] - adds r1, r3, 0 - bl GetBoxMonDataFromAnyBox - pop {r1} - bx r1 - .align 2, 0 -_0808BABC: .4byte gPokemonStoragePtr - thumb_func_end GetBoxMonDataFromSelectedBox - - thumb_func_start SetBoxMonDataFromSelectedBox -SetBoxMonDataFromSelectedBox: @ 808BAC0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0808BAE0 @ =gPokemonStoragePtr - ldr r0, [r0] - ldrb r0, [r0] - adds r1, r4, 0 - adds r2, r5, 0 - bl SetBoxMonDataFromAnyBox - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808BAE0: .4byte gPokemonStoragePtr - thumb_func_end SetBoxMonDataFromSelectedBox - - thumb_func_start GetBoxMonNickFromAnyBox -GetBoxMonNickFromAnyBox: @ 808BAE4 - push {r4,r5,lr} - adds r5, r2, 0 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _0808BB20 - cmp r4, 0x1D - bhi _0808BB20 - ldr r2, _0808BB1C @ =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - movs r1, 0x2 - adds r2, r5, 0 - bl GetBoxMonData - b _0808BB24 - .align 2, 0 -_0808BB1C: .4byte gPokemonStoragePtr -_0808BB20: - movs r0, 0xFF - strb r0, [r5] -_0808BB24: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetBoxMonNickFromAnyBox - - thumb_func_start SetBoxMonNickFromAnyBox -SetBoxMonNickFromAnyBox: @ 808BB2C - push {r4,r5,lr} - adds r5, r2, 0 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _0808BB62 - cmp r4, 0x1D - bhi _0808BB62 - ldr r2, _0808BB68 @ =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - movs r1, 0x2 - adds r2, r5, 0 - bl SetBoxMonData -_0808BB62: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808BB68: .4byte gPokemonStoragePtr - thumb_func_end SetBoxMonNickFromAnyBox - - thumb_func_start GetAndCopyBoxMonDataFromAnyBox -GetAndCopyBoxMonDataFromAnyBox: @ 808BB6C - push {r4-r6,lr} - adds r5, r2, 0 - adds r6, r3, 0 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _0808BBAC - cmp r4, 0x1D - bhi _0808BBAC - ldr r2, _0808BBA8 @ =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - adds r1, r5, 0 - adds r2, r6, 0 - bl GetBoxMonData - b _0808BBAE - .align 2, 0 -_0808BBA8: .4byte gPokemonStoragePtr -_0808BBAC: - movs r0, 0 -_0808BBAE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetAndCopyBoxMonDataFromAnyBox - - thumb_func_start CopyBoxMonFromAnyBox -CopyBoxMonFromAnyBox: @ 808BBB4 - push {r4,r5,lr} - adds r5, r2, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r4, 0xD - bhi _0808BBEA - cmp r1, 0x1D - bhi _0808BBEA - ldr r0, _0808BBF0 @ =gPokemonStoragePtr - ldr r0, [r0] - lsls r3, r1, 2 - adds r3, r1 - lsls r3, 4 - lsls r2, r4, 2 - adds r2, r4 - lsls r1, r2, 4 - subs r1, r2 - lsls r1, 5 - adds r3, r1 - adds r0, r3 - adds r0, 0x4 - adds r1, r5, 0 - movs r2, 0x50 - bl memcpy -_0808BBEA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808BBF0: .4byte gPokemonStoragePtr - thumb_func_end CopyBoxMonFromAnyBox - - thumb_func_start sub_808BBF4 -sub_808BBF4: @ 808BBF4 - push {r4,r5,lr} - adds r5, r2, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - cmp r4, 0xD - bhi _0808BC2A - cmp r2, 0x1D - bhi _0808BC2A - ldr r0, _0808BC30 @ =gPokemonStoragePtr - ldr r1, [r0] - lsls r3, r2, 2 - adds r3, r2 - lsls r3, 4 - lsls r2, r4, 2 - adds r2, r4 - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 5 - adds r3, r0 - adds r1, r3 - adds r1, 0x4 - adds r0, r5, 0 - movs r2, 0x50 - bl memcpy -_0808BC2A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808BC30: .4byte gPokemonStoragePtr - thumb_func_end sub_808BBF4 - - thumb_func_start sub_808BC34 -sub_808BC34: @ 808BC34 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r4, [sp, 0x30] - ldr r5, [sp, 0x34] - ldr r6, [sp, 0x3C] - mov r12, r6 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r0, r12 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r7, 0xD - bhi _0808BCA0 - cmp r6, 0x1D - bhi _0808BCA0 - ldr r2, _0808BCB0 @ =gPokemonStoragePtr - lsls r0, r7, 2 - adds r0, r7 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 4 - adds r0, r1 - str r5, [sp] - ldr r1, [sp, 0x38] - str r1, [sp, 0x4] - str r3, [sp, 0x8] - ldr r1, [sp, 0x40] - str r1, [sp, 0xC] - mov r1, r9 - mov r2, r8 - adds r3, r4, 0 - bl CreateBoxMon -_0808BCA0: - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808BCB0: .4byte gPokemonStoragePtr - thumb_func_end sub_808BC34 - - thumb_func_start sub_808BCB4 -sub_808BCB4: @ 808BCB4 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _0808BCE4 - cmp r4, 0x1D - bhi _0808BCE4 - ldr r2, _0808BCEC @ =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - bl ZeroBoxMonData -_0808BCE4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808BCEC: .4byte gPokemonStoragePtr - thumb_func_end sub_808BCB4 - - thumb_func_start sub_808BCF0 -sub_808BCF0: @ 808BCF0 - push {r4,r5,lr} - adds r5, r2, 0 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _0808BD24 - cmp r4, 0x1D - bhi _0808BD24 - ldr r2, _0808BD2C @ =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - adds r1, r5, 0 - bl BoxMonToMon -_0808BD24: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808BD2C: .4byte gPokemonStoragePtr - thumb_func_end sub_808BCF0 - - thumb_func_start GetBoxedMonPtr -GetBoxedMonPtr: @ 808BD30 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r3, 0xD - bhi _0808BD64 - cmp r4, 0x1D - bhi _0808BD64 - ldr r2, _0808BD60 @ =gPokemonStoragePtr - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - adds r1, 0x4 - ldr r0, [r2] - adds r0, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 4 - adds r0, r1 - b _0808BD66 - .align 2, 0 -_0808BD60: .4byte gPokemonStoragePtr -_0808BD64: - movs r0, 0 -_0808BD66: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetBoxedMonPtr - - thumb_func_start GetBoxNamePtr -GetBoxNamePtr: @ 808BD6C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xD - bls _0808BD7A - movs r0, 0 - b _0808BD88 -_0808BD7A: - ldr r0, _0808BD8C @ =gPokemonStoragePtr - lsls r1, r2, 3 - adds r1, r2 - ldr r2, _0808BD90 @ =0x00008344 - adds r1, r2 - ldr r0, [r0] - adds r0, r1 -_0808BD88: - pop {r1} - bx r1 - .align 2, 0 -_0808BD8C: .4byte gPokemonStoragePtr -_0808BD90: .4byte 0x00008344 - thumb_func_end GetBoxNamePtr - - thumb_func_start sub_808BD94 -sub_808BD94: @ 808BD94 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xD - bls _0808BDA2 - movs r0, 0 - b _0808BDAE -_0808BDA2: - ldr r0, _0808BDB4 @ =gPokemonStoragePtr - ldr r0, [r0] - ldr r2, _0808BDB8 @ =0x000083c2 - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] -_0808BDAE: - pop {r1} - bx r1 - .align 2, 0 -_0808BDB4: .4byte gPokemonStoragePtr -_0808BDB8: .4byte 0x000083c2 - thumb_func_end sub_808BD94 - - thumb_func_start sub_808BDBC -sub_808BDBC: @ 808BDBC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r2, 0xD - bhi _0808BDDA - cmp r1, 0xF - bhi _0808BDDA - ldr r0, _0808BDE0 @ =gPokemonStoragePtr - ldr r0, [r0] - ldr r3, _0808BDE4 @ =0x000083c2 - adds r0, r3 - adds r0, r2 - strb r1, [r0] -_0808BDDA: - pop {r0} - bx r0 - .align 2, 0 -_0808BDE0: .4byte gPokemonStoragePtr -_0808BDE4: .4byte 0x000083c2 - thumb_func_end sub_808BDBC - - thumb_func_start sub_808BDE8 -sub_808BDE8: @ 808BDE8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - lsls r1, 24 - lsrs r0, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - adds r4, r3, 0 - ldr r2, _0808BE4C @ =0x0000ffff - cmp r3, 0x1 - bhi _0808BE0A - movs r2, 0x1 - cmp r3, 0x1 - beq _0808BE0E -_0808BE0A: - cmp r4, 0x3 - bne _0808BE58 -_0808BE0E: - lsls r0, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _0808BEA4 - cmp r1, r7 - bgt _0808BEA4 -_0808BE26: - asrs r4, r0, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - add r0, r8 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _0808BE50 - asrs r0, r6, 16 - adds r0, r4, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _0808BEA4 - cmp r2, r7 - ble _0808BE26 - b _0808BEA4 - .align 2, 0 -_0808BE4C: .4byte 0x0000ffff -_0808BE50: - adds r0, r4, 0 - b _0808BEA8 -_0808BE54: - adds r0, r5, 0 - b _0808BEA8 -_0808BE58: - lsls r0, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _0808BEA4 - cmp r1, r7 - bgt _0808BEA4 -_0808BE70: - asrs r5, r0, 16 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 4 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _0808BE94 - adds r0, r4, 0 - movs r1, 0x2D - bl GetBoxMonData - cmp r0, 0 - beq _0808BE54 -_0808BE94: - asrs r0, r6, 16 - adds r0, r5, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _0808BEA4 - cmp r2, r7 - ble _0808BE70 -_0808BEA4: - movs r0, 0x1 - negs r0, r0 -_0808BEA8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808BDE8 - - thumb_func_start PSS_RenderTextToVramViaBuffer -PSS_RenderTextToVramViaBuffer: @ 808BEB4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - str r0, [sp, 0x24] - adds r7, r1, 0 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x28] - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - movs r0, 0 - movs r1, 0 - str r0, [sp, 0x1C] - str r1, [sp, 0x20] - ldr r1, _0808BF30 @ =0x00ffffff - ldr r0, [sp, 0x1C] - ands r0, r1 - movs r1, 0xC0 - lsls r1, 21 - orrs r0, r1 - str r0, [sp, 0x1C] - ldr r1, _0808BF34 @ =0xffffff00 - add r5, sp, 0x1C - ldr r0, [r5, 0x4] - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - str r0, [r5, 0x4] - adds r0, r5, 0 - bl AddWindow - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsls r4, r0, 24 - lsrs r4, 24 - mov r0, r9 - lsls r1, r0, 4 - orrs r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - movs r1, 0x7 - bl GetWindowAttribute - adds r6, r0, 0 - ldrb r0, [r5, 0x3] - lsls r0, 5 - adds r0, r6 - mov r8, r0 - ldr r1, [sp, 0x28] - cmp r1, 0 - bne _0808BF38 - add r0, sp, 0x14 - b _0808BF3C - .align 2, 0 -_0808BF30: .4byte 0x00ffffff -_0808BF34: .4byte 0xffffff00 -_0808BF38: - add r0, sp, 0x14 - mov r1, r9 -_0808BF3C: - strb r1, [r0] - add r1, sp, 0x14 - movs r2, 0 - movs r0, 0xF - strb r0, [r1, 0x1] - movs r0, 0xE - strb r0, [r1, 0x2] - mov r0, r10 - lsls r4, r0, 24 - lsrs r0, r4, 24 - str r2, [sp] - str r2, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0xC] - ldr r1, [sp, 0x24] - str r1, [sp, 0x10] - movs r1, 0x1 - movs r3, 0x2 - bl AddTextPrinterParameterized4 - ldr r0, [sp, 0x50] - mov r10, r4 - cmp r0, 0x6 - ble _0808BF72 - movs r0, 0x6 -_0808BF72: - ldr r4, [sp, 0x50] - subs r4, 0x6 - cmp r0, 0 - ble _0808BFA4 - adds r5, r0, 0 -_0808BF7C: - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x40 - bl CpuSet - adds r1, r7, 0 - adds r1, 0x80 - mov r0, r8 - movs r2, 0x40 - bl CpuSet - adds r6, 0x80 - movs r2, 0x80 - add r8, r2 - movs r0, 0x80 - lsls r0, 1 - adds r7, r0 - subs r5, 0x1 - cmp r5, 0 - bne _0808BF7C -_0808BFA4: - cmp r4, 0 - ble _0808BFC4 - add r0, sp, 0x18 - mov r2, r9 - lsls r1, r2, 4 - orrs r1, r2 - strh r1, [r0] - lsls r2, r4, 7 - ldr r1, _0808BFDC @ =0x001fffff - ands r2, r1 - movs r1, 0x80 - lsls r1, 17 - orrs r2, r1 - adds r1, r7, 0 - bl CpuSet -_0808BFC4: - mov r1, r10 - lsrs r0, r1, 24 - bl RemoveWindow - 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 -_0808BFDC: .4byte 0x001fffff - thumb_func_end PSS_RenderTextToVramViaBuffer - - thumb_func_start sub_808BFE0 -sub_808BFE0: @ 808BFE0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - str r0, [sp, 0x20] - str r1, [sp, 0x24] - adds r6, r3, 0 - ldr r0, [sp, 0x4C] - mov r9, r0 - ldr r1, [sp, 0x50] - mov r10, r1 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x28] - lsls r6, 24 - lsrs r6, 24 - mov r2, r9 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r0, 0 - movs r1, 0 - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - ldr r0, [sp, 0x20] - bl StringLength_Multibyte - lsls r0, 24 - ldr r2, _0808C0CC @ =0x00ffffff - ldr r1, [sp, 0x18] - ands r1, r2 - orrs r1, r0 - str r1, [sp, 0x18] - ldr r1, _0808C0D0 @ =0xffffff00 - add r2, sp, 0x18 - mov r8, r2 - ldr r0, [r2, 0x4] - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - str r0, [r2, 0x4] - ldr r5, [sp, 0x18] - lsrs r5, 24 - lsls r5, 5 - mov r0, r8 - bl AddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, r6, 4 - orrs r1, r6 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - movs r1, 0x7 - bl GetWindowAttribute - adds r7, r0, 0 - mov r0, r8 - ldrb r0, [r0, 0x3] - lsls r0, 5 - mov r8, r0 - add r8, r7 - add r0, sp, 0x14 - movs r1, 0 - strb r6, [r0] - mov r2, r9 - strb r2, [r0, 0x1] - mov r2, r10 - strb r2, [r0, 0x2] - str r1, [sp] - str r1, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0xC] - ldr r0, [sp, 0x20] - str r0, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized4 - lsrs r5, 1 - adds r0, r7, 0 - ldr r1, [sp, 0x24] - adds r2, r5, 0 - bl CpuSet - ldr r2, [sp, 0x24] - ldr r0, [sp, 0x28] - adds r1, r2, r0 - mov r0, r8 - adds r2, r5, 0 - bl CpuSet - adds r0, r4, 0 - bl RemoveWindow - 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 -_0808C0CC: .4byte 0x00ffffff -_0808C0D0: .4byte 0xffffff00 - thumb_func_end sub_808BFE0 - - thumb_func_start CountMonsInBox -CountMonsInBox: @ 808C0D4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - movs r5, 0 -_0808C0DE: - lsls r1, r4, 24 - lsrs r1, 24 - adds r0, r6, 0 - movs r2, 0xB - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - beq _0808C0F4 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_0808C0F4: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _0808C0DE - lsls r0, r5, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CountMonsInBox - - thumb_func_start GetFirstFreeBoxSpot -GetFirstFreeBoxSpot: @ 808C108 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 -_0808C110: - lsls r1, r4, 24 - lsrs r1, 24 - adds r0, r5, 0 - movs r2, 0xB - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - bne _0808C126 - lsls r0, r4, 16 - asrs r0, 16 - b _0808C134 -_0808C126: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _0808C110 - movs r0, 0x1 - negs r0, r0 -_0808C134: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetFirstFreeBoxSpot - - thumb_func_start CountPartyNonEggMons -CountPartyNonEggMons: @ 808C13C - push {r4-r6,lr} - movs r5, 0 - movs r6, 0 -_0808C142: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0808C180 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0808C16A - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0808C16A - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_0808C16A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _0808C142 - lsls r0, r6, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0808C180: .4byte gPlayerParty - thumb_func_end CountPartyNonEggMons - - thumb_func_start CountPartyAliveNonEggMonsExcept -CountPartyAliveNonEggMonsExcept: @ 808C184 - push {r4-r7,lr} - lsls r0, 24 - movs r5, 0 - movs r6, 0 - lsrs r7, r0, 24 -_0808C18E: - cmp r5, r7 - beq _0808C1C6 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0808C1DC @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0808C1C6 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0808C1C6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0808C1C6 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_0808C1C6: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _0808C18E - lsls r0, r6, 24 - lsrs r0, 24 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0808C1DC: .4byte gPlayerParty - thumb_func_end CountPartyAliveNonEggMonsExcept - - thumb_func_start CountPartyAliveNonEggMons_IgnoreVar0x8004Slot -CountPartyAliveNonEggMons_IgnoreVar0x8004Slot: @ 808C1E0 - push {lr} - ldr r0, _0808C1F4 @ =gSpecialVar_0x8004 - ldrb r0, [r0] - bl CountPartyAliveNonEggMonsExcept - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0808C1F4: .4byte gSpecialVar_0x8004 - thumb_func_end CountPartyAliveNonEggMons_IgnoreVar0x8004Slot - - thumb_func_start CountPartyMons -CountPartyMons: @ 808C1F8 - push {r4,r5,lr} - movs r4, 0 - movs r5, 0 -_0808C1FE: - movs r0, 0x64 - muls r0, r4 - ldr r1, _0808C22C @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0808C216 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_0808C216: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x5 - bls _0808C1FE - lsls r0, r5, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0808C22C: .4byte gPlayerParty - thumb_func_end CountPartyMons - - thumb_func_start StringCopyAndFillWithSpaces -StringCopyAndFillWithSpaces: @ 808C230 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r2, 16 - lsrs r4, 16 - bl StringCopy - adds r1, r0, 0 - adds r5, r4 - cmp r1, r5 - bcs _0808C24E - movs r0, 0 -_0808C246: - strb r0, [r1] - adds r1, 0x1 - cmp r1, r5 - bcc _0808C246 -_0808C24E: - movs r0, 0xFF - strb r0, [r1] - adds r0, r1, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end StringCopyAndFillWithSpaces - - thumb_func_start sub_808C25C -sub_808C25C: @ 808C25C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - adds r7, r3, 0 - ldr r5, [sp, 0x1C] - ldr r4, [sp, 0x20] - ldr r0, [sp, 0x24] - mov r9, r0 - ldr r0, [sp, 0x28] - ldr r3, [sp, 0x2C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r3, 16 - lsrs r3, 16 - mov r0, r9 - lsls r0, 17 - mov r9, r0 - lsrs r2, 11 - adds r2, r1 - lsls r2, 1 - adds r6, r2 - adds r0, r4, 0 - muls r0, r3 - adds r0, r5 - lsls r0, 1 - adds r7, r0 - movs r4, 0 - cmp r4, r8 - bcs _0808C2CC - mov r0, r9 - lsrs r0, 1 - mov r9, r0 - lsls r5, r3, 1 -_0808C2B2: - adds r0, r7, 0 - adds r1, r6, 0 - mov r3, r9 - lsrs r2, r3, 16 - bl CpuSet - adds r6, 0x40 - adds r7, r5 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r8 - bcc _0808C2B2 -_0808C2CC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_808C25C - - thumb_func_start sub_808C2D8 -sub_808C2D8: @ 808C2D8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r0, 0 - ldr r0, [sp, 0x28] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsrs r2, 11 - adds r2, r1 - lsls r2, 1 - adds r4, r2 - lsls r3, 17 - lsrs r0, r3, 16 - str r0, [sp, 0x4] - movs r0, 0 - cmp r0, r10 - bcs _0808C382 - movs r6, 0x80 - lsls r6, 5 - mov r5, sp - ldr r7, _0808C344 @ =0x040000d4 - lsrs r3, 17 - mov r9, r3 - mov r1, r9 - movs r2, 0x81 - lsls r2, 24 - orrs r1, r2 - mov r9, r1 -_0808C31E: - adds r3, r4, 0 - ldr r2, [sp, 0x4] - movs r1, 0x40 - adds r1, r4 - mov r8, r1 - adds r0, 0x1 - mov r12, r0 - cmp r2, r6 - bhi _0808C348 - movs r0, 0 - strh r0, [r5] - mov r2, sp - str r2, [r7] - str r4, [r7, 0x4] - mov r0, r9 - str r0, [r7, 0x8] - ldr r0, [r7, 0x8] - b _0808C376 - .align 2, 0 -_0808C344: .4byte 0x040000d4 -_0808C348: - movs r4, 0 - strh r4, [r5] - ldr r1, _0808C394 @ =0x040000d4 - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - ldr r0, _0808C398 @ =0x81000800 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r6 - subs r2, r6 - cmp r2, r6 - bhi _0808C348 - strh r4, [r5] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - lsrs r0, r2, 1 - movs r2, 0x81 - lsls r2, 24 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_0808C376: - mov r4, r8 - mov r1, r12 - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, r10 - bcc _0808C31E -_0808C382: - 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 -_0808C394: .4byte 0x040000d4 -_0808C398: .4byte 0x81000800 - thumb_func_end sub_808C2D8 - - thumb_func_start c3_0808C39C -c3_0808C39C: @ 808C39C - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0808C3C4 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bls _0808C3B8 - b _0808C69C -_0808C3B8: - lsls r0, 2 - ldr r1, _0808C3C8 @ =_0808C3CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808C3C4: .4byte gTasks -_0808C3C8: .4byte _0808C3CC - .align 2, 0 -_0808C3CC: - .4byte _0808C3E0 - .4byte _0808C448 - .4byte _0808C45C - .4byte _0808C5A6 - .4byte _0808C680 -_0808C3E0: - movs r0, 0x1C @ HELPCONTEXT_BILLS_PC - bl SetHelpContext - ldrb r0, [r5, 0xA] - adds r1, r5, 0 - adds r1, 0x26 - bl sub_808C72C - bl LoadStdWindowFrameGfx - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, _0808C444 @ =gUnknown_83CDA20 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - movs r3, 0xFF - bl AddTextPrinterParameterized2 - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram - b _0808C454 - .align 2, 0 -_0808C444: .4byte gUnknown_83CDA20 -_0808C448: - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - bne _0808C454 - b _0808C69C -_0808C454: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _0808C69C -_0808C45C: - bl Menu_ProcessInput - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0xC] - movs r3, 0xC - ldrsh r1, [r5, r3] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0808C50C - cmp r1, r0 - bgt _0808C47E - subs r0, 0x1 - cmp r1, r0 - beq _0808C484 - b _0808C530 -_0808C47E: - cmp r1, 0x4 - beq _0808C50C - b _0808C530 -_0808C484: - ldrh r3, [r5, 0xA] - strh r3, [r5, 0xE] - ldr r2, _0808C504 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0808C4A2 - subs r0, r3, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - cmp r0, 0 - bge _0808C4A2 - movs r0, 0x4 - strh r0, [r5, 0xE] -_0808C4A2: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0808C4BE - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0808C4BE - movs r0, 0 - strh r0, [r5, 0xE] -_0808C4BE: - lsls r0, r3, 16 - asrs r0, 16 - ldrh r2, [r5, 0xE] - movs r3, 0xE - ldrsh r1, [r5, r3] - cmp r0, r1 - bne _0808C4CE - b _0808C69C -_0808C4CE: - movs r4, 0 - strh r2, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, _0808C508 @ =gUnknown_83CDA20 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized2 - b _0808C69C - .align 2, 0 -_0808C504: .4byte gMain -_0808C508: .4byte gUnknown_83CDA20 -_0808C50C: - movs r0, 0 - movs r1, 0x1 - bl ClearStdWindowAndFrame - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl ClearStdWindowAndFrame - bl ScriptContext2_Disable - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - b _0808C69C -_0808C530: - movs r3, 0xC - ldrsh r4, [r5, r3] - cmp r4, 0 - bne _0808C564 - bl CountPartyMons - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _0808C564 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, _0808C560 @ =gUnknown_84186B0 - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r4, 0x3 - str r4, [sp, 0xC] - b _0808C66E - .align 2, 0 -_0808C560: .4byte gUnknown_84186B0 -_0808C564: - movs r1, 0xC - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _0808C598 - bl CountPartyMons - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _0808C598 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, _0808C594 @ =gUnknown_8418690 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r4, 0x3 - str r4, [sp, 0xC] - b _0808C66E - .align 2, 0 -_0808C594: .4byte gUnknown_8418690 -_0808C598: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - movs r0, 0x4 - strh r0, [r5, 0x8] - b _0808C69C -_0808C5A6: - ldr r0, _0808C5D0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r7, 0x3 - adds r4, r7, 0 - ands r4, r1 - cmp r4, 0 - beq _0808C5D8 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, _0808C5D4 @ =gUnknown_83CDA20 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - b _0808C664 - .align 2, 0 -_0808C5D0: .4byte gMain -_0808C5D4: .4byte gUnknown_83CDA20 -_0808C5D8: - movs r0, 0x40 - ands r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _0808C624 - ldrh r0, [r5, 0xA] - subs r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _0808C5F4 - movs r0, 0x4 - strh r0, [r5, 0xA] -_0808C5F4: - movs r0, 0x1 - negs r0, r0 - bl Menu_MoveCursor - bl Menu_GetCursorPos - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, _0808C620 @ =gUnknown_83CDA20 - movs r3, 0xA - ldrsh r0, [r5, r3] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r4, [sp] - b _0808C664 - .align 2, 0 -_0808C620: .4byte gUnknown_83CDA20 -_0808C624: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0808C69C - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0808C63C - strh r6, [r5, 0xA] -_0808C63C: - movs r0, 0x1 - bl Menu_MoveCursor - bl Menu_GetCursorPos - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, _0808C67C @ =gUnknown_83CDA20 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r6, [sp] -_0808C664: - movs r4, 0x2 - str r4, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r7, [sp, 0xC] -_0808C66E: - movs r0, 0 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized2 - strh r4, [r5, 0x8] - b _0808C69C - .align 2, 0 -_0808C67C: .4byte gUnknown_83CDA20 -_0808C680: - ldr r0, _0808C6A4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0808C69C - bl CleanupOverworldWindowsAndTilemaps - ldrb r0, [r5, 0xC] - bl sub_808CDE4 - adds r0, r4, 0 - bl DestroyTask -_0808C69C: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808C6A4: .4byte gPaletteFade - thumb_func_end c3_0808C39C - - thumb_func_start ShowPokemonStorageSystem -ShowPokemonStorageSystem: @ 808C6A8 - push {lr} - ldr r0, _0808C6D0 @ =c3_0808C39C - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0808C6D4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_0808C6D0: .4byte c3_0808C39C -_0808C6D4: .4byte gTasks - thumb_func_end ShowPokemonStorageSystem - - thumb_func_start mapldr_0808C6D8 -mapldr_0808C6D8: @ 808C6D8 - push {r4,r5,lr} - ldr r0, _0808C71C @ =gMain - ldr r5, [r0, 0xC] - movs r0, 0 - bl SetVBlankCallback - ldr r4, _0808C720 @ =c3_0808C39C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0808C724 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - ldr r2, _0808C728 @ =sPreviousBoxOption - ldrb r2, [r2] - strh r2, [r1, 0xA] - bl _call_via_r4 - adds r0, r5, 0 - bl SetVBlankCallback - bl FadeInFromBlack - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808C71C: .4byte gMain -_0808C720: .4byte c3_0808C39C -_0808C724: .4byte gTasks -_0808C728: .4byte sPreviousBoxOption - thumb_func_end mapldr_0808C6D8 - - thumb_func_start sub_808C72C -sub_808C72C: @ 808C72C - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0xC - adds r6, r0, 0 - mov r10, r1 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _0808C7AC @ =gUnknown_83CDA48 - bl AddWindow - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl DrawStdWindowFrame - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x10 - mov r9, r0 - str r0, [sp] - movs r0, 0x5 - mov r8, r0 - str r0, [sp, 0x4] - ldr r0, _0808C7B0 @ =gUnknown_83CDA20 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x2 - movs r3, 0x2 - bl PrintTextArray - mov r0, r9 - str r0, [sp] - mov r0, r8 - str r0, [sp, 0x4] - str r6, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor - mov r0, r10 - strh r5, [r0] - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0808C7AC: .4byte gUnknown_83CDA48 -_0808C7B0: .4byte gUnknown_83CDA20 - thumb_func_end sub_808C72C - - thumb_func_start sub_808C7B4 -sub_808C7B4: @ 808C7B4 - push {lr} - bl sub_808FDF0 - ldr r1, _0808C7D0 @ =sPreviousBoxOption - strb r0, [r1] - ldr r1, _0808C7D4 @ =gFieldCallback - ldr r0, _0808C7D8 @ =mapldr_0808C6D8 - str r0, [r1] - ldr r0, _0808C7DC @ =CB2_ReturnToField - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0808C7D0: .4byte sPreviousBoxOption -_0808C7D4: .4byte gFieldCallback -_0808C7D8: .4byte mapldr_0808C6D8 -_0808C7DC: .4byte CB2_ReturnToField - thumb_func_end sub_808C7B4 - - thumb_func_start ResetPokemonStorageSystem -ResetPokemonStorageSystem: @ 808C7E0 - push {r4-r6,lr} - movs r0, 0 - bl sub_808BA00 - movs r5, 0 -_0808C7EA: - movs r4, 0 - lsls r6, r5, 24 -_0808C7EE: - lsls r1, r4, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl sub_808BCB4 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _0808C7EE - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _0808C7EA - movs r5, 0 -_0808C80E: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBoxNamePtr - ldr r1, _0808C850 @ =gUnknown_84186CD - bl StringCopy - adds r4, r5, 0x1 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - lsls r4, 16 - lsrs r5, r4, 16 - cmp r5, 0xD - bls _0808C80E - movs r5, 0 -_0808C832: - lsls r0, r5, 24 - lsrs r0, 24 - movs r1, 0x3 - ands r1, r5 - bl sub_808BDBC - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _0808C832 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0808C850: .4byte gUnknown_84186CD - thumb_func_end ResetPokemonStorageSystem - - thumb_func_start sub_808C854 -sub_808C854: @ 808C854 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - adds r5, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r6, r1, 0 - lsls r2, 16 - lsrs r2, 16 - adds r7, r2, 0 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - ldr r0, _0808C8E8 @ =gUnknown_83CDA98 - str r0, [sp, 0x18] - ldr r1, _0808C8EC @ =0xffff0000 - add r4, sp, 0x18 - ldr r0, [r4, 0x4] - ands r0, r1 - orrs r0, r7 - str r0, [r4, 0x4] - mov r1, sp - ldr r0, _0808C8F0 @ =gUnknown_83CDAB8 - str r0, [sp] - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1, 0x4] - strh r6, [r1, 0x6] - ldr r0, _0808C8F4 @ =gUnknown_83CE2B8 - str r0, [sp, 0x8] - movs r0, 0xC0 - lsls r0, 1 - strh r0, [r1, 0xC] - adds r0, r6, 0x1 - strh r0, [r1, 0xE] - add r0, sp, 0x10 - movs r1, 0 - movs r2, 0x8 - bl memset - ldr r0, [sp, 0x38] - cmp r0, 0 - beq _0808C8B2 - adds r0, r4, 0 - bl LoadSpritePalette -_0808C8B2: - mov r0, sp - bl LoadSpriteSheets - ldr r0, _0808C8F8 @ =gUnknown_20397AC - str r5, [r0] - movs r1, 0x90 - lsls r1, 2 - adds r0, r5, r1 - strh r6, [r0] - adds r1, 0x2 - adds r0, r5, r1 - strh r7, [r0] - adds r1, 0x4 - adds r0, r5, r1 - mov r1, r8 - strb r1, [r0] - movs r1, 0x8F - lsls r1, 2 - adds r0, r5, r1 - ldr r1, [sp, 0x38] - str r1, [r0] - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808C8E8: .4byte gUnknown_83CDA98 -_0808C8EC: .4byte 0xffff0000 -_0808C8F0: .4byte gUnknown_83CDAB8 -_0808C8F4: .4byte gUnknown_83CE2B8 -_0808C8F8: .4byte gUnknown_20397AC - thumb_func_end sub_808C854 - - thumb_func_start sub_808C8FC -sub_808C8FC: @ 808C8FC - push {r4,r5,lr} - ldr r5, _0808C93C @ =gUnknown_20397AC - ldr r1, [r5] - movs r2, 0x8F - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _0808C918 - adds r2, 0x6 - adds r0, r1, r2 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_0808C918: - ldr r0, [r5] - movs r4, 0x90 - lsls r4, 2 - adds r0, r4 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r5] - adds r0, r4 - ldrh r0, [r0] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - bl FreeSpriteTilesByTag - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808C93C: .4byte gUnknown_20397AC - thumb_func_end sub_808C8FC - - thumb_func_start sub_808C940 -sub_808C940: @ 808C940 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_808C9C4 - pop {r0} - bx r0 - thumb_func_end sub_808C940 - - thumb_func_start sub_808C950 -sub_808C950: @ 808C950 - push {lr} - bl sub_808CBA4 - pop {r0} - bx r0 - thumb_func_end sub_808C950 - - thumb_func_start sub_808C95C -sub_808C95C: @ 808C95C - push {lr} - ldr r0, _0808C974 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0808C978 - movs r0, 0x5 - bl PlaySE - movs r0, 0xC9 - b _0808C9C0 - .align 2, 0 -_0808C974: .4byte gMain -_0808C978: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0808C998 - movs r0, 0x5 - bl PlaySE - ldr r0, _0808C994 @ =gUnknown_20397AC - ldr r0, [r0] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - b _0808C9C0 - .align 2, 0 -_0808C994: .4byte gUnknown_20397AC -_0808C998: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0808C9AC - movs r0, 0x5 - bl PlaySE - bl sub_808CC44 - b _0808C9BE -_0808C9AC: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0808C9BE - movs r0, 0x5 - bl PlaySE - bl sub_808CC10 -_0808C9BE: - movs r0, 0xC8 -_0808C9C0: - pop {r1} - bx r1 - thumb_func_end sub_808C95C - - thumb_func_start sub_808C9C4 -sub_808C9C4: @ 808C9C4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x3C - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0 - movs r1, 0 - str r0, [sp, 0x34] - str r1, [sp, 0x38] - movs r1, 0xC0 - lsls r1, 24 - ldr r0, [sp, 0x34] - orrs r0, r1 - str r0, [sp, 0x34] - ldr r1, _0808CB78 @ =0xffff0fff - add r4, sp, 0x34 - ldr r0, [r4, 0x4] - ands r0, r1 - movs r1, 0x80 - lsls r1, 5 - orrs r0, r1 - str r0, [r4, 0x4] - add r0, sp, 0x1C - mov r8, r0 - movs r1, 0 - strh r1, [r0] - mov r0, sp - adds r0, 0x1E - strh r1, [r0] - str r4, [sp, 0x20] - ldr r0, _0808CB7C @ =gDummySpriteAnimTable - str r0, [sp, 0x24] - str r1, [sp, 0x28] - ldr r0, _0808CB80 @ =gDummySpriteAffineAnimTable - str r0, [sp, 0x2C] - ldr r0, _0808CB84 @ =SpriteCallbackDummy - str r0, [sp, 0x30] - add r0, sp, 0x4 - mov r1, r8 - movs r2, 0x18 - bl memcpy - ldr r1, _0808CB88 @ =gUnknown_83CDA94 - mov r0, r8 - movs r2, 0x4 - bl memcpy - ldr r6, _0808CB8C @ =gUnknown_20397AC - ldr r0, [r6] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - strb r5, [r0] - add r2, sp, 0x4 - ldr r1, [r6] - movs r5, 0x90 - lsls r5, 2 - adds r0, r1, r5 - ldrh r0, [r0] - strh r0, [r2] - ldr r3, _0808CB90 @ =0x00000242 - adds r1, r3 - ldrh r0, [r1] - strh r0, [r2, 0x2] - adds r0, r2, 0 - movs r1, 0xA0 - movs r2, 0x60 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0808CB94 @ =gSprites - adds r0, r1 - str r0, [r3] - ldrb r2, [r4, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - ands r1, r0 - movs r0, 0x40 - orrs r1, r0 - strb r1, [r4, 0x3] - add r1, sp, 0x4 - adds r3, r5 - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r1] - ldr r0, _0808CB98 @ =gUnknown_83CDA70 - str r0, [sp, 0xC] - movs r4, 0 - mov r7, r8 -_0808CA90: - ldr r0, [r6] - ldr r1, _0808CB9C @ =0x00000246 - adds r0, r1 - ldrb r3, [r0] - add r0, sp, 0x4 - movs r1, 0x7C - movs r2, 0x50 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r2, [r6] - lsls r3, r4, 2 - adds r2, 0x4 - adds r2, r3 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0808CB94 @ =gSprites - adds r1, r0, r1 - str r1, [r2] - movs r5, 0 - movs r0, 0x2 - ands r0, r4 - cmp r0, 0 - beq _0808CACA - movs r0, 0xC4 - strh r0, [r1, 0x20] - movs r5, 0x2 -_0808CACA: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0808CAEE - ldr r1, [r6] - adds r1, 0x4 - adds r1, r3 - ldr r2, [r1] - movs r0, 0x70 - strh r0, [r2, 0x22] - ldr r2, [r1] - ldrb r1, [r2, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x3] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_0808CAEE: - ldr r0, [r6] - adds r0, 0x4 - adds r0, r3 - ldr r0, [r0] - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _0808CA90 - movs r4, 0 - ldr r5, _0808CB8C @ =gUnknown_20397AC -_0808CB0C: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 19 - movs r3, 0xF8 - lsls r3, 15 - adds r0, r3 - lsrs r0, 16 - lsls r2, r4, 24 - lsrs r2, 24 - ldr r1, [r5] - ldr r3, _0808CB9C @ =0x00000246 - adds r1, r3 - ldrb r1, [r1] - str r1, [sp] - movs r1, 0x58 - movs r3, 0 - bl sub_809223C - adds r2, r0, 0 - ldr r0, [r5] - lsls r1, r4, 2 - adds r0, 0x20 - adds r0, r1 - str r2, [r0] - cmp r2, 0 - beq _0808CB54 - movs r1, 0x1 - cmp r4, 0 - bne _0808CB4C - movs r3, 0x1 - negs r3, r3 - adds r1, r3, 0 -_0808CB4C: - strh r1, [r2, 0x2E] - ldr r1, [r0] - ldr r0, _0808CBA0 @ =sub_808CD64 - str r0, [r1, 0x1C] -_0808CB54: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _0808CB0C - bl sub_808CC74 - adds r0, r7, 0 - movs r1, 0x5 - movs r2, 0x3 - bl sub_808CCFC - add sp, 0x3C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808CB78: .4byte 0xffff0fff -_0808CB7C: .4byte gDummySpriteAnimTable -_0808CB80: .4byte gDummySpriteAffineAnimTable -_0808CB84: .4byte SpriteCallbackDummy -_0808CB88: .4byte gUnknown_83CDA94 -_0808CB8C: .4byte gUnknown_20397AC -_0808CB90: .4byte 0x00000242 -_0808CB94: .4byte gSprites -_0808CB98: .4byte gUnknown_83CDA70 -_0808CB9C: .4byte 0x00000246 -_0808CBA0: .4byte sub_808CD64 - thumb_func_end sub_808C9C4 - - thumb_func_start sub_808CBA4 -sub_808CBA4: @ 808CBA4 - push {r4-r6,lr} - ldr r4, _0808CC0C @ =gUnknown_20397AC - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0 - beq _0808CBBA - bl DestroySprite - ldr r1, [r4] - movs r0, 0 - str r0, [r1] -_0808CBBA: - movs r5, 0 - adds r6, r4, 0 -_0808CBBE: - ldr r0, [r6] - lsls r4, r5, 2 - adds r0, 0x4 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _0808CBDA - bl DestroySprite - ldr r0, [r6] - adds r0, 0x4 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_0808CBDA: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _0808CBBE - movs r5, 0 -_0808CBE6: - ldr r0, _0808CC0C @ =gUnknown_20397AC - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, 0x20 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _0808CBFA - bl DestroySprite -_0808CBFA: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _0808CBE6 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0808CC0C: .4byte gUnknown_20397AC - thumb_func_end sub_808CBA4 - - thumb_func_start sub_808CC10 -sub_808CC10: @ 808CC10 - push {lr} - ldr r2, _0808CC40 @ =gUnknown_20397AC - ldr r1, [r2] - movs r0, 0x91 - lsls r0, 2 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bls _0808CC36 - ldr r0, [r2] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_0808CC36: - bl sub_808CC74 - pop {r0} - bx r0 - .align 2, 0 -_0808CC40: .4byte gUnknown_20397AC - thumb_func_end sub_808CC10 - - thumb_func_start sub_808CC44 -sub_808CC44: @ 808CC44 - push {lr} - ldr r0, _0808CC5C @ =gUnknown_20397AC - ldr r2, [r0] - movs r1, 0x91 - lsls r1, 2 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0808CC60 - subs r1, r0, 0x1 - b _0808CC62 - .align 2, 0 -_0808CC5C: .4byte gUnknown_20397AC -_0808CC60: - movs r1, 0xD -_0808CC62: - movs r3, 0x91 - lsls r3, 2 - adds r0, r2, r3 - strb r1, [r0] - bl sub_808CC74 - pop {r0} - bx r0 - thumb_func_end sub_808CC44 - - thumb_func_start sub_808CC74 -sub_808CC74: @ 808CC74 - push {r4-r7,lr} - ldr r6, _0808CCF8 @ =gUnknown_20397AC - ldr r0, [r6] - movs r5, 0x91 - lsls r5, 2 - adds r0, r5 - ldrb r0, [r0] - bl CountMonsInBox - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, [r6] - movs r1, 0x8A - lsls r1, 2 - adds r4, r0, r1 - adds r0, r5 - ldrb r0, [r0] - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - adds r1, r0, 0 - ldr r0, [r6] - movs r2, 0x8C - lsls r2, 2 - adds r0, r2 - cmp r1, r0 - bcs _0808CCC0 - movs r4, 0 - adds r3, r6, 0 -_0808CCB4: - strb r4, [r1] - adds r1, 0x1 - ldr r0, [r3] - adds r0, r2 - cmp r1, r0 - bcc _0808CCB4 -_0808CCC0: - movs r0, 0xFF - strb r0, [r1] - ldr r5, _0808CCF8 @ =gUnknown_20397AC - ldr r0, [r5] - movs r4, 0x8A - lsls r4, 2 - adds r0, r4 - movs r1, 0 - movs r2, 0x1 - bl sub_808CCFC - ldr r0, [r5] - adds r0, r4 - adds r1, r7, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, [r5] - adds r0, r4 - movs r1, 0x3 - movs r2, 0x3 - bl sub_808CCFC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808CCF8: .4byte gUnknown_20397AC - thumb_func_end sub_808CC74 - - thumb_func_start sub_808CCFC -sub_808CCFC: @ 808CCFC - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - mov r8, r0 - adds r5, r1, 0 - adds r4, r2, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - ldr r6, _0808CD5C @ =gUnknown_20397AC - ldr r0, [r6] - movs r1, 0x90 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - bl GetSpriteTileStartByTag - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 11 - lsls r4, 8 - ldr r0, _0808CD60 @ =0x06010000 - adds r4, r0 - adds r1, r4 - lsls r5, 5 - adds r1, r5 - movs r2, 0x80 - lsls r2, 1 - movs r0, 0xF - str r0, [sp] - movs r0, 0xE - str r0, [sp, 0x4] - ldr r0, [r6] - adds r0, 0x28 - str r0, [sp, 0x8] - mov r0, r8 - movs r3, 0x4 - bl sub_808BFE0 - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0808CD5C: .4byte gUnknown_20397AC -_0808CD60: .4byte 0x06010000 - thumb_func_end sub_808CCFC - - thumb_func_start sub_808CD64 -sub_808CD64: @ 808CD64 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - movs r2, 0 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0808CD94 - strh r2, [r1, 0x30] - ldrh r0, [r1, 0x2E] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _0808CD94 - strh r2, [r1, 0x32] - strh r2, [r1, 0x24] -_0808CD94: - pop {r0} - bx r0 - thumb_func_end sub_808CD64 - - thumb_func_start sub_808CD98 -sub_808CD98: @ 808CD98 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl sub_8096BF8 - bl TransferPlttBuffer - ldr r0, _0808CDC0 @ =sPSSData - ldr r0, [r0] - movs r1, 0xB3 - lsls r1, 2 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - pop {r0} - bx r0 - .align 2, 0 -_0808CDC0: .4byte sPSSData - thumb_func_end sub_808CD98 - - thumb_func_start c2_Box -c2_Box: @ 808CDC4 - push {lr} - bl RunTasks - bl DoScheduledBgTilemapCopiesToVram - bl sub_808EFC8 - bl sub_808F99C - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end c2_Box - - thumb_func_start sub_808CDE4 -sub_808CDE4: @ 808CDE4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl ResetTasks - ldr r0, _0808CE08 @ =sCurrentBoxOption - strb r5, [r0] - ldr r4, _0808CE0C @ =sPSSData - ldr r0, _0808CE10 @ =0x000062bc - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _0808CE18 - ldr r0, _0808CE14 @ =sub_808C7B4 - bl SetMainCallback2 - b _0808CE4A - .align 2, 0 -_0808CE08: .4byte sCurrentBoxOption -_0808CE0C: .4byte sPSSData -_0808CE10: .4byte 0x000062bc -_0808CE14: .4byte sub_808C7B4 -_0808CE18: - movs r2, 0 - strb r5, [r0, 0x1] - ldr r0, [r4] - strb r2, [r0, 0x3] - ldr r0, _0808CE50 @ =gUnknown_20397BA - movs r1, 0 - strh r2, [r0] - ldr r0, [r4] - strb r1, [r0] - ldr r0, _0808CE54 @ =task_box_related_3 - movs r1, 0x3 - bl CreateTask - ldr r1, [r4] - strb r0, [r1, 0x4] - movs r0, 0x1C @ HELPCONTEXT_BILLS_PC - bl SetHelpContext - bl StorageGetCurrentBox - ldr r1, _0808CE58 @ =sLastUsedBox - strb r0, [r1] - ldr r0, _0808CE5C @ =c2_Box - bl SetMainCallback2 -_0808CE4A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808CE50: .4byte gUnknown_20397BA -_0808CE54: .4byte task_box_related_3 -_0808CE58: .4byte sLastUsedBox -_0808CE5C: .4byte c2_Box - thumb_func_end sub_808CDE4 - - thumb_func_start sub_808CE60 -sub_808CE60: @ 808CE60 - push {r4,lr} - bl ResetTasks - ldr r4, _0808CE80 @ =sPSSData - ldr r0, _0808CE84 @ =0x000062bc - bl Alloc - adds r1, r0, 0 - str r1, [r4] - cmp r1, 0 - bne _0808CE8C - ldr r0, _0808CE88 @ =sub_808C7B4 - bl SetMainCallback2 - b _0808CEB6 - .align 2, 0 -_0808CE80: .4byte sPSSData -_0808CE84: .4byte 0x000062bc -_0808CE88: .4byte sub_808C7B4 -_0808CE8C: - ldr r0, _0808CEBC @ =sCurrentBoxOption - ldrb r0, [r0] - movs r2, 0 - strb r0, [r1, 0x1] - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x3] - ldr r0, [r4] - strb r2, [r0] - ldr r0, _0808CEC0 @ =task_box_related_3 - movs r1, 0x3 - bl CreateTask - ldr r1, [r4] - strb r0, [r1, 0x4] - movs r0, 0x1C @ HELPCONTEXT_BILLS_PC - bl SetHelpContext - ldr r0, _0808CEC4 @ =c2_Box - bl SetMainCallback2 -_0808CEB6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808CEBC: .4byte sCurrentBoxOption -_0808CEC0: .4byte task_box_related_3 -_0808CEC4: .4byte c2_Box - thumb_func_end sub_808CE60 - - thumb_func_start sub_808CEC8 -sub_808CEC8: @ 808CEC8 - push {lr} - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_808CEC8 - - thumb_func_start sub_808CF10 -sub_808CF10: @ 808CF10 - push {r4,lr} - sub sp, 0x4 - bl ResetPaletteFade - bl ResetSpriteData - bl FreeSpriteTileRanges - bl FreeAllSpritePalettes - bl ClearDma3Requests - ldr r1, _0808CF80 @ =gReservedSpriteTileCount - movs r2, 0xA0 - lsls r2, 2 - adds r0, r2, 0 - strh r0, [r1] - ldr r4, _0808CF84 @ =sPSSData - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x8 - adds r1, 0x10 - movs r2, 0x8 - bl sub_8096BE4 - ldr r1, _0808CF88 @ =gKeyRepeatStartDelay - movs r0, 0x14 - strh r0, [r1] - bl ClearScheduledBgCopiesToVram - movs r0, 0x3 - bl sub_80F7AD8 - ldr r2, _0808CF8C @ =gUnknown_83CE6F8 - movs r0, 0x4 - str r0, [sp] - movs r0, 0 - movs r1, 0x1 - movs r3, 0x8 - bl sub_80F7B80 - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_80F7CAC - ldr r0, [r4] - ldr r1, _0808CF90 @ =0x000002c7 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808CF80: .4byte gReservedSpriteTileCount -_0808CF84: .4byte sPSSData -_0808CF88: .4byte gKeyRepeatStartDelay -_0808CF8C: .4byte gUnknown_83CE6F8 -_0808CF90: .4byte 0x000002c7 - thumb_func_end sub_808CF10 - - thumb_func_start sub_808CF94 -sub_808CF94: @ 808CF94 - push {lr} - bl sub_8092B50 - ldr r2, _0808CFB8 @ =sInPartyMenu - movs r1, 0 - ldr r0, _0808CFBC @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bne _0808CFAA - movs r1, 0x1 -_0808CFAA: - strb r1, [r2] - ldr r1, _0808CFC0 @ =gUnknown_20397B6 - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0808CFB8: .4byte sInPartyMenu -_0808CFBC: .4byte sPSSData -_0808CFC0: .4byte gUnknown_20397B6 - thumb_func_end sub_808CF94 - - thumb_func_start sub_808CFC4 -sub_808CFC4: @ 808CFC4 - push {lr} - ldr r0, _0808CFF0 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _0808CFE2 - movs r1, 0xFC - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldr r1, _0808CFF4 @ =0x00000b07 - movs r0, 0x52 - bl SetGpuReg -_0808CFE2: - movs r1, 0xFA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - .align 2, 0 -_0808CFF0: .4byte sPSSData -_0808CFF4: .4byte 0x00000b07 - thumb_func_end sub_808CFC4 - - thumb_func_start add_to_c3_somehow -add_to_c3_somehow: @ 808CFF8 - push {r4,lr} - ldr r4, _0808D018 @ =gTasks - ldr r1, _0808D01C @ =sPSSData - ldr r3, [r1] - ldrb r2, [r3, 0x4] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r4 - str r0, [r1] - movs r0, 0 - strb r0, [r3] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808D018: .4byte gTasks -_0808D01C: .4byte sPSSData - thumb_func_end add_to_c3_somehow - - thumb_func_start task_box_related_3 -task_box_related_3: @ 808D020 - push {lr} - sub sp, 0x4 - ldr r0, _0808D03C @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0xA - bls _0808D030 - b _0808D216 -_0808D030: - lsls r0, 2 - ldr r1, _0808D040 @ =_0808D044 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808D03C: .4byte sPSSData -_0808D040: .4byte _0808D044 - .align 2, 0 -_0808D044: - .4byte _0808D070 - .4byte _0808D0C8 - .4byte _0808D0D6 - .4byte _0808D104 - .4byte _0808D120 - .4byte _0808D13E - .4byte _0808D15E - .4byte _0808D164 - .4byte _0808D16A - .4byte _0808D178 - .4byte _0808D1BE -_0808D070: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - bl sub_808CF10 - ldr r0, _0808D0A0 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x3] - cmp r0, 0 - beq _0808D0BE - ldr r0, _0808D0A4 @ =sWhichToReshow - ldrb r0, [r0] - cmp r0, 0x1 - beq _0808D0AE - cmp r0, 0x1 - bgt _0808D0A8 - cmp r0, 0 - beq _0808D0B4 - b _0808D0BE - .align 2, 0 -_0808D0A0: .4byte sPSSData -_0808D0A4: .4byte sWhichToReshow -_0808D0A8: - cmp r0, 0x2 - beq _0808D0BA - b _0808D0BE -_0808D0AE: - bl sub_8093660 - b _0808D0BE -_0808D0B4: - bl sub_80937B4 - b _0808D0BE -_0808D0BA: - bl sub_808EF0C -_0808D0BE: - bl sub_808EFE4 - bl sub_808F068 - b _0808D20C -_0808D0C8: - bl sub_808F044 - lsls r0, 24 - cmp r0, 0 - beq _0808D0D4 - b _0808D20C -_0808D0D4: - b _0808D148 -_0808D0D6: - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl ClearWindowTilemap - movs r0, 0 - str r0, [sp] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, _0808D100 @ =0x05000080 - mov r0, sp - bl CpuSet - movs r0, 0x1 - movs r1, 0xB - movs r2, 0xE0 - bl TextWindow_SetUserSelectedFrame - b _0808D20C - .align 2, 0 -_0808D100: .4byte 0x05000080 -_0808D104: - bl sub_808CEC8 - ldr r0, _0808D11C @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x3] - cmp r0, 0 - beq _0808D114 - b _0808D20C -_0808D114: - bl sub_808CF94 - b _0808D20C - .align 2, 0 -_0808D11C: .4byte sPSSData -_0808D120: - bl sub_808FFAC - ldr r0, _0808D134 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x3] - cmp r0, 0 - bne _0808D138 - bl sub_80922C0 - b _0808D20C - .align 2, 0 -_0808D134: .4byte sPSSData -_0808D138: - bl sub_8092340 - b _0808D20C -_0808D13E: - bl sub_8095050 - lsls r0, 24 - cmp r0, 0 - bne _0808D154 -_0808D148: - ldr r0, _0808D150 @ =sub_808EE18 - bl add_to_c3_somehow - b _0808D216 - .align 2, 0 -_0808D150: .4byte sub_808EE18 -_0808D154: - bl sub_808EF8C - bl sub_808FB68 - b _0808D20C -_0808D15E: - bl sub_808F078 - b _0808D20C -_0808D164: - bl sub_808F68C - b _0808D20C -_0808D16A: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - bl sub_80913DC - b _0808D20C -_0808D178: - bl sub_809140C - lsls r0, 24 - cmp r0, 0 - bne _0808D216 - ldr r0, _0808D1A8 @ =sPSSData - ldr r2, [r0] - ldrb r0, [r2, 0x1] - cmp r0, 0x3 - beq _0808D1B4 - movs r1, 0xDA - lsls r1, 4 - adds r0, r2, r1 - movs r1, 0xD - strh r1, [r0] - ldr r1, _0808D1AC @ =0x00000da2 - adds r2, r1 - ldr r1, _0808D1B0 @ =0x0000dace - strh r1, [r2] - bl SetMonMarkingsMenuPointer - bl LoadMonMarkingsFrameGfx - b _0808D20C - .align 2, 0 -_0808D1A8: .4byte sPSSData -_0808D1AC: .4byte 0x00000da2 -_0808D1B0: .4byte 0x0000dace -_0808D1B4: - bl sub_8095B5C - bl sub_808FDFC - b _0808D20C -_0808D1BE: - bl sub_808CFC4 - ldr r0, _0808D1E0 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x3] - cmp r0, 0 - bne _0808D1E8 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, _0808D1E4 @ =sub_808D220 - bl add_to_c3_somehow - b _0808D1FA - .align 2, 0 -_0808D1E0: .4byte sPSSData -_0808D1E4: .4byte sub_808D220 -_0808D1E8: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, _0808D204 @ =sub_808D26C - bl add_to_c3_somehow -_0808D1FA: - ldr r0, _0808D208 @ =sub_808CD98 - bl SetVBlankCallback - b _0808D216 - .align 2, 0 -_0808D204: .4byte sub_808D26C -_0808D208: .4byte sub_808CD98 -_0808D20C: - ldr r0, _0808D21C @ =sPSSData - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0808D216: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0808D21C: .4byte sPSSData - thumb_func_end task_box_related_3 - - thumb_func_start sub_808D220 -sub_808D220: @ 808D220 - push {r4,lr} - ldr r4, _0808D234 @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _0808D238 - cmp r0, 0x1 - beq _0808D252 - b _0808D262 - .align 2, 0 -_0808D234: .4byte sPSSData -_0808D238: - movs r0, 0x2 - bl PlaySE - movs r0, 0x14 - movs r1, 0 - movs r2, 0x1 - bl sub_80A0A48 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808D262 -_0808D252: - bl sub_80A0A98 - lsls r0, 24 - cmp r0, 0 - bne _0808D262 - ldr r0, _0808D268 @ =sub_808D2BC - bl add_to_c3_somehow -_0808D262: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808D268: .4byte sub_808D2BC - thumb_func_end sub_808D220 - - thumb_func_start sub_808D26C -sub_808D26C: @ 808D26C - push {r4,lr} - sub sp, 0x4 - ldr r4, _0808D280 @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _0808D284 - cmp r0, 0x1 - beq _0808D29E - b _0808D2AE - .align 2, 0 -_0808D280: .4byte sPSSData -_0808D284: - movs r1, 0x1 - negs r1, r1 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808D2AE -_0808D29E: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _0808D2AE - ldr r0, _0808D2B8 @ =sub_808D2BC - bl add_to_c3_somehow -_0808D2AE: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808D2B8: .4byte sub_808D2BC - thumb_func_end sub_808D26C - - thumb_func_start sub_808D2BC -sub_808D2BC: @ 808D2BC - push {r4,r5,lr} - ldr r0, _0808D2D4 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0xB - bls _0808D2CA - b _0808D7B2 -_0808D2CA: - lsls r0, 2 - ldr r1, _0808D2D8 @ =_0808D2DC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808D2D4: .4byte sPSSData -_0808D2D8: .4byte _0808D2DC - .align 2, 0 -_0808D2DC: - .4byte _0808D30C - .4byte _0808D630 - .4byte _0808D670 - .4byte _0808D6C8 - .4byte _0808D6EC - .4byte _0808D6F6 - .4byte _0808D710 - .4byte _0808D730 - .4byte _0808D736 - .4byte _0808D74C - .4byte _0808D778 - .4byte _0808D7A0 -_0808D30C: - bl sub_80948B4 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x19 - bls _0808D31C - b _0808D7B2 -_0808D31C: - lsls r0, 2 - ldr r1, _0808D328 @ =_0808D32C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808D328: .4byte _0808D32C - .align 2, 0 -_0808D32C: - .4byte _0808D394 - .4byte _0808D7B2 - .4byte _0808D7B2 - .4byte _0808D424 - .4byte _0808D3A8 - .4byte _0808D3DC - .4byte _0808D43C - .4byte _0808D450 - .4byte _0808D45C - .4byte _0808D494 - .4byte _0808D4D8 - .4byte _0808D55C - .4byte _0808D51C - .4byte _0808D52E - .4byte _0808D570 - .4byte _0808D584 - .4byte _0808D598 - .4byte _0808D5AC - .4byte _0808D430 - .4byte _0808D5C0 - .4byte _0808D5E0 - .4byte _0808D5CA - .4byte _0808D5EA - .4byte _0808D628 - .4byte _0808D5EE - .4byte _0808D608 -_0808D394: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808D3A4 @ =sPSSData - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1] - b _0808D7B2 - .align 2, 0 -_0808D3A4: .4byte sPSSData -_0808D3A8: - ldr r4, _0808D3C8 @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0, 0x1] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _0808D3CC - movs r0, 0x10 - bl sub_808FBA4 - ldr r1, [r4] - movs r0, 0x3 - strb r0, [r1] - b _0808D7B2 - .align 2, 0 -_0808D3C8: .4byte sPSSData -_0808D3CC: - bl sub_8092B50 - ldr r0, _0808D3D8 @ =sub_808D7BC - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D3D8: .4byte sub_808D7BC -_0808D3DC: - ldr r4, _0808D408 @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0x2 - bne _0808D410 - bl sub_80939A0 - lsls r0, 24 - cmp r0, 0 - beq _0808D416 - ldr r0, [r4] - ldr r1, _0808D40C @ =0x00000ce2 - adds r0, r1 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _0808D404 - b _0808D4F6 -_0808D404: - b _0808D416 - .align 2, 0 -_0808D408: .4byte sPSSData -_0808D40C: .4byte 0x00000ce2 -_0808D410: - cmp r0, 0x3 - beq _0808D416 - b _0808D7B2 -_0808D416: - ldr r0, _0808D420 @ =sub_808D7FC - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D420: .4byte sub_808D7FC -_0808D424: - ldr r0, _0808D42C @ =sub_808EBB0 - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D42C: .4byte sub_808EBB0 -_0808D430: - ldr r0, _0808D438 @ =sub_808ECE4 - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D438: .4byte sub_808ECE4 -_0808D43C: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808D44C @ =box_related - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D44C: .4byte box_related -_0808D450: - ldr r0, _0808D458 @ =sub_808D878 - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D458: .4byte sub_808D878 -_0808D45C: - movs r0, 0x5 - bl PlaySE - bl StorageGetCurrentBox - ldr r4, _0808D48C @ =sPSSData - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - ldr r2, _0808D490 @ =0x000002ca - adds r1, r2 - strh r0, [r1] - cmp r0, 0xD - ble _0808D47E - movs r0, 0 - strh r0, [r1] -_0808D47E: - ldr r1, [r4] - ldrb r0, [r1, 0x1] - cmp r0, 0x3 - beq _0808D4CC - adds r0, r1, r2 - b _0808D78A - .align 2, 0 -_0808D48C: .4byte sPSSData -_0808D490: .4byte 0x000002ca -_0808D494: - movs r0, 0x5 - bl PlaySE - bl StorageGetCurrentBox - ldr r4, _0808D4C4 @ =sPSSData - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - ldr r2, _0808D4C8 @ =0x000002ca - adds r1, r2 - strh r0, [r1] - cmp r0, 0 - bge _0808D4B6 - movs r0, 0xD - strh r0, [r1] -_0808D4B6: - ldr r1, [r4] - ldrb r0, [r1, 0x1] - cmp r0, 0x3 - beq _0808D4CC - adds r0, r1, r2 - b _0808D78A - .align 2, 0 -_0808D4C4: .4byte sPSSData -_0808D4C8: .4byte 0x000002ca -_0808D4CC: - bl sub_8094D60 - ldr r1, [r4] - movs r0, 0xA - strb r0, [r1] - b _0808D7B2 -_0808D4D8: - bl sub_8093900 - lsls r0, 24 - cmp r0, 0 - bne _0808D538 - ldr r4, _0808D500 @ =sPSSData - ldr r0, [r4] - ldr r1, _0808D504 @ =0x00000ce2 - adds r0, r1 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _0808D508 -_0808D4F6: - ldr r1, [r4] - movs r0, 0x5 - strb r0, [r1] - b _0808D7B2 - .align 2, 0 -_0808D500: .4byte sPSSData -_0808D504: .4byte 0x00000ce2 -_0808D508: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808D518 @ =sub_808DD88 - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D518: .4byte sub_808DD88 -_0808D51C: - bl sub_8093900 - lsls r0, 24 - cmp r0, 0 - bne _0808D538 - movs r0, 0x5 - bl PlaySE - b _0808D740 -_0808D52E: - bl sub_809393C - lsls r0, 24 - cmp r0, 0 - bne _0808D548 -_0808D538: - ldr r0, _0808D544 @ =sPSSData - ldr r1, [r0] - movs r0, 0x4 - strb r0, [r1] - b _0808D7B2 - .align 2, 0 -_0808D544: .4byte sPSSData -_0808D548: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808D558 @ =sub_808DC50 - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D558: .4byte sub_808DC50 -_0808D55C: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808D56C @ =sub_808DC9C - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D56C: .4byte sub_808DC9C -_0808D570: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808D580 @ =sub_808DBF0 - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D580: .4byte sub_808DBF0 -_0808D584: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808D594 @ =sub_808E140 - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D594: .4byte sub_808E140 -_0808D598: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808D5A8 @ =sub_808E1F4 - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D5A8: .4byte sub_808E1F4 -_0808D5AC: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808D5BC @ =sub_808E3C8 - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D5BC: .4byte sub_808E3C8 -_0808D5C0: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - b _0808D616 -_0808D5CA: - movs r0, 0x1 - bl sub_80950BC - ldr r0, _0808D5DC @ =sPSSData - ldr r1, [r0] - movs r0, 0x8 - strb r0, [r1] - b _0808D7B2 - .align 2, 0 -_0808D5DC: .4byte sPSSData -_0808D5E0: - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - b _0808D5F6 -_0808D5EA: - movs r0, 0x3 - b _0808D616 -_0808D5EE: - movs r0, 0x5 - bl PlaySE - movs r0, 0x4 -_0808D5F6: - bl sub_80950BC - ldr r0, _0808D604 @ =sPSSData - ldr r1, [r0] - movs r0, 0x9 - strb r0, [r1] - b _0808D7B2 - .align 2, 0 -_0808D604: .4byte sPSSData -_0808D608: - movs r0, 0x5 - bl PlaySE - movs r0, 0x3 - bl sub_808FE54 - movs r0, 0x5 -_0808D616: - bl sub_80950BC - ldr r0, _0808D624 @ =sPSSData - ldr r1, [r0] - movs r0, 0x7 - strb r0, [r1] - b _0808D7B2 - .align 2, 0 -_0808D624: .4byte sPSSData -_0808D628: - movs r0, 0x1A - bl PlaySE - b _0808D7B2 -_0808D630: - bl sub_80924A8 - lsls r0, 24 - cmp r0, 0 - beq _0808D63C - b _0808D7B2 -_0808D63C: - bl sub_80939C8 - lsls r0, 24 - cmp r0, 0 - beq _0808D64C - bl sub_808F948 - b _0808D650 -_0808D64C: - bl sub_808F974 -_0808D650: - ldr r4, _0808D668 @ =sPSSData - ldr r0, [r4] - ldr r1, _0808D66C @ =0x00000ce6 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0808D662 - bl BoxSetMosaic -_0808D662: - ldr r1, [r4] - b _0808D6DC - .align 2, 0 -_0808D668: .4byte sPSSData -_0808D66C: .4byte 0x00000ce6 -_0808D670: - bl sub_80915FC - lsls r0, 24 - cmp r0, 0 - beq _0808D67C - b _0808D7B2 -_0808D67C: - ldr r0, _0808D6BC @ =sPSSData - ldr r0, [r0] - ldr r1, _0808D6C0 @ =0x000002ca - adds r0, r1 - ldrb r0, [r0] - bl sub_808BA00 - ldr r0, _0808D6C4 @ =sInPartyMenu - ldrb r0, [r0] - cmp r0, 0 - bne _0808D6A4 - bl sub_80939A0 - lsls r0, 24 - cmp r0, 0 - bne _0808D6A4 - bl sub_8092F54 - bl BoxSetMosaic -_0808D6A4: - ldr r4, _0808D6BC @ =sPSSData - ldr r1, [r4] - ldrb r0, [r1, 0x1] - cmp r0, 0x3 - bne _0808D6DC - bl sub_8094D84 - ldr r1, [r4] - movs r0, 0xB - strb r0, [r1] - b _0808D7B2 - .align 2, 0 -_0808D6BC: .4byte sPSSData -_0808D6C0: .4byte 0x000002ca -_0808D6C4: .4byte sInPartyMenu -_0808D6C8: - ldr r0, _0808D6E4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808D7B2 - bl sub_808FD20 - ldr r0, _0808D6E8 @ =sPSSData - ldr r1, [r0] -_0808D6DC: - movs r0, 0 - strb r0, [r1] - b _0808D7B2 - .align 2, 0 -_0808D6E4: .4byte gMain -_0808D6E8: .4byte sPSSData -_0808D6EC: - movs r0, 0x1A - bl PlaySE - movs r0, 0xD - b _0808D6FE -_0808D6F6: - movs r0, 0x1A - bl PlaySE - movs r0, 0x16 -_0808D6FE: - bl sub_808FBA4 - ldr r0, _0808D70C @ =sPSSData - ldr r1, [r0] - movs r0, 0x6 - strb r0, [r1] - b _0808D7B2 - .align 2, 0 -_0808D70C: .4byte sPSSData -_0808D710: - ldr r0, _0808D728 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808D7B2 - bl sub_808FD20 - ldr r0, _0808D72C @ =sub_808D2BC - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D728: .4byte gMain -_0808D72C: .4byte sub_808D2BC -_0808D730: - bl sub_80950D0 - b _0808D7A4 -_0808D736: - bl sub_80950D0 - lsls r0, 24 - cmp r0, 0 - bne _0808D7B2 -_0808D740: - ldr r0, _0808D748 @ =sub_808DB94 - bl add_to_c3_somehow - b _0808D7B2 - .align 2, 0 -_0808D748: .4byte sub_808DB94 -_0808D74C: - bl sub_80950D0 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0808D7B2 - ldr r5, _0808D770 @ =sPSSData - ldr r0, [r5] - ldr r1, _0808D774 @ =0x00000ce6 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0808D76A - bl BoxSetMosaic -_0808D76A: - ldr r0, [r5] - strb r4, [r0] - b _0808D7B2 - .align 2, 0 -_0808D770: .4byte sPSSData -_0808D774: .4byte 0x00000ce6 -_0808D778: - bl sub_809610C - lsls r0, 24 - cmp r0, 0 - bne _0808D7B2 - ldr r4, _0808D798 @ =sPSSData - ldr r0, [r4] - ldr r1, _0808D79C @ =0x000002ca - adds r0, r1 -_0808D78A: - ldrb r0, [r0] - bl sub_8091514 - ldr r1, [r4] - movs r0, 0x2 - strb r0, [r1] - b _0808D7B2 - .align 2, 0 -_0808D798: .4byte sPSSData -_0808D79C: .4byte 0x000002ca -_0808D7A0: - bl sub_809610C -_0808D7A4: - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0808D7B2 - ldr r0, _0808D7B8 @ =sPSSData - ldr r0, [r0] - strb r1, [r0] -_0808D7B2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808D7B8: .4byte sPSSData - thumb_func_end sub_808D2BC - - thumb_func_start sub_808D7BC -sub_808D7BC: @ 808D7BC - push {r4,lr} - ldr r4, _0808D7D0 @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _0808D7D4 - cmp r0, 0x1 - beq _0808D7E2 - b _0808D7F2 - .align 2, 0 -_0808D7D0: .4byte sPSSData -_0808D7D4: - bl sub_808FAD4 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808D7F2 -_0808D7E2: - bl sub_808FAF8 - lsls r0, 24 - cmp r0, 0 - bne _0808D7F2 - ldr r0, _0808D7F8 @ =sub_808D2BC - bl add_to_c3_somehow -_0808D7F2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808D7F8: .4byte sub_808D2BC - thumb_func_end sub_808D7BC - - thumb_func_start sub_808D7FC -sub_808D7FC: @ 808D7FC - push {r4,lr} - ldr r4, _0808D814 @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0x1 - beq _0808D82A - cmp r0, 0x1 - bgt _0808D818 - cmp r0, 0 - beq _0808D81E - b _0808D86A - .align 2, 0 -_0808D814: .4byte sPSSData -_0808D818: - cmp r0, 0x2 - beq _0808D84A - b _0808D86A -_0808D81E: - movs r0, 0x5 - bl PlaySE - bl sub_808F810 - b _0808D840 -_0808D82A: - bl sub_808F850 - lsls r0, 24 - cmp r0, 0 - bne _0808D86A - bl sub_8092B70 - lsls r0, 24 - lsrs r0, 24 - bl sub_8092B3C -_0808D840: - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808D86A -_0808D84A: - bl sub_80924A8 - lsls r0, 24 - cmp r0, 0 - bne _0808D86A - ldr r0, [r4] - ldr r1, _0808D870 @ =0x00000ce6 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0808D864 - bl BoxSetMosaic -_0808D864: - ldr r0, _0808D874 @ =sub_808D2BC - bl add_to_c3_somehow -_0808D86A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808D870: .4byte 0x00000ce6 -_0808D874: .4byte sub_808D2BC - thumb_func_end sub_808D7FC - - thumb_func_start sub_808D878 -sub_808D878: @ 808D878 - push {r4,lr} - ldr r0, _0808D890 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x6 - bls _0808D886 - b _0808DB86 -_0808D886: - lsls r0, 2 - ldr r1, _0808D894 @ =_0808D898 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808D890: .4byte sPSSData -_0808D894: .4byte _0808D898 - .align 2, 0 -_0808D898: - .4byte _0808D8B4 - .4byte _0808D918 - .4byte _0808D934 - .4byte _0808DB40 - .4byte _0808DB54 - .4byte _0808DB4A - .4byte _0808DB70 -_0808D8B4: - bl sub_808F258 - lsls r0, 24 - cmp r0, 0 - beq _0808D8C0 - b _0808DB86 -_0808D8C0: - movs r0, 0x5 - bl PlaySE - ldr r4, _0808D8D8 @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - beq _0808D8DC - movs r0, 0x4 - bl sub_808FBA4 - b _0808D906 - .align 2, 0 -_0808D8D8: .4byte sPSSData -_0808D8DC: - bl sub_809616C - lsls r0, 24 - cmp r0, 0 - bne _0808D8F2 - ldr r0, [r4] - ldr r1, _0808D8FC @ =0x00000ce2 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _0808D900 -_0808D8F2: - movs r0, 0x17 - bl sub_808FBA4 - b _0808D906 - .align 2, 0 -_0808D8FC: .4byte 0x00000ce2 -_0808D900: - movs r0, 0x18 - bl sub_808FBA4 -_0808D906: - bl sub_8094E88 - ldr r0, _0808D914 @ =sPSSData - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1] - b _0808DB86 - .align 2, 0 -_0808D914: .4byte sPSSData -_0808D918: - bl sub_8094F90 - lsls r0, 24 - cmp r0, 0 - beq _0808D924 - b _0808DB86 -_0808D924: - ldr r0, _0808D930 @ =sPSSData - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1] - b _0808DB86 - .align 2, 0 -_0808D930: .4byte sPSSData -_0808D934: - bl sub_8094F94 - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x12 - bls _0808D944 - b _0808DB86 -_0808D944: - lsls r0, 2 - ldr r1, _0808D950 @ =_0808D954 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808D950: .4byte _0808D954 - .align 2, 0 -_0808D954: - .4byte _0808D9A0 - .4byte _0808D9A0 - .4byte _0808DA20 - .4byte _0808DA08 - .4byte _0808D9B0 - .4byte _0808D9E8 - .4byte _0808D9D0 - .4byte _0808DAC0 - .4byte _0808DA5C - .4byte _0808DAD4 - .4byte _0808DB86 - .4byte _0808DB86 - .4byte _0808DB86 - .4byte _0808DAE8 - .4byte _0808DAFC - .4byte _0808DB28 - .4byte _0808DB1C - .4byte _0808DB10 - .4byte _0808DB34 -_0808D9A0: - bl sub_808FD20 - ldr r0, _0808D9AC @ =sub_808D2BC - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808D9AC: .4byte sub_808D2BC -_0808D9B0: - bl sub_8093900 - lsls r0, 24 - cmp r0, 0 - bne _0808DA66 - movs r0, 0x5 - bl PlaySE - bl sub_808FD20 - ldr r0, _0808D9CC @ =sub_808DB94 - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808D9CC: .4byte sub_808DB94 -_0808D9D0: - movs r0, 0x5 - bl PlaySE - bl sub_808FD20 - ldr r0, _0808D9E4 @ =sub_808DBF0 - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808D9E4: .4byte sub_808DBF0 -_0808D9E8: - bl sub_809393C - lsls r0, 24 - cmp r0, 0 - beq _0808DA66 - movs r0, 0x5 - bl PlaySE - bl sub_808FD20 - ldr r0, _0808DA04 @ =sub_808DC50 - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808DA04: .4byte sub_808DC50 -_0808DA08: - movs r0, 0x5 - bl PlaySE - bl sub_808FD20 - ldr r0, _0808DA1C @ =sub_808DC9C - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808DA1C: .4byte sub_808DC9C -_0808DA20: - bl sub_8093900 - lsls r0, 24 - cmp r0, 0 - bne _0808DA66 - ldr r4, _0808DA50 @ =sPSSData - ldr r0, [r4] - ldr r2, _0808DA54 @ =0x00000ce2 - adds r0, r2 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - bne _0808DAA0 - movs r0, 0x5 - bl PlaySE - bl sub_808FD20 - ldr r0, _0808DA58 @ =sub_808DD88 - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808DA50: .4byte sPSSData -_0808DA54: .4byte 0x00000ce2 -_0808DA58: .4byte sub_808DD88 -_0808DA5C: - bl sub_8093900 - lsls r0, 24 - cmp r0, 0 - beq _0808DA74 -_0808DA66: - ldr r0, _0808DA70 @ =sPSSData - ldr r1, [r0] - movs r0, 0x3 - strb r0, [r1] - b _0808DB86 - .align 2, 0 -_0808DA70: .4byte sPSSData -_0808DA74: - ldr r4, _0808DA88 @ =sPSSData - ldr r1, [r4] - ldr r2, _0808DA8C @ =0x00000ce9 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0808DA90 - movs r0, 0x5 - strb r0, [r1] - b _0808DB86 - .align 2, 0 -_0808DA88: .4byte sPSSData -_0808DA8C: .4byte 0x00000ce9 -_0808DA90: - ldr r2, _0808DAA8 @ =0x00000ce2 - adds r0, r1, r2 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _0808DAAC -_0808DAA0: - ldr r1, [r4] - movs r0, 0x4 - strb r0, [r1] - b _0808DB86 - .align 2, 0 -_0808DAA8: .4byte 0x00000ce2 -_0808DAAC: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808DABC @ =sub_808DECC - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808DABC: .4byte sub_808DECC -_0808DAC0: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808DAD0 @ =sub_808EAF0 - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808DAD0: .4byte sub_808EAF0 -_0808DAD4: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808DAE4 @ =sub_808E0BC - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808DAE4: .4byte sub_808E0BC -_0808DAE8: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808DAF8 @ =sub_808E140 - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808DAF8: .4byte sub_808E140 -_0808DAFC: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808DB0C @ =sub_808E1F4 - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808DB0C: .4byte sub_808E1F4 -_0808DB10: - ldr r0, _0808DB18 @ =sub_808E2B0 - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808DB18: .4byte sub_808E2B0 -_0808DB1C: - ldr r0, _0808DB24 @ =sub_808E3C8 - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808DB24: .4byte sub_808E3C8 -_0808DB28: - ldr r0, _0808DB30 @ =sub_808EB50 - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808DB30: .4byte sub_808EB50 -_0808DB34: - ldr r0, _0808DB3C @ =sub_808E4B0 - bl add_to_c3_somehow - b _0808DB86 - .align 2, 0 -_0808DB3C: .4byte sub_808E4B0 -_0808DB40: - movs r0, 0x1A - bl PlaySE - movs r0, 0xD - b _0808DB5C -_0808DB4A: - movs r0, 0x1A - bl PlaySE - movs r0, 0x11 - b _0808DB5C -_0808DB54: - movs r0, 0x1A - bl PlaySE - movs r0, 0x16 -_0808DB5C: - bl sub_808FBA4 - ldr r0, _0808DB6C @ =sPSSData - ldr r1, [r0] - movs r0, 0x6 - strb r0, [r1] - b _0808DB86 - .align 2, 0 -_0808DB6C: .4byte sPSSData -_0808DB70: - ldr r0, _0808DB8C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808DB86 - bl sub_808FD20 - ldr r0, _0808DB90 @ =sub_808D2BC - bl add_to_c3_somehow -_0808DB86: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808DB8C: .4byte gMain -_0808DB90: .4byte sub_808D2BC - thumb_func_end sub_808D878 - - thumb_func_start sub_808DB94 -sub_808DB94: @ 808DB94 - push {r4,lr} - ldr r4, _0808DBA8 @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _0808DBAC - cmp r0, 0x1 - beq _0808DBBC - b _0808DBE6 - .align 2, 0 -_0808DBA8: .4byte sPSSData -_0808DBAC: - movs r0, 0 - bl sub_8092B7C - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808DBE6 -_0808DBBC: - bl sub_8092BF8 - lsls r0, 24 - cmp r0, 0 - bne _0808DBE6 - ldr r0, _0808DBD8 @ =sInPartyMenu - ldrb r0, [r0] - cmp r0, 0 - beq _0808DBE0 - ldr r0, _0808DBDC @ =sub_808E688 - bl add_to_c3_somehow - b _0808DBE6 - .align 2, 0 -_0808DBD8: .4byte sInPartyMenu -_0808DBDC: .4byte sub_808E688 -_0808DBE0: - ldr r0, _0808DBEC @ =sub_808D2BC - bl add_to_c3_somehow -_0808DBE6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808DBEC: .4byte sub_808D2BC - thumb_func_end sub_808DB94 - - thumb_func_start sub_808DBF0 -sub_808DBF0: @ 808DBF0 - push {r4,lr} - ldr r4, _0808DC04 @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _0808DC08 - cmp r0, 0x1 - beq _0808DC1E - b _0808DC46 - .align 2, 0 -_0808DC04: .4byte sPSSData -_0808DC08: - movs r0, 0x1 - bl sub_808FE54 - movs r0, 0x1 - bl sub_8092B7C - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808DC46 -_0808DC1E: - bl sub_8092BF8 - lsls r0, 24 - cmp r0, 0 - bne _0808DC46 - ldr r0, _0808DC38 @ =sInPartyMenu - ldrb r0, [r0] - cmp r0, 0 - beq _0808DC40 - ldr r0, _0808DC3C @ =sub_808E688 - bl add_to_c3_somehow - b _0808DC46 - .align 2, 0 -_0808DC38: .4byte sInPartyMenu -_0808DC3C: .4byte sub_808E688 -_0808DC40: - ldr r0, _0808DC4C @ =sub_808D2BC - bl add_to_c3_somehow -_0808DC46: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808DC4C: .4byte sub_808D2BC - thumb_func_end sub_808DBF0 - - thumb_func_start sub_808DC50 -sub_808DC50: @ 808DC50 - push {r4,lr} - ldr r4, _0808DC64 @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _0808DC68 - cmp r0, 0x1 - beq _0808DC7E - b _0808DC92 - .align 2, 0 -_0808DC64: .4byte sPSSData -_0808DC68: - movs r0, 0 - bl sub_808FE54 - movs r0, 0x2 - bl sub_8092B7C - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808DC92 -_0808DC7E: - bl sub_8092BF8 - lsls r0, 24 - cmp r0, 0 - bne _0808DC92 - bl BoxSetMosaic - ldr r0, _0808DC98 @ =sub_808D2BC - bl add_to_c3_somehow -_0808DC92: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808DC98: .4byte sub_808D2BC - thumb_func_end sub_808DC50 - - thumb_func_start sub_808DC9C -sub_808DC9C: @ 808DC9C - push {lr} - ldr r0, _0808DCB4 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x5 - bhi _0808DD7E - lsls r0, 2 - ldr r1, _0808DCB8 @ =_0808DCBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808DCB4: .4byte sPSSData -_0808DCB8: .4byte _0808DCBC - .align 2, 0 -_0808DCBC: - .4byte _0808DCD4 - .4byte _0808DD0C - .4byte _0808DD2C - .4byte _0808DD42 - .4byte _0808DD5A - .4byte _0808DD78 -_0808DCD4: - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _0808DCF4 - movs r0, 0xE - bl sub_808FBA4 - ldr r0, _0808DCF0 @ =sPSSData - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1] - b _0808DD7E - .align 2, 0 -_0808DCF0: .4byte sPSSData -_0808DCF4: - bl sub_8092B5C - movs r0, 0 - bl sub_8092B7C - ldr r0, _0808DD08 @ =sPSSData - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1] - b _0808DD7E - .align 2, 0 -_0808DD08: .4byte sPSSData -_0808DD0C: - ldr r0, _0808DD24 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808DD7E - bl sub_808FD20 - ldr r0, _0808DD28 @ =sub_808D2BC - bl add_to_c3_somehow - b _0808DD7E - .align 2, 0 -_0808DD24: .4byte gMain -_0808DD28: .4byte sub_808D2BC -_0808DD2C: - bl sub_8092BF8 - lsls r0, 24 - cmp r0, 0 - bne _0808DD7E - movs r0, 0x1 - bl sub_8091184 - bl sub_808FAD4 - b _0808DD68 -_0808DD42: - bl sub_808FAF8 - lsls r0, 24 - cmp r0, 0 - bne _0808DD7E - movs r0, 0x1 - bl sub_808FE54 - movs r0, 0x1 - bl sub_8092B7C - b _0808DD68 -_0808DD5A: - bl sub_8092BF8 - lsls r0, 24 - cmp r0, 0 - bne _0808DD7E - bl sub_808FAA8 -_0808DD68: - ldr r0, _0808DD74 @ =sPSSData - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808DD7E - .align 2, 0 -_0808DD74: .4byte sPSSData -_0808DD78: - ldr r0, _0808DD84 @ =sub_808D7FC - bl add_to_c3_somehow -_0808DD7E: - pop {r0} - bx r0 - .align 2, 0 -_0808DD84: .4byte sub_808D7FC - thumb_func_end sub_808DC9C - - thumb_func_start sub_808DD88 -sub_808DD88: @ 808DD88 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0808DDA4 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x4 - bls _0808DD98 - b _0808DEBA -_0808DD98: - lsls r0, 2 - ldr r1, _0808DDA8 @ =_0808DDAC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808DDA4: .4byte sPSSData -_0808DDA8: .4byte _0808DDAC - .align 2, 0 -_0808DDAC: - .4byte _0808DDC0 - .4byte _0808DDFC - .4byte _0808DE64 - .4byte _0808DE7C - .4byte _0808DEA0 -_0808DDC0: - movs r0, 0x6 - bl sub_808FBA4 - ldr r4, _0808DDEC @ =sPSSData - ldr r0, [r4] - ldr r1, _0808DDF0 @ =0x00001e58 - adds r0, r1 - ldr r2, _0808DDF4 @ =0x0000dac7 - movs r1, 0 - str r1, [sp] - movs r1, 0xA - movs r3, 0x3 - bl sub_808C854 - ldr r0, _0808DDF8 @ =gUnknown_20397B6 - ldrb r0, [r0] - bl sub_808C940 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - b _0808DEB8 - .align 2, 0 -_0808DDEC: .4byte sPSSData -_0808DDF0: .4byte 0x00001e58 -_0808DDF4: .4byte 0x0000dac7 -_0808DDF8: .4byte gUnknown_20397B6 -_0808DDFC: - bl sub_808C95C - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r0, 0xC8 - beq _0808DEBA - cmp r0, 0xC9 - bne _0808DE1C - bl sub_808FD20 - bl sub_808C950 - bl sub_808C8FC - b _0808DE92 -_0808DE1C: - adds r0, r4, 0 - bl sub_80930E4 - lsls r0, 24 - cmp r0, 0 - beq _0808DE50 - ldr r0, _0808DE48 @ =gUnknown_20397B6 - strb r4, [r0] - movs r0, 0x2 - bl sub_808FE54 - bl sub_808FD20 - bl sub_808C950 - bl sub_808C8FC - ldr r0, _0808DE4C @ =sPSSData - ldr r1, [r0] - movs r0, 0x2 - b _0808DEB8 - .align 2, 0 -_0808DE48: .4byte gUnknown_20397B6 -_0808DE4C: .4byte sPSSData -_0808DE50: - movs r0, 0x8 - bl sub_808FBA4 - ldr r0, _0808DE60 @ =sPSSData - ldr r1, [r0] - movs r0, 0x4 - b _0808DEB8 - .align 2, 0 -_0808DE60: .4byte sPSSData -_0808DE64: - bl CompactPartySlots - bl sub_80909F4 - ldr r0, _0808DE78 @ =sPSSData - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _0808DEB8 - .align 2, 0 -_0808DE78: .4byte sPSSData -_0808DE7C: - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - bne _0808DEBA - bl sub_8093174 - bl BoxSetMosaic - bl sub_808FAA8 -_0808DE92: - ldr r0, _0808DE9C @ =sub_808D2BC - bl add_to_c3_somehow - b _0808DEBA - .align 2, 0 -_0808DE9C: .4byte sub_808D2BC -_0808DEA0: - ldr r0, _0808DEC4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808DEBA - movs r0, 0x6 - bl sub_808FBA4 - ldr r0, _0808DEC8 @ =sPSSData - ldr r1, [r0] - movs r0, 0x1 -_0808DEB8: - strb r0, [r1] -_0808DEBA: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808DEC4: .4byte gMain -_0808DEC8: .4byte sPSSData - thumb_func_end sub_808DD88 - - thumb_func_start sub_808DECC -sub_808DECC: @ 808DECC - push {lr} - ldr r0, _0808DEE4 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0xD - bls _0808DEDA - b _0808E0AE -_0808DEDA: - lsls r0, 2 - ldr r1, _0808DEE8 @ =_0808DEEC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808DEE4: .4byte sPSSData -_0808DEE8: .4byte _0808DEEC - .align 2, 0 -_0808DEEC: - .4byte _0808DF24 - .4byte _0808DF3A - .4byte _0808DF72 - .4byte _0808DF98 - .4byte _0808DFA4 - .4byte _0808DFBC - .4byte _0808DFF8 - .4byte _0808E010 - .4byte _0808E01C - .4byte _0808E020 - .4byte _0808E034 - .4byte _0808E050 - .4byte _0808E062 - .4byte _0808E098 -_0808DF24: - movs r0, 0x9 - bl sub_808FBA4 - movs r0, 0x1 - bl sub_808FCE8 - ldr r0, _0808DF54 @ =sPSSData - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0808DF3A: - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0808DF64 - cmp r1, 0 - bgt _0808DF58 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0808DF5E - b _0808E0AE - .align 2, 0 -_0808DF54: .4byte sPSSData -_0808DF58: - cmp r1, 0x1 - beq _0808DF5E - b _0808E0AE -_0808DF5E: - bl sub_808FD20 - b _0808E010 -_0808DF64: - bl sub_808FD20 - bl sub_809328C - bl sub_8093194 - b _0808E074 -_0808DF72: - bl sub_8093420 - bl sub_80931EC - lsls r0, 24 - cmp r0, 0 - beq _0808DF82 - b _0808E0AE -_0808DF82: - b _0808DF8A -_0808DF84: - cmp r0, 0 - bne _0808DF8A - b _0808E088 -_0808DF8A: - bl sub_8093420 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _0808DF84 - b _0808E074 -_0808DF98: - bl sub_8093218 - bl sub_808F1D0 - movs r0, 0xA - b _0808E070 -_0808DFA4: - ldr r0, _0808DFB8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - bne _0808DFB2 - b _0808E0AE -_0808DFB2: - movs r0, 0xB - b _0808E070 - .align 2, 0 -_0808DFB8: .4byte gMain -_0808DFBC: - ldr r0, _0808DFE0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808E0AE - bl sub_808FD20 - ldr r0, _0808DFE4 @ =sInPartyMenu - ldrb r0, [r0] - cmp r0, 0 - beq _0808DFE8 - bl CompactPartySlots - bl sub_80909F4 - b _0808E074 - .align 2, 0 -_0808DFE0: .4byte gMain -_0808DFE4: .4byte sInPartyMenu -_0808DFE8: - ldr r0, _0808DFF4 @ =sPSSData - ldr r1, [r0] - movs r0, 0x7 - strb r0, [r1] - b _0808E0AE - .align 2, 0 -_0808DFF4: .4byte sPSSData -_0808DFF8: - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - bne _0808E0AE - bl sub_8092F54 - bl BoxSetMosaic - bl sub_808FAA8 - b _0808E074 -_0808E010: - ldr r0, _0808E018 @ =sub_808D2BC - bl add_to_c3_somehow - b _0808E0AE - .align 2, 0 -_0808E018: .4byte sub_808D2BC -_0808E01C: - movs r0, 0xA - b _0808E070 -_0808E020: - ldr r0, _0808E030 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808E0AE - movs r0, 0x15 - b _0808E070 - .align 2, 0 -_0808E030: .4byte gMain -_0808E034: - ldr r0, _0808E04C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808E0AE - bl sub_808FD20 - bl sub_8091114 - b _0808E074 - .align 2, 0 -_0808E04C: .4byte gMain -_0808E050: - bl sub_8091150 - lsls r0, 24 - cmp r0, 0 - bne _0808E0AE - bl sub_8093264 - movs r0, 0x13 - b _0808E070 -_0808E062: - ldr r0, _0808E080 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808E0AE - movs r0, 0x14 -_0808E070: - bl sub_808FBA4 -_0808E074: - ldr r0, _0808E084 @ =sPSSData - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808E0AE - .align 2, 0 -_0808E080: .4byte gMain -_0808E084: .4byte sPSSData -_0808E088: - ldr r0, _0808E094 @ =sPSSData - ldr r1, [r0] - movs r0, 0x8 - strb r0, [r1] - b _0808E0AE - .align 2, 0 -_0808E094: .4byte sPSSData -_0808E098: - ldr r0, _0808E0B4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808E0AE - bl sub_808FD20 - ldr r0, _0808E0B8 @ =sub_808D2BC - bl add_to_c3_somehow -_0808E0AE: - pop {r0} - bx r0 - .align 2, 0 -_0808E0B4: .4byte gMain -_0808E0B8: .4byte sub_808D2BC - thumb_func_end sub_808DECC - - thumb_func_start sub_808E0BC -sub_808E0BC: @ 808E0BC - push {r4,lr} - ldr r4, _0808E0D0 @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _0808E0D4 - cmp r0, 0x1 - beq _0808E108 - b _0808E130 - .align 2, 0 -_0808E0D0: .4byte sPSSData -_0808E0D4: - movs r0, 0xC - bl sub_808FBA4 - ldr r0, [r4] - ldr r2, _0808E100 @ =0x00000ce7 - adds r1, r0, r2 - ldrb r1, [r1] - ldr r3, _0808E104 @ =0x00000da4 - adds r0, r3 - strb r1, [r0] - ldr r0, [r4] - adds r0, r2 - ldrb r0, [r0] - movs r1, 0xB0 - movs r2, 0x10 - bl DrawMonMarkingsMenu - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808E130 - .align 2, 0 -_0808E100: .4byte 0x00000ce7 -_0808E104: .4byte 0x00000da4 -_0808E108: - bl MonMarkingsHandleInput - lsls r0, 24 - cmp r0, 0 - bne _0808E130 - bl TeardownMonMarkingsMenu - bl sub_808FD20 - ldr r0, [r4] - ldr r1, _0808E138 @ =0x00000da4 - adds r0, r1 - ldrb r0, [r0] - bl sub_8093878 - bl sub_808F1D0 - ldr r0, _0808E13C @ =sub_808D2BC - bl add_to_c3_somehow -_0808E130: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808E138: .4byte 0x00000da4 -_0808E13C: .4byte sub_808D2BC - thumb_func_end sub_808E0BC - - thumb_func_start sub_808E140 -sub_808E140: @ 808E140 - push {r4,r5,lr} - ldr r5, _0808E158 @ =sPSSData - ldr r0, [r5] - ldrb r1, [r0] - cmp r1, 0x1 - beq _0808E18C - cmp r1, 0x1 - bgt _0808E15C - cmp r1, 0 - beq _0808E166 - b _0808E1EA - .align 2, 0 -_0808E158: .4byte sPSSData -_0808E15C: - cmp r1, 0x2 - beq _0808E1B4 - cmp r1, 0x3 - beq _0808E1DA - b _0808E1EA -_0808E166: - ldr r1, _0808E17C @ =0x00000ce2 - adds r0, r1 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - bne _0808E180 - bl sub_808FD20 - b _0808E1D0 - .align 2, 0 -_0808E17C: .4byte 0x00000ce2 -_0808E180: - ldr r0, _0808E188 @ =sub_808E6D0 - bl add_to_c3_somehow - b _0808E1EA - .align 2, 0 -_0808E188: .4byte sub_808E6D0 -_0808E18C: - movs r0, 0x2 - bl sub_8094D14 - ldr r0, _0808E1B0 @ =sInPartyMenu - ldrb r0, [r0] - negs r4, r0 - orrs r4, r0 - lsrs r4, 31 - bl sub_8094CC8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8095D84 - b _0808E1D0 - .align 2, 0 -_0808E1B0: .4byte sInPartyMenu -_0808E1B4: - bl sub_809610C - lsls r0, 24 - cmp r0, 0 - bne _0808E1EA - movs r0, 0x3 - bl sub_8094D14 - bl sub_808FD20 - bl sub_8092F54 - bl sub_808F49C -_0808E1D0: - ldr r1, [r5] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808E1EA -_0808E1DA: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0808E1EA - ldr r0, _0808E1F0 @ =sub_808D2BC - bl add_to_c3_somehow -_0808E1EA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808E1F0: .4byte sub_808D2BC - thumb_func_end sub_808E140 - - thumb_func_start sub_808E1F4 -sub_808E1F4: @ 808E1F4 - push {r4,lr} - ldr r0, _0808E20C @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x4 - bhi _0808E2A4 - lsls r0, 2 - ldr r1, _0808E210 @ =_0808E214 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808E20C: .4byte sPSSData -_0808E210: .4byte _0808E214 - .align 2, 0 -_0808E214: - .4byte _0808E27C - .4byte _0808E228 - .4byte _0808E250 - .4byte _0808E270 - .4byte _0808E294 -_0808E228: - movs r0, 0x2 - bl sub_8094D14 - ldr r0, _0808E24C @ =sInPartyMenu - ldrb r0, [r0] - negs r4, r0 - orrs r4, r0 - lsrs r4, 31 - bl sub_8094CC8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8095F74 - b _0808E280 - .align 2, 0 -_0808E24C: .4byte sInPartyMenu -_0808E250: - bl sub_809610C - lsls r0, 24 - cmp r0, 0 - bne _0808E2A4 - movs r0, 0 - bl sub_8094D14 - bl sub_8092F54 - bl sub_808F49C - movs r0, 0x1C - bl sub_808FBA4 - b _0808E280 -_0808E270: - ldr r0, _0808E28C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808E2A4 -_0808E27C: - bl sub_808FD20 -_0808E280: - ldr r0, _0808E290 @ =sPSSData - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808E2A4 - .align 2, 0 -_0808E28C: .4byte gMain -_0808E290: .4byte sPSSData -_0808E294: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0808E2A4 - ldr r0, _0808E2AC @ =sub_808D2BC - bl add_to_c3_somehow -_0808E2A4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808E2AC: .4byte sub_808D2BC - thumb_func_end sub_808E1F4 - - thumb_func_start sub_808E2B0 -sub_808E2B0: @ 808E2B0 - push {r4,r5,lr} - ldr r1, _0808E2CC @ =sPSSData - ldr r0, [r1] - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0x4 - bls _0808E2C0 - b _0808E3BA -_0808E2C0: - lsls r0, 2 - ldr r1, _0808E2D0 @ =_0808E2D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808E2CC: .4byte sPSSData -_0808E2D0: .4byte _0808E2D4 - .align 2, 0 -_0808E2D4: - .4byte _0808E2E8 - .4byte _0808E340 - .4byte _0808E360 - .4byte _0808E3A4 - .4byte _0808E38C -_0808E2E8: - ldr r0, [r5] - ldr r1, _0808E310 @ =0x00000ce2 - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - bne _0808E314 - movs r0, 0x1A - bl PlaySE - movs r0, 0x1A - bl sub_808FBA4 - ldr r1, [r5] - movs r0, 0x3 - strb r0, [r1] - b _0808E3BA - .align 2, 0 -_0808E310: .4byte 0x00000ce2 -_0808E314: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808E33C @ =sInPartyMenu - ldrb r0, [r0] - negs r4, r0 - orrs r4, r0 - lsrs r4, 31 - bl sub_8094CC8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8096008 - ldr r1, [r5] - movs r0, 0x1 - strb r0, [r1] - b _0808E3BA - .align 2, 0 -_0808E33C: .4byte sInPartyMenu -_0808E340: - bl sub_809610C - lsls r0, 24 - cmp r0, 0 - bne _0808E3BA - movs r0, 0x19 - bl sub_808FBA4 - ldr r0, _0808E35C @ =sPSSData - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1] - b _0808E3BA - .align 2, 0 -_0808E35C: .4byte sPSSData -_0808E360: - ldr r0, _0808E384 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808E3BA - bl sub_808FD20 - bl sub_8092F54 - bl sub_808F49C - ldr r0, _0808E388 @ =sPSSData - ldr r1, [r0] - movs r0, 0x4 - strb r0, [r1] - b _0808E3BA - .align 2, 0 -_0808E384: .4byte gMain -_0808E388: .4byte sPSSData -_0808E38C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0808E3BA - ldr r0, _0808E3A0 @ =sub_808D2BC - bl add_to_c3_somehow - b _0808E3BA - .align 2, 0 -_0808E3A0: .4byte sub_808D2BC -_0808E3A4: - ldr r0, _0808E3C0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808E3BA - bl sub_808FD20 - ldr r0, _0808E3C4 @ =sub_808D2BC - bl add_to_c3_somehow -_0808E3BA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808E3C0: .4byte gMain -_0808E3C4: .4byte sub_808D2BC - thumb_func_end sub_808E2B0 - - thumb_func_start sub_808E3C8 -sub_808E3C8: @ 808E3C8 - push {r4,lr} - ldr r1, _0808E3E0 @ =sPSSData - ldr r0, [r1] - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _0808E4A4 - lsls r0, 2 - ldr r1, _0808E3E4 @ =_0808E3E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808E3E0: .4byte sPSSData -_0808E3E4: .4byte _0808E3E8 - .align 2, 0 -_0808E3E8: - .4byte _0808E3FC - .4byte _0808E428 - .4byte _0808E450 - .4byte _0808E470 - .4byte _0808E494 -_0808E3FC: - ldr r0, [r4] - ldr r1, _0808E418 @ =0x00000ce2 - adds r0, r1 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - bne _0808E41C - bl sub_808FD20 - ldr r1, [r4] - b _0808E484 - .align 2, 0 -_0808E418: .4byte 0x00000ce2 -_0808E41C: - ldr r0, _0808E424 @ =sub_808E6D0 - bl add_to_c3_somehow - b _0808E4A4 - .align 2, 0 -_0808E424: .4byte sub_808E6D0 -_0808E428: - movs r0, 0x2 - bl sub_8094D14 - ldr r0, _0808E44C @ =sInPartyMenu - ldrb r0, [r0] - negs r4, r0 - orrs r4, r0 - lsrs r4, 31 - bl sub_8094CC8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8095EA0 - b _0808E480 - .align 2, 0 -_0808E44C: .4byte sInPartyMenu -_0808E450: - bl sub_809610C - lsls r0, 24 - cmp r0, 0 - bne _0808E4A4 - movs r0, 0x3 - bl sub_8094D14 - bl sub_8092F54 - bl sub_808F49C - movs r0, 0x1D - bl sub_808FBA4 - b _0808E480 -_0808E470: - ldr r0, _0808E48C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808E4A4 - bl sub_808FD20 -_0808E480: - ldr r0, _0808E490 @ =sPSSData - ldr r1, [r0] -_0808E484: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808E4A4 - .align 2, 0 -_0808E48C: .4byte gMain -_0808E490: .4byte sPSSData -_0808E494: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0808E4A4 - ldr r0, _0808E4AC @ =sub_808D2BC - bl add_to_c3_somehow -_0808E4A4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808E4AC: .4byte sub_808D2BC - thumb_func_end sub_808E3C8 - - thumb_func_start sub_808E4B0 -sub_808E4B0: @ 808E4B0 - push {lr} - ldr r0, _0808E4C8 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x6 - bhi _0808E55C - lsls r0, 2 - ldr r1, _0808E4CC @ =_0808E4D0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808E4C8: .4byte sPSSData -_0808E4CC: .4byte _0808E4D0 - .align 2, 0 -_0808E4D0: - .4byte _0808E4EC - .4byte _0808E4F2 - .4byte _0808E50C - .4byte _0808E512 - .4byte _0808E518 - .4byte _0808E530 - .4byte _0808E54C -_0808E4EC: - bl sub_808FD20 - b _0808E53A -_0808E4F2: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0808E55C - movs r0, 0x6 - bl PlaySE - bl sub_8096694 - bl sub_80966F4 - b _0808E53A -_0808E50C: - bl sub_8096728 - b _0808E534 -_0808E512: - bl IsDma3ManagerBusyWithBgCopy - b _0808E534 -_0808E518: - ldr r0, _0808E52C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808E55C - movs r0, 0x6 - bl PlaySE - b _0808E53A - .align 2, 0 -_0808E52C: .4byte gMain -_0808E530: - bl sub_80967C0 -_0808E534: - lsls r0, 24 - cmp r0, 0 - bne _0808E55C -_0808E53A: - ldr r0, _0808E548 @ =sPSSData - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808E55C - .align 2, 0 -_0808E548: .4byte sPSSData -_0808E54C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0808E55C - ldr r0, _0808E560 @ =sub_808D2BC - bl add_to_c3_somehow -_0808E55C: - pop {r0} - bx r0 - .align 2, 0 -_0808E560: .4byte sub_808D2BC - thumb_func_end sub_808E4B0 - - thumb_func_start sub_808E564 -sub_808E564: @ 808E564 - push {r4,lr} - ldr r0, _0808E57C @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x5 - bls _0808E572 - b _0808E67C -_0808E572: - lsls r0, 2 - ldr r1, _0808E580 @ =_0808E584 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808E57C: .4byte sPSSData -_0808E580: .4byte _0808E584 - .align 2, 0 -_0808E584: - .4byte _0808E59C - .4byte _0808E5BC - .4byte _0808E61A - .4byte _0808E63C - .4byte _0808E650 - .4byte _0808E66C -_0808E59C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1B - bl sub_808FBA4 - movs r0, 0 - bl sub_808FCE8 - ldr r0, _0808E5B8 @ =sPSSData - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1] - b _0808E67C - .align 2, 0 -_0808E5B8: .4byte sPSSData -_0808E5BC: - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0808E5E0 - cmp r1, 0 - bgt _0808E5D6 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0808E5DA - b _0808E67C -_0808E5D6: - cmp r1, 0x1 - bne _0808E67C -_0808E5DA: - bl sub_808FD20 - b _0808E660 -_0808E5E0: - ldr r4, _0808E604 @ =sPSSData - ldr r0, [r4] - ldr r1, _0808E608 @ =0x00002224 - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0808E60C - bl sub_808FD20 - ldr r1, [r4] - movs r0, 0x3 - strb r0, [r1] - b _0808E67C - .align 2, 0 -_0808E604: .4byte sPSSData -_0808E608: .4byte 0x00002224 -_0808E60C: - movs r0, 0x1A - bl sub_808FBA4 - ldr r1, [r4] - movs r0, 0x2 - strb r0, [r1] - b _0808E67C -_0808E61A: - ldr r0, _0808E634 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808E67C - bl sub_808FD20 - ldr r0, _0808E638 @ =sPSSData - ldr r1, [r0] - movs r0, 0x5 - strb r0, [r1] - b _0808E67C - .align 2, 0 -_0808E634: .4byte gMain -_0808E638: .4byte sPSSData -_0808E63C: - bl sub_8096088 - ldr r0, _0808E64C @ =sPSSData - ldr r1, [r0] - movs r0, 0x4 - strb r0, [r1] - b _0808E67C - .align 2, 0 -_0808E64C: .4byte sPSSData -_0808E650: - bl sub_809610C - lsls r0, 24 - cmp r0, 0 - bne _0808E67C - movs r0, 0 - bl sub_8094D14 -_0808E660: - ldr r0, _0808E668 @ =sub_808D2BC - bl add_to_c3_somehow - b _0808E67C - .align 2, 0 -_0808E668: .4byte sub_808D2BC -_0808E66C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0808E67C - ldr r0, _0808E684 @ =sub_808D2BC - bl add_to_c3_somehow -_0808E67C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808E684: .4byte sub_808D2BC - thumb_func_end sub_808E564 - - thumb_func_start sub_808E688 -sub_808E688: @ 808E688 - push {r4,lr} - ldr r4, _0808E69C @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _0808E6A0 - cmp r0, 0x1 - beq _0808E6B2 - b _0808E6C6 - .align 2, 0 -_0808E69C: .4byte sPSSData -_0808E6A0: - bl CompactPartySlots - bl sub_80909F4 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808E6C6 -_0808E6B2: - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - bne _0808E6C6 - bl sub_808FAA8 - ldr r0, _0808E6CC @ =sub_808D2BC - bl add_to_c3_somehow -_0808E6C6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808E6CC: .4byte sub_808D2BC - thumb_func_end sub_808E688 - - thumb_func_start sub_808E6D0 -sub_808E6D0: @ 808E6D0 - push {r4,lr} - ldr r4, _0808E6E8 @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0x1 - beq _0808E6FE - cmp r0, 0x1 - bgt _0808E6EC - cmp r0, 0 - beq _0808E6F6 - b _0808E738 - .align 2, 0 -_0808E6E8: .4byte sPSSData -_0808E6EC: - cmp r0, 0x2 - beq _0808E70A - cmp r0, 0x3 - beq _0808E728 - b _0808E738 -_0808E6F6: - movs r0, 0x1E - bl sub_808FBA4 - b _0808E71A -_0808E6FE: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0808E738 - b _0808E71A -_0808E70A: - ldr r0, _0808E724 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808E738 - bl sub_808FD20 -_0808E71A: - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808E738 - .align 2, 0 -_0808E724: .4byte gMain -_0808E728: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0808E738 - ldr r0, _0808E740 @ =sub_808D2BC - bl add_to_c3_somehow -_0808E738: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808E740: .4byte sub_808D2BC - thumb_func_end sub_808E6D0 - - thumb_func_start box_related -box_related: @ 808E744 - push {r4,lr} - ldr r4, _0808E75C @ =sPSSData - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0x1 - beq _0808E77A - cmp r0, 0x1 - bgt _0808E760 - cmp r0, 0 - beq _0808E766 - b _0808E830 - .align 2, 0 -_0808E75C: .4byte sPSSData -_0808E760: - cmp r0, 0x2 - beq _0808E78C - b _0808E830 -_0808E766: - movs r0, 0x1 - bl sub_808FBA4 - bl sub_8094E88 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808E830 -_0808E77A: - bl sub_8094F90 - lsls r0, 24 - cmp r0, 0 - bne _0808E830 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0808E78C: - bl sub_8094F94 - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bhi _0808E830 - lsls r0, 2 - ldr r1, _0808E7A4 @ =_0808E7A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808E7A4: .4byte _0808E7A8 - .align 2, 0 -_0808E7A8: - .4byte _0808E7DC - .4byte _0808E7DC - .4byte _0808E830 - .4byte _0808E830 - .4byte _0808E830 - .4byte _0808E830 - .4byte _0808E830 - .4byte _0808E830 - .4byte _0808E830 - .4byte _0808E830 - .4byte _0808E820 - .4byte _0808E808 - .4byte _0808E7F4 -_0808E7DC: - movs r0, 0x1 - bl sub_80920FC - bl sub_808FD20 - ldr r0, _0808E7F0 @ =sub_808D2BC - bl add_to_c3_somehow - b _0808E830 - .align 2, 0 -_0808E7F0: .4byte sub_808D2BC -_0808E7F4: - movs r0, 0x5 - bl PlaySE - ldr r0, _0808E804 @ =sub_808EA90 - bl add_to_c3_somehow - b _0808E830 - .align 2, 0 -_0808E804: .4byte sub_808EA90 -_0808E808: - movs r0, 0x5 - bl PlaySE - bl sub_808FD20 - ldr r0, _0808E81C @ =sub_808E83C - bl add_to_c3_somehow - b _0808E830 - .align 2, 0 -_0808E81C: .4byte sub_808E83C -_0808E820: - movs r0, 0x5 - bl PlaySE - bl sub_808FD20 - ldr r0, _0808E838 @ =sub_808E9A0 - bl add_to_c3_somehow -_0808E830: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808E838: .4byte sub_808E9A0 - thumb_func_end box_related - - thumb_func_start sub_808E83C -sub_808E83C: @ 808E83C - push {r4,r5,lr} - ldr r0, _0808E854 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x5 - bls _0808E84A - b _0808E994 -_0808E84A: - lsls r0, 2 - ldr r1, _0808E858 @ =_0808E85C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808E854: .4byte sPSSData -_0808E858: .4byte _0808E85C - .align 2, 0 -_0808E85C: - .4byte _0808E874 - .4byte _0808E888 - .4byte _0808E8A0 - .4byte _0808E8FA - .4byte _0808E924 - .4byte _0808E97E -_0808E874: - bl sub_808FD34 - movs r0, 0x2 - bl sub_808FBA4 - ldr r0, _0808E884 @ =sPSSData - ldr r1, [r0] - b _0808E976 - .align 2, 0 -_0808E884: .4byte sPSSData -_0808E888: - bl sub_8094F90 - lsls r0, 24 - cmp r0, 0 - beq _0808E894 - b _0808E994 -_0808E894: - ldr r0, _0808E89C @ =sPSSData - ldr r1, [r0] - b _0808E976 - .align 2, 0 -_0808E89C: .4byte sPSSData -_0808E8A0: - bl sub_8094F94 - ldr r5, _0808E8CC @ =sPSSData - ldr r1, [r5] - ldr r4, _0808E8D0 @ =0x0000078e - adds r1, r4 - strh r0, [r1] - movs r2, 0 - ldrsh r0, [r1, r2] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0808E8D8 - movs r0, 0x1 - bl sub_80920FC - bl sub_808FD20 - ldr r0, _0808E8D4 @ =sub_808D2BC - bl add_to_c3_somehow - b _0808E994 - .align 2, 0 -_0808E8CC: .4byte sPSSData -_0808E8D0: .4byte 0x0000078e -_0808E8D4: .4byte sub_808D2BC -_0808E8D8: - cmp r0, r1 - blt _0808E994 - cmp r0, 0x15 - bgt _0808E994 - cmp r0, 0x12 - blt _0808E994 - movs r0, 0x5 - bl PlaySE - bl sub_8095024 - ldr r1, [r5] - adds r2, r1, r4 - ldrh r0, [r2] - subs r0, 0x12 - strh r0, [r2] - b _0808E976 -_0808E8FA: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0808E994 - ldr r4, _0808E91C @ =sPSSData - ldr r0, [r4] - ldr r1, _0808E920 @ =0x0000078e - adds r0, r1 - ldrb r0, [r0] - bl sub_808FD5C - movs r0, 0x3 - bl sub_808FBA4 - b _0808E974 - .align 2, 0 -_0808E91C: .4byte sPSSData -_0808E920: .4byte 0x0000078e -_0808E924: - bl sub_8094F94 - ldr r4, _0808E954 @ =sPSSData - ldr r1, [r4] - movs r5, 0xF2 - lsls r5, 3 - adds r1, r5 - strh r0, [r1] - movs r2, 0 - ldrsh r1, [r1, r2] - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _0808E994 - adds r0, 0x1 - cmp r1, r0 - bne _0808E958 - bl sub_808FD20 - ldr r1, [r4] - movs r0, 0 - strb r0, [r1] - b _0808E994 - .align 2, 0 -_0808E954: .4byte sPSSData -_0808E958: - movs r0, 0x5 - bl PlaySE - bl sub_808FD20 - ldr r1, [r4] - adds r1, r5 - ldrh r0, [r1] - subs r0, 0x16 - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl sub_8091730 -_0808E974: - ldr r1, [r4] -_0808E976: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808E994 -_0808E97E: - bl sub_8091760 - lsls r0, 24 - cmp r0, 0 - bne _0808E994 - movs r0, 0x1 - bl sub_80920FC - ldr r0, _0808E99C @ =sub_808D2BC - bl add_to_c3_somehow -_0808E994: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808E99C: .4byte sub_808D2BC - thumb_func_end sub_808E83C - - thumb_func_start sub_808E9A0 -sub_808E9A0: @ 808E9A0 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _0808E9B8 @ =sPSSData - ldr r0, [r5] - ldrb r4, [r0] - cmp r4, 0x1 - beq _0808E9F4 - cmp r4, 0x1 - bgt _0808E9BC - cmp r4, 0 - beq _0808E9C6 - b _0808EA80 - .align 2, 0 -_0808E9B8: .4byte sPSSData -_0808E9BC: - cmp r4, 0x2 - beq _0808EA4C - cmp r4, 0x3 - beq _0808EA64 - b _0808EA80 -_0808E9C6: - movs r0, 0x5 - bl sub_808FBA4 - ldr r0, [r5] - ldr r1, _0808E9EC @ =0x00001e58 - adds r0, r1 - ldr r2, _0808E9F0 @ =0x0000dac7 - str r4, [sp] - movs r1, 0xA - movs r3, 0x3 - bl sub_808C854 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - bl sub_808C940 - b _0808EA56 - .align 2, 0 -_0808E9EC: .4byte 0x00001e58 -_0808E9F0: .4byte 0x0000dac7 -_0808E9F4: - bl sub_808C95C - ldr r1, [r5] - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0808EA44 @ =0x000002ca - adds r1, r2 - strh r0, [r1] - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0xC8 - beq _0808EA80 - bl sub_808FD20 - bl sub_808C950 - bl sub_808C8FC - ldr r0, [r5] - ldr r2, _0808EA44 @ =0x000002ca - adds r1, r0, r2 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0xC9 - beq _0808EA34 - adds r4, r0, 0 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0808EA56 -_0808EA34: - movs r0, 0x1 - bl sub_80920FC - ldr r0, _0808EA48 @ =sub_808D2BC - bl add_to_c3_somehow - b _0808EA80 - .align 2, 0 -_0808EA44: .4byte 0x000002ca -_0808EA48: .4byte sub_808D2BC -_0808EA4C: - ldr r1, _0808EA60 @ =0x000002ca - adds r0, r1 - ldrb r0, [r0] - bl sub_8091514 -_0808EA56: - ldr r1, [r5] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808EA80 - .align 2, 0 -_0808EA60: .4byte 0x000002ca -_0808EA64: - bl sub_80915FC - lsls r0, 24 - cmp r0, 0 - bne _0808EA80 - ldr r0, [r5] - ldr r2, _0808EA88 @ =0x000002ca - adds r0, r2 - ldrb r0, [r0] - bl sub_808BA00 - ldr r0, _0808EA8C @ =sub_808D2BC - bl add_to_c3_somehow -_0808EA80: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808EA88: .4byte 0x000002ca -_0808EA8C: .4byte sub_808D2BC - thumb_func_end sub_808E9A0 - - thumb_func_start sub_808EA90 -sub_808EA90: @ 808EA90 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _0808EAA4 @ =sPSSData - ldr r0, [r5] - ldrb r4, [r0] - cmp r4, 0 - beq _0808EAA8 - cmp r4, 0x1 - beq _0808EAC6 - b _0808EAE0 - .align 2, 0 -_0808EAA4: .4byte sPSSData -_0808EAA8: - bl sub_8093630 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r5] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808EAE0 -_0808EAC6: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _0808EAE0 - ldr r0, _0808EAE8 @ =sWhichToReshow - strb r4, [r0] - ldr r1, [r5] - movs r0, 0x2 - strb r0, [r1, 0x2] - ldr r0, _0808EAEC @ =sub_808EE18 - bl add_to_c3_somehow -_0808EAE0: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808EAE8: .4byte sWhichToReshow -_0808EAEC: .4byte sub_808EE18 - thumb_func_end sub_808EA90 - - thumb_func_start sub_808EAF0 -sub_808EAF0: @ 808EAF0 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _0808EB04 @ =sPSSData - ldr r0, [r5] - ldrb r4, [r0] - cmp r4, 0 - beq _0808EB08 - cmp r4, 0x1 - beq _0808EB26 - b _0808EB40 - .align 2, 0 -_0808EB04: .4byte sPSSData -_0808EB08: - bl sub_80936B8 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r5] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808EB40 -_0808EB26: - bl UpdatePaletteFade - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0808EB40 - ldr r0, _0808EB48 @ =sWhichToReshow - strb r1, [r0] - ldr r0, [r5] - strb r4, [r0, 0x2] - ldr r0, _0808EB4C @ =sub_808EE18 - bl add_to_c3_somehow -_0808EB40: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808EB48: .4byte sWhichToReshow -_0808EB4C: .4byte sub_808EE18 - thumb_func_end sub_808EAF0 - - thumb_func_start sub_808EB50 -sub_808EB50: @ 808EB50 - push {r4,lr} - sub sp, 0x4 - ldr r4, _0808EB64 @ =sPSSData - ldr r0, [r4] - ldrb r1, [r0] - cmp r1, 0 - beq _0808EB68 - cmp r1, 0x1 - beq _0808EB82 - b _0808EB9E - .align 2, 0 -_0808EB64: .4byte sPSSData -_0808EB68: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808EB9E -_0808EB82: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _0808EB9E - ldr r1, _0808EBA8 @ =sWhichToReshow - movs r0, 0x2 - strb r0, [r1] - ldr r1, [r4] - movs r0, 0x3 - strb r0, [r1, 0x2] - ldr r0, _0808EBAC @ =sub_808EE18 - bl add_to_c3_somehow -_0808EB9E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808EBA8: .4byte sWhichToReshow -_0808EBAC: .4byte sub_808EE18 - thumb_func_end sub_808EB50 - - thumb_func_start sub_808EBB0 -sub_808EBB0: @ 808EBB0 - push {r4,lr} - ldr r0, _0808EBC8 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x4 - bls _0808EBBE - b _0808ECD0 -_0808EBBE: - lsls r0, 2 - ldr r1, _0808EBCC @ =_0808EBD0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808EBC8: .4byte sPSSData -_0808EBCC: .4byte _0808EBD0 - .align 2, 0 -_0808EBD0: - .4byte _0808EBE4 - .4byte _0808EC40 - .4byte _0808EC54 - .4byte _0808EC90 - .4byte _0808ECAC -_0808EBE4: - bl sub_80939A0 - lsls r0, 24 - cmp r0, 0 - beq _0808EC08 - movs r0, 0x1A - bl PlaySE - movs r0, 0xF - bl sub_808FBA4 - ldr r0, _0808EC04 @ =sPSSData - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1] - b _0808ECD0 - .align 2, 0 -_0808EC04: .4byte sPSSData -_0808EC08: - bl sub_809616C - lsls r0, 24 - cmp r0, 0 - beq _0808EC20 - ldr r0, _0808EC1C @ =sub_808E564 - bl add_to_c3_somehow - b _0808ECD0 - .align 2, 0 -_0808EC1C: .4byte sub_808E564 -_0808EC20: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_808FBA4 - movs r0, 0 - bl sub_808FCE8 - ldr r0, _0808EC3C @ =sPSSData - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1] - b _0808ECD0 - .align 2, 0 -_0808EC3C: .4byte sPSSData -_0808EC40: - ldr r0, _0808EC50 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808ECD0 - b _0808EC72 - .align 2, 0 -_0808EC50: .4byte gMain -_0808EC54: - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0808EC84 - cmp r1, 0 - bgt _0808EC6E - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0808EC72 - b _0808ECD0 -_0808EC6E: - cmp r1, 0x1 - bne _0808ECD0 -_0808EC72: - bl sub_808FD20 - ldr r0, _0808EC80 @ =sub_808D2BC - bl add_to_c3_somehow - b _0808ECD0 - .align 2, 0 -_0808EC80: .4byte sub_808D2BC -_0808EC84: - movs r0, 0x3 - bl PlaySE - bl sub_808FD20 - b _0808EC9A -_0808EC90: - movs r0, 0x14 - movs r1, 0 - movs r2, 0x1 - bl sub_80A0A70 -_0808EC9A: - ldr r0, _0808ECA8 @ =sPSSData - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808ECD0 - .align 2, 0 -_0808ECA8: .4byte sPSSData -_0808ECAC: - bl sub_80A0AAC - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0808ECD0 - bl sub_808FF70 - bl CalculatePlayerPartyCount - ldr r1, _0808ECD8 @ =gPlayerPartyCount - strb r0, [r1] - ldr r0, _0808ECDC @ =sPSSData - ldr r0, [r0] - strb r4, [r0, 0x2] - ldr r0, _0808ECE0 @ =sub_808EE18 - bl add_to_c3_somehow -_0808ECD0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808ECD8: .4byte gPlayerPartyCount -_0808ECDC: .4byte sPSSData -_0808ECE0: .4byte sub_808EE18 - thumb_func_end sub_808EBB0 - - thumb_func_start sub_808ECE4 -sub_808ECE4: @ 808ECE4 - push {r4,lr} - ldr r0, _0808ECFC @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x4 - bls _0808ECF2 - b _0808EE04 -_0808ECF2: - lsls r0, 2 - ldr r1, _0808ED00 @ =_0808ED04 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808ECFC: .4byte sPSSData -_0808ED00: .4byte _0808ED04 - .align 2, 0 -_0808ED04: - .4byte _0808ED18 - .4byte _0808ED74 - .4byte _0808ED88 - .4byte _0808EDC4 - .4byte _0808EDE0 -_0808ED18: - bl sub_80939A0 - lsls r0, 24 - cmp r0, 0 - beq _0808ED3C - movs r0, 0x1A - bl PlaySE - movs r0, 0xF - bl sub_808FBA4 - ldr r0, _0808ED38 @ =sPSSData - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1] - b _0808EE04 - .align 2, 0 -_0808ED38: .4byte sPSSData -_0808ED3C: - bl sub_809616C - lsls r0, 24 - cmp r0, 0 - beq _0808ED54 - ldr r0, _0808ED50 @ =sub_808E564 - bl add_to_c3_somehow - b _0808EE04 - .align 2, 0 -_0808ED50: .4byte sub_808E564 -_0808ED54: - movs r0, 0x5 - bl PlaySE - movs r0, 0x12 - bl sub_808FBA4 - movs r0, 0 - bl sub_808FCE8 - ldr r0, _0808ED70 @ =sPSSData - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1] - b _0808EE04 - .align 2, 0 -_0808ED70: .4byte sPSSData -_0808ED74: - ldr r0, _0808ED84 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _0808EE04 - b _0808EDA8 - .align 2, 0 -_0808ED84: .4byte gMain -_0808ED88: - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0808EDA8 - cmp r1, 0 - bgt _0808EDA2 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0808EDB8 - b _0808EE04 -_0808EDA2: - cmp r1, 0x1 - beq _0808EDB8 - b _0808EE04 -_0808EDA8: - bl sub_808FD20 - ldr r0, _0808EDB4 @ =sub_808D2BC - bl add_to_c3_somehow - b _0808EE04 - .align 2, 0 -_0808EDB4: .4byte sub_808D2BC -_0808EDB8: - movs r0, 0x3 - bl PlaySE - bl sub_808FD20 - b _0808EDCE -_0808EDC4: - movs r0, 0x14 - movs r1, 0 - movs r2, 0 - bl sub_80A0A70 -_0808EDCE: - ldr r0, _0808EDDC @ =sPSSData - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808EE04 - .align 2, 0 -_0808EDDC: .4byte sPSSData -_0808EDE0: - bl sub_80A0AAC - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0808EE04 - bl sub_808FF70 - bl CalculatePlayerPartyCount - ldr r1, _0808EE0C @ =gPlayerPartyCount - strb r0, [r1] - ldr r0, _0808EE10 @ =sPSSData - ldr r0, [r0] - strb r4, [r0, 0x2] - ldr r0, _0808EE14 @ =sub_808EE18 - bl add_to_c3_somehow -_0808EE04: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808EE0C: .4byte gPlayerPartyCount -_0808EE10: .4byte sPSSData -_0808EE14: .4byte sub_808EE18 - thumb_func_end sub_808ECE4 - - thumb_func_start sub_808EE18 -sub_808EE18: @ 808EE18 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _0808EE44 @ =sPSSData - ldr r0, [r0] - ldrb r4, [r0, 0x2] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _0808EE4C - bl sub_809616C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0808EE4C - bl sub_80961C4 - ldr r1, _0808EE48 @ =gUnknown_20397BA - b _0808EE50 - .align 2, 0 -_0808EE44: .4byte sPSSData -_0808EE48: .4byte gUnknown_20397BA -_0808EE4C: - ldr r1, _0808EE70 @ =gUnknown_20397BA - movs r0, 0 -_0808EE50: - strh r0, [r1] - cmp r4, 0x1 - beq _0808EE78 - cmp r4, 0x1 - ble _0808EE62 - cmp r4, 0x2 - beq _0808EEBC - cmp r4, 0x3 - beq _0808EEE8 -_0808EE62: - bl sub_808EF68 - ldr r0, _0808EE74 @ =sub_808C7B4 - bl SetMainCallback2 - b _0808EEF6 - .align 2, 0 -_0808EE70: .4byte gUnknown_20397BA -_0808EE74: .4byte sub_808C7B4 -_0808EE78: - ldr r0, _0808EEAC @ =sPSSData - ldr r1, [r0] - ldr r2, _0808EEB0 @ =0x0000217c - adds r0, r1, r2 - ldr r0, [r0] - mov r8, r0 - subs r2, 0x3 - adds r0, r1, r2 - ldrb r6, [r0] - subs r2, 0x1 - adds r0, r1, r2 - ldrb r5, [r0] - ldr r0, _0808EEB4 @ =0x0000217a - adds r1, r0 - ldrb r4, [r1] - bl sub_808EF68 - ldr r3, _0808EEB8 @ =sub_808CE60 - str r4, [sp] - mov r0, r8 - adds r1, r6, 0 - adds r2, r5, 0 - bl ShowPokemonSummaryScreen - b _0808EEF6 - .align 2, 0 -_0808EEAC: .4byte sPSSData -_0808EEB0: .4byte 0x0000217c -_0808EEB4: .4byte 0x0000217a -_0808EEB8: .4byte sub_808CE60 -_0808EEBC: - bl sub_808EF68 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - movs r0, 0 - str r0, [sp] - ldr r0, _0808EEE4 @ =sub_808CE60 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DoNamingScreen - b _0808EEF6 - .align 2, 0 -_0808EEE4: .4byte sub_808CE60 -_0808EEE8: - bl sub_808EF68 - ldr r2, _0808EF08 @ =sub_808CE60 - movs r0, 0x4 - movs r1, 0 - bl GoToBagMenu -_0808EEF6: - adds r0, r7, 0 - bl DestroyTask - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808EF08: .4byte sub_808CE60 - thumb_func_end sub_808EE18 - - thumb_func_start sub_808EF0C -sub_808EF0C: @ 808EF0C - push {lr} - sub sp, 0x4 - ldr r0, _0808EF40 @ =gSpecialVar_ItemId - ldrh r1, [r0] - mov r0, sp - strh r1, [r0] - cmp r1, 0 - beq _0808EF60 - bl sub_8094CC8 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _0808EF44 @ =sInPartyMenu - ldrb r0, [r0] - cmp r0, 0 - beq _0808EF4C - movs r0, 0x64 - muls r0, r1 - ldr r1, _0808EF48 @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - mov r2, sp - bl SetMonData - b _0808EF56 - .align 2, 0 -_0808EF40: .4byte gSpecialVar_ItemId -_0808EF44: .4byte sInPartyMenu -_0808EF48: .4byte gPlayerParty -_0808EF4C: - adds r0, r1, 0 - movs r1, 0xC - mov r2, sp - bl SetBoxMonDataFromSelectedBox -_0808EF56: - mov r0, sp - ldrh r0, [r0] - movs r1, 0x1 - bl RemoveBagItem -_0808EF60: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_808EF0C - - thumb_func_start sub_808EF68 -sub_808EF68: @ 808EF68 - push {r4,lr} - bl sub_80F7B2C - bl sub_80950A4 - ldr r4, _0808EF88 @ =sPSSData - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - bl FreeAllWindowBuffers - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808EF88: .4byte sPSSData - thumb_func_end sub_808EF68 - - thumb_func_start sub_808EF8C -sub_808EF8C: @ 808EF8C - push {lr} - sub sp, 0x4 - ldr r1, _0808EFB8 @ =0x00001f0f - movs r0, 0xE - bl SetGpuReg - ldr r1, _0808EFBC @ =gUnknown_83CE438 - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r0, _0808EFC0 @ =gUnknown_83CE4D0 - ldr r1, _0808EFC4 @ =0x0600f800 - bl LZ77UnCompVram - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0808EFB8: .4byte 0x00001f0f -_0808EFBC: .4byte gUnknown_83CE438 -_0808EFC0: .4byte gUnknown_83CE4D0 -_0808EFC4: .4byte 0x0600f800 - thumb_func_end sub_808EF8C - - thumb_func_start sub_808EFC8 -sub_808EFC8: @ 808EFC8 - push {lr} - movs r0, 0x3 - movs r1, 0x80 - movs r2, 0x1 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0x80 - movs r2, 0x2 - bl ChangeBgY - pop {r0} - bx r0 - thumb_func_end sub_808EFC8 - - thumb_func_start sub_808EFE4 -sub_808EFE4: @ 808EFE4 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, _0808F030 @ =gUnknown_83CEA50 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r1, _0808F034 @ =gUnknown_8E9C438 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r0, _0808F038 @ =gUnknown_83CE5FC - ldr r5, _0808F03C @ =sPSSData - ldr r1, [r5] - ldr r4, _0808F040 @ =0x00005abc - adds r1, r4 - bl LZ77UnCompWram - ldr r1, [r5] - adds r1, r4 - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r0, 0x1 - bl ShowBg - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808F030: .4byte gUnknown_83CEA50 -_0808F034: .4byte gUnknown_8E9C438 -_0808F038: .4byte gUnknown_83CE5FC -_0808F03C: .4byte sPSSData -_0808F040: .4byte 0x00005abc - thumb_func_end sub_808EFE4 - - thumb_func_start sub_808F044 -sub_808F044: @ 808F044 - push {lr} - ldr r0, _0808F05C @ =gUnknown_83CEA30 - bl InitWindows - lsls r0, 16 - cmp r0, 0 - beq _0808F060 - bl DeactivateAllTextPrinters - movs r0, 0x1 - b _0808F062 - .align 2, 0 -_0808F05C: .4byte gUnknown_83CEA30 -_0808F060: - movs r0, 0 -_0808F062: - pop {r1} - bx r1 - thumb_func_end sub_808F044 - - thumb_func_start sub_808F068 -sub_808F068: @ 808F068 - push {lr} - ldr r0, _0808F074 @ =gUnknown_83CEA60 - bl LoadSpritePalette - pop {r0} - bx r0 - .align 2, 0 -_0808F074: .4byte gUnknown_83CEA60 - thumb_func_end sub_808F068 - - thumb_func_start sub_808F078 -sub_808F078: @ 808F078 - push {lr} - ldr r0, _0808F0B0 @ =gUnknown_8E9C3F8 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0808F0B4 @ =gUnknown_8E9C418 - movs r1, 0x20 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0808F0B8 @ =gUnknown_83CEA10 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0808F0BC @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - beq _0808F0C4 - ldr r0, _0808F0C0 @ =gUnknown_83CE738 - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette - b _0808F0CE - .align 2, 0 -_0808F0B0: .4byte gUnknown_8E9C3F8 -_0808F0B4: .4byte gUnknown_8E9C418 -_0808F0B8: .4byte gUnknown_83CEA10 -_0808F0BC: .4byte sPSSData -_0808F0C0: .4byte gUnknown_83CE738 -_0808F0C4: - ldr r0, _0808F0EC @ =gUnknown_83CE758 - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette -_0808F0CE: - ldr r1, _0808F0F0 @ =0x00001e05 - movs r0, 0xA - bl SetGpuReg - bl sub_808F2BC - bl sub_808F0F4 - bl sub_808F164 - bl sub_808F1D0 - pop {r0} - bx r0 - .align 2, 0 -_0808F0EC: .4byte gUnknown_83CE758 -_0808F0F0: .4byte 0x00001e05 - thumb_func_end sub_808F078 - - thumb_func_start sub_808F0F4 -sub_808F0F4: @ 808F0F4 - push {r4,lr} - ldr r1, _0808F154 @ =0x0000dac8 - movs r0, 0x10 - movs r2, 0 - bl CreateMonMarkingSprite_AllOff - ldr r4, _0808F158 @ =sPSSData - ldr r1, [r4] - movs r3, 0xD9 - lsls r3, 4 - adds r1, r3 - str r0, [r1] - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r0, [r4] - adds r0, r3 - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, r3 - ldr r2, [r0] - movs r1, 0x28 - strh r1, [r2, 0x20] - ldr r1, [r0] - movs r0, 0x96 - strh r0, [r1, 0x22] - movs r0, 0x10 - bl GetSpriteTileStartByTag - ldr r1, [r4] - ldr r2, _0808F15C @ =0x00000d9c - adds r1, r2 - lsls r0, 16 - lsrs r0, 11 - ldr r2, _0808F160 @ =0x06010000 - adds r0, r2 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808F154: .4byte 0x0000dac8 -_0808F158: .4byte sPSSData -_0808F15C: .4byte 0x00000d9c -_0808F160: .4byte 0x06010000 - thumb_func_end sub_808F0F4 - - thumb_func_start sub_808F164 -sub_808F164: @ 808F164 - push {r4,lr} - sub sp, 0x8 - ldr r0, _0808F1BC @ =gUnknown_83CEA68 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - movs r4, 0 -_0808F17A: - lsls r1, r4, 6 - subs r1, r4 - adds r1, 0x8 - lsls r1, 16 - asrs r1, 16 - ldr r0, _0808F1C0 @ =gUnknown_83CEBD8 - movs r2, 0x9 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0808F1C4 @ =sPSSData - ldr r2, [r1] - lsls r1, r4, 2 - ldr r3, _0808F1C8 @ =0x00000d94 - adds r2, r3 - adds r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0808F1CC @ =gSprites - adds r1, r0 - str r1, [r2] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _0808F17A - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808F1BC: .4byte gUnknown_83CEA68 -_0808F1C0: .4byte gUnknown_83CEBD8 -_0808F1C4: .4byte sPSSData -_0808F1C8: .4byte 0x00000d94 -_0808F1CC: .4byte gSprites - thumb_func_end sub_808F164 - - thumb_func_start sub_808F1D0 -sub_808F1D0: @ 808F1D0 - push {lr} - ldr r0, _0808F1FC @ =sPSSData - ldr r1, [r0] - movs r2, 0xCE - lsls r2, 4 - adds r0, r1, r2 - ldrh r0, [r0] - subs r2, 0x4 - adds r1, r2 - ldr r1, [r1] - bl sub_808F3F8 - bl sub_808F49C - bl sub_808F5E8 - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - pop {r0} - bx r0 - .align 2, 0 -_0808F1FC: .4byte sPSSData - thumb_func_end sub_808F1D0 - - thumb_func_start BoxSetMosaic -BoxSetMosaic: @ 808F200 - push {lr} - bl sub_808F1D0 - ldr r3, _0808F24C @ =sPSSData - ldr r0, [r3] - ldr r1, _0808F250 @ =0x00002238 - adds r0, r1 - ldr r2, [r0] - cmp r2, 0 - beq _0808F248 - ldrb r0, [r2, 0x1] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r1, [r3] - ldr r0, _0808F250 @ =0x00002238 - adds r1, r0 - ldr r2, [r1] - movs r0, 0xA - strh r0, [r2, 0x2E] - ldr r2, [r1] - movs r0, 0x1 - strh r0, [r2, 0x30] - ldr r2, [r1] - ldr r0, _0808F254 @ =BoxSetMosaic2 - str r0, [r2, 0x1C] - ldr r0, [r1] - ldrh r0, [r0, 0x2E] - lsls r1, r0, 12 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg -_0808F248: - pop {r0} - bx r0 - .align 2, 0 -_0808F24C: .4byte sPSSData -_0808F250: .4byte 0x00002238 -_0808F254: .4byte BoxSetMosaic2 - thumb_func_end BoxSetMosaic - - thumb_func_start sub_808F258 -sub_808F258: @ 808F258 - ldr r0, _0808F26C @ =sPSSData - ldr r0, [r0] - ldr r1, _0808F270 @ =0x00002238 - adds r0, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - lsls r0, 27 - lsrs r0, 31 - bx lr - .align 2, 0 -_0808F26C: .4byte sPSSData -_0808F270: .4byte 0x00002238 - thumb_func_end sub_808F258 - - thumb_func_start BoxSetMosaic2 -BoxSetMosaic2: @ 808F274 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - subs r0, r1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bge _0808F28A - movs r0, 0 - strh r0, [r4, 0x2E] -_0808F28A: - ldrh r0, [r4, 0x2E] - lsls r1, r0, 12 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808F2B2 - ldrb r0, [r4, 0x1] - movs r1, 0x11 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x1] - ldr r0, _0808F2B8 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0808F2B2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808F2B8: .4byte SpriteCallbackDummy - thumb_func_end BoxSetMosaic2 - - thumb_func_start sub_808F2BC -sub_808F2BC: @ 808F2BC - push {r4-r7,lr} - sub sp, 0x28 - ldr r0, _0808F350 @ =sPSSData - mov r12, r0 - ldr r1, [r0] - ldr r4, _0808F354 @ =0x000022bc - adds r0, r1, r4 - str r0, [sp, 0x18] - add r3, sp, 0x18 - movs r0, 0x82 - lsls r0, 10 - str r0, [r3, 0x4] - ldr r5, _0808F358 @ =0x0000223c - adds r1, r5 - str r1, [sp, 0x20] - ldr r0, _0808F35C @ =0x0000dac6 - add r2, sp, 0x20 - str r0, [r2, 0x4] - mov r1, sp - ldr r0, _0808F360 @ =gUnknown_83CEA70 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - movs r6, 0 - adds r7, r2, 0 - mov r5, r12 - movs r2, 0 - ldr r1, _0808F364 @ =0x000007ff -_0808F2F6: - ldr r0, [r5] - adds r0, r4 - adds r0, r6 - strb r2, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, r1 - bls _0808F2F6 - movs r6, 0 - ldr r5, _0808F350 @ =sPSSData - ldr r4, _0808F358 @ =0x0000223c - movs r2, 0 -_0808F310: - ldr r0, [r5] - lsls r1, r6, 1 - adds r0, r4 - adds r0, r1 - strh r2, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0xF - bls _0808F310 - ldr r0, _0808F350 @ =sPSSData - ldr r0, [r0] - ldr r6, _0808F368 @ =0x00002238 - adds r0, r6 - movs r1, 0 - str r1, [r0] - adds r0, r3, 0 - bl LoadSpriteSheet - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _0808F3C8 - adds r0, r7, 0 - bl LoadSpritePalette - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - beq _0808F3C8 - b _0808F3B4 - .align 2, 0 -_0808F350: .4byte sPSSData -_0808F354: .4byte 0x000022bc -_0808F358: .4byte 0x0000223c -_0808F35C: .4byte 0x0000dac6 -_0808F360: .4byte gUnknown_83CEA70 -_0808F364: .4byte 0x000007ff -_0808F368: .4byte 0x00002238 -_0808F36C: - ldr r0, _0808F39C @ =sPSSData - ldr r2, [r0] - ldr r7, _0808F3A0 @ =0x00002238 - adds r3, r2, r7 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0808F3A4 @ =gSprites - adds r0, r1 - str r0, [r3] - lsls r0, r4, 4 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldr r3, _0808F3A8 @ =0x00002232 - adds r1, r2, r3 - strh r0, [r1] - ldr r6, _0808F3AC @ =0x00002234 - adds r2, r6 - lsls r0, r5, 5 - ldr r7, _0808F3B0 @ =0x06010000 - adds r0, r7 - str r0, [r2] - b _0808F3C8 - .align 2, 0 -_0808F39C: .4byte sPSSData -_0808F3A0: .4byte 0x00002238 -_0808F3A4: .4byte gSprites -_0808F3A8: .4byte 0x00002232 -_0808F3AC: .4byte 0x00002234 -_0808F3B0: .4byte 0x06010000 -_0808F3B4: - mov r0, sp - movs r1, 0x28 - movs r2, 0x30 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - bne _0808F36C -_0808F3C8: - ldr r0, _0808F3EC @ =sPSSData - ldr r0, [r0] - ldr r1, _0808F3F0 @ =0x00002238 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _0808F3E2 - movs r0, 0x2 - bl FreeSpriteTilesByTag - ldr r0, _0808F3F4 @ =0x0000dac6 - bl FreeSpritePaletteByTag -_0808F3E2: - add sp, 0x28 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808F3EC: .4byte sPSSData -_0808F3F0: .4byte 0x00002238 -_0808F3F4: .4byte 0x0000dac6 - thumb_func_end sub_808F2BC - - thumb_func_start sub_808F3F8 -sub_808F3F8: @ 808F3F8 - push {r4-r7,lr} - adds r3, r1, 0 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r6, _0808F468 @ =sPSSData - ldr r4, [r6] - ldr r7, _0808F46C @ =0x00002238 - adds r0, r4, r7 - ldr r0, [r0] - cmp r0, 0 - beq _0808F496 - cmp r2, 0 - beq _0808F48C - lsls r0, r2, 3 - ldr r1, _0808F470 @ =gMonFrontPicTable - adds r0, r1 - ldr r5, _0808F474 @ =0x000022bc - adds r1, r4, r5 - bl HandleLoadSpecialPokePic - ldr r1, [r6] - ldr r2, _0808F478 @ =0x00000cd8 - adds r0, r1, r2 - ldr r0, [r0] - ldr r4, _0808F47C @ =0x0000223c - adds r1, r4 - bl LZ77UnCompWram - ldr r0, [r6] - adds r5, r0, r5 - ldr r1, _0808F480 @ =0x00002234 - adds r0, r1 - ldr r1, [r0] - ldr r2, _0808F484 @ =0x04000200 - adds r0, r5, 0 - bl CpuSet - ldr r0, [r6] - adds r4, r0, r4 - ldr r2, _0808F488 @ =0x00002232 - adds r0, r2 - ldrh r1, [r0] - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, [r6] - adds r0, r7 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - b _0808F496 - .align 2, 0 -_0808F468: .4byte sPSSData -_0808F46C: .4byte 0x00002238 -_0808F470: .4byte gMonFrontPicTable -_0808F474: .4byte 0x000022bc -_0808F478: .4byte 0x00000cd8 -_0808F47C: .4byte 0x0000223c -_0808F480: .4byte 0x00002234 -_0808F484: .4byte 0x04000200 -_0808F488: .4byte 0x00002232 -_0808F48C: - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0808F496: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_808F3F8 - - thumb_func_start sub_808F49C -sub_808F49C: @ 808F49C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r6, _0808F51C @ =sPSSData - ldr r2, [r6] - ldrb r0, [r2, 0x1] - cmp r0, 0x3 - beq _0808F528 - movs r4, 0 - movs r5, 0 - mov r8, r6 -_0808F4BC: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - ldr r1, _0808F520 @ =0x00000cf5 - adds r0, r1 - mov r2, r8 - ldr r1, [r2] - adds r2, r1, r0 - movs r3, 0x6 - cmp r4, 0x2 - bne _0808F4D4 - movs r3, 0xA -_0808F4D4: - lsls r0, r5, 24 - lsrs r0, 24 - str r0, [sp] - movs r7, 0xFF - str r7, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x2 - bl AddTextPrinterParameterized - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0 - adds r0, 0xE - lsls r0, 16 - lsrs r5, r0, 16 - cmp r4, 0x2 - bls _0808F4BC - ldr r0, _0808F51C @ =sPSSData - ldr r2, [r0] - ldr r0, _0808F524 @ =0x00000d61 - adds r2, r0 - adds r0, r5, 0x2 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - str r7, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r3, 0x6 - bl AddTextPrinterParameterized - b _0808F57E - .align 2, 0 -_0808F51C: .4byte sPSSData -_0808F520: .4byte 0x00000cf5 -_0808F524: .4byte 0x00000d61 -_0808F528: - ldr r1, _0808F5BC @ =0x00000d61 - adds r2, r1 - movs r1, 0 - str r1, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0 - movs r3, 0x6 - bl AddTextPrinterParameterized - movs r4, 0 - movs r5, 0xF -_0808F542: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - ldr r2, _0808F5C0 @ =0x00000cf5 - adds r0, r2 - ldr r1, [r6] - adds r2, r1, r0 - movs r3, 0x6 - cmp r4, 0x2 - bne _0808F558 - movs r3, 0xA -_0808F558: - lsls r0, r5, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0x2 - bl AddTextPrinterParameterized - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0 - adds r0, 0xE - lsls r0, 16 - lsrs r5, r0, 16 - cmp r4, 0x2 - bls _0808F542 -_0808F57E: - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - ldr r4, _0808F5C4 @ =sPSSData - ldr r1, [r4] - movs r2, 0xCE - lsls r2, 4 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, 0 - beq _0808F5C8 - adds r2, 0x7 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, 0xB5 - adds r1, r2 - ldr r1, [r1] - bl sub_80BEBD0 - ldr r0, [r4] - movs r1, 0xD9 - lsls r1, 4 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - b _0808F5D8 - .align 2, 0 -_0808F5BC: .4byte 0x00000d61 -_0808F5C0: .4byte 0x00000cf5 -_0808F5C4: .4byte sPSSData -_0808F5C8: - movs r2, 0xD9 - lsls r2, 4 - adds r0, r1, r2 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 -_0808F5D8: - strb r0, [r1] - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_808F49C - - thumb_func_start sub_808F5E8 -sub_808F5E8: @ 808F5E8 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0808F634 @ =sPSSData - ldr r0, [r0] - movs r1, 0xCE - lsls r1, 4 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _0808F63C - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x8 - bl sub_80F7CE8 - movs r4, 0 -_0808F60E: - ldr r0, _0808F634 @ =sPSSData - ldr r0, [r0] - lsls r1, r4, 2 - ldr r2, _0808F638 @ =0x00000d94 - adds r0, r2 - adds r0, r1 - ldr r0, [r0] - lsls r1, r4, 1 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnimIfDifferent - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _0808F60E - b _0808F66E - .align 2, 0 -_0808F634: .4byte sPSSData -_0808F638: .4byte 0x00000d94 -_0808F63C: - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - movs r3, 0x8 - bl sub_80F7CE8 - movs r4, 0 -_0808F64E: - ldr r0, _0808F684 @ =sPSSData - ldr r0, [r0] - lsls r1, r4, 2 - ldr r2, _0808F688 @ =0x00000d94 - adds r0, r2 - adds r0, r1 - ldr r0, [r0] - lsls r1, r4, 25 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _0808F64E -_0808F66E: - movs r0, 0 - bl sub_80F7E54 - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808F684: .4byte sPSSData -_0808F688: .4byte 0x00000d94 - thumb_func_end sub_808F5E8 - - thumb_func_start sub_808F68C -sub_808F68C: @ 808F68C - push {r4,lr} - sub sp, 0x4 - ldr r0, _0808F704 @ =gUnknown_8E9CAEC - ldr r4, _0808F708 @ =sPSSData - ldr r1, [r4] - adds r1, 0xB0 - bl LZ77UnCompWram - ldr r0, _0808F70C @ =gUnknown_8E9C3D8 - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r2, [r4] - adds r2, 0xB0 - movs r0, 0x16 - str r0, [sp] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0xC - bl sub_80F7B80 - ldr r2, _0808F710 @ =gUnknown_83CE778 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0x9 - bl sub_80F7B80 - movs r0, 0x1 - movs r1, 0xA - movs r2, 0 - bl sub_80F7CAC - movs r0, 0x2 - movs r1, 0x15 - movs r2, 0 - bl sub_80F7CAC - bl sub_808F9FC - ldr r0, _0808F714 @ =sInPartyMenu - ldrb r0, [r0] - cmp r0, 0 - beq _0808F718 - movs r0, 0x1 - bl sub_808F90C - movs r0, 0x1 - bl sub_809088C - movs r0, 0x2 - bl sub_80F7E54 - movs r0, 0x1 - bl sub_80F7E54 - b _0808F73A - .align 2, 0 -_0808F704: .4byte gUnknown_8E9CAEC -_0808F708: .4byte sPSSData -_0808F70C: .4byte gUnknown_8E9C3D8 -_0808F710: .4byte gUnknown_83CE778 -_0808F714: .4byte sInPartyMenu -_0808F718: - movs r0, 0x2 - str r0, [sp] - movs r0, 0x1 - movs r1, 0 - movs r2, 0x14 - movs r3, 0xC - bl sub_80F7CE8 - movs r0, 0x1 - bl sub_808F90C - movs r0, 0x1 - bl sub_80F7E54 - movs r0, 0x2 - bl sub_80F7E54 -_0808F73A: - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - ldr r0, _0808F754 @ =sPSSData - ldr r0, [r0] - ldr r1, _0808F758 @ =0x000002c7 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808F754: .4byte sPSSData -_0808F758: .4byte 0x000002c7 - thumb_func_end sub_808F68C - - thumb_func_start sub_808F75C -sub_808F75C: @ 808F75C - push {lr} - ldr r0, _0808F788 @ =sPSSData - ldr r1, [r0] - movs r0, 0xB0 - lsls r0, 2 - adds r2, r1, r0 - movs r3, 0 - movs r0, 0x14 - strh r0, [r2] - ldr r0, _0808F78C @ =0x000002c2 - adds r2, r1, r0 - movs r0, 0x2 - strh r0, [r2] - ldr r0, _0808F790 @ =0x000002c5 - adds r1, r0 - strb r3, [r1] - movs r0, 0 - bl sub_809088C - pop {r0} - bx r0 - .align 2, 0 -_0808F788: .4byte sPSSData -_0808F78C: .4byte 0x000002c2 -_0808F790: .4byte 0x000002c5 - thumb_func_end sub_808F75C - - thumb_func_start sub_808F794 -sub_808F794: @ 808F794 - push {r4,lr} - ldr r4, _0808F7F0 @ =sPSSData - ldr r2, [r4] - ldr r1, _0808F7F4 @ =0x000002c5 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x14 - beq _0808F802 - movs r0, 0xB0 - lsls r0, 2 - adds r1, r2, r0 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldr r0, _0808F7F8 @ =0x000002c2 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_80F7D30 - movs r0, 0x1 - bl sub_80F7E54 - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x8 - bl sub_8090B98 - ldr r1, [r4] - ldr r0, _0808F7F4 @ =0x000002c5 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x14 - beq _0808F7FC - movs r0, 0x1 - b _0808F804 - .align 2, 0 -_0808F7F0: .4byte sPSSData -_0808F7F4: .4byte 0x000002c5 -_0808F7F8: .4byte 0x000002c2 -_0808F7FC: - ldr r1, _0808F80C @ =sInPartyMenu - movs r0, 0x1 - strb r0, [r1] -_0808F802: - movs r0, 0 -_0808F804: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0808F80C: .4byte sInPartyMenu - thumb_func_end sub_808F794 - - thumb_func_start sub_808F810 -sub_808F810: @ 808F810 - push {r4,lr} - ldr r4, _0808F844 @ =sPSSData - ldr r1, [r4] - movs r0, 0xB0 - lsls r0, 2 - adds r2, r1, r0 - movs r3, 0 - movs r0, 0 - strh r0, [r2] - ldr r0, _0808F848 @ =0x000002c2 - adds r2, r1, r0 - movs r0, 0x16 - strh r0, [r2] - ldr r0, _0808F84C @ =0x000002c5 - adds r1, r0 - strb r3, [r1] - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _0808F83C - bl sub_80960C0 -_0808F83C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808F844: .4byte sPSSData -_0808F848: .4byte 0x000002c2 -_0808F84C: .4byte 0x000002c5 - thumb_func_end sub_808F810 - - thumb_func_start sub_808F850 -sub_808F850: @ 808F850 - push {r4,r5,lr} - sub sp, 0x8 - ldr r5, _0808F8C8 @ =sPSSData - ldr r2, [r5] - ldr r1, _0808F8CC @ =0x000002c5 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x14 - beq _0808F8FC - movs r0, 0xB0 - lsls r0, 2 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r4, _0808F8D0 @ =0x000002c2 - adds r1, r2, r4 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r2, 0x1 - negs r2, r2 - movs r0, 0x1 - movs r1, 0x3 - bl sub_80F7D30 - movs r0, 0x1 - bl sub_80F7E54 - movs r1, 0x80 - lsls r1, 1 - ldr r0, [r5] - adds r0, r4 - ldrb r3, [r0] - movs r0, 0xC - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r2, 0xA - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x8 - negs r0, r0 - bl sub_8090B98 - ldr r1, [r5] - ldr r0, _0808F8CC @ =0x000002c5 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x14 - beq _0808F8D4 - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x1 - b _0808F8FE - .align 2, 0 -_0808F8C8: .4byte sPSSData -_0808F8CC: .4byte 0x000002c5 -_0808F8D0: .4byte 0x000002c2 -_0808F8D4: - ldr r0, _0808F908 @ =sInPartyMenu - movs r1, 0 - strb r1, [r0] - bl sub_8090C44 - bl CompactPartySlots - movs r0, 0x2 - str r0, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x9 - bl sub_80F7CE8 - movs r0, 0x2 - bl sub_80F7E54 - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram -_0808F8FC: - movs r0, 0 -_0808F8FE: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0808F908: .4byte sInPartyMenu - thumb_func_end sub_808F850 - - thumb_func_start sub_808F90C -sub_808F90C: @ 808F90C - push {lr} - sub sp, 0x4 - lsls r0, 24 - cmp r0, 0 - beq _0808F926 - movs r0, 0x2 - str r0, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x9 - bl sub_80F7CE8 - b _0808F934 -_0808F926: - movs r0, 0x2 - str r0, [sp] - movs r1, 0 - movs r2, 0x2 - movs r3, 0x9 - bl sub_80F7CE8 -_0808F934: - movs r0, 0x2 - bl sub_80F7E54 - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_808F90C - - thumb_func_start sub_808F948 -sub_808F948: @ 808F948 - ldr r2, _0808F968 @ =sPSSData - ldr r0, [r2] - ldr r1, _0808F96C @ =0x000002c7 - adds r0, r1 - movs r3, 0x1 - strb r3, [r0] - ldr r0, [r2] - adds r1, 0x1 - adds r0, r1 - movs r1, 0x1E - strb r1, [r0] - ldr r0, [r2] - ldr r1, _0808F970 @ =0x000002c9 - adds r0, r1 - strb r3, [r0] - bx lr - .align 2, 0 -_0808F968: .4byte sPSSData -_0808F96C: .4byte 0x000002c7 -_0808F970: .4byte 0x000002c9 - thumb_func_end sub_808F948 - - thumb_func_start sub_808F974 -sub_808F974: @ 808F974 - push {lr} - ldr r0, _0808F994 @ =sPSSData - ldr r0, [r0] - ldr r2, _0808F998 @ =0x000002c7 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _0808F98E - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - bl sub_808F90C -_0808F98E: - pop {r0} - bx r0 - .align 2, 0 -_0808F994: .4byte sPSSData -_0808F998: .4byte 0x000002c7 - thumb_func_end sub_808F974 - - thumb_func_start sub_808F99C -sub_808F99C: @ 808F99C - push {r4,lr} - ldr r3, _0808F9F0 @ =sPSSData - ldr r1, [r3] - ldr r2, _0808F9F4 @ =0x000002c7 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0808F9E8 - movs r0, 0xB2 - lsls r0, 2 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1E - bls _0808F9E8 - ldr r0, [r3] - movs r1, 0xB2 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r3] - movs r2, 0 - ldr r4, _0808F9F8 @ =0x000002c9 - adds r1, r0, r4 - ldrb r0, [r1] - cmp r0, 0 - bne _0808F9DC - movs r2, 0x1 -_0808F9DC: - strb r2, [r1] - ldr r0, [r3] - adds r0, r4 - ldrb r0, [r0] - bl sub_808F90C -_0808F9E8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808F9F0: .4byte sPSSData -_0808F9F4: .4byte 0x000002c7 -_0808F9F8: .4byte 0x000002c9 - thumb_func_end sub_808F99C - - thumb_func_start sub_808F9FC -sub_808F9FC: @ 808F9FC - push {r4,lr} - movs r4, 0x1 -_0808FA00: - movs r0, 0x64 - muls r0, r4 - ldr r1, _0808FA2C @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - negs r1, r0 - orrs r1, r0 - lsrs r1, 31 - adds r0, r4, 0 - bl sub_808FA30 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0808FA00 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808FA2C: .4byte gPlayerParty - thumb_func_end sub_808F9FC - - thumb_func_start sub_808FA30 -sub_808FA30: @ 808FA30 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r7, _0808FA9C @ =gUnknown_83CE7D8 - cmp r1, 0 - beq _0808FA40 - ldr r7, _0808FAA0 @ =gUnknown_83CE7C0 -_0808FA40: - subs r0, 0x1 - lsls r1, r0, 1 - adds r1, r0 - adds r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 18 - movs r1, 0xE0 - lsls r1, 11 - adds r0, r1 - lsrs r3, r0, 16 - movs r0, 0 - ldr r1, _0808FAA4 @ =sPSSData - mov r12, r1 -_0808FA5C: - movs r2, 0 - adds r4, r7, 0 - adds r4, 0x8 - adds r5, r3, 0 - adds r5, 0xC - adds r6, r0, 0x1 -_0808FA68: - mov r0, r12 - ldr r1, [r0] - adds r0, r3, r2 - lsls r0, 1 - adds r1, 0xB0 - adds r1, r0 - lsls r0, r2, 1 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x3 - bls _0808FA68 - adds r7, r4, 0 - lsls r0, r5, 16 - lsrs r3, r0, 16 - lsls r0, r6, 16 - lsrs r0, 16 - cmp r0, 0x2 - bls _0808FA5C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808FA9C: .4byte gUnknown_83CE7D8 -_0808FAA0: .4byte gUnknown_83CE7C0 -_0808FAA4: .4byte sPSSData - thumb_func_end sub_808FA30 - - thumb_func_start sub_808FAA8 -sub_808FAA8: @ 808FAA8 - push {lr} - sub sp, 0x4 - bl sub_808F9FC - movs r0, 0x16 - str r0, [sp] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0xC - bl sub_80F7CE8 - movs r0, 0x1 - bl sub_80F7E54 - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_808FAA8 - - thumb_func_start sub_808FAD4 -sub_808FAD4: @ 808FAD4 - push {lr} - ldr r0, _0808FAF0 @ =sPSSData - ldr r0, [r0] - ldr r1, _0808FAF4 @ =0x000002c6 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x6 - bl PlaySE - bl sub_808F75C - pop {r0} - bx r0 - .align 2, 0 -_0808FAF0: .4byte sPSSData -_0808FAF4: .4byte 0x000002c6 - thumb_func_end sub_808FAD4 - - thumb_func_start sub_808FAF8 -sub_808FAF8: @ 808FAF8 - push {r4,r5,lr} - ldr r4, _0808FB14 @ =sPSSData - ldr r0, [r4] - ldr r5, _0808FB18 @ =0x000002c6 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0808FB32 - cmp r0, 0x1 - bgt _0808FB1C - cmp r0, 0 - beq _0808FB22 - b _0808FB60 - .align 2, 0 -_0808FB14: .4byte sPSSData -_0808FB18: .4byte 0x000002c6 -_0808FB1C: - cmp r0, 0x2 - beq _0808FB5C - b _0808FB60 -_0808FB22: - bl sub_808F794 - lsls r0, 24 - cmp r0, 0 - bne _0808FB60 - bl sub_8092AE4 - b _0808FB4C -_0808FB32: - bl sub_80924A8 - lsls r0, 24 - cmp r0, 0 - bne _0808FB60 - ldr r0, [r4] - ldr r1, _0808FB58 @ =0x00000ce6 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0808FB4C - bl BoxSetMosaic -_0808FB4C: - ldr r1, [r4] - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808FB60 - .align 2, 0 -_0808FB58: .4byte 0x00000ce6 -_0808FB5C: - movs r0, 0 - b _0808FB62 -_0808FB60: - movs r0, 0x1 -_0808FB62: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_808FAF8 - - thumb_func_start sub_808FB68 -sub_808FB68: @ 808FB68 - push {lr} - sub sp, 0xC - movs r1, 0xE8 - lsls r1, 5 - movs r0, 0x8 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0xD0 - bl TextWindow_SetStdFrame0_WithPal - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_808FB68 - - thumb_func_start sub_808FBA4 -sub_808FBA4: @ 808FBA4 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - bl DynamicPlaceholderTextUtil_Reset - ldr r1, _0808FBC8 @ =gUnknown_83CEA88 - lsls r0, r6, 3 - adds r0, r1 - ldrb r0, [r0, 0x4] - cmp r0, 0x7 - bhi _0808FC7C - lsls r0, 2 - ldr r1, _0808FBCC @ =_0808FBD0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808FBC8: .4byte gUnknown_83CEA88 -_0808FBCC: .4byte _0808FBD0 - .align 2, 0 -_0808FBD0: - .4byte _0808FC7C - .4byte _0808FBF0 - .4byte _0808FBF0 - .4byte _0808FBF0 - .4byte _0808FC04 - .4byte _0808FC04 - .4byte _0808FC04 - .4byte _0808FC1C -_0808FBF0: - ldr r0, _0808FBFC @ =sPSSData - ldr r1, [r0] - ldr r0, _0808FC00 @ =0x00000cea - adds r1, r0 - b _0808FC0C - .align 2, 0 -_0808FBFC: .4byte sPSSData -_0808FC00: .4byte 0x00000cea -_0808FC04: - ldr r0, _0808FC14 @ =sPSSData - ldr r1, [r0] - ldr r2, _0808FC18 @ =0x000021d0 - adds r1, r2 -_0808FC0C: - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - b _0808FC7C - .align 2, 0 -_0808FC14: .4byte sPSSData -_0808FC18: .4byte 0x000021d0 -_0808FC1C: - bl sub_809616C - lsls r0, 24 - cmp r0, 0 - beq _0808FC40 - ldr r0, _0808FC38 @ =sPSSData - ldr r4, [r0] - ldr r0, _0808FC3C @ =0x000021db - adds r4, r0 - bl sub_80961A8 - adds r1, r0, 0 - adds r0, r4, 0 - b _0808FC4C - .align 2, 0 -_0808FC38: .4byte sPSSData -_0808FC3C: .4byte 0x000021db -_0808FC40: - ldr r0, _0808FC54 @ =sPSSData - ldr r1, [r0] - ldr r2, _0808FC58 @ =0x000021db - adds r0, r1, r2 - ldr r2, _0808FC5C @ =0x00000d61 - adds r1, r2 -_0808FC4C: - bl StringCopy - adds r2, r0, 0 - b _0808FC62 - .align 2, 0 -_0808FC54: .4byte sPSSData -_0808FC58: .4byte 0x000021db -_0808FC5C: .4byte 0x00000d61 -_0808FC60: - adds r2, r1, 0 -_0808FC62: - subs r1, r2, 0x1 - ldrb r0, [r1] - cmp r0, 0 - beq _0808FC60 - movs r0, 0xFF - strb r0, [r2] - ldr r0, _0808FCDC @ =sPSSData - ldr r1, [r0] - ldr r0, _0808FCE0 @ =0x000021db - adds r1, r0 - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr -_0808FC7C: - ldr r5, _0808FCDC @ =sPSSData - ldr r0, [r5] - movs r4, 0x86 - lsls r4, 6 - adds r0, r4 - ldr r2, _0808FCE4 @ =gUnknown_83CEA88 - lsls r1, r6, 3 - adds r1, r2 - ldr r1, [r1] - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, [r5] - adds r2, r4 - movs r0, 0x2 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0xD - bl DrawTextBorderOuter - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0808FCDC: .4byte sPSSData -_0808FCE0: .4byte 0x000021db -_0808FCE4: .4byte gUnknown_83CEA88 - thumb_func_end sub_808FBA4 - - thumb_func_start sub_808FCE8 -sub_808FCE8: @ 808FCE8 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0808FD1C @ =gUnknown_83CEB80 - movs r1, 0xB - str r1, [sp] - movs r1, 0xE - str r1, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - lsls r4, 24 - asrs r4, 24 - adds r0, r4, 0 - bl Menu_MoveCursorNoWrapAround - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808FD1C: .4byte gUnknown_83CEB80 - thumb_func_end sub_808FCE8 - - thumb_func_start sub_808FD20 -sub_808FD20: @ 808FD20 - push {lr} - movs r0, 0x1 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - pop {r0} - bx r0 - thumb_func_end sub_808FD20 - - thumb_func_start sub_808FD34 -sub_808FD34: @ 808FD34 - push {lr} - bl sub_8094DA8 - movs r0, 0x12 - bl sub_8094DEC - movs r0, 0x13 - bl sub_8094DEC - movs r0, 0x14 - bl sub_8094DEC - movs r0, 0x15 - bl sub_8094DEC - bl sub_8094E88 - pop {r0} - bx r0 - thumb_func_end sub_808FD34 - - thumb_func_start sub_808FD5C -sub_808FD5C: @ 808FD5C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_8094DA8 - cmp r4, 0x1 - beq _0808FD9A - cmp r4, 0x1 - bgt _0808FD76 - cmp r4, 0 - beq _0808FD80 - b _0808FDE6 -_0808FD76: - cmp r5, 0x2 - beq _0808FDB4 - cmp r5, 0x3 - beq _0808FDCE - b _0808FDE6 -_0808FD80: - movs r0, 0x16 - bl sub_8094DEC - movs r0, 0x17 - bl sub_8094DEC - movs r0, 0x18 - bl sub_8094DEC - movs r0, 0x19 - bl sub_8094DEC - b _0808FDE6 -_0808FD9A: - movs r0, 0x1A - bl sub_8094DEC - movs r0, 0x1B - bl sub_8094DEC - movs r0, 0x1C - bl sub_8094DEC - movs r0, 0x1D - bl sub_8094DEC - b _0808FDE6 -_0808FDB4: - movs r0, 0x1E - bl sub_8094DEC - movs r0, 0x1F - bl sub_8094DEC - movs r0, 0x20 - bl sub_8094DEC - movs r0, 0x21 - bl sub_8094DEC - b _0808FDE6 -_0808FDCE: - movs r0, 0x22 - bl sub_8094DEC - movs r0, 0x23 - bl sub_8094DEC - movs r0, 0x24 - bl sub_8094DEC - movs r0, 0x25 - bl sub_8094DEC -_0808FDE6: - bl sub_8094E88 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_808FD5C - - thumb_func_start sub_808FDF0 -sub_808FDF0: @ 808FDF0 - ldr r0, _0808FDF8 @ =sCurrentBoxOption - ldrb r0, [r0] - bx lr - .align 2, 0 -_0808FDF8: .4byte sCurrentBoxOption - thumb_func_end sub_808FDF0 - - thumb_func_start sub_808FDFC -sub_808FDFC: @ 808FDFC - push {lr} - bl sub_80939AC - lsls r0, 24 - cmp r0, 0 - bne _0808FE38 - ldr r0, _0808FE24 @ =sInPartyMenu - ldrb r0, [r0] - cmp r0, 0 - beq _0808FE28 - bl sub_8094CC8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1 - bl sub_8095C84 - b _0808FE38 - .align 2, 0 -_0808FE24: .4byte sInPartyMenu -_0808FE28: - bl sub_8094CC8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_8095C84 -_0808FE38: - ldr r1, _0808FE50 @ =gUnknown_20397BA - ldrh r0, [r1] - cmp r0, 0 - beq _0808FE4A - bl sub_8095E2C - movs r0, 0x3 - bl sub_8094D14 -_0808FE4A: - pop {r0} - bx r0 - .align 2, 0 -_0808FE50: .4byte gUnknown_20397BA - thumb_func_end sub_808FDFC - - thumb_func_start sub_808FE54 -sub_808FE54: @ 808FE54 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8094D34 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0808FE90 @ =sPSSData - ldr r0, [r0] - movs r1, 0xCE - lsls r1, 4 - adds r0, r1 - ldrh r7, [r0] - ldr r0, _0808FE94 @ =sInPartyMenu - ldrb r0, [r0] - cmp r0, 0 - beq _0808FE9C - movs r6, 0xE - bl sub_8094CC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0808FE98 @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - bl GetMonData - b _0808FEB2 - .align 2, 0 -_0808FE90: .4byte sPSSData -_0808FE94: .4byte sInPartyMenu -_0808FE98: .4byte gPlayerParty -_0808FE9C: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_8094CC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x41 - bl GetBoxMonDataFromSelectedBox -_0808FEB2: - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _0808FECC @ =sPSSData - ldr r0, [r0] - ldr r2, _0808FED0 @ =0x00002228 - adds r1, r0, r2 - cmp r5, 0x1 - beq _0808FF08 - cmp r5, 0x1 - bgt _0808FED4 - cmp r5, 0 - beq _0808FEDE - b _0808FF6A - .align 2, 0 -_0808FECC: .4byte sPSSData -_0808FED0: .4byte 0x00002228 -_0808FED4: - cmp r5, 0x2 - beq _0808FF3E - cmp r5, 0x3 - beq _0808FF58 - b _0808FF6A -_0808FEDE: - ldr r0, _0808FEF0 @ =sInPartyMenu - ldrb r0, [r0] - cmp r0, 0 - beq _0808FEF4 - cmp r4, 0xE - beq _0808FF6A -_0808FEEA: - movs r2, 0x16 - b _0808FF02 - .align 2, 0 -_0808FEF0: .4byte sInPartyMenu -_0808FEF4: - cmp r4, 0xE - beq _0808FEEA - movs r0, 0x15 - cmp r4, r6 - beq _0808FF00 - movs r0, 0x14 -_0808FF00: - adds r2, r0, 0 -_0808FF02: - strh r7, [r1] - strh r3, [r1, 0x2] - b _0808FF60 -_0808FF08: - movs r0, 0 - strh r7, [r1] - strh r0, [r1, 0x2] - strb r4, [r1, 0x4] - movs r0, 0xFF - strb r0, [r1, 0x5] - ldr r0, _0808FF24 @ =sInPartyMenu - ldrb r0, [r0] - cmp r0, 0 - beq _0808FF28 - cmp r4, 0xE - beq _0808FF6A - movs r2, 0x19 - b _0808FF64 - .align 2, 0 -_0808FF24: .4byte sInPartyMenu -_0808FF28: - cmp r4, 0xE - bne _0808FF32 - movs r2, 0x1A - strb r6, [r1, 0x4] - b _0808FF64 -_0808FF32: - cmp r4, r6 - beq _0808FF3A - movs r2, 0x17 - b _0808FF62 -_0808FF3A: - movs r2, 0x18 - b _0808FF64 -_0808FF3E: - movs r2, 0x1A - movs r0, 0 - strh r7, [r1] - strh r0, [r1, 0x2] - ldr r0, _0808FF54 @ =gUnknown_20397B6 - ldrb r0, [r0] - strb r0, [r1, 0x4] - movs r0, 0xFF - strb r0, [r1, 0x5] - b _0808FF64 - .align 2, 0 -_0808FF54: .4byte gUnknown_20397B6 -_0808FF58: - movs r2, 0x1B - movs r0, 0 - strh r0, [r1] - strh r0, [r1, 0x2] -_0808FF60: - strb r4, [r1, 0x4] -_0808FF62: - strb r6, [r1, 0x5] -_0808FF64: - adds r0, r2, 0 - bl SetQuestLogEvent -_0808FF6A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_808FE54 - - thumb_func_start sub_808FF70 -sub_808FF70: @ 808FF70 - push {r4,lr} - ldr r4, _0808FFA0 @ =sLastUsedBox - bl StorageGetCurrentBox - ldrb r1, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - beq _0808FF9A - ldr r0, _0808FFA4 @ =0x00000843 - bl FlagClear - ldr r4, _0808FFA8 @ =0x00004037 - bl StorageGetCurrentBox - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl VarSet -_0808FF9A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808FFA0: .4byte sLastUsedBox -_0808FFA4: .4byte 0x00000843 -_0808FFA8: .4byte 0x00004037 - thumb_func_end sub_808FF70 - - thumb_func_start sub_808FFAC -sub_808FFAC: @ 808FFAC - push {r4-r6,lr} - bl LoadMonIconPalettes - movs r2, 0 - ldr r3, _0809003C @ =sPSSData - ldr r5, _08090040 @ =0x00000b04 - movs r4, 0 - adds r6, r3, 0 -_0808FFBC: - ldr r0, [r3] - lsls r1, r2, 1 - adds r0, r5 - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x27 - bls _0808FFBC - movs r2, 0 - ldr r5, _0809003C @ =sPSSData - ldr r4, _08090044 @ =0x00000b54 - movs r3, 0 -_0808FFD8: - ldr r0, [r5] - lsls r1, r2, 1 - adds r0, r4 - adds r0, r1 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x27 - bls _0808FFD8 - movs r2, 0 - ldr r5, _0809003C @ =sPSSData - ldr r4, _08090048 @ =0x00000a6c - movs r3, 0 -_0808FFF4: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - str r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _0808FFF4 - movs r2, 0 - ldr r5, _0809003C @ =sPSSData - ldr r4, _0809004C @ =0x00000a84 - movs r3, 0 -_08090010: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - str r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1D - bls _08090010 - ldr r0, [r6] - ldr r2, _08090050 @ =0x00000a68 - adds r1, r0, r2 - movs r2, 0 - str r2, [r1] - ldr r1, _08090054 @ =0x0000078c - adds r0, r1 - strh r2, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809003C: .4byte sPSSData -_08090040: .4byte 0x00000b04 -_08090044: .4byte 0x00000b54 -_08090048: .4byte 0x00000a6c -_0809004C: .4byte 0x00000a84 -_08090050: .4byte 0x00000a68 -_08090054: .4byte 0x0000078c - thumb_func_end sub_808FFAC - - thumb_func_start sub_8090058 -sub_8090058: @ 8090058 - push {lr} - bl sub_80939F4 - lsls r0, 24 - movs r1, 0x1 - cmp r0, 0 - beq _08090068 - movs r1, 0x2 -_08090068: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_8090058 - - thumb_func_start sub_8090070 -sub_8090070: @ 8090070 - push {r4-r6,lr} - sub sp, 0x8 - ldr r5, _080900C4 @ =sPSSData - ldr r0, [r5] - ldr r4, _080900C8 @ =0x000020a0 - adds r0, r4 - movs r1, 0 - bl GetMonData - adds r6, r0, 0 - ldr r0, [r5] - adds r0, r4 - movs r1, 0x41 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_8090058 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0x7 - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0 - bl sub_80912E0 - ldr r1, [r5] - ldr r2, _080900CC @ =0x00000a68 - adds r1, r2 - str r0, [r1] - ldr r1, _080900D0 @ =sub_80911B0 - str r1, [r0, 0x1C] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080900C4: .4byte sPSSData -_080900C8: .4byte 0x000020a0 -_080900CC: .4byte 0x00000a68 -_080900D0: .4byte sub_80911B0 - thumb_func_end sub_8090070 - - thumb_func_start sub_80900D4 -sub_80900D4: @ 80900D4 - 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 r9, r0 - movs r0, 0 - mov r8, r0 - movs r6, 0 - movs r7, 0 -_080900EE: - movs r5, 0 - adds r1, r7, 0x1 - mov r10, r1 -_080900F4: - mov r0, r9 - adds r1, r6, 0 - movs r2, 0x41 - bl GetBoxMonDataFromAnyBox - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0809015C - mov r0, r9 - adds r1, r6, 0 - movs r2, 0 - bl GetBoxMonDataFromAnyBox - adds r1, r0, 0 - lsls r2, r5, 1 - adds r2, r5 - lsls r2, 19 - movs r3, 0xC8 - lsls r3, 15 - adds r2, r3 - asrs r2, 16 - lsls r3, r7, 1 - adds r3, r7 - lsls r3, 19 - movs r0, 0xB0 - lsls r0, 14 - adds r3, r0 - movs r0, 0x2 - str r0, [sp] - movs r0, 0x13 - subs r0, r5 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - adds r0, r4, 0 - asrs r3, 16 - bl sub_80912E0 - ldr r1, _08090154 @ =sPSSData - ldr r1, [r1] - mov r3, r8 - lsls r2, r3, 2 - ldr r3, _08090158 @ =0x00000a84 - adds r1, r3 - adds r1, r2 - str r0, [r1] - b _0809016C - .align 2, 0 -_08090154: .4byte sPSSData -_08090158: .4byte 0x00000a84 -_0809015C: - ldr r0, _080901E4 @ =sPSSData - ldr r0, [r0] - mov r2, r8 - lsls r1, r2, 2 - ldr r3, _080901E8 @ =0x00000a84 - adds r0, r3 - adds r0, r1 - str r4, [r0] -_0809016C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _080900F4 - mov r1, r10 - lsls r0, r1, 16 - lsrs r7, r0, 16 - cmp r7, 0x4 - bls _080900EE - ldr r0, _080901E4 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080901D2 - movs r6, 0 - movs r2, 0xD - negs r2, r2 - adds r4, r2, 0 -_080901A2: - mov r0, r9 - adds r1, r6, 0 - movs r2, 0xC - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - bne _080901C8 - ldr r0, _080901E4 @ =sPSSData - ldr r0, [r0] - lsls r1, r6, 2 - ldr r3, _080901E8 @ =0x00000a84 - adds r0, r3 - adds r0, r1 - ldr r2, [r0] - ldrb r0, [r2, 0x1] - ands r0, r4 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x1] -_080901C8: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1D - bls _080901A2 -_080901D2: - 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 -_080901E4: .4byte sPSSData -_080901E8: .4byte 0x00000a84 - thumb_func_end sub_80900D4 - - thumb_func_start sub_80901EC -sub_80901EC: @ 80901EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r7, 0 - movs r1, 0x41 - bl GetBoxMonDataFromSelectedBox - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0 - beq _08090286 - adds r0, r7, 0 - movs r1, 0x6 - bl __umodsi3 - adds r6, r0, 0 - lsls r0, r6, 24 - lsrs r0, 24 - lsls r5, r0, 1 - adds r5, r0 - lsls r5, 19 - movs r0, 0xC8 - lsls r0, 15 - adds r5, r0 - lsrs r5, 16 - adds r0, r7, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 19 - movs r0, 0xB0 - lsls r0, 14 - adds r4, r0 - lsrs r4, 16 - adds r0, r7, 0 - movs r1, 0 - bl GetBoxMonDataFromSelectedBox - adds r1, r0, 0 - movs r0, 0x2 - str r0, [sp] - movs r0, 0x13 - subs r0, r6 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r8 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_80912E0 - adds r3, r0, 0 - ldr r0, _08090294 @ =sPSSData - ldr r2, [r0] - lsls r1, r7, 2 - ldr r4, _08090298 @ =0x00000a84 - adds r0, r2, r4 - adds r0, r1 - str r3, [r0] - ldrb r0, [r2, 0x1] - cmp r0, 0x3 - bne _08090286 - ldrb r0, [r3, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r3, 0x1] -_08090286: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08090294: .4byte sPSSData -_08090298: .4byte 0x00000a84 - thumb_func_end sub_80901EC - - thumb_func_start sub_809029C -sub_809029C: @ 809029C - push {r4-r7,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r7, _080902D4 @ =sPSSData - ldr r6, _080902D8 @ =0x00000a84 - movs r5, 0x1 - ldr r4, _080902DC @ =sub_8090324 -_080902AC: - ldr r0, [r7] - lsls r1, r2, 2 - adds r0, r6 - adds r1, r0, r1 - ldr r0, [r1] - cmp r0, 0 - beq _080902C4 - strh r3, [r0, 0x32] - ldr r0, [r1] - strh r5, [r0, 0x36] - ldr r0, [r1] - str r4, [r0, 0x1C] -_080902C4: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1D - bls _080902AC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080902D4: .4byte sPSSData -_080902D8: .4byte 0x00000a84 -_080902DC: .4byte sub_8090324 - thumb_func_end sub_809029C - - thumb_func_start sub_80902E0 -sub_80902E0: @ 80902E0 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x30] - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080902FC - subs r0, r1, 0x1 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - b _08090312 -_080902FC: - ldr r0, _08090318 @ =sPSSData - ldr r1, [r0] - ldr r3, _0809031C @ =0x00000c62 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrh r0, [r2, 0x34] - strh r0, [r2, 0x20] - ldr r0, _08090320 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_08090312: - pop {r0} - bx r0 - .align 2, 0 -_08090318: .4byte sPSSData -_0809031C: .4byte 0x00000c62 -_08090320: .4byte SpriteCallbackDummy - thumb_func_end sub_80902E0 - - thumb_func_start sub_8090324 -sub_8090324: @ 8090324 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x36] - movs r3, 0x36 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08090338 - subs r0, r1, 0x1 - strh r0, [r2, 0x36] - b _08090354 -_08090338: - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x38] - subs r0, 0x45 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB6 - bls _08090354 - ldr r0, _08090358 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_08090354: - pop {r0} - bx r0 - .align 2, 0 -_08090358: .4byte SpriteCallbackDummy - thumb_func_end sub_8090324 - - thumb_func_start sub_809035C -sub_809035C: @ 809035C - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - ldr r7, _0809039C @ =sPSSData -_08090366: - ldr r0, [r7] - lsls r4, r5, 2 - ldr r1, _080903A0 @ =0x00000a84 - adds r0, r1 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _08090386 - bl sub_80913C4 - ldr r0, [r7] - ldr r1, _080903A0 @ =0x00000a84 - adds r0, r1 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_08090386: - adds r0, r5, 0x6 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x4 - bls _08090366 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809039C: .4byte sPSSData -_080903A0: .4byte 0x00000a84 - thumb_func_end sub_809035C - - thumb_func_start sub_80903A4 -sub_80903A4: @ 80903A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x8] - lsls r2, 16 - movs r1, 0x2C - mov r8, r1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 19 - movs r3, 0xC8 - lsls r3, 15 - adds r1, r3 - lsrs r1, 16 - str r1, [sp, 0x10] - ldr r1, [sp, 0x8] - adds r1, 0x1 - lsrs r6, r2, 16 - str r6, [sp, 0xC] - asrs r2, 16 - muls r1, r2 - ldr r2, [sp, 0x10] - subs r1, r2, r1 - lsls r1, 16 - lsrs r2, r1, 16 - movs r1, 0x13 - subs r1, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x14] - movs r3, 0 - mov r9, r3 - adds r5, r0, 0 - ldr r1, _08090488 @ =sPSSData - ldr r0, [r1] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - beq _08090498 - movs r7, 0x4 - lsls r2, 16 - mov r10, r2 -_08090404: - ldr r6, _08090488 @ =sPSSData - ldr r2, [r6] - lsls r0, r5, 1 - ldr r3, _0809048C @ =0x00000ba4 - adds r1, r2, r3 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _08090470 - lsls r4, r5, 2 - movs r6, 0xBE - lsls r6, 4 - adds r1, r2, r6 - adds r1, r4 - ldr r1, [r1] - mov r2, r8 - lsls r3, r2, 16 - asrs r3, 16 - movs r2, 0x2 - str r2, [sp] - ldr r6, [sp, 0x14] - str r6, [sp, 0x4] - mov r6, r10 - asrs r2, r6, 16 - bl sub_80912E0 - adds r2, r0, 0 - ldr r1, _08090488 @ =sPSSData - ldr r0, [r1] - ldr r3, _08090490 @ =0x00000a84 - adds r0, r3 - adds r1, r0, r4 - str r2, [r1] - cmp r2, 0 - beq _08090470 - mov r6, sp - ldrh r6, [r6, 0x8] - strh r6, [r2, 0x30] - ldr r0, [r1] - mov r2, sp - ldrh r2, [r2, 0xC] - strh r2, [r0, 0x32] - ldr r0, [r1] - mov r3, sp - ldrh r3, [r3, 0x10] - strh r3, [r0, 0x34] - ldr r1, [r1] - ldr r0, _08090494 @ =sub_80902E0 - str r0, [r1, 0x1C] - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_08090470: - adds r0, r5, 0x6 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - adds r0, 0x18 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - subs r7, 0x1 - cmp r7, 0 - bge _08090404 - b _08090550 - .align 2, 0 -_08090488: .4byte sPSSData -_0809048C: .4byte 0x00000ba4 -_08090490: .4byte 0x00000a84 -_08090494: .4byte sub_80902E0 -_08090498: - mov r10, r1 - movs r7, 0x4 - lsls r2, 16 - str r2, [sp, 0x18] -_080904A0: - mov r6, r10 - ldr r2, [r6] - lsls r0, r5, 1 - ldr r3, _08090564 @ =0x00000ba4 - adds r1, r2, r3 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _0809053A - lsls r4, r5, 2 - movs r6, 0xBE - lsls r6, 4 - adds r1, r2, r6 - adds r1, r4 - ldr r1, [r1] - mov r2, r8 - lsls r3, r2, 16 - asrs r3, 16 - movs r2, 0x2 - str r2, [sp] - ldr r6, [sp, 0x14] - str r6, [sp, 0x4] - ldr r6, [sp, 0x18] - asrs r2, r6, 16 - bl sub_80912E0 - adds r2, r0, 0 - mov r0, r10 - ldr r3, [r0] - ldr r1, _08090568 @ =0x00000a84 - adds r0, r3, r1 - adds r1, r0, r4 - str r2, [r1] - cmp r2, 0 - beq _0809053A - mov r6, sp - ldrh r6, [r6, 0x8] - strh r6, [r2, 0x30] - ldr r0, [r1] - mov r2, sp - ldrh r2, [r2, 0xC] - strh r2, [r0, 0x32] - ldr r0, [r1] - mov r6, sp - ldrh r6, [r6, 0x10] - strh r6, [r0, 0x34] - ldr r1, [r1] - ldr r0, _0809056C @ =sub_80902E0 - str r0, [r1, 0x1C] - ldr r1, _08090570 @ =0x00000c58 - adds r0, r3, r1 - ldrb r0, [r0] - adds r1, r5, 0 - movs r2, 0xC - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - bne _08090530 - mov r2, r10 - ldr r0, [r2] - ldr r3, _08090568 @ =0x00000a84 - adds r0, r3 - adds r0, r4 - ldr r2, [r0] - ldrb r1, [r2, 0x1] - movs r6, 0xD - negs r6, r6 - adds r0, r6, 0 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r2, 0x1] -_08090530: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_0809053A: - adds r0, r5, 0x6 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - adds r0, 0x18 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - subs r7, 0x1 - cmp r7, 0 - bge _080904A0 -_08090550: - mov r0, r9 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08090564: .4byte 0x00000ba4 -_08090568: .4byte 0x00000a84 -_0809056C: .4byte sub_80902E0 -_08090570: .4byte 0x00000c58 - thumb_func_end sub_80903A4 - - thumb_func_start sub_8090574 -sub_8090574: @ 8090574 - push {r4-r7,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r6, _080905D0 @ =sPSSData - ldr r1, [r6] - ldr r2, _080905D4 @ =0x00000c66 - adds r1, r2 - movs r5, 0 - strb r5, [r1] - ldr r1, [r6] - ldr r3, _080905D8 @ =0x00000c67 - adds r1, r3 - strb r0, [r1] - ldr r1, [r6] - ldr r7, _080905DC @ =0x00000c65 - adds r1, r7 - strb r4, [r1] - ldr r3, [r6] - ldr r1, _080905E0 @ =0x00000c5c - adds r2, r3, r1 - movs r1, 0x20 - strh r1, [r2] - lsls r4, 24 - asrs r4, 24 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 1 - negs r1, r1 - subs r7, 0x5 - adds r2, r3, r7 - strh r1, [r2] - ldr r1, _080905E4 @ =0x00000c62 - adds r3, r1 - strh r5, [r3] - bl sub_8090794 - cmp r4, 0 - ble _080905EC - ldr r0, [r6] - ldr r2, _080905E8 @ =0x00000c64 - adds r0, r2 - movs r1, 0 - b _080905F4 - .align 2, 0 -_080905D0: .4byte sPSSData -_080905D4: .4byte 0x00000c66 -_080905D8: .4byte 0x00000c67 -_080905DC: .4byte 0x00000c65 -_080905E0: .4byte 0x00000c5c -_080905E4: .4byte 0x00000c62 -_080905E8: .4byte 0x00000c64 -_080905EC: - ldr r0, [r6] - ldr r3, _08090620 @ =0x00000c64 - adds r0, r3 - movs r1, 0x5 -_080905F4: - strb r1, [r0] - ldr r0, _08090624 @ =sPSSData - ldr r2, [r0] - ldr r7, _08090620 @ =0x00000c64 - adds r0, r2, r7 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, 0x64 - ldr r3, _08090628 @ =0x00000c5e - adds r1, r2, r3 - strh r0, [r1] - subs r7, 0x4 - adds r2, r7 - movs r1, 0 - ldrsh r0, [r2, r1] - bl sub_809029C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08090620: .4byte 0x00000c64 -_08090624: .4byte sPSSData -_08090628: .4byte 0x00000c5e - thumb_func_end sub_8090574 - - thumb_func_start sub_809062C -sub_809062C: @ 809062C - push {r4-r6,lr} - ldr r5, _08090658 @ =sPSSData - ldr r0, [r5] - ldr r4, _0809065C @ =0x00000c5c - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, 0 - beq _08090640 - subs r0, 0x1 - strh r0, [r1] -_08090640: - ldr r3, [r5] - ldr r6, _08090660 @ =0x00000c66 - adds r0, r3, r6 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080906C4 - cmp r0, 0x1 - bgt _08090664 - cmp r0, 0 - beq _0809066C - b _08090782 - .align 2, 0 -_08090658: .4byte sPSSData -_0809065C: .4byte 0x00000c5c -_08090660: .4byte 0x00000c66 -_08090664: - cmp r0, 0x2 - bne _0809066A - b _08090770 -_0809066A: - b _08090782 -_0809066C: - ldr r0, _080906B8 @ =0x00000c5e - adds r1, r3, r0 - movs r2, 0xC6 - lsls r2, 4 - adds r0, r3, r2 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - subs r0, 0x41 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xBA - bhi _0809068A - b _0809078C -_0809068A: - ldr r1, _080906BC @ =0x00000c64 - adds r0, r3, r1 - ldrb r0, [r0] - bl sub_809035C - ldr r2, [r5] - ldr r0, _080906B8 @ =0x00000c5e - adds r3, r2, r0 - ldr r1, _080906C0 @ =0x00000c65 - adds r0, r2, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldrh r1, [r3] - adds r0, r1 - strh r0, [r3] - adds r2, r6 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _0809078C - .align 2, 0 -_080906B8: .4byte 0x00000c5e -_080906BC: .4byte 0x00000c64 -_080906C0: .4byte 0x00000c65 -_080906C4: - ldr r2, _08090728 @ =0x00000c5e - adds r1, r3, r2 - movs r6, 0xC6 - lsls r6, 4 - adds r2, r3, r6 - ldrh r0, [r2] - ldrh r6, [r1] - adds r0, r6 - strh r0, [r1] - ldr r6, _0809072C @ =0x00000c64 - adds r0, r3, r6 - ldrb r0, [r0] - adds r1, r3, r4 - ldrh r1, [r1] - movs r3, 0 - ldrsh r2, [r2, r3] - bl sub_80903A4 - ldr r2, [r5] - ldr r3, _08090730 @ =0x00000c62 - adds r1, r2, r3 - lsls r0, 24 - lsrs r0, 24 - ldrh r3, [r1] - adds r0, r3 - strh r0, [r1] - ldr r1, _08090734 @ =0x00000c65 - adds r0, r2, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - cmp r1, 0 - ble _0809070C - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, 0x5 - beq _08090718 -_0809070C: - cmp r1, 0 - bge _08090740 - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, 0 - bne _08090740 -_08090718: - ldr r0, _08090738 @ =sPSSData - ldr r1, [r0] - ldr r2, _0809073C @ =0x00000c66 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0809078C - .align 2, 0 -_08090728: .4byte 0x00000c5e -_0809072C: .4byte 0x00000c64 -_08090730: .4byte 0x00000c62 -_08090734: .4byte 0x00000c65 -_08090738: .4byte sPSSData -_0809073C: .4byte 0x00000c66 -_08090740: - ldr r3, _08090760 @ =sPSSData - ldr r0, [r3] - ldr r6, _08090764 @ =0x00000c64 - adds r1, r0, r6 - ldr r2, _08090768 @ =0x00000c65 - adds r0, r2 - ldrb r0, [r0] - ldrb r6, [r1] - adds r0, r6 - movs r2, 0 - strb r0, [r1] - ldr r0, [r3] - ldr r1, _0809076C @ =0x00000c66 - adds r0, r1 - strb r2, [r0] - b _0809078C - .align 2, 0 -_08090760: .4byte sPSSData -_08090764: .4byte 0x00000c64 -_08090768: .4byte 0x00000c65 -_0809076C: .4byte 0x00000c66 -_08090770: - ldr r2, _08090788 @ =0x00000c62 - adds r0, r3, r2 - ldrh r0, [r0] - cmp r0, 0 - bne _0809078C - adds r1, r3, r4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08090782: - movs r0, 0 - b _0809078E - .align 2, 0 -_08090788: .4byte 0x00000c62 -_0809078C: - movs r0, 0x1 -_0809078E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_809062C - - thumb_func_start sub_8090794 -sub_8090794: @ 8090794 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - movs r0, 0 - ldr r1, _08090810 @ =sPSSData - mov r9, r1 -_080907A8: - adds r0, 0x1 - mov r8, r0 - movs r7, 0x5 -_080907AE: - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0x41 - bl GetBoxMonDataFromAnyBox - mov r2, r9 - ldr r1, [r2] - lsls r2, r5, 1 - ldr r3, _08090814 @ =0x00000ba4 - adds r1, r3 - adds r1, r2 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - beq _080907EA - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0 - bl GetBoxMonDataFromAnyBox - mov r2, r9 - ldr r1, [r2] - lsls r2, r5, 2 - movs r3, 0xBE - lsls r3, 4 - adds r1, r3 - adds r1, r2 - str r0, [r1] -_080907EA: - adds r5, 0x1 - subs r7, 0x1 - cmp r7, 0 - bge _080907AE - mov r0, r8 - cmp r0, 0x4 - ble _080907A8 - ldr r0, _08090810 @ =sPSSData - ldr r0, [r0] - ldr r1, _08090818 @ =0x00000c58 - adds r0, r1 - strb r6, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08090810: .4byte sPSSData -_08090814: .4byte 0x00000ba4 -_08090818: .4byte 0x00000c58 - thumb_func_end sub_8090794 - - thumb_func_start sub_809081C -sub_809081C: @ 809081C - push {r4,r5,lr} - lsls r0, 24 - ldr r5, _08090848 @ =sPSSData - ldr r1, [r5] - lsrs r4, r0, 22 - ldr r0, _0809084C @ =0x00000a84 - adds r1, r0 - adds r1, r4 - ldr r0, [r1] - cmp r0, 0 - beq _08090842 - bl sub_80913C4 - ldr r0, [r5] - ldr r1, _0809084C @ =0x00000a84 - adds r0, r1 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_08090842: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08090848: .4byte sPSSData -_0809084C: .4byte 0x00000a84 - thumb_func_end sub_809081C - - thumb_func_start sub_8090850 -sub_8090850: @ 8090850 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r1, _08090884 @ =sPSSData - ldr r1, [r1] - lsrs r0, 22 - ldr r3, _08090888 @ =0x00000a84 - adds r1, r3 - adds r1, r0 - ldr r3, [r1] - cmp r3, 0 - beq _0809087E - movs r0, 0x3 - adds r1, r2, 0 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x1] -_0809087E: - pop {r0} - bx r0 - .align 2, 0 -_08090884: .4byte sPSSData -_08090888: .4byte 0x00000a84 - thumb_func_end sub_8090850 - - thumb_func_start sub_809088C -sub_809088C: @ 809088C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, _0809092C @ =gPlayerParty - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r1, r0, 0 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x68 - movs r3, 0x40 - bl sub_80912E0 - ldr r1, _08090930 @ =sPSSData - ldr r1, [r1] - ldr r2, _08090934 @ =0x00000a6c - adds r1, r2 - str r0, [r1] - movs r7, 0x1 - movs r6, 0x1 -_080908D2: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, _0809092C @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _08090938 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r1, r0, 0 - subs r0, r6, 0x1 - lsls r3, r0, 1 - adds r3, r0 - lsls r3, 19 - movs r0, 0x80 - lsls r0, 13 - adds r3, r0 - asrs r3, 16 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x98 - bl sub_80912E0 - ldr r1, _08090930 @ =sPSSData - ldr r1, [r1] - lsls r2, r6, 2 - ldr r3, _08090934 @ =0x00000a6c - adds r1, r3 - adds r1, r2 - str r0, [r1] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - b _08090946 - .align 2, 0 -_0809092C: .4byte gPlayerParty -_08090930: .4byte sPSSData -_08090934: .4byte 0x00000a6c -_08090938: - ldr r0, _080909E8 @ =sPSSData - ldr r0, [r0] - lsls r1, r6, 2 - ldr r2, _080909EC @ =0x00000a6c - adds r0, r2 - adds r0, r1 - str r5, [r0] -_08090946: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _080908D2 - ldr r3, _080909E8 @ =sPSSData - mov r0, r8 - cmp r0, 0 - bne _0809098A - movs r6, 0 - cmp r6, r7 - bcs _0809098A - mov r12, r3 - ldr r5, _080909EC @ =0x00000a6c - movs r4, 0x4 -_08090964: - mov r2, r12 - ldr r1, [r2] - lsls r0, r6, 2 - adds r1, r5 - adds r1, r0 - ldr r2, [r1] - ldrh r0, [r2, 0x22] - subs r0, 0xA0 - strh r0, [r2, 0x22] - ldr r1, [r1] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r4 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, r7 - bcc _08090964 -_0809098A: - ldr r0, [r3] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080909DA - movs r6, 0 - adds r7, r3, 0 - ldr r5, _080909EC @ =0x00000a6c -_08090998: - ldr r0, [r7] - lsls r4, r6, 2 - adds r0, r5 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080909D0 - movs r0, 0x64 - muls r0, r6 - ldr r1, _080909F0 @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - bl GetMonData - cmp r0, 0 - bne _080909D0 - ldr r0, [r7] - adds r0, r5 - adds r0, r4 - ldr r2, [r0] - ldrb r1, [r2, 0x1] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r2, 0x1] -_080909D0: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _08090998 -_080909DA: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080909E8: .4byte sPSSData -_080909EC: .4byte 0x00000a6c -_080909F0: .4byte gPlayerParty - thumb_func_end sub_809088C - - thumb_func_start sub_80909F4 -sub_80909F4: @ 80909F4 - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, _08090A54 @ =sPSSData - ldr r1, [r0] - ldr r2, _08090A58 @ =0x00000c5a - adds r1, r2 - movs r2, 0 - strb r2, [r1] - movs r5, 0 - movs r6, 0 - adds r3, r0, 0 - ldr r7, _08090A5C @ =0x00000a6c -_08090A0C: - ldr r0, [r3] - lsls r4, r5, 2 - adds r0, r7 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _08090A42 - cmp r5, r6 - beq _08090A3C - adds r1, r6, 0 - str r3, [sp] - bl sub_8090A74 - ldr r3, [sp] - ldr r2, [r3] - adds r0, r2, r7 - adds r0, r4 - movs r1, 0 - str r1, [r0] - ldr r0, _08090A58 @ =0x00000c5a - adds r2, r0 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] -_08090A3C: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_08090A42: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _08090A0C - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08090A54: .4byte sPSSData -_08090A58: .4byte 0x00000c5a -_08090A5C: .4byte 0x00000a6c - thumb_func_end sub_80909F4 - - thumb_func_start sub_8090A60 -sub_8090A60: @ 8090A60 - ldr r0, _08090A6C @ =sPSSData - ldr r0, [r0] - ldr r1, _08090A70 @ =0x00000c5a - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08090A6C: .4byte sPSSData -_08090A70: .4byte 0x00000c5a - thumb_func_end sub_8090A60 - - thumb_func_start sub_8090A74 -sub_8090A74: @ 8090A74 - push {r4,lr} - adds r2, r0, 0 - lsls r1, 16 - lsrs r1, 16 - strh r1, [r2, 0x30] - cmp r1, 0 - bne _08090A88 - movs r3, 0x68 - movs r4, 0x40 - b _08090A9A -_08090A88: - movs r3, 0x98 - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 19 - movs r1, 0x80 - lsls r1, 13 - adds r0, r1 - lsrs r4, r0, 16 -_08090A9A: - ldrh r0, [r2, 0x20] - lsls r0, 3 - strh r0, [r2, 0x32] - ldrh r0, [r2, 0x22] - lsls r0, 3 - strh r0, [r2, 0x34] - lsls r1, r3, 3 - movs r3, 0x32 - ldrsh r0, [r2, r3] - subs r0, r1, r0 - cmp r0, 0 - bge _08090AB4 - adds r0, 0x7 -_08090AB4: - asrs r0, 3 - strh r0, [r2, 0x36] - lsls r0, r4, 16 - asrs r0, 13 - movs r3, 0x34 - ldrsh r1, [r2, r3] - subs r0, r1 - cmp r0, 0 - bge _08090AC8 - adds r0, 0x7 -_08090AC8: - asrs r0, 3 - strh r0, [r2, 0x38] - movs r0, 0x8 - strh r0, [r2, 0x3A] - ldr r0, _08090ADC @ =sub_8090AE0 - str r0, [r2, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08090ADC: .4byte sub_8090AE0 - thumb_func_end sub_8090A74 - - thumb_func_start sub_8090AE0 -sub_8090AE0: @ 8090AE0 - push {r4,lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x3A] - movs r1, 0x3A - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _08090B10 - ldrh r0, [r3, 0x36] - ldrh r4, [r3, 0x32] - adds r0, r4 - strh r0, [r3, 0x32] - ldrh r1, [r3, 0x38] - ldrh r4, [r3, 0x34] - adds r1, r4 - strh r1, [r3, 0x34] - lsls r0, 16 - asrs r0, 19 - strh r0, [r3, 0x20] - lsls r1, 16 - asrs r1, 19 - strh r1, [r3, 0x22] - subs r0, r2, 0x1 - strh r0, [r3, 0x3A] - b _08090B54 -_08090B10: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _08090B20 - movs r0, 0x68 - strh r0, [r3, 0x20] - movs r0, 0x40 - b _08090B32 -_08090B20: - movs r0, 0x98 - strh r0, [r3, 0x20] - movs r4, 0x30 - ldrsh r1, [r3, r4] - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, 0x10 -_08090B32: - strh r0, [r3, 0x22] - ldr r0, _08090B5C @ =SpriteCallbackDummy - str r0, [r3, 0x1C] - ldr r0, _08090B60 @ =sPSSData - ldr r2, [r0] - movs r0, 0x30 - ldrsh r1, [r3, r0] - lsls r1, 2 - ldr r4, _08090B64 @ =0x00000a6c - adds r0, r2, r4 - adds r0, r1 - str r3, [r0] - ldr r0, _08090B68 @ =0x00000c5a - adds r2, r0 - ldrb r0, [r2] - subs r0, 0x1 - strb r0, [r2] -_08090B54: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08090B5C: .4byte SpriteCallbackDummy -_08090B60: .4byte sPSSData -_08090B64: .4byte 0x00000a6c -_08090B68: .4byte 0x00000c5a - thumb_func_end sub_8090AE0 - - thumb_func_start sub_8090B6C -sub_8090B6C: @ 8090B6C - push {r4,lr} - ldr r4, _08090B90 @ =sPSSData - ldr r0, [r4] - ldr r1, _08090B94 @ =0x00000a68 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _08090B8A - bl sub_80913C4 - ldr r0, [r4] - ldr r1, _08090B94 @ =0x00000a68 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_08090B8A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08090B90: .4byte sPSSData -_08090B94: .4byte 0x00000a68 - thumb_func_end sub_8090B6C - - thumb_func_start sub_8090B98 -sub_8090B98: @ 8090B98 - push {r4-r6,lr} - movs r3, 0 - ldr r6, _08090BEC @ =sPSSData - lsls r0, 16 - asrs r4, r0, 16 - movs r5, 0x5 - negs r5, r5 -_08090BA6: - ldr r0, [r6] - lsls r1, r3, 2 - ldr r2, _08090BF0 @ =0x00000a6c - adds r0, r2 - adds r2, r0, r1 - ldr r1, [r2] - cmp r1, 0 - beq _08090BFE - ldrh r0, [r1, 0x22] - adds r0, r4, r0 - strh r0, [r1, 0x22] - ldr r2, [r2] - ldrh r1, [r2, 0x26] - ldrh r0, [r2, 0x22] - adds r1, r0 - adds r0, r2, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 13 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0xC0 - bls _08090BF4 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _08090BFE - .align 2, 0 -_08090BEC: .4byte sPSSData -_08090BF0: .4byte 0x00000a6c -_08090BF4: - adds r2, 0x3E - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2] -_08090BFE: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _08090BA6 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8090B98 - - thumb_func_start sub_8090C10 -sub_8090C10: @ 8090C10 - push {r4,r5,lr} - lsls r0, 24 - ldr r5, _08090C3C @ =sPSSData - ldr r1, [r5] - lsrs r4, r0, 22 - ldr r0, _08090C40 @ =0x00000a6c - adds r1, r0 - adds r1, r4 - ldr r0, [r1] - cmp r0, 0 - beq _08090C36 - bl sub_80913C4 - ldr r0, [r5] - ldr r1, _08090C40 @ =0x00000a6c - adds r0, r1 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_08090C36: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08090C3C: .4byte sPSSData -_08090C40: .4byte 0x00000a6c - thumb_func_end sub_8090C10 - - thumb_func_start sub_8090C44 -sub_8090C44: @ 8090C44 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _08090C7C @ =sPSSData -_08090C4A: - ldr r0, [r6] - lsls r4, r5, 2 - ldr r1, _08090C80 @ =0x00000a6c - adds r0, r1 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _08090C6A - bl sub_80913C4 - ldr r0, [r6] - ldr r1, _08090C80 @ =0x00000a6c - adds r0, r1 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_08090C6A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _08090C4A - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08090C7C: .4byte sPSSData -_08090C80: .4byte 0x00000a6c - thumb_func_end sub_8090C44 - - thumb_func_start sub_8090C84 -sub_8090C84: @ 8090C84 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r1, _08090CB8 @ =sPSSData - ldr r1, [r1] - lsrs r0, 22 - ldr r3, _08090CBC @ =0x00000a6c - adds r1, r3 - adds r1, r0 - ldr r3, [r1] - cmp r3, 0 - beq _08090CB2 - movs r0, 0x3 - adds r1, r2, 0 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x1] -_08090CB2: - pop {r0} - bx r0 - .align 2, 0 -_08090CB8: .4byte sPSSData -_08090CBC: .4byte 0x00000a6c - thumb_func_end sub_8090C84 - - thumb_func_start sub_8090CC0 -sub_8090CC0: @ 8090CC0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - adds r5, r1, 0 - cmp r4, 0 - bne _08090CF0 - ldr r3, _08090CE8 @ =sPSSData - ldr r0, [r3] - ldr r5, _08090CEC @ =0x00000a68 - adds r2, r0, r5 - lsls r1, 2 - adds r5, 0x4 - adds r0, r5 - adds r0, r1 - ldr r1, [r0] - str r1, [r2] - str r4, [r0] - b _08090D0C - .align 2, 0 -_08090CE8: .4byte sPSSData -_08090CEC: .4byte 0x00000a68 -_08090CF0: - cmp r4, 0x1 - bne _08090D42 - ldr r3, _08090D48 @ =sPSSData - ldr r0, [r3] - ldr r1, _08090D4C @ =0x00000a68 - adds r2, r0, r1 - lsls r1, r5, 2 - ldr r4, _08090D50 @ =0x00000a84 - adds r0, r4 - adds r0, r1 - ldr r1, [r0] - str r1, [r2] - movs r1, 0 - str r1, [r0] -_08090D0C: - adds r5, r3, 0 - ldr r0, [r5] - ldr r4, _08090D4C @ =0x00000a68 - adds r0, r4 - ldr r1, [r0] - ldr r0, _08090D54 @ =sub_80911B0 - str r0, [r1, 0x1C] - bl sub_8090058 - ldr r1, [r5] - adds r1, r4 - ldr r3, [r1] - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r5] - adds r0, r4 - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0x7 - strb r1, [r0] -_08090D42: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08090D48: .4byte sPSSData -_08090D4C: .4byte 0x00000a68 -_08090D50: .4byte 0x00000a84 -_08090D54: .4byte sub_80911B0 - thumb_func_end sub_8090CC0 - - thumb_func_start sub_8090D58 -sub_8090D58: @ 8090D58 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r0, 0xE - bne _08090DA4 - ldr r3, _08090D98 @ =sPSSData - ldr r1, [r3] - lsls r5, r6, 2 - ldr r4, _08090D9C @ =0x00000a6c - adds r0, r1, r4 - adds r0, r5 - ldr r2, _08090DA0 @ =0x00000a68 - adds r1, r2 - ldr r2, [r1] - str r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r3] - adds r0, r4 - adds r0, r5 - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0xC - strb r1, [r0] - b _08090DE0 - .align 2, 0 -_08090D98: .4byte sPSSData -_08090D9C: .4byte 0x00000a6c -_08090DA0: .4byte 0x00000a68 -_08090DA4: - ldr r5, _08090DF8 @ =sPSSData - ldr r1, [r5] - lsls r4, r6, 2 - ldr r3, _08090DFC @ =0x00000a84 - adds r0, r1, r3 - adds r0, r4 - ldr r2, _08090E00 @ =0x00000a68 - adds r1, r2 - ldr r2, [r1] - str r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r5] - adds r0, r3 - adds r0, r4 - ldr r4, [r0] - adds r0, r6, 0 - movs r1, 0x6 - bl __umodsi3 - movs r1, 0x13 - subs r1, r0 - adds r4, 0x43 - strb r1, [r4] - adds r3, r5, 0 -_08090DE0: - ldr r1, [r3] - ldr r0, _08090E00 @ =0x00000a68 - adds r1, r0 - ldr r2, [r1] - ldr r0, _08090E04 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] - movs r0, 0 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08090DF8: .4byte sPSSData -_08090DFC: .4byte 0x00000a84 -_08090E00: .4byte 0x00000a68 -_08090E04: .4byte SpriteCallbackDummy - thumb_func_end sub_8090D58 - - thumb_func_start sub_8090E08 -sub_8090E08: @ 8090E08 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r0, 0xE - bne _08090E30 - ldr r3, _08090E24 @ =sPSSData - ldr r1, [r3] - ldr r0, _08090E28 @ =0x00000afc - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, _08090E2C @ =0x00000a6c - b _08090E3C - .align 2, 0 -_08090E24: .4byte sPSSData -_08090E28: .4byte 0x00000afc -_08090E2C: .4byte 0x00000a6c -_08090E30: - ldr r3, _08090E5C @ =sPSSData - ldr r1, [r3] - ldr r0, _08090E60 @ =0x00000afc - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, _08090E64 @ =0x00000a84 -_08090E3C: - adds r0, r4 - adds r1, r0 - str r1, [r2] - ldr r1, [r3] - ldr r2, _08090E68 @ =0x00000a68 - adds r0, r1, r2 - ldr r2, [r0] - ldr r0, _08090E6C @ =SpriteCallbackDummy - str r0, [r2, 0x1C] - ldr r4, _08090E70 @ =0x00000c59 - adds r1, r4 - movs r0, 0 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08090E5C: .4byte sPSSData -_08090E60: .4byte 0x00000afc -_08090E64: .4byte 0x00000a84 -_08090E68: .4byte 0x00000a68 -_08090E6C: .4byte SpriteCallbackDummy -_08090E70: .4byte 0x00000c59 - thumb_func_end sub_8090E08 - - thumb_func_start sub_8090E74 -sub_8090E74: @ 8090E74 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r6, _08090E90 @ =sPSSData - ldr r0, [r6] - ldr r1, _08090E94 @ =0x00000c59 - mov r9, r1 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0x10 - bne _08090E98 - movs r0, 0 - b _08090FA0 - .align 2, 0 -_08090E90: .4byte sPSSData -_08090E94: .4byte 0x00000c59 -_08090E98: - adds r0, 0x1 - strb r0, [r1] - ldr r2, [r6] - ldr r5, _08090FAC @ =0x00000c59 - adds r0, r2, r5 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08090EC6 - ldr r1, _08090FB0 @ =0x00000afc - adds r0, r2, r1 - ldr r0, [r0] - ldr r1, [r0] - ldrh r0, [r1, 0x22] - subs r0, 0x1 - strh r0, [r1, 0x22] - ldr r5, _08090FB4 @ =0x00000a68 - adds r0, r2, r5 - ldr r1, [r0] - ldrh r0, [r1, 0x22] - adds r0, 0x1 - strh r0, [r1, 0x22] -_08090EC6: - ldr r3, [r6] - ldr r7, _08090FB0 @ =0x00000afc - adds r4, r3, r7 - ldr r0, [r4] - ldr r0, [r0] - mov r8, r0 - ldr r5, _08090FB8 @ =gSineTable - mov r0, r9 - adds r1, r3, r0 - ldrb r0, [r1] - lsls r0, 4 - adds r0, r5 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _08090EE8 - adds r0, 0xF -_08090EE8: - asrs r0, 4 - mov r2, r8 - strh r0, [r2, 0x24] - ldr r0, _08090FB4 @ =0x00000a68 - mov r8, r0 - add r3, r8 - ldr r2, [r3] - ldrb r0, [r1] - lsls r0, 4 - adds r0, r5 - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r0, 0 - bge _08090F06 - adds r0, 0xF -_08090F06: - asrs r0, 4 - negs r0, r0 - strh r0, [r2, 0x24] - ldrb r0, [r1] - cmp r0, 0x8 - bne _08090F6A - ldr r3, [r3] - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0, 0x5] - movs r5, 0x3 - movs r1, 0xC - ands r1, r0 - ldrb r2, [r3, 0x5] - movs r4, 0xD - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r6] - mov r2, r8 - adds r1, r0, r2 - ldr r1, [r1] - adds r0, r7 - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x43 - ldrb r0, [r0] - adds r1, 0x43 - strb r0, [r1] - bl sub_8090058 - ldr r1, [r6] - adds r1, r7 - ldr r1, [r1] - ldr r1, [r1] - ands r5, r0 - lsls r5, 2 - ldrb r0, [r1, 0x5] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0x5] - ldr r0, [r6] - adds r0, r7 - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0x7 - strb r1, [r0] -_08090F6A: - ldr r1, [r6] - mov r5, r9 - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0x10 - bne _08090F9E - mov r0, r8 - adds r2, r1, r0 - ldr r3, [r2] - adds r1, r7 - ldr r0, [r1] - ldr r0, [r0] - str r0, [r2] - ldr r0, [r1] - str r3, [r0] - ldr r1, [r6] - mov r2, r8 - adds r0, r1, r2 - ldr r2, [r0] - ldr r0, _08090FBC @ =sub_80911B0 - str r0, [r2, 0x1C] - adds r1, r7 - ldr r0, [r1] - ldr r1, [r0] - ldr r0, _08090FC0 @ =SpriteCallbackDummy - str r0, [r1, 0x1C] -_08090F9E: - movs r0, 0x1 -_08090FA0: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08090FAC: .4byte 0x00000c59 -_08090FB0: .4byte 0x00000afc -_08090FB4: .4byte 0x00000a68 -_08090FB8: .4byte gSineTable -_08090FBC: .4byte sub_80911B0 -_08090FC0: .4byte SpriteCallbackDummy - thumb_func_end sub_8090E74 - - thumb_func_start sub_8090FC4 -sub_8090FC4: @ 8090FC4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r0, 0x1 - beq _08090FFC - cmp r0, 0x1 - bgt _08090FDE - cmp r0, 0 - beq _08090FE4 - b _08091072 -_08090FDE: - cmp r2, 0x2 - beq _0809101C - b _08091072 -_08090FE4: - ldr r3, _08090FF4 @ =sPSSData - ldr r1, [r3] - movs r0, 0xB0 - lsls r0, 4 - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, _08090FF8 @ =0x00000a6c - b _0809100A - .align 2, 0 -_08090FF4: .4byte sPSSData -_08090FF8: .4byte 0x00000a6c -_08090FFC: - ldr r3, _08091014 @ =sPSSData - ldr r1, [r3] - movs r0, 0xB0 - lsls r0, 4 - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, _08091018 @ =0x00000a84 -_0809100A: - adds r0, r4 - adds r1, r0 - str r1, [r2] - adds r4, r3, 0 - b _0809102E - .align 2, 0 -_08091014: .4byte sPSSData -_08091018: .4byte 0x00000a84 -_0809101C: - ldr r0, _08091078 @ =sPSSData - ldr r1, [r0] - movs r3, 0xB0 - lsls r3, 4 - adds r2, r1, r3 - ldr r4, _0809107C @ =0x00000a68 - adds r1, r4 - str r1, [r2] - adds r4, r0, 0 -_0809102E: - ldr r0, [r4] - movs r1, 0xB0 - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _08091072 - bl InitSpriteAffineAnim - ldr r0, [r4] - movs r3, 0xB0 - lsls r3, 4 - adds r0, r3 - ldr r0, [r0] - ldr r2, [r0] - ldrb r1, [r2, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r1, [r4] - adds r1, r3 - ldr r0, [r1] - ldr r2, [r0] - ldr r0, _08091080 @ =gUnknown_83CEC38 - str r0, [r2, 0x10] - ldr r0, [r1] - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAffineAnim -_08091072: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08091078: .4byte sPSSData -_0809107C: .4byte 0x00000a68 -_08091080: .4byte gUnknown_83CEC38 - thumb_func_end sub_8090FC4 - - thumb_func_start sub_8091084 -sub_8091084: @ 8091084 - push {lr} - ldr r0, _080910AC @ =sPSSData - ldr r0, [r0] - movs r1, 0xB0 - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0] - cmp r1, 0 - beq _080910A6 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r0, 0x4 - ands r0, r2 - cmp r0, 0 - beq _080910B0 -_080910A6: - movs r0, 0 - b _080910C6 - .align 2, 0 -_080910AC: .4byte sPSSData -_080910B0: - adds r0, r1, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080910C4 - movs r0, 0x4 - orrs r0, r2 - strb r0, [r3] -_080910C4: - movs r0, 0x1 -_080910C6: - pop {r1} - bx r1 - thumb_func_end sub_8091084 - - thumb_func_start sub_80910CC -sub_80910CC: @ 80910CC - push {r4,lr} - ldr r4, _08091110 @ =sPSSData - ldr r0, [r4] - movs r1, 0xB0 - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _08091108 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, [r4] - movs r1, 0xB0 - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0] - bl sub_80913C4 - ldr r0, [r4] - movs r1, 0xB0 - lsls r1, 4 - adds r0, r1 - ldr r1, [r0] - movs r0, 0 - str r0, [r1] -_08091108: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08091110: .4byte sPSSData - thumb_func_end sub_80910CC - - thumb_func_start sub_8091114 -sub_8091114: @ 8091114 - push {lr} - ldr r3, _0809114C @ =sPSSData - ldr r0, [r3] - movs r1, 0xB0 - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _08091148 - adds r2, r0, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, [r3] - movs r1, 0xB0 - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAffineAnim -_08091148: - pop {r0} - bx r0 - .align 2, 0 -_0809114C: .4byte sPSSData - thumb_func_end sub_8091114 - - thumb_func_start sub_8091150 -sub_8091150: @ 8091150 - push {lr} - ldr r0, _08091168 @ =sPSSData - ldr r0, [r0] - movs r1, 0xB0 - lsls r1, 4 - adds r2, r0, r1 - ldr r0, [r2] - cmp r0, 0 - bne _0809116C - movs r0, 0 - b _08091180 - .align 2, 0 -_08091168: .4byte sPSSData -_0809116C: - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0809117E - movs r0, 0 - str r0, [r2] -_0809117E: - movs r0, 0x1 -_08091180: - pop {r1} - bx r1 - thumb_func_end sub_8091150 - - thumb_func_start sub_8091184 -sub_8091184: @ 8091184 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080911A8 @ =sPSSData - ldr r1, [r1] - ldr r2, _080911AC @ =0x00000a68 - adds r1, r2 - ldr r3, [r1] - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r3, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x5] - bx lr - .align 2, 0 -_080911A8: .4byte sPSSData -_080911AC: .4byte 0x00000a68 - thumb_func_end sub_8091184 - - thumb_func_start sub_80911B0 -sub_80911B0: @ 80911B0 - ldr r1, _080911D0 @ =sPSSData - ldr r1, [r1] - movs r2, 0xCB - lsls r2, 4 - adds r1, r2 - ldr r2, [r1] - ldrh r2, [r2, 0x20] - strh r2, [r0, 0x20] - ldr r2, [r1] - ldrh r1, [r2, 0x26] - ldrh r2, [r2, 0x22] - adds r1, r2 - adds r1, 0x4 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_080911D0: .4byte sPSSData - thumb_func_end sub_80911B0 - - thumb_func_start sub_80911D4 -sub_80911D4: @ 80911D4 - push {r4-r6,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r4, 0 - ldr r1, _0809123C @ =sPSSData - ldr r0, [r1] - ldr r2, _08091240 @ =0x00000b54 - adds r0, r2 - ldrh r0, [r0] - adds r2, r1, 0 - cmp r0, r3 - beq _08091208 - adds r6, r2, 0 - ldr r5, _08091240 @ =0x00000b54 -_080911F0: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x27 - bhi _08091208 - ldr r0, [r6] - lsls r1, r4, 1 - adds r0, r5 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r3 - bne _080911F0 -_08091208: - cmp r4, 0x28 - bne _08091248 - movs r4, 0 - ldr r0, [r2] - ldr r5, _08091240 @ =0x00000b54 - adds r0, r5 - ldrh r0, [r0] - cmp r0, 0 - beq _08091234 - adds r6, r2, 0 -_0809121C: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x27 - bhi _08091234 - ldr r0, [r6] - lsls r1, r4, 1 - adds r0, r5 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _0809121C -_08091234: - cmp r4, 0x28 - bne _08091248 - ldr r0, _08091244 @ =0x0000ffff - b _0809127A - .align 2, 0 -_0809123C: .4byte sPSSData -_08091240: .4byte 0x00000b54 -_08091244: .4byte 0x0000ffff -_08091248: - ldr r1, [r2] - lsls r2, r4, 1 - ldr r5, _08091280 @ =0x00000b54 - adds r0, r1, r5 - adds r0, r2 - strh r3, [r0] - ldr r0, _08091284 @ =0x00000b04 - adds r1, r0 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r4, 20 - lsrs r4, 16 - adds r0, r3, 0 - movs r1, 0x1 - bl GetMonIconTiles - lsls r1, r4, 5 - ldr r2, _08091288 @ =0x06010000 - adds r1, r2 - ldr r2, _0809128C @ =0x04000080 - bl CpuSet - adds r0, r4, 0 -_0809127A: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08091280: .4byte 0x00000b54 -_08091284: .4byte 0x00000b04 -_08091288: .4byte 0x06010000 -_0809128C: .4byte 0x04000080 - thumb_func_end sub_80911D4 - - thumb_func_start sub_8091290 -sub_8091290: @ 8091290 - push {r4-r6,lr} - lsls r0, 16 - lsrs r5, r0, 16 - movs r3, 0 - ldr r6, _080912C4 @ =sPSSData -_0809129A: - ldr r1, [r6] - lsls r2, r3, 1 - ldr r4, _080912C8 @ =0x00000b54 - adds r0, r1, r4 - adds r4, r0, r2 - ldrh r0, [r4] - cmp r0, r5 - bne _080912D0 - ldr r0, _080912CC @ =0x00000b04 - adds r1, r0 - adds r1, r2 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _080912DA - strh r0, [r4] - b _080912DA - .align 2, 0 -_080912C4: .4byte sPSSData -_080912C8: .4byte 0x00000b54 -_080912CC: .4byte 0x00000b04 -_080912D0: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x27 - bls _0809129A -_080912DA: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8091290 - - thumb_func_start sub_80912E0 -sub_80912E0: @ 80912E0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r4, [sp, 0x3C] - ldr r5, [sp, 0x40] - lsls r0, 16 - lsrs r6, r0, 16 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x18] - lsls r3, 16 - lsrs r3, 16 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r9, r5 - mov r2, sp - ldr r0, _08091390 @ =gUnknown_83CEBF0 - ldm r0!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldm r0!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - adds r0, r6, 0 - bl GetIconSpecies - mov r10, r0 - mov r6, r10 - mov r2, sp - ldr r1, _08091394 @ =gMonIconPaletteIndices - adds r1, r6, r1 - ldr r3, _08091398 @ =0x0000dac0 - adds r0, r3, 0 - ldrb r1, [r1] - adds r0, r1 - strh r0, [r2, 0x2] - adds r0, r6, 0 - bl sub_80911D4 - lsls r0, 16 - lsrs r0, 16 - adds r5, r0, 0 - ldr r0, _0809139C @ =0x0000ffff - cmp r5, r0 - beq _080913B2 - ldr r7, [sp, 0x18] - lsls r1, r7, 16 - asrs r1, 16 - mov r0, r8 - lsls r2, r0, 16 - asrs r2, 16 - mov r0, sp - mov r3, r9 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080913AC - ldr r1, _080913A0 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldr r2, _080913A4 @ =0x000003ff - ands r2, r5 - ldrh r3, [r0, 0x4] - ldr r1, _080913A8 @ =0xfffffc00 - ands r1, r3 - orrs r1, r2 - strh r1, [r0, 0x4] - movs r1, 0x3 - ands r4, r1 - lsls r3, r4, 2 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, 0x5] - mov r1, r10 - strh r1, [r0, 0x2E] - b _080913B4 - .align 2, 0 -_08091390: .4byte gUnknown_83CEBF0 -_08091394: .4byte gMonIconPaletteIndices -_08091398: .4byte 0x0000dac0 -_0809139C: .4byte 0x0000ffff -_080913A0: .4byte gSprites -_080913A4: .4byte 0x000003ff -_080913A8: .4byte 0xfffffc00 -_080913AC: - adds r0, r6, 0 - bl sub_8091290 -_080913B2: - movs r0, 0 -_080913B4: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80912E0 - - thumb_func_start sub_80913C4 -sub_80913C4: @ 80913C4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - bl sub_8091290 - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80913C4 - - thumb_func_start sub_80913DC -sub_80913DC: @ 80913DC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08091404 @ =sub_8091420 - movs r1, 0x2 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08091408 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xC] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08091404: .4byte sub_8091420 -_08091408: .4byte gTasks - thumb_func_end sub_80913DC - - thumb_func_start sub_809140C -sub_809140C: @ 809140C - push {lr} - ldr r0, _0809141C @ =sub_8091420 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0809141C: .4byte sub_8091420 - thumb_func_end sub_809140C - - thumb_func_start sub_8091420 -sub_8091420: @ 8091420 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _08091444 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bhi _08091504 - lsls r0, 2 - ldr r1, _08091448 @ =_0809144C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08091444: .4byte gTasks -_08091448: .4byte _0809144C - .align 2, 0 -_0809144C: - .4byte _08091460 - .4byte _08091498 - .4byte _080914CC - .4byte _080914D6 - .4byte _080914FC -_08091460: - ldr r1, _0809148C @ =sPSSData - ldr r0, [r1] - ldr r2, _08091490 @ =0x000002d2 - adds r0, r2 - movs r2, 0 - strb r2, [r0] - ldr r1, [r1] - movs r3, 0xB3 - lsls r3, 2 - adds r0, r1, r3 - strh r2, [r0] - ldr r0, _08091494 @ =0x00004abc - adds r1, r0 - movs r2, 0x80 - lsls r2, 5 - movs r0, 0 - movs r3, 0x1 - bl RequestDma3Fill - strh r0, [r4, 0xA] - b _08091508 - .align 2, 0 -_0809148C: .4byte sPSSData -_08091490: .4byte 0x000002d2 -_08091494: .4byte 0x00004abc -_08091498: - movs r1, 0xA - ldrsh r0, [r4, r1] - bl CheckForSpaceForDma3Request - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _0809150E - ldr r0, _080914C4 @ =sPSSData - ldr r1, [r0] - ldr r2, _080914C8 @ =0x00004abc - adds r1, r2 - movs r0, 0x2 - bl SetBgTilemapBuffer - movs r0, 0x2 - bl ShowBg - b _08091508 - .align 2, 0 -_080914C4: .4byte sPSSData -_080914C8: .4byte 0x00004abc -_080914CC: - ldrb r0, [r4, 0xC] - movs r1, 0 - bl sub_8091850 - b _08091508 -_080914D6: - bl sub_809196C - cmp r0, 0 - beq _0809150E - ldrb r0, [r4, 0xC] - bl sub_8091A94 - bl sub_8091F80 - ldrb r0, [r4, 0xC] - bl sub_80900D4 - ldr r1, _080914F8 @ =0x00005b0a - movs r0, 0xC - bl SetGpuReg - b _08091508 - .align 2, 0 -_080914F8: .4byte 0x00005b0a -_080914FC: - adds r0, r2, 0 - bl DestroyTask - b _08091508 -_08091504: - movs r0, 0 - b _0809150C -_08091508: - ldrh r0, [r4, 0x8] - adds r0, 0x1 -_0809150C: - strh r0, [r4, 0x8] -_0809150E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8091420 - - thumb_func_start sub_8091514 -sub_8091514: @ 8091514 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r4 - adds r0, r4, 0 - bl sub_80916F4 - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r5, _080915D8 @ =sPSSData - ldr r2, [r5] - lsls r0, r6, 24 - asrs r3, r0, 24 - movs r0, 0x6 - negs r0, r0 - adds r1, r0, 0 - cmp r3, 0 - ble _08091540 - movs r1, 0x6 -_08091540: - ldr r7, _080915DC @ =0x000002ce - adds r0, r2, r7 - strh r1, [r0] - movs r1, 0x2 - cmp r3, 0 - ble _0809154E - movs r1, 0x1 -_0809154E: - ldr r7, _080915E0 @ =0x000002d3 - adds r0, r2, r7 - strb r1, [r0] - ldr r2, [r5] - movs r0, 0xB4 - lsls r0, 2 - adds r1, r2, r0 - movs r0, 0x20 - strh r0, [r1] - movs r1, 0xB5 - lsls r1, 2 - adds r0, r2, r1 - strb r4, [r0] - ldr r2, [r5] - movs r1, 0 - cmp r3, 0 - bgt _08091572 - movs r1, 0x5 -_08091572: - ldr r4, _080915E4 @ =0x000002d6 - adds r0, r2, r4 - strh r1, [r0] - movs r7, 0xB6 - lsls r7, 2 - adds r0, r2, r7 - strh r3, [r0] - movs r1, 0x38 - cmp r3, 0 - ble _0809158C - movs r0, 0x84 - lsls r0, 1 - adds r1, r0, 0 -_0809158C: - ldr r4, _080915E8 @ =0x000002da - adds r0, r2, r4 - strh r1, [r0] - movs r1, 0 - cmp r3, 0 - bgt _0809159A - movs r1, 0x5 -_0809159A: - movs r7, 0xB7 - lsls r7, 2 - adds r0, r2, r7 - strh r1, [r0] - ldr r0, _080915EC @ =0x000002de - adds r1, r2, r0 - movs r0, 0 - strh r0, [r1] - movs r3, 0xB8 - lsls r3, 2 - adds r1, r2, r3 - movs r0, 0x2 - strh r0, [r1] - ldr r4, _080915F0 @ =0x00000a64 - adds r0, r2, r4 - mov r7, r8 - strb r7, [r0] - ldr r0, [r5] - ldr r1, _080915F4 @ =0x00000a65 - adds r0, r1 - strb r6, [r0] - ldr r0, [r5] - ldr r3, _080915F8 @ =0x00000a63 - adds r0, r3 - movs r1, 0 - strb r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080915D8: .4byte sPSSData -_080915DC: .4byte 0x000002ce -_080915E0: .4byte 0x000002d3 -_080915E4: .4byte 0x000002d6 -_080915E8: .4byte 0x000002da -_080915EC: .4byte 0x000002de -_080915F0: .4byte 0x00000a64 -_080915F4: .4byte 0x00000a65 -_080915F8: .4byte 0x00000a63 - thumb_func_end sub_8091514 - - thumb_func_start sub_80915FC -sub_80915FC: @ 80915FC - push {r4-r6,lr} - ldr r4, _08091618 @ =sPSSData - ldr r1, [r4] - ldr r5, _0809161C @ =0x00000a63 - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08091644 - cmp r0, 0x1 - bgt _08091620 - cmp r0, 0 - beq _08091626 - b _080916D4 - .align 2, 0 -_08091618: .4byte sPSSData -_0809161C: .4byte 0x00000a63 -_08091620: - cmp r0, 0x2 - beq _08091694 - b _080916D4 -_08091626: - ldr r2, _08091688 @ =0x00000a64 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - bl sub_8091850 - ldr r1, [r4] - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08091644: - bl sub_809196C - cmp r0, 0 - beq _080916E2 - ldr r6, _0809168C @ =sPSSData - ldr r1, [r6] - ldr r4, _08091688 @ =0x00000a64 - adds r0, r1, r4 - ldrb r0, [r0] - ldr r5, _08091690 @ =0x00000a65 - adds r1, r5 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - bl sub_8090574 - ldr r1, [r6] - adds r4, r1, r4 - ldrb r0, [r4] - adds r1, r5 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - bl sub_8091C48 - ldr r0, [r6] - adds r0, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_809200C - b _080916D4 - .align 2, 0 -_08091688: .4byte 0x00000a64 -_0809168C: .4byte sPSSData -_08091690: .4byte 0x00000a65 -_08091694: - bl sub_809062C - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, [r4] - movs r4, 0xB4 - lsls r4, 2 - adds r3, r2, r4 - ldrh r0, [r3] - cmp r0, 0 - beq _080916D0 - movs r0, 0xB3 - lsls r0, 2 - adds r1, r2, r0 - subs r4, 0x2 - adds r0, r2, r4 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - ldrh r0, [r3] - subs r0, 0x1 - strh r0, [r3] - lsls r0, 16 - cmp r0, 0 - bne _080916E2 - bl sub_8091E34 - bl sub_80920AC -_080916D0: - adds r0, r5, 0 - b _080916E4 -_080916D4: - ldr r0, _080916EC @ =sPSSData - ldr r1, [r0] - ldr r4, _080916F0 @ =0x00000a63 - adds r1, r4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080916E2: - movs r0, 0x1 -_080916E4: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080916EC: .4byte sPSSData -_080916F0: .4byte 0x00000a63 - thumb_func_end sub_80915FC - - thumb_func_start sub_80916F4 -sub_80916F4: @ 80916F4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0 - cmp r1, r4 - beq _0809171E -_08091708: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xD - bls _08091714 - movs r1, 0 -_08091714: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r1, r4 - bne _08091708 -_0809171E: - movs r0, 0x1 - negs r0, r0 - cmp r2, 0x6 - bhi _08091728 - movs r0, 0x1 -_08091728: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80916F4 - - thumb_func_start sub_8091730 -sub_8091730: @ 8091730 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_808BDBC - ldr r0, _08091758 @ =sPSSData - ldr r0, [r0] - ldr r1, _0809175C @ =0x00000a62 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08091758: .4byte sPSSData -_0809175C: .4byte 0x00000a62 - thumb_func_end sub_8091730 - - thumb_func_start sub_8091760 -sub_8091760: @ 8091760 - push {r4,lr} - sub sp, 0x4 - ldr r1, _08091780 @ =sPSSData - ldr r0, [r1] - ldr r2, _08091784 @ =0x00000a62 - adds r0, r2 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _08091844 - lsls r0, 2 - ldr r1, _08091788 @ =_0809178C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08091780: .4byte sPSSData -_08091784: .4byte 0x00000a62 -_08091788: .4byte _0809178C - .align 2, 0 -_0809178C: - .4byte _080917A0 - .4byte _080917C8 - .4byte _080917E2 - .4byte _0809181C - .4byte _08091840 -_080917A0: - ldr r0, [r4] - movs r1, 0xE7 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080917C0 @ =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - ldr r2, _080917C4 @ =0x00000a62 - adds r1, r2 - b _0809182E - .align 2, 0 -_080917C0: .4byte 0x0000ffff -_080917C4: .4byte 0x00000a62 -_080917C8: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _08091844 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8091850 - b _08091826 -_080917E2: - bl sub_809196C - cmp r0, 0x1 - bne _08091844 - bl sub_8091EF0 - ldr r4, _08091810 @ =sPSSData - ldr r0, [r4] - movs r1, 0xE7 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08091814 @ =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r4] - ldr r2, _08091818 @ =0x00000a62 - adds r1, r2 - b _0809182E - .align 2, 0 -_08091810: .4byte sPSSData -_08091814: .4byte 0x0000ffff -_08091818: .4byte 0x00000a62 -_0809181C: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _08091844 -_08091826: - ldr r0, _08091838 @ =sPSSData - ldr r1, [r0] - ldr r0, _0809183C @ =0x00000a62 - adds r1, r0 -_0809182E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08091844 - .align 2, 0 -_08091838: .4byte sPSSData -_0809183C: .4byte 0x00000a62 -_08091840: - movs r0, 0 - b _08091846 -_08091844: - movs r0, 0x1 -_08091846: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8091760 - - thumb_func_start sub_8091850 -sub_8091850: @ 8091850 - push {r4-r7,lr} - sub sp, 0x4 - ldr r4, _08091904 @ =sPSSData - ldr r2, [r4] - ldr r3, _08091908 @ =0x000006f9 - adds r2, r3 - movs r3, 0 - strb r3, [r2] - ldr r2, [r4] - ldr r3, _0809190C @ =0x000006fa - adds r2, r3 - strb r0, [r2] - ldr r0, [r4] - ldr r2, _08091910 @ =0x000006fb - adds r0, r2 - strb r1, [r0] - ldr r1, [r4] - adds r2, r1, r2 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0 - beq _08091896 - movs r3, 0 - ldr r0, _08091914 @ =0x000002d2 - adds r2, r1, r0 - ldrb r0, [r2] - cmp r0, 0 - bne _0809188A - movs r3, 0x1 -_0809188A: - strb r3, [r2] - ldr r0, [r4] - ldr r1, _08091918 @ =0x00004abc - adds r0, r1 - bl sub_8091A24 -_08091896: - ldr r6, _08091904 @ =sPSSData - ldr r0, [r6] - ldr r2, _0809190C @ =0x000006fa - adds r0, r2 - ldrb r0, [r0] - bl sub_808BD94 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - ldr r0, _0809191C @ =gUnknown_83D2A10 - adds r7, r1, r0 - ldr r0, [r7, 0x4] - ldr r1, [r6] - ldr r5, _08091920 @ =0x00000792 - adds r1, r5 - bl LZ77UnCompWram - ldr r1, [r6] - ldr r3, _08091918 @ =0x00004abc - adds r0, r1, r3 - adds r5, r1, r5 - ldr r4, _08091910 @ =0x000006fb - adds r2, r1, r4 - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - ldr r3, _08091914 @ =0x000002d2 - adds r1, r3 - ldrb r3, [r1] - adds r1, r5, 0 - bl sub_8091984 - ldr r1, [r6] - adds r4, r1, r4 - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - beq _08091924 - ldr r0, [r7, 0x8] - ldr r2, _08091914 @ =0x000002d2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 21 - movs r3, 0x80 - lsls r3, 15 - adds r1, r3 - lsrs r1, 16 - movs r2, 0x40 - bl LoadPalette - b _08091938 - .align 2, 0 -_08091904: .4byte sPSSData -_08091908: .4byte 0x000006f9 -_0809190C: .4byte 0x000006fa -_08091910: .4byte 0x000006fb -_08091914: .4byte 0x000002d2 -_08091918: .4byte 0x00004abc -_0809191C: .4byte gUnknown_83D2A10 -_08091920: .4byte 0x00000792 -_08091924: - ldr r0, [r7, 0x8] - ldr r2, _08091960 @ =0x000002d2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 6 - ldr r2, _08091964 @ =gPlttBufferUnfaded + 0x80 - adds r1, r2 - movs r2, 0x20 - bl CpuSet -_08091938: - ldr r1, [r7] - ldr r0, _08091968 @ =sPSSData - ldr r0, [r0] - ldr r3, _08091960 @ =0x000002d2 - adds r0, r3 - ldrb r3, [r0] - lsls r3, 8 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - bl DecompressAndLoadBgGfxUsingHeap - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08091960: .4byte 0x000002d2 -_08091964: .4byte gPlttBufferUnfaded + 0x80 -_08091968: .4byte sPSSData - thumb_func_end sub_8091850 - - thumb_func_start sub_809196C -sub_809196C: @ 809196C - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0809197E - movs r0, 0x1 - b _08091980 -_0809197E: - movs r0, 0 -_08091980: - pop {r1} - bx r1 - thumb_func_end sub_809196C - - thumb_func_start sub_8091984 -sub_8091984: @ 8091984 - push {r4-r7,lr} - sub sp, 0x24 - lsls r3, 24 - lsrs r3, 24 - lsls r5, r3, 17 - ldr r0, _080919F0 @ =sPSSData - ldr r0, [r0] - movs r4, 0xB3 - lsls r4, 2 - adds r0, r4 - ldrh r4, [r0] - lsrs r4, 3 - adds r4, 0xA - lsls r2, 24 - asrs r7, r2, 24 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 3 - adds r6, r4, r0 - movs r0, 0x3F - ands r6, r0 - movs r4, 0x14 - str r4, [sp] - movs r2, 0x12 - str r2, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - str r4, [sp, 0x10] - str r2, [sp, 0x14] - movs r0, 0x11 - str r0, [sp, 0x18] - lsls r3, 24 - asrs r3, 16 - str r3, [sp, 0x1C] - movs r0, 0xC0 - lsls r0, 10 - adds r5, r0 - asrs r5, 16 - str r5, [sp, 0x20] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyRectToBgTilemapBufferRect - cmp r7, 0 - beq _08091A16 - cmp r7, 0 - ble _080919F4 - lsls r0, r6, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - b _080919FA - .align 2, 0 -_080919F0: .4byte sPSSData -_080919F4: - lsls r0, r6, 16 - ldr r4, _08091A20 @ =0xfffc0000 - adds r0, r4 -_080919FA: - lsrs r6, r0, 16 - lsls r2, r6, 24 - lsrs r2, 24 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x12 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - movs r3, 0x2 - bl FillBgTilemapBufferRect -_08091A16: - add sp, 0x24 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08091A20: .4byte 0xfffc0000 - thumb_func_end sub_8091984 - - thumb_func_start sub_8091A24 -sub_8091A24: @ 8091A24 - push {r4-r6,lr} - adds r2, r0, 0 - ldr r0, _08091A50 @ =sPSSData - ldr r0, [r0] - movs r1, 0xB3 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 3 - adds r3, r0, 0 - adds r3, 0x1E - movs r0, 0x3F - ands r3, r0 - adds r0, r3, 0 - cmp r0, 0x1F - bgt _08091A54 - lsls r0, 1 - movs r6, 0x98 - lsls r6, 3 - adds r0, r6 - b _08091A5C - .align 2, 0 -_08091A50: .4byte sPSSData -_08091A54: - lsls r0, 1 - movs r1, 0xC8 - lsls r1, 4 - adds r0, r1 -_08091A5C: - adds r2, r0 - movs r0, 0 - movs r5, 0 - movs r4, 0x3F -_08091A64: - strh r5, [r2] - adds r2, 0x2 - adds r3, 0x1 - ands r3, r4 - adds r1, r3, 0 - cmp r1, 0 - bne _08091A76 - ldr r6, _08091A90 @ =0xfffff7c0 - adds r2, r6 -_08091A76: - cmp r1, 0x20 - bne _08091A80 - movs r1, 0xF8 - lsls r1, 3 - adds r2, r1 -_08091A80: - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2B - bls _08091A64 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08091A90: .4byte 0xfffff7c0 - thumb_func_end sub_8091A24 - - thumb_func_start sub_8091A94 -sub_8091A94: @ 8091A94 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - mov r8, r0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _08091C1C @ =sPSSData - mov r10, r1 - ldr r1, [r1] - movs r2, 0xBE - lsls r2, 2 - adds r0, r1, r2 - str r0, [sp, 0x28] - mov r3, sp - adds r3, 0x28 - str r3, [sp, 0x30] - ldr r0, _08091C20 @ =0x00030200 - str r0, [r3, 0x4] - ldr r4, _08091C24 @ =0x000006fc - adds r1, r4 - str r1, [sp, 0x18] - add r0, sp, 0x1C - ldr r7, _08091C28 @ =0x0000dac9 - strh r7, [r0] - add r0, sp, 0x20 - movs r1, 0 - movs r2, 0x8 - bl memset - add r1, sp, 0x18 - add r0, sp, 0x8 - movs r2, 0x10 - bl memcpy - mov r0, r8 - bl sub_808BD94 - lsls r0, 24 - mov r5, r10 - ldr r4, [r5] - ldr r2, _08091C2C @ =gUnknown_83D29D0 - lsrs r0, 22 - adds r1, r0, r2 - ldrh r3, [r1] - movs r5, 0xE3 - lsls r5, 3 - adds r1, r4, r5 - strh r3, [r1] - adds r2, 0x2 - adds r0, r2 - ldrh r0, [r0] - ldr r1, _08091C30 @ =0x0000071a - adds r4, r1 - strh r0, [r4] - add r0, sp, 0x8 - bl LoadSpritePalettes - mov r2, r10 - ldr r0, [r2] - movs r6, 0xE7 - lsls r6, 3 - adds r0, r6 - movs r1, 0xFC - lsls r1, 2 - str r1, [r0] - adds r0, r7, 0 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - mov r4, r10 - ldr r3, [r4] - lsls r1, r0, 4 - movs r5, 0x87 - lsls r5, 1 - mov r9, r5 - add r1, r9 - ldr r4, _08091C34 @ =0x0000071c - adds r2, r3, r4 - strh r1, [r2] - adds r3, r6 - movs r5, 0x80 - lsls r5, 9 - adds r1, r5, 0 - lsls r1, r0 - ldr r0, [r3] - orrs r0, r1 - str r0, [r3] - adds r0, r7, 0 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - mov r1, r10 - ldr r4, [r1] - lsls r1, r0, 4 - add r1, r9 - ldr r3, _08091C38 @ =0x0000071e - adds r2, r4, r3 - strh r1, [r2] - adds r6, r4, r6 - lsls r5, r0 - ldr r0, [r6] - orrs r0, r5 - str r0, [r6] - ldr r5, _08091C3C @ =0x000021a8 - adds r4, r5 - mov r0, r8 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x8 - bl StringCopyPadded - mov r4, r10 - ldr r0, [r4] - adds r5, r0, r5 - movs r2, 0xBE - lsls r2, 2 - adds r1, r0, r2 - movs r3, 0x9F - lsls r3, 3 - adds r0, r3 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0 - bl PSS_RenderTextToVramViaBuffer - ldr r0, [sp, 0x30] - bl LoadSpriteSheet - mov r0, r8 - bl GetBoxNamePtr - bl sub_8091F60 - movs r4, 0 - lsls r0, 16 - asrs r6, r0, 16 -_08091BBC: - lsls r1, r4, 5 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - ldr r0, _08091C40 @ =gUnknown_83D2B7C - movs r2, 0x1C - movs r3, 0x18 - bl CreateSprite - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r5, _08091C1C @ =sPSSData - ldr r2, [r5] - lsls r0, r4, 2 - movs r3, 0xE4 - lsls r3, 3 - adds r2, r3 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08091C44 @ =gSprites - adds r0, r1 - str r0, [r2] - lsls r1, r4, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _08091BBC - ldr r0, [r5] - movs r4, 0xDF - lsls r4, 3 - adds r0, r4 - movs r1, 0 - strb r1, [r0] - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08091C1C: .4byte sPSSData -_08091C20: .4byte 0x00030200 -_08091C24: .4byte 0x000006fc -_08091C28: .4byte 0x0000dac9 -_08091C2C: .4byte gUnknown_83D29D0 -_08091C30: .4byte 0x0000071a -_08091C34: .4byte 0x0000071c -_08091C38: .4byte 0x0000071e -_08091C3C: .4byte 0x000021a8 -_08091C40: .4byte gUnknown_83D2B7C -_08091C44: .4byte gSprites - thumb_func_end sub_8091A94 - - thumb_func_start sub_8091C48 -sub_8091C48: @ 8091C48 - 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 - str r0, [sp, 0x2C] - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - ldr r4, _08091CC4 @ =sPSSData - ldr r2, [r4] - movs r1, 0xBE - lsls r1, 2 - adds r0, r2, r1 - str r0, [sp, 0x20] - add r3, sp, 0x20 - ldr r5, _08091CC8 @ =0x0000ffff - mov r12, r5 - movs r6, 0xC0 - lsls r6, 10 - mov r9, r6 - ldr r0, _08091CCC @ =0x00030200 - str r0, [r3, 0x4] - add r1, sp, 0x8 - ldr r0, _08091CD0 @ =gUnknown_83D2B7C - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - movs r1, 0 - movs r5, 0xDF - lsls r5, 3 - adds r2, r5 - ldrb r0, [r2] - mov r8, r4 - adds r6, r3, 0 - cmp r0, 0 - bne _08091C9C - movs r1, 0x1 -_08091C9C: - strb r1, [r2] - mov r7, r8 - ldr r0, [r7] - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _08091CD8 - ldr r0, [r6, 0x4] - mov r1, r12 - ands r0, r1 - mov r2, r9 - orrs r0, r2 - str r0, [r6, 0x4] - ldr r0, [r7] - ldr r3, _08091CD4 @ =0x0000071c - adds r0, r3 - ldrh r0, [r0] - mov r9, r0 - b _08091CFC - .align 2, 0 -_08091CC4: .4byte sPSSData -_08091CC8: .4byte 0x0000ffff -_08091CCC: .4byte 0x00030200 -_08091CD0: .4byte gUnknown_83D2B7C -_08091CD4: .4byte 0x0000071c -_08091CD8: - ldr r0, [r6, 0x4] - mov r5, r12 - ands r0, r5 - movs r1, 0x80 - lsls r1, 11 - orrs r0, r1 - str r0, [r6, 0x4] - mov r7, r8 - ldr r0, [r7] - ldr r1, _08091E18 @ =0x0000071c - adds r0, r1 - ldrh r0, [r0] - mov r9, r0 - add r1, sp, 0x8 - movs r0, 0x4 - strh r0, [r1] - ldr r0, _08091E1C @ =0x0000dac9 - strh r0, [r1, 0x2] -_08091CFC: - mov r2, r8 - ldr r4, [r2] - ldr r5, _08091E20 @ =0x000021a8 - adds r4, r5 - ldr r0, [sp, 0x2C] - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x8 - bl StringCopyPadded - mov r3, r8 - ldr r0, [r3] - adds r5, r0, r5 - movs r7, 0xBE - lsls r7, 2 - adds r1, r0, r7 - movs r2, 0x9F - lsls r2, 3 - adds r0, r2 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0 - bl PSS_RenderTextToVramViaBuffer - adds r0, r6, 0 - bl LoadSpriteSheet - ldr r0, [sp, 0x2C] - bl sub_808BD94 - lsls r0, 24 - lsrs r0, 22 - ldr r1, _08091E24 @ =gUnknown_83D29D0 - adds r0, r1 - mov r1, r9 - movs r2, 0x4 - bl LoadPalette - ldr r0, [sp, 0x2C] - bl GetBoxNamePtr - bl sub_8091F60 - lsls r0, 16 - mov r3, r10 - lsls r2, r3, 24 - asrs r2, 24 - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 6 - lsrs r5, r0, 16 - str r5, [sp, 0x28] - asrs r0, 16 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - movs r7, 0 - mov r9, r8 - negs r2, r2 - mov r8, r2 -_08091D82: - lsls r6, r7, 5 - mov r0, r10 - lsls r1, r0, 16 - asrs r1, 16 - adds r1, r6 - lsls r1, 16 - asrs r1, 16 - add r0, sp, 0x8 - movs r2, 0x1C - movs r3, 0x18 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r1, r9 - ldr r2, [r1] - lsls r5, r7, 2 - movs r3, 0xE5 - lsls r3, 3 - adds r2, r3 - adds r2, r5 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08091E28 @ =gSprites - adds r1, r0 - str r1, [r2] - mov r0, r8 - lsls r4, r0, 1 - add r4, r8 - lsls r4, 1 - strh r4, [r1, 0x2E] - ldr r1, [r2] - ldr r3, [sp, 0x28] - lsls r0, r3, 16 - asrs r0, 16 - adds r0, r6 - strh r0, [r1, 0x30] - ldr r0, [r2] - movs r6, 0 - strh r6, [r0, 0x32] - ldr r0, [r2] - ldr r1, _08091E2C @ =sub_8091E84 - str r1, [r0, 0x1C] - lsls r1, r7, 24 - lsrs r1, 24 - bl StartSpriteAnim - mov r1, r9 - ldr r0, [r1] - movs r2, 0xE4 - lsls r2, 3 - adds r0, r2 - adds r0, r5 - ldr r1, [r0] - strh r4, [r1, 0x2E] - ldr r2, [r0] - movs r1, 0x1 - strh r1, [r2, 0x30] - ldr r1, [r0] - ldr r0, _08091E30 @ =sub_8091EB8 - str r0, [r1, 0x1C] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x1 - bls _08091D82 - 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 -_08091E18: .4byte 0x0000071c -_08091E1C: .4byte 0x0000dac9 -_08091E20: .4byte 0x000021a8 -_08091E24: .4byte gUnknown_83D29D0 -_08091E28: .4byte gSprites -_08091E2C: .4byte sub_8091E84 -_08091E30: .4byte sub_8091EB8 - thumb_func_end sub_8091C48 - - thumb_func_start sub_8091E34 -sub_8091E34: @ 8091E34 - push {lr} - ldr r0, _08091E50 @ =sPSSData - ldr r0, [r0] - movs r1, 0xDF - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08091E54 - movs r0, 0x4 - bl FreeSpriteTilesByTag - b _08091E5A - .align 2, 0 -_08091E50: .4byte sPSSData -_08091E54: - movs r0, 0x3 - bl FreeSpriteTilesByTag -_08091E5A: - ldr r0, _08091E7C @ =sPSSData - ldr r0, [r0] - movs r3, 0xE4 - lsls r3, 3 - adds r2, r0, r3 - adds r3, 0x8 - adds r1, r0, r3 - ldr r1, [r1] - str r1, [r2] - ldr r2, _08091E80 @ =0x00000724 - adds r1, r0, r2 - adds r3, 0x4 - adds r0, r3 - ldr r0, [r0] - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08091E7C: .4byte sPSSData -_08091E80: .4byte 0x00000724 - thumb_func_end sub_8091E34 - - thumb_func_start sub_8091E84 -sub_8091E84: @ 8091E84 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x32] - movs r3, 0x32 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08091E98 - subs r0, r1, 0x1 - strh r0, [r2, 0x32] - b _08091EB0 -_08091E98: - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x30 - ldrsh r1, [r2, r3] - cmp r0, r1 - bne _08091EB0 - ldr r0, _08091EB4 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_08091EB0: - pop {r0} - bx r0 - .align 2, 0 -_08091EB4: .4byte SpriteCallbackDummy - thumb_func_end sub_8091E84 - - thumb_func_start sub_8091EB8 -sub_8091EB8: @ 8091EB8 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x30] - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08091ECC - subs r0, r1, 0x1 - strh r0, [r2, 0x30] - b _08091EEA -_08091ECC: - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x32] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC0 - bls _08091EEA - adds r0, r2, 0 - bl DestroySprite -_08091EEA: - pop {r0} - bx r0 - thumb_func_end sub_8091EB8 - - thumb_func_start sub_8091EF0 -sub_8091EF0: @ 8091EF0 - push {lr} - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - bl sub_808BD94 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _08091F2C @ =sPSSData - ldr r2, [r0] - movs r3, 0xDF - lsls r3, 3 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _08091F38 - lsls r0, r1, 2 - ldr r1, _08091F30 @ =gUnknown_83D29D0 - adds r0, r1 - adds r3, 0x24 - adds r1, r2, r3 - ldrh r1, [r1] - lsls r1, 1 - ldr r2, _08091F34 @ =gPlttBufferUnfaded - adds r1, r2 - movs r2, 0x2 - bl CpuSet - b _08091F50 - .align 2, 0 -_08091F2C: .4byte sPSSData -_08091F30: .4byte gUnknown_83D29D0 -_08091F34: .4byte gPlttBufferUnfaded -_08091F38: - lsls r0, r1, 2 - ldr r1, _08091F54 @ =gUnknown_83D29D0 - adds r0, r1 - ldr r3, _08091F58 @ =0x0000071e - adds r1, r2, r3 - ldrh r1, [r1] - lsls r1, 1 - ldr r2, _08091F5C @ =gPlttBufferUnfaded - adds r1, r2 - movs r2, 0x2 - bl CpuSet -_08091F50: - pop {r0} - bx r0 - .align 2, 0 -_08091F54: .4byte gUnknown_83D29D0 -_08091F58: .4byte 0x0000071e -_08091F5C: .4byte gPlttBufferUnfaded - thumb_func_end sub_8091EF0 - - thumb_func_start sub_8091F60 -sub_8091F60: @ 8091F60 - push {lr} - adds r1, r0, 0 - movs r0, 0x1 - movs r2, 0 - bl GetStringWidth - adds r1, r0, 0 - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - movs r0, 0xB0 - subs r0, r1 - lsls r0, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8091F60 - - thumb_func_start sub_8091F80 -sub_8091F80: @ 8091F80 - push {r4,r5,lr} - ldr r0, _08091FFC @ =gUnknown_83D2B54 - bl LoadSpriteSheet - movs r5, 0 -_08091F8A: - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 19 - movs r0, 0xB8 - lsls r0, 15 - adds r1, r0 - asrs r1, 16 - ldr r0, _08092000 @ =gUnknown_83D2BB4 - movs r2, 0x1C - movs r3, 0x16 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08091FDC - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08092004 @ =gSprites - adds r4, r0, r1 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - movs r0, 0x1 - cmp r5, 0 - bne _08091FCA - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 -_08091FCA: - strh r0, [r4, 0x34] - ldr r0, _08092008 @ =sPSSData - ldr r0, [r0] - lsls r1, r5, 2 - movs r2, 0xE6 - lsls r2, 3 - adds r0, r2 - adds r0, r1 - str r4, [r0] -_08091FDC: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _08091F8A - bl sub_80939AC - lsls r0, 24 - cmp r0, 0 - beq _08091FF6 - movs r0, 0x1 - bl sub_80920FC -_08091FF6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08091FFC: .4byte gUnknown_83D2B54 -_08092000: .4byte gUnknown_83D2BB4 -_08092004: .4byte gSprites -_08092008: .4byte sPSSData - thumb_func_end sub_8091F80 - - thumb_func_start sub_809200C -sub_809200C: @ 809200C - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r2, 0 - ldr r7, _08092060 @ =sPSSData - mov r12, r7 - movs r6, 0xE6 - lsls r6, 3 - movs r4, 0 - movs r3, 0x2 -_08092020: - mov r0, r12 - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r6 - adds r1, r0 - ldr r0, [r1] - strh r4, [r0, 0x24] - ldr r0, [r1] - strh r3, [r0, 0x2E] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1 - bls _08092020 - lsls r0, r5, 24 - cmp r0, 0 - bge _08092068 - ldr r1, [r7] - movs r2, 0xE6 - lsls r2, 3 - adds r3, r1, r2 - ldr r2, [r3] - movs r0, 0x1D - strh r0, [r2, 0x30] - ldr r0, _08092064 @ =0x00000734 - adds r1, r0 - ldr r2, [r1] - movs r0, 0x5 - strh r0, [r2, 0x30] - ldr r0, [r3] - movs r2, 0x48 - b _08092084 - .align 2, 0 -_08092060: .4byte sPSSData -_08092064: .4byte 0x00000734 -_08092068: - ldr r1, [r7] - movs r2, 0xE6 - lsls r2, 3 - adds r3, r1, r2 - ldr r2, [r3] - movs r0, 0x5 - strh r0, [r2, 0x30] - ldr r0, _080920A8 @ =0x00000734 - adds r1, r0 - ldr r2, [r1] - movs r0, 0x1D - strh r0, [r2, 0x30] - ldr r0, [r3] - movs r2, 0xF8 -_08092084: - strh r2, [r0, 0x32] - ldr r0, [r1] - strh r2, [r0, 0x32] - ldr r1, [r7] - movs r2, 0xE6 - lsls r2, 3 - adds r0, r1, r2 - ldr r2, [r0] - movs r0, 0 - strh r0, [r2, 0x3C] - ldr r0, _080920A8 @ =0x00000734 - adds r1, r0 - ldr r1, [r1] - movs r0, 0x1 - strh r0, [r1, 0x3C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080920A8: .4byte 0x00000734 - thumb_func_end sub_809200C - - thumb_func_start sub_80920AC -sub_80920AC: @ 80920AC - push {r4-r6,lr} - movs r3, 0 - movs r5, 0 - movs r6, 0x5 - negs r6, r6 - ldr r4, _080920F8 @ =sPSSData -_080920B8: - ldr r1, [r4] - lsls r0, r3, 2 - movs r2, 0xE6 - lsls r2, 3 - adds r1, r2 - adds r1, r0 - ldr r2, [r1] - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 3 - adds r0, 0x5C - strh r0, [r2, 0x20] - ldr r0, [r1] - strh r5, [r0, 0x24] - ldr r1, [r1] - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x1 - bls _080920B8 - movs r0, 0x1 - bl sub_80920FC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080920F8: .4byte sPSSData - thumb_func_end sub_80920AC - - thumb_func_start sub_80920FC -sub_80920FC: @ 80920FC - push {r4-r6,lr} - lsls r0, 24 - cmp r0, 0 - beq _08092138 - movs r2, 0 - ldr r6, _08092134 @ =sPSSData - movs r5, 0xE6 - lsls r5, 3 - movs r3, 0 - movs r4, 0x1 -_08092110: - ldr r1, [r6] - lsls r0, r2, 2 - adds r1, r5 - adds r1, r0 - ldr r0, [r1] - strh r4, [r0, 0x2E] - ldr r0, [r1] - strh r3, [r0, 0x30] - ldr r0, [r1] - strh r3, [r0, 0x32] - ldr r0, [r1] - strh r3, [r0, 0x36] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1 - bls _08092110 - b _08092158 - .align 2, 0 -_08092134: .4byte sPSSData -_08092138: - movs r2, 0 - ldr r5, _08092160 @ =sPSSData - movs r4, 0xE6 - lsls r4, 3 - movs r3, 0 -_08092142: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - ldr r0, [r0] - strh r3, [r0, 0x2E] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1 - bls _08092142 -_08092158: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08092160: .4byte sPSSData - thumb_func_end sub_80920FC - - thumb_func_start sub_8092164 -sub_8092164: @ 8092164 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x4 - bhi _08092230 - lsls r0, 2 - ldr r1, _0809217C @ =_08092180 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809217C: .4byte _08092180 - .align 2, 0 -_08092180: - .4byte _08092194 - .4byte _0809219A - .4byte _080921C8 - .4byte _080921CE - .4byte _08092220 -_08092194: - movs r0, 0 - strh r0, [r2, 0x24] - b _08092230 -_0809219A: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - movs r1, 0 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _08092230 - strh r1, [r2, 0x30] - ldrh r0, [r2, 0x34] - ldrh r3, [r2, 0x24] - adds r0, r3 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _08092230 - strh r1, [r2, 0x32] - strh r1, [r2, 0x24] - b _08092230 -_080921C8: - movs r0, 0x3 - strh r0, [r2, 0x2E] - b _08092230 -_080921CE: - ldr r0, _08092218 @ =sPSSData - ldr r1, [r0] - ldr r0, _0809221C @ =0x000002ce - adds r1, r0 - ldrh r0, [r2, 0x20] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2, 0x20] - subs r0, 0x49 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAE - bls _080921F4 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] -_080921F4: - ldrh r0, [r2, 0x30] - subs r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _08092230 - ldrh r0, [r2, 0x32] - strh r0, [r2, 0x20] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - movs r0, 0x4 - strh r0, [r2, 0x2E] - b _08092230 - .align 2, 0 -_08092218: .4byte sPSSData -_0809221C: .4byte 0x000002ce -_08092220: - ldr r0, _08092234 @ =sPSSData - ldr r0, [r0] - ldr r1, _08092238 @ =0x000002ce - adds r0, r1 - ldrh r1, [r2, 0x20] - ldrh r0, [r0] - subs r1, r0 - strh r1, [r2, 0x20] -_08092230: - pop {r0} - bx r0 - .align 2, 0 -_08092234: .4byte sPSSData -_08092238: .4byte 0x000002ce - thumb_func_end sub_8092164 - - thumb_func_start sub_809223C -sub_809223C: @ 809223C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r4, [sp, 0x18] - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080922A8 @ =gUnknown_83D2BB4 - lsls r5, 16 - asrs r5, 16 - lsls r6, 16 - asrs r6, 16 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080922B4 - movs r1, 0x1 - ands r1, r7 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r5, _080922AC @ =gSprites - adds r6, r4, r5 - adds r0, r6, 0 - bl StartSpriteAnim - movs r0, 0x3 - mov r1, r8 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r6, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x5] - adds r5, 0x1C - adds r4, r5 - ldr r0, _080922B0 @ =SpriteCallbackDummy - str r0, [r4] - adds r0, r6, 0 - b _080922B6 - .align 2, 0 -_080922A8: .4byte gUnknown_83D2BB4 -_080922AC: .4byte gSprites -_080922B0: .4byte SpriteCallbackDummy -_080922B4: - movs r0, 0 -_080922B6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809223C - - thumb_func_start sub_80922C0 -sub_80922C0: @ 80922C0 - push {lr} - ldr r0, _080922D4 @ =sPSSData - ldr r0, [r0] - ldrb r1, [r0, 0x1] - cmp r1, 0x1 - beq _080922DC - ldr r1, _080922D8 @ =sBoxCursorArea - movs r0, 0 - strb r0, [r1] - b _080922E0 - .align 2, 0 -_080922D4: .4byte sPSSData -_080922D8: .4byte sBoxCursorArea -_080922DC: - ldr r0, _0809231C @ =sBoxCursorArea - strb r1, [r0] -_080922E0: - ldr r0, _08092320 @ =sBoxCursorPosition - movs r1, 0 - strb r1, [r0] - ldr r0, _08092324 @ =sIsMonBeingMoved - strb r1, [r0] - ldr r0, _08092328 @ =sMovingMonOrigBoxId - strb r1, [r0] - ldr r0, _0809232C @ =sMovingMonOrigBoxPos - strb r1, [r0] - ldr r0, _08092330 @ =sCanOnlyMove - strb r1, [r0] - bl sub_8092B50 - bl sub_8094AD8 - ldr r2, _08092334 @ =sPSSData - ldr r0, [r2] - ldr r1, _08092338 @ =0x00000cd2 - adds r0, r1 - movs r3, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - ldr r1, _0809233C @ =0x000021ef - adds r0, r1 - strb r3, [r0] - bl sub_8093A10 - pop {r0} - bx r0 - .align 2, 0 -_0809231C: .4byte sBoxCursorArea -_08092320: .4byte sBoxCursorPosition -_08092324: .4byte sIsMonBeingMoved -_08092328: .4byte sMovingMonOrigBoxId -_0809232C: .4byte sMovingMonOrigBoxPos -_08092330: .4byte sCanOnlyMove -_08092334: .4byte sPSSData -_08092338: .4byte 0x00000cd2 -_0809233C: .4byte 0x000021ef - thumb_func_end sub_80922C0 - - thumb_func_start sub_8092340 -sub_8092340: @ 8092340 - push {lr} - bl sub_8094AD8 - bl sub_8093AAC - ldr r3, _08092380 @ =sPSSData - ldr r0, [r3] - ldr r1, _08092384 @ =0x00000cd2 - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r3] - ldr r1, _08092388 @ =0x000021ef - adds r0, r1 - strb r2, [r0] - ldr r0, _0809238C @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _0809237A - ldr r0, [r3] - ldr r1, _08092390 @ =0x000020a0 - adds r0, r1 - ldr r1, _08092394 @ =gUnknown_20397BC - movs r2, 0x64 - bl memcpy - bl sub_8090070 -_0809237A: - pop {r0} - bx r0 - .align 2, 0 -_08092380: .4byte sPSSData -_08092384: .4byte 0x00000cd2 -_08092388: .4byte 0x000021ef -_0809238C: .4byte sIsMonBeingMoved -_08092390: .4byte 0x000020a0 -_08092394: .4byte gUnknown_20397BC - thumb_func_end sub_8092340 - - thumb_func_start sub_8092398 -sub_8092398: @ 8092398 - push {r4-r6,lr} - adds r4, r2, 0 - adds r6, r3, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r0, 0x4 - bhi _08092450 - lsls r0, 2 - ldr r1, _080923B4 @ =_080923B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080923B4: .4byte _080923B8 - .align 2, 0 -_080923B8: - .4byte _080923CC - .4byte _080923FA - .4byte _08092422 - .4byte _0809242A - .4byte _08092448 -_080923CC: - adds r0, r5, 0 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, 0x64 - strh r1, [r4] - adds r0, r5, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, 0x20 - strh r1, [r6] - b _08092450 -_080923FA: - cmp r5, 0 - bne _08092406 - movs r0, 0x68 - strh r0, [r4] - movs r0, 0x34 - b _0809244E -_08092406: - cmp r5, 0x6 - bne _08092412 - movs r0, 0x98 - strh r0, [r4] - movs r0, 0x84 - b _0809244E -_08092412: - movs r0, 0x98 - strh r0, [r4] - subs r1, r5, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, 0x4 - b _0809244E -_08092422: - movs r0, 0xA2 - strh r0, [r4] - movs r0, 0xC - b _0809244E -_0809242A: - ldr r0, _08092444 @ =sIsMonBeingMoved - ldrb r0, [r0] - movs r1, 0xE - cmp r0, 0 - beq _08092436 - movs r1, 0x8 -_08092436: - strh r1, [r6] - movs r0, 0x58 - muls r0, r5 - adds r0, 0x78 - strh r0, [r4] - b _08092450 - .align 2, 0 -_08092444: .4byte sIsMonBeingMoved -_08092448: - movs r0, 0xA0 - strh r0, [r4] - movs r0, 0x60 -_0809244E: - strh r0, [r6] -_08092450: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8092398 - - thumb_func_start sub_8092458 -sub_8092458: @ 8092458 - push {lr} - ldr r0, _08092480 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _0809248C - cmp r0, 0x1 - bne _080924A0 - ldr r0, _08092484 @ =sBoxCursorPosition - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08092488 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - b _08092496 - .align 2, 0 -_08092480: .4byte sBoxCursorArea -_08092484: .4byte sBoxCursorPosition -_08092488: .4byte gPlayerParty -_0809248C: - ldr r0, _0809249C @ =sBoxCursorPosition - ldrb r0, [r0] - movs r1, 0xB - bl GetBoxMonDataFromSelectedBox -_08092496: - lsls r0, 16 - lsrs r0, 16 - b _080924A2 - .align 2, 0 -_0809249C: .4byte sBoxCursorPosition -_080924A0: - movs r0, 0 -_080924A2: - pop {r1} - bx r1 - thumb_func_end sub_8092458 - - thumb_func_start sub_80924A8 -sub_80924A8: @ 80924A8 - push {r4-r7,lr} - ldr r7, _080924C4 @ =sPSSData - ldr r5, [r7] - ldr r0, _080924C8 @ =0x00000ccc - adds r1, r5, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _080924D6 - ldrb r0, [r5, 0x1] - cmp r0, 0x3 - beq _080924CC - movs r0, 0 - b _080925F4 - .align 2, 0 -_080924C4: .4byte sPSSData -_080924C8: .4byte 0x00000ccc -_080924CC: - bl sub_809610C - lsls r0, 24 - lsrs r0, 24 - b _080925F4 -_080924D6: - subs r0, 0x1 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - beq _080925D4 - ldr r1, _080925C4 @ =0x00000cb8 - adds r4, r5, r1 - movs r2, 0xCC - lsls r2, 4 - adds r1, r5, r2 - ldr r0, [r4] - ldr r1, [r1] - adds r0, r1 - str r0, [r4] - ldr r0, _080925C8 @ =0x00000cbc - adds r3, r5, r0 - adds r2, 0x4 - adds r1, r5, r2 - ldr r0, [r3] - ldr r1, [r1] - adds r0, r1 - str r0, [r3] - movs r6, 0xCB - lsls r6, 4 - adds r1, r5, r6 - ldr r2, [r1] - ldr r0, [r4] - asrs r0, 8 - strh r0, [r2, 0x20] - ldr r2, [r1] - ldr r0, [r3] - asrs r0, 8 - strh r0, [r2, 0x22] - ldr r1, [r1] - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x80 - lsls r3, 1 - cmp r0, r3 - ble _08092534 - ldr r4, _080925CC @ =0xffffff00 - adds r0, r2, r4 - lsls r0, 16 - asrs r0, 16 - adds r0, 0x40 - strh r0, [r1, 0x20] -_08092534: - ldr r0, [r7] - adds r0, r6 - ldr r1, [r0] - ldrh r2, [r1, 0x20] - movs r4, 0x20 - ldrsh r0, [r1, r4] - cmp r0, 0x3F - bgt _08092550 - movs r0, 0x40 - subs r0, r2 - lsls r0, 16 - asrs r0, 16 - subs r0, r3, r0 - strh r0, [r1, 0x20] -_08092550: - ldr r0, [r7] - adds r0, r6 - ldr r1, [r0] - ldrh r2, [r1, 0x22] - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0xB0 - ble _0809256C - adds r0, r2, 0 - subs r0, 0xB0 - lsls r0, 16 - asrs r0, 16 - subs r0, 0x10 - strh r0, [r1, 0x22] -_0809256C: - ldr r0, [r7] - adds r0, r6 - ldr r2, [r0] - ldrh r3, [r2, 0x22] - movs r4, 0x22 - ldrsh r0, [r2, r4] - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _0809258C - subs r0, r1, r3 - movs r1, 0xB0 - lsls r0, 16 - asrs r0, 16 - subs r1, r0 - strh r1, [r2, 0x22] -_0809258C: - ldr r0, [r7] - ldr r2, _080925D0 @ =0x00000cd3 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _080925F2 - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _080925F2 - ldr r0, [r7] - adds r0, r6 - ldr r2, [r0] - adds r2, 0x3F - ldrb r3, [r2] - lsrs r1, r3, 1 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 1 - movs r0, 0x3 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - b _080925F2 - .align 2, 0 -_080925C4: .4byte 0x00000cb8 -_080925C8: .4byte 0x00000cbc -_080925CC: .4byte 0xffffff00 -_080925D0: .4byte 0x00000cd3 -_080925D4: - movs r3, 0xCB - lsls r3, 4 - adds r2, r5, r3 - ldr r1, [r2] - ldr r4, _080925FC @ =0x00000cc8 - adds r0, r5, r4 - ldrh r0, [r0] - strh r0, [r1, 0x20] - ldr r1, [r2] - ldr r2, _08092600 @ =0x00000cca - adds r0, r5, r2 - ldrh r0, [r0] - strh r0, [r1, 0x22] - bl sub_80929B0 -_080925F2: - movs r0, 0x1 -_080925F4: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080925FC: .4byte 0x00000cc8 -_08092600: .4byte 0x00000cca - thumb_func_end sub_80924A8 - - thumb_func_start sub_8092604 -sub_8092604: @ 8092604 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r6, sp - adds r6, 0x2 - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - adds r3, r6, 0 - bl sub_8092398 - ldr r1, _08092654 @ =sPSSData - ldr r0, [r1] - movs r2, 0xCD - lsls r2, 4 - adds r0, r2 - strb r4, [r0] - ldr r0, [r1] - ldr r3, _08092658 @ =0x00000cd1 - adds r0, r3 - strb r5, [r0] - ldr r1, [r1] - mov r0, sp - ldrh r2, [r0] - subs r3, 0x9 - adds r0, r1, r3 - strh r2, [r0] - ldrh r0, [r6] - ldr r2, _0809265C @ =0x00000cca - adds r1, r2 - strh r0, [r1] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08092654: .4byte sPSSData -_08092658: .4byte 0x00000cd1 -_0809265C: .4byte 0x00000cca - thumb_func_end sub_8092604 - - thumb_func_start sub_8092660 -sub_8092660: @ 8092660 - push {r4-r7,lr} - ldr r0, _0809267C @ =sPSSData - ldr r2, [r0] - ldr r3, _08092680 @ =0x00000cce - adds r1, r2, r3 - ldrh r1, [r1] - adds r4, r0, 0 - cmp r1, 0 - beq _08092688 - ldr r0, _08092684 @ =0x00000ccc - adds r1, r2, r0 - movs r0, 0xC - b _0809268E - .align 2, 0 -_0809267C: .4byte sPSSData -_08092680: .4byte 0x00000cce -_08092684: .4byte 0x00000ccc -_08092688: - ldr r3, _080926D4 @ =0x00000ccc - adds r1, r2, r3 - movs r0, 0x6 -_0809268E: - strh r0, [r1] - ldr r1, [r4] - ldr r0, _080926D8 @ =0x00000cd3 - adds r2, r1, r0 - ldrb r0, [r2] - cmp r0, 0 - beq _080926A6 - ldr r3, _080926D4 @ =0x00000ccc - adds r0, r1, r3 - ldrh r0, [r0] - lsrs r0, 1 - strb r0, [r2] -_080926A6: - ldr r2, [r4] - ldr r1, _080926DC @ =0x00000cce - adds r0, r2, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080926E4 - cmp r1, 0x1 - beq _08092700 - ldr r3, _080926E0 @ =0x00000cca - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0xCB - lsls r3, 4 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x22 - ldrsh r0, [r0, r2] - b _08092716 - .align 2, 0 -_080926D4: .4byte 0x00000ccc -_080926D8: .4byte 0x00000cd3 -_080926DC: .4byte 0x00000cce -_080926E0: .4byte 0x00000cca -_080926E4: - ldr r3, _080926FC @ =0x00000cca - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0xCB - lsls r3, 4 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x22 - ldrsh r0, [r0, r2] - adds r0, 0xC0 - b _08092716 - .align 2, 0 -_080926FC: .4byte 0x00000cca -_08092700: - ldr r3, _08092744 @ =0x00000cca - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0xCB - lsls r3, 4 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x22 - ldrsh r0, [r0, r2] - subs r0, 0xC0 -_08092716: - subs r7, r1, r0 - ldr r2, [r4] - ldr r3, _08092748 @ =0x00000ccf - adds r0, r2, r3 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08092750 - cmp r1, 0x1 - beq _0809276C - ldr r1, _0809274C @ =0x00000cc8 - adds r0, r2, r1 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0xCB - lsls r3, 4 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x20 - ldrsh r0, [r0, r2] - b _08092782 - .align 2, 0 -_08092744: .4byte 0x00000cca -_08092748: .4byte 0x00000ccf -_0809274C: .4byte 0x00000cc8 -_08092750: - ldr r3, _08092768 @ =0x00000cc8 - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0xCB - lsls r3, 4 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x20 - ldrsh r0, [r0, r2] - adds r0, 0xC0 - b _08092782 - .align 2, 0 -_08092768: .4byte 0x00000cc8 -_0809276C: - ldr r3, _080927D4 @ =0x00000cc8 - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0xCB - lsls r3, 4 - adds r0, r2, r3 - ldr r0, [r0] - movs r2, 0x20 - ldrsh r0, [r0, r2] - subs r0, 0xC0 -_08092782: - subs r0, r1, r0 - lsls r7, 8 - lsls r0, 8 - ldr r4, [r4] - movs r3, 0xCC - lsls r3, 4 - adds r6, r4, r3 - ldr r1, _080927D8 @ =0x00000ccc - adds r5, r4, r1 - ldrh r1, [r5] - bl __divsi3 - str r0, [r6] - ldr r2, _080927DC @ =0x00000cc4 - adds r6, r4, r2 - ldrh r1, [r5] - adds r0, r7, 0 - bl __divsi3 - str r0, [r6] - ldr r3, _080927E0 @ =0x00000cb8 - adds r2, r4, r3 - movs r0, 0xCB - lsls r0, 4 - adds r1, r4, r0 - ldr r0, [r1] - movs r3, 0x20 - ldrsh r0, [r0, r3] - lsls r0, 8 - str r0, [r2] - ldr r0, _080927E4 @ =0x00000cbc - adds r4, r0 - ldr r0, [r1] - movs r1, 0x22 - ldrsh r0, [r0, r1] - lsls r0, 8 - str r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080927D4: .4byte 0x00000cc8 -_080927D8: .4byte 0x00000ccc -_080927DC: .4byte 0x00000cc4 -_080927E0: .4byte 0x00000cb8 -_080927E4: .4byte 0x00000cbc - thumb_func_end sub_8092660 - - thumb_func_start sub_80927E8 -sub_80927E8: @ 80927E8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_8092604 - bl sub_8092660 - ldr r5, _0809282C @ =sPSSData - ldr r1, [r5] - ldrb r0, [r1, 0x1] - cmp r0, 0x3 - beq _08092838 - ldr r2, _08092830 @ =0x000021ef - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _08092852 - ldr r0, _08092834 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - bne _08092852 - movs r2, 0xCB - lsls r2, 4 - adds r0, r1, r2 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - b _08092852 - .align 2, 0 -_0809282C: .4byte sPSSData -_08092830: .4byte 0x000021ef -_08092834: .4byte sIsMonBeingMoved -_08092838: - bl sub_809616C - lsls r0, 24 - cmp r0, 0 - bne _08092852 - ldr r0, [r5] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim -_08092852: - ldr r0, _08092874 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080928AC - ldr r0, _08092878 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _08092880 - ldr r0, _0809287C @ =sBoxCursorPosition - ldrb r1, [r0] - movs r0, 0 - bl sub_8095D44 - b _0809288E - .align 2, 0 -_08092874: .4byte sPSSData -_08092878: .4byte sBoxCursorArea -_0809287C: .4byte sBoxCursorPosition -_08092880: - cmp r0, 0x1 - bne _0809288E - ldr r0, _0809289C @ =sBoxCursorPosition - ldrb r1, [r0] - movs r0, 0x1 - bl sub_8095D44 -_0809288E: - cmp r4, 0 - bne _080928A0 - movs r0, 0 - adds r1, r6, 0 - bl sub_8095C84 - b _080928AC - .align 2, 0 -_0809289C: .4byte sBoxCursorPosition -_080928A0: - cmp r4, 0x1 - bne _080928D8 - movs r0, 0x1 - adds r1, r6, 0 - bl sub_8095C84 -_080928AC: - cmp r4, 0x1 - bne _080928D8 - ldr r0, _08092920 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _080928D8 - ldr r1, _08092924 @ =sPSSData - ldr r0, [r1] - ldr r2, _08092928 @ =0x00000cd2 - adds r0, r2 - strb r4, [r0] - ldr r0, [r1] - ldr r1, _0809292C @ =0x00000cb4 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] -_080928D8: - cmp r4, 0 - beq _08092930 - cmp r4, 0 - blt _080929A0 - cmp r4, 0x3 - bgt _080929A0 - ldr r5, _08092924 @ =sPSSData - ldr r0, [r5] - movs r2, 0xCB - lsls r2, 4 - adds r0, r2 - ldr r4, [r0] - ldrb r1, [r4, 0x5] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - movs r3, 0x4 - orrs r0, r3 - strb r0, [r4, 0x5] - ldr r0, [r5] - ldr r4, _0809292C @ =0x00000cb4 - adds r0, r4 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r3 - strb r0, [r1] - ldr r0, [r5] - adds r0, r4 - ldr r1, [r0] - ldrb r0, [r1, 0x5] - ands r2, r0 - orrs r2, r3 - strb r2, [r1, 0x5] - b _080929A0 - .align 2, 0 -_08092920: .4byte sBoxCursorArea -_08092924: .4byte sPSSData -_08092928: .4byte 0x00000cd2 -_0809292C: .4byte 0x00000cb4 -_08092930: - ldr r3, _08092964 @ =sPSSData - ldr r1, [r3] - ldr r2, _08092968 @ =0x000021ef - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _08092970 - movs r2, 0xCB - lsls r2, 4 - adds r0, r1, r2 - ldr r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r3] - ldr r1, _0809296C @ =0x00000cb4 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - b _080929A0 - .align 2, 0 -_08092964: .4byte sPSSData -_08092968: .4byte 0x000021ef -_0809296C: .4byte 0x00000cb4 -_08092970: - movs r2, 0xCB - lsls r2, 4 - adds r0, r1, r2 - ldr r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, _080929A8 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080929A0 - ldr r0, _080929AC @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _080929A0 - movs r0, 0x2 - bl sub_8091184 -_080929A0: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080929A8: .4byte sBoxCursorArea -_080929AC: .4byte sIsMonBeingMoved - thumb_func_end sub_80927E8 - - thumb_func_start sub_80929B0 -sub_80929B0: @ 80929B0 - push {r4,lr} - ldr r1, _080929F4 @ =sBoxCursorArea - ldr r4, _080929F8 @ =sPSSData - ldr r2, [r4] - movs r3, 0xCD - lsls r3, 4 - adds r0, r2, r3 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, _080929FC @ =sBoxCursorPosition - adds r3, 0x1 - adds r0, r2, r3 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r2, 0x1] - cmp r0, 0x3 - beq _08092A08 - ldr r1, _08092A00 @ =0x000021ef - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08092A22 - ldr r0, _08092A04 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - bne _08092A22 - subs r3, 0x21 - adds r0, r2, r3 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - b _08092A22 - .align 2, 0 -_080929F4: .4byte sBoxCursorArea -_080929F8: .4byte sPSSData -_080929FC: .4byte sBoxCursorPosition -_08092A00: .4byte 0x000021ef -_08092A04: .4byte sIsMonBeingMoved -_08092A08: - bl sub_809616C - lsls r0, 24 - cmp r0, 0 - bne _08092A22 - ldr r0, [r4] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim -_08092A22: - bl sub_8093A10 - ldr r0, _08092A3C @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _08092A52 - cmp r0, 0x1 - bgt _08092A40 - cmp r0, 0 - beq _08092A74 - b _08092AD0 - .align 2, 0 -_08092A3C: .4byte sBoxCursorArea -_08092A40: - cmp r0, 0x2 - beq _08092A4A - cmp r0, 0x3 - bne _08092AD0 - b _08092A62 -_08092A4A: - movs r0, 0x1 - bl sub_80920FC - b _08092AD0 -_08092A52: - ldr r0, _08092A6C @ =sPSSData - ldr r0, [r0] - ldr r2, _08092A70 @ =0x00000cb4 - adds r0, r2 - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0xD - strb r1, [r0] -_08092A62: - movs r0, 0x1 - bl sub_8091184 - b _08092AD0 - .align 2, 0 -_08092A6C: .4byte sPSSData -_08092A70: .4byte 0x00000cb4 -_08092A74: - ldr r4, _08092AD8 @ =sPSSData - ldr r1, [r4] - ldr r3, _08092ADC @ =0x000021ef - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _08092AD0 - movs r2, 0xCB - lsls r2, 4 - adds r0, r1, r2 - ldr r3, [r0] - ldrb r1, [r3, 0x5] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r4] - ldr r3, _08092AE0 @ =0x00000cb4 - adds r0, r3 - ldr r1, [r0] - ldrb r0, [r1, 0x5] - ands r2, r0 - movs r0, 0x8 - orrs r2, r0 - strb r2, [r1, 0x5] - ldr r0, [r4] - adds r0, r3 - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0x15 - strb r1, [r0] - ldr r0, [r4] - adds r0, r3 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - movs r0, 0x2 - bl sub_8091184 -_08092AD0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08092AD8: .4byte sPSSData -_08092ADC: .4byte 0x000021ef -_08092AE0: .4byte 0x00000cb4 - thumb_func_end sub_80929B0 - - thumb_func_start sub_8092AE4 -sub_8092AE4: @ 8092AE4 - push {lr} - ldr r0, _08092AF4 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - bne _08092AF8 - movs r3, 0 - b _08092B06 - .align 2, 0 -_08092AF4: .4byte sIsMonBeingMoved -_08092AF8: - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x5 - bls _08092B06 - movs r3, 0x5 -_08092B06: - ldr r0, _08092B34 @ =sPSSData - ldr r2, [r0] - movs r1, 0xCB - lsls r1, 4 - adds r0, r2, r1 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08092B26 - ldr r0, _08092B38 @ =0x00000cd3 - adds r1, r2, r0 - movs r0, 0x1 - strb r0, [r1] -_08092B26: - movs r0, 0x1 - adds r1, r3, 0 - bl sub_80927E8 - pop {r0} - bx r0 - .align 2, 0 -_08092B34: .4byte sPSSData -_08092B38: .4byte 0x00000cd3 - thumb_func_end sub_8092AE4 - - thumb_func_start sub_8092B3C -sub_8092B3C: @ 8092B3C - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_80927E8 - pop {r0} - bx r0 - thumb_func_end sub_8092B3C - - thumb_func_start sub_8092B50 -sub_8092B50: @ 8092B50 - ldr r1, _08092B58 @ =gUnknown_2039826 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08092B58: .4byte gUnknown_2039826 - thumb_func_end sub_8092B50 - - thumb_func_start sub_8092B5C -sub_8092B5C: @ 8092B5C - ldr r0, _08092B68 @ =gUnknown_2039826 - ldr r1, _08092B6C @ =sBoxCursorPosition - ldrb r1, [r1] - strb r1, [r0] - bx lr - .align 2, 0 -_08092B68: .4byte gUnknown_2039826 -_08092B6C: .4byte sBoxCursorPosition - thumb_func_end sub_8092B5C - - thumb_func_start sub_8092B70 -sub_8092B70: @ 8092B70 - ldr r0, _08092B78 @ =gUnknown_2039826 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08092B78: .4byte gUnknown_2039826 - thumb_func_end sub_8092B70 - - thumb_func_start sub_8092B7C -sub_8092B7C: @ 8092B7C - lsls r0, 24 - ldr r1, _08092B9C @ =sPSSData - ldr r1, [r1] - ldr r2, _08092BA0 @ =0x00000d88 - adds r3, r1, r2 - ldr r2, _08092BA4 @ =gUnknown_83D346C - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - str r0, [r3] - ldr r0, _08092BA8 @ =0x00000d8c - adds r1, r0 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08092B9C: .4byte sPSSData -_08092BA0: .4byte 0x00000d88 -_08092BA4: .4byte gUnknown_83D346C -_08092BA8: .4byte 0x00000d8c - thumb_func_end sub_8092B7C - - thumb_func_start sub_8092BAC -sub_8092BAC: @ 8092BAC - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _08092BCC - ldr r0, _08092BC0 @ =sPSSData - ldr r1, [r0] - ldr r2, _08092BC4 @ =0x00000d88 - adds r1, r2 - ldr r2, _08092BC8 @ =sub_8092E00 - b _08092BD6 - .align 2, 0 -_08092BC0: .4byte sPSSData -_08092BC4: .4byte 0x00000d88 -_08092BC8: .4byte sub_8092E00 -_08092BCC: - ldr r0, _08092BE8 @ =sPSSData - ldr r1, [r0] - ldr r2, _08092BEC @ =0x00000d88 - adds r1, r2 - ldr r2, _08092BF0 @ =sub_8092E10 -_08092BD6: - str r2, [r1] - ldr r0, [r0] - ldr r1, _08092BF4 @ =0x00000d8c - adds r0, r1 - movs r1, 0 - strb r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_08092BE8: .4byte sPSSData -_08092BEC: .4byte 0x00000d88 -_08092BF0: .4byte sub_8092E10 -_08092BF4: .4byte 0x00000d8c - thumb_func_end sub_8092BAC - - thumb_func_start sub_8092BF8 -sub_8092BF8: @ 8092BF8 - push {lr} - ldr r0, _08092C10 @ =sPSSData - ldr r0, [r0] - ldr r1, _08092C14 @ =0x00000d88 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08092C10: .4byte sPSSData -_08092C14: .4byte 0x00000d88 - thumb_func_end sub_8092BF8 - - thumb_func_start sub_8092C18 -sub_8092C18: @ 8092C18 - push {r4,r5,lr} - ldr r4, _08092C34 @ =sPSSData - ldr r1, [r4] - ldr r5, _08092C38 @ =0x00000d8c - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08092C68 - cmp r0, 0x1 - bgt _08092C3C - cmp r0, 0 - beq _08092C46 - b _08092C9C - .align 2, 0 -_08092C34: .4byte sPSSData -_08092C38: .4byte 0x00000d8c -_08092C3C: - cmp r0, 0x2 - beq _08092C88 - cmp r0, 0x3 - beq _08092C4E - b _08092C9C -_08092C46: - ldr r0, _08092C54 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _08092C58 -_08092C4E: - movs r0, 0 - b _08092C9E - .align 2, 0 -_08092C54: .4byte sIsMonBeingMoved -_08092C58: - movs r2, 0xCB - lsls r2, 4 - adds r0, r1, r2 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim - b _08092C92 -_08092C68: - bl sub_8092E20 - lsls r0, 24 - cmp r0, 0 - bne _08092C9C - ldr r0, [r4] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim - bl sub_8092E80 - b _08092C92 -_08092C88: - bl sub_8092E54 - lsls r0, 24 - cmp r0, 0 - bne _08092C9C -_08092C92: - ldr r1, [r4] - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08092C9C: - movs r0, 0x1 -_08092C9E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8092C18 - - thumb_func_start sub_8092CA4 -sub_8092CA4: @ 8092CA4 - push {r4,r5,lr} - ldr r4, _08092CC0 @ =sPSSData - ldr r0, [r4] - ldr r5, _08092CC4 @ =0x00000d8c - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08092CEE - cmp r0, 0x1 - bgt _08092CC8 - cmp r0, 0 - beq _08092CCE - b _08092D18 - .align 2, 0 -_08092CC0: .4byte sPSSData -_08092CC4: .4byte 0x00000d8c -_08092CC8: - cmp r0, 0x2 - beq _08092D14 - b _08092D18 -_08092CCE: - bl sub_8092E20 - lsls r0, 24 - cmp r0, 0 - bne _08092D18 - ldr r0, [r4] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim - bl sub_8092EF4 - b _08092D08 -_08092CEE: - bl sub_8092E54 - lsls r0, 24 - cmp r0, 0 - bne _08092D18 - ldr r0, [r4] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim -_08092D08: - ldr r1, [r4] - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08092D18 -_08092D14: - movs r0, 0 - b _08092D1A -_08092D18: - movs r0, 0x1 -_08092D1A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8092CA4 - - thumb_func_start sub_8092D20 -sub_8092D20: @ 8092D20 - push {r4,r5,lr} - ldr r4, _08092D3C @ =sPSSData - ldr r1, [r4] - ldr r5, _08092D40 @ =0x00000d8c - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08092DB4 - cmp r0, 0x1 - bgt _08092D44 - cmp r0, 0 - beq _08092D4A - b _08092DF8 - .align 2, 0 -_08092D3C: .4byte sPSSData -_08092D40: .4byte 0x00000d8c -_08092D44: - cmp r0, 0x2 - beq _08092DF4 - b _08092DF8 -_08092D4A: - ldr r0, _08092D64 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _08092D6C - cmp r0, 0x1 - bne _08092DF4 - ldr r0, _08092D68 @ =0x00000d8d - adds r1, r0 - movs r0, 0xE - b _08092D76 - .align 2, 0 -_08092D64: .4byte sBoxCursorArea -_08092D68: .4byte 0x00000d8d -_08092D6C: - bl StorageGetCurrentBox - ldr r1, [r4] - ldr r2, _08092DA4 @ =0x00000d8d - adds r1, r2 -_08092D76: - strb r0, [r1] - ldr r4, _08092DA8 @ =sPSSData - ldr r0, [r4] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim - ldr r0, [r4] - ldr r2, _08092DA4 @ =0x00000d8d - adds r0, r2 - ldrb r0, [r0] - ldr r1, _08092DAC @ =sBoxCursorPosition - ldrb r1, [r1] - bl sub_8090E08 - ldr r1, [r4] - ldr r0, _08092DB0 @ =0x00000d8c - adds r1, r0 - b _08092DE2 - .align 2, 0 -_08092DA4: .4byte 0x00000d8d -_08092DA8: .4byte sPSSData -_08092DAC: .4byte sBoxCursorPosition -_08092DB0: .4byte 0x00000d8c -_08092DB4: - bl sub_8090E74 - lsls r0, 24 - cmp r0, 0 - bne _08092DF8 - ldr r0, [r4] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim - ldr r0, [r4] - ldr r2, _08092DEC @ =0x00000d8d - adds r0, r2 - ldrb r0, [r0] - ldr r1, _08092DF0 @ =sBoxCursorPosition - ldrb r1, [r1] - bl diegohint1 - ldr r1, [r4] - adds r1, r5 -_08092DE2: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08092DF8 - .align 2, 0 -_08092DEC: .4byte 0x00000d8d -_08092DF0: .4byte sBoxCursorPosition -_08092DF4: - movs r0, 0 - b _08092DFA -_08092DF8: - movs r0, 0x1 -_08092DFA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8092D20 - - thumb_func_start sub_8092E00 -sub_8092E00: @ 8092E00 - push {lr} - bl sub_8092E20 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8092E00 - - thumb_func_start sub_8092E10 -sub_8092E10: @ 8092E10 - push {lr} - bl sub_8092E54 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8092E10 - - thumb_func_start sub_8092E20 -sub_8092E20: @ 8092E20 - push {lr} - ldr r0, _08092E44 @ =sPSSData - ldr r0, [r0] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r1, [r0] - movs r2, 0x26 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08092E3A - cmp r0, 0x8 - beq _08092E48 -_08092E3A: - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _08092E4C - .align 2, 0 -_08092E44: .4byte sPSSData -_08092E48: - movs r0, 0 - b _08092E4E -_08092E4C: - movs r0, 0x1 -_08092E4E: - pop {r1} - bx r1 - thumb_func_end sub_8092E20 - - thumb_func_start sub_8092E54 -sub_8092E54: @ 8092E54 - push {lr} - ldr r0, _08092E74 @ =sPSSData - ldr r0, [r0] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r1, [r0] - movs r2, 0x26 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08092E78 - ldrh r0, [r1, 0x26] - subs r0, 0x1 - strh r0, [r1, 0x26] - movs r0, 0x1 - b _08092E7A - .align 2, 0 -_08092E74: .4byte sPSSData -_08092E78: - movs r0, 0 -_08092E7A: - pop {r1} - bx r1 - thumb_func_end sub_8092E54 - - thumb_func_start sub_8092E80 -sub_8092E80: @ 8092E80 - push {r4,lr} - ldr r0, _08092EA8 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _08092EB0 - cmp r0, 0x1 - bne _08092EDC - ldr r4, _08092EAC @ =sBoxCursorPosition - ldrb r1, [r4] - movs r0, 0xE - bl sub_8092F60 - ldrb r1, [r4] - movs r0, 0 - bl sub_8090CC0 - b _08092ED6 - .align 2, 0 -_08092EA8: .4byte sBoxCursorArea -_08092EAC: .4byte sBoxCursorPosition -_08092EB0: - ldr r0, _08092EE4 @ =sPSSData - ldr r0, [r0] - ldr r1, _08092EE8 @ =0x000021ef - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08092ED6 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08092EEC @ =sBoxCursorPosition - ldrb r1, [r4] - bl sub_8092F60 - ldrb r1, [r4] - movs r0, 0x1 - bl sub_8090CC0 -_08092ED6: - ldr r1, _08092EF0 @ =sIsMonBeingMoved - movs r0, 0x1 - strb r0, [r1] -_08092EDC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08092EE4: .4byte sPSSData -_08092EE8: .4byte 0x000021ef -_08092EEC: .4byte sBoxCursorPosition -_08092EF0: .4byte sIsMonBeingMoved - thumb_func_end sub_8092E80 - - thumb_func_start sub_8092EF4 -sub_8092EF4: @ 8092EF4 - push {r4,r5,lr} - ldr r0, _08092F1C @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _08092F24 - cmp r0, 0x1 - bne _08092F46 - ldr r4, _08092F20 @ =sBoxCursorPosition - ldrb r1, [r4] - movs r0, 0xE - bl diegohint2 - ldrb r1, [r4] - movs r0, 0xE - bl sub_8090D58 - b _08092F40 - .align 2, 0 -_08092F1C: .4byte sBoxCursorArea -_08092F20: .4byte sBoxCursorPosition -_08092F24: - bl StorageGetCurrentBox - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08092F4C @ =sBoxCursorPosition - ldrb r1, [r5] - adds r0, r4, 0 - bl diegohint2 - ldrb r1, [r5] - adds r0, r4, 0 - bl sub_8090D58 -_08092F40: - ldr r1, _08092F50 @ =sIsMonBeingMoved - movs r0, 0 - strb r0, [r1] -_08092F46: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08092F4C: .4byte sBoxCursorPosition -_08092F50: .4byte sIsMonBeingMoved - thumb_func_end sub_8092EF4 - - thumb_func_start sub_8092F54 -sub_8092F54: @ 8092F54 - push {lr} - bl sub_8093A10 - pop {r0} - bx r0 - thumb_func_end sub_8092F54 - - thumb_func_start sub_8092F60 -sub_8092F60: @ 8092F60 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r4, 0xE - bne _08092F9C - ldr r0, _08092F8C @ =sPSSData - ldr r0, [r0] - ldr r1, _08092F90 @ =0x000020a0 - adds r0, r1 - ldr r3, _08092F94 @ =gPlayerParty - ldr r1, _08092F98 @ =sBoxCursorPosition - movs r2, 0 - ldrsb r2, [r1, r2] - movs r1, 0x64 - muls r1, r2 - adds r1, r3 - movs r2, 0x64 - bl memcpy - b _08092FAC - .align 2, 0 -_08092F8C: .4byte sPSSData -_08092F90: .4byte 0x000020a0 -_08092F94: .4byte gPlayerParty -_08092F98: .4byte sBoxCursorPosition -_08092F9C: - ldr r0, _08092FC4 @ =sPSSData - ldr r2, [r0] - ldr r0, _08092FC8 @ =0x000020a0 - adds r2, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808BCF0 -_08092FAC: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8093030 - ldr r0, _08092FCC @ =sMovingMonOrigBoxId - strb r4, [r0] - ldr r0, _08092FD0 @ =sMovingMonOrigBoxPos - strb r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08092FC4: .4byte sPSSData -_08092FC8: .4byte 0x000020a0 -_08092FCC: .4byte sMovingMonOrigBoxId -_08092FD0: .4byte sMovingMonOrigBoxPos - thumb_func_end sub_8092F60 - - thumb_func_start diegohint2 -diegohint2: @ 8092FD4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - cmp r6, 0xE - bne _08093008 - ldr r1, _08092FFC @ =gPlayerParty - movs r0, 0x64 - muls r0, r7 - adds r0, r1 - ldr r1, _08093000 @ =sPSSData - ldr r1, [r1] - ldr r2, _08093004 @ =0x000020a0 - adds r1, r2 - movs r2, 0x64 - bl memcpy - b _08093020 - .align 2, 0 -_08092FFC: .4byte gPlayerParty -_08093000: .4byte sPSSData -_08093004: .4byte 0x000020a0 -_08093008: - ldr r5, _08093028 @ =sPSSData - ldr r0, [r5] - ldr r4, _0809302C @ =0x000020a0 - adds r0, r4 - bl BoxMonRestorePP - ldr r2, [r5] - adds r2, r4 - adds r0, r6, 0 - adds r1, r7, 0 - bl CopyBoxMonFromAnyBox -_08093020: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08093028: .4byte sPSSData -_0809302C: .4byte 0x000020a0 - thumb_func_end diegohint2 - - thumb_func_start sub_8093030 -sub_8093030: @ 8093030 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r0, 0xE - bne _08093050 - movs r0, 0x64 - muls r0, r1 - ldr r1, _0809304C @ =gPlayerParty - adds r0, r1 - bl ZeroMonData - b _08093054 - .align 2, 0 -_0809304C: .4byte gPlayerParty -_08093050: - bl sub_808BCB4 -_08093054: - pop {r0} - bx r0 - thumb_func_end sub_8093030 - - thumb_func_start diegohint1 -diegohint1: @ 8093058 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - cmp r6, 0xE - bne _0809308C - ldr r0, _08093080 @ =sPSSData - ldr r0, [r0] - ldr r1, _08093084 @ =0x00002104 - adds r0, r1 - ldr r2, _08093088 @ =gPlayerParty - movs r1, 0x64 - muls r1, r7 - adds r1, r2 - movs r2, 0x64 - bl memcpy - b _0809309C - .align 2, 0 -_08093080: .4byte sPSSData -_08093084: .4byte 0x00002104 -_08093088: .4byte gPlayerParty -_0809308C: - ldr r0, _080930D0 @ =sPSSData - ldr r2, [r0] - ldr r0, _080930D4 @ =0x00002104 - adds r2, r0 - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_808BCF0 -_0809309C: - adds r0, r6, 0 - adds r1, r7, 0 - bl diegohint2 - ldr r5, _080930D0 @ =sPSSData - ldr r1, [r5] - ldr r4, _080930D8 @ =0x000020a0 - adds r0, r1, r4 - ldr r2, _080930D4 @ =0x00002104 - adds r1, r2 - movs r2, 0x64 - bl memcpy - ldr r0, [r5] - adds r0, r4 - movs r1, 0 - bl sub_8093AD0 - ldr r0, _080930DC @ =sMovingMonOrigBoxId - strb r6, [r0] - ldr r0, _080930E0 @ =sMovingMonOrigBoxPos - strb r7, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080930D0: .4byte sPSSData -_080930D4: .4byte 0x00002104 -_080930D8: .4byte 0x000020a0 -_080930DC: .4byte sMovingMonOrigBoxId -_080930E0: .4byte sMovingMonOrigBoxPos - thumb_func_end diegohint1 - - thumb_func_start sub_80930E4 -sub_80930E4: @ 80930E4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - bl GetFirstFreeBoxSpot - lsls r0, 16 - lsrs r4, r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _08093102 - movs r0, 0 - b _08093164 -_08093102: - ldr r5, _08093120 @ =sIsMonBeingMoved - ldrb r0, [r5] - cmp r0, 0 - beq _08093124 - lsls r4, 24 - lsrs r1, r4, 24 - adds r0, r6, 0 - bl diegohint2 - bl sub_8090B6C - movs r0, 0 - strb r0, [r5] - b _0809313E - .align 2, 0 -_08093120: .4byte sIsMonBeingMoved -_08093124: - ldr r5, _0809316C @ =sBoxCursorPosition - ldrb r1, [r5] - movs r0, 0xE - bl sub_8092F60 - lsls r4, 24 - lsrs r1, r4, 24 - adds r0, r6, 0 - bl diegohint2 - ldrb r0, [r5] - bl sub_8090C10 -_0809313E: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bne _08093150 - lsrs r0, r4, 24 - bl sub_80901EC -_08093150: - ldr r0, _08093170 @ =sPSSData - ldr r0, [r0] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0x1 -_08093164: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809316C: .4byte sBoxCursorPosition -_08093170: .4byte sPSSData - thumb_func_end sub_80930E4 - - thumb_func_start sub_8093174 -sub_8093174: @ 8093174 - push {lr} - ldr r0, _08093190 @ =sPSSData - ldr r0, [r0] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - bl sub_8093A10 - pop {r0} - bx r0 - .align 2, 0 -_08093190: .4byte sPSSData - thumb_func_end sub_8093174 - - thumb_func_start sub_8093194 -sub_8093194: @ 8093194 - push {lr} - ldr r0, _080931A4 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _080931A8 - movs r2, 0x2 - b _080931B8 - .align 2, 0 -_080931A4: .4byte sIsMonBeingMoved -_080931A8: - ldr r0, _080931D8 @ =sBoxCursorArea - movs r1, 0 - ldrsb r1, [r0, r1] - movs r2, 0x1 - eors r1, r2 - negs r0, r1 - orrs r0, r1 - lsrs r2, r0, 31 -_080931B8: - ldr r0, _080931DC @ =sBoxCursorPosition - ldrb r1, [r0] - adds r0, r2, 0 - bl sub_8090FC4 - ldr r0, _080931E0 @ =sPSSData - ldr r1, [r0] - ldr r2, _080931E4 @ =0x000021d0 - adds r0, r1, r2 - ldr r2, _080931E8 @ =0x00000cea - adds r1, r2 - bl StringCopy - pop {r0} - bx r0 - .align 2, 0 -_080931D8: .4byte sBoxCursorArea -_080931DC: .4byte sBoxCursorPosition -_080931E0: .4byte sPSSData -_080931E4: .4byte 0x000021d0 -_080931E8: .4byte 0x00000cea - thumb_func_end sub_8093194 - - thumb_func_start sub_80931EC -sub_80931EC: @ 80931EC - push {lr} - bl sub_8091084 - lsls r0, 24 - cmp r0, 0 - beq _080931FC - movs r0, 0x1 - b _08093210 -_080931FC: - ldr r0, _08093214 @ =sPSSData - ldr r0, [r0] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - movs r0, 0 -_08093210: - pop {r1} - bx r1 - .align 2, 0 -_08093214: .4byte sPSSData - thumb_func_end sub_80931EC - - thumb_func_start sub_8093218 -sub_8093218: @ 8093218 - push {lr} - bl sub_80910CC - ldr r1, _0809322C @ =sIsMonBeingMoved - ldrb r0, [r1] - cmp r0, 0 - beq _08093230 - movs r0, 0 - strb r0, [r1] - b _08093256 - .align 2, 0 -_0809322C: .4byte sIsMonBeingMoved -_08093230: - ldr r0, _08093240 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _08093244 - movs r2, 0xE - b _0809324C - .align 2, 0 -_08093240: .4byte sBoxCursorArea -_08093244: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r2, r0, 24 -_0809324C: - ldr r0, _08093260 @ =sBoxCursorPosition - ldrb r1, [r0] - adds r0, r2, 0 - bl sub_8093030 -_08093256: - bl sub_8093A10 - pop {r0} - bx r0 - .align 2, 0 -_08093260: .4byte sBoxCursorPosition - thumb_func_end sub_8093218 - - thumb_func_start sub_8093264 -sub_8093264: @ 8093264 - push {lr} - ldr r0, _08093284 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _08093280 - ldr r0, _08093288 @ =sPSSData - ldr r0, [r0] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim -_08093280: - pop {r0} - bx r0 - .align 2, 0 -_08093284: .4byte sIsMonBeingMoved -_08093288: .4byte sPSSData - thumb_func_end sub_8093264 - - thumb_func_start sub_809328C -sub_809328C: @ 809328C - push {r4-r6,lr} - ldr r0, _080932C0 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _080932D8 - ldr r4, _080932C4 @ =sPSSData - ldr r1, [r4] - ldr r2, _080932C8 @ =0x00002104 - adds r0, r1, r2 - ldr r3, _080932CC @ =0x000020a0 - adds r1, r3 - movs r2, 0x64 - bl memcpy - ldr r0, [r4] - ldr r1, _080932D0 @ =0x0000216e - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r4] - ldr r2, _080932D4 @ =0x0000216f - adds r0, r2 - movs r1, 0x1 - negs r1, r1 - b _08093354 - .align 2, 0 -_080932C0: .4byte sIsMonBeingMoved -_080932C4: .4byte sPSSData -_080932C8: .4byte 0x00002104 -_080932CC: .4byte 0x000020a0 -_080932D0: .4byte 0x0000216e -_080932D4: .4byte 0x0000216f -_080932D8: - ldr r0, _0809330C @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _08093324 - ldr r4, _08093310 @ =sPSSData - ldr r0, [r4] - ldr r3, _08093314 @ =0x00002104 - adds r0, r3 - ldr r3, _08093318 @ =gPlayerParty - ldr r1, _0809331C @ =sBoxCursorPosition - movs r2, 0 - ldrsb r2, [r1, r2] - movs r1, 0x64 - muls r1, r2 - adds r1, r3 - movs r2, 0x64 - bl memcpy - ldr r0, [r4] - ldr r1, _08093320 @ =0x0000216e - adds r0, r1 - movs r1, 0xE - strb r1, [r0] - b _08093348 - .align 2, 0 -_0809330C: .4byte sBoxCursorArea -_08093310: .4byte sPSSData -_08093314: .4byte 0x00002104 -_08093318: .4byte gPlayerParty -_0809331C: .4byte sBoxCursorPosition -_08093320: .4byte 0x0000216e -_08093324: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080933BC @ =sBoxCursorPosition - ldrb r1, [r1] - ldr r4, _080933C0 @ =sPSSData - ldr r2, [r4] - ldr r3, _080933C4 @ =0x00002104 - adds r2, r3 - bl sub_808BCF0 - bl StorageGetCurrentBox - ldr r1, [r4] - ldr r2, _080933C8 @ =0x0000216e - adds r1, r2 - strb r0, [r1] -_08093348: - ldr r0, _080933C0 @ =sPSSData - ldr r0, [r0] - ldr r1, _080933BC @ =sBoxCursorPosition - ldrb r1, [r1] - ldr r3, _080933CC @ =0x0000216f - adds r0, r3 -_08093354: - strb r1, [r0] - ldr r6, _080933C0 @ =sPSSData - ldr r0, [r6] - ldr r4, _080933D0 @ =0x0000216a - adds r0, r4 - movs r1, 0 - strb r1, [r0] - ldr r0, [r6] - ldr r5, _080933D4 @ =0x0000216b - adds r0, r5 - strb r1, [r0] - ldr r0, [r6] - ldr r1, _080933D8 @ =0x00002172 - adds r2, r0, r1 - movs r1, 0x39 - strh r1, [r2] - ldr r1, _080933DC @ =0x00002174 - adds r3, r0, r1 - ldr r1, _080933E0 @ =0x00000123 - strh r1, [r3] - ldr r1, _080933E4 @ =0x00002176 - adds r3, r0, r1 - ldr r1, _080933E8 @ =0x00000163 - strh r1, [r3] - ldr r3, _080933C4 @ =0x00002104 - adds r0, r3 - movs r1, 0x51 - bl GetMonData - lsls r0, 16 - lsrs r3, r0, 16 - ldr r1, [r6] - movs r2, 0x1 - ands r3, r2 - adds r1, r4 - strb r3, [r1] - ldr r1, [r6] - lsrs r0, 17 - movs r2, 0x1 - ands r0, r2 - adds r1, r5 - strb r0, [r1] - ldr r1, [r6] - adds r4, r1, r4 - ldrh r0, [r4] - cmp r0, 0 - beq _080933F0 - ldr r0, _080933EC @ =0x00002169 - adds r1, r0 - movs r0, 0 - strb r0, [r1] - b _080933FE - .align 2, 0 -_080933BC: .4byte sBoxCursorPosition -_080933C0: .4byte sPSSData -_080933C4: .4byte 0x00002104 -_080933C8: .4byte 0x0000216e -_080933CC: .4byte 0x0000216f -_080933D0: .4byte 0x0000216a -_080933D4: .4byte 0x0000216b -_080933D8: .4byte 0x00002172 -_080933DC: .4byte 0x00002174 -_080933E0: .4byte 0x00000123 -_080933E4: .4byte 0x00002176 -_080933E8: .4byte 0x00000163 -_080933EC: .4byte 0x00002169 -_080933F0: - ldr r3, _08093410 @ =0x00002169 - adds r0, r1, r3 - strb r2, [r0] - ldr r0, [r6] - ldr r1, _08093414 @ =0x00002168 - adds r0, r1 - strb r2, [r0] -_080933FE: - ldr r0, _08093418 @ =sPSSData - ldr r0, [r0] - ldr r2, _0809341C @ =0x00002170 - adds r0, r2 - movs r1, 0 - strh r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08093410: .4byte 0x00002169 -_08093414: .4byte 0x00002168 -_08093418: .4byte sPSSData -_0809341C: .4byte 0x00002170 - thumb_func_end sub_809328C - - thumb_func_start sub_8093420 -sub_8093420: @ 8093420 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08093444 @ =sPSSData - ldr r3, [r0] - ldr r2, _08093448 @ =0x00002169 - adds r1, r3, r2 - ldrb r1, [r1] - mov r12, r0 - cmp r1, 0 - beq _08093450 - ldr r1, _0809344C @ =0x00002168 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - b _08093604 - .align 2, 0 -_08093444: .4byte sPSSData -_08093448: .4byte 0x00002169 -_0809344C: .4byte 0x00002168 -_08093450: - ldr r2, _08093460 @ =0x00002170 - adds r0, r3, r2 - ldrh r0, [r0] - cmp r0, 0 - beq _08093464 - cmp r0, 0x1 - beq _0809353C - b _08093600 - .align 2, 0 -_08093460: .4byte 0x00002170 -_08093464: - movs r6, 0 - mov r5, r12 - movs r7, 0 -_0809346A: - ldr r2, [r5] - ldr r1, _08093500 @ =0x0000216e - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xE - bne _08093488 - adds r1, 0x1 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, r6 - beq _080934C2 -_08093488: - movs r0, 0x64 - muls r0, r6 - ldr r1, _08093504 @ =gPlayerParty - adds r0, r1 - ldr r1, _08093508 @ =0x00002172 - adds r2, r1 - movs r1, 0x51 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080934AE - ldr r0, [r5] - ldr r2, _0809350C @ =0x0000216a - adds r0, r2 - strb r7, [r0] -_080934AE: - movs r0, 0x2 - ands r4, r0 - ldr r0, _08093510 @ =sPSSData - mov r12, r0 - cmp r4, 0 - beq _080934C2 - ldr r0, [r5] - ldr r1, _08093514 @ =0x0000216b - adds r0, r1 - strb r7, [r0] -_080934C2: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _0809346A - mov r2, r12 - ldr r1, [r2] - ldr r2, _0809350C @ =0x0000216a - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, 0 - bne _080934DC - b _080935EE -_080934DC: - ldr r2, _08093518 @ =0x0000216c - adds r0, r1, r2 - movs r1, 0 - strb r1, [r0] - mov r2, r12 - ldr r0, [r2] - ldr r2, _0809351C @ =0x0000216d - adds r0, r2 - strb r1, [r0] - mov r0, r12 - ldr r1, [r0] - adds r2, 0x3 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08093600 - .align 2, 0 -_08093500: .4byte 0x0000216e -_08093504: .4byte gPlayerParty -_08093508: .4byte 0x00002172 -_0809350C: .4byte 0x0000216a -_08093510: .4byte sPSSData -_08093514: .4byte 0x0000216b -_08093518: .4byte 0x0000216c -_0809351C: .4byte 0x0000216d -_08093520: - mov r1, r12 - ldr r0, [r1] - ldr r2, _08093538 @ =0x00002169 - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - mov r1, r12 - ldr r0, [r1] - subs r2, 0x1 - adds r0, r2 - strb r3, [r0] - b _080935E0 - .align 2, 0 -_08093538: .4byte 0x00002169 -_0809353C: - movs r6, 0 - mov r7, r12 - ldr r0, _08093610 @ =0x0000ffff - mov r8, r0 -_08093544: - ldr r3, [r7] - ldr r1, _08093614 @ =0x0000216c - adds r0, r3, r1 - ldrb r0, [r0] - ldr r2, _08093618 @ =0x0000216d - adds r1, r3, r2 - ldrb r1, [r1] - adds r2, 0x5 - adds r3, r2 - movs r2, 0x51 - bl GetAndCopyBoxMonDataFromAnyBox - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080935A0 - ldr r5, [r7] - ldr r1, _0809361C @ =0x0000216e - adds r0, r5, r1 - ldrh r2, [r0] - subs r1, 0x2 - adds r0, r5, r1 - ldrh r3, [r0] - mov r1, r8 - ands r1, r2 - mov r0, r8 - ands r0, r3 - cmp r1, r0 - beq _080935A0 - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0809358E - ldr r2, _08093620 @ =0x0000216a - adds r1, r5, r2 - movs r0, 0 - strb r0, [r1] -_0809358E: - movs r0, 0x2 - ands r4, r0 - cmp r4, 0 - beq _080935A0 - ldr r0, [r7] - ldr r1, _08093624 @ =0x0000216b - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_080935A0: - ldr r2, _08093628 @ =sPSSData - ldr r1, [r2] - ldr r0, _08093618 @ =0x0000216d - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - movs r3, 0 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - mov r12, r2 - cmp r0, 0x1D - ble _080935D6 - ldr r0, [r2] - ldr r1, _08093618 @ =0x0000216d - adds r0, r1 - strb r3, [r0] - ldr r1, [r2] - ldr r2, _08093614 @ =0x0000216c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xD - bgt _08093520 -_080935D6: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x4 - bls _08093544 -_080935E0: - mov r0, r12 - ldr r1, [r0] - ldr r2, _08093620 @ =0x0000216a - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, 0 - bne _08093600 -_080935EE: - subs r2, 0x1 - adds r0, r1, r2 - movs r1, 0x1 - strb r1, [r0] - mov r2, r12 - ldr r0, [r2] - ldr r2, _0809362C @ =0x00002168 - adds r0, r2 - strb r1, [r0] -_08093600: - movs r0, 0x1 - negs r0, r0 -_08093604: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08093610: .4byte 0x0000ffff -_08093614: .4byte 0x0000216c -_08093618: .4byte 0x0000216d -_0809361C: .4byte 0x0000216e -_08093620: .4byte 0x0000216a -_08093624: .4byte 0x0000216b -_08093628: .4byte sPSSData -_0809362C: .4byte 0x00002168 - thumb_func_end sub_8093420 - - thumb_func_start sub_8093630 -sub_8093630: @ 8093630 - push {lr} - ldr r0, _08093650 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _0809364A - ldr r0, _08093654 @ =gUnknown_20397BC - ldr r1, _08093658 @ =sPSSData - ldr r1, [r1] - ldr r2, _0809365C @ =0x000020a0 - adds r1, r2 - movs r2, 0x64 - bl memcpy -_0809364A: - pop {r0} - bx r0 - .align 2, 0 -_08093650: .4byte sIsMonBeingMoved -_08093654: .4byte gUnknown_20397BC -_08093658: .4byte sPSSData -_0809365C: .4byte 0x000020a0 - thumb_func_end sub_8093630 - - thumb_func_start sub_8093660 -sub_8093660: @ 8093660 - push {lr} - ldr r0, _08093684 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _080936A8 - ldr r0, _08093688 @ =sMovingMonOrigBoxId - ldrb r0, [r0] - cmp r0, 0xE - bne _08093698 - ldr r0, _0809368C @ =sPSSData - ldr r0, [r0] - ldr r1, _08093690 @ =0x000020a0 - adds r0, r1 - ldr r1, _08093694 @ =gUnknown_20397BC - movs r2, 0x64 - bl memcpy - b _080936A8 - .align 2, 0 -_08093684: .4byte sIsMonBeingMoved -_08093688: .4byte sMovingMonOrigBoxId -_0809368C: .4byte sPSSData -_08093690: .4byte 0x000020a0 -_08093694: .4byte gUnknown_20397BC -_08093698: - ldr r0, _080936AC @ =sPSSData - ldr r0, [r0] - ldr r1, _080936B0 @ =0x000020a0 - adds r0, r1 - ldr r1, _080936B4 @ =gUnknown_20397BC - movs r2, 0x50 - bl memcpy -_080936A8: - pop {r0} - bx r0 - .align 2, 0 -_080936AC: .4byte sPSSData -_080936B0: .4byte 0x000020a0 -_080936B4: .4byte gUnknown_20397BC - thumb_func_end sub_8093660 - - thumb_func_start sub_80936B8 -sub_80936B8: @ 80936B8 - push {r4,r5,lr} - ldr r0, _080936EC @ =sIsMonBeingMoved - ldrb r5, [r0] - cmp r5, 0 - beq _08093708 - bl sub_8093630 - ldr r3, _080936F0 @ =sPSSData - ldr r1, [r3] - ldr r0, _080936F4 @ =0x0000217c - adds r2, r1, r0 - ldr r0, _080936F8 @ =gUnknown_20397BC - str r0, [r2] - ldr r2, _080936FC @ =0x00002179 - adds r1, r2 - movs r2, 0 - strb r2, [r1] - ldr r0, [r3] - ldr r4, _08093700 @ =0x00002178 - adds r0, r4 - strb r2, [r0] - ldr r0, [r3] - ldr r1, _08093704 @ =0x0000217a - adds r0, r1 - strb r2, [r0] - b _0809379A - .align 2, 0 -_080936EC: .4byte sIsMonBeingMoved -_080936F0: .4byte sPSSData -_080936F4: .4byte 0x0000217c -_080936F8: .4byte gUnknown_20397BC -_080936FC: .4byte 0x00002179 -_08093700: .4byte 0x00002178 -_08093704: .4byte 0x0000217a -_08093708: - ldr r0, _08093744 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _08093764 - ldr r4, _08093748 @ =sPSSData - ldr r1, [r4] - ldr r0, _0809374C @ =0x0000217c - adds r2, r1, r0 - ldr r0, _08093750 @ =gPlayerParty - str r0, [r2] - ldr r0, _08093754 @ =sBoxCursorPosition - ldrb r0, [r0] - ldr r2, _08093758 @ =0x00002179 - adds r1, r2 - strb r0, [r1] - bl CountPartyMons - ldr r1, [r4] - subs r0, 0x1 - ldr r2, _0809375C @ =0x00002178 - adds r1, r2 - strb r0, [r1] - ldr r0, [r4] - ldr r4, _08093760 @ =0x0000217a - adds r0, r4 - strb r5, [r0] - b _0809379A - .align 2, 0 -_08093744: .4byte sBoxCursorArea -_08093748: .4byte sPSSData -_0809374C: .4byte 0x0000217c -_08093750: .4byte gPlayerParty -_08093754: .4byte sBoxCursorPosition -_08093758: .4byte 0x00002179 -_0809375C: .4byte 0x00002178 -_08093760: .4byte 0x0000217a -_08093764: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl GetBoxedMonPtr - ldr r3, _080937A0 @ =sPSSData - ldr r2, [r3] - ldr r4, _080937A4 @ =0x0000217c - adds r1, r2, r4 - str r0, [r1] - ldr r0, _080937A8 @ =sBoxCursorPosition - ldrb r0, [r0] - ldr r1, _080937AC @ =0x00002179 - adds r2, r1 - strb r0, [r2] - ldr r0, [r3] - ldr r2, _080937B0 @ =0x00002178 - adds r0, r2 - movs r1, 0x1D - strb r1, [r0] - ldr r0, [r3] - subs r4, 0x2 - adds r0, r4 - movs r1, 0x5 - strb r1, [r0] -_0809379A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080937A0: .4byte sPSSData -_080937A4: .4byte 0x0000217c -_080937A8: .4byte sBoxCursorPosition -_080937AC: .4byte 0x00002179 -_080937B0: .4byte 0x00002178 - thumb_func_end sub_80936B8 - - thumb_func_start sub_80937B4 -sub_80937B4: @ 80937B4 - push {r4,lr} - ldr r0, _080937C4 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _080937C8 - bl sub_8093660 - b _080937D0 - .align 2, 0 -_080937C4: .4byte sIsMonBeingMoved -_080937C8: - ldr r4, _080937D8 @ =sBoxCursorPosition - bl GetLastViewedMonIndex - strb r0, [r4] -_080937D0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080937D8: .4byte sBoxCursorPosition - thumb_func_end sub_80937B4 - - thumb_func_start CompactPartySlots -CompactPartySlots: @ 80937DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r7, _08093828 @ =0x0000ffff - movs r6, 0 - movs r5, 0 - movs r0, 0x64 - mov r9, r0 - ldr r1, _0809382C @ =gPlayerParty - mov r8, r1 - subs r0, 0x65 - mov r10, r0 -_080937F8: - mov r0, r9 - muls r0, r6 - mov r1, r8 - adds r4, r0, r1 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - cmp r0, 0 - beq _08093830 - cmp r6, r5 - beq _08093820 - mov r0, r9 - muls r0, r5 - add r0, r8 - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy -_08093820: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - b _0809383A - .align 2, 0 -_08093828: .4byte 0x0000ffff -_0809382C: .4byte gPlayerParty -_08093830: - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, r10 - bne _0809383A - adds r7, r6, 0 -_0809383A: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _080937F8 - lsls r7, 16 - cmp r5, 0x5 - bhi _08093862 - movs r6, 0x64 - ldr r4, _08093874 @ =gPlayerParty -_0809384E: - adds r0, r5, 0 - muls r0, r6 - adds r0, r4 - bl ZeroMonData - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _0809384E -_08093862: - asrs r0, r7, 16 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08093874: .4byte gPlayerParty - thumb_func_end CompactPartySlots - - thumb_func_start sub_8093878 -sub_8093878: @ 8093878 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - ldr r2, _080938A8 @ =sPSSData - ldr r1, [r2] - ldr r3, _080938AC @ =0x00000ce7 - adds r1, r3 - strb r0, [r1] - ldr r0, _080938B0 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _080938B8 - ldr r0, [r2] - ldr r1, _080938B4 @ =0x000020a0 - adds r0, r1 - movs r1, 0x8 - mov r2, sp - bl SetMonData - b _080938EC - .align 2, 0 -_080938A8: .4byte sPSSData -_080938AC: .4byte 0x00000ce7 -_080938B0: .4byte sIsMonBeingMoved -_080938B4: .4byte 0x000020a0 -_080938B8: - ldr r4, _080938F4 @ =sBoxCursorArea - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0x1 - bne _080938D8 - ldr r0, _080938F8 @ =sBoxCursorPosition - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080938FC @ =gPlayerParty - adds r0, r1 - movs r1, 0x8 - mov r2, sp - bl SetMonData -_080938D8: - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - bne _080938EC - ldr r0, _080938F8 @ =sBoxCursorPosition - ldrb r0, [r0] - movs r1, 0x8 - mov r2, sp - bl SetBoxMonDataFromSelectedBox -_080938EC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080938F4: .4byte sBoxCursorArea -_080938F8: .4byte sBoxCursorPosition -_080938FC: .4byte gPlayerParty - thumb_func_end sub_8093878 - - thumb_func_start sub_8093900 -sub_8093900: @ 8093900 - push {lr} - ldr r0, _08093928 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _08093934 - ldr r0, _0809392C @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - bne _08093934 - ldr r0, _08093930 @ =sBoxCursorPosition - ldrb r0, [r0] - bl CountPartyAliveNonEggMonsExcept - lsls r0, 24 - cmp r0, 0 - bne _08093934 - movs r0, 0x1 - b _08093936 - .align 2, 0 -_08093928: .4byte sBoxCursorArea -_0809392C: .4byte sIsMonBeingMoved -_08093930: .4byte sBoxCursorPosition -_08093934: - movs r0, 0 -_08093936: - pop {r1} - bx r1 - thumb_func_end sub_8093900 - - thumb_func_start sub_809393C -sub_809393C: @ 809393C - push {lr} - ldr r0, _08093980 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _08093998 - ldr r0, _08093984 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _0809397C - ldr r0, _08093988 @ =sBoxCursorPosition - ldrb r0, [r0] - bl CountPartyAliveNonEggMonsExcept - lsls r0, 24 - cmp r0, 0 - bne _0809397C - ldr r0, _0809398C @ =sPSSData - ldr r1, [r0] - ldr r2, _08093990 @ =0x00000ce9 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _08093998 - ldr r2, _08093994 @ =0x000020a0 - adds r0, r1, r2 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08093998 -_0809397C: - movs r0, 0x1 - b _0809399A - .align 2, 0 -_08093980: .4byte sIsMonBeingMoved -_08093984: .4byte sBoxCursorArea -_08093988: .4byte sBoxCursorPosition -_0809398C: .4byte sPSSData -_08093990: .4byte 0x00000ce9 -_08093994: .4byte 0x000020a0 -_08093998: - movs r0, 0 -_0809399A: - pop {r1} - bx r1 - thumb_func_end sub_809393C - - thumb_func_start sub_80939A0 -sub_80939A0: @ 80939A0 - ldr r0, _080939A8 @ =sIsMonBeingMoved - ldrb r0, [r0] - bx lr - .align 2, 0 -_080939A8: .4byte sIsMonBeingMoved - thumb_func_end sub_80939A0 - - thumb_func_start sub_80939AC -sub_80939AC: @ 80939AC - push {lr} - movs r1, 0 - ldr r0, _080939C4 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x2 - bne _080939BE - movs r1, 0x1 -_080939BE: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080939C4: .4byte sBoxCursorArea - thumb_func_end sub_80939AC - - thumb_func_start sub_80939C8 -sub_80939C8: @ 80939C8 - push {lr} - movs r1, 0 - ldr r0, _080939EC @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bne _080939E6 - ldr r0, _080939F0 @ =sBoxCursorPosition - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _080939E6 - movs r1, 0x1 -_080939E6: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080939EC: .4byte sBoxCursorArea -_080939F0: .4byte sBoxCursorPosition - thumb_func_end sub_80939C8 - - thumb_func_start sub_80939F4 -sub_80939F4: @ 80939F4 - push {lr} - movs r1, 0 - ldr r0, _08093A0C @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _08093A06 - movs r1, 0x1 -_08093A06: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_08093A0C: .4byte sBoxCursorArea - thumb_func_end sub_80939F4 - - thumb_func_start sub_8093A10 -sub_8093A10: @ 8093A10 - push {r4,lr} - ldr r0, _08093A44 @ =sPSSData - ldr r1, [r0] - movs r2, 0 - ldr r3, _08093A48 @ =sIsMonBeingMoved - ldrb r0, [r3] - cmp r0, 0 - bne _08093A22 - movs r2, 0x1 -_08093A22: - ldr r4, _08093A4C @ =0x00000ce6 - adds r0, r1, r4 - strb r2, [r0] - ldrb r0, [r3] - cmp r0, 0 - bne _08093AA0 - ldr r0, _08093A50 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _08093A5A - cmp r0, 0x1 - bgt _08093A54 - cmp r0, 0 - beq _08093A8A - b _08093AA0 - .align 2, 0 -_08093A44: .4byte sPSSData -_08093A48: .4byte sIsMonBeingMoved -_08093A4C: .4byte 0x00000ce6 -_08093A50: .4byte sBoxCursorArea -_08093A54: - cmp r0, 0x3 - bgt _08093AA0 - b _08093A80 -_08093A5A: - ldr r1, _08093A78 @ =sBoxCursorPosition - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0x5 - bgt _08093A80 - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, _08093A7C @ =gPlayerParty - adds r0, r1 - movs r1, 0 - bl sub_8093AD0 - b _08093AA0 - .align 2, 0 -_08093A78: .4byte sBoxCursorPosition -_08093A7C: .4byte gPlayerParty -_08093A80: - movs r0, 0 - movs r1, 0x2 - bl sub_8093AD0 - b _08093AA0 -_08093A8A: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08093AA8 @ =sBoxCursorPosition - ldrb r1, [r1] - bl GetBoxedMonPtr - movs r1, 0x1 - bl sub_8093AD0 -_08093AA0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08093AA8: .4byte sBoxCursorPosition - thumb_func_end sub_8093A10 - - thumb_func_start sub_8093AAC -sub_8093AAC: @ 8093AAC - push {lr} - ldr r0, _08093AC0 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _08093AC8 - ldr r0, _08093AC4 @ =gUnknown_20397BC - movs r1, 0 - bl sub_8093AD0 - b _08093ACC - .align 2, 0 -_08093AC0: .4byte sIsMonBeingMoved -_08093AC4: .4byte gUnknown_20397BC -_08093AC8: - bl sub_8093A10 -_08093ACC: - pop {r0} - bx r0 - thumb_func_end sub_8093AAC - - thumb_func_start sub_8093AD0 -sub_8093AD0: @ 8093AD0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r5, r1, 0 - ldr r0, _08093B38 @ =sPSSData - mov r8, r0 - ldr r1, [r0] - ldr r3, _08093B3C @ =0x00000ce2 - adds r2, r1, r3 - movs r0, 0 - strh r0, [r2] - mov r9, r0 - mov r10, r0 - cmp r5, 0 - bne _08093BEC - adds r6, r4, 0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - mov r2, r8 - ldr r1, [r2] - movs r3, 0xCE - lsls r3, 4 - adds r1, r3 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _08093B16 - b _08093D0C -_08093B16: - adds r0, r4, 0 - movs r1, 0x4 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0 - beq _08093B44 - mov r1, r8 - ldr r0, [r1] - ldr r2, _08093B40 @ =0x00000ce9 - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - b _08093B56 - .align 2, 0 -_08093B38: .4byte sPSSData -_08093B3C: .4byte 0x00000ce2 -_08093B40: .4byte 0x00000ce9 -_08093B44: - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - mov r3, r8 - ldr r1, [r3] - ldr r2, _08093BCC @ =0x00000ce9 - adds r1, r2 - strb r0, [r1] -_08093B56: - ldr r4, _08093BD0 @ =sPSSData - ldr r2, [r4] - ldr r5, _08093BD4 @ =0x00000cea - adds r2, r5 - adds r0, r6, 0 - movs r1, 0x2 - bl GetMonData - ldr r0, [r4] - adds r0, r5 - bl StringGetEnd10 - adds r0, r6, 0 - movs r1, 0x38 - bl GetMonData - ldr r1, [r4] - ldr r3, _08093BD8 @ =0x00000ce8 - adds r1, r3 - strb r0, [r1] - adds r0, r6, 0 - movs r1, 0x8 - bl GetMonData - ldr r1, [r4] - ldr r2, _08093BDC @ =0x00000ce7 - adds r1, r2 - strb r0, [r1] - adds r0, r6, 0 - movs r1, 0 - bl GetMonData - ldr r1, [r4] - ldr r3, _08093BE0 @ =0x00000cdc - adds r1, r3 - str r0, [r1] - adds r0, r6, 0 - bl GetMonFrontSpritePal - ldr r1, [r4] - ldr r2, _08093BE4 @ =0x00000cd8 - adds r1, r2 - str r0, [r1] - adds r0, r6, 0 - bl GetMonGender - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - adds r0, r6, 0 - movs r1, 0xC - bl GetMonData - ldr r1, [r4] - ldr r3, _08093BE8 @ =0x00000ce2 - adds r1, r3 - strh r0, [r1] - b _08093CFC - .align 2, 0 -_08093BCC: .4byte 0x00000ce9 -_08093BD0: .4byte sPSSData -_08093BD4: .4byte 0x00000cea -_08093BD8: .4byte 0x00000ce8 -_08093BDC: .4byte 0x00000ce7 -_08093BE0: .4byte 0x00000cdc -_08093BE4: .4byte 0x00000cd8 -_08093BE8: .4byte 0x00000ce2 -_08093BEC: - cmp r5, 0x1 - beq _08093BF2 - b _08093CF0 -_08093BF2: - adds r7, r4, 0 - adds r0, r7, 0 - movs r1, 0x41 - bl GetBoxMonData - mov r2, r8 - ldr r1, [r2] - movs r3, 0xCE - lsls r3, 4 - adds r1, r3 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _08093C10 - b _08093D0C -_08093C10: - adds r0, r7, 0 - movs r1, 0x1 - bl GetBoxMonData - mov r9, r0 - adds r0, r7, 0 - movs r1, 0x4 - bl GetBoxMonData - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0 - beq _08093C3C - mov r1, r8 - ldr r0, [r1] - ldr r2, _08093C38 @ =0x00000ce9 - adds r0, r2 - strb r5, [r0] - b _08093C4E - .align 2, 0 -_08093C38: .4byte 0x00000ce9 -_08093C3C: - adds r0, r7, 0 - movs r1, 0x2D - bl GetBoxMonData - mov r3, r8 - ldr r1, [r3] - ldr r2, _08093CD0 @ =0x00000ce9 - adds r1, r2 - strb r0, [r1] -_08093C4E: - ldr r5, _08093CD4 @ =sPSSData - ldr r2, [r5] - ldr r4, _08093CD8 @ =0x00000cea - adds r2, r4 - adds r0, r7, 0 - movs r1, 0x2 - bl GetBoxMonData - ldr r0, [r5] - adds r0, r4 - bl StringGetEnd10 - adds r0, r7, 0 - bl GetLevelFromBoxMonExp - ldr r1, [r5] - ldr r3, _08093CDC @ =0x00000ce8 - adds r1, r3 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x8 - bl GetBoxMonData - ldr r1, [r5] - ldr r2, _08093CE0 @ =0x00000ce7 - adds r1, r2 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0 - bl GetBoxMonData - adds r2, r0, 0 - ldr r1, [r5] - ldr r6, _08093CE4 @ =0x00000cdc - adds r0, r1, r6 - str r2, [r0] - subs r4, 0xA - adds r1, r4 - ldrh r0, [r1] - mov r1, r9 - bl GetMonSpritePalFromSpeciesAndPersonality - ldr r1, [r5] - ldr r3, _08093CE8 @ =0x00000cd8 - adds r2, r1, r3 - str r0, [r2] - adds r4, r1, r4 - ldrh r0, [r4] - adds r1, r6 - ldr r1, [r1] - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - adds r0, r7, 0 - movs r1, 0xC - bl GetBoxMonData - ldr r1, [r5] - ldr r2, _08093CEC @ =0x00000ce2 - adds r1, r2 - strh r0, [r1] - b _08093CFC - .align 2, 0 -_08093CD0: .4byte 0x00000ce9 -_08093CD4: .4byte sPSSData -_08093CD8: .4byte 0x00000cea -_08093CDC: .4byte 0x00000ce8 -_08093CE0: .4byte 0x00000ce7 -_08093CE4: .4byte 0x00000cdc -_08093CE8: .4byte 0x00000cd8 -_08093CEC: .4byte 0x00000ce2 -_08093CF0: - movs r3, 0xCE - lsls r3, 4 - adds r0, r1, r3 - mov r1, r9 - strh r1, [r0] - strh r1, [r2] -_08093CFC: - ldr r0, _08093D50 @ =sPSSData - ldr r1, [r0] - movs r2, 0xCE - lsls r2, 4 - adds r0, r1, r2 - ldrh r2, [r0] - cmp r2, 0 - bne _08093D68 -_08093D0C: - ldr r4, _08093D50 @ =sPSSData - ldr r0, [r4] - ldr r3, _08093D54 @ =0x00000cea - adds r0, r3 - movs r1, 0 - movs r2, 0x5 - bl StringFill - ldr r0, [r4] - ldr r1, _08093D58 @ =0x00000cf5 - adds r0, r1 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r2, _08093D5C @ =0x00000d19 - adds r0, r2 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r3, _08093D60 @ =0x00000d3d - adds r0, r3 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r1, _08093D64 @ =0x00000d61 - adds r0, r1 - b _08093DC6 - .align 2, 0 -_08093D50: .4byte sPSSData -_08093D54: .4byte 0x00000cea -_08093D58: .4byte 0x00000cf5 -_08093D5C: .4byte 0x00000d19 -_08093D60: .4byte 0x00000d3d -_08093D64: .4byte 0x00000d61 -_08093D68: - ldr r3, _08093D8C @ =0x00000ce9 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _08093DE8 - mov r0, r10 - cmp r0, 0 - beq _08093D94 - ldr r2, _08093D90 @ =0x00000cf5 - adds r0, r1, r2 - adds r3, 0x1 - adds r1, r3 - movs r2, 0 - movs r3, 0x5 - bl StringCopyPadded - b _08093DA2 - .align 2, 0 -_08093D8C: .4byte 0x00000ce9 -_08093D90: .4byte 0x00000cf5 -_08093D94: - ldr r2, _08093DD0 @ =0x00000cf5 - adds r0, r1, r2 - ldr r1, _08093DD4 @ =gText_EggNickname - movs r2, 0 - movs r3, 0x8 - bl StringCopyPadded -_08093DA2: - ldr r4, _08093DD8 @ =sPSSData - ldr r0, [r4] - ldr r3, _08093DDC @ =0x00000d19 - adds r0, r3 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r1, _08093DE0 @ =0x00000d3d - adds r0, r1 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r2, _08093DE4 @ =0x00000d61 - adds r0, r2 -_08093DC6: - movs r1, 0 - movs r2, 0x8 - bl StringFill - b _08093F84 - .align 2, 0 -_08093DD0: .4byte 0x00000cf5 -_08093DD4: .4byte gText_EggNickname -_08093DD8: .4byte sPSSData -_08093DDC: .4byte 0x00000d19 -_08093DE0: .4byte 0x00000d3d -_08093DE4: .4byte 0x00000d61 -_08093DE8: - cmp r2, 0x1D - beq _08093DF0 - cmp r2, 0x20 - bne _08093DF4 -_08093DF0: - movs r3, 0xFF - mov r9, r3 -_08093DF4: - ldr r4, _08093E78 @ =sPSSData - ldr r1, [r4] - ldr r2, _08093E7C @ =0x00000cf5 - adds r0, r1, r2 - ldr r3, _08093E80 @ =0x00000cea - adds r1, r3 - movs r2, 0 - movs r3, 0x5 - bl StringCopyPadded - ldr r1, [r4] - ldr r0, _08093E84 @ =0x00000d19 - adds r2, r1, r0 - movs r0, 0xBA - strb r0, [r2] - ldr r3, _08093E88 @ =0x00000d1a - adds r2, r1, r3 - ldr r0, [r4] - movs r1, 0xCE - lsls r1, 4 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xB - muls r1, r0 - ldr r0, _08093E8C @ =gSpeciesNames - adds r1, r0 - adds r0, r2, 0 - movs r2, 0 - movs r3, 0x5 - bl StringCopyPadded - ldr r4, [r4] - ldr r3, _08093E90 @ =0x00000d3d - adds r2, r4, r3 - movs r0, 0xFC - strb r0, [r2] - ldr r0, _08093E94 @ =0x00000d3e - adds r2, r4, r0 - movs r0, 0x4 - strb r0, [r2] - ldr r1, _08093E98 @ =0x00000d3f - adds r2, r4, r1 - mov r3, r9 - cmp r3, 0 - beq _08093EA4 - cmp r3, 0xFE - beq _08093ED0 - movs r0, 0x2 - strb r0, [r2] - movs r0, 0xD4 - lsls r0, 4 - adds r2, r4, r0 - movs r0, 0x1 - strb r0, [r2] - adds r1, 0x2 - adds r2, r4, r1 - movs r0, 0x3 - strb r0, [r2] - ldr r3, _08093E9C @ =0x00000d42 - adds r2, r4, r3 - movs r0, 0 - strb r0, [r2] - ldr r0, _08093EA0 @ =0x00000d43 - adds r2, r4, r0 - b _08093EF2 - .align 2, 0 -_08093E78: .4byte sPSSData -_08093E7C: .4byte 0x00000cf5 -_08093E80: .4byte 0x00000cea -_08093E84: .4byte 0x00000d19 -_08093E88: .4byte 0x00000d1a -_08093E8C: .4byte gSpeciesNames -_08093E90: .4byte 0x00000d3d -_08093E94: .4byte 0x00000d3e -_08093E98: .4byte 0x00000d3f -_08093E9C: .4byte 0x00000d42 -_08093EA0: .4byte 0x00000d43 -_08093EA4: - strb r0, [r2] - movs r1, 0xD4 - lsls r1, 4 - adds r2, r4, r1 - movs r0, 0x1 - strb r0, [r2] - ldr r3, _08093EC8 @ =0x00000d41 - adds r2, r4, r3 - movs r0, 0x5 - strb r0, [r2] - ldr r0, _08093ECC @ =0x00000d42 - adds r2, r4, r0 - movs r0, 0xB5 - strb r0, [r2] - adds r1, 0x3 - adds r2, r4, r1 - b _08093EF2 - .align 2, 0 -_08093EC8: .4byte 0x00000d41 -_08093ECC: .4byte 0x00000d42 -_08093ED0: - movs r0, 0x6 - strb r0, [r2] - movs r3, 0xD4 - lsls r3, 4 - adds r2, r4, r3 - movs r0, 0x1 - strb r0, [r2] - ldr r0, _08093F60 @ =0x00000d41 - adds r2, r4, r0 - movs r0, 0x7 - strb r0, [r2] - ldr r1, _08093F64 @ =0x00000d42 - adds r2, r4, r1 - movs r0, 0xB6 - strb r0, [r2] - adds r3, 0x3 - adds r2, r4, r3 -_08093EF2: - movs r0, 0xFC - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x4 - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x2 - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x1 - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x3 - strb r0, [r2] - adds r2, 0x1 - movs r5, 0 - strb r5, [r2] - adds r2, 0x1 - movs r0, 0xF9 - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x5 - strb r0, [r2] - adds r2, 0x1 - ldr r4, _08093F68 @ =sPSSData - ldr r0, [r4] - ldr r1, _08093F6C @ =0x00000ce8 - adds r0, r1 - ldrb r1, [r0] - adds r0, r2, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r2, r0, 0 - strb r5, [r2] - movs r0, 0xFF - strb r0, [r2, 0x1] - ldr r4, [r4] - ldr r2, _08093F70 @ =0x00000ce2 - adds r1, r4, r2 - ldrh r0, [r1] - cmp r0, 0 - beq _08093F78 - ldr r3, _08093F74 @ =0x00000d61 - adds r4, r3 - bl ItemId_GetName - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x8 - bl StringCopyPadded - b _08093F84 - .align 2, 0 -_08093F60: .4byte 0x00000d41 -_08093F64: .4byte 0x00000d42 -_08093F68: .4byte sPSSData -_08093F6C: .4byte 0x00000ce8 -_08093F70: .4byte 0x00000ce2 -_08093F74: .4byte 0x00000d61 -_08093F78: - ldr r1, _08093F94 @ =0x00000d61 - adds r0, r4, r1 - movs r1, 0 - movs r2, 0x8 - bl StringFill -_08093F84: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08093F94: .4byte 0x00000d61 - thumb_func_end sub_8093AD0 - - thumb_func_start sub_8093F98 -sub_8093F98: @ 8093F98 - push {lr} - ldr r0, _08093FB8 @ =sPSSData - ldr r0, [r0] - ldr r1, _08093FBC @ =0x000021ef - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08093FC0 - cmp r0, 0x1 - ble _08093FB0 - cmp r0, 0x2 - beq _08093FC6 -_08093FB0: - bl sub_8093FD4 - b _08093FCA - .align 2, 0 -_08093FB8: .4byte sPSSData -_08093FBC: .4byte 0x000021ef -_08093FC0: - bl sub_8094240 - b _08093FCA -_08093FC6: - bl sub_8094378 -_08093FCA: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8093F98 - - thumb_func_start sub_8093FD4 -sub_8093FD4: @ 8093FD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _08094058 @ =sBoxCursorArea - ldrb r0, [r0] - mov r8, r0 - ldr r2, _0809405C @ =sBoxCursorPosition - ldrb r4, [r2] - ldr r5, _08094060 @ =sPSSData - ldr r0, [r5] - ldr r1, _08094064 @ =0x00000cce - mov r10, r1 - add r0, r10 - movs r1, 0 - strb r1, [r0] - ldr r0, [r5] - ldr r7, _08094068 @ =0x00000ccf - adds r0, r7 - strb r1, [r0] - ldr r0, [r5] - ldr r3, _0809406C @ =0x00000cd3 - mov r9, r3 - add r0, r9 - strb r1, [r0] - ldr r6, _08094070 @ =gMain - ldrh r1, [r6, 0x30] - movs r0, 0x40 - ands r0, r1 - adds r3, r2, 0 - cmp r0, 0 - beq _08094018 - b _08094208 -_08094018: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08094074 - movs r6, 0x1 - lsls r0, r4, 24 - movs r1, 0xC0 - lsls r1, 19 - adds r0, r1 - lsrs r4, r0, 24 - asrs r0, 24 - cmp r0, 0x1D - bgt _08094034 - b _08094224 -_08094034: - movs r2, 0x3 - mov r8, r2 - subs r0, 0x1E - lsls r0, 24 - asrs r0, 24 - movs r1, 0x3 - bl __divsi3 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [r5] - add r0, r10 - strb r6, [r0] - ldr r0, [r5] - add r0, r9 - strb r6, [r0] - b _08094224 - .align 2, 0 -_08094058: .4byte sBoxCursorArea -_0809405C: .4byte sBoxCursorPosition -_08094060: .4byte sPSSData -_08094064: .4byte 0x00000cce -_08094068: .4byte 0x00000ccf -_0809406C: .4byte 0x00000cd3 -_08094070: .4byte gMain -_08094074: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080940AA - movs r6, 0x1 - movs r0, 0 - ldrsb r0, [r3, r0] - movs r1, 0x6 - bl __modsi3 - lsls r0, 24 - cmp r0, 0 - beq _08094096 - lsls r0, r4, 24 - movs r3, 0xFF - lsls r3, 24 - b _08094218 -_08094096: - ldr r0, [r5] - adds r0, r7 - movs r1, 0xFF - strb r1, [r0] - lsls r0, r4, 24 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - lsrs r4, r0, 24 - b _08094224 -_080940AA: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080940DE - movs r6, 0x1 - movs r0, 0 - ldrsb r0, [r3, r0] - adds r0, 0x1 - movs r1, 0x6 - bl __modsi3 - cmp r0, 0 - beq _080940D0 - lsls r0, r4, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r4, r0, 24 - b _08094224 -_080940D0: - ldr r0, [r5] - adds r0, r7 - strb r6, [r0] - lsls r0, r4, 24 - movs r3, 0xFB - lsls r3, 24 - b _08094218 -_080940DE: - ldrh r1, [r6, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080940EC - movs r6, 0x1 - b _0809421E -_080940EC: - movs r4, 0x1 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080941B0 - bl sub_8094924 - lsls r0, 24 - cmp r0, 0 - beq _080941B0 - ldr r0, _0809410C @ =sCanOnlyMove - ldrb r0, [r0] - cmp r0, 0 - bne _08094110 - movs r0, 0x8 - b _08094232 - .align 2, 0 -_0809410C: .4byte sCanOnlyMove -_08094110: - ldr r1, [r5] - ldrb r0, [r1, 0x1] - cmp r0, 0x2 - bne _08094120 - ldr r0, _0809413C @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0x1 - bne _080941A0 -_08094120: - movs r0, 0 - bl sub_8094E50 - subs r0, 0x1 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xE - bhi _080941B0 - lsls r0, 2 - ldr r1, _08094140 @ =_08094144 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809413C: .4byte sIsMonBeingMoved -_08094140: .4byte _08094144 - .align 2, 0 -_08094144: - .4byte _08094180 - .4byte _08094184 - .4byte _08094188 - .4byte _0809418C - .4byte _08094190 - .4byte _080941B0 - .4byte _080941B0 - .4byte _080941B0 - .4byte _080941B0 - .4byte _080941B0 - .4byte _080941B0 - .4byte _08094194 - .4byte _08094198 - .4byte _080941B0 - .4byte _0809419C -_08094180: - movs r0, 0xB - b _08094232 -_08094184: - movs r0, 0xC - b _08094232 -_08094188: - movs r0, 0xD - b _08094232 -_0809418C: - movs r0, 0xE - b _08094232 -_08094190: - movs r0, 0xF - b _08094232 -_08094194: - movs r0, 0x10 - b _08094232 -_08094198: - movs r0, 0x11 - b _08094232 -_0809419C: - movs r0, 0x12 - b _08094232 -_080941A0: - ldr r2, _080941AC @ =0x000021ef - adds r0, r1, r2 - strb r4, [r0] - movs r0, 0x14 - b _08094232 - .align 2, 0 -_080941AC: .4byte 0x000021ef -_080941B0: - ldr r2, _080941C0 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080941C4 - movs r0, 0x13 - b _08094232 - .align 2, 0 -_080941C0: .4byte gMain -_080941C4: - ldr r0, _080941E0 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _080941F2 - ldrh r1, [r2, 0x2C] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _080941E4 - movs r0, 0xA - b _08094232 - .align 2, 0 -_080941E0: .4byte gSaveBlock2Ptr -_080941E4: - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080941F2 - movs r0, 0x9 - b _08094232 -_080941F2: - ldrh r1, [r2, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08094204 - bl sub_8094C84 - movs r0, 0 - b _08094232 -_08094204: - movs r6, 0 - b _08094230 -_08094208: - movs r6, 0x1 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0x5 - ble _0809421E - lsls r0, r4, 24 - movs r3, 0xFA - lsls r3, 24 -_08094218: - adds r0, r3 - lsrs r4, r0, 24 - b _08094224 -_0809421E: - movs r0, 0x2 - mov r8, r0 - movs r4, 0 -_08094224: - cmp r6, 0 - beq _08094230 - mov r0, r8 - adds r1, r4, 0 - bl sub_80927E8 -_08094230: - adds r0, r6, 0 -_08094232: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093FD4 - - thumb_func_start sub_8094240 -sub_8094240: @ 8094240 - push {r4,lr} - ldr r1, _08094270 @ =gMain - ldrh r0, [r1, 0x2C] - movs r4, 0x1 - ands r4, r0 - cmp r4, 0 - beq _080942F4 - ldrh r1, [r1, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08094278 - ldr r4, _08094274 @ =sBoxCursorPosition - movs r0, 0 - ldrsb r0, [r4, r0] - movs r1, 0x6 - bl __divsi3 - lsls r0, 24 - cmp r0, 0 - beq _080942EC - ldrb r1, [r4] - subs r1, 0x6 - b _080942DA - .align 2, 0 -_08094270: .4byte gMain -_08094274: .4byte sBoxCursorPosition -_08094278: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08094298 - ldr r1, _08094294 @ =sBoxCursorPosition - movs r0, 0 - ldrsb r0, [r1, r0] - adds r0, 0x6 - cmp r0, 0x1D - bgt _080942EC - ldrb r1, [r1] - adds r1, 0x6 - b _080942DA - .align 2, 0 -_08094294: .4byte sBoxCursorPosition -_08094298: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080942BC - ldr r4, _080942B8 @ =sBoxCursorPosition - movs r0, 0 - ldrsb r0, [r4, r0] - movs r1, 0x6 - bl __modsi3 - lsls r0, 24 - cmp r0, 0 - beq _080942EC - ldrb r1, [r4] - subs r1, 0x1 - b _080942DA - .align 2, 0 -_080942B8: .4byte sBoxCursorPosition -_080942BC: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080942F0 - ldr r4, _080942E8 @ =sBoxCursorPosition - movs r0, 0 - ldrsb r0, [r4, r0] - adds r0, 0x1 - movs r1, 0x6 - bl __modsi3 - cmp r0, 0 - beq _080942EC - ldrb r1, [r4] - adds r1, 0x1 -_080942DA: - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_80927E8 - movs r0, 0x15 - b _08094364 - .align 2, 0 -_080942E8: .4byte sBoxCursorPosition -_080942EC: - movs r0, 0x18 - b _08094364 -_080942F0: - movs r0, 0 - b _08094364 -_080942F4: - bl sub_8095AA0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08094330 @ =sBoxCursorPosition - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - cmp r0, r1 - beq _08094344 - ldr r2, _08094334 @ =sIsMonBeingMoved - ldr r0, _08094338 @ =sPSSData - ldr r1, [r0] - movs r3, 0xCE - lsls r3, 4 - adds r0, r1, r3 - ldrh r0, [r0] - negs r0, r0 - lsrs r0, 31 - strb r0, [r2] - ldr r0, _0809433C @ =0x000021ef - adds r1, r0 - movs r0, 0x2 - strb r0, [r1] - bl StorageGetCurrentBox - ldr r1, _08094340 @ =sMovingMonOrigBoxId - strb r0, [r1] - movs r0, 0x17 - b _08094364 - .align 2, 0 -_08094330: .4byte sBoxCursorPosition -_08094334: .4byte sIsMonBeingMoved -_08094338: .4byte sPSSData -_0809433C: .4byte 0x000021ef -_08094340: .4byte sMovingMonOrigBoxId -_08094344: - ldr r1, _0809436C @ =sPSSData - ldr r0, [r1] - ldr r2, _08094370 @ =0x000021ef - adds r0, r2 - strb r4, [r0] - ldr r0, [r1] - ldr r3, _08094374 @ =0x00000cb4 - adds r0, r3 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - movs r0, 0x16 -_08094364: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0809436C: .4byte sPSSData -_08094370: .4byte 0x000021ef -_08094374: .4byte 0x00000cb4 - thumb_func_end sub_8094240 - - thumb_func_start sub_8094378 -sub_8094378: @ 8094378 - push {r4,lr} - ldr r2, _0809439C @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080943A4 - movs r0, 0 - bl sub_8095474 - lsls r0, 24 - cmp r0, 0 - beq _08094450 - ldr r0, _080943A0 @ =sBoxCursorPosition - ldrb r1, [r0] - subs r1, 0x6 - b _08094402 - .align 2, 0 -_0809439C: .4byte gMain -_080943A0: .4byte sBoxCursorPosition -_080943A4: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080943C4 - movs r0, 0x1 - bl sub_8095474 - lsls r0, 24 - cmp r0, 0 - beq _08094450 - ldr r0, _080943C0 @ =sBoxCursorPosition - ldrb r1, [r0] - adds r1, 0x6 - b _08094402 - .align 2, 0 -_080943C0: .4byte sBoxCursorPosition -_080943C4: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080943E4 - movs r0, 0x2 - bl sub_8095474 - lsls r0, 24 - cmp r0, 0 - beq _0809446A - ldr r0, _080943E0 @ =sBoxCursorPosition - ldrb r1, [r0] - subs r1, 0x1 - b _08094402 - .align 2, 0 -_080943E0: .4byte sBoxCursorPosition -_080943E4: - movs r0, 0x10 - ands r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _08094414 - movs r0, 0x3 - bl sub_8095474 - lsls r0, 24 - cmp r0, 0 - beq _0809447E - ldr r0, _08094410 @ =sBoxCursorPosition - ldrb r1, [r0] - adds r1, 0x1 -_08094402: - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_80927E8 - movs r0, 0x19 - b _08094484 - .align 2, 0 -_08094410: .4byte sBoxCursorPosition -_08094414: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08094448 - bl sub_8095ABC - lsls r0, 24 - cmp r0, 0 - beq _08094450 - ldr r0, _0809443C @ =sIsMonBeingMoved - strb r4, [r0] - ldr r0, _08094440 @ =sPSSData - ldr r0, [r0] - ldr r1, _08094444 @ =0x000021ef - adds r0, r1 - strb r4, [r0] - movs r0, 0x1A - b _08094484 - .align 2, 0 -_0809443C: .4byte sIsMonBeingMoved -_08094440: .4byte sPSSData -_08094444: .4byte 0x000021ef -_08094448: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08094454 -_08094450: - movs r0, 0x18 - b _08094484 -_08094454: - ldr r0, _08094470 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _08094482 - ldrh r1, [r2, 0x2C] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _08094474 -_0809446A: - movs r0, 0xA - b _08094484 - .align 2, 0 -_08094470: .4byte gSaveBlock2Ptr -_08094474: - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08094482 -_0809447E: - movs r0, 0x9 - b _08094484 -_08094482: - movs r0, 0 -_08094484: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8094378 - - thumb_func_start sub_809448C -sub_809448C: @ 809448C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _080944FC @ =sBoxCursorArea - ldrb r0, [r0] - mov r9, r0 - ldr r6, _08094500 @ =sBoxCursorPosition - ldrb r4, [r6] - ldr r2, _08094504 @ =sPSSData - ldr r0, [r2] - ldr r1, _08094508 @ =0x00000ccf - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - ldr r3, _0809450C @ =0x00000cce - adds r0, r3 - strb r1, [r0] - ldr r0, [r2] - adds r3, 0x5 - adds r0, r3 - strb r1, [r0] - mov r8, r1 - movs r7, 0 - ldr r1, _08094510 @ =gMain - ldrh r3, [r1, 0x30] - movs r0, 0x40 - ands r0, r3 - adds r5, r6, 0 - mov r12, r1 - cmp r0, 0 - beq _080944D0 - b _08094670 -_080944D0: - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _08094514 - lsls r0, r4, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r4, r0, 24 - asrs r0, 24 - cmp r0, 0x6 - ble _080944EA - movs r4, 0 -_080944EA: - lsls r0, r4, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r5, r1] - cmp r0, r1 - bne _080944F8 - b _0809468E -_080944F8: - movs r7, 0x1 - b _08094692 - .align 2, 0 -_080944FC: .4byte sBoxCursorArea -_08094500: .4byte sBoxCursorPosition -_08094504: .4byte sPSSData -_08094508: .4byte 0x00000ccf -_0809450C: .4byte 0x00000cce -_08094510: .4byte gMain -_08094514: - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _08094538 - ldrb r1, [r5] - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0 - beq _08094538 - movs r7, 0x1 - ldr r0, [r2] - ldr r2, _08094534 @ =0x00000cd2 - adds r0, r2 - strb r1, [r0] - movs r4, 0 - b _0809468E - .align 2, 0 -_08094534: .4byte 0x00000cd2 -_08094538: - mov r3, r12 - ldrh r1, [r3, 0x30] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08094566 - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0 - bne _0809455C - movs r7, 0x1 - ldr r0, [r2] - ldr r1, _08094558 @ =0x00000cd2 - adds r0, r1 - ldrb r4, [r0] - b _0809468E - .align 2, 0 -_08094558: .4byte 0x00000cd2 -_0809455C: - movs r7, 0x6 - movs r2, 0 - mov r9, r2 - movs r4, 0 - b _0809468E -_08094566: - mov r3, r12 - ldrh r1, [r3, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08094624 - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0x6 - bne _0809458C - ldr r0, [r2] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bne _08094586 - movs r0, 0x4 - b _080946A0 -_08094586: - movs r0, 0x1 - mov r8, r0 - b _08094624 -_0809458C: - bl sub_8094924 - lsls r0, 24 - cmp r0, 0 - beq _08094624 - ldr r0, _080945A4 @ =sCanOnlyMove - ldrb r0, [r0] - cmp r0, 0 - bne _080945A8 - movs r0, 0x8 - b _080946A0 - .align 2, 0 -_080945A4: .4byte sCanOnlyMove -_080945A8: - movs r0, 0 - bl sub_8094E50 - subs r0, 0x1 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xE - bhi _08094624 - lsls r0, 2 - ldr r1, _080945C4 @ =_080945C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080945C4: .4byte _080945C8 - .align 2, 0 -_080945C8: - .4byte _08094604 - .4byte _08094608 - .4byte _0809460C - .4byte _08094610 - .4byte _08094614 - .4byte _08094624 - .4byte _08094624 - .4byte _08094624 - .4byte _08094624 - .4byte _08094624 - .4byte _08094624 - .4byte _08094618 - .4byte _0809461C - .4byte _08094624 - .4byte _08094620 -_08094604: - movs r0, 0xB - b _080946A0 -_08094608: - movs r0, 0xC - b _080946A0 -_0809460C: - movs r0, 0xD - b _080946A0 -_08094610: - movs r0, 0xE - b _080946A0 -_08094614: - movs r0, 0xF - b _080946A0 -_08094618: - movs r0, 0x10 - b _080946A0 -_0809461C: - movs r0, 0x11 - b _080946A0 -_08094620: - movs r0, 0x12 - b _080946A0 -_08094624: - ldr r2, _08094640 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - mov r12, r2 - cmp r0, 0 - beq _0809464C - ldr r0, _08094644 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bne _08094648 - movs r0, 0x13 - b _080946A0 - .align 2, 0 -_08094640: .4byte gMain -_08094644: .4byte sPSSData -_08094648: - movs r1, 0x1 - mov r8, r1 -_0809464C: - mov r2, r8 - cmp r2, 0 - beq _0809465C - movs r7, 0x6 - movs r3, 0 - mov r9, r3 - movs r4, 0 - b _0809468E -_0809465C: - mov r0, r12 - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0809468E - bl sub_8094C84 - movs r0, 0 - b _080946A0 -_08094670: - lsls r0, r4, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r4, r0, 24 - cmp r0, 0 - bge _08094680 - movs r4, 0x6 -_08094680: - lsls r0, r4, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r6, r1] - cmp r0, r1 - beq _0809468E - movs r7, 0x1 -_0809468E: - cmp r7, 0 - beq _0809469E -_08094692: - cmp r7, 0x6 - beq _0809469E - mov r0, r9 - adds r1, r4, 0 - bl sub_80927E8 -_0809469E: - adds r0, r7, 0 -_080946A0: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809448C - - thumb_func_start sub_80946AC -sub_80946AC: @ 80946AC - push {r4-r6,lr} - ldr r3, _080946E8 @ =sPSSData - ldr r0, [r3] - ldr r1, _080946EC @ =0x00000ccf - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r3] - ldr r2, _080946F0 @ =0x00000cce - adds r0, r2 - strb r1, [r0] - ldr r0, [r3] - ldr r5, _080946F4 @ =0x00000cd3 - adds r0, r5 - strb r1, [r0] - ldr r1, _080946F8 @ =gMain - ldrh r2, [r1, 0x30] - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - bne _08094772 - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _080946FC - movs r4, 0x1 - movs r1, 0 - movs r6, 0x2 - b _0809477E - .align 2, 0 -_080946E8: .4byte sPSSData -_080946EC: .4byte 0x00000ccf -_080946F0: .4byte 0x00000cce -_080946F4: .4byte 0x00000cd3 -_080946F8: .4byte gMain -_080946FC: - ldrh r2, [r1, 0x2C] - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - bne _08094722 - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - bne _08094736 - ldr r0, _08094728 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _0809473A - movs r0, 0x80 - lsls r0, 2 - ands r0, r2 - cmp r0, 0 - beq _0809472C -_08094722: - movs r0, 0xA - b _0809479A - .align 2, 0 -_08094728: .4byte gSaveBlock2Ptr -_0809472C: - movs r0, 0x80 - lsls r0, 1 - ands r0, r2 - cmp r0, 0 - beq _0809473A -_08094736: - movs r0, 0x9 - b _0809479A -_0809473A: - ldrh r1, [r1, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08094752 - movs r0, 0 - bl sub_80920FC - bl sub_8094900 - movs r0, 0x7 - b _0809479A -_08094752: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809475E - movs r0, 0x13 - b _0809479A -_0809475E: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0809476E - bl sub_8094C84 - movs r0, 0 - b _0809479A -_0809476E: - movs r4, 0 - b _08094798 -_08094772: - movs r4, 0x1 - movs r1, 0x3 - movs r6, 0 - ldr r0, [r3] - adds r0, r5 - strb r4, [r0] -_0809477E: - cmp r4, 0 - beq _08094798 - lsls r5, r1, 24 - cmp r1, 0x2 - beq _0809478E - movs r0, 0 - bl sub_80920FC -_0809478E: - lsrs r0, r5, 24 - lsls r1, r6, 24 - lsrs r1, 24 - bl sub_80927E8 -_08094798: - adds r0, r4, 0 -_0809479A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80946AC - - thumb_func_start sub_80947A0 -sub_80947A0: @ 80947A0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _080947F0 @ =sBoxCursorArea - ldrb r0, [r0] - mov r8, r0 - ldr r0, _080947F4 @ =sBoxCursorPosition - mov r12, r0 - ldrb r2, [r0] - ldr r3, _080947F8 @ =sPSSData - ldr r0, [r3] - ldr r1, _080947FC @ =0x00000ccf - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r3] - ldr r6, _08094800 @ =0x00000cce - adds r0, r6 - strb r1, [r0] - ldr r0, [r3] - ldr r5, _08094804 @ =0x00000cd3 - adds r0, r5 - strb r1, [r0] - ldr r7, _08094808 @ =gMain - ldrh r1, [r7, 0x30] - movs r0, 0x40 - ands r0, r1 - adds r4, r3, 0 - cmp r0, 0 - bne _0809487A - movs r0, 0x88 - ands r0, r1 - cmp r0, 0 - beq _0809480C - movs r7, 0x1 - movs r0, 0x2 - mov r8, r0 - movs r2, 0 - ldr r0, [r4] - b _08094898 - .align 2, 0 -_080947F0: .4byte sBoxCursorArea -_080947F4: .4byte sBoxCursorPosition -_080947F8: .4byte sPSSData -_080947FC: .4byte 0x00000ccf -_08094800: .4byte 0x00000cce -_08094804: .4byte 0x00000cd3 -_08094808: .4byte gMain -_0809480C: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08094828 - movs r7, 0x1 - lsls r0, r2, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r2, r0, 24 - cmp r0, 0 - bge _0809489C - movs r2, 0x1 - b _0809489C -_08094828: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08094846 - movs r7, 0x1 - lsls r0, r2, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r2, r0, 24 - asrs r0, 24 - cmp r0, 0x1 - ble _0809489C - movs r2, 0 - b _0809489C -_08094846: - ldrh r1, [r7, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809485A - movs r0, 0x4 - cmp r2, 0 - bne _080948AA - movs r0, 0x5 - b _080948AA -_0809485A: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08094866 - movs r0, 0x13 - b _080948AA -_08094866: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08094876 - bl sub_8094C84 - movs r0, 0 - b _080948AA -_08094876: - movs r7, 0 - b _080948A8 -_0809487A: - movs r7, 0x1 - movs r0, 0 - mov r8, r0 - ldr r0, [r3] - adds r0, r6 - movs r1, 0xFF - strb r1, [r0] - mov r1, r12 - movs r0, 0 - ldrsb r0, [r1, r0] - movs r2, 0x1D - cmp r0, 0 - bne _08094896 - movs r2, 0x18 -_08094896: - ldr r0, [r3] -_08094898: - adds r0, r5 - strb r7, [r0] -_0809489C: - cmp r7, 0 - beq _080948A8 - mov r0, r8 - adds r1, r2, 0 - bl sub_80927E8 -_080948A8: - adds r0, r7, 0 -_080948AA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80947A0 - - thumb_func_start sub_80948B4 -sub_80948B4: @ 80948B4 - push {r4,r5,lr} - movs r3, 0 - ldr r0, _080948E0 @ =gUnknown_83D3478 - ldr r1, [r0] - adds r4, r0, 0 - cmp r1, 0 - beq _080948F8 - ldr r5, _080948E4 @ =sBoxCursorArea -_080948C4: - lsls r0, r3, 3 - adds r2, r0, r4 - movs r1, 0x4 - ldrsb r1, [r2, r1] - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r1, r0 - bne _080948E8 - ldr r0, [r2] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - b _080948FA - .align 2, 0 -_080948E0: .4byte gUnknown_83D3478 -_080948E4: .4byte sBoxCursorArea -_080948E8: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - lsls r0, r3, 3 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - bne _080948C4 -_080948F8: - movs r0, 0 -_080948FA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80948B4 - - thumb_func_start sub_8094900 -sub_8094900: @ 8094900 - push {lr} - bl sub_8094DA8 - movs r0, 0x9 - bl sub_8094DEC - movs r0, 0xA - bl sub_8094DEC - movs r0, 0xB - bl sub_8094DEC - movs r0, 0 - bl sub_8094DEC - pop {r0} - bx r0 - thumb_func_end sub_8094900 - - thumb_func_start sub_8094924 -sub_8094924: @ 8094924 - push {lr} - bl sub_8094DA8 - ldr r0, _0809493C @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _08094940 - bl sub_8094A0C - b _08094944 - .align 2, 0 -_0809493C: .4byte sPSSData -_08094940: - bl sub_809494C -_08094944: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8094924 - - thumb_func_start sub_809494C -sub_809494C: @ 809494C - push {lr} - bl sub_8092458 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _0809496C @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - beq _08094976 - cmp r0, 0x1 - bgt _08094970 - cmp r0, 0 - beq _08094982 - b _080949BC - .align 2, 0 -_0809496C: .4byte sPSSData -_08094970: - cmp r0, 0x2 - beq _0809498E - b _080949BC -_08094976: - cmp r1, 0 - beq _080949BC - movs r0, 0x1 - bl sub_8094DEC - b _080949C0 -_08094982: - cmp r1, 0 - beq _080949BC - movs r0, 0x2 - bl sub_8094DEC - b _080949C0 -_0809498E: - ldr r0, _080949A4 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _080949B0 - cmp r1, 0 - beq _080949A8 - movs r0, 0x4 - bl sub_8094DEC - b _080949C0 - .align 2, 0 -_080949A4: .4byte sIsMonBeingMoved -_080949A8: - movs r0, 0x5 - bl sub_8094DEC - b _080949C0 -_080949B0: - cmp r1, 0 - beq _080949BC - movs r0, 0x3 - bl sub_8094DEC - b _080949C0 -_080949BC: - movs r0, 0 - b _08094A06 -_080949C0: - movs r0, 0x6 - bl sub_8094DEC - ldr r0, _080949E4 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x2 - bne _080949F2 - ldr r0, _080949E8 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080949EC - movs r0, 0x2 - bl sub_8094DEC - b _080949F2 - .align 2, 0 -_080949E4: .4byte sPSSData -_080949E8: .4byte sBoxCursorArea -_080949EC: - movs r0, 0x1 - bl sub_8094DEC -_080949F2: - movs r0, 0x8 - bl sub_8094DEC - movs r0, 0x7 - bl sub_8094DEC - movs r0, 0 - bl sub_8094DEC - movs r0, 0x1 -_08094A06: - pop {r1} - bx r1 - thumb_func_end sub_809494C - - thumb_func_start sub_8094A0C -sub_8094A0C: @ 8094A0C - push {r4,r5,lr} - ldr r4, _08094A48 @ =sPSSData - ldr r0, [r4] - movs r5, 0xCE - lsls r5, 4 - adds r0, r5 - ldrh r1, [r0] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _08094A9E - bl sub_809616C - lsls r0, 24 - cmp r0, 0 - bne _08094A70 - ldr r2, [r4] - ldr r0, _08094A4C @ =0x00000ce2 - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _08094A50 - adds r0, r2, r5 - ldrh r0, [r0] - cmp r0, 0 - beq _08094A9E - movs r0, 0xE - bl sub_8094DEC - b _08094AA8 - .align 2, 0 -_08094A48: .4byte sPSSData -_08094A4C: .4byte 0x00000ce2 -_08094A50: - ldrh r0, [r1] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - bne _08094A68 - movs r0, 0xC - bl sub_8094DEC - movs r0, 0x10 - bl sub_8094DEC -_08094A68: - movs r0, 0x11 - bl sub_8094DEC - b _08094AA8 -_08094A70: - ldr r2, [r4] - ldr r0, _08094A8C @ =0x00000ce2 - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _08094A90 - adds r0, r2, r5 - ldrh r0, [r0] - cmp r0, 0 - beq _08094A9E - movs r0, 0xD - bl sub_8094DEC - b _08094AA8 - .align 2, 0 -_08094A8C: .4byte 0x00000ce2 -_08094A90: - ldrh r0, [r1] - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08094AA2 -_08094A9E: - movs r0, 0 - b _08094AB0 -_08094AA2: - movs r0, 0xF - bl sub_8094DEC -_08094AA8: - movs r0, 0 - bl sub_8094DEC - movs r0, 0x1 -_08094AB0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8094A0C - - thumb_func_start sub_8094AB8 -sub_8094AB8: @ 8094AB8 - ldr r1, _08094AD4 @ =sPSSData - ldr r1, [r1] - movs r2, 0xCB - lsls r2, 4 - adds r1, r2 - ldr r2, [r1] - ldrh r2, [r2, 0x20] - strh r2, [r0, 0x20] - ldr r1, [r1] - ldrh r1, [r1, 0x22] - adds r1, 0x14 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08094AD4: .4byte sPSSData - thumb_func_end sub_8094AB8 - - thumb_func_start sub_8094AD8 -sub_8094AD8: @ 8094AD8 - push {r4-r6,lr} - sub sp, 0x2C - mov r1, sp - ldr r0, _08094BA4 @ =gUnknown_83D34A0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - add r4, sp, 0x18 - adds r1, r4, 0 - ldr r0, _08094BA8 @ =gUnknown_83D34B8 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r0] - str r0, [r1] - mov r0, sp - bl LoadSpriteSheets - adds r0, r4, 0 - bl LoadSpritePalettes - ldr r0, _08094BAC @ =0x0000daca - bl IndexOfSpritePaletteTag - ldr r6, _08094BB0 @ =sPSSData - ldr r1, [r6] - ldr r4, _08094BB4 @ =0x00000cd4 - adds r1, r4 - strb r0, [r1] - ldr r0, _08094BB8 @ =0x0000dac7 - bl IndexOfSpritePaletteTag - ldr r1, [r6] - ldr r5, _08094BBC @ =0x00000cd5 - adds r1, r5 - strb r0, [r1] - ldr r0, _08094BC0 @ =sBoxCursorArea - ldrb r0, [r0] - ldr r1, _08094BC4 @ =sBoxCursorPosition - ldrb r1, [r1] - add r4, sp, 0x28 - mov r5, sp - adds r5, 0x2A - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_8092398 - ldr r0, _08094BC8 @ =gUnknown_83D350C - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0 - ldrsh r2, [r5, r3] - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08094BD8 - ldr r2, [r6] - movs r4, 0xCB - lsls r4, 4 - adds r3, r2, r4 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08094BCC @ =gSprites - adds r1, r0 - str r1, [r3] - ldr r0, _08094BD0 @ =sCanOnlyMove - ldr r5, _08094BB4 @ =0x00000cd4 - adds r2, r5 - ldrb r0, [r0] - adds r2, r0 - ldrb r2, [r2] - lsls r2, 4 - ldrb r3, [r1, 0x5] - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r0, [r6] - adds r0, r4 - ldr r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, _08094BD4 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _08094BE4 - ldr r0, [r6] - adds r0, r4 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim - b _08094BE4 - .align 2, 0 -_08094BA4: .4byte gUnknown_83D34A0 -_08094BA8: .4byte gUnknown_83D34B8 -_08094BAC: .4byte 0x0000daca -_08094BB0: .4byte sPSSData -_08094BB4: .4byte 0x00000cd4 -_08094BB8: .4byte 0x0000dac7 -_08094BBC: .4byte 0x00000cd5 -_08094BC0: .4byte sBoxCursorArea -_08094BC4: .4byte sBoxCursorPosition -_08094BC8: .4byte gUnknown_83D350C -_08094BCC: .4byte gSprites -_08094BD0: .4byte sCanOnlyMove -_08094BD4: .4byte sIsMonBeingMoved -_08094BD8: - ldr r0, [r6] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_08094BE4: - ldr r0, _08094BF8 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _08094BFC - movs r3, 0xD - movs r4, 0x1 - b _08094C00 - .align 2, 0 -_08094BF8: .4byte sBoxCursorArea -_08094BFC: - movs r3, 0x15 - movs r4, 0x2 -_08094C00: - ldr r0, _08094C54 @ =gUnknown_83D3524 - movs r1, 0 - movs r2, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08094C68 - ldr r5, _08094C58 @ =sPSSData - ldr r2, [r5] - ldr r3, _08094C5C @ =0x00000cb4 - adds r2, r3 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08094C60 @ =gSprites - adds r1, r0 - str r1, [r2] - lsls r3, r4, 2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldr r0, _08094C64 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _08094C74 - ldr r0, [r5] - ldr r4, _08094C5C @ =0x00000cb4 - adds r0, r4 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - b _08094C74 - .align 2, 0 -_08094C54: .4byte gUnknown_83D3524 -_08094C58: .4byte sPSSData -_08094C5C: .4byte 0x00000cb4 -_08094C60: .4byte gSprites -_08094C64: .4byte sBoxCursorArea -_08094C68: - ldr r0, _08094C7C @ =sPSSData - ldr r0, [r0] - ldr r5, _08094C80 @ =0x00000cb4 - adds r0, r5 - movs r1, 0 - str r1, [r0] -_08094C74: - add sp, 0x2C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08094C7C: .4byte sPSSData -_08094C80: .4byte 0x00000cb4 - thumb_func_end sub_8094AD8 - - thumb_func_start sub_8094C84 -sub_8094C84: @ 8094C84 - push {lr} - ldr r2, _08094CBC @ =sCanOnlyMove - movs r1, 0 - ldrb r0, [r2] - cmp r0, 0 - bne _08094C92 - movs r1, 0x1 -_08094C92: - strb r1, [r2] - ldr r0, _08094CC0 @ =sPSSData - ldr r0, [r0] - movs r3, 0xCB - lsls r3, 4 - adds r1, r0, r3 - ldr r3, [r1] - ldr r1, _08094CC4 @ =0x00000cd4 - adds r0, r1 - ldrb r2, [r2] - adds r0, r2 - ldrb r1, [r0] - lsls r1, 4 - ldrb r2, [r3, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - pop {r0} - bx r0 - .align 2, 0 -_08094CBC: .4byte sCanOnlyMove -_08094CC0: .4byte sPSSData -_08094CC4: .4byte 0x00000cd4 - thumb_func_end sub_8094C84 - - thumb_func_start sub_8094CC8 -sub_8094CC8: @ 8094CC8 - ldr r0, _08094CD0 @ =sBoxCursorPosition - ldrb r0, [r0] - bx lr - .align 2, 0 -_08094CD0: .4byte sBoxCursorPosition - thumb_func_end sub_8094CC8 - - thumb_func_start sub_8094CD4 -sub_8094CD4: @ 8094CD4 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r0, _08094D00 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _08094D08 - ldr r4, _08094D04 @ =sBoxCursorPosition - movs r0, 0 - ldrsb r0, [r4, r0] - movs r1, 0x6 - bl __modsi3 - strb r0, [r5] - movs r0, 0 - ldrsb r0, [r4, r0] - movs r1, 0x6 - bl __divsi3 - b _08094D0C - .align 2, 0 -_08094D00: .4byte sBoxCursorArea -_08094D04: .4byte sBoxCursorPosition -_08094D08: - movs r0, 0 - strb r0, [r5] -_08094D0C: - strb r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8094CD4 - - thumb_func_start sub_8094D14 -sub_8094D14: @ 8094D14 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08094D30 @ =sPSSData - ldr r0, [r0] - movs r2, 0xCB - lsls r2, 4 - adds r0, r2 - ldr r0, [r0] - bl StartSpriteAnim - pop {r0} - bx r0 - .align 2, 0 -_08094D30: .4byte sPSSData - thumb_func_end sub_8094D14 - - thumb_func_start sub_8094D34 -sub_8094D34: @ 8094D34 - ldr r0, _08094D3C @ =sMovingMonOrigBoxId - ldrb r0, [r0] - bx lr - .align 2, 0 -_08094D3C: .4byte sMovingMonOrigBoxId - thumb_func_end sub_8094D34 - - thumb_func_start sub_8094D40 -sub_8094D40: @ 8094D40 - ldr r0, _08094D5C @ =sPSSData - ldr r0, [r0] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldr r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - bx lr - .align 2, 0 -_08094D5C: .4byte sPSSData - thumb_func_end sub_8094D40 - - thumb_func_start sub_8094D60 -sub_8094D60: @ 8094D60 - push {lr} - ldr r0, _08094D7C @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _08094D78 - ldr r0, _08094D80 @ =sBoxCursorPosition - ldrb r1, [r0] - movs r0, 0 - bl sub_8095D44 -_08094D78: - pop {r0} - bx r0 - .align 2, 0 -_08094D7C: .4byte sBoxCursorArea -_08094D80: .4byte sBoxCursorPosition - thumb_func_end sub_8094D60 - - thumb_func_start sub_8094D84 -sub_8094D84: @ 8094D84 - push {lr} - ldr r0, _08094DA0 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _08094D9C - ldr r0, _08094DA4 @ =sBoxCursorPosition - ldrb r1, [r0] - movs r0, 0 - bl sub_8095C84 -_08094D9C: - pop {r0} - bx r0 - .align 2, 0 -_08094DA0: .4byte sBoxCursorArea -_08094DA4: .4byte sBoxCursorPosition - thumb_func_end sub_8094D84 - - thumb_func_start sub_8094DA8 -sub_8094DA8: @ 8094DA8 - ldr r2, _08094DDC @ =sPSSData - ldr r0, [r2] - ldr r1, _08094DE0 @ =0x00000ca8 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - ldr r3, _08094DE4 @ =0x00000ca9 - adds r0, r3 - strb r1, [r0] - ldr r0, [r2] - subs r3, 0x41 - adds r0, r3 - strb r1, [r0] - ldr r0, [r2] - ldr r1, _08094DE8 @ =0x00000c6d - adds r0, r1 - movs r1, 0xF - strb r1, [r0] - ldr r0, [r2] - adds r3, 0x6 - adds r0, r3 - movs r1, 0x5C - strh r1, [r0] - bx lr - .align 2, 0 -_08094DDC: .4byte sPSSData -_08094DE0: .4byte 0x00000ca8 -_08094DE4: .4byte 0x00000ca9 -_08094DE8: .4byte 0x00000c6d - thumb_func_end sub_8094DA8 - - thumb_func_start sub_8094DEC -sub_8094DEC: @ 8094DEC - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r4, _08094E40 @ =sPSSData - ldr r2, [r4] - ldr r5, _08094E44 @ =0x00000ca8 - adds r1, r2, r5 - ldrb r0, [r1] - cmp r0, 0x6 - bhi _08094E38 - adds r1, r0, 0 - lsls r1, 3 - movs r0, 0xC7 - lsls r0, 4 - adds r1, r0 - adds r1, r2, r1 - ldr r2, _08094E48 @ =gUnknown_83D353C - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - str r3, [r1, 0x4] - bl StringLength - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, [r4] - ldr r2, _08094E4C @ =0x00000ca9 - adds r0, r2 - ldrb r2, [r0] - cmp r1, r2 - bls _08094E2E - strb r1, [r0] -_08094E2E: - ldr r1, [r4] - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08094E38: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08094E40: .4byte sPSSData -_08094E44: .4byte 0x00000ca8 -_08094E48: .4byte gUnknown_83D353C -_08094E4C: .4byte 0x00000ca9 - thumb_func_end sub_8094DEC - - thumb_func_start sub_8094E50 -sub_8094E50: @ 8094E50 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _08094E74 @ =sPSSData - ldr r1, [r0] - ldr r3, _08094E78 @ =0x00000ca8 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r2, r0 - bcs _08094E80 - lsls r0, r2, 3 - ldr r2, _08094E7C @ =0x00000c74 - adds r1, r2 - adds r1, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - b _08094E84 - .align 2, 0 -_08094E74: .4byte sPSSData -_08094E78: .4byte 0x00000ca8 -_08094E7C: .4byte 0x00000c74 -_08094E80: - movs r0, 0x1 - negs r0, r0 -_08094E84: - pop {r1} - bx r1 - thumb_func_end sub_8094E50 - - thumb_func_start sub_8094E88 -sub_8094E88: @ 8094E88 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0xC - ldr r5, _08094F6C @ =sPSSData - ldr r1, [r5] - ldr r2, _08094F70 @ =0x00000ca9 - adds r0, r1, r2 - ldrb r0, [r0] - adds r0, 0x2 - subs r2, 0x3E - adds r1, r2 - movs r3, 0 - mov r10, r3 - strb r0, [r1] - ldr r1, [r5] - ldr r0, _08094F74 @ =0x00000ca8 - mov r8, r0 - adds r0, r1, r0 - ldrb r0, [r0] - lsls r0, 1 - ldr r3, _08094F78 @ =0x00000c6c - adds r1, r3 - strb r0, [r1] - ldr r1, [r5] - adds r2, r1, r2 - ldrb r2, [r2] - movs r0, 0x1D - subs r0, r2 - ldr r2, _08094F7C @ =0x00000c69 - adds r1, r2 - strb r0, [r1] - ldr r1, [r5] - adds r3, r1, r3 - ldrb r2, [r3] - movs r0, 0xF - subs r0, r2 - ldr r3, _08094F80 @ =0x00000c6a - adds r1, r3 - strb r0, [r1] - ldr r0, [r5] - ldr r1, _08094F84 @ =0x00000c68 - adds r0, r1 - bl AddWindow - ldr r1, [r5] - ldr r4, _08094F88 @ =0x00000cac - adds r1, r4 - movs r2, 0 - mov r9, r2 - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0 - movs r2, 0xB - movs r3, 0xE - bl DrawStdFrameWithCustomTileAndPalette - ldr r2, [r5] - adds r0, r2, r4 - ldrb r0, [r0] - movs r6, 0x10 - str r6, [sp] - mov r3, r8 - adds r1, r2, r3 - ldrb r1, [r1] - str r1, [sp, 0x4] - movs r1, 0xC7 - lsls r1, 4 - adds r2, r1 - str r2, [sp, 0x8] - movs r1, 0x1 - movs r2, 0x8 - movs r3, 0x2 - bl PrintTextArray - ldr r1, [r5] - adds r4, r1, r4 - ldrb r0, [r4] - str r6, [sp] - add r1, r8 - ldrb r1, [r1] - str r1, [sp, 0x4] - mov r2, r10 - str r2, [sp, 0x8] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldr r0, [r5] - ldr r3, _08094F8C @ =0x00000caa - adds r0, r3 - mov r1, r9 - strb r1, [r0] - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08094F6C: .4byte sPSSData -_08094F70: .4byte 0x00000ca9 -_08094F74: .4byte 0x00000ca8 -_08094F78: .4byte 0x00000c6c -_08094F7C: .4byte 0x00000c69 -_08094F80: .4byte 0x00000c6a -_08094F84: .4byte 0x00000c68 -_08094F88: .4byte 0x00000cac -_08094F8C: .4byte 0x00000caa - thumb_func_end sub_8094E88 - - thumb_func_start sub_8094F90 -sub_8094F90: @ 8094F90 - movs r0, 0 - bx lr - thumb_func_end sub_8094F90 - - thumb_func_start sub_8094F94 -sub_8094F94: @ 8094F94 - push {r4,r5,lr} - movs r5, 0x2 - negs r5, r5 - ldr r4, _08094FD0 @ =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08094FEA - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08094FB6 - movs r0, 0x5 - bl PlaySE - adds r5, 0x1 -_08094FB6: - ldrh r1, [r4, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08094FD4 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl Menu_MoveCursor - b _08094FF2 - .align 2, 0 -_08094FD0: .4byte gMain -_08094FD4: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08094FF2 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl Menu_MoveCursor - b _08094FF2 -_08094FEA: - bl Menu_GetCursorPos - lsls r0, 24 - lsrs r5, r0, 24 -_08094FF2: - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _08094FFE - bl sub_8095024 -_08094FFE: - cmp r5, 0 - blt _08095010 - ldr r0, _0809501C @ =sPSSData - ldr r0, [r0] - lsls r1, r5, 3 - ldr r2, _08095020 @ =0x00000c74 - adds r0, r2 - adds r0, r1 - ldr r5, [r0] -_08095010: - lsls r0, r5, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809501C: .4byte sPSSData -_08095020: .4byte 0x00000c74 - thumb_func_end sub_8094F94 - - thumb_func_start sub_8095024 -sub_8095024: @ 8095024 - push {r4,r5,lr} - ldr r5, _08095048 @ =sPSSData - ldr r0, [r5] - ldr r4, _0809504C @ =0x00000cac - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x1 - bl ClearStdWindowAndFrameToTransparent - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08095048: .4byte sPSSData -_0809504C: .4byte 0x00000cac - thumb_func_end sub_8095024 - - thumb_func_start sub_8095050 -sub_8095050: @ 8095050 - push {r4,lr} - ldr r4, _08095088 @ =gUnknown_2039828 - ldr r0, _0809508C @ =0x00000974 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0809509C - ldr r0, _08095090 @ =gUnknown_83D35D4 - bl AddWindow8Bit - adds r1, r0, 0 - ldr r0, _08095094 @ =sPSSData - ldr r0, [r0] - ldr r2, _08095098 @ =0x000021f0 - adds r0, r2 - strh r1, [r0] - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, 0xFF - beq _0809509C - lsls r0, r1, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - b _0809509E - .align 2, 0 -_08095088: .4byte gUnknown_2039828 -_0809508C: .4byte 0x00000974 -_08095090: .4byte gUnknown_83D35D4 -_08095094: .4byte sPSSData -_08095098: .4byte 0x000021f0 -_0809509C: - movs r0, 0 -_0809509E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8095050 - - thumb_func_start sub_80950A4 -sub_80950A4: @ 80950A4 - push {lr} - ldr r0, _080950B8 @ =gUnknown_2039828 - ldr r0, [r0] - cmp r0, 0 - beq _080950B2 - bl Free -_080950B2: - pop {r0} - bx r0 - .align 2, 0 -_080950B8: .4byte gUnknown_2039828 - thumb_func_end sub_80950A4 - - thumb_func_start sub_80950BC -sub_80950BC: @ 80950BC - ldr r2, _080950CC @ =gUnknown_2039828 - ldr r1, [r2] - movs r3, 0 - strb r0, [r1] - ldr r0, [r2] - strb r3, [r0, 0x1] - bx lr - .align 2, 0 -_080950CC: .4byte gUnknown_2039828 - thumb_func_end sub_80950BC - - thumb_func_start sub_80950D0 -sub_80950D0: @ 80950D0 - push {lr} - ldr r0, _080950E8 @ =gUnknown_2039828 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x5 - bhi _08095130 - lsls r0, 2 - ldr r1, _080950EC @ =_080950F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080950E8: .4byte gUnknown_2039828 -_080950EC: .4byte _080950F0 - .align 2, 0 -_080950F0: - .4byte _08095108 - .4byte _0809510E - .4byte _08095114 - .4byte _0809511A - .4byte _08095120 - .4byte _08095126 -_08095108: - bl sub_8095138 - b _0809512A -_0809510E: - bl sub_8095234 - b _0809512A -_08095114: - bl sub_80952A0 - b _0809512A -_0809511A: - bl sub_8095314 - b _0809512A -_08095120: - bl sub_8095394 - b _0809512A -_08095126: - bl sub_80953BC -_0809512A: - lsls r0, 24 - lsrs r0, 24 - b _08095132 -_08095130: - movs r0, 0 -_08095132: - pop {r1} - bx r1 - thumb_func_end sub_80950D0 - - thumb_func_start sub_8095138 -sub_8095138: @ 8095138 - push {r4-r6,lr} - sub sp, 0x8 - ldr r6, _08095150 @ =gUnknown_2039828 - ldr r1, [r6] - ldrb r0, [r1, 0x1] - cmp r0, 0x1 - beq _08095168 - cmp r0, 0x1 - bgt _08095154 - cmp r0, 0 - beq _0809515A - b _08095228 - .align 2, 0 -_08095150: .4byte gUnknown_2039828 -_08095154: - cmp r0, 0x2 - beq _08095214 - b _08095228 -_0809515A: - movs r0, 0 - bl HideBg - movs r0, 0x80 - bl LoadMonIconPalettesAt - b _080951F8 -_08095168: - adds r0, r1, 0x2 - adds r1, 0x3 - bl sub_8094CD4 - ldr r1, [r6] - ldrb r0, [r1, 0x2] - strb r0, [r1, 0x4] - ldr r1, [r6] - ldrb r0, [r1, 0x3] - strb r0, [r1, 0x5] - ldr r4, _08095204 @ =0xfffffc00 - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - ldr r5, _08095208 @ =sPSSData - ldr r0, [r5] - ldr r4, _0809520C @ =0x000021f0 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer8Bit - ldr r1, [r6] - ldrb r0, [r1, 0x2] - ldrb r1, [r1, 0x3] - bl sub_80956A4 - movs r0, 0 - movs r1, 0x4 - movs r2, 0x1 - bl SetBgAttribute - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram8Bit - movs r0, 0xFC - lsls r0, 6 - ldr r2, _08095210 @ =0x00007fff - movs r1, 0x8 - bl BlendPalettes - movs r0, 0x2 - bl sub_8094D14 - movs r0, 0x8 - movs r1, 0x80 - bl SetGpuRegBits -_080951F8: - ldr r1, [r6] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _08095228 - .align 2, 0 -_08095204: .4byte 0xfffffc00 -_08095208: .4byte sPSSData -_0809520C: .4byte 0x000021f0 -_08095210: .4byte 0x00007fff -_08095214: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08095228 - movs r0, 0 - bl ShowBg - movs r0, 0 - b _0809522A -_08095228: - movs r0, 0x1 -_0809522A: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8095138 - - thumb_func_start sub_8095234 -sub_8095234: @ 8095234 - push {r4,lr} - ldr r4, _0809524C @ =gUnknown_2039828 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - beq _0809525E - cmp r0, 0x1 - bgt _08095250 - cmp r0, 0 - beq _08095256 - b _08095298 - .align 2, 0 -_0809524C: .4byte gUnknown_2039828 -_08095250: - cmp r0, 0x2 - beq _08095272 - b _08095298 -_08095256: - movs r0, 0 - bl HideBg - b _08095268 -_0809525E: - bl sub_8095A58 - movs r0, 0 - bl sub_8094D14 -_08095268: - ldr r1, [r4] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _08095298 -_08095272: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08095298 - bl sub_8094D40 - movs r0, 0x3 - bl stdpal_get - movs r1, 0xD0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0 - bl ShowBg - movs r0, 0 - b _0809529A -_08095298: - movs r0, 0x1 -_0809529A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8095234 - - thumb_func_start sub_80952A0 -sub_80952A0: @ 80952A0 - push {r4,lr} - ldr r4, _080952B4 @ =gUnknown_2039828 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _080952B8 - cmp r0, 0x1 - beq _08095300 - b _0809530A - .align 2, 0 -_080952B4: .4byte gUnknown_2039828 -_080952B8: - bl sub_80924A8 - lsls r0, 24 - cmp r0, 0 - bne _0809530A - ldr r1, [r4] - adds r0, r1, 0x6 - adds r1, 0x7 - bl sub_8094CD4 - bl sub_8095520 - ldr r1, [r4] - ldrb r0, [r1, 0x6] - strb r0, [r1, 0x4] - ldr r1, [r4] - ldrb r0, [r1, 0x7] - strb r0, [r1, 0x5] - ldr r0, _080952F8 @ =sPSSData - ldr r0, [r0] - ldr r1, _080952FC @ =0x000021f0 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram8Bit - ldr r1, [r4] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _0809530A - .align 2, 0 -_080952F8: .4byte sPSSData -_080952FC: .4byte 0x000021f0 -_08095300: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0809530C -_0809530A: - movs r0, 0x1 -_0809530C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80952A0 - - thumb_func_start sub_8095314 -sub_8095314: @ 8095314 - push {r4,lr} - ldr r4, _0809532C @ =gUnknown_2039828 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - beq _08095342 - cmp r0, 0x1 - bgt _08095330 - cmp r0, 0 - beq _08095336 - b _0809538C - .align 2, 0 -_0809532C: .4byte gUnknown_2039828 -_08095330: - cmp r0, 0x2 - beq _0809536E - b _0809538C -_08095336: - bl sub_80957C8 - bl sub_80958A0 - movs r0, 0 - b _08095360 -_08095342: - bl sub_8092BF8 - lsls r0, 24 - cmp r0, 0 - bne _0809538C - movs r0, 0x3 - bl sub_8094D14 - movs r1, 0x80 - lsls r1, 1 - movs r0, 0 - movs r2, 0x8 - bl sub_8095780 - movs r0, 0x1 -_08095360: - bl sub_8092BAC - ldr r1, [r4] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _0809538C -_0809536E: - bl sub_8095790 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8092BF8 - lsls r0, 24 - lsrs r0, 24 - cmp r4, 0 - bne _0809538C - cmp r0, 0 - bne _0809538C - movs r0, 0 - b _0809538E -_0809538C: - movs r0, 0x1 -_0809538E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8095314 - - thumb_func_start sub_8095394 -sub_8095394: @ 8095394 - push {r4,lr} - bl sub_80924A8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8095790 - lsls r0, 24 - lsrs r0, 24 - cmp r4, 0 - bne _080953B4 - cmp r0, 0 - bne _080953B4 - movs r0, 0 - b _080953B6 -_080953B4: - movs r0, 0x1 -_080953B6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8095394 - - thumb_func_start sub_80953BC -sub_80953BC: @ 80953BC - push {r4,lr} - ldr r4, _080953D4 @ =gUnknown_2039828 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - beq _080953FA - cmp r0, 0x1 - bgt _080953D8 - cmp r0, 0 - beq _080953E2 - b _0809546A - .align 2, 0 -_080953D4: .4byte gUnknown_2039828 -_080953D8: - cmp r0, 0x2 - beq _08095426 - cmp r0, 0x3 - beq _08095444 - b _0809546A -_080953E2: - bl sub_80959A8 - movs r1, 0xFF - lsls r1, 8 - movs r0, 0 - movs r2, 0x8 - bl sub_8095780 - movs r0, 0 - bl sub_8092BAC - b _0809543A -_080953FA: - bl sub_8092BF8 - lsls r0, 24 - cmp r0, 0 - bne _0809546A - bl sub_8095790 - lsls r0, 24 - cmp r0, 0 - bne _0809546A - bl sub_8095918 - movs r0, 0x2 - bl sub_8094D14 - movs r0, 0x1 - bl sub_8092BAC - movs r0, 0 - bl HideBg - b _0809543A -_08095426: - bl sub_8092BF8 - lsls r0, 24 - cmp r0, 0 - bne _0809546A - movs r0, 0 - bl sub_8094D14 - bl sub_8095A58 -_0809543A: - ldr r1, [r4] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _0809546A -_08095444: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0809546A - movs r0, 0x3 - bl stdpal_get - movs r1, 0xD0 - movs r2, 0x20 - bl LoadPalette - bl sub_8094D40 - movs r0, 0 - bl ShowBg - movs r0, 0 - b _0809546C -_0809546A: - movs r0, 0x1 -_0809546C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80953BC - - thumb_func_start sub_8095474 -sub_8095474: @ 8095474 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x1 - beq _080954B0 - cmp r0, 0x1 - bgt _0809548A - cmp r0, 0 - beq _08095494 - b _08095518 -_0809548A: - cmp r1, 0x2 - beq _080954D0 - cmp r1, 0x3 - beq _080954F0 - b _08095518 -_08095494: - ldr r0, _080954AC @ =gUnknown_2039828 - ldr r1, [r0] - ldrb r0, [r1, 0x9] - cmp r0, 0 - beq _080954FE - subs r0, 0x1 - strb r0, [r1, 0x9] - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - b _080954E4 - .align 2, 0 -_080954AC: .4byte gUnknown_2039828 -_080954B0: - ldr r0, _080954CC @ =gUnknown_2039828 - ldr r1, [r0] - ldrb r2, [r1, 0x9] - ldrb r0, [r1, 0xB] - adds r0, r2, r0 - cmp r0, 0x4 - bgt _080954FE - adds r0, r2, 0x1 - strb r0, [r1, 0x9] - movs r1, 0xFC - lsls r1, 8 - movs r0, 0 - b _080954E4 - .align 2, 0 -_080954CC: .4byte gUnknown_2039828 -_080954D0: - ldr r0, _080954EC @ =gUnknown_2039828 - ldr r1, [r0] - ldrb r0, [r1, 0x8] - cmp r0, 0 - beq _080954FE - subs r0, 0x1 - strb r0, [r1, 0x8] - movs r0, 0x80 - lsls r0, 3 - movs r1, 0 -_080954E4: - movs r2, 0x6 - bl sub_8095780 - b _08095518 - .align 2, 0 -_080954EC: .4byte gUnknown_2039828 -_080954F0: - ldr r0, _08095504 @ =gUnknown_2039828 - ldr r1, [r0] - ldrb r2, [r1, 0x8] - ldrb r0, [r1, 0xA] - adds r0, r2, r0 - cmp r0, 0x5 - ble _08095508 -_080954FE: - movs r0, 0 - b _0809551A - .align 2, 0 -_08095504: .4byte gUnknown_2039828 -_08095508: - adds r0, r2, 0x1 - strb r0, [r1, 0x8] - movs r0, 0xFC - lsls r0, 8 - movs r1, 0 - movs r2, 0x6 - bl sub_8095780 -_08095518: - movs r0, 0x1 -_0809551A: - pop {r1} - bx r1 - thumb_func_end sub_8095474 - - thumb_func_start sub_8095520 -sub_8095520: @ 8095520 - push {r4-r7,lr} - ldr r6, _080955C0 @ =gUnknown_2039828 - ldr r2, [r6] - ldrb r3, [r2, 0x2] - ldrb r5, [r2, 0x6] - subs r1, r3, r5 - cmp r1, 0 - bge _08095532 - negs r1, r1 -_08095532: - ldrb r0, [r2, 0x4] - subs r0, r3, r0 - cmp r0, 0 - bge _0809553C - negs r0, r0 -_0809553C: - subs r0, r1, r0 - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x7] - subs r3, r1, r0 - cmp r3, 0 - bge _0809554E - negs r3, r3 -_0809554E: - ldrb r2, [r2, 0x5] - subs r0, r1, r2 - cmp r0, 0 - bge _08095558 - negs r0, r0 -_08095558: - subs r0, r3, r0 - lsls r0, 16 - lsrs r7, r0, 16 - lsls r0, r4, 16 - asrs r4, r0, 16 - cmp r4, 0 - ble _0809556C - adds r0, r5, 0 - bl sub_80955C4 -_0809556C: - cmp r4, 0 - bge _08095588 - ldr r2, [r6] - ldrb r0, [r2, 0x4] - ldrb r1, [r2, 0x3] - ldrb r2, [r2, 0x5] - bl sub_8095634 - ldr r2, [r6] - ldrb r0, [r2, 0x6] - ldrb r1, [r2, 0x3] - ldrb r2, [r2, 0x5] - bl sub_80955C4 -_08095588: - lsls r0, r7, 16 - asrs r4, r0, 16 - cmp r4, 0 - ble _0809559C - ldr r2, [r6] - ldrb r0, [r2, 0x7] - ldrb r1, [r2, 0x2] - ldrb r2, [r2, 0x4] - bl sub_80955FC -_0809559C: - cmp r4, 0 - bge _080955B8 - ldr r2, [r6] - ldrb r0, [r2, 0x5] - ldrb r1, [r2, 0x2] - ldrb r2, [r2, 0x4] - bl sub_809566C - ldr r2, [r6] - ldrb r0, [r2, 0x7] - ldrb r1, [r2, 0x2] - ldrb r2, [r2, 0x4] - bl sub_80955FC -_080955B8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080955C0: .4byte gUnknown_2039828 - thumb_func_end sub_8095520 - - thumb_func_start sub_80955C4 -sub_80955C4: @ 80955C4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r1, r4, 0 - lsls r2, 24 - lsrs r5, r2, 24 - adds r0, r5, 0 - cmp r4, r5 - bls _080955E2 - adds r4, r5, 0 - adds r5, r1, 0 - cmp r0, r5 - bhi _080955F4 -_080955E2: - adds r1, r4, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - bl sub_80956A4 - cmp r4, r5 - bls _080955E2 -_080955F4: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80955C4 - - thumb_func_start sub_80955FC -sub_80955FC: @ 80955FC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r1, r4, 0 - lsls r2, 24 - lsrs r5, r2, 24 - adds r0, r5, 0 - cmp r4, r5 - bls _0809561A - adds r4, r5, 0 - adds r5, r1, 0 - cmp r0, r5 - bhi _0809562C -_0809561A: - adds r0, r4, 0 - adds r1, r0, 0x1 - lsls r1, 24 - lsrs r4, r1, 24 - adds r1, r6, 0 - bl sub_80956A4 - cmp r4, r5 - bls _0809561A -_0809562C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80955FC - - thumb_func_start sub_8095634 -sub_8095634: @ 8095634 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r1, r4, 0 - lsls r2, 24 - lsrs r5, r2, 24 - adds r0, r5, 0 - cmp r4, r5 - bls _08095652 - adds r4, r5, 0 - adds r5, r1, 0 - cmp r0, r5 - bhi _08095664 -_08095652: - adds r1, r4, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - bl sub_809572C - cmp r4, r5 - bls _08095652 -_08095664: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8095634 - - thumb_func_start sub_809566C -sub_809566C: @ 809566C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r1, r4, 0 - lsls r2, 24 - lsrs r5, r2, 24 - adds r0, r5, 0 - cmp r4, r5 - bls _0809568A - adds r4, r5, 0 - adds r5, r1, 0 - cmp r0, r5 - bhi _0809569C -_0809568A: - adds r0, r4, 0 - adds r1, r0, 0x1 - lsls r1, 24 - lsrs r4, r1, 24 - adds r1, r6, 0 - bl sub_809572C - cmp r4, r5 - bls _0809568A -_0809569C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_809566C - - thumb_func_start sub_80956A4 -sub_80956A4: @ 80956A4 - push {r4-r7,lr} - sub sp, 0x1C - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r7, r0, r1 - lsls r4, r7, 1 - adds r4, r6, r4 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x41 - bl GetBoxMonDataFromSelectedBox - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetBoxMonDataFromSelectedBox - adds r1, r0, 0 - cmp r5, 0 - beq _0809571A - adds r0, r5, 0 - movs r2, 0x1 - bl GetMonIconPtr - adds r4, r0, 0 - adds r0, r5, 0 - bl GetValidMonIconPalIndex - adds r0, 0x8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08095724 @ =sPSSData - ldr r1, [r1] - ldr r2, _08095728 @ =0x000021f0 - adds r1, r2 - ldrb r3, [r1] - movs r2, 0x20 - str r2, [sp] - str r2, [sp, 0x4] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - str r1, [sp, 0x8] - lsls r1, r7, 3 - str r1, [sp, 0xC] - str r2, [sp, 0x10] - str r2, [sp, 0x14] - str r0, [sp, 0x18] - adds r0, r3, 0 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl BlitBitmapRectToWindow4BitTo8Bit -_0809571A: - add sp, 0x1C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08095724: .4byte sPSSData -_08095728: .4byte 0x000021f0 - thumb_func_end sub_80956A4 - - thumb_func_start sub_809572C -sub_809572C: @ 809572C - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r5, r0, r1 - lsls r0, r5, 1 - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x41 - bl GetBoxMonDataFromSelectedBox - lsls r0, 16 - cmp r0, 0 - beq _0809576E - ldr r0, _08095778 @ =sPSSData - ldr r0, [r0] - ldr r1, _0809577C @ =0x000021f0 - adds r0, r1 - ldrb r0, [r0] - lsls r2, r4, 1 - adds r2, r4 - lsls r2, 3 - lsls r3, r5, 3 - movs r1, 0x20 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0 - bl FillWindowPixelRect8Bit -_0809576E: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08095778: .4byte sPSSData -_0809577C: .4byte 0x000021f0 - thumb_func_end sub_809572C - - thumb_func_start sub_8095780 -sub_8095780: @ 8095780 - ldr r3, _0809578C @ =gUnknown_2039828 - ldr r3, [r3] - strh r0, [r3, 0xC] - strh r1, [r3, 0xE] - strh r2, [r3, 0x10] - bx lr - .align 2, 0 -_0809578C: .4byte gUnknown_2039828 - thumb_func_end sub_8095780 - - thumb_func_start sub_8095790 -sub_8095790: @ 8095790 - push {r4,lr} - ldr r4, _080957C4 @ =gUnknown_2039828 - ldr r1, [r4] - ldrh r0, [r1, 0x10] - cmp r0, 0 - beq _080957BA - ldrh r1, [r1, 0xC] - movs r0, 0 - movs r2, 0x1 - bl ChangeBgX - ldr r0, [r4] - ldrh r1, [r0, 0xE] - movs r0, 0 - movs r2, 0x1 - bl ChangeBgY - ldr r1, [r4] - ldrh r0, [r1, 0x10] - subs r0, 0x1 - strh r0, [r1, 0x10] -_080957BA: - ldr r0, [r4] - ldrb r0, [r0, 0x10] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080957C4: .4byte gUnknown_2039828 - thumb_func_end sub_8095790 - - thumb_func_start sub_80957C8 -sub_80957C8: @ 80957C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, _0809589C @ =gUnknown_2039828 - ldr r1, [r4] - ldrb r0, [r1, 0x4] - ldrb r2, [r1, 0x2] - cmp r0, r2 - bls _080957E0 - adds r0, r2, 0 -_080957E0: - strb r0, [r1, 0x8] - ldr r1, [r4] - ldrb r0, [r1, 0x5] - ldrb r2, [r1, 0x3] - cmp r0, r2 - bls _080957EE - adds r0, r2, 0 -_080957EE: - strb r0, [r1, 0x9] - ldr r2, [r4] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x4] - subs r0, r1, r0 - cmp r0, 0 - bge _080957FE - negs r0, r0 -_080957FE: - adds r0, 0x1 - strb r0, [r2, 0xA] - ldr r2, [r4] - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x5] - subs r0, r1, r0 - cmp r0, 0 - bge _08095810 - negs r0, r0 -_08095810: - adds r0, 0x1 - strb r0, [r2, 0xB] - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r6, 0 - ldr r0, [r4] - ldrb r2, [r0, 0x8] - ldrb r1, [r0, 0xA] - adds r2, r1 - mov r8, r2 - ldrb r1, [r0, 0x9] - ldrb r0, [r0, 0xB] - adds r0, r1 - mov r9, r0 - adds r2, r1, 0 - cmp r2, r9 - bge _0809588C -_08095838: - lsls r0, r2, 1 - adds r0, r2 - ldr r3, _0809589C @ =gUnknown_2039828 - ldr r1, [r3] - lsls r0, 1 - ldrb r3, [r1, 0x8] - adds r0, r3 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r4, [r1, 0x8] - adds r7, r2, 0x1 - cmp r4, r8 - bge _08095886 - mov r0, r8 - subs r4, r0, r4 -_08095856: - mov r0, r10 - adds r1, r5, 0 - bl GetBoxedMonPtr - adds r1, r0, 0 - ldr r2, _0809589C @ =gUnknown_2039828 - ldr r0, [r2] - lsls r2, r6, 2 - adds r2, r6 - lsls r2, 4 - adds r0, r2 - adds r0, 0x14 - movs r2, 0x50 - bl memcpy - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - subs r4, 0x1 - cmp r4, 0 - bne _08095856 -_08095886: - adds r2, r7, 0 - cmp r2, r9 - blt _08095838 -_0809588C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809589C: .4byte gUnknown_2039828 - thumb_func_end sub_80957C8 - - thumb_func_start sub_80958A0 -sub_80958A0: @ 80958A0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r4, _08095914 @ =gUnknown_2039828 - ldr r0, [r4] - ldrb r2, [r0, 0x8] - ldrb r1, [r0, 0xA] - adds r7, r2, r1 - ldrb r1, [r0, 0x9] - ldrb r0, [r0, 0xB] - adds r1, r0 - mov r9, r1 - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, [r4] - ldrb r2, [r0, 0x9] - cmp r2, r9 - bge _08095908 -_080958CC: - lsls r0, r2, 1 - adds r0, r2 - ldr r1, _08095914 @ =gUnknown_2039828 - ldr r1, [r1] - lsls r0, 1 - ldrb r3, [r1, 0x8] - adds r0, r3 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r4, [r1, 0x8] - adds r6, r2, 0x1 - cmp r4, r7 - bge _08095902 - subs r4, r7, r4 -_080958E8: - adds r0, r5, 0 - bl sub_809081C - mov r0, r8 - adds r1, r5, 0 - bl sub_808BCB4 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - subs r4, 0x1 - cmp r4, 0 - bne _080958E8 -_08095902: - adds r2, r6, 0 - cmp r2, r9 - blt _080958CC -_08095908: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08095914: .4byte gUnknown_2039828 - thumb_func_end sub_80958A0 - - thumb_func_start sub_8095918 -sub_8095918: @ 8095918 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _080959A4 @ =gUnknown_2039828 - ldr r0, [r0] - ldrb r2, [r0, 0x8] - ldrb r1, [r0, 0xA] - adds r2, r1 - mov r8, r2 - ldrb r1, [r0, 0x9] - ldrb r0, [r0, 0xB] - adds r0, r1 - mov r10, r0 - movs r6, 0 - adds r2, r1, 0 - cmp r2, r10 - bge _08095994 -_0809593E: - lsls r0, r2, 1 - adds r0, r2 - ldr r3, _080959A4 @ =gUnknown_2039828 - ldr r1, [r3] - lsls r0, 1 - ldrb r4, [r1, 0x8] - adds r0, r4 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r4, [r1, 0x8] - adds r7, r2, 0x1 - cmp r4, r8 - bge _0809598E - mov r9, r3 - mov r0, r8 - subs r4, r0, r4 -_0809595E: - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 4 - adds r1, 0x14 - mov r2, r9 - ldr r0, [r2] - adds r0, r1 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _0809597C - adds r0, r5, 0 - bl sub_80901EC -_0809597C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - subs r4, 0x1 - cmp r4, 0 - bne _0809595E -_0809598E: - adds r2, r7, 0 - cmp r2, r10 - blt _0809593E -_08095994: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080959A4: .4byte gUnknown_2039828 - thumb_func_end sub_8095918 - - thumb_func_start sub_80959A8 -sub_80959A8: @ 80959A8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r4, _08095A54 @ =gUnknown_2039828 - ldr r0, [r4] - ldrb r2, [r0, 0x8] - ldrb r1, [r0, 0xA] - adds r2, r1 - mov r10, r2 - ldrb r1, [r0, 0x9] - ldrb r0, [r0, 0xB] - adds r1, r0 - str r1, [sp] - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r7, 0 - ldr r0, [r4] - ldrb r3, [r0, 0x9] - ldr r0, [sp] - cmp r3, r0 - bge _08095A42 -_080959DE: - lsls r0, r3, 1 - adds r0, r3 - ldr r2, _08095A54 @ =gUnknown_2039828 - ldr r1, [r2] - lsls r0, 1 - ldrb r4, [r1, 0x8] - adds r0, r4 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r5, [r1, 0x8] - adds r3, 0x1 - mov r9, r3 - cmp r5, r10 - bge _08095A3A - mov r8, r2 - mov r0, r10 - subs r5, r0, r5 -_08095A00: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 4 - adds r4, r0, 0 - adds r4, 0x14 - mov r1, r8 - ldr r0, [r1] - adds r0, r4 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _08095A28 - mov r0, r8 - ldr r2, [r0] - adds r2, r4 - ldr r0, [sp, 0x4] - adds r1, r6, 0 - bl CopyBoxMonFromAnyBox -_08095A28: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - subs r5, 0x1 - cmp r5, 0 - bne _08095A00 -_08095A3A: - mov r3, r9 - ldr r1, [sp] - cmp r3, r1 - blt _080959DE -_08095A42: - 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 -_08095A54: .4byte gUnknown_2039828 - thumb_func_end sub_80959A8 - - thumb_func_start sub_8095A58 -sub_8095A58: @ 8095A58 - push {lr} - sub sp, 0x8 - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0 - movs r1, 0x4 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x8 - movs r1, 0x80 - bl ClearGpuRegBits - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_8095A58 - - thumb_func_start sub_8095AA0 -sub_8095AA0: @ 8095AA0 - ldr r0, _08095AB8 @ =gUnknown_2039828 - ldr r2, [r0] - ldrb r1, [r2, 0x3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - ldrb r2, [r2, 0x2] - adds r0, r2 - lsls r0, 24 - lsrs r0, 24 - bx lr - .align 2, 0 -_08095AB8: .4byte gUnknown_2039828 - thumb_func_end sub_8095AA0 - - thumb_func_start sub_8095ABC -sub_8095ABC: @ 8095ABC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r0, _08095B28 @ =gUnknown_2039828 - ldr r0, [r0] - ldrb r2, [r0, 0x8] - ldrb r1, [r0, 0xA] - adds r2, r1 - mov r9, r2 - ldrb r1, [r0, 0x9] - ldrb r0, [r0, 0xB] - adds r0, r1, r0 - str r0, [sp] - movs r7, 0 - adds r6, r1, 0 - cmp r6, r0 - bge _08095B4A - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 1 - mov r8, r0 -_08095AEC: - ldr r2, _08095B28 @ =gUnknown_2039828 - ldr r1, [r2] - ldrb r0, [r1, 0x8] - add r0, r8 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r4, [r1, 0x8] - cmp r4, r9 - bge _08095B3E - mov r10, r2 -_08095B00: - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 4 - adds r1, 0x14 - mov r2, r10 - ldr r0, [r2] - adds r0, r1 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _08095B2C - adds r0, r5, 0 - movs r1, 0x5 - bl GetBoxMonDataFromSelectedBox - cmp r0, 0 - beq _08095B2C - movs r0, 0 - b _08095B4C - .align 2, 0 -_08095B28: .4byte gUnknown_2039828 -_08095B2C: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x1 - cmp r4, r9 - blt _08095B00 -_08095B3E: - movs r0, 0x6 - add r8, r0 - adds r6, 0x1 - ldr r2, [sp] - cmp r6, r2 - blt _08095AEC -_08095B4A: - movs r0, 0x1 -_08095B4C: - 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 sub_8095ABC - - thumb_func_start sub_8095B5C -sub_8095B5C: @ 8095B5C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r3, _08095C58 @ =sPSSData - ldr r0, [r3] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _08095C3C - ldr r0, _08095C5C @ =gUnknown_3000FE8 - str r0, [sp, 0x18] - ldr r1, _08095C60 @ =0xffff0000 - add r2, sp, 0x18 - ldr r0, [r2, 0x4] - ands r0, r1 - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - str r0, [r2, 0x4] - mov r1, sp - ldr r0, _08095C64 @ =gUnknown_83D3728 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - movs r7, 0 - mov r9, r2 - mov r8, r3 - movs r0, 0 - mov r10, r0 -_08095B9C: - adds r6, r7, 0x7 - lsls r1, r6, 16 - mov r2, r9 - ldrh r0, [r2, 0x4] - orrs r0, r1 - str r0, [r2, 0x4] - mov r0, r9 - bl LoadCompressedSpriteSheet - mov r4, r9 - ldrh r0, [r4, 0x6] - bl GetSpriteTileStartByTag - mov r5, r8 - ldr r1, [r5] - lsls r5, r7, 4 - ldr r2, _08095C68 @ =0x000021f8 - adds r1, r2 - adds r1, r5 - lsls r0, 16 - lsrs r0, 11 - ldr r4, _08095C6C @ =0x06010000 - adds r0, r4 - str r0, [r1] - ldr r0, _08095C70 @ =0xffffdacb - adds r4, r7, r0 - lsls r0, r4, 16 - lsrs r0, 16 - bl AllocSpritePalette - mov r2, r8 - ldr r1, [r2] - adds r1, r5 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08095C74 @ =0x000021fc - adds r1, r2 - strh r0, [r1] - ldrh r0, [r1] - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2 - strh r0, [r1] - mov r0, sp - strh r6, [r0] - strh r4, [r0, 0x2] - movs r1, 0 - movs r2, 0 - movs r3, 0xB - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r4, r8 - ldr r2, [r4] - ldr r6, _08095C78 @ =0x000021f4 - adds r2, r6 - adds r2, r5 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08095C7C @ =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, r5 - movs r1, 0x88 - lsls r1, 6 - adds r0, r1 - mov r2, r10 - strb r2, [r0] - adds r7, 0x1 - cmp r7, 0x2 - ble _08095B9C -_08095C3C: - ldr r0, _08095C58 @ =sPSSData - ldr r0, [r0] - ldr r4, _08095C80 @ =0x00002224 - adds r0, r4 - movs r1, 0 - strh r1, [r0] - 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 -_08095C58: .4byte sPSSData -_08095C5C: .4byte gUnknown_3000FE8 -_08095C60: .4byte 0xffff0000 -_08095C64: .4byte gUnknown_83D3728 -_08095C68: .4byte 0x000021f8 -_08095C6C: .4byte 0x06010000 -_08095C70: .4byte 0xffffdacb -_08095C74: .4byte 0x000021fc -_08095C78: .4byte 0x000021f4 -_08095C7C: .4byte gSprites -_08095C80: .4byte 0x00002224 - thumb_func_end sub_8095B5C - - thumb_func_start sub_8095C84 -sub_8095C84: @ 8095C84 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r0, _08095CB8 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _08095D36 - mov r0, r8 - adds r1, r7, 0 - bl sub_8096210 - cmp r0, 0 - bne _08095D36 - mov r0, r8 - cmp r0, 0 - beq _08095CBC - cmp r0, 0x1 - beq _08095CD2 - b _08095D36 - .align 2, 0 -_08095CB8: .4byte sPSSData -_08095CBC: - adds r0, r7, 0 - movs r1, 0x5 - bl GetBoxMonDataFromSelectedBox - cmp r0, 0 - beq _08095D36 - adds r0, r7, 0 - movs r1, 0xC - bl GetBoxMonDataFromSelectedBox - b _08095CF0 -_08095CD2: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _08095D40 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _08095D36 - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData -_08095CF0: - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _08095D36 - adds r0, r4, 0 - bl GetItemIconPic - adds r6, r0, 0 - adds r0, r4, 0 - bl GetItemIconPalette - adds r5, r0, 0 - bl sub_80961D8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - mov r1, r8 - adds r2, r7, 0 - bl sub_80962F0 - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_8096408 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80964B8 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8096624 -_08095D36: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08095D40: .4byte gPlayerParty - thumb_func_end sub_8095C84 - - thumb_func_start sub_8095D44 -sub_8095D44: @ 8095D44 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _08095D80 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _08095D7A - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_8096258 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x2 - bl sub_80964B8 - adds r0, r4, 0 - movs r1, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_80964E8 -_08095D7A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08095D80: .4byte sPSSData - thumb_func_end sub_8095D44 - - thumb_func_start sub_8095D84 -sub_8095D84: @ 8095D84 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - adds r7, r5, 0 - ldr r0, _08095DE8 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _08095E14 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_8096258 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0 - mov r0, sp - strh r1, [r0] - adds r0, r4, 0 - movs r1, 0x3 - bl sub_80964B8 - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_80964E8 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0 - bl sub_80962F0 - cmp r6, 0 - bne _08095DEC - adds r0, r5, 0 - movs r1, 0xC - mov r2, sp - bl SetBoxMonDataFromSelectedBox - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8090850 - b _08095E04 - .align 2, 0 -_08095DE8: .4byte sPSSData -_08095DEC: - movs r0, 0x64 - muls r0, r7 - ldr r1, _08095E1C @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r0, r7, 0 - movs r1, 0x1 - bl sub_8090C84 -_08095E04: - ldr r0, _08095E20 @ =sPSSData - ldr r0, [r0] - ldr r2, _08095E24 @ =0x00000ce2 - adds r1, r0, r2 - ldrh r1, [r1] - ldr r2, _08095E28 @ =0x00002224 - adds r0, r2 - strh r1, [r0] -_08095E14: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08095E1C: .4byte gPlayerParty -_08095E20: .4byte sPSSData -_08095E24: .4byte 0x00000ce2 -_08095E28: .4byte 0x00002224 - thumb_func_end sub_8095D84 - - thumb_func_start sub_8095E2C -sub_8095E2C: @ 8095E2C - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r5, 0 - bl GetItemIconPic - mov r8, r0 - adds r0, r5, 0 - bl GetItemIconPalette - adds r6, r0, 0 - bl sub_80961D8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - mov r1, r8 - adds r2, r6, 0 - bl sub_8096408 - adds r0, r4, 0 - movs r1, 0x6 - bl sub_80964B8 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl sub_80964E8 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0 - bl sub_80962F0 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8096624 - ldr r0, _08095E98 @ =sPSSData - ldr r0, [r0] - ldr r1, _08095E9C @ =0x00002224 - adds r0, r1 - strh r5, [r0] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08095E98: .4byte sPSSData -_08095E9C: .4byte 0x00002224 - thumb_func_end sub_8095E2C - - thumb_func_start sub_8095EA0 -sub_8095EA0: @ 8095EA0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r0, _08095F08 @ =sPSSData - mov r8, r0 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _08095F5E - mov r0, r9 - adds r1, r7, 0 - bl sub_8096258 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x3 - bl sub_80964B8 - adds r0, r4, 0 - movs r1, 0x3 - movs r2, 0x2 - movs r3, 0 - bl sub_80964E8 - mov r1, r9 - cmp r1, 0 - bne _08095F10 - adds r0, r7, 0 - movs r1, 0xC - bl GetBoxMonDataFromSelectedBox - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r8 - ldr r2, [r0] - ldr r4, _08095F0C @ =0x00002224 - adds r2, r4 - adds r0, r7, 0 - movs r1, 0xC - bl SetBoxMonDataFromSelectedBox - mov r1, r8 - ldr r0, [r1] - adds r0, r4 - b _08095F3C - .align 2, 0 -_08095F08: .4byte sPSSData -_08095F0C: .4byte 0x00002224 -_08095F10: - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, _08095F6C @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r8 - ldr r2, [r0] - ldr r5, _08095F70 @ =0x00002224 - adds r2, r5 - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - mov r1, r8 - ldr r0, [r1] - adds r0, r5 -_08095F3C: - strh r6, [r0] - movs r0, 0x2 - movs r1, 0 - bl sub_8096258 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x4 - bl sub_80964B8 - adds r0, r4, 0 - movs r1, 0x4 - mov r2, r9 - adds r3, r7, 0 - bl sub_80964E8 -_08095F5E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08095F6C: .4byte gPlayerParty -_08095F70: .4byte 0x00002224 - thumb_func_end sub_8095EA0 - - thumb_func_start sub_8095F74 -sub_8095F74: @ 8095F74 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - mov r8, r5 - ldr r6, _08095FCC @ =sPSSData - ldr r0, [r6] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _08095FF4 - movs r0, 0x2 - movs r1, 0 - bl sub_8096258 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x4 - bl sub_80964B8 - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r7, 0 - adds r3, r5, 0 - bl sub_80964E8 - cmp r7, 0 - bne _08095FD4 - ldr r2, [r6] - ldr r0, _08095FD0 @ =0x00002224 - adds r2, r0 - adds r0, r5, 0 - movs r1, 0xC - bl SetBoxMonDataFromSelectedBox - adds r0, r5, 0 - movs r1, 0 - bl sub_8090850 - b _08095FF4 - .align 2, 0 -_08095FCC: .4byte sPSSData -_08095FD0: .4byte 0x00002224 -_08095FD4: - movs r0, 0x64 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - ldr r1, _08096000 @ =gPlayerParty - adds r0, r1 - ldr r2, [r6] - ldr r1, _08096004 @ =0x00002224 - adds r2, r1 - movs r1, 0xC - bl SetMonData - mov r0, r8 - movs r1, 0 - bl sub_8090C84 -_08095FF4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08096000: .4byte gPlayerParty -_08096004: .4byte 0x00002224 - thumb_func_end sub_8095F74 - - thumb_func_start sub_8096008 -sub_8096008: @ 8096008 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - adds r7, r5, 0 - ldr r0, _08096060 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _0809607C - movs r1, 0 - mov r0, sp - strh r1, [r0] - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_8096258 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x2 - bl sub_80964B8 - adds r0, r4, 0 - movs r1, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_80964E8 - cmp r6, 0 - bne _08096064 - adds r0, r5, 0 - movs r1, 0xC - mov r2, sp - bl SetBoxMonDataFromSelectedBox - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8090850 - b _0809607C - .align 2, 0 -_08096060: .4byte sPSSData -_08096064: - movs r0, 0x64 - muls r0, r7 - ldr r1, _08096084 @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r0, r7, 0 - movs r1, 0x1 - bl sub_8090C84 -_0809607C: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08096084: .4byte gPlayerParty - thumb_func_end sub_8096008 - - thumb_func_start sub_8096088 -sub_8096088: @ 8096088 - push {r4,lr} - ldr r0, _080960BC @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080960B6 - movs r0, 0x2 - movs r1, 0 - bl sub_8096258 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x5 - bl sub_80964B8 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x2 - movs r3, 0 - bl sub_80964E8 -_080960B6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080960BC: .4byte sPSSData - thumb_func_end sub_8096088 - - thumb_func_start sub_80960C0 -sub_80960C0: @ 80960C0 - push {r4,lr} - ldr r0, _08096108 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _08096100 - movs r4, 0 -_080960CE: - ldr r0, _08096108 @ =sPSSData - ldr r1, [r0] - lsls r0, r4, 4 - adds r1, r0 - movs r2, 0x88 - lsls r2, 6 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080960FA - subs r2, 0x2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080960FA - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0x7 - movs r2, 0x2 - movs r3, 0 - bl sub_80964E8 -_080960FA: - adds r4, 0x1 - cmp r4, 0x2 - ble _080960CE -_08096100: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08096108: .4byte sPSSData - thumb_func_end sub_80960C0 - - thumb_func_start sub_809610C -sub_809610C: @ 809610C - push {r4,r5,lr} - movs r5, 0 - ldr r0, _08096148 @ =sPSSData - ldr r0, [r0] - ldr r1, _0809614C @ =0x000021f4 - adds r4, r0, r1 - adds r3, r0, 0 -_0809611A: - movs r1, 0x88 - lsls r1, 6 - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08096158 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x28 - ands r0, r1 - cmp r0, 0x8 - beq _08096144 - ldr r1, [r2, 0x1C] - ldr r0, _08096150 @ =SpriteCallbackDummy - cmp r1, r0 - beq _08096158 - ldr r0, _08096154 @ =sub_80969BC - cmp r1, r0 - beq _08096158 -_08096144: - movs r0, 0x1 - b _08096164 - .align 2, 0 -_08096148: .4byte sPSSData -_0809614C: .4byte 0x000021f4 -_08096150: .4byte SpriteCallbackDummy -_08096154: .4byte sub_80969BC -_08096158: - adds r4, 0x10 - adds r3, 0x10 - adds r5, 0x1 - cmp r5, 0x2 - ble _0809611A - movs r0, 0 -_08096164: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809610C - - thumb_func_start sub_809616C -sub_809616C: @ 809616C - push {lr} - ldr r0, _08096190 @ =sPSSData - ldr r1, [r0] - ldrb r0, [r1, 0x1] - cmp r0, 0x3 - bne _080961A0 - movs r2, 0 - ldr r0, _08096194 @ =0x000021fe - adds r1, r0 -_0809617E: - ldrb r0, [r1, 0x2] - cmp r0, 0 - beq _08096198 - ldrb r0, [r1] - cmp r0, 0x2 - bne _08096198 - movs r0, 0x1 - b _080961A2 - .align 2, 0 -_08096190: .4byte sPSSData -_08096194: .4byte 0x000021fe -_08096198: - adds r1, 0x10 - adds r2, 0x1 - cmp r2, 0x2 - ble _0809617E -_080961A0: - movs r0, 0 -_080961A2: - pop {r1} - bx r1 - thumb_func_end sub_809616C - - thumb_func_start sub_80961A8 -sub_80961A8: @ 80961A8 - push {lr} - ldr r0, _080961BC @ =sPSSData - ldr r0, [r0] - ldr r1, _080961C0 @ =0x00002224 - adds r0, r1 - ldrh r0, [r0] - bl ItemId_GetName - pop {r1} - bx r1 - .align 2, 0 -_080961BC: .4byte sPSSData -_080961C0: .4byte 0x00002224 - thumb_func_end sub_80961A8 - - thumb_func_start sub_80961C4 -sub_80961C4: @ 80961C4 - ldr r0, _080961D0 @ =sPSSData - ldr r0, [r0] - ldr r1, _080961D4 @ =0x00002224 - adds r0, r1 - ldrh r0, [r0] - bx lr - .align 2, 0 -_080961D0: .4byte sPSSData -_080961D4: .4byte 0x00002224 - thumb_func_end sub_80961C4 - - thumb_func_start sub_80961D8 -sub_80961D8: @ 80961D8 - push {r4,r5,lr} - movs r2, 0 - ldr r5, _080961F8 @ =sPSSData - movs r3, 0x88 - lsls r3, 6 - movs r4, 0x1 -_080961E4: - ldr r0, [r5] - lsls r1, r2, 4 - adds r0, r1 - adds r1, r0, r3 - ldrb r0, [r1] - cmp r0, 0 - bne _080961FC - strb r4, [r1] - adds r0, r2, 0 - b _08096208 - .align 2, 0 -_080961F8: .4byte sPSSData -_080961FC: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _080961E4 - movs r0, 0x3 -_08096208: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80961D8 - - thumb_func_start sub_8096210 -sub_8096210: @ 8096210 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r3, 0 - ldr r0, _08096244 @ =sPSSData - ldr r2, [r0] -_08096220: - movs r5, 0x88 - lsls r5, 6 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, 0 - beq _08096248 - subs r5, 0x2 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, r4 - bne _08096248 - adds r5, 0x1 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, r1 - bne _08096248 - movs r0, 0x1 - b _08096252 - .align 2, 0 -_08096244: .4byte sPSSData -_08096248: - adds r2, 0x10 - adds r3, 0x1 - cmp r3, 0x2 - ble _08096220 - movs r0, 0 -_08096252: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8096210 - - thumb_func_start sub_8096258 -sub_8096258: @ 8096258 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r0, _08096290 @ =sPSSData - ldr r1, [r0] -_08096268: - lsls r0, r3, 4 - adds r2, r1, r0 - movs r6, 0x88 - lsls r6, 6 - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _08096294 - subs r6, 0x2 - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, r5 - bne _08096294 - adds r6, 0x1 - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, r4 - bne _08096294 - adds r0, r3, 0 - b _080962A0 - .align 2, 0 -_08096290: .4byte sPSSData -_08096294: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _08096268 - movs r0, 0x3 -_080962A0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8096258 - - thumb_func_start sub_80962A8 -sub_80962A8: @ 80962A8 - push {r4-r6,lr} - adds r5, r0, 0 - movs r2, 0 - ldr r0, _080962D4 @ =sPSSData - ldr r3, [r0] - ldr r0, _080962D8 @ =0x000021f4 - adds r4, r3, r0 - movs r6, 0x88 - lsls r6, 6 -_080962BA: - lsls r1, r2, 4 - adds r0, r3, r1 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _080962DC - adds r0, r4, r1 - ldr r0, [r0] - cmp r0, r5 - bne _080962DC - adds r0, r2, 0 - b _080962E8 - .align 2, 0 -_080962D4: .4byte sPSSData -_080962D8: .4byte 0x000021f4 -_080962DC: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _080962BA - movs r0, 0x3 -_080962E8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80962A8 - - thumb_func_start sub_80962F0 -sub_80962F0: @ 80962F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 24 - lsrs r7, r2, 24 - cmp r5, 0x2 - bhi _080963EE - cmp r1, 0 - beq _0809631C - cmp r1, 0x1 - beq _08096378 - ldr r4, _08096318 @ =sPSSData - lsls r3, r5, 4 - b _080963D8 - .align 2, 0 -_08096318: .4byte sPSSData -_0809631C: - adds r0, r7, 0 - movs r1, 0x6 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - ldr r6, _08096370 @ =sPSSData - ldr r2, [r6] - lsls r5, 4 - ldr r1, _08096374 @ =0x000021f4 - adds r2, r1 - adds r2, r5 - ldr r3, [r2] - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 3 - adds r1, 0x70 - strh r1, [r3, 0x20] - ldr r3, [r2] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, 0x38 - strh r1, [r3, 0x22] - ldr r2, [r2] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2, 0x5] - adds r4, r6, 0 - adds r3, r5, 0 - b _080963D8 - .align 2, 0 -_08096370: .4byte sPSSData -_08096374: .4byte 0x000021f4 -_08096378: - cmp r7, 0 - bne _080963A0 - ldr r4, _08096398 @ =sPSSData - ldr r0, [r4] - lsls r3, r5, 4 - ldr r1, _0809639C @ =0x000021f4 - adds r0, r1 - adds r0, r3 - ldr r2, [r0] - movs r1, 0x74 - strh r1, [r2, 0x20] - ldr r1, [r0] - movs r0, 0x4C - strh r0, [r1, 0x22] - b _080963C0 - .align 2, 0 -_08096398: .4byte sPSSData -_0809639C: .4byte 0x000021f4 -_080963A0: - ldr r4, _080963F8 @ =sPSSData - ldr r0, [r4] - lsls r3, r5, 4 - ldr r1, _080963FC @ =0x000021f4 - adds r0, r1 - adds r0, r3 - ldr r2, [r0] - movs r1, 0xA4 - strh r1, [r2, 0x20] - ldr r2, [r0] - subs r1, r7, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, 0x1C - strh r0, [r2, 0x22] -_080963C0: - ldr r0, [r4] - ldr r1, _080963FC @ =0x000021f4 - adds r0, r1 - adds r0, r3 - ldr r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] -_080963D8: - ldr r0, [r4] - adds r0, r3 - ldr r1, _08096400 @ =0x000021fe - adds r0, r1 - mov r1, r8 - strb r1, [r0] - ldr r0, [r4] - adds r0, r3 - ldr r1, _08096404 @ =0x000021ff - adds r0, r1 - strb r7, [r0] -_080963EE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080963F8: .4byte sPSSData -_080963FC: .4byte 0x000021f4 -_08096400: .4byte 0x000021fe -_08096404: .4byte 0x000021ff - thumb_func_end sub_80962F0 - - thumb_func_start sub_8096408 -sub_8096408: @ 8096408 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - mov r8, r1 - mov r9, r2 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bhi _08096490 - movs r0, 0 - str r0, [sp] - ldr r4, _080964A0 @ =sPSSData - ldr r1, [r4] - ldr r6, _080964A4 @ =0x000042bc - adds r1, r6 - ldr r2, _080964A8 @ =0x01000080 - mov r0, sp - bl CpuFastSet - ldr r1, [r4] - ldr r5, _080964AC @ =0x000022bc - adds r1, r5 - mov r0, r8 - bl LZ77UnCompWram - lsls r7, 4 - mov r8, r7 - adds r7, r4, 0 - movs r4, 0x2 -_08096446: - ldr r1, [r7] - adds r0, r1, r5 - adds r1, r6 - movs r2, 0x18 - bl CpuFastSet - adds r6, 0x80 - adds r5, 0x60 - subs r4, 0x1 - cmp r4, 0 - bge _08096446 - ldr r5, _080964A0 @ =sPSSData - ldr r1, [r5] - ldr r4, _080964A4 @ =0x000042bc - adds r0, r1, r4 - ldr r2, _080964B0 @ =0x000021f8 - adds r1, r2 - add r1, r8 - ldr r1, [r1] - movs r2, 0x80 - bl CpuFastSet - ldr r1, [r5] - adds r1, r4 - mov r0, r9 - bl LZ77UnCompWram - ldr r0, [r5] - adds r4, r0, r4 - add r0, r8 - ldr r1, _080964B4 @ =0x000021fc - adds r0, r1 - ldrh r1, [r0] - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette -_08096490: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080964A0: .4byte sPSSData -_080964A4: .4byte 0x000042bc -_080964A8: .4byte 0x01000080 -_080964AC: .4byte 0x000022bc -_080964B0: .4byte 0x000021f8 -_080964B4: .4byte 0x000021fc - thumb_func_end sub_8096408 - - thumb_func_start sub_80964B8 -sub_80964B8: @ 80964B8 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - cmp r2, 0x2 - bhi _080964DA - ldr r0, _080964E0 @ =sPSSData - ldr r0, [r0] - lsls r1, r2, 4 - ldr r2, _080964E4 @ =0x000021f4 - adds r0, r2 - adds r0, r1 - ldr r0, [r0] - adds r1, r3, 0 - bl StartSpriteAffineAnim -_080964DA: - pop {r0} - bx r0 - .align 2, 0 -_080964E0: .4byte sPSSData -_080964E4: .4byte 0x000021f4 - thumb_func_end sub_80964B8 - - thumb_func_start sub_80964E8 -sub_80964E8: @ 80964E8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r0, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 24 - lsrs r3, 24 - cmp r4, 0x2 - bls _08096500 - b _08096612 -_08096500: - cmp r0, 0x7 - bls _08096506 - b _08096612 -_08096506: - lsls r0, 2 - ldr r1, _08096510 @ =_08096514 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08096510: .4byte _08096514 - .align 2, 0 -_08096514: - .4byte _08096534 - .4byte _08096558 - .4byte _0809657C - .4byte _080965A8 - .4byte _080965D4 - .4byte _08096612 - .4byte _08096612 - .4byte _08096600 -_08096534: - ldr r0, _0809654C @ =sPSSData - ldr r0, [r0] - lsls r1, r4, 4 - ldr r2, _08096550 @ =0x000021f4 - adds r0, r2 - adds r0, r1 - ldr r1, [r0] - strh r4, [r1, 0x2E] - ldr r1, [r0] - ldr r0, _08096554 @ =sub_809692C - b _08096610 - .align 2, 0 -_0809654C: .4byte sPSSData -_08096550: .4byte 0x000021f4 -_08096554: .4byte sub_809692C -_08096558: - ldr r0, _08096570 @ =sPSSData - ldr r0, [r0] - lsls r1, r4, 4 - ldr r2, _08096574 @ =0x000021f4 - adds r0, r2 - adds r0, r1 - ldr r2, [r0] - movs r1, 0 - strh r1, [r2, 0x2E] - ldr r1, [r0] - ldr r0, _08096578 @ =sub_8096958 - b _08096610 - .align 2, 0 -_08096570: .4byte sPSSData -_08096574: .4byte 0x000021f4 -_08096578: .4byte sub_8096958 -_0809657C: - ldr r0, _0809659C @ =sPSSData - ldr r0, [r0] - lsls r1, r4, 4 - ldr r2, _080965A0 @ =0x000021f4 - adds r0, r2 - adds r0, r1 - ldr r2, [r0] - movs r1, 0 - strh r1, [r2, 0x2E] - ldr r1, [r0] - strh r5, [r1, 0x3A] - ldr r1, [r0] - strh r3, [r1, 0x3C] - ldr r1, [r0] - ldr r0, _080965A4 @ =sub_80969F4 - b _08096610 - .align 2, 0 -_0809659C: .4byte sPSSData -_080965A0: .4byte 0x000021f4 -_080965A4: .4byte sub_80969F4 -_080965A8: - ldr r0, _080965C8 @ =sPSSData - ldr r0, [r0] - lsls r1, r4, 4 - ldr r2, _080965CC @ =0x000021f4 - adds r0, r2 - adds r0, r1 - ldr r2, [r0] - movs r1, 0 - strh r1, [r2, 0x2E] - ldr r2, [r0] - ldr r1, _080965D0 @ =sub_8096A74 - str r1, [r2, 0x1C] - strh r5, [r2, 0x3A] - ldr r0, [r0] - strh r3, [r0, 0x3C] - b _08096612 - .align 2, 0 -_080965C8: .4byte sPSSData -_080965CC: .4byte 0x000021f4 -_080965D0: .4byte sub_8096A74 -_080965D4: - ldr r0, _080965F4 @ =sPSSData - ldr r0, [r0] - lsls r1, r4, 4 - ldr r2, _080965F8 @ =0x000021f4 - adds r0, r2 - adds r0, r1 - ldr r2, [r0] - movs r1, 0 - strh r1, [r2, 0x2E] - ldr r1, [r0] - strh r5, [r1, 0x3A] - ldr r1, [r0] - strh r3, [r1, 0x3C] - ldr r1, [r0] - ldr r0, _080965FC @ =sub_8096B10 - b _08096610 - .align 2, 0 -_080965F4: .4byte sPSSData -_080965F8: .4byte 0x000021f4 -_080965FC: .4byte sub_8096B10 -_08096600: - ldr r0, _08096618 @ =sPSSData - ldr r0, [r0] - lsls r1, r4, 4 - ldr r2, _0809661C @ =0x000021f4 - adds r0, r2 - adds r0, r1 - ldr r1, [r0] - ldr r0, _08096620 @ =sub_8096BAC -_08096610: - str r0, [r1, 0x1C] -_08096612: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08096618: .4byte sPSSData -_0809661C: .4byte 0x000021f4 -_08096620: .4byte sub_8096BAC - thumb_func_end sub_80964E8 - - thumb_func_start sub_8096624 -sub_8096624: @ 8096624 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r2, 0x2 - bhi _08096666 - ldr r1, _0809666C @ =sPSSData - ldr r0, [r1] - lsls r2, 4 - adds r0, r2 - movs r3, 0x88 - lsls r3, 6 - adds r0, r3 - strb r4, [r0] - ldr r0, [r1] - ldr r1, _08096670 @ =0x000021f4 - adds r0, r1 - adds r0, r2 - ldr r0, [r0] - movs r3, 0 - cmp r4, 0 - bne _08096654 - movs r3, 0x1 -_08096654: - adds r2, r0, 0 - adds r2, 0x3E - lsls r3, 2 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] -_08096666: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809666C: .4byte sPSSData -_08096670: .4byte 0x000021f4 - thumb_func_end sub_8096624 - - thumb_func_start GetItemIconPic -GetItemIconPic: @ 8096674 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl GetItemIconGfxPtr - pop {r1} - bx r1 - thumb_func_end GetItemIconPic - - thumb_func_start GetItemIconPalette -GetItemIconPalette: @ 8096684 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetItemIconGfxPtr - pop {r1} - bx r1 - thumb_func_end GetItemIconPalette - - thumb_func_start sub_8096694 -sub_8096694: @ 8096694 - push {r4,lr} - sub sp, 0x14 - bl sub_809616C - lsls r0, 24 - cmp r0, 0 - beq _080966B4 - ldr r0, _080966AC @ =sPSSData - ldr r0, [r0] - ldr r1, _080966B0 @ =0x00002224 - b _080966BA - .align 2, 0 -_080966AC: .4byte sPSSData -_080966B0: .4byte 0x00002224 -_080966B4: - ldr r0, _080966EC @ =sPSSData - ldr r0, [r0] - ldr r1, _080966F0 @ =0x00000ce2 -_080966BA: - adds r0, r1 - ldrh r0, [r0] - bl ItemId_GetDescription - adds r4, r0, 0 - movs r0, 0x2 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x2 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized5 - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080966EC: .4byte sPSSData -_080966F0: .4byte 0x00000ce2 - thumb_func_end sub_8096694 - - thumb_func_start sub_80966F4 -sub_80966F4: @ 80966F4 - push {lr} - ldr r0, _0809671C @ =sPSSData - ldr r0, [r0] - ldr r1, _08096720 @ =0x00002226 - adds r0, r1 - movs r1, 0x19 - strh r1, [r0] - ldr r1, _08096724 @ =gUnknown_83D35DC - movs r3, 0xD2 - lsls r3, 1 - movs r0, 0 - movs r2, 0x80 - bl LoadBgTiles - movs r0, 0 - bl sub_8096898 - pop {r0} - bx r0 - .align 2, 0 -_0809671C: .4byte sPSSData -_08096720: .4byte 0x00002226 -_08096724: .4byte gUnknown_83D35DC - thumb_func_end sub_80966F4 - - thumb_func_start sub_8096728 -sub_8096728: @ 8096728 - push {r4,r5,lr} - sub sp, 0x10 - ldr r0, _08096740 @ =sPSSData - ldr r0, [r0] - ldr r2, _08096744 @ =0x00002226 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0 - bne _08096748 - movs r0, 0 - b _080967AE - .align 2, 0 -_08096740: .4byte sPSSData -_08096744: .4byte 0x00002226 -_08096748: - subs r0, 0x1 - strh r0, [r1] - ldrh r1, [r1] - movs r0, 0x19 - subs r5, r0, r1 - movs r4, 0 - cmp r4, r5 - bge _08096798 -_08096758: - movs r0, 0 - movs r1, 0xA - bl GetBgAttribute - adds r1, r0, 0 - ldr r0, _080967B8 @ =sPSSData - ldr r0, [r0] - ldr r2, _080967BC @ =0x00002226 - adds r0, r2 - adds r1, 0x14 - ldrh r0, [r0] - adds r1, r0 - adds r1, r4 - lsls r1, 16 - lsrs r1, 16 - lsls r2, r4, 24 - lsrs r2, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x8 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x19 - str r0, [sp, 0xC] - movs r0, 0 - movs r3, 0xC - bl WriteSequenceToBgTilemapBuffer - adds r4, 0x1 - cmp r4, r5 - blt _08096758 -_08096798: - adds r0, r5, 0 - bl sub_8096898 - ldr r0, _080967B8 @ =sPSSData - ldr r0, [r0] - ldr r1, _080967BC @ =0x00002226 - adds r0, r1 - ldrh r1, [r0] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 -_080967AE: - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080967B8: .4byte sPSSData -_080967BC: .4byte 0x00002226 - thumb_func_end sub_8096728 - - thumb_func_start sub_80967C0 -sub_80967C0: @ 80967C0 - push {r4,r5,lr} - sub sp, 0x10 - ldr r5, _080967D8 @ =sPSSData - ldr r0, [r5] - ldr r4, _080967DC @ =0x00002226 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0x19 - bne _080967E0 - movs r0, 0 - b _08096886 - .align 2, 0 -_080967D8: .4byte sPSSData -_080967DC: .4byte 0x00002226 -_080967E0: - cmp r0, 0 - bne _080967FC - movs r0, 0x1 - str r0, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x19 - movs r3, 0xB - bl FillBgTilemapBufferRect -_080967FC: - ldr r1, [r5] - adds r1, r4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldrh r1, [r1] - movs r0, 0x19 - subs r5, r0, r1 - movs r4, 0 - cmp r4, r5 - bge _08096852 -_08096812: - movs r0, 0 - movs r1, 0xA - bl GetBgAttribute - adds r1, r0, 0 - ldr r0, _08096890 @ =sPSSData - ldr r0, [r0] - ldr r2, _08096894 @ =0x00002226 - adds r0, r2 - adds r1, 0x14 - ldrh r0, [r0] - adds r1, r0 - adds r1, r4 - lsls r1, 16 - lsrs r1, 16 - lsls r2, r4, 24 - lsrs r2, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x8 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x19 - str r0, [sp, 0xC] - movs r0, 0 - movs r3, 0xC - bl WriteSequenceToBgTilemapBuffer - adds r4, 0x1 - cmp r4, r5 - blt _08096812 -_08096852: - adds r0, r5, 0 - bl sub_8096898 - lsls r2, r5, 24 - lsrs r2, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r3, 0xB - bl FillBgTilemapBufferRect - ldr r0, _08096890 @ =sPSSData - ldr r0, [r0] - ldr r1, _08096894 @ =0x00002226 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x19 - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 -_08096886: - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08096890: .4byte sPSSData -_08096894: .4byte 0x00002226 - thumb_func_end sub_80967C0 - - thumb_func_start sub_8096898 -sub_8096898: @ 8096898 - push {r4-r7,lr} - sub sp, 0xC - adds r7, r0, 0 - cmp r7, 0 - beq _080968D0 - movs r1, 0xD2 - lsls r1, 1 - lsls r4, r7, 24 - lsrs r4, 24 - str r4, [sp] - movs r6, 0x1 - str r6, [sp, 0x4] - movs r5, 0xF - str r5, [sp, 0x8] - movs r0, 0 - movs r2, 0 - movs r3, 0xB - bl FillBgTilemapBufferRect - ldr r1, _08096920 @ =0x000009a4 - str r4, [sp] - str r6, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - movs r2, 0 - movs r3, 0x14 - bl FillBgTilemapBufferRect -_080968D0: - ldr r1, _08096924 @ =0x000001a5 - lsls r5, r7, 24 - lsrs r5, 24 - movs r4, 0x1 - str r4, [sp] - movs r0, 0x8 - str r0, [sp, 0x4] - movs r6, 0xF - str r6, [sp, 0x8] - movs r0, 0 - adds r2, r5, 0 - movs r3, 0xC - bl FillBgTilemapBufferRect - movs r1, 0xD3 - lsls r1, 1 - str r4, [sp] - str r4, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - adds r2, r5, 0 - movs r3, 0xB - bl FillBgTilemapBufferRect - ldr r1, _08096928 @ =0x000001a7 - str r4, [sp] - str r4, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - adds r2, r5, 0 - movs r3, 0x14 - bl FillBgTilemapBufferRect - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08096920: .4byte 0x000009a4 -_08096924: .4byte 0x000001a5 -_08096928: .4byte 0x000001a7 - thumb_func_end sub_8096898 - - thumb_func_start sub_809692C -sub_809692C: @ 809692C - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0809694C - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8096624 - ldr r0, _08096954 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0809694C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08096954: .4byte SpriteCallbackDummy - thumb_func_end sub_809692C - - thumb_func_start sub_8096958 -sub_8096958: @ 8096958 - push {lr} - adds r3, r0, 0 - movs r0, 0x2E - ldrsh r1, [r3, r0] - cmp r1, 0 - beq _0809696A - cmp r1, 0x1 - beq _08096986 - b _080969B4 -_0809696A: - ldrh r0, [r3, 0x20] - lsls r0, 4 - strh r0, [r3, 0x30] - ldrh r0, [r3, 0x22] - lsls r0, 4 - strh r0, [r3, 0x32] - movs r0, 0xA - strh r0, [r3, 0x34] - movs r0, 0x15 - strh r0, [r3, 0x36] - strh r1, [r3, 0x38] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] -_08096986: - ldrh r1, [r3, 0x30] - ldrh r0, [r3, 0x34] - subs r1, r0 - strh r1, [r3, 0x30] - ldrh r0, [r3, 0x32] - ldrh r2, [r3, 0x36] - subs r0, r2 - strh r0, [r3, 0x32] - lsls r1, 16 - asrs r1, 20 - strh r1, [r3, 0x20] - lsls r0, 16 - asrs r0, 20 - strh r0, [r3, 0x22] - ldrh r0, [r3, 0x38] - adds r0, 0x1 - strh r0, [r3, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _080969B4 - ldr r0, _080969B8 @ =sub_80969BC - str r0, [r3, 0x1C] -_080969B4: - pop {r0} - bx r0 - .align 2, 0 -_080969B8: .4byte sub_80969BC - thumb_func_end sub_8096958 - - thumb_func_start sub_80969BC -sub_80969BC: @ 80969BC - ldr r1, _080969F0 @ =sPSSData - ldr r3, [r1] - movs r1, 0xCB - lsls r1, 4 - adds r3, r1 - ldr r1, [r3] - ldrh r1, [r1, 0x20] - adds r1, 0x4 - strh r1, [r0, 0x20] - ldr r2, [r3] - ldrh r1, [r2, 0x26] - ldrh r2, [r2, 0x22] - adds r1, r2 - adds r1, 0x8 - strh r1, [r0, 0x22] - ldr r1, [r3] - ldrb r1, [r1, 0x5] - movs r2, 0xC - ands r2, r1 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - bx lr - .align 2, 0 -_080969F0: .4byte sPSSData - thumb_func_end sub_80969BC - - thumb_func_start sub_80969F4 -sub_80969F4: @ 80969F4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _08096A06 - cmp r1, 0x1 - beq _08096A22 - b _08096A6A -_08096A06: - ldrh r0, [r4, 0x20] - lsls r0, 4 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - lsls r0, 4 - strh r0, [r4, 0x32] - movs r0, 0xA - strh r0, [r4, 0x34] - movs r0, 0x15 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_08096A22: - ldrh r0, [r4, 0x34] - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x36] - ldrh r2, [r4, 0x32] - adds r1, r2 - strh r1, [r4, 0x32] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r4, 0x22] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _08096A6A - adds r0, r4, 0 - bl sub_80962A8 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x3A] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - bl sub_80962F0 - ldr r0, _08096A70 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_08096A6A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08096A70: .4byte SpriteCallbackDummy - thumb_func_end sub_80969F4 - - thumb_func_start sub_8096A74 -sub_8096A74: @ 8096A74 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _08096A86 - cmp r1, 0x1 - beq _08096AA2 - b _08096B00 -_08096A86: - ldrh r0, [r4, 0x20] - lsls r0, 4 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - lsls r0, 4 - strh r0, [r4, 0x32] - movs r0, 0xA - strh r0, [r4, 0x34] - movs r0, 0x15 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_08096AA2: - ldrh r1, [r4, 0x30] - ldrh r0, [r4, 0x34] - subs r1, r0 - strh r1, [r4, 0x30] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x36] - subs r0, r2 - strh r0, [r4, 0x32] - lsls r1, 16 - asrs r1, 20 - strh r1, [r4, 0x20] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x22] - ldr r1, _08096B08 @ =gSineTable - movs r2, 0x38 - ldrsh r0, [r4, r2] - lsls r0, 4 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _08096B00 - adds r0, r4, 0 - bl sub_80962A8 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x3A] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - bl sub_80962F0 - movs r0, 0 - strh r0, [r4, 0x24] - ldr r0, _08096B0C @ =sub_80969BC - str r0, [r4, 0x1C] -_08096B00: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08096B08: .4byte gSineTable -_08096B0C: .4byte sub_80969BC - thumb_func_end sub_8096A74 - - thumb_func_start sub_8096B10 -sub_8096B10: @ 8096B10 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _08096B22 - cmp r1, 0x1 - beq _08096B3E - b _08096B9E -_08096B22: - ldrh r0, [r4, 0x20] - lsls r0, 4 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - lsls r0, 4 - strh r0, [r4, 0x32] - movs r0, 0xA - strh r0, [r4, 0x34] - movs r0, 0x15 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_08096B3E: - ldrh r0, [r4, 0x34] - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x36] - ldrh r2, [r4, 0x32] - adds r1, r2 - strh r1, [r4, 0x32] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r4, 0x22] - ldr r1, _08096BA4 @ =gSineTable - movs r2, 0x38 - ldrsh r0, [r4, r2] - lsls r0, 4 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _08096B9E - adds r0, r4, 0 - bl sub_80962A8 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x3A] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - bl sub_80962F0 - ldr r0, _08096BA8 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] -_08096B9E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08096BA4: .4byte gSineTable -_08096BA8: .4byte SpriteCallbackDummy - thumb_func_end sub_8096B10 - - thumb_func_start sub_8096BAC -sub_8096BAC: @ 8096BAC - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x22] - subs r0, 0x8 - strh r0, [r2, 0x22] - movs r1, 0x22 - ldrsh r0, [r2, r1] - movs r3, 0x26 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _08096BDC - ldr r0, _08096BE0 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] - adds r0, r2, 0 - bl sub_80962A8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8096624 -_08096BDC: - pop {r0} - bx r0 - .align 2, 0 -_08096BE0: .4byte SpriteCallbackDummy - thumb_func_end sub_8096BAC - - thumb_func_start sub_8096BE4 -sub_8096BE4: @ 8096BE4 - ldr r3, _08096BF4 @ =gUnknown_203982C - str r0, [r3] - str r1, [r0] - movs r1, 0 - strb r2, [r0, 0x5] - strb r1, [r0, 0x4] - bx lr - .align 2, 0 -_08096BF4: .4byte gUnknown_203982C - thumb_func_end sub_8096BE4 - - thumb_func_start sub_8096BF8 -sub_8096BF8: @ 8096BF8 - push {r4,r5,lr} - ldr r2, _08096C3C @ =gUnknown_203982C - ldr r1, [r2] - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _08096C36 - movs r4, 0 - ldrb r1, [r1, 0x4] - cmp r4, r1 - bcs _08096C2E - adds r5, r2, 0 -_08096C0E: - ldr r0, [r5] - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 2 - ldr r0, [r0] - adds r0, r1 - ldr r1, [r0, 0x10] - bl _call_via_r1 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - cmp r4, r0 - bcc _08096C0E -_08096C2E: - ldr r0, _08096C3C @ =gUnknown_203982C - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x4] -_08096C36: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08096C3C: .4byte gUnknown_203982C - thumb_func_end sub_8096BF8 - - thumb_func_start sub_8096C40 -sub_8096C40: @ 8096C40 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r9, r0 - mov r10, r3 - ldr r0, [sp, 0x24] - ldr r3, [sp, 0x28] - ldr r4, [sp, 0x2C] - ldr r5, [sp, 0x30] - ldr r6, [sp, 0x34] - lsls r1, 16 - lsrs r1, 16 - mov r12, r1 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp] - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r3, 16 - lsrs r3, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - ldr r0, _08096CC0 @ =gUnknown_203982C - ldr r2, [r0] - ldrb r0, [r2, 0x4] - adds r1, r0, 0 - ldrb r7, [r2, 0x5] - cmp r1, r7 - bcs _08096CC8 - adds r0, 0x1 - strb r0, [r2, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, [r2] - adds r1, r0 - lsls r0, r4, 1 - strh r0, [r1, 0x8] - ldr r2, [sp] - lsls r0, r2, 5 - add r0, r12 - lsls r0, 1 - add r0, r9 - str r0, [r1, 0x4] - adds r0, r3, 0 - muls r0, r6 - add r0, r8 - lsls r0, 1 - add r0, r10 - str r0, [r1] - strh r5, [r1, 0xC] - strh r6, [r1, 0xA] - ldr r0, _08096CC4 @ =sub_8096CDC - str r0, [r1, 0x10] - movs r0, 0x1 - b _08096CCA - .align 2, 0 -_08096CC0: .4byte gUnknown_203982C -_08096CC4: .4byte sub_8096CDC -_08096CC8: - movs r0, 0 -_08096CCA: - 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 sub_8096C40 - - thumb_func_start sub_8096CDC -sub_8096CDC: @ 8096CDC - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0 - b _08096D06 -_08096CE4: - ldr r0, [r4] - ldr r1, [r4, 0x4] - ldrh r2, [r4, 0x8] - lsrs r2, 1 - bl CpuSet - ldr r0, [r4, 0x4] - adds r0, 0x40 - str r0, [r4, 0x4] - ldrh r1, [r4, 0xA] - lsls r1, 1 - ldr r0, [r4] - adds r0, r1 - str r0, [r4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_08096D06: - ldrh r0, [r4, 0xC] - cmp r5, r0 - bcc _08096CE4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8096CDC - - thumb_func_start sub_8096D14 -sub_8096D14: @ 8096D14 - push {r4-r7,lr} - mov r12, r0 - ldr r0, [sp, 0x14] - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _08096D60 @ =gUnknown_203982C - ldr r2, [r0] - ldrb r0, [r2, 0x4] - adds r1, r0, 0 - ldrb r7, [r2, 0x5] - cmp r1, r7 - bcs _08096D68 - adds r0, 0x1 - strb r0, [r2, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, [r2] - adds r1, r0 - lsls r0, r3, 1 - strh r0, [r1, 0x8] - lsls r0, r4, 5 - adds r0, r6 - lsls r0, 1 - add r0, r12 - str r0, [r1, 0x4] - strh r5, [r1, 0xC] - ldr r0, _08096D64 @ =sub_8096D70 - str r0, [r1, 0x10] - movs r0, 0x1 - b _08096D6A - .align 2, 0 -_08096D60: .4byte gUnknown_203982C -_08096D64: .4byte sub_8096D70 -_08096D68: - movs r0, 0 -_08096D6A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8096D14 - - thumb_func_start sub_8096D70 -sub_8096D70: @ 8096D70 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r0, 0 - movs r0, 0 - ldrh r1, [r6, 0xC] - cmp r0, r1 - bcs _08096DFE - movs r7, 0x80 - lsls r7, 5 - mov r5, sp - ldr r2, _08096DBC @ =0x040000d4 - mov r8, r2 - movs r1, 0x81 - lsls r1, 24 - mov r10, r1 -_08096D96: - ldr r2, [r6, 0x4] - ldrh r3, [r6, 0x8] - mov r12, r2 - adds r0, 0x1 - mov r9, r0 - cmp r3, r7 - bhi _08096DC0 - movs r0, 0 - strh r0, [r5] - mov r2, sp - mov r0, r8 - str r2, [r0] - mov r1, r12 - str r1, [r0, 0x4] - lsrs r0, r3, 1 - mov r2, r10 - orrs r0, r2 - mov r1, r8 - b _08096DE8 - .align 2, 0 -_08096DBC: .4byte 0x040000d4 -_08096DC0: - movs r4, 0 - strh r4, [r5] - ldr r1, _08096E10 @ =0x040000d4 - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, _08096E14 @ =0x81000800 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r7 - subs r3, r7 - cmp r3, r7 - bhi _08096DC0 - strh r4, [r5] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r10 - orrs r0, r2 -_08096DE8: - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, r12 - adds r0, 0x40 - str r0, [r6, 0x4] - mov r1, r9 - lsls r0, r1, 16 - lsrs r0, 16 - ldrh r2, [r6, 0xC] - cmp r0, r2 - bcc _08096D96 -_08096DFE: - 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 -_08096E10: .4byte 0x040000d4 -_08096E14: .4byte 0x81000800 - thumb_func_end sub_8096D70 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index b0c2b9a87..bcb9fa04b 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -13235,7 +13235,7 @@ _0813B16C: ldrb r2, [r0] adds r3, r5, 0 adds r0, r4, 0 - bl sub_808BDE8 + bl SeekToNextMonInBox b _0813B1CC .align 2, 0 _0813B190: .4byte 0x000032f4 |